.drs-visual-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px);gap:1.25rem;align-items:center;margin:1.25rem 0;padding:1.25rem;border:1px solid #e5e7eb;border-radius:14px;background:#fafafa}.drs-visual-hero figure{margin:0}.drs-visual-hero img{max-width:100%;height:auto;border-radius:12px;display:block}.drs-visual-hero figcaption{font-size:.9rem;color:#555;margin-top:.45rem}.drs-score-big{font-size:2.4rem;line-height:1;font-weight:700;margin:.25rem 0}.drs-visual-badges{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.drs-visual-badge{display:inline-flex;align-items:center;border:1px solid #d4d4d8;border-radius:999px;background:#fff;padding:.35rem .65rem;font-size:.9rem}.drs-product-facts ul,.drs-pros-cons,.drs-visual-assets{padding-left:1.2rem}.drs-score-explanations{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin:1rem 0}.drs-score-explanation{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff}.drs-score-explanation h3{margin-top:0}.drs-score-bars{display:grid;gap:.65rem;margin:1rem 0;padding:1rem;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.drs-score-bar-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(120px,2fr) 48px;gap:.65rem;align-items:center}.drs-score-bar-label{font-size:.92rem}.drs-score-bar-track{height:10px;background:#eee;border-radius:999px;overflow:hidden}.drs-score-bar-fill{display:block;height:100%;background:currentColor;border-radius:999px}.drs-score-bar-value{font-size:.9rem;text-align:right}.drs-note{padding:.85rem 1rem;border-left:4px solid #64748b;background:#f8fafc}.drs-score-card{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff;margin:1rem 0}.drs-source-list table{width:100%;border-collapse:collapse}.drs-source-list th,.drs-source-list td{border-bottom:1px solid #e5e7eb;padding:.55rem;text-align:left}@media(max-width:760px){.drs-visual-hero{grid-template-columns:1fr}.drs-score-bar-row{grid-template-columns:1fr}.drs-score-bar-value{text-align:left}}

.drs-affiliate-cta {
    margin: 1.25rem 0;
    padding: 1rem;
    border: 1px solid rgba(0,0,0,.12);
    border-radius: 12px;
    background: rgba(0,0,0,.025);
}
.drs-affiliate-cta .drs-price-button,
.drs-affiliate-cta a.button {
    display: inline-block;
    padding: .7rem 1rem;
    border-radius: 999px;
    text-decoration: none;
    font-weight: 700;
}
.drs-affiliate-cta p {
    margin: .65rem 0 0;
    font-size: .92em;
    opacity: .82;
}

.drs-media-hero{margin:0}.drs-media-hero img{max-width:100%;height:auto;border-radius:12px;display:block}.drs-media-hero figcaption{font-size:.9rem;color:#555;margin-top:.45rem}.drs-visual-assets{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin:1rem 0;padding-left:0}.drs-visual-asset-card{border:1px solid #e5e7eb;border-radius:12px;padding:1rem;background:#fff}.drs-visual-asset-card img{max-width:100%;height:auto;border-radius:10px;display:block;margin-bottom:.65rem}.drs-visual-asset-card p{margin:.35rem 0 0}.drs-visual-asset-card a{font-weight:700;text-decoration:none}


.drs-interpretation-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:1rem;
    margin:1rem 0 1.5rem;
}
.drs-interpretation-card{
    border:1px solid #e5e7eb;
    border-radius:14px;
    padding:1rem;
    background:#fff;
}
.drs-interpretation-card h3{margin-top:0;margin-bottom:.35rem}
.drs-interpretation-value{
    font-size:1.7rem;
    line-height:1.1;
    font-weight:700;
    margin:.25rem 0 .75rem;
}
.drs-small-note{font-size:.92rem;opacity:.85;margin-bottom:0}.drs-small-warning{font-size:.92rem;font-weight:700;margin-bottom:0}

.drs-media-carousel{
    display:flex;
    gap:.75rem;
    overflow-x:auto;
    padding:.35rem 0 .75rem;
    margin:.75rem 0 0;
    scroll-snap-type:x proximity;
}
.drs-carousel-item{
    flex:0 0 min(180px,42vw);
    margin:0;
    scroll-snap-align:start;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#fff;
    padding:.5rem;
}
.drs-carousel-item img{width:100%;height:auto;display:block;border-radius:9px}.drs-carousel-item figcaption{font-size:.82rem;line-height:1.3;color:#555;margin-top:.35rem}.drs-product-facts li{margin:.28rem 0}.drs-product-facts strong{font-weight:700}.drs-visual-badges{gap:.55rem .5rem}.drs-visual-badge{white-space:nowrap}.drs-identity-note,.drs-category-note{font-size:.95rem;opacity:.9}

/* v0.2.3: Make documentation badges visibly stand out on both frontend and previews. */
.drs-badge-panel{
    margin:1rem 0 1.25rem;
    padding:1rem;
    border:1px solid #dbeafe;
    border-radius:14px;
    background:#f8fbff;
}
.drs-badge-panel-title{
    margin:0 0 .65rem;
    font-weight:700;
    font-size:1rem;
}
.drs-badge-panel-note{
    margin:.7rem 0 0;
    font-size:.9rem;
    color:#475569;
}
.drs-badge-panel .drs-visual-badges{
    margin:.2rem 0 0;
    gap:.55rem;
}
.drs-badge-panel .drs-visual-badge{
    background:#ffffff;
    border-color:#bfdbfe;
    box-shadow:0 1px 2px rgba(15,23,42,.06);
    color:#0f172a;
}
.drs-badge-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:1.1em;
    height:1.1em;
    margin-right:.4em;
    border-radius:999px;
    background:#e0f2fe;
    font-size:.75em;
    font-weight:700;
}

