/* Immersize Game Template Hero 58B — polished by 59A */
:root{
  --ims58-white:#f6f8ff;
  --ims58-muted:rgba(235,241,255,.82);
  --ims58-muted-soft:rgba(235,241,255,.68);
  --ims58-blue:#2f7cff;
  --ims58-blue-soft:#8fb6ff;
  --ims58-pink:#e94794;
  --ims58-stroke:rgba(255,255,255,.14);
  --ims58-stroke-strong:rgba(255,255,255,.22);
  --ims58-card-bg:rgba(5,10,18,.42);
  --ims58-pill-bg:rgba(7,11,18,.30);
}

body.ims58-game-page{
  background:#000 !important;
  overflow-x:hidden !important;
}

body.ims58-game-page .breadcumb-wrapper.th-breadcumb,
body.ims58-game-page #breadcumbwrap{
  display:none !important;
}

body.ims58-game-page .page--content{
  background:#000 !important;
}

body.ims58-game-page .ims58-hero,
body.ims58-game-page .ims58-hero *{
  box-sizing:border-box !important;
}

body.ims58-game-page .ims58-hero{
  position:relative !important;
  min-height:calc(100vh - 1px) !important;
  overflow:hidden !important;
  isolation:isolate !important;
  background:#000 !important;
  color:var(--ims58-white) !important;
  border-bottom:1px solid rgba(255,255,255,.05) !important;
}

body.ims58-game-page .ims58-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-bg img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:.98 !important;
  filter:saturate(1.02) contrast(1.05) brightness(.84) !important;
}

body.ims58-game-page .ims58-bg::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  background:
    linear-gradient(90deg, #000 0%, rgba(0,0,0,.985) 17%, rgba(0,0,0,.82) 33%, rgba(0,0,0,.44) 51%, rgba(0,0,0,.14) 70%, rgba(0,0,0,.22) 100%),
    linear-gradient(180deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.08) 28%, rgba(0,0,0,.14) 67%, #000 100%),
    radial-gradient(circle at 16% 24%, rgba(34,122,255,.11), transparent 34%),
    radial-gradient(circle at 32% 64%, rgba(233,71,148,.06), transparent 22%) !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-shell{
  position:relative !important;
  z-index:4 !important;
  width:min(calc(100% - 28px), 1620px) !important;
  margin-inline:auto !important;
}

body.ims58-game-page .ims58-content{
  min-height:calc(100vh - 1px) !important;
  display:flex !important;
  align-items:center !important;
  padding:96px 0 82px !important;
}

body.ims58-game-page .ims58-copy{
  width:min(100%, 760px) !important;
  max-width:760px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:18px !important;
  padding-left:18px !important;
}

body.ims58-game-page .ims58-kicker{
  margin:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  color:var(--ims58-blue) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.80rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-kicker::before{
  content:"›" !important;
  color:var(--ims58-blue) !important;
  font-size:1.35rem !important;
  line-height:.5 !important;
}

body.ims58-game-page .ims58-title{
  margin:0 !important;
  max-width:700px !important;
  color:var(--ims58-white) !important;
  font-family:Tomorrow,Goldman,Arial,sans-serif !important;
  font-size:clamp(4.25rem, 7.2vw, 7.15rem) !important;
  line-height:.90 !important;
  letter-spacing:-.065em !important;
  font-weight:360 !important;
  text-transform:uppercase !important;
  text-shadow:0 0 22px rgba(255,255,255,.06) !important;
  white-space:nowrap !important;
}

body.ims58-game-page .ims58-subtitle{
  margin:0 !important;
  max-width:620px !important;
  color:rgba(255,255,255,.94) !important;
  font-family:Tomorrow,Goldman,Arial,sans-serif !important;
  font-size:clamp(1.55rem, 2.55vw, 3rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.040em !important;
  font-weight:380 !important;
}

body.ims58-game-page .ims58-accent{
  width:78px !important;
  height:4px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,var(--ims58-blue),#756dff 55%,var(--ims58-pink)) !important;
}

body.ims58-game-page .ims58-summary{
  margin:0 !important;
  max-width:615px !important;
  color:var(--ims58-muted) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:1.07rem !important;
  line-height:1.72 !important;
  font-weight:520 !important;
}

body.ims58-game-page .ims58-actions{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:16px !important;
  margin-top:6px !important;
}

body.ims58-game-page .ims58-btn{
  min-height:58px !important;
  padding:0 28px !important;
  border-radius:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  text-decoration:none !important;
  color:#fff !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.93rem !important;
  line-height:1 !important;
  font-weight:760 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
  border:1px solid rgba(255,255,255,.26) !important;
  background:rgba(0,0,0,.18) !important;
  backdrop-filter:blur(8px) !important;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease !important;
}

body.ims58-game-page .ims58-btn:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(255,255,255,.42) !important;
}

body.ims58-game-page .ims58-btn-primary{
  border-color:rgba(233,71,148,.72) !important;
  background:linear-gradient(135deg,rgba(37,95,255,.96),rgba(107,84,255,.88) 50%,rgba(233,71,148,.95)) !important;
  box-shadow:0 0 0 1px rgba(47,124,255,.38),0 14px 34px rgba(41,93,255,.18) !important;
}

body.ims58-game-page .ims58-btn-icon{
  display:inline-flex !important;
  width:20px !important;
  height:20px !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 20px !important;
}

body.ims58-game-page .ims58-btn-icon svg,
body.ims58-game-page .ims58-stat-icon svg,
body.ims58-game-page .ims58-pill-icon svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body.ims58-game-page .ims58-stats{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  margin-top:16px !important;
  max-width:820px !important;
}

body.ims58-game-page .ims58-stat{
  min-height:86px !important;
  padding:15px 16px !important;
  border-radius:14px !important;
  border:1px solid var(--ims58-stroke) !important;
  background:var(--ims58-card-bg) !important;
  backdrop-filter:blur(10px) !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02) !important;
}

body.ims58-game-page .ims58-stat-icon{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 34px !important;
  color:var(--ims58-blue) !important;
}

body.ims58-game-page .ims58-stat-copy{
  min-width:0 !important;
}

body.ims58-game-page .ims58-stat small{
  display:block !important;
  margin:0 0 6px !important;
  color:var(--ims58-blue-soft) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.70rem !important;
  font-weight:800 !important;
  line-height:1 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-stat strong{
  display:block !important;
  color:#fff !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:1rem !important;
  line-height:1.28 !important;
  font-weight:640 !important;
}

body.ims58-game-page .ims58-pills{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:12px !important;
  margin-top:10px !important;
  max-width:820px !important;
}

body.ims58-game-page .ims58-pill{
  min-height:38px !important;
  padding:0 15px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.15) !important;
  background:var(--ims58-pill-bg) !important;
  color:rgba(255,255,255,.88) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:.79rem !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:.03em !important;
  backdrop-filter:blur(8px) !important;
}

body.ims58-game-page .ims58-pill-icon{
  width:16px !important;
  height:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:rgba(255,255,255,.82) !important;
  flex:0 0 16px !important;
}

body.ims58-game-page .ims58-rest{
  background:#000 !important;
  position:relative !important;
  z-index:1 !important;
  padding-top:clamp(70px, 7vw, 118px) !important;
  clear:both !important;
  overflow:hidden !important;
}

body.ims58-game-page .ims58-rest > :first-child{
  margin-top:0 !important;
  transform:none !important;
  top:auto !important;
}

@media(max-width:1200px){
  body.ims58-game-page .ims58-title{
    white-space:normal !important;
    max-width:620px !important;
  }
}

@media(max-width:979px){
  body.ims58-game-page .ims58-bg img{
    opacity:.44 !important;
    object-position:center center !important;
  }

  body.ims58-game-page .ims58-bg::after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.82),rgba(0,0,0,.56) 36%,#000 100%),
      linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.58)) !important;
  }

  body.ims58-game-page .ims58-content{
    padding:104px 0 76px !important;
    align-items:flex-end !important;
  }

  body.ims58-game-page .ims58-copy{
    width:100% !important;
    max-width:100% !important;
    padding-left:0 !important;
  }

  body.ims58-game-page .ims58-title{
    font-size:clamp(3.2rem, 13vw, 5rem) !important;
    white-space:normal !important;
  }

  body.ims58-game-page .ims58-subtitle{
    font-size:clamp(1.32rem, 6.7vw, 2rem) !important;
  }

  body.ims58-game-page .ims58-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    max-width:100% !important;
  }
}

