@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');
:root{--blue:#0b5ed7;--navy:#07111f;--ink:#101923;--muted:#687584;--light:#f4f6f8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;background:white}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,92%);margin:auto}.header{position:absolute;z-index:10;width:100%;color:white}.nav{height:88px;display:flex;align-items:center;gap:34px;border-bottom:1px solid #ffffff22}.logo{display:flex;width:145px;height:66px;align-items:center;flex:0 0 auto}.logo img{display:block;width:100%;height:100%;object-fit:contain;object-position:left center}.foot .logo{width:145px;height:66px}.nav nav{margin-left:auto;display:flex;gap:30px;font-size:14px}.nav nav a:hover{color:#80b4ff}.phone{font-weight:700}.menu{display:none;background:none;border:0;color:#fff;font-size:25px}
.hero{min-height:720px;background:linear-gradient(90deg,#07111ff0 0%,#07111fbb 47%,#07111f33),url("assets/hero.jpg") center/cover;display:flex;align-items:center;color:#fff}.hero-content{padding-top:70px}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:700;color:#72aaff;margin-bottom:18px}.eyebrow.dark{color:var(--blue)}h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0;text-transform:uppercase}h1{font-size:clamp(52px,7vw,88px);line-height:.88;max-width:850px}h1 em,h2 em{color:#5f9df5;font-style:normal} .hero p{max-width:570px;font-size:18px;line-height:1.7;color:#dce3eb;margin:28px 0}.actions{display:flex;gap:13px}.btn{display:inline-flex;padding:15px 24px;border-radius:3px;font-weight:700;align-items:center;justify-content:center;border:1px solid transparent}.primary{background:var(--blue);color:#fff}.primary:hover{filter:brightness(1.12)}.ghost{border-color:#ffffff55;color:#fff}.trust{display:flex;gap:26px;margin-top:38px;font-size:12px;color:#cdd7e2}.intro{padding:110px 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.intro h2,.section-head h2,.about h2,.contact h2{font-size:64px;line-height:.9}.intro>p,.section-head>p,.about p,.cta p{font-size:17px;line-height:1.8;color:var(--muted);margin:0}.services{background:var(--navy);color:#fff;padding:105px 0}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:55px}.section-head p{color:#aeb8c5}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ffffff18}.grid article{background:var(--navy);padding:30px;min-height:220px;border:1px solid #ffffff12}.grid article span{color:#629ef4;font-weight:700;font-size:12px}.grid h3{font-size:27px;margin:34px 0 13px}.grid p{color:#9da9b7;font-size:14px;line-height:1.65}.about{padding:110px 0}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.photo-card{min-height:510px;background:linear-gradient(135deg,#111c28,#34485e);position:relative;overflow:hidden}.photo-placeholder{position:absolute;inset:12%;border:1px solid #ffffff33;display:grid;place-content:center;text-align:center;color:#fff;font:700 60px "Barlow Condensed";letter-spacing:4px}.photo-placeholder small{font:600 13px Inter;letter-spacing:5px;color:#8ebcff}.about p{margin:30px 0}.stats{display:flex;gap:25px;border-top:1px solid #ddd;padding-top:25px}.stats div{display:flex;gap:12px}.stats b{font-family:"Barlow Condensed";font-size:25px;color:var(--blue)}.stats span{font-size:12px;line-height:1.4}.cta{background:#eef3f8;padding:100px 0}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.cta h2{font-size:64px;line-height:.9;margin-bottom:25px}.cta form{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{width:100%;padding:16px;border:1px solid #d7dee6;background:#fff;font:inherit}textarea{grid-column:1/-1;min-height:120px;resize:vertical}.cta form .btn{border:0;cursor:pointer}.cta small{grid-column:1/-1;color:#788493;line-height:1.5}.contact{padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.contact-info{margin:35px 0;color:#66727e;line-height:1.8}.contact-info strong{color:var(--ink)}.contact-info a{color:var(--blue);font-weight:600}.darkbtn{background:var(--navy);color:#fff}.map{min-height:360px;background:linear-gradient(135deg,#dce6ef,#f4f6f8);display:grid;place-items:center;text-align:center}.map-inner{display:grid;gap:10px}.map-inner b{font:700 60px "Barlow Condensed"}.map-inner span{color:#677585}.map-inner a{color:var(--blue);font-weight:700}.wa{position:fixed;right:25px;bottom:25px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:30px;z-index:20;box-shadow:0 8px 30px #0003}footer{background:#050c15;color:#91a0af;padding:35px 0}.foot{display:flex;align-items:center;justify-content:space-between;font-size:12px}.foot a{color:#cbd4dd}.foot .logo{color:#fff}
@media(max-width:850px){.nav nav{display:none}.nav nav.open{display:flex;position:absolute;top:88px;left:0;right:0;background:#07111f;padding:25px;flex-direction:column}.phone{margin-left:auto}.menu{display:block}.hero{min-height:680px}.intro,.section-head,.about-grid,.cta-grid,.contact-grid{grid-template-columns:1fr;gap:35px}.grid{grid-template-columns:1fr 1fr}.intro,.services,.about,.cta,.contact{padding:75px 0}.intro h2,.section-head h2,.about h2,.contact h2,.cta h2{font-size:52px}.photo-card{min-height:350px}}
@media(max-width:560px){.grid{grid-template-columns:1fr}.trust{flex-direction:column;gap:10px}.actions{flex-direction:column;align-items:stretch}.phone{font-size:12px}.cta form{grid-template-columns:1fr}textarea,.cta small{grid-column:auto}.foot{flex-direction:column;gap:18px;text-align:center}}

/* Bildergalerie */
.photo-card img{width:100%;height:510px;object-fit:cover;display:block}
.gallery{background:#f4f6f8;padding:105px 0}
.gallery-head{margin-bottom:45px}
.gallery-head h2{font-size:64px;line-height:.9}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:14px}
.gallery-item{display:block;overflow:hidden;background:#dfe5eb;position:relative}
.gallery-item.large{grid-column:span 2;grid-row:span 2}
.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease,filter .45s ease}
.gallery-item:hover img{transform:scale(1.045);filter:brightness(.92)}
@media(max-width:850px){.gallery{padding:75px 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:220px}.gallery-item.large{grid-column:span 2;grid-row:span 1}.photo-card img{height:350px}}
@media(max-width:560px){.gallery-grid{grid-template-columns:1fr;grid-auto-rows:250px}.gallery-item.large{grid-column:auto}.gallery-head h2{font-size:52px}}

/* Moderne, kompakte Öffnungszeiten */
.opening-hours {
  margin: 28px 0 30px;
  width: 100%;
  max-width: 520px;
}
.opening-title {
  margin-bottom: 12px;
  font-size: 19px;
  font-weight: 700;
  color: var(--ink);
}
.opening-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 11px 0;
  border-top: 1px solid #e2e7ec;
  font-size: 15px;
}
.opening-row:last-of-type {
  border-bottom: 1px solid #e2e7ec;
}
.opening-row span {
  color: #66727e;
}
.opening-row strong {
  color: var(--ink);
  font-weight: 700;
  white-space: nowrap;
}
.opening-break {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 15px;
  margin-top: 14px;
  padding: 10px 14px;
  background: #f4f7fa;
  border-radius: 5px;
}
.opening-break span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
}
.opening-break strong {
  color: #66727e;
  font-size: 14px;
  font-weight: 600;
  text-align: right;
}
.opening-break small {
  grid-column: 1 / -1;
  color: #89939d;
  font-size: 12px;
}
@media (max-width: 600px) {
  .opening-hours { max-width: 100%; }
  .opening-row { gap: 10px; font-size: 14px; }
  .opening-row strong { font-size: 14px; }
}


/* Terminformular Statusmeldungen */
.form-message {
  display: none;
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 10px;
  font-size: 0.95rem;
  line-height: 1.45;
  background: #f4f4f4;
}
.form-message.success {
  display: block;
  background: #eaf7ee;
  color: #176b36;
  border: 1px solid #bfe3c9;
}
.form-message.error {
  display: block;
  background: #fff0f0;
  color: #a51d1d;
  border: 1px solid #efbcbc;
}
#submitBtn:disabled {
  opacity: .7;
  cursor: wait;
}


/* Mobile-fix: Datenschutz-Zustimmung */
.consent-row,
.datenschutz-checkbox,
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  width: 100%;
  box-sizing: border-box;
}

.consent-row input[type="checkbox"],
.datenschutz-checkbox input[type="checkbox"],
.form-consent input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 3px;
}

