/* ================================
   PROMENADE HEADER — SAFE + MOBILE FIX
   Desktop: logo left, menu right
   Mobile: let theme handle menu, keep toggle clickable
================================ */

/* Hide text title if logo exists */
#masthead.site-header .site-title{
  display:none;
}

/* Logo sizing (safe everywhere) */
#masthead.site-header a.site-logo-link{
  display:flex;
  align-items:center;
  margin:0;
}

#masthead.site-header img.site-logo{
  height:46px;
  width:auto;
  max-width:260px;
}

/* ================================
   DESKTOP ONLY LAYOUT
================================ */
@media (min-width: 981px){

  #masthead.site-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:10px 22px;
  }

  #masthead.site-header a.site-logo-link{
    flex:0 0 auto;
  }

  #masthead.site-header #site-navigation{
    margin:0;
    flex:1 1 auto;
    display:flex;
    justify-content:flex-end;
  }

  #masthead.site-header #site-navigation > ul.menu{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:10px 18px;
    margin:0;
    padding:0;
  }

  #masthead.site-header #site-navigation > ul.menu > li > a{
    padding:10px 0;
  }
}

/* ================================
   LUXURY CTA BUTTON (SAFE)
================================ */
#masthead.site-header li.menu-cta{
  display:flex;
  align-items:center;
}

#masthead.site-header li.menu-cta > a{
  background:linear-gradient(135deg,#d6b866 0%,#b89b3c 50%,#9f8430 100%);
  color:#111;
  padding:14px 36px;            /* a little more “gold” around the text */
  border-radius:999px;
  font-weight:600;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:0.1em;
  line-height:1.2;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.35),
    0 3px 10px rgba(0,0,0,0.35);
  transition:all 0.25s ease;
}

#masthead.site-header li.menu-cta > a:hover{
  background:linear-gradient(135deg,#e6c975 0%,#c9aa4a 50%,#b09338 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.45),
    0 6px 18px rgba(0,0,0,0.45);
  transform:translateY(-1px);
  color:#000;
}

#masthead.site-header li.menu-cta > a:active{
  transform:none;
}

/* If you see a tiny dark “box” behind the pill on hover, this removes it safely */
@media (min-width: 981px){
  #masthead.site-header li.menu-cta{
    background:transparent !important;
  }
}

/* ================================
   MOBILE FIX: keep hamburger clickable, do NOT fight theme JS
================================ */
@media (max-width: 980px){

  /* Let the theme’s normal mobile header layout happen */
  #masthead.site-header{
    display:block;
    position:relative;
  }

  /* Do NOT set #site-navigation to flex on mobile */
  #masthead.site-header #site-navigation{
    display:block;
    position:relative;
  }

  /* Keep the toggle above the sliding panel so it can always close */
  #masthead.site-header .site-navigation-toggle{
    position:relative;
    z-index:99999;
  }

  /* If the menu panel is overlaying everything, keep it under the toggle */
  #masthead.site-header #site-navigation > ul.menu{
    position:relative;
    z-index:99990;
  }
}
/* =========================================
   MOBILE: logo + hamburger same row
   AND opened menu is full width (not squished)
========================================= */
@media (max-width: 980px){

  /* Header row */
  #masthead.site-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 16px;
    position:relative; /* anchors the dropdown panel */
  }

  #masthead.site-header a.site-logo-link{
    flex:0 0 auto;
  }

  /* Keep hamburger clickable */
  #masthead.site-header .site-navigation-toggle{
    position:relative;
    z-index:10002;
    margin-left:auto;
  }

  /* Important: do NOT let nav become a skinny column */
  #masthead.site-header #site-navigation{
    position:static;   /* prevents child menu from being constrained */
    margin:0;
  }

  /* When the menu is open, make it a full width dropdown panel */
  #site-navigation.toggled > ul.menu,
  #site-navigation.is-open > ul.menu,
  #site-navigation > ul.menu.is-open,
  #site-navigation > ul.menu.is-active,
  #site-navigation .site-navigation-toggle[aria-expanded="true"] ~ ul.menu{
    position:absolute !important;
    left:0 !important;
    right:0 !important;
    top:100% !important;
    width:100% !important;
    max-width:none !important;

    background:#141414 !important;
    margin:0 !important;
    padding:14px 16px 18px !important;

    z-index:10001 !important;
    box-shadow:0 10px 30px rgba(0,0,0,0.45) !important;
  }

  /* Readable stacked items inside the open panel */
  #site-navigation.toggled > ul.menu > li,
  #site-navigation.is-open > ul.menu > li,
  #site-navigation > ul.menu.is-open > li,
  #site-navigation > ul.menu.is-active > li,
  #site-navigation .site-navigation-toggle[aria-expanded="true"] ~ ul.menu > li{
    display:block !important;
    width:100% !important;
    margin:0 !important;
  }

  #site-navigation.toggled > ul.menu > li > a,
  #site-navigation.is-open > ul.menu > li > a,
  #site-navigation > ul.menu.is-open > li > a,
  #site-navigation > ul.menu.is-active > li > a,
  #site-navigation .site-navigation-toggle[aria-expanded="true"] ~ ul.menu > li > a{
    display:flex !important;
    justify-content:space-between !important; /* keeps the + on the right */
    align-items:center !important;
    padding:14px 10px !important;
  }
}

/* reCAPTCHA v3 badge styling and placement */
.grecaptcha-badge{
  position: fixed !important;
  left: 12px !important;
  right: auto !important;
  bottom: 35px !important;

  z-index: 2147483647 !important;

  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 10px rgba(0,0,0,0.25) !important;

  transform: scale(0.5) !important;
  transform-origin: left bottom !important;
  opacity: 0.8 !important;
}

/* Disclosure text styling (only affects the footer HTML block) */
.recaptcha-disclosure{
  font-size: 12px;
  color: #777;
  text-align: center;
  margin: 12px 0;
}
.recaptcha-disclosure a{
  color: #777;
  text-decoration: underline;
}
/* Force true centering even inside narrow theme footer columns */
.recaptcha-disclosure-wrap{
  text-align: center !important;
  width: 100% !important;
  padding: 12px 0 !important;
}

.recaptcha-disclosure{
  display: inline-block !important; /* key */
  font-size: 12px !important;
  color: #777 !important;
  line-height: 1.4 !important;
}

.recaptcha-disclosure a{
  color: inherit !important;
  text-decoration: underline !important;
}
/* Footer widgets: force centering for the widget area */
.site-footer .footer-widgets,
.site-footer .footer-widgets .widget-area,
.site-footer .footer-widgets .widget{
  text-align: center !important;
}

/* If the footer widgets row is flex, center the columns */
.site-footer .footer-widgets .row,
.site-footer .footer-widgets .columns,
.site-footer .footer-widgets .wp-block-columns{
  justify-content: center !important;
}
.site-footer .footer-widgets .widget .recaptcha-disclosure-wrap{
  width: 100% !important;
}
/* Center the footer widget column that holds the reCAPTCHA disclosure */
.site-footer .block-grid-item:has(.recaptcha-disclosure-wrap){
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
/* Force the reCAPTCHA disclosure widget to center correctly in Promenade block-grid */
footer .block-grid-item:has(.recaptcha-disclosure-wrap){
  /* grid and flex safety */
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;

  /* make it full-width so "center" means center of the page */
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;

  text-align: center !important;
}

footer .block-grid-item:has(.recaptcha-disclosure-wrap) .recaptcha-disclosure-wrap{
  width: 100% !important;
  text-align: center !important;
}
.grecaptcha-badge{
  visibility: hidden !important;
}

