/* Cookie Banner Main Background */
.termsfeed-com---nb {
    background-color: #ffffff !important; 
    color: #1B3B36 !important; 
}

/* Cookie Banner Buttons */
.termsfeed-com---nb button {
    background-color: #7C8F6E !important;
    color: #ffffff !important; 
    border: none !important;
}

/* Links (e.g. Change Preferences) */
.termsfeed-com---nb a {
    color: #7C8F6E !important;
    text-decoration: underline !important;
}

/* 1. Force Full-Width Bottom Bar & Center Content */
.termsfeed-com---nb {
    background-color: #ffffff !important; 
    color: #1B3B36 !important; 
    width: 100% !important;
    max-width: 100% !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box !important;
    padding: 24px !important;
    text-align: center !important; /* Centers all inner text elements */
}

/* Force TermsFeed's inner wrapper to center everything */
.termsfeed-com---nb .cc-nb-main-container,
.termsfeed-com---nb > div {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* Center the truncated text and limit width for readability */
.termsfeed-com---nb .cc-nb-text {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-align: center !important;
    margin-bottom: 12px !important;
    font-size: 14px !important;
    max-width: 800px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* 2. Hide Title & Restrict Text to 2 Lines */
.termsfeed-com---nb .cc-nb-title {
    display: none !important; /* Hides "We use cookies" to save space */
}

.termsfeed-com---nb .cc-nb-text {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important; /* Forces text to truncate after 2 lines */
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-align: center !important;
    margin-bottom: 15px !important;
    font-size: 14px !important;
    max-width: 800px !important; /* Keeps text readable on large monitors */
}

/* 3. Side-by-Side Agree & Disagree Buttons */
.termsfeed-com---nb .cc-nb-buttons-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 15px !important;
    width: 100% !important;
    max-width: 400px !important;
    margin: 0 auto !important; /* Centers the button block */
}

.termsfeed-com---nb button.cc-nb-okagree,
.termsfeed-com---nb button.cc-nb-reject {
    flex: 1 !important; /* Splits the width exactly 50/50 */
    background-color: #7C8F6E !important;
    color: #ffffff !important; 
    border: none !important;
    margin: 0 !important;
    padding: 12px 20px !important;
}

/* 4. Turn the Preferences Button into a "Read More" Link */
.termsfeed-com---nb button.cc-nb-changep {
    flex-basis: 100% !important;
    background: transparent !important;
    color: #7C8F6E !important;
    text-decoration: underline !important;
    margin-top: 5px !important;
    padding: 5px !important;
    font-size: 13px !important;
}

/* Allow text to expand when toggled */
.termsfeed-com---nb .cc-nb-text.expanded {
    display: block !important;
    -webkit-line-clamp: unset !important;
    max-height: 200px !important;
    overflow-y: auto !important;
}

/* Style for the Read More / Read Less link */
#tf-read-more-btn {
    color: #7C8F6E !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    font-size: 13px !important;
    margin-bottom: 12px !important;
    display: block !important;
    text-align: center !important;
}

/* Prevent horizontal page scrolling globally */
html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
}

/* Force all forms, iframes, and inputs to respect mobile screen bounds */
form, .gohighlevel-form, iframe, input, select, textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* Popup text styling */
#popmake-2024,
#popmake-2024 h1,
#popmake-2024 h2,
#popmake-2024 h3,
#popmake-2024 p,
#popmake-2024 label,
#popmake-2024 input,
#popmake-2024 textarea,
#popmake-2024 select,
#popmake-2024 button,
#popmake-2024 .forminator-field,
#popmake-2024 .forminator-label,
#popmake-2024 .forminator-description,
#pum-2024,
#pum-2024 h1,
#pum-2024 h2,
#pum-2024 h3,
#pum-2024 p,
#pum-2024 label,
#pum-2024 input,
#pum-2024 textarea,
#pum-2024 select,
#pum-2024 button,
#pum-2024 .forminator-field,
#pum-2024 .forminator-label,
#pum-2024 .forminator-description {
    font-family: "Montserrat", Arial, sans-serif !important;
    font-weight: 600 !important;
}

/* Centre the popup title and description */
#popmake-2024 h1,
#popmake-2024 h2,
#popmake-2024 h3,
#popmake-2024 > .pum-content > p,
#pum-2024 h1,
#pum-2024 h2,
#pum-2024 h3,
#pum-2024 > .pum-content > p {
    text-align: center !important;
    font-weight: 600 !important;
}

/* Popup top and bottom spacing */
#popmake-2024 .pum-content,
#pum-2024 .pum-content {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    padding-left: 32px !important;
    padding-right: 32px !important;
    box-sizing: border-box !important;
}

/* Space below the title */
#popmake-2024 h1,
#popmake-2024 h2,
#popmake-2024 h3,
#pum-2024 h1,
#pum-2024 h2,
#pum-2024 h3 {
    margin-bottom: 12px !important;
}

/* Space below the description */
#popmake-2024 .pum-content > p,
#pum-2024 .pum-content > p {
    margin-bottom: 24px !important;
}

/* Space between field titles and input boxes */
#popmake-2024 .forminator-label,
#pum-2024 .forminator-label {
    display: block !important;
    margin-bottom: 7px !important;
    font-weight: 600 !important;
}

/* Space between form rows */
#popmake-2024 .forminator-row,
#pum-2024 .forminator-row {
    margin-bottom: 14px !important;
}

/* Gap between First Name and Last Name */
#popmake-2024 .forminator-row .forminator-col,
#pum-2024 .forminator-row .forminator-col {
    padding-left: 6px !important;
    padding-right: 6px !important;
}

#popmake-2024 .forminator-row .forminator-col:first-child,
#pum-2024 .forminator-row .forminator-col:first-child {
    padding-left: 0 !important;
}

#popmake-2024 .forminator-row .forminator-col:last-child,
#pum-2024 .forminator-row .forminator-col:last-child {
    padding-right: 0 !important;
}

