/* ==========================================================================
   ROBOT SCHOOL – Theme für das kutego-Buchungs-iFrame
   Basis: Design von www.robot-school.de/kurse
   Einbinden: im kutego-Backend als eigenes CSS für die iFrame-Ansicht
   (ein CSS im Elternfenster erreicht das iFrame wegen der anderen Domain nicht).
   ========================================================================== */

/* ---------- Schriften (absolut verlinkt; Vercel liefert CORS *) ----------
   Nach dem Umzug auf robot-school.de die URLs anpassen.                    */
@font-face{font-family:'Lexend Exa';font-weight:300;font-display:swap;src:url(https://www.robot-school.de/fonts/lexend-exa-300.woff2) format('woff2'),url(https://www.robot-school.de/fonts/lexend-exa-300.woff) format('woff')}
@font-face{font-family:'Lexend Exa';font-weight:400;font-display:swap;src:url(https://www.robot-school.de/fonts/lexend-exa-400.woff2) format('woff2'),url(https://www.robot-school.de/fonts/lexend-exa-400.woff) format('woff')}
@font-face{font-family:'Instrument Sans';font-weight:400;font-display:swap;src:url(https://www.robot-school.de/fonts/instrument-sans-400.woff2) format('woff2'),url(https://www.robot-school.de/fonts/instrument-sans-400.woff) format('woff')}
@font-face{font-family:'Instrument Sans';font-weight:500;font-display:swap;src:url(https://www.robot-school.de/fonts/instrument-sans-500.woff2) format('woff2'),url(https://www.robot-school.de/fonts/instrument-sans-500.woff) format('woff')}

/* ---------- Design-Tokens (identisch zur Website) ---------- */
:root{
  --void:#03040b; --deep:#0a0d26;
  --violet:#8b6cff; --violet2:#5b3fd6;
  --gold:#ffd9a0; --mist:#aab0d6; --text:#eef0ff;
  --glass:rgba(16,19,48,.55); --line:rgba(160,150,255,.22);
  --ok:#7be0b0; --err:#ff8a8a;
  --head:'Lexend Exa','Instrument Sans',sans-serif;
  --body:'Instrument Sans',system-ui,sans-serif;
  color-scheme:dark;
}

/* ---------- Grundlayout ----------
   Transparent, damit der Sternenhimmel der Website durchscheint.
   Falls das iFrame eine eigene Fläche braucht: background:var(--void).  */
html,body{background:transparent!important}
body{
  margin:0; padding:clamp(12px,3vw,24px);
  color:var(--text)!important;
  font:400 16px/1.65 var(--body)!important;
  -webkit-font-smoothing:antialiased;
}
*,*::before,*::after{box-sizing:border-box}
.container,.container-fluid{max-width:1120px;padding-inline:0}

/* ---------- Typografie ---------- */
h1,h2,h3,h4,h5,h6{
  font-family:var(--head)!important; font-weight:300!important;
  line-height:1.15; letter-spacing:-.01em; color:var(--text)!important;
  margin:0 0 .6em;
}
h1,h2{font-size:clamp(26px,4vw,40px)}
h3{font-size:20px}
h4,h5,h6{font-size:16px;font-weight:400!important}
p,li,dd,small,.text-muted,.help-block,.form-text{color:var(--mist)!important}
p{max-width:68ch}
b,strong{color:var(--text);font-weight:500}
hr{border:0;height:1px;margin:28px 0;
  background:linear-gradient(90deg,transparent,var(--violet),var(--gold),var(--violet),transparent);
  opacity:.6}

a{color:var(--gold);text-decoration:none;transition:color .2s}
a:hover,a:focus{color:#fff;text-decoration:none}
:focus-visible{outline:2px solid var(--gold)!important;outline-offset:3px}
::selection{background:rgba(139,108,255,.45);color:#fff}

/* ---------- Buttons ---------- */
.btn,button,input[type=submit],input[type=button],input[type=reset]{
  display:inline-block; cursor:pointer;
  padding:12px 24px; border-radius:99px!important;
  border:1px solid var(--line)!important;
  background:transparent!important; color:var(--text)!important;
  font:500 15px/1.2 var(--body)!important; text-align:center; text-shadow:none!important;
  box-shadow:none; transition:box-shadow .3s,border-color .3s,transform .2s;
}
.btn:hover,button:hover,input[type=submit]:hover,input[type=button]:hover{
  border-color:var(--violet)!important; box-shadow:0 0 32px rgba(139,108,255,.45);
}
/* Hauptaktion: Buchen / Anmelden / Absenden */
.btn-primary,.btn-success,.btn-info,.btn-book,
button[type=submit],input[type=submit]{
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;
  border-color:transparent!important; color:#fff!important;
}
.btn-primary:hover,.btn-success:hover,.btn-info:hover,
button[type=submit]:hover,input[type=submit]:hover{
  border-color:#c9bbff!important;
  box-shadow:0 0 32px rgba(139,108,255,.6),0 0 0 1px rgba(201,187,255,.35);
}
.btn:active,button:active{transform:translateY(1px)}
.btn[disabled],.btn.disabled,button:disabled{opacity:.35;cursor:default;box-shadow:none}
.btn-sm,.btn-xs{padding:8px 16px;font-size:13.5px!important}
.btn-lg{padding:15px 30px;font-size:16px!important}

/* ---------- Reiter (Kurstermine · Mehr Details · Info-Agent · Kundenmeinungen) ---------- */
.nav-tabs,.nav-pills{display:flex;flex-wrap:wrap;gap:8px;border:0!important;margin:0 0 22px;padding:0;list-style:none}
.nav-tabs>li,.nav-pills>li,.nav-item{margin:0!important;float:none}
.nav-tabs a,.nav-pills a,.nav-link{
  display:block; padding:9px 18px!important; border-radius:99px!important;
  border:1px solid var(--line)!important; background:transparent!important;
  color:var(--text)!important; font-size:14px; transition:border-color .2s,background .2s;
}
.nav-tabs a:hover,.nav-pills a:hover,.nav-link:hover{border-color:var(--violet)!important;background:rgba(139,108,255,.12)!important}
.nav-tabs .active>a,.nav-tabs a.active,.nav-pills .active>a,.nav-pills a.active,.nav-link.active{
  background:rgba(139,108,255,.3)!important; border-color:var(--violet)!important; color:#fff!important;
}
.tab-content{padding:0}

/* ---------- Karten / Panels → Glas ---------- */
.panel,.card,.well,.box,.modal-content,.dropdown-menu,.popover{
  background:var(--glass)!important; border:1px solid var(--line)!important;
  border-radius:22px!important; color:var(--text)!important;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  box-shadow:none;
}
.panel,.card,.well,.box{padding:clamp(18px,3vw,28px);margin-bottom:22px}
.panel-heading,.card-header,.panel-footer,.card-footer,.modal-header,.modal-footer{
  background:transparent!important; border-color:var(--line)!important; color:var(--text)!important;
}
.panel-body,.card-body{padding:0}
.modal-backdrop.in,.modal-backdrop.show{opacity:.7;background:var(--void)}
.close{color:var(--text)!important;opacity:.7;text-shadow:none}
.close:hover{opacity:1}

/* Badges: Anzahl Kurstermine, freie Plätze */
.badge,.label{
  display:inline-block; padding:4px 11px; border-radius:99px;
  font:400 12.5px var(--body); color:var(--text)!important;
  background:rgba(10,13,38,.6)!important; border:1px solid var(--line);
}
.label-success,.badge-success,.bg-success{background:rgba(123,224,176,.14)!important;border-color:rgba(123,224,176,.45);color:var(--ok)!important}
.label-warning,.badge-warning,.bg-warning{background:rgba(255,217,160,.12)!important;border-color:rgba(255,217,160,.4);color:var(--gold)!important}
.label-danger,.badge-danger,.bg-danger{background:rgba(255,138,138,.12)!important;border-color:rgba(255,138,138,.4);color:var(--err)!important}

/* ---------- Termin-Tabelle: Zeilen als schwebende Glas-Streifen ---------- */
.table-responsive{border:0!important;overflow-x:auto}
table,.table{
  width:100%; border-collapse:separate!important; border-spacing:0 10px;
  background:transparent!important; color:var(--mist); font-size:14.5px; margin:0;
}
table th,.table>thead>tr>th{
  font:400 13px var(--head)!important; letter-spacing:.04em; text-align:left;
  color:var(--gold)!important; background:transparent!important;
  border:0!important; padding:8px 16px!important; white-space:nowrap; vertical-align:bottom;
}
table td,.table>tbody>tr>td{
  padding:16px!important; vertical-align:middle!important;
  background:var(--glass)!important; color:var(--mist)!important;
  border:0!important; border-block:1px solid var(--line)!important;
}
table tr td:first-child{border-left:1px solid var(--line)!important;border-radius:16px 0 0 16px;color:var(--text)!important}
table tr td:last-child{border-right:1px solid var(--line)!important;border-radius:0 16px 16px 0;text-align:right}
table tr td:only-child{border-radius:16px}
.table-striped>tbody>tr:nth-of-type(odd)>td,.table-hover>tbody>tr:hover>td{background:var(--glass)!important}
table tbody tr{transition:transform .25s}
table tbody tr:hover td{background:linear-gradient(135deg,rgba(139,108,255,.22),rgba(16,19,48,.6))!important;border-color:var(--violet)!important}
table td b,table td strong{color:var(--text)}
/* Wochentags-Kürzel in der Kopfzeile */
table thead tr+tr th{font:400 11px var(--body)!important;color:var(--mist)!important;letter-spacing:0;padding-top:0!important}

/* ---------- Filter („Alle Kurse“ / „Nur Kurse mit freien Plätzen“) ---------- */
.btn-group{display:inline-flex;flex-wrap:wrap;gap:8px}
.btn-group>.btn{border-radius:99px!important;margin:0!important;font-size:14px!important;padding:9px 18px}
.btn-group>.btn.active,.btn-group>.btn:active{background:rgba(139,108,255,.3)!important;border-color:var(--violet)!important;box-shadow:none}

/* ---------- Formulare (Info-Agent, Login, Buchung) ---------- */
label,.control-label,.form-label{display:block;font-size:13px;font-weight:400!important;color:var(--mist)!important;margin-bottom:8px}
.form-group,.mb-3{margin-bottom:18px}
.form-control,input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=number],input[type=date],input[type=search],select,textarea{
  width:100%; min-height:48px; padding:12px 16px!important;
  border-radius:14px!important; border:1px solid var(--line)!important;
  background:rgba(10,13,38,.6)!important; color:var(--text)!important;
  font:400 15px var(--body)!important; box-shadow:none!important;
  transition:border-color .2s,box-shadow .2s;
}
textarea{min-height:120px;resize:vertical}
.form-control::placeholder,input::placeholder,textarea::placeholder{color:rgba(170,176,214,.55)}
.form-control:focus,input:focus,select:focus,textarea:focus{
  outline:none; border-color:var(--violet)!important;
  box-shadow:0 0 0 3px rgba(139,108,255,.25),0 0 24px rgba(139,108,255,.25)!important;
}
select{
  -webkit-appearance:none; appearance:none; padding-right:42px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffd9a0' stroke-width='1.6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important; background-position:right 16px center!important;
}
select option{background:var(--deep);color:var(--text)}
input[type=checkbox],input[type=radio]{accent-color:var(--violet);width:18px;height:18px;margin-right:8px;vertical-align:-3px}
.checkbox label,.form-check-label{display:inline;color:var(--mist)!important;font-size:14px;line-height:1.55}
.has-error .form-control,.is-invalid{border-color:var(--err)!important}
.has-success .form-control,.is-valid{border-color:var(--ok)!important}
.help-block,.invalid-feedback{font-size:12.5px}

/* ---------- Meldungen ---------- */
.alert{
  border-radius:16px!important; padding:14px 18px; margin-bottom:18px;
  border:1px solid var(--line)!important; background:var(--glass)!important; color:var(--text)!important;
}
.alert-success{border-color:rgba(123,224,176,.45)!important;background:rgba(123,224,176,.1)!important}
.alert-danger,.alert-error{border-color:rgba(255,138,138,.45)!important;background:rgba(255,138,138,.1)!important}
.alert-warning{border-color:rgba(255,217,160,.45)!important;background:rgba(255,217,160,.1)!important}
.alert-info{border-color:var(--violet)!important;background:rgba(139,108,255,.12)!important}

/* ---------- Kleinkram ---------- */
.pagination>li>a,.pagination>li>span,.page-link{
  background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;
  border-radius:99px!important;margin:0 3px;
}
.pagination>.active>a,.page-item.active .page-link{background:rgba(139,108,255,.3)!important;border-color:var(--violet)!important}
.tooltip-inner{background:var(--deep);border:1px solid var(--line);color:var(--text)}
.fa,.glyphicon,[class^="icon-"]{color:var(--gold)}
::-webkit-scrollbar{height:8px;width:8px}
::-webkit-scrollbar-thumb{background:rgba(139,108,255,.35);border-radius:99px}
::-webkit-scrollbar-track{background:transparent}

/* ---------- Mobil: Tabelle als gestapelte Karten ---------- */
@media (max-width:700px){
  table thead{display:none}
  table,table tbody,table tr,table td{display:block;width:100%}
  table tr{margin-bottom:12px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--glass)}
  table td,table tr td:first-child,table tr td:last-child{
    border:0!important;border-radius:0!important;background:transparent!important;
    padding:8px 16px!important;text-align:left
  }
  table td:first-child{padding-top:16px!important}
  table td:last-child{padding-bottom:16px!important}
  table td:empty{display:none}
  table td .btn{width:100%}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ==========================================================================
   Anpassungen 23.10.2026
   ========================================================================== */

/* 1 · Filterleiste ausblenden – sortierbare Spaltenköpfe bleiben */
.dataTable thead tr.filter,
.mobile-filter,
.dataTables_wrapper > .row:first-child,
.dataTables_info,
.dt-buttons{display:none!important}

/* 2 · Abstand zwischen den Kurstermin-Blöcken */
table.dataTable{border-collapse:separate!important;border-spacing:0 14px!important;margin-top:-14px!important}

/* 3 · Hintergrund der Kurstermin-Blöcke (überdeckt Bootstraps Hellgrau) */
table.dataTable tbody tr,
.table-striped>tbody>tr:nth-of-type(odd),
.table-striped>tbody>tr:nth-of-type(even){background:transparent!important}
/* :not(#_) hebt die Spezifität an, damit kutegos „.dataTable .details{transparent!important}“
   und die Striped-Regeln für ungerade Zeilen nicht mehr gewinnen */
table.dataTable>tbody>tr>td:not(#_){background:#090C23!important}

/* Hover: EIN durchgehender Verlauf über die ganze Zeile statt je Zelle.
   background-attachment:fixed bezieht den Verlauf auf das iFrame-Fenster,
   sodass alle Zellen einer Zeile denselben Ausschnitt zeigen. */
table.dataTable>tbody>tr:hover>td:not(#_){
  background:linear-gradient(90deg,rgba(139,108,255,.30) 0%,rgba(91,63,214,.14) 45%,#090C23 85%) fixed,#090C23!important;
  border-color:var(--violet)!important;
}

/* ==========================================================================
   CHECKOUT (Schritt 1–4: Rechnungsdaten · Teilnehmer · Zahlung · Bestätigen)
   ========================================================================== */

/* ---------- Seitenrahmen: Kopf- und Fußleiste dunkel statt Blau/Weiß ---------- */
body,.main{background:var(--void)!important}
.pre-header{background:#05061a!important;border-bottom:1px solid var(--line)!important;color:var(--mist)!important}
.pre-header a,.pre-header i{color:var(--mist)!important}
.pre-header a:hover,.pre-header a:hover i{color:var(--gold)!important}
.header{background:rgba(3,4,11,.85)!important;border-bottom:1px solid var(--line)!important;box-shadow:none!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.header a,.header .mobi-toggler,.header .fa{color:var(--text)!important}
.header .mobi-toggler{background:transparent!important;border:1px solid var(--line)!important;border-radius:50%!important}
.footer{background:#05061a!important;border-top:1px solid var(--line)!important;color:var(--mist)!important}
.footer a{color:var(--mist)!important;text-decoration:none!important}
.footer a:hover{color:var(--gold)!important}
.footer .btn,.footer a.btn{color:var(--text)!important;padding:6px 14px!important;font-size:13px!important}
.scroll-to-top,.go2top{color:var(--gold)!important}

/* ---------- Schritt-Anzeige ---------- */
.form-body ul.steps{
  display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px;
  background:transparent!important;border:0!important;margin:6px 0 14px!important;padding:0!important;
}
.form-body ul.steps::before,.form-body ul.steps::after{display:none!important}
.form-body ul.steps>li{display:block!important;width:auto!important;float:none!important;margin:0!important;min-width:0}
.form-body ul.steps>li>a.step{
  display:flex!important;flex-direction:column;align-items:center;gap:8px;height:100%;
  padding:14px 8px!important;border-radius:16px!important;
  background:rgba(16,19,48,.45)!important;border:1px solid var(--line)!important;
  text-align:center;cursor:default;box-shadow:none!important;
}
.form-body ul.steps>li>a.step .number{
  display:grid!important;place-items:center;width:34px;height:34px;margin:0!important;padding:0!important;
  border-radius:50%!important;float:none!important;
  background:transparent!important;border:1px solid var(--line)!important;
  color:var(--mist)!important;font:400 14px var(--head)!important;line-height:1!important;
}
.form-body ul.steps>li>a.step .desc{
  display:block!important;margin:0!important;padding:0!important;float:none!important;
  color:var(--mist)!important;font:400 13px/1.3 var(--body)!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;
}
.form-body ul.steps>li>a.step .desc i{display:none!important}
/* aktueller Schritt */
.form-body ul.steps>li.active>a.step{background:linear-gradient(135deg,rgba(139,108,255,.32),rgba(16,19,48,.6))!important;border-color:var(--violet)!important}
.form-body ul.steps>li.active>a.step .number{background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 0 18px rgba(139,108,255,.55)}
.form-body ul.steps>li.active>a.step .desc{color:var(--text)!important}
/* erledigte Schritte */
.form-body ul.steps>li.done>a.step .number{background:rgba(255,217,160,.12)!important;border-color:rgba(255,217,160,.45)!important;color:var(--gold)!important}
.form-body ul.steps>li.done>a.step .desc{color:var(--text)!important}
@media(max-width:600px){
  .form-body ul.steps>li>a.step{padding:10px 4px!important}
  .form-body ul.steps>li>a.step .desc{font-size:11px!important;white-space:normal}
}

/* ---------- Fortschrittsbalken ---------- */
.form-body .progress{height:6px!important;margin:0 0 26px!important;border-radius:99px!important;
  background:rgba(160,150,255,.12)!important;box-shadow:none!important;overflow:hidden}
.form-body .progress .progress-bar{
  background:linear-gradient(90deg,var(--violet2),var(--violet),var(--gold))!important;
  background-size:100% 100%!important;box-shadow:0 0 14px rgba(139,108,255,.6)!important;border-radius:99px;
}

/* ---------- Abstände im Formular ---------- */
.form-horizontal .control-label{text-align:left!important;padding-top:0!important;float:none!important;width:auto!important}
.form-body .row .row{display:flex;flex-wrap:wrap;margin-inline:-6px!important}
.form-body .row .row>[class*=col-]{padding-inline:6px!important;float:none}
.form-body .form-group{margin-inline:0!important}
/* Spalte direkt in Spalte (ohne .row) = doppelter Innenabstand → linke Spalte bündig zur Überschrift */
.form-body [class*=col-]>[class*=col-]{padding-left:0!important;padding-right:0!important}
.custom_fields>[class*=col-],.custom_fields .form-group{padding-inline:0!important;margin-inline:0!important}
.form-body h3{margin:4px 0 18px!important;padding-left:0!important}
.form-body h3.padding-top-25{padding-top:22px!important}
/* Geburtsdatum: Tag · Monat · Jahr mit Lücke */
.combodate{display:flex!important;gap:8px}
.combodate select{flex:1 1 0;width:auto!important;min-width:0;margin:0!important}
.require,.required{color:var(--gold)!important}

/* ---------- Dropdowns: bootstrap-select (Anrede, Titel, Quelle …) ---------- */
.bootstrap-select.form-control{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;min-height:0!important;height:auto!important}
.bootstrap-select>.btn.dropdown-toggle,.bootstrap-select>.btn.dropdown-toggle:not(#_){
  width:100%;min-height:48px;padding:12px 42px 12px 16px!important;text-align:left;
  border-radius:14px!important;border:1px solid var(--line)!important;
  background:rgba(10,13,38,.6)!important;color:var(--text)!important;
  font:400 15px var(--body)!important;box-shadow:none!important;
}
.bootstrap-select>.btn.dropdown-toggle:not(#_):hover,.bootstrap-select.open>.btn.dropdown-toggle:not(#_),
.bootstrap-select>.btn.dropdown-toggle:not(#_):focus,.bootstrap-select>.btn.dropdown-toggle:not(#_):active{
  border-color:var(--violet)!important;background:rgba(10,13,38,.6)!important;color:var(--text)!important;
  box-shadow:0 0 0 3px rgba(139,108,255,.25)!important;outline:none!important}
/* Theme-Overlay (hellgraues ::before) beim Klick auf Buttons/Dropdowns entfernen */
.btn:not(#_)::before{display:none!important}
.bootstrap-select .caret::before,.bootstrap-select .caret::after{display:none!important}
.bootstrap-select .filter-option{color:var(--text)!important}
.bootstrap-select .caret{border:0!important;width:12px;height:8px;right:16px!important;margin-top:-4px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffd9a0' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center}
.bootstrap-select .dropdown-menu{background:#0b0e2a!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:6px!important;margin-top:6px!important;box-shadow:0 20px 40px rgba(0,0,0,.5)!important}
.bootstrap-select .dropdown-menu.inner{background:transparent!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}
.bootstrap-select .dropdown-menu li a{color:var(--text)!important;border-radius:10px;padding:9px 12px!important;background:transparent!important}
.bootstrap-select .dropdown-menu li a:hover,.bootstrap-select .dropdown-menu li.active a,.bootstrap-select .dropdown-menu li.selected a{background:rgba(139,108,255,.25)!important}
.bootstrap-select .check-mark{color:var(--gold)!important}
.bootstrap-select .bs-searchbox input{min-height:40px}

/* ---------- Dropdown mit Suche: select2 (Land) ---------- */
.select2-container.form-control{padding:0!important;border:0!important;background:none!important;box-shadow:none!important;height:auto!important;min-height:0!important}
.select2-container .select2-choice{
  display:flex!important;align-items:center;height:48px!important;padding:0 42px 0 16px!important;line-height:1!important;
  border-radius:14px!important;border:1px solid var(--line)!important;
  background:rgba(10,13,38,.6)!important;background-image:none!important;
  color:var(--text)!important;font:400 15px var(--body)!important;box-shadow:none!important;
}
.select2-container .select2-chosen{color:var(--text)!important;margin:0!important;display:flex!important;align-items:center;gap:8px}
.select2-container .select2-chosen img.flag{margin:0!important;border-radius:2px}
.select2-container .select2-arrow{background:none!important;border:0!important;width:42px!important;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffd9a0' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat center!important}
.select2-container .select2-arrow b{display:none!important}
.select2-container-active .select2-choice,.select2-dropdown-open .select2-choice{border-color:var(--violet)!important;box-shadow:0 0 0 3px rgba(139,108,255,.25)!important}
.select2-drop,.select2-drop-active{background:#0b0e2a!important;border:1px solid var(--violet)!important;border-radius:14px!important;color:var(--text)!important;margin-top:6px;box-shadow:0 20px 40px rgba(0,0,0,.5)!important;padding:6px}
.select2-drop-above{margin-top:0;margin-bottom:6px}
.select2-search input{min-height:40px!important;background-image:none!important}
.select2-results{padding:0!important;margin:6px 0 0!important}
.select2-results li{color:var(--text)!important;border-radius:10px}
.select2-results .select2-highlighted{background:rgba(139,108,255,.3)!important;color:#fff!important}
.select2-results .select2-no-results,.select2-results .select2-searching{background:transparent!important;color:var(--mist)!important}

/* ---------- Checkboxen & Radios (Uniform-Plugin) ---------- */
div.checker,div.radio{display:inline-block;vertical-align:-4px;margin-right:8px!important;width:20px!important;height:20px!important}
div.checker span,div.radio span{display:block;width:20px!important;height:20px!important;background:none!important;
  border:1px solid var(--line);border-radius:6px;background-color:rgba(10,13,38,.6)!important;position:relative}
div.radio span{border-radius:50%}
div.checker span.checked{background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent}
div.checker span.checked::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
div.radio span.checked{border-color:var(--violet)}
div.radio span.checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--violet)}
div.checker input,div.radio input{opacity:0!important;width:20px!important;height:20px!important;margin:0!important;cursor:pointer}
div.checker.focus span,div.radio.focus span{box-shadow:0 0 0 3px rgba(139,108,255,.3)}

/* ---------- Aktionsleiste: Abbrechen / Zurück / Weiter ---------- */
.btn:not(#_){border-radius:99px!important}
.btn.default:not(#_),a.btn.default:not(#_),.button-previous:not(#_){
  background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:12px 24px!important}
.btn.default:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.45)}
.btn-primary:not(#_),.button-next:not(#_),.button-submit:not(#_){
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important;padding:12px 28px!important}
.ladda-button .ladda-spinner div{background:#fff!important}

/* ---------- Typische Elemente der Folgeschritte (Teilnehmer, Zahlung, Bestätigen) ---------- */
.form-body .table>thead>tr>th{color:var(--gold)!important}
.form-body .well,.form-body .note,.form-body .portlet,.form-body .panel{background:var(--glass)!important;border:1px solid var(--line)!important;border-radius:18px!important;color:var(--text)!important}
.note{border-left-width:3px!important;border-left-color:var(--violet)!important;padding:14px 18px!important}
.form-control-static{color:var(--text)!important;padding-top:0!important}
.form-body .help-block{color:var(--mist)!important}
.has-error .help-block,.has-error .control-label,.help-block-error{color:var(--err)!important}
.cc-window{font-family:var(--body)!important;border-radius:18px!important;background:#0b0e2a!important;border:1px solid var(--line)}

/* ---------- Schritt 2: Teilnehmer-Karten ---------- */
/* Karte: dunkel, ein Rahmen, keine hellen Theme-Flächen */
.student-row.portlet:not(#_){
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;
  overflow:hidden;padding:0!important;margin-bottom:16px!important;box-shadow:none!important;outline:none!important;
  transition:border-color .25s,box-shadow .25s;
}
.student-row>.portlet-title:not(#_),.student-row>.portlet-body:not(#_){
  background:transparent!important;border:0!important;color:var(--text)!important;margin:0!important;
}
.student-row>.portlet-title:not(#_){padding:6px 10px!important;min-height:0!important;cursor:pointer;transition:background .25s}
.student-row>.portlet-body:not(#_){border-top:1px solid var(--line)!important;padding:16px 20px 8px!important}
.student-row>.portlet-body [class*=col-]:not(#_){padding:0!important}
.student-row>.portlet-body .row:not(#_){margin:0!important}
.student-row>.portlet-body .form-group:not(#_){margin-bottom:8px!important}

/* Innere Tabelle: KEINE Zeilen-Glasstreifen/Zell-Verläufe (die erzeugten den Hover-Bruch) */
.student-row table:not(#_){width:100%;border-spacing:0!important;margin:0!important;background:transparent!important}
.student-row table td:not(#_),.student-row table tr:hover td:not(#_){
  background:transparent!important;border:0!important;border-radius:0!important;padding:12px 10px!important;color:var(--text)!important}
.student-row .student-checkbox em{color:var(--mist)!important;font-size:18px}
.student-row .student-checkbox em.fa-check{color:var(--ok)!important}
.student-row .fa-male,.student-row .fa-female,.student-row .fa-child{color:var(--gold)!important}
.student-row .font-size-16{font:400 16px var(--head)!important;color:var(--text)!important;padding:0!important}
.student-row .student-original-price{color:var(--mist)!important;opacity:.7;margin-right:6px}
.student-row .student-final-price{font:400 16px var(--head)!important;color:var(--text)!important;padding:0!important}
.student-row .student-discount-label{display:block;color:var(--gold)!important;font-size:12px;margin-top:2px}

/* Hover: ein Verlauf über die ganze Kopfzeile der Karte */
.student-row>.portlet-title:not(#_):hover{background:linear-gradient(90deg,rgba(139,108,255,.28),rgba(91,63,214,.10) 55%,transparent)!important}
.student-row.portlet:not(#_):hover{border-color:var(--violet)!important}
/* ausgewählter Teilnehmer */
.student-row.portlet:not(#_):has(.fa-check){border-color:var(--violet)!important;box-shadow:0 0 24px rgba(139,108,255,.25)!important}

/* Zusatzfelder (z. B. Bild-/Tonfreigabe) */
.student-row .portlet-body .control-label{color:var(--mist)!important;width:100%!important;float:none!important;margin-bottom:10px}
.student-row .portlet-body .col-md-8,.student-row .portlet-body .col-md-4{width:100%!important;float:none!important;padding:0!important}
.student-row .student_custom_fields{width:100%!important}
label.radio-button{display:flex!important;align-items:center;gap:10px;color:var(--text)!important;font-size:14.5px;line-height:1.5;
  padding:10px 14px!important;margin:0 0 8px!important;border:1px solid var(--line);border-radius:12px;background:rgba(16,19,48,.45);cursor:pointer;transition:border-color .2s,background .2s}
label.radio-button:hover{border-color:var(--violet);background:rgba(139,108,255,.12)}
label.radio-button:has(input:checked){border-color:var(--violet);background:rgba(139,108,255,.18)}
label.radio-button input[type=radio]{flex:none;margin:0!important;accent-color:var(--violet)}

/* ---------- Schritt 2: Formular „Teilnehmer hinzufügen“ (Karte „Neuer Teilnehmer“) ---------- */
.form-body .portlet.box.default:not(.student-row):not(#_){
  background:#090C23!important;border:1px solid var(--violet)!important;border-radius:18px!important;
  overflow:hidden;padding:0!important;margin-bottom:16px!important;box-shadow:0 0 24px rgba(139,108,255,.18)!important}
.form-body .portlet.box.default:not(.student-row)>.portlet-title:not(#_),
.form-body .portlet.box.default:not(.student-row)>.portlet-body:not(#_){background:transparent!important;border:0!important;margin:0!important;color:var(--text)!important}
.form-body .portlet.box.default:not(.student-row)>.portlet-title:not(#_){padding:6px 10px!important;min-height:0!important;
  background:linear-gradient(90deg,rgba(139,108,255,.22),transparent 70%)!important}
.form-body .portlet.box.default:not(.student-row)>.portlet-body:not(#_){border-top:1px solid var(--line)!important;padding:20px!important}
.portlet-title.new-student table:not(#_){width:100%;border-spacing:0!important;margin:0!important;background:transparent!important}
.portlet-title.new-student td:not(#_),.portlet-title.new-student tr:hover td:not(#_){
  background:transparent!important;border:0!important;border-radius:0!important;padding:10px!important;color:var(--text)!important;text-align:left}
.portlet-title.new-student td:first-child{font:400 16px var(--head)!important}
.portlet-title.new-student td:last-child{text-align:right!important;width:1%;white-space:nowrap}
.new-student-price-cell{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin-left:12px;font-family:var(--body)}
.new-student-original-price{color:var(--mist)!important;opacity:.7;font-size:13px}
.new-student-final-price{color:var(--text)!important;font:400 15px var(--head)!important}
.new-student-discount-label{color:var(--gold)!important;font-size:12px}
/* „Teilnehmer entfernen“: dezenter Outline-Button, rot erst beim Hover */
.btn.red.studentRemove:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--mist)!important;
  padding:8px 16px!important;font-size:13.5px!important}
.btn.red.studentRemove:not(#_):hover{border-color:var(--err)!important;color:var(--err)!important;box-shadow:0 0 24px rgba(255,138,138,.25)!important}
.btn.red.studentRemove i{color:inherit!important;margin-right:4px}
/* Felder untereinander: Label über dem Feld, volle Spaltenbreite */
.form-body .portlet .form-group>.control-label[class*=col-]:not(#_),
.form-body .portlet .form-group>[class*=col-]:not(#_){width:100%!important;float:none!important;padding:0!important}
.form-body .portlet .form-group>.control-label:not(#_){margin-bottom:8px!important;white-space:normal!important}
.form-body .portlet .portlet-body .row:not(#_){margin-inline:-10px!important}
.form-body .portlet .portlet-body .row>.col-md-6:not(#_){padding-inline:10px!important}
.form-body .portlet .portlet-body .col-md-12.padding-left-30:not(#_){padding:0!important}
.form-body .portlet .portlet-body hr{display:none}
/* Uniform-Radio im Optionsfeld neben dem Text ausrichten */
label.radio-button div.radio{flex:none;margin:0!important}
label.radio-button .label-text{color:var(--text)!important}
/* „Teilnehmer hinzufügen“ */
.btn.green:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important}
.btn.green:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.45)!important}
.btn.green i{color:var(--gold)!important}
/* Geburtsdatum über die volle Breite, Freigabe-Optionen über die volle Kartenbreite */
.form-body .date.date-picker{width:100%;display:block}
.combodate{width:100%}
.form-body .portlet .custom_fields>.col-md-6:not(#_){width:100%!important;float:none!important}
/* Uniform-Radio im Optionsfeld */
label.radio-button div.radio:not(#_){padding:0!important;min-height:0!important;margin:0!important;display:block!important;align-self:center}
label.radio-button div.radio span{top:0!important;left:0!important;margin:0!important}
label.radio-button div.radio span.checked{border-color:var(--violet)!important}
label.radio-button div.radio span.checked::after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--violet)}
label.radio-button .label-text,label.radio-button>span:not(.checked){display:block;margin:0!important;padding:0!important;line-height:1.45}

/* ==========================================================================
   POP-UPS (SweetAlert2): Termindetails, „Teilnehmer entfernen“, Hinweis U16,
   Rechtstexte – alle Dialoge des Buchungssystems
   ========================================================================== */
.swal2-container.swal2-shown{background:rgba(3,4,11,.72)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.swal2-popup:not(#_){
  background:#090C23!important;color:var(--text)!important;
  border:1px solid var(--line)!important;border-radius:22px!important;
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(139,108,255,.18)!important;
  padding:clamp(20px,4vw,32px)!important;font-family:var(--body)!important;
}
.swal2-popup .swal2-title{color:var(--text)!important;font:300 clamp(20px,3vw,26px)/1.25 var(--head)!important}
.swal2-popup .swal2-content,.swal2-popup .swal2-html-container{color:var(--mist)!important;font:400 15px/1.6 var(--body)!important}
.swal2-popup .swal2-content p,.swal2-popup .swal2-content li{color:var(--mist)!important;max-width:none}
.swal2-popup .swal2-content strong,.swal2-popup .swal2-content b{color:var(--text)!important;font-weight:500}
.swal2-popup .swal2-content h1,.swal2-popup .swal2-content h2,.swal2-popup .swal2-content h3,
.swal2-popup .swal2-content h4,.swal2-popup .swal2-content .ajax-title{color:var(--text)!important;font:300 18px/1.3 var(--head)!important;margin:0 0 16px!important}
.swal2-popup .swal2-content .ajax-title strong{font-weight:300!important}
.swal2-popup .swal2-content a{color:var(--gold)!important}
.swal2-popup .swal2-content .control-label,.swal2-popup .swal2-content .control-label strong{color:var(--mist)!important;font-weight:400!important;text-align:left!important}
.swal2-popup .swal2-content .row{margin-bottom:4px}
.swal2-popup .swal2-close{color:var(--mist)!important;font-weight:300;transition:color .2s}
.swal2-popup .swal2-close:hover{color:var(--gold)!important}
/* Tabellen im Dialog (z. B. Einzeltermine) */
.swal2-popup table:not(#_){border-spacing:0 8px!important;margin-top:8px!important}
.swal2-popup table td:not(#_),.swal2-popup table tr:hover td:not(#_){background:rgba(16,19,48,.7)!important;color:var(--text)!important;padding:12px 14px!important}
.swal2-popup table th:not(#_){color:var(--gold)!important;font:400 12px var(--head)!important}
.swal2-popup hr{margin:20px 0!important}
/* Icons */
.swal2-icon{border-color:var(--line)!important}
.swal2-icon.swal2-warning{border-color:rgba(255,217,160,.5)!important;color:var(--gold)!important}
.swal2-icon.swal2-question,.swal2-icon.swal2-info{border-color:rgba(139,108,255,.6)!important;color:var(--violet)!important}
.swal2-icon.swal2-error{border-color:rgba(255,138,138,.5)!important}
.swal2-icon.swal2-error [class^=swal2-x-mark-line]{background:var(--err)!important}
.swal2-icon.swal2-success{border-color:rgba(123,224,176,.5)!important}
.swal2-icon.swal2-success [class^=swal2-success-line]{background:var(--ok)!important}
.swal2-icon.swal2-success .swal2-success-ring{border-color:rgba(123,224,176,.3)!important}
.swal2-icon.swal2-success [class^=swal2-success-circular-line],.swal2-icon.swal2-success .swal2-success-fix{background:#090C23!important}
/* Buttons */
.swal2-actions{gap:10px;margin-top:22px!important}
.swal2-styled:not(#_){border-radius:99px!important;padding:12px 26px!important;margin:0!important;font:500 15px var(--body)!important;box-shadow:none!important;transition:box-shadow .3s,border-color .3s}
.swal2-styled.swal2-confirm:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border:1px solid transparent!important;color:#fff!important}
.swal2-styled.swal2-confirm:not(#_):hover{box-shadow:0 0 32px rgba(139,108,255,.6)!important}
.swal2-styled.swal2-cancel:not(#_),.swal2-styled.swal2-deny:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important}
.swal2-styled.swal2-cancel:not(#_):hover,.swal2-styled.swal2-deny:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.45)!important}
.swal2-styled:focus{box-shadow:0 0 0 3px rgba(255,217,160,.45)!important}
.swal2-popup .swal2-validation-message{background:rgba(255,138,138,.1)!important;color:var(--err)!important;border-radius:12px}
.swal2-popup .swal2-footer{border-top:1px solid var(--line)!important;color:var(--mist)!important}
.swal2-popup .swal2-input,.swal2-popup .swal2-textarea,.swal2-popup .swal2-select{background:rgba(10,13,38,.6)!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:14px!important;box-shadow:none!important}
/* Lange Rechtstexte scrollen im Dialog */
.swal2-popup .swal2-content{max-height:70vh;overflow-y:auto;overflow-x:hidden;text-align:left}
.swal2-popup .swal2-content .row{margin-inline:0!important}

/* ---------- Schritt 3: Zahlungsmethoden als dunkle Auswahl-Kacheln ---------- */
.paymentMethodRow:not(#_){
  background:#090C23!important;color:var(--text)!important;
  border:1px solid var(--line)!important;border-radius:16px!important;
  margin:0 0 10px!important;padding:10px 16px!important;cursor:pointer;
  transition:border-color .25s,box-shadow .25s,background .25s;
}
.paymentMethodRow:not(#_):hover{border-color:var(--violet)!important;
  background:linear-gradient(90deg,rgba(139,108,255,.22),#090C23 70%)!important}
.paymentMethodRow.selected:not(#_){border-color:var(--violet)!important;
  background:linear-gradient(90deg,rgba(139,108,255,.30),rgba(91,63,214,.12) 50%,#090C23)!important;
  box-shadow:0 0 24px rgba(139,108,255,.25)!important}
.paymentMethodRow .nameRow:not(#_){display:flex!important;align-items:center;gap:18px;width:100%}
.paymentMethodRow .nameRow>.methodIcon:not(#_),.paymentMethodRow .nameRow>.methodName:not(#_){display:block!important}
/* Logos sind für helle Flächen gemacht → kleiner heller Chip */
.paymentMethodRow .methodIcon{flex:none;background:#fff;border-radius:10px;padding:4px 8px;line-height:0}
.paymentMethodRow .methodName{color:var(--text)!important;font:400 15px var(--head)!important}
.paymentMethodRow.selected .methodName{color:#fff!important}
.paymentMethodRow .paymentMethodDetails{margin-left:auto;color:var(--mist)!important}
.paymentMethodRow .fa-check{color:var(--gold)!important}
.paymentMethodRow div.radio{display:none!important}
/* Zusatzfelder einer Zahlungsart (z. B. IBAN bei Lastschrift) */
.paymentMethodRow .paymentMethodDetails input,.paymentMethodRow .form-control{margin-top:8px}

/* ---------- Schritt 4: Zusammenfassung ---------- */
.checkout-box:not(#_){
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;
  overflow:hidden;padding:0!important;margin-bottom:16px!important;box-shadow:none!important}
.checkout-box-wrapper{display:flex;flex-wrap:wrap;gap:16px;margin-inline:0!important}
.checkout-box-wrapper>.checkout-box:not(#_){flex:1 1 300px;width:auto!important;float:none!important;margin-bottom:0!important}
.checkout-box-wrapper>.spacer{display:none}
.checkout-box-wrapper+*,.checkout-box-wrapper{margin-bottom:16px!important}
.checkout-box>.row{margin:0!important}
.checkout-box .box-header:not(#_){padding:0!important;border-bottom:1px solid var(--line)!important;
  background:linear-gradient(90deg,rgba(139,108,255,.20),transparent 70%)!important}
.checkout-box .box-header h3:not(#_){
  background:transparent!important;border:0!important;margin:0!important;padding:14px 20px!important;
  color:var(--gold)!important;font:400 12px/1.4 var(--head)!important;letter-spacing:.16em;text-transform:uppercase}
.checkout-box .box-content:not(#_){padding:14px 16px 6px!important;background:transparent!important}
.checkout-box .table:not(#_){border-spacing:0 8px!important;margin:0!important}
.checkout-box .table td:not(#_),.checkout-box .table tr:hover td:not(#_){background:rgba(16,19,48,.6)!important}
.checkout-box .table tr[style*=border],.checkout-box .table td[style*=border]{border-color:var(--line)!important}
.checkout-box hr{border:0!important;height:1px;background:var(--line)!important;opacity:1;margin:6px 0!important}
.checkout-box .table td.payment_logo img{background:#fff;border-radius:10px;padding:4px 8px}
/* Gutschein: Eingabe + Prüfen-Button mit Abstand */
.checkout-box .input-group{display:flex!important;gap:8px;max-width:420px}
.checkout-box .input-group>.form-control,.checkout-box .input-group .btn{border-radius:99px!important;width:auto;flex:1 1 auto}
.checkout-box .input-group .input-group-btn{width:auto;display:block}
.checkout-box .input-group .btn{height:48px}
/* Trennlinien über Zwischensumme / Gesamt */
.checkout-box table.bordered:not(#_){border-top:1px solid var(--line)!important;margin-top:6px!important;padding-top:4px}
.checkout-box table.amount:last-of-type td:last-child b,.checkout-box table.amount strong{color:var(--gold)!important;font-family:var(--head)}

/* ==========================================================================
   Feinschliff 23.10.2026 (2)
   ========================================================================== */
/* Kursliste: Abstand zwischen rabattiertem Preis (rot) und Streichpreis */
[id^="d_price_"]>small.text-line-through:not(#_){margin-left:8px;display:inline-block}

/* Dropdowns (bootstrap-select): Text exakt wie in normalen Feldern einrücken
   (Plugin positioniert den Text absolut mit 12px → wirkte bei „Quelle“ verrutscht) */
.bootstrap-select>.btn.dropdown-toggle:not(#_){height:48px!important;display:flex!important;align-items:center}
.bootstrap-select>.btn .filter-option:not(#_){position:static!important;left:auto!important;top:auto!important;width:auto!important;
  float:none!important;display:block;flex:1;min-width:0;height:auto!important;line-height:1.4!important;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.bootstrap-select>.btn .caret:not(#_){position:absolute!important;top:50%!important}

/* ==========================================================================
   KUNDENKONTO (/account/, /messages/, /account/settings/)
   ========================================================================== */

/* ---------- Seitenleiste ---------- */
.ver-inline-menu:not(#_){list-style:none;padding:8px!important;margin:0 0 20px!important;
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important}
.ver-inline-menu>li:not(#_){position:relative;margin:0 0 4px!important;border:0!important;background:transparent!important}
.ver-inline-menu>li:last-child{margin-bottom:0!important}
.ver-inline-menu>li>a:not(#_){
  display:flex!important;align-items:center;gap:12px;min-height:44px;padding:8px 12px!important;
  border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;
  color:var(--mist)!important;font:400 14.5px var(--body)!important;text-decoration:none!important;
  transition:background .2s,border-color .2s,color .2s}
.ver-inline-menu>li>a>i:not(#_){
  flex:none;display:grid!important;place-items:center;width:30px!important;height:30px!important;padding:0!important;
  border-radius:9px;background:rgba(160,150,255,.10)!important;color:var(--mist)!important;font-size:14px;line-height:1!important;
  margin:0!important;position:static!important;transition:background .2s,color .2s}
.ver-inline-menu>li>a:not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;color:var(--text)!important}
.ver-inline-menu>li>a:not(#_):hover>i{color:var(--gold)!important}
.ver-inline-menu>li.active>a:not(#_),.ver-inline-menu>li.active>a:not(#_):hover{
  background:linear-gradient(135deg,rgba(139,108,255,.35),rgba(91,63,214,.18))!important;border-color:var(--violet)!important;color:#fff!important}
.ver-inline-menu>li.active>a>i:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;box-shadow:0 0 14px rgba(139,108,255,.5)}
.ver-inline-menu>li .after{display:none!important}
/* Zähler (ungelesene Nachrichten etc.): rechts, vertikal mittig */
.ver-inline-menu>li>a>.badge:not(#_){
  position:static!important;margin-left:auto!important;float:none!important;top:auto!important;right:auto!important;
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px!important;border-radius:99px!important;
  font:500 12px/1 var(--body)!important;border:0!important}
.ver-inline-menu>li>a>.badge-danger:not(#_){background:var(--err)!important;color:#1a0710!important}
.ver-inline-menu>li>a>.badge-warning:not(#_){background:var(--gold)!important;color:#1a1206!important}
@media(min-width:992px){.profile-account>[class*=col-md-2]{padding-right:20px!important}}

/* ---------- Übersicht: Kennzahl-Kacheln ---------- */
.dashboard-stat:not(#_){position:relative;overflow:hidden;border-radius:18px!important;margin-bottom:16px!important;
  background:#090C23!important;border:1px solid var(--line)!important;color:var(--text)!important;transition:border-color .25s,box-shadow .25s}
.dashboard-stat:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 28px rgba(139,108,255,.25)}
.dashboard-stat.green:not(#_){background:linear-gradient(150deg,rgba(255,217,160,.14),#090C23 60%)!important}
.dashboard-stat.blue:not(#_),.dashboard-stat.purple:not(#_){background:linear-gradient(150deg,rgba(139,108,255,.32),#090C23 65%)!important}
.dashboard-stat.red:not(#_),.dashboard-stat.yellow:not(#_){background:linear-gradient(150deg,rgba(255,217,160,.18),#090C23 60%)!important}
.dashboard-stat .visual>i{color:rgba(160,150,255,.16)!important;opacity:1!important}
.dashboard-stat .details .number{font:300 34px var(--head)!important;color:var(--text)!important}
.dashboard-stat .details .desc{color:var(--mist)!important;font:400 14px var(--body)!important;opacity:1!important}
.dashboard-stat .more:not(#_){background:rgba(160,150,255,.08)!important;border-top:1px solid var(--line);color:var(--gold)!important;
  font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;opacity:1!important}
.dashboard-stat .more:not(#_):hover{background:rgba(139,108,255,.18)!important}
.dashboard-stat .more i{color:var(--gold)!important}

/* ---------- Hinweis-Boxen (z. B. „Aktuell keine Dokumente“) ---------- */
.note:not(#_),.note.note-info:not(#_),.note.note-success:not(#_),.note.note-warning:not(#_),.note.note-danger:not(#_){
  background:var(--glass)!important;border:1px solid var(--line)!important;border-left:3px solid var(--violet)!important;
  border-radius:14px!important;color:var(--text)!important;padding:14px 18px!important}
.note.note-warning:not(#_){border-left-color:var(--gold)!important}
.note.note-danger:not(#_){border-left-color:var(--err)!important}
.note.note-success:not(#_){border-left-color:var(--ok)!important}
.note p,.note h4{color:inherit!important}

/* ---------- Rechnungen: Liste ---------- */
.account-block:not(#_){
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;
  padding:18px 6px!important;margin:0 15px 12px!important;width:auto!important;float:none!important;color:var(--text)!important;transition:border-color .25s}
.account-block:not(#_):hover{border-color:var(--violet)!important;background:linear-gradient(90deg,rgba(139,108,255,.14),#090C23 60%)!important}
.account-block h4:not(#_){font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important;margin:0 0 8px!important}
.account-block>[class*=col-]>div{color:var(--text)}
.account-block .margin-bottom-15+div{color:var(--mist)!important;font-size:13px}
.account-block .label:not(#_){display:inline-block;border-radius:99px!important;padding:4px 11px!important;font:400 12px var(--body)!important}
.label-success:not(#_){background:rgba(123,224,176,.14)!important;color:var(--ok)!important;border:1px solid rgba(123,224,176,.45)}
.label-danger:not(#_){background:rgba(255,138,138,.12)!important;color:var(--err)!important;border:1px solid rgba(255,138,138,.4)}
.label-warning:not(#_){background:rgba(255,217,160,.12)!important;color:var(--gold)!important;border:1px solid rgba(255,217,160,.4)}
.label-info:not(#_),.label-primary:not(#_),.label-default:not(#_){background:rgba(139,108,255,.16)!important;color:var(--text)!important;border:1px solid var(--line)}
/* Aktions-Buttons (Stornieren / Download) als runde Icon-Buttons */
.account-block .btn-sm:not(#_){display:inline-grid;place-items:center;width:38px;height:38px;padding:0!important;margin-left:6px}
.account-block .btn-danger:not(#_){background:transparent!important;border:1px solid rgba(255,138,138,.45)!important;color:var(--err)!important}
.account-block .btn-danger:not(#_):hover{background:rgba(255,138,138,.12)!important;box-shadow:0 0 22px rgba(255,138,138,.3)!important}
.account-block .btn-info:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important}
.tooltip .tooltip-inner{background:#0b0e2a!important;border:1px solid var(--line);color:var(--text)!important;border-radius:10px;padding:6px 10px;font-family:var(--body)}
.tooltip.top .tooltip-arrow{border-top-color:#0b0e2a!important}
.tooltip.bottom .tooltip-arrow{border-bottom-color:#0b0e2a!important}
.tooltip.left .tooltip-arrow{border-left-color:#0b0e2a!important}
.tooltip.right .tooltip-arrow{border-right-color:#0b0e2a!important}

/* ---------- Meine Termine: Kalender (FullCalendar) ---------- */
/* allgemeine Tabellen-Optik im Kalender komplett zurücksetzen */
.fc table:not(#_){border-collapse:collapse!important;border-spacing:0!important;margin:0!important;min-width:0!important;background:transparent!important;font-size:13.5px}
.fc table td:not(#_),.fc table th:not(#_),.fc table tr:hover td:not(#_){
  background:transparent!important;border-radius:0!important;padding:0!important;color:var(--text)!important;
  border:1px solid rgba(160,150,255,.12)!important;vertical-align:top!important;text-align:inherit}
.fc table tr td:first-child:not(#_),.fc table tr td:last-child:not(#_){border-radius:0!important}
.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,
.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:rgba(160,150,255,.12)!important}
.fc .fc-view-container{background:#090C23;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.fc .fc-view>table{border:0!important}
.fc .fc-view>table>tbody>tr>td,.fc .fc-view>table>thead>tr>td{border:0!important}

/* Kopfzeile: Monat + Navigation + Ansichten */
.fc .fc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px!important}
.fc .fc-toolbar>*>*{float:none!important}
.fc .fc-toolbar .fc-left{display:flex;align-items:center;gap:8px;float:none!important}
.fc .fc-toolbar .fc-right{float:none!important}
.fc .fc-toolbar h2:not(#_){font:300 clamp(20px,3vw,28px)/1.2 var(--head)!important;color:var(--text)!important;margin:0 8px 0 0!important}
.fc .fc-toolbar .fc-button-group{display:flex;flex-wrap:wrap;gap:6px;float:none!important}
.fc .fc-button:not(#_){
  float:none!important;height:36px!important;padding:0 14px!important;margin:0!important;border-radius:99px!important;
  background:transparent!important;background-image:none!important;border:1px solid var(--line)!important;
  color:var(--text)!important;font:400 13.5px var(--body)!important;text-shadow:none!important;box-shadow:none!important;
  transition:border-color .2s,background .2s,box-shadow .2s}
.fc .fc-button:not(#_):hover{border-color:var(--violet)!important;background:rgba(139,108,255,.12)!important}
.fc .fc-button.fc-state-active:not(#_){background:rgba(139,108,255,.32)!important;border-color:var(--violet)!important;color:#fff!important}
.fc .fc-button.fc-state-disabled:not(#_){opacity:.35!important;cursor:default}
.fc .fc-prev-button:not(#_),.fc .fc-next-button:not(#_){width:36px;padding:0!important;display:inline-grid;place-items:center}
.fc .fc-icon{color:var(--gold)!important;font-size:14px;top:0;margin:0!important;height:auto;line-height:1}
.fc .fc-icon:after{color:var(--gold)!important;font-weight:400}

/* Wochentags-Kopf */
.fc th.fc-day-header:not(#_),.fc th.fc-week-number:not(#_),.fc .fc-axis.fc-widget-header:not(#_){
  padding:12px 6px!important;font:400 11px var(--head)!important;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold)!important;text-align:center!important;background:rgba(160,150,255,.05)!important}

/* Monat */
.fc .fc-day-number:not(#_){padding:6px 8px!important;font:400 13px var(--body);color:var(--mist)!important;float:right}
.fc td.fc-week-number:not(#_),.fc .fc-week-number span{color:var(--mist)!important;font-size:11px;text-align:center!important;padding:6px 4px!important}
.fc .fc-other-month .fc-day-number,.fc td.fc-other-month .fc-day-number{opacity:.35}
.fc .fc-day.fc-other-month:not(#_){background:rgba(0,0,0,.18)!important}
.fc-unthemed td.fc-today:not(#_),.fc .fc-day.fc-today:not(#_){background:rgba(139,108,255,.14)!important}
.fc td.fc-today .fc-day-number:not(#_),.fc .fc-day-top.fc-today .fc-day-number:not(#_){
  display:inline-grid;place-items:center;min-width:26px;height:26px;margin:4px;padding:0 6px!important;border-radius:99px;
  background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff!important;opacity:1}
.fc .fc-day-grid-container{overflow:visible!important;height:auto!important}
.fc .fc-row.fc-week{min-height:84px}
.fc .fc-more{color:var(--gold)!important;font-size:12px}

/* Woche / Tag (Zeitraster) */
.fc .fc-axis:not(#_),.fc .fc-time-grid .fc-slats td.fc-axis:not(#_){color:var(--mist)!important;font-size:11.5px;padding:0 8px!important;text-align:right!important;vertical-align:middle!important}
.fc .fc-time-grid .fc-slats td:not(#_){height:2em}
.fc .fc-time-grid .fc-slats .fc-minor td:not(#_){border-top-style:dashed!important;border-top-color:rgba(160,150,255,.07)!important}
.fc .fc-day-grid .fc-day:not(#_),.fc .fc-time-grid .fc-day:not(#_){background:transparent!important}
.fc .fc-bg td.fc-today:not(#_){background:rgba(139,108,255,.14)!important}
.fc .fc-content-skeleton td:not(#_),.fc .fc-content-skeleton td.fc-today:not(#_){background:transparent!important;border-color:transparent!important}
.fc .fc-time-grid .fc-today:not(#_){background:rgba(139,108,255,.08)!important}
.fc .fc-divider:not(#_){background:rgba(160,150,255,.06)!important;padding:2px 0 0!important}
.fc .fc-now-indicator{border-color:var(--gold)!important}
.fc .fc-scroller{overflow-x:hidden!important}
.fc .fc-time-grid-container{scrollbar-width:thin}

/* Termine (Ereignisse) */
.fc .fc-event:not(#_){
  border:0!important;border-radius:8px!important;color:#fff!important;
  padding:2px 6px!important;font:500 12px/1.35 var(--body)!important;box-shadow:0 4px 14px rgba(0,0,0,.35)}
/* Termine ohne Statusfarbe */
.fc .fc-event:not([style*="background-color"]):not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important}
/* Statusfarben aus kutego (siehe Legende) an das Farbschema angepasst */
.fc .fc-event[style*="background-color: rgb(255, 255, 255)"]:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important}  /* bevorstehend */
.fc .fc-event[style*="background-color: rgb(40, 167, 69)"]:not(#_){background:#1f8a5b!important;color:#eafff4!important}                                            /* teilgenommen */
.fc .fc-event[style*="background-color: rgb(23, 162, 184)"]:not(#_){background:#1b7f95!important;color:#e8fbff!important}                                           /* krank */
.fc .fc-event[style*="background-color: rgb(255, 193, 7)"]:not(#_){background:var(--gold)!important;color:#1a1206!important}                                        /* entschuldigt */
.fc .fc-event[style*="background-color: rgb(220, 53, 69)"]:not(#_){background:#c4475a!important;color:#fff!important}                                               /* unentschuldigt */
.fc .fc-event[style*="background-color: rgb(142, 95, 162)"]:not(#_){background:#4a4e72!important;color:var(--text)!important}                                       /* abgemeldet */
.fc .fc-event-dot[style*="background-color: rgb(255, 255, 255)"]{background:var(--violet)!important}
/* Legende unter dem Kalender: gleiche Farben */
#appointments .badge-roundless:not(#_){display:inline-grid;place-items:center;width:20px;height:20px;padding:0!important;border-radius:6px!important;
  font-size:10px!important;color:transparent!important;border:0!important;vertical-align:-4px;margin:0 4px 0 8px}
#appointments .badge-roundless[style*="#FFF" i]:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important}
#appointments .badge-roundless[style*="#28A745" i]:not([style*="#FFF" i]):not(#_){background:#1f8a5b!important}
#appointments .badge-roundless[style*="#17A2B8" i]:not(#_){background:#1b7f95!important}
#appointments .badge-roundless[style*="#FFC107" i]:not(#_){background:var(--gold)!important}
#appointments .badge-roundless[style*="#DC3545" i]:not(#_){background:#c4475a!important}
#appointments .badge-roundless[style*="#8e5fa2" i]:not(#_){background:#4a4e72!important}
#appointments p.text-center{color:var(--mist)!important;font-size:13px;line-height:2.2;max-width:none}
.fc .fc-event:not(#_):hover{filter:brightness(1.12)}
.fc .fc-event .fc-time{font-weight:400;opacity:.85}
.fc .fc-event-dot:not([style*="background-color"]){background:var(--violet)!important}
.fc .fc-event-dot[style*="background-color: rgb(40, 167, 69)"]{background:#2fb37a!important}
.fc .fc-event-dot[style*="background-color: rgb(23, 162, 184)"]{background:#29a9c4!important}
.fc .fc-event-dot[style*="background-color: rgb(255, 193, 7)"]{background:var(--gold)!important}
.fc .fc-event-dot[style*="background-color: rgb(220, 53, 69)"]{background:#e05a6e!important}
.fc .fc-event-dot[style*="background-color: rgb(142, 95, 162)"]{background:#6b6f93!important}
.fc .fc-time-grid-event .fc-content{padding:2px}

/* Listen (Monats-/Wochen-/Tagesliste) */
.fc .fc-list-table td:not(#_){padding:12px 14px!important;vertical-align:middle!important}
.fc .fc-list-heading td:not(#_),.fc-unthemed .fc-list-heading td:not(#_){
  background:rgba(160,150,255,.07)!important;color:var(--gold)!important;font:400 12px var(--head)!important;letter-spacing:.1em}
.fc .fc-list-heading-main,.fc .fc-list-heading-alt{color:var(--gold)!important;font-weight:400!important}
.fc .fc-list-item:hover td:not(#_),.fc-unthemed .fc-list-item:hover td:not(#_){background:rgba(139,108,255,.14)!important}
.fc .fc-list-item-time:not(#_){color:var(--mist)!important;white-space:nowrap;width:1%}
.fc .fc-list-item-title a{color:var(--text)!important}
.fc .fc-list-empty-wrap2,.fc .fc-list-empty-wrap1{background:transparent!important}
.fc .fc-list-empty:not(#_){background:transparent!important;color:var(--mist)!important;padding:40px 16px!important;text-align:center!important}
.fc .fc-list-view{border:0!important}

/* „+ weitere“-Popover im Monat */
.fc .fc-popover:not(#_){background:#0b0e2a!important;border:1px solid var(--line)!important;border-radius:14px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.5)!important}
.fc .fc-popover .fc-header:not(#_){background:rgba(139,108,255,.18)!important;color:var(--text)!important;padding:8px 10px}
.fc .fc-popover .fc-close{color:var(--mist)!important;opacity:1}

/* Mobile: Ansichtsbuttons umbrechen */
@media(max-width:600px){
  .fc .fc-toolbar{flex-direction:column;align-items:flex-start}
  .fc .fc-button:not(#_){height:32px!important;padding:0 10px!important;font-size:12.5px!important}
}

/* ---------- Kopfzeilen von Datentabellen (Dokumente, Nachrichten …) ---------- */
table tr.heading>th:not(#_),table thead tr.heading th:not(#_){
  background:rgba(160,150,255,.07)!important;color:var(--gold)!important;border:0!important;
  font:400 11px var(--head)!important;letter-spacing:.12em;text-transform:uppercase;padding:12px 14px!important;vertical-align:middle!important}
table.table-bordered:not(#_){border:0!important}
table.table-bordered>tbody>tr>td:not(#_),table.table-bordered>thead>tr>th:not(#_){border-left:0!important;border-right:0!important}
table thead tr.heading th:first-child:not(#_){border-radius:12px 0 0 12px!important}
table thead tr.heading th:last-child:not(#_){border-radius:0 12px 12px 0!important}
/* Sortier-Pfeile von DataTables */
table.dataTable thead .sorting::after,table.dataTable thead .sorting_asc::after,table.dataTable thead .sorting_desc::after{color:var(--gold)!important;opacity:.6}

/* ---------- Dokumente ---------- */
#documents table:not(#_){margin:18px 0!important}
#documents .btn-warning:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:10px 20px!important}
#documents .btn-warning:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 28px rgba(139,108,255,.45)!important}
#documents .btn-warning i{color:var(--gold)!important}
#documents .help-block{color:var(--mist)!important;font-size:12.5px;margin-top:8px}
#documents .btn.red:not(#_),#documents .btn-danger:not(#_){display:inline-grid;place-items:center;width:38px;height:38px;padding:0!important;
  background:transparent!important;border:1px solid rgba(255,138,138,.45)!important;color:var(--err)!important}
#documents td:last-child{width:1%;white-space:nowrap}
#documents .progress{height:6px;border-radius:99px;background:rgba(160,150,255,.12)!important;margin:8px 0 0}
#documents .progress-bar{background:linear-gradient(90deg,var(--violet2),var(--violet),var(--gold))!important}

/* ---------- Nachrichten (/messages/) ---------- */
/* linke Navigation: Neue Nachricht · Eingang · Ausgang · Papierkorb */
.inbox-nav:not(#_){list-style:none;padding:8px!important;margin:0 0 20px!important;background:#090C23;border:1px solid var(--line);border-radius:18px}
.inbox-nav>li:not(#_){margin:0 0 4px!important;position:relative}
.inbox-nav>li:last-child{margin-bottom:0!important}
.inbox-nav>li>b,.inbox-nav>li::after{display:none!important}
.inbox-nav>li>a.btn:not(#_){display:flex!important;align-items:center;gap:10px;width:100%;min-height:44px;padding:8px 14px!important;
  border-radius:12px!important;border:1px solid transparent!important;background:transparent!important;
  color:var(--mist)!important;font:400 14.5px var(--body)!important;text-align:left;box-shadow:none!important;white-space:nowrap}
.inbox-nav>li>a.btn>i{color:inherit!important;width:18px;text-align:center}
.inbox-nav>li>a.btn:not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;color:var(--text)!important}
.inbox-nav>li.active>a.btn:not(#_){background:linear-gradient(135deg,rgba(139,108,255,.35),rgba(91,63,214,.18))!important;border-color:var(--violet)!important;color:#fff!important}
.inbox-nav>li.compose-btn>a.btn:not(#_){justify-content:center;background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;border-radius:99px!important;margin-bottom:6px}
.inbox-nav>li.compose-btn>a.btn:not(#_):hover{box-shadow:0 0 28px rgba(139,108,255,.55)!important}
/* Zähler ungelesen: rechts, vertikal mittig */
.inbox-nav>li>a>.badge:not(#_){position:static!important;margin-left:auto!important;float:none!important;
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px!important;border-radius:99px!important;
  background:var(--err)!important;color:#1a0710!important;border:0!important;font:500 12px/1 var(--body)!important}
@media(min-width:992px){
  .inbox>.row:not(#_){display:flex;align-items:flex-start}
  .inbox>.row>.col-md-2:not(#_){flex:0 0 240px;width:240px!important;padding-right:24px!important}
  .inbox>.row>.col-md-10:not(#_){flex:1 1 auto;width:auto!important;min-width:0}
}
/* Postfach-Karte */
.inbox .portlet.box:not(#_){background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;overflow:hidden;padding:0!important;box-shadow:none!important}
.inbox .portlet.box>.portlet-title:not(#_){background:transparent!important;border-bottom:1px solid var(--line)!important;color:var(--text)!important;
  padding:10px 16px!important;min-height:0!important;display:flex;align-items:center;justify-content:space-between}
.inbox .portlet.box>.portlet-title .caption{color:var(--gold)!important;padding:0!important;float:none}
.inbox .portlet.box>.portlet-title .caption i{color:var(--gold)!important}
.inbox .portlet.box>.portlet-title .actions{float:none;padding:0!important}
.inbox .portlet.box>.portlet-body:not(#_){background:transparent!important;padding:14px 16px!important;color:var(--text)!important}
.inbox .portlet-title .btn.green:not(#_),.inbox .btn.green:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:8px 16px!important}
.inbox .portlet-title .btn.green i{color:var(--gold)!important}
.inbox .dropdown-menu:not(#_){background:#0b0e2a!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:6px!important}
.inbox .dropdown-menu li a:not(#_){color:var(--text)!important;border-radius:10px;padding:8px 12px!important}
.inbox .dropdown-menu li a:not(#_):hover{background:rgba(139,108,255,.22)!important}
/* Nachrichtentabelle */
.inbox table.dataTable:not(#_){border-spacing:0 8px!important}
.inbox table.dataTable tbody td:not(#_){background:#0e1233!important;padding:14px!important}
.inbox table.dataTable tbody tr:hover td:not(#_){background:linear-gradient(90deg,rgba(139,108,255,.20),#0e1233 70%) fixed!important;border-color:var(--violet)!important;cursor:pointer}
.inbox table.dataTable tbody tr.unread td,.inbox table.dataTable tbody tr.unread td a{color:#fff!important;font-weight:500}
.inbox table.dataTable td a:not(.btn){color:var(--text)!important}
.inbox table.dataTable td .btn:not(#_),.inbox table.dataTable td a.btn:not(#_){display:inline-grid;place-items:center;width:32px;height:32px;padding:0!important;margin:2px;
  background:transparent!important;border:1px solid var(--line)!important;color:var(--gold)!important}
.inbox table.dataTable td .btn:not(#_):hover{border-color:var(--violet)!important}
.inbox table.dataTable td .fa-trash,.inbox table.dataTable td .fa-trash-o{color:var(--err)!important}
/* „50 Einträge anzeigen“ + Seitennavigation */
.dataTables_length,.dataTables_info{color:var(--mist)!important;font-size:13px}
.dataTables_length label{display:flex!important;align-items:center;gap:10px;margin:0!important;font-size:13px}
.dataTables_length .bootstrap-select:not(#_),.dataTables_length select:not(#_){width:90px!important;min-width:0}
.dataTables_length .bootstrap-select>.btn.dropdown-toggle:not(#_){height:38px!important;min-height:38px;padding:6px 32px 6px 14px!important}
.dataTables_wrapper .row{margin-inline:0}
.dataTables_paginate .pagination>li>a:not(#_),.dataTables_paginate .pagination>li>span:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;border-radius:99px!important;margin:0 3px}
.dataTables_paginate .pagination>.active>a:not(#_){background:rgba(139,108,255,.32)!important;border-color:var(--violet)!important}
.dataTables_paginate .pagination>.disabled>a:not(#_){opacity:.35}
.inbox .portlet.box>.portlet-title::before,.inbox .portlet.box>.portlet-title::after{display:none!important}
.inbox table.dataTable:not(#_){min-width:0!important;width:100%!important}
.inbox .table-scroll{overflow-x:auto}
.inbox table.dataTable td:last-child{width:1%;white-space:nowrap}
.inbox .dropdown-menu::before,.inbox .dropdown-menu::after{display:none!important}

/* ---------- Stammdaten (/account/settings/) ---------- */
/* Reiter „Übersicht / Einstellungen“ – und alle anderen Reiter (z. B. „Kurstermine“) */
.tab-style-1 .nav-tabs>li>a:not(#_),.nav-tabs>li>a:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--mist)!important;border-radius:99px!important}
.tab-style-1 .nav-tabs>li>a:not(#_):hover,.nav-tabs>li>a:not(#_):hover{border-color:var(--violet)!important;background:rgba(139,108,255,.12)!important;color:var(--text)!important}
.tab-style-1 .nav-tabs>li.active>a:not(#_),.nav-tabs>li.active>a:not(#_),.nav-tabs>li.active>a:not(#_):hover,.nav-tabs>li.active>a:not(#_):focus{
  background:rgba(139,108,255,.3)!important;border-color:var(--violet)!important;color:#fff!important}
.tab-style-1 .nav-tabs>li.active>a::after,.tab-style-1 .nav-tabs>li>a::after{display:none!important}

/* linke Spalte: Profilbild + Buttons „Nachrichten“ / „Datenkopie herunterladen“ */
.profile-nav:not(#_){list-style:none;padding:8px!important;margin:0 0 20px!important;background:#090C23;border:1px solid var(--line);border-radius:18px}
.profile-nav>li:not(#_){position:relative;margin:0 0 4px!important;border:0!important}
.profile-nav>li:last-child{margin-bottom:0!important}
.profile-nav>li>img{border-radius:12px;width:100%;background:rgba(160,150,255,.08);margin-bottom:6px}
.profile-nav>li>a.profile-edit:not(#_){position:absolute;top:8px;right:8px;background:rgba(3,4,11,.75)!important;color:var(--text)!important;
  border:1px solid var(--line);border-radius:99px!important;padding:5px 12px!important;font-size:12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.profile-nav>li>a.profile-edit:not(#_):hover{border-color:var(--violet);color:var(--gold)!important}
.profile-nav>li>a:not(.profile-edit):not(#_){display:flex!important;align-items:center;gap:10px;min-height:44px;padding:8px 14px!important;
  border:1px solid transparent!important;border-radius:12px!important;background:transparent!important;
  color:var(--mist)!important;font:400 14.5px var(--body)!important;text-decoration:none!important;transition:background .2s,border-color .2s,color .2s}
.profile-nav>li>a:not(.profile-edit):not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;color:var(--text)!important}
.profile-nav>li>a>.badge:not(#_){position:static!important;margin-left:auto!important;float:none!important;top:auto!important;right:auto!important;
  display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 7px!important;border-radius:99px!important;
  background:var(--err)!important;color:#1a0710!important;border:0!important;font:500 12px/1 var(--body)!important}

/* Profil-Übersicht: Info-Zeilen und Adresse */
.profile-info .list-inline li,.profile-info li{color:var(--text)}
.profile-info i,.profile-account i.fa{color:var(--gold)}

/* Formulare in den Einstellungen: Felder in voller Spaltenbreite */
#account .tab-content .form-control:not(#_),#account .tab-content .bootstrap-select.form-control:not(#_){width:100%!important;max-width:100%!important}
#account .tab-content .combodate{display:flex!important;gap:8px}
#account .tab-content .combodate select:not(#_){flex:1 1 0;width:auto!important}
#account .tab-content h3,#account .tab-content h4{border-bottom:1px solid var(--line)!important;padding-bottom:10px;margin-bottom:18px!important}
/* ==========================================================================
   KUNDENKONTO (/account/ …)
   ========================================================================== */

/* ---------- Seitenleiste ---------- */
ul.ver-inline-menu:not(#_){
  list-style:none;margin:0 0 20px!important;padding:8px!important;
  background:var(--glass)!important;border:1px solid var(--line)!important;border-radius:18px!important;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  display:flex;flex-direction:column;gap:4px;
}
ul.ver-inline-menu>li:not(#_){margin:0!important;border:0!important;background:none!important;position:relative}
ul.ver-inline-menu>li>a:not(#_){
  position:relative;display:flex!important;align-items:center;gap:10px;
  padding:10px 12px!important;border-radius:12px!important;border:1px solid transparent!important;
  background:transparent!important;color:var(--mist)!important;
  font:400 14px/1.3 var(--body)!important;text-decoration:none!important;
  transition:background .2s,border-color .2s,color .2s;
}
ul.ver-inline-menu>li>a>i:not(#_){
  flex:none;width:30px;height:30px;display:grid;place-items:center;margin:0!important;padding:0!important;
  border-radius:9px;background:rgba(160,150,255,.10)!important;color:var(--mist)!important;font-size:14px;
  float:none!important;transition:background .2s,color .2s;
}
ul.ver-inline-menu>li>a:not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;color:var(--text)!important}
ul.ver-inline-menu>li>a:not(#_):hover>i{color:var(--gold)!important}
ul.ver-inline-menu>li.active>a:not(#_){
  background:linear-gradient(135deg,rgba(139,108,255,.38),rgba(91,63,214,.18))!important;
  border-color:var(--violet)!important;color:#fff!important;box-shadow:0 0 22px rgba(139,108,255,.25)}
ul.ver-inline-menu>li.active>a>i:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important}
/* blauer Pfeil am aktiven Eintrag */
ul.ver-inline-menu li .after,ul.ver-inline-menu li:after,ul.ver-inline-menu li a:after{display:none!important}
/* Zähler (Nachrichten, Termine): rechts, vertikal zentriert */
ul.ver-inline-menu>li>a>.badge:not(#_){
  position:static!important;margin:0 0 0 auto!important;flex:none;
  min-width:22px;height:22px;padding:0 7px!important;display:inline-grid;place-items:center;
  border-radius:99px!important;font:500 12px/1 var(--body)!important;
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;border:0!important;
  top:auto!important;right:auto!important}
ul.ver-inline-menu>li>a>.badge-danger:not(#_){background:#ff6b6b!important;box-shadow:0 0 12px rgba(255,107,107,.45)}
@media(max-width:767px){
  ul.ver-inline-menu:not(#_){flex-direction:row;flex-wrap:wrap}
  ul.ver-inline-menu>li:not(#_){flex:1 1 140px}
}

/* ---------- Übersicht: Kennzahl-Kacheln (grün/blau) ---------- */
.dashboard-stat:not(#_){
  position:relative;overflow:hidden;border-radius:18px!important;
  background:var(--glass)!important;border:1px solid var(--line)!important;color:var(--text)!important;
  transition:border-color .25s,box-shadow .25s}
.dashboard-stat:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 28px rgba(139,108,255,.3)}
.dashboard-stat.blue:not(#_){background:linear-gradient(150deg,rgba(139,108,255,.35),rgba(16,19,48,.6))!important}
.dashboard-stat .visual>i{color:var(--violet)!important;opacity:.18!important}
.dashboard-stat .details .number{color:var(--text)!important;font:300 34px/1.1 var(--head)!important}
.dashboard-stat .details .desc{color:var(--mist)!important;font:400 14px var(--body)!important;opacity:1!important}
.dashboard-stat .more:not(#_){
  background:rgba(3,4,11,.35)!important;border-top:1px solid var(--line);color:var(--gold)!important;
  font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;opacity:1!important}
.dashboard-stat .more:hover{background:rgba(139,108,255,.18)!important}
.dashboard-stat .more i{color:var(--gold)!important}
/* schmale Spalte: kompaktere Einträge, kein Umbruch */
ul.ver-inline-menu:not(#_){padding:6px!important;gap:2px}
ul.ver-inline-menu>li>a:not(#_){gap:8px;padding:8px!important;font-size:13.5px!important;white-space:nowrap}
ul.ver-inline-menu>li>a>i:not(#_){width:28px;height:28px;font-size:13px}
.dashboard-stat .details .number:not(#_){font-size:clamp(20px,2.3vw,32px)!important;line-height:1.15!important}
.dashboard-stat.blue .details .number:not(#_){font-size:clamp(18px,1.9vw,26px)!important}

/* ---------- Meine Termine: Kalender (FullCalendar – Monat, Woche, Tag, Listen) ---------- */
/* 1) Allgemeine Tabellen-Optik im Kalender komplett zurücksetzen */
.fc table:not(#_){display:table;border-collapse:collapse!important;border-spacing:0!important;margin:0!important;background:transparent!important;width:100%}
.fc table:not(#_) tbody{display:table-row-group}.fc table:not(#_) thead{display:table-header-group}
.fc table:not(#_) tr{display:table-row}
.fc td:not(#_),.fc th:not(#_),.fc table tr:hover td:not(#_),.fc table tbody tr:hover td:not(#_){display:table-cell;
  background:transparent!important;border:1px solid var(--line)!important;border-radius:0!important;
  padding:0!important;color:var(--text)!important;vertical-align:top!important;text-align:inherit}
/* 2) Rahmen um den ganzen Kalender */
.fc .fc-view-container{background:#090C23;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.fc .fc-view>table:not(#_)>tbody>tr>td,.fc .fc-view>table:not(#_)>thead>tr>td{border:0!important}
.fc .fc-view>table:not(#_){border:0!important}
.fc .fc-row.fc-widget-header,.fc .fc-head-container{border-color:var(--line)!important}
.fc .fc-scroller{overflow-x:hidden!important}
/* 3) Kopfzeile Wochentage */
.fc th.fc-day-header:not(#_),.fc th.fc-week-number:not(#_),.fc th:not(#_){
  padding:12px 6px!important;font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold)!important;text-align:center!important;vertical-align:middle!important;background:rgba(139,108,255,.08)!important}
.fc th a{color:var(--gold)!important}
/* 4) Tageszellen (Monat) */
.fc-day-grid .fc-row{min-height:7em}
.fc .fc-day-top .fc-day-number,.fc td.fc-day-top:not(#_){padding:6px 8px!important;color:var(--mist)!important;font:400 13px var(--body)!important}
.fc .fc-day-top.fc-other-month,.fc .fc-other-month{opacity:.35}
.fc td.fc-day.fc-today:not(#_),.fc td.fc-today:not(#_){background:rgba(139,108,255,.16)!important}
.fc .fc-day-top.fc-today .fc-day-number{display:inline-grid;place-items:center;min-width:26px;height:26px;border-radius:99px;
  background:linear-gradient(135deg,var(--violet),var(--violet2));color:#fff!important;margin:4px 6px}
.fc td.fc-week-number:not(#_),.fc .fc-week-number{color:var(--gold)!important;font:400 11px var(--head)!important;text-align:center!important;background:rgba(139,108,255,.06)!important}
/* 5) Termine */
.fc-event:not(#_),.fc-event-dot{background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border:0!important;
  border-radius:8px!important;color:#fff!important;padding:3px 6px!important;font:500 12px/1.35 var(--body)!important;
  box-shadow:0 4px 14px rgba(91,63,214,.35)}
.fc-event .fc-time{font-weight:400;opacity:.85}
.fc-more{color:var(--gold)!important}
.fc-popover:not(#_){background:#0b0e2a!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:0 20px 40px rgba(0,0,0,.5)!important;overflow:hidden}
.fc-popover .fc-header{background:rgba(139,108,255,.15)!important;color:var(--text)!important;padding:8px 12px!important}
/* 6) Woche / Tag (Zeitraster) */
.fc .fc-axis:not(#_),.fc td.fc-axis:not(#_){color:var(--mist)!important;font:400 11.5px var(--body)!important;padding:0 8px!important;vertical-align:middle!important;white-space:nowrap}
.fc .fc-slats td:not(#_){height:2.4em;border-color:rgba(160,150,255,.12)!important}
.fc .fc-slats .fc-minor td:not(#_){border-top-style:dashed!important}
.fc .fc-time-grid .fc-day.fc-today:not(#_){background:rgba(139,108,255,.10)!important}
.fc .fc-now-indicator{border-color:var(--gold)!important}
.fc .fc-divider:not(#_){background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;padding:0 0 2px!important}
.fc .fc-day-grid .fc-day:not(#_){min-height:2em}
/* 7) Listen-Ansichten (Monats-, Wochen-, Tagesliste) */
.fc .fc-list-view{border:0!important}
.fc .fc-list-table td:not(#_){border-width:1px 0 0!important;padding:12px 14px!important;vertical-align:middle!important}
.fc .fc-list-heading td:not(#_),.fc .fc-list-heading td.fc-widget-header:not(#_){background:rgba(139,108,255,.14)!important;padding:10px 14px!important}
.fc .fc-list-heading-main{color:var(--text)!important;font:400 14px var(--head)!important}
.fc .fc-list-heading-alt{color:var(--gold)!important;font-size:13px}
.fc .fc-list-item-time{color:var(--mist)!important;white-space:nowrap}
.fc .fc-list-item-title a{color:var(--text)!important}
.fc .fc-list-item-marker .fc-event-dot{display:inline-block;width:10px;height:10px;padding:0!important;border-radius:50%!important;box-shadow:0 0 10px rgba(139,108,255,.7)}
.fc .fc-list-empty-wrap2,.fc .fc-list-empty-wrap1{background:transparent!important}
.fc .fc-list-empty:not(#_){background:transparent!important;color:var(--mist)!important;padding:48px 16px!important;text-align:center;vertical-align:middle!important}
/* 8) Werkzeugleiste: Monat · Woche · Tag · Listen als Segment-Schalter */
.fc .fc-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px!important}
.fc .fc-toolbar>*{float:none!important}
.fc .fc-toolbar .fc-left{display:flex;align-items:center;gap:10px}
.fc .fc-toolbar h2{color:var(--text)!important;font:300 clamp(22px,3vw,30px) var(--head)!important;margin:0 8px 0 0!important}
.fc .fc-toolbar .fc-center{display:none}
.fc .fc-button-group{display:inline-flex!important;flex-wrap:wrap;gap:2px;padding:4px;border:1px solid var(--line);border-radius:99px;background:rgba(16,19,48,.6)}
.fc .fc-button:not(#_){height:auto!important;float:none!important;margin:0!important;
  padding:8px 14px!important;border-radius:99px!important;border:1px solid transparent!important;
  background:transparent!important;background-image:none!important;color:var(--mist)!important;
  font:400 13px/1.2 var(--body)!important;text-shadow:none!important;box-shadow:none!important;text-transform:none}
.fc .fc-button:not(#_):hover{color:var(--text)!important;background:rgba(139,108,255,.14)!important}
.fc .fc-button.fc-state-active:not(#_),.fc .fc-button.fc-state-down:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;box-shadow:0 0 16px rgba(139,108,255,.4)!important}
.fc .fc-button.fc-state-disabled:not(#_){opacity:.4!important;cursor:default}
.fc .fc-prev-button:not(#_),.fc .fc-next-button:not(#_){width:38px;height:38px!important;padding:0!important;display:grid;place-items:center;border:1px solid var(--line)!important}
.fc .fc-icon{color:var(--text)!important;top:0!important;height:auto!important;line-height:1!important}
.fc .fc-icon-left-single-arrow:after,.fc .fc-icon-right-single-arrow:after{font-weight:400!important;color:var(--gold)}
@media(max-width:700px){
  .fc .fc-toolbar{flex-direction:column;align-items:stretch}
  .fc .fc-button-group{border-radius:16px;justify-content:center}
  .fc .fc-button:not(#_){padding:7px 10px!important;font-size:12px!important}
}
/* Inhalts-Ebenen ohne eigene Linien/Flächen (sonst doppelte Raster & zweifarbiger „Heute“) */
.fc .fc-content-skeleton td:not(#_),.fc .fc-helper-skeleton td:not(#_),.fc .fc-highlight-skeleton td:not(#_),.fc .fc-mirror-skeleton td:not(#_){border-color:transparent!important;background:transparent!important}
.fc .fc-content-skeleton td.fc-today:not(#_){background:transparent!important}
.fc .fc-day-grid-event:not(#_){margin:2px 4px 0!important}

/* ---------- Reiter (Übersicht/Einstellungen, Kurstermine/Mehr Details …): dunkelblau → Violett ---------- */
.nav-tabs>li>a:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--mist)!important;border-radius:99px!important;margin-right:6px!important}
.nav-tabs>li>a:not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--violet)!important;color:var(--text)!important}
.nav-tabs>li.active>a:not(#_),.nav-tabs>li.active>a:not(#_):hover,.nav-tabs>li.active>a:not(#_):focus{
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important;box-shadow:0 0 18px rgba(139,108,255,.35)}
.tab-style-1 .nav-tabs,.tabs-modern .nav-tabs{border:0!important}

/* ---------- Hinweisboxen (note) & kleine Icon-Buttons ---------- */
.note:not(#_){background:rgba(139,108,255,.10)!important;border:1px solid var(--line)!important;border-left:3px solid var(--violet)!important;
  border-radius:14px!important;color:var(--text)!important;padding:14px 18px!important}
.note.note-warning:not(#_){background:rgba(255,217,160,.08)!important;border-left-color:var(--gold)!important}
.note.note-danger:not(#_){background:rgba(255,138,138,.08)!important;border-left-color:var(--err)!important}
.note.note-success:not(#_){background:rgba(123,224,176,.08)!important;border-left-color:var(--ok)!important}
.note p,.note h4{color:inherit!important;margin:0}
.account-block .btn-sm:not(#_){width:36px;height:36px;padding:0!important;display:inline-grid!important;place-items:center;margin-left:6px}
.btn-danger:not(#_),.btn.red:not(#_){background:transparent!important;border:1px solid rgba(255,138,138,.45)!important;color:var(--err)!important}
.btn-danger:not(#_):hover,.btn.red:not(#_):hover{background:rgba(255,138,138,.12)!important;box-shadow:0 0 22px rgba(255,138,138,.3)!important}
.btn-info:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important}
.btn-warning:not(#_),.btn-success:not(#_),.portlet .actions .btn.green:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important}
.btn-warning i,.btn-success i{color:#fff!important}
.tooltip.top .tooltip-arrow{border-top-color:var(--deep)!important}
.tooltip.bottom .tooltip-arrow{border-bottom-color:var(--deep)!important}
.tooltip-inner{border-radius:10px!important;font:400 12.5px var(--body)!important;padding:6px 10px!important}

/* ---------- Rechnungen: jede Rechnung als Karte ---------- */
#orders>.row{margin-inline:0!important}
.account-block:not(#_){
  display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 0;
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;
  padding:18px 8px!important;margin-bottom:12px!important;color:var(--text)!important;float:none!important;
  transition:border-color .25s,box-shadow .25s}
.account-block:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 24px rgba(139,108,255,.2)}
.account-block>[class*=col-]{float:none!important}
.account-block>.clearfix{display:none}
.account-block h4:not(#_){font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important;margin:0 0 8px!important}
.account-block div{color:var(--text)}
.account-block .margin-bottom-15{margin-bottom:4px!important;font-family:var(--head);font-size:14px}
.account-block .margin-bottom-15+div{color:var(--mist)!important;font-size:13px}
.account-block .col-sm-5>div{color:var(--mist)!important;font-size:14px;line-height:1.55}
.account-block .label{display:inline-block;white-space:nowrap}
.label-default,.badge-default{background:rgba(160,150,255,.14)!important;border-color:var(--line)!important;color:var(--text)!important}
.label-info,.badge-info,.label-primary,.badge-primary{background:rgba(139,108,255,.18)!important;border-color:rgba(139,108,255,.5)!important;color:#c9bbff!important}
@media(max-width:767px){.account-block .text-right{text-align:left!important}}

/* ---------- Dokumente: Tabelle nach dem Hochladen ---------- */
#documents .table:not(#_){border:0!important;border-spacing:0 8px!important;margin:16px 0!important}
.table>thead>tr.heading>th:not(#_),.table thead tr.heading th:not(#_){
  background:transparent!important;border:0!important;border-bottom:1px solid var(--line)!important;
  color:var(--gold)!important;font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px!important}
#documents .table td .form-control{min-height:42px}
#documents .help-block{margin-top:8px;font-size:12.5px}
#tab_images_uploader_pickfiles i{margin-right:6px}

/* ---------- Nachrichten (Posteingang/-ausgang/Papierkorb) ---------- */
.portlet.box:not(.student-row):not(#_){background:#090C23!important;border:1px solid var(--line)!important;border-radius:18px!important;overflow:hidden;padding:0!important;box-shadow:none!important}
.portlet.box>.portlet-title:not(#_){background:linear-gradient(90deg,rgba(139,108,255,.20),transparent 70%)!important;border:0!important;border-bottom:1px solid var(--line)!important;
  color:var(--text)!important;padding:10px 16px!important;min-height:0!important;display:flex;align-items:center;justify-content:space-between}
.portlet.box>.portlet-title .caption,.portlet.box>.portlet-title .caption i{color:var(--gold)!important;float:none!important;padding:0!important;margin:0!important}
.portlet.box>.portlet-title .actions{float:none!important;padding:0!important}
.portlet.box>.portlet-body:not(#_){background:transparent!important;border:0!important;color:var(--text)!important;padding:14px 16px!important}
.portlet .actions .btn:not(#_){padding:8px 16px!important;font-size:13.5px!important;width:auto;height:auto}
.portlet .actions .dropdown-menu{right:0;left:auto}
.dropdown-menu:not(#_){background:#0b0e2a!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:6px!important;box-shadow:0 20px 40px rgba(0,0,0,.5)!important}
.dropdown-menu>li>a:not(#_){color:var(--text)!important;border-radius:10px;padding:9px 12px!important;background:transparent!important}
.dropdown-menu>li>a:not(#_):hover{background:rgba(139,108,255,.22)!important}
.dropdown-menu .divider{background:var(--line)!important}
/* DataTables-Leisten: „50 Einträge anzeigen“, Suche, Seiten */
.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_length label{color:var(--mist)!important;font-size:13px}
.dataTables_wrapper .dataTables_length select,.dataTables_wrapper select.form-control{display:inline-block;width:auto!important;min-height:38px!important;padding:6px 34px 6px 12px!important;margin-right:8px;background-position:right 12px center!important}
.dataTables_wrapper .dataTables_filter input{min-height:38px!important;width:auto!important}
.dataTables_wrapper .dataTables_info{color:var(--mist)!important;font-size:13px}
.dataTables_wrapper .pagination{margin:0}
.dataTables_wrapper .row{margin-inline:0!important}
/* Tabelle der Nachrichten */
.dataTable.table-bordered:not(#_){border:0!important}
.dataTable thead tr.heading th:not(#_){white-space:nowrap}
.dataTable thead th.sorting:after,.dataTable thead th.sorting_asc:after,.dataTable thead th.sorting_desc:after{color:var(--gold)!important;opacity:.6}
.portlet .datatables tbody tr td:not(#_){background:rgba(16,19,48,.6)!important;color:var(--text)!important}
.portlet .datatables tbody tr.unread td:not(#_),.portlet .datatables tbody tr.unread td b{color:#fff!important;font-weight:500}
.portlet .datatables tbody tr:hover td:not(#_){background:linear-gradient(90deg,rgba(139,108,255,.22),rgba(16,19,48,.6) 70%) fixed!important;border-color:var(--violet)!important;cursor:pointer}
.portlet .datatables tbody td .btn,.portlet .datatables tbody td a.btn{width:30px;height:30px;padding:0!important;display:inline-grid;place-items:center;margin:2px}
.portlet .datatables tbody td i{color:var(--gold)}
.dataTables_empty{color:var(--mist)!important;text-align:center!important;padding:28px!important}
/* Nachricht lesen / schreiben */
.inbox-header h1,.inbox-view-header h1{color:var(--text)!important;font:300 22px var(--head)!important}
.inbox-view-info,.inbox-view-info span{color:var(--mist)!important}
.inbox-view,.inbox-content{color:var(--text)!important}
.inbox-compose .inbox-form-group{border-color:var(--line)!important}
.wysihtml5-toolbar .btn,.note-toolbar .btn{width:auto;height:auto}
.note-editor,.note-editor .note-toolbar,.note-editor .note-statusbar{background:rgba(10,13,38,.6)!important;border-color:var(--line)!important}
.note-editor .note-editable{background:rgba(10,13,38,.6)!important;color:var(--text)!important}

/* ---------- Nachrichten-Navigation links (Neue Nachricht · Eingang · Ausgang · Papierkorb) ---------- */
ul.inbox-nav:not(#_){list-style:none;padding:8px!important;margin:0 0 20px!important;display:flex;flex-direction:column;gap:4px;
  background:var(--glass)!important;border:1px solid var(--line)!important;border-radius:18px!important}
ul.inbox-nav>li:not(#_){margin:0!important;position:relative}
ul.inbox-nav>li>b{display:none!important}
ul.inbox-nav>li>a.btn:not(#_){display:flex!important;align-items:center;gap:10px;width:100%;text-align:left;
  padding:10px 12px!important;border-radius:12px!important;border:1px solid transparent!important;
  background:transparent!important;color:var(--mist)!important;font:400 14px var(--body)!important;box-shadow:none!important}
ul.inbox-nav>li>a.btn i{width:16px;text-align:center;color:inherit}
ul.inbox-nav>li>a.btn:not(#_):hover{background:rgba(139,108,255,.12)!important;border-color:var(--line)!important;color:var(--text)!important}
ul.inbox-nav>li.active>a.btn:not(#_){background:linear-gradient(135deg,rgba(139,108,255,.38),rgba(91,63,214,.18))!important;border-color:var(--violet)!important;color:#fff!important}
ul.inbox-nav>li.compose-btn>a.btn:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;justify-content:center;margin-bottom:6px}
ul.inbox-nav>li.compose-btn>a.btn i{color:#fff}
ul.inbox-nav .badge:not(#_),.profile-nav .badge:not(#_){
  position:static!important;float:none!important;top:auto!important;right:auto!important;margin:0 0 0 auto!important;
  min-width:22px;height:22px;padding:0 7px!important;display:inline-grid!important;place-items:center;
  border-radius:99px!important;border:0!important;font:500 12px/1 var(--body)!important;
  background:#ff6b6b!important;color:#fff!important;box-shadow:0 0 12px rgba(255,107,107,.4)}

/* ---------- Stammdaten: Profil-Spalte links ---------- */
ul.profile-nav:not(#_){display:flex;flex-direction:column;gap:6px}
ul.profile-nav>li{margin:0!important;position:relative}
ul.profile-nav>li>img{border-radius:18px;border:1px solid var(--line);background:rgba(10,13,38,.6)}
ul.profile-nav a.profile-edit:not(#_){position:absolute;top:10px;right:10px;padding:6px 12px!important;border-radius:99px!important;
  background:rgba(3,4,11,.75)!important;border:1px solid var(--line)!important;color:var(--text)!important;font-size:12px!important;backdrop-filter:blur(6px)}
ul.profile-nav a.profile-edit:not(#_):hover{border-color:var(--violet)!important;color:var(--gold)!important}
ul.profile-nav>li>a:not(.profile-edit):not(#_){display:flex!important;align-items:center;gap:10px;
  padding:12px 14px!important;border-radius:12px!important;border:1px solid var(--line)!important;
  background:var(--glass)!important;color:var(--text)!important;font:400 14px var(--body)!important;text-decoration:none!important;
  transition:border-color .2s,background .2s}
ul.profile-nav>li>a:not(.profile-edit):not(#_):hover{background:rgba(139,108,255,.14)!important;border-color:var(--violet)!important}
ul.profile-nav>li>a i{color:var(--gold)!important}
/* Profil-Infozeilen rechts */
.profile-info h1,.profile-info h2,.profile-info h3{color:var(--text)!important}
.portlet.box>.portlet-title::before,.portlet.box>.portlet-title::after{display:none!important}
.portlet .datatables tbody td:last-child{white-space:nowrap}
.dropdown-menu:not(#_)::before,.dropdown-menu:not(#_)::after{display:none!important}
ul.profile-nav img.placeholder{filter:invert(.92) hue-rotate(200deg) saturate(.6);background:transparent}

/* ---------- Neue Nachricht / Antworten ---------- */
.inbox-compose .inbox-compose-btn:not(#_){background:transparent!important;border:0!important;padding:4px 0 14px!important;display:flex;gap:8px}
.inbox-compose .inbox-compose-btn .btn.cancel-btn:not(#_),.inbox-compose .btn.default:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important}
.inbox-compose .btn.blue:not(#_){background:linear-gradient(135deg,var(--violet),var(--violet2))!important;border-color:transparent!important;color:#fff!important}
.inbox-compose .inbox-form-group:not(#_){border:0!important;border-bottom:0!important;margin:0 0 14px!important;padding:0!important;background:transparent!important}
.inbox-compose .inbox-form-group>.control-label:not(#_){position:static!important;float:none!important;width:auto!important;padding:0!important;margin:0 0 8px!important;color:var(--mist)!important}
.inbox-compose .inbox-form-group .controls{margin:0!important;padding:0!important}
/* Editor (Summernote) */
.note-editor.note-frame:not(#_){background:rgba(10,13,38,.6)!important;border:1px solid var(--line)!important;border-radius:14px!important;padding:0!important;overflow:hidden;margin:0!important}
.note-editor .note-toolbar:not(#_){background:rgba(16,19,48,.8)!important;border:0!important;border-bottom:1px solid var(--line)!important;padding:8px!important}
.note-editor .note-btn:not(#_){width:34px;height:34px;padding:0!important;border-radius:10px!important;font-size:13px!important}
.note-editor .note-btn.active:not(#_){background:rgba(139,108,255,.3)!important;border-color:var(--violet)!important}
.note-editor .note-editing-area:not(#_),.note-editor .note-editable:not(#_){background:transparent!important;color:var(--text)!important}
.note-editor .note-editable:not(#_){min-height:220px;padding:14px 16px!important;font:400 15px/1.6 var(--body)!important}
.note-editor .note-statusbar:not(#_){background:rgba(16,19,48,.8)!important;border-top:1px solid var(--line)!important}
.note-editor .note-statusbar .note-resizebar .note-icon-bar{border-top-color:var(--mist)!important}
.note-editor .note-placeholder{color:rgba(170,176,214,.55)!important}
form.inbox-compose:not(#_){border:0!important;padding:0!important}
.inbox-compose .inbox-form-group input.form-control:not(#_){border:1px solid var(--line)!important;border-radius:14px!important;padding:12px 16px!important}
.inbox-compose .inbox-form-group input.form-control:not(#_):focus{border-color:var(--violet)!important}
.note-editor .note-editing-area:not(#_){border:0!important}

/* ---------- Zähler oben in der Kopfleiste (Briefumschlag) ---------- */
.pre-header .badge:not(#_){min-width:18px;height:18px;padding:0 5px!important;display:inline-grid!important;place-items:center;
  border-radius:99px!important;border:0!important;background:#ff6b6b!important;color:#fff!important;font:500 11px/1 var(--body)!important;margin-left:3px;vertical-align:1px}

/* ==========================================================================
   Feinschliff 24.10.2026
   ========================================================================== */
/* Kalender: Inhalts-Ebenen (Tageszahlen, Termine) dürfen nie Linien zeigen – auch nicht beim Hover.
   Sonst liegen zwei Raster leicht versetzt übereinander. */
.fc .fc-content-skeleton td:not(#_):not(#__),.fc .fc-content-skeleton th:not(#_):not(#__),
.fc .fc-helper-skeleton td:not(#_):not(#__),.fc .fc-highlight-skeleton td:not(#_):not(#__),
.fc .fc-mirror-skeleton td:not(#_):not(#__),.fc .fc-bgevent-skeleton td:not(#_):not(#__),
.fc .fc-content-skeleton tr:hover td:not(#_):not(#__){border-color:transparent!important;background:transparent!important}
/* Kalender: keine Hover-Effekte auf Zellen/Zeilen */
.fc tr:hover>td:not(#_):not(#__){background:transparent!important}
.fc .fc-bg td:not(#_):not(#__),.fc .fc-bg tr:hover td:not(#_):not(#__){border-color:var(--line)!important}
.fc .fc-slats td:not(#_):not(#__),.fc .fc-slats tr:hover td:not(#_):not(#__){border-color:rgba(160,150,255,.12)!important}
.fc .fc-bg td.fc-today:not(#_):not(#__){background:rgba(139,108,255,.16)!important}
.fc .fc-time-grid .fc-bg td.fc-today:not(#_):not(#__){background:rgba(139,108,255,.10)!important}
.fc .fc-list-heading td:not(#_):not(#__){background:rgba(139,108,255,.14)!important}
/* KW-Spalte: Kopf und Raster exakt gleich breit */
.fc .fc-week-number:not(#_):not(#__){width:36px!important;min-width:36px!important;max-width:36px!important;
  padding-left:0!important;padding-right:0!important;box-sizing:border-box;text-align:center!important}
.fc .fc-content-skeleton .fc-week-number span{display:block;padding-top:6px}
.fc .fc-head .fc-row,.fc .fc-head-container .fc-row{margin-right:0!important;border-right-width:0!important}

/* ==========================================================================
   KURSSEITE MOBIL: Termin-Karten (kutego „pricing“-Ansicht unter 768px)
   ========================================================================== */
.visible-xs>.coursedate.pricing:not(#_),.coursedate.pricing:not(#_){
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:20px!important;
  overflow:hidden;margin:0 0 16px!important;padding:0!important;box-shadow:none!important;color:var(--text)!important;
  transition:border-color .25s,box-shadow .25s}
.coursedate.pricing.hover-effect:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 28px rgba(139,108,255,.25)!important;transform:none!important}
/* Kopf: Kurstitel + Preis */
.coursedate.pricing .pricing-head:not(#_){background:linear-gradient(150deg,rgba(139,108,255,.30),rgba(16,19,48,.2) 70%)!important;
  border-bottom:1px solid var(--line)!important;padding:18px 18px 16px!important;text-align:left!important}
.coursedate.pricing .pricing-head h3:not(#_){background:transparent!important;border:0!important;padding:0!important;margin:0 0 10px!important;
  color:var(--text)!important;font:300 20px/1.25 var(--head)!important;text-align:left!important;text-shadow:none!important}
.coursedate.pricing .pricing-head h4.price:not(#_){margin:0!important;padding:0!important;background:transparent!important;border:0!important;text-align:left!important;
  color:var(--text)!important;font:400 15px/1.3 var(--body)!important}
.coursedate.pricing .pricing-head h4.price>div{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.coursedate.pricing .pricing-head h4.price>div>span:first-child{font:400 28px/1 var(--head)!important;color:var(--text)!important}
.coursedate.pricing .pricing-head h4.price>div>br{display:none}
.coursedate.pricing .pricing-head h4.price small.text-line-through{font:400 14px var(--body)!important;color:var(--mist)!important;opacity:.7}
.coursedate.pricing .pricing-head h4.price small.text-line-through span{font:inherit!important;color:inherit!important}
.coursedate.pricing .pricing-head .hints{flex-basis:100%;order:5}
.coursedate.pricing .pricing-head .hints small{font:400 11.5px var(--body)!important;color:var(--mist)!important;letter-spacing:0}
.coursedate.pricing .pricing-head .days{order:4;flex-basis:100%;margin-top:8px;color:var(--gold)!important;font:400 11px var(--head)!important;letter-spacing:.14em;text-transform:uppercase}
/* Details-Liste */
.coursedate.pricing .pricing-content:not(#_){margin:0!important;padding:10px 18px!important;background:transparent!important;border:0!important}
.coursedate.pricing .pricing-content li:not(#_){display:flex;align-items:flex-start;gap:10px;padding:9px 0!important;margin:0!important;
  border:0!important;border-bottom:1px solid rgba(160,150,255,.12)!important;color:var(--mist)!important;font:400 14px/1.45 var(--body)!important;text-align:left!important;background:transparent!important}
.coursedate.pricing .pricing-content li:last-child{border-bottom:0!important}
.coursedate.pricing .pricing-content li:empty,.coursedate.pricing .pricing-content li:not(:has(*)){display:none!important}

.coursedate.pricing .pricing-content li>i.fa{flex:none;width:16px;margin-top:3px;text-align:center;color:var(--gold)!important;font-size:13px}
.coursedate.pricing .pricing-content li a{color:var(--gold)!important;text-decoration:none!important}
.coursedate.pricing .pricing-content li .text-success{color:var(--ok)!important;display:inline-flex;align-items:center;gap:8px;font-weight:500}
.coursedate.pricing .pricing-content li .text-success i{color:var(--ok)!important}
.coursedate.pricing .pricing-content li .text-warning{color:var(--gold)!important}
.coursedate.pricing .pricing-content li .text-danger{color:var(--err)!important}
/* Fuß: Buchen-Button über die volle Breite */
.coursedate.pricing .pricing-footer:not(#_){background:transparent!important;border:0!important;padding:4px 18px 18px!important;text-align:left!important;color:var(--mist)!important}
.coursedate.pricing .pricing-footer form{margin:0}
.coursedate.pricing .pricing-footer .btn:not(#_){display:block!important;width:100%!important;height:auto!important;padding:14px 20px!important;
  border-radius:99px!important;border:1px solid transparent!important;
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;font:500 16px var(--body)!important;margin:0!important}
.coursedate.pricing .pricing-footer .btn:not(#_):hover{box-shadow:0 0 32px rgba(139,108,255,.6)!important}
.coursedate.pricing .pricing-footer .btn[disabled],.coursedate.pricing .pricing-footer .btn.disabled{opacity:.45}
.coursedate.pricing .pricing-footer p,.coursedate.pricing .pricing-footer small{color:var(--mist)!important}
/* „Kurse werden geladen …“ */
#mobile_courses31919 .fa-spin,[id^="mobile_courses"] .fa-spin{color:var(--violet)!important}
[id^="mobile_courses"]>.text-center{color:var(--mist)!important}

/* ==========================================================================
   Feinschliff 27.10.2026: Mobil-Ränder, Termin-Karte, Login/Registrierung
   ========================================================================== */
/* Mobil: seitlicher Abstand für alle Seiten des Buchungssystems */
@media(max-width:767px){
  body .container:not(#_),body .container-fluid:not(#_){padding-left:16px!important;padding-right:16px!important}
}
/* Termin-Karte mobil: gleichmäßige Abstände Titel → Preis → Termine → USt-Hinweis (je 12px) */
.coursedate.pricing .pricing-head h3:not(#_){margin-bottom:12px!important}
.coursedate.pricing .pricing-head h4.price>div:not(#_):not(#__){row-gap:0!important;align-items:center!important}
.coursedate.pricing .pricing-head h4.price>div>span:first-child,.coursedate.pricing .pricing-head h4.price small.text-line-through{line-height:1!important;margin:0!important}
.coursedate.pricing .pricing-head .days:not(#_):not(#__){position:static!important;top:auto!important;margin:12px 0 0!important;padding:0!important;line-height:1.3!important}
.coursedate.pricing .pricing-head .hints:not(#_):not(#__){margin:12px 0 0!important;padding:0!important;line-height:1.3!important}
.coursedate.pricing .pricing-head .hints small:not(#_){display:block;margin:0!important;padding:0!important;line-height:1.3!important}

/* ---------- Login / Registrierung / Passwort vergessen ---------- */
.content-form-page:not(#_){
  background:var(--glass)!important;border:1px solid var(--line)!important;border-radius:22px!important;
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  padding:clamp(20px,4vw,40px)!important;margin-bottom:32px;color:var(--text)!important}
.content-form-page .control-label:not(#_){text-align:left!important;float:none!important;width:100%!important;padding:0!important;margin:0 0 8px!important}
.content-form-page .form-group>[class*=col-]:not(#_){float:none!important;width:100%!important;margin-left:0!important;padding-left:0!important;padding-right:0!important}
.content-form-page .form-group:not(#_){margin-left:0!important;margin-right:0!important}
.content-form-page .row>[class*=col-]>.row,.content-form-page form>.row{margin-left:0!important;margin-right:0!important}
.content-form-page form>.row>[class*=col-]:not(#_){float:none!important;width:100%!important;margin-left:0!important;padding-left:0!important}
/* E-Mail-Feld mit Passkey-Knopf */
.passkey-input{position:relative}
.passkey-input input{padding-right:52px!important}
.passkey-input .passkey-trigger:not(#_){top:50%!important;right:8px!important;transform:translateY(-50%);width:36px;height:36px;padding:0!important;
  display:grid;place-items:center;border-radius:10px!important;border:1px solid var(--line)!important;background:rgba(139,108,255,.12)!important;color:var(--gold)!important}
.passkey-input .passkey-trigger:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 18px rgba(139,108,255,.4)!important}
.passkey-input .passkey-trigger svg{width:18px;height:18px}
.passkey-input .passkey-trigger svg path{stroke:currentColor}
/* „angemeldet bleiben“ */
.content-form-page label.checkbox:not(#_){display:flex!important;align-items:center;gap:10px;padding:0!important;margin:0!important;color:var(--mist)!important;font-size:14px;cursor:pointer}
.content-form-page label.checkbox input[type=checkbox]:not(#_){position:static!important;margin:0!important;float:none!important}
.content-form-page label.checkbox div.checker{margin:0!important}
/* rechte Spalte „Passwort vergessen?“ */
.form-info:not(#_){border-left:1px solid var(--line)!important;padding-left:clamp(16px,3vw,32px)!important}
.form-info h2:not(#_){color:var(--text)!important;font:300 clamp(22px,3vw,28px)/1.2 var(--head)!important;margin:0 0 14px!important}
.form-info h2 em{font-style:normal;color:var(--gold)!important}
.form-info p{color:var(--mist)!important;font-size:15px;line-height:1.6}
.form-info .btn-default:not(#_),.content-form-page .btn-default:not(#_){background:transparent!important;border:1px solid var(--line)!important;color:var(--text)!important;padding:12px 24px!important;margin-top:8px}
.form-info .btn-default:not(#_):hover,.content-form-page .btn-default:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.45)!important}
.content-form-page .btn-primary:not(#_){padding:13px 32px!important}
@media(max-width:991px){.form-info:not(#_){border-left:0!important;border-top:1px solid var(--line)!important;padding:28px 0 0!important;margin-top:28px}}
/* Spam-Schutz (ALTCHA) passend einfärben */
altcha-widget,.altcha-wrap{
  --altcha-color-base:rgba(10,13,38,.6);--altcha-color-border:rgba(160,150,255,.22);--altcha-color-text:#eef0ff;
  --altcha-color-border-focus:#8b6cff;--altcha-color-error-text:#ff8a8a;--altcha-color-footer-bg:rgba(16,19,48,.8);
  --altcha-border-radius:14px;--altcha-max-width:100%}
/* Passkey-Knopf: kutego legt ein unsichtbares Login-Fenster (iframe) über den Knopf.
   Wegen des dunklen Farbschemas malte der Browser es weiß → gleiches Schema wie der Inhalt = transparent.
   Das Fenster liegt jetzt exakt über dem Fingerabdruck-Knopf, Klicks funktionieren weiter. */
.passkey-overlay iframe,iframe.passkey-overlay-frame,#authFrame{color-scheme:light!important;background:transparent!important;border:0!important}
.passkey-input .passkey-overlay:not(#_){top:50%!important;right:8px!important;transform:translateY(-50%);width:36px!important;height:36px!important;border-radius:10px;overflow:hidden}
.passkey-input .passkey-overlay iframe{width:100%!important;height:100%!important;display:block}

/* ==========================================================================
   GUTSCHEINE (/iframe/?module=coupons) – Karten „Wunschbetrag“ und „Workshop-Gutschein“
   ========================================================================== */
.content-page .row:has(>div>.pricing:not(.coursedate)){display:flex;flex-wrap:wrap;row-gap:20px}
.content-page .row:has(>div>.pricing:not(.coursedate))>[class*=col-]{float:none;display:flex}
.pricing:not(.coursedate):not(#_){
  flex:1;display:flex;flex-direction:column;margin:0!important;overflow:hidden;
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:22px!important;
  box-shadow:none!important;transition:border-color .25s,box-shadow .25s!important}
.pricing:not(.coursedate).hover-effect:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.28)!important;transform:none!important}
.pricing:not(.coursedate)>form{display:flex;flex-direction:column;flex:1;margin:0}

/* Kopf: Titel, Untertitel, Preis */
.pricing:not(.coursedate) .pricing-head:not(#_),
.pricing:not(.coursedate) .pricing-head.pricing-head-active:not(#_){
  background:linear-gradient(150deg,rgba(139,108,255,.32),rgba(16,19,48,.15) 75%)!important;
  border:0!important;border-bottom:1px solid var(--line)!important;padding:26px 24px 22px!important;text-align:left!important}
.pricing:not(.coursedate) .pricing-head h3:not(#_){
  background:transparent!important;border:0!important;margin:0!important;padding:0!important;
  font:300 26px/1.15 var(--head)!important;letter-spacing:.02em;color:var(--text)!important;text-align:left!important}
.pricing:not(.coursedate) .pricing-head h3 span:not(#_){
  display:block;margin-top:8px;font:400 11px var(--head)!important;font-style:normal!important;
  letter-spacing:.14em;text-transform:uppercase;color:var(--gold)!important}
.pricing:not(.coursedate) .pricing-head h4:not(#_){
  display:flex;align-items:baseline;gap:2px;margin:18px 0 0!important;padding:0!important;
  background:transparent!important;border:0!important;text-align:left!important;
  font:300 44px/1 var(--head)!important;color:var(--text)!important}
.pricing:not(.coursedate) .pricing-head h4 i:not(#_){font:inherit!important;font-style:normal!important;color:inherit!important}
.pricing:not(.coursedate) .pricing-head h4 i:last-child:not(#_){margin-left:6px;font-size:.55em!important;color:var(--mist)!important}

/* Wunschbetrag-Eingabe */
.pricing:not(.coursedate) .pricing-head h4 .coupon-input:not(#_){
  flex:1;min-width:0;width:100%!important;height:auto!important;margin:0!important;padding:12px 16px!important;
  background:rgba(3,4,11,.55)!important;border:1px solid var(--line)!important;border-radius:14px!important;
  font:300 32px/1.1 var(--head)!important;color:var(--text)!important;text-align:left!important;box-shadow:none!important;
  -moz-appearance:textfield;appearance:textfield;transition:border-color .2s,box-shadow .2s}
.pricing:not(.coursedate) .pricing-head h4 .coupon-input:not(#_):focus{border-color:var(--violet)!important;box-shadow:0 0 0 3px rgba(139,108,255,.25)!important;outline:none}
.pricing:not(.coursedate) .pricing-head h4 .coupon-input::placeholder{color:var(--mist);opacity:.6}
.pricing:not(.coursedate) .pricing-head h4:has(.coupon-input) i:last-child:not(#_){margin-left:12px;font-size:.6em!important}

/* Vorteile */
.pricing:not(.coursedate) .pricing-content:not(#_){flex:1;margin:0!important;padding:12px 24px!important;background:transparent!important;border:0!important}
.pricing:not(.coursedate) .pricing-content li:not(#_){
  display:flex;align-items:center;gap:12px;margin:0!important;padding:11px 0!important;
  border:0!important;border-bottom:1px solid rgba(160,150,255,.12)!important;
  font:400 14.5px/1.45 var(--body)!important;color:var(--text)!important;text-align:left!important}
.pricing:not(.coursedate) .pricing-content li:last-child:not(#_){border-bottom:0!important}
.pricing:not(.coursedate) .pricing-content li>i.fa:not(#_){
  flex:none;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;margin:0!important;
  background:rgba(255,217,160,.12);color:var(--gold)!important;font-size:10px!important}

/* Kaufen */
.pricing:not(.coursedate) .pricing-footer:not(#_){background:transparent!important;border:0!important;padding:6px 24px 24px!important;text-align:left!important}
.pricing:not(.coursedate) .pricing-footer .btn:not(#_){
  display:flex!important;align-items:center;justify-content:center;gap:10px;width:100%!important;height:auto!important;
  padding:14px 22px!important;border:0!important;border-radius:99px!important;
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;
  font:500 15px var(--body)!important;box-shadow:none!important;transition:box-shadow .25s!important}
.pricing:not(.coursedate) .pricing-footer .btn:not(#_):hover{box-shadow:0 0 32px rgba(139,108,255,.6)!important}
.pricing:not(.coursedate) .pricing-footer .btn i{font-size:12px;color:#fff!important}

@media(max-width:767px){
  .pricing:not(.coursedate) .pricing-head:not(#_){padding:22px 18px 18px!important}
  .pricing:not(.coursedate) .pricing-content:not(#_){padding:8px 18px!important}
  .pricing:not(.coursedate) .pricing-footer:not(#_){padding:6px 18px 20px!important}
  .pricing:not(.coursedate) .pricing-head h4:not(#_){font-size:38px!important}
}
/* gleiche Kopfhöhe (Eingabefeld vs. fester Preis) und volle Breite, sobald die Karten untereinander stehen */
.pricing:not(.coursedate) .pricing-head h4:not(#_):not(#__){min-height:58px;align-items:center}
@media(max-width:991px){.content-page .row:has(>div>.pricing:not(.coursedate))>[class*=col-]{width:100%}}
/* Zahlen beider Karten auf einer Grundlinie (Wunschbetrag-Feld und fester Preis) */
.pricing:not(.coursedate) .pricing-head h4:not(#_):not(#__){align-items:baseline;min-height:62px}
.pricing:not(.coursedate) .pricing-head h4 i:not(#_):not(#__){line-height:1!important;vertical-align:baseline!important;position:static!important;top:auto!important;display:inline!important}
.pricing:not(.coursedate) .pricing-head h4:not(:has(.coupon-input)):not(#_):not(#__){padding-top:4px!important}

/* ==========================================================================
   KURS-KACHELN (/iframe/?module=courses&layout=1 … „courses-grid“, z. B. Lernreise-Stufen)
   ========================================================================== */
.courses-grid:not(#_){padding-top:16px}
.courses-grid>.row{display:flex;flex-wrap:wrap;row-gap:24px}
.courses-grid>.row>[class*=col-]{float:none;display:flex;margin-bottom:0!important}
.courses-grid .thumbnail:not(#_){
  flex:1;display:flex;flex-direction:column;margin:0!important;padding:0!important;overflow:hidden;
  background:#090C23!important;border:1px solid var(--line)!important;border-radius:22px!important;
  box-shadow:none!important;transition:border-color .25s,box-shadow .25s}
.courses-grid .thumbnail:not(#_):hover{border-color:var(--violet)!important;box-shadow:0 0 32px rgba(139,108,255,.28)!important}
.courses-grid .thumbnail>img{display:block;width:100%;height:auto;margin:0!important}
.courses-grid .thumbnail .caption:not(#_){
  flex:1;display:flex;flex-direction:column;padding:24px 24px 22px!important;color:var(--text)!important;
  background:linear-gradient(170deg,rgba(139,108,255,.16),transparent 45%)!important}

/* Titel */
.courses-grid .thumbnail h3:not(#_){margin:0 0 12px!important;padding:0!important;font:300 22px/1.25 var(--head)!important;letter-spacing:0}
.courses-grid .thumbnail h3 a:not(#_){color:var(--text)!important;text-decoration:none!important;transition:color .2s}
.courses-grid .thumbnail h3 a:not(#_):hover{color:var(--gold)!important}

/* Kennzeichnung (z. B. „Blockkurs“) */
.courses-grid .thumbnail .label:not(#_){
  display:inline-block;padding:5px 11px!important;border-radius:99px!important;border:1px solid rgba(255,217,160,.35)!important;
  background:rgba(255,217,160,.10)!important;color:var(--gold)!important;
  font:400 10.5px/1.2 var(--head)!important;letter-spacing:.14em;text-transform:uppercase}

/* Text, leere Absätze ausblenden */
.courses-grid .thumbnail .caption>p:not(#_){margin:0 0 14px!important;color:var(--mist)!important;font:400 14.5px/1.6 var(--body)!important}
.courses-grid .thumbnail .caption>p:empty{display:none!important}
.courses-grid .thumbnail .caption>p.text-muted:not(#_){color:var(--mist)!important;opacity:.8}

/* Preis + Buchen, immer unten in der Karte */
.courses-grid .thumbnail .course-card-footer:not(#_){
  margin-top:auto!important;padding-top:16px!important;border-top:1px solid var(--line)!important;
  display:flex;align-items:center;justify-content:space-between;gap:12px;background:transparent!important}
.courses-grid .thumbnail .course-card-footer .text-primary,
.courses-grid .thumbnail .course-card-footer .price:not(#_){color:var(--text)!important;font:300 24px/1 var(--head)!important}
.courses-grid .thumbnail .course-card-footer .btn:not(#_){
  width:auto!important;height:auto!important;padding:11px 22px!important;border:0!important;border-radius:99px!important;
  background:linear-gradient(135deg,var(--violet),var(--violet2))!important;color:#fff!important;
  font:500 14.5px var(--body)!important;box-shadow:none!important;transition:box-shadow .25s}
.courses-grid .thumbnail .course-card-footer .btn:not(#_):hover{box-shadow:0 0 28px rgba(139,108,255,.6)!important}

@media(max-width:767px){
  .courses-grid .thumbnail .caption:not(#_){padding:20px 18px 18px!important}
  .courses-grid .thumbnail h3:not(#_){font-size:20px!important}
}

/* ==========================================================================
   MITGLIEDSCHAFTEN (/iframe/?module=memberships) – nutzt die Gutschein-Karten (.pricing), hier nur Ergänzungen
   ========================================================================== */
.membershipForm:not(#_){display:block;padding-top:16px}
.membershipForm>[class*=col-]:not(#_){float:none;width:100%;margin-left:0}
.membershipForm .pricing:not(#_){max-width:440px;margin:0 auto!important}
/* Preis: heller Kasten von kutego entfernen, Zusatzzeilen darunter */
.membershipForm .pricing-head h4:not(#_):not(#__){display:block;min-height:0}
.membershipForm .pricing-head .membership-price:not(#_),
.membershipForm .pricing-head .membership-price>span:not(#_){background:transparent!important;color:var(--text)!important;padding:0!important;border:0!important;box-shadow:none!important}
.membershipForm .pricing-head .membership-price>span:first-child:not(#_){display:block;font:300 44px/1 var(--head)!important}
.membershipForm .pricing-head .membership-price small:not(#_){display:block;margin-top:8px;font:400 12px/1.45 var(--body)!important;color:var(--mist)!important;opacity:.85}
.membershipForm .pricing-head .membership-price small+small{margin-top:2px}
/* Vertragsdaten (Zahlweise, Kündigungsfrist …) */
.membershipForm .membership-details:not(#_){display:block;text-align:left!important;color:var(--mist)!important;font:400 13.5px/1.6 var(--body)!important}
.membershipForm .membership-details .input-inline,.membershipForm .membership-details .form-control-static:not(#_){display:inline;padding:0!important;min-height:0!important;color:var(--text)!important}
.membershipForm .pricing-content+.pricing-content:not(#_){border-top:1px solid var(--line)!important}
/* Vorteile mit goldenem Haken wie bei den Gutscheinen */
.membershipForm .pricing-content+.pricing-content li:not(#_){position:relative;padding-left:32px!important;text-align:left!important}
.membershipForm .pricing-content+.pricing-content li:not(#_)::before{content:"";position:absolute;left:0;top:50%;width:20px;height:20px;margin-top:-10px;border-radius:50%;background:rgba(255,217,160,.12)}
.membershipForm .pricing-content+.pricing-content li:not(#_)::after{content:"";position:absolute;left:7px;top:50%;width:5px;height:9px;margin-top:-6px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg)}