/**
 * HaveCom Booking - Divi Integration Styles
 * Fixes conflicts and ensures proper rendering in Divi
 */

/* Ensure container resets Divi defaults */
.et_pb_module .havecom-booking-container,
.et_builder_inner_content .havecom-booking-container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
    line-height: 1.5 !important;
    text-align: left !important;
}

/* Reset Divi's default paragraph and heading styles */
.et_pb_module .havecom-booking-container p,
.et_pb_module .havecom-booking-container h1,
.et_pb_module .havecom-booking-container h2,
.et_pb_module .havecom-booking-container h3 {
    line-height: inherit !important;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}

/* Fix Divi's button styles */
.et_pb_module .havecom-tab,
.et_pb_module .havecom-submit-btn {
    font-weight: 600 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    border: none !important;
    padding: 12px 20px !important;
}

/* Fix Divi's input styles */
.et_pb_module .havecom-brand-search input {
    background-color: var(--havecom-dark-light) !important;
    border: 2px solid var(--havecom-dark-light) !important;
    padding: 15px 45px 15px 20px !important;
    color: var(--havecom-white) !important;
}

/* Ensure grid layouts work properly */
.et_pb_module .havecom-brands-grid,
.et_pb_module .havecom-calendar,
.et_pb_module .havecom-time-slots {
    display: grid !important;
}

/* Fix z-index for modals/overlays */
.et_pb_module .havecom-loading {
    z-index: 999999 !important;
}

/* Visual Builder compatibility */
.et-fb .havecom-booking-container {
    pointer-events: all !important;
}

.et-fb .havecom-step:not(.active) {
    display: none !important;
}

/* Ensure proper spacing in Divi rows */
.et_pb_row .et_pb_column .havecom-booking-container {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Fix for Divi's default link colors */
.et_pb_module .havecom-booking-container a {
    color: var(--havecom-primary) !important;
}

/* Ensure hover effects work */
.et_pb_module .havecom-brand-item:hover,
.et_pb_module .havecom-model-item:hover,
.et_pb_module .havecom-date-item:hover,
.et_pb_module .havecom-time-item:hover {
    transform: translateY(-3px) !important;
}

/* Fix Divi's default box-sizing */
.et_pb_module .havecom-booking-container *,
.et_pb_module .havecom-booking-container *::before,
.et_pb_module .havecom-booking-container *::after {
    box-sizing: border-box !important;
}

/* Divi Builder draggable compatibility */
.et-fb-draggable-item .havecom-booking-container {
    min-height: 100px;
}

/* Fix for Divi's default transition */
.et_pb_module .havecom-booking-container button,
.et_pb_module .havecom-booking-container input {
    transition: all 0.3s ease !important;
}

/* Ensure proper rendering in Divi builder preview */
.et-db #et-fb-app-frame .havecom-booking-container {
    display: block !important;
}

/* Fix Divi's default column padding */
.et_pb_column .havecom-divi-module {
    padding: 0 !important;
}

/* Responsive adjustments for Divi columns */
@media (max-width: 980px) {
    .et_pb_column .havecom-booking-container {
        max-width: 100% !important;
        padding: 15px !important;
    }
}

/* Fix for Divi's fullwidth sections */
.et_pb_fullwidth_section .havecom-booking-container {
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Ensure animations work in Divi */
.et_animated .havecom-booking-container {
    animation-fill-mode: both !important;
}

/* Fix for Divi's specialty sections */
.et_pb_specialty_column .havecom-booking-container {
    width: 100% !important;
}

/* Divi theme customizer compatibility */
.et_divi_customizer_global_presets_settings .havecom-booking-container {
    display: block !important;
}
