/*
Theme Name: Blank Canvas
Theme URI: https://wordpress.com/theme/blank-canvas
Author: Automattic
Author URI: https://automattic.com/
Description: Blank Canvas is a minimalist theme.
Version: 1.2.10
Template: seedlet
Text Domain: blank-canvas
*/

/* ===== MAU-TAXI RESET ===== */
body,html{margin:0!important;padding:0!important;overflow-x:hidden!important}
body.admin-bar{margin-top:32px!important;padding-top:0!important}
.site-header,.site-branding,.site-footer,.footer-credits,.site-navigation{display:none!important}
.site,.site-content,#content,#primary,main,.site-main,article,.entry-content{max-width:100%!important;width:100%!important;padding:0!important;margin:0!important}
.entry-content>*{max-width:100%!important}
.entry-content a{color:inherit!important;text-decoration:none!important}
.entry-content p{max-width:100%!important}

/* ===== MAU-TAXI DESIGN CSS ===== */
/* =============================================
   TOKENS
   ============================================= */
:root {
  --black:    #0A0A0A;
  --yellow:   #F5C842;
  --yellow-d: #D4A820;
  --gray-bg:  #F7F6F3;
  --gray-mid: #E8E6E0;
  --gray-txt: #6B6860;
  --white:    #FFFFFF;

  --ff-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;

  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;

  --max: 1140px;
  --gap: clamp(1rem, 4vw, 2rem);
}

/* =============================================
   RESET
   ============================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: var(--ff-sans);
  background: var(--white);
  color: var(--black);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; border: none; font-family: inherit; }

/* =============================================
   UTILITY
   ============================================= */
.container { max-width: var(--max); margin: 0 auto; padding: 0 var(--gap); }
.section    { padding: clamp(3rem, 8vw, 6rem) 0; }
.section--dark { background: var(--black); color: var(--white); }
.section--gray { background: var(--gray-bg); }

.eyebrow {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gray-txt);
  margin-bottom: .75rem;
}
.eyebrow--light { color: rgba(255,255,255,.5); }

.heading-xl {
  font-size: clamp(2.4rem, 6vw, 4.5rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -.02em;
}
.heading-lg {
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.015em;
}
.heading-md {
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  font-weight: 600;
  line-height: 1.3;
}
.body-lg { font-size: clamp(1rem, 1.5vw, 1.15rem); line-height: 1.7; color: var(--gray-txt); }

.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .875rem 1.75rem;
  border-radius: var(--radius-sm);
  font-size: 1rem;
  font-weight: 600;
  transition: transform .15s, box-shadow .15s, background .15s;
}
.btn:active { transform: scale(.97); }

.btn--primary {
  background: var(--yellow);
  color: var(--black);
}
.btn--primary:hover { background: var(--yellow-d); }

.btn--outline {
  background: transparent;
  color: var(--white);
  border: 1.5px solid rgba(255,255,255,.3);
}
.btn--outline:hover { border-color: var(--yellow); color: var(--yellow); }

.btn--ghost {
  background: transparent;
  color: var(--black);
  border: 1.5px solid var(--gray-mid);
}
.btn--ghost:hover { border-color: var(--black); }

/* =============================================
   HEADER / NAV
   ============================================= */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(10,10,10,.96);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 68px;
  gap: 2rem;
}
.nav__logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}

.nav__links {
  display: flex;
  align-items: center;
  gap: 2rem;
  list-style: none;
}
.nav__links a {
  color: rgba(255,255,255,.7);
  font-size: .9rem;
  font-weight: 500;
  transition: color .15s;
}
.nav__links a:hover { color: var(--white); }

.nav__cta {
  display: flex;
  align-items: center;
  gap: .75rem;
  flex-shrink: 0;
}
.nav__phone {
  font-size: .9rem;
  font-weight: 700;
  color: var(--yellow);
  letter-spacing: .02em;
}

.nav__burger {
  display: none;
  background: none;
  color: var(--white);
  font-size: 1.5rem;
  line-height: 1;
  padding: .25rem;
}

