/* Garage Boxstop – Feinschliff 2026 (Version 2, 06.11.2026)
   Kushtrim: Startbild und Schrift bleiben wie bisher. Neu nur: weiches Scrollen am Computer,
   Kopf wird beim Scrollen schmaler, Leistungen als Kacheln zum Wischen, helle statt schwarze Abschnitte,
   Abschnitte gleiten herein. Lädt NACH site.css. */
:root{--ease:cubic-bezier(.22,.61,.36,1)}
html{scroll-behavior:auto}
@media (hover:none),(pointer:coarse){html{scroll-behavior:smooth}}
.gal{overflow-x:clip}

/* Kopf wird beim Scrollen schmaler */
.head-in{transition:padding .35s var(--ease)}
.head .brand img{transition:height .35s var(--ease),width .35s var(--ease)}
.head.klein .head-in{padding-top:6px;padding-bottom:6px}
.head.klein .brand img{height:44px;width:auto}

/* Leistungen: Kacheln zum Wischen (Schrift und Knöpfe bleiben im bisherigen Stil) */
#leistungen{padding-left:0;padding-right:0;overflow:hidden}
#leistungen>.in{max-width:none;margin:0}
#leistungen .sec-head{max-width:1200px;margin:0 auto;width:100%;padding:0 20px;flex-direction:row;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}
#leistungen .sec-head>.sh-txt{display:flex;flex-direction:column;gap:14px;max-width:700px}
.sl-nav{display:flex;gap:8px}
.sl-nav button{all:unset;cursor:pointer;width:48px;height:48px;border:2px solid var(--ink);display:grid;place-items:center;color:var(--ink);transform:skewX(-12deg);transition:background .2s,color .2s}
.sl-nav button svg{transform:skewX(12deg)}
.sl-nav button:hover{background:var(--ink);color:#fff}
.sl-nav button:disabled{opacity:.25;cursor:default;background:none;color:var(--ink)}
.sl-nav button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#leistungen .cards{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;
  padding:4px max(20px,calc((100% - 1160px)/2)) 18px;scroll-padding-left:max(20px,calc((100% - 1160px)/2))}
#leistungen .cards::-webkit-scrollbar{display:none}
#leistungen .card{flex:0 0 clamp(290px,30vw,380px);scroll-snap-align:start;display:flex;flex-direction:column;grid-row:auto;grid-template-rows:none;margin:0;position:relative}
#leistungen .card>*{grid-row:auto}
#leistungen .card>p{flex:1 1 auto}
.sl-bar{max-width:1160px;margin:8px auto 0;height:3px;background:var(--line);position:relative;width:calc(100% - 40px)}
.sl-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--accent);width:20%;transition:transform .2s linear}

/* Hell statt schwarz (Fusszeile bleibt dunkel) */
.dark.finder,#kontakt.dark{background:#F1F1EF;color:var(--ink)}
.finder .lead.on-dark,#kontakt .lead.on-dark{color:var(--muted)}
.finder .eyebrow.on-dark,#kontakt .eyebrow.on-dark{color:var(--muted)}

