/* =========================================================================
   MMA Fitness Lab theme
   Colours: red #E31C25 / dark red #B9141C / black #111111 / card #1C1C1C
            line #2B2B2B / grey #EEEEEE / muted #9A9A9A / body text #777777
   Font: Montserrat
   Page sections are Elementor widgets with "mm-" CSS classes
   (Advanced tab > CSS Classes). Classes are listed in readme.txt.
   ========================================================================= */

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}
body.mmafl-site{margin:0;font-family:"Montserrat",system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.65;color:#111111;background:#FFFFFF;-webkit-font-smoothing:antialiased;overflow-x:clip}
.mmafl-site img{max-width:100%;height:auto}
.mmafl-site a{color:inherit;text-decoration:none}
.mmafl-site h1,.mmafl-site h2,.mmafl-site h3,.mmafl-site h4{font-family:"Montserrat",system-ui,sans-serif;font-weight:900;text-transform:uppercase;line-height:1.05;letter-spacing:-.01em;margin:0 0 .5em}
.mm-skip{position:absolute;left:-9999px;top:0;z-index:999;background:#E31C25;color:#FFFFFF;padding:10px 16px;font-weight:800}
.mm-skip:focus{left:10px;top:10px}
.mmh-wrap{max-width:1240px;margin:0 auto;padding:0 20px}
.mm-main{display:block}

/* Button look shared by header/footer/theme pages */
.mm-btnlike{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:15px 26px;border:2px solid #E31C25;background:#E31C25;color:#FFFFFF!important;transition:.25s;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 12px) 100%,0 100%);line-height:1.2;white-space:nowrap}
.mm-btnlike:hover{background:#B9141C;border-color:#B9141C;transform:translateY(-2px)}
.mm-btnlike-ghost{background:transparent;border-color:#FFFFFF}
.mm-btnlike-ghost:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111111!important}

/* Social icons */
.mm-social{display:flex;gap:8px;align-items:center}
.mm-social a{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);color:#FFFFFF;transition:.25s}
.mm-social a:hover{background:#E31C25;border-color:#E31C25}
.mm-social svg{width:16px;height:16px;fill:currentColor}

/* ---------- Header ---------- */
.mmh-top{background:#000000;color:#BDBDBD;font-size:13px;border-bottom:1px solid #2B2B2B}
.mmh-top .mmh-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px}
.mmh-top-info{display:flex;gap:26px;flex-wrap:wrap}
.mmh-top-item{display:inline-flex;align-items:center;gap:8px}
.mmh-top-item::before{content:"";width:6px;height:6px;background:#E31C25;transform:rotate(45deg)}
.mmh-top a:hover{color:#FFFFFF}
.mmh-top .mm-social a{width:28px;height:28px;border:0}
.mmh-top .mm-social svg{width:14px;height:14px}

.mmh{position:sticky;top:0;z-index:100;background:rgba(17,17,17,.97);backdrop-filter:blur(8px);border-bottom:1px solid #2B2B2B;transition:box-shadow .3s}
.admin-bar .mmh{top:32px}
.mmh.mmh-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.45)}
.mmh-bar{display:flex;align-items:center;gap:30px;height:86px}
.mmh-logo{flex:0 0 auto}
.mmh-logo img{height:62px;width:auto;display:block}
.mmh-nav{flex:1;display:flex;justify-content:center}
.mmh-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.mmh-nav .menu > li{position:relative}
.mmh-nav .menu > li > a{display:flex;align-items:center;gap:6px;padding:31px 14px;color:#FFFFFF;font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;position:relative}
.mmh-nav .menu > li > a::after{content:"";position:absolute;left:14px;right:14px;bottom:22px;height:2px;background:#E31C25;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.mmh-nav .menu > li:hover > a::after,.mmh-nav .menu > li.current-menu-item > a::after,.mmh-nav .menu > li.current-menu-ancestor > a::after{transform:scaleX(1)}
.mmh-nav .menu-item-has-children > a::before{content:"";order:2;width:7px;height:7px;border-right:2px solid #E31C25;border-bottom:2px solid #E31C25;transform:rotate(45deg) translateY(-3px)}
.mmh-nav .sub-menu{list-style:none;margin:0;padding:10px 0;position:absolute;left:0;top:100%;min-width:230px;background:#111111;border-top:3px solid #E31C25;box-shadow:0 20px 40px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s;z-index:10}
.mmh-nav .menu > li:hover > .sub-menu,.mmh-nav .menu > li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.mmh-nav .sub-menu a{display:block;padding:11px 22px;color:#D5D5D5;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;transition:.2s}
.mmh-nav .sub-menu a:hover{color:#FFFFFF;background:#1C1C1C;padding-left:28px}
.mmh-nav-extra{display:none}
.mmh-toggle{display:none;width:48px;height:48px;border:1px solid #2B2B2B;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0;margin-left:auto}
.mmh-toggle span{display:block;width:22px;height:2px;background:#FFFFFF;transition:.3s}
.mmh-open .mmh-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mmh-open .mmh-toggle span:nth-child(2){opacity:0}
.mmh-open .mmh-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Footer ---------- */
.mmf{background:#0B0B0B;color:#BDBDBD;font-size:15px;border-top:4px solid #E31C25}
.mmf-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:50px;padding-top:90px;padding-bottom:70px}
.mmf h4{color:#FFFFFF;font-size:15px;letter-spacing:.14em;margin:0 0 24px;position:relative;padding-bottom:14px}
.mmf h4::after{content:"";position:absolute;left:0;bottom:0;width:36px;height:3px;background:#E31C25}
.mmf ul{list-style:none;margin:0;padding:0;display:grid;gap:11px}
.mmf-col ul a{transition:.2s;display:inline-flex;align-items:center;gap:8px}
.mmf-col ul a::before{content:"";width:6px;height:6px;border-right:2px solid #E31C25;border-bottom:2px solid #E31C25;transform:rotate(-45deg)}
.mmf-info a::before{display:none!important}
.mmf-col ul a:hover{color:#FFFFFF;transform:translateX(4px)}
.mmf-logo img{height:84px;width:auto;margin-bottom:20px}
.mmf-about p{margin:0 0 24px;line-height:1.7}
.mmf-hours-title{margin-top:34px!important}
.mm-hours{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mm-hours li{display:flex;justify-content:space-between;gap:14px;border-bottom:1px dashed rgba(255,255,255,.12);padding-bottom:8px;font-size:14px}
.mm-hours b{color:#FFFFFF;font-weight:700;text-align:right}
.mmf-bottom{border-top:1px solid #222222;padding:22px 0;font-size:13px}
.mmf-bottom .mmh-wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.mmf-top:hover{color:#FFFFFF}

/* Mobile sticky bar */
.mm-sticky{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;grid-template-columns:1fr 1.5fr;box-shadow:0 -8px 24px rgba(0,0,0,.4);transform:translateY(110%);transition:transform .35s}
.mm-sticky.mm-show{transform:none}
.mm-sticky a{padding:17px 10px;text-align:center;font-weight:800;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:#FFFFFF}
.mm-sticky-call{background:#111111}
.mm-sticky-book{background:#E31C25}

/* ---------- Non-Elementor pages ---------- */
.mm-pagebanner{background:#111111 url("https://www.mmafitnesslab.com/wp-content/uploads/2025/04/Group-photo-MMA-Fitness-Lab-Singapore.jpg") center 30%/cover;position:relative;color:#FFFFFF;padding:120px 0 100px;text-align:center}
.mm-pagebanner::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.8)}
.mm-pagebanner .mmh-wrap{position:relative}
.mm-pagebanner h1{font-size:clamp(34px,5vw,60px);margin:0}
.mm-content{padding-top:80px;padding-bottom:100px}
.mm-content p{margin:0 0 1.2em}
.mm-404-num{display:block;font-size:clamp(90px,16vw,200px);font-weight:900;color:#E31C25;line-height:1}
.mm-404 p{color:#D8D8D8}
.mm-404-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.mm-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.mm-post-card{border:1px solid #E4E4E4;background:#FFFFFF;transition:.3s}
.mm-post-card:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.12)}
.mm-post-img img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.mm-post-body{padding:28px}
.mm-post-date{font-size:12px;font-weight:800;color:#E31C25;letter-spacing:.12em;text-transform:uppercase}
.mm-post-body h2{font-size:20px;margin:10px 0 12px}
.mm-readmore{font-weight:800;color:#E31C25;font-size:14px}
.mm-pagination{margin-top:50px}
.mm-pagination .page-numbers{display:inline-block;padding:10px 16px;border:1px solid #DDDDDD;margin-right:6px;font-weight:700}
.mm-pagination .current{background:#E31C25;border-color:#E31C25;color:#FFFFFF}

/* =========================================================================
   ELEMENTOR SECTIONS
   ========================================================================= */
.mmafl-site .elementor-section.mm-sec{padding:110px 0}
.mmafl-site .elementor-top-section.elementor-section-boxed > .elementor-container{max-width:1240px;padding:0 20px}
.mmafl-site .elementor-section.mm-sec-tight{padding:70px 0}
.mmafl-site .elementor-section.mm-flush{padding:0}
.mmafl-site .mm-dark{background-color:#111111;color:#FFFFFF}
.mmafl-site .mm-black{background-color:#000000;color:#FFFFFF}
.mmafl-site .mm-light{background-color:#FFFFFF;color:#111111}
.mmafl-site .mm-grey{background-color:#EEEEEE;color:#111111}
.mmafl-site .mm-red{background-color:#E31C25;color:#FFFFFF}
.mmafl-site .elementor-heading-title{margin:0}
.mmafl-site .elementor-widget-wrap > .elementor-inner-section{width:100%}
.mmafl-site .elementor-inner-section + .elementor-inner-section{margin-top:24px}
.mmafl-site .elementor-inner-section + .elementor-widget{margin-top:30px}
.mmafl-site .mm-sec .elementor-heading-title{color:inherit}
.mmafl-site .mm-sec .elementor-widget:not(:last-child){margin-bottom:20px}
.mmafl-site .mm-sec .elementor-widget-text-editor{color:inherit}
.mmafl-site .mm-sec .elementor-widget-text-editor p:last-child{margin-bottom:0}

/* Section heading block */
.mmafl-site .mm-head > .elementor-widget-wrap{position:relative;text-align:center;max-width:780px;margin:0 auto;padding-bottom:30px!important}
.mmafl-site .mm-head-left > .elementor-widget-wrap{position:relative;padding-bottom:10px!important}
.mmafl-site .mm-head-left .elementor-widget.mm-ghost{left:0;transform:none}
.mmafl-site .elementor-widget.mm-ghost{position:absolute!important;left:50%;top:-48px;transform:translateX(-50%);z-index:0;margin:0!important;pointer-events:none;width:auto!important}
.mmafl-site .mm-ghost .elementor-heading-title{font-size:clamp(70px,13vw,170px)!important;font-weight:900;line-height:1;text-transform:uppercase;white-space:nowrap;color:rgba(255,255,255,.05)!important;letter-spacing:0}
.mmafl-site .mm-light .mm-ghost .elementor-heading-title,.mmafl-site .mm-grey .mm-ghost .elementor-heading-title{color:rgba(0,0,0,.05)!important}
.mmafl-site .mm-head .elementor-widget:not(.mm-ghost){position:relative;z-index:1}
.mmafl-site .mm-eyebrow .elementor-heading-title{display:inline-block;color:#E31C25!important;font-size:13px!important;font-weight:800;letter-spacing:.2em;text-transform:uppercase;line-height:1.4}
.mmafl-site .mm-title .elementor-heading-title{font-size:clamp(30px,4.6vw,54px);font-weight:900;text-transform:uppercase;line-height:1.05;letter-spacing:-.01em}
.mmafl-site .mm-title-sm .elementor-heading-title{font-size:clamp(26px,3.4vw,40px)}
.mmafl-site .mm-red-word,.mmafl-site .mm-title em,.mmafl-site .mm-h1 em{font-style:normal;color:#E31C25}
.mmafl-site .mm-lead{font-size:18px;line-height:1.7}
.mmafl-site .mm-dark .mm-lead,.mmafl-site .mm-black .mm-lead{color:#BDBDBD}
.mmafl-site .mm-lead a{color:#E31C25;font-weight:800}
.mmafl-site .mm-lead a:hover{text-decoration:underline}
.mmafl-site .mm-light .mm-lead,.mmafl-site .mm-grey .mm-lead{color:#777777}
.mmafl-site .mm-center,.mmafl-site .mm-center .elementor-heading-title{text-align:center}

/* Buttons (Elementor Button widget + class mm-btn) */
.mmafl-site .mm-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;font-family:"Montserrat",sans-serif;font-weight:800;font-size:15px;letter-spacing:.06em;text-transform:uppercase;padding:19px 34px;border:2px solid #E31C25;border-radius:0;background:#E31C25;color:#FFFFFF;line-height:1.2;transition:.25s;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 14px) 100%,0 100%);box-shadow:none}
.mmafl-site .mm-btn .elementor-button:hover,.mmafl-site .mm-btn .elementor-button:focus{background:#B9141C;border-color:#B9141C;color:#FFFFFF;transform:translateY(-2px)}
.mmafl-site .mm-btn-ghost .elementor-button{background:transparent;border-color:#FFFFFF}
.mmafl-site .mm-btn-ghost .elementor-button:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111111}
.mmafl-site .mm-btn-dark .elementor-button{background:#111111;border-color:#111111}
.mmafl-site .mm-btn-dark .elementor-button:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111111}
.mmafl-site .mm-light .mm-btn-dark .elementor-button:hover,.mmafl-site .mm-grey .mm-btn-dark .elementor-button:hover{background:#E31C25;border-color:#E31C25;color:#FFFFFF}
.mmafl-site .mm-btn-full .elementor-button{width:100%}
.mmafl-site .mm-btn-center .elementor-button-wrapper{text-align:center}
.mmafl-site .elementor-widget.mm-inline{display:inline-block;width:auto;margin-right:14px}

/* Tick list (Text Editor with a bullet list + class mm-ticks) */
.mmafl-site .mm-ticks ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}
.mmafl-site .mm-ticks li{display:flex;gap:13px;align-items:flex-start;font-weight:600;font-size:16px;line-height:1.45}
.mmafl-site .mm-ticks li::before{content:"";flex:0 0 20px;height:20px;margin-top:1px;background:#E31C25;clip-path:polygon(14% 52%,0 67%,40% 100%,100% 22%,85% 9%,38% 68%)}
.mmafl-site .mm-ticks-2 ul{grid-template-columns:1fr 1fr;column-gap:26px}
.mmafl-site .mm-redcol .mm-ticks li::before{background:#FFFFFF}

/* Small red tag */
.mmafl-site .mm-tag .elementor-heading-title{display:inline-block;background:#E31C25;color:#FFFFFF!important;font-size:12px!important;font-weight:800;letter-spacing:.16em;padding:9px 15px;text-transform:uppercase;line-height:1.3}

/* ---------- Home hero ---------- */
.mmafl-site .elementor-section.mm-hero{padding:110px 0 120px;min-height:calc(100vh - 130px);display:flex;align-items:center}
.mmafl-site .mm-hero > .elementor-container{width:100%}
.mmafl-site .mm-hero > .elementor-background-overlay{background:linear-gradient(100deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.8) 45%,rgba(0,0,0,.55) 100%)!important;opacity:1!important}
.mmafl-site .mm-hero-text > .elementor-widget-wrap{padding-right:50px!important;align-content:center}
.mmafl-site .mm-h1 .elementor-heading-title{font-size:clamp(38px,6vw,78px);font-weight:900;line-height:1.02;text-transform:uppercase;letter-spacing:-.02em}
.mmafl-site .mm-hero .mm-lead{color:#D8D8D8;font-size:19px;max-width:560px}
.mmafl-site .mm-stars{font-size:14px;color:#D8D8D8}
.mmafl-site .mm-stars b,.mmafl-site .mm-stars strong{color:#FFC107;font-size:20px;letter-spacing:2px;margin-right:8px}

/* Form card (holds a Contact Form 7 shortcode) */
.mmafl-site .mm-formcard > .elementor-widget-wrap{background:#FFFFFF;color:#111111;padding:40px 36px!important;border-top:6px solid #E31C25;box-shadow:0 30px 70px rgba(0,0,0,.55);align-content:flex-start}
.mmafl-site .mm-formcard .elementor-heading-title{color:#111111}

/* Inner page hero */
.mmafl-site .elementor-section.mm-pagehero{padding:150px 0 120px;text-align:center}
.mmafl-site .mm-pagehero > .elementor-background-overlay{background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.72))!important;opacity:1!important}
.mmafl-site .mm-pagehero .mm-h1 .elementor-heading-title{font-size:clamp(36px,5.6vw,72px)}
.mmafl-site .mm-pagehero .mm-lead{color:#D8D8D8}
.mmafl-site .mm-pagehero .mm-lead p{max-width:640px;margin:0 auto}
.mmafl-site .mm-pagehero .elementor-widget-wrap{justify-content:center}
.mmafl-site .mm-crumbs{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#BDBDBD}
.mmafl-site .mm-crumbs a{color:#FFFFFF}
.mmafl-site .mm-crumbs a:hover{color:#E31C25}
.mmafl-site .mm-pagehero .elementor-button-wrapper{text-align:center}
.mmafl-site .mm-pagehero .mm-inline{margin:0 7px}

/* Trust strip */
.mmafl-site .elementor-section.mm-strip{padding:34px 0}
.mmafl-site .mm-stat .elementor-heading-title{text-align:center;font-size:34px;font-weight:900;line-height:1}
.mmafl-site .mm-stat-label{text-align:center;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.mmafl-site .mm-strip .elementor-widget:not(:last-child){margin-bottom:8px}

/* Class cards */
.mmafl-site .mm-cards > .elementor-container{gap:22px}
.mmafl-site .mm-card > .elementor-widget-wrap{background:#FFFFFF;border:1px solid #E4E4E4;display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;transition:.3s;align-content:flex-start}
.mmafl-site .mm-card:hover > .elementor-widget-wrap{transform:translateY(-8px);box-shadow:0 24px 50px rgba(0,0,0,.16)}
.mmafl-site .mm-card .elementor-widget{width:100%;margin:0!important}
.mmafl-site .mm-card .mm-card-img{overflow:hidden;background:#222222}
.mmafl-site .mm-card .mm-card-img img{width:100%;height:260px;object-fit:cover;display:block;transition:.6s}
.mmafl-site .mm-card:hover .mm-card-img img{transform:scale(1.07)}
.mmafl-site .mm-card .mm-card-num .elementor-heading-title{font-size:12px;font-weight:800;color:#E31C25;letter-spacing:.16em;padding:24px 24px 0}
.mmafl-site .mm-card .mm-card-title .elementor-heading-title{font-size:24px;padding:4px 24px 0;color:#111111}
.mmafl-site .mm-card .mm-card-sub{padding:2px 24px 0;font-size:13px;font-weight:700;color:#777777}
.mmafl-site .mm-card .mm-ticks{padding:18px 24px 0}
.mmafl-site .mm-card .mm-ticks li{font-size:14px}
.mmafl-site .mm-card .mm-ticks li::before{flex-basis:16px;height:16px}
.mmafl-site .mm-card .mm-best{padding:16px 24px 0;font-size:13px;color:#777777}
.mmafl-site .mm-card .mm-best p{border-top:1px solid #EEEEEE;padding-top:14px;margin:0}
.mmafl-site .mm-card .mm-btn{margin-top:auto!important;padding:20px 24px 24px}
.mmafl-site .mm-card .mm-btn .elementor-button{width:100%;padding:15px 18px;font-size:13px}

/* 1:1 coaching split */
.mmafl-site .mm-redcol > .elementor-widget-wrap{background:#E31C25;color:#FFFFFF;padding:90px 70px!important;align-content:center}
.mmafl-site .mm-redcol .mm-eyebrow .elementor-heading-title{color:#FFFFFF!important;opacity:.85}
.mmafl-site .mm-redcol .mm-lead{color:#FFFFFF}
.mmafl-site .mm-imgcol > .elementor-widget-wrap{position:relative;min-height:540px;padding:0!important;background:#222222}
.mmafl-site .mm-imgcol .elementor-widget-image{position:absolute!important;inset:0;margin:0!important;width:100%;height:100%}
.mmafl-site .mm-imgcol .elementor-widget-image .elementor-widget-container,.mmafl-site .mm-imgcol .elementor-widget-image img{width:100%;height:100%;object-fit:cover;display:block}
.mmafl-site .elementor-widget.mm-badge{position:absolute!important;z-index:2;left:-40px;bottom:50px;width:auto;margin:0!important;background:#111111;color:#FFFFFF;padding:22px 28px;border-left:6px solid #FFFFFF;box-shadow:0 20px 40px rgba(0,0,0,.5)}
.mmafl-site .mm-badge p{margin:0;font-weight:900;text-transform:uppercase;line-height:1.1;font-size:26px}
.mmafl-site .mm-badge small{display:block;font-size:11px;letter-spacing:.16em;color:#E31C25;margin-bottom:6px;font-weight:800}

/* Image collage (kids) */
.mmafl-site .mm-collage > .elementor-widget-wrap{display:grid!important;grid-template-columns:1fr 1fr;gap:14px;position:relative}
.mmafl-site .mm-collage .elementor-widget{margin:0!important;width:100%}
.mmafl-site .mm-collage .elementor-widget-image img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.mmafl-site .mm-collage .elementor-widget-image:first-of-type{grid-column:span 2}
.mmafl-site .mm-collage .elementor-widget-image:first-of-type img{aspect-ratio:16/9}
.mmafl-site .elementor-widget.mm-collage-tag{position:absolute!important;top:18px;left:18px;z-index:2;width:auto}
.mmafl-site .mm-chips p{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.mmafl-site .mm-chips span{border:2px solid currentColor;font-weight:800;font-size:13px;padding:9px 16px;text-transform:uppercase;letter-spacing:.06em}
.mmafl-site .mm-pad-left > .elementor-widget-wrap{padding-left:60px!important}
.mmafl-site .mm-pad-right > .elementor-widget-wrap{padding-right:60px!important}
.mmafl-site .mm-vcenter > .elementor-widget-wrap{align-content:center}

/* Feature cards (why us / highlights) */
.mmafl-site .mm-features > .elementor-container{gap:24px}
.mmafl-site .mm-feature > .elementor-widget-wrap{border:1px solid #2B2B2B;background:#1C1C1C;padding:40px 34px!important;transition:.3s;align-content:flex-start}
.mmafl-site .mm-light .mm-feature > .elementor-widget-wrap,.mmafl-site .mm-grey .mm-feature > .elementor-widget-wrap{background:#FFFFFF;border-color:#E4E4E4}
.mmafl-site .mm-feature:hover > .elementor-widget-wrap{border-color:#E31C25;transform:translateY(-6px)}
.mmafl-site .mm-num .elementor-heading-title{min-width:58px;width:auto;padding:0 10px;height:58px;border:2px solid #E31C25;display:inline-grid;place-items:center;color:#E31C25!important;font-size:18px!important;font-weight:900}
.mmafl-site .mm-feature-title .elementor-heading-title{font-size:19px;line-height:1.25}
.mmafl-site .mm-feature .elementor-widget-text-editor{font-size:15px;color:#9A9A9A}
.mmafl-site .mm-light .mm-feature .elementor-widget-text-editor,.mmafl-site .mm-grey .mm-feature .elementor-widget-text-editor{color:#777777}
.mmafl-site .mm-feature a{color:#E31C25;font-weight:800}

/* Steps */
.mmafl-site .mm-step .mm-bignum .elementor-heading-title{font-size:68px;font-weight:900;color:#E31C25!important;line-height:1}

/* Schedule image */
.mmafl-site .mm-schedimg img{width:100%;max-width:1000px;display:block;margin:0 auto;background:#FFFFFF;padding:14px;border:1px solid #E4E4E4;box-shadow:0 30px 70px rgba(0,0,0,.12)}
.mmafl-site .mm-btnrow > .elementor-widget-wrap{justify-content:center;gap:14px}
.mmafl-site .mm-btnrow .elementor-widget{width:auto!important;margin:0!important}

.mmafl-site .mm-btnrow-3 > .elementor-container{gap:16px}
.mmafl-site .mm-btnrow-3 .elementor-widget{margin:0!important}

/* Packages */
.mmafl-site .mm-packs > .elementor-container{gap:28px;align-items:stretch}
.mmafl-site .mm-pack > .elementor-widget-wrap{background:#FFFFFF;border:1px solid #E2E2E2;padding:46px 36px!important;display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;position:relative;transition:.3s;align-content:flex-start}
.mmafl-site .mm-pack:hover > .elementor-widget-wrap{transform:translateY(-6px);box-shadow:0 24px 50px rgba(0,0,0,.14)}
.mmafl-site .mm-pack.mm-pop > .elementor-widget-wrap{background:#111111;color:#FFFFFF;border-color:#111111;box-shadow:0 30px 60px rgba(0,0,0,.3)}
.mmafl-site .mm-pack .elementor-widget{width:100%}
.mmafl-site .elementor-widget.mm-ribbon{position:absolute!important;top:0;right:0;width:auto!important;margin:0!important}
.mmafl-site .mm-ribbon .elementor-heading-title{background:#E31C25;color:#FFFFFF!important;font-size:11px!important;font-weight:800;letter-spacing:.14em;padding:9px 15px;text-transform:uppercase}
.mmafl-site .mm-ribbon-dark .elementor-heading-title{background:#111111}
.mmafl-site .mm-pack-name .elementor-heading-title{font-size:22px;padding-right:80px}
.mmafl-site .mm-pack-desc{font-size:14px;color:#777777}
.mmafl-site .mm-pop .mm-pack-desc{color:#9A9A9A}
.mmafl-site .mm-price .elementor-heading-title{font-size:58px;font-weight:900;line-height:1;letter-spacing:-.02em}
.mmafl-site .mm-price small{font-size:15px;font-weight:700;color:#777777;letter-spacing:0;text-transform:none}
.mmafl-site .mm-pop .mm-price small{color:#9A9A9A}
.mmafl-site .mm-pack-sub{font-size:14px;color:#777777;font-weight:600}
.mmafl-site .mm-pack-sub p{margin:0 0 4px}
.mmafl-site .mm-pop .mm-pack-sub{color:#9A9A9A}
.mmafl-site .mm-pack .mm-ticks{border-top:1px solid #E6E6E6;padding-top:24px}
.mmafl-site .mm-pop .mm-ticks{border-color:#2B2B2B}
.mmafl-site .mm-pack .mm-ticks li{font-size:15px}
.mmafl-site .mm-pack .mm-btn{margin-top:auto!important;padding-top:12px}
.mmafl-site .mm-pack .mm-btn .elementor-button{width:100%}
.mmafl-site .mm-note{text-align:center;font-size:14px;color:#777777}
.mmafl-site .mm-note a{color:#E31C25;font-weight:800}

/* Coaches */
.mmafl-site .mm-team > .elementor-container{gap:22px}
.mmafl-site .mm-coach > .elementor-widget-wrap{position:relative;overflow:hidden;background:#222222;padding:0!important}
.mmafl-site .mm-coach .elementor-widget-image{margin:0!important;width:100%}
.mmafl-site .mm-coach img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;display:block;filter:grayscale(1);transition:.5s}
.mmafl-site .mm-coach:hover img{filter:none;transform:scale(1.05)}
.mmafl-site .mm-coach .elementor-widget-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 45%,rgba(0,0,0,.95) 100%);pointer-events:none}
.mmafl-site .elementor-widget.mm-coach-info{position:absolute!important;left:24px;right:24px;bottom:22px;z-index:2;margin:0!important;color:#FFFFFF}
.mmafl-site .mm-coach-info h3{font-size:24px;margin:0 0 4px;color:#FFFFFF}
.mmafl-site .mm-coach-info p{margin:0;font-size:12px;font-weight:700;color:#E31C25;letter-spacing:.08em;text-transform:uppercase}

/* Reviews */
.mmafl-site .mm-reviews > .elementor-container{gap:24px}
.mmafl-site .mm-review > .elementor-widget-wrap{background:#FFFFFF;border:1px solid #E4E4E4;border-left:5px solid #E31C25;padding:36px 30px!important;box-shadow:0 20px 50px rgba(0,0,0,.06);align-content:flex-start;color:#111111}
.mmafl-site .mm-review .mm-stars-y{color:#FFB400;font-size:18px;letter-spacing:3px}
.mmafl-site .mm-review blockquote{margin:0;font-size:18px;font-weight:700;line-height:1.5;border:0;padding:0;font-style:normal}
.mmafl-site .mm-review cite{display:block;font-style:normal;font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-top:18px}
.mmafl-site .mm-review cite span{display:block;font-weight:500;color:#777777;text-transform:none;letter-spacing:0;font-size:12px}

/* Gallery strip */
.mmafl-site .mm-gallery .elementor-column{min-width:0}
.mmafl-site .mm-gallery .elementor-widget-image{margin:0!important}
.mmafl-site .mm-gallery img{width:100%;aspect-ratio:1;object-fit:cover;display:block;filter:grayscale(.6);transition:.4s}
.mmafl-site .mm-gallery img:hover{filter:none}

/* FAQ (Elementor Toggle widget + class mm-faq) */
.mmafl-site .mm-faq{max-width:880px;margin-left:auto;margin-right:auto}
.mmafl-site .mm-faq .elementor-toggle-item{border:0;border-bottom:1px solid #CFCFCF;margin:0!important}
.mmafl-site .mm-dark .mm-faq .elementor-toggle-item{border-color:#2B2B2B}
.mmafl-site .mm-faq .elementor-tab-title{border:0!important;padding:26px 40px 26px 0!important;position:relative;font-weight:800;font-size:18px;line-height:1.4;cursor:pointer}
.mmafl-site .mm-faq .elementor-tab-title a,.mmafl-site .mm-faq .elementor-toggle-title{color:inherit!important;font-family:"Montserrat",sans-serif;font-weight:800;font-size:18px}
.mmafl-site .mm-faq .elementor-toggle-icon{display:none!important}
.mmafl-site .mm-faq .elementor-tab-title::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);color:#E31C25;font-size:30px;font-weight:400;line-height:1;transition:.2s}
.mmafl-site .mm-faq .elementor-tab-title.elementor-active::after{transform:translateY(-50%) rotate(45deg)}
.mmafl-site .mm-faq .elementor-tab-content{border:0!important;padding:0 40px 26px 0!important;font-size:16px;line-height:1.7;color:#777777}
.mmafl-site .mm-dark .mm-faq .elementor-tab-content{color:#9A9A9A}

/* Final CTA */
.mmafl-site .elementor-section.mm-final{padding:120px 0}
.mmafl-site .mm-final > .elementor-background-overlay{background:linear-gradient(100deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.85) 50%,rgba(0,0,0,.7) 100%)!important;opacity:1!important}
.mmafl-site .mm-final .mm-title .elementor-heading-title{font-size:clamp(34px,5.4vw,64px)}
.mmafl-site .mm-info p{margin:0 0 14px;font-size:15px}
.mmafl-site .mm-info b,.mmafl-site .mm-info strong{display:block;color:#E31C25;font-size:12px;letter-spacing:.14em;text-transform:uppercase}

/* Contact cards */
.mmafl-site .mm-contact-card > .elementor-widget-wrap{border:1px solid #E4E4E4;background:#FFFFFF;padding:40px 34px!important;text-align:center;transition:.3s;align-content:flex-start}
.mmafl-site .mm-contact-card:hover > .elementor-widget-wrap{border-color:#E31C25;transform:translateY(-6px)}
.mmafl-site .mm-contact-card .mm-num .elementor-heading-title{margin:0 auto}
.mmafl-site .mm-contact-card a{color:#E31C25;font-weight:800}
.mmafl-site .mm-hours-box .mm-hours li{border-color:rgba(0,0,0,.12)}
.mmafl-site .mm-hours-box .mm-hours b{color:#111111}
.mmafl-site .mm-dark .mm-hours-box .mm-hours li{border-color:rgba(255,255,255,.12)}
.mmafl-site .mm-dark .mm-hours-box .mm-hours b{color:#FFFFFF}
.mmafl-site .mm-map iframe{width:100%;height:440px;border:0;filter:grayscale(.35);display:block}
.mmafl-site .mm-video video,.mmafl-site .mm-video iframe{width:100%;display:block}
.mmafl-site .mm-video .elementor-wrapper{box-shadow:0 30px 70px rgba(0,0,0,.4)}
.mmafl-site .mm-amenity img{width:64px;height:64px;margin:0 auto;display:block}

/* =========================================================================
   TIMETABLE  [mmafl_timetable]
   ========================================================================= */
.mm-timetable{font-family:"Montserrat",sans-serif}
.mm-tt-days{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.mm-tt-days button{padding:20px 8px;background:#FFFFFF;border:1px solid #DADADA;font-family:inherit;font-weight:900;text-transform:uppercase;font-size:15px;letter-spacing:.08em;color:#111111;cursor:pointer;transition:.2s}
.mm-tt-days button.on{background:#111111;color:#FFFFFF;border-color:#111111}
.mm-dark .mm-tt-days button,.mm-black .mm-tt-days button{background:#1C1C1C;border-color:#2B2B2B;color:#BDBDBD}
.mm-dark .mm-tt-days button.on,.mm-black .mm-tt-days button.on{background:#E31C25;border-color:#E31C25;color:#FFFFFF}
.mm-tt-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px}
.mm-tt-filters button{padding:10px 20px;border:1px solid #CFCFCF;background:transparent;font-family:inherit;font-weight:700;font-size:13px;color:inherit;cursor:pointer;transition:.2s}
.mm-tt-filters button.on{background:#E31C25;border-color:#E31C25;color:#FFFFFF}
.mm-tt-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;min-height:100px}
.mm-tt-slot{background:#FFFFFF;color:#111111;border-left:5px solid #E31C25;padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px;animation:mmPop .4s both;box-shadow:0 8px 24px rgba(0,0,0,.05)}
.mm-tt-slot b{display:block;font-size:20px;font-weight:900;line-height:1.1;margin-bottom:4px}
.mm-tt-slot span{display:block;font-size:13px;font-weight:800;color:#111111;text-transform:uppercase;letter-spacing:.05em}
.mm-tt-slot em{display:block;font-style:normal;font-size:12px;color:#777777;margin-top:2px}
.mm-tt-slot a{flex:0 0 auto;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#E31C25!important;border:2px solid #E31C25;padding:9px 13px;transition:.2s}
.mm-tt-slot a:hover{background:#E31C25;color:#FFFFFF!important}
.mm-tt-empty{grid-column:1/-1;text-align:center;padding:40px 0;font-weight:600;color:#777777}
.mm-tt-note{margin:26px 0 0;font-size:13px;color:#777777;text-align:center}
@keyframes mmPop{from{opacity:0;transform:translateY(12px)}}

/* =========================================================================
   CONTACT FORM 7 (any form on the site)
   ========================================================================= */
.mmafl-site .wpcf7{width:100%}
.mmafl-site .wpcf7 form{margin:0}
.mmafl-site .wpcf7 form p{margin:0 0 14px;font-size:14px;line-height:1.5}
.mmafl-site .wpcf7 form p:empty{display:none}
.mmafl-site .wpcf7 h3{font-size:26px;margin:0 0 6px;color:#111111}
.mmafl-site .wpcf7 .fsub{color:#777777;font-size:14px;margin:0 0 20px}
.mmafl-site .wpcf7 .f{margin-bottom:14px}
.mmafl-site .wpcf7 label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#111111;margin:0 0 6px}
.mmafl-site .wpcf7 .wpcf7-form-control-wrap{display:block;margin-top:6px}
.mmafl-site .wpcf7 input[type=text],.mmafl-site .wpcf7 input[type=email],.mmafl-site .wpcf7 input[type=tel],.mmafl-site .wpcf7 input[type=number],.mmafl-site .wpcf7 input[type=url],.mmafl-site .wpcf7 input[type=date],.mmafl-site .wpcf7 select,.mmafl-site .wpcf7 textarea{display:block;width:100%;max-width:100%;height:auto;margin:0;font-family:"Montserrat",sans-serif;font-size:16px;font-weight:500;line-height:1.3;letter-spacing:0;text-transform:none;padding:14px;border:2px solid #DDDDDD;border-radius:0;background-color:#FAFAFA;color:#111111;box-shadow:none;outline:none;transition:border-color .2s,background-color .2s;-webkit-appearance:none;appearance:none}
.mmafl-site .wpcf7 select{padding-right:44px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23111111' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px 8px}
.mmafl-site .wpcf7 textarea{min-height:120px;resize:vertical}
.mmafl-site .wpcf7 input::placeholder,.mmafl-site .wpcf7 textarea::placeholder{color:#999999;opacity:1}
.mmafl-site .wpcf7 input:focus,.mmafl-site .wpcf7 select:focus,.mmafl-site .wpcf7 textarea:focus{border-color:#E31C25;background-color:#FFFFFF}
.mmafl-site .wpcf7 .wpcf7-form-control.wpcf7-not-valid{border-color:#E31C25;background-color:#FFF5F5}
.mmafl-site .wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:12px;font-weight:700;color:#E31C25}
.mmafl-site .wpcf7 .wpcf7-list-item{margin:0}
.mmafl-site .wpcf7 .wpcf7-list-item label{display:flex;align-items:flex-start;gap:10px;font-size:12px;font-weight:500;letter-spacing:0;text-transform:none;color:#777777;line-height:1.5}
.mmafl-site .wpcf7 input[type=checkbox],.mmafl-site .wpcf7 input[type=radio]{width:16px;height:16px;margin:2px 0 0;flex:0 0 16px;accent-color:#E31C25}
.mmafl-site .wpcf7 input[type=submit],.mmafl-site .wpcf7 button[type=submit],.mmafl-site .wpcf7 .wpcf7-submit{display:block;width:100%;height:auto;margin:6px 0 0;padding:17px 30px;font-family:"Montserrat",sans-serif;font-size:15px;font-weight:800;line-height:1.2;letter-spacing:.06em;text-transform:uppercase;color:#FFFFFF;background:#E31C25;border:2px solid #E31C25;border-radius:0;box-shadow:none;cursor:pointer;transition:.25s;-webkit-appearance:none;appearance:none;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 14px) 100%,0 100%)}
.mmafl-site .wpcf7 input[type=submit]:hover,.mmafl-site .wpcf7 .wpcf7-submit:hover{background:#B9141C;border-color:#B9141C;transform:translateY(-2px)}
.mmafl-site .wpcf7 .wpcf7-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}
.mmafl-site .wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}
.mmafl-site .wpcf7 form .wpcf7-response-output{margin:16px 0 0;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.5;color:#111111;border:2px solid #E31C25;background:#FFF5F5}
.mmafl-site .wpcf7 form.sent .wpcf7-response-output{border-color:#25D366;background:#F2FFF6}
.mmafl-site .wpcf7 form.invalid .wpcf7-response-output,.mmafl-site .wpcf7 form.unaccepted .wpcf7-response-output{border-color:#FFB400;background:#FFFBEF}
.mmafl-site .wpcf7 .booknow{display:block;text-align:center;margin-top:14px;font-size:14px;font-weight:800;color:#E31C25}
.mmafl-site .wpcf7 .booknow:hover{text-decoration:underline}
.mmafl-site .wpcf7 .fnote{font-size:12px;color:#777777;text-align:center;margin-top:12px}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1180px){
  .mmh-nav .menu > li > a{padding:31px 10px;font-size:12px}
  .mmh-bar{gap:18px}
}
@media (max-width:1024px){
  .mmh-cta{display:none}
  .mmh-toggle{display:flex}
  .mmh{backdrop-filter:none;background:#111111}
  .mmh-nav{position:fixed;top:0;right:0;bottom:0;width:min(360px,88vw);background:#111111;flex-direction:column;justify-content:flex-start;padding:90px 26px 30px;overflow-y:auto;transform:translateX(100%);visibility:hidden;transition:transform .35s,visibility .35s;z-index:200;box-shadow:-20px 0 50px rgba(0,0,0,.5)}
  .mmh-open .mmh-nav{transform:none;visibility:visible}
  .mmh-open::after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:150}
  .mmh-open .mmh{z-index:250}
  .mmh-toggle{position:relative;z-index:260}
  .mmh-nav .menu{flex-direction:column;gap:0}
  .mmh-nav .menu > li > a{padding:16px 0;border-bottom:1px solid #2B2B2B;font-size:14px;justify-content:space-between}
  .mmh-nav .menu > li > a::after{display:none}
  .mmh-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:transparent;padding:4px 0 10px 14px;display:none}
  .mmh-nav .mm-sub-open > .sub-menu{display:block}
  .mmh-nav .sub-menu a{padding:10px 0}
  .mmh-nav .sub-menu a:hover{padding-left:6px;background:transparent}
  .mmh-nav-extra{display:grid;gap:18px;margin-top:30px}
  .mmh-nav-call{color:#FFFFFF;font-weight:800}
  .mmf-grid{grid-template-columns:1fr 1fr;gap:44px}
  .mm-posts{grid-template-columns:1fr 1fr}
  .mmafl-site .mm-redcol > .elementor-widget-wrap{padding:70px 30px!important}
  .mmafl-site .elementor-widget.mm-badge{left:20px;bottom:20px}
  .mmafl-site .mm-hero-text > .elementor-widget-wrap{padding-right:0!important}
  .mmafl-site .mm-pad-left > .elementor-widget-wrap{padding-left:30px!important}
  .mmafl-site .mm-pad-right > .elementor-widget-wrap{padding-right:30px!important}
}
@media (max-width:782px){
  .admin-bar .mmh{top:46px}
}
@media (max-width:767px){
  .mmh-top{display:none}
  .mmh-bar{height:72px}
  .mmh-logo img{height:50px}
  .mm-sticky{display:grid}
  .mmf-grid{grid-template-columns:1fr;padding-top:64px}
  .mmf{padding-bottom:58px}
  .mm-posts{grid-template-columns:1fr}
  .mmafl-site .elementor-section.mm-sec{padding:72px 0}
  .mmafl-site .elementor-section.mm-hero{padding:60px 0 70px;min-height:0}
  .mmafl-site .elementor-section.mm-pagehero{padding:100px 0 80px}
  .mmafl-site .elementor-section.mm-final{padding:80px 0}
  .mmafl-site .mm-hero-text > .elementor-widget-wrap{padding-bottom:40px!important}
  .mmafl-site .mm-cards > .elementor-container,.mmafl-site .mm-features > .elementor-container,.mmafl-site .mm-packs > .elementor-container,.mmafl-site .mm-reviews > .elementor-container{gap:20px}
  .mmafl-site .mm-team > .elementor-container{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .mmafl-site .mm-team .elementor-column{width:100%!important}
  .mmafl-site .mm-coach-info h3{font-size:18px}
  .mmafl-site .elementor-widget.mm-coach-info{left:14px;right:14px;bottom:14px}
  .mmafl-site .mm-gallery > .elementor-container{display:grid;grid-template-columns:repeat(3,1fr)}
  .mmafl-site .mm-gallery .elementor-column{width:100%!important}
  .mmafl-site .mm-strip > .elementor-container{display:grid;grid-template-columns:1fr 1fr;gap:26px 10px}
  .mmafl-site .mm-strip .elementor-column{width:100%!important}
  .mmafl-site .mm-imgcol > .elementor-widget-wrap{min-height:380px}
  .mmafl-site .mm-ticks-2 ul{grid-template-columns:1fr}
  .mmafl-site .mm-pad-left > .elementor-widget-wrap,.mmafl-site .mm-pad-right > .elementor-widget-wrap{padding-left:0!important;padding-right:0!important}
  .mmafl-site .mm-media-first > .elementor-widget-wrap{margin-bottom:30px}
  .mmafl-site .mm-formcard > .elementor-widget-wrap{padding:30px 20px!important}
  .mmafl-site .mm-faq .elementor-tab-title,.mmafl-site .mm-faq .elementor-toggle-title{font-size:16px!important}
  .mm-tt-days{grid-template-columns:repeat(3,1fr);gap:8px}
  .mmafl-site .elementor-widget.mm-inline{display:block;margin:0 0 12px!important}
  .mmafl-site .mm-inline .elementor-button{width:100%}
}

/* =========================================================================
   v1.2 updates: header buttons + cart, logo backing, hero images
   ========================================================================= */
/* Logo on a white plate so it is clear on the dark header/footer */
.mmh-logo .custom-logo-link,.mmf-logo .custom-logo-link{display:inline-flex;align-items:center;justify-content:center;background:#FFFFFF;padding:6px;border-radius:10px;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.mmh-logo img{height:58px}
.mmf-logo .custom-logo-link{padding:8px;border-radius:12px;margin-bottom:22px}
.mmf-logo img{height:80px;margin:0}

/* Header buttons + cart */
.mmh-btns{display:flex;gap:10px;flex:0 0 auto}
.mmh-btns .mm-btnlike{padding:13px 18px;font-size:12px}
.mmh-btns .mm-btnlike-outline{background:transparent;border-color:#FFFFFF;clip-path:none}
.mm-btnlike-outline:hover{background:#FFFFFF;border-color:#FFFFFF;color:#111111!important}
.mmh-nav .menu > li > a{padding-left:12px;padding-right:12px}
.mmh-nav-call{display:block;color:#FFFFFF;font-weight:700}

/* Hero / page hero / final CTA: show people's faces, lighter overlay */
.mmafl-site .elementor-section.mm-hero,.mmafl-site .elementor-section.mm-pagehero,.mmafl-site .elementor-section.mm-final{background-position:center 22%!important;background-size:cover!important}
.mmafl-site .mm-pagehero > .elementor-background-overlay{background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,.55) 55%,rgba(0,0,0,.78) 100%)!important}
.mmafl-site .mm-hero > .elementor-background-overlay{background:linear-gradient(100deg,rgba(0,0,0,.88) 0%,rgba(0,0,0,.62) 45%,rgba(0,0,0,.25) 100%)!important}
.mmafl-site .mm-final > .elementor-background-overlay{background:linear-gradient(100deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.7) 50%,rgba(0,0,0,.45) 100%)!important}
.mmafl-site .mm-pagehero .mm-h1 .elementor-heading-title,.mmafl-site .mm-pagehero .mm-lead,.mmafl-site .mm-hero .mm-h1 .elementor-heading-title{text-shadow:0 3px 18px rgba(0,0,0,.55)}
.mmafl-site .mm-pagehero .elementor-heading-title,.mmafl-site .mm-hero .elementor-heading-title,.mmafl-site .mm-final .mm-title .elementor-heading-title{color:#FFFFFF}
.mmafl-site .mm-content h1,.mmafl-site .mm-content h2,.mmafl-site .mm-content h3{color:#111111}

/* Trustindex widget */
.mmafl-site .mm-trustindex{max-width:1200px;margin-left:auto;margin-right:auto}

@media (max-width:1180px){
  .mmh-btns .mm-btnlike{padding:12px 14px;font-size:11px}
  .mmh-nav .menu > li > a{padding-left:9px;padding-right:9px;font-size:12px}
}
@media (max-width:1024px){
  .mmh-bar{display:grid;grid-template-columns:auto 1fr auto auto;grid-template-areas:"logo . cart toggle" "btns btns btns btns";height:auto;row-gap:12px;column-gap:12px;padding-top:12px;padding-bottom:12px}
  .mmh-logo{grid-area:logo}
  .mmh-cart-wrap{grid-area:cart}
  .mmh-toggle{grid-area:toggle;margin:0}
  .mmh-btns{grid-area:btns;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .mmh-btns .mm-btnlike{width:100%;padding:13px 10px;font-size:12px}
  .mmh-logo img{height:50px}
}
@media (max-width:767px){
  .mmh-logo img{height:44px}
  .mmh-btns .mm-btnlike{font-size:11px;letter-spacing:.04em;padding:12px 8px}
  .mm-sticky{display:none!important}
  .mmf{padding-bottom:0}
}

/* Header cart (same markup as the site's cart drawer icon) */
.mmh-cart-wrap{position:relative;flex:0 0 auto}
.mmh-cart-wrap .mma-cart-trigger{position:relative;width:46px;height:46px;display:grid;place-items:center;border:1px solid #2B2B2B;color:#FFFFFF!important;transition:.25s}
.mmh-cart-wrap .mma-cart-trigger:hover{border-color:#E31C25;color:#E31C25!important}
.mmh-cart-wrap .mma-cart-trigger svg{width:22px;height:22px;fill:none;stroke:currentColor}
.mmh-cart-wrap .mma-cart-count{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:10px;background:#E31C25;color:#FFFFFF;font-size:11px;font-weight:800;line-height:20px;text-align:center}

/* =========================================================================
   v1.3: hanging logo badge, smart header, compact mobile header, mobile sticky bar
   ========================================================================= */
/* Logo: bigger white badge that hangs below the bar, header height unchanged */
.mmh{transition:transform .35s ease,box-shadow .3s}
.mmh-bar{position:relative}
.mmh-logo{position:relative;align-self:stretch;width:118px;flex:0 0 118px}
.mmh-logo .custom-logo-link{position:absolute;top:0;left:0;width:118px;height:118px;padding:10px;background:#FFFFFF;border-radius:0 0 16px 16px;border-bottom:4px solid #E31C25;box-shadow:0 14px 30px rgba(0,0,0,.45);z-index:3;transition:width .3s,height .3s,padding .3s}
.mmh-logo .custom-logo-link::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:#E31C25}
.mmh-logo .custom-logo-link img,.mmh-logo img{width:100%;height:100%;object-fit:contain;display:block}
.mmh.mmh-scrolled .mmh-logo .custom-logo-link{width:100px;height:100px;padding:8px}
/* Hide on scroll down, show on scroll up */
.mmh.mmh-hidden{transform:translateY(calc(-100% - 50px))}
.mmh-open .mmh.mmh-hidden{transform:none}

/* Mobile sticky bar: WhatsApp + Join Classes, normal-size buttons */
.mm-sticky{grid-template-columns:none;transform:none;display:none;gap:10px;justify-content:center;align-items:center;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(17,17,17,.96);border-top:1px solid #2B2B2B}
.mm-sticky a{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex:1 1 0;max-width:190px;padding:11px 14px;font-size:12px;letter-spacing:.05em;line-height:1.2;border-radius:0}
.mm-sticky svg{width:17px;height:17px;fill:#FFFFFF;flex:0 0 auto}
.mm-sticky-trial{background:#E31C25;border:2px solid #E31C25}
.mm-sticky-join{background:transparent;border:2px solid #FFFFFF}

@media (max-width:1024px){
  .mmh-bar{display:flex;height:66px;padding-top:0;padding-bottom:0;gap:10px}
  .mmh-logo{width:84px;flex:0 0 84px;margin-right:auto}
  .mmh-logo .custom-logo-link,.mmh.mmh-scrolled .mmh-logo .custom-logo-link{width:84px;height:84px;padding:7px;border-radius:0 0 12px 12px}
  .mmh-logo img{height:100%}
  .mmh-btns{display:flex}
  .mmh-btns .mmh-join{display:none}
  .mmh-btns .mm-btnlike{width:auto;padding:11px 14px;font-size:11px;letter-spacing:.05em}
  .mmh-cart-wrap .mma-cart-trigger,.mmh-toggle{width:42px;height:42px}
  .mmh-cart-wrap .mma-cart-trigger svg{width:20px;height:20px}
}
@media (max-width:767px){
  .mmh-logo img{height:100%}
  .mm-sticky,.mm-sticky.mm-show{display:flex!important}
  body.mmafl-site{padding-bottom:64px}
  /* Lift floating widgets above the sticky bar */
  .grecaptcha-badge{bottom:74px!important}
  .chaty-widget,.chaty-i-trigger{bottom:74px!important}
}
@media (max-width:380px){
  .mmh-bar{gap:8px;padding-left:14px;padding-right:14px}
  .mmh-logo{width:74px;flex-basis:74px}
  .mmh-logo .custom-logo-link,.mmh.mmh-scrolled .mmh-logo .custom-logo-link{width:74px;height:74px}
  .mmh-btns .mm-btnlike{padding:10px 10px;font-size:10px}
}
/* Keep the sticky header working: "hidden" on html/body breaks position:sticky, "clip" does not */
html,body.mmafl-site{overflow-x:clip!important;overflow-y:visible!important}

/* =========================================================================
   v1.4: footer headings, gallery, timetable redesign
   ========================================================================= */
/* Footer headings always visible (Elementor kit heading colours can override them) */
.mmafl-site .mmf h4,.mmafl-site .mmf .mmf-hours-title{color:#FFFFFF!important;font-family:"Montserrat",sans-serif!important;font-weight:800!important;font-size:15px!important;letter-spacing:.14em!important;text-transform:uppercase!important;opacity:1!important}

/* Gallery: mosaic grid, hover zoom, lightbox */
.mmafl-site .mm-gal > .elementor-container{display:grid!important;grid-template-columns:repeat(4,1fr);grid-auto-rows:230px;gap:12px;max-width:none!important;padding:0!important;margin-top:44px}
.mmafl-site .mm-gal > .elementor-container > .elementor-column{width:auto!important;min-width:0;position:relative;overflow:hidden}
.mmafl-site .mm-gal .elementor-column:nth-child(1){grid-column:span 2;grid-row:span 2}
.mmafl-site .mm-gal .elementor-column:nth-child(6){grid-column:span 2}
.mmafl-site .mm-gal .elementor-widget-wrap{padding:0!important;height:100%}
.mmafl-site .mm-gal .elementor-widget-image,.mmafl-site .mm-gal .elementor-widget-image .elementor-widget-container,.mmafl-site .mm-gal .elementor-widget-image a{display:block;height:100%;width:100%;margin:0!important}
.mmafl-site .mm-gal .elementor-widget-image a{position:relative;overflow:hidden}
.mmafl-site .mm-gal img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;transition:transform .6s ease,filter .4s}
.mmafl-site .mm-gal .elementor-widget-image a::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.65) 100%);opacity:0;transition:opacity .35s;z-index:1}
.mmafl-site .mm-gal .elementor-widget-image a::after{content:"+";position:absolute;right:16px;bottom:16px;width:42px;height:42px;display:grid;place-items:center;background:#E31C25;color:#FFFFFF;font-size:26px;font-weight:400;line-height:1;transform:translateY(12px);opacity:0;transition:.35s;z-index:2}
.mmafl-site .mm-gal .elementor-widget-image a:hover img{transform:scale(1.07)}
.mmafl-site .mm-gal .elementor-widget-image a:hover::before{opacity:1}
.mmafl-site .mm-gal .elementor-widget-image a:hover::after{opacity:1;transform:none}
.mmafl-site .mm-gal .elementor-column:nth-child(1)::after{content:"";position:absolute;left:0;top:0;width:6px;height:90px;background:#E31C25;z-index:3;pointer-events:none}
@media (max-width:1024px){
  .mmafl-site .mm-gal > .elementor-container{grid-auto-rows:180px}
}
@media (max-width:767px){
  .mmafl-site .mm-gal > .elementor-container{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:8px;margin-top:32px}
  .mmafl-site .mm-gal .elementor-column:nth-child(6){grid-column:span 2}
  .mmafl-site .mm-gal .elementor-widget-image a::after{opacity:1;transform:none;width:32px;height:32px;font-size:20px;right:10px;bottom:10px}
}

/* Timetable: day tabs + class cards (strong selectors so kit button styles do not leak in) */
.mmafl-site .mm-timetable{max-width:1180px;margin:0 auto}
.mmafl-site .mm-tt-days{display:grid!important;grid-template-columns:repeat(6,1fr);gap:0!important;margin:0 0 28px!important;background:#111111;padding:6px;box-shadow:0 14px 34px rgba(0,0,0,.12)}
.mmafl-site .mm-timetable .mm-tt-days button{all:unset;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px 6px;min-height:70px;cursor:pointer;color:#FFFFFF!important;background:transparent!important;font-family:"Montserrat",sans-serif;text-align:center;position:relative;transition:background .25s;border-right:1px solid #2B2B2B}
.mmafl-site .mm-timetable .mm-tt-days button:last-child{border-right:0}
.mmafl-site .mm-timetable .mm-tt-days button b{font-size:16px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;line-height:1}
.mmafl-site .mm-timetable .mm-tt-days button small{font-size:11px;font-weight:600;color:#9A9A9A;letter-spacing:.04em;line-height:1}
.mmafl-site .mm-timetable .mm-tt-days button:hover{background:#1F1F1F!important}
.mmafl-site .mm-timetable .mm-tt-days button.on{background:#E31C25!important}
.mmafl-site .mm-timetable .mm-tt-days button.on small{color:#FFFFFF;opacity:.85}
.mmafl-site .mm-timetable .mm-tt-days button.on::after{content:"";position:absolute;left:50%;bottom:-12px;margin-left:-8px;border:8px solid transparent;border-top-color:#E31C25;border-bottom:0}
.mmafl-site .mm-timetable .mm-tt-filters{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 30px}
.mmafl-site .mm-timetable .mm-tt-filters button{all:unset;box-sizing:border-box;cursor:pointer;padding:9px 18px;border:1px solid #D0D0D0;font-family:"Montserrat",sans-serif;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#111111!important;background:#FFFFFF!important;transition:.2s}
.mmafl-site .mm-timetable .mm-tt-filters button:hover{border-color:#111111}
.mmafl-site .mm-timetable .mm-tt-filters button.on{background:#111111!important;border-color:#111111;color:#FFFFFF!important}
.mmafl-site .mm-tt-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;min-height:100px}
.mmafl-site .mm-tt-slot{display:flex!important;align-items:stretch!important;gap:0!important;padding:0!important;background:#FFFFFF;border:1px solid #E6E6E6!important;border-left:0!important;box-shadow:0 10px 26px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s}
.mmafl-site .mm-tt-slot:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(0,0,0,.1)}
.mmafl-site .mm-tt-time{flex:0 0 96px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#111111;color:#FFFFFF;padding:16px 6px;text-align:center}
.mmafl-site .mm-tt-time b{font-size:24px!important;font-weight:900;line-height:1;margin:0!important;color:#FFFFFF}
.mmafl-site .mm-tt-time i{font-style:normal;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#E31C25;margin-top:6px}
.mmafl-site .mm-tt-info{flex:1;min-width:0;padding:18px 18px;display:flex;flex-direction:column;justify-content:center;gap:6px}
.mmafl-site .mm-tt-info strong{font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:#111111;line-height:1.2}
.mmafl-site .mm-tt-info em{font-style:normal;font-size:12px;font-weight:600;color:#777777;display:flex;align-items:center;gap:6px}
.mmafl-site .mm-tt-info em::before{content:"";width:8px;height:8px;border:2px solid #E31C25;border-radius:50%}
.mmafl-site .mm-tt-slot a.mm-tt-book{align-self:center;flex:0 0 auto;margin-right:18px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:#FFFFFF!important;background:#E31C25;border:0!important;padding:11px 14px!important;clip-path:polygon(0 0,100% 0,100% 70%,calc(100% - 8px) 100%,0 100%);transition:background .2s}
.mmafl-site .mm-tt-slot a.mm-tt-book:hover{background:#111111!important}
.mmafl-site .mm-dark .mm-tt-slot,.mmafl-site .mm-black .mm-tt-slot{background:#1C1C1C;border-color:#2B2B2B!important}
.mmafl-site .mm-dark .mm-tt-info strong,.mmafl-site .mm-black .mm-tt-info strong{color:#FFFFFF}
.mmafl-site .mm-dark .mm-tt-time,.mmafl-site .mm-black .mm-tt-time{background:#E31C25}
.mmafl-site .mm-dark .mm-tt-time i,.mmafl-site .mm-black .mm-tt-time i{color:#FFFFFF}
.mmafl-site .mm-tt-empty{grid-column:1/-1;text-align:center;padding:44px 20px;font-weight:700;color:#777777;border:2px dashed #DADADA}
@media (max-width:767px){
  .mmafl-site .mm-tt-days{grid-template-columns:repeat(3,1fr);padding:4px}
  .mmafl-site .mm-timetable .mm-tt-days button{min-height:58px;padding:12px 4px;border-bottom:1px solid #2B2B2B}
  .mmafl-site .mm-timetable .mm-tt-days button:nth-child(3n){border-right:0}
  .mmafl-site .mm-timetable .mm-tt-days button.on::after{display:none}
  .mmafl-site .mm-tt-slots{grid-template-columns:1fr}
  .mmafl-site .mm-tt-time{flex-basis:80px}
  .mmafl-site .mm-tt-time b{font-size:20px!important}
  .mmafl-site .mm-tt-info{padding:14px 12px}
  .mmafl-site .mm-tt-slot a.mm-tt-book{margin-right:12px;padding:10px 11px!important}
}

/* =========================================================================
   v1.4.1: banner images on mobile/tablet
   Tall stacked banners used to stretch the photo over the whole section
   (heavy zoom, heads cut). Now the full photo shows as a band at the top
   and fades into black behind the text.
   ========================================================================= */
@media (max-width:1024px){
  .mmafl-site .elementor-section.mm-hero,
  .mmafl-site .elementor-section.mm-final{background-size:100% auto!important;background-position:center top!important;background-repeat:no-repeat!important;background-color:#0B0B0B!important;padding-top:44vw!important}
  .mmafl-site .mm-hero > .elementor-background-overlay,
  .mmafl-site .mm-final > .elementor-background-overlay{opacity:1!important;background:linear-gradient(180deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.25) 28vw,rgba(11,11,11,.85) 52vw,#0B0B0B 66vw,#0B0B0B 100%)!important}
}
@media (max-width:767px){
  .mmafl-site .elementor-section.mm-pagehero{background-size:100% auto!important;background-position:center top!important;background-repeat:no-repeat!important;background-color:#0B0B0B!important;padding:46vw 0 64px!important}
  .mmafl-site .mm-pagehero > .elementor-background-overlay{opacity:1!important;background:linear-gradient(180deg,rgba(0,0,0,.08) 0,rgba(0,0,0,.25) 28vw,rgba(11,11,11,.85) 54vw,#0B0B0B 68vw,#0B0B0B 100%)!important}
  .mmafl-site .mm-imgcol .elementor-widget-image img{object-position:center 30%}
  .mmafl-site .mm-imgcol > .elementor-widget-wrap{min-height:0!important;aspect-ratio:4/3}
}
