/* =========================================================================
   Good Creations Theme Support v1.7 (2026-10-30): site update after the
   10/28 website review. Loaded on every front-end page after
   gc-theme-support.css (and after gc-interior.css on block pages).
   1. Desktop dropdowns: short hide delay so a flyout stays open while the
      pointer travels to it (the "menu disappears" bug)
   2. Mobile menu: collapsible sections in the overlay (tap the chevron)
   3. Held sections (.gc-hold): hidden unless ?review=1 is on the URL
   4. Product hero on product pages (.gc-wi-prod moved from the home page)
   5. Home accuracy / 40 years section (.gc-wi-acc40)
   6. Hub cards (Resources, How to buy, ecosystem)
   ========================================================================= */

/* 1. Desktop dropdowns ------------------------------------------------------
   Core hides a submenu with width/height 0 the instant the pointer leaves its
   parent item. On a diagonal path to a nested flyout the pointer crosses the
   next item first, so the flyout vanished before it could be reached. Keep
   the hidden state the same size and fade it out after a short delay; open
   is still instant. */
.wp-block-navigation__responsive-container:not(.is-menu-open) .has-child > .wp-block-navigation__submenu-container {
  width: auto !important;
  height: auto !important;
  min-width: 200px;
  overflow: visible !important;
  transition: opacity .12s linear .3s, visibility 0s linear .42s !important;
}
.wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container:not(.is-menu-open) .has-child:not(.open-on-click):focus-within > .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container:not(.is-menu-open) .has-child > .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
  transition: opacity .1s linear 0s, visibility 0s linear 0s !important;
  z-index: 30;
}

