/*
Theme Name: Global Games 2027 Ultra
Author: Marc Dwihe
Description: Fully editable premium WordPress theme for Global Games 2027 with custom logo, editable homepage, strong subpages, and mobile menu.
Version: 3.0
Text Domain: global-games-2027-ultra
*/

:root{
  --maroon:#7A1022;
  --maroon2:#4b0612;
  --black:#070707;
  --white:#fff;
  --cream:#f6f1ee;
  --gray:#e9e5e2;
  --text:#111;
  --muted:#5f5f5f;
  --blue:#0066ff;
  --yellow:#ffc400;
  --green:#00a651;
  --red:#ff2a2a;
}

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

.gg-header{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:10px 20px;color:white;transition:.25s ease;
}
.gg-header.scrolled{background:rgba(7,7,7,.94);backdrop-filter:blur(14px);box-shadow:0 10px 35px rgba(0,0,0,.25)}
.gg-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:1000;text-transform:uppercase;line-height:.9}
.gg-brand img{width:150px;height:150px;object-fit:contain}
.gg-brand-title{font-size:18px;letter-spacing:-.5px}
.gg-menu{display:flex;gap:24px;list-style:none;margin:0;padding:0;font-size:13px;font-weight:1000;text-transform:uppercase}
.gg-menu a{text-decoration:none}
.gg-menu a:hover{color:#ffd5dd}
.gg-header-cta{background:white;color:var(--maroon);padding:14px 20px;text-decoration:none;font-weight:1000;text-transform:uppercase;white-space:nowrap}

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

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

.gg-hero{min-height:500px;position:relative;color:white;display:flex;align-items:center;overflow:hidden;padding:160px 42px 80px;background:linear-gradient(90deg,rgba(7,7,7,.98),rgba(122,16,34,.88),rgba(0,0,0,.45)),var(--hero);background-size:cover;background-position:center}
.gg-hero:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.05) 0 2px,transparent 2px 30px)}
.gg-container{width:min(1580px,100%);margin:auto;position:relative;z-index:2}
.gg-hero-grid{display:grid;grid-template-columns:1.1fr .72fr;gap:38px;align-items:end}
.gg-kicker{font-size:13px;font-weight:1000;text-transform:uppercase;color:var(--maroon);margin-bottom:16px}
.gg-hero .gg-kicker{color:white;background:rgba(255,255,255,.14);display:inline-block;padding:10px 13px}
.gg-hero h1{font-size:clamp(58px,8vw,135px);line-height:.83;letter-spacing:-6px;margin:0;text-transform:uppercase;font-weight:1000}
.gg-hero p{font-size:22px;line-height:1.5;max-width:600px;margin:28px 0 34px}
.gg-actions{display:flex;gap:14px;flex-wrap:wrap}
.gg-btn{display:inline-flex;align-items:center;justify-content:center;padding:17px 24px;border:2px solid currentColor;text-decoration:none;text-transform:uppercase;font-weight:1000;min-width:165px}
.gg-btn.light{background:white;color:var(--maroon);border-color:white}
.gg-btn.dark{background:var(--black);color:white;border-color:var(--black)}
.gg-btn.maroon{background:var(--maroon);color:white;border-color:var(--maroon)}
.gg-btn.clear{background:transparent;color:white;border-color:white}
.gg-count-card{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(14px);padding:25px}
.gg-count{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gg-count div{background:rgba(0,0,0,.35);text-align:center;padding:17px 8px}
.gg-count strong{display:block;font-size:32px}.gg-count span{font-size:11px;text-transform:uppercase;font-weight:900;color:rgba(255,255,255,.72)}

.gg-stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--black);color:white}
.gg-stat{padding:32px 42px;border-right:1px solid rgba(255,255,255,.15);font-weight:1000;text-transform:uppercase}.gg-stat span{display:block;color:rgba(255,255,255,.7);font-size:13px;margin-top:8px}

