/*
Theme Name: Global Games 2027 Pro
Theme URI: https://example.com
Author: Joseph
Description: A premium, editable, LA28-inspired WordPress theme for Global Games 2027.
Version: 2.0
Text Domain: global-games-2027-pro
*/

:root{
  --gg-maroon:#7a1022;
  --gg-dark-maroon:#32030b;
  --gg-black:#070707;
  --gg-white:#fff;
  --gg-light:#f5f2f0;
  --gg-text:#111;
  --gg-muted:#666;
  --gg-blue:#0066ff;
  --gg-yellow:#ffc400;
  --gg-green:#00a651;
  --gg-red:#ff2a2a;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial, Helvetica, sans-serif;
  background:var(--gg-white);
  color:var(--gg-text);
}
body.gg-menu-open{overflow:hidden}
a{color:inherit}
img{max-width:100%;height:auto}

.gg-site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:999;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:22px 44px;
  color:var(--gg-white);
  transition:.25s ease;
}
.gg-site-header.gg-scrolled{
  background:rgba(8,8,8,.92);
  backdrop-filter:blur(14px);
  padding-top:14px;
  padding-bottom:14px;
  box-shadow:0 10px 35px rgba(0,0,0,.22);
}
.gg-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  font-weight:1000;
  line-height:.9;
  text-transform:uppercase;
  letter-spacing:-1px;
  min-width:max-content;
}
.gg-brand img{
  width:60px;
  height:60px;
  object-fit:contain;
  border-radius:50%;
}
.gg-brand-fallback{
  width:60px;height:60px;
  border-radius:50%;
  background:var(--gg-white);
  color:var(--gg-maroon);
  display:grid;
  place-items:center;
  font-size:30px;
}
.gg-brand-text{font-size:20px}