@media(max-width:640px){
  body.ims58-game-page .ims58-shell{
    width:min(calc(100% - 26px), 1620px) !important;
  }

  body.ims58-game-page .ims58-content{
    min-height:auto !important;
    padding:100px 0 58px !important;
  }

  body.ims58-game-page .ims58-title{
    font-size:clamp(2.75rem, 16vw, 4.4rem) !important;
  }

  body.ims58-game-page .ims58-subtitle{
    font-size:clamp(1.18rem, 7vw, 1.85rem) !important;
  }

  body.ims58-game-page .ims58-summary{
    font-size:.98rem !important;
    line-height:1.66 !important;
  }

  body.ims58-game-page .ims58-actions{
    flex-direction:column !important;
  }

  body.ims58-game-page .ims58-btn{
    width:100% !important;
  }

  body.ims58-game-page .ims58-stats{
    grid-template-columns:1fr !important;
  }

  body.ims58-game-page .ims58-stat{
    min-height:78px !important;
  }
}

/* === Immersize Game Detail Component 61A === */
body.ims58-game-page .ims58-detail-section,
body.ims58-game-page .ims58-detail-section *{
  box-sizing:border-box !important;
}

body.ims58-game-page .ims58-detail-section{
  width:min(calc(100% - 28px), 1540px) !important;
  margin:0 auto clamp(72px, 8vw, 132px) !important;
  color:#f6f8ff !important;
  font-family:Inter, Arial, sans-serif !important;
}

body.ims58-game-page .ims58-detail-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:18px !important;
}

body.ims58-game-page .ims58-teaser-card,
body.ims58-game-page .ims58-info-card,
body.ims58-game-page .ims58-scenario-card,
body.ims58-game-page .ims58-gallery-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,124,255,.12), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.018)) !important;
  box-shadow:0 24px 80px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.035) !important;
  backdrop-filter:blur(10px) !important;
}

body.ims58-game-page .ims58-teaser-card{
  padding:18px !important;
  border-color:rgba(77,184,255,.30) !important;
}

body.ims58-game-page .ims58-teaser-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.72), transparent 22%, transparent 76%, rgba(233,71,148,.62)) top/100% 2px no-repeat,
    linear-gradient(180deg, rgba(47,124,255,.56), transparent 38%, transparent 70%, rgba(233,71,148,.50)) right/2px 100% no-repeat !important;
}

body.ims58-game-page .ims58-card-kicker{
  display:inline-flex !important;
  align-items:center !important;
  gap:10px !important;
  margin:0 0 14px !important;
  color:#9bc5ff !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.16em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-card-kicker-icon{
  width:18px !important;
  height:18px !important;
  color:#2f9bff !important;
  display:inline-flex !important;
}

body.ims58-game-page .ims58-card-kicker svg,
body.ims58-game-page .ims58-detail-fact-icon svg,
body.ims58-game-page .ims58-scenario-icon svg{
  width:100% !important;
  height:100% !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body.ims58-game-page .ims58-teaser-frame{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  aspect-ratio:16/9 !important;
  background:#060910 !important;
  text-decoration:none !important;
}

body.ims58-game-page .ims58-teaser-frame img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  filter:saturate(.92) contrast(1.05) brightness(.72) !important;
  transform:scale(1.01) !important;
}

body.ims58-game-page .ims58-teaser-frame::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    radial-gradient(circle at 50% 50%, transparent 0%, rgba(0,0,0,.20) 44%, rgba(0,0,0,.42) 100%),
    linear-gradient(180deg, rgba(0,0,0,.06), rgba(0,0,0,.28)) !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-teaser-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:3 !important;
  width:78px !important;
  height:78px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:999px !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.14), rgba(255,255,255,.035)),
    linear-gradient(135deg, rgba(47,124,255,.72), rgba(233,71,148,.64)) !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.12), 0 0 34px rgba(47,124,255,.32), 0 0 44px rgba(233,71,148,.20) !important;
}

body.ims58-game-page .ims58-teaser-play svg{
  width:30px !important;
  height:30px !important;
  transform:translateX(2px) !important;
}

body.ims58-game-page .ims58-teaser-progress{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:16px !important;
  z-index:4 !important;
  height:3px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, #2f7cff 0 24%, rgba(255,255,255,.18) 24% 100%) !important;
}

body.ims58-game-page .ims58-info-card{
  padding:clamp(22px, 3vw, 34px) !important;
}

