/* Ajouts de production au prototype (site.css reste la référence graphique). */

/* Bandeaux d'état : démonstration / mode test */
.site-banner{padding:9px 16px;text-align:center;font-size:13px;line-height:1.4;background:#171717;color:#fff}
.site-banner.test{background:#583e18}
.site-banner strong{letter-spacing:.04em}

/* Langues non encore traduites : visibles mais inactives */
.languages button[disabled]{opacity:.4;cursor:not-allowed}

/* Visuels de campagne temporaires */
.hero-image,.collection-hero-image,.split-image,.collection-card{position:relative}
.temp-chip{position:absolute;left:12px;bottom:12px;z-index:2;background:#000b;color:#fff;font-size:10px;letter-spacing:.1em;text-transform:uppercase;padding:4px 9px}
.editorial-split .split-image{overflow:hidden}
.editorial-split .split-image img{width:100%;height:510px;object-fit:cover;display:block}
@media(max-width:650px){.editorial-split .split-image img{height:370px}}
.collection-hero-image{overflow:hidden}

/* Cartes produit : mockups Printful (portrait) et créations à plat de démonstration */
.product-image img{object-fit:cover}
.product-image.is-design{background:#f2f0ec}
.product-image.is-design img{object-fit:contain;padding:12%}
.demo-pill{position:absolute;top:13px;right:13px;background:#171717;color:#fff;padding:6px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.no-image{display:grid;place-items:center;aspect-ratio:4/5;background:#f2f0ec;color:#625e5b;font-size:13px}
.no-image.small{aspect-ratio:auto;width:100px;height:120px}

/* Fiche produit : galerie adaptée aux mockups Printful */
.product-gallery figure,.product-gallery figure:first-child{aspect-ratio:4/5}
.product-gallery figure:first-child{grid-column:span 2;aspect-ratio:1/1}
.product-gallery img{object-fit:contain;background:#f3f1ee}
.product-gallery figure.is-design img{padding:10%}
.gallery-note{grid-column:1/-1;font-size:12px;color:#625e5b;margin:4px 0 0}
.fit-label{font-weight:700;font-size:13px;margin:14px 0 4px}
.colors{display:flex;gap:8px;flex-wrap:wrap}
.chip{border:1px solid #bbb7b2;background:#fff;padding:9px 14px;font-size:13px;min-height:42px}
.chip.selected{background:#171717;color:#fff;border-color:#171717}
.size:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.add-cart:disabled{opacity:.55;cursor:not-allowed}
.add-cart:disabled:hover{background:var(--ink);border-color:var(--ink)}

/* Formulaires */
.field-error{color:#b3261e;font-size:12px;min-height:0}
.field-error:empty{display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
:focus-visible{outline:2px solid #df432f;outline-offset:2px}
.cart-line h3 a{text-decoration:none}
.cart-line h3 a:hover{color:var(--accent)}
.empty .btn{margin-top:14px}

/* Règles de marque fixes — NE PAS MODIFIER sans validation.
   En-tête : fichier horizontal original, centré, 280 px max. ordinateur / 220 px mobile.
   Pied de page : logo institutionnel validé, à gauche, 171 px (160/154 et 140 px en réduction). */
.masthead>a{width:min(280px,72vw)}
.masthead img{width:100%;height:auto;display:block}
@media(max-width:650px){.masthead>a{width:min(220px,68vw)}}
.footer{grid-template-columns:190px 1fr}
.footer-brand img{width:171px;height:auto;display:block}
@media(max-width:850px){.footer{grid-template-columns:160px 1fr}.footer-brand img{width:154px}}
@media(max-width:650px){.footer{grid-template-columns:1fr}.footer-brand img{width:140px}}
@media(max-width:650px){.site-banner{font-size:12px;padding:7px 12px}}

/* Galerie produit : l'image principale prend le format de l'image (aucune bande de couleur) */
.product-gallery{display:block}
.gmain{position:relative;width:100%;max-height:82vh;background:#f3f1ee;overflow:hidden;margin:0}
.gmain>.zoomable,.gmain>.video-poster{display:block;width:100%;height:100%;padding:0;border:0;background:none}
.gmain img{width:100%;height:100%;object-fit:contain;display:block;cursor:zoom-in}
.gmain.is-design img{padding:8%}
.gmain iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-poster{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:#171717!important;color:#fff;text-align:center}
.video-poster .play{font-size:42px;width:78px;height:78px;border-radius:50%;border:2px solid #fff;display:grid;place-items:center;padding-left:6px}
.video-poster small{opacity:.7;font-size:11px}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;background:#fffc;font-size:26px;line-height:1;z-index:2}
.gnav:hover{background:#fff}
.gnav.prev{left:8px}.gnav.next{right:8px}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:4px}
.thumb{flex:0 0 68px;height:84px;padding:0;border:1px solid transparent;background:#f3f1ee;scroll-snap-align:start}
.thumb img{width:100%;height:100%;object-fit:contain;display:block}
.thumb.on{border-color:#171717}
.vthumb{display:grid;place-items:center;height:100%;background:#171717;color:#fff}
.lightbox{position:fixed;inset:0;z-index:90;background:#000d;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:pan-y}
.lightbox img{max-width:94vw;max-height:92vh;object-fit:contain;background:#fff;cursor:zoom-in;transition:transform .2s}
.lightbox img.zoomed{transform:scale(2.2);cursor:zoom-out}
.lb-close{position:absolute;top:14px;right:14px;z-index:3;width:44px;height:44px;border:0;background:#fff;font-size:20px}
.swatch{width:32px;height:32px;border:1px solid #999}
.swatch.selected{outline:2px solid #171717;outline-offset:3px}
.colors .swatch{flex:0 0 auto}
.product-card .dots{display:flex;gap:5px;align-items:center;margin:7px 0 0}
.product-card .dots i{width:12px;height:12px;border-radius:50%;border:1px solid #999;display:inline-block}
.product-card .dots small{font-size:11px;color:#625e5b}
@media(max-width:650px){.gmain{max-height:70vh}.gnav{width:36px;height:36px}}

/* Promotions et étiquettes */
.product-flags{position:absolute;left:13px;top:46px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;z-index:2}
.flag{display:inline-block;background:#fff;color:#171717;border:1px solid #171717;padding:4px 9px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.flag.promo{background:#171717;color:#fff}
.was{color:#625e5b;font-weight:400;margin-right:6px}
.promo-note,.flags-line{margin:6px 0 0;font-size:13px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.code-form{margin:0 0 14px}.code-form .row{display:flex;gap:8px}.code-form input{flex:1;min-width:0;border:1px solid #bbb7b2;padding:10px;text-transform:uppercase}
