/* ==========================================================================
   Revutrix design layer (loads after main.css)
   Ink on white, mist panels, teal for actions, marker yellow only for scores and stars.
   Flat: 1px borders, no shadows, 6px controls / 10px panels. Sans for interface, serif for judgement.
   ========================================================================== */

/* ---------- Base ---------- */
body { color: var(--bs-ink-2); font-feature-settings: "ss01" on; }
h1, h2, h3, h4 { letter-spacing: -.02em; font-weight: 700; }
a { color: var(--bs-link); }
::selection { background: var(--rx-marker); color: var(--bs-ink); }
:focus-visible { outline: 2px solid var(--rx-teal); outline-offset: 2px; }
.bs-prose, .bs-prose p, .bs-prose li { font-family: var(--rx-font-serif); font-size: 1.125rem; line-height: 1.7; }
.bs-prose h2, .bs-prose h3 { font-family: var(--bs-font-display); }
.bs-prose a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.bs-prose strong { color: var(--bs-ink); }

/* No decorative shadows or lifts anywhere. */
.bs-card, .bs-bcard, .bs-pcard, .bs-cat, .bs-feature, .bs-summary, .bs-cat a, .bs-btn, .bs-search__form, .bs-menu .sub-menu { box-shadow: none !important; }
.bs-cat:hover, .bs-card:hover, .bs-bcard:hover, .bs-pcard:hover { transform: none !important; box-shadow: none !important; }
.bs-btn--primary { box-shadow: none; }