body.ims58-game-page .ims58-detail-eyebrow{
  margin:0 0 10px !important;
  color:#f05aa4 !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:800 !important;
  letter-spacing:.17em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-detail-title{
  margin:0 0 20px !important;
  color:#fff !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:clamp(1.9rem, 4vw, 3.25rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em !important;
  font-weight:650 !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-detail-body,
body.ims58-game-page .ims58-scenario-text{
  margin:0 !important;
  color:rgba(244,247,255,.82) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:clamp(1rem, 1.1vw, 1.12rem) !important;
  line-height:1.78 !important;
  font-weight:480 !important;
}

body.ims58-game-page .ims58-detail-facts{
  display:grid !important;
  gap:0 !important;
  margin-top:24px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  background:rgba(0,0,0,.22) !important;
}

body.ims58-game-page .ims58-detail-fact{
  display:grid !important;
  grid-template-columns:28px minmax(120px, .9fr) minmax(0, 1.4fr) !important;
  gap:14px !important;
  align-items:center !important;
  padding:17px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}

body.ims58-game-page .ims58-detail-fact:last-child{
  border-bottom:0 !important;
}

body.ims58-game-page .ims58-detail-fact-icon{
  width:24px !important;
  height:24px !important;
  color:#2f9bff !important;
  display:flex !important;
}

body.ims58-game-page .ims58-detail-fact-label{
  color:#f6f8ff !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.82rem !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  letter-spacing:.10em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-detail-fact-value{
  color:rgba(244,247,255,.82) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.98rem !important;
  line-height:1.55 !important;
  font-weight:480 !important;
}

body.ims58-game-page .ims58-scenario-card{
  padding:clamp(22px, 3vw, 34px) !important;
}

body.ims58-game-page .ims58-scenario-icon{
  width:54px !important;
  height:54px !important;
  border-radius:16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  background:linear-gradient(135deg, rgba(47,124,255,.38), rgba(233,71,148,.34)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  margin-bottom:18px !important;
}

body.ims58-game-page .ims58-scenario-title{
  margin:0 0 16px !important;
  color:#fff !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:clamp(1.55rem, 2.4vw, 2.35rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:650 !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims58-scenario-title::after{
  content:"" !important;
  display:block !important;
  width:92px !important;
  height:2px !important;
  margin-top:10px !important;
  background:linear-gradient(90deg,#2f7cff,#e94794) !important;
  border-radius:999px !important;
}

body.ims58-game-page .ims58-gallery-card{
  padding:clamp(20px, 2.6vw, 30px) !important;
}

body.ims58-game-page .ims58-gallery-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  margin-bottom:18px !important;
}

body.ims58-game-page .ims58-gallery-count{
  color:rgba(244,247,255,.68) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.86rem !important;
  font-weight:700 !important;
  letter-spacing:.10em !important;
  white-space:nowrap !important;
}

body.ims58-game-page .ims58-gallery-preview{
  display:none !important;
  position:relative !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  aspect-ratio:16/8 !important;
  margin-bottom:14px !important;
  background:#070b12 !important;
}

body.ims58-game-page .ims58-gallery-preview img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

body.ims58-game-page .ims58-gallery-track{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:14px !important;
}

body.ims58-game-page .ims58-gallery-thumb{
  position:relative !important;
  display:block !important;
  border:1px solid rgba(255,255,255,.13) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  aspect-ratio:16/9 !important;
  padding:0 !important;
  margin:0 !important;
  background:#080b10 !important;
  cursor:pointer !important;
}

body.ims58-game-page .ims58-gallery-thumb img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  filter:saturate(.95) brightness(.86) !important;
  transition:transform .18s ease, filter .18s ease !important;
}

body.ims58-game-page .ims58-gallery-thumb.is-active{
  border-color:rgba(233,71,148,.78) !important;
  box-shadow:0 0 0 2px rgba(47,124,255,.65), 0 0 30px rgba(233,71,148,.20) !important;
}

body.ims58-game-page .ims58-gallery-thumb.is-active img,
body.ims58-game-page .ims58-gallery-thumb:hover img{
  transform:scale(1.035) !important;
  filter:saturate(1.04) brightness(1) !important;
}

body.ims58-game-page .ims58-gallery-empty{
  color:rgba(244,247,255,.68) !important;
  padding:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
}

@media(min-width:1100px){
  body.ims58-game-page .ims58-detail-grid{
    grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap:26px !important;
  }

  body.ims58-game-page .ims58-teaser-card,
  body.ims58-game-page .ims58-info-card{
    min-height:100% !important;
  }

  body.ims58-game-page .ims58-gallery-card{
    align-self:stretch !important;
  }
}

@media(max-width:860px){
  body.ims58-game-page .ims58-detail-section{
    width:min(calc(100% - 24px), 1540px) !important;
  }

  body.ims58-game-page .ims58-detail-grid{
    gap:16px !important;
  }

  body.ims58-game-page .ims58-detail-fact{
    grid-template-columns:26px 1fr !important;
    gap:10px 12px !important;
  }

  body.ims58-game-page .ims58-detail-fact-value{
    grid-column:2 / -1 !important;
  }

  body.ims58-game-page .ims58-gallery-preview{
    display:block !important;
  }

  body.ims58-game-page .ims58-gallery-track{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:6px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex:0 0 76% !important;
    scroll-snap-align:start !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims58-teaser-card,
  body.ims58-game-page .ims58-info-card,
  body.ims58-game-page .ims58-scenario-card,
  body.ims58-game-page .ims58-gallery-card{
    border-radius:22px !important;
  }

  body.ims58-game-page .ims58-teaser-card{
    padding:12px !important;
  }

  body.ims58-game-page .ims58-teaser-play{
    width:62px !important;
    height:62px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex-basis:82% !important;
  }
}


/* === 62B DETAIL POLISH START === */
body.ims58-game-page .ims58-detail-section{
  margin-top:0 !important;
}

body.ims58-game-page .ims58-detail-grid{
  gap:26px !important;
}

body.ims58-game-page .ims58-teaser-card,
body.ims58-game-page .ims58-info-card,
body.ims58-game-page .ims58-scenario-card,
body.ims58-game-page .ims58-gallery-card{
  border-radius:28px !important;
  border-color:rgba(255,255,255,.12) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,124,255,.13), transparent 30%),
    linear-gradient(180deg, rgba(255,255,255,.042), rgba(255,255,255,.014)) !important;
  box-shadow:
    0 26px 76px rgba(0,0,0,.30),
    inset 0 1px 0 rgba(255,255,255,.045) !important;
}

body.ims58-game-page .ims58-teaser-card{
  padding:14px !important;
  border-color:rgba(67,172,255,.36) !important;
}

body.ims58-game-page .ims58-teaser-card::before{
  background:
    linear-gradient(90deg, rgba(47,124,255,.95), rgba(47,124,255,.12) 26%, rgba(233,71,148,.12) 74%, rgba(233,71,148,.92)) top/100% 2px no-repeat,
    linear-gradient(180deg, rgba(47,124,255,.45), transparent 30%, transparent 70%, rgba(233,71,148,.50)) right/2px 100% no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(233,71,148,.85)) bottom/44% 2px no-repeat !important;
}

body.ims58-game-page .ims58-teaser-frame{
  position:relative !important;
  display:block !important;
  cursor:pointer !important;
  border-radius:24px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.15) !important;
  aspect-ratio:16/9 !important;
  background:#04070d !important;
}

body.ims58-game-page .ims58-teaser-frame img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  filter:saturate(.92) contrast(1.05) brightness(.76) !important;
}

body.ims58-game-page .ims58-teaser-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:1 !important;
  display:block !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.04), rgba(0,0,0,.26) 48%, rgba(0,0,0,.50) 100%),
    linear-gradient(180deg, rgba(8,15,34,.08), rgba(8,15,34,.34)) !important;
}

body.ims58-game-page .ims58-teaser-hud-top,
body.ims58-game-page .ims58-teaser-hud-bottom{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  z-index:3 !important;
  display:block !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-teaser-hud-top{
  top:16px !important;
  height:12px !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.62), transparent 34%, transparent 100%) left center/100% 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.34) 0 10%, transparent 10% 16%, rgba(255,255,255,.16) 16% 22%, transparent 22% 100%) center center/180px 6px no-repeat !important;
}

body.ims58-game-page .ims58-teaser-hud-bottom{
  bottom:22px !important;
  height:12px !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.9), rgba(233,71,148,.88)) left center/42% 2px no-repeat !important;
}

body.ims58-game-page .ims58-teaser-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:5 !important;
  width:92px !important;
  height:92px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.22), rgba(255,255,255,.02) 66%),
    linear-gradient(135deg, rgba(47,124,255,.92), rgba(233,71,148,.86)) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.10),
    0 0 30px rgba(47,124,255,.34),
    0 0 38px rgba(233,71,148,.24),
    inset 0 0 0 2px rgba(255,255,255,.08) !important;
}

body.ims58-game-page .ims58-teaser-play::before{
  content:"" !important;
  position:absolute !important;
  inset:8px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.18) !important;
}

body.ims58-game-page .ims58-teaser-play svg{
  width:34px !important;
  height:34px !important;
  transform:translateX(2px) !important;
}