/* =============================================
   HERO
   ============================================= */
.hero {
  background: var(--black);
  color: var(--white);
  padding: clamp(4rem, 10vw, 8rem) 0 clamp(3rem, 8vw, 6rem);
  position: relative;
  overflow: hidden;
}
.hero::before {
  content: '';
  position: absolute;
  top: -40%;
  right: -10%;
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(245,200,66,.08) 0%, transparent 70%);
  pointer-events: none;
}
.hero__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
}
.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(245,200,66,.12);
  color: var(--yellow);
  padding: .35rem .9rem;
  border-radius: 100px;
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
}
.hero__badge::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--yellow);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%,100% { opacity: 1; }
  50%      { opacity: .3; }
}
.hero__title { margin-bottom: 1.25rem; }
.hero__title em {
  font-style: normal;
  color: var(--yellow);
}
.hero__subtitle {
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  color: rgba(255,255,255,.6);
  line-height: 1.7;
  margin-bottom: 2rem;
  max-width: 480px;
}
.hero__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }

.hero__trust {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255,255,255,.08);
  flex-wrap: wrap;
}
.hero__trust-item {
  display: flex;
  flex-direction: column;
}
.hero__trust-num {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--white);
}
.hero__trust-label {
  font-size: .75rem;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Phone block */
.hero__phone-block {
  background: var(--gray-bg);
  border-radius: var(--radius-lg);
  padding: clamp(1.5rem, 4vw, 2.5rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.phone-big {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1;
}
.phone-big a { color: inherit; }
.phone-label {
  font-size: .8rem;
  color: var(--gray-txt);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: .25rem;
}
.hero__quickbook {
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.hero__quickbook-title {
  font-size: .85rem;
  font-weight: 600;
  color: var(--black);
}
.quick-form {
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.quick-form input {
  width: 100%;
  padding: .75rem 1rem;
  border: 1.5px solid var(--gray-mid);
  border-radius: var(--radius-sm);
  font-size: .9rem;
  font-family: inherit;
  background: var(--white);
  color: var(--black);
  transition: border-color .15s;
}
.quick-form input:focus {
  outline: none;
  border-color: var(--yellow-d);
}
.quick-form input::placeholder { color: #bbb; }
.quick-form .btn { width: 100%; justify-content: center; }

/* =============================================
   TRUST BAR
   ============================================= */
.trust-bar {
  background: var(--yellow);
  padding: 1.1rem 0;
}
.trust-bar__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 3rem);
  flex-wrap: wrap;
}
.trust-bar__item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 600;
  color: var(--black);
}
.trust-bar__icon { font-size: 1.1rem; }

/* =============================================
   SERVICES
   ============================================= */
.services__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 3rem;
  gap: 2rem;
  flex-wrap: wrap;
}
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.service-card {
  background: var(--gray-bg);
  border-radius: var(--radius-lg);
  padding: 2rem;
  transition: transform .2s, box-shadow .2s;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.08);
}
.service-card--featured {
  background: var(--black);
  color: var(--white);
  grid-row: span 2;
}
.service-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
.service-card--featured .service-card__icon {
  background: rgba(245,200,66,.15);
}
.service-card__title {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.25;
}
.service-card__text {
  font-size: .9rem;
  color: var(--gray-txt);
  line-height: 1.65;
  flex: 1;
}
.service-card--featured .service-card__text { color: rgba(255,255,255,.6); }
.service-card__link {
  font-size: .875rem;
  font-weight: 600;
  color: var(--black);
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  margin-top: auto;
}
.service-card--featured .service-card__link { color: var(--yellow); }
.service-card__link::after { content: '→'; }

/* =============================================
   FAHRPREISRECHNER
   ============================================= */
.calculator {
  background: var(--black);
  color: var(--white);
}
.calculator__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.calculator__form {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius-lg);
  padding: 2rem;
}
.calc-label {
  display: block;
  font-size: .8rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: rgba(255,255,255,.75);
  margin-bottom: .5rem;
}
.calc-input {
  width: 100%;
  padding: .875rem 1rem .875rem 2.75rem;
  border: 1.5px solid rgba(255,255,255,.12);
  border-radius: var(--radius-sm);
  font-size: 1rem;
  font-family: inherit;
  background: rgba(255,255,255,.06);
  color: var(--white);
  transition: border-color .15s;
  position: relative;
}
.calc-input:focus { outline: none; border-color: var(--yellow); }
.calc-input::placeholder { color: rgba(255,255,255,.3); }
.input-wrap {
  position: relative;
  margin-bottom: 1rem;
}
.input-wrap .input-icon {
  position: absolute;
  left: .9rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1rem;
  pointer-events: none;
}
.calc-divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: .5rem 0 1rem;
  color: rgba(255,255,255,.2);
  font-size: .8rem;
}
.calc-divider::before, .calc-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,255,255,.1);
}

