/* Medium Xbox Store fidelity pass. Loaded after store.css.
   Keeps the existing Store implementation intact and only tightens the
   controller-first console presentation plus the Stratus player surfaces. */

/* Store shell */
.xstore-shell{
  grid-template-columns:21.5rem minmax(0,1fr)!important;
  background:#050505!important;
}
.xstore-rail{
  padding:3.2rem 1.15rem 2.4rem!important;
  background:#0b0b0b!important;
  border-right:.1rem solid rgba(255,255,255,.055)!important;
}
.xstore-brand{
  gap:1rem!important;
  padding:0 1.1rem 2.5rem!important;
  font-size:1.75rem!important;
}
.xstore-brand-icon{ width:3rem!important; height:3rem!important; }
.xstore-nav{ gap:.18rem!important; }
.xstore-nav-btn{
  min-height:5rem!important;
  gap:1.15rem!important;
  padding:0 1.1rem!important;
  border-radius:.5rem!important;
  font-size:1.5rem!important;
}
.xstore-nav-btn.active{ background:#1d1d1d!important; }
.xstore-nav-btn.active::before{ height:2.7rem!important; }
.xstore-main{ background:#050505!important; }
.xstore-content{
  padding:2.7rem 3.2rem 7rem!important;
}
.xstore-top{
  height:4.7rem!important;
  margin-bottom:1.35rem!important;
  align-items:center!important;
}
.xstore-breadcrumb{ font-size:1.4rem!important; }
.xstore-account{ font-size:1.35rem!important; }

/* Small console tabs above the featured area. */
.xstore-console-tabs{
  display:flex;
  align-items:center;
  gap:.6rem;
  min-height:4.6rem;
  margin:0 0 1.35rem;
  overflow-x:auto;
  scrollbar-width:none;
}
.xstore-console-tabs::-webkit-scrollbar{ display:none; }
.xstore-console-tab{
  flex:0 0 auto;
  min-height:3.7rem;
  padding:0 1.35rem;
  border:0;
  border-radius:.55rem;
  background:#171717;
  color:#eee;
  font:600 1.25rem/1 'Segoe UI',system-ui,sans-serif;
}
.xstore-console-tab.active{ background:#107c10; color:#fff; }
.xstore-console-tab[data-focused]{
  outline:.3rem solid #fff;
  outline-offset:.2rem;
}

/* Featured area more closely resembles the Xbox Store's promo mosaic. */
.xstore-feature-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 26rem;
  gap:1rem;
  margin-bottom:3.1rem;
}
.xstore-feature-grid .xstore-hero{
  height:34rem!important;
  margin:0!important;
  border-radius:.75rem!important;
}
.xstore-feature-grid .xstore-hero-copy{
  left:3rem!important;
  top:2.8rem!important;
  bottom:2.8rem!important;
  width:42rem!important;
}
.xstore-feature-grid .xstore-hero-title{
  font-size:3.8rem!important;
  max-width:41rem!important;
}
.xstore-feature-grid .xstore-hero-desc{
  max-width:40rem!important;
  font-size:1.38rem!important;
  -webkit-line-clamp:2!important;
}
.xstore-feature-grid .xstore-hero-action{
  min-height:4.2rem!important;
  min-width:15rem!important;
  margin-top:1.15rem!important;
}
.xstore-side-promos{
  display:grid;
  grid-template-rows:1fr 1fr;
  gap:1rem;
  min-width:0;
}
.xstore-mini-promo{
  position:relative;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:.75rem;
  padding:0;
  background:#151515;
  color:#fff;
  text-align:left;
}
.xstore-mini-promo-art{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.01);
}
.xstore-mini-promo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 28%,rgba(0,0,0,.18) 54%,rgba(0,0,0,.91) 100%);
}
.xstore-mini-promo-copy{
  position:absolute;
  z-index:1;
  left:1.5rem;
  right:1.5rem;
  bottom:1.35rem;
}
.xstore-mini-promo-kicker{
  display:block;
  margin-bottom:.3rem;
  color:#9bf00b;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.07rem;
  text-transform:uppercase;
}
.xstore-mini-promo-title{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:1.55rem;
  font-weight:650;
}
.xstore-mini-promo[data-focused]{
  outline:.35rem solid #fff;
  outline-offset:.25rem;
  z-index:2;
}