body.ims58-game-page .ims58-teaser-progress{
  position:absolute !important;
  left:24px !important;
  right:78px !important;
  bottom:22px !important;
  z-index:4 !important;
  height:3px !important;
  border-radius:999px !important;
  display:block !important;
  background:
    linear-gradient(90deg, #2f7cff 0 42%, #e94794 42% 58%, rgba(255,255,255,.14) 58% 100%) !important;
  box-shadow:0 0 14px rgba(47,124,255,.18) !important;
}

body.ims58-game-page .ims58-teaser-time{
  position:absolute !important;
  right:24px !important;
  bottom:15px !important;
  z-index:4 !important;
  color:rgba(244,247,255,.72) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
}

body.ims58-game-page .ims58-info-card{
  padding:clamp(24px, 3vw, 34px) !important;
}

body.ims58-game-page .ims58-detail-title{
  max-width:100% !important;
  font-size:clamp(1.85rem, 3.05vw, 2.95rem) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  margin-bottom:18px !important;
  text-wrap:balance !important;
}

body.ims58-game-page .ims58-detail-body,
body.ims58-game-page .ims58-scenario-text{
  font-size:clamp(1rem, 1vw, 1.08rem) !important;
  line-height:1.72 !important;
}

body.ims58-game-page .ims58-detail-facts{
  margin-top:22px !important;
  border-radius:20px !important;
  background:linear-gradient(180deg, rgba(4,8,16,.76), rgba(4,8,16,.94)) !important;
  box-shadow:inset 0 0 0 1px rgba(47,124,255,.10) !important;
}

body.ims58-game-page .ims58-detail-fact{
  grid-template-columns:24px minmax(160px,.9fr) minmax(0,1.3fr) !important;
  padding:16px 18px !important;
}

body.ims58-game-page .ims58-gallery-head{
  gap:16px !important;
}

body.ims58-game-page .ims58-gallery-head-right{
  margin-left:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
}

body.ims58-game-page .ims58-gallery-count{
  min-width:70px !important;
  text-align:right !important;
  color:rgba(244,247,255,.72) !important;
}

body.ims58-game-page .ims58-gallery-nav{
  display:flex !important;
  gap:8px !important;
}

body.ims58-game-page .ims58-gallery-arrow{
  width:34px !important;
  height:34px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  color:#f6f8ff !important;
  font-size:1.28rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}

body.ims58-game-page .ims58-gallery-arrow:hover{
  border-color:rgba(47,124,255,.42) !important;
  box-shadow:0 0 14px rgba(47,124,255,.18) !important;
}

body.ims58-game-page .ims58-gallery-preview{
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  margin-bottom:16px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  aspect-ratio:16/8.2 !important;
  background:#070b12 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(47,124,255,.08) !important;
}

body.ims58-game-page .ims58-gallery-preview img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  filter:saturate(.98) brightness(.90) !important;
}

body.ims58-game-page .ims58-gallery-preview-frame{
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(47,124,255,.10) 22%, rgba(233,71,148,.10) 78%, rgba(233,71,148,.80)) top/100% 2px no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(233,71,148,.80)) bottom/32% 2px no-repeat !important;
}

body.ims58-game-page .ims58-gallery-track{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:14px !important;
  overflow:visible !important;
  padding-bottom:0 !important;
}

body.ims58-game-page .ims58-gallery-thumb{
  flex:auto !important;
  aspect-ratio:1.33/1 !important;
  border-radius:16px !important;
  background:#080b10 !important;
  transition:transform .16s ease, border-color .16s ease, box-shadow .16s ease !important;
}

body.ims58-game-page .ims58-gallery-thumb.is-active{
  border-color:rgba(233,71,148,.86) !important;
  box-shadow:
    0 0 0 2px rgba(47,124,255,.72),
    0 0 26px rgba(233,71,148,.18) !important;
  transform:translateY(-1px) !important;
}

body.ims58-game-page .ims58-video-modal[hidden]{
  display:none !important;
}

html.ims58-video-open{
  overflow:hidden !important;
}

body.ims58-game-page .ims58-video-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:999999 !important;
}

body.ims58-game-page .ims58-video-modal-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(0,0,0,.78) !important;
  backdrop-filter:blur(8px) !important;
}

body.ims58-game-page .ims58-video-modal-dialog{
  position:relative !important;
  width:min(calc(100% - 24px), 1080px) !important;
  margin:6vh auto 0 !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(180deg, rgba(6,9,16,.98), rgba(3,5,12,.98)) !important;
  box-shadow:0 30px 120px rgba(0,0,0,.55), 0 0 0 1px rgba(47,124,255,.08) !important;
  overflow:hidden !important;
}

body.ims58-game-page .ims58-video-modal-close{
  position:absolute !important;
  right:14px !important;
  top:10px !important;
  z-index:3 !important;
  width:38px !important;
  height:38px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.05) !important;
  color:#fff !important;
  font-size:1.5rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}

body.ims58-game-page .ims58-video-modal-stage{
  aspect-ratio:16/9 !important;
  background:#000 !important;
}

body.ims58-game-page .ims58-video-modal-stage iframe,
body.ims58-game-page .ims58-video-modal-stage video{
  width:100% !important;
  height:100% !important;
  display:block !important;
  border:0 !important;
  background:#000 !important;
}

body.ims58-game-page .ims58-video-fallback{
  width:100% !important;
  height:100% !important;
  min-height:360px !important;
  display:grid !important;
  place-items:center !important;
  position:relative !important;
  overflow:hidden !important;
}

body.ims58-game-page .ims58-video-fallback-media{
  position:absolute !important;
  inset:0 !important;
  background-size:cover !important;
  background-position:center !important;
  filter:brightness(.55) saturate(.9) !important;
}

body.ims58-game-page .ims58-video-fallback p{
  position:relative !important;
  z-index:2 !important;
  max-width:560px !important;
  padding:24px !important;
  margin:0 !important;
  text-align:center !important;
  color:#fff !important;
  font-family:Inter, Arial, sans-serif !important;
  font-weight:650 !important;
}

@media(max-width:860px){
  body.ims58-game-page .ims58-teaser-play{
    width:76px !important;
    height:76px !important;
  }

  body.ims58-game-page .ims58-detail-fact{
    grid-template-columns:24px 1fr !important;
  }

  body.ims58-game-page .ims58-detail-fact-value{
    grid-column:2 / -1 !important;
  }

  body.ims58-game-page .ims58-gallery-head{
    align-items:flex-start !important;
  }

  body.ims58-game-page .ims58-gallery-head-right{
    width:auto !important;
  }

  body.ims58-game-page .ims58-gallery-track{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:6px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex:0 0 72% !important;
    scroll-snap-align:start !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims58-teaser-card{
    padding:10px !important;
    border-radius:22px !important;
  }

  body.ims58-game-page .ims58-teaser-frame{
    border-radius:18px !important;
  }

  body.ims58-game-page .ims58-teaser-play{
    width:64px !important;
    height:64px !important;
  }

  body.ims58-game-page .ims58-teaser-progress{
    left:16px !important;
    right:62px !important;
    bottom:16px !important;
  }

  body.ims58-game-page .ims58-teaser-time{
    right:16px !important;
    bottom:10px !important;
    font-size:.72rem !important;
  }

  body.ims58-game-page .ims58-gallery-head{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body.ims58-game-page .ims58-gallery-head-right{
    width:100% !important;
    justify-content:space-between !important;
  }
}
/* === 62B DETAIL POLISH END === */


/* === 63A DETAIL SOURCE RENDER START === */
body.ims58-game-page .ims58-teaser-frame{
  width:100% !important;
  padding:0 !important;
  margin:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  font:inherit !important;
  text-align:inherit !important;
}

body.ims58-game-page .ims58-teaser-frame,
body.ims58-game-page .ims58-teaser-frame:focus,
body.ims58-game-page .ims58-teaser-frame:active{
  outline:none !important;
}

body.ims58-game-page .ims58-teaser-frame:focus-visible{
  box-shadow:
    0 0 0 2px rgba(47,124,255,.70),
    0 0 0 5px rgba(233,71,148,.22) !important;
}

body.ims58-game-page .ims58-teaser-overlay,
body.ims58-game-page .ims58-teaser-hud-top,
body.ims58-game-page .ims58-teaser-hud-bottom,
body.ims58-game-page .ims58-teaser-time,
body.ims58-game-page .ims58-gallery-preview-frame{
  display:block !important;
}

body.ims58-game-page .ims58-teaser-play{
  display:flex !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-teaser-card{
  border-radius:30px !important;
}

body.ims58-game-page .ims58-teaser-card::before{
  opacity:1 !important;
}

body.ims58-game-page .ims58-gallery-preview{
  display:block !important;
}

body.ims58-game-page .ims58-gallery-head-right,
body.ims58-game-page .ims58-gallery-nav{
  display:flex !important;
}

body.ims58-game-page .ims58-gallery-head-right{
  align-items:center !important;
  gap:12px !important;
  margin-left:auto !important;
}

body.ims58-game-page .ims58-gallery-nav{
  gap:8px !important;
}

body.ims58-game-page .ims58-gallery-arrow{
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  margin:0 !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  color:#f6f8ff !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:1.28rem !important;
  line-height:1 !important;
  cursor:pointer !important;
}

body.ims58-game-page .ims58-gallery-arrow:hover{
  border-color:rgba(47,124,255,.42) !important;
  box-shadow:0 0 14px rgba(47,124,255,.18) !important;
}

body.ims58-game-page .ims58-gallery-preview{
  position:relative !important;
  overflow:hidden !important;
  margin-bottom:16px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  aspect-ratio:16/8.2 !important;
  background:#070b12 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(47,124,255,.08) !important;
}

body.ims58-game-page .ims58-gallery-preview img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  filter:saturate(.98) brightness(.90) !important;
}

body.ims58-game-page .ims58-gallery-preview-frame{
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(47,124,255,.10) 22%, rgba(233,71,148,.10) 78%, rgba(233,71,148,.80)) top/100% 2px no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(233,71,148,.80)) bottom/32% 2px no-repeat !important;
}