/* Message label and message field spacing */
#popmake-2024 .forminator-field-textarea,
#pum-2024 .forminator-field-textarea {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

#popmake-2024 .forminator-field-textarea .forminator-label,
#pum-2024 .forminator-field-textarea .forminator-label {
    margin-top: 0 !important;
    margin-bottom: 7px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Make the message box approximately twice as tall */
#popmake-2024 .forminator-field-textarea textarea,
#pum-2024 .forminator-field-textarea textarea {
    height: 160px !important;
    min-height: 160px !important;
    margin-top: 0 !important;
    box-sizing: border-box !important;
}

/* Keep fields within the popup */
#popmake-2024 input,
#popmake-2024 textarea,
#popmake-2024 select,
#pum-2024 input,
#pum-2024 textarea,
#pum-2024 select {
    max-width: 100% !important;
    box-sizing: border-box !important;
    font-weight: 600 !important;
}

/* Space below the message field */
#popmake-2024 .forminator-textarea,
#pum-2024 .forminator-textarea {
    margin-bottom: 8px !important;
}

/* Extra space at the bottom of the form */
#popmake-2024 .forminator-pagination-footer,
#popmake-2024 .forminator-row:last-child,
#pum-2024 .forminator-pagination-footer,
#pum-2024 .forminator-row:last-child {
    margin-bottom: 8px !important;
}

/* Make an enquiry button */
#popmake-2024 .forminator-button,
#popmake-2024 button[type="submit"],
#pum-2024 .forminator-button,
#pum-2024 button[type="submit"] {
    color: #000000 !important;
    font-weight: 600 !important;
}

/* Close button position */
#popmake-2024 .pum-close,
#pum-2024 .pum-close {
    position: absolute !important;
    top: 10px !important;
    right: 12px !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 9999 !important;
}

/* Mobile styling */
@media screen and (max-width: 600px) {
    #popmake-2024,
    #pum-2024 {
        width: calc(100% - 30px) !important;
        max-width: calc(100% - 30px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box !important;
    }

    #popmake-2024 .pum-content,
    #pum-2024 .pum-content {
        padding: 18px !important;
        box-sizing: border-box !important;
    }

    #popmake-2024 .forminator-row .forminator-col,
    #pum-2024 .forminator-row .forminator-col {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    #popmake-2024 input,
    #popmake-2024 textarea,
    #popmake-2024 select,
    #pum-2024 input,
    #pum-2024 textarea,
    #pum-2024 select {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}
/* Force thicker field titles, including nested Forminator elements */
#popmake-2024 .forminator-label,
#popmake-2024 .forminator-label *,
#popmake-2024 label,
#popmake-2024 label *,
#pum-2024 .forminator-label,
#pum-2024 .forminator-label *,
#pum-2024 label,
#pum-2024 label * {
    font-weight: 700 !important;
    text-shadow: 0 0 0.2px currentColor !important;
}

/* Force thicker submit-button text, including nested spans */
#popmake-2024 .forminator-button,
#popmake-2024 .forminator-button *,
#popmake-2024 button[type="submit"],
#popmake-2024 button[type="submit"] *,
#pum-2024 .forminator-button,
#pum-2024 .forminator-button *,
#pum-2024 button[type="submit"],
#pum-2024 button[type="submit"] * {
    font-weight: 700 !important;
    color: #000000 !important;
    text-shadow: 0 0 0.2px currentColor !important;
}
/* Make field titles one weight thicker */
#popmake-2024 .forminator-label,
#popmake-2024 .forminator-label *,
#popmake-2024 label,
#popmake-2024 label *,
#pum-2024 .forminator-label,
#pum-2024 .forminator-label *,
#pum-2024 label,
#pum-2024 label * {
    font-weight: 800 !important;
    text-shadow: 0 0 0.2px currentColor !important;
}

/* Make the Make an enquiry button text one weight thicker */
#popmake-2024 .forminator-button,
#popmake-2024 .forminator-button *,
#popmake-2024 button[type="submit"],
#popmake-2024 button[type="submit"] *,
#pum-2024 .forminator-button,
#pum-2024 .forminator-button *,
#pum-2024 button[type="submit"],
#pum-2024 button[type="submit"] * {
    font-weight: 800 !important;
    color: #000000 !important;
    text-shadow: 0 0 0.2px currentColor !important;
}

/* Add space between the form heading and description */
#popmake-2024 .pum-content h1,
#popmake-2024 .pum-content h2,
#popmake-2024 .pum-content h3,
#pum-2024 .pum-content h1,
#pum-2024 .pum-content h2,
#pum-2024 .pum-content h3 {
    margin-bottom: 16px !important;
}

/* Keep the description text separated from the fields below */
#popmake-2024 .pum-content > p,
#pum-2024 .pum-content > p {
    margin-top: 0 !important;
    margin-bottom: 24px !important;
}
.jp-relatedposts {
    display: none !important;
}

.elementor-1040 .elementor-element.elementor-element-7907fbb {
    --padding-top: 20px !important;
    --padding-bottom: 20px !important;
    --padding-block-start: 20px !important;
    --padding-block-end: 20px !important;
    --row-gap: 10px !important;
}

.single-product .selected-enquiry-button {
    margin-bottom: 80px !important;
}

.elementor-1040 .elementor-element.elementor-element-44426ea {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
}

.elementor-1040 .elementor-element.elementor-element-441e39b {
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    gap: 0 !important;
    row-gap: 0 !important;
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
    --gap: 0px !important;
    --row-gap: 0px !important;
}
/* Reduce the large gap around the product description */
.single-product .woocommerce-tabs,
.single-product div.product .woocommerce-tabs,
.woocommerce-js div.product .woocommerce-tabs {
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
}
.single-product .woocommerce-tabs,
.single-product div.product .woocommerce-tabs,
.woocommerce-js div.product .woocommerce-tabs {
    padding-top: 0 !important;
    margin-top: -40px !important;
    margin-bottom: 0 !important;
}
/* Remove the large gap from the product description container */
.elementor-1040 .elementor-element.elementor-element-441e39b {
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-block-start: 0px !important;
    --padding-block-end: 0px !important;
    --gap: 0px !important;
    --row-gap: 0px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    gap: 0 !important;
    row-gap: 0 !important;
}

