.required-item:after {
    content: ' *';
    color: #bc0001;
}

html,
body{
    background: none !important;
    font-size: 16px;
    font-family: "Open Sans",Arial,sans-serif;
}

/* Grundbutton – ORANGE (Anmeldung, Daten kopieren etc.) */
.btn{
    border-radius: 9999px;
    padding: 10px 34px;
    font-size: 16px;
    font-family: montserrat, arial;
    font-weight: bolder;
    background-color: #f97316;
    color: #fff !important;
    text-decoration: none;
}

/* Alle „besonderen“ Button-Varianten (AGB/Datenschutz/Absenden) → ORANGE */
.btn-primary,
.btn-danger,
.btn-warning {
    background-color: #f97316 !important;
    border-color: #ea580c !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-danger:hover,
.btn-danger:focus,
.btn-warning:hover,
.btn-warning:focus {
    background-color: #ea580c !important;
    border-color: #c2410c !important;
}

/* Falls „Absenden“ als input/button ohne spezielle Klasse kommt */
button[type="submit"],
input[type="submit"] {
    background-color: #f97316 !important;
    border: 1px solid #ea580c !important;
    border-radius: 9999px;
    color: #ffffff !important;
    font-weight: bold;
    padding: 8px 32px;
}

/* „Daten kopieren“ explizit ORANGE (falls Nimbus keinen .btn-Stil nimmt) */
input[type="button"][value="Daten kopieren"],
button[value="Daten kopieren"] {
    background-color: #f97316 !important;
    border-color: #ea580c !important;
    color: #ffffff !important;
}
input[type="button"][value="Daten kopieren"]:hover,
button[value="Daten kopieren"]:hover {
    background-color: #ea580c !important;
    border-color: #c2410c !important;
}

/* Hinweisbox oben auf der Anmeldeseite */
.alert-info {
    background-color: #2b2347 !important;   /* dunkles Lila */
    border-color: #f59e0b !important;       /* Orange */
    color: #f9fafb !important;
}

/* Links */
a {
    color: #333333;
}

a:focus,
a:hover{
    color: #970000;
}

/* Überschriften im Kursbereich */
.type-header-name h2 {
    font-weight:bold;
}

.group-level-item-name {
    font-size:1.4em;
    font-weight:bold;
}

/* >>> Alle Überschriften im iFrame weiß (Hobbyclub Stufe X) <<< */
body h1,
body h2,
body h3 {
    color: #ffffff !important;
}

body .type-header-name,
body .type-header-name h2,
body .type-header-name *,
body .group-level-item-name,
body .group-level-item-name * {
    color: #ffffff !important;
}

/* Tabelle mit Kursen */
#courses-table {
    margin-top:1em;
}

/* Tabellenkopf – Weiß */
.table > thead > tr > th{
    border-bottom: 2px solid #ffc64c;
    color: #ffffff !important;
}

/* Terminliste ausklappbar */
.events-info{
    cursor: pointer;
}

.course-events{
    display: none;
}

.course-events table{
    width: 100%;
}

.course-events > td{
    padding-top: 1em !important;
    padding-bottom: 1em !important;
}

.course-events > td:before{
    content: 'Termine:';
    font-weight: bold;
    display: block;
    margin-bottom: .5em;
}

.course-events > td td{
    padding: 2px 0;
}

.course-events .event-number{
    display: none;
}

/* Lehrer-Spalte ausblenden */
td.col-teacher,
th.col-teacher{
    display: none !important;
}

/* Spaltenbreiten */
.col-price{
    width: 120px;
}

td.col-events{
    width: 150px;
}

th.col-events{
    width: 110px;
}

/* Zeilenhintergrund der Kursliste */
tr.odd td{
    background-color: #eeeeee !important;
}

tr.even td{
    background-color: #ffffff !important;
}

/* Bemerkungen & Standort ausblenden */
td.col-remarks,
th.col-remarks, 
th.col-location,
td.col-location{
    display: none !important;
}

/* ---------- ANMELDEFORMULAR-DETAILS ---------- */

/* Blöcke / Bereiche des Formulars (Ihre Daten, Partner, Zahlung, …) */
fieldset {
    border: 1px solid #444444;
    padding: 15px 20px;
    margin-bottom: 20px;
    border-radius: 12px;
    background-color: #ffffff;
}

fieldset legend {
    font-weight: 700;
    color: #111827;
}

/* Feld-Beschriftungen */
label {
    font-weight: 600;
    color: #111827;
}

/* Eingabefelder & Auswahlfelder */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
input[type="date"],
textarea,
select {
    border-radius: 6px;
    border: 1px solid #d1d5db;
    padding: 6px 8px;
}

