:root{--yellow:#ffd400;--yellow2:#f6c900;--black:#070707;--ink:#111;--muted:#6f6f76;--line:rgba(0,0,0,.10);--card:#fff;--soft:#f5f5f7;--radius:28px;--shadow:0 24px 70px rgba(0,0,0,.14);--wrap:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,#f6f6f7 60%,#fff 100%);-webkit-font-smoothing:antialiased}.wrap{width:min(var(--wrap),calc(100% - 32px));margin-inline:auto}.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;z-index:99;background:#fff;padding:10px;border-radius:10px}.site-header{position:sticky;top:0;z-index:50;background:rgba(20,20,20,.92);backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid rgba(255,255,255,.08)}.nav-shell{height:84px;display:flex;align-items:center;gap:28px}.brand-lockup{display:flex;align-items:center;gap:12px;color:var(--yellow);text-decoration:none;font-weight:900;letter-spacing:.16em;line-height:.9}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--yellow);color:#111;letter-spacing:0}.main-nav{display:flex;gap:26px;margin-left:auto}.main-nav a{color:#eee;text-decoration:none;font-size:15px;opacity:.88}.main-nav a:hover{opacity:1;color:#fff}.call-pill,.primary-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--yellow);color:#000;text-decoration:none;font-weight:850;padding:14px 24px;box-shadow:0 10px 28px rgba(255,212,0,.22)}.hero-section{padding:26px 0 18px}.hero-card{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;overflow:hidden;border-radius:34px;background:radial-gradient(circle at 70% 10%,rgba(255,212,0,.13),transparent 28%),linear-gradient(135deg,#090909,#252525);color:#fff;box-shadow:var(--shadow);padding:38px}.eyebrow,.mini-label{margin:0 0 12px;color:var(--yellow);font-size:13px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.hero-copy h1{margin:0;font-size:clamp(38px,5.6vw,76px);line-height:.96;letter-spacing:-.055em;font-weight:350}.lead{font-size:clamp(19px,2.4vw,28px);line-height:1.18;margin:24px 0;color:#f2f2f2;max-width:760px;font-weight:720}.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.secondary-cta{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);color:#fff;text-decoration:none;font-weight:800;padding:14px 24px}.trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;color:#ddd;font-size:14px}.trust-row span{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);border-radius:999px;padding:8px 11px}.hero-visual{margin:0;position:relative;min-height:430px;border-radius:28px;overflow:hidden;background:#000}.hero-visual img{width:100%;height:100%;min-height:430px;object-fit:cover;display:block;filter:saturate(.94) brightness(.78)}.hero-visual figcaption{position:absolute;left:22px;right:22px;bottom:22px;background:rgba(0,0,0,.66);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(16px);border-radius:22px;color:#fff;padding:18px}.booking-section{padding:28px 0}.booking-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(310px,.85fr);gap:22px;align-items:start}.assistant-card,.summary-card{background:rgba(255,255,255,.86);backdrop-filter:blur(24px);border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);box-shadow:0 18px 55px rgba(0,0,0,.10)}.assistant-card{overflow:hidden}.assistant-top{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#111;color:#fff;padding:22px 24px;border-bottom:1px solid rgba(255,255,255,.10)}.assistant-top h2{margin:0;font-size:28px;letter-spacing:-.04em}.assistant-top .mini-label{margin:0 0 4px}.stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;list-style:none;padding:14px 16px;margin:0;background:#191919;border-bottom:1px solid rgba(255,255,255,.1)}.stepper li{font-size:13px;text-align:center;border-radius:999px;padding:9px 8px;color:#bdbdbd;background:rgba(255,255,255,.06);font-weight:800}.stepper li.active{background:var(--yellow);color:#000}.messages{height:430px;overflow:auto;padding:22px;background:linear-gradient(180deg,#fafafa,#f4f4f5)}.msg{max-width:82%;margin:0 0 12px;padding:13px 15px;border-radius:18px;font-size:15.5px;line-height:1.43;box-shadow:0 8px 22px rgba(0,0,0,.06);white-space:pre-wrap}.msg strong{display:block;margin-bottom:3px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:.7}.msg.bot{background:#fff;border:1px solid rgba(0,0,0,.07);border-top-left-radius:6px}.msg.user{margin-left:auto;background:#111;color:#fff;border-top-right-radius:6px}.msg.price-detected{border:2px solid rgba(255,212,0,.8)}.price-agreement{margin:0;padding:14px 18px;background:#fff7c9;border-top:1px solid rgba(0,0,0,.08);font-size:14px}.price-agreement[hidden]{display:none!important}.price-agreement label{display:flex;gap:10px;align-items:flex-start;font-weight:750}.price-agreement input{margin-top:4px;accent-color:#111}.price-agreement small{display:block;margin:6px 0 0 27px;color:#5f5700}.quick-row{display:grid;grid-template-columns:1fr 1fr .75fr;gap:10px;padding:14px 16px;background:#111}.quick-btn{border:0;border-radius:16px;background:var(--yellow);padding:15px 12px;font-weight:900;font-size:15px;cursor:pointer}.quick-btn.muted{background:#d9bd00}.input-dock{display:flex;gap:0;border-top:1px solid rgba(0,0,0,.08);background:#fff}.input-dock input{flex:1;border:0;font-size:17px;padding:19px 18px;min-width:0;outline:none}.input-dock button{border:0;font-weight:900;cursor:pointer}.icon-btn{width:58px;background:#fff;font-size:20px;border-right:1px solid rgba(0,0,0,.06)!important}.icon-btn.active{background:#fff0a3}#send{min-width:122px;background:var(--yellow);font-size:16px}.summary-panel{display:grid;gap:16px;position:sticky;top:104px}.summary-card{padding:22px}.summary-card h3{font-size:25px;line-height:1.05;letter-spacing:-.04em;margin:0 0 10px}.summary-card p{color:var(--muted);margin:0 0 16px}.route-lines{display:grid;gap:10px}.route-lines div{display:flex;justify-content:space-between;gap:14px;padding:12px;border-radius:16px;background:var(--soft)}.route-lines span{color:var(--muted)}.route-lines b{text-align:right}.benefits{padding-left:20px;margin:10px 0 0;color:#333}.benefits li{margin:8px 0}.whatsapp-card{display:block;text-decoration:none;color:#111;background:var(--yellow);border-radius:22px;padding:18px 20px;font-weight:950;box-shadow:0 14px 38px rgba(255,212,0,.20)}.seo-strip{margin:30px auto 60px;padding:28px;border-radius:28px;background:#fff;border:1px solid var(--line)}.seo-strip h2{margin:0 0 8px;letter-spacing:-.04em}.seo-strip p{margin:0;color:var(--muted)}.site-footer{background:#070707;color:#fff;text-align:center;padding:32px 0}.footer-pills{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.footer-pills a{color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:10px 16px}#langbar{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.flag-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);padding:0;cursor:pointer;overflow:hidden;display:grid;place-items:center}.flag-btn.active{outline:2px solid var(--yellow)}.flag-btn img{width:22px;height:22px;border-radius:50%;object-fit:cover}@media(max-width:900px){.nav-shell{height:auto;padding:14px 0}.main-nav{display:none}.hero-card,.booking-grid{grid-template-columns:1fr}.hero-card{padding:24px;border-radius:26px}.hero-visual{min-height:280px}.hero-visual img{min-height:280px}.summary-panel{position:static}.messages{height:380px}.quick-row{grid-template-columns:1fr}.stepper{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.wrap{width:min(100% - 20px,var(--wrap))}.call-pill{display:none}.hero-copy h1{font-size:42px}.assistant-top{align-items:flex-start;flex-direction:column}.messages{height:360px;padding:14px}.msg{max-width:94%;font-size:15px}.input-dock{position:sticky;bottom:0}.icon-btn{display:none}#send{min-width:96px}.input-dock input{font-size:16px;padding:16px 12px}}

/* Breadcrumb: SEO navigation, bewusst dezent gehalten */
.breadcrumb {
  width: min(var(--wrap), calc(100% - 32px));
  margin: 18px auto 6px;
  padding: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #767676;
}

.breadcrumb a {
  color: #6f6f76;
  text-decoration: none;
  transition: color .2s ease;
}

.breadcrumb a:hover {
  color: #111;
}

.breadcrumb .sep {
  margin: 0 7px;
  color: #a5a5aa;
}

.breadcrumb span:last-child {
  color: #3a3a3f;
  font-weight: 700;
}

/* Mini links: alte dynamische Chatbot-Links im neuen Apple/Taxi-Stil */
.footer-mini {
  margin: 34px auto 18px;
  padding: 0 16px;
  text-align: center;
}

.footer-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.footer-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background: rgba(255,255,255,.72);
  color: #525258;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  box-shadow: 0 8px 24px rgba(0,0,0,.05);
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}

