/* G2G Cinemas Global Header — scoped styles */
.g2g-gh, .g2g-gh * { box-sizing: border-box; }
.g2g-gh {
  --g2g-ink: #17212b;
  --g2g-muted: #697586;
  --g2g-gold: #f05a12;
  --g2g-gold-dark: #d94708;
  --g2g-line: #e8ebef;
  position: sticky;
  top: 0;
  z-index: 99990;
  width: 100%;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--g2g-line);
  box-shadow: 0 5px 24px rgba(24,34,45,.045);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: var(--g2g-ink);
}
body.admin-bar .g2g-gh { top: 32px; }
.g2g-gh-inner {
  max-width: 1320px;
  min-height: 86px;
  padding: 12px 28px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}
.g2g-gh-brand {
  min-width: 205px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none !important;
  color: var(--g2g-ink) !important;
}
.g2g-gh-brand-copy { display:flex; flex-direction:column; gap:3px; }
.g2g-gh-brand-name { font-size: 20px; line-height: 1.05; font-weight: 850; letter-spacing: -.55px; color: var(--g2g-ink); }
.g2g-gh-tagline { color: var(--g2g-muted); font-size: 10px; line-height: 1.2; letter-spacing: .55px; }
.g2g-gh-monogram {
  width: 48px; height: 48px; flex: 0 0 48px;
  display: inline-flex; align-items:center; justify-content:center;
  border-radius: 15px 5px 15px 5px;
  background: linear-gradient(135deg, #1d2935, #0f151b);
  color: #f3d27a; font-weight: 950; letter-spacing: -1px; font-size: 16px;
  box-shadow: 0 5px 12px rgba(18,26,34,.16);
}
.g2g-gh-logo { display:block; width:auto; max-width:190px; max-height:62px; object-fit:contain; }
.g2g-gh-brand .custom-logo-link { display:inline-flex; align-items:center; }
.g2g-gh-brand .custom-logo { display:block; width:auto; max-width:190px; max-height:62px; }
.g2g-gh-nav { display:flex; align-items:center; justify-content:flex-end; gap:28px; flex:1; }
.g2g-gh-links { display:flex; align-items:center; gap:clamp(16px,2.1vw,32px); list-style:none; padding:0; margin:0; }
.g2g-gh-links li { margin:0; padding:0; }
.g2g-gh-links a {
  position:relative; display:inline-flex; align-items:center; min-height:42px;
  color:#4b5563 !important; text-decoration:none !important;
  font-size:13px; font-weight:700; letter-spacing:.05px; white-space:nowrap;
  transition:color .2s ease;
}
.g2g-gh-links a::after {
  content:""; position:absolute; left:0; right:100%; bottom:4px; height:2px;
  background:var(--g2g-gold); transition:right .22s ease;
}
.g2g-gh-links a:hover, .g2g-gh-links a:focus-visible, .g2g-gh-links a[aria-current="page"] { color:var(--g2g-ink) !important; }
.g2g-gh-links a:hover::after, .g2g-gh-links a:focus-visible::after, .g2g-gh-links a[aria-current="page"]::after { right:0; }
.g2g-gh-actions { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.g2g-gh-showtimes, .g2g-gh-ticket {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:44px; padding:0 17px; border-radius:8px;
  font-size:12px; font-weight:800; text-decoration:none !important; white-space:nowrap;
  transition:transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.g2g-gh-showtimes { color:var(--g2g-ink) !important; background:#f7f8fa; border:1px solid #e9edf1; }
.g2g-gh-showtimes:hover { background:#eef1f4; transform:translateY(-1px); }
.g2g-gh-live-dot { width:7px; height:7px; border-radius:50%; background:#2eaa70; box-shadow:0 0 0 3px rgba(46,170,112,.12); }
.g2g-gh-ticket { color:#fff !important; background:#f05a12; box-shadow:0 5px 12px rgba(240,90,18,.22); }
.g2g-gh-ticket span { color:#fff; font-size:15px; }
.g2g-gh-ticket:hover { background:#d94708; transform:translateY(-1px); box-shadow:0 8px 18px rgba(23,33,43,.18); }
.g2g-gh-toggle { display:none; }
.g2g-gh-skip {
  position:fixed; top:-100px; left:12px; z-index:100000;
  padding:12px 16px; border-radius:8px; background:#17212b; color:#fff;
}
.g2g-gh-skip:focus { top:12px; }
.g2g-gh a:focus-visible, .g2g-gh button:focus-visible { outline:3px solid rgba(240,90,18,.45); outline-offset:3px; }
@media (max-width: 1080px) {
  .g2g-gh-inner { gap:16px; padding-left:20px; padding-right:20px; }
  .g2g-gh-brand { min-width:180px; }
  .g2g-gh-nav { gap:16px; }
  .g2g-gh-links { gap:16px; }
  .g2g-gh-showtimes, .g2g-gh-ticket { padding:0 12px; }
}
@media (max-width: 860px) {
  body.admin-bar .g2g-gh { top:46px; }
  .g2g-gh-inner { min-height:72px; padding:10px 16px; gap:12px; }
  .g2g-gh-brand { min-width:0; gap:9px; }
  .g2g-gh-monogram { width:43px; height:43px; flex-basis:43px; border-radius:13px 4px 13px 4px; }
  .g2g-gh-brand-name { font-size:18px; }
  .g2g-gh-tagline { font-size:9px; }
  .g2g-gh-toggle {
    display:flex; width:44px; height:44px; flex:0 0 44px;
    flex-direction:column; align-items:center; justify-content:center; gap:5px;
    border:1px solid #e4e8ec; border-radius:10px; background:#fff; color:var(--g2g-ink);
    cursor:pointer; padding:0; margin-left:auto;
  }
  .g2g-gh-toggle span { width:18px; height:2px; display:block; border-radius:3px; background:#263442; transition:transform .2s ease, opacity .2s ease; }
  .g2g-gh-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
  .g2g-gh-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .g2g-gh-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }
  .g2g-gh-nav {
    display:none; position:absolute; left:12px; right:12px; top:calc(100% + 8px);
    flex-direction:column; align-items:stretch; gap:14px; padding:16px;
    background:#fff; border:1px solid #e8ebef; border-radius:14px;
    box-shadow:0 18px 45px rgba(22,32,42,.15); max-height:calc(100vh - 100px); overflow-y:auto;
  }
  .g2g-gh-nav.is-open { display:flex; }
  .g2g-gh-links { display:flex; flex-direction:column; align-items:stretch; gap:2px; width:100%; }
  .g2g-gh-links a { display:flex; min-height:46px; padding:0 10px; border-radius:7px; font-size:14px; }
  .g2g-gh-links a::after { display:none; }
  .g2g-gh-links a:hover, .g2g-gh-links a[aria-current="page"] { background:#f7f8fa; }
  .g2g-gh-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding-top:12px; border-top:1px solid #edf0f3; }
  .g2g-gh-showtimes, .g2g-gh-ticket { min-height:46px; padding:0 10px; font-size:12px; }
}
@media (max-width: 420px) {
  .g2g-gh-inner { padding-left:12px; padding-right:12px; }
  .g2g-gh-brand-name { font-size:16px; }
  .g2g-gh-tagline { max-width:155px; font-size:8px; }
  .g2g-gh-logo, .g2g-gh-brand .custom-logo { max-width:145px; max-height:48px; }
  .g2g-gh-actions { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .g2g-gh *, .g2g-gh *::before, .g2g-gh *::after { transition:none !important; scroll-behavior:auto !important; }
}
