

/* --- 1. HIDE MOBILE ELEMENTS ON DESKTOP --- */
.mobile-hamburger, .mobile-sidebar {
    display: none;
}

/* --- 2. MOBILE ONLY STYLES (Screen size 768px and below) --- */
@media screen and (max-width: 768px) {
    
    /* Show Hamburger on Mobile */
    .mobile-hamburger {
        display: flex;
        flex-direction: column;
        gap: 5px;
        position: fixed !important;
        top: 25px;
        right: 20px;
        z-index: 99999;
        cursor: pointer;
        
    }

    .mobile-hamburger span {
        width: 25px;
        height: 3px;
        background: #fff; /* Hamburger color */
         position: fixed !important;
    }

    /* The White Sidebar */
   

    /* List Styling */
    .mob-list { list-style: none; flex-grow: 1; }
    .mob-list li { border-bottom: 1px solid #eee; }
    .mob-list li a, .mob-drop-btn {
        display: block;
        padding: 15px 0;
        color: #333;
        text-decoration: none;
        font-size: 14px;
        font-weight: 500;
    }

    /* Sub-menu (Accordion) */
    .mob-sub { 
        list-style: none; 
        padding-left: 15px; 
        display: none; /* Controlled by JS */
        background: #fafafa;
    }
    
    .mob-drop.open .mob-sub { display: block; }

    /* The Register Button */
    .mob-reg-btn {
        background: #c5a059;
        color: white;
        border: none;
        padding: 15px;
        font-weight: bold;
        border-radius: 4px;
        margin-top: 20px;
    }

    /* HIDE THE ORIGINAL DESKTOP NAV ON MOBILE */
    nav, .reserve-wrapper {
        display: none !important;
    }
}
@media screen and (max-width: 768px) {
    /* The Hamburger icon must be on the very top layer */
    

    /* The Sidebar Menu */
    .mobile-sidebar {
        display: flex;
        position: fixed;
        top: 0;
        right: -100%; 
        width: 80%;
        height: 100vh;
        background: #ffffff;
        z-index: 999998 !important; /* Just below the hamburger */
        transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    }

    /* When this class is added by JS, it moves onto the screen */
    .mobile-sidebar.active {
        right: 0 !important;
    }
}
@media screen and (max-width: 768px) {
    

    /* Ensure the mobile menu doesn't exceed 100% width */
    .mobile-sidebar {
        width: 85%; /* Leave a little gap on the left */
        max-width: 300px;
        right: -320px; /* Hide it completely based on its width */
    }

    .mobile-sidebar.active {
        right: 0 !important;
    }
}
/* --- GLOBAL FIX FOR SIDE SCROLL --- */


@media screen and (max-width: 768px) {
    /* 1. HEADER CLEANUP */
    header {
        padding: 0 20px !important;
        height: 80px !important;
        justify-content: space-between !important;
        display: flex !important;
    }

    /* Logo to the Left */
    .logo-container {
        position: static !important;
        transform: none !important;
        margin: 0 !important;
    }

    .logo-container img {
        width: 150px !important; /* Smaller logo for mobile */
    }

    /* Hide Desktop Social Icons and Book Now Button */
    .social-icons, 
    .reserve-wrapper, 
    nav {
        display: none !important;
    }

    /* 2. THE HAMBURGER BUTTON (On the Right) */
    

    .mobile-hamburger span {
        width: 100%;
        height: 2px;
        background: #ffffff;
        transition: 0.3s;
    }

    /* 3. HERO CONTENT ADJUSTMENT */
    .hero-content {
        left: 0 !important; /* Reset the 2% shift from desktop */
        padding-top: 150px !important;
        width: 100% !important;
    }

    .feature-grid {
        flex-direction: column;
        gap: 20px !important;
    }

    .divider {
        width: 50px !important;
        height: 1px !important;
    }

    /* 4. DESTINATION PARTS (Stacking) */
    .side-container {
        position: relative !important;
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        padding: 40px 20px !important;
        width: 100% !important;
    }

    .side-dest-item {
        width: 100% !important;
        flex-direction: column !important; /* Text above image */
        height: auto !important;
        gap: 15px !important;
        text-align: center;
        border-bottom: 1px solid rgba(255,255,255,0.1);
        padding-bottom: 20px !important;
    }

    .side-dest-preview {
        width: 100% !important; /* Full width image */
        height: 200px !important;
        opacity: 1 !important;
        display: block !important;
        margin: 0 !important;
    }

    .side-dest-preview img {
        width: 100%;
        height: 100%;
    }

    /* 5. THE SIDEBAR MENU */
    .mobile-sidebar {
        display: flex;
        position: fixed;
        top: 0;
        right: -100%; /* Hidden off-screen */
        width: 80%;
        height: 100vh;
        background: #ffffff;
        z-index: 99999;
        transition: 0.4s ease-in-out;
        padding: 100px 30px;
        box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    }

    .mobile-sidebar.active {
        right: 0 !important; /* Slides in perfectly */
    }
}
@media screen and (max-width: 768px) {
    /* 1. HIDE THE DESTINATIONS PART ON MOBILE */
    .side-container {
        display: none !important;
    }

    /* 2. REPOSITION THE BRAND CONTENT (Crafted with Experience, etc.) */
    .hero-content {
        position: absolute !important;
        top: 20% !important; /* Moves it towards the top center */
        left: 50% !important;
        transform: translateX(-50%) !important;
        padding-top: 0 !important;
        width: 100% !important;
        z-index: 15;
    }

    .feature-grid {
        flex-direction: column !important; /* Stack them vertically */
        gap: 30px !important;
    }

    .feature-item h2 {
        font-size: 24px !important; /* Slightly smaller for mobile screens */
        text-align: center;
    }

    /* 3. CLEAN UP THE HEADER */
    header {
        padding: 0 20px !important;
        height: 90px !important;
    }

    /* Hide Desktop Buttons/Icons */
    .social-icons, 
    .reserve-wrapper, 
    nav {
        display: none !important;
    }

    /* Ensure Logo is Left-Aligned */
    .logo-container {
        position: relative !important;
        left: 0 !important;
        top: 0 !important;
        transform: none !important;
    }

    .logo-container img {
        width: 160px !important;
    }

    /* 4. THE HAMBURGER (Top Right) */
    
    
}
@media screen and (max-width: 768px) {
    /* 1. INCREASE LOGO WIDTH */
    .logo-container img {
        width: 200px !important; /* Adjusted from 160px to 200px */
        height: auto;
    }

    /* 2. THE MENU BOX (SIDEBAR) */
    .mobile-sidebar {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        right: -100%; /* Hidden */
        width: 85%;
        height: 100vh;
        background: #ffffff;
        z-index: 1000000; /* Stays on top of everything */
        padding: 80px 30px 40px;
        transition: 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
        box-shadow: -10px 0 30px rgba(0,0,0,0.5);
    }

    .mobile-sidebar.active {
        right: 0 !important;
    }

    /* 3. THE CLOSE (X) ICON */
    .close-menu {
        position: absolute;
        top: 25px;
        right: 25px;
        font-size: 28px;
        color: #333;
        cursor: pointer;
        z-index: 1000001;
    }
    
    /* Hide the hamburger icon when menu is open (Optional but cleaner) */
    body.menu-open .mobile-hamburger {
        display: none !important;
    }
}

/* FORCE HAMBURGER TO STAY FIXED AT TOP */
@media screen and (max-width:768px){

#mobHam{
    position: fixed !important;
    top: 35px !important;
    right: 20px !important;
    bottom: auto !important;
    left: auto !important;

    z-index: 9999999 !important;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

#mobHam span{
    width: 28px;
    height: 3px;
    background:#fff;
    display:block;
}

}@media (max-width:768px){

#mobHam{
    position: fixed;
    top: 25px;
    right: 20px;
    z-index: 999999;
}

}
@media (max-width:768px){

.heros{
    position: relative;
}

#mobHam{
    position: sticky;
    top: 25px;
    margin-left: auto;
    margin-right: 20px;
    z-index: 10;

    display: flex;
    flex-direction: column;
    gap: 6px;
}

#mobHam span{
    width: 30px;
    height: 3px;
    background:#fff;
}

}


/* --- 2. SHOW ON MOBILE ONLY (768px and below) --- */