.footer-link:hover {
  transform: translateY(-1px);
  color: #111;
  background: #fff8c8;
  border-color: rgba(255,212,0,.55);
}

.footer-link:focus-visible,
.breadcrumb a:focus-visible {
  outline: 3px solid rgba(255,212,0,.65);
  outline-offset: 3px;
}

@media(max-width:560px){
  .breadcrumb {
    width: min(100% - 20px, var(--wrap));
    margin-top: 14px;
    font-size: 12.5px;
  }

  .footer-mini {
    margin-top: 24px;
    padding: 0 10px;
  }

  .footer-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .footer-link {
    width: 100%;
    min-height: 42px;
  }
}



/* Tarif-PDF Link (dynamisch pro Stadt) */
.tarif-box {
  text-align: center;
  margin: 8px auto 20px;
}

.tarif-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12.5px;
  font-weight: 700;
  color: #6f6f76;
  text-decoration: none;
  background: rgba(255,255,255,.55);
  border: 1px solid rgba(0,0,0,.06);
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  transition: all .18s ease;
}

.tarif-link:hover {
  color: #111;
  background: rgba(255,212,0,.18);
  border-color: rgba(255,212,0,.5);
  transform: translateY(-1px);
}

@media(max-width:560px){
  .tarif-link {
    width: 100%;
    min-height: 40px;
  }
}

