/* @import url(https://fonts.bunny.net/css?family=montserrat:300,300i,400,400i,500,500i,600i,700i,800,800i|dynapuff:400,500,600,700|fraunces:300,300i,400,400i,500i,600,600i,700,700i,800,800i|inter-tight:300,300i,400,400i,600,600i,700,700i,800,800i|pacifico:400;display=swap); */

@import url('https://fonts.googleapis.com/css2?family=DynaPuff:wght@400..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Pacifico&display=swap');

:root {

  font-size: 18px;

  /* ============================================================
     COLORS
  ============================================================ */

  /* Hun pinks */
  --hun-pink-900: #7A0040;
  /* darkest – used for deep text shadows */
  --hun-pink-800: #A0005A;
  /* dark accent */
  --hun-pink-700: #C0006E;
  /* deep pink – borders, strokes, dark CTA states */
  --hun-pink-600: #D4007A;
  /* mid-dark – nav background base */
  --hun-pink-500: #E91E8C;
  /* primary hot-pink – main brand CTA, headings */
  --hun-pink-400: #F050A0;
  /* mid-light – hover states */
  --hun-pink-300: #FF80C0;
  /* light pink – hero text fill highlight */
  --hun-pink-200: #FFB3D7;
  /* pale pink – lighter backgrounds, cards */
  --hun-pink-100: #FFD6EC;
  /* very pale – section backgrounds */
  --hun-pink-50: #FFF0F7;
  /* near-white pink – lightest backgrounds */

  --hun-pink-200-alpha: #FFB3D780;
  --hun-pink-200-alpha-strong: #FFB3D7CC;
  --hun-pink-300-alpha: #FF80C080;
  --hun-pink-300-alpha-strong: #FF80C0CC;
  --hun-pink-500-alpha: rgba(233, 30, 140, 0.5);
  --hun-pink-500-alpha-strong: rgba(233, 30, 140, 0.8);
  --hun-pink-600-alpha: rgba(212, 0, 122, 0.5);
  --hun-pink-600-alpha-strong: rgba(212, 0, 122, 0.8);

  /* Semantic aliases */
  --hun-color-primary: var(--hun-pink-500);
  --hun-color-primary-dark: var(--hun-pink-700);
  --hun-color-primary-light: var(--hun-pink-300);

  /* Backgrounds */
  --hun-bg-nav: var(--hun-pink-600);
  /* nav gradient start */
  --hun-bg-hero: var(--hun-pink-200);
  /* hero gradient mid */
  --hun-bg-section-pale: var(--hun-pink-50);
  /* "What's the Deal?" bg */
  --hun-bg-section-mid: var(--hun-pink-100);
  /* light section bg */
  --hun-bg-section-pink: var(--hun-pink-500);
  /* "It's Giving" + CTA bg */
  --hun-bg-card: #FFFFFF;
  --hun-bg-feature-card: var(--hun-pink-700);
  /* dark feature pills */

  /* Text */
  --hun-text-white: #FFFFFF;
  --hun-text-dark: #2D0015;
  /* near-black for body on light bg */
  --hun-text-pink: var(--hun-pink-700);
  --hun-text-mid: var(--hun-pink-600);
  --hun-text-muted: rgba(45, 0, 21, 0.6);

  /* Accents */
  --hun-gold: #D4A017;
  /* coin / gold decoration */
  --hun-gold-light: #F0C040;
  --hun-white: #FFFFFF;

  /* Overlays */
  --hun-overlay-light: rgba(255, 255, 255, 0.85);
  --hun-overlay-pink: rgba(233, 30, 140, 0.12);

  /* Borders */
  --hun-border-subtle: rgba(233, 30, 140, 0.18);
  --hun-border-mid: rgba(233, 30, 140, 0.40);
  --hun-border-strong: var(--hun-pink-500);


  /* ============================================================
     SPACING  (8-point base)
  ============================================================ */

  --hun-space-1: 0.25rem;
  /*  4px */
  --hun-space-2: 0.5rem;
  /*  8px */
  --hun-space-3: 0.75rem;
  /* 12px */
  --hun-space-4: 1rem;
  /* 16px */
  --hun-space-5: 1.25rem;
  /* 20px */
  --hun-space-6: 1.5rem;
  /* 24px */
  --hun-space-8: 2rem;
  /* 32px */
  --hun-space-10: 2.5rem;
  /* 40px */
  --hun-space-12: 3rem;
  /* 48px */
  --hun-space-16: 4rem;
  /* 64px */
  --hun-space-20: 5rem;
  /* 80px */
  --hun-space-24: 6rem;
  /* 96px */

  /* Section padding */
  --hun-section-py: var(--hun-space-16);
  --hun-section-py-sm: var(--hun-space-10);


  /* ============================================================
     TYPOGRAPHY
  ============================================================ */

  --hun-font-display: 'DynaPuff', serif;
  --hun-font-body: 'Montserrat', sans-serif;
  --hun-font-script: 'Pacifico', cursive;

  /* Scale */
  --hun-text-xs: 0.75rem;
  /* 12px */
  --hun-text-sm: 0.875rem;
  /* 14px */
  --hun-text-base: 1rem;
  /* 16px */
  --hun-text-lg: 1.125rem;
  /* 18px */
  --hun-text-xl: 1.25rem;
  /* 20px */
  --hun-text-2xl: 1.5rem;
  /* 24px */
  --hun-text-3xl: 1.875rem;
  /* 30px */
  --hun-text-4xl: 2.25rem;
  /* 36px */
  --hun-text-5xl: 3rem;
  /* 48px */
  --hun-text-6xl: 3.75rem;
  /* 60px */
  --hun-text-7xl: 4.5rem;
  /* 72px */
  --hun-text-hero: clamp(2.75rem, 8vw, 5rem);
  /* fluid hero heading */

  /* Fluid text sizes */

  /* Fluid base text */
  --hun-text-base-fluid: clamp(0.8rem, 4vw, 1.2rem);
  /* Fluid xs text */
  --hun-text-xs-fluid: clamp(0.5rem, 2.5vw, 0.875rem);
  /* Fluid sm text */
  --hun-text-sm-fluid: clamp(0.75rem, 3vw, 1rem);
  /* Fluid lg text */
  --hun-text-lg-fluid: clamp(1.1rem, 4.5vw, 1.25rem);
  /* Fluid xl text */
  --hun-text-xl-fluid: clamp(1.2rem, 5vw, 1.5rem);
  /* Fluid 2xl text */
  --hun-text-2xl-fluid: clamp(1.3rem, 5.5vw, 1.875rem);
  /* Fluid 3xl text */
  --hun-text-3xl-fluid: clamp(1.5rem, 6vw, 3rem);
  /* Fluid 4xl text */
  --hun-text-4xl-fluid: clamp(2rem, 7vw, 3.75rem);
  /* Fluid 5xl text */
  --hun-text-5xl-fluid: clamp(2.5rem, 8vw, 4.5rem);
  /* Fluid 6xl text */
  --hun-text-6xl-fluid: clamp(3rem, 9vw, 5rem);
  /* Fluid 7xl text */
  --hun-text-7xl-fluid: clamp(4rem, 10vw, 6rem);

  /* Weights */
  --hun-weight-normal: 400;
  --hun-weight-semibold: 600;
  --hun-weight-bold: 700;
  --hun-weight-extrabold: 800;
  --hun-weight-black: 900;

  /* Line heights */
  --hun-leading-tight: 1.05;
  --hun-leading-snug: 1.2;
  --hun-leading-normal: 1.5;
  --hun-leading-loose: 1.75;


  /* ============================================================
     BORDER RADIUS
  ============================================================ */

  --hun-radius-sm: 0.5rem;
  /*  8px */
  --hun-radius-md: 0.75rem;
  /* 12px */
  --hun-radius-lg: 1rem;
  /* 16px */
  --hun-radius-xl: 1.5rem;
  /* 24px */
  --hun-radius-2xl: 2rem;
  /* 32px */
  --hun-radius-full: 9999px;


  /* ============================================================
     SHADOWS
  ============================================================ */

  --hun-shadow-sm: 0 2px 8px rgba(192, 0, 110, 0.15);
  --hun-shadow-md: 0 4px 16px rgba(192, 0, 110, 0.25);
  --hun-shadow-lg: 0 8px 32px rgba(192, 0, 110, 0.35);
  --hun-shadow-card: 0 4px 20px rgba(192, 0, 110, 0.18);
  --hun-shadow-btn: 0 4px 12px rgba(192, 0, 110, 0.45);

  /* Hero text balloon effect */
  --hun-text-shadow-balloon:
    2px 2px 0 var(--hun-pink-700),
    4px 4px 0 var(--hun-pink-800),
    0 8px 24px rgba(120, 0, 50, 0.45);


  /* ============================================================
     GRADIENTS
  ============================================================ */

  --hun-gradient-nav:
    linear-gradient(90deg, var(--hun-pink-600-alpha-strong) 0%, var(--hun-pink-500-alpha-strong) 100%);

  --hun-gradient-hero:
    radial-gradient(ellipse at 50% 0%, #FFCCE5 0%, #FFB3D7 25%, #F050A0 60%, #C0006E 100%);

  /* Subtle cloud overlays used inside hero */
  --hun-gradient-cloud:
    radial-gradient(ellipse 280px 140px at 8% 35%, rgba(255, 255, 255, 0.45) 0%, transparent 70%),
    radial-gradient(ellipse 340px 160px at 85% 25%, rgba(255, 255, 255, 0.35) 0%, transparent 70%),
    radial-gradient(ellipse 260px 120px at 50% 65%, rgba(255, 255, 255, 0.2) 0%, transparent 70%);

  --hun-gradient-section-light:
    linear-gradient(0deg, rgba(var(--hun-pink-50), 0) 0%, rgba(var(--hun-pink-50), 0.3) 50%, rgba(var(--hun-pink-50), 0) 100%);

  --hun-gradient-cta-btn:
    linear-gradient(180deg, #FF4DA0 0%, var(--hun-pink-500) 100%);

  --hun-gradient-feature-card:
    linear-gradient(145deg, var(--hun-pink-500) 0%, var(--hun-pink-700) 100%);

  --hun-gradient-game-card:
    linear-gradient(180deg, rgba(255, 255, 255, 0.0) 0%, rgba(255, 255, 255, 1) 60%);


  /* ============================================================
     TRANSITIONS
  ============================================================ */

  --hun-transition-fast: 150ms ease;
  --hun-transition-normal: 250ms ease;
  --hun-transition-slow: 400ms ease;


  /* ============================================================
     Z-INDEX
  ============================================================ */

  --hun-z-base: 0;
  --hun-z-above: 10;
  --hun-z-overlay: 20;
  --hun-z-nav: 50;
  --hun-z-modal: 100;
}

/* ─── Base ───────────────────────────────────────────── */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  width: auto !important;
}

body {
  font-family: var(--hun-font-body);
  background-color: var(--hun-pink-50);
  color: var(--hun-pink-900);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden !important;
}

a {
  text-decoration: none;
  color: var(--hun-pink-700);
}

.font-script {
  font-family: var(--hun-font-script);
  font-size: var(--hun-text-lg);
}

.form-label {
  font-weight: var(--hun-weight-semibold);
  color: var(--hun-pink-900);
}

.hun-balloon {
  font-family: var(--hun-font-display);
  line-height: var(--hun-leading-tight);
  background: linear-gradient(180deg, #FFFFFF 0%, var(--hun-pink-300) 30%, var(--hun-pink-500) 65%, var(--hun-pink-700) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  filter:
    drop-shadow(2px 3px 0px var(--hun-pink-700)) drop-shadow(4px 5px 0px var(--hun-pink-800)) drop-shadow(0px 10px 20px rgba(120, 0, 50, 0.45));
  letter-spacing: 0.01em;
  display: none;
}

p {
  font-size: var(--hun-text-base-fluid);
}

h1 {
  font-size: var(--hun-text-4xl-fluid);
}

h2 {
  font-size: var(--hun-text-2xl-fluid);
}

h3 {
  font-size: var(--hun-text-xl-fluid);
}

h4 {
  font-size: var(--hun-text-sm-fluid);
}

.hun-heading,
h1,
h2,
h3,
h4 {
  font-family: var(--hun-font-display);
  font-weight: var(--hun-weight-bold);
  color: var(--hun-pink-500);
  line-height: var(--hun-leading-tight);
}

h5,
h6 {
  font-size: var(--hun-text-sm-fluid);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-500);
  line-height: var(--hun-leading-snug);
  text-transform: uppercase;
}

h6 {
  font-size: var(--hun-text-xs-fluid);
}

div.section-title-container {
  text-align: center;
  margin-bottom: var(--hun-space-4);
  position: relative;
}

h2.section-title {
  font-family: var(--hun-font-display);
  font-size: var(--hun-text-hero);
  font-weight: var(--hun-weight-bold);
  color: transparent;
  line-height: var(--hun-leading-tight);
  text-align: center;
  margin-bottom: var(--hun-space-4);
  background-image: url('/assets/images/backgrounds/red-pink-gradient-bg.jpg');
  background-position: 100% 100%;
  background-repeat: no-repeat;
  background-clip: text;
  background-size: cover;
  position: relative;
  z-index: 1;
  letter-spacing: -0.015em;
}

h2.section-title-underlay {
  font-family: var(--hun-font-display);
  font-size: var(--hun-text-hero);
  font-weight: var(--hun-weight-bold);
  color: transparent;
  line-height: var(--hun-leading-tight);
  text-align: center;
  margin-bottom: var(--hun-space-4);
  position: absolute;
  background: none;
  z-index: 0;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  text-shadow: 0 0 20px rgba(255, 255, 255, 1);
  letter-spacing: -0.015em;
}

div.light h2.section-title {
  background-image: url('/assets/images/backgrounds/light-pink-gradient-bg.jpg');
  background-position: top right;
  background-repeat: no-repeat;
  background-clip: text;
  background-size: cover;
}

div.light h2.section-title-underlay {
  text-shadow: 0 0 20px var(--hun-pink-600-alpha);
}

.text-xs {
  font-size: var(--hun-text-xs-fluid);
}

.text-sm {
  font-size: var(--hun-text-sm-fluid);
}

.text-xl {
  font-size: var(--hun-text-xl-fluid);
}

.text-2xl {
  font-size: var(--hun-text-2xl-fluid);
}

.text-3xl {
  font-size: var(--hun-text-3xl-fluid);
}

.text-4xl {
  font-size: var(--hun-text-4xl-fluid);
}

.text-5xl {
  font-size: var(--hun-text-5xl-fluid);
}

.text-6xl {
  font-size: var(--hun-text-6xl-fluid);
}

.text-7xl {
  font-size: var(--hun-text-7xl-fluid);
}

.stc-sm h2.section-title {
  font-size: var(--hun-text-4xl-fluid);
}

.stc-sm h2.section-title-underlay {
  font-size: var(--hun-text-4xl-fluid);
}

.stc-md h2.section-title {
  font-size: var(--hun-text-5xl-fluid);
}

.stc-md h2.section-title-underlay {
  font-size: var(--hun-text-5xl-fluid);
}

.stc-xs h2.section-title {
  font-size: var(--hun-text-3xl-fluid);
}

.stc-xs h2.section-title-underlay {
  font-size: var(--hun-text-3xl-fluid);
}

.stc-left h2.section-title {
  text-align: left !important;
}

.stc-left h2.section-title-underlay {
  text-align: left !important;
}

.hun-heading-white {
  font-family: var(--hun-font-display);
  color: #fff;
  line-height: var(--hun-leading-snug);
  text-shadow: 0 2px 8px rgba(120, 0, 50, 0.4);
}

/* --- Registration Form --- */

.input-popup .success {
  color: rgb(43, 104, 43);
}

.input-popup .success::after {
  content: '✔';
}

.input-popup .error {
  color: rgb(210, 0, 0);
}

.input-popup .error::after {
  content: '✖';
}

/* ─── Nav ────────────────────────────────────────────── */
.hun-nav,
.nav-pills .nav-link.active {
  background: var(--hun-gradient-nav);
}

.nav-link {
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-normal);
  border-right: 1px solid #fff6;
}

