:root{--red:#ef343c;--black:#090d10;--panel:#101519;--panel2:#151a1e;--white:#f4f6f8;--muted:#98a0a7;--line:#252b30;--ok:#69d995;--ease:cubic-bezier(.2,.8,.2,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font:15px/1.5 Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}button{cursor:pointer}::selection{background:var(--red);color:#fff}.topbar{height:82px;position:sticky;top:0;z-index:30;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,4vw,68px);background:rgba(7,11,14,.94);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px)}.brand img{width:190px;max-height:58px;object-fit:contain;object-position:left}.topbar nav{display:flex;gap:32px}.topbar nav a{color:#aab0b5;text-decoration:none;font:600 11px 'Josefin Sans';letter-spacing:.1em;padding:31px 0 27px;border-bottom:3px solid transparent}.topbar nav a:hover,.topbar nav a.active{color:#fff;border-color:var(--red)}.status{justify-self:end;display:flex;align-items:center;gap:9px;font-size:11px;color:#9da4aa}.status i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px rgba(239,52,60,.12)}
.hero{height:390px;position:relative;overflow:hidden;display:flex;align-items:center;padding:55px max(30px,calc((100vw - 1280px)/2));border-bottom:1px solid #24292d}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 74% 44%,rgba(239,52,60,.17),transparent 18%),linear-gradient(90deg,rgba(5,9,12,.98) 0%,rgba(5,9,12,.92) 44%,rgba(8,12,15,.55) 75%,rgba(5,9,12,.9) 100%),url('hero-studio.jpg') center 56%/cover no-repeat}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#090d10 0%,transparent 28%)}.hero-wave{position:absolute;right:-55px;top:20px;width:min(34vw,500px);opacity:.58;mix-blend-mode:screen}.hero-copy{position:relative;z-index:2;max-width:750px}.eyebrow{margin:0 0 10px;color:var(--red);font:700 11px 'Josefin Sans';letter-spacing:.15em}.hero h1{margin:0;font:700 clamp(58px,7vw,104px)/.83 'Josefin Sans';letter-spacing:-.045em}.hero h1 span{color:var(--red)}.hero p:not(.eyebrow){max-width:560px;color:#d2d5d7;font-size:16px;margin:18px 0 0}.hero-corner{position:absolute;width:70px;height:70px;z-index:3}.hero-corner.tl{right:23%;top:28px;border-top:10px solid var(--red);border-left:10px solid var(--red);border-radius:16px 0 0}.hero-corner.br{right:4%;bottom:30px;border-right:10px solid var(--red);border-bottom:10px solid var(--red);border-radius:0 0 16px}
.search-panel{position:relative;z-index:8;max-width:1280px;margin:-36px auto 0;padding:0 30px;display:grid;grid-template-columns:1fr 260px 260px 74px;gap:14px}.searchbox,.date{height:72px;background:#f3f5f7;border-radius:7px;display:flex;align-items:center;color:#171b1e;box-shadow:0 14px 45px rgba(0,0,0,.25)}.searchbox{padding:0 20px;gap:14px}.search-icon{font-size:31px;line-height:1;color:#2d3338}.searchbox input,.date input{width:100%;border:0;outline:0;background:transparent;color:#20252a}.searchbox input::placeholder{color:#899097}.date{padding:0 18px;gap:14px}.date b{font:700 12px 'Josefin Sans'}.date input{color:#6f777f}.search-panel>button{border:0;border-radius:7px;background:var(--red);color:#fff;font-size:34px;box-shadow:0 14px 45px rgba(239,52,60,.2);transition:.2s}.search-panel>button:hover{transform:translateY(-3px);filter:brightness(1.08)}
.category-wrap,.catalog{max-width:1280px;margin:auto;padding:62px 30px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-heading h2{font:700 31px/1 'Josefin Sans';margin:0;letter-spacing:-.02em}.section-heading small{color:#7f878d;font:600 10px 'Josefin Sans';letter-spacing:.08em}.cats{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.cats button{min-height:150px;border:1px solid #252b30;border-radius:8px;background:linear-gradient(145deg,#171c20,#101417);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;transition:.22s var(--ease);position:relative;overflow:hidden}.cats button:after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--red);transform:scaleX(0);transition:.2s}.cats button:hover,.cats button.active{transform:translateY(-5px);border-color:#3b4248;box-shadow:0 20px 45px rgba(0,0,0,.25)}.cats button.active:after,.cats button:hover:after{transform:scaleX(1)}.cat-icon{font-size:38px;color:#e8eaec}.cats b{font:700 13px 'Josefin Sans';letter-spacing:.04em}.catalog{padding-top:58px}.summary{display:flex;gap:25px;color:#8e969c;font:600 10px 'Josefin Sans';letter-spacing:.06em}.summary strong{color:#fff;font-size:18px;margin-right:5px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-bottom:90px}.card{position:relative;cursor:pointer;background:linear-gradient(145deg,#171c20,#101417);border:1px solid #272d32;border-radius:8px;overflow:hidden;min-width:0;transition:.24s var(--ease);animation:cardIn .32s var(--ease) both;animation-delay:calc(min(var(--order),7)*18ms);content-visibility:auto;contain-intrinsic-size:340px}.card:hover{transform:translateY(-6px);border-color:#464e55;box-shadow:0 22px 55px rgba(0,0,0,.34)}@keyframes cardIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.pic{height:190px;background:#0d1114 center/cover no-repeat;position:relative;overflow:hidden}.pic:before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#11161a 20%,#242a2f 45%,#11161a 70%);background-size:220% 100%;animation:shimmer 1s linear infinite}.pic.loaded:before{display:none}@keyframes shimmer{to{background-position:-220% 0}}.pic:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,17,.85),transparent 58%)}.tag,.availability{position:absolute;z-index:2;font:700 8px 'Josefin Sans';letter-spacing:.05em;padding:7px 8px}.tag{left:10px;top:10px;color:#fff;background:var(--red);border-radius:3px}.availability{right:10px;bottom:10px;background:rgba(7,11,14,.9);border:1px solid;border-radius:3px}.availability.ok,.pill.ok{color:#7be0a0;border-color:#36764d}.availability.no,.pill.no{color:#ff7b80;border-color:#8d3e42}.availability.unknown,.pill.unknown{color:#f0b45a;border-color:#8a6528}.info{padding:17px}.info h3{font:700 17px/1.18 'Josefin Sans';margin:0 0 8px}.info p{font-size:12px;line-height:1.45;color:#858e95;height:35px;overflow:hidden;margin:0}.stock{display:flex;justify-content:space-between;align-items:end;gap:10px;margin-top:15px;padding-top:13px;border-top:1px solid #292f34}.stock strong{font:700 28px/1 'Josefin Sans'}.stock small{display:block;font:600 8px 'Josefin Sans';color:#737b82;margin-top:4px}.pill{font:600 8px 'Josefin Sans';padding:6px 7px;border:1px solid;border-radius:3px;white-space:nowrap}.loader{grid-column:1/-1;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#858c96}.loader b{font:700 14px 'Josefin Sans';color:#cbd0d7}.loader-ring{width:34px;height:34px;border:2px solid #333943;border-top-color:var(--red);border-radius:50%;animation:spin .65s linear infinite;margin-bottom:8px}@keyframes spin{to{transform:rotate(360deg)}}.pagination{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:16px;padding:32px 0}.page-btn{border:1px solid #3a4147;border-radius:5px;background:#14191d;color:#b7bdc6;padding:12px 16px;font:600 10px 'Josefin Sans'}.page-btn:hover:not(:disabled){border-color:var(--red);color:#fff}.page-btn:disabled{opacity:.3}.page-info{font:600 9px 'Josefin Sans';color:#777f89}.page-info strong{color:#fff}
footer{background:#070a0c;border-top:1px solid #242a2f;padding:36px max(30px,calc((100vw - 1220px)/2));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px}footer img{width:165px;max-height:58px;object-fit:contain}footer div{display:flex;flex-direction:column;border-left:1px solid #30363b;padding-left:28px}footer strong{font:700 13px 'Josefin Sans'}footer span,footer small{font-size:9px;letter-spacing:.1em;color:#777f89}
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:22px}.hidden{display:none}.backdrop{position:absolute;inset:0;background:rgba(3,5,7,.88);backdrop-filter:blur(7px)}.modal article{position:relative;z-index:2;width:min(800px,95vw);max-height:90vh;overflow-y:auto;background:#12171b;border:1px solid #394047;border-radius:8px;box-shadow:0 30px 90px rgba(0,0,0,.65);padding:30px}.close{position:absolute;right:14px;top:14px;z-index:5;width:38px;height:38px;border:1px solid #59606a;border-radius:4px;background:#0b0f12;color:#fff;font-size:20px}.close:hover{background:var(--red);border-color:var(--red)}.modal-media{height:270px;margin:-30px -30px 26px;background:#111 center/cover no-repeat;border-radius:8px 8px 0 0;border-bottom:3px solid var(--red)}.modal h2{font:700 clamp(34px,5vw,52px)/1 'Josefin Sans';margin:0 0 10px}.modal p{color:#a8afb8}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:20px}.detail,.reservation-breakdown{padding:15px;border:1px solid #2e353a;background:#0c1114;border-radius:5px}.detail b{display:block;font:600 8px 'Josefin Sans';color:#7e8690;margin-bottom:5px}.detail strong{font:700 22px 'Josefin Sans'}.reservation-breakdown{margin-top:16px}.reservation-breakdown h3{font:600 9px 'Josefin Sans';color:var(--red);margin:0 0 8px}.reservation-row{display:flex;gap:12px;padding:10px 0;border-top:1px solid #292f34}.reservation-index{font:700 10px 'Josefin Sans';color:var(--red)}.reservation-row div{display:flex;flex-direction:column}.reservation-row b{font-size:12px}.reservation-row small{font-size:11px;color:#777f89}.modal-status{margin-top:16px;padding:12px;border:1px solid;border-radius:4px;font:600 9px 'Josefin Sans'}
@media(max-width:1000px){.topbar nav{display:none}.topbar{grid-template-columns:1fr 1fr}.search-panel{grid-template-columns:1fr 1fr}.searchbox{grid-column:1/-1}.search-panel>button{height:62px}.cats{grid-template-columns:repeat(3,1fr)}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){.topbar{height:70px;padding:0 18px}.brand img{width:145px}.hero{height:360px;padding:45px 20px}.hero h1{font-size:58px}.hero-wave{width:70vw;opacity:.35}.hero-corner{display:none}.search-panel{margin:-25px auto 0;padding:0 18px;grid-template-columns:1fr}.searchbox,.date{height:60px}.searchbox{grid-column:auto}.search-panel>button{height:58px}.category-wrap,.catalog{padding-left:18px;padding-right:18px}.cats{grid-template-columns:repeat(2,1fr)}.cats button{min-height:120px}.section-heading{align-items:start;flex-direction:column}.grid{grid-template-columns:1fr}.pic{height:220px}.details{grid-template-columns:1fr}.modal{padding:9px}.modal article{padding:20px}.modal-media{margin:-20px -20px 20px}footer{grid-template-columns:1fr;align-items:start;padding:30px 20px}footer div{border-left:0;border-top:1px solid #30363b;padding:18px 0 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* V14.3 — réservation / suivi */
.cart-btn{margin-left:auto;background:#ea3e43;color:#fff;border:0;padding:12px 16px;font:700 12px 'Josefin Sans';letter-spacing:.08em;cursor:pointer}.cart-btn span{display:inline-grid;place-items:center;background:#fff;color:#1f1f1f;border-radius:50%;width:22px;height:22px;margin-left:8px}.cart-btn.has-items{box-shadow:0 0 0 3px rgba(234,62,67,.18)}
.reserve-mini,.primary-wide,.track-form button,.message-form button{border:0;background:#ea3e43;color:#fff;font:700 12px 'Josefin Sans';letter-spacing:.06em;cursor:pointer}.reserve-mini{padding:10px 12px}.reserve-mini:disabled,.primary-wide:disabled{opacity:.35;cursor:not-allowed}.primary-wide{width:100%;padding:16px;margin-top:18px}.cart-drawer{position:fixed;z-index:90;right:-520px;top:0;width:min(500px,100%);height:100vh;background:#101417;color:#fff;box-shadow:-20px 0 60px #0008;padding:28px;transition:right .35s ease;overflow:auto}.cart-drawer.open{right:0}.drawer-head{display:flex;align-items:start;justify-content:space-between}.drawer-head h2{margin:0}.drawer-head button,.checkout-close{background:none;border:0;color:#fff;font-size:30px;cursor:pointer}.caution-note{display:flex;gap:14px;align-items:flex-start;border-left:3px solid #ea3e43;background:#ea3e4312;padding:15px;margin:20px 0}.caution-note b{color:#ea3e43;white-space:nowrap;font-size:11px}.caution-note span{font-size:12px;line-height:1.5}.cart-line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid #ffffff14}.cart-line small{display:block;color:#9ca6ac;margin-top:5px}.qty{display:flex;align-items:center;gap:10px}.qty button,.trash{border:1px solid #ffffff25;background:transparent;color:#fff;width:30px;height:30px;cursor:pointer}.empty-cart{padding:50px 0;color:#9ca6ac;text-align:center}
.checkout{position:fixed;z-index:100;inset:0;background:#050708dd;display:grid;place-items:center;padding:20px;overflow:auto}.checkout.hidden{display:none}.checkout-card{position:relative;width:min(720px,100%);max-height:92vh;overflow:auto;background:#11171a;color:#fff;padding:38px;border:1px solid #ffffff12;box-shadow:0 30px 100px #000}.checkout-card h2{font-size:30px}.checkout-close{position:absolute;right:18px;top:14px}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:22px 0}.role-btn{padding:16px;border:1px solid #ffffff22;background:#191f22;color:#fff;font-weight:700;cursor:pointer}.role-btn.active{background:#ea3e43;border-color:#ea3e43}.checkout-card label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;margin:16px 0}.checkout-card input,.checkout-card textarea{box-sizing:border-box;width:100%;margin-top:8px;padding:13px;background:#090d0f;border:1px solid #ffffff20;color:#fff;font:inherit}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}.required{color:#ea3e43;margin-left:8px}.check{display:flex!important;gap:10px;align-items:flex-start}.check input{width:auto;margin-top:2px}.check span{line-height:1.45}.person-results{background:#090d0f;border:1px solid #ffffff18;max-height:220px;overflow:auto}.person-option{display:flex;width:100%;justify-content:space-between;padding:12px;border:0;border-bottom:1px solid #ffffff10;background:transparent;color:#fff;cursor:pointer;text-align:left}.person-option:hover{background:#ffffff0b}.person-option small{color:#9ca6ac}.hidden{display:none!important}.success-card{text-align:center}.success-ref{font-size:40px;color:#ea3e43;font-weight:700;margin:20px}
.tracking-section{padding:70px max(5vw,28px);background:#0b0f11;color:#fff}.tracking-intro{max-width:720px;color:#aeb7bc}.track-form{display:grid;grid-template-columns:180px minmax(240px,420px) 160px;gap:10px;margin:24px 0}.track-form input{padding:14px;background:#141a1d;border:1px solid #ffffff18;color:#fff}.tracking-head{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-top:30px;padding-top:24px;border-top:1px solid #ffffff15}.tracking-head h3{margin:4px 0}.pending{font-size:11px;background:#ea3e4320;color:#ff7d80;padding:9px 12px}.track-meta{display:flex;gap:20px;color:#aeb7bc;margin:12px 0 24px}.messages{max-width:800px;display:flex;flex-direction:column;gap:8px}.msg{max-width:72%;padding:12px 14px;background:#20282c;border-radius:2px}.msg.staff{align-self:flex-start;border-left:3px solid #ea3e43}.msg.user{align-self:flex-end;background:#ea3e4320}.message-form{display:grid;grid-template-columns:1fr 120px;max-width:800px;margin-top:14px}.message-form input{padding:13px;background:#141a1d;border:1px solid #ffffff18;color:#fff}.muted{color:#89949a}
@media(max-width:850px){.topbar nav{display:none}.cart-btn{margin-left:0}.track-form{grid-template-columns:1fr}.two-cols{grid-template-columns:1fr}.checkout-card{padding:28px 20px}.caution-note{display:block}.caution-note b{display:block;margin-bottom:6px}}

/* V16.4 — panier compact et refermable */
.cart-drawer{visibility:hidden;pointer-events:none;opacity:0;transform:translateX(18px);right:0;transition:opacity .22s ease,transform .3s var(--ease),visibility 0s linear .3s}
.cart-drawer.open{visibility:visible;pointer-events:auto;opacity:1;transform:translateX(0);transition-delay:0s}


/* V16.5 — espace magasin */
.pending.accepted,.request-status.accepted{color:#7be0a0!important;border-color:#36764d!important;background:#183824!important}.pending.refused,.request-status.refused{color:#ff8c90!important;border-color:#8d3e42!important;background:#3a1b1d!important}
.magasin-page{min-height:100vh}.magasin-top{grid-template-columns:1fr auto 1fr}.magasin-top>div{text-align:center}.magasin-top>div p{margin:0}.magasin-top #logout{justify-self:end}.magasin-shell{max-width:1220px;margin:0 auto;padding:70px 30px}.magasin-login{width:min(520px,100%);margin:8vh auto;background:#11171a;border:1px solid #2c3338;padding:38px;box-shadow:0 30px 90px #0007}.magasin-login h1,.magasin-heading h1{font:700 42px/1 'Josefin Sans';margin:0 0 18px}.magasin-login p:not(.eyebrow){color:#9ca6ac}.magasin-login input{width:100%;padding:15px;background:#090d0f;border:1px solid #ffffff20;color:#fff}.magasin-heading{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:28px}.magasin-filters{display:flex;gap:8px;flex-wrap:wrap}.magasin-filters button{border:1px solid #343b40;background:#11171a;color:#aab1b6;padding:11px 13px;font:700 9px 'Josefin Sans';letter-spacing:.05em}.magasin-filters button.active{background:var(--red);border-color:var(--red);color:#fff}.request-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.request-card{min-width:0;text-align:left;background:linear-gradient(145deg,#171c20,#101417);border:1px solid #272d32;color:#fff;padding:20px;transition:.2s}.request-card:hover{transform:translateY(-3px);border-color:#4a535a}.request-card>div{display:flex;justify-content:space-between;gap:10px}.request-card h3{font:700 19px 'Josefin Sans';margin:18px 0 7px}.request-card p{height:42px;overflow:hidden;color:#a6adb3}.request-card small{display:block;color:#747e85;border-top:1px solid #ffffff10;padding-top:12px}.request-id{font:700 11px 'Josefin Sans';color:var(--red)}.request-status{font:700 8px 'Josefin Sans';padding:6px 8px;border:1px solid #8a6528;color:#f0b45a;background:#3b2c13}.request-detail{width:min(880px,95vw)!important}.admin-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.admin-meta>div,.admin-reason{padding:14px;background:#0b1013;border:1px solid #2b3237}.admin-meta b,.admin-reason>b{display:block;color:#7d868d;font:700 8px 'Josefin Sans';margin-bottom:7px}.admin-meta span{font-weight:700}.admin-reason strong{display:block;color:#ff8c90;margin-top:12px}.admin-equipment{margin-bottom:24px;border-top:1px solid #30373c}.admin-equipment>div{display:flex;justify-content:space-between;padding:11px 4px;border-bottom:1px solid #252c30}.admin-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:26px}.admin-actions button{padding:14px;font:700 10px 'Josefin Sans';cursor:pointer}.accept-btn{border:0;background:#2d8b52;color:#fff}.reject-btn{border:0;background:#9e3439;color:#fff}
@media(max-width:900px){.request-list{grid-template-columns:1fr 1fr}.admin-meta{grid-template-columns:1fr 1fr}}@media(max-width:600px){.magasin-top{grid-template-columns:1fr auto}.magasin-top>div{display:none}.magasin-shell{padding:35px 18px}.magasin-heading{align-items:start;flex-direction:column}.request-list{grid-template-columns:1fr}.admin-meta,.admin-actions{grid-template-columns:1fr}}