/* Smart-Time UI: Datum/Uhrzeit Vorschläge + Kalender */
.smart-time-panel,
.time-suggestions {
  display: none;
  gap: 10px;
  padding: 12px 16px;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,.08);
}

.smart-time-panel.is-visible,
.time-suggestions.is-visible {
  display: grid;
}

.time-suggestions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.time-chip,
.smart-time-chip {
  border: 0;
  border-radius: 999px;
  min-height: 42px;
  padding: 10px 12px;
  background: var(--soft);
  color: #111;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.06);
  transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

.time-chip:hover,
.smart-time-chip:hover {
  transform: translateY(-1px);
  background: #fff4aa;
  box-shadow: inset 0 0 0 1px rgba(255,212,0,.7), 0 8px 18px rgba(0,0,0,.08);
}

.time-chip:focus-visible,
.smart-time-chip:focus-visible {
  outline: 3px solid rgba(255,212,0,.75);
  outline-offset: 3px;
}

.time-chip.primary,
.smart-time-chip.primary {
  background: var(--yellow);
  color: #000;
}

.smart-time-panel {
  grid-template-columns: 1fr auto;
  align-items: center;
}

.smart-time-panel label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #6f6f76;
}

.smart-time-panel input[type="datetime-local"],
.smart-time-panel input[type="date"],
.smart-time-panel input[type="time"] {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
  padding: 10px 12px;
  font: inherit;
  font-weight: 750;
  background: #f8f8f9;
  color: #111;
  outline: none;
}

.smart-time-panel input:focus {
  border-color: rgba(255,212,0,.85);
  box-shadow: 0 0 0 4px rgba(255,212,0,.22);
  background: #fff;
}

.smart-time-apply {
  min-height: 46px;
  border: 0;
  border-radius: 14px;
  padding: 10px 16px;
  background: var(--yellow);
  color: #000;
  font-weight: 950;
  cursor: pointer;
}

.smart-time-hint {
  grid-column: 1 / -1;
  margin: -2px 0 0;
  color: #6f6f76;
  font-size: 13px;
  line-height: 1.35;
}

@media(max-width:900px){
  .time-suggestions {
    grid-template-columns: 1fr 1fr;
    padding: 10px 12px;
  }

  .smart-time-panel {
    grid-template-columns: 1fr;
    padding: 10px 12px;
  }

  .smart-time-apply {
    width: 100%;
  }
}

@media(max-width:560px){
  .time-suggestions {
    grid-template-columns: 1fr;
  }

  .time-chip,
  .smart-time-chip {
    min-height: 44px;
    font-size: 14.5px;
  }
}