body.ims58-game-page .ims58-gallery-track{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  overflow:visible !important;
  padding-bottom:0 !important;
}

body.ims58-game-page .ims58-gallery-thumb{
  flex:auto !important;
  aspect-ratio:1.33/1 !important;
}

@media(max-width:860px){
  body.ims58-game-page .ims58-gallery-track{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:6px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex:0 0 72% !important;
    scroll-snap-align:start !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims58-gallery-head{
    flex-direction:column !important;
    align-items:flex-start !important;
  }

  body.ims58-game-page .ims58-gallery-head-right{
    width:100% !important;
    justify-content:space-between !important;
    margin-left:0 !important;
  }
}
/* === 63A DETAIL SOURCE RENDER END === */


/* === 64A DETAIL VISUAL FIX START === */

/* 1) Ne plus étirer Scenario à la hauteur de la galerie */
body.ims58-game-page .ims58-detail-grid{
  align-items:start !important;
  grid-auto-rows:auto !important;
}

body.ims58-game-page .ims58-scenario-card,
body.ims58-game-page .ims58-gallery-card,
body.ims58-game-page .ims58-teaser-card,
body.ims58-game-page .ims58-info-card{
  align-self:start !important;
}

body.ims58-game-page .ims58-scenario-card{
  height:auto !important;
  min-height:0 !important;
  padding-bottom:clamp(24px, 3vw, 38px) !important;
}

/* 2) Bouton play garanti dès la première frame, même si le span interne est neutralisé */
body.ims58-game-page .ims58-teaser-frame{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:#04070d !important;
  cursor:pointer !important;
}

body.ims58-game-page .ims58-teaser-frame::before{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:20 !important;
  width:92px !important;
  height:92px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:999px !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.22), rgba(255,255,255,.025) 64%),
    linear-gradient(135deg, rgba(47,124,255,.92), rgba(233,71,148,.88)) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.12),
    0 0 30px rgba(47,124,255,.36),
    0 0 42px rgba(233,71,148,.26),
    inset 0 0 0 2px rgba(255,255,255,.08) !important;
}

body.ims58-game-page .ims58-teaser-frame::after{
  content:"" !important;
  position:absolute !important;
  left:calc(50% + 5px) !important;
  top:50% !important;
  z-index:21 !important;
  width:0 !important;
  height:0 !important;
  transform:translate(-42%, -50%) !important;
  border-left:26px solid #fff !important;
  border-top:16px solid transparent !important;
  border-bottom:16px solid transparent !important;
  pointer-events:none !important;
  background:none !important;
  box-shadow:0 0 16px rgba(255,255,255,.22) !important;
}

/* Le span play reste compatible, mais n'est plus indispensable */
body.ims58-game-page .ims58-teaser-play{
  display:none !important;
}

/* 3) HUD vidéo plus proche de la maquette */
body.ims58-game-page .ims58-teaser-card{
  padding:14px !important;
  border-radius:30px !important;
  border-color:rgba(67,172,255,.38) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,124,255,.16), transparent 31%),
    linear-gradient(180deg, rgba(255,255,255,.046), rgba(255,255,255,.014)) !important;
  box-shadow:
    0 28px 88px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.045),
    0 0 0 1px rgba(47,124,255,.11) !important;
}

body.ims58-game-page .ims58-teaser-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  opacity:1 !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.98), rgba(47,124,255,.16) 24%, rgba(233,71,148,.14) 74%, rgba(233,71,148,.92)) top/100% 2px no-repeat,
    linear-gradient(180deg, rgba(47,124,255,.48), transparent 28%, transparent 72%, rgba(233,71,148,.52)) right/2px 100% no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.86), rgba(233,71,148,.86)) bottom/44% 2px no-repeat !important;
  filter:drop-shadow(0 0 10px rgba(47,124,255,.20)) !important;
}

body.ims58-game-page .ims58-teaser-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:4 !important;
  display:block !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(0,0,0,.02), rgba(0,0,0,.26) 48%, rgba(0,0,0,.52) 100%),
    linear-gradient(180deg, rgba(7,15,33,.06), rgba(7,15,33,.36)) !important;
}

body.ims58-game-page .ims58-teaser-hud-top,
body.ims58-game-page .ims58-teaser-hud-bottom,
body.ims58-game-page .ims58-teaser-time,
body.ims58-game-page .ims58-teaser-progress{
  display:block !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims58-teaser-hud-top{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  top:16px !important;
  z-index:8 !important;
  height:12px !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.66), transparent 34%, transparent 100%) left center/100% 1px no-repeat,
    linear-gradient(90deg, rgba(255,255,255,.35) 0 10%, transparent 10% 16%, rgba(255,255,255,.17) 16% 22%, transparent 22% 100%) center center/180px 6px no-repeat !important;
}

body.ims58-game-page .ims58-teaser-hud-bottom{
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:22px !important;
  z-index:8 !important;
  height:12px !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.95), rgba(233,71,148,.88)) left center/42% 2px no-repeat !important;
}

body.ims58-game-page .ims58-teaser-progress{
  position:absolute !important;
  left:24px !important;
  right:78px !important;
  bottom:22px !important;
  z-index:9 !important;
  height:3px !important;
  border-radius:999px !important;
  background:
    linear-gradient(90deg, #2f7cff 0 42%, #e94794 42% 58%, rgba(255,255,255,.14) 58% 100%) !important;
  box-shadow:0 0 14px rgba(47,124,255,.18) !important;
}

body.ims58-game-page .ims58-teaser-time{
  position:absolute !important;
  right:24px !important;
  bottom:15px !important;
  z-index:9 !important;
  color:rgba(244,247,255,.72) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  font-weight:700 !important;
  letter-spacing:.04em !important;
}

/* 4) Galerie : preview utile + thumbnails plus compactes */
body.ims58-game-page .ims58-gallery-card{
  height:auto !important;
  min-height:0 !important;
}

body.ims58-game-page .ims58-gallery-preview{
  display:block !important;
  position:relative !important;
  overflow:hidden !important;
  margin-bottom:16px !important;
  border-radius:20px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  aspect-ratio:16/8.2 !important;
  background:#070b12 !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.04),
    0 0 0 1px rgba(47,124,255,.08) !important;
}

body.ims58-game-page .ims58-gallery-preview img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  filter:saturate(.98) brightness(.90) !important;
}

