/**
 * Booking System V2 - Admin Theme Overrides
 * 
 * Contains all styling overrides from the WordPress Admin Panel:
 * - Button Styles (Back, Close, Primary, Secondary, Confirm, Select Service)
 * - Card Styles (Service, Location, Time Slots, Gender)
 * - Typography (Headlines, Descriptions, Labels)
 * - Colors & Shadows
 * - Responsive Adjustments
 * 
 * Generated: 2026-01-01 06:09:55
 * No CSS variables - direct values only
 * 
 * @package WerbeaufCustoms\BookingSystem
 * @version 5.0.0
 */

/* ============================================================
   POPUP CONTAINER OVERRIDES
   ============================================================ */

.bs-booking-container {
    background: #ffffff;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}

.bs-booking-overlay {
    background: rgba(0,0,0,0.75);
}


/* ============================================================
   BUTTON OVERRIDES
   ============================================================ */

/* Back Button */
.bs-btn-back {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    color: #495f76;
    background: #f1f4f7;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    transition: all 0.2s ease;
}
.bs-btn-back:hover {
    color: #495f76;
    background: #f1f4f7argba(241, 244, 247, 0.95);
    transform: translateY(-2px);
}

/* Close Button */
.bs-btn-close {
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    color: #495f76;
    background: #f1f4f7;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    transition: all 0.2s ease;
}
.bs-btn-close:hover {
    color: #495f76;
    background: #f1f4f7;
    transform: translateY(-2px);
}

/* Primary Buttons */
.bs-btn-primary, .bs-start-booking {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
    background: #495f76;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    font-family:  'Montserrat', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;;
    transition: all 0.2s ease;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.bs-btn-primary:hover, .bs-start-booking:hover {
    color: #ffffff;
    background: #495f76;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
}

/* Secondary Buttons */
.bs-btn-secondary {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: #495f76;
    background: #f1f4f7;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    font-family:  'Montserrat', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;;
    transition: all 0.2s ease;
}
.bs-btn-secondary:hover {
    color: #495f76;
    background: #f1f4f7;
}

/* Confirm Booking Button */
.bs-btn-confirm-booking {
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
    background: #718a7a;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    transition: all 0.2s ease;
}
.bs-btn-confirm-booking:hover:not(:disabled) {
    color: #ffffff;
    background: #718a7a;
    transform: translateY(-2px);
}

/* Select Service Button */
.btn-select-service {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    color: #ffffff;
    background: #495f76;
    padding: 0.7em 1.9em 0.7em 1.9em;
    border-radius: 10px;
    transition: all 0.2s ease;
    display: inline-block;
    text-decoration: none;
}
.btn-select-service:hover {
    color: #ffffff;
    background: #495f76;
    transform: scale(1.04);
}

/* Show More Appointments Button */
.btn-show-more-appointments {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    color: #F7F6FB;
    background: #495e77;
    padding: 0.9em 2.1em 0.9em 2.1em;
    border-radius: 10px;
    transition: all 0.2s ease;
    display: inline-block;
    border: none;
    cursor: pointer;
}
.btn-show-more-appointments:hover {
    color: #ffffff;
    background: #3d4f63;
    transform: scale(1.04);
}


/* ============================================================
   CARD & ELEMENT OVERRIDES
   ============================================================ */

/* Service Cards */
.bs-service-card {
    background: #ffffff;
    border: 2px solid #e5eaee;
    border-radius: 15px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: all 0.2s ease;
}
.bs-service-card:hover {
    background: #e5eaee;
    border-color: #495f76;
    box-shadow: 0 6px 20px rgba(73,94,119,0.15);
    transform: translateY(-4px);
}

/* Location Cards */
.bs-location-card {
    background: #ffffff;
    border: 2px solid #e5eaee;
    transition: all 0.2s ease;
}
.bs-location-card:hover {
    background: #f8f9fa;
    border-color: #495f76;
    transform: translateY(-4px);
}

/* Time Slots */
.bs-time-slot {
    background: #ffffff;
    border: 2px solid #e5eaee;
    border-radius: 10px;
    color: #495f76;
    transition: all 0.2s ease;
}
.bs-time-slot:hover {
    background: #495f76;
    color: #ffffff;
    border-color: #495f76;
}

/* Gender Selection */
.bs-gender-option {
    background: #ffffff;
    border: 2px solid #e5eaee;
    transition: all 0.2s ease;
}
.bs-gender-option:hover {
    background: #495f76;
    border-color: #495f76;
}

/* Progress Bar */
.bs-progress-step {
    background: #769cc1;
}
.bs-progress-step.active {
    background: #495f76;
}
.bs-progress-step.completed {
    background: #718a7a;
}
.bs-progress-step-name {
    color: #495f76;
}
.bs-progress-step.active .bs-progress-step-name {
    color: #495f76;
}


/* ============================================================
   TYPOGRAPHY OVERRIDES
   ============================================================ */

/* Headlines */
.bs-step-title, .bs-booking-container h2 {
    font-size: 30px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1.2;
    letter-spacing: 2px;
    color: #495f76;
    font-family:  'Montserrat', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;;
}

/* Step Description */
.bs-step-description {
    font-size: 17px;
    font-weight: 500;
    line-height: 1.7;
    color: #495f76;
    font-family:  'Montserrat', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;;
}

/* Service Card Title */
.bs-service-name, .bs-service-title {
    font-size: 16px;
    font-weight: 600;
    color: #495f76;
}

/* Service Card Image */
.bs-service-image {
    width: 60px;
    height: 60px;
}

.bs-service-card {
    grid-template-columns: 60px 1fr;
}

/* Service Card Description */
.bs-service-description {
    font-size: 16;
    color: #769cc1;
}

/* Form Labels */
.bs-form-control, .bs-booking-container label {
    font-size: 16;
    font-weight: 600;
    line-height: 1.5;
    color: #495f76;
    font-family:  'Montserrat', Inter, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;;
}

/* Error Messages */
.bs-error, .bs-message-error {
    font-size: 16;
    color: #dc3545;
    background: #f8d7da;
}

/* Success Messages */
.bs-success, .bs-message-success {
    font-size: 16;
    color: #155724;
    background: #d4edda;
}


/* ============================================================
   RESPONSIVE OVERRIDES
   ============================================================ */

/* Tablet (max-width: 981px) */
@media (max-width: 981px) {
    .bs-btn-back { font-size: 14px; }
    .bs-btn-close { font-size: 14px; }
    .bs-btn-primary, .bs-start-booking { font-size: 15px; }
    .bs-btn-secondary { font-size: 15px; }
    .bs-btn-confirm-booking { font-size: 17px; }
    .btn-select-service { font-size: 13px; }
    .btn-show-more-appointments { font-size: 15px; }
    .bs-step-title, .bs-booking-container h2 { font-size: 25px; letter-spacing: 1.5px; }
    .bs-step-description { font-size: 16px; }
    .bs-service-name, .bs-service-title { font-size: 15px; }
    .bs-service-image { width: 55px; height: 55px; }
    .bs-service-card { grid-template-columns: 55px 1fr; }
}

/* Mobile (max-width: 768px) */
@media (max-width: 768px) {
    .bs-btn-back { font-size: 13px; }
    .bs-btn-close { font-size: 13px; }
    .bs-btn-primary, .bs-start-booking { font-size: 14px; }
    .bs-btn-secondary { font-size: 14px; }
    .bs-btn-confirm-booking { font-size: 16px; }
    .btn-select-service { font-size: 12px; width: 100%; text-align: center; }
    .btn-show-more-appointments { font-size: 14px; width: 100%; }
    .bs-step-title, .bs-booking-container h2 { font-size: 22px; letter-spacing: 1px; }
    .bs-step-description { font-size: 15px; }
    .bs-service-name, .bs-service-title { font-size: 14px; }
    .bs-service-image { width: 50px; height: 50px; }
    .bs-service-card { grid-template-columns: 50px 1fr; }
}