.gg-main-menu{
  display:flex;
  align-items:center;
  gap:26px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
}
.gg-main-menu a{text-decoration:none}
.gg-main-menu a:hover{color:#ffd7df}

.gg-header-btn{
  background:var(--gg-white);
  color:var(--gg-maroon);
  padding:14px 22px;
  text-decoration:none;
  font-weight:1000;
  text-transform:uppercase;
  white-space:nowrap;
}

.gg-mobile-toggle{
  display:none;
  width:46px;
  height:42px;
  border:0;
  background:var(--gg-white);
  color:var(--gg-maroon);
  cursor:pointer;
  align-items:center;
  justify-content:center;
}
.gg-mobile-toggle span,
.gg-mobile-toggle span:before,
.gg-mobile-toggle span:after{
  display:block;
  width:24px;
  height:3px;
  background:currentColor;
  content:"";
  position:relative;
  transition:.2s ease;
}
.gg-mobile-toggle span:before{position:absolute;top:-8px}
.gg-mobile-toggle span:after{position:absolute;top:8px}
body.gg-menu-open .gg-mobile-toggle span{background:transparent}
body.gg-menu-open .gg-mobile-toggle span:before{top:0;transform:rotate(45deg)}
body.gg-menu-open .gg-mobile-toggle span:after{top:0;transform:rotate(-45deg)}

.gg-mobile-panel{
  position:fixed;
  inset:0;
  z-index:900;
  background:var(--gg-maroon);
  color:var(--gg-white);
  padding:110px 28px 34px;
  transform:translateX(100%);
  transition:.3s ease;
}
body.gg-menu-open .gg-mobile-panel{transform:translateX(0)}
.gg-mobile-panel ul{
  list-style:none;
  margin:0;
  padding:0;
}
.gg-mobile-panel li{border-bottom:1px solid rgba(255,255,255,.18)}
.gg-mobile-panel a{
  display:block;
  padding:20px 0;
  font-size:34px;
  line-height:.95;
  font-weight:1000;
  text-transform:uppercase;
  text-decoration:none;
}

.gg-hero{
  position:relative;
  min-height:880px;
  color:var(--gg-white);
  background:
    radial-gradient(circle at 76% 34%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(90deg,rgba(31,0,8,.98),rgba(90,8,25,.9) 48%,rgba(0,0,0,.76)),
    var(--gg-hero-image,none);
  background-size:cover;
  background-position:center right;
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:160px 52px 90px;
}
.gg-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    repeating-linear-gradient(135deg,rgba(255,255,255,.055) 0 2px,transparent 2px 44px),
    linear-gradient(120deg,rgba(122,16,34,.42),transparent 50%);
}
.gg-hero-inner{
  position:relative;
  z-index:2;
  width:min(1600px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr .78fr;
  gap:40px;
  align-items:end;
}
.gg-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
  margin-bottom:24px;
}
.gg-hero h1{
  margin:0;
  max-width:850px;
  font-size:clamp(64px,8vw,132px);
  line-height:.84;
  letter-spacing:-6px;
  font-weight:1000;
  text-transform:uppercase;
}
.gg-hero p{
  max-width:560px;
  font-size:23px;
  line-height:1.48;
  margin:28px 0 36px;
}
.gg-actions{display:flex;gap:16px;flex-wrap:wrap}
.gg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:170px;
  padding:18px 25px;
  border:2px solid currentColor;
  font-weight:1000;
  text-transform:uppercase;
  text-decoration:none;
  transition:.2s ease;
}
.gg-btn:hover{transform:translateY(-2px)}
.gg-btn-primary{background:var(--gg-white);color:var(--gg-maroon);border-color:var(--gg-white)}
.gg-btn-secondary{background:transparent;color:var(--gg-white);border-color:var(--gg-white)}
.gg-hero-card{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  backdrop-filter:blur(14px);
  padding:26px;
}
.gg-countdown{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  margin-top:16px;
}
.gg-countdown div{
  background:rgba(0,0,0,.3);
  padding:18px 10px;
  text-align:center;
}
.gg-countdown strong{
  display:block;
  font-size:34px;
  font-weight:1000;
}
.gg-countdown span{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  color:rgba(255,255,255,.76);
  font-weight:900;
}
.gg-quick-info{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  background:var(--gg-black);
  color:var(--gg-white);
}
.gg-info-item{
  padding:30px 42px;
  border-right:1px solid rgba(255,255,255,.16);
  font-weight:1000;
  text-transform:uppercase;
}
.gg-info-item span{
  display:block;
  font-size:13px;
  color:rgba(255,255,255,.7);
  margin-top:8px;
}
.gg-section{padding:74px 52px}
.gg-container{width:min(1600px,100%);margin:0 auto}
.gg-kicker{
  color:var(--gg-maroon);
  font-weight:1000;
  font-size:13px;
  text-transform:uppercase;
  margin-bottom:18px;
}
.gg-section-title{
  margin:0 0 26px;
  font-size:clamp(42px,5.4vw,78px);
  line-height:.9;
  letter-spacing:-3px;
  font-weight:1000;
  text-transform:uppercase;
}
.gg-lead{
  font-size:20px;
  line-height:1.65;
  color:#333;
  max-width:720px;
}
.gg-grid-intro{
  display:grid;
  grid-template-columns:.85fr 1.55fr;
  gap:44px;
  align-items:start;
}
.gg-card-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.gg-card{
  position:relative;
  min-height:360px;
  color:var(--gg-white);
  padding:28px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background-size:cover;
  background-position:center;
  overflow:hidden;
  text-decoration:none;
}
.gg-card:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 8%,rgba(0,0,0,.92));
}
.gg-card>*{position:relative;z-index:2}
.gg-card h3{
  margin:0 0 10px;
  font-size:28px;
  font-weight:1000;
  text-transform:uppercase;
}
.gg-card p{margin:0;color:rgba(255,255,255,.86)}

.gg-feature-band{
  background:var(--gg-light);
  overflow:hidden;
}
.gg-feature-row{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:38px;
  align-items:center;
}
.gg-feature-media{
  min-height:520px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.42)),
    var(--gg-feature-image,none);
  background-size:cover;
  background-position:center;
}
.gg-feature-copy{
  padding:40px 0;
}

.gg-sports-strip{
  background:var(--gg-black);
  color:var(--gg-white);
  padding:46px 0;
  overflow:hidden;
}
.gg-marquee{
  display:flex;
  gap:34px;
  white-space:nowrap;
  animation:ggmarquee 22s linear infinite;
  font-size:clamp(38px,6vw,90px);
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:-3px;
}
.gg-marquee span:nth-child(even){color:var(--gg-maroon)}
@keyframes ggmarquee{to{transform:translateX(-50%)}}

