/* GZA 1.2.0 – three final layout fixes, no changes to Gutenberg markup or prices.
   1. Header: info bar remains in natural document flow; white nav only fixes after scroll.
   2. Hero: remove 160px desktop heading indentation at phone widths.
   3. Cards: existing 1.1.9 CSS keeps 4×2 grid, white cards, uniform photos.
*/
/* No sticky positioning is applied until the JavaScript observes scrolling past the info bar. */
body:not(.block-editor-page) :is(.gza-header-nav-clean,.gza-block-nav-shell) {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: 1000;
  width: 100%;
  box-sizing: border-box;
  box-shadow: 0 4px 14px rgba(15,29,22,.09);
}
body:not(.block-editor-page) :is(.gza-header-nav-clean,.gza-block-nav-shell).gza-is-sticky {
  position: fixed;
  left: 0;
  right: 0;
  top: var(--gza-sticky-top, 0px);
  z-index: 100000;
  width: 100%;
  margin-top: 0;
}
.gza-sticky-anchor {height: 0 !important;margin:0 !important;padding:0 !important;visibility:hidden;pointer-events:none;}
.gza-sticky-placeholder{height:0;margin:0;padding:0;pointer-events:none;}
/* In the existing Gutenberg header, the primary horizontal navigation appears here. */
.gza-header-nav-clean .wp-block-navigation-item__content {text-decoration: none;}
.gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open,
.gza-block-nav-shell .wp-block-navigation__responsive-container.is-menu-open {
  max-height: 100dvh;
  overflow-y: auto;
  z-index: 100001;
}
/* Keep menu toggle next to the logo at phone width, not on a separate row. */
@media(max-width:700px){
  .gza-header-nav-clean {padding: 12px 14px !important;}
  .gza-header-nav-clean > .wp-block-group.alignwide {
    display:flex;
    flex-wrap:nowrap !important;
    justify-content:space-between;
    align-items:center;
    gap:8px;
  }
  .gza-header-nav-clean > .wp-block-group.alignwide > .wp-block-group {
    flex:1 1 auto;
    min-width:0;
    flex-wrap:nowrap !important;
    gap:8px;
  }
  .gza-header-nav-clean > .wp-block-group.alignwide > .wp-block-group .gza-block-brand {
    min-width:0;
  }
  .gza-header-nav-clean .gza-block-brand .wp-block-site-title {
    font-size:clamp(13px,3.6vw,18px) !important;
    letter-spacing: .015em !important;
    line-height: 1.15;
  }
  .gza-header-nav-clean .gza-block-brand p {
    font-size: 9px !important;
    letter-spacing: .04em !important;
  }
  .gza-header-nav-clean .wp-block-image,
  .gza-header-nav-clean .wp-block-image img {
    width:42px;
    max-width:42px;
    height:auto;
    flex-shrink:0;
  }
  .gza-header-nav-clean .wp-block-navigation {
    width:auto !important;
    min-width:42px;
    flex:0 0 auto;
    margin:0;
  }
  .gza-header-nav-clean .wp-block-navigation__responsive-container-open {
    margin-left:auto;
  }
  .gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    padding-top: 36px !important;
  }
  .gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    width: 100%;
    gap:16px;
  }
  .gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    text-align: left !important;
  }
  /* ID 1431: original heading padding-left=160px and 1200px overlay cause clipping. */
  .gza-onepager-editable .gza-edit-hero .wp-block-gza-overlay-box {
    position: absolute;
    left: 16px !important;
    right: 16px !important;
    top: auto !important;
    bottom: 36px !important;
    transform:none !important;
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
    box-sizing:border-box;
  }
  .gza-onepager-editable .gza-edit-hero .wp-block-gza-overlay-box h1 {
    box-sizing:border-box;
    padding: 0 !important;
    margin: 0 !important;
    width:100% !important;
    max-width:100% !important;
    font-size: clamp(28px, 7.6vw, 36px) !important;
    line-height:1.13;
    overflow-wrap:break-word;
    hyphens:auto;
  }
  .gza-onepager-editable .gza-edit-hero .wp-block-cover__inner-container > .wp-block-group {
    max-width:100% !important;
    width:100% !important;
    margin-inline:0 !important;
  }
}
@media(max-width:450px){
  .gza-onepager-editable .gza-edit-hero .wp-block-gza-overlay-box h1 {
    font-size:28px !important;
  }
}

/* V1.2.1 - Mobile navigation overlay in muted translucent sage, replacing opaque white.
   Restrict to the current Gutenberg header. Leave the navigation markup editable. */
@media (max-width: 700px) {
  .gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open,
  .gza-block-nav-shell .wp-block-navigation__responsive-container.is-menu-open {
    background: rgba(240, 246, 241, .80) !important;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    color: #182720 !important;
  }
  .gza-header-nav-clean .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation-item__content, .wp-block-navigation-item__label),
  .gza-block-nav-shell .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation-item__content, .wp-block-navigation-item__label) {
    color: #182720 !important;
  }
}