.calc-result {
  margin-top: 1.5rem;
  padding: 1.25rem;
  background: rgba(245,200,66,.1);
  border: 1px solid rgba(245,200,66,.25);
  border-radius: var(--radius-md);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
}
.calc-result__label { font-size: .875rem; color: rgba(255,255,255,.6); }
.calc-result__price {
  font-size: 1.75rem;
  font-weight: 800;
  color: var(--yellow);
  letter-spacing: -.02em;
}

.calculator__info { display: flex; flex-direction: column; gap: 1.5rem; }
.calc-feature {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}
.calc-feature__dot {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(245,200,66,.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: .1rem;
}
.calc-feature__title { font-size: .95rem; font-weight: 600; margin-bottom: .2rem; }
.calc-feature__text { font-size: .875rem; color: rgba(255,255,255,.5); line-height: 1.6; }

/* =============================================
   REVIEWS
   ============================================= */
.reviews__header {
  text-align: center;
  margin-bottom: 3rem;
}
.rating-big {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.25rem;
}
.rating-score {
  font-size: 3.5rem;
  font-weight: 900;
  color: var(--black);
  letter-spacing: -.03em;
  line-height: 1;
}
.rating-stars { font-size: 1.4rem; letter-spacing: .1em; }
.rating-meta { font-size: .85rem; color: var(--gray-txt); margin-top: .25rem; }

.reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
.review-card {
  background: var(--white);
  border: 1px solid var(--gray-mid);
  border-radius: var(--radius-lg);
  padding: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.review-card__stars { font-size: 1rem; letter-spacing: .05em; }
.review-card__text {
  font-size: .9rem;
  line-height: 1.7;
  color: #444;
  flex: 1;
}
.review-card__author {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin-top: auto;
}
.review-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--gray-mid);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: .85rem;
  color: var(--gray-txt);
  flex-shrink: 0;
}
.review-name { font-size: .875rem; font-weight: 600; }
.review-date { font-size: .75rem; color: var(--gray-txt); }
.reviews__cta { text-align: center; }

/* =============================================
   ABOUT / USPs
   ============================================= */
.about__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}
.about__image-wrap {
  position: relative;
}
.about__image {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--radius-lg);
}
.about__badge-float {
  position: absolute;
  bottom: -1.25rem;
  right: -1.25rem;
  background: var(--yellow);
  border-radius: var(--radius-md);
  padding: 1.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 8px 24px rgba(245,200,66,.35);
}
.about__badge-float strong {
  display: block;
  font-size: 2rem;
  font-weight: 900;
  color: var(--black);
  line-height: 1;
}
.about__badge-float span { font-size: .75rem; font-weight: 600; color: rgba(0,0,0,.6); }

.about__content { display: flex; flex-direction: column; gap: 1.5rem; }
.usp-list { display: flex; flex-direction: column; gap: 1rem; list-style: none; }
.usp-item {
  display: flex;
  align-items: flex-start;
  gap: .875rem;
}
.usp-check {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--black);
  color: var(--yellow);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .75rem;
  font-weight: 900;
  flex-shrink: 0;
  margin-top: .1rem;
}
.usp-text strong { display: block; font-size: .95rem; font-weight: 600; }
.usp-text span { font-size: .875rem; color: var(--gray-txt); }