.nav-item:last-of-type a,
.nav-link.no-border {
  border-right: none;
}

.nav-link:hover {
  color: var(--hun-pink-900);
}

.nav-timer {
  width: 3rem;
  display: inline-block;
  text-align: right;
}

/* ─── Hero ───────────────────────────────────────────── */
.hun-hero {
  /* background: url('/assets/images/backgrounds/head-bg.jpg') bottom/cover no-repeat; */
  z-index: 1;
  position: relative;
  overflow: hidden;
  aspect-ratio: 2.5/1;
}

.hun-hero-bg {
  /* background: url('/assets/images/backgrounds/head-bg.jpg') bottom/cover no-repeat; */
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: 0;
  aspect-ratio: 2/1;
}

@media (max-width: 540px) {
  .hun-hero {
    aspect-ratio: 1/1.3;
  }

  .hun-hero-bg {
    aspect-ratio: 1/1.3;
  }
}

.hun-hero::before {
  /* content: '';
  position: absolute;
  inset: 0;
  /* background: var(--hun-gradient-cloud); */
  /*pointer-events: none; */
}

/* Sparkle / star scatter – purely decorative */
.hun-hero::after {
  /* content: '✦ ✦ ✦ ✦ ✦ ✦';
  position: absolute;
  top: 12%;
  left: 0;
  right: 0;
  text-align: center;
  color: rgba(255, 255, 255, 0.25);
  font-size: 1.25rem;
  letter-spacing: 4rem;
  pointer-events: none; */
}

.main-container {
  background: url('/assets/images/backgrounds/head-bg.jpg') top/cover no-repeat;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--hun-space-4);
  padding-right: var(--hun-space-4);
}

.long-container {
  background: url('/assets/images/backgrounds/pink-clouds-long-bg.jpg') top/cover no-repeat;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--hun-space-4);
  padding-right: var(--hun-space-4);
}

.halloween .main-container {
  background: url('/assets/images/backgrounds/halloween-clouds-bg.jpg') top/cover no-repeat;
}

@media (max-width: 767.98px) {
  .halloween .main-container {
    background: url('/assets/images/backgrounds/halloween-clouds-bg-mob.jpg') top/cover no-repeat;
  }
}

/* ─── Buttons ────────────────────────────────────────── */
.hun-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4em;
  background: var(--hun-gradient-cta-btn);
  color: #fff;
  font-family: var(--hun-font-body);
  font-weight: 800;
  font-size: var(--hun-text-lg);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  padding: 0.75rem 2rem;
  border-radius: var(--hun-radius-full);
  box-shadow: var(--hun-shadow-btn);
  transition: filter var(--hun-transition-fast), transform var(--hun-transition-fast);
  white-space: nowrap;
}

