.elementor-479 .elementor-element.elementor-element-f737808{--display:flex;--min-height:100vh;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.6;}.elementor-479 .elementor-element.elementor-element-f737808:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-f737808 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://www.oasisyogaretreat.com/wp-content/uploads/2026/01/yoga5.jpeg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-479 .elementor-element.elementor-element-f737808::before, .elementor-479 .elementor-element.elementor-element-f737808 > .elementor-background-video-container::before, .elementor-479 .elementor-element.elementor-element-f737808 > .e-con-inner > .elementor-background-video-container::before, .elementor-479 .elementor-element.elementor-element-f737808 > .elementor-background-slideshow::before, .elementor-479 .elementor-element.elementor-element-f737808 > .e-con-inner > .elementor-background-slideshow::before, .elementor-479 .elementor-element.elementor-element-f737808 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-479 .elementor-element.elementor-element-003c123{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-479 .elementor-element.elementor-element-9890bf4{background-color:#222222;padding:10px 10px 10px 10px;border-style:solid;border-width:1px 1px 1px 1px;border-color:#F0F0F0;border-radius:100px 100px 100px 100px;text-align:center;}.elementor-479 .elementor-element.elementor-element-9890bf4 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;}.elementor-479 .elementor-element.elementor-element-2b2d7c5{text-align:center;}.elementor-479 .elementor-element.elementor-element-2b2d7c5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:600;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-479 .elementor-element.elementor-element-e701d31{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-479 .elementor-element.elementor-element-78224f8{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-479 .elementor-element.elementor-element-d2fdd01{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-479 .elementor-element.elementor-element-c670a86{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-479 .elementor-element.elementor-element-ac41520{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-479 .elementor-element.elementor-element-ac41520 .elementor-divider-separator{width:100%;}.elementor-479 .elementor-element.elementor-element-ac41520 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-479 .elementor-element.elementor-element-c09e722{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-479 .elementor-element.elementor-element-2ff7c49{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-479 .elementor-element.elementor-element-2ff7c49 .elementor-icon-box-wrapper{gap:15px;}.elementor-479 .elementor-element.elementor-element-370349b{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-479 .elementor-element.elementor-element-370349b .elementor-icon-box-wrapper{gap:15px;}.elementor-479 .elementor-element.elementor-element-b9118a4{width:var( --container-widget-width, 30% );max-width:30%;--container-widget-width:30%;--container-widget-flex-grow:0;}.elementor-479 .elementor-element.elementor-element-b9118a4 .elementor-icon-box-wrapper{gap:15px;}.elementor-479 .elementor-element.elementor-element-4406565{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-479 .elementor-element.elementor-element-d898cc4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-479 .elementor-element.elementor-element-738403e{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;}.elementor-479 .elementor-element.elementor-element-81b93ef{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-81b93ef:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-81b93ef > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#738403;}.elementor-479 .elementor-element.elementor-element-6b91708{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-6d2d770 .elementor-heading-title{font-family:"Lato", Sans-serif;font-weight:600;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-479 .elementor-element.elementor-element-29798e5 .elementor-heading-title{font-family:"Roboto", Sans-serif;font-weight:600;}.elementor-479 .elementor-element.elementor-element-4a76298{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-479 .elementor-element.elementor-element-4a76298 .elementor-divider-separator{width:100%;}.elementor-479 .elementor-element.elementor-element-4a76298 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-479 .elementor-element.elementor-element-e4dc157{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-479 .elementor-element.elementor-element-e4dc157 p{margin-block-end:50px;}.elementor-479 .elementor-element.elementor-element-4b657bf{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-4b657bf:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-4b657bf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#738403;}.elementor-479 .elementor-element.elementor-element-fadc06f{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-f9b3fa9 .elementor-heading-title{font-family:"Lato", Sans-serif;font-weight:600;}.elementor-479 .elementor-element.elementor-element-a3135a8{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-479 .elementor-element.elementor-element-a3135a8 .elementor-divider-separator{width:100%;}.elementor-479 .elementor-element.elementor-element-a3135a8 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-479 .elementor-element.elementor-element-1ffb072{font-family:"Roboto", Sans-serif;font-weight:400;}.elementor-479 .elementor-element.elementor-element-1ffb072 p{margin-block-end:50px;}.elementor-479 .elementor-element.elementor-element-5ab65db{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-5ab65db:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-5ab65db > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#738403;}.elementor-479 .elementor-element.elementor-element-e35a39c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-ef8356a .elementor-heading-title{font-family:"Lato", Sans-serif;font-weight:600;}.elementor-479 .elementor-element.elementor-element-eddce27{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-479 .elementor-element.elementor-element-eddce27 .elementor-divider-separator{width:100%;}.elementor-479 .elementor-element.elementor-element-eddce27 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-479 .elementor-element.elementor-element-de074cd p{margin-block-end:50px;}.elementor-479 .elementor-element.elementor-element-85f445f{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-85f445f:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-85f445f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#738403;}.elementor-479 .elementor-element.elementor-element-31c5932{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-aff29a3 .elementor-heading-title{font-family:"Lato", Sans-serif;font-weight:600;}.elementor-479 .elementor-element.elementor-element-10c4c13{--divider-border-style:solid;--divider-color:#000;--divider-border-width:1px;}.elementor-479 .elementor-element.elementor-element-10c4c13 .elementor-divider-separator{width:100%;}.elementor-479 .elementor-element.elementor-element-10c4c13 .elementor-divider{padding-block-start:15px;padding-block-end:15px;}.elementor-479 .elementor-element.elementor-element-3183057 p{margin-block-end:50px;}.elementor-479 .elementor-element.elementor-element-b329d78{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-3058016{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-1eac0ce img{border-radius:0px 10px 10px 0px;}.elementor-479 .elementor-element.elementor-element-78ee8d7{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-479 .elementor-element.elementor-element-8312003{font-family:"Lato", Sans-serif;font-weight:400;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-479 .elementor-element.elementor-element-84c056e .elementor-icon-list-icon i{transition:color 0.3s;}.elementor-479 .elementor-element.elementor-element-84c056e .elementor-icon-list-icon svg{transition:fill 0.3s;}.elementor-479 .elementor-element.elementor-element-84c056e{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-479 .elementor-element.elementor-element-84c056e .elementor-icon-list-text{transition:color 0.3s;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-479 .elementor-element.elementor-element-003c123{--content-width:1200px;}.elementor-479 .elementor-element.elementor-element-c670a86{--content-width:1200px;}.elementor-479 .elementor-element.elementor-element-d898cc4{--content-width:1200px;}.elementor-479 .elementor-element.elementor-element-81b93ef{--width:70%;}.elementor-479 .elementor-element.elementor-element-4b657bf{--width:70%;}.elementor-479 .elementor-element.elementor-element-5ab65db{--width:70%;}.elementor-479 .elementor-element.elementor-element-85f445f{--width:70%;}.elementor-479 .elementor-element.elementor-element-3058016{--width:50%;}.elementor-479 .elementor-element.elementor-element-78ee8d7{--width:50%;}}@media(min-width:1025px){.elementor-479 .elementor-element.elementor-element-f737808:not(.elementor-motion-effects-element-type-background), .elementor-479 .elementor-element.elementor-element-f737808 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for container, class: .elementor-element-f737808 *//* --- 1. HERO CONTAINER LAYOUT --- */
/* This centers your content vertically and forces full screen */
.elementor-element-f737808 {
    min-height: 100vh !important; /* Full screen height */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Fix inner container alignment */
.elementor-element-003c123 {
    text-align: center;
    max-width: 900px;
    margin: 0 auto;
    z-index: 2;
}

/* --- 2. THE LOCATION TAG (Calpe, Spain) --- */
/* Creates the modern glass effect pill */
.elementor-element-9890bf4 .elementor-widget-container {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2); /* Glass effect */
    backdrop-filter: blur(10px);           /* Blurs background behind tag */
    -webkit-backdrop-filter: blur(10px);   /* Safari support */
    border: 1px solid rgba(255, 255, 255, 0.4);
    padding: 10px 28px;
    border-radius: 50px;
    margin-bottom: 24px;
}

