/* Extensions Store — comments styled to the theme. */
.exstore-comments{max-width:760px;margin:48px auto 0;}
.single-main .exstore-comments{max-width:none;margin:40px 0 0;}
.exstore-comments__title{font-size:22px;margin:0 0 24px;color:var(--ink,#0f172a);}
.exstore-comments__list{list-style:none;margin:0 0 32px;padding:0;}
.exstore-comments__list .children{list-style:none;margin:16px 0 0 18px;padding:0 0 0 26px;border-left:3px solid #4f46e5;border-left-color:var(--accent,#4f46e5);position:relative;}
.exstore-comments__list .children::before{content:"\21B3";position:absolute;left:-2px;top:14px;color:#4f46e5;color:var(--accent,#4f46e5);font-weight:700;font-size:18px;line-height:1;background:#fff;background:var(--bg,#fff);padding:0 3px;transform:translateX(-50%);}

.exstore-comment{margin:0 0 16px;}
.exstore-comment__body{display:flex;gap:14px;background:#fff;border:1px solid #eef1f5;border-radius:16px;padding:16px 18px;box-shadow:0 4px 16px rgba(15,23,42,.04);}
.exstore-comment__avatar img{width:48px;height:48px;border-radius:50%;display:block;}
.exstore-comment__main{flex:1;min-width:0;}
.exstore-comment__head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;}
.exstore-comment__author{font-size:15px;color:var(--ink,#0f172a);}
.exstore-comment__date{font-size:12px;color:#94a3b8;}
.exstore-comment__moderation{font-size:12px;color:#b45309;background:#fef3c7;border-radius:8px;padding:4px 8px;display:inline-block;}
.exstore-comment__text{font-size:15px;line-height:1.6;color:#334155;}
.exstore-comment__text p{margin:0 0 8px;}
.exstore-comment__foot{display:flex;align-items:center;gap:16px;margin-top:10px;}

.exstore-like{display:inline-flex;align-items:center;gap:6px;border:0;background:none;cursor:pointer;color:#94a3b8;font-size:13px;font-weight:600;padding:2px 6px 2px 2px;overflow:visible;}
.exstore-like__heart{width:18px;height:18px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5C7.5 17 2.5 13.2 2.5 8.6 2.5 5.6 4.8 3.5 7.6 3.5c1.9 0 3.4 1 4.4 2.5 1-1.5 2.5-2.5 4.4-2.5 2.8 0 5.1 2.1 5.1 5.1 0 4.6-5 8.4-9.5 11.9z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 20.5C7.5 17 2.5 13.2 2.5 8.6 2.5 5.6 4.8 3.5 7.6 3.5c1.9 0 3.4 1 4.4 2.5 1-1.5 2.5-2.5 4.4-2.5 2.8 0 5.1 2.1 5.1 5.1 0 4.6-5 8.4-9.5 11.9z'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .15s;}
.exstore-like:hover{color:#fb7185;}
.exstore-like.is-liked{color:#e11d48;}
.exstore-like.is-liked .exstore-like__heart{transform:scale(1.15);}
.exstore-comment__reply a{color:var(--accent,#4f46e5);font-size:13px;font-weight:600;text-decoration:none;}
.exstore-comment__reply a:hover{text-decoration:underline;}

/* form */
.exstore-comments .comment-respond{background:#f8fafc;border:1px solid #eef1f5;border-radius:18px;padding:24px;}
.exstore-comments .comment-reply-title{font-size:18px;margin:0 0 16px;color:var(--ink,#0f172a);}
.exstore-emojibar{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px;}
.exstore-emoji{border:1px solid #e6eaf0;background:#fff;border-radius:9px;width:36px;height:36px;font-size:18px;line-height:1;cursor:pointer;padding:0;}
.exstore-emoji:hover{background:#eef2ff;border-color:#c7d2fe;}
.exstore-comments textarea,
.exstore-comments input[type=text],
.exstore-comments input[type=email]{width:100%;border:1px solid #e6eaf0;border-radius:11px;padding:11px 13px;font:inherit;box-sizing:border-box;background:#fff;}
.exstore-comments .comment-form label{display:block;font-weight:600;font-size:13px;margin-bottom:5px;color:#0f172a;}
.exstore-comments .comment-form p{margin:0 0 14px;}
.exstore-comments .comment-form-author,
.exstore-comments .comment-form-email{display:inline-block;width:calc(50% - 7px);vertical-align:top;}
.exstore-comments .comment-form-author{margin-right:10px;}
.exstore-comments .comment-form p.form-submit{margin:30px 0 0;}
.exstore-comments__closed{color:#94a3b8;font-size:14px;}
@media(max-width:600px){.exstore-comments .comment-form-author,.exstore-comments .comment-form-email{width:100%;margin-right:0;}}

/* Product feature-suggestions (comments on product pages) */
.exst-suggest-wrap{margin-top:40px;padding-top:8px;border-top:1px solid #eef1f5;border-radius:14px;transition:background .4s ease;}
.exst-suggest-wrap.is-highlight{background:#f5f3ff;}
.exstore-comments--suggest .exstore-comments__intro{color:#64748b;font-size:15px;margin:-12px 0 18px;}
.exstore-comments--suggest .exstore-comments__empty{background:#f8fafc;border:1px dashed #d6dbe6;border-radius:12px;padding:16px 18px;color:#64748b;font-size:14px;margin:0 0 20px;}

/* Follow-thread checkbox */
.exstore-follow{display:flex;align-items:flex-start;gap:9px;margin:16px 0 0;font-size:14px;color:#475569;line-height:1.4;cursor:pointer;}
.exstore-follow input{margin-top:2px;flex:none;}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:9px;margin:0 0 14px;font-size:14px;color:#475569;line-height:1.4;}
.comment-form-cookies-consent input{margin-top:3px;flex:none;}
.comment-form-cookies-consent label{margin:0;cursor:pointer;}

/* "Awaiting moderation" notice — prominent, friendly */
.exstore-comment__moderation{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 14px;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92660c;font-size:13.5px;font-weight:600;}
.exstore-comment__moddot{width:9px;height:9px;border-radius:50%;background:#f5b50a;flex:none;animation:exstPulse 1.4s ease-in-out infinite;}
@keyframes exstPulse{0%,100%{opacity:1;}50%{opacity:.35;}}

/* Nested replies: a touch smaller so it's clearly a reply. */
.exstore-comments__list .children .exstore-comment__body{padding:13px 15px;background:#fbfcff;}
.exstore-comments__list .children .exstore-comment__avatar img{width:38px;height:38px;}
.exstore-comments__list .children .exstore-comment__author{font-size:14px;}
.exstore-comments__list .children .exstore-comment__text{font-size:14px;}

.exstore-comment__replylabel{color:#4f46e5;color:var(--accent,#4f46e5);font-weight:700;margin-right:2px;}

/* ===== Blog discussion with gold coins (screen 16) ===== */
.exstore-comments__title--blog{font-size:30px;font-weight:800;letter-spacing:-.01em;margin:0 0 16px;}
.exstore-crew{display:grid;grid-template-columns:1fr 1fr 1.25fr;align-items:center;background:#FFF8E8;border:1px solid #FBE6B8;border-radius:14px;padding:16px 4px;margin:0 0 16px;}
.exstore-crew__item{display:flex;align-items:center;gap:14px;padding:0 20px;border-left:1px solid #F1D9A8;min-width:0;}
.exstore-crew__item:first-child{border-left:0;}
.exstore-crew__item b{display:block;font-size:19px;font-weight:800;color:var(--ink,#0f172a);line-height:1.25;}
.exstore-crew__item span{display:block;font-size:14px;color:#475569;line-height:1.35;}
.exstore-crew__item a{display:block;font-size:15px;font-weight:600;color:#4338CA;text-decoration:underline;text-underline-offset:3px;}
.exstore-crew__i{flex:0 0 30px;}

.exstore-comments__list--card{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:4px 22px;margin:0 0 18px;}
.exstore-comments__list--card .exstore-comment{margin:0;}
.exstore-comments__list--card .exstore-comment__body{background:none;border:0;border-top:1px solid #E8ECF4;border-radius:0;box-shadow:none;padding:16px 0;gap:16px;}
.exstore-comments__list--card > li:first-child > .exstore-comment__body{border-top:0;}
.exstore-comments__list--card .children{margin:0 0 0 28px;padding:0 0 0 30px;border-left:0;}
.exstore-comments__list--card .children::before{display:none;}
/* Tree lines (screen 16): a thin line from the parent avatar, an elbow to each reply. */
.exstore-comments__list--card .children > li{position:relative;}
.exstore-comments__list--card .children > li::before{content:"";position:absolute;left:-30px;top:0;width:22px;height:44px;border-left:2px solid #E2E8F0;border-bottom:2px solid #E2E8F0;border-bottom-left-radius:12px;pointer-events:none;}
.exstore-comments__list--card .children > li::after{content:"";position:absolute;left:-30px;top:40px;bottom:0;border-left:2px solid #E2E8F0;pointer-events:none;}
.exstore-comments__list--card .children > li:last-child::after{display:none;}
.exstore-comments .exstore-comments__list--card .children .exstore-comment__body{background:none;padding:16px 0;border-radius:0;}
.exstore-comments .exstore-comments__list--card .children .exstore-comment__avatar img{width:56px;height:56px;}
.exstore-comments .exstore-comments__list--card .children .exstore-comment__author{font-size:17px;}
.exstore-comments .exstore-comments__list--card .children .exstore-comment__text{font-size:16px;}
/* No photo → the outlined person in a soft circle, like the mockup. */
.exstore-comments__list--card .exstore-comment__avatar{flex:none;width:56px;height:56px;border-radius:50%;background:#F5F6FB url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E1B4B' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8.5' r='3.6'/%3E%3Cpath d='M5.5 19.5a6.5 6.5 0 0 1 13 0'/%3E%3C/svg%3E") center/26px no-repeat;box-shadow:inset 0 0 0 1px #D9DEEC;}
.exstore-comments__list--card .exstore-comment__avatar img{background:transparent !important;border-color:transparent !important;}
.exstore-comments__list--card .exstore-comment__foot{margin-top:6px;}
.exstore-comments__list--card .exstore-comment__text p:last-child{margin-bottom:0;}
.exstore-comments__list--card .exstore-comment__avatar img{width:56px;height:56px;border:1px solid #E2E8F0;background:#F8FAFC;}
.exstore-comments__list--card .exstore-comment__head{align-items:center;flex-wrap:wrap;gap:8px 10px;}
.exstore-comments__list--card .exstore-comment__author{font-size:17px;}
.exstore-comments__list--card .exstore-comment__date{font-size:14px;color:#64748B;}
.exstore-comments__list--card .exstore-comment__text{font-size:16px;}
.exstore-comment__dot{color:#475569;margin:0 -4px;}
.exstore-comment__role{background:#EEF2FF;color:#4F46E5;font-size:13px;font-weight:600;padding:3px 10px;border-radius:8px;}

.exstore-comments .comment-respond:has(.exstore-cform){background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:20px 22px;}
.exstore-comments .comment-respond:has(.exstore-cform) .comment-reply-title{font-size:21px;font-weight:800;margin:0 0 14px;}
.exstore-cform textarea{min-height:76px;resize:vertical;border-color:#CBD5E1;font-size:16px;}
.exstore-cform textarea::placeholder{color:#94A3B8;}
.exstore-cform .comment-form-comment{margin:0 0 12px;}
.exstore-cform__foot{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;}
.exstore-cform__chip{display:inline-flex;align-items:center;gap:10px;background:#FFF3D6;border-radius:10px;padding:6px 16px 6px 6px;font-size:15px;color:#3B2A00;}
.exstore-cform__chip[hidden]{display:none;}
.exstore-cform__chip b{color:#7C4A03;font-weight:800;}
.exstore-cform__note{margin-left:auto;font-size:14px;color:#64748B;}
/* Screen 16: the reward row sits 10px under the field; chip, note and button share one centre line. */
.exstore-comments .exstore-cform p.comment-form-comment{margin:0 0 10px;}
.exstore-comments .exstore-cform textarea{display:block;margin:0;}
.exstore-comments .exstore-cform p.form-submit{margin:0;display:flex;align-items:center;}
.exstore-comments .exstore-cform .exstore-follow{margin:12px 0 0;}
.exstore-cform__note{line-height:1.3;}
.exstore-cform__chip{min-height:46px;box-sizing:border-box;}
.exstore-comments .exstore-cform .form-submit{margin:0;}
.exstore-cform .exstore-comments__submit{min-height:46px;padding:0 30px;border-radius:10px;font-size:16px;font-weight:700;}
@media(max-width:700px){
	.exstore-crew{grid-template-columns:1fr;gap:12px;padding:14px 4px;}
	.exstore-crew__item{border-left:0;padding:0 14px;}
	.exstore-comments__list--card{padding:4px 14px;}
	.exstore-comments__list--card .children{margin-left:12px;padding-left:18px;}
	.exstore-comments__list--card .children > li::before,.exstore-comments__list--card .children > li::after{left:-18px;}
	.exstore-comments__list--card .children > li::before{width:12px;height:36px;}
	.exstore-comments__list--card .exstore-comment__avatar,.exstore-comments .exstore-comments__list--card .exstore-comment__avatar img,.exstore-comments .exstore-comments__list--card .children .exstore-comment__avatar img{width:40px;height:40px;}
	.exstore-comments__list--card .exstore-comment__avatar{background-size:20px;}
	.exstore-cform__note{margin-left:0;}
	.exstore-cform .form-submit,.exstore-cform .exstore-comments__submit{width:100%;}
}
/* Screen 16: «Ваш ответ» and the emoji bar on one row. */
.exstore-cform__top{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px;margin:0 0 14px;}
.exstore-comments .comment-respond:has(.exstore-cform) .exstore-cform__top .comment-reply-title{margin:0;}
.exstore-cform__top .exstore-emojibar{margin:0;}
.exstore-crew__item a .exstore-crew__arrow{display:inline-block;margin-left:6px;text-decoration:none;color:inherit;font-size:inherit;}

/* Replying under a comment: same layout as the main form, lighter title, airy cancel link. */
.exstore-comment .comment-respond{margin-top:18px;}
.exstore-comments .exstore-comment .comment-respond .comment-reply-title{font-size:18px;font-weight:700;}
.exstore-comments .comment-reply-title small{font-size:14px;font-weight:500;margin-left:16px;}
.exstore-comments #cancel-comment-reply-link{font-weight:500;font-size:14px;color:#64748B;text-decoration:none;}
.exstore-comments #cancel-comment-reply-link:hover{color:var(--link-hover);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
/* The reward row keeps its spacing: nothing squeezes, the button wraps instead. */
.exstore-cform__note{margin-right:10px;}
@media (min-width:600px){.exstore-cform__chip,.exstore-cform__note{white-space:nowrap;flex:none;}}
/* The comment being answered (the form itself stays in its own frame below). */
.exstore-comments__list--card .exstore-comment__body{transition:background-color .9s ease,box-shadow .9s ease;}
/* tint painted around the block (no layout change), so only the colour fades away */
.exstore-comments__list--card .exstore-comment__body.is-replying{background:#F5F7FF;box-shadow:0 0 0 12px #F5F7FF;border-radius:4px;}

/* Product («Предложить функцию») and ideas forms: the coin hint row by the button. */
.exstore-comments .exstore-cform__foot p.form-submit{margin:0;}
/* These forms are narrower than the blog one: the note may wrap, the button stays in the row. */
.exstore-comments .comment-form:not(.exstore-cform) .exstore-cform__note{flex:1 1 120px;min-width:0;text-align:right;line-height:1.35;}
@media(max-width:700px){.exstore-comments .comment-form:not(.exstore-cform) .exstore-cform__note{flex-basis:100%;text-align:left;}}

/* Blog form for guests: name | e-mail in two equal columns; the two opt-ins
   stacked on the left with the button beside them (no empty gap). */
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:14px;align-items:center;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > *{grid-column:1 / -1;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-comment{grid-row:1;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-author{grid-column:1;grid-row:2;width:auto;margin-right:0;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-email{grid-column:2;grid-row:2;width:auto;}
/* Both opt-ins: checkbox, 9px, text — identical in every form state. */
.exstore-comments .exstore-cform .exstore-follow{display:flex;align-items:flex-start;gap:9px;}
.exstore-comments .exstore-cform .comment-form-cookies-consent input,.exstore-comments .exstore-cform .exstore-follow input{margin:2px 0 0;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-cookies-consent{grid-column:1;grid-row:3;margin:0;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .exstore-follow{grid-column:1;grid-row:4;margin:10px 0 0;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .exstore-cform__foot{grid-column:2;grid-row:3 / span 2;justify-self:end;}
.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) .exstore-cform__note:empty{display:none;}
@media(max-width:600px){
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent){grid-template-columns:minmax(0,1fr);}
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > *{grid-column:1;}
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-email{grid-column:1;grid-row:3;}
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .comment-form-cookies-consent{grid-row:4;}
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .exstore-follow{grid-row:5;}
	.exstore-comments .exstore-cform:has(> .comment-form-cookies-consent) > .exstore-cform__foot{grid-column:1;grid-row:6;justify-self:stretch;margin-top:14px;}
}

/* Toast for comment-form refusals (bottom centre, stays on the page). */
.exstore-toast{position:fixed;left:50%;bottom:24px;z-index:100000;box-sizing:border-box;max-width:min(92vw,520px);padding:12px 20px;border-radius:12px;background:rgba(17,24,39,.88);color:#fff;font-family:var(--font-sans);font-size:15px;line-height:1.4;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.25);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;pointer-events:none;-webkit-transform:translate(-50%,16px);transform:translate(-50%,16px);transition:opacity .25s ease,transform .25s ease;}
.exstore-toast.is-in{opacity:1;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);}
/* Phones: the whole width with 5px side gaps (centring with left:50% let it take half the screen at most). */
@media (max-width:640px){.exstore-toast{left:5px;right:5px;bottom:12px;max-width:none;-webkit-transform:translateY(16px);transform:translateY(16px);}.exstore-toast.is-in{-webkit-transform:translateY(0);transform:translateY(0);}}
@media (prefers-reduced-motion:reduce){.exstore-toast{transition:none;}}