/* Denser shelves and cards, closer to a 10-foot console UI. */
.xstore-shelf{ margin-bottom:3.25rem!important; }
.xstore-shelf-head{
  min-height:3.8rem!important;
  margin-bottom:1rem!important;
}
.xstore-shelf-title{ font-size:2.15rem!important; }
.xstore-row{
  grid-auto-columns:16.7rem!important;
  gap:1rem!important;
  padding:.45rem .45rem 1rem!important;
}
.store-cover{
  border-radius:.62rem!important;
  background:#171717!important;
}
.store-game-meta{ padding:.72rem .08rem 0!important; }
.store-game-title{ font-size:1.35rem!important; }
.store-game-price{ font-size:1.17rem!important; }
.store-game-sub{ font-size:1.05rem!important; }
.store-cloud-badge{
  left:.6rem!important;
  bottom:.6rem!important;
  height:2.2rem!important;
  border-radius:.45rem!important;
  background:rgba(0,0,0,.83)!important;
}
.store-owned-badge{ border-radius:.4rem!important; }
.store-game[data-focused] .store-cover{
  outline:.35rem solid #fff!important;
  outline-offset:.24rem!important;
}

/* Gallery pages */
.xstore-gallery-title{ font-size:3.45rem!important; }
.xstore-gallery-head{ margin:.4rem 0 1.45rem!important; }
.xstore-filters{ margin-bottom:1.7rem!important; }
.xstore-filter{ border-radius:.5rem!important; }
.xstore-grid{
  grid-template-columns:repeat(auto-fill,minmax(15.5rem,1fr))!important;
  gap:2.15rem 1.15rem!important;
}
.xstore-search-wrap{
  height:5rem!important;
  max-width:74rem!important;
  border-radius:.55rem!important;
}

/* Product detail: keep artwork visible while the purchase/play actions read first. */
.xproduct-art{ opacity:.62!important; }
.xproduct-scrim{
  background:linear-gradient(90deg,rgba(0,0,0,.985) 0%,rgba(0,0,0,.93) 32%,rgba(0,0,0,.52) 67%,rgba(0,0,0,.28) 100%)!important;
}
.xproduct-body{
  gap:3.3rem!important;
  padding:5.1rem 6rem 4.5rem!important;
}
.xproduct-cover{
  width:24rem!important;
  border-radius:.72rem!important;
}
.xproduct-copy{ max-width:71rem!important; }
.xproduct-title{
  font-size:4.7rem!important;
  margin-bottom:1rem!important;
}
.xproduct-desc{
  max-width:64rem!important;
  font-size:1.5rem!important;
  -webkit-line-clamp:4!important;
}
.xproduct-actions{ gap:.7rem!important; margin-top:1.8rem!important; }
.xproduct-action{
  min-height:4.55rem!important;
  border-radius:.5rem!important;
}
.xproduct-action.primary{
  min-width:20rem!important;
  background:#107c10!important;
  color:#fff!important;
}
.xproduct-action.primary.play{
  background:#107c10!important;
  color:#fff!important;
}
.xproduct-action[data-focused]{
  outline:.35rem solid #fff!important;
  outline-offset:.23rem!important;
}
.xproduct-console-facts{
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin:1.3rem 0 0;
}
.xproduct-console-fact{
  min-height:3rem;
  display:inline-flex;
  align-items:center;
  padding:0 .9rem;
  border-radius:.45rem;
  background:rgba(255,255,255,.105);
  color:rgba(255,255,255,.86);
  font-size:1.1rem;
  font-weight:600;
}

/* Cloud connection screen */
#launch{
  background:#050505!important;
}
#launch .launch-art{
  opacity:.32!important;
  filter:blur(1.2rem) saturate(.9)!important;
  transform:scale(1.06)!important;
}
#launch .launch-center{
  min-width:0;
}
.cloud-launch-brand{
  margin-bottom:1.5rem;
  color:#9bf00b;
  font-size:1.15rem;
  font-weight:800;
  letter-spacing:.12rem;
  text-transform:uppercase;
}
.cloud-launch-cancel{
  min-width:0;
  min-height:3.4rem;
  margin-top:.8rem;
  padding:0 1.4rem;
  border:.1rem solid rgba(255,255,255,.18);
  border-radius:1.8rem;
  background:rgba(0,0,0,.28);
  color:rgba(255,255,255,.7);
  font:600 1.08rem/1 'Segoe UI',system-ui,sans-serif;
}
.cloud-launch-cancel:active{ transform:scale(.98); }

