/* WashPoint — Die perfekte Autowäsche, Cuxhaven
   ------------------------------------------------------------------
   Thema: VON HAND. Der Betrieb heißt nicht ohne Grund „Handwaschanlage".
   Jede Wäsche endet mit Trocknung von Hand, dazu Problemzonenbehandlung
   und Türkantentrocknung — genau das, was eine Waschstraße nicht macht.
   Der Unterschied ist der Verkaufsgrund, und die Preise stehen offen.

   Abgrenzung zu den anderen Kfz-Seiten im Bestand: Autohaus Siebenbürger
   (Grotesk, Blau, Markenlisten) und Kfz-Rischka (Serife, Rot, Preistafeln)
   sind beide Werkstätten. Hier ist nichts Serifiges, nichts Rotes und keine
   Werkstattsprache: harte Grotesk in Versalien, Werkhallen-Grün aus dem
   eigenen Logo, rechtwinklige Kanten (radius 2) und ein diagonaler
   Grünstrich als wiederkehrendes Zeichen.

   Farbe: aus der Logodatei gemessen — das Grün des Schriftzugs ist #48a830.
   Für dunklen Grund aufgehellt, für Knöpfe abgedunkelt. Nachgerechnet:
     #5ec13c auf #0d1210 = 8,3:1    Akzenttext auf dunkel
     #ffffff auf #2c6f16 = 6,2:1    gefüllte Knöpfe
     #2c6f16 auf #f2f4f0 = 5,6:1    Akzenttext auf hellem Band
     #e6ece4 auf #0d1210 = 15,7:1   Fließtext

   Mobile first (Hausregel 3): Grundregeln beschreiben die schmale Ansicht,
   jede Medienabfrage ist ein `min-width`.
*/

