/* Wrapper principale */
.modern-extable-casino-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08);
  padding: 20px;
  margin: 20px 0;
  flex-wrap: wrap;
  transition: all 0.3s ease-in-out;
}

/* Colonna: numero + bandiere (solo per desktop) */
.extable-col.flags-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 15px;
}
.position-icon {
  background: #e91e63;
  color: white;
  font-weight: bold;
  font-size: 18px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  text-align: center;
  line-height: 40px;
  margin-bottom: 10px;
}
.flag-label {
  font-size: 14px;
  font-weight: 600;
  background: #eee;
  border-radius: 6px;
  padding: 2px 8px;
  margin: 2px 0;
  color: #555;
}

/* Logo */
.extable-col.logo-col {
  margin: 0 20px;
}
.extable-col.logo-col img {
  max-width: 120px;
  height: auto;
}

/* Stelle + bonus + badge */
.extable-col.bonus-text-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.bonus-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}
.badge-new {
  background-color: #f44336;
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}
.emoji-stars {
  font-size: 20px;
  color: #ffc107;
  line-height: 1;
  letter-spacing: 2px;
  font-family: Arial, sans-serif;
  display: inline-block;
}
.bonus-text {
  background: #f3f3f3;
  border-radius: 10px;
  padding: 12px 25px;
  font-size: 20px;
  font-weight: bold;
  color: #333;
  text-align: center;
  width: 100%;
}
.legal-note {
  font-size: 12px;
  color: #888;
  margin-top: 5px;
  text-align: center;
}

/* Bandiere versione mobile */
.flags-mobile {
  display: none;
}

/* CTA */
.extable-col.cta-col {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.extable-col.cta-col .btn {
  background: #e91e63;
  color: #fff;
  font-weight: bold;
  padding: 10px 20px;
  border-radius: 20px;
  text-decoration: none;
  margin-bottom: 8px;
}
.extable-col.cta-col .casino-review-link {
  font-size: 14px;
  text-decoration: underline;
  color: #333;
}

/* Responsive */
@media (max-width: 768px) {
  .modern-extable-casino-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .extable-col.flags-col {
    order: -1;
    flex-direction: column;
    align-items: center;
    margin: 0 0 10px 0;
  }

  .position-icon {
    margin: 0 0 10px 0;
  }

  /* Nasconde le bandiere desktop */
  .extable-col.flags-col .flag-label {
    display: none;
  }

  /* Mostra le bandiere in fondo (dopo bonus e note legali) */
  .flags-mobile {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 10px 0;
  }

  .extable-col.cta-col {
    align-items: center;
    margin-top: 10px;
  }

  .bonus-header {
    justify-content: center;
  }

  .badge-new {
    margin-left: 10px;
  }
}

.flag-icon img {
  width: 26px;
  height: auto;
  display: inline-block;
  margin: 2px 4px;
}

/* Mostra solo su desktop */
.flags-col {
  display: flex;
}
.flags-mobile {
  display: none;
}

/* Mostra solo su mobile */
@media (max-width: 768px) {
  .flags-col {
    display: none !important; /* nasconde le bandiere accanto al numero */
  }

  .flags-mobile {
    display: flex !important;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
  }
}

/* Stile delle bandiere */
.flag-icon img {
  width: 26px;
  height: auto;
  display: inline-block;
}

/* NAV QUICK - MODERNIZZAZIONE VISIVA */
.nav-quick {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  padding: 0.5rem 0;
  position: relative;
  z-index: 2;
}

.nav-quickList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 0.5rem;
}

.nav-quickList li {
  list-style: none;
}

.nav-quickList li a {
  display: inline-block;
  padding: 8px 14px;
  font-weight: 600;
  color: #303030;
  border-radius: 4px;
  transition: all 0.3s ease;
  text-decoration: none;
}

.nav-quickList li a:hover,
.nav-quickList li.active a {
  background-color: #9fc438;
  color: #fff;
}

@media (max-width: 1024px) {
  .nav-quickList {
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 10px;
    padding: 0.5rem 1rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none; /* Firefox */
  }

  .nav-quickList::-webkit-scrollbar {
    display: none; /* Chrome / Safari */
  }

  .nav-quickList li {
    flex: 0 0 auto;
  }

  .nav-quickList li a {
    white-space: nowrap;
    font-size: 0.92rem;
    padding: 6px 12px;
    border: 1px solid #ccc;
    border-radius: 999px;
    background-color: #f9f9f9;
    transition: all 0.3s ease;
  }

  .nav-quickList li a:hover,
  .nav-quickList li.active a {
    background-color: #9fc438;
    color: #fff;
    border-color: #9fc438;
  }
}

/* Assicura che la quicklist stia sotto al dropdown */
.nav-quick {
  position: relative;
  z-index: 1;
}

/* Assicura che i dropdown abbiano priorità più alta */
.nav-main .navList-inner ul {
  z-index: 10;
  position: absolute;
}

@media (max-width: 1024px) {
  .nav-quick {
    position: relative;
  }

  .nav-quick::before,
  .nav-quick::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 20px;
    z-index: 3;
    pointer-events: none;
  }

  .nav-quick::before {
    left: 0;
    background: linear-gradient(to right, white 0%, transparent 100%);
  }

  .nav-quick::after {
    right: 0;
    background: linear-gradient(to left, white 0%, transparent 100%);
  }
}

/* Scroll Hint visibile SOLO su mobile */
@media (max-width: 1024px) {
  .nav-quickList .scroll-hint {
    flex: 0 0 auto;
    font-size: 1.1rem;
    color: #aaa;
    padding: 4px 6px;
    display: inline-block;
    opacity: 1;
    animation: hintFade 10.5s ease-in-out forwards;
  }

  @keyframes hintFade {
    0% { opacity: 1; }
    100% { opacity: 0; visibility: hidden; }
  }
}

/* Nasconde del tutto la freccina su desktop */
@media (min-width: 769px) {
  .nav-quickList .scroll-hint {
    display: none !important;
  }
}

/* HEADER MODERNO */

