/* DropCashCasino — Correctifs CSS globaux (overlays, coffres, spin, layout) */

/* Coffres : overlays ne bloquent jamais les clics */
.card--chest .card__img-wrap::before,
.hero-chest-orbit {
  pointer-events: none !important;
}

.card--chest.is-opening {
  animation: chestPreviewPop 0.35s var(--dcc-ease, ease);
}

.activation-rail-item {
  cursor: pointer;
  border: 0;
  font: inherit;
  color: inherit;
  text-align: center;
}

.activation-rail-item.is-active {
  border-color: rgba(0, 229, 255, 0.45);
  background: rgba(0, 229, 255, 0.1);
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.12);
}

.selected-chest-preview.is-updated {
  animation: chestPreviewPop 0.35s var(--dcc-ease, ease);
}

@keyframes chestPreviewPop {
  0% { transform: scale(0.98); opacity: 0.85; }
  100% { transform: none; opacity: 1; }
}

/* Spin & Go : zone interactive au-dessus des effets */
.hero-slot-machine {
  isolation: isolate;
}

.hero-slot-inner,
.slot-actions,
.slot-spin-btn {
  position: relative;
  z-index: 2;
}

.hero-slot-machine.reveal {
  opacity: 1;
  transform: none;
  filter: none;
}

.slot-reel.is-spinning {
  animation: slotReelShake 0.12s linear infinite;
}

@keyframes slotReelShake {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(2px); }
}

.slot-result[aria-live] a {
  color: var(--dcc-cyan, #00e5ff);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Spin & Go — icônes site (assets/icons/*.svg) */
.hero-slot-machine .slot-reel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.slot-reel-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.35));
}

.slot-reel.is-win .slot-reel-icon {
  filter: drop-shadow(0 0 14px rgba(255, 209, 102, 0.55));
}

.slot-result-head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.slot-result-head .slot-reel-icon {
  width: 28px;
  height: 28px;
}

/* Coffres — images PNG premium (fond transparent sur carte) */
.chest-img-wrap {
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0.06), transparent 62%);
}

.chest-img-wrap img,
.coffre-hero-showcase img,
.selected-chest-preview img {
  object-fit: contain;
  mix-blend-mode: normal;
}

/* Hero above-the-fold : visible immédiatement */
.home-spin2026-copy.reveal,
.home-spin2026 .hero-slot-machine.reveal {
  opacity: 1;
  transform: none;
  filter: none;
}

/* Breadcrumb legacy nav-link */
.breadcrumb .nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.85rem;
  font-weight: 700;
}

/* Layout cohérent avec navbar 72px */
.filter-bar,
.faq-categories {
  top: var(--dcc-nav-h, 72px);
}

@media (max-width: 1023px) {
  .filter-bar,
  .faq-categories {
    top: var(--dcc-nav-h-mobile, 64px);
  }
}

/* Images coffres cassées : placeholder discret */
.chest-img-wrap img[src=""],
.chest-img-wrap img:not([src]) {
  min-height: 120px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.06), transparent 70%);
}

/* Boutons magnétiques : ne pas bloquer le clic pendant le spin */
.slot-spin-btn.is-loading {
  pointer-events: none;
  opacity: 0.85;
}

