/*
Theme Name: MiglioriCasino
Theme URI: https://www.miglioricasino.org/
Author: MiglioriCasino
Author URI: https://www.miglioricasino.org/
Description: Tema custom per MiglioriCasino - Guida ai migliori casinò online italiani ADM
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: miglioricasino
*/

/* === utility === */
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }

/* === normalize.css === */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }

/* === base.css === */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; font-size: 16px; line-height: 26px; color: #2d2d2d; background-color: #f5f6fa; }
img { max-width: 100%; height: auto; display: block; }
a { color: #1a56db; text-decoration: none; transition: color 0.2s ease; }
a:hover { color: #d4af37; }
ul, ol { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, h4, h5, h6 { margin: 0 0 16px 0; line-height: 1.3; color: #1a1a2e; }
p { margin: 0 0 16px 0; }
.wrapper { width: 100%; min-height: 100vh; overflow: hidden; }
.container { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
@media (min-width: 768px) {
  .container { padding: 0 24px; }
}
@media (min-width: 1024px) {
  .container { padding: 0 32px; }
}

/* === header.css === */
.header { background-color: #1a1a2e; padding: 14px 0; position: sticky; top: 0; z-index: 100; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.3); border-bottom: 1px solid rgba(212, 175, 55, 0.1); }
.header .header-container { display: flex; align-items: center; justify-content: space-between; width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 16px; }
.header .header-logo { display: flex; align-items: center; }
.header .header-logo-image { height: 36px; width: auto; }
.header .header-logo-text { font-size: 20px; font-weight: 700; color: #ffffff; }
.header .header-logo-text .header-logo-accent { color: #d4af37; }
.header .header-nav { display: none; }
.header .header-nav-list { display: flex; align-items: center; gap: 24px; }
.header .header-nav-link { font-size: 14px; font-weight: 500; color: #c8c8d4; transition: color 0.2s ease; }
.header .header-nav-link:hover { color: #d4af37; }
.header .menu-toggle { display: flex; flex-direction: column; gap: 5px; cursor: pointer; padding: 8px; }
.header .menu-toggle-line { width: 24px; height: 2px; background-color: #ffffff; border-radius: 2px; transition: all 0.3s ease; }
.header .mobile-panel { display: none; background-color: #1a1a2e; padding: 16px; border-top: 1px solid rgba(255, 255, 255, 0.1); }
.header .mobile-panel.active { display: block; }
.header .mobile-panel-list { display: flex; flex-direction: column; gap: 16px; }
.header .mobile-panel-link { font-size: 16px; color: #c8c8d4; display: block; padding: 8px 0; }
.header .mobile-panel-link:hover { color: #d4af37; }
.header .header-adm-badge { display: flex; align-items: center; gap: 6px; font-size: 11px; color: #8a8a9a; }
.header .header-adm-badge-icon { font-size: 14px; }
@media (min-width: 768px) {
  .header .header-nav { display: block; }
  .header .menu-toggle { display: none; }
  .header .header-logo-text { font-size: 22px; }
}
@media (min-width: 1024px) {
  .header .header-container { padding: 0 32px; }
  .header .header-nav-list { gap: 32px; }
  .header .header-nav-link { font-size: 15px; }
}

/* === hero.css === */
.hero { background: linear-gradient(160deg, #0f0f1e 0%, #1a1a2e 30%, #16213e 60%, #0f3460 100%); padding: 40px 0 48px 0; text-align: center; position: relative; overflow: hidden; }
.hero::before { content: ""; position: absolute; top: -40%; left: 50%; transform: translateX(-50%); width: 800px; height: 800px; background: radial-gradient(circle, rgba(212, 175, 55, 0.05) 0%, transparent 60%); pointer-events: none; }
.hero .hero-badge { display: inline-block; background-color: rgba(212, 175, 55, 0.12); color: #d4af37; font-size: 13px; font-weight: 600; padding: 6px 18px; border-radius: 20px; margin-bottom: 20px; border: 1px solid rgba(212, 175, 55, 0.25); letter-spacing: 0.3px; }
.hero .hero-heading { font-size: 28px; font-weight: 800; color: #ffffff; line-height: 36px; margin-bottom: 16px; }
.hero .hero-heading-accent { color: #d4af37; }
.hero .hero-subheading { font-size: 16px; color: #d0d0e4; line-height: 26px; max-width: 640px; margin: 0 auto 28px auto; }
.hero .hero-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.hero .hero-trust-item { display: flex; align-items: center; gap: 6px; font-size: 13px; color: #c0c0d8; font-weight: 500; }
.hero .hero-trust-icon { font-size: 16px; }
@media (min-width: 768px) {
  .hero { padding: 60px 0 68px 0; }
  .hero .hero-heading { font-size: 40px; line-height: 50px; }
  .hero .hero-subheading { font-size: 18px; line-height: 28px; }
  .hero .hero-trust { gap: 32px; }
}
@media (min-width: 1024px) {
  .hero { padding: 72px 0 80px 0; }
  .hero .hero-heading { font-size: 48px; line-height: 58px; }
  .hero .hero-subheading { font-size: 19px; line-height: 30px; }
}

/* === casino-card.css === */
.casino-list { padding: 40px 0; }
.casino-list .casino-list-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 8px; }
.casino-list .casino-list-subheading { font-size: 15px; color: #666666; text-align: center; margin-bottom: 32px; line-height: 24px; }
.casino-list .casino-list-items { display: flex; flex-direction: column; gap: 20px; }
.casino-card { background-color: #ffffff; border-radius: 14px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); overflow: hidden; border: 1px solid #e8e8f0; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.casino-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(0, 0, 0, 0.12); }
.casino-card .casino-card-rank { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #d4af37; font-size: 13px; font-weight: 700; padding: 10px 16px; display: flex; align-items: center; gap: 8px; }
.casino-card .casino-card-rank-number { background-color: #d4af37; color: #1a1a2e; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; font-weight: 800; flex-shrink: 0; }
.casino-card .casino-card-rank-label { font-size: 12px; color: #c8c8d4; font-weight: 400; margin-left: auto; }
.casino-card .casino-card-body { padding: 20px 16px; }
.casino-card .casino-card-top { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }
.casino-card .casino-card-logo-wrap { display: flex; align-items: center; justify-content: center; width: 100%; height: 80px; background-color: #f5f6fa; border-radius: 8px; padding: 12px; flex-shrink: 0; }
.casino-card .casino-card-logo { width: 100%; height: 100%; object-fit: contain; }
.casino-card .casino-card-info { flex: 1; }
.casino-card .casino-card-name { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.casino-card .casino-card-license { font-size: 12px; color: #6b6b6b; margin-bottom: 8px; }
.casino-card .casino-card-rating { display: flex; align-items: center; gap: 8px; }
.casino-card .casino-card-stars { color: #d4af37; font-size: 16px; letter-spacing: 2px; }
.casino-card .casino-card-score { font-size: 14px; font-weight: 700; color: #1a1a2e; }
.casino-card .casino-card-bonus { background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fe 100%); border-radius: 10px; padding: 16px; margin-bottom: 16px; border-left: 4px solid #1a56db; }
.casino-card .casino-card-bonus-label { font-size: 12px; font-weight: 600; color: #1a56db; text-transform: uppercase; margin-bottom: 4px; letter-spacing: 0.5px; }
.casino-card .casino-card-bonus-value { font-size: 20px; font-weight: 800; color: #1a1a2e; line-height: 28px; }
.casino-card .casino-card-bonus-terms { font-size: 11px; color: #6b6b6b; margin-top: 4px; }
.casino-card .casino-card-features { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.casino-card .casino-card-feature { font-size: 12px; color: #555555; background-color: #f5f6fa; padding: 4px 10px; border-radius: 4px; }
.casino-card .casino-card-details { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 20px; }
.casino-card .casino-card-detail-label { font-size: 11px; color: #6b6b6b; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
.casino-card .casino-card-detail-value { font-size: 14px; font-weight: 600; color: #2d2d2d; }
.casino-card .casino-card-right { display: flex; flex-direction: column; align-items: stretch; justify-content: center; gap: 8px; }
.casino-card .casino-card-cta { display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e63946 0%, #c5303c 100%); color: #ffffff; text-align: center; font-size: 16px; font-weight: 700; padding: 14px 24px; border-radius: 10px; transition: all 0.2s ease; text-transform: uppercase; letter-spacing: 0.5px; min-height: 52px; box-shadow: 0 4px 12px rgba(230, 57, 70, 0.25); }
.casino-card .casino-card-cta:hover { background: linear-gradient(135deg, #d32f3c 0%, #b52935 100%); color: #ffffff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(230, 57, 70, 0.35); }
.casino-card .casino-card-cta-sub { font-size: 11px; color: #6b6b6b; text-align: center; }
.casino-card .casino-card-review-link { display: block; text-align: center; font-size: 13px; color: #1a56db; font-weight: 600; }
.casino-card .casino-card-review-link:hover { color: #d4af37; }
@media (min-width: 768px) {
  .casino-card .casino-card-body { padding: 24px; display: grid; grid-template-columns: 150px 1fr 180px; gap: 24px; align-items: center; }
  .casino-card .casino-card-top { flex-direction: column; margin-bottom: 0; gap: 12px; }
  .casino-card .casino-card-logo-wrap { width: 150px; height: 75px; }
  .casino-card .casino-card-details { grid-template-columns: 1fr 1fr 1fr 1fr; }
  .casino-card .casino-card-bonus-value { font-size: 18px; }
  .casino-card .casino-card-bonus { margin-bottom: 12px; }
  .casino-card .casino-card-middle { flex: 1; }
  .casino-card .casino-card-right { min-width: 180px; }
  .casino-card .casino-card-cta { padding: 14px 20px; }
  .casino-list .casino-list-heading { font-size: 30px; }
}
@media (min-width: 1024px) {
  .casino-card .casino-card-body { grid-template-columns: 180px 1fr 200px; gap: 32px; padding: 24px 32px; }
  .casino-card .casino-card-logo-wrap { width: 180px; height: 85px; }
  .casino-card .casino-card-bonus-value { font-size: 20px; }
  .casino-card .casino-card-right { min-width: 200px; }
  .casino-card .casino-card-cta { padding: 16px 24px; font-size: 17px; min-height: 56px; }
  .casino-list .casino-list-heading { font-size: 32px; }
}

/* === sections.css === */
.content-section { padding: 40px 0; }
.content-section.alt-bg { background-color: #ffffff; }
.content-section .content-section-heading { font-size: 24px; font-weight: 700; margin-bottom: 16px; }
.content-section .content-section-text { font-size: 16px; line-height: 28px; color: #444444; margin-bottom: 16px; }
.content-section .content-section-text strong { color: #1a1a2e; }
.info-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
.info-grid .info-card { background-color: #ffffff; border-radius: 12px; padding: 28px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05); border: 1px solid #e8e8f0; transition: box-shadow 0.2s ease, transform 0.2s ease; }
.info-grid .info-card:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08); transform: translateY(-2px); }
.info-grid .info-card-icon { font-size: 32px; margin-bottom: 12px; }
.info-grid .info-card-title { font-size: 18px; font-weight: 700; color: #1a1a2e; margin-bottom: 8px; }
.info-grid .info-card-text { font-size: 14px; line-height: 24px; color: #555555; }
.comparison-table { width: 100%; overflow-x: auto; margin: 24px 0; }
.comparison-table table { width: 100%; border-collapse: collapse; min-width: 600px; }
.comparison-table th { background-color: #1a1a2e; color: #ffffff; font-size: 13px; font-weight: 600; padding: 12px 16px; text-align: left; }
.comparison-table td { padding: 12px 16px; font-size: 14px; border-bottom: 1px solid #e8e8f0; }
.comparison-table tr:nth-child(even) { background-color: #f9f9fc; }
.comparison-table tr:hover { background-color: #f0f0f8; }
.advantages-list { margin: 24px 0; }
.advantages-list .advantages-item { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid #eeeeee; }
.advantages-list .advantages-icon { font-size: 20px; flex-shrink: 0; }
.advantages-list .advantages-text { font-size: 15px; line-height: 24px; color: #444444; }
.how-section { padding: 40px 0; }
.how-section .how-steps { counter-reset: step; display: flex; flex-direction: column; gap: 24px; margin-top: 24px; }
.how-section .how-step { display: flex; gap: 16px; align-items: flex-start; }
.how-section .how-step-number { width: 40px; height: 40px; background-color: #1a1a2e; color: #d4af37; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700; flex-shrink: 0; }
.how-section .how-step-content { flex: 1; }
.how-section .how-step-title { font-size: 17px; font-weight: 700; color: #1a1a2e; margin-bottom: 4px; }
.how-section .how-step-text { font-size: 14px; color: #555555; line-height: 24px; }
@media (min-width: 768px) {
  .info-grid { grid-template-columns: 1fr 1fr; }
  .content-section .content-section-heading { font-size: 28px; }
  .content-section { padding: 48px 0; }
}
@media (min-width: 1024px) {
  .info-grid { grid-template-columns: 1fr 1fr 1fr; }
  .content-section .content-section-heading { font-size: 30px; }
  .how-section .how-steps { flex-direction: row; }
  .how-section .how-step { flex-direction: column; align-items: center; text-align: center; flex: 1; }
}

/* === reviews.css === */
.reviews { padding: 40px 0; }
.reviews .reviews-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 8px; }
.reviews .reviews-subheading { font-size: 15px; color: #666666; text-align: center; margin-bottom: 32px; line-height: 24px; }
.review-block { background-color: #ffffff; border-radius: 12px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06); border: 1px solid #e8e8f0; padding: 24px; margin-bottom: 24px; }
.review-block .review-block-header { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #eeeeee; }
.review-block .review-block-logo-wrap { width: 120px; height: 60px; background-color: #f5f6fa; border-radius: 8px; padding: 8px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.review-block .review-block-logo { width: 100%; height: 100%; object-fit: contain; }
.review-block .review-block-title-area { flex: 1; }
.review-block .review-block-name { font-size: 22px; font-weight: 700; color: #1a1a2e; margin-bottom: 4px; }
.review-block .review-block-tagline { font-size: 14px; color: #6b6b6b; }
.review-block .review-block-score-badge { display: inline-flex; align-items: center; gap: 6px; background-color: #1a1a2e; color: #d4af37; font-size: 16px; font-weight: 700; padding: 8px 16px; border-radius: 8px; }
.review-block .review-block-content { margin-bottom: 20px; }
.review-block .review-block-text { font-size: 15px; line-height: 26px; color: #444444; margin-bottom: 12px; }
.review-block .review-block-pros-cons { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 20px; }
.review-block .review-block-pros { background-color: #f0faf0; border-radius: 8px; padding: 16px; }
.review-block .review-block-cons { background-color: #fef2f2; border-radius: 8px; padding: 16px; }
.review-block .review-block-pros-title { font-size: 14px; font-weight: 700; color: #16a34a; margin-bottom: 8px; }
.review-block .review-block-cons-title { font-size: 14px; font-weight: 700; color: #dc2626; margin-bottom: 8px; }
.review-block .review-block-list { display: flex; flex-direction: column; gap: 6px; }
.review-block .review-block-list-item { font-size: 14px; line-height: 22px; color: #444444; }
.review-block .review-block-cta-area { display: flex; flex-direction: column; gap: 8px; align-items: center; padding-top: 16px; border-top: 1px solid #eeeeee; }
.review-block .review-block-cta { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e63946 0%, #c5303c 100%); color: #ffffff; font-size: 16px; font-weight: 700; padding: 14px 40px; border-radius: 10px; text-transform: uppercase; letter-spacing: 0.5px; transition: all 0.2s ease; box-shadow: 0 4px 12px rgba(230, 57, 70, 0.25); }
.review-block .review-block-cta:hover { background: linear-gradient(135deg, #d32f3c 0%, #b52935 100%); color: #ffffff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(230, 57, 70, 0.35); }
.review-block .review-block-cta-note { font-size: 11px; color: #6b6b6b; }
.payments-section { padding: 40px 0; background-color: #ffffff; }
.payments-section .payments-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 8px; }
.payments-section .payments-subheading { font-size: 15px; color: #666666; text-align: center; margin-bottom: 32px; line-height: 24px; }
.payments-section .payments-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.payments-section .payment-method { display: flex; align-items: center; gap: 16px; background-color: #f5f6fa; border-radius: 10px; padding: 20px; }
.payments-section .payment-method-icon { font-size: 32px; flex-shrink: 0; }
.payments-section .payment-method-name { font-size: 16px; font-weight: 700; color: #1a1a2e; margin-bottom: 2px; }
.payments-section .payment-method-desc { font-size: 13px; color: #666666; line-height: 20px; }
.games-section { padding: 40px 0; }
.games-section .games-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 8px; }
.games-section .games-subheading { font-size: 15px; color: #666666; text-align: center; margin-bottom: 32px; line-height: 24px; }
.games-section .games-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.games-section .game-type { background-color: #ffffff; border-radius: 12px; padding: 24px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06); border: 1px solid #e8e8f0; text-align: center; }
.games-section .game-type-icon { font-size: 40px; margin-bottom: 12px; }
.games-section .game-type-name { font-size: 18px; font-weight: 700; color: #1a1a2e; margin-bottom: 8px; }
.games-section .game-type-text { font-size: 14px; color: #555555; line-height: 22px; }
.responsible-section { padding: 40px 0; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #ffffff; }
.responsible-section .responsible-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 16px; color: #ffffff; }
.responsible-section .responsible-text { font-size: 15px; line-height: 26px; text-align: center; color: #b0b0c8; max-width: 800px; margin: 0 auto 24px auto; }
.responsible-section .responsible-resources { display: grid; grid-template-columns: 1fr; gap: 16px; max-width: 800px; margin: 0 auto; }
.responsible-section .responsible-resource { display: flex; align-items: center; gap: 12px; background-color: rgba(255, 255, 255, 0.08); border-radius: 8px; padding: 16px; }
.responsible-section .responsible-resource-icon { font-size: 24px; flex-shrink: 0; }
.responsible-section .responsible-resource-name { font-size: 15px; font-weight: 600; color: #ffffff; margin-bottom: 2px; }
.responsible-section .responsible-resource-desc { font-size: 13px; color: #8a8aaa; }
@media (min-width: 768px) {
  .review-block .review-block-header { flex-direction: row; align-items: center; }
  .review-block .review-block-pros-cons { grid-template-columns: 1fr 1fr; }
  .payments-section .payments-grid { grid-template-columns: 1fr 1fr; }
  .games-section .games-grid { grid-template-columns: 1fr 1fr; }
  .responsible-section .responsible-resources { grid-template-columns: 1fr 1fr; }
  .reviews .reviews-heading { font-size: 28px; }
  .payments-section .payments-heading { font-size: 28px; }
  .games-section .games-heading { font-size: 28px; }
  .responsible-section .responsible-heading { font-size: 28px; }
}
@media (min-width: 1024px) {
  .payments-section .payments-grid { grid-template-columns: 1fr 1fr 1fr; }
  .games-section .games-grid { grid-template-columns: 1fr 1fr 1fr; }
  .reviews .reviews-heading { font-size: 30px; }
  .review-block .review-block-cta-area { flex-direction: row; justify-content: center; }
}

/* === faq.css === */
.faq { padding: 40px 0; background-color: #ffffff; }
.faq .faq-heading { font-size: 24px; font-weight: 700; text-align: center; margin-bottom: 32px; }
.faq .faq-list { max-width: 800px; margin: 0 auto; }
.faq .faq-item { border-bottom: 1px solid #e8e8f0; }
.faq .faq-question { display: flex; justify-content: space-between; align-items: center; padding: 20px 0; cursor: pointer; }
.faq .faq-question-text { font-size: 16px; font-weight: 600; color: #1a1a2e; flex: 1; padding-right: 16px; }
.faq .faq-question-icon { font-size: 20px; color: #d4af37; transition: transform 0.3s ease; flex-shrink: 0; }
.faq .faq-item.active .faq-question-icon { transform: rotate(45deg); }
.faq .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
.faq .faq-answer-text { padding: 0 0 20px 0; font-size: 15px; line-height: 26px; color: #555555; }
@media (min-width: 768px) {
  .faq { padding: 56px 0; }
  .faq .faq-heading { font-size: 28px; }
  .faq .faq-question-text { font-size: 17px; }
}

/* === footer.css === */
.footer { background: linear-gradient(180deg, #1a1a2e 0%, #141428 100%); padding: 48px 0 0 0; color: #8a8a9a; }
.footer .footer-top { display: grid; grid-template-columns: 1fr; gap: 32px; padding-bottom: 32px; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.footer .footer-brand { max-width: 360px; }
.footer .footer-brand-name { font-size: 20px; font-weight: 700; color: #ffffff; margin-bottom: 12px; }
.footer .footer-brand-name .footer-brand-accent { color: #d4af37; }
.footer .footer-brand-text { font-size: 13px; line-height: 22px; color: #b8b8cc; }
.footer .footer-links-title { font-size: 13px; font-weight: 700; color: #d4af37; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }
.footer .footer-links-list { display: flex; flex-direction: column; gap: 10px; }
.footer .footer-links-item { font-size: 13px; color: #b8b8cc; transition: color 0.2s ease; }
.footer .footer-links-item:hover { color: #d4af37; }
.footer .footer-adm { padding: 24px 0; border-top: 1px solid rgba(255, 255, 255, 0.08); margin-top: 32px; }
.footer .footer-adm-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 20px; }
.footer .footer-adm-badge { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #c0c0d0; background-color: rgba(255, 255, 255, 0.06); padding: 8px 14px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.06); font-weight: 500; }
.footer .footer-disclaimer { font-size: 12px; line-height: 20px; color: #a0a0b4; margin-bottom: 16px; }
.footer .footer-bottom { display: flex; flex-direction: column; gap: 8px; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, 0.06); }
.footer .footer-copyright { font-size: 12px; color: #a0a0b4; }
.footer .footer-bottom-links { display: flex; gap: 16px; }
.footer .footer-bottom-link { font-size: 12px; color: #a0a0b4; transition: color 0.2s ease; }
.footer .footer-bottom-link:hover { color: #d4af37; }
@media (min-width: 768px) {
  .footer .footer-top { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer .footer-bottom { flex-direction: row; justify-content: space-between; align-items: center; }
}
@media (min-width: 1024px) {
  .footer { padding: 56px 0 0 0; }
}

/* === accessibility.css === */
a:focus-visible { outline: 2px solid #d4af37; outline-offset: 2px; border-radius: 4px; }
.casino-card .casino-card-cta:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }
.review-block .review-block-cta:focus-visible { outline: 2px solid #ffffff; outline-offset: 2px; }
.header .header-nav-link:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
.header .mobile-panel-link:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }
.faq .faq-question:focus-visible { outline: 2px solid #d4af37; outline-offset: 2px; }
.menu-toggle:focus-visible { outline: 2px solid #d4af37; outline-offset: 4px; }

/* === bonus-subheading fix (was inline style) === */
.content-section .content-section-subheading { font-size: 20px; margin-top: 32px; }


/* === review-page.css === */
.review-atf { background: linear-gradient(160deg, #0f0f1e 0%, #1a1a2e 30%, #16213e 60%, #0f3460 100%); padding: 32px 0 32px 0; position: relative; overflow: hidden; }
.review-atf::before { content: ""; position: absolute; top: -50%; right: -20%; width: 600px; height: 600px; background: radial-gradient(circle, rgba(212, 175, 55, 0.06) 0%, transparent 70%); pointer-events: none; }
.review-atf .back-home { color: #c0c0d8; margin-bottom: 20px; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; padding: 6px 14px; background-color: rgba(255, 255, 255, 0.08); border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.1); transition: all 0.2s ease; }
.review-atf .back-home:hover { color: #d4af37; background-color: rgba(212, 175, 55, 0.1); border-color: rgba(212, 175, 55, 0.3); }
.review-atf .review-atf-grid { display: grid; grid-template-columns: 1fr; gap: 24px; }
.review-atf .review-atf-info { text-align: center; }
.review-atf .review-atf-logo-wrap { width: 160px; height: 64px; background-color: #ffffff; border-radius: 12px; padding: 10px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px auto; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15); }
.review-atf .review-atf-logo { max-width: 100%; max-height: 100%; object-fit: contain; }
.review-atf .review-atf-heading { font-size: 24px; font-weight: 800; color: #ffffff; line-height: 32px; margin-bottom: 12px; }
.review-atf .review-atf-heading-accent { color: #d4af37; }
.review-atf .review-atf-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 16px; }
.review-atf .review-atf-meta-item { font-size: 12px; color: #c8c8e0; background-color: rgba(255, 255, 255, 0.08); padding: 5px 12px; border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.08); }
.review-atf .review-atf-rating { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 8px; }
.review-atf .review-atf-stars { color: #d4af37; font-size: 20px; letter-spacing: 2px; }
.review-atf .review-atf-score { font-size: 36px; font-weight: 800; color: #ffffff; line-height: 1; }
.review-atf .review-atf-score-label { font-size: 14px; color: #b0b0cc; font-weight: 500; }
.review-atf .review-atf-conversion { background-color: #ffffff; border-radius: 16px; padding: 28px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2), 0 2px 8px rgba(0, 0, 0, 0.1); position: relative; }
.review-atf .review-atf-conversion::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #d4af37 0%, #e8c84a 50%, #d4af37 100%); border-radius: 16px 16px 0 0; }
.review-atf .review-atf-conversion-label { font-size: 11px; font-weight: 700; color: #d4af37; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.review-atf .review-atf-conversion-value { font-size: 20px; font-weight: 800; color: #1a1a2e; line-height: 28px; margin-bottom: 20px; }
.review-atf .review-atf-conversion-details { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 20px; }
.review-atf .review-atf-conversion-detail { background: linear-gradient(135deg, #f8f9fc 0%, #f0f1f8 100%); border-radius: 10px; padding: 12px; border: 1px solid #e8e8f0; }
.review-atf .review-atf-conversion-detail-label { font-size: 10px; color: #6b6b6b; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 3px; font-weight: 600; }
.review-atf .review-atf-conversion-detail-value { font-size: 15px; font-weight: 700; color: #1a1a2e; }
.review-atf .review-atf-cta { display: block; width: 100%; text-align: center; background: linear-gradient(135deg, #e63946 0%, #c5303c 100%); color: #ffffff; font-size: 16px; font-weight: 700; padding: 16px; border-radius: 10px; transition: all 0.2s ease; box-shadow: 0 4px 12px rgba(230, 57, 70, 0.3); letter-spacing: 0.3px; }
.review-atf .review-atf-cta:hover { background: linear-gradient(135deg, #d32f3c 0%, #b52935 100%); color: #ffffff; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(230, 57, 70, 0.4); }
.review-atf .review-atf-cta-note { font-size: 11px; color: #999999; text-align: center; margin-top: 10px; }
.review-atf .review-atf-trust { display: flex; justify-content: center; gap: 16px; padding: 20px 0; margin-top: 20px; border-top: 1px solid rgba(255, 255, 255, 0.08); }
.review-atf .review-atf-trust-item { font-size: 12px; color: #c0c0d8; display: flex; align-items: center; gap: 5px; font-weight: 500; }
@media (min-width: 768px) {
  .review-atf { padding: 40px 0 40px 0; }
  .review-atf .review-atf-grid { grid-template-columns: 1fr 360px; gap: 40px; align-items: start; }
  .review-atf .review-atf-info { text-align: left; }
  .review-atf .review-atf-logo-wrap { margin: 0 0 20px 0; width: 180px; height: 72px; }
  .review-atf .review-atf-heading { font-size: 30px; line-height: 38px; }
  .review-atf .review-atf-meta { justify-content: flex-start; }
  .review-atf .review-atf-rating { justify-content: flex-start; }
  .review-atf .review-atf-trust { justify-content: flex-start; gap: 20px; }
}
@media (min-width: 1024px) {
  .review-atf { padding: 48px 0 48px 0; }
  .review-atf .review-atf-grid { grid-template-columns: 1fr 400px; gap: 56px; align-items: center; }
  .review-atf .review-atf-logo-wrap { width: 200px; height: 80px; padding: 12px; }
  .review-atf .review-atf-heading { font-size: 38px; line-height: 46px; margin-bottom: 16px; }
  .review-atf .review-atf-meta-item { font-size: 13px; padding: 6px 14px; }
  .review-atf .review-atf-score { font-size: 42px; }
  .review-atf .review-atf-stars { font-size: 22px; }
  .review-atf .review-atf-conversion { padding: 32px; }
  .review-atf .review-atf-conversion-value { font-size: 22px; line-height: 30px; }
  .review-atf .review-atf-cta { font-size: 17px; padding: 18px; }
  .review-atf .review-atf-trust { gap: 24px; }
  .review-atf .review-atf-trust-item { font-size: 13px; }
}

/* === key-facts.css === */
.key-facts { margin: 24px 0; }
.key-facts .key-facts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background-color: #e8e8f0; border-radius: 12px; overflow: hidden; border: 1px solid #e8e8f0; }
.key-facts .key-facts-item { background-color: #ffffff; padding: 16px; }
.key-facts .key-facts-label { font-size: 11px; color: #6b6b6b; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.key-facts .key-facts-value { font-size: 15px; font-weight: 700; color: #1a1a2e; }
@media (min-width: 768px) {
  .key-facts .key-facts-grid { grid-template-columns: repeat(4, 1fr); }
}

/* === bonus-box.css === */
.bonus-box { background-color: #f0f7ff; border-radius: 12px; padding: 24px; border-left: 4px solid #1a56db; margin: 24px 0; }
.bonus-box .bonus-box-title { font-size: 18px; font-weight: 700; color: #1a1a2e; margin-bottom: 12px; }
.bonus-box .bonus-box-value { font-size: 24px; font-weight: 800; color: #1a56db; margin-bottom: 8px; }
.bonus-box .bonus-box-details { font-size: 14px; color: #555555; line-height: 24px; }
.contrib-table { width: 100%; border-collapse: collapse; margin: 16px 0; }
.contrib-table th { background-color: #1a1a2e; color: #ffffff; font-size: 13px; font-weight: 600; padding: 10px 16px; text-align: left; }
.contrib-table td { padding: 10px 16px; font-size: 14px; border-bottom: 1px solid #e8e8f0; }
.contrib-table tr:nth-child(even) { background-color: #f9f9fc; }

/* === pros-cons.css === */
.pros-cons { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 24px 0; }
.pros-cons .pros-col { background-color: #f0faf0; border-radius: 10px; padding: 20px; }
.pros-cons .cons-col { background-color: #fef2f2; border-radius: 10px; padding: 20px; }
.pros-cons .pros-cons-title { font-size: 16px; font-weight: 700; margin-bottom: 12px; }
.pros-cons .pros-col .pros-cons-title { color: #16a34a; }
.pros-cons .cons-col .pros-cons-title { color: #dc2626; }
.pros-cons .pros-cons-list { display: flex; flex-direction: column; gap: 8px; }
.pros-cons .pros-cons-item { font-size: 14px; line-height: 22px; color: #444444; padding-left: 20px; position: relative; }
.pros-cons .pros-col .pros-cons-item::before { content: "\2713"; position: absolute; left: 0; color: #16a34a; font-weight: 700; }
.pros-cons .cons-col .pros-cons-item::before { content: "\2717"; position: absolute; left: 0; color: #dc2626; font-weight: 700; }
@media (min-width: 768px) {
  .pros-cons { grid-template-columns: 1fr 1fr; }
}

/* === operator-card.css (for bonus page) === */
.operator-cards { display: flex; flex-direction: column; gap: 16px; margin: 24px 0; }
.operator-card { background-color: #ffffff; border-radius: 12px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); border: 1px solid #e8e8f0; overflow: hidden; transition: box-shadow 0.2s ease; }
.operator-card:hover { box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1); }
.operator-card .operator-card-inner { padding: 20px; display: grid; grid-template-columns: 1fr; gap: 16px; }
.operator-card .operator-card-logo-wrap { width: 120px; height: 48px; background-color: #f5f6fa; border-radius: 8px; padding: 8px; display: flex; align-items: center; justify-content: center; margin: 0 auto; }
.operator-card .operator-card-logo { max-width: 100%; max-height: 100%; object-fit: contain; }
.operator-card .operator-card-bonus { text-align: center; }
.operator-card .operator-card-bonus-value { font-size: 18px; font-weight: 800; color: #1a1a2e; margin-bottom: 4px; }
.operator-card .operator-card-bonus-sub { font-size: 13px; color: #666666; }
.operator-card .operator-card-stats { display: flex; justify-content: center; gap: 16px; flex-wrap: wrap; }
.operator-card .operator-card-stat { text-align: center; }
.operator-card .operator-card-stat-value { font-size: 14px; font-weight: 700; color: #1a1a2e; }
.operator-card .operator-card-stat-label { font-size: 11px; color: #6b6b6b; }
.operator-card .operator-card-actions { display: flex; flex-direction: column; gap: 8px; align-items: center; }
.operator-card .operator-card-cta { display: block; width: 100%; max-width: 200px; text-align: center; background: linear-gradient(135deg, #e63946 0%, #c5303c 100%); color: #ffffff; font-size: 14px; font-weight: 700; padding: 12px 20px; border-radius: 10px; transition: all 0.2s ease; box-shadow: 0 3px 10px rgba(230, 57, 70, 0.2); }
.operator-card .operator-card-cta:hover { background: linear-gradient(135deg, #d32f3c 0%, #b52935 100%); color: #ffffff; transform: translateY(-1px); box-shadow: 0 5px 14px rgba(230, 57, 70, 0.3); }
.operator-card .operator-card-review-link { font-size: 13px; color: #1a56db; font-weight: 600; }
.operator-card .operator-card-review-link:hover { color: #d4af37; }
@media (min-width: 768px) {
  .operator-card .operator-card-inner { grid-template-columns: 140px 1fr auto auto; align-items: center; gap: 24px; }
  .operator-card .operator-card-logo-wrap { margin: 0; }
  .operator-card .operator-card-bonus { text-align: left; }
  .operator-card .operator-card-actions { flex-direction: column; align-items: center; min-width: 140px; }
}

/* === back-home === */
.back-home { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; color: #c0c0d8; margin-bottom: 16px; transition: all 0.2s ease; font-weight: 500; padding: 6px 14px; background-color: rgba(255, 255, 255, 0.08); border-radius: 6px; border: 1px solid rgba(255, 255, 255, 0.1); }
.back-home:hover { color: #d4af37; background-color: rgba(212, 175, 55, 0.1); border-color: rgba(212, 175, 55, 0.3); }

/* === bonus-usp.css === */
.bonus-usp { display: grid; grid-template-columns: 1fr; gap: 16px; margin: 32px 0 8px 0; }
.bonus-usp .bonus-usp-item { display: flex; align-items: flex-start; gap: 14px; background-color: #ffffff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); border: 1px solid #e8e8f0; }
.bonus-usp .bonus-usp-icon { font-size: 28px; flex-shrink: 0; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #f0f4ff 0%, #e8eeff 100%); border-radius: 10px; }
.bonus-usp .bonus-usp-content { flex: 1; }
.bonus-usp .bonus-usp-title { font-size: 15px; font-weight: 700; color: #1a1a2e; margin-bottom: 4px; }
.bonus-usp .bonus-usp-text { font-size: 13px; line-height: 20px; color: #666666; }
@media (min-width: 768px) {
  .bonus-usp { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .bonus-usp { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 20px; margin: 36px 0 8px 0; }
}

/* === review-crosslinks.css === */
.review-crosslinks { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 20px; }
.review-crosslinks .review-crosslink-item { display: flex; align-items: center; gap: 8px; padding: 14px 18px; background-color: #ffffff; border-radius: 10px; border: 1px solid #e8e8f0; font-size: 14px; font-weight: 600; color: #1a1a2e; transition: all 0.2s ease; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04); }
.review-crosslinks .review-crosslink-item:hover { border-color: #d4af37; color: #d4af37; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); }
.review-crosslinks .review-crosslink-item::before { content: "\2192"; color: #d4af37; font-weight: 700; }
.review-crosslinks .review-crosslink-bonus { background: linear-gradient(135deg, #f0f7ff 0%, #e8f0fe 100%); border-color: #1a56db; color: #1a56db; }
.review-crosslinks .review-crosslink-bonus:hover { border-color: #1a56db; color: #1a56db; background: linear-gradient(135deg, #e4effe 0%, #d8e8fd 100%); }
.review-crosslinks .review-crosslink-bonus::before { content: "\2605"; color: #1a56db; }
@media (min-width: 768px) {
  .review-crosslinks { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .review-crosslinks { grid-template-columns: 1fr 1fr 1fr; }
}

/* === author-box.css === */
.author-box { background-color: #f8f9fc; border-radius: 12px; padding: 24px; border: 1px solid #e8e8f0; margin: 32px 0 0 0; }
.author-box .author-box-content { flex: 1; }
.author-box .author-box-label { font-size: 11px; font-weight: 600; color: #d4af37; text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 4px; }
.author-box .author-box-name { font-size: 16px; font-weight: 700; color: #1a1a2e; margin-bottom: 6px; }
.author-box .author-box-bio { font-size: 13px; line-height: 20px; color: #666666; }

/* === age-disclaimer.css === */
.age-disclaimer { background-color: #1a1a2e; text-align: center; padding: 6px 0; font-size: 11px; color: #a0a0b4; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.age-disclaimer span { color: #e63946; font-weight: 700; }

/* === header-dropdown.css === */
.header .header-nav-dropdown { position: relative; }
.header .header-nav-dropdown-trigger { cursor: pointer; display: flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 500; color: #c8c8d4; transition: color 0.2s ease; user-select: none; }
.header .header-nav-dropdown-trigger:hover { color: #d4af37; }
.header .header-nav-dropdown-arrow { font-size: 10px; transition: transform 0.2s ease; }
.header .header-nav-list > .header-nav-dropdown > .header-nav-dropdown-menu { display: none !important; position: absolute; top: calc(100% + 16px); left: 50%; transform: translateX(-50%); background-color: #16213e; border: 1px solid rgba(212, 175, 55, 0.2); border-radius: 8px; padding: 8px 0; min-width: 180px; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4); z-index: 200; list-style: none; margin: 0; }
.header .header-nav-list > .header-nav-dropdown.active > .header-nav-dropdown-menu { display: block !important; }
.header .header-nav-dropdown.active .header-nav-dropdown-arrow { transform: rotate(180deg); }
.header .header-nav-dropdown-menu li { list-style: none; margin: 0; padding: 0; }
.header .header-nav-dropdown-link { display: block; padding: 10px 20px; font-size: 14px; color: #c8c8d4; transition: background-color 0.15s ease, color 0.15s ease; text-decoration: none; }
.header .header-nav-dropdown-link:hover { background-color: rgba(212, 175, 55, 0.1); color: #d4af37; }
.header .mobile-panel-accordion-trigger { cursor: pointer; display: flex; align-items: center; gap: 6px; user-select: none; }
.header .mobile-panel-accordion-arrow { font-size: 10px; transition: transform 0.2s ease; }
.header .mobile-panel-accordion-menu { display: none; padding: 8px 0 0 16px; list-style: none; margin: 0; }
.header .mobile-panel-accordion.active .mobile-panel-accordion-menu { display: block; }
.header .mobile-panel-accordion.active .mobile-panel-accordion-arrow { transform: rotate(180deg); }
.header .mobile-panel-sublink { display: block; font-size: 15px; color: #8a8a9a; padding: 6px 0; transition: color 0.2s ease; }
.header .mobile-panel-sublink:hover { color: #d4af37; }
