/* ==============================================================
   LUXURY SPA COLOR OVERRIDES & FLUID RESPONSIVENESS
   - Canvas: #FAF7F2 (Cream)
   - Anchor: #4F3F2F (Dark Brown)
   - Accent: #C8A98E (Gold/Tan)
   ============================================================== */

/* ==============================================================
   1. GLOBAL COLORS & THEMING
   ============================================================== */
*, *::before, *::after {
    box-sizing: border-box !important;
}
body, html, #qodef-page-wrapper, .qodef-page-inner {
    background-color: #FAF7F2 !important;
    color: #4F3F2F !important;
    /* Prevent horizontal scrolling globally */
    overflow-x: hidden !important;
    width: 100%;
    max-width: 100vw;
}

/* Typography Colors */
h1, h2, h3, h4, h5, h6, 
.qodef-m-title, .qodef-m-text, p, 
.qodef-e-title, .qodef-e-text,
.qodef-e-price-value,
.qodef-item-title, .qodef-item-text,
.qodef-widget-title, .textwidget,
label, input, textarea, select {
    color: #4F3F2F !important;
}

a, span { color: inherit; }
p a, .textwidget a { color: #C8A98E !important; }

/* Backgrounds (Headers & Footers) */
#qodef-page-header, 
.qodef-header-sticky, 
#qodef-top-area, 
footer, 
#qodef-page-footer-top-area, 
#qodef-page-footer-bottom-area,
.qodef-header--divided #qodef-page-header {
    background-color: #4F3F2F !important;
}

/* Header & Footer Text Colors */
#qodef-page-header a, #qodef-page-header span, #qodef-page-header p, #qodef-page-header h1, #qodef-page-header h2, #qodef-page-header h3, #qodef-page-header h4, #qodef-page-header h5, #qodef-page-header h6,
.qodef-header-sticky a, .qodef-header-sticky span, .qodef-header-sticky p, .qodef-header-sticky h1, .qodef-header-sticky h2, .qodef-header-sticky h3, .qodef-header-sticky h4, .qodef-header-sticky h5, .qodef-header-sticky h6,
#qodef-top-area a, #qodef-top-area span, #qodef-top-area p, #qodef-top-area h1, #qodef-top-area h2, #qodef-top-area h3, #qodef-top-area h4, #qodef-top-area h5, #qodef-top-area h6,
footer a, footer span, footer p, footer h1, footer h2, footer h3, footer h4, footer h5, footer h6 {
    color: #FAF7F2 !important;
}

/* Accents & Hovers */
.qodef-header-navigation ul li a:hover,
.qodef-header-navigation ul li a:hover span,
#qodef-page-header a:hover, footer a:hover,
.qodef-header-sticky a:hover {
    color: #C8A98E !important;
}

.qodef-icon-font-awesome, .qodef-icon-linea-icons, .qodef-icon-simple-line-icons, 
.qodef-m-icon, .qodef-e-icon, .qodef-opener-icon {
    color: #C8A98E !important;
    fill: #C8A98E !important;
}

svg path, svg polygon, svg rect {
    stroke: #C8A98E !important;
}

svg.qodef-custom-search-opener polygon {
    fill: #C8A98E !important;
    stroke: none !important;
}

.qodef-header-sticky, #qodef-page-footer-top-area, .qodef-widget-holder {
    border-color: #C8A98E !important;
}

/* Dark Layout Sections */
.elementor-element.qodef-bckg--dark, .qodef-bckg--dark, .qodef-section-background-dark {
    background-color: #4F3F2F !important;
}

.elementor-element.qodef-bckg--dark h1, .elementor-element.qodef-bckg--dark h2,
.elementor-element.qodef-bckg--dark h3, .elementor-element.qodef-bckg--dark h4,
.elementor-element.qodef-bckg--dark h5, .elementor-element.qodef-bckg--dark h6,
.elementor-element.qodef-bckg--dark p, .elementor-element.qodef-bckg--dark span,
.elementor-element.qodef-bckg--dark a,
/* Also preserve text that Elementor explicitly set to white (e.g. Special Offer image backgrounds) */
[style*="color: #FFFFFF"],
[style*="color: #ffffff"],
[style*="color:#FFFFFF"],
[style*="color:#ffffff"] {
    color: #C8A98E !important;
}

