/*
 Theme Name:   Hello Elementor Child
 Theme URI:    https://elementor.com/hello-theme/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
 Description:  Hello Elementor Child Theme for Arunaluxe Homepage Improvements
 Author:       Yogendra Gupta
 Author URI:   https://yonav.crevado.com/
 Template:     hello-elementor
 Version:      12.0.3
 License:      GNU General Public License v3 or later.
 License URI:  https://www.gnu.org/licenses/gpl-3.0.html
 Text Domain:  hello-elementor-child
*/

/* 
   -------------------------------------------------------------------------
   CSS RESET: All previous custom styles removed for a fresh start (Plan #2)
   ------------------------------------------------------------------------- 
*/

/* 1. ROOM AMENITIES: Side-by-Side Cards on Mobile (2 per row) */
@media (max-width: 767px) {

    /* Target all identified amenity columns to force side-by-side grid */
    body.page-id-205 .elementor-element-7331d8ed .elementor-widget-wrap,
    body.page-id-205 .elementor-element-62ecac03 .elementor-widget-wrap,
    body.page-id-205 .elementor-element-8394312 .elementor-widget-wrap,
    body.page-id-205 .elementor-element-d622ca8 .elementor-widget-wrap,
    body.page-id-205 .elementor-element-807d92c .elementor-widget-wrap {
        display: flex !important;
        flex-wrap: wrap !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        gap: 0 !important;
    }

    /* Force each card/widget to 48% width to fit 2 per row */
    body.page-id-205 .elementor-element-7331d8ed .elementor-widget-icon-box,
    body.page-id-205 .elementor-element-62ecac03 .elementor-widget-icon-box,
    body.page-id-205 .elementor-element-8394312 .elementor-widget-icon-box,
    body.page-id-205 .elementor-element-d622ca8 .elementor-widget-icon-box,
    body.page-id-205 .elementor-element-807d92c .elementor-widget-icon-box {
        width: 48% !important;
        margin-bottom: 15px !important;
    }
}

/* 2. AMENITY ICONS: Definite Horizontal Alignment & Reduced Height */
/* Targeted by Page ID and Widget Type for maximum specificity */

/* Target the beige container directly */
body.page-id-205 .elementor-widget-icon-box .elementor-widget-container,
body.page-id-633 .elementor-widget-icon-box .elementor-widget-container,
body.page-id-950 .elementor-widget-icon-box .elementor-widget-container {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    min-height: 0 !important;
    /* Force the container to be as short as its content */
}

body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.page-id-633 .elementor-widget-icon-box .elementor-icon-box-wrapper,
body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    /* Move content to the top */
    text-align: left !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* Ensure the icon itself doesn't have top margin */
body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-icon,
body.page-id-633 .elementor-widget-icon-box .elementor-icon-box-icon,
body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-icon {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-right: 15px !important;
    flex-shrink: 0 !important;
}