.consent-row label,
.datenschutz-checkbox label,
.form-consent label {
  flex: 1 1 auto;
  min-width: 0;
  line-height: 1.45;
}

@media (max-width: 600px) {
  .consent-row,
  .datenschutz-checkbox,
  .form-consent {
    align-items: flex-start;
    gap: 7px;
  }

  .consent-row label,
  .datenschutz-checkbox label,
  .form-consent label {
    font-size: 14px;
    line-height: 1.45;
  }
}


/* Finaler Mobile-Fix: Datenschutz-Zustimmung */
.allcar-privacy-consent {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  margin: 0;
}
.allcar-privacy-consent label {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: 100%;
  min-width: 0;
  margin: 0;
  line-height: 1.45;
}
.allcar-privacy-consent input[type="checkbox"] {
  width: 22px;
  min-width: 22px;
  max-width: 22px;
  height: 22px;
  flex: 0 0 22px;
  margin: 2px 0 0 0;
  padding: 0;
}
.allcar-privacy-consent span {
  flex: 1 1 auto;
  min-width: 0;
  overflow-wrap: break-word;
}
@media (max-width: 600px) {
  .allcar-privacy-consent {
    grid-column: 1 / -1;
  }
  .allcar-privacy-consent label {
    gap: 9px;
    font-size: 14px;
    line-height: 1.45;
  }
}
