/* SB Affiliate Authority – main stylesheet. Tokens map to theme.json palette. */
:root{
	--sb-navy:var(--wp--preset--color--primary,#000066);
	--sb-red:var(--wp--preset--color--accent,#ee1c25);
	--sb-red-ink:var(--wp--preset--color--accent-ink,#cc0f19);
	--sb-ink:var(--wp--preset--color--contrast,#14142b);
	--sb-muted:var(--wp--preset--color--muted,#55576b);
	--sb-line:var(--wp--preset--color--line,#dcdee9);
	--sb-surface:var(--wp--preset--color--surface,#f4f5fb);
	--sb-ok:var(--wp--preset--color--success,#0d7a3e);
	--sb-warn:var(--wp--preset--color--warning,#b45309);
	--sb-max:1120px;
}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{overflow-wrap:break-word}
img,video{max-width:100%;height:auto}
iframe{max-width:100%;border:0}
:focus-visible{outline:3px solid var(--sb-navy);outline-offset:2px}
a{text-underline-offset:.18em}

/* ---------- Header / footer ---------- */
header.wp-block-template-part{border-top:4px solid var(--sb-navy);border-bottom:1px solid var(--sb-line);background:#fff}
.sb-header{max-width:var(--sb-max);margin-inline:auto;padding:12px clamp(16px,4vw,32px);gap:12px 24px}
.sb-logo{display:inline-flex;line-height:0}
.sb-logo__img{width:clamp(150px,40vw,200px);height:auto}
.wp-block-navigation{font-weight:600;font-size:.95rem}
.sb-disclosure-bar{background:var(--sb-surface);border-top:1px solid var(--sb-line);font-size:.8125rem;color:var(--sb-muted);text-align:center;padding:6px 16px}
.sb-disclosure-bar p{margin:0}
footer.wp-block-template-part{margin-top:48px;background:var(--sb-surface);border-top:4px solid var(--sb-navy)}
.sb-footer{max-width:var(--sb-max);margin-inline:auto;padding:36px clamp(16px,4vw,32px) 24px;font-size:.9375rem}
.sb-footer__h{font-size:1rem;margin:0 0 8px}
.sb-footer ul{list-style:none;margin:0;padding:0}
.sb-footer li{margin:6px 0}
.sb-footer__about{margin:12px 0 0;color:var(--sb-muted)}
.sb-footer__legal{border-top:1px solid var(--sb-line);margin-top:24px;padding-top:16px;font-size:.8125rem;color:var(--sb-muted)}
.sb-footer__legal p{margin:0 0 6px}
.sb-nap{font-style:normal;line-height:1.7}

/* ---------- Layout ---------- */
.sb-wrap{max-width:var(--sb-max);margin-inline:auto;padding:24px clamp(16px,4vw,32px) 48px}
.sb-wrap--narrow{max-width:820px}
.wp-block-group.sb-layout{max-width:var(--sb-max);margin-inline:auto;padding:24px clamp(16px,4vw,32px) 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.wp-block-group.sb-layout > *{margin-block:0}
@media (min-width:1000px){.wp-block-group.sb-layout--sidebar{grid-template-columns:minmax(0,1fr) 300px}}
.sb-article .sb-content > *{margin-left:0;margin-right:0}
.sb-article > .sb-title,.sb-article > .sb-answer,.sb-article > .sb-meta,.sb-article > .sb-disclosure{max-width:760px}
.sb-title{margin:.25em 0 .5em;text-wrap:balance}
.sb-hero{margin:0 0 24px}
.sb-hero img{border-radius:10px;width:100%}
.sb-content :is(h2,h3,h4){scroll-margin-top:16px}
.sb-content h2{margin-top:2em}

/* ---------- Breadcrumbs ---------- */
.sb-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;list-style:none;margin:0 0 12px;padding:0;font-size:.875rem;color:var(--sb-muted)}
.sb-breadcrumbs li:not(:last-child)::after{content:"/";content:"/" / "";margin-left:8px;color:var(--sb-line)}
.sb-breadcrumbs a{color:var(--sb-muted)}

/* ---------- Answer box (the one bold element) ---------- */
.sb-answer,.is-style-sb-answer{background:var(--sb-surface);border-left:6px solid var(--sb-red);border-radius:0 10px 10px 0;padding:18px 22px;margin:0 0 20px}
.sb-answer__label{margin:0 0 6px;font-weight:700;color:var(--sb-navy);font-size:.9375rem}
.sb-answer__text{margin:0;font-size:1.1875rem;line-height:1.55}
.is-style-sb-answer p{font-size:1.1875rem;line-height:1.55;margin:0}

/* ---------- Byline / updated ---------- */
.sb-meta{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:.9rem;color:var(--sb-muted);margin:0 0 20px}
.sb-updated{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--sb-navy);color:var(--sb-navy);border-radius:999px;padding:4px 12px;font-weight:700}
.sb-updated::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sb-red)}
.sb-disclosure{border:1px solid var(--sb-line);border-left:4px solid var(--sb-red);background:#fff;padding:10px 14px;font-size:.875rem;color:var(--sb-muted);border-radius:6px;margin:0 0 20px}
.sb-disclosure p{margin:0}

/* ---------- TOC ---------- */
.sb-toc{border:1px solid var(--sb-line);border-radius:10px;background:#fff;margin:0 0 28px}
.sb-toc summary{cursor:pointer;font-weight:700;padding:10px 16px;color:var(--sb-navy);min-height:44px;display:flex;align-items:center}
.sb-toc ol{margin:0;padding:0 16px 14px 38px;font-size:.95rem}
.sb-toc ol ol{padding:4px 0 0 18px;list-style:lower-alpha}
.sb-toc li{margin:4px 0}
.sb-toc a{text-decoration:none}
.sb-toc a:hover,.sb-toc a[aria-current]{text-decoration:underline;font-weight:600}

/* ---------- Callout block styles ---------- */
.is-style-sb-tip,.is-style-sb-warning,.is-style-sb-takeaways{border:1px solid var(--sb-line);border-left-width:6px;border-radius:8px;padding:16px 20px;background:#fff}
.is-style-sb-tip{border-left-color:var(--sb-ok)}
.is-style-sb-warning{border-left-color:var(--sb-warn)}
.is-style-sb-takeaways{border-left-color:var(--sb-navy);background:var(--sb-surface)}
.wp-block-image.is-style-sb-original img{border:1px solid var(--sb-line);border-radius:8px}
.wp-block-image.is-style-sb-original figcaption::before{content:"Our photo: ";font-weight:700;color:var(--sb-navy)}

/* ---------- Buttons ---------- */
.sb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;background:var(--sb-red-ink);color:#fff;font-weight:700;border-radius:8px;text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2;text-align:center}
.sb-btn:hover{background:#a30c14;color:#fff}
.sb-btn--ghost{background:transparent;color:var(--sb-navy);border-color:var(--sb-navy)}
.sb-btn--ghost:hover{background:var(--sb-navy);color:#fff}

/* ---------- Stars / score ---------- */
.sb-stars{position:relative;display:inline-block;font-size:1.15rem;line-height:1;letter-spacing:.1em;color:#c9ccdd;vertical-align:middle}
.sb-stars::before{content:"\2605\2605\2605\2605\2605"}
.sb-stars__fill{position:absolute;top:0;left:0;height:100%;overflow:hidden;white-space:nowrap;color:#f0a500}
.sb-stars__fill::before{content:"\2605\2605\2605\2605\2605"}
.sb-score{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;align-items:center;border:2px solid var(--sb-navy);border-radius:12px;padding:18px 20px;margin:24px 0;background:#fff}
.sb-score__num{margin:0;font-size:2.75rem;font-weight:800;line-height:1;color:var(--sb-navy)}
.sb-score__num small{font-size:1rem;color:var(--sb-muted);font-weight:600}
.sb-score__label{margin:0 0 4px;font-weight:700}
.sb-score__crit{grid-column:1/-1;display:grid;gap:8px;margin:0;padding:0;list-style:none}
.sb-score__crit li{display:grid;grid-template-columns:minmax(90px,150px) 1fr 36px;gap:10px;align-items:center;font-size:.9rem;margin:0}
.sb-score__bar{height:8px;border-radius:99px;background:var(--sb-line);overflow:hidden;display:block}
.sb-score__bar span{display:block;height:100%;background:var(--sb-navy)}

/* ---------- Pros / cons ---------- */
.sb-proscons{display:grid;gap:16px;grid-template-columns:1fr;margin:24px 0}
@media (min-width:640px){.sb-proscons{grid-template-columns:1fr 1fr}}
.sb-pros,.sb-cons{border:1px solid var(--sb-line);border-top:4px solid var(--sb-ok);border-radius:8px;padding:14px 18px;background:#fff}
.sb-cons{border-top-color:var(--sb-red-ink)}
.sb-pros h3,.sb-cons h3{margin:0 0 8px;font-size:1.05rem}
.sb-pros ul,.sb-cons ul{list-style:none;margin:0;padding:0}
.sb-pros li,.sb-cons li{position:relative;padding-left:26px;margin:6px 0}
.sb-pros li::before,.sb-cons li::before{position:absolute;left:0;font-weight:800}
.sb-pros li::before{content:"\2713";color:var(--sb-ok)}
.sb-cons li::before{content:"\2715";color:var(--sb-red-ink)}

/* ---------- Product card ---------- */
.sb-product{display:grid;grid-template-columns:1fr;gap:16px;border:1px solid var(--sb-line);border-radius:12px;padding:20px 16px 16px;margin:32px 0;background:#fff;position:relative}
@media (min-width:640px){.sb-product{grid-template-columns:200px 1fr;gap:24px;padding:22px 20px 20px}}
.sb-product__badge{position:absolute;top:-13px;left:16px;margin:0;background:var(--sb-navy);color:#fff;font-weight:700;font-size:.8125rem;padding:4px 12px;border-radius:999px}
.sb-product__media{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;width:100%;max-width:240px;margin-inline:auto}
.sb-product__media img{max-height:100%;width:auto;object-fit:contain}
.sb-product__title{margin:0 0 6px;font-size:1.3rem;display:flex;gap:10px;align-items:center}
.sb-product__rank{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--sb-red-ink);color:#fff;font-size:1rem;font-weight:800}
.sb-product__rating{margin:0 0 8px}
.sb-product__reviews,.sb-product__price{color:var(--sb-muted);font-size:.9rem}
.sb-product__summary{margin:0 0 8px}
.sb-product__features{margin:0 0 12px;padding-left:20px}
.sb-product__actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0 0}

/* ---------- Picks ---------- */
.sb-pick{border:1px solid var(--sb-line);border-radius:12px;padding:18px 20px 20px;margin:24px 0;background:var(--sb-surface)}
.sb-pick__badge{display:inline-block;margin:0 0 8px;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.8125rem;color:#fff;background:var(--sb-navy)}
.sb-pick--value .sb-pick__badge{background:var(--sb-ok)}
.sb-pick--budget .sb-pick__badge{background:var(--sb-warn)}
.sb-pick--premium .sb-pick__badge{background:#5b21b6}
.sb-pick__title{margin:0 0 6px;font-size:1.25rem}
.sb-pick__text > *:last-child{margin-bottom:0}

/* ---------- Comparison tables ---------- */
.sb-compare,.wp-block-table.is-style-sb-compare{overflow-x:auto;margin:28px 0;border:1px solid var(--sb-line);border-radius:10px;background:#fff}
.sb-compare table,.is-style-sb-compare table{width:100%;border-collapse:collapse;font-size:.95rem;margin:0}
.sb-compare th,.sb-compare td,.is-style-sb-compare th,.is-style-sb-compare td{padding:12px 14px;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid var(--sb-line)}
.sb-compare thead th,.is-style-sb-compare thead th{background:var(--sb-navy);color:#fff;font-weight:700;white-space:nowrap}
.sb-compare tbody tr:last-child > *,.is-style-sb-compare tbody tr:last-child > *{border-bottom:0}
.sb-compare__prod{display:flex;align-items:center;gap:12px}
.sb-compare__img{width:56px;height:56px;object-fit:contain;flex:none}
.sb-compare__badge{display:block;font-size:.75rem;font-weight:700;color:var(--sb-red-ink)}
.is-style-sb-compare td:first-child,.is-style-sb-compare th:first-child{position:sticky;left:0;background:#fff;font-weight:600}
.is-style-sb-compare thead th:first-child{background:var(--sb-navy)}
@media (max-width:700px){
	.sb-compare{overflow:visible;border:0;background:none}
	.sb-compare table,.sb-compare tbody,.sb-compare tr,.sb-compare td,.sb-compare th{display:block}
	.sb-compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
	.sb-compare tr{border:1px solid var(--sb-line);border-radius:10px;margin-bottom:14px;background:#fff;overflow:hidden}
	.sb-compare th,.sb-compare td{border:0;padding:8px 14px}
	.sb-compare th[scope=row]{background:var(--sb-surface)}
	.sb-compare td[data-label]::before{content:attr(data-label);display:block;font-size:.8rem;font-weight:700;color:var(--sb-muted)}
	.sb-compare__cta{padding-bottom:14px}
	.sb-compare__cta .sb-btn{width:100%}
}

/* ---------- Original data, quotes, FAQ, steps, sources ---------- */
.sb-stat{display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:center;border-top:3px solid var(--sb-navy);padding-top:12px;margin:28px 0}
.sb-stat__value{margin:0;font-size:2.5rem;font-weight:800;line-height:1;color:var(--sb-navy)}
.sb-stat__label{margin:0;font-weight:600}
.sb-stat__src{margin:2px 0 0;font-size:.85rem;color:var(--sb-muted)}
.sb-quote{margin:28px 0;padding:0 0 0 20px;border-left:4px solid var(--sb-red)}
.sb-quote blockquote{margin:0;font-size:1.2rem;line-height:1.5}
.sb-quote figcaption{margin-top:8px;font-size:.9rem;color:var(--sb-muted)}
.sb-faq{margin:36px 0}
.sb-faq__item{border-top:1px solid var(--sb-line);padding:14px 0}
.sb-faq__q{margin:0 0 6px;font-size:1.1rem}
.sb-faq__a > *:last-child{margin-bottom:0}
.sb-steps{margin:32px 0}
.sb-steps__list{list-style:none;counter-reset:sbstep;padding:0;margin:0}
.sb-step{counter-increment:sbstep;position:relative;padding:0 0 20px 54px;margin:0}
.sb-step::before{content:counter(sbstep);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--sb-navy);color:#fff;font-weight:800;display:grid;place-items:center}
.sb-step__title{margin:0 0 4px;font-size:1.1rem}
.sb-step__body > *:last-child{margin-bottom:0}
.sb-sources{border-top:2px solid var(--sb-navy);margin-top:36px;padding-top:16px;font-size:.9375rem}
.sb-sources h2{font-size:1.25rem;margin:0 0 8px}
.sb-sources ol{padding-left:22px;margin:0}
.sb-sources__host{color:var(--sb-muted)}
.sb-readnext{border-left:4px solid var(--sb-navy);background:var(--sb-surface);padding:10px 16px;margin:24px 0}
.sb-readnext__label{margin:0;font-size:.85rem;color:var(--sb-muted)}

/* ---------- Author box ---------- */
.sb-author{display:grid;grid-template-columns:96px 1fr;gap:16px 20px;border:1px solid var(--sb-line);border-top:4px solid var(--sb-navy);border-radius:12px;padding:20px;margin:36px 0;background:#fff}
@media (max-width:560px){.sb-author{grid-template-columns:1fr}}
.sb-author__photo{width:96px;height:96px;border-radius:50%;object-fit:cover;background:var(--sb-surface)}
.sb-author__label{margin:0;font-size:.85rem;color:var(--sb-muted)}
.sb-author__name{margin:0;font-size:1.3rem}
.sb-author__role{margin:2px 0 8px;font-weight:600;color:var(--sb-navy)}
.sb-author__bio{margin:0 0 8px}
.sb-author__facts{margin:0 0 10px;padding:0;list-style:none;font-size:.9rem;color:var(--sb-muted)}
.sb-author__social{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.sb-author__social a{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--sb-line);border-radius:999px;font-size:.875rem;text-decoration:none}
@media (pointer:coarse){.sb-author__social a{min-height:44px}}
.sb-author__reviewed{margin:12px 0 0;padding-top:12px;border-top:1px dashed var(--sb-line);font-size:.9375rem}

/* ---------- Related + cards ---------- */
.sb-related{margin:40px 0}
.sb-related h2{font-size:1.4rem}
.sb-related__grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));list-style:none;margin:0;padding:0}
.sb-related__card{display:block;height:100%;text-decoration:none;color:inherit;border:1px solid var(--sb-line);border-radius:10px;overflow:hidden;background:#fff}
.sb-related__card img,.sb-related__ph{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;background:var(--sb-surface)}
.sb-related__body{display:block;padding:10px 12px 14px}
.sb-related__type{display:block;font-size:.8125rem;color:var(--sb-red-ink);font-weight:700}
.sb-related__title{display:block;font-weight:700;line-height:1.3}
.sb-related__card:hover .sb-related__title{text-decoration:underline}
.sb-cards .wp-block-post-template{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;list-style:none;padding:0;margin:0}
.sb-card{border:1px solid var(--sb-line);border-radius:12px;overflow:hidden;background:#fff;height:100%;display:flex;flex-direction:column}
.sb-card > *{margin:0}
.sb-card__cat,.sb-card__title,.sb-card__excerpt{padding:0 16px}
.sb-card__cat{padding-top:12px;font-size:.8125rem;font-weight:700}
.sb-card__title{font-size:1.15rem;line-height:1.3;padding-top:4px}
.sb-card__excerpt{padding-top:6px;padding-bottom:16px;font-size:.9375rem;color:var(--sb-muted)}
.sb-card__excerpt p{margin:0}
.sb-sidebar__h{font-size:1.1rem;margin:24px 0 8px}
.sb-sidebar ul{padding-left:18px}

/* ---------- Ads: space is reserved, so nothing shifts when they load ---------- */
.sb-ad{margin:24px 0;text-align:center;contain:layout style;min-height:var(--sb-ad-h,300px)}
.sb-ad__label{display:block;font-size:.75rem;color:var(--sb-muted);margin-bottom:4px}
.sb-ad ins{display:block;margin-inline:auto}
.sb-ad--top{--sb-ad-h:300px}
.sb-ad--in,.sb-ad--after,.sb-ad--sidebar{--sb-ad-h:300px}
@media (min-width:768px){.sb-ad--top{--sb-ad-h:120px}}
@media (min-width:1000px){.sb-ad--sidebar{--sb-ad-h:620px}}

/* ---------- Sticky CTA (mobile only) ---------- */
.sb-sticky-cta{display:none}
@media (max-width:899px){
	body.sb-has-sticky{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
	.sb-sticky-cta{display:flex;gap:8px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:900;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid var(--sb-line)}
	.sb-sticky-cta .sb-btn{flex:1}
	.sb-sticky-cta__close{min-width:44px;min-height:44px;background:none;border:0;font-size:1.5rem;cursor:pointer;color:var(--sb-muted)}
	.sb-sticky-cta[hidden]{display:none}
}

@media print{.sb-ad,.sb-sticky-cta,.sb-disclosure-bar,.sb-sidebar{display:none!important}}