/* Abschnitte gleiten herein (ohne JavaScript ist alles sofort sichtbar) */
html.rv-on .rv{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
html.rv-on .rv.rv-in{opacity:1;transform:none}

@media (max-width:720px){
  #leistungen .card{flex-basis:82vw}
  .sl-nav{display:none}
  .head.klein .brand img{height:38px}
}
@media (prefers-reduced-motion:reduce){
  html.rv-on .rv{opacity:1;transform:none;transition:none}
  #leistungen .cards{scroll-behavior:auto}
}

/* Handy: Leistungen als schlanke Liste – zu, mit «+» aufklappen (Kushtrim, 06.11.2026) */
@media (max-width:720px){
  #leistungen .cards{flex-direction:column;overflow:visible;scroll-snap-type:none;gap:0;padding:0 20px;border-top:1px solid var(--line)}
  .sl-bar{display:none}
  #leistungen .card{flex:none;display:grid;grid-template-columns:64px minmax(0,1fr) 40px;column-gap:14px;row-gap:12px;align-items:center;
    padding:12px 0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
  #leistungen .card>*{grid-column:1/-1}
  #leistungen .card>.card-img{grid-column:1;grid-row:1;width:64px;height:64px;aspect-ratio:1/1;margin:0;border-radius:4px;object-fit:cover}
  #leistungen .card>h3{grid-column:2;grid-row:1;font-size:21px;line-height:1.15;margin:0}
  #leistungen .card>.lk-auf{grid-column:3;grid-row:1}
  #leistungen .card>h3,#leistungen .card>.card-img,#leistungen .card>.lk-auf{align-self:center}
  #leistungen .card:not(.offen)>:not(.card-img):not(h3):not(.lk-auf){display:none}
  #leistungen .card.offen{padding-bottom:20px}
  #leistungen .card.offen>p{font-size:16px}
  #leistungen .card .ask-empty{display:none}
  .lk-auf{all:unset;box-sizing:border-box;cursor:pointer;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--line);color:var(--ink);transition:transform .3s var(--ease),background .2s,border-color .2s}
  .lk-auf::before{content:"";position:absolute;inset:0}
  .lk-auf svg{transition:transform .3s var(--ease)}
  .card.offen .lk-auf{background:var(--accent);border-color:var(--accent)}
  .card.offen .lk-auf svg{transform:rotate(45deg)}
  .lk-auf:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
  #leistungen .card{position:relative}
  #leistungen .card.offen .lk-auf::before{inset:0 0 auto 0;height:88px}
  /* «Was ist enthalten?» am Handy direkt in der Liste statt als Überlagerung */
  #leistungen .incl[open] .incl-body{position:static;background:none;color:var(--ink);padding:4px 0 0;animation:none}
  #leistungen .incl[open] .incl-body::before{display:none}
  #leistungen .incl[open] .incl-body li{color:var(--muted)}
  #leistungen .incl[open] .incl-body .incl-h{color:var(--ink)}
  #leistungen .card-btns{padding-left:6px}
}