/* Typography for Location Tag */
.elementor-element-9890bf4 .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    letter-spacing: 3px;
    color: #ffffff !important;
    margin: 0;
}

/* --- 3. MAIN TITLE (SEO H1) --- */
/* "Restore Your Nervous System..." */
.elementor-element-2b2d7c5 .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(2.5rem, 5vw, 4.8rem) !important; /* Responsive giant text */
    line-height: 1.1 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    text-shadow: 0px 4px 15px rgba(0,0,0,0.3); /* Soft shadow for readability */
    margin-bottom: 24px;
}

/* --- 4. SUB-TEXT DESCRIPTION --- */
/* "A holistic oasis..." */
.elementor-element-e701d31 p {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 300 !important;
    color: #f0f0f0 !important;
    max-width: 650px;
    line-height: 1.6 !important;
    margin: 0 auto 45px auto !important;
}

/* --- 5. BUTTONS CONTAINER --- */
.elementor-element-78224f8 {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* --- 6. BUTTON STYLES --- */

/* Button 1: Discovery Call (Lotus Orange) */
.elementor-element-1140d23 .elementor-button {
    background-color: #FCA065 !important; /* Brand Orange */
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 14px !important;
    letter-spacing: 1px;
    border-radius: 50px !important;
    padding: 18px 40px !important;
    box-shadow: 0 10px 20px rgba(252, 160, 101, 0.3) !important;
    transition: all 0.3s ease !important;
    border: none !important;
}

.elementor-element-1140d23 .elementor-button:hover {
    background-color: #e58e58 !important;
    transform: translateY(-4px); /* Moves up slightly on hover */
    box-shadow: 0 15px 30px rgba(252, 160, 101, 0.5) !important;
}

/* Button 2: View Retreats (White Glass) */
.elementor-element-ace9ba5 .elementor-button {
    background-color: rgba(255, 255, 255, 0.9) !important;
    color: #16A0B9 !important; /* Brand Cyan */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    font-size: 14px !important;
    letter-spacing: 1px;
    border-radius: 50px !important;
    padding: 18px 40px !important;
    transition: all 0.3s ease !important;
    border: none !important;
}

.elementor-element-ace9ba5 .elementor-button:hover {
    background-color: #ffffff !important;
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.15) !important;
}

