/* ============================================================
   Chrome — header, footer, mobile menu, sticky CTA
   ============================================================ */

/* Skip link target */
#gk-main { scroll-margin-top: 70px; }

/* Enforce the HTML hidden attribute (global.css sets img{display:block} which wins without !important) */
img[hidden], svg[hidden], video[hidden], [hidden] { display: none !important; }

/* ----- Header ----- */
.gk-header {
  position: fixed; top: 0; left: 0; right: 0; z-index: 50;
  transition: background-color .3s, border-color .3s, box-shadow .3s;
  background: transparent;
  border-bottom: 1px solid transparent;
}
.gk-header.is-scrolled,
body:not(.home):not(.has-gk-dark-hero) .gk-header {
  background: #fff;
  border-bottom-color: var(--gk-bd);
  box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
body:not(.home):not(.has-gk-dark-hero) .gk-hdr-lnk,
body:not(.home):not(.has-gk-dark-hero) .gk-hdr-cta { color: var(--gk-vo); border-color: var(--gk-vc); }
body:not(.home):not(.has-gk-dark-hero) .gk-hdr-cta { color: var(--gk-vc); }
body:not(.home):not(.has-gk-dark-hero) .gk-logo-w,
body:not(.home):not(.has-gk-dark-hero) .gk-menu-w { display: none; }
body:not(.home):not(.has-gk-dark-hero) .gk-logo-g,
body:not(.home):not(.has-gk-dark-hero) .gk-menu-g { display: inline; }
.gk-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  height: 70px; padding: 0 2rem;
}
@media (min-width: 1024px) { .gk-header__inner { padding: 0 4rem; } }
.gk-header__logo img { height: 32px; }
.gk-header__nav { display: none; align-items: center; gap: 2.5rem; }
@media (min-width: 1024px) { .gk-header__nav { display: flex; } }
.gk-hdr-lnk { color: #fff; font-size: 15px; transition: opacity .2s, color .3s; cursor: pointer; display: inline-flex; align-items: center; gap: .25rem; }
.gk-hdr-lnk:hover { opacity: .8; }
.gk-hdr-lnk.is-dark { color: var(--gk-vo); }
.gk-hdr-lnk svg { width: 12px; height: 12px; }
.gk-header__right { display: flex; align-items: center; gap: 1rem; }
.gk-hdr-cta {
  display: none;
  align-items: center; gap: .5rem;
  border: 1px solid #fff; color: #fff; padding: .5rem 1.5rem;
  border-radius: 8px; font-size: 15px; transition: background-color .2s, color .2s, border-color .3s;
}
@media (min-width: 1024px) { .gk-hdr-cta { display: inline-flex; } }
.gk-hdr-cta:hover { background: #fff; color: var(--gk-vo); }
.gk-hdr-cta.is-dark { border-color: var(--gk-vc); color: var(--gk-vc); }
.gk-hdr-cta.is-dark:hover { background: var(--gk-vc); color: #fff; }
.gk-hdr-cta img { width: 16px; height: 16px; }
.gk-menu-btn { background: transparent; border: 0; padding: 0; }
.gk-menu-btn img { width: 32px; height: 32px; }

/* ----- Mobile menu ----- */
.gk-mob-menu {
  position: fixed; inset: 0; z-index: 60;
  background: var(--gk-vo); color: #fff;
  transform: translateX(100%);
  transition: transform .5s ease-in-out;
  overflow-y: auto;
}
.gk-mob-menu.is-open { transform: translateX(0); }
.gk-mob-menu__close-wrap { display: flex; justify-content: flex-end; padding: 1.5rem; }
.gk-mob-menu__close { background: transparent; border: 0; color: #fff; font-size: 2.5rem; line-height: 1; }
.gk-mob-menu__nav { display: flex; flex-direction: column; gap: 1rem; padding: 0 2rem 3rem; }
.gk-mob-menu__nav a { font-size: 2rem; font-weight: 600; }
.gk-mob-menu__foot { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.2); }
.gk-mob-menu__foot p { font-size: 14px; opacity: .6; margin: 0 0 1rem; }
.gk-mob-menu__foot .gk-btn { border-radius: 999px; }

/* ----- Footer ----- */
.gk-footer {
  background: var(--gk-vo); color: #fff;
  padding: 2rem;
}
@media (min-width: 1024px) { .gk-footer { padding: 2rem 5rem; } }
.gk-footer__inner {
  display: flex; flex-direction: column; align-items: center; gap: 1rem;
  font-size: 14px; text-transform: uppercase; letter-spacing: 0.05em;
}
@media (min-width: 1024px) { .gk-footer__inner { flex-direction: row; justify-content: space-between; } }
.gk-footer a:hover, .gk-footer button:hover { opacity: .8; }
.gk-footer button { background: transparent; border: 0; color: inherit; text-transform: inherit; letter-spacing: inherit; font-size: inherit; cursor: pointer; }
.gk-footer__copy { opacity: .6; }

/* ----- Sticky CTA ----- */
.gk-sticky-cta {
  position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
  z-index: 40;
  display: flex; align-items: center; justify-content: center; gap: 1.5rem;
  padding: .75rem 1.5rem;
  background: var(--gk-vo); color: #fff;
  border-radius: 12px 12px 0 0;
  max-width: 700px; width: 90%;
}
.gk-sticky-cta__msg { display: none; font-size: 14px; color: #fff; margin: 0; }
@media (min-width: 1024px) { .gk-sticky-cta__msg { display: block; } }
.gk-sticky-cta__actions { display: flex; align-items: center; gap: .75rem; }
.gk-sticky-close { background: transparent; border: 0; padding: 0; margin-left: .25rem; opacity: .6; cursor: pointer; }
.gk-sticky-close:hover { opacity: 1; }
.gk-sticky-close img { width: 20px; height: 20px; filter: invert(1); }
.gk-sticky-cta img.gk-sticky-icon { width: 16px; height: 16px; }