/* Fokusfarbe (Lila-Rahmen beim Anklicken) */
input:focus,
textarea:focus,
select:focus {
    outline: none;
    border-color: #a855f7;
    box-shadow: 0 0 0 1px #a855f7;
}

/* „Erfolgs“-Farben global auf Lila drehen (z.B. Bestätigungskästen) */
.panel-success,
.alert-success,
.bg-success,
.list-group-item-success,
.btn-success,
.label-success,
.badge-success,
.table-success,
tr.success > td,
tr.success > th,
td.success,
th.success {
    background-color: #f5f3ff !important;   /* sehr helles Lila */
    border-color: #a855f7 !important;       /* Lila-Rand */
    color: #111827 !important;
}

/* Kleine Hinweise (Pflichtfelder-Hinweis etc.) */
.text-muted,
.help-block {
    color: #6b7280;
}

/* ---------- Mobile ---------- */

@media screen and (max-width: 600px){

    table td[class*="col-"],
    table th[class*="col-"] {
        display:block;
    }

    #courses-table{
        font-size: .9em;
        border:1px solid #ddd;
    }

    #courses-table table,
    #courses-table tr,
    #courses-table tbody,
    #courses-table td,
    #courses-table th{
        display: block;
    }

    #courses-table thead{
        display: none !important;
    }

    #courses-table > tbody > tr > td{
        padding-left: 100px !important;
        position: relative;
        width: auto !important;
        border: 0px;
    }

    #courses-table tr.course-item{
        border-top: 1px solid #e6e7e8;
    }

    #courses-table tr.course-events{
        display: none;
    }

    #courses-table tr.course-events td{
        padding-left: 1em !important;
    }

    #courses-table .course-item td:before{
        font-weight: bold;
        padding-right: 1em;
        display: inline-block;
        width: 90px;
        margin-left: -90px;
    }

    #courses-table .course-item td:last-child .btn {
        display:block;
        margin-left:10px;
        text-align:center;
        width: calc(100% - 50px);
    }

    #courses-table .course-item td:first-child:before{
        content: "Kurs: ";
    }

    #courses-table .course-item td:last-child{
        padding-left: 0px !important;
    }

    #courses-table .course-item td:last-child:before{
        content: "";
    }

    #courses-table .course-item td.col-firstEvent:before{
        content: "Einstieg: ";
    }

    #courses-table .course-item td.col-events:before{
        content: "Termine: ";
    }

    #courses-table .course-item td.col-price:before{
        content: "Preis: ";
    }

    #courses-table .course-item td.col-location:before{
        content: "Standort: ";
    }

    #courses-table .btn-text{
        display: inline !important;
        font-size: 16px;
    }
}

/* >>> Buchungs-Auswahl (MemberCard / 10er Card etc.) <<< */
/* Grund-Look aller Kacheln */
.booking-types-container .booking-type-item {
    background-color: #ffffff !important;          /* Standard weiß */
    border: 1px solid #e5e7eb !important;          /* dezenter Rand */
    border-radius: 6px;
    padding: 10px;
}

/* Ausgewählte Kachel – möglichst alle Varianten abdecken */
.booking-types-container .booking-type-item.selected,
.booking-types-container .booking-type-item.active,
.booking-types-container .booking-type-item.current,
.booking-types-container .booking-type-item.is-selected,
.booking-types-container .booking-type-item.booking-type-item-selected,
.booking-types-container .booking-type-item.ui-state-active,
.booking-types-container .booking-type-item.success,
.booking-types-container .booking-type-item.bg-success,
/* falls der „selected“-Status auf einem Eltern-Element sitzt */
.booking-types-container .selected .booking-type-item,
.booking-types-container .active .booking-type-item {
    background-color: #f5f3ff !important;   /* sehr helles Lila */
    border-color: #a855f7 !important;       /* Lila-Rand */
    color: #111827 !important;
}

/* Text in der ausgewählten Kachel sicher dunkel halten */
.booking-types-container .booking-type-item.selected *,
.booking-types-container .booking-type-item.active *,
.booking-types-container .booking-type-item.current *,
.booking-types-container .booking-type-item.is-selected *,
.booking-types-container .booking-type-item.booking-type-item-selected *,
.booking-types-container .booking-type-item.ui-state-active *,
.booking-types-container .booking-type-item.success *,
.booking-types-container .booking-type-item.bg-success *,
.booking-types-container .selected .booking-type-item *,
.booking-types-container .active .booking-type-item * {
    color: #111827 !important;
}