/* --- FIX: HERO SUB-TEXT (The "Holistic Oasis" Text) --- */
/* Forces this specific box to be White, Light, and Centered */
.elementor-element-e701d31 p {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.3rem !important;
    font-weight: 300 !important;
    color: #f0f0f0 !important; /* Light White */
    line-height: 1.6 !important;
    text-align: center !important;
    margin: 0 auto 40px auto !important;
    font-style: normal !important; /* Ensures it's NOT italic */
}

/* --- FIX: QUOTE SECTION (The "Not a luxury getaway" Text) --- */
/* Forces this specific box to be Dark Grey and Italic */
.elementor-element-096e1fa p {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 300 !important;
    font-style: italic !important; /* Italic for the quote */
    color: #4A5568 !important; /* Dark Grey */
    text-align: center !important;
    line-height: 1.6 !important;
    margin: 30px auto 60px auto !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d2fdd01 *//* --- SECTION CONTAINER --- */
/* Adds proper spacing and the light branded background */
.elementor-element-d2fdd01 {
    background-color: #F9FBFB !important; /* Very light subtle grey/cyan tint */
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

/* --- HEADLINE (H2) --- */
.elementor-element-edcbc7b .elementor-heading-title {
    color: #2D3748 !important; /* Dark Grey Brand Color */
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 2.5rem !important;
    text-transform: capitalize;
}

/* --- DIVIDER ACCENT --- */
.elementor-element-ac41520 .elementor-divider-separator {
    border-color: #F7B801 !important; /* Sunrise Gold Accent */
    border-width: 4px !important;
    width: 60px !important;
    margin: 0 auto !important;
    border-radius: 2px;
}

/* --- QUOTE TEXT --- */
.elementor-element-096e1fa p {
    font-family: 'Lato', sans-serif !important;
    font-size: 1.25rem !important;
    font-weight: 300 !important; /* Light font weight for elegance */
    font-style: italic;
    color: #4A5568 !important;
    text-align: center;
    max-width: 800px;
    line-height: 1.6 !important;
    margin: 30px auto 60px auto !important;
}

/* --- ICON BOX GRID CONTAINER --- */
/* Forces the boxes to sit side-by-side with a gap */
.elementor-element-c09e722 {
    display: flex;
    gap: 30px;
    flex-wrap: wrap; /* Allows stacking on mobile */
    justify-content: center;
}

/* --- INDIVIDUAL CARDS (Icon Boxes) --- */
/* Styles the 3 boxes: 2ff7c49, 370349b, b9118a4 */
.elementor-element-2ff7c49, 
.elementor-element-370349b, 
.elementor-element-b9118a4 {
    background: #ffffff !important;
    border-radius: 20px !important;     /* Smooth rounded corners */
    padding: 50px 30px !important;      /* Inner breathing room */
    box-shadow: 0 10px 30px rgba(0,0,0,0.03) !important; /* Soft luxury shadow */
    border: 1px solid rgba(0,0,0,0.02) !important;
    transition: all 0.3s ease !important;
    flex: 1; /* Makes them equal width */
    min-width: 280px; /* Prevents them from getting too squashed */
}

/* Hover Effect: Lifts up slightly */
.elementor-element-2ff7c49:hover, 
.elementor-element-370349b:hover, 
.elementor-element-b9118a4:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(22, 160, 185, 0.15) !important; /* Cyan tint shadow */
}

/* --- ICON STYLING --- */
.elementor-icon-box-icon {
    background-color: #E8F6F8 !important; /* Lightest Cyan Circle BG */
    width: 90px;
    height: 90px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 25px auto !important;
    transition: background-color 0.3s ease;
}

/* Card Hover: Change Icon Circle Color */
.elementor-element-2ff7c49:hover .elementor-icon-box-icon,
.elementor-element-370349b:hover .elementor-icon-box-icon,
.elementor-element-b9118a4:hover .elementor-icon-box-icon {
    background-color: #16A0B9 !important; /* Turns solid Cyan on hover */
}

/* Icon SVG Color */
.elementor-icon-box-icon .elementor-icon i, 
.elementor-icon-box-icon .elementor-icon svg {
    fill: #16A0B9 !important; /* Icon starts Cyan */
    color: #16A0B9 !important;
    width: 36px !important;
    height: 36px !important;
    transition: fill 0.3s ease;
}

/* Card Hover: Icon Turns White */
.elementor-element-2ff7c49:hover .elementor-icon svg,
.elementor-element-370349b:hover .elementor-icon svg,
.elementor-element-b9118a4:hover .elementor-icon svg {
    fill: #ffffff !important;
}

/* --- CARD TITLE (H3) --- */
.elementor-icon-box-title {
    font-family: 'Montserrat', sans-serif !important;
    color: #2D3748 !important;
    font-weight: 700 !important;
    font-size: 1.4rem !important;
    margin-bottom: 15px !important;
}

/* --- CARD DESCRIPTION --- */
.elementor-icon-box-description {
    font-family: 'Lato', sans-serif !important;
    color: #718096 !important;
    font-size: 1rem !important;
    line-height: 1.6 !important;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-4406565 *//* --- 1. SECTION SPACING --- */
.elementor-element-4406565 {
    background-color: #ffffff !important;
    padding-top: 80px !important;
    padding-bottom: 100px !important;
}

/* --- 2. HEADINGS --- */
/* "2026 Calendar" Label */
.elementor-element-0663413 .elementor-heading-title {
    color: #FCA065 !important; /* Lotus Orange */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    text-align: center;
    margin-bottom: 10px;
}

/* "Choose Your Journey" Title */
.elementor-element-6abb817 .elementor-heading-title {
    color: #2D3748 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 3rem !important;
    font-weight: 700 !important;
    text-align: center;
    margin-bottom: 60px;
}

/* --- 3. THE GRID LAYOUT (The Fix) --- */
/* Target the container holding the cards */
.elementor-element-738403e {
    display: grid !important;
    /* This forces exactly 4 equal columns in one row */
    grid-template-columns: repeat(4, 1fr) !important; 
    gap: 20px !important;
    
    /* If you want the whole grid to be narrower (70% of screen), use this: */
    width: 100% !important; 
    max-width: 1400px !important;
    margin: 0 auto !important;
}

/* Responsive: On Tablet show 2 per row */
@media (max-width: 1024px) {
    .elementor-element-738403e {
        grid-template-columns: repeat(2, 1fr) !important;
        width: 95% !important;
    }
}

/* Responsive: On Mobile show 1 per row */
@media (max-width: 767px) {
    .elementor-element-738403e {
        grid-template-columns: 1fr !important;
        width: 100% !important;
    }
}

/* --- 4. CARD STYLING --- */
/* Targets all 4 card containers */
.elementor-element-81b93ef,
.elementor-element-4b657bf,
.elementor-element-5ab65db,
.elementor-element-85f445f {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06) !important;
    overflow: hidden !important; 
    transition: transform 0.3s ease, box-shadow 0.3s ease !important;
    border-bottom: 5px solid #16A0B9; /* Default Cyan */
    display: flex;
    flex-direction: column;
    margin: 0 !important; /* Removes Elementor margins to fix grid */
    width: 100% !important; /* Fills the grid cell */
}

.elementor-element-81b93ef:hover,
.elementor-element-4b657bf:hover,
.elementor-element-5ab65db:hover,
.elementor-element-85f445f:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.12) !important;
}

