/* Shared raised buttons for Games, header, hero and branded game formats. */
.arcade,.camps,.nav-game-button,.hero-game-button,.contact-game-button,.formats{
  --button-face:#7B3FF2;
  --button-edge:#5220B7;
  --button-glow:#7B3FF24D;
}
body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button),body :is(.camps .game-scroll,.nav .nav-game-button,.contact .contact-game-button,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll){
  background:var(--button-face);
  color:#fff;
  border:0;
  border-radius:999px;
  font-family:var(--display);
  font-weight:600;
  text-decoration:none;
  box-shadow:inset 0 2px 0 #FFFFFF30,0 6px 0 var(--button-edge),0 14px 28px var(--button-glow);
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}

body .arcade .game-view-toolbar button[aria-pressed="false"],body :is(.camps .game-scroll,.nav .nav-game-button-light,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll){
  --button-face:#E6DCFF;
  --button-edge:#B59ADE;
  --button-glow:#7B3FF21A;
  color:#452080;
}
@media(hover:hover){
  body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button):hover:not(:disabled),body :is(.camps .game-scroll,.nav .nav-game-button,.contact .contact-game-button,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll):hover:not(:disabled){
    background:var(--button-face);
    transform:translateY(-2px);
    box-shadow:inset 0 2px 0 #FFFFFF40,0 8px 0 var(--button-edge),0 18px 32px var(--button-glow);
  }
}
body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button):active:not(:disabled),body :is(.camps .game-scroll,.nav .nav-game-button,.contact .contact-game-button,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll):active:not(:disabled){
  transform:translateY(4px);
  box-shadow:inset 0 2px 0 #FFFFFF20,0 2px 0 var(--button-edge),0 6px 12px var(--button-glow);
}
body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button):focus-visible,body :is(.camps .game-scroll,.nav .nav-game-button,.contact .contact-game-button,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll):focus-visible{
  outline:3px solid #C98F00;
  outline-offset:5px;
}
body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button):disabled,body .camps .game-scroll:disabled,body .formats .fmt-scroll:disabled{
  opacity:.4;
  cursor:default;
  transform:none;
  box-shadow:0 2px 0 var(--button-edge);
}
@media(prefers-reduced-motion:reduce){
  body .arcade :is(.btn,.g-cta,.game-scroll,.game-view-toolbar button),body :is(.camps .game-scroll,.nav .nav-game-button,.contact .contact-game-button,.hero .hero-game-button,.formats .fmt-try,.formats .fmt-scroll){transition:none}
}
/* Keep carousel arrows circular despite the shared button padding. */
body :is(.arcade,.camps) .game-scroll{width:46px;height:46px;min-width:46px;min-height:46px;padding:0;aspect-ratio:1;border-radius:50%;box-shadow:0 3px 0 #5620b4}
body .camps .game-scroll{box-shadow:0 3px 0 var(--button-edge)}
/* Center chevrons optically and geometrically inside the round controls. */
body :is(.arcade,.camps) .game-scroll{display:grid;place-items:center;position:relative;line-height:1}
body :is(.arcade,.camps) .game-scroll span{display:block;width:18px;height:18px;font-size:0;line-height:0;position:relative}
body :is(.arcade,.camps) .game-scroll span::after{content:"";position:absolute;width:9px;height:9px;left:3px;top:4px;border-right:4px solid currentColor;border-top:4px solid currentColor;border-radius:1px;transform:rotate(45deg);box-sizing:border-box}
body :is(.arcade,.camps) .game-scroll-prev span::after{left:6px;transform:rotate(-135deg)}

@media(max-width:760px){
  body .camps .game-scroll::before{content:"";position:absolute;inset:-4px;border-radius:50%}
  body .camps .game-scroll span::after{border-width:3px}
}