body.ims58-game-page .ims58-gallery-preview-frame{
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  border-radius:inherit !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(47,124,255,.10) 22%, rgba(233,71,148,.10) 78%, rgba(233,71,148,.80)) top/100% 2px no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.85), rgba(233,71,148,.80)) bottom/32% 2px no-repeat !important;
}

body.ims58-game-page .ims58-gallery-track{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  overflow:visible !important;
  padding-bottom:0 !important;
}

body.ims58-game-page .ims58-gallery-thumb{
  flex:auto !important;
  aspect-ratio:1.33/1 !important;
  border-radius:16px !important;
}

body.ims58-game-page .ims58-gallery-thumb.is-active{
  border-color:rgba(233,71,148,.86) !important;
  box-shadow:
    0 0 0 2px rgba(47,124,255,.72),
    0 0 26px rgba(233,71,148,.18) !important;
  transform:translateY(-1px) !important;
}

/* 5) Mobile first : éviter les gros blocs vides et garder une lecture fluide */
@media(max-width:860px){
  body.ims58-game-page .ims58-detail-grid{
    align-items:stretch !important;
  }

  body.ims58-game-page .ims58-scenario-card{
    align-self:stretch !important;
  }

  body.ims58-game-page .ims58-teaser-frame::before{
    width:76px !important;
    height:76px !important;
  }

  body.ims58-game-page .ims58-teaser-frame::after{
    border-left-width:22px !important;
    border-top-width:13px !important;
    border-bottom-width:13px !important;
  }

  body.ims58-game-page .ims58-gallery-track{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    scroll-snap-type:x mandatory !important;
    padding-bottom:6px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex:0 0 72% !important;
    scroll-snap-align:start !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims58-teaser-card{
    padding:10px !important;
    border-radius:22px !important;
  }

  body.ims58-game-page .ims58-teaser-frame{
    border-radius:18px !important;
  }

  body.ims58-game-page .ims58-teaser-frame::before{
    width:64px !important;
    height:64px !important;
  }

  body.ims58-game-page .ims58-teaser-frame::after{
    border-left-width:18px !important;
    border-top-width:11px !important;
    border-bottom-width:11px !important;
  }

  body.ims58-game-page .ims58-teaser-progress{
    left:16px !important;
    right:62px !important;
    bottom:16px !important;
  }

  body.ims58-game-page .ims58-teaser-time{
    right:16px !important;
    bottom:10px !important;
    font-size:.72rem !important;
  }
}

/* === 64A DETAIL VISUAL FIX END === */


/* === 65A REAL PLAY BUTTON START === */

/* Stopper la tentative fragile via pseudo-elements du frame */
body.ims58-game-page .ims58-teaser-frame::before,
body.ims58-game-page .ims58-teaser-frame::after{
  content:none !important;
  display:none !important;
}

/* Stabiliser le stacking du player */
body.ims58-game-page .ims58-teaser-frame{
  position:relative !important;
  isolation:isolate !important;
  overflow:hidden !important;
}

body.ims58-game-page .ims58-teaser-frame img{
  z-index:0 !important;
}

body.ims58-game-page .ims58-teaser-overlay{
  z-index:2 !important;
}

body.ims58-game-page .ims58-teaser-hud-top,
body.ims58-game-page .ims58-teaser-hud-bottom,
body.ims58-game-page .ims58-teaser-progress,
body.ims58-game-page .ims58-teaser-time{
  z-index:8 !important;
}

/* Vrai bouton Play : élément HTML réel, visible dès la première frame */
body.ims58-game-page .ims58-teaser-play{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  z-index:50 !important;
  width:92px !important;
  height:92px !important;
  transform:translate(-50%, -50%) !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:none !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.22), rgba(255,255,255,.025) 64%),
    linear-gradient(135deg, rgba(47,124,255,.94), rgba(233,71,148,.88)) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.12),
    0 0 30px rgba(47,124,255,.38),
    0 0 44px rgba(233,71,148,.28),
    inset 0 0 0 2px rgba(255,255,255,.08) !important;
}

/* On n'utilise pas le SVG, car les règles globales du site peuvent le neutraliser */
body.ims58-game-page .ims58-teaser-play svg{
  display:none !important;
}

body.ims58-game-page .ims58-teaser-play::before{
  content:"" !important;
  position:absolute !important;
  inset:8px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.20) !important;
  background:radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 68%) !important;
}

body.ims58-game-page .ims58-teaser-play::after{
  content:"" !important;
  position:absolute !important;
  left:calc(50% + 5px) !important;
  top:50% !important;
  width:0 !important;
  height:0 !important;
  transform:translate(-42%, -50%) !important;
  border-left:26px solid #fff !important;
  border-top:16px solid transparent !important;
  border-bottom:16px solid transparent !important;
  filter:drop-shadow(0 0 14px rgba(255,255,255,.32)) !important;
}

/* Effet premium au hover du player */
body.ims58-game-page .ims58-teaser-frame:hover .ims58-teaser-play{
  transform:translate(-50%, -50%) scale(1.035) !important;
  box-shadow:
    0 0 0 2px rgba(255,255,255,.14),
    0 0 36px rgba(47,124,255,.46),
    0 0 52px rgba(233,71,148,.34),
    inset 0 0 0 2px rgba(255,255,255,.10) !important;
}