/* =============================================
   COVERAGE MAP TEASER
   ============================================= */
.coverage {
  background: var(--gray-bg);
}
.coverage__inner {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 3rem;
  align-items: start;
}
.location-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.5rem;
}
.pill {
  padding: .4rem .9rem;
  border-radius: 100px;
  font-size: .8rem;
  font-weight: 500;
  background: var(--white);
  border: 1px solid var(--gray-mid);
  color: var(--black);
  cursor: pointer;
  transition: background .15s, border-color .15s;
}
.pill:hover, .pill--active {
  background: var(--black);
  border-color: var(--black);
  color: var(--white);
}
.pill--more {
  background: var(--yellow);
  border-color: var(--yellow);
  color: var(--black);
  font-weight: 700;
}
.map-placeholder {
  background: var(--white);
  border: 1px solid var(--gray-mid);
  border-radius: var(--radius-lg);
  aspect-ratio: 16/9;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: .75rem;
  color: var(--gray-txt);
  font-size: .9rem;
  position: relative;
  overflow: hidden;
}
.map-placeholder::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 45% 55%, rgba(245,200,66,.12) 0%, transparent 50%),
    radial-gradient(circle at 70% 30%, rgba(10,10,10,.04) 0%, transparent 40%);
}
.map-icon { font-size: 2.5rem; }
.map-text { font-size: .875rem; color: var(--gray-txt); text-align: center; line-height: 1.5; }

/* =============================================
   CONTACT / CTA SECTION
   ============================================= */
.contact-cta {
  background: var(--black);
  color: var(--white);
}
.contact-cta__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.contact-cta__headline { margin-bottom: 1.5rem; }
.contact-cta__headline em {
  font-style: normal;
  color: var(--yellow);
}
.contact-details { display: flex; flex-direction: column; gap: 1.25rem; margin-top: 1.5rem; }
.contact-item {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.contact-item__icon {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(255,255,255,.06);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}
.contact-item__label { font-size: .75rem; color: rgba(255,255,255,.4); text-transform: uppercase; letter-spacing: .06em; margin-bottom: .15rem; }
.contact-item__value { font-size: 1rem; font-weight: 600; }
.contact-item__value a { color: var(--yellow); }

.contact-form-box {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius-lg);
  padding: 2rem;
}
.contact-form-box h3 { font-size: 1.1rem; font-weight: 700; margin-bottom: 1.5rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.form-group { display: flex; flex-direction: column; gap: .4rem; margin-bottom: .75rem; }
.form-group label { font-size: .8rem; color: rgba(255,255,255,.5); font-weight: 500; text-transform: uppercase; letter-spacing: .06em; }
.form-group input,
.form-group select,
.form-group textarea {
  padding: .8rem 1rem;
  border: 1.5px solid rgba(255,255,255,.1);
  border-radius: var(--radius-sm);
  background: rgba(255,255,255,.05);
  color: var(--white);
  font-family: inherit;
  font-size: .925rem;
  transition: border-color .15s;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { outline: none; border-color: var(--yellow); }
.form-group input::placeholder,
.form-group textarea::placeholder { color: rgba(255,255,255,.25); }
.form-group select { cursor: pointer; }
.form-group select option { background: #222; }
.form-group textarea { resize: vertical; min-height: 90px; }
.form-submit { width: 100%; justify-content: center; margin-top: .5rem; padding: 1rem; font-size: 1rem; }

/* =============================================
   FOOTER
   ============================================= */
.site-footer {
  background: #050505;
  color: rgba(255,255,255,.5);
  padding: 3rem 0 2rem;
}
.footer__top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 3rem;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid rgba(255,255,255,.06);
  margin-bottom: 1.5rem;
}
.footer__brand { display: flex; flex-direction: column; gap: 1rem; }
.footer__logo {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--white);
  letter-spacing: -.02em;
}
.footer__logo span { color: var(--yellow); }
.footer__tagline { font-size: .875rem; line-height: 1.6; }
.footer__col-title {
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--white);
  margin-bottom: 1rem;
}
.footer__links { list-style: none; display: flex; flex-direction: column; gap: .6rem; }
.footer__links a { font-size: .875rem; color: rgba(255,255,255,.45); transition: color .15s; }
.footer__links a:hover { color: var(--white); }
.footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: .8rem;
}
.footer__legal { display: flex; gap: 1.5rem; }
.footer__legal a { color: rgba(255,255,255,.35); }
.footer__legal a:hover { color: var(--white); }


