
:root{color-scheme:dark;--bg:#070912;--ink:#e5eeff;--muted:#a7b4cf;--accent:#74e8ff;--violet:#b398ff;--line:rgba(133,163,255,.28);--glass:rgba(16,23,45,.83);--good:#9dedb6;--soon:#f4d389;--bad:#ffb2b2}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:radial-gradient(ellipse at 15% 12%,#42217960,transparent 42%),radial-gradient(ellipse at 90% 75%,#087aa535,transparent 45%),var(--bg);color:var(--ink);font:500 20px 'Pixelify Sans',sans-serif}
body:before{content:'';position:fixed;inset:0;z-index:-1;opacity:.15;pointer-events:none;background-image:linear-gradient(#7196d133 1px,transparent 1px),linear-gradient(90deg,#7196d133 1px,transparent 1px);background-size:65px 65px}
a{color:inherit}.wrap{width:min(1200px,94%);margin:auto}.header{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 0;border-bottom:1px solid var(--line)}.header-links{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.brand{text-decoration:none;font-size:clamp(23px,3vw,31px);font-weight:700}.brand span{color:var(--accent)}.back{font-size:clamp(13px,2vw,17px);color:var(--muted);text-decoration:none}.back:hover{color:var(--accent)}.cart-link{text-decoration:none;padding:10px 14px;border:1px solid var(--line);background:var(--glass)}
.hero{padding:35px 0 22px}.eyebrow{font:9px/1.8 'Press Start 2P',monospace;color:var(--accent);margin:0 0 10px}.hero h1{font-size:clamp(46px,7vw,80px);line-height:1;margin:0 0 12px}.lead{color:var(--muted);font-size:clamp(18px,2vw,23px);margin:0;max-width:840px}.lead strong{color:var(--ink)}
.categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:12px 0 22px}.category{background:var(--glass);border:1px solid var(--line);text-align:left;color:var(--ink);font:inherit;padding:22px 24px;cursor:pointer;box-shadow:5px 5px 0 #4565a225;transition:transform .2s,border-color .2s}.category:hover,.category.active{border-color:var(--accent);transform:translateY(-2px)}.category strong{font-size:clamp(30px,4vw,42px);display:block}.category small{font-size:17px;color:var(--muted);display:block;margin-top:7px}.category.active strong{color:var(--accent)}
.toolbar{display:flex;justify-content:space-between;align-items:end;gap:14px;flex-wrap:wrap;margin:22px 0 16px}.toolbar h2{margin:0;font-size:clamp(28px,5vw,44px)}.toolbar-note{margin:6px 0 0;color:var(--muted);font-size:17px}.toolbar input{font:inherit;padding:14px 16px;border:1px solid var(--line);background:#0d1528;color:var(--ink);min-width:min(420px,100%)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.product{display:flex;flex-direction:column;border:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.02),rgba(255,255,255,.01)),var(--glass);box-shadow:7px 7px 0 rgba(67,99,167,.14);overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.product:hover{transform:translateY(-4px);border-color:var(--accent);box-shadow:10px 12px 0 rgba(67,99,167,.2)}.product.family-handheld{--local:#74e8ff}.product.family-home{--local:#b398ff}.product.family-hybrid{--local:#84f7c9}.product.family-accessory{--local:#f4d389}.product.family-software{--local:#ffb36a}.product.family-audio{--local:#ff82c7}.product.family-peripheral{--local:#8bc1ff}.product .thumb{display:block;background:radial-gradient(circle at top left,color-mix(in srgb,var(--local, var(--accent)) 18%, transparent),transparent 50%),#0f182d;border-bottom:1px solid var(--line)}.product .thumb img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}.product-meta{padding:18px 18px 0}.type-chip{display:inline-flex;align-items:center;gap:8px;font:10px/1.7 'Press Start 2P',monospace;color:var(--local,var(--accent));border:1px solid color-mix(in srgb,var(--local,var(--accent)) 50%, #ffffff 10%);padding:6px 10px;margin-bottom:14px;background:rgba(255,255,255,.03)}.product h3{margin:0 0 7px;font-size:31px;line-height:1.02}.product-desc{margin:0;color:var(--muted);font-size:18px;line-height:1.25;min-height:48px}
.mini-counters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:16px 18px 0}.mini-counter{display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid var(--line);padding:10px 8px;background:#0d1528;min-height:72px}.mini-counter strong{font-size:28px;line-height:1}.mini-counter small{font-size:13px;color:var(--muted);margin-top:4px}.count-sale strong{color:var(--good)}.count-soon strong{color:var(--soon)}.count-unavailable strong{color:var(--bad)}.count-total strong{color:var(--accent)}
.bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:16px 18px 18px;margin-top:auto}.stock{display:inline-flex;align-items:center;gap:8px;font-size:15px;padding:10px 12px;border:1px solid var(--line);background:#0d1528}.stock.yes{color:var(--good);border-color:#3f8358}.stock.soon{color:var(--soon);border-color:#a78c4b}.stock.no{color:var(--bad);border-color:#8a5561}.link{color:var(--accent);text-decoration:none;font-size:17px}.link:hover{text-decoration:underline}
.notice,.empty,.contact,.management details,.detail-layout,.cart-item,.cart-summary{background:var(--glass);border:1px solid var(--line);box-shadow:5px 5px 0 #4565a225}.notice,.empty,.contact{padding:18px;margin:18px 0;color:var(--muted)}.management{margin:24px 0}.management details{padding:18px}.management summary{cursor:pointer;font-size:24px}.admin-form{margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:16px}.admin-form input,.admin-form select,.admin-form textarea{font:inherit;color:var(--ink);background:#0e172c;border:1px solid var(--line);padding:9px;width:100%;min-width:0}.admin-form textarea{min-height:95px;resize:vertical}.unit-admin-list{margin:15px 0}.admin-unit{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:9px;border-bottom:1px solid var(--line)}.admin-unit span{flex:1}.controls{display:flex;gap:12px;flex-wrap:wrap}.main-btn,.secondary-btn,.action{font:inherit;padding:12px 15px;background:#163155;color:var(--ink);border:1px solid var(--line);cursor:pointer;text-decoration:none}.secondary-btn{background:#101a30}.main-btn:hover,.secondary-btn:hover,.action:hover{border-color:var(--accent)}.main-btn:disabled{cursor:not-allowed;opacity:.85}
.contact{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.contact p{margin:0}.contact a{text-decoration:none;color:var(--accent)}footer{padding:26px 0 35px;color:var(--muted);font-size:17px}

/* Product detail */
.unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:22px 0}.unit-card{border:1px solid var(--line);background:var(--glass);overflow:hidden;box-shadow:6px 6px 0 #4565a225}.unit-card>img{width:100%;height:245px;display:block;object-fit:contain;background:#0e172a}.unit-body{padding:22px}.unit-body h2{font-size:30px;margin:0 0 10px}.unit-topline{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grade{display:inline-block;padding:5px 12px;border:1px solid;font-size:18px;font-weight:700}.grade-S{color:#8fe9ff}.grade-A{color:#9beab5}.grade-B{color:#f5d288}.grade-C{color:#f6a1a1}.sale-state{display:inline-block;padding:5px 10px;font-size:16px;font-weight:700;border:1px solid}.sale-state.on-sale{color:var(--good);border-color:#39875a;background:#14391e55}.sale-state.coming-soon{color:var(--soon);border-color:#a78c4b;background:#57451c44}.sale-state.sold-out{color:var(--bad);border-color:#985151;background:#3d161655}.unit-body dl{display:grid;grid-template-columns:125px 1fr;gap:8px;margin:18px 0}.unit-body dt{color:var(--accent)}.unit-body dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.unit-feedback{min-height:22px;color:#9beab5}.unit-card.status-unavailable{border-color:#844d59}.unit-card.status-unavailable>img{filter:grayscale(.6);opacity:.75}.unit-card.status-unavailable .unit-body h2{color:#cbd1df}.unit-card.status-soon{border-color:#a78c4b}.disclaimer{font-size:16px;color:var(--muted);line-height:1.4}

/* Cart */
.cart-list{display:grid;gap:13px}.cart-item{display:flex;align-items:center;gap:16px;padding:16px}.cart-item img{width:115px;max-width:25%;aspect-ratio:1.5;object-fit:cover}.cart-item-info{flex:1}.cart-item h2{font-size:25px;margin:0}.cart-item p{color:var(--muted);margin:5px 0}.cart-summary{margin:20px 0 35px;padding:18px}.cart-summary p{color:var(--muted)}.cart-actions{display:flex;gap:12px;flex-wrap:wrap}#feedback{color:#9dedb6;min-height:24px}

@media(max-width:980px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:730px){.header{flex-direction:column;align-items:flex-start}.toolbar input{min-width:0;width:100%}.grid,.unit-grid,.admin-form,.categories{grid-template-columns:1fr}.mini-counters{grid-template-columns:repeat(2,minmax(0,1fr))}.unit-body dl{grid-template-columns:1fr;gap:3px}.unit-body dd{margin-bottom:8px}.cart-item{flex-wrap:wrap}.contact{align-items:flex-start}}
@media(max-width:520px){.hero h1{font-size:44px}.product h3{font-size:26px}.type-chip{font-size:9px}.unit-card>img{height:205px}.sale-state{display:block;width:max-content}}

/* Photographies fournies par le propriétaire, sans déformation. */
.product .thumb img[src$='ps3-photo.png'],.product .thumb img[src$='ps4-photo.png']{object-fit:contain;background:#f3f5f8}.unit-card>img[src$='ps3-photo.png'],.unit-card>img[src$='ps4-photo.png']{object-fit:contain;background:#f3f5f8}

/* Photos réelles et packshots dans les cartes. */
.product .thumb{background:#f0f1f4}.product .thumb img{object-fit:contain;object-position:center;height:220px;aspect-ratio:auto;padding:12px}.unit-card>img{background:#edf0f4;object-fit:contain}.photo-notice{font-size:16px;color:var(--muted);line-height:1.5}.photo-notice a{color:var(--accent)}@media(max-width:730px){.product .thumb img{height:200px}}

/* Confirmation de demande et PDF */
.order-notice{margin:22px 0;padding:18px 22px;border:2px solid #77d8a0;background:#123524;color:#cef8de;font-size:21px;box-shadow:6px 6px 0 rgba(40,140,83,.2)}.order-history{margin:18px 0 32px;padding:22px;background:var(--glass);border:1px solid var(--accent);box-shadow:6px 6px 0 #4565a225}.order-history h2{margin:0 0 8px}.order-history p{margin:10px 0}.order-history .reference-help{color:var(--muted)}.cart-summary .cart-actions{margin:18px 0}.cart-summary .notice{margin:12px 0}.cart-actions .main-btn{display:inline-block}.order-notice[hidden],.order-history[hidden]{display:none!important}
