/* Shared treatment for the entire storefront. Existing brand tokens remain the source of color. */
.section-intro { margin:8px 0 24px;max-width:820px; }
#screen-help details { padding:18px 0;border-bottom:1px solid var(--border-strong); }
#screen-help summary { cursor:pointer;font-weight:600;line-height:1.5;color:var(--text); }
#screen-help details p { color:var(--hint);line-height:1.7; }
.section-intro h2,.service-page-header h2 { font-size:clamp(26px,3vw,36px);margin:8px 0 12px;letter-spacing:-.8px; }
.section-intro p,.service-page-header p { color:var(--hint);line-height:1.7; }
.section-eyebrow { color:var(--accent);font-size:12px;text-transform:uppercase;letter-spacing:1.4px;font-weight:600; }
.section-guide { display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px; }
.section-guide span { padding:12px 16px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--hint);font-size:13px; }
.steam-guide { grid-column:1/-1; }
.section-help { margin-top:30px;padding:24px;border:1px solid var(--border-strong);border-radius:16px;background:var(--surface); }
.section-help p { font-size:14px;color:var(--hint);line-height:1.6; }
.section-help a,.service-page-layout a { color:var(--accent); }
.service-page-header { display:flex;gap:22px;align-items:center;margin:8px 0 30px; }
.service-page-header img { width:80px;height:80px;object-fit:contain; }
.service-page-layout { display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:24px; }
.service-steps { padding-left:20px;color:var(--hint);line-height:2; }
.preview-catalog-controls { display:grid;grid-template-columns:2fr 1fr;gap:12px;margin-bottom:30px; }
.empty-state { padding:38px 24px;border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface);line-height:1.7; }
.empty-state h3 { color:var(--text);font-size:23px;margin:0 0 12px; }
.empty-state .action { display:inline-flex;margin-top:14px; }
.game-detail-card { border:1px solid var(--border-strong);border-radius:20px;background:var(--surface);overflow:hidden; }
.game-detail-title { font-size:clamp(26px,3vw,38px);line-height:1.2;letter-spacing:-.7px; }
.game-detail-body { padding:28px; }
.game-detail-description { line-height:1.8;color:var(--hint); }
.game-detail-price { color:var(--accent);font-size:32px; }
.edition-toggle { gap:10px;flex-wrap:wrap; }
.faq-item { border:1px solid var(--border-strong);border-radius:12px;margin:10px 0;overflow:hidden; }
.faq-question { width:100%;text-align:left;padding:18px;background:var(--surface);color:var(--text);border:0;font:600 14px Inter,sans-serif; }
.faq-answer { padding:0 18px 18px;line-height:1.7;color:var(--hint); }
.done-card,.wait-card { max-width:700px;margin:30px auto;padding:36px;text-align:center; }
.code-box { padding:20px;border:1px dashed var(--accent);border-radius:12px;background:var(--bg);overflow-wrap:anywhere; }
.order-card { padding:22px;margin:14px 0; }
.field-input:focus-visible,button:focus-visible,a:focus-visible { outline:2px solid var(--accent);outline-offset:3px; }
@media(max-width:767px) { .service-page-layout { grid-template-columns:1fr; } .service-page-header { gap:14px; } .service-page-header img { width:60px;height:60px; } .preview-catalog-controls { grid-template-columns:1fr; } .section-guide { gap:8px; } .section-guide span { padding:10px;font-size:12px; } .game-detail-body { padding:20px; } .done-card,.wait-card { padding:24px;margin:16px 0; } }
.screen-title { font-size:clamp(24px,3vw,34px); line-height:1.2; letter-spacing:-.8px; margin:8px 0 22px; }
.breadcrumbs { max-width:1312px; padding:20px 0 0; margin:auto; color:var(--hint); font-size:13px; }
.breadcrumbs a { color:var(--accent); }
.region-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px; }
.region-list .ps-hub-card,.region-card { background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;min-height:150px;padding:24px; }
.ps-hub-card-title { font-size:22px;line-height:1.25; }
.ps-hub-card-subtitle { font-size:13px;color:var(--hint);line-height:1.6; }
.region-list--ps-hub .ps-hub-card-icon { width:68px;height:68px; }
.region-list--ps-hub .ps-hub-card-icon img { width:100%;height:100%;object-fit:contain; }
.region-pill,.preset-btn,.filter-chip,.catalog-toolbar-filters-btn { border-radius:10px;min-height:42px;border:1px solid var(--border-strong);background:var(--surface); }
.preset-btn.active,.filter-chip--active { background:var(--accent);color:var(--accent-text);border-color:var(--accent); }
.catalog-toolbar { padding:16px 20px;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;margin-bottom:20px; }
.games-search-field,.chihiro-search-field { background:var(--surface);border:1px solid var(--border-strong);border-radius:12px; }
.games-wrap { grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); }
.denom-card,.form-card,.cart-item-card,.cart-total-card,.steam-summary-card,.order-card,.done-card,.wait-card { background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;box-shadow:none; }
.form-card { padding:24px; }
.field-input { background:var(--bg);border:1px solid var(--border-strong);border-radius:10px;min-height:48px;color:var(--text);font-size:16px; }
.field-input:focus { border-color:var(--accent); }
.field-label { font-weight:600;font-size:14px;margin-bottom:8px; }
.field-hint { font-size:13px;line-height:1.6; }
.steam-hero { padding:24px; background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;margin-bottom:18px; }
.steam-header-title { font-size:26px;letter-spacing:-.6px; }
.steam-header-icon-wrap { background:transparent;box-shadow:none; }
.steam-header-icon { width:60px;height:60px; }
.steam-services-nav { border:1px solid var(--border-strong);border-radius:16px;padding:10px;background:var(--surface); }
.steam-service-item { min-height:52px;border-radius:10px;font-size:14px; }
.steam-service-item img { width:32px;height:32px; }
.steam-service-item.active { background:var(--bg);color:var(--accent); }
.steam-summary-card { padding:24px; }
.cart-title-row { border-bottom:1px solid var(--border-strong);padding-bottom:16px;margin-bottom:24px; }
.cart-item-card { margin-bottom:14px;padding:20px; }
.cart-total-card { padding:24px;margin-top:20px; }
.cart-total-price { color:var(--accent);font-size:28px; }
.web-auth-gate { max-width:500px; padding:32px; }
.web-auth-tabs { padding:5px;border-radius:12px;background:var(--bg);margin:22px 0; }
.web-auth-tab { flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--hint);font:600 14px Inter,sans-serif; }
.web-auth-tab.active { background:var(--surface);color:var(--accent); }
.empty-state { padding:40px 24px;text-align:center;border:1px dashed var(--border-strong);border-radius:16px;background:var(--surface);color:var(--hint); }
.done-card,.wait-card { max-width:640px;margin:32px auto;padding:32px; }
.brand-hero img,.market-service img,.market-shortcut img { object-fit:contain; }
.preview-section-actions { display:flex;gap:10px;flex-wrap:wrap;margin:18px 0; }
.psplus-intro { grid-column:1/-1;display:flex;align-items:center;gap:20px;margin-bottom:6px; }
.psplus-intro img { width:76px;height:76px; }
.psplus-intro h2 { margin:0 0 8px;font-size:32px;letter-spacing:-1px; }
.psplus-intro p { color:var(--hint);margin:0;line-height:1.6;max-width:750px; }
.grid-psplus { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:start; }
.psplus-sticky { position:relative;top:auto;border:1px solid var(--border-strong);border-radius:18px;background:var(--surface);padding:24px; }
.psplus-chips-wrap,.psplus-chips-row { min-width:0;width:100%; }
.psplus-chips-row { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible; }
.psplus-chips-scroll { display:none; }
.psplus-chip { width:auto;min-width:0;min-height:88px;border-radius:12px;background:var(--bg);border:1px solid var(--border-strong);white-space:normal; }
.psplus-chip.active,.psplus-chip.is-active { border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent); }
.psplus-tabs { display:flex;gap:8px;margin:22px 0;flex-wrap:wrap; }
.psplus-features-card { margin:0;border:1px solid var(--border-strong);border-radius:18px;padding:24px;background:var(--surface); }
.psplus-desktop-cta { width:100%;margin-top:18px;border-radius:12px; }
.psplus-compare,.psplus-faq { display:block;grid-column:1/-1;min-width:0; }
.psplus-compare { overflow-x:auto; }
.psplus-compare-table { width:100%;border-collapse:collapse;margin-top:18px;font-size:13px; }
.psplus-compare-table th,.psplus-compare-table td { padding:14px 10px;border-bottom:1px solid var(--border-strong);text-align:center; }
.psplus-compare-table td:first-child { text-align:left; }
.psplus-compare-yes { color:var(--accent); }
.psplus-manual-note { grid-column:1/-1;margin:0; }
.psplus-order-summary { margin:20px 0;padding-top:18px;border-top:1px solid var(--border-strong);line-height:1.8;color:var(--hint); }
.psplus-order-summary b { color:var(--text); }
.psplus-preview-list { margin:18px 0 0;padding-left:20px;line-height:1.8;color:var(--hint); }
@media(max-width:767px) { .grid-psplus { grid-template-columns:1fr; } .psplus-intro { align-items:flex-start;gap:14px; } .psplus-intro h2 { font-size:27px; } .psplus-intro img { width:56px;height:56px; } .psplus-sticky,.psplus-features-card { padding:20px; } }
@media(min-width:1024px) { #screen-steam.active { grid-template-columns:200px minmax(0,1fr) 280px;gap:22px; } #screen-confirm.active,#screen-cart.active { max-width:1000px;margin:auto; } }
@media(max-width:900px) { .region-list { grid-template-columns:repeat(2,minmax(0,1fr)); } .games-wrap { grid-template-columns:repeat(auto-fill,minmax(140px,1fr)); } .breadcrumbs { padding:16px; } }
@media(max-width:600px) { .region-list { grid-template-columns:1fr; } .form-card,.web-auth-gate,.steam-hero,.cart-item-card { padding:20px; } .web-auth-gate { margin:12px 0; } .steam-services-nav { display:flex;overflow-x:auto;gap:8px;margin-bottom:18px; } .steam-service-item { flex:0 0 auto; } }
