/* Identité et parcours propres au Store ; les aperçus restent ceux du profil. */
body.shop-page { color:#f4f6fc; }
.shop-page .boutique-layout { --shop-line:#ffffff12; --shop-cyan:#75ddff; --shop-gold:#ffda87; --shop-mint:#79eac4; font-family:'Manrope',sans-serif; max-width:1580px; margin:auto; padding:24px 38px 70px; text-align:left; }
.boutique-layout *, .banner-lightbox * { box-sizing:border-box; }
.boutique-layout [hidden] { display:none !important; }
.shop-masthead { display:flex; justify-content:flex-end; align-items:center; gap:18px; margin-bottom:26px; }
.shop-account-bar { display:flex; align-items:center; gap:15px; max-width:100%; font-size:12px; }
.shop-account-copy span,.wallet-label { color:#aab6ce; font-size:10px; }
.shop-account-copy strong { display:block; margin-top:3px; color:#fff; font-weight:700; }
.solde-view { display:flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid #ffd77d24; border-radius:8px; background:#ffda8709; color:#ffda87; font:600 17px 'Space Grotesk',sans-serif; }
.pandollar-img { height:17px; width:auto; object-fit:contain; }
.shop-login-copy { display:none; }
.shop-login-button { display:inline-flex; align-items:center; justify-content:center; padding:11px 16px; border:1px solid #ffffff24; border-radius:8px; color:#e5eaf6; font-size:10px; font-weight:700; text-decoration:none; background:#ffffff05; }
.shop-hero { display:grid; grid-template-columns:1.05fr 1fr; gap:30px; align-items:center; overflow:hidden; margin-bottom:32px; padding:34px 38px; border:1px solid #b0b7ff24; border-radius:20px; background:radial-gradient(ellipse at 83% 25%,#6250be3b,transparent 50%),linear-gradient(120deg,#152237,#1a1630); }
.section-kicker { display:flex; align-items:center; gap:7px; margin-bottom:12px; color:#b8c7e2; font-size:10px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.shop-live-dot { width:6px; height:6px; border-radius:50%; background:#baff7a; box-shadow:0 0 12px #baff7a66; }
.shop-hero h1 { margin:0 0 17px; color:#fff; text-align:left; font:600 clamp(34px,3.8vw,56px)/1.04 'Space Grotesk',sans-serif; letter-spacing:-2px; }
.shop-hero h1 span { color:#baff7a; }
.shop-hero-copy > p { max-width:420px; margin:0; color:#c1cce1; font-size:13px; line-height:1.8; }
.shop-hero-foot { display:flex; flex-wrap:wrap; gap:14px; margin-top:23px; color:#a9bad6; font-size:10px; }
.shop-hero-art { position:relative; padding:18px; border:1px solid #ffffff19; border-radius:14px; background:#0a0d1a55; transform:rotate(-2deg); box-shadow:0 14px 50px #0003; }
.shop-featured-caption { margin-bottom:13px; }
.shop-featured-caption span { display:block; color:#b6a3ed; font-size:10px; margin-bottom:5px; }
.shop-featured-caption strong { color:#fff; font:600 18px 'Space Grotesk',sans-serif; }
.shop-hero-art .cosmetic-render-preview { width:100%; margin:0; border-radius:8px; }
.shop-featured-link { display:flex; justify-content:space-between; margin-top:14px; color:#e5ddff; font-size:11px; font-weight:600; text-decoration:none; }
.shop-featured-link span { color:#baff7a; font-size:18px; }
.shop-hero-monogram { text-align:center; color:#baff7a; font:700 100px 'Space Grotesk',sans-serif; }
.shop-workspace { display:grid; grid-template-columns:190px minmax(0,1fr); gap:30px; align-items:start; }
.shop-rail { position:sticky; top:calc(var(--topbar-h,52px) + 20px); }
.shop-rail-label { display:block; margin:4px 0 13px 12px; color:#8d9db9; font-size:9px; font-weight:700; letter-spacing:.18em; }
.shop-collection-nav { display:flex; flex-direction:column; gap:5px; }
.shop-collection-nav a { display:flex; justify-content:space-between; gap:8px; align-items:center; padding:12px; border:1px solid transparent; border-radius:8px; color:#b2bfd8; font-size:12px; font-weight:600; text-decoration:none; transition:background .2s,color .2s; }
.shop-collection-nav a:hover { color:#fff; background:#ffffff08; }
.shop-collection-nav a[aria-current="true"] { color:#c9ffa7; border-color:#baff7a25; background:#baff7a0c; }
.shop-nav-count { color:#8193b0; font-size:10px; font-variant-numeric:tabular-nums; }
.shop-collection-nav a[aria-current="true"] .shop-nav-count { color:#c9ffa7; }
.shop-rail-note { margin:25px 10px 0; padding-top:20px; border-top:1px solid var(--shop-line); }
.shop-rail-note > span { display:block; color:#ae96ef; font-size:24px; margin-bottom:9px; }
.shop-rail-note strong { color:#d1d9ea; font-size:11px; }
.shop-rail-note p { color:#8f9fbb; font-size:11px; line-height:1.8; }
.shop-main { min-width:0; }
.official-store,.market-section { margin-bottom:25px; }
.official-store-head,.market-section-head { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:22px; }
.official-store-head .section-kicker { display:none; }
.shop-section-title { margin:0; color:#f5f7ff; font:600 24px 'Space Grotesk',sans-serif; letter-spacing:-.6px; }
.official-store-head p,.market-section-head p { margin:6px 0 0; color:#a5b4cf; font-size:12px; line-height:1.6; }
.official-store-count,.market-count { color:#a9b8d1; font-size:11px; white-space:nowrap; }
.shop-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:22px; }
.shop-search { display:flex; align-items:center; gap:9px; flex:1 1 230px; padding:0 12px; border:1px solid #ffffff18; border-radius:8px; background:#111a2b; }
.shop-search > span { color:#acb9d4; font-size:23px; }
.shop-search input { width:100%; min-width:0; border:0; outline:0; padding:12px 0; background:transparent; color:#eef3ff; font:12px 'Manrope',sans-serif; }
.shop-search:focus-within { border-color:#baff7a88; }
.shop-search input::placeholder { color:#8b9ab6; }
.shop-sort { display:flex; gap:8px; align-items:center; border:1px solid #ffffff18; border-radius:8px; padding:8px 10px; background:#111a2b; color:#889bb9; font-size:10px; }
.shop-sort select { border:0; padding:3px; background:#111a2b; color:#dce5f8; font:11px 'Manrope',sans-serif; }
.shop-available { display:flex; gap:6px; align-items:center; color:#aebed7; font-size:10px; cursor:pointer; }
.shop-available input { accent-color:#baff7a; }
.items-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:16px; align-items:stretch; }
.item-card { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:12px; border:1px solid #ffffff12; border-radius:12px; background:#131d30; transition:transform .2s,border-color .2s,box-shadow .2s; }
.item-card:not(.sold-out):hover { transform:translateY(-3px); border-color:#af93f266; box-shadow:0 12px 25px #0003; }
.item-img-container { display:flex; align-items:center; justify-content:center; height:96px; margin:0 0 14px; border-radius:7px; background:#0d1423; overflow:hidden; }
.item-img-container img { width:100%; height:100%; object-fit:contain; padding:3px; }
.item-card .cosmetic-render-preview { width:100%; margin:0 0 14px; border-radius:7px; }
.item-name { margin:0 0 6px; color:#f0f4ff; font:600 14px 'Space Grotesk',sans-serif; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.item-desc { flex:1; margin:0 0 14px; min-height:36px; color:#aebdd5; font-size:11px; line-height:1.65; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.cosmetic-type { margin-bottom:7px; color:#b49ae8; font-size:10px; line-height:1.5; }
.item-price { display:flex; align-items:center; gap:6px; margin-bottom:8px; color:#f2f6ff; font:600 17px 'Space Grotesk',sans-serif; font-variant-numeric:tabular-nums; }
.price-before-sale { color:#90a0ba; font-size:11px; text-decoration:line-through; }
.item-stock { margin-bottom:12px; color:#9cafca; font-size:10px; line-height:1.5; }
.item-stock strong { color:#bfd7ab; font-weight:500; }
.stock-low,.stock-low strong { color:#e5bf80; }
.btn-buy,.market-primary-button,.market-card-button,#shopReset { display:inline-flex; align-items:center; justify-content:center; width:100%; padding:10px; min-height:36px; border:1px solid #baff7a30; border-radius:7px; background:#baff7a; color:#14200e; font:800 10px 'Manrope',sans-serif; cursor:pointer; text-decoration:none; }
.btn-buy:not(:disabled):hover,.market-primary-button:hover,.market-card-button:not(:disabled):hover { background:#d3ffb0; }
.btn-buy:disabled,.market-card-button:disabled { border-color:#ffffff14; color:#a8b7cf; background:#1c2940; cursor:not-allowed; }
.badge-rupture { position:absolute; z-index:10; top:17px; right:17px; padding:4px 7px; border:1px solid #ffffff20; border-radius:4px; background:#121b2be8; color:#c5d0e4; font-size:9px; }
.item-card.sold-out .cosmetic-render-preview,.item-card.sold-out .item-img-container { opacity:.55; }
.shop-item-category { display:block; margin:0 0 8px; color:#b1c1dd; font-size:9px; letter-spacing:.08em; text-transform:uppercase; }
.color-bubble-preview { width:42px; height:42px; border:2px solid #ffffff30; border-radius:50%; background-attachment:scroll !important; }
.shop-companion-preview { position:relative; }
.shop-companion-energy { position:absolute; z-index:8; top:6px; right:6px; width:30px; height:30px; filter:drop-shadow(0 2px 4px #0009); }
.shop-companion-energy img { width:100%; height:100%; object-fit:contain; }
.shop-companion-rarity { position:absolute; z-index:9; top:6px; left:6px; padding:4px 5px; border:1px solid #ffd77866; border-radius:4px; background:#241a10e6; color:#ffe1a1; font-size:9px; }
.shop-companion-rarity.is-mythic { color:#edbdff; border-color:#ce89ff66; background:#271533e6; }
.item-card.is-legendary-companion { border-color:#ffda8738; background:linear-gradient(145deg,#2d2930,#131d30); }
.item-card.is-mythic-companion { border-color:#d795ff38; background:linear-gradient(145deg,#2c213c,#131d30); }
.category-section { margin-bottom:25px; }
.category-title { color:#cab1ff; font:600 17px 'Space Grotesk',sans-serif; }
.cosmetic-group-title { font-size:12px; color:#b2bfd8; }
.cosmetic-group + .cosmetic-group { margin-top:20px; }
.effects-intro { color:#b0bfdb; font-size:12px; line-height:1.6; }
.shop-rotation-countdown { display:inline-block; margin:0 0 14px; padding:8px 10px; border:1px solid #ffffff18; border-radius:7px; color:#b3c5df; font-size:11px; }
.shop-rotation-countdown strong { color:#baff7a; font-weight:600; font-variant-numeric:tabular-nums; }
.shop-catalog-rotation { margin-bottom:18px; }
.shop-sale-banner { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:18px; padding:13px; border:1px solid #ffda8733; border-radius:8px; color:#ffda87; background:#ffda8709; font-size:12px; }
.shop-sale-countdown { color:#d7c5a7; font-size:11px; }
.shop-no-results { padding:50px 20px; border:1px dashed #ffffff20; border-radius:12px; text-align:center; color:#a9bad5; }
.shop-no-results > span { font-size:42px; color:#baff7a; }
.shop-no-results h3 { color:#f3f6ff; font:600 20px 'Space Grotesk',sans-serif; }
.shop-no-results p { font-size:12px; }
#shopReset { width:auto; margin-top:10px; padding:11px 16px; }
.alert-msg,.market-feedback { margin-bottom:20px; padding:13px 16px; border:1px solid #80efc044; border-radius:8px; color:#b5efd4; background:#80efc009; font-size:12px; }
.alert-error,.market-feedback.is-error { border-color:#ff919144; color:#ffc0c0; background:#ff919109; }
.market-trust { display:grid; grid-template-columns:22px auto; gap:3px; color:#9be9c8; font-size:10px; }
.market-trust > span { grid-row:span 2; align-self:center; }
.market-trust small { color:#9ab4ae; font-size:9px; }
.market-layout { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:20px; align-items:start; }
.market-sell-panel { grid-column:2; grid-row:1; padding:17px; border:1px solid var(--shop-line); border-radius:12px; background:#121d30; }
.market-catalog { grid-column:1; grid-row:1; min-width:0; }
.market-panel-number { display:block; margin-bottom:7px; color:#91a5c5; font-size:9px; letter-spacing:.15em; }
.market-sell-panel h3,.market-catalog-head h3 { color:#f0f4fc; margin:0; font:600 16px 'Space Grotesk',sans-serif; }
.market-sell-panel > p { margin:9px 0 16px; color:#acbdd7; font-size:11px; line-height:1.8; }
.market-sell-form label { display:block; margin:12px 0 6px; color:#becbe0; font-size:11px; }
.market-sell-form select,.market-price-field input { width:100%; padding:10px; border:1px solid #ffffff20; border-radius:7px; background:#0c1424; color:#e9f1ff; font:12px 'Manrope',sans-serif; }
.market-price-field { position:relative; }
.market-price-field input { padding-right:34px; }
.market-price-field img { position:absolute; top:50%; right:10px; transform:translateY(-50%); width:17px; height:17px; object-fit:contain; }
.market-primary-button { margin-top:14px; }
.market-own-summary { margin-top:12px; color:#a0b2cf; font-size:10px; }
.market-catalog-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.market-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(215px,1fr)); gap:15px; }
.market-card { overflow:hidden; min-width:0; border:1px solid var(--shop-line); border-radius:12px; background:#131d30; }
.market-card.is-mine { border-color:#79eac444; }
.market-card-visual { position:relative; height:95px; background:#0d1423; overflow:hidden; }
.market-card-visual img { width:100%; height:100%; object-fit:contain; }
.market-cosmetic-visual { height:auto; }
.market-cosmetic-visual .cosmetic-render-preview { margin:0; border:0; border-radius:0; }
.market-card-category,.market-mine-badge { position:absolute; z-index:6; top:7px; left:7px; padding:4px 6px; border:1px solid #ffffff20; border-radius:4px; background:#0c1322e6; color:#d3b3ff; font-size:9px; }
.market-mine-badge { left:auto; right:7px; color:#9cf0ce; }
.market-card-body { padding:13px; }
.market-card-title { display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; }
.market-card-title h3 { margin:0; min-width:0; color:#f0f4ff; overflow:hidden; text-overflow:ellipsis; font:600 14px 'Space Grotesk',sans-serif; }
.market-card-title > span { color:#96a9c8; font-size:9px; }
.market-seller { display:flex; justify-content:space-between; gap:12px; margin-top:11px; color:#a0b2cc; font-size:10px; }
.market-seller strong { min-width:0; overflow:hidden; text-overflow:ellipsis; color:#c4d1e7; }
.market-card-footer { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:12px; margin-top:13px; padding-top:13px; border-top:1px solid var(--shop-line); }
.market-price > span { color:#a0b1ca; font-size:10px; }
.market-price strong { display:flex; align-items:center; gap:5px; margin-top:4px; color:#ffda87; font:600 16px 'Space Grotesk',sans-serif; }
.market-price img { width:17px; height:17px; object-fit:contain; }
.market-card-button { width:auto; }
.market-card-button.is-cancel { color:#ffb8ba; border-color:#ffb8ba33; background:#ffb8ba09; }
.market-empty,.official-store-empty,.market-panel-empty { grid-column:1/-1; padding:25px 15px; border:1px dashed #ffffff20; border-radius:9px; color:#aabbd6; font-size:12px; line-height:1.7; text-align:center; }
.market-empty { display:flex; flex-direction:column; gap:7px; }
.market-empty > span { color:#baff7a; font-size:24px; }
.shop-preview-trigger,.banner-preview-trigger { cursor:zoom-in; }
.boutique-layout :is(a,button,input,select,[tabindex]):focus-visible,.banner-lightbox button:focus-visible { outline:2px solid #baff7a; outline-offset:3px; }
@media (max-width:1100px) { .shop-page .boutique-layout { padding:20px 24px 50px; } .shop-workspace { grid-template-columns:160px minmax(0,1fr); gap:20px; } .shop-hero { padding:28px; } .market-layout { grid-template-columns:1fr; } .market-sell-panel { grid-column:1; grid-row:2; } }
@media (max-width:760px) { .shop-page .boutique-layout { padding:18px 14px 40px; } .shop-hero { grid-template-columns:1fr; gap:22px; padding:24px; border-radius:15px; } .shop-hero-art { transform:none; } .shop-hero h1 { font-size:40px; } .shop-workspace { display:block; } .shop-rail { position:static; margin-bottom:20px; } .shop-rail-label,.shop-rail-note { display:none; } .shop-collection-nav { flex-direction:row; overflow-x:auto; padding-bottom:5px; } .shop-collection-nav a { flex:none; padding:10px 12px; white-space:nowrap; } .shop-nav-count { display:none; } .shop-masthead { gap:10px; } .shop-login-button { padding:10px; font-size:9px; } .shop-account-copy,.wallet-label { display:none; } .shop-section-title { font-size:22px; } .items-grid,.market-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; } .item-card { padding:10px; } .item-name { font-size:12px; } .item-price { font-size:15px; } .shop-toolbar { gap:8px; } .shop-search { flex-basis:100%; } .shop-sort { flex:1; justify-content:space-between; } .shop-hero-foot { gap:10px; } .market-section-head { flex-wrap:wrap; } .solde-view { padding:8px; font-size:14px; } .shop-account-bar { gap:0; } }
@media (max-width:360px) { .items-grid,.market-grid { grid-template-columns:1fr; } .shop-hero h1 { font-size:34px; } }
@media (prefers-reduced-motion:reduce) { .boutique-layout *, .banner-lightbox { transition:none; } }
.banner-lightbox { position:fixed; inset:0; z-index:10000; display:flex; align-items:center; justify-content:center; padding:28px; background:#06070de8; backdrop-filter:blur(12px); opacity:0; visibility:hidden; transition:opacity .2s,visibility .2s; }
.banner-lightbox.is-open { opacity:1; visibility:visible; }
.banner-lightbox-content { position:relative; width:min(1100px,100%); max-height:calc(100vh - 56px); padding:16px; border:1px solid #c9b49044; border-radius:12px; background:#171821; box-shadow:0 24px 80px #0008; }
.shop-lightbox-stage { display:grid; place-items:center; width:100%; min-height:min(55vh,520px); max-height:calc(100vh - 145px); overflow:hidden; border-radius:7px; background:#0c0d14; }
.shop-lightbox-stage .lightbox-preview-clone { width:min(100%,1050px)!important; height:auto!important; min-height:0; margin:0!important; aspect-ratio:1920 / 700; }
.shop-lightbox-stage .color-bubble-preview { width:min(210px,34vw); height:min(210px,34vw); }
.banner-lightbox-title { margin:14px 30px 0; color:#e6e3dd; font:14px 'Manrope',sans-serif; text-align:center; }
.banner-lightbox-close { position:absolute; top:-12px; right:-12px; width:36px; height:36px; border:1px solid #ffffff25; border-radius:50%; background:#22232d; color:#eee; font-size:24px; cursor:pointer; }
body.lightbox-open { overflow:hidden; }
.shop-hero { padding:24px 30px; }
.shop-hero-art { width:min(100%,400px); justify-self:end; }
.boutique-layout :is(h1,h2,h3) { text-shadow:none; }
.shop-card-login { background:#1d2a41; color:#d7e3f8; border-color:#ffffff20; text-transform:none; }
.shop-card-login:hover { color:#14200e; }
@media (max-width:760px) { .shop-hero-art { width:100%; } .shop-hero { padding:22px; } }
.shop-collection-nav { scrollbar-width:none; }
.shop-collection-nav::-webkit-scrollbar { display:none; }

/* Finition de la boutique : lumière statique et interactions courtes. */
.shop-page .boutique-layout { --shop-line:#d4cfff1c; --shop-accent:#c4b5fd; max-width:1660px; padding-top:12px; }
.shop-masthead { grid-column:1 / -1; justify-content:space-between; margin:0; padding-bottom:17px; border-bottom:1px solid #ffffff12; }
.shop-page-context { display:flex; align-items:center; gap:14px; }
.shop-page-context > span { color:#b1a8ca; font-size:9px; font-weight:700; letter-spacing:.16em; }
.shop-page-context > strong { padding-left:14px; border-left:1px solid #ffffff24; color:#e8e3f4; font-size:12px; font-weight:600; }
.shop-login-button { border-radius:24px; padding:11px 18px; background:#201e32; transition:border-color .18s,background .18s; }
.shop-login-button:hover { background:#302941; border-color:#c4b5fd77; }
.solde-view { border-radius:24px; background:#24202b; }
.shop-hero { position:relative; isolation:isolate; grid-template-columns:1.1fr 1fr; gap:24px 48px; padding:22px 44px 34px; margin-bottom:36px; border-color:#c4b5fd3b; border-radius:24px; background:radial-gradient(ellipse at 93% 5%,#7651ba52,transparent 52%),radial-gradient(ellipse at 10% 100%,#263e6555,transparent 60%),linear-gradient(115deg,#141925,#221a32); box-shadow:inset 0 1px 0 #ffffff0b,0 16px 40px #0002; }
.shop-hero::before { content:''; position:absolute; z-index:-1; right:-75px; top:-155px; width:430px; height:430px; border:1px solid #bca4ef1c; border-radius:50%; box-shadow:0 0 0 55px #bca4ef06,0 0 0 110px #bca4ef04; pointer-events:none; }
.shop-hero .section-kicker { color:#d9cbe9; font-size:9px; letter-spacing:.18em; }
.shop-live-dot { background:#cfb4ff; box-shadow:0 0 9px #cfb4ff55; }
.shop-hero h1 { font-size:clamp(36px,4vw,60px); line-height:1.04; letter-spacing:-2.4px; }
.shop-hero h1 span { color:#e3c6ff; background:linear-gradient(100deg,#eecbff,#bba8ff 65%,#91d7ef); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.shop-hero-copy > p { color:#bfc2d5; max-width:405px; font-size:12px; line-height:1.85; }
.shop-explore-button { display:inline-flex; align-items:center; gap:25px; margin-top:22px; padding:12px 18px; border:1px solid #e1d0ff66; border-radius:30px; background:#eadcff; color:#2a203a; font-size:11px; font-weight:800; text-decoration:none; transition:transform .18s,background .18s; }
.shop-explore-button span { font-size:19px; line-height:1; }
.shop-explore-button:hover { transform:translateY(-2px); background:#f4eaff; }
.shop-hero-foot { gap:16px; margin-top:20px; color:#a7a9c3; font-size:9px; }
.shop-hero-art { width:min(100%,435px); padding:21px; transform:rotate(-2deg); border-color:#dbbeff40; border-radius:18px; background:linear-gradient(140deg,#3b2d4b,#151a2b); box-shadow:9px 12px 0 -4px #b49ae612,0 16px 32px #0004,inset 0 1px 0 #ffffff12; }
.shop-featured-caption > span { display:flex; justify-content:space-between; align-items:center; color:#d7bbf1; font-size:8px; letter-spacing:.14em; }
.shop-featured-caption i { color:#efcf9f; font-size:20px; font-style:normal; }
.shop-featured-caption strong { display:block; margin-top:7px; font-size:20px; letter-spacing:-.5px; }
.shop-featured-link { padding-top:13px; border-top:1px solid #ffffff12; color:#d5cde7; }
.shop-featured-link span { color:#e7c3ff; }
.shop-workspace { grid-template-columns:186px minmax(0,1fr); gap:32px; }
.shop-rail { padding:14px 8px; border:1px solid var(--shop-line); border-radius:16px; background:linear-gradient(155deg,#1b2031f2,#121a29f2); }
.shop-rail-label { color:#ada3c7; font-size:8px; margin-left:12px; }
.shop-collection-nav a { position:relative; padding:12px 11px; border-radius:10px; gap:9px; font-size:11px; }
.shop-collection-nav a::before { content:'◈'; color:#a8a0bb; font-size:15px; width:17px; text-align:center; }
.shop-collection-nav a[data-shop-category="banners"]::before { content:'▧'; }
.shop-collection-nav a[data-shop-category="colors"]::before { content:'◉'; color:#93d6da; }
.shop-collection-nav a[data-shop-category="skins"]::before { content:'✦'; color:#ceb5fa; }
.shop-collection-nav a[data-shop-category="frames"]::before { content:'▣'; color:#edce95; }
.shop-collection-nav a[data-shop-category="companions"]::before { content:'♧'; color:#a3deba; }
.shop-collection-nav a[data-shop-category="market"]::before { content:'⇄'; }
.shop-nav-count { margin-left:auto; padding:3px 5px; border-radius:5px; background:#ffffff06; font-size:9px; }
.shop-collection-nav a[aria-current="true"] { border-color:#c4b5fd42; color:#eee4ff; background:linear-gradient(95deg,#9e78db24,#9e78db0c); box-shadow:inset 3px 0 0 #bba0ed; }
.shop-collection-nav a[aria-current="true"] .shop-nav-count { color:#e2ccff; }
.shop-rail-note { margin-top:19px; padding-top:17px; }
.shop-rail-note > span { font-size:19px; color:#d0b5f2; }
.shop-rail-note p { font-size:10px; line-height:1.75; }
.official-store-head { margin-bottom:18px; }
.official-store-head .section-kicker { display:flex; color:#baabcf; font-size:8px; letter-spacing:.16em; margin-bottom:7px; }
.shop-section-title { font-size:26px; letter-spacing:-.8px; }
.official-store-count,.market-count { padding:7px 11px; border:1px solid var(--shop-line); border-radius:20px; color:#c8bfdc; font-size:10px; background:#191d2bf0; }
.shop-toolbar { padding:10px; border:1px solid var(--shop-line); border-radius:13px; background:#151c2cf2; gap:12px; }
.shop-search,.shop-sort { background:#0e1524; border-color:#d4cfff16; border-radius:9px; }
.shop-search:focus-within { border-color:#c4b5fd88; }
.shop-sort select { background:#0e1524; }
.shop-available { padding:0 5px; }
.shop-available input { accent-color:#c4b5fd; }
.items-grid { grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:18px; }
.item-card { --card-accent:#bfa5ee; padding:14px; border-color:#cab8ef20; border-radius:16px; background:linear-gradient(145deg,#242639,#151d2d 75%); box-shadow:inset 0 1px 0 #ffffff08,0 5px 15px #0001; transition:transform .18s,border-color .18s; }
.item-card[data-shop-kind="banners"] { --card-accent:#9bbfff; }
.item-card[data-shop-kind="colors"] { --card-accent:#88e0d7; }
.item-card[data-shop-kind="frames"] { --card-accent:#e9c58e; }
.item-card[data-shop-kind="companions"] { --card-accent:#a3d6ba; }
.item-card.is-legendary-companion { --card-accent:#f0cb82; background:linear-gradient(145deg,#332b30,#171d2b); }
.item-card.is-mythic-companion { --card-accent:#e2a1f5; background:linear-gradient(145deg,#34223e,#171d2b); }
.item-card::before { content:''; position:absolute; top:0; left:18px; right:18px; height:1px; background:linear-gradient(90deg,transparent,var(--card-accent),transparent); opacity:.55; pointer-events:none; }
.item-card:not(.sold-out):hover { border-color:var(--card-accent); box-shadow:inset 0 1px 0 #ffffff08,0 5px 15px #0001; }
.item-img-container { height:110px; border:1px solid #ffffff09; border-radius:10px; background:radial-gradient(ellipse at 50% 70%,#39455d50,transparent 70%),#101725; }
.item-card .cosmetic-render-preview { border-radius:9px; }
.shop-item-category { color:var(--card-accent); font-size:8px; font-weight:700; letter-spacing:.13em; }
.item-name { font-size:15px; letter-spacing:-.25px; }
.item-desc { color:#b4bed2; font-size:11px; margin-bottom:16px; }
.cosmetic-type { color:#cfb9eb; font-size:9px; }
.item-price { padding-top:12px; border-top:1px solid #ffffff0c; font-size:19px; margin-bottom:7px; }
.item-stock { font-size:9px; margin-bottom:14px; }
.btn-buy,.market-primary-button,.market-card-button,#shopReset { border-radius:9px; background:#dbc8f5; color:#2a2038; border-color:#ead9ff44; font-size:10px; min-height:38px; transition:background .18s,border-color .18s; }
.btn-buy:not(:disabled):hover,.market-primary-button:hover,.market-card-button:not(:disabled):hover { background:#eedfff; }
.shop-card-login { background:#ffffff05; color:#dacfe9; border-color:#cab8ef30; }
.shop-card-login:hover { color:#2a2038; }
.badge-rupture { top:20px; right:20px; border-radius:6px; }
.shop-rotation-countdown { border-color:#c4b5fd25; background:#191d2bf0; border-radius:20px; padding:9px 13px; font-size:10px; }
.shop-rotation-countdown strong { color:#d9c1fa; }
.market-card,.market-sell-panel { border-radius:16px; background:linear-gradient(145deg,#242639,#151d2d 75%); }
.market-card-body { padding:16px; }
.boutique-layout :is(a,button,input,select,[tabindex]):focus-visible { outline-color:#e2c9ff; }
@media (max-width:1100px) {
    .shop-hero { gap:22px 30px; padding:20px 30px 30px; }
    .shop-workspace { grid-template-columns:166px minmax(0,1fr); gap:22px; }
}
@media (max-width:760px) {
    .shop-page .boutique-layout { padding-top:10px; }
    .shop-page-context > span { display:none; }
    .shop-page-context > strong { border:0; padding:0; font-size:13px; }
    .shop-hero { grid-template-columns:1fr; gap:22px; padding:17px 22px 25px; border-radius:18px; }
    .shop-masthead { flex-wrap:wrap; gap:10px; padding-bottom:13px; }
    .shop-masthead .wallet-label { display:inline; }
    .shop-hero h1 { font-size:43px; letter-spacing:-1.8px; }
    .shop-hero-art { width:100%; padding:17px; transform:none; }
    .shop-featured-caption strong { font-size:18px; }
    .shop-rail { padding:6px; border-radius:13px; }
    .shop-collection-nav { gap:4px; padding-bottom:0; }
    .shop-collection-nav a { padding:10px 11px; font-size:10px; }
    .shop-collection-nav a::before { width:14px; font-size:13px; }
    .shop-workspace { display:block; }
    .shop-section-title { font-size:23px; }
    .shop-toolbar { padding:8px; gap:8px; }
    .shop-available { min-height:28px; }
    .items-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px; }
    .item-card { padding:11px; border-radius:12px; }
    .item-name { font-size:13px; }
    .item-price { font-size:17px; }
    .item-img-container { height:90px; }
    .official-store-count { padding:6px 8px; font-size:9px; }
}
@media (max-width:360px) { .items-grid { grid-template-columns:1fr; } .shop-hero h1 { font-size:36px; } }
@media (prefers-reduced-motion:reduce) { .boutique-layout * { transition:none; } .shop-explore-button:hover,.item-card:not(.sold-out):hover { transform:none; } }

.shop-featured-visual { display:grid; place-items:center; aspect-ratio:1920 / 700; overflow:hidden; border-radius:9px; background:#101624; }
.shop-featured-visual > .cosmetic-render-preview { width:100%; max-height:100%; margin:0; }
.shop-featured-visual > .item-img-container { width:100%; height:100%; margin:0; border:0; }
.shop-featured-visual .color-bubble-preview { width:64px; height:64px; }
.shop-featured-caption strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.shop-featured-controls { display:flex; align-items:center; justify-content:flex-end; gap:8px; margin-top:15px; padding-top:12px; border-top:1px solid #ffffff12; }
.shop-featured-controls button { display:inline-flex; align-items:center; justify-content:center; min-width:32px; min-height:32px; padding:5px 9px; border:1px solid #d5b8fa30; border-radius:8px; background:#ffffff06; color:#e4d3fa; cursor:pointer; font:600 12px 'Manrope',sans-serif; }
.shop-featured-controls button:hover { border-color:#d5b8fa88; background:#ffffff0e; }
.shop-featured-controls [data-featured-action="pause"] { margin-left:4px; min-width:62px; font-size:10px; }
.shop-featured-position { min-width:36px; text-align:center; color:#b7a9cf; font-size:10px; font-variant-numeric:tabular-nums; }
.shop-featured-announcement { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