/* Buttons */
.qodef-btn, .book-now-btn, button, input[type="submit"] {
    background-color: transparent !important;
    border: 1px solid #C8A98E !important;
    color: #C8A98E !important;
    transition: all 0.3s ease;
}

.qodef-btn:hover, .book-now-btn:hover, button:hover, input[type="submit"]:hover {
    background-color: #C8A98E !important;
    color: #4F3F2F !important;
}

/* Price Labels */
.qodef-e-price-label { color: #C8A98E !important; }
.qodef-e-price-value { color: #4F3F2F !important; font-weight: bold; }
ul, li { color: inherit; }

/* ==============================================================
   2. FLUID TYPOGRAPHY (Responsive without Media Queries)
   ============================================================== */
h1, .qodef-h1 {
    font-size: clamp(2rem, 4vw + 1rem, 4rem) !important;
    line-height: 1.1 !important;
}
h2, .qodef-h2 {
    font-size: clamp(1.75rem, 3vw + 1rem, 3rem) !important;
    line-height: 1.2 !important;
}
h3, .qodef-h3 {
    font-size: clamp(1.5rem, 2vw + 1rem, 2.25rem) !important;
    line-height: 1.3 !important;
}
h4, h5, h6 {
    font-size: clamp(1.1rem, 1.5vw + 0.8rem, 1.5rem) !important;
}
p, .qodef-m-text, .qodef-e-text {
    font-size: clamp(0.9rem, 1vw + 0.5rem, 1.1rem) !important;
    line-height: 1.6 !important;
}


/* ==============================================================
   3. RESPONSIVE LAYOUT & ELEMENTOR FIXES
   ============================================================== */

/* Ensure all images and videos are responsive */
img, video {
    max-width: 100% !important;
    height: auto;
}

/* Default flex container behavior for Elementor */
.elementor-container, .elementor-row {
    display: flex;
    flex-wrap: wrap;
    width: 100% !important;
}

/* 
   Fluid Elementor Columns 
   Instead of forcing 100% abruptly at 1024px, we let them scale.
*/
@media (max-width: 1024px) {
    /* Tablet: Move to a 2-column or full-width flow depending on size */
    .elementor-column.elementor-col-33,
    .elementor-column.elementor-col-25,
    .elementor-column.elementor-col-50,
    .elementor-column.elementor-col-66 {
        width: 50% !important;
        padding: 10px !important;
    }
}

@media (max-width: 768px) {
    /* Mobile: Stack all columns naturally */
    .elementor-container {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        /* NO side padding here — it breaks full-width slider */
    }
    /* Only add padding for BOXED (non-full-width) sections */
    .elementor-section-boxed > .elementor-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    .elementor-column.elementor-col-33,
    .elementor-column.elementor-col-25,
    .elementor-column.elementor-col-50,
    .elementor-column.elementor-col-66,
    .elementor-column.elementor-col-100 {
        width: 100% !important;
        padding: 10px !important;
        margin-bottom: 20px !important;
    }

    /* Reduce paddings on non-full-width sections only */
    .elementor-section:not(.elementor-section-full_width) {
        padding-top: var(--space-xl, 40px) !important;
        padding-bottom: var(--space-xl, 40px) !important;
        margin-top: 0 !important;
    }
    
    /* Ensure no white line below header */
    .elementor-top-section {
        margin-top: -1px !important; 
    }
    
    /* ADD SPACING BETWEEN ELEMENTS (User requests) */
    
    /* 1. Space between cards (e.g. Hammam, Coiffure banners) */
    .elementor-widget-reina_core_banner,
    .qodef-m-banner {
        margin-bottom: 25px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
    
    /* 2. Space between pricing list items (e.g. Balayage) */
    .elementor-widget-reina_core_pricing_list .qodef-e-item {
        margin-bottom: 25px !important;
    }
    .elementor-widget-reina_core_pricing_list {
        margin-bottom: 30px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
    
    /* 3. Space around photos */
    .elementor-widget-image {
        padding: 0 !important;
        margin: 0 15px 15px 15px !important;
    }
    
    /* 4. Space around offers (e.g. Comfort Relax) */
    .elementor-widget-reina_core_pricing_table {
        margin-bottom: 25px !important;
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
    
    /* 5. Space around gallery photos */
    .elementor-widget-reina_core_masonry_gallery_list {
        margin-left: 15px !important;
        margin-right: 15px !important;
    }
    
    .qodef-masonry-gallery-list .qodef-grid-item,
    .qodef-masonry-gallery-list .qodef-e {
        margin-bottom: 15px !important;
    }

    
    /* 6. Special Offer Banner Styling */
    .elementor-element-7e127733 {
        position: relative;
    }
    .elementor-element-7e127733::before {
        content: "";
        position: absolute;
        top: 0; left: 0; right: 0; bottom: 0;
        background-color: rgba(35, 32, 32, 0.7) !important; /* Dark overlay */
        z-index: 0;
    }
    .elementor-element-7e127733 .elementor-container {
        position: relative;
        z-index: 1;
    }
    .elementor-element-7e127733 .elementor-element-675d013f > .elementor-element-populated {
        padding: 50px 30px !important;
    }
    .elementor-element-7e127733 .qodef-m-subtitle {
        font-family: 'Work Sans', sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 2px !important;
        text-transform: uppercase !important;
        margin-bottom: 10px !important;
        display: block !important;
    }
    .elementor-element-7e127733 .qodef-m-title {
        font-family: 'Cormorant', serif !important;
        font-size: 42px !important;
        line-height: 1.1 !important;
        margin-bottom: 20px !important;
    }
    .elementor-element-7e127733 p.qodef-m-text {
        font-family: 'Work Sans', sans-serif !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        margin-bottom: 30px !important;
    }
    .elementor-element-7e127733 .qodef-m-button {
        display: inline-block !important;
        width: auto !important;
    }
    .elementor-element-7e127733 .qodef-m-button a {
        padding: 12px 30px !important;
        background-color: #FFFFFF !important;
        color: #405861 !important;
        font-family: 'Work Sans', sans-serif !important;
        font-size: 11px !important;
        letter-spacing: 2px !important;
        font-weight: 600 !important;
        border-radius: 0 !important;
        margin: 0 !important;
        display: inline-block !important;
        width: auto !important;
        box-sizing: border-box !important;
    }
    .elementor-element-7e127733 .qodef-m-button a .qodef-m-background {
        display: none !important;
    }
    
    .elementor-section.elementor-section-full_width > .elementor-container {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    
    .elementor-section.elementor-section-full_width > .elementor-container > .elementor-column {
        padding: 0 !important;
        margin: 0 !important;
    }
    
    #qodef-page-outer, #qodef-page-inner, #qodef-page-content, .qodef-content, .vc_row, .qodef-row, .qodef-page-content-section, .qodef-content-full-width, body, #qodef-page-wrapper, .wp-block-themepunch-revslider, rs-module-wrap {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    .qodef-header-spacer, .qodef-sticky-header-spacer {
        display: none !important;
    }
}

/* ==============================================================
   4. NAVIGATION & HEADER FIXES
   ============================================================== */

/* Desktop Sticky Header Row */
@media (min-width: 1025px) {
    .qodef-header-sticky .qodef-header-sticky-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        flex-wrap: nowrap !important;
    }
    .qodef-header-sticky .qodef-divided-header-left-wrapper,
    .qodef-header-sticky .qodef-divided-header-right-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        flex: 1 !important;
    }
    .qodef-header-sticky .qodef-header-navigation ul {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 24px !important;
    }
}

/* Custom Mobile Hamburger Component */
#reina-mobile-hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 8px;
    z-index: 10000;
}
#reina-mobile-hamburger span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: #FAF7F2;
    border-radius: 2px;
    transition: all 0.3s ease;
}



/* Mobile Header Viewport (< 1024px) */
@media (max-width: 1024px) {
    #reina-mobile-hamburger {
        display: flex !important;
    }
    
    /* Hide Desktop Navs & Header */
    #qodef-page-header {
        display: none !important;
    }
    
    .qodef-header-sticky .qodef-header-navigation,
    .qodef-header-sticky .qodef-divided-header-left-wrapper,
    .qodef-header-sticky .qodef-divided-header-right-wrapper,
    .qodef-header-sticky .qodef-custom-search-opener {
        display: none !important;
    }

    #qodef-top-area {
        display: none !important; /* Hide top bar on mobile */
    }

    #qodef-page-header-inner, .qodef-header-sticky .qodef-header-sticky-inner {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 16px !important;
        height: 65px !important;
    }

    /* === STICKY HEADER = THE ONLY HEADER ON MOBILE === */
    
    /* Hide the custom mobile-specific header completely */
    #qodef-page-mobile-header {
        display: none !important;
    }

    /* Force the sticky header to be always visible, fixed at top */
    .qodef-header-sticky {
        display: block !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background-color: #4F3F2F !important;
        box-sizing: border-box !important;
        transform: none !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* Adjust sticky inner for mobile layout */
    .qodef-header-sticky .qodef-header-sticky-inner {
        padding: 0 16px !important;
        height: 65px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        position: relative !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Hide left/right desktop wrappers */
    .qodef-header-sticky .qodef-divided-header-left-wrapper,
    .qodef-header-sticky .qodef-divided-header-right-wrapper {
        display: none !important;
    }
    
    /* Show the mobile opener (hamburger) inside the sticky header */
    .qodef-header-sticky .qodef-mobile-header-opener,
    .qodef-header-sticky .custom-mobile-header-opener {
        display: flex !important;
        color: #FAF7F2 !important;
        z-index: 2 !important;
    }
    
    /* Show logo inside sticky header, centered */
    .qodef-header-sticky .qodef-header-logo-link,
    .qodef-header-sticky .qodef-mobile-header-logo-link {
        display: flex !important;
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        align-items: center !important;
        justify-content: center !important;
        height: 65px !important;
        z-index: 100 !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    .qodef-header-sticky .qodef-header-logo-link img,
    .qodef-header-sticky .qodef-mobile-header-logo-link img {
        max-height: 45px !important;
        width: auto !important;
        display: block !important;
        opacity: 1 !important;
    }
    
    /* Compensate page content for the fixed header height */
    #qodef-page-wrapper, 
    #qodef-page-outer {
        padding-top: 65px !important;
        margin-top: 0 !important;
    }
    
    /* Mobile: Sticky header background */
    #qodef-page-mobile-header-inner {
        background-color: #4F3F2F !important;
        border-bottom: none !important;
    }
    
    #qodef-page-outer, 
    #qodef-page-inner, 
    #qodef-page-content,
    .qodef-grid-inner,
    .qodef-grid-item {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
    
    .qodef-grid .qodef-grid-inner {
        gap: 0 !important;
        row-gap: 0 !important;
        display: block !important;
    }
    
    .qodef-grid-inner::before,
    .qodef-grid-inner::after {
        display: none !important;
        content: none !important;
    }
    
    #qodef-page-outer {
        background-color: #FAF7F2;
    }

    .qodef-header-logo-link img {
        max-height: 40px !important;
        width: auto !important;
    }
}