.gg-section{padding:78px 42px}.gg-section.alt{background:var(--cream)}
.gg-title{font-size:clamp(42px,5.5vw,82px);line-height:.88;letter-spacing:-3px;text-transform:uppercase;font-weight:1000;margin:0 0 24px}
.gg-lead{font-size:20px;line-height:1.65;color:#333;max-width:760px}
.gg-split{display:grid;grid-template-columns:.88fr 1.45fr;gap:46px;align-items:start}
.gg-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gg-card{min-height:355px;position:relative;color:white;text-decoration:none;padding:26px;display:flex;flex-direction:column;justify-content:flex-end;background-size:cover;background-position:center;overflow:hidden}
.gg-card:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 10%,rgba(0,0,0,.92))}
.gg-card>*{position:relative}.gg-card h3{font-size:28px;text-transform:uppercase;margin:0 0 8px}.gg-card p{margin:0;color:rgba(255,255,255,.85)}

.gg-feature{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:560px}
.gg-feature-img{background:var(--feature);background-size:cover;background-position:center;min-height:520px}
.gg-feature-copy{background:var(--maroon);color:white;padding:70px;display:flex;flex-direction:column;justify-content:center}
.gg-feature-copy .gg-kicker,.gg-feature-copy .gg-lead{color:white}

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

.gg-news-grid,.gg-tile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.gg-news-card,.gg-tile{background:#f1f1f1;padding:30px;text-decoration:none;min-height:245px;display:flex;flex-direction:column;justify-content:space-between}
.gg-news-card:first-child{background:var(--maroon);color:white;min-height:310px}.gg-news-card strong{color:var(--maroon);text-transform:uppercase;font-size:12px}.gg-news-card:first-child strong{color:white}
.gg-news-card h3,.gg-tile h3{font-size:32px;line-height:.98;text-transform:uppercase;margin:18px 0}
.gg-tile{background:var(--maroon);color:white}.gg-tile:nth-child(2){background:var(--black)}.gg-tile:nth-child(3){background:var(--cream);color:var(--black)}

.gg-page-hero{padding:170px 42px 90px;color:white;background:linear-gradient(120deg,var(--black),var(--maroon));position:relative;overflow:hidden}
.gg-page-hero:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.06) 0 2px,transparent 2px 45px)}
.gg-page-hero h1{position:relative;z-index:2;font-size:clamp(54px,8vw,120px);line-height:.84;letter-spacing:-5px;text-transform:uppercase;margin:0;font-weight:1000}
.gg-page-layout{padding:70px 42px;background:white}
.gg-page-grid{display:grid;grid-template-columns:280px 1fr;gap:55px;align-items:start}
.gg-sidebox{position:sticky;top:120px;background:var(--cream);padding:26px;border-left:8px solid var(--maroon)}
.gg-sidebox strong{text-transform:uppercase}
.gg-content{font-size:18px;line-height:1.75}.gg-content h2{font-size:42px;line-height:.95;text-transform:uppercase}.gg-content h3{text-transform:uppercase}
.gg-content .wp-block-button__link{background:var(--maroon);border-radius:0;font-weight:900;text-transform:uppercase}

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

.gg-footer{background:var(--black);color:white;padding:45px 42px}.gg-footer-inner{width:min(1580px,100%);margin:auto;display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.gg-footer ul{display:flex;gap:18px;list-style:none;margin:0;padding:0;flex-wrap:wrap;text-transform:uppercase;font-size:13px;font-weight:900}.gg-footer a{text-decoration:none}

@media(max-width:1100px){
  .gg-menu,.gg-header-cta{display:none}.gg-hamburger{display:flex}
  .gg-hero-grid,.gg-split,.gg-feature,.gg-page-grid{grid-template-columns:1fr}
  .gg-card-grid{grid-template-columns:repeat(2,1fr)}
  .gg-news-grid,.gg-tile-grid{grid-template-columns:1fr 1fr}
  .gg-stats{grid-template-columns:1fr}.gg-stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.15)}
  .gg-sidebox{position:relative;top:auto}
}
@media(max-width:720px){
  .gg-header{padding:14px 20px}.gg-brand img{width:54px;height:54px}.gg-brand-title{font-size:15px}
  .gg-hero,.gg-section,.gg-page-hero,.gg-page-layout,.gg-cta,.gg-footer{padding-left:22px;padding-right:22px}
  .gg-hero{min-height:790px;padding-top:130px}.gg-hero h1{letter-spacing:-3px}.gg-hero p{font-size:19px}
  .gg-count{grid-template-columns:repeat(2,1fr)}
  .gg-card-grid,.gg-news-grid,.gg-tile-grid{grid-template-columns:1fr}
  .gg-card{min-height:290px}.gg-feature-copy{padding:45px 25px}.gg-feature-img{min-height:350px}
  .gg-cta-row{display:grid}.gg-mobile a{font-size:30px}
}
/* ===== Global Games LA-style Header + Homepage ===== */