.hun-btn-primary:hover {
  filter: brightness(1.25);
  transform: translateY(-2px) scale(1.1);
  color: #fff;
}

.hun-btn-primary.active {
  color: #fff;
}



.hun-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.4em;
  background: var(--hun-pink-200-alpha);
  color: var(--hun-pink-500);
  font-family: var(--hun-font-body);
  font-weight: 800;
  font-size: var(--hun-text-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.75rem 1.75rem;
  border: 2px solid rgba(255, 255, 255, 0.7);
  border-radius: var(--hun-radius-full);
  transition: background var(--hun-transition-fast), transform var(--hun-transition-fast);
  white-space: nowrap;
}

.hun-btn-outline.primary {
  background: transparent;
  border-color: var(--hun-pink-500);
  color: var(--hun-pink-500);
}

.hun-btn-outline.primary:hover {
  background: var(--hun-pink-500);
  transform: translateY(-2px) scale(1.1);
  color: #fff;
}

.hun-btn-icon {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  padding: 0.5rem 0.75rem;
  border-width: 0;
}

.hun-btn-icon.left {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

.hun-btn-icon.right {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.qty {
  line-height: 2rem;
  font-size: var(--hun-text-lg);
  color: var(--hun-pink-700);
  font-weight: var(--hun-weight-bold);
  text-align: center;
  border-color: var(--hun-pink-300);
  border-style: solid;
  width: 4rem;
}

.hun-btn-outline:hover {
  background: var(--hun-pink-200-alpha-strong);
  transform: translateY(-1px);
  color: var(--hun-pink-700);
}

.hun-btn-dark {
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
  background: var(--hun-pink-700);
  color: #fff;
  font-family: var(--hun-font-body);
  font-weight: 800;
  font-size: var(--hun-text-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.7rem 1.75rem;
  border-radius: var(--hun-radius-full);
  box-shadow: var(--hun-shadow-sm);
  transition: filter var(--hun-transition-fast);
  white-space: nowrap;
}

.hun-btn-dark:hover {
  filter: brightness(1.1);
}

/* ─── Stat ticker ────────────────────────────────────── */
.hun-ticker {
  background: var(--hun-pink-200);
  backdrop-filter: blur(4px);
  overflow: hidden;
}

.hun-ticker div {
  background: var(--hun-pink-200);
  animation: mqs-01-scroll 28s linear infinite;
}

@keyframes mqs-01-scroll {
  to {
    transform: translateX(calc(-100% - 64px));
  }
}

/* ─── Cards ──────────────────────────────────────────── */
.hun-card {
  background: var(--hun-bg-card);
  border-radius: var(--hun-radius-xl);
  box-shadow: var(--hun-shadow-card);
}

.hun-step-number {
  font-family: var(--hun-font-display);
  color: var(--hun-pink-500);
  font-size: var(--hun-text-3xl);
  line-height: 1;
  height: 40px;
  width: 65px;
}

/* ─── Feature pills ──────────────────────────────────── */
.hun-feature-pill {
  background: var(--hun-gradient-feature-card);
  border-radius: var(--hun-radius-xl);
  box-shadow: var(--hun-shadow-md);
}

/* ─── Chat messages ──────────────────────────────────── */
.hun-chat-bubble {
  background: rgba(255, 255, 255, 0.88);
  border-radius: var(--hun-radius-lg);
  box-shadow: var(--hun-shadow-sm);
}

.hun-avatar {
  width: 2rem;
  height: 2rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-gradient-feature-card);
  flex-shrink: 0;
}

/* ─── Game cards ─────────────────────────────────────── */
.hun-game-card {
  background: #fff;
  border-radius: var(--hun-radius-2xl);
  overflow: hidden;
  box-shadow: var(--hun-shadow-card);
  border: 2px solid var(--hun-border-subtle);
  padding: 0.5rem;
}

.hun-game-card-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/9;
  border-top-left-radius: var(--hun-radius-sm);
  border-top-right-radius: var(--hun-radius-sm);
}

.hun-game-card-img::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 20%;
  background: var(--hun-gradient-game-card);
}

/* ─── Game card carousel ─────────────────────────────── */
.hun-carousel-track {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 0.5rem;
}

.hun-carousel-track::-webkit-scrollbar {
  display: none;
}

.hun-carousel-item {
  flex: 0 0 100%;
  scroll-snap-align: start;
}

@media (min-width: 576px) {
  .hun-carousel-item {
    flex-basis: calc((100% - 1.5rem) / 2);
  }
}

@media (min-width: 992px) {
  .hun-carousel-item {
    flex-basis: calc((100% - 3rem) / 3);
  }
}

.hun-carousel-btn:disabled {
  opacity: 0.35;
  pointer-events: none;
}

/* ─── Receipts ticker ────────────────────────────────── */
@keyframes hun-scroll {
  from {
    transform: translateX(0);
  }

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

.hun-scroll-track {
  display: flex;
  gap: 2.5rem;
  animation: hun-scroll 28s linear infinite;
  width: max-content;
}

/* ─── Latest wins ticker (home) ──────────────────────── */
/*
 * Two identical .hun-receipts__group copies sit side by side and each slides
 * left by 100% of its own width, then restarts — copy 2 ends exactly where
 * copy 1 began, so the loop is seamless. Spacing is padding-right equal to
 * the gap (not a gap between groups) so both copies are the same width.
 * --hun-receipts-duration is set inline from the item count to keep the speed
 * constant however many wins there are.
 */
.hun-receipts {
  display: flex;
  width: 100%;
  min-width: 0;
  border-top-left-radius: 3rem;
  border-bottom-left-radius: 3rem;
  border-top-right-radius: 3rem;
  border-bottom-right-radius: 3rem;
  border-left: 6px dotted var(--hun-pink-500);
  border-right: 6px dotted var(--hun-pink-500);
}

.hun-receipts__group {
  display: flex;
  flex: 0 0 auto;
  /* Few wins: spread them across the width so there's no blank stretch. */
  min-width: 100%;
  justify-content: space-around;
  gap: 1rem;
  padding-right: 1rem;
  animation: hun-receipts-scroll var(--hun-receipts-duration, 80s) linear infinite;
}

.hun-receipts:hover .hun-receipts__group,
.hun-receipts:focus-within .hun-receipts__group {
  animation-play-state: paused;
}

@keyframes hun-receipts-scroll {
  to {
    transform: translateX(-100%);
  }
}

@media (prefers-reduced-motion: reduce) {

  /* Beats Bootstrap's .overflow-hidden utility, which is !important. */
  .hun-receipts.overflow-hidden {
    overflow-x: auto !important;
  }

  .hun-receipts__group {
    animation: none;
  }

  .hun-receipts__group[aria-hidden="true"] {
    display: none;
  }
}

/* ─── Section decoration ─────────────────────────────── */
/*
         * AMBIGUOUS: The heading decorations (small zigzag sparks / lightning
         * bolts flanking "WHAT'S THE DEAL?" etc.) appear to be small
         * illustration assets. Represented here as Unicode characters.
         */
.hun-deco::before,
.hun-deco::after {
  content: '⚡';
  display: inline-block;
  margin: 0 0.5em;
  font-size: 0.7em;
  vertical-align: middle;
  color: var(--hun-pink-500);
}

/* Phone mockup border */
.hun-phone {
  border: 4px solid #fff;
  border-radius: 2rem;
  box-shadow: 0 8px 32px rgba(120, 0, 50, 0.35);
  overflow: hidden;
}

/* Welcome ticket */
.hun-ticket {
  background: #fff;
  border-radius: var(--hun-radius-xl);
  border: 3px dashed var(--hun-pink-300);
  box-shadow: var(--hun-shadow-md);
}

.hun-gradient-section-light {
  background: var(--hun-gradient-section-light);
}


#its-giving {
  color: #fff;
  /* border-radius: var(--hun-radius-2xl); */
  /* box-shadow: var(--hun-shadow-lg); */
  padding: var(--hun-space-10) var(--hun-space-6);

}

.content-box {
  background: radial-gradient(circle, rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%);
}

.hun-nav-logo {
  margin-bottom: -1.5rem;
  max-width: 160px;
}

.whats-the-deal {
  background: url('/assets/images/backgrounds/whats-the-deal-bg.png') center/cover no-repeat;
  border-radius: var(--hun-radius-2xl);
  box-shadow: var(--hun-shadow-lg);
  padding: var(--hun-space-10) var(--hun-space-6);
}

.whats-the-deal .hun-card {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--hun-radius-xl);
  border: 2px solid var(--hun-border);
}

@keyframes ticker {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}

.policy {
  font-size: 0.8rem;
  line-height: 1.2;
  color: var(--hun-pink-900);
  padding: var(--hun-space-6) var(--hun-space-4);
  background-color: var(--hun-pink-50);
  border-radius: var(--hun-radius-lg);
  box-shadow: var(--hun-shadow-sm);
}

.policy p {
  margin-bottom: var(--hun-space-2);
}

.policy h2 {
  font-size: 1.2rem;
  font-weight: var(--hun-weight-bold);
  margin-top: var(--hun-space-4);
  margin-bottom: var(--hun-space-2);
}

