/* Zusatz-Styles der statischen, optimierten Version (Stand 2026-10-22, Rev. 2).
   Laedt NACH dem Theme-CSS und ergaenzt nur. Markenfarbe #E15501.
   Wichtig: das Theme setzt article{font-size:0}; eigene Bloecke muessen Schriftgroessen
   selbst setzen oder die Theme-Klasse .text mitbringen. */
:root{--sss-orange:#E15501;--sss-dark:#222;--sss-grey:#f5f5f5;--sss-radius:14px}

/* ================= CTA-Button in der Hauptnavigation ================= */
nav>ul>li.nav-cta{margin-left:.5rem}
nav>ul>li.nav-cta>a{background:var(--sss-orange);color:#fff!important;border-radius:999px;
  padding:.5em 1.15em;font-weight:700;white-space:nowrap;box-shadow:0 3px 12px rgba(225,85,1,.35);
  transition:transform .15s ease,box-shadow .15s ease}
nav>ul>li.nav-cta>a:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(225,85,1,.45)}
nav>ul>li.active>a{color:var(--sss-orange)!important;font-weight:700}

/* ================= Standorte-Dropdown: Grid statt inline-block =================
   Theme: nav .subnav li{display:inline-block;width:50%} + am Handy min-height:120px.
   Das ersetzen wir durch ein Grid, damit Gruppen-Ueberschriften ganze Zeilen belegen. */