@media (max-width: 767px) {

    body.page-id-205 .elementor-widget-icon-box .elementor-widget-container,
    body.page-id-633 .elementor-widget-icon-box .elementor-widget-container,
    body.page-id-950 .elementor-widget-icon-box .elementor-widget-container {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }

    /* Force horizontal icon layout on mobile too */
    body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-wrapper,
    body.page-id-633 .elementor-widget-icon-box .elementor-icon-box-wrapper,
    body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-wrapper {
        display: flex !important;
        flex-direction: row !important;
        align-items: flex-start !important;
        text-align: left !important;
    }

    body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-icon,
    body.page-id-633 .elementor-widget-icon-box .elementor-icon-box-icon,
    body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-icon {
        margin-right: 12px !important;
        flex-shrink: 0 !important;
    }

    body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-content,
    body.page-id-633 .elementor-widget-icon-box .elementor-icon-box-content,
    body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-content {
        text-align: left !important;
    }

    /* PANORAMA & BOUTIQUE: Remove white gap between image and content when room cards stack on mobile */
    /* Must target exact element IDs because Elementor's cached CSS is highly specific */
    html body.page-id-950 .elementor-element.elementor-element-4480d64,
    html body.page-id-950 .elementor-element.elementor-element-4d4169b,
    html body.page-id-950 .elementor-element.elementor-element-9bf33a7,
    html body.page-id-950 .elementor-element.elementor-element-4480d64>.e-con-inner,
    html body.page-id-950 .elementor-element.elementor-element-4d4169b>.e-con-inner,
    html body.page-id-950 .elementor-element.elementor-element-9bf33a7>.e-con-inner,
    html body.page-id-205 .elementor-element.elementor-element-9355a7c {
        --padding-top: 0px !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* PANORAMA: Extreme override for Signature View specifically */
    html body.page-id-950 .elementor-element-4d4169b,
    html body.page-id-950 .elementor-element-4d4169b>.elementor-widget-wrap,
    html body.page-id-950 .elementor-element-090296d {
        --padding-top: 0px !important;
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
}

/* PANORAMA & BOUTIQUE: Force amenity containers visible on mobile */
/* Elementor's entrance animation (fadeInRight/fadeInLeft) sets elementor-invisible */
/* which keeps visibility:hidden until JS fires — but JS may not trigger on mobile */
html body.page-id-950 .elementor-element.elementor-element-96fe571,
html body.page-id-950 .elementor-element.elementor-element-163e288,
html body.page-id-205 .elementor-element.elementor-element-96fe571,
html body.page-id-205 .elementor-element.elementor-element-163e288 {
    visibility: visible !important;
    opacity: 1 !important;
}

/* PANORAMA: Ensure amenities stay in a single column on mobile */
@media (max-width: 767px) {

    /* User-provided fix, scoped only to the amenities rows */
    html body.page-id-950 .elementor-element.elementor-element-96fe571,
    html body.page-id-950 .elementor-element.elementor-element-163e288,
    html body.page-id-205 .elementor-element.elementor-element-96fe571,
    html body.page-id-205 .elementor-element.elementor-element-163e288 {
        --width: 100% !important;
        --flex-wrap: grid;
        display: flex !important;
        flex-direction: column !important;
    }
}

/* ALL PAGES: Force removal of any CSS blur applied to the video background or overlay */
/* YouTube embeds often default to 480p on auto-play, causing a blurry appearance. This subtle filter helps sharpen it. */
html body .elementor-background-video-container,
html body .elementor-background-overlay {
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

html body .elementor-background-video-container iframe,
html body .elementor-background-video-container video {
    filter: contrast(1.05) saturate(1.1) brightness(0.98) !important;
}

/* 4. HOMEPAGE ICON-BOXES: Force horizontal layout at ALL viewports */
/* Triple-body selector for maximum specificity to beat Elementor's responsive overrides */
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-36d3f340 .elementor-icon-box-wrapper,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-44648405 .elementor-icon-box-wrapper,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-d3a4757 .elementor-icon-box-wrapper,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-194910a .elementor-icon-box-wrapper,
body.home.page-id-633 .elementor-widget-icon-box .elementor-icon-box-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    text-align: left !important;
    gap: 15px !important;
}

body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-36d3f340 .elementor-icon-box-icon,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-44648405 .elementor-icon-box-icon,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-d3a4757 .elementor-icon-box-icon,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-194910a .elementor-icon-box-icon,
body.home.page-id-633 .elementor-widget-icon-box .elementor-icon-box-icon {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    flex-shrink: 0 !important;
}

body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-36d3f340 .elementor-icon-box-content,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-44648405 .elementor-icon-box-content,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-d3a4757 .elementor-icon-box-content,
body.home.page-id-633 .elementor-633 .elementor-element.elementor-element-194910a .elementor-icon-box-content,
body.home.page-id-633 .elementor-widget-icon-box .elementor-icon-box-content {
    text-align: left !important;
    flex: 1 !important;
}

/* Reduction for the section containing the amenities */
body.page-id-205 .elementor-element-56f43f7d,
body.page-id-205 .elementor-element-95e667c {
    --padding-top: 1em !important;
    --padding-bottom: 0.25em !important;
}

body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-title {
    margin-bottom: 0 !important;
    text-align: left !important;
    margin-top: 0;
}

body.page-id-205 .elementor-widget-icon-box .elementor-icon-box-description {
    text-align: left !important;
}

/* PANORAMA: Reduce spacing between icon-box items in Why Stay With Us section */
body.page-id-950 .elementor-widget-icon-box {
    margin-bottom: 4px !important;
}

body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-title {
    margin-bottom: 2px !important;
    text-align: left !important;
    margin-top: 2px;
}

body.page-id-950 .elementor-widget-icon-box .elementor-icon-box-description {
    text-align: left !important;
    margin-bottom: 0 !important;
}

/* 8. WHY STAY WITH US: Equal-height icon boxes */
/* Forces all icon-box cards in the "Why Stay" section to be the same height */

/* The two row containers: make them stretch children equally */
.elementor-205 .elementor-element.elementor-element-96fe571,
.elementor-205 .elementor-element.elementor-element-163e288,
.elementor-950 .elementor-element.elementor-element-96fe571,
.elementor-950 .elementor-element.elementor-element-163e288 {
    --align-items: stretch !important;
}

/* Make each icon-box widget fill the row height */
.elementor-205 .elementor-element.elementor-element-5fd7dc3,
.elementor-205 .elementor-element.elementor-element-044e8a0,
.elementor-205 .elementor-element.elementor-element-d435f7a,
.elementor-205 .elementor-element.elementor-element-57ad2fd,
.elementor-205 .elementor-element.elementor-element-0957f24,
.elementor-205 .elementor-element.elementor-element-1de85ae,
.elementor-950 .elementor-element.elementor-element-5fd7dc3,
.elementor-950 .elementor-element.elementor-element-044e8a0,
.elementor-950 .elementor-element.elementor-element-d435f7a,
.elementor-950 .elementor-element.elementor-element-57ad2fd,
.elementor-950 .elementor-element.elementor-element-0957f24,
.elementor-950 .elementor-element.elementor-element-1de85ae {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-height: 130px !important;
    box-sizing: border-box !important;
}

/* Make the wrapper inside stretch to fill the card */
.elementor-205 .elementor-element.elementor-element-5fd7dc3 .elementor-icon-box-wrapper,
.elementor-205 .elementor-element.elementor-element-044e8a0 .elementor-icon-box-wrapper,
.elementor-205 .elementor-element.elementor-element-d435f7a .elementor-icon-box-wrapper,
.elementor-205 .elementor-element.elementor-element-57ad2fd .elementor-icon-box-wrapper,
.elementor-205 .elementor-element.elementor-element-0957f24 .elementor-icon-box-wrapper,
.elementor-205 .elementor-element.elementor-element-1de85ae .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-5fd7dc3 .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-044e8a0 .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-d435f7a .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-57ad2fd .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-0957f24 .elementor-icon-box-wrapper,
.elementor-950 .elementor-element.elementor-element-1de85ae .elementor-icon-box-wrapper {
    flex: 1 !important;
    align-items: flex-start !important;
}

/* 3. EQUAL-HEIGHT COLUMNS: "A Boutique Himalayan Escape" section on desktop */
/* Force the parent container to stretch so children can align to bottom */
body.page-id-205 .elementor-element-cf0caa9 {
    align-items: flex-end !important;
}

/* Left column: keep text at top, push gallery to bottom */
body.page-id-205 .elementor-element-7331d8ed {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}

/* Gallery widget inside left column: push to bottom to align with card */
body.page-id-205 .elementor-element-7331d8ed .elementor-widget-gallery,
body.page-id-205 .elementor-element-7331d8ed .elementor-widget-image-gallery {
    margin-top: auto !important;
}

/* Right column: align to the bottom of the row */
body.page-id-205 .elementor-element-135d7660 {
    align-self: flex-end !important;
}

/* 9. GALLERY: Equal-height images and tighter gaps in "A Boutique Himalayan Escape" */
/* Force all gallery images to the same height with consistent aspect ratio */

.elementor-205 .elementor-element.elementor-element-bbdc84b .gallery-item img {
    width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    border-radius: 12px !important;
    display: block !important;
}

@media (max-width: 767px) {

    body.home .elementor-image-gallery .gallery,
    body.home .elementor-image-gallery .gallery.gallery-columns-7 {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 8px !important;
    }

    body.home .elementor-image-gallery .gallery-item img {
        height: 120px !important;
        /* Smaller height for mobile grid */
    }
}


/* HOGS Panorama - Additional Design Fixes */
body.elementor-page-950 .elementor-element-56f43f7d .elementor-widget-container {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}



/* Align Side Columns on Hogs Panorama */
@media (min-width: 1025px) {

    /* Direct parent container of the two columns */
    body.page-id-950 .elementor-element-cf0caa9 {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;
    }

    /* Left column flex layout: Text at top, Gallery at bottom */
    body.page-id-950 .elementor-element-7331d8ed,
    body.page-id-950 .elementor-element-7331d8ed>.e-con-inner,
    body.page-id-950 .elementor-element-7331d8ed>.elementor-widget-wrap {
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        height: 100% !important;
        align-self: stretch !important;
    }

    /* Right column: Force the entire beige card to the bottom */
    body.page-id-950 .elementor-element-135d7660 {
        align-self: flex-end !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Push Gallery to the absolute bottom of left column */
    body.page-id-950 .elementor-element-bbdc84b {
        margin-top: auto !important;
        width: 100% !important;
    }
}

/* 6. BOUTIQUE STAY: Lighter dividers between room cards */
body.elementor-page-205 .elementor-element.elementor-element-4b6ff6b8,
body.elementor-page-205 .elementor-element.elementor-element-42743a9e,
body.elementor-page-205 .elementor-element.elementor-element-2d46f26 {
    --divider-color: #d4a55933 !important;
    --divider-border-width: 1px !important;
}

/* 7. BOUTIQUE STAY: Attractive room card box styling (Page 205) */
body.elementor-page-205 .elementor-element.elementor-element-983e0ac,
body.elementor-page-205 .elementor-element.elementor-element-2aa9c23 {
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(212, 165, 89, 0.15) !important;
    overflow: hidden !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

body.elementor-page-205 .elementor-element.elementor-element-983e0ac:hover,
body.elementor-page-205 .elementor-element.elementor-element-2aa9c23:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

/* BOUTIQUE STAY: Room card heading - fit on single line */
body.elementor-page-205 .elementor-element.elementor-element-983e0ac .elementor-heading-title,
body.elementor-page-205 .elementor-element.elementor-element-2aa9c23 .elementor-heading-title {
    font-size: clamp(1rem, 2vw, 1.35rem) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* PANORAMA: Attractive room card styling - matching Boutique Stay */
/* Target top-level sections that contain room cards on the Panorama page */
body.page-id-950 .elementor-top-section {
    border-radius: 16px !important;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06), 0 1px 4px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid rgba(212, 165, 89, 0.12) !important;
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    margin-bottom: 24px !important;
}

body.page-id-950 .elementor-top-section:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.10), 0 2px 8px rgba(0, 0, 0, 0.06) !important;
}

/* PANORAMA: Light cream dividers matching Boutique Stay */
body.page-id-950 .elementor-widget-divider .elementor-divider-separator {
    border-top-color: rgba(212, 165, 89, 0.25) !important;
}

body.page-id-950 .elementor-widget-divider {
    --divider-color: rgba(212, 165, 89, 0.25) !important;
    --divider-border-width: 1px !important;
}

.elementor-kit-610 h3 {
    margin: 0;
}

/* 10. ICON CENTERING: Fix alignment inside circular backgrounds globally */
html body .elementor-widget-icon-box .elementor-icon,
html body .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 60px !important;
    height: 60px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

html body .elementor-widget-icon-box .elementor-icon i,
html body .elementor-widget-icon-box .elementor-icon svg,
html body .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon i,
html body .elementor-widget-icon-box .elementor-icon-box-icon .elementor-icon svg {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    position: static !important;
    transform: translateY(2px) !important;
    /* Nudge to fix top-heavy font baselines */
}

/* 11. FAQs PAGE: Remove top gap/white line on the FAQs page specifically */
html body.page-id-868 {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

html body.page-id-868 .elementor-868,
html body.page-id-868 .elementor-868 .elementor-section-wrap>div.e-con:first-child,
html body.page-id-868 .elementor-868>div.e-con:first-child,
html body.page-id-868 .elementor-868 .elementor-section-wrap>section:first-child,
html body.page-id-868 .elementor-868 section:first-of-type,
html body.page-id-868 .elementor-location-header+.elementor-section-wrap {
    margin-top: 0 !important;
    padding-top: 0 !important;
}