/* Full-screen cloud player chrome. */
#player.cloud-player{
  position:fixed!important;
  inset:0!important;
  z-index:1000!important;
  background:#000!important;
}
#player.cloud-player #playerFrame{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  border:0!important;
  background:#000!important;
}
.cloud-player-hud{
  position:absolute;
  z-index:1002;
  left:2rem;
  right:2rem;
  top:1.7rem;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  opacity:1;
  transition:opacity .35s ease;
  pointer-events:none;
}
.cloud-player-hud.hide{ opacity:0; }
.cloud-player-exit{
  pointer-events:auto;
  width:4rem;
  height:4rem;
  min-width:0;
  min-height:0;
  display:grid;
  place-items:center;
  padding:0;
  border:.1rem solid rgba(255,255,255,.15);
  border-radius:50%;
  background:rgba(0,0,0,.42);
  color:#fff;
  font:500 2rem/1 'Segoe UI',system-ui,sans-serif;
  backdrop-filter:blur(.7rem);
}
.cloud-player-exit svg{ width:1.75rem; height:1.75rem; }
#player.cloud-player .player-hint{
  display:none!important;
}

@media (max-aspect-ratio:16/10){
  .xstore-shell{ grid-template-columns:18.5rem minmax(0,1fr)!important; }
  .xstore-content{ padding-left:2.4rem!important; padding-right:2.4rem!important; }
  .xstore-feature-grid{ grid-template-columns:minmax(0,1fr) 21rem; }
  .xstore-feature-grid .xstore-hero-copy{ width:36rem!important; }
  .xstore-side-promos{ gap:.8rem; }
  .xstore-row{ grid-auto-columns:15.5rem!important; }
  .xstore-grid{ grid-template-columns:repeat(auto-fill,minmax(14.5rem,1fr))!important; }
  .xproduct-body{ padding-left:4.5rem!important; padding-right:4.5rem!important; }
  .xproduct-cover{ width:21.5rem!important; }
}


