/* Scoped storefront styles. System fonts and reserved image space keep the first
   useful view small; legacy catalogue/account pages keep their existing styles. */
.fv-site { --fv-ink:#171b18; --fv-muted:#626961; --fv-paper:#f6f7f2; --fv-line:#dce1d7; --fv-acid:#ccf45b; --fv-green:#32632e; color:var(--fv-ink); background:var(--fv-paper); font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; min-height:100vh; -webkit-font-smoothing:antialiased; }
.fv-site *, .fv-site *::before, .fv-site *::after { box-sizing:border-box; }
.fv-site [hidden] { display:none !important; }
.fv-site a { color:inherit; text-decoration:none; }
.fv-site button,.fv-site input,.fv-site select { font:inherit; }
.fv-site button,.fv-site select { cursor:pointer; }
.fv-site button { color:inherit; }
.fv-site button:disabled { cursor:not-allowed; opacity:.5; }
.fv-site h1,.fv-site h2,.fv-site h3,.fv-site p { margin:0; }
.fv-site svg { flex:none; vertical-align:middle; }
.fv-site :focus-visible { outline:3px solid #44833a; outline-offset:4px; }
.fv-site a:hover { text-decoration-thickness:1px; }
.fv-site input,.fv-site select { min-width:0; }
.fv-site .fv-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fv-skip { position:absolute; top:-100px; left:16px; z-index:200; padding:12px 20px; background:var(--fv-acid); font-weight:750; }
.fv-skip:focus { top:10px; }
.fv-wrap { width:min(1376px,100% - 64px); margin-inline:auto; }
.fv-masthead { background:var(--fv-ink); color:#fff; }
.fv-topline { min-height:82px; display:flex; gap:30px; align-items:center; }
.fv-brand { display:flex; align-items:center; gap:11px; flex:none; }
.fv-brand-mark { width:39px; height:43px; color:var(--fv-acid); }
.fv-brand-word { font-size:23px; line-height:.89; letter-spacing:-1.25px; font-weight:900; }
.fv-brand-word small { display:block; font-size:10px; letter-spacing:3.25px; line-height:1.8; font-weight:750; }
.fv-main-nav { display:flex; gap:27px; margin-left:40px; align-items:center; }
.fv-main-nav a { font-size:13px; color:#b9c1b7; padding-block:29px; border-bottom:3px solid transparent; }
.fv-main-nav a[aria-current="page"] { color:#fff; border-bottom-color:var(--fv-acid); }
.fv-main-nav a:hover { color:var(--fv-acid); }
.fv-top-actions { margin-left:auto; display:flex; gap:21px; align-items:center; }
.fv-destination { display:flex; flex-direction:column; gap:2px; }
.fv-destination span { font-size:9px; font-weight:700; color:#b5beb1; letter-spacing:1.6px; text-transform:uppercase; }
.fv-destination select { background:transparent; color:#fff; border:0; padding:0 18px 0 0; font-size:13px; max-width:160px; }
.fv-destination option { background:#fff; color:var(--fv-ink); }
.fv-saved-trigger { display:flex; align-items:center; gap:8px; padding:10px 0 10px 20px; border:0; border-left:1px solid #40473e; color:#fff !important; background:none; font-size:13px !important; white-space:nowrap; }
.fv-save-count { font-size:10px; background:var(--fv-acid); color:var(--fv-ink); border-radius:50%; min-width:18px; height:18px; padding:1px 5px; font-weight:750; }
.fv-hero { position:relative; overflow:hidden; border-bottom:1px solid var(--fv-line); background:#eff2e8; }
.fv-hero-inner { padding-top:28px; padding-bottom:24px; position:relative; }
.fv-hero-copy { position:relative; z-index:1; max-width:950px; }
.fv-eyebrow { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:2px; margin-bottom:19px !important; }
.fv-eyebrow::before { content:""; display:block; width:22px; height:3px; background:var(--fv-ink); }
.fv-hero h1 { font-size:clamp(36px,4.1vw,54px); font-weight:850; letter-spacing:-2.4px; line-height:1.04; max-width:900px; }
.fv-hero h1 br { display:none; }
.fv-hero h1 br::after { content:" "; }
.fv-hero h1 em { font-style:normal; position:relative; white-space:nowrap; }
.fv-hero h1 em::after { content:""; position:absolute; inset:auto -3px 1px; height:9px; background:var(--fv-acid); z-index:-1; transform:rotate(-1deg); }
.fv-hero-copy > p:last-child { color:#5b6457; font-size:15px; margin-top:13px; max-width:750px; }
.fv-trail-graphic { position:absolute; width:335px; height:235px; right:-35px; top:9px; opacity:.5; pointer-events:none; }
.fv-search { display:flex; align-items:center; gap:13px; position:relative; z-index:1; margin-top:21px; background:#fff; padding:7px 7px 7px 19px; border:1px solid #c6cebd; border-radius:7px; max-width:900px; box-shadow:0 3px 0 #dde3d4; }
.fv-search:focus-within { border-color:#527a36; box-shadow:0 0 0 3px #ccf45b66; }
.fv-search > svg { width:23px; height:23px; color:#59644f; }
.fv-search input { flex:1; width:100%; padding:12px 0; border:0; color:var(--fv-ink); background:transparent; font-size:16px; outline:none !important; }
.fv-search input::placeholder { color:#768070; }
.fv-button { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:44px; padding:10px 18px; border:1px solid transparent; border-radius:5px; font-weight:700 !important; font-size:13px !important; text-align:center; transition:background .15s,color .15s; }
.fv-button--dark { background:var(--fv-ink); color:#fff !important; }
.fv-button--dark:hover { background:#34432b; }
.fv-button--acid { background:var(--fv-acid); color:var(--fv-ink); }
.fv-button--acid:hover { background:#bcdf5a; }
.fv-button--quiet { border-color:#cdd4c5; background:#fff; color:var(--fv-ink); }
.fv-button--quiet:hover { border-color:#788971; background:#f2f5ed; }
.fv-search .fv-button { min-height:45px; padding-inline:23px; }
.fv-search-help { display:flex; align-items:center; gap:18px; margin-top:15px; font-size:11px; color:#65725c; }
.fv-search-help span { display:flex; align-items:center; gap:5px; }
.fv-search-help svg { width:13px; height:13px; }
.fv-search-help a { margin-left:auto; text-decoration:underline; text-underline-offset:3px; }
.fv-category-strip { border-bottom:1px solid var(--fv-line); background:#fff; }
.fv-category-links { display:flex; gap:28px; overflow:auto; scrollbar-width:thin; white-space:nowrap; min-height:58px; align-items:stretch; }
.fv-category-links a { display:flex; align-items:center; gap:7px; font-size:12px; font-weight:680; color:#63705b; border-bottom:3px solid transparent; padding-top:3px; }
.fv-category-links a.is-active { color:var(--fv-ink); border-bottom-color:var(--fv-ink); }
.fv-category-links a:hover { color:var(--fv-ink); }
.fv-catalogue { padding-top:31px; padding-bottom:52px; }
.fv-results-top { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:16px; }
.fv-results-heading h2 { font-size:23px; line-height:1.25; font-weight:780; letter-spacing:-.6px; scroll-margin-top:20px; }
.fv-results-heading > p { margin-top:6px; color:var(--fv-muted); font-size:12px; }
.fv-result-controls { display:flex; align-items:center; gap:10px; flex:none; }
.fv-sort { display:flex; flex-direction:column; gap:2px; }
.fv-sort > span { font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:1.15px; color:#707a68; }
.fv-sort select { border:0; padding:4px 20px 4px 0; background:transparent; font-size:12px; font-weight:650; max-width:175px; }
.fv-filters-trigger { min-height:42px; padding:9px 14px; margin-left:9px; }
.fv-filters-trigger svg { width:17px; }
.fv-filter-count { background:var(--fv-ink); color:#fff; padding:0 5px; border-radius:4px; font-size:10px; }
.fv-chips { display:flex; flex-wrap:wrap; gap:7px; }
.fv-chips:not(:empty) { margin-bottom:17px; }
.fv-chip { display:inline-flex; align-items:center; gap:8px; background:#e7ecdf; border:1px solid #d2dcc8; border-radius:4px; padding:6px 9px; min-height:33px; font-size:11px !important; }
.fv-chip svg { width:13px; height:13px; }
.fv-country-note { display:flex; align-items:center; color:#677360; font-size:11px; padding:12px 0 17px; border-top:1px solid var(--fv-line); }
.fv-coverage-details { margin-bottom:14px; color:#516340; font-size:12px; }
.fv-coverage-details > summary { cursor:pointer; padding:4px 0 10px; width:fit-content; }
.fv-coverage { padding:12px 15px; border-left:3px solid #829a5e; background:#edf2e5; font-size:12px; color:#516340; }
.fv-notice { padding:13px 16px; margin-bottom:17px; background:#eaf1dd; border:1px solid #c6d6b0; font-size:13px; border-radius:5px; }
.fv-notice--error { background:#fff2e0; border-color:#e5c596; color:#6c4b1e; }
.fv-retry { margin-bottom:16px; }
.fv-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; min-height:250px; }
.fv-card { min-width:0; overflow:hidden; border:1px solid #d9dfd2; border-radius:7px; background:#fff; box-shadow:0 2px 0 #e8ece2; }
.fv-card-media { height:188px; position:relative; background:#fdfefd; border-bottom:1px solid #edf0e8; display:flex; justify-content:center; align-items:center; }
.fv-card-media > a { display:flex; align-items:center; justify-content:center; height:100%; width:100%; padding:19px 30px; }
.fv-card-media img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.fv-image-empty { padding:25px; font-size:12px; color:#829074; text-align:center; }
.fv-save-icon { position:absolute; right:12px; top:12px; width:36px; height:36px; display:grid; place-items:center; background:#fff; border:1px solid #dde3d7; border-radius:50%; }
.fv-save-icon svg { width:17px; height:17px; }
.fv-save-icon:hover { background:#f1f5e9; }
.fv-save-icon.is-saved { color:var(--fv-green); border-color:#91b87b; background:#ecf6df; }
.fv-save-icon.is-saved svg { fill:#ccf45b; }
.fv-card-content { padding:18px 18px 0; }
.fv-card-eyebrow { font-size:9px; font-weight:800; letter-spacing:1.45px; text-transform:uppercase; color:#687360; margin-bottom:5px; }
.fv-card h3 { font-size:19px; font-weight:770; line-height:1.25; letter-spacing:-.4px; min-height:48px; }
.fv-card h3 a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.fv-card h3 a:hover { text-decoration:underline; text-underline-offset:3px; }
.fv-variant-summary { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:5px; min-height:30px; margin-top:5px; margin-bottom:11px; color:#79816f; font-size:10px; }
.fv-evidence-badge { display:inline-flex; align-items:center; gap:3px; background:#eef5e7; color:#326b29; padding:3px 6px; border-radius:3px; font-size:9px; font-weight:700; }
.fv-evidence-badge svg { width:11px; height:11px; }
.fv-variant-label { display:block; font-size:10px; font-weight:700; margin-bottom:5px; }
.fv-variant-select { display:block; width:100%; min-height:42px; border:1px solid #cbd4c2; background:#fbfcf8; border-radius:4px; font-size:11px !important; line-height:1.3; padding:9px 28px 9px 9px; text-overflow:ellipsis; }
.fv-specs { display:flex; flex-wrap:wrap; gap:5px; margin:10px 0 9px; padding:0; min-height:26px; }
.fv-specs div { display:flex; gap:4px; border-radius:3px; background:#f2f4ed; padding:3px 6px; font-size:9px; color:#424c3b; }
.fv-specs dt { color:#79816f; }
.fv-specs dd { margin:0; font-weight:650; }
.fv-caveat { font-size:10px; line-height:1.5; color:#74806a; margin-bottom:12px !important; min-height:30px; }
.fv-offers { list-style:none; padding:0; margin:0; }
.fv-offer { padding:12px 0 11px; border-top:1px solid #e5eadd; }
.fv-offer-main { display:flex; gap:8px; justify-content:space-between; align-items:flex-start; }
.fv-offer-main > div:first-child { min-width:0; }
.fv-offer-main > div:first-child > strong { font-size:12px; font-weight:730; display:block; overflow-wrap:anywhere; }
.fv-offer-stock { display:block; margin-top:3px; color:#858775; font-size:9px; }
.fv-stock-available { color:#427135; }
.fv-offer-price { text-align:right; flex:none; }
.fv-offer-price > strong { display:block; font-size:20px; line-height:1.1; letter-spacing:-.6px; font-weight:780; font-variant-numeric:tabular-nums; }
.fv-retailer-was { display:block; margin-top:4px; font-size:8px; color:#849078; }
.fv-offer-bottom { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:9px; }
.fv-offer-bottom > span { font-size:9px; color:#7e8775; max-width:58%; }
.fv-offer-bottom a { display:flex; align-items:center; gap:5px; flex:none; font-size:10px; font-weight:750; color:#325f24; padding:7px 8px; border:1px solid #d1dfc6; border-radius:3px; background:#f7fbf1; }
.fv-offer-bottom a:hover { background:#e9f5d9; border-color:#9fbc88; }
.fv-offer-bottom a svg { width:10px; height:10px; }
.fv-offer-time { display:block; font-size:8px; color:#919888; margin-top:6px; }
.fv-offer--unavailable { background:#fafbf8; }
.fv-offer--unavailable .fv-offer-price > strong { color:#7e8874; }
.fv-lowest { display:block; margin-top:5px; font-size:9px; color:#2f6827; }
.fv-offer-empty { background:#f5f7ef; border:1px dashed #ced9c3; font-size:11px; padding:14px; color:#6b785e; border-radius:4px; margin-bottom:12px; }
.fv-more-offers { display:flex; justify-content:center; gap:7px; align-items:center; border-top:1px solid #e5eadd; padding:10px 0; font-size:10px; font-weight:700; color:#436637 !important; }
.fv-more-offers svg { width:12px; height:12px; }
.fv-card-actions { display:flex; justify-content:space-between; gap:7px; margin:0 -18px; padding:0 12px; border-top:1px solid #e7ebdf; background:#fcfdf9; }
.fv-card-actions button { display:flex; align-items:center; gap:6px; min-height:44px; padding:7px 5px; background:none; border:0; font-size:10px; color:#637057; }
.fv-card-actions button:hover { color:#255318; }
.fv-card-actions svg { width:13px; height:13px; }
.fv-card-actions [aria-pressed="true"] { color:#376c2b; }
.fv-pagination { display:flex; justify-content:center; align-items:center; gap:22px; margin-top:28px; font-size:12px; }
.fv-pagination:empty { display:none; }
.fv-empty { grid-column:1/-1; padding:54px 24px; text-align:center; border:1px dashed #bac8ad; border-radius:7px; background:#fcfdf9; }
.fv-empty-icon { display:inline-flex; width:54px; height:54px; border-radius:50%; background:#e7efdc; align-items:center; justify-content:center; margin-bottom:19px; }
.fv-empty h3 { font-size:22px; letter-spacing:-.5px; }
.fv-empty p { max-width:490px; margin:12px auto 23px; font-size:14px; color:var(--fv-muted); }
.fv-empty > a { display:block; font-size:12px; text-decoration:underline; text-underline-offset:4px; margin-top:20px; }
.fv-empty > a svg { width:13px; height:13px; }
/* Option picker: one row per retailer option instead of every combination */
.fv-picker { display:grid; gap:12px; margin:2px 0 4px; }
.fv-picker-head { display:flex; gap:8px; align-items:baseline; margin-bottom:6px; min-width:0; }
.fv-picker-head span { flex:none; font-size:9px; font-weight:780; letter-spacing:1.2px; text-transform:uppercase; color:#687360; }
.fv-picker-head strong { font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.fv-picker-values { display:flex; flex-wrap:wrap; gap:6px; }
.fv-option { min-width:40px; min-height:34px; padding:6px 10px; border:1px solid #cbd4c2; border-radius:4px; background:#fbfcf8; color:var(--fv-ink); font-size:12px; font-weight:620; line-height:1.2; font-variant-numeric:tabular-nums; cursor:pointer; }
.fv-option:hover { border-color:var(--fv-ink); }
.fv-option:focus-visible { outline:2px solid var(--fv-green); outline-offset:2px; }
.fv-option.is-selected { background:var(--fv-ink); border-color:var(--fv-ink); color:#fff; }
.fv-option.is-soldout { color:#838b7a; background:linear-gradient(to top left,transparent calc(50% - .6px),#bcc5b2 50%,transparent calc(50% + .6px)) #fbfcf8; }
.fv-option.is-soldout.is-selected { color:#e8ece2; background:linear-gradient(to top left,transparent calc(50% - .6px),#737c6b 50%,transparent calc(50% + .6px)) var(--fv-ink); }
.fv-option.is-unavailable:not(.is-selected) { border-style:dashed; color:#9aa191; background:transparent; }
.fv-card--detail .fv-option { min-height:40px; font-size:13px; }
/* Wider shop index below size-checked models */
.fv-none-note { grid-column:1/-1; padding:14px 16px; border:1px dashed #bac8ad; border-radius:7px; background:#fcfdf9; color:#516340; font-size:13px; }
.fv-none-note a { text-decoration:underline; text-underline-offset:3px; }
.fv-none-note svg { width:12px; height:12px; vertical-align:-1px; }
.fv-more { margin-top:36px; padding-top:28px; border-top:1px solid var(--fv-line); }
.fv-results:has(> .fv-none-note) { min-height:0; }
.fv-results:has(> .fv-none-note) + .fv-pagination + .fv-more { margin-top:18px; padding-top:0; border-top:0; }
.fv-more[aria-busy="true"] { opacity:.6; }
.fv-more-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:18px; }
.fv-more-head h2 { font-size:24px; font-weight:780; letter-spacing:-.6px; }
.fv-more-head p:not(.fv-eyebrow) { margin-top:6px; max-width:560px; color:var(--fv-muted); font-size:12px; }
.fv-more-head .fv-button { flex:none; }
.fv-more-head .fv-button svg { width:14px; height:14px; }
.fv-listings { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.fv-listing-link { display:flex; flex-direction:column; height:100%; overflow:hidden; border:1px solid #d9dfd2; border-radius:7px; background:#fff; box-shadow:0 2px 0 #e8ece2; }
.fv-listing-link:hover { border-color:#9fbc88; }
.fv-listing-link:hover strong { text-decoration:underline; text-underline-offset:3px; }
.fv-listing-media { position:relative; height:160px; display:flex; align-items:center; justify-content:center; padding:14px; background:#fdfefd; border-bottom:1px solid #edf0e8; }
.fv-listing-media img { display:block; width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.fv-listing-discount { position:absolute; left:10px; top:10px; padding:2px 6px; border-radius:3px; background:var(--fv-acid); font-size:10px; font-weight:800; }
.fv-listing-body { flex:1; display:flex; flex-direction:column; gap:3px; padding:12px 13px 13px; }
.fv-listing-body small { font-size:9px; font-weight:800; letter-spacing:1.3px; text-transform:uppercase; color:#687360; }
.fv-listing-body strong { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:13px; font-weight:700; line-height:1.3; }
.fv-listing-price { display:flex; flex-wrap:wrap; gap:0 7px; align-items:baseline; margin-top:auto; padding-top:6px; }
.fv-listing-price b { font-size:17px; font-weight:780; letter-spacing:-.4px; font-variant-numeric:tabular-nums; }
.fv-listing-price s { font-size:11px; color:#849078; }
.fv-listing-shop { display:flex; align-items:center; gap:5px; font-size:10px; color:#6b785e; }
.fv-listing-shop svg { flex:none; width:10px; height:10px; }
.fv-more-listings { display:flex; margin:20px auto 0; }
@media (max-width:900px) { .fv-listings { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:600px) { .fv-listings { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .fv-more-head { flex-direction:column; align-items:flex-start; gap:12px; } .fv-more-head h2 { font-size:21px; } .fv-listing-media { height:130px; padding:10px; } .fv-listing-body { padding:10px; } .fv-listing-body strong { font-size:12px; } .fv-option { min-height:40px; } }
/* Clean pass: status messages are for screen readers unless something failed */
.fv-notice:not(.fv-notice--error) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fv-card-icons { position:absolute; right:12px; top:12px; display:flex; gap:8px; }
.fv-card-icons .fv-save-icon { position:static; }
.fv-card-icons .fv-save-icon[disabled] { opacity:.4; }
.fv-offer-bottom { justify-content:flex-end; margin-top:8px; }
.fv-offer-price .fv-retailer-was { display:block; margin-top:3px; font-size:11px; color:#849078; }
.fv-card .fv-picker { margin-bottom:12px; }
.fv-card .fv-variant-select { margin-bottom:12px; }
.fv-empty { padding:40px 24px; }
.fv-empty p { margin:8px auto 20px; }
.fv-more-head { align-items:baseline; margin-bottom:14px; }
.fv-more-head h2 { font-size:21px; }
.fv-more-link { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:700; white-space:nowrap; }
.fv-more-link svg { width:14px; height:14px; }
.fv-results:empty { min-height:0; }
.fv-results:empty ~ .fv-more { margin-top:0; padding-top:0; border-top:0; }
.fv-dialog-head { align-items:center; }
.fv-site[data-family-id] .fv-hero-copy > p, .fv-site[data-family-id] .fv-results-top, .fv-site[data-family-id] .fv-learning { display:none; }
@media (max-width:600px) { .fv-more-head { flex-direction:row; align-items:baseline; } }
.fv-learning { border-top:1px solid var(--fv-line); padding-block:38px; background:#ecefe5; }
.fv-learning-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; }
.fv-learning-intro .fv-eyebrow { margin-bottom:12px !important; }
.fv-learning h2 { font-size:26px; font-weight:790; line-height:1.1; letter-spacing:-.9px; max-width:260px; }
.fv-guide-link { display:block; padding:0 0 0 25px; border-left:1px solid #cbd5be; }
.fv-guide-link > small { font-size:9px; font-weight:750; text-transform:uppercase; letter-spacing:1px; color:#657357; }
.fv-guide-link > strong { display:block; font-size:16px; margin-top:8px; font-weight:720; letter-spacing:-.25px; }
.fv-guide-link > p { color:#6c785f; font-size:12px; margin-top:8px; max-width:310px; }
.fv-guide-link > span { display:inline-flex; align-items:center; gap:7px; font-weight:750; font-size:11px; margin-top:14px; }
.fv-guide-link > span svg { width:14px; height:14px; }
.fv-guide-link:hover > strong { text-decoration:underline; text-underline-offset:4px; }
.fv-footer { background:var(--fv-ink); color:#fff; padding-block:30px; }
.fv-footer-row { display:flex; justify-content:space-between; align-items:flex-start; gap:30px; }
.fv-footer strong { font-size:14px; letter-spacing:-.4px; }
.fv-footer p { color:#a6b09e; font-size:11px; max-width:470px; margin-top:8px; }
.fv-footer-links { display:flex; flex-wrap:wrap; gap:18px; font-size:11px; color:#c9d2c1; }
.fv-footer-links a:hover { color:var(--fv-acid); }
.fv-source-status { margin-top:18px !important; font-size:9px !important; color:#8e9c83 !important; }
.fv-dialog { color:var(--fv-ink); padding:0; border:1px solid #d9e1d1; border-radius:9px; width:min(460px,calc(100% - 24px)); max-height:calc(100dvh - 40px); background:#fcfdf9; box-shadow:0 25px 90px #12200844; }
.fv-dialog::backdrop { background:#17231088; backdrop-filter:blur(2px); }
.fv-dialog-head { padding:24px 24px 18px; display:flex; justify-content:space-between; align-items:flex-start; gap:18px; border-bottom:1px solid #e1e7d9; background:#f3f6eb; }
.fv-dialog-head h2 { font-size:22px; letter-spacing:-.7px; }
.fv-dialog-head p { margin-top:5px; font-size:12px; color:#6e7a61; }
.fv-close { flex:none; display:grid; place-items:center; width:35px; height:35px; padding:4px; border:1px solid #d5decc; background:#fff; border-radius:50%; }
.fv-close svg { width:16px; height:16px; }
.fv-form-fields { display:grid; gap:18px; padding:23px; }
.fv-form-field { display:grid; gap:7px; }
.fv-form-field > span { font-size:12px; font-weight:720; }
.fv-form-field > small { color:#7a846e; font-size:10px; }
.fv-form-field select,.fv-form-field input { width:100%; min-height:45px; border:1px solid #cbd6bf; border-radius:4px; padding:10px 12px; background:#fff; font-size:13px; }
.fv-form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.fv-dialog-actions { display:flex; justify-content:space-between; gap:12px; padding:18px 23px; border-top:1px solid #e0e7d7; background:#f5f8ef; }
.fv-dialog-actions .fv-button { flex:1; }
.fv-saved-list { list-style:none; padding:0 24px; margin:0; max-height:55dvh; overflow:auto; }
.fv-saved-item { display:flex; gap:12px; align-items:center; border-bottom:1px solid #e1e7d9; padding:18px 0; }
.fv-saved-item a { display:grid; gap:5px; flex:1; min-width:0; }
.fv-saved-item strong { font-size:14px; line-height:1.3; }
.fv-saved-item span { font-size:11px; color:#68775c; overflow-wrap:anywhere; }
.fv-saved-item small { font-size:9px; color:#86907b; }
.fv-saved-item button { width:32px; height:32px; border:1px solid #d4deca; background:#fff; border-radius:50%; flex:none; }
.fv-saved-item button svg { width:14px; height:14px; }
.fv-saved-empty { text-align:center; padding:43px 12px; color:#727f64; font-size:14px; line-height:1.8; }
.fv-saved-footnote { margin:18px 24px 24px !important; font-size:11px; color:#78846b; }
.fv-saved-footnote a { text-decoration:underline; text-underline-offset:3px; }
.fv-share-content { padding:22px; }
.fv-share-content input { width:100%; margin:10px 0; padding:12px; border:1px solid #bdcfac; border-radius:4px; font-size:12px; }
.fv-results--detail { display:block; }
.fv-card--detail { display:grid; grid-template-columns:minmax(230px,1fr) minmax(340px,1.3fr); }
.fv-card--detail .fv-card-media { height:400px; border-bottom:0; position:sticky; top:0; }
.fv-card--detail .fv-card-content { border-left:1px solid #e1e7d9; padding-top:30px; }
.fv-card--detail h3 { font-size:29px; min-height:0; }
.fv-card--detail .fv-offer { padding-block:17px; }
.fv-card--detail .fv-specs div { font-size:11px; padding:5px 8px; }
.fv-card--detail .fv-caveat { font-size:12px; }
.fv-card--detail .fv-variant-select { font-size:13px !important; min-height:48px; }
.fv-card--detail .fv-variant-label { font-size:12px; }
.fv-card--detail .fv-offer-main > div:first-child > strong { font-size:15px; }
.fv-card--detail .fv-offer-bottom a { font-size:12px; padding:9px 11px; }
.fv-card--detail .fv-offer-bottom > span,.fv-card--detail .fv-offer-stock { font-size:11px; }
.fv-card--detail .fv-card-actions { margin-top:12px; }
.fv-card--detail .fv-card-actions button { font-size:12px; }
@media (min-width:1600px) { .fv-results { grid-template-columns:repeat(4,minmax(0,1fr)); } .fv-results--detail { display:block; } }
@media (max-width:1100px) { .fv-main-nav { margin-left:8px; gap:18px; } .fv-top-actions { gap:12px; } .fv-brand-word { font-size:21px; } .fv-trail-graphic { right:-105px; opacity:.3; } .fv-results { gap:15px; } .fv-card-content { padding-inline:14px; } .fv-card-actions { margin-inline:-14px; } .fv-offer-bottom { flex-wrap:wrap; } .fv-offer-bottom > span { max-width:100%; } }
@media (max-width:900px) { .fv-results { grid-template-columns:repeat(2,minmax(0,1fr)); } .fv-main-nav { display:none; } .fv-wrap { width:calc(100% - 42px); } .fv-hero-inner { padding-top:35px; } .fv-hero h1 { max-width:620px; } .fv-trail-graphic { display:none; } .fv-learning-grid { gap:20px; } .fv-learning h2 { font-size:22px; } .fv-guide-link { padding-left:20px; } .fv-card--detail { grid-template-columns:minmax(200px,.85fr) minmax(300px,1.2fr); } .fv-results--detail { display:block; } }
@media (max-width:600px) { .fv-hero h1 br { display:block; } .fv-wrap { width:calc(100% - 30px); } .fv-topline { min-height:72px; gap:12px; } .fv-brand-mark { width:28px; height:35px; } .fv-brand { gap:7px; } .fv-brand-word { font-size:18px; letter-spacing:-.8px; } .fv-brand-word small { font-size:7px; letter-spacing:2.8px; } .fv-top-actions { gap:12px; } .fv-destination select { max-width:112px; font-size:11px; padding-right:3px; } .fv-destination span { font-size:7px; letter-spacing:1px; } .fv-saved-trigger { padding-left:12px; gap:4px; } .fv-saved-trigger > .fv-saved-label { display:none; } .fv-saved-trigger > svg { width:19px; } .fv-hero-inner { padding-top:29px; padding-bottom:24px; } .fv-eyebrow { font-size:8px; letter-spacing:1.65px; margin-bottom:14px !important; } .fv-hero h1 { font-size:39px; line-height:1.02; letter-spacing:-1.9px; max-width:370px; } .fv-hero-copy > p:last-child { font-size:13px; line-height:1.6; margin-top:13px; max-width:340px; } .fv-search { margin-top:22px; padding:5px 5px 5px 12px; gap:8px; } .fv-search input { font-size:14px; padding:10px 0; } .fv-search > svg { width:19px; height:19px; } .fv-search .fv-button { padding-inline:14px; min-height:43px; } .fv-search .fv-button svg { display:none; } .fv-search-help { gap:13px; margin-top:12px; font-size:9px; flex-wrap:wrap; } .fv-search-help a { margin-left:0; } .fv-category-links { gap:24px; min-height:51px; } .fv-category-links a { font-size:11px; } .fv-catalogue { padding-top:23px; padding-bottom:33px; } .fv-results-top { align-items:flex-start; gap:12px; flex-direction:column; margin-bottom:12px; } .fv-results-heading h2 { font-size:21px; } .fv-results-heading > p { font-size:11px; } .fv-result-controls { width:100%; justify-content:space-between; } .fv-sort { flex-direction:row; align-items:center; gap:8px; } .fv-sort > span { font-size:8px; } .fv-sort select { font-size:11px; } .fv-filters-trigger { margin-left:0; min-height:38px; padding:6px 11px; font-size:11px !important; } .fv-country-note { font-size:10px; line-height:1.5; padding-bottom:14px; } .fv-results { grid-template-columns:1fr; gap:17px; } .fv-card-media { height:185px; } .fv-card-media > a { padding:17px 60px; } .fv-card-content { padding:19px 19px 0; } .fv-card h3 { font-size:21px; min-height:0; } .fv-card-eyebrow { font-size:10px; } .fv-variant-summary { font-size:11px; margin-top:7px; } .fv-variant-label { font-size:11px; } .fv-variant-select { font-size:12px !important; min-height:45px; } .fv-specs div { font-size:10px; } .fv-caveat { font-size:11px; min-height:0; } .fv-offer { padding-block:14px; } .fv-offer-main > div:first-child > strong { font-size:14px; } .fv-offer-price > strong { font-size:23px; } .fv-offer-stock,.fv-retailer-was,.fv-offer-bottom > span { font-size:10px; } .fv-offer-bottom { flex-wrap:nowrap; } .fv-offer-bottom > span { max-width:56%; } .fv-offer-bottom a { font-size:11px; padding:8px 10px; } .fv-offer-time { font-size:9px; } .fv-card-actions { margin-inline:-19px; padding-inline:15px; } .fv-card-actions button { font-size:11px; min-height:48px; } .fv-card-actions svg { width:15px; height:15px; } .fv-more-offers { font-size:11px; padding-block:12px; } .fv-learning { padding-block:30px; } .fv-learning-grid { grid-template-columns:1fr; gap:24px; } .fv-learning h2 { max-width:330px; font-size:25px; } .fv-guide-link { padding:0; border:0; } .fv-guide-link > p { max-width:none; } .fv-footer-row { flex-direction:column; gap:23px; } .fv-footer-links { gap:18px; flex-wrap:wrap; } .fv-dialog { max-height:calc(100dvh - 20px); width:calc(100% - 20px); } .fv-dialog-head { padding:20px; } .fv-form-fields { padding:20px; gap:17px; } .fv-card--detail { display:block; } .fv-card--detail .fv-card-media { position:relative; height:245px; } .fv-card--detail .fv-card-content { border-left:0; border-top:1px solid #e1e7d9; padding-top:22px; } .fv-card--detail h3 { font-size:25px; } .fv-results--detail { display:block; } }
@media (prefers-reduced-motion:reduce) { .fv-site *, .fv-site *::before,.fv-site *::after { transition:none !important; animation:none !important; scroll-behavior:auto !important; } }

.fv-listing-name { font-size:13px; color:#424c3d; margin:10px 0 0 !important; }