/* FINAL MOBILE MINIMAL CHAT MODE
   Desktop bleibt unverändert. Auf Smartphone wird nur der Chat fokussiert. */
@media (max-width:900px){

  html,
  body{
    height:100%;
    overflow:hidden!important;
  }

  body{
    background:#f5f5f7!important;
  }

  .hero-section,
  .hero-card,
  .hero-visual,
  .summary-panel,
  .summary-card,
  .seo-strip,
  .breadcrumb,
  .footer-mini,
  .tarif-box,
  .site-footer,
  .stepper{
    display:none!important;
  }

  .site-header{
    position:relative!important;
    top:auto!important;
    z-index:20!important;
  }

  .nav-shell{
    height:72px!important;
    min-height:72px!important;
    padding:10px 14px!important;
    gap:10px!important;
  }

  .main-nav,
  .call-pill{
    display:none!important;
  }

  .brand-lockup{
    font-size:14px!important;
    letter-spacing:.12em!important;
  }

  .brand-mark{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    flex:0 0 34px!important;
  }

  .booking-section{
    padding:0!important;
    margin:0!important;
  }

  .wrap{
    width:100%!important;
    max-width:100%!important;
    padding:0!important;
    margin:0!important;
  }

  .booking-grid{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }

  .assistant-card{
    width:100%!important;
    max-width:100%!important;
    height:calc(100vh - 72px)!important;
    height:calc(100svh - 72px)!important;
    max-height:calc(100vh - 72px)!important;
    max-height:calc(100svh - 72px)!important;
    border-radius:0!important;
    border:0!important;
    box-shadow:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  .assistant-top{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    flex-direction:row!important;
    gap:10px!important;
    padding:12px 14px!important;
  }

  .assistant-top h2{
    font-size:20px!important;
    line-height:1.05!important;
    letter-spacing:-.04em!important;
  }

  .assistant-top .mini-label{
    font-size:10.5px!important;
    margin-bottom:3px!important;
  }

  #langbar{
    gap:5px!important;
    justify-content:flex-end!important;
    max-width:150px!important;
  }

  .flag-btn{
    width:28px!important;
    height:28px!important;
  }

  .flag-btn img{
    width:19px!important;
    height:19px!important;
  }

  .messages{
    flex:1 1 auto!important;
    height:auto!important;
    min-height:0!important;
    padding:14px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
  }

  .msg{
    max-width:94%!important;
    font-size:15px!important;
    line-height:1.42!important;
    padding:12px 14px!important;
  }

  .price-agreement{
    flex:0 0 auto!important;
    padding:10px 12px!important;
    font-size:13px!important;
  }

  .smart-time-wrapper{
    flex:0 0 auto!important;
  }

  .smart-time-panel,
  .time-suggestions{
    flex:0 0 auto!important;
    padding:8px 10px!important;
  }

  .time-suggestions{
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .time-chip,
  .smart-time-chip{
    min-height:38px!important;
    font-size:13px!important;
    padding:8px 10px!important;
  }

  .smart-time-panel{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .smart-time-panel input[type="datetime-local"],
  .smart-time-panel input[type="date"],
  .smart-time-panel input[type="time"]{
    min-height:40px!important;
    font-size:14px!important;
  }

  .smart-time-apply{
    min-height:40px!important;
    width:100%!important;
  }

  .smart-time-hint{
    display:none!important;
  }

  .quick-row{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px 12px!important;
  }

  #qBook,
  #qPrices{
    display:none!important;
  }

  #qFaq{
    display:block!important;
    min-height:42px!important;
    border-radius:14px!important;
    font-size:15px!important;
  }

  .input-dock{
    flex:0 0 auto!important;
    position:relative!important;
    bottom:auto!important;
    z-index:10!important;
  }

  .input-dock input{
    font-size:16px!important;
    padding:15px 12px!important;
  }

  .icon-btn{
    display:none!important;
  }

  #send{
    min-width:88px!important;
    font-size:15px!important;
  }
}

@media (max-width:380px){
  .assistant-top h2{
    font-size:18px!important;
  }

  #langbar{
    max-width:125px!important;
  }

  .flag-btn{
    width:26px!important;
    height:26px!important;
  }
}
