:root{
  --lime:#8BC53F;
  --limeSoft: rgba(139,197,63,.14);
}

/* ---------------- Hero media (fix black bar) ---------------- */
.padel-hero-media{
  min-height: 0 !important;        /* kill inline min-height effects */
  height: auto;
  aspect-ratio: 16 / 10;
  position: relative;
  overflow: hidden;
}

.padel-hero-media img{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

/* ---------------- KPI pills ---------------- */
.padel-kpis{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;}
.padel-kpis span{
  font-size:12px;padding:8px 10px;border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  color:rgba(242,245,251,.84);
}

/* ---------------- WOW band ---------------- */
.wow-band{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.wow-band .glass{padding:18px;}
@media(max-width:980px){.wow-band{grid-template-columns:1fr;}}

/* ---------------- Models switch ---------------- */
.model-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.model-switch button{
  cursor:pointer;font:inherit;font-weight:900;font-size:12px;
  letter-spacing:.08em;text-transform:uppercase;
  padding:10px 12px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.04);
  color:#fff;
}
.model-switch button.active{
  border-color:rgba(139,197,63,.65);
  background:rgba(139,197,63,.10);
}
.model-panel{margin-top:12px;}

/* ---------------- Brochure ---------------- */
.brochure-frame{
  border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
}
.brochure-frame iframe{width:100%;height:720px;border:0;display:block;}

/* ---------------- Sticky CTA ---------------- */
.sticky-cta{position:fixed;left:16px;right:16px;bottom:16px;z-index:9999;display:none;}
.sticky-cta .bar{
  max-width:1120px;margin:0 auto;display:flex;gap:10px;
  justify-content:space-between;align-items:center;
  padding:12px;border-radius:20px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.45);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 20px 60px rgba(0,0,0,.55), inset 0 0 0 1px rgba(139,197,63,.10);
}
.sticky-cta .bar strong{font-size:12px;color:rgba(242,245,251,.82);letter-spacing:.10em;text-transform:uppercase;}
.sticky-cta .bar .actions{margin:0;}
@media(max-width:820px){.sticky-cta .bar{flex-direction:column;align-items:stretch;}}

/* ---------------- Gallery ---------------- */
.padel-gallery{padding:16px;}
.padel-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.padel-tile{
  grid-column:span 4;height:230px;border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  overflow:hidden;cursor:pointer;position:relative;padding:0;
  transition:.25s ease;
}
.padel-tile img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:.35s ease;}
.padel-tile:hover{border-color:rgba(139,197,63,.28);box-shadow:0 18px 50px rgba(0,0,0,.45), inset 0 0 0 1px rgba(139,197,63,.12);transform:translateY(-1px);}
.padel-tile:hover img{transform:scale(1.06);}
.padel-chip{
  position:absolute;left:12px;bottom:12px;
  padding:6px 10px;border-radius:999px;font-size:12px;font-weight:900;
  background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.12);
  color:#fff;backdrop-filter:blur(10px);
}
@media(max-width:1100px){.padel-tile{grid-column:span 6;height:210px;}}
@media(max-width:700px){.padel-tile{grid-column:span 12;height:210px;}}

/* ---------------- Lightbox ---------------- */
.padel-lightbox{position:fixed;inset:0;display:none;z-index:9999;}
.padel-lightbox[aria-hidden="false"]{display:block;}
.padel-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);}
.padel-lightbox-card{position:relative;max-width:1040px;width:calc(100% - 28px);margin:70px auto;padding:14px;border-radius:22px;}
.padel-lightbox-img{width:100%;max-height:72vh;object-fit:contain;display:block;border-radius:16px;}
.padel-lightbox-caption{margin-top:10px;color:rgba(242,245,251,.72);}
.padel-lightbox-close{
  position:absolute;top:10px;right:12px;width:40px;height:40px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);background:rgba(0,0,0,.35);
  color:#fff;font-size:22px;cursor:pointer;
}

/* ---------------- Visualisierung (WOW) ---------------- */
.viz-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;align-items:start;}
@media(max-width:980px){.viz-grid{grid-template-columns:1fr;}}
.viz-card{padding:16px;align-self:start;} /* prevent tall empty card */
.viz-media{
  border-radius:18px;overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.18);
  box-shadow:0 18px 55px rgba(0,0,0,.50), inset 0 0 0 1px rgba(139,197,63,.10);
}
.viz-media img, .viz-media svg{display:block;width:100%;height:auto;}
.viz-caption{margin-top:10px;color:rgba(242,245,251,.72);}

/* animate svg stroke if present */
.viz-media svg #fp-stroke{
  animation: dash 5.5s linear infinite;
}
@keyframes dash{
  0%{stroke-dashoffset:0;}
  100%{stroke-dashoffset:-140;}
}

/* subtle hover */
.viz-media{transition:transform .25s ease, border-color .25s ease;}
.viz-card:hover .viz-media{transform:translateY(-2px);border-color:rgba(139,197,63,.28);}

/* --- Layout safety: avoid "black hole" columns on some breakpoints --- */
.split{display:grid;grid-template-columns:1.12fr .88fr;gap:24px;align-items:center;}
.split > *{min-width:0;}
@media(max-width:980px){.split{grid-template-columns:1fr;}}
/* PADEL FAQ – 1 Spalte, full width (wie Screenshot) */
#faq .faq-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 8px;
  max-width: 1100px;   /* optional: macht es edler und nicht zu breit */
  margin: 0 auto;      /* zentriert */
}

#faq details{
  width:100%;
}

/* falls du vorher "open spannt über volle Breite" drin hattest */
#faq details[open]{
  grid-column:auto;
}