/* ================================================================
   KFF Krankenfahrten — Sixt-Identical Design System
   Color: Radical Red #FF355E | Font: Source Sans 3
   ================================================================ */

:root {
  /* Radical Red palette */
  --sixt-red:        #FF355E;
  --sixt-red-hover:  #E91E4F;
  --sixt-red-light:  rgba(255,53,94,0.08);

  /* Sixt blacks & greys */
  --black:           #000000;
  --near-black:      #111111;
  --gray-dark:       #333333;
  --gray-mid:        #666666;
  --gray-light:      #999999;
  --gray-border:     #E0E0E0;
  --gray-bg:         #F5F5F5;
  --white:           #FFFFFF;

  /* Typography */
  --font:            'Source Sans 3', Arial, 'Helvetica Neue', sans-serif;

  /* Spacing */
  --header-h:        72px;
  --max-w:           1280px;

  /* Timing */
  --ease-out:        cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out:     cubic-bezier(0.45, 0, 0.55, 1);
  --spring:          cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ─── RESET ──────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: var(--font); color: var(--near-black); background: var(--white); line-height: 1.5; overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
button { font-family: var(--font); cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; }
input, select, textarea { font-family: var(--font); }

/* ─── PAGE LOADER ────────────────────────────────────────────── */
#page-loader {
  position: fixed; inset: 0; z-index: 9999;
  background: var(--white);
  display: flex; align-items: center; justify-content: center;
  transition: opacity 0.5s var(--ease-out), visibility 0.5s;
}
#page-loader.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-bar {
  width: 200px; height: 4px;
  background: var(--gray-border);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}
.loader-bar::after {
  content: '';
  position: absolute; top: 0; left: -60%;
  width: 60%; height: 100%;
  background: var(--sixt-red);
  border-radius: 2px;
  animation: loaderSlide 0.8s var(--ease-in-out) forwards;
}
@keyframes loaderSlide { to { left: 100%; } }

/* ─── TOP BAR ───────────────────────────────────────────────── */
.topbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1001;
  background: var(--near-black);
  color: var(--white);
  height: 36px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}
.topbar-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.topbar-left {
  display: flex; align-items: center; gap: 12px;
}
.tb-item {
  display: inline-flex; align-items: center; gap: 5px;
  color: rgba(255,255,255,0.85);
}
.tb-item svg { color: var(--sixt-red); }
.tb-sep { color: var(--sixt-red); opacity: 0.6; }
.topbar-right { display: flex; align-items: center; gap: 16px; }

.lang-switch {
  display: flex; align-items: center; gap: 4px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.15);
  border-radius: 3px;
  padding: 2px 4px;
  transition: border-color 0.2s, background 0.2s;
}
.lang-switch:hover { border-color: var(--sixt-red); }
.lang-btn {
  font-family: var(--font);
  font-size: 11px; font-weight: 700;
  color: rgba(255,255,255,0.6);
  padding: 3px 8px;
  border-radius: 2px;
  letter-spacing: 0.06em;
  transition: color 0.2s, background 0.2s;
  cursor: pointer;
}
.lang-btn:hover { color: var(--white); }
.lang-btn.active {
  color: var(--white);
  background: var(--sixt-red);
}
.lang-divider { color: rgba(255,255,255,0.25); font-size: 11px; }

/* ─── HEADER ─────────────────────────────────────────────────── */
.site-header {
  position: fixed; top: 36px; left: 0; right: 0; z-index: 1000;
  background: var(--white);
  border-bottom: 3px solid var(--sixt-red);
  height: var(--header-h);
  transition: box-shadow 0.3s var(--ease-out), height 0.3s var(--ease-out), top 0.3s var(--ease-out);
}
.site-header.scrolled {
  box-shadow: 0 4px 24px rgba(0,0,0,0.14);
  height: 60px;
}
.site-header.scrolled .brand-logo { height: 34px; }

.header-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
  height: 100%;
  display: flex;
  align-items: center;
  gap: 0;
}

/* Logo */
.brand { flex-shrink: 0; margin-right: 40px; }
.brand-logo {
  height: 40px; width: auto;
  transition: height 0.3s var(--ease-out);
}

/* Nav links */
.main-nav { display: flex; align-items: stretch; flex: 1; height: 100%; }
.nav-link {
  display: flex; align-items: center;
  padding: 0 16px;
  font-size: 14px; font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--near-black);
  position: relative;
  white-space: nowrap;
  transition: color 0.2s;
}
.nav-link::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--sixt-red);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.25s var(--ease-out);
}
.nav-link:hover { color: var(--sixt-red); }
.nav-link:hover::after { transform: scaleX(1); }
.nav-link.active { color: var(--sixt-red); }
.nav-link.active::after { transform: scaleX(1); }

/* Header CTA buttons */
.header-ctas { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.btn-outline-header {
  display: flex; align-items: center; gap: 7px;
  padding: 9px 18px;
  font-size: 14px; font-weight: 700;
  color: var(--near-black);
  border: 2px solid var(--gray-border);
  border-radius: 2px;
  transition: border-color 0.2s, color 0.2s;
  white-space: nowrap;
}
.btn-outline-header:hover { border-color: var(--sixt-red); color: var(--sixt-red); }
.btn-outline-header svg { flex-shrink: 0; }

.btn-cta-header {
  display: flex; align-items: center;
  padding: 10px 22px;
  font-size: 14px; font-weight: 700; letter-spacing: 0.03em;
  text-transform: uppercase;
  background: var(--sixt-red);
  color: var(--white);
  border-radius: 2px;
  white-space: nowrap;
  transition: background 0.2s, transform 0.15s var(--spring);
}
.btn-cta-header:hover { background: var(--sixt-red-hover); transform: translateY(-1px); }
.btn-cta-header:active { transform: translateY(0); }

/* Hamburger */
.ham-btn {
  display: none; flex-direction: column; justify-content: center;
  gap: 5px; padding: 10px; margin-left: 8px;
}
.ham-btn span {
  display: block; width: 22px; height: 2px;
  background: var(--near-black);
  transition: transform 0.3s var(--ease-out), opacity 0.3s;
}
.ham-btn.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ham-btn.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.ham-btn.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile nav drawer */
.mobile-drawer {
  position: fixed;
  top: calc(var(--header-h) + 36px); left: 0; right: 0;
  background: var(--white);
  border-top: 1px solid var(--gray-border);
  z-index: 999;
  max-height: 0; overflow: hidden;
  transition: max-height 0.4s var(--ease-out), box-shadow 0.3s;
}
.mobile-drawer.open { max-height: 600px; box-shadow: 0 8px 32px rgba(0,0,0,0.15); }
.mobile-drawer a {
  display: block; padding: 16px 32px;
  font-size: 16px; font-weight: 600;
  border-bottom: 1px solid var(--gray-bg);
  color: var(--near-black);
  transition: background 0.15s, color 0.15s;
}
.mobile-drawer a:hover { background: var(--gray-bg); color: var(--sixt-red); }
.mobile-drawer .drawer-cta {
  background: var(--sixt-red); color: var(--white);
  font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  text-align: center; border: none;
  transition: background 0.2s;
}
.mobile-drawer .drawer-cta:hover { background: var(--sixt-red-hover); color: var(--white); }
.drawer-phones {
  display: flex; flex-direction: column;
  padding: 12px 32px;
  background: var(--gray-bg);
  border-top: 1px solid var(--gray-border);
}
.drawer-phones a {
  padding: 8px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--sixt-red) !important;
  border-bottom: none !important;
}
.drawer-phones a:hover { background: transparent !important; }

/* ─── CITIES BAR ─────────────────────────────────────────────── */
.cities-bar {
  background: var(--white);
  border-bottom: 1px solid var(--gray-border);
  padding: 16px 0;
}
.cities-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
  display: flex; align-items: center; gap: 24px;
  flex-wrap: wrap;
}
.cities-label {
  font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--sixt-red);
  flex-shrink: 0;
  display: flex; align-items: center; gap: 8px;
}
.cities-label::before {
  content: ''; width: 18px; height: 2px;
  background: var(--sixt-red); display: block;
}
.cities-list {
  display: flex; gap: 8px; flex-wrap: wrap; flex: 1;
}
.city-chip {
  font-size: 13px; font-weight: 600;
  color: var(--gray-dark);
  padding: 6px 14px;
  background: var(--gray-bg);
  border: 1px solid var(--gray-border);
  border-radius: 18px;
  transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.15s var(--spring);
  cursor: default;
}
.city-chip:hover {
  background: var(--sixt-red);
  color: var(--white);
  border-color: var(--sixt-red);
  transform: translateY(-2px);
}

/* ─── TEAM SECTION (NO IMAGE) ────────────────────────────────── */
.team-section-noimg { background: var(--white); text-align: center; }
.team-section-noimg .section-header { text-align: center; max-width: 720px; margin: 0 auto 40px; }
.team-section-noimg .s-eyebrow { justify-content: center; }
.team-section-noimg .s-eyebrow::before { display: none; }
.team-section-noimg .s-eyebrow {
  display: inline-flex;
  margin-left: auto; margin-right: auto;
}
.team-section-noimg .s-title { margin-bottom: 16px; }
.team-stats-centered {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin: 0 auto 48px;
  max-width: 880px;
}
.ts-box {
  text-align: center;
  padding: 28px 16px;
  background: var(--gray-bg);
  border-radius: 4px;
  transition: background 0.25s, transform 0.25s;
}
.ts-box:hover {
  background: var(--sixt-red-light);
  transform: translateY(-3px);
}
.ts-box strong {
  display: block; font-size: 42px; font-weight: 900;
  color: var(--sixt-red); line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}
.ts-box span {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--gray-mid);
}

.team-quote {
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
  padding: 32px 24px;
  border-top: 3px solid var(--sixt-red);
  border-bottom: 1px solid var(--gray-border);
}
.team-quote p {
  font-size: 22px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.5;
  color: var(--near-black);
  margin-bottom: 14px;
  letter-spacing: -0.01em;
}
.team-quote-cap {
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--sixt-red);
}
.team-cta-row {
  display: flex; justify-content: center; gap: 14px;
  flex-wrap: wrap;
}

/* ─── HERO ───────────────────────────────────────────────────── */
.hero {
  position: relative;
  min-height: calc(100vh - 36px);
  margin-top: calc(var(--header-h) + 36px);
  display: flex; flex-direction: column; justify-content: flex-end;
  overflow: hidden;
}
.hero-bg {
  position: absolute; inset: 0;
  overflow: hidden;
}
.hero-img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: center 25%;
  transform: scale(1.08);
  animation: heroPan 12s var(--ease-out) forwards;
  will-change: transform;
}
@keyframes heroPan {
  to { transform: scale(1.0); }
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    160deg,
    rgba(0,0,0,0.75) 0%,
    rgba(0,0,0,0.55) 40%,
    rgba(0,0,0,0.15) 100%
  );
}

/* Hero content */
.hero-content {
  position: relative; z-index: 2;
  max-width: var(--max-w);
  margin: 0 auto; padding: 0 32px;
  width: 100%;
  padding-bottom: 0;
  /* push text block up above booking box */
  display: flex; flex-direction: column;
  justify-content: flex-end;
  min-height: calc(100vh - var(--header-h));
  padding-top: 80px;
}

.hero-text {
  max-width: 640px;
  padding-bottom: 52px;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--sixt-red);
  margin-bottom: 18px;
  opacity: 0; transform: translateY(20px);
  animation: fadeUp 0.7s 0.9s var(--ease-out) forwards;
}
.hero-eyebrow::before {
  content: '';
  width: 28px; height: 3px;
  background: var(--sixt-red);
  display: block;
}
.hero-title {
  font-size: clamp(40px, 5.5vw, 72px);
  font-weight: 900; line-height: 1.05; letter-spacing: -0.025em;
  color: var(--white);
  margin-bottom: 20px;
  opacity: 0; transform: translateY(28px);
  animation: fadeUp 0.8s 1.1s var(--ease-out) forwards;
}
.hero-title em { font-style: normal; color: var(--sixt-red); }
.hero-subtitle {
  font-size: clamp(16px, 2vw, 20px);
  font-weight: 300; letter-spacing: 0.04em;
  color: rgba(255,255,255,0.85);
  margin-bottom: 32px;
  opacity: 0; transform: translateY(20px);
  animation: fadeUp 0.7s 1.35s var(--ease-out) forwards;
}
.hero-pills {
  display: flex; flex-wrap: wrap; gap: 10px;
  opacity: 0; transform: translateY(18px);
  animation: fadeUp 0.7s 1.55s var(--ease-out) forwards;
}
.hero-pill {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.28);
  border-radius: 20px;
  font-size: 13px; font-weight: 600;
  color: var(--white);
  backdrop-filter: blur(4px);
}
.hero-pill::before { content: '✓'; color: var(--sixt-red); font-weight: 900; }

/* ─── BOOKING FORM ───────────────────────────────────────────── */
/* Sixt-style: white panel that sits at the very bottom of the hero */
.booking-panel {
  position: relative; z-index: 3;
  background: var(--white);
  box-shadow: 0 -2px 0 0 var(--sixt-red);
  opacity: 0; transform: translateY(30px);
  animation: fadeUp 0.8s 1.7s var(--ease-out) forwards;
}
.booking-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
}

/* Tabs */
.booking-tabs {
  display: flex;
  border-bottom: 2px solid var(--gray-border);
}
.b-tab {
  padding: 16px 24px;
  font-size: 14px; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
  color: var(--gray-mid);
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
  transition: color 0.2s, border-color 0.2s;
  position: relative;
}
.b-tab::after {
  content: '';
  position: absolute; bottom: -2px; left: 0; right: 0;
  height: 3px; background: var(--sixt-red);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.25s var(--ease-out);
}
.b-tab.active { color: var(--sixt-red); }
.b-tab.active::after { transform: scaleX(1); }
.b-tab:hover { color: var(--sixt-red); }

/* Form row */
.booking-form { padding: 20px 0 16px; }
.bf-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 160px;
  gap: 12px;
  align-items: end;
}
.bf-field { display: flex; flex-direction: column; gap: 5px; }
.bf-label {
  font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gray-light);
}
.bf-input {
  font-size: 15px; font-weight: 600; color: var(--near-black);
  padding: 11px 13px;
  border: 2px solid var(--gray-border);
  border-radius: 2px;
  outline: none;
  background: var(--white);
  transition: border-color 0.2s, box-shadow 0.2s;
  width: 100%;
}
.bf-input:focus {
  border-color: var(--sixt-red);
  box-shadow: 0 0 0 3px rgba(255,53,94,0.1);
}
.bf-input::placeholder { color: var(--gray-light); font-weight: 400; }
.bf-submit {
  background: var(--sixt-red);
  color: var(--white);
  font-size: 15px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  padding: 13px 20px;
  border-radius: 2px;
  height: 48px;
  transition: background 0.2s, transform 0.15s var(--spring), box-shadow 0.2s;
}
.bf-submit:hover {
  background: var(--sixt-red-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,53,94,0.35);
}
.bf-submit:active { transform: translateY(0); }

.booking-footer {
  padding: 10px 0 16px;
  font-size: 13px; color: var(--gray-mid); font-weight: 600;
}
.booking-footer a { color: var(--sixt-red); font-weight: 700; }
.booking-footer a:hover { text-decoration: underline; }

/* ─── TRUST BAR ──────────────────────────────────────────────── */
.trust-bar {
  background: var(--sixt-red);
  overflow: hidden;
}
.trust-inner {
  max-width: var(--max-w); margin: 0 auto; padding: 0 32px;
  display: flex; align-items: stretch;
}
.trust-item {
  flex: 1;
  display: flex; flex-direction: column; align-items: center;
  padding: 22px 16px;
  text-align: center;
  color: var(--white);
  position: relative;
  transition: background 0.2s;
}
.trust-item:hover { background: rgba(0,0,0,0.1); }
.trust-item + .trust-item::before {
  content: '';
  position: absolute; left: 0; top: 20%; bottom: 20%;
  width: 1px; background: rgba(255,255,255,0.25);
}
.trust-num {
  font-size: 30px; font-weight: 900; line-height: 1;
  margin-bottom: 5px;
  /* counter animation applied via JS */
}
.trust-label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.85; }

/* ─── SECTION BASE ───────────────────────────────────────────── */
.section { padding: 80px 0; }
.section--gray { background: var(--gray-bg); }
.section--black { background: var(--black); }
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
}

.s-eyebrow {
  font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--sixt-red);
  margin-bottom: 12px;
  display: flex; align-items: center; gap: 10px;
}
.s-eyebrow::before {
  content: ''; width: 24px; height: 3px; background: var(--sixt-red); flex-shrink: 0;
}
.s-title {
  font-size: clamp(28px, 3.5vw, 46px);
  font-weight: 900; letter-spacing: -0.02em; line-height: 1.1;
  color: var(--near-black);
}
.s-title--white { color: var(--white); }
.s-lead {
  font-size: 17px; font-weight: 400; line-height: 1.7;
  color: var(--gray-mid); margin-top: 14px;
}
.s-lead--white { color: rgba(255,255,255,0.72); }
.section-header { margin-bottom: 48px; }

/* ─── SERVICE GRID (Sixt category tiles) ─────────────────────── */
.services-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.svc-card {
  background: var(--white);
  border: 1px solid var(--gray-border);
  display: flex; flex-direction: column;
  cursor: pointer;
  transition: box-shadow 0.3s var(--ease-out), transform 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}
.svc-card::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 3px; background: var(--sixt-red);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.3s var(--ease-out);
  pointer-events: none;
}
.svc-card:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,0.12);
  transform: translateY(-4px);
  border-color: transparent;
}
.svc-card:hover::after { transform: scaleX(1); }
.svc-card:hover .svc-img img { transform: scale(1.06); }

.svc-img {
  height: 200px; overflow: hidden; flex-shrink: 0;
  background: var(--gray-bg);
}
.svc-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.5s var(--ease-out);
  display: block;
}

.svc-body {
  padding: 24px 24px 26px;
  flex: 1;
  display: flex; flex-direction: column;
  min-height: 180px;
}
.svc-body h3 {
  font-size: 18px; font-weight: 700;
  margin: 0 0 10px;
  color: var(--near-black);
  line-height: 1.3;
}
.svc-body p {
  font-size: 14px; color: var(--gray-mid);
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.svc-link {
  display: inline-flex; align-items: center;
  margin-top: 18px;
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--sixt-red);
  transition: letter-spacing 0.2s var(--ease-out);
}
.svc-card:hover .svc-link { letter-spacing: 0.08em; }

/* Red CTA tile — match height of other cards (no image area) */
.svc-card--red {
  background: var(--sixt-red);
  border-color: var(--sixt-red);
}
.svc-card--red::after { display: none; }
.svc-card--red:hover {
  box-shadow: 0 12px 32px rgba(255,53,94,0.4);
  border-color: var(--sixt-red);
}
.svc-card--red .svc-body {
  padding: 32px 28px;
  justify-content: center;
  align-items: flex-start;
  min-height: 380px; /* matches image (200) + body (180) of other cards */
}
.svc-card--red h3 {
  font-size: 24px;
  color: var(--white);
  margin-bottom: 12px;
  line-height: 1.2;
}
.svc-card--red p {
  color: rgba(255,255,255,0.88);
  font-size: 15px;
  margin-bottom: 24px;
  flex: 0 0 auto;
}
.btn-white-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--white); color: var(--sixt-red);
  padding: 12px 22px; border-radius: 2px;
  font-size: 13px; font-weight: 700;
  letter-spacing: 0.04em; text-transform: uppercase;
  transition: background 0.2s, transform 0.15s var(--spring);
}
.svc-card--red:hover .btn-white-pill {
  background: var(--gray-bg);
  transform: translateY(-2px);
}

/* ─── SPLIT SECTIONS ─────────────────────────────────────────── */
.split-section {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: stretch;
  min-height: 520px;
}
.split-img {
  position: relative; overflow: hidden;
}
.split-img img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform 0.8s var(--ease-out);
}
.split-section:hover .split-img img { transform: scale(1.03); }
.split-img-badge {
  position: absolute; bottom: 28px; right: 28px;
  background: var(--sixt-red); color: var(--white);
  padding: 18px 24px; text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25);
}
.split-img-badge strong { display: block; font-size: 36px; font-weight: 900; line-height: 1; }
.split-img-badge span { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.9; }
.split-text {
  padding: 60px 56px;
  display: flex; flex-direction: column; justify-content: center;
}
.split-text--gray { background: var(--gray-bg); }
.split-text--black { background: var(--black); }

.check-list { display: flex; flex-direction: column; gap: 12px; margin: 24px 0 32px; }
.check-list li {
  display: flex; align-items: flex-start; gap: 12px;
  font-size: 15px; font-weight: 600; color: var(--gray-dark);
}
.check-list--white li { color: rgba(255,255,255,0.85); }
.check-list li::before {
  content: '';
  flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px;
  background: var(--sixt-red);
  border-radius: 50%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E");
  background-size: 13px; background-repeat: no-repeat; background-position: center;
}

.btn-primary {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--sixt-red); color: var(--white);
  padding: 13px 28px; border-radius: 2px;
  font-size: 14px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  transition: background 0.2s, transform 0.15s var(--spring), box-shadow 0.2s;
  align-self: flex-start;
}
.btn-primary:hover {
  background: var(--sixt-red-hover);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255,53,94,0.3);
}
.btn-primary:active { transform: translateY(0); }

.btn-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: var(--near-black);
  padding: 12px 26px; border-radius: 2px;
  border: 2px solid var(--gray-border);
  font-size: 14px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase;
  transition: border-color 0.2s, color 0.2s, transform 0.15s var(--spring);
  align-self: flex-start;
}
.btn-secondary:hover { border-color: var(--sixt-red); color: var(--sixt-red); transform: translateY(-1px); }

.btn-secondary--white {
  color: var(--white); border-color: rgba(255,255,255,0.3);
}
.btn-secondary--white:hover { border-color: var(--white); color: var(--white); }

.btn-row { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }

/* ─── STEPS (How it works) ───────────────────────────────────── */
.steps-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
}
.step-card {
  padding: 40px 32px;
  border-right: 1px solid var(--gray-border);
  position: relative;
  transition: background 0.25s;
}
.step-card:last-child { border-right: none; }
.step-card:hover { background: var(--sixt-red-light); }
.step-num {
  font-size: 80px; font-weight: 900; line-height: 1;
  color: var(--gray-border);
  position: absolute; top: 20px; right: 20px;
  letter-spacing: -0.04em;
  transition: color 0.25s;
  user-select: none;
}
.step-card:hover .step-num { color: rgba(255,53,94,0.12); }
.step-icon { font-size: 32px; margin-bottom: 16px; }
.step-card h3 { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.step-card p { font-size: 15px; color: var(--gray-mid); line-height: 1.65; }

/* ─── TEAM STATS ─────────────────────────────────────────────── */
.stat-row {
  display: flex; gap: 40px; margin: 28px 0 36px; flex-wrap: wrap;
}
.stat-box { text-align: left; }
.stat-box strong {
  display: block; font-size: 38px; font-weight: 900; color: var(--sixt-red);
  line-height: 1; letter-spacing: -0.02em;
}
.stat-box span { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--gray-light); }

.phone-rows { display: flex; flex-direction: column; gap: 10px; margin-bottom: 28px; }
.phone-row {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 15px; font-weight: 700; color: var(--near-black);
  padding: 10px 18px; border: 2px solid var(--gray-border);
  border-radius: 2px; align-self: flex-start;
  transition: border-color 0.2s, color 0.2s, transform 0.15s var(--spring);
}
.phone-row:hover { border-color: var(--sixt-red); color: var(--sixt-red); transform: translateX(4px); }
.phone-row svg { color: var(--sixt-red); }