/* v0.2.4: Visual interpretation graphics */
.drs-visual-scale{
    margin:.85rem 0 1rem;
    padding:.75rem .75rem .65rem;
    border:1px solid #e5e7eb;
    border-radius:12px;
    background:#f8fafc;
}
.drs-visual-scale-track{
    position:relative;
    height:12px;
    border-radius:999px;
    background:linear-gradient(90deg,#e0f2fe,#dcfce7,#fef9c3,#ffedd5,#fee2e2);
    box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);
}
.drs-visual-scale-fill{
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    border-radius:999px;
    background:rgba(15,23,42,.18);
}
.drs-visual-scale-marker{
    position:absolute;
    top:50%;
    transform:translate(-50%,-50%);
    width:22px;
    height:22px;
    border-radius:999px;
    background:#111827;
    border:3px solid #fff;
    box-shadow:0 2px 8px rgba(15,23,42,.28);
}
.drs-visual-scale-labels{
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:.35rem;
    margin-top:.55rem;
    font-size:.78rem;
    line-height:1.25;
    color:#475569;
}
.drs-visual-scale-labels span:nth-child(3){text-align:center}.drs-visual-scale-labels span:nth-child(4),.drs-visual-scale-labels span:nth-child(5){text-align:right}.drs-scale-caption{margin:.55rem 0 0;font-size:.86rem;color:#475569;line-height:1.4}.drs-interpretation-card .drs-visual-scale + p{margin-top:1rem}

/* v0.2.5: carousel usability hotfix */
.drs-media-carousel-wrap{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 44px;
    gap:.5rem;
    align-items:center;
    margin:.75rem 0 0;
}
.drs-media-carousel-wrap .drs-media-carousel{
    margin:0;
    padding:.35rem .15rem .75rem;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    scrollbar-width:thin;
}
.drs-media-carousel-wrap .drs-carousel-item{
    flex:0 0 clamp(180px, 34vw, 260px);
    scroll-snap-align:start;
}
.drs-media-carousel-wrap .drs-carousel-item img{
    width:100%;
    aspect-ratio:1 / 1;
    object-fit:contain;
    background:#fff;
}
.drs-carousel-nav{
    width:40px;
    height:40px;
    border:1px solid #d1d5db;
    border-radius:999px;
    background:#fff;
    color:#111827;
    font-size:1.6rem;
    line-height:1;
    cursor:pointer;
    box-shadow:0 1px 2px rgba(15,23,42,.08);
}
.drs-carousel-nav:hover,
.drs-carousel-nav:focus{
    background:#f8fafc;
    outline:2px solid #bfdbfe;
    outline-offset:2px;
}
@media(max-width:640px){
    .drs-media-carousel-wrap{grid-template-columns:1fr;}
    .drs-carousel-nav{display:none;}
    .drs-media-carousel-wrap .drs-carousel-item{flex-basis:78vw;}
}

/* v0.2.7: sticky TOC and evidence-based FAQ */
.drs-toc{
    border:1px solid #dbeafe;
    background:#f8fbff;
    border-radius:16px;
    padding:1rem 1.1rem;
    margin:1.25rem 0 1.5rem;
    box-shadow:0 1px 2px rgba(15,23,42,.04);
}
.drs-toc-title{
    font-weight:700;
    margin:0 0 .65rem;
}
.drs-toc ul{
    list-style:none;
    padding:0;
    margin:0;
    display:grid;
    gap:.35rem;
}
.drs-toc a{
    text-decoration:none;
    color:#1d4ed8;
    font-size:.95rem;
}
.drs-toc a:hover,.drs-toc a:focus{text-decoration:underline;}
@media(min-width:1100px){
    .entry-content .drs-toc,
    .wp-block-post-content .drs-toc,
    .drs-toc{
        float:right;
        width:250px;
        max-width:32%;
        margin:.25rem 0 1.25rem 1.5rem;
        position:sticky;
        top:88px;
        z-index:2;
    }
}
@media(max-width:760px){
    .drs-toc{
        position:static;
        max-width:none;
    }
    .drs-toc ul{
        grid-template-columns:1fr 1fr;
        gap:.45rem .75rem;
    }
}
.drs-faq-list{
    display:grid;
    gap:.85rem;
    margin:1rem 0 1.5rem;
}
.drs-faq-item{
    border:1px solid #e2e8f0;
    border-radius:16px;
    background:#fff;
    padding:1rem 1.1rem;
}
.drs-faq-item summary{
    cursor:pointer;
    font-weight:700;
    color:#0f172a;
}
.drs-faq-item p{margin:.65rem 0 0;}
.drs-faq-meta{
    font-size:.86rem;
    color:#64748b;
}