.policy h3 {
  font-size: 1rem;
  font-weight: var(--hun-weight-bold);
  margin-top: var(--hun-space-4);
  margin-bottom: var(--hun-space-2);
}

.footer-socials a {
  color: var(--hun-pink-700);
  font-size: 2rem;
  margin-right: var(--hun-space-1);
}

.footer-socials a:hover {
  color: var(--hun-pink-900);
}

.screen-reader-text {
  display: none;
}

.card {
  background-color: rgba(255, 255, 255, 0.25);
  border-color: var(--hun-pink-200-alpha);
  border-radius: var(--hun-radius-lg);
}

.card.nested {
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: var(--hun-radius-md);
}

.opaque {
  background-color: rgba(255, 255, 255, 0.75);
}

.wallet-sidebar .card {
  padding: 2vh 2vw 1vh 2vw;
}

.wallet-sidebar ul {
  list-style: none;
  padding-left: 0;
}

.table-striped>tbody>tr:nth-of-type(2n+1)>* {
  background-color: var(--hun-pink-200-alpha);
}

.price,
.total-price {
  text-align: center;
  font-size: var(--hun-text-2xl-fluid);
  font-weight: var(--hun-weight-bold);
  color: var(--hun-pink-700);
}

.total-price {
  font-size: var(--hun-text-2xl-fluid);
  line-height: 1;
}

small {
  font-size: 0.8rem;
  color: var(--hun-pink-700);
  line-height: var(--hun-leading-snug);
}

.rangeslider {
  position: relative;
  height: 12px;
  border-radius: 0px;
  width: 100%;
  background-color: var(--hun-pink-200);
}

.rangeslider__labels__label {
  font-size: 0.8em;
  position: relative;
  top: 10px;
  color: gray;
}

.rangeslider__fill {
  position: absolute;
  top: 0;
  z-index: 1;
  height: 100%;
  background-color: var(--hun-pink-700);
  border-radius: 0px;
}


.rangeslider__handle {
  transition: background-color 0.2s;
  box-sizing: border-box;
  width: 1rem;
  height: 1rem;
  border-radius: 100%;
  background-color: var(--hun-pink-500);
  touch-action: pan-y;
  cursor: pointer;
  display: inline-block;
  position: absolute;
  z-index: 3;
  top: -0.25rem;
  left: -0.5rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), inset 0 0 0 2px white;
}

.rangeslider__handle__value {
  background-color: transparent;
}


.rangeslider__handle:before {
  border-top-color: transparent;
}


.competition-countdown-wrapper {
  flex: 0 0 40%;
  max-width: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 767.98px) {
  .competition-countdown-wrapper {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.competition-countdown-wrapper .countdown {
  background-color: transparent;
  padding: 0;
  max-width: 282px;
  margin: 0;
}

@media (max-width: 767.98px) {
  .competition-countdown-wrapper .countdown {
    margin-right: auto;
    margin-left: auto;
  }
}

.competition-countdown-wrapper .countdown div {
  display: inline-block;
  text-align: center;
  font-size: 0.875rem;
  text-transform: uppercase;
  width: 77px;
  padding: 5px 1px;
  font-weight: unset;
  background-color: transparent;
  color: #4e4e55;
  border-radius: 4px;
  border: 0;
  margin: 0 5px;
  position: relative;
}

.competition-countdown-wrapper .countdown div:after {
  background-color: #01934d;
}

.competition-countdown-wrapper .countdown span {
  display: block;
  font-size: 1.875rem;
  line-height: 1;
  color: #181818;
  letter-spacing: 0;
  position: relative;
  padding-bottom: 0;
  margin-bottom: 0;
}


.alert-success {
  --bs-alert-color: var(--hun-pink-700);
  --bs-alert-bg: var(--hun-pink-100);
  --bs-alert-border-color: var(--hun-pink-300);
  font-weight: var(--hun-weight-semibold);
  text-align: center;
}

.alert-info,
.alert-error {
  --bs-alert-color: white;
  --bs-alert-bg: var(--hun-pink-500);
  --bs-alert-border-color: var(--hun-pink-300);
  font-weight: var(--hun-weight-semibold);
  text-align: center;
}

.comp-thumbnail {
  width: 100%;
  height: auto;
}

hr {
  border: 0;
  border-top: 1px solid var(--hun-pink-300);
  margin: 0.25rem 0;
}

.table {
  --bs-table-border-color: var(--hun-pink-300);
}

.accordion-button {
  background-color: var(--hun-pink-200-alpha);
  color: var(--hun-pink-700);
}

.accordion-button:not(.collapsed) {
  background-color: var(--hun-pink-100);
  color: var(--hun-pink-700);
}

.competition-detail-image {
  padding: 0;
  background-color: var(--hun-pink-200);
}

.competition-detail-page {
  --comp-pink: #ed1770;
  --comp-pink-dark: #b40750;
  --comp-ink: #351127;
  --comp-soft: #fff1f6;
  --comp-border: #f3c9d9;
  width: 100%;
  color: var(--comp-ink);
  background-color: var(--comp-soft);
}

.competition-detail-page__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  color: var(--comp-ink);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.competition-detail-page__back:hover {
  color: var(--comp-pink-dark);
}

.competition-detail-page__hero {
  align-items: stretch;
  margin-right: 0;
  margin-left: 0;
}

.competition-detail-page__gallery,
.competition-detail-page__purchase {
  border: 1px solid var(--comp-border);
  background: #fff;
}

.competition-detail-page__gallery {
  display: flex;
  padding: 0;
  overflow: hidden;
  border-radius: 8px 0 0 8px;
}

.competition-detail-page__gallery img {
  width: 100%;
  min-height: 470px;
  object-fit: cover;
}

.competition-detail-page__purchase {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(24px, 4vw, 46px);
  border-left: 0;
  border-radius: 0 8px 8px 0;
}

.competition-detail-page__purchase h1 {
  margin-bottom: 8px;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  line-height: 1.05;
}

.competition-detail-page__intro {
  margin-bottom: 24px;
  color: #735667;
}

.competition-detail-page .btn-group .mode {
  flex: 1 1 0;
  min-width: 0;
  width: auto !important;
  white-space: normal;
}

.competition-detail-page .price,
.competition-detail-page .total-price {
  color: var(--comp-pink-dark);
  text-align: center;
}

.competition-detail-page .total-price .amount {
  font-size: 2.25rem;
  font-weight: 800;
}

.competition-detail-page .competition-requirements-wrapper {
  max-width: 1140px;
  margin: 18px auto 32px;
  padding: 14px 20px;
  border: 1px solid var(--comp-border);
  border-radius: 6px;
  background: #fff;
}

.competition-detail-page .requirement {
  height: 100%;
  padding: 8px 14px;
  font-size: 0.85rem;
  font-weight: 700;
  text-align: center;
}

.competition-detail-page .draw-date-time {
  display: block;
  color: var(--comp-pink-dark);
}

.competition-prizes {
  margin: 48px 0;
}

.competition-prizes__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}

.competition-prizes__heading .title {
  color: var(--comp-ink);
  font-size: clamp(1.65rem, 3vw, 2.3rem);
  text-transform: uppercase;
}

.competition-prizes__heading p {
  color: #735667;
}

.competition-prizes__total {
  flex: 0 0 auto;
  color: var(--comp-pink-dark);
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
}

.competition-prizes__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.competition-prize-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--comp-border);
  border-radius: 6px;
  background: #fff;
}

.competition-prize-card__image-wrap {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: #f8dbe7;
}

.competition-prize-card__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.competition-prize-card__type {
  position: absolute;
  right: 8px;
  bottom: 8px;
  padding: 5px 8px;
  border-radius: 4px;
  color: #fff;
  background: var(--comp-pink-dark);
  font-size: 0.66rem;
  font-weight: 800;
  text-transform: uppercase;
}

.competition-prize-card__body {
  padding: 14px;
}

.competition-prize-card__value {
  margin-bottom: 2px;
  color: var(--comp-pink-dark);
  font-size: 1.45rem;
  font-weight: 900;
  line-height: 1;
}

.competition-prize-card__title {
  margin-bottom: 8px;
  overflow-wrap: anywhere;
  color: var(--comp-ink);
  font-size: 1rem;
  line-height: 1.2;
}

.competition-prize-card__description {
  display: -webkit-box;
  margin-bottom: 12px;
  overflow: hidden;
  color: #735667;
  font-size: 0.82rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.competition-prize-card__description p {
  margin: 0;
}

.short-description {
  background-color: var(--hun-pink-200-alpha);
  padding: 4px 2vw;
  border-radius: 30px;
  margin: 4px 2vw;
  text-align: center;
  text-transform: uppercase;
  font-weight: 800;
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm-fluid);
  letter-spacing: -0.01rem;
}

.pill-box {
  background-color: var(--hun-pink-200-alpha);
  border-radius: 30px;
  margin: 4px 1vw;
  text-align: center;
}

.competition-prize-card__remaining {
  padding-top: 10px;
  border-top: 1px solid var(--comp-border);
  color: #735667;
  font-size: 0.78rem;
  text-align: center;
}

.competition-prize-card__remaining strong {
  color: var(--comp-ink);
}

button,
input {
  height: 3rem;
  border: 2px solid var(--hun-pink-300);
}

button,
input[type="button"],
input[type="submit"] {
  cursor: pointer;
}