/* Deals & specials ----------------------------------------------------- */
.xstore-deals{
  margin:0 0 3.5rem;
}
.xstore-deals-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:2rem;
  margin:0 0 1.2rem;
}
.xstore-deals-kicker{
  margin-bottom:.45rem;
  color:#9bf00b;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.11rem;
}
.xstore-deals-head h2{
  margin:0;
  color:#fff;
  font-size:2.45rem;
  line-height:1;
  font-weight:600;
}
.xstore-deals-head p{
  margin:.55rem 0 0;
  color:rgba(255,255,255,.56);
  font-size:1.15rem;
}
.xstore-deals-callout{
  flex:0 0 auto;
  min-height:3rem;
  display:flex;
  align-items:center;
  padding:0 1rem;
  border-radius:.4rem;
  background:#9bf00b;
  color:#081006;
  font-size:1.02rem;
  font-weight:900;
  letter-spacing:.04rem;
}
.xstore-deals-grid{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(34rem,.78fr);
  gap:1rem;
  min-height:31rem;
}
.xstore-deals-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:1rem;
  min-width:0;
}
.xstore-deal-promo{
  position:relative;
  min-width:0;
  min-height:0;
  overflow:hidden;
  border:0;
  border-radius:.75rem;
  padding:0;
  background:#171717;
  color:#fff;
  text-align:left;
}
.xstore-deal-promo-art{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  transform:scale(1.015);
  transition:transform .28s ease;
}
.xstore-deal-promo::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 16%,rgba(0,0,0,.18) 48%,rgba(0,0,0,.92) 100%),
    linear-gradient(90deg,rgba(0,0,0,.42),transparent 58%);
}
.xstore-deal-promo.featured::after{
  background:linear-gradient(90deg,rgba(0,0,0,.9) 0%,rgba(0,0,0,.54) 48%,rgba(0,0,0,.12) 100%);
}
.xstore-deal-promo-copy{
  position:absolute;
  z-index:2;
  left:1.35rem;
  right:1.35rem;
  bottom:1.25rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.xstore-deal-promo.featured .xstore-deal-promo-copy{
  left:2.5rem;
  right:42%;
  bottom:2.25rem;
}
.xstore-deal-save{
  min-height:2.35rem;
  display:inline-flex;
  align-items:center;
  padding:0 .7rem;
  margin-bottom:.65rem;
  border-radius:.32rem;
  background:#9bf00b;
  color:#081006;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.035rem;
}
.xstore-deal-name{
  max-width:100%;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  color:#fff;
  font-size:1.42rem;
  font-weight:700;
}
.xstore-deal-promo.featured .xstore-deal-name{
  white-space:normal;
  font-size:2.85rem;
  line-height:1.03;
}
.xstore-deal-prices{
  display:flex;
  align-items:baseline;
  gap:.7rem;
  margin-top:.55rem;
}
.xstore-deal-prices del{
  color:rgba(255,255,255,.56);
  font-size:1rem;
}
.xstore-deal-prices strong{
  color:#fff;
  font-size:1.25rem;
  font-weight:750;
}
.xstore-deal-promo.featured .xstore-deal-prices strong{ font-size:1.8rem; }
.xstore-deal-note{
  margin-top:.5rem;
  color:rgba(255,255,255,.66);
  font-size:1.08rem;
}
.xstore-deal-promo[data-focused]{
  outline:.35rem solid #fff;
  outline-offset:.24rem;
  z-index:3;
}
.xstore-deal-promo[data-focused] .xstore-deal-promo-art{
  transform:scale(1.045);
}

.store-deal-badge{
  position:absolute;
  z-index:4;
  left:.65rem;
  top:.65rem;
  min-height:2.35rem;
  display:flex;
  align-items:center;
  padding:0 .62rem;
  border-radius:.35rem;
  background:#9bf00b;
  color:#071006;
  font-size:.88rem;
  font-weight:900;
  letter-spacing:.025rem;
}
.store-price-deal{
  display:flex!important;
  align-items:baseline;
  gap:.55rem;
}
.store-price-old{
  color:rgba(255,255,255,.42);
  font-size:.98rem;
  font-weight:500;
  text-decoration:line-through;
}
.store-price-new{
  color:#d4f20c;
  font-size:1.2rem;
  font-weight:750;
}
.xproduct-deal-strip{
  width:max-content;
  max-width:100%;
  min-height:3.4rem;
  display:flex;
  align-items:center;
  gap:.85rem;
  margin:0 0 1.25rem;
  padding:0 .95rem;
  border-radius:.45rem;
  background:rgba(155,240,11,.12);
  border:.1rem solid rgba(155,240,11,.3);
}
.xproduct-deal-strip b{
  color:#9bf00b;
  font-size:1.1rem;
  font-weight:900;
}
.xproduct-deal-strip span{
  color:rgba(255,255,255,.72);
  font-size:1.05rem;
}
.xproduct-price{
  display:flex;
  align-items:baseline;
  gap:.9rem;
}
.xproduct-price-old{
  color:rgba(255,255,255,.42);
  font-size:1.35rem;
  font-weight:500;
}
.xproduct-price-now{
  color:#fff;
  font-size:2.15rem;
  font-weight:700;
}

@media (max-aspect-ratio:16/10){
  .xstore-deals-grid{
    grid-template-columns:minmax(0,1.18fr) minmax(29rem,.82fr);
    min-height:28rem;
  }
  .xstore-deal-promo.featured .xstore-deal-promo-copy{
    right:34%;
  }
  .xstore-deal-promo.featured .xstore-deal-name{
    font-size:2.45rem;
  }
}




/* Living Store discovery rows ------------------------------------------------ */
.xstore-discovery-home{
  padding-bottom:7rem!important;
}
.xstore-shelf{
  position:relative;
  margin-bottom:2.15rem!important;
  background:transparent!important;
  box-shadow:none!important;
}
.xstore-shelf-head{
  min-height:3.15rem!important;
  margin-bottom:.62rem!important;
  align-items:flex-end!important;
}
.xstore-shelf-kicker{
  margin-bottom:.36rem;
  color:#9bf00b;
  font-size:.86rem;
  line-height:1;
  font-weight:850;
  letter-spacing:.11rem;
}
.xstore-shelf-title{
  font-size:2.12rem!important;
  font-weight:650!important;
  letter-spacing:-.025em;
}
.xstore-shelf-sub{
  margin-top:.32rem!important;
  max-width:60rem;
  color:rgba(255,255,255,.46)!important;
}
.xstore-shelf-motion{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  margin-bottom:.08rem;
  color:rgba(255,255,255,.30);
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.075rem;
}
.xstore-shelf-motion > span:first-child{
  width:2.3rem;
  height:.16rem;
  overflow:hidden;
  border-radius:1rem;
  background:rgba(255,255,255,.1);
  position:relative;
}
.xstore-shelf-motion > span:first-child::after{
  content:'';
  position:absolute;
  inset:0;
  width:42%;
  border-radius:inherit;
  background:#9bf00b;
  animation:xstoreAutoIndicator 2.8s linear infinite;
}
@keyframes xstoreAutoIndicator{
  from{ transform:translateX(-120%); }
  to{ transform:translateX(310%); }
}
.xstore-row{
  grid-auto-columns:15.75rem!important;
  gap:.62rem!important;
  padding:.18rem .18rem .58rem!important;
  margin-left:-.18rem!important;
  background:transparent!important;
  box-shadow:none!important;
}
.xstore-row.wide{
  grid-auto-columns:24rem!important;
}
.xstore-row[data-auto-rotate="1"]{
  scroll-behavior:auto!important;
  scroll-snap-type:none!important;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(90deg,transparent 0,#000 1.25rem,#000 calc(100% - 2.25rem),transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 1.25rem,#000 calc(100% - 2.25rem),transparent 100%);
}
.xstore-row[data-auto-rotate="1"]:hover,
.xstore-row[data-auto-rotate="1"]:focus-within{
  mask-image:none;
  -webkit-mask-image:none;
}
.xstore-row .store-game,
.xstore-row .store-game-meta,
.xstore-row .store-cover{
  background:transparent!important;
  box-shadow:none!important;
}
.xstore-row .store-cover{
  border-radius:.5rem!important;
}
.xstore-row .store-game-meta{
  padding:.48rem .02rem 0!important;
}
.xstore-row .store-game-title{
  font-size:1.28rem!important;
}
.xstore-row .store-game-price{
  margin-top:.18rem!important;
}
.xstore-row .store-game-sub{
  margin-top:.12rem!important;
}
.xstore-carousel-clone{
  pointer-events:none!important;
}
@media (prefers-reduced-motion: reduce){
  .xstore-shelf-motion{ display:none; }
  .xstore-row[data-auto-rotate="1"]{
    scroll-behavior:auto!important;
    mask-image:none;
    -webkit-mask-image:none;
  }
}


/* Store rail cleanup v3 ------------------------------------------------------ */
.xstore-discovery-home .xstore-shelf{
  margin-bottom:2.75rem!important;
}
.xstore-discovery-home .xstore-shelf-head{
  margin-bottom:.8rem!important;
}
.xstore-discovery-home .xstore-row{
  grid-auto-columns:23.5rem!important;
  gap:.85rem!important;
  padding:.2rem .2rem .65rem!important;
  margin-left:-.2rem!important;
}
.xstore-discovery-home .xstore-row.wide{
  grid-auto-columns:23.5rem!important;
}
.xstore-discovery-home .store-game{
  width:auto!important;
  min-width:0!important;
  background:transparent!important;
}
.xstore-discovery-home .store-cover{
  aspect-ratio:16/9!important;
  height:auto!important;
  border-radius:.72rem!important;
  background:transparent!important;
  box-shadow:none!important;
}
.xstore-discovery-home .store-cover img{
  object-fit:cover!important;
}
.xstore-discovery-home .store-game-meta{
  min-height:0!important;
  padding:.58rem .04rem 0!important;
  background:transparent!important;
}
.xstore-discovery-home .store-game-title{
  display:block!important;
  font-size:1.34rem!important;
  line-height:1.15!important;
  font-weight:600!important;
}
.xstore-discovery-home .store-game-price{
  margin-top:.2rem!important;
  font-size:1.05rem!important;
  color:rgba(255,255,255,.68)!important;
}
.xstore-discovery-home .store-game-sub{
  display:none!important;
}
.xstore-discovery-home .store-cloud-mark{
  width:2.15rem!important;
  height:2.15rem!important;
  left:.55rem!important;
  bottom:.55rem!important;
}
.xstore-discovery-home .store-owned-badge,
.xstore-discovery-home .store-deal-badge{
  top:.55rem!important;
  right:.55rem!important;
}
.xstore-discovery-home .store-game[data-focused] .store-cover{
  outline:.28rem solid #fff!important;
  outline-offset:.22rem!important;
  transform:scale(1.015);
}
.xstore-discovery-home .xstore-shelf-kicker{
  margin-bottom:.3rem!important;
}
.xstore-discovery-home .xstore-shelf-title{
  font-size:2rem!important;
}
.xstore-discovery-home .xstore-shelf-sub{
  margin-top:.28rem!important;
  font-size:1.08rem!important;
}
.xstore-discovery-home .xstore-shelf-motion{
  display:none!important;
}


/* Purchase flow rework ---------------------------------------------------- */
.xproduct{
  background:#050505!important;
}
.xproduct-art{
  inset:0!important;
  opacity:.72!important;
  filter:saturate(.82) brightness(.52)!important;
}
.xproduct-scrim{
  background:
    linear-gradient(90deg,rgba(3,3,3,.99) 0%,rgba(3,3,3,.94) 33%,rgba(3,3,3,.72) 62%,rgba(3,3,3,.36) 100%),
    linear-gradient(0deg,rgba(0,0,0,.62),transparent 48%)!important;
}
.xproduct-body{
  height:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 35rem!important;
  gap:4.2rem!important;
  align-items:center!important;
  padding:7.2rem 7rem 5.8rem 8rem!important;
}
.xproduct-main{
  min-width:0;
  display:grid;
  grid-template-columns:22rem minmax(0,1fr);
  align-items:center;
  gap:3.4rem;
}
.xproduct-cover{
  width:22rem!important;
  border-radius:.7rem!important;
  box-shadow:0 2.2rem 5.8rem rgba(0,0,0,.62)!important;
}
.xproduct-copy{
  min-width:0;
  max-width:66rem!important;
  max-height:78vh;
  overflow-y:auto;
  padding:.4rem .5rem 2rem 0;
  scrollbar-width:none;
}
.xproduct-copy::-webkit-scrollbar{display:none}
.xproduct-type{
  margin-bottom:.75rem!important;
  font-size:1.08rem!important;
  letter-spacing:.12rem!important;
}
.xproduct-title{
  max-width:62rem!important;
  font-size:4.45rem!important;
  line-height:1.02!important;
  margin-bottom:1rem!important;
}
.xproduct-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem 1.2rem;
}
.xproduct-rating{
  margin-top:0!important;
}
.xproduct-badges{
  margin:1.15rem 0 1.3rem!important;
}
.xproduct-desc{
  max-width:60rem!important;
  font-size:1.42rem!important;
  line-height:1.44!important;
  -webkit-line-clamp:3!important;
}
.xproduct-cloud-row{
  margin-top:1.4rem!important;
  max-width:56rem!important;
}
.xproduct-rich-details{
  margin-top:1.6rem!important;
}
.xproduct-rich-facts{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.xproduct-rich-gallery{
  max-width:56rem;
}

.xproduct-buy-card{
  width:100%;
  align-self:center;
  padding:2.8rem 2.8rem 2.5rem;
  border-radius:1.15rem;
  background:rgba(17,17,17,.94);
  border:.1rem solid rgba(255,255,255,.11);
  box-shadow:0 2.5rem 8rem rgba(0,0,0,.55);
  backdrop-filter:blur(1.6rem) saturate(1.15);
  -webkit-backdrop-filter:blur(1.6rem) saturate(1.15);
}
.xproduct-buy-kicker{
  color:rgba(255,255,255,.52);
  font-size:1.05rem;
  font-weight:700;
  letter-spacing:.11rem;
}
.xproduct-buy-title{
  margin-top:.55rem;
  font-size:2.15rem;
  line-height:1.12;
  font-weight:600;
}
.xproduct-buy-card .xproduct-price{
  margin-top:2rem!important;
  display:flex;
  align-items:baseline;
  gap:.8rem;
  font-size:3.15rem!important;
  line-height:1;
  font-weight:650!important;
}
.xproduct-buy-card .xproduct-price-old{
  font-size:1.35rem!important;
  color:rgba(255,255,255,.4)!important;
}
.xproduct-buy-card .xproduct-price-now{
  font-size:3.15rem!important;
  color:#fff!important;
}
.xproduct-buy-card .xproduct-ownership{
  margin-top:.65rem!important;
  color:rgba(255,255,255,.56)!important;
}
.xproduct-buy-rule{
  height:.1rem;
  margin:2rem 0 1.7rem;
  background:rgba(255,255,255,.1);
}
.xproduct-buy-benefits{
  display:grid;
  gap:.9rem;
  color:rgba(255,255,255,.78);
  font-size:1.15rem;
}
.xproduct-buy-card .xproduct-actions{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:.8rem!important;
  margin-top:2.1rem!important;
}
.xproduct-buy-card .xproduct-action{
  width:100%;
  min-width:0!important;
  min-height:5rem!important;
  border-radius:.55rem!important;
  font-size:1.22rem!important;
}
.xproduct-buy-card .xproduct-action.primary{
  background:#107c10!important;
}
.xproduct-buy-card .xproduct-action.secondary{
  background:rgba(255,255,255,.1)!important;
  color:#fff!important;
}
.xproduct-buy-foot{
  margin-top:1.25rem;
  color:rgba(255,255,255,.36);
  font-size:.98rem;
}

/* Purchase confirmation layer */
.xcheckout{
  position:absolute;
  inset:0;
  z-index:220;
  display:grid;
  place-items:center;
  animation:xcheckoutIn .16s ease-out both;
}
.xcheckout.out{animation:xcheckoutOut .16s ease-in both}
.xcheckout-scrim{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(.7rem);
  -webkit-backdrop-filter:blur(.7rem);
}
.xcheckout-panel{
  position:relative;
  z-index:1;
  width:min(52rem,calc(100vw - 5rem));
  max-height:calc(100vh - 6rem);
  overflow:auto;
  padding:3.2rem;
  border-radius:1.1rem;
  background:#171717;
  border:.1rem solid rgba(255,255,255,.12);
  box-shadow:0 3rem 9rem rgba(0,0,0,.7);
}
.xcheckout-kicker{
  color:#9bf00b;
  font-size:1rem;
  font-weight:800;
  letter-spacing:.12rem;
}
.xcheckout-head h2{
  margin:.55rem 0 2.4rem;
  font-size:3rem;
  font-weight:600;
}
.xcheckout-game{
  display:flex;
  align-items:center;
  gap:1.5rem;
  padding:1.2rem;
  background:rgba(255,255,255,.055);
  border-radius:.8rem;
}
.xcheckout-game img{
  width:7.2rem;
  height:9.6rem;
  object-fit:cover;
  border-radius:.45rem;
}
.xcheckout-game div{
  display:grid;
  gap:.45rem;
}
.xcheckout-game strong{
  font-size:1.65rem;
}
.xcheckout-game span{
  color:rgba(255,255,255,.52);
  font-size:1.05rem;
}
.xcheckout-line{
  min-height:5.3rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  border-bottom:.1rem solid rgba(255,255,255,.08);
  color:rgba(255,255,255,.7);
  font-size:1.2rem;
}
.xcheckout-line > span:last-child{
  display:flex;
  align-items:baseline;
  gap:.75rem;
  color:#fff;
}
.xcheckout-line del{
  color:rgba(255,255,255,.38);
}
.xcheckout-line.total{
  min-height:6.6rem;
  font-size:1.4rem;
  color:#fff;
}
.xcheckout-line.total strong{
  font-size:2rem;
}
.xcheckout-profile{
  display:flex;
  align-items:center;
  gap:1.1rem;
  margin-top:1.8rem;
}
.xcheckout-profile-dot{
  width:3.8rem;
  height:3.8rem;
  border-radius:50%;
  background:#000;
  border:.12rem solid rgba(255,255,255,.18);
}
.xcheckout-profile div{
  display:grid;
  gap:.2rem;
}
.xcheckout-profile strong{font-size:1.2rem}
.xcheckout-profile small{
  color:rgba(255,255,255,.45);
  font-size:.95rem;
}
.xcheckout-note{
  margin-top:1.7rem;
  padding:1.15rem 1.25rem;
  border-radius:.65rem;
  background:rgba(255,255,255,.05);
  color:rgba(255,255,255,.55);
  font-size:1rem;
  line-height:1.4;
}
.xcheckout-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.9rem;
  margin-top:2.2rem;
}
.xcheckout-confirm,
.xcheckout-cancel{
  min-height:5rem;
  border-radius:.55rem;
  font-size:1.2rem;
  font-weight:750;
}
.xcheckout-confirm{
  background:#107c10;
  color:#fff;
}
.xcheckout-cancel{
  background:#efefef;
  color:#111;
}
.xcheckout-confirm[data-focused],
.xcheckout-cancel[data-focused]{
  outline:.35rem solid #fff;
  outline-offset:.22rem;
}
@keyframes xcheckoutIn{
  from{opacity:0;transform:scale(.985)}
  to{opacity:1;transform:none}
}
@keyframes xcheckoutOut{
  from{opacity:1;transform:none}
  to{opacity:0;transform:scale(.985)}
}

@media (max-width:1100px){
  .xproduct-body{
    grid-template-columns:1fr!important;
    align-content:start!important;
    overflow-y:auto;
    padding:7rem 3rem 4rem!important;
  }
  .xproduct-main{
    grid-template-columns:17rem minmax(0,1fr);
    gap:2.4rem;
  }
  .xproduct-cover{width:17rem!important}
  .xproduct-copy{max-height:none}
  .xproduct-buy-card{width:min(48rem,100%);margin:0 auto}
}

@media (max-width:720px){
  .xproduct-body{
    padding:7rem 1.6rem 3rem!important;
    gap:2.4rem!important;
  }
  .xproduct-main{
    grid-template-columns:1fr;
    justify-items:center;
  }
  .xproduct-cover{width:15.5rem!important}
  .xproduct-copy{width:100%;max-width:none!important}
  .xproduct-title{font-size:3.4rem!important}
  .xproduct-buy-card{padding:2rem}
  .xcheckout-panel{padding:2.2rem}
  .xcheckout-actions{grid-template-columns:1fr}
}


/* Rounder purchase surfaces ------------------------------------------------ */
.xproduct-cover{
  border-radius:1.25rem!important;
}
.xproduct-buy-card{
  border-radius:2rem!important;
  padding:3rem 3rem 2.7rem!important;
}
.xproduct-buy-card .xproduct-action{
  border-radius:1rem!important;
}
.xproduct-buy-rule{
  margin:2.1rem 0 1.8rem!important;
}
.xproduct-buy-benefits{
  padding:1rem 1.15rem;
  border-radius:1.15rem;
  background:rgba(255,255,255,.045);
}
.xproduct-badges span{
  border-radius:.8rem!important;
}
.xproduct-deal-strip{
  border-radius:1rem!important;
}

.xcheckout-panel{
  border-radius:2rem!important;
  padding:3.4rem!important;
}
.xcheckout-game{
  border-radius:1.35rem!important;
  padding:1.35rem!important;
}
.xcheckout-game img{
  border-radius:.9rem!important;
}
.xcheckout-line{
  margin-top:.65rem;
  padding:0 1.15rem;
  border-bottom:0!important;
  border-radius:1rem;
  background:rgba(255,255,255,.035);
}
.xcheckout-line.total{
  margin-top:.9rem;
  background:rgba(255,255,255,.065);
}
.xcheckout-profile{
  padding:1rem 1.1rem;
  border-radius:1rem;
  background:rgba(255,255,255,.035);
}
.xcheckout-profile-dot{
  border-radius:1.05rem!important;
}
.xcheckout-note{
  border-radius:1.15rem!important;
}
.xcheckout-confirm,
.xcheckout-cancel{
  border-radius:1rem!important;
}

@media (max-width:720px){
  .xproduct-buy-card{
    border-radius:1.6rem!important;
    padding:2.2rem!important;
  }
  .xcheckout-panel{
    border-radius:1.6rem!important;
    padding:2.3rem!important;
  }
}
