.fsm-termine-wrap { font-family: inherit; margin: 20px 0; }
.fsm-kurs-block { border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; margin-bottom: 14px; }
.fsm-kurs-header { display: flex; align-items: center; gap: 12px; padding: 14px 18px; background: #f9fafb; border-bottom: 1px solid #e5e7eb; flex-wrap: wrap; }
.fsm-kurs-nr { width: 32px; height: 32px; border-radius: 50%; background: #a557ab; color: #fff; font-size: 13px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fsm-kurs-title { font-size: 15px; font-weight: 700; color: #111827; flex: 1; }
.fsm-kurs-badge { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 4px; }
.fsm-badge-abend { background: #F3EBF9; color: #7B3FA0; }
.fsm-badge-tag { background: #E6F1FB; color: #185FA5; }
.fsm-badge-neu { background: #FEF3C7; color: #92400E; }
.fsm-kurs-meta { display: flex; gap: 18px; padding: 12px 18px; border-bottom: 1px solid #f3f4f6; flex-wrap: wrap; }
.fsm-meta-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #374151; }
.fsm-kurs-dates { padding: 12px 18px 16px; }
.fsm-dates-label { font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: #9ca3af; margin-bottom: 8px; }
.fsm-dates-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.fsm-date-pill { font-size: 12px; background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 6px; padding: 4px 9px; color: #374151; white-space: nowrap; }
.fsm-kurs-footer { display: flex; gap: 16px; padding: 10px 18px; background: #f9fafb; border-top: 1px solid #e5e7eb; flex-wrap: wrap; }
.fsm-footer-stat { font-size: 12px; color: #6b7280; display: flex; align-items: center; gap: 5px; }
.fsm-footer-stat strong { color: #374151; }
.fsm-rabatt-banner { display: flex; align-items: center; gap: 12px; background: linear-gradient(135deg, #fef9ec 0%, #fef3c7 100%); border: 1px solid #fcd34d; border-left: 4px solid #f59e0b; border-radius: 10px; padding: 12px 16px; margin-bottom: 14px; flex-wrap: wrap; }
.fsm-rabatt-icon { font-size: 22px; flex-shrink: 0; }
.fsm-rabatt-text { flex: 1; }
.fsm-rabatt-text strong { display: block; font-size: 14px; color: #92400e; margin-bottom: 2px; }
.fsm-rabatt-text span { font-size: 13px; color: #a16207; }
.fsm-rabatt-price { display: flex; align-items: baseline; gap: 8px; flex-shrink: 0; }
.fsm-price-new { font-size: 22px; font-weight: 800; color: #92400e; }
.fsm-price-old { font-size: 14px; text-decoration: line-through; color: #9ca3af; }
.fsm-bonus-row { display: flex; align-items: center; gap: 10px; background: #F3EBF9; border: 1px solid #c4a8d8; border-radius: 8px; padding: 10px 14px; margin-bottom: 14px; font-size: 13px; color: #5A2D82; flex-wrap: wrap; }
.fsm-bonus-row strong { color: #7B3FA0; }

.fsm-value-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; margin: 16px 0 24px; font-family: inherit; }
.fsm-value-card { border: 1px solid #e5e7eb; border-radius: 10px; padding: 14px 16px; background: #fff; }
.fsm-value-icon { font-size: 22px; margin-bottom: 6px; line-height: 1; }
.fsm-value-title { font-size: 13px; font-weight: 700; color: #111827; margin-bottom: 3px; }
.fsm-value-desc { font-size: 12px; color: #6b7280; line-height: 1.5; }
.fsm-themen-wrap { margin: 16px 0 24px; font-family: inherit; }
.fsm-themen-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.fsm-thema-item { display: flex; align-items: flex-start; gap: 12px; border: 1px solid #e5e7eb; border-radius: 10px; padding: 13px 15px; background: #fff; }
.fsm-thema-nr { width: 28px; height: 28px; border-radius: 50%; background: #a557ab; color: #fff; font-size: 12px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fsm-thema-name { font-size: 14px; font-weight: 700; color: #111827; margin-bottom: 2px; }
.fsm-thema-cert { display: inline-flex; align-items: center; gap: 4px; font-size: 11px; color: #15803d; font-weight: 500; }




.kursformat-vergleich {
  margin: 40px 0;
}

.kursformat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  max-width: 860px;
}

.fsm-scratch-box{border:2px solid #a557ab;border-radius:14px;padding:22px 20px;margin:24px 0;background:linear-gradient(135deg,#faf4fb 0%,#f3e6f4 100%);font-family:inherit}
.fsm-scratch-badge{display:inline-block;background:#a557ab;color:#fff;font-size:13px;font-weight:700;letter-spacing:.3px;padding:5px 12px;border-radius:999px;margin-bottom:12px}
.fsm-scratch-box h3{margin:0 0 8px;color:#a557ab;font-size:22px;line-height:1.25}
.fsm-scratch-box p{margin:0 0 14px;font-size:16px;line-height:1.55;color:#333}
.fsm-scratch-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.fsm-scratch-list li{flex:1 1 180px;background:#fff;border:1px solid #ecd9ee;border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.4;color:#333}
.fsm-scratch-list li strong{display:block;color:#a557ab;margin-bottom:2px}
@media(max-width:600px){.fsm-scratch-box{padding:18px 16px}.fsm-scratch-box h3{font-size:19px}.fsm-scratch-list li{flex:1 1 100%}}


@media (max-width: 640px) {
  .kursformat-grid { grid-template-columns: 1fr; }
}

.kursformat-card {
  border: 2px solid #e5e7eb;
  border-radius: 14px;
  padding: 28px 24px;
  position: relative;
  background: #fff;
}

.kursformat-card.kursformat-highlight {
  border-color: #7B3FA0;
  box-shadow: 0 4px 20px rgba(123,63,160,0.12);
}

.kursformat-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: #7B3FA0;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 14px;
  border-radius: 20px;
  white-space: nowrap;
  letter-spacing: 0.5px;
}

.kursformat-icon {
  font-size: 32px;
  text-align: center;
  margin-bottom: 10px;
}

.kursformat-card h3 {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 6px;
  color: #1a1a1a;
}

.kursformat-dauer {
  text-align: center;
  font-weight: 600;
  color: #7B3FA0;
  font-size: 15px;
  margin-bottom: 4px;
}

.kursformat-zeiten {
  text-align: center;
  color: #555;
  font-size: 14px;
  margin-bottom: 16px;
}

.kursformat-liste {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
}

.kursformat-liste li {
  padding: 5px 0;
  font-size: 14px;
  color: #374151;
}

.kursformat-fuer {
  font-size: 13px;
  color: #555;
  background: #f9f5ff;
  padding: 10px 14px;
  border-radius: 8px;
  margin: 0;
}

.fsm-grant {
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 18px 20px;
    margin: 28px 0;
    font-family: inherit;
    background: #fff;
}
.fsm-termine-wrap { font-family: inherit; margin: 20px 0; }
.fsm-kurs-block {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 14px;
}
.fsm-kurs-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    background: #f9fafb;
    border-bottom: 1px solid #e5e7eb;
    flex-wrap: wrap;
}
.fsm-kurs-nr {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #a557ab;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.fsm-kurs-title {
    font-size: 15px;
    font-weight: 700;
    color: #111827;
    flex: 1;
}
.fsm-kurs-badge {
    font-size: 11px;
    font-weight: 600;
    padding: 3px 9px;
    border-radius: 4px;
}
.fsm-badge-abend { background: #F3EBF9; color: #7B3FA0; }
.fsm-badge-tag   { background: #E6F1FB; color: #185FA5; }
 
.fsm-kurs-meta {
    display: flex;
    gap: 18px;
    padding: 12px 18px;
    border-bottom: 1px solid #f3f4f6;
    flex-wrap: wrap;
}
.fsm-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #374151;
}
.fsm-meta-item svg { flex-shrink: 0; }
 
.fsm-kurs-dates {
    padding: 12px 18px 16px;
}
.fsm-dates-label {
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #9ca3af;
    margin-bottom: 8px;
}
.fsm-dates-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.fsm-date-pill {
    font-size: 12px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 4px 9px;
    color: #374151;
    white-space: nowrap;
}
.fsm-date-range {
    font-size: 12px;
    background: #f3f4f6;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 4px 9px;
    color: #374151;
    white-space: nowrap;
}
.fsm-kurs-footer {
    display: flex;
    gap: 16px;
    padding: 10px 18px;
    background: #f9fafb;
    border-top: 1px solid #e5e7eb;
    flex-wrap: wrap;
}
.fsm-footer-stat {
    font-size: 12px;
    color: #6b7280;
    display: flex;
    align-items: center;
    gap: 5px;
}
.fsm-footer-stat strong { color: #374151; }
/* Leeren Bereich nach den Karten entfernen */
.woocommerce-product-page .single_variation_wrap,
.woocommerce-product-page .wc-gzd-replace-price .single_variation_wrap {
    display: none !important;
}
 
.fsm-grant-top {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}
 
.fsm-grant-pill {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    color: #15803d;
    padding: 2px 9px;
    letter-spacing: 0.04em;
    flex-shrink: 0;
}
 
.fsm-grant-title {
    font-size: 14.5px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    line-height: 1.3;
}
 
.fsm-grant-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.65;
    margin: 0 0 10px;
}
 
.fsm-grant-hint {
    font-size: 12.5px;
    color: #6b7280;
    line-height: 1.5;
    margin: 0 0 12px;
    padding-left: 12px;
    border-left: 3px solid #f59e0b;
}
 
.fsm-grant-hint strong {
    color: #374151;
}
 
.fsm-grant-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 600;
    color: #a557ab !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(165,87,171,.3);
    padding-bottom: 1px;
}
 
.fsm-grant-link:hover {
    border-color: #a557ab;
}

@media screen and (max-width: 782px) {
    .admin-bar .dt-mobile-header .mobile-header-scrollbar-wrap {
        padding-top: 70px;
    }
	.mobile-main-nav li > a .menu-text {
    font: 18px / 24px "Arial", Helvetica, Arial, Verdana, sans-serif;
    color: #46403d;
    text-transform: none;
}
	.mobile-menu-show-divider .mobile-main-nav > li > a {
    padding: 11px 25px 12px 0 !important;
}
	.mobile-mini-widgets-in-menu {
    padding: 4px 0 !important;
}
	.dt-mobile-header .mobile-mini-widgets-in-menu>* {
    margin: 20px 20px 5px 0;
}
}
.wunsch-box h2{color:#FFF !important;}
.woocommerce-cart-wrap .cart-collaterals{padding:12px;border-radius:12px;}
.kurs-badge-aktion {
  font-size: 0.95rem;
  margin: 1rem 0;
  display: inline-block;
}
.kurs-badge-aktion strong {
  font-weight: 700;
}

code, kbd, pre, samp{
	font-family:Muli, Helvetica, Arial, Verdana, sans-serif;
	font-size:14px;
}
.post-type-archive .woocommerce-product-details__short-description{display:none;}
.highlight-products .woocommerce-product-details__short-description{
	display:none;
}

.highlight-products .vc_col-sm-3{padding:30px 0}
/* === Fußpflege Variationen: 4 Zeilen Layout === */

.button-variable-item {
    min-height: 80px !important;
	  min-width:155px !important;
    height: auto !important;
    padding: 0px 8px !important;
    display: flex !important;
    align-items: center !important;
}

.variable-item-span-button {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 100% !important;
    line-height: 1.3 !important;
}

/* Zeile 1: Monat und Jahr */
.termin-zeile1 {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.2 !important;
}

/* Zeile 2: Datum */
.termin-zeile2 {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #444 !important;
    line-height: 1.2 !important;
}

/* Zeile 3: Uhrzeit */
.termin-zeile3 {
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
}

/* Zeile 4: Status */
.termin-zeile4 {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    margin-top: 2px !important;
}

/* Leere Zeilen ausblenden */
.termin-zeile1:empty,
.termin-zeile2:empty,
.termin-zeile3:empty,
.termin-zeile4:empty {
    display: none !important;
}

/* Hover-Effekt */
.variable-item-button-variable-item:hover {
    border-color: #9b4d96 !important;
    box-shadow: 0 4px 12px rgba(155, 77, 150, 0.2) !important;
    transform: translateY(-2px);
    transition: all 0.3s ease !important;
}

/* Ausgewählter Status */
.variable-item-button-variable-item.selected {
    border-color: #9b4d96 !important;
    background: linear-gradient(135deg, #f9f6f9 0%, #ffffff 100%) !important;
    box-shadow: 0 4px 16px rgba(155, 77, 150, 0.3) !important;
}

/* Mobile Optimierung */
@media (max-width: 768px) {
    .variable-item-button-variable-item {
        min-height: 105px !important;
        padding: 12px 14px !important;
    }
    
    .termin-zeile1 {
        font-size: 13px !important;
    }
    
    .termin-zeile2,
    .termin-zeile3,
    .termin-zeile4 {
        font-size: 12px !important;
    }
}


.termine-wrapper {
        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
        max-width: 100%;
        margin: 0 auto;
        padding: 15px 0;
    }
.termin-zeile3 {
    font-size: 0.85em;
    font-weight: 600;
	    padding-top: 5px;
}
.termin-zeile1{padding-top:5px;}

    /* Filter */
    .filter-box {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        justify-content: center;
        margin-bottom: 20px;
        padding: 15px;
        background: #f8f9fa;
        border-radius: 8px;
    }

    .filter-btn-compact {
        padding: 8px 16px;
        border: 1px solid #ddd;
        background: white;
        border-radius: 20px;
        cursor: pointer;
        font-size: 0.9rem;
        font-weight: 600;
        transition: all 0.2s;
        color: #555;
    }

    .filter-btn-compact:hover {
        border-color: #9b59b6;
        color: #9b59b6;
    }

    .filter-btn-compact.active {
        background: #9b59b6;
        color: white;
        border-color: #9b59b6;
    }

    .filter-btn-compact .count {
        opacity: 0.7;
        margin-left: 4px;
    }

    /* Wunschtermin Box - kompakter */
    .wunsch-box {
        background: linear-gradient(135deg, #9b59b6, #8e44ad);
        color: white;
        padding: 20px;
        border-radius: 10px;
        margin-bottom: 20px;
        display: flex;
        align-items: center;
        gap: 15px;
    }

    .wunsch-icon {
        font-size: 2rem;
        flex-shrink: 0;
    }

    .wunsch-content h3 {
        font-size: 1.2rem;
        margin-bottom: 8px;
    }

    .wunsch-content p {
        margin-bottom: 12px;
        font-size: 0.95rem;
        opacity: 0.95;
    }

    .wunsch-btn {
        display: inline-block;
        background: white;
        color: #9b59b6;
        padding: 8px 20px;
        border-radius: 20px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
        transition: transform 0.2s;
    }

    .wunsch-btn:hover {
        transform: translateY(-2px);
    }

    /* Monat Header - kompakter */
    .monat-section {
        margin-bottom: 25px;
    }

    .monat-title {
        display: inline-block;
        background: #9b59b6;
        color: white;
        padding: 6px 16px;
        border-radius: 15px;
        font-size: 1rem;
        font-weight: 600;
        margin-bottom: 15px;
    }

    /* Grid - kompakter */
    .termine-grid-compact {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 12px;
    }

    /* Card - minimalistisch und kompakt */
    .card-compact {
        background: white;
        border: 1px solid #e0e0e0;
        border-radius: 8px;
        padding: 15px;
        transition: all 0.2s;
        position: relative;
    }

    .card-compact:hover {
        border-color: #9b59b6;
        box-shadow: 0 2px 8px rgba(155, 89, 182, 0.15);
    }

    .card-compact.hidden {
        display: none;
    }

    .card-compact.ausgebucht {
        opacity: 0.6;
    }

    /* Status Badge - kleiner */
    .badge-status {
        position: absolute;
        top: 10px;
        right: 10px;
        padding: 3px 8px;
        border-radius: 10px;
        font-size: 0.5rem;
        font-weight: 600;
        text-transform: uppercase;
    }

    .badge-verfuegbar {
        background: #d4edda;
        color: #155724;
    }

    .badge-wenige {
        background: #fff3cd;
        color: #856404;
    }

    .badge-ausgebucht {
        background: #f8d7da;
        color: #721c24;
    }

    /* Datum - kompakter */
    .datum-box {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #f0f0f0;
    }

    .datum-text {
        font-size: 0.8rem;
        font-weight: 700;
        color: #2c3e50;
        line-height: 1.4;
    }

    .datum-bis {
        font-size: 0.75rem;
        color: #999;
        margin: 3px 0;
    }

    /* Zeiten - kompakter */
    .zeiten-box {
        background: #f8f9fa;
        padding: 8px;
        border-radius: 5px;
        margin-bottom: 8px;
        font-size: 0.85rem;
        line-height: 1.5;
    }

    .zeiten-box strong {
        color: #9b59b6;
    }

    /* Typ Badge - kleiner */
    .badge-typ {
        display: inline-block;
        padding: 4px 10px;
        border-radius: 12px;
        font-size: 0.75rem;
        font-weight: 600;
        text-transform: uppercase;
    }

    .typ-wochenkurs {
        background: #e3f2fd;
        color: #1565c0;
    }

    .typ-intensiv {
        background: #fff3e0;
        color: #ef6c00;
    }

    .typ-weekend {
        background: #f3e5f5;
        color: #6a1b9a;
    }

    .typ-abendkurs {
        background: #e8f5e9;
        color: #2e7d32;
    }

    /* Responsive */
    @media (max-width: 768px) {
        .termine-grid-compact {
            grid-template-columns: 1fr;
        }

        .wunsch-box {
            flex-direction: column;
            text-align: center;
            padding: 15px;
        }

        .filter-btn-compact {
            font-size: 0.85rem;
            padding: 6px 12px;
        }
    }

    @media (max-width: 480px) {
        .termine-wrapper {
            padding: 10px 0;
        }

        .filter-box {
            padding: 10px;
        }

        .monat-title {
            font-size: 0.9rem;
            padding: 5px 12px;
        }
    }
.certificates-section {
  margin: 40px 0;
}

.certificates-intro {
  margin: 0 auto 50px;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
}

.certificates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 30px;
  max-width: 1200px;
  margin: 0 auto 50px;
}

.certificate-card {
  background: white;
  border-radius: 12px;
  padding: 40px 30px;
  box-shadow: 0 4px 20px rgba(160, 65, 146, 0.1);
  transition: all 0.3s ease;
  border-top: 4px solid #a04192;
  text-align: center;
}

.certificate-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 30px rgba(160, 65, 146, 0.2);
}

.certificate-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 25px;
  background: linear-gradient(135deg, #a04192 0%, #c557ab 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
}

.certificate-icon svg {
  width: 40px;
  height: 40px;
}

.certificate-card h3 {
  color: #a04192;
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 15px;
  line-height: 1.3;
}

.certificate-card p {
  color: #555;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
}

.certificate-benefits {
  max-width: 900px;
  margin: 0 auto;
  background: white;
  border-radius: 12px;
  padding: 40px;
  border-left: 6px solid #a04192;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.certificate-benefits h3 {
  color: #a04192;
  font-size: 24px;
  margin-bottom: 25px;
  font-weight: 700;
}

.certificate-benefits ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.certificate-benefits ul li {
  padding: 12px 0 12px 35px;
  position: relative;
  font-size: 17px;
  line-height: 1.6;
  color: #333;
}

.certificate-benefits ul li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #a04192;
  font-weight: bold;
  font-size: 20px;
}

.certificate-benefits ul li strong {
  color: #a04192;
}
/* =====================================================
   LÖSCHEN-BUTTON - VERSTÄRKTE VERSION
   ===================================================== */

/* 5. Mobile Optimierung */
@media (max-width: 768px) {
    .woocommerce-cart-form .product-remove a.remove,
    .woocommerce table.cart a.remove {
        padding: 10px 14px !important;
    }
    
    .woocommerce-cart-form .product-remove a.remove::before,
    .woocommerce table.cart a.remove::before {
        font-size: 20px !important;
    }
    
    .woocommerce-cart-form .product-remove a.remove::after,
    .woocommerce table.cart a.remove::after {
        font-size: 15px !important;
    }
}
/* Responsive Design */
@media (max-width: 768px) {
  .certificates-section {
    padding: 40px 15px;
  }
  
  .certificates-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  
  .certificate-card {
    padding: 30px 20px;
  }
  
  .certificate-benefits {
    padding: 30px 20px;
  }
}

/* Wrapper: Zwei Spalten nebeneinander */
.headspa-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 340px);
  gap: 30px;
  margin-bottom: 32px;
  align-items: start;
  max-width: 100%;
}
.wc-subtabs li:first-child{display:none;}

/* Produktbeschreibung Styling */
.headspa-wrapper .description_produkt {
  min-width: 0; /* Wichtig für Grid-Overflow-Vermeidung */
}

.description_produkt section {
    padding-bottom: 24px;
    border-bottom: 1px solid var(--border-color);
}
    .headspa-wrapper h3{
      font-size:18px;
    }/* Card–Styles */
  .card {
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    overflow: hidden;
    border: 1px solid #eee;
    background: #f5f5f5;
		position: sticky;
    top: 20px;
    font-family: 'Helvetica Neue', Arial, sans-serif;
  }
  .card-header {
    background: #a557ab;
    color: #fff;
    padding: 16px;
    position: relative;
  }
  .card-header h2 {
    margin: 0;
    color:#FFF !important;
    font-size: 1rem;
    font-weight: normal;
  }
  .card-header::before {
    content: 'DIE FAKTEN';
    position: absolute;
    top: -10px; left: 16px;
    background: #fff; color: #d81b60;
    padding: 4px 8px; font-size: 0.75rem; font-weight: bold;
    border-radius: 4px; box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  }
  .card-body { padding: 16px; line-height: 1.5; }
  .section + .section { margin-top: 16px; }
  .section h3 {
    margin: 0 0 8px; font-size: 0.85rem; font-weight: bold;
    text-transform: uppercase; letter-spacing: 0.5px;
    border-bottom: 1px solid #ddd; padding-bottom: 4px;
  }
  .dates-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px,1fr));
    gap: 6px; margin-top: 8px;
  }
  .date-pill {
    background: #a557ab; color: #fff; text-align: center;
    padding: 4px 6px; border-radius: 4px; font-size: 0.8rem;
  }
  .info-list { list-style: none; padding: 0; margin: 0; }
  .info-list li { margin-bottom: 6px; font-size: 0.9rem; }
  .cost { font-weight: bold; font-size: 1rem; margin-top: 4px; }
  .button {
    display: inline-block; text-decoration: none; padding: 8px 16px;
    background: #d81b60; color: #fff; border-radius: 4px;
    margin-top: 12px; font-weight: bold;
  }
    /* —— RESPONSIVE —— */
  @media (max-width: 768px) {
		.woocommerce div.product div.summary form.cart, .woocommerce div.product div.summary p.cart{margin:0;}
		.woocommerce-tabs{padding:0;}
    .headspa-wrapper .description_produkt,
    .headspa-wrapper .card {
      flex: 1 1 100%;
			width:100%;
    }
    .headspa-wrapper .card {
      max-width: none;
    }
    /* Termine-Pills auf zwei Spalten reduzieren */
    .dates-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (max-width: 480px) {
    /* Auf ganz kleinen Screens nur eine Spalte bei Terminen */
    .dates-grid {
      grid-template-columns: 1fr;
    }
    .card-header h2 {
      font-size: 0.9rem;
    }
  }


.archive .post-4004{display:none;}

/*Phone number color in contacts on mobile devices*/
.dt-phone *,
.dt-phone:hover *{
color: inherit;
}
.single_add_to_cart_button.button{border-radius:8px;}
.woocommerce div.product div.summary h1{
	margin-bottom:5px;
}
.woocommerce div.product div.summary > .price {
    position: relative;
    padding-bottom: 15px;
    margin-bottom: 10px;
}
.page-title.gradient-bg {
    background: #ea5455;
    background: -webkit-linear-gradient(90deg, #ea5455 0%, #a557ab 100%);
    background: linear-gradient(90deg, #a557ab 0%, #feb692 100%);
}
.justify-text .dt-text-desc{text-align:justify;}
.justify-text .testimonial-content{text-align:justify;}
.woocommerce-shipping-totals.shipping{display:none !important}
h3.aux-modern-heading-primary{color:#a557ab;margin:5px 0px 15px 0px}
.wc-gzd-additional-info.shipping-costs-info{display:none !important;}
form.woocommerce-checkout .form-row label, .woocommerce-MyAccount-content .form-row label {    text-transform: inherit;}
.woocommerce-checkout .shop_table {
    background-color: #FFF !important;
}
.wc-grid:not(.resize-by-browser-width) .dt-css-grid {
    grid-row-gap: 5px;
    grid-column-gap: 5px;
    grid-template-columns: 1fr 1fr 1fr !important;
}
.woocommerce .content .wf-cell img {
    height: auto;
    max-width: 100%;
    width: 380px !important;
}
.wc-gzd-additional-info.wc-gzd-additional-info-loop.tax-info{display:none;}
#mc_embed_signup form {
    margin:0 !important;
}


#mc_embed_signup .mc-field-group input {
    display: block;
    width: 50%;
}
.wc-ico-cart i {
    margin-right: 5px;
    font-size: 34px;
    color: rgba(122,118,116,0.4);
}
.wc-ico-cart > .counter {
    margin-left: 10px;
    min-width: 21px;
    min-height: 21px;
    font-size: 14px;
    line-height: 20px;
}
form.cart div.quantity {
    margin:0px;
}
.product_meta,.additional_information_tab{display:none;}
.variations select {
    display: inline-block;
    width: 345px;
    max-width: 100%;
}
.woocommerce-form__label.woocommerce-form__label-for-checkbox.checkbox{display:none;}
#main {
    padding: 35px 0 90px 0;
}
form.the7-woocommerce-checkout .form-row {
    padding-bottom: 0px;
}

h2.aux-modern-heading-primary {
    color: #a557ab;
    margin: 5px 0px 15px 0px;
}

@media screen and (max-width: 778px) {
   #page .page-title-responsive-enabled.page-title .entry-title {
        font: 26px / 38px "Muli", Helvetica, Arial, Verdana, sans-serif;
    }
	.page-title-breadcrumbs{display:none;}
	.woocommerce div.product div.summary h1 {
    font-size: 26px;
}
}
.stock.in-stock{display:none !important;}

#order_review_heading {
    font-weight: bold;
}

.wc-gzd-cart-item-name-wrapper {
    font-weight: bold;
}

.product-template-default .woocommerce-Tabs-panel h2{
	    color: #a04192;
	font-size: 24px;
}
.woocom-list-content h4 a{color:#a557ab}

.training-content-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto;
    padding: 0px;
    max-width: 1200px;
    box-sizing: border-box;
}

.training-column {
    width: 48%; /* Sicherstellen, dass die Spalten nebeneinander passen */
    margin-bottom: 20px;
    padding: 20px;
    background-color: #f9f9f9;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-sizing: border-box; /* Box-Sizing sorgt für besseres Layout-Verhalten */
}

.training-column h3 {
    font-size: 1.3em;
    margin-bottom: 15px;
    color: #333;
}

.training-column ul {
    padding-left: 0;
}

.training-column ul li {
    font-size: 1.1em;
    line-height: 1.5;
    margin-bottom: 10px;
    color: #555;
}

@media (max-width: 768px) {
    .training-column {
        width: 100%; /* Spalten untereinander bei kleineren Bildschirmen */
    }
}

.woocommerce div.product div.summary .woocommerce-product-rating{
    order: 0 !important;
	  margin:0;
}

.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-contents{
	padding:10px;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item {
    position: relative;
    padding-right: 20px;

}

/* Standard-Kreis – immer sichtbar */
.variable-items-wrapper .variable-item::after {
    content: '';
    position: absolute;
    top: 63%;
    right: 14px;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    border: 2px solid #ccc;
    border-radius: 50%;
    background-color: #fff;
    box-sizing: border-box;
    transition: all 0.3s ease;
	      visibility: visible;
	opacity:1;
}

/* Wenn ausgewählt → Haken */
.variable-items-wrapper .variable-item.selected::after {
    background-color: #3b82f6;
    border-color: #3b82f6;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 8L7 11L12 5' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 12px 12px;
    background-repeat: no-repeat;
    background-position: center;
}

.variable-item:hover {
    border-color: #2563eb;
    box-shadow: 0 0 0 2px #93c5fd;
}

.variable-item.selected {
    background: #f0f9ff;
    border-color: #3b82f6;
}

.woocommerce-variation-availability {
    margin-top: 10px;
    font-weight: 500;
    color: #b45309;
}


/* Flexibles Layout für Termin-Auswahl */
.variable-items-wrapper {
    display: grid !important;
    grid-template-columns: repeat(1, 1fr); /* Standard: Mobile */
    gap: 5px;
    margin-top: 10px;
}

/* Ab Tablet: 2 Spalten */
@media (min-width: 600px) {
  .variable-items-wrapper {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Ab Desktop: 3 Spalten */
@media (min-width: 900px) {
  .variable-items-wrapper {
    grid-template-columns: repeat(3, 1fr);
  }
	.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{font-size:12px !important;}
	.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-contents {
    padding: 5px;
}
}

/* Stellt sicher, dass Swatch-Text umbricht */
.variable-items-wrapper .variable-item {
    white-space: normal;
    line-height: 1.3;
    text-align: left;
    font-size: 14px;
    font-weight: 500;
    padding: 14px 16px;
}

/* Stil für zweite Zeile – erkennt Zeile am Emoji */
.variable-item-contents .variable-item-span::first-line {
    font-weight: 600;
}

/* Basislayout für mehrzeilige Darstellung */
.variable-item-span-button {
     white-space: normal;
    line-height: 1.5;
    text-align: left;
    font-size: 12px;
    font-weight: 500;
    display: block;
}

.variable-item-span-button:before {
    content: attr(data-title);
    color: #111;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

/* Erzwingt Umbruch nach geschlossener Klammer ")" */
.variable-item-span-button::after {
    content: "";
    display: block;
    height: 0;
    margin-bottom: 4px;
}

/* Optional – manuelle Farberkennung nach Emoji im Inhalt */
.variable-item[title*="🟡"] .variable-item-span-button:before {
    color: #f59e0b;
}

.variable-item[title*="🔴"] .variable-item-span-button:before {
    color: #dc2626;
}

.variable-item[title*="🟢"] .variable-item-span-button:before {
    color: #16a34a;
}

.woo-variation-swatches .variable-items-wrapper .variable-item:not(.radio-variable-item).button-variable-item{text-align:left;}

.termin-zeile2 {
    font-size: 11px;
    font-weight: 500;
	  padding-top:5px;
}

.woo-variation-swatches .variable-items-wrapper .variable-item .variable-item-contents{
	    align-items: baseline;
}

.product .star-rating span:before{color:#fbbc04;}
.faq-container{margin:25px 0 0 0}
.faq-question br{display:none;}
        .faq-title {
            color: #2c3e50;
            font-size: 24px;
            margin-bottom: 30px;
            font-weight: 400;
        }

        .faq-subtitle {
            color: #6c757d;
            font-size: 1.1em;
            margin-bottom: 40px;
        }

        .faq-item {
            background: white;
            border-radius: 8px;
            margin-bottom: 15px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
            overflow: hidden;
            transition: all 0.3s ease;
            border: 1px solid #eee;
        }

        .faq-item p{
            margin:0px;
            padding:0px;
        }

        .faq-item:hover {
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
        }

        .faq-question {
            background: #ffffff;
            padding: 20px;
            cursor: pointer;
            border: none;
            width: 100%;
            text-align: left;
            font-size: 1.1em;
            font-weight: 600;
            color: #2c3e50;
            border-bottom: 1px solid #eee;
            transition: all 0.3s ease;
            position: relative;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .faq-question:hover {
            background-color: #f8f9fa;
            color: #a04192;
        }

        .faq-question::after {
            content: '+';
            font-size: 1.5em;
            font-weight: 300;
            color: #a04192;
            transition: transform 0.3s ease;
        }

        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            padding: 0 20px;
            max-height: 0;
            overflow: hidden;
            transition: all 0.3s ease;
            background-color: #f8f9fa;
            color: #495057;
            line-height: 1.7;
        }

        .faq-item.active .faq-answer {
            padding: 20px;
            max-height: 400px;
        }

        .highlight {
            color: #e74c3c;
            font-weight: 600;
        }

        .price-box {
            background-color: #a04192;
            color: white;
            padding: 10px 15px;
            border-radius: 5px;
            display: inline-block;
            font-weight: 600;
            margin: 5px 0;
        }

        .info-box {
            background-color: #d4edda;
            border: 1px solid #c3e6cb;
            color: #155724;
            padding: 15px;
            border-radius: 5px;
            margin: 10px 0;
        }

        @media (max-width: 768px) {
            
            .faq-title {
                font-size: 2em;
            }
            
            .faq-question {
                padding: 15px;
                font-size: 1em;
            }
            
            .faq-item.active .faq-answer {
                padding: 15px;
            }
        }

        @media (max-width: 480px) {
            
            .faq-title {
                font-size: 1.8em;
                margin-bottom: 20px;
            }
            
            .faq-subtitle {
                font-size: 1em;
                margin-bottom: 30px;
            }
            
            .faq-question {
                padding: 12px;
                font-size: 0.95em;
            }
            
            .faq-item.active .faq-answer {
                padding: 12px;
            }
        }


:root{
  --brand:#9c4cc2;              /* ggf. anpassen */
  --wc-anchor-offset:110px;     /* Höhe eures Sticky-Headers */
}

/* OVERRIDES: Subtabs als Grid ohne horizontales Scrollen */
.wc-subtabs{
  position: static !important;                /* kein Sticky, kein „Kleben“ */
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: .6rem .6rem;
  overflow: visible !important;
  white-space: normal !important;
  padding: .75rem;
  margin: 10px 0 18px !important;
	list-style:none !important;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(0,0,0,.05);
  backdrop-filter: saturate(180%) blur(8px);
  mask-image: none !important;               /* Kanten-Fades der Scrollvariante ausschalten */
}
.wc-subtabs::before{
  content: "Inhalt dieser Seite";
  grid-column: 1 / -1;
  font-weight: 600;
  font-size: .95rem;
  opacity: .8;
  margin: 0 0 .25rem 0;
}

/* Chip-Style beibehalten */
.wc-subtabs li{ margin:0; }
.wc-subtabs a{
  display:block;
  padding:.6rem .9rem;
  border:1px solid #e7e3ee;
  border-radius:999px;
  background:#fff;
  text-decoration:none;
  font-size:.95rem;
  line-height:1.2;
  transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease;
  text-align:center;
}
.wc-subtabs a:hover{ transform: translateY(-1px); box-shadow: 0 4px 10px rgba(0,0,0,.06); }
.wc-subtabs a.is-active,
.wc-subtabs a[aria-current="true"]{
  border-color: var(--brand);
  color: var(--brand);
  background: #f6f0fb;
  box-shadow: 0 6px 16px rgba(156,76,194,.18);
}

/* Responsive: mobil 2 Spalten, sehr klein 1 Spalte */
@media (max-width: 640px){
  .wc-subtabs{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wc-subtabs a{ font-size:.92rem; padding:.55rem .7rem; }
	.headspa-wrapper{display:block !important;}
}
@media (max-width: 420px){
  .wc-subtabs{ grid-template-columns: 1fr; }
}

/* ============================================
   ANFAHRTS-SEKTION - KONFLIKTFREI
   Alle Klassen mit Präfix "wk-anfahrt-"
   ============================================ */

/* HERO Abholservice-Banner */

.wk-anfahrt-hero-text h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
}

.wk-anfahrt-hero-text p {
    margin: 0 0 15px 0;
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.95;
}

.wk-anfahrt-hero-button {
    display: inline-block;
    padding: 14px 30px;
    background: white;
    color: #059669;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 700;
    font-size: 18px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.wk-anfahrt-hero-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2);
    color: #059669;
}

.wk-anfahrt-hero-subtext {
    margin-top: 10px !important;
    font-size: 14px !important;
    opacity: 0.9 !important;
}

/* Intro-Text */
.wk-anfahrt-intro {
    font-size: 16px;
    color: #374151;
    margin-bottom: 30px;
    text-align: center;
}

/* Container */
.wk-anfahrt-container {
    display: grid;
    gap: 25px;
}

/* Adresse Box */
.wk-anfahrt-adresse-box {
    background: linear-gradient(135deg, #a557ab 0%, #8f4a96 100%);
    color: white;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 4px 6px rgba(165, 87, 171, 0.2);
}

.wk-anfahrt-adresse-box h3 {
    margin: 0 0 15px 0;
    font-size: 22px;
    color: white;
}

.wk-anfahrt-adresse-content {
    font-size: 16px;
    line-height: 1.8;
}

.wk-anfahrt-maps-button {
    display: inline-block;
    margin-top: 15px;
    padding: 12px 24px;
    background: white;
    color: #a557ab;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 15px;
    transition: all 0.3s ease;
}

.wk-anfahrt-maps-button:hover {
    background: #f3f4f6;
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    color: #a557ab;
}

/* Anfahrtskarten */
.wk-anfahrt-card {
    background: white;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.wk-anfahrt-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.wk-anfahrt-icon {
    font-size: 48px;
    margin-bottom: 15px;
    text-align: center;
}

.wk-anfahrt-card h3 {
    margin: 0 0 20px 0;
    font-size: 20px;
    color: #1a1a1a;
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 2px solid #f3f4f6;
}

.wk-anfahrt-details {
    font-size: 15px;
    color: #374151;
    line-height: 1.8;
}

.wk-anfahrt-detail-badge {
    background: #f0fdf4;
    border-left: 4px solid #10b981;
    padding: 12px 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    font-size: 14px;
}

/* Wegbeschreibungs-Liste */
.wk-anfahrt-wegbeschreibung-liste {
    margin: 15px 0;
    padding-left: 25px;
    line-height: 1.8;
}

.wk-anfahrt-wegbeschreibung-liste li {
    margin-bottom: 10px;
    color: #4b5563;
}

.wk-anfahrt-wegbeschreibung-liste li strong {
    color: #1a1a1a;
    font-weight: 600;
}

/* Abholservice-Box (in Karten) */
.wk-anfahrt-abholservice-box {
    margin-top: 20px;
    padding: 15px;
    background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
    border-left: 4px solid #10b981;
    border-radius: 8px;
    font-size: 14px;
    color: #065f46;
}

.wk-anfahrt-abholservice-box strong {
    color: #064e3b;
    display: block;
    margin-bottom: 5px;
}

/* Route-Optionen */
.wk-anfahrt-route-option {
    margin: 20px 0;
    padding: 15px;
    background: #f9fafb;
    border-radius: 8px;
    border-left: 4px solid #a557ab;
}

.wk-anfahrt-route-option strong {
    display: block;
    margin-bottom: 10px;
    color: #a557ab;
    font-size: 16px;
}

/* ÖPNV Optionen */
.wk-anfahrt-oepnv-option {
    margin: 20px 0;
    padding: 15px;
    background: #f0f9ff;
    border-radius: 8px;
    border-left: 4px solid #3b82f6;
}

.wk-anfahrt-oepnv-option strong {
    display: block;
    margin-bottom: 8px;
    color: #1e40af;
    font-size: 16px;
}

.wk-anfahrt-transport-liste {
    list-style: none;
    padding-left: 0;
    margin: 10px 0;
}

.wk-anfahrt-transport-liste li {
    padding: 6px 0;
    color: #4b5563;
}

.wk-anfahrt-transport-liste li strong {
    color: #1a1a1a;
}

/* Tipp-Box */
.wk-anfahrt-tipp-box {
    background: #fffbeb;
    border: 1px solid #fef3c7;
    border-radius: 8px;
    padding: 12px 15px;
    margin-top: 15px;
    font-size: 14px;
    color: #92400e;
}

.wk-anfahrt-tipp-box strong {
    color: #78350f;
}

.wk-anfahrt-tipp-box a {
    color: #a557ab;
    text-decoration: none;
    font-weight: 600;
}

.wk-anfahrt-tipp-box a:hover {
    text-decoration: underline;
}

/* Parking Info */
.wk-anfahrt-parking-info {
    margin-top: 20px;
    padding: 15px;
    background: #ecfdf5;
    border-radius: 8px;
    border-left: 4px solid #10b981;
    font-size: 15px;
    color: #065f46;
}

.wk-anfahrt-parking-info strong {
    color: #064e3b;
}

/* Karten-Container */
.wk-anfahrt-map-card {
    grid-column: 1 / -1;
}

.wk-anfahrt-map-container {
    margin-top: 15px;
}

/* GROSSER Abholservice CTA */
.wk-anfahrt-cta {
    grid-column: 1 / -1;
}

.wk-anfahrt-cta h3 {
    margin: 0 0 15px 0;
    font-size: 28px;
    color: #1a1a1a;
}

.wk-anfahrt-cta > p {
    font-size: 17px;
    color: #374151;
    margin-bottom: 25px;
}

.wk-anfahrt-service-features {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
    margin: 25px 0;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.wk-anfahrt-feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    background: white;
    padding: 12px 15px;
    border-radius: 8px;
    font-size: 15px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.wk-anfahrt-feature-icon {
    font-size: 20px;
    flex-shrink: 0;
}

.wk-anfahrt-cta-action {
    margin-top: 30px;
    padding-top: 25px;
    border-top: 2px dashed #fbbf24;
}

.wk-anfahrt-big-button {
    display: inline-block;
    padding: 18px 45px;
    background: #10b981;
    color: white;
    text-decoration: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 6px 12px rgba(16, 185, 129, 0.3);
}

.wk-anfahrt-big-button:hover {
    background: #059669;
    transform: translateY(-3px);
    box-shadow: 0 8px 16px rgba(16, 185, 129, 0.4);
    color: white;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

@media (max-width: 768px) {
    .wk-anfahrt-hero {
        padding: 25px 20px;
    }
    
    .wk-anfahrt-hero-content {
        flex-direction: column;
        text-align: center;
    }
    
    .wk-anfahrt-hero-text h3 {
        font-size: 22px;
    }
    
    .wk-anfahrt-hero-text p {
        font-size: 15px;
    }
    
    .wk-anfahrt-hero-button {
        padding: 12px 25px;
        font-size: 16px;
    }
    
    .wk-anfahrt-adresse-box {
        padding: 20px;
    }
    
    .wk-anfahrt-card {
        padding: 20px;
    }
    
    .wk-anfahrt-icon {
        font-size: 36px;
    }
    
    .wk-anfahrt-card h3 {
        font-size: 18px;
    }
    
    .wk-anfahrt-wegbeschreibung-liste {
        font-size: 14px;
        padding-left: 20px;
    }
    
    .wk-anfahrt-map-container iframe {
        height: 300px;
    }
    
    .wk-anfahrt-cta {
        padding: 25px 20px;
    }
    
    .wk-anfahrt-cta h3 {
        font-size: 22px;
    }
    
    .wk-anfahrt-service-features {
        grid-template-columns: 1fr;
    }
    
    .wk-anfahrt-big-button {
        padding: 15px 30px;
        font-size: 18px;
    }
}

/* ============================================
   PRINT-OPTIMIERUNG
   ============================================ */

@media print {
    .wk-anfahrt-hero,
    .wk-anfahrt-cta {
        page-break-inside: avoid;
    }
    
    .wk-anfahrt-card {
        page-break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }
    
    .wk-anfahrt-map-container iframe {
        display: none;
    }
    
    .wk-anfahrt-maps-button,
    .wk-anfahrt-hero-button,
    .wk-anfahrt-big-button {
        display: none;
    }
}
.branding .mini-contacts {
    font: 16px / 22px "Arial", Helvetica, Arial, Verdana, sans-serif;
    color: #7a7674;
}


.fsm-formate{margin:30px 0;font-family:inherit}
.fsm-formate-intro{font-size:15px;color:#4b5563;line-height:1.7;margin:0 0 22px;max-width:760px}
.fsm-formate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.fsm-format-card{position:relative;background:#fff;border:1.5px solid #e5e7eb;border-radius:14px;padding:22px 20px 18px;transition:border-color .2s ease,box-shadow .2s ease}
.fsm-format-card:hover{border-color:#c4a8d8;box-shadow:0 4px 16px rgba(165,87,171,.12)}
.fsm-format-badge{position:absolute;top:-11px;right:16px;background:#a557ab;color:#fff;font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 12px;border-radius:20px;white-space:nowrap}
.fsm-format-head{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.fsm-format-icon{width:40px;height:40px;background:#F3EBF9;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fsm-format-card h3{font-size:17px;font-weight:700;color:#1C1424;margin:0;line-height:1.25}
.fsm-format-meta{font-size:13px;font-weight:600;color:#a557ab;margin:0 0 12px 50px}
.fsm-format-text{font-size:14px;color:#4b5563;line-height:1.65;margin:0 0 12px}
.fsm-format-fuer{font-size:13px;background:#faf5fb;border-radius:8px;padding:10px 12px;margin:0;color:#5A4D63;line-height:1.5}
.fsm-format-fuer strong{color:#6e3572}
.fsm-format-hint{text-align:center;margin:22px 0 0;font-size:14px;color:#6b7280}
.fsm-format-hint a{color:#a557ab;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(165,87,171,.3)}
@media(max-width:560px){.fsm-format-meta{margin-left:0}}

.fsm-kt{margin:20px 0;font-family:inherit}
.fsm-kt-rabatt{display:flex;align-items:center;gap:12px;background:#fef9ec;border:1px solid #fcd34d;border-left:4px solid #f59e0b;border-radius:0 10px 10px 0;padding:12px 16px;margin-bottom:16px;flex-wrap:wrap}
.fsm-kt-rabatt-text{flex:1;min-width:200px}
.fsm-kt-rabatt-text strong{display:block;font-size:14px;color:#92400e;margin-bottom:2px}
.fsm-kt-rabatt-text span{font-size:13px;color:#a16207}
.fsm-kt-price{display:flex;align-items:baseline;gap:8px;flex-shrink:0}
.fsm-kt-price-new{font-size:22px;font-weight:800;color:#92400e}
.fsm-kt-price-old{font-size:14px;text-decoration:line-through;color:#9ca3af}
.fsm-kt-block{border:1px solid #e5e7eb;border-radius:12px;overflow:hidden;margin-bottom:14px;background:#fff}
.fsm-kt-header{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}
.fsm-kt-title{font-size:15px;font-weight:700;color:#111827;flex:1;min-width:180px}
.fsm-kt-badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:4px;white-space:nowrap}
.fsm-kt-badge-abend{background:#F3EBF9;color:#7B3FA0}
.fsm-kt-badge-tag{background:#E6F1FB;color:#185FA5}
.fsm-kt-meta{display:flex;gap:18px;padding:12px 18px;border-bottom:1px solid #f3f4f6;flex-wrap:wrap}
.fsm-kt-meta span{font-size:13px;color:#374151}
.fsm-kt-dates{padding:12px 18px 16px}
.fsm-kt-dates-label{font-size:11px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#9ca3af;margin-bottom:8px}
.fsm-kt-pills{display:flex;flex-wrap:wrap;gap:6px}
.fsm-kt-pill{font-size:12px;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:4px 9px;color:#374151;white-space:nowrap}
.fsm-kt-status{display:flex;align-items:center;gap:6px;padding:10px 18px;background:#f9fafb;border-top:1px solid #e5e7eb;font-size:12.5px;font-weight:600;color:#854F0B}
.fsm-kt-dot{width:7px;height:7px;border-radius:50%;background:#EF9F27;flex-shrink:0}

.fsm-stundenplan{margin:30px 0;font-family:inherit}
.fsm-sp-kursbadge{display:inline-flex;align-items:center;gap:6px;background:#F3EBF9;border:1px solid #c4a8d8;border-radius:20px;padding:5px 14px;font-size:12.5px;font-weight:600;color:#7B3FA0;margin-bottom:14px}
.fsm-sp-intro{font-size:15px;color:#4b5563;line-height:1.7;margin:0 0 20px;max-width:760px}
.fsm-sp-list{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}
.fsm-sp-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border-bottom:1px solid #f3f4f6}
.fsm-sp-row:last-child{border-bottom:none}
.fsm-sp-row:nth-child(even){background:#fafafa}
.fsm-sp-datum{flex-shrink:0;width:86px;text-align:center;background:#F3EBF9;border-radius:8px;padding:7px 4px}
.fsm-sp-tag{display:block;font-size:11px;font-weight:600;color:#a557ab;text-transform:uppercase;letter-spacing:.04em}
.fsm-sp-date{display:block;font-size:15px;font-weight:700;color:#3c2040;line-height:1.2}
.fsm-sp-thema{flex:1;font-size:14px;color:#111827;font-weight:600;line-height:1.4}
.fsm-sp-zeit{flex-shrink:0;font-size:12px;color:#6b7280;white-space:nowrap}
.fsm-sp-row-pruefung{background:#f0fdf4 !important}
.fsm-sp-row-pruefung .fsm-sp-datum{background:#dcfce7}
.fsm-sp-row-pruefung .fsm-sp-tag,.fsm-sp-row-pruefung .fsm-sp-date{color:#15803d}
.fsm-sp-nachhol{display:flex;gap:12px;align-items:flex-start;background:#faf5fb;border:1.5px solid #d4a8d8;border-left:5px solid #a557ab;border-radius:0 10px 10px 0;padding:14px 16px;margin-top:16px}
.fsm-sp-nachhol-icon{width:36px;height:36px;background:#a557ab;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fsm-sp-nachhol-text{font-size:13.5px;color:#5A4D63;line-height:1.6}
.fsm-sp-nachhol-text strong{display:block;font-size:14.5px;color:#3c2040;margin-bottom:2px}
.fsm-sp-hinweis{font-size:12.5px;color:#9ca3af;margin-top:10px;line-height:1.6}
@media(max-width:560px){.fsm-sp-row{flex-wrap:wrap}.fsm-sp-zeit{width:100%;padding-left:100px}}

.fsm-fp-stundenplan{margin:30px 0;font-family:inherit}
.fsm-fp-sp-badge{display:inline-flex;align-items:center;gap:6px;background:#F3EBF9;border:1px solid #c4a8d8;border-radius:20px;padding:5px 14px;font-size:12.5px;font-weight:600;color:#7B3FA0;margin-bottom:14px}
.fsm-fp-sp-intro{font-size:15px;color:#4b5563;line-height:1.7;margin:0 0 20px;max-width:760px}
.fsm-fp-sp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.fsm-fp-day{border:1px solid #e5e7eb;border-radius:12px;background:#fff;overflow:hidden}
.fsm-fp-day-head{background:#a557ab;padding:10px 14px}
.fsm-fp-day-head .fsm-fp-day-name{display:block;font-size:15px;font-weight:700;color:#fff;line-height:1.2}
.fsm-fp-day-head .fsm-fp-day-sub{display:block;font-size:11.5px;color:#e9d5ec}
.fsm-fp-slots{padding:6px 0}
.fsm-fp-slot{display:flex;gap:10px;padding:8px 14px;border-bottom:1px solid #f3f4f6}
.fsm-fp-slot:last-child{border-bottom:none}
.fsm-fp-slot-time{flex-shrink:0;width:78px;font-size:12px;font-weight:700;color:#a557ab;line-height:1.5}
.fsm-fp-slot-text{flex:1;font-size:13px;color:#111827;line-height:1.5}
.fsm-fp-slot-pause{background:#fafafa}
.fsm-fp-slot-pause .fsm-fp-slot-time,.fsm-fp-slot-pause .fsm-fp-slot-text{color:#9ca3af;font-weight:400}
.fsm-fp-slot-highlight{background:#f0fdf4}
.fsm-fp-slot-highlight .fsm-fp-slot-time{color:#15803d}
.fsm-fp-sp-hinweis{font-size:12.5px;color:#9ca3af;margin-top:14px;line-height:1.6}

    .fsm-sp-link{display:flex;align-items:center;gap:12px;border:1.5px solid #e5e7eb;border-radius:12px;background:#fff;padding:12px 16px;margin:0 0 14px;text-decoration:none !important;transition:border-color .2s,box-shadow .2s;font-family:inherit}
    .fsm-sp-link:hover{border-color:#c4a8d8;box-shadow:0 3px 12px rgba(165,87,171,.12)}
    .fsm-sp-link-icon{width:38px;height:38px;background:#a557ab;border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .fsm-sp-link-text{flex:1;display:flex;flex-direction:column;gap:1px}
    .fsm-sp-link-text strong{font-size:14px;color:#1C1424;line-height:1.3}
    .fsm-sp-link-text span{font-size:12.5px;color:#6b7280;line-height:1.4}
    .fsm-sp-link-arrow{color:#a557ab;flex-shrink:0}

    .fsm-hs-addon{border:1.5px solid #d4a8d8;border-radius:12px;background:#faf5fb;padding:14px 16px;margin:0 0 16px;font-family:inherit}
    .fsm-hs-addon-label{display:flex;gap:12px;align-items:flex-start;cursor:pointer;margin:0}
    .fsm-hs-addon-label input{position:absolute;opacity:0;pointer-events:none}
    .fsm-hs-addon-check{width:22px;height:22px;border-radius:6px;border:1.5px solid #c4a8d8;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;transition:all .15s}
    .fsm-hs-addon-check svg{display:none}
    .fsm-hs-addon-label input:checked ~ .fsm-hs-addon-check{background:#a557ab;border-color:#a557ab}
    .fsm-hs-addon-label input:checked ~ .fsm-hs-addon-check svg{display:block}
    .fsm-hs-addon-body{flex:1}
    .fsm-hs-addon-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14.5px;font-weight:700;color:#3c2040;margin-bottom:3px}
    .fsm-hs-addon-price{font-size:13px;font-weight:700;color:#a557ab;background:#F3EBF9;border-radius:20px;padding:2px 10px;white-space:nowrap}
    .fsm-hs-addon-price .woocommerce-Price-amount{color:#a557ab}
    .fsm-hs-addon-desc{display:block;font-size:13px;color:#5A4D63;line-height:1.55}
    .fsm-hs-addon-feedback{display:none;font-size:12.5px;font-weight:600;color:#3B6D11;margin-top:8px;padding-left:34px}
    .fsm-hs-addon-feedback.fsm-show{display:block}

.fsm-bbglow-page{color:#2c2c2c;line-height:1.65}
.fsm-bbglow-page h1{font-size:2rem;color:#a557ab;margin-bottom:.4em}
.fsm-bbglow-page h2{font-size:1.4rem;color:#2c2c2c;border-left:4px solid #a557ab;padding-left:12px;margin-top:2em}
.fsm-bbglow-page .fsm-lead{font-size:1.15rem;color:#555;margin-bottom:1.5em}
.fsm-bbglow-facts{background:#faf5fb;border:1px solid #e6d3e9;border-radius:10px;padding:24px 28px;margin:1.5em 0}
.fsm-bbglow-facts ul{margin:0;padding-left:20px}
.fsm-bbglow-facts li{margin-bottom:8px}
.fsm-bbglow-anchors{display:flex;flex-wrap:wrap;gap:10px;margin:1.5em 0}
.fsm-bbglow-anchors a{background:#f3e8f4;color:#8a4590;padding:8px 16px;border-radius:20px;text-decoration:none;font-size:.9rem;font-weight:600}
.fsm-bbglow-anchors a:hover{background:#a557ab;color:#fff}
.fsm-bbglow-table{width:100%;border-collapse:collapse;margin:1em 0}
.fsm-bbglow-table th,.fsm-bbglow-table td{border:1px solid #e0d0e2;padding:10px 14px;text-align:left}
.fsm-bbglow-table th{background:#a557ab;color:#fff}
.fsm-bbglow-table tr:nth-child(even){background:#faf5fb}
.fsm-bbglow-termine{display:flex;flex-wrap:wrap;gap:14px;margin:1.2em 0}
.fsm-termin-card{flex:1 1 200px;border:2px solid #a557ab;border-radius:10px;padding:16px;text-align:center;font-weight:600;color:#8a4590}
.fsm-esf-box{background:#fff8ed;border:1px solid #f0dfb8;border-radius:10px;padding:20px 24px;margin:1.2em 0}
.fsm-esf-box strong{color:#a557ab}
.fsm-cta{display:inline-block;background:#a557ab;color:#fff !important;padding:14px 32px;border-radius:6px;font-weight:700;text-decoration:none;margin-top:1em}
.fsm-cta:hover{background:#8a4590}
.fsm-signature{margin-top:2.5em;font-style:italic;color:#666}
@media(max-width:767px){
.fsm-bbglow-page h1{font-size:1.5rem}
.fsm-bbglow-termine{flex-direction:column}
	.fsm-bbglow-anchors{gap:8px}}
	
.fsm-warum-block{margin:32px 0}
.fsm-warum-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:16px}
.fsm-warum-item{border:1px solid #e5e7eb;border-left:4px solid #a557ab;border-radius:10px;padding:14px 16px;background:#fff}
.fsm-warum-item strong{display:block;font-size:15px;color:#1C1424;margin-bottom:3px}
.fsm-warum-item span{font-size:13px;color:#6b7280;line-height:1.5}
@media(max-width:767px){.fsm-warum-grid{grid-template-columns:1fr}}

.fsm-theorie{margin:40px 0;}
.fsm-th-intro{font-size:16px;line-height:1.6;margin-bottom:24px;}
.fsm-th-stats{display:flex;gap:16px;margin-bottom:28px;flex-wrap:wrap;}
.fsm-th-stat{flex:1;min-width:140px;background:#f7f0f8;border:1px solid #e5d3e7;border-radius:12px;padding:18px 12px;text-align:center;}
.fsm-th-stat-nr{display:block;font-size:26px;font-weight:700;color:#a557ab;line-height:1.2;}
.fsm-th-stat-label{display:block;font-size:13px;color:#555;margin-top:4px;}
.fsm-th-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.fsm-th-card{background:#fff;border:1px solid #eee;border-left:4px solid #a557ab;border-radius:10px;padding:18px 20px;box-shadow:0 2px 8px rgba(0,0,0,0.04);}
.fsm-th-nr{font-size:13px;font-weight:700;color:#a557ab;letter-spacing:1px;margin-bottom:6px;}
.fsm-th-name{font-size:16px;font-weight:700;margin-bottom:6px;color:#222;}
.fsm-th-desc{font-size:14px;line-height:1.55;color:#555;}
.fsm-th-hinweis{margin-top:28px;background:#f7f0f8;border-radius:12px;padding:18px 22px;font-size:15px;line-height:1.6;}
@media (max-width:767px){
.fsm-th-grid{grid-template-columns:1fr;}
.fsm-th-stats{flex-direction:column;}
}

.fsm-quereinstieg{margin:40px 0;}
.fsm-qe-intro{font-size:16px;line-height:1.65;margin-bottom:26px;}
.fsm-qe-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;}
.fsm-qe-card{background:#fff;border:1px solid #eadcec;border-radius:12px;padding:20px 22px;box-shadow:0 2px 8px rgba(0,0,0,0.04);}
.fsm-qe-icon{font-size:26px;margin-bottom:8px;}
.fsm-qe-title{font-size:16px;font-weight:700;color:#222;margin-bottom:6px;}
.fsm-qe-desc{font-size:14px;line-height:1.55;color:#555;}
.fsm-qe-outro{margin-top:24px;font-size:15px;line-height:1.6;}
@media (max-width:767px){
.fsm-qe-grid{grid-template-columns:1fr;}
.fsm-quereinstieg{padding:24px 18px;}
}

.fsm-neu{background:linear-gradient(135deg,#faf5fb 0%,#f3e8f5 100%);border:2px solid #a557ab;border-radius:14px;padding:28px 24px;margin:35px 0;position:relative}
.fsm-neu-badge{position:absolute;top:-14px;left:24px;background:#a557ab;color:#fff;font-size:13px;font-weight:700;letter-spacing:1px;padding:5px 14px;border-radius:20px;text-transform:uppercase}
.fsm-neu-title{font-size:22px;font-weight:700;color:#333;margin:8px 0 10px}
.fsm-neu-intro{font-size:15px;color:#555;line-height:1.6;margin-bottom:20px}
.fsm-neu-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fsm-neu-card{background:#fff;border-radius:10px;padding:18px;box-shadow:0 2px 8px rgba(165,87,171,.10)}
.fsm-neu-icon{font-size:26px;margin-bottom:8px}
.fsm-neu-name{font-weight:700;color:#a557ab;margin-bottom:6px;font-size:16px}
.fsm-neu-desc{font-size:14px;color:#555;line-height:1.55}
.fsm-neu-note{font-size:13px;color:#777;margin-top:16px}
@media(max-width:767px){.fsm-neu-grid{grid-template-columns:1fr}.fsm-neu{padding:24px 16px}}

.fsm-einzel-kurz { line-height: 1.6; }
.fsm-einzel-kurz-badges { margin: 0 0 0.8em; font-weight: 600; }
.fsm-einzel-kurz-badges span { display: inline-block; margin-right: 12px; }
.fsm-einzel-kurz-tel { background: #f7f0f8; border-left: 4px solid #a557ab; padding: 12px 16px; margin-top: 0.8em; border-radius: 6px; }
.fsm-einzel-kurz-tel a { color: #a557ab; font-weight: 700; text-decoration: none; }
.fsm-einzel-kurz-tel a:hover { color: #8a4590; }