/* 2026-08-11 iPhone corrections. Loaded last in mobile display mode only. */

/* A cached reveal state must never be able to hide the legal documents. */
.legal-page,
.legal-page .wrap,
.legal-sheet,
.legal-sheet.mobile-reveal {
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

/* Terms and privacy live in the footer, not in the primary mobile menu. */
.site-header .site-nav .site-nav-legal { display:none!important; }

/* TOP card: copy and product mark occupy separate columns. */
.final-flow-visual {
  display:grid!important;
  min-height:118px!important;
  padding:14px!important;
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) 72px!important;
  grid-template-rows:1fr!important;
  place-content:normal!important;
  gap:12px!important;
}
.final-flow-visual::before {
  position:static!important;
  width:68px!important;
  height:68px!important;
  border-width:12px!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:center!important;
}
.final-flow-visual i {
  position:static!important;
  z-index:2!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:center!important;
  font-size:1.45rem!important;
}
.final-flow-visual p {
  min-width:0!important;
  grid-column:1!important;
  grid-row:1!important;
}
.final-flow-visual small { font-size:.52rem!important; }
.final-flow-visual strong {
  max-width:none!important;
  margin-top:7px!important;
  font-size:.98rem!important;
  line-height:1.4!important;
  overflow-wrap:anywhere!important;
}

/* ABOUT card: the label and ring also get independent columns. */
.sf-feature-orbit {
  display:grid!important;
  min-height:110px!important;
  padding:12px!important;
  align-items:center!important;
  grid-template-columns:minmax(0,1fr) 82px!important;
  grid-template-rows:1fr!important;
  place-content:normal!important;
  gap:10px!important;
}
.sf-feature-orbit::before {
  position:static!important;
  width:78px!important;
  height:78px!important;
  border-width:14px!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:center!important;
  transform:none!important;
}
.sf-feature-orbit i {
  position:static!important;
  z-index:2!important;
  grid-column:2!important;
  grid-row:1!important;
  place-self:center!important;
  font-size:1.55rem!important;
}
.sf-feature-orbit b {
  position:static!important;
  min-width:0!important;
  grid-column:1!important;
  grid-row:1!important;
  align-self:center!important;
  font-size:.52rem!important;
  line-height:1.5!important;
}

/* Supported-game cards: compact icons and names that stay inside the card. */
.sf-game-carousel { gap:9px!important; }
.sf-game-card {
  flex-basis:min(62vw,230px)!important;
  min-height:244px!important;
  padding:15px!important;
  border-radius:17px!important;
}
.sf-game-card>span {
  top:14px!important;
  left:15px!important;
  font-size:.58rem!important;
}
.sf-game-card>i {
  width:46px!important;
  height:46px!important;
  border-radius:13px!important;
  font-size:1.35rem!important;
}
.sf-game-card>strong {
  max-width:100%!important;
  font-size:1rem!important;
  line-height:1.22!important;
  overflow-wrap:anywhere!important;
}
.sf-game-card>small {
  max-width:100%!important;
  margin-top:12px!important;
  font-size:.7rem!important;
  overflow-wrap:anywhere!important;
}

/* Upcoming loop: enter and leave cleanly at the content-left / screen-right edges. */
.sf-candidate-marquee {
  width:calc(100% + var(--mobile-pad))!important;
  margin:30px calc(var(--mobile-pad) * -1) 0 0!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.sf-candidate-marquee .candidate-group {
  padding-right:10px!important;
  gap:10px!important;
}
.sf-candidate-marquee .candidate-game {
  flex-basis:196px!important;
  width:196px!important;
  min-width:196px!important;
  max-width:196px!important;
  min-height:104px!important;
  padding:13px!important;
  border-radius:18px!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  gap:10px!important;
}
.sf-candidate-marquee .candidate-game>span {
  width:46px!important;
  height:46px!important;
  border-radius:13px!important;
  font-size:1.2rem!important;
}
.sf-candidate-marquee .candidate-game strong {
  padding-top:8px!important;
  font-size:.78rem!important;
  line-height:1.2!important;
}
.sf-candidate-marquee .candidate-game small {
  margin-top:5px!important;
  font-size:.56rem!important;
}

/* Safari uses the real viewport edge; remove the residual page-frame gutter there. */
@media (max-width:720px) {
  html,
  html[data-display-mode="mobile"],
  body,
  html[data-display-mode="mobile"] body {
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    margin-inline:0!important;
    padding-inline:0!important;
    border-inline:0!important;
    box-shadow:none!important;
  }
  .site-header,
  html[data-display-mode="mobile"] .site-header,
  .page-main,
  .final-home,
  .sf-page,
  .legal-page {
    right:0!important;
    left:0!important;
    width:100vw!important;
    min-width:100vw!important;
    max-width:100vw!important;
    margin-inline:0!important;
    border-inline:0!important;
  }
}