@media (max-width: 680px) {
  .chest-premium-grid {
    grid-template-columns: 1fr;
  }

  .activation-rail,
  [data-activation-rail] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.footer-contact {
  margin: 0.75rem 0 0;
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--dcc-muted, #aeb2d8);
}

.footer-contact a {
  color: #dfe2ff;
  font-weight: 700;
}

.footer-contact a:hover {
  color: var(--dcc-cyan, #00e5ff);
}

.cookie-consent p a {
  color: var(--dcc-cyan, #00e5ff);
  font-weight: 700;
}

/* Titres visibles : éviter rognage (gradient text + line-height serré) */
.hero-copy h1,
.home-spin2026-copy h1,
.home-hero-premium h1,
.guide-hero .hero-copy h1,
.dash-top h1,
.auth-card h1 {
  line-height: 1.12 !important;
  letter-spacing: 0.015em !important;
  padding-bottom: 0.1em;
  overflow: visible;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.hero-copy h1,
.home-spin2026-copy h1,
.home-hero-premium h1 {
  text-wrap: pretty;
}

.hero.hero-compact,
.hero.guide-hero,
.home-spin2026 {
  overflow: visible;
}

.hero-slot-title {
  line-height: 1.15;
  word-break: break-word;
}

.slot-reel {
  height: auto;
  min-height: 108px;
  overflow: visible;
}

.slot-reel strong,
.slot-reel span {
  line-height: 1.25;
  white-space: normal;
  word-break: break-word;
}

.section-head h2,
.guide-article h2 {
  line-height: 1.15;
  text-wrap: pretty;
}

.dcc-nav__actions .dcc-nav__discord {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  margin-right: 0.35rem;
}

.footer-grid--full {
  grid-template-columns: 1.3fr repeat(4, minmax(0, 1fr));
}

.home-hero-value .hero-copy h1 {
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.1;
  text-transform: none;
  letter-spacing: -0.02em;
}

.home-hero-trust,
.bonus-disclaimer {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
  font-size: 0.85rem;
  color: var(--dcc-muted, #aeb2d8);
}

.home-hero-value .hero-media {
  background: transparent;
  isolation: isolate;
}

.hero-casinos-map {
  position: relative;
  display: block;
  margin: 0;
  background: transparent;
  border: none;
  box-shadow: none;
  line-height: 0;
}

.hero-casinos-map--hub {
  aspect-ratio: 1024 / 768;
}

.hero-casinos-map--bonus {
  aspect-ratio: 1024 / 576;
}

.hero-casinos-map--compare {
  aspect-ratio: 1024 / 682;
}

.hero-casinos-map--compare .hero-casinos-map__hit--dragonia {
  left: 11.43%;
  top: 21.55%;
  width: 76.95%;
  height: 11.73%;
}

.hero-casinos-map--compare .hero-casinos-map__hit--shinywilds {
  left: 11.43%;
  top: 32.7%;
  width: 76.95%;
  height: 11.73%;
}

.hero-casinos-map--compare .hero-casinos-map__hit--fast-slots {
  left: 11.43%;
  top: 43.84%;
  width: 76.95%;
  height: 11.73%;
}

.hero-casinos-map--compare .hero-casinos-map__hit--mega-dice {
  left: 11.43%;
  top: 54.99%;
  width: 76.95%;
  height: 11.73%;
}

.hero-casinos-map--compare .hero-casinos-map__hit--samba-slots {
  left: 11.43%;
  top: 66.13%;
  width: 76.95%;
  height: 11.73%;
}

.page-comparatif .hero.home-hero-value .hero-copy h1 {
  font-size: clamp(30px, 4.2vw, 52px);
  line-height: 1.08;
  text-transform: none;
  letter-spacing: -0.02em;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: #fff;
}

.hero-casinos-map picture {
  display: block;
  background: transparent;
  line-height: 0;
}

.hero-casinos-map img {
  width: 100%;
  height: auto;
  display: block;
  vertical-align: middle;
  background: transparent;
}

.hero-casinos-map__hit {
  position: absolute;
  z-index: 2;
  border-radius: 16px;
  cursor: pointer;
  background: transparent;
  outline: none;
  box-shadow: none;
}

.hero-casinos-map__hit:hover,
.hero-casinos-map__hit:focus,
.hero-casinos-map__hit:focus-visible,
.hero-casinos-map__hit:active {
  background: transparent;
  outline: none;
  box-shadow: none;
}

.hero-casinos-map__hit--dragonia {
  left: 5.5%;
  top: 4%;
  width: 27%;
  height: 74%;
}

.hero-casinos-map__hit--shinywilds {
  left: 31%;
  top: 1.5%;
  width: 38%;
  height: 80%;
}

.hero-casinos-map__hit--fast-slots {
  left: 67%;
  top: 4%;
  width: 27%;
  height: 74%;
}

.hero-casinos-map--hub .hero-casinos-map__hit--dragonia {
  left: 2.64%;
  top: 7.29%;
  width: 33.79%;
  height: 35.29%;
  z-index: 2;
}

.hero-casinos-map--hub .hero-casinos-map__hit--shinywilds {
  left: 27.34%;
  top: 0;
  width: 45.12%;
  height: 40.62%;
  z-index: 3;
}

.hero-casinos-map--hub .hero-casinos-map__hit--fast-slots {
  left: 63.38%;
  top: 11.33%;
  width: 34.38%;
  height: 31.25%;
  z-index: 2;
}

.page-casinos .guide-hero.home-hero-value .hero-copy h1 {
  font-size: clamp(30px, 4.2vw, 52px);
  line-height: 1.08;
  text-transform: none;
  letter-spacing: -0.02em;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: #fff;
}

.page-bonus .hero .hero-copy h1 {
  font-size: clamp(30px, 4.2vw, 52px);
  line-height: 1.08;
  text-transform: none;
  letter-spacing: -0.02em;
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
  color: #fff;
}

.hero-casinos-map--bonus .hero-casinos-map__hit--dragonia {
  left: 38.87%;
  top: 20.83%;
  width: 32.03%;
  height: 25.87%;
}

.hero-casinos-map--bonus .hero-casinos-map__hit--shinywilds {
  left: 38.87%;
  top: 40.8%;
  width: 32.03%;
  height: 26.04%;
}

.hero-casinos-map--bonus .hero-casinos-map__hit--fast-slots {
  left: 38.87%;
  top: 58.85%;
  width: 32.03%;
  height: 25.87%;
}

.dcc-nav__logo img {
  height: auto;
  max-height: 40px;
  width: auto;
  max-width: 140px;
  object-fit: contain;
}

.casino-spotlight-grid,
.casino-hub-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.casino-spotlight-card,
.casino-hub-card {
  padding: 20px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.casino-spotlight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.compare-quick-filters,
.compare-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.compare-filter-chip {
  display: inline-flex;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-weight: 700;
  font-size: 0.85rem;
  cursor: pointer;
  text-decoration: none;
}

.compare-filter-chip.is-active {
  border-color: rgba(0, 229, 255, 0.45);
  background: rgba(0, 229, 255, 0.12);
}

.compare-cards-mobile {
  display: none;
  grid-template-columns: 1fr;
  gap: 14px;
}

.compare-mobile-card {
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 12, 28, 0.88);
}

.compare-mobile-meta {
  display: grid;
  gap: 8px;
  margin: 12px 0;
}

.compare-mobile-meta div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

/* Cards : toujours visibles (opacity), motion géré par cards-premium.css */
.card.reveal,
.cards-grid .card.reveal,
.faq-grid .card.reveal,
.card-notice {
  opacity: 1 !important;
  visibility: visible !important;
}

.card--pros .card__title {
  color: inherit;
}

.card--watchouts .card__title {
  color: inherit;
}

.guide-article .faq-grid {
  margin-top: 1rem;
}

.guide-article .cards-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 768px) {
  .guide-article .cards-grid--2 {
    grid-template-columns: 1fr;
  }
}

.card--live-offline {
  padding: var(--card-padding-md, 22px);
}

.card--live-offline .live-offline-panel {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.live-offline-panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  align-items: center;
}

.card--watchouts .card__title {
  color: inherit;
}

.pros-cons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.section-muted {
  background: rgba(255, 255, 255, 0.02);
}

.trust-strip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  padding: 14px 0;
}

@media (max-width: 1024px) {
  .casino-spotlight-grid,
  .casino-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .footer-grid--full {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 768px) {
  .compare-table-desktop {
    display: none;
  }
  .compare-cards-mobile {
    display: grid;
  }
  .live-offline-panel {
    grid-template-columns: 1fr;
  }
  .pros-cons-grid {
    grid-template-columns: 1fr;
  }
  .casino-spotlight-grid,
  .casino-hub-grid {
    grid-template-columns: 1fr;
  }
}

/* Meta auteur / date */
.article-meta {
  font-size: var(--dcc-text-sm, 0.82rem);
  color: var(--dcc-muted, #aeb2d8);
  margin-bottom: var(--dcc-space-6, 1.5rem);
  padding-bottom: var(--dcc-space-4, 1rem);
  border-bottom: 1px solid var(--dcc-line, rgba(255, 255, 255, 0.12));
}

.article-meta a {
  color: var(--dcc-cyan, #00d5ff);
}

/* Fil d'Ariane */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: var(--dcc-text-sm, 0.82rem);
  color: var(--dcc-muted);
  padding: var(--dcc-space-4, 1rem) 0;
}

.breadcrumb a {
  color: var(--dcc-soft, rgba(255, 255, 255, 0.68));
}

.breadcrumb a:hover {
  color: var(--dcc-text);
}

.breadcrumb strong {
  color: var(--dcc-text);
}

.breadcrumb span {
  opacity: 0.45;
}

/* Typographie SEO — lisibilité contenu */
.guide-article p,
.section p,
.hero-copy p {
  max-width: 65ch;
}

.hero-copy h1,
.page-hero h1 {
  font-size: clamp(2.4rem, 5vw, 5rem);
}

.guide-article h2,
.section-head h2,
.page-hero h2 {
  font-size: clamp(1.8rem, 3.5vw, 3.2rem);
}

.guide-article p,
.section p {
  font-size: clamp(1rem, 1.2vw, 1.125rem);
}

/* Micro-interactions boutons */
.btn {
  transition: transform var(--dcc-duration-fast, 160ms) cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color var(--dcc-duration-fast, 160ms) ease,
    background var(--dcc-duration-fast, 160ms) ease;
}

.btn:hover:not(:disabled) {
  transform: translateY(-2px);
}

.btn:active:not(:disabled) {
  transform: scale(0.98);
}

/* Cartes casino — hover sobre */
.casino-card:hover,
.bonus-card:hover,
.compare-card-mobile:hover {
  transform: translateY(-4px);
  transition: transform var(--dcc-duration-fast, 180ms) ease, border-color var(--dcc-duration-fast, 180ms) ease;
}

/* ── Pont legacy → card system (pages non resynchronisées) ── */
.feature-card,
.score-card,
.role-card,
.support-tile,
.live-schedule-card,
.guide-hero-card,
.guide-card,
.intel-card,
.mission-card,
.method-card,
.bonus-card,
.chest-card,
.stat-card,
.partner-card,
.faq-item,
.stream-player,
.chat-panel,
.live-panel,
.form-card,
.contact-aside,
.auth-card,
.dash-card,
.contact-help,
.giveaway-panel,
.live-offline-panel {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--card-border, rgba(255, 255, 255, 0.085));
  border-radius: var(--card-radius-lg, 22px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045) 0%, rgba(255, 255, 255, 0.018) 100%), rgba(8, 12, 31, 0.72);
  box-shadow: var(--card-shadow, 0 10px 30px rgba(0, 0, 0, 0.16));
  backdrop-filter: blur(16px);
  overflow: hidden;
}

.score-card {
  align-items: center;
  text-align: center;
  padding: 22px;
}

.score-card strong {
  display: block;
  font-size: 2.5rem;
  color: var(--dcc-cyan, #00d5ff);
  line-height: 1;
}

.score-card span {
  display: block;
  margin-top: 10px;
  font-size: 0.82rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--dcc-text, #fff);
}

.role-card {
  align-items: center;
  text-align: center;
  padding: 22px;
  gap: 8px;
}

.role-card b {
  display: block;
  font-size: 1.25rem;
  text-transform: uppercase;
}

.role-card span {
  color: var(--dcc-muted, #aeb2d8);
  font-weight: 700;
}

.feature-card,
.support-tile {
  padding: 24px;
}

.feature-card h3,
.support-tile h3 {
  margin: 0 0 8px;
  text-transform: uppercase;
}

.feature-card p,
.support-tile p {
  margin: 0;
  color: var(--dcc-muted, #aeb2d8);
}

.live-schedule-card {
  padding: 22px;
}

.live-schedule-card span {
  display: inline-grid;
  place-items: center;
  min-width: 58px;
  height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 61, 242, 0.15);
  color: #fff;
  font-weight: 800;
  margin-bottom: 14px;
}

.guide-hero-card {
  padding: 26px;
  text-align: center;
}

.contact-help {
  padding: 26px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.score-method-grid .card,
.community-roles-grid .card,
.features-grid .card,
.faq-support-grid .card,
.live-schedule-grid .card {
  height: 100%;
}

/* ── Restauration layouts post-migration cards ── */
#methode > .container:first-child {
  margin-bottom: 24px;
}

#methode > .container:first-child h2 {
  margin: 10px 0;
  font-size: clamp(28px, 3.2vw, 48px);
  line-height: 1.05;
  text-transform: uppercase;
}

#methode > .container:first-child p {
  color: var(--muted);
  max-width: 62ch;
}

.section-muted > .container > .card--warning {
  width: 100%;
}

.card-notice-wrap {
  margin-top: 8px;
}

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Auth locale P1 */
.auth-tabs{display:flex;gap:8px;margin:18px 0 8px}
.auth-tab{flex:1;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04);color:var(--muted);padding:12px 14px;font-weight:800;cursor:pointer}
.auth-tab.is-active{color:#fff;border-color:rgba(124,60,255,.55);background:linear-gradient(135deg,rgba(124,60,255,.28),rgba(255,61,242,.12))}
.auth-form__links{margin:8px 0 14px;font-size:14px;font-weight:700}
.auth-form__links a{color:var(--brand-cyan);text-decoration:underline}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-weight:800;font-size:12px;text-transform:uppercase}
.auth-divider::before,.auth-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.profile-identities{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.profile-identities__item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.profile-identities__item strong{display:block}
.profile-identities__item span{color:var(--muted);font-size:13px;font-weight:700}
@media (max-width:520px){.profile-identities__item{flex-direction:column;align-items:stretch}}

/* Live multi-platform player */
.live-player-stage{position:relative;border-radius:16px;overflow:hidden;background:#060814;aspect-ratio:16/9}
.live-player-embed,.live-player-embed iframe{width:100%;height:100%;border:0;display:block;min-height:240px}
.live-also{margin:.75rem 0 0;font-size:.9rem}
.live-also a{color:var(--brand-cyan);text-decoration:underline;font-weight:700}

/* Footer partenaires — Avis chips + logos lisibles */
.site-footer .footer-partners-premium__reviews {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.5rem;
  max-width: none !important;
}
.site-footer .footer-partners-premium__reviews a.footer-review-chip {
  display: inline-flex !important;
  margin: 0 !important;
}
.site-footer a.footer-partner-logo {
  display: grid !important;
  margin: 0 !important;
  background:
    radial-gradient(circle at 35% 25%, #e4e8f4 0%, transparent 55%),
    linear-gradient(165deg, #c8cedd 0%, #b4bccf 100%) !important;
}
.site-footer .footer-partner-logo.is-geo-unavailable,
.site-footer .footer-partner-logo[aria-disabled="true"],
.site-footer .footer-partner-logo[data-geo-blocked="1"] {
  opacity: 1 !important;
  background:
    radial-gradient(circle at 35% 25%, #f3e4e8 0%, transparent 55%),
    linear-gradient(165deg, #e0c4cb 0%, #c9a8b0 100%) !important;
}
.site-footer .footer-partner-logo.is-geo-unavailable img,
.site-footer .footer-partner-logo[aria-disabled="true"] img,
.site-footer .footer-partner-logo[data-geo-blocked="1"] img {
  opacity: 1 !important;
  filter:
    drop-shadow(0 0 1px rgba(255, 255, 255, 0.95))
    drop-shadow(0 0 1px rgba(255, 255, 255, 0.7))
    drop-shadow(0 0 1.2px rgba(0, 0, 0, 0.75))
    drop-shadow(0 0 1.2px rgba(0, 0, 0, 0.55)) !important;
}

/* Cards casino GEO */
.card.is-geo-unavailable {
  opacity: 1;
}
.card.is-geo-unavailable [data-geo-status] {
  color: #ffb3c0;
  font-weight: 700;
}

/* Offline / erreurs */
.page-offline__main,
.page-error .page-offline__main {
  padding: 4rem 1rem;
  text-align: center;
}
.page-offline__logo {
  display: block;
  margin: 0 auto 2rem;
}

/* Fiches casino — bloc infos clés */
.casino-facts-block {
  margin-top: 24px;
}

/* Auteurs */
.author-card {
  display: grid;
  gap: 1rem;
  align-items: start;
}
@media (min-width: 720px) {
  .author-card {
    grid-template-columns: 120px 1fr;
    gap: 1.5rem;
  }
}

/* ========================================================================== */
/* Cards visual audit final — 09/09/2026 · g5                              */
/* Home / Bonus / Casinos — geometry, GEO badge placement, responsive polish */
/* ========================================================================== */

/* Shared card geometry ----------------------------------------------------- */
.page-home #top-casinos .card--casino,
.page-home #offres-catalogue .card--bonus,
.page-bonus .card--bonus,
.page-casinos .card--casino {
  min-width: 0;
}

.page-home #top-casinos .card__header,
.page-home #offres-catalogue .card__header,
.page-bonus .card__header,
.page-casinos .card__header,
.page-home #top-casinos .card__identity,
.page-home #offres-catalogue .card__identity,
.page-bonus .card__identity,
.page-casinos .card__identity {
  min-width: 0;
}

.page-home #top-casinos .card__identity > div:not(.card-logo),
.page-bonus .card__identity > div:not(.card-logo),
.page-casinos .card__identity > div:not(.card-logo) {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5px;
}

.page-home #top-casinos .card__name,
.page-home #offres-catalogue .card__title,
.page-bonus .card__title,
.page-casinos .card__name {
  max-width: 100%;
  overflow-wrap: anywhere;
}

.page-home #top-casinos .card-tags,
.page-home #offres-catalogue .card-tags,
.page-bonus .card-tags,
.page-casinos .card-tags {
  gap: 7px;
}

.page-home #top-casinos .card-tag,
.page-home #offres-catalogue .card-tag,
.page-bonus .card-tag,
.page-casinos .card-tag {
  max-width: 100%;
  white-space: normal;
  line-height: 1.2;
  text-align: left;
}

.page-home #top-casinos .card__bonus-detail,
.page-home #offres-catalogue .card__bonus-detail,
.page-bonus .card__bonus-detail,
.page-casinos .card__bonus-detail,
.page-bonus .card__bonus-spec {
  min-width: 0;
}

.page-home #top-casinos .card__bonus-detail .card__value,
.page-home #offres-catalogue .card__bonus-detail .card__value,
.page-bonus .card__bonus-detail .card__value,
.page-bonus .card__bonus-spec .card__value,
.page-casinos .card__bonus-detail .card__value {
  line-height: 1.35;
}

/* Equal outside dimensions for ShinyWilds; only the artwork itself is zoomed. */
.card-logo.card-logo--shinywilds {
  width: 56px;
  height: 56px;
  padding: 2px;
}
.card-logo.card-logo--lg.card-logo--shinywilds {
  width: 72px;
  height: 72px;
}
.page-bonus .cards-grid--feature .card-logo.card-logo--lg.card-logo--shinywilds {
  width: 68px;
  height: 68px;
}
.card-logo.card-logo--shinywilds img {
  transform: scale(1.68);
}

/* GEO badges: never inside or over the logo. */
.card .geo-badge {
  max-width: 100%;
  width: fit-content;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}
.card__identity > div:not(.card-logo) > .geo-badge {
  margin-top: 1px;
}
.card--bonus-compact .card__header > .geo-badge {
  grid-column: 1 / -1;
  justify-self: start;
  margin-top: 2px;
}

/* HOME — Casino selection -------------------------------------------------- */
#top-casinos .cards-grid > .card--casino {
  height: 100%;
  align-self: stretch;
}
#top-casinos .card--casino:not(.card--casino-featured) {
  display: flex;
  flex-direction: column;
}
#top-casinos .card--casino:not(.card--casino-featured) .card__body {
  flex: 1 1 auto;
}
#top-casinos .card--casino:not(.card--casino-featured) .card__footer {
  margin-top: auto;
}
#top-casinos .card--casino:not(.card--casino-featured) .card-tags {
  min-height: 34px;
  align-content: flex-start;
}
#top-casinos .card--casino-featured .card__actions {
  flex-wrap: nowrap;
  min-width: 0;
}
#top-casinos .card--casino-featured .card__actions .btn {
  min-width: 0;
}

/* HOME — Bonus catalogue -------------------------------------------------- */
#offres-catalogue .cards-grid--4 > .card--bonus {
  height: 100%;
  align-self: stretch;
}
#offres-catalogue .card--bonus-compact .card__bonus-details > .card__bonus-detail:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
#offres-catalogue .card--bonus-compact .card__actions {
  margin-top: auto;
}
#offres-catalogue .card--bonus-compact .card__bonus-inline {
  min-height: 58px;
  align-content: center;
}