/* =============================================
   SEO FLIESSTEXT SECTION
   ============================================= */
.seo-text__inner {
  display: grid;
  grid-template-columns: 3fr 1.4fr;
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}
.seo-text__main .heading-lg { margin-bottom: 1.5rem; }
.seo-text__main p {
  font-size: .975rem;
  line-height: 1.85;
  color: #3a3a3a;
  margin-bottom: 1.1rem;
}
.seo-text__main p:last-child { margin-bottom: 0; }
.seo-text__main strong { color: var(--black); font-weight: 600; }

.seo-aside-card {
  background: var(--white);
  border: 1px solid var(--gray-mid);
  border-radius: var(--border-radius-lg, 16px);
  padding: 1.5rem;
  position: sticky;
  top: 88px;
}
.seo-aside-card__title {
  font-size: .8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--gray-txt);
  margin-bottom: 1rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--gray-mid);
}
.seo-fact-list { list-style: none; display: flex; flex-direction: column; gap: .7rem; }
.seo-fact-item { display: flex; align-items: flex-start; gap: .6rem; font-size: .85rem; line-height: 1.5; color: #444; }
.seo-fact-item a { color: var(--black); font-weight: 600; }
.seo-fact-item a:hover { color: var(--yellow-d); }
.seo-fact-icon { font-size: 1rem; flex-shrink: 0; margin-top: .05rem; }

@media (max-width: 860px) {
  .seo-text__inner { grid-template-columns: 1fr; }
  .seo-aside-card { position: static; }
}

/* =============================================
   STICKY PHONE BUTTON (MOBILE)
   ============================================= */
.sticky-call {
  display: none;
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  background: var(--yellow);
  color: var(--black);
  font-weight: 700;
  font-size: 1rem;
  padding: .9rem 2rem;
  border-radius: 100px;
  box-shadow: 0 8px 28px rgba(245,200,66,.45);
  white-space: nowrap;
  text-decoration: none;
}


/* ── WhatsApp Nav Icon ─────────────────────────── */
.nav__whatsapp {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(37,211,102,.12);
  transition: background .15s;
}
.nav__whatsapp:hover { background: rgba(37,211,102,.25); }

/* ── Sticky Buttons (Mobile) ───────────────────── */
.sticky-buttons {
  display: none;
  position: fixed;
  bottom: 1.25rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 200;
  gap: .6rem;
  white-space: nowrap;
}
.sticky-call {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 700;
  font-size: .9rem;
  padding: .8rem 1.4rem;
  border-radius: 100px;
  text-decoration: none;
}
.sticky-call--phone {
  background: var(--yellow);
  color: var(--black);
  box-shadow: 0 6px 20px rgba(245,200,66,.4);
}
.sticky-call--wa {
  background: #25D366;
  color: #fff;
  box-shadow: 0 6px 20px rgba(37,211,102,.35);
}

/* ── Review-Gate Widget ────────────────────────── */
.review-gate {
  background: var(--white);
  border: 1px solid var(--gray-mid);
  border-radius: 20px;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  max-width: 660px;
  margin: 2.5rem auto 0;
}
.review-gate__step { display: none; }
.review-gate__step.active { display: block; }

.rg-heading {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--black);
  margin-bottom: .35rem;
  text-align: center;
}
.rg-sub {
  font-size: .875rem;
  color: var(--gray-txt);
  text-align: center;
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

/* Sternebewertung interaktiv */
.star-row {
  display: flex;
  justify-content: center;
  gap: .4rem;
  margin-bottom: 1.25rem;
}
.star-btn {
  background: none;
  border: none;
  font-size: 2.4rem;
  cursor: pointer;
  line-height: 1;
  color: #ddd;
  transition: color .12s, transform .1s;
  padding: .1rem;
}
.star-btn:hover,
.star-btn.selected { color: var(--yellow); }
.star-btn:active   { transform: scale(.9); }

.rg-label {
  display: block;
  font-size: .75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--gray-txt);
  margin-bottom: .4rem;
}
.rg-input, .rg-textarea {
  width: 100%;
  padding: .8rem 1rem;
  border: 1.5px solid var(--gray-mid);
  border-radius: 8px;
  font-family: inherit;
  font-size: .925rem;
  color: var(--black);
  background: var(--white);
  margin-bottom: .875rem;
  transition: border-color .15s;
  box-sizing: border-box;
}
.rg-input:focus, .rg-textarea:focus {
  outline: none;
  border-color: var(--yellow-d);
}
.rg-textarea { resize: vertical; min-height: 100px; }

