/*
 * Putins Casino 1.2.0 - Living Riviera
 * Final visual authority. No legacy project accent colors are used here.
 */
:root {
  --ink: #020914;
  --ink-2: #07121f;
  --ink-3: #0a1726;
  --panel: #07121f;
  --panel-soft: #0a1726;
  --green: #006e48;
  --emerald: #008b57;
  --emerald-soft: #35dda0;
  --gold: #c9a45f;
  --gold-bright: #e2c587;
  --gold-muted: #705b38;
  --cream: #f2dfbd;
  --muted: #93a4b2;
  --line: rgba(201, 164, 95, 0.40);
  --line-soft: rgba(255, 255, 255, 0.09);
  --success: #35dda0;
  --ice: #d5edff;
  --display: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", Arial, sans-serif;
}

html { background: var(--ink); }
body {
  color: #f4f1e9;
  background:
    radial-gradient(circle at 77% 7%, rgba(201, 164, 95, 0.08), transparent 25rem),
    radial-gradient(circle at 18% 35%, rgba(0, 139, 87, 0.07), transparent 31rem),
    var(--ink);
}
body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 46%, rgba(226, 197, 135, 0.018) 48%, transparent 50%),
    radial-gradient(circle at 50% 120%, rgba(53, 221, 160, 0.045), transparent 34rem);
  background-size: 160% 160%, auto;
  animation: putinsAmbient 18s ease-in-out infinite alternate;
}

.site-header { box-shadow: 0 12px 42px rgba(0, 0, 0, 0.22); }
.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(226, 197, 135, 0.72), rgba(53, 221, 160, 0.28), transparent);
  opacity: 0.75;
}
.main-nav a { position: relative; color: #dce7ee; }
.main-nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  right: 50%;
  bottom: -9px;
  height: 1px;
  background: var(--gold-bright);
  transition: left 180ms ease, right 180ms ease, opacity 180ms ease;
  opacity: 0;
}
.main-nav a:hover::after,
.main-nav .current-menu-item > a::after { left: 0; right: 0; opacity: 1; }
.header-actions { gap: 9px; }
.age-mark {
  border-color: rgba(201, 164, 95, 0.48);
  color: var(--cream);
  background: rgba(7, 18, 31, 0.88);
}
.language-current,
.club-mode-button,
.club-passport-button,
.club-performance-button {
  border-color: rgba(201, 164, 95, 0.36);
  background: rgba(7, 18, 31, 0.92);
  color: #e9dfc7;
}
.language-current:hover,
.club-mode-button:hover,
.club-passport-button:hover,
.club-performance-button:hover { border-color: rgba(226, 197, 135, 0.72); }
.language-menu {
  border-color: rgba(201, 164, 95, 0.36);
  background: rgba(4, 14, 25, 0.98);
  backdrop-filter: blur(18px);
}
.language-menu a:hover,
.language-menu a[aria-current="page"] {
  color: var(--gold-bright);
  background: rgba(201, 164, 95, 0.09);
}
.language-menu span { color: var(--gold); }
.menu-toggle { border-color: rgba(201, 164, 95, 0.38); background: var(--panel); color: var(--cream); }