/* BONUS — Featured top 3 -------------------------------------------------- */
/* Keep DOM order = visual order. The old podium reordered cards visually,    */
/* which was inconsistent for keyboard users and created uneven vertical tops. */
.page-bonus .cards-grid--feature {
  align-items: stretch !important;
}
.page-bonus .cards-grid--feature > .card--bonus-featured,
.page-bonus .cards-grid--feature > .card--bonus-featured:nth-child(1),
.page-bonus .cards-grid--feature > .card--bonus-featured:nth-child(2),
.page-bonus .cards-grid--feature > .card--bonus-featured:nth-child(3) {
  order: initial !important;
  transform: none !important;
  height: 100%;
  align-self: stretch;
}
.page-bonus .cards-grid--feature > .card--bonus-featured:hover {
  transform: translateY(-4px) !important;
}
.page-bonus .cards-grid--feature > .card--bonus-featured .card__meta {
  flex: 1 1 auto;
}
.page-bonus .cards-grid--feature > .card--bonus-featured .card__footer {
  margin-top: auto;
}
.page-bonus .cards-grid--feature > .card--bonus-featured .card__bonus-specs > .card__bonus-spec:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* BONUS — Full catalogue -------------------------------------------------- */
/* Restore wagering + min deposit in a dedicated, predictable grid area. */
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact {
  width: 100%;
  align-self: stretch;
  grid-template-columns: minmax(270px, 1fr) minmax(340px, 1.45fr) minmax(160px, .52fr) !important;
  grid-template-areas:
    "head details actions"
    "tags details actions"
    "ticket details actions" !important;
  align-items: stretch;
  row-gap: 9px;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta {
  grid-area: ticket;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255, 255, 255, .07);
  border-radius: 12px;
  background: rgba(0, 0, 0, .18);
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta > div {
  min-width: 0;
  display: grid;
  gap: 2px;
  align-content: start;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta .card__label {
  margin-bottom: 0;
  font-size: .62rem;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta .card__value {
  font-size: .82rem;
  line-height: 1.35;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__bonus-details > .card__bonus-detail:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__footer,
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__actions {
  height: 100%;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__actions {
  align-content: center;
}

/* CASINOS — hub grid ------------------------------------------------------- */
.page-casinos .cards-grid[data-casinos-grid] {
  align-items: stretch;
}
.page-casinos .cards-grid[data-casinos-grid] > article.card--casino {
  width: 100%;
  height: 100%;
  align-self: stretch;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino:not(.card--casino-featured) {
  display: flex;
  flex-direction: column;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino:not(.card--casino-featured) .card__body {
  flex: 1 1 auto;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino .card__footer {
  margin-top: auto;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino .card__bonus-details > .card__bonus-detail:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

/* Featured hub card: one clear full-width dossier, then regular 3-column cards. */
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, .6fr);
  grid-template-areas:
    "ribbon ribbon"
    "header footer"
    "body footer";
  gap: 0;
  height: auto;
  padding-bottom: 0;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__ribbon {
  grid-area: ribbon;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__header {
  grid-area: header;
  padding-top: 22px;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__body {
  grid-area: body;
  padding-bottom: 24px;
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__footer {
  grid-area: footer;
  margin: 0;
  padding: 24px;
  align-self: stretch;
  align-content: center;
  border-top: 0;
  border-left: 1px solid rgba(255,255,255,.1);
  background: linear-gradient(180deg, rgba(0,213,255,.08), rgba(124,60,255,.07));
}
.page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__actions {
  margin-top: auto;
}

/* Responsive -------------------------------------------------------------- */
@media (max-width: 1100px) {
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact {
    grid-template-columns: minmax(260px, 1fr) minmax(180px, .55fr) !important;
    grid-template-areas:
      "head actions"
      "tags actions"
      "ticket actions"
      "details details" !important;
  }
}

@media (max-width: 900px) {
  .page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured {
    grid-template-columns: 1fr;
    grid-template-areas:
      "ribbon"
      "header"
      "body"
      "footer";
  }
  .page-casinos .cards-grid[data-casinos-grid] > .card--casino-featured .card__footer {
    border-left: 0;
    border-top: 1px solid rgba(255,255,255,.1);
  }
}

@media (max-width: 720px) {
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "head"
      "tags"
      "ticket"
      "details"
      "actions" !important;
    padding: 14px;
  }
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta {
    grid-template-columns: 1fr 1fr;
  }
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__footer,
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__actions {
    height: auto;
  }
  .page-casinos .card--casino .card__actions,
  #top-casinos .card--casino .card__actions,
  #offres-catalogue .card--bonus .card__actions,
  .page-bonus .card--bonus .card__actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .page-casinos .card--casino .card__actions .btn,
  #top-casinos .card--casino .card__actions .btn,
  #offres-catalogue .card--bonus .card__actions .btn,
  .page-bonus .card--bonus .card__actions .btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 520px) {
  .page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__ticket-meta {
    grid-template-columns: 1fr;
  }
  .page-home #top-casinos .card__header,
  .page-casinos .card--casino .card__header {
    gap: 10px;
  }
  .page-home #top-casinos .card__status,
  .page-casinos .card--casino .card__status {
    min-width: 0;
    padding: 7px 8px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   BONUS VERIFIED DATA G6 — package hierarchy + compact verification badge
   2026-09-09
   ═══════════════════════════════════════════════════════════════════════════ */
.card__package-chip {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px 9px;
  margin: 9px 0 0;
  padding: 9px 11px;
  border: 1px solid rgba(124, 60, 255, .28);
  border-radius: 11px;
  background: linear-gradient(90deg, rgba(124, 60, 255, .13), rgba(0, 213, 255, .07));
}
.card__package-chip > span {
  color: var(--dcc-muted, #aeb2d8);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .055em;
  text-transform: uppercase;
}
.card__package-chip > strong {
  color: var(--dcc-text, #fff);
  font-size: .83rem;
  line-height: 1.35;
}
.card__package-inline {
  flex: 1 0 100%;
  display: block;
  margin-top: 2px;
  padding-top: 7px;
  border-top: 1px solid rgba(255,255,255,.09);
  color: #d7d9f7;
  font-size: .73rem;
  font-weight: 700;
  line-height: 1.35;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__identity {
  grid-template-areas:
    "logo title"
    "logo verified";
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__identity > .card-logo {
  grid-area: logo;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__identity > .card__title {
  grid-area: title;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__verified-compact {
  grid-area: verified;
  min-width: 0;
}
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__verified-compact .card-badge {
  max-width: 100%;
  white-space: normal;
  line-height: 1.25;
}
.page-casinos .card--casino .card__package-chip,
#top-casinos .card--casino .card__package-chip {
  margin: 0 0 11px;
}
.bonus-package-table-wrap {
  width: 100%;
  overflow-x: auto;
  margin: 16px 0;
  border-radius: 14px;
}
.bonus-package-table code {
  white-space: nowrap;
}
@media (max-width: 720px) {
  .card__package-chip {
    display: grid;
    gap: 3px;
  }
  .bonus-package-table {
    min-width: 620px;
  }
}

/* g9 — cookie choices have equivalent prominence and an explicit customisation panel. */
.cookie-consent-actions { flex-wrap: wrap; }
.cookie-consent-settings {
  width: 100%;
  margin-top: .75rem;
  padding: .8rem 1rem;
  border: 1px solid var(--border, rgba(255,255,255,.12));
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}
.cookie-consent-settings[hidden] { display: none !important; }
.cookie-consent-settings label { display: flex; gap: .65rem; align-items: flex-start; color: var(--text, #fff); }
.cookie-consent-settings small { display: block; color: var(--text-muted); margin-top: .35rem; }
.cookie-consent-settings .btn { margin-top: .75rem; }
.footer-cookie-manage { border: 0; padding: 0; background: none; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; opacity: .85; }
.footer-cookie-manage:hover { opacity: 1; }

/* g9 — evidence hierarchy and lighter casino cards */
.card__evidence { margin-top: .35rem; display: flex; flex-wrap: wrap; gap: .35rem; }
.card-badge--evidence { font-size: .72rem; }
.rating-score__evidence { display: block; margin-top: .25rem; color: var(--text-muted); font-size: .72rem; text-align: right; }
.card__conditions { margin-top: .75rem; border-top: 1px solid var(--border, rgba(255,255,255,.1)); padding-top: .65rem; }
.card__conditions > summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--text-muted); font-weight: 700; font-size: .8rem; }
.card__conditions > summary::-webkit-details-marker { display: none; }
.card__conditions > summary::after { content: '+'; font-size: 1.05rem; line-height: 1; }
.card__conditions[open] > summary::after { content: '–'; }
.card__conditions .card__bonus-details { margin-top: .65rem; }
.compare-evidence { display: grid; gap: .3rem; min-width: 165px; }
.compare-evidence small { color: var(--text-muted); }
@media (max-width: 640px) {
  .rating-score__evidence { text-align: left; }
  .card__conditions > summary { min-height: 38px; }
}

/* g9 — wagering calculator */
.wager-calc{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:18px 0 12px}.wager-calc label{display:grid;gap:7px;font-weight:700}.wager-calc input,.wager-calc select{width:100%;min-height:44px;border:1px solid var(--border,rgba(255,255,255,.14));border-radius:12px;background:var(--surface,rgba(255,255,255,.04));color:inherit;padding:9px 11px}.wager-calc__result{display:grid;gap:5px;padding:16px 18px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--border,rgba(255,255,255,.12))}.wager-calc__result strong{font-size:1.15rem}.wager-calc__result small{opacity:.76}.wager-calc__note{margin-top:10px}@media(max-width:900px){.wager-calc{grid-template-columns:repeat(2,minmax(0,1fr))}.wager-calc .btn{grid-column:1/-1}}@media(max-width:520px){.wager-calc{grid-template-columns:1fr}}


/* === G10 BONUS LAYOUT — 2026-09-09 === */
/* Home → Bonus → Offres du catalogue. */
#offres-catalogue .cards-grid--4 {
  align-items: stretch;
  gap: 16px;
}
@media (min-width: 1181px) {
  #offres-catalogue .cards-grid--4 {
    grid-template-columns: minmax(330px, 1.18fr) repeat(3, minmax(250px, 1fr));
  }
}

/* The runtime GEO badge gets a full-width row on compact cards. */
#offres-catalogue .card--bonus-compact .card__header > .geo-badge,
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__header > .geo-badge {
  width: 100%;
  max-width: 100%;
  justify-self: stretch;
  align-self: stretch;
  border-radius: 12px;
  padding: .45rem .55rem;
  line-height: 1.25;
  overflow-wrap: normal;
  word-break: normal;
}

#offres-catalogue .card--bonus-compact .card__verified-compact,
.page-bonus .cards-grid[data-bonus-catalog] > .card--bonus-compact .card__verified-compact {
  width: 100%;
  min-width: 0;
}

#offres-catalogue .card--bonus-compact .card__verified-compact .card-badge,
#offres-catalogue .card--bonus-featured .card-badge,
.page-bonus .card--bonus .card-badge {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

/* Compact home cards stay vertical and readable even with long translated labels. */
#offres-catalogue .card--bonus-compact .card__identity { min-width: 0; width: 100%; }
#offres-catalogue .card--bonus-compact .card__title { min-width: 0; overflow-wrap: anywhere; }
#offres-catalogue .card--bonus-compact .card__bonus-inline { min-height: 58px; }
#offres-catalogue .card--bonus-compact .card__bonus-details { align-content: start; }
#offres-catalogue .card--bonus-compact .card__footer { margin-top: auto; }

@media (max-width: 1179px) {
  #offres-catalogue .cards-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #offres-catalogue .card--bonus-featured { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  #offres-catalogue .cards-grid--4 { grid-template-columns: 1fr; }
  #offres-catalogue .card--bonus-featured { grid-column: auto; }
  #offres-catalogue .card--bonus-compact .card__bonus-details { grid-template-columns: 1fr; }
}


/* === Responsive layout normalization — 2026-09-14 ===
   Shared invariants for all public pages; component-specific behavior stays in
   navbar.css / components.css / page styles. */

/* Grid/flex children must be allowed to shrink below min-content width. */
:where(
  .hero-grid,
  .live-grid,
  .live-room-grid,
  .split-grid,
  .rewards-band,
  .discord-panel,
  .contact-grid,
  .auth-grid,
  .guide-layout,
  .dashboard-shell,
  .section-head,
  .dash-top,
  .search-row,
  .code-box,
  .card__header,
  .card__identity,
  .card__row,
  .card__actions,
  .compare-toolbar,
  .compare-geo-panel__head,
  [class$="-grid"],
  [class*="-grid "],
  [class$="__grid"],
  [class*="__grid "]
) > * {
  min-inline-size: 0;
}

.hero-copy,
.hero-media,
.guide-article,
.guide-toc,
.auth-card,
.form-card,
.contact-aside,
.card,
.compare-geo-panel {
  min-inline-size: 0;
  max-inline-size: 100%;
}

picture,
video,
canvas,
iframe,
svg {
  max-inline-size: 100%;
}

iframe,
video,
canvas {
  inline-size: 100%;
}

/* Long translated labels, URLs and operator names must wrap instead of widening cards. */
:where(
  .hero-copy,
  .section-head,
  .card,
  .guide-article,
  .contact-aside,
  .auth-card,
  .dcc-modal,
  .form-message
) :where(h1,h2,h3,h4,p,li,dd,dt,label,a,strong,span) {
  overflow-wrap: break-word;
}

.guide-article a[href^="http"],
.guide-article code,
.card code,
.form-message {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Compact information tables inside editorial/casino pages do not inherit the
   900px comparison-table minimum. Wide package tables keep their own wrapper. */
.guide-article > .compare-table--compact,
.guide-article section > .compare-table--compact:not(.bonus-package-table) {
  min-width: 0;
  max-width: 100%;
  table-layout: fixed;
}

.guide-article > .compare-table--compact th,
.guide-article > .compare-table--compact td,
.guide-article section > .compare-table--compact:not(.bonus-package-table) th,
.guide-article section > .compare-table--compact:not(.bonus-package-table) td {
  overflow-wrap: anywhere;
}

/* Fixed overlays remain operable on small/short screens. */
.dcc-modal-backdrop {
  padding:
    max(var(--dcc-space-4), env(safe-area-inset-top))
    max(var(--dcc-space-4), env(safe-area-inset-right))
    max(var(--dcc-space-4), env(safe-area-inset-bottom))
    max(var(--dcc-space-4), env(safe-area-inset-left));
}

@media (max-width: 900px) {
  .section { padding-block: clamp(34px, 8vw, 48px); }
  .section-head { gap: 14px; }

  .filter-chip,
  .compare-filter-chip,
  .compare-mobile-card summary,
  .card__conditions > summary,
  .card--faq .card__question,
  .social-row a,
  .footer-cookie-manage {
    min-height: var(--dcc-control-min, 44px);
  }

  .filter-wrap {
    scroll-padding-inline: var(--dcc-page-gutter, 16px);
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .hero-actions,
  .card__actions,
  .live-main-actions,
  .partner-cta-row {
    max-width: 100%;
  }
}

@media (max-width: 430px) {
  .btn,
  .dcc-btn {
    min-height: var(--dcc-control-min, 44px);
  }

  .btn-sm,
  .dcc-btn-sm,
  .btn-small {
    min-height: 40px;
  }

  .card__header,
  .card__identity,
  .compare-mobile-card__head {
    min-width: 0;
  }

  .cookie-consent-actions,
  .cookie-consent-actions .btn {
    width: 100%;
  }
}

/* Animated partner rail: contain transformed children so the animation never
   contributes to page-level horizontal scroll. */
.footer-partners-marquee {
  max-inline-size: 100%;
  overflow: hidden;
  contain: paint;
}
@supports (overflow: clip) {
  .footer-partners-marquee { overflow: clip; }
}

@media (max-width: 900px) {
  .social-chip {
    width: var(--dcc-control-min, 44px);
    height: var(--dcc-control-min, 44px);
  }
}

/* Responsive audit 2026-09-14 — translated editorial tables.
   The generic comparison-table mobile transform targets the real comparator
   and turns cells into a 110px + 1fr grid. Compact article tables use TH + TD
   rows instead, so keep their native two-column table layout and allow both
   columns to shrink/wrap on long translations. */
@media (max-width: 900px) {
  .guide-article > .compare-table--compact,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) {
    display: table;
    width: 100%;
    min-width: 0;
    table-layout: fixed;
  }

  .guide-article > .compare-table--compact > tbody,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) > tbody {
    display: table-row-group;
    width: auto;
  }

  .guide-article > .compare-table--compact > tbody > tr,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) > tbody > tr {
    display: table-row;
    width: auto;
    padding: 0;
  }

  .guide-article > .compare-table--compact th,
  .guide-article > .compare-table--compact td,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) th,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) td {
    display: table-cell;
    width: 50%;
    min-width: 0;
    padding: 12px 10px;
    vertical-align: top;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .guide-article > .compare-table--compact td::before,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) td::before {
    content: none;
  }
}

/* Giveaway wheel glow must never participate in the page scroll width on the
   narrowest supported viewport. Keep the visual aura, with a smaller bleed. */
@media (max-width: 430px) {
  .dcc-wheel-app .wheelAura {
    inset: -3%;
  }
}

/* Compact evidence tables: grid on narrow screens prevents table min-content
   sizing from widening the article when translated labels are very long. */
@media (max-width: 430px) {
  .guide-article > .compare-table--compact:not(.bonus-package-table),
  .guide-article section > .compare-table--compact:not(.bonus-package-table) {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
  }

  .guide-article > .compare-table--compact:not(.bonus-package-table) > tbody,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) > tbody {
    display: grid;
    inline-size: 100%;
  }

  .guide-article > .compare-table--compact:not(.bonus-package-table) > tbody > tr,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) > tbody > tr {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    inline-size: 100%;
  }

  .guide-article > .compare-table--compact:not(.bonus-package-table) th,
  .guide-article > .compare-table--compact:not(.bonus-package-table) td,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) th,
  .guide-article section > .compare-table--compact:not(.bonus-package-table) td {
    display: block;
    inline-size: auto;
    width: auto;
    max-width: none;
    min-inline-size: 0;
  }
}

/* Catalogue 2026-09-15 — long translated/new review TOC labels must not
   enlarge the single-column guide grid below the desktop breakpoint. A bare
   `1fr` keeps an automatic min-content floor; minmax(0,1fr) makes the track
   genuinely viewport-bound while preserving the desktop two-column layout. */
@media (max-width: 980px) {
  .guide-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .guide-layout > .guide-toc,
  .guide-layout > .guide-article {
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
  }
}


/* Homepage hero map — Verde / Celsius / CosmoBet */
.hero-casinos-map__hit--verde-casino {
  left: 7.2%;
  top: 12%;
  width: 29%;
  height: 70.5%;
}

.hero-casinos-map__hit--celsius {
  left: 35.1%;
  top: 2.2%;
  width: 31.2%;
  height: 80.2%;
}

.hero-casinos-map__hit--cosmobet {
  left: 67.2%;
  top: 12.1%;
  width: 27.7%;
  height: 70.2%;
}

@media (max-width: 640px) {
  .hero-casinos-map__hit--verde-casino { left: 6.8%; width: 29.5%; }
  .hero-casinos-map__hit--celsius { left: 34.8%; width: 31.7%; }
  .hero-casinos-map__hit--cosmobet { left: 66.8%; width: 28.6%; }
}

/* 2026-09-16 responsive hardening: off-canvas navigation must never widen the root viewport. */
html { overflow-x: clip; }
