/* ADDED: Layout styles for the main container, intro text, and card text (Moved from PHP inline styles) */

.multi-img-wrapper {
    max-width: var(--site-container-width); 
    margin: 75px auto;
}

.multi-img-intro {
    text-align: center;
    margin-bottom: 50px;
}

.intro-paragraph-text { 
    color: var(--color-secondary);
}

.card-title-text { 
    font-family: var(--font-primary); 
    margin-top: 20px; 
    margin-bottom: 10px;
}

.card-desc-text { 
    color: var(--color-secondary); 
    flex-grow: 1;
    font-size:0.9em;
}

.open-form-modal {
    display: inline-block; 
    padding: 10px 25px; 
    /* Dynamic background color is set via PHP inline style */
    margin-top: 30px; 
    color: white; 
    border-radius: 25px; 
    text-decoration: none; 
    font-weight: 500; 
    text-transform: uppercase; 
    border: none; 
    cursor: pointer;
}

/* --- Original Card & Swiper Styles (Retained for functionality) --- */

.multi-img-card .swiper {
    width: 100%;
    height: 500px;
    border-radius: 25px;
    overflow: hidden;
}

.multi-img-card .swiper-slide {
    width: 100% !important;
}

.multi-img-card .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.multi-img-card .swiper-button-next,
.multi-img-card .swiper-button-prev {
    color: #fff;
}

.multi-img-cards-container {
    display: flex;
    flex-wrap: wrap;
    column-gap: 30px;
    row-gap: 70px;
    justify-content: flex-start;
}

.multi-img-card {
    width: calc(33.333% - 20px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
}

.multi-img-cards-container.two-columns .multi-img-card {
    width: calc(50% - 15px); /* Adjust gap compensation */
}

.multi-img-cards-container.two-columns .swiper {
    height: 450px !important;
}

.multi-img-cards-container.two-columns .swiper-slide img {
    height: 450px !important;
    aspect-ratio: 16 / 9; 
}

/* --- NEW: Modal Styles --- */

.form-modal-overlay {
    position: fixed;
    /* FIX 1: Ensures overlay covers full viewport area on iOS */
    inset: 0; 
    background-color: rgba(0, 0, 0, 0.8); 
    z-index: 9999; 
    display: flex; 
    justify-content: center; 
    align-items: center; 
    overflow-y: auto; 
    padding: 20px; 
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.35s ease-in-out;
}

.form-modal-overlay.is-open {
    opacity: 1;
}

.form-modal-content {
    background: white; 
    padding: 30px;
    border-radius: 8px;
    max-width: 938px; 
    width: 100%;
    position: relative; 
    
    /* FIX 2: Use dvh for dynamic height, adjusting to iOS bars */
    max-height: 95dvh; 
    max-height: 95vh; /* Fallback */

    overflow-y: auto; 
    transform: translateY(20px);
    transition: transform 0.35s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.form-modal-overlay.is-open .form-modal-content {
    transform: translateY(0);
}

.modal-close-button {
    position: absolute; /* Back to absolute for desktop */
    top: -10px;
    right: 0px;
    background: none;
    border: none;
    font-size: 40px;
    color: #ffffff;
    cursor: pointer;
    line-height: 1;
    z-index: 10000;
}

.modal-close-button:hover {
    opacity: 1;
}

/* Fallback/Error message styling */
.form-placeholder-block .form-error {
    color: red;
    font-weight: bold;
    text-align: center;
    padding: 20px;
}

/* --- Original Mobile Media Queries (Updated) --- */

@media (max-width: 768px) {
/* Update the existing selectors for form inputs within the modal */
#formModalOverlay input,
#formModalOverlay select,
#formModalOverlay .fsForm textarea { 
    background-color: var(--color-quaternary) !important; 
    border: none !important;
    
    /* 🔥 CRITICAL FIX: Set minimum font size to prevent mobile zoom */
    font-size: 16px !important; 
}
    .form-modal-overlay{
        padding: 0;
        align-items: flex-start; /* Ensure scrolling starts from the top */
    }

    #form-modal-title{
        font-size:1.1em !important;
    }
    .multi-img-wrapper {
        /* These margins were previously inline and are now controlled by CSS */
        margin-top:2px !important;
        margin-bottom:30px !important;
        padding: 0px;
        box-sizing: border-box;
    }

    .multi-img-card {
        width: 100% !important;
        padding-bottom: 20px;
    }

    .multi-img-card .button {
        margin-top: 20px;
    }

    .multi-img-card .swiper{
        border-radius:0px !important;
        height:250px;
    }

    .multi-img-cards-container {
        column-gap: 0px !important;
    }

    .multi-img-cards-container{
        row-gap:30px !important;
    }

    .multi-img-cards-container.two-columns .swiper {
        height: 250px !important;
    }

    .multi-img-cards-container.two-columns .swiper-slide img {
        height: 250px !important;
        aspect-ratio: 16 / 9; 
    }

    /* Updated selector to use the new class 'card-desc-text' */
    .multi-img-card p.card-desc-text { 
        padding-left:20px;
        padding-right:20px;
    }
    
    /* NEW: Mobile Form Modal Adjustments */
    .form-modal-content {
        max-width: 100%; 
        padding: 15px; 
        max-height: none !important; /* Allow content to grow naturally */
        height: auto;
        overflow-y: visible; /* Let overlay handle the scroll */
        border-radius: 0;
        padding-top: 80px !important;
        margin-bottom: 0;
    }
    
    .modal-close-button {
        /* FIXED FOR IPHONE: Stays in viewport even if form extends */
        position: fixed;
        top: calc(20px + env(safe-area-inset-top));
        right: 15px; 
        background: rgba(0,0,0,0.6);
        font-size: 30px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 99999;
    }

    .form-placeholder-block{
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

/* --- NEW: Form Styling inside Modal --- */

#formModalOverlay .form-modal-content {
    /* Use the styling from your previous wrapper */
    background-color: transparent; 
    padding: 20px; /* Adjust as needed */
}

/* 🌟 UPDATED: Dynamic H2 Styling */
#formModalOverlay #form-modal-title {
    color: var(--color-primary); /* Gold color */
    font-family: var(--font-secondary); /* Secondary font family */
    margin-bottom: 20px; /* Add margin below the heading */
    margin-top: 10px; /* Ensure no unwanted top margin */
    font-size: 2.5rem; /* Large font size */
    text-transform: uppercase; /* Uppercase text */
    text-align: center; /* Keep centered */
    padding: 20px 0 0 0; /* Add padding inside the container above the form */
    margin-left:10px;
    margin-right:10px;
}

