/* Booking System Styles (debranded) */

:root {
    /* Canonical brand variables */
    --brand-primary: #28a745;
    --brand-primary-dark: #218838;
    --brand-primary-light: #d4edda;
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f8f9fa;
}

.sidebar {
    background-color: white;
    border-right: 1px solid #dee2e6;
    min-height: calc(100vh - 56px);
    padding: 1rem 0;
}

.sidebar-content {
    padding: 0 1rem;
}

.sidebar-heading {
    color: #6c757d;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    margin-bottom: 1rem;
}

.nav-pills .nav-link {
    color: #6c757d;
    border-radius: 0.375rem;
    margin-bottom: 0.25rem;
}

.nav-pills .nav-link:hover {
    background-color: var(--brand-primary-light);
    color: var(--brand-primary);
}

.nav-pills .nav-link.active {
    background-color: var(--brand-primary);
    color: white;
}

.main-content {
    padding: 2rem 0;
}

.card {
    border: none;
    box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
    border-radius: 0.5rem;
}

.card-header {
    background-color: white;
    border-bottom: 1px solid #dee2e6;
    font-weight: 600;
}

.btn-primary {
    background-color: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn-primary:hover {
    background-color: var(--brand-primary-dark);
    border-color: var(--brand-primary-dark);
}

.footer {
    background-color: #f8f9fa !important;
}

/* Limitierte Trennlinie über dem Footer (Container-Breite) */
.footer-line {
    border-top: 1px solid #dee2e6;
}

/* Wizard Styles */
.wizard-progress {
    margin: 2rem 0;
}

.wizard-step {
    position: relative;
}

.wizard-step-number {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e9ecef;
    color: #6c757d;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0.5rem;
    font-weight: bold;
}

.wizard-step.completed .wizard-step-number {
    background: var(--brand-primary);
    color: white;
}

.wizard-step.active .wizard-step-number {
    background: var(--brand-primary);
    color: white;
}

.wizard-step-title {
    font-size: 0.9rem;
    color: #6c757d;
}

.wizard-step.completed .wizard-step-title,
.wizard-step.active .wizard-step-title {
    color: #333;
    font-weight: 500;
}

/* Responsive */
@media (max-width: 768px) {
    .sidebar {
        display: none;
    }
    
    .main-content {
        padding: 1rem 0;
    }
    
    .wizard-step-title {
        font-size: 0.8rem;
    }
    
    .wizard-step-number {
        width: 35px;
        height: 35px;
    }
}


/* Time input UX: hide clear (X) icon on supporting browsers */
/* Edge/IE */
input.time-input-field::-ms-clear,
input.time-input-field::-ms-reveal {
    display: none;
}
/* Chrome/Safari/Edge (WebKit/Blink) */
input.time-input-field {
    -webkit-appearance: none;
            appearance: none;
}
input.time-input-field::-webkit-search-decoration,
input.time-input-field::-webkit-search-cancel-button,
input.time-input-field::-webkit-search-results-button,
input.time-input-field::-webkit-search-results-decoration,
input.time-input-field::-webkit-clear-button,
input.time-input-field::-webkit-textfield-decoration-container,
input.time-input-field::-webkit-calendar-picker-indicator,
input.time-input-field::-webkit-contacts-auto-fill-button,
input.time-input-field::-webkit-credentials-auto-fill-button {
    display: none !important;
}
/* Firefox doesn’t show a clear button for type=text by default */

/* Hide Microsoft Editor assistive icons/buttons around inputs */
[data-ms-editor="false"] + .ms-editor-suggest,
[data-ms-editor] ~ .ms-editor-suggest,
.ms-editor-suggest,
[data-ms-editor]::-ms-input-placeholder {
    display: none !important;
}





