/* CRITICAL OVERRIDE: Force single column layout on ALL screen sizes */

/* STRONGEST OVERRIDE - Force single column layout - highest priority override */
@media (min-width: 1200px) {
    .service-offerings {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 40px !important;
        width: 100% !important;
        max-width: 900px !important;
        margin: 40px auto !important;
        padding: 20px !important;
        height: auto !important;
        position: static !important;
        align-items: stretch !important;
        min-height: auto !important;
        /* Block the absolute positioning from main CSS */
        display: grid !important;
    }

    /* CRITICAL: Override all desktop absolute positioning */
    .service-section:nth-child(1),
    .service-section:nth-child(2),
    .service-section:nth-child(3),
    .service-section:nth-child(4),
    .service-section:nth-child(5),
    .service-section:nth-child(6) {
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        z-index: 1 !important;
        width: 100% !important;
        min-height: auto !important;
        max-height: none !important;
        display: flex !important;
        flex-direction: column !important;
    }
}

/* Force single column layout on all screen sizes - FULL WIDTH RECTANGLES */
.service-offerings {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 !important;
    padding: 0 !important;
    height: auto !important;
    position: static !important;
    align-items: stretch !important;
    min-height: auto !important;
}

/* Reset all service section positioning - FULL WIDTH RECTANGLES */
.service-section {
    position: static !important;
    width: 100% !important;
    min-height: auto !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 40px !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1 !important;
    top: auto !important;
    left: auto !important;
    border-radius: 12px !important;
    box-sizing: border-box !important;
}

/* Reset all nth-child specific positioning */
.service-section:nth-child(1),
.service-section:nth-child(2),
.service-section:nth-child(3),
.service-section:nth-child(4) {
    position: static !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 1 !important;
    width: 100% !important;
}

/* Clean hover effect */
.service-section:hover {
    transform: translateY(-3px) !important;
    z-index: 2 !important;
    box-shadow: 0 15px 30px rgba(255, 215, 0, 0.2) !important;
}

/* ULTIMATE OVERRIDE: Block all absolute positioning - FULL WIDTH RECTANGLES */
.service-offerings {
    /* Override the desktop absolute positioning completely */
    display: grid !important;
    position: static !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    /* Ensure all cards are visible */
    min-height: auto !important;
    max-height: none !important;
    gap: 15px !important;
}

/* NUCLEAR OPTION: Override every possible absolute positioning rule - FULL WIDTH */
.service-section {
    position: static !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 1 !important;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 40px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
}

/* Override hover transforms on desktop that might cause issues */
.service-section:hover {
    transform: translateY(-3px) !important;
    z-index: 2 !important;
    position: static !important;
}

/* FULL WIDTH MODAL BODY - NO SIDE MARGINS */
.modal-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 40px !important;
    min-height: auto !important;
}

/* OVERRIDE DESKTOP GRID TO SINGLE COLUMN FULL WIDTH */
@media (min-width: 1200px) {
    .modal-body {
        padding: 40px 0 !important;
    }

    .service-offerings {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-rows: auto !important;
        gap: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: auto !important;
        height: auto !important;
    }
}

/* Mobile specific */
@media (max-width: 767px) {
    .service-offerings {
        gap: 30px !important;
        max-width: 100% !important;
        margin: 30px auto 60px auto !important;
        padding: 15px !important;
    }

    .service-section {
        padding: 30px !important;
        margin-bottom: 20px !important;
    }

    .modal-body {
        min-height: calc(100vh - 120px) !important;
        padding-bottom: 80px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/* ENSURE BOOK NOW BUTTON IS ALWAYS VISIBLE */
.modal-cta-section {
    display: block !important;
    visibility: visible !important;
    position: relative !important;
    z-index: 999 !important;
    margin-top: 20px !important;
}

.btn-book-now {
    display: inline-flex !important;
    visibility: visible !important;
}

/* ENSURE MODAL SCROLLING ALLOWS BUTTON TO BE VISIBLE */
.modal-content {
    overflow-y: auto !important;
    max-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
}

.service-modal {
    overflow-y: auto !important;
}


