/* GX84.9 Structural Mobile Layout Rebuild */

:root{
    --gx849-mobile-gutter:20px;
    --gx849-mobile-card:82vw;
    --gx849-mobile-gap:16px;
}

.gx849-rail-shell{
    width:min(1240px, calc(100% - 40px));
    max-width:1240px;
    margin-left:auto;
    margin-right:auto;
}

.mfm-homepage-runtime{
    max-width:100%;
}

.gx825-grid,
.gx827-journal-grid,
.mfm-testimonials__grid{
    min-width:0;
}

.gx825-card,
.gx827-journal-card{
    display:flex;
    flex-direction:column;
}

.gx825-content,
.gx827-journal-content{
    display:flex;
    flex:1;
    flex-direction:column;
}

.gx825-btn,
.gx827-journal-btn{
    margin-top:auto;
}

.gx827-journal-content h3{
    min-height:3.9em;
}

.mfm-footer-logo{
    display:inline-flex;
    align-items:center;
    gap:14px;
    color:#fff;
    text-decoration:none;
    font-size:28px;
    font-weight:800;
    letter-spacing:.04em;
}

.mfm-footer-logo img{
    display:block;
    width:auto;
    height:52px;
    max-width:140px;
    object-fit:contain;
}

.mfm-footer-mark{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:48px;
    height:48px;
    border-radius:50%;
    background:#d8aa62;
    color:#090606;
    font-size:13px;
    letter-spacing:.08em;
}

.mfm-footer-column a{
    color:rgba(255,255,255,.68);
    text-decoration:none;
}

.mfm-footer-column a:hover{
    color:#d8aa62;
}

.gx849-faq-section .mfm-faq__list{
    gap:16px;
}

.gx849-faq-section .mfm-faq-item{
    padding:0;
    overflow:hidden;
    border-radius:22px;
    background:#101010;
    border:1px solid rgba(255,255,255,.08);
}

.gx849-faq-section .mfm-faq-item[open]{
    border-color:rgba(216,170,98,.82);
    box-shadow:0 0 0 1px rgba(216,170,98,.18), 0 26px 70px rgba(0,0,0,.28);
}

.gx849-faq-section .mfm-faq-item.is-open{
    border-color:rgba(216,170,98,.82);
    box-shadow:0 0 0 1px rgba(216,170,98,.18), 0 26px 70px rgba(0,0,0,.28);
}

.mfm-faq-question{
    display:grid;
    grid-template-columns:22px minmax(0,1fr) 24px;
    align-items:center;
    gap:14px;
    width:100%;
    min-height:72px;
    padding:20px 24px;
    color:#fff;
    font-size:22px;
    font-weight:800;
    line-height:1.25;
    cursor:pointer;
    list-style:none;
    appearance:none;
    border:0;
    background:transparent;
    text-align:left;
    font-family:inherit;
}

.mfm-faq-question::marker,
.mfm-faq-question::-webkit-details-marker{
    display:none;
    content:'';
}

.mfm-faq-dot{
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid rgba(255,255,255,.16);
}

.mfm-faq-icon{
    position:relative;
    width:18px;
    height:18px;
    justify-self:end;
}

.mfm-faq-icon::before,
.mfm-faq-icon::after{
    content:'';
    position:absolute;
    left:50%;
    top:50%;
    width:16px;
    height:2px;
    background:#d8aa62;
    transform:translate(-50%, -50%);
}

.mfm-faq-icon::after{
    transform:translate(-50%, -50%) rotate(90deg);
}

.mfm-faq-item[open] .mfm-faq-icon::after{
    opacity:0;
}

.mfm-faq-item.is-open .mfm-faq-icon::after{
    opacity:0;
}

.mfm-faq-answer{
    padding:0 24px 24px 60px;
}

.mfm-faq-item:not(.is-open) .mfm-faq-answer{
    display:none;
}

.mfm-faq-answer p{
    margin:0;
    max-width:980px;
    color:rgba(255,255,255,.72);
    font-size:16px;
    line-height:1.85;
}

@media(min-width:769px){

    .gx825-grid,
    .gx827-journal-grid,
    .mfm-testimonials__grid{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        overflow:visible;
    }

    .gx825-card,
    .gx827-journal-card,
    .mfm-testimonial-card{
        min-width:0;
        width:auto;
        max-width:none;
    }

}