@media(max-width:860px){
  body.ims58-game-page .ims58-teaser-play{
    width:76px !important;
    height:76px !important;
  }

  body.ims58-game-page .ims58-teaser-play::after{
    border-left-width:22px !important;
    border-top-width:13px !important;
    border-bottom-width:13px !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims58-teaser-play{
    width:64px !important;
    height:64px !important;
  }

  body.ims58-game-page .ims58-teaser-play::after{
    border-left-width:18px !important;
    border-top-width:11px !important;
    border-bottom-width:11px !important;
  }
}

/* === 65A REAL PLAY BUTTON END === */


/* === 66A MOBILE GALLERY CLEAN START === */

/* Desktop / base : la galerie reste une grille propre */
body.ims58-game-page .ims58-gallery-track{
  scrollbar-width:none !important;
}

body.ims58-game-page .ims58-gallery-track::-webkit-scrollbar{
  display:none !important;
}

/* Mobile : remplacer le rail horizontal par une grille lisible */
@media(max-width:860px){
  body.ims58-game-page .ims58-gallery-card{
    overflow:hidden !important;
  }

  body.ims58-game-page .ims58-gallery-preview{
    aspect-ratio:16/9 !important;
    margin-bottom:14px !important;
  }

  body.ims58-game-page .ims58-gallery-track{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    overflow:visible !important;
    overflow-x:hidden !important;
    scroll-snap-type:none !important;
    padding-bottom:0 !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    flex:none !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    aspect-ratio:16/10 !important;
    scroll-snap-align:unset !important;
    border-radius:13px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb img{
    object-fit:cover !important;
  }

  body.ims58-game-page .ims58-gallery-head{
    flex-direction:row !important;
    align-items:center !important;
    gap:12px !important;
  }

  body.ims58-game-page .ims58-gallery-head-right{
    width:auto !important;
    margin-left:auto !important;
    justify-content:flex-end !important;
  }

  body.ims58-game-page .ims58-gallery-count{
    min-width:58px !important;
    font-size:.78rem !important;
  }

  body.ims58-game-page .ims58-gallery-arrow{
    width:32px !important;
    height:32px !important;
  }
}

/* Très petit mobile : garder 2 colonnes, mais plus respirantes */
@media(max-width:520px){
  body.ims58-game-page .ims58-gallery-track{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:9px !important;
  }

  body.ims58-game-page .ims58-gallery-thumb{
    aspect-ratio:1.18/1 !important;
    border-radius:12px !important;
  }

  body.ims58-game-page .ims58-gallery-head{
    flex-wrap:wrap !important;
  }

  body.ims58-game-page .ims58-gallery-head-right{
    margin-left:0 !important;
    width:100% !important;
    justify-content:space-between !important;
  }
}

/* === 66A MOBILE GALLERY CLEAN END === */


/* === 67A USECASES COMPONENT START === */

body.ims58-game-page .ims67-usecases-section,
body.ims58-game-page .ims67-usecases-section *{
  box-sizing:border-box !important;
}

body.ims58-game-page .ims67-usecases-section{
  width:min(calc(100% - 28px), 1540px) !important;
  margin:0 auto clamp(72px, 8vw, 132px) !important;
  color:#f6f8ff !important;
  font-family:Inter, Arial, sans-serif !important;
  position:relative !important;
  isolation:isolate !important;
}

body.ims58-game-page .ims67-usecases-section::before{
  content:"" !important;
  position:absolute !important;
  inset:-30px 0 auto !important;
  height:1px !important;
  background:linear-gradient(90deg, transparent, rgba(47,124,255,.55), rgba(233,71,148,.45), transparent) !important;
  pointer-events:none !important;
}

body.ims58-game-page .ims67-usecases-head{
  display:grid !important;
  gap:14px !important;
  margin-bottom:22px !important;
  max-width:880px !important;
}

body.ims58-game-page .ims67-usecases-eyebrow{
  margin:0 !important;
  color:#9bc5ff !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims67-usecases-title{
  margin:0 !important;
  color:#fff !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:clamp(2rem, 5vw, 4.4rem) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  font-weight:520 !important;
  text-transform:uppercase !important;
  max-width:920px !important;
}

body.ims58-game-page .ims67-usecases-intro{
  margin:0 !important;
  color:rgba(244,247,255,.78) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:clamp(1rem, 1.1vw, 1.14rem) !important;
  line-height:1.75 !important;
  font-weight:480 !important;
  max-width:780px !important;
}

body.ims58-game-page .ims67-usecases-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:14px !important;
}

body.ims58-game-page .ims67-usecase-card{
  position:relative !important;
  overflow:hidden !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,124,255,.13), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.044), rgba(255,255,255,.014)) !important;
  box-shadow:0 22px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.04) !important;
  padding:22px !important;
  min-height:250px !important;
}

body.ims58-game-page .ims67-usecase-card::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.78), rgba(47,124,255,.10) 28%, rgba(233,71,148,.08) 70%, rgba(233,71,148,.70)) top/100% 2px no-repeat,
    linear-gradient(180deg, rgba(47,124,255,.32), transparent 42%, rgba(233,71,148,.22)) right/2px 100% no-repeat !important;
  opacity:.82 !important;
}

body.ims58-game-page .ims67-usecase-card-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  margin-bottom:22px !important;
}

body.ims58-game-page .ims67-usecase-index{
  color:rgba(155,197,255,.72) !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:.88rem !important;
  line-height:1 !important;
  font-weight:650 !important;
  letter-spacing:.12em !important;
}

body.ims58-game-page .ims67-usecase-icon{
  width:48px !important;
  height:48px !important;
  border-radius:16px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#fff !important;
  background:linear-gradient(135deg, rgba(47,124,255,.42), rgba(233,71,148,.34)) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  box-shadow:0 0 24px rgba(47,124,255,.16) !important;
}

body.ims58-game-page .ims67-usecase-icon svg{
  width:24px !important;
  height:24px !important;
  display:block !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.9 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

body.ims58-game-page .ims67-usecase-card-title{
  margin:0 0 13px !important;
  color:#fff !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:clamp(1.32rem, 2.4vw, 2rem) !important;
  line-height:1.08 !important;
  letter-spacing:-.035em !important;
  font-weight:620 !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims67-usecase-card-text{
  margin:0 !important;
  color:rgba(244,247,255,.76) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.98rem !important;
  line-height:1.72 !important;
  font-weight:460 !important;
}

body.ims58-game-page .ims67-usecase-tags{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  margin-top:20px !important;
}

body.ims58-game-page .ims67-usecase-tag{
  display:inline-flex !important;
  align-items:center !important;
  min-height:30px !important;
  padding:0 11px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.035) !important;
  color:rgba(244,247,255,.78) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.74rem !important;
  line-height:1 !important;
  font-weight:720 !important;
  letter-spacing:.03em !important;
}

body.ims58-game-page .ims67-usecases-footer{
  margin-top:14px !important;
  padding:18px 20px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.10), rgba(233,71,148,.08)),
    rgba(255,255,255,.025) !important;
  display:grid !important;
  gap:8px !important;
}

body.ims58-game-page .ims67-usecases-footer-label{
  color:#9bc5ff !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.15em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims67-usecases-footer p{
  margin:0 !important;
  color:rgba(244,247,255,.76) !important;
  font-family:Inter, Arial, sans-serif !important;
  font-size:.98rem !important;
  line-height:1.64 !important;
}

@media(min-width:820px){
  body.ims58-game-page .ims67-usecases-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    gap:18px !important;
  }

  body.ims58-game-page .ims67-usecase-card{
    min-height:330px !important;
    display:flex !important;
    flex-direction:column !important;
  }

  body.ims58-game-page .ims67-usecase-tags{
    margin-top:auto !important;
    padding-top:22px !important;
  }

  body.ims58-game-page .ims67-usecases-footer{
    grid-template-columns:minmax(180px, .32fr) 1fr !important;
    align-items:center !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims67-usecases-section{
    width:min(calc(100% - 24px), 1540px) !important;
    margin-bottom:72px !important;
  }

  body.ims58-game-page .ims67-usecase-card{
    border-radius:20px !important;
    padding:20px !important;
    min-height:0 !important;
  }

  body.ims58-game-page .ims67-usecase-icon{
    width:44px !important;
    height:44px !important;
    border-radius:14px !important;
  }

  body.ims58-game-page .ims67-usecase-card-title{
    font-size:1.28rem !important;
  }
}

/* === 67A USECASES COMPONENT END === */


/* === 68A USECASES CANONICAL START === */

body.ims58-game-page .ims68-usecases-section{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  content-visibility:auto !important;
  contain-intrinsic-size:820px !important;
}

body.ims58-game-page .ims68-usecases-section .ims67-usecases-title,
body.ims58-game-page .ims68-usecases-section .ims67-usecase-card-title{
  text-wrap:balance !important;
}

body.ims58-game-page .ims68-usecases-section .ims67-usecase-card{
  transform:none !important;
}

/* Sécurité : aucun vieux bloc usecase cassé ne doit rester masqué bizarrement */
body.ims58-game-page .ims67-usecases-section{
  clear:both !important;
}

/* === 68A USECASES CANONICAL END === */


/* === 70C CTA SIMPLE START === */

body.ims58-game-page .ims70c-cta-section,
body.ims58-game-page .ims70c-cta-section *{
  box-sizing:border-box !important;
}

body.ims58-game-page .ims70c-cta-section{
  width:min(calc(100% - 28px), 1320px) !important;
  margin:clamp(64px, 8vw, 120px) auto clamp(78px, 9vw, 138px) !important;
  color:#f6f8ff !important;
  font-family:Inter, Arial, sans-serif !important;
  position:relative !important;
  isolation:isolate !important;
}

