:root {
    --ri-ae-black: var(--ri-color-black, #111111);
    --ri-ae-white: var(--ri-color-white, #ffffff);
    --ri-ae-dark: var(--ri-color-dark, #2b2b2b);
    --ri-ae-red: var(--ri-color-red, #e10600);
    --ri-ae-red-hover: var(--ri-color-red-hover, #b90500);
    --ri-ae-text: var(--ri-color-text, #222222);
    --ri-ae-muted: var(--ri-color-muted, #666666);
    --ri-ae-surface: var(--ri-color-surface, #f6f6f6);
    --ri-ae-border: var(--ri-color-border, #e3e3e3);
    --ri-ae-success: var(--ri-color-success, #16794a);
    --ri-ae-radius-sm: var(--ri-radius-small, 6px);
    --ri-ae-radius: var(--ri-radius-medium, 12px);
    --ri-ae-radius-lg: var(--ri-radius-large, 18px);
    --ri-ae-shadow: var(--ri-shadow-small, 0 8px 24px rgba(17,17,17,.07));
    --ri-ae-wide: var(--ri-container-wide, 1320px);
    --ri-ae-default: var(--ri-container-default, 1180px);
    --ri-ae-reading: var(--ri-container-reading, 800px);
}

.ri-ae-authority-page .site-main,
.ri-ae-authority-page main { max-width:none; }
.ri-ae-page { padding:32px 0 84px; color:var(--ri-ae-text); background:var(--ri-ae-white); }
.ri-ae-container { width:min(calc(100% - 40px), var(--ri-ae-wide)); margin:0 auto; }
.ri-ae-eyebrow { margin:0 0 8px; color:var(--ri-ae-red); font-size:.76rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.ri-ae-lead { max-width:850px; margin:0; color:var(--ri-ae-muted); font-size:clamp(1.05rem,1.8vw,1.28rem); line-height:1.65; }
.ri-ae-badge { display:inline-flex; align-items:center; width:max-content; min-height:28px; padding:5px 10px; color:var(--ri-ae-white); background:var(--ri-ae-red); border-radius:999px; font-size:.72rem; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.ri-ae-label-row { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.ri-ae-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:8px; padding:11px 18px; color:var(--ri-ae-white)!important; background:var(--ri-ae-red); border:2px solid var(--ri-ae-red); border-radius:var(--ri-ae-radius-sm); font-size:.92rem; font-weight:800; line-height:1.2; text-decoration:none!important; transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease; }
.ri-ae-button:hover,.ri-ae-button:focus { color:var(--ri-ae-white)!important; background:var(--ri-ae-red-hover); border-color:var(--ri-ae-red-hover); transform:translateY(-1px); }
.ri-ae-button--dark { background:var(--ri-ae-black); border-color:var(--ri-ae-black); }
.ri-ae-button--dark:hover,.ri-ae-button--dark:focus { background:var(--ri-ae-dark); border-color:var(--ri-ae-dark); }
.ri-ae-button--outline { color:var(--ri-ae-black)!important; background:transparent; border-color:var(--ri-ae-black); }
.ri-ae-button--outline:hover,.ri-ae-button--outline:focus { color:var(--ri-ae-white)!important; background:var(--ri-ae-black); }
.ri-ae-button--small { min-height:38px; padding:8px 12px; font-size:.78rem; }
.ri-ae-text-link { color:var(--ri-ae-red)!important; font-weight:800; text-decoration:none!important; }
.ri-ae-text-link:hover { color:var(--ri-ae-red-hover)!important; }

.ri-ae-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 28px; color:var(--ri-ae-muted); font-size:.82rem; }
.ri-ae-breadcrumbs a { color:var(--ri-ae-muted); text-decoration:none; }
.ri-ae-breadcrumbs a:hover { color:var(--ri-ae-red); }

.ri-ae-review-header { max-width:1020px; padding:38px 0 32px; }
.ri-ae-review-header h1,.ri-ae-editorial-header h1,.ri-ae-archive-header h1,.ri-ae-topic-hero h1 { max-width:1100px; margin:10px 0 18px; color:var(--ri-ae-black); font-size:clamp(2.25rem,5vw,5rem); line-height:1.04; letter-spacing:-.04em; }
.ri-ae-article-meta { display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; margin-top:20px; color:var(--ri-ae-muted); font-size:.84rem; }
.ri-ae-article-meta span { display:inline-flex; align-items:center; gap:8px; }
.ri-ae-article-meta img { width:32px; height:32px; border-radius:50%; }

.ri-ae-review-hero { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:28px; align-items:stretch; }
.ri-ae-review-image { min-height:520px; overflow:hidden; background:var(--ri-ae-surface); border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius-lg); }
.ri-ae-review-image img { width:100%; height:100%; object-fit:contain; padding:28px; background:var(--ri-ae-white); }
.ri-ae-summary-card { display:flex; flex-direction:column; justify-content:space-between; padding:30px; color:var(--ri-ae-white); background:var(--ri-ae-black); border-radius:var(--ri-ae-radius-lg); box-shadow:var(--ri-ae-shadow); }
.ri-ae-summary-card .ri-ae-eyebrow { color:#ff7773; }
.ri-ae-summary-card p { color:#e1e1e1; }
.ri-ae-summary-card strong { color:var(--ri-ae-white); }
.ri-ae-summary-top { display:flex; align-items:center; gap:20px; }
.ri-ae-score-circle { display:flex; width:116px; height:116px; flex:0 0 116px; align-items:center; justify-content:center; flex-direction:column; background:var(--ri-ae-red); border-radius:50%; }
.ri-ae-score-circle strong { font-size:2.35rem; line-height:1; }
.ri-ae-score-circle span { margin-top:4px; color:#fff; font-size:.82rem; }
.ri-ae-quick-verdict { margin:24px 0; padding-top:20px; border-top:1px solid rgba(255,255,255,.17); }
.ri-ae-quick-verdict p:last-child { margin-bottom:0; }
.ri-ae-summary-actions { display:flex; flex-wrap:wrap; gap:10px; }
.ri-ae-summary-card .ri-ae-button--outline { color:#fff!important; border-color:#fff; }
.ri-ae-summary-card .ri-ae-button--outline:hover { color:#111!important; background:#fff; }

.ri-ae-disclosure { display:flex; align-items:flex-start; gap:14px; margin:24px 0 0; padding:16px 18px; color:#5a4300; background:#fff8e5; border:1px solid #e7c76c; border-radius:var(--ri-ae-radius); font-size:.86rem; }
.ri-ae-disclosure strong { flex:0 0 auto; color:#332700; }
.ri-ae-disclosure p { margin:0; }

.ri-ae-reading-layout { display:grid; grid-template-columns:260px minmax(0,var(--ri-ae-reading)); justify-content:center; gap:58px; align-items:start; margin-top:62px; }
.ri-ae-reading-sidebar { position:sticky; top:110px; min-width:0; }
.ri-ae-toc { overflow:hidden; background:var(--ri-ae-surface); border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); }
.ri-ae-toc__heading { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px; color:var(--ri-ae-black); border-bottom:1px solid var(--ri-ae-border); }
.ri-ae-toc__heading button { padding:0; color:var(--ri-ae-red); background:transparent; border:0; cursor:pointer; font-size:.78rem; font-weight:800; }
.ri-ae-toc ol { margin:0; padding:12px 16px 14px 34px; }
.ri-ae-toc li { margin:7px 0; color:var(--ri-ae-muted); font-size:.82rem; line-height:1.4; }
.ri-ae-toc li.is-sub { margin-left:12px; }
.ri-ae-toc a { color:var(--ri-ae-muted); text-decoration:none; }
.ri-ae-toc a:hover { color:var(--ri-ae-red); }
.ri-ae-sidebar-score { display:flex; align-items:flex-start; flex-direction:column; gap:4px; margin-top:14px; padding:16px; color:#fff; background:var(--ri-ae-black); border-radius:var(--ri-ae-radius); }
.ri-ae-sidebar-score span { color:#bdbdbd; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
.ri-ae-sidebar-score strong { font-size:1.45rem; }

.ri-ae-reading-content { min-width:0; }
.ri-ae-article-body,.ri-ae-content-section { color:var(--ri-ae-text); font-size:1.03rem; line-height:1.78; }
.ri-ae-article-body h2,.ri-ae-content-section h2 { margin-top:2.2em; scroll-margin-top:110px; font-size:clamp(1.65rem,3vw,2.45rem); }
.ri-ae-article-body h3,.ri-ae-content-section h3 { margin-top:1.7em; scroll-margin-top:110px; }
.ri-ae-article-body a,.ri-ae-content-section a { color:var(--ri-ae-red); }
.ri-ae-article-body img { border-radius:var(--ri-ae-radius); }
.ri-ae-article-body blockquote { margin:28px 0; padding:18px 22px; color:var(--ri-ae-dark); background:var(--ri-ae-surface); border-left:4px solid var(--ri-ae-red); }
.ri-ae-content-section { margin-top:54px; padding-top:2px; }
.ri-ae-section-title { margin-bottom:20px; }
.ri-ae-section-title h2 { margin:0; }

.ri-ae-spec-table { overflow:hidden; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); }
.ri-ae-spec-table > div { display:grid; grid-template-columns:minmax(170px,.75fr) minmax(0,1.25fr); }
.ri-ae-spec-table > div + div { border-top:1px solid var(--ri-ae-border); }
.ri-ae-spec-table dt,.ri-ae-spec-table dd { margin:0; padding:14px 16px; }
.ri-ae-spec-table dt { color:var(--ri-ae-black); background:var(--ri-ae-surface); font-weight:800; }
.ri-ae-spec-table dd { background:#fff; }

.ri-ae-pros-cons { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ri-ae-pros,.ri-ae-cons { padding:24px; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); }
.ri-ae-pros { background:#f0faf5; border-color:#b7dfca; }
.ri-ae-cons { background:#fff4f3; border-color:#efb9b5; }
.ri-ae-pros h3,.ri-ae-cons h3 { margin:0 0 14px; font-size:1.25rem; }
.ri-ae-pros ul,.ri-ae-cons ul { margin:0; padding:0; list-style:none; }
.ri-ae-pros li,.ri-ae-cons li { position:relative; margin:10px 0; padding-left:26px; }
.ri-ae-pros li::before,.ri-ae-cons li::before { position:absolute; left:0; top:0; font-weight:900; }
.ri-ae-pros li::before { content:'✓'; color:var(--ri-ae-success); }
.ri-ae-cons li::before { content:'–'; color:var(--ri-ae-red); }

.ri-ae-score-bars { display:grid; gap:16px; }
.ri-ae-score-row > div:first-child { display:flex; justify-content:space-between; gap:16px; margin-bottom:7px; }
.ri-ae-score-row span { color:var(--ri-ae-dark); font-weight:700; }
.ri-ae-score-track { height:9px; overflow:hidden; background:#ececec; border-radius:99px; }
.ri-ae-score-track span { display:block; height:100%; background:var(--ri-ae-red); border-radius:99px; }

.ri-ae-audience-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ri-ae-audience-grid > div { padding:24px; background:var(--ri-ae-surface); border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); }
.ri-ae-audience-grid h3 { margin-top:0; }

.ri-ae-faqs { margin-top:58px; scroll-margin-top:110px; }
.ri-ae-faq-list { border-top:1px solid var(--ri-ae-border); }
.ri-ae-faq { border-bottom:1px solid var(--ri-ae-border); }
.ri-ae-faq summary { position:relative; padding:18px 42px 18px 0; color:var(--ri-ae-black); cursor:pointer; font-weight:800; list-style:none; }
.ri-ae-faq summary::-webkit-details-marker { display:none; }
.ri-ae-faq summary::after { content:'+'; position:absolute; right:4px; top:13px; font-size:1.5rem; }
.ri-ae-faq[open] summary::after { content:'−'; }
.ri-ae-faq > div { padding:0 0 20px; color:var(--ri-ae-muted); }
.ri-ae-faq > div p:last-child { margin-bottom:0; }

.ri-ae-final-verdict { display:flex; align-items:flex-start; justify-content:space-between; gap:28px; margin-top:58px; padding:30px; color:#fff; background:var(--ri-ae-black); border-left:5px solid var(--ri-ae-red); border-radius:var(--ri-ae-radius-lg); }
.ri-ae-final-verdict h2 { margin:0 0 12px; color:#fff; }
.ri-ae-final-verdict p { color:#dedede; }
.ri-ae-final-score { display:inline-flex; margin-bottom:15px; padding:8px 11px; color:#fff; background:var(--ri-ae-red); border-radius:999px; font-weight:900; }
.ri-ae-final-verdict .ri-ae-button { flex:0 0 auto; }

.ri-ae-newsletter { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:28px; align-items:center; margin-top:48px; padding:28px; background:var(--ri-ae-surface); border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius-lg); }
.ri-ae-newsletter h2 { margin:0 0 8px; }
.ri-ae-newsletter p:last-child { margin-bottom:0; }
.ri-ae-author-box { display:flex; gap:20px; margin-top:42px; padding-top:30px; border-top:1px solid var(--ri-ae-border); }
.ri-ae-author-box img { width:84px; height:84px; flex:0 0 84px; border-radius:50%; }
.ri-ae-author-box h3 { margin:0 0 8px; }
.ri-ae-author-box p:last-child { margin-bottom:0; }

.ri-ae-related { margin-top:86px; padding-top:54px; border-top:1px solid var(--ri-ae-border); }
.ri-ae-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ri-ae-content-card { overflow:hidden; background:#fff; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); box-shadow:var(--ri-ae-shadow); }
.ri-ae-content-card__image { display:block; aspect-ratio:16/10; overflow:hidden; background:var(--ri-ae-surface); }
.ri-ae-content-card__image img { width:100%; height:100%; object-fit:cover; transition:transform .22s ease; }
.ri-ae-content-card:hover .ri-ae-content-card__image img { transform:scale(1.025); }
.ri-ae-content-card__body { padding:20px; }
.ri-ae-content-card h2,.ri-ae-content-card h3 { margin:0 0 10px; color:var(--ri-ae-black); font-size:1.23rem; line-height:1.3; }
.ri-ae-content-card h2 a,.ri-ae-content-card h3 a { color:var(--ri-ae-black); text-decoration:none; }
.ri-ae-content-card h2 a:hover,.ri-ae-content-card h3 a:hover { color:var(--ri-ae-red); }
.ri-ae-content-card__body > p:not(.ri-ae-eyebrow) { color:var(--ri-ae-muted); }
.ri-ae-card-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--ri-ae-muted); font-size:.8rem; }
.ri-ae-image-placeholder { display:grid; width:100%; height:100%; place-items:center; color:#aaa; background:#f3f3f3; font-size:1.7rem; font-weight:900; letter-spacing:.1em; }
.ri-ae-image-placeholder--large { min-height:520px; }

.ri-ae-product-box { position:relative; display:grid; grid-template-columns:220px minmax(0,1fr); gap:24px; overflow:hidden; margin:20px 0; padding:22px; background:#fff; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius-lg); box-shadow:var(--ri-ae-shadow); }
.ri-ae-product-box > .ri-ae-badge { position:absolute; z-index:2; top:14px; left:14px; }
.ri-ae-product-box__image { display:flex; align-items:center; justify-content:center; min-height:220px; overflow:hidden; background:var(--ri-ae-surface); border-radius:var(--ri-ae-radius); }
.ri-ae-product-box__image img { width:100%; height:100%; object-fit:contain; padding:12px; }
.ri-ae-product-box h3 { margin:0 0 8px; font-size:1.5rem; }
.ri-ae-product-box h3 a { color:var(--ri-ae-black); text-decoration:none; }
.ri-ae-product-box__body > p { color:var(--ri-ae-muted); }
.ri-ae-inline-score,.ri-ae-score-chip { display:inline-flex; align-items:baseline; gap:4px; margin-bottom:8px; color:var(--ri-ae-red); }
.ri-ae-inline-score strong,.ri-ae-score-chip strong { font-size:1.45rem; }
.ri-ae-inline-score span,.ri-ae-score-chip span { color:var(--ri-ae-muted); font-size:.78rem; }
.ri-ae-mini-pros { display:flex; flex-wrap:wrap; gap:7px 16px; margin:12px 0; padding:0; list-style:none; }
.ri-ae-mini-pros li { position:relative; padding-left:18px; font-size:.86rem; }
.ri-ae-mini-pros li::before { content:'✓'; position:absolute; left:0; color:var(--ri-ae-success); font-weight:900; }
.ri-ae-product-box__actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
.ri-ae-product-stack { display:grid; gap:18px; }

.ri-ae-comparison-wrap { max-width:100%; overflow:auto; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius); }
.ri-ae-comparison-table { width:100%; min-width:760px; margin:0; border-collapse:collapse; background:#fff; }
.ri-ae-comparison-table th,.ri-ae-comparison-table td { min-width:180px; padding:14px; text-align:left; vertical-align:top; border-right:1px solid var(--ri-ae-border); border-bottom:1px solid var(--ri-ae-border); }
.ri-ae-comparison-table th:first-child { min-width:150px; color:var(--ri-ae-black); background:var(--ri-ae-surface); }
.ri-ae-comparison-table thead th { text-align:center; background:#fff; }
.ri-ae-comparison-table thead th.is-winner { background:#fff4f3; }
.ri-ae-comparison-table thead img { width:120px; height:100px; margin:8px auto 10px; object-fit:contain; }
.ri-ae-comparison-table thead a { display:block; color:var(--ri-ae-black); font-weight:800; text-decoration:none; }
.ri-ae-comparison-table tr:last-child th,.ri-ae-comparison-table tr:last-child td { border-bottom:0; }
.ri-ae-comparison-table th:last-child,.ri-ae-comparison-table td:last-child { border-right:0; }
.ri-ae-comparison-actions td { text-align:center; }
.ri-ae-comparison-actions .ri-ae-button { margin:3px; }

.ri-ae-editorial-header,.ri-ae-archive-header,.ri-ae-topic-hero { max-width:1050px; padding:42px 0 30px; }
.ri-ae-featured-image { overflow:hidden; margin:0 0 30px; border-radius:var(--ri-ae-radius-lg); }
.ri-ae-featured-image img { width:100%; max-height:720px; object-fit:cover; }
.ri-ae-archive-header p,.ri-ae-topic-hero .ri-ae-lead { max-width:800px; color:var(--ri-ae-muted); font-size:1.1rem; }
.ri-ae-card-grid--archive { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ri-ae-pagination { margin-top:42px; }
.ri-ae-pagination .nav-links { display:flex; flex-wrap:wrap; gap:8px; }
.ri-ae-pagination .page-numbers { display:inline-flex; min-width:42px; min-height:42px; align-items:center; justify-content:center; padding:7px 12px; color:var(--ri-ae-black); background:#fff; border:1px solid var(--ri-ae-border); border-radius:var(--ri-ae-radius-sm); text-decoration:none; }
.ri-ae-pagination .page-numbers.current,.ri-ae-pagination .page-numbers:hover { color:#fff; background:var(--ri-ae-red); border-color:var(--ri-ae-red); }
.ri-ae-topic-section { margin-top:64px; }

@media (max-width:1080px) {
    .ri-ae-review-hero { grid-template-columns:1fr; }
    .ri-ae-review-image { min-height:420px; }
    .ri-ae-reading-layout { grid-template-columns:minmax(0,var(--ri-ae-reading)); gap:24px; }
    .ri-ae-reading-sidebar { position:static; }
    .ri-ae-toc { margin-bottom:10px; }
    .ri-ae-card-grid,.ri-ae-card-grid--archive { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:720px) {
    .ri-ae-page { padding-top:18px; }
    .ri-ae-container { width:min(calc(100% - 24px), var(--ri-ae-wide)); }
    .ri-ae-review-header h1,.ri-ae-editorial-header h1,.ri-ae-archive-header h1,.ri-ae-topic-hero h1 { font-size:clamp(2rem,12vw,3.25rem); }
    .ri-ae-review-header,.ri-ae-editorial-header,.ri-ae-archive-header,.ri-ae-topic-hero { padding:24px 0; }
    .ri-ae-review-image { min-height:330px; }
    .ri-ae-review-image img { padding:14px; }
    .ri-ae-summary-card { padding:22px; }
    .ri-ae-summary-top { align-items:flex-start; flex-direction:column; }
    .ri-ae-score-circle { width:96px; height:96px; flex-basis:96px; }
    .ri-ae-score-circle strong { font-size:2rem; }
    .ri-ae-disclosure { flex-direction:column; }
    .ri-ae-reading-layout { margin-top:38px; }
    .ri-ae-pros-cons,.ri-ae-audience-grid,.ri-ae-newsletter,.ri-ae-card-grid,.ri-ae-card-grid--archive { grid-template-columns:1fr; }
    .ri-ae-spec-table > div { grid-template-columns:1fr; }
    .ri-ae-spec-table dt { border-bottom:1px solid var(--ri-ae-border); }
    .ri-ae-final-verdict { flex-direction:column; padding:22px; }
    .ri-ae-product-box { grid-template-columns:1fr; padding:16px; }
    .ri-ae-product-box__image { min-height:240px; }
    .ri-ae-author-box { flex-direction:column; }
    .ri-ae-summary-actions,.ri-ae-product-box__actions { flex-direction:column; }
    .ri-ae-summary-actions .ri-ae-button,.ri-ae-product-box__actions .ri-ae-button { width:100%; }
    .ri-ae-related { margin-top:58px; }
}

@media (prefers-reduced-motion:reduce) {
    .ri-ae-button,.ri-ae-content-card__image img { transition:none; }
    .ri-ae-button:hover,.ri-ae-button:focus,.ri-ae-content-card:hover .ri-ae-content-card__image img { transform:none; }
}
.ri-ae-archive-points{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.ri-ae-archive-points span{padding:8px 11px;border:1px solid var(--ri-ae-line);border-radius:999px;background:#fff;color:var(--ri-ae-black);font-size:.76rem;font-weight:800}.ri-ae-library-foundation{margin:15px 0 70px;padding:clamp(26px,5vw,48px);border:1px solid var(--ri-ae-line);border-top:3px solid var(--ri-ae-red);border-radius:16px;background:var(--ri-ae-soft);display:flex;align-items:center;justify-content:space-between;gap:35px}.ri-ae-library-foundation h2{margin:4px 0 10px;font-size:clamp(1.55rem,3vw,2.35rem)}.ri-ae-library-foundation p{max-width:760px;margin:0;color:var(--ri-ae-muted);line-height:1.7}@media(max-width:700px){.ri-ae-library-foundation{align-items:flex-start;flex-direction:column}.ri-ae-library-foundation .ri-ae-button{width:100%}}


/* =========================================================
   RiderInstinct Compact Authority Layout — v1.1.0
   ========================================================= */

/* Wider canvas and tighter product-review rhythm. */
body.ri-ae-product-page .ri-ae-page {
    padding: 18px 0 58px;
}
body.ri-ae-product-page .ri-ae-container {
    width: min(calc(100% - 48px), 1480px);
}
body.ri-ae-product-page .ri-ae-breadcrumbs {
    margin-bottom: 14px;
    font-size: .78rem;
}
body.ri-ae-product-page .ri-ae-review-header {
    max-width: 1220px;
    padding: 14px 0 20px;
}
body.ri-ae-product-page .ri-ae-review-header h1 {
    max-width: 1180px;
    margin: 7px 0 11px;
    font-size: clamp(2.05rem, 3.65vw, 3.7rem);
    line-height: 1.03;
    letter-spacing: -.035em;
}
body.ri-ae-product-page .ri-ae-review-header .ri-ae-lead {
    max-width: 960px;
    font-size: 1rem;
    line-height: 1.55;
}
body.ri-ae-product-page .ri-ae-article-meta {
    gap: 8px 18px;
    margin-top: 12px;
    font-size: .78rem;
}
body.ri-ae-product-page .ri-ae-article-meta img {
    width: 28px;
    height: 28px;
}
body.ri-ae-product-page .ri-ae-review-hero {
    max-width: 1260px;
    grid-template-columns: minmax(0, 1fr) minmax(350px, 405px);
    gap: 20px;
    align-items: stretch;
}
body.ri-ae-product-page .ri-ae-review-image {
    height: clamp(360px, 32vw, 445px);
    min-height: 0;
    border-radius: 12px;
}
body.ri-ae-product-page .ri-ae-review-image img {
    padding: 18px 7%;
}
body.ri-ae-product-page .ri-ae-summary-card {
    padding: 22px;
    border-radius: 12px;
}
body.ri-ae-product-page .ri-ae-summary-top {
    gap: 15px;
}
body.ri-ae-product-page .ri-ae-score-circle {
    width: 84px;
    height: 84px;
    flex-basis: 84px;
}
body.ri-ae-product-page .ri-ae-score-circle strong {
    font-size: 1.9rem;
}
body.ri-ae-product-page .ri-ae-quick-verdict {
    margin: 17px 0;
    padding-top: 15px;
    font-size: .9rem;
    line-height: 1.58;
}
body.ri-ae-product-page .ri-ae-button {
    min-height: 41px;
    padding: 9px 14px;
    font-size: .82rem;
}
body.ri-ae-product-page .ri-ae-disclosure {
    max-width: 1260px;
    margin-top: 16px;
    padding: 12px 15px;
    font-size: .78rem;
}
body.ri-ae-product-page .ri-ae-reading-layout {
    max-width: 1260px;
    grid-template-columns: 228px minmax(0, 1fr);
    justify-content: stretch;
    gap: 34px;
    margin: 36px 0 0;
}
body.ri-ae-product-page .ri-ae-reading-sidebar {
    top: 92px;
}
body.ri-ae-product-page .ri-ae-toc__heading {
    padding: 12px 13px;
}
body.ri-ae-product-page .ri-ae-toc ol {
    padding: 9px 13px 11px 29px;
}
body.ri-ae-product-page .ri-ae-toc li {
    margin: 5px 0;
    font-size: .76rem;
}
body.ri-ae-product-page .ri-ae-sidebar-score {
    margin-top: 10px;
    padding: 13px;
}
body.ri-ae-product-page .ri-ae-reading-content {
    width: 100%;
    max-width: 998px;
}
body.ri-ae-product-page .ri-ae-article-body,
body.ri-ae-product-page .ri-ae-content-section {
    font-size: .98rem;
    line-height: 1.66;
}
body.ri-ae-product-page .ri-ae-article-body h2,
body.ri-ae-product-page .ri-ae-content-section h2 {
    margin-top: 1.45em;
    font-size: clamp(1.45rem, 2.1vw, 2rem);
}
body.ri-ae-product-page .ri-ae-article-body h3,
body.ri-ae-product-page .ri-ae-content-section h3 {
    margin-top: 1.25em;
}
body.ri-ae-product-page .ri-ae-content-section {
    margin-top: 31px;
    padding-top: 25px;
    border-top: 1px solid var(--ri-ae-border);
}
body.ri-ae-product-page .ri-ae-section-title {
    margin-bottom: 14px;
}
body.ri-ae-product-page .ri-ae-spec-table dt,
body.ri-ae-product-page .ri-ae-spec-table dd {
    padding: 10px 13px;
    font-size: .9rem;
}
body.ri-ae-product-page .ri-ae-pros-cons,
body.ri-ae-product-page .ri-ae-audience-grid {
    gap: 13px;
}
body.ri-ae-product-page .ri-ae-pros,
body.ri-ae-product-page .ri-ae-cons,
body.ri-ae-product-page .ri-ae-audience-grid > div {
    padding: 17px;
}
body.ri-ae-product-page .ri-ae-pros li,
body.ri-ae-product-page .ri-ae-cons li {
    margin: 7px 0;
    padding-left: 22px;
    font-size: .9rem;
}
body.ri-ae-product-page .ri-ae-score-bars {
    gap: 11px;
}
body.ri-ae-product-page .ri-ae-score-track {
    height: 7px;
}
body.ri-ae-product-page .ri-ae-faqs {
    margin-top: 34px;
    padding-top: 25px;
    border-top: 1px solid var(--ri-ae-border);
}
body.ri-ae-product-page .ri-ae-faq summary {
    padding: 13px 38px 13px 0;
    font-size: .92rem;
}
body.ri-ae-product-page .ri-ae-faq summary::after {
    top: 8px;
}
body.ri-ae-product-page .ri-ae-faq > div {
    padding-bottom: 14px;
    font-size: .9rem;
}
body.ri-ae-product-page .ri-ae-final-verdict {
    gap: 20px;
    margin-top: 36px;
    padding: 22px;
    border-radius: 12px;
}
body.ri-ae-product-page .ri-ae-newsletter {
    gap: 20px;
    margin-top: 32px;
    padding: 20px;
    border-radius: 12px;
}
body.ri-ae-product-page .ri-ae-author-box {
    gap: 15px;
    margin-top: 29px;
    padding-top: 22px;
}
body.ri-ae-product-page .ri-ae-author-box img {
    width: 64px;
    height: 64px;
    flex-basis: 64px;
}
body.ri-ae-product-page .ri-ae-related {
    margin-top: 52px;
    padding-top: 34px;
}
body.ri-ae-product-page .ri-ae-related .ri-ae-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
}
.ri-ae-content-card {
    border-radius: 9px;
    box-shadow: 0 5px 16px rgba(17,17,17,.055);
}
.ri-ae-content-card__image {
    aspect-ratio: 4 / 3;
}
.ri-ae-content-card--product .ri-ae-content-card__image img,
.ri-ae-content-card--ri_review .ri-ae-content-card__image img {
    object-fit: contain;
    padding: 12px;
    background: #f7f7f7;
}
.ri-ae-content-card__body {
    padding: 14px;
}
.ri-ae-content-card h2,
.ri-ae-content-card h3 {
    margin-bottom: 7px;
    font-size: 1rem;
    line-height: 1.32;
}
.ri-ae-content-card__body > p:not(.ri-ae-eyebrow) {
    display: -webkit-box;
    overflow: hidden;
    margin-bottom: 10px;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .82rem;
    line-height: 1.5;
}
.ri-ae-card-meta {
    font-size: .74rem;
}

/* Compact four-column editorial archives. */
.ri-ae-archive-page .ri-ae-archive-header,
.ri-ae-topic-page .ri-ae-topic-hero {
    padding: 25px 0 22px;
}
.ri-ae-archive-page .ri-ae-archive-header h1,
.ri-ae-topic-page .ri-ae-topic-hero h1 {
    margin: 7px 0 11px;
    font-size: clamp(2.1rem, 4vw, 3.7rem);
}
.ri-ae-card-grid--archive {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
}

/* WooCommerce product archive becomes an authority library, not a store grid. */
body.ri-ae-shop-archive .site-main,
body.ri-ae-shop-archive main.site-main,
body.ri-ae-shop-archive #primary {
    width: min(calc(100% - 48px), 1480px) !important;
    max-width: 1480px !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 27px 0 70px !important;
}
body.ri-ae-shop-archive .woocommerce-products-header {
    max-width: 980px;
    margin-bottom: 20px;
}
body.ri-ae-shop-archive .woocommerce-products-header__title,
body.ri-ae-shop-archive .page-title {
    margin: 0 0 10px !important;
    font-size: clamp(2.1rem, 4vw, 3.55rem) !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em;
}
body.ri-ae-shop-archive .term-description {
    max-width: 880px;
    color: var(--ri-ae-muted);
    font-size: .98rem;
    line-height: 1.62;
}
body.ri-ae-shop-archive .woocommerce-result-count,
body.ri-ae-shop-archive .woocommerce-ordering {
    margin-bottom: 17px !important;
    font-size: .82rem;
}
body.ri-ae-shop-archive .woocommerce-ordering select {
    min-height: 40px;
    padding: 7px 34px 7px 11px;
    border: 1px solid var(--ri-ae-border);
    border-radius: 7px;
    background-color: #fff;
    font-size: .82rem;
}
body.ri-ae-shop-archive ul.products,
body.ri-ae-shop-archive .woocommerce ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    clear: both;
    gap: 17px !important;
    margin: 20px 0 0 !important;
}
body.ri-ae-shop-archive ul.products::before,
body.ri-ae-shop-archive ul.products::after {
    display: none !important;
}
body.ri-ae-shop-archive ul.products li.product,
body.ri-ae-shop-archive .woocommerce ul.products li.product {
    position: relative;
    display: flex;
    width: auto !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--ri-ae-border);
    border-radius: 10px;
    box-shadow: 0 5px 17px rgba(17,17,17,.05);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
body.ri-ae-shop-archive ul.products li.product:hover {
    border-color: #cfcfcf;
    box-shadow: 0 10px 24px rgba(17,17,17,.08);
    transform: translateY(-2px);
}
body.ri-ae-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link {
    display: flex;
    min-width: 0;
    padding: 11px 11px 0;
    flex: 1;
    flex-direction: column;
    color: var(--ri-ae-black);
    text-decoration: none;
}
body.ri-ae-shop-archive ul.products li.product a img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1;
    margin: 0 0 11px !important;
    padding: 14px;
    object-fit: contain;
    background: #f7f7f7;
    border-radius: 8px;
}
body.ri-ae-shop-archive ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    overflow: hidden;
    min-height: 2.64em;
    margin: 0 0 7px !important;
    padding: 0 !important;
    color: var(--ri-ae-black);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .98rem !important;
    font-weight: 800;
    line-height: 1.32 !important;
}
body.ri-ae-shop-archive .ri-ae-loop-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 7px;
    margin: 0 0 8px;
}
body.ri-ae-shop-archive .ri-ae-loop-score {
    flex: 0 0 auto;
    color: var(--ri-ae-red);
    font-size: .75rem;
    font-weight: 750;
}
body.ri-ae-shop-archive .ri-ae-loop-score strong {
    font-size: .92rem;
}
body.ri-ae-shop-archive .ri-ae-loop-best-for {
    overflow: hidden;
    color: var(--ri-ae-muted);
    font-size: .72rem;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.ri-ae-shop-archive ul.products li.product .price {
    margin: auto 0 0 !important;
    color: var(--ri-ae-dark) !important;
    font-size: .85rem !important;
    font-weight: 750;
}
body.ri-ae-shop-archive ul.products li.product .onsale {
    top: 8px !important;
    right: 8px !important;
    left: auto !important;
    min-width: auto;
    min-height: auto;
    margin: 0 !important;
    padding: 5px 8px !important;
    background: var(--ri-ae-red) !important;
    border-radius: 999px;
    font-size: .66rem;
    line-height: 1.1;
}
body.ri-ae-shop-archive .ri-ae-loop-action {
    padding: 10px 11px 11px;
}
body.ri-ae-shop-archive .ri-ae-loop-button,
body.ri-ae-shop-archive ul.products li.product .button.ri-ae-loop-button {
    display: flex;
    width: 100%;
    min-height: 39px;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 8px 10px !important;
    color: #fff !important;
    background: var(--ri-ae-black) !important;
    border: 1px solid var(--ri-ae-black) !important;
    border-radius: 7px;
    font-size: .78rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-align: center;
}
body.ri-ae-shop-archive .ri-ae-loop-button:hover {
    background: var(--ri-ae-red) !important;
    border-color: var(--ri-ae-red) !important;
}
body.ri-ae-shop-archive .woocommerce-pagination {
    margin-top: 32px;
}
body.ri-ae-shop-archive .woocommerce-pagination ul.page-numbers {
    display: flex !important;
    justify-content: center;
    gap: 7px;
    border: 0 !important;
}
body.ri-ae-shop-archive .woocommerce-pagination ul.page-numbers li {
    border: 0 !important;
}
body.ri-ae-shop-archive .woocommerce-pagination .page-numbers a,
body.ri-ae-shop-archive .woocommerce-pagination .page-numbers span {
    display: inline-flex;
    min-width: 40px;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    border: 1px solid var(--ri-ae-border);
    border-radius: 7px;
}

@media (max-width: 1120px) {
    body.ri-ae-product-page .ri-ae-review-hero {
        grid-template-columns: minmax(0, 1fr) 350px;
    }
    body.ri-ae-product-page .ri-ae-reading-layout {
        grid-template-columns: 210px minmax(0, 1fr);
        gap: 25px;
    }
    body.ri-ae-product-page .ri-ae-related .ri-ae-card-grid,
    .ri-ae-card-grid--archive,
    body.ri-ae-shop-archive ul.products,
    body.ri-ae-shop-archive .woocommerce ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 880px) {
    body.ri-ae-product-page .ri-ae-review-hero {
        max-width: 760px;
        grid-template-columns: 1fr;
    }
    body.ri-ae-product-page .ri-ae-review-image {
        height: 390px;
    }
    body.ri-ae-product-page .ri-ae-reading-layout {
        max-width: 900px;
        grid-template-columns: 1fr;
        gap: 18px;
    }
    body.ri-ae-product-page .ri-ae-reading-sidebar {
        position: static;
    }
    body.ri-ae-product-page .ri-ae-reading-content {
        max-width: none;
    }
    body.ri-ae-product-page .ri-ae-related .ri-ae-card-grid,
    .ri-ae-card-grid--archive,
    body.ri-ae-shop-archive ul.products,
    body.ri-ae-shop-archive .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 620px) {
    body.ri-ae-product-page .ri-ae-container,
    body.ri-ae-shop-archive .site-main,
    body.ri-ae-shop-archive main.site-main,
    body.ri-ae-shop-archive #primary {
        width: min(calc(100% - 24px), 1480px) !important;
    }
    body.ri-ae-product-page .ri-ae-review-header h1 {
        font-size: clamp(1.8rem, 9vw, 2.55rem);
    }
    body.ri-ae-product-page .ri-ae-review-image {
        height: 310px;
    }
    body.ri-ae-product-page .ri-ae-summary-card {
        padding: 18px;
    }
    body.ri-ae-product-page .ri-ae-summary-top {
        align-items: center;
        flex-direction: row;
    }
    body.ri-ae-product-page .ri-ae-pros-cons,
    body.ri-ae-product-page .ri-ae-audience-grid,
    body.ri-ae-product-page .ri-ae-newsletter {
        grid-template-columns: 1fr;
    }
    body.ri-ae-product-page .ri-ae-final-verdict {
        flex-direction: column;
    }
    body.ri-ae-product-page .ri-ae-related .ri-ae-card-grid,
    .ri-ae-card-grid--archive,
    body.ri-ae-shop-archive ul.products,
    body.ri-ae-shop-archive .woocommerce ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    body.ri-ae-shop-archive ul.products li.product > a.woocommerce-LoopProduct-link {
        padding: 8px 8px 0;
    }
    body.ri-ae-shop-archive ul.products li.product a img {
        margin-bottom: 8px !important;
        padding: 8px;
    }
    body.ri-ae-shop-archive ul.products li.product .woocommerce-loop-product__title {
        min-height: 2.72em;
        font-size: .84rem !important;
        line-height: 1.36 !important;
    }
    body.ri-ae-shop-archive .ri-ae-loop-best-for,
    body.ri-ae-shop-archive ul.products li.product .price {
        display: none;
    }
    body.ri-ae-shop-archive .ri-ae-loop-action {
        padding: 8px;
    }
    body.ri-ae-shop-archive .ri-ae-loop-button,
    body.ri-ae-shop-archive ul.products li.product .button.ri-ae-loop-button {
        min-height: 36px;
        font-size: .72rem !important;
    }
}

@media (max-width: 390px) {
    body.ri-ae-product-page .ri-ae-related .ri-ae-card-grid,
    .ri-ae-card-grid--archive,
    body.ri-ae-shop-archive ul.products,
    body.ri-ae-shop-archive .woocommerce ul.products {
        grid-template-columns: 1fr !important;
    }
}