.rg-btn {
  display: block;
  width: 100%;
  padding: .9rem 1rem;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
  border: none;
  transition: background .15s, transform .1s;
  font-family: inherit;
}
.rg-btn:active { transform: scale(.98); }
.rg-btn--primary { background: var(--yellow); color: var(--black); }
.rg-btn--primary:hover { background: var(--yellow-d); }
.rg-btn--google {
  background: #4285F4;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  margin-bottom: .75rem;
  text-decoration: none;
}
.rg-btn--google:hover { background: #3367d6; }
.rg-btn--wa {
  background: #25D366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  text-decoration: none;
}
.rg-btn--wa:hover { background: #1da851; }

.rg-divider {
  display: flex;
  align-items: center;
  gap: .75rem;
  margin: .875rem 0;
  color: var(--gray-txt);
  font-size: .75rem;
}
.rg-divider::before, .rg-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--gray-mid);
}

.rg-success-icon {
  font-size: 3rem;
  text-align: center;
  margin-bottom: .75rem;
}
.rg-stars-display {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: .5rem;
  letter-spacing: .1em;
}
.rg-privacy {
  font-size: .72rem;
  color: var(--gray-txt);
  text-align: center;
  margin-top: .75rem;
  line-height: 1.5;
}
.rg-privacy a { color: var(--gray-txt); text-decoration: underline; }

/* WhatsApp Float Button (Desktop) */
.wa-float {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 150;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.45);
  transition: transform .2s, box-shadow .2s;
  text-decoration: none;
}
.wa-float:hover {
  transform: scale(1.08);
  box-shadow: 0 8px 28px rgba(37,211,102,.5);
}
.wa-float__tooltip {
  position: absolute;
  right: 68px;
  background: var(--black);
  color: var(--white);
  font-size: .75rem;
  font-weight: 600;
  padding: .35rem .75rem;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s;
}
.wa-float:hover .wa-float__tooltip { opacity: 1; }

@media (max-width: 580px) {
  .sticky-buttons { display: flex; }
  .wa-float { display: none; }
}
@media (min-width: 581px) {
  .sticky-buttons { display: none; }
}

