.gtg-single-game-page{
  --gtg-game-gap:clamp(1rem,2vw,1.5rem);
  --gtg-game-top-card-height:clamp(440px,52vw,620px);
}

@property --gtg-game-score-progress{
  syntax:'<percentage>';
  inherits:false;
  initial-value:0%;
}

.gtg-single-game-page__section{padding-block:clamp(1.1rem,2.4vw,2rem)}
.gtg-single-game-page__top{padding-top:clamp(1.4rem,3vw,2.5rem)}
.gtg-single-game-page__back{display:inline-flex;align-items:center;gap:.4rem;margin-bottom:1rem;color:var(--gtg-ink);font-weight:900;text-decoration:none}
.gtg-single-game-page__back:hover{text-decoration:underline;text-underline-offset:.18em}

.gtg-single-game-page__product-style-grid{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:var(--gtg-game-gap);align-items:start}

.gtg-single-game-page__media-card,.gtg-single-game-page__intro-card,.gtg-single-game-page__score-card,.gtg-single-game-page__fact,.gtg-single-game-page__learning-card,.gtg-single-game-page__buy-card,.gtg-single-game-page__related-card{background:var(--gtg-paper);border:var(--gtg-border);border-radius:var(--gtg-radius);box-shadow:var(--gtg-shadow-sm)}

.gtg-single-game-page__media-card{display:flex;flex-direction:column;min-height:var(--gtg-game-top-card-height);height:var(--gtg-game-top-card-height);padding:clamp(.9rem,2vw,1.25rem)}
.gtg-single-game-page__main-image{display:grid;place-items:center;flex:1 1 auto;margin:0;background:#fffaf3;border-radius:calc(var(--gtg-radius) - 6px);min-height:0;overflow:hidden}
.gtg-single-game-page__main-image img{display:block;width:100%;height:100%;max-height:100%;object-fit:contain}
.gtg-single-game-page__image-placeholder{display:grid;place-items:center;min-height:320px;background:#fffaf3;border:2px dashed rgba(35,31,28,.35);border-radius:calc(var(--gtg-radius) - 6px);font-weight:900;color:var(--gtg-muted)}
.gtg-single-game-page__thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.75rem;flex:0 0 auto}
.gtg-single-game-page__thumbs a{display:grid;place-items:center;aspect-ratio:1;background:#fffaf3;border:2px solid rgba(35,31,28,.35);border-radius:10px;overflow:hidden;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}
.gtg-single-game-page__thumbs a:hover{border-color:var(--gtg-ink);box-shadow:2px 2px 0 var(--gtg-ink);transform:translateY(-1px)}
.gtg-single-game-page__thumbs img{width:100%;height:100%;object-fit:contain}

.gtg-single-game-page__intro-card{position:relative;display:flex;flex-direction:column;min-height:var(--gtg-game-top-card-height);height:var(--gtg-game-top-card-height);padding:clamp(1.1rem,2.2vw,1.55rem);overflow:hidden}
.gtg-single-game-page__intro-card.is-expanded{height:auto;min-height:var(--gtg-game-top-card-height);overflow:visible}
.gtg-single-game-page__intro-card h1{margin:0 0 .7rem;font-size:clamp(2rem,4.2vw,4rem);line-height:.96;letter-spacing:.01em}
.gtg-single-game-page__summary{max-width:62ch;margin:0 0 1rem;color:var(--gtg-muted);font-size:1.04rem;font-weight:750;line-height:1.55}
.gtg-single-game-page__intro-scroll{position:relative;min-height:0;overflow:hidden;flex:1 1 auto;padding-bottom:.5rem}
.gtg-single-game-page__intro-scroll:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3.5rem;background:linear-gradient(rgba(255,255,255,0),var(--gtg-paper));pointer-events:none}
.gtg-single-game-page__intro-card.is-expanded .gtg-single-game-page__intro-scroll{overflow:visible;flex:0 0 auto}
.gtg-single-game-page__intro-card.is-expanded .gtg-single-game-page__intro-scroll:after,.gtg-single-game-page__intro-card.is-measuring .gtg-single-game-page__intro-scroll:after{display:none}
.gtg-single-game-page__intro-content{font-size:1rem;line-height:1.62}
.gtg-single-game-page__intro-content>:first-child{margin-top:0}
.gtg-single-game-page__intro-content>:last-child{margin-bottom:0}
.gtg-single-game-page__read-more{align-self:flex-start;margin-top:.6rem;background:var(--gtg-yellow);color:var(--gtg-ink);cursor:pointer}
.gtg-single-game-page__intro-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem;flex:0 0 auto}

