/* ==========================================================================
   Flughafen Taxi Stuttgart – Stylesheet
   Eigene Farbwelt (Nachtblau + Bernstein), bewusst abgesetzt von den
   anderen Taxi-Seiten, damit die Betriebe unterscheidbar bleiben.
   ========================================================================== */

/* --- Schriften: lokal eingebunden, kein Google-Server ------------------- */
@font-face{font-family:'Inter';src:url('../fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:optional;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:optional;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:optional;}
@font-face{font-family:'Inter';src:url('../fonts/Inter-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:optional;}
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-SemiBold.woff2') format('woff2');font-weight:500 600;font-style:normal;font-display:optional;}
@font-face{font-family:'Poppins';src:url('../fonts/Poppins-Bold.woff2') format('woff2');font-weight:700 800;font-style:normal;font-display:optional;}

/* Maßgleiche Ersatzschriften: verhindern den Layout-Sprung beim Nachladen.
   Werte aus den Schriftdateien berechnet (Arial/Helvetica/Roboto als Basis). */
@font-face{
  font-family:'Inter Fallback';
  src:local('Arial'),local('Helvetica'),local('Roboto'),local('Liberation Sans');
  size-adjust:104.58%;ascent-override:92.63%;descent-override:23.06%;line-gap-override:0%;
}
@font-face{
  font-family:'Poppins Fallback';
  src:local('Arial'),local('Helvetica'),local('Roboto'),local('Liberation Sans');
  size-adjust:105.08%;ascent-override:99.92%;descent-override:33.31%;line-gap-override:9.52%;
}

:root{
  --night:#0b1a2b;
  --night-2:#15293e;
  --night-3:#223b56;
  --amber:#ffb62e;
  --amber-soft:#ffd27a;
  --amber-deep:#b57400;
  --amber-text:#8a5800;
  --sky:#5aa7ca;
  --sand:#f8f6f1;
  --surface:#ffffff;
  --surface-2:#f1ece2;
  --ink:#121a24;
  --ink-2:#56626f;
  --ink-3:#64707d;
  --line:#e4ded2;
  --ok:#1c8b5c;
  --radius:16px;
  --radius-sm:11px;
  --shadow-sm:0 1px 2px rgba(11,26,43,.06),0 6px 16px -10px rgba(11,26,43,.25);
  --shadow:0 2px 6px rgba(11,26,43,.07),0 18px 40px -22px rgba(11,26,43,.45);
  --font-head:'Poppins','Poppins Fallback','Segoe UI',system-ui,sans-serif;
  --font-body:'Inter','Inter Fallback','Segoe UI',system-ui,sans-serif;
  --max:1140px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
@media (max-width:900px){html{scroll-padding-top:78px;}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;background:var(--sand);color:var(--ink);
  font-family:var(--font-body);font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}
[hidden]{display:none !important;}
:focus-visible{outline:3px solid var(--amber);outline-offset:3px;border-radius:5px;}
.container{max-width:var(--max);margin:0 auto;padding:0 22px;}

h1,h2,h3,h4{font-family:var(--font-head);margin:0;line-height:1.2;text-wrap:balance;}
p{margin:0;}

/* --- Buttons ------------------------------------------------------------ */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-weight:700;font-size:.97rem;padding:14px 24px;border-radius:999px;
  text-decoration:none;white-space:nowrap;transition:transform .14s ease,box-shadow .14s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-amber{background:var(--amber);color:var(--night);box-shadow:0 8px 22px -8px rgba(255,182,46,.8);}
.btn-light{background:#fff;color:var(--night);}
.btn-ghost{border:1.6px solid rgba(255,255,255,.35);color:#fff;}
.btn-ghost:hover{border-color:var(--amber);color:var(--amber);}
.btn-wa{background:#25D366;color:#fff;}
.btn-dark{background:var(--night);color:#fff;}

/* --- Header ------------------------------------------------------------- */
header{
  position:sticky;top:0;z-index:60;background:rgba(11,26,43,.96);
  backdrop-filter:blur(8px);color:#fff;
}
.head-inner{display:flex;align-items:center;gap:20px;padding:13px 0;}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:#fff;flex-shrink:0;}
.brand-mark{
  width:42px;height:42px;border-radius:12px;background:var(--amber);
  display:grid;place-items:center;flex-shrink:0;
}
.brand-name{font-family:var(--font-head);font-weight:800;font-size:1rem;letter-spacing:.01em;line-height:1.15;}
.brand-name span{color:var(--amber);}
.brand-sub{font-size:.7rem;color:#93a3b5;letter-spacing:.06em;text-transform:uppercase;margin-top:1px;}

nav{display:flex;gap:26px;margin-left:auto;}
nav a{text-decoration:none;font-size:.92rem;font-weight:500;color:#cdd7e2;transition:color .15s;}
nav a:hover{color:var(--amber);}

.head-actions{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.lang{display:flex;background:rgba(255,255,255,.1);border-radius:999px;padding:3px;}
.lang button{
  font-size:.72rem;font-weight:700;padding:5px 10px;border-radius:999px;color:#cdd7e2;letter-spacing:.04em;
}
.lang button[aria-pressed="true"]{background:var(--amber);color:var(--night);}
.call-pill{
  display:inline-flex;align-items:center;gap:7px;background:var(--amber);color:var(--night);
  font-weight:700;font-size:.88rem;padding:9px 16px;border-radius:999px;text-decoration:none;
}
.burger{display:none;font-size:1.5rem;color:#fff;padding:4px 8px;}

/* --- Hero --------------------------------------------------------------- */
.hero{
  background:
    radial-gradient(900px 420px at 78% 18%, rgba(90,167,202,.18), transparent 60%),
    linear-gradient(160deg,var(--night) 0%,var(--night-2) 58%,var(--night-3) 100%);
  color:#fff;padding:76px 0 86px;position:relative;overflow:hidden;
}
.hero::after{
  content:"";position:absolute;right:-180px;top:-140px;width:620px;height:620px;
  border-radius:50%;background:rgba(255,182,46,.07);
}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;position:relative;z-index:1;}
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;background:rgba(255,182,46,.15);
  color:var(--amber);font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  padding:7px 14px;border-radius:999px;margin-bottom:20px;
}
.car-badge{
  display:inline-flex;align-items:center;gap:13px;margin-bottom:20px;
  padding:12px 20px 12px 15px;border-radius:14px;
  background:linear-gradient(135deg,rgba(255,182,46,.2),rgba(255,182,46,.09));
  border:1.5px solid rgba(255,182,46,.55);
  box-shadow:0 6px 20px -10px rgba(255,182,46,.6);
  color:var(--amber);line-height:1.3;
}
.car-badge svg{flex:0 0 auto;width:26px;height:26px;}
.car-badge strong{
  display:block;font-family:var(--font-head);font-weight:800;
  font-size:1.02rem;letter-spacing:.03em;text-transform:uppercase;
}
.car-badge span span{display:block;color:#ffe3ac;font-weight:500;font-size:.86rem;margin-top:2px;}
@media (max-width:480px){
  .car-badge{padding:11px 16px 11px 13px;gap:10px;}
  .car-badge strong{font-size:.94rem;}
  .car-badge span span{font-size:.79rem;}
}
.hero h1{font-size:clamp(2.1rem,4.4vw,3.15rem);font-weight:800;letter-spacing:-.02em;margin-bottom:18px;}
.hero h1 em{font-style:normal;color:var(--amber);}
.hero-lead{font-size:1.07rem;color:#c3cfdc;max-width:35em;margin-bottom:28px;}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px;}
.hero-points{display:flex;flex-wrap:wrap;gap:10px 22px;}
.hero-point{display:flex;align-items:center;gap:8px;font-size:.88rem;color:#aebbc9;}
.hero-point .tick{
  width:19px;height:19px;border-radius:50%;background:rgba(255,182,46,.18);color:var(--amber);
  display:grid;place-items:center;font-size:.66rem;font-weight:800;flex-shrink:0;
}

.quote-card{
  background:var(--surface);color:var(--ink);border-radius:var(--radius);
  padding:28px 26px;box-shadow:var(--shadow);
}
.quote-card h2{font-size:1.1rem;font-weight:700;margin-bottom:5px;}
.quote-card .qc-sub{font-size:.85rem;color:var(--ink-2);margin-bottom:20px;}
.qc-steps{display:flex;flex-direction:column;gap:14px;margin-bottom:22px;}
.qc-step{display:flex;gap:12px;align-items:flex-start;}
.qc-num{
  width:25px;height:25px;border-radius:50%;background:var(--night);color:var(--amber);
  display:grid;place-items:center;font-size:.76rem;font-weight:800;flex-shrink:0;margin-top:1px;
}
.qc-step div strong{display:block;font-size:.9rem;font-weight:700;}
.qc-step div span{font-size:.82rem;color:var(--ink-2);}

/* --- Trust-Leiste ------------------------------------------------------- */
.trust{background:var(--night-2);color:#fff;padding:0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.trust-item{
  padding:22px 20px;text-align:center;border-right:1px solid rgba(255,255,255,.08);
}
.trust-item:last-child{border-right:none;}
.trust-item .ti-top{font-family:var(--font-head);font-weight:700;font-size:1.02rem;color:var(--amber);margin-bottom:3px;}
.trust-item .ti-sub{font-size:.8rem;color:#a7b4c3;}

/* --- Abschnitte --------------------------------------------------------- */
section{padding:84px 0;}
.section-head{text-align:center;max-width:680px;margin:0 auto 48px;}
.section-head .eyebrow{background:rgba(181,116,0,.1);color:var(--amber-text);}
.section-head h2{font-size:clamp(1.65rem,3vw,2.2rem);font-weight:800;color:var(--night);margin-bottom:13px;letter-spacing:-.015em;}
.section-head p{color:var(--ink-2);font-size:1rem;}

/* --- Ablauf ------------------------------------------------------------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.step{
  background:var(--surface);border-radius:var(--radius);padding:32px 26px;
  box-shadow:var(--shadow-sm);position:relative;border:1px solid var(--line);
}
.step-n{
  font-family:var(--font-head);font-size:2.6rem;font-weight:800;
  color:var(--amber);line-height:1;margin-bottom:12px;
}
.step h3{font-size:1.05rem;font-weight:700;color:var(--night);margin-bottom:8px;}
.step p{font-size:.92rem;color:var(--ink-2);}

/* --- Leistungen --------------------------------------------------------- */
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.svc{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;box-shadow:var(--shadow-sm);transition:transform .16s,box-shadow .16s;
}
.svc:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.svc.feature{background:linear-gradient(155deg,var(--night),var(--night-2));color:#fff;border-color:transparent;}
.svc-ico{
  width:46px;height:46px;border-radius:13px;background:var(--surface-2);
  display:grid;place-items:center;margin-bottom:16px;
}
.svc.feature .svc-ico{background:rgba(255,182,46,.18);}
.svc h3{font-size:1.04rem;font-weight:700;color:var(--night);margin-bottom:9px;}
.svc.feature h3{color:#fff;}
.svc p{font-size:.91rem;color:var(--ink-2);}
.svc.feature p{color:#b9c6d4;}
.svc-tag{
  display:inline-block;font-size:.67rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;
  background:var(--amber);color:var(--night);padding:3px 9px;border-radius:5px;margin-bottom:12px;
}

/* --- Vorteile ----------------------------------------------------------- */
.why{background:var(--night);color:#fff;}
.why .section-head h2{color:#fff;}
.why .section-head p{color:#b3c0cd;}
.why .section-head .eyebrow{background:rgba(255,182,46,.15);color:var(--amber);}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.why-item{
  display:flex;gap:16px;padding:22px;background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-sm);
}
.why-item .wi-ico{
  width:40px;height:40px;border-radius:11px;background:rgba(255,182,46,.16);
  display:grid;place-items:center;flex-shrink:0;
}
.why-item h3{font-size:.99rem;font-weight:700;margin-bottom:5px;}
.why-item p{font-size:.88rem;color:#aab8c6;}

/* --- Einsatzgebiet ------------------------------------------------------ */
.area-wrap{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;}
.area-text h2{font-size:clamp(1.55rem,2.8vw,2rem);font-weight:800;color:var(--night);margin-bottom:14px;}
.area-text p{color:var(--ink-2);margin-bottom:22px;}
.towns{display:flex;flex-wrap:wrap;gap:9px;}
.town{
  background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:7px 15px;font-size:.86rem;font-weight:500;color:var(--ink);
}
.area-card{
  background:linear-gradient(155deg,var(--night),var(--night-2));color:#fff;
  border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow);
}
.area-card h3{font-size:1.15rem;font-weight:700;margin-bottom:16px;}
.area-list{display:flex;flex-direction:column;gap:13px;margin-bottom:24px;}
.area-row{display:flex;justify-content:space-between;gap:16px;font-size:.92rem;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1);}
.area-row:last-child{border-bottom:none;}
.area-row span:first-child{color:#b9c6d4;}
.area-row span:last-child{color:var(--amber);font-weight:700;}

/* --- Weitere Flughäfen -------------------------------------------------- */
.airports{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.airport{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:22px 16px;text-align:center;box-shadow:var(--shadow-sm);
  transition:transform .16s,box-shadow .16s;
}
.airport:hover{transform:translateY(-3px);box-shadow:var(--shadow);}
.airport .code{
  font-family:var(--font-head);font-weight:800;font-size:1.45rem;
  color:var(--amber-deep);line-height:1;letter-spacing:.02em;
}
.airport .name{font-weight:600;font-size:.9rem;color:var(--night);margin:7px 0 5px;}
.airport .time{font-size:.8rem;color:var(--ink-3);font-variant-numeric:tabular-nums;}
.air-note{text-align:center;margin-top:22px;font-size:.84rem;color:var(--ink-2);}
.air-cta{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:26px;text-align:center;}
.air-cta span{font-size:.86rem;color:var(--ink-2);}

/* --- FAQ ---------------------------------------------------------------- */
.faq-list{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);overflow:hidden;}
.faq summary{
  padding:19px 22px;font-weight:600;font-size:.98rem;color:var(--night);
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:1.4rem;color:var(--amber-deep);font-weight:700;line-height:1;flex-shrink:0;}
.faq[open] summary::after{content:"–";}
.faq-body{padding:0 22px 20px;font-size:.93rem;color:var(--ink-2);}

/* --- Buchung ------------------------------------------------------------ */
.booking{background:var(--surface-2);}
.booking-card{
  display:grid;grid-template-columns:1.05fr .95fr;background:var(--surface);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);
}
.booking-side{background:linear-gradient(160deg,var(--night),var(--night-2));color:#fff;padding:42px 36px;}
.booking-side h2{font-size:1.5rem;font-weight:800;margin-bottom:12px;}
.booking-side p{color:#b5c2d0;font-size:.94rem;margin-bottom:28px;}
.contact-row{display:flex;gap:13px;align-items:flex-start;margin-bottom:19px;}
.contact-row .cr-ico{
  width:38px;height:38px;border-radius:11px;background:rgba(255,182,46,.16);
  display:grid;place-items:center;flex-shrink:0;
}
.contact-row .cr-label{font-size:.72rem;letter-spacing:.07em;text-transform:uppercase;color:#8d9db0;font-weight:700;}
.contact-row .cr-val{font-size:1rem;font-weight:600;}
.contact-row .cr-val a{text-decoration:none;}
.contact-row .cr-val a:hover{color:var(--amber);}

form{padding:40px 36px;}
.f-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;min-width:0;}
.field label{font-size:.76rem;font-weight:700;color:var(--night);text-transform:uppercase;letter-spacing:.05em;}
.field input,.field select,.field textarea{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background:var(--sand);border:1.5px solid var(--line);border-radius:10px;
  padding:12px 13px;font-family:inherit;color:var(--ink);
  /* 16px verhindert, dass iPhones beim Antippen hineinzoomen */
  font-size:16px;line-height:1.25;
  width:100%;min-width:0;max-width:100%;min-height:50px;
}
/* Datum und Uhrzeit: der Browser gibt diesen Feldern eine eigene Mindestbreite
   und eine abweichende Höhe – hier gleichen wir sie an die übrigen Felder an. */
.field input[type="date"],.field input[type="time"]{display:block;}
.field input[type="date"]::-webkit-datetime-edit,
.field input[type="time"]::-webkit-datetime-edit{padding:0;}
.field input[type="date"]::-webkit-date-and-time-value,
.field input[type="time"]::-webkit-date-and-time-value{text-align:left;margin:0;}
.field input[type="date"]::-webkit-calendar-picker-indicator,
.field input[type="time"]::-webkit-calendar-picker-indicator{
  margin-left:auto;padding-left:8px;opacity:.55;cursor:pointer;
}
/* Auswahlfelder brauchen einen eigenen Pfeil, weil der native entfernt wurde */
.field select{
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2356626f' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;
  background-position:right 12px center;background-size:13px;padding-right:36px;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--amber);outline:none;}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{
  outline:2px solid var(--amber);outline-offset:2px;
}
.field textarea{resize:vertical;min-height:84px;}
/* Auf schmalen Handys stehen Datum und Uhrzeit besser untereinander */
@media (max-width:430px){
  .f-row{grid-template-columns:1fr;gap:0;}
}
.pay{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);}
.pay-label{
  font-family:var(--font-head);font-size:.68rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--amber);margin-bottom:12px;
}
.pay-list{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;}
.pay-list li{
  display:inline-flex;align-items:center;gap:7px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
  border-radius:999px;padding:7px 13px 7px 11px;
  font-size:.83rem;color:#e7edf4;white-space:nowrap;
}
.pay-ic{display:inline-flex;color:var(--amber-soft);}
.form-note{font-size:.78rem;color:var(--ink-3);margin-top:12px;line-height:1.55;}

/* --- Footer ------------------------------------------------------------- */
footer{background:var(--night);color:#9fb0c1;padding:56px 0 26px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px;margin-bottom:38px;}
.foot-brand .fb-name{font-family:var(--font-head);font-weight:800;color:#fff;font-size:1.08rem;margin-bottom:10px;}
.foot-brand p{font-size:.89rem;max-width:34em;}
footer h3{font-family:var(--font-head);color:#fff;font-size:.86rem;font-weight:700;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase;}
footer ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px;}
footer a{text-decoration:none;font-size:.89rem;transition:color .15s;}
footer a:hover{color:var(--amber);}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.09);padding-top:20px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.82rem;
}
.foot-legal{display:flex;gap:10px;}

/* --- Schwebende Aktionen ------------------------------------------------ */
/* Feste Leiste am unteren Rand – nur auf dem Handy, immer sichtbar. */
.mobile-bar{display:none;}
@media (max-width:900px){
  .mobile-bar{
    display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1px;
    position:fixed;left:0;right:0;bottom:0;top:auto;z-index:80;
    background:rgba(255,255,255,.1);
    padding-bottom:env(safe-area-inset-bottom,0px);
    box-shadow:0 -8px 24px rgba(11,26,43,.3);
  }
  .mb{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    padding:10px 6px 11px;text-decoration:none;font-size:.73rem;font-weight:700;
    letter-spacing:.01em;min-height:58px;
  }
  .mb-book{background:var(--amber);color:var(--night);}
  .mb-call{background:var(--night);color:#fff;}
  .mb-wa{background:#0f7a3d;color:#fff;}
  .mb:focus-visible{outline:2px solid #fff;outline-offset:-3px;}
  /* Platz schaffen, damit die Leiste nichts verdeckt */
  body{padding-bottom:64px;}
}
.fab-wrap{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:70;display:flex;flex-direction:column;gap:10px;transition:opacity .2s ease,transform .2s ease;}
/* Im Anfrageformular stören die Knöpfe – dort liegt der WhatsApp-Knopf ohnehin darunter. */
.fab-wrap.hidden{opacity:0;transform:translateY(12px) scale(.9);pointer-events:none;}
.fab{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  box-shadow:0 8px 24px rgba(11,26,43,.3);text-decoration:none;font-size:1.3rem;
  transition:transform .14s;
}
.fab:hover{transform:scale(1.07);}
.fab-call{background:var(--amber);color:var(--night);}
.fab-book{background:var(--night);color:var(--amber);border:1.5px solid var(--amber);}
/* Auf dem Handy übernimmt die feste Leiste unten – dann keine schwebenden Knöpfe. */
@media (max-width:900px){
  .fab-wrap{display:none;}
}
.fab-wa{background:#25D366;color:#fff;}

/* --- Rechtstexte -------------------------------------------------------- */
.legal{padding:60px 0 80px;}
.legal-inner{max-width:780px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:44px 42px;box-shadow:var(--shadow-sm);}
.legal-inner h1{
  font-size:clamp(1.45rem,5.4vw,2rem);font-weight:800;color:var(--night);margin-bottom:6px;
  overflow-wrap:break-word;hyphens:auto;
}
.legal-date{font-size:.84rem;color:var(--ink-3);margin-bottom:28px;}
.legal-inner h2{font-size:1.18rem;font-weight:700;color:var(--night);margin:34px 0 11px;}
.legal-inner p,.legal-inner li{font-size:.94rem;color:var(--ink-2);overflow-wrap:anywhere;}
.legal-inner a{overflow-wrap:anywhere;}
.legal-inner p{margin-bottom:12px;}
.legal-inner ul{padding-left:20px;margin:0 0 14px;}
.legal-inner li{margin-bottom:7px;}
.legal-inner a{color:var(--amber-text);}
.legal-back{display:inline-block;font-size:.88rem;color:var(--ink-2);text-decoration:none;margin-bottom:22px;}
.legal-back:hover{color:var(--amber-text);}
.note-box{
  background:#fff8e8;border:1px solid #f0d9a4;border-left:4px solid var(--amber);
  border-radius:0 10px 10px 0;padding:15px 18px;margin-bottom:26px;font-size:.89rem;color:#6b5420;
}

/* --- Reveal -------------------------------------------------------------
   Inhalte sind IMMER sichtbar. Die Bewegung ist reine Zugabe – so kann
   nichts unsichtbar bleiben, wenn JavaScript ausfällt oder ein Crawler
   die Seite nicht scrollt.                                               */
.reveal{opacity:1;}
.reveal.in{animation:rise .5s ease-out both;}
@keyframes rise{from{transform:translateY(14px);}to{transform:none;}}
@media (prefers-reduced-motion:reduce){
  .reveal.in{animation:none;}
  html{scroll-behavior:auto;}
}

/* --- Responsive --------------------------------------------------------- */
/* Zwischen Tablet und Desktop ist der Platz im Kopf knapp:
   Nummer ausblenden, der Anruf-Knopf selbst bleibt. */
@media (max-width:1060px){
  .call-pill span{display:none;}
}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:38px;}
  .area-wrap{grid-template-columns:1fr;gap:32px;}
  .booking-card{grid-template-columns:1fr;}
  .services{grid-template-columns:repeat(2,1fr);}
  .airports{grid-template-columns:repeat(3,1fr);}
  .trust-grid{grid-template-columns:repeat(2,1fr);}
  .trust-item:nth-child(2){border-right:none;}
  .trust-item:nth-child(1),.trust-item:nth-child(2){border-bottom:1px solid rgba(255,255,255,.08);}
  .foot-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:900px){
  nav{
    position:absolute;top:100%;left:0;right:0;background:var(--night);
    flex-direction:column;gap:0;padding:8px 22px 18px;display:none;
  }
  header.open nav{display:flex;}
  nav a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);}
  .burger{display:block;margin-left:auto;}
  .head-actions{margin-left:0;}
  .call-pill span{display:none;}
  .steps{grid-template-columns:1fr;}
  .services{grid-template-columns:1fr;}
  .airports{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:1fr;}
  section{padding:62px 0;}
  form,.booking-side{padding:30px 24px;}
  .legal-inner{padding:30px 24px;}
  .foot-grid{grid-template-columns:1fr;gap:28px;}
}
@media (max-width:480px){
  .f-row{grid-template-columns:1fr;}
  .hero{padding:56px 0 64px;}
  /* Kopfzeile auf schmalen Geräten: nichts darf seitlich überstehen */
  .head-inner{gap:10px;}
  .brand{min-width:0;}
  .brand-name{font-size:.84rem;}
  .brand-sub{display:none;}
  .head-actions{gap:7px;}
  .lang{padding:2px;}
  .lang button{padding:5px 8px;font-size:.67rem;}
  .call-pill{padding:9px 11px;}
  .burger{padding:4px 2px;}
}