.progress-bar {
  height: 12px;
  border-radius: 6px;
  background-color: var(--hun-pink-600);
  overflow: hidden;
}

.progress {
  height: 16px;
  border-radius: 8px;
  background-color: var(--hun-pink-200);
  padding: 1px;
  border: 1px solid var(--hun-pink-300);
  transition: width 0.3s ease;
  width: 100%;
}

.comp-card-img {
  position: relative;
  display: block;
}

.badge {
  position: absolute;
  bottom: -12px;
  left: 20%;
  right: 20%;
  width: auto;
  padding: 5px 8px;
  border-radius: 1rem;
  border: 2px solid var(--hun-pink-100);
  color: #fff;
  background: var(--hun-pink-500-alpha-strong);
  font-size: var(--hun-text-xs-fluid);
  font-weight: 800;
  text-transform: uppercase;
}

.price-badge {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  top: 1vw;
  left: 1vw;
  rotate: -15deg;
  padding: 2vw;
  height: 2vw;
  width: 2vw;
  border-radius: 50%;
  color: #fff;
  background: var(--hun-pink-500-alpha-strong);
  font-size: var(--hun-text-sm-fluid);
  font-weight: 800;
  border: 2px solid var(--hun-pink-100);
  box-shadow: 0 2px 4px var(--hun-pink-500-alpha);
}

@media (max-width: 991.98px) {
  .competition-detail-page__gallery {
    border-radius: 8px 8px 0 0;
  }

  .competition-detail-page__gallery img {
    min-height: auto;
    aspect-ratio: 4 / 3;
  }

  .competition-detail-page__purchase {
    border-top: 0;
    border-left: 1px solid var(--comp-border);
    border-radius: 0 0 8px 8px;
  }

  .competition-prizes__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .price-badge {
    top: 1vw;
    left: 1vw;
    padding: 6vw;
    height: 4vw;
    width: 4vw;
  }
}

@media (max-width: 575.98px) {
  .competition-prizes__heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .competition-prizes__grid {
    grid-template-columns: 1fr;
  }
}

i.icon-lg {
  font-size: 2rem;
  line-height: 0.5;
}

@media (max-width: 767.98px) {
  .competition-detail-image {
    width: 100%;
    height: auto;
    padding-bottom: 100%;
  }
}

/* ─── Winners feed ───────────────────────────────────── */
.hun-win-stat {
  display: flex;
  align-items: center;
  gap: var(--hun-space-4);
  padding: var(--hun-space-5) var(--hun-space-6);
}

.hun-win-stat__icon {
  font-size: var(--hun-text-3xl);
  line-height: 1;
}

.hun-win-stat__value {
  display: block;
  font-family: var(--hun-font-display);
  font-size: var(--hun-text-3xl);
  font-weight: var(--hun-weight-bold);
  color: var(--hun-pink-500);
  line-height: var(--hun-leading-tight);
}

.hun-win-stat__label {
  display: block;
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  text-transform: uppercase;
  color: var(--hun-pink-700);
}

.hun-win-feed__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hun-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--hun-space-4);
}

.hun-win-feed__title {
  display: flex;
  align-items: center;
  gap: var(--hun-space-2);
  font-size: var(--hun-text-lg);
  text-transform: uppercase;
  margin-bottom: 0;
}

/* Pulsing dot signals the feed is live. */
.hun-win-feed__dot {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-500);
  box-shadow: 0 0 0 0 var(--hun-pink-500-alpha);
  animation: hun-win-pulse 2s infinite;
}

@keyframes hun-win-pulse {
  70% {
    box-shadow: 0 0 0 0.5rem rgba(233, 30, 140, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(233, 30, 140, 0);
  }
}

.hun-win-feed__filter {
  border-color: var(--hun-border-mid);
  border-radius: var(--hun-radius-full);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  padding: 0.5rem 2.25rem 0.5rem 1rem;
}

.hun-win-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hun-win-row {
  display: flex;
  align-items: center;
  gap: var(--hun-space-4);
  padding: var(--hun-space-3) var(--hun-space-2);
  border-top: 1px solid var(--hun-border-subtle);
}

.hun-win-row:first-child {
  border-top: 0;
}

.hun-win-row__icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  object-fit: cover;
  border-radius: var(--hun-radius-md);
  background: var(--hun-pink-50);
}

.hun-win-row__body {
  flex: 1 1 auto;
  min-width: 0;
}

.hun-win-row__headline {
  margin-bottom: 0;
  color: var(--hun-text-dark);
}

.hun-win-row__headline strong {
  color: var(--hun-pink-700);
}

.hun-win-row__prize {
  font-weight: var(--hun-weight-bold);
  color: var(--hun-pink-500);
}

.hun-win-row__time {
  flex: 0 0 auto;
  white-space: nowrap;
  color: var(--hun-text-muted);
}

.hun-win-cta {

  border-radius: var(--hun-radius-2xl);
  box-shadow: var(--hun-shadow-lg);
  padding: var(--hun-space-10) var(--hun-space-6);
}

.hun-win-cta__text {
  color: #fff;
  font-weight: var(--hun-weight-semibold);
  text-transform: uppercase;
  font-size: var(--hun-text-sm);
  letter-spacing: 0.04em;
}

.hun-win-cta .hun-btn-primary {
  background: #fff;
  color: var(--hun-pink-600);
}

.hun-win-cta .hun-btn-primary:hover {
  color: var(--hun-pink-700);
}

@media (max-width: 575.98px) {
  .hun-win-row {
    flex-wrap: wrap;
  }

  .hun-win-row__time {
    width: 100%;
    padding-left: calc(48px + var(--hun-space-4));
  }
}

/* ─── Contact ────────────────────────────────────────── */
.hun-contact-form .form-label {
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-2);
}

.hun-contact-form .form-control,
.hun-contact-form .form-select {
  background-color: #fff;
  border: 2px solid var(--hun-border-subtle);
  border-radius: var(--hun-radius-md);
  color: var(--hun-pink-900);
  font-size: var(--hun-text-sm);
  padding: 0.75rem 1rem;
}

.hun-contact-form .form-control::placeholder {
  color: var(--hun-text-muted);
}

.hun-contact-form .form-control:focus,
.hun-contact-form .form-select:focus {
  border-color: var(--hun-border-strong);
  box-shadow: 0 0 0 0.2rem var(--hun-pink-200-alpha);
}

.hun-contact-method {
  display: flex;
  align-items: flex-start;
  gap: var(--hun-space-4);
}

.hun-contact-method__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: var(--hun-radius-lg);
  background: var(--hun-gradient-feature-card);
  box-shadow: var(--hun-shadow-sm);
  color: #fff;
  font-size: var(--hun-text-lg);
}

.hun-contact-method__title {
  font-size: var(--hun-text-base);
  text-transform: uppercase;
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-1);
}

.hun-contact-method__link {
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-500);
  text-decoration: underline;
}

.hun-contact-method__link:hover {
  color: var(--hun-pink-700);
}

.hun-contact-signoff {
  font-family: var(--hun-font-script);
  font-size: var(--hun-text-3xl);
  line-height: var(--hun-leading-snug);
  color: var(--hun-pink-500);

}

/* ─── Order confirmation ─────────────────────────────── */
.order-success__eyebrow {
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hun-pink-500);
  margin-bottom: var(--hun-space-2);
}

.order-success .section-title,
.order-success .section-title-underlay,
.responsible-gaming .section-title,
.responsible-gaming .section-title-underlay,
.account-profile .section-title,
.account-profile .section-title-underlay {
  margin-bottom: 0;
}

.order-success__subtitle {
  font-family: var(--hun-font-body);
  font-weight: var(--hun-weight-extrabold);
  font-size: var(--hun-text-xl);
  color: var(--hun-pink-500);
  margin-bottom: var(--hun-space-3);
}

.order-success__meta {
  font-size: var(--hun-text-sm);
  color: var(--hun-text-muted);
  margin-bottom: var(--hun-space-6);
}

.order-success__meta-sep {
  margin: 0 var(--hun-space-2);
  opacity: 0.5;
}

.order-success__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--hun-space-3);
}

.order-success__actions>a {
  width: 100%;
  max-width: 24rem;
}

/* Entry cards */
.order-entry__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--hun-space-4);
}

.order-entry__thumb {
  flex: 0 0 auto;
  display: block;
  width: 5.5rem;
  height: 5.5rem;
  border-radius: var(--hun-radius-md);
  overflow: hidden;
  box-shadow: var(--hun-shadow-sm);
}

.order-entry__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-entry__title {
  flex: 1 1 10rem;
  min-width: 0;
}

.order-entry__title h4 a {
  color: var(--hun-pink-700);
  text-decoration: none;
}

.order-entry__title h4 a:hover {
  color: var(--hun-pink-500);
}

.order-entry__unit {
  font-size: var(--hun-text-sm);
  color: var(--hun-text-muted);
  margin-bottom: 0;
}

.order-entry__count {
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  color: var(--hun-text-muted);
  margin-bottom: 0;
  white-space: nowrap;
}

.order-entry__total {
  margin-bottom: 0;
  white-space: nowrap;
}

.order-entry__facts {
  display: grid;
  grid-template-columns: 2fr 1.4fr 1fr;
  gap: var(--hun-space-4);
  margin-top: var(--hun-space-4);
  padding-top: var(--hun-space-4);
  border-top: 1px solid var(--hun-border-subtle);
}

