/* =====================================================================
   CHRISTMAS DRESS CODE THEME
   Palette:  Merah (red)  Â·  Hijau (pine green)  Â·  Putih (snow)  Â·  Emas (gold)
   Loaded LAST so it wins over the base / space-theme styles.
   To disable: remove the two xmas-theme tags (css + js) before </body>.
   ===================================================================== */

@import url("decorative-fonts.css");

:root {
  --xm-red: #d6152f;
  --xm-red-dark: #8f0c1f;
  --xm-red-deep: #3d0610;
  --xm-green: #1a7a45;
  --xm-green-dark: #0c3f25;
  --xm-green-deep: #06180f;
  --xm-gold: #ffd36b;
  --xm-gold-light: #fff1b8;
  --xm-gold-dark: #d99a1c;
  --xm-snow: #fffaf3;
  /* refined trim: velvet red -> gold -> pine green (replaces loud candy stripes) */
  --xm-candy: linear-gradient(90deg, #8f0c1f 0%, #d6152f 18%, #ffd36b 36%, #fff1b8 50%, #ffd36b 64%, #1a7a45 82%, #0c3f25 100%);
  --xm-font: "Playfair Display", "digital_sans_ef_medium", Georgia, serif;
  --xm-script: "Great Vibes", "Playfair Display", Georgia, cursive;
  --xm-flake: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><g stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round' fill='none'><path d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7'/><path d='M9 4l3 2.2L15 4M9 20l3-2.2 3 2.2M4 10.4l3.2.2.9-3M20 13.6l-3.2-.2-.9 3M4 13.6l3.2-.2.9 3M20 10.4l-3.2.2-.9-3'/></g></svg>");
}

/* keep numbers upright/consistent next to Thai text in the serif headings */
.footer-description-section .site-description h1,
.footer-description-section .site-description h2,
.footer-description-section .site-description h3,
.home-game-list-container .container-title span,
.popular-game-title-container .container-title span,
.popular-games [data-section="left"] .section-title,
.lottery-result-container .lottery-result-title {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

/* small gold snowflake used instead of emoji */
.footer-description-section .site-description .seo-content h2::before,
.home-game-list-container .container-title span::before,
.popular-game-title-container .container-title span::before {
  content: "" !important;
  display: inline-block;
  width: 0.78em;
  height: 0.78em;
  margin-right: 0.45em;
  vertical-align: -0.04em;
  background: linear-gradient(180deg, #fff1b8, #ffd36b 60%, #d99a1c);
  -webkit-mask: var(--xm-flake) center / contain no-repeat;
  mask: var(--xm-flake) center / contain no-repeat;
  filter: drop-shadow(0 0 4px rgba(255, 211, 107, 0.55));
}

/* ---------- Page background: night pine forest + snowy glow ---------- */
html:not(#_),
body:not(#_) {
  background: linear-gradient(180deg, #0c3322 0%, #07201a 35%, #04120d 100%) fixed;
  color: var(--xm-snow);
}

body:not(#_)::before {
  background:
    radial-gradient(ellipse at 15% 20%, rgba(214, 21, 47, 0.22) 0%, transparent 50%),
    radial-gradient(ellipse at 85% 65%, rgba(255, 211, 107, 0.14) 0%, transparent 52%),
    radial-gradient(ellipse at 50% 100%, rgba(26, 122, 69, 0.3) 0%, transparent 60%);
}

/* tiny twinkling stars */
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.7;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 28% 62%, #fff 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 44% 8%, #ffe9a8 50%, transparent 52%),
    radial-gradient(1px 1px at 63% 36%, #fff 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 78% 84%, #fff 50%, transparent 52%),
    radial-gradient(1px 1px at 91% 22%, #ffe9a8 50%, transparent 52%),
    radial-gradient(1px 1px at 6% 90%, #fff 50%, transparent 52%),
    radial-gradient(1.5px 1.5px at 55% 74%, #fff 50%, transparent 52%);
  background-size: 420px 420px;
  animation: xm-twinkle 4s ease-in-out infinite alternate;
}

@keyframes xm-twinkle {
  from { opacity: 0.35; }
  to   { opacity: 0.9; }
}

/* ---------- Top bar + header ---------- */
.topbar-container:not(#_) {
  background: linear-gradient(90deg, #4a0814 0%, #8f0c1f 50%, #4a0814 100%);
  border-bottom: 2px solid var(--xm-gold);
}

/* Login / register sit on the dark red bar, so red buttons disappear.
   Gold and white keep them in the Christmas palette and easy to spot. */
.login-panel .login-button:not(#_) {
  background: linear-gradient(180deg, #fff4c4 0%, #ffd36b 55%, #e0a82a 100%);
  color: #3d0610;
  border: 1px solid #fff1b8;
  font-weight: 700;
  box-shadow: 0 0 0 1px rgba(61, 6, 16, 0.35), 0 2px 8px rgba(0, 0, 0, 0.45);
}

.login-panel .login-button:hover:not(#_) {
  background: linear-gradient(180deg, #fff 0%, #ffe28a 100%);
  color: #3d0610;
}

.login-panel .register-button:not(#_) {
  background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%);
  color: #8f0c1f;
  border: 1px solid #fff;
  font-weight: 700;
  box-shadow: 0 0 0 1px rgba(255, 211, 107, 0.85), 0 2px 8px rgba(0, 0, 0, 0.45);
}

.login-panel .register-button:hover:not(#_) {
  background: #fff;
  color: #d6152f;
}

.site-header:not(#_) {
  background: linear-gradient(180deg, #0f4a2c 0%, #082b1a 100%);
  border-bottom: 5px solid var(--xm-red);
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.5), 0 2px 0 var(--xm-gold) !important;
}

.top-menu > li > a:not(#_) {
  color: var(--xm-snow);
  transition: transform 0.25s ease, color 0.25s ease;
}

.top-menu > li:hover > a:not(#_),
.top-menu > li[data-active="true"] > a:not(#_) {
  color: var(--xm-gold);
  transform: translateY(-2px);
}

.top-menu > li:hover > a:not(#_) img {
  filter: drop-shadow(0 0 6px rgba(255, 211, 107, 0.8));
}

.top-menu .game-list:not(#_) {
  background: linear-gradient(180deg, rgba(8, 43, 26, 0.97), rgba(4, 18, 13, 0.98));
  border-top: 4px solid var(--xm-red);
  border-bottom: 10px solid var(--xm-green);
}

/* Santa hat on the logo */
.site-header a.logo:not(#_) {
  position: relative;
  overflow: visible;
  max-height: none;
}

.site-header a.logo::after {
  content: "";
  position: absolute;
  top: -15px;
  right: -14px;
  width: 44px;
  height: 38px;
  transform: rotate(14deg);
  transform-origin: 20% 90%;
  pointer-events: none;
  filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.55));
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 56'><path d='M8 42C8 20 22 6 42 8c7 1 11 5 14 10-9 2-9 14-2 24z' fill='%23d6152f'/><path d='M8 42C8 30 12 20 20 14c-3 9-2 20 4 28z' fill='%23a50f24'/><rect x='3' y='38' width='56' height='15' rx='7.5' fill='%23fffaf3'/><circle cx='55' cy='12' r='7.5' fill='%23fffaf3'/></svg>") center / contain no-repeat;
  animation: xm-hat-sway 3.6s ease-in-out infinite alternate;
}

@keyframes xm-hat-sway {
  from { transform: rotate(10deg); }
  to   { transform: rotate(19deg); }
}

/* ---------- Merry Christmas ribbon ---------- */
.xmas-ribbon {
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 4px 34px;
  padding: 12px 70px 11px;
  text-align: center;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255, 255, 255, 0.12), transparent 60%),
    linear-gradient(180deg, #7d0b1c 0%, #5a0814 100%);
  border-top: 1px solid rgba(255, 211, 107, 0.7);
  border-bottom: 1px solid rgba(255, 211, 107, 0.7);
  box-shadow: inset 0 0 0 4px rgba(61, 6, 16, 0.55), inset 0 0 0 5px rgba(255, 211, 107, 0.28), 0 8px 22px rgba(0, 0, 0, 0.45);
  color: var(--xm-snow);
  overflow: hidden;
}

/* fine gold thread along the edges */
.xmas-ribbon::before,
.xmas-ribbon::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--xm-candy);
  opacity: 0.9;
}
.xmas-ribbon::before { top: 0; }
.xmas-ribbon::after { bottom: 0; }

.xmas-ribbon__title {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: var(--xm-script);
  font-size: clamp(30px, 3.6vw, 46px);
  font-weight: 400;
  line-height: 1.1;
  color: var(--xm-gold-light);
  text-shadow: 0 2px 0 rgba(61, 6, 16, 0.85), 0 0 18px rgba(255, 211, 107, 0.45);
}

.xmas-ribbon__title small {
  font-family: var(--xm-font);
  font-size: 0.34em;
  font-weight: 600;
  font-style: italic;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--xm-snow);
  opacity: 0.85;
  text-shadow: none;
  white-space: nowrap;
}

.xmas-ribbon__flake {
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  background: linear-gradient(180deg, #fff, #ffd36b);
  -webkit-mask: var(--xm-flake) center / contain no-repeat;
  mask: var(--xm-flake) center / contain no-repeat;
  filter: drop-shadow(0 0 6px rgba(255, 211, 107, 0.8));
  animation: xm-spin 14s linear infinite;
}

.xmas-ribbon__flake:last-of-type { animation-direction: reverse; }

@keyframes xm-spin { to { transform: rotate(360deg); } }

.xmas-ribbon__code {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--xm-snow);
}

.xmas-ribbon__code b {
  margin-right: 4px;
  font-family: var(--xm-font);
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: var(--xm-gold);
}

.xmas-ribbon__code span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 3px 11px 3px 8px;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 211, 107, 0.35);
  letter-spacing: 0.06em;
  text-transform: none;
  font-weight: 600;
}

.xmas-ribbon__code i {
  display: inline-block;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.85);
  box-shadow: 0 0 8px currentColor;
}

.xmas-ribbon__code i.r { background: #ff2a45; color: #ff2a45; }
.xmas-ribbon__code i.g { background: #1fae63; color: #1fae63; }
.xmas-ribbon__code i.w { background: #fff; color: #fff; }
.xmas-ribbon__code i.y { background: var(--xm-gold); color: var(--xm-gold); }

/* pine sprigs at both ends of the ribbon (SVG injected by JS) */
.xmas-ribbon__pine {
  position: absolute;
  top: 0;
  height: 100%;
  width: auto;
  max-width: 260px;
  z-index: 1;
  pointer-events: none;
  filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.45));
}
.xmas-ribbon__pine--l { left: 0; }
.xmas-ribbon__pine--r { right: 0; transform: scaleX(-1); }

/* ---------- Banner: candy-cane frame + snow cap ---------- */
.banner:not(#_) {
  position: relative;
  background: linear-gradient(180deg, #082b1a, #04120d);
  padding-top: 14px;
  padding-bottom: 14px;
}

.banner .banner-carousel:not(#_) {
  position: relative;
  border-radius: 10px;
  padding: 5px;
  background: var(--xm-candy);
  box-shadow: 0 0 0 1px rgba(255, 241, 184, 0.7), 0 10px 34px rgba(0, 0, 0, 0.6), 0 0 36px rgba(214, 21, 47, 0.3);
}

.banner .banner-carousel img {
  border-radius: 6px;
}

/* snow cap on top of the banner */
.banner::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  top: 0;
  height: 20px;
  pointer-events: none;
  background:
    radial-gradient(circle at 14px 0, #fffaf3 13px, transparent 14px) 0 0 / 56px 20px repeat-x,
    radial-gradient(circle at 42px 0, #fffaf3 9px, transparent 10px) 0 0 / 56px 15px repeat-x;
  filter: drop-shadow(0 3px 2px rgba(0, 0, 0, 0.35));
}

/* ---------- Main content wrapper ---------- */
.home-info-container:not(#_) {
  background:
    radial-gradient(ellipse at 50% 0%, rgba(214, 21, 47, 0.18) 0%, transparent 55%),
    linear-gradient(180deg, #0a2f1d 0%, #06180f 100%);
  border-bottom: 2px solid rgba(255, 211, 107, 0.55);
}

/* ---------- Announcement / ticker ---------- */
.announcement-container:not(#_) {
  background: linear-gradient(90deg, #0c3f25 0%, #d6152f 50%, #0c3f25 100%);
  border: 1px solid rgba(255, 211, 107, 0.6);
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
}

.announcement-container [data-section="title"] {
  color: var(--xm-gold-light);
}

.announcement-container [data-section="title"]::before {
  content: "\1F514";
  margin-right: 4px;
  display: inline-block;
  animation: xm-ring 2.6s ease-in-out infinite;
  transform-origin: 50% 0;
}

@keyframes xm-ring {
  0%, 60%, 100% { transform: rotate(0); }
  66% { transform: rotate(16deg); }
  72% { transform: rotate(-14deg); }
  78% { transform: rotate(10deg); }
  84% { transform: rotate(-8deg); }
}

/* ---------- Jackpot ---------- */
.home-progressive-jackpot:not(#_) {
  background: linear-gradient(180deg, #d6152f 0%, #5c0a17 100%);
  border-radius: 12px;
  box-shadow: 0 0 0 2px var(--xm-gold), 0 8px 26px rgba(0, 0, 0, 0.5);
}

.home-progressive-jackpot .jackpot-container {
  color: var(--xm-gold-light);
}

#progressive_jackpot:not(#_) {
  color: var(--xm-gold-light);
  text-shadow: 0 0 10px rgba(255, 211, 107, 0.9), 0 0 24px rgba(214, 21, 47, 0.9);
}

.home-progressive-jackpot .jackpot-play-text:not(#_) {
  font-family: var(--xm-font), "gilroybold", sans-serif;
  font-size: 1.15em;
  color: var(--xm-snow);
  text-shadow: 0 2px 0 rgba(61, 6, 16, 0.9);
}

.home-progressive-jackpot .jackpot-play-text label {
  color: var(--xm-gold);
}

/* ---------- Lottery / winners / lists ---------- */
.lottery-result-container:not(#_) {
  background: linear-gradient(180deg, #0f4a2c 0%, #06180f 100%);
  border: 1px solid rgba(255, 211, 107, 0.5);
  border-radius: 10px;
}

.lottery-result-container .lottery-result-title:not(#_) {
  background: linear-gradient(90deg, #8f0c1f, #d6152f 50%, #8f0c1f);
  color: var(--xm-gold-light);
  font-family: var(--xm-font), sans-serif;
  font-size: 1.15em;
  letter-spacing: 0.5px;
}

.jackpot-winners:not(#_) {
  background: linear-gradient(180deg, #0c3f25 0%, #06180f 100%);
  border-top: 3px solid var(--xm-red);
  border-bottom: 3px solid var(--xm-red);
}

.home-game-list-container .container-title span:not(#_),
.popular-game-title-container .container-title span:not(#_),
.popular-games [data-section="left"] .section-title:not(#_) {
  background: linear-gradient(90deg, #8f0c1f 0%, #d6152f 50%, #8f0c1f 100%);
  color: var(--xm-gold-light);
  font-family: var(--xm-font), "digital_sans_ef_medium", sans-serif;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-shadow: 0 2px 0 rgba(61, 6, 16, 0.85);
}

.home-game-list-container .container-content,
.popular-game-title-container .container-content,
.popular-games .tab-content {
  border-color: rgba(255, 211, 107, 0.4) !important;
}

.home-game-list-container .game-item:not(#_),
.popular-game-title-container .game-item:not(#_),
.provider-slide .slide-item:not(#_) {
  border: 1px solid rgba(255, 211, 107, 0.35);
  border-radius: 10px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.home-game-list-container .game-item:hover,
.popular-game-title-container .game-item:hover,
.provider-slide .slide-item:hover {
  transform: translateY(-4px) scale(1.02);
  border-color: var(--xm-gold);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5), 0 0 16px rgba(214, 21, 47, 0.55);
}

/* Soft snow resting on each game image, the jackpot, the lottery board, and tables.
   A long drift fades out, so neighbouring cards do not share the same lump.
   The falling snow layers are separate and stay as they are. */
.game-item .wrapper-container,
.game-item .game-wrapper,
.popular-games .tab-pane > picture,
.home-progressive-jackpot,
.lottery-result-container,
.footer-description-section .seo-table-wrap {
  position: relative;
}

.game-item .wrapper-container::before,
.game-item .game-wrapper::before,
.popular-games .tab-pane > picture::before,
.home-progressive-jackpot::before,
.lottery-result-container::before,
.footer-description-section .seo-table-wrap::before {
  content: "";
  position: absolute;
  z-index: 4;
  left: 0;
  right: 0;
  top: 0;
  height: 18px;
  pointer-events: none;
  border-radius: 8px 8px 0 0;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 32' preserveAspectRatio='none'><defs><linearGradient id='s' x1='0' y1='0' x2='0' y2='1'><stop offset='0' stop-color='white'/><stop offset='.4' stop-color='white'/><stop offset='1' stop-color='white' stop-opacity='0'/></linearGradient></defs><path fill='black' opacity='.16' d='M0 2h240v9c-14 0-26 9-42 6-18-3-30 8-48 5-16-3-28-9-46-5-18 4-32-5-50-2-16 3-28 7-54 4V2z'/><path fill='url(%23s)' d='M0 0h240v10c-14 1-26 10-42 7-18-3-30 8-48 5-16-3-28-8-46-4-18 4-32-6-50-2-16 3-28 7-54 4V0z'/><path fill='white' opacity='.8' d='M0 0h240v4c-22 2-40-1-62 1-24 2-40-2-64 0-22 2-44-1-66 1-16 1-28 0-48 1V0z'/></svg>") left top / 220px 18px repeat-x;
}

.game-item .wrapper-container::after,
.game-item .game-wrapper::after,
.popular-games .tab-pane > picture::after {
  content: "";
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: 0;
  height: 22px;
  pointer-events: none;
  background-image:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g fill='none' stroke='white' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'><path d='M16 2.5v27M4.4 9.2l23.2 13.6M4.4 22.8L27.6 9.2'/><path d='M16 7.2l1.5 2.3L16 11.4l-1.5-1.9zM16 20.6l1.5 1.9L16 24.8l-1.5-2.3z'/><path d='M8 12.2l2.2.7.2-2.2M24 19.8l-2.2-.7-.2 2.2M8 19.8l2.2-.7.2 2.2M24 12.2l-2.2.7-.2-2.2'/></g><circle cx='16' cy='16' r='1.15' fill='white'/></svg>"),
    radial-gradient(circle at 28% 15px, rgba(255, 255, 255, 0.95) 0 0.9px, transparent 1.5px),
    radial-gradient(circle at 54% 13px, rgba(255, 255, 255, 0.7) 0 0.7px, transparent 1.2px);
  background-repeat: no-repeat;
  background-position: calc(100% - 7px) 5px, 0 0, 0 0;
  background-size: 9px 9px, auto, auto;
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.85));
}

.game-item:nth-child(2n) .wrapper-container::before,
.game-item:nth-child(2n) .game-wrapper::before {
  background-position: -78px top;
}

.game-item:nth-child(3n) .wrapper-container::before,
.game-item:nth-child(3n) .game-wrapper::before {
  background-position: -36px top;
  height: 15px;
  background-size: 220px 15px;
}

.game-item:nth-child(2n) .wrapper-container::after,
.game-item:nth-child(2n) .game-wrapper::after {
  background-position: 8px 6px, 0 0, 0 0;
  background-size: 8px 8px, auto, auto;
}

.games-group:nth-child(2n) .game-item .wrapper-container::before {
  background-position: -150px top;
}

.home-progressive-jackpot::before,
.lottery-result-container::before,
.footer-description-section .seo-table-wrap::before {
  height: 13px;
  border-radius: inherit;
  background-size: 320px 13px;
  opacity: 0.92;
}

.home-progressive-jackpot::after,
.lottery-result-container::after,
.footer-description-section .seo-table-wrap::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: 2px;
  width: 11px;
  height: 11px;
  pointer-events: none;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><g fill='none' stroke='white' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round'><path d='M16 2.5v27M4.4 9.2l23.2 13.6M4.4 22.8L27.6 9.2'/><path d='M16 7.2l1.5 2.3L16 11.4l-1.5-1.9zM16 20.6l1.5 1.9L16 24.8l-1.5-2.3z'/></g><circle cx='16' cy='16' r='1.15' fill='white'/></svg>") center / contain no-repeat;
  filter: drop-shadow(0 0 1px rgba(255, 255, 255, 0.8));
}

.home-progressive-jackpot::after { right: 14px; }
.lottery-result-container::after { left: 12px; }
.footer-description-section .seo-table-wrap::after { right: 10px; opacity: 0.85; }

.popular-games .nav-tabs > li > a:not(#_) {
  background: #0c3f25;
  color: var(--xm-snow);
  border-color: rgba(255, 211, 107, 0.25);
}

.popular-games .nav-tabs > li.active > a:not(#_),
.popular-games .nav-tabs > li > a:hover:not(#_) {
  background: linear-gradient(180deg, #ff4a62 0%, #d6152f 55%, #8f0c1f 100%);
  color: #fff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

/* ---------- Buttons ---------- */
.standard-primary-button:not(#_),
.standard-secondary-button:not(#_),
.standard-button-group .btn:not(#_),
.btn-primary:not(#_),
.popular-games .popular-game-list .link-container a:not(#_) {
  background: linear-gradient(180deg, #ff4a62 0%, #d6152f 48%, #8f0c1f 100%);
  color: #fff;
  border: 1px solid var(--xm-gold);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
  box-shadow: 0 4px 14px rgba(214, 21, 47, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

.standard-primary-button:hover:not(#_),
.standard-secondary-button:hover:not(#_),
.standard-button-group .btn:hover:not(#_),
.btn-primary:hover:not(#_),
.popular-games .popular-game-list .link-container a:hover:not(#_) {
  background: linear-gradient(180deg, #2fc77a 0%, #1a7a45 55%, #0c3f25 100%);
  color: #fff;
  box-shadow: 0 6px 18px rgba(26, 122, 69, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

/* ---------- Telegram banner strip ---------- */
.telegram-banner-container:not(#_) {
  background:
    radial-gradient(ellipse at 50% 100%, rgba(214, 21, 47, 0.22) 0%, transparent 60%),
    linear-gradient(180deg, #082b1a 0%, #0c3f25 100%);
}

/* ---------- Provider boxes ---------- */
.provider-container:not(#_) {
  border: 1px solid rgba(255, 211, 107, 0.35);
  border-radius: 10px;
}

.provider-container > h5:not(#_) {
  background: linear-gradient(90deg, #d6152f 0%, #8f0c1f 100%);
  color: var(--xm-gold-light);
  border: 1px solid rgba(255, 211, 107, 0.5);
  box-shadow: 0 2px 10px rgba(214, 21, 47, 0.5);
}

/* ---------- Footer ---------- */
.site-footer:not(#_) {
  position: relative;
  background: linear-gradient(180deg, #0c3f25 0%, #041009 100%);
  border-top: 0;
  padding-top: 8px;
}

.site-footer::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 8px;
  background: var(--xm-candy);
  box-shadow: 0 2px 0 var(--xm-gold);
}

.site-footer a:not(#_):hover,
.footer-sitemap-section .footer-links > li > a:hover:not(#_) {
  color: var(--xm-gold-light);
  text-shadow: 0 0 10px rgba(255, 211, 107, 0.55);
}

.footer-description-section .site-description h1:not(#_),
.footer-description-section .site-description h2:not(#_),
.footer-description-section .site-description h3:not(#_),
.footer-description-section h4:not(#_),
.footer-sitemap-section h4:not(#_) {
  color: var(--xm-gold);
}

.footer-description-section .site-description h1:not(#_) {
  font-family: var(--xm-font), "digital_sans_ef_medium", sans-serif;
  font-size: clamp(22px, 2.6vw, 30px);
  text-shadow: 0 2px 0 rgba(61, 6, 16, 0.7);
}

/* ---------- SEO long-read article ---------- */
.footer-description-section .site-description nav:not(#_),
.footer-description-section .site-description .seo-toc nav:not(#_) {
  background: linear-gradient(180deg, rgba(15, 74, 44, 0.75), rgba(4, 16, 9, 0.92));
  border: 1px solid rgba(255, 211, 107, 0.4);
  border-radius: 14px;
}

.footer-description-section .site-description nav a::before {
  background: var(--xm-red);
  box-shadow: 0 0 6px var(--xm-red);
}

.footer-description-section .site-description nav a:hover {
  background: rgba(214, 21, 47, 0.28);
}

.footer-description-section .site-description .seo-content:not(#_) {
  background: linear-gradient(180deg, rgba(8, 43, 26, 0.65), rgba(4, 16, 9, 0.7));
  border: 1px solid rgba(255, 211, 107, 0.28);
  position: relative;
}

.footer-description-section .site-description .seo-content h2:not(#_) {
  color: var(--xm-gold);
  font-family: var(--xm-font), "digital_sans_ef_medium", sans-serif;
  font-size: clamp(22px, 2.6vw, 30px);
  border-bottom: 3px solid transparent;
  border-image: var(--xm-candy) 3;
}

.footer-description-section .site-description .seo-content h3:not(#_) {
  color: var(--xm-snow);
  border-left: 4px solid var(--xm-red);
  background: linear-gradient(90deg, rgba(214, 21, 47, 0.22), rgba(26, 122, 69, 0.1));
}

.footer-description-section .site-description .seo-content ul li::marker {
  color: var(--xm-red);
}

.footer-description-section .site-description .seo-content ol li::marker,
.footer-description-section .site-description .seo-content ol li strong,
.footer-description-section .site-description .seo-content .seo-cons strong {
  color: var(--xm-gold);
}

.footer-description-section .site-description .seo-content .seo-cons {
  border-left-color: var(--xm-red);
  background: rgba(214, 21, 47, 0.14);
}

.footer-description-section .site-description .seo-table-wrap {
  border: 1px solid rgba(255, 211, 107, 0.5);
}

.footer-description-section .site-description .seo-table th:not(#_) {
  background: linear-gradient(90deg, #8f0c1f 0%, #d6152f 100%);
  color: var(--xm-gold-light);
  border-bottom: 2px solid var(--xm-gold);
}

.footer-description-section .site-description .seo-table tbody tr:nth-child(odd) td:not(#_) {
  background: rgba(15, 74, 44, 0.55);
}

.footer-description-section .site-description .seo-table tbody tr:nth-child(even) td:not(#_) {
  background: rgba(61, 6, 16, 0.4);
}

.footer-description-section .site-description .seo-table tbody tr:hover td:not(#_) {
  background: rgba(214, 21, 47, 0.3);
}

.footer-description-section .site-description .seo-table td:first-child strong,
.footer-description-section .site-description .seo-table td:last-child:not(#_) {
  color: var(--xm-gold);
}

/* ---------- Promo popup ---------- */
.nava999-popup-overlay:not(#_) {
  background: radial-gradient(ellipse at center, rgba(12, 63, 37, 0.82) 0%, rgba(2, 8, 5, 0.92) 100%);
}

.nava999-popup-card:not(#_) {
  background: linear-gradient(180deg, #0f4a2c 0%, #04120d 100%);
  border: 2px solid var(--xm-gold);
  box-shadow:
    0 0 0 5px #d6152f,
    0 0 0 7px var(--xm-gold),
    0 24px 60px rgba(0, 0, 0, 0.75),
    0 0 50px rgba(214, 21, 47, 0.45);
}

.nava999-popup-card::before {
  height: 8px;
  background: var(--xm-candy);
}

.nava999-popup-card::after {
  content: "Merry Christmas";
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 9;
  padding: 3px 16px 5px;
  border-radius: 999px;
  background: linear-gradient(180deg, #d6152f, #7d0b1c);
  border: 1px solid var(--xm-gold);
  color: var(--xm-gold-light);
  font-family: var(--xm-script), cursive;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.3px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

.nava999-popup-close:not(#_) {
  border-color: var(--xm-gold);
  background: rgba(143, 12, 31, 0.9);
  color: #fff;
  top: 16px;
}

.nava999-popup-title:not(#_) {
  color: var(--xm-snow);
  text-shadow: 0 0 14px rgba(214, 21, 47, 0.6);
}

.nava999-popup-title span:not(#_) {
  color: var(--xm-gold);
}

.nava999-popup-btn--login:not(#_) {
  background: linear-gradient(180deg, #1fae63 0%, #0c3f25 100%);
  color: #fff;
  border: 1px solid var(--xm-gold);
}

.nava999-popup-btn--register:not(#_) {
  background: linear-gradient(180deg, #ff4a62 0%, #d6152f 48%, #8f0c1f 100%);
  color: #fff;
  border: 1px solid var(--xm-gold);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
  animation: xm-pulse 1.8s ease-in-out infinite;
}

@keyframes xm-pulse {
  0%, 100% { box-shadow: 0 4px 18px rgba(214, 21, 47, 0.45); }
  50%      { box-shadow: 0 4px 28px rgba(255, 74, 98, 0.95), 0 0 0 4px rgba(255, 211, 107, 0.35); }
}

/* ---------- Scrollbar ---------- */
::-webkit-scrollbar { width: 12px; height: 12px; }
::-webkit-scrollbar-track { background: #04120d; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #d6152f, #8f0c1f);
  border: 2px solid #04120d;
  border-radius: 8px;
}
::selection { background: var(--xm-red); color: #fff; }

/* ---------- Garland (string lights) ---------- */
.xmas-garland {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 46px;
  z-index: 998;
  pointer-events: none;
  overflow: hidden;
}

.xmas-garland svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.xmas-garland .bulb {
  position: absolute;
  width: 11px;
  height: 17px;
  margin: -2px 0 0 -5.5px;
  border-radius: 50% 50% 46% 46% / 40% 40% 60% 60%;
  background: currentColor;
  color: var(--c);
  box-shadow: 0 0 10px 2px var(--c), inset -2px -3px 4px rgba(0, 0, 0, 0.28), inset 2px 2px 3px rgba(255, 255, 255, 0.55);
  animation: xm-bulb 1.8s ease-in-out infinite;
  animation-delay: var(--d);
}

.xmas-garland .bulb::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -4px;
  width: 6px;
  height: 5px;
  margin-left: -3px;
  border-radius: 1px;
  background: #2a2a2a;
}

@keyframes xm-bulb {
  0%, 100% { opacity: 1; filter: brightness(1.15); }
  50%      { opacity: 0.45; filter: brightness(0.7); box-shadow: 0 0 3px 0 var(--c); }
}

/* ---------- Snowfall canvas (sits above the promo popup so snow also falls on it) ---------- */
#xmas-snow {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
  pointer-events: none;
}

/* ---------- Extra white snow (layered under the crystal snowfall, never replaces it) ---------- */
.xmas-white-snow {
  position: fixed;
  inset: 0;
  z-index: 99998;
  overflow: hidden;
  pointer-events: none;
}

.xmas-white-snow.is-off { display: none; }

.xmas-white-snow i {
  position: absolute;
  top: 0;
  display: block;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 5px 1px rgba(255, 255, 255, 0.72);
  animation-name: xmas-white-fall;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}

.xmas-white-snow i.crystal {
  border-radius: 0;
  background: #fff;
  box-shadow: none;
  -webkit-mask: var(--xm-flake) center / contain no-repeat;
  mask: var(--xm-flake) center / contain no-repeat;
  filter: drop-shadow(0 0 3px rgba(255, 255, 255, 0.95));
  animation-name: xmas-white-fall, xmas-white-twinkle;
  animation-timing-function: linear, ease-in-out;
}

.xmas-white-snow i.near {
  background: radial-gradient(circle, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.42) 42%, rgba(255, 255, 255, 0) 72%);
  box-shadow: 0 0 14px 4px rgba(255, 255, 255, 0.28);
}

@keyframes xmas-white-fall {
  0%   { transform: translate3d(0, -14vh, 0) rotate(0deg); }
  28%  { transform: translate3d(var(--sway), 24vh, 0) rotate(110deg); }
  56%  { transform: translate3d(calc(var(--sway) * -0.72), 56vh, 0) rotate(220deg); }
  80%  { transform: translate3d(calc(var(--sway) * 0.4), 84vh, 0) rotate(300deg); }
  100% { transform: translate3d(0, 114vh, 0) rotate(360deg); }
}

@keyframes xmas-white-twinkle {
  0%, 100% { opacity: 0.55; }
  50%      { opacity: 1; }
}

/* ---------- Snow drift on top of the footer ---------- */
.site-footer::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -15px;
  height: 18px;
  z-index: 2;
  pointer-events: none;
  background:
    url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 18' preserveAspectRatio='none'><path d='M0 18V10Q10 2 22 8T48 9Q62 0 76 8T104 9Q112 5 120 10V18Z' fill='%23fffaf3'/></svg>") 0 0 / 120px 18px repeat-x;
  filter: drop-shadow(0 -2px 3px rgba(0, 0, 0, 0.25));
}

/* ---------- Santa mascot (bottom-left) ---------- */
.xmas-santa {
  position: fixed;
  left: 10px;
  bottom: 0;
  z-index: 9990;
  width: 140px;
  pointer-events: none;
  transform: translateY(105%);
  transition: transform 0.9s cubic-bezier(0.22, 1.25, 0.36, 1);
}

.xmas-santa.is-in { transform: translateY(0); }

.xmas-santa__btn {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  pointer-events: auto;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.55));
  -webkit-tap-highlight-color: transparent;
}

.xmas-santa__btn svg { display: block; width: 100%; height: auto; overflow: visible; }

/* the raised arm waves around the elbow (coords are in the svg viewBox of santa.png) */
.xmas-santa .xs-arm {
  transform-box: view-box;
  transform-origin: 967px 416px;
  animation: xs-wave 1.6s ease-in-out infinite;
}

@keyframes xs-wave {
  0%, 100% { transform: rotate(-9deg); }
  50% { transform: rotate(12deg); }
}

.xmas-santa__bubble {
  position: absolute;
  left: 128px;
  bottom: 96px;
  min-width: 176px;
  padding: 9px 16px 10px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(15, 74, 44, 0.97), rgba(6, 24, 15, 0.97));
  border: 1px solid var(--xm-gold);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.5), 0 0 18px rgba(255, 211, 107, 0.18);
  color: var(--xm-snow);
  font-size: 12.5px;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(8px) scale(0.92);
  transform-origin: 0 100%;
  transition: opacity 0.35s ease, transform 0.35s ease;
  pointer-events: none;
}

.xmas-santa__bubble::before {
  content: "";
  position: absolute;
  left: -7px;
  bottom: 16px;
  width: 12px;
  height: 12px;
  background: #0d3b23;
  border-left: 1px solid var(--xm-gold);
  border-bottom: 1px solid var(--xm-gold);
  transform: rotate(45deg);
}

.xmas-santa__bubble b {
  display: block;
  font-family: var(--xm-script);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.05;
  color: var(--xm-gold-light);
  text-shadow: 0 0 12px rgba(255, 211, 107, 0.45);
}

.xmas-santa.is-talking .xmas-santa__bubble {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.xmas-snowbtn {
  position: absolute;
  left: 112px;
  bottom: 10px;
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(255, 211, 107, 0.7);
  background: rgba(6, 24, 15, 0.85);
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.5);
  cursor: pointer;
  pointer-events: auto;
  transition: transform 0.2s ease, background 0.2s ease, opacity 0.2s ease;
}

.xmas-snowbtn::before {
  content: "";
  position: absolute;
  inset: 6px;
  background: linear-gradient(180deg, #fff, #ffd36b);
  -webkit-mask: var(--xm-flake) center / contain no-repeat;
  mask: var(--xm-flake) center / contain no-repeat;
}

.xmas-snowbtn:hover { transform: scale(1.12); background: rgba(143, 12, 31, 0.9); }
.xmas-snowbtn[aria-pressed="false"] { opacity: 0.55; }
.xmas-snowbtn[aria-pressed="false"]::after {
  content: "";
  position: absolute;
  left: 6px;
  right: 6px;
  top: 50%;
  height: 2px;
  background: #ff4a62;
  transform: rotate(-45deg);
}

/* ---------- Santa's sleigh fly-by ---------- */
.xmas-sleigh {
  position: fixed;
  top: 9vh;
  left: 0;
  width: clamp(320px, 44vw, 640px);
  z-index: 99985;
  pointer-events: none;
  visibility: hidden;
  will-change: transform;
  filter: drop-shadow(0 6px 10px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 14px rgba(255, 211, 107, 0.28));
}

.xmas-sleigh svg { display: block; width: 100%; height: auto; overflow: visible; }

/* gentle galloping bob of the sleigh + reindeer */
.xmas-sleigh .xs-ride {
  transform-box: view-box;
  transform-origin: 900px 450px;
  animation: xs-bob 0.7s ease-in-out infinite alternate;
}

@keyframes xs-bob {
  from { transform: translateY(-9px) rotate(-0.5deg); }
  to { transform: translateY(9px) rotate(0.5deg); }
}

.xmas-sleigh .tw { animation: xs-tw 1.2s ease-in-out infinite alternate; }
.xmas-sleigh .tw:nth-child(2n) { animation-delay: -0.4s; }
.xmas-sleigh .tw:nth-child(3n) { animation-delay: -0.8s; }

@keyframes xs-tw {
  from { opacity: 0.15; }
  to { opacity: 1; }
}

.xmas-sleigh .rudolph-glow {
  animation: xs-glow 1.1s ease-in-out infinite alternate;
  transform-box: fill-box;
  transform-origin: 50% 50%;
}

@keyframes xs-glow {
  from { opacity: 0.35; transform: scale(0.85); }
  to { opacity: 0.95; transform: scale(1.25); }
}

/* ---------- Responsive ---------- */
@media (max-width: 991px) {
  .xmas-ribbon { padding-left: 24px; padding-right: 24px; }
  .xmas-ribbon__pine { display: none; }
}

@media (max-width: 767px) {
  .xmas-ribbon { padding: 10px 14px; }
  .xmas-ribbon__title small { display: none; }
  .xmas-ribbon__code { font-size: 10.5px; }
  .xmas-ribbon__code b { flex-basis: 100%; text-align: center; margin: 0; }
  .site-header a.logo::after { width: 34px; height: 30px; top: -12px; right: -8px; }
  .nava999-popup-card::after { font-size: 19px; }
  .xmas-garland { height: 38px; }
  .xmas-santa { width: 96px; left: 6px; }
  .xmas-santa__bubble { left: 88px; bottom: 66px; min-width: 150px; font-size: 11.5px; }
  .xmas-snowbtn { left: 78px; width: 28px; height: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
  #xmas-snow, .xmas-white-snow, .xmas-sleigh { display: none; }
}

/* ---------- Footer featured product cards (Slots / Sports / Casino) ---------- */
.footer-featured-product-section:not(#_) { gap: 0; }

.footer-featured-product-section .site-info-description:not(#_) {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(255, 211, 107, 0.16) 0%, rgba(255, 211, 107, 0) 55%),
    linear-gradient(160deg, #b3122a 0%, #7d0b1d 55%, #3d0610 100%);
  border: 1px solid rgba(255, 211, 107, 0.65);
  border-radius: 14px;
  padding: 22px 18px;
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 241, 184, 0.35),
    inset 0 0 0 3px rgba(61, 6, 16, 0.55);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

/* candy-trim ribbon on the top edge */
.footer-featured-product-section .site-info-description::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 4px;
  background: var(--xm-candy);
}

/* little snowflake ornament in the corner */
.footer-featured-product-section .site-info-description::after {
  content: "\2744";
  position: absolute;
  right: 12px;
  bottom: 6px;
  font-size: 26px;
  line-height: 1;
  color: rgba(255, 250, 243, 0.16);
  pointer-events: none;
}

/* middle card: pine green so the row reads red / green / red */
.footer-featured-product-section > div:nth-child(2) .site-info-description:not(#_) {
  background:
    radial-gradient(120% 90% at 100% 0%, rgba(255, 211, 107, 0.16) 0%, rgba(255, 211, 107, 0) 55%),
    linear-gradient(160deg, #1f8f52 0%, #12633a 55%, #0a3a22 100%);
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.45),
    inset 0 1px 0 rgba(255, 241, 184, 0.35),
    inset 0 0 0 3px rgba(6, 24, 15, 0.55);
}

.footer-featured-product-section .site-info-description:hover:not(#_) {
  transform: translateY(-4px);
  border-color: var(--xm-gold);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.55),
    0 0 18px rgba(255, 211, 107, 0.35),
    inset 0 1px 0 rgba(255, 241, 184, 0.45),
    inset 0 0 0 3px rgba(61, 6, 16, 0.4);
}

.footer-featured-product-section .site-info-description .site-info-img-header:not(#_) {
  align-items: center;
  background: rgba(255, 250, 243, 0.08);
  border: 1px solid rgba(255, 211, 107, 0.28);
  border-radius: 40px;
  padding: 6px 14px 6px 6px;
}

/* gold medallion behind the icon */
.footer-featured-product-section .site-info-description .site-info-img-header div:has(img):not(#_) {
  background: radial-gradient(circle at 30% 25%, #fff1b8 0%, #ffd36b 45%, #d99a1c 100%);
  border: 2px solid #fffaf3;
  box-shadow: 0 0 10px rgba(255, 211, 107, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-featured-product-section .site-info-description h4:not(#_) {
  margin: 0;
  color: var(--xm-gold-light);
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(61, 6, 16, 0.8), 0 0 10px rgba(255, 211, 107, 0.35);
}

.footer-featured-product-section .site-info-description p:not(#_) {
  margin-top: 12px;
  color: var(--xm-snow);
  line-height: 1.7;
}

/* ---------- Footer banking / deposit & withdraw cards ---------- */
.footer-banking-section .banking-footer-section:not(#_) {
  border: 1px solid rgba(255, 211, 107, 0.45);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 250, 243, 0.04), rgba(0, 0, 0, 0.12));
}

.footer-banking-section .bank-list-container:not(#_) {
  background: linear-gradient(90deg, rgba(143, 12, 31, 0.55), rgba(12, 63, 37, 0.55));
  border: 1px dashed rgba(255, 211, 107, 0.5);
  border-radius: 10px;
}

.footer-banking-section .bank-list-container p:not(#_) {
  color: var(--xm-snow);
}

.footer-banking-section .bank-service-container .site-info-description:not(#_) {
  position: relative;
  overflow: hidden;
  gap: 14px;
  padding: 12px 18px;
  border-radius: 12px;
  border: 1px solid rgba(255, 211, 107, 0.6);
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.4),
    inset 0 1px 0 rgba(255, 241, 184, 0.3),
    inset 0 0 0 3px rgba(0, 0, 0, 0.25);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Deposit = pine green */
.footer-banking-section .bank-service-container .site-info-description:nth-child(odd):not(#_) {
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(255, 211, 107, 0.16), rgba(255, 211, 107, 0) 55%),
    linear-gradient(160deg, #1f8f52 0%, #12633a 55%, #0a3a22 100%);
}

/* Withdraw = velvet red */
.footer-banking-section .bank-service-container .site-info-description:nth-child(even):not(#_) {
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(255, 211, 107, 0.16), rgba(255, 211, 107, 0) 55%),
    linear-gradient(160deg, #b3122a 0%, #7d0b1d 55%, #3d0610 100%);
}

/* candy trim on top edge */
.footer-banking-section .bank-service-container .site-info-description::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 3px;
  background: var(--xm-candy);
}

.footer-banking-section .bank-service-container .site-info-description:hover:not(#_) {
  transform: translateY(-3px);
  border-color: var(--xm-gold);
  box-shadow:
    0 12px 24px rgba(0, 0, 0, 0.5),
    0 0 16px rgba(255, 211, 107, 0.35),
    inset 0 0 0 3px rgba(0, 0, 0, 0.2);
}

/* gold medallion behind the icon */
.footer-banking-section .bank-service-container .site-info-description div:has(img):not(#_) {
  background: radial-gradient(circle at 30% 25%, #fff1b8 0%, #ffd36b 45%, #d99a1c 100%);
  border: 2px solid #fffaf3;
  box-shadow: 0 0 10px rgba(255, 211, 107, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
}

.footer-banking-section .bank-service-container .site-info-description h4:not(#_) {
  color: var(--xm-gold-light);
  font-weight: 700;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.6), 0 0 10px rgba(255, 211, 107, 0.35);
}

.footer-banking-section .bank-service-container .site-info-description p:not(#_) {
  margin-top: 4px;
  color: var(--xm-snow);
}

/* ---------- Header logo: center vertically (desktop/tablet) ---------- */
@media (min-width: 768px) {
  .site-header > .container > .row:not(#_) {
    display: flex;
    align-items: center;
  }
  .site-header > .container > .row::before,
  .site-header > .container > .row::after {
    display: none;
  }
  .site-header a.logo:not(#_) {
    display: inline-block;
    height: auto !important;
    padding: 0 !important;
    line-height: 0;
  }
  .site-header a.logo:not(#_) img {
    position: static !important;
    transform: none !important;
    display: block;
    margin: 0 !important;
  }
  /* topi Santa tetap di posisi yang sama relatif terhadap gambar logo */
  .site-header a.logo::after {
    top: -30px;
  }
}