/* AGENTA 2026-08-03 spacing phase2 COMPLETE + media-query consolidation: off-scale rounding Batch A–F (75 declarations, 121→191 tokens, 112,268→111,721 B), @media blocks 48→31 (−641 B) */
/*
 * SPACING SCALE (AGENTA 2026-08-03, Phase 1 — Bootstrap rem scale)
 * ------------------------------------------------------------------
 * Canonical spacing tokens. Use var(--space-N) for margin/padding instead of
 * raw px or fractional rem values. All values map to Bootstrap's 8-step rem
 * scale at a 16px root (no html{font-size} override is set):
 *
 *   --space-0: 0        (0px)
 *   --space-1: 0.25rem  (4px)
 *   --space-2: 0.5rem   (8px)
 *   --space-3: 0.75rem  (12px)
 *   --space-4: 1rem     (16px)
 *   --space-5: 1.5rem   (24px)
 *   --space-6: 2rem     (32px)
 *   --space-7: 2.5rem   (40px)
 *   --space-8: 3rem     (48px)
 *   --space-9: 4rem     (64px)
 *
 * When to use which:
 *   --space-1/2  → tight UI gaps (icon spacing, chip padding, thumb gutters)
 *   --space-3/4  → default card / section padding, list item gaps
 *   --space-5    → section separators, hero margins
 *   --space-6/7  → large section padding, modal gutters
 *   --space-8/9  → page-level hero / footer spacing
 *
 * Deliberately NOT tokenized (stay raw, do not snap):
 *   - fractional values below 0.25rem: .1rem/.125rem → 0; .15rem/.18rem/.2rem/.22rem/.3rem/.32rem/.35rem/.4rem/.45rem/.55rem/.6rem/.65rem/.7rem/.85rem/.875rem/.95rem/1.1rem/1.4rem → --space-1/--space-2/--space-3/--space-4
 *     Phase 2 Batch A+B+C+D+E+F done 2026-08-03; 1.25rem rows verified via visual diff; px values: 1px kept raw, 10px→.75rem+1.25rem on .skip-to-main:focus
 *   - 1px hairlines / borders and off-scale px (6px, 7px, 10px) — visual tuning,
 *     see Phase 5 rounding spec before changing.
 *   - on-scale values inside @media (exempt by convention) — tokenization stops at
 *     the media-query boundary. Top-level on-scale values should be var(--space-N);
 *     if you see a raw .5rem/.25rem/.75rem at top level, tokenize it (Phase 1-FIX,
 *     x_docs/operations/spacing-system-phase1-fix.md).
 * Legacy --spacing-xs/sm/md/lg/xl/2xl/3xl tokens were REMOVED in Phase 3
 * (2026-08-03) — they had zero consumers after Phase 1. Do not reintroduce.
 */