.gg-news-grid{
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:14px;
}
.gg-news-card{
  background:#f3f3f3;
  padding:28px;
  min-height:230px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.gg-news-card strong{
  color:var(--gg-maroon);
  font-size:12px;
  text-transform:uppercase;
}
.gg-news-card h3{
  font-size:29px;
  line-height:1;
  margin:20px 0;
  text-transform:uppercase;
}
.gg-news-card:first-child{
  background:var(--gg-maroon);
  color:var(--gg-white);
  min-height:310px;
}
.gg-news-card:first-child strong{color:var(--gg-white)}

.gg-tiles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.gg-tile{
  background:var(--gg-maroon);
  color:var(--gg-white);
  padding:34px;
  min-height:260px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.gg-tile:nth-child(2){background:var(--gg-black)}
.gg-tile:nth-child(3){background:var(--gg-light);color:var(--gg-black)}
.gg-tile h3{
  margin:0;
  font-size:34px;
  line-height:.95;
  text-transform:uppercase;
}
.gg-tile p{font-size:17px;line-height:1.55}

.gg-page-hero{
  padding:170px 52px 82px;
  background:linear-gradient(90deg,var(--gg-black),var(--gg-maroon));
  color:var(--gg-white);
}
.gg-page-hero h1{
  margin:0;
  font-size:clamp(54px,8vw,112px);
  line-height:.86;
  letter-spacing:-5px;
  text-transform:uppercase;
  font-weight:1000;
}
.gg-page-content{
  padding:70px 52px;
}
.gg-page-content .gg-container{
  max-width:1100px;
  font-size:18px;
  line-height:1.7;
}
.gg-page-content h2,.gg-page-content h3{
  text-transform:uppercase;
  letter-spacing:-1px;
}

.gg-cta{
  padding:76px 52px;
  background:
    linear-gradient(90deg,rgba(0,0,0,.92),rgba(122,16,34,.82)),
    var(--gg-cta-image,none);
  background-size:cover;
  background-position:center;
  color:var(--gg-white);
}
.gg-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.gg-cta h2{
  margin:0;
  font-size:clamp(42px,5.5vw,82px);
  line-height:.9;
  letter-spacing:-3px;
  text-transform:uppercase;
}
.gg-color-bars{display:flex;gap:8px;margin-top:18px}
.gg-color-bars span{width:58px;height:6px;display:block}
.gg-blue{background:var(--gg-blue)}.gg-yellow{background:var(--gg-yellow)}.gg-blackbar{background:#000}.gg-green{background:var(--gg-green)}.gg-red{background:var(--gg-red)}

.gg-site-footer{
  background:var(--gg-black);
  color:var(--gg-white);
  padding:44px 52px;
}
.gg-footer-inner{
  max-width:1600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  align-items:center;
}
.gg-footer-menu{
  list-style:none;
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin:0;
  padding:0;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
}
.gg-footer-menu a{text-decoration:none}

@media(max-width:1100px){
  .gg-main-menu,.gg-header-btn{display:none}
  .gg-mobile-toggle{display:flex}
  .gg-hero-inner,.gg-grid-intro,.gg-feature-row{grid-template-columns:1fr}
  .gg-card-grid,.gg-news-grid,.gg-tiles{grid-template-columns:1fr 1fr}
  .gg-quick-info{grid-template-columns:1fr}
  .gg-info-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
}

@media(max-width:720px){
  .gg-site-header{padding:16px 22px}
  .gg-brand img,.gg-brand-fallback{width:48px;height:48px}
  .gg-brand-text{font-size:16px}
  .gg-hero,.gg-section,.gg-page-hero,.gg-page-content,.gg-cta,.gg-site-footer{padding-left:22px;padding-right:22px}
  .gg-hero{min-height:780px;padding-top:130px}
  .gg-hero h1{letter-spacing:-3px}
  .gg-hero p{font-size:19px}
  .gg-countdown{grid-template-columns:repeat(2,1fr)}
  .gg-card-grid,.gg-news-grid,.gg-tiles{grid-template-columns:1fr}
  .gg-card{min-height:290px}
  .gg-feature-media{min-height:360px}
  .gg-cta-inner,.gg-footer-inner{grid-template-columns:1fr;display:grid}
  .gg-footer-menu{justify-content:flex-start}
}
