/* =====================
   HEADER — dark green, rounded capsule bottom
   ===================== */
#masthead,.site-header,.ast-site-header-wrap,.main-header-bar,.ast-main-header-wrap,.ast-desktop-header{
  background:#163D0A !important;border-radius:0 0 40px 40px !important;box-shadow:0 6px 24px rgba(0,0,0,.18) !important;border-bottom:none !important;
}
.site-title a,.ast-site-name-text,.ast-site-title-wrap a{color:#fff !important;font-size:26px !important;font-weight:800 !important;letter-spacing:-.02em !important;}
.site-description,.ast-site-description{color:rgba(255,255,255,.45) !important;font-size:11px !important;letter-spacing:.07em !important;text-transform:uppercase !important;}
.custom-logo{max-height:75px !important;width:auto !important;}
.main-header-bar{padding-top:12px !important;padding-bottom:12px !important;}

/* =====================
   DESKTOP NAV
   ===================== */
.main-header-bar .main-navigation a,.main-header-bar .menu-item a,.ast-nav-menu > li > a,.main-header-menu a{
  color:rgba(255,255,255,.9) !important;font-size:16px !important;font-weight:600 !important;padding:9px 15px !important;
}
.main-header-bar .menu-item a:hover,.ast-nav-menu > li > a:hover{color:#8FD44A !important;background:rgba(255,255,255,.08) !important;border-radius:8px !important;}
.main-header-bar .current-menu-item > a,.ast-nav-menu > li.current-menu-item > a{color:#8FD44A !important;font-weight:700 !important;}
.main-header-bar .sub-menu,.main-navigation .sub-menu{background:#163D0A !important;border:1px solid rgba(255,255,255,.1) !important;border-radius:16px !important;box-shadow:0 8px 28px rgba(0,0,0,.25) !important;padding:6px !important;min-width:200px !important;width:auto !important;}
.main-header-bar .sub-menu a,.main-navigation .sub-menu li a{color:rgba(255,255,255,.85) !important;font-size:13px !important;font-weight:500 !important;line-height:1.4 !important;border-radius:8px !important;border-bottom:none !important;padding:6px 16px !important;}
.main-header-bar .sub-menu a:hover,.main-navigation .sub-menu li a:hover{background:rgba(255,255,255,.1) !important;color:#8FD44A !important;}
#masthead,.main-header-bar-wrap,.main-header-bar,.ast-primary-header-bar,.ast-builder-grid-row-container,.ast-builder-grid-row-container-inner,.site-header{overflow:visible !important;position:relative !important;z-index:99999 !important;}
.main-navigation .sub-menu{position:absolute !important;z-index:99999 !important;}
.home .entry-content,.home .wp-block-image{position:relative !important;z-index:1 !important;}
.ast-search-icon,.ast-header-search .ast-search-icon{color:rgba(255,255,255,.8) !important;fill:rgba(255,255,255,.8) !important;}

/* =====================
   MOBILE HEADER + MENU
   ===================== */
.ast-header-break-point .main-header-bar{background:#163D0A !important;border-radius:0 0 28px 28px !important;}
.ast-mobile-menu-buttons .menu-toggle,.ast-header-break-point .ast-mobile-menu-buttons button{color:#fff !important;}
.ast-mobile-menu-buttons svg,.ast-header-break-point .ast-mobile-menu-buttons svg{fill:#fff !important;stroke:#fff !important;}
.ast-header-break-point #ast-mobile-header,.ast-header-break-point .ast-mobile-header-wrap,.ast-header-break-point .ast-mobile-header-content,.ast-header-break-point .ast-mobile-popup-drawer,.ast-header-break-point .ast-mobile-popup-content,.ast-header-break-point .main-header-bar-navigation,.ast-header-break-point .main-navigation,.ast-header-break-point ul.main-header-menu,.ast-header-break-point ul.ast-nav-menu,.ast-header-break-point .main-header-menu .menu-item,.ast-header-break-point .main-header-menu .menu-item > a,.ast-header-break-point .main-header-menu .sub-menu,.ast-header-break-point .main-header-menu .sub-menu .menu-item{background-color:#163D0A !important;}
.ast-header-break-point .main-header-menu .sub-menu .menu-item > a{background-color:#1e4a14 !important;}
.ast-header-break-point .main-header-bar-navigation a,.ast-header-break-point #ast-mobile-header a,.ast-header-break-point .main-header-menu .menu-link,.ast-header-break-point .main-navigation a{color:#fff !important;font-size:18px !important;font-weight:600 !important;}
.ast-header-break-point .main-header-menu .menu-item a{border-bottom:1px solid rgba(255,255,255,.08) !important;padding:14px 20px !important;}
.ast-header-break-point .main-header-menu .menu-item > a:hover,.ast-header-break-point .main-header-menu .current-menu-item > a{color:#8FD44A !important;}
.ast-header-break-point .ast-mobile-menu-buttons button,.ast-header-break-point .ast-mobile-menu-buttons svg,.ast-header-break-point .menu-toggle,.ast-header-break-point .ast-menu-toggle,.ast-header-break-point .ast-close-svg{color:#fff !important;fill:#fff !important;}
.ast-header-break-point .ast-mobile-popup-drawer,.ast-header-break-point .ast-mobile-popup-drawer .ast-mobile-popup-inner,.ast-header-break-point .ast-mobile-popup-content,.ast-header-break-point .ast-mobile-header-content,.ast-header-break-point #ast-mobile-header{width:100vw !important;max-width:100vw !important;left:0 !important;right:0 !important;margin:0 !important;}
.ast-header-break-point .ast-menu-toggle,.ast-header-break-point .menu-item-has-children > .ast-menu-toggle{background:transparent !important;box-shadow:none !important;border:none !important;color:#fff !important;fill:#fff !important;}

/* =====================
   SEARCH BAR — clean Costa style
   ===================== */
form[role="search"],.is-search-form,.ivory-search-form,.ast-search-menu-icon .search-form{max-width:900px !important;margin:14px auto !important;background:transparent !important;border:none !important;box-shadow:none !important;}
input[type="search"],input.search-field,.is-search-input,.ivory-search-input,.ast-search-menu-icon .search-field{
  width:100% !important;max-width:none !important;border:none !important;border-bottom:2px solid #4FAA2A !important;border-radius:0 !important;
  background:#ffffff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%232f3e2a" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="7"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg>') no-repeat 14px center !important;
  background-size:20px 20px !important;box-shadow:none !important;outline:none !important;color:#2f3e2a !important;font-size:1.15rem !important;padding:13px 14px 13px 46px !important;height:auto !important;margin:0 !important;
}
input[type="search"]::placeholder,.is-search-input::placeholder,.ivory-search-input::placeholder,.search-field::placeholder{color:#6b7a63 !important;opacity:1 !important;}
form:has(input[type="search"]) button,form:has(input[type="search"]) input[type="submit"],.is-search-submit,.ivory-search-submit,.ast-search-menu-icon .search-submit,button.search-submit{display:none !important;}

/* =====================
   FOOTER
   ===================== */
.mf-fw{background:#0F2010;padding:72px 56px 0;font-family:system-ui,Arial,sans-serif}
.mf-fg{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:52px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.08)}
.mf-logo{font-size:26px;font-weight:700;color:#fff;display:flex;align-items:center;gap:10px;margin-bottom:16px}
.mf-dot{width:14px;height:14px;border-radius:50%;background:#4FAA2A;flex-shrink:0;display:inline-block}
.mf-tag{font-size:15px;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:16px}
.mf-addr{font-size:14px;color:rgba(255,255,255,.3);line-height:2;margin-bottom:24px}
.mf-soc{display:flex;gap:12px}
.mf-sb{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;font-weight:700;font-family:Arial,sans-serif}
.mf-ch{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:20px}
.mf-lnk{display:block;font-size:15px;color:rgba(255,255,255,.5);text-decoration:none;margin-bottom:13px}
.mf-lnk:hover{color:#4FAA2A}
.mf-bot{padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:13px;color:rgba(255,255,255,.25);flex-wrap:wrap;gap:10px}
.mf-bot a{color:rgba(255,255,255,.25);text-decoration:none}
.mf-btr{display:flex;gap:16px;align-items:center}
@media(max-width:900px){.mf-fg{grid-template-columns:1fr 1fr;gap:36px}.mf-fw{padding:56px 32px 0}}
@media(max-width:540px){.mf-fg{grid-template-columns:1fr;gap:32px}.mf-fw{padding:44px 20px 0}.mf-logo{font-size:22px}.mf-bot{flex-direction:column;text-align:center}.mf-btr{justify-content:center}}

/* ============================================================
   MOBILE OVERRIDES  (keep this block LAST)
   ============================================================ */
html,body{overflow-x:hidden !important;max-width:100% !important;}
img,video,iframe{max-width:100% !important;height:auto;}
.mfh-band,.mfc-band,.mfa-band,.mfh-hero,.mfc-hero,.mfa-hero{max-width:100vw !important;}

/* Full-bleed footer on every screen */
.mf-fw{position:relative !important;left:50% !important;right:50% !important;margin-left:-50vw !important;margin-right:-50vw !important;width:100vw !important;max-width:100vw !important;}

/* Hide Astra's built-in search on mobile (we inject our own box) */
.ast-header-break-point .ast-search-menu-icon,
.ast-header-break-point .ast-search-icon,
.ast-header-break-point .ast-search-menu-icon .search-form{display:none !important;}

/* Injected search box: mobile only (desktop keeps the magnifier icon) */
.mf-msearch-wrap{display:none !important;}
.ast-header-break-point .mf-msearch-wrap{display:block !important;}

/* Force-hide any leftover Astra/Ivory search icon in the mobile menu
   (keeps only our injected .mf-msearch box) */
.ast-header-break-point .main-header-bar [class*="search"]:not(.mf-msearch-wrap):not(.mf-msearch-input),
.ast-header-break-point .main-header-bar-navigation [class*="search"]:not(.mf-msearch-wrap):not(.mf-msearch-input),
.ast-header-break-point #ast-mobile-header [class*="search"]:not(.mf-msearch-wrap):not(.mf-msearch-input),
.ast-header-break-point .ast-mobile-popup-drawer [class*="search"]:not(.mf-msearch-wrap):not(.mf-msearch-input),
.ast-header-break-point .ast-mobile-popup-content [class*="search"]:not(.mf-msearch-wrap):not(.mf-msearch-input){
  display:none !important;
}