﻿/* Scoped storefront redesign; account, management and payment layouts retain their styles. */
.storefront { --bg:#0c0d10; --surface:#15161b; --border:#292a32; background:var(--bg); }
.storefront .container { width:min(1360px,calc(100% - 64px)); }
.storefront .site-header { background:#0e0f13f5; border-color:#24252c; }
.storefront .button { border-radius:9px; gap:16px; min-height:46px; }
.storefront .icon-button { border-radius:10px; }
.storefront .icon-button:hover { background:#22212b; }
.storefront .eyebrow { color:#b497de; font-size:11px; font-weight:700; letter-spacing:2px; }
.storefront .store-banner { isolation:isolate; overflow:hidden; border-radius:20px; margin-top:32px; }
.storefront .store-banner > img { height:550px; object-position:65% 50%; }
.storefront .store-banner::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#0b0d13f2 0%,#0b0d13bc 42%,#0b0d1320 100%); }
.storefront .store-banner > img { position:relative; z-index:-2; }
.storefront .banner-caption { inset:0; padding:clamp(26px,5vw,72px); display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:22px; background:none; max-width:740px; }
.storefront .banner-caption h1 { font-size:clamp(34px,4.4vw,62px); font-weight:750; line-height:1.08; letter-spacing:-2px; }
.storefront .banner-caption h1 span { display:block; margin-top:18px; font-size:clamp(21px,2.3vw,32px); font-weight:400; letter-spacing:-.6px; color:#d4cedd; }
.storefront .banner-caption > p:not(.eyebrow) { max-width:43ch; color:#c0bdc8; font-size:16px; line-height:1.8; }
.storefront .home-block { background:#15161b; border:0; }
.storefront .home-about { margin-top:32px; }
.home-benefits { padding:64px 0 12px; }
.home-benefits > h2 { font-size:clamp(25px,3vw,36px); margin-top:12px; }
.benefits-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; margin:36px 0; }
.benefits-grid article { border-top:1px solid #35313e; padding:24px 0; }
.benefits-grid article > span { color:#b497de; font-size:12px; }
.benefits-grid h3 { margin:20px 0 10px; font-weight:700; font-size:17px; }
.benefits-grid p { color:#a9a8b3; line-height:1.8; }
.marketplace-intro { padding:44px 0 32px; }
.marketplace-intro h1 { font-size:clamp(30px,3.5vw,44px); font-weight:700; letter-spacing:-1.2px; margin:12px 0 10px; }
.marketplace-intro > p:last-child { color:#a9a8b3; font-size:15px; }
.marketplace-layout { display:grid; grid-template-columns:230px minmax(0,1fr); gap:32px; padding-bottom:64px; align-items:start; }
.marketplace-sidebar { position:sticky; top:calc(var(--header-height) + 24px); }
.sidebar-content { padding:24px 16px; background:#131419; border-radius:14px; }
.sidebar-content h2 { font-size:17px; font-weight:700; padding-inline:12px; }
.filter-label { margin:28px 12px 12px; font-size:10px; letter-spacing:1.8px; color:#92909f; }
.marketplace-sidebar .category-options { position:static; padding:0; border:0; background:none; min-width:0; }
.marketplace-sidebar button { border-radius:8px; min-height:44px; }
.marketplace-sidebar .category-options button { padding:11px 12px; color:#bcbac7; margin:3px 0; }
.marketplace-sidebar .category-options button[aria-pressed="true"] { background:#282035; color:#d8baff; font-weight:700; }
.marketplace-sidebar summary { display:none; }
.seller-section { margin-top:28px; padding-top:24px; border-top:1px solid #292a32; }
.seller-section h2 { font-size:13px; }
.seller-section p { margin:12px; }
#seller-list button { display:block; width:100%; text-align:left; border:0; background:none; color:#bcbac7; padding:10px 12px; overflow-wrap:anywhere; }
#seller-list button:hover { background:#24212d; }
.marketplace-page .catalog-section { padding:0; min-width:0; }
.search-box { display:flex; align-items:center; gap:14px; background:#1a1b22; border:1px solid #30313b; border-radius:12px; padding:0 18px; }
.search-box > span { font-size:30px; color:#b497de; }
.search-box input { width:100%; min-width:0; height:60px; background:none; border:0; color:#f2f2f2; font:inherit; font-size:16px; outline:none; }
.search-box:focus-within { outline:2px solid #b497de; outline-offset:2px; }
.marketplace-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; padding:22px 0 30px; }
.marketplace-filters label { display:grid; gap:7px; flex:1; min-width:140px; color:#aaa8b6; font-size:12px; }
.marketplace-filters select { width:100%; min-height:44px; color:#dedce7; border:1px solid #30313b; background:#15161b; border-radius:8px; padding:10px; font:inherit; font-size:13px; }
.marketplace-filters select:disabled { opacity:.55; }
.marketplace-filters .text-button { color:#c2a7e6; font-size:12px; min-height:44px; }
.marketplace-page .catalog-heading h2 { font-size:21px; }
.marketplace-page .catalog-heading p { color:#aaa8b6; font-size:12px; }
.marketplace-page .product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.marketplace-page .product-card { position:relative; border:1px solid #25262e; border-radius:14px; overflow:hidden; transition:transform .18s,border-color .18s; }
.marketplace-page .product-card:hover { transform:translateY(-3px); border-color:#685180; }
.marketplace-page .product-card img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; background:#22232b; }
.marketplace-page .product-content { padding:20px; display:flex; flex-direction:column; gap:10px; }
.marketplace-page .product-content h3 { font-size:17px; font-weight:650; line-height:1.4; min-height:0; overflow-wrap:anywhere; }
.marketplace-page .product-content h3 a::after { content:''; position:absolute; inset:0; }
.marketplace-page .product-content .price { margin:8px 0 2px; font-size:23px; }
.marketplace-page .product-content .button { position:relative; z-index:1; background:#25212f; border-color:#463658; color:#dfcbfa; }
.marketplace-page .product-content .button:hover { background:#393047; }
.mod-category { color:#b89bdc; font-size:11px; letter-spacing:.8px; text-transform:uppercase; }
.mod-seller,.mod-version { color:#a6a3b3; font-size:12px; overflow-wrap:anywhere; }
.mod-badge { position:absolute; top:14px; left:14px; background:#26202fea; color:#e0c9ff; border:1px solid #76608c; border-radius:5px; padding:4px 8px; font-size:10px; font-weight:700; letter-spacing:1px; pointer-events:none; }
@media (min-width:768px) { .storefront .store-navbar { display:flex; min-height:80px; padding:0; gap:20px; } .storefront .store-navbar .nav-links { gap:24px; } .storefront .brand { font-size:17px; } .marketplace-sidebar details:not([open]) > .sidebar-content { display:block; } }
@media (max-width:1100px) { .marketplace-layout { grid-template-columns:200px minmax(0,1fr); gap:24px; } .marketplace-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:900px) { .storefront .container { width:calc(100% - 40px); } .storefront .store-navbar .nav-links { gap:16px; } .storefront .header-actions > a[title="Minha Conta"] { display:none; } }
@media (max-width:767px) {
 .storefront .container { width:calc(100% - 32px); }
 .storefront .store-banner > img { height:510px; object-position:65% center; }
 .storefront .banner-caption { position:absolute; gap:22px; }
 .storefront .store-banner::after { background:linear-gradient(90deg,#0b0d13e8,#0b0d1370); }
 .storefront .banner-caption h1 { letter-spacing:-1px; }
 .storefront .banner-caption .button { font-size:14px; }
 .home-benefits { padding-top:40px; }
 .benefits-grid { gap:16px; }
 .marketplace-intro { padding:16px 0 24px; }
 .marketplace-layout { grid-template-columns:1fr; gap:18px; }
 .marketplace-sidebar { position:static; }
 .marketplace-sidebar summary { display:block; width:100%; padding:13px 16px; border:1px solid #39313f; border-radius:8px; background:#211c2b; list-style:none; }
 .marketplace-sidebar summary::after { content:'☰'; float:right; }
 .marketplace-sidebar details[open] summary { position:fixed; top:12px; left:16px; width:min(300px,calc(100% - 32px)); z-index:1202; }
 .marketplace-sidebar details[open] summary::after { content:'×'; }
 .marketplace-sidebar details[open]::before { content:''; position:fixed; inset:0; background:#000b; z-index:1200; }
 .marketplace-sidebar details[open] .sidebar-content { position:fixed; top:70px; left:0; bottom:0; width:min(332px,100%); z-index:1201; overflow:auto; border-radius:0; padding-top:20px; }
 body:has(.marketplace-sidebar details[open]) { overflow:hidden; }
 .marketplace-page .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .marketplace-page .product-content { padding:16px; }
 .marketplace-filters { gap:12px; padding:0 0 24px; }
 .search-box { margin-bottom:20px; }
 .marketplace-page .catalog-heading { align-items:center; flex-wrap:wrap; }
}
@media (max-width:480px) { .marketplace-page .product-grid { grid-template-columns:1fr; } .benefits-grid { grid-template-columns:1fr; gap:0; } }
@media (prefers-reduced-motion:reduce) { .marketplace-page .product-card { transition:none; } }

.search-box svg { width:23px; height:23px; flex-shrink:0; fill:none; stroke:#b497de; stroke-width:1.7; stroke-linecap:round; }
@media (min-width:768px) { .marketplace-sidebar { max-height:calc(100dvh - var(--header-height) - 40px); overflow:auto; } }