@font-face{font-family:ArchivLokal;src:url("schrift/archivo-700-x.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:ArchivLokal;src:url("schrift/archivo-600-x.woff2") format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:TightLokal;src:url("schrift/inter-tight-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:TightLokal;src:url("schrift/inter-tight-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:TightLokal;src:url("schrift/inter-tight-600.woff2") format("woff2");font-weight:600;font-display:swap}

:root{
  --tief:#0d1210;
  --tief-2:#141a16;
  --kante:rgba(230,236,228,.14);
  --text:#e6ece4;
  --gedaempft:#b6c0b3;
  --gruen:#5ec13c;
  --gruen-satt:#2c6f16;
  --gruen-tief:#255d12;
  --hell:#f2f4f0;
  --hell-2:#e2e6df;
  --auf-hell:#12190f;
  --auf-hell-2:#4b544a;
  --r:2px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--tief);color:var(--text);
  font-family:TightLokal,system-ui,Arial,sans-serif;line-height:1.6;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

h1,h2,h3{font-family:ArchivLokal,system-ui,sans-serif;font-weight:700;
  line-height:1.04;margin:0;letter-spacing:-.02em;overflow-wrap:break-word}
h1{font-size:clamp(2.2rem,9vw,3.1rem)}
h2{font-size:clamp(1.75rem,6.4vw,2.35rem)}
h3{font-size:1.1rem;line-height:1.22;letter-spacing:-.01em}
p{margin:0;color:var(--gedaempft)}
h1+p,h2+p,h3+p{margin-top:.95rem}
strong{color:var(--text);font-weight:600}
.hell strong{color:var(--auf-hell)}

/* Augenbraue mit dem diagonalen Grünstrich — das Zeichen der Seite */
.marke{display:inline-flex;align-items:center;gap:.55rem;
  font-family:TightLokal;font-weight:600;font-size:.7rem;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gruen);
  margin-bottom:.9rem}
.marke::before{content:"";width:1.5rem;height:2px;background:currentColor;
  transform:skewX(-38deg)}
.hell .marke{color:var(--gruen-satt)}

.sprung{position:absolute;left:-9999px;top:.5rem;background:var(--gruen-satt);
  color:#fff;padding:.7rem 1rem;z-index:40;border-radius:var(--r);font-weight:600}
.sprung:focus{left:.75rem}

/* ── Kopf ─────────────────────────────────────────────────────────── */
.kopf{position:sticky;top:0;z-index:30;background:rgba(13,18,16,.95);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--kante)}
.kopf__innen{display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;row-gap:.15rem;column-gap:.5rem;
  max-width:1180px;margin:auto;padding:.25rem .85rem .3rem}
/* Logo vorhanden: kein Wortlaut daneben (Ansage 05.08.2026). */
.logo{order:1;flex:0 0 auto;display:flex;align-items:center;min-height:34px}
.logo img{height:34px;width:auto}
.wege{order:3;flex:1 0 100%;display:flex;gap:.1rem;overflow-x:auto;
  -webkit-overflow-scrolling:touch;scrollbar-width:none}
.wege::-webkit-scrollbar{display:none}
.wege a{flex:0 0 auto;font-size:.82rem;color:var(--gedaempft);font-weight:500;
  padding:.28rem .5rem;border-radius:var(--r);white-space:nowrap}
.wege a:hover{color:#fff;background:var(--gruen-satt)}
.ruf{order:2;flex:0 0 auto}

.knopf{display:inline-flex;align-items:center;justify-content:center;
  min-height:44px;padding:.55rem 1.15rem;border-radius:var(--r);
  border:1px solid var(--gruen-satt);background:var(--gruen-satt);color:#fff;
  font-family:TightLokal;font-weight:600;font-size:.9rem;cursor:pointer;
  letter-spacing:.01em}
.knopf:hover{background:var(--gruen-tief);border-color:var(--gruen-tief)}
.kopf .knopf{min-height:34px;padding:.25rem .8rem;font-size:.84rem}
.knopf--leer{background:transparent;color:var(--text);border-color:var(--kante)}
.knopf--leer:hover{background:rgba(230,236,228,.09);border-color:var(--text)}
.hell .knopf--leer{color:var(--auf-hell);border-color:#c6ccc2}
.hell .knopf--leer:hover{background:rgba(18,25,15,.07);border-color:var(--auf-hell)}

/* ── Hero ─────────────────────────────────────────────────────────── */
.hero{position:relative;display:grid;align-items:end;min-height:70vh;
  overflow:hidden;border-bottom:1px solid var(--kante)}
.hero__bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__bild{object-position:center 56%}
/* Das Hero-Foto ist eine Abendaufnahme und schon dunkel. Der Verlauf legt
   deshalb nur so viel darüber, wie der Text zum Lesen braucht. */
.hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(0deg,rgba(13,18,16,.93) 6%,rgba(13,18,16,.42) 52%,rgba(13,18,16,.34)),
             linear-gradient(90deg,rgba(13,18,16,.82) 4%,rgba(13,18,16,.3) 50%,transparent 82%)}
.hero__innen{position:relative;z-index:1;width:100%;max-width:1180px;
  margin-inline:auto;padding:5rem 1rem 2.6rem}
.hero p{font-size:1.05rem;max-width:38rem}
.hero__knoepfe{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.7rem}
.hero__knoepfe .knopf{flex:1 1 14rem}
.hero.klein{min-height:40vh}
.hero.klein .hero__innen{padding-top:4rem}

/* ── Bänder ───────────────────────────────────────────────────────── */
.band{padding:3.4rem 1rem}
.band.hell{background:var(--hell);color:var(--auf-hell)}
.band.hell p{color:var(--auf-hell-2)}
.band.grund-2{background:var(--tief-2)}
/* Hausregel 9: zwischen Kontakt, Karte und Fuss bleibt keine Flaeche stehen. */
.band--anschluss{padding-bottom:0}
.band--anschluss > .innen{padding-bottom:3.4rem}
.innen{max-width:1180px;margin:auto}
.zwei{display:grid;gap:1.5rem}
.zwei p{font-size:1.03rem}

/* ── Preistafel ───────────────────────────────────────────────────── */
.tafel{display:grid;gap:0;margin-top:2rem;border-top:2px solid var(--kante)}
.hell .tafel{border-color:#cfd6cb}
.programm{display:grid;gap:.5rem;padding:1.3rem 0;
  border-bottom:1px solid var(--kante)}
.hell .programm{border-color:#cfd6cb}
.programm__kopf{display:flex;flex-wrap:wrap;align-items:baseline;
  justify-content:space-between;gap:.4rem 1rem}
.programm__preis{font-family:ArchivLokal;font-weight:700;font-size:1.5rem;
  color:var(--gruen);letter-spacing:-.02em;white-space:nowrap}
.hell .programm__preis{color:var(--gruen-satt)}
.programm ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.programm li{position:relative;padding-left:1.35rem;font-size:.93rem;
  color:var(--gedaempft)}
.hell .programm li{color:var(--auf-hell-2)}
.programm li::before{content:"";position:absolute;left:0;top:.62em;
  width:.7rem;height:2px;background:var(--gruen);transform:skewX(-38deg)}
.hell .programm li::before{background:var(--gruen-satt)}
.programm__fuss{font-size:.86rem;color:var(--gedaempft)}
.hell .programm__fuss{color:var(--auf-hell-2)}

/* ── Kacheln ──────────────────────────────────────────────────────── */
.kacheln{display:grid;gap:1.1rem;margin-top:2rem}
.kachel{border:1px solid var(--kante);border-radius:var(--r);
  padding:1.4rem;background:rgba(230,236,228,.03)}
.hell .kachel{border-color:#d3d9ce;background:#fff}
.kachel__kopf{display:flex;align-items:baseline;gap:.7rem;margin-bottom:.7rem}
.kachel__nr{font-family:ArchivLokal;font-weight:700;font-size:.78rem;
  color:var(--gruen);letter-spacing:.1em}
.hell .kachel__nr{color:var(--gruen-satt)}
.kachel p{font-size:.95rem}

/* ── Bildreihe (Polster vorher/nachher) ───────────────────────────── */
.reihe{display:grid;gap:1rem;margin-top:2rem}
.reihe figure{margin:0}
.reihe img{width:100%;height:300px;object-fit:cover;object-position:center 42%;
  border-radius:var(--r);border:1px solid var(--kante)}
/* Hausregel 10: gleichartige Bilder brauchen dieselbe Hoehe, sonst enden die
   Kacheln versetzt. Feste Hoehe plus object-fit statt Naturhoehe. */
.bildband{margin:2rem 0 0}
.bildband img{width:100%;height:52vw;max-height:420px;min-height:220px;
  object-fit:cover;object-position:center 34%;border-radius:var(--r);
  border:1px solid var(--kante)}
.hell .bildband img{border-color:#d3d9ce}
.bildband figcaption{margin-top:.6rem;font-size:.86rem;color:var(--gedaempft)}
.hell .bildband figcaption{color:var(--auf-hell-2)}
.hell .reihe img{border-color:#d3d9ce}
.reihe figcaption{margin-top:.6rem;font-size:.86rem;color:var(--gedaempft)}
.hell .reihe figcaption{color:var(--auf-hell-2)}

/* ── Mitmach-Stationen ────────────────────────────────────────────── */
.station{margin-top:2rem;border:1px solid var(--kante);border-radius:var(--r);
  padding:1.3rem;background:rgba(230,236,228,.03)}
.hell .station{border-color:#d3d9ce;background:#fff}
.wahl{display:grid;gap:.6rem}
.wahl button{display:block;width:100%;text-align:left;min-height:48px;
  padding:.8rem 1rem;border:1px solid var(--kante);border-radius:var(--r);
  background:transparent;color:var(--text);font-family:TightLokal;
  font-weight:500;font-size:.95rem;cursor:pointer;line-height:1.35}
.hell .wahl button{border-color:#cfd6cb;color:var(--auf-hell)}
.wahl button[aria-pressed="true"]{background:var(--gruen-satt);color:#fff;
  border-color:var(--gruen-satt);font-weight:600}
.antwort{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--kante)}
.hell .antwort{border-color:#cfd6cb}
.antwort h3{margin-bottom:.5rem}
.antwort .knopf{margin-top:1.1rem}

.rechner{display:grid;gap:.1rem}
.rechner label{display:flex;flex-direction:row;align-items:center;gap:.75rem;
  min-height:48px;padding:.5rem 0;border-bottom:1px solid var(--kante);cursor:pointer}
.hell .rechner label{border-color:#cfd6cb}
.rechner input{width:22px;height:22px;flex:0 0 auto;accent-color:var(--gruen-satt)}
.rechner span{font-size:.95rem;font-weight:500}
.summe{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;
  gap:.5rem 1rem;margin-top:1.2rem;padding-top:1.2rem;border-top:2px solid var(--kante)}
.hell .summe{border-color:#cfd6cb}
.summe b{font-family:TightLokal;font-weight:600;font-size:1rem}
.summe em{font-style:normal;font-family:ArchivLokal;font-weight:700;
  font-size:2rem;color:var(--gruen);letter-spacing:-.02em}
.hell .summe em{color:var(--gruen-satt)}
.fein{font-size:.84rem;color:var(--gedaempft);margin-top:1rem}
.hell .fein{color:var(--auf-hell-2)}

/* ── Kontakt ──────────────────────────────────────────────────────── */
.daten{display:grid;gap:0;margin-top:1.4rem;border-top:1px solid var(--kante)}
.daten p{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:.2rem 1.2rem;padding:.15rem 0;border-bottom:1px solid var(--kante)}
.daten b{font-family:TightLokal;font-weight:600;font-size:.98rem;color:var(--text)}
.daten span{color:var(--gedaempft);font-size:.9rem}
.daten b,.daten span,.daten a{display:flex;align-items:center;min-height:44px;margin:0}
.daten a{color:var(--gruen);text-decoration:underline;text-underline-offset:3px;padding-block:0}
.hell .daten,.hell .daten p{border-color:#cfd6cb}
.hell .daten b{color:var(--auf-hell)}
.hell .daten span{color:var(--auf-hell-2)}
.hell .daten a{color:var(--gruen-satt)}

.zeiten{display:grid;gap:0;margin-top:1.6rem;border-top:1px solid var(--kante)}
.zeiten div{display:flex;flex-wrap:wrap;justify-content:space-between;
  gap:.2rem 1rem;padding:.7rem 0;border-bottom:1px solid var(--kante)}
.zeiten b{font-family:TightLokal;font-weight:600;font-size:.98rem}
.zeiten span{color:var(--gedaempft);font-size:.9rem}
.hell .zeiten,.hell .zeiten div{border-color:#cfd6cb}
.hell .zeiten span{color:var(--auf-hell-2)}

.formular{display:grid;gap:.9rem}
label.feld{display:grid;gap:.35rem;font-size:.9rem;font-weight:500}
input,select,textarea{width:100%;min-height:48px;padding:.7rem .85rem;
  font:inherit;font-size:1rem;border-radius:var(--r);
  border:1px solid var(--kante);background:rgba(230,236,228,.05);color:var(--text)}
.hell input,.hell select,.hell textarea{border-color:#cfd6cb;background:#fff;color:var(--auf-hell)}
textarea{min-height:7.5rem;resize:vertical}

/* Karte: erst nach Zustimmung. Ohne Klick geht keine Anfrage an Google,
   deshalb braucht die Seite kein Einwilligungsbanner (Hausregel 5). */
.karte-block{position:relative;min-height:320px;display:grid;
  background:var(--tief-2);border-top:1px solid var(--kante)}
.karte-block iframe{border:0;width:100%;height:100%;min-height:320px;display:block}
.karte__sperre{align-self:center;justify-self:center;max-width:34rem;
  padding:2.2rem 1.2rem;text-align:center}
.karte__sperre p{font-size:.95rem}
.karte__aktionen{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;
  margin-top:1.2rem}

/* ── Bildstreifen über die volle Breite ───────────────────────────── */
.streifen{display:block;height:44vw;max-height:420px;min-height:190px;overflow:hidden}
.streifen img{width:100%;height:100%;object-fit:cover;object-position:center 62%}

/* ── Rechtstexte: Hinweiskasten ───────────────────────────────────── */
.hinweis{margin-top:2.6rem;border:1px solid var(--gruen);border-left-width:4px;
  background:rgba(94,193,60,.09);padding:1.15rem;border-radius:var(--r)}
.hinweis strong{display:block;font-family:ArchivLokal,system-ui,sans-serif;
  font-weight:700;color:var(--gruen);margin-bottom:.5rem}
.hinweis p:last-child{margin-bottom:0}

/* ── Fuß ──────────────────────────────────────────────────────────── */
.fuss{background:var(--tief-2);border-top:1px solid var(--kante);
  padding:2.6rem 1rem;font-size:.9rem}
.fuss__innen{max-width:1180px;margin:auto;display:grid;gap:1.4rem}
.fuss a{color:var(--gedaempft);text-decoration:underline;text-underline-offset:3px}
.fuss a:hover{color:var(--gruen)}
.fuss img{height:34px;width:auto;margin-bottom:.9rem}

/* ── Rechtstexte ──────────────────────────────────────────────────── */
.rechtstext{max-width:44rem}
.rechtstext h1{font-size:clamp(1.9rem,7.5vw,2.5rem);margin-bottom:.5rem}
.rechtstext h2{font-size:1.12rem;margin:2.1rem 0 .5rem}
.rechtstext p{margin-bottom:.85rem}

/* ══ ab 620 px ════════════════════════════════════════════════════ */
@media (min-width:620px){
  .kacheln{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .reihe{grid-template-columns:repeat(3,1fr)}
  .formular{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .formular .weit{grid-column:1/-1}
  .fuss__innen{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero__knoepfe .knopf{flex:0 0 auto}
  .programm{grid-template-columns:minmax(0,1fr);gap:.6rem}
}

/* ══ ab 760 px: Kopf einreihig ════════════════════════════════════ */
@media (min-width:760px){
  .kopf__innen{flex-wrap:nowrap;padding:.45rem 1.4rem;column-gap:1.2rem}
  .logo{order:0}
  .logo img{height:40px}
  .wege{order:0;flex:1 1 auto;justify-content:center;overflow:visible}
  .wege a{font-size:.86rem;padding:.45rem .7rem}
  .ruf{order:0}
  .kopf .knopf{min-height:42px;padding:.5rem 1rem;font-size:.88rem}
  .band{padding:5rem 1.4rem}
  .hero__innen{padding:7rem 1.4rem 4rem}
  .fuss{padding:3.4rem 1.4rem}
  .kacheln{grid-template-columns:repeat(3,1fr)}
}

/* ══ ab 1000 px ═══════════════════════════════════════════════════ */
@media (min-width:1000px){
  h1{font-size:clamp(2.9rem,5vw,4.2rem)}
  h2{font-size:clamp(2rem,3.2vw,2.8rem)}
  .hero{min-height:78vh}
  .hero.klein{min-height:46vh}
  /* Ueberschrift und Text stehen UNTEREINANDER (Hausregel 15). Nur echte
     Blockpaare — Kontaktdaten und Formular — stehen nebeneinander. */
  .zwei{grid-template-columns:minmax(0,1fr);gap:1.1rem}
  .zwei > div > p{max-width:70ch}
  .zwei.gespann{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.6rem;align-items:start}
  .band{padding:6rem 2rem}
  .hero__innen{padding:8rem 2rem 5rem}
  .programm{grid-template-columns:minmax(0,22rem) minmax(0,1fr);gap:1.4rem 2.4rem;
    align-items:start}
  .programm__kopf{grid-column:1;flex-direction:column;align-items:flex-start}
  .programm ul{grid-column:2}
  .programm__fuss{grid-column:2}
}

/* Lange deutsche Woerter (Problemzonenbehandlung, Tuerkantentrocknung)
   liefen auf 320 px aus der Seite. Getrennt wird nur hier unten. */
@media (max-width:719.98px){
  h1,h2,h3,p,.programm li,.wahl button{hyphens:auto}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
