/* Page Jeux only. Existing cards, artwork crops and controls are preserved. */
body.page-games main.container{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  padding:10px clamp(12px,3.2vw,36px) 24px!important;
  background:
    radial-gradient(ellipse at 4% 24%,rgba(219,205,246,.75) 0 12%,transparent 12.2%),
    radial-gradient(ellipse at 104% 41%,rgba(213,197,243,.65) 0 15%,transparent 15.2%),
    radial-gradient(ellipse at -2% 76%,rgba(218,203,246,.63) 0 12%,transparent 12.2%),
    radial-gradient(ellipse at 97% 94%,rgba(222,210,248,.6) 0 14%,transparent 14.2%),
    radial-gradient(ellipse at 50% 0%,rgba(222,209,249,.65),transparent 42%),
    linear-gradient(180deg,#9d79d7 0%,#a180db 38%,#a788df 72%,#ad91e3 100%)!important;
}
body.page-games main.container::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 7% 8%,#fff7 0 4px,transparent 5px),
    radial-gradient(circle at 92% 15%,#fff7 0 5px,transparent 6px),
    radial-gradient(circle at 3% 47%,#fff6 0 4px,transparent 5px),
    radial-gradient(circle at 97% 69%,#fff6 0 6px,transparent 7px),
    radial-gradient(circle at 6% 90%,#fff7 0 4px,transparent 5px);
}
body.page-games #tickets,
body.page-games .special-games-section{
  position:relative;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}
body.page-games .games-title-image{
  display:block;
  width:min(78%,690px)!important;
  height:auto;
  margin:0 auto 16px!important;
}
body.page-games .games-panel{
  position:relative;
  background:linear-gradient(180deg,#cbb9ef,#b9a1e5);
  border-radius:28px;
  padding:0 clamp(12px,1.8vw,22px) 14px;
  /* Inset border preserves the exact geometry of the validated miniatures. */
  box-shadow:inset 0 0 0 .8px rgba(235,226,250,.62),0 6px 18px rgba(78,40,110,.055);
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  margin:0 0 24px;
}
body.page-games .games-panel-bonus{margin-bottom:0}
body.page-games .ticket-section-title{
  position:relative;
  display:flex!important;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  margin:0 0 6px!important;
  padding:0!important;
  transform:translateY(-10px);
  background:none!important;
  border:0!important;
}
body.page-games .ticket-section-title::before,
body.page-games .ticket-section-title::after,
body.page-games .ticket-section-title-main::after{display:none!important;content:none!important}
body.page-games .ticket-section-icon{display:none!important}
body.page-games .ticket-section-title-main{
  display:block;
  flex:0 1 49%;
  min-width:0;
  margin:0;
}
body.page-games .ticket-section-title h2{margin:0!important;line-height:0!important}
body.page-games .games-ui-img{
  display:block;
  width:100%;
  max-width:460px;
  height:auto;
}
body.page-games .games-ui-badge{
  display:block;
  flex:0 1 auto;
  width:auto;
  max-width:min(44%,390px);
  height:clamp(48px,4vw,54px);
  min-width:0;
  object-fit:contain;
  object-position:right center;
}
/* All internal miniature geometry remains in the original stylesheets. */
body.page-games #tickets .games-daily-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:clamp(6px,1.2vw,14px)!important;
}
body.page-games #tickets .games-secrets-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:clamp(8px,1.5vw,18px)!important;
}
body.page-games #tickets .games-secrets-grid>.ticket-card{grid-column:auto!important}
body.page-games .special-game-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-width:none;
  gap:clamp(12px,2vw,22px);
}
@media(max-width:620px){
  body.page-games main.container{padding:12px 12px 24px!important}
  body.page-games .games-title-image{width:94%!important;margin-bottom:18px!important}
  body.page-games .games-panel{border-radius:22px;padding:0 12px 14px;margin-bottom:28px}
  body.page-games .ticket-section-title{flex-wrap:wrap;gap:5px;transform:translateY(-8px);margin-bottom:4px!important}
  body.page-games .ticket-section-title-main{flex-basis:100%}
  body.page-games .games-ui-img{width:100%;max-width:330px}
  body.page-games .games-ui-badge{
    flex:0 1 auto;
    width:auto;
    height:clamp(39px,10vw,44px);
    max-width:100%;
    margin-left:auto;
  }
  body.page-games #tickets .games-daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  body.page-games #tickets .games-secrets-grid{grid-template-columns:1fr!important;gap:14px!important}
  body.page-games .special-game-grid{grid-template-columns:1fr;gap:14px}
  body.page-games .games-panel-bonus{margin-bottom:0}
}

/* Page Jeux finish: preserve artwork and card widths while softening the UI. */
body.page-games #tickets .ticket-card.is-locked .games-ticket-card-actions > .button{
  min-height:42px;
  padding-block:10px;
}

body.page-games .special-game-availability{
  min-height:34px;
  gap:9px;
  margin:0 0 8px;
  padding:5px 9px;
  border:1px solid rgba(104,79,148,.2);
  border-radius:13px;
  background:linear-gradient(180deg,#f8f4ff,#eee8f8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85);
  color:#594879;
  font-size:11px;
  font-weight:800;
}

body.page-games .special-game-availability::before{
  width:18px;
  height:18px;
  margin-right:-4px;
  border-radius:6px;
  background:#fff;
  color:#7654a5;
  font-size:11px;
}

body.page-games .special-game-availability strong{
  color:#563d82;
  font-size:16px;
  font-variant-numeric:tabular-nums;
}

body.page-games .special-game-availability.is-empty{
  border-color:rgba(111,91,143,.17);
  background:linear-gradient(180deg,#f7f3fc,#eee9f6);
  color:#71627f;
}

body.page-games .special-game-availability.is-empty::before{
  background:#e6def0;
  color:#786797;
}

body.page-games .special-game-availability.is-empty strong{color:#6c5b80}

body.page-games .special-game-availability.is-available{
  border-color:rgba(65,142,100,.23);
  background:linear-gradient(180deg,#f3fbf5,#e7f4eb);
  color:#467256;
}

body.page-games .special-game-availability.is-available::before{
  content:"✓";
  background:#d8efe0;
  color:#2d8756;
}

body.page-games .special-game-availability.is-available strong{color:#34744f}

@media(min-width:900px) and (orientation:landscape){
  body.page-games main.container{padding-bottom:28px!important}
  body.page-games .games-title-image{margin-bottom:14px!important}
  body.page-games .games-ui-badge{
    height:clamp(52px,4vw,56px);
    max-width:min(44%,390px);
  }
  body.page-games #tickets .ticket-card.is-locked .games-ticket-card-actions > .button{
    min-height:35px;
    padding-block:8px;
  }
}

@media(min-width:621px) and (max-width:899px) and (orientation:portrait){
  body.page-games main.container{padding-bottom:26px!important}
  body.page-games .games-title-image{margin-bottom:14px!important}
  body.page-games .games-ui-badge{
    height:48px;
    max-width:44%;
  }
  body.page-games #tickets .ticket-card.is-locked .games-ticket-card-actions > .button{
    min-height:41px;
    padding-block:9px;
  }
  body.page-games .special-game-availability{min-height:32px}
}

@media(max-width:620px){
  body.page-games #tickets .ticket-card.is-locked .games-ticket-card-actions > .button{
    min-height:41px;
    padding-block:9px;
  }
  body.page-games .special-game-availability{
    min-height:30px;
    margin-bottom:7px;
    padding:4px 8px;
  }
}

@media(max-width:920px) and (max-height:560px) and (orientation:landscape){
  body.page-games main.container{padding-bottom:20px!important}
  body.page-games .games-title-image{margin-bottom:12px!important}
  body.page-games .games-ui-badge{height:46px}
  body.page-games #tickets .ticket-card.is-locked .games-ticket-card-actions > .button{
    min-height:39px;
    padding-block:8px;
  }
}

@media(min-width:621px) and (max-width:768px) and (orientation:portrait){
  body.page-games #tickets .games-daily-grid{
    width:calc(100% + 3px);
    margin-inline:-1.5px;
    gap:6.3px!important;
  }
}