/* vehicle-detail.html — page-owned detail design. */
/* Light, editorial vehicle detail system. Each build owns this stylesheet. */
html { scroll-padding-top:calc(var(--detail-header-current,88px) + 72px); }
body.vehicle-detail { --detail-space:clamp(48px,5vw,68px); --detail-header-space:88px; background:#fffdf8; color:#173b32; }
body.vehicle-detail main { overflow:clip; }
body.vehicle-detail main :is(h1,h2,h3,p,figure) { margin:0; }
body.vehicle-detail main :is(.container,.wide-container) { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
body.vehicle-detail main .section { padding:var(--detail-space) 0; border:0; background:#fffdf8; }
body.vehicle-detail main .section-tight { padding:0 0 var(--detail-space); border:0; background:#fffdf8; }
body.vehicle-detail main :is(section[id],#vehicle-gallery) { scroll-margin-top:0; }
body.vehicle-detail main h2 { font:500 clamp(30px,3.2vw,46px)/1.13 var(--font-serif); letter-spacing:-.035em; color:#173b32; }
body.vehicle-detail main h3 { font:500 24px/1.18 var(--font-serif); color:#173b32; }
body.vehicle-detail main .eyebrow { margin-bottom:15px; color:#82632f; font-size:9px; font-weight:600; line-height:1.6; letter-spacing:.16em; text-transform:uppercase; }
body.vehicle-detail main .muted { color:#526150; opacity:1; font-size:14px; line-height:1.85; }
body.vehicle-detail main .section-title { display:block; text-align:left; margin-bottom:28px; }
body.vehicle-detail main .section-title .muted { max-width:750px; margin-top:18px; }
body.vehicle-detail main :is(.btn-primary-eo,.btn-ghost-eo) { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:46px; padding:12px 18px; border:1px solid #173b32; border-radius:5px; font:600 11px/1.5 var(--font-sans); text-decoration:none; cursor:pointer; box-shadow:none; }
body.vehicle-detail main .btn-primary-eo { background:#173b32; color:#fffdf8; }
body.vehicle-detail main .btn-primary-eo:hover { background:#285446; border-color:#285446; }
body.vehicle-detail main .btn-ghost-eo { background:transparent; color:#173b32; border-color:#cfc5ad; }
body.vehicle-detail main .btn-ghost-eo:hover { background:#f0f1e7; border-color:#8c9c80; }
body.vehicle-detail :is(main,dialog) :is(a,button,input,select,summary):focus-visible { outline:3px solid #9c793d; outline-offset:4px; }
body.vehicle-detail .skip-link { position:fixed; top:-100px; left:16px; z-index:2000; padding:12px 18px; background:#173b32; color:#fffdf8; }
body.vehicle-detail .skip-link:focus { top:12px; }

/* The same full-screen, photographic introduction as Home, About and Vehicles. */
body.vehicle-detail main .vehicle-hero { position:relative; padding:0; border:0; overflow:hidden; background:#f7f3e8; }
body.vehicle-detail .vehicle-hero::before,body.vehicle-detail .vehicle-hero::after { display:none; }
body.vehicle-detail .hero-shell { position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:40px; align-items:center; width:100%; margin:0; padding:32px clamp(24px,5vw,80px); min-height:calc(100vh - var(--detail-header-space)); min-height:calc(100svh - var(--detail-header-space)); isolation:isolate; }
body.vehicle-detail .hero-copy { position:relative; z-index:2; max-width:590px; min-width:0; padding:8px 0; }
body.vehicle-detail .detail-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:25px; font-size:9px; color:#6e7566; }
body.vehicle-detail .detail-breadcrumb a:hover { text-decoration:underline; }
body.vehicle-detail .vehicle-hero h1 { max-width:620px; font:600 clamp(43px,4.3vw,65px)/1.05 var(--font-serif); letter-spacing:-.045em; text-wrap:balance; color:#173b32; }
body.vehicle-detail .vehicle-hero h1 em { display:block; font-weight:500; color:#896930; }
body.vehicle-detail .hero-subtitle { max-width:470px; margin-top:20px; color:#526150; font-size:13px; line-height:1.8; }
body.vehicle-detail .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; margin-top:25px; }
body.vehicle-detail .hero-actions .btn-primary-eo { gap:22px; border-radius:999px; border-color:#c4a56a; background:#c4a56a; color:#193b30; padding:14px 21px; }
body.vehicle-detail .hero-actions .btn-primary-eo:hover { background:#d8be86; border-color:#d8be86; }
body.vehicle-detail .detail-text-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#173b32; font-size:11px; font-weight:500; text-decoration:underline; text-decoration-color:#b79a62; text-underline-offset:6px; }
body.vehicle-detail .hero-meta-ribbon { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:24px; background:transparent; border:0; border-radius:0; box-shadow:none; }
body.vehicle-detail .hero-meta-ribbon span { display:flex; align-items:center; gap:6px; color:#526150; font-size:10px; }
body.vehicle-detail .hero-meta-ribbon i { color:#927642; font-size:14px; }
body.vehicle-detail .detail-rate { max-width:470px; margin-top:20px; border-block:1px solid #dcd3c1; }
body.vehicle-detail .detail-rate summary { display:flex; align-items:center; flex-wrap:wrap; gap:4px 13px; list-style:none; min-height:48px; padding:11px 0; font-size:10px; cursor:pointer; color:#69725e; }
body.vehicle-detail .detail-rate summary::-webkit-details-marker { display:none; }
body.vehicle-detail .detail-rate summary strong { margin-inline:4px; color:#173b32; font:500 26px/1 var(--font-serif); }
body.vehicle-detail .detail-rate summary > span:nth-child(2) { margin-left:auto; font-size:9px; }
body.vehicle-detail .detail-rate summary::after { content:'+'; font-size:21px; color:#896930; }
body.vehicle-detail .detail-rate[open] summary::after { content:'−'; }
body.vehicle-detail .detail-rate-content { padding:0 0 18px; color:#526150; font-size:11px; line-height:1.8; }
body.vehicle-detail .rate-included,body.vehicle-detail .hero-trust-line { display:grid; grid-template-columns:1fr 1fr; gap:8px 15px; margin:14px 0; font-size:10px; }
body.vehicle-detail .rate-included span,body.vehicle-detail .hero-trust-line span { display:flex; gap:7px; align-items:start; }
body.vehicle-detail .detail-hero-visual { position:absolute; z-index:0; inset:0; width:100%; height:100%; overflow:hidden; }
body.vehicle-detail .detail-hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; filter:saturate(.85); }
body.vehicle-detail .detail-hero-visual::after { content:''; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(90deg,#f7f3e8 0%,rgba(247,243,232,.97) 28%,rgba(247,243,232,.86) 44%,rgba(247,243,232,.12) 70%,rgba(16,40,29,.04)); }
body.vehicle-detail .detail-photo-label { position:absolute; z-index:2; top:25px; right:clamp(24px,5vw,80px); display:flex; gap:7px; align-items:center; padding:8px 12px; border:1px solid #ffffff55; border-radius:999px; background:#173b328c; color:#fff9ed; font-size:8px; letter-spacing:.06em; text-transform:uppercase; backdrop-filter:blur(8px); }
body.vehicle-detail .detail-hero-visual figcaption { position:absolute; z-index:2; right:clamp(24px,5vw,80px); bottom:106px; width:34%; padding:23px; border-left:1px solid #d4b779; border-radius:0 12px 12px 0; color:#fff9ed; background:linear-gradient(90deg,#142c22d9,#142c2259); }
body.vehicle-detail .detail-hero-visual figcaption > span { display:block; font:500 clamp(22px,2.5vw,36px)/1.08 var(--font-serif); }
body.vehicle-detail .detail-hero-visual figcaption em { color:#e5cd95; }
body.vehicle-detail .detail-hero-visual figcaption a { display:inline-flex; align-items:center; gap:12px; min-height:30px; margin-top:14px; color:#fff9ed; font-size:10px; text-decoration:underline; text-underline-offset:6px; }
body.vehicle-detail .detail-hero-links { position:absolute; z-index:3; right:clamp(24px,5vw,80px); bottom:25px; width:34%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding:0 12px; border:1px solid #ffffff33; border-radius:8px; background:#173b32cc; backdrop-filter:blur(8px); }
body.vehicle-detail .detail-hero-links a { display:flex; align-items:center; justify-content:center; gap:7px; min-height:54px; padding:12px 0; border-top:2px solid transparent; color:#f4f1e5; font-size:10px; white-space:nowrap; }
body.vehicle-detail .detail-hero-links a:hover { border-top-color:#d9bd80; }
body.vehicle-detail .detail-hero-links a > span { color:#d9c28e; font-size:8px; }

/* Quiet local navigation follows the shared header. */
body.vehicle-detail .journey-nav-wrap { position:sticky; top:var(--detail-header-current,88px); z-index:50; border-block:1px solid #ded5c3; background:#fffdf8f5; backdrop-filter:blur(16px); }
body.vehicle-detail .journey-nav { width:min(1280px,calc(100% - 80px)); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; }
body.vehicle-detail .journey-brand { display:flex; align-items:center; gap:9px; min-width:95px; font-size:12px; color:#82632f; }
body.vehicle-detail .journey-links { display:flex; gap:24px; overflow-x:auto; scrollbar-width:thin; scrollbar-color:#c5b48c transparent; }
body.vehicle-detail .journey-links a { display:flex; align-items:center; min-height:54px; white-space:nowrap; border-bottom:2px solid transparent; color:#69705e; font-size:12px; }
body.vehicle-detail .journey-links a.is-active { border-color:#a98748; color:#173b32; font-weight:600; }

/* A gallery and a concise product overview, rather than an oversized booking card. */
body.vehicle-detail .product-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:34px; align-items:start; }
body.vehicle-detail .product-gallery,body.vehicle-detail .product-panel { min-width:0; }
body.vehicle-detail .gallery-main { overflow:hidden; border:1px solid #e2d9c7; border-radius:14px; background:#f7f3ea; }
body.vehicle-detail .detail-gallery-link { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; background:#dcdacb; }
body.vehicle-detail .detail-gallery-link > img { width:100%; height:100%; display:block; object-fit:cover; object-position:center top; filter:saturate(.94); }
body.vehicle-detail .gallery-count,body.vehicle-detail .gallery-open-pill { position:absolute; display:flex; gap:7px; align-items:center; background:#fffdf8ed; color:#173b32; border:1px solid #fffdf8a6; border-radius:5px; padding:8px 11px; font-size:11px; }
body.vehicle-detail .gallery-count { top:13px; left:13px; }
body.vehicle-detail .gallery-open-pill { bottom:13px; right:13px; }
body.vehicle-detail .gallery-caption { display:grid; gap:6px; padding:17px 19px; min-height:87px; }
body.vehicle-detail .gallery-caption strong { font:500 20px/1.25 var(--font-serif); }
body.vehicle-detail .gallery-caption > span { color:#5b6956; font-size:12px; line-height:1.65; }
body.vehicle-detail .thumb-strip-wrap { margin-top:12px; }
body.vehicle-detail .thumb-strip { position:relative; display:flex; gap:8px; overflow-x:auto; padding:4px 3px 8px; scrollbar-width:thin; scrollbar-color:#c5b48c transparent; scroll-snap-type:x proximity; }
body.vehicle-detail .thumb-btn { position:relative; flex:0 0 calc((100% - 48px) / 7); min-width:78px; min-height:44px; padding:0; border:0; border-radius:6px; background:transparent; cursor:pointer; color:#526150; text-align:center; scroll-snap-align:center; }
body.vehicle-detail .thumb-btn img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border:2px solid transparent; border-radius:6px; opacity:.75; }
body.vehicle-detail .thumb-btn.is-active img { border-color:#94733b; opacity:1; }
body.vehicle-detail .thumb-btn:hover img { opacity:1; }
body.vehicle-detail .thumb-label { display:block; margin-top:6px; font-size:10px; line-height:1.4; }
body.vehicle-detail .product-card { padding:26px; border:1px solid #ded5c1; border-top:2px solid #b89a5e; border-radius:14px; background:#f8f5eb; box-shadow:none; }
body.vehicle-detail main .product-title { font-size:clamp(34px,3vw,42px); line-height:1.1; }
body.vehicle-detail .product-short { margin-top:16px; color:#526150; font-size:13px; line-height:1.85; }
body.vehicle-detail .quick-benefits { display:grid; grid-template-columns:1fr 1fr; gap:11px 12px; margin:20px 0; padding:16px; border:1px solid #dfe5d5; border-radius:6px; background:#eef1e7; }
body.vehicle-detail .quick-benefits span { display:flex; align-items:center; gap:8px; min-width:0; color:#42583f; font-size:12px; line-height:1.5; }
body.vehicle-detail .quick-benefits i { color:#927642; font-size:17px; line-height:1; flex-shrink:0; }
body.vehicle-detail .price-line { display:flex; justify-content:space-between; align-items:end; gap:12px; margin:20px 0 0; padding-top:18px; border-top:1px solid #ded5c1; }
body.vehicle-detail .price-line > div { display:grid; gap:6px; }
body.vehicle-detail .price-line small,body.vehicle-detail .price-line > span { font-size:11px; color:#6a705d; }
body.vehicle-detail .price-line strong { font:500 38px/1 var(--font-serif); color:#173b32; }
body.vehicle-detail .booking-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
body.vehicle-detail .product-card .booking-actions > * { flex:1; padding-inline:9px; }
body.vehicle-detail .facts-strip { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); padding:22px 10px; border:1px solid #e0d7c4; border-radius:8px; background:#f5f2e8; }
body.vehicle-detail .fact-box { display:grid; grid-template-columns:20px 1fr; gap:5px 9px; padding:0 18px; border-right:1px solid #ddd3c0; }
body.vehicle-detail .fact-box:last-child { border:0; }
body.vehicle-detail .fact-box i { grid-row:span 2; color:#94733b; font-size:19px; }
body.vehicle-detail .fact-box > span { color:#77715e; font-size:11px; }
body.vehicle-detail .fact-box strong { color:#173b32; font-size:12px; font-weight:500; }

/* Rental inputs stay together, with optional extras folded until needed. */
body.vehicle-detail main #rent-calculator { background:#f3efe5; }
body.vehicle-detail .calculator-shell { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:28px; align-items:start; }
body.vehicle-detail .calculator-form-card { min-width:0; padding:25px; background:#fffdf8; border:1px solid #dfd5c1; border-radius:14px; }
body.vehicle-detail .calc-form { display:grid; gap:20px; }
body.vehicle-detail .calc-row,body.vehicle-detail .calc-row-3 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.vehicle-detail .calc-row-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
body.vehicle-detail .calc-field { display:grid; gap:7px; min-width:0; align-content:start; }
body.vehicle-detail .calc-field > label,body.vehicle-detail .calc-checks-title { color:#526150; font-size:12px; font-weight:500; }
body.vehicle-detail :is(.calc-input,.calc-select) { display:block; width:100%; min-width:0; min-height:45px; margin:0; padding:10px 11px; background:#fcfbf6; border:1px solid #d8d1bf; border-radius:5px; color:#173b32; font:500 12px/1.6 var(--font-sans); color-scheme:light; box-shadow:none; }
body.vehicle-detail .calc-input:focus,body.vehicle-detail .calc-select:focus { border-color:#9b804b; }
body.vehicle-detail input[type=checkbox] { width:17px; height:17px; flex:0 0 17px; accent-color:#173b32; margin:2px 0 0; }
body.vehicle-detail .calc-inline { display:flex; align-items:center; min-height:45px; }
body.vehicle-detail .calc-inline label { display:flex; align-items:start; gap:8px; cursor:pointer; color:#173b32; font-size:11px; line-height:1.4; }
body.vehicle-detail .calc-inline small { display:block; margin-top:4px; color:#74725e; font-size:9px; }
body.vehicle-detail .calc-help { color:#65715d; font-size:10px; line-height:1.7; }
body.vehicle-detail .calc-options { border-top:1px solid #e0d7c5; }
body.vehicle-detail .calc-options > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding-top:8px; font-size:12px; font-weight:500; list-style:none; cursor:pointer; }
body.vehicle-detail .calc-options > summary::-webkit-details-marker { display:none; }
body.vehicle-detail .calc-options > summary > span { color:#8e7037; font-size:20px; }
body.vehicle-detail .calc-options[open] > summary > span { transform:rotate(45deg); }
body.vehicle-detail .calc-check-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; padding-top:16px; }
body.vehicle-detail .calc-check { display:flex; align-items:start; gap:10px; color:#173b32; font-size:11px; line-height:1.55; cursor:pointer; }
body.vehicle-detail .calc-check small { display:block; color:#7e755d; font-size:10px; }
body.vehicle-detail .calculator-summary-card { position:sticky; top:calc(var(--detail-header-current,88px) + 73px); min-width:0; padding:25px; border:1px solid #c9b789; border-radius:14px; background:#fffdf8; }
body.vehicle-detail .calculator-summary-card .eyebrow { margin-bottom:18px; }
body.vehicle-detail .calc-total { padding:20px; border:0; border-radius:8px; background:#173b32; }
body.vehicle-detail .calc-total > div { display:grid; gap:10px; }
body.vehicle-detail .calc-total small { color:#e8dcc1; font-size:12px; }
body.vehicle-detail .calc-total strong { color:#fffdf8; font:500 clamp(38px,3.6vw,49px)/1 var(--font-serif); letter-spacing:-.04em; overflow-wrap:anywhere; }
body.vehicle-detail .quote-mini-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px 12px; padding:21px 0; }
body.vehicle-detail .quote-mini { display:grid; gap:7px; }
body.vehicle-detail .quote-mini span { color:#677057; font-size:11px; }
body.vehicle-detail .quote-mini strong { color:#173b32; font-size:14px; font-weight:500; }
body.vehicle-detail .calc-note { color:#58624e; font-size:12px; line-height:1.8; }
body.vehicle-detail .calc-warning { display:flex; gap:7px; margin-top:12px; color:#6c603f; font-size:12px; line-height:1.8; }
body.vehicle-detail .calc-warning i { flex:none; }
body.vehicle-detail .calc-details { margin-top:18px; padding-block:12px; border-block:1px solid #cfc6ad; }
body.vehicle-detail .calc-details > summary { min-height:44px; display:flex; align-items:center; gap:8px; cursor:pointer; color:#173b32; font-size:12px; }
body.vehicle-detail .calc-breakdown { display:grid; gap:11px; margin:18px 0 2px; padding:0; list-style:none; }
body.vehicle-detail .calc-breakdown li { display:flex; justify-content:space-between; gap:15px; color:#59644e; font-size:12px; line-height:1.7; }
body.vehicle-detail .calc-breakdown strong { color:#173b32; }
body.vehicle-detail .calculator-summary-card .booking-actions { display:grid; gap:8px; }
body.vehicle-detail .calc-status { min-height:0; margin-top:8px; font-size:11px; line-height:1.6; }
body.vehicle-detail .calc-status:empty { display:none; }

/* Open editorial layouts keep useful detail without stacking oversized boxes. */
body.vehicle-detail :is(.details-layout,.support-layout,.faq-layout) { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.45fr); gap:clamp(30px,5vw,70px); align-items:start; }
body.vehicle-detail :is(.details-heading,.support-heading,.faq-heading) .muted { margin-top:20px; }
body.vehicle-detail .details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 25px; }
body.vehicle-detail :is(.detail-card,.support-card) { display:flex; flex-direction:column; align-items:start; gap:10px; padding:19px 0 0; border-top:1px solid #ddd4c0; }
body.vehicle-detail :is(.detail-card,.support-card) > i { font-size:24px; color:#94733b; margin-bottom:5px; }
body.vehicle-detail :is(.detail-card,.support-card) > strong { color:#173b32; font:500 20px/1.25 var(--font-serif); }
body.vehicle-detail :is(.detail-card,.support-card) > span { color:#5a6955; font-size:12px; line-height:1.85; }
body.vehicle-detail main #compare-vehicles { padding-top:0; }
body.vehicle-detail .vehicle-compare-shell { padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
body.vehicle-detail .vehicle-compare-top { display:grid; grid-template-columns:1.1fr 1fr; gap:40px; align-items:end; margin-bottom:26px; }
body.vehicle-detail .vehicle-compare-top h2 { font-size:clamp(28px,3vw,38px); }
body.vehicle-detail .vehicle-compare-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.vehicle-detail .vehicle-compare-card { position:relative; min-width:0; display:flex; flex-direction:column; padding:0; overflow:hidden; border:1px solid #ded5c1; border-radius:12px; background:#fffdf8; }
body.vehicle-detail .vehicle-compare-card.is-featured { border-color:#b79a60; background:#f8f5eb; }
body.vehicle-detail .compare-badge { color:#876a37; font-size:10px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:9px; }
body.vehicle-detail .vehicle-compare-card h3 { max-width:none; font-size:29px; line-height:1.1; letter-spacing:-.035em; }
body.vehicle-detail .vehicle-compare-card p { flex:1; margin-top:12px; color:#5a6955; font-size:12px; line-height:1.8; }
body.vehicle-detail .compare-specs { display:flex; flex-wrap:wrap; gap:6px 14px; margin:12px 0; padding:10px 0; border-block:1px solid #ddd5c2; color:#526150; font-size:11px; line-height:1.8; }
body.vehicle-detail .compare-specs span:last-child { display:block; width:100%; color:#173b32; font-weight:600; }
body.vehicle-detail .compare-build-link { display:flex; align-items:center; justify-content:space-between; min-height:44px; gap:12px; padding:10px 12px; border:1px solid #cfc5ad; border-radius:5px; font-size:12px; color:#173b32; text-decoration:none; }
body.vehicle-detail main #support { background:#eef1e7; }
body.vehicle-detail .handover-list { display:flex; flex-wrap:wrap; gap:10px 15px; margin-top:24px; }
body.vehicle-detail .handover-list span { display:flex; gap:6px; align-items:center; color:#55684e; font-size:10px; }
body.vehicle-detail .handover-list i { color:#8c713d; }
body.vehicle-detail .support-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
body.vehicle-detail .support-card { border-top-color:#cbd2bf; }
body.vehicle-detail .included-flow { display:grid; grid-template-columns:minmax(0,.7fr) minmax(0,1.45fr); gap:clamp(30px,5vw,70px); }
body.vehicle-detail .included-flow > div:first-child .muted { margin-top:20px; }
body.vehicle-detail .included-columns { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
body.vehicle-detail .included-block { padding-top:17px; border-top:1px solid #d5cbb5; }
body.vehicle-detail .included-block h3 { font-size:27px; }
body.vehicle-detail .clean-list { display:grid; gap:16px; list-style:none; padding:0; margin:22px 0 0; }
body.vehicle-detail .clean-list li { display:flex; align-items:start; gap:10px; font-size:13px; line-height:1.8; color:#55684e; }
body.vehicle-detail .clean-list i { flex:none; color:#8b783f; }
body.vehicle-detail .clean-list .x-icon { color:#8e6953; font-size:10px; padding-top:3px; }
body.vehicle-detail .route-mini { padding:32px; border:1px solid #ded5c1; border-radius:17px; background:#f6f2e8; }
body.vehicle-detail .route-mini-top { display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:end; margin-bottom:27px; }
body.vehicle-detail .route-mini-top h2 { font-size:clamp(28px,3vw,38px); }
body.vehicle-detail .route-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
body.vehicle-detail .route-card { position:relative; display:flex; flex-direction:column; gap:12px; border-top:1px solid #ccbea1; padding:22px 28px 0 0; color:#173b32; }
body.vehicle-detail .route-card strong { font:500 23px/1.2 var(--font-serif); }
body.vehicle-detail .route-card span { color:#5a6955; font-size:12px; line-height:1.8; }
body.vehicle-detail .route-card i { position:absolute; right:0; top:23px; color:#8c713d; }
body.vehicle-detail .route-card:hover strong { text-decoration:underline; text-underline-offset:5px; }
body.vehicle-detail main #faq { padding-top:0; }
body.vehicle-detail .faq-grid { border-top:1px solid #d4c9b1; }
body.vehicle-detail .faq-grid details { border-bottom:1px solid #d4c9b1; padding:0; background:transparent; }
body.vehicle-detail .faq-grid summary { position:relative; list-style:none; padding:20px 30px 20px 0; cursor:pointer; color:#173b32; font-size:13px; line-height:1.6; }
body.vehicle-detail .faq-grid summary::-webkit-details-marker { display:none; }
body.vehicle-detail .faq-grid summary::after { content:'+'; position:absolute; top:17px; right:3px; color:#94733b; font-size:23px; }
body.vehicle-detail .faq-grid details[open] summary::after { content:'−'; }
body.vehicle-detail .faq-body { padding:0 27px 22px 0; color:#5a6955; font-size:12px; line-height:1.85; }
body.vehicle-detail .mobile-sticky-wa { display:none; }
body.vehicle-detail noscript p { color:#526150 !important; }

/* Detail refinements stay in this build's own stylesheet. */
body.vehicle-detail .detail-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
body.vehicle-detail .gallery-stage { position:relative; }
body.vehicle-detail .gallery-controls { position:absolute; z-index:2; left:13px; bottom:13px; display:flex; gap:7px; }
body.vehicle-detail .gallery-controls[hidden] { display:none; }
body.vehicle-detail .gallery-controls button { display:grid; place-items:center; width:44px; min-width:44px; height:44px; padding:0; border:1px solid #fffdf88c; border-radius:50%; color:#fffdf8; background:#173b32e8; font-size:17px; cursor:pointer; }
body.vehicle-detail .gallery-controls button:hover { background:#285446; }
body.vehicle-detail .product-build { display:block; margin-top:7px; color:#826b42; font:500 21px/1.3 var(--font-serif); letter-spacing:-.015em; }
body.vehicle-detail :is(.product-card,.calculator-summary-card) .booking-actions > * { font-size:12px; font-weight:500; }
body.vehicle-detail .calc-group { display:grid; gap:16px; min-width:0; padding:0; margin:0; border:0; }
body.vehicle-detail .calc-group legend { display:flex; align-items:center; gap:9px; width:100%; margin-bottom:15px; padding:0; color:#173b32; font:500 15px/1.5 var(--font-sans); }
body.vehicle-detail .calc-group legend > span { display:grid; place-items:center; min-width:25px; height:25px; border-radius:50%; background:#f1ebdc; color:#8c713e; font-size:10px; }
body.vehicle-detail .compare-photo { margin:0; width:100%; aspect-ratio:16/7; overflow:hidden; background:#e8e5da; }
body.vehicle-detail .compare-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.94); }
body.vehicle-detail .compare-body { display:flex; flex:1; flex-direction:column; padding:18px; min-width:0; }
body.vehicle-detail .compare-build-name { display:block; margin-top:6px; color:#526150; font:500 12px/1.6 var(--font-sans); letter-spacing:0; }
body.vehicle-detail .compare-build-link:hover { border-color:#a99163; background:#f0f2e9; }
body.vehicle-detail .is-featured .compare-build-link { background:#173b32; border-color:#173b32; color:#fffdf8; }
body.vehicle-detail .is-featured .compare-build-link:hover { background:#285446; }

/* Native dialog: keyboard focus, Escape and selected-photo continuity. */
body.vehicle-detail .vehicle-gallery-dialog { width:100vw; max-width:none; height:100dvh; max-height:none; padding:22px 30px; border:0; margin:0; background:#10271ff7; color:#fffdf6; }
body.vehicle-detail .vehicle-gallery-dialog[open] { display:flex; flex-direction:column; }
body.vehicle-detail .vehicle-gallery-dialog::backdrop { background:#10271f; }
body.vehicle-detail .lightbox-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-bottom:18px; font-size:12px; }
body.vehicle-detail .lightbox-toolbar > div { display:flex; gap:9px; }
body.vehicle-detail .vehicle-gallery-dialog button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:44px; min-height:44px; border:1px solid #fff5; border-radius:5px; padding:9px 14px; background:#fff1; color:#fffdf6; font:500 12px/1.5 var(--font-sans); cursor:pointer; }
body.vehicle-detail .vehicle-gallery-dialog button:hover { background:#fff2; }
body.vehicle-detail .lightbox-stage { position:relative; display:grid; grid-template-columns:44px minmax(0,1fr) 44px; gap:18px; align-items:center; flex:1; min-height:0; }
body.vehicle-detail .lightbox-stage > button { font-size:30px; padding:0; }
body.vehicle-detail .lightbox-image-wrap { position:relative; display:grid; place-items:center; overflow:auto; height:100%; min-height:0; }
body.vehicle-detail .lightbox-image-wrap img { position:absolute; inset:0; display:block; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; border-radius:7px; }
body.vehicle-detail .is-zoomed .lightbox-image-wrap { display:block; }
body.vehicle-detail .is-zoomed .lightbox-image-wrap img { position:static; max-width:none; max-height:none; width:auto; height:auto; margin:auto; }
body.vehicle-detail .lightbox-caption { flex:none; padding:18px 62px 0; }
body.vehicle-detail .lightbox-caption h2 { margin:0; color:#fff9ed; font:500 25px/1.2 var(--font-serif); }
body.vehicle-detail .lightbox-caption p { margin:7px 0 0; color:#dedac7; font-size:12px; line-height:1.7; }

@media (min-width:1000px) and (prefers-reduced-motion:no-preference) {
  body.vehicle-detail .detail-gallery-link img { transition:transform .55s ease; }
  body.vehicle-detail .detail-gallery-link:hover img { transform:scale(1.035); }
  body.vehicle-detail .route-card i { transition:transform .2s ease; }
  body.vehicle-detail .route-card:hover i { transform:translateX(4px); }
}
@media (max-width:1080px) {
  body.vehicle-detail { --detail-header-space:76px; }
}
@media (max-width:1100px) {
  body.vehicle-detail main :is(.container,.wide-container),body.vehicle-detail .journey-nav { width:calc(100% - 48px); }
  body.vehicle-detail .journey-brand { display:none; }
  body.vehicle-detail .journey-links { width:100%; justify-content:space-between; gap:20px; }
  body.vehicle-detail .details-grid { grid-template-columns:1fr 1fr; }
  body.vehicle-detail .facts-strip { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 0; }
  body.vehicle-detail .fact-box:nth-child(3) { border:0; }
  body.vehicle-detail .calculator-shell { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:20px; }
  body.vehicle-detail .calculator-form-card,body.vehicle-detail .calculator-summary-card { padding:22px; }
  body.vehicle-detail .calc-row-3 { grid-template-columns:1fr 1fr; }
  body.vehicle-detail .calc-row-3 > .calc-field:last-child { grid-column:span 2; }
  body.vehicle-detail .included-flow { grid-template-columns:1fr; gap:28px; }
  body.vehicle-detail .included-flow > div:first-child { max-width:690px; }
}
@media (max-width:900px) {
  body.vehicle-detail .product-card { padding:20px; }
  body.vehicle-detail .quick-benefits { grid-template-columns:1fr 1fr; }
  body.vehicle-detail .hero-shell { grid-template-columns:1.12fr .88fr; gap:15px; padding-inline:28px; }
  body.vehicle-detail .vehicle-hero h1 { font-size:46px; }
  body.vehicle-detail .hero-subtitle { font-size:12px; }
  body.vehicle-detail .hero-actions { gap:8px 15px; }
  body.vehicle-detail .hero-actions .btn-primary-eo { padding-inline:15px; }
  body.vehicle-detail .detail-hero-visual::after { background:linear-gradient(90deg,#f7f3e8 0%,#f7f3e8ed 28%,#f7f3e8ba 49%,#f7f3e81a 76%); }
  body.vehicle-detail .detail-hero-visual figcaption,body.vehicle-detail .detail-hero-links { right:25px; width:32%; }
  body.vehicle-detail .detail-hero-links { gap:5px; padding-inline:7px; }
  body.vehicle-detail .detail-hero-links a { font-size:9px; gap:4px; }
  body.vehicle-detail .detail-hero-links a > span { display:none; }
  body.vehicle-detail .product-grid { grid-template-columns:1.15fr 1fr; gap:25px; align-items:start; }
  body.vehicle-detail .quick-benefits { gap:10px; padding:13px; }
  body.vehicle-detail .quick-benefits span { font-size:11px; }
  body.vehicle-detail .product-card .booking-actions { display:grid; }
  body.vehicle-detail .details-layout,body.vehicle-detail .support-layout { grid-template-columns:1fr; gap:28px; }
  body.vehicle-detail :is(.details-heading,.support-heading) { max-width:670px; }
  body.vehicle-detail .details-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  body.vehicle-detail .vehicle-compare-top,body.vehicle-detail .route-mini-top { grid-template-columns:1fr; gap:17px; }
  body.vehicle-detail .vehicle-compare-grid,body.vehicle-detail .route-cards { gap:18px; }
}
@media (max-width:700px) {
  body.vehicle-detail .product-card { padding:22px; }
  body.vehicle-detail .product-build { font-size:20px; }
  body.vehicle-detail .gallery-open-pill { font-size:10px; }
  body.vehicle-detail .vehicle-compare-card { position:relative; }
  body.vehicle-detail .compare-photo { position:absolute; top:16px; right:16px; width:94px; height:94px; aspect-ratio:1; border-radius:6px; }
  body.vehicle-detail .compare-photo img { object-position:center; }
  body.vehicle-detail .compare-body { padding:16px; }
  body.vehicle-detail .compare-body h3 { padding-right:106px; min-height:76px; }
  body.vehicle-detail .compare-badge { padding-right:106px; font-size:9px; }
  body.vehicle-detail .compare-build-name { font-size:11px; line-height:1.6; }
  body.vehicle-detail .calc-group legend { font-size:13px; }
  body.vehicle-detail.past-detail-hero.detail-contact-visible .mobile-sticky-wa { visibility:hidden; opacity:0; pointer-events:none; }
  body.vehicle-detail { --detail-header-space:76px; }
  body.vehicle-detail main :is(.container,.wide-container),body.vehicle-detail .journey-nav { width:calc(100% - 36px); }
  body.vehicle-detail .hero-shell { display:flex; flex-direction:column; align-items:stretch; gap:0; padding:0; min-height:calc(100svh - 76px); }
  body.vehicle-detail .hero-copy { max-width:none; padding:28px 22px 23px; }
  body.vehicle-detail .detail-breadcrumb { margin-bottom:21px; font-size:8px; gap:8px; }
  body.vehicle-detail .detail-kicker { font-size:8px; margin-bottom:15px; }
  body.vehicle-detail .vehicle-hero h1 { max-width:520px; font-size:clamp(37px,8.5vw,52px); line-height:1.04; }
  body.vehicle-detail .hero-subtitle { max-width:520px; margin-top:16px; font-size:12px; line-height:1.8; }
  body.vehicle-detail .hero-actions { margin-top:18px; gap:7px 16px; }
  body.vehicle-detail .hero-actions .btn-primary-eo { min-height:44px; padding:11px 16px; gap:14px; font-size:10px; }
  body.vehicle-detail .detail-text-link { font-size:10px; }
  body.vehicle-detail .hero-meta-ribbon { margin-top:18px; gap:10px 15px; }
  body.vehicle-detail .hero-meta-ribbon span { font-size:9px; }
  body.vehicle-detail .detail-rate { max-width:none; margin-top:16px; }
  body.vehicle-detail .detail-rate summary { min-height:44px; }
  body.vehicle-detail .detail-rate summary strong { font-size:25px; }
  body.vehicle-detail .detail-hero-visual { position:relative; flex:1; width:100%; height:auto; min-height:275px; }
  body.vehicle-detail .detail-hero-visual img { object-position:center 48%; }
  body.vehicle-detail .detail-hero-visual::after { background:linear-gradient(180deg,#f7f3e8 0%,#f7f3e800 24%,#10271f0d 46%,#10271f8c); }
  body.vehicle-detail .detail-photo-label { right:18px; top:28px; padding:6px 9px; font-size:7px; }
  body.vehicle-detail .detail-hero-visual figcaption { left:22px; right:22px; bottom:75px; width:auto; padding:0; border:0; background:transparent; }
  body.vehicle-detail .detail-hero-visual figcaption > span { font-size:26px; text-shadow:0 2px 8px #10271f66; }
  body.vehicle-detail .detail-hero-visual figcaption a { font-size:9px; margin-top:8px; }
  body.vehicle-detail .detail-hero-links { width:auto; left:18px; right:18px; bottom:14px; padding-inline:8px; }
  body.vehicle-detail .detail-hero-links a { min-height:45px; padding:10px 0; font-size:9px; gap:7px; }
  body.vehicle-detail .detail-hero-links a > span { display:block; }
  body.vehicle-detail .journey-links { gap:22px; justify-content:start; }
  body.vehicle-detail .journey-links a { min-height:48px; }
  body.vehicle-detail .product-grid { grid-template-columns:1fr; gap:29px; }
  body.vehicle-detail .gallery-caption { padding:15px 17px; min-height:85px; }
  body.vehicle-detail .gallery-caption strong { font-size:20px; }
  body.vehicle-detail .gallery-caption > span { font-size:12px; }
  body.vehicle-detail .thumb-btn { min-width:72px; }
  body.vehicle-detail .product-card .booking-actions { display:flex; }
  body.vehicle-detail .quick-benefits { gap:11px 12px; margin:20px 0; padding:15px; }
  body.vehicle-detail .quick-benefits span { font-size:12px; }
  body.vehicle-detail .facts-strip { padding:22px 0; gap:23px 0; }
  body.vehicle-detail .fact-box { grid-template-columns:1fr; gap:6px; padding:0 13px; }
  body.vehicle-detail .fact-box i { grid-row:auto; font-size:20px; margin-bottom:2px; }
  body.vehicle-detail .fact-box strong { font-size:10px; }
  body.vehicle-detail .calculator-shell { grid-template-columns:1fr; gap:20px; }
  body.vehicle-detail .calculator-form-card,body.vehicle-detail .calculator-summary-card { padding:22px; border-radius:14px; }
  body.vehicle-detail .calculator-summary-card { position:static; }
  body.vehicle-detail .calc-input,body.vehicle-detail .calc-select { font-size:16px; }
  body.vehicle-detail .calc-row-3 { grid-template-columns:1fr 1fr; gap:18px 13px; }
  body.vehicle-detail .calc-row-3 > .calc-field:last-child { grid-column:span 2; }
  body.vehicle-detail .calc-row { grid-template-columns:1fr; gap:18px; }
  body.vehicle-detail .calc-total strong { font-size:46px; }
  body.vehicle-detail .quote-mini-grid { gap:22px 14px; }
  body.vehicle-detail .calc-check-grid { gap:17px 13px; }
  body.vehicle-detail .calc-check { font-size:11px; }
  body.vehicle-detail .calc-options > summary { font-size:11px; }
  body.vehicle-detail .details-grid,body.vehicle-detail .support-grid { grid-template-columns:1fr 1fr; gap:24px 21px; }
  body.vehicle-detail :is(.detail-card,.support-card) > strong { font-size:21px; }
  body.vehicle-detail .route-mini { padding:25px 21px; border-radius:15px; }
  body.vehicle-detail .vehicle-compare-grid,body.vehicle-detail .route-cards { grid-template-columns:1fr; gap:24px; }
  body.vehicle-detail .vehicle-compare-card { padding:0; }
  body.vehicle-detail .vehicle-compare-card h3 { max-width:none; font-size:25px; }
  body.vehicle-detail .vehicle-compare-card p { margin-top:10px; }
  body.vehicle-detail .compare-specs { margin-block:13px; }
  body.vehicle-detail .compare-specs span:last-child { width:auto; }
  body.vehicle-detail .included-columns { grid-template-columns:1fr; gap:29px; }
  body.vehicle-detail .route-card strong { font-size:25px; }
  body.vehicle-detail .faq-layout { grid-template-columns:1fr; gap:29px; }
  body.vehicle-detail .faq-grid summary { font-size:13px; }
  body.vehicle-detail .mobile-sticky-wa { position:fixed; z-index:80; right:16px; bottom:max(16px,env(safe-area-inset-bottom)); display:flex; align-items:center; justify-content:center; gap:8px; min-height:46px; max-width:calc(100vw - 32px); padding:12px 19px; border:1px solid #bca06a; border-radius:999px; background:#173b32; color:#fffdf8; font-size:11px; box-shadow:0 5px 22px #173b322b; visibility:hidden; opacity:0; pointer-events:none; }
  body.vehicle-detail.past-detail-hero .mobile-sticky-wa { visibility:visible; opacity:1; pointer-events:auto; }
  body.vehicle-detail .vehicle-gallery-dialog { padding:15px; }
  body.vehicle-detail .lightbox-toolbar { padding-bottom:15px; font-size:10px; }
  body.vehicle-detail .lightbox-toolbar > div { gap:6px; }
  body.vehicle-detail .vehicle-gallery-dialog button { font-size:11px; padding:8px 12px; }
  body.vehicle-detail .lightbox-stage { grid-template-columns:minmax(0,1fr); gap:0; }
  body.vehicle-detail .lightbox-stage > button { position:absolute; z-index:2; bottom:6px; font-size:27px; background:#10271fdd; }
  body.vehicle-detail #lightboxPrevious { left:0; }
  body.vehicle-detail #lightboxNext { right:0; }
  body.vehicle-detail .lightbox-caption { padding:18px 0 4px; }
  body.vehicle-detail .lightbox-caption h2 { font-size:23px; }
  body.vehicle-detail .lightbox-caption p { font-size:11px; }
}
@media (max-width:430px) {
  body.vehicle-detail .hero-copy { padding-top:24px; padding-bottom:18px; }
  body.vehicle-detail .detail-breadcrumb { margin-bottom:16px; }
  body.vehicle-detail .hero-subtitle { margin-top:14px; }
  body.vehicle-detail .hero-actions { margin-top:15px; }
  body.vehicle-detail .detail-rate { margin-top:14px; }
  body.vehicle-detail .detail-hero-visual { min-height:210px; }
}
@media (max-width:370px) {
  body.vehicle-detail .product-card { padding:18px; }
  body.vehicle-detail .quick-benefits { padding:12px; gap:11px 8px; }
  body.vehicle-detail .quick-benefits span { gap:6px; }
  body.vehicle-detail .compare-photo { width:78px; height:78px; }
  body.vehicle-detail .compare-body h3 { padding-right:88px; font-size:23px; min-height:78px; }
  body.vehicle-detail .compare-badge { padding-right:88px; font-size:8px; }
  body.vehicle-detail .product-card .booking-actions > * { font-size:11px; }
  body.vehicle-detail .calculator-summary-card .booking-actions > * { font-size:11px; }
  body.vehicle-detail .hero-copy { padding-inline:18px; }
  body.vehicle-detail .vehicle-hero h1 { font-size:36px; }
  body.vehicle-detail .hero-actions { gap:2px 13px; }
  body.vehicle-detail .hero-actions .btn-primary-eo { font-size:9px; padding-inline:12px; gap:9px; }
  body.vehicle-detail .detail-text-link { font-size:9px; }
  body.vehicle-detail .calculator-form-card,body.vehicle-detail .calculator-summary-card { padding:18px; }
  body.vehicle-detail .calc-row-3 { grid-template-columns:1fr; }
  body.vehicle-detail .calc-row-3 > .calc-field:last-child { grid-column:auto; }
  body.vehicle-detail .product-card .booking-actions { display:grid; }
  body.vehicle-detail .quick-benefits span { font-size:11px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  body.vehicle-detail main *,body.vehicle-detail dialog * { animation:none !important; transition:none !important; }
}

@media (min-width:701px) and (max-height:820px) { body.vehicle-detail .calculator-summary-card { position:static; } }
