/* Discussion and dialog. Rating state has explicit specificity over form labels. */
.sol-discussion { display:grid; grid-template-columns:300px minmax(0,1fr); gap:44px; align-items:start; padding:32px 36px; border:1px solid color-mix(in srgb,var(--sol-gold-text) 50%,var(--sol-line)); border-radius:22px; background:radial-gradient(ellipse at 95% 100%,color-mix(in srgb,var(--sol-accent) 14%,transparent),transparent 60%),linear-gradient(125deg,var(--sol-article-glass),var(--sol-surface)); position:relative; overflow:clip; }
.sol-discussion::before { content:''; position:absolute; pointer-events:none; width:65%; height:150%; border:1px solid color-mix(in srgb,var(--sol-gold-text) 20%,transparent); border-radius:50%; right:-18%; top:-30%; transform:rotate(-35deg); }
.sol-discussion__action,.sol-discussion__list { position:relative; min-width:0; }
.sol-discussion__stars { display:block; letter-spacing:6px; color:var(--sol-gold-text); font-size:15px; }
.sol-discussion__action h2 { font:500 clamp(1.6rem,2.8vw,2.1rem)/1.05 var(--sol-font-serif); margin:12px 0; color:var(--sol-text)!important; letter-spacing:-.02em; }
.sol-discussion__action h2 span { color:var(--sol-gold-text); }
.sol-discussion__action p { font-size:.875rem; line-height:1.65; color:var(--sol-muted)!important; margin:0 0 18px; }
.sol-comment-trigger,.sol-comments .sol-comments__submit { display:flex; gap:16px; align-items:center; justify-content:space-between; min-height:48px; padding:12px 20px; border:1px solid color-mix(in srgb,var(--sol-accent) 65%,var(--sol-text)); border-radius:13px; background:var(--sol-accent)!important; color:var(--sol-accent-ink)!important; text-decoration:none; box-shadow:0 0 0 3px color-mix(in srgb,var(--sol-accent) 12%,transparent); font:700 .875rem/1.5 var(--sol-font-sans); cursor:pointer; }
.sol-comment-trigger span { font-size:24px; line-height:1; }
.sol-discussion__empty { min-height:210px; display:flex; flex-direction:column; justify-content:center; padding:12px 20px; }
.sol-discussion__empty > span { font:500 4rem/.6 var(--sol-font-serif); color:var(--sol-gold-text); opacity:.6; }
.sol-discussion__empty p { color:var(--sol-text); font:italic 500 1.125rem/1.7 var(--sol-font-serif); margin:8px 0; }
.sol-comments { color:var(--sol-text); }
.sol-comments__title { font:500 1.6rem/1.25 var(--sol-font-serif); color:var(--sol-text)!important; margin:0 0 22px; }
.sol-comments__list,.sol-comments .children { display:grid; gap:18px; padding:0; margin:0; list-style:none; }
.sol-comments .children { margin-top:16px; margin-inline-start:14px; padding-inline-start:14px; border-inline-start:1px solid var(--sol-line); }
.sol-comments .comment-body { padding:20px; border:1px solid var(--sol-line); border-radius:14px; background:var(--sol-surface); }
.sol-comments .comment-author { display:flex; align-items:center; gap:12px; color:var(--sol-text)!important; font-size:.875rem; }
.sol-comments .comment-author img { width:40px; height:40px; border-radius:50%; }
.sol-comments .says { display:none; }
.sol-comments .comment-metadata { margin:8px 0 14px; font-size:.7rem; }
.sol-comments a { color:var(--sol-gold-text)!important; text-underline-offset:3px; }
.sol-comments .comment-metadata a { color:var(--sol-muted)!important; text-decoration:none; }
.sol-comments .comment-content { color:var(--sol-text); line-height:1.7; font-size:.9rem; overflow-wrap:anywhere; }
.sol-comments .comment-content p { margin:0 0 10px; }
.sol-comments .comment-reply-link { font-size:.75rem; }
.sol-comment-rating { display:block; color:var(--sol-gold-text); letter-spacing:3px; margin-bottom:8px; }
.sol-comment-form-host { margin:28px auto 0; max-width:560px; padding:28px; border:1px solid var(--sol-line); border-radius:18px; background:var(--sol-surface); }
.sol-comment-dialog { width:min(560px,calc(100% - 32px)); max-height:88dvh; overflow:auto; margin:auto; padding:30px; border:1px solid var(--sol-line); border-radius:20px; background:var(--sol-surface); color:var(--sol-text); box-shadow:0 32px 100px #0006; }
.sol-comment-dialog:not([open]) { display:none; }
.sol-comment-dialog::backdrop { background:#080a0cbb; backdrop-filter:blur(8px); }
.sol-comment-dialog .sol-comment-form-host { margin:0; max-width:none; border:0; padding:0; }
.sol-comment-dialog .sol-comments__title { padding-inline-end:36px; }
.sol-comment-close { position:absolute; right:14px; top:14px; width:34px; height:34px; border:1px solid var(--sol-line); border-radius:50%; background:var(--sol-bg); color:var(--sol-text); cursor:pointer; font-size:22px; }
html.sol-comment-open { overflow:hidden; }
.sol-comments .comment-form { display:grid; gap:16px; }
.sol-comments .comment-form p { margin:0; }
.sol-comments .comment-form label { display:block; margin-bottom:7px; font:600 .8125rem/1.5 var(--sol-font-sans); color:var(--sol-text); }
.sol-comments .comment-form :is(input[type=text],input[type=email],input[type=url],textarea) { display:block; width:100%; min-height:46px; padding:12px 14px; border:1px solid var(--sol-line); border-radius:10px; background:var(--sol-bg); color:var(--sol-text); font:400 1rem/1.5 var(--sol-font-sans); }
.sol-comments .comment-form textarea { min-height:130px; resize:vertical; }
.sol-comments .comment-form :is(input,textarea):focus-visible { outline:2px solid var(--sol-focus); outline-offset:2px; }
.sol-comments :is(.comment-notes,.logged-in-as,.comment-awaiting-moderation) { color:var(--sol-muted); font-size:.8125rem; line-height:1.6; }
.sol-comments .comment-form-cookies-consent { display:flex; gap:10px; align-items:start; }
.sol-comments .comment-form-cookies-consent input { flex:none; margin-top:4px; }
.sol-comments .comment-form-cookies-consent label { font-weight:400; }
.sol-rating { margin:0; padding:14px; border:1px solid var(--sol-line); border-radius:12px; }
.sol-rating legend { font:500 .8125rem var(--sol-font-sans); color:var(--sol-muted); padding:0 6px; }
.sol-rating__choices { display:flex; flex-direction:row-reverse; justify-content:flex-end; gap:6px; width:fit-content; }
.sol-rating__choices input { position:absolute; width:1px; height:1px; opacity:0; clip-path:inset(50%); }
.sol-comments .comment-form .sol-rating__choices label { display:block; padding:3px; margin:0; color:var(--sol-muted)!important; font-size:32px; line-height:1; cursor:pointer; transition:color .15s; }
.sol-comments .comment-form .sol-rating__choices input:checked ~ label { color:var(--sol-gold-text)!important; }
@media(hover:hover) { .sol-comments .comment-form .sol-rating__choices label:hover,.sol-comments .comment-form .sol-rating__choices label:hover ~ label { color:var(--sol-gold-text)!important; } }
.sol-rating__choices label span[aria-hidden] { color:inherit!important; }
.sol-rating__choices input:focus-visible + label { outline:2px solid var(--sol-focus); outline-offset:2px; border-radius:6px; }
@media(max-width:800px) { .sol-discussion { grid-template-columns:240px minmax(0,1fr); gap:24px; padding:26px; } }
@media(max-width:640px) { .sol-discussion { grid-template-columns:1fr; padding:24px 20px; } .sol-discussion__empty { min-height:100px; padding:14px 0; } .sol-comment-dialog { padding:26px 20px; } .sol-comments .children { margin-inline-start:6px; padding-inline-start:8px; } }

.sol-comments [id^="comment-"] { scroll-margin-top:calc(var(--sol-header-h,100px) + 24px); }
.sol-comment-arrived > .comment-body { border-color:var(--sol-gold-text); }