/* Scoping styles to Formstack elements inside the modal content */
#formModalOverlay .form-modal-content .form-placeholder-block {
    /* Inherit the function of your old wrapper class */
    background-color: #fff !important; /* Set white background for the content inside the border */
    padding: 0;
    margin: 0 auto;
    text-align: center;
    max-width: 100%;
    
    /* CRITICAL FIX: Add Gold Border to the WRAPPER */
    border: 2px solid var(--color-primary); 
    border-radius: 8px; /* Match form-modal-content or desired radius */
    padding-bottom: 20px; /* Add some padding inside the container below the form */
    padding-top: 0; /* Ensures content starts at the top of the bordered area */
}

/* Apply Formstack-specific styles using a high-specificity selector */

#formModalOverlay .form-error {
    color: red;
    font-weight: bold;
    font-style: italic;
    margin: 0;
}

#formModalOverlay .fsBody {
    background-color: transparent;
}

#formModalOverlay .fYvTpq {
    /* CRITICAL FIX: Remove border from Formstack element to avoid double border */
    border: none !important; 
    margin-top: 0 !important; /* Remove top margin since H2 is above */
    padding-top: 0 !important;
    background-color: transparent !important; /* Use parent's background */
}

#formModalOverlay .cccegP { display: none !important; visibility: hidden !important; }
#formModalOverlay .form-placeholder-block { margin-top: 0px !important; }
#formModalOverlay .DNPCm { padding-top: 0px !important; }
#formModalOverlay form { background-color: transparent !important; color: var(--color-secondary) !important; }
#formModalOverlay .fYvTpq { font-family: var(--font-secondary) !important; }
#formModalOverlay .fsLabel { text-transform: uppercase; font-size: 13px !important; color: var(--color-secondary); }
#formModalOverlay input::placeholder,
#formModalOverlay textarea::placeholder { text-transform: uppercase !important; font-size: 12px !important; color: #a6a6a6 !important; }
#formModalOverlay .fsSubmitButton {
    background-color: var(--color-primary); border-radius: 25px; padding: 15px 35px;
    font-family: var(--font-secondary); color: var(--color-tertiary); border: none; cursor: pointer;
    display: flex; align-items: center; text-transform: uppercase; justify-content: space-around; min-width: 200px;
}
#formModalOverlay .fsSubmit { margin-top: 0px !important; padding-top: 0px !important; }
#formModalOverlay p span { font-size: 13px !important; line-height: normal !important; }
#formModalOverlay input,
#formModalOverlay select,
#formModalOverlay .fsForm textarea { background-color: var(--color-quaternary) !important; border: none !important; }
#formModalOverlay input[type='checkbox'] { background: none; background-color: transparent !important; height: auto !important; color: var(--color-secondary) !important; }
#formModalOverlay span { color: var(--color-secondary) !important; }

/* ========================================================= */
/* 🎨 SCROLLBAR STYLING FOR MODAL CONTENT (Webkit & Firefox) */
/* ========================================================= */

.form-modal-content {
    /* The element that contains the scrollable content */
    /* Height handled above by dvh/vh units */
    overflow-y: auto; 
}

/* ---------------------------------------------------- */
/* 1. Webkit Browsers (Chrome, Safari, Edge) */
/* ---------------------------------------------------- */

/* Width of the scrollbar (optional: thinner look) */
.form-modal-content::-webkit-scrollbar {
    width: 8px;
    height: 8px; /* For horizontal scrollbars */
}

/* Track (the area the thumb moves along) */
.form-modal-content::-webkit-scrollbar-track {
    background: transparent; /* Makes the area transparent */
    border-radius: 10px;
}

/* Thumb (the draggable part) */
.form-modal-content::-webkit-scrollbar-thumb {
    /* Use your primary color for a gold thumb */
    background-color: var(--color-primary); 
    border-radius: 10px;
    /* Optional: Add a subtle border */
    border: 2px solid transparent; 
}

/* Thumb on hover */
.form-modal-content::-webkit-scrollbar-thumb:hover {
    filter: brightness(1.2); /* Slightly brighter on hover */
}


/* ---------------------------------------------------- */
/* 2. Firefox Browsers */
/* ---------------------------------------------------- */

/* NOTE: Firefox uses the 'scrollbar-color' property, which styles both the thumb and the track. */

.form-modal-content {
    /* thumb color | track color */
    scrollbar-color: var(--color-primary) transparent; 
    scrollbar-width: thin; /* 'auto', 'thin', or 'none' */
}

.fYvTpq{
    padding:0px;
}

#formModalOverlay .DNPCm{
    padding-bottom:0px;
}

#formModalOverlay .ihIYnq {
    padding-bottom:0px;
}

#formModalOverlay .cMGHVh{
    margin-bottom:0px !important;
}

#formModalOverlay .gEMHBT{
    margin-top:5px;
    margin-bottom:0px;
}