/* 2. Mobile menu overlay --------------------------------------------------- */
.wp-block-navigation__responsive-container .gc-subtoggle { display: none; }
.wp-block-navigation__responsive-container.is-menu-open li.has-child {
  flex-direction: row !important;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  column-gap: 2px;
}
.wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-submenu__toggle { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation__submenu-container { flex-basis: 100%; }
.wp-block-navigation__responsive-container.is-menu-open li.has-child:not(.gc-open) > .wp-block-navigation__submenu-container { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .gc-subtoggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.wp-block-navigation__responsive-container.is-menu-open .gc-subtoggle svg { width: 14px; height: 14px; transition: transform .2s ease; }
.wp-block-navigation__responsive-container.is-menu-open li.gc-open > .gc-subtoggle svg { transform: rotate(180deg); }
.wp-block-navigation__responsive-container.is-menu-open li.has-child > .wp-block-navigation-item__content { flex-grow: 0 !important; width: auto !important; }
.wp-block-navigation__responsive-container.is-menu-open li.has-child li.has-child > .wp-block-navigation-item__content { opacity: .85; }

/* 3. Held sections ---------------------------------------------------------- */
/* HIDE BEFORE GO-LIVE: the cloud / weight-data sections carry class gc-prelaunch
   (home "Measured once, read everywhere", ecosystem "The Air-Weigh cloud").
   They are visible on DEV for review. To hide them all, uncomment the next line:
   .gc-prelaunch { display: none !important; } */
body:not(.gc-review) .gc-hold { display: none !important; }
body.gc-review .gc-hold { outline: 3px dashed var(--aw-gold); outline-offset: -3px; }

/* 4. Product hero on product pages ----------------------------------------- */
body.gc-interior .gc-wi.gc-wi-prod .gc-name { font-size: clamp(44px, 5vw, 76px) !important; font-weight: 700; letter-spacing: -0.02em; line-height: 1 !important; margin: 0; }
body.gc-interior .gc-wi.gc-wi-prod .gc-prod-tag,
.gc-wi.gc-wi-prod .gc-prod-tag { font-size: clamp(30px, 3.2vw, 48px) !important; font-weight: 600; line-height: 1.06 !important; letter-spacing: -0.016em; }
body.gc-interior .gc-wi.gc-wi-prod .wp-block-list li { font-size: 17px; }
body.gc-interior .gc-wi.gc-wi-prod h1 sup { font-size: .5em; vertical-align: super; line-height: 0; }
/* 4b. TEST 2026-10-30 v2 (Bob): product heroes at 70vh on desktop, ONLY on /iweigh/ (230062),
   /quickweigh/ (230054), /binmaxx/ (230041). Tighter padding and spacing, image capped at 55vh.
   Phones (<782px) keep auto height. Very short windows (<560px tall) fall back to auto height.
   To revert: delete this whole 4b block (down to "end 4b"). */
@media (min-width: 782px) {
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi.gc-wi-prod {
    height: 70vh !important; max-height: 70vh !important; min-height: 0 !important;
    padding-top: clamp(16px, 3vh, 36px) !important; padding-bottom: clamp(16px, 3vh, 36px) !important;
    display: flex !important; align-items: center; overflow: hidden; box-sizing: border-box;
  }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod > .wp-block-columns { gap: clamp(24px, 3vw, 56px); max-height: 100%; align-items: center !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .wp-block-column > * { margin-top: 0 !important; margin-bottom: 0 !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .wp-block-column > * + * { margin-top: clamp(6px, 1.3vh, 16px) !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi.gc-wi-prod .gc-name { font-size: clamp(40px, 6vh, 72px) !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi.gc-wi-prod .gc-prod-tag { font-size: clamp(26px, 4vh, 44px) !important; margin-top: clamp(2px, .6vh, 8px) !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod p { font-size: clamp(15px, 1.9vh, 18px); line-height: 1.45; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .wp-block-list li { font-size: clamp(14px, 1.75vh, 17px) !important; line-height: 1.4; margin: 0 !important; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .gc-apps img { height: clamp(30px, 4vh, 42px); }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .gc-partners img { height: clamp(18px, 2.4vh, 24px); }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .gc-shot { text-align: center; }
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi-prod .gc-shot img { width: auto !important; max-width: 100%; max-height: 55vh; aspect-ratio: auto !important; object-fit: contain; }
  body.page-id-230062 .gc-wi-prod .iwx-right { max-height: 58vh; }
  body.page-id-230062 .gc-wi-prod .iwx-halo img { max-height: 30vh; width: auto; max-width: 100%; }
  body.page-id-230062 .gc-wi-prod .iwx-fan { margin-top: -3vh !important; }
  body.page-id-230062 .gc-wi-prod .iwx-fan img { max-height: 28vh; width: auto !important; }
}
@media (min-width: 782px) and (max-height: 559px) {
  :is(body.page-id-230062, body.page-id-230054, body.page-id-230041) .gc-wi.gc-wi-prod { height: auto !important; max-height: none !important; overflow: visible; }
}
/* end 4b */

/* 5. Home: 40 years of on-board weighing ----------------------------------- */
.gc-wi.gc-wi-acc40 .gc-acc-head { max-width: 900px; }
.gc-wi.gc-wi-acc40 .gc-acc-cols { margin-top: 44px !important; gap: 40px; }
.gc-wi.gc-wi-acc40 .gc-acc-cols > .wp-block-column { border-top: 3px solid var(--aw-blue); padding-top: 22px; }
.gc-wi.gc-wi-acc40 .gc-acc-cols h3 { font-size: clamp(20px, 1.7vw, 25px); line-height: 1.2; margin: 0 0 10px; }
.gc-wi.gc-wi-acc40 .gc-acc-cols p { margin: 0; }
.gc-wi.gc-wi-acc40 .wp-block-buttons { margin-top: 36px !important; }
@media (max-width: 781px) { .gc-wi.gc-wi-acc40 .gc-acc-cols { gap: 28px; } }

/* 6. Hub cards ---------------------------------------------------------------- */
.gc-wi .gc-hub { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 36px !important; }
.gc-wi .gc-hub > * { margin: 0 !important; }
.gc-wi .gc-hub-card { background: #fff; border: 1px solid var(--aw-rule); border-top: 4px solid var(--aw-blue); padding: 26px 26px 24px; display: flex; flex-direction: column; }
.gc-wi .gc-hub-card > * + * { margin-top: 10px !important; }
.gc-wi .gc-hub-card h3 { font-size: clamp(19px, 1.5vw, 22px) !important; line-height: 1.25; margin: 0; }
.gc-wi .gc-hub-card p { font-size: 16px; color: var(--aw-text-dark); }
.gc-wi .gc-hub-card .gc-go { margin-top: auto !important; padding-top: 12px; font-weight: 600; }
.gc-wi .gc-hub-card.gc-hub-feature { grid-column: 1 / -1; background: var(--aw-navy); border: 0; border-top: 4px solid var(--aw-gold); }
.gc-wi .gc-hub-card.gc-hub-feature :is(h3, p, a) { color: #fff; }
.gc-wi .gc-hub-card.gc-hub-feature .gc-go a { color: var(--aw-gold); }
.is-style-aw-mist .gc-hub-card { background: #fff; }
@media (max-width: 1000px) { .gc-wi .gc-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gc-wi .gc-hub { grid-template-columns: 1fr; } }

/* 7. Blue outline buttons (Style "aw-blue-line"), 2026-10-30 -------------------
   gc-interior.css forces their text to blue with !important, so on hover the
   button turned solid blue and the label vanished. Hover and keyboard focus now
   match the solid blue button: blue fill, white text. Applies everywhere the
   style is used, light and dark sections. */
body .wp-block-button.is-style-aw-blue-line .wp-block-button__link:is(:hover, :focus, :focus-visible),
body .gc-wi .wp-block-button.is-style-aw-blue-line .wp-block-button__link:is(:hover, :focus, :focus-visible),
body .gc-wi :is(.is-style-aw-navy, .is-style-aw-navy-fade, .is-style-aw-blue, .is-style-aw-green, .is-style-aw-gold-band) .wp-block-button.is-style-aw-blue-line .wp-block-button__link:is(:hover, :focus, :focus-visible) {
  background: var(--aw-blue) !important;
  border-color: var(--aw-blue) !important;
  color: #fff !important;
}
body .wp-block-button.is-style-aw-blue-line .wp-block-button__link:focus-visible { outline: 2px solid var(--aw-blue); outline-offset: 3px; }

/* 8. Rewrites 2026-10-30 ---------------------------------------------------------
   Solutions photo tiles (.gc-wi-browse / .gc-tilegrid / .gc-tilecard), support link
   lists (.gc-linklist), 4-up hub (.gc-hub-4), next-step bands (.gc-wi-nextstep),
   narrow text sections (.gc-narrow). */
.gc-wi.gc-wi-browse > h2 { margin-bottom: 0 !important; }
.gc-wi.gc-wi-browse .gc-tilegrid-head2 { margin-top: 64px !important; }
.gc-wi .gc-tilegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px; margin-top: 28px !important; }
@media (max-width: 1100px) and (min-width: 641px) { .gc-wi .gc-tilegrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gc-wi .gc-tilegrid > * { margin: 0 !important; }
.gc-wi .gc-tilecard { position: relative; background: var(--aw-card-dark); border: 1px solid rgba(255,255,255,.08); border-radius: 4px; overflow: hidden; display: flex; flex-direction: column; transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease; }
.gc-wi .gc-tilecard > * + * { margin-top: 0 !important; }
.gc-wi .gc-tilecard .gc-tile-photo { margin: 0 !important; }
.gc-wi .gc-tilecard .gc-tile-photo img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.gc-wi .gc-tilecard h3 { font-size: 19px !important; line-height: 1.25; margin: 16px 18px 6px !important; }
.gc-wi .gc-tilecard h3 a { color: #fff; text-decoration: none; }
.gc-wi .gc-tilecard h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }   /* whole card is the link */
.gc-wi .gc-tilecard p { font-size: 15px; line-height: 1.45; color: var(--aw-text-light); margin: 0 18px 18px !important; }
.gc-wi .gc-tilecard:hover { transform: translateY(-3px); border-color: var(--aw-cyan); box-shadow: 0 12px 28px rgba(0,0,0,.35); }
.gc-wi .gc-tilecard:focus-within { outline: 2px solid var(--aw-cyan); outline-offset: 2px; }
.gc-wi .gc-tilecard:hover h3 a { color: var(--aw-cyan); }
@media (max-width: 640px) { .gc-wi .gc-tilegrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .gc-wi .gc-tilecard h3 { font-size: 16px !important; margin: 12px 12px 4px !important; } .gc-wi .gc-tilecard p { font-size: 14px; margin: 0 12px 14px !important; } }
@media (max-width: 380px) { .gc-wi .gc-tilegrid { grid-template-columns: 1fr; } }

.gc-wi ul.gc-linklist { list-style: none; padding: 0; margin: 4px 0 0 !important; }
.gc-wi ul.gc-linklist li { font-size: 15px; padding: 7px 0; border-top: 1px solid var(--aw-rule); margin: 0 !important; }
.gc-wi ul.gc-linklist a { font-weight: 600; }
.gc-wi .gc-hub.gc-hub-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) { .gc-wi .gc-hub.gc-hub-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) { .gc-wi .gc-hub.gc-hub-4 { grid-template-columns: 1fr; } }
.gc-wi.gc-wi-nextstep .gc-hub-card :is(h3, p) { color: var(--aw-ink); }
.gc-wi.gc-wi-nextstep .gc-hub-card p { color: var(--aw-text-dark); }
.gc-wi.gc-narrow > * { max-width: 880px; }
.gc-wi .gc-hub-card:not(.gc-hub-feature) .gc-go a { color: var(--aw-blue); }   /* readable link blue on white cards */