@media screen and (max-width: 768px) {
    .mobile-only-header {
        display: flex !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 75px;
        padding: 0 20px;
        justify-content: space-between;
        align-items: center;
        z-index: 9999999;

        /* --- THE GLASS EFFECT --- */
        background: rgba(255, 255, 255, 0.1); /* White with 10% opacity */
        backdrop-filter: blur(15px);        /* Blurs elements behind the header */
        -webkit-backdrop-filter: blur(15px); /* Support for Safari */
        
        /* Subtle border to define the edge */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        
        /* Optional: adds a soft shadow for depth */
        box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
    }

    .logo-container img {
        height: 45px;
        width: auto;
        /* Ensures logo stands out on glass */
        filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    }

    #mobHam span {
        background: #ffffff !important;
        box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    }
}
@media screen and (max-width: 768px) {
    .mobile-only-header {
        display: flex !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 75px;
        padding: 0 20px;
        justify-content: space-between;
        align-items: center;
        z-index: 9999999;
        transition: all 0.4s ease;
        
        /* 1. INITIAL STATE: Fully Transparent */
        background: rgba(0, 0, 0, 0);
        backdrop-filter: blur(0px);
        -webkit-backdrop-filter: blur(0px);
    }

    /* 2. SCROLLED STATE: High Contrast Glass */
    .mobile-only-header.scrolled {
        /* Subtle dark tint (using your resort's deep palette) */
        background: rgba(26, 60, 52, 0.4); 
        
        /* Heavy blur for clarity */
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    }

    .mobile-only-header.scrolled .logo-container img {
        /* Shrink logo slightly on scroll for a professional feel */
        transform: scale(0.9);
        filter: drop-shadow(0 4px 8px rgba(0,0,0,0.5));
    }
}
@media screen and (max-width: 768px) {
    /* THE ICON (Highest Layer) */
    #mobHam {
        display: flex !important;
        flex-direction: column;
        gap: 6px;
        position: fixed !important;
        top: 25px;
        right: 20px;
        z-index: 2000000 !important; /* Top of everything */
        cursor: pointer;
    }

    #mobHam span {
        width: 30px;
        height: 3px;
        background: #ffffff; /* White icon on glass */
        transition: 0.3s ease-in-out;
        display: block;
    }

    /* THE SIDEBAR (Below the icon) */
    .mobile-sidebar {
        position: fixed !important;
        top: 0;
        right: -100% !important; /* Hidden off-screen */
        width: 85%;
        max-width: 300px;
        height: 100vh;
        background: #ffffff !important;
        z-index: 1000000 !important;
        transition: 0.4s ease-in-out;
        display: flex;
        flex-direction: column;
        padding-top: 100px;
    }

    /* WHEN OPENED */
    .mobile-sidebar.active {
        right: 0 !important; /* Slide onto screen */
    }

    /* TRANSFORMATION: Hamburger to X and Color Change */
    body.menu-active #mobHam span {
        background: #1a3c34; /* Dark green icon on white menu */
    }

    body.menu-active #mobHam span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    body.menu-active #mobHam span:nth-child(2) {
        opacity: 0;
    }
    body.menu-active #mobHam span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
}
@media screen and (max-width: 768px) {
    /* Ensure the sidebar allows scrolling to see the button at the bottom */
    .mobile-sidebar {
        display: flex;
        flex-direction: column;
        overflow-y: auto !important; /* Forces scroll if content is long */
        padding-bottom: 50px; /* Space at the very bottom */
    }

    /* Styling the link wrapper */
    .mob-reg-link {
        text-decoration: none !important;
        display: block;
        width: 100%;
        margin-top: 20px;
    }

    /* Your existing button style with added click feedback */
    .mob-reg-btn {
        background: #c5a059; /* Your Gold */
        color: white;
        border: none;
        padding: 15px;
        width: 100%;
        font-weight: bold;
        border-radius: 4px;
        cursor: pointer;
        transition: 0.3s;
    }

    /* Makes the button feel "pressed" when clicked */
    .mob-reg-btn:active {
        transform: scale(0.95);
        background: #a6874a;
    }
}
/* --- SUBMENU ACCORDION STYLES --- */
.mob-sub {
    display: none; /* Keep it hidden by default */
    list-style: none;
    padding-left: 20px;
    background: #f9f9f9;
}

/* Show submenu when parent has 'open' class */
.mob-drop.open .mob-sub {
    display: block;
}

/* Optional: Rotate the plus icon when open */
.mob-drop.open .fa-plus {
    transform: rotate(45deg);
    color: #c5a059; /* Your gold color */
}