nav .subnav .subnav-inner>ul{display:grid;grid-template-columns:1fr;gap:0;margin:0;padding:0;list-style:none}
nav .subnav .subnav-inner>ul>li{display:block!important;width:auto!important;margin:0;
  border-right:0!important;border-bottom:1px solid #e3e3e3}
nav .subnav .subnav-inner>ul>li>a{min-height:0!important;display:block;height:100%;box-sizing:border-box}
/* Gruppen-Ueberschrift: immer ganze Zeile, kompakt, nicht klickbar */
nav .subnav .subnav-inner>ul>li.subnav-group{grid-column:1/-1;border-bottom:0;background:transparent;
  pointer-events:none;padding:.9rem .85rem .2rem}
nav .subnav .subnav-inner>ul>li.subnav-group span{display:block;font-size:11px;line-height:1.3;
  letter-spacing:.14em;text-transform:uppercase;color:var(--sss-orange);font-weight:700;
  border-bottom:1px solid rgba(225,85,1,.3);padding-bottom:.3rem}
/* Standort-Eintrag: PLZ/Ort fett, Adresse darunter, zwei Zeilen statt abgeschnittener Zeile */
nav .subnav .subnav-inner>ul>li>a h3{font-size:13px;line-height:1.35;font-weight:700;color:inherit}
nav .subnav .subnav-inner>ul>li>a p{font-size:12px!important;line-height:1.4!important;
  white-space:normal!important;overflow:visible!important;text-overflow:clip!important;color:#555}
@media(min-width:700px){nav .subnav .subnav-inner>ul{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){
  nav .subnav .subnav-inner>ul{grid-template-columns:1fr 1fr 1fr;
    max-width:1200px;margin:0 auto;padding:.4rem 0 1rem}
  nav .subnav .subnav-inner>ul>li{border-bottom:0}
  nav .subnav .subnav-inner>ul>li>a{padding:10px 14px;border-bottom:0}
  nav .subnav .subnav-inner>ul>li>a:hover{background:#ececec;border-radius:8px}
}

/* ================= Herbstaktion-Banner =================
   Wird als <section class="text aktion-banner"> ausgegeben, erbt also Container
   und Schriftgroessen vom Theme; hier nur die Optik. */
.text.aktion-banner{border-bottom:0;margin:0 auto 45px;padding:1.6rem 1.3rem 1.8rem;border-radius:20px;
  background:radial-gradient(103.89% 81.75% at 95.41% 106.34%,#eaf8ef 6%,rgba(234,248,239,0) 79.68%),
             radial-gradient(297.85% 151.83% at -21.39% 8.81%,#faf1f1 0%,#faf1f1 15.29%,#f3edf5 21.39%,#e5f0fa 40.79%);
  box-shadow:rgba(50,50,93,.18) 0 18px 40px -12px,rgba(0,0,0,.22) 0 10px 22px -14px;text-align:center}
.text.aktion-banner .aktion-badge{display:inline-block;background:var(--sss-orange);color:#fff;font-weight:700;
  font-size:11px;line-height:1;letter-spacing:.12em;text-transform:uppercase;padding:.5em 1.1em;
  border-radius:999px;margin:0 0 .9rem}
.text.aktion-banner h2{margin:0 0 .6rem;padding:0;text-align:center}
.text.aktion-banner h3{margin:0 0 .5rem;text-align:center}
.text.aktion-banner p{text-align:center;margin:0 0 .6rem}
.text.aktion-banner .aktion-frist{font-weight:700;color:var(--sss-orange);margin:0 0 .2rem}
.text.aktion-banner .aktion-cta{display:inline-block;margin-top:1.1rem;background:var(--sss-orange);color:#fff;
  padding:.8em 1.9em;border-radius:999px;font-weight:700;font-size:16px;line-height:1.2;text-decoration:none;
  box-shadow:0 4px 14px rgba(225,85,1,.35);transition:transform .15s ease}
.text.aktion-banner .aktion-cta:hover{transform:translateY(-1px);color:#fff;background:#c84a01}
@media(max-width:600px){
  .text.aktion-banner{padding:1.3rem 1rem 1.5rem;border-radius:16px}
  .text.aktion-banner .aktion-cta{display:block;width:100%;box-sizing:border-box;padding:.9em 1rem}
}

/* ================= Standort-Karten (Uebersichtsseite) ================= */
.loc-wrap{max-width:1200px;margin:0 auto;padding:10px 13px 50px;box-sizing:border-box;
  font-size:16px;line-height:1.5}            /* article{font-size:0} aufheben */
.loc-wrap h2.loc-city{margin:2.2rem 0 1rem;padding:0;font-size:22px;line-height:1.25;font-weight:700;
  color:var(--sss-dark);border-left:5px solid var(--sss-orange);padding-left:.6rem;text-align:left}
.loc-wrap h2.loc-city:first-child{margin-top:.5rem}
.loc-grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.loc-card{display:flex;flex-direction:column;background:#fff;border-radius:var(--sss-radius);overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.09);transition:transform .18s ease,box-shadow .18s ease}
.loc-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
.loc-card .loc-img{display:block;overflow:hidden;background:var(--sss-grey);aspect-ratio:16/10}
.loc-card .loc-img img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.loc-card .loc-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.loc-card .loc-plz{display:block;font-size:12px;line-height:1.2;font-weight:700;letter-spacing:.08em;
  color:var(--sss-orange);text-transform:uppercase;margin:0 0 .35rem}
.loc-card h3{font-size:17px;line-height:1.3;margin:0 0 .5rem;padding:0;text-align:left;font-weight:700}
.loc-card h3 a{color:var(--sss-dark);text-decoration:none;background:none;display:inline}
.loc-card h3 a:hover{color:var(--sss-orange);background:none}
.loc-card p{font-size:14px;line-height:1.55;color:#555;margin:0 0 1rem;text-align:left}
.loc-card .loc-actions{margin-top:auto;display:flex;gap:.5rem;flex-wrap:wrap}
.loc-card .loc-btn{flex:1 1 120px;text-align:center;padding:.65em 1em;border-radius:999px;font-size:14px;
  line-height:1.2;font-weight:700;text-decoration:none;box-sizing:border-box}
.loc-card .loc-btn-primary{background:var(--sss-orange);color:#fff}
.loc-card .loc-btn-primary:hover{background:#c84a01;color:#fff}
.loc-card .loc-btn-ghost{border:2px solid var(--sss-orange);color:var(--sss-orange)}
.loc-card .loc-btn-ghost:hover{background:rgba(225,85,1,.08);color:var(--sss-orange)}

/* ================= CTA-Band vor dem Footer ================= */
.cta-band{background:linear-gradient(135deg,#2b2b2b,#454545);color:#fff;text-align:center;
  padding:3rem 1.3rem;margin:0;font-size:16px;line-height:1.5}
.cta-band h2{color:#fff;margin:0 0 .6rem;padding:0;font-size:26px;line-height:1.25;font-weight:700}
.cta-band p{color:#e8e8e8;margin:0 auto 1.4rem;padding:0;font-size:16px;max-width:680px}
.cta-band .cta-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.cta-band a.cta-primary{background:var(--sss-orange);color:#fff;padding:.85em 2em;border-radius:999px;
  font-weight:700;font-size:16px;text-decoration:none}
.cta-band a.cta-primary:hover{background:#c84a01;color:#fff}
.cta-band a.cta-secondary{border:2px solid #fff;color:#fff;padding:.85em 2em;border-radius:999px;
  font-weight:700;font-size:16px;text-decoration:none}
.cta-band a.cta-secondary:hover{background:#fff;color:var(--sss-dark)}
@media(max-width:600px){
  .cta-band{padding:2.2rem 1rem}.cta-band h2{font-size:21px}
  .cta-band .cta-actions{flex-direction:column}
  .cta-band a.cta-primary,.cta-band a.cta-secondary{display:block}
  .loc-wrap h2.loc-city{font-size:19px}
}