/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1000px) {
  .hero__inner      { grid-template-columns: 1fr; }
  .hero__phone-block { max-width: 420px; }
  .services__grid   { grid-template-columns: 1fr 1fr; }
  .service-card--featured { grid-row: auto; }
  .calculator__inner { grid-template-columns: 1fr; }
  .about__inner     { grid-template-columns: 1fr; }
  .about__badge-float { right: 1rem; }
  .coverage__inner  { grid-template-columns: 1fr; }
  .contact-cta__inner { grid-template-columns: 1fr; }
  .footer__top      { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .reviews__grid    { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .nav__links { display: none; }
  .nav__burger { display: block; }
  .services__grid { grid-template-columns: 1fr; }
  .reviews__grid  { grid-template-columns: 1fr; }
  .footer__top    { grid-template-columns: 1fr; }
  .form-row       { grid-template-columns: 1fr; }
  .sticky-call    { display: flex; align-items: center; gap: .5rem; }
  .hero__actions  { flex-direction: column; align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .hero__badge::before { animation: none; }
}
/* Buttons gelb */
.btn--primary, .btn-primary { background:#F5C842!important; color:#0A0A0A!important; border:none!important; border-radius:6px!important; }
.btn--outline, .btn-outline { border:1.5px solid rgba(255,255,255,.3)!important; color:white!important; background:transparent!important; border-radius:6px!important; }

/* Leerraum oben entfernen */
ol.wp-breadcrumb, nav.breadcrumb, .breadcrumb { margin-top:0!important; }
body > ol, body > ul { display:none!important; }

/* Breadcrumb-Liste verstecken */
.entry-content > ol:first-child { display:none!important; }
.entry-content > ol { list-style:none!important; }

/* FAQ Buttons korrigieren */
.faq-q { 
  background: var(--white)!important; 
  color: var(--black)!important;
  border: none!important;
}
.faq-q:hover { 
  background: var(--gray-bg)!important; 
}
.faq-item { 
  border: 1px solid #E8E6E0!important; 
  border-radius: 8px!important;
  overflow: hidden!important;
}
.faq-a { 
  background: white!important; 
  color: #555!important;
}
/* Theme-eigene Button-Farben überschreiben */
button, .button, input[type="button"] {
  background: transparent!important;
  color: inherit!important;
}
.btn--primary, .btn-primary {
  background: #F5C842!important;
  color: #0A0A0A!important;
}
/* Fahrpreisrechner Eingabefelder */
.calc-input {
  color: #ffffff!important;
  background: rgba(255,255,255,.12)!important;
  border: 1.5px solid rgba(255,255,255,.45)!important;
}
.calc-input::placeholder {
  color: rgba(255,255,255,.8)!important;
  opacity: 1!important;
}
.calc-input:focus {
  border-color: #F5C842!important;
  outline: none!important;
  background: rgba(255,255,255,.12)!important;
}
.calc-input option {
  background: #1a1a1a!important;
  color: #ffffff!important;
}
/* WhatsApp Float Button mit Text */
.wa-float {
  width: auto!important;
  border-radius: 100px!important;
  padding: 0 1.25rem!important;
  gap: .5rem!important;
}
.wa-float::after {
  content: 'WhatsApp';
  color: white;
  font-family: -apple-system, sans-serif;
  font-size: .875rem;
  font-weight: 600;
}
/* WPForms Formular auf dunklem Hintergrund */
.contact-form-box .wpforms-container input,
.contact-form-box .wpforms-container textarea,
.contact-form-box .wpforms-container select {
  background: rgba(255,255,255,.08)!important;
  color: #ffffff!important;
  border: 1.5px solid rgba(255,255,255,.25)!important;
  border-radius: 8px!important;
}
.contact-form-box .wpforms-container input::placeholder,
.contact-form-box .wpforms-container textarea::placeholder {
  color: rgba(255,255,255,.45)!important;
}
.contact-form-box .wpforms-container label {
  color: rgba(255,255,255,.6)!important;
  font-size: .8rem!important;
  font-weight: 600!important;
  text-transform: uppercase!important;
  letter-spacing: .07em!important;
}
.contact-form-box .wpforms-container .wpforms-submit {
  background: #F5C842!important;
  color: #0A0A0A!important;
  font-weight: 700!important;
  border: none!important;
  padding: 1rem 2rem!important;
  border-radius: 8px!important;
  font-size: 1rem!important;
  width: 100%!important;
  cursor: pointer!important;
}
.contact-form-box .wpforms-container .wpforms-submit:hover {
  background: #D4A820!important;
}
.contact-form-box .wpforms-container select option {
  background: #1a1a1a!important;
  color: #ffffff!important;
}

/* Hero Formular - sanfte Anpassung */
.hero__quickbook {
  background: rgba(255,255,255,.92)!important;
  border-radius: 16px!important;
  padding: 1.5rem!important;
  box-shadow: 0 8px 32px rgba(0,0,0,.3)!important;
}
.hero__quickbook .phone-label {
  color: #666!important;
  font-size: .75rem!important;
  text-transform: uppercase!important;
  letter-spacing: .08em!important;
}
.hero__quickbook .phone-big a {
  color: var(--black)!important;
  font-size: 1.8rem!important;
  font-weight: 800!important;
}
/* Hero Formular - 2 Spalten kompakt */
.hero__quickbook .wpforms-field {
  margin-bottom: .5rem!important;
}
.hero__quickbook .wpforms-form .wpforms-field-container {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: .5rem!important;
}
/* Name und Kommentar volle Breite */
.hero__quickbook .wpforms-field-name,
.hero__quickbook .wpforms-field-textarea,
.hero__quickbook .wpforms-submit-container {
  grid-column: 1 / -1!important;
}
/* Felder kleiner */
.hero__quickbook .wpforms-field input,
.hero__quickbook .wpforms-field select,
.hero__quickbook .wpforms-field textarea {
  padding: .5rem .75rem!important;
  font-size: .85rem!important;
}
.hero__quickbook .wpforms-field-label {
  font-size: .75rem!important;
  margin-bottom: .2rem!important;
}
.hero__quickbook .wpforms-field textarea {
  min-height: 60px!important;
}
/* Name Felder nebeneinander */
.hero__quickbook .wpforms-field-name .wpforms-field-row {
  display: grid!important;
  grid-template-columns: 1fr 1fr!important;
  gap: .5rem!important;
}
/* Name-Felder nebeneinander fix */
.hero__quickbook .wpforms-field-name .wpforms-name-first,
.hero__quickbook .wpforms-field-name .wpforms-name-last {
  display: inline-block!important;
  width: 48%!important;
  margin-right: 2%!important;
  vertical-align: top!important;
}
.hero__quickbook .wpforms-field-name .wpforms-name-last {
  margin-right: 0!important;
}

/* Doppelter WhatsApp Button fix */
.wa-float ~ .wa-float { display: none!important; }
.sticky-buttons .sticky-call--wa:last-child { display: none!important; }

/* Name-Felder fix */
.hero__quickbook .wpforms-field-name .wpforms-field-row {
  display: flex!important;
  gap: .5rem!important;
}
.hero__quickbook .wpforms-field-name .wpforms-field-row > span {
  flex: 1!important;
}

/* Doppelter WhatsApp Button fix */
.wa-float:not(:first-of-type) { display: none!important; }
a.wa-float + a.wa-float { display: none!important; }

/* WhatsApp Float Button sichtbar machen */
a.wa-float {
  position: fixed!important;
  bottom: 2rem!important;
  right: 2rem!important;
  z-index: 9999!important;
  width: auto!important;
  height: 56px!important;
  border-radius: 100px!important;
  background: #25D366!important;
  display: flex!important;
  align-items: center!important;
  justify-content: center!important;
  padding: 0 1.25rem!important;
  gap: .5rem!important;
  box-shadow: 0 4px 20px rgba(37,211,102,.45)!important;
  text-decoration: none!important;
}
a.wa-float::after {
  content: 'WhatsApp';
  color: white!important;
  font-family: -apple-system, sans-serif!important;
  font-size: .875rem!important;
  font-weight: 600!important;
}
a.wa-float svg {
  display: block!important;
}

/* WPForms Submit Button sichtbar */
.hero__quickbook .wpforms-submit-container {
  display: block!important;
  padding: .5rem 0!important;
}
.hero__quickbook .wpforms-submit {
  display: block!important;
  width: 100%!important;
  background: #F5C842!important;
  color: #0A0A0A!important;
  font-weight: 700!important;
  font-size: 1rem!important;
  padding: .9rem!important;
  border-radius: 8px!important;
  border: none!important;
  cursor: pointer!important;
  margin-top: .5rem!important;
}