/* ─── TEAM SECTION (NO IMAGE) ───────────────────────────────── */
.team-noimg-section {
  background: var(--gray-bg);
  text-align: center;
}
.team-noimg-inner {
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.team-noimg-inner .s-eyebrow {
  justify-content: center;
}
.team-noimg-inner .s-eyebrow::before { display: none; }
.team-noimg-inner .s-title { margin-bottom: 16px; }
.team-noimg-inner .s-lead { margin-bottom: 36px; }

.team-noimg-stats {
  justify-content: center;
  margin: 0 0 36px;
  gap: 56px;
}
.team-noimg-stats .stat-box { text-align: center; }
.team-noimg-stats .stat-box strong { font-size: 44px; }

.team-noimg-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.team-noimg-phones {
  flex-direction: row;
  gap: 12px;
  margin-bottom: 0;
}
.team-noimg-phones .phone-row { align-self: auto; }
.team-noimg-inner .btn-primary { align-self: center; }

@media (max-width: 700px) {
  .team-noimg-stats { gap: 28px; }
  .team-noimg-stats .stat-box strong { font-size: 32px; }
  .team-noimg-phones { flex-direction: column; }
}

/* ─── CTA BAND ───────────────────────────────────────────────── */
.cta-band {
  background: var(--black);
  padding: 64px 0;
}
.cta-band-inner {
  max-width: var(--max-w); margin: 0 auto; padding: 0 32px;
  display: flex; align-items: center; justify-content: space-between; gap: 40px;
}
.cta-band h2 {
  font-size: clamp(24px, 2.8vw, 40px); font-weight: 900; color: var(--white);
  margin-bottom: 8px;
}
.cta-band p { font-size: 16px; color: rgba(255,255,255,0.65); }
.cta-band-btns { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }

/* ─── FOOTER ─────────────────────────────────────────────────── */
.site-footer { background: #1a1a1a; color: var(--white); }
.footer-main {
  max-width: var(--max-w); margin: 0 auto; padding: 60px 32px 40px;
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1.3fr;
  gap: 40px;
}
.footer-logo { height: 34px; width: auto; margin-bottom: 16px; filter: brightness(0) invert(1); }
.footer-brand p { font-size: 14px; line-height: 1.7; color: rgba(255,255,255,0.55); margin-bottom: 6px; }
.footer-addr { font-size: 13px; color: rgba(255,255,255,0.35); margin-top: 6px; }

.footer-col-title {
  font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em;
  color: var(--sixt-red); margin-bottom: 16px;
}
.footer-col { display: flex; flex-direction: column; gap: 10px; }
.footer-col a { font-size: 14px; color: rgba(255,255,255,0.6); transition: color 0.2s, padding-left 0.2s; }
.footer-col a:hover { color: var(--white); padding-left: 4px; }
.footer-hours { font-size: 13px; color: rgba(255,255,255,0.35); line-height: 1.6; margin-top: 4px; }

.footer-bottom {
  max-width: var(--max-w); margin: 0 auto; padding: 20px 32px;
  border-top: 1px solid rgba(255,255,255,0.07);
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-size: 13px; color: rgba(255,255,255,0.35);
}
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { color: rgba(255,255,255,0.35); transition: color 0.2s; }
.footer-legal a:hover { color: var(--white); }

/* ─── ANIMATION KEYFRAMES ────────────────────────────────────── */
@keyframes fadeUp {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes slideInRight {
  from { opacity: 0; transform: translateX(40px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Scroll-triggered reveal classes — only active when JS has loaded */
/* Without js-loaded, elements are always visible (progressive enhancement) */
body.js-loaded .reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.65s var(--ease-out), transform 0.65s var(--ease-out);
}
body.js-loaded .reveal.visible { opacity: 1; transform: translateY(0); }
body.js-loaded .reveal-left {
  opacity: 0; transform: translateX(-40px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}
body.js-loaded .reveal-left.visible { opacity: 1; transform: translateX(0); }
body.js-loaded .reveal-right {
  opacity: 0; transform: translateX(40px);
  transition: opacity 0.7s var(--ease-out), transform 0.7s var(--ease-out);
}
body.js-loaded .reveal-right.visible { opacity: 1; transform: translateX(0); }

/* Stagger children */
.stagger > *:nth-child(1) { transition-delay: 0ms; }
.stagger > *:nth-child(2) { transition-delay: 80ms; }
.stagger > *:nth-child(3) { transition-delay: 160ms; }
.stagger > *:nth-child(4) { transition-delay: 240ms; }
.stagger > *:nth-child(5) { transition-delay: 320ms; }
.stagger > *:nth-child(6) { transition-delay: 400ms; }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 1100px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .split-section { grid-template-columns: 1fr; min-height: auto; }
  .split-section .split-img { height: 380px; }
  .split-section .split-text { padding: 48px 40px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
  .bf-row { grid-template-columns: 1fr 1fr; }
  .bf-submit { grid-column: 1 / -1; }
  .svc-card--red .svc-body { min-height: 280px; }
  .team-stats-centered { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}

@media (max-width: 900px) {
  .main-nav { display: none; }
  .ham-btn { display: flex; }
  .header-ctas .btn-outline-header { display: none; }
  .steps-grid { grid-template-columns: 1fr; }
  .step-card { border-right: none; border-bottom: 1px solid var(--gray-border); }
  .step-card:last-child { border-bottom: none; }
  .cta-band-inner { flex-direction: column; text-align: center; }
  .cta-band-btns { justify-content: center; }
  .trust-inner { flex-wrap: wrap; }
  .trust-item { width: 50%; }
  .trust-item:nth-child(2)::before, .trust-item:nth-child(4)::before { display: none; }

  /* Topbar gets compact on tablets */
  .tb-sep ~ .tb-item:nth-of-type(2),
  .topbar-left .tb-sep:nth-of-type(2) { display: none; }
  .topbar-left .tb-sep:first-of-type { display: none; }

  /* Cities bar wraps */
  .cities-inner { padding: 0 20px; gap: 14px; }
}

/* ── MOBILE (phones) ── */
@media (max-width: 700px) {
  :root { --header-h: 56px; }

  /* Topbar: hide phone numbers, keep just language switch */
  .topbar { height: 32px; font-size: 11px; }
  .topbar-inner { padding: 0 14px; }
  .topbar-left { gap: 8px; }
  .topbar-left .tb-item:not(:first-child) { display: none; }
  .topbar-left .tb-sep { display: none; }
  .lang-btn { padding: 2px 7px; font-size: 10px; }

  /* Header sizing */
  .site-header { top: 32px; }
  .header-inner { padding: 0 16px; gap: 0; }
  .brand { margin-right: auto; }
  .brand-logo { height: 32px; }
  .site-header.scrolled .brand-logo { height: 28px; }
  .header-ctas { gap: 6px; }
  .btn-cta-header {
    font-size: 11px;
    padding: 8px 12px;
    letter-spacing: 0;
  }
  .ham-btn { padding: 8px; margin-left: 4px; }
  .ham-btn span { width: 20px; }

  /* Mobile drawer */
  .mobile-drawer { top: calc(var(--header-h) + 32px); }
  .mobile-drawer a { padding: 14px 20px; font-size: 15px; }
  .drawer-phones { padding: 10px 20px; }

  /* Hero — full mobile reset */
  .hero {
    min-height: 0;
    height: auto;
    margin-top: calc(var(--header-h) + 32px);
  }
  .hero-content {
    min-height: 480px;
    padding: 60px 20px 40px;
  }
  .hero-text { padding-bottom: 28px; }
  .hero-eyebrow { font-size: 11px; margin-bottom: 12px; }
  .hero-title {
    font-size: 32px;
    line-height: 1.08;
    margin-bottom: 14px;
  }
  .hero-subtitle { font-size: 15px; margin-bottom: 20px; }
  .hero-pill { font-size: 11px; padding: 5px 10px; }
  .hero-img { object-position: center center; }

  /* Booking panel: stack vertically with proper spacing */
  .booking-panel { padding: 0; }
  .booking-inner { padding: 0 16px; }
  .booking-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .b-tab { padding: 12px 16px; font-size: 12px; white-space: nowrap; }
  .booking-form { padding: 14px 0 10px; }
  .bf-row { grid-template-columns: 1fr; gap: 10px; }
  .bf-input { font-size: 16px; padding: 12px 12px; }
  .bf-submit {
    width: 100%; height: 48px; font-size: 14px;
    grid-column: auto;
  }
  .booking-footer { font-size: 12px; padding: 8px 0 14px; }

  /* Trust bar */
  .trust-bar { overflow: hidden; }
  .trust-inner { padding: 0; }
  .trust-item { width: 50%; padding: 16px 8px; border-bottom: 1px solid rgba(255,255,255,0.18); }
  .trust-item:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.18); }
  .trust-item:nth-child(3), .trust-item:nth-child(4) { border-bottom: none; }
  .trust-num { font-size: 24px; }
  .trust-label { font-size: 10px; }

  /* Cities bar */
  .cities-bar { padding: 14px 0; }
  .cities-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 0 16px;
  }
  .cities-label { font-size: 10px; }
  .cities-list { gap: 6px; }
  .city-chip { font-size: 12px; padding: 5px 11px; }

  /* Sections — tighter padding */
  .section { padding: 48px 0; }
  .container { padding: 0 16px; }
  .section-header { margin-bottom: 32px; }
  .s-eyebrow { font-size: 11px; margin-bottom: 10px; }
  .s-title { font-size: 26px !important; line-height: 1.15; }
  .s-lead { font-size: 15px; }

  /* Services — single column with tighter cards */
  .services-grid { grid-template-columns: 1fr; gap: 14px; }
  .svc-img { height: 180px; }
  .svc-body { padding: 18px 18px 22px; min-height: auto; }
  .svc-body h3 { font-size: 17px; }
  .svc-body p { font-size: 13.5px; }
  .svc-card--red .svc-body { min-height: 220px; padding: 28px 22px; }
  .svc-card--red h3 { font-size: 20px; }
  .svc-card--red p { font-size: 14px; }

  /* Split sections */
  .split-section { grid-template-columns: 1fr; }
  .split-img { height: 280px; }
  .split-text { padding: 32px 20px; }
  .split-img-badge { bottom: 16px; right: 16px; padding: 14px 18px; }
  .split-img-badge strong { font-size: 26px; }
  .check-list li { font-size: 14px; }

  /* Steps */
  .step-card { padding: 28px 20px; }
  .step-num { font-size: 56px; top: 14px; right: 14px; }
  .step-card h3 { font-size: 18px; }
  .step-card p { font-size: 14px; }

  /* Team (no image) */
  .team-stats-centered {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .ts-box { padding: 20px 12px; }
  .ts-box strong { font-size: 30px; }
  .ts-box span { font-size: 10.5px; }
  .team-quote { padding: 24px 16px; }
  .team-quote p { font-size: 17px; }
  .team-cta-row { flex-direction: column; align-items: stretch; }
  .team-cta-row .btn-primary,
  .team-cta-row .btn-secondary {
    width: 100%; justify-content: center;
  }

  /* CTA band */
  .cta-band { padding: 40px 0; }
  .cta-band-inner { padding: 0 16px; }
  .cta-band h2 { font-size: 22px; }
  .cta-band-btns { flex-direction: column; width: 100%; }
  .cta-band-btns .btn-primary,
  .cta-band-btns .btn-secondary { width: 100%; justify-content: center; }

  /* Buttons in button-rows expand */
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn-primary,
  .btn-row .btn-secondary {
    width: 100%; justify-content: center;
  }

  /* Footer */
  .footer-main { grid-template-columns: 1fr; padding: 40px 20px 28px; gap: 28px; }
  .footer-bottom {
    flex-direction: column;
    text-align: center;
    padding: 16px 20px;
    font-size: 12px;
  }
  .footer-legal { gap: 18px; }
}

/* ── EXTRA SMALL (under 380px) ── */
@media (max-width: 380px) {
  .hero-title { font-size: 28px; }
  .s-title { font-size: 22px !important; }
  .btn-cta-header { padding: 7px 10px; font-size: 10px; }
  .brand-logo { height: 28px; }
  .ts-box strong { font-size: 26px; }
}

/* ─── HOSTINGER FIX: Reveal fallback ─────────────────────────── */
/* Ensure elements are visible if JS fails or is slow */
@media print {
  .reveal, .reveal-left, .reveal-right {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Hostinger blank-screen protection: never let the loading overlay permanently cover the page. */
#page-loader {
  animation: kffAutoHideLoader 1.2s ease 0.6s forwards;
}
#page-loader.hidden,
html.kff-loaded #page-loader,
body.kff-loaded #page-loader {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@keyframes kffAutoHideLoader {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}

/* Hostinger fallback: content remains visible even if JavaScript is blocked or partially fails. */
body:not(.js-loaded) .reveal,
body:not(.js-loaded) .reveal-left,
body:not(.js-loaded) .reveal-right {
  opacity: 1 !important;
  transform: none !important;
}

/* ================================================================
   Final requested refinements: darker premium theme + service flow
   ================================================================ */
body {
  background: #101014 !important;
  color: #f4f4f5;
}
#page-loader { background: #101014; }
.site-header,
.mobile-drawer,
.contact-form-wrap,
.contact-info,
.svc-card,
.booking-panel,
.ts-box,
.info-card,
.step-card,
.value-card,
.fleet-card {
  background: #15161a !important;
  border-color: #2f3037 !important;
}
.topbar,
.page-hero-sec,
.cta-section,
.site-footer {
  background: #060607 !important;
}
.section,
.team-section-noimg {
  background: #101014 !important;
}
.section--gray,
.cities-bar,
.drawer-phones,
.mobile-drawer a:hover,
.split-text {
  background: #18191f !important;
}
.s-title,
.nav-link,
.btn-outline-header,
.svc-body h3,
.c-val,
.c-val a,
.f-input,
select.f-input,
textarea.f-input,
.footer-brand p,
.footer-col-title {
  color: #f4f4f5 !important;
}
.s-lead,
.svc-body p,
.city-chip,
.form-note,
.footer-col a,
.footer-bottom,
.footer-legal,
.ts-box span {
  color: #b8bac4 !important;
}
.site-header,
.cities-bar,
.mobile-drawer,
.footer-bottom,
.c-row,
.team-quote {
  border-color: #2f3037 !important;
}
.f-input,
select.f-input,
textarea.f-input {
  background: #101014 !important;
  border-color: #34353d !important;
}
.f-input:focus,
select.f-input:focus,
textarea.f-input:focus {
  border-color: var(--sixt-red) !important;
  box-shadow: 0 0 0 3px rgba(255,53,94,0.16) !important;
}
.city-chip {
  background: #121318 !important;
  border-color: #30313a !important;
}
.city-chip:hover {
  background: var(--sixt-red) !important;
  color: #fff !important;
  border-color: var(--sixt-red) !important;
}
.svc-card:hover {
  box-shadow: 0 18px 44px rgba(0,0,0,0.34) !important;
}
.svc-card--red {
  background: var(--sixt-red) !important;
  border-color: var(--sixt-red) !important;
}
.svc-card--red h3,
.svc-card--red p { color: #fff !important; }
.btn-white-pill { background: #fff !important; color: var(--sixt-red) !important; }

/* Contact page: requested order = form first, details second */
.contact-grid {
  grid-template-columns: minmax(0, 1.6fr) minmax(300px, 1fr) !important;
}
.contact-form-col { order: 1; }
.contact-details-col { order: 2; }
@media (max-width: 900px) {
  .contact-grid { grid-template-columns: 1fr !important; }
  .contact-form-col { order: 1; }
  .contact-details-col { order: 2; }
}

/* Services: side-by-side cards appear one after another in a clear sequence */
.services-grid.service-sequence {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
}
body.js-loaded .service-sequence > .svc-card {
  opacity: 0;
  transform: translateX(-34px) scale(0.985);
  transition: opacity 0.72s var(--ease-out), transform 0.72s var(--ease-out), box-shadow 0.3s var(--ease-out), border-color 0.3s var(--ease-out);
}
body.js-loaded .service-sequence > .svc-card.visible {
  opacity: 1;
  transform: translateX(0) scale(1);
}
.service-sequence > .svc-card:nth-child(1) { transition-delay: 0ms; }
.service-sequence > .svc-card:nth-child(2) { transition-delay: 120ms; }
.service-sequence > .svc-card:nth-child(3) { transition-delay: 240ms; }
.service-sequence > .svc-card:nth-child(4) { transition-delay: 360ms; }
.service-sequence > .svc-card:nth-child(5) { transition-delay: 480ms; }
.service-sequence > .svc-card:nth-child(6) { transition-delay: 600ms; }
@media (max-width: 1100px) {
  .services-grid.service-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .services-grid.service-sequence { grid-template-columns: 1fr; }
}


/* ================================================================
   V5 REFINEMENT: dark/light mix, organised header, showcase services
   ================================================================ */
:root {
  --near-black: #0d1117;
  --gray-dark: #2a3340;
  --gray-mid: #5d6776;
  --gray-light: #8a94a6;
  --gray-border: #d8dee8;
  --gray-bg: #f2f5f8;
}
body {
  background: linear-gradient(180deg, #f5f7fa 0%, #ffffff 22%, #f7f8fb 100%);
  color: #111827;
}
.topbar {
  background: linear-gradient(90deg, #06090f 0%, #111827 100%);
  box-shadow: 0 8px 24px rgba(2, 6, 23, 0.24);
}
.topbar-inner { gap: 16px; }
.topbar-left { gap: 10px; flex-wrap: wrap; }
.tb-item { padding: 0; }
.tb-badge {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 5px 11px; border-radius: 999px;
  background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.14);
  color: #fff; font-size: 11px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase;
}
.site-header {
  background: rgba(255,255,255,0.9);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(255,53,94,0.14);
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
}
.header-inner { padding: 0 28px; gap: 18px; }
.brand { margin-right: 8px; }
.brand-logo { height: 44px; }
.main-nav {
  flex: 0 1 auto;
  height: auto;
  align-items: center;
  gap: 4px;
  margin: 0 auto;
  padding: 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, #121821 0%, #0c1017 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.06);
}
.nav-link {
  height: auto;
  padding: 11px 16px;
  border-radius: 999px;
  color: rgba(255,255,255,0.78);
}
.nav-link::after { display: none; }
.nav-link:hover, .nav-link.active {
  color: #fff;
  background: linear-gradient(135deg, var(--sixt-red) 0%, #ff6a61 100%);
  box-shadow: 0 12px 22px rgba(255,53,94,0.24);
}
.header-ctas { gap: 12px; }
.btn-outline-header, .btn-cta-header { border-radius: 999px; }
.btn-outline-header {
  border-color: rgba(17,24,39,0.12);
  background: rgba(255,255,255,0.75);
}
.btn-outline-header:hover { background: #fff; }
.btn-cta-header {
  box-shadow: 0 12px 22px rgba(255,53,94,0.26);
}
.hero-overlay {
  background: linear-gradient(90deg, rgba(7,10,16,0.92) 0%, rgba(7,10,16,0.72) 42%, rgba(7,10,16,0.18) 100%);
}
.hero-pills .hero-pill, .hero-pill {
  background: rgba(12,16,23,0.44);
  border-color: rgba(255,255,255,0.22);
}
.booking-panel {
  background: rgba(255,255,255,0.96);
  box-shadow: 0 20px 60px rgba(15, 23, 42, 0.08);
  border-top: 1px solid rgba(255,53,94,0.14);
}
.trust-bar { background: linear-gradient(90deg, #121821 0%, #ff355e 100%); }
.cities-bar {
  background: linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
}
.city-chip { background: #fff; }
.section--gray { background: linear-gradient(180deg, #eef2f6 0%, #ffffff 100%); }

/* Services showcase */
.services-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.svc-card--showcase {
  border: 0;
  border-radius: 28px;
  min-height: 660px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: radial-gradient(circle at 50% 12%, rgba(255,255,255,0.14) 0%, rgba(255,255,255,0) 35%), linear-gradient(180deg, #04070d 0%, #09111d 52%, #b5c0cb 100%);
  box-shadow: 0 28px 60px rgba(2,6,23,0.18);
}
.svc-card--showcase::after { display: none; }
.svc-card--showcase:hover { transform: translateY(-8px); box-shadow: 0 36px 70px rgba(2,6,23,0.24); }
.svc-card--showcase-light { background: radial-gradient(circle at 50% 12%, rgba(255,255,255,0.2) 0%, rgba(255,255,255,0) 34%), linear-gradient(180deg, #04070d 0%, #16202b 48%, #d6dee5 100%); }
.svc-card--showcase-vehicle { background: radial-gradient(circle at 50% 12%, rgba(255,255,255,0.16) 0%, rgba(255,255,255,0) 34%), linear-gradient(180deg, #04070d 0%, #0e1520 50%, #cbd3db 100%); }
.svc-card--showcase .svc-body {
  padding: 34px 34px 0;
  min-height: auto;
  position: relative;
  z-index: 2;
}
.svc-kicker {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.78);
  margin-bottom: 18px;
}
.svc-kicker::before { content: ''; width: 18px; height: 2px; background: var(--sixt-red); display: inline-block; }
.svc-card--showcase h3 {
  color: #fff;
  font-size: clamp(32px, 3vw, 44px);
  line-height: 0.98;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: -0.03em;
  margin-bottom: 18px;
}
.svc-card--showcase p {
  color: rgba(255,255,255,0.86);
  font-size: 16px;
  line-height: 1.6;
  max-width: 92%;
  flex: 0 0 auto;
}
.svc-btn {
  display: inline-flex;
  align-items: center; justify-content: center;
  margin-top: 24px;
  padding: 12px 28px;
  border: 2px solid rgba(255,255,255,0.8);
  border-radius: 999px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  background: rgba(255,255,255,0.04);
  transition: background 0.2s, color 0.2s, transform 0.2s;
  width: fit-content;
}
.svc-card--showcase:hover .svc-btn { background: #fff; color: #111827; }
.svc-media {
  position: relative;
  margin-top: auto;
  height: 295px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}
.svc-media::before {
  content: '';
  position: absolute; inset: -10% 10% 10%;
  background: radial-gradient(circle, rgba(255,255,255,0.24) 0%, rgba(255,255,255,0) 68%);
  z-index: 0;
}
.svc-media img {
  position: relative; z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center bottom;
  transition: transform 0.5s var(--ease-out);
}
.svc-card--showcase:hover .svc-media img { transform: scale(1.04) translateY(-2px); }
.service-mini-strip {
  margin-top: 26px;
  padding: 24px 26px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f4f7fb 100%);
  border: 1px solid rgba(17,24,39,0.08);
  box-shadow: 0 18px 40px rgba(15,23,42,0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.service-mini-label {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--sixt-red);
  margin-bottom: 12px;
}
.service-mini-list { display: flex; flex-wrap: wrap; gap: 10px; }
.service-mini-list span {
  padding: 10px 14px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--gray-border);
  font-size: 13px;
  font-weight: 700;
  color: var(--gray-dark);
}
.service-mini-cta { white-space: nowrap; }
.footer-main, .footer-bottom { position: relative; z-index: 1; }
.site-footer { position: relative; background: #0d1117; }
.site-footer::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,53,94,0.05), rgba(255,255,255,0)); pointer-events: none; }
.footer-col a:hover { color: #fff; }

@media (max-width: 1180px) {
  .main-nav { margin-left: 0; }
  .services-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-mini-strip { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 980px) {
  .main-nav { display: none; }
  .brand-logo { height: 40px; }
  .btn-outline-header { display: none; }
}
@media (max-width: 760px) {
  .topbar { height: auto; padding: 8px 0; }
  .topbar-inner { padding: 0 16px; align-items: flex-start; }
  .topbar-left { gap: 6px; }
  .site-header { top: 52px; }
  .mobile-drawer { top: calc(var(--header-h) + 52px); }
  .header-inner { padding: 0 16px; }
  .services-showcase { grid-template-columns: 1fr; }
  .svc-card--showcase { min-height: 580px; }
  .svc-card--showcase .svc-body { padding: 28px 22px 0; }
  .svc-card--showcase h3 { font-size: 30px; }
  .svc-card--showcase p { max-width: 100%; font-size: 15px; }
  .svc-media { height: 250px; }
  .service-mini-strip { padding: 20px; }
}


/* ================================================================
   V6 PAGE-LEVEL LIGHT/DARK THEMES + APP QR SECTION
   ================================================================ */
html { background: #eef1f5; }
body.page-lightgrey {
  background: #eef1f5;
  color: #111827;
}
body.page-dark {
  background: #090d14;
  color: #f8fafc;
}
body.page-dark .page-hero-sec,
body.page-dark main,
body.page-dark .section,
body.page-dark .section--gray {
  background: #090d14 !important;
}
body.page-lightgrey main,
body.page-lightgrey .section,
body.page-lightgrey .section--gray {
  background: #eef1f5;
}
body.page-home main { background: #eef1f5; }
body.page-home .hero { background: #06090f; }
body.page-home .hero-overlay {
  background: linear-gradient(90deg, rgba(5,8,14,0.95) 0%, rgba(5,8,14,0.76) 42%, rgba(5,8,14,0.28) 100%) !important;
}
body.page-home .booking-panel,
body.page-home .cities-bar,
body.page-lightgrey .booking-panel,
body.page-lightgrey .cities-bar {
  background: #f8fafc;
}
body.page-lightgrey .s-title,
body.page-lightgrey .ld-text h2,
body.page-lightgrey .svc-body h3,
body.page-lightgrey .step-card h3,
body.page-lightgrey .contact-form h2 {
  color: #111827;
}
body.page-lightgrey .s-lead,
body.page-lightgrey .ld-text > p,
body.page-lightgrey .svc-body p,
body.page-lightgrey .step-card p,
body.page-lightgrey .contact-form p {
  color: #475569;
}
body.page-lightgrey .container,
body.page-lightgrey .split-text,
body.page-lightgrey .contact-form,
body.page-lightgrey .contact-info,
body.page-lightgrey .step-card,
body.page-lightgrey .leistung-detail,
body.page-lightgrey .service-mini-strip {
  color: #111827;
}
body.page-dark .page-hero-sec .s-title,
body.page-dark .s-title,
body.page-dark .ld-text h2,
body.page-dark .footer-col-title {
  color: #ffffff !important;
}
body.page-dark .s-lead,
body.page-dark .ld-text > p,
body.page-dark .ld-check li,
body.page-dark .footer-col a,
body.page-dark .footer-brand p {
  color: rgba(248,250,252,0.78) !important;
}
body.page-dark .leistung-detail {
  background: linear-gradient(135deg, #111827 0%, #0f172a 100%) !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  box-shadow: 0 24px 50px rgba(0,0,0,0.24);
}
body.page-dark .ld-text { color: #ffffff; }
body.page-dark .ld-check li::before { box-shadow: 0 0 0 4px rgba(255,53,94,0.14); }
body.page-dark .site-footer { margin-top: 0; }
body.page-dark .page-hero-sec {
  background: radial-gradient(circle at 78% 12%, rgba(255,53,94,0.16), transparent 32%), #06090f !important;
}
body.page-dark .btn-secondary {
  color: #ffffff;
  border-color: rgba(255,255,255,0.2);
}
body.page-dark .btn-secondary:hover { border-color: var(--sixt-red); }
body.page-dark .mobile-drawer { background: #0f172a; }
body.page-dark .mobile-drawer a { color: #f8fafc; border-color: rgba(255,255,255,0.08); }
body.page-lightgrey .page-hero-sec {
  background: linear-gradient(135deg, #111827 0%, #0b1018 100%) !important;
}
body.page-lightgrey .page-hero-sec .s-title { color: #ffffff !important; }
body.page-lightgrey .page-hero-sec .s-lead { color: rgba(255,255,255,0.78) !important; }

/* Better readability for top navigation */
.site-header { background: rgba(255,255,255,0.94); }
.nav-link { color: rgba(255,255,255,0.82); }
.nav-link:hover, .nav-link.active { color: #ffffff; }
.brand-logo, .footer-logo { image-rendering: auto; }

/* App section appears only on homepage near the end */
.app-download-section {
  background: #eef1f5;
  padding: 70px 0 90px;
}
.app-download-inner {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 32px;
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap: 36px;
  align-items: center;
}
.app-download-section .s-title { color: #111827; }
.app-download-section .s-lead { color: #475569; max-width: 620px; }
.app-card-wrap {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.app-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 22px;
  min-height: 150px;
  border-radius: 24px;
  background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
  border: 1px solid rgba(15,23,42,0.1);
  box-shadow: 0 18px 42px rgba(15,23,42,0.08);
  color: #111827;
  transition: transform .25s var(--ease-out), box-shadow .25s var(--ease-out), border-color .25s var(--ease-out);
}
.app-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,53,94,0.36);
  box-shadow: 0 24px 54px rgba(15,23,42,0.13);
}
.app-icon {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0f172a;
  color: #ffffff;
  font-size: 24px;
  font-weight: 900;
}
.app-text span {
  display: block;
  color: var(--sixt-red);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 2px;
}
.app-text strong {
  display: block;
  color: #111827;
  font-size: 22px;
  line-height: 1.1;
}
.app-text small {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-weight: 700;
}
.app-qr {
  width: 86px;
  height: 86px;
  object-fit: contain;
  border-radius: 14px;
  padding: 6px;
  background: #ffffff;
  border: 1px solid #e2e8f0;
}
@media (max-width: 980px) {
  .app-download-inner { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .app-download-section { padding: 52px 0 64px; }
  .app-download-inner { padding: 0 18px; }
  .app-card-wrap { grid-template-columns: 1fr; }
  .app-card { grid-template-columns: auto 1fr; }
  .app-qr { grid-column: 1 / -1; width: 112px; height: 112px; }
}


/* ================================================================
   V7 SIxt-style readable light/dark interface restoration
   - dark hero
   - light grey + white content panels
   - dark feature/CTA bands
   - strict contrast rules for every section
   ================================================================ */
:root {
  --kff-ink: #101827;
  --kff-muted: #485568;
  --kff-soft: #f0f3f7;
  --kff-card: #ffffff;
  --kff-dark: #070b12;
  --kff-dark-2: #101722;
  --kff-dark-card: #151e2b;
  --kff-line: #d8e0ea;
}
html, body { background: var(--kff-soft) !important; color: var(--kff-ink) !important; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* Header: Sixt-like clean white top panel with visible logo */
.site-header {
  background: rgba(255,255,255,0.98) !important;
  border-bottom: 1px solid rgba(15,23,42,0.10) !important;
  box-shadow: 0 12px 36px rgba(15,23,42,0.10) !important;
}
.header-inner { gap: 18px; }
.brand {
  margin-right: 14px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(15,23,42,0.08);
  border-radius: 16px;
  padding: 7px 12px;
  box-shadow: 0 8px 22px rgba(15,23,42,0.08);
}
.brand-logo { height: 42px !important; width: auto; opacity: 1 !important; visibility: visible !important; filter: none !important; }
.site-header.scrolled .brand-logo { height: 36px !important; }
.main-nav {
  background: #0b111b !important;
  border-radius: 999px !important;
  padding: 7px !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.07), 0 10px 24px rgba(15,23,42,0.10) !important;
}
.nav-link { color: rgba(255,255,255,0.84) !important; border-radius: 999px !important; }
.nav-link:hover, .nav-link.active { color: #ffffff !important; background: var(--sixt-red) !important; }
.btn-outline-header { background: #fff !important; color: var(--kff-ink) !important; border-color: rgba(15,23,42,0.16) !important; border-radius: 999px !important; }
.btn-outline-header:hover { color: var(--sixt-red) !important; border-color: var(--sixt-red) !important; }
.btn-cta-header { border-radius: 999px !important; color: #fff !important; }

/* Dark hero always, with readable text */
.hero, .page-hero-sec { background: var(--kff-dark) !important; }
.hero-overlay { background: linear-gradient(90deg, rgba(5,8,14,0.96) 0%, rgba(5,8,14,0.78) 44%, rgba(5,8,14,0.32) 100%) !important; }
.hero-title, .page-hero-sec .s-title { color: #ffffff !important; text-shadow: 0 2px 18px rgba(0,0,0,0.35); }
.hero-subtitle, .page-hero-sec .s-lead { color: rgba(255,255,255,0.86) !important; }
.hero-eyebrow, .page-hero-sec .s-eyebrow { color: var(--sixt-red) !important; }
.hero-pill { color: #ffffff !important; background: rgba(255,255,255,0.12) !important; border-color: rgba(255,255,255,0.28) !important; }

/* Reset page-dark overreach from V6: pages should mix light and dark blocks, not become unreadably dark everywhere */
body.page-dark main,
body.page-dark .section,
body.page-dark .section--gray,
body.page-dark .team-section-noimg,
body.page-dark .page-legal-section {
  background: var(--kff-soft) !important;
  color: var(--kff-ink) !important;
}
body.page-lightgrey main,
body.page-home main,
body.page-lightgrey .section,
body.page-lightgrey .section--gray {
  background: var(--kff-soft) !important;
  color: var(--kff-ink) !important;
}

/* Universal light section readability */
.section, .section--gray, .cities-bar, .booking-panel, .app-download-section {
  color: var(--kff-ink) !important;
}
.s-title, .section .s-title, .section--gray .s-title,
.ld-text h2, .svc-body h3, .step-card h3, .qual-card h3,
.contact-form h2, .contact-info .c-val, .split-text h2,
.team-section-noimg h2, .service-mini-label + * {
  color: var(--kff-ink) !important;
}
.s-lead, .section .s-lead, .section--gray .s-lead,
.ld-text > p, .svc-body p, .step-card p, .qual-card p,
.contact-form p, .split-text p, .team-section-noimg p,
.check-list li, .ld-check li, .booking-footer, .footer-addr {
  color: var(--kff-muted) !important;
}
.s-eyebrow { color: var(--sixt-red) !important; }

/* Cards on light grey pages */
.step-card, .qual-card, .leistung-detail, .contact-form, .contact-info, .service-mini-strip,
.team-stats-centered .ts-box, .value-card, .legal-card {
  background: #ffffff !important;
  color: var(--kff-ink) !important;
  border-color: rgba(15,23,42,0.10) !important;
  box-shadow: 0 18px 42px rgba(15,23,42,0.08) !important;
}
.step-card h3, .qual-card h3, .leistung-detail h2, .contact-form h2, .contact-info .c-label { color: var(--kff-ink) !important; }
.step-card p, .qual-card p, .leistung-detail p, .contact-form p, .c-val { color: var(--kff-muted) !important; }
.c-val a, .contact-info a, .footer-col a:hover { color: var(--sixt-red) !important; }

/* Sixt-like dark feature bands inside pages */
.section--black, .cta-band, .trust-bar, body.page-team .team-section-noimg {
  background: radial-gradient(circle at 84% 8%, rgba(255,53,94,0.14), transparent 34%), linear-gradient(135deg, #070b12 0%, #101722 100%) !important;
  color: #ffffff !important;
}
.section--black .s-title, .cta-band h2, .trust-num, body.page-team .team-section-noimg .s-title,
body.page-team .team-section-noimg h2, body.page-team .team-section-noimg strong,
body.page-team .team-section-noimg .team-quote p {
  color: #ffffff !important;
}
.section--black .s-lead, .cta-band p, .trust-label, body.page-team .team-section-noimg .s-lead,
body.page-team .team-section-noimg p, body.page-team .team-section-noimg span {
  color: rgba(255,255,255,0.82) !important;
}
body.page-team .team-section-noimg .ts-box {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: none !important;
}
body.page-team .team-section-noimg .btn-secondary { color: #fff !important; border-color: rgba(255,255,255,0.35) !important; }

/* Service showcase: intentionally dark cards on light grey background */
.services-showcase .svc-card--showcase,
.svc-card--showcase {
  color: #ffffff !important;
  background: radial-gradient(circle at 50% 8%, rgba(255,255,255,0.16), transparent 36%), linear-gradient(180deg, #04070d 0%, #0e1621 54%, #c2ccd6 100%) !important;
}
.svc-card--showcase .svc-kicker { color: rgba(255,255,255,0.82) !important; }
.svc-card--showcase h3 { color: #ffffff !important; }
.svc-card--showcase p { color: rgba(255,255,255,0.88) !important; }
.svc-card--showcase .svc-btn { color: #ffffff !important; border-color: rgba(255,255,255,0.84) !important; }
.svc-card--showcase:hover .svc-btn { color: var(--kff-ink) !important; background: #ffffff !important; }
.service-mini-strip, .app-download-section { background: var(--kff-soft) !important; }
.service-mini-list span { color: var(--kff-ink) !important; background: #fff !important; }

/* Services/detail pages: readable white cards, dark hero, dark CTA */
body.page-services .section,
body.page-services .section--gray { background: var(--kff-soft) !important; }
body.page-services .leistung-detail {
  background: #ffffff !important;
  color: var(--kff-ink) !important;
  border: 1px solid rgba(15,23,42,0.10) !important;
  box-shadow: 0 22px 46px rgba(15,23,42,0.10) !important;
}
body.page-services .ld-text h2 { color: var(--kff-ink) !important; }
body.page-services .ld-text > p, body.page-services .ld-check li { color: var(--kff-muted) !important; }

/* Contact readability */
body.page-contact .section, body.page-contact main { background: var(--kff-soft) !important; }
.contact-form, .contact-info { background: #ffffff !important; color: var(--kff-ink) !important; }
.contact-form label, .contact-form .form-label, .bf-label { color: #334155 !important; }
.contact-form input, .contact-form select, .contact-form textarea,
.bf-input {
  background: #ffffff !important;
  color: var(--kff-ink) !important;
  border-color: #cbd5e1 !important;
}
.contact-form input::placeholder, .contact-form textarea::placeholder, .bf-input::placeholder { color: #718096 !important; }

/* App download section: clear and only on homepage */
.app-download-section {
  background: linear-gradient(180deg, #f0f3f7 0%, #ffffff 100%) !important;
  color: var(--kff-ink) !important;
  border-top: 1px solid rgba(15,23,42,0.08);
}
.app-download-section .s-title { color: var(--kff-ink) !important; }
.app-download-section .s-lead { color: var(--kff-muted) !important; }
.app-card { background: #ffffff !important; color: var(--kff-ink) !important; }
.app-text strong { color: var(--kff-ink) !important; }
.app-text small { color: #64748b !important; }
.app-qr { background: #ffffff !important; }

/* Footer logo visibility and dark footer readability */
.site-footer {
  background: linear-gradient(135deg, #070b12 0%, #101722 100%) !important;
  color: #ffffff !important;
}
.footer-logo {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  background: #ffffff !important;
  padding: 10px 14px !important;
  border-radius: 14px !important;
  box-shadow: 0 10px 26px rgba(0,0,0,0.20) !important;
  max-width: 230px !important;
}
.footer-col-title { color: #ffffff !important; }
.footer-brand p, .footer-col a, .footer-hours, .footer-bottom, .footer-legal a { color: rgba(255,255,255,0.78) !important; }
.footer-col a:hover, .footer-legal a:hover { color: #ffffff !important; }

/* Legal pages */
body.page-legal main, body.page-legal .section { background: var(--kff-soft) !important; color: var(--kff-ink) !important; }
body.page-legal h1, body.page-legal h2, body.page-legal h3 { color: var(--kff-ink) !important; }
body.page-legal p, body.page-legal li { color: var(--kff-muted) !important; }

/* Mobile header/logo clarity */
@media (max-width: 980px) {
  .main-nav { display: none !important; }
  .brand { padding: 6px 9px !important; border-radius: 12px !important; }
  .brand-logo { height: 36px !important; }
  .ham-btn span { background: var(--kff-ink) !important; }
}
@media (max-width: 760px) {
  .brand-logo { height: 32px !important; }
  .topbar-inner { gap: 8px; }
}


/* ================================================================
   V8 final correction: preserve header layout, remove logo plates/borders,
   fix remaining low-contrast text, founding year = 1988.
   ================================================================ */
/* Header / top panel: keep layout, improve clarity only */
.brand {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-right: 14px !important;
}
.brand-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}
.btn-outline-header,
.btn-cta-header {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.btn-outline-header {
  background: #f2f5f9 !important;
  color: #101827 !important;
}
.btn-outline-header:hover {
  background: #e8edf4 !important;
  color: var(--sixt-red) !important;
}
.btn-cta-header {
  background: var(--sixt-red) !important;
  color: #ffffff !important;
}
.btn-cta-header:hover {
  background: var(--sixt-red-hover) !important;
  color: #ffffff !important;
}

/* Critical readability repair: old dark override made split/Über KFF text unreadable */
.split-text,
body.page-lightgrey .split-text,
body.page-home .split-text,
body.page-about .split-text {
  background: #ffffff !important;
  color: #101827 !important;
}
.split-text .s-title,
.split-text h1, .split-text h2, .split-text h3,
body.page-lightgrey .split-text .s-title,
body.page-home .split-text .s-title {
  color: #101827 !important;
}
.split-text .s-lead,
.split-text p,
.split-text li,
.split-text .check-list li,
body.page-lightgrey .split-text p,
body.page-home .split-text p {
  color: #475569 !important;
}
.split-text .check-list li { font-weight: 700 !important; }

/* Any intentional dark band gets light text, without harming light cards */
.section--black, .cta-band, .trust-bar {
  color: #ffffff !important;
}
.section--black h1, .section--black h2, .section--black h3, .section--black .s-title,
.cta-band h1, .cta-band h2, .cta-band h3,
.trust-bar h1, .trust-bar h2, .trust-bar h3, .trust-num {
  color: #ffffff !important;
}
.section--black p, .section--black li, .section--black .s-lead,
.cta-band p, .cta-band li,
.trust-label {
  color: rgba(255,255,255,0.86) !important;
}

/* Card-level readable defaults */
.step-card, .qual-card, .value-card, .leistung-detail, .contact-form, .contact-info, .legal-card, .service-mini-strip {
  background: #ffffff !important;
  color: #101827 !important;
}
.step-card h1, .step-card h2, .step-card h3,
.qual-card h1, .qual-card h2, .qual-card h3,
.value-card h1, .value-card h2, .value-card h3,
.leistung-detail h1, .leistung-detail h2, .leistung-detail h3,
.contact-form h1, .contact-form h2, .contact-form h3,
.contact-info h1, .contact-info h2, .contact-info h3,
.legal-card h1, .legal-card h2, .legal-card h3 {
  color: #101827 !important;
}
.step-card p, .step-card li,
.qual-card p, .qual-card li,
.value-card p, .value-card li,
.leistung-detail p, .leistung-detail li,
.contact-form p, .contact-form li,
.contact-info p, .contact-info li, .contact-info .c-val,
.legal-card p, .legal-card li {
  color: #475569 !important;
}

/* Service showcase cards stay dark with clear white text */
.svc-card--showcase, .services-showcase .svc-card--showcase {
  color: #ffffff !important;
}
.svc-card--showcase h1, .svc-card--showcase h2, .svc-card--showcase h3, .svc-card--showcase .svc-kicker {
  color: #ffffff !important;
}
.svc-card--showcase p {
  color: rgba(255,255,255,0.9) !important;
}

/* Footer: no white plate around KFF logo. Use a light footer top so transparent logo remains visible. */
.site-footer {
  background: linear-gradient(180deg, #f3f6fa 0%, #e8edf4 100%) !important;
  color: #101827 !important;
  border-top: 1px solid rgba(15,23,42,0.10) !important;
}
.footer-logo {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  filter: none !important;
  max-width: 250px !important;
}
.footer-col-title { color: #101827 !important; }
.footer-brand p, .footer-col a, .footer-hours, .footer-bottom, .footer-legal a, .footer-addr {
  color: #475569 !important;
}
.footer-col a:hover, .footer-legal a:hover { color: var(--sixt-red) !important; }
.footer-bottom { border-color: rgba(15,23,42,0.10) !important; }

/* Mobile logo has no plate either */
@media (max-width: 980px) {
  .brand { padding: 0 !important; border-radius: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  .btn-cta-header { box-shadow: none !important; }
}


/* ================================================================
   FINAL V9 — Single Sixt-style top panel + mobile optimization
   ================================================================ */
:root{
  --header-h: 74px;
  --kff-header-bg:#0a0e14;
  --kff-panel:#111821;
  --kff-border:rgba(255,255,255,.10);
}
.topbar{display:none!important;}
.site-header{
  top:0!important;
  height:var(--header-h)!important;
  background:linear-gradient(180deg,#0c1118 0%,#070a0f 100%)!important;
  border-bottom:0!important;
  box-shadow:0 16px 48px rgba(0,0,0,.28)!important;
  transition:transform .34s var(--ease-out), box-shadow .25s var(--ease-out), height .25s var(--ease-out)!important;
}
.site-header.header-hidden{transform:translateY(-110%)!important;}
.site-header.scrolled{height:64px!important;box-shadow:0 10px 34px rgba(0,0,0,.28)!important;}
.header-inner{
  height:100%!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:0 clamp(16px,3vw,34px)!important;
}
.brand{margin:0!important;display:flex!important;align-items:center!important;min-width:0!important;}
.brand-logo{
  height:42px!important;
  width:auto!important;
  max-width:min(210px,36vw)!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:0!important;
  filter:none!important;
}
.site-header.scrolled .brand-logo{height:36px!important;}
.main-nav{
  justify-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:3px!important;
  height:auto!important;
  flex:none!important;
  min-width:0!important;
  padding:6px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.07)!important;
  border:1px solid rgba(255,255,255,.08)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07)!important;
}
.nav-link{
  color:rgba(255,255,255,.78)!important;
  padding:10px 14px!important;
  border-radius:999px!important;
  font-size:14px!important;
  line-height:1!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  height:auto!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.nav-link::after{display:none!important;}
.nav-link:hover,.nav-link.active{
  color:#fff!important;
  background:var(--sixt-red)!important;
  box-shadow:0 10px 22px rgba(255,53,94,.28)!important;
}
.header-ctas{gap:10px!important;margin:0!important;justify-self:end!important;}
.btn-outline-header,.btn-cta-header{
  border:0!important;
  outline:0!important;
  border-radius:999px!important;
  min-height:42px!important;
  padding:11px 18px!important;
  font-size:14px!important;
  font-weight:900!important;
  box-shadow:none!important;
}
.btn-outline-header{
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
.btn-outline-header:hover{background:rgba(255,255,255,.18)!important;color:#fff!important;}
.btn-outline-header svg{color:var(--sixt-red)!important;}
.btn-cta-header{background:var(--sixt-red)!important;color:#fff!important;}
.btn-cta-header:hover{background:var(--sixt-red-hover)!important;transform:translateY(-1px)!important;}
.ham-btn{
  border:0!important;
  width:44px!important;
  height:44px!important;
  padding:0!important;
  margin-left:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.10)!important;
  align-items:center!important;
}
.ham-btn span{background:#fff!important;width:20px!important;}
.mobile-drawer{
  top:var(--header-h)!important;
  background:#080c12!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  box-shadow:0 26px 70px rgba(0,0,0,.35)!important;
  z-index:999!important;
}
.mobile-drawer.open{max-height:calc(100dvh - var(--header-h))!important;overflow:auto!important;}
.mobile-drawer a{
  color:rgba(255,255,255,.88)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
  background:transparent!important;
  font-size:18px!important;
  font-weight:800!important;
  padding:18px 24px!important;
}
.mobile-drawer a:hover,.mobile-drawer a.active{color:#fff!important;background:rgba(255,255,255,.07)!important;}
.mobile-drawer .drawer-cta{
  margin:16px 20px!important;
  border-radius:18px!important;
  background:var(--sixt-red)!important;
  color:#fff!important;
  text-align:center!important;
  border:0!important;
}
.drawer-phones{
  background:rgba(255,255,255,.06)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding:12px 24px 24px!important;
}
.drawer-phones a{font-size:15px!important;color:#fff!important;border-bottom:0!important;padding:8px 0!important;}
.hero{margin-top:var(--header-h)!important;}
.page-hero-sec{margin-top:var(--header-h)!important;}
.hero-content{min-height:calc(100vh - var(--header-h))!important;}

/* Keep all text readable in Sixt-style mixed sections */
.section:not(.section--black) .s-title,
.section--gray .s-title,
.split-text .s-title,
.team-section-noimg .s-title{color:#0f172a!important;}
.section:not(.section--black) .s-lead,
.section--gray .s-lead,
.split-text .s-lead,
.team-section-noimg .s-lead{color:#475569!important;}
.split-text,.card,.step-card,.contact-form-card,.contact-info{color:#0f172a!important;}
.check-list li,.step-card p,.contact-info .c-val,.contact-info a{color:#243244!important;}
.section--black .s-title,.section--black h2,.section--black h3{color:#fff!important;}
.section--black .s-lead,.section--black p{color:rgba(255,255,255,.82)!important;}

/* App badges: real store-style badges + QR */
.app-store-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.store-card{
  grid-template-columns:1fr auto!important;
  gap:18px!important;
  align-items:center!important;
  border-radius:22px!important;
  padding:20px!important;
}
.store-badge{width:190px!important;max-width:100%!important;height:auto!important;display:block!important;}
.store-card .app-qr{width:118px!important;height:118px!important;border-radius:16px!important;}

@media (max-width:1180px){
  .main-nav{gap:2px!important;padding:5px!important;}
  .nav-link{padding:10px 11px!important;font-size:13px!important;}
  .btn-outline-header{display:none!important;}
}
@media (max-width:980px){
  :root{--header-h:68px;}
  .header-inner{display:flex!important;justify-content:space-between!important;gap:12px!important;padding:0 16px!important;}
  .main-nav{display:none!important;}
  .ham-btn{display:flex!important;}
  .brand-logo{height:38px!important;max-width:190px!important;}
  .site-header.scrolled .brand-logo{height:34px!important;}
  .btn-cta-header{min-height:40px!important;padding:10px 14px!important;font-size:12px!important;letter-spacing:.02em!important;}
  .header-ctas{gap:8px!important;}
  .hero{min-height:auto!important;}
  .hero-content{min-height:calc(88vh - var(--header-h))!important;padding:70px 18px 0!important;}
  .hero-text{padding-bottom:36px!important;max-width:94vw!important;}
  .booking-inner,.container,.cities-inner{padding-left:18px!important;padding-right:18px!important;}
  .bf-row{grid-template-columns:1fr!important;gap:12px!important;}
  .booking-tabs{overflow-x:auto!important;white-space:nowrap!important;}
  .trust-inner{display:grid!important;grid-template-columns:repeat(2,1fr)!important;padding:0!important;}
  .trust-item{padding:18px 12px!important;}
  .split-section{grid-template-columns:1fr!important;}
  .split-img{min-height:300px!important;}
  .steps-grid,.values-grid,.team-grid,.services-grid{grid-template-columns:1fr!important;}
  .app-download-inner{grid-template-columns:1fr!important;padding:0 18px!important;gap:24px!important;}
  .app-store-grid{grid-template-columns:1fr!important;}
}
@media (max-width:560px){
  :root{--header-h:64px;}
  .brand-logo{height:32px!important;max-width:150px!important;}
  .site-header.scrolled .brand-logo{height:30px!important;}
  .btn-cta-header{padding:9px 11px!important;font-size:11px!important;min-height:38px!important;}
  .ham-btn{width:40px!important;height:40px!important;}
  .hero-title{font-size:clamp(30px,9vw,42px)!important;line-height:1.04!important;}
  .hero-subtitle{font-size:16px!important;}
  .hero-pills{gap:8px!important;}
  .hero-pill{font-size:12px!important;padding:7px 10px!important;}
  .section{padding:56px 0!important;}
  .s-title{font-size:clamp(28px,8vw,36px)!important;}
  .services-showcase .svc-card--showcase,.svc-card--showcase{min-height:540px!important;border-radius:22px!important;}
  .svc-card--showcase .svc-body{padding:26px 20px 0!important;}
  .svc-card--showcase h3{font-size:30px!important;}
  .svc-media{height:230px!important;}
  .store-card{grid-template-columns:1fr!important;text-align:center!important;justify-items:center!important;}
  .store-badge{width:178px!important;}
  .store-card .app-qr{width:108px!important;height:108px!important;}
}


/* ================================================================
   FINAL V10 — Mobile navigation readability verification/fix
   Purpose: make the mobile header + drawer readable in every page state.
   ================================================================ */
@media (max-width: 980px) {
  .site-header,
  .site-header.scrolled {
    background: linear-gradient(180deg, #070a0f 0%, #0d1118 100%) !important;
    color: #ffffff !important;
    border-bottom: 0 !important;
  }
  .header-inner { color: #ffffff !important; }
  .brand-logo {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    filter: none !important;
  }
  .header-ctas { color: #ffffff !important; }
  .btn-cta-header {
    background: #ff355e !important;
    color: #ffffff !important;
    border: 0 !important;
    text-shadow: none !important;
    box-shadow: 0 8px 22px rgba(255,53,94,.28) !important;
  }
  .btn-cta-header:hover,
  .btn-cta-header:focus-visible {
    background: #e91e4f !important;
    color: #ffffff !important;
  }
  .ham-btn {
    background: rgba(255,255,255,.13) !important;
    border: 0 !important;
    color: #ffffff !important;
  }
  .ham-btn span { background: #ffffff !important; opacity: 1 !important; }

  .mobile-drawer,
  body.page-dark .mobile-drawer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    background: #060a10 !important;
    color: #ffffff !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: 0 28px 80px rgba(0,0,0,.55) !important;
  }
  .mobile-drawer.open {
    max-height: calc(100dvh - var(--header-h)) !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .mobile-drawer a,
  body.page-dark .mobile-drawer a,
  .mobile-drawer .drawer-phones a,
  .drawer-phones a {
    color: #ffffff !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(255,255,255,.10) !important;
    text-shadow: none !important;
    opacity: 1 !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
  }
  .mobile-drawer > a:not(.drawer-cta) {
    display: flex !important;
    align-items: center !important;
    min-height: 58px !important;
    padding: 18px 24px !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
  }
  .mobile-drawer a:hover,
  .mobile-drawer a:focus-visible,
  .mobile-drawer a.active,
  body.page-dark .mobile-drawer a:hover,
  body.page-dark .mobile-drawer a.active {
    color: #ffffff !important;
    background: rgba(255,255,255,.10) !important;
    outline: none !important;
  }
  .mobile-drawer a.active:not(.drawer-cta) {
    box-shadow: inset 4px 0 0 #ff355e !important;
  }
  .mobile-drawer .drawer-cta {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    min-height: 54px !important;
    margin: 18px 20px !important;
    padding: 16px 20px !important;
    border-radius: 999px !important;
    background: #ff355e !important;
    color: #ffffff !important;
    border: 0 !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    box-shadow: 0 14px 28px rgba(255,53,94,.28) !important;
  }
  .mobile-drawer .drawer-cta:hover,
  .mobile-drawer .drawer-cta:focus-visible {
    background: #e91e4f !important;
    color: #ffffff !important;
  }
  .drawer-phones {
    background: rgba(255,255,255,.07) !important;
    border-top: 1px solid rgba(255,255,255,.12) !important;
    padding: 14px 24px 26px !important;
  }
  .drawer-phones a {
    min-height: 36px !important;
    padding: 8px 0 !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    border-bottom: 0 !important;
  }
}

@media (max-width: 560px) {
  .mobile-drawer > a:not(.drawer-cta) {
    min-height: 56px !important;
    padding: 17px 20px !important;
    font-size: 17px !important;
  }
  .mobile-drawer .drawer-cta {
    margin: 16px 16px !important;
    font-size: 15px !important;
  }
  .drawer-phones { padding-left: 20px !important; padding-right: 20px !important; }
}


/* ================================================================
   FINAL V11 — Sixt-like single gradient header, no CTA borders,
   HD visible logo, app badges like store buttons
   ================================================================ */
:root { --header-h: 74px; }
.topbar { display: none !important; }
.site-header,
.site-header.scrolled {
  top: 0 !important;
  height: var(--header-h) !important;
  background:
    radial-gradient(circle at 14% 0%, rgba(255,53,94,.20) 0%, rgba(255,53,94,0) 32%),
    linear-gradient(90deg, #07090d 0%, #121821 48%, #07090d 100%) !important;
  border: 0 !important;
  border-bottom: 0 !important;
  box-shadow: 0 16px 48px rgba(0,0,0,.34) !important;
  color: #fff !important;
}
.site-header.header-hidden { transform: translateY(-112%) !important; }
.header-inner {
  max-width: 1440px !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  padding: 0 clamp(18px, 3.2vw, 46px) !important;
  gap: 22px !important;
}
.brand,
.brand:hover,
.brand:focus-visible {
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.brand-logo,
.site-header.scrolled .brand-logo {
  height: 46px !important;
  max-width: min(240px, 34vw) !important;
  width: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  filter: drop-shadow(0 2px 3px rgba(0,0,0,.32)) !important;
}
.main-nav {
  background: rgba(255,255,255,.08) !important;
  border: 0 !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
  padding: 6px !important;
}
.nav-link {
  color: rgba(255,255,255,.86) !important;
}
.nav-link:hover,
.nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg, #ff355e 0%, #e91e4f 100%) !important;
  box-shadow: 0 10px 26px rgba(255,53,94,.25) !important;
}
.header-ctas,
.header-ctas * { border: 0 !important; }
.btn-outline-header,
.btn-outline-header:hover,
.btn-outline-header:focus-visible,
.btn-cta-header,
.btn-cta-header:hover,
.btn-cta-header:focus-visible,
.ham-btn,
.ham-btn:hover,
.ham-btn:focus-visible {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}
.btn-outline-header {
  background: rgba(255,255,255,.13) !important;
  color: #fff !important;
}
.btn-outline-header:hover,
.btn-outline-header:focus-visible {
  background: rgba(255,255,255,.22) !important;
  color: #fff !important;
}
.btn-cta-header {
  background: #ff355e !important;
  color: #fff !important;
}
.btn-cta-header:hover,
.btn-cta-header:focus-visible { background: #e91e4f !important; }
.ham-btn { background: rgba(255,255,255,.12) !important; }
.ham-btn:hover,
.ham-btn:focus-visible { background: rgba(255,255,255,.20) !important; }
.ham-btn span { background: #fff !important; }

/* Store badges exactly as badge buttons, not as bordered cards */
.app-download-section {
  background: linear-gradient(180deg, #f3f5f8 0%, #ffffff 100%) !important;
}
.app-store-badges,
.app-card-wrap.app-store-badges {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
}
.store-download-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 16px !important;
}
.store-badge-link,
.store-badge-link:hover,
.store-badge-link:focus-visible {
  display: inline-flex !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 7px !important;
}
.store-badge-link:hover { transform: translateY(-1px) !important; }
.store-badge {
  width: 160px !important;
  height: 48px !important;
  display: block !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.store-download-item .app-qr {
  width: 112px !important;
  height: 112px !important;
  padding: 8px !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
}

@media (max-width: 1180px) {
  .brand-logo,
  .site-header.scrolled .brand-logo { height: 42px !important; max-width: 210px !important; }
  .nav-link { padding-left: 10px !important; padding-right: 10px !important; }
}
@media (max-width: 980px) {
  :root { --header-h: 66px; }
  .site-header,
  .site-header.scrolled {
    height: var(--header-h) !important;
    background:
      radial-gradient(circle at 12% 0%, rgba(255,53,94,.22) 0%, rgba(255,53,94,0) 38%),
      linear-gradient(90deg, #05070b 0%, #111821 52%, #05070b 100%) !important;
  }
  .header-inner { padding: 0 14px !important; gap: 10px !important; }
  .brand-logo,
  .site-header.scrolled .brand-logo { height: 36px !important; max-width: 176px !important; }
  .btn-cta-header { border: 0 !important; box-shadow: none !important; min-height: 38px !important; padding: 9px 13px !important; }
  .ham-btn { border: 0 !important; box-shadow: none !important; width: 40px !important; height: 40px !important; }
  .mobile-drawer { top: var(--header-h) !important; background: #05070b !important; border: 0 !important; }
  .mobile-drawer a { color: #fff !important; }
  .hero, .page-hero-sec { margin-top: var(--header-h) !important; }
  .app-store-badges,
  .app-card-wrap.app-store-badges { grid-template-columns: 1fr !important; gap: 22px !important; }
  .store-download-item { align-items: flex-start !important; }
}
@media (max-width: 560px) {
  :root { --header-h: 62px; }
  .brand-logo,
  .site-header.scrolled .brand-logo { height: 30px !important; max-width: 132px !important; }
  .btn-cta-header { min-height: 36px !important; padding: 8px 10px !important; font-size: 10.5px !important; }
  .ham-btn { width: 38px !important; height: 38px !important; }
  .store-badge { width: 150px !important; height: 45px !important; }
  .store-download-item .app-qr { width: 104px !important; height: 104px !important; }
}


/* ================================================================
   FINAL V12 — Sixt-style responsive mobile header/app behaviour
   ================================================================ */
:root { --header-h: 76px; }
.site-header,
.site-header.scrolled {
  background:
    radial-gradient(circle at 12% -20%, rgba(255,53,94,.34) 0%, rgba(255,53,94,.08) 22%, rgba(255,53,94,0) 42%),
    linear-gradient(112deg, #020407 0%, #111927 43%, #171b25 67%, #05070b 100%) !important;
  transition: transform .36s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, background .28s ease !important;
  will-change: transform !important;
  isolation: isolate !important;
}
.site-header::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,53,94,.72), rgba(255,255,255,.16), rgba(255,53,94,.42));
  pointer-events: none;
}
.header-inner {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr) auto !important;
  align-items: center !important;
  height: 100% !important;
}
.brand { min-width: 0 !important; }
.brand-logo,
.site-header.scrolled .brand-logo {
  height: 48px !important;
  max-width: 260px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.55)) drop-shadow(0 0 6px rgba(255,255,255,.10)) !important;
}
.btn-outline-header,
.btn-outline-header:hover,
.btn-outline-header:focus-visible,
.btn-cta-header,
.btn-cta-header:hover,
.btn-cta-header:focus-visible,
.ham-btn,
.ham-btn:hover,
.ham-btn:focus-visible {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.btn-outline-header {
  background: rgba(255,255,255,.11) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.btn-cta-header {
  background: linear-gradient(135deg, #ff355e 0%, #e91e4f 100%) !important;
  color: #fff !important;
  border-radius: 999px !important;
}
.main-nav {
  border: none !important;
  background: rgba(255,255,255,.075) !important;
  backdrop-filter: blur(14px) !important;
}
.nav-link { border: none !important; color: rgba(255,255,255,.88) !important; }
.nav-link:hover,
.nav-link.active { color:#fff !important; }

/* Mobile: Sixt-like compact adaptive header and animated drawer */
@media (max-width: 980px) {
  :root { --header-h: 64px; }
  .site-header,
  .site-header.scrolled {
    height: var(--header-h) !important;
    background:
      radial-gradient(circle at 0% -30%, rgba(255,53,94,.34) 0%, rgba(255,53,94,.08) 38%, rgba(255,53,94,0) 62%),
      linear-gradient(112deg, #030509 0%, #111827 56%, #05070b 100%) !important;
  }
  .header-inner {
    grid-template-columns: minmax(112px, auto) minmax(0, 1fr) auto !important;
    padding: 0 14px !important;
    gap: 8px !important;
  }
  .brand { margin: 0 !important; display:flex !important; align-items:center !important; }
  .brand-logo,
  .site-header.scrolled .brand-logo {
    height: 34px !important;
    max-width: 156px !important;
  }
  .header-ctas { gap: 8px !important; justify-content: flex-end !important; }
  .btn-outline-header { display:none !important; }
  .btn-cta-header {
    min-height: 38px !important;
    padding: 0 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 11px !important;
    letter-spacing: .045em !important;
    white-space: nowrap !important;
  }
  .ham-btn {
    display: inline-flex !important;
    width: 40px !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.12) !important;
    transition: background .22s ease, transform .22s ease !important;
  }
  .ham-btn:active { transform: scale(.96) !important; }
  .ham-btn span { width: 18px !important; height: 2px !important; border-radius: 3px !important; background:#fff !important; }
  .mobile-drawer,
  body.page-dark .mobile-drawer {
    position: fixed !important;
    top: var(--header-h) !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    height: calc(100dvh - var(--header-h)) !important;
    max-height: none !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 12px 14px 22px !important;
    background:
      radial-gradient(circle at 0% 0%, rgba(255,53,94,.18) 0%, rgba(255,53,94,0) 40%),
      linear-gradient(180deg, #05070b 0%, #101827 100%) !important;
    border: none !important;
    box-shadow: 0 28px 70px rgba(0,0,0,.45) !important;
    transform: translateY(-12px) scale(.985) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: opacity .28s ease, transform .34s cubic-bezier(.22,1,.36,1), visibility .28s ease !important;
    z-index: 999 !important;
  }
  .mobile-drawer.open,
  body.page-dark .mobile-drawer.open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) scale(1) !important;
  }
  .mobile-drawer a,
  body.page-dark .mobile-drawer a {
    color: #fff !important;
    min-height: 56px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 18px !important;
    margin: 3px 0 !important;
    border: none !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.045) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    letter-spacing: .01em !important;
    transform: translateX(-10px) !important;
    opacity: 0 !important;
    transition: opacity .24s ease, transform .34s cubic-bezier(.22,1,.36,1), background .18s ease, color .18s ease !important;
  }
  .mobile-drawer.open a { opacity: 1 !important; transform: translateX(0) !important; }
  .mobile-drawer.open a:nth-child(1){transition-delay:.03s!important}
  .mobile-drawer.open a:nth-child(2){transition-delay:.06s!important}
  .mobile-drawer.open a:nth-child(3){transition-delay:.09s!important}
  .mobile-drawer.open a:nth-child(4){transition-delay:.12s!important}
  .mobile-drawer.open a:nth-child(5){transition-delay:.15s!important}
  .mobile-drawer.open a:nth-child(6){transition-delay:.18s!important}
  .mobile-drawer a:hover,
  .mobile-drawer a:focus-visible,
  .mobile-drawer a.active,
  body.page-dark .mobile-drawer a:hover,
  body.page-dark .mobile-drawer a.active {
    background: rgba(255,53,94,.18) !important;
    color: #fff !important;
  }
  .mobile-drawer .drawer-cta {
    margin-top: 12px !important;
    background: linear-gradient(135deg, #ff355e 0%, #e91e4f 100%) !important;
    justify-content: center !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .055em !important;
  }
  .drawer-phones {
    margin-top: 14px !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    background: rgba(255,255,255,.06) !important;
    border: none !important;
    border-radius: 18px !important;
  }
  .mobile-drawer .drawer-phones a {
    opacity: 1 !important;
    transform: none !important;
    margin: 0 !important;
    min-height: 46px !important;
    font-size: 15px !important;
    background: rgba(0,0,0,.18) !important;
    color: #fff !important;
    justify-content: center !important;
  }

  /* Sixt-like mobile content rhythm */
  .hero-content { padding-left: 18px !important; padding-right: 18px !important; }
  .hero-text { padding-bottom: 34px !important; }
  .hero-title { font-size: clamp(34px, 10vw, 48px) !important; letter-spacing: -.035em !important; }
  .hero-subtitle { font-size: 16px !important; line-height: 1.55 !important; }
  .booking-inner, .container { padding-left: 18px !important; padding-right: 18px !important; }
  .services-showcase { gap: 18px !important; }
  .svc-card--showcase {
    border-radius: 22px !important;
    min-height: 520px !important;
    transform-origin: center bottom !important;
  }
  body.js-loaded .service-sequence > .svc-card { transition-duration: .52s !important; }
  .svc-card--showcase .svc-body { padding: 25px 22px 0 !important; }
  .svc-card--showcase h3 { font-size: clamp(28px, 9vw, 38px) !important; }
}

/* App store section: device-adaptive like Sixt */
.app-download-section .s-title { color:#111827 !important; }
.app-download-section .s-lead { color:#475569 !important; }
.sixt-app-badges,
.app-card-wrap.sixt-app-badges {
  display: flex !important;
  align-items: flex-start !important;
  gap: 34px !important;
  flex-wrap: wrap !important;
}
.store-download-item {
  display: grid !important;
  grid-template-columns: auto auto !important;
  align-items: center !important;
  gap: 16px !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}
.store-badge-link,
.store-badge-link:hover,
.store-badge-link:focus-visible {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  transition: transform .2s ease, filter .2s ease !important;
}
.store-badge-link:hover,
.store-badge-link:focus-visible { transform: translateY(-2px) !important; filter: brightness(1.08) !important; }
.store-badge { height: 40px !important; width: auto !important; max-width: none !important; display:block !important; }
.store-badge--apple { width: 120px !important; }
.store-badge--google { width: 135px !important; }
.store-download-item .app-qr {
  width: 92px !important;
  height: 92px !important;
  border-radius: 12px !important;
  background: #fff !important;
  padding: 7px !important;
  box-shadow: 0 14px 34px rgba(15,23,42,.12) !important;
}
@media (max-width: 760px) {
  .app-download-section { padding: 50px 0 56px !important; }
  .app-download-inner { grid-template-columns: 1fr !important; gap: 24px !important; padding: 0 18px !important; }
  .sixt-app-badges,
  .app-card-wrap.sixt-app-badges {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .store-download-item {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 54px !important;
    background: transparent !important;
  }
  .store-download-item .app-qr { display: none !important; }
  .store-badge-link { display: inline-flex !important; }
  .store-badge { height: 44px !important; }
  .store-badge--apple { width: 132px !important; }
  .store-badge--google { width: 149px !important; }
}
@media (max-width: 390px) {
  .brand-logo,
  .site-header.scrolled .brand-logo { height: 30px !important; max-width: 126px !important; }
  .btn-cta-header { font-size: 10px !important; padding: 0 10px !important; }
  .ham-btn { width: 38px !important; height: 38px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .site-header, .mobile-drawer, .mobile-drawer a, .store-badge-link, .svc-card--showcase { transition: none !important; animation: none !important; }
}


/* ================================================================
   FINAL V13 — mobile-first Sixt-like header, clean logo, no CTA borders
   ================================================================ */
:root{
  --kff-navy:#112B4C;
  --kff-red:#E22B67;
  --kff-header-1:#05070b;
  --kff-header-2:#151b24;
  --kff-header-3:#2b323b;
  --kff-page:#f3f5f8;
  --kff-ink:#111827;
  --kff-muted:#4b5563;
}
html,body{background:var(--kff-page)!important;color:var(--kff-ink)!important;}
body::before, body::after{display:none!important;}
/* gradient ONLY in top panel */
.site-header{
  top:0!important;
  height:76px!important;
  background:linear-gradient(110deg,var(--kff-header-1) 0%,var(--kff-header-2) 54%,var(--kff-header-3) 100%)!important;
  border:0!important;
  box-shadow:0 18px 42px rgba(2,6,23,.26)!important;
  transition:transform .32s cubic-bezier(.22,.61,.36,1), box-shadow .25s ease, height .25s ease!important;
}
.site-header.scrolled{height:66px!important;box-shadow:0 12px 32px rgba(2,6,23,.24)!important;}
.site-header.header-hidden{transform:translateY(-110%)!important;}
.header-inner{height:100%!important;max-width:1280px!important;padding:0 28px!important;display:flex!important;align-items:center!important;gap:22px!important;}
.brand{margin:0 10px 0 0!important;display:flex!important;align-items:center!important;flex:0 0 auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.brand::before,.brand::after{display:none!important;}
.brand-logo{height:54px!important;width:auto!important;max-width:250px!important;display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;object-fit:contain!important;}
.site-header.scrolled .brand-logo{height:48px!important;}
.main-nav{
  flex:1 1 auto!important;
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:4px!important;
  height:auto!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.nav-link{
  color:rgba(255,255,255,.84)!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.02em!important;
  padding:12px 15px!important;
  border-radius:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  height:auto!important;
}
.nav-link::after{display:none!important;}
.nav-link:hover,.nav-link.active{color:#fff!important;background:rgba(255,255,255,.08)!important;box-shadow:none!important;}
.header-ctas{margin-left:auto!important;display:flex!important;align-items:center!important;gap:10px!important;}
.btn-outline-header,.btn-cta-header,.header-ctas a,.header-ctas button{
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}
.btn-outline-header{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
  border-radius:0!important;
  padding:12px 16px!important;
  font-weight:800!important;
}
.btn-outline-header:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;}
.btn-cta-header{
  background:var(--kff-red)!important;
  color:#fff!important;
  border-radius:0!important;
  padding:13px 20px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}
.btn-cta-header:hover{background:#c21852!important;color:#fff!important;transform:translateY(-1px)!important;box-shadow:none!important;}
.ham-btn{border:0!important;background:transparent!important;box-shadow:none!important;padding:12px!important;margin-left:4px!important;}
.ham-btn span{background:#fff!important;height:2px!important;width:26px!important;}
/* no body/site-wide gradients */
.hero-overlay{background:rgba(3,7,12,.76)!important;}
.section,.section--gray,.cities-bar,.booking-panel,.app-download-section,.service-mini-strip,.split-text,.team-section-noimg{
  background:var(--kff-page)!important;
  background-image:none!important;
}
.svc-card--showcase,.trust-bar,.cta-band,.section--black{
  background:#0d1117!important;
  background-image:none!important;
}
.svc-card--showcase-light{background:#151b24!important;background-image:none!important;}
.svc-card--showcase-vehicle{background:#1f2937!important;background-image:none!important;}
/* text readability */
.s-title,.split-text .s-title,.section .s-title{color:#111827!important;}
.s-lead,.split-text .s-lead,.section .s-lead,.svc-body p{color:#4b5563!important;}
.svc-card--showcase h3,.svc-card--showcase .svc-kicker,.svc-card--showcase p,.section--black .s-title,.section--black .s-lead,.cta-band *{color:#fff!important;}
.svc-card--showcase p{color:rgba(255,255,255,.86)!important;}
.footer-logo{content:url('../images/kff-van-logo-hd.svg')!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;max-width:260px!important;}
.site-footer{background:#eef2f6!important;color:#111827!important;border-top:1px solid #dde3ea!important;}
.site-footer *{color:#111827!important;}
.footer-col a,.footer-hours{color:#374151!important;}
/* App badges: buttons only, no QR, no surrounding card feel */
.app-download-section{padding:68px 0!important;}
.app-download-inner{align-items:center!important;}
.sixt-app-badges,.app-card-wrap.sixt-app-badges{
  display:flex!important;flex-wrap:wrap!important;gap:14px!important;align-items:center!important;justify-content:flex-end!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;
}
.store-download-item{display:block!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;min-height:0!important;}
.store-download-item .app-qr,.app-qr{display:none!important;}
.store-badge-link{display:inline-flex!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;line-height:0!important;border-radius:8px!important;overflow:hidden!important;transition:transform .18s ease,filter .18s ease!important;}
.store-badge-link:hover,.store-badge-link:focus-visible{transform:translateY(-2px)!important;filter:brightness(1.08)!important;}
.store-badge{height:48px!important;width:auto!important;max-width:none!important;display:block!important;}
.store-badge--apple{width:160px!important;}
.store-badge--google{width:180px!important;}
/* Better Sixt-like mobile adjustments */
.mobile-drawer{
  top:76px!important;left:0!important;right:0!important;
  background:#090d14!important;color:#fff!important;border:0!important;
  max-height:none!important;height:calc(100dvh - 76px)!important;
  transform:translateY(-12px)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .22s ease,transform .28s cubic-bezier(.22,.61,.36,1),visibility .22s!important;
  box-shadow:0 30px 80px rgba(0,0,0,.35)!important;
  padding:10px 18px 24px!important;overflow:auto!important;
}
.mobile-drawer.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:translateY(0)!important;}
.mobile-drawer a{color:#fff!important;background:transparent!important;border:0!important;border-bottom:1px solid rgba(255,255,255,.1)!important;font-size:18px!important;font-weight:800!important;padding:18px 6px!important;}
.mobile-drawer a:hover,.mobile-drawer a.active{color:#fff!important;background:rgba(255,255,255,.08)!important;padding-left:14px!important;}
.mobile-drawer .drawer-cta{background:var(--kff-red)!important;color:#fff!important;border:0!important;text-align:center!important;margin:18px 0 8px!important;border-radius:0!important;}
.drawer-phones{background:rgba(255,255,255,.06)!important;border:0!important;padding:12px 14px!important;margin-top:12px!important;}
.drawer-phones a{font-size:16px!important;color:#fff!important;border:0!important;padding:10px 0!important;}
@media (max-width: 980px){
  .site-header{height:68px!important;}
  .site-header.scrolled{height:62px!important;}
  .header-inner{padding:0 16px!important;gap:10px!important;}
  .brand-logo{height:45px!important;max-width:196px!important;}
  .site-header.scrolled .brand-logo{height:40px!important;}
  .main-nav{display:none!important;}
  .btn-outline-header{display:none!important;}
  .btn-cta-header{display:none!important;}
  .ham-btn{display:flex!important;}
  .mobile-drawer{top:68px!important;height:calc(100dvh - 68px)!important;}
  .hero{min-height:calc(100dvh - 68px)!important;margin-top:0!important;}
  .hero-content{padding:0 18px!important;min-height:calc(100dvh - 68px)!important;}
  .hero-text{padding-bottom:34px!important;max-width:100%!important;}
  .hero-title{font-size:clamp(34px,11vw,54px)!important;line-height:1.02!important;}
  .hero-subtitle{font-size:17px!important;}
  .hero-pills{gap:8px!important;}
  .hero-pill{font-size:12px!important;padding:7px 10px!important;}
  .booking-inner,.container,.cities-inner{padding-left:18px!important;padding-right:18px!important;}
  .booking-panel{box-shadow:0 14px 34px rgba(15,23,42,.08)!important;}
  .booking-tabs{overflow:auto!important;white-space:nowrap!important;}
  .bf-row{grid-template-columns:1fr!important;gap:12px!important;}
  .bf-submit{width:100%!important;height:50px!important;}
  .trust-inner{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;padding:0!important;}
  .trust-item{padding:18px 10px!important;}
  .trust-num{font-size:22px!important;}
  .section{padding:56px 0!important;}
  .services-showcase{grid-template-columns:1fr!important;gap:18px!important;}
  .svc-card--showcase{min-height:auto!important;border-radius:0!important;}
  .svc-card--showcase .svc-body{padding:28px 22px 0!important;}
  .svc-card--showcase h3{font-size:32px!important;}
  .svc-media{height:220px!important;}
  .service-mini-strip{border-radius:0!important;padding:22px!important;}
  .app-download-section{padding:48px 0!important;}
  .app-download-inner{grid-template-columns:1fr!important;gap:20px!important;padding:0 18px!important;text-align:left!important;}
  .sixt-app-badges,.app-card-wrap.sixt-app-badges{justify-content:flex-start!important;gap:10px!important;}
  .store-badge{height:44px!important;}
  .store-badge--apple{width:147px!important;}
  .store-badge--google{width:165px!important;}
  .split-section{grid-template-columns:1fr!important;}
  .split-text{padding:34px 22px!important;}
}
@media (max-width: 420px){
  .header-inner{padding:0 12px!important;}
  .brand-logo{height:39px!important;max-width:172px!important;}
  .ham-btn span{width:24px!important;}
  .hero-title{font-size:36px!important;}
  .store-badge{height:42px!important;}
  .store-badge--apple{width:140px!important;}
  .store-badge--google{width:158px!important;}
  .sixt-app-badges,.app-card-wrap.sixt-app-badges{flex-direction:column!important;align-items:flex-start!important;}
}
@media (prefers-reduced-motion: reduce){
  .site-header,.mobile-drawer,.store-badge-link,.svc-card--showcase{transition:none!important;animation:none!important;}
}


/* =========================================================
   V14 FINAL OVERRIDES — exact logo, flat site, top-panel gradient only
   ========================================================= */
:root{
  --kff-red:#d93f77;
  --kff-red-2:#ef5a8c;
  --kff-ink:#596375;
  --kff-ink-dark:#243042;
  --kff-panel-a:#09111b;
  --kff-panel-b:#263446;
  --kff-soft:#f4f5f7;
}
html,body{background:#fff!important;color:var(--kff-ink-dark)!important;}
body{background-image:none!important;}
.section--gray,.cities-bar,.page-lightgrey,body.page-lightgrey,.service-mini-strip,.app-strip,.section--light,.section--dark-alt{
  background:#f5f6f8!important;
  background-image:none!important;
}
.section,.container,.split-section,.trust-bar,.site-footer,.footer-main,.footer-bottom{background-image:none!important;}
.site-footer{background:#eef1f5!important;color:var(--kff-ink-dark)!important;}
.site-footer *{color:inherit;}
.footer-col a{color:#425066!important;}
.footer-col a:hover{color:var(--kff-red)!important;}
.footer-logo{background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;max-width:250px!important;height:auto!important;}

/* Header */
.site-header{
  background:linear-gradient(90deg,var(--kff-panel-a) 0%, #142130 46%, var(--kff-panel-b) 100%)!important;
  border:0!important;
  box-shadow:0 18px 40px rgba(10,16,24,.22)!important;
}
.site-header::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,0));}
.header-inner{min-height:88px!important;padding:0 26px!important;gap:18px!important;}
.brand{display:flex!important;align-items:center!important;position:relative;z-index:3;}
.brand-logo,.site-header.scrolled .brand-logo{
  height:52px!important;
  max-width:245px!important;
  width:auto!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:none!important;
  object-fit:contain!important;
}
.main-nav{
  position:relative!important;
  display:flex!important;align-items:center!important;gap:6px!important;
  margin:0 auto!important;
  padding:7px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)!important;
  overflow:hidden!important;
}
.nav-indicator{
  position:absolute;
  top:7px;left:7px;
  height:calc(100% - 14px);
  border-radius:999px;
  background:linear-gradient(135deg,var(--kff-red) 0%, var(--kff-red-2) 100%);
  box-shadow:0 10px 20px rgba(217,63,119,.25);
  transition:left .35s cubic-bezier(.2,.8,.2,1), width .35s cubic-bezier(.2,.8,.2,1), opacity .25s ease;
  z-index:0; opacity:1;
}
.nav-link{
  position:relative!important;z-index:1!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:11px 18px!important;
  height:auto!important;
  border-radius:999px!important;
  color:rgba(255,255,255,.86)!important;
  font-weight:700!important;
  transition:color .25s ease, transform .25s ease, background .25s ease!important;
}
.nav-link::after{display:none!important;}
.nav-link:hover,.nav-link:focus-visible,.nav-link.active{color:#fff!important;transform:translateY(-1px);}

/* top panel CTA buttons - no borders */
.btn-outline-header,.btn-cta-header,.header-ctas a,.header-ctas button{
  border:0!important; outline:none!important; box-shadow:none!important;
  border-radius:999px!important;
}
.btn-outline-header{
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  padding:12px 16px!important;
}
.btn-outline-header:hover,.btn-outline-header:focus-visible{background:rgba(255,255,255,.20)!important;color:#fff!important;}
.btn-outline-header svg{color:var(--kff-red)!important;}
.btn-cta-header{
  background:var(--kff-red)!important;
  color:#fff!important;
  padding:12px 18px!important;
}
.btn-cta-header:hover,.btn-cta-header:focus-visible{background:#c92f66!important;color:#fff!important;transform:translateY(-1px)!important;}
.header-hidden{transform:translateY(-110%)!important;}

/* hero: no gradient, both sides equally visible */
.hero,.hero-bg{background:#0f1722!important;}
.hero-bg::before,.hero-bg::after{display:none!important;content:none!important;}
.hero-overlay{background:rgba(7,10,15,.16)!important;}
body.page-home .hero-overlay{background:rgba(7,10,15,.16)!important;}
.hero-img{object-position:center center!important;}
.hero-text{
  background:rgba(7,10,15,.42)!important;
  backdrop-filter:blur(10px);
  border-radius:26px!important;
  padding:26px 30px!important;
  box-shadow:0 14px 34px rgba(2,6,12,.18)!important;
  max-width:650px!important;
}
.hero-title,.s-title--white{color:#fff!important;}
.hero-subtitle,.s-lead--white{color:rgba(255,255,255,.92)!important;}
.hero-eyebrow{color:#fff!important;opacity:1!important;}
.hero-eyebrow::before{background:var(--kff-red)!important;}
.hero-pill{background:rgba(255,255,255,.10)!important;color:#fff!important;border-color:rgba(255,255,255,.24)!important;}
.hero-title em{color:var(--kff-red-2)!important;}

/* readable flat sections */
.s-title,.svc-body h3,.ld-text h2,.contact-form-card h3,.contact-info h3,.footer-col-title{color:var(--kff-ink-dark)!important;}
.s-lead,.svc-body p,.ld-text p,.footer-brand p,.contact-form-card p,.contact-info,.contact-info .c-val,.contact-info .c-label{color:#566171!important;}
.section-header .s-eyebrow,.s-eyebrow{color:var(--kff-red)!important;}
.s-eyebrow::before{background:var(--kff-red)!important;}
.trust-bar{background:#ffffff!important;border-top:1px solid #e8ebef!important;border-bottom:1px solid #e8ebef!important;}
.trust-item{color:var(--kff-ink-dark)!important;}
.trust-num{color:var(--kff-red)!important;}
.trust-item + .trust-item::before{background:#e1e6ed!important;}
.city-chip{background:#fff!important;color:var(--kff-ink-dark)!important;border:1px solid #dfe4ea!important;box-shadow:none!important;}
.split-text{background:#fff!important;}
.split-img-badge{background:var(--kff-red)!important;color:#fff!important;}

/* service cards keep stylish but no gradients */
.svc-card--showcase{
  background:#0f1823!important;
  box-shadow:0 18px 42px rgba(8,14,22,.12)!important;
}
.svc-card--showcase-light{background:#111c29!important;}
.svc-card--showcase-vehicle{background:#121d2a!important;}
.svc-kicker,.svc-card--showcase h3,.svc-btn{color:#fff!important;}
.svc-card--showcase p{color:rgba(255,255,255,.86)!important;}
.svc-btn{border-color:rgba(255,255,255,.72)!important;background:transparent!important;}
.svc-card--showcase:hover .svc-btn{background:#fff!important;color:var(--kff-ink-dark)!important;}
.service-mini-strip{border:1px solid #e6ebf0!important;box-shadow:none!important;background:#fff!important;}
.service-mini-list span{background:#f8f9fb!important;color:var(--kff-ink-dark)!important;border:1px solid #e1e7ed!important;}

/* app buttons only */
.store-links{display:flex!important;gap:14px!important;flex-wrap:wrap!important;align-items:center!important;}
.store-badge{height:54px!important;width:auto!important;display:block!important;border:0!important;box-shadow:none!important;}
.app-strip,.app-download,.app-section{background:#fff!important;}

/* mobile drawer/readability */
.mobile-drawer{
  background:linear-gradient(180deg,#08111a 0%, #152130 100%)!important;
  border-top:0!important;
  box-shadow:0 18px 40px rgba(4,8,14,.36)!important;
}
.mobile-drawer a{color:#fff!important;}
.mobile-drawer a.active,.mobile-drawer a:hover,.mobile-drawer a:focus-visible{background:rgba(255,255,255,.10)!important;color:#fff!important;}
.drawer-cta{background:var(--kff-red)!important;color:#fff!important;border:0!important;}
.drawer-phones a{color:#f5f7fa!important;}
.ham-btn span{background:#fff!important;}

/* responsive tuning */
@media (max-width: 1180px){
  .header-inner{min-height:82px!important;padding:0 20px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:46px!important;max-width:210px!important;}
  .nav-link{padding:10px 14px!important;font-size:14px!important;}
}
@media (max-width: 980px){
  .main-nav{display:none!important;}
  .header-inner{min-height:78px!important;}
  .btn-outline-header{display:none!important;}
  .btn-cta-header{display:inline-flex!important;min-height:40px!important;padding:10px 14px!important;font-size:12px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:42px!important;max-width:194px!important;}
}
@media (max-width: 760px){
  .header-inner{min-height:74px!important;padding:0 16px!important;gap:10px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:36px!important;max-width:170px!important;}
  .btn-cta-header{padding:9px 12px!important;font-size:11px!important;min-height:38px!important;}
  .hero-content{padding-left:16px!important;padding-right:16px!important;}
  .hero-text{padding:20px 18px!important;border-radius:22px!important;max-width:100%!important;}
  .hero-title{font-size:clamp(34px,10vw,48px)!important;}
  .hero-subtitle{font-size:15px!important;line-height:1.5!important;}
  .hero-pills{gap:8px!important;}
  .hero-pill{font-size:11px!important;padding:7px 11px!important;}
  .store-links{flex-direction:column!important;align-items:flex-start!important;}
  .store-badge{height:48px!important;}
}
@media (max-width: 480px){
  .header-inner{padding:0 14px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:32px!important;max-width:148px!important;}
  .btn-cta-header{padding:8px 11px!important;font-size:10.5px!important;min-height:36px!important;}
  .hero-text{padding:18px 16px!important;}
}


/* =========================================================
   V15 FINAL — cleaner Sixt-like nav, language switch, no hero blur
   ========================================================= */
.site-header{
  background:linear-gradient(92deg,#070d14 0%,#111b28 42%,#263647 100%)!important;
  border:0!important;
  box-shadow:0 16px 38px rgba(0,0,0,.22)!important;
}
.header-inner{min-height:84px!important;}
.main-nav{
  background:transparent!important;
  box-shadow:none!important;
  border-radius:0!important;
  gap:2px!important;
  padding:0!important;
  overflow:visible!important;
}
.nav-indicator{
  top:50%!important;
  transform:translateY(-50%)!important;
  height:42px!important;
  border-radius:4px!important;
  background:linear-gradient(90deg,#d93f77 0%,#ef5a8c 100%)!important;
  box-shadow:0 10px 26px rgba(217,63,119,.28)!important;
  z-index:0!important;
}
.nav-link{
  border-radius:4px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:14px!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  padding:12px 16px!important;
}
.nav-link:hover,.nav-link:focus-visible,.nav-link.active{
  color:#fff!important;
  transform:none!important;
  background:transparent!important;
}
.header-lang-switch{
  display:inline-flex;align-items:center;gap:3px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  position:relative; z-index:3;
}
.header-lang-btn{
  min-width:36px;height:30px;
  border:0!important;outline:0!important;box-shadow:none!important;
  border-radius:999px!important;
  color:rgba(255,255,255,.72)!important;
  background:transparent!important;
  font-size:12px!important;font-weight:800!important;
  letter-spacing:.08em!important;
  transition:background .25s ease,color .25s ease,transform .25s ease!important;
}
.header-lang-btn:hover{color:#fff!important;background:rgba(255,255,255,.10)!important;}
.header-lang-btn.active{background:#d93f77!important;color:#fff!important;}
.btn-outline-header,.btn-cta-header,.header-ctas a{border:0!important;box-shadow:none!important;}
.btn-outline-header{background:rgba(255,255,255,.12)!important;}
.btn-cta-header{background:#d93f77!important;}

/* Hero: no blur/background box; enhance visibility only via typography */
.hero-overlay,body.page-home .hero-overlay{
  background:rgba(4,8,12,.22)!important;
}
.hero-text{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
  max-width:720px!important;
}
.hero-title{
  color:#fff!important;
  text-shadow:0 4px 24px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.9)!important;
}
.hero-title em{color:#ff5b8e!important;text-shadow:0 4px 22px rgba(0,0,0,.7)!important;}
.hero-subtitle,.hero-eyebrow{
  color:#fff!important;
  text-shadow:0 3px 14px rgba(0,0,0,.78)!important;
}
.hero-pill{
  background:rgba(0,0,0,.36)!important;
  border:0!important;
  box-shadow:0 8px 18px rgba(0,0,0,.20)!important;
}

/* Store badges: clean, exact badge-only presentation */
.store-links,.app-badges{display:flex!important;gap:14px!important;align-items:center!important;flex-wrap:wrap!important;}
.store-badge{height:48px!important;width:auto!important;max-width:190px!important;border:0!important;box-shadow:none!important;background:transparent!important;}
.app-strip,.app-download,.app-section{background:#fff!important;background-image:none!important;}
.store-download-item,.store-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;}
.store-download-item .app-qr,.app-qr{display:none!important;}

@media (max-width:1180px){
  .header-lang-switch{display:none!important;}
  .nav-link{padding:11px 12px!important;}
}
@media (max-width:980px){
  .main-nav{display:none!important;}
  .header-lang-switch{display:inline-flex!important;margin-left:auto;}
  .header-ctas{margin-left:0!important;}
}
@media (max-width:760px){
  .header-inner{min-height:72px!important;}
  .header-lang-switch{padding:3px!important;}
  .header-lang-btn{min-width:31px;height:27px;font-size:11px!important;}
  .hero-overlay,body.page-home .hero-overlay{background:rgba(4,8,12,.28)!important;}
  .hero-text{padding:0!important;}
  .hero-title{font-size:clamp(34px,10.5vw,48px)!important;}
  .store-badge{height:44px!important;max-width:175px!important;}
}
@media (max-width:480px){
  .header-lang-switch{display:none!important;}
  .store-links,.app-badges{gap:10px!important;}
  .store-badge{height:42px!important;max-width:165px!important;}
}


/* =========================================================
   V17 — restore initial navigation structure + v11 logo
   ========================================================= */
:root{--header-h:72px;}
body{padding-top:0!important;}
/* Original top bar restored */
.topbar{
  display:block!important;
  position:fixed!important; top:0!important; left:0!important; right:0!important; z-index:1001!important;
  height:36px!important;
  background:#111111!important;
  color:#ffffff!important;
  font-size:12px!important; font-weight:600!important; letter-spacing:.02em!important;
}
.topbar-inner{
  max-width:1280px!important; margin:0 auto!important; padding:0 32px!important; height:100%!important;
  display:flex!important; align-items:center!important; justify-content:space-between!important; gap:16px!important;
}
.topbar-left{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:nowrap!important;}
.tb-item{display:inline-flex!important;align-items:center!important;gap:5px!important;color:rgba(255,255,255,.88)!important;}
.tb-item svg{color:#ff355e!important;}
.tb-sep{color:#ff355e!important;opacity:.65!important;}
.topbar-right{display:flex!important;align-items:center!important;gap:16px!important;}
.lang-switch{display:flex!important;align-items:center!important;gap:4px!important;background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.15)!important;border-radius:3px!important;padding:2px 4px!important;}
.lang-btn{font-size:11px!important;font-weight:700!important;color:rgba(255,255,255,.65)!important;padding:3px 8px!important;border-radius:2px!important;letter-spacing:.06em!important;background:transparent!important;border:0!important;}
.lang-btn.active{background:#ff355e!important;color:#fff!important;}
.lang-divider{color:rgba(255,255,255,.25)!important;font-size:11px!important;}
/* Initial navigation/header layout restored, with dark background for v11 header logo visibility */
.site-header,.site-header.scrolled{
  position:fixed!important; top:36px!important; left:0!important; right:0!important; z-index:1000!important;
  height:72px!important; min-height:72px!important;
  background:#111111!important;
  background-image:none!important;
  border:0!important;
  border-bottom:3px solid #ff355e!important;
  box-shadow:none!important;
  transition:box-shadow .3s ease,height .3s ease,transform .3s ease!important;
}
.site-header.scrolled{height:60px!important;min-height:60px!important;box-shadow:0 4px 24px rgba(0,0,0,.22)!important;}
.site-header::before,.site-header::after{display:none!important;}
.site-header.header-hidden{transform:translateY(-112%)!important;}
.header-inner{
  max-width:1280px!important; margin:0 auto!important; padding:0 32px!important; height:100%!important; min-height:0!important;
  display:flex!important; align-items:center!important; gap:0!important;
}
.brand{flex-shrink:0!important;margin-right:40px!important;display:flex!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important;}
.brand-logo,.site-header.scrolled .brand-logo{height:44px!important;max-width:230px!important;width:auto!important;object-fit:contain!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;}
.site-header.scrolled .brand-logo{height:36px!important;}
.main-nav{
  display:flex!important;align-items:stretch!important;flex:1!important;height:100%!important;gap:0!important;margin:0!important;padding:0!important;
  background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;
}
.nav-indicator{display:none!important;}
.nav-link{
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0 16px!important;height:100%!important;border-radius:0!important;
  font-size:14px!important;font-weight:700!important;letter-spacing:.02em!important;
  color:rgba(255,255,255,.86)!important;position:relative!important;white-space:nowrap!important;
  background:transparent!important;box-shadow:none!important;transform:none!important;transition:color .2s ease!important;
}
.nav-link::after{
  content:''!important;display:block!important;position:absolute!important;bottom:0!important;left:0!important;right:0!important;height:3px!important;
  background:#ff355e!important;transform:scaleX(0)!important;transform-origin:left!important;transition:transform .25s ease!important;
}
.nav-link:hover,.nav-link.active{color:#ff355e!important;background:transparent!important;box-shadow:none!important;transform:none!important;}
.nav-link:hover::after,.nav-link.active::after{transform:scaleX(1)!important;}
.header-ctas{display:flex!important;align-items:center!important;gap:10px!important;margin-left:auto!important;}
.btn-outline-header,.btn-cta-header{border:0!important;box-shadow:none!important;border-radius:2px!important;}
.btn-outline-header{display:flex!important;align-items:center!important;gap:7px!important;padding:9px 18px!important;font-size:14px!important;font-weight:700!important;color:#fff!important;background:rgba(255,255,255,.09)!important;white-space:nowrap!important;}
.btn-outline-header:hover{color:#ff355e!important;background:rgba(255,255,255,.14)!important;}
.btn-outline-header svg{color:#ff355e!important;}
.btn-cta-header{display:flex!important;align-items:center!important;padding:10px 22px!important;font-size:14px!important;font-weight:700!important;letter-spacing:.03em!important;text-transform:uppercase!important;background:#ff355e!important;color:#fff!important;white-space:nowrap!important;}
.btn-cta-header:hover{background:#e91e4f!important;transform:translateY(-1px)!important;}
.ham-btn span{background:#fff!important;}
.mobile-drawer{top:108px!important;background:#fff!important;border-top:1px solid #e0e0e0!important;color:#111!important;box-shadow:none!important;}
.mobile-drawer.open{box-shadow:0 8px 32px rgba(0,0,0,.15)!important;}
.mobile-drawer a{color:#111!important;background:#fff!important;border-bottom:1px solid #f5f5f5!important;}
.mobile-drawer a:hover,.mobile-drawer a.active{background:#f5f5f5!important;color:#ff355e!important;}
.mobile-drawer .drawer-cta{background:#ff355e!important;color:#fff!important;text-align:center!important;border-bottom:0!important;}
.drawer-phones{background:#f5f5f5!important;}
.drawer-phones a{color:#ff355e!important;background:transparent!important;}
/* bring down page heroes to match original two-level header */
.hero{padding-top:108px!important;}
.page-hero-sec{margin-top:108px!important;}
/* Dark stats strip */
.trust-bar{background:#0d1117!important;background-image:none!important;border:0!important;}
.trust-item{color:#fff!important;background:transparent!important;}
.trust-item:hover{background:rgba(255,255,255,.06)!important;}
.trust-num{color:#fff!important;}
.trust-label{color:rgba(255,255,255,.82)!important;}
.trust-item + .trust-item::before{background:rgba(255,255,255,.18)!important;}
/* footer should show v11 standard logo */
.footer-logo{content:url('../images/kff-logo-full-transparent-brand-red-hd.png')!important;max-width:270px!important;height:auto!important;background:transparent!important;border:0!important;box-shadow:none!important;filter:none!important;}
@media(max-width:980px){
  .topbar{height:32px!important;}
  .topbar-inner{padding:0 14px!important;}
  .topbar-left{gap:8px!important;}
  .topbar-left .tb-item:not(:first-child),.topbar-left .tb-sep{display:none!important;}
  .site-header,.site-header.scrolled{top:32px!important;height:64px!important;min-height:64px!important;}
  .header-inner{padding:0 16px!important;}
  .main-nav{display:none!important;}
  .brand{margin-right:0!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:36px!important;max-width:190px!important;}
  .btn-outline-header{display:none!important;}
  .btn-cta-header{display:flex!important;padding:9px 12px!important;font-size:11px!important;min-height:38px!important;}
  .mobile-drawer{top:96px!important;}
  .hero{padding-top:96px!important;}
  .page-hero-sec{margin-top:96px!important;}
}
@media(max-width:520px){
  .brand-logo,.site-header.scrolled .brand-logo{height:30px!important;max-width:150px!important;}
  .btn-cta-header{padding:8px 10px!important;font-size:10px!important;}
}


/* =========================================================
   V18 FIXES — service order + uniform mobile trust strip
   ========================================================= */
.trust-bar{
  background:#0d1117!important;
  background-image:none!important;
  border:0!important;
}
.trust-inner{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:0!important;
}
.trust-item{
  min-width:0!important;
  min-height:104px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
  padding:22px 10px!important;
  color:#fff!important;
  background:transparent!important;
  border-bottom:0!important;
}
.trust-item + .trust-item::before{
  display:block!important;
  background:rgba(255,255,255,.18)!important;
}
.trust-num{
  color:#fff!important;
  font-size:clamp(22px,2.4vw,30px)!important;
  line-height:1.05!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
}
.trust-label{
  color:rgba(255,255,255,.84)!important;
  line-height:1.2!important;
  margin-top:6px!important;
}
@media (max-width: 760px){
  .trust-inner{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    padding:0!important;
  }
  .trust-item{
    min-height:112px!important;
    padding:18px 8px!important;
    border-bottom:1px solid rgba(255,255,255,.14)!important;
  }
  .trust-item:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.14)!important;
  }
  .trust-item:nth-child(3),
  .trust-item:nth-child(4){
    border-bottom:0!important;
  }
  .trust-item::before{display:none!important;}
  .trust-num{
    font-size:22px!important;
    letter-spacing:-.01em!important;
  }
  .trust-item:nth-child(3) .trust-num{
    font-size:20px!important;
  }
  .trust-label{font-size:10px!important;}
}
@media (max-width: 380px){
  .trust-item{min-height:104px!important;padding:16px 6px!important;}
  .trust-num{font-size:20px!important;}
  .trust-item:nth-child(3) .trust-num{font-size:18px!important;}
}


/* V19 user-provided exact logo everywhere */
.brand-logo,.site-header.scrolled .brand-logo{filter:none!important;background:transparent!important;border:0!important;box-shadow:none!important;object-fit:contain!important;}
.footer-logo{filter:none!important;background:transparent!important;border:0!important;box-shadow:none!important;object-fit:contain!important;max-width:270px!important;height:auto!important;}
.footer-logo{content:url('../images/kff-logo-full-transparent-brand-red-hd.png')!important;}
@media (max-width:760px){.brand-logo,.site-header.scrolled .brand-logo{max-width:170px!important;height:34px!important;}}
@media (max-width:480px){.brand-logo,.site-header.scrolled .brand-logo{max-width:150px!important;height:30px!important;}}


/* V20 exact uploaded logo everywhere, verified */
.brand-logo,.site-header.scrolled .brand-logo,.footer-logo{
  filter:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  object-fit:contain !important;
}
.footer-logo{
  content:url('../images/kff-logo-exact-transparent.png') !important;
  max-width:270px !important;
  height:auto !important;
}


/* V21 FINAL: uniform mobile stats/trust strip */
.trust-bar{
  background:#0d1117 !important;
  background-image:none !important;
  border:0 !important;
  overflow:hidden !important;
}
.trust-inner{
  width:100% !important;
  max-width:1280px !important;
  margin:0 auto !important;
  padding:0 32px !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  grid-auto-rows:118px !important;
  align-items:stretch !important;
  gap:0 !important;
}
.trust-item{
  width:auto !important;
  flex:none !important;
  min-width:0 !important;
  height:100% !important;
  min-height:0 !important;
  padding:14px 10px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  text-align:center !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  box-sizing:border-box !important;
}
.trust-item::before,
.trust-item + .trust-item::before{
  display:none !important;
  content:none !important;
}
.trust-item:not(:first-child){
  border-left:1px solid rgba(255,255,255,.16) !important;
}
.trust-num{
  display:block !important;
  width:100% !important;
  color:#fff !important;
  font-size:clamp(22px,2.15vw,30px) !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  text-align:center !important;
}
.trust-label{
  display:block !important;
  width:100% !important;
  margin-top:7px !important;
  color:rgba(255,255,255,.82) !important;
  font-size:11px !important;
  line-height:1.15 !important;
  text-align:center !important;
}
@media (max-width: 760px){
  .trust-inner{
    max-width:none !important;
    padding:0 !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:112px !important;
  }
  .trust-item{
    height:112px !important;
    min-height:112px !important;
    padding:12px 8px !important;
    border-left:0 !important;
    border-right:0 !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
  }
  .trust-item:nth-child(odd){
    border-right:1px solid rgba(255,255,255,.14) !important;
  }
  .trust-item:nth-child(3),
  .trust-item:nth-child(4){
    border-bottom:0 !important;
  }
  .trust-num{
    font-size:22px !important;
    line-height:1 !important;
  }
  .trust-item:nth-child(3) .trust-num{
    font-size:19px !important;
    letter-spacing:-.03em !important;
  }
  .trust-label{
    font-size:10px !important;
    line-height:1.12 !important;
    margin-top:8px !important;
  }
}
@media (max-width: 380px){
  .trust-inner{grid-auto-rows:106px !important;}
  .trust-item{height:106px !important;min-height:106px !important;padding:10px 6px !important;}
  .trust-num{font-size:20px !important;}
  .trust-item:nth-child(3) .trust-num{font-size:17px !important;}
  .trust-label{font-size:9.5px !important;}
}


/* =========================================================
   V22 FINAL FIXES: exact top logo, overflow, persistent nav, mobile hero
   ========================================================= */
html, body { width:100% !important; max-width:100% !important; overflow-x:hidden !important; }
*, *::before, *::after { box-sizing:border-box !important; }
img, video, svg, canvas { max-width:100% !important; }
main, section, header, footer, .container, .header-inner, .topbar-inner, .hero, .booking-panel, .trust-bar, .services-grid, .split-section { max-width:100vw !important; }
.container, .header-inner, .topbar-inner, .booking-inner, .trust-inner, .footer-main, .footer-bottom { width:min(100%, var(--max-w, 1280px)) !important; }

.brand, .brand-logo, .site-header.scrolled .brand-logo, .footer-logo {
  background:transparent !important; border:0 !important; box-shadow:none !important; filter:none !important; mix-blend-mode:normal !important; opacity:1 !important;
}
.brand-logo, .site-header.scrolled .brand-logo {
  content:url('../images/kff-logo-exact-transparent.png') !important;
  object-fit:contain !important; object-position:left center !important;
  height:46px !important; width:auto !important; max-width:235px !important;
}
.footer-logo {
  content:url('../images/kff-logo-exact-transparent.png') !important;
  object-fit:contain !important; height:auto !important; max-width:270px !important;
}

.site-header, .topbar { transform:none !important; visibility:visible !important; opacity:1 !important; }
.site-header.header-hidden, .header-hidden, .topbar.header-hidden { transform:none !important; visibility:visible !important; opacity:1 !important; }
.mobile-drawer { max-width:100vw !important; }
.site-header { position:fixed !important; }
.topbar { position:fixed !important; }

@media (max-width:760px){
  .hero { min-height:620px !important; height:auto !important; background:#0f141c !important; overflow:hidden !important; }
  .hero-bg { position:absolute !important; inset:0 !important; display:flex !important; align-items:center !important; justify-content:center !important; background:#0f141c !important; }
  .hero-img { width:100% !important; height:100% !important; object-fit:contain !important; object-position:center center !important; transform:none !important; background:#0f141c !important; }
  .hero-overlay { background:rgba(5,8,12,0.35) !important; }
  .hero-content { min-height:620px !important; padding-left:16px !important; padding-right:16px !important; justify-content:flex-end !important; padding-bottom:34px !important; }
  .hero-text { max-width:100% !important; padding-bottom:0 !important; }
  .brand-logo, .site-header.scrolled .brand-logo { height:34px !important; max-width:165px !important; }
  .header-inner, .topbar-inner { padding-left:14px !important; padding-right:14px !important; }
  .bf-row, .services-grid, .steps-grid, .team-grid, .contact-grid, .split-section { width:100% !important; max-width:100% !important; grid-template-columns:1fr !important; }
}
@media (max-width:420px){
  .brand-logo, .site-header.scrolled .brand-logo { height:30px !important; max-width:145px !important; }
  .hero { min-height:590px !important; }
  .hero-content { min-height:590px !important; }
}

@media (max-width:700px){
  .trust-inner { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:0 !important; padding:0 !important; width:100% !important; }
  .trust-item { min-height:112px !important; height:112px !important; padding:12px 8px !important; display:flex !important; align-items:center !important; justify-content:center !important; text-align:center !important; border:1px solid rgba(255,255,255,0.14) !important; }
  .trust-item::before { display:none !important; }
  .trust-num { font-size:clamp(22px,7vw,30px) !important; line-height:1 !important; white-space:nowrap !important; }
  .trust-label { font-size:10px !important; line-height:1.2 !important; max-width:100% !important; overflow-wrap:anywhere !important; }
}


/* =========================================================
   V24 FIXES: preserve previous design, add step images, clean header logo,
   remove mobile hero gap, equal store badges, uniform mobile chips, flag language switch
   ========================================================= */
/* Header logo: cleaned transparent asset only for top navigation */
.brand-logo,
.site-header.scrolled .brand-logo {
  content: url('../images/kff-logo-header-white.png') !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  object-fit: contain !important;
}
.footer-logo {
  content: url('../images/kff-logo-exact-transparent.png') !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Step images added, without changing the previous card design */
.step-visual {
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0 0 20px;
  border-radius: 22px;
  overflow: hidden;
  background: #f6f7f9;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
}
.step-visual img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}
.step-card { overflow: hidden !important; }

/* Flag-only language switch */
.flag-lang-switch,
.lang-switch.flag-lang-switch {
  display: inline-flex !important;
  align-items: center !important;
  gap: 3px !important;
  padding: 2px !important;
  min-height: 28px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.13) !important;
  box-shadow: none !important;
}
.flag-lang-btn,
.lang-switch .flag-lang-btn,
.lang-btn.flag-lang-btn {
  width: 28px !important;
  height: 24px !important;
  min-width: 28px !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 1 !important;
  font-size: 16px !important;
  color: #fff !important;
}
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active {
  background: rgba(255,53,94,0.95) !important;
}
.lang-divider { display: none !important; }

/* Equal App Store / Google Play badge dimensions */
.store-badge-link {
  display: inline-flex !important;
  width: 178px !important;
  height: 53px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.store-badge,
.store-badge--apple,
.store-badge--google {
  width: 178px !important;
  height: 53px !important;
  max-width: 178px !important;
  max-height: 53px !important;
  display: block !important;
  object-fit: fill !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.app-card-wrap,
.app-store-grid,
.sixt-app-badges,
.store-links {
  gap: 12px !important;
  align-items: center !important;
}

/* Uniform mobile chips in service/city areas */
@media (max-width: 760px) {
  html, body { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; }
  main { overflow-x: hidden !important; }

  /* Remove the blank mobile space before the hero */
  body.page-home .hero,
  .page-home .hero,
  .hero {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }
  .hero-content {
    padding-top: 0 !important;
  }

  .cities-list,
  .service-mini-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .city-chip,
  .service-mini-list span {
    width: 100% !important;
    min-height: 40px !important;
    padding: 9px 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    font-size: 12px !important;
    border-radius: 999px !important;
  }
  .service-mini-strip { width: 100% !important; overflow: hidden !important; }

  .store-badge-link,
  .store-badge,
  .store-badge--apple,
  .store-badge--google {
    width: 170px !important;
    height: 50px !important;
    max-width: 170px !important;
    max-height: 50px !important;
  }
  .app-card-wrap,
  .app-store-grid,
  .sixt-app-badges {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .flag-lang-switch { transform: none !important; }
  .flag-lang-btn, .lang-btn.flag-lang-btn {
    width: 26px !important;
    min-width: 26px !important;
    height: 23px !important;
    font-size: 15px !important;
  }
}
@media (max-width: 420px) {
  .store-badge-link,
  .store-badge,
  .store-badge--apple,
  .store-badge--google {
    width: 156px !important;
    height: 47px !important;
    max-width: 156px !important;
    max-height: 47px !important;
  }
  .cities-list,
  .service-mini-list { grid-template-columns: 1fr 1fr !important; }
  .city-chip,
  .service-mini-list span { font-size: 11.5px !important; min-height: 38px !important; }
}


/* =========================================================
   V25 FINAL: hero crop/gap, single language flag, app badge parity
   ========================================================= */
/* Remove unwanted gaps between key top sections */
body.page-home main { margin-top: 0 !important; padding-top: 0 !important; }
body.page-home .hero { margin-top: calc(36px + var(--header-h, 72px)) !important; padding-top: 0 !important; }
body.page-home .booking-panel { margin-top: 0 !important; }
body.page-home .section, body.page-home .trust-bar, body.page-home .cities-bar { margin-top: 0 !important; margin-bottom: 0 !important; }

/* Desktop hero: show the full van including roof */
body.page-home .hero { min-height: calc(100vh - 108px) !important; background: #070b12 !important; overflow: hidden !important; }
body.page-home .hero-bg { background: #070b12 !important; display: flex !important; align-items: center !important; justify-content: center !important; }
body.page-home .hero-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #070b12 !important;
  transform: none !important;
  animation: none !important;
}
body.page-home .hero-content { min-height: calc(100vh - 108px) !important; }

/* Header logo no-halo asset */
.brand-logo, .site-header.scrolled .brand-logo {
  content: url('../images/kff-logo-header-white.png') !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* Only one language flag should be visible: the language not currently displayed */
.flag-lang-switch, .lang-switch.flag-lang-switch {
  width: 38px !important;
  min-width: 38px !important;
  height: 32px !important;
  justify-content: center !important;
  align-items: center !important;
  padding: 3px !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.flag-lang-btn, .lang-btn.flag-lang-btn {
  width: 30px !important;
  height: 26px !important;
  min-width: 30px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 17px !important;
  line-height: 1 !important;
}
.flag-lang-btn.active, .lang-btn.flag-lang-btn.active { display: none !important; }
.flag-lang-switch .lang-divider, .lang-divider { display: none !important; }
.topbar-right { align-items: center !important; justify-content: center !important; }

/* Store badges: exactly equal visible dimensions */
.store-badge-link, .store-badge, .store-badge--apple, .store-badge--google {
  width: 170px !important;
  height: 50px !important;
  min-width: 170px !important;
  min-height: 50px !important;
  max-width: 170px !important;
  max-height: 50px !important;
  display: block !important;
  object-fit: contain !important;
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}
.store-badge-link { display: inline-flex !important; align-items: center !important; justify-content: center !important; }
.sixt-app-badges, .app-store-grid, .app-card-wrap { align-items: center !important; gap: 12px !important; }

/* Uniform city/service chips on mobile */
@media (max-width: 760px) {
  body.page-home .hero {
    margin-top: 96px !important;
    padding-top: 0 !important;
    min-height: calc(100dvh - 96px) !important;
    max-height: none !important;
  }
  body.page-home .hero-content {
    min-height: calc(100dvh - 96px) !important;
    padding-top: 0 !important;
    padding-bottom: 28px !important;
    justify-content: flex-end !important;
  }
  body.page-home .hero-bg { align-items: stretch !important; justify-content: center !important; }
  body.page-home .hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    background: transparent !important;
  }
  .topbar-inner { align-items: center !important; }
  .topbar-right { display: flex !important; justify-content: center !important; align-items: center !important; }
  .flag-lang-switch, .lang-switch.flag-lang-switch { width: 36px !important; min-width:36px !important; height:30px !important; margin: 0 auto !important; }
  .flag-lang-btn, .lang-btn.flag-lang-btn { width:28px !important; min-width:28px !important; height:24px !important; font-size:16px !important; }
  .cities-list, .service-mini-list { display:grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap:8px !important; }
  .city-chip, .service-mini-list span {
    width:100% !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.15 !important;
    padding:8px 7px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
  .store-badge-link, .store-badge, .store-badge--apple, .store-badge--google {
    width: 160px !important;
    height: 47px !important;
    min-width: 160px !important;
    min-height: 47px !important;
    max-width: 160px !important;
    max-height: 47px !important;
  }
  .app-card-wrap, .app-store-grid, .sixt-app-badges { justify-content:center !important; }
}
@media (max-width:420px){
  .store-badge-link, .store-badge, .store-badge--apple, .store-badge--google {
    width: 148px !important;
    height: 44px !important;
    min-width: 148px !important;
    min-height: 44px !important;
    max-width: 148px !important;
    max-height: 44px !important;
  }
}


/* =========================================================
   V26 HERO IMAGE FIX: desktop fills without side gaps, mobile shows full van front
   ========================================================= */
body.page-home .hero {
  margin-top: calc(36px + var(--header-h, 72px)) !important;
  min-height: calc(100vh - 108px) !important;
  background: #070b12 !important;
  overflow: hidden !important;
}
body.page-home .hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background: #070b12 !important;
  display: block !important;
  overflow: hidden !important;
}
body.page-home .hero-picture {
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
}
body.page-home .hero-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
  background: #070b12 !important;
  transform: none !important;
  animation: none !important;
}
body.page-home .hero-overlay { background: rgba(5,8,12,0.30) !important; }
body.page-home .hero-content { min-height: calc(100vh - 108px) !important; }

@media (min-width: 1024px) {
  body.page-home .hero-img {
    object-fit: cover !important;
    object-position: center 40% !important;
  }
}

@media (max-width: 760px) {
  body.page-home .hero {
    margin-top: calc(36px + var(--header-h, 72px)) !important;
    min-height: calc(100dvh - 96px) !important;
    background: #070b12 !important;
  }
  body.page-home .hero-bg,
  body.page-home .hero-picture {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }
  body.page-home .hero-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
    background: #070b12 !important;
  }
  body.page-home .hero-overlay {
    background: linear-gradient(180deg, rgba(4,8,12,0.05) 0%, rgba(4,8,12,0.10) 40%, rgba(4,8,12,0.72) 66%, rgba(4,8,12,0.92) 100%) !important;
  }
  body.page-home .hero-content {
    min-height: calc(100dvh - 96px) !important;
    justify-content: flex-end !important;
    padding-top: 0 !important;
    padding-bottom: 28px !important;
  }
}

@media (max-width: 420px) {
  body.page-home .hero {
    min-height: 650px !important;
  }
  body.page-home .hero-content {
    min-height: 650px !important;
  }
}


/* =========================================================
   V27 HERO TUNING
   - desktop: fill width with no side gaps, roof visible
   - mobile: full van front visible with both headlights
   - mobile flag toggle centered
   ========================================================= */
body.page-home .hero,
.page-home .hero{
  background:#060a10 !important;
  overflow:hidden !important;
}
body.page-home .hero-bg,
.page-home .hero-bg,
body.page-home .hero-picture,
.page-home .hero-picture{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:hidden !important;
  background:#060a10 !important;
}
body.page-home .hero-img,
.page-home .hero-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
}
/* Desktop: image should fill fully without side gaps while keeping roof visible */
body.page-home .hero,
.page-home .hero{
  min-height:calc(100vh - 108px) !important;
}
body.page-home .hero-content,
.page-home .hero-content{
  min-height:calc(100vh - 108px) !important;
}
body.page-home .hero-img,
.page-home .hero-img{
  object-fit:cover !important;
  object-position:center 26% !important;
  transform:none !important;
}
/* Slightly shorter desktop hero helps keep the van roof visible while still screen-filling */
@media (min-width: 981px){
  body.page-home .hero,
  .page-home .hero{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:cover !important;
    object-position:center 24% !important;
  }
}
/* Tablet */
@media (max-width: 980px){
  body.page-home .hero,
  .page-home .hero{
    min-height:700px !important;
    height:auto !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:700px !important;
    height:auto !important;
  }
}
/* Mobile: show full front of van, including both headlights */
@media (max-width: 760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:640px !important;
    height:auto !important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center 52% !important;
    transform:scale(0.94) !important;
    background:#060a10 !important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    background:linear-gradient(180deg, rgba(5,8,12,.08) 0%, rgba(5,8,12,.18) 44%, rgba(5,8,12,.62) 100%) !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:640px !important;
    height:auto !important;
    padding:0 18px 24px !important;
    justify-content:flex-end !important;
  }
  .topbar-right{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }
  .flag-lang-switch,
  .lang-switch.flag-lang-switch{
    margin:0 auto !important;
  }
}
@media (max-width: 480px){
  body.page-home .hero,
  .page-home .hero{
    min-height:610px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:610px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:contain !important;
    object-position:center 50% !important;
    transform:scale(0.92) !important;
  }
}


/* =========================================================
   V28 FINAL: mobile drawer, legal pages, mobile end gap, hero zoom
   ========================================================= */
html, body { overflow-x: hidden !important; width: 100% !important; }
body { min-height: 100% !important; }
main { overflow: hidden !important; }
.site-footer { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.footer-bottom { margin-bottom: 0 !important; padding-bottom: 18px !important; }
body::after, html::after { display:none !important; content:none !important; }
/* clean header logo only; footer remains full exact logo */
.brand-logo, .site-header.scrolled .brand-logo {
  content: url('../images/kff-logo-header-white.png') !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}
/* robust mobile drawer: always shows menu links, never a blank panel */
@media (max-width: 980px) {
  .site-header, .site-header.scrolled { height: 68px !important; min-height:68px !important; top:36px !important; transform:none !important; }
  .site-header.header-hidden { transform:none !important; }
  .mobile-drawer {
    position: fixed !important;
    top: 104px !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    width: 100vw !important;
    height: auto !important;
    max-height: calc(100dvh - 104px) !important;
    overflow-y: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 10px 18px 18px !important;
    background: #080b10 !important;
    color: #ffffff !important;
    border: 0 !important;
    border-top: 3px solid #ff355e !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    box-shadow: 0 26px 60px rgba(0,0,0,.45) !important;
    z-index: 1200 !important;
    transition: opacity .22s ease, transform .24s ease, visibility .22s ease !important;
  }
  .mobile-drawer.open,
  body.menu-open .mobile-drawer {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
  .mobile-drawer a,
  body.page-dark .mobile-drawer a,
  .mobile-drawer .drawer-phones a {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    min-height: 52px !important;
    padding: 0 16px !important;
    margin: 4px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.04) !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
  }
  .mobile-drawer a:hover,
  .mobile-drawer a:focus-visible,
  .mobile-drawer a.active {
    background: rgba(255,53,94,.18) !important;
    color: #ffffff !important;
  }
  .mobile-drawer .drawer-cta {
    background: #ff355e !important;
    justify-content: center !important;
    text-align: center !important;
    color: #fff !important;
    margin-top: 10px !important;
    border-bottom: 0 !important;
  }
  .drawer-phones {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    margin-top: 10px !important;
    padding: 10px !important;
    background: rgba(255,255,255,.06) !important;
    border: 0 !important;
    border-radius: 14px !important;
  }
  .drawer-phones a { min-height: 42px !important; font-size: 15px !important; font-weight: 800 !important; }
  body.menu-open { overflow: hidden !important; }
  .ham-btn.open span:nth-child(1) { transform: translateY(6px) rotate(45deg) !important; }
  .ham-btn.open span:nth-child(2) { opacity:0 !important; }
  .ham-btn.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg) !important; }
}
/* Legal page structure */
.legal-main { margin-top: 108px !important; background: #f4f6f8 !important; }
.legal-section { padding-top: 28px !important; }
.legal-content { color:#1f2937 !important; line-height:1.75 !important; }
.legal-content h2 { margin-top: 26px !important; margin-bottom: 10px !important; color:#111827 !important; font-size:22px !important; }
.legal-content p { margin-bottom: 14px !important; color:#4b5563 !important; }
.legal-content a { color:#ff355e !important; font-weight:700 !important; }
@media (max-width:760px){
  .legal-main { margin-top: 104px !important; }
  .legal-content h2 { font-size:19px !important; }
}
/* Mobile hero: slightly closer than v27, still show full van front */
@media (max-width: 760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top: 104px !important;
    min-height: 620px !important;
    height: auto !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height: 620px !important;
    padding-bottom: 22px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit: contain !important;
    object-position: center 49% !important;
    transform: scale(0.98) !important;
    transform-origin: center center !important;
  }
}
@media (max-width:420px){
  body.page-home .hero,
  .page-home .hero{ min-height:600px !important; }
  body.page-home .hero-content,
  .page-home .hero-content{ min-height:600px !important; }
  body.page-home .hero-img,
  .page-home .hero-img{ transform: scale(0.97) !important; object-position:center 49% !important; }
}
/* Remove excessive final whitespace on mobile */
@media (max-width:760px){
  .section:last-of-type { margin-bottom:0 !important; }
  .site-footer { margin-bottom:0 !important; }
  body.page-home main > *:last-child { margin-bottom:0 !important; }
  .app-section, .sixt-app-section { padding-bottom:36px !important; }
}


/* =========================================================
   V29 FINAL CHECKED FIXES
   - undo v28 hero crop to v27-style mobile framing
   - robust non-blank mobile navigation drawer on all pages
   - remove mobile section/end whitespace
   - equal app badges and visible flag language toggle
   ========================================================= */

/* App text and buttons alignment */
.app-download-section .s-lead,
.app-copy .s-lead {
  color:#4b5563 !important;
}
.store-badge-link,
.store-badge,
.store-badge--apple,
.store-badge--google {
  width:170px !important;
  height:50px !important;
  min-width:170px !important;
  min-height:50px !important;
  max-width:170px !important;
  max-height:50px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  object-fit:contain !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  line-height:0 !important;
}
.store-badge { display:block !important; }
.app-card-wrap,
.app-store-grid,
.sixt-app-badges {
  align-items:center !important;
  justify-content:center !important;
  gap:14px !important;
}

/* Language switch: flags visible on desktop and mobile, only the inactive language is shown */
.flag-lang-switch,
.lang-switch.flag-lang-switch {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  min-width:42px !important;
  height:34px !important;
  padding:3px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  overflow:hidden !important;
}
.flag-lang-btn,
.lang-btn.flag-lang-btn {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  min-width:34px !important;
  height:28px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  font-size:18px !important;
  line-height:1 !important;
  cursor:pointer !important;
}
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active { display:none !important; }
.flag-lang-btn span { display:block !important; transform:translateY(-1px); }

/* Robust mobile drawer: menu links must be visible, not blank */
@media (max-width: 980px) {
  .site-header,
  .site-header.scrolled {
    height:68px !important;
    min-height:68px !important;
    top:36px !important;
    transform:none !important;
    z-index:1500 !important;
  }
  .site-header.header-hidden { transform:none !important; }
  .mobile-drawer,
  body.page-dark .mobile-drawer {
    position:fixed !important;
    top:104px !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    height:auto !important;
    max-height:calc(100dvh - 104px) !important;
    overflow-y:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:16px 18px 20px !important;
    margin:0 !important;
    background:#080b10 !important;
    color:#fff !important;
    border:0 !important;
    border-top:3px solid #ff355e !important;
    box-shadow:0 26px 70px rgba(0,0,0,.48) !important;
    z-index:1400 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-10px) !important;
    transition:opacity .18s ease, transform .2s ease, visibility .18s ease !important;
  }
  .mobile-drawer.open,
  body.menu-open .mobile-drawer {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }
  .mobile-drawer > *,
  .mobile-drawer a,
  body.page-dark .mobile-drawer a,
  .mobile-drawer .drawer-phones,
  .mobile-drawer .drawer-phones a {
    opacity:1 !important;
    visibility:visible !important;
  }
  .mobile-drawer a,
  body.page-dark .mobile-drawer a,
  .mobile-drawer .drawer-phones a {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:52px !important;
    width:100% !important;
    padding:0 16px !important;
    margin:0 !important;
    border:0 !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.06) !important;
    color:#fff !important;
    text-decoration:none !important;
    font-size:17px !important;
    font-weight:800 !important;
    line-height:1.15 !important;
    transform:none !important;
  }
  .mobile-drawer a:hover,
  .mobile-drawer a:focus-visible,
  .mobile-drawer a.active {
    background:rgba(255,53,94,.22) !important;
    color:#fff !important;
  }
  .mobile-drawer .drawer-cta {
    background:#ff355e !important;
    color:#fff !important;
    border-radius:999px !important;
    margin-top:6px !important;
  }
  .drawer-phones {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:10px !important;
    margin-top:4px !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.05) !important;
  }
  .drawer-phones a { min-height:42px !important; font-size:15px !important; }
  body.menu-open { overflow:hidden !important; }
}

/* Undo the latest v28 mobile hero change: return to slightly wider v27-style framing */
@media (max-width: 760px) {
  body.page-home .hero,
  .page-home .hero {
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:640px !important;
    height:auto !important;
    background:#060a10 !important;
    overflow:hidden !important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture {
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
    background:#060a10 !important;
    overflow:hidden !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img {
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center 52% !important;
    transform:scale(0.94) !important;
    transform-origin:center center !important;
    background:#060a10 !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content {
    min-height:640px !important;
    height:auto !important;
    padding:0 18px 24px !important;
    justify-content:flex-end !important;
  }
}
@media (max-width:420px){
  body.page-home .hero,
  .page-home .hero { min-height:610px !important; }
  body.page-home .hero-content,
  .page-home .hero-content { min-height:610px !important; }
  body.page-home .hero-img,
  .page-home .hero-img {
    transform:scale(0.92) !important;
    object-position:center 50% !important;
  }
}

/* Remove excess blank spaces between sections on mobile */
@media (max-width:760px){
  .section { padding-top:46px !important; padding-bottom:46px !important; }
  .steps-section, .process-section { padding-bottom:28px !important; }
  .team-section-noimg { padding-top:42px !important; padding-bottom:28px !important; }
  .team-cta-row { margin-bottom:0 !important; padding-bottom:0 !important; }
  .team-quote { margin-bottom:18px !important; }
  .team-stats-centered { margin-bottom:22px !important; }
  .split-section { gap:0 !important; margin-top:0 !important; }
  .split-img, .split-text { margin-top:0 !important; }
  section + section { margin-top:0 !important; }
  main > section { margin-bottom:0 !important; }
  .site-footer { margin-top:0 !important; margin-bottom:0 !important; padding-bottom:0 !important; }
  .footer-bottom { padding-bottom:12px !important; }
  .app-download-section { padding-bottom:34px !important; }
  .store-badge-link,
  .store-badge,
  .store-badge--apple,
  .store-badge--google {
    width:160px !important;
    height:47px !important;
    min-width:160px !important;
    min-height:47px !important;
    max-width:160px !important;
    max-height:47px !important;
  }
}

/* Mobile city/service chips remain uniform */
@media (max-width:760px){
  .cities-list,
  .service-mini-list { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .city-chip,
  .service-mini-list span {
    width:100% !important;
    min-height:42px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
    line-height:1.15 !important;
    padding:8px 7px !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }
}


/* =========================================================
   V30 FINAL: services topbar, desktop flags, no blank gaps
   ========================================================= */
/* Top phone/language bar visible on every page and every viewport */
.topbar {
  display:block !important;
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
  height:36px !important; min-height:36px !important;
  z-index:3000 !important;
  background:#08090c !important;
  color:#fff !important;
}
.topbar-inner {
  height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  max-width:var(--max-w) !important;
  padding:0 26px !important;
  gap:12px !important;
}
.topbar-left { display:flex !important; align-items:center !important; gap:10px !important; min-width:0 !important; }
.topbar-right { display:flex !important; align-items:center !important; justify-content:flex-end !important; flex:0 0 auto !important; }
.tb-item { color:rgba(255,255,255,.9) !important; white-space:nowrap !important; }
.tb-sep { color:#ff355e !important; opacity:.75 !important; }
.site-header { top:36px !important; z-index:2500 !important; transform:none !important; }
.site-header.header-hidden { transform:none !important; }

/* Language flags must be visible on desktop. Only inactive language flag is displayed. */
.flag-lang-switch, .lang-switch.flag-lang-switch {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important; min-width:42px !important;
  height:32px !important; min-height:32px !important;
  padding:2px !important;
  margin:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  overflow:hidden !important;
  line-height:1 !important;
}
.flag-lang-btn, .lang-btn.flag-lang-btn {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important; min-width:34px !important;
  height:26px !important; min-height:26px !important;
  padding:0 !important; margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",system-ui,sans-serif !important;
  font-size:19px !important;
  line-height:1 !important;
  visibility:visible !important;
  opacity:1 !important;
}
.flag-lang-btn.active, .lang-btn.flag-lang-btn.active { display:none !important; }
.flag-lang-btn span, .lang-btn.flag-lang-btn span { display:block !important; transform:none !important; }

/* Mobile topbar: phone + single language flag visible on services too */
@media (max-width:760px){
  .topbar { height:36px !important; min-height:36px !important; }
  .topbar-inner { height:36px !important; padding:0 20px !important; }
  .topbar-left { flex:1 1 auto !important; gap:0 !important; overflow:hidden !important; }
  .topbar-left .tb-sep, .topbar-left .tb-item:nth-of-type(n+2) { display:none !important; }
  .topbar-left .tb-item:first-child { display:inline-flex !important; font-size:13px !important; font-weight:800 !important; }
  .topbar-right { width:46px !important; min-width:46px !important; justify-content:flex-end !important; }
  .flag-lang-switch, .lang-switch.flag-lang-switch { width:38px !important; min-width:38px !important; height:30px !important; }
  .flag-lang-btn, .lang-btn.flag-lang-btn { width:32px !important; min-width:32px !important; height:24px !important; font-size:18px !important; }
  .site-header { top:36px !important; height:68px !important; min-height:68px !important; }
}

/* Mobile drawer: solid visible menu, never blank */
@media (max-width:980px){
  .mobile-drawer {
    display:grid !important;
    grid-template-columns:1fr !important;
    position:fixed !important;
    top:104px !important; left:0 !important; right:0 !important;
    width:100vw !important;
    height:auto !important;
    max-height:calc(100dvh - 104px) !important;
    overflow-y:auto !important;
    padding:16px 18px 20px !important;
    gap:8px !important;
    background:#080b10 !important;
    border-top:3px solid #ff355e !important;
    box-shadow:0 30px 80px rgba(0,0,0,.55) !important;
    z-index:2400 !important;
    opacity:0 !important; visibility:hidden !important; pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }
  .mobile-drawer.open, body.menu-open .mobile-drawer {
    opacity:1 !important; visibility:visible !important; pointer-events:auto !important; transform:translateY(0) !important;
  }
  .mobile-drawer a, .mobile-drawer .drawer-phones a {
    display:flex !important; align-items:center !important; justify-content:center !important;
    width:100% !important; min-height:52px !important;
    padding:0 16px !important; margin:0 !important;
    background:rgba(255,255,255,.07) !important;
    color:#fff !important;
    border:0 !important; border-radius:14px !important;
    opacity:1 !important; visibility:visible !important;
    text-decoration:none !important;
    font-size:17px !important; font-weight:800 !important;
  }
  .mobile-drawer .drawer-cta { background:#ff355e !important; color:#fff !important; border-radius:999px !important; }
  .drawer-phones { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; padding:10px !important; background:rgba(255,255,255,.05) !important; border-radius:14px !important; }
}

/* Services page offset after adding topbar */
.page-services .page-hero-sec, body.page-dark .page-hero-sec, body.page-lightgrey .page-hero-sec {
  margin-top:calc(36px + var(--header-h,72px)) !important;
}
@media (max-width:760px){
  .page-services .page-hero-sec, body.page-dark .page-hero-sec, body.page-lightgrey .page-hero-sec {
    margin-top:104px !important;
    padding-top:44px !important;
  }
}

/* Remove leftover mobile blank spaces between sections */
@media (max-width:760px){
  body, main { overflow-x:hidden !important; }
  main > section, .section, .cities-bar, .trust-bar, .booking-panel, .app-download-section, .team-section-noimg {
    margin-top:0 !important; margin-bottom:0 !important;
  }
  .section { padding-top:34px !important; padding-bottom:34px !important; }
  .cities-bar { padding-top:24px !important; padding-bottom:24px !important; }
  .booking-panel { padding-top:22px !important; padding-bottom:22px !important; }
  .trust-bar { padding-top:18px !important; padding-bottom:18px !important; }
  .steps-section, .process-section { padding-top:34px !important; padding-bottom:18px !important; }
  .team-section-noimg { padding-top:30px !important; padding-bottom:18px !important; }
  .team-cta-row { margin-top:18px !important; margin-bottom:0 !important; padding-bottom:0 !important; }
  .team-quote, .team-stats-centered { margin-bottom:14px !important; }
  .split-section { gap:0 !important; margin:0 !important; }
  .split-img, .split-text { margin:0 !important; }
  .split-img img { display:block !important; margin:0 !important; }
  .app-download-section { padding-top:34px !important; padding-bottom:24px !important; }
  .site-footer { margin-top:0 !important; padding-top:34px !important; padding-bottom:0 !important; }
  .footer-bottom { padding-bottom:10px !important; }
  section + section { margin-top:0 !important; }
}

/* Desktop spacing also tightened to avoid unintended gaps */
@media (min-width:761px){
  main > section { margin-top:0 !important; margin-bottom:0 !important; }
  section + section { margin-top:0 !important; }
}


/* =========================================================
   V31 — RESTORE HOME HERO EXACTLY TO V27 BEHAVIOR
   This block intentionally comes last so later spacing/header fixes do not override the homepage hero.
   ========================================================= */
body.page-home .hero,
.page-home .hero{
  background:#060a10 !important;
  overflow:hidden !important;
  min-height:calc(100vh - 108px) !important;
}
body.page-home .hero-bg,
.page-home .hero-bg,
body.page-home .hero-picture,
.page-home .hero-picture{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:hidden !important;
  background:#060a10 !important;
}
body.page-home .hero-img,
.page-home .hero-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center 26% !important;
  transform:none !important;
}
body.page-home .hero-content,
.page-home .hero-content{
  min-height:calc(100vh - 108px) !important;
}
@media (min-width: 981px){
  body.page-home .hero,
  .page-home .hero{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:cover !important;
    object-position:center 24% !important;
  }
}
@media (max-width: 980px){
  body.page-home .hero,
  .page-home .hero{
    min-height:700px !important;
    height:auto !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:700px !important;
    height:auto !important;
  }
}
@media (max-width: 760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:640px !important;
    height:auto !important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center 52% !important;
    transform:scale(0.94) !important;
    transform-origin:center center !important;
    background:#060a10 !important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    background:linear-gradient(180deg, rgba(5,8,12,.08) 0%, rgba(5,8,12,.18) 44%, rgba(5,8,12,.62) 100%) !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:640px !important;
    height:auto !important;
    padding:0 18px 24px !important;
    justify-content:flex-end !important;
  }
}
@media (max-width: 480px){
  body.page-home .hero,
  .page-home .hero{
    min-height:610px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:610px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:contain !important;
    object-position:center 50% !important;
    transform:scale(0.92) !important;
  }
}


/* =========================================================
   V32 FINAL: desktop language flags, section spacing, services readability
   ========================================================= */
html, body {
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
main {
  display:block !important;
  width:100% !important;
  max-width:100vw !important;
  overflow:hidden !important;
}
/* Keep top phone/language bar visible on all pages including Leistungen */
.topbar {
  display:block !important;
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important;
  height:36px !important;
  min-height:36px !important;
  z-index:3000 !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  background:#07090d !important;
}
.topbar-inner {
  height:36px !important;
  min-height:36px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
}
.site-header {
  top:36px !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
}
.site-header.header-hidden,
.header-hidden { transform:none !important; visibility:visible !important; opacity:1 !important; }

/* Desktop flags: visible, image-based, no emoji dependency */
.flag-lang-switch,
.lang-switch.flag-lang-switch {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:auto !important;
  min-width:76px !important;
  height:32px !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.09) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  overflow:visible !important;
}
.flag-lang-btn,
.lang-btn.flag-lang-btn,
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important;
  min-width:30px !important;
  height:22px !important;
  min-height:22px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.08) !important;
  box-shadow:none !important;
  visibility:visible !important;
  opacity:1 !important;
}
.lang-btn.flag-lang-btn.active {
  outline:2px solid #ff355e !important;
  outline-offset:1px !important;
}
.flag-icon {
  display:block !important;
  width:24px !important;
  height:16px !important;
  border-radius:3px !important;
  overflow:hidden !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.35) !important;
  background-size:cover !important;
  background-position:center !important;
  flex:0 0 auto !important;
}
.flag-de { background:linear-gradient(to bottom,#000 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%) !important; }
.flag-gb { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36'%3E%3CclipPath id='a'%3E%3Cpath d='M0 0h60v36H0z'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23012169' d='M0 0h60v36H0z'/%3E%3Cpath stroke='%23fff' stroke-width='8' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23C8102E' stroke-width='5' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23fff' stroke-width='12' d='M30 0v36M0 18h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='7' d='M30 0v36M0 18h60'/%3E%3C/g%3E%3C/svg%3E") !important; }

/* If old CSS tried to hide the active language, override it. */
.flag-lang-btn.active, .lang-btn.flag-lang-btn.active { display:inline-flex !important; }
.flag-lang-btn span, .lang-btn.flag-lang-btn span { display:block !important; }

/* Tighter, uniform section rhythm on desktop — removes visible blank gaps. */
@media (min-width:761px) {
  main > section,
  .section,
  .cities-bar,
  .booking-panel,
  .trust-bar,
  .app-download-section,
  .team-section-noimg {
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  section + section,
  section + .cta-band,
  .cta-band + section,
  .split-section + section { margin-top:0 !important; }
  .section { padding-top:58px !important; padding-bottom:58px !important; }
  .section.section--gray { padding-top:58px !important; padding-bottom:58px !important; }
  .cities-bar { padding-top:18px !important; padding-bottom:18px !important; }
  .booking-panel { padding-top:0 !important; padding-bottom:0 !important; }
  .trust-bar { padding-top:0 !important; padding-bottom:0 !important; }
  .team-section-noimg { padding-top:54px !important; padding-bottom:38px !important; }
  .team-section-noimg .section-header { margin-bottom:28px !important; }
  .team-stats-centered { margin-top:0 !important; margin-bottom:22px !important; }
  .team-quote { margin-top:0 !important; margin-bottom:22px !important; }
  .team-cta-row { margin-top:0 !important; margin-bottom:0 !important; padding:0 !important; }
  .split-section { margin:0 auto !important; gap:0 !important; }
  .split-img img { display:block !important; }
  .cta-band { margin:0 !important; padding:46px 0 !important; }
  .app-download-section { margin:0 !important; padding:52px 0 !important; }
  .site-footer { margin-top:0 !important; }
}

/* Mobile gaps and bottom blank-space cleanup. */
@media (max-width:760px) {
  .flag-lang-switch, .lang-switch.flag-lang-switch {
    min-width:76px !important;
    width:auto !important;
    gap:6px !important;
    height:30px !important;
    padding:3px 6px !important;
    margin:0 !important;
  }
  .flag-lang-btn, .lang-btn.flag-lang-btn,
  .flag-lang-btn.active, .lang-btn.flag-lang-btn.active {
    width:28px !important;
    min-width:28px !important;
    height:21px !important;
    min-height:21px !important;
  }
  .flag-icon { width:22px !important; height:15px !important; }
  main > section,
  .section,
  .cities-bar,
  .booking-panel,
  .trust-bar,
  .app-download-section,
  .team-section-noimg {
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
  .section { padding-top:30px !important; padding-bottom:30px !important; }
  .section-header { margin-bottom:20px !important; }
  .team-section-noimg { padding-top:28px !important; padding-bottom:20px !important; }
  .team-section-noimg .section-header { margin-bottom:18px !important; }
  .team-stats-centered { margin:0 0 16px !important; }
  .team-quote { margin:0 0 16px !important; }
  .team-cta-row { margin:0 !important; padding:0 !important; }
  .split-section { margin:0 !important; gap:0 !important; }
  .split-img, .split-text { margin:0 !important; }
  .split-text { padding-top:28px !important; padding-bottom:28px !important; }
  .split-img img { display:block !important; margin:0 !important; }
  .cta-band { margin:0 !important; padding:30px 0 !important; }
  .app-download-section { margin:0 !important; padding:30px 0 24px !important; }
  .site-footer { margin-top:0 !important; padding-top:28px !important; padding-bottom:0 !important; }
  .footer-bottom { padding-bottom:6px !important; }
  body::after, main::after { display:none !important; content:none !important; }
}

/* Mobile navigation drawer and services page: visible, readable, never a blank panel. */
@media (max-width:980px) {
  .mobile-drawer {
    display:grid !important;
    position:fixed !important;
    top:104px !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    height:auto !important;
    max-height:calc(100dvh - 104px) !important;
    overflow-y:auto !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:16px 18px 20px !important;
    background:#080b10 !important;
    border-top:3px solid #ff355e !important;
    box-shadow:0 30px 80px rgba(0,0,0,.55) !important;
    z-index:2950 !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) !important;
    transition:opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }
  .mobile-drawer.open,
  body.menu-open .mobile-drawer {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateY(0) !important;
  }
  .mobile-drawer a,
  .mobile-drawer .drawer-phones a {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:52px !important;
    padding:0 16px !important;
    margin:0 !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    border:0 !important;
    border-radius:14px !important;
    text-decoration:none !important;
    font-size:17px !important;
    font-weight:800 !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .mobile-drawer .drawer-cta { background:#ff355e !important; color:#fff !important; border-radius:999px !important; }
  .drawer-phones { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; padding:10px !important; background:rgba(255,255,255,.05) !important; border-radius:14px !important; }
}

/* Services bottom/readability after jumping from nav. */
body.page-services,
body.page-services main,
body.page-services .section,
body.page-services .service-detail,
body.page-services .page-hero-sec {
  color:#111827 !important;
}
body.page-services .section--gray,
body.page-services .service-detail,
body.page-services .app-download-section { background:#f4f6f8 !important; }
body.page-services .s-title,
body.page-services h1,
body.page-services h2,
body.page-services h3,
body.page-services .footer-col-title { color:#111827 !important; }
body.page-services .s-lead,
body.page-services p,
body.page-services li { color:#4b5563 !important; }
body.page-services .page-hero-sec .s-title,
body.page-services .page-hero-sec .s-lead,
body.page-services .page-hero-sec .s-eyebrow { color:#fff !important; }
body.page-services .site-footer { background:#eef1f5 !important; color:#111827 !important; }
body.page-services .site-footer p,
body.page-services .site-footer a { color:#4b5563 !important; }
body.page-services .site-footer .footer-col-title { color:#111827 !important; }


/* =========================================================
   V33 FINAL: restore homepage hero AFTER all later overrides
   ========================================================= */
/* =========================================================
   V31 — RESTORE HOME HERO EXACTLY TO V27 BEHAVIOR
   This block intentionally comes last so later spacing/header fixes do not override the homepage hero.
   ========================================================= */
body.page-home .hero,
.page-home .hero{
  background:#060a10 !important;
  overflow:hidden !important;
  min-height:calc(100vh - 108px) !important;
}
body.page-home .hero-bg,
.page-home .hero-bg,
body.page-home .hero-picture,
.page-home .hero-picture{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  overflow:hidden !important;
  background:#060a10 !important;
}
body.page-home .hero-img,
.page-home .hero-img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:center 26% !important;
  transform:none !important;
}
body.page-home .hero-content,
.page-home .hero-content{
  min-height:calc(100vh - 108px) !important;
}
@media (min-width: 981px){
  body.page-home .hero,
  .page-home .hero{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    height:min(calc(100vh - 108px), 860px) !important;
    min-height:640px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:cover !important;
    object-position:center 24% !important;
  }
}
@media (max-width: 980px){
  body.page-home .hero,
  .page-home .hero{
    min-height:700px !important;
    height:auto !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:700px !important;
    height:auto !important;
  }
}
@media (max-width: 760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top:0 !important;
    padding-top:0 !important;
    min-height:640px !important;
    height:auto !important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:center !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center 52% !important;
    transform:scale(0.94) !important;
    transform-origin:center center !important;
    background:#060a10 !important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    background:linear-gradient(180deg, rgba(5,8,12,.08) 0%, rgba(5,8,12,.18) 44%, rgba(5,8,12,.62) 100%) !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:640px !important;
    height:auto !important;
    padding:0 18px 24px !important;
    justify-content:flex-end !important;
  }
}
@media (max-width: 480px){
  body.page-home .hero,
  .page-home .hero{
    min-height:610px !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:610px !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    object-fit:contain !important;
    object-position:center 50% !important;
    transform:scale(0.92) !important;
  }
}


/* =========================================================
   V33 FINAL: Services bottom readability after navigating from nav
   The CTA band is dark; keep its text white even with page-services text overrides.
   ========================================================= */
body.page-services .cta-band,
body.page-services .cta-band-inner {
  background:#05070b !important;
  color:#ffffff !important;
}
body.page-services .cta-band h1,
body.page-services .cta-band h2,
body.page-services .cta-band h3,
body.page-services .cta-band p,
body.page-services .cta-band a,
body.page-services .cta-band span,
body.page-services .cta-band * {
  color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.page-services .cta-band .btn-primary {
  background:#ff355e !important;
  color:#ffffff !important;
}
body.page-services .cta-band .btn-secondary,
body.page-services .cta-band .btn-secondary--white {
  background:#ffffff !important;
  color:#111827 !important;
}
body.page-services .site-footer {
  background:#eef1f5 !important;
  color:#111827 !important;
}
body.page-services .site-footer p,
body.page-services .site-footer a,
body.page-services .footer-bottom,
body.page-services .footer-addr {
  color:#374151 !important;
}
body.page-services .site-footer .footer-col-title {
  color:#111827 !important;
}
body.page-services .footer-legal a:hover,
body.page-services .footer-col a:hover { color:#ff355e !important; }

/* ensure flags remain visible after language switch and across desktop */
.flag-lang-switch, .lang-switch.flag-lang-switch {
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
.flag-lang-btn, .lang-btn.flag-lang-btn {
  visibility:visible !important;
  opacity:1 !important;
}
.flag-icon, .flag-lang-btn span {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}


/* =========================================================
   V34 FINAL FIX: Services topbar + footer readability + flags
   ========================================================= */
/* Keep the phone/language top panel visible above the services header */
html, body { overflow-x:hidden !important; }
body.page-services .topbar,
.topbar {
  display:block !important;
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  z-index:2147483000 !important;
  background:#07090d !important;
  visibility:visible !important;
  opacity:1 !important;
  transform:none !important;
  pointer-events:auto !important;
}
body.page-services .topbar-inner,
.topbar-inner {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  height:36px !important;
  min-height:36px !important;
  color:#fff !important;
}
body.page-services .topbar-left,
.topbar-left { display:flex !important; align-items:center !important; visibility:visible !important; opacity:1 !important; }
body.page-services .topbar-right,
.topbar-right { display:flex !important; align-items:center !important; justify-content:flex-end !important; visibility:visible !important; opacity:1 !important; }
body.page-services .tb-item,
body.page-services .tb-sep,
.tb-item,
.tb-sep { visibility:visible !important; opacity:1 !important; color:rgba(255,255,255,.9) !important; }
body.page-services .site-header,
.site-header {
  top:36px !important;
  z-index:2147482990 !important;
  transform:none !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.page-services .site-header.header-hidden,
.site-header.header-hidden,
.header-hidden { transform:none !important; visibility:visible !important; opacity:1 !important; }
body.page-services .page-hero-sec { margin-top:calc(var(--header-h) + 36px) !important; }

/* Flags must display on desktop and mobile. */
.flag-lang-switch,
.lang-switch.flag-lang-switch {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  width:auto !important;
  min-width:76px !important;
  height:30px !important;
  padding:3px 6px !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
}
.flag-lang-btn,
.lang-btn.flag-lang-btn,
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:30px !important;
  min-width:30px !important;
  height:22px !important;
  min-height:22px !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  visibility:visible !important;
  opacity:1 !important;
  background:transparent !important;
}
.flag-icon {
  display:block !important;
  width:26px !important;
  height:17px !important;
  border-radius:3px !important;
  overflow:hidden !important;
  visibility:visible !important;
  opacity:1 !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.35) !important;
  background-size:cover !important;
  background-position:center !important;
}
.flag-de { background:linear-gradient(to bottom,#000 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%) !important; }
.flag-gb { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36'%3E%3Cpath fill='%23012169' d='M0 0h60v36H0z'/%3E%3Cpath stroke='%23fff' stroke-width='8' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23C8102E' stroke-width='5' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23fff' stroke-width='12' d='M30 0v36M0 18h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='7' d='M30 0v36M0 18h60'/%3E%3C/svg%3E") !important; }
.flag-lang-btn.active, .lang-btn.flag-lang-btn.active { display:inline-flex !important; }

/* Services bottom/footer readability after navigating from Services nav. */
body.page-services footer.site-footer,
body.page-services .site-footer {
  background:#eef1f5 !important;
  color:#111827 !important;
  opacity:1 !important;
  filter:none !important;
}
body.page-services footer.site-footer *,
body.page-services .site-footer * {
  color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
  filter:none !important;
}
body.page-services .site-footer .footer-brand p,
body.page-services .site-footer .footer-addr,
body.page-services .site-footer .footer-col a,
body.page-services .site-footer .footer-bottom,
body.page-services .site-footer .footer-bottom span,
body.page-services .site-footer .footer-legal a {
  color:#374151 !important;
}
body.page-services .site-footer .footer-col-title {
  color:#111827 !important;
  font-weight:900 !important;
}
body.page-services .footer-logo { opacity:1 !important; filter:none !important; }

/* Reduce remaining blank section gaps without disturbing card layout. */
@media (min-width:761px){
  body.page-services main > section,
  body.page-home main > section { margin-top:0 !important; margin-bottom:0 !important; }
  body.page-services .section,
  body.page-home .section { padding-top:72px !important; padding-bottom:72px !important; }
  body.page-services .cta-band { margin-top:0 !important; margin-bottom:0 !important; }
}
@media (max-width:760px){
  .topbar { height:36px !important; min-height:36px !important; }
  .site-header { top:36px !important; }
  .topbar-inner { padding-left:18px !important; padding-right:18px !important; }
  .topbar-left .tb-sep, .topbar-left .tb-item:nth-of-type(n+2) { display:none !important; }
  .topbar-left .tb-item:first-child { display:inline-flex !important; font-size:13px !important; }
  .flag-lang-switch, .lang-switch.flag-lang-switch { min-width:42px !important; width:42px !important; height:30px !important; padding:3px !important; }
  .flag-lang-btn, .lang-btn.flag-lang-btn, .flag-lang-btn.active, .lang-btn.flag-lang-btn.active { width:32px !important; min-width:32px !important; height:22px !important; }
  .flag-icon { width:26px !important; height:17px !important; }
  body.page-services main > section,
  body.page-home main > section { margin-top:0 !important; margin-bottom:0 !important; }
  body.page-services .section,
  body.page-home .section { padding-top:42px !important; padding-bottom:42px !important; }
}


/* =========================================================
   V35 FINAL: single inactive language flag + remove blank end
   ========================================================= */
/* Language switch: show only the flag for the language NOT currently displayed. */
.lang-switch.flag-lang-switch,
.flag-lang-switch{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:0 !important;
  width:42px !important;
  min-width:42px !important;
  max-width:42px !important;
  height:30px !important;
  min-height:30px !important;
  padding:3px !important;
  overflow:hidden !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  visibility:visible !important;
  opacity:1 !important;
}
.flag-lang-switch .lang-btn,
.flag-lang-switch .flag-lang-btn,
.lang-btn.flag-lang-btn,
.flag-lang-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:34px !important;
  min-width:34px !important;
  height:24px !important;
  min-height:24px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  visibility:visible !important;
  opacity:1 !important;
}
.flag-lang-switch .lang-btn.active,
.flag-lang-switch .flag-lang-btn.active,
.lang-btn.flag-lang-btn.active,
.flag-lang-btn.active{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.flag-icon,
.flag-lang-btn span.flag-icon{
  display:block !important;
  width:28px !important;
  height:18px !important;
  border-radius:3px !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.38) !important;
}
.flag-de{background:linear-gradient(to bottom,#000 0 33.333%,#dd0000 33.333% 66.666%,#ffce00 66.666% 100%) !important;}
.flag-gb{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 36'%3E%3CclipPath id='a'%3E%3Cpath d='M0 0h60v36H0z'/%3E%3C/clipPath%3E%3Cg clip-path='url(%23a)'%3E%3Cpath fill='%23012169' d='M0 0h60v36H0z'/%3E%3Cpath stroke='%23fff' stroke-width='8' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23C8102E' stroke-width='5' d='m0 0 60 36M60 0 0 36'/%3E%3Cpath stroke='%23fff' stroke-width='12' d='M30 0v36M0 18h60'/%3E%3Cpath stroke='%23C8102E' stroke-width='7' d='M30 0v36M0 18h60'/%3E%3C/g%3E%3C/svg%3E") !important;}

/* Remove blank page / trailing white space after footer. */
html, body{
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden !important;
}
body{
  display:block !important;
  background:#eef1f5 !important;
}
main{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  overflow:hidden !important;
}
main > section:last-of-type{
  margin-bottom:0 !important;
}
.site-footer,
footer.site-footer{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
  min-height:0 !important;
  background:#eef1f5 !important;
}
.footer-main{
  margin-bottom:0 !important;
}
.footer-bottom{
  margin-bottom:0 !important;
  padding-bottom:10px !important;
}
body::after,
html::after,
main::after,
.site-footer::after{
  content:none !important;
  display:none !important;
}
@media (max-width:760px){
  body{background:#eef1f5 !important;}
  .site-footer,
  footer.site-footer{
    padding-top:22px !important;
    padding-bottom:0 !important;
  }
  .footer-main{
    padding-bottom:16px !important;
  }
  .footer-bottom{
    padding-top:14px !important;
    padding-bottom:8px !important;
    margin-bottom:0 !important;
  }
  body.page-home main > section:last-of-type,
  body.page-services main > section:last-of-type{
    margin-bottom:0 !important;
    padding-bottom:24px !important;
  }
}


/* =========================================================
   V36 FINAL FIXES: services footer readability, single flag, favicon build
   ========================================================= */
/* Services page footer / last section: force readable mobile + desktop colors */
html, body {
  min-height: 0 !important;
  height: auto !important;
  overflow-x: hidden !important;
}
body.page-services,
body.page-services main {
  background: #f1f3f6 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
body.page-services main > *:last-child {
  margin-bottom: 0 !important;
}
body.page-services .cta-band,
body.page-services .cta-band * {
  color: #ffffff !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.page-services .cta-band {
  background: #090d13 !important;
  margin: 0 !important;
}
body.page-services footer.site-footer,
body.page-services .site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #eef1f5 !important;
  color: #111827 !important;
  margin: 0 !important;
  padding: 38px 0 0 !important;
  min-height: 0 !important;
  filter: none !important;
}
body.page-services .site-footer::before,
body.page-services .site-footer::after,
body.page-services footer.site-footer::before,
body.page-services footer.site-footer::after {
  display: none !important;
  content: none !important;
}
body.page-services .footer-main,
body.page-services .footer-bottom {
  background: #eef1f5 !important;
  color: #111827 !important;
  visibility: visible !important;
  opacity: 1 !important;
  filter: none !important;
}
body.page-services .site-footer *,
body.page-services footer.site-footer * {
  visibility: visible !important;
  opacity: 1 !important;
  text-shadow: none !important;
  filter: none !important;
}
body.page-services .footer-col-title,
body.page-services .footer-bottom,
body.page-services .footer-bottom span,
body.page-services .footer-legal a {
  color: #111827 !important;
}
body.page-services .footer-brand p,
body.page-services .footer-addr,
body.page-services .footer-col a {
  color: #374151 !important;
}
body.page-services .footer-logo {
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  background: transparent !important;
}
@media (max-width: 760px) {
  body.page-services footer.site-footer,
  body.page-services .site-footer {
    padding-top: 24px !important;
    padding-bottom: 0 !important;
  }
  body.page-services .footer-main {
    padding-top: 0 !important;
    padding-bottom: 16px !important;
    gap: 20px !important;
  }
  body.page-services .footer-bottom {
    padding-top: 14px !important;
    padding-bottom: calc(10px + env(safe-area-inset-bottom)) !important;
    margin-bottom: 0 !important;
  }
  body.page-services .footer-col,
  body.page-services .footer-brand {
    text-align: left !important;
  }
}
/* Remove trailing blank white page after footer */
body::after, html::after, main::after, footer::after { display:none !important; content:none !important; }
.site-footer + * { display:none !important; }

/* Language switch: show only the language NOT currently displayed */
.flag-lang-switch,
.lang-switch.flag-lang-switch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 32px !important;
  min-width: 40px !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  overflow: hidden !important;
}
.flag-lang-btn,
.lang-btn.flag-lang-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 24px !important;
  min-width: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.flag-icon, .flag-lang-btn span.flag-icon {
  display:block !important;
  width: 28px !important;
  height: 18px !important;
  border-radius: 3px !important;
  background-size: cover !important;
  background-position: center !important;
}


/* V37: final footer readability + compact end spacing + favicon update */
.site-footer, .site-footer * { visibility: visible !important; opacity: 1 !important; }
.site-footer { background:#f4f6f8 !important; color:#121826 !important; padding-bottom:0 !important; margin-bottom:0 !important; }
.site-footer .footer-main, .site-footer .footer-bottom { color:#121826 !important; }
.site-footer p, .site-footer span, .site-footer a, .site-footer .footer-col-title { color:#121826 !important; }
.site-footer a:hover { color:#ff2d5d !important; }
html, body { min-height:auto !important; }
body::after, main::after { display:none !important; content:none !important; }
@media (max-width:760px){
  .site-footer{ padding-bottom:0 !important; margin-bottom:0 !important; min-height:0 !important; }
  .footer-main{ padding-bottom:18px !important; }
  .footer-bottom{ padding-bottom:12px !important; }
  body{ padding-bottom:0 !important; margin-bottom:0 !important; }
}


/* =========================================================
   V38 MOBILE ALIGNMENT + HORIZONTAL OVERFLOW FIX
   ========================================================= */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}
@supports not (overflow-x: clip) {
  html, body { overflow-x: hidden !important; }
}
*, *::before, *::after {
  box-sizing: border-box !important;
}
img, video, svg, canvas, iframe {
  max-width: 100% !important;
}
body {
  position: relative !important;
}
.site-header,
.topbar,
.mobile-drawer,
main,
section,
footer,
.container,
.header-inner,
.topbar-inner,
.hero,
.hero-bg,
.hero-picture,
.booking-panel,
.services-grid,
.split-section,
.steps-grid,
.trust-grid,
.trust-bar,
.service-mini-strip,
.app-section,
.app-strip,
.footer-main,
.footer-bottom {
  max-width: 100vw !important;
}
.container,
.header-inner,
.topbar-inner {
  width: min(100%, var(--container, 1200px)) !important;
}
/* Prevent full-width and viewport-width sections from creating side-scroll on iOS */
.section,
.section--gray,
.cities-bar,
.booking-panel,
.trust-bar,
.site-footer,
.page-hero-sec,
.hero {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* Mobile-specific containment and alignment */
@media (max-width: 760px) {
  html, body {
    overflow-x: hidden !important;
    touch-action: pan-y !important;
  }
  .container,
  .header-inner,
  .topbar-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .site-header,
  .topbar {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .mobile-drawer {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .hero,
  .hero-bg,
  .hero-picture,
  .hero-img {
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-content,
  .hero-text {
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-title,
  .hero-subtitle,
  .s-title,
  .s-lead,
  .card,
  .svc-card,
  .svc-card--showcase,
  .step-card,
  .contact-form-card,
  .contact-info,
  .footer-col {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .hero-pills,
  .cities-list,
  .service-mini-list,
  .chips,
  .badge-row,
  .store-links {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
  .city-chip,
  .service-mini-list span,
  .hero-pill {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .services-grid,
  .steps-grid,
  .trust-grid,
  .contact-grid,
  .footer-main,
  .split-section {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 18px !important;
  }
  .svc-card,
  .step-card,
  .split-section > *,
  .contact-grid > *,
  .footer-main > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .service-mini-strip,
  .app-section,
  .app-strip,
  .booking-panel {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
  .store-links {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: wrap !important;
  }
  .store-badge,
  .app-store-badge,
  .play-store-badge {
    width: 156px !important;
    height: 46px !important;
    max-width: calc(50vw - 24px) !important;
    object-fit: contain !important;
  }
  .footer-bottom {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
@media (max-width: 390px) {
  .container,
  .header-inner,
  .topbar-inner,
  .mobile-drawer {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .store-badge,
  .app-store-badge,
  .play-store-badge {
    width: 148px !important;
    height: 44px !important;
  }
}


/* =========================================================
   V40 KLARA CHATBOT — KFF assistant
   ========================================================= */
.klara-chatbot {
  position: fixed;
  right: clamp(16px, 2.2vw, 28px);
  bottom: clamp(16px, 2.2vw, 28px);
  z-index: 9999;
  font-family: inherit;
  color: #0b1220;
}
.klara-toggle {
  width: 64px;
  height: 64px;
  border: 0 !important;
  border-radius: 999px;
  background: linear-gradient(135deg, #ff2f68 0%, #e00046 100%);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 18px 44px rgba(255, 47, 104, .34), 0 8px 18px rgba(5, 8, 14, .25);
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
  position: relative;
}
.klara-toggle:hover { transform: translateY(-3px) scale(1.02); box-shadow: 0 22px 52px rgba(255, 47, 104, .42), 0 10px 22px rgba(5, 8, 14, .28); }
.klara-toggle:focus-visible { outline: 3px solid rgba(255,47,104,.28); outline-offset: 4px; }
.klara-toggle svg { width: 30px; height: 30px; display:block; }
.klara-toggle .klara-pulse {
  position:absolute;
  top: 8px;
  right: 8px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background:#14e085;
  box-shadow: 0 0 0 0 rgba(20,224,133,.55);
  animation: klaraPulse 1.8s infinite;
}
@keyframes klaraPulse { 0%{box-shadow:0 0 0 0 rgba(20,224,133,.55)} 70%{box-shadow:0 0 0 9px rgba(20,224,133,0)} 100%{box-shadow:0 0 0 0 rgba(20,224,133,0)} }
.klara-panel {
  position: absolute;
  right: 0;
  bottom: 82px;
  width: min(392px, calc(100vw - 32px));
  height: min(620px, calc(100dvh - 120px));
  background: #fff;
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 0 28px 90px rgba(2, 6, 23, .32);
  border: 1px solid rgba(15,23,42,.08);
  transform: translateY(14px) scale(.96);
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease, transform .24s ease;
  display: flex;
  flex-direction: column;
}
.klara-chatbot.open .klara-panel { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); }
.klara-head {
  background: linear-gradient(135deg, #080d15 0%, #141b26 60%, #252b35 100%);
  color:#fff;
  padding: 18px 18px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom: 3px solid #ff2f68;
}
.klara-brand { display:flex; align-items:center; gap:12px; min-width:0; }
.klara-avatar {
  width:46px; height:46px; flex:0 0 auto;
  border-radius: 16px;
  background: #ff2f68;
  display:grid; place-items:center;
  font-weight: 950;
  letter-spacing: -.04em;
  color:#fff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}
.klara-title { font-weight:900; font-size: 18px; line-height:1; margin:0; color:#fff; }
.klara-subtitle { font-size: 12px; color: rgba(255,255,255,.76); margin:5px 0 0; line-height:1.25; }
.klara-close {
  width:36px; height:36px; border-radius:999px; border:0!important;
  background:rgba(255,255,255,.12); color:#fff; cursor:pointer;
  display:grid; place-items:center; font-size:22px; line-height:1;
}
.klara-close:hover { background:rgba(255,255,255,.2); }
.klara-body {
  flex:1;
  min-height:0;
  overflow-y:auto;
  padding: 16px;
  background: linear-gradient(180deg, #f7f8fb 0%, #fff 100%);
  overscroll-behavior: contain;
}
.klara-msg {
  max-width: 84%;
  margin: 0 0 10px;
  padding: 11px 13px;
  border-radius: 18px;
  font-size: 14px;
  line-height: 1.45;
  box-shadow: 0 6px 16px rgba(15,23,42,.05);
  word-break: break-word;
}
.klara-msg.bot {
  background:#fff;
  color:#182235;
  border: 1px solid rgba(15,23,42,.06);
  border-top-left-radius: 6px;
}
.klara-msg.user {
  background:#ff2f68;
  color:#fff;
  margin-left:auto;
  border-top-right-radius: 6px;
  box-shadow: 0 10px 20px rgba(255,47,104,.18);
}
.klara-msg a { color: inherit; font-weight: 900; text-decoration: underline; text-underline-offset: 2px; }
.klara-quick {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding: 2px 0 10px;
}
.klara-chip {
  border:1px solid rgba(255,47,104,.22)!important;
  background:#fff;
  color:#111827;
  border-radius:999px;
  padding:8px 11px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.klara-chip:hover { background:#ff2f68; color:#fff; transform: translateY(-1px); }
.klara-foot {
  border-top:1px solid #e8edf4;
  padding: 12px;
  background:#fff;
}
.klara-form { display:flex; gap:8px; }
.klara-input {
  flex:1;
  height:46px;
  border:1px solid #dce3ed;
  border-radius: 999px;
  padding: 0 14px;
  font: inherit;
  font-size: 14px;
  color:#111827;
  outline:none;
  min-width:0;
}
.klara-input:focus { border-color:#ff2f68; box-shadow:0 0 0 3px rgba(255,47,104,.12); }
.klara-send {
  width:46px; height:46px; flex:0 0 auto;
  border:0!important;
  border-radius:999px;
  background:#111827;
  color:#fff;
  cursor:pointer;
  display:grid; place-items:center;
}
.klara-send:hover { background:#ff2f68; }
.klara-disclaimer {
  font-size: 10.5px;
  line-height:1.35;
  color:#6b7280;
  margin: 8px 4px 0;
}
@media (max-width: 760px) {
  .klara-chatbot { right: 14px; bottom: 14px; }
  .klara-toggle { width: 58px; height: 58px; }
  .klara-panel {
    position: fixed;
    right: 10px;
    left: 10px;
    bottom: 82px;
    width: auto;
    height: min(600px, calc(100dvh - 116px));
    border-radius: 22px;
  }
  .klara-head { padding: 15px; }
  .klara-msg { max-width: 90%; font-size: 13.5px; }
}


/* =========================================================
   V41 KLARA — compact AI chatbot with employee avatar
   ========================================================= */
.klara-chatbot{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  z-index:1200!important;
  font-family:inherit!important;
  pointer-events:none!important;
}
.klara-toggle,.klara-panel{pointer-events:auto!important;}
.klara-toggle{
  width:62px!important;
  height:62px!important;
  border-radius:999px!important;
  border:3px solid #ff2f68!important;
  padding:0!important;
  background:#0b0f16!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(5,8,14,.30),0 7px 20px rgba(255,47,104,.22)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.klara-toggle-avatar{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.klara-toggle svg{display:none!important;}
.klara-toggle .klara-pulse{
  right:1px!important;
  top:1px!important;
  width:12px!important;
  height:12px!important;
  border:2px solid #fff!important;
  z-index:3!important;
}
.klara-panel{
  width:min(340px,calc(100vw - 28px))!important;
  height:auto!important;
  max-height:min(520px,calc(100dvh - 132px))!important;
  bottom:74px!important;
  right:0!important;
  border-radius:22px!important;
  box-shadow:0 24px 60px rgba(5,8,14,.25)!important;
  overflow:hidden!important;
  border:1px solid rgba(255,255,255,.08)!important;
}
.klara-head{
  padding:12px 12px!important;
  min-height:62px!important;
}
.klara-brand{gap:9px!important;}
.klara-avatar{
  width:44px!important;
  height:44px!important;
  border-radius:999px!important;
  overflow:hidden!important;
  position:relative!important;
  background:#fff!important;
  flex:0 0 44px!important;
  border:2px solid rgba(255,255,255,.88)!important;
}
.klara-avatar > img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.klara-logo-badge{
  position:absolute!important;
  right:-3px!important;
  bottom:-3px!important;
  width:27px!important;
  height:15px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:rgba(255,255,255,.92)!important;
  border-radius:6px!important;
  padding:2px!important;
  box-shadow:0 2px 7px rgba(5,8,14,.22)!important;
}
.klara-logo-badge img{
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.klara-title{font-size:16px!important;line-height:1!important;}
.klara-subtitle{font-size:11px!important;margin-top:3px!important;}
.klara-close{width:34px!important;height:34px!important;font-size:22px!important;}
.klara-body{
  padding:12px!important;
  max-height:min(300px,calc(100dvh - 260px))!important;
  overflow:auto!important;
}
.klara-msg{font-size:13px!important;line-height:1.42!important;padding:9px 11px!important;border-radius:16px!important;max-width:90%!important;}
.klara-quick{gap:6px!important;margin-top:8px!important;}
.klara-chip{font-size:11px!important;padding:7px 9px!important;border-radius:999px!important;}
.klara-foot{padding:10px 12px 11px!important;}
.klara-form{gap:6px!important;}
.klara-input{height:38px!important;font-size:13px!important;padding:0 11px!important;}
.klara-send{width:38px!important;height:38px!important;min-width:38px!important;}
.klara-disclaimer{font-size:10px!important;line-height:1.3!important;margin-top:7px!important;}
.klara-thinking{opacity:.72!important;font-style:italic!important;}
@media (max-width:760px){
  .klara-chatbot{
    right:12px!important;
    bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;
    z-index:1200!important;
  }
  .klara-toggle{width:56px!important;height:56px!important;border-width:2px!important;}
  .klara-panel{
    width:min(320px,calc(100vw - 24px))!important;
    max-height:min(460px,calc(100dvh - 104px))!important;
    right:0!important;
    bottom:66px!important;
    border-radius:20px!important;
  }
  .klara-body{max-height:min(250px,calc(100dvh - 246px))!important;}
}
@media (max-width:390px){
  .klara-panel{width:calc(100vw - 20px)!important;}
  .klara-title{font-size:15px!important;}
  .klara-subtitle{font-size:10px!important;}
}


/* =========================================================
   V42 KLARA REFINED — cleaner design, real logo only on shirt
   ========================================================= */
.klara-chatbot{right:16px!important;bottom:16px!important;z-index:1250!important;}
.klara-toggle{width:66px!important;height:66px!important;border:2px solid rgba(255,47,104,.95)!important;background:linear-gradient(180deg,#121821 0%, #0b1017 100%)!important;box-shadow:0 16px 34px rgba(5,8,14,.26), 0 6px 18px rgba(255,47,104,.18)!important;position:relative!important;}
.klara-toggle:hover{transform:translateY(-2px)!important;box-shadow:0 18px 36px rgba(5,8,14,.30),0 8px 22px rgba(255,47,104,.22)!important;}
.klara-toggle-avatar{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}
.klara-toggle .klara-pulse{top:7px!important;right:7px!important;width:10px!important;height:10px!important;background:#19d47b!important;border:2px solid #fff!important;box-shadow:0 0 0 0 rgba(25,212,123,.48)!important;}
.klara-live-pill{position:absolute!important;left:50%!important;bottom:-6px!important;transform:translateX(-50%)!important;display:inline-flex!important;align-items:center!important;gap:5px!important;padding:3px 8px!important;border-radius:999px!important;background:rgba(9,13,20,.96)!important;color:#fff!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;line-height:1!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 6px 16px rgba(5,8,14,.24)!important;text-transform:uppercase!important;}
.klara-live-dot{width:7px!important;height:7px!important;border-radius:999px!important;background:#19d47b!important;display:inline-block!important;box-shadow:0 0 0 0 rgba(25,212,123,.5)!important;animation:klaraPulse 1.8s infinite!important;}
.klara-panel{width:min(332px,calc(100vw - 28px))!important;max-height:min(540px,calc(100dvh - 132px))!important;border-radius:24px!important;background:rgba(255,255,255,.98)!important;border:1px solid rgba(10,14,22,.08)!important;box-shadow:0 24px 58px rgba(5,8,14,.24)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;}
.klara-head{padding:14px 14px 12px!important;min-height:68px!important;background:linear-gradient(135deg,#111722 0%,#0b0f16 70%,#161c28 100%)!important;position:relative!important;}
.klara-head::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#ff2f68 0%,#ff6a8f 52%,rgba(255,255,255,.16) 100%);}
.klara-brand{gap:10px!important;}
.klara-avatar{width:46px!important;height:46px!important;flex:0 0 46px!important;border-radius:50%!important;border:2px solid rgba(255,255,255,.9)!important;background:#fff!important;box-shadow:0 6px 14px rgba(5,8,14,.18)!important;}
.klara-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;}
.klara-logo-badge{display:none!important;}
.klara-title{font-size:16px!important;font-weight:900!important;letter-spacing:.01em!important;}
.klara-subtitle{font-size:11px!important;color:rgba(255,255,255,.8)!important;}
.klara-close{width:34px!important;height:34px!important;border-radius:50%!important;background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.12)!important;transition:all .2s ease!important;}
.klara-close:hover{background:rgba(255,255,255,.18)!important;transform:rotate(90deg)!important;}
.klara-body{padding:14px!important;max-height:min(316px,calc(100dvh - 260px))!important;background:linear-gradient(180deg,#fbfcfe 0%, #f7f8fb 100%)!important;}
.klara-msg{font-size:13px!important;line-height:1.5!important;padding:10px 12px!important;border-radius:18px!important;box-shadow:0 4px 14px rgba(5,8,14,.05)!important;}
.klara-msg.bot{background:#fff!important;border:1px solid rgba(12,16,24,.06)!important;color:#111827!important;}
.klara-msg.user{background:linear-gradient(135deg,#ff2f68 0%, #ff4f81 100%)!important;color:#fff!important;}
.klara-quick{gap:7px!important;margin-top:10px!important;}
.klara-chip{font-size:11px!important;padding:8px 10px!important;background:#fff!important;border:1px solid rgba(17,24,39,.08)!important;box-shadow:0 3px 12px rgba(5,8,14,.04)!important;}
.klara-chip:hover{background:#ff2f68!important;color:#fff!important;border-color:#ff2f68!important;}
.klara-foot{padding:12px 12px 12px!important;background:#fff!important;border-top:1px solid rgba(17,24,39,.06)!important;}
.klara-input{height:40px!important;border-radius:14px!important;background:#f8fafc!important;border:1px solid rgba(17,24,39,.1)!important;}
.klara-send{width:40px!important;height:40px!important;min-width:40px!important;border-radius:14px!important;background:linear-gradient(135deg,#ff2f68 0%,#ff4f81 100%)!important;color:#fff!important;box-shadow:0 8px 18px rgba(255,47,104,.18)!important;}
.klara-send:hover{transform:translateY(-1px)!important;filter:brightness(1.03)!important;}
.klara-disclaimer{font-size:10px!important;color:#667085!important;margin-top:8px!important;}
@media (max-width:760px){
  .klara-chatbot{right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom,0px))!important;}
  .klara-toggle{width:60px!important;height:60px!important;}
  .klara-live-pill{font-size:8px!important;padding:3px 7px!important;bottom:-5px!important;}
  .klara-panel{width:min(308px,calc(100vw - 24px))!important;bottom:70px!important;border-radius:22px!important;max-height:min(500px,calc(100dvh - 108px))!important;}
  .klara-body{max-height:min(270px,calc(100dvh - 240px))!important;}
}


/* =========================================================
   V43 KLARA — LIVE only in opened header + improved mobile UI
   ========================================================= */
/* Floating icon: no LIVE text, no visible status labels */
.klara-toggle .klara-live-pill,
.klara-toggle .klara-live-dot{display:none!important;}
.klara-toggle .klara-pulse{display:none!important;}
.klara-toggle{
  width:64px!important;
  height:64px!important;
  border:2px solid rgba(255,47,104,.9)!important;
  box-shadow:0 12px 28px rgba(5,8,14,.26),0 6px 16px rgba(255,47,104,.18)!important;
}
.klara-toggle-avatar{width:100%!important;height:100%!important;object-fit:cover!important;}
/* Header live status only */
.klara-titlebox{min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;}
.klara-title-row{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;}
.klara-header-live{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:3px 7px!important;
  border-radius:999px!important;
  background:rgba(25,212,123,.13)!important;
  color:#adf5d0!important;
  border:1px solid rgba(25,212,123,.28)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  line-height:1!important;
}
.klara-header-live-dot{
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:#19d47b!important;
  box-shadow:0 0 0 0 rgba(25,212,123,.55)!important;
  animation:klaraPulse 1.8s infinite!important;
}
.klara-panel{
  width:min(330px,calc(100vw - 28px))!important;
  bottom:76px!important;
}
.klara-head{
  padding:13px 13px 12px!important;
}
.klara-body{
  scrollbar-width:thin!important;
}
/* Better mobile proportions and avoid covering navigation too much */
@media (max-width:760px){
  .klara-chatbot{
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
  }
  .klara-toggle{
    width:56px!important;
    height:56px!important;
    border-width:2px!important;
  }
  .klara-panel{
    width:min(300px,calc(100vw - 20px))!important;
    right:0!important;
    bottom:64px!important;
    max-height:min(430px,calc(100dvh - 98px))!important;
    border-radius:20px!important;
  }
  .klara-head{
    min-height:62px!important;
    padding:11px 12px!important;
  }
  .klara-avatar{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
  .klara-title{font-size:15px!important;}
  .klara-subtitle{font-size:10px!important;max-width:170px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .klara-header-live{font-size:8px!important;padding:3px 6px!important;gap:4px!important;}
  .klara-header-live-dot{width:6px!important;height:6px!important;}
  .klara-close{width:31px!important;height:31px!important;font-size:20px!important;}
  .klara-body{
    padding:11px!important;
    max-height:min(245px,calc(100dvh - 230px))!important;
  }
  .klara-msg{
    max-width:92%!important;
    font-size:12.5px!important;
    line-height:1.42!important;
    padding:9px 10px!important;
  }
  .klara-quick{gap:6px!important;margin-top:8px!important;}
  .klara-chip{font-size:10.5px!important;padding:7px 8px!important;}
  .klara-foot{padding:10px!important;}
  .klara-input{height:37px!important;font-size:12.5px!important;border-radius:13px!important;}
  .klara-send{width:37px!important;height:37px!important;min-width:37px!important;border-radius:13px!important;}
  .klara-disclaimer{font-size:9.2px!important;line-height:1.25!important;margin-top:6px!important;}
}
@media (max-width:370px){
  .klara-panel{width:calc(100vw - 16px)!important;right:-2px!important;}
  .klara-brand{gap:7px!important;}
  .klara-subtitle{max-width:145px!important;}
}

/* =========================================================
   V44 COOKIE CONSENT + KLARA INTRO
   ========================================================= */
.cookie-consent,
.cookie-settings-modal {
  position: fixed !important;
  z-index: 1400 !important;
  font-family: inherit !important;
}
.cookie-consent {
  left: 18px !important;
  bottom: 18px !important;
  width: min(430px, calc(100vw - 36px)) !important;
  background: rgba(9, 13, 20, 0.98) !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 22px !important;
  box-shadow: 0 22px 60px rgba(5,8,14,.35) !important;
  overflow: hidden !important;
  transform: translateY(18px) !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity .28s ease, transform .28s ease !important;
}
.cookie-consent.show {
  opacity: 1 !important;
  transform: translateY(0) !important;
  pointer-events: auto !important;
}
.cookie-consent__bar {
  height: 4px !important;
  background: linear-gradient(90deg, #ff2f68 0%, #ff6a8f 55%, rgba(255,255,255,.25) 100%) !important;
}
.cookie-consent__inner { padding: 18px !important; }
.cookie-consent h3 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  letter-spacing: -.01em !important;
}
.cookie-consent p {
  margin: 0 !important;
  color: rgba(255,255,255,.80) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
.cookie-consent__links {
  margin-top: 10px !important;
  display: flex !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
}
.cookie-consent__links a {
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.cookie-consent__actions {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin-top: 16px !important;
}
.cookie-btn {
  border: 0 !important;
  border-radius: 999px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: transform .18s ease, background .18s ease, color .18s ease !important;
}
.cookie-btn:hover { transform: translateY(-1px) !important; }
.cookie-btn--primary { background: #ff2f68 !important; color: #fff !important; }
.cookie-btn--light { background: #fff !important; color: #111827 !important; }
.cookie-btn--ghost { background: rgba(255,255,255,.10) !important; color: #fff !important; }
.cookie-btn--wide { grid-column: 1 / -1 !important; }
.cookie-settings-modal {
  inset: 0 !important;
  background: rgba(5,8,14,.56) !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 18px !important;
}
.cookie-settings-modal.show { display: flex !important; }
.cookie-settings-box {
  width: min(520px, 100%) !important;
  background: #fff !important;
  color: #111827 !important;
  border-radius: 24px !important;
  box-shadow: 0 24px 70px rgba(5,8,14,.34) !important;
  overflow: hidden !important;
}
.cookie-settings-head {
  background: #0b0f16 !important;
  color: #fff !important;
  padding: 18px 20px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
}
.cookie-settings-head h3 { margin: 0 !important; font-size: 18px !important; color: #fff !important; }
.cookie-settings-close {
  border: 0 !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
  font-size: 22px !important;
  cursor: pointer !important;
}
.cookie-settings-body { padding: 18px 20px !important; }
.cookie-option {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #eef1f5 !important;
}
.cookie-option:last-child { border-bottom: 0 !important; }
.cookie-option strong { display: block !important; color: #111827 !important; font-size: 14px !important; margin-bottom: 4px !important; }
.cookie-option span { display: block !important; color: #667085 !important; font-size: 12px !important; line-height: 1.45 !important; }
.cookie-option input { width: 20px !important; height: 20px !important; accent-color: #ff2f68 !important; margin-top: 2px !important; }
.cookie-settings-actions { padding: 0 20px 20px !important; display: flex !important; gap: 10px !important; flex-wrap: wrap !important; }
.cookie-settings-actions .cookie-btn { flex: 1 1 160px !important; }
@media (max-width: 760px) {
  .cookie-consent {
    left: 10px !important;
    right: 10px !important;
    bottom: calc(10px + env(safe-area-inset-bottom, 0px)) !important;
    width: auto !important;
    border-radius: 18px !important;
  }
  .cookie-consent__inner { padding: 15px !important; }
  .cookie-consent h3 { font-size: 16px !important; }
  .cookie-consent p { font-size: 12px !important; }
  .cookie-consent__actions { grid-template-columns: 1fr !important; }
  .cookie-btn { min-height: 40px !important; font-size: 11px !important; }
  .cookie-settings-modal { padding: 12px !important; }
  .cookie-settings-box { border-radius: 20px !important; max-height: calc(100dvh - 24px) !important; overflow: auto !important; }
}


/* =========================================================
   V45 KLARA — LIVE only in open header, improved mobile UI
   ========================================================= */
/* Closed floating icon must be only Klara portrait: no live dot, no pulse, no label */
.klara-toggle .klara-live-pill,
.klara-toggle .klara-live-dot,
.klara-toggle .klara-pulse{display:none!important;visibility:hidden!important;opacity:0!important;}
.klara-toggle{
  width:62px!important;
  height:62px!important;
  border:2px solid rgba(255,47,104,.92)!important;
  border-radius:999px!important;
  overflow:hidden!important;
  background:#0b0f16!important;
  box-shadow:0 12px 28px rgba(5,8,14,.24),0 6px 16px rgba(255,47,104,.16)!important;
}
.klara-toggle-avatar{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;display:block!important;}
/* LIVE appears only in the opened chatbot header */
.klara-header-live{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  background:rgba(25,212,123,.14)!important;
  color:#baf7d8!important;
  border:1px solid rgba(25,212,123,.32)!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
  line-height:1!important;
}
.klara-header-live-dot{
  width:7px!important;
  height:7px!important;
  border-radius:999px!important;
  background:#19d47b!important;
  box-shadow:0 0 0 0 rgba(25,212,123,.55)!important;
  animation:klaraPulse 1.8s infinite!important;
}
/* Cleaner panel */
.klara-panel{
  width:min(326px,calc(100vw - 28px))!important;
  max-height:min(520px,calc(100dvh - 118px))!important;
  bottom:74px!important;
  border-radius:23px!important;
  border:1px solid rgba(12,16,24,.08)!important;
  background:#fff!important;
  box-shadow:0 20px 52px rgba(5,8,14,.24)!important;
}
.klara-head{
  padding:13px 13px 12px!important;
  min-height:66px!important;
  background:linear-gradient(135deg,#0d121b 0%,#111827 70%,#1b2230 100%)!important;
}
.klara-avatar{width:44px!important;height:44px!important;flex:0 0 44px!important;border:2px solid rgba(255,255,255,.92)!important;}
.klara-logo-badge{display:none!important;}
.klara-body{padding:13px!important;max-height:min(306px,calc(100dvh - 248px))!important;background:#f8fafc!important;}
.klara-msg{font-size:13px!important;line-height:1.46!important;padding:9px 11px!important;border-radius:17px!important;max-width:90%!important;}
.klara-msg.bot{background:#fff!important;color:#111827!important;border:1px solid rgba(17,24,39,.06)!important;}
.klara-msg.user{background:linear-gradient(135deg,#ff2f68,#ff4f81)!important;color:#fff!important;}
.klara-chip{font-size:11px!important;padding:7px 9px!important;}
.klara-foot{padding:11px 12px 12px!important;background:#fff!important;}
.klara-input{height:39px!important;border-radius:14px!important;background:#f8fafc!important;}
.klara-send{width:39px!important;height:39px!important;min-width:39px!important;border-radius:14px!important;}
/* Better mobile: compact, centered within viewport, less intrusive */
@media (max-width:760px){
  .klara-chatbot{
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
  }
  .klara-toggle{
    width:56px!important;
    height:56px!important;
  }
  .klara-panel{
    width:min(304px,calc(100vw - 20px))!important;
    right:0!important;
    bottom:64px!important;
    max-height:min(430px,calc(100dvh - 96px))!important;
    border-radius:20px!important;
  }
  .klara-head{
    min-height:60px!important;
    padding:10px 11px!important;
  }
  .klara-avatar{
    width:39px!important;
    height:39px!important;
    flex-basis:39px!important;
  }
  .klara-title{font-size:14.5px!important;}
  .klara-subtitle{font-size:10px!important;max-width:150px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .klara-header-live{font-size:7.5px!important;padding:3px 6px!important;gap:4px!important;}
  .klara-header-live-dot{width:6px!important;height:6px!important;}
  .klara-close{width:30px!important;height:30px!important;font-size:20px!important;}
  .klara-body{
    padding:10px!important;
    max-height:min(235px,calc(100dvh - 226px))!important;
  }
  .klara-msg{
    max-width:92%!important;
    font-size:12.3px!important;
    line-height:1.4!important;
    padding:8px 10px!important;
  }
  .klara-quick{gap:5px!important;margin-top:7px!important;}
  .klara-chip{font-size:10.2px!important;padding:6px 7px!important;}
  .klara-foot{padding:9px!important;}
  .klara-input{height:36px!important;font-size:12.3px!important;border-radius:12px!important;}
  .klara-send{width:36px!important;height:36px!important;min-width:36px!important;border-radius:12px!important;}
  .klara-disclaimer{font-size:9.4px!important;line-height:1.25!important;margin-top:6px!important;}
}
@media (max-width:380px){
  .klara-panel{width:calc(100vw - 16px)!important;right:-2px!important;}
  .klara-subtitle{max-width:130px!important;}
}


/* =========================================================
   V46 — Modern favicon + Sixt-like wide desktop top panel
   ========================================================= */
@media (min-width: 981px){
  .site-header,
  .site-header.scrolled{
    height:78px!important;
    min-height:78px!important;
    width:100vw!important;
    left:0!important;
    right:0!important;
    top:0!important;
    background:#0c0d0f!important;
    border-bottom:3px solid #ff2f68!important;
    box-shadow:0 10px 30px rgba(0,0,0,.20)!important;
    transform:none!important;
  }
  .site-header.header-hidden{transform:none!important;}
  .header-inner{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    padding-left:clamp(36px,5vw,92px)!important;
    padding-right:clamp(36px,5vw,92px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:clamp(22px,3vw,58px)!important;
    margin:0!important;
  }
  .brand{
    flex:0 0 auto!important;
    margin:0!important;
  }
  .brand-logo,
  .site-header.scrolled .brand-logo{
    height:54px!important;
    max-width:245px!important;
    width:auto!important;
  }
  .main-nav{
    flex:1 1 auto!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    gap:clamp(10px,1.2vw,24px)!important;
    margin:0!important;
    padding:0!important;
    min-width:0!important;
  }
  .nav-link{
    padding:28px 10px 25px!important;
    min-height:78px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:15px!important;
    font-weight:900!important;
    letter-spacing:.01em!important;
    color:rgba(255,255,255,.86)!important;
    border-radius:0!important;
    background:transparent!important;
    position:relative!important;
    white-space:nowrap!important;
  }
  .nav-link::after{
    content:''!important;
    display:block!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    height:4px!important;
    background:#ff2f68!important;
    transform:scaleX(0)!important;
    transform-origin:center!important;
    transition:transform .22s ease!important;
  }
  .nav-link:hover,
  .nav-link.active{
    color:#fff!important;
    background:transparent!important;
  }
  .nav-link:hover::after,
  .nav-link.active::after{transform:scaleX(1)!important;}
  .header-ctas{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:14px!important;
    margin:0!important;
  }
  .btn-outline-header{
    height:48px!important;
    min-width:144px!important;
    padding:0 22px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#252628!important;
    color:#fff!important;
    font-weight:900!important;
    border:0!important;
    box-shadow:none!important;
  }
  .btn-cta-header{
    height:52px!important;
    min-width:154px!important;
    padding:0 26px!important;
    border-radius:999px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:#ff2f68!important;
    color:#fff!important;
    font-weight:900!important;
    border:0!important;
    box-shadow:none!important;
  }
  .ham-btn{
    display:flex!important;
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    border-radius:999px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    background:#252628!important;
    border:0!important;
    box-shadow:none!important;
    margin:0!important;
    padding:0!important;
  }
  .ham-btn span{
    width:22px!important;
    height:2px!important;
    background:#fff!important;
    border-radius:2px!important;
  }
  body.page-home .hero{margin-top:78px!important;}
  .page-hero-sec{margin-top:78px!important;}
}
@media (min-width: 981px) and (max-width: 1180px){
  .header-inner{padding-left:26px!important;padding-right:26px!important;gap:18px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:46px!important;max-width:205px!important;}
  .main-nav{gap:8px!important;}
  .nav-link{font-size:13px!important;padding-left:6px!important;padding-right:6px!important;}
  .btn-outline-header{min-width:128px!important;padding:0 16px!important;}
  .btn-cta-header{min-width:138px!important;padding:0 18px!important;}
}


/* V48 Transportart field improvements */
.booking-form select.bf-input:invalid, .inquiry-form select.f-input:invalid { color:#667085!important; }
.booking-form select.bf-input option, .inquiry-form select.f-input option { color:#111827!important; }
@media (max-width:760px){
  .booking-form select.bf-input, .inquiry-form select.f-input{width:100%!important;max-width:100%!important;}
}


/* =========================================================
   V51 FINAL — header overlap, mobile hero roof/sky, email forms
   ========================================================= */
/* Desktop: keep the language/phone topbar above the main Sixt-style header; no overlap */
@media (min-width:981px){
  .topbar{
    display:block!important;
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    height:36px!important;
    min-height:36px!important;
    z-index:3600!important;
    background:#08090b!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    transform:none!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .topbar-inner{
    width:100%!important;
    max-width:none!important;
    height:36px!important;
    padding-left:clamp(36px,5vw,92px)!important;
    padding-right:clamp(36px,5vw,92px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
  .topbar-left{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;color:#fff!important;}
  .topbar-right{display:flex!important;align-items:center!important;justify-content:flex-end!important;min-width:46px!important;}
  .site-header,.site-header.scrolled{
    top:36px!important;
    height:78px!important;
    min-height:78px!important;
    z-index:3500!important;
    transform:none!important;
  }
  .site-header.header-hidden{transform:none!important;}
  .header-inner{
    padding-left:clamp(32px,4vw,84px)!important;
    padding-right:clamp(32px,4vw,84px)!important;
    gap:clamp(14px,2vw,34px)!important;
  }
  .main-nav{flex:1 1 auto!important;min-width:0!important;gap:clamp(8px,1vw,18px)!important;}
  .nav-link{font-size:clamp(12px,0.85vw,15px)!important;padding-left:6px!important;padding-right:6px!important;}
  .header-ctas{flex:0 0 auto!important;gap:10px!important;}
  .btn-outline-header{min-width:132px!important;padding:0 18px!important;}
  .btn-cta-header{min-width:150px!important;padding:0 22px!important;}
  body.page-home .hero{margin-top:114px!important;}
  .page-hero-sec{margin-top:114px!important;}
}
@media (min-width:981px) and (max-width:1180px){
  .header-inner{padding-left:22px!important;padding-right:22px!important;gap:12px!important;}
  .brand-logo,.site-header.scrolled .brand-logo{height:44px!important;max-width:190px!important;}
  .main-nav{gap:6px!important;}
  .nav-link{font-size:12px!important;padding-left:4px!important;padding-right:4px!important;}
  .btn-outline-header{min-width:116px!important;padding:0 12px!important;font-size:12px!important;}
  .btn-cta-header{min-width:126px!important;padding:0 14px!important;font-size:12px!important;}
  .ham-btn{width:44px!important;min-width:44px!important;height:44px!important;}
}
/* Mobile hero: show van roof and some sky, without excessive crop */
@media (max-width:760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top:0!important;
    padding-top:0!important;
    min-height:640px!important;
    background:#060a10!important;
    overflow:hidden!important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:block!important;
    background:#060a10!important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center top!important;
    transform:none!important;
    max-width:none!important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    background:linear-gradient(180deg, rgba(5,8,12,.06) 0%, rgba(5,8,12,.20) 42%, rgba(5,8,12,.68) 100%)!important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:640px!important;
    padding:0 18px 24px!important;
    justify-content:flex-end!important;
  }
}
@media (max-width:480px){
  body.page-home .hero,.page-home .hero{min-height:620px!important;}
  body.page-home .hero-content,.page-home .hero-content{min-height:620px!important;}
  body.page-home .hero-img,.page-home .hero-img{object-position:center top!important;}
}
/* Email inquiry form fields */
.booking-form select.bf-input:invalid, .inquiry-form select.f-input:invalid { color:#667085!important; }
.booking-form select.bf-input option, .inquiry-form select.f-input option { color:#111827!important; }
@media (max-width:760px){.booking-form select.bf-input,.inquiry-form select.f-input{width:100%!important;max-width:100%!important;}}


/* =========================================================
   V52 FINAL — mobile full van/sky, visible selects/date, transparent favicon
   ========================================================= */
/* Mobile hero: show the complete van picture including roof and sky */
@media (max-width:760px){
  body.page-home .hero,
  .page-home .hero{
    margin-top:0!important;
    padding-top:0!important;
    min-height:650px!important;
    background:#060a10!important;
    overflow:hidden!important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg,
  body.page-home .hero-picture,
  .page-home .hero-picture{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    background:#060a10!important;
    overflow:hidden!important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    object-fit:contain!important;
    object-position:center top!important;
    transform:none!important;
    background:#060a10!important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    background:linear-gradient(180deg, rgba(5,8,12,.03) 0%, rgba(5,8,12,.15) 46%, rgba(5,8,12,.68) 100%)!important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    min-height:650px!important;
    padding:0 18px 24px!important;
    justify-content:flex-end!important;
  }
}
@media (max-width:480px){
  body.page-home .hero,.page-home .hero{min-height:630px!important;}
  body.page-home .hero-content,.page-home .hero-content{min-height:630px!important;}
  body.page-home .hero-img,.page-home .hero-img{object-fit:contain!important;object-position:center top!important;}
}
/* Form field visibility: Transportart options + date/calendar controls */
.booking-form select.bf-input,
.inquiry-form select.f-input,
.booking-form input[type="datetime-local"].bf-input,
.inquiry-form input[type="datetime-local"].f-input,
.booking-form input[type="date"].bf-input,
.inquiry-form input[type="date"].f-input,
.booking-form input[type="time"].bf-input,
.inquiry-form input[type="time"].f-input{
  color:#111827!important;
  background-color:#ffffff!important;
  border-color:#cbd5e1!important;
  -webkit-text-fill-color:#111827!important;
  color-scheme:light!important;
  opacity:1!important;
}
.booking-form select.bf-input:invalid,
.inquiry-form select.f-input:invalid{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
}
.booking-form select.bf-input option,
.inquiry-form select.f-input option{
  color:#111827!important;
  background:#ffffff!important;
}
.booking-form input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.inquiry-form input[type="datetime-local"]::-webkit-calendar-picker-indicator,
.booking-form input[type="date"]::-webkit-calendar-picker-indicator,
.inquiry-form input[type="date"]::-webkit-calendar-picker-indicator,
.booking-form input[type="time"]::-webkit-calendar-picker-indicator,
.inquiry-form input[type="time"]::-webkit-calendar-picker-indicator{
  display:block!important;
  opacity:1!important;
  filter:none!important;
  cursor:pointer!important;
  width:22px!important;
  height:22px!important;
  background-color:transparent!important;
}
.booking-form .bf-field,
.inquiry-form .form-field{overflow:visible!important;}
.booking-form select.bf-input,
.inquiry-form select.f-input{appearance:auto!important;-webkit-appearance:auto!important;}


/* =========================================================
   V53 MOBILE HERO FIX
   Show full van with roof and sky on mobile
   ========================================================= */
@media (max-width: 760px){
  body.page-home .hero,
  .page-home .hero{
    display:flex !important;
    flex-direction:column !important;
    min-height:auto !important;
    height:auto !important;
    margin-top:114px !important;
    background:#05080d !important;
    overflow:hidden !important;
  }
  body.page-home .hero-bg,
  .page-home .hero-bg{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    aspect-ratio: 3 / 4 !important;
    display:block !important;
    background:#05080d !important;
  }
  body.page-home .hero-picture,
  .page-home .hero-picture{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  body.page-home .hero-img,
  .page-home .hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center top !important;
    transform:none !important;
    background:#05080d !important;
  }
  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg, rgba(0,0,0,0.06) 0%, rgba(0,0,0,0.08) 36%, rgba(0,0,0,0.62) 74%, rgba(5,8,13,0.98) 100%) !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    min-height:auto !important;
    height:auto !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    padding:0 16px 18px !important;
    pointer-events:none !important;
  }
  body.page-home .hero-text,
  .page-home .hero-text,
  body.page-home .hero-pills,
  .page-home .hero-pills{
    pointer-events:auto !important;
  }
}
@media (max-width: 480px){
  body.page-home .hero-bg,
  .page-home .hero-bg{
    aspect-ratio: 3 / 4 !important;
  }
  body.page-home .hero-content,
  .page-home .hero-content{
    padding:0 14px 16px !important;
  }
}


/* =========================================================
   V54 FORM FIELD READABILITY FIX
   Make all form boxes white like calendar/date field
   ========================================================= */
.booking-panel input,
.booking-panel select,
.booking-panel textarea,
.booking-panel .form-control,
.contact-form-card input,
.contact-form-card select,
.contact-form-card textarea,
.form-card input,
.form-card select,
.form-card textarea,
form input,
form select,
form textarea{
  background:#ffffff !important;
  color:#111827 !important;
  border:2px solid #d8dee8 !important;
  box-shadow:none !important;
  -webkit-text-fill-color:#111827 !important;
  caret-color:#111827 !important;
}
.booking-panel input:focus,
.booking-panel select:focus,
.booking-panel textarea:focus,
.contact-form-card input:focus,
.contact-form-card select:focus,
.contact-form-card textarea:focus,
.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus,
form input:focus,
form select:focus,
form textarea:focus{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:#ff2f68 !important;
  box-shadow:0 0 0 3px rgba(255,47,104,.14) !important;
  outline:none !important;
}
.booking-panel input::placeholder,
.booking-panel textarea::placeholder,
.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder,
.form-card input::placeholder,
.form-card textarea::placeholder,
form input::placeholder,
form textarea::placeholder{
  color:#64748b !important;
  opacity:1 !important;
  -webkit-text-fill-color:#64748b !important;
}
.booking-panel select option,
.contact-form-card select option,
.form-card select option,
form select option{
  background:#ffffff !important;
  color:#111827 !important;
}
/* Keep labels readable above white inputs */
.booking-panel label,
.contact-form-card label,
.form-card label,
form label{
  color:#a9b8d6 !important;
}
/* Date/time picker icon visibility */
input[type="date"],
input[type="time"],
input[type="datetime-local"]{
  color-scheme:light !important;
  background:#ffffff !important;
  color:#111827 !important;
}
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  filter:none !important;
  opacity:1 !important;
  cursor:pointer !important;
}
/* Mobile consistency */
@media (max-width:760px){
  .booking-panel input,
  .booking-panel select,
  .booking-panel textarea,
  .contact-form-card input,
  .contact-form-card select,
  .contact-form-card textarea,
  form input,
  form select,
  form textarea{
    background:#ffffff !important;
    color:#111827 !important;
    -webkit-text-fill-color:#111827 !important;
  }
}


/* =========================================================
   V55 FINAL — form readability + remove mobile hero/header gap
   ========================================================= */
/* Force every booking/contact form control to be readable on dark form panels */
html body .booking-panel .booking-form .bf-input,
html body .booking-panel .booking-form input.bf-input,
html body .booking-panel .booking-form select.bf-input,
html body .booking-panel .booking-form textarea.bf-input,
html body .contact-form-card .inquiry-form .f-input,
html body .contact-form-card .inquiry-form input.f-input,
html body .contact-form-card .inquiry-form select.f-input,
html body .contact-form-card .inquiry-form textarea.f-input,
html body .inquiry-form .f-input,
html body .booking-form .bf-input{
  background-color:#ffffff !important;
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  caret-color:#111827 !important;
  border:2px solid #d4dbe7 !important;
  box-shadow:none !important;
  opacity:1 !important;
  text-shadow:none !important;
  color-scheme:light !important;
}
html body .booking-panel .booking-form .bf-input:focus,
html body .contact-form-card .inquiry-form .f-input:focus,
html body .inquiry-form .f-input:focus,
html body .booking-form .bf-input:focus{
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  border-color:#ff2f68 !important;
  box-shadow:0 0 0 3px rgba(255,47,104,.16) !important;
  outline:none !important;
}
html body .booking-panel .booking-form .bf-input::placeholder,
html body .contact-form-card .inquiry-form .f-input::placeholder,
html body .inquiry-form .f-input::placeholder,
html body .booking-form .bf-input::placeholder{
  color:#5f6f86 !important;
  -webkit-text-fill-color:#5f6f86 !important;
  opacity:1 !important;
}
html body select.bf-input,
html body select.f-input{
  appearance:auto !important;
  -webkit-appearance:auto !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  background-color:#ffffff !important;
}
html body select.bf-input:invalid,
html body select.f-input:invalid{
  color:#334155 !important;
  -webkit-text-fill-color:#334155 !important;
}
html body select.bf-input option,
html body select.f-input option{
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
}
html body input[type="date"].bf-input,
html body input[type="time"].bf-input,
html body input[type="datetime-local"].bf-input,
html body input[type="date"].f-input,
html body input[type="time"].f-input,
html body input[type="datetime-local"].f-input{
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  color-scheme:light !important;
}
html body input[type="date"]::-webkit-calendar-picker-indicator,
html body input[type="time"]::-webkit-calendar-picker-indicator,
html body input[type="datetime-local"]::-webkit-calendar-picker-indicator{
  opacity:1 !important;
  filter:none !important;
  cursor:pointer !important;
}
html body .booking-panel h1,
html body .booking-panel h2,
html body .booking-panel h3,
html body .contact-form-card h1,
html body .contact-form-card h2,
html body .contact-form-card h3{
  color:#ffffff !important;
}
html body .booking-panel label,
html body .booking-panel .bf-label,
html body .contact-form-card label,
html body .contact-form-card .f-label{
  color:#a9b8d6 !important;
}
/* Remove thin white space between mobile top navigation and hero image */
@media (max-width:760px){
  html body.page-home,
  html body.page-home main{
    background:#05080d !important;
  }
  html body.page-home .hero,
  html body .page-home .hero{
    margin-top:0 !important;
    padding-top:114px !important;
    background:#05080d !important;
    border-top:0 !important;
  }
  html body.page-home .hero-bg,
  html body .page-home .hero-bg{
    margin-top:0 !important;
    background:#05080d !important;
  }
  html body.page-home .site-header,
  html body.page-home .topbar{
    margin-bottom:0 !important;
  }
}
@media (max-width:480px){
  html body.page-home .hero,
  html body .page-home .hero{
    padding-top:112px !important;
  }
}


/* =========================================================
   V57 — no mobile hero gap + Klara mini greeting
   ========================================================= */
@media (max-width:760px){
  html body.page-home,
  html body.page-home main{
    background:#05080d !important;
  }
  html body.page-home .topbar,
  html body.page-home .site-header{
    margin-bottom:0 !important;
  }
  html body.page-home .site-header{
    border-bottom:3px solid #ff2f68 !important;
  }
  html body.page-home .hero,
  html body .page-home .hero{
    margin-top:114px !important;
    padding-top:0 !important;
    min-height:auto !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    background:#05080d !important;
    border-top:0 !important;
    overflow:hidden !important;
  }
  html body.page-home .hero-bg,
  html body .page-home .hero-bg{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:3/4 !important;
    min-height:0 !important;
    display:block !important;
    background:#05080d !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
  }
  html body.page-home .hero-picture,
  html body .page-home .hero-picture{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }
  html body.page-home .hero-img,
  html body .page-home .hero-img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    display:block !important;
    background:#05080d !important;
  }
  html body.page-home .hero-overlay,
  html body .page-home .hero-overlay{
    position:absolute !important;
    inset:0 !important;
    background:linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.10) 32%, rgba(0,0,0,0.55) 68%, rgba(5,8,13,0.98) 100%) !important;
    margin:0 !important;
  }
  html body.page-home .hero-content,
  html body .page-home .hero-content{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    min-height:auto !important;
    height:auto !important;
    padding:0 16px 18px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
  }
}
@media (max-width:480px){
  html body.page-home .hero,
  html body .page-home .hero{ margin-top:112px !important; }
}
.klara-mini-greeting{
  position:absolute !important;
  right:0 !important;
  bottom:76px !important;
  width:min(292px,calc(100vw - 24px)) !important;
  display:flex !important;
  gap:10px !important;
  align-items:flex-start !important;
  background:#ffffff !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:20px !important;
  box-shadow:0 22px 54px rgba(5,8,14,.22),0 8px 20px rgba(255,47,104,.10) !important;
  padding:12px !important;
  opacity:0 !important;
  transform:translateY(10px) scale(.98) !important;
  pointer-events:auto !important;
  transition:opacity .22s ease, transform .22s ease !important;
  overflow:hidden !important;
}
.klara-mini-greeting::before{
  content:'';
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#ff2f68,#ff6a8f);
}
.klara-mini-greeting.show{opacity:1!important;transform:translateY(0) scale(1)!important;}
.klara-mini-avatar{width:44px!important;height:44px!important;border-radius:999px!important;overflow:hidden!important;flex:0 0 44px!important;border:2px solid #ff2f68!important;background:#fff!important;}
.klara-mini-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.klara-mini-content{min-width:0!important;flex:1!important;}
.klara-mini-title{margin:0 0 4px!important;font-size:13px!important;line-height:1!important;font-weight:900!important;color:#0f172a!important;}
.klara-mini-text{margin:0!important;font-size:12px!important;line-height:1.4!important;color:#475569!important;}
.klara-mini-actions{display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;}
.klara-mini-open{border:0!important;background:#ff2f68!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;cursor:pointer!important;}
.klara-mini-open:hover{filter:brightness(1.04)!important;transform:translateY(-1px)!important;}
.klara-mini-close{margin-left:auto!important;width:28px!important;height:28px!important;border-radius:999px!important;border:1px solid rgba(17,24,39,.10)!important;background:#f8fafc!important;color:#334155!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
.klara-mini-close:hover{background:#111827!important;color:#fff!important;}
@media (max-width:760px){
  .klara-mini-greeting{right:0!important;bottom:72px!important;width:min(286px,calc(100vw - 24px))!important;padding:11px!important;border-radius:18px!important;}
  .klara-mini-avatar{width:40px!important;height:40px!important;flex-basis:40px!important;}
  .klara-mini-text{font-size:11.5px!important;}
}


/* =========================================================
   V58 FINAL MOBILE HERO: no gap under navigation
   Target: hero image starts directly below pink header line
   ========================================================= */
@media (max-width: 760px){
  :root{--kff-mobile-topbar:36px;--kff-mobile-header:68px;}

  html,
  body,
  body.page-home,
  body.page-home main{
    margin:0 !important;
    padding-top:0 !important;
    background:#05080d !important;
  }

  body.page-home .topbar{
    top:0 !important;
    height:var(--kff-mobile-topbar) !important;
    min-height:var(--kff-mobile-topbar) !important;
    margin:0 !important;
  }

  body.page-home .site-header,
  body.page-home .site-header.scrolled{
    top:var(--kff-mobile-topbar) !important;
    height:var(--kff-mobile-header) !important;
    min-height:var(--kff-mobile-header) !important;
    margin:0 !important;
    border-bottom:3px solid #ff2f68 !important;
    transform:none !important;
  }

  body.page-home .site-header.header-hidden{
    transform:none !important;
  }

  body.page-home main{
    display:block !important;
  }

  body.page-home .hero,
  body.page-home main > .hero,
  .page-home .hero{
    /* 36 + 68 = exact bottom of fixed mobile navigation; no extra black strip */
    margin-top:calc(var(--kff-mobile-topbar) + var(--kff-mobile-header)) !important;
    padding-top:0 !important;
    border-top:0 !important;
    min-height:auto !important;
    height:auto !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    background:#05080d !important;
  }

  body.page-home .hero-bg,
  body.page-home main > .hero .hero-bg,
  .page-home .hero-bg{
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:auto !important;
    aspect-ratio:3/4 !important;
    min-height:0 !important;
    display:block !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    line-height:0 !important;
    background:#05080d !important;
  }

  body.page-home .hero-picture,
  .page-home .hero-picture{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    line-height:0 !important;
  }

  body.page-home .hero-img,
  .page-home .hero-img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center top !important;
    transform:none !important;
    background:#05080d !important;
  }

  body.page-home .hero-overlay,
  .page-home .hero-overlay{
    position:absolute !important;
    inset:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:linear-gradient(180deg, rgba(0,0,0,0.02) 0%, rgba(0,0,0,0.10) 32%, rgba(0,0,0,0.55) 68%, rgba(5,8,13,0.98) 100%) !important;
  }

  body.page-home .hero-content,
  .page-home .hero-content{
    position:absolute !important;
    inset:0 !important;
    z-index:2 !important;
    min-height:auto !important;
    height:auto !important;
    padding:0 16px 18px !important;
    display:flex !important;
    align-items:flex-end !important;
    justify-content:flex-end !important;
    margin:0 !important;
  }

  body.page-home .booking-panel,
  .page-home .booking-panel{
    margin-top:0 !important;
  }
}

@media (max-width:480px){
  body.page-home .hero,
  body.page-home main > .hero,
  .page-home .hero{
    margin-top:104px !important;
  }
}


/* =========================================================
   V59 FINAL: Klara mobile greeting, aligned topbar, borderless flags
   ========================================================= */
/* Desktop topbar alignment: match main header's horizontal edges */
@media (min-width:981px){
  .topbar,
  body .topbar{
    display:block !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    height:36px !important;
    min-height:36px !important;
    z-index:3600 !important;
    background:#08090b !important;
    border-bottom:1px solid rgba(255,255,255,.08) !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
  }
  .topbar-inner,
  body .topbar-inner,
  .header-inner,
  body .header-inner{
    width:100% !important;
    max-width:none !important;
    padding-left:clamp(34px,4.7vw,92px) !important;
    padding-right:clamp(34px,4.7vw,92px) !important;
    box-sizing:border-box !important;
  }
  .topbar-inner,
  body .topbar-inner{
    height:36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
  }
  .topbar-left,
  body .topbar-left{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    margin:0 !important;
    padding:0 !important;
    color:#fff !important;
  }
  .topbar-right,
  body .topbar-right{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* Borderless, background-free flag switch on desktop and mobile */
.lang-switch.flag-lang-switch,
.flag-lang-switch,
.topbar .lang-switch,
.topbar .flag-lang-switch{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.flag-lang-btn,
.lang-btn.flag-lang-btn,
.flag-lang-switch .lang-btn,
.flag-lang-switch .flag-lang-btn,
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  min-width:0 !important;
}
.flag-lang-btn::before,
.flag-lang-btn::after,
.lang-btn.flag-lang-btn::before,
.lang-btn.flag-lang-btn::after{
  display:none !important;
  content:none !important;
}
.flag-icon,
.flag-lang-btn span,
.flag-lang-btn span.flag-icon,
.lang-btn.flag-lang-btn span.flag-icon{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  border-radius:3px !important;
  display:block !important;
}
/* keep single inactive language flag visible */
.flag-lang-btn.active,
.lang-btn.flag-lang-btn.active{
  display:none !important;
}

/* Robust Klara mini greeting, appended to body so it also works on mobile */
.klara-mini-greeting-v59{
  position:fixed !important;
  right:18px !important;
  bottom:96px !important;
  width:min(318px,calc(100vw - 28px)) !important;
  z-index:2147483300 !important;
  display:flex !important;
  gap:10px !important;
  align-items:flex-start !important;
  background:#ffffff !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:20px !important;
  box-shadow:0 22px 54px rgba(5,8,14,.25),0 8px 22px rgba(255,47,104,.12) !important;
  padding:12px !important;
  opacity:0 !important;
  transform:translateY(12px) scale(.98) !important;
  pointer-events:auto !important;
  transition:opacity .24s ease, transform .24s ease !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.klara-mini-greeting-v59::before{
  content:'';
  position:absolute;
  left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#ff2f68,#ff6a8f);
}
.klara-mini-greeting-v59.show{opacity:1!important;transform:translateY(0) scale(1)!important;}
.klara-mini-greeting-v59 .klara-mini-avatar{width:42px!important;height:42px!important;border-radius:50%!important;overflow:hidden!important;flex:0 0 42px!important;border:2px solid #ff2f68!important;background:#fff!important;}
.klara-mini-greeting-v59 .klara-mini-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.klara-mini-greeting-v59 .klara-mini-content{min-width:0!important;flex:1!important;}
.klara-mini-greeting-v59 .klara-mini-title{margin:0 0 4px!important;font-size:13px!important;line-height:1!important;font-weight:900!important;color:#0f172a!important;}
.klara-mini-greeting-v59 .klara-mini-text{margin:0!important;font-size:12px!important;line-height:1.4!important;color:#475569!important;}
.klara-mini-greeting-v59 .klara-mini-actions{display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;}
.klara-mini-greeting-v59 .klara-mini-open{border:0!important;background:#ff2f68!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;cursor:pointer!important;}
.klara-mini-greeting-v59 .klara-mini-close{margin-left:auto!important;width:28px!important;height:28px!important;border-radius:999px!important;border:0!important;background:#f1f5f9!important;color:#334155!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
@media (max-width:760px){
  .klara-mini-greeting-v59{
    right:12px !important;
    bottom:calc(92px + env(safe-area-inset-bottom,0px)) !important;
    width:min(292px,calc(100vw - 24px)) !important;
    padding:11px !important;
    border-radius:18px !important;
  }
  .klara-mini-greeting-v59 .klara-mini-avatar{width:40px!important;height:40px!important;flex-basis:40px!important;}
  .klara-mini-greeting-v59 .klara-mini-text{font-size:11.5px!important;}
}


/* =========================================================
   V66 — ONLY TWO FIXES FROM V59
   1) Unser Team footer readability
   2) Klara greeting closes when chat icon opens
   ========================================================= */
body.page-team footer.site-footer,
body.page-team .site-footer{
  background:#eef1f5 !important;
  background-image:none !important;
  color:#111827 !important;
  border-top:1px solid #dfe5ec !important;
}
body.page-team footer.site-footer *,
body.page-team .site-footer *{
  color:#111827 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.page-team .site-footer .footer-brand p,
body.page-team .site-footer .footer-addr,
body.page-team .site-footer .footer-col a,
body.page-team .site-footer .footer-hours,
body.page-team .site-footer .footer-bottom,
body.page-team .site-footer .footer-legal a{
  color:#374151 !important;
}
body.page-team .site-footer .footer-col-title{
  color:#111827 !important;
}
body.page-team .site-footer .footer-col a:hover,
body.page-team .site-footer .footer-legal a:hover{
  color:#ff2f68 !important;
}
body.page-team .site-footer .footer-logo{
  filter:none !important;
  background:transparent !important;
  box-shadow:none !important;
}


/* V67 — slightly smaller top-panel CTA only */
.btn-cta-header{
  min-width:126px!important;
  min-height:42px!important;
  height:42px!important;
  padding:0 16px!important;
  font-size:13px!important;
  line-height:42px!important;
}
@media (max-width:760px){
  .btn-cta-header{
    min-width:118px!important;
    min-height:36px!important;
    height:36px!important;
    padding:0 11px!important;
    font-size:10.5px!important;
    line-height:36px!important;
  }
}


/* V68 — subtle top-panel gradient only, for better logo visibility */
.site-header,
.site-header.scrolled{
  background:linear-gradient(90deg,#050608 0%,#0b0e14 34%,#121722 62%,#090b0f 100%) !important;
  background-image:linear-gradient(90deg,#050608 0%,#0b0e14 34%,#121722 62%,#090b0f 100%) !important;
}
.site-header::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:radial-gradient(circle at 8% 50%,rgba(255,47,104,.13) 0%,rgba(255,47,104,.04) 30%,rgba(255,47,104,0) 58%) !important;
  opacity:1 !important;
}
.site-header .header-inner{
  position:relative !important;
  z-index:2 !important;
}
.topbar{
  background:linear-gradient(90deg,#040506 0%,#090b0f 52%,#0d1016 100%) !important;
  background-image:linear-gradient(90deg,#040506 0%,#090b0f 52%,#0d1016 100%) !important;
}
.brand-logo,
.site-header.scrolled .brand-logo{
  filter:drop-shadow(0 4px 10px rgba(255,47,104,.20)) !important;
}


/* =========================================================
   V69 — mobile CTA smaller, top-panel gradient only, Klara cookie-aware greeting
   ========================================================= */
/* Keep the gradient only on the top panels and make logo readable */
.topbar,
.site-header,
.site-header.scrolled{
  background-image:linear-gradient(90deg,#030406 0%,#090c11 38%,#111722 68%,#06080b 100%) !important;
}
.site-header::before{
  content:'' !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:radial-gradient(circle at 8% 50%,rgba(255,47,104,.16) 0%,rgba(255,47,104,.055) 32%,rgba(255,47,104,0) 62%) !important;
}
.site-header .header-inner{position:relative!important;z-index:2!important;}
.brand-logo,.site-header.scrolled .brand-logo{filter:drop-shadow(0 4px 12px rgba(255,47,104,.26))!important;}
/* Smaller Fahrt-anfragen CTA on mobile only */
@media (max-width:760px){
  .btn-cta-header{
    min-width:104px!important;
    width:auto!important;
    min-height:34px!important;
    height:34px!important;
    padding:0 10px!important;
    font-size:10px!important;
    line-height:34px!important;
    letter-spacing:.055em!important;
    white-space:nowrap!important;
  }
}
@media (max-width:380px){
  .btn-cta-header{
    min-width:96px!important;
    height:32px!important;
    min-height:32px!important;
    line-height:32px!important;
    font-size:9.5px!important;
    padding:0 8px!important;
  }
}
/* New cookie-aware Klara greeting */
.klara-mini-greeting-v69{
  position:fixed!important;
  right:18px!important;
  bottom:96px!important;
  width:min(318px,calc(100vw - 28px))!important;
  z-index:2147483300!important;
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  background:#fff!important;
  color:#111827!important;
  border:1px solid rgba(17,24,39,.10)!important;
  border-radius:20px!important;
  box-shadow:0 22px 54px rgba(5,8,14,.25),0 8px 22px rgba(255,47,104,.12)!important;
  padding:12px!important;
  opacity:0!important;
  transform:translateY(12px) scale(.98)!important;
  pointer-events:auto!important;
  transition:opacity .24s ease,transform .24s ease!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.klara-mini-greeting-v69::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,#ff2f68,#ff6a8f);}
.klara-mini-greeting-v69.show{opacity:1!important;transform:translateY(0) scale(1)!important;}
.klara-mini-greeting-v69 .klara-mini-avatar{width:42px!important;height:42px!important;border-radius:50%!important;overflow:hidden!important;flex:0 0 42px!important;border:2px solid #ff2f68!important;background:#fff!important;}
.klara-mini-greeting-v69 .klara-mini-avatar img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;}
.klara-mini-greeting-v69 .klara-mini-content{min-width:0!important;flex:1!important;}
.klara-mini-greeting-v69 .klara-mini-title{margin:0 0 4px!important;font-size:13px!important;line-height:1!important;font-weight:900!important;color:#0f172a!important;}
.klara-mini-greeting-v69 .klara-mini-text{margin:0!important;font-size:12px!important;line-height:1.4!important;color:#475569!important;}
.klara-mini-greeting-v69 .klara-mini-actions{display:flex!important;align-items:center!important;gap:8px!important;margin-top:10px!important;}
.klara-mini-greeting-v69 .klara-mini-open{border:0!important;background:#ff2f68!important;color:#fff!important;border-radius:999px!important;padding:8px 12px!important;font-size:11px!important;font-weight:900!important;letter-spacing:.04em!important;cursor:pointer!important;}
.klara-mini-greeting-v69 .klara-mini-close{margin-left:auto!important;width:28px!important;height:28px!important;border-radius:999px!important;border:0!important;background:#f1f5f9!important;color:#334155!important;font-size:20px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;}
@media (max-width:760px){
  .klara-mini-greeting-v69{right:12px!important;bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;width:min(292px,calc(100vw - 24px))!important;padding:11px!important;border-radius:18px!important;}
  .klara-mini-greeting-v69 .klara-mini-avatar{width:40px!important;height:40px!important;flex-basis:40px!important;}
  .klara-mini-greeting-v69 .klara-mini-text{font-size:11.5px!important;}
}


/* V72: force high-contrast white header logo and restore cookie prompt key */
.site-header .brand-logo,
header .brand-logo,
.brand .brand-logo{
  content:url('../images/kff-logo-header-white.png') !important;
  filter:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}


/* V73 FINAL: white/high-contrast header logo on every page */
.site-header .brand-logo,
header .brand-logo,
.brand .brand-logo,
.site-header.scrolled .brand-logo{
  content:url('../images/kff-logo-header-white.png') !important;
  filter:drop-shadow(0 4px 12px rgba(255,47,104,.24)) !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  object-fit:contain !important;
}