.order-entry__fact+.order-entry__fact {
  border-left: 1px solid var(--hun-border-subtle);
  padding-left: var(--hun-space-4);
}

.order-entry__fact h6 {
  color: var(--hun-pink-500);
  margin-bottom: var(--hun-space-1);
}

.order-entry__fact p {
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

.order-entry__fact p.price {
  text-align: left;
  font-size: var(--hun-text-xl);
}

.order-entry__order-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--hun-space-4);
  padding-top: var(--hun-space-3);
  border-top: 1px solid var(--hun-border-subtle);
  font-weight: var(--hun-weight-extrabold);
  text-transform: uppercase;
  color: var(--hun-pink-700);
}

@media (max-width: 575.98px) {
  .order-entry__facts {
    grid-template-columns: 1fr;
  }

  .order-entry__fact+.order-entry__fact {
    border-left: 0;
    padding-left: 0;
    padding-top: var(--hun-space-3);
    border-top: 1px solid var(--hun-border-subtle);
  }
}

/* Hunny Pot remaining */
.hunny-pot-remaining {
  background: var(--hun-pink-100);
  border-radius: var(--hun-radius-md);
  padding: var(--hun-space-4) var(--hun-space-5);
}

.hunny-pot-remaining__figure {
  margin-bottom: var(--hun-space-1);
  line-height: 1;
}

.hunny-pot-remaining__figure strong {
  font-size: var(--hun-text-4xl);
  font-weight: var(--hun-weight-black);
  color: var(--hun-pink-500);
}

.hunny-pot-remaining__figure span {
  font-size: var(--hun-text-lg);
  color: var(--hun-text-muted);
  margin-left: var(--hun-space-2);
}

.hunny-pot-remaining__note {
  font-size: var(--hun-text-sm);
  color: var(--hun-text-muted);
  margin-bottom: 0;
}

/* Order confirmation panel */
.order-confirm__email {
  display: flex;
  align-items: flex-start;
  gap: var(--hun-space-4);
  margin-bottom: var(--hun-space-4);
}

.order-confirm__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
}

.order-confirm__email p {
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
}

.order-confirm__meta {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
  margin-bottom: 0;
}

.order-billing-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: var(--hun-space-4);
  background: #fff;
  border: 2px solid var(--hun-border-subtle);
  border-radius: var(--hun-radius-md);
  padding: 0.75rem 1rem;
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-700);
  transition: border-color var(--hun-transition-fast);
}

.order-billing-toggle:hover {
  border-color: var(--hun-border-strong);
}

.order-billing-toggle i {
  transition: transform var(--hun-transition-fast);
}

.order-billing-toggle:not(.collapsed) i {
  transform: rotate(180deg);
}

.order-billing-address {
  margin: var(--hun-space-4) 0 0;
  padding: var(--hun-space-4);
  background: #fff;
  border-radius: var(--hun-radius-md);
  font-size: var(--hun-text-sm);
  font-style: normal;
  color: var(--hun-pink-700);
}

/* ─── Account cards (responsible gaming, profile) ────── */
.rg-card__head,
.account-card__head {
  display: flex;
  align-items: flex-start;
  gap: var(--hun-space-4);
  margin-bottom: var(--hun-space-5);
}

.rg-card__head--inline {
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 0;
}

.rg-card__head--inline>div {
  flex: 1 1 16rem;
}

.rg-card__head-action {
  margin-left: auto;
}

.rg-card__icon,
.account-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
  font-size: var(--hun-text-lg);
}

.rg-card__title,
.account-card__title {
  font-family: var(--hun-font-display);
  font-size: var(--hun-text-2xl);
  color: var(--hun-pink-500);
  margin-bottom: var(--hun-space-1);
}

.rg-card__lead,
.account-card__lead {
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

.rg-card__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--hun-space-4);
}

.rg-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: var(--hun-space-5);
  width: 100%;
}

.rg-control--period {
  flex: 1 1 22rem;
  padding-left: var(--hun-space-5);
  border-left: 1px solid var(--hun-border-subtle);
}

.rg-label {
  display: block;
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-2);
}

.rg-amount {
  width: 14rem;
  max-width: 100%;
}

.rg-amount .input-group-text {
  background: var(--hun-pink-100);
  border: 2px solid var(--hun-border-subtle);
  border-right: 0;
  color: var(--hun-pink-700);
  font-weight: var(--hun-weight-extrabold);
}

.rg-amount .form-control {
  background: #fff;
  border: 2px solid var(--hun-border-subtle);
  border-left: 0;
  color: var(--hun-pink-900);
  font-weight: var(--hun-weight-semibold);
  padding: 0.6rem 1rem;
}

.rg-amount .form-control:focus {
  border-color: var(--hun-border-strong);
  box-shadow: none;
}

/* Pill radio groups */
.rg-pills {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hun-space-2);
}

.rg-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7rem;
  padding: 0.6rem 1.5rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-50);
  border: 2px solid var(--hun-border-subtle);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  cursor: pointer;
  transition: background var(--hun-transition-fast), color var(--hun-transition-fast), border-color var(--hun-transition-fast);
}

.rg-pill:hover {
  border-color: var(--hun-border-strong);
}

.btn-check:checked+.rg-pill {
  background: var(--hun-gradient-cta-btn);
  border-color: transparent;
  color: #fff;
  font-weight: var(--hun-weight-extrabold);
  box-shadow: var(--hun-shadow-sm);
}

.btn-check:focus-visible+.rg-pill {
  outline: 2px solid var(--hun-pink-500);
  outline-offset: 2px;
}

.btn-check:disabled+.rg-pill {
  cursor: not-allowed;
  opacity: 0.55;
}

/* Inline notes */
.rg-note {
  display: flex;
  align-items: flex-start;
  gap: var(--hun-space-3);
  width: 100%;
  padding: var(--hun-space-4);
  border-radius: var(--hun-radius-md);
  background: var(--hun-pink-100);
}

.rg-note--strong {
  background: var(--hun-pink-200-alpha-strong);
}

.rg-note__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: var(--hun-radius-full);
  background: #fff;
  color: var(--hun-pink-500);
  font-size: var(--hun-text-xs);
}

.rg-note p {
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

/* Self-exclude callout */
.rg-callout {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--hun-space-4);
  width: 100%;
  padding: var(--hun-space-4);
  border-radius: var(--hun-radius-md);
  background: var(--hun-pink-100);
}

.rg-callout__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: var(--hun-radius-sm);
  background: #fff;
  color: var(--hun-pink-500);
}

.rg-callout__text {
  flex: 1 1 16rem;
}

.rg-callout__text h5 {
  font-size: var(--hun-text-base);
  text-transform: none;
  margin-bottom: var(--hun-space-1);
}

.rg-callout__text p {
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

.hun-btn-outline.rg-callout__action {
  margin-left: auto;
  background: #fff;
}

@media (max-width: 767.98px) {
  .rg-control--period {
    padding-left: 0;
    border-left: 0;
  }

  .rg-pill {
    flex: 1 1 auto;
    min-width: 6rem;
  }

  .rg-card__head-action,
  .rg-callout__action {
    margin-left: 0;
    width: 100%;
  }

  .rg-callout__action {
    justify-content: center;
  }
}

/* ─── Account header + nav ───────────────────────────── */

@media (max-width: 991px) {
  .navbar-nav {
    margin-top: var(--hun-space-5);
  }
}

@media (max-width: 991px) {
  .navbar-nav.nav-profile {
    flex-direction: row;
    justify-content: flex-end;
  }

  .navbar-nav.nav-profile a {
    padding-left: var(--hun-space-3);
    padding-right: var(--hun-space-3);
  }
}

.navbar-nav a.hun-btn-primary {
  background: white;
  color: var(--hun-pink-500);
}

.account-header {
  margin-bottom: var(--hun-space-5);
}

.account-header .section-title-container {
  text-align: left;
}

.account-header__lead {
  font-size: var(--hun-text-base);
  color: var(--hun-pink-900);
  margin-bottom: 0;
}

.account-nav__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hun-space-3);
  list-style: none;
  padding: 0;
  margin: 0;
}

.account-nav__item {
  flex: 1 1 auto;
}

.account-nav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--hun-space-3);
  height: 100%;
  padding: 0.75rem 1rem;
  border: 2px solid transparent;
  border-radius: var(--hun-radius-full);
  background: var(--hun-overlay-light);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  text-align: center;
  white-space: nowrap;
  transition: background var(--hun-transition-fast), color var(--hun-transition-fast), border-color var(--hun-transition-fast);
}

.account-nav__link i {
  font-size: var(--hun-text-base);
  color: var(--hun-pink-500);
}

.account-nav__link:hover {
  background: #fff;
  border-color: var(--hun-border-mid);
  color: var(--hun-pink-900);
}

.account-nav__link:focus-visible {
  outline: 2px solid var(--hun-pink-500);
  outline-offset: 2px;
}

.account-nav__link.is-active {
  background: var(--hun-gradient-cta-btn);
  border-color: transparent;
  color: #fff;
  font-weight: var(--hun-weight-extrabold);
  box-shadow: var(--hun-shadow-sm);
}

.account-nav__link.is-active i,
.account-nav__link.is-active:hover {
  color: #fff;
}

.account-nav__link--logout {
  background: transparent;
  border-color: var(--hun-border-mid);
}

