.elementor-kit-6{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#000000;--e-global-color-accent:#61CE70;--e-global-color-0dcb79e:#FFD600;--e-global-color-54258a0:#FF5F1F;--e-global-color-ed1f52d:#FF2D78;--e-global-color-7931a36:#7B2FBE;--e-global-color-2c4054b:#00AAFF;--e-global-color-9aa6932:#00C97A;--e-global-color-410363b:#1A1040;--e-global-color-69dee37:#6B5C8A;--e-global-color-d9450e5:#FFF8F0;--e-global-color-36f0146:#FFF2E8;--e-global-typography-primary-font-family:"Fredoka";--e-global-typography-primary-font-size:16px;--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-size:15px;--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Nunito";--e-global-typography-text-font-size:15px;--e-global-typography-text-font-weight:600;--e-global-typography-accent-font-family:"Fredoka One";--e-global-typography-accent-font-weight:500;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ── GAEMSTER TICKER ── */
.gaem-ticker {
  overflow: hidden;
  background: #1A1040;
  padding: 9px 0;
  width: 100%;
}
.gaem-track {
  display: flex;
  white-space: nowrap;
  width: max-content;
  animation: gaemTicker 30s linear infinite;
}
.gaem-track span {
  font-family: 'Fredoka One', cursive;
  font-size: 0.85rem;
  color: #FFD600;
  padding: 0 32px;
  letter-spacing: 0.5px;
  display: inline-block;
}
.gaem-track em {
  color: rgba(255,255,255,0.25);
  font-style: normal;
  margin-left: 32px;
}
@keyframes gaemTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
/* ── HERO BADGE ── */
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255,214,0,0.22);
  border: 2px solid #FFD600;
  color: #7a5c00;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 18px;
  border-radius: 50px;
  margin-bottom: 16px;
  font-family: 'Nunito', sans-serif;
}
.live-dot {
  width: 7px;
  height: 7px;
  background: #FF5F1F;
  border-radius: 50%;
  animation: gaemBlink 1.2s ease-in-out infinite;
  flex-shrink: 0;
}
@keyframes gaemBlink {
  50% { opacity: 0.2; }
}
/* ── LABEL PILLS ── */
.lbl {
  display: inline-block;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  padding: 5px 15px;
  border-radius: 50px;
  margin-bottom: 11px;
  font-family: 'Nunito', sans-serif;
}
.lbl-y  { background: rgba(255,214,0,0.22);  color: #7a5c00; }
.lbl-p  { background: rgba(255,45,120,0.12); color: #FF2D78; }
.lbl-b  { background: rgba(0,170,255,0.12);  color: #006eab; }
.lbl-o  { background: rgba(255,95,31,0.12);  color: #FF5F1F; }
.lbl-pu { background: rgba(123,47,190,0.12); color: #7B2FBE; }
.lbl-g  { background: rgba(0,201,122,0.15);  color: #007a4a; }

/* ── PILLAR CARDS ── */
.pillar-card {
  background: #ffffff;
  border-radius: 22px;
  padding: 30px 24px;
  border: 2px solid rgba(26,16,64,0.09);
  box-shadow: 0 4px 20px rgba(26,16,64,0.10);
  position: relative;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  height: 100%;
}
.pillar-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(26,16,64,0.14);
}
.pillar-stripe {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 5px;
  border-radius: 22px 22px 0 0;
}
.ps-b  { background: #00AAFF; }
.ps-p  { background: #FF2D78; }
.ps-o  { background: #FF5F1F; }
.ps-y  { background: #FFD600; }
.ps-pu { background: #7B2FBE; }
.ps-g  { background: #00C97A; }
.pillar-icon  { font-size: 2.4rem; display: block; margin-bottom: 11px; }
.pillar-title { font-family: 'Fredoka One', cursive; font-size: 1.25rem; color: #1A1040; margin-bottom: 8px; }
.pillar-desc  { font-size: 0.88rem; color: #6B5C8A; line-height: 1.65; font-weight: 600; margin-bottom: 16px; }
.pillar-link  {
  font-size: 0.78rem; font-weight: 900; letter-spacing: 1px;
  text-transform: uppercase; text-decoration: none;
  display: inline-flex; align-items: center; gap: 5px;
  transition: gap 0.2s;
}
.pillar-link:hover { gap: 10px; }
.lc-b  { color: #006eab; }
.lc-p  { color: #FF2D78; }
.lc-o  { color: #FF5F1F; }
.lc-y  { color: #8a6800; }
.lc-pu { color: #7B2FBE; }
.lc-g  { color: #007a4a; }
.new-pill {
  position: absolute; top: 14px; right: 14px;
  background: #FF5F1F; color: #fff;
  font-size: 0.6rem; font-weight: 900;
  letter-spacing: 1.5px; text-transform: uppercase;
  padding: 3px 9px; border-radius: 50px;
}
/* ── ESCAPE ROOM MOCKUP ── */
.escape-mockup {
  background: #fff;
  border-radius: 24px;
  border: 2px solid rgba(26,16,64,0.09);
  box-shadow: 0 12px 40px rgba(26,16,64,0.14);
  overflow: hidden;
  max-width: 420px;
  width: 100%;
  margin: 0 auto;
  animation: gaemFa 6s ease-in-out infinite;
}
.mock-bar {
  background: linear-gradient(90deg, #FF5F1F, #FF2D78);
  padding: 14px 20px;
  font-family: 'Fredoka One', cursive;
  font-size: 0.95rem;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 8px;
}
.mock-body {
  padding: 26px;
}
.mock-timer {
  text-align: center;
  font-family: 'Fredoka One', cursive;
  font-size: 3rem;
  color: #FF5F1F;
  letter-spacing: 3px;
  margin-bottom: 16px;
}
.mock-clue {
  background: #fff7f0;
  border: 2px solid rgba(255,95,31,0.18);
  border-radius: 12px;
  padding: 13px 15px;
  font-size: 0.85rem;
  color: #6B5C8A;
  line-height: 1.55;
  margin-bottom: 13px;
  font-weight: 600;
  font-family: 'Nunito', sans-serif;
}
.mock-clue strong { color: #FF5F1F; }
.mock-input {
  width: 100%;
  background: #f7f7ff;
  border: 2px solid rgba(26,16,64,0.09);
  border-radius: 11px;
  padding: 11px 15px;
  font-family: 'Nunito', sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  color: #1A1040;
  outline: none;
  margin-bottom: 11px;
  display: block;
  box-sizing: border-box;
}
.mock-input:focus { border-color: #FF5F1F; }
.mock-btn {
  width: 100%;
  background: linear-gradient(90deg, #FF5F1F, #FF2D78);
  border: none;
  border-radius: 11px;
  padding: 13px;
  color: #fff;
  font-family: 'Fredoka One', cursive;
  font-size: 0.95rem;
  cursor: pointer;
  box-shadow: 0 5px 16px rgba(255,95,31,0.28);
  display: block;
  width: 100%;
}
.mock-btn:hover { opacity: 0.9; }

/* Float animation (reused from hero cards) */
@keyframes gaemFa {
  0%,100% { transform: translateY(0) rotate(-1deg); }
  50%      { transform: translateY(-16px) rotate(1deg); }
}

/* ── ESCAPE CHECKLIST ── */
.esc-list {
  list-style: none;
  margin: 20px 0 28px;
  display: flex;
  flex-direction: column;
  gap: 11px;
  padding: 0;
}
.esc-list li {
  display: flex;
  align-items: center;
  gap: 11px;
  font-size: 0.92rem;
  color: #6B5C8A;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
}
.ck {
  width: 22px; height: 22px;
  border-radius: 50%;
  flex-shrink: 0;
  color: #fff;
  background: linear-gradient(135deg, #FF5F1F, #FF2D78);
  font-size: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* ── GAME CARDS ── */
.gcard {
  background: #ffffff;
  border-radius: 18px;
  border: 2px solid rgba(26,16,64,0.09);
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(26,16,64,0.10);
  transition: transform 0.3s, box-shadow 0.3s;
  display: block;
  text-decoration: none;
  color: inherit;
}
.gcard:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 40px rgba(26,16,64,0.14);
}
.gthumb {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3.4rem;
  position: relative;
}
.gt1 { background: linear-gradient(135deg, #fff0d6, #ffe4b0); }
.gt2 { background: linear-gradient(135deg, #dff4ff, #b8e8ff); }
.gt3 { background: linear-gradient(135deg, #ffd6e8, #ffb3cf); }
.gt4 { background: linear-gradient(135deg, #d6f4e8, #aaecd1); }
.gt5 { background: linear-gradient(135deg, #e8d6ff, #d3b3ff); }
.gt6 { background: linear-gradient(135deg, #fff4d6, #ffeab0); }
.free-chip {
  position: absolute;
  top: 10px; left: 10px;
  background: #00AAFF;
  color: #fff;
  font-size: 0.6rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 20px;
  font-family: 'Nunito', sans-serif;
}
.ginfo { padding: 16px 17px 18px; }
.g-genre {
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #6B5C8A;
  margin-bottom: 3px;
  font-family: 'Nunito', sans-serif;
}
.g-name {
  font-family: 'Fredoka One', cursive;
  font-size: 1.1rem;
  color: #1A1040;
  margin-bottom: 5px;
}
.g-desc {
  font-size: 0.82rem;
  color: #6B5C8A;
  font-weight: 600;
  line-height: 1.55;
  font-family: 'Nunito', sans-serif;
}
/* ── VIP PLAN CARDS ── */
.plan-card {
  background: #ffffff;
  border-radius: 22px;
  border: 2px solid rgba(26,16,64,0.09);
  padding: 32px 24px;
  box-shadow: 0 4px 20px rgba(26,16,64,0.10);
  transition: transform 0.3s;
  position: relative;
  height: 100%;
}
.plan-card:hover {
  transform: translateY(-5px);
}
.plan-card.featured {
  border-color: #FF2D78;
  box-shadow: 0 0 0 4px rgba(255,45,120,0.10),
              0 12px 40px rgba(26,16,64,0.14);
}
.plan-top-badge {
  position: absolute;
  top: -13px;
  left: 50%;
  transform: translateX(-50%);
  background: #FF2D78;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  padding: 4px 16px;
  border-radius: 50px;
  white-space: nowrap;
  font-family: 'Nunito', sans-serif;
}
.plan-name {
  font-family: 'Fredoka One', cursive;
  font-size: 1.2rem;
  color: #1A1040;
  margin-bottom: 2px;
}
.plan-price {
  font-family: 'Fredoka One', cursive;
  font-size: 2.8rem;
  color: #1A1040;
  line-height: 1;
  margin: 13px 0 2px;
}
.plan-price sub {
  font-size: 1rem;
  color: #6B5C8A;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
}
.plan-period {
  font-size: 0.78rem;
  color: #6B5C8A;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
  margin-bottom: 20px;
}
.plan-feats {
  list-style: none;
  margin-bottom: 24px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.plan-feats li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 0.86rem;
  color: #6B5C8A;
  font-weight: 700;
  font-family: 'Nunito', sans-serif;
}
.plan-feats li::before {
  content: '✦';
  color: #FF2D78;
  font-size: 0.6rem;
  margin-top: 4px;
  flex-shrink: 0;
}
.plan-btn {
  width: 100%;
  padding: 13px;
  border-radius: 50px;
  border: none;
  font-family: 'Fredoka One', cursive;
  font-size: 0.95rem;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: opacity 0.2s, transform 0.2s;
  display: block;
  text-align: center;
  text-decoration: none;
}
.plan-btn:hover { opacity: 0.88; transform: scale(1.02); }
.pb-pink   { background: #FF2D78; color: #fff; box-shadow: 0 5px 16px rgba(255,45,120,0.28); }
.pb-purple { background: #7B2FBE; color: #fff; box-shadow: 0 5px 16px rgba(123,47,190,0.28); }
.pb-ghost  { background: transparent; color: #1A1040; border: 2px solid rgba(26,16,64,0.12); }
.pb-ghost:hover { border-color: #1A1040; }
/* ── MEEP IMAGE ── */
.meep-img {
  width: 300px;
  height: 300px;
  object-fit: contain;
  animation: meepBounce 3.5s ease-in-out infinite;
  filter: drop-shadow(0 20px 30px rgba(0,200,100,0.25));
}
.speech {
  top: 20px;
  right: -10px;
}
/* ── HERO VISUAL FLOATING CARDS ── */
.hero-visual {
  position: relative;
  height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.fc {
  position: absolute;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 12px 40px rgba(26,16,64,0.14);
  padding: 16px 18px;
  border: 2px solid rgba(26,16,64,0.09);
  font-family: 'Fredoka One', cursive;
}
.fc-main {
  width: 200px;
  text-align: center;
  z-index: 3;
  animation: gaemFa 5s ease-in-out infinite;
}
.fc-main .big {
  font-size: 3.8rem;
  display: block;
  margin-bottom: 6px;
}
.fc-main .nm {
  font-size: 1rem;
  color: #1A1040;
}
.fc-main .tg {
  font-size: 0.6rem;
  background: rgba(255,95,31,0.12);
  color: #FF5F1F;
  padding: 2px 10px;
  border-radius: 20px;
  display: inline-block;
  margin-top: 5px;
  font-family: 'Nunito', sans-serif;
  font-weight: 900;
  letter-spacing: 1px;
}
.fc-a {
  top: 14px; left: 0;
  width: 155px;
  animation: gaemFb 6s ease-in-out infinite;
  border-color: rgba(255,214,0,0.45);
}
.fc-b {
  bottom: 20px; left: 14px;
  width: 152px;
  animation: gaemFc 7s ease-in-out infinite;
  border-color: rgba(255,45,120,0.3);
}
.fc-c {
  top: 20px; right: 0;
  width: 152px;
  animation: gaemFb 5.5s ease-in-out infinite reverse;
  border-color: rgba(123,47,190,0.3);
}
.fc-d {
  bottom: 14px; right: 6px;
  width: 155px;
  animation: gaemFc 6.5s ease-in-out infinite reverse;
  border-color: rgba(0,201,122,0.3);
}
.sm-icon {
  font-size: 1.8rem;
  display: block;
  margin-bottom: 4px;
}
.sm-name {
  font-size: 0.88rem;
  color: #1A1040;
  line-height: 1.2;
}
.sm-sub {
  font-size: 0.68rem;
  color: #6B5C8A;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  margin-top: 2px;
}
.confetti {
  position: absolute;
  font-size: 1.3rem;
  animation: gaemCf 4s ease-in-out infinite;
  pointer-events: none;
}
.cf1 { top: 6px;    left: 42%; }
.cf2 { top: 50px;   right: 26%; animation-delay: -1.5s; }
.cf3 { bottom: 50px; left: 26%; animation-delay: -3s; }
/* ── REVIEW CARDS ── */
.rcard {
  background: #ffffff;
  border: 2px solid rgba(26,16,64,0.09);
  border-radius: 18px;
  padding: 24px 20px;
  box-shadow: 0 4px 20px rgba(26,16,64,0.10);
  height: 100%;
}
.stars {
  color: #FFD600;
  font-size: 1rem;
  margin-bottom: 10px;
  letter-spacing: 2px;
}
.rtext {
  font-size: 0.88rem;
  color: #6B5C8A;
  font-weight: 600;
  line-height: 1.65;
  margin-bottom: 14px;
  font-style: italic;
  font-family: 'Nunito', sans-serif;
}
.rauthor {
  font-family: 'Fredoka One', cursive;
  font-size: 0.95rem;
  color: #1A1040;
}
.rdate {
  font-size: 0.72rem;
  color: #6B5C8A;
  font-weight: 700;
  margin-top: 3px;
  font-family: 'Nunito', sans-serif;
}
/* ═══════════════════════════════════
   GAEMSTER MOBILE FIXES
   ═══════════════════════════════════ */

@media (max-width: 768px) {

  /* ── FIX 1: Hide floating hero cards on mobile ── */
  .hero-visual {
    display: none !important;
  }

  /* ── FIX 2: Fix hero headings font size ── */
  .elementor-widget-heading h1 {
    font-size: 2.6rem !important;
    line-height: 1.1 !important;
  }

  /* ── FIX 3: Fix hero section to single column ── */
  .elementor-section .elementor-row {
    flex-wrap: wrap !important;
  }
  .elementor-section .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ── FIX 4: Fix VIP button in header ── */
  .nav-vip {
    position: relative !important;
    float: none !important;
  }

  /* ── FIX 5: Fix merch button size ── */
  .merch-section .elementor-button {
    font-size: 1rem !important;
    padding: 14px 24px !important;
    width: auto !important;
    max-width: 280px !important;
  }

  /* ── FIX 6: Fix horizontal overflow ── */
  body, .elementor-section {
    overflow-x: hidden !important;
    max-width: 100vw !important;
  }

  /* ── FIX 7: Fix pillar cards to single column ── */
  .pillar-card {
    margin-bottom: 16px;
  }

  /* ── FIX 8: Fix escape room section stacking ── */
  .escape-mockup {
    margin: 0 auto 32px auto !important;
  }

  /* ── FIX 9: Fix VIP plan cards stacking ── */
  .plan-card.featured {
    transform: none !important;
  }

  /* ── FIX 10: Fix section padding on mobile ── */
  .elementor-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ── FIX 11: Fix Meep section stacking ── */
  .meep-wrap {
    margin-bottom: 32px;
  }
  .meep-blob, .meep-img {
    width: 220px !important;
    height: 220px !important;
  }

  /* ── FIX 12: Fix review cards stacking ── */
  .rcard {
    margin-bottom: 16px;
  }

  /* ── FIX 13: Newsletter form stack ── */
  .nl-form-wrap {
    flex-direction: column !important;
    align-items: center !important;
  }
  .nl-form-wrap input[type="email"] {
    width: 100% !important;
    border-radius: 14px !important;
  }
  .nl-form-wrap button,
  .nl-form-wrap input[type="submit"] {
    width: 100% !important;
    border-radius: 14px !important;
  }

  /* ── FIX 14: Section headings max width ── */
  .elementor-widget-heading h2 {
    font-size: clamp(1.8rem, 6vw, 2.4rem) !important;
    line-height: 1.2 !important;
  }

  /* ── FIX 15: Merch heading size ── */
  .merch-section h2 {
    font-size: 1.9rem !important;
  }
}
/* ═══════════════════════════════════════
   GAEMSTER — FULL MOBILE STYLESHEET
   All breakpoints handled
═══════════════════════════════════════ */

@media (max-width: 768px) {

  /* ── GLOBAL ── */
  body { overflow-x: hidden !important; }
  .elementor-container { max-width: 100% !important; }

  /* ── SIX PILLARS ── */
  .pillar-card {
    margin-bottom: 16px !important;
  }

  /* ── ESCAPE ROOM ── */
  .escape-mockup {
    max-width: 100% !important;
    margin: 0 0 32px 0 !important;
  }
  .mock-timer { font-size: 2.4rem !important; }

  /* ── GAMES GRID ── */
  .gcard { margin-bottom: 16px !important; }
  .gthumb { height: 120px !important; font-size: 2.8rem !important; }
  .g-name { font-size: 1rem !important; }

  /* ── VIP PLANS ── */
  .plan-card {
    margin-bottom: 20px !important;
  }
  .plan-card.featured {
    transform: none !important;
    border-color: #FF2D78 !important;
    box-shadow: 0 0 0 3px rgba(255,45,120,0.15),
                0 8px 30px rgba(26,16,64,0.14) !important;
  }
  .plan-price { font-size: 2.4rem !important; }

  /* ── MEEP SECTION ── */
  .meep-wrap {
    margin-bottom: 28px !important;
    padding: 0 !important;
  }
  .meep-blob {
    width: 200px !important;
    height: 200px !important;
    font-size: 5.5rem !important;
  }
  .meep-img {
    width: 200px !important;
    height: 200px !important;
  }
  .speech {
    font-size: 0.75rem !important;
    right: -8px !important;
    top: -5px !important;
    padding: 5px 10px !important;
  }

  /* ── MERCH BANNER ── */
  .merch-section h2,
  .merch-title {
    font-size: 1.8rem !important;
    line-height: 1.2 !important;
  }
  .merch-emo {
    font-size: 1.4rem !important;
    letter-spacing: 5px !important;
  }
  .merch-section .elementor-button {
    font-size: 1rem !important;
    padding: 13px 24px !important;
    width: auto !important;
  }

  /* ── REVIEWS ── */
  .rcard {
    margin-bottom: 16px !important;
  }
  .rtext { font-size: 0.85rem !important; }

  /* ── NEWSLETTER ── */
  .nl-form-wrap {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .nl-form-wrap input[type="email"] {
    width: 100% !important;
    border-radius: 14px !important;
  }
  .nl-form-wrap button,
  .nl-form-wrap input[type="submit"] {
    width: 100% !important;
    border-radius: 14px !important;
    text-align: center !important;
  }

  /* ── SECTION HEADINGS ── */
  .elementor-widget-heading h2 {
    font-size: clamp(1.7rem, 6vw, 2.2rem) !important;
    line-height: 1.2 !important;
  }

  /* ── SECTION PADDING ── */
  .elementor-top-section {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* ── LABEL PILLS ── */
  .lbl { font-size: 0.65rem !important; padding: 4px 12px !important; }

  /* ── TICKER ── */
  .gaem-track span { font-size: 0.75rem !important; padding: 0 20px !important; }
}
.pb-microsoft {
  background: rgba(0,120,215,0.1);
  color: #0078d7;
}
/* ── CONTACT PAGE ── */
.contact-info {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.contact-card {
  background: #fff;
  border: 2px solid rgba(26,16,64,0.09);
  border-radius: 18px;
  padding: 20px;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  box-shadow: 0 4px 20px rgba(26,16,64,0.08);
  transition: transform 0.2s;
}
.contact-card:hover { transform: translateX(4px); }
.contact-icon-wrap {
  width: 48px; height: 48px;
  border-radius: 14px;
  display: flex; align-items: center;
  justify-content: center;
  font-size: 1.4rem; flex-shrink: 0;
}
.ci-pink   { background: rgba(255,45,120,0.10); }
.ci-blue   { background: rgba(0,170,255,0.10);  }
.ci-orange { background: rgba(255,95,31,0.10);  }
.ci-purple { background: rgba(123,47,190,0.10); }
.contact-label {
  font-size: .68rem; font-weight: 900;
  letter-spacing: 2px; text-transform: uppercase;
  color: #6B5C8A; margin-bottom: 4px;
  font-family: 'Nunito', sans-serif;
}
.contact-value {
  font-family: 'Fredoka One', cursive;
  font-size: 1rem; color: #1A1040;
  text-decoration: none; display: block;
  margin-bottom: 3px;
}
.contact-value:hover { color: #FF2D78; }
.contact-note {
  font-size: .78rem; color: #6B5C8A;
  font-weight: 700; font-family: 'Nunito', sans-serif;
}
.social-row {
  display: flex; flex-wrap: wrap; gap: 7px;
  margin-top: 6px;
}
.soc-pill {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 5px 12px; border-radius: 50px;
  font-size: .72rem; font-weight: 900;
  font-family: 'Nunito', sans-serif;
  text-decoration: none;
  border: 1.5px solid rgba(26,16,64,0.09);
  color: #6B5C8A; transition: all 0.2s;
}
.soc-pill:hover { border-color: #FF2D78; color: #FF2D78; }

/* ── CONTACT QUICK FAQ ── */
.contact-faq {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 16px; margin-top: 48px;
}
.cfaq-card {
  background: #fff;
  border: 2px solid rgba(26,16,64,0.09);
  border-radius: 18px; padding: 22px;
  box-shadow: 0 4px 20px rgba(26,16,64,0.08);
  text-align: center;
}
.cfaq-icon { font-size: 2rem; margin-bottom: 10px; }
.cfaq-title {
  font-family: 'Fredoka One', cursive;
  font-size: 1rem; color: #1A1040; margin-bottom: 6px;
}
.cfaq-desc {
  font-size: .82rem; color: #6B5C8A;
  font-weight: 600; line-height: 1.6;
  font-family: 'Nunito', sans-serif;
}

/* Mobile */
@media (max-width: 768px) {
  .contact-faq { grid-template-columns: 1fr; }
}
/* ── WOOCOMMERCE SHOP PAGE ── */

/* Page background */
.woocommerce-page,
.woocommerce {
  background: #FFF8F0 !important;
}

/* Remove default WooCommerce breadcrumb */
.woocommerce-breadcrumb { display: none !important; }

/* Product grid container */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3,1fr) !important;
  gap: 22px !important;
  margin: 32px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

/* Individual product card */
.woocommerce ul.products li.product {
  background: #ffffff !important;
  border-radius: 18px !important;
  border: 2px solid rgba(26,16,64,0.09) !important;
  box-shadow: 0 4px 20px rgba(26,16,64,0.10) !important;
  overflow: hidden !important;
  transition: transform 0.3s, box-shadow 0.3s !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(26,16,64,0.14) !important;
}

/* Product image */
.woocommerce ul.products li.product img {
  border-radius: 16px 16px 0 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  transition: transform .4s !important;
}
.woocommerce ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

/* Product info area */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-family: 'Fredoka One', cursive !important;
  font-size: 1rem !important;
  color: #1A1040 !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
  line-height: 1.25 !important;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-family: 'Fredoka One', cursive !important;
  color: #FF2D78 !important;
  font-size: 1.05rem !important;
  padding: 0 16px 4px !important;
  margin: 0 !important;
  display: block !important;
}
.woocommerce ul.products li.product .price del {
  color: #6B5C8A !important;
  font-size: .85rem !important;
}

/* Add to cart / Select options button */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  background: #FF2D78 !important;
  color: #fff !important;
  border-radius: 50px !important;
  font-family: 'Fredoka One', cursive !important;
  font-size: .9rem !important;
  border: none !important;
  margin: 10px 14px 14px !important;
  padding: 11px 20px !important;
  width: calc(100% - 28px) !important;
  text-align: center !important;
  transition: opacity .2s !important;
  box-shadow: 0 4px 14px rgba(255,45,120,0.28) !important;
  display: block !important;
  text-decoration: none !important;
}
.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  opacity: .88 !important;
  background: #FF2D78 !important;
  color: #fff !important;
}

/* Sale badge */
.woocommerce span.onsale {
  background: #FF5F1F !important;
  border-radius: 50px !important;
  font-family: 'Fredoka One', cursive !important;
  font-size: .72rem !important;
  min-height: auto !important;
  min-width: auto !important;
  padding: 4px 12px !important;
  line-height: 1.4 !important;
  top: 10px !important;
  left: 10px !important;
  right: auto !important;
}

/* Ordering dropdown */
.woocommerce-ordering select {
  border: 2px solid rgba(26,16,64,0.09) !important;
  border-radius: 50px !important;
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  color: #1A1040 !important;
  padding: 8px 16px !important;
  background: #fff !important;
  outline: none !important;
}

/* Result count */
.woocommerce-result-count {
  font-family: 'Nunito', sans-serif !important;
  font-weight: 700 !important;
  color: #6B5C8A !important;
  font-size: .88rem !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  font-family: 'Fredoka One', cursive !important;
  border-radius: 50px !important;
  border: 2px solid rgba(26,16,64,0.09) !important;
  color: #6B5C8A !important;
  transition: all .2s !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #FF2D78 !important;
  border-color: #FF2D78 !important;
  color: #fff !important;
}

/* ── SINGLE PRODUCT PAGE ── */
.woocommerce div.product .product_title {
  font-family: 'Fredoka One', cursive !important;
  font-size: 2rem !important;
  color: #1A1040 !important;
}
.woocommerce div.product .price {
  font-family: 'Fredoka One', cursive !important;
  color: #FF2D78 !important;
  font-size: 1.5rem !important;
}
.woocommerce div.product .single_add_to_cart_button {
  background: #FF2D78 !important;
  border-radius: 50px !important;
  font-family: 'Fredoka One', cursive !important;
  border: none !important;
  font-size: 1rem !important;
  padding: 14px 32px !important;
  box-shadow: 0 5px 16px rgba(255,45,120,.3) !important;
  transition: opacity .2s !important;
}
.woocommerce div.product .single_add_to_cart_button:hover {
  opacity: .88 !important;
  background: #FF2D78 !important;
}

/* ── CART & CHECKOUT ── */
.woocommerce .cart .button,
.woocommerce .checkout-button {
  background: #FF2D78 !important;
  border-radius: 50px !important;
  font-family: 'Fredoka One', cursive !important;
  border: none !important;
  transition: opacity .2s !important;
}
.woocommerce .cart .button:hover,
.woocommerce .checkout-button:hover {
  opacity: .88 !important;
  background: #FF2D78 !important;
}

/* ── MOBILE ── */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}
@media (max-width: 900px) and (min-width: 769px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2,1fr) !important;
  }
}
/* ══ ESCAPE ROOM PAGE ══ */
.escape-hero { position:relative; overflow:hidden; }
.escape-hero::before {
  content:''; position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,95,31,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,95,31,.05) 1px,transparent 1px);
  background-size:40px 40px;
  animation:gridScroll 20s linear infinite;
}
@keyframes gridScroll { to { background-position:40px 40px; } }
.escape-hero::after {
  content:''; position:absolute;
  width:700px; height:700px;
  background:radial-gradient(circle,rgba(255,95,31,.15) 0%,transparent 70%);
  top:-200px; left:50%; transform:translateX(-50%);
  pointer-events:none;
}

/* ── ROOM CARDS ── */
.rooms-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px; margin-top:48px;
}
.room-card {
  background:#fff; border-radius:20px;
  border:2px solid rgba(26,16,64,.09);
  overflow:hidden; box-shadow:0 4px 20px rgba(26,16,64,.10);
  transition:transform .3s,box-shadow .3s;
}
.room-card:hover { transform:translateY(-6px); box-shadow:0 12px 40px rgba(26,16,64,.14); }
.room-card.coming { opacity:.75; border-style:dashed; }
.room-card.coming:hover { transform:translateY(-3px); }
.room-thumb {
  height:160px; display:flex;
  align-items:center; justify-content:center;
  font-size:4rem; position:relative;
}
.rt-mini    { background:linear-gradient(135deg,#fff0d6,#ffe4b0); }
.rt-standard{ background:linear-gradient(135deg,#ffd6e8,#ffb3cf); }
.rt-group   { background:linear-gradient(135deg,#e8d6ff,#d3b3ff); }
.rt-tournament{ background:linear-gradient(135deg,#d6f4e8,#aaecd1); }
.room-status {
  position:absolute; top:12px; right:12px;
  font-size:.6rem; font-weight:900;
  letter-spacing:1.5px; text-transform:uppercase;
  padding:4px 12px; border-radius:20px;
  font-family:'Nunito',sans-serif; color:#fff;
}
.rs-live   { background:#00C97A; }
.rs-coming { background:#6B5C8A; }
.room-info { padding:20px; }
.room-players {
  font-size:.68rem; font-weight:900;
  letter-spacing:2px; text-transform:uppercase;
  color:#6B5C8A; margin-bottom:6px;
  font-family:'Nunito',sans-serif;
}
.room-name { font-family:'Fredoka One',cursive; font-size:1.3rem; color:#1A1040; margin-bottom:6px; }
.room-desc { font-size:.85rem; color:#6B5C8A; font-weight:600; line-height:1.65; font-family:'Nunito',sans-serif; margin-bottom:14px; }
.room-meta { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.rmeta { font-size:.75rem; font-weight:800; color:#6B5C8A; font-family:'Nunito',sans-serif; display:flex; align-items:center; gap:4px; }
.room-price { font-family:'Fredoka One',cursive; font-size:1.6rem; color:#FF5F1F; margin-bottom:14px; display:block; }
.room-price span { font-size:.9rem; color:#6B5C8A; font-family:'Nunito',sans-serif; font-weight:700; }
.room-btn {
  display:block; width:100%; padding:12px;
  border-radius:50px; text-align:center;
  font-family:'Fredoka One',cursive; font-size:.92rem;
  text-decoration:none; transition:opacity .2s,transform .2s;
}
.room-btn:hover { opacity:.88; transform:scale(1.02); }
.rb-orange { background:#FF5F1F; color:#fff; box-shadow:0 4px 14px rgba(255,95,31,.28); }
.rb-pink   { background:#FF2D78; color:#fff; box-shadow:0 4px 14px rgba(255,45,120,.28); }
.rb-ghost  { background:transparent; color:#6B5C8A; border:2px solid rgba(26,16,64,.12); }
.rb-ghost:hover { border-color:#FF2D78; color:#FF2D78; }

/* ── UPSELL CARDS ── */
.upsell-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:48px; }
.upsell-card {
  background:#fff; border-radius:16px;
  border:2px solid rgba(26,16,64,.09);
  padding:20px 16px; text-align:center;
  box-shadow:0 4px 16px rgba(26,16,64,.08);
  transition:transform .3s;
}
.upsell-card:hover { transform:translateY(-4px); }
.upsell-icon  { font-size:2rem; margin-bottom:10px; }
.upsell-name  { font-family:'Fredoka One',cursive; font-size:.95rem; color:#1A1040; margin-bottom:4px; }
.upsell-price { font-family:'Fredoka One',cursive; font-size:1.1rem; color:#FF5F1F; margin-bottom:8px; }
.upsell-desc  { font-size:.78rem; color:#6B5C8A; font-weight:600; line-height:1.55; font-family:'Nunito',sans-serif; }

/* ── HOW IT WORKS STEPS ── */
.escape-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:48px; position:relative; }
.escape-steps::before {
  content:''; position:absolute;
  top:28px; left:10%; right:10%; height:2px;
  background:linear-gradient(90deg,#FF5F1F,#FF2D78);
  opacity:.14; z-index:0;
}
.escape-step { text-align:center; position:relative; z-index:1; }
.escape-step-num {
  width:56px; height:56px; border-radius:50%;
  background:linear-gradient(135deg,#FF5F1F,#FF2D78);
  color:#fff; font-family:'Fredoka One',cursive;
  font-size:1.4rem; display:flex;
  align-items:center; justify-content:center;
  margin:0 auto 14px;
  box-shadow:0 5px 18px rgba(255,95,31,.3);
}
.escape-step-title { font-family:'Fredoka One',cursive; font-size:1rem; color:#1A1040; margin-bottom:5px; }
.escape-step-desc  { font-size:.82rem; color:#6B5C8A; font-weight:600; line-height:1.6; font-family:'Nunito',sans-serif; }

/* ── AUDIENCE CARDS ── */
.escape-audience { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:48px; }
.aud-card {
  background:#fff; border-radius:18px;
  border:2px solid rgba(26,16,64,.09);
  padding:24px; display:flex; gap:18px; align-items:flex-start;
  box-shadow:0 4px 20px rgba(26,16,64,.08); transition:transform .3s;
}
.aud-card:hover { transform:translateY(-4px); }
.aud-ico { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; font-size:1.7rem; flex-shrink:0; }
.ai-o  { background:rgba(255,95,31,.1); }
.ai-p  { background:rgba(255,45,120,.1); }
.ai-pu { background:rgba(123,47,190,.1); }
.ai-b  { background:rgba(0,170,255,.1); }
.aud-title { font-family:'Fredoka One',cursive; font-size:1.1rem; color:#1A1040; margin-bottom:5px; }
.aud-desc  { font-size:.86rem; color:#6B5C8A; font-weight:600; line-height:1.65; font-family:'Nunito',sans-serif; }

/* ── FAQ ── */
.escape-faq { max-width:760px; margin:48px auto 0; display:flex; flex-direction:column; gap:12px; }
.escape-faq-item { background:#fff; border:2px solid rgba(26,16,64,.09); border-radius:14px; overflow:hidden; box-shadow:0 4px 20px rgba(26,16,64,.08); }
.escape-faq-q { padding:17px 20px; font-family:'Fredoka One',cursive; font-size:1rem; color:#1A1040; display:flex; justify-content:space-between; align-items:center; }
.escape-faq-q span { color:#FF5F1F; font-size:1.1rem; }
.escape-faq-a { padding:0 20px 15px; font-size:.88rem; color:#6B5C8A; font-weight:600; line-height:1.7; font-family:'Nunito',sans-serif; }

/* ── VIP BANNER ── */
.vip-escape-banner { position:relative; overflow:hidden; }
.vip-escape-banner::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:22px 22px;
}

/* ── ESCAPE CTA ── */
.escape-cta { position:relative; overflow:hidden; text-align:center; }
.escape-cta::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,95,31,.05) 1px,transparent 1px);
  background-size:28px 28px;
}

/* ── MOBILE ── */
@media(max-width:768px) {
  .rooms-grid      { grid-template-columns:1fr; }
  .upsell-grid     { grid-template-columns:repeat(2,1fr); }
  .escape-steps    { grid-template-columns:repeat(2,1fr); }
  .escape-steps::before { display:none; }
  .escape-audience { grid-template-columns:1fr; }
}
/* ══ GAME PAGE TEMPLATE ══ */

/* ── GAME HERO ── */
.game-hero {
  position:relative; overflow:hidden;
}
.game-hero::before {
  content:''; position:absolute; inset:0;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:28px 28px;
  pointer-events:none;
}

/* ── PLATFORM BADGES ── */
.platform-badges {
  display:flex; flex-wrap:wrap; gap:12px;
  margin-top:32px; position:relative; z-index:2;
}
.platform-btn {
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 20px; border-radius:50px;
  font-family:'Fredoka One',cursive; font-size:.88rem;
  text-decoration:none; transition:transform .2s,box-shadow .2s;
  border:2px solid rgba(255,255,255,.15);
  color:#fff; background:rgba(255,255,255,.1);
  backdrop-filter:blur(8px);
}
.platform-btn:hover { transform:translateY(-3px); background:rgba(255,255,255,.18); }
.platform-btn.primary {
  background:var(--yellow,#FFD600); color:#1A1040;
  border-color:transparent;
  box-shadow:0 6px 20px rgba(255,214,0,.4);
}
.platform-btn.primary:hover { box-shadow:0 10px 30px rgba(255,214,0,.55); }
.pb-icon { font-size:1rem; }

/* ── GAME STATS BAR ── */
.game-stats {
  display:flex; flex-wrap:wrap; gap:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px; overflow:hidden;
  margin-top:36px; position:relative; z-index:2;
  max-width:680px;
}
.game-stat {
  flex:1; padding:16px 14px; text-align:center;
  border-right:1px solid rgba(255,255,255,.08);
  min-width:100px;
}
.game-stat:last-child { border-right:none; }
.game-stat-val {
  font-family:'Fredoka One',cursive;
  font-size:1.4rem; color:#FFD600; display:block;
}
.game-stat-lbl {
  font-size:.68rem; font-weight:800;
  letter-spacing:.5px; color:rgba(255,255,255,.4);
  font-family:'Nunito',sans-serif;
  text-transform:uppercase; margin-top:2px; display:block;
}

/* ── BROWSER GAME EMBED ── */
.game-embed-wrap {
  position:relative; z-index:2;
  background:#0d0520; border-radius:20px;
  overflow:hidden; margin-top:32px;
  border:2px solid rgba(255,255,255,.08);
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.game-embed-bar {
  background:rgba(255,255,255,.06);
  padding:12px 20px;
  display:flex; align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.game-embed-title {
  font-family:'Fredoka One',cursive;
  font-size:.9rem; color:rgba(255,255,255,.7);
  display:flex; align-items:center; gap:8px;
}
.game-embed-dot {
  width:8px; height:8px; border-radius:50%;
  background:#00C97A; animation:blink 1.2s ease-in-out infinite;
}
.game-embed-bar a {
  font-family:'Fredoka One',cursive;
  font-size:.8rem; color:#FFD600;
  text-decoration:none; padding:5px 14px;
  background:rgba(255,214,0,.12);
  border-radius:50px; transition:background .2s;
}
.game-embed-bar a:hover { background:rgba(255,214,0,.22); }
.game-embed-frame {
  width:100%; height:600px; border:none; display:block;
}

/* ── FEATURE CARDS ── */
.game-features {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px; margin-top:48px;
}
.game-feat-card {
  background:#fff; border-radius:18px;
  border:2px solid rgba(26,16,64,.09);
  padding:24px 20px; text-align:center;
  box-shadow:0 4px 20px rgba(26,16,64,.08);
  transition:transform .3s;
}
.game-feat-card:hover { transform:translateY(-5px); }
.gf-icon { font-size:2.2rem; margin-bottom:10px; display:block; }
.gf-title {
  font-family:'Fredoka One',cursive;
  font-size:1rem; color:#1A1040; margin-bottom:5px;
}
.gf-desc {
  font-size:.82rem; color:#6B5C8A;
  font-weight:600; line-height:1.6;
  font-family:'Nunito',sans-serif;
}

/* ── SCREENSHOTS ── */
.game-screenshots {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px; margin-top:48px;
}
.game-screenshot {
  border-radius:14px; overflow:hidden;
  border:2px solid rgba(26,16,64,.09);
  box-shadow:0 4px 16px rgba(26,16,64,.1);
  transition:transform .3s;
  aspect-ratio:16/9;
  background:linear-gradient(135deg,#1A1040,#2d1060);
  display:flex; align-items:center; justify-content:center;
  font-size:3rem;
}
.game-screenshot img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.game-screenshot:hover { transform:scale(1.03); }

/* ── DETAIL GRID ── */
.game-details-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px; margin-top:48px;
}
.game-detail-card {
  background:#fff; border-radius:18px;
  border:2px solid rgba(26,16,64,.09);
  padding:24px; box-shadow:0 4px 20px rgba(26,16,64,.08);
}
.game-detail-title {
  font-family:'Fredoka One',cursive;
  font-size:1.1rem; color:#1A1040; margin-bottom:14px;
  display:flex; align-items:center; gap:8px;
}
.game-detail-list {
  list-style:none; display:flex;
  flex-direction:column; gap:8px;
}
.game-detail-list li {
  display:flex; align-items:flex-start; gap:8px;
  font-size:.86rem; color:#6B5C8A;
  font-weight:700; font-family:'Nunito',sans-serif;
  line-height:1.5;
}
.game-detail-list li::before {
  content:'✦'; color:var(--accent,#FF5F1F);
  font-size:.6rem; margin-top:3px; flex-shrink:0;
}

/* ── ALSO PLAY SECTION ── */
.also-play-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px; margin-top:48px;
}
.also-play-card {
  background:#fff; border-radius:18px;
  border:2px solid rgba(26,16,64,.09);
  overflow:hidden; box-shadow:0 4px 20px rgba(26,16,64,.08);
  text-decoration:none; color:inherit;
  transition:transform .3s,box-shadow .3s; display:block;
}
.also-play-card:hover { transform:translateY(-5px); box-shadow:0 12px 40px rgba(26,16,64,.14); }
.ap-thumb {
  height:120px; display:flex; align-items:center;
  justify-content:center; font-size:3rem;
}
.ap-info { padding:14px 16px 16px; }
.ap-genre {
  font-size:.62rem; font-weight:900;
  letter-spacing:2px; text-transform:uppercase;
  color:#6B5C8A; margin-bottom:3px;
  font-family:'Nunito',sans-serif;
}
.ap-name {
  font-family:'Fredoka One',cursive;
  font-size:1rem; color:#1A1040; margin-bottom:4px;
}
.ap-sub {
  font-size:.78rem; color:#6B5C8A;
  font-weight:700; font-family:'Nunito',sans-serif;
}

/* ── DARK CTA ── */
.game-cta-section {
  position:relative; overflow:hidden; text-align:center;
}
.game-cta-section::before {
  content:''; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:28px 28px;
}

/* Mobile */
@media(max-width:768px) {
  .game-features      { grid-template-columns:1fr; }
  .game-screenshots   { grid-template-columns:repeat(2,1fr); }
  .game-details-grid  { grid-template-columns:1fr; }
  .also-play-grid     { grid-template-columns:1fr 1fr; }
  .platform-badges    { gap:8px; }
  .game-embed-frame   { height:400px; }
  .game-stat          { min-width:80px; }
}
@media(max-width:480px) {
  .game-screenshots   { grid-template-columns:1fr; }
  .also-play-grid     { grid-template-columns:1fr; }
  .game-embed-frame   { height:320px; }
}
/* ══ SHOP PAGE ══ */

/* ── HERO ── */
.shop-hero {
  position: relative; overflow: hidden;
}
.shop-hero::before {
  content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(circle,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size: 28px 28px; pointer-events: none;
}

/* ── FILTER TABS ── */
.shop-filter-bar {
  display: flex; flex-wrap: wrap;
  gap: 10px; justify-content: center;
  margin-top: 32px; position: relative; z-index: 2;
}
.shop-filter-pill {
  padding: 9px 20px; border-radius: 50px;
  font-family: 'Fredoka One', cursive;
  font-size: .9rem; text-decoration: none;
  cursor: pointer; border: none;
  transition: all .2s;
  background: rgba(255,255,255,.08);
  color: rgba(255,255,255,.75);
  border: 1.5px solid rgba(255,255,255,.15);
}
.shop-filter-pill:hover,
.shop-filter-pill.active {
  background: #FFD600;
  border-color: #FFD600;
  color: #1A1040;
}

/* ── TRUST BAR ── */
.trust-bar {
  display: flex; gap: 0;
  background: #fff;
  border: 2px solid rgba(26,16,64,.09);
  border-radius: 18px; overflow: hidden;
  box-shadow: 0 4px 20px rgba(26,16,64,.08);
  margin-top: 48px;
}
.trust-item {
  flex: 1; padding: 20px 16px;
  text-align: center;
  border-right: 1px solid rgba(26,16,64,.06);
}
.trust-item:last-child { border-right: none; }
.trust-icon { font-size: 1.8rem; margin-bottom: 8px; display: block; }
.trust-title {
  font-family: 'Fredoka One', cursive;
  font-size: .9rem; color: #1A1040; margin-bottom: 3px;
}
.trust-desc {
  font-size: .75rem; color: #6B5C8A;
  font-weight: 700; font-family: 'Nunito', sans-serif;
}

/* ── WOOCOMMERCE PRODUCT GRID OVERRIDES ── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 22px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce ul.products li.product {
  background: #fff !important;
  border-radius: 20px !important;
  border: 2px solid rgba(26,16,64,.09) !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(26,16,64,.10) !important;
  transition: transform .3s, box-shadow .3s !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  width: auto !important;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 12px 40px rgba(26,16,64,.14) !important;
}
.woocommerce ul.products li.product a img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: 'Fredoka One', cursive !important;
  font-size: 1rem !important;
  color: #1A1040 !important;
  padding: 14px 16px 4px !important;
  margin: 0 !important;
}
.woocommerce ul.products li.product .price {
  font-family: 'Fredoka One', cursive !important;
  font-size: 1.1rem !important;
  color: #FF5F1F !important;
  padding: 0 16px 10px !important;
  display: block !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  display: block !important;
  width: calc(100% - 32px) !important;
  margin: 0 16px 16px !important;
  padding: 11px !important;
  background: #FF2D78 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  font-family: 'Fredoka One', cursive !important;
  font-size: .92rem !important;
  text-align: center !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: opacity .2s, transform .2s !important;
  box-shadow: 0 4px 14px rgba(255,45,120,.28) !important;
}
.woocommerce ul.products li.product .button:hover {
  opacity: .88 !important;
  transform: scale(1.02) !important;
}

/* ── WOOCOMMERCE PAGINATION ── */
.woocommerce nav.woocommerce-pagination ul {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  list-style: none !important;
  margin: 48px 0 0 !important;
  padding: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  font-family: 'Fredoka One', cursive !important;
  font-size: .95rem !important;
  text-decoration: none !important;
  border: 2px solid rgba(26,16,64,.12) !important;
  color: #6B5C8A !important;
  transition: all .2s !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #FF2D78 !important;
  border-color: #FF2D78 !important;
  color: #fff !important;
}

/* ── WOOCOMMERCE RESULTS COUNT & ORDERING ── */
.woocommerce .woocommerce-result-count {
  font-family: 'Nunito', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: #6B5C8A !important;
}
.woocommerce .woocommerce-ordering select {
  background: #fff !important;
  border: 2px solid rgba(26,16,64,.09) !important;
  border-radius: 50px !important;
  padding: 8px 16px !important;
  font-family: 'Nunito', sans-serif !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  color: #1A1040 !important;
  outline: none !important;
}

/* ── SALE BADGE ── */
.woocommerce ul.products li.product .onsale {
  background: #FF2D78 !important;
  color: #fff !important;
  font-family: 'Fredoka One', cursive !important;
  font-size: .75rem !important;
  border-radius: 50px !important;
  padding: 4px 12px !important;
  min-width: unset !important;
  min-height: unset !important;
  line-height: 1.4 !important;
  top: 12px !important;
  left: 12px !important;
}

/* Mobile */
@media (max-width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .trust-bar { flex-wrap: wrap; }
  .trust-item { min-width: 50%; }
}
@media (max-width: 480px) {
  .woocommerce ul.products {
    grid-template-columns: 1fr !important;
  }
}/* End custom CSS */