.header-main {
  background: linear-gradient(90deg, #303030 0%, #1e1e1e 100%);
  padding: 20px 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
  border-bottom: 3px solid #9fc438;
}

.header-main .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-main .logo {
  width: 220px;
  height: 65px;
  background-image: url('../images/logo.png'); /* aggiorna path se necessario */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left center;
}

.header-main .ads a img {
  max-height: 70px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  transition: transform 0.3s ease-in-out;
}

.header-main .ads a img:hover {
  transform: scale(1.05);
}

/* Responsive Tablet */
@media only screen and (max-width: 980px) {
  .header-main .container {
    flex-direction: column;
    align-items: center;
  }

  .header-main .ads {
    margin-top: 15px;
  }
}

.logo-block {
  text-align: center;
  padding: 1rem 0;
}

.logo-badge {
  background-color: #bf0000;
  color: #fff;
  padding: 4px 12px;
  font-size: 0.8rem;
  font-weight: bold;
  border-radius: 5px;
  display: inline-block;
  margin: 10px auto 6px auto;
}

.site-tagline {
  font-size: 1rem;
  color: #a4a4a4;
  margin-top: 4px;
  font-weight: 500;
}

.header-main .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.logo-block {
  flex: 1 1 auto;
}

.header-main .ads {
  flex-shrink: 0;
  text-align: right;
  padding: 10px 0;
}

/* Responsive: Mobile/Tablet */
@media (max-width: 991px) {
  .header-main .container {
    flex-direction: column;
    align-items: center;
  }

  .header-main .ads {
    text-align: center;
    margin-top: 10px;
  }
}

.logo-text-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 10px;
}

.logo-badge {
  background-color: #bf0000;
  color: #fff;
  padding: 4px 12px;
  font-size: 0.8rem;
  font-weight: bold;
  border-radius: 5px;
  margin-bottom: 6px;
}

.site-tagline {
  font-size: 1rem;
  color: #a4a4a4;
  margin-top: 4px;
  font-weight: 500;
}

.site-tagline .est-year {
  font-size: 0.9rem;
  color: #ccc;
  font-style: italic;
  margin-left: 8px;
}

/* Disclaimer HOME */

.topBar {
  background-color: #1e1e1e;
  color: #ccc;
  font-size: 0.95rem;
  padding: 12px 0;
  border-bottom: 2px solid #9fc438;
  font-family: 'Segoe UI', sans-serif;
}

.disclaimer-container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

.topBar_item {
  display: flex;
  align-items: center;
  gap: 15px;
  max-width: 1000px;
  text-align: left;
}

.disclaimer-icon {
  width: 50px;
  height: auto;
  flex-shrink: 0;
}

.disclaimer-text {
  flex: 1;
}

.disclaimer-text p {
  margin: 4px 0;
  line-height: 1.4;
}

.disclaimer-age {
  color: #aaa;
  font-style: italic;
}

/* Mobile optimization */
@media (max-width: 600px) {
  .topBar_item {
    flex-direction: column;
    text-align: center;
  }

  .disclaimer-icon {
    margin-bottom: 10px;
  }

  .disclaimer-text {
    padding: 0 10px;
  }
}

/* NAV QUICK STYLE – Pills chiare, leggibili, con hover */
.footer .nav-quick {
  background-color: #222;
  padding: 20px 0;
  border-top: 1px solid #333;
  border-bottom: 1px solid #333;
}

