/* =============================================
   Appointment Hour Booking – Divi-optimiert
   Farben: #FCAD02 (Akzent), #000000 (Dunkel)
   Schrift: Open Sans (lokal/System)
   ============================================= */

/* Service-Feld ausblenden */
.ahbfield_service { 
    display: none; 
}

/* Basis-Typografie */
#fbuilder,
#fbuilder label,
#fbuilder input,
#fbuilder textarea,
#fbuilder select {
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 15px;
    color: #333333;
}

/* Labels */
#fbuilder label {
    font-weight: 600;
    font-size: 14px;
    color: #222222;
    margin-bottom: 6px;
    display: block;
}

/* Formularfelder */
#fbuilder input[type=text],
#fbuilder input[type=email],
#fbuilder input[type=tel],
#fbuilder textarea,
#fbuilder select {
    border: 1px solid #d1d5db;
    border-radius: 6px;
    height: 48px;
    padding: 10px 14px;
    background: #fafafa;
    font-size: 15px;
    color: #333333;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

#fbuilder input[type=text]:focus,
#fbuilder input[type=email]:focus,
#fbuilder input[type=tel]:focus,
#fbuilder textarea:focus,
#fbuilder select:focus {
    border-color: #FCAD02;
    box-shadow: 0 0 0 3px rgba(252, 173, 2, 0.15);
    outline: none;
    background: #ffffff;
}

#fbuilder textarea {
    height: auto;
    min-height: 100px;
    resize: vertical;
}

/* Kalender Container */
#fbuilder .ui-datepicker {
    box-shadow: none;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    padding: 0;
}

/* Kalender-Header (Monat/Navigation) */
#fbuilder .ui-datepicker-header {
    background: #000000;
    color: #ffffff;
    border: none;
    border-radius: 0;
    padding: 10px 8px;
    font-weight: 600;
}

#fbuilder .ui-datepicker-header a {
    color: #ffffff !important;
    opacity: 0.8;
}

#fbuilder .ui-datepicker-header a:hover {
    opacity: 1;
}

/* Wochentag-Kopfzeile */
#fbuilder .ui-datepicker th {
    background: #f3f4f6;
    color: #555555;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    padding: 10px 4px;
    border: none;
    border-bottom: 1px solid #e5e7eb;
}

/* Kalender-Tabelle Rahmen entfernen */
#fbuilder .ui-datepicker table,
#fbuilder .ui-datepicker thead,
#fbuilder .ui-datepicker tr,
#fbuilder .ui-datepicker td {
    border: 0;
}

/* Verfügbare Tage */
#fbuilder td:not(.ui-datepicker-unselectable) a.ui-state-default {
    background: #FCAD02;
    color: #000000;
    font-weight: 600;
    border-radius: 4px;
    border: none;
    transition: background-color 0.2s ease;
}

#fbuilder td:not(.ui-datepicker-unselectable) a.ui-state-default:hover {
    background: #e09b00;
    color: #000000;
}

/* Ausgewählter Tag */
#fbuilder td a.ui-state-active {
    background: #000000 !important;
    color: #ffffff !important;
    border-radius: 4px;
}

/* Nicht verfügbare Tage */
#fbuilder .ui-datepicker-unselectable .ui-state-default {
    background: #f3f4f6;
    color: #cccccc;
    text-indent: 0;
    border-radius: 4px;
    border: none;
}

/* Zeitslots */
#fbuilder .slots {
    background: #ffffff;
    box-shadow: none;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 10px 14px;
    width: auto;
    min-width: 80px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #333333;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    cursor: pointer;
}

#fbuilder .slots:hover {
    border-color: #FCAD02;
    background: rgba(252, 173, 2, 0.08);
}

#fbuilder .slots.sel {
    background: #FCAD02;
    color: #000000;
    border-color: #FCAD02;
}

/* Absende-Button */
#fbuilder .pbSubmit {
    background-color: #FCAD02;
    background-image: none;
    color: #000000;
    border: none;
    border-radius: 6px;
    padding: 14px 32px;
    font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    width: auto;
    height: auto;
    transition: background-color 0.2s ease, transform 0.1s ease;
}

#fbuilder .pbSubmit:hover {
    background-color: #000000;
    color: #ffffff;
    transform: translateY(-1px);
}

#fbuilder .pbSubmit:active {
    transform: translateY(0);
}

/* Abstände zwischen Feldern */
#fbuilder .fields {
    margin-bottom: 16px;
}

/* Hinweistext unter Kalender */
#fbuilder .dfield .label {
    font-size: 13px;
    color: #666666;
    margin-top: 6px;
}

/* Responsive */
@media (max-width: 768px) {
    #fbuilder .slots {
        width: 100%;
        margin-bottom: 8px;
    }
    
    #fbuilder .pbSubmit {
        width: 100%;
        text-align: center;
    }
}