/* Header chrome — transparent over hero, solid on scroll / non-hero pages */
.gc-skip-link:focus {
  position: fixed; top: 8px; left: 8px; z-index: 1001;
  width: auto; height: auto; clip: auto; margin: 0;
  padding: 10px 16px; background: var(--gc-red); color: #fff;
}

.gc-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: transparent;
  transition: background-color .3s ease, box-shadow .3s ease;
}
.gc-header.is-scrolled,
body.gc-no-hero .gc-header {
  background: var(--gc-black);
  box-shadow: 0 2px 14px rgba(0,0,0,.35);
}
/* Non-hero pages: header takes layout space instead of overlaying. */
body.gc-no-hero { padding-top: var(--gc-header-height); }
body.gc-no-hero .gc-header { position: sticky; }

.gc-header__inner {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  min-height: var(--gc-header-height);
}

/* White cut-out logo sits in a black rounded chip (matches live design). */
.gc-header__logo {
  display: inline-flex; align-items: center;
  flex: 0 0 auto;
  background: var(--gc-black);
  padding: 8px 14px;
  border-radius: 10px;
}
.gc-header__logo-img { width: auto; height: 50px; }
.gc-header__logo-text { font-weight: 800; text-transform: uppercase; color: #fff; }

.gc-nav { margin-inline: auto; }
.gc-nav__menu {
  display: flex; align-items: center; gap: 2.25rem;
  list-style: none; margin: 0; padding: 0;
}
.gc-nav__menu a {
  font-weight: 800; text-transform: uppercase; font-size: .95rem;
  color: #fff; text-decoration: none; letter-spacing: .02em;
}
.gc-nav__menu a:hover,
.gc-nav__menu .current-menu-item > a { color: var(--gc-red); }

/* Dropdown (e.g. Parties) */
.gc-nav__menu li { position: relative; }
.gc-nav__menu .menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  width: .42em; height: .42em;
  margin-left: .5em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateY(-2px) rotate(45deg);
}
.gc-nav__menu .sub-menu {
  position: absolute;
  top: 100%; left: 50%;
  transform: translate(-50%, 8px);
  min-width: 220px;
  margin: 0; padding: .5rem 0;
  list-style: none;
  background: var(--gc-black);
  box-shadow: 0 14px 34px rgba(0,0,0,.35);
  opacity: 0; visibility: hidden;
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
  z-index: 101;
}
.gc-nav__menu .menu-item-has-children:hover > .sub-menu,
.gc-nav__menu .menu-item-has-children:focus-within > .sub-menu {
  opacity: 1; visibility: visible;
  transform: translate(-50%, 0);
}
.gc-nav__menu .sub-menu li { width: 100%; }
.gc-nav__menu .sub-menu a {
  display: block;
  padding: .65rem 1.35rem;
  font-size: .85rem;
  white-space: nowrap;
  color: #fff;
}
.gc-nav__menu .sub-menu a:hover { color: var(--gc-red); }

.gc-header__actions { display: flex; align-items: center; gap: 1rem; flex: 0 0 auto; }
.gc-header__cta { padding: 16px 28px; font-size: .95rem; }

/* Burger */
.gc-burger {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  width: 44px; height: 44px; padding: 0;
  background: transparent; border: 0; cursor: pointer;
}
.gc-burger span { display: block; height: 3px; width: 26px; background: #fff; transition: transform .25s ease, opacity .2s ease; }
.gc-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.gc-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.gc-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Off-canvas drawer */
.gc-drawer {
  position: fixed;
  inset: var(--gc-header-height) 0 auto auto;
  width: min(320px, 84vw);
  background: var(--gc-charcoal);
  padding: 1.5rem;
  transform: translateX(110%);
  transition: transform .3s ease;
  z-index: 99;
  max-height: calc(100vh - var(--gc-header-height));
  overflow-y: auto;
}
.gc-drawer.is-open { transform: translateX(0); }
.gc-drawer__menu { list-style: none; margin: 0 0 1.25rem; padding: 0; text-align: right; }
.gc-drawer__menu li { border-bottom: 1px solid rgba(255,255,255,.12); }
.gc-drawer__menu a {
  display: block; padding: .85rem 0;
  color: #fff; font-weight: 800; text-transform: uppercase; text-decoration: none;
}
.gc-drawer__menu a:hover { color: var(--gc-red); }
.gc-drawer__cta { width: 100%; text-align: center; }

/* Drawer: show submenu items indented under their parent. */
.gc-drawer__menu .sub-menu {
  list-style: none;
  margin: .25rem 0 .5rem;
  padding: 0;
}
.gc-drawer__menu .sub-menu li { border-bottom: 0; }
.gc-drawer__menu .sub-menu a {
  padding: .5rem 1rem .5rem 0;
  font-size: .9rem;
  font-weight: 700;
  opacity: .85;
}
.gc-drawer__menu .menu-item-has-children > a { opacity: .6; }

@media (max-width: 1024px) {
  .gc-nav, .gc-header__cta { display: none; }
  .gc-burger { display: flex; }
  .gc-header__actions { margin-left: auto; }
  .gc-header__logo-img { height: 42px; }
}