.gg-la-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:9999;
  min-height:104px;
  padding:18px 54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  color:#050505;
  border-bottom:1px solid rgba(0,0,0,.08);
}

.gg-la-logo img{
  width:118px;
  height:auto;
  display:block;
}

.gg-la-menu{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:34px;
  margin:0;
  padding:0;
  font-size:14px;
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:.4px;
}

.gg-la-menu a{
  text-decoration:none;
}

.gg-la-ticket{
  background:#050505;
  color:#fff;
  padding:18px 28px;
  text-decoration:none;
  font-weight:1000;
  text-transform:uppercase;
}

.gg-la-hamburger{
  display:none;
  width:46px;
  height:42px;
  border:0;
  background:#050505;
  color:#fff;
  align-items:center;
  justify-content:center;
}

.gg-la-hamburger span,
.gg-la-hamburger span:before,
.gg-la-hamburger span:after{
  content:"";
  display:block;
  width:24px;
  height:3px;
  background:currentColor;
  position:relative;
  transition:.2s ease;
}

.gg-la-hamburger span:before{position:absolute;top:-8px;}
.gg-la-hamburger span:after{position:absolute;top:8px;}

body.gg-la-open{overflow:hidden;}
body.gg-la-open .gg-la-hamburger span{background:transparent;}
body.gg-la-open .gg-la-hamburger span:before{top:0;transform:rotate(45deg);}
body.gg-la-open .gg-la-hamburger span:after{top:0;transform:rotate(-45deg);}

.gg-la-mobile{
  position:fixed;
  inset:0;
  z-index:9990;
  background:#7A1022;
  color:#fff;
  padding:130px 30px 40px;
  transform:translateX(100%);
  transition:.3s ease;
}

body.gg-la-open .gg-la-mobile{
  transform:translateX(0);
}

.gg-la-mobile ul{
  list-style:none;
  margin:0;
  padding:0;
}

.gg-la-mobile li{
  border-bottom:1px solid rgba(255,255,255,.2);
}

.gg-la-mobile a{
  display:block;
  padding:20px 0;
  color:#fff;
  text-decoration:none;
  font-size:34px;
  line-height:.95;
  font-weight:1000;
  text-transform:uppercase;
}

.gg-la-home{
  background:#fff;
  color:#050505;
  overflow:hidden;
}

.gg-la-hero{
  min-height:760px;
  padding:150px 70px 0;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  align-items:end;
  gap:30px;
  background:#fff;
}

.gg-la-hero-copy{
  padding-bottom:90px;
  max-width:650px;
}

.gg-la-eyebrow{
  margin:0 0 20px;
  font-size:14px;
  font-weight:1000;
  text-transform:uppercase;
  color:#7A1022;
}

.gg-la-hero h1{
  margin:0;
  font-size:clamp(72px,9vw,148px);
  line-height:.82;
  letter-spacing:-7px;
  font-weight:1000;
  text-transform:uppercase;
}

.gg-la-sub{
  max-width:520px;
  margin:28px 0 32px;
  font-size:22px;
  line-height:1.35;
}

.gg-la-actions{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.gg-la-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:17px 26px;
  min-width:170px;
  font-size:14px;
  font-weight:1000;
  text-transform:uppercase;
  text-decoration:none;
  border:2px solid currentColor;
}

.gg-la-btn.black{
  background:#050505;
  color:#fff;
  border-color:#050505;
}

.gg-la-btn.outline{
  background:#fff;
  color:#050505;
}

.gg-la-btn.dark-outline{
  background:transparent;
}

.gg-la-hero-art{
  position:relative;
  min-height:610px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,0)),
    var(--hero);
  background-size:cover;
  background-position:center;
  overflow:hidden;
}

.gg-la-big-year{
  position:absolute;
  inset:auto 0 -40px auto;
  font-size:clamp(160px,24vw,380px);
  line-height:.75;
  font-weight:1000;
  letter-spacing:-18px;
  color:rgba(122,16,34,.9);
  mix-blend-mode:multiply;
}

.gg-la-feature-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  min-height:360px;
}

.gg-la-panel{
  position:relative;
  padding:34px;
  color:#fff;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  background-size:cover;
  background-position:center;
}