/* ==============================================================
   5. COMPONENT RESPONSIVENESS (Forms, Widgets, Grids)
   ============================================================== */

@media (max-width: 768px) {
    /* Booking Calendar Overlay Fix */
    #booking-section, .booking-section, .spa-booking-widget, 
    .spa-dynamic-calendar, .plan-calendar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 20px auto !important;
        width: 100% !important;
        max-width: 100% !important;
        z-index: 1 !important;
    }

    /* Forms */
    .reservation-form, .qodef-contact-form-7 form, form.wpcf7-form {
        padding: 20px !important;
        width: 100% !important;
    }
    
    .form-row, .qodef-grid-row {
        display: flex !important;
        flex-direction: column !important;
    }

    input[type="text"], input[type="email"], input[type="tel"], textarea, select {
        width: 100% !important;
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
    }

    /* Galleries */
    .qodef-grid.qodef-layout--masonry .qodef-grid-inner,
    .qodef-grid .qodef-grid-inner {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 8px !important;
    }

    /* Full Width Buttons */
    .qodef-btn, .book-now-btn, .book-plan-btn {
        width: 100% !important;
        text-align: center !important;
        display: block !important;
        margin: 10px 0 !important;
    }

    /* Pricing List Fixes */
    .qodef-pricing-list .qodef-e-heading {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5px;
    }
    .qodef-pricing-list .qodef-e-line {
        display: none !important; /* Hide the dotted line on mobile to save space */
    }
    .qodef-pricing-list .qodef-e-price {
        margin-left: auto;
    }
    .qodef-pricing-list .qodef-e-price-value {
        font-size: 18px !important;
    }
    .qodef-pricing-list .qodef-e-price-label {
        font-size: 14px !important;
    }
    .qodef-pricing-list .qodef-e-title {
        font-size: 16px !important;
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .qodef-grid .qodef-grid-inner {
        grid-template-columns: 1fr !important;
    }
}

