 /* ── Show product spécifique ──────────────────────────── */
 .breadcrumb-bar{
 background:var(--surface);border-bottom:1px solid var(--border);
 padding:14px 0;
 }
 .breadcrumb-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
 .breadcrumb{font-size:11px;color:var(--muted2);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
 .breadcrumb a{color:var(--muted);transition:color .15s}
 .breadcrumb a:hover{color:var(--gold)}
 .breadcrumb .sep{opacity:.4}
 .breadcrumb .current{color:var(--text)}
 .breadcrumb-nav{display:flex;gap:6px}

 .product-page{
 display:grid;grid-template-columns:70px 1fr 380px;
 gap:24px;padding:32px 0 60px;
 }
 @media (max-width:980px){.product-page{grid-template-columns:1fr;gap:24px}}

 /* Thumbs verticaux */
 .thumbs{display:flex;flex-direction:column;gap:8px}
 .thumbs .thumb{
 aspect-ratio:1;border-radius:8px;overflow:hidden;
 cursor:pointer;border:2px solid transparent;background:var(--card);
 transition:all .2s;
 }
 .thumbs .thumb:hover{border-color:var(--border-gold)}
 .thumbs .thumb.active{border-color:var(--gold)}
 .thumbs .thumb img{width:100%;height:100%;object-fit:cover}
 @media (max-width:980px){.thumbs{flex-direction:row;overflow-x:auto;padding-bottom:6px}.thumbs .thumb{width:70px;height:70px;flex-shrink:0}}

 /* Image principale + infos */
 .product-main{display:flex;flex-direction:column;gap:16px;min-width:0}
 .main-image{
 position:relative;aspect-ratio:4/3;border-radius:10px;overflow:hidden;
 background:#0a0a0a;border:1px solid var(--border);
 }
 .main-image img{width:100%;height:100%;object-fit:cover;cursor:zoom-in;transition:opacity .25s}
 .main-image img.loading{opacity:0}

 /* ── Lightbox in-page ──────────────────────────────── */
 .lightbox{
 position:fixed;inset:0;z-index:9999;
 background:rgba(0,0,0,.94);backdrop-filter:blur(8px);
 display:none;align-items:center;justify-content:center;
 padding:30px;animation:bs-fade .2s ease;
 }
 .lightbox.open{display:flex}
 .lightbox img{
 max-width:100%;max-height:100%;object-fit:contain;
 border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.6);
 }
 .lightbox-close{
 position:absolute;top:20px;right:20px;
 width:40px;height:40px;border-radius:50%;
 background:rgba(15,15,15,.8);border:1px solid var(--border);
 color:var(--text);cursor:pointer;display:grid;place-items:center;
 }
 .lightbox-close:hover{border-color:var(--gold);color:var(--gold)}
 .lightbox-close svg{width:18px;height:18px}
 .lightbox-arrow{
 position:absolute;top:50%;transform:translateY(-50%);
 width:48px;height:48px;border-radius:50%;
 background:rgba(15,15,15,.8);border:1px solid var(--border);
 color:var(--text);cursor:pointer;display:grid;place-items:center;
 }
 .lightbox-arrow:hover{border-color:var(--gold);color:var(--gold)}
 .lightbox-arrow.prev{left:20px}
 .lightbox-arrow.next{right:20px}
 .lightbox-arrow svg{width:22px;height:22px}
 .lightbox-counter{
 position:absolute;bottom:20px;left:50%;transform:translateX(-50%);
 padding:6px 14px;background:rgba(15,15,15,.8);border:1px solid var(--border);border-radius:999px;
 font-size:11px;color:var(--muted);letter-spacing:.06em;
 }
 @keyframes bs-fade{from{opacity:0}to{opacity:1}}
 .main-image .badges-overlay{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;z-index:2}
 .main-image .ref-pill{
 position:absolute;bottom:12px;left:12px;z-index:2;
 padding:5px 10px;background:rgba(15,15,15,.85);backdrop-filter:blur(6px);
 border:1px solid var(--border);border-radius:6px;
 font-size:10px;letter-spacing:.10em;color:var(--gold);font-weight:600;text-transform:uppercase;
 }
 .main-image .icon-actions{position:absolute;bottom:12px;right:12px;display:flex;gap:6px;z-index:2}
 .main-image .icon-actions button{
 width:36px;height:36px;border-radius:8px;border:1px solid var(--border);
 background:rgba(15,15,15,.7);backdrop-filter:blur(6px);
 color:var(--text);cursor:pointer;display:grid;place-items:center;
 transition:all .15s;
 }
 .main-image .icon-actions button:hover{border-color:var(--border-gold);color:var(--gold)}
 .main-image .icon-actions svg{width:16px;height:16px}
 .main-image .arrows{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 12px;pointer-events:none}
 .main-image .arrows button{width:36px;height:36px;border-radius:50%;background:rgba(0,0,0,.6);border:1px solid var(--border);color:var(--text);cursor:pointer;pointer-events:auto;display:grid;place-items:center;backdrop-filter:blur(6px);transition:all .15s}
 .main-image .arrows button:hover{background:rgba(198,169,109,.25);border-color:var(--gold)}
 .main-image .arrows svg{width:18px;height:18px}

 /* Blocs info 2x2 + specs */
 .info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
 .info-card{padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:8px}
 .info-card h4{font-size:10px;letter-spacing:.14em;color:var(--gold);font-weight:600;text-transform:uppercase;margin:0 0 6px}
 .info-card p{font-size:12px;color:var(--muted);line-height:1.55;margin:0}

 .specs-card{
 grid-column:1/-1;padding:18px 20px;
 background:var(--card);border:1px solid var(--border);border-radius:8px;
 }
 .specs-card h4{font-size:11px;letter-spacing:.14em;color:var(--gold);font-weight:600;text-transform:uppercase;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--border)}
 .specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0}
 .specs-grid > div{padding:10px 0;border-bottom:1px solid var(--border)}
 .specs-grid dt{font-size:10px;color:var(--muted2);margin-bottom:2px;letter-spacing:.04em}
 .specs-grid dd{font-size:11.5px;color:var(--text);font-weight:500;margin:0}
 @media (max-width:760px){.specs-grid{grid-template-columns:1fr 1fr}}

 /* Panneau achat sticky */
 .buy-panel{
 position:sticky;top:90px;height:fit-content;
 background:var(--card);border:1px solid var(--border);border-radius:10px;
 padding:20px;display:flex;flex-direction:column;gap:0;
 }
 @media (max-width:980px){.buy-panel{position:static}}

 .buy-identity .kicker{font-size:10px;letter-spacing:.20em;color:var(--gold);font-weight:600;text-transform:uppercase;margin-bottom:6px;display:block}
 .buy-identity h1{font-size:22px;font-weight:600;margin:0 0 8px;line-height:1.3}
 .rating{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted2)}
 .rating .stars{color:var(--gold);letter-spacing:1px;font-size:13px}

 .buy-price{
 margin:14px 0;padding:14px 0;
 border-top:1px solid var(--border);border-bottom:1px solid var(--border);
 }
 .buy-price .main{font-size:30px;color:var(--gold);font-weight:700;letter-spacing:-.02em;display:flex;align-items:baseline;gap:10px}
 .buy-price .main span{font-size:13px;color:var(--muted2);font-weight:400}
 .buy-price .old{font-size:13px;color:var(--muted2);text-decoration:line-through;margin-right:8px}
 .buy-price .discount{display:inline-block;padding:3px 8px;background:rgba(239,68,68,.12);color:var(--error);border:1px solid rgba(239,68,68,.25);border-radius:6px;font-size:10px;font-weight:700;margin-left:8px;vertical-align:middle}
 .buy-price .vat{font-size:11px;color:var(--muted2);margin-top:6px}

 fieldset.config{border:0;padding:0;margin:14px 0 0}
 fieldset.config legend{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0;margin-bottom:8px}
 fieldset.config .opts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
 fieldset.config .opts button{
 padding:10px 0;background:var(--surface);border:1px solid var(--border);
 color:var(--text);border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;
 transition:all .15s;
 }
 fieldset.config .opts button:hover{border-color:var(--border-gold)}
 fieldset.config .opts button.selected{background:rgba(198,169,109,.10);border-color:var(--gold);color:var(--gold)}
 fieldset.config .opts button small{display:block;font-size:9.5px;color:var(--muted);font-weight:400;margin-top:2px}
 fieldset.config .opts button.selected small{color:var(--gold2)}

 .opt-radio{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;margin-bottom:6px}
 .opt-radio.selected{border-color:var(--gold);background:rgba(198,169,109,.06)}
 .opt-radio input[type="radio"]{display:none}
 .opt-radio div{flex:1}
 .opt-radio strong{color:var(--text);display:block}
 .opt-radio small{color:var(--muted);font-size:10.5px;display:block;margin-top:1px}
 .opt-radio span{color:var(--gold);font-weight:700;font-size:13px}

 .config-image-grid{display:flex;gap:8px;flex-wrap:wrap}
 .config-image-option{
 width:60px;height:60px;border:2px solid var(--border);border-radius:8px;
 cursor:pointer;overflow:hidden;transition:all .15s;position:relative;background:var(--surface);
 }
 .config-image-option:hover{border-color:var(--border-gold)}
 .config-image-option.active{border-color:var(--gold);box-shadow:0 0 0 2px rgba(198,169,109,.2)}
 .config-image-option img{width:100%;height:100%;object-fit:cover}
 .config-image-option .label{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.75);color:#fff;font-size:8px;text-align:center;padding:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

 .buy-actions{display:flex;gap:8px;margin-top:18px}
 .qty-buy{display:flex;align-items:center;height:46px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}
 .qty-buy button{width:40px;height:100%;background:transparent;border:none;color:var(--text);cursor:pointer;font-size:16px}
 .qty-buy button:hover{color:var(--gold)}
 .qty-buy input{width:40px;text-align:center;background:transparent;border:none;color:var(--text);font-size:14px;font-weight:600;outline:none}
 .buy-actions .btn{flex:1;height:46px;font-size:12px}

 .buy-secondary{margin-top:8px}

 .buy-stock{margin-top:14px;display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--success);font-weight:600;text-transform:uppercase;letter-spacing:.06em}
 .buy-stock::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}
 .buy-stock.warn{color:var(--warn)}
 .buy-stock.out{color:var(--error)}

 .buy-trust{margin-top:14px;display:flex;flex-direction:column;gap:6px}
 .buy-trust div{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}
 .buy-trust svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}

 .buy-chips{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0 0;padding:0;list-style:none}
 .buy-chips li{font-size:9.5px;padding:3px 7px;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--muted);letter-spacing:.04em}

 .delivery-eta{margin-top:10px;padding:10px 12px;background:rgba(198,169,109,.06);border:1px solid var(--border-gold);border-radius:8px;font-size:11.5px;color:var(--gold2);display:flex;align-items:center;gap:8px}
 .delivery-eta svg{width:14px;height:14px;color:var(--gold);flex-shrink:0}
 .delivery-eta strong{color:var(--gold);font-weight:700}

 .variant-msg{font-size:12px;color:var(--gold);margin-top:8px;display:none}

 /* Cross-sell */
 .cross-sell{padding:40px 0 60px;background:var(--bg2);border-top:1px solid var(--border)}