.gg-la-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.75));
}

.gg-la-panel > *{
  position:relative;
  z-index:2;
}

.gg-la-panel span{
  font-size:13px;
  font-weight:1000;
  text-transform:uppercase;
  margin-bottom:18px;
}

.gg-la-panel h2{
  margin:0 0 16px;
  font-size:clamp(32px,3.2vw,58px);
  line-height:.9;
  text-transform:uppercase;
  font-weight:1000;
}

.gg-la-panel p{
  margin:0;
  font-weight:900;
  text-transform:uppercase;
}

.gg-la-panel.maroon{
  background:linear-gradient(135deg,#7A1022,#ff5a7a);
}

.gg-la-panel.image{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.75)),var(--bg);
}

.gg-la-panel.blue{
  background-image:linear-gradient(180deg,rgba(0,102,255,.25),rgba(0,0,0,.75)),var(--bg);
}

.gg-la-panel.dark{
  background-image:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.88)),var(--bg);
}

.gg-la-mission{
  padding:95px 70px;
  display:grid;
  grid-template-columns:.9fr 1fr;
  gap:60px;
  align-items:start;
}

.gg-la-mission h2,
.gg-la-involved-copy h2{
  margin:0;
  font-size:clamp(56px,7vw,118px);
  line-height:.85;
  letter-spacing:-5px;
  text-transform:uppercase;
  font-weight:1000;
}

.gg-la-mission-text{
  font-size:24px;
  line-height:1.45;
  max-width:780px;
}

.gg-la-marquee{
  background:#050505;
  color:#fff;
  overflow:hidden;
  padding:40px 0;
}

.gg-la-marquee div{
  display:flex;
  gap:38px;
  white-space:nowrap;
  animation:ggLaMove 24s linear infinite;
}

.gg-la-marquee span{
  font-size:clamp(42px,6vw,96px);
  font-weight:1000;
  text-transform:uppercase;
  letter-spacing:-4px;
}

.gg-la-marquee span:nth-child(even){
  color:#7A1022;
}

@keyframes ggLaMove{
  to{transform:translateX(-50%);}
}

.gg-la-info{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-bottom:1px solid #ddd;
}

.gg-la-info-card{
  padding:44px 38px;
  border-right:1px solid #ddd;
}

.gg-la-info-card h3{
  margin:0 0 16px;
  color:#7A1022;
  font-size:15px;
  text-transform:uppercase;
  font-weight:1000;
}

.gg-la-info-card p{
  margin:0;
  font-size:30px;
  line-height:1;
  font-weight:1000;
  text-transform:uppercase;
}

.gg-la-involved{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:620px;
}

.gg-la-involved-image{
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55)),var(--bg);
  background-size:cover;
  background-position:center;
}

.gg-la-involved-copy{
  padding:80px 70px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#f5f2f0;
}

.gg-la-involved-copy p{
  font-size:22px;
  line-height:1.45;
  max-width:620px;
}

.gg-la-editor-content{
  padding:70px;
}

@media(max-width:1100px){
  .gg-la-nav,
  .gg-la-ticket{
    display:none;
  }

  .gg-la-hamburger{
    display:flex;
  }

  .gg-la-hero,
  .gg-la-mission,
  .gg-la-involved{
    grid-template-columns:1fr;
  }

  .gg-la-feature-grid,
  .gg-la-info{
    grid-template-columns:repeat(2,1fr);
  }

  .gg-la-hero-art{
    min-height:460px;
  }
}

@media(max-width:700px){
  .gg-la-header{
    min-height:82px;
    padding:14px 22px;
  }

  .gg-la-logo img{
    width:92px;
  }

  .gg-la-hero{
    padding:120px 24px 0;
  }

  .gg-la-hero-copy{
    padding-bottom:46px;
  }

  .gg-la-hero h1{
    letter-spacing:-4px;
  }

  .gg-la-sub{
    font-size:19px;
  }

  .gg-la-feature-grid,
  .gg-la-info{
    grid-template-columns:1fr;
  }

  .gg-la-mission,
  .gg-la-involved-copy,
  .gg-la-editor-content{
    padding:62px 24px;
  }

  .gg-la-mission-text,
  .gg-la-involved-copy p{
    font-size:19px;
  }

  .gg-la-mobile a{
    font-size:30px;
  }
}