/* --- 5. COLOR ACCENTS --- */
/* May (Card 2) - Orange */
.elementor-element-4b657bf { border-bottom-color: #FCA065 !important; }
/* Sept (Card 3) - Gold */
.elementor-element-5ab65db { border-bottom-color: #F7B801 !important; }


/* --- 6. IMAGE & BADGE --- */
/* Image Containers */
.elementor-element-6b91708,
.elementor-element-fadc06f,
.elementor-element-e35a39c,
.elementor-element-31c5932 {
    height: 220px !important;
    position: relative !important;
    width: 100% !important;
}

/* Fix Image Sizing */
.elementor-widget-image img {
    width: 100% !important;
    height: 220px !important;
    object-fit: cover !important;
}

/* Badges (Top Right) */
.elementor-element-6d2d770,
.elementor-element-f9b3fa9,
.elementor-element-ef8356a,
.elementor-element-aff29a3 {
    position: absolute !important;
    top: 15px;
    right: 15px;
    z-index: 10;
    background: rgba(255, 255, 255, 0.95) !important;
    padding: 6px 12px;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.elementor-heading-title { /* General Reset */
    padding: 0; margin: 0; line-height: 1.2;
}

/* Badge Text Size */
.elementor-element-6d2d770 .elementor-heading-title,
.elementor-element-f9b3fa9 .elementor-heading-title,
.elementor-element-ef8356a .elementor-heading-title,
.elementor-element-aff29a3 .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #2D3748 !important;
}


/* --- 7. TEXT CONTENT --- */

/* Dates */
.elementor-element-79d89bb,
.elementor-element-cd2871c,
.elementor-element-88d742b,
.elementor-element-12fb8af {
    margin-top: 20px !important;
    padding: 0 20px !important;
}
.elementor-element-79d89bb .elementor-heading-title,
.elementor-element-cd2871c .elementor-heading-title,
.elementor-element-88d742b .elementor-heading-title,
.elementor-element-12fb8af .elementor-heading-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    color: #16A0B9 !important;
}
.elementor-element-cd2871c .elementor-heading-title { color: #FCA065 !important; } /* Orange Date */
.elementor-element-88d742b .elementor-heading-title { color: #D4AF37 !important; } /* Gold Date */

/* Retreat Titles */
.elementor-element-29798e5 .elementor-heading-title,
.elementor-element-2a0fbc6 .elementor-heading-title,
.elementor-element-5a632bd .elementor-heading-title,
.elementor-element-98063e9 .elementor-heading-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2D3748 !important;
    padding: 0 20px !important;
    margin-top: 5px !important;
    margin-bottom: 10px !important;
}

/* Dividers */
.elementor-divider-separator {
    margin: 0 20px !important;
    border-color: #f0f0f0 !important;
}

/* Description Text */
.elementor-widget-text-editor {
    padding: 0 20px !important;
    margin-bottom: auto !important;
}
.elementor-widget-text-editor p {
    font-family: 'Lato', sans-serif !important;
    font-size: 14px !important;
    color: #718096 !important;
    line-height: 1.5 !important;
}

/* --- 8. BUTTONS --- */
.elementor-element-f81b491,
.elementor-element-0092d77,
.elementor-element-ddfeffd,
.elementor-element-74e580a {
    padding: 0 20px 25px 20px !important;
}

.elementor-button {
    width: 100%;
    background-color: transparent !important;
    color: #16A0B9 !important;
    border: 1px solid #16A0B9 !important;
    border-radius: 8px !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
}

.elementor-button:hover {
    background-color: #16A0B9 !important;
    color: #ffffff !important;
}

/* Button Colors */
/* Orange Button (May) */
.elementor-element-0092d77 .elementor-button { color: #FCA065 !important; border-color: #FCA065 !important; }
.elementor-element-0092d77 .elementor-button:hover { background-color: #FCA065 !important; color: white !important; }

/* Gold Button (Sept) */
.elementor-element-ddfeffd .elementor-button { color: #D4AF37 !important; border-color: #D4AF37 !important; }
.elementor-element-ddfeffd .elementor-button:hover { background-color: #D4AF37 !important; color: white !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-b329d78 *//* --- 1. PARENT CONTAINER (The Fix for Equal Height) --- */
/* Target: b329d78 */
.elementor-element-b329d78 {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important; /* CRITICAL: This forces equal height */
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: #2D3748 !important; /* Ensures background matches if image loads slow */
}

/* --- 2. IMAGE COLUMN (Left Side) --- */
/* Target: 3058016 */
.elementor-element-3058016 {
    width: 50% !important;
    padding: 0 !important;
    margin: 0 !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
}

/* --- 3. THE IMAGE WIDGET (Force Full Height) --- */
/* Target: 1eac0ce */
.elementor-element-1eac0ce {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    flex-grow: 1 !important; /* Forces widget to fill available space */
}

.elementor-element-1eac0ce .elementor-widget-container,
.elementor-element-1eac0ce img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Ensures image covers area without distortion */
    object-position: center !important;
    display: block !important;
    min-height: 400px !important; /* Fallback height */
}

/* --- 4. TEXT COLUMN (Right Side) --- */
/* Target: 78ee8d7 */
.elementor-element-78ee8d7 {
    width: 50% !important;
    background-color: #2D3748 !important;
    padding: 80px 60px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important; /* Vertically Center Content */
    align-items: flex-start !important; /* CRITICAL: This stops the button from being full width */
}

/* --- 5. TYPOGRAPHY (Specific Sizes) --- */

/* Sub-Heading: "The Venue" (c71f5e3) */
.elementor-element-c71f5e3 {
    margin-bottom: 10px !important;
    width: 100% !important;
}
.elementor-element-c71f5e3 .elementor-heading-title {
    color: #16A0B9 !important; /* Cyan */
    font-family: 'Montserrat', sans-serif !important;
    font-size: 13px !important; /* Small, Uppercase Label */
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 2px;
}

/* Main Heading: "Your Sanctuary..." (50ed491) */
.elementor-element-50ed491 {
    margin-bottom: 25px !important;
    width: 100% !important;
}
.elementor-element-50ed491 .elementor-heading-title {
    color: #ffffff !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 42px !important; /* Large, Readable H2 */
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

/* --- DESCRIPTION TEXT (Matching HTML Layout) --- */
/* Target: 8312003 */
.elementor-element-8312003 {
    margin-bottom: 35px !important; /* mb-8 equivalent */
    width: 100% !important;
}

.elementor-element-8312003 .elementor-widget-container p {
    font-family: 'Lato', sans-serif !important;
    
    /* Matches "text-lg" (Large Text) */
    font-size: 18px !important; 
    
    /* Matches "leading-relaxed" (Relaxed Line Height) */
    line-height: 1.625 !important; 
    
    /* Matches "font-light" (Light Font Weight) */
    font-weight: 300 !important; 
    
    /* Matches "text-gray-300" (Light Grey) */
    color: #E2E8F0 !important; 
    
    margin: 0 !important;
}

/* --- 6. ICON LIST STYLING --- */
/* Target: 84c056e */
.elementor-element-84c056e {
    width: 100% !important;
    margin-bottom: 35px !important;
}
.elementor-element-84c056e .elementor-icon-list-item {
    padding-bottom: 12px !important;
}
.elementor-element-84c056e .elementor-icon-list-icon i,
.elementor-element-84c056e .elementor-icon-list-icon svg {
    color: #F7B801 !important; /* Gold Icon */
    fill: #F7B801 !important;
}
.elementor-element-84c056e .elementor-icon-list-text {
    color: #ffffff !important;
    padding-left: 10px !important;
}

/* --- 7. BUTTON FIX (Fit Content) --- */
/* Target: 8ff5b47 */
.elementor-element-8ff5b47 {
    width: auto !important; /* Prevents container full width */
    max-width: 100% !important;
}

.elementor-element-8ff5b47 .elementor-button {
    display: inline-block !important;
    width: auto !important; /* Prevents button full width */
    background-color: transparent !important;
    color: #16A0B9 !important;
    border: 1px solid #16A0B9 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase;
    font-size: 13px !important;
    letter-spacing: 1px;
    padding: 15px 35px !important;
    border-radius: 50px !important;
    transition: all 0.3s ease !important;
}

.elementor-element-8ff5b47 .elementor-button:hover {
    background-color: #16A0B9 !important;
    color: #ffffff !important;
}

/* --- 8. MOBILE RESPONSIVENESS --- */
@media (max-width: 900px) {
    /* Break into one column */
    .elementor-element-b329d78 {
        flex-direction: column !important;
    }
    
    .elementor-element-3058016, 
    .elementor-element-78ee8d7 {
        width: 100% !important;
    }
    
    /* Ensure image has height on mobile */
    .elementor-element-1eac0ce img {
        height: 300px !important;
    }
    
    /* Adjust padding */
    .elementor-element-78ee8d7 {
        padding: 50px 30px !important;
    }
}/* End custom CSS */