/* Product gallery and a fixed-width order status prevent text from collapsing at desktop widths. */
.gallery { display:flex; gap:8px; min-height:46px; margin-top:10px; color:#8f97a4; font-size:11px; align-items:center; }
.gallery-shot { width:96px; height:54px; padding:0; overflow:hidden; border:1px solid #303644; border-radius:5px; background:#232833; opacity:.72; }
.gallery-shot:hover,.gallery-shot.selected { border-color:var(--acid); opacity:1; }
.gallery-shot img { width:100%; height:100%; display:block; object-fit:cover; }
main.success { width:min(calc(100% - 48px), 680px); max-width:none; padding:100px 0 72px; margin:0 auto; }
main.success h1,main.success h2,main.success p,main.success small { max-width:620px; margin-left:auto; margin-right:auto; }
.hero-main { background-image:linear-gradient(90deg,rgba(8,10,12,.94) 0%,rgba(8,10,12,.60) 45%,rgba(8,10,12,.08)),url('https://cdn.cloudflare.steamstatic.com/steam/apps/1091500/header.jpg'); background-size:cover; background-position:center; }
.slider-hero { background:#0c0e13; }
.slider-hero .hero-art { position:absolute; inset:0; width:100%; height:100%; z-index:0; object-fit:cover; object-position:center; }
.slider-hero::before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(8,10,12,.95),rgba(8,10,12,.70) 42%,rgba(8,10,12,.12) 80%); }
.slider-hero::after { z-index:1; opacity:.15; }
.slider-hero > :not(.hero-art) { position:relative; z-index:2; }
.mood-violet::before { background:linear-gradient(90deg,rgba(13,9,25,.96),rgba(26,15,48,.67) 44%,rgba(29,13,55,.13)); }.mood-red::before { background:linear-gradient(90deg,rgba(22,7,7,.96),rgba(49,13,13,.68) 44%,rgba(65,8,8,.13)); }.mood-gold::before { background:linear-gradient(90deg,rgba(17,12,4,.96),rgba(45,28,6,.66) 44%,rgba(68,36,5,.14)); }.mood-blue::before { background:linear-gradient(90deg,rgba(5,16,27,.96),rgba(9,34,61,.67) 44%,rgba(11,52,85,.12)); }.mood-orange::before { background:linear-gradient(90deg,rgba(18,10,6,.96),rgba(53,20,10,.67) 44%,rgba(71,29,7,.12)); }
.banner-arrow { position:absolute!important; top:50%; transform:translateY(-50%); z-index:4!important; width:34px; height:34px; border:1px solid rgba(255,255,255,.25); border-radius:50%; background:rgba(8,10,13,.48); color:#fff; font-size:17px; opacity:0; transition:.2s; }.hero-main:hover .banner-arrow{opacity:1}.banner-arrow.previous{left:15px}.banner-arrow.next{right:15px}.banner-arrow:hover{border-color:var(--acid);color:var(--acid)}
.banner-dots { position:absolute!important; z-index:4!important; display:flex; gap:6px; right:22px; bottom:19px; }.banner-dots button{width:7px;height:7px;border:0;border-radius:10px;background:#e9edf277;padding:0;transition:.2s}.banner-dots button.active{width:24px;background:var(--acid)}
.side-card.blue { background:#244581; }
.side-card.purple { background:#4b3263; }
.side-card::after { content:'⌁'; font-size:120px; line-height:1; position:absolute; right:-10px; bottom:-32px; color:rgba(255,255,255,.07); }
.side-card small,.side-card h2,.side-card p,.side-card a { position:relative; z-index:1; }
.all-games-heading { margin-top:12px; }
.all-games { margin-bottom:46px; }
.search:focus-within { outline:2px solid rgba(184,250,53,.65); outline-offset:2px; }
.search kbd { display:none; }
.how-buy { min-height:680px; padding-top:48px; padding-bottom:58px; }
.how-hero { padding:28px 0 42px; border-bottom:1px solid var(--line); }
.how-hero p,.faq>div>p { color:var(--acid); font-size:11px; font-weight:800; margin:0 0 10px; }
.how-hero h1 { font-size:42px; letter-spacing:-2px; line-height:1.08; margin:0 0 16px; }
.how-hero span { color:var(--muted); }
.buy-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin:35px 0 60px; }
.buy-steps article { min-height:230px; background:var(--panel); padding:22px; }
.buy-steps b { color:var(--acid); font-size:12px; }
.buy-steps h2 { font-size:17px; margin:38px 0 10px; }
.buy-steps p { color:var(--muted); font-size:12px; line-height:1.65; margin:0; }
.buy-steps button { border:0; background:transparent; color:var(--acid); padding:0; margin-top:16px; font-weight:800; font-size:11px; }
.faq { display:grid; grid-template-columns:.75fr 1.25fr; gap:70px; max-width:970px; margin-bottom:60px; }
.faq h2 { font-size:27px; margin:0; }
.faq-list details { border-top:1px solid var(--line); padding:18px 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; font-size:14px; font-weight:700; }
.faq-list p { color:var(--muted); font-size:12px; line-height:1.7; margin:12px 0 0; }
.support-panel { display:flex; justify-content:space-between; align-items:center; background:linear-gradient(105deg,#1d382c,#1c3c4e); border-radius:12px; padding:27px 30px; }
.support-panel span { color:#c7f687; font-size:11px; font-weight:800; }.support-panel h2 { margin:7px 0 0; font-size:21px; line-height:1.25; }
@media(max-width:780px){.how-hero h1{font-size:31px}.buy-steps{grid-template-columns:1fr 1fr}.faq{grid-template-columns:1fr;gap:25px}.support-panel{align-items:flex-start;gap:20px;flex-direction:column}}
.modal-backdrop { position:fixed; inset:0; z-index:20; display:grid; place-items:center; padding:20px; background:rgba(3,5,8,.76); backdrop-filter:blur(5px); }
.support-modal { width:min(100%,470px); position:relative; background:#171b24; border:1px solid #303744; border-radius:13px; padding:29px; box-shadow:0 24px 80px #0009; }
.modal-close { position:absolute; right:15px; top:12px; border:0; background:transparent; color:#9da6b4; font-size:28px; line-height:1; }
.support-kicker { color:var(--acid); font-size:10px; font-weight:800; }.support-modal h2 { font-size:25px; margin:9px 0 7px; }.support-modal>p { color:var(--muted); font-size:12px; margin:0 0 23px; }
.support-modal form { display:grid; gap:15px; }.support-modal label { display:grid; gap:7px; font-size:12px; font-weight:700; }.support-modal input,.support-modal textarea { width:100%; color:#f5f7f8; border:1px solid #363d4b; background:#0e1117; border-radius:6px; padding:11px; outline-color:var(--acid); }.support-modal textarea { min-height:110px; resize:vertical; }.support-modal small { display:block; color:#818a98; text-align:center; margin-top:16px; font-size:10px; }
.support-sent { padding:18px 4px; text-align:center; }.support-sent>span { width:38px; height:38px; display:grid; place-items:center; margin:auto; border-radius:50%; background:var(--acid); color:#13170b; font-size:20px; font-weight:800; }.support-sent h3 { margin:13px 0 6px; }.support-sent p { color:var(--muted); font-size:12px; line-height:1.6; }
@media(min-width:1100px){
  header,.subnav,main,footer{padding-left:max(40px,calc((100% - 1440px)/2));padding-right:max(40px,calc((100% - 1440px)/2))}
  .grid{gap:20px}
  .game-card .art{height:185px}
  .game-card h3{font-size:15px}
  .game-card p{height:32px;font-size:11px}
  .card-body{padding:13px}
}
@media(max-width:780px){.gallery-shot{width:70px;height:42px}main.success{width:min(calc(100% - 32px), 680px);padding-top:64px}}

/* Futuristic, banner-linked information modules */
.hero-side { gap:14px; }
.side-card.delivery-panel,.side-card.deal-panel { min-height:0; padding:16px; border:1px solid rgba(172,205,255,.13); isolation:isolate; transition:transform .32s ease,border-color .32s ease,box-shadow .32s ease; }
.side-card.delivery-panel { background:linear-gradient(135deg,#102541 0%,#193c71 100%); }
.side-card.deal-panel { background:linear-gradient(135deg,#302040 0%,#56346f 100%); }
.side-card.delivery-panel:hover,.side-card.deal-panel:hover { transform:translateY(-2px); border-color:rgba(184,250,53,.62); box-shadow:0 10px 28px rgba(0,0,0,.28),inset 0 0 0 1px rgba(184,250,53,.1); }
.side-card.delivery-panel::before,.side-card.deal-panel::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.3; background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px); background-size:16px 16px; mask-image:linear-gradient(135deg,#000,transparent 80%); }
.side-card.delivery-panel::after,.side-card.deal-panel::after { content:""; width:150%; height:1px; position:absolute; left:-25%; top:0; background:linear-gradient(90deg,transparent,rgba(184,250,53,.1),rgba(184,250,53,.95),rgba(184,250,53,.1),transparent); animation:panel-scan 5s linear infinite; }
.panel-top { display:flex; align-items:center; gap:6px; min-height:13px; color:#e5edfa; }
.panel-top small { font-size:9px; letter-spacing:.2px; }.panel-code { margin-left:auto; color:rgba(255,255,255,.35); font:700 9px/1 monospace; }
.live-dot { display:block; width:6px; height:6px; border-radius:50%; background:var(--acid); box-shadow:0 0 0 0 rgba(184,250,53,.7); animation:pulse-dot 1.8s ease-out infinite; }
.delivery-panel h2 { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; margin:9px 0 8px; letter-spacing:-.5px; }
.route { display:flex; align-items:center; gap:7px; color:#bac9e1; font:700 9px/1 monospace; text-transform:uppercase; }.route i { flex:1; height:1px; min-width:24px; position:relative; background:linear-gradient(90deg,rgba(184,250,53,.2),var(--acid),rgba(184,250,53,.2)); }.route i::after { content:""; position:absolute; width:4px; height:4px; top:-1px; left:40%; border-radius:50%; background:var(--acid); box-shadow:0 0 9px var(--acid); animation:route-packet 2.4s linear infinite; }
.delivery-panel p { margin:11px 0 10px; min-height:27px; color:#b9c5da; font-size:9px; line-height:1.42; }.delivery-panel p b { color:#eff7ff; font-size:10px; }.delivery-panel a { display:inline-flex; gap:6px; align-items:center; color:var(--acid); font-size:10px; }.delivery-panel a em { font-size:13px; font-style:normal; transition:transform .2s; }.delivery-panel a:hover em { transform:translate(2px,-2px); }
.deal-panel { display:grid; grid-template-rows:auto 1fr auto; }.deal-main { display:flex; align-items:baseline; gap:8px; padding:5px 0 6px; overflow:hidden; }.deal-main strong { color:var(--acid); letter-spacing:-2px; font-size:34px; line-height:1; text-shadow:0 0 24px rgba(184,250,53,.35); }.deal-main span { color:#f5efff; font-size:11px; line-height:1.2; font-weight:800; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deal-bottom { display:flex; align-items:end; justify-content:space-between; }.deal-bottom div { display:grid; gap:3px; }.deal-bottom small { color:#c6b5d6; font-size:8px; letter-spacing:.3px; }.deal-clock { color:white; font:700 13px/1.1 monospace; letter-spacing:1px; }.deal-bottom button { display:grid; place-items:center; width:28px; height:28px; border:1px solid rgba(184,250,53,.52); border-radius:7px; background:rgba(184,250,53,.12); color:var(--acid); font-size:16px; transition:.2s; }.deal-bottom button:hover { background:var(--acid); color:#17200a; transform:translateX(2px); }
@keyframes panel-scan { from { transform:translateX(-45%); } to { transform:translateX(45%); } }
@keyframes pulse-dot { 70% { box-shadow:0 0 0 6px rgba(184,250,53,0); } 100% { box-shadow:0 0 0 0 rgba(184,250,53,0); } }
@keyframes route-packet { from { left:0; } to { left:100%; } }
@media(max-width:780px){.side-card.delivery-panel,.side-card.deal-panel{padding:13px}.delivery-panel h2{font-size:14px}.deal-main strong{font-size:28px}.route{gap:4px}}

.trust-banner { min-height:92px; display:grid; grid-template-columns:1.1fr 1fr auto; align-items:center; gap:28px; position:relative; overflow:hidden; margin:30px 0 20px; padding:18px 23px; border:1px solid rgba(184,250,53,.2); border-radius:12px; background:linear-gradient(100deg,#111b1a 0%,#142522 44%,#141b2a 100%); }
.trust-banner::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.45; background:linear-gradient(90deg,transparent 0 30%,rgba(184,250,53,.09) 30.1% 30.2%,transparent 30.3% 100%),repeating-linear-gradient(90deg,transparent 0 22px,rgba(255,255,255,.035) 23px 24px); }
.trust-banner::after { content:""; position:absolute; left:-25%; top:0; width:22%; height:100%; background:linear-gradient(90deg,transparent,rgba(184,250,53,.12),transparent); transform:skewX(-24deg); animation:trust-sweep 7s ease-in-out infinite; }
.trust-banner>* { position:relative; z-index:1; }.trust-banner-lead { display:flex; align-items:center; gap:13px; }.trust-orbit { width:39px; height:39px; flex:none; display:grid; place-items:center; border:1px solid rgba(184,250,53,.65); border-radius:50%; color:var(--acid); box-shadow:0 0 20px rgba(184,250,53,.12),inset 0 0 17px rgba(184,250,53,.1); animation:orbit-glow 3.4s ease-in-out infinite; }
.trust-banner small { display:block; color:#a8bd9b; font:700 8px/1.3 monospace; letter-spacing:.65px; }.trust-banner strong { display:block; margin-top:5px; color:#f5faf5; font-size:16px; letter-spacing:-.45px; }.trust-points { display:flex; align-items:center; justify-content:space-between; gap:13px; }.trust-points span { white-space:nowrap; color:#b9c4c0; font-size:10px; }.trust-points i { display:inline-grid; place-items:center; width:14px; height:14px; margin-right:4px; border-radius:3px; background:rgba(184,250,53,.14); color:var(--acid); font-style:normal; font-size:9px; }.trust-banner button { border:1px solid rgba(184,250,53,.5); border-radius:6px; padding:9px 11px; background:rgba(184,250,53,.09); color:#e8f5d0; font-weight:800; font-size:10px; white-space:nowrap; transition:.2s; }.trust-banner button b { margin-left:5px; color:var(--acid); font-size:14px; }.trust-banner button:hover { color:#17200a; background:var(--acid); border-color:var(--acid); }.trust-banner button:hover b { color:inherit; }
@keyframes trust-sweep { 0%,35% { transform:translateX(-180%) skewX(-24deg); } 65%,100% { transform:translateX(700%) skewX(-24deg); } }
@keyframes orbit-glow { 50% { box-shadow:0 0 26px rgba(184,250,53,.34),inset 0 0 22px rgba(184,250,53,.2); transform:rotate(90deg); } }
@media(max-width:1000px){.trust-banner{grid-template-columns:1fr auto;gap:18px}.trust-points{grid-column:1/-1;justify-content:flex-start;gap:24px}}
@media(max-width:600px){.trust-banner{display:flex;align-items:flex-start;flex-wrap:wrap;padding:16px;margin-top:24px}.trust-banner strong{font-size:14px}.trust-points{width:100%;gap:9px;flex-wrap:wrap}.trust-banner button{margin-left:auto}}

.trust-banner { background-image:linear-gradient(90deg,rgba(9,13,16,.9) 0%,rgba(9,13,16,.68) 43%,rgba(9,13,16,.08) 100%),url('assets/trust-banner-v1.png'); background-size:cover; background-position:center; }

/* Let the illustration breathe; keep every benefit in the quiet left column. */
.trust-banner { height:210px; min-height:210px; display:block; padding:29px 32px; background-position:center; }
.trust-banner-lead { width:min(100%,430px); }.trust-banner strong { font-size:21px; margin-top:7px; }.trust-orbit { width:45px; height:45px; }
.trust-points { position:absolute; top:105px; left:90px; display:grid; justify-content:start; gap:9px; }.trust-points span { font-size:11px; color:#d0d8d4; }
.trust-banner button { position:absolute; left:90px; bottom:25px; }
@media(max-width:700px){.trust-banner{height:auto;min-height:220px;padding:22px}.trust-banner-lead{width:100%}.trust-banner strong{font-size:17px}.trust-points{position:static;margin:17px 0 0;gap:7px}.trust-banner button{position:static;margin-top:14px}}

.trust-points { grid-template-columns:repeat(2,max-content); column-gap:23px; row-gap:8px; }
.trust-banner button { bottom:18px; }

.catalog-loader { width:28px; height:28px; display:block; margin:0 auto 14px; border:2px solid rgba(184,250,53,.2); border-top-color:var(--acid); border-radius:50%; animation:catalog-spin .85s linear infinite; }
@keyframes catalog-spin { to { transform:rotate(360deg); } }

/* Mobile routing and product-copy refinements */
.promise-brand{display:flex;align-items:flex-start;gap:13px}.promise-brand h2{margin-top:2px}.promise-brand h2 span{font-family:Unbounded,sans-serif;font-size:.72em;letter-spacing:-1px}.policy-content{max-width:820px;margin:36px 0 70px}.policy-content h2{margin:28px 0 10px;font-size:18px}.policy-content p{margin:0;color:var(--muted);line-height:1.75}
@media(max-width:780px){.search{min-width:0}.cart-button{white-space:nowrap}.cart-button b{display:inline-block;margin-left:5px}.promise-brand{grid-column:1/-1}.promise-brand h2 span{display:block;margin-bottom:4px;font-size:.66em}.policy-content{margin-bottom:45px}}
