/* Horizon Drive v119 functionality/readability layer.
   Intentionally does not alter locked page-hero calibration/geometry. */

html[data-text-size="smaller"]{--drive-brand-scale:.90}
html[data-text-size="default"]{--drive-brand-scale:1}
html[data-text-size="larger"]{--drive-brand-scale:1.20}
html[data-text-size="extra_large"]{--drive-brand-scale:1.40}

/* Header/footer reflow with selected text size instead of clipping into the hero. */
.site-header{
  height:auto!important;max-height:none!important;min-height:65px!important;
  grid-template-rows:minmax(55px,auto)!important;
  overflow:visible!important;
}
.horizon-brand-link{height:auto!important;min-height:54px!important;overflow:visible!important}
.horizon-family-lockup{height:auto!important;max-height:none!important;min-height:54px!important;overflow:visible!important}
.horizon-family-mascot{height:54px!important;max-height:54px!important;max-width:86px!important;flex:none!important}
.horizon-family-copy{height:auto!important;min-height:50px!important;overflow:visible!important}
.horizon-family-name{font-size:calc(18px * var(--drive-brand-scale))!important;line-height:.94!important}
.horizon-family-product-row{font-size:calc(14px * var(--drive-brand-scale))!important;line-height:.98!important;padding-left:calc(20px * var(--drive-brand-scale))!important}
.horizon-family-tagline{font-size:calc(10.5px * var(--drive-brand-scale))!important;line-height:1.04!important}
.horizon-family-lockup[data-horizon-product="drive"] .horizon-family-product-row::before{
  width:calc(12px * var(--drive-brand-scale))!important;height:max(2px,calc(2px * var(--drive-brand-scale)))!important;
  box-shadow:calc(-5px * var(--drive-brand-scale)) calc(-4px * var(--drive-brand-scale)) 0 -.45px currentColor,
             calc(-8px * var(--drive-brand-scale)) calc(4px * var(--drive-brand-scale)) 0 -.45px currentColor!important;
}
.horizon-family-plan::after{width:calc(26px * var(--drive-brand-scale))!important;height:calc(6px * var(--drive-brand-scale))!important;bottom:calc(-6px * var(--drive-brand-scale))!important}
.primary-nav,.header-actions{height:auto!important;min-height:55px!important}
.primary-nav a{font-size:var(--nav-size)!important;min-height:42px!important;height:auto!important}
.site-footer{height:auto!important;max-height:none!important;min-height:65px!important;grid-template-rows:minmax(55px,auto)!important;overflow:visible!important;background:#0b1d34!important;background-color:#0b1d34!important}
.site-footer .horizon-footer-brand{height:auto!important;min-height:54px!important;overflow:visible!important}
.site-footer a{font-size:var(--small-size)!important}

/* Mobile shell becomes two content-driven rows. Navigation labels stay readable. */
@media(max-width:620px){
  .site-header{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    gap:3px 8px!important;padding:6px 9px 5px!important;
  }
  .horizon-brand-link{grid-column:1!important;grid-row:1!important;min-width:0!important;width:100%!important;min-height:50px!important}
  .header-actions{grid-column:2!important;grid-row:1!important;min-height:50px!important;height:auto!important}
  .primary-nav{
    grid-column:1/-1!important;grid-row:2!important;width:100%!important;min-height:42px!important;height:auto!important;
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:3px!important;
    border-top:1px solid color-mix(in srgb,var(--line) 72%,transparent)!important;
  }
  .primary-nav a{width:auto!important;min-width:0!important;min-height:39px!important;height:auto!important;padding:4px 5px!important;gap:5px!important;font-size:calc(var(--nav-size) * .92)!important}
  .primary-nav a span{position:static!important;width:auto!important;height:auto!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:nowrap!important;border:0!important}
  .primary-nav a::after{bottom:-2px!important}
  .primary-nav .horizon-icon{width:17px!important;height:17px!important;flex-basis:17px!important}
  .horizon-family-lockup{min-height:50px!important;width:100%!important;max-width:100%!important;grid-template-columns:auto minmax(0,1fr)!important;column-gap:9px!important}
  .horizon-family-mascot{height:48px!important;max-height:48px!important;max-width:74px!important}
  .horizon-family-copy{min-width:0!important;width:100%!important;max-width:100%!important;min-height:46px!important;white-space:normal!important}
  .horizon-family-tagline{max-width:100%!important;white-space:normal!important}
  .horizon-family-name{font-size:calc(16.5px * var(--drive-brand-scale))!important}
  .horizon-family-product-row{font-size:calc(13px * var(--drive-brand-scale))!important;padding-left:calc(17px * var(--drive-brand-scale))!important}
  .horizon-family-tagline{font-size:calc(9.8px * var(--drive-brand-scale))!important}
  .horizon-family-lockup[data-horizon-product="drive"] .horizon-family-product-row::before{width:calc(10px * var(--drive-brand-scale))!important}
  .horizon-family-plan::after{width:calc(23px * var(--drive-brand-scale))!important;height:calc(5px * var(--drive-brand-scale))!important}
  .site-footer{grid-template-columns:1fr!important;grid-template-rows:auto auto!important;padding:7px 10px!important;gap:3px!important}
  .site-footer .horizon-footer-brand{justify-self:center!important;min-height:50px!important}
  .site-footer nav{justify-self:center!important;justify-content:center!important;white-space:normal!important;overflow:visible!important;flex-wrap:wrap!important;gap:4px 12px!important}
  .site-footer a{font-size:calc(var(--small-size) * .92)!important}
  .footer-current-name{display:inline!important}
}

/* Smart Search patterned after the current Cruise v118 disclosure workflow. */
.drive-smart-search{padding:0!important;overflow:hidden!important;margin-bottom:18px!important}
.drive-smart-search details>summary{list-style:none;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;background:linear-gradient(120deg,color-mix(in srgb,var(--brand2) 9%,var(--paper)),var(--paper));user-select:none}
.drive-smart-search details>summary::-webkit-details-marker{display:none}
.smart-search-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:color-mix(in srgb,var(--brand2) 16%,var(--paper));color:var(--brand2);font-size:20px;font-weight:900}
.drive-smart-search summary strong{display:block;font-size:var(--control-size);color:var(--ink)}
.drive-smart-search summary small{display:block;margin-top:3px;color:var(--muted);font-size:var(--small-size);font-weight:500;line-height:1.35}
.smart-search-chevron{font-size:24px;color:var(--muted);transition:transform .18s ease}.drive-smart-search details[open] .smart-search-chevron{transform:rotate(180deg)}
.smart-search-body{padding:16px 18px 18px;border-top:1px solid var(--line)}
.smart-search-input-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:stretch}
.smart-search-input-row textarea{min-height:88px;resize:vertical}
.smart-mic-button{width:48px;min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--brand2);font-size:20px;cursor:pointer}.smart-mic-button.is-listening{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand2) 20%,transparent);transform:scale(1.03)}
.smart-search-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:11px}
.smart-search-modes{display:flex;gap:8px 16px;flex-wrap:wrap}.smart-search-modes label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--small-size);font-weight:700}.smart-search-modes input{width:auto;min-height:0}
.smart-search-status{min-height:22px;margin-top:9px;color:var(--brand2);font-size:var(--small-size);font-weight:760}
.smart-search-interpretation{margin-top:8px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.smart-search-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.smart-result-chip{padding:5px 8px;border-radius:999px;background:var(--paper);border:1px solid var(--line);font-size:var(--small-size);font-weight:730}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Search origin / exact schedules / alerts */
.origin-choice-fieldset{margin:16px 0 8px;padding:0;border:0}.origin-choice-fieldset legend{font-weight:850;margin-bottom:8px}.origin-mode-segments{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));max-width:620px}.origin-mode-segments label{position:relative}.origin-mode-segments input{position:absolute;opacity:0;pointer-events:none}.origin-mode-segments span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:var(--paper);font-size:var(--control-size);font-weight:780;cursor:pointer}.origin-mode-segments label:first-child span{border-radius:10px 0 0 10px}.origin-mode-segments label:last-child span{border-radius:0 10px 10px 0}.origin-mode-segments input:checked+span{border-color:var(--brand2);box-shadow:inset 0 0 0 1px var(--brand2);background:color-mix(in srgb,var(--brand2) 12%,var(--paper));color:var(--ink)}
.origin-home-summary{display:flex;flex-direction:column;gap:3px;margin-top:10px;padding:10px 12px;border-radius:10px;background:var(--soft)}.origin-custom-fields{margin-top:10px}.exact-color-field{margin-top:14px!important}.exact-color-field small{display:block;margin-top:5px}
.schedule-time-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.schedule-time-grid label[hidden]{display:none!important}
.alert-mode-explainer{margin:8px 0 12px;color:var(--muted);font-size:var(--small-size)}.custom-alert-panel{padding:13px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--soft) 60%,var(--paper))}.custom-alert-panel[hidden]{display:none!important}.alert-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.alert-event-grid>label{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:9px;padding:10px;border:1px solid var(--line);border-radius:11px;background:var(--paper)}.alert-event-grid input{width:auto;min-height:0;margin-top:3px}.alert-event-grid strong{display:block;font-size:var(--control-size)}.alert-event-grid small{display:block;margin-top:3px;color:var(--muted);font-size:var(--small-size);line-height:1.4}.alert-threshold-grid{margin-top:12px}