/* Remove spacing around the product tabs */
.elementor-1040 .elementor-element.elementor-element-44426ea,
.elementor-1040 .woocommerce-tabs,
.elementor-1040 .woocommerce-tabs .panel,
.elementor-1040 .woocommerce-Tabs-panel {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Add only the desired space below the button */
.single-product .selected-enquiry-button {
    margin-bottom: 100px !important;
}
/* Keep the header/banner above the enquiry button */
#masthead,
.site-header,
.elementor-location-header,
.elementor-location-header .elementor-section,
.elementor-location-header .e-con {
    z-index: 9999 !important;
}

/* Keep the enquiry button underneath the header */
.single-product .selected-enquiry-button {
    z-index: 1 !important;
}
/* Center star ratings in related products */
.related.products ul.products li.product .star-rating {
    margin-left: auto;
    margin-right: auto;
}
/* Keep the WooCommerce reviews tab clickable and above other elements */
.woocommerce-tabs,
.woocommerce-tabs .tabs,
.woocommerce-tabs .tabs li,
.woocommerce-tabs .tabs li a,
.woocommerce-tabs .reviews_tab {
    z-index: 9999 !important;
    pointer-events: auto !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Keep the reviews section available */
.woocommerce-Tabs-panel--reviews {
    z-index: 9998 !important;
    pointer-events: auto !important;
}
li.product:has(a[href*="the-outside-in-guide-kids-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
li.product:has(a[href*="the-outside-in-guide-kids-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
li.product:has(a[href*="the-outside-in-guide-teens-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
li.product:has(a[href*="the-outside-in-guide-teens-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
li.product:has(a[href*="the-outside-in-guide-adults-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
li.product:has(a[href*="the-outside-in-guide-adults-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-kids-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-kids-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-teens-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-teens-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-adults-mentee" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating),
.e-loop-item:has(a[href*="the-outside-in-guide-adults-mentor" i]) :is(.star-rating, .elementor-star-rating, .elementor-widget-woocommerce-product-rating) {
    display: none !important;
}
.elementor-popup-modal .dialog-widget-content:has(.elementor-3147),
.elementor-popup-modal .dialog-widget-content:has(.elementor-3075),
.elementor-popup-modal .dialog-widget-content:has(.elementor-3098),
.elementor-popup-modal .dialog-widget-content:has(.elementor-3089),
.elementor-popup-modal .dialog-widget-content:has(.elementor-3141) {
  background-color: transparent !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  z-index: 1 !important;
}
.single-product .related.products {
  margin-top: 100px;
}
.single-product .woocommerce-product-details__short-description {
  display: none !important;
}

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Poppins:wght@300;400;500;600&display=swap');
:root{--ar-cream:#F3EFE4;--ar-cream-deep:#ECEBDF;--ar-sand:#E6E7DA;--ar-olive:#6F7E5F;--ar-deep-olive:#55634A;--ar-sage:#E1E5D6;--ar-ink:#2A2A22;--ar-forest:#8FA687;--ar-muted:#6C6B5E;--ar-line:rgba(42,42,34,.16);--ar-serif:'Lora',Georgia,serif;--ar-sans:'Poppins',system-ui,sans-serif;--ar-max:1200px}
.asoula-retreats,.asoula-retreats *{box-sizing:border-box}.asoula-retreats{background:var(--ar-cream);color:var(--ar-ink);font:400 15px/1.75 var(--ar-sans)}.asoula-retreats a{color:inherit}.asoula-retreats img{max-width:100%}.ar-shell{width:min(var(--ar-max),calc(100% - 64px));margin:auto}.ar-topbar{position:sticky;top:var(--ar-sticky-top,0px);z-index:30;background:rgba(243,239,228,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--ar-line)}.ar-nav{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.ar-brand{text-decoration:none;font:400 28px/1 var(--ar-serif);letter-spacing:6px}.ar-navlinks{display:flex;align-items:center;gap:28px}.ar-navlinks a,.ar-footer a{text-decoration:none;font-size:12px;letter-spacing:1.2px}.ar-navlinks a[aria-current=page]{color:var(--ar-olive);text-decoration:underline;text-underline-offset:7px}.ar-navcta{background:var(--ar-olive);color:white!important;padding:12px 20px}.ar-menu-toggle{display:none;background:none;border:1px solid var(--ar-line);padding:10px 14px;font:inherit;color:var(--ar-ink)}.ar-breadcrumbs{padding:22px 0 0;font-size:11px;letter-spacing:.8px;color:var(--ar-muted)}.ar-breadcrumbs a{text-decoration:none}.ar-breadcrumbs span{padding:0 8px;color:#9b9b8e}.ar-hero{position:relative;min-height:590px;display:grid;align-items:center;overflow:hidden;background:var(--ar-forest);color:white}.ar-hero.has-photo{background:linear-gradient(90deg,rgba(34,42,32,.66),rgba(34,42,32,.22)),var(--ar-hero-image) center/cover}.ar-hero-inner{width:min(var(--ar-max),calc(100% - 64px));margin:auto;padding:100px 0;max-width:var(--ar-max)}.ar-kicker{font:500 11px/1.5 var(--ar-sans);letter-spacing:3px;text-transform:uppercase;color:#e4e8d8;margin:0 0 24px}.ar-hero h1{font:400 clamp(46px,6vw,78px)/1.08 var(--ar-serif);max-width:850px;margin:0 0 22px}.ar-hero h1 em{color:#e3e8d9}.ar-hero p{max-width:610px;font-size:17px;color:#f1f0e8}.ar-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.ar-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 22px;background:var(--ar-olive);color:white;text-decoration:none;border:1px solid var(--ar-olive);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;transition:background .2s,color .2s}.ar-button:hover{background:var(--ar-deep-olive);border-color:var(--ar-deep-olive)}.ar-button.secondary{background:transparent;border-color:currentColor;color:inherit}.ar-button.dark{background:var(--ar-ink);border-color:var(--ar-ink)}.ar-section{padding:94px 0}.ar-section.alt{background:var(--ar-cream-deep)}.ar-section.sand{background:var(--ar-sand)}.ar-section.green{background:var(--ar-forest);color:var(--ar-cream)}.ar-eyebrow{font:500 10px/1.5 var(--ar-sans);letter-spacing:3px;text-transform:uppercase;color:var(--ar-olive);margin:0 0 18px}.ar-section h2,.ar-title{font:400 clamp(34px,4vw,52px)/1.16 var(--ar-serif);margin:0 0 22px}.ar-section h2 em{color:var(--ar-olive)}.ar-lead{font-size:17px;line-height:1.9;max-width:740px;color:var(--ar-muted)}.ar-copy{max-width:760px}.ar-copy p{margin:0 0 18px}.ar-center{text-align:center}.ar-center .ar-lead{margin:0 auto}.ar-rule{width:66px;height:1px;background:var(--ar-olive);margin:30px 0}.ar-center .ar-rule{margin:30px auto}.ar-split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.ar-split.reverse .ar-media{order:2}.ar-media{min-height:390px;background:var(--ar-sage);position:relative;display:grid;place-items:center;overflow:hidden}.ar-media:before{content:"";position:absolute;inset:18px;border:1px solid rgba(85,99,74,.25)}.ar-media-label{position:relative;text-align:center;padding:30px;color:var(--ar-deep-olive);font:italic 18px var(--ar-serif)}.ar-media small{display:block;font:500 9px var(--ar-sans);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.ar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.ar-card{background:#fff;border:1px solid rgba(111,126,95,.22);display:flex;flex-direction:column;min-width:0}.ar-card-body{padding:26px;display:flex;flex-direction:column;flex:1}.ar-card h3{font:400 26px/1.2 var(--ar-serif);margin:0 0 10px}.ar-card p{font-size:13px;color:var(--ar-muted);margin:0 0 20px}.ar-card .ar-button{margin-top:auto;align-self:flex-start}.ar-card-media{height:190px;background:var(--ar-sage);display:grid;place-items:center;color:var(--ar-deep-olive);font:italic 16px var(--ar-serif)}.ar-status{display:inline-block;align-self:flex-start;padding:6px 9px;margin:0 0 15px;background:var(--ar-sage);color:var(--ar-deep-olive);font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.ar-meta{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:12px;color:var(--ar-muted);margin:20px 0}.ar-meta span{border-bottom:1px solid var(--ar-line);padding-bottom:7px}.ar-feature-band{padding:100px 0;background:var(--ar-deep-olive);color:white}.ar-feature-band .ar-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}.ar-feature-band h2{font:400 clamp(34px,4vw,50px)/1.16 var(--ar-serif);margin:0 0 16px}.ar-feature-band p{color:#e5e8dc}.ar-feature-band .ar-media{min-height:340px}.ar-list{list-style:none;padding:0;margin:25px 0}.ar-list li{padding:14px 0;border-bottom:1px solid var(--ar-line);display:flex;gap:14px}.ar-list li:before{content:"—";color:var(--ar-olive)}.ar-subnav{display:flex;gap:8px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--ar-line);border-top:1px solid var(--ar-line);margin:22px 0 0}.ar-subnav a{padding:9px 12px;text-decoration:none;font-size:10px;letter-spacing:.8px;border:1px solid transparent;color:var(--ar-muted)}.ar-subnav a[aria-current=page]{border-color:var(--ar-olive);color:var(--ar-deep-olive);background:var(--ar-sage)}.ar-breadcrumbs a:hover,.ar-subnav a:hover{text-decoration:underline}.ar-info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.ar-info{padding:28px;background:rgba(255,255,255,.55);border-top:2px solid var(--ar-olive)}.ar-info h3{font:400 24px var(--ar-serif);margin:0 0 10px}.ar-info p{color:var(--ar-muted);margin:0}.ar-placeholder{padding:16px 18px;background:#f8f7f1;border-left:3px solid var(--ar-olive);color:var(--ar-muted);font-size:12px;margin:18px 0}.ar-placeholder strong{display:block;color:var(--ar-ink);font-size:10px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:5px}.ar-accordion{border-top:1px solid var(--ar-line)}.ar-accordion details{border-bottom:1px solid var(--ar-line)}.ar-accordion summary{list-style:none;cursor:pointer;padding:22px 42px 22px 0;position:relative;font:400 22px var(--ar-serif)}.ar-accordion summary::-webkit-details-marker{display:none}.ar-accordion summary:after{content:"+";position:absolute;right:8px;top:18px;font:300 25px var(--ar-sans);color:var(--ar-olive)}.ar-accordion details[open] summary:after{content:"−"}.ar-accordion details p{max-width:760px;color:var(--ar-muted);padding:0 0 20px;margin:0}.ar-table-wrap{overflow-x:auto}table.ar-table{width:100%;border-collapse:collapse;background:white;text-align:left}table.ar-table th,table.ar-table td{padding:18px;border-bottom:1px solid var(--ar-line);vertical-align:top}table.ar-table th{font:500 10px var(--ar-sans);letter-spacing:1.5px;text-transform:uppercase;color:var(--ar-deep-olive)}table.ar-table td{font-size:13px}.ar-cta{padding:90px 0;background:var(--ar-sand);text-align:center}.ar-cta h2{font:400 clamp(34px,4vw,50px)/1.15 var(--ar-serif);margin:0 0 16px}.ar-cta p{max-width:620px;margin:0 auto;color:var(--ar-muted)}.ar-footer{background:var(--ar-ink);color:var(--ar-cream);padding:52px 0 24px}.ar-footer-inner{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.ar-footer-brand{font:400 28px var(--ar-serif);letter-spacing:6px}.ar-footer p{font-size:12px;color:#b8b9ac}.ar-footer-links{display:flex;flex-wrap:wrap;gap:20px}.ar-footer a{color:var(--ar-cream)}.ar-footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:10px;color:#99998f}.ar-note{font-size:11px;color:var(--ar-muted)}.ar-pill-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.ar-pill{background:var(--ar-sage);padding:8px 12px;font-size:10px;letter-spacing:1px;color:var(--ar-deep-olive)}.ar-form-placeholder{background:white;padding:28px;border:1px dashed var(--ar-olive)}.ar-form-placeholder label{display:block;font-size:12px;margin:12px 0 5px}.ar-form-placeholder input,.ar-form-placeholder textarea,.ar-form-placeholder select{width:100%;padding:12px;border:1px solid var(--ar-line);background:#fff;font:inherit}.ar-form-placeholder button{margin-top:16px}.ar-form-placeholder button[disabled]{opacity:.55;cursor:not-allowed}.ar-mobile-only{display:none}
.asoula-retreats :focus-visible{outline:2px solid var(--ar-deep-olive);outline-offset:3px}
@media(max-width:900px){.ar-navlinks{gap:14px}.ar-navlinks a{font-size:10px}.ar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ar-split,.ar-feature-band .ar-shell{grid-template-columns:1fr;gap:34px}.ar-split.reverse .ar-media{order:0}}
@media(max-width:700px){.ar-shell,.ar-hero-inner{width:min(100% - 40px,var(--ar-max))}.ar-nav{min-height:70px}.ar-menu-toggle{display:block}.ar-navlinks{display:none;position:absolute;top:70px;left:0;right:0;background:var(--ar-cream);padding:18px 20px 24px;border-bottom:1px solid var(--ar-line);flex-direction:column;align-items:stretch;gap:0}.ar-navlinks.is-open{display:flex}.ar-navlinks a{padding:13px 0;border-bottom:1px solid var(--ar-line);font-size:12px}.ar-navlinks .ar-navcta{text-align:center;margin-top:12px}.ar-hero{min-height:540px}.ar-hero-inner{padding:76px 0}.ar-hero h1{font-size:clamp(42px,12vw,58px)}.ar-section{padding:66px 0}.ar-grid,.ar-info-grid{grid-template-columns:1fr}.ar-card-media{height:210px}.ar-media{min-height:270px}.ar-footer-inner{display:block}.ar-footer-links{margin-top:22px}.ar-feature-band{padding:68px 0}.ar-mobile-only{display:block}.ar-meta{gap:8px 14px}}
@media(prefers-reduced-motion:reduce){.asoula-retreats *,.asoula-retreats *:before,.asoula-retreats *:after{transition:none!important;animation:none!important}}

@media(max-width:700px){.asoula-retreats .ar-section [style*='grid-template-columns:repeat(4']{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.asoula-retreats [hidden]{display:none!important}


/* ---- WordPress integration layer ---- */

/* break out of the theme's narrow content column to full screen width */
.asoula-retreats{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
/* stop theme typography leaking into the section */
.asoula-retreats p,.asoula-retreats li,.asoula-retreats a,.asoula-retreats span{font-family:var(--ar-sans)}
.asoula-retreats h1,.asoula-retreats h2,.asoula-retreats h3,.asoula-retreats summary{font-family:var(--ar-serif);letter-spacing:normal;text-transform:none}
.asoula-retreats h1,.asoula-retreats h2,.asoula-retreats h3{color:inherit}
.asoula-retreats .ar-button,.asoula-retreats .ar-navcta{color:#fff}
.asoula-retreats .ar-button.secondary{color:inherit}
.asoula-retreats a:hover{color:inherit}
/* fixes to the original build: sub-navigation was flush to the screen edge, long placeholder codes overflowed on phones */
.asoula-retreats > .ar-subnav{padding-left:max(32px,calc((100% - var(--ar-max))/2));padding-right:max(32px,calc((100% - var(--ar-max))/2))}
@media(max-width:700px){.asoula-retreats > .ar-subnav{padding-left:20px;padding-right:20px}}
.asoula-retreats .ar-info,.asoula-retreats .ar-card{min-width:0}
.asoula-retreats .ar-placeholder,.asoula-retreats .ar-placeholder strong{overflow-wrap:anywhere}
/* header block sits flush on top of the page content */
.asoula-retreats.ar-head{position:relative;z-index:30;margin-bottom:0}
.asoula-retreats.ar-head + *{margin-top:0}
/* logged-in admin bar offset for the sticky retreat header */
.admin-bar .asoula-retreats{--ar-sticky-top:32px}
@media(max-width:782px){.admin-bar .asoula-retreats{--ar-sticky-top:0px}}

/* ---- Retreats header with Retreats mega-menu (v3) ---- */
.arh{position:relative;z-index:50;background:var(--ar-cream);color:var(--ar-ink)}
.arh *{box-sizing:border-box}
.arh svg{flex:none}
.arh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.arh-announce{background:var(--ar-olive);color:#f3efe4;font:400 15px/1.4 var(--ar-sans)}
.arh-announce-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:52px}
.arh-announce p{margin:0;display:flex;align-items:center;gap:12px;font-family:var(--ar-sans);color:inherit}
.arh-tagline strong{font-weight:500;letter-spacing:1.2px}
.arh-tagline{padding-right:22px;border-right:1px solid rgba(243,239,228,.5)}
.arh-sep{opacity:.7}
.arh-next a{color:#f3efe4!important;text-decoration:underline;text-underline-offset:5px;margin-left:24px;font-weight:500}
.arh-bar{border-bottom:1px solid var(--ar-line);background:var(--ar-cream)}
.arh-bar-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:90px}
.arh .arh-logo{font:400 46px/1 var(--ar-serif)!important;letter-spacing:1px;text-decoration:none;color:var(--ar-ink)!important}
.arh-nav{display:flex;align-items:center;gap:6px}
.arh .arh-link{display:inline-flex;align-items:center;gap:6px;padding:31px 18px;background:none;border:0;border-bottom:3px solid transparent;font:400 17px/1 var(--ar-sans)!important;color:var(--ar-ink)!important;text-decoration:none;cursor:pointer;letter-spacing:.2px;text-transform:none}
.arh .arh-link:hover{color:var(--ar-deep-olive)!important}
.arh .arh-link.is-current{border-bottom-color:var(--ar-deep-olive)}
.arh-mega-toggle svg{transition:transform .2s}
.arh-has-mega.is-open .arh-mega-toggle svg{transform:rotate(180deg)}
.arh-tools{display:flex;align-items:center;gap:14px}
.arh .arh-icon{display:inline-grid;place-items:center;width:42px;height:42px;background:none;border:0;color:var(--ar-ink)!important;cursor:pointer;padding:0}
.arh-icon svg,.arh-icons svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.arh .arh-book{min-height:62px;padding:16px 30px;font-size:15px;letter-spacing:1.4px;border-radius:4px;gap:12px;margin-left:24px;background:#56664c;border-color:#56664c}
.arh-mobile-cta,.arh-burger{display:none}
/* mega panel */
.arh-mega{display:none;position:absolute;top:calc(100% - 4px);left:50%;transform:translateX(-50%);width:min(1460px,calc(100vw - 64px));grid-template-columns:1.05fr 1.5fr 1.45fr 1.2fr;background:#faf8f2;border-radius:16px;box-shadow:0 24px 60px rgba(42,42,34,.18);padding:40px;gap:0;z-index:60}
.arh-has-mega.is-open .arh-mega{display:grid}
.arh-col{padding:0 34px;border-left:1px solid var(--ar-line)}
.arh-col:first-child{padding-left:0;border-left:0}
.arh-col:last-child{padding-right:0}
.arh-img{display:block;border-radius:10px;overflow:hidden;background:var(--ar-sage)}
.arh-img img{display:block;width:100%;height:200px;object-fit:cover;max-width:none}
.arh-img-tall img{height:256px}
.arh .arh-feature-title{font:400 30px/1.2 var(--ar-serif)!important;margin:24px 0 10px;color:var(--ar-ink)}
.arh .arh-feature-text{font:400 16px/1.6 var(--ar-sans)!important;margin:0;color:var(--ar-ink)}
.arh .arh-heading{font:500 15px/1 var(--ar-sans)!important;letter-spacing:3.5px;text-transform:uppercase;margin:0 0 22px;color:var(--ar-ink)}
.arh-list{list-style:none;margin:0;padding:0}
.arh-list li{margin:0;padding:0}
.arh-list li:before{content:none}
.arh .arh-list a{display:flex;align-items:center;gap:22px;padding:11px 20px;font:400 17px/1.3 var(--ar-sans)!important;color:var(--ar-ink)!important;text-decoration:none;border-radius:6px}
.arh-icons a{padding-left:4px!important}
.arh .arh-list a:hover{background:#efece3}
.arh .arh-list a.arh-all{background:#efece3;gap:12px}
.arh .arh-byo{display:inline-flex;gap:14px;align-items:center;margin-top:30px;font:italic 400 26px/1.2 var(--ar-serif)!important;color:var(--ar-ink)!important;text-decoration:none;border-bottom:1px solid var(--ar-ink);padding-bottom:6px}
.arh .arh-byo em{font-style:italic}
/* search row */
.arh-search{border-top:1px solid var(--ar-line);padding:18px 0;background:var(--ar-cream)}
.arh-search[hidden]{display:none!important}
.arh-search .ar-shell{display:flex;gap:12px}
.arh-search input{flex:1;padding:14px 16px;border:1px solid var(--ar-line);background:#fff;font:400 16px var(--ar-sans);color:var(--ar-ink)}
/* tablet and phone */
@media(max-width:1280px){.arh .arh-link{padding:31px 11px;font-size:15px!important}.arh .arh-book{margin-left:8px;padding:14px 20px}.arh .arh-logo{font-size:38px!important}.arh-col{padding:0 22px}}
@media(max-width:1080px){
  .arh-tagline{display:none}.arh-announce-inner{justify-content:center}.arh-next{font-size:13px;flex-wrap:wrap;justify-content:center}.arh-next a{margin-left:6px}
  .arh-bar-inner{min-height:74px}.arh .arh-logo{font-size:34px!important}
  .arh .arh-book{display:none}
  .arh-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:1px solid var(--ar-line);padding:0 10px;cursor:pointer}
  .arh-burger span{display:block;height:1.5px;background:var(--ar-ink)}
  .arh-nav{display:none;position:absolute;top:100%;left:-32px;right:-32px;background:var(--ar-cream);flex-direction:column;align-items:stretch;gap:0;padding:8px 32px 28px;border-bottom:1px solid var(--ar-line);box-shadow:0 18px 30px rgba(42,42,34,.12);max-height:calc(100vh - 140px);overflow:auto}
  .arh-nav.is-open{display:flex}
  .arh .arh-link{width:100%;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--ar-line)!important;font-size:17px!important}
  .arh .arh-link.is-current{border-bottom-color:var(--ar-line)}
  .arh-item{width:100%}
  .arh-mega{position:static;transform:none;width:auto;box-shadow:none;border-radius:0;background:transparent;padding:6px 0 14px;grid-template-columns:1fr}
  .arh-has-mega.is-open .arh-mega{display:block}
  .arh-feature{display:none}
  .arh-col{border:0;padding:0;margin-top:14px}
  .arh .arh-heading{font-size:12px!important;margin:6px 0 8px}
  .arh .arh-list a{padding:10px 8px;font-size:16px!important}
  .arh-icons svg{width:22px;height:22px}
  .arh-mobile-cta{display:inline-flex;margin-top:22px}
}
@media(max-width:700px){.arh-nav{left:-20px;right:-20px;padding:8px 20px 24px}.arh-announce{font-size:13px}.arh-next svg{display:none}}
/* v3 fixes: wider header shell, no wrapping, no theme bullets */
.arh .ar-shell{width:min(1460px,calc(100% - 64px))}
.arh .arh-link,.arh .arh-book,.arh .arh-list a,.arh-next span,.arh-next a{white-space:nowrap}
.arh .arh-list li{list-style:none!important;margin:0!important}
.arh .arh-list{margin:0!important;padding:0!important}
@media(max-width:1080px){.arh-announce .arh-tagline{display:none}.arh .arh-list a{white-space:normal}}
@media(max-width:700px){.arh .ar-shell{width:calc(100% - 40px)}.arh-next span{white-space:normal}}

/* =========================================================
   MOTION LAYER (v4): hero slideshows, carousels, scroll
   reveals, hover, lightbox slideshow, countdown
   ========================================================= */
@keyframes arKenBurns{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.13) translate3d(-1.5%,-1%,0)}}
@keyframes arFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes arTileFlip{0%{transform:rotateX(0)}50%{transform:rotateX(90deg)}100%{transform:rotateX(0)}}
@keyframes arhIn{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}

/* hero: crossfading photos with a slow Ken Burns drift */
.asoula-retreats .ar-hero{isolation:isolate}
.asoula-retreats .ar-hero-bg{position:absolute;inset:0;background:center/cover no-repeat;opacity:0;z-index:0;transition:opacity 1.8s ease;will-change:transform,opacity;animation:arKenBurns 20s ease-in-out infinite alternate}
.asoula-retreats .ar-hero-bg.is-active{opacity:1}
.asoula-retreats .ar-hero-bg:nth-child(even){animation-direction:alternate-reverse}
.asoula-retreats .ar-hero[data-hero-slides]:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(34,42,32,.70),rgba(34,42,32,.20));pointer-events:none}
.asoula-retreats .ar-hero-inner{position:relative;z-index:2}

/* card image carousels */
.asoula-retreats .ar-carousel{position:relative;overflow:hidden;display:block;cursor:zoom-in}
.asoula-retreats .ar-track{display:flex;width:100%;height:100%;will-change:transform}
.asoula-retreats .ar-track img{flex:0 0 100%;width:100%;height:100%;object-fit:cover;display:block;max-width:none}
.asoula-retreats button.ar-car-arrow{all:unset;box-sizing:border-box;position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--ar-ink);font:400 21px/31px var(--ar-sans);text-align:center;cursor:pointer;opacity:0;box-shadow:0 2px 10px rgba(0,0,0,.16);transition:opacity .3s,background .3s,transform .3s}
.asoula-retreats button.ar-car-arrow.prev{left:12px}
.asoula-retreats button.ar-car-arrow.next{right:12px}
.asoula-retreats .ar-carousel:hover button.ar-car-arrow,.asoula-retreats button.ar-car-arrow:focus-visible{opacity:1}
.asoula-retreats button.ar-car-arrow:hover{background:#fff;transform:translateY(-50%) scale(1.08)}
@media(hover:none){.asoula-retreats button.ar-car-arrow{opacity:1}}
.asoula-retreats .ar-car-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px;z-index:2;pointer-events:none}
.asoula-retreats .ar-car-dots span{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);transition:background .35s,transform .35s,width .35s}
.asoula-retreats .ar-car-dots span.active{background:#fff;width:16px;border-radius:3px}

/* gallery grid */
.asoula-retreats .ar-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.asoula-retreats .ar-gallery-tile{all:unset;box-sizing:border-box;display:block;position:relative;overflow:hidden;cursor:zoom-in;background:var(--ar-sage);border-radius:3px}
.asoula-retreats .ar-gallery-tile img{display:block;width:100%;height:260px;object-fit:cover;max-width:none;transition:transform 1.1s cubic-bezier(.2,.65,.25,1),filter .6s}
.asoula-retreats .ar-gallery-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(34,42,32,.35));opacity:0;transition:opacity .5s}
.asoula-retreats .ar-gallery-tile:hover img{transform:scale(1.07)}
.asoula-retreats .ar-gallery-tile:hover:after{opacity:1}
.asoula-retreats .ar-gallery-tile:focus-visible{outline:2px solid var(--ar-deep-olive);outline-offset:3px}
@media(max-width:700px){.asoula-retreats .ar-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.asoula-retreats .ar-gallery-tile img{height:170px}}

/* hover polish */
.asoula-retreats .ar-card{transition:transform .45s cubic-bezier(.2,.65,.25,1),box-shadow .45s}
.asoula-retreats .ar-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(34,42,32,.12)}
.asoula-retreats .ar-info{transition:transform .45s cubic-bezier(.2,.65,.25,1),box-shadow .45s,border-color .45s}
.asoula-retreats .ar-info:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(34,42,32,.08)}
.asoula-retreats .ar-media{overflow:hidden}
.asoula-retreats .ar-media img{transition:transform 1.8s cubic-bezier(.2,.65,.25,1)}
.asoula-retreats .ar-split:hover .ar-media img{transform:scale(1.04)}
.asoula-retreats .ar-button{transition:background .3s,color .3s,border-color .3s,transform .3s,box-shadow .3s}
.asoula-retreats .ar-button:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(34,42,32,.14)}

/* accordion: smooth reveal, plus turns into a cross */
.asoula-retreats .ar-accordion summary:after{transition:transform .35s ease}
.asoula-retreats .ar-accordion details[open] summary:after{transform:rotate(45deg)}
.asoula-retreats .ar-accordion details[open] > *:not(summary){animation:arFadeUp .5s ease both}

/* scroll reveals (only switched on by JS, so content never stays hidden if scripts fail) */
.asoula-retreats.ar-anim .ar-reveal{opacity:0;transform:translateY(30px);transition:opacity 1s cubic-bezier(.2,.65,.25,1),transform 1s cubic-bezier(.2,.65,.25,1);transition-delay:var(--ar-d,0ms)}
.asoula-retreats.ar-anim .ar-reveal.is-in{opacity:1;transform:none}
.asoula-retreats.ar-anim .ar-media.ar-reveal img{transform:scale(1.14)}
.asoula-retreats.ar-anim .ar-media.ar-reveal.is-in img{transform:scale(1)}
.asoula-retreats.ar-anim .ar-hero-inner > .ar-reveal{transform:translateY(22px);transition-duration:1.2s}

/* countdown */
.asoula-retreats .ar-countdown{max-width:460px;margin:34px 0 34px;background:#fff;border:1px solid var(--ar-line);border-radius:16px;padding:20px 22px 22px;box-shadow:0 12px 30px rgba(34,42,32,.10)}
.asoula-retreats .ar-cd-kicker{font:600 11px/1.3 var(--ar-sans)!important;letter-spacing:2px;color:var(--ar-olive)}
.asoula-retreats .ar-cd-sub{font:400 12px/1.4 var(--ar-sans)!important;color:var(--ar-muted);margin-top:3px}
.asoula-retreats .ar-cd-units{display:flex;align-items:flex-start;justify-content:center;gap:10px;margin-top:18px;perspective:400px}
.asoula-retreats .ar-cd-unit{text-align:center}
.asoula-retreats .ar-cd-tiles{display:flex;gap:6px}
.asoula-retreats .ar-cd-tile{width:46px;height:60px;background:var(--ar-cream);border:1px solid var(--ar-line);border-radius:8px;display:flex;align-items:center;justify-content:center;font:400 34px/1 var(--ar-serif)!important;color:var(--ar-ink);position:relative}
.asoula-retreats .ar-cd-tile:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(43,43,43,.08)}
.asoula-retreats .ar-cd-tile.flip{animation:arTileFlip .6s ease}
.asoula-retreats .ar-cd-label{font:400 11px var(--ar-sans)!important;color:var(--ar-muted);margin-top:7px;letter-spacing:1px}
.asoula-retreats .ar-cd-colon{font:400 30px var(--ar-serif);color:#c3cbbd;padding-top:12px}
@media(max-width:480px){.asoula-retreats .ar-cd-tile{width:40px;height:54px;font-size:30px!important}.asoula-retreats .ar-cd-units{gap:6px}}

/* lightbox slideshow */
.ar-lb{position:fixed;inset:0;z-index:99998;background:rgba(20,24,18,.94);display:none;align-items:center;justify-content:center;padding:64px 84px;opacity:0;transition:opacity .35s ease}
.ar-lb.open{display:flex}
.ar-lb.visible{opacity:1}
.ar-lb-img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 20px 50px rgba(0,0,0,.4);opacity:0;transform:scale(.97);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.65,.25,1);user-select:none}
.ar-lb-img.show{opacity:1;transform:none}
.ar-lb button.ar-lb-btn{all:unset;box-sizing:border-box;position:absolute;z-index:2;cursor:pointer;font-family:'Poppins',system-ui,sans-serif;color:#fff;text-align:center;border-radius:50%;background:rgba(255,255,255,.14);transition:background .2s,transform .2s}
.ar-lb button.ar-lb-btn:hover{background:rgba(255,255,255,.28)}
.ar-lb button.ar-lb-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
.ar-lb button.ar-lb-prev,.ar-lb button.ar-lb-next{top:50%;transform:translateY(-50%);width:50px;height:50px;font-size:30px;line-height:46px}
.ar-lb button.ar-lb-prev{left:18px}.ar-lb button.ar-lb-next{right:18px}
.ar-lb button.ar-lb-close{top:16px;right:18px;width:44px;height:44px;font-size:28px;line-height:42px}
.ar-lb-count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:rgba(255,255,255,.8);font:400 12px 'Poppins',system-ui,sans-serif;letter-spacing:2px}
.ar-lb.single .ar-lb-prev,.ar-lb.single .ar-lb-next,.ar-lb.single .ar-lb-count{display:none}
@media(max-width:600px){.ar-lb{padding:64px 10px}.ar-lb button.ar-lb-prev,.ar-lb button.ar-lb-next{width:40px;height:40px;font-size:26px;line-height:37px;background:rgba(0,0,0,.35)}.ar-lb button.ar-lb-prev{left:8px}.ar-lb button.ar-lb-next{right:8px}}

/* header: mega-menu glides in */
.arh-has-mega.is-open .arh-mega{animation:arhIn .3s cubic-bezier(.2,.65,.25,1)}
.arh-nav.is-open{animation:arhIn .3s ease}

/* respect "reduce motion" settings */
@media(prefers-reduced-motion:reduce){
  .asoula-retreats .ar-hero-bg{animation:none!important;transition:none!important}
  .asoula-retreats.ar-anim .ar-reveal{opacity:1!important;transform:none!important;transition:none!important}
  .asoula-retreats.ar-anim .ar-media.ar-reveal img{transform:none!important}
  .asoula-retreats .ar-card:hover,.asoula-retreats .ar-info:hover,.asoula-retreats .ar-button:hover{transform:none}
  .ar-lb,.ar-lb-img{transition:none!important}
}

/* =========================================
   ASOULA MOBILE HEADER - HAMBURGER FIX
========================================= */

@media (max-width: 1080px) {

  /* Hamburger button */
  .arh-tools .arh-burger {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;

    padding: 10px !important;
    margin: 0 !important;

    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    cursor: pointer;
    position: relative;
    z-index: 1002;
  }

  /* The three hamburger lines */
  .arh-tools .arh-burger span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 25px !important;
    height: 2px !important;
    min-height: 2px !important;

    background: #292820 !important;
    background-color: #292820 !important;

    border-radius: 2px !important;
    transform: none !important;
  }

  /* Prevent theme button styling */
  .arh-tools .arh-burger:hover,
  .arh-tools .arh-burger:focus,
  .arh-tools .arh-burger:active {
    background: transparent !important;
    box-shadow: none !important;
    outline-offset: 3px;
  }

}
