/* Wildcore — header + mobile optimization (v4) */

/* 1. Logo size cap */
.elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container,
.elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container img {
    max-height: 120px !important;
    width: auto !important;
    height: auto !important;
}
.elementor-widget-cmsmasters-site-logo__image-container img {
    max-width: 120px !important;
}

/* 2. Green top promo banner */
.elementor-element-f3b378c,
.elementor-element-2dfcfba5 {
    background-color: #074240 !important;
}
.elementor-element-2dfcfba5 {
    text-align: center !important;
    padding: 6px 16px !important;
}
.elementor-element-2dfcfba5 h2.elementor-heading-title,
.elementor-element-2dfcfba5 .elementor-heading-title {
    font-size: 14px !important;
    line-height: 1.5 !important;
    font-weight: 500 !important;
    letter-spacing: .5px !important;
    text-align: center !important;
    color: #ffffff !important;
}
.elementor-element-2dfcfba5 img.emoji {
    height: 16px !important;
    width: 16px !important;
    vertical-align: middle !important;
}

/* 3. Whitish translucent header */
header.elementor-182 {
    background-color: rgba(255, 255, 255, 0.85) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
header.elementor-182 .elementor-element-f3b378c,
header.elementor-182 .elementor-element-2dfcfba5 {
    background-color: #074240 !important;
}

/* 4. Main header container */
.elementor-element-f487411 {
    display: flex !important;
    align-items: center !important;
    max-width: 1400px !important;
    margin: 0 auto !important;
    padding: 10px 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 5. Desktop (≥1024px): single horizontal row */
@media (min-width: 1024px) {
    .elementor-element-f487411 {
        flex-direction: row !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 30px !important;
    }
    .elementor-element-3eea87f9,
    .elementor-element-6bbc55dd,
    .elementor-element-3747468f {
        display: flex !important;
        width: auto !important;
        align-items: center !important;
    }
    .elementor-element-3eea87f9 { flex: 0 0 auto !important; }
    .elementor-element-6bbc55dd { flex: 1 1 auto !important; justify-content: center !important; }
    .elementor-element-3747468f { flex: 0 0 auto !important; }

    .elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container,
    .elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container img {
        max-height: 60px !important;
    }
    .elementor-widget-cmsmasters-site-logo__image-container img {
        max-width: 60px !important;
    }
}

/* 6. Tablet/Mobile (<1024px): logo left + hamburger right — main bar stays visible */
@media (max-width: 1023px) {
    .elementor-element-69d2afc {
        display: flex !important;
    }
    .elementor-element-f487411 {
        flex-direction: row !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
        padding: 8px 16px !important;
    }
    /* Override e-con-full 100% width — children should size to content */
    .elementor-element-3eea87f9 {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: 50% !important;
    }
    .elementor-element-3747468f {
        flex: 0 0 auto !important;
        width: auto !important;
        margin-left: auto !important;
        justify-content: flex-end !important;
    }
    /* Make sure hamburger is visible (it should be by default with elementor-hidden-widescreen, but ensure) */
    .elementor-element-4ad0ef2e {
        display: block !important;
        visibility: visible !important;
    }
    /* Hide desktop nav (should already be hidden by elementor-hidden-tablet/-mobile) */
    .elementor-element-6bbc55dd { display: none !important; }

    /* Smaller logo on mobile */
    .elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container,
    .elementor-widget-cmsmasters-site-logo .elementor-widget-cmsmasters-site-logo__image-container img {
        max-height: 44px !important;
    }
    .elementor-widget-cmsmasters-site-logo__image-container img {
        max-width: 44px !important;
    }

    /* Hide floating Click here button on mobile */
    .elementor-element-1af2d546 { display: none !important; }
}

/* 7. Phone (≤600px) */
@media (max-width: 600px) {
    .elementor-element-2dfcfba5 h2.elementor-heading-title,
    .elementor-element-2dfcfba5 .elementor-heading-title {
        font-size: 12px !important;
        letter-spacing: .25px !important;
    }
    .elementor-element-2dfcfba5 img.emoji {
        height: 14px !important;
        width: 14px !important;
    }
    .elementor-element-2dfcfba5 { padding: 5px 10px !important; }

    .elementor-widget-heading h1.elementor-heading-title,
    h1.elementor-heading-title {
        font-size: 36px !important;
        line-height: 1.15 !important;
    }
    .elementor-widget-heading h2.elementor-heading-title,
    h2.elementor-heading-title {
        font-size: 26px !important;
        line-height: 1.2 !important;
    }

    .elementor-button, .cmsmasters-button {
        min-height: 44px !important;
        padding: 10px 18px !important;
        font-size: 14px !important;
    }

    body, html { overflow-x: hidden !important; }
}

/* 8. Mobile hamburger icon color — was white, invisible on white header */
@media (max-width: 1023px) {
    .elementor-element-4ad0ef2e a.elementor-icon,
    .elementor-element-4ad0ef2e .elementor-icon,
    .elementor-element-4ad0ef2e .elementor-icon i {
        color: #074240 !important;
        font-size: 32px !important;
    }
    .elementor-element-4ad0ef2e a.elementor-icon:hover,
    .elementor-element-4ad0ef2e .elementor-icon:hover {
        color: #052f2d !important;
    }
}


/* 9. Homepage headline sizing fix — balanced fluid scale */
body.home h1 { font-size: clamp(32px, 4.2vw, 60px) !important; }
body.home h2 { font-size: clamp(26px, 3.1vw, 44px) !important; }
body.home h3 { font-size: clamp(22px, 2.4vw, 34px) !important; }


/* 10. Nav & button sizing fix — reduce inherited 18px on homepage header nav and CTA pills */
.wc-root .wc-mnav a { font-size: 14px !important; }
.wc-root a[style*="border-radius: 999"] { font-size: 14px !important; gap: 10px !important; padding: 8px 8px 8px 22px !important; }
.wc-root a[style*="border-radius: 999"] .wc-cta-dot { width: 32px !important; height: 32px !important; font-size: 14px !important; }


/* 11. Discover link sizing — shrink secondary DISCOVER WILDCORE CTA */
.wc-root a.wc-hv10 { font-size: 13px !important; }


/* 12. Marquee text size — enlarge green ticker words, keep separators smaller */
.wc-root div[style*="animation:wcTicker"] { font-size: 40px !important; }
.wc-root div[style*="animation:wcTicker"] > span { font-size: 40px !important; }
.wc-root div[style*="animation:wcTicker"] > i { font-size: 22px !important; }




/* 14. Green section heading contrast — dark headings on green backgrounds -> cream */
.wc-root [style*="#274334"] h1, .wc-root [style*="#274334"] h2, .wc-root [style*="#274334"] h3, .wc-root [style*="#274334"] h4 { color: #f4f0e7 !important; }

/* Nav BOOK NOW item shown only on mobile */
.wc-mobile-booknow{ display:none; }

/* 15. Mobile optimization (homepage) — header, headings, CTAs, calendar, step cards, marquee */
@media (max-width: 860px){
  .wc-root header{ display:flex !important; align-items:center !important; justify-content:space-between !important; min-height:0 !important; gap:8px !important; padding:10px 14px !important; }
  .wc-root header > a:first-child{ white-space:nowrap !important; flex-shrink:0 !important; font-size:15px !important; }
  .wc-root header > a:first-child img{ width:30px !important; height:30px !important; }
  .wc-root header > a[style*="border-radius: 999"]{ display:none !important; }  /* BOOK NOW moved into hamburger menu */
  .wc-mobile-booknow{ display:block !important; }
  .wc-root header > a[style*="border-radius: 999"] .wc-cta-dot{ width:24px !important; height:24px !important; font-size:12px !important; }
  .wc-root h1, .wc-root h2, .wc-root h3{ letter-spacing:-1px !important; }
  .wc-root [style*="wcFadeUp"][style*="gap:16px"]{ flex-direction:column !important; align-items:stretch !important; gap:12px !important; }
  .wc-root [style*="wcFadeUp"][style*="gap:16px"] > a{ white-space:nowrap !important; justify-content:center !important; }
  .wc-root [style*="padding:96px 56px"]{ padding:44px 24px !important; }
  .wc-root [style*="gap:110px"]{ gap:22px !important; }
  .wc-root [style*="#fdfaf4"]{ grid-template-columns:1fr !important; padding:22px !important; gap:22px !important; }
  .wc-root div[style*="animation:wcTicker"], .wc-root div[style*="animation:wcTicker"] > span{ font-size:26px !important; }
  .wc-root div[style*="animation:wcTicker"] > i{ font-size:16px !important; }
  .wc-root header nav.wc-mnav.is-open{ opacity:1 !important; visibility:visible !important; transform:none !important; pointer-events:auto !important; }
}

/* 16. Mobile menu (compact, collapsible dropdowns) + section spacing */
@media (max-width: 860px){
  .wc-root header nav.wc-mnav{ left:auto !important; right:14px !important; width:min(270px, calc(100vw - 28px)) !important; padding:6px 14px 10px !important; gap:0 !important; border-radius:16px !important; background:rgba(8,17,12,0.98) !important; align-items:stretch !important; box-shadow:0 18px 46px rgba(0,0,0,.5) !important; }
  .wc-root .wc-mnav > .wc-nav-item, .wc-root .wc-mnav > a{ width:100% !important; box-sizing:border-box !important; padding:10px 2px !important; border-bottom:1px solid rgba(244,240,231,0.12) !important; margin:0 !important; }
  .wc-root .wc-mnav > a, .wc-root .wc-mnav > .wc-nav-item > a{ font-size:14px !important; color:#f4f0e7 !important; letter-spacing:.05em !important; display:flex !important; align-items:center !important; justify-content:space-between !important; padding:0 !important; cursor:pointer !important; }
  .wc-root .wc-mnav .wc-sub{ display:none !important; position:static !important; opacity:1 !important; visibility:visible !important; transform:none !important; background:transparent !important; box-shadow:none !important; padding:4px 0 2px 12px !important; flex-direction:column !important; gap:2px !important; }
  .wc-root .wc-mnav .wc-nav-item.wc-sub-open .wc-sub{ display:flex !important; }
  .wc-root .wc-mnav .wc-sub a{ font-size:13px !important; color:rgba(244,240,231,0.66) !important; padding:5px 0 !important; }
  .wc-root .wc-mnav > .wc-nav-item > a span{ transition:transform .2s ease !important; }
  .wc-root .wc-mnav .wc-nav-item.wc-sub-open > a span{ transform:rotate(180deg) !important; }
  .wc-root .wc-mnav .wc-mobile-booknow{ border-bottom:none !important; padding:12px 0 0 !important; }
  .wc-root .wc-mnav .wc-mobile-booknow a{ width:100% !important; box-sizing:border-box !important; justify-content:center !important; color:#07110c !important; font-size:12px !important; padding:11px !important; margin:0 !important; }
  .wc-root [style*="padding:56px"]{ padding:34px 20px !important; }
  .wc-root [style*="padding:72px 56px"]{ padding:40px 20px !important; }
  .wc-root [style*="padding:84px 56px"]{ padding:44px 20px !important; }
  .wc-root [style*="padding:88px 0"]{ padding:44px 0 !important; }
  .wc-root [style*="padding:0 56px"]{ padding-left:20px !important; padding-right:20px !important; }
  .wc-root [style*="gap:80px"]{ gap:30px !important; }
  .wc-root [style*="gap:72px"]{ gap:28px !important; }
  .wc-root [style*="gap:56px"]{ gap:26px !important; }
  .wc-root [style*="gap:48px"]{ gap:22px !important; }
}


/* 17. Hamburger icon — remove colored circle, show 3 clean lines */
@media (max-width: 860px){
  .wc-root .wc-burger::before, .wc-root .wc-burger::after{ display:none !important; }
  .wc-root .wc-burger{ border-color:transparent !important; background:transparent !important; box-shadow:none !important; }
  .wc-root .wc-burger span{ position:relative !important; display:block !important; width:22px !important; height:2px !important; background:#f4f0e7 !important; border-radius:2px !important;  font-size:0 !important; color:transparent !important; text-indent:-9999px !important; overflow:hidden !important;}
  .wc-root .wc-burger span::before, .wc-root .wc-burger span::after{ content:"" !important; position:absolute !important; left:0 !important; width:22px !important; height:2px !important; background:#f4f0e7 !important; border-radius:2px !important; }
  .wc-root .wc-burger span::before{ top:-7px !important; }
  .wc-root .wc-burger span::after{ top:7px !important; }
}

/* 18 Hamburger single-set guard: hide theme native burger on custom homepage only */
body.home .cmsmasters-burger-menu-button, .wc-root .cmsmasters-burger-menu-button, body.home .cmsmasters-burger-menu-button-toggle { display:none !important; }

/* 19 Section alignment: match Barn Market and Reserve Your Mat to site standard content inset (desktop) */
@media(min-width:861px){
.wc-root [style*="420px 1fr;gap:72px"],
.wc-root [style*="repeat(4,1fr);gap:14px"]{box-sizing:border-box !important;padding-left:56px !important;padding-right:56px !important;}
.wc-root [style*="minmax(320px,470px)"]{box-sizing:border-box !important;grid-template-columns:auto minmax(320px,1fr) !important;justify-content:normal !important;padding-left:56px !important;padding-right:56px !important;max-width:none !important;}
}

/* 20 Mobile alignment: match Barn Market, Reserve Your Mat, Before You Arrive to reference section inset (22px) */
@media(max-width:860px){
.wc-root [style*="420px 1fr;gap:72px"],
.wc-root [style*="420px 1fr;gap:72px"] + [style*="repeat(4,1fr);gap:14px"],
.wc-root [style*="minmax(320px,470px)"]{box-sizing:border-box !important;padding-left:22px !important;padding-right:22px !important;}
.wc-root [data-screen-label][style*="1fr 1fr;gap:80px"]{box-sizing:border-box !important;padding-left:22px !important;padding-right:22px !important;}
}

/* 21 Page-specific text and image tweaks (About + Barn Market) */
body.page-id-55861 .wc-root [style*="240px 240px 0 0"]{width:100% !important;}
body.page-id-55861 .wc-root [style*="repeat(2,minmax(0,420px))"] h3{font-size:clamp(32px,3.4vw,42px) !important;}
body.page-id-55857 .wc-root [style*="repeat(4,1fr)"] h3{font-size:clamp(24px,2vw,30px) !important;}

/* 22 Amelia calendar: remove placeholder box styling site-wide so every calendar renders clean like the homepage reference */
.wc-root div[style*="dashed"]:has([class*="am-ecf"]){background:none !important;border:none !important;padding:0 !important;min-height:0 !important;}
.wc-root div[style*="dashed"]:has([class*="am-ecf"]) > span:not(:has([class*="am-ecf"])):not(:has([class*="fc-"])){display:none !important;}

/* 23 About page image margin and byline sizing */
body.page-id-55861 .wc-root [style*="1.05fr .95fr"]{padding-right:64px !important;box-sizing:border-box !important;}
body.page-id-55861 .wc-root span[style*="italic"]{font-size:26px !important;}
body.page-id-55861 .wc-root span[style*="italic"] ~ span[style*="uppercase"]{font-size:13px !important;}

/* 24 About page mobile optimization: stack Behind columns, inset content, shrink pillar headings */
@media(max-width:860px){
body.page-id-55861 .wc-root [data-screen-label][style*="1.05fr .95fr"]{grid-template-columns:1fr !important;padding-left:22px !important;padding-right:22px !important;gap:26px !important;box-sizing:border-box !important;}
body.page-id-55861 .wc-root [style*="repeat(2,minmax(0,420px))"]{padding-left:22px !important;padding-right:22px !important;box-sizing:border-box !important;}
body.page-id-55861 .wc-root h3{font-size:clamp(30px,8vw,38px) !important;}
}

/* 26. Recruit pages: proportionate 3-col card headings (were 60px vs 18px body) */
body.page-id-55863 .wc-root [style*="repeat(3,1fr)"] h3,
body.page-id-55864 .wc-root [style*="repeat(3,1fr)"] h3{ font-size:clamp(28px,3vw,36px) !important; line-height:1.14 !important; }
/* 27. BOOK NOW in mobile drawer site-wide (injected .wc-mnav-book) - force coral pill, hide on desktop */
.wc-root .wc-mnav-book{ display:none !important; }
@media(max-width:860px){
  .wc-root #wc-primary-nav .wc-mnav-book{ display:flex !important; align-items:center !important; justify-content:center !important; width:100% !important; box-sizing:border-box !important; background:#ee8773 !important; color:#07110c !important; padding:14px 24px !important; margin-top:12px !important; border:0 !important; border-radius:999px !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important; text-decoration:none !important; text-align:center !important; }
}


/* 29. Calendar: salmon Today/prev/next buttons + tan day-header (match reference), site-wide */
.am-ecs__header-actions .am-button::before{ background:#ee8773 !important; }
.am-ecs__header-actions .am-button, .am-ecs__header-actions .am-button *{ color:#ffffff !important; }
.fc .fc-col-header-cell{ background:#ede7dc !important; }

/* 30. About message text a bit larger */
body.page-id-55861 .wc-root [style*="420px 1fr;gap:72px"] p{ font-size:20px !important; }

/* 31. Application/contact forms as cards - white card, salmon top accent, shadow (barn market, instructor, contact) */
body.page-id-55862 .wc-root form.forminator-custom-form,
body.page-id-55863 .wc-root form.forminator-custom-form,
body.page-id-55864 .wc-root form.forminator-custom-form{ background:#ffffff !important; border-radius:22px !important; border-top:4px solid #ee8773 !important; box-shadow:0 22px 55px rgba(46,51,43,0.12) !important; padding:46px !important; max-width:980px !important; margin-left:auto !important; margin-right:auto !important; box-sizing:border-box !important; }
@media(max-width:860px){
  body.page-id-55862 .wc-root form.forminator-custom-form,
  body.page-id-55863 .wc-root form.forminator-custom-form,
  body.page-id-55864 .wc-root form.forminator-custom-form{ padding:26px !important; border-radius:18px !important; }
}

/* 32. Footer bottom bar align with footer content on mobile (top content is 20px, bar was 56px) */
@media(max-width:860px){
  .wc-root footer [style*="22px 56px"]{ padding-left:20px !important; padding-right:20px !important; }
}

/* 33. Form submit button hover - match site pill CTA hover (salmon -> cream) */
.wc-root form.forminator-custom-form button.forminator-button-submit{ transition:background .2s, color .2s !important; }
.wc-root form.forminator-ui.forminator-custom-form button.forminator-button-submit:hover, body[class*="page-id"] .forminator-ui.forminator-custom-form .forminator-button-submit:hover{ background:#f4f0e7 !important; color:#07110c !important; }

/* a11y widget: neutralize theme button decorations on the launcher */
#a11yw-launch::before,#a11yw-launch::after{display:none !important;content:none !important;}
