/* 17 September 2026: shared responsive and interaction repairs. */
@media screen {
  /* Full vehicle pages grow with their contents; only modal views fill a screen. */
  body.vehicle-page .vehicle-detail{height:auto;max-height:none;min-height:0}
  .vehicle-page .vd-heading :is(h1,h2){font-size:clamp(1.8rem,3vw,3rem)}
  .vehicle-page .vd-summary{position:static}
  .vehicle-page .vd-layout{min-width:0}

  /* Long email addresses and German words must fit narrow screens and zoom. */
  a[data-rb-contact],.vd-contacts a,.drawer-contact a{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
  .vd-contacts{grid-template-columns:minmax(0,1fr)}
  body.vehicle-page .vd-contacts{grid-template-columns:minmax(0,1fr)}
  .site-dark :is(h1,h2,h3),.word-rise{overflow-wrap:anywhere}
  .site-dark .form-card .form-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-steps button{min-width:0}
  .form-actions,.card-tools,.filter-toolbar{flex-wrap:wrap}
  body.site-dark .card-tools button{white-space:normal}
  body.site-dark .compare-dock button{white-space:normal;line-height:1.4}
  .vehicle-details-link{justify-content:center;text-align:center}
  .site-dark .vehicle-info>a.vehicle-details-link{padding:12px 16px}
  .review-tabs button{min-width:88px;padding-inline:16px}
  .form-card :is(input,select,textarea){font-size:16px}
  #photo-grid>div{min-width:0}
  #photo-grid>div>span{display:block;font-size:13px;overflow-wrap:anywhere}

  /* No invisible hit target or keyboard trap during the drawer's closing phase. */
  html:not(.nav-open) .navigation-panel{pointer-events:none}
  .navigation-panel[aria-hidden=true]{visibility:hidden}
  .skip-link{z-index:100}
  .age-grid>div{display:flex;flex-direction:column}
  .age-grid dt{order:1}
  .age-grid dd{order:0}
  @media(max-width:420px){
    .masthead header{gap:8px;padding-inline:12px;grid-template-columns:40px minmax(0,1fr) auto auto}
    .masthead .brand img{width:40px}
    .masthead .brand-caption{font-size:14px;white-space:normal}
    .masthead .brand-caption>span{font-size:11px}
    .masthead .menu-toggle{width:40px;min-width:40px;justify-content:center;padding:8px}
    header .language-switch a{padding-inline:3px;min-height:44px;display:flex;align-items:center}
    .site-dark .inventory-controls .filter-fields{grid-template-columns:minmax(0,1fr)}
    .vehicle-page .vehicle-detail{padding-inline:3%}
    .vehicle-page .vd-layout{padding-inline:10px}
    .vehicle-page .vd-heading{padding-inline:10px}
    .form-actions .button{flex-basis:100%}
  }
  @media(max-height:500px) and (max-width:1100px){
    .navigation-ready .masthead{position:relative;top:auto}
  }
}
@media print {
  .vehicle-page .vehicle-detail{height:auto;max-height:none;overflow:visible}
  a[data-rb-contact]{color:#000!important;background:none!important;box-shadow:none!important}
}

/* Open, readable navigation groups and matching chrome menu controls. */
@media screen {
  body.site-dark .masthead button.menu-toggle,
  body.site-dark .navigation-panel button.drawer-close {
    box-sizing:border-box;display:grid;place-items:center;flex:0 0 48px;
    width:48px;min-width:48px;height:48px;min-height:48px;padding:0;
    border:1px solid #8b9199!important;border-radius:12px!important;
    background:linear-gradient(180deg,#35383c 0%,#1b1d20 36%,#090a0b 57%,#101113 100%)!important;
    box-shadow:inset 0 1px 0 #ffffff45,inset 0 -1px 0 #000,0 4px 14px #0005!important;
    color:#f7f8fa!important;cursor:pointer;touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    transition:border-color .18s ease,box-shadow .18s ease,filter .18s ease;
  }
  body.site-dark .masthead button.menu-toggle:hover,
  body.site-dark .navigation-panel button.drawer-close:hover {
    border-color:#e4e8ee!important;transform:none;filter:brightness(1.1);
  }
  body.site-dark .masthead button.menu-toggle:focus-visible,
  body.site-dark .navigation-panel button.drawer-close:focus-visible {
    outline:3px solid #fff;outline-offset:4px;
  }
  .masthead .menu-toggle .menu-label {display:none}
  .masthead .menu-toggle .menu-lines {display:grid;gap:5px;width:22px}
  .masthead .menu-toggle .menu-lines i {
    display:block;width:100%;height:2px;border-radius:2px;background:currentColor;
    transform-origin:center;transition:transform .22s ease,opacity .18s ease;
  }
  .masthead .menu-toggle[aria-expanded=true] .menu-lines i:first-child {transform:translateY(7px) rotate(45deg)}
  .masthead .menu-toggle[aria-expanded=true] .menu-lines i:nth-child(2) {opacity:0}
  .masthead .menu-toggle[aria-expanded=true] .menu-lines i:last-child {transform:translateY(-7px) rotate(-45deg)}

  .navigation-panel {
    box-sizing:border-box;border-left:1px solid #ffffff20;
    background:linear-gradient(150deg,#151719 0%,#08090a 32%,#050505 100%);
  }
  .navigation-panel .drawer-content {
    box-sizing:border-box;min-height:0;justify-content:flex-start;
    padding:92px 32px 32px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px));
    gap:24px;scroll-padding-top:90px;
  }
  .navigation-panel .drawer-brand {font-size:11px;letter-spacing:1.5px;line-height:1.6;color:#bec4cb}
  body.site-dark .navigation-panel button.drawer-close {
    position:absolute;top:22px;right:24px;left:auto;z-index:2;
  }
  .navigation-panel .drawer-close>span {font-size:0;display:block;width:22px;height:22px;position:relative}
  .navigation-panel .drawer-close>span::before,
  .navigation-panel .drawer-close>span::after {
    content:"";position:absolute;left:0;top:10px;width:22px;height:2px;
    border-radius:2px;background:currentColor;transform:rotate(45deg);
  }
  .navigation-panel .drawer-close>span::after {transform:rotate(-45deg)}
  .navigation-panel .drawer-nav {gap:12px;min-width:0}
  .navigation-panel .drawer-group {
    min-width:0;margin:0;padding:16px 0 4px;border-top:1px solid #ffffff20;
  }
  .navigation-panel .drawer-group-title {
    margin:0 0 8px;padding:0 10px;color:#aeb7c2;font-size:12px;
    font-weight:600;line-height:1.5;letter-spacing:1.25px;text-transform:uppercase;
  }
  .navigation-panel .drawer-group-links {list-style:none;margin:0;padding:0;display:grid;gap:4px}
  .navigation-panel .drawer-group-links li {margin:0;padding:0;min-width:0}
  .navigation-panel .drawer-nav>a,
  .navigation-panel .drawer-group-links a {
    box-sizing:border-box;display:flex;align-items:center;min-height:44px;
    padding:9px 10px;border-radius:8px;color:#f1f3f6;text-decoration:none;
    font-family:inherit;font-weight:500;line-height:1.4;overflow-wrap:anywhere;
    transition:background .18s ease,color .18s ease;
  }
  .navigation-panel .drawer-nav>a {font-size:22px}
  .navigation-panel .drawer-group-links a {font-size:18px}
  .navigation-panel .drawer-nav a:hover,
  .navigation-panel .drawer-nav a[aria-current=page] {background:#ffffff0e;color:#fff;text-decoration:none}
  .navigation-panel .drawer-nav a[aria-current=page] {box-shadow:inset 2px 0 0 #d8dfe7}
  .navigation-panel .drawer-nav a:focus-visible {outline:2px solid #fff;outline-offset:2px}
  .navigation-panel .drawer-contact {padding-top:20px;border-top:1px solid #ffffff20;gap:10px}
  .navigation-panel .drawer-contact a {font-size:14px;line-height:1.45}
  .navigation-panel .drawer-content>.language-switch {margin:0}
  .navigation-panel .drawer-legal {gap:4px 20px}
  .navigation-panel .drawer-legal a {min-height:44px;display:flex;align-items:center}

  @media(max-width:420px) {
    .navigation-panel .drawer-content {padding-inline:20px}
    body.site-dark .navigation-panel button.drawer-close {right:20px}
    .navigation-panel .drawer-contact a {padding-inline:10px;font-size:13px}
  }
  @media(prefers-reduced-motion:reduce) {
    .masthead .menu-toggle .menu-lines i,.navigation-panel .drawer-nav a {transition:none}
  }
}
@media screen and (forced-colors:active) {
  body.site-dark .masthead button.menu-toggle,
  body.site-dark .navigation-panel button.drawer-close {
    background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;box-shadow:none!important;
  }
  .navigation-panel {background:Canvas;border-color:CanvasText}
  .navigation-panel .drawer-group-title,.navigation-panel .drawer-brand {color:CanvasText}
  .navigation-panel .drawer-nav a {color:LinkText}
  .navigation-panel .drawer-nav a[aria-current=page] {outline:1px solid LinkText;box-shadow:none}
}

/* Company anniversary: one full-width strip with separate, readable values. */
@media screen {
  .site-dark .about>.company-age {
    grid-column:1 / -1;display:grid;
    grid-template-columns:minmax(200px,.9fr) minmax(0,1.5fr);
    align-items:center;gap:24px;width:100%;max-width:none;min-width:0;
    margin:32px 0 0;padding:24px;border:1px solid #555c65;border-radius:16px;
    background:linear-gradient(155deg,#24272b 0%,#131517 36%,#090b0d 100%);
    box-shadow:inset 0 1px 0 #ffffff26;color:#f3f5f7;
  }
  .site-dark .company-age .age-copy {min-width:0}
  .site-dark .company-age .age-kicker {
    margin:0 0 10px;color:#aab4c0;font-size:.6875rem;line-height:1.5;
    font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  }
  .site-dark .company-age .age-caption {
    margin:0;color:#f3f5f7;font-size:1.25rem;font-weight:500;line-height:1.45;
    letter-spacing:-.02em;text-transform:none;
  }
  .site-dark .company-age .age-caption time {display:block}
  .site-dark .company-age .age-tagline {
    margin:8px 0 0;color:#b5bec8;font-size:.875rem;line-height:1.6;letter-spacing:normal;
  }
  .site-dark .company-age .age-grid {
    display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;
    min-width:0;margin:0;padding:0;
  }
  .site-dark .company-age .age-grid>div {
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    min-width:0;padding:18px 6px;border:1px solid #ffffff15;border-radius:10px;
    background:linear-gradient(180deg,#ffffff06,transparent);text-align:center;
  }
  .site-dark .company-age .age-grid dd {
    order:0;margin:0;color:#f4f6f8;font-size:2rem;font-weight:600;
    font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.03em;
    line-height:1.15;white-space:nowrap;
  }
  .site-dark .company-age .age-grid dt {
    order:1;margin:8px 0 0;color:#bcc5d0;font-size:.75rem;
    font-weight:400;line-height:1.4;letter-spacing:.01em;
  }
  @media(max-width:1000px) {
    .site-dark .about>.company-age {grid-template-columns:minmax(0,1fr);gap:20px}
    .site-dark .company-age .age-caption time {display:inline}
  }
  @media(max-width:680px) {
    .site-dark .about.section {padding:28px 20px}
    .site-dark .about>.company-age {padding:20px 16px;margin-top:28px;border-radius:14px}
    .site-dark .company-age .age-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
    .site-dark .company-age .age-grid>div {padding:18px 8px}
    .site-dark .company-age .age-grid dd {font-size:2.125rem}
    .site-dark .company-age .age-grid dt {font-size:.8125rem}
    .site-dark .company-age .age-caption {font-size:1.125rem}
    .site-dark .company-age .age-caption time {display:block}
  }

  /* Legal documents use a reading scale instead of hero heading sizes. */
  body.site-dark .legal-page.section {
    box-sizing:border-box;width:100%;max-width:56rem;margin-inline:auto;
    padding:44px clamp(20px,5vw,48px) 72px;
    font-size:1rem;line-height:1.75;text-align:left;
  }
  body.site-dark .legal-page h1 {
    max-width:100%;margin:0 0 22px;font-size:clamp(1.75rem,4.2vw,2.75rem);
    font-weight:600;line-height:1.2;letter-spacing:-.035em;
    word-break:normal;overflow-wrap:normal;-webkit-hyphens:manual;hyphens:manual;
  }
  body.site-dark .legal-page h2 {
    margin:36px 0 14px;font-size:clamp(1.25rem,2.4vw,1.625rem);
    font-weight:500;line-height:1.4;letter-spacing:-.02em;
    word-break:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;
  }
  body.site-dark .legal-page h3 {
    margin:28px 0 12px;font-size:1.125rem;font-weight:500;line-height:1.45;
    letter-spacing:normal;word-break:normal;overflow-wrap:break-word;
    -webkit-hyphens:auto;hyphens:auto;
  }
  body.site-dark .legal-page :is(p,li,td,th) {
    font-size:1rem;line-height:1.75;letter-spacing:normal;
    word-break:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;
  }
  body.site-dark .legal-page p {margin:0 0 18px;max-width:72ch}
  body.site-dark .legal-page :is(ul,ol) {margin:0 0 22px;padding-left:1.4em}
  body.site-dark .legal-page li {margin:0 0 8px;padding-left:.15em}
  body.site-dark .legal-page a {
    word-break:normal;overflow-wrap:anywhere;-webkit-hyphens:none;hyphens:none;
    text-decoration-thickness:1px;text-underline-offset:3px;
  }
  body.site-dark .legal-page .legal-lead {font-size:1rem;line-height:1.75;margin-bottom:14px}
  body.site-dark .legal-page .legal-updated {
    font-size:.8125rem;color:#a4adb8;line-height:1.6;
    margin:0 0 32px;padding:0 0 24px;border-bottom:1px solid #ffffff20;
  }
  /* The floating sales shortcut must not cover the legal document. */
  body.legal-document .quick-contact {display:none}
  @media(max-width:680px) {
    body.site-dark .legal-page.section {padding-top:28px;padding-bottom:48px}
    body.site-dark .legal-page h1 {margin-bottom:18px}
    body.site-dark .legal-page h2 {margin-top:30px}
  }
}
@media screen and (forced-colors:active) {
  .site-dark .about>.company-age,.site-dark .company-age .age-grid>div {
    background:Canvas;border-color:CanvasText;box-shadow:none;
  }
  .site-dark .company-age :is(p,dt,dd),body.site-dark .legal-page .legal-updated {color:CanvasText}
}