:root{--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--avatar-bg-soft:#eff6ff;--avatar-text-soft:#1d4ed8;--product-img-fallback:url("/assets/images/noimage.jpg");--grid-cols-desktop:4;--font-family-sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-md:1.125rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:1.875rem;--font-size-3xl:2.25rem;--font-size-4xl:3rem;--font-size-5xl:3.75rem;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--letter-spacing-tighter:-0.05em;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--color-urgent:#d32f2f;--color-urgent-light:#fff5f5;--color-urgent-border:#ffcdd2;--color-limited:#c62828;--color-limited-bg:#ffebee;--color-critical:#b71c1c;--color-critical-bg:#fff0f0;--color-critical-border:#ffbaba;--color-discount:#ff6b6b;--btn-deals-bg:#d4220e;--btn-deals-border:#c01f0d;--btn-deals-hover-bg:#b51d0c;--btn-deals-hover-border:#a01909;--shadow-none:none;--shadow-xs:0 1px 2px rgba(0,0,0,0.05);--shadow-sm:0 2px 4px rgba(0,0,0,0.1);--shadow-base:0 10px 28px -8px rgba(0,0,0,0.13);--shadow-md:0 4px 12px rgba(0,0,0,0.2);--shadow-lg:0 6px 16px rgba(0,0,0,0.12);--shadow-xl:0 8px 16px rgba(0,0,0,0.1);--shadow-elevation:0 22px 40px -10px rgba(0,0,0,0.2);--shadow-upward:0 -4px 16px rgba(0,0,0,0.08);--shadow-inset-light:inset 0 1px 0 rgba(255,255,255,0.45);--bs-secondary-color:#6c757d;--card-radius:0.5rem;--card-radius-sm:0.375rem;--card-radius-lg:0.75rem;--radius-none:0;--radius-sm:var(--card-radius-sm);--radius-md:var(--card-radius);--radius-lg:var(--card-radius-lg);--avatar-color-1:#0891b2;--avatar-color-2:#16a34a;--avatar-color-3:#b45309;--avatar-color-4:#be185d;--avatar-color-5:#0f766e;--avatar-color-6:#9333ea;--avatar-color-7:#dc2626;--avatar-color-8:#2563eb;--avatar-color-9:#0891b2;--avatar-color-10:#15803d;--avatar-color-11:#7c3aed;--avatar-color-12:#64748b}.btn,.display-1,.display-2,.display-3,.display-4,.display-5,.display-6,.navbar-brand{font-family:var(--font-family-sans)}@font-face{font-family:bootstrap-icons;src:url('/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff2') format('woff2'),url('/assets/vendor/bootstrap-icons/fonts/bootstrap-icons.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}@view-transition{navigation:auto}@media (prefers-reduced-motion:reduce)::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}.hotdeal-savings-panel,.hotdeal-savings-panel-link:hover .hotdeal-savings-panel,.hotdeal-savings-panel:hover{transition:none;transform:none}*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;animation-delay:0s!important;animation-name:none!important;transition-duration:0s!important;transition-delay:0s!important;scroll-behavior:auto!important}.scroll-to-top{transition:none}.skeleton{animation:none;background:var(--bs-tertiary-bg,#f8f9fa)}.theme-card{transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease;transform:translateY(0);border-radius:var(--radius-sm);border:1px solid transparent}.theme-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.theme-card.active,.theme-card.selected{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:rgba(0,0,0,.08)}body{background-color:var(--bs-body-bg,#f7f7f8);font-family:var(--font-family-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;line-height:1.2;margin-bottom:var(--space-2)}.navbar-brand .text-logo{font-size:clamp(1rem,6.2vw,1.6rem);white-space:nowrap;line-height:1.2}.navbar-brand h1{white-space:nowrap;line-height:1.2}/* N72 (2026-07-03): auto-fit tagline — always one line under the logo, full text shown,   font-size scales with .navbar-brand's width via container query units (cqi). The brand   has container-type:inline-size and a max-width cap, so cqi resolves to a real pixel   value. clamp() keeps font between 0.5rem (legible on tiny phones) and 0.85rem (the   original desktop size). overflow:visible + text-overflow:clip + max-width:100% replace   the previous hidden/ellipsis/fixed-max-width combo so the AI-generated tagline is   never truncated with "..." — it shrinks instead of getting cut. *//* N72-FIX (2026-07-03): switched from cqi (container queries) to vw (viewport units).   Reason: on iPhone 12 (390px) the cqi clamp was rendering the tagline at ~10px because   container-type:inline-size on .navbar-brand made flex-basis treat content as 0 — the   brand's effective inline-size collapsed well below its max-width, so cqi resolved to   a tiny value and clamp landed in the middle of its range.   vw is rock-solid and viewport-scaled, which is what we actually want here. On mobile,   viewport ≈ available width (the navbar fills the row), so vw scaling is equivalent in   practice to "scale with available space" and avoids the flex-basis footgun.   3.7vw at the iPhone-12 viewport (390px) = 14.43px → clamped to 0.85rem max.   3.7vw at 320px = 11.84px = 0.74rem. Bumping min from .5rem to .72rem (~11.5px) keeps   the tagline readable on the narrowest phones; anything narrower drops below ~280px   viewports where this is no longer a "normal" mobile. */.navbar-tagline-text{font-weight:400;line-height:1.2;white-space:nowrap;display:block;text-align:center;align-self:center;margin-top:1px;overflow:visible;text-overflow:clip;max-width:100%;font-size:clamp(.72rem,3.7vw,.85rem)}/* N72: removed @media rules that hard-pinned tagline max-width to 200px / 140px on   tablet / mobile — cqi-based font-size in the base rule now handles all widths. */h2{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;line-height:1.2;margin-bottom:var(--space-2)}h3{font-size:clamp(1rem,1.7vw,1.25rem);font-weight:700;line-height:1.25;margin-bottom:var(--space-2)}h4{font-size:1rem;font-weight:700;line-height:1.3;margin-bottom:var(--space-2)}h5{font-size:.9375rem;font-weight:700;line-height:1.3;margin-bottom:var(--space-2)}h6{font-size:.875rem;font-weight:700;line-height:1.3;margin-bottom:var(--space-2)}.text-heading-lg{font-size:clamp(1.3rem,2.5vw,1.75rem);font-weight:700;line-height:1.2}.text-heading-md{font-size:clamp(1.1rem,2vw,1.5rem);font-weight:700;line-height:1.2}.text-heading-sm{font-size:clamp(1rem,1.7vw,1.25rem);font-weight:700;line-height:1.25}.section-heading-lg{margin-bottom:var(--space-3)}p{font-size:1rem;line-height:1.5;margin-bottom:var(--space-4);color:var(--bs-body-color,#212529)}.store-coupon-strip h2{font-weight:700}.js-product-card .card-title,.product-card .card-title{font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:0}.lead-custom{font-size:var(--font-size-md);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}@media (max-width:767.98px){:root:root{--font-size-3xl:1.875rem;--font-size-2xl:1.5rem;--font-size-xl:1.25rem;--font-size-lg:1.125rem}}@media (max-width:430px):root{--font-size-3xl:1.5rem;--font-size-2xl:1.25rem;--font-size-xl:1.125rem;--font-size-lg:1.0625rem;--font-size-md:0.9375rem}.hero-text-container h1{font-size:var(--font-size-lg)}.hero-bg-image,.hero-bg-picture,.hero-section,.site-hero-final{max-height:none}.hero-static-bg{padding:1.25rem 1rem}.hero-text-container .display-5{line-height:1.25}.hero-text-container .fs-5{margin-bottom:.75rem}.hero-btn{padding:0 .65rem}.hero-btn-grid{gap:.5rem!important}.hero-stats-row{margin-top:.6rem}.hero-stat-tile{padding-left:.15rem;padding-right:.15rem}.hero-stat-count{font-size:.88rem}.hero-stat-label{font-size:.7rem}@media (max-width:360px):root{--font-size-3xl:1.25rem;--font-size-2xl:1.125rem;--font-size-xl:1rem;--font-size-lg:0.9375rem;--font-size-md:0.875rem}.site-header{border-bottom:1px solid var(--bs-border-color)}.breadcrumb{background:0 0}nav[aria-label=breadcrumb]{margin-bottom:var(--space-4)}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:none;align-items:center;justify-content:center;z-index:10000;backdrop-filter:none}.loading-overlay.active{display:flex}.product-detail-image{transition:opacity .15s ease;filter:none;image-rendering:auto}.product-detail-image[loading]{opacity:.8}.product-detail-image.loaded{opacity:1}@media (max-width:767.98px){.breadcrumb,.breadcrumb .breadcrumb-item,.breadcrumb .breadcrumb-item a,.breadcrumb .breadcrumb-item.active.breadcrumb,.breadcrumb .breadcrumb-item,.breadcrumb .breadcrumb-item a,.breadcrumb .breadcrumb-item.active{font-size:.75rem}}.breadcrumb-item.category-crumb,.breadcrumb-item.category-crumb a{font-size:.75rem;color:var(--bs-secondary-color);font-style:italic;opacity:.8}.breadcrumb-item.category-crumb a:hover{color:var(--bs-body-color);opacity:1}.breadcrumb-item.active{color:var(--bs-secondary-color);font-weight:400}.static-page-hero{background:var(--bs-primary);color:#fff!important;padding:var(--space-9) 0;text-align:center;margin-bottom:var(--space-6)}.static-page-hero .lead,.static-page-hero .text-body-secondary,.static-page-hero [class*=text-],.static-page-hero h1,.static-page-hero h2,.static-page-hero h3,.static-page-hero p{opacity:1}.static-page-cta{background:var(--bs-primary);color:#fff!important;padding:var(--space-6) 1.5rem;margin-top:var(--space-6)}.static-page-cta .lead,.static-page-cta .text-body-secondary,.static-page-cta [class*=text-],.static-page-cta h1,.static-page-cta h2,.static-page-cta h3,.static-page-cta p{opacity:1}.merchant-card-hover .card-body h5{font-weight:600;margin-bottom:var(--space-1);color:var(--bs-body-color)}.site-logo{height:60px;width:auto}@media (max-width:400px){.site-header-main-nav .container-xl.site-header-main-nav .container-xl{justify-content:space-between;align-items:center!important;width:100%!important;padding-left:8px!important;padding-right:8px!important}}/* N72-FIX (2026-07-03): removed container-type:inline-size — was making the brand's   flex-basis treat content as 0 in flex layout, which collapsed the brand's effective   inline-size and made cqi-based font scaling resolve to a tiny value (rendering at   ~10px on iPhone 12). The tagline now uses viewport units (vw) for fluid sizing   instead, so container queries are no longer needed here. Kept the max-width cap   (calc(100% - 52px)) so the brand can never grow wide enough to push the hamburger   toggle to the next row, and removed overflow:hidden so the auto-fit tagline can   stay fully visible. */.navbar-brand{flex-shrink:1;min-width:0;max-width:calc(100% - 52px)}.site-logo{max-width:calc(100vw - 80px)!important;height:auto!important}@media (min-width:401px){.site-header-main-nav .container-xl.site-header-main-nav .container-xl{padding-left:1.25rem;padding-right:1.25rem}}.container-xl{max-width:1200px}.aa-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;align-items:stretch}.aa-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;align-items:stretch}@media (min-width:992px){.aa-product-grid,.aa-card-grid.aa-product-grid,.aa-card-grid{grid-template-columns:repeat(var(--grid-cols-desktop,4),1fr)}}.product-card-img-wrap{height:12rem}.hero-text-container{max-width:75%;width:75%}@media (max-width:575.98px){.aa-product-grid,.aa-card-grid.aa-product-grid,.aa-card-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}}.deal-related-reading{grid-template-columns:repeat(2,1fr);gap:.5rem}.hero-bg-image,.hero-bg-picture,.site-hero-final{max-height:none}.hero-text-container .display-5{line-height:1.25;margin-bottom:.6rem!important}.hero-text-container .fs-5{margin-bottom:.85rem}.hero-overlay{background:linear-gradient(to right,rgba(0,0,0,.65) 0,rgba(0,0,0,.6) 70%,rgba(0,0,0,.25) 100%)!important}.specs-table{border:none!important;background:0 0!important}.specs-table th,.specs-table thead{display:none!important}.specs-table tbody{display:block!important;width:100%!important}.specs-table tr{display:block!important;background:var(--bs-card-bg,#fff)!important;border:1px solid var(--bs-border-color,#dee2e6)!important;border-radius:var(--radius-md)!important;margin-bottom:.75rem!important;padding:.5rem .75rem!important;box-shadow:0 2px 4px rgba(0,0,0,.03)!important;width:100%!important}.specs-table td{text-align:right;width:100%!important}.specs-table td:last-child{border-bottom:none!important}.specs-table td::before{text-align:left;margin-right:.5rem!important;font-size:.85rem!important}.ph{margin-bottom:.5rem}.ph h1{font-size:1.35rem;margin-bottom:.15rem}.ph__meta{font-size:.75rem;gap:.2rem .3rem;margin-bottom:.4rem}.ph__desc{font-size:.8rem;margin:0 auto .3rem}.ph__dd>summary{font-size:.75rem;padding:.15rem .35rem}.fsr{flex-wrap:wrap}.fsr__label{width:100%;padding-top:0;margin-bottom:.15rem}.fsr__wrap{width:100%}.js-product-card .card-body,.product-card .card-body{padding:.75rem}.js-product-card .product-name-container,.product-card .product-name-container{height:3rem}.js-product-card .product-name-container .card-title,.product-card .product-name-container .card-title{line-height:1.4;-webkit-line-clamp:2;line-clamp:2}.js-product-card .category-brand-container,.product-card .category-brand-container{height:1.2em}.js-product-card .category-brand-container .product-card-meta,.product-card .category-brand-container .product-card-meta{font-size:.7rem}.js-product-card .product-card-price,.product-card .product-card-price{font-size:1rem}.js-product-card .product-card-price-verified,.product-card .product-card-price-verified{font-size:.7rem}.js-product-card .btn,.product-card .btn{min-height:2.25rem;font-size:.85rem;padding:.4rem .6rem}.js-product-card .badge,.product-card .badge{font-size:.7rem;padding:.25rem .5rem}.product-discount-badge{width:44px;height:44px;min-width:44px;min-height:44px;font-size:.7rem}.product-card-badge-overlay{gap:2px}.product-card-badge-overlay .badge{padding:.2rem .4rem;font-size:.7rem}.kwh-stat-pill{font-size:.75rem}.kwh-hero{padding:1.25rem}.cmp-table thead{display:none}.cmp-table tbody tr{display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto auto!important;grid-template-areas:"name tier" "price cta"!important;gap:.35rem .5rem;padding:.75rem 0;border-bottom:1px solid var(--bs-border-color)}.cmp-table tbody tr:last-child{border-bottom:none!important}.cmp-name{grid-area:name!important}.cmp-price{grid-area:price!important;font-size:.9rem}.cmp-tier{grid-area:tier!important;text-align:right}.cmp-cta{grid-area:cta!important;text-align:right}@media (max-width:767.98px){.rsc-hero.rsc-hero{flex-direction:column}}.rsc-grid{grid-template-columns:repeat(2,1fr)}.related-reading-block{padding:.75rem .9rem;margin:1.25rem 0 .75rem}.related-reading-block__heading{font-size:.95rem}.hotdeal-card.card,.js-product-card.card,.product-card.card{height:100%;width:100%;display:flex;flex-direction:column;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.hotdeal-card.card:hover,.js-product-card.card:hover,.product-card.card:hover,.hotdeal-card.card:focus-visible,.js-product-card.card:focus-visible,.product-card.card:focus-visible{will-change:transform}.js-product-card.card:hover,.product-card.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}.hotdeal-card .card-body,.js-product-card .card-body,.product-card .card-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0}.js-product-card .card-body.pt-0,.product-card .card-body.pt-0{flex:0 0 auto}.js-product-card .product-name-container,.product-card .product-name-container{height:4.5em;overflow:hidden}.js-product-card .product-name-container .card-title,.product-card .product-name-container .card-title{display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;margin-bottom:0}.js-product-card .category-brand-container,.product-card .category-brand-container{height:1.5em;overflow:hidden}.js-product-card .category-brand-container .product-card-meta,.product-card .category-brand-container .product-card-meta{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin-bottom:0}.js-product-card .card-body.product-card-price-body,.product-card .card-body.product-card-price-body{margin-top:auto;flex:0 0 auto}.js-product-card .product-card-price-wrap,.product-card .product-card-price-wrap{display:flex;align-items:center}.hotdeal-button-wrap,.js-product-card .button-container,.product-card .button-container{display:flex;flex-direction:column;width:100%}.js-product-card .button-container>div,.product-card .button-container>div{width:100%}.hotdeal-card .btn,.js-product-card .btn,.product-card .btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;white-space:normal;line-height:1.2;width:100%}.product-card-img-wrap{width:100%;aspect-ratio:1/1;height:clamp(10rem,48vw,15.5rem);min-height:0;flex-shrink:0;overflow:hidden;background-color:var(--bs-tertiary-bg);background-image:var(--product-img-fallback);background-repeat:no-repeat;background-position:center;background-size:contain;display:flex;align-items:center;justify-content:center}@media (min-width:576px) and (max-width:991.98px){.product-card-img-wrap.product-card-img-wrap{height:clamp(11rem,28vw,14rem)}}.product-card-img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;object-position:center;padding:var(--space-2);display:block;background-color:#fff}.product-card-img.product-card-img--hidden{display:none!important}.product-name-container .card-title{color:var(--bs-primary);text-decoration:none}.product-card-link-block{color:inherit}.product-card-link-block:hover .card-title{text-decoration:underline}.specs-table a{color:var(--bs-primary);text-decoration:none}.coupon-advertiser-link{color:var(--bs-primary);text-decoration:none}.footer-community-link{color:var(--bs-primary);text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;font-weight:600;font-size:var(--bs-small,.875em)}.product-card-meta{font-size:var(--font-size-sm);color:var(--bs-secondary-color,#6c757d);margin-bottom:var(--space-2)}.product-card-meta a{color:inherit;text-decoration:none}.product-card-meta a:hover{text-decoration:underline}.product-card-editorial{padding-top:var(--space-1);border-top:1px dashed var(--bs-border-color,#dee2e6)}.product-card-editorial-line{color:var(--bs-secondary-color,#6c757d);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card-editorial-line i{color:var(--bs-primary)}.product-discount-badge{width:52px;height:52px;min-width:52px;min-height:52px;font-size:.82rem;line-height:1;display:inline-grid;place-items:center;text-align:center;padding:var(--space-1)}.product-detail-discount-badge{z-index:100!important;pointer-events:auto;width:52px;height:52px;min-width:52px;min-height:52px;display:inline-grid;place-items:center;text-align:center;padding:var(--space-1);font-size:.82rem;line-height:1}.product-detail-discount-badge .product-discount-off,.product-detail-discount-badge small{display:block;font-size:.7rem;line-height:1;text-transform:uppercase;letter-spacing:.04em}.product-card-badge-overlay{position:absolute;top:0;left:0;margin:var(--space-2);z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.product-card-price-wrap a{text-decoration:none}.product-card-price{font-weight:var(--font-weight-bold);font-size:var(--font-size-xl);color:var(--bs-body-color)}.product-card-price-was{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--bs-secondary-color,#6c757d)}.product-card-price-verified{font-size:var(--font-size-sm);color:var(--bs-secondary-color,#6c757d)}.product-card-premium-badge{font-size:var(--font-size-sm)}.js-product-card .card h4,.product-card .card h4{line-height:1.3;margin-bottom:var(--space-2);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;min-height:5.2rem;height:5.2rem}.js-product-card[data-go-url]{cursor:pointer}.js-product-card[data-go-url]:focus-visible{outline:2px solid var(--bs-primary);outline-offset:2px}.card .category-brand-store{line-height:1.2;display:block}.card .category-brand-store span{display:inline}.card .category-brand-store span:not(:last-child)::after{content:' - ';color:var(--bs-secondary-color)}#global-search-form{width:100%}.search-bar-input-group{position:relative;width:100%;display:flex;flex-wrap:nowrap}.search-bar-input-group .form-control{flex:1 1 auto;min-width:0;width:0}@media (max-width:991.98px){.search-btn-text.search-btn-text{display:none}}.search-bar-input-group .btn{padding-left:1.1rem;padding-right:1.1rem;flex:0 0 auto;min-width:52px}.search-bar-input-group .btn-lg{padding-left:var(--space-4);padding-right:var(--space-4);min-width:48px}.hero-static-bg{min-height:460px;max-height:none}.search-clear-btn{position:absolute;right:90px;top:50%;transform:translateY(-50%);z-index:5;background:0 0;border:none;cursor:pointer;color:var(--bs-secondary-color,#6c757d);font-size:1rem;line-height:1;padding:var(--space-1);display:none}.search-clear-btn.visible{display:flex;align-items:center;justify-content:center}.search-clear-btn:hover{color:var(--bs-body-color)}.card .card-text .bg-danger,.card .card-text .bg-danger *,.card .card-text .bg-info,.card .card-text .bg-info *,.card .card-text .bg-primary,.card .card-text .bg-primary *,.card .card-text .bg-success,.card .card-text .bg-success *{color:var(--bs-white)}.card .card-text .bg-warning,.card .card-text .bg-warning *{color:var(--bs-dark)}.card .card-text .bg-danger .text-decoration-line-through,.card .card-text .bg-info .text-decoration-line-through,.card .card-text .bg-primary .text-decoration-line-through,.card .card-text .bg-success .text-decoration-line-through{color:var(--bs-white);text-decoration-color:rgba(255,255,255,0.6)}.card .card-text .bg-warning .text-decoration-line-through{color:var(--bs-dark);text-decoration-color:rgba(0,0,0,0.45)}.card-deal-badge{display:block;width:fit-content;white-space:nowrap;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.3em .65em;border-radius:2em;line-height:1.4;pointer-events:none}.hotdeal-savings-panel-link--centered{max-width:19.5rem;margin-left:auto;margin-right:auto}.hotdeal-savings-panel{position:relative;z-index:2;line-height:1.3;border:2px solid rgba(255,255,255,.35)!important;box-shadow:0 .35rem 0 rgba(0,0,0,.28),0 .85rem 1.75rem rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.15) inset,0 0 40px rgba(255,200,80,.12)!important;transition:transform .22s ease,box-shadow .22s ease}.hotdeal-savings-panel-link:hover .hotdeal-savings-panel,.hotdeal-savings-panel-link:focus-visible .hotdeal-savings-panel,.hotdeal-savings-panel:hover,.hotdeal-savings-panel:focus-visible{will-change:transform}.hotdeal-savings-panel--centered{text-align:center}.hotdeal-savings-panel--prominent{font-size:1.04rem}.hotdeal-savings-highlight{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem .65rem;padding:var(--space-2) .65rem .65rem;margin:0 0 .65rem;border-radius:.85rem;background:linear-gradient(165deg,rgba(255,255,255,.28) 0,rgba(255,255,255,.07) 45%,rgba(0,0,0,.12) 100%);border:1px solid rgba(255,255,255,.42);box-shadow:var(--shadow-inset-light),0 .4rem 1rem rgba(0,0,0,.28)}.hotdeal-savings-chip{display:inline-block;color:#fff;font-weight:900;font-size:clamp(.95rem,2.8vw,1.18rem);letter-spacing:.03em;line-height:1.25;text-decoration:none!important;text-shadow:0 0 14px rgba(255,235,120,.95),0 0 22px rgba(255,180,60,.55),0 2px 0 rgba(0,0,0,.35)}.hotdeal-savings-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.35rem .55rem;gap:var(--space-1);line-height:1.45;color:#fff}.hotdeal-savings-row--now{margin-top:var(--space-2);margin-top:var(--space-2);border-top:1px solid rgba(255,255,255,.22)}.hotdeal-savings-label{color:rgba(255,255,255,.92);font-weight:700;font-size:.88rem}.hotdeal-savings-was{color:rgba(255,255,255,.88);text-decoration:line-through;text-decoration-thickness:2px;font-size:.9rem;opacity:.92}.hotdeal-savings-now-price{color:#fff;font-weight:900;font-size:clamp(1.05rem,3vw,1.28rem);text-shadow:0 0 12px rgba(180,255,200,.45),0 2px 4px rgba(0,0,0,.35)}.hotdeal-savings-panel-link{outline:0}.hotdeal-savings-panel-link:focus-visible .hotdeal-savings-panel,.hotdeal-savings-panel-link:hover .hotdeal-savings-panel,.hotdeal-savings-panel:hover{transform:translateY(-7px) scale(1.03);box-shadow:0 .55rem 0 rgba(0,0,0,.22),0 1.15rem 2.35rem rgba(0,0,0,.42),0 0 0 2px rgba(255,255,255,.45),0 0 36px rgba(255,210,90,.45),0 0 52px rgba(var(--bs-danger-rgb,220,53,69),.35)!important;z-index:8}.hotdeal-card{transition:transform .15s ease,box-shadow .15s ease}.hotdeal-card:hover,.hotdeal-card:focus-visible{will-change:transform;transform:translateY(-3px);box-shadow:var(--shadow-lg)}.hotdeal-cta-btn{min-width:11rem;padding-left:var(--space-5);padding-right:var(--space-5)}.new-arrival-item:hover{background:var(--bs-tertiary-bg,#f8f9fa)}.hero-bg-image,.hero-bg-picture{border-radius:inherit;overflow:hidden;object-fit:cover;object-position:center;display:block}.hero-text-container{z-index:2;max-width:100%}.hero-btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;width:100%}.hero-stat-tile .bi,.hero-stat-tile i{vertical-align:middle;line-height:1;display:inline-flex;align-items:center}.hero-btn{min-height:2.5rem;border-radius:var(--radius-md);font-weight:600;transition:transform .15s ease,box-shadow .15s ease,opacity .2s ease}.hero-btn:hover,.hero-btn:focus-visible{will-change:transform;transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-hero-deals{background-color:var(--btn-deals-bg)!important;border-color:var(--btn-deals-border)!important;color:#fff!important}.btn-hero-deals:focus,.btn-hero-deals:hover{background-color:var(--btn-deals-hover-bg)!important;border-color:var(--btn-deals-hover-border)!important;color:#fff!important}.site-hero-final{max-height:none;overflow:visible!important}.hero-stats-row{flex-wrap:wrap}@media (min-width:768px){.hero-stats-row.hero-stats-row{flex-wrap:nowrap}}.meta-row-toggle-label{display:none!important}.meta-row-content{display:flex!important;margin-bottom:.5rem}.share-btn-row{display:flex;flex-wrap:nowrap;gap:.35rem}.share-btn-row .share-btn-item{flex:1 1 0;min-width:0}/* CSS-AUD-11 (2026-07-16, mavis): stat-tile light-bg contrast fix.   Tile was rgba(255,255,255,.15) — 85% transparent. On a light hero   background the tile basically disappeared, and white-inherited   text (the hero's default) became invisible. Bumped to a solid-ish   light card with explicit dark text so it reads in both light and   dark hero themes. */.hero-stat-tile{min-height:3rem;background:rgba(255,255,255,.85);border:1px solid rgba(0,0,0,.1);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:background .15s ease,border-color .15s ease}.hero-stat-tile:hover{background:rgba(255,255,255,.95);border-color:rgba(0,0,0,.2)}.hero-stat-count{font-size:1rem;color:var(--bs-body-color,#212529)}.hero-stat-label{font-size:.7rem;line-height:1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;color:var(--bs-secondary-color,#6c757d)}.product-h1-link{color:inherit;text-decoration:none}.product-h1-link:hover{text-decoration:underline;text-underline-offset:3px;color:inherit}.pdp-price-card{display:block;padding:var(--space-4) 1rem;border:none;border-radius:var(--radius-md);background:var(--bs-body-bg);transition:box-shadow .18s ease,transform .18s ease;cursor:pointer}.pdp-price-card:focus-visible,.pdp-price-card:hover{will-change:transform;box-shadow:var(--shadow-xs);transform:translateY(-1px);outline:0}.pdp-price-card .editorial-take-card,.pdp-price-card .editorial-who-for-card{background:0 0;border-top:1px solid var(--bs-border-color)!important;border-radius:0!important;margin-left:-1rem;margin-right:-1rem;padding-left:var(--space-4);padding-right:var(--space-4)}.pdp-price-card .editorial-take-card .card-body,.pdp-price-card .editorial-who-for-card .card-body{padding-left:0;padding-right:0}.pdp-price-card .product-info-trust-zone{margin-left:-1rem;margin-right:-1rem;border-radius:0 0 var(--radius-md) var(--radius-md);border-left:none;border-right:none;border-bottom:none}.price-alert{font-size:1.25rem;margin-bottom:0}.price-alert .price-display{font-size:1.5rem;font-weight:700;color:inherit;text-decoration:none}.price-alert .price-cents{font-size:inherit;font-weight:inherit}.price-alert .savings-badge{font-size:1.1rem;font-weight:700;padding:var(--space-2) 1rem;border-radius:var(--radius-sm);background:var(--bs-success-bg-subtle);color:var(--bs-success-text-emphasis);border:1px solid var(--bs-success-border-subtle)}.price-alert .savings-cents{font-size:.9rem;font-weight:600}.product-detail-card{transition:box-shadow .15s ease;position:relative;overflow:visible;animation:slideInLeft .3s ease}.product-detail-card::after,.product-detail-card::before{content:'';position:absolute;top:50%;transform:translateY(-50%);width:0;height:0;opacity:0;transition:opacity .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1),height .3s cubic-bezier(.4,0,.2,1);z-index:10}.product-detail-card::before{left:-20px}.product-detail-card::after{right:-20px}.product-detail-card:hover,.product-detail-card:focus-visible{will-change:transform;box-shadow:var(--shadow-xl)}.product-detail-card:hover::before{opacity:1;left:-30px}.product-detail-card:hover::after{opacity:1;right:-30px}.product-image-gallery{transition:transform .15s ease;animation:slideInRight .4s ease}.product-image-gallery:hover{transform:scale(1.005)}.product-discount-badge-wrap{z-index:100!important;pointer-events:auto}.product-detail-image-container.product-image-gallery{background-color:var(--bs-tertiary-bg,#f8f9fa);background-image:var(--product-img-fallback,url("/assets/images/noimage.jpg"));background-repeat:no-repeat;background-position:center;background-size:contain}.product-image-ghost-wrap{position:relative;margin-left:-3rem;margin-right:-3rem;padding-left:var(--space-8);padding-right:var(--space-8)}.product-image-ghost-wrap::after,.product-image-ghost-wrap::before{content:'';position:absolute;top:5%;width:42%;height:90%;background-image:var(--product-img-main);background-size:contain;background-repeat:no-repeat;background-position:center top;opacity:.28;filter:blur(1px);pointer-events:none;z-index:0}.product-image-ghost-wrap::before{left:0}.product-image-ghost-wrap::after{right:0}@media (max-width:767.98px){.product-image-ghost-wrap.product-image-ghost-wrap{margin-left:-1rem;margin-right:-1rem;padding-left:var(--space-4);padding-right:var(--space-4)}.product-image-ghost-wrap::after.product-image-ghost-wrap::after{display:none}}.product-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:20;width:38px;height:38px;border-radius:7px;background:rgba(120,120,120,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;transition:background .18s ease,transform .18s ease;border:none;cursor:pointer}.product-nav-arrow:hover{background:rgba(80,80,80,.75);transform:translateY(-50%) scale(1.08);color:#fff;text-decoration:none}.product-nav-arrow--prev{left:.5rem}.product-nav-arrow--next{right:.5rem}.product-detail-main-img{position:relative;z-index:1}.product-detail-main-img,.product-detail-single-img{background-color:#fff}.product-detail-image img{transition:transform .15s ease,filter .15s ease}.product-detail-image:hover img{transform:scale(1.005);filter:brightness(1.02)}.product-info-section{transition:background-color .15s ease;animation:slideInLeft .5s ease}.product-info-section:hover{background-color:rgba(var(--bs-tertiary-bg-rgb,248,249,250),.6)}.product-title{transition:color .15s ease;position:relative}.product-title:hover{color:var(--bs-primary)}.product-title::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:2px;background:linear-gradient(90deg,var(--bs-primary),var(--bs-secondary));transition:width .15s ease}.product-title:hover::after{width:100%}.product-price-section{transition:color .15s ease}.product-price-section:hover{color:var(--bs-primary)}.go-link{transition:background-color .15s ease,box-shadow .15s ease;position:relative;overflow:hidden}.go-link:hover{box-shadow:0 2px 4px rgba(13,110,253,.2)}.go-link::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .15s ease}.go-link:hover::before{left:100%}.related-product-card{transition:box-shadow .15s ease}.related-product-card:hover{box-shadow:var(--shadow-sm)}.product-description-section{transition:opacity .15s ease}.product-description-section:hover{opacity:.95}.product-tags .badge{transition:background-color .15s ease}.product-tags .badge:hover{background-color:var(--bs-primary);color:var(--bs-white)}.share-button{transition:opacity .15s ease}.share-button:hover{opacity:.8}.carousel-control-next,.carousel-control-prev{transition:background-color .15s ease}.carousel-control-next:hover,.carousel-control-prev:hover{background-color:rgba(0,0,0,.1)}.accordion-button:hover{background-color:var(--bs-tertiary-bg)}.product-info-section a.d-block.text-reset{cursor:pointer;border-radius:var(--radius-sm);transition:background-color .15s ease;padding:var(--space-2);margin:-.5rem}.product-info-section a.d-block.text-reset:hover{background-color:rgba(var(--bs-primary-rgb,13,110,253),.04);text-decoration:none!important}@media (max-width:767.98px){.product-detail-card:hover.product-detail-card:hover{box-shadow:var(--shadow-xs)}.product-info-section:hover.product-info-section:hover{background-color:rgba(var(--bs-tertiary-bg-rgb,248,249,250),.35)}.product-price-section:hover.product-price-section:hover{color:var(--bs-secondary-color)}.go-link:hover.go-link:hover{background-color:var(--bs-tertiary-bg)}}@keyframes slideInLeft{fromfrom{transform:translateX(-20px);opacity:0}toto{transform:translateX(0);opacity:1}}@keyframes slideInRight{fromfrom{transform:translateX(20px);opacity:0}toto{transform:translateX(0);opacity:1}}.sticky-buy-btn{pointer-events:none!important}.sticky-bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:1050;background-color:var(--bs-body-bg,#fff);color:var(--bs-body-color);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:3px solid var(--bs-primary,#0d6efd);box-shadow:0 -6px 20px rgba(0,0,0,.14);transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);padding:var(--space-4) 1.25rem calc(1.1rem + env(safe-area-inset-bottom, 0)) 1.25rem;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:.85rem}.sticky-bottom-bar.active{will-change:transform;transform:translateY(0)}.sticky-bottom-bar:active{background-color:var(--bs-tertiary-bg,#f1f3f5)}.sticky-bottom-bar .sticky-thumb{width:64px;height:64px;object-fit:contain;border-radius:10px;background-color:var(--bs-secondary-bg,#f8f9fa);border:1px solid var(--bs-border-color,#dee2e6);flex-shrink:0}.sticky-bottom-bar .pdp-sticky-name{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.25;font-size:1rem;font-weight:600;color:var(--bs-body-color)}.sticky-bottom-bar .pdp-sticky-merch{font-size:.85rem;color:var(--bs-secondary-color,#6c757d);font-weight:500;0}.sticky-bottom-bar .sticky-buy-btn{background:var(--btn-deals-bg,#d4220e)!important;border-color:var(--btn-deals-border,#c01f0d)!important;color:#fff!important;font-size:1rem;font-weight:700;border-radius:var(--radius-md);box-shadow:0 4px 14px rgba(212,34,14,.42);padding:var(--space-3) 1.1rem}.view-product.sticky-mobile-cta-active main.main-content-area{padding-bottom:calc(var(--coupon-cta-height, 72px) + 1rem + env(safe-area-inset-bottom, 0))}.author-avatar{width:90px;height:90px;object-fit:cover;border:3px solid var(--bs-body-bg)}.reassurance-icon{font-size:1.5rem;color:var(--bs-primary)}.author-bio-card{border:none;background-color:var(--bs-body-bg)}.pdp-click-zone{border-radius:var(--radius-lg);transition:transform .18s ease,box-shadow .18s ease;cursor:pointer}.pdp-click-zone:hover,.pdp-click-zone:focus-visible{will-change:transform;transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.08)}.pdp-click-zone:active{transform:translateY(0);box-shadow:none;transition-duration:80ms}.pdp-trust-link,.pdp-trust-link:focus,.pdp-trust-link:hover{background:0 0;outline:0}.pdp-click-zone .author-bio-card--clickable{transition:none}.pdp-click-zone .author-bio-card--clickable:focus,.pdp-click-zone .author-bio-card--clickable:hover{border-color:transparent;background-color:var(--bs-body-bg);outline:0}.pdp-click-zone:hover .animate-pulse,.pdp-click-zone:hover .product-cta-btn{animation-play-state:paused!important}.author-bio-card--clickable{cursor:pointer;transition:box-shadow .18s ease,transform .18s ease}.author-bio-card--clickable:focus,.author-bio-card--clickable:hover{will-change:transform;box-shadow:0 4px 16px rgba(0,0,0,.08);transform:translateY(-2px);outline:0}.author-card-meta h3{margin-bottom:var(--space-2)}.product-store-count-badge{font-size:.95rem;padding:var(--space-2) .8rem}.product-info-trust-zone{border-radius:var(--radius-lg);background-color:var(--bs-secondary-bg,#e9ecef);color:var(--bs-body-color)}.product-info-trust-icon{margin-right:var(--space-2);font-size:1rem}.product-cta-subtext{display:block;margin-top:var(--space-1);font-size:.95rem;opacity:.85}.editorial-take-card,.editorial-who-for-card{background-color:var(--bs-secondary-bg,#f8f9fa);border-color:transparent}.editorial-take-card .card-body,.editorial-who-for-card .card-body{padding:var(--space-4)}.editorial-faq-details{background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#dee2e6);border-radius:.55rem;padding:0;margin-bottom:var(--space-3)}.editorial-faq-details[open]{box-shadow:0 0 0 1px rgba(13,110,253,.12)}.editorial-faq-summary{display:flex;align-items:center;justify-content:space-between;width:100%;cursor:pointer;padding:var(--space-4) 1rem;font-size:1rem;font-weight:600;color:var(--bs-body-color,#212529);list-style:none}.editorial-faq-summary::-webkit-details-marker{display:none}.editorial-faq-summary::after{content:'\2193';font-size:1rem;transition:transform .2s ease;color:var(--bs-secondary-color,#6c757d)}.editorial-faq-details[open]>.editorial-faq-summary::after{transform:rotate(180deg)}.editorial-faq-answer{padding:0 1rem 1rem;line-height:1.7;color:var(--bs-secondary-color,#6c757d)}.product-notjoined-card{background-color:var(--bs-body-bg,#fff)}.sidebar-card{background:var(--bs-body-bg,#fff)!important;color:var(--bs-body-color)!important}.sidebar-panel-title{color:var(--bs-body-color)!important}.sidebar-panel-action{font-size:.75rem;}.sidebar-panel-link{background:var(--bs-body-bg,#fff)!important;color:var(--bs-body-color)!important;border-color:var(--bs-border-color)!important}.sidebar-count-badge{background:var(--bs-secondary-bg)!important;}.compact-dir-link{font-size:.85rem}.compact-dir-link:hover{text-decoration:underline}.site-wing{position:fixed;top:50%;transform:translateY(-50%);width:160px;z-index:90;display:none;overflow:hidden}.site-wing-left{right:calc(50% + 660px + 16px)}.site-wing-right{left:calc(50% + 660px + 16px)}@media (min-width:1668px){.site-wing.site-wing{display:block}}.footer-social-icon{font-size:1.6rem}.sc-card{height:100%;display:flex;flex-direction:column;border:1px solid var(--bs-border-color,rgba(15,23,42,.12));border-radius:var(--radius-lg);background:var(--bs-card-bg,#fff);padding:var(--space-5);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.sc-card:focus-within,.sc-card:hover{border-color:rgba(var(--bs-primary-rgb),.35);box-shadow:0 .75rem 1.75rem rgba(15,23,42,.09);transform:translateY(-2px)}.sc-avatar{width:72px;height:72px;border-radius:1rem;display:grid;place-items:center;font-size:2rem;font-weight:800;line-height:1;flex-shrink:0;text-transform:uppercase;color:var(--bs-primary,#1d4ed8);background:var(--bs-primary-bg-subtle,#f8f9ff);border:1px solid var(--bs-primary-border-subtle,#e9ecf4)}.sc-av-a,.sc-av-b{background:var(--avatar-bg-soft,#eff6ff);color:var(--avatar-text-soft,#1d4ed8)}.sc-av-c,.sc-av-d{background:var(--avatar-color-11,#7c3aed)}.sc-av-e,.sc-av-f{background:var(--avatar-color-1)}.sc-av-g,.sc-av-h{background:var(--avatar-color-2)}.sc-av-i,.sc-av-j{background:var(--avatar-color-3)}.sc-av-k,.sc-av-l{background:var(--avatar-color-4)}.sc-av-m,.sc-av-n{background:var(--avatar-color-5)}.sc-av-o,.sc-av-p{background:var(--avatar-color-6)}.sc-av-q,.sc-av-r{background:var(--avatar-color-7)}.sc-av-s,.sc-av-t{background:var(--avatar-color-8)}.sc-av-u,.sc-av-v{background:var(--avatar-color-9)}.sc-av-w,.sc-av-x{background:var(--avatar-color-10)}.sc-av-y,.sc-av-z{background:var(--avatar-color-11)}.sc-av-num{background:var(--avatar-color-12)}.sc-name{font-size:1.05rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.sc-name a{color:inherit;text-decoration:none}.sc-name a:hover{text-decoration:underline}.sc-badges{display:flex;flex-wrap:wrap;gap:.35rem}.sc-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.72rem;font-weight:600;padding:var(--space-1) .52rem;border-radius:999px;line-height:1;white-space:nowrap}.sc-badge-verified{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.sc-badge-active{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe}.sc-badge-curated{background:#faf5ff;color:#7e22ce;border:1px solid #e9d5ff}.sc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.sc-metric{border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);padding:var(--space-2) .6rem;background:var(--bs-light,#f8f9fa);text-align:center}.sc-metric strong{display:block;font-size:1.1rem;line-height:1}.sc-metric span{font-size:.72rem;color:var(--bs-secondary-color,#6c757d)}.sc-links-label{font-size:.75rem;font-weight:600;color:var(--bs-secondary-color,#6c757d);margin-bottom:var(--space-1)}.sc-pill-links{display:flex;flex-wrap:wrap;gap:.4rem}.sc-pill-links a{display:inline-block;font-size:.8rem;color:var(--bs-body-color);background:var(--bs-light,#f8f9fa);border:1px solid var(--bs-border-color);border-radius:999px;padding:var(--space-1) .55rem;text-decoration:none;transition:background .12s ease,color .12s ease}.sc-pill-links a:hover{background:rgba(var(--bs-primary-rgb),.08);color:var(--bs-primary);border-color:rgba(var(--bs-primary-rgb),.3)}.grid-col-eq{display:flex;align-items:stretch}.grid-col-eq>.card,.grid-col-eq>a{height:100%;display:flex;flex-direction:column}.grid-col-eq .card-body{flex:1 1 auto}.merchant-favicon-wrap{height:32px;display:flex;align-items:center;justify-content:center}.merchant-favicon{border-radius:6px;object-fit:contain;display:block}.footer-badge-link{display:flex;align-items:stretch;width:100%;text-decoration:none;color:inherit}.footer-badge-inner{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:0 .5rem}.footer-badge-title{margin-bottom:0;font-weight:700;font-size:var(--bs-small,.875em)}.desc-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.desc-toggle-label{display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;user-select:none;font-size:.875rem;font-weight:600;color:var(--bs-primary);margin-bottom:var(--space-2);padding:var(--space-1) .75rem .3rem 0;border:none;background:0 0;transition:color .15s ease}.desc-toggle-label:hover{color:var(--bs-link-hover-color,#0a58ca)}.desc-toggle-label .btn-text::before{content:"Show description"}.desc-toggle:checked~.desc-toggle-label .btn-text::before{content:"Hide description"}.desc-toggle-label .bi-chevron-down{display:inline-block;transition:transform .2s ease;font-size:.85rem}.desc-toggle:checked~.desc-toggle-label .bi-chevron-down{transform:rotate(180deg)}.product-description-text{display:none;margin-top:var(--space-2)}.desc-toggle:checked~.product-description-text{display:block}.product-description-text *,.product-description-text em,.product-description-text i:not([class^=bi]){font-style:normal!important}.meta-row-toggle{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.meta-row-toggle-label{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;font-size:.78rem;color:var(--bs-secondary-color,#6c757d);user-select:none;gap:var(--space-1);padding:var(--space-1) 0}.meta-row-toggle-label:hover{color:var(--bs-body-color)}.meta-chevron{display:inline-block;font-size:.7rem;transition:transform .2s ease}.meta-row-toggle:checked~.meta-row-toggle-label .meta-chevron{will-change:transform;transform:rotate(180deg)}.meta-row-toggle:not(:checked)~.meta-row-toggle-label .meta-chevron{will-change:transform}.meta-show-txt{display:inline}.meta-hide-txt{display:none}.meta-row-toggle:checked~.meta-row-toggle-label .meta-show-txt{display:none}.meta-row-toggle:checked~.meta-row-toggle-label .meta-hide-txt{display:inline}@media (max-width:767.98px){.meta-row-content.meta-row-content{display:none!important}.meta-row-toggle:checked~.meta-row-content,.meta-row-toggle:checked~.meta-row-toggle-label~.meta-row-content.meta-row-toggle:checked~.meta-row-content,.meta-row-toggle:checked~.meta-row-toggle-label~.meta-row-content{display:flex!important;flex-wrap:wrap;margin-top:.35rem}}.related-deal-card{cursor:pointer;color:inherit;border:.5px solid var(--bs-border-color,#dee2e6);border-radius:var(--radius-md);transition:transform .15s ease,box-shadow .15s ease;overflow:visible}.related-deal-card:hover{will-change:transform;transform:translateY(-3px);box-shadow:0 6px 20px rgba(0,0,0,.1);color:inherit;text-decoration:none}.related-deal-card:active{transform:translateY(-1px)}.related-deal-img-wrap{position:relative;background:var(--bs-secondary-bg,#f8f9fa);overflow:visible}.related-deal-badge{position:absolute;top:-10px;right:-10px;width:56px;height:56px;background:var(--bs-danger,#dc3545);color:#fff;font-size:.78rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.15;box-shadow:0 2px 6px rgba(220,53,69,.45);pointer-events:none;z-index:10;white-space:pre-line}.related-deal-name{font-size:.82rem;font-weight:500;line-height:1.4;color:var(--bs-body-color);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.related-deal-price-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.related-deal-price{font-size:1rem;font-weight:700;color:var(--bs-body-color)}.related-deal-was{font-size:.78rem;color:var(--bs-secondary-color,#6c757d);text-decoration:line-through}.related-deal-store{font-size:.75rem;color:var(--bs-secondary-color,#6c757d);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.related-deal-btn{pointer-events:none;font-size:.8rem}.related-deal-savings{font-size:.75rem;font-weight:600;color:#16a34a;margin:0}.related-items-link{color:inherit;display:block}.related-items-link:focus,.related-items-link:hover{text-decoration:none}.related-deal-badge--featured{background:#f59e0b;color:#1a1a1a;font-size:.7rem;box-shadow:0 2px 6px rgba(245,158,11,.45)}.yml-section{margin-top:var(--space-1);padding-top:var(--space-3);border-top:1px solid var(--bs-border-color)}.yml-header{display:flex;align-items:center;gap:.75rem;margin-bottom:var(--space-5);flex-wrap:wrap}.yml-header-icon{background:linear-gradient(135deg,#ff6b35,#f7c59f);border-radius:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.yml-header-icon i{font-size:1.4rem;color:#fff}.yml-header-text h2{margin:0;font-size:1.25rem;font-weight:800;line-height:1.1}.yml-header-text p{margin:0;font-size:.8rem;color:var(--bs-secondary-color)}.yml-group-label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-2);padding:var(--space-1) .6rem;border-radius:6px;display:inline-block}.yml-label-related{background:rgba(var(--bs-primary-rgb),.1);color:var(--bs-primary)}.yml-label-featured{background:linear-gradient(90deg,#ff6b35,#f7931e);color:#fff}.yml-label-discovery{background:rgba(108,117,125,.08);color:var(--bs-secondary-color);border:1px solid rgba(108,117,125,.18)}.yml-card{display:block;text-decoration:none;color:inherit;border-radius:var(--radius-lg);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;height:100%;position:relative;cursor:pointer}.yml-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.18);text-decoration:none;color:inherit}.yml-card-related{border:2px solid var(--bs-border-color);background:var(--bs-body-bg)}.yml-card-related:hover{border-color:var(--bs-primary)}.yml-card-featured{border:2px solid #ff6b35;background:var(--bs-body-bg)}.yml-card-featured:hover{border-color:#e55a25;box-shadow:0 12px 32px rgba(255,107,53,.25)}.yml-card-discovery{border:2px solid rgba(108,117,125,.22);background:rgba(var(--bs-body-bg-rgb),.95)}.yml-card-discovery:hover{border-color:rgba(108,117,125,.45);box-shadow:0 10px 24px rgba(0,0,0,.12)}.yml-cta-discovery{background:0 0;color:var(--bs-secondary-color);border:1px solid rgba(108,117,125,.35);box-shadow:none}.yml-card:hover .yml-cta-discovery{background:rgba(108,117,125,.08)}.yml-discovery-badge{font-size:.72rem;font-weight:700;color:var(--bs-secondary-color);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.06em}.yml-img-wrap{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--bs-light)}.yml-img-wrap img{width:100%;height:100%;object-fit:contain;padding:var(--space-2);transition:transform .22s ease}.yml-card:hover .yml-img-wrap img{transform:scale(1.05)}.yml-discount-badge{position:absolute;top:8px;right:8px;background:#dc3545;color:#fff;font-size:.68rem;font-weight:800;border-radius:50%;width:44px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1;box-shadow:0 2px 6px rgba(220,53,69,.4)}.yml-featured-crown{position:absolute;top:8px;left:8px;background:linear-gradient(135deg,#ff6b35,#f7931e);color:#fff;font-size:.68rem;font-weight:700;border-radius:20px;padding:var(--space-1) .5rem;line-height:1.3;box-shadow:0 2px 6px rgba(255,107,53,.4)}.yml-body{padding:var(--space-3)}.yml-name{font-size:.82rem;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-2);color:var(--bs-body-color)}.yml-price-row{display:flex;align-items:baseline;gap:.4rem;margin-bottom:var(--space-2);flex-wrap:wrap}.yml-price{font-size:1.05rem;font-weight:800;color:var(--bs-body-color)}.yml-was{font-size:.75rem;color:var(--bs-secondary-color);text-decoration:line-through}.yml-save{font-size:.7rem;font-weight:700;color:#198754;background:rgba(25,135,84,.1);border-radius:4px;0 .35rem}.yml-store{font-size:.72rem;color:var(--bs-secondary-color);margin-bottom:var(--space-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yml-cta{display:block;text-align:center;font-size:.78rem;font-weight:700;border-radius:8px;padding:var(--space-2) .5rem;margin-top:auto;transition:filter .15s ease}.yml-cta-related{background:var(--bs-primary);color:#fff}.yml-card:hover .yml-cta-related{filter:brightness(1.1)}.yml-cta-featured{background:linear-gradient(90deg,#ff6b35,#f7931e);color:#fff;box-shadow:0 2px 8px rgba(255,107,53,.35)}.yml-card:hover .yml-cta-featured{filter:brightness(1.12)}.scroll-to-top{position:fixed;bottom:1.5rem;right:1.25rem;width:42px;height:42px;border-radius:50%;background:var(--bs-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;z-index:1030;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;box-shadow:0 2px 8px rgba(0,0,0,.18)}.scroll-to-top.visible{opacity:1;pointer-events:auto}.scroll-to-top:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.22)}.product-peek-strip{display:flex;align-items:stretch;gap:6px;margin-top:var(--space-2);height:52px;border-radius:var(--radius-sm);overflow:hidden;background:var(--bs-tertiary-bg,#f8f9fa);border:1px solid var(--bs-border-color,#dee2e6);padding:6px;box-sizing:border-box}.product-peek-ghost{flex:0 0 44px;border-radius:4px;background:rgba(0,0,0,.06);border:1px solid rgba(0,0,0,.08);position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.product-peek-ghost--left::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,rgba(255,255,255,0) 0,rgba(255,255,255,.45) 100%);pointer-events:none}.product-peek-ghost--right::after{content:'';position:absolute;inset:0;background:linear-gradient(to left,rgba(255,255,255,0) 0,rgba(255,255,255,.45) 100%);pointer-events:none}.product-peek-ghost img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.45;filter:blur(1.5px);display:block}.product-peek-active{flex:1 1 auto;border-radius:4px;background:var(--bs-body-bg,#fff);border:2px solid var(--bs-primary,#0d6efd);overflow:hidden;display:flex;align-items:center;justify-content:center}.product-peek-active img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.product-peek-count{position:absolute;bottom:3px;right:4px;font-size:.7rem;font-weight:600;color:var(--bs-secondary-color,#6c757d);line-height:1;z-index:2;pointer-events:none}@media (prefers-color-scheme:dark){.product-peek-ghost.product-peek-ghost{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1)}}.product-peek-ghost--left::after{background:linear-gradient(to right,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%)}.product-peek-ghost--right::after{background:linear-gradient(to left,rgba(0,0,0,0) 0,rgba(0,0,0,.35) 100%)}.related-deal-card{background-color:var(--bs-card-bg,#1e1e2e)!important;border-color:rgba(255,255,255,.12)!important}.related-deal-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.45);border-color:rgba(255,255,255,.25)}.related-deal-img-wrap{background:rgba(255,255,255,.05)!important}.related-deal-savings{color:#4ade80!important}.related-deal-store,.related-deal-was{color:rgba(255,255,255,.55)!important}.product-cta-btn.animate-pulse{box-shadow:0 0 0 0 rgba(var(--bs-primary-rgb,13,110,253),.5)!important}.ph{margin-bottom:var(--space-3)}.ph h1{margin-bottom:var(--space-1);line-height:1.2}.ph__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.25rem .4rem;font-size:.82rem;color:var(--bs-secondary-color,#666);margin-bottom:var(--space-2);line-height:1.6}.ph__meta .sep{color:var(--bs-border-color,#ddd);padding:0 .05rem}.ph p{font-size:.85rem;color:var(--bs-secondary-color,#666);margin:0 0 .45rem;line-height:1.45}.ph__dd{position:relative;display:inline-block}.ph__dd>summary{display:inline-flex;align-items:center;gap:.2rem;cursor:pointer;font-size:.8rem;padding:var(--space-1) .42rem;border-radius:.3rem;border:1px solid var(--bs-border-color,#ccc);background:var(--bs-body-bg,#fff);color:var(--bs-secondary-color,#444);list-style:none;user-select:none;white-space:nowrap}.ph__dd>summary::-webkit-details-marker{display:none}.ph__dd>summary .dd-caret{font-size:.7rem;color:var(--bs-secondary-color,#aaa);0}.ph__dd>summary .dd-label{color:var(--bs-secondary-color,#999);font-size:.74rem;0}.ph__dd__panel{position:absolute;top:calc(100% + 3px);left:0;z-index:400;background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color,#d0d0d0);border-radius:.4rem;box-shadow:0 4px 14px rgba(0,0,0,.11);min-width:160px;max-height:260px;overflow-y:auto;padding:var(--space-1) 0}.ph__dd--right .ph__dd__panel{left:auto;right:0}.ph__dd__panel a,.ph__dd__panel span{display:block;padding:var(--space-1) .85rem;font-size:.8rem;text-decoration:none;color:var(--bs-body-color,#333);white-space:nowrap}.ph__dd__panel a:hover{background:var(--bs-tertiary-bg,#f4f6ff);color:var(--bs-primary)}.ph__dd__panel .dd-active{font-weight:600;color:var(--bs-primary);background:var(--bs-primary-bg-subtle,#eef3ff)}.ph__dd__panel::-webkit-scrollbar{width:4px}.ph__dd__panel::-webkit-scrollbar-thumb{background:var(--bs-border-color,#ddd);border-radius:4px}.cat-intro{font-size:.93rem;color:var(--bs-secondary-color,#555);line-height:1.6;margin:var(--space-2) 0 1.1rem}.category-editorial{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--bs-border-color,#dee2e6);font-size:.9rem;line-height:1.65;color:var(--bs-body-color,#333)}.category-editorial h2{font-size:1.1rem;font-weight:600;line-height:1.35;margin:var(--space-5) 0 .35rem;color:var(--bs-body-color)}.category-editorial h2:first-child{margin-top:0}.category-editorial h3{font-size:1rem;font-weight:600;margin:var(--space-4) 0 .3rem;color:var(--bs-secondary-color)}.category-editorial h4{font-size:.9375rem;font-weight:600;margin:var(--space-3) 0 .25rem;color:var(--bs-secondary-color)}.category-editorial h5{font-size:.875rem;font-weight:600;margin:var(--space-3) 0 .25rem;color:var(--bs-secondary-color)}.category-editorial p{font-size:.9rem;line-height:1.65;color:var(--bs-secondary-color);margin-bottom:var(--space-2)}.category-editorial strong{font-weight:600;color:var(--bs-body-color,#222)}.brand-editorial,.store-editorial{margin-top:var(--space-7);padding-top:var(--space-5);border-top:1px solid var(--bs-border-color,#e9ecef);font-size:.9rem;line-height:1.7;color:var(--bs-body-color,#333)}.brand-editorial h2,.store-editorial h2{font-size:1.05rem;font-weight:600;margin:var(--space-5) 0 .4rem;color:var(--bs-heading-color,#1a1a2e)}.brand-editorial h2:first-child,.store-editorial h2:first-child{margin-top:0}.brand-editorial p,.store-editorial p{margin:0 0 .7rem}.brand-editorial strong,.store-editorial strong{font-weight:600;color:var(--bs-body-color,#222)}.admin-feature-bar{position:fixed;bottom:0;left:0;right:0;z-index:9999;background:rgba(20,20,28,.94);backdrop-filter:blur(6px);color:#fff;font-size:.78rem;padding:7px 18px;display:flex;align-items:center;gap:12px}.admin-feature-bar strong{color:#ffd966}.admin-feature-bar span{opacity:.76}.admin-feature-bar .admin-bar-hi{color:#6cf17c;font-weight:700}.admin-feature-form{position:absolute;top:7px;left:7px;z-index:100;margin:0;padding:0;line-height:1}.admin-feature-form button{width:34px;height:34px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(25,135,84,.92);color:#fff;font-size:1.15rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.45);transition:transform .12s,box-shadow .12s;padding:0}.admin-feature-form button:hover{transform:scale(1.18);box-shadow:0 4px 14px rgba(0,0,0,.5)}.admin-feature-form.is-featured button{background:rgba(200,140,0,.95);border-color:#ffd966}.admin-feature-form--inline{position:static;display:block;margin:var(--space-2) 0 0;padding:0;line-height:1}.admin-feature-form--inline button{width:100%;height:auto;border-radius:8px;padding:var(--space-2) .75rem;font-size:.82rem;font-weight:600;gap:.35rem;display:flex;align-items:center;justify-content:center}.category-list-item{display:flex;justify-content:space-between;align-items:center;background:var(--bs-body-bg,#fff)!important;color:var(--bs-body-color,#212529)!important;border-color:var(--bs-border-color,#dee2e6)!important}.category-list-item a{color:var(--bs-body-color,#212529)!important;text-decoration:none}.category-list-item a:hover{color:var(--bs-primary)!important}.category-list-item .list-item-count{color:var(--bs-secondary-color,#6c757d)!important}.footer-version-label{font-size:.7rem;color:#e8e8e8;letter-spacing:.03em;opacity:.45}.mob-sidebar-chk{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.mob-sidebar-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--space-2) 0;font-size:.875rem;font-weight:600;color:var(--bs-secondary-color,#6c757d);user-select:none}.mob-sidebar-chevron{transition:transform .2s ease;font-size:.8rem}.mob-sidebar-chk:checked~.mob-sidebar-label .mob-sidebar-chevron{transform:rotate(180deg)}.mob-sidebar-content{display:none}.mob-sidebar-chk:checked~.mob-sidebar-content{display:block}.fsr{display:flex;align-items:flex-start;flex-wrap:nowrap;gap:.4rem;margin-bottom:var(--space-1);font-size:.82rem;overflow:hidden}.fsr__label{color:var(--bs-secondary-color);white-space:nowrap;flex-shrink:0;font-size:.75rem;padding-top:var(--space-1)}.fsr__wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.fsr__wrap::-webkit-scrollbar{display:none}.fsr__track{display:flex;flex-wrap:wrap;gap:.25rem .3rem;align-items:center}.fsr__track a{display:inline-flex;align-items:center;padding:var(--space-1) .55rem;font-size:.75rem;font-weight:400;white-space:nowrap;color:var(--bs-secondary-color);text-decoration:none;border:1px solid var(--bs-border-color);border-radius:999px;background:0 0;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.fsr__track a:hover{color:var(--bs-body-color);border-color:var(--bs-secondary-color);background-color:var(--bs-secondary-bg,rgba(0,0,0,.04));text-decoration:none}.fsr__track .dot{display:none}.fsr-section{margin-top:var(--space-5);padding-top:var(--space-3);border-top:1px solid var(--bs-border-color,#dee2e6)}.filter-chip-group{display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;gap:.5rem;padding:var(--space-2) 0;margin:var(--space-2) 0}.filter-chip-group::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--space-2) 1rem;font-size:.85rem;font-weight:500;white-space:nowrap;border:1px solid var(--bs-border-color);border-radius:999px;background-color:transparent;color:var(--bs-body-color);text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease;flex-shrink:0;cursor:pointer}.filter-chip.active,.filter-chip:hover{background-color:var(--bs-primary);color:#fff;border-color:var(--bs-primary);text-decoration:none}.cta-card{background:var(--bs-primary)!important;color:var(--bs-white)!important;border-radius:var(--radius-sm)}.cta-card .lead,.cta-card h1,.cta-card h2,.cta-card h3,.cta-card h4,.cta-card p{color:var(--bs-white)!important}.cta-card .btn-cta-primary{background:var(--bs-white)!important;color:var(--bs-primary)!important;border:2px solid var(--bs-white)!important}.cta-card .btn-cta-primary:hover{background:0 0!important;color:var(--bs-white)!important;border-color:var(--bs-white)!important}.cta-card .btn-cta-secondary{background:0 0!important;color:var(--bs-white)!important;border:2px solid var(--bs-white)!important}.cta-card .btn-cta-secondary:hover{background:var(--bs-white)!important;color:var(--bs-primary)!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid currentColor;outline-offset:2px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:var(--space-6) 1rem;text-align:center;color:var(--bs-secondary-color,#6c757d);border:1px dashed var(--bs-border-color,#dee2e6);border-radius:var(--radius-lg);background:linear-gradient(135deg,rgba(13,110,253,.04),rgba(13,110,253,.02))}.empty-state .empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;background:rgba(13,110,253,.12);color:var(--bs-primary,#0d6efd)}.theme-picker-card{transition:transform 160ms ease,box-shadow 160ms ease,border-color 160ms ease}.theme-picker-card:focus-within,.theme-picker-card:hover{transform:translateY(-2px);box-shadow:0 .5rem 1.25rem rgba(15,23,42,.12);border-color:var(--bs-primary,#0d6efd)!important}.hero-overlay{border-radius:inherit;overflow:hidden;z-index:1;background:linear-gradient(to right,rgba(0,0,0,.55) 0,rgba(0,0,0,.5) 65%,rgba(0,0,0,.15) 85%,rgba(0,0,0,.05) 100%)}.hero-btn .bi{vertical-align:middle;line-height:1}.hp-list-item{min-width:0;text-decoration:none}.hp-list-item:hover{background:var(--bs-tertiary-bg)}.hp-list-item:hover .text-body{color:var(--bs-link-color)}.hp-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%;display:inline-block}.hp-dot--success{background:var(--bs-success)}.hp-dot--warning{background:var(--bs-warning)}.hp-list-name{flex-grow:1;font-size:.875rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.text-logo-wrap{font-weight:900;letter-spacing:-.5px;position:relative}.text-logo-tld{font-weight:400;opacity:.8}.text-logo-accent{color:var(--bs-primary)}.mobile-nav-section-label{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.icon-cat{font-size:1.75rem}.icon-xl{font-size:48px}.icon-sm-fixed{font-size:.9rem;flex-shrink:0}.pdp-list-item,.sitemap-list-item{background:#fff!important;;border-color:#dee2e6!important}.pdp-list-wrap{background:#fff!important}.kwh-hero{background:linear-gradient(135deg,#0d6efd 0,#0a58ca 50%,#084298 100%);border-radius:var(--radius-lg);color:#fff;position:relative;overflow:hidden}.kwh-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(255,255,255,.1) 0,transparent 55%),radial-gradient(ellipse at 20% 90%,rgba(255,255,255,.06) 0,transparent 50%);pointer-events:none}.kwh-hero-inner{position:relative;z-index:1}.kwh-stat-pill{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:2rem;padding:var(--space-1) .85rem;font-size:.82rem;font-weight:600;white-space:nowrap}.kwh-stat-pill .kwh-num{font-size:1.05rem;font-weight:700}.kwh-badge-primary{background:rgba(255,255,255,.2);color:#fff;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.kwh-badge-secondary{background:rgba(255,255,255,.15);color:rgba(255,255,255,.85);font-size:.72rem}.kwh-hero-title{font-size:clamp(1.5rem,4vw,2.2rem);font-weight:800;line-height:1.15;color:#fff}.kwh-hero-desc{max-width:560px;color:rgba(255,255,255,.85);font-size:.95rem;line-height:1.55}.kwh-hero-desc-alt{max-width:560px;color:rgba(255,255,255,.8);font-size:.92rem;line-height:1.5}.kwh-search{max-width:480px}.kwh-trust-sep{opacity:.8;margin-left:var(--space-1)}.kwh-section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-2);border-bottom:2px solid var(--bs-border-color,#dee2e6)}.kwh-section-head h2{font-size:1.05rem;font-weight:700;margin:0;color:var(--bs-body-color)}.kwh-section-head a{font-size:.8rem;text-decoration:none;color:var(--bs-primary);white-space:nowrap}.kwh-section-head a:hover{text-decoration:underline}.kwh-cat-tile{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) .85rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius,.375rem);text-decoration:none;color:var(--bs-body-color);background:var(--bs-body-bg,#fff);transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;height:100%}.kwh-cat-tile:hover{border-color:var(--bs-primary,#0d6efd);box-shadow:0 2px 8px rgba(13,110,253,.12);transform:translateY(-1px);color:var(--bs-primary,#0d6efd)}.kwh-cat-name{font-size:.85rem;font-weight:500;line-height:1.3}.kwh-cat-count{font-size:.72rem;font-weight:700;background:var(--bs-primary-bg-subtle,#cfe2ff);color:var(--bs-primary-text-emphasis,#052c65);border-radius:2rem;padding:var(--space-1) .55rem;margin-left:var(--space-2);flex-shrink:0}.kwh-price-card{border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--radius-md);padding:var(--space-4);text-align:center;background:var(--bs-body-bg,#fff);height:100%;position:relative;overflow:hidden}.kwh-price-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--bs-primary,#0d6efd);transform-origin:left;transform:scaleX(0);transition:transform .3s ease}.kwh-price-card:hover::after{transform:scaleX(1)}.kwh-price-label{font-weight:700;font-size:.95rem}.kwh-price-count{font-size:.78rem;color:var(--bs-secondary-color,#6c757d);margin-top:var(--space-1)}.kwh-price-bar-track{height:5px;background:var(--bs-border-color,#dee2e6);border-radius:3px;margin-top:var(--space-3);overflow:hidden}.kwh-price-bar-fill{height:100%;background:linear-gradient(90deg,var(--bs-primary,#0d6efd),#6ea8fe);border-radius:3px;transition:width .6s ease}.kwh-recent-card{display:block;text-decoration:none;color:var(--bs-body-color);border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--radius-md);overflow:hidden;height:100%;transition:box-shadow .18s ease,transform .18s ease;background:var(--bs-body-bg,#fff)}.kwh-recent-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1);transform:translateY(-3px);color:var(--bs-body-color)}.kwh-recent-img{width:100%;height:150px;object-fit:contain;background:var(--bs-secondary-bg,#f8f9fa);padding:var(--space-2);display:block}.kwh-recent-img-placeholder{width:100%;height:150px;background:var(--bs-secondary-bg,#f8f9fa);display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--bs-secondary-color,#6c757d)}.kwh-recent-body{padding:var(--space-3) .75rem .75rem}.kwh-recent-cat{font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;color:var(--bs-primary,#0d6efd);font-weight:600;margin-bottom:var(--space-1)}.kwh-recent-name{font-size:.82rem;font-weight:500;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.2em}.kwh-recent-price{margin-top:var(--space-2);font-weight:700;font-size:.88rem;color:var(--bs-body-color)}.kwh-recent-brand{font-size:.7rem;color:var(--bs-secondary-color,#6c757d)}.kwh-brand-row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) .85rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius,.375rem);text-decoration:none;color:var(--bs-body-color);background:var(--bs-body-bg,#fff);transition:border-color .15s ease,background .15s ease}.kwh-brand-row:hover{border-color:var(--bs-warning,#ffc107);background:var(--bs-warning-bg-subtle,#fff8e1);color:var(--bs-body-color)}.kwh-brand-name{font-size:.85rem;font-weight:500}.kwh-brand-badge{font-size:.7rem;font-weight:700;background:var(--bs-warning-bg-subtle,#fff3cd);color:var(--bs-warning-text-emphasis,#664d03);border-radius:2rem;padding:var(--space-1) .55rem;flex-shrink:0}.kwh-store-row{display:block;padding:var(--space-2) .85rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--bs-border-radius,.375rem);text-decoration:none;color:var(--bs-body-color);background:var(--bs-body-bg,#fff);transition:border-color .15s ease,background .15s ease}.kwh-store-row:hover{border-color:var(--bs-success,#198754);background:var(--bs-success-bg-subtle,#d1e7dd);color:var(--bs-body-color)}.kwh-store-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-1)}.kwh-store-name{font-size:.85rem;font-weight:600}.kwh-store-count{font-size:.72rem;color:var(--bs-secondary-color,#6c757d)}.kwh-store-bar-track{height:3px;background:var(--bs-border-color,#dee2e6);border-radius:2px;overflow:hidden}.kwh-store-bar-fill{height:100%;background:var(--bs-success,#198754);border-radius:2px}.kwh-tag{display:inline-flex;align-items:center;gap:.35rem;padding:var(--space-1) .7rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:2rem;text-decoration:none;color:var(--bs-body-color);font-size:.8rem;background:var(--bs-body-bg,#fff);transition:border-color .12s ease,background .12s ease,color .12s ease;white-space:nowrap}.kwh-tag:hover{border-color:var(--bs-primary,#0d6efd);background:var(--bs-primary-bg-subtle,#cfe2ff);color:var(--bs-primary-text-emphasis,#052c65)}.kwh-tag-count{font-size:.68rem;color:var(--bs-secondary-color,#6c757d)}.kwh-search .form-control{border-right:0;border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.15);color:#fff;border-radius:var(--radius-md) 0 0 var(--radius-md)}.kwh-search .form-control::placeholder{color:rgba(255,255,255,.65)}.kwh-search .form-control:focus{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.7);box-shadow:none;color:#fff}.kwh-search .btn{border-color:rgba(255,255,255,.4);background:rgba(255,255,255,.2);color:#fff;font-weight:600;border-radius:0 var(--radius-md) var(--radius-md) 0}.kwh-search .btn:hover{background:rgba(255,255,255,.3)}.kwh-quicklinks{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:var(--space-3)}.kwh-quicklink{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:600;padding:var(--space-1) .75rem;border-radius:2rem;text-decoration:none;border:1px solid rgba(255,255,255,.35);color:rgba(255,255,255,.9);background:rgba(255,255,255,.1);transition:background .15s ease}.kwh-quicklink:hover{background:rgba(255,255,255,.22);color:#fff}.kwh-footer{background:var(--bs-secondary-bg,#f8f9fa);border-radius:var(--bs-border-radius-lg,.75rem);padding:var(--space-5);border:1px solid var(--bs-border-color,#dee2e6)}.coupon-card{border-radius:var(--radius-lg);overflow:hidden}.coupon-card-accent{height:6px}.coupon-logo-wrap{width:72px;height:72px;background:#fff;padding:var(--space-2);border:1px solid #e9ecef;border-radius:12px;display:flex;align-items:center;justify-content:center}.coupon-logo-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:6px}.coupon-code-box{border:2px dashed #0d6efd;background-color:#f8f9fa}.coupon-code-text{letter-spacing:.15em}.coupon-terms{line-height:1.6;font-size:.9rem}.cc-expiry-label{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-img-placeholder{min-height:280px;display:flex;align-items:center;justify-content:center;background:#f8f9fa}.product-badge-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:7px;background:#0a7abf;box-shadow:0 2px 8px rgba(0,0,0,.3)}.product-share-group{position:absolute;top:0;left:0;margin:var(--space-2);z-index:20;display:flex;flex-direction:column;gap:5px;pointer-events:auto}.psb-pin{width:38px;height:38px;border-radius:7px;display:flex;align-items:center;justify-content:center;text-decoration:none;background:#e60023;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:transform .15s ease}.psb-pin:hover{transform:scale(1.1);text-decoration:none}.psb-pin svg{display:block}.a2a_kit.a2a_kit_size_38{width:38px}.a2a_kit .a2a_button_copy_link{display:none!important}.product-discount-off{font-size:.75rem;opacity:.9}.product-main-img{max-height:420px;width:100%;object-fit:contain;object-position:center}.product-img-min-h{min-height:280px}.color-card-swatch{height:72px}.color-dot-swatch{width:12px;height:12px;flex-shrink:0}.custom-field-image{max-width:200px;max-height:200px}.social-card{transition:box-shadow .15s,transform .15s}.social-card:hover{box-shadow:0 .25rem .75rem rgba(0,0,0,.1);transform:translateY(-2px)}.fb-page-wrapper iframe{border-radius:var(--radius-md)}.pdp-attr-link-icon{font-size:.9rem;flex-shrink:0}.cursor-pointer{cursor:pointer}.pdp-sticky-name{max-width:150px}.price-display{line-height:1}.mobile-offcanvas-menu .nav-link,.navbar .nav-link{min-height:44px;display:inline-flex;align-items:center}.navbar-toggler{min-width:44px;min-height:44px}.btn-close{min-width:44px;min-height:44px}.store-logo-wrap{height:56px;padding:6px 10px;overflow:hidden}.store-logo-img{max-height:100%;max-width:100%;object-fit:contain}.store-discount-lbl{font-size:.95rem}.search-landing-form{max-width:620px}.not-found-form-wrap{max-width:500px}.icon-32{font-size:32px}.icon-custom-sz{font-size:var(--icon-sz,1em);line-height:1}.store-logo{max-height:100px;max-width:100%;object-fit:contain}.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;background-color:rgba(var(--bs-primary-rgb),.1);border-radius:8px;margin-bottom:var(--space-2);transition:background-color .2s ease}.footer-icon:hover{background-color:rgba(var(--bs-primary-rgb),.15)}.footer-icon i{font-size:1.5rem;color:var(--bs-primary)}.footer-icon-wrapper{display:flex;flex-direction:column;align-items:center;text-align:center}.footer-icon-text{font-size:.85rem;font-weight:500;color:var(--bs-body-color)}.breadcrumb-mobile{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;touch-action:pan-x;scrollbar-width:none;-ms-overflow-style:none}.breadcrumb-mobile::-webkit-scrollbar{display:none}.breadcrumb-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:767.98px){.breadcrumb-container.breadcrumb-container{padding:.5rem 0}.breadcrumb-item.breadcrumb-item{display:inline-flex;align-items:center}}.store-logo-box,.store-logo-box-sm,.store-logo-box-xs{display:flex;align-items:center;justify-content:center;background-color:var(--bs-tertiary-bg,#f4f6f8);border:1px solid var(--bs-border-color,#dde1e7);border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.store-logo-box{width:64px;height:64px}.store-logo-box-md{width:56px;height:56px}.store-logo-box-lg{width:112px;height:112px}.store-logo-box-sm{width:40px;height:40px}.store-logo-box-xs{width:48px;height:48px}.store-logo-box img,.store-logo-box-lg img,.store-logo-box-md img,.store-logo-box-sm img,.store-logo-box-xs img{max-width:100%;max-height:100%;object-fit:contain;display:block}.min-w-110{min-width:110px}.min-w-220{min-width:220px}.w-180{width:180px}.w-60{width:60px}.w-120{width:120px}.fixed-width-320{width:320px;max-width:100%}.fixed-width-380{width:380px;max-width:100%}.max-w-70{max-width:70%}.product-thumb{width:48px;height:48px;object-fit:cover}.store-logo-preview{max-width:160px;max-height:80px;object-fit:contain}.resize-vertical{resize:vertical}.card-rounded-15{border-radius:15px}.log-console-sm{max-height:300px;font-family:var(--font-family-mono);font-size:.85rem}.progress.progress-thin{height:6px}.progress.progress-xs{height:4px}.theme-card-img-fallback{height:200px;display:flex;align-items:center;justify-content:center}#cs-more-chk{display:none}.cs-xpanel{display:none;margin-top:var(--space-2)}#cs-more-chk:checked~.cs-xpanel{display:block}.share-toggle-check{display:none}.share-btn-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.share-btn-item .btn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.78rem}.share-extra-panel{display:none;margin-top:var(--space-2)}.share-toggle-check:checked~.share-extra-panel{display:block}.share-toggle-check:checked~.share-btn-row .sxt-show{display:none}.share-toggle-check:checked~.share-btn-row .sxt-hide{display:inline}.sxt-hide{display:none}.pill-base{display:inline-block;padding:var(--space-1) .75rem;font-size:.82rem;font-weight:500;border-radius:50rem;line-height:1.2}.pill-done,.pill-success{background-color:var(--bs-success-bg-subtle);color:var(--bs-success-text-emphasis)}.pill-left,.pill-warn{background-color:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis)}.pill-none,.pill-muted{background-color:var(--bs-secondary-bg-subtle);color:var(--bs-secondary-text-emphasis)}.pill-info{background-color:var(--bs-info-bg-subtle);color:var(--bs-info-text-emphasis)}.truncate-80{max-width:80px}.truncate-160{max-width:160px}.truncate-220{max-width:220px}.truncate-250{max-width:250px}.truncate-260{max-width:260px}.truncate-340{max-width:340px}.step-circle-base{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-weight:600;font-size:.9rem;flex-shrink:0}.step-circle{background-color:var(--bs-tertiary-bg);color:var(--bs-body-color)}.step-circle-primary{background-color:var(--bs-primary-bg-subtle);color:var(--bs-primary-text-emphasis)}.step-circle-success{background-color:var(--bs-success-bg-subtle);color:var(--bs-success-text-emphasis)}.code-snippet{display:block;padding:var(--space-1) .5rem;background-color:var(--bs-tertiary-bg);border-radius:.25rem;font-family:var(--font-family-mono);font-size:.82rem;color:var(--bs-body-color);word-break:break-all}.scroll-y-base{overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.scroll-y{max-height:240px}.scroll-y-md{max-height:320px}.scroll-y-lg{max-height:380px}.merchant-card{background-color:var(--bs-card-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-lg);padding:var(--space-4);transition:box-shadow .15s ease,transform .15s ease}.merchant-card:hover{transform:translateY(-3px);box-shadow:0 .5rem 1.5rem rgba(0,0,0,.08)}.nav-section-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color);padding:var(--space-2) 1rem .25rem;font-weight:600}.nav-item-beta{font-size:.7rem;font-weight:600;letter-spacing:.03em;background:var(--bs-warning-bg-subtle);color:var(--bs-warning-text-emphasis);0 .35rem;border-radius:.25rem;margin-left:auto;text-transform:uppercase}.log-tail{margin:0;padding:var(--space-4);max-height:320px;overflow-y:auto;font-size:.72rem;background-color:var(--bs-tertiary-bg);border-radius:0 0 var(--radius-md) var(--radius-md);color:var(--bs-secondary-color);white-space:pre-wrap;word-break:break-all}.theme-card-img,.theme-card-img-placeholder{width:100%;height:140px;object-fit:contain;padding:var(--space-2);background-color:var(--bs-tertiary-bg);border-radius:var(--radius-sm) var(--radius-sm) 0 0}.comparison-table-wrap{background:var(--bs-body-bg);border:1px solid var(--bs-border-color);border-radius:var(--radius-md);padding:var(--space-5) 1.25rem .75rem}.cmp-heading{font-size:1rem;font-weight:600;margin-bottom:var(--space-4);color:var(--bs-body-color)}.cmp-table{margin-bottom:0}.cmp-table thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color);border-bottom:2px solid var(--bs-border-color);padding-block:var(--space-2)}.cmp-name a{font-weight:500;color:var(--bs-body-color);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cmp-name a:hover{color:var(--bs-link-color);text-decoration:underline}.cmp-price{font-weight:700;white-space:nowrap;color:var(--bs-success)}.cmp-tier-badge{display:inline-block;font-size:.72rem;font-weight:600;padding:.25em .55em;border-radius:.3em;white-space:nowrap}.cmp-tier-low{background:#d1e7dd;color:#0a3622}.cmp-tier-mid{background:#cfe2ff;color:#052c65}.cmp-tier-high{background:#f8d7da;color:#58151c}.cmp-go-btn{white-space:nowrap}

/* Compare Top Picks — Bootstrap-Native 3-Card Design */
.ctp-tier{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .55rem}
.ctp-tier--low{background:#d1e7dd;color:#0a3622}
.ctp-tier--mid{background:#cfe2ff;color:#052c65}
.ctp-tier--high{background:#f8d7da;color:#58151c}
.ctp-card{transition:box-shadow .18s ease,transform .18s ease}
.ctp-card:hover,.ctp-card:focus-within{box-shadow:0 .5rem 1.25rem rgba(0,0,0,.10)!important;transform:translateY(-2px)}
.ctp-card--featured{border-color:#0d6efd!important;border-width:2px!important}
.ctp-card--featured .ctp-ribbon{position:absolute;top:-.6rem;left:.75rem;background:#0d6efd;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.15rem .5rem;border-radius:.2rem;z-index:1}
.ctp-card-link{position:absolute;inset:0;z-index:2}
.ctp-card-link:focus-visible{outline:2px solid #0d6efd;outline-offset:-2px;border-radius:inherit}
.ctp-img{width:100%;height:160px;object-fit:contain;background:#f8f9fa;padding:.75rem}
.ctp-price{color:#198754;font-size:1.4rem;font-weight:800;line-height:1}
.ctp-price-was{font-size:.85rem;color:#6c757d;text-decoration:line-through}
.ctp-price-save{font-size:.75rem;font-weight:600;color:#dc3545;background:rgba(220,53,69,.1);padding:.1rem .35rem;border-radius:.2rem}
.ctp-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.85em;font-size:.95rem;line-height:1.35;color:#1a1d20;margin:0}
@media(max-width:575.98px){.ctp-img.ctp-img{height:140px}.ctp-name.ctp-name{-webkit-line-clamp:2;min-height:2.6em;font-size:.9rem}.ctp-price.ctp-price{font-size:1.25rem}}.rsc-block{background:var(--bs-body-bg,#fff);border:1px solid var(--bs-border-color);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-5)}.rsc-hero{display:flex;align-items:flex-start;gap:1rem;padding:var(--space-5) 1.25rem 1rem}.rsc-logo-wrap{flex-shrink:0;align-self:flex-start}.rsc-info{flex:1;min-width:0}.rsc-name{font-size:1.1rem;font-weight:700;margin-bottom:var(--space-1)}.rsc-subname{display:block;font-size:.8rem;color:var(--bs-secondary-color,#6c757d);margin-bottom:var(--space-1)}.rsc-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:var(--space-2)}.rsc-badge{font-size:.7rem;font-weight:500;padding:var(--space-1) .5rem;border-radius:1rem;border:1px solid transparent;white-space:nowrap}.rsc-badge-cat{background:var(--bs-secondary-bg-subtle,#f8f9fa);color:var(--bs-secondary-color,#6c757d);border-color:var(--bs-border-color)}.rsc-badge-loc{background:var(--bs-light,#f8f9fa);color:var(--bs-body-color);border-color:var(--bs-border-color)}.rsc-badge-deals{background:var(--bs-warning-bg-subtle,#fff3cd);color:var(--bs-warning-text-emphasis,#664d03);border-color:var(--bs-warning-border-subtle,#ffecb5)}.rsc-desc{font-size:.8125rem;color:var(--bs-secondary-color,#6c757d);line-height:1.5;margin-bottom:var(--space-3);max-width:100%}.rsc-meta{font-size:.78rem;color:var(--bs-secondary-color,#6c757d);margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px dashed var(--bs-border-color)}.rsc-meta .sep{opacity:.4}.rsc-actions{display:flex;flex-wrap:wrap;gap:.5rem}.rsc-btn{display:inline-flex;align-items:center;gap:.3rem;padding:var(--space-2) .9rem;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap;border:1px solid transparent;transition:opacity .15s}.rsc-btn:hover{opacity:.85;text-decoration:none}.rsc-btn-primary{background:var(--bs-primary,#0d6efd);color:#fff;border-color:var(--bs-primary,#0d6efd)}.rsc-btn-outline{background:0 0;color:var(--bs-body-color);border-color:var(--bs-border-color)}.rsc-divider{height:1px;background:var(--bs-border-color);margin:0 1.25rem}.rsc-coupons{padding:var(--space-4) 1.25rem 1.25rem}.rsc-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--bs-secondary-color,#6c757d);margin-bottom:var(--space-4)}.rsc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:.75rem}.rsc-coupon-card{border:1px solid var(--bs-border-color);border-radius:var(--radius-sm);padding:var(--space-4);display:flex;flex-direction:column;gap:.45rem;background:var(--bs-body-bg,#fff);transition:border-color .15s}.rsc-coupon-card:hover{border-color:var(--bs-primary,#0d6efd)}.rsc-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.4rem}.rsc-type{font-size:.7rem;font-weight:600;padding:var(--space-1) .5rem;border-radius:1rem;white-space:nowrap}.rsc-type-sale{background:#cfe2ff;color:#084298}.rsc-type-deal{background:#d1e7dd;color:#0a3622}.rsc-type-code{background:#e0cffc;color:#3d0a91}.rsc-type-ship{background:#fff3cd;color:#664d03}.rsc-discount{font-size:1rem;font-weight:700;color:var(--bs-body-color);white-space:nowrap;line-height:1}.rsc-card-title{font-size:.75rem;color:var(--bs-secondary-color,#6c757d);line-height:1.4;flex:1}.rsc-code-box{background:var(--bs-tertiary-bg,#f8f9fa);border:1px dashed var(--bs-border-color);border-radius:var(--radius-sm);padding:var(--space-2) .75rem;font-family:var(--font-family-mono);font-size:.8125rem;font-weight:700;color:var(--bs-body-color);text-align:center;cursor:pointer;letter-spacing:.06em;user-select:all;transition:background .15s,border-color .15s}.rsc-code-box:hover{background:var(--bs-primary-bg-subtle,#cfe2ff);border-color:var(--bs-primary,#0d6efd);border-style:solid}.rsc-cta{display:block;text-align:center;padding:var(--space-2) .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;text-decoration:none;transition:opacity .15s}.rsc-cta:hover{opacity:.85;text-decoration:none}.rsc-cta-primary{background:var(--bs-primary,#0d6efd);color:#fff}.rsc-cta-outline{color:var(--bs-primary,#0d6efd);border:1px solid var(--bs-primary-border-subtle,#9ec5fe)}.rsc-cta-outline:hover{background:var(--bs-primary-bg-subtle,#cfe2ff)}.rsc-exp{font-size:.7rem;color:var(--bs-secondary-color,#6c757d);display:flex;align-items:center;gap:.25rem}.rsc-exp-urgent{color:var(--bs-danger,#dc3545);font-weight:500}.rsc-footer{padding:var(--space-3) 1.25rem;border-top:1px solid var(--bs-border-color);text-align:right}.rsc-view-all{font-size:.8125rem;color:var(--bs-primary,#0d6efd);text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:.25rem}.rsc-view-all:hover{text-decoration:underline}/* QW30-10 (2026-07-03): "Related Reading" internal-link block emitted by \AaStore\Helpers\RelatedSeoHelper::renderRelatedReadingBlock(). Plain text-only markup by design - no images, no JS - so the text-link graph is fully crawlable for SEO (C1 internal-link audit). */.related-reading-block{margin:var(--space-6) 0 1rem;padding:var(--space-4) 1.25rem;background:var(--bs-tertiary-bg,#f8f9fa);border:1px solid var(--bs-border-color,#e9ecef);border-radius:var(--card-radius)}.related-reading-block__heading{font-size:1.05rem;font-weight:600;margin:0 0 .5rem;color:var(--bs-body-color,#212529)}.related-reading-block__list{list-style:none;padding-left:0;margin:0}.related-reading-block__item{padding:var(--space-1) 0;line-height:1.4}.related-reading-block__link{color:var(--bs-primary,#0d6efd);text-decoration:none;font-weight:500}.related-reading-block__link:hover{text-decoration:underline}.related-reading-block__desc{color:var(--bs-secondary-color,#6c757d);font-size:.9em}.skip-to-main{position:absolute;top:-100%;left:0;background:var(--bs-primary);color:var(--bs-white);padding:var(--space-2) 1rem;border-radius:0 0 var(--radius-sm) var(--radius-sm);font-weight:600;font-size:.9rem;text-decoration:none;z-index:1080;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:top .2s ease,box-shadow .2s ease,outline-color .2s ease;outline:2px solid transparent;outline-offset:2px}.skip-to-main:focus-visible{top:0;outline-color:var(--bs-warning);box-shadow:0 6px 20px rgba(0,0,0,.35),0 0 0 .25rem rgba(13,110,253,.4)}.visually-hidden-focusable{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.visually-hidden-focusable:focus{position:static;width:auto;height:auto;padding:0;margin:0;overflow:visible;clip:auto;white-space:normal}/* CSS-AUD-05 (2026-07-09): Custom scrollbar styling for scrollable admin containers */.scroll-y::-webkit-scrollbar,.scroll-y-md::-webkit-scrollbar,.scroll-y-lg::-webkit-scrollbar,.log-tail::-webkit-scrollbar{width:8px;height:8px}.scroll-y::-webkit-scrollbar-track,.scroll-y-md::-webkit-scrollbar-track,.scroll-y-lg::-webkit-scrollbar-track,.log-tail::-webkit-scrollbar-track{background:var(--bs-tertiary-bg,#f8f9fa);border-radius:4px}.scroll-y::-webkit-scrollbar-thumb,.scroll-y-md::-webkit-scrollbar-thumb,.scroll-y-lg::-webkit-scrollbar-thumb,.log-tail::-webkit-scrollbar-thumb{background:var(--bs-secondary-color,#6c757d);border-radius:4px}.scroll-y::-webkit-scrollbar-thumb:hover,.scroll-y-md::-webkit-scrollbar-thumb:hover,.scroll-y-lg::-webkit-scrollbar-thumb:hover,.log-tail::-webkit-scrollbar-thumb:hover{background:var(--bs-secondary-color,#6c757d);opacity:0.8}/* CSS-AUD-04 (2026-07-09): Empty state component for consistent no-results styling */.empty-state-icon{font-size:2.5rem;margin-bottom:var(--space-4);color:var(--bs-tertiary-color,#6c757d);opacity:0.5}.empty-state-title{font-size:1.1rem;font-weight:600;margin-bottom:var(--space-2);color:var(--bs-body-color,#212529)}.empty-state-text{font-size:0.9rem;margin-bottom:0}/* CSS-AUD-03 (2026-07-09): Skeleton/loading states for async content placeholders */.skeleton{background:linear-gradient(90deg,var(--bs-tertiary-bg,#f8f9fa) 25%,var(--bs-secondary-bg,#e9ecef) 50%,var(--bs-tertiary-bg,#f8f9fa) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm,0.375rem)}.skeleton-card{display:flex;flex-direction:column;gap:0.75rem;padding:var(--space-4);border:1px solid var(--bs-border-color,#dee2e6);border-radius:var(--radius-lg,0.5rem);background:var(--bs-card-bg,#fff)}.skeleton-img{width:100%;aspect-ratio:1/1;border-radius:var(--radius-sm,0.375rem)}.skeleton-text{height:1rem;border-radius:2px}.skeleton-text-sm{height:0.75rem;border-radius:2px}.skeleton-text-lg{height:1.5rem;border-radius:2px}@keyframes skeleton-shimmer{0%0%{background-position:200% 0}100%100%{background-position:-200% 0}}/* CSS-AUD-06 (2026-07-09): :focus-visible rules for keyboard navigation */.js-product-card.card:focus-visible,.product-card.card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-md);outline:2px solid var(--bs-primary,#0d6efd);outline-offset:2px}.btn:focus-visible{outline:2px solid var(--bs-primary,#0d6efd);outline-offset:2px;box-shadow:0 0 0 4px rgba(13,110,253,.25)}.nav-link:focus-visible{outline:2px solid var(--bs-primary,#0d6efd);outline-offset:2px;background-color:var(--bs-tertiary-bg,#f8f9fa)}.form-control:focus-visible{outline:2px solid var(--bs-primary,#0d6efd);outline-offset:0;box-shadow:0 0 0 4px rgba(13,110,253,.25)}/* N20 (2026-07-13): Card hover micro-animations */.js-product-card.card:hover,.product-card.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease}/* N41 (2026-07-13): Homepage trust strip + primary CTA */.homepage-trust-strip{background:var(--bs-tertiary-bg,#f8f9fa);border-radius:var(--card-radius,0.5rem);padding:var(--space-3) 1rem}.homepage-trust-strip .fw-semibold{font-size:0.875rem;line-height:1.1}.homepage-trust-strip .text-body-secondary{font-size:0.8rem;line-height:1.2;margin-top:0.125rem}.homepage-primary-cta .card{border-radius:var(--card-radius,0.5rem)}.homepage-primary-cta .btn-lg{padding:0.625rem 1.25rem;font-weight:600}/* Deal guide pick grid: product cards use h-100 to fill their column in   other contexts, but here each column also contains a "why this pick"   paragraph below the card. The stretched card was visually swallowing   the why text and pushing it past the bottom of the row. Make the card   size to its content and the column a flex column so card + why stack   predictably. */.deal-body .product-card.h-100{height:auto}.deal-body .row.g-3 > [class*="col-"]{display:flex;flex-direction:column}.deal-body .deal-pick-why{font-size:.875rem;color:#3a3f44;margin-top:var(--space-2);flex:0 0 auto}/* Related-reading link grid inside deal-body */.deal-related-reading{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.deal-related-reading a{display:block;padding:var(--space-3) 1rem;border:1px solid var(--bs-border-color,#dee2e6);border-radius:.5rem;background:var(--bs-card-bg,#fff);text-decoration:none;color:inherit;transition:border-color .15s ease,box-shadow .15s ease}.deal-related-reading a:hover{border-color:var(--bs-primary,#0d6efd);box-shadow:0 2px 8px rgba(13,110,253,.08)}.deal-related-reading .drr-label{font-weight:600;font-size:.875rem;color:var(--bs-body-color,#1a1d20);line-height:1.3}.deal-related-reading .drr-blurb{font-size:.875rem;color:var(--bs-secondary-color,#6c757d);margin-top:var(--space-1);line-height:1.35}/* News-source citation list (real Google News articles that seeded the picks) */.deal-news-sources{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.deal-news-sources li{padding:var(--space-3) .85rem;background:var(--bs-tertiary-bg,#f8f9fa);border-left:3px solid var(--bs-primary,#0d6efd);border-radius:0 .35rem .35rem 0;font-size:.875rem;line-height:1.45}.deal-news-sources a{color:var(--bs-body-color,#1a1d20);text-decoration:none;font-weight:600}.deal-news-sources a:hover{text-decoration:underline}.deal-news-sources .dns-source{font-size:.875rem;color:var(--bs-secondary-color,#6c757d);margin-top:var(--space-1);display:block;font-weight:400;font-style:italic}
/* Skip-to-main rule — overrides the one inside the compressed block above.     
   Uses the standard left-clip pattern instead of top:-100% which is unreliable 
   when the containing block height is not the viewport. */
.skip-to-main{position:absolute;left:-10000px;top:auto;width:1px;height:1px;padding:0;overflow:hidden;background:#1d4ed8;color:#fff;text-decoration:none;font-weight:600;z-index:1080}
.skip-to-main:focus,.skip-to-main:focus-visible{position:static;width:auto;height:auto;padding:var(--space-3) 1.25rem;outline:2px solid #ffc107;box-shadow:0 4px 12px rgba(0,0,0,.3)}

/* F-32 (2026-07-28): PDP thumbnail gallery + click-to-zoom (Bootstrap modal).
   Zero new JS dependencies — thumbnails swap via data-src attributes read in
   app.js, and zoom opens the native Bootstrap .modal the page already loads. */
.pdp-thumb-strip{scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;scroll-padding:0 .5rem}
/* F-72 (2026-07-28): prevent the header nav from wrapping onto two lines on
   tablet widths by letting it stay on one row until the mobile offcanvas kicks in. */
@media (min-width:768px) and (max-width:1199.98px){
  .site-header-main-nav .navbar.site-header-main-nav .navbar{flex-wrap:nowrap}
  .site-header-main-nav .navbar-collapse.site-header-main-nav .navbar-collapse{flex-wrap:nowrap}
  .site-header-main-nav .navbar .nav.site-header-main-nav .navbar .nav{flex-wrap:nowrap;gap:.15rem}
  .site-header-main-nav .navbar .nav-link.site-header-main-nav .navbar .nav-link{white-space:nowrap;padding-left:.65rem;padding-right:.65rem}
  .site-header-main-nav .navbar-brand.site-header-main-nav .navbar-brand{max-width:min(42vw,320px)}
}

/* F-06 (2026-07-29): Fix wing-ad CSS overflow on tablets 
   Hide wing ads on tablet widths to prevent horizontal overflow */
@media (max-width:1667px)
  .site-wing{display:none!important}

.pdp-thumb-strip::-webkit-scrollbar{height:4px}
.pdp-thumb-strip::-webkit-scrollbar-thumb{background:rgba(108,117,125,.4);border-radius:2px}
.pdp-thumb{width:80px;height:80px;scroll-snap-align:start;overflow:hidden;background:var(--bs-tertiary-bg,#f8f9fa);border:2px solid transparent;outline:0;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}
.pdp-thumb:hover{transform:translateY(-2px)}
.pdp-thumb:focus-visible{border-color:var(--bs-primary,#0d6efd);box-shadow:0 0 0 3px rgba(13,110,253,.2)}
.pdp-thumb--active{border-color:var(--bs-primary,#0d6efd);box-shadow:0 0 0 2px rgba(13,110,253,.18)}
.pdp-thumb--active:focus-visible{box-shadow:0 0 0 3px rgba(13,110,253,.28)}
.pdp-thumb-img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:var(--space-1)}
.pdp-zoom-btn{z-index:30;border-radius:8px!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(255,255,255,.9)!important}
.pdp-zoom-btn:hover{background:#fff!important}
.pdp-zoom-modal{background:rgba(0,0,0,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.pdp-zoom-dialog{max-width:min(1100px,92vw)!important;margin:var(--space-5) auto!important}
.pdp-zoom-content{background:0 0}
.pdp-zoom-close{position:absolute;top:-12px;right:-12px;z-index:5;background:#fff!important;border-radius:50%!important;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.35);opacity:1!important;padding:0!important;border:0!important}
.pdp-zoom-close:hover{background:#f8f9fa!important}
.pdp-zoom-image{max-height:min(88vh,900px);object-fit:contain;max-width:100%;display:block;margin:0 auto}
@media (max-width:767.98px){
  .pdp-thumb.pdp-thumb{width:64px;height:64px}
  .pdp-zoom-close.pdp-zoom-close{top:4px;right:4px}
}

/* N72 (2026-07-03): auto-fit tagline — always one line under the logo, full text shown,   font-size scales with .navbar-brand's width via container query units (cqi). The brand   has container-type:inline-size and a max-width cap, so cqi resolves to a real pixel   value. clamp() keeps font between 0.5rem (legible on tiny phones) and 0.85rem (the   original desktop size). overflow:visible + text-overflow:clip + max-width:100% replace   the previous hidden/ellipsis/fixed-max-width combo so the AI-generated tagline is   never truncated with "..." — it shrinks instead of getting cut. */
.navbar-tagline-text{font-weight:400;line-height:1.2;white-space:nowrap;display:block;text-align:center;align-self:center;margin-top:1px;overflow:visible;text-overflow:clip;max-width:100%;font-size:clamp(.72rem,3.7vw,.85rem)}
/* N72-FIX (2026-07-03): switched from cqi (container queries) to vw (viewport units).   Reason: on iPhone 12 (390px) the cqi clamp was rendering the tagline at ~10px because   container-type:inline-size on .navbar-brand made flex-basis treat content as 0 — the   brand's effective inline-size collapsed well below its max-width, so cqi resolved to   a tiny value and clamp landed in the middle of its range.   vw is rock-solid and viewport-scaled, which is what we actually want here. On mobile,   viewport ≈ available width (the navbar fills the row), so vw scaling is equivalent in   practice to "scale with available space" and avoids the flex-basis footgun.   3.7vw at the iPhone-12 viewport (390px) = 14.43px → clamped to 0.85rem max.   3.7vw at 320px = 11.84px = 0.74rem. Bumping min from .5rem to .72rem (~11.5px) keeps   the tagline readable on the narrowest phones; anything narrower drops below ~280px   viewports where this is no longer a "normal" mobile. */
/* =============================================================================
   AGENTA: directory 2026-07-31
   Single-block-append for /directory/ visual treatment.
   All directory-specific styles are scoped to .directory-scope class.
   (See TODODIRECTORY.md §1.2 for the full directory CSS spec — this block
    is a placeholder for AGENTA to implement per the 3-agent split.) */
   Additional styles in public_html/assets/css/directory.css (loaded after site.css).
   ============================================================================= */
.directory-scope{--directory-primary:#0d6efd;--directory-primary-hover:#0a58ca;--directory-primary-soft:#dbeafe;--directory-primary-bg:#eff6ff;--directory-accent:#d4220e;--directory-accent-hover:#b51d0c;--directory-accent-soft:#fff5f5;--directory-text:#212529;--directory-text-muted:#6c757d;--directory-text-soft:#adb5bd;--directory-border:#dee2e6;--directory-border-strong:#ced4da;--directory-bg:#fff;--directory-bg-soft:#f8f9fa;--directory-bg-elevated:#fff;--directory-bg-tint:#fff8f7;--directory-success:#198754;--directory-success-bg:#d1fae5;--directory-success-border:#a7f3d0;--directory-warning:#fd7e14;--directory-warning-bg:#fffbeb;--directory-warning-border:#fde68a;--directory-info:#0d6efd;--directory-info-bg:#eff6ff;--directory-info-border:#bfdbfe;--directory-verified:#198754;--directory-verified-bg:#d1fae5;--directory-claimed:#6c757d;--directory-claimed-bg:#f3f4f6}













/* ADS: AGENTB 2026-07-31 — Smart AdSlot wrapper (see x_docs/ad-rotation-system-design-2026-07-31.md §6) */
.ad-zone { display: block; position: relative; contain: layout style; }
.ad-zone[data-source="banner"]  { /* operator-controlled house ad */ }
.ad-zone[data-source="adsense"] { /* AdSense unit or auto-ads filled */ }
.ad-zone[data-source="none"]    { /* empty — reserved for layout */ }
.ad-zone-priority { /* marker class only, no visual */ }

/* AGENTA: directory 2026-07-31 — Directory listing and profile styling */
.directory-listing { margin-bottom:var(--space-5); }
.directory-listing .card { transition: transform 0.2s ease, box-shadow 0.2s ease; border: 1px solid var(--directory-border); }
.directory-listing .card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.directory-listing .card-img-top { height: 180px; object-fit: cover; }
.directory-listing .card-title a { color: var(--directory-text); text-decoration: none; }
.directory-listing .card-title a:hover { color: var(--directory-primary); }
.directory-profile .img-fluid { max-height: 400px; object-fit: cover; border-radius: var(--card-radius); }
.directory-profile .card-header { background: var(--directory-bg-soft); border-bottom: 1px solid var(--directory-border); }
.directory-profile .card { border: 1px solid var(--directory-border); }
.directory-profile h1 { color: var(--directory-text); margin-bottom:var(--space-4); }
.directory-profile .bi { color: var(--directory-primary); margin-right:var(--space-2); }

/* AGENTA: glossary 2026-07-31 — glossary section styles */
.glossary-hub { max-width: 1200px; margin: 0 auto; padding:var(--space-4); }
.glossary-hub h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); margin-bottom:var(--space-2); }
.glossary-alphabet-bar { display: flex; flex-wrap: wrap; gap: 0.25rem; margin:var(--space-5) 0; }
.glossary-alphabet-bar a { display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; font-size: 0.85rem; font-weight: 600;
  text-decoration: none; border: 1px solid var(--bs-border-color); border-radius: 6px;
  color: var(--bs-body-color); background: var(--bs-body-bg); transition: all 0.15s ease; }
.glossary-alphabet-bar a:hover, .glossary-alphabet-bar a:focus {
  background: var(--bs-primary); color: var(--bs-white); border-color: var(--bs-primary); }
.glossary-alphabet-bar a.active { background: var(--bs-primary); color: var(--bs-white); border-color: var(--bs-primary); }
.glossary-featured { background: linear-gradient(135deg, var(--bs-primary-bg-subtle) 0, var(--bs-info-bg-subtle) 100%); }
.glossary-featured .badge { font-size: 0.7rem; }
.glossary-new-additions .glossary-term-card { animation: glossary-fade-in 0.3s ease; }
.glossary-term-card { border: 1px solid var(--bs-border-color); border-radius: var(--card-radius);
  padding:var(--space-4); margin-bottom:var(--space-3); text-decoration: none; color: inherit;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease; }
.glossary-term-card:hover, .glossary-term-card:focus { transform: translateY(-2px);
  box-shadow: var(--shadow-sm); border-color: var(--bs-primary); text-decoration: none; color: inherit; }
.glossary-term-card .glossary-term-name { font-size: 1.1rem; font-weight: 600; margin-bottom:var(--space-1); }
.glossary-term-card .glossary-term-definition { font-size: 0.85rem; color: var(--bs-secondary-color); }
.glossary-term-card .glossary-term-sanskrit { font-size: 0.75rem; color: var(--bs-secondary-color); font-style: italic; }
.glossary-letter-header { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom:var(--space-4); }
.glossary-letter-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1rem; }
.glossary-term-body { line-height: 1.6; }
.glossary-article-section { margin:var(--space-5) 0; padding:var(--space-4); background: var(--bs-tertiary-bg); border-radius: var(--card-radius); }
.glossary-article-section h3 { font-size: 1rem; font-weight: 600; margin-bottom:var(--space-2); color: var(--bs-primary); }
.glossary-article-section p { margin-bottom: 0; }
.glossary-related-terms { display: flex; flex-wrap: wrap; gap: 0.5rem; margin:var(--space-4) 0; }
.glossary-related-terms a { display: inline-block; padding: 0.35rem 0.85rem; font-size: 0.85rem;
  font-weight: 500; text-decoration: none; border: 1px solid var(--bs-border-color);
  border-radius: 999px; background: var(--bs-body-bg); transition: all 0.15s ease; }
.glossary-related-terms a:hover, .glossary-related-terms a:focus {
  background: var(--bs-primary-bg-subtle); border-color: var(--bs-primary); color: var(--bs-primary); }
.glossary-current-offers .offer-card { border: 1px solid var(--bs-border-color);
  border-radius: var(--card-radius); padding:var(--space-3) 1rem; margin-bottom:var(--space-2);
  background: var(--bs-body-bg); transition: border-color 0.15s ease; }
.glossary-current-offers .offer-card:hover { border-color: var(--bs-primary); }
.glossary-current-offers .offer-title { font-weight: 600; margin-bottom:var(--space-1); }
.glossary-current-offers .offer-discount { color: var(--bs-success); font-weight: 700; }
.glossary-current-offers .offer-code { font-family: var(--font-family-mono); font-size: 0.8rem; }
.glossary-entity-list { display: flex; flex-wrap: wrap; gap: 0.5rem; margin:var(--space-2) 0 1rem; }
.glossary-entity-list a { display: inline-flex; align-items: center; padding:var(--space-1) 0.7rem;
  font-size: 0.85rem; text-decoration: none; color: var(--bs-body-color);
  border: 1px solid var(--bs-border-color); border-radius: 999px; background: var(--bs-tertiary-bg); }
.glossary-entity-list a:hover, .glossary-entity-list a:focus { background: var(--bs-primary-bg-subtle); color: var(--bs-primary); }
.glossary-ai-badge { display: inline-block; font-size: 0.7rem; font-weight: 600;
  padding: 0.15rem 0.5rem; border-radius: 4px; background: var(--bs-info-bg-subtle); color: var(--bs-info-text-emphasis); }
.glossary-verified-badge { display: inline-block; font-size: 0.7rem; font-weight: 600;
  padding: 0.15rem 0.5rem; border-radius: 4px; background: var(--bs-success-bg-subtle); color: var(--bs-success-text-emphasis); }

/* Hero image fix — AGENTA 2026-07-31: hero-static-bg rules were stripped from
   site.css during the QW3 optimization pass (qw03-2026-07-31) and never
   restored. enhanced_hero_manager.php still emits the class and sets
   --hero-bg-img inline, but without these rules the background-image var
   is never applied and the hero renders as a solid black block.
   Restored verbatim from site.css.bak-pre-cta-fix-2026-07-30. */
.hero-static-bg{position:relative;min-height:520px;background-image:var(--hero-bg-img,none);background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--bs-secondary-bg,#f8f9fa);border-radius:var(--radius-lg);display:flex;align-items:center;overflow:hidden;isolation:isolate;transform:translateZ(0)}
@media (max-width:767.98px){.hero-static-bg.hero-static-bg{min-height:460px;max-height:none}}
@media (max-width:767.98px){.hero-static-bg.hero-static-bg{padding:1.25rem 1rem}}
.hero-photo-mode{background-color:#111;}
.hero-photo-mode .hero-photo-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to right,rgba(0,0,0,.65) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.25) 100%);}
.hero-photo-mode .hero-text-container{position:relative;z-index:2;color:#fff;}
.hero-photo-mode .hero-stat-tile{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.3);}
.hero-photo-mode .hero-stat-count{color:#fff;}
.hero-photo-mode .hero-stat-label{color:rgba(255,255,255,.75)!important;}
@media (max-width:767.98px){.hero-photo-mode.hero-photo-mode{min-height:380px;}}
.hero-light-default{background:#f7f8fa;border:1px solid #e9ecef;}
.hero-light-default .hero-bg-svg{position:absolute;top:50%;right:-4%;transform:translateY(-50%);width:min(58vw,760px);height:auto;opacity:.20;pointer-events:none;z-index:0;}
.hero-light-default .hero-bg-svg.hero-bg-icon{width:auto;height:auto;font-size:min(58vw,760px);line-height:1;}
.hero-light-default .hero-text-container{z-index:2;}
.hero-light-default .hero-eyebrow{color:#0d6efd;letter-spacing:.16em;font-size:.75rem;text-transform:uppercase;font-weight:700;}
.hero-light-default .hero-glow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#0d6efd;margin-right:var(--space-2);}
.hero-light-default .hero-stat-tile{background:rgba(13,110,253,.06);border:1px solid rgba(13,110,253,.15);backdrop-filter:none;color:#212529;}
.hero-light-default .hero-stat-tile:hover{background:rgba(13,110,253,.12);border-color:rgba(13,110,253,.3);}
.hero-light-default .hero-stat-label{color:#6c757d!important;opacity:1;}
@media (max-width:767.98px){.hero-light-default .hero-bg-svg.hero-light-default .hero-bg-svg{opacity:.14;right:-12%;}}

@keyframes glossary-fade-in { from from{ opacity: 0; transform: translateY(10px); } to to{ opacity: 1; transform: translateY(0); } }

/* SUI-03: share overlay — hidden on desktop, hover-revealed on mobile */
.product-share-group{opacity:0;transition:opacity .2s ease-in-out;}
@media (min-width:768px){.product-share-group.product-share-group{display:none;}}
@media (max-width:767.98px){.product-detail-image-container:hover .product-share-group,.product-detail-image-container:focus-within .product-share-group.product-detail-image-container:hover .product-share-group,.product-detail-image-container:focus-within .product-share-group{opacity:1;}}

@media (max-width: 767.98px) {
  .glossary-letter-grid .glossary-letter-grid{ grid-template-columns: 1fr; }
  .glossary-hub .glossary-hub{ padding:var(--space-2); }
}

/* =============================================================================
   Static pages (/pages/*) — unified layout, typography, spacing
   Semantic HTML (h1–h6, p, section, header) styled here; keep markup naked.
   ============================================================================= */

/* Hero contrast fix — overrides compressed block above; all text must read on primary bg */
.static-page-hero,
.static-page-hero h1,
.static-page-hero h2,
.static-page-hero h3,
.static-page-hero h4,
.static-page-hero h5,
.static-page-hero h6,
.static-page-hero p,
.static-page-hero .lead,
.static-page-hero small,
.static-page-hero a,
.static-page-hero .bi,
.static-page-hero [class*="text-"] {
  color: #fff !important;
}
.static-page-hero p {
  font-size: var(--lead-size, var(--font-size-base));
  line-height: var(--body-line-height, 1.5);
  max-width: 42rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: var(--space-2);
}
.static-page-hero p:last-child { margin-bottom: 0; }
.static-page-hero p + p,
.static-page-hero .opacity-90 {
  opacity: 0.92;
}
.static-page-hero a:hover { opacity: 0.85; }

/* Page shell */
.static-page,
.static-page-content {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.static-page > section,
.static-page-content > section {
  padding-top: var(--space-6);
  margin-bottom: var(--space-6);
}
.static-page > section:first-child,
.static-page-content > section:first-child {
  padding-top: var(--space-5);
}

/* Section intros — centered h2 + subtitle */
.static-page section > header,
.static-page-content section > header {
  text-align: center;
  margin-bottom: var(--space-5);
}
.static-page section > header p,
.static-page-content section > header p {
  color: var(--text-muted, var(--bs-secondary-color));
  font-size: var(--lead-size, var(--font-size-base));
  line-height: var(--body-line-height, 1.5);
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0;
}

/* Cards inside static pages */
.static-page .card,
.static-page-content .card {
  border-radius: var(--radius-md);
}
.static-page .card-body,
.static-page-content .card-body {
  padding: var(--space-5);
}
.static-page .card h4,
.static-page .card h5,
.static-page-content .card h4,
.static-page-content .card h5 {
  margin-bottom: var(--space-2);
}
.static-page .card p:last-child,
.static-page-content .card p:last-child {
  margin-bottom: 0;
}

/* Feature row — icon + text (about, partner, guides) */
.static-page .feature-icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: var(--space-3);
}
.static-page .feature-icon .bi { font-size: 1.25rem; }
.static-page .feature-icon--primary { background: rgba(var(--bs-primary-rgb), 0.12); color: var(--bs-primary); }
.static-page .feature-icon--success { background: rgba(var(--bs-success-rgb), 0.12); color: var(--bs-success); }
.static-page .feature-icon--warning { background: rgba(var(--bs-warning-rgb), 0.15); color: var(--bs-warning-text-emphasis, #664d03); }
.static-page .feature-icon--info { background: rgba(var(--bs-info-rgb), 0.12); color: var(--bs-info); }
.static-page .feature-icon.mx-auto { display: inline-flex; }

/* Large avatar / expert portrait circle */
.static-page .avatar-lg {
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--bs-primary-rgb), 0.1);
}
.static-page .avatar-lg .bi { font-size: 2.5rem; color: var(--bs-primary); }

/* Stat numbers in cards */
.static-page .stat-value {
  font-size: var(--h2-size);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: var(--space-2);
}
.static-page .stat-value--success { color: var(--bs-success); }
.static-page .stat-value--primary { color: var(--bs-primary); }
.static-page .stat-value--warning { color: var(--bs-warning-text-emphasis, #664d03); }
.static-page .stat-value--info { color: var(--bs-info-text-emphasis, #055160); }

/* CTA block at page bottom */
.static-page .cta-card,
.static-page-content .cta-card {
  margin-top: var(--space-6);
  margin-bottom: var(--space-6);
  border-radius: var(--radius-md);
}

/* Contact page specifics */
.static-page .partnership-accent {
  width: 5px;
  background: var(--bs-primary);
}
.static-page .benefit-label {
  font-size: var(--font-size-sm);
  font-weight: 600;
  margin-bottom: var(--space-1);
}
.static-page .benefit-desc {
  font-size: var(--font-size-sm);
  color: var(--bs-secondary-color);
}

/* Quiet legal footer strip */
.static-page .legal-strip {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4) var(--space-2);
  border-top: 1px solid var(--bs-border-color);
  font-size: var(--font-size-sm);
  color: var(--bs-secondary-color);
}
.static-page .legal-strip strong { color: var(--bs-body-color); }
.static-page .legal-strip a { color: var(--bs-secondary-color); }

/* Prose / legal long-form — headings follow global scale */
.static-page-content h2,
.static-page section > h2 {
  margin-top: var(--space-4);
}
.static-page-content h3,
.static-page-content h4 {
  margin-top: var(--space-3);
}
.static-page-content ul,
.static-page-content ol {
  margin-bottom: var(--space-3);
  padding-left: var(--space-5);
}
.static-page-content li {
  margin-bottom: var(--space-2);
  line-height: var(--body-line-height, 1.5);
}

@media (max-width: 767.98px) {
  .static-page-hero .static-page-hero{ padding: var(--space-7) var(--space-4); }
  .static-page > section,
  .static-page-content > section .static-page > section,
  .static-page-content > section{
    padding-top: var(--space-5);
    margin-bottom: var(--space-5);
  }
  .static-page .card-body,
  .static-page-content .card-body .static-page .card-body,
  .static-page-content .card-body{
    padding: var(--space-4);
  }
}

/* =============================================================================
   Site typography — single scale for h1–h6, p, lead (overrides compressed block)
   ============================================================================= */
:root {
  /* Page title — between compact and oversized */
  --h1-size: clamp(1.5rem, 3.2vw, 2.125rem);
  --h1-weight: 700;
  --h1-line-height: 1.2;
  --h1-margin-bottom: var(--space-3);

  --h2-size: clamp(1.125rem, 1.8vw, 1.3125rem);
  --h2-weight: 700;
  --h2-line-height: 1.25;
  --h2-margin-bottom: var(--space-2);

  --h3-size: clamp(1.0625rem, 1.5vw, 1.125rem);
  --h3-weight: 700;
  --h3-line-height: 1.3;
  --h3-margin-bottom: var(--space-2);

  --h4-size: 1rem;
  --h4-weight: 700;
  --h4-line-height: 1.35;
  --h4-margin-bottom: var(--space-2);

  --h5-size: 0.9375rem;
  --h5-weight: 700;
  --h5-line-height: 1.35;
  --h5-margin-bottom: var(--space-2);

  --h6-size: 0.875rem;
  --h6-weight: 700;
  --h6-line-height: 1.4;
  --h6-margin-bottom: var(--space-2);

  --body-size: 1rem;
  --body-line-height: 1.5;
  --body-margin-bottom: var(--space-3);
  --lead-size: 1rem;
  --text-muted: var(--bs-secondary-color, #6c757d);
}

h1 {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
  margin-bottom: var(--h1-margin-bottom);
}
h2 {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
  margin-bottom: var(--h2-margin-bottom);
}
h3 {
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-line-height);
  margin-bottom: var(--h3-margin-bottom);
}
h4 {
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
  line-height: var(--h4-line-height);
  margin-bottom: var(--h4-margin-bottom);
}
h5 {
  font-size: var(--h5-size);
  font-weight: var(--h5-weight);
  line-height: var(--h5-line-height);
  margin-bottom: var(--h5-margin-bottom);
}
h6 {
  font-size: var(--h6-size);
  font-weight: var(--h6-weight);
  line-height: var(--h6-line-height);
  margin-bottom: var(--h6-margin-bottom);
}
p {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  margin-bottom: var(--body-margin-bottom);
  color: var(--bs-body-color, #212529);
}
.lead {
  font-size: var(--lead-size);
  font-weight: var(--font-weight-normal, 400);
  line-height: var(--body-line-height);
  margin-bottom: var(--body-margin-bottom);
}

/* Listing / insider page headers */
.ph h1 {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
  margin-bottom: var(--space-1);
}
.ph p {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--text-muted);
  margin: 0 0 var(--space-2);
}

/* Homepage & site hero */
.hero-text-container h1 {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
  margin-bottom: var(--h1-margin-bottom);
}
.hero-text-container p,
.hero-text-container p.fs-5,
.hero-text-container .fs-5 {
  font-size: var(--lead-size);
  line-height: var(--body-line-height);
  margin-bottom: var(--space-3);
}
.hero-photo-mode .hero-text-container h1,
.hero-static-bg .hero-text-container h1 {
  color: #fff;
}

/* Keywords hub hero */
.kwh-hero h1,
.kwh-hero-title {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
}

/* Legacy heading utility aliases */
.text-heading-lg {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
}
.text-heading-md {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
}
.text-heading-sm {
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-line-height);
}

/* Editorial / category prose blocks — stop local size drift */
.glossary-hub h1 {
  font-size: var(--h1-size);
  font-weight: var(--h1-weight);
  line-height: var(--h1-line-height);
}
.glossary-letter-header,
.category-editorial h2,
.brand-editorial h2,
.store-editorial h2 {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
}
.category-editorial h3,
.brand-editorial h3,
.store-editorial h3 {
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
}
.category-editorial h4,
.category-editorial h5 {
  font-size: var(--h4-size);
  font-weight: var(--h4-weight);
}
.category-editorial p,
.brand-editorial p,
.store-editorial p {
  font-size: var(--body-size);
  line-height: var(--body-line-height);
  color: var(--text-muted);
}
.kwh-section-head h2 {
  font-size: var(--h3-size);
  font-weight: var(--h2-weight);
  margin: 0;
}

/* Bootstrap .h4/.h5/.h6 on semantic headings — keep level size */
h2.h4, h2.h5, h2.h6 {
  font-size: var(--h2-size);
  font-weight: var(--h2-weight);
  line-height: var(--h2-line-height);
}
h3.h4, h3.h5, h3.h6 {
  font-size: var(--h3-size);
  font-weight: var(--h3-weight);
  line-height: var(--h3-line-height);
}

/* Exceptions — not primary page titles */
.navbar-brand h1 {
  font-size: clamp(1rem, 6.2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0;
}
.header-title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.3;
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .hero-text-container h1,
  .ph h1 .hero-text-container h1,
  .ph h1{
    font-size: var(--h1-size);
  }
}

/* =============================================================================
   Filter rows (fsr-section) — restore chip visibility
   .fsr had overflow:hidden while .fsr__wrap could flex-shrink to 0, clipping links.
   ============================================================================= */
.fsr-section {
  margin-top: var(--space-5);
  padding-top: var(--space-3);
  border-top: 1px solid var(--bs-border-color, #dee2e6);
}

/* Higher specificity beats minified .fsr__label{width:100%} + overflow:hidden clip */
.fsr-section .fsr {
  display: flex;
  align-items: flex-start;
  flex-wrap: nowrap;
  gap: 0.4rem;
  padding: var(--space-1) 0;
  font-size: 0.82rem;
  overflow: visible;
}

.fsr-section .fsr + .fsr {
  margin-top: var(--space-2);
}

.fsr-section .fsr__label {
  width: auto;
  max-width: none;
  margin-bottom: 0;
  color: var(--bs-secondary-color, #6c757d);
  white-space: nowrap;
  flex: 0 0 auto;
  font-size: 0.75rem;
  padding: var(--space-1) 0;
  line-height: 1.5;
}

.fsr-section .fsr__wrap {
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.fsr-section .fsr__wrap::-webkit-scrollbar {
  display: none;
}

.fsr-section .fsr__track {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem 0.35rem;
  align-items: center;
}

.fsr-section .fsr__track a {
  display: inline-flex;
  align-items: center;
  padding: var(--space-1) 0.55rem;
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.3;
  white-space: nowrap;
  color: var(--bs-secondary-color, #6c757d);
  text-decoration: none;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 999px;
  background: var(--bs-body-bg, #fff);
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.fsr-section .fsr__track a:hover {
  color: var(--bs-body-color, #212529);
  border-color: var(--bs-secondary-color, #6c757d);
  background-color: var(--bs-tertiary-bg, #f8f9fa);
  text-decoration: none;
}

.filter-chip-group {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-x;
  scrollbar-width: none;
  gap: 0.5rem;
  padding: var(--space-1) 0 var(--space-2);
}

.filter-chip-group::-webkit-scrollbar {
  display: none;
}

.filter-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: var(--space-2) 1rem;
  font-size: 0.85rem;
  font-weight: 500;
  line-height: 1.2;
  white-space: nowrap;
  border: 1px solid var(--bs-border-color, #dee2e6);
  border-radius: 999px;
  background-color: var(--bs-body-bg, #fff);
  color: var(--bs-body-color, #212529);
  text-decoration: none;
  flex-shrink: 0;
}

.filter-chip:hover,
.filter-chip.active {
  background-color: var(--bs-primary, #0d6efd);
  color: #fff;
  border-color: var(--bs-primary, #0d6efd);
  text-decoration: none;
}















/* AGENTA 2026-08-17: Reduce excessive white space site-wide.
   Root cause: 68 previously-broken var(--space-N) declarations were restored
   (see site.css.before_repair_2026-08-16.bak), which added var(--space-5)/--space-6
   margins on top of existing Bootstrap my-5 (48px) section margins and the
   footer's pt-5 (48px) top padding, producing 100-150px gaps between content
   and footer across all page types. These overrides tighten the most common
   offenders without changing Bootstrap utility classes. */
/* NOTE: Bootstrap 5 utilities ship with !important (e.g. .pt-5 =>
   padding-top:3rem!important), so this override needs !important too,
   otherwise the footer keeps the 48px top padding instead of 24px. */
.footer-bs { padding-top: 1.5rem !important; }
.pagination { margin-bottom: 0.5rem; }
.tab-content { margin-bottom: 1rem; }
/* Last child of <main>: cap the bottom margin so the gap to the footer
   is consistent regardless of the page type's last section. */
main > *:last-child { margin-bottom: 1.5rem !important; }

/* AGENTA 2026-08-17 (PDP whitespace): The product detail page reuses the
   global sticky-footer pattern (body.min-vh-100 + main.flex-grow-1 +
   footer.mt-auto). When the PDP content is shorter than the viewport this
   stretches <main> and leaves a large empty band between the "You Might Also
   Like" / "Related Items" cards and the footer. Scope the fix to .view-product
   so the footer sits a small, consistent distance below the content rather than
   being pushed to the bottom of the viewport (which created the gap). */
/* Bootstrap 5 ships .min-vh-100 and .flex-grow-1 with !important, so the
   overrides below also need !important (and higher specificity) to win and
   stop <main> from stretching and leaving the empty band. */
body.view-product { min-height: 0 !important; }
body.view-product main { flex-grow: 0 !important; }
body.view-product footer.footer-bs { margin-top: 1.75rem !important; }

/* AGENTB 2026-08-18 — compact FLOATED inline product embed (deal / blog bodies).
   Replaces the oversized centered block card that overlapped the copy. The whole
   mini-card floats left/right (alternating per pick) so surrounding paragraph text
   wraps around it. .editorial-section-title { clear:both } below bounds each float
   so section headings + the end "What we're tracking" grid never collide with it. */
.deal-inline-product {
    width: 260px;
    max-width: 100%;
    margin: 0.25rem 0 1rem;
    padding: 0.75rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.625rem;
    background: var(--bs-body-bg, #fff);
    box-shadow: 0 1px 4px rgba(0, 0, 0, .08);
    font-size: 0.9rem;
}
.float-sm-start.deal-inline-product { margin-right: 1.25rem; }
.float-sm-end.deal-inline-product   { margin-left: 1.25rem; }
.deal-inline-thumb {
    float: left;
    width: 84px;
    margin: 0 0.6rem 0.25rem 0;
    display: block;
}
.deal-inline-thumb img {
    width: 100%;
    height: auto;
    border-radius: 0.5rem;
    border: 1px solid rgba(0, 0, 0, .06);
}
.deal-inline-body { display: block; overflow: hidden; }
.deal-inline-brand {
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--bs-primary, #0d6efd);
    font-weight: 700;
}
.deal-inline-title {
    font-weight: 600;
    line-height: 1.25;
    margin: 0.1rem 0 0.25rem;
}
.deal-inline-title a { color: inherit; text-decoration: none; }
.deal-inline-title a:hover { text-decoration: underline; }
.deal-inline-price { font-weight: 700; }
.deal-inline-msrp {
    font-weight: 400;
    color: var(--bs-secondary-color, #6c757d);
    text-decoration: line-through;
    margin-left: 0.3rem;
}
.deal-inline-off {
    color: #dc3545;
    font-size: 0.8rem;
    margin-left: 0.3rem;
}
.deal-inline-coupon {
    margin: 0.35rem 0;
    font-size: 0.8rem;
    color: #198754;
}
.deal-inline-cta { margin-top: 0.35rem; }
.deal-inline-why {
    clear: both;
    margin: 0.5rem 0 0;
    font-size: 0.82rem;
    color: var(--bs-secondary-color, #6c757d);
    font-style: italic;
}
/* Bound floats: every section heading starts below any active inline embed. */
.editorial-section-title { clear: both; }

/* AGENTB 2026-08-19 — unified footer affiliate-disclosure note (E-E-A-T / FTC).
   Replaces the old full-width primary-blue strip, which read as a cheap banner
   jammed against the footer columns. Now a contained, theme-aware "transparency
   note" card: soft tertiary background + hairline border, muted text, primary
   icon + link, and clear breathing room (margin-bottom) before the footer links.
   Uses Bootstrap theme vars so it stays legible on light AND dark footers. */
.site-affiliate-bar {
    background: var(--bs-tertiary-bg, #f8f9fa);
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    color: var(--bs-secondary-color, #6c757d);
    font-size: 0.8125rem;
    line-height: 1.45;
    margin-bottom: 1.5rem; /* separate from the footer link columns */
}
.site-affiliate-bar__inner {
    padding: 0.625rem 0.875rem;
}
.site-affiliate-bar__text {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
}
.site-affiliate-bar__text .bi {
    color: var(--bs-primary, #0d6efd);
    font-size: 0.9em;
    flex-shrink: 0;
}
.site-affiliate-bar a,
.site-affiliate-bar__link {
    color: var(--bs-primary, #0d6efd);
    text-decoration: none;
    white-space: nowrap;
}
.site-affiliate-bar__link:hover,
.site-affiliate-bar__link:focus {
    color: var(--bs-primary, #0d6efd);
    text-decoration: underline;
}

/* Author headshot on the About / author-bio page (E-E-A-T real-person signal). */
.author-headshot {
    width: 160px;
    height: 160px;
    object-fit: cover;
    border: 3px solid var(--bs-border-color, #dee2e6);
}
.author-headshot-fallback {
    width: 160px;
    height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--bs-primary-bg-subtle, #e7f1ff);
    color: var(--bs-primary, #0d6efd);
    font-size: 3.5rem;
}