.mob-drop-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    padding: 15px 0;
}
@media screen and (max-width: 768px) {
    /* 1. Ensure the Sidebar is the top layer */
    .mobile-sidebar {
        z-index: 1000000 !important;
        position: fixed;
        background: #ffffff;
        padding-top: 100px; /* Gives space so links aren't under the notch */
    }

    /* 2. THE MAGIC FIX: Disable Header clicks when menu is open */
    body.menu-active .mobile-only-header {
        /* This allows your click to "pass through" the logo to the link below */
        pointer-events: none !important; 
        opacity: 0;
    }
    
    /* 3. Re-enable clicks ONLY for the Hamburger so you can still close it */
    body.menu-active #mobHam {
        pointer-events: auto !important;
    }

    /* 4. Make the link area larger */
    .mob-list li a {
        display: block;
        width: 100%;
        padding: 15px 0;
        position: relative;
        z-index: 1000001 !important; /* Forces the link to the front */
    }
}
@media screen and (max-width: 768px) {
    /* 1. Ensure the Sidebar is the top layer */
    .mobile-sidebar {
        z-index: 1000000 !important;
        position: fixed;
        background: #ffffff;
        padding-top: 100px; /* Gives space so links aren't under the notch */
    }

    /* 2. THE MAGIC FIX: Disable Header clicks when menu is open */
    body.menu-active .mobile-only-header {
        /* This allows your click to "pass through" the logo to the link below */
        pointer-events: none !important; 
        opacity: 0;
    }
    
    /* 3. Re-enable clicks ONLY for the Hamburger so you can still close it */
    body.menu-active #mobHam {
        pointer-events: auto !important;
    }

    /* 4. Make the link area larger */
    .mob-list li a {
        display: block;
        width: 100%;
        padding: 15px 0;
        position: relative;
        z-index: 1000001 !important; /* Forces the link to the front */
    }
}
@media screen and (max-width: 768px) {
    /* 1. This forces the lines to turn BLACK only when the menu-active class is on the body */
    body.menu-active #mobHam span {
        background-color: #000000 !important;
        background: #000000 !important; /* Double protection */
        box-shadow: none !important;    /* Removes any white glow */
    }

    /* 2. Make sure the icon is not being hidden by the header's opacity */
    body.menu-active .mobile-only-header {
        opacity: 1 !important; 
        background: transparent !important; /* Hides the green/glass bar but keeps the icon */
        pointer-events: none !important;    /* Let's you click the Home link */
    }

    /* 3. Re-enable clicking for just the icon */
    body.menu-active #mobHam {
        pointer-events: auto !important;
        z-index: 2000005 !important; /* Highest layer */
    }

    /* 4. The 'X' animation (makes it clearly a close button) */
    body.menu-active #mobHam span:nth-child(1) {
        transform: translateY(9px) rotate(45deg);
    }
    body.menu-active #mobHam span:nth-child(2) {
        opacity: 0 !important;
    }
    body.menu-active #mobHam span:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg);
    }
}
@media screen and (min-width: 769px) {
    .mobile-only-header {
        display: none !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Force the Sidebar to stay inside the viewport */
    .mobile-sidebar {
        width: 85% !important; /* Keep it slightly less than 100% so users see the page behind */
        max-width: 320px !important;
        box-sizing: border-box !important; /* Crucial: includes padding in the width calculation */
        overflow-x: hidden !important; /* Kills horizontal scroll */
        padding: 100px 20px 40px !important; /* Balanced padding */
    }

    /* 2. Force the list and buttons to 100% of the SIDEBAR width (not screen width) */
    .mob-list, 
    .mob-reg-link, 
    .mob-reg-btn {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* 3. Ensure the parent container doesn't scroll horizontally */
    html, body {
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
}
@media screen and (max-width: 768px) {
    /* 1. MAIN SIDEBAR - SAME TEAL AS IMAGE */
    .mobile-sidebar {
        background-color: #1a6e6e !important; 
        font-family: "Playfair Display", "Times New Roman", serif !important;
        padding: 100px 30px 40px 30px !important;
        display: flex;
        flex-direction: column;
        border: none !important;
        box-shadow: -10px 0 30px rgba(0,0,0,0.3);
    }

    /* 2. REMOVE ALL UNDERLINES & LINES */
    .mob-list, .mob-sub {
        list-style: none !important;
        padding: 0;
        margin: 0;
        border: none !important; /* Removes underlines */
        background-color: #1a6e6e !important; /* MATCHES MAIN MENU COLOR */
    }

    .mob-list li {
        border: none !important;
        text-decoration: none !important;
    }

    /* 3. MAIN LINKS - THIN & WHITE */
    .mob-list li a, 
    .mob-drop-btn {
        color: #ffffff !important; 
        font-size: 19px !important;
        padding: 12px 0 !important;
        text-decoration: none !important; 
        border: none !important; 
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-weight: 300 !important; /* REDUCED WEIGHT */
        background-color: transparent !important;
    }

    /* 4. SUBMENU - SAME BACKGROUND AS MAIN MENU */
    .mob-sub {
        padding-left: 20px !important;
        /* Keep it hidden until toggled by JS */
        display: none; 
        border: none !important;
        background-color: #1a6e6e !important; /* EXACT SAME COLOR */
    }

    /* If your JS adds 'open' class to 'mob-drop' li */
    .mob-drop.open .mob-sub {
        display: block !important;
    }

    .mob-sub li a {
        color: #ffffff !important; /* VISIBLE WHITE TEXT */
        font-size: 17px !important;
        padding: 10px 0 !important;
        text-decoration: none !important;
        border: none !important;
        display: block;
        font-weight: 300 !important; /* THIN WEIGHT */
        opacity: 0.9;
    }

    /* 5. GOLD PLUS ICON (+) */
    .mob-drop-btn i, 
    .fa-plus {
        color: #c5a059 !important; 
        font-style: normal;
        font-size: 16px;
        font-weight: 300 !important;
    }

    /* 6. BOOK NOW BUTTON */
    .mob-reg-link {
        margin-top: auto !important;
        padding-top: 40px;
        text-decoration: none !important;
    }

    .mob-reg-btn {
        background: #c5a059 !important;
        color: white !important;
        width: 100%;
        padding: 15px;
        border: none !important;
        border-radius: 4px;
        font-weight: 500;
        letter-spacing: 1px;
        cursor: pointer;
        font-family: sans-serif;
    }
}




@media screen and (max-width: 768px) {
    /* 1. Reset the link wrapper (No gap here) */
    .mob-reg-link {
        display: block; 
        width: 100%;
        text-decoration: none !important;
        pointer-events: none; 
        margin-top: 0 !important; /* Forces the link to sit tight against the one above */
    }

    /* 2. Set the exact small gap on the button */
    .mob-reg-btn {
        pointer-events: auto; 
        background: #c5a059 !important;
        color: white !important;
        width: 100%;
        padding: 15px;
        
        /* ADJUST THIS NUMBER TO CHANGE THE GAP */
        margin-top: 4px; 
        
        border: none !important;
        border-radius: 4px;
        font-weight: 500;
        letter-spacing: 1px;
        text-transform: uppercase;
        cursor: pointer;
    }
}
@media screen and (max-width: 768px) {
    /* This targets the spans ONLY when the menu is open/active */
    body.menu-active #mobHam span {
        background-color: #c5a059 !important; /* Your Gold Color */
        background: #c5a059 !important;
    }
}
@media (max-width: 768px) {
    /* 1. Change the Main Title Font */
    .gatherings-main .gatherings-visual h1 {
font-family: 'DM Sans', sans-serif;        
        font-size: 28px !important;
        color: #ffffff !important; /* Keeping it white for contrast */
        letter-spacing: 4px !important;
        text-transform: uppercase !important;
    }

    /* 2. Change the Sub-Hook (the sentence) Font */
    .gatherings-main .sub-hook {
        font-family: 'Tenor Sans', sans-serif !important; /* Brand consistency */
        font-size: 13px !important;
        
        /* Change from green to a high-contrast white */
        color: #ffffff !important; 
        
        /* Remove All-Caps for a softer, luxury feel */
        text-transform: none !important;
        /* font-style: italic !important; */
        
        letter-spacing: 0.5px !important;
        line-height: 1.3 !important;
        font-weight: 300 !important;
        
        margin-top: 25px !important;
        max-width: 160% !important;
        opacity: 0.9; /* Slight transparency for elegance */
    }

    /* 2. Fix the title spacing so it doesn't crowd the sentence */
    .gatherings-main .gatherings-visual h1 {
        margin-bottom: 10px !important;
        line-height: 1.1 !important;
    }

    /* 3. Ensure the underline is gone */
    .gatherings-main .gatherings-visual::after {
        display: none !important;
    }
}
@media (max-width: 768px) {
    /* Targets the gold underline and hides it only on mobile */
    .gatherings-visual::after {
        display: none !important;
    }

    /* Optional: If you want to remove any extra padding left over from the line */
    .sub-hook {
        margin-bottom: 0 !important;
    }
}
/* next */


/* --- CONSOLIDATED PREMIUM MOBILE STYLES --- */
@media screen and (max-width: 768px) {

    /* 1. SECTION & GRID RESET */
    .reveal-section {
        padding: 20px 0 40px !important; 
        background-color: #fdfdfb !important;
    }

    .reveal-grid {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 !important;
        background: transparent !important;
    }

    /* 2. MEDIA HANDLING */
    .reveal-media.landscape {
        width: 100% !important;
        height: 280px !important;
        order: 1 !important; /* Forces image to stay at top */
    }

    .reveal-media.portrait {
        display: none !important; /* Keeps layout clean on small screens */
    }

    /* 3. CONTENT BOX OVERLAP */
    .reveal-content {
        order: 2 !important;
        width: 92% !important;
        margin: -60px auto 0 !important; /* Creates the premium layered effect */
        padding: 40px 25px !important;
        background: #ffffff !important;
        box-shadow: 0 15px 45px rgba(0,0,0,0.08) !important;
        z-index: 10 !important;
        border: none !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 4. BRANDING & HEADER FIX (Resolves Overlap) */
    .prive-header {
        display: flex !important;
        flex-direction: column !important; /* Stacks elements vertically */
        align-items: center !important;
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 20px !important;
    }

    .brand-col {
        order: -1 !important; /* Moves "Signature Privé" to the very top */
        margin-bottom: 20px !important;
        width: 100% !important;
        position: relative !important;
    }

    .prive-eyebrow {
        font-size: 21px !important;
        letter-spacing: 0.5em !important;
        color: #c5a059 !important; /* Gold */
        line-height: 1.8 !important;
        display: inline-block !important;
        border-bottom: 1px solid rgba(197, 160, 89, 0.2) !important;
        padding-bottom: 10px !important;
    }

    /* 5. TYPOGRAPHY & SPACING */
    .title-col {
        margin-left: 0 !important;
        width: 100% !important;
    }

    .gold-heading {
        font-size: 18px !important;
        letter-spacing: 3px !important;
        margin-bottom: 8px !important;
        color: #c5a059 !important;
        margin-top: -50px !important;
    }

   

    .prive-subtitle {
        font-size: 18px !important;
        color: #197b7e !important; /* Premium Teal */
        margin: 2px 0 15px 0 !important;
    }

   .managed-tag {
        /* 1. Use the most legible luxury font for tags */
        font-family: 'DM Sans', sans-serif !important;        

        font-size: 13px !important;
        letter-spacing: 2.5px !important;
        text-transform: uppercase !important;
        
        /* 2. FORCE DARK BLACK */
        color: #000000 !important; 
        opacity: 1 !important;           /* Removes any transparency */
        text-shadow: none !important;    /* Removes glow/blur that makes it look grey */
        -webkit-font-smoothing: antialiased; /* Makes the black look sharper */
        
        display: block !important;
        margin-top: 10px !important;
    }

    /* 6. INFORMATION BOX (The "Note" Style) */
    .occasion-list {
        background: #fcfbf8 !important;
        padding: 25px !important;
        border-left: 2px solid #c5a059 !important;
        margin-top: 0px !important;
        text-align: left !important;
    }

    
    /* 7. GATHERINGS LIST FIX (Resolves Black Box Overlap) */
    .gatherings-visual {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
    }

    .black-list-container {
        position: relative !important;
        margin-bottom: 30px !important;
        z-index: 1 !important;
    }

    .cursive-text { 
        margin-top: 20px !important;
        display: block !important;
        clear: both !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Force the container to respect element height */
    .reveal-content {
        display: flex !important;
        flex-direction: column !important;
        height: auto !important; /* Prevents container from cutting off text */
        margin: -60px 15px 0 !important;
        padding: 40px 20px !important;
        width: auto !important;
    }

    /* 2. Neutralize the Header Overlap */
    .prive-header {
        display: flex !important;
        flex-direction: column !important;
        position: static !important; /* Removes absolute/fixed behavior */
        height: auto !important;
        gap: 15px !important;
        border-bottom: 1px solid #eee !important;
        padding-bottom: 20px !important;
        margin-bottom: 20px !important;
    }

    /* 3. Separate the "Signature Privé" Badge */
    .brand-col {
        position: static !important;
        order: -1 !important; /* Keeps it at the top */
        width: 100% !important;
        text-align: center !important;
        margin: 0 0 10px 0 !important;
    }

    .prive-eyebrow {
        display: block !important;
        position: static !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        letter-spacing: 0.3em !important;
        margin-top: -20px !important;
    }

    /* 4. Fix the Main Title Column */
    .title-col {
        position: static !important;
        margin: 0 !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* 5. Space out the Titles to prevent crashing */
    
    .prive-subtitle {
        position: static !important;
        display: block !important;
        margin: 0px 0 !important;
        font-size: 14px !important;
    }

    /* 6. The Story Grid Fix */
    .prive-story-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin: 20px 0 !important;
    }

    .story-left, .story-right {
        position: static !important;
        width: 100% !important;
    }

    /* 7. Bottom Box Spacing */
    
}
@media screen and (max-width: 768px) {
    /* 1. Remove bottom space from the branding badge */
    .brand-col {
        margin-bottom: 0 !important; /* Removes the gap below the badge */
        padding-bottom: 0 !important;
    }

    .prive-eyebrow {
        line-height: 1.1 !important; /* Tightens the spacing between THE / SIGNATURE / PRIVÉ */
        margin-bottom: 0 !important;
        display: block !important;
    }

    /* 2. Tighten the Header container */
    .prive-header {
        gap: 0 !important; /* Forces elements to touch if no margins are present */
        margin-bottom: 10px !important;
        padding-bottom: 5px !important;
    }

    /* 3. Remove top space from the gold heading */
    .gold-heading {
        margin-top: -40px !important; /* Pulls the heading directly under the badge */
        padding-top: 0 !important;
        margin-bottom: 5px !important;
        line-height: 1 !important;
    }

    /* 4. Ensure the title column doesn't have extra spacing */
    .title-col {
        padding-top: 0 !important;
        margin-top: -5px !important; /* Optional: Pulls it up slightly more */
    }
}
@media screen and (max-width: 768px) {
    /* 1. Tighten the Main Title */
    .prive-title {

        margin-top: 0 !important;       /* Removes gap above the title */
        margin-bottom: 0 !important;    /* Removes gap below the title */
        padding-bottom: 0 !important;
        line-height: 1 !important; 
        font-family: 'DM Sans', sans-serif;        
        /* THE "MODEL" SETTINGS */
        font-weight: 500 !important;   /* Removes all bolding */
        font-size: 19px !important;    /* Exact size from your request */
        line-height: 1.3 !important;   /* Extra spacing like the screenshot */
        text-align: center !important;
         color: #2b2a2a !important;          /* Removes extra vertical "air" inside the text box */
    }

    /* 2. Tighten the Lead Text */
    .lead-text {
        margin-top: 2px !important;     /* Minimal 2px gap to keep it touching but readable */
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        line-height: 1 !important;      /* Makes the paragraph box as short as possible */
        font-size: 12px !important;
    }

    /* 3. Container Fix */
    .story-left {
        gap: 0 !important;              /* Removes flex-gap if the parent is a flexbox */
        margin-bottom: 10px !important; /* Controls space before the next section starts */
    }
}
@media screen and (max-width: 768px) {
    .occasion-list {
        /* 1. Remove Design Accents */
        background: transparent !important; /* Removes the background color */
        border-left: none !important;      /* Removes the gold vertical line */
        box-shadow: none !important;       /* Ensures no subtle shadows remain */
        
        /* 2. Adjust Spacing for Normal Text */
        padding: 0 !important;             /* Removes the box padding so it aligns with other text */
        margin-top: 15px !important;       /* Keeps a clean gap from the title above */
        width: 100% !important;
    }

   
}
@media (max-width: 768px) {
    /* 1. Target the parent container of these blocks */
    /* This assumes the parent is a flex/grid container */
    .story-content, 
    div:has(> .occasion-list) { 
        display: block !important; /* Forces vertical flow with no flex gaps */
        gap: 0 !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    /* 2. Remove the empty containers entirely */
    .story-right, 
    .main-body {
        display: none !important;
        height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 3. Tighten the lead text margin */
    .lead-text {
        margin-bottom: 10px !important; /* Reduced to almost nothing */
        padding-bottom: 0 !important;
        font-size: 10px !important;
    }

    /* 4. Force the occasion list to stick to the top */
    .occasion-list {
        margin-top: 0 !important;
        padding-top: 0 !important;
        position: relative;
        top: -5px; /* Subtle pull-up if there is still a tiny line-height gap */
    }

    .occasion-list p {
        margin-top: -100px !important;
        padding-top: 0 !important;
        line-height: 1.4 !important;
        font-family: 'DM Sans', sans-serif !important;        
        /* THE "MODEL" SETTINGS */
        font-weight: 400 !important;   /* Removes all bolding */
        font-size: 15px !important;    /* Exact size from your request */
        line-height: 1.5 !important;   /* Extra spacing like the screenshot */
        text-align: justify !important;
         color: #1f1e1e !important;     
        
    width: 100%;
        margin: 0 auto 10px !important;
        display: block !important;
        
        /* Smoothing for that "Retina" crisp look */
        -webkit-font-smoothing: antialiased;
        /* Ensure no extra spacing is added */
    word-spacing: normal !important;
    letter-spacing: normal !important;

    }
}
/* next */

@media screen and (max-width: 768px) {
    /* 1. Use the section class to lock the styles inside */
    .inclusions-section {
        padding: 40px 0 !important;
        background-color: #ffffff !important;
    }

    /* 2. Header & Title Spacing */
    .inclusions-section .section-intro {
        padding: 0 25px !important;
        margin-bottom: 30px !important;
        text-align: left !important;
    }

    .inclusions-section .main-title {
        font-family: 'DM Sans', sans-serif !important;
        font-size: 24px !important;
        font-weight: 500 !important;
        letter-spacing: -0.5px !important;
        color: #1a1a1a !important;
        margin: 0 0 8px 0 !important;
    }

    .inclusions-section .title-line {
        width: 40px !important;
        height: 1.5px !important;
        background: #b38e44 !important;
        margin: 0 !important;
    }

    /* 3. Horizontal Scroll Fix */
    .inclusions-section .inclusions-grid {
        display: flex !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        gap: 15px !important;
        padding: 0 25px 40px !important;
        -webkit-overflow-scrolling: touch;
    }

    .inclusions-section .inclusions-grid::-webkit-scrollbar {
        display: none;
    }

    /* 4. Luxury Card Look */
    .inclusions-section .inclusion-card {
        flex: 0 0 85% !important; /* Shows a peek of the next card */
        scroll-snap-align: center !important;
        background: #ffffff !important;
        border: 1px solid #eeeeee !important;
        padding: 15px 25px !important;
        box-shadow: 0 10px 30px rgba(0,0,0,0.05) !important;
        min-height: 250px !important;
        position: relative;
        margin-top: 80px !important;
    }

    /* 5. Typography Fixes */
    .inclusions-section .card-title {
        font-family: 'DM Sans', sans-serif !important;
        font-size: 20px !important;
        font-weight: 500 !important;
        color: #1a1a1a !important;
        margin-bottom: 10px !important;
    }

    .inclusions-section .card-lead {
font-family: 'DM Sans', sans-serif !important;        
        font-size: 13px !important;
        color: #b38e44 !important; /* Gold lead text for luxury feel */
        /* text-transform: uppercase; */
        letter-spacing: 1px;
        margin-bottom: 15px !important;
    }

    .inclusions-section .card-list li {
        font-family: 'Inter', sans-serif !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        color: #131313 !important;
        margin-bottom: 8px !important;
        list-style: none !important;
        padding-left: 20px !important;
        position: relative;
    }

    /* Adds a custom gold dash before list items */
    .inclusions-section .card-list li::before {
        content: "—";
        position: absolute;
        left: 0;
        color: #b38e44;
    }

    /* Numbering position */
    .inclusions-section .card-num {
        font-size: 11px !important;
        color: #cccccc !important;
        position: absolute;
        top: 20px;
        right: 20px;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Force the container to show content */
    section.inclusions-section {
        display: block !important;
        visibility: visible !important;
        overflow: visible !important;
    }

    /* 2. Bring the Header into view */
    section.inclusions-section .section-intro {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding: 40px 25px 10px !important; /* Adds space at top so it's not hidden */
        position: relative !important;
        z-index: 99 !important; /* Pulls it to the front */
    }

    /* 3. Force Title Visibility */
    section.inclusions-section h2.main-title {
        display: block !important;
        visibility: visible !important;
        font-family: 'DM Sans', sans-serif !important;
        font-size: 24px !important;
        color: #1a1a1a !important; /* Dark black for clarity */
        margin: 0 0 10px 0 !important;
        opacity: 1 !important;
        text-align: left !important;
        margin-top: 25px !important;
    }

    /* 4. Force Line Visibility */
    section.inclusions-section .title-line {
        display: block !important;
        width: 50px !important;
        height: 2px !important;
        background-color: #b38e44 !important; /* Gold */
        margin: 0 !important;
        opacity: 1 !important;
    }
}
@media screen and (max-width: 768px) {
    /* Targets the header container to create the gaps */
    section.inclusions-section .section-intro {
        display: block !important;
        
        /* ADJUST THESE VALUES TO CHANGE THE GAPS */
        padding-top: 60px !important;    /* Gap above the heading */
        padding-bottom: 40px !important; /* Gap below the heading (before the cards) */
        
        padding-left: 25px !important;   /* Keeps it aligned with your cards */
        margin: 0 !important;            /* Resets any interfering margins */
    }

    /* Ensures the title itself doesn't have extra bottom space fighting the gap */
    section.inclusions-section h2.main-title {
        margin-bottom: 2px !important;
        line-height: 1.2 !important;
        margin-left: -20px !important;
    }

    /* Ensures the gold line stays tucked under the title */
    section.inclusions-section .title-line {
        margin-top: 0 !important;
         margin-left: -20px !important;

    }
}
/* next */

@media screen and (max-width: 768px) {
    /* 1. Tighten Section Gaps */
    .pricing-section {
        padding: 10px 0 10px !important; /* Reduced top/bottom padding */
        margin-top: -70px !important;    /* Pulls it slightly closer to the div above */
    }
    
    .pricing-container {
        padding: 0 25px !important;      /* Consistent side breathing room */
    }

    /* 2. Fix the Title Alignment */
    .pricing-main .section-intro {
        margin-left: 0 !important;      /* Resets negative margin for mobile center/left flow */
        margin-bottom: 25px !important;
        text-align: left !important;
    }

    .main-title {
        font-size: 28px !important;
        line-height: 1.1 !important;
        color: #1a1a1a;
    }

    /* 3. Refine the Main Price Box */
    .primary-offer {
        background: #ffffff;
        padding-bottom: 30px;
    }

    .package-name {
        font-size: 14px !important;
        letter-spacing: 0.5px;
        margin-top: -50px !important;
    }

    .price-box {
        margin: 10px 0 !important;
    }

    .amount {
        font-size: 35px !important; /* Slightly smaller for mobile elegance */
        letter-spacing: -2px !important;
    }

    /* 4. Luxury Detail Box Styling */
    .pricing-details {
        padding: 25px !important;        /* Compact padding */
        margin-top: -50px !important;        /* Removes large gap between price and details */
        border: 1px solid #f2ece4;       /* Subtle border for structure */
        background-color: #fdfaf7;       /* Matches your luxury tint */
    }

    .detail-item {
        padding: 15px 0 !important;      /* Tighter vertical list */
    }

    .detail-label h4 {
        font-size: 12px !important;      /* Smaller, cleaner caps */
        letter-spacing: 1px;
    }

    .detail-cost {
        font-size: 16px !important;
        font-weight: 500;
    }

    .complimentary .detail-cost {
        font-size: 11px !important;      /* Keeps "Complimentary" elegant, not bulky */
    }
}
@media screen and (max-width: 768px) {
    /* 1. Main Wrapper Alignment */
    .pricing-details {
        display: flex !important;
        flex-direction: column !important;
        padding: 0 20px !important;
        background: #ffffff;
                margin-top: -50px !important;        /* Removes large gap between price and details */

    }

    /* 2. Grid Structure to lock the two main columns */
    .detail-item {
        display: grid !important;
        /* Column 1: Labels (65%) | Column 2: Prices (35%) */
        grid-template-columns: 65% 1fr !important;
        align-items: center !important; 
        border-bottom: 1px solid #f2f2f2 !important;
        padding: 15px 0 !important;
    }

    /* 3. Label Column (Heading + Sub-text) */
    .detail-label {
        display: flex !important;
        flex-direction: column !important; /* Stacks heading and span vertically */
        align-items: flex-start !important; /* Aligns both to the exact same left edge */
        text-align: left !important;
    }

    /* Headings (Extra Adult, etc.) */
    .detail-label h4 {
        font-family: 'Inter', sans-serif !important;
letter-spacing: -0.02em !important;
font-weight: 600 !important;
        font-size: 18px !important;
        color: #313030 !important;
        margin: 0 !important;
        line-height: 1.2 !important;
        -webkit-font-smoothing: antialiased;
    }

    /* Sub-text (Per person, Ages, etc.) */
    .detail-label span {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 12px !important;
        color: #888888 !important;
        margin-top: 3px !important; /* Space directly under the heading */
        line-height: 1 !important;
        display: block !important;
    }

    /* 4. Price Column (Right Side) */
    .detail-cost {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important;
        font-size: 15px !important;
        color: #313030 !important;
        text-align: right !important; /* Locked to the right wall */
        -webkit-font-smoothing: antialiased;
    }

    /* 5. Gold accent for Complimentary */
    .detail-item.complimentary .detail-cost {
        color: #b38e44 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }

    /* Remove border from last item for a clean transition */
    .detail-item:last-child {
        border-bottom: none !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Target the intro header specifically */
    section.pricing-section .section-intro {
        text-align: left !important;
        /* Adjust this value to move it further left or right */
        padding-left: 0 !important; 
        margin-left: -5px !important; 
    }

    /* 2. Ensure the title follows the move */
    section.pricing-section h2.main-title {
        text-align: left !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
        display: block !important;
        color: #1a1a1a;
    }

    /* 3. Ensure the container isn't forcing a large center-padding */
    section.pricing-section .pricing-container {
        padding-left: 15px !important; /* Standard safe margin */
        padding-right: 15px !important;
    }

    /* 4. Kill any centered lines if they exist */
    section.pricing-section .title-line {
        margin-left: 0 !important;
        margin-right: auto !important;
    }
}
@media screen and (max-width: 768px) {
    /* Target ONLY the package name */
    section.pricing-section .package-name {
        /* Reduce font size */
        font-size: 12px !important; 
        
        /* Move it left - increase the negative value to move it further */
        margin-left: -5px !important; 
        
        /* Ensure it stays left-aligned */
        text-align: left !important;
        width: 100% !important;
        display: block !important;

        /* Maintain consistency with your "Model" look */
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important;
        letter-spacing: 1.5px !important;
        text-transform: uppercase !important;
        color: #b38e44 !important; /* Kept your signature gold */
    }
}
@media screen and (max-width: 768px) {
    /* Hide the line break on mobile devices */
    .main-title br {
        display: none;
    }

    /* Ensure the title doesn't force a wrap via width or white-space */
    .main-title {
        white-space: nowrap;
    }
}
@media screen and (max-width: 768px) {
    .pricing-details {
        /* Adjust the px value to move it higher or lower */
        margin-top: -30px; 
        
        /* Optional: ensures it stays on top of any overlapping backgrounds */
        position: relative; 
        z-index: 2;
    }
}
@media screen and (max-width: 768px) {
    /* Force Title to one line */
    .main-title br {
        display: none !important;
    }
    .main-title {
        white-space: nowrap !important;
        color: #000;
    }

    /* Force move the details section UP */
    .pricing-details {
        transform: translateY(-40px) !important; /* Adjust -60px to move it more or less */
        position: relative !important;
        z-index: 999 !important;
    }
}
/* next */

@media screen and (max-width: 768px) {
    /* 1. Tighten Section Spacing */
    .retreat-section {
        padding: 10px 20px !important; /* Reduced top/bottom gap */
        text-align: left !important;   /* Professional left-align for mobile readability */
        margin-top: -110px !important;  /* Seamless transition from previous section */
    }

    /* 2. Fix Alignment & Heading */
    .main-heading {
        margin-left: 0 !important;    /* Resets the -60px desktop margin */
        font-size: 28px !important;
        line-height: 1.1 !important;
        letter-spacing: -0.5px !important;
        margin-bottom: 8px !important;
        margin-top: -180px !important;
    }

    .sub-heading {
        margin-left: 0 !important;    /* Resets the -60px desktop margin */
        font-size: 14px !important;
        margin-bottom: 15px !important;
        color: #b38e44 !important;    /* Using your signature gold for emphasis */
        font-weight: 400 !important;
    }

    /* 3. Refine the Content Block */
    .text-block {
        border-top: 1px solid #f2f2f2 !important; /* Lighter, more premium divider */
        padding-top: 15px !important;
        margin: 0 !important;        /* Align with the headings above */
        max-width: 100% !important;
        margin-top: -50px !important;
    }

    .body-text.primary {
        font-size: 18px !important;  /* Refined size for mobile */
        line-height: 1.4 !important;
        margin-bottom: 15px !important;
        color: #1a1a1a !important;
    }

    .body-text.secondary {
        font-size: 14px !important;  /* Smaller italicized text for elegance */
        margin-bottom: 20px !important;
        line-height: 1.6 !important;
        color: #666 !important;
    }
}

/* next */


@media screen and (max-width: 768px) {
    /* 1. Tighten the Section Spacing */
    .package-section {
        padding: 10px 20px 20px !important; /* Minimal top/bottom padding */
        background-color: #fcfbf7 !important; /* Slightly lighter for a fresh feel */
        margin-top: -20px !important;
    }

    /* 2. Compact Header */
    .main-header {
        margin-bottom: 35px !important;
        text-align: left !important;
    }

    .title {
        font-size: 24px !important;
        margin-bottom: 5px !important;
        letter-spacing: -0.5px !important;
        margin-top: -20px !important;
    }

    .welcome {
        font-size: 14px !important;
        line-height: 1.4 !important;
        color: #666 !important; /* Soften the welcome text color */
        margin-bottom: 0 !important;
    }

    /* 3. Stack the Groups with Clean Spacing */
    .inclusions-row {
        gap: 30px !important; /* Tighter gap between groups */
        flex-direction: column !important;
        margin-top: 30px !important;
    }

    .inclusion-group {
        min-width: 100% !important;
    }

    /* 4. Refine Category Tags and Group Titles */
    .category-tag {
        font-size: 11px !important;
        margin-bottom: 8px !important;
        opacity: 0.8;
        text-align: left !important;
        margin-left: -180px !important;
    }

    .group-title {
        font-size: 17px !important;
        padding-bottom: 10px !important;
        margin-bottom: 15px !important;
        border-bottom: 1px solid #eee !important; /* Thinner, lighter line */
        text-align: left !important;
    }

    /* 5. Premium List Styling */
    .item-list li {
        font-size: 15px !important;
        margin-bottom: 12px !important;
        display: flex !important;
        align-items: center !important;
    }

    .item-list li::before {
        width: 15px !important; /* Shorter gold line for mobile balance */
        margin-right: 12px !important;
    }

    /* Disable hover effects for mobile to keep it stable */
    .item-list li:hover {
        padding-left: 0 !important;
        color: inherit !important;
    }
}

/* next */


@media screen and (max-width: 768px) {
    /* 1. Tighten Section Spacing */
    .pricing-section {
        padding: 20px 20px 30px !important; /* Minimal top/bottom gap */
        margin-left: 0 !important; /* Resetting the desktop negative margin */
    }

    /* 2. Compact Header Alignment */
    .main-header {
        margin-bottom: 30px !important;
        text-align: left !important;
    }

    section.pricing-section .main-header .title {
        font-size: 22px !important;
        margin-bottom: 15px !important;
        margin-top: 30px !important;
    }

    .welcome {
        font-size: 14px !important;
        color: #666 !important;
    }

    /* 3. Refine Pricing Grid for Mobile */
    .pricing-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important; /* Tighter vertical spacing */
        margin-bottom: 40px !important;
    }

    .price-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 20px 15px !important; /* Reduced padding */
        text-align: left !important;
        border: 1px solid #eee !important;
        background: #fff !important;
    }

    /* Highlight the Suite slightly without being bulky */
    .price-item.highlighted {
        border-color: #c4a484 !important;
        box-shadow: 0 4px 12px rgba(196, 164, 132, 0.1) !important;
    }

    .room-type {
        font-size: 16px !important;
        margin-bottom: 0 !important; /* Align horizontally with cost */
    }

    .cost {
        font-family: 'Times New Roman', Times, serif !important;
        font-size: 27px !important;
        font-weight: 600 !important;
        color: #000000 !important;
    }

    /* 4. Clean up Additional Occupancy */
    .additional-costs {
        max-width: 100% !important;
        padding: 0 5px !important;
    }

    .extra-row {
        font-size: 14px !important;
        margin-bottom: 12px !important;
    }

    .line-spacer {
        margin: 0 10px !important;
        opacity: 0.5 !important;
    }

    .line-spacer::after {
        width: 30% !important; /* Shorter gold accent for mobile */
    }

    .tax-note {
        margin-top: 20px !important;
        font-size: 12px !important;
        text-align: left !important; /* Consistent with header */
    }
    section.pricing-section .package-cap {
        font-family: 'DM Sans', sans-serif !important;
        
        /* THE "MODEL" SETTINGS */
        font-weight: 400 !important;   /* Removes all bolding */
        font-size: 15px !important;    /* Exact size from your request */
        line-height: 1.4 !important;   
        color: #363535 !important;     /* Specific dark gray */
        
        text-align: left !important;   /* Aligns with your title and line */
       
        width: 90%;
        margin: 0 0 20px 0 !important;
        display: block !important;
        
        /* Smoothing for that "Retina" crisp look */
        -webkit-font-smoothing: antialiased;
        word-spacing: normal !important;
        letter-spacing: normal !important;
    }
    
}
@media screen and (max-width: 768px) {
    /* 1. Force the grid to maintain uniform item heights */
    .pricing-grid {
        display: grid !important;
        grid-template-columns: 1fr !important; /* One box per row on mobile */
        gap: 15px !important;
        align-items: stretch !important; /* Forces all items in a row to be same height */
    }

    /* 2. Standardize all boxes to match the "highlighted" style */
    .price-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        
        /* Apply the gold border to EVERY box */
        border: 1px solid #c4a484 !important; 
        background-color: #ffffff !important;
        
        /* Ensure same padding and sizing */
        padding: 25px 20px !important;
        height: 100% !important; 
        box-sizing: border-box !important;
        
        /* Subtle shadow for depth */
        box-shadow: 0 4px 12px rgba(196, 164, 132, 0.08) !important;
    }

    /* 3. Typography Reset */
    .room-type {
        font-size: 16px !important;
        margin-bottom: 0 !important;
        color: #1a1a1a !important;
        text-align: left !important;
    }

    .cost {
        font-size: 18px !important;
        font-weight: 600 !important;
        color: #c4a484 !important;
        text-align: right !important;
    }
}
@media screen and (max-width: 768px) {
    /* Target the container to align everything left */
    section.pricing-section .pricing-main .section-intro {
        text-align: left !important;
        padding-left: 20px !important;
        margin-bottom: 25px !important;
    }

    /* Unique targeting for the Package Details title */
    section.pricing-section h2.main-title {
        font-family: 'DM Sans', sans-serif !important;
        /* font-weight: 500 !important; */
        
        /* Premium refined size */
        font-size: 23px !important; 
        
        /* Tight line-height for the 2-line stack */
        line-height: 1.1 !important; 
        
        color: #313030 !important;
        margin: 0 0 12px 0 !important;
        padding: 0 !important;
        display: block !important;
        letter-spacing: -0.5px; /* Slight tightening for a high-end look */
        
        /* Anti-aliasing for crisp rendering */
        -webkit-font-smoothing: antialiased;
        margin-left: -20px !important;
    }

    /* The gold line directly under "Details" */
    section.pricing-section .title-line {
        width: 40px !important;
        height: 1px !important;
        background-color: #b38e44 !important;
        margin-left: 0 !important;
        margin-top: 0 !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Container spacing */
    section.pricing-section .pricing-details {
        padding: 0 20px !important;
        margin-top: 10px !important;
    }

    /* 2. Row layout */
    section.pricing-section .detail-item {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 15px 0 !important;
        border-bottom: 1px solid #f2f2f2 !important;
    }

    /* 3. Label and Font Styling */
    section.pricing-section .detail-label h4 {
        font-family: 'DM Sans', sans-serif;        
        /* THE "MODEL" SETTINGS */
        font-weight: 400 !important;   /* Removes all bolding */
        font-size: 14px !important;    /* Exact size from your request */

        color: #0a0a0a !important;
        margin: 0 !important;
        line-height: 1.2 !important;
        text-transform: capitalize !important;
        letter-spacing: 1px !important;
    }

    section.pricing-section .detail-label span {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 13px !important;
        color: #1d1d1d !important;
        display: block;
        margin-top: 2px;
    }

    /* 4. Cost Styling */
    section.pricing-section .detail-cost {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 15px !important;
        color: #313030 !important;
        text-align: right !important;
    }

    /* 5. Highlight for 'Complimentary' */
    section.pricing-section .detail-item.complimentary .detail-cost {
        color: #0e0d0d !important; /* Uses your signature gold */
        font-size: 14px !important;
        text-transform: uppercase;
        font-family: 'Times New Roman', Times, serif !important;
       
    }

    /* Final smoothing */
    section.pricing-section .detail-item * {
        -webkit-font-smoothing: antialiased;
    }
}

/* next */

@media screen and (max-width: 768px) {
    /* 1. Container Spacing */
    section#escape-plan {
        padding: 40px 20px !important;
        text-align: left !important;
        background-color: #ffffff; /* Or match your background */
        font-size: 2px !important;
    }

    /* 2. Sub-Heading (Model Style) */
    section#escape-plan .sub-heading {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important; /* Slightly more prominent for the plan name */
        font-size: 13px !important;
        color: #b38e44 !important;   /* Signature Gold */
        text-transform: uppercase;
        letter-spacing: 2px;
        margin-bottom: 25px !important;
        display: block !important;
        -webkit-font-smoothing: antialiased;
    }

    /* 3. Text Block & Body Text (The "Model" Settings) */
    section#escape-plan .text-block {
        max-width: 100%;
        margin: 0 auto !important;
    }

    section#escape-plan .body-text {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;   /* No bolding */
        font-size: 15px !important;    /* Your exact requested size */
        line-height: 1.4 !important;   /* Clean spacing */
        color: #363535 !important;     /* Specific gray */
        text-align: justify !important; /* Matches your previous sections */
        
        margin-bottom: 15px !important;
        display: block !important;
        
        /* High-end rendering */
        -webkit-font-smoothing: antialiased;
        word-spacing: normal !important;
        letter-spacing: normal !important;
    }

    

    /* Remove extra margin from the last paragraph */
    section#escape-plan .body-text:last-child {
        margin-bottom: 0 !important;
    }
}
@media screen and (max-width: 768px) {
    /* High specificity: ID + Class */
    section#escape-plan h2.main-heading {
        font-family: 'DM Sans', sans-serif !important;
        
        /* Set this to your desired size (e.g., 22px) */
        font-size: 24px !important; 
        
        /* Kills the extra gap around the text */
        line-height: 1.1 !important; 
        
        /* Premium weight - matches your other sections */
        font-weight: 500 !important;
        
        color: #313030 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        text-align: left !important;
        display: block !important;
        
        /* Prevent browser overrides */
        -webkit-text-size-adjust: none !important;
    }

    /* Tighten the wrapper if there's still a gap */
    section#escape-plan .retreat-content {
        padding-top: 10px !important;
        margin-top: 0 !important;
    }
}
/* next */
@media screen and (max-width: 768px) {
    /* 1. Tighten Section Spacing */
    .addons-section {
        padding: 20px 0 20px !important; /* Minimal vertical gap */
        margin-top: -10px !important;    /* Seamless transition */
    }

    .addons-container {
        padding: 0 25px !important;      /* Balanced side padding */
    }

    /* 2. Fix Heading Alignment */
    .section-intro {
        margin-left: 0 !important;      /* Resets desktop shift */
        margin-bottom: 25px !important;
    }

    .main-title {
        font-size: 30px !important;
        margin-left: 0 !important;      /* Fixes the -40px shift for mobile */
        line-height: 1.1 !important;
    }

    .title-line {
        width: 40px !important;         /* More elegant on mobile */
    }

    /* 3. Refine Activity List */
    section.addons-section .addons-description .lead-text {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 0px !important;
        margin-top: -45px !important;
        margin-left: -20px !important;
    }

    .activity-list {
        margin-bottom: 35px !important; /* Reduced bottom gap */
        margin-top: 20px !important;
    }

    .activity-list li {
        font-size: 17px !important;     /* Slightly smaller for mobile elegance */
        margin-bottom: 0px !important;
        gap: 12px !important;
       margin-left: -20px !important;
               margin-top: 5px !important;

       
    }

    .dot {
        width: 5px !important;
        height: 5px !important;
    }

    /* 4. Premium Team Note Footer */
    .addons-footer {
        margin-top: 0 !important;       /* Pulls the box up to follow the list */
    }

    .team-note {
        
        padding: 20px 25px !important;
      
       
    }

    .team-note p {
        font-size: 13px !important;
        line-height: 1.6 !important;
        margin-bottom: 10px !important;
        width: 120% !important;
        margin-left: -30px !important;
        margin-top: -30px !important;
    }

    .charge-label {
        font-size: 12px !important;
        letter-spacing: 1px !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Container Spacing & Alignment */
    section.addons-section {
        padding: 0px 20px 20px !important;
        text-align: left !important; /* Left aligned for the Add-On title */
        background-color: #ffffff;
    }

    /* 2. Unique Title Styling (Add-On Experiences) */
    section.addons-section h2.main-title {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important;
        
        /* Premium size for stacked headings */
        font-size: 22px !important; 
        
        /* Tight line-height for the 2-line stack */
        line-height: 1.1 !important; 
        
        color: #313030 !important;
        margin: 0 0 10px 0 !important;
        padding: 0 !important;
        display: block !important;
        letter-spacing: -0.5px;
        
        /* Anti-aliasing for crisp rendering */
        -webkit-font-smoothing: antialiased;
        margin-left: -45px !important;
    }

    /* 3. Explicitly kill any gold lines or decorative lines on mobile */
    

    /* 4. Layout Wrapper adjustment */
    section.addons-section .addons-info {
        margin-bottom: 30px !important;
        padding-left: 0 !important; /* Removes extra padding to keep text flush left */
    }
}

@media screen and (max-width: 768px) {
    /* 1. Remove bottom space from the list container */
    section.addons-section .activity-list {
        margin-bottom: 0 !important;
       
    }

    /* 2. Pull the footer up by removing its top space */
    section.addons-section .addons-footer {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    /* 3. Remove top margin from the first paragraph in the footer */
    section.addons-section .team-note p {
        margin-top: 5px !important; /* Small 5px gap for a clean look */
    }
}
@media screen and (max-width: 768px) {
    /* Scoped specifically to the addons-section footer */
    section.addons-section .addons-footer {
        background-color: #ffffff !important; /* Forces white background */
        
        /* Use transform to move it UP over the list */
        transform: translateY(-70px) !important; 
        
        /* Ensures it sits on top if there is overlap */
        position: relative !important;
        z-index: 5 !important;
        
        /* Optional: adds a little inner space so text isn't touching the white edge */
        padding: 15px !important;
        border-radius: 8px !important;
        margin-left: -40px !important;
        width: 120% !important;
    }

    /* Adjust the team note inside specifically */
    section.addons-section .team-note p {
        margin: 0 !important;
        color: #1b1b1b !important;
        line-height: 1.5 !important;
        font-size: 14px !important;
    }
}
/* next */
@media (max-width: 768px) {
    /* Target the specific paragraph to remove italics */
    section#escape-plan p.body-text.secondary {
        /* This kills the italics */
        font-style: normal !important; 
        
        /* THE "MODEL" SETTINGS */
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 15px !important;
        line-height: 1.4 !important;
        color: #363535 !important;
        text-align: justify !important;
        
        /* Premium rendering */
        -webkit-font-smoothing: antialiased;
        text-transform: none !important;
        letter-spacing: normal !important;
    }
}
/* next */
@media screen and (max-width: 768px) {
    /* 1. Container Spacing */
    section.package-section {
        padding: 40px 20px 20px !important;
        text-align: center !important;
        background-color: #ffffff;
    }

    /* 2. Unique Title Styling */
    section.package-section h2.title {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important;
        font-size: 24px !important; /* Balanced for mobile headings */
        line-height: 1.2 !important;
        color: #313030 !important;
        margin-bottom: 12px !important;
        display: block !important;
        letter-spacing: -0.5px;
        -webkit-font-smoothing: antialiased;
    }

    /* 3. Welcome Text (The "Model" Settings) */
    section.package-section p.welcome {
        font-family: 'DM Sans', sans-serif !important;
        
        /* THE "MODEL" SETTINGS */
        font-weight: 400 !important;   /* Removes all bolding */
        font-size: 15px !important;    /* Your exact requested size */
        line-height: 1.4 !important;   /* Clean spacing */
        color: #363535 !important;     /* Specific dark gray */
        text-align: left !important; /* Centered to match the header */
        
        width: 95%;
        /* margin: 0 auto 20px !important; */
        display: block !important;
        
        /* High-end rendering settings */
        -webkit-font-smoothing: antialiased;
        word-spacing: normal !important;
        letter-spacing: normal !important;
    }

    /* Optional: If you have a gold line here as well */
    section.package-section .main-header::after,
    section.package-section .main-header::before,
    section.package-section .title-line {
        display: none !important;
        content: none !important;
    }
    .category-tag {
        font-family: 'DM Sans', sans-serif !important;
        
        /* THE "MODEL" SETTINGS */
        font-weight: 500 !important;   /* Slightly medium for visibility at small size */
        font-size: 13px !important;    /* Small and sophisticated */
        text-transform: uppercase !important;
        letter-spacing: 2.5px !important; /* Premium wide spacing */
        color: #b38e44 !important;     /* Your signature gold */
        
        /* Layout & Shape */
        display: inline-block !important;
        padding: 4px 12px !important;
        border: 1px solid rgba(179, 142, 68, 0.3) !important; /* Faint gold border */
        border-radius: 2px !important; /* Sharp, high-end corners */
        
        margin-bottom: 15px !important;
        
        /* Smoothing for crisp text */
        -webkit-font-smoothing: antialiased;
        text-align: center !important;
    }
}

/* next */
@media screen and (max-width: 768px) {
    /* 1. Section Container */
    section.pricing-section {
        padding: 40px 20px 20px !important;
        text-align: center !important;
        background-color: #ffffff;
    }

    /* 2. Unique Title Styling (Package Cost) */
    section.pricing-section h2.title {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 500 !important;
        font-size: 24px !important; 
        line-height: 1.2 !important;
        color: #313030 !important;
        margin-bottom: 8px !important;
        display: block !important;
        letter-spacing: -0.5px;
        -webkit-font-smoothing: antialiased;
        margin-left: 10px !important;
    }

    /* 3. Rates Description (The "Model" Settings) */
    section.pricing-section p.welcome {
        font-family: 'DM Sans', sans-serif !important;
        
        /* THE "MODEL" SETTINGS */
        font-weight: 400 !important;   /* Removes all bolding */
        font-size: 15px !important;    /* Your exact requested size */
        line-height: 1.4 !important;   
        color: #363535 !important;     /* Specific dark gray */
        text-align: left !important; 
        
        width: 100%;
        margin: 0 auto !important;
        display: block !important;
        margin-left: 10px !important;
        /* High-end rendering */
        -webkit-font-smoothing: antialiased;
        word-spacing: normal !important;
        letter-spacing: normal !important;
    }

    /* 4. Neutralizing the <strong> tag for the 2-night text */
    section.pricing-section p.welcome strong {
        font-weight: 400 !important; /* Forces the bold text to match the model weight */
        color: inherit !important;
    }

    /* 5. Cleanup: Ensure no gold lines appear here */
    section.pricing-section .main-header::after,
    section.pricing-section .title-line {
        display: none !important;
        content: none !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Container Alignment */
    .additional-costs {
        padding: 10px 20px !important;
        margin-top: 15px !important;
    }

    /* 2. Create the Two-Column Grid */
    .extra-row {
        display: grid !important;
        /* Column 1: Takes 65% of width | Column 2: Takes the rest */
        grid-template-columns: 65% 1fr !important;
        align-items: start !important;
        margin-bottom: 15px !important;
        
        /* THE "MODEL" SETTINGS */
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 15px !important;
        color: #363535 !important;
        -webkit-font-smoothing: antialiased;
    }

    /* 3. Hide the line spacer as it interferes with column alignment */
    .extra-row .line-spacer {
        display: none !important;
    }

    /* 4. Column 1 (Labels) */
    .extra-row span:first-child {
        text-align: left !important;
        padding-right: 10px !important;
    }

    /* 5. Column 2 (Prices - Perfectly Aligned) */
    .extra-row span:last-child {
        text-align: right !important;
        font-weight: 500 !important; /* Slight weight for the price */
        color: #313030 !important;
    }

    /* 6. Refined Small Text for Child Age */
    .extra-row small {
        display: block !important;
        font-size: 11px !important;
        color: #888888 !important;
        margin-top: 2px !important;
        letter-spacing: 0.5px;
        text-transform: uppercase;
    }

    /* 7. Tax Note Style */
    .tax-note {
        font-family: 'DM Sans', sans-serif !important;
        font-weight: 400 !important;
        font-size: 13px !important;
        color: #cf2424 !important;
        text-align: left !important; /* Aligned with the start of the columns */
        margin-top: 20px !important;
        line-height: 1.4 !important;
    }
}

@media screen and (max-width: 768px) {
    /* ... existing mobile styles ... */

    .pricing-grid {
        display: grid !important; /* Ensures the grid is active to use 'order' */
    }

    /* 1. Garden View Room (First item in HTML) */
    .pricing-grid .price-item:nth-child(1) {
        order: 1 !important;
    }

    /* 2. Lake View Room (Third item in HTML, moves to 2nd position) */
    .pricing-grid .price-item:nth-child(3) {
        order: 2 !important;
    }

    /* 3. Lake View Suite (Second item in HTML, moves to bottom) */
    .pricing-grid .price-item:nth-child(2) {
        order: 3 !important;
    }
}
/* next */
/* --- PREMIUM FOOTER MOBILE OPTIMIZATION --- */
/* --- THE ULTIMATE BAGO MOBILE FOOTER (CONSOLIDATED) --- */
@media screen and (max-width: 768px) {
    
    /* 1. SECTION RESET: Center & Kill Top Gaps */
    footer.premium-footer {
        padding: 10px 0 30px !important; /* Tight top space */
        text-align: center !important;
        margin-top: -50px !important;
    }

    /* 2. CONTAINER: Force Stack & Zero Gap */
    footer.premium-footer .footer-container {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 0 !important; /* Kills all mechanical gaps between blocks */
        padding: 0 25px !important;
    }

    /* 3. LOGO: Perfect Center & Overlap */
    footer.premium-footer .footer-hotel-info {
        margin-top: -55px !important; /* Overlap control */
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    footer.premium-footer .footer-hotel-info img {
        width: 220px !important; /* Boutique logo size */
        margin-left: 0 !important;
        margin-bottom: -15px !important; /* Sucks pillars up to logo */
    }

    /* 4. BRAND PILLARS: Zero Gap Sentences */
    footer.premium-footer .brand-pillars {
        margin: 0 0 15px 0 !important; /* 15px is the ONLY gap before Explore */
        padding: 0 !important;
        width: 100% !important;
    }

    footer.premium-footer .brand-pillars p {
        margin: 0 !important;
        padding: 0 !important;
        font-size: 17px !important;
        line-height: 1.3 !important;
        text-align: center !important;
    }

    /* 5. EXPLORE SECTION: Tight Center */
    footer.premium-footer .footer-explore,
    footer.premium-footer .footer-about {
        margin-top: 10px !important;
        width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    footer.premium-footer .footer-heading {
        font-size: 16px !important;
        margin-bottom: 15px !important;
        letter-spacing: 2px !important;
    }

    footer.premium-footer .footer-heading::after {
        left: 50% !important;
        transform: translateX(-50%) !important;
    }

    /* 6. CONTACT & SOCIALS: Alignment Fix */
    footer.premium-footer .social-icons {
        justify-content: center !important;
        margin-bottom: 20px !important;
    }

    footer.premium-footer .contact-details {
        align-items: center !important;
        gap: 10px !important;
    }

    footer.premium-footer .contact-details p {
        justify-content: center !important;
        font-size: 13px !important;
        margin: 0 !important;
    }
}
@media screen and (max-width: 768px) {
    /* 1. Neutralize the container */
    footer.premium-footer .footer-hotel-info {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important; /* Force children to center */
        justify-content: center !important;
        text-align: center !important;
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* 2. Force the Image to center */
    footer.premium-footer .footer-hotel-info img {
        display: block !important;
        margin-left: auto !important;  /* The "Magic" centering trick */
        margin-right: auto !important; /* The "Magic" centering trick */
        float: none !important;        /* Kills any left-float */
        width: 200px !important;       /* Adjust size as needed */
    }

    /* 3. Ensure Brand Pillars follow the center */
    footer.premium-footer .brand-pillars {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        text-align: center !important;
    }
}
@media screen and (max-width: 768px) {

    /* 1. Pull the text UP to the logo */
    footer.premium-footer .footer-hotel-info img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        width: 200px !important;
        
        /* AGGRESSIVE GAP KILLER */
        margin-bottom: -25px !important; /* Pulls the brand pillars up into the logo's space */
        padding-bottom: 0 !important;
    }

    /* 2. Zero out the Brand Pillars spacing */
    footer.premium-footer .brand-pillars {
        margin-top: 0 !important; 
        padding-top: 0 !important;
        margin-bottom: 20px !important; /* This is the ONLY gap before 'Explore' */
    }

    /* 3. Tighten the individual lines of text */
    footer.premium-footer .brand-pillars p {
        margin-bottom: 2px !important; 
        line-height: 1.2 !important;
    }
}
/* --- FOLLOW US MOBILE SPACING FIX --- */
@media screen and (max-width: 768px) {

    /* 1. Gap between 'Follow Us' heading and the icons */
    .premium-footer .footer-about .footer-heading {
        margin-bottom: 15px !important; /* Increase this to move underline further from text */
    }

   

    
}