.footer .nav-quickList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer .nav-quickList li a {
  background-color: #2a2a2a;
  color: #fff;
  font-weight: 600;
  padding: 8px 18px;
  border-radius: 30px;
  border: 1px solid #444;
  display: inline-block;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.footer .nav-quickList li a:hover {
  background-color: #9fc438;
  color: #000;
  border-color: #9fc438;
}

/* FOOTER BODY STYLING */
.footer {
  background-color: #1a1a1a;
  color: #ccc;
  padding-top: 2rem;
  padding-bottom: 3rem;
  text-align: center;
  font-size: 0.95rem;
}

.footer a {
  color: #9fc438;
  transition: color 0.3s ease;
}

.footer a:hover {
  color: #fff;
}

.footer .logoBottom img {
  max-width: 180px;
  margin: 1.5rem auto;
  filter: brightness(1.1);
}

/* SOCIAL ICONS */
.footer .socialListBottom {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-bottom: 1rem;
  list-style: none;
  padding: 0;
}

.footer .socialListBottom li a i {
  display: inline-block;
  width: 34px;
  height: 34px;
  background-size: cover;
}

/* LEGAL LINKS & TEXT */
.footer .trademark ul {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0;
}

.footer .trademark ul li {
  display: inline-block;
  margin: 0 0.8rem;
}

.footer .trademark ul li a {
  color: #ffc107;
  font-weight: 500;
  font-size: 0.9rem;
}

.footer .trademark h5,
.footer .trademark h6 {
  color: #bbb;
  margin: 0.5rem 0;
  font-weight: 400;
  line-height: 1.5;
}

.footer .trademark h5 a {
  color: #aef88a;
  font-weight: bold;
}

/* FOOTER BADGE */
.footer .footer-badge {
  margin-top: 2rem;
  font-size: 1rem;
  color: #fff;
  font-weight: bold;
  background-color: #9fc438;
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  box-shadow: 0 0 8px rgba(0,0,0,0.3);
}

/* RESPONSIVE FIX */
@media only screen and (max-width: 768px) {
  .footer .nav-quickList {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding: 1rem 0;
  }

  .footer .nav-quickList::-webkit-scrollbar {
    display: none;
  }

  .footer .nav-quickList li {
    flex: 0 0 auto;
  }

  .footer .trademark ul li {
    display: block;
    margin: 6px 0;
  }

  .footer .footer-badge {
    font-size: 0.9rem;
    padding: 8px 16px;
  }
}


/* APPROFONDIMENTO BORDO BLU */
.block-info-blue {
  border-left: 4px solid #2196f3;
  background: #f0f8ff;
  padding: 20px;
  margin: 30px 0;
}
.block-info-blue h3 {
  margin-top: 0;
  color: #0d47a1;
}

/* BON À SAVOIR VERDE */
.block-bon-a-savoir {
  background: #e8f5e9;
  border-left: 4px solid #4caf50;
  padding: 20px;
  margin: 30px 0;
}
.block-bon-a-savoir h4 {
  margin-top: 0;
  color: #2e7d32;
}

/* WARNING ROSSO */
.block-warning {
  background: #ffebee;
  border-left: 4px solid #f44336;
  padding: 20px;
  margin: 30px 0;
}
.block-warning h4 {
  margin-top: 0;
  color: #c62828;
}

/* BLOCCO TEMATICO CON ICONA */
.block-themed {
  display: flex;
  align-items: flex-start;
  background: #f9f9f9;
  padding: 20px;
  margin: 30px 0;
  border-left: 5px solid #9fc438;
}
.block-themed .icon {
  font-size: 2rem;
  margin-right: 15px;
}
.block-themed .content h3 {
  margin: 0 0 10px;
  font-size: 1.3rem;
}
.block-themed .content p {
  margin: 0;
}

.intro-highlight-box {
  background: linear-gradient(90deg, #fefefe, #f9f9f9);
  border-left: 6px solid #9fc438;
  padding: 30px 20px;
  margin: 30px 0;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.intro-highlight-box .intro-title {
  font-size: 1.8rem;
  color: #333;
  font-weight: 700;
  margin-bottom: 16px;
}

.intro-highlight-box p {
  font-size: 1.05rem;
  line-height: 1.6;
  color: #555;
  margin-bottom: 12px;
}

.intro-highlight-box a {
  color: #9fc438;
  font-weight: 600;
  text-decoration: underline;
}

.intro-highlight-box .intro-warning {
  color: #bf0000;
  font-weight: bold;
  font-size: 0.95rem;
}

@media only screen and (max-width: 768px) {
  .intro-highlight-box {
    padding: 20px 16px;
    margin: 20px 0;
    border-left: 4px solid #9fc438;
    border-radius: 8px;
  }

  .intro-highlight-box .intro-title {
    font-size: 1.4rem;
    text-align: center;
    margin-bottom: 14px;
  }

  .intro-highlight-box p {
    font-size: 1rem;
    text-align: justify;
    margin-bottom: 10px;
  }

  .intro-highlight-box .intro-warning {
    font-size: 0.95rem;
    text-align: center;
    margin-top: 12px;
  }
}

.info-box-grey {
  background-color: #e0e0e0;
  border-left: 4px solid #9fc438;
  padding: 16px 24px;
  margin: 30px 0 10px 0;
  font-size: 0.95rem;
  color: #2c2c2c;
  line-height: 1.6;
  border-radius: 8px;
}

.cta-center-box {
  text-align: center;
  margin: 30px 0;
}

.btn-full-green {
  display: inline-block;
  padding: 12px 26px;
  background-color: #9fc438;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  border-radius: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-full-green:hover {
  background-color: #85a92e;
  color: #fff;
}

.article-box {
  background: #ffffff;
  border: 2px solid #dfe4ea;
  padding: 20px 30px;
  margin: 40px 0;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}

/* Titolo con angoli decorativi */
.article-box-header h2 {
  position: relative;
  background: linear-gradient(to right, #f9f9f9, #ffffff);
  color: #303030;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 1.6rem;
  border-radius: 6px;
  margin-bottom: 20px;
  display: inline-block;
}

.article-box-header h2::before,
.article-box-header h2::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border: 2px solid #ccc;
}

.article-box-header h2::before {
  top: 0;
  left: 0;
  border-right: none;
  border-bottom: none;
}

.article-box-header h2::after {
  bottom: 0;
  right: 0;
  border-left: none;
  border-top: none;
}

.article-box-header {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


.article-box-content h3 {
  font-size: 1.2rem;
  color: #1e1e1e;
  margin-top: 20px;
  margin-bottom: 10px;
}

.article-box-content p {
  font-size: 1rem;
  line-height: 1.6;
  color: #444;
  margin-bottom: 12px;
}


/* Responsive tweaks */
@media (max-width: 768px) {
  .article-box {
    padding: 15px 20px;
  }

  .article-box-header h2 {
    font-size: 1.3rem;
  }

  .article-box-content h3 {
    font-size: 1.1rem;
  }

  .article-box-content p {
    font-size: 0.95rem;
  }
}

/* Container modernizzato */
.modern-slots-block {
  margin-top: 40px;
  margin-bottom: 60px;
}

/* Lista in griglia */
.modern-slot-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 30px 0;
}

.modern-slot-list li a {
  display: block;
  text-align: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  overflow: hidden;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  transition: transform 0.2s;
}

.modern-slot-list li a:hover {
  transform: translateY(-5px);
}

.modern-slot-list img {
  width: 100%;
  height: auto;
  display: block;
}

.modern-slot-list span {
  display: block;
  padding: 10px;
  font-weight: 600;
  color: #333;
  background: #f9f9f9;
}

/* CTA button center */
.cta-center {
  text-align: center;
  margin-top: 30px;
}

.cta-center .btn {
  background-color: #0075ff;
  color: #fff;
  padding: 12px 20px;
  font-weight: bold;
  border-radius: 6px;
  text-decoration: none;
  display: inline-block;
}

.cta-center .btn:hover {
  background-color: #005fc2;
}

.modern-slot-section {
  margin: 50px 0;
}

.slot-gallery {
  padding: 10px 0;
}

.slot-gallery-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.slot-gallery-list li {
  text-align: center;
  background: #f9f9f9;
  border-radius: 8px;
  padding: 10px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: transform 0.2s ease;
}

.slot-gallery-list li:hover {
  transform: translateY(-4px);
}

.slot-gallery-list img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  margin-bottom: 8px;
}

.slot-gallery-list span {
  display: block;
  font-size: 0.95rem;
  color: #333;
  font-weight: 600;
}

.cta-slot-gallery {
  text-align: center;
  margin-top: 30px;
}

.cta-slot-gallery .btn {
  background-color: #2c3e50;
  color: #fff;
  padding: 10px 22px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
}

.cta-slot-gallery .btn:hover {
  background-color: #1a242f;
}

.slot-section {
  background: #f9f9ff;
  padding: 30px;
  border-radius: 12px;
  margin: 50px 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.slot-section-header h2 {
  font-size: 1.8rem;
  color: #222;
  margin-bottom: 15px;
  padding: 10px 15px;
  background: #fff;
  display: inline-block;
  border-radius: 6px;
  box-shadow: 0 2px 5px rgba(0,0,0,0.06);
}

.slot-intro {
  font-size: 1rem;
  color: #333;
  line-height: 1.6;
  margin-bottom: 25px;
}

.slot-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.slot-grid li {
  flex: 1 1 200px;
  max-width: 220px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: transform 0.2s ease;
}

.slot-grid li:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.slot-grid li img {
  width: 100%;
  display: block;
  border-bottom: 1px solid #eee;
}

.slot-grid li span {
  display: block;
  padding: 12px;
  font-weight: 600;
  color: #222;
  font-size: 0.95rem;
}

.slot-footer-link {
  text-align: center;
  margin-top: 30px;
}

.slot-footer-link a {
  text-decoration: underline;
  font-weight: bold;
  color: #0077cc;
}

@media (max-width: 768px) {
  .slot-grid {
    justify-content: center;
  }

  .slot-grid li {
    flex: 1 1 100%;
    max-width: 100%;
  }
}

.slot-section {
  margin: 40px 0;
  padding: 30px;
  background: #f3f8fd; /* pastello azzurro chiaro */
  border: 2px solid #c0e0f8;
  border-left: 6px solid #4ba4e0;
  border-right: 6px solid #4ba4e0;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}


.slot-section-header h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #1e1e1e;
  background: #fff;
  display: inline-block;
  padding: 12px 20px;
  border-radius: 10px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.slot-intro {
  font-size: 1rem;
  line-height: 1.6;
  margin: 20px 0 30px;
  color: #333;
}

.slot-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.slot-grid li {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
  overflow: hidden;
  text-align: center;
  transition: transform 0.2s ease;
}

.slot-grid li:hover {
  transform: translateY(-4px);
}

.slot-grid li img {
  width: 100%;
  height: auto;
  display: block;
  border-bottom: 1px solid #eee;
}

.slot-grid li span {
  display: block;
  font-weight: 600;
  padding: 12px;
  color: #1e1e1e;
}

/* CTA footer */
.slot-footer-link {
  margin-top: 30px;
}
.slot-footer-link a {
  background: #007bff;
  color: #fff;
  padding: 10px 18px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 600;
}
.slot-footer-link a:hover {
  background: #0056b3;
}

/* Responsive layout */
@media (max-width: 992px) {
  .slot-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .slot-grid {
    grid-template-columns: 1fr;
  }

  .slot-section-header h2 {
    font-size: 1.4rem;
    padding: 10px 14px;
  }
}

.transitionSection {
  background: #f2f4f8;
  padding: 40px 20px;
  text-align: center;
  border-top: 2px solid #e0e0e0;
  border-bottom: 2px solid #e0e0e0;
  font-size: 1.1rem;
  color: #333;
  margin-top: 40px;
}

.modern-machine-section {
  margin: 50px 0;
  padding: 20px;
  background: #f8f9fc;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

.modern-machine-section h2 {
  font-size: 1.6rem;
  margin-bottom: 20px;
  text-align: center;
  color: #222;
}

/* Nuova griglia responsive */
.machine-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
}

/* Card slot */
.machine-card {
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  text-align: center;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease;
}
.machine-card:hover {
  transform: translateY(-4px);
}

.machine-card img {
  width: 100%;
  height: auto;
}

.machine-card .info {
  padding: 12px;
}

.machine-card h3 {
  font-size: 1.1rem;
  margin: 6px 0;
  color: #333;
}

.machine-card h6 {
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 10px;
}

/* Bottoni */
.machine-card .btn-container {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.machine-card .btn-container a {
  padding: 6px 14px;
  background-color: #9fc438;
  color: #fff;
  border-radius: 5px;
  font-weight: bold;
  text-decoration: none;
  font-size: 0.9rem;
  transition: background-color 0.3s ease;
}
.machine-card .btn-container a:hover {
  background-color: #7ca52e;
}

/* Responsive per mobile */
@media (max-width: 768px) {
  .machine-card h3 {
    font-size: 1rem;
  }

  .machine-card .btn-container {
    flex-direction: column;
    gap: 6px;
  }
}

.topTenCasino {
  background: #f8fafc; /* sfondo molto chiaro azzurrino/grigio */
  border: 1px solid #e0e6ed;
  border-radius: 16px;
  padding: 30px 20px;
  margin: 50px 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}

/* Header interno già definito prima, lo includo per chiarezza */
.section-casino-header {
  background: linear-gradient(to right, #ffffff, #f7f9fc);
  padding: 20px;
  border-left: 6px solid #9fc438;
  border-radius: 10px;
  margin-bottom: 30px;
  box-shadow: 0 3px 8px rgba(0,0,0,0.05);
}

.section-casino-header h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: #222;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.section-casino-header .icon-badge {
  font-size: 1.8rem;
  color: #9fc438;
}

.section-casino-header .tagline {
  font-size: 0.9rem;
  font-weight: 500;
  color: #555;
  margin-left: auto;
}

@media (max-width: 768px) {
  .section-casino-header h2 {
    font-size: 1.3rem;
    flex-direction: column;
    align-items: flex-start;
  }

  .section-casino-header .tagline {
    margin-left: 0;
    margin-top: 6px;
  }

  .topTenCasino {
    padding: 20px 16px;
  }
}

/* Nuovo colore di sfondo per l'intera sidebar */
.main_sidebar {
  background-color: #fae3e3; /* rosso pastello intenso */
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.06);
}

/* Blocchi interni alla sidebar */
.main_sidebar aside {
  margin-bottom: 30px;
  background: #fff5f5; /* rosso più chiaro per le box interne */
  border: 1px solid #f0caca;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
}

/* Titoli moderni per ogni blocco sidebar */
.main_sidebar aside header h2 {
  font-size: 1.2rem;
  margin-bottom: 15px;
  padding: 10px 15px;
  background: linear-gradient(to right, #fff0f0, #fce4e4);
  color: #5c1b1b;
  font-weight: 700;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  border-left: none;
}

/* Box promozionale della sidebar */
.sidebar-promo-box {
  background: #fff5f5;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  margin-bottom: 40px;
}

.sidebar-promo-box .promo-header h2 {
  font-size: 1.3rem;
  font-weight: 700;
  color: #5c1b1b;
  margin-bottom: 16px;
}

.promo-figure {
  text-align: center;
}

.promo-figure img {
  max-width: 100%;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  margin-bottom: 15px;
}

.promo-title {
  font-size: 1.1rem;
  font-weight: bold;
  color: #d32f2f;
  margin-bottom: 6px;
}

.promo-description {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 14px;
  line-height: 1.5;
}

.promo-description .coupon {
  color: #b71c1c;
  font-weight: 600;
  display: block;
  margin-top: 4px;
}

.promo-description .promo-tc {
  display: block;
  margin-top: 6px;
  color: #777;
  font-size: 0.85rem;
}

.btn-promo-cta {
  display: inline-block;
  background-color: #d32f2f;
  color: #fff;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 30px;
  text-decoration: none;
  margin-top: 10px;
  transition: background-color 0.3s ease;
}

.btn-promo-cta:hover {
  background-color: #b71c1c;
}

.topTenCasino,
.section-casino-header {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Cambia colore del numero di posizione */
.position-icon {
  background: #a2c835 !important;
}

/* Cambia colore del bottone "Play Now" */
.extable-col.cta-col .btn {
  background: #a2c835 !important;
}

.badge-new {
  background-color: #f44336; /* Rosso vivo */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}

.badge-exclusif {
  background-color: #8e24aa; /* Viola intenso */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}

.badge-hot {
  background-color: #ff9800; /* Arancione acceso */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}

.badge-vip {
  background-color: #3f51b5; /* Blu profondo */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}

.badge-top {
  background-color: #03a9f4; /* Azzurro brillante */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
}
.sidebarNews {
  background: #fff5f5;
  border: 1px solid #f0caca;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  margin-bottom: 30px;
}

.sidebarNews header h2 {
  font-size: 1.2rem;
  font-weight: 700;
  padding: 10px 15px;
  margin-bottom: 15px;
  background: linear-gradient(to right, #fff0f0, #fce4e4);
  color: #5c1b1b;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

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

.sidebarNews_list li {
  display: flex;
  gap: 12px;
  margin-bottom: 16px;
}

.sidebarNews_list .left {
  flex-shrink: 0;
  width: 90px;
}

.sidebarNews_list .left img {
  width: 100%;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  display: block;
}

.sidebarNews_list .right h5 {
  font-size: 0.85rem;
  color: #bf0000;
  font-weight: 600;
  margin: 0 0 4px;
}

.sidebarNews_list .right h4 {
  font-size: 0.9rem;
  font-weight: 500;
  margin: 0;
  color: #333;
  line-height: 1.4;
}

.an-ch {
  text-align: right;
  margin-top: 10px;
}

.an-ch .more {
  display: inline-block;
  background-color: #d32f2f;
  color: #fff;
  padding: 8px 18px;
  border-radius: 30px;
  font-weight: bold;
  text-decoration: none;
  font-size: 0.9rem;
  transition: background-color 0.3s ease;
}

.an-ch .more:hover {
  background-color: #b71c1c;
  color: #fff;
}

.sidebarLeCasino {
  background: #fffaf5 !important; /* Rosa chiaro pastello */
  border: 1px solid #f0caca;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  margin-bottom: 30px;
}

.sidebarLeCasino header h2 {
  font-size: 1.2rem;
  font-weight: 700;
  padding: 10px 15px;
  margin-bottom: 15px;
  background: linear-gradient(to right, #fff0f0, #fce4e4);
  color: #5c1b1b;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* SEZIONE INTERNA con override sfondo corretto */
.sidebarLeCasino .casino-month-box {
  background: #fff !important;
  padding: 15px;
  border-radius: 10px;
}

.sidebarLeCasino .imgWithInfo {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.sidebarLeCasino .imgWithInfo .left img {
  max-width: 110px;
  height: auto;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.sidebarLeCasino .imgWithInfo .right h1 {
  font-size: 1.1rem;
  font-weight: bold;
  margin: 0 0 6px;
  color: #bf0000;
}

.sidebarLeCasino .imgWithInfo .right .links a {
  font-size: 0.9rem;
  color: #d32f2f;
  font-weight: bold;
  text-decoration: underline;
  margin-right: 10px;
}

.sidebarLeCasino .imgWithInfo .right .links a:hover {
  color: #9c0f0f;
}

.sidebarLeCasino p {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #333;
  margin-top: 10px;
}

/* Contenitore slider */
.bonus-slider {
  position: relative;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Ogni slide bonus */
.bonus-slide {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.bonus-slide.active {
  display: flex;
}

/* Contenuto interno slide */
.bonus-slide .imgWithInfo {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}

.bonus-slide .left img {
  max-width: 110px;
  height: auto;
  margin-right: 10px;
}

.bonus-slide .right h1 {
  font-size: 1.1rem;
  font-weight: bold;
  margin: 0;
  color: #444;
}

.bonus-slide .right a {
  font-size: 0.9rem;
  font-weight: 600;
  color: #b71c1c;
  text-decoration: underline;
}

.bonus-slide p {
  font-size: 0.95rem;
  line-height: 1.5;
  color: #555;
  margin: 10px 0;
}

/* Bottone CTA centrato */
.bonus-slide .an-ch {
  display: flex;
  justify-content: center;
  margin-top: auto;
}

.bonus-slide .an-ch a {
  background-color: #d32f2f;
  color: #fff;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 30px;
  text-decoration: none;
  display: inline-block;
  font-size: 0.95rem;
  transition: background-color 0.3s ease;
}

.bonus-slide .an-ch a:hover {
  background-color: #b71c1c;
}

/* Navigazione pallini */
.bonus-slider-nav {
  text-align: center;
  margin-top: 14px;
}

.bonus-slider-nav .dot {
  height: 12px;
  width: 12px;
  margin: 0 6px;
  background-color: #f28c8c;
  border-radius: 50%;
  display: inline-block;
  cursor: pointer;
  transition: background 0.3s ease;
}

.bonus-slider-nav .dot.active {
  background-color: #d32f2f;
}

.sidebarLesmeilleurs2 {
  background: #fff5f5;
  border: 1px solid #f0caca;
  border-radius: 10px;
  padding: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  margin-bottom: 30px;
}

.sidebarLesmeilleurs2 header h2 {
  font-size: 1.2rem;
  font-weight: 700;
  padding: 10px 15px;
  margin-bottom: 15px;
  background: linear-gradient(to right, #fff0f0, #fce4e4);
  color: #5c1b1b;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.featured-casinos {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.casino-feature-card {
  background-color: #fff;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 20px 15px;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.04);
  transition: transform 0.3s ease;
}

.casino-feature-card:hover {
  transform: translateY(-4px);
}

.casino-feature-card img {
  max-width: 100px;
  margin-bottom: 10px;
}

.casino-feature-card h3 {
  font-size: 1.1rem;
  color: #222;
  margin-bottom: 10px;
}

.bonus-banner {
  background-color: #f44336;
  color: #fff;
  font-weight: bold;
  padding: 8px 14px;
  border-radius: 20px;
  margin-bottom: 10px;
  font-size: 0.95rem;
  display: inline-block;
}

.terms-link {
  font-size: 0.85rem;
  color: #c62828;
  text-decoration: underline;
  display: block;
  margin-bottom: 12px;
}

.btn-play {
  display: inline-block;
  background-color: #d32f2f;
  color: #fff;
  padding: 10px 20px;
  font-weight: bold;
  border-radius: 999px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.btn-play:hover {
  background-color: #b71c1c;
}

.sidebarNewsletterModern {
  background: #fefefe;
  border: 1px solid #e4e4e4;
  border-left: 5px solid #9fc438;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  margin-bottom: 30px;
}

.sidebarNewsletterModern header {
  background: linear-gradient(to right, #f0fff0, #f9fff9);
  padding: 12px 15px;
  border-radius: 6px;
  margin-bottom: 15px;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}

.sidebarNewsletterModern header h2 {
  font-size: 1.2rem;
  color: #5c1b1b;
  font-weight: bold;
  margin: 0;
}

.sidebarNewsletterModern section p {
  font-size: 0.95rem;
  color: #444;
  line-height: 1.6;
  margin-bottom: 15px;
  text-align: center;
}

.sidebarNewsletterModern section p a {
  color: #bf0000;
  text-decoration: underline;
  font-weight: bold;
}

.newsletter-image {
  text-align: center;
  margin: 15px 0;
}

.newsletter-image img {
  max-width: 100%;
  border-radius: 10px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.cta-center-box {
  text-align: center;
  margin-top: 20px;
}

.btn-full-green {
  display: inline-block;
  padding: 12px 24px;
  background-color: #9fc438;
  color: #fff;
  font-weight: bold;
  border-radius: 30px;
  text-decoration: none;
  font-size: 1rem;
  transition: background-color 0.3s ease;
}

.btn-full-green:hover {
  background-color: #7ea52c;
}

.faq-accordion-section {
  background: #eef7ff;
  border: 2px solid #b3daff;
  border-radius: 12px;
  padding: 30px;
  margin: 50px 0;
  box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}

.faq-accordion-header h2 {
  font-size: 1.8rem;
  color: #0a3d62;
  text-align: center;
  margin-bottom: 30px;
}

.faq-accordion-item {
  margin-bottom: 15px;
  border-bottom: 1px solid #b3daff;
  padding-bottom: 10px;
}

.faq-question {
  display: block;
  cursor: pointer;
  font-weight: bold;
  font-size: 1.2rem;
  color: #064481;
  padding: 10px;
  background: #d6edff;
  border-radius: 8px;
  transition: background 0.3s;
}

.faq-question:hover {
  background: #c0e4ff;
}

.faq-toggle {
  display: none;
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: all 0.4s ease;
  font-size: 1rem;
  color: #333;
  padding: 0 10px;
}

.faq-toggle:checked + .faq-question + .faq-answer {
  max-height: 500px;
  margin-top: 10px;
  padding-top: 10px;
}

.conclusion-box {
  background: linear-gradient(90deg, #f9f9f9 0%, #f1f5f9 100%);
  border-left: 5px solid #9fc438;
  padding: 30px 25px;
  margin: 50px 0;
  font-size: 1.1rem;
  color: #333;
  line-height: 1.7;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}

.conclusion-box p {
  margin: 0;
}

@media (max-width: 768px) {
  .conclusion-box {
    padding: 20px;
    font-size: 1rem;
  }
}

/* Casino Cards Estese */
/* Wrapper principale */
.modern-casino-data-card {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  background: #ffffff; /* sfondo bianco più pulito */
  border: 1px solid #ddd; /* bordo sottile grigio chiaro */
  border-radius: 20px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12); /* ombra più forte e morbida */
  padding: 20px;
  margin: 20px 0;
  transition: 0.3s all ease;
}


/* Colonne base */
.data-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 10px;
}

/* Logo */
.logo-area img {
  max-width: 100px;
  height: auto;
  border-radius: 12px;
}

/* Info principali */
.info-area {
  flex: 1;
  min-width: 250px;
}

.info-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}

.casino-name-badge {
  display: flex;
  align-items: center;
  gap: 10px;
}

.casino-name {
  font-size: 22px;
  font-weight: bold;
  color: #333;
}

/* BADGE BLU STANDARD - già esistente */
.casino-badge {
  background-color: #2196f3; /* Blu standard per "Fair Casino" */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

/* BADGES COLORATI NUOVI */
.casino-badge-exclusive {
  background-color: #8bc34a; /* Verde brillante - Exclusive Bonus */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

.casino-badge-hot {
  background-color: #e91e63; /* Rosa acceso - Hot Offer */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

.casino-badge-new {
  background-color: #ff9800; /* Arancione acceso - New Casino */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

.casino-badge-vip {
  background-color: #3f51b5; /* Blu profondo - VIP Bonus */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

.casino-badge-top {
  background-color: #03a9f4; /* Azzurro brillante - Top Rated */
  color: white;
  font-weight: bold;
  font-size: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  text-transform: uppercase;
}

.rating-stars {
  font-size: 18px;
  color: #ffc107;
}

/* Bonus lines */
.bonus-offer {
  background: #f0f0f0;
  border-radius: 10px;
  padding: 8px 15px;
  margin: 5px 0;
  font-weight: bold;
  text-align: center;
  font-size: 16px;
}

.no-deposit {
  background: #c8e6c9;
}

.welcome-bonus {
  background: #bbdefb;
}

/* Legal Text */
.legal-text {
  font-size: 12px;
  color: #777;
  text-align: center;
  margin: 8px 0;
}

/* Dati extra */
.extra-data-area {
  min-width: 180px;
}

.info-block {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 8px 12px;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
}

.block-label {
  font-weight: bold;
  color: #555;
}

.block-value {
  color: #333;
}

.market-block {
  flex-direction: column;
  align-items: flex-start;
}

.market-flags {
  display: flex;
  gap: 5px;
  margin-top: 5px;
}

.market-flags img {
  width: 26px;
  height: auto;
}

/* CTA */
.cta-area {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.play-now-btn {
  background: #8bc34a; /* COLORE VERDE UNIFORME */
  color: #fff;
  padding: 10px 20px;
  border-radius: 20px;
  text-decoration: none;
  font-weight: bold;
  margin-bottom: 8px;
  transition: background 0.3s;
}

.play-now-btn:hover {
  background: #7cb342;
}

.read-review-link {
  font-size: 14px;
  color: #333;
  text-decoration: underline;
}

.logo-flags {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 8px;
}

.logo-flags .flag-icon img {
  width: 26px;
  height: auto;
  display: inline-block;
}

.logo-area {
  min-width: 100px;
  max-width: 100px;
}

.info-area {
  min-width: 360px;
  max-width: 360px;
}

.extra-data-area {
  min-width: 220px;
  max-width: 220px;
}

.cta-area {
  min-width: 120px;
  max-width: 120px;
}

/* Responsive */
@media (max-width: 768px) {
  .modern-casino-data-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .cta-area {
    align-items: center;
    margin-top: 10px;
  }

  .info-header {
    flex-direction: column;
    gap: 5px;
  }
}

@media (max-width: 768px) {
  .modern-casino-data-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .logo-area,
  .info-area,
  .extra-data-area,
  .cta-area {
    min-width: auto;
    max-width: 100%;
    width: 100%;
  }

  .cta-area {
    align-items: center;
    margin-top: 10px;
  }

  .info-header {
    flex-direction: column;
    gap: 5px;
  }
}

.geo-tag-style {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 20px 0;
  padding: 0;
}

.geo-tag-style li a {
  display: inline-block;
  background-color: #f0f0f0;
  color: #333;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 8px 16px;
  border-radius: 30px;
  text-decoration: none;
  border: 1px solid #ccc;
  transition: all 0.3s ease;
}

.geo-tag-style li a:hover {
  background-color: #9fc438;
  color: #fff;
  border-color: #9fc438;
}

.casino-header-card {
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 0 10px rgba(0,0,0,0.05);
  margin-bottom: 30px;
}

.casino-main-title {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}

.casino-header-content {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}

.casino-header-left {
  flex: 1 1 55%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.casino-logo img {
  max-width: 150px;
  margin-bottom: 10px;
}

.casino-name-stars {
  margin-bottom: 20px;
}

.casino-name {
  font-size: 24px;
  font-weight: 600;
  margin-bottom: 8px;
}

.casino-stars {
  font-size: 22px;
  color: gold;
}

.casino-bonus-list {
  width: 100%;
  margin-bottom: 20px;
}

.casino-bonus-line {
  padding: 10px 15px;
  border-radius: 8px;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 16px;
  display: inline-block;
}

.casino-bonus-line.green {
  background: #e8f7e2;
  color: #4caf50;
}

.casino-bonus-line.blue {
  background: #e2f0fb;
  color: #2196f3;
}

.casino-description {
  font-size: 16px;
  line-height: 1.6;
  color: #555;
  margin-top: 20px;
}

.casino-header-right {
  flex: 1 1 35%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 15px;
}

.casino-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.casino-info-list li {
  background: #f8f8f8;
  border-radius: 8px;
  padding: 10px 15px;
  font-size: 16px;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.casino-info-icon {
  font-size: 18px;
}

.casino-cta-button {
  margin-top: 20px;
  text-align: center;
}

.play-casino-btn {
  display: inline-block;
  padding: 12px 25px;
  background-color: #d50000;
  color: #fff;
  font-weight: bold;
  border-radius: 8px;
  font-size: 18px;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.play-casino-btn:hover {
  background-color: #a30000;
}

.reviewpage-h1 {
  font-size: 2.2em;
  font-weight: 800;
  margin-bottom: 40px; /* spazio maggiore */
  text-align: center;
  border-bottom: 2px solid #e0e0e0;
  padding-bottom: 10px;
  display: inline-block;
}
.casino-review-page {
  margin-top: 30px;
}

.casino-mini-terms {
  text-align: center;
  font-size: 0.85em;
  color: #777;
  margin-top: 10px;
}

.casinoreview-screenshot-section {
  padding: 20px 0;
}

.casinoreview-screenshot-title {
  font-size: 1.6rem;
  margin-bottom: 15px;
  font-weight: bold;
}

.casinoreview-screenshot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 15px;
}

.casinoreview-screenshot-thumb {
  cursor: zoom-in;
  border-radius: 6px;
  transition: transform 0.3s ease;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  width: 100%;
  height: auto;
}

.casinoreview-screenshot-thumb:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

/* Modal */
.casinoreview-modal {
  display: none;
  position: fixed;
  z-index: 999;
  padding-top: 60px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.85);
}

.casinoreview-modal-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 80%;
  border-radius: 8px;
}

.casinoreview-modal-close {
  position: absolute;
  top: 30px;
  right: 50px;
  color: #fff;
  font-size: 2.5rem;
  cursor: pointer;
  font-weight: bold;
}

.casinoReview_details .casinoReviewDetails-header {
  background: transparent !important;
  padding: 0;
  margin: 40px 0 20px 0;
  text-align: center;
}

.casinoReview_details .casinoReviewDetails-header h2 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #333;
  background: transparent !important;
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
}

.casinoReview_details .casinoReviewDetails-header h2::after {
  content: "";
  display: block;
  width: 60%;
  margin: 8px auto 0 auto;
  border-bottom: 2px solid #ff6600;
}

.casinoreview-screenshot-title {
  font-size: 1.2rem;
  color: #666;
  font-weight: 600;
  text-align: center;
  margin-top: 40px;
  margin-bottom: 20px;
  font-style: italic;
}

.casino-bonus-intro {
  background: #f7f7f7;
  border-left: 4px solid #ff9900;
  padding: 20px;
  margin-bottom: 30px;
  font-size: 1.05em;
  color: #333;
}

.casino-bonus-table {
  background: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.casino-bonus-table header h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.8em;
  color: #333;
}

.casino-bonus-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1em;
}

.casino-bonus-table th,
.casino-bonus-table td {
  text-align: center;
  padding: 12px 10px;
  border-bottom: 1px solid #eee;
}

.casino-bonus-table tbody tr:nth-child(odd) {
  background-color: #f9f9f9;
}

.new-badge {
  background: #ff3d00;
  color: #fff;
  font-size: 0.7em;
  padding: 2px 6px;
  margin-left: 5px;
  border-radius: 4px;
  font-weight: bold;
}

.btn-claim {
  background: #4caf50;
  color: #fff;
  padding: 8px 14px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  display: inline-block;
  transition: background 0.3s;
}

.btn-claim:hover {
  background: #43a047;
}

.casino-bonus-cards-section {
  padding: 30px 0;
  background: #fff;
}

.casino-bonus-cards-title {
  text-align: center;
  font-size: 1.8em;
  margin-bottom: 25px;
  color: #333;
}

.casino-bonus-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

.casino-bonus-card {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.casino-bonus-type {
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 15px;
  color: #333;
}

.casino-bonus-info p {
  margin: 5px 0;
  font-size: 0.95em;
  color: #666;
}

.casino-article-section {
  margin-top: 40px;
}

.casino-article-h1 {
  text-align: center;
  font-size: 1.9em;
  margin-bottom: 30px;
}

.casino-article-h2 {
  font-size: 1.5em;
  margin-top: 30px;
  margin-bottom: 10px;
  color: #333;
}

.casino-visit-button {
  margin-top: 30px;
  text-align: center;
}

.sidebar-features-list, .banking-methods-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-features-list li,
.banking-methods-list li {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  font-size: 0.95rem;
  color: #333;
}

.simple-list-block {
  font-size: 1rem;
  color: #555;
  padding: 10px 0;
}

.currency-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  font-size: 0.95rem;
  color: #333;
}

.simple-center-content {
  text-align: center;
  padding: 15px 0;
}

.sidebarInfo {
  background: #f9f9f9;
  border: 1px solid #ddd;
  border-left: 5px solid #2196f3; /* blu informativo */
  border-radius: 10px;
  padding: 16px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  margin-bottom: 30px;
}

.sidebarInfo header h2 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 15px;
  padding: 10px 15px;
  background: linear-gradient(to right, #f0f8ff, #ffffff);
  color: #0d47a1;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.sidebarInfo ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebarInfo li {
  font-size: 0.95rem;
  color: #444;
  margin-bottom: 10px;
  line-height: 1.5;
}

.sidebarCTA {
  background: #fffbe7;
  border: 1px solid #f5e8a5;
  border-left: 5px solid #ffc107; /* giallo CTA */
  border-radius: 10px;
  padding: 20px;
  margin-bottom: 30px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
  text-align: center;
}

.sidebarCTA p {
  font-size: 1rem;
  color: #555;
  margin-bottom: 15px;
}

.sidebarCTA .cta-button {
  display: inline-block;
  background-color: #9fc438;
  color: #fff;
  padding: 10px 20px;
  border-radius: 30px;
  font-weight: bold;
  text-decoration: none;
  font-size: 0.95rem;
  transition: background-color 0.3s ease;
}

.sidebarCTA .cta-button:hover {
  background-color: #7da928;
  color: #fff;
}

.sidebar-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sidebar-info-list li {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  font-size: 0.95rem;
  color: #333;
}



/* ===== MIGLIORIE KIT v1.2 — tabella moderna tokenizzata (sovrascrive le regole sopra) ===== */
/* =============================================================
   Tabella/listing MODERNA — Famiglia C (online-casinos.ws)
   Componente canonico `modern-extable-casino-card` — versione
   TOKENIZZATA + MIGLIORATA del kit.
   Vedi MIGLIORIE_C_TABELLE in fondo per le differenze vs originale.
   ============================================================= */

/* --- Token (migliorìa-bandiera: niente più colori hardcoded) --- */
:root{
  --oc-primary:#9fc438;        /* verde-primario di C */
  --oc-primary-dark:#7ea52e;
  --oc-cta:#bf0000;            /* CTA: allineato al rosso usato altrove in C
                                  (l'originale usava #e91e63 rosa, fuori palette;
                                  per tenerlo metti --oc-cta:#e91e63) */
  --oc-ink:#333;
  --oc-muted:#888;
  --oc-bg:#fff;
  --oc-surface:#f3f3f3;
  --oc-star:#ffc107;
  --oc-badge:#f44336;
  --oc-radius:16px;
  --oc-radius-pill:20px;
  --oc-shadow:0 2px 8px rgba(0,0,0,.08);
}

/* --- Wrapper riga --- */
.modern-extable-casino-card{
  display:flex; align-items:center; justify-content:space-between;
  background:var(--oc-bg); border-radius:var(--oc-radius);
  box-shadow:var(--oc-shadow); padding:20px; margin:20px 0;
  flex-wrap:wrap; transition:box-shadow .3s ease-in-out, transform .3s ease-in-out;
}
.modern-extable-casino-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.12); }

/* --- Colonna numero + bandiere (desktop) --- */
.extable-col.flags-col{ display:flex; flex-direction:column; align-items:center; margin-right:15px; }
.position-icon{
  background:var(--oc-primary); color:#fff; font-weight:bold; font-size:18px;
  width:40px; height:40px; border-radius:50%; text-align:center; line-height:40px; margin-bottom:10px;
}
.flag-label{ font-size:14px; font-weight:600; background:#eee; border-radius:6px; padding:2px 8px; margin:2px 0; color:#555; }
.flag-icon img{ width:26px; height:auto; display:inline-block; margin:2px 4px; }

/* --- Logo --- */
.extable-col.logo-col{ margin:0 20px; }
.extable-col.logo-col img{ max-width:120px; height:auto; }

/* --- Stelle + bonus + badge --- */
.extable-col.bonus-text-col{ flex:1; display:flex; flex-direction:column; align-items:stretch; }
.bonus-header{ display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.emoji-stars{ font-size:20px; color:var(--oc-star); line-height:1; letter-spacing:2px; font-family:Arial, sans-serif; display:inline-block; }
.badge-top,.badge-exclusif,.badge-new{ background:var(--oc-badge); color:#fff; font-weight:bold; font-size:12px; padding:4px 10px; border-radius:12px; }
.badge-top{ background:var(--oc-primary); }              /* "Fair Casino" in verde */
.badge-exclusif{ background:var(--oc-cta); }             /* "EXCLUSIVE" */
.bonus-text{ background:var(--oc-surface); border-radius:10px; padding:12px 25px; font-size:20px; font-weight:bold; color:var(--oc-ink); text-align:center; width:100%; }
.bonus-subtext{ font-size:13px; color:var(--oc-muted); text-align:center; margin-top:6px; }  /* NUOVO: per il bonus secondario (es. welcome) dalla migrazione */
.legal-note{ font-size:12px; color:var(--oc-muted); margin-top:5px; text-align:center; }

/* --- CTA --- */
.extable-col.cta-col{ display:flex; flex-direction:column; align-items:flex-end; }
.extable-col.cta-col .btn{
  background:var(--oc-cta); color:#fff; font-weight:bold; padding:10px 20px;
  border-radius:var(--oc-radius-pill); text-decoration:none; margin-bottom:8px;
  transition:background .3s ease-in-out;
}
.extable-col.cta-col .btn:hover{ background:#000; }
.extable-col.cta-col .casino-review-link{ font-size:14px; text-decoration:underline; color:var(--oc-ink); }

/* --- Bandiere mobile: nascoste su desktop --- */
.flags-mobile{ display:none; }

/* --- Responsive (UNICO blocco: l'originale ne aveva due in conflitto con !important) --- */
@media (max-width:768px){
  .modern-extable-casino-card{ flex-direction:column; align-items:center; text-align:center; }
  .extable-col.flags-col{ display:none; }            /* numero+bandiere desktop via */
  .flags-mobile{ display:flex; justify-content:center; gap:8px; margin:10px 0; }
  .extable-col.cta-col{ align-items:center; margin-top:10px; }
  .bonus-header{ justify-content:center; }
}

/* --- Quality floor: focus visibile + motion ridotto --- */
.extable-col.cta-col .btn:focus-visible,
.extable-col.cta-col .casino-review-link:focus-visible{ outline:3px solid var(--oc-primary-dark); outline-offset:2px; }
@media (prefers-reduced-motion: reduce){
  .modern-extable-casino-card{ transition:none; }
  .modern-extable-casino-card:hover{ transform:none; }
}

/* =============================================================
   MIGLIORIE_C_TABELLE (cosa cambia rispetto all'originale override.css)
   1. :root token → fine dei colori hardcoded (#e91e63, #ffc107, #f3f3f3, #888…).
   2. CTA/numero allineati alla palette di C: numero = verde primario,
      CTA = rosso #bf0000 (l'originale usava un rosa #e91e63 fuori palette;
      per riusarlo basta cambiare --oc-cta).
   3. Responsive consolidato in UN blocco (l'originale aveva 2 @media 768
      duplicati + regole .flags-col/.flags-mobile ripetute con !important).
   4. Accessibilità: :focus-visible sui link/CTA, prefers-reduced-motion.
   5. Hover discreto sulla card (feedback) e .bonus-subtext per il bonus
      secondario che arriva dalla migrazione delle tabelle vecchie.
   NB accessibilità lato HTML (vedi snippet): aggiungere
   role="img" aria-label="x sur 5" alle .emoji-stars e, sul contenitore
   della lista, role="list" / role="listitem" sulle card.
   ============================================================= */

/* Byline redazione + data */
.oc-byline{font-size:.85rem;color:#6b6b6b;margin:.45rem 0 1.1rem;line-height:1.4;}
.oc-byline strong{color:var(--oc-ink,#2e2e2e);font-weight:600;}