/* ==============================================================
   6. MISCELLANEOUS FIXES
   ============================================================== */

/* Flatpickr Datepicker Responsiveness */
.flatpickr-calendar {
    max-width: 90vw !important;
    width: auto !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.25) !important;
}

@media (max-width: 768px) {
    .flatpickr-calendar.open {
        z-index: 9999 !important;
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
}

/* Fix White Text on Beige BG globally */
.qodef-skin--light .qodef-m-title,
.qodef-skin--light .qodef-m-text,
.qodef-skin--light p,
.qodef-skin--light h1,
.qodef-skin--light h2,
.qodef-skin--light h3,
.qodef-skin--light h4,
.qodef-skin--light h5,
.qodef-skin--light h6,
.qodef-skin--light a,
.qodef-skin--light .qodef-e-title,
.qodef-skin--light .qodef-price-list-item .qodef-e-title,
.qodef-skin--light .qodef-price-list-item .qodef-e-price,
.qodef-skin--light .qodef-price-list-item .qodef-e-text,
.qodef-skin--light .qodef-testimonials-item .qodef-e-text,
.qodef-skin--light .qodef-testimonials-item .qodef-e-author {
    color: #4F3F2F !important;
}

/* Font Awesome Fallbacks */
.fab { font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important; font-weight: 400; }
.fa, .fas { font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important; font-weight: 900; }
.qodef-icon-elegant-icons { font-family: 'ElegantIcons', "Font Awesome 6 Free" !important; }

/* Newsletter Section Title */
.qodef-header-navigation > ul > li > a {
    color: #C8A98E !important;
}

/* Hide all SVGs inside the banner */
.qodef-banner svg {
    display: none !important;
    opacity: 0 !important;
}

/* Glassmorphism for category cards */
.qodef-banner .qodef-m-content,
.qodef-banner .qodef-m-content::before,
.qodef-banner .qodef-m-content::after,
.qodef-banner .qodef-m-content-inner::before,
.qodef-banner .qodef-m-content-inner::after,
.qodef-banner:hover .qodef-m-content::before,
.qodef-banner:hover .qodef-m-content::after,
.qodef-banner.qodef--appeared .qodef-m-content::before,
.qodef-banner.qodef--appeared .qodef-m-content::after {
    background-color: transparent !important;
}

.qodef-banner .qodef-m-content-inner,
.qodef-banner:hover .qodef-m-content-inner,
.qodef-banner.qodef--appeared .qodef-m-content-inner {
    background-color: rgba(253, 252, 248, 0.3) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-radius: 4px !important;
    transition: none !important;
}

		/* ===== Kill theme's extra padding/bg on the footer wrapper ===== */
		#qodef-page-footer {
			padding: 0 !important;
			margin: 0 !important;
			position: static !important;
			background: transparent !important;
			background-color: transparent !important;
			min-height: 0 !important;
		}
		/* ===== CUSTOM FOOTER GRID ===== */
		#reina-footer-main {
			background-color: #3d3528;
			padding: 50px 0 20px;
		}
		#reina-footer-grid {
			max-width: 1300px;
			margin: 0 auto;
			padding: 0 30px;
			display: grid;
			grid-template-columns: repeat(5, 1fr);
			gap: 0;
			align-items: start;
		}
		#reina-footer-grid .rf-col {
			padding: 0 20px;
		}
		.rf-col-svg {
			padding: 0 !important;
			overflow: visible;
		}
		/* ===== SVG self-drawing animation ===== */
		#reina-footer-svg {
			fill: none;
			stroke: #7a6a58;
			stroke-width: 1.2px;
			width: 100%;
			max-width: 260px;
			display: block;
			margin-top: -40px;
		}
		#reina-footer-svg path {
			stroke-dasharray: 4000;
			stroke-dashoffset: 4000;
			transition: stroke-dashoffset 3.5s ease-in-out;
		}
		#reina-footer-svg.is-visible path {
			stroke-dashoffset: 0;
		}
		.rf-col h5 {
			font-family: 'Montserrat', sans-serif !important;
			font-size: 11px !important;
			letter-spacing: 3px !important;
			text-transform: uppercase !important;
			color: #FAF7F2 !important;
			margin-bottom: 18px !important;
			font-weight: 600 !important;
		}
		.rf-col-brand h4 {
			font-family: 'Playfair Display', Georgia, serif;
			font-size: 1.75rem;
			color: #FAF7F2;
			font-weight: 700;
			margin: 0 0 14px 0;
			line-height: 1.2;
		}
		.rf-col p, .rf-col a {
			font-size: 14px;
			color: #a39081;
			line-height: 1.8;
			text-decoration: none;
		}
		.rf-col a:hover { color: #C8A98E; }
		.rf-col ul { list-style: none; padding: 0; margin: 0; }
		.rf-col ul li { margin-bottom: 2px; }
		.rf-socials { display: flex; gap: 14px; margin-top: 18px; font-size: 1rem; }
		.rf-socials a { color: #C8A98E !important; }
		.rf-hours-row { display: flex; justify-content: space-between; gap: 12px; font-size: 14px; color: #a39081; margin-bottom: 4px; }
		.rf-payment { display: flex; gap: 12px; margin-top: 10px; font-size: 1.25rem; color: #a39081; }
		#reina-footer-bottom {
			max-width: 1300px;
			margin: 28px auto 0;
			padding: 16px 50px;
			border-top: 1px solid rgba(255,255,255,0.07);
			display: flex;
			justify-content: space-between;
			align-items: center;
			flex-wrap: wrap;
			gap: 10px;
		}
		#reina-footer-bottom p { margin: 0; font-size: 13px; color: #6b6058; }
		#reina-footer-bottom a { font-size: 13px; color: #6b6058; text-decoration: none; }
		#reina-footer-bottom a:hover { color: #C8A98E; }
		@media (max-width: 1024px) {
			#reina-footer-grid { grid-template-columns: repeat(5, 1fr); }
		}
		@media (max-width: 900px) {
			#reina-footer-grid { grid-template-columns: repeat(4, 1fr); }
			.rf-col-svg { display: none !important; }
		}
		@media (max-width: 680px) {
			#reina-footer-grid { grid-template-columns: 1fr 1fr; }
			.rf-col-svg { display: none !important; }
		}
		@media (max-width: 480px) {
			#reina-footer-grid { grid-template-columns: 1fr; }
		}

/* ==============================================================
   IMAGE SIZING FIXES - scoped precisely, no side-effects
   ============================================================== */

/* Category ICON cards: lock icon to 75px - never stretch */
.qodef-icon-with-text .qodef-m-icon-wrapper img {
    width: 75px !important;
    height: 75px !important;
    max-width: 75px !important;
    max-height: 75px !important;
    object-fit: contain !important;
    display: block;
}

/* Featured 3-column BANNER portraits only */
.qodef-banner .qodef-m-image {
    overflow: hidden;
    position: relative;
}
.qodef-banner .qodef-m-image > img {
    width: 100% !important;
    min-height: 350px;
    object-fit: cover !important;
    object-position: center top !important;
    display: block;
}

/* Working hours image */
.qodef-image-section-info .qodef-m-image {
    max-width: 55% !important;
    overflow: hidden;
}
.qodef-image-section-info .qodef-m-image img {
    width: 100% !important;
    height: auto !important;
    max-height: 450px !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block;
    border-radius: 4px;
}

/* Decorative background SVGs: cap size */
.qodef-background-svg {
    max-width: 280px !important;
}

/* ==============================================================
   ACCESSIBILITY & CONTRAST ENHANCEMENTS (WCAG AAA / AA COMPLIANT)
   ============================================================== */
.qodef-e-price-label {
    color: #735434 !important; /* High contrast >= 4.5:1 on light bg */
    font-weight: 600 !important;
}
.qodef-e-author-job {
    color: #5A4533 !important; /* Legible testimonial job title */
}
.spa-package-card button {
    background-color: #8A6743 !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: 600 !important;
    letter-spacing: 1.5px !important;
}
.spa-package-card button:hover {
    background-color: #4F3F2F !important;
    color: #FFFFFF !important;
}
.spa-package-card div[style*="PAR PERSONNE"] {
    color: #5A4533 !important;
}
#spa-status-text {
    font-weight: 600 !important;
}

/* Fix Parallax image aspect ratio distortion */
img.qodef-parallax-img {
    object-fit: cover !important;
}