.gtg-single-game-page__button{display:inline-flex;align-items:center;justify-content:center;min-height:2.65rem;padding:.68rem 1rem;border:2px solid var(--gtg-ink);border-radius:10px;box-shadow:3px 3px 0 var(--gtg-ink);font-weight:950;text-decoration:none!important;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.gtg-single-game-page__button:hover{box-shadow:2px 2px 0 var(--gtg-ink);transform:translate(1px,1px)}
.gtg-single-game-page__button--primary{background:var(--gtg-orange);color:var(--gtg-paper)!important}
.gtg-single-game-page__button--secondary{background:var(--gtg-yellow);color:var(--gtg-ink)!important}

.gtg-single-game-page__details-grid{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:var(--gtg-game-gap);align-items:stretch}
.gtg-single-game-page__score-card{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:.9rem 1rem;align-items:center;padding:1rem}
.gtg-single-game-page__score-card h2{margin:0;font-size:.84rem;text-transform:uppercase;letter-spacing:.05em}
.gtg-single-game-page__score-card p{margin:.16rem 0 0;color:var(--gtg-muted);font-weight:850}
.gtg-single-game-page__score-meter{--score-target:0%;--gtg-game-score-progress:0%;display:grid;place-items:center;width:4.85rem;height:4.85rem;border:2px solid var(--gtg-ink);border-radius:999px;background:conic-gradient(#2fb86b var(--gtg-game-score-progress),#143623 0);box-shadow:2px 2px 0 var(--gtg-ink),inset 0 0 0 5px rgba(255,255,255,.08);color:#fff;font-weight:950;font-size:.95rem;text-align:center}
.gtg-single-game-page__score-meter--weight{background:conic-gradient(#2fb86b var(--gtg-game-score-progress),#143623 0);color:#fff;font-size:.74rem;text-transform:uppercase;letter-spacing:.02em}
.gtg-single-game-page__score-meter span{display:grid;place-items:center;width:3.45rem;height:3.45rem;border-radius:999px;background:#143623;line-height:1.05;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}

.gtg-single-game-page__facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}
.gtg-single-game-page__fact{padding:.85rem .9rem;box-shadow:none}
.gtg-single-game-page__fact span{display:block;margin-bottom:.25rem;color:var(--gtg-muted);font-size:.72rem;font-weight:950;text-transform:uppercase;letter-spacing:.07em}
.gtg-single-game-page__fact strong{display:block;font-size:1rem;line-height:1.2}
.gtg-single-game-page__fact a{color:var(--gtg-ink);text-decoration:underline;text-decoration-thickness:.12em;text-underline-offset:.18em}
.gtg-single-game-page__fact a:hover{color:var(--gtg-orange-dark)}

.gtg-single-game-page__learning-card{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:var(--gtg-game-gap);padding:clamp(1rem,2.2vw,1.4rem)}
.gtg-single-game-page__learning-card--tags-only{grid-template-columns:1fr}
.gtg-single-game-page__video-panel h2,.gtg-single-game-page__buy-card h2,.gtg-single-game-page__section-heading h2{margin:.15rem 0 .7rem;font-size:clamp(1.55rem,2.6vw,2.4rem);line-height:1}
.gtg-single-game-page__video-embed{position:relative;overflow:hidden;border:2px solid var(--gtg-ink);border-radius:14px;background:#0f1115;box-shadow:3px 3px 0 var(--gtg-ink)}
.gtg-single-game-page__video-embed iframe{display:block;width:100%;aspect-ratio:16/9;height:auto}
.gtg-single-game-page__tag-panel{display:flex;flex-direction:column;gap:.8rem}
.gtg-single-game-page__learning-card--tags-only .gtg-single-game-page__tag-panel{display:grid;grid-template-columns:1fr;gap:.45rem;align-items:start}
.gtg-single-game-page__learning-card--tags-only .gtg-single-game-page__chip-group{display:grid;grid-template-columns:minmax(120px,.16fr) 1fr;gap:.7rem;align-items:start;padding:.45rem .55rem;border-bottom:1px solid rgba(35,31,28,.16)}
.gtg-single-game-page__chip-group h3{margin:0 0 .35rem;font-size:.82rem;text-transform:uppercase;letter-spacing:.06em}.gtg-single-game-page__learning-card--tags-only .gtg-single-game-page__chip-group h3{margin:.24rem 0 0}
.gtg-single-game-page__chips{display:flex;flex-wrap:wrap;gap:.38rem}
.gtg-single-game-page__chips span,.gtg-single-game-page__chips a{display:inline-flex;align-items:center;padding:.33rem .5rem;border:1.5px solid var(--gtg-ink);border-radius:999px;background:var(--gtg-peach);color:var(--gtg-ink);font-size:.78rem;font-weight:900;line-height:1.1;text-decoration:none!important;transition:transform .14s ease,box-shadow .14s ease,background .14s ease}
.gtg-single-game-page__chips a:hover{background:var(--gtg-yellow);box-shadow:2px 2px 0 var(--gtg-ink);transform:translateY(-1px)}

.gtg-single-game-page__buy-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:clamp(1rem,2.2vw,1.35rem);background:var(--gtg-cream,#fff2cf)}
.gtg-single-game-page__buy-card p{margin:.35rem 0 0;max-width:64ch}
.gtg-single-game-page__price{font-size:1.4rem;font-weight:950;color:var(--gtg-orange-dark)}
.gtg-single-game-page__buy-actions{display:flex;flex-direction:column;gap:.65rem;align-items:flex-end}
.gtg-single-game-page__stock{display:inline-flex;align-items:center;padding:.32rem .55rem;border:2px solid var(--gtg-ink);border-radius:999px;background:var(--gtg-yellow);box-shadow:2px 2px 0 var(--gtg-ink);font-size:.76rem;font-weight:950;text-transform:uppercase}
.gtg-single-game-page__stock.is-out-of-stock{background:#f4d0c6}

.gtg-single-game-page__section-heading{margin-bottom:1rem}
.gtg-single-game-page__related-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;overflow-x:auto;padding-bottom:.25rem}
.gtg-single-game-page__related-card{display:flex;flex-direction:column;gap:.5rem;min-width:150px;padding:.65rem;color:var(--gtg-ink);text-decoration:none!important;transition:transform .14s ease,box-shadow .14s ease}
.gtg-single-game-page__related-card:hover{box-shadow:2px 2px 0 var(--gtg-ink);transform:translate(1px,1px)}
.gtg-single-game-page__related-image{display:grid;place-items:center;aspect-ratio:1;background:#fffaf3;border-radius:10px;overflow:hidden}
.gtg-single-game-page__related-image img{width:100%;height:100%;object-fit:contain}
.gtg-single-game-page__related-card strong{font-size:.9rem;line-height:1.15}
.gtg-single-game-page__related-card small{color:var(--gtg-muted);font-weight:850}

@media(prefers-reduced-motion:reduce){
  .gtg-single-game-page__score-meter{--gtg-game-score-progress:var(--score-target)}
}

@media(max-width:980px){
  .gtg-single-game-page__product-style-grid,.gtg-single-game-page__details-grid,.gtg-single-game-page__learning-card{grid-template-columns:1fr}
  .gtg-single-game-page__media-card{max-width:620px;margin-inline:auto;width:100%}
  .gtg-single-game-page__intro-card{height:auto;min-height:auto;max-height:none}
  .gtg-single-game-page__intro-scroll{overflow:visible;flex:0 0 auto}
  .gtg-single-game-page__intro-scroll:after,.gtg-single-game-page__read-more{display:none!important}
  .gtg-single-game-page__score-card{grid-template-columns:auto 1fr}
  .gtg-single-game-page__facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gtg-single-game-page__related-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gtg-single-game-page__learning-card--tags-only .gtg-single-game-page__tag-panel{grid-template-columns:1fr}
}

@media(max-width:640px){
  .gtg-single-game-page__intro-card h1{font-size:2rem}
  .gtg-single-game-page__facts-grid,.gtg-single-game-page__buy-card{grid-template-columns:1fr}
  .gtg-single-game-page__buy-actions{align-items:stretch}
  .gtg-single-game-page__button{width:100%}
  .gtg-single-game-page__related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gtg-single-game-page__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:700px){
  .gtg-single-game-page__learning-card--tags-only .gtg-single-game-page__chip-group{grid-template-columns:1fr}
}

/*
 * Read-more state cleanup.
 * The shared button style uses display:inline-flex, so hidden="" needs
 * an explicit override on this button.
 */
.gtg-single-game-page__read-more[hidden],
.gtg-single-game-page__intro-card.does-not-need-readmore .gtg-single-game-page__read-more {
  display: none !important;
}

.gtg-single-game-page__intro-card.does-not-need-readmore .gtg-single-game-page__intro-scroll:after {
  display: none !important;
}