/* Handy: Karten-Stil nach Kushtrims Vorlage (weisse Karte, Bild links, Titel + Kurztext, Pfeil rechts) */
@media (max-width:720px){
  #leistungen{background:#F4F4F2}
  #leistungen .cards{border-top:0;gap:12px;padding:0 16px}
  #leistungen .card{grid-template-columns:72px minmax(0,1fr) 36px;grid-template-rows:auto;column-gap:14px;row-gap:14px;padding:16px;background:#fff;border:0;border-radius:20px;box-shadow:0 6px 24px rgba(18,20,23,.06)}
  #leistungen .card>.card-img{grid-row:1/span 2;width:72px;height:72px;border-radius:16px;align-self:center}
  #leistungen .card>h3{grid-column:2;grid-row:1;font-size:20px;line-height:1.1;align-self:end}
  #leistungen .cards .card>p.lk-kurz{grid-column:2;grid-row:2;margin:0;font-size:14px;line-height:1.35;color:var(--muted);align-self:start}
  #leistungen .cards .card:not(.offen)>p.lk-kurz.lk-kurz{display:block}
  #leistungen .card>.lk-auf{grid-column:3;grid-row:1/span 2;align-self:center}
  .lk-auf{width:36px;height:36px;border:0;background:#FFF1E6;color:var(--accent)}
  .card.offen .lk-auf{background:#FFF1E6;color:var(--accent)}
  .card.offen .lk-auf svg{transform:rotate(180deg)}
  #leistungen .card.offen .lk-auf::before{height:104px}
  #leistungen .card.offen>p:not(.lk-kurz){border-top:1px solid var(--line);padding-top:14px}
}

/* Handy: Bild gross oben wie bisher, darunter Titel + Kurztext + Pfeil; Details per Pfeil (Kushtrim, 06.11.2026, «eher so») */
@media (max-width:720px){
  #leistungen .cards{gap:16px}
  #leistungen .cards .card{grid-template-columns:minmax(0,1fr) 36px;column-gap:14px;row-gap:6px;padding:0 18px 18px;overflow:hidden}
  #leistungen .cards .card>*{margin-left:0;margin-right:0}
  #leistungen .cards .card>.card-img{grid-column:1/-1;grid-row:1;width:calc(100% + 36px);max-width:none;height:auto;aspect-ratio:16/9;border-radius:0;margin:0 -18px 10px;align-self:auto}
  #leistungen .card>h3{grid-column:1;grid-row:2;font-size:22px}
  #leistungen .cards .card>p.lk-kurz{grid-column:1;grid-row:3}
  #leistungen .cards .card>.lk-auf{grid-column:2;grid-row:2/span 2;margin:0}
  #leistungen .card:not(.offen) .lk-auf::before{display:block}
  #leistungen .card.offen .lk-auf::before{display:none}
  #leistungen .card.offen>p:not(.lk-kurz){margin-top:8px}
}

/* Handy: Termin-Knöpfe immer sichtbar, ohne Aufklappen (Kushtrim, 06.11.2026) */
@media (max-width:720px){
  #leistungen .cards .card:not(.offen)>.card-btns.card-btns{display:flex}
  #leistungen .cards .card>.card-btns,#leistungen .cards .card.offen>.card-btns.card-btns{grid-column:1/-1;grid-row:4;order:0;margin-top:10px;margin-bottom:6px;padding-left:6px}
  #leistungen .card .lk-auf::before,#leistungen .card:not(.offen) .lk-auf::before{display:none}
  #leistungen .card>.card-img,#leistungen .card>h3,#leistungen .card>.lk-kurz{cursor:pointer}
}
@media (min-width:721px){#leistungen .lk-auf,#leistungen .lk-kurz{display:none}}

/* Knöpfe «Rennsport fein mit Lauf-Strich» (Kushtrim, 06.11.2026): schräg wie das Logo, schmaler,
   Pfeil in Schriftfarbe (kein eigener Farbblock), kurzer Strich unten läuft beim Darüberfahren durch */
html body .btn{position:relative;overflow:hidden;min-height:46px;padding:0 22px;font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:background .25s,color .25s,box-shadow .25s}
html body .btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--accent);transform:scaleX(.16);transform-origin:left;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
html body .btn:hover::after,html body .btn:focus-visible::after{transform:scaleX(1)}
html body .btn>span{gap:10px}
html body .btn>span::after{content:"";width:16px;height:16px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:transform .3s cubic-bezier(.22,.61,.36,1)}
html body .btn:hover>span::after{transform:translateX(4px)}
html body .btn-sm>span::after,html body .nav-ic>span::after,html body .nav-app>span::after,html body .nav-tel>span::after{display:none}
html body .btn-sm{min-height:38px;padding:0 14px;font-size:13px}
html body .btn-acc{background:var(--accent);color:var(--ink)}
html body .btn-acc::after{background:var(--ink)}
html body .btn-acc:hover{background:#FF8C2E;color:var(--ink)}
html body .btn-dark{background:var(--ink);color:#fff}
html body .btn-dark:hover{background:#000;color:#fff}
html body .btn-ghost,html body .btn-line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink);border:0}
html body .btn-ghost:hover,html body .btn-line:hover{background:transparent;color:var(--ink)}
html body .head .btn-line,html body .foot .btn-line,html body .hero-x .btn-glass,html body .dark .btn-line{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);background:transparent}
html body .head .btn-line:hover,html body .hero-x .btn-glass:hover{background:rgba(255,255,255,.08);color:#fff}
html body .card-btns .btn{min-height:42px;padding:0 18px;font-size:13.5px}

html body .btn{transform:skewX(-12deg);border-radius:0;text-transform:uppercase;letter-spacing:.06em}
html body .btn>span{transform:skewX(12deg)}
html body .btn-sm{letter-spacing:.04em}
html body .finder .btn-line,html body #kontakt .btn-line{color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
html body .btns{padding-left:6px}

@media (max-width:720px){html body .lk-auf,html body .card.offen .lk-auf{background:#F1F1EF;color:var(--ink)}}

/* Schnellzugriff + Versprechen im Rennsport-Stil (Kushtrim, 06.11.2026): dunkles Band direkt am Startbild,
   schräge Trennlinien, Symbole und Pfeile ohne Farbkästchen, Lauf-Strich unten wie bei den Knöpfen */
html body .hero-x{padding-bottom:clamp(48px,7vh,72px)}
html body .quick-wrap{margin-top:0;padding:0 20px;background:var(--ink);border-top:1px solid rgba(255,255,255,.08)}
html body .quick{max-width:1200px;margin:0 auto;gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}
html body .quick-t{position:relative;min-height:88px;padding:20px 22px;gap:14px;background:transparent;border:0;border-radius:0;box-shadow:none;color:#fff;overflow:hidden;animation:none;transition:background .25s}
html body .quick-t:hover{transform:none;box-shadow:none;background:rgba(255,255,255,.04);color:#fff}
html body .quick-t+.quick-t::before{content:"";position:absolute;left:0;top:24%;bottom:24%;width:1px;background:rgba(255,255,255,.16);transform:skewX(-14deg)}
html body .quick-t::after{content:"";position:absolute;left:22px;right:22px;bottom:0;height:3px;background:var(--accent);transform:scaleX(.12);transform-origin:left;transition:transform .4s cubic-bezier(.22,.61,.36,1)}
html body .quick-t:hover::after,html body .quick-t:focus-visible::after{transform:scaleX(1)}
html body .quick-i{width:auto;height:auto;background:none;border-radius:0;color:#fff;opacity:.9}
html body .quick-x b{font-size:14.5px;line-height:1.2;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#fff}
html body .quick-x small{font-size:13.5px;color:rgba(255,255,255,.6)}
html body .qa-go{color:#fff;opacity:.7}
html body .quick-t:hover .qa-go{color:#fff;opacity:1;transform:translateX(4px)}
html body .quick-t:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
/* Versprechen: eine ruhige Zeile mit kleinen schrägen Strichen statt grüner Haken */
html body .promise-wrap{padding:22px 20px;background:#fff;border-bottom:1px solid var(--line)}
html body .promise{max-width:1200px;gap:12px 28px}
html body .promise li{align-items:baseline;gap:12px}
html body .pr-i{width:14px;height:4px;margin:0;border-radius:0;background:var(--accent);color:transparent;font-size:0;transform:skewX(-20deg) translateY(-3px)}
html body .promise b{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
html body .promise small{font-size:13.5px}
@media (max-width:1060px){
  html body .quick{grid-template-columns:repeat(2,minmax(0,1fr))}
  html body .quick-t:nth-child(3)::before{display:none}
  html body .quick-t:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}
}
@media (max-width:560px){
  html body .quick-wrap{padding:0}
  html body .quick-t{min-height:0;padding:16px 14px;flex-direction:column;align-items:flex-start;gap:8px}
  html body .quick-x small{display:none}
  html body .quick-x b{font-size:13px}
  html body .qa-go{position:absolute;right:12px;top:16px}
  html body .promise{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
  html body .promise small{display:none}
  html body .promise b{font-size:12.5px}
}
@media (max-width:560px){html body .hero-x{padding-bottom:36px}html body .quick-t{padding:16px 20px}html body .quick-t::after{left:20px;right:20px}html body .qa-go{right:18px}}

/* Schrift Titillium Web für Titel und Knöpfe (Kushtrim, Variante D, 06.11.2026) – Fliesstext bleibt Barlow */
html body h1,html body h2,html body h3,html body .hero-title{font-family:'Titillium Web','Barlow',sans-serif;font-weight:700;font-style:normal;letter-spacing:-.01em}
html body .btn,html body .quick-x b,html body .promise b,html body .nav-link,html body .lk-auf{font-family:'Titillium Web','Barlow',sans-serif;font-weight:700}

/* Teil 72: Knöpfe «Termin abmachen» / «Beratung anfragen» im Kasten «Bequem in Raten bezahlen» am Handy untereinander (Text war abgeschnitten) */
@media(max-width:760px){html body .raten-btns{flex-direction:column;align-items:stretch}html body .raten-btns .btn{flex:0 0 auto;width:100%;justify-content:center}}

/* Teil 75: Diashow läuft nach dem Schliessen der Grossansicht weiter. Vorher blieb sie stehen, weil der Knopf den Fokus behielt
   (:focus-within) bzw. am Handy «hover» hängen blieb. Anhalten nur noch bei Maus darüber, Tastatur-Fokus, offener Grossansicht oder ausser Sicht. */
html body .gal-view.run .gal-track,html body .gal-view.run:focus-within .gal-track,html body .gal-view.run:hover .gal-track{animation-play-state:running}
@media (hover:hover) and (pointer:fine){html body .gal-view.run:hover .gal-track{animation-play-state:paused}}
html body .gal-view.run:has(:focus-visible) .gal-track,html body .gal-view.run.hold .gal-track,html body .gal-view.run.off .gal-track{animation-play-state:paused}
/* Teil 99: Auto den ganzen Tag da lassen (Termin buchen) */
.b-gt{margin:14px 0 10px}.b-gt legend{font-weight:700;margin-bottom:8px}
.b-empf{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.02em;background:var(--accent);color:#fff;border-radius:6px;padding:1px 7px;margin-left:6px;vertical-align:2px;white-space:nowrap}
