/* National Casino HU — Danube / Hungarian tricolour. Presentation only. */
:root {
  --page: #071e19;
  --page-deep: #04130f;
  --panel: #102d25;
  --panel-soft: #193b30;
  --panel-strong: #09231c;
  --ink: #faf7ee;
  --muted: #b8cec3;
  --apricot: #eee8d7;
  --apricot-strong: #ddd8c7;
  --gold: #91b99d;
  --red: #ce3447;
  --success: #86d6aa;
  --line: rgba(171, 204, 181, .2);
  --radius: 14px;
  --shadow: 0 18px 44px #0004;
}

body {
  background: radial-gradient(ellipse at 0 0, #15463255, transparent 42rem),
    repeating-linear-gradient(135deg, transparent 0 47px, #bed6b905 48px 49px), #071e19;
}
::selection { background: #b92c40; color: #fff; }
:is(a,button,[tabindex]):focus-visible { outline: 2px solid #f8f2dc; outline-offset: 5px; }
.site-header { background: #061d18f5; border-top: 3px solid transparent; border-image: linear-gradient(90deg,#ce3447 0 33.33%,#f5f0e4 33.33% 66.66%,#358b5e 66.66%) 1; }
.brand { transition: filter .3s ease, transform .3s ease; }
.brand:hover { filter: drop-shadow(0 0 12px #7ec89a55); transform: translateY(-1px); }
.header-panel nav a { position: relative; border-radius: 0; }
.header-panel nav a::after { content:''; position:absolute; left:16px; right:16px; bottom:5px; height:3px; background:linear-gradient(90deg,#ce3447 33%,#f5f0e4 33% 66%,#358b5e 66%); transform:scaleX(0); transform-origin:left; transition:transform .3s ease; }
.header-panel nav a:hover::after,.header-panel nav a:focus-visible::after,.header-panel nav a[aria-current]::after { transform:scaleX(1); }
.local-clock { border-color:var(--line); background:#ffffff04; }
.reading-progress { background: #051811; }
.reading-progress-fill { background: linear-gradient(90deg,#bf2d41 0 33%,#eee8d7 33% 66%,#318758 66%); border-right:1px solid #eee8d7; }
.reading-progress-offer { background:#0b3026; }
.cta,.internal-button { background:#bb283e; border:1px solid #de5466; color:#fff8f0; box-shadow:0 4px 0 #671728,0 10px 24px #bc283e24; border-radius:9px; transition:transform .25s ease,box-shadow .25s ease,background .25s ease; }
.cta::after { background:linear-gradient(90deg,transparent,#fff5,transparent); }
.cta:hover,.cta:focus-visible,.internal-button:hover { background:#d6354c; transform:translateY(-3px); box-shadow:0 7px 0 #671728,0 17px 28px #bc283e30; }
.cta:active,.cta.is-pressed,.internal-button:active { transform:translateY(3px); box-shadow:0 1px 0 #671728; }
.cta-outline { background:transparent; border-color:#769c83; color:#f5f0e4; box-shadow:none; }
.cta-outline:hover,.cta-outline:focus-visible { background:#edf0df; color:#123c29; box-shadow:inset 0 -3px 0 #358b5e; }
.shortcut-list > a,.article-nav-links > a { border-bottom-color:#bfdac50c; }
.shortcut-list > a:hover,.shortcut-list > a:focus-visible { background:linear-gradient(90deg,#ce344720,transparent); box-shadow:inset 3px 0 #ce3447; }
.shortcut-list > a:hover svg { transform:rotate(-12deg) scale(1.12); stroke:#fff8ed; }
.article-nav-links > a:hover,.article-nav-links > a:focus-visible,.article-nav-links > a.is-active { background:linear-gradient(90deg,#4caa7823,transparent); box-shadow:inset 3px 0 #77bc90; color:#faf7ee; }
.sidebar-title { font-size:11px; letter-spacing:.14em; color:#9ac3a6; }
.article-nav-toggle { transition:background .25s; }
.article-nav-toggle:hover { background:#db334828; }
.hero { min-height:460px; }
.hero-art,.hero-focus-casino .hero-art { transform:none; transition:transform 1.4s cubic-bezier(.2,.6,.3,1); }
.hero:hover .hero-art { transform:scale(1.035); }
.hero-overlay { background:linear-gradient(90deg,#031710ed 0%,#031710c4 38%,#03171035 73%,#0317100a); }
.hero-copy { position:relative; inset:auto; width:72%; max-width:630px; padding:42px 30px; min-height:460px; justify-content:center; }
.hero-eyebrow { display:block; color:#c1d6b9; letter-spacing:.17em; font-size:10px; font-weight:800; margin-bottom:20px; }
.hero h1 { font-family:Georgia,'Times New Roman',serif; font-weight:400; text-transform:none; letter-spacing:-.035em; font-size:clamp(34px,3.4vw,52px); line-height:1.05; text-wrap:balance; }
.hero-copy > p { color:#e0e8dd; font-size:15px; line-height:1.7; margin:20px 0 24px; }
.promo-code-link { display:inline-flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:23px; color:#d1dbc9; font-size:11px; text-decoration:none; }
.promo-code-link strong { padding:5px 11px; border:1px dashed #a9bd95; border-radius:4px; color:#fff8ed; letter-spacing:.12em; transition:background .25s,color .25s,letter-spacing .25s; }
.promo-code-link:hover strong,.promo-code-link:focus-visible strong { background:#f2ecdd; color:#15472f; letter-spacing:.19em; }
.promo-code-link > span:last-child { transition:transform .25s; }
.promo-code-link:hover > span:last-child { transform:translate(3px,-3px); }
.store-button { background:#0b2b22ec; color:#f5f0e3; border-color:#718b71; box-shadow:0 4px 0 #03160f; border-radius:10px; transition:transform .3s,border-color .3s,box-shadow .3s; }
.store-button .store-action,.store-button strong { color:#f5f0e3; }
.store-button .store-logo { filter:brightness(0) invert(1); }
.store-button:hover,.store-button:focus-visible { transform:translateY(-4px) rotate(-1deg); border-color:#f0eee3; box-shadow:0 7px 0 #092618,0 12px 30px #3eaa7629; }
.store-button:nth-child(2):hover { transform:translateY(-4px) rotate(1deg); }
.store-logo { transition:transform .35s; }
.store-button:hover .store-logo { transform:scale(1.12); }
.content-section { background:linear-gradient(150deg,#ffffff02,transparent 45%),#102d25; border-color:#8bb69b24; border-radius:14px; }
.content-section > h2 { font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.025em; text-transform:none; color:#f6f2e6; }
.content-section > h2::after { background:linear-gradient(90deg,#ce3447 0 33%,#f3eedf 33% 66%,#358b5e 66%); height:2px; }
.content-section::before { background:radial-gradient(ellipse at 0 0,#8cb79912,transparent 60%); pointer-events:none; }
.section-body > p,.source-list { color:#d5e2d8; }
.table-wrap { border-radius:9px; border-color:#85b09430; scrollbar-color:#87b69a #08231a; }
th { background:#164532; color:#f3f0e1; }
tbody tr { transition:background .25s,box-shadow .25s; }
tbody tr:nth-child(even) { background:#e3f4db04; }
tbody tr:hover { background:#4d89612e; box-shadow:inset 3px 0 #d64a59; }
td { border-color:#a3c6ac1a; }
.compare-card,.game-info-card { background:#09281f; border-color:#568f6b40; transition:transform .3s,border-color .3s,box-shadow .3s; }
.compare-card:hover { transform:translateY(-4px); box-shadow:0 12px 24px #0002; border-color:#70b68c; }
.compare-card.is-caution { background:#342322; border-color:#b9686540; }
.compare-card.is-caution:hover { border-color:#da6470; }
.game-info-card:hover { transform:perspective(700px) rotateX(2deg) translateY(-3px); box-shadow:inset 0 -3px 0 #ce3447; }
.glossary-term { border-bottom-color:#8acb9e; color:#d8ead0; background:#8acb9e0c; border-radius:3px; transition:color .25s,background .25s; }
.glossary-term:hover,.glossary-term:focus-visible { color:#fff8ee; background:#ae2b4166; }
.glossary-popover { background:#08251c; border-color:#9bc4a0; box-shadow:0 15px 45px #0007; }
.game-slider { background:linear-gradient(120deg,#123e2d,#09251c); border-color:#a9ceb92e; }
.game-slider::before { background:linear-gradient(90deg,#c83046 33%,#eee6d2 33% 66%,#4d9d6c 66%); }
.game-slider-link { border-radius:10px; background:#061d15; border-color:#7cad8b33; }
.game-slider-link img { filter:saturate(.85); transition:transform .5s,filter .5s; }
.game-slider-link:hover,.game-slider-link:focus-visible { transform:translateY(-5px) rotate(-.65deg); border-color:#afd2ae; box-shadow:0 12px 24px #0005; }
.game-slider-link:hover img,.game-slider-link:focus-visible img { filter:saturate(1.12) brightness(1.08); transform:scale(1.07); }
.game-slider-link::after { background:linear-gradient(180deg,transparent 35%,#03180fec); }
.game-slider-action { background:#bd3047; color:#fff8f0; border-color:#e26376; }
.game-shortcuts a { border-radius:12px; min-height:142px; background-position:center; transition:background-size .6s,transform .3s,border-color .3s,box-shadow .3s; }
.game-shortcuts a::after { content:'↗'; position:absolute; right:13px; bottom:13px; transform:translate(-7px,7px); opacity:0; transition:transform .3s,opacity .3s; }
.game-shortcuts a img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.game-shortcuts a::before { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#031a12e8,transparent 75%); z-index:1; }
.game-shortcuts a span,.game-shortcuts a::after { z-index:2; position:relative; }
.game-shortcuts a::after { position:absolute; }
.game-shortcuts a:hover img { transform:scale(1.09); }
.game-shortcuts a:hover,.game-shortcuts a:focus-visible { transform:translateX(-5px); border-color:#f2ead7; box-shadow:inset 0 -3px 0 #ce3447,0 10px 24px #0003; }
.game-shortcuts a:hover::after,.game-shortcuts a:focus-visible::after { transform:none; opacity:1; }
.bonus-finder { background:linear-gradient(135deg,#123e2b,#09221a); border-color:#96bd9b66; }
.bonus-finder-tab { background:#072218; border-color:#65967755; border-radius:8px; transition:transform .25s,background .25s,box-shadow .25s; }
.bonus-finder-tab:hover { transform:translateY(-3px); box-shadow:0 4px 0 #ce3447; }
.bonus-finder-tab[aria-selected=true] { background:#e9edda; color:#0a3522; box-shadow:inset 0 -3px 0 #ce3447; }
.bonus-finder-result { background:#071f17; border-color:#769b7955; }
.bonus-finder-facts > div { background:#ffffff04; border-radius:7px; }
.review-card { background:linear-gradient(155deg,#1a4935,#0c2c21); border-color:#8cae8644; border-radius:12px; transition:transform .3s,box-shadow .3s; }
.review-card:hover { transform:translateY(-3px); box-shadow:inset 3px 0 #d24252,0 12px 25px #0002; }
.review-meta strong { color:#edf2e2; }
.review-control,.game-slider-control { background:#143d2c; color:#f6f0e2; border-color:#709273; transition:background .25s,transform .25s; }
.review-control:hover,.game-slider-control:hover { background:#b92f44; transform:scale(1.08); }
.review-dots button { background:#5d8669; }
.review-dots button[aria-current=true],.review-dots button.is-active { background:#e9e8d5; }
.faq-list details { background:#0b261d; border-color:#6f987844; transition:border-color .3s,box-shadow .3s; }
.faq-list details:hover,.faq-list details[open] { transform:none; border-color:#a7c09b; box-shadow:inset 4px 0 #ce3447; }
.faq-marker { clip-path:none; border-radius:50%; background:linear-gradient(135deg,#c53146 50%,#3a8e60 50%); border:2px solid #f0e8d6; }
details[open] .faq-marker { background:linear-gradient(135deg,#c53146 50%,#3a8e60 50%); transform:rotate(180deg) scale(.82); }
.faq-list details > p { color:#d6e2d7; }
.promo-banner { min-height:300px; }
.promo-art { transition:transform 1s cubic-bezier(.2,.6,.3,1),filter 1s; }
.promo-banner:hover .promo-art { transform:scale(1.045); filter:saturate(1.12); }
.promo-overlay { background:linear-gradient(90deg,#041b13ed 0 28%,#041b13a8 52%,#041b1310 80%); }
.promo-banner.copy-right .promo-overlay { background:linear-gradient(270deg,#041b13ed 0 28%,#041b13a8 52%,#041b1310 80%); }
.promo-banner h2 { font-family:Georgia,'Times New Roman',serif; text-transform:none; letter-spacing:-.02em; font-weight:400; font-size:30px; line-height:1.15; overflow-wrap:normal; }
.promo-copy { bottom:30px; left:30px; }
.copy-right .promo-copy { right:30px; }
.promo-copy > p { color:#f0efe3; }
.promo-launcher { background:linear-gradient(145deg,#1c5037,#0b3021); border-color:#9dbc96; box-shadow:0 8px 22px #0005; }
.promo-launcher:hover { transform:translateY(-4px) rotate(-2deg); box-shadow:0 12px 28px #0005,inset 0 -3px 0 #ce3447; }
.promo-launcher.is-nudging { animation:hu-invitation 3s ease-in-out infinite; }
@keyframes hu-invitation { 0%,100% { box-shadow:0 8px 22px #0005,0 0 0 0 #93c69b00; } 50% { box-shadow:0 8px 22px #0005,0 0 0 5px #93c69b25; } }
.promo-dialog { background:#09251d; border:1px solid #97b89b; border-radius:22px; }
.promo-dialog > header { background:#123b2a; }
.fortune-card { background:radial-gradient(ellipse at center,#28604255,transparent 70%),#09251c; }
.fortune-wheel { background:conic-gradient(#b62d40 0 25%,#ebe7d9 25% 50%,#226c46 50% 75%,#173e2c 75%); border-color:#f1eddf; box-shadow:inset 0 0 0 7px #022a2177,0 0 0 7px #789b7933; }
.fortune-wheel > span:nth-child(2),.fortune-wheel > span:nth-child(2) small { color:#153323; text-shadow:none; }
.fortune-wheel > strong { background:#f3edde; color:#1b5539; border-color:#9cb08e; font-family:Georgia,serif; }
.fortune-spin { background:#bd2e43; color:#fff5eb; border-color:#e47280; box-shadow:0 3px 0 #641526; transition:transform .25s,box-shadow .25s; }
.fortune-spin:hover { transform:translateY(-2px); box-shadow:0 5px 0 #641526,0 7px 20px #cc314230; }
.fortune-result { background:#143b2a; border-color:#91b495; }
.promo-dialog-close { background:#0a281d; color:#f3edde; transition:transform .3s,background .3s; }
.promo-dialog-close:hover { transform:rotate(90deg); background:#be3045; }
.site-loader { background:#041a13; }
.loader-orbit { border-color:#40875c; }
.loader-orbit > span:nth-child(1) { border-color:#ce3447; }
.loader-orbit > span:nth-child(2) { border-color:#eee8da; }
.loader-orbit > span:nth-child(3) { border-color:#358b5e; }
.loader-track > span { background:linear-gradient(90deg,#ce3447 33%,#eee8da 33% 66%,#358b5e 66%); }
.chat-launcher { background:#174b32; border-color:#8bb699; color:#f7f1e4; }
.chat-launcher:hover { background:#236943; box-shadow:0 0 0 5px #7dba9220,0 10px 25px #0004; }
.back-to-top { background:conic-gradient(#c63247 var(--page-progress),#71927344 0); color:#f9f2e7; }
.back-to-top::before { background:#113c29; }
.back-to-top:hover { transform:translateY(-5px); }
.site-footer { background:#051a12; border-top-color:#71937855; }
.site-footer a { text-decoration-color:transparent; text-underline-offset:6px; transition:color .2s,text-decoration-color .2s; }
.site-footer a:hover { color:#e8ecd6; text-decoration:underline; text-decoration-color:#ce3447; }
.footer-responsible { background:#173724; border-color:#719d7355; }
.age-mark { border-color:#cf5865; color:#f1e8d9; }
.service-block,.not-found-card { background:#0e2e21; border-color:#73977344; }
.service-pair { transition:background .25s; }
.service-pair:hover { background:#458c6220; }

@media(max-width:1100px) {
  .hero-copy { width:78%; padding:32px 24px; }
  .hero h1 { font-size:38px; }
  .hero .store-pair { flex-wrap:wrap; }
  .hero .store-button { width:190px; }
}
@media(max-width:700px) {
  .hero { min-height:540px; }
  .hero-copy { width:100%; max-width:none; min-height:540px; justify-content:flex-end; padding:170px 22px 28px; }
  .hero .hero-art { object-position:70% 0!important; }
  .hero-overlay { background:linear-gradient(0deg,#031b12 5%,#031b12e3 40%,#031b1240 78%,#031b1210); }
  .hero h1 { font-size:36px; }
  .hero-eyebrow { margin-bottom:12px; font-size:9px; }
  .hero-copy > p { font-size:14px; margin:15px 0 22px; }
  .promo-code-link { margin-top:20px; }
  .hero .store-pair { width:100%; gap:9px; flex-wrap:nowrap; }
  .hero .store-button { width:auto; min-width:0; flex:1; padding:10px; }
  .hero .store-button strong { font-size:13px; }
  .hero .store-button .store-action { font-size:10px; }
  .promo-banner { min-height:340px; }
  .promo-copy,.copy-right .promo-copy { width:auto; left:20px; right:20px; bottom:24px; align-items:flex-start; text-align:left; }
  .promo-banner h2 { font-size:28px; max-width:85%; }
  .promo-overlay,.promo-banner.copy-right .promo-overlay { background:linear-gradient(0deg,#031b12f5 5%,#031b12a8 55%,#031b1210); }
  .promo-art { object-position:center 30%; }
  .promo-copy .store-pair { width:100%; gap:8px; }
  .promo-copy .store-button { min-width:0; width:auto; flex:1; padding:10px; }
  .promo-copy .store-button strong { font-size:13px; }
  .promo-copy .store-action { font-size:10px; }
  .content-section > h2 { font-size:27px; line-height:1.2; }
}
@media(prefers-reduced-motion:reduce) {
  .hero:hover .hero-art,.promo-banner:hover .promo-art,.game-slider-link:hover img { transform:none; }
  .cta:hover,.store-button:hover,.review-card:hover,.compare-card:hover,.game-info-card:hover,.game-slider-link:hover { transform:none; }
}

/* Keep complete labels readable at every viewport width. */
.brand img,.footer-brand img,.loader-brand img,.promo-logo { object-fit:contain; }
.loader-brand { position:relative; z-index:1; width:min(260px,70vw); }
.loader-brand img { display:block; width:100%; height:auto; }
.fortune-spin[hidden] { display:none; }
.wheel-confetti { position:absolute; inset:0; z-index:5; overflow:hidden; border-radius:inherit; pointer-events:none; }
.wheel-confetti i { position:absolute; top:-16px; left:var(--x); width:var(--size); height:calc(var(--size) * 1.6); background:var(--color); opacity:0; animation:wheel-confetti-fall var(--duration) ease-in var(--delay) both; }
.wheel-confetti i:nth-child(3n) { border-radius:50%; height:var(--size); }
@keyframes wheel-confetti-fall {
  0% { opacity:0; transform:translate3d(0,0,0) rotate(0); }
  8% { opacity:1; }
  80% { opacity:1; }
  100% { opacity:0; transform:translate3d(var(--drift),var(--fall),0) rotate(var(--turn)); }
}
.store-pair { padding-top:20px; flex-wrap:wrap; }
.store-button,.hero .store-button,.promo-copy .store-button { width:232px; min-width:220px; flex:0 1 auto; }
.store-button .store-action { font-size:12px; line-height:1.3; }
.store-button strong,.hero .store-button strong,.promo-copy .store-button strong { font-size:14px; line-height:1.3; }
.table-wrap table { min-width:760px; width:100%; table-layout:auto; }
.table-wrap th,.table-wrap td { min-width:210px; padding:15px 18px; overflow-wrap:normal; word-break:normal; }
.table-wrap th:first-child,.table-wrap td:first-child { position:static; left:auto; z-index:auto; min-width:230px; }
.table-cell-line { display:block; white-space:nowrap; }
.game-slider { --game-card-width:240px; }
.game-slider-link { display:flex; flex-direction:column; min-height:0; }
.game-slider-link img { position:relative; height:auto; aspect-ratio:8 / 5; object-fit:cover; transform:none; }
.game-slider-link::after { display:none; }
.game-slider-card-copy { position:relative; inset:auto; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:12px; min-height:106px; padding:14px; }
.game-slider-card-copy strong { max-width:100%; width:100%; font-size:14px; line-height:1.3; overflow-wrap:normal; word-break:normal; text-shadow:none; }
.game-slider-action { transform:none; font-size:11px; padding:7px 10px; }
.promo-banner { min-height:360px; }
.promo-copy { position:relative; inset:auto; width:min(540px,64%); margin:0 auto 0 0; padding:28px; }
.copy-right .promo-copy { inset:auto; margin:0 0 0 auto; }
.promo-logo { display:block; width:140px; height:auto; margin-bottom:18px; }
.promo-copy .store-pair { padding-top:10px; }
@media(max-width:1100px) {
  .promo-copy { width:78%; }
}
@media(max-width:700px) {
  .hero .store-pair,.promo-copy .store-pair { flex-wrap:wrap; gap:14px; }
  .store-button,.hero .store-button,.promo-copy .store-button { width:232px; min-width:220px; flex:0 1 auto; padding:10px 12px; }
  .hero .store-button .store-action,.promo-copy .store-button .store-action { font-size:12px; }
  .promo-copy,.copy-right .promo-copy { width:100%; inset:auto; margin:0; padding:130px 20px 26px; align-items:flex-start; text-align:left; }
  .promo-banner h2 { max-width:100%; font-size:27px; line-height:1.2; }
  .promo-logo { width:130px; margin-bottom:16px; }
  .game-slider { --game-card-width:240px; }
}

/* A shared height prevents page-specific text and controls resizing the hero. */
.hero { --hero-height:480px; height:var(--hero-height); min-height:var(--hero-height); }
.hero-copy { height:100%; min-height:0; }
@media(max-width:1100px) and (min-width:701px) {
  .hero { --hero-height:560px; }
}
@media(max-width:700px) {
  .hero { --hero-height:660px; }
  .hero-copy { min-height:0; padding-top:130px; }
}
@media(prefers-reduced-motion:reduce) {
  .wheel-confetti { display:none; }
}