body.ims58-game-page .ims70c-cta-shell{
  position:relative !important;
  overflow:hidden !important;
  border-radius:28px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(47,124,255,.17), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(233,71,148,.13), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.048), rgba(255,255,255,.016)) !important;
  box-shadow:
    0 30px 110px rgba(0,0,0,.36),
    inset 0 1px 0 rgba(255,255,255,.05),
    0 0 0 1px rgba(47,124,255,.09) !important;
  padding:clamp(24px, 4.4vw, 54px) !important;
}

body.ims58-game-page .ims70c-cta-shell::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.88), rgba(47,124,255,.12) 24%, rgba(233,71,148,.12) 76%, rgba(233,71,148,.82)) top/100% 2px no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.74), rgba(233,71,148,.74)) bottom/34% 2px no-repeat,
    linear-gradient(180deg, rgba(47,124,255,.34), transparent 36%, rgba(233,71,148,.28)) right/2px 100% no-repeat !important;
}

body.ims58-game-page .ims70c-cta-copy{
  max-width:880px !important;
}

body.ims58-game-page .ims70c-cta-eyebrow{
  margin:0 0 12px !important;
  color:#9bc5ff !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims70c-cta-title{
  margin:0 !important;
  color:#fff !important;
  font-family:Tomorrow, Goldman, Arial, sans-serif !important;
  font-size:clamp(2rem, 5vw, 4.4rem) !important;
  line-height:.98 !important;
  letter-spacing:-.055em !important;
  font-weight:540 !important;
  text-transform:uppercase !important;
  text-wrap:balance !important;
}

body.ims58-game-page .ims70c-cta-text{
  margin:18px 0 0 !important;
  max-width:720px !important;
  color:rgba(244,247,255,.78) !important;
  font-size:clamp(1rem, 1.1vw, 1.13rem) !important;
  line-height:1.72 !important;
  font-weight:480 !important;
}

body.ims58-game-page .ims70c-cta-actions{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  margin-top:28px !important;
}

body.ims58-game-page .ims70c-btn{
  min-height:56px !important;
  width:100% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  border-radius:16px !important;
  text-decoration:none !important;
  font-size:.92rem !important;
  line-height:1 !important;
  font-weight:850 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}

body.ims58-game-page .ims70c-btn-primary{
  color:#fff !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(135deg, #2f6dff 0%, #7f58ff 48%, #e94794 100%) !important;
  box-shadow:0 14px 34px rgba(47,109,255,.23), 0 0 36px rgba(233,71,148,.15) !important;
}

body.ims58-game-page .ims70c-btn-secondary{
  color:rgba(244,247,255,.88) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.035) !important;
}

body.ims58-game-page .ims70c-cta-proofbar{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  margin-top:24px !important;
}

body.ims58-game-page .ims70c-proof{
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px !important;
  padding:0 13px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.035) !important;
  color:rgba(244,247,255,.78) !important;
  font-size:.78rem !important;
  line-height:1 !important;
  font-weight:760 !important;
  letter-spacing:.03em !important;
}

@media(min-width:760px){
  body.ims58-game-page .ims70c-cta-actions{
    flex-direction:row !important;
    align-items:center !important;
  }

  body.ims58-game-page .ims70c-btn{
    width:auto !important;
    min-width:220px !important;
    padding:0 24px !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims70c-cta-section{
    width:min(calc(100% - 24px), 1320px) !important;
    margin-top:64px !important;
    margin-bottom:82px !important;
  }

  body.ims58-game-page .ims70c-cta-shell{
    border-radius:22px !important;
    padding:22px !important;
  }

  body.ims58-game-page .ims70c-cta-title{
    font-size:clamp(1.9rem, 10vw, 3rem) !important;
  }
}

/* === 70C CTA SIMPLE END === */


/* === 70D CTA IMAGE SPACING START === */

/* Réduction du gouffre entre Cas d’usage et CTA */
body.ims58-game-page .ims67-usecases-section{
  margin-bottom:clamp(28px, 3.4vw, 58px) !important;
}

body.ims58-game-page .ims70c-cta-section{
  margin-top:clamp(24px, 3vw, 48px) !important;
  width:min(calc(100% - 28px), 1380px) !important;
}

body.ims58-game-page .ims70c-cta-shell{
  display:grid !important;
  gap:clamp(22px, 4vw, 48px) !important;
  align-items:center !important;
  padding:clamp(22px, 4vw, 48px) !important;
}

body.ims58-game-page .ims70c-cta-proofbar{
  margin-top:22px !important;
}

body.ims58-game-page .ims70c-cta-media{
  position:relative !important;
  display:block !important;
  width:100% !important;
  aspect-ratio:16/10 !important;
  margin:0 !important;
  overflow:hidden !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:#060912 !important;
  box-shadow:
    0 24px 80px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.045),
    0 0 0 1px rgba(47,124,255,.08) !important;
}

body.ims58-game-page .ims70c-cta-media::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 70% 36%, rgba(47,124,255,.10), transparent 36%),
    linear-gradient(90deg, rgba(3,5,10,.18), rgba(3,5,10,.04) 45%, rgba(3,5,10,.22)) !important;
}

body.ims58-game-page .ims70c-cta-media img{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  filter:saturate(.98) contrast(1.03) brightness(.86) !important;
}

body.ims58-game-page .ims70c-cta-media-glow{
  position:absolute !important;
  inset:0 !important;
  z-index:3 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    linear-gradient(90deg, rgba(47,124,255,.72), rgba(47,124,255,.08) 26%, rgba(233,71,148,.08) 72%, rgba(233,71,148,.68)) top/100% 2px no-repeat,
    linear-gradient(90deg, rgba(47,124,255,.52), rgba(233,71,148,.70)) bottom/34% 2px no-repeat !important;
}

@media(min-width:980px){
  body.ims58-game-page .ims70c-cta-shell{
    grid-template-columns:minmax(0, .86fr) minmax(420px, .86fr) !important;
  }

  body.ims58-game-page .ims70c-cta-media{
    aspect-ratio:16/9.2 !important;
  }
}

@media(max-width:760px){
  body.ims58-game-page .ims70c-cta-media{
    order:-1 !important;
    aspect-ratio:16/9 !important;
    border-radius:18px !important;
  }

  body.ims58-game-page .ims70c-cta-section{
    margin-top:34px !important;
  }
}

@media(max-width:560px){
  body.ims58-game-page .ims67-usecases-section{
    margin-bottom:30px !important;
  }

  body.ims58-game-page .ims70c-cta-section{
    width:min(calc(100% - 24px), 1380px) !important;
    margin-top:28px !important;
  }

  body.ims58-game-page .ims70c-cta-shell{
    padding:18px !important;
  }

  body.ims58-game-page .ims70c-cta-media{
    border-radius:16px !important;
  }
}

/* === 70D CTA IMAGE SPACING END === */


/* === 77C FINAL SOURCE START === */

/* Ne force pas l'image hero : le renderer PHP 58B garde le cadrage natif. */

body.page-id-4931 .ims74e-preserved-content,
body.page-id-4931 .services-faq-container,
body.page-id-4931 .cta-wrap3{
  display:none !important;
}

body.page-id-4931 .ims76e-video-ready::after{
  content:none !important;
}

body.page-id-4931 .ims76e-video-ready{
  cursor:auto !important;
}

/* === 77C FINAL SOURCE END === */


/* === 80C 5129 SOURCE CONFIG START === */

/* Pas de background-image forcé : le renderer 58B reste propriétaire du hero. */
body.page-id-5129 .ims74e-preserved-content{
  display:none !important;
}

/* === 80C 5129 SOURCE CONFIG END === */

