/* Vehicle reference details reuse the landing page's typography and palette. */
.lineup-modules li.has-coverage { padding:0; }
.module-trigger { display:flex; align-items:center; justify-content:space-between; gap:.65rem; min-height:44px; padding:.65rem .8rem; width:100%; border:0; border-radius:inherit; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; transition:background .16s,box-shadow .16s,transform .16s; }
.module-trigger svg { flex:none; width:14px; height:14px; opacity:.65; transition:transform .15s,opacity .15s; }
.module-trigger:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.module-coverage-hint { margin:1.2rem 0 0; color:var(--muted); font-size:.8rem; }
.module-coverage-open { overflow:hidden; scrollbar-gutter:stable; }
.module-coverage-dialog { --coverage-line:#303b43; width:min(860px,calc(100% - 48px)); max-width:none; max-height:calc(100dvh - 64px); padding:0; margin:auto; border:1px solid #3d4a53; border-radius:16px; background:#0f1519; color:#e8eef2; box-shadow:0 32px 100px #0009; overflow:hidden; }
.module-coverage-dialog[open] { display:flex; flex-direction:column; animation:coverage-open .22s cubic-bezier(.2,.8,.2,1); }
.module-coverage-dialog::backdrop { background:#03080bd4; backdrop-filter:blur(7px); animation:coverage-backdrop .2s ease-out; }
.module-coverage-header { flex:none; display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; padding:1.8rem 2rem; border-bottom:1px solid var(--coverage-line); }
.module-coverage-header .eyebrow { margin:0 0 .65rem; font-size:.7rem; }
.module-coverage-title-row { display:flex; align-items:center; flex-wrap:wrap; gap:.7rem 1rem; }
.module-coverage-title-row h2 { font-size:clamp(1.6rem,4vw,2.35rem); margin:0; overflow-wrap:anywhere; }
.module-coverage-header #module-coverage-type { color:#a8b6c0; font-size:.85rem; margin:.55rem 0 0; }
.module-coverage-status { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .6rem; border:1px solid #48545d; border-radius:20px; color:#b5c0c8; font:600 .7rem/1.5 var(--body); white-space:nowrap; }
.module-coverage-status[data-status="available"] { color:#b3f0ce; border-color:#345341; background:#14231d; }
.module-coverage-status[data-status="available"]::before { content:""; width:5px; height:5px; border-radius:50%; background:currentColor; }
.module-coverage-close { display:grid; place-items:center; flex:none; width:44px; height:44px; border:1px solid #414e58; border-radius:50%; color:#dce5eb; background:#182127; cursor:pointer; transition:background .16s,border-color .16s,transform .16s; }
.module-coverage-body { min-height:0; flex:1 1 auto; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:#4b5963 transparent; padding:1.6rem 2rem 1.8rem; }
.module-coverage-body:focus-visible { outline:2px solid var(--orange); outline-offset:-4px; }
.module-coverage-facts { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.3rem 2rem; margin:0 0 1.5rem; padding:1.2rem 1.3rem; border:1px solid #303d46; border-radius:9px; background:#141e24; }
.module-coverage-facts dt { color:#93a6b3; font-size:.7rem; font-weight:650; margin:0 0 .5rem; }
.module-coverage-facts dd { font-size:.9rem; line-height:1.7; margin:0; }
.module-coverage-facts > div:last-child dd { white-space:nowrap; font-variant-numeric:tabular-nums; }
.module-coverage-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:.5rem 1rem; margin-bottom:1rem; }
.module-coverage-section-heading h3 { margin:0; font:750 1rem var(--body); }
.module-coverage-section-heading > span { color:#99aab6; font-size:.75rem; }
.module-coverage-vehicles { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; list-style:none; margin:0; padding:0; }
.module-coverage-vehicles li { display:flex; flex-direction:column; gap:.45rem; padding:1rem 1.1rem; border:1px solid #2c3841; border-radius:7px; background:linear-gradient(120deg,#172127,#111a20); min-width:0; }
.module-coverage-vehicles strong { font-size:.85rem; line-height:1.5; font-weight:650; overflow-wrap:anywhere; }
.module-coverage-vehicles span { color:#9fb0bd; font-size:.75rem; line-height:1.6; overflow-wrap:anywhere; }
.module-coverage-notes { margin-top:1.25rem; padding-left:.9rem; border-left:2px solid #b45c35; }
.module-coverage-notes p { font-size:.78rem; line-height:1.75; color:#b9c3ca; margin:.45rem 0; }
.module-coverage-reference { border-top:1px solid var(--coverage-line); padding-top:1.2rem; margin:1.5rem 0 0; color:#8fa1ad; font-size:.75rem; line-height:1.8; }
.module-coverage-dialog button:focus-visible { outline:2px solid var(--orange); outline-offset:3px; }
.module-coverage-dialog [hidden] { display:none!important; }
@media(max-width:600px) {
  .module-coverage-dialog { width:100%; max-height:100dvh; height:100dvh; border:0; border-radius:0; }
  .module-coverage-header { padding:1.2rem; padding-top:max(1.2rem,env(safe-area-inset-top)); }
  .module-coverage-title-row h2 { font-size:clamp(1.2rem,6.5vw,1.6rem); }
  .module-coverage-body { padding:1.2rem 1.2rem max(1.5rem,env(safe-area-inset-bottom)); }
  .module-coverage-facts { grid-template-columns:1fr; gap:1rem; padding:1rem; }
  .module-coverage-facts dt { margin-bottom:.25rem; }
  .module-coverage-vehicles { grid-template-columns:1fr; }
  .module-trigger { font-size:.85rem; }
}
/* Motion communicates opening only; vehicle rows remain informational. */
@keyframes coverage-open { from { opacity:0; transform:translateY(12px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes coverage-backdrop { from { opacity:0; } to { opacity:1; } }
@keyframes coverage-row { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
.module-coverage-dialog[open] .module-coverage-vehicles li { animation:coverage-row .24s ease-out both; }
.module-coverage-dialog[open] .module-coverage-vehicles li:nth-child(n+3) { animation-delay:30ms; }
.module-coverage-dialog[open] .module-coverage-vehicles li:nth-child(n+5) { animation-delay:60ms; }
.module-coverage-dialog[open] .module-coverage-vehicles li:nth-child(n+7) { animation-delay:90ms; }
@media(hover:hover) and (pointer:fine) {
  .module-trigger:hover { background:#ffffff0d; box-shadow:inset 0 0 0 1px #ffffff12; transform:translateY(-1px); }
  .module-trigger:hover svg { opacity:1; transform:translateX(2px); }
  .module-coverage-close:hover { background:#25323c; border-color:#73838f; transform:rotate(8deg); }
}
.module-trigger:active, .module-coverage-close:active { transform:scale(.97); }
@media(prefers-reduced-motion:reduce) {
  .module-trigger, .module-trigger svg, .module-coverage-close { transition:none; transform:none!important; }
  .module-coverage-dialog[open], .module-coverage-dialog::backdrop, .module-coverage-dialog[open] .module-coverage-vehicles li { animation:none; }
}
