/* Pépilles — mobile first. Les valeurs exactes du thème d'origine sont dans _reference/css :
   reporte-les dans les variables ci-dessous (ou dans theme.css) pour un rendu à l'identique. */
:root{
  --bg:#fff; --fg:#121212; --muted:rgba(18,18,18,.65); --line:rgba(18,18,18,.12);
  --accent:#121212; --accent-fg:#fff; --announce-bg:#121212; --announce-fg:#fff;
  --font-body:"Assistant",system-ui,-apple-system,Segoe UI,sans-serif;
  --font-head:var(--font-body);
  --radius:0px; --btn-radius:0px; --gap:1rem; --pad:1rem; --max:1200px;
  --header-h:64px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 1rem/1.6 var(--font-body);letter-spacing:.06rem}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--font-head);font-weight:400;line-height:1.2;letter-spacing:.06rem;margin:0 0 .6em}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:var(--bg);padding:.5rem}

/* Annonce + header */
.announce{background:var(--announce-bg);color:var(--announce-fg);text-align:center;font-size:.8rem;padding:.55rem var(--pad)}
.announce a{text-decoration:none}
.header{position:sticky;top:0;z-index:20;background:var(--bg);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:var(--header-h);padding:0 .5rem;border-bottom:1px solid var(--line)}
.logo{justify-self:center;text-decoration:none;font-size:1.4rem}
.logo img{max-height:40px;width:auto}
.header-actions{justify-self:end;display:flex}
.nav-desktop{display:none}
.icon-btn{background:none;border:0;width:44px;height:44px;display:grid;place-items:center;cursor:pointer;color:inherit;position:relative;font-size:1.1rem}
.icon-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5}
.cart-count{position:absolute;bottom:6px;right:6px;background:var(--accent);color:var(--accent-fg);font-size:.65rem;min-width:17px;height:17px;border-radius:50%;display:grid;place-items:center}

/* Tiroirs */
.drawer{position:fixed;z-index:40;background:var(--bg);transition:transform .3s ease;overflow:auto}
.drawer-left{inset:0 auto 0 0;width:min(85vw,360px);transform:translateX(-100%);padding:4rem 1.5rem}
.drawer-right{inset:0 0 0 auto;width:min(92vw,420px);transform:translateX(100%);padding:1.25rem;display:flex;flex-direction:column}
.drawer-top{inset:0 0 auto 0;transform:translateY(-100%);padding:.75rem}
.drawer[aria-hidden=false]{transform:none}
.drawer .close{position:absolute;top:.75rem;right:.75rem}
.drawer-left nav a{display:block;font-size:1.3rem;padding:.7rem 0;text-decoration:none}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:30;opacity:0;pointer-events:none;transition:opacity .3s}
body.locked .overlay{opacity:1;pointer-events:auto}
body.locked{overflow:hidden}
.search-form{display:flex;gap:.5rem}
.search-form input,.search-inline input{flex:1;font:inherit;padding:.8rem 1rem;border:1px solid var(--fg);border-radius:var(--radius);width:100%}
.search-form .close{position:static}

/* Panier */
.cart-head{display:flex;justify-content:space-between;align-items:center}
.cart-head .close{position:static}
.cart-lines{flex:1}
.cart-line{display:grid;grid-template-columns:80px 1fr auto;gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);font-size:.9rem}
.cart-line .qty{transform:scale(.85);transform-origin:left}
.cart-line .rm{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--muted);font:inherit;font-size:.8rem}
.cart-empty{text-align:center;margin:auto 0}
.cart-foot{border-top:1px solid var(--line);padding-top:1rem}
.cart-total{display:flex;justify-content:space-between}

/* Boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 2rem;background:var(--accent);color:var(--accent-fg);
  border:1px solid var(--accent);border-radius:var(--btn-radius);font:inherit;text-decoration:none;cursor:pointer;transition:box-shadow .2s}
.btn:hover{box-shadow:0 0 0 1px var(--accent)}
.btn-outline{background:transparent;color:var(--fg)}
.btn-sm{min-height:40px;padding:0 1rem;font-size:.85rem;width:100%}
.btn-block{width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}

/* Sections */
.section{padding:2.5rem var(--pad);max-width:var(--max);margin:0 auto}
.section.narrow{max-width:760px}.center{text-align:center}
.section-title{font-size:1.5rem}
.page-title{font-size:2rem}
.count{color:var(--muted);font-size:.85rem}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem .75rem}
.card{display:flex;flex-direction:column;gap:.4rem}
.card-media{position:relative;aspect-ratio:1;overflow:hidden;background:#f3f3f3}
.card-media img{width:100%;height:100%;object-fit:cover;transition:opacity .4s,transform .6s}
.card-media .alt{position:absolute;inset:0;opacity:0}
@media (hover:hover){.card:hover .card-media .alt{opacity:1}.card:hover .card-media img{transform:scale(1.03)}}
.badge{position:absolute;left:.5rem;bottom:.5rem;background:var(--fg);color:var(--bg);font-size:.7rem;padding:.2rem .7rem;border-radius:2rem}
.card-title{font-size:.95rem;margin:0}.card-title a{text-decoration:none}
.price{margin:0;font-size:.95rem}.price s{color:var(--muted);margin-right:.4rem}
.banner img{width:100%}
.image-text{display:grid}
.image-text img{width:100%;aspect-ratio:4/3;object-fit:cover}
.image-text-body{padding:2.5rem var(--pad);text-align:center}
.image-text-body p{color:var(--muted)}
.collection-list{display:grid;gap:1rem}
.collection-card{text-decoration:none}
.collection-card img{aspect-ratio:1;object-fit:cover;width:100%;margin-bottom:.6rem}
.collection-card span{font-size:1.15rem}

/* Produit */
.product{display:grid;max-width:var(--max);margin:0 auto}
.gallery{position:relative}
.gallery-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-track img{flex:0 0 100%;scroll-snap-align:center;aspect-ratio:1;object-fit:cover}
.gallery-dots{display:flex;justify-content:center;gap:.4rem;padding:.6rem}
.gallery-dots button{width:8px;height:8px;border-radius:50%;border:1px solid var(--fg);background:none;padding:0}
.gallery-dots button.on{background:var(--fg)}
.product-info{padding:1.5rem var(--pad)}
.vendor{text-transform:uppercase;font-size:.75rem;color:var(--muted);margin:0}
.product-info h1{font-size:2rem}
.product-form{display:grid;gap:1.2rem;margin:1.5rem 0}
.option{border:0;padding:0;margin:0}.option legend{font-size:.85rem;margin-bottom:.4rem}
.pill input{position:absolute;opacity:0}
.pill span{display:inline-block;border:1px solid var(--fg);border-radius:2rem;padding:.4rem 1.1rem;margin:0 .3rem .4rem 0;cursor:pointer;font-size:.9rem}
.pill input:checked+span{background:var(--fg);color:var(--bg)}
.pill input:disabled+span{opacity:.4;text-decoration:line-through}
.qty{display:inline-flex;border:1px solid var(--fg);width:max-content}
.qty button{width:44px;height:44px;background:none;border:0;font-size:1.1rem;cursor:pointer}
.qty input{width:44px;text-align:center;border:0;font:inherit;-moz-appearance:textfield}
.qty input::-webkit-inner-spin-button{display:none}
.rte{color:var(--muted)}.rte img{margin:1rem 0}

/* Formulaires / footer */
.contact-form{display:grid;gap:1rem;margin-top:2rem}
.contact-form .row{display:grid;gap:1rem}
.contact-form input,.contact-form textarea{font:inherit;padding:.9rem 1rem;border:1px solid var(--fg);border-radius:var(--radius);width:100%}
.hp{position:absolute;left:-9999px}
.notice{padding:.8rem 1rem;border:1px solid}.ok{color:#2e7d32}.err{color:#c62828}
.footer{border-top:1px solid var(--line);padding:2.5rem var(--pad);font-size:.85rem;text-align:center}
.footer h2{font-size:1.1rem}
.socials,.policies{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem}
.policies a,.copy a{color:var(--muted)}
.copy{color:var(--muted);margin-top:1.5rem}
.toast{position:fixed;left:50%;bottom:1.5rem;transform:translate(-50%,150%);background:var(--fg);color:var(--bg);padding:.8rem 1.4rem;z-index:50;transition:transform .3s}
.toast.on{transform:translate(-50%,0)}

/* Tablette+ */
@media (min-width:750px){
  :root{--pad:3rem;--header-h:80px}
  .grid{grid-template-columns:repeat(3,1fr);gap:2rem 1rem}
  .collection-list{grid-template-columns:repeat(3,1fr)}
  .contact-form .row{grid-template-columns:1fr 1fr}
  .image-text{grid-template-columns:1fr 1fr;align-items:center}
  .product{grid-template-columns:1.2fr 1fr;gap:3rem;padding:2rem var(--pad)}
  .gallery-track{display:grid;gap:.6rem;overflow:visible}
  .gallery-dots{display:none}
  .product-info{position:sticky;top:calc(var(--header-h) + 1rem);align-self:start;padding:0}
}
@media (min-width:990px){
  .grid{grid-template-columns:repeat(4,1fr)}
  .header{grid-template-columns:auto 1fr auto;gap:2rem;padding:0 var(--pad)}
  .header>[data-open=drawer]{display:none}
  .logo{justify-self:start}
  .nav-desktop{display:flex;gap:1.5rem}
  .nav-desktop a{text-decoration:none;font-size:.9rem;color:var(--muted)}
  .nav-desktop a:hover{color:var(--fg);text-decoration:underline}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
.cart-country{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.6rem;font-size:.9rem}
.cart-country select{font:inherit;padding:.5rem .7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);max-width:60%}
.cart-total{margin:.2rem 0}
.cart-errors{color:#c62828;font-size:.85rem}
.order-recap{text-align:left;margin:2rem 0}
/* Pages légales */
.legal .rte{font-size:14px}
.legal-meta{font-style:italic}
.legal-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:13px;display:block;overflow-x:auto}
.legal-table th,.legal-table td{border:1px solid var(--line);padding:.5rem;text-align:left;vertical-align:top;min-width:110px}
.legal-table th{background:var(--cream,#f6f6f6)}
.legal-box{border:1px solid var(--line);border-radius:8px;padding:1rem;margin:1rem 0;background:#fff}
mark.todo{background:#fff3b0;color:#8a5a00;padding:0 .2em}
.form-notice{font-size:12px;color:#555;margin:0}
.cgv-check{display:flex;gap:.6rem;align-items:flex-start;font-size:12.5px;margin:.8rem 0;color:#000}
.cgv-check input{margin-top:.2rem;width:18px;height:18px;flex:none;accent-color:var(--pink,#000)}
.cgv-check a{color:inherit}
/* Consentement */
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:60;background:#fff;color:#000;border-radius:14px;box-shadow:0 10px 40px rgba(0,0,0,.25);padding:20px;max-width:520px;margin:0 auto;max-height:85vh;overflow:auto}
.consent h2{font-size:1.25rem;margin:0 0 .5rem}
.consent p{font-size:13px;margin:0 0 1rem}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.consent-actions .btn{min-height:44px;padding:0 12px;font-size:13px}
.consent-actions [data-consent="custom"],.consent-actions [data-consent="save"],.consent-actions [data-consent="close"]{grid-column:1/-1}
.consent-row{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem 0;border-top:1px solid #eee;font-size:13px}
@media print{.header,.header-band,.announce,.footer,.footer-utilities,.drawer,.consent,.btn{display:none!important}}
