/* 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; }


/* 13. Accessibility widget icon fix — remove green overlay hiding the icon */
#a11yw-launch::before { display: none !important; }
#a11yw-launch svg { fill: #ffffff !important; opacity: 1 !important; }
#a11yw-launch svg circle { r: 2px !important; cx: 12px !important; cy: 4px !important; }  /* restore missing head */


/* 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; }
  .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;}
}