@media (max-width: 575.98px) {
  .account-nav__item {
    flex: 1 1 100%;
  }

  .account-nav__link {
    justify-content: flex-start;
  }
}

/* ─── Account orders ─────────────────────────────────── */
.account-card__head--plain {
  margin-bottom: var(--hun-space-4);
}

.orders-table {
  display: flex;
  flex-direction: column;
  gap: var(--hun-space-2);
}

.orders-table__head,
.orders-table__row {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1.8fr 0.7fr 1fr 1.1fr;
  gap: var(--hun-space-4);
  align-items: center;
}

.orders-table__head {
  padding: 0 var(--hun-space-4);
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hun-pink-700);
}

.orders-table__row {
  padding: var(--hun-space-3) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  box-shadow: var(--hun-shadow-sm);
}

.orders-table__cell {
  min-width: 0;
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-900);
}

.orders-table__number {
  font-weight: var(--hun-weight-semibold);
  word-break: break-all;
}

.orders-table__time {
  display: block;
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.orders-table__total {
  font-weight: var(--hun-weight-extrabold);
}

.orders-table__cell--items {
  display: flex;
  flex-direction: column;
  gap: var(--hun-space-2);
}

.orders-item {
  display: flex;
  align-items: center;
  gap: var(--hun-space-3);
}

.orders-item__thumb {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: var(--hun-radius-sm);
  background: var(--hun-pink-100);
}

.orders-item__text {
  min-width: 0;
}

.orders-item__name {
  display: block;
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
  text-decoration: none;
}

.orders-item__name:hover {
  color: var(--hun-pink-500);
}

.orders-item__tickets {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.orders-status {
  display: inline-flex;
  align-items: center;
  gap: var(--hun-space-2);
  padding: 0.35rem 0.85rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  white-space: nowrap;
}

.orders-status--success {
  background: #DFF5E3;
  color: #1B7A3E;
}

.orders-status--pending {
  background: #FFF1CC;
  color: #8A6100;
}

.orders-status--failed,
.orders-status--cancelled {
  background: #FFE0E0;
  color: #A32020;
}

.hun-btn-outline.orders-table__action {
  gap: var(--hun-space-2);
  padding: 0.5rem 1.1rem;
  font-size: var(--hun-text-sm);
  background: #fff;
  white-space: nowrap;
}

.orders-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--hun-space-3);
  padding: var(--hun-space-8) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  text-align: center;
}

.orders-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
}

.orders-empty p {
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

@media (max-width: 991.98px) {
  .orders-table__head {
    display: none;
  }

  .orders-table__row {
    grid-template-columns: 1fr;
    gap: var(--hun-space-3);
    padding: var(--hun-space-4);
  }

  .orders-table__cell {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--hun-space-4);
  }

  .orders-table__cell::before {
    content: attr(data-label);
    flex: 0 0 auto;
    font-size: var(--hun-text-xs);
    font-weight: var(--hun-weight-extrabold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--hun-pink-700);
  }

  .orders-table__cell--items {
    flex-direction: column;
    align-items: stretch;
  }

  .orders-table__cell--actions .hun-btn-outline {
    width: auto;
  }
}

/* ─── Account wallet ─────────────────────────────────── */
.wallet-balance {
  padding: var(--hun-space-5);
  border-radius: var(--hun-radius-lg);
  background: var(--hun-gradient-cta-btn);
  color: #fff;
  text-align: center;
  box-shadow: var(--hun-shadow-sm);
}

.wallet-balance__label {
  display: block;
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.85;
}

.wallet-balance__figure {
  font-family: var(--hun-font-sans);
  font-weight: var(--hun-weight-extrabold);
  font-size: var(--hun-text-5xl);
  line-height: var(--hun-leading-snug);
  margin-bottom: 0;
}

.wallet-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--hun-space-3);
  margin-top: var(--hun-space-3);
}

.wallet-stat {
  display: flex;
  align-items: center;
  gap: var(--hun-space-3);
  padding: var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  box-shadow: var(--hun-shadow-sm);
}

.wallet-stat__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
}

.wallet-stat__label {
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hun-pink-700);
}

.wallet-stat__figure {
  font-size: var(--hun-text-2xl);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
  line-height: var(--hun-leading-snug);
  margin-bottom: 0;
}

.wallet-stat__note {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.wallet-actions {
  display: flex;
  flex-direction: column;
  gap: var(--hun-space-2);
}

.wallet-action {
  display: flex;
  align-items: center;
  gap: var(--hun-space-4);
  padding: var(--hun-space-3) var(--hun-space-4);
  border: 2px solid transparent;
  border-radius: var(--hun-radius-lg);
  background: #fff;
  color: var(--hun-pink-900);
  text-decoration: none;
  box-shadow: var(--hun-shadow-sm);
  transition: border-color var(--hun-transition-fast), transform var(--hun-transition-fast);
}

.wallet-action:hover {
  border-color: var(--hun-border-mid);
  color: var(--hun-pink-900);
  transform: translateY(-2px);
}

.wallet-action__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
}

.wallet-action__text {
  flex: 1 1 auto;
  min-width: 0;
}

.wallet-action__title {
  display: block;
  font-weight: var(--hun-weight-extrabold);
}

.wallet-action__note {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.wallet-action>.fa-chevron-right {
  color: var(--hun-pink-500);
}

@media (max-width: 575.98px) {
  .wallet-stats {
    grid-template-columns: 1fr;
  }

  .wallet-balance__figure {
    font-size: var(--hun-text-4xl);
  }
}

/* ─── Account wallet transactions ────────────────────── */
.txn-table {
  display: flex;
  flex-direction: column;
  gap: var(--hun-space-2);
}

.txn-table__head,
.txn-table__row {
  display: grid;
  grid-template-columns: 0.6fr 0.9fr 0.9fr 1.8fr 1fr 1fr;
  gap: var(--hun-space-4);
  align-items: center;
}

.txn-table__head {
  padding: 0 var(--hun-space-4);
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hun-pink-700);
}

.txn-table__row {
  padding: var(--hun-space-3) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  box-shadow: var(--hun-shadow-sm);
}

.txn-table__cell {
  min-width: 0;
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-900);
}

.txn-table__number {
  font-weight: var(--hun-weight-semibold);
}

.txn-table__amount {
  font-weight: var(--hun-weight-extrabold);
  white-space: nowrap;
}

.txn-table__amount--credit {
  color: #1B7A3E;
}

.txn-table__amount--debit {
  color: #A32020;
}

.txn-table__details {
  display: block;
  overflow-wrap: anywhere;
}

.txn-table__time {
  display: block;
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.txn-type {
  display: inline-flex;
  align-items: center;
  gap: var(--hun-space-2);
  padding: 0.35rem 0.85rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  white-space: nowrap;
}

.txn-type--credit {
  background: #DFF5E3;
  color: #1B7A3E;
}

.txn-type--debit {
  background: #FFE0E0;
  color: #A32020;
}

.hun-btn-outline.txn-table__action {
  gap: var(--hun-space-2);
  padding: 0.5rem 1.1rem;
  font-size: var(--hun-text-sm);
  background: #fff;
  white-space: nowrap;
  margin-left: auto;
}

.account-card__head--plain:has(.txn-table__action) {
  flex-wrap: wrap;
  align-items: center;
}

.txn-table--withdrawals .txn-table__head,
.txn-table--withdrawals .txn-table__row {
  grid-template-columns: 0.6fr 1fr 1fr 1fr;
}

.txn-table__cell--message {
  grid-column: 1 / -1;
  padding-top: var(--hun-space-2);
  border-top: 1px solid var(--hun-border-subtle);
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.account-note {
  display: flex;
  align-items: flex-start;
  gap: var(--hun-space-3);
  padding: var(--hun-space-3) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: var(--hun-pink-50);
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-4);
}

.account-note__icon {
  flex-shrink: 0;
  color: var(--hun-pink-500);
}

.account-form__subhead {
  font-family: var(--hun-font-display);
  font-size: var(--hun-text-lg);
  color: var(--hun-pink-500);
  margin: var(--hun-space-3) 0 0;
}

@media (max-width: 991.98px) {
  .txn-table__head {
    display: none;
  }

  .txn-table__row {
    grid-template-columns: 1fr;
    gap: var(--hun-space-3);
    padding: var(--hun-space-4);
  }

  .txn-table__cell {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--hun-space-4);
  }

  .txn-table__cell::before {
    content: attr(data-label);
    flex: 0 0 auto;
    font-size: var(--hun-text-xs);
    font-weight: var(--hun-weight-extrabold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--hun-pink-700);
  }

  .txn-table__details {
    text-align: right;
  }
}

/* ─── Account tickets & wins ─────────────────────────── */
.tickets-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hun-space-2);
  border: 0;
  margin-bottom: var(--hun-space-4);
}

.tickets-tabs__link {
  display: inline-flex;
  align-items: center;
  gap: var(--hun-space-2);
  padding: 0.6rem 1.25rem;
  border: 2px solid transparent;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-50);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  transition: background var(--hun-transition-fast), color var(--hun-transition-fast), border-color var(--hun-transition-fast);
}

.tickets-tabs__link:hover {
  border-color: var(--hun-border-mid);
  color: var(--hun-pink-900);
}

.tickets-tabs__link.active {
  background: var(--hun-gradient-cta-btn);
  color: #fff;
  font-weight: var(--hun-weight-extrabold);
  box-shadow: var(--hun-shadow-sm);
}