@media(max-width:768px){

    .home section + section{
        margin-top:0 !important;
    }

    .mfm-destination-experience,
    .mfm-home-services-unified,
    .gx825-therapists-section,
    .gx827-journal-section,
    .mfm-homepage-booking{
        padding-top:56px !important;
        padding-bottom:64px !important;
    }

    .gx849-reviews-section,
    .gx849-faq-section{
        padding-top:56px !important;
        padding-bottom:64px !important;
    }

    .gx849-reviews-section .mfm-testimonials,
    .gx849-faq-section .mfm-faq{
        padding-top:0 !important;
        padding-bottom:0 !important;
    }

    .mfm-destination-grid{
        gap:28px !important;
    }

    .mfm-destination-visual{
        min-height:320px !important;
        border-radius:30px !important;
    }

    .mfm-destination-card{
        right:18px !important;
        bottom:18px !important;
        max-width:min(280px, 72vw);
    }

    .mfm-home-services-heading,
    .gx825-heading,
    .gx827-journal-heading,
    .mfm-section-heading{
        margin-bottom:34px !important;
    }

    .mfm-section-heading h2,
    .gx825-heading h2,
    .gx827-journal-heading h2{
        font-size:clamp(38px, 10vw, 54px) !important;
        line-height:.98 !important;
    }

    .gx825-therapists-section,
    .gx827-journal-section,
    .gx849-reviews-section{
        overflow:hidden;
    }

    .gx849-rail-shell,
    .gx849-reviews-shell{
        width:100%;
        max-width:100%;
        padding-left:var(--gx849-mobile-gutter);
        padding-right:var(--gx849-mobile-gutter);
        margin-left:0;
        margin-right:0;
        box-sizing:border-box;
    }

    .gx825-grid,
    .gx827-journal-grid{
        display:grid !important;
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:14px !important;
        width:100%;
        max-width:100%;
        margin:0;
        padding:0;
        overflow:visible !important;
        contain:layout;
    }


    .gx825-card,
    .gx827-journal-card{
        min-width:0 !important;
        width:auto !important;
        max-width:none !important;
        margin:0 !important;
        border-radius:20px;
    }

    .gx825-media{
        aspect-ratio:4/5;
    }

    .gx825-content,
    .gx827-journal-content{
        padding:14px;
    }

    .gx825-content h3{
        font-size:18px;
        line-height:1.18;
        min-height:2.36em;
    }

    .gx825-content p,
    .gx827-journal-content p{
        display:none;
    }

    .gx825-btn,
    .gx827-journal-btn{
        min-width:0;
        width:100%;
        height:auto;
        padding:10px 12px;
        font-size:13px;
        border-radius:999px;
    }

    .gx827-journal-image{
        aspect-ratio:4/3;
    }

    .gx827-journal-meta{
        font-size:10px;
        letter-spacing:.1em;
        margin-bottom:10px;
    }

    .gx827-journal-content h3{
        margin-bottom:12px;
        min-height:3.66em;
    }

    .gx827-journal-content h3 a{
        font-size:16px;
        line-height:1.22;
    }

    .mfm-testimonials__grid{
        display:flex !important;
        grid-template-columns:none !important;
        flex-wrap:nowrap !important;
        align-items:stretch;
        gap:var(--gx849-mobile-gap) !important;
        width:auto;
        max-width:none;
        margin-left:calc(var(--gx849-mobile-gutter) * -1);
        margin-right:calc(var(--gx849-mobile-gutter) * -1);
        padding:4px var(--gx849-mobile-gutter) 18px;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        overscroll-behavior-x:contain;
        scroll-snap-type:x proximity;
        -webkit-overflow-scrolling:touch;
        scrollbar-width:none;
        contain:content;
    }

    .mfm-testimonials__grid::-webkit-scrollbar{
        display:none;
    }

    .mfm-testimonial-card{
        flex:0 0 var(--gx849-mobile-card) !important;
        min-width:var(--gx849-mobile-card) !important;
        width:var(--gx849-mobile-card) !important;
        max-width:var(--gx849-mobile-card) !important;
        margin:0 !important;
        border-radius:24px;
        padding:22px;
        scroll-snap-align:start;
    }

    .mfm-footer-cinematic{
        padding-top:64px !important;
        padding-bottom:54px !important;
    }

    .mfm-footer-inner{
        width:calc(100% - 40px) !important;
        gap:36px !important;
    }

    .mfm-footer-logo{
        font-size:22px;
    }

    .mfm-footer-columns{
        gap:28px !important;
    }

    .gx849-faq-shell{
        width:100% !important;
        max-width:100% !important;
        padding-left:18px !important;
        padding-right:18px !important;
        box-sizing:border-box;
    }

    .gx849-faq-section .mfm-section-heading h2{
        font-size:clamp(34px, 10vw, 46px) !important;
        max-width:100%;
        overflow-wrap:anywhere;
    }

    .gx849-faq-section .mfm-faq__list{
        width:100%;
        max-width:100%;
    }

    .mfm-faq-question{
        grid-template-columns:16px minmax(0,1fr) 18px;
        min-height:64px;
        padding:18px 16px;
        font-size:18px;
        gap:12px;
    }

    .mfm-faq-dot{
        width:16px;
        height:16px;
    }

    .mfm-faq-answer{
        padding:0 18px 20px 50px;
    }

    .mfm-faq-answer p{
        font-size:14px;
        line-height:1.75;
    }

    body.single-post,
    body.single-post .mfm-site,
    body.single-post .mfm-single-article,
    body.single-post .mfm-single-article__hero,
    body.single-post .mfm-single-article__content-wrap,
    body.single-post .mfm-single-article .mfm-container,
    body.single-post .mfm-single-article__layout,
    body.single-post .mfm-single-article__content,
    body.single-post .mfm-editorial-content{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        box-sizing:border-box;
        overflow-wrap:anywhere;
    }

    body.single-post .mfm-single-article .mfm-container{
        width:calc(100% - 36px) !important;
        padding-left:0 !important;
        padding-right:0 !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }

    body.single-post .mfm-single-article__layout{
        display:block !important;
        grid-template-columns:1fr !important;
    }

    body.single-post .mfm-single-article__content{
        padding-left:0 !important;
        padding-right:0 !important;
    }

    body.single-post .mfm-single-article__sidebar{
        display:none !important;
    }

    body.single-post .mfm-editorial-content *,
    body.single-post .mfm-single-article__featured,
    body.single-post .mfm-single-article__featured img,
    body.single-post .wp-block-image,
    body.single-post .wp-block-image img,
    body.single-post figure,
    body.single-post iframe,
    body.single-post video{
        max-width:100% !important;
        box-sizing:border-box;
    }

    body.single-post .mfm-single-article__featured img,
    body.single-post .wp-block-image img,
    body.single-post video{
        height:auto !important;
    }

    body.single-post table{
        display:block;
        max-width:100% !important;
        overflow-x:auto;
    }

    body.single-post .mfm-single-article__hero h1,
    body.single-post .mfm-editorial-content h1,
    body.single-post .mfm-editorial-content h2,
    body.single-post .mfm-editorial-content h3,
    body.single-post .mfm-editorial-content p,
    body.single-post .mfm-editorial-content li,
    body.single-post .mfm-editorial-content code,
    body.single-post .mfm-editorial-content pre,
    body.single-post .mfm-editorial-content .wp-block-shortcode{
        max-width:100% !important;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal;
    }

}

@media(max-width:420px){

    :root{
        --gx849-mobile-gutter:18px;
        --gx849-mobile-card:82vw;
        --gx849-mobile-gap:14px;
    }

    .mfm-faq-question{
        font-size:16px;
        padding:16px 14px;
    }

    .mfm-faq-answer{
        padding-left:42px;
    }

    body.single-post .mfm-single-article .mfm-container{
        width:calc(100% - 32px) !important;
    }

    body.single-post .mfm-header .mfm-container{
        width:min(100% - 1.5rem,1200px) !important;
    }

}
    body.single-post .mfm-header .mfm-container{
        width:min(100% - 2rem,1200px) !important;
        max-width:1200px !important;
        padding-left:0.75rem !important;
        padding-right:0.75rem !important;
        margin-left:auto !important;
        margin-right:auto !important;
    }
