/* =========================================================
   SCHWIMMSCHULE DEININGER - KUTEGO THEME
   
   ========================================================= */

/* ---------- BASIS ---------- */

:root {
  --c-bg:#e8f3fd;
  --c-bg-soft:#f6fbff;
  --c-surface:#fff;
  --c-primary:#0f1d73;
  --c-secondary:#048dda;
  --c-secondary-dark:#0277bb;
  --c-accent:#ffbb06;
  --c-text:#111827;
  --c-muted:#5f6b76;
  --c-border:rgba(15,29,115,.13);
  --c-success:#23a444;
  --c-danger:#d64545;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 10px 28px rgba(15,29,115,.09);
  --shadow-lg:0 18px 42px rgba(15,29,115,.13);
  --container:1120px;
}

*,
*::before,
*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; }

body {
  margin:0;
  color:var(--c-text);
  background:var(--c-bg);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

img { max-width:100%; height:auto; }

a {
  color:var(--c-secondary);
  transition:.16s ease;
}

a:hover,
a:focus { color:var(--c-secondary-dark); }

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
.btn:focus {
  outline:3px solid rgba(4,141,218,.24);
  outline-offset:2px;
}

/* Seitentitel bleibt fuer Suchmaschinen und Screenreader im Dokument,
   ist aber optisch nicht sichtbar. */
.pageTitle {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

.container {
  width:min(var(--container),calc(100% - 32px));
  max-width:var(--container);
  padding-left:0;
  padding-right:0;
}

.row { margin-left:-7px; margin-right:-7px; }
[class*="col-"] { padding-left:7px; padding-right:7px; }

h1,h2,h3,h4,h5,h6 {
  color:var(--c-primary);
  font-weight:800;
  line-height:1.18;
  letter-spacing:-.015em;
}

h1 { font-size:clamp(30px,3.8vw,46px); }
h2 { font-size:clamp(26px,3vw,38px); }
h3 { font-size:clamp(21px,2.2vw,28px); }
p { margin:0 0 1em; }
ul,ol { margin-top:0; }
hr { border:0; border-top:1px solid var(--c-border); }

/* ---------- FORMULARE UND BUTTONS ---------- */

.form-control,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="date"],
select,
textarea {
  min-height:42px;
  padding:9px 11px;
  color:var(--c-text);
  background:#fff;
  border:1px solid rgba(15,29,115,.2);
  border-radius:9px;
  box-shadow:none;
}

.form-control:focus,
input:focus,
select:focus,
textarea:focus {
  border-color:var(--c-secondary);
  box-shadow:0 0 0 3px rgba(4,141,218,.12);
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border:0;
  border-radius:10px;
  font-size:15px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  box-shadow:none;
}

.btn-primary,
.btn-secondary,
a.btn-primary,
a.btn-secondary {
  color:#111 !important;
  background:var(--c-accent) !important;
}

.btn-primary:hover,
.btn-secondary:hover,
a.btn-primary:hover,
a.btn-secondary:hover {
  color:#111 !important;
  background:#ffc533 !important;
  transform:translateY(-1px);
}

.panel,
.well,
.thumbnail {
  background:#fff;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

/* ---------- HEADER ---------- */

.pre-header {
  color:#fff !important;
  background:linear-gradient(90deg,#0f1d73,#182a88) !important;
}

.pre-header a,
.pre-header span,
.pre-header i,
.pre-header li { color:#fff !important; }

.pre-header a:hover { color:var(--c-accent) !important; }

.header {
  position:relative;
  z-index:1000;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 1px 0 var(--c-border),0 8px 24px rgba(15,29,115,.06) !important;
}

.header > .container {
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:86px;
}

.header .logo-wrapper {
  float:none !important;
  display:flex !important;
  align-items:center !important;
  min-height:86px;
  padding:8px 0 !important;
}

.header .logo-wrapper img {
  display:block;
  width:auto !important;
  max-height:60px !important;
}

/* ---------- HAUPTNAVIGATION ---------- */

/* Kein display in der Basisregel: sonst gewinnt der Desktopwert
   auch im Mobilmenue und die Navigation bleibt dauerhaft offen. */
.header .header-navigation {
  float:none !important;
  margin-left:auto !important;
  background:transparent !important;
}

.header .header-navigation > ul {
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  margin:0 !important;
  padding:0 !important;
}

.header .header-navigation > ul > li {
  float:none !important;
  position:relative;
  margin:0 !important;
}

.header .header-navigation > ul > li > a {
  display:flex !important;
  align-items:center !important;
  min-height:46px;
  padding:11px 15px !important;
  color:var(--c-secondary) !important;
  background:transparent !important;
  border:1px solid transparent !important;
  border-radius:999px !important;
  font-size:16px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

.header .header-navigation > ul > li > a:hover,
.header .header-navigation > ul > li > a:focus {
  color:var(--c-primary) !important;
  background:var(--c-bg-soft) !important;
  border-color:var(--c-border) !important;
}

.header .header-navigation > ul > li.active > a,
.header .header-navigation > ul > li.open > a,
.header .header-navigation > ul > li > a[aria-expanded="true"] {
  color:var(--c-primary) !important;
  background:rgba(255,187,6,.2) !important;
  border-color:rgba(255,187,6,.55) !important;
  box-shadow:inset 0 -2px 0 var(--c-accent) !important;
}

.header .header-navigation li.menu-search > a {
  justify-content:center !important;
  width:44px !important;
  min-width:44px !important;
  padding:0 !important;
  background:var(--c-bg-soft) !important;
  border-color:var(--c-border) !important;
}

/* Kutego setzt eigene Dekorationsebenen auf Dropdown-Punkte.
   Diese werden hier vollstaendig abgeschaltet. */
.header .header-navigation > ul > li.dropdown {
  position:relative !important;
}

.header .header-navigation > ul > li.dropdown::before,
.header .header-navigation > ul > li.dropdown::after,
.header .header-navigation > ul > li.open::before,
.header .header-navigation > ul > li.open::after,
.header .header-navigation > ul > li.dropdown > a::before,
.header .header-navigation > ul > li.dropdown > a::after,
.header .header-navigation > ul > li.open > a::before,
.header .header-navigation > ul > li.open > a::after {
  display:none !important;
  content:none !important;
}

/* ---------- DROPDOWNS ---------- */

.header .header-navigation .dropdown-menu {
  top:calc(100% + 8px) !important;
  right:auto !important;
  left:0 !important;
  width:270px !important;
  min-width:270px !important;
  max-width:320px !important;
  margin:0 !important;
  padding:8px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:14px !important;
  box-shadow:var(--shadow-lg) !important;
  list-style:none !important;
}

.header .header-navigation .dropdown-menu ul,
.header .header-navigation .dropdown-menu li {
  margin:0 !important;
  list-style:none !important;
}

.header .header-navigation .dropdown-menu > li {
  display:block !important;
  width:100% !important;
  background:transparent !important;
  border:0 !important;
  pointer-events:auto !important;
}

.header .header-navigation .dropdown-menu > li + li {
  border-top:1px solid var(--c-border) !important;
}

.header .header-navigation .dropdown-menu > li > a,
.header .header-navigation .dropdown-menu > li.active > a,
.header .header-navigation .dropdown-menu > li.open > a,
.header .header-navigation .dropdown-menu > li > a[aria-expanded="true"] {
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:12px 14px !important;
  color:var(--c-primary) !important;
  background:transparent !important;
  border:0 !important;
  border-radius:9px !important;
  box-shadow:none !important;
  font-size:16px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  text-decoration:none !important;
  transform:none !important;
  cursor:pointer !important;
  pointer-events:auto !important;
}

.header .header-navigation .dropdown-menu > li > a:hover,
.header .header-navigation .dropdown-menu > li > a:focus,
.header .header-navigation .dropdown-menu > li.active > a:hover,
.header .header-navigation .dropdown-menu > li.active > a:focus {
  color:var(--c-primary) !important;
  background:var(--c-bg-soft) !important;
  box-shadow:inset 3px 0 0 var(--c-accent) !important;
  transform:none !important;
}

.header .header-navigation .dropdown-menu > li::before,
.header .header-navigation .dropdown-menu > li::after,
.header .header-navigation .dropdown-menu > li > a::before,
.header .header-navigation .dropdown-menu > li > a::after {
  pointer-events:none !important;
}

.header .header-navigation .caret {
  display:inline-block !important;
  width:7px !important;
  height:7px !important;
  margin-left:8px !important;
  border:0 !important;
  border-right:2px solid currentColor !important;
  border-bottom:2px solid currentColor !important;
  transform:rotate(45deg) translateY(-2px) !important;
  transform-origin:center !important;
}

.header .header-navigation li.open > a .caret,
.header .header-navigation a[aria-expanded="true"] .caret {
  transform:rotate(225deg) translate(-1px,-1px) !important;
}

/* ---------- BURGER ---------- */

.header .mobi-toggler {
  display:none;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  color:var(--c-secondary) !important;
  background:var(--c-bg-soft) !important;
  border:1px solid var(--c-border) !important;
  border-radius:11px !important;
  cursor:pointer;
}

/* Klicks auf Icon oder span landen immer auf dem Button selbst. */
.header .mobi-toggler * { pointer-events:none; }

/* ---------- DESKTOP-DROPDOWN AB 992px ---------- */

@media (min-width:992px) {

  .header .header-navigation {
    display:flex !important;
    align-items:center !important;
  }

  /* Kein Luftspalt zwischen Hauptpunkt und Menue. */
  .header .header-navigation > ul > li.dropdown {
    padding-bottom:12px !important;
    margin-bottom:-12px !important;
  }

  .header .header-navigation > ul > li.dropdown > .dropdown-menu {
    top:100% !important;
    margin-top:0 !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    animation:none !important;
    transition:opacity .12s ease, visibility .12s ease !important;
  }

  /* Unsichtbare Hover-Bruecke. */
  .header .header-navigation > ul > li.dropdown > .dropdown-menu::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:-14px !important;
    left:0 !important;
    width:100% !important;
    height:14px !important;
    background:transparent !important;
    border:0 !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .header .header-navigation > ul > li.dropdown > .dropdown-menu::after {
    display:none !important;
    content:none !important;
  }

  .header .header-navigation > ul > li.dropdown:hover > .dropdown-menu,
  .header .header-navigation > ul > li.dropdown:focus-within > .dropdown-menu,
  .header .header-navigation > ul > li.dropdown.open > .dropdown-menu {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  /* Verschachtelte Untermenues seitlich. */
  .header .header-navigation .dropdown-menu > li.dropdown {
    position:relative !important;
  }

  .header .header-navigation .dropdown-menu > li.dropdown > .dropdown-menu {
    position:absolute !important;
    top:-8px !important;
    left:calc(100% - 2px) !important;
    width:250px !important;
    min-width:250px !important;
    margin:0 !important;
    padding:8px !important;
    background:#fff !important;
    border:1px solid var(--c-border) !important;
    border-radius:12px !important;
    box-shadow:var(--shadow-lg) !important;
    visibility:hidden;
    opacity:0;
    pointer-events:none;
  }

  .header .header-navigation .dropdown-menu > li.dropdown > .dropdown-menu::before {
    content:"" !important;
    display:block !important;
    position:absolute !important;
    top:0 !important;
    right:100% !important;
    left:auto !important;
    width:12px !important;
    height:100% !important;
    background:transparent !important;
    border:0 !important;
    transform:none !important;
  }

  .header .header-navigation .dropdown-menu > li.dropdown:hover > .dropdown-menu,
  .header .header-navigation .dropdown-menu > li.dropdown:focus-within > .dropdown-menu,
  .header .header-navigation .dropdown-menu > li.dropdown.open > .dropdown-menu {
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .header .header-navigation .dropdown-menu .dropdown-menu > li > a {
    min-height:42px !important;
    padding:10px 12px !important;
    font-size:15px !important;
    font-weight:700 !important;
  }
}

/* ---------- TEAM ---------- */

.front-team .row,
[data-module="team"] .row,
[data-module="employees"] .row {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
}

.front-team .row > [class*="col-"],
[data-module="team"] .row > [class*="col-"],
[data-module="employees"] .row > [class*="col-"] {
  display:flex;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.front-team .thumbnail,
[data-module="team"] .thumbnail,
[data-module="employees"] .thumbnail,
.team-index .thumbnail,
.employee-index .thumbnail {
  width:100%;
  margin:0 0 22px !important;
  padding:16px !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

.front-team .thumbnail > a,
.front-team .thumbnail .caption,
[data-module="team"] .thumbnail .caption,
[data-module="employees"] .thumbnail .caption {
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.front-team .thumbnail img,
[data-module="team"] .thumbnail img,
[data-module="employees"] .thumbnail img {
  display:block;
  width:100% !important;
  aspect-ratio:1/1;
  object-fit:cover;
  margin-bottom:14px;
  border:0 !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

.front-team .thumbnail h3,
[data-module="team"] .thumbnail h3,
[data-module="employees"] .thumbnail h3 {
  margin:0 0 5px;
  font-size:20px;
  overflow-wrap:anywhere;
}

.front-team .thumbnail h3 small {
  display:block;
  margin-top:4px;
  color:var(--c-secondary);
  font-size:14px;
  font-weight:800;
}

[data-module="team"] .module-options,
[data-module="employees"] .module-options {
  margin-bottom:22px !important;
  padding:16px !important;
  background:rgba(255,255,255,.78) !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

/* ---------- STANDORTE ---------- */

[data-module="locations"] {
  padding:clamp(34px,5vw,64px) 0;
  background:var(--c-bg);
}

[data-module="locations"] .blog-posts > .row {
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  overflow:hidden;
  margin:0 0 22px !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="locations"] .blog-posts > .row > [class*="col-"] {
  float:none !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

[data-module="locations"] .blog-posts > .row > .col-sm-4 {
  display:flex;
  padding:0 !important;
}

[data-module="locations"] .blog-posts > .row > .col-sm-4 img {
  width:100%;
  height:100%;
  min-height:270px;
  object-fit:cover;
  border:0 !important;
  border-radius:0 !important;
}

[data-module="locations"] .blog-posts > .row > .col-sm-8 {
  padding:22px !important;
}

[data-module="locations"] .blog-post-sep { display:none !important; }

/* ---------- KURSUEBERSICHT ---------- */

[data-module="courses"] { background:var(--c-bg); }

[data-module="courses"] .courses-index,
[data-module="courses"] .course-index {
  margin-bottom:0 !important;
}

/* Die weisse Karte liegt nur hinter dem Text.
   Das Bild steht frei daneben und hat eigene runde Ecken. */
[data-module="courses"] .courses-index > .row,
[data-module="courses"] .course-index > .row {
  display:grid;
  grid-template-columns:minmax(200px,28%) minmax(0,1fr);
  align-items:start;
  gap:20px;
  overflow:visible;
  max-width:920px;
  margin:0 auto 26px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

[data-module="courses"] .courses-index > .row::before,
[data-module="courses"] .courses-index > .row::after,
[data-module="courses"] .course-index > .row::before,
[data-module="courses"] .course-index > .row::after {
  display:none !important;
}

[data-module="courses"] .courses-index > .row > .col-sm-4,
[data-module="courses"] .courses-index > .row > .col-sm-8,
[data-module="courses"] .course-index > .row > .col-sm-4,
[data-module="courses"] .course-index > .row > .col-sm-8 {
  float:none !important;
  width:auto !important;
  padding:0 !important;
}

/* Quadratische Vorschaubilder.
   Die Bildspalte waechst nicht mehr mit der Textlaenge mit,
   dadurch bleibt der Ausschnitt vollstaendig sichtbar. */
[data-module="courses"] .courses-index > .row > .col-sm-4,
[data-module="courses"] .course-index > .row > .col-sm-4 {
  display:block !important;
  align-self:start !important;
  width:100% !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="courses"] .courses-index > .row > .col-sm-4 > a,
[data-module="courses"] .course-index > .row > .col-sm-4 > a {
  display:block !important;
  width:100% !important;
  height:100% !important;
}

[data-module="courses"] .courses-index > .row > .col-sm-4 img,
[data-module="courses"] .course-index > .row > .col-sm-4 img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center 35% !important;
  margin:0 !important;
  border-radius:0 !important;
}

[data-module="courses"] .courses-index > .row > .col-sm-8,
[data-module="courses"] .course-index > .row > .col-sm-8 {
  display:flex;
  flex-direction:column;
  padding:22px !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="courses"] .courses-index h2,
[data-module="courses"] .course-index h2 {
  margin:0 0 10px !important;
  font-size:clamp(20px,2vw,26px) !important;
}

[data-module="courses"] .courses-index h2 a,
[data-module="courses"] .course-index h2 a {
  color:var(--c-primary) !important;
  text-decoration:none !important;
}

[data-module="courses"] .short-description h3,
[data-module="courses"] .short-description h4,
[data-module="courses"] .short-description h5 {
  color:var(--c-secondary) !important;
}

[data-module="courses"] .short-description p,
[data-module="courses"] .short-description li {
  font-size:14px !important;
  line-height:1.55 !important;
}

[data-module="courses"] .courses-index hr.short-description,
[data-module="courses"] .course-index hr.short-description {
  margin:auto 0 16px !important;
}

[data-module="courses"] .courses-index .pull-right,
[data-module="courses"] .course-index .pull-right {
  float:none !important;
}

[data-module="courses"] .courses-index .btn-secondary,
[data-module="courses"] .course-index .btn-secondary {
  align-self:flex-start;
}

[data-module="courses"] .blog-post-sep { display:none !important; }

/* ---------- KURSDETAIL-KOPF ---------- */

[data-module="courses"] .course-header {
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  gap:20px !important;
  overflow:visible !important;
  max-width:920px !important;
  margin:0 auto 26px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

[data-module="courses"] .course-header::before,
[data-module="courses"] .course-header::after { display:none !important; }

[data-module="courses"] .course-header > .col-md-4,
[data-module="courses"] .course-header > .col-sm-4 {
  float:none !important;
  display:block !important;
  align-self:flex-start !important;
  flex:0 0 auto !important;
  width:30% !important;
  min-width:200px !important;
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
  padding:0 !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="courses"] .course-header > .col-md-4 > a,
[data-module="courses"] .course-header > .col-sm-4 > a {
  display:block !important;
  width:100% !important;
  height:100% !important;
}

[data-module="courses"] .course-header > .col-md-4 img,
[data-module="courses"] .course-header > .col-sm-4 img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  min-height:0 !important;
  object-fit:cover !important;
  object-position:center 35% !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
}

[data-module="courses"] .course-header > .col-md-8,
[data-module="courses"] .course-header > .col-sm-8 {
  float:none !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  padding:22px !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

/* Keine Trennlinien direkt unter der Ueberschrift. */
[data-module="courses"] .course-header h2 {
  margin:0 0 10px !important;
  padding:0 !important;
  border-bottom:0 !important;
  font-size:clamp(21px,2.2vw,28px) !important;
}

[data-module="courses"] .courses-index h2 + hr,
[data-module="courses"] .course-index h2 + hr,
[data-module="courses"] .course-header h2 + hr,
[data-module="courses"] .course-header h2 + .clearfix + hr {
  display:none !important;
}

[data-module="courses"] .course-header h3 {
  margin:4px 0 8px !important;
  color:var(--c-secondary) !important;
  font-size:clamp(17px,1.6vw,20px) !important;
}

[data-module="courses"] .course-header p,
[data-module="courses"] .course-header li {
  font-size:14px !important;
  line-height:1.55 !important;
}

[data-module="courses"] .course-header ul:not(.blog-info) {
  margin:4px 0 12px !important;
  padding:0 !important;
  list-style:none !important;
}

[data-module="courses"] .course-header ul:not(.blog-info) > li {
  position:relative;
  margin:0 0 5px !important;
  padding-left:20px !important;
}

[data-module="courses"] .course-header ul:not(.blog-info) > li::before {
  content:"";
  position:absolute;
  top:.5em;
  left:2px;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--c-secondary);
  box-shadow:0 0 0 4px rgba(4,141,218,.12);
}

[data-module="courses"] .course-header .blog-info {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin:auto 0 0 !important;
  padding:14px 0 0 !important;
  border-top:1px solid var(--c-border) !important;
  list-style:none !important;
}

[data-module="courses"] .course-header .blog-info > li {
  margin:0 !important;
  padding:7px 10px !important;
  color:var(--c-muted) !important;
  background:var(--c-bg-soft) !important;
  border:1px solid var(--c-border) !important;
  border-radius:999px !important;
  font-size:13px !important;
}

/* ---------- TABS UND BUCHUNG ---------- */

[data-module="courses"] .tab-style-1 {
  float:none !important;
  width:100% !important;
  margin:0 0 28px !important;
  padding:0 !important;
}

[data-module="courses"] .tab-style-1 > .nav-tabs {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px !important;
  margin:0 0 22px !important;
  padding:0 6px !important;
  border-bottom:1px solid var(--c-border) !important;
}

[data-module="courses"] .tab-style-1 > .nav-tabs > li {
  float:none !important;
  margin:0 !important;
}

[data-module="courses"] .tab-style-1 > .nav-tabs > li > a {
  margin:0 !important;
  padding:11px 14px !important;
  color:var(--c-muted) !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:3px solid transparent !important;
  font-size:15px !important;
  font-weight:800 !important;
}

[data-module="courses"] .tab-style-1 > .nav-tabs > li.active > a {
  color:var(--c-primary) !important;
  background:#fff !important;
  border-bottom-color:var(--c-accent) !important;
}

[data-module="courses"] .courses-table {
  overflow-x:auto !important;
  min-height:0 !important;
  margin:0 0 16px !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="courses"] .courses-table table {
  width:100% !important;
  min-width:1000px;
  margin:0 !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}

[data-module="courses"] .courses-table th {
  padding:13px 12px !important;
  color:var(--c-secondary) !important;
  background:var(--c-bg-soft) !important;
  border-bottom:1px solid var(--c-border) !important;
  font-size:13px !important;
  font-weight:800 !important;
  white-space:nowrap;
}

[data-module="courses"] .courses-table td {
  padding:13px 12px !important;
  border-top:1px solid var(--c-border) !important;
  font-size:13px !important;
  vertical-align:middle !important;
}

[data-module="courses"] .courses-table input,
[data-module="courses"] .courses-table select,
[data-module="courses"] .courses-table .form-control {
  min-height:38px !important;
  height:38px !important;
  font-size:13px !important;
}

[data-module="courses"] .courses-table .btn {
  min-height:38px !important;
  padding:8px 11px !important;
  font-size:13px !important;
}

[data-module="courses"] .courses-table .btn-primary,
[data-module="courses"] .courses-table .btn-secondary {
  color:#fff !important;
  background:var(--c-secondary) !important;
}

[data-module="courses"] .courses-table .btn-success {
  color:#fff !important;
  background:var(--c-success) !important;
}

[data-module="courses"] .tax-hint {
  display:block;
  margin:10px 0 24px !important;
  color:var(--c-muted) !important;
  font-size:12px !important;
}

/* Mobile Terminkarten */
[data-module="courses"] .coursedate.pricing {
  overflow:hidden;
  margin:0 0 16px !important;
  background:#fff !important;
  border:1px solid var(--c-border) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow) !important;
}

[data-module="courses"] .coursedate.pricing .pricing-head {
  padding:15px 16px !important;
  background:var(--c-bg-soft) !important;
  border-bottom:1px solid var(--c-border) !important;
}

[data-module="courses"] .coursedate.pricing .pricing-head h3 {
  margin:0 0 3px !important;
  padding:0 !important;
  color:var(--c-primary) !important;
  background:transparent !important;
  font-size:20px !important;
}

[data-module="courses"] .coursedate.pricing .pricing-content {
  margin:0 !important;
  padding:7px 16px !important;
  list-style:none !important;
}

[data-module="courses"] .coursedate.pricing .pricing-content > li {
  display:grid !important;
  grid-template-columns:110px 1fr;
  gap:10px;
  padding:9px 0 !important;
  border-bottom:1px solid var(--c-border) !important;
  font-size:13px !important;
}

[data-module="courses"] .coursedate.pricing .pricing-footer {
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:14px 16px !important;
  background:var(--c-bg-soft) !important;
}

/* FAQ */
[data-module="courses"] .panel-group .panel {
  margin-bottom:9px !important;
  overflow:hidden;
  border:1px solid var(--c-border) !important;
  border-radius:12px !important;
  box-shadow:0 5px 16px rgba(15,29,115,.06) !important;
}

[data-module="courses"] .panel-group .panel-heading {
  padding:0 !important;
  background:#fff !important;
}

[data-module="courses"] .panel-group .panel-title > a {
  display:block;
  padding:14px 16px !important;
  color:var(--c-primary) !important;
  font-size:16px !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

[data-module="courses"] .panel-group .panel-title > a:hover {
  background:var(--c-bg-soft) !important;
}

/* ---------- FOOTER ---------- */

footer,
.footer,
#footer {
  color:#fff;
  background:#3b7fb5;
}

footer h1,footer h2,footer h3,footer h4,
.footer h1,.footer h2,.footer h3,.footer h4,
#footer h1,#footer h2,#footer h3,#footer h4,
footer p,footer li,.footer p,.footer li,#footer p,#footer li {
  color:#fff;
}

footer a,.footer a,#footer a {
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}

footer a:hover,.footer a:hover,#footer a:hover {
  color:var(--c-accent);
}

/* =========================================================
   MOBILE ANSICHT BIS 991px
   Breakpoint passt zum Umschaltpunkt des Kutego-JavaScripts.
   ========================================================= */

@media (max-width:991px) {

  .header > .container {
    display:block !important;
    min-height:72px;
  }

  .header .logo-wrapper {
    min-height:72px;
    padding-right:56px !important;
  }

  .header .logo-wrapper img { max-height:52px !important; }

  .header .mobi-toggler {
    position:absolute;
    top:14px;
    right:16px;
    z-index:1200 !important;
    display:flex !important;
  }

  /* Kein !important: das Theme-JavaScript darf das Menue oeffnen. */
  .header .header-navigation {
    display:none;
    width:100% !important;
    padding:10px 0 14px !important;
    border-top:1px solid var(--c-border) !important;
  }

  /* Alle Klassen, die Kutego oder Metronic beim Klick setzen koennen. */
  .header .header-navigation.header-navigation-show,
  .header .header-navigation.open,
  .header .header-navigation.in,
  .header .header-navigation.active,
  .header .header-navigation.collapse.in,
  .header.open .header-navigation,
  body.mobi-nav-open .header .header-navigation {
    display:block !important;
  }

  .header .header-navigation > ul {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:5px !important;
  }

  .header .header-navigation > ul > li > a {
    justify-content:space-between !important;
    width:100% !important;
    border-radius:10px !important;
  }

  /* Untermenues sind mobil zugeklappt und oeffnen erst beim Klick
     auf den Hauptpunkt. */
  .header .header-navigation .dropdown-menu,
  .header .header-navigation li.dropdown > .dropdown-menu,
  .header .header-navigation .dropdown-menu .dropdown-menu {
    display:none;
    visibility:visible !important;
    opacity:1 !important;
    position:static !important;
    float:none !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:5px 0 0 !important;
    padding:6px !important;
    background:var(--c-bg-soft) !important;
    border:1px solid var(--c-border) !important;
    border-radius:10px !important;
    box-shadow:none !important;
    pointer-events:auto !important;
  }

  .header .header-navigation li.open > .dropdown-menu,
  .header .header-navigation li > a[aria-expanded="true"] + .dropdown-menu {
    display:block !important;
  }

  .header .header-navigation .dropdown-menu::before,
  .header .header-navigation .dropdown-menu::after {
    display:none !important;
    content:none !important;
  }

  .header .header-navigation .dropdown-menu > li > a,
  .header .header-navigation .dropdown-menu > li.active > a,
  .header .header-navigation .dropdown-menu > li.open > a {
    min-height:44px !important;
    padding:10px 12px !important;
    font-size:15px !important;
  }

  /* Pfeil zeigt nach unten, wenn das Untermenue offen ist. */
  .header .header-navigation > ul > li > a .caret {
    transform:rotate(45deg) translateY(-2px) !important;
  }

  .header .header-navigation > ul > li.open > a .caret,
  .header .header-navigation > ul > li > a[aria-expanded="true"] .caret {
    transform:rotate(225deg) translate(-1px,-1px) !important;
  }

  [data-module="courses"] .course-header > .col-md-4,
  [data-module="courses"] .course-header > .col-sm-4 {
    width:34% !important;
    min-width:180px !important;
  }

  [data-module="courses"] .course-header > .col-md-8,
  [data-module="courses"] .course-header > .col-sm-8 {
    padding:18px !important;
  }
}

/* ---------- MOBIL BIS 767px ---------- */

@media (max-width:767px) {
  body { font-size:15px; }
  .container { width:calc(100% - 24px); }

  .front-team .row,
  [data-module="team"] .row,
  [data-module="employees"] .row {
    display:block;
  }

  [data-module="locations"] .blog-posts > .row {
    display:block;
  }

  [data-module="locations"] .blog-posts > .row > .col-sm-4 img {
    min-height:0;
    aspect-ratio:16/10;
  }

  [data-module="courses"] .courses-index > .row,
  [data-module="courses"] .course-index > .row {
    display:block;
  }

  [data-module="courses"] .courses-index > .row > .col-sm-4,
  [data-module="courses"] .course-index > .row > .col-sm-4 {
    aspect-ratio:1/1 !important;
    margin-bottom:16px !important;
  }

  [data-module="courses"] .courses-index > .row > .col-sm-8,
  [data-module="courses"] .course-index > .row > .col-sm-8 {
    padding:18px !important;
  }

  [data-module="courses"] .course-header {
    display:block !important;
  }

  [data-module="courses"] .course-header > .col-md-4,
  [data-module="courses"] .course-header > .col-sm-4,
  [data-module="courses"] .course-header > .col-md-8,
  [data-module="courses"] .course-header > .col-sm-8 {
    display:block !important;
    width:100% !important;
    min-width:0 !important;
  }

  [data-module="courses"] .course-header > .col-md-4,
  [data-module="courses"] .course-header > .col-sm-4 {
    aspect-ratio:1/1 !important;
    margin-bottom:16px !important;
  }

  [data-module="courses"] .course-header > .col-md-8,
  [data-module="courses"] .course-header > .col-sm-8 {
    padding:18px 16px !important;
  }

  [data-module="courses"] .course-header h2 {
    font-size:22px !important;
  }

  [data-module="courses"] .tab-style-1 > .nav-tabs {
    display:grid !important;
    grid-template-columns:1fr !important;
    padding:0 !important;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--c-border) !important;
    border-radius:12px;
  }

  [data-module="courses"] .tab-style-1 > .nav-tabs > li > a {
    border-bottom:1px solid var(--c-border) !important;
  }

  [data-module="courses"] .coursedate.pricing .pricing-content > li {
    grid-template-columns:1fr;
    gap:2px;
  }

  [data-module="courses"] .coursedate.pricing .pricing-footer {
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  [data-module="courses"] .coursedate.pricing .pricing-footer .btn {
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce) {
  * { transition:none !important; animation:none !important; }
}

/* =========================== Kinder-Seite: Auswahlkacheln und Kurs-Navigator =========================== */
.sd-intro { max-width: 70ch; margin: 24px 0 8px; }
.sd-kicker { display: inline-block; margin: 0 0 12px; padding: 4px 12px; border-radius: 999px; background: #fff; border: 1px solid var(--c-border); color: var(--c-secondary-dark); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sd-intro p { color: var(--c-muted); font-size: 17px; }
.sd-intro .sd-kicker { color: var(--c-secondary-dark); font-size: 13px; }

.sd-navi { margin: 16px 0 28px; padding: 24px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sd-navi__title { margin: 0 0 4px; }
.sd-navi__lead { margin: 0; color: var(--c-muted); }
.sd-navi__list { display: grid; gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; }
.sd-navi__item { margin: 0; }
.sd-navi__item a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; background: var(--c-bg-soft); border: 1px solid var(--c-border); border-radius: var(--radius-sm); color: var(--c-text); text-decoration: none; }
.sd-navi__item a:hover, .sd-navi__item a:focus { background: #fff; border-color: var(--c-secondary); color: var(--c-text); transform: translateY(-1px); }
.sd-navi__age { flex: 0 0 auto; min-width: 110px; padding: 4px 10px; border-radius: 999px; background: var(--c-primary); color: #fff; font-size: 13px; font-weight: 800; text-align: center; }
.sd-navi__text { flex: 1 1 auto; }
.sd-navi__goal { flex: 0 0 auto; color: var(--c-secondary-dark); font-weight: 800; white-space: nowrap; }
.sd-navi__goal::after { content: " \2192"; }

.sd-tiles { display: flex; flex-wrap: wrap; }
.sd-tile { display: flex; flex-direction: column; height: 100%; margin-bottom: 24px; overflow: hidden; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); transition: transform .16s, box-shadow .16s; }
.sd-tile:hover { transform: translateY(-3px); box-shadow: var(--shadow-lg); }
.sd-tile__media { display: block; }
.sd-tile__media img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.sd-tile__body { display: flex; flex: 1 1 auto; flex-direction: column; padding: 20px; }
.sd-tile__step { color: var(--c-secondary-dark); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sd-tile__title { margin: 4px 0 6px; }
.sd-tile__claim { margin: 0 0 10px; color: var(--c-primary); font-weight: 700; }
.sd-tile__list { margin: 0 0 16px; padding-left: 18px; color: var(--c-muted); }
.sd-tile__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; padding-top: 14px; border-top: 1px solid var(--c-border); }
.sd-tile__age { color: var(--c-primary); font-weight: 800; }

.sd-hint { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 8px 0 32px; padding: 22px 24px; background: var(--c-primary); border-radius: var(--radius); }
.sd-hint h3, .sd-hint p { margin: 0; color: #fff; }
.sd-hint p { margin-top: 4px; opacity: .85; }

.sd-btn, a.sd-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 16px; border-radius: 10px; background: var(--c-accent); color: #111; font-size: 15px; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.sd-btn:hover, .sd-btn:focus, a.sd-btn:hover, a.sd-btn:focus { background: #ffc533; color: #111; text-decoration: none; transform: translateY(-1px); }

@media (max-width: 767px) {
  .sd-navi { padding: 18px; }
  .sd-navi__item a { flex-wrap: wrap; gap: 8px; }
  .sd-navi__text { flex-basis: 100%; order: 2; }
  .sd-navi__goal { order: 3; }
}

/* =========================== Einstiege, Faktenlisten, Kontaktkarten =========================== */
.sd-lead { max-width: 70ch; margin: 0 0 24px; color: var(--c-primary); font-size: 18px; font-weight: 700; }
.sd-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 8px 0 28px; padding: 22px 24px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); list-style: none; }
.sd-facts li { position: relative; margin: 0; padding-left: 24px; }
.sd-facts li::before { content: ""; position: absolute; top: .55em; left: 0; width: 10px; height: 10px; border-radius: 3px; background: var(--c-secondary); }
.sd-card { height: 100%; margin-bottom: 20px; padding: 20px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sd-card__label { margin: 0 0 6px; color: var(--c-secondary-dark); font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.sd-card__title { margin: 0 0 8px; font-size: 20px; }
.sd-card p { margin: 0 0 6px; }
.sd-card a { font-weight: 700; }

/* =========================== Korrekturen bestehender Bereiche =========================== */
/* Kursbild fuellt das Quadrat auch, wenn Kutego das Bild in ein div statt in einen Link packt */
[data-module="courses"] .courses-index > .row > .col-sm-4 > div,
[data-module="courses"] .course-index > .row > .col-sm-4 > div,
[data-module="courses"] .course-header > .col-md-4 > div,
[data-module="courses"] .course-header > .col-sm-4 > div { width: 100% !important; height: 100% !important; }

/* Gutscheine im Stil der Seite */
[data-module="coupons"] .pricing { overflow: hidden; margin-bottom: 24px !important; background: #fff !important; border: 1px solid var(--c-border) !important; border-radius: var(--radius) !important; box-shadow: var(--shadow) !important; }
[data-module="coupons"] .pricing-head h3 { margin: 0 !important; padding: 18px 16px 14px !important; background: var(--c-primary) !important; color: #fff !important; font-size: 24px !important; font-weight: 800 !important; line-height: 1.2 !important; }
[data-module="coupons"] .pricing-head h3 span { display: block; margin-top: 4px; color: rgba(255,255,255,.85) !important; font-size: 14px !important; font-weight: 600 !important; }
[data-module="coupons"] .pricing-head h4 { margin: 0 !important; padding: 18px 16px 6px !important; color: var(--c-primary) !important; }
[data-module="coupons"] .pricing-content li { color: var(--c-text) !important; }
[data-module="coupons"] .pricing-content .fa-check { color: var(--c-success) !important; }

@media (max-width: 767px) {
  .sd-facts { grid-template-columns: 1fr; padding: 18px; }
}

/* ---------- SEITENINHALTE: GEMEINSAME BAUSTEINE (Startseite, Jobs, Unterseiten) ---------- */

/* Abschnittskopf */
.sd-section__head { max-width: 70ch; margin: clamp(34px, 5vw, 64px) 0 22px; }
.sd-section__head h2 { margin: 0 0 10px; }
.sd-section__lead { max-width: 70ch; margin: 0; color: var(--c-text); line-height: 1.6; }
.sd-section__lead--wide { max-width: 80ch; margin: 22px 0 18px; line-height: 1.7; }
.sd-note { margin: 4px 0 0; }

/* Hero Startseite */
.sd-hero { padding: clamp(34px, 5vw, 64px) 0 0; }
.sd-hero__content { max-width: 640px; }
.sd-hero__kicker { margin: 0 0 8px; color: var(--c-secondary); font-weight: 800; }
.sd-hero__title { margin: 0 0 14px; font-size: clamp(32px, 4.2vw, 54px); line-height: 1.08; }
.sd-hero__lead { max-width: 60ch; margin: 0 0 20px; font-size: clamp(17px, 1.5vw, 19px); }
.sd-hero__cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }

/* Haekchenliste mit Quadrat */
.sd-checklist { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.sd-checklist li { position: relative; padding-left: 22px; }
.sd-checklist li::before { content: ""; position: absolute; top: .58em; left: 0; width: 10px; height: 10px; border-radius: 3px; background: var(--c-secondary); }

/* Buttons und Links */
.sd-btn--whatsapp, a.sd-btn--whatsapp { background: #25d366; color: #fff; }
.sd-btn--whatsapp:hover, .sd-btn--whatsapp:focus, a.sd-btn--whatsapp:hover, a.sd-btn--whatsapp:focus { background: #1fbd5a; color: #fff; }
.sd-btn--ghost, a.sd-btn--ghost { background: transparent; color: var(--c-primary); border: 2px solid rgba(15,29,115,.25); }
.sd-btn--ghost:hover, .sd-btn--ghost:focus, a.sd-btn--ghost:hover, a.sd-btn--ghost:focus { background: rgba(15,29,115,.04); color: var(--c-primary); border-color: rgba(15,29,115,.45); }
.sd-link, a.sd-link { padding-bottom: 2px; color: var(--c-primary); border-bottom: 2px solid rgba(4,141,218,.35); font-weight: 800; text-decoration: none; }
.sd-link:hover, .sd-link:focus, a.sd-link:hover, a.sd-link:focus { color: var(--c-primary); border-bottom-color: rgba(4,141,218,.7); text-decoration: none; }

/* Gleich hohe Spalten */
.sd-eq { display: flex; flex-wrap: wrap; }
.sd-eq > [class*="col-"] { display: flex; }

/* Karte */
.sd-box { display: flex; flex-direction: column; width: 100%; margin-bottom: 14px; padding: 20px; background: #fff; border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: var(--shadow); }
.sd-box p { margin: 0 0 12px; line-height: 1.55; }
.sd-box__title { margin: 0 0 8px; font-size: 20px; }
.sd-box__meta { color: var(--c-secondary); font-weight: 700; }
.sd-box__list { margin: 0 0 16px; padding-left: 18px; font-size: 14px; line-height: 1.5; }
.sd-box__foot { margin: auto 0 0 !important; padding-top: 4px; }
.sd-box__media { display: block; margin-bottom: 13px; overflow: hidden; border-radius: 12px; aspect-ratio: 16 / 9; }
.sd-box__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sd-box--accent { background: radial-gradient(900px 300px at 20% 20%, rgba(255,187,6,.18) 0%, rgba(255,187,6,0) 60%), #fff; border-color: rgba(255,187,6,.5); }

/* Ablauf-Schritte */
.sd-step { position: relative; padding-left: 76px; }
.sd-step__nr { position: absolute; top: 18px; left: 18px; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: var(--c-secondary); color: #fff; font-weight: 900; }

/* Elternstimmen */
.sd-quote__text { font-size: 17px; line-height: 1.55; }
.sd-quote__author { margin: auto 0 0 !important; color: var(--c-secondary); font-size: 14px; font-weight: 700; }

/* Jobs */
.sd-jobhero { margin-top: clamp(28px, 4vw, 56px); padding: clamp(24px, 3vw, 40px); background: radial-gradient(900px 400px at 20% 20%, rgba(4,141,218,.18) 0%, rgba(4,141,218,0) 60%), linear-gradient(180deg, var(--c-bg) 0%, #fff 75%); border: 1px solid var(--c-border); border-radius: var(--radius); }
.sd-jobhero__title { margin: 0 0 8px; font-size: clamp(28px, 3.2vw, 44px); line-height: 1.12; }
.sd-jobhero .sd-section__lead { margin-bottom: 14px; }
.sd-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 16px; padding: 0; list-style: none; }
.sd-chips li { padding: 8px 10px; color: var(--c-primary); background: rgba(255,255,255,.85); border: 1px solid var(--c-border); border-radius: 999px; font-size: 13px; font-weight: 700; }
.sd-apply { max-width: 90ch; margin: 4px 0 clamp(34px, 4vw, 56px); padding-top: 18px; border-top: 1px solid var(--c-border); }
.sd-apply p { margin: 0 0 14px; line-height: 1.7; }

/* Einleitungstext einer Seite (z. B. Gutscheine) */
.sd-pagetext { max-width: 80ch; margin: 24px 0; font-size: 18px; line-height: 1.6; }

@media (max-width: 767px) {
  .sd-hero__cta { display: grid; }
  .sd-hero__cta .sd-btn { width: 100%; }
  .sd-step { padding-left: 20px; padding-top: 72px; }
}

/* Abstand nach dem letzten Abschnitt und linksbuendige Gutscheinboxen */
.sd-quote { margin-bottom: clamp(34px, 5vw, 64px); }
[data-module="coupons"] .pricing-head, [data-module="coupons"] .pricing-head h3, [data-module="coupons"] .pricing-head h4, [data-module="coupons"] .pricing-footer { text-align: left !important; }
[data-module="coupons"] .pricing-head h4, [data-module="coupons"] .pricing-footer { padding-left: 16px !important; padding-right: 16px !important; }