.button,
.wp-element-button,
input[type="submit"],
.mobile-sticky-cta {
  position: relative;
  overflow: hidden;
  border: 1px solid #40d99d;
  border-radius: 4px;
  color: #fff;
  background: linear-gradient(180deg, #009760, #00794f);
  box-shadow: inset 0 0 0 2px #004c35, 0 0 0 1px rgba(201, 164, 95, 0.68), 0 11px 30px rgba(0, 0, 0, 0.2);
  font-family: var(--sans);
  font-weight: 800;
}
.button::after,
.wp-element-button::after,
.mobile-sticky-cta::after {
  content: "";
  position: absolute;
  inset: -30% auto -30% -45%;
  width: 24%;
  transform: skewX(-19deg);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.28), transparent);
  transition: left 480ms ease;
  pointer-events: none;
}
.button:hover,
.wp-element-button:hover,
input[type="submit"]:hover,
.mobile-sticky-cta:hover {
  color: #fff;
  background: linear-gradient(180deg, #00aa6d, #008b57);
  box-shadow: inset 0 0 0 2px #004c35, 0 0 0 1px rgba(226, 197, 135, 0.9), 0 14px 34px rgba(0, 0, 0, 0.3);
}
.button:hover::after,
.wp-element-button:hover::after,
.mobile-sticky-cta:hover::after { left: 125%; }

.hero { isolation: isolate; }
.hero-picture { overflow: hidden; }
.hero-picture .hero-art {
  transform: scale(1.025);
  animation: putinsHeroDrift 16s ease-in-out infinite alternate;
  will-change: transform;
}
.hero::before {
  background:
    linear-gradient(90deg, rgba(2, 9, 20, 0.99) 0%, rgba(2, 9, 20, 0.82) 36%, rgba(2, 9, 20, 0.12) 72%),
    radial-gradient(circle at 63% 45%, rgba(226, 197, 135, 0.08), transparent 18rem);
}
.hero-copy > * {
  opacity: 0;
  transform: translateY(16px);
  animation: putinsHeroCopyIn 620ms cubic-bezier(.2,.75,.2,1) forwards;
}
.hero-copy > :nth-child(2) { animation-delay: 80ms; }
.hero-copy > :nth-child(3) { animation-delay: 160ms; }
.hero-copy > :nth-child(4) { animation-delay: 240ms; }
.hero-copy > :nth-child(5) { animation-delay: 320ms; }
.hero .eyebrow { color: var(--gold); }
.hero h1 { color: var(--ice); }
.hero-lead { color: #ead7b7; }
.verdict-card,
.bonus-card {
  border-color: rgba(201, 164, 95, 0.52);
  background: rgba(5, 14, 25, 0.89);
  box-shadow: inset 2px 0 0 rgba(201, 164, 95, 0.32), 0 13px 35px rgba(0,0,0,.23);
}

.section { position: relative; }
.section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-top: 1px solid rgba(255,255,255,.025);
}
.large-verdict,
.pros-cons,
.seo-facts-table > div,
.seo-card-grid article,
.seo-split-copy,
.seo-checklist li,
.payment-logos span,
.final-cta-card,
.concierge-shell,
.club-passport-card {
  border-color: rgba(201, 164, 95, 0.26);
  background-color: rgba(7, 18, 31, 0.94);
}
.key-facts strong,
.payment-facts strong,
.promotion-offer-copy > strong { color: var(--gold-bright); }

.casino-row {
  border-color: rgba(201, 164, 95, 0.18);
  background: rgba(7, 18, 31, 0.94);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.casino-row:hover {
  transform: translateX(4px);
  border-color: rgba(226, 197, 135, 0.48);
  background: rgba(10, 23, 38, 0.98);
}
.casino-row.featured {
  border-color: rgba(53, 221, 160, 0.55);
  box-shadow: inset 3px 0 0 rgba(53, 221, 160, 0.45), 0 13px 40px rgba(0,0,0,.18);
}
.ribbon { color: #07120e; background: var(--gold-bright); }
.brand-mark { border-color: rgba(201, 164, 95, 0.32); background: #04101d; }
.brand-mark-text,
.casino-spins strong { color: var(--gold-bright); }

.promotions-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 12%, rgba(0, 139, 87, 0.11), transparent 31rem),
    radial-gradient(circle at 12% 88%, rgba(201, 164, 95, 0.06), transparent 23rem),
    #030b16;
}
.promotions-section::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.12;
  pointer-events: none;
  background-image:
    linear-gradient(30deg, transparent 48%, rgba(201,164,95,.15) 49%, transparent 50%),
    linear-gradient(150deg, transparent 48%, rgba(201,164,95,.11) 49%, transparent 50%);
  background-size: 72px 72px;
}
.promotions-section > .container { position: relative; z-index: 1; }
.promotions-heading > p { color: #aeb9c5; }
.promotion-featured-card {
  border-color: rgba(201, 164, 95, 0.56);
  border-radius: 12px;
  background: var(--panel);
  box-shadow: 0 28px 80px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.025);
}
.promotion-featured-shade {
  background: linear-gradient(180deg, rgba(2,9,20,.02) 12%, rgba(2,9,20,.24) 43%, rgba(2,9,20,.97) 100%);
}
.promotion-featured-content h3 { color: var(--cream); }
.promotion-featured-content > strong { color: var(--gold-bright); }
.promotion-featured-content p { color: #c6d0d8; }
.promotion-featured-badge {
  border-color: rgba(226, 197, 135, 0.56);
  color: var(--cream);
  background: rgba(2,9,20,.74);
}
.promotion-offer-grid .promotion-offer-card {
  border: 1px solid rgba(201, 164, 95, 0.20);
  background: linear-gradient(145deg, rgba(201,164,95,.04), transparent 42%), rgba(7,18,31,.96);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}
.promotion-offer-grid .promotion-offer-card:hover {
  transform: translateY(-4px);
  border-color: rgba(53, 221, 160, 0.44);
  box-shadow: 0 18px 38px rgba(0,0,0,.23);
}
.promotion-offer-icon {
  color: var(--gold);
  background: linear-gradient(145deg, #0c2533, #071521);
  border: 1px solid rgba(201, 164, 95, 0.18);
}
.promotion-label,
.promotion-offer-link { color: var(--emerald-soft); }
.promotion-truth span,
.promotion-truth a {
  border-color: rgba(201,164,95,.25);
  color: #d9c28c;
  background: rgba(2,13,23,.68);
}
.promotion-truth .truth-verified { border-color: rgba(53,221,160,.42); color: #86ddb2; }

.promotion-featured-card.is-vault {
  --egg-x: 71%;
  --egg-y: 41%;
  --egg-rx: 19%;
  --egg-ry: 32%;
  --egg-split: 56%;
  perspective: 1300px;
  overflow: visible;
}
.vault-shell {
  position: relative;
  min-height: 580px;
  height: 100%;
  overflow: hidden;
  border-radius: inherit;
  transform-style: preserve-3d;
  transform: perspective(1300px) rotateX(var(--vault-tilt-x, 0deg)) rotateY(var(--vault-tilt-y, 0deg));
  transition: transform 260ms ease, box-shadow 520ms ease;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
}
.promotion-featured-card.is-vault.is-open .vault-shell {
  box-shadow: 0 30px 80px rgba(0,0,0,.48), 0 0 50px rgba(201,164,95,.13);
}
.faberge-scene { position: absolute; z-index: 0; inset: 0; overflow: hidden; }
.faberge-base,
.faberge-lid img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
  filter: saturate(.96) contrast(1.04) brightness(.92);
}
.faberge-base {
  transform: scale(1.012) translate3d(var(--vault-image-x, 0px), var(--vault-image-y, 0px), 0);
  transition: transform 500ms cubic-bezier(.2,.75,.2,1), filter 500ms ease;
}
.promotion-featured-card.is-vault:hover .faberge-base { filter: saturate(1.04) contrast(1.05) brightness(.97); }

.faberge-lid,
.faberge-void {
  position: absolute;
  inset: 0;
  clip-path: inset(0 0 var(--egg-split) 0);
  -webkit-mask-image: radial-gradient(ellipse var(--egg-rx) var(--egg-ry) at var(--egg-x) var(--egg-y), #000 0 97%, transparent 100%);
  mask-image: radial-gradient(ellipse var(--egg-rx) var(--egg-ry) at var(--egg-x) var(--egg-y), #000 0 97%, transparent 100%);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}
.faberge-lid {
  z-index: 3;
  transform-origin: var(--egg-x) calc(100% - var(--egg-split));
  transform: perspective(900px) rotateX(0deg) translateY(0);
  transition: transform 900ms cubic-bezier(.16,.78,.18,1), filter 450ms ease;
  will-change: transform;
}
.faberge-lid img { transform: scale(1.012); }
.faberge-void {
  z-index: 2;
  opacity: 0;
  background:
    radial-gradient(ellipse 18% 15% at var(--egg-x) calc(var(--egg-y) + 4%), rgba(53,221,160,.62), transparent 45%),
    radial-gradient(ellipse 24% 24% at var(--egg-x) calc(var(--egg-y) + 3%), rgba(226,197,135,.46), rgba(1,10,18,.92) 58%);
  transition: opacity 500ms ease 160ms;
}
.faberge-core {
  position: absolute;
  z-index: 2;
  left: var(--egg-x);
  top: 43%;
  width: 26%;
  aspect-ratio: 1.6;
  transform: translate(-50%, -50%) scale(.45);
  border-radius: 50%;
  opacity: 0;
  background:
    radial-gradient(circle, rgba(255,250,213,.94) 0 5%, rgba(226,197,135,.82) 12%, rgba(53,221,160,.36) 34%, transparent 68%);
  filter: blur(2px);
  transition: opacity 420ms ease 260ms, transform 720ms cubic-bezier(.2,.8,.2,1) 180ms;
  pointer-events: none;
}
.faberge-core::after {
  content: "";
  position: absolute;
  inset: 22%;
  border: 1px solid rgba(226,197,135,.66);
  border-radius: 50%;
  box-shadow: 0 0 24px rgba(226,197,135,.52), inset 0 0 20px rgba(53,221,160,.24);
}
.faberge-core span {
  position: absolute;
  inset: 37%;
  border-radius: 50%;
  background: #fff3bd;
  box-shadow: 0 0 22px #e2c587, 0 0 55px rgba(53,221,160,.58);
}
.faberge-sparkles { position: absolute; z-index: 4; inset: 0; pointer-events: none; }
.faberge-sparkles i {
  position: absolute;
  left: var(--egg-x);
  top: 42%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  opacity: 0;
  background: #f7e7af;
  box-shadow: 0 0 12px #e2c587;
}
.faberge-sparkles i:nth-child(1) { --sx:-66px; --sy:-104px; --delay:60ms; }
.faberge-sparkles i:nth-child(2) { --sx:52px; --sy:-91px; --delay:130ms; }
.faberge-sparkles i:nth-child(3) { --sx:-88px; --sy:-31px; --delay:210ms; }
.faberge-sparkles i:nth-child(4) { --sx:77px; --sy:-12px; --delay:280ms; }
.faberge-sparkles i:nth-child(5) { --sx:-55px; --sy:43px; --delay:350ms; }
.faberge-sparkles i:nth-child(6) { --sx:60px; --sy:51px; --delay:420ms; }
.faberge-sparkles i:nth-child(7) { --sx:-15px; --sy:-124px; --delay:490ms; }
.faberge-sparkles i:nth-child(8) { --sx:94px; --sy:-64px; --delay:560ms; }
.faberge-sparkles i:nth-child(9) { --sx:10px; --sy:70px; --delay:630ms; }

.promotion-featured-card.is-vault:not(.is-open) .faberge-lid {
  animation: fabergeBreath 5.8s ease-in-out infinite;
}
.promotion-featured-card.is-vault:not(.is-open)::after {
  content: "";
  position: absolute;
  z-index: 5;
  left: 57%;
  top: 7%;
  width: 34%;
  height: 58%;
  border-radius: 50%;
  opacity: .24;
  pointer-events: none;
  background: linear-gradient(115deg, transparent 35%, rgba(255,246,204,.22) 49%, transparent 61%);
  transform: translateX(-42%);
  animation: fabergeGlint 5.4s ease-in-out infinite;
}
.promotion-featured-card.is-vault.is-open .faberge-lid {
  transform: perspective(900px) rotateX(68deg) translateY(-5.5%);
  filter: brightness(1.08);
}
.promotion-featured-card.is-vault.is-open .faberge-void { opacity: 1; }
.promotion-featured-card.is-vault.is-open .faberge-core { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.promotion-featured-card.is-vault.is-open .faberge-sparkles i {
  animation: fabergeSpark 1.9s ease-out var(--delay) infinite;
}
.vault-trigger {
  right: 20px;
  top: 20px;
  z-index: 7;
  border-color: rgba(226,197,135,.62);
  background: rgba(2,12,23,.82);
  color: var(--cream);
  backdrop-filter: blur(12px);
  box-shadow: 0 8px 25px rgba(0,0,0,.22);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease;
}
.vault-trigger:hover { transform: translateY(-2px); border-color: var(--gold-bright); background: rgba(7,26,38,.93); }
.promotion-featured-card.is-vault.is-open .vault-trigger { color: #07120e; background: var(--gold-bright); border-color: #f0dca5; }
.promotion-featured-card.is-vault.is-open .vault-trigger .icon { transform: rotate(22deg); }

.club-control-bar {
  background: rgba(2, 9, 20, .92);
  border-block-color: rgba(201, 164, 95, .28);
}
.club-mode-button.is-active,
.concierge-choice.is-selected {
  color: #fff;
  border-color: #35dda0;
  background: #075b3b;
  box-shadow: 0 0 22px rgba(18,143,90,.18);
}
.club-passport { background: rgba(0,7,15,.82); }
.club-passport-card {
  border-radius: 18px;
  box-shadow: 0 28px 90px rgba(0,0,0,.52);
}
.club-passport-close { border-color: rgba(201,164,95,.3); background: var(--panel-soft); }
.club-interest {
  border-color: rgba(201,164,95,.23);
  border-radius: 12px;
  background: #081c30;
}
.club-interest .icon { color: var(--gold); }
.club-interest.is-selected {
  border-color: #43bf83;
  background: #093424;
  box-shadow: inset 0 0 0 1px #43bf83;
}
.club-performance-choice select { border-color: rgba(201,164,95,.28); background: #04111e; }
.concierge-section { background: #041321; }
.concierge-shell { border-radius: 18px; }
.concierge-controls fieldset { border-color: rgba(201,164,95,.2); border-radius: 12px; }
.concierge-controls legend { color: #d9c28d; }
.concierge-choice { border-color: rgba(170,191,210,.25); background: #051525; color: #c7d0d9; }
.concierge-result {
  border-left-color: var(--gold);
  border-radius: 12px;
  background: #03101c;
}

.demo-section { background: #020914; }
.spin-button {
  color: #fff;
  border-color: #40d99d;
  background: #008b57;
  box-shadow: inset 0 0 0 2px #004c35, 0 0 0 1px rgba(201,164,95,.64);
}
.reset-button { border-color: rgba(201,164,95,.48); color: var(--gold-bright); background: #06121f; }
.slot-win-popup {
  border-color: rgba(201,164,95,.66);
  background: #07121f;
  box-shadow: 0 24px 80px rgba(0,0,0,.82), inset 0 0 0 6px rgba(201,164,95,.045);
}
.slot-win-claim { color: #fff; border-color: #40d99d; background: #008b57; }
.slot-win-close { border-color: rgba(201,164,95,.42); background: #07121f; color: #fff; }
.final-cta-card {
  border-radius: 14px;
  background:
    radial-gradient(circle at 82% 13%, rgba(0,139,87,.11), transparent 15rem),
    #07121f;
  box-shadow: inset 4px 0 0 rgba(201,164,95,.34), 0 22px 62px rgba(0,0,0,.22);
}
.responsible-strip { background: #06101c; }
.site-footer { background: #020914; border-top-color: rgba(201,164,95,.28); }
.copyright { color: #788996; }

.motion-reveal {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.75,.2,1);
}
.motion-reveal.is-visible { opacity: 1; transform: translateY(0); }

@keyframes putinsAmbient {
  from { background-position: 0% 20%, center; }
  to { background-position: 100% 70%, center; }
}
@keyframes putinsHeroDrift {
  from { transform: scale(1.025) translate3d(0, 0, 0); }
  to { transform: scale(1.07) translate3d(-1.2%, -0.5%, 0); }
}
@keyframes putinsHeroCopyIn {
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fabergeBreath {
  0%, 72%, 100% { transform: perspective(900px) rotateX(0deg) translateY(0); }
  80% { transform: perspective(900px) rotateX(3deg) translateY(-1px); }
  88% { transform: perspective(900px) rotateX(0deg) translateY(0); }
}
@keyframes fabergeGlint {
  0%, 64%, 100% { transform: translateX(-115%); opacity: 0; }
  72% { opacity: .24; }
  88% { transform: translateX(125%); opacity: 0; }
}
@keyframes fabergeSpark {
  0% { opacity: 0; transform: translate(0,0) scale(.5); }
  22% { opacity: 1; }
  75% { opacity: .65; }
  100% { opacity: 0; transform: translate(var(--sx), var(--sy)) scale(1.45); }
}

@media (max-width: 1020px) {
  .vault-shell { min-height: 470px; }
  .promotion-featured-card.is-vault { --egg-rx: 17%; }
}
@media (max-width: 820px) {
  .main-nav { background: rgba(2,9,20,.98); border-bottom-color: rgba(201,164,95,.36); }
  .main-nav a::after { bottom: -3px; }
  .club-passport-card { border-radius: 14px; }
}
@media (max-width: 620px) {
  body::before { opacity: .72; }
  .hero {
    background:
      radial-gradient(circle at 76% 20%, rgba(201,164,95,.13), transparent 10rem),
      radial-gradient(circle at 18% 74%, rgba(0,139,87,.13), transparent 13rem),
      linear-gradient(145deg, #020914, #061424 58%, #020914);
  }
  .hero::before { background: linear-gradient(180deg, rgba(2,9,20,.04), rgba(2,9,20,.78) 54%, #020914); }
  .vault-shell { min-height: 440px; }
  .promotion-featured-card.is-vault {
    --egg-x: 71%;
    --egg-rx: 28%;
    --egg-ry: 32%;
  }
  .promotion-featured-content { padding: 22px; }
  .promotion-featured-card.is-vault:not(.is-open)::after { left: 44%; width: 52%; }
  .vault-trigger { right: 14px; top: 14px; }
}
@media (hover: none), (pointer: coarse) {
  .casino-row:hover,
  .promotion-offer-grid .promotion-offer-card:hover { transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  body::before,
  .hero-picture .hero-art,
  .hero-copy > *,
  .promotion-featured-card.is-vault:not(.is-open) .faberge-lid,
  .promotion-featured-card.is-vault:not(.is-open)::after,
  .promotion-featured-card.is-vault.is-open .faberge-sparkles i { animation: none !important; }
  .hero-copy > * { opacity: 1; transform: none; }
  .motion-reveal { opacity: 1; transform: none; transition: none; }
  .vault-shell,
  .faberge-lid,
  .faberge-base,
  .faberge-core,
  .faberge-void { transition: none !important; }
}
body.putins-performance-lite::before,
body.putins-performance-lite .promotion-featured-card.is-vault:not(.is-open)::after { display: none; }
body.putins-performance-lite .hero-picture .hero-art,
body.putins-performance-lite .promotion-featured-card.is-vault:not(.is-open) .faberge-lid,
body.putins-performance-lite .promotion-featured-card.is-vault.is-open .faberge-sparkles i { animation: none !important; }
body.putins-performance-lite .motion-reveal { opacity: 1; transform: none; transition: none; }
body.putins-performance-lite .vault-shell { transform: none !important; }