/* Account/PWA/alerts details */
.ios-install-help,.ios-help{margin-top:12px;padding:11px 12px;border-radius:10px;background:var(--soft);color:var(--muted);font-size:var(--small-size)}.notification-thresholds,.quiet-hours-grid{margin:12px 0}.recent-alert-events{display:grid;gap:0}.recent-alert-events article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:11px 0;border-top:1px solid var(--line)}.recent-alert-events article:first-child{border-top:0}.recent-alert-events article>div{display:flex;gap:8px;flex-wrap:wrap}.recent-alert-events article span,.recent-alert-events article time{color:var(--muted);font-size:var(--small-size)}.recent-alert-events article p{grid-column:1;margin:0;color:var(--muted);font-size:var(--small-size)}.recent-alert-events article time{grid-column:2;grid-row:1/3;white-space:nowrap}

/* Results map and VIN intelligence */
.drive-map-card{padding:12px!important;margin-bottom:18px!important}.drive-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 2px 10px}.drive-map-head h2{margin:0;font-size:var(--section-title-size)}.drive-map-head p{margin:3px 0 0;color:var(--muted);font-size:var(--small-size)}.drive-results-map{height:min(52vh,440px);min-height:280px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--soft);touch-action:pan-x pan-y;position:relative}.drive-map-fallback{display:grid;place-items:center;height:100%;padding:30px;text-align:center;color:var(--muted)}.drive-map-legend{display:flex;gap:12px;flex-wrap:wrap;margin:9px 2px 0;color:var(--muted);font-size:var(--small-size)}.drive-map-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:5px;background:var(--brand2)}.drive-map-dot.preferred{box-shadow:0 0 0 3px color-mix(in srgb,var(--family-plan) 55%,transparent);background:var(--family-plan)}
.car-card[data-color-match="exact"]{outline:2px solid color-mix(in srgb,var(--family-plan) 72%,transparent);outline-offset:1px}.color-match-badge,.source-count-badge,.data-conflict-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:999px;font-size:var(--small-size);font-weight:800}.color-match-badge.exact{background:color-mix(in srgb,var(--family-plan) 22%,var(--paper));color:var(--ink)}.color-match-badge.family{background:color-mix(in srgb,var(--brand2) 12%,var(--paper));color:var(--brand2)}.color-match-badge.uncertain{background:var(--soft);color:var(--muted)}.source-count-badge{background:var(--soft);color:var(--muted)}.data-conflict-badge{background:#fff0ef;color:#a32720}.vin-intelligence-row{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0}.canonical-range{color:var(--muted);font-size:var(--small-size);line-height:1.45}.car-card.map-selected{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand2) 22%,transparent),var(--shadow)}

/* Swipe transition is intentionally subtle and does not affect hero calibration. */
body.swipe-leave-left,body.swipe-leave-right{transition:opacity .10s ease;opacity:.72}

@media(max-width:760px){
  .schedule-time-grid,.alert-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smart-search-toolbar{align-items:stretch}.smart-search-toolbar>.button{width:100%}
  .drive-results-map{height:340px;min-height:260px}
}
@media(max-width:480px){
  .schedule-time-grid,.alert-event-grid{grid-template-columns:1fr}.origin-mode-segments{grid-template-columns:1fr}.origin-mode-segments label:first-child span,.origin-mode-segments label:last-child span{border-radius:10px!important;margin-top:5px}.recent-alert-events article{grid-template-columns:1fr}.recent-alert-events article time{grid-column:1;grid-row:auto}.smart-search-input-row{grid-template-columns:minmax(0,1fr)}.smart-mic-button{width:100%}
}

/* v119 dashboard status chips and map popup polish. */
.search-card .chips .exact-color-chip{background:color-mix(in srgb,var(--family-plan) 22%,var(--paper));border-color:color-mix(in srgb,var(--family-plan) 58%,var(--line));color:var(--ink);font-weight:850}
.search-card .chips .schedule-chip{background:color-mix(in srgb,var(--brand2) 10%,var(--paper));border-color:color-mix(in srgb,var(--brand2) 30%,var(--line));font-weight:760}
.search-card .chips .alert-chip{background:var(--soft);font-weight:760}
.coverage-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--brand2) 34%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--brand2) 10%,var(--paper));color:var(--brand2);font-size:var(--small-size);font-weight:820;white-space:nowrap}
.coverage-pill.partial{border-color:#ddb979;background:#fff8e9;color:#805a13}
.drive-map-popup{min-width:190px;max-width:280px}.drive-map-popup strong{display:block;margin-bottom:6px}.drive-map-popup button{display:block;width:100%;margin-top:5px;padding:7px 9px;border:1px solid var(--line,#d9dee7);border-radius:8px;background:#fff;color:#16324f;text-align:left;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.drive-map-popup button:hover,.drive-map-popup button:focus-visible{outline:2px solid #2d6f9f;outline-offset:1px}.drive-map-popup .preferred-map-item{font-weight:900}