.tickets-tabs__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  padding: 0 0.4rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-extrabold);
}

.tickets-tabs__link.active .tickets-tabs__count {
  background: rgba(255, 255, 255, 0.28);
  color: #fff;
}

.ticket-group {
  border-radius: var(--hun-radius-lg);
  background: #fff;
  box-shadow: var(--hun-shadow-sm);
  padding: var(--hun-space-3) var(--hun-space-4);
  margin-bottom: var(--hun-space-2);
}

.ticket-group__head {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--hun-space-3);
}

.ticket-group__thumb {
  flex: 0 0 auto;
  width: 3.5rem;
  height: 3.5rem;
  object-fit: cover;
  border-radius: var(--hun-radius-sm);
  background: var(--hun-pink-100);
}

.ticket-group__text {
  flex: 1 1 12rem;
  min-width: 0;
}

.ticket-group__name {
  display: block;
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
  text-decoration: none;
}

.ticket-group__name:hover {
  color: var(--hun-pink-500);
}

.ticket-group__meta {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.ticket-group__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--hun-space-2);
  margin-left: auto;
}

.hun-btn-outline.ticket-group__toggle,
.hun-btn-primary.ticket-group__spin {
  gap: var(--hun-space-2);
  padding: 0.5rem 1.1rem;
  font-size: var(--hun-text-sm);
  white-space: nowrap;
}

.hun-btn-outline.ticket-group__toggle {
  background: #fff;
}

.ticket-group__toggle i {
  transition: transform var(--hun-transition-fast);
}

.ticket-group__toggle:not(.collapsed) i {
  transform: rotate(180deg);
}

.ticket-group__tickets {
  margin-top: var(--hun-space-3);
  padding-top: var(--hun-space-3);
  border-top: 1px solid var(--hun-border-subtle);
  max-height: 50vh;
  overflow-y: auto;
}

.ticket-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--hun-space-3);
  padding: var(--hun-space-2) 0;
}

.ticket-row+.ticket-row {
  border-top: 1px solid var(--hun-border-subtle);
}

.ticket-row__number {
  min-width: 4.5rem;
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
}

.hun-btn-outline.ticket-row__action {
  padding: 0.35rem 0.9rem;
  font-size: var(--hun-text-xs);
  background: #fff;
}

.ticket-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--hun-space-2);
  padding: 0.3rem 0.8rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-700);
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-semibold);
}

.ticket-badge--win {
  background: #DFF5E3;
  color: #1B7A3E;
}

.tickets-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--hun-space-3);
  padding: var(--hun-space-8) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  text-align: center;
}

.tickets-empty__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: var(--hun-radius-full);
  background: var(--hun-pink-100);
  color: var(--hun-pink-500);
}

.tickets-empty p {
  color: var(--hun-pink-700);
  margin-bottom: 0;
}

@media (max-width: 575.98px) {
  .ticket-group__actions {
    width: 100%;
    margin-left: 0;
  }

  .ticket-group__actions>* {
    flex: 1 1 auto;
    justify-content: center;
  }
}

/* ─── Order detail ───────────────────────────────────── */
.order-detail__status {
  margin-left: auto;
}

.hun-btn-outline.order-detail__back {
  align-self: flex-start;
  gap: var(--hun-space-2);
  padding: 0.5rem 1.1rem;
  font-size: var(--hun-text-sm);
  background: #fff;
}

.order-lines {
  display: flex;
  flex-direction: column;
  gap: var(--hun-space-2);
}

.order-line {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: var(--hun-space-3);
  padding: var(--hun-space-3) var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  box-shadow: var(--hun-shadow-sm);
}

.order-line__text {
  flex: 1 1 14rem;
  min-width: 0;
}

.order-line__meta {
  display: block;
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
}

.order-line__tickets {
  display: flex;
  flex-wrap: wrap;
  gap: var(--hun-space-2);
  margin-top: var(--hun-space-2);
}

.order-line__total {
  margin-left: auto;
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
  white-space: nowrap;
}

.order-totals {
  margin-top: var(--hun-space-4);
  padding-top: var(--hun-space-3);
  border-top: 1px solid var(--hun-border-subtle);
}

.order-totals__row {
  display: flex;
  justify-content: space-between;
  gap: var(--hun-space-4);
  padding: var(--hun-space-1) 0;
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
}

.order-totals__row--grand {
  font-size: var(--hun-text-lg);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-900);
}

.order-address {
  padding: var(--hun-space-4);
  border-radius: var(--hun-radius-lg);
  background: #fff;
  font-style: normal;
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-900);
  margin-bottom: 0;
}

.order-address__contact {
  display: flex;
  align-items: center;
  gap: var(--hun-space-2);
  margin-top: var(--hun-space-2);
  color: var(--hun-pink-700);
}

.order-address__contact i {
  color: var(--hun-pink-500);
}

@media (max-width: 575.98px) {
  .order-detail__status {
    margin-left: 0;
  }

  .order-line__total {
    margin-left: 0;
  }
}

/* ─── Account profile ────────────────────────────────── */
.account-lead {
  font-size: var(--hun-text-sm);
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-5);
}

.account-form .form-label {
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-semibold);
  color: var(--hun-pink-700);
  margin-bottom: var(--hun-space-2);
}

.account-form .required {
  color: var(--hun-pink-500);
}

.account-form .optional {
  color: var(--hun-text-muted);
  font-weight: var(--hun-weight-semibold);
}

.account-form .form-control {
  background-color: #fff;
  border: 2px solid var(--hun-border-subtle);
  border-radius: var(--hun-radius-md);
  color: var(--hun-pink-900);
  font-size: var(--hun-text-sm);
  padding: 0.75rem 1rem;
}

.account-form .form-control:focus {
  border-color: var(--hun-border-strong);
  box-shadow: 0 0 0 0.2rem var(--hun-pink-200-alpha);
}

.account-form .invalid-feedback {
  font-size: var(--hun-text-xs);
  font-weight: var(--hun-weight-semibold);
}

.account-check .form-check-input {
  border: 2px solid var(--hun-border-mid);
  cursor: pointer;
}

.account-check .form-check-input:checked {
  background-color: var(--hun-pink-500);
  border-color: var(--hun-pink-500);
}

.account-check .form-check-input:focus {
  border-color: var(--hun-border-strong);
  box-shadow: 0 0 0 0.2rem var(--hun-pink-200-alpha);
}

.account-check .form-check-label {
  font-size: var(--hun-text-sm);
  font-weight: var(--hun-weight-extrabold);
  color: var(--hun-pink-700);
  cursor: pointer;
}

.account-hint {
  font-size: var(--hun-text-xs);
  color: var(--hun-text-muted);
  margin: var(--hun-space-1) 0 0 2.5rem;
}

.account-form__actions {
  display: flex;
  justify-content: flex-start;
  margin-bottom: var(--hun-space-6);
}

@media (max-width: 575.98px) {
  .account-hint {
    margin-left: 0;
  }

  .account-form__actions .hun-btn-primary {
    width: 100%;
  }
}

/* ─── Competition listing filters ─────────────────────── */
.competition-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--hun-space-3);
  margin-bottom: var(--hun-space-4);
}

.competition-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--hun-space-3);
  padding: 0.4rem 1.25rem 0.4rem 0.4rem;
  background: rgba(255, 255, 255, 0.55);
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: var(--hun-radius-full);
  color: var(--hun-text-pink);
  font-family: var(--hun-font-body);
  font-weight: 700;
  font-size: var(--hun-text-base);
  text-decoration: none;
  white-space: nowrap;
  transition: background var(--hun-transition-fast), transform var(--hun-transition-fast), color var(--hun-transition-fast);
}

.competition-filter-btn:hover,
.competition-filter-btn:focus-visible {
  background: rgba(255, 255, 255, 0.85);
  color: var(--hun-text-pink);
  transform: translateY(-2px);
}

.competition-filter-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background: var(--hun-pink-100);
  color: var(--hun-pink-600);
  font-size: var(--hun-text-lg);
}

.competition-filter-btn.active {
  background: var(--hun-gradient-cta-btn);
  border-color: var(--hun-pink-500);
  box-shadow: var(--hun-shadow-btn);
  color: var(--hun-text-white);
}

.competition-filter-btn.active .competition-filter-icon {
  background: rgba(255, 255, 255, 0.9);
}

.competition-filters-empty {
  padding: var(--hun-space-8) var(--hun-space-4);
}

@media (max-width: 575.98px) {
  .competition-filters {
    gap: var(--hun-space-2);
  }

  .competition-filter-btn {
    gap: var(--hun-space-2);
    padding-right: 0.9rem;
    font-size: var(--hun-text-sm);
  }

  .competition-filter-icon {
    width: 2rem;
    height: 2rem;
    font-size: var(--hun-text-base);
  }
}

@media (max-width: 991.98px) {

  .hun-btn-primary,
  .hun-btn-outline {
    font-size: var(--hun-text-xs);
    padding: 0.5rem;
    height: auto;
  }

  input,
  button,
  input[type="submit"] {
    font-size: var(--hun-text-xs);
    padding: 0;
    height: auto;
    width: auto;
  }

  button.add-to-cart-btn {
    font-size: var(--hun-text-xs);
    padding: 0.5rem;
    height: 2.3rem;
  }

  input.qty {
    width: 3rem;
  }
}