/* ---------- Buttons ---------- */
.bs-btn { border-radius: var(--bs-r-sm); font-family: var(--bs-font-display); font-weight: 650; letter-spacing: 0; transition: background-color .15s, border-color .15s, color .15s; }
.bs-btn:active { transform: none; }
.bs-btn--primary, .bs-btn--small { background: var(--rx-teal); color: #fff; }
.bs-btn--primary:hover, .bs-btn--small:hover { background: var(--rx-teal-dark); color: #fff; }
.bs-btn--dark { background: var(--bs-ink); color: #fff; }
.bs-btn--dark:hover { background: #0C1426; color: #fff; }
.bs-btn--ghost { background: #fff; color: var(--bs-ink); border: 1px solid var(--bs-line-2); }
.bs-btn--ghost:hover { border-color: var(--bs-ink); background: #fff; }
.bs-btn--small.bs-btn--ghost { background: transparent; color: inherit; border-color: currentColor; }
.bs-btn--buy { gap: 6px; }
.rx-at { font-weight: 500; opacity: .85; }
.rx-at:empty { display: none; }
.bs-paid { color: var(--bs-ink-3); }
.rx-linkbtn { background: none; border: 0; padding: 0; color: var(--rx-teal); font: inherit; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ---------- Header ---------- */
.bs-header { background: #fff; border-bottom: 1px solid var(--bs-line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.bs-logo { gap: 9px; font-size: 1.45rem; font-weight: 800; letter-spacing: -.035em; align-items: center; }
.bs-logo .rx-mark { flex: none; display: block; }
.bs-logo__a { color: var(--bs-ink); }
.bs-logo__b { color: var(--rx-teal); }
.bs-logo--light .bs-logo__a { color: #fff; }
.bs-logo--light .bs-logo__b { color: #7FD3CC; }
.bs-menu a { border-radius: var(--bs-r-sm); font-weight: 600; color: var(--bs-ink); }
.bs-menu a:hover, .bs-menu .current-menu-item > a, .bs-menu .current-menu-ancestor > a { background: var(--bs-paper); color: var(--bs-ink); }
.bs-menu .sub-menu { border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.bs-iconbtn { border-radius: var(--bs-r-sm); }
.bs-header__cta { white-space: nowrap; }

/* Region picker */
.rx-region { position: relative; }
.rx-region__btn { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 10px; border: 1px solid var(--bs-line); border-radius: var(--bs-r-sm); background: #fff; color: var(--bs-ink); font: 500 .88rem var(--bs-font-display); cursor: pointer; }
.rx-region__btn:hover, .rx-region__btn[aria-expanded="true"] { border-color: var(--bs-ink); }
.rx-region__btn strong { font-weight: 700; font-variant-numeric: tabular-nums; }
.rx-region__label { color: var(--bs-ink-3); }
.rx-region__pop { position: absolute; right: 0; top: calc(100% + 8px); z-index: 80; width: 280px; padding: 16px; background: #fff; border: 1px solid var(--bs-ink); border-radius: var(--bs-r); }
.rx-region__pop.is-modal { position: fixed; top: 50%; left: 50%; right: auto; transform: translate(-50%, -50%); width: min(340px, calc(100vw - 32px)); z-index: 1001; }
.rx-backdrop { position: fixed; inset: 0; z-index: 1000; background: rgba(22, 33, 58, .45); }
.rx-region__title { margin: 0; font: 700 1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-region__help { margin: 2px 0 12px; font-size: .86rem; color: var(--bs-ink-3); line-height: 1.4; }
.rx-region__pop ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rx-region__pop li button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 9px 10px; border: 1px solid transparent; border-radius: var(--bs-r-sm); background: none; color: var(--bs-ink); font: 500 .94rem var(--bs-font-display); text-align: left; cursor: pointer; }
.rx-region__pop li button:hover { background: var(--bs-paper); }
.rx-region__pop li button[aria-pressed="true"] { border-color: var(--rx-teal); background: var(--rx-teal-bg); }
.rx-region__code { color: var(--bs-ink-3); font-size: .8rem; font-variant-numeric: tabular-nums; }

/* ---------- Section heads ---------- */
.bs-shead__title { font-size: clamp(1.7rem, 1.25rem + 1.6vw, 2.4rem); letter-spacing: -.03em; }
.bs-shead__text { font-family: var(--rx-font-serif); font-size: 1.08rem; color: var(--bs-ink-3); }
.bs-link { color: var(--rx-teal); font-weight: 650; }
.bs-eyebrow { color: var(--bs-ink-3); text-transform: none; letter-spacing: 0; font-weight: 500; }

/* ---------- Score ruler (signature) ---------- */
.rx-ruler { --rx-w: 168px; display: inline-grid; grid-template-columns: auto var(--rx-w); grid-template-rows: auto auto; column-gap: 12px; align-items: center; color: var(--bs-ink); }
.rx-ruler__num { grid-row: 1 / span 2; font: 800 1.9rem/1 var(--bs-font-display); letter-spacing: -.03em; }
.rx-ruler__scale { position: relative; display: block; height: 14px; background:
	linear-gradient(var(--bs-ink), var(--bs-ink)) 0 100% / 100% 1px no-repeat,
	repeating-linear-gradient(90deg, var(--bs-ink-3) 0 1px, transparent 1px 10%) 0 100% / calc(100% + 1px) 8px no-repeat,
	linear-gradient(90deg, var(--bs-ink) 0 1px, transparent 1px) 50% 100% / 1px 11px no-repeat; }
.rx-ruler__fill { position: absolute; left: 0; bottom: 0; height: 5px; width: calc(var(--rx-score) * 10%); background: var(--rx-marker); }
.rx-ruler__mark { position: absolute; bottom: -3px; left: calc(var(--rx-score) * 10%); width: 3px; height: 19px; margin-left: -1px; background: var(--bs-ink); border-radius: 1px; }
.rx-ruler__label { grid-column: 2; font: 600 .82rem/1.2 var(--bs-font-display); color: var(--bs-ink-3); margin-top: 6px; }
.rx-ruler--sm { --rx-w: 96px; column-gap: 8px; }
.rx-ruler--sm .rx-ruler__num { font-size: 1.2rem; }
.rx-ruler--sm .rx-ruler__scale { height: 10px; background-size: 100% 1px, calc(100% + 1px) 5px, 1px 8px; }
.rx-ruler--sm .rx-ruler__fill { height: 4px; }
.rx-ruler--sm .rx-ruler__mark { height: 14px; bottom: -2px; width: 2px; }
.rx-ruler--lg { --rx-w: 220px; }
.rx-ruler--lg .rx-ruler__num { font-size: 2.75rem; }
.rx-ruler--lg .rx-ruler__scale { height: 18px; }
.rx-ruler--lg .rx-ruler__mark { height: 24px; }

/* ---------- Verdict pill ---------- */
.bs-verdict { border-radius: var(--bs-r-sm); font-family: var(--bs-font-display); font-weight: 700; border: 1px solid color-mix(in srgb, var(--v, var(--bs-consider)) 35%, transparent); }
.bs-verdict--consider { --v: var(--bs-consider); --vbg: var(--bs-consider-bg); }

/* ---------- Stars ---------- */
.rx-stars { display: inline-flex; gap: 2px; vertical-align: middle; }
.rx-star { width: var(--rx-star, 16px); height: var(--rx-star, 16px); background: linear-gradient(90deg, #E8A900 var(--rx-fill), #D3D9E2 var(--rx-fill)); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%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 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E") center / contain no-repeat; }
.rx-rating-inline { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; color: var(--bs-ink-3); text-decoration: none; }
.rx-rating-inline strong { color: var(--bs-ink); font-family: var(--bs-font-display); }
.rx-rating-inline:hover span { text-decoration: underline; }

/* Method line */
.rx-method { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; font-size: .88rem; color: var(--bs-ink-2); }
.rx-method svg { color: var(--rx-teal); flex: none; }
.rx-method a { color: var(--bs-ink-3); text-decoration: underline; text-underline-offset: 3px; }
.rx-method--tested span, .rx-method--long_term span { font-weight: 650; color: var(--bs-ink); }

/* Avatars */
.rx-avatar { flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: hsl(var(--rx-hue) 45% 88%); color: hsl(var(--rx-hue) 45% 26%); font: 700 .9rem var(--bs-font-display); }

/* ---------- Hero ---------- */
.rx-hero { padding: clamp(32px, 5vw, 64px) 0 clamp(28px, 4vw, 48px); border-bottom: 1px solid var(--bs-line); background: #fff; }
.rx-hero__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.rx-hero__title { font-size: clamp(2.4rem, 1.2rem + 4.4vw, 4.6rem); line-height: 1; letter-spacing: -.045em; margin: 0 0 18px; color: var(--bs-ink); max-width: 12ch; }
.rx-hero__text { font-family: var(--rx-font-serif); font-size: clamp(1.08rem, 1rem + .35vw, 1.25rem); line-height: 1.55; color: var(--bs-ink-2); max-width: 52ch; margin: 0 0 24px; }
.rx-search { display: flex; align-items: center; gap: 8px; max-width: 600px; padding: 6px 6px 6px 14px; background: #fff; border: 1px solid var(--bs-ink); border-radius: var(--bs-r); }
.rx-search svg { color: var(--bs-ink-3); flex: none; }
.rx-search input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 500 1.02rem var(--bs-font-display); color: var(--bs-ink); padding: 10px 4px; }
.rx-search:focus-within { outline: 2px solid var(--rx-teal); outline-offset: 2px; }
.rx-search .bs-btn { min-height: 46px; }
.rx-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 14px 0 0; font-size: .9rem; }
.rx-chips span { color: var(--bs-ink-3); margin-right: 4px; }
.rx-chips a { padding: 5px 11px; border: 1px solid var(--bs-line); border-radius: var(--bs-r-sm); color: var(--bs-ink); text-decoration: none; font-weight: 500; }
.rx-chips a:hover { border-color: var(--bs-ink); }
.rx-hero__facts { display: grid; grid-template-columns: repeat(4, auto); justify-content: start; gap: 0; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--bs-line); max-width: 640px; }
.rx-hero__facts div { padding: 14px 22px 0 0; }
.rx-hero__facts div + div { padding-left: 22px; border-left: 1px solid var(--bs-line); }
.rx-hero__facts dt { font-size: .82rem; color: var(--bs-ink-3); order: 2; }
.rx-hero__facts dd { margin: 0; font: 800 1.6rem/1.1 var(--bs-font-display); letter-spacing: -.03em; color: var(--bs-ink); font-variant-numeric: tabular-nums; }
.rx-hero__facts div { display: flex; flex-direction: column-reverse; }

.rx-lead { border: 1px solid var(--bs-ink); border-radius: var(--bs-r); background: #fff; overflow: hidden; }
.rx-lead__kicker { margin: 0; padding: 10px 18px; border-bottom: 1px solid var(--bs-line); font: 600 .86rem var(--bs-font-display); color: var(--bs-ink-3); background: var(--bs-paper); }
.rx-lead__media { display: block; aspect-ratio: 16 / 10; background: var(--bs-paper); border-bottom: 1px solid var(--bs-line); }
.rx-lead__media > * { width: 100%; height: 100%; }
.rx-lead__media img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.rx-lead__body { padding: 18px 18px 20px; display: grid; gap: 12px; }
.rx-lead__name { margin: 0; font-size: 1.4rem; letter-spacing: -.025em; }
.rx-lead__name a { color: var(--bs-ink); text-decoration: none; }
.rx-lead__name a:hover { text-decoration: underline; }
.rx-lead__why { margin: 0; font-family: var(--rx-font-serif); font-size: 1.04rem; line-height: 1.5; color: var(--bs-ink-2); }
.rx-lead__links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 4px 0 0; }

.rx-toplists { margin-top: clamp(28px, 4vw, 40px); }
.rx-toplists__title { margin: 0 0 10px; font: 700 1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-toplists ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--bs-line); }
.rx-toplists li { border-bottom: 1px solid var(--bs-line); }
.rx-toplists li:not(:nth-child(3n + 1)) { border-left: 1px solid var(--bs-line); }
.rx-toplists a { display: grid; gap: 2px; padding: 14px 16px; text-decoration: none; height: 100%; }
.rx-toplists a:hover { background: var(--bs-paper); }
.rx-toplists__topic { font: 650 1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-toplists__pick { font-size: .86rem; color: var(--bs-ink-3); }

/* ---------- Trust strip ---------- */
.bs-trust { background: var(--bs-paper); border-bottom: 1px solid var(--bs-line); }
.bs-trust li { display: grid; gap: 2px; }
.bs-trust strong { font-family: var(--bs-font-display); }

/* ---------- Cards ---------- */
.bs-pcard, .bs-card, .bs-bcard, .bs-feature, .bs-summary, .bs-cat { border: 1px solid var(--bs-line); border-radius: var(--bs-r); background: #fff; }
.bs-pcard:hover, .bs-card:hover, .bs-bcard:hover, .bs-cat:hover { border-color: var(--bs-ink); }
.bs-pcard__title a, .bs-feature__title a { color: var(--bs-ink); text-decoration: none; }
.bs-pcard__title a:hover, .bs-feature__title a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rx-card-scores { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 6px 0 10px; }
.bs-pcard__why, .bs-feature__note { font-family: var(--rx-font-serif); font-size: 1.02rem; line-height: 1.5; }
.bs-pcard__img, .bs-feature__img { background: var(--bs-paper); }
.bs-feature__rail .rx-ruler { margin: 4px 0 2px; }
.bs-feature__rail .rx-rating-inline { margin-bottom: 4px; }
.bs-feature__more { display: flex; flex-wrap: wrap; gap: 8px 20px; }

/* Buy-if / skip-if: flat */
.bs-bs { border-radius: var(--bs-r); }
.bs-bs__row--buy { background: var(--bs-buy-bg); }
.bs-bs__row--skip { background: var(--bs-skip-bg); }
.bs-bs__row dd { font-family: var(--rx-font-serif); font-size: 1.02rem; }

/* ---------- Method section ---------- */
.bs-method { background: var(--bs-ink); }
.bs-steps li::before { border-radius: var(--bs-r-sm); }

/* ---------- Reader voices (homepage) ---------- */
.rx-voices { background: var(--bs-paper); border-block: 1px solid var(--bs-line); }
.bs-section.rx-voices { padding-top: clamp(40px, 6vw, 72px); }
.rx-voices__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.rx-voice { display: grid; align-content: start; gap: 8px; padding: 18px; background: #fff; border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.rx-voice__product { margin: 0; font: 600 .86rem var(--bs-font-display); }
.rx-voice__product a { color: var(--bs-ink-3); }
.rx-voice__title { margin: 0; font: 700 1.08rem/1.3 var(--bs-font-display); color: var(--bs-ink); }
.rx-voice__text { margin: 0; font-family: var(--rx-font-serif); line-height: 1.55; color: var(--bs-ink-2); }
.rx-voice__who { display: flex; align-items: center; gap: 10px; margin: 6px 0 0; font-size: .9rem; color: var(--bs-ink); font-weight: 600; }
.rx-voice__who .rx-avatar { width: 32px; height: 32px; font-size: .78rem; }
.rx-voices__empty { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; padding: 22px; background: #fff; border: 1px dashed var(--bs-line-2); border-radius: var(--bs-r); }
.rx-voices__empty p { margin: 0; font-family: var(--rx-font-serif); font-size: 1.08rem; max-width: 60ch; }

/* ---------- Team ---------- */
.rx-team__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.rx-person { display: flex; gap: 14px; padding: 18px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.rx-person .rx-avatar { width: 52px; height: 52px; font-size: 1.05rem; }
.rx-person p { margin: 0; }
.rx-person__name { font: 700 1.05rem var(--bs-font-display); }
.rx-person__name a { color: var(--bs-ink); text-decoration: none; }
.rx-person__role { font-size: .88rem; color: var(--rx-teal); font-weight: 600; }
.rx-person__bio { margin-top: 6px !important; font-family: var(--rx-font-serif); font-size: .98rem; line-height: 1.5; color: var(--bs-ink-2); }

/* Byline */
.rx-byline { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.rx-byline p { margin: 0; display: flex; flex-wrap: wrap; gap: 2px 12px; font-size: .9rem; color: var(--bs-ink-3); }
.rx-byline a { font-weight: 700; color: var(--bs-ink); }

/* ---------- Product page ---------- */
.rx-prodtop { background: #fff; border-bottom: 1px solid var(--bs-line); padding: 14px 0 clamp(28px, 4vw, 44px); }
.rx-prod { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); margin-top: 18px; align-items: start; }
.rx-prod__media { position: sticky; top: 16px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); background: var(--bs-paper); overflow: hidden; }
.rx-prod__media .rx-prod__img { aspect-ratio: 1; width: 100%; }
.rx-prod__media img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.rx-prod__media .vf3d-wrap { aspect-ratio: auto; }
.rx-prod__media .vf3d-hint { margin: 0; padding: 8px 12px; border-top: 1px solid var(--bs-line); font-size: .8rem; color: var(--bs-ink-3); background: #fff; }
.rx-prod__main { display: grid; gap: 16px; }
.rx-prod__main .bs-eyebrow { margin: 0; }
.rx-prod__name { margin: 0; font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3rem); line-height: 1.05; letter-spacing: -.04em; color: var(--bs-ink); }
.rx-prod__sum { margin: 0; font-family: var(--rx-font-serif); font-size: 1.15rem; line-height: 1.55; color: var(--bs-ink-2); max-width: 60ch; }
.rx-prod__scores { display: grid; grid-template-columns: 1.3fr 1fr; border: 1px solid var(--bs-ink); border-radius: var(--bs-r); }
.rx-prod__score { padding: 16px 18px; display: grid; gap: 10px; align-content: start; justify-items: start; }
.rx-prod__score + .rx-prod__score { border-left: 1px solid var(--bs-line); }
.rx-prod__label { margin: 0; font: 650 .86rem var(--bs-font-display); color: var(--bs-ink-3); }
.rx-prod__avg { margin: 0; font: 800 2.75rem/1 var(--bs-font-display); letter-spacing: -.04em; color: var(--bs-ink); }
.rx-prod__avg span { font-size: 1rem; font-weight: 600; color: var(--bs-ink-3); letter-spacing: 0; }
.rx-prod__count { font-size: .9rem; font-weight: 600; }
.rx-prod__none { margin: 0; font-family: var(--rx-font-serif); color: var(--bs-ink-2); line-height: 1.45; }
.rx-prod__none a { display: block; margin-top: 4px; font-family: var(--bs-font-display); font-weight: 650; }
.rx-prod__buy { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; }
.rx-prod__buy .bs-btn { min-height: 50px; padding-inline: 22px; font-size: 1.02rem; }
.rx-prod__facts { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--bs-line); }
.rx-prod__facts div { padding: 12px 12px 12px 0; border-bottom: 1px solid var(--bs-line); }
.rx-prod__facts dt { font-size: .82rem; color: var(--bs-ink-3); }
.rx-prod__facts dd { margin: 2px 0 0; font-weight: 600; color: var(--bs-ink); line-height: 1.4; }
.rx-prod .bs-bs { margin: 0; }

.rx-subnav { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--bs-line); }
.admin-bar .rx-subnav { top: 32px; }
.rx-subnav ul { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.rx-subnav ul::-webkit-scrollbar { display: none; }
.rx-subnav a { display: block; padding: 14px 12px; white-space: nowrap; font: 600 .92rem var(--bs-font-display); color: var(--bs-ink-2); text-decoration: none; border-bottom: 2px solid transparent; }
.rx-subnav a:hover { color: var(--bs-ink); border-bottom-color: var(--bs-ink); }

.rx-prodbody { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: clamp(28px, 4vw, 56px); padding-block: clamp(28px, 4vw, 48px); align-items: start; }
.rx-sticky { position: sticky; top: 64px; }
.rx-block { margin-bottom: clamp(32px, 4vw, 48px); scroll-margin-top: 70px; }
.rx-block > h2, .rx-reviews__head h2 { font-size: clamp(1.45rem, 1.15rem + 1vw, 1.9rem); letter-spacing: -.03em; margin-bottom: 16px; }
.rx-alts { background: var(--bs-paper); border-top: 1px solid var(--bs-line); }
#where-to-buy, #reviews, #specs, #pros-cons, #alternatives { scroll-margin-top: 70px; }

/* Where to buy */
.rx-wtb { border: 1px solid var(--bs-ink); border-radius: var(--bs-r); background: #fff; }
.rx-wtb__head { padding: 16px 18px 12px; border-bottom: 1px solid var(--bs-line); }
.rx-wtb__title { margin: 0; font-size: 1.2rem; }
.rx-wtb__region { margin: 4px 0 0; font-size: .88rem; color: var(--bs-ink-3); }
.rx-region-btn { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--rx-teal); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.rx-wtb__list { list-style: none; margin: 0; padding: 0; }
.rx-wtb__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "store btn" "price btn"; align-items: center; gap: 0 12px; padding: 12px 18px; border-bottom: 1px solid var(--bs-line); }
.rx-wtb__row[hidden] { display: none; }
.rx-wtb__store { grid-area: store; display: grid; font: 700 1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-wtb__store small { font: 500 .8rem var(--bs-font-body); color: var(--bs-ink-3); }
.rx-wtb__price { grid-area: price; font-size: .86rem; color: var(--bs-ink-2); }
.rx-wtb__price:empty { display: none; }
.rx-wtb__row .bs-btn { grid-area: btn; min-height: 40px; padding: 8px 14px; font-size: .9rem; }
.rx-wtb__other { margin: 0; padding: 12px 18px 0; font-size: .9rem; }
.rx-wtb__other[hidden] { display: none; }
.rx-wtb__note { margin: 0; padding: 12px 18px 16px; font-size: .8rem; line-height: 1.45; color: var(--bs-ink-3); }

/* ---------- Reader reviews ---------- */
.rx-reviews { margin-top: clamp(32px, 4vw, 48px); padding-top: clamp(28px, 4vw, 40px); border-top: 1px solid var(--bs-ink); }
.bs-article .rx-reviews, .bs-article .rx-wtb { margin-top: 40px; }
.rx-reviews__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.rx-reviews__head h2 { margin: 0; }
.rx-notice { padding: 12px 16px; border: 1px solid var(--bs-buy); border-radius: var(--bs-r-sm); background: var(--bs-buy-bg); color: var(--bs-ink); }

.rx-sum { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 24px; padding: 20px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); background: var(--bs-paper); }
.rx-sum__score { display: grid; gap: 6px; align-content: start; justify-items: start; }
.rx-sum__score > strong { font: 800 3.25rem/1 var(--bs-font-display); letter-spacing: -.045em; color: var(--bs-ink); }
.rx-sum__score p { margin: 0; font-size: .9rem; color: var(--bs-ink-3); }
.rx-sum__rec { color: var(--bs-buy) !important; font-weight: 650; }
.rx-sum__bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; align-content: center; }
.rx-sum__bar { width: 100%; display: grid; grid-template-columns: 34px minmax(0, 1fr) 40px; align-items: center; gap: 10px; padding: 5px 6px; border: 1px solid transparent; border-radius: var(--bs-r-sm); background: none; font: 600 .88rem var(--bs-font-display); color: var(--bs-ink-2); cursor: pointer; text-align: left; }
.rx-sum__bar:hover { border-color: var(--bs-line-2); background: #fff; }
.rx-sum__bar[aria-pressed="true"] { border-color: var(--bs-ink); background: #fff; }
.rx-sum__bar > span:last-child { text-align: right; font-variant-numeric: tabular-nums; color: var(--bs-ink-3); }
.rx-sum__track { height: 8px; background: #fff; border: 1px solid var(--bs-line); border-radius: 2px; overflow: hidden; }
.rx-sum__track span { display: block; height: 100%; background: #E8A900; }
.rx-sum:has(.rx-sum__empty) { grid-template-columns: 1fr; }
.rx-sum__empty p { margin: 0; font-family: var(--rx-font-serif); }
.rx-sum__empty-title { font: 700 1.1rem var(--bs-font-display) !important; color: var(--bs-ink); margin-bottom: 4px !important; }

.rx-reviews__tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 22px 0 6px; font-size: .92rem; color: var(--bs-ink-3); }
.rx-reviews__tools select { margin-left: 6px; min-height: 38px; padding: 6px 30px 6px 10px; border: 1px solid var(--bs-line-2); border-radius: var(--bs-r-sm); background: #fff; font: 600 .92rem var(--bs-font-display); color: var(--bs-ink); }
.rx-reviews__list { list-style: none; margin: 0; padding: 0; }
.rx-review { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 20px; padding: 22px 0; border-bottom: 1px solid var(--bs-line); scroll-margin-top: 80px; }
.rx-review[hidden] { display: none; }
.rx-review:target { background: linear-gradient(90deg, var(--rx-teal-bg), transparent 60%); }
.rx-review__who { display: flex; gap: 10px; align-items: flex-start; }
.rx-review__who p { margin: 0; }
.rx-review__name { font: 700 .95rem var(--bs-font-display); color: var(--bs-ink); }
.rx-review__meta { font-size: .82rem; color: var(--bs-ink-3); line-height: 1.4; }
.rx-review__top { display: flex; align-items: center; gap: 12px; font-size: .85rem; color: var(--bs-ink-3); }
.rx-review__title { margin: 8px 0 6px; font-size: 1.12rem; letter-spacing: -.015em; }
.rx-review__text p { margin: 0 0 .7em; font-family: var(--rx-font-serif); font-size: 1.05rem; line-height: 1.6; color: var(--bs-ink-2); }
.rx-review__pc { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 10px 0; }
.rx-review__pc div { padding: 10px 12px; border-radius: var(--bs-r-sm); background: var(--bs-paper); }
.rx-review__pc dt { font: 700 .82rem var(--bs-font-display); }
.rx-review__pc div:first-child dt { color: var(--bs-buy); }
.rx-review__pc div:last-child dt { color: var(--bs-skip); }
.rx-review__pc dd { margin: 2px 0 0; font-size: .95rem; line-height: 1.45; }
.rx-review__rec { margin: 8px 0 0; font-size: .88rem; font-weight: 650; }
.rx-review__rec--yes { color: var(--bs-buy); }
.rx-review__rec--no { color: var(--bs-skip); }
.rx-review__reply { margin: 12px 0 0; padding: 12px 14px; border-left: 3px solid var(--rx-teal); background: var(--rx-teal-bg); border-radius: 0 var(--bs-r-sm) var(--bs-r-sm) 0; }
.rx-review__reply-by { margin: 0 0 4px; font: 700 .85rem var(--bs-font-display); color: var(--rx-teal-dark); }
.rx-review__reply p:last-child { margin-bottom: 0; }
.rx-review__helpful { margin: 10px 0 0; }
.rx-helpful { display: inline-flex; gap: 4px; align-items: center; min-height: 34px; padding: 4px 12px; border: 1px solid var(--bs-line-2); border-radius: var(--bs-r-sm); background: #fff; font: 600 .85rem var(--bs-font-display); color: var(--bs-ink-2); cursor: pointer; }
.rx-helpful:hover:not(:disabled) { border-color: var(--bs-ink); }
.rx-helpful.is-voted { border-color: var(--rx-teal); color: var(--rx-teal); cursor: default; }
.rx-reviews__more { margin: 18px 0 0; }
.rx-reviews__more[hidden], .rx-reviews__nomatch[hidden] { display: none; }
.rx-reviews__nomatch { padding: 18px 0; font-family: var(--rx-font-serif); color: var(--bs-ink-3); }
.rx-reviews__policy { margin: 18px 0 0; font-size: .84rem; color: var(--bs-ink-3); line-height: 1.5; }

/* Review form */
.rx-form { margin-top: 32px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--bs-ink); border-radius: var(--bs-r); background: #fff; scroll-margin-top: 80px; }
.rx-form__title { margin: 0 0 18px; font-size: 1.35rem; letter-spacing: -.025em; }
.rx-form fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.rx-form legend, .rx-field > label { display: block; margin-bottom: 6px; font: 650 .92rem var(--bs-font-display); color: var(--bs-ink); }
.rx-req { color: var(--bs-skip); }
.rx-field { margin: 0 0 16px; position: relative; }
.rx-field input:not([type="radio"]):not([type="checkbox"]), .rx-field textarea, .rx-field select, .rx-pick input { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--bs-line-2); border-radius: var(--bs-r-sm); background: #fff; font: 400 1rem var(--bs-font-body); color: var(--bs-ink); }
.rx-field textarea { min-height: 0; line-height: 1.5; resize: vertical; }
.rx-field input:focus, .rx-field textarea:focus, .rx-field select:focus, .rx-pick input:focus { outline: 2px solid var(--rx-teal); outline-offset: 0; border-color: var(--rx-teal); }
.rx-form.was-validated :invalid:not(fieldset):not([type="radio"]) { border-color: var(--bs-skip); background: var(--bs-skip-bg); }
.rx-form__two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
.rx-count { display: block; margin-top: 4px; font-size: .8rem; color: var(--bs-ink-3); }
.rx-count.is-ok { color: var(--bs-buy); }
.rx-form__stars { margin-bottom: 18px !important; }
.rx-rate { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.rx-rate input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.rx-rate label { width: 38px; height: 38px; cursor: pointer; background: #D3D9E2; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%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 2.5l2.9 6.1 6.6.8-4.9 4.6 1.3 6.6L12 17.3l-5.9 3.3 1.3-6.6-4.9-4.6 6.6-.8z'/%3E%3C/svg%3E") center / contain no-repeat; transition: background-color .1s; }
.rx-rate label:hover, .rx-rate label:hover ~ label, .rx-rate input:checked ~ label { background: #E8A900; }
.rx-rate input:focus-visible + label { outline: 2px solid var(--rx-teal); outline-offset: 2px; }
.rx-rate__hint { display: inline-block; margin: 0 0 0 10px; vertical-align: top; line-height: 38px; font: 650 .95rem var(--bs-font-display); color: var(--bs-ink); }
.rx-form.needs-rating .rx-rate label { background: #F0C4B8; }
.rx-yesno { display: flex; flex-wrap: wrap; gap: 6px 18px; align-items: center; }
.rx-yesno legend { width: 100%; }
.rx-yesno label, .rx-check label { display: inline-flex; gap: 8px; align-items: center; font-size: .95rem; cursor: pointer; }
.rx-check { margin: 4px 0 16px; }
.rx-check label { align-items: flex-start; line-height: 1.45; }
.rx-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--rx-teal); flex: none; }
.rx-yesno input { accent-color: var(--rx-teal); width: 18px; height: 18px; }
.rx-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rx-form__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 6px 0 0; font-size: .86rem; color: var(--bs-ink-3); }
.rx-form__foot .bs-btn { min-height: 48px; padding-inline: 24px; }
.rx-closed { color: var(--bs-ink-3); }

/* Write-a-review page */
.rx-pick { max-width: 680px; margin: 0 0 32px; padding: 22px; border: 1px solid var(--bs-ink); border-radius: var(--bs-r); }
.rx-pick label { display: block; margin-bottom: 8px; font: 700 1.1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-pick__row { display: flex; gap: 8px; }
.rx-pick__row .bs-btn { flex: none; }
.rx-pick__msg { margin: 8px 0 0; color: var(--bs-skip); font-size: .9rem; }
.rx-pick__msg:empty { display: none; }

/* Score box widget */
.rx-scorebox { display: grid; gap: 10px; justify-items: start; }

/* ---------- Footer ---------- */
.bs-footer { background: var(--bs-ink); color: #C3CBDA; }
.bs-footer a { color: #fff; }
.bs-footer__slogan { font: 700 1.1rem var(--bs-font-display); color: #fff !important; margin-bottom: 6px; }
.bs-footer__ctas { display: flex; flex-wrap: wrap; gap: 8px; }
.bs-footer__ctas .bs-btn--ghost { color: #fff; border-color: rgba(255, 255, 255, .4); }
.bs-footer__ctas .bs-btn--ghost:hover { border-color: #fff; }
.bs-footer__title { text-transform: none; letter-spacing: 0; font-size: .95rem; color: #fff; }
.bs-footer__legal { border-top-color: rgba(255, 255, 255, .14); }
.bs-footer__amazon a { text-decoration: underline; }

/* Sticky buy bar */
.bs-stickybuy { background: #fff; border-top: 1px solid var(--bs-ink); box-shadow: none; }

/* ---------- Responsive ---------- */
@media (max-width: 1460px) {
	.rx-region__label { display: none; }
}
@media (max-width: 1080px) {
	.rx-prodbody { grid-template-columns: minmax(0, 1fr) 320px; }
}
@media (max-width: 960px) {
	.rx-hero__grid, .rx-prod { grid-template-columns: minmax(0, 1fr); }
	.rx-hero__title { max-width: 16ch; }
	.rx-prod__media { position: static; max-width: 520px; }
	.rx-prodbody { grid-template-columns: minmax(0, 1fr); }
	.rx-prodbody__side { order: -1; }
	.rx-sticky { position: static; }
	.rx-voices__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-toplists ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-toplists li:not(:nth-child(3n + 1)) { border-left: 0; }
	.rx-toplists li:nth-child(2n) { border-left: 1px solid var(--bs-line); }
}
@media (max-width: 720px) {
	.bs-header__cta { display: none; }
	.rx-region__btn { padding: 6px 8px; }
	.rx-region__btn svg { display: none; }
	.rx-hero__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rx-hero__facts div, .rx-hero__facts div + div { padding: 12px 0 0; border-left: 0; }
	.rx-hero__facts dd { font-size: 1.3rem; }
	.rx-search .bs-btn { padding-inline: 14px; }
	.rx-voices__list, .rx-toplists ul { grid-template-columns: minmax(0, 1fr); }
	.rx-toplists li:nth-child(2n) { border-left: 0; }
	.rx-prod__scores { grid-template-columns: minmax(0, 1fr); }
	.rx-prod__score + .rx-prod__score { border-left: 0; border-top: 1px solid var(--bs-line); }
	.rx-prod__facts { grid-template-columns: minmax(0, 1fr); }
	.rx-sum { grid-template-columns: minmax(0, 1fr); gap: 16px; }
	.rx-review { grid-template-columns: minmax(0, 1fr); gap: 10px; }
	.rx-review__pc, .rx-form__two { grid-template-columns: minmax(0, 1fr); }
	.rx-pick__row { flex-direction: column; }
	.rx-ruler--lg { --rx-w: 170px; }
	.rx-ruler--lg .rx-ruler__num { font-size: 2.3rem; }
}
@media (prefers-reduced-motion: reduce) {
	.rx-rate label { transition: none; }
}

.bs-logo__word { display: inline-flex; }

/* Lead story card keeps its dark panel; labels in sentence case (no shouting). */
.bs-card--lead, .bs-card--lead:hover { background: var(--bs-ink); border-color: var(--bs-ink); }
.bs-card--lead .bs-card__type span:first-child, .bs-card--lead .bs-card__pick > span:first-child { color: #7FD3CC; }
.bs-card__type, .bs-card__pick > span:first-child, .bs-card__picks li span, .bs-feature__rank span, .bs-ctable__award, .bs-stickybuy__label, .bs-toc__title, .bs-phead__kicker, .bs-blog__label, .bs-bcard__topic, .bs-sbox__title, .bs-blog__side .bs-widget__title, .bs-takeaways__label, .bs-postnav span, .bs-tldr__label { text-transform: none !important; letter-spacing: 0 !important; }
.bs-card__type span:first-child, .bs-card__pick > span:first-child, .bs-ctable__award, .bs-phead__kicker, .bs-takeaways__label { color: var(--rx-teal); }
.bs-trust li { border-left-color: var(--rx-teal); }
.bs-menu > li:last-child > .sub-menu, .bs-menu > li:nth-last-child(2) > .sub-menu { left: auto; right: 0; }
.bs-buy, .bs-buy--block { min-width: 0; max-width: 100%; }
.bs-btn--buy { white-space: normal; text-align: center; line-height: 1.25; flex-wrap: wrap; justify-content: center; }
.rx-sortbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--bs-line); }
.rx-sortbar p { margin: 0; color: var(--bs-ink-3); font-size: .95rem; }
.rx-sortbar label { font-size: .92rem; color: var(--bs-ink-3); }
.rx-sortbar select { margin-left: 6px; min-height: 40px; padding: 6px 30px 6px 10px; border: 1px solid var(--bs-line-2); border-radius: var(--bs-r-sm); background: #fff; font: 600 .92rem var(--bs-font-display); color: var(--bs-ink); }
.rx-method { display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: 8px; }
.rx-method svg { margin-top: 3px; }
.rx-method a { grid-column: 2; justify-self: start; }
@media (min-width: 721px) { .rx-method { display: flex; } }
@media (max-width: 720px) { .bs-cat a.bs-cat__media { aspect-ratio: 16 / 7; } }
/* Review stream and team placed inside page content (Reader Reviews hub, Our Team page). */
.bs-prose .rx-voices, .bs-page .rx-voices, .entry-content .rx-voices { background: none; border: 0; padding: 0; }
.bs-prose .rx-voices .bs-wrap, .bs-prose .rx-team .bs-wrap { padding: 0; max-width: none; }
.bs-prose .rx-team, .bs-prose .rx-voices { padding-block: 0 24px; }
.rx-voices__list { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.bs-prose .rx-voice p, .bs-prose .rx-person p { font-size: inherit; margin: 0; }
.bs-prose .rx-voice__text { font-size: 1rem; }
.bs-prose .rx-voices__list, .bs-prose .rx-team__list { padding: 0; }
.bs-prose .rx-voices__list li, .bs-prose .rx-team__list li { margin: 0; }
.bs-prose .rx-voices__list li::before, .bs-prose .rx-team__list li::before { content: none; }
.bs-prose .rx-voice__title, .bs-prose .rx-voice__product, .bs-prose .rx-voice__who, .bs-prose .rx-person__name, .bs-prose .rx-person__role { font-family: var(--bs-font-display); }
.bs-prose .rx-voice__title { font-size: 1.08rem; }
.bs-prose .rx-voice__product, .bs-prose .rx-person__role { font-size: .88rem; }
.bs-prose .rx-voice__product a { text-decoration: none; }

/* ---------- Promise strip (every page) ---------- */
.rx-promise { background: var(--bs-paper); border-bottom: 1px solid var(--bs-line); font-size: .84rem; color: var(--bs-ink-2); }
.rx-promise p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 22px; padding-block: 8px; }
.rx-promise__item { display: inline-flex; align-items: center; gap: 6px; }
.rx-promise__item svg { color: var(--rx-teal); flex: none; }
.rx-promise a { color: var(--bs-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.rx-promise__link { margin-left: auto; }
@media (max-width: 860px) {
	.rx-promise__item--hide-sm { display: none; }
	.rx-promise p { font-size: .8rem; line-height: 1.35; }
}

/* ---------- Why check us (homepage) ---------- */
.rx-why { border-bottom: 1px solid var(--bs-line); }
.rx-why__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: clamp(28px, 5vw, 72px); align-items: start; }
.rx-why__intro p { font-family: var(--rx-font-serif); font-size: 1.1rem; line-height: 1.55; color: var(--bs-ink-2); margin: 12px 0 16px; }
.rx-why__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--bs-ink); }
.rx-why__list li { padding: 18px 20px 20px 0; border-bottom: 1px solid var(--bs-line); }
.rx-why__list li:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--bs-line); }
.rx-why__list h3 { margin: 0 0 6px; font-size: 1.12rem; }
.rx-why__list p { margin: 0; font-family: var(--rx-font-serif); line-height: 1.55; color: var(--bs-ink-2); }
@media (max-width: 860px) {
	.rx-why__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.rx-why__list { grid-template-columns: minmax(0, 1fr); }
	.rx-why__list li, .rx-why__list li:nth-child(2n) { padding: 16px 0; border-left: 0; }
}

/* ---------- Is it worth buying? ---------- */
.rx-decide__answer { margin: 0 0 18px; padding: 16px 18px; border-left: 4px solid var(--bs-consider); background: var(--bs-consider-bg); border-radius: 0 var(--bs-r-sm) var(--bs-r-sm) 0; font-family: var(--rx-font-serif); font-size: 1.12rem; line-height: 1.55; color: var(--bs-ink); }
.rx-decide__answer strong { font-family: var(--bs-font-display); }
.rx-decide__answer--buy { border-left-color: var(--bs-buy); background: var(--bs-buy-bg); }
.rx-decide__answer--skip { border-left-color: var(--bs-skip); background: var(--bs-skip-bg); }
.rx-decide__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.rx-decide__card { display: grid; align-content: start; gap: 8px; padding: 16px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.rx-decide__card h3 { margin: 0; font-size: .95rem; color: var(--bs-ink-3); font-weight: 650; letter-spacing: 0; }
.rx-decide__card p { margin: 0; font-size: .94rem; line-height: 1.5; }
.rx-decide__price { font: 800 1.5rem/1.1 var(--bs-font-display) !important; letter-spacing: -.02em; color: var(--bs-ink); }
.rx-decide__alt { font: 700 1.05rem/1.3 var(--bs-font-display) !important; }
.rx-decide__alt a { color: var(--bs-ink); }
.rx-decide__check { margin-top: 18px; padding: 16px 18px; background: var(--bs-paper); border-radius: var(--bs-r); }
.rx-decide__check h3 { margin: 0 0 8px; font-size: 1rem; }
.rx-decide__check ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rx-decide__check li { display: flex; gap: 10px; align-items: flex-start; font-size: .95rem; line-height: 1.45; }
.rx-decide__check svg { color: var(--bs-buy); flex: none; margin-top: 2px; }
.rx-decide__cta { margin-top: 18px; }
.rx-decide__cta .bs-btn { min-height: 50px; padding-inline: 24px; }

/* ---------- Why you can trust this verdict ---------- */
.rx-trust { margin-top: 16px; padding: 16px 18px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); background: #fff; }
.bs-article .rx-trust { margin: 0 0 32px; }
.rx-trust__title { margin: 0 0 10px; font: 700 1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-trust ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rx-trust li { display: flex; gap: 10px; align-items: flex-start; font-size: .9rem; line-height: 1.45; color: var(--bs-ink-2); }
.rx-trust svg { flex: none; color: var(--rx-teal); margin-top: 2px; }
.rx-trust__links { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 12px 0 0; font-size: .88rem; font-weight: 600; }
.rx-wtb__none { margin: 0; padding: 12px 18px 0; font-size: .86rem; line-height: 1.45; color: var(--bs-ink-2); }
.rx-wtb__none[hidden] { display: none; }

/* ---------- Mobile polish ---------- */
@media (max-width: 720px) {
	.rx-prod { margin-top: 12px; gap: 18px; }
	.rx-prod__media { max-width: none; }
	.rx-prod__media .rx-prod__img { aspect-ratio: 16 / 10; }
	.rx-prod__name { font-size: 1.85rem; }
	.rx-prod__sum { font-size: 1.04rem; }
	.rx-prod__score { padding: 14px; }
	.rx-prod__buy { display: grid; }
	.rx-prod__buy .bs-buy, .rx-prod__buy .bs-btn { width: 100%; }
	.rx-subnav a { padding: 12px 10px; font-size: .88rem; }
	.rx-hero { padding-top: 24px; }
	.rx-hero__title { font-size: clamp(2.1rem, 9vw, 2.6rem); }
	.rx-hero__text { font-size: 1.02rem; }
	.bs-shead { flex-direction: column; align-items: flex-start; gap: 6px; }
	.bs-section { padding-block: 36px; }
	.rx-decide__cta .bs-buy, .rx-decide__cta .bs-btn { width: 100%; }
	.bs-stickybuy__inner { gap: 10px; }
	.bs-stickybuy__name { font-size: .88rem; }
	.rx-wtb__row { padding: 12px 14px; }
	.bs-footer__grid { gap: 24px; }
	input, select, textarea { font-size: 16px !important; }
}
.rx-prodbody__main > .rx-trust { margin: -12px 0 clamp(32px, 4vw, 48px); }
@media (max-width: 860px) {
	.rx-promise__item:first-child { display: none; }
	.rx-promise p { padding-block: 7px; }
}
@media (max-width: 720px) {
	.bs-crumbs ol { flex-wrap: nowrap; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
	.bs-crumbs ol::-webkit-scrollbar { display: none; }
	.bs-crumbs li { flex: none; }
}
@media (max-width: 720px) {
	.bs-cats { grid-template-columns: minmax(0, 1fr) !important; gap: 10px; }
	.bs-cat a.bs-cat__media { display: none; }
	.bs-cat { padding: 14px 16px; }
}
.rx-ranks { padding: 12px 14px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.rx-ranks__title { margin: 0 0 6px; font: 650 .86rem var(--bs-font-display); color: var(--bs-ink-3); }
.rx-ranks ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rx-ranks li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: .95rem; }
.rx-ranks__pos { font: 800 1rem var(--bs-font-display); color: var(--bs-ink); min-width: 2ch; }
.rx-ranks a { font-weight: 650; color: var(--bs-ink); }
.rx-ranks__award { font-size: .8rem; padding: 1px 8px; border-radius: var(--bs-r-sm); background: var(--rx-teal-bg); color: var(--rx-teal-dark); font-weight: 650; }
.rx-listmethod { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 24px; padding: 14px 16px; border: 1px solid var(--bs-line); border-left: 4px solid var(--rx-teal); border-radius: 0 var(--bs-r) var(--bs-r) 0; background: #fff; }
.rx-listmethod svg { flex: none; color: var(--rx-teal); margin-top: 3px; }
.rx-listmethod p { margin: 0; font-size: .95rem; line-height: 1.55; color: var(--bs-ink-2); }
.rx-listmethod strong { color: var(--bs-ink); }
.rx-lead__links { align-items: flex-start; }
@media (max-width: 420px) { .rx-lead__links { display: grid; } .rx-lead__links .bs-buy, .rx-lead__links .bs-btn { width: 100%; } }

/* ==========================================================================
   v1.2 brand layer: header with department mega menus, footer, cards
   ========================================================================== */

/* ---------- Header ---------- */
.rx-header { position: relative; z-index: 60; background: #fff; }
.rx-header__top { border-bottom: 1px solid var(--bs-line); }
.rx-header__bar { display: flex; align-items: center; gap: 20px; min-height: 68px; }
.rx-header .bs-brand { flex: none; }
.rx-header__menu { display: none; }
.rx-hsearch { flex: 1 1 320px; max-width: 440px; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; background: var(--bs-paper); border: 1px solid transparent; border-radius: var(--bs-r-sm); color: var(--bs-ink-3); }
.rx-hsearch:focus-within { background: #fff; border-color: var(--bs-ink); }
.rx-hsearch input { flex: 1; min-width: 0; border: 0; outline: 0; background: none; font: 500 .95rem var(--bs-font-display); color: var(--bs-ink); }
.rx-hsearch svg { flex: none; }
.rx-quick { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.rx-quick a { display: block; padding: 8px 10px; border-radius: var(--bs-r-sm); font: 600 .93rem var(--bs-font-display); color: var(--bs-ink); text-decoration: none; white-space: nowrap; }
.rx-quick a:hover, .rx-quick .current-menu-item > a { background: var(--bs-paper); }
.rx-header__tools { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.rx-header__searchbtn { display: none; }
.rx-header .rx-region__label { display: none; }

/* Department bar */
.rx-depts { background: var(--bs-ink); position: relative; }
.rx-depts__list { list-style: none; margin: 0; padding: 0; display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; }
.rx-depts__list::-webkit-scrollbar { display: none; }
.rx-dept__link { display: block; padding: 12px 14px; font: 600 .9rem var(--bs-font-display); color: #E4E8F0; text-decoration: none; white-space: nowrap; border-bottom: 3px solid transparent; }
.rx-dept:first-child .rx-dept__link { padding-left: 0; }
.rx-dept__link:hover, .rx-dept.is-open .rx-dept__link { color: #fff; border-bottom-color: var(--rx-marker); }
.rx-mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--bs-line); box-shadow: 0 24px 40px -24px rgba(22, 33, 58, .35); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .14s, transform .14s, visibility 0s .14s; }
.rx-dept.is-open .rx-mega { opacity: 1; visibility: visible; transform: none; transition: opacity .14s, transform .14s; }
.rx-mega__grid { display: grid; grid-template-columns: 1fr 1.2fr 1.2fr 280px; gap: 32px; padding-block: 28px 32px; }
.rx-mega__title { margin: 0 0 10px; font: 700 .82rem var(--bs-font-display); color: var(--bs-ink-3); }
.rx-mega__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.rx-mega__col a { display: block; padding: 5px 0; color: var(--bs-ink); text-decoration: none; font-size: .95rem; line-height: 1.35; }
.rx-mega__col a:hover { color: var(--rx-teal); text-decoration: underline; text-underline-offset: 3px; }
.rx-mega__all { display: inline-flex !important; align-items: center; gap: 4px; margin-top: 10px; font-weight: 700; color: var(--rx-teal) !important; }
.rx-mega__feature { display: grid; gap: 8px; align-content: start; padding: 14px; border: 1px solid var(--bs-line); border-radius: var(--bs-r); text-decoration: none; color: var(--bs-ink); background: var(--bs-paper); }
.rx-mega__feature:hover { border-color: var(--bs-ink); }
.rx-mega__kicker { font: 700 .8rem var(--bs-font-display); color: var(--rx-teal); }
.rx-mega__img { aspect-ratio: 6 / 5; background: #fff; border-radius: var(--bs-r-sm); overflow: hidden; display: grid; place-items: center; }
.rx-mega__img img { width: 100%; height: 100%; object-fit: contain; }
.rx-mega__name { font: 700 1rem/1.3 var(--bs-font-display); }

/* Drawer */
.rx-drawer { position: fixed; inset: 0; z-index: 1000; background: rgba(22, 33, 58, 0); transition: background .2s; }
.rx-drawer.is-open { background: rgba(22, 33, 58, .5); }
.rx-drawer__panel { position: absolute; inset: 0 auto 0 0; width: min(380px, 88vw); background: #fff; overflow-y: auto; padding: 0 18px 32px; transform: translateX(-100%); transition: transform .2s; }
.rx-drawer.is-open .rx-drawer__panel { transform: none; }
@media (prefers-reduced-motion: reduce) { .rx-drawer, .rx-drawer__panel { transition: none; } }
.rx-drawer__head { display: flex; align-items: center; justify-content: space-between; height: 60px; border-bottom: 1px solid var(--bs-line); margin-bottom: 14px; }
.rx-drawer__title { font: 700 1.05rem var(--bs-font-display); color: var(--bs-ink); }
.rx-search--drawer { padding: 4px 4px 4px 12px; border-color: var(--bs-line-2); }
.rx-drawer__quick { list-style: none; margin: 14px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.rx-drawer__quick a { display: block; padding: 12px; border: 1px solid var(--bs-line); border-radius: var(--bs-r-sm); font: 650 .95rem var(--bs-font-display); color: var(--bs-ink); text-decoration: none; }
.rx-drawer__label { margin: 22px 0 6px; font: 700 .82rem var(--bs-font-display); color: var(--bs-ink-3); }
.rx-drawer__depts details { border-bottom: 1px solid var(--bs-line); }
.rx-drawer__depts summary { display: flex; justify-content: space-between; align-items: center; padding: 13px 2px; font: 650 1rem var(--bs-font-display); color: var(--bs-ink); cursor: pointer; list-style: none; }
.rx-drawer__depts summary::-webkit-details-marker { display: none; }
.rx-drawer__depts details[open] summary svg { transform: rotate(180deg); }
.rx-drawer__depts ul { list-style: none; margin: 0 0 10px; padding: 0 0 0 4px; display: grid; gap: 2px; }
.rx-drawer__depts li a { display: block; padding: 7px 0; color: var(--bs-ink-2); text-decoration: none; }
.rx-drawer__cta { width: 100%; margin-top: 20px; min-height: 48px; }
.rx-drawer__small { list-style: none; margin: 18px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: .92rem; }
.rx-drawer__small a { color: var(--bs-ink-2); }
body.rx-noscroll { overflow: hidden; }

@media (max-width: 1280px) {
	.rx-header__quick { display: none; }
	.rx-header__menu { display: inline-grid; }
	.rx-hsearch { max-width: none; }
}
@media (max-width: 1080px) {
	.rx-mega { display: none; }
	.rx-dept__link { padding: 11px 12px; font-size: .88rem; }
}
@media (max-width: 760px) {
	.rx-header__bar { gap: 6px; min-height: 58px; }
	.rx-header .bs-logo { font-size: 1.3rem; }
	.rx-header .rx-mark { width: 28px; height: 28px; }
	.rx-header__searchbtn { display: inline-grid; }
	.rx-header__cta { display: none; }
	.rx-hsearch { display: none; position: absolute; left: 0; right: 0; top: 58px; z-index: 70; max-width: none; height: 52px; margin: 0; border-radius: 0; background: #fff; border-bottom: 1px solid var(--bs-ink); padding-inline: 16px; }
	.rx-hsearch.is-open { display: flex; }
	.rx-header__top { position: relative; }
	.rx-region__btn { min-height: 38px; padding: 4px 8px; }
	.rx-dept__link { padding: 10px 12px; font-size: .86rem; }
}

/* ---------- Section heads with an editorial rule ---------- */
.bs-shead { border-top: 2px solid var(--bs-ink); padding-top: 16px; }
.rx-voices .bs-shead, .bs-method .bs-shead { border-top-color: var(--bs-ink); }

/* ---------- Product cards ---------- */
.rx-card { position: relative; display: flex; flex-direction: column; padding: 0; overflow: hidden; background: #fff; border: 1px solid var(--bs-line); border-radius: var(--bs-r); }
.rx-card:hover { border-color: var(--bs-ink-3); }
.rx-card__media { display: block; aspect-ratio: 6 / 5; background: linear-gradient(180deg, #F7F8FA, #EDF0F4); }
.rx-card__media > div, .rx-card__media .vf3d { width: 100%; height: 100%; border-radius: 0; background: none; }
.rx-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
.rx-card__media .is-amazon { background: #fff; }
.rx-card__badge { position: absolute; top: 12px; left: 12px; padding: 3px 9px; border-radius: var(--bs-r-sm); font: 700 .78rem var(--bs-font-display); background: #fff; border: 1px solid var(--bs-line); color: var(--bs-ink); }
.rx-card__badge--buy { color: var(--bs-buy); border-color: color-mix(in srgb, var(--bs-buy) 40%, #fff); }
.rx-card__badge--consider { color: var(--bs-consider); border-color: color-mix(in srgb, var(--bs-consider) 40%, #fff); }
.rx-card__badge--skip { color: var(--bs-skip); border-color: color-mix(in srgb, var(--bs-skip) 40%, #fff); }
.rx-card__badge--award { background: var(--bs-ink); border-color: var(--bs-ink); color: #fff; }
.rx-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px 18px 18px; flex: 1; }
.rx-card__brand { margin: 0; font: 600 .82rem var(--bs-font-display); color: var(--bs-ink-3); }
.rx-card__title { margin: 0; font-size: 1.12rem; line-height: 1.25; letter-spacing: -.015em; }
.rx-card .rx-card-scores { margin: 0; }
.rx-card__why { margin: 0; font-size: .98rem; color: var(--bs-ink-2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.rx-card__foot { margin-top: auto; padding-top: 12px; display: grid; gap: 8px; border-top: 1px solid var(--bs-line); }
.rx-card__price { margin: 0; display: flex; align-items: baseline; gap: 8px; }
.rx-card__price strong { font: 800 1.1rem var(--bs-font-display); color: var(--bs-ink); }
.rx-card__price span { font-size: .8rem; color: var(--bs-ink-3); }
.rx-card__more { display: inline-flex; align-items: center; gap: 4px; justify-self: center; font: 650 .9rem var(--bs-font-display); color: var(--rx-teal); text-decoration: none; }
.rx-card__more:hover { text-decoration: underline; }
.rx-card .bs-paid { align-self: center; }
.vf3d::after { display: none !important; }
.vf3d .vf3d__img { padding: 5% 7%; }
.bs-pcard__img.is-amazon img, .rx-prod__img.is-amazon img, .bs-feature__img.is-amazon img { object-fit: contain; background: #fff; }

/* ---------- Footer ---------- */
.rx-footer { background: var(--bs-ink); color: #B9C2D3; margin-top: 0; }
.rx-footer a { color: #fff; }
.rx-footer__news { background: var(--rx-teal); color: #E2F2F0; }
.rx-footer__newsgrid { display: grid; grid-template-columns: 1fr minmax(280px, 460px); gap: 24px 48px; align-items: center; padding-block: 34px; }
.rx-footer__newstitle { margin: 0 0 6px; color: #fff; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.8rem); letter-spacing: -.02em; }
.rx-footer__news p { margin: 0; }
.rx-news__row { display: flex; gap: 8px; }
.rx-news input[type=email] { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 0; border-radius: var(--bs-r-sm); font: 500 1rem var(--bs-font-body); color: var(--bs-ink); }
.rx-news .bs-btn { height: 48px; background: var(--bs-ink); color: #fff; }
.rx-news .bs-btn:hover { background: #0C1426; }
.rx-news__note, .rx-news__msg { margin: 8px 0 0 !important; font-size: .84rem; color: #CDE7E4; }
.rx-news__msg { font-weight: 700; color: #fff; }
.rx-news__msg--bad { color: #FFD9CF; }
.rx-footer__news a { color: #fff; }
.rx-footer__main { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 32px; padding-block: 48px 36px; }
.rx-footer__brand p { margin: 10px 0 0; font-size: .94rem; line-height: 1.55; max-width: 38ch; }
.rx-footer__slogan { color: #fff !important; font: 700 1.05rem var(--bs-font-display) !important; }
.rx-footer__title { margin: 0 0 12px; font-size: .95rem; color: #fff; }
.rx-footer__col ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rx-footer__col a { color: #C9D1DF; text-decoration: none; font-size: .94rem; }
.rx-footer__col a:hover { color: #fff; text-decoration: underline; }
.rx-social { list-style: none; margin: 16px 0 0; padding: 0; display: flex; gap: 8px; }
.rx-social a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 50%; color: #fff; }
.rx-social a:hover { border-color: #fff; }
.rx-footer__legal { border-top: 1px solid rgba(255, 255, 255, .12); padding-block: 20px 28px; font-size: .84rem; }
.rx-footer__disclosure { margin: 0 0 12px; max-width: 90ch; line-height: 1.5; }
.rx-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 24px; align-items: center; }
.rx-footer__copy { margin: 0; color: #fff; font-weight: 600; }
.rx-footer__legalnav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; }
.rx-footer__legalnav a { color: #C9D1DF; text-decoration: none; }
.rx-footer__legalnav a:hover { color: #fff; text-decoration: underline; }
@media (max-width: 960px) {
	.rx-footer__newsgrid { grid-template-columns: minmax(0, 1fr); }
	.rx-footer__main { grid-template-columns: 1fr 1fr; }
	.rx-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.rx-news__row { flex-direction: column; }
	.rx-footer__main { gap: 28px 16px; }
}
.rx-mega .rx-mega__grid.bs-wrap { padding-inline: var(--bs-gutter); }

/* ---------- Sticky header (stays on screen while scrolling) ---------- */
:root { --rx-header-h: 114px; --rx-adminbar: 0px; }
.admin-bar { --rx-adminbar: 32px; }
@media (max-width: 782px) { .admin-bar { --rx-adminbar: 46px; } }
@media (max-width: 600px) { .admin-bar { --rx-adminbar: 0px; } }
.rx-header { position: sticky; top: var(--rx-adminbar); z-index: 90; }
.rx-header__bar { transition: min-height .18s ease; }
.rx-header.is-scrolled { box-shadow: 0 6px 18px -12px rgba(22, 33, 58, .35); }
.rx-header.is-scrolled .rx-header__bar { min-height: 56px; }
.rx-header.is-scrolled .rx-dept__link { padding-top: 9px; padding-bottom: 9px; }
html { scroll-padding-top: calc(var(--rx-header-h) + var(--rx-adminbar) + 56px); }
.rx-subnav, .admin-bar .rx-subnav { top: calc(var(--rx-header-h) + var(--rx-adminbar)); z-index: 50; }
.rx-sticky { top: calc(var(--rx-header-h) + var(--rx-adminbar) + 64px); }
.bs-side-inner { top: calc(var(--rx-header-h) + var(--rx-adminbar) + 16px) !important; }
@media (max-width: 760px) {
	.rx-header.is-scrolled .rx-header__bar { min-height: 52px; }
	.rx-header.is-scrolled .rx-hsearch { top: 52px; }
	.rx-header.is-scrolled .rx-dept__link { padding-top: 8px; padding-bottom: 8px; font-size: .84rem; }
}
@media (prefers-reduced-motion: reduce) { .rx-header__bar { transition: none; } }
@media (max-width: 480px) {
	.bs-stickybuy .rx-at, .bs-stickybuy .bs-icon { display: none; }
	.bs-stickybuy .bs-btn { white-space: nowrap; padding-inline: 16px; }
}
