/* DAO Boutique 1.1 — site public. Trois designs (clair, sombre, marche) pilotés par variables CSS.
   Les couleurs de la marque arrivent par l'attribut style du body (--c, --c2… calculées par daob_palette() en PHP). */

/* ---------- Polices (servies par l'extension, licence SIL OFL : voir polices/) ---------- */
@font-face{font-family:"DAOB Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(polices/archivo-latin-wdth-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DAOB Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(polices/archivo-latin-ext-wdth-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DAOB Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(polices/archivo-vietnamese-wdth-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}
@font-face{font-family:"DAOB Bodoni";font-style:normal;font-weight:400 900;font-display:swap;src:url(polices/bodoni-moda-latin-opsz-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DAOB Bodoni";font-style:normal;font-weight:400 900;font-display:swap;src:url(polices/bodoni-moda-latin-ext-opsz-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DAOB Jost";font-style:normal;font-weight:100 900;font-display:swap;src:url(polices/jost-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DAOB Jost";font-style:normal;font-weight:100 900;font-display:swap;src:url(polices/jost-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DAOB Bricolage";font-style:normal;font-weight:200 800;font-display:swap;src:url(polices/bricolage-grotesque-latin-opsz-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"DAOB Bricolage";font-style:normal;font-weight:200 800;font-display:swap;src:url(polices/bricolage-grotesque-latin-ext-opsz-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"DAOB Bricolage";font-style:normal;font-weight:200 800;font-display:swap;src:url(polices/bricolage-grotesque-vietnamese-opsz-normal.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}

/* ---------- Socle ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
.daob{
	/* Design « Clair » par défaut : galerie blanche, la photo d'abord. */
	--fond:#ffffff;--surface:#f3f2ee;--surface-2:#e8e6e0;--fiche:#ffffff;
	--encre:#1b1b18;--doux:#5c5b55;--trait:#e3e1db;--trait-fort:#c4c1b9;
	--alerte:#a34a06;--succes:#137a4b;--erreur:#b42318;--erreur-fond:#fdecea;--focus:var(--c-texte);
	--police:"DAOB Archivo",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--police-titre:var(--police);
	--graisse-titre:620;--chasse-titre:104%;--approche-titre:-.03em;
	--rayon:16px;--rayon-photo:14px;--rayon-btn:999px;--rayon-champ:12px;
	--ombre-fenetre:0 30px 70px -24px rgba(24,20,12,.38);
	--gouttiere:16px;--largeur:1200px;
	margin:0;background:var(--fond);color:var(--encre);
	font:400 1rem/1.55 var(--police);font-stretch:100%;
	-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
@media (min-width:768px){.daob{--gouttiere:32px}}
@media (min-width:1200px){.daob{--gouttiere:48px}}
/* Remises à zéro sans poids (:where) : chaque composant garde la main sur ses propres règles. */
:where(.daob) img{max-width:100%;height:auto;display:block}
:where(.daob) a{color:inherit}
:where(.daob) :where(button,input,textarea){font:inherit;color:inherit}
:where(.daob) :where(p,ul,dl,dd,figure){margin:0}
:where(.daob) :where(h1,h2,h3){font-family:var(--police-titre);font-weight:var(--graisse-titre);font-stretch:var(--chasse-titre);letter-spacing:var(--approche-titre);line-height:1.05;margin:0;text-wrap:balance}
.daob .ic{flex:none}
.daob :focus-visible{outline:3px solid var(--focus);outline-offset:3px}
[hidden]{display:none!important}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.evitement{position:fixed;left:12px;top:-80px;z-index:100;padding:12px 18px;border-radius:8px;background:var(--encre);color:var(--fond)!important;font-weight:600;text-decoration:none}
.evitement:focus{top:12px}
.bloque{overflow:hidden}
.cadre{width:100%;max-width:calc(var(--largeur) + 2 * var(--gouttiere));margin-inline:auto;padding-inline:var(--gouttiere)}

/* ---------- Boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 24px;border:1px solid transparent;border-radius:var(--rayon-btn);
	background:var(--c);color:var(--sur-c);font:600 .9375rem/1.15 var(--police);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
	transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,transform .15s}
.btn:hover{background:var(--c-fonce)}
.btn:active{transform:translateY(1px)}
.btn[disabled]{opacity:.6;cursor:progress}
.btn.btn-second{background:transparent;color:var(--encre);border-color:var(--encre)}
.btn.btn-second:hover{background:var(--encre);color:var(--fond)}
.btn-large{width:100%;min-height:56px;font-size:1rem}
.btn small{display:block;margin-top:3px;font-weight:400;font-size:.8125rem;opacity:.85;font-variant-numeric:tabular-nums}

/* ---------- Barre d'infos (horaires, appel, WhatsApp) ---------- */
.barre-infos{background:var(--c);color:var(--sur-c);font-size:.8125rem;line-height:1.3}
.barre-infos-in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px}
.bi-horaires{display:flex;align-items:center;gap:8px;min-width:0}
.bi-horaires span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bi-contacts{display:none;align-items:center;gap:6px;margin-left:auto}
.bi-contacts a{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 10px;text-decoration:none;font-weight:600;font-variant-numeric:tabular-nums}
.bi-contacts a:hover span{text-decoration:underline;text-underline-offset:3px}
.barre-infos.sans-horaires{display:none}
@media (min-width:900px){.bi-contacts{display:flex}.barre-infos.sans-horaires{display:block}}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:0;z-index:30;background:var(--fond);border-bottom:1px solid var(--trait)}
.entete-in{display:flex;align-items:center;gap:8px;min-height:64px}
@media (min-width:900px){.entete-in{min-height:78px;gap:12px}}
.marque{display:flex;align-items:center;gap:10px;min-width:0;min-height:44px;margin-right:auto;text-decoration:none;font:var(--graisse-titre) 1.0625rem/1.15 var(--police-titre);letter-spacing:-.01em}
.marque img{width:auto;height:40px;max-width:120px;object-fit:contain}
@media (min-width:900px){.marque{font-size:1.1875rem}.marque img{height:48px;max-width:160px}}
.marque span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.marque-logo img{height:42px;max-width:min(190px,46vw)}
/* Logo en JPG sur fond blanc : le blanc se fond dans les fonds clairs ; sur fond sombre, une petite plaque blanche garde le logo lisible. */
.marque img{mix-blend-mode:multiply}
.d-sombre .marque img{mix-blend-mode:normal;padding:4px;border-radius:6px;background:#fff}
@media (min-width:900px){.marque-logo img{height:54px;max-width:260px}}
.menu{display:none}
@media (min-width:900px){
	.menu{display:flex;gap:30px;margin-right:18px}
	.menu a{position:relative;padding:12px 0;text-decoration:none;font-weight:500;font-size:.9375rem;color:var(--doux);transition:color .2s}
	.menu a::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
	.menu a:hover{color:var(--encre)}
	.menu a:hover::after{transform:scaleX(1)}
}
.entete-actions{display:flex;align-items:center;gap:2px}
.ico-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--encre);text-decoration:none;transition:background-color .2s}
.ico-btn:hover{background:var(--surface)}
@media (min-width:900px){.ico-mobile{display:none}}
.btn-panier{position:relative;display:inline-flex;align-items:center;gap:10px;min-width:44px;height:44px;padding:0 10px;border:0;border-radius:var(--rayon-btn);background:transparent;color:var(--encre);cursor:pointer;font-weight:600;font-size:.9375rem;transition:background-color .2s,border-color .2s}
.btn-panier:hover{background:var(--surface)}
.btn-panier-txt{display:none}
.compteur{position:absolute;top:1px;right:0;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--c);color:var(--sur-c);font:700 .75rem/20px var(--police);text-align:center;font-variant-numeric:tabular-nums}
@media (min-width:900px){
	.btn-panier{padding:0 18px;border:1px solid var(--trait-fort)}
	.btn-panier-txt{display:inline}
	.compteur{position:static}
}
.compteur.saut{animation:daob-saut .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes daob-saut{40%{transform:scale(1.35)}}

/* ---------- Accueil ---------- */
.hero{position:relative}
.hero-in{position:relative;display:grid;gap:32px;padding-block:36px 52px}
@media (min-width:900px){.hero-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:64px;padding-block:64px 96px}}
.hero-texte{position:relative;z-index:1;min-width:0}
.hero-titre{font-size:clamp(2.3rem,1.3rem + 4.2vw,4.6rem);max-width:15ch;line-height:1.02}
.hero-titre.titre-long{font-size:clamp(1.95rem,1.2rem + 3vw,3.6rem);max-width:20ch}
.hero-titre.titre-court{font-size:clamp(2.8rem,1.5rem + 6vw,6.2rem)}
.hero-sous{margin-top:18px;max-width:38ch;font-size:1.125rem;line-height:1.5;color:var(--doux)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.hero-actions .btn{flex:1 1 210px}
@media (min-width:900px){.hero-actions .btn{flex:0 0 auto}}
.hero-lieu{display:flex;align-items:flex-start;gap:8px;margin-top:24px;color:var(--doux);font-size:.9375rem}
.hero-lieu .ic{color:var(--c-texte);margin-top:1px}
.hero-visuel{position:relative;min-width:0}
.hero-photo{width:100%;height:100%;object-fit:cover}
.d-clair.accueil-photo .hero{overflow:hidden}
.d-clair.accueil-photo .hero-visuel{aspect-ratio:4/5;margin-inline:calc(-1 * var(--gouttiere));overflow:hidden;background:var(--surface)}
@media (min-width:600px){.d-clair.accueil-photo .hero-visuel{aspect-ratio:16/11}}
@media (min-width:900px){
	.d-clair.accueil-photo .hero-in{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);padding-block:56px 88px}
	.d-clair.accueil-photo .hero-visuel{aspect-ratio:auto;height:min(74vh,680px);margin:0 calc(-1 * max(var(--gouttiere), (100vw - var(--largeur)) / 2)) 0 0;border-radius:28px 0 0 28px}
}

/* Vitrine : les premiers produits, présentés comme des pièces de galerie avec leur cartel. */
.vitrine{display:grid;grid-template-columns:1.3fr 1fr;grid-template-rows:1fr 1fr;gap:10px;aspect-ratio:1.12}
.vitrine.n2{grid-template-columns:1fr 1fr;grid-template-rows:1fr;aspect-ratio:2}
.vitrine-piece{position:relative;display:block;overflow:hidden;border-radius:var(--rayon-photo);background:var(--surface);text-decoration:none}
.vitrine.n3 .vitrine-piece:first-child{grid-row:1/3}
.vitrine-piece img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cartel{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);display:flex;flex-direction:column;gap:1px;padding:8px 12px;border-radius:10px;background:rgba(255,255,255,.94);color:#1b1b18;font-size:.8125rem;line-height:1.3}
.cartel span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cartel strong{font-weight:650;font-variant-numeric:tabular-nums}
.vitrine.n3 .vitrine-piece:not(:first-child) .cartel{display:none}
@media (min-width:900px){.vitrine{gap:14px}.vitrine.n3 .vitrine-piece:not(:first-child) .cartel{display:flex}}
@media (hover:hover){.vitrine-piece:hover img{transform:scale(1.04)}}

/* ---------- Sections ---------- */
.bloc{padding-block:52px}
@media (min-width:900px){.bloc{padding-block:88px}}
.hero + .bloc{padding-top:20px}
@media (min-width:900px){.hero + .bloc{padding-top:32px}}
.promos{padding-bottom:12px}
.promos + .produits{padding-top:40px}
@media (min-width:900px){.promos{padding-bottom:24px}.promos + .produits{padding-top:64px}}
.bloc-tete{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.bloc h2,.contact h2{font-size:clamp(1.75rem,1.25rem + 2vw,2.85rem)}
.bloc-compte{margin-left:auto;color:var(--doux);font-size:.9375rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.outils{display:flex;flex-direction:column;gap:14px;margin-bottom:26px}
@media (min-width:900px){.outils{flex-direction:row-reverse;align-items:center;justify-content:space-between;gap:24px}}
.recherche{display:flex;align-items:center;gap:10px;height:50px;padding:0 18px;border:1px solid var(--trait-fort);border-radius:var(--rayon-btn);background:var(--fond);color:var(--doux);transition:border-color .2s,box-shadow .2s}
@media (min-width:900px){.recherche{width:300px;flex:none}}
.recherche:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}
.recherche input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--encre);font-size:1rem}
.recherche input::placeholder{color:var(--doux);opacity:1}
.recherche input::-webkit-search-cancel-button{cursor:pointer}
.filtres{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gouttiere));padding-inline:var(--gouttiere);scroll-padding-inline:var(--gouttiere)}
.filtres::-webkit-scrollbar{display:none}
@media (min-width:900px){.filtres{margin:0;padding:0;flex-wrap:wrap}}
.puce{flex:none;min-height:44px;padding:0 18px;border:1px solid var(--trait-fort);border-radius:999px;background:transparent;color:var(--encre);font-weight:500;font-size:.9375rem;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.puce:hover{border-color:var(--encre)}
.puce.actif{background:var(--encre);border-color:var(--encre);color:var(--fond)}

/* ---------- Cartes produit ---------- */
.grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px}
@media (min-width:640px){.grille{gap:40px 20px}}
@media (min-width:700px){.grille{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1180px){.grille{grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px}}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:46%;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;
	margin-inline:calc(-1 * var(--gouttiere));padding:2px var(--gouttiere) 8px;scroll-padding-inline:var(--gouttiere)}
.rail::-webkit-scrollbar{display:none}
@media (min-width:640px){.rail{grid-auto-columns:31%;gap:20px}}
@media (min-width:1180px){.rail{grid-auto-columns:calc((100% - 3 * 24px) / 4);gap:24px}}
.rail-nav{display:none;gap:8px;margin-left:12px}
@media (min-width:900px){.rail-nav:not([hidden]){display:flex}}
.rail-nav button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--trait-fort);border-radius:50%;background:transparent;color:var(--encre);cursor:pointer;transition:background-color .2s,opacity .2s}
.rail-nav button:hover{background:var(--surface)}
.rail-nav button[disabled]{opacity:.35;cursor:default}
.rail .carte{scroll-snap-align:start}
.carte{position:relative;display:flex;flex-direction:column;min-width:0}
.carte-photo{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--rayon-photo);background:var(--surface)}
.carte-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.carte:hover .carte-photo img{transform:scale(1.045)}}
.sans-photo{display:grid;place-items:center;height:100%;color:var(--doux)}
.badge{position:absolute;top:10px;left:10px;padding:5px 10px;border-radius:99px;font:650 .75rem/1.2 var(--police);font-variant-numeric:tabular-nums}
.badge-promo{background:var(--c2);color:var(--sur-c2)}
.badge-epuise{background:var(--encre);color:var(--fond)}
.carte-corps{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding-top:12px;flex:1}
.carte-nom{font:500 .9375rem/1.35 var(--police);font-stretch:100%;letter-spacing:0;text-wrap:pretty}
.carte-nom a{text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.carte-nom a::after{content:"";position:absolute;inset:0;z-index:1}
.carte-prix{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 8px}
.prix{font-weight:650;font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.carte-prix del{color:var(--doux);font-size:.8125rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.stock-bas,.stock-epuise{display:flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:600}
.stock-bas{color:var(--alerte)}
.stock-bas::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.stock-epuise{color:var(--doux);font-weight:500}
.carte-corps > :nth-last-child(2){margin-bottom:12px}
.btn-ajout{position:relative;z-index:2;margin-top:auto;min-height:44px;padding:0 18px 0 14px;gap:6px;font-size:.875rem;background:transparent;color:var(--encre);border-color:var(--trait-fort)}
.btn-ajout .ic{color:var(--c-texte);transition:color .2s}
.btn-ajout:hover{background:var(--c);border-color:var(--c);color:var(--sur-c)}
.btn-ajout:hover .ic,.btn-ajout.ajoute .ic{color:inherit}
.daob .btn.btn-ajout.ajoute{background:var(--succes);border-color:var(--succes);color:#fff}
.rupture .carte-photo img{filter:grayscale(1);opacity:.55}
.vide{color:var(--doux);padding:24px 0}

/* ---------- À propos ---------- */
.apropos-in{display:grid;gap:18px}
@media (min-width:900px){.apropos-in{grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:64px;align-items:start}}
.apropos-texte{max-width:36em;font-size:clamp(1.125rem,1rem + .55vw,1.45rem);line-height:1.5}
.apropos-texte p + p{margin-top:.9em}
.produits + .apropos{border-top:1px solid var(--trait)}

/* ---------- Contact ---------- */
.contact{position:relative;background:var(--surface);padding-block:56px}
@media (min-width:900px){.contact{padding-block:96px}}
.contact-in{position:relative;display:grid;gap:36px}
@media (min-width:900px){.contact-in{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:72px;align-items:start}}
.contact-intro{margin-top:14px;max-width:36ch;color:var(--doux);font-size:1.0625rem}
.contact-actions{display:grid;gap:12px;margin-top:28px;max-width:420px}
.contact-actions .btn{justify-content:flex-start;gap:14px;padding:10px 22px;text-align:left;line-height:1.2}
.contact-infos{margin:0;border-top:1px solid var(--trait-fort)}
.contact-infos > div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--trait-fort)}
@media (max-width:379px){.contact-infos > div{grid-template-columns:1fr}}
.contact-infos dt{display:flex;align-items:center;gap:10px;font-weight:600}
.contact-infos dt .ic{color:var(--c-texte)}
.contact-infos dd{margin:0;overflow-wrap:anywhere}
.lien{display:inline-flex;align-items:center;gap:4px;min-height:44px;color:var(--c-texte);font-weight:600;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.sociaux{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
.sociaux a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 14px;border:1px solid var(--trait-fort);border-radius:var(--rayon-btn);text-decoration:none;font-weight:500;transition:background-color .2s,border-color .2s,color .2s}
.sociaux a:hover{border-color:var(--encre)}

/* ---------- Pied de page ---------- */
.pied{padding-block:28px calc(28px + env(safe-area-inset-bottom));font-size:.875rem;color:var(--doux)}
.mode-boutique .pied{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
@media (min-width:900px){.mode-boutique .pied{padding-bottom:32px}}
.pied-in{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px}
.pied-nom{margin-right:auto!important;font-weight:600;color:var(--encre)}
.credit a{font-weight:600}

/* ---------- Barre panier (mobile) et WhatsApp flottant ---------- */
.barre-panier{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:25;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:0 22px;border:0;border-radius:var(--rayon-btn);
	background:var(--c);color:var(--sur-c);font:600 .9375rem/1 var(--police);box-shadow:0 16px 36px -14px rgba(0,0,0,.55);cursor:pointer;animation:daob-monte .35s cubic-bezier(.2,.8,.2,1)}
.barre-txt{display:flex;align-items:center;gap:10px}
.barre-panier strong{font-variant-numeric:tabular-nums}
@media (min-width:900px){.barre-panier{left:auto;right:28px;bottom:28px;width:380px}}
@keyframes daob-monte{from{transform:translateY(130%)}}
.wa-flottant{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:25;display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:var(--c);color:var(--sur-c);box-shadow:0 14px 30px -10px rgba(0,0,0,.5)}

/* ---------- Fiche produit et panier ---------- */
.voile{position:fixed;inset:0;z-index:40;background:rgba(14,12,9,.56);opacity:0;transition:opacity .25s}
.voile.visible{opacity:1}
.fiche,.panier{position:fixed;z-index:50;background:var(--fiche);color:var(--encre);overscroll-behavior:contain;box-shadow:var(--ombre-fenetre)}
.fiche{left:0;right:0;bottom:0;max-height:94vh;max-height:94dvh;overflow-y:auto;border-radius:22px 22px 0 0;transform:translateY(100%);transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.fiche.visible{transform:none}
.poignee{position:absolute;top:8px;left:50%;z-index:3;width:42px;height:4px;margin-left:-21px;border-radius:2px;background:rgba(255,255,255,.85);box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.fermer{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;background:var(--fiche);color:var(--encre);cursor:pointer;box-shadow:0 2px 12px rgba(0,0,0,.2)}
.fiche .fermer{position:sticky;top:12px;z-index:4;margin:12px 12px -56px auto}
.fiche-photo{background:var(--surface)}
.fiche-photo img{width:100%;aspect-ratio:1;object-fit:cover}
.fiche-corps{display:flex;flex-direction:column;gap:14px;padding:24px 20px 0}
.fiche-nom{font-size:clamp(1.55rem,1.2rem + 1.4vw,2.3rem);line-height:1.08}
.fiche-prix{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:1.375rem;font-weight:650;font-variant-numeric:tabular-nums}
.fiche-prix del{font-size:1rem;font-weight:400;color:var(--doux)}
.fiche-prix .badge{position:static}
.fiche-stock{display:flex;align-items:center;gap:8px;font-size:.9375rem;font-weight:600}
.fiche-stock::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.fiche-stock.ok{color:var(--succes)}
.fiche-stock.bas{color:var(--alerte)}
.fiche-stock.epuise{color:var(--doux)}
.fiche-desc{color:var(--encre);line-height:1.6}
.fiche-desc p{margin:0 0 .8em}
.fiche-desc a{color:var(--c-texte)}
.carac-titre{margin:10px 0 6px;font:600 .9375rem/1.3 var(--police);font-stretch:100%;letter-spacing:0}
.carac{width:100%;border-collapse:collapse;font-size:.9375rem}
.carac th,.carac td{padding:11px 0;border-top:1px solid var(--trait);text-align:left;vertical-align:top}
.carac tr:last-child th,.carac tr:last-child td{border-bottom:1px solid var(--trait)}
.carac th{width:42%;padding-right:14px;font-weight:400;color:var(--doux)}
.carac td{font-weight:500}
.fiche-actions{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;gap:12px;margin:4px -20px 0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:var(--fiche);border-top:1px solid var(--trait)}
.fiche-ligne{display:flex;align-items:center;justify-content:space-between;gap:12px}
.fiche-total{font-variant-numeric:tabular-nums;color:var(--doux);font-size:.9375rem}
.fiche-total strong{color:var(--encre);font-size:1.0625rem}
.fiche-rupture{padding:14px 16px;border-radius:var(--rayon-champ);background:var(--surface);color:var(--encre)}
.fiche-liens{display:flex;flex-wrap:wrap;gap:0 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.fiche-liens a,.fiche-liens button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:var(--c-texte);font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer}
.fiche-liens a:hover,.fiche-liens button:hover{text-decoration:underline;text-underline-offset:3px}
@media (min-width:900px){
	.fiche{left:50%;top:50%;bottom:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(1040px,92vw);max-height:88vh;overflow:hidden;border-radius:var(--rayon);opacity:0;transform:translate(-50%,-46%);transition:transform .3s cubic-bezier(.2,.8,.2,1),opacity .3s}
	.fiche.visible{opacity:1;transform:translate(-50%,-50%)}
	.poignee{display:none}
	.fiche .fermer{position:absolute;top:16px;right:16px;margin:0}
	.fiche-photo img{height:100%;aspect-ratio:auto;min-height:420px}
	.fiche-corps{max-height:88vh;overflow-y:auto;padding:52px 44px 0}
	.fiche-nom{padding-right:40px}
	.fiche-actions{margin-inline:-44px;padding-inline:44px}
}
.qte{display:inline-flex;align-items:center;flex:none;border:1px solid var(--trait-fort);border-radius:var(--rayon-btn)}
.qte button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:var(--encre);font-size:1.25rem;line-height:1;cursor:pointer}
.qte button:hover{background:var(--surface)}
.qte span{min-width:26px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}

.panier{top:0;right:0;bottom:0;display:flex;flex-direction:column;width:min(440px,100%);transform:translateX(100%);transition:transform .34s cubic-bezier(.2,.8,.2,1)}
.panier.visible{transform:none}
.panier-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:66px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--trait)}
.panier-tete h2{font-size:1.35rem}
.panier-tete .fermer{box-shadow:none;border:1px solid var(--trait)}
.panier-corps{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px calc(28px + env(safe-area-inset-bottom))}
.lignes{list-style:none;margin:0;padding:0}
.ligne{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--trait)}
.ligne img,.ligne-sans{width:64px;height:64px;border-radius:10px;object-fit:cover;background:var(--surface)}
.ligne-info{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:.9375rem}
.ligne-info strong{font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ligne-info span{font-weight:600;font-variant-numeric:tabular-nums}
.ligne-info small{color:var(--doux);font-size:.8125rem;font-variant-numeric:tabular-nums}
.panier-vide{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:36px 0}
.commande{display:flex;flex-direction:column;gap:16px;margin-top:20px}
.total-ligne{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:1.0625rem}
.total-ligne strong{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums}
.note-livraison{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:var(--rayon-champ);background:var(--c-pale);font-size:.875rem;line-height:1.45}
.note-livraison .ic{color:var(--c-texte);margin-top:1px}
.commande-titre{margin-top:6px;font-size:1.0625rem;letter-spacing:0}
.champ{display:flex;flex-direction:column;gap:6px}
.champ label,.choix legend{font-size:.9375rem;font-weight:600}
.facultatif{font-weight:400;color:var(--doux)}
.commande input:not([type=radio]),.commande textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--trait-fort);border-radius:var(--rayon-champ);background:var(--fiche);color:var(--encre);font-size:1rem;line-height:1.4;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.commande textarea{min-height:80px;resize:vertical}
.commande input::placeholder,.commande textarea::placeholder{color:var(--doux);opacity:.8}
.commande input:focus,.commande textarea:focus{outline:0;border-color:var(--focus);box-shadow:0 0 0 2px var(--focus)}
.commande [aria-invalid="true"]{border-color:var(--erreur);box-shadow:0 0 0 1px var(--erreur)}
.champ-erreur{font-size:.875rem;font-weight:600;color:var(--erreur)}
.choix{min-width:0;margin:0;padding:0;border:0}
.choix legend{margin-bottom:6px;padding:0}
.choix-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.choix label{display:flex;align-items:center;gap:10px;min-height:54px;padding:8px 14px;border:1px solid var(--trait-fort);border-radius:var(--rayon-champ);font-weight:500;font-size:.9375rem;line-height:1.25;cursor:pointer;transition:border-color .2s,background-color .2s}
.choix label:has(input:checked){border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus);background:var(--c-pale)}
.choix input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--focus)}
.piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.erreur{padding:12px 14px;border-radius:var(--rayon-champ);background:var(--erreur-fond);color:var(--erreur);font-size:.9375rem;font-weight:600}
.petit{font-size:.8125rem;color:var(--doux);text-align:center}
.merci{display:flex;flex-direction:column;align-items:center;gap:14px;padding-top:52px;text-align:center}
.merci .ic{color:var(--succes)}
.merci h3{font-size:1.6rem}
.merci p{color:var(--doux)}
.merci strong{color:var(--encre);font-variant-numeric:tabular-nums}

/* ---------- Apparition au défilement (discrète, désactivée si l'utilisateur limite les animations) ---------- */
[data-apparition]{transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--retard,0ms)}
.a-venir{opacity:0;transform:translateY(18px)}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
	.a-venir{opacity:1;transform:none}
}

/* =====================================================================
   ÉLÉGANT (sombre) : écrin noir chaud, Bodoni pour les titres, détails dorés (couleur secondaire).
   ===================================================================== */
.d-sombre{
	--fond:#14110e;--surface:#1e1a16;--surface-2:#29241e;--fiche:#1a1713;
	--encre:#f2ece2;--doux:#b3aa9c;--trait:#352f28;--trait-fort:#5a5146;
	--alerte:#f2b35e;--succes:#62d29c;--erreur:#ff9b8c;--erreur-fond:#3a1d18;--focus:var(--c2-texte);
	--police:"DAOB Jost",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--police-titre:"DAOB Bodoni",Georgia,"Times New Roman",serif;
	--graisse-titre:500;--chasse-titre:100%;--approche-titre:-.015em;
	--rayon:4px;--rayon-photo:2px;--rayon-btn:2px;--rayon-champ:4px;
	--ombre-fenetre:0 30px 80px -20px rgba(0,0,0,.85);
	letter-spacing:.005em;
}
.d-sombre .btn{min-height:52px;padding:0 28px;font-weight:500;letter-spacing:.03em}
.d-sombre .btn.btn-second{border-color:var(--trait-fort);color:var(--encre)}
.d-sombre .btn.btn-second:hover{background:transparent;border-color:var(--encre);color:var(--encre)}
.d-sombre .barre-infos{background:var(--fond);color:var(--doux);border-bottom:1px solid var(--trait)}
.d-sombre .barre-infos .ic{color:var(--c2-texte)}
.d-sombre .bi-contacts a{color:var(--encre);font-weight:500}
.d-sombre .entete{background:var(--fond)}
.d-sombre .marque{font-size:1.3rem;letter-spacing:0}
@media (min-width:900px){.d-sombre .marque{font-size:1.55rem}}
.d-sombre .menu a{color:var(--doux);letter-spacing:.02em}
.d-sombre .menu a:hover{color:var(--encre)}
.d-sombre .btn-panier{border-color:var(--trait-fort)}
.d-sombre .hero-titre{font-size:clamp(3.1rem,1.6rem + 7.4vw,8.6rem);line-height:.92;max-width:11ch;letter-spacing:-.025em}
.d-sombre .hero-titre.titre-long{font-size:clamp(2.4rem,1.3rem + 4.8vw,5.6rem);max-width:16ch}
.d-sombre .hero-titre.titre-court{font-size:clamp(3.6rem,1.8rem + 9vw,10.5rem)}
.d-sombre .hero-sous{color:var(--encre);opacity:.86;font-size:1.1875rem;max-width:34ch}
.d-sombre .hero-lieu .ic{color:var(--c2-texte)}
/* Grande photo en pleine largeur, le nom posé dessus comme une couverture de magazine. */
.d-sombre.accueil-photo .hero{min-height:min(86svh,820px);display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}
.d-sombre.accueil-photo .hero-in{position:static;display:block;padding-block:200px 48px}
@media (min-width:900px){.d-sombre.accueil-photo .hero-in{padding-block:200px 80px}}
.d-sombre.accueil-photo .hero-visuel{position:absolute;inset:0;aspect-ratio:auto;height:auto;max-height:none;margin:0;border-radius:0;z-index:0}
.d-sombre.accueil-photo .hero-photo{filter:saturate(.88) brightness(.8)}
.d-sombre.accueil-photo .hero-visuel::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,17,14,.3) 0%,rgba(20,17,14,.45) 30%,rgba(20,17,14,.86) 58%,#14110e 92%)}
@media (min-width:900px){.d-sombre.accueil-photo .hero-visuel::after{background:linear-gradient(90deg,rgba(20,17,14,.95) 0%,rgba(20,17,14,.82) 38%,rgba(20,17,14,.35) 70%,rgba(20,17,14,.15) 100%),linear-gradient(0deg,#14110e 0%,rgba(20,17,14,0) 34%)}}
.d-sombre.accueil-photo .hero-texte{max-width:880px}
/* Sans photo : un cadre fin doré, comme un écrin. */
.d-sombre.accueil-texte .hero,.d-sombre.accueil-vitrine .hero{margin:14px var(--gouttiere) 0;border:1px solid var(--trait-fort)}
.d-sombre.accueil-texte .hero::before,.d-sombre.accueil-vitrine .hero::before{content:"";position:absolute;inset:6px;border:1px solid var(--trait);pointer-events:none}
.d-sombre.accueil-texte .hero-in{grid-template-columns:1fr;padding-block:88px 96px}
.d-sombre.accueil-vitrine .hero-in{grid-template-columns:1fr;gap:40px;padding-block:56px 64px}
@media (min-width:900px){.d-sombre.accueil-vitrine .hero-in{gap:56px;padding-block:80px 88px}.d-sombre .vitrine{width:min(100%,860px);margin-left:auto}}
.d-sombre .vitrine{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;aspect-ratio:auto;gap:14px;align-items:start}
.d-sombre .vitrine.n3 .vitrine-piece:nth-child(3){display:none}
@media (min-width:600px){.d-sombre .vitrine{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.d-sombre .vitrine.n3 .vitrine-piece:nth-child(3){display:flex}}
.d-sombre .vitrine.n2{grid-template-columns:repeat(2,minmax(0,1fr))}
.d-sombre .vitrine.n3 .vitrine-piece:first-child{grid-row:auto}
.d-sombre .vitrine-piece{display:flex;flex-direction:column;gap:10px;overflow:visible;background:transparent;border-radius:0}
.d-sombre .vitrine-piece img{aspect-ratio:4/5;border:1px solid var(--trait)}
.d-sombre .vitrine-piece:nth-child(2){margin-top:28px}
.d-sombre .vitrine-piece:nth-child(3){margin-top:56px}
.d-sombre .cartel,.d-sombre .vitrine.n3 .vitrine-piece:not(:first-child) .cartel{position:static;display:flex;max-width:none;padding:0;background:none;border-radius:0;color:var(--encre)}
.d-sombre .cartel span{font-family:var(--police-titre);font-size:1rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.d-sombre .cartel strong{color:var(--c2-texte);font-weight:500}
@media (hover:hover){.d-sombre .vitrine-piece:hover img{transform:none;border-color:var(--c2-texte)}}
.d-sombre .bloc h2,.d-sombre .contact h2{font-size:clamp(2.1rem,1.4rem + 2.6vw,3.6rem)}
.d-sombre .bloc-compte{letter-spacing:.04em}
.d-sombre .produits + .apropos{border-top-color:var(--trait)}
.d-sombre .recherche{background:transparent;border-radius:var(--rayon-btn)}
.d-sombre .puce{min-height:44px;min-width:44px;padding:0 2px;margin-right:18px;border:0;border-bottom:1px solid transparent;border-radius:0;color:var(--doux);letter-spacing:.02em}
.d-sombre .puce:hover{color:var(--encre);border-color:var(--trait-fort)}
.d-sombre .puce.actif{background:transparent;color:var(--encre);border-bottom-color:var(--c2-texte)}
.d-sombre .carte-photo{border:1px solid var(--trait)}
.d-sombre .badge{border-radius:2px;letter-spacing:.05em;font-weight:600}
.d-sombre .carte-corps{gap:6px;padding-top:16px}
.d-sombre .carte-nom{font-family:var(--police-titre);font-size:1.125rem;font-weight:500;line-height:1.25;letter-spacing:0}
.d-sombre .prix{color:var(--c2-texte);font-weight:500;letter-spacing:.03em}
.d-sombre .btn-ajout{width:100%;background:transparent;border-color:var(--trait-fort);color:var(--encre);letter-spacing:.04em}
.d-sombre .btn-ajout:hover{background:var(--c);border-color:var(--c);color:var(--sur-c)}
.d-sombre .apropos-texte{font-family:var(--police-titre);font-size:clamp(1.35rem,1.1rem + 1vw,2rem);line-height:1.4;font-weight:400}
.d-sombre .contact{background:var(--surface)}
.d-sombre .contact-infos,.d-sombre .contact-infos > div{border-color:var(--trait)}
.d-sombre .contact-infos dt{font-weight:500;letter-spacing:.02em}
.d-sombre .contact-infos dt .ic,.d-sombre .note-livraison .ic{color:var(--c2-texte)}
.d-sombre .lien,.d-sombre .fiche-liens a,.d-sombre .fiche-liens button{color:var(--c2-texte)}
.d-sombre .sociaux a{border-color:var(--trait-fort)}
.d-sombre .pied{border-top:1px solid var(--trait)}
.d-sombre .pied-nom{font-family:var(--police-titre);font-size:1.25rem;font-weight:500}
.d-sombre .fiche-prix{color:var(--c2-texte);font-weight:500}
.d-sombre .fiche-photo img{border-right:1px solid var(--trait)}
.d-sombre .poignee{background:var(--trait-fort)}
.d-sombre .fermer{background:var(--surface-2)}
.d-sombre .note-livraison{background:var(--surface-2)}
.d-sombre .choix label:has(input:checked){background:var(--surface-2)}
.d-sombre .barre-panier{box-shadow:0 18px 40px -12px rgba(0,0,0,.9)}

/* =====================================================================
   MARCHÉ : couleurs franches, motifs de bogolan et bandes de Faso Dan Fani, lettres d'enseigne peinte.
   ===================================================================== */
.d-marche{
	--fond:#fbf2e2;--surface:#ffffff;--surface-2:#f4e4c8;--fiche:#fffaf1;
	--encre:#2b1b10;--doux:#6b5544;--trait:#2b1b10;--trait-fort:#2b1b10;
	--alerte:#9a3d06;--succes:#17703f;--erreur:#a8200d;--erreur-fond:#fde5df;
	--police:"DAOB Bricolage",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--police-titre:var(--police);
	--graisse-titre:800;--chasse-titre:100%;--approche-titre:-.025em;
	--rayon:16px;--rayon-photo:0px;--rayon-btn:12px;--rayon-champ:12px;
	--ombre-fenetre:8px 8px 0 #2b1b10;
}
.d-marche .bande{height:14px;border-bottom:3px solid var(--fond);box-sizing:content-box;background:repeating-linear-gradient(90deg,var(--c) 0 16px,var(--fond) 16px 18px,var(--encre) 18px 21px,var(--fond) 21px 23px,var(--c2) 23px 39px,var(--encre) 39px 42px,var(--c2) 42px 46px,var(--encre) 46px 49px,var(--fond) 49px 52px,var(--c) 52px 58px,var(--encre) 58px 70px,var(--fond) 70px 72px)}
.d-marche .motif{position:absolute;inset:0;pointer-events:none;background:var(--sur-c);opacity:.14;
	-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 11l11-7 11 7 11-7 11 7 11-7 11 7 11-7 11 7'/%3E%3Cpath d='M22 33l11 11-11 11-11-11zM22 40l4 4-4 4-4-4zM66 33l11 11-11 11-11-11zM66 40l4 4-4 4-4-4z'/%3E%3Cpath d='M44 38v12M38 44h12M0 38v12M-6 44h12M88 38v12M82 44h12'/%3E%3Cpath d='M5 70h12M27 70h12M49 70h12M71 70h12'/%3E%3Cg fill='%23000' stroke='none'%3E%3Ccircle cx='11' cy='24' r='2.6'/%3E%3Ccircle cx='33' cy='24' r='2.6'/%3E%3Ccircle cx='55' cy='24' r='2.6'/%3E%3Ccircle cx='77' cy='24' r='2.6'/%3E%3Ccircle cx='11' cy='81' r='1.8'/%3E%3Ccircle cx='22' cy='81' r='1.8'/%3E%3Ccircle cx='33' cy='81' r='1.8'/%3E%3Ccircle cx='44' cy='81' r='1.8'/%3E%3Ccircle cx='55' cy='81' r='1.8'/%3E%3Ccircle cx='66' cy='81' r='1.8'/%3E%3Ccircle cx='77' cy='81' r='1.8'/%3E%3C/g%3E%3C/svg%3E");
	mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='88' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 11l11-7 11 7 11-7 11 7 11-7 11 7 11-7 11 7'/%3E%3Cpath d='M22 33l11 11-11 11-11-11zM22 40l4 4-4 4-4-4zM66 33l11 11-11 11-11-11zM66 40l4 4-4 4-4-4z'/%3E%3Cpath d='M44 38v12M38 44h12M0 38v12M-6 44h12M88 38v12M82 44h12'/%3E%3Cpath d='M5 70h12M27 70h12M49 70h12M71 70h12'/%3E%3Cg fill='%23000' stroke='none'%3E%3Ccircle cx='11' cy='24' r='2.6'/%3E%3Ccircle cx='33' cy='24' r='2.6'/%3E%3Ccircle cx='55' cy='24' r='2.6'/%3E%3Ccircle cx='77' cy='24' r='2.6'/%3E%3Ccircle cx='11' cy='81' r='1.8'/%3E%3Ccircle cx='22' cy='81' r='1.8'/%3E%3Ccircle cx='33' cy='81' r='1.8'/%3E%3Ccircle cx='44' cy='81' r='1.8'/%3E%3Ccircle cx='55' cy='81' r='1.8'/%3E%3Ccircle cx='66' cy='81' r='1.8'/%3E%3Ccircle cx='77' cy='81' r='1.8'/%3E%3C/g%3E%3C/svg%3E");
	-webkit-mask-size:88px 88px;mask-size:88px 88px}
.d-marche .btn{border:2px solid var(--encre);box-shadow:3px 3px 0 var(--encre);font-weight:700;font-size:1rem}
.d-marche .btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--encre)}
.d-marche .btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--encre)}
.d-marche .btn.btn-second{background:var(--surface);color:var(--encre);border-color:var(--encre)}
.d-marche .btn.btn-second:hover{background:var(--surface-2);color:var(--encre)}
.d-marche .barre-infos{background:var(--encre);color:var(--fond)}
.d-marche .entete{border-bottom:2px solid var(--encre)}
.d-marche .marque{font-size:1.2rem}
@media (min-width:900px){.d-marche .marque{font-size:1.4rem}}
.d-marche .menu a{color:var(--encre);font-weight:600}
.d-marche .btn-panier{border:2px solid var(--encre)}
.d-marche .btn-panier:hover,.d-marche .ico-btn:hover{background:var(--surface-2)}
.d-marche .compteur{border:2px solid var(--encre);line-height:16px}
.d-marche .hero{background:var(--c);color:var(--sur-c);border-bottom:2px solid var(--encre);overflow:hidden}
.d-marche .hero-titre{font-size:clamp(2.6rem,1.5rem + 5.2vw,5.6rem);line-height:.95}
.d-marche .hero-titre.titre-long{font-size:clamp(2.1rem,1.3rem + 3.6vw,4.2rem)}
.d-marche .hero-lieu{color:inherit;opacity:.92}
.d-marche .hero-lieu .ic{color:inherit}
.d-marche .hero .btn{background:var(--surface);color:var(--encre)}
.d-marche .hero .btn:hover{background:var(--surface-2)}
.d-marche .hero .btn.btn-second{background:var(--c2);color:var(--sur-c2)}
.d-marche .hero .btn.btn-second:hover{background:var(--c2-fonce);color:var(--sur-c2)}
.d-marche.accueil-photo .hero-visuel{padding:10px 10px 0;border:2px solid var(--encre);border-radius:6px;background:var(--surface);box-shadow:7px 7px 0 var(--encre);transform:rotate(1.6deg);aspect-ratio:auto;overflow:visible}
.d-marche.accueil-photo .hero-visuel::after{content:"";display:block;height:34px}
.d-marche.accueil-photo .hero-photo{aspect-ratio:1;border-radius:2px}
@media (min-width:900px){.d-marche.accueil-photo .hero-photo{aspect-ratio:4/5;max-height:560px}.d-marche.accueil-photo .hero-visuel{width:88%;justify-self:center}}
.d-marche .vitrine{display:flex;justify-content:center;align-items:flex-start;aspect-ratio:auto;padding:8px 0 22px}
.d-marche .vitrine-piece{flex:0 0 37%;padding:6px 6px 44px;border:2px solid var(--encre);border-radius:6px;background:var(--surface);box-shadow:5px 5px 0 var(--encre);overflow:visible}
.d-marche .vitrine-piece img{aspect-ratio:1;border-radius:2px}
.d-marche .vitrine-piece:nth-child(1){transform:rotate(-5deg);z-index:2}
.d-marche .vitrine-piece:nth-child(2){transform:rotate(3deg) translateY(18px);margin-left:-6%;z-index:1}
.d-marche .vitrine-piece:nth-child(3){transform:rotate(-2deg) translateY(4px);margin-left:-6%;z-index:3}
.d-marche .cartel{left:8px;right:8px;bottom:6px;max-width:none;padding:0;background:none;color:var(--encre);gap:0;font-weight:600;font-size:.75rem;line-height:1.25}
.d-marche .cartel strong{font-weight:800}
.d-marche .vitrine.n3 .vitrine-piece:not(:first-child) .cartel{display:flex}
@media (min-width:900px){.d-marche .vitrine-piece{flex-basis:38%;padding:8px 8px 52px}.d-marche .cartel{font-size:.875rem;bottom:8px;left:10px;right:10px}}
@media (hover:hover){.d-marche .vitrine-piece:hover img{transform:none}.d-marche .vitrine-piece:hover{z-index:4}}
.d-marche .bloc h2,.d-marche .contact h2{font-size:clamp(1.9rem,1.3rem + 2.4vw,3.2rem)}
.d-marche .promos{background:var(--c2);color:var(--sur-c2);border-bottom:2px solid var(--encre)}
.d-marche .promos .bloc-compte{color:inherit;opacity:.85}
.d-marche .promos{padding-block:44px 48px}
.d-marche .promos + .produits{padding-top:52px}
@media (min-width:900px){.d-marche .promos{padding-block:72px}.d-marche .promos + .produits{padding-top:88px}}
.d-marche .promos .carte{color:var(--encre)}
.d-marche .produits + .apropos{border-top:0}
.d-marche .recherche{border:2px solid var(--encre);background:var(--surface);border-radius:var(--rayon-btn)}
.d-marche .puce{border:2px solid var(--encre);font-weight:650;border-radius:var(--rayon-btn)}
.d-marche .puce:hover{background:var(--surface-2)}
.d-marche .puce.actif{background:var(--encre);color:var(--fond)}
.d-marche .grille{gap:26px 14px}
@media (min-width:640px){.d-marche .grille{gap:36px 22px}}
.d-marche .rail{padding-bottom:14px}
.d-marche .carte{background:var(--surface);border:2px solid var(--encre);border-radius:var(--rayon);overflow:hidden;box-shadow:4px 4px 0 var(--encre);transition:transform .2s,box-shadow .2s}
@media (hover:hover){.d-marche .carte:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--encre)}.d-marche .carte:hover .carte-photo img{transform:none}}
.d-marche .carte-photo{border-bottom:2px solid var(--encre);background:var(--surface-2)}
.d-marche .carte-corps{gap:6px;padding:12px 12px 14px}
@media (min-width:640px){.d-marche .carte-corps{padding:14px 16px 16px}}
.d-marche .carte-nom{font-weight:650;font-size:.96875rem}
/* Le prix sur une étiquette de marché (trou compris). */
.d-marche .carte-prix .prix{position:relative;padding:4px 12px 4px 20px;background:radial-gradient(circle at 9px 50%,var(--surface) 0 2.6px,transparent 3.2px),var(--c2);color:var(--sur-c2);font-weight:800;clip-path:polygon(9px 0,100% 0,100% 100%,9px 100%,0 50%)}
.d-marche .badge-promo{top:8px;right:8px;left:auto;display:grid;place-items:center;width:56px;height:56px;padding:0;border:2px solid var(--encre);border-radius:50%;background:var(--c);color:var(--sur-c);font-weight:800;font-size:.875rem;transform:rotate(-12deg)}
.d-marche .badge-epuise{border-radius:8px}
.d-marche .stock-bas{color:var(--alerte)}
.d-marche .btn-ajout{width:100%;padding:0 10px;background:var(--c);color:var(--sur-c);border-color:var(--encre);box-shadow:2px 2px 0 var(--encre);font-size:.9375rem}
.d-marche .btn-ajout .ic{color:inherit}
.d-marche .btn-ajout:hover{background:var(--c-fonce);border-color:var(--encre);box-shadow:3px 3px 0 var(--encre)}
.d-marche .apropos{padding-top:12px}
.d-marche .apropos-in{padding:28px 22px;border:2px solid var(--encre);border-radius:20px;background:var(--surface);box-shadow:6px 6px 0 var(--encre)}
@media (min-width:900px){.d-marche .apropos-in{padding:56px}}
.d-marche .contact{background:var(--c);color:var(--sur-c);border-top:2px solid var(--encre);overflow:hidden}
.d-marche .contact-intro{color:inherit;opacity:.9}
.d-marche .contact .btn{background:var(--surface);color:var(--encre)}
.d-marche .contact .btn:hover{background:var(--surface-2)}
.d-marche .contact .btn.btn-second{background:var(--c2);color:var(--sur-c2)}
.d-marche .contact .btn.btn-second:hover{background:var(--c2-fonce);color:var(--sur-c2)}
.d-marche .contact-infos{padding:6px 20px;border:2px solid var(--encre);border-radius:var(--rayon);background:var(--surface);color:var(--encre);box-shadow:6px 6px 0 var(--encre)}
.d-marche .contact-infos > div{border-color:var(--surface-2);border-bottom-width:2px}
.d-marche .contact-infos > div:last-child{border-bottom:0}
.d-marche .sociaux a{border:2px solid var(--encre);border-radius:var(--rayon-btn);font-weight:650}
.d-marche .sociaux a:hover{background:var(--surface-2)}
.d-marche .pied{background:var(--encre);color:var(--fond);padding-top:0}
.d-marche .pied .bande{margin-bottom:24px}
.d-marche .pied-nom{color:var(--fond);font-weight:800;font-size:1.125rem}
.d-marche .fiche{border:2px solid var(--encre)}
.d-marche .fiche-photo{border-bottom:2px solid var(--encre)}
@media (min-width:900px){.d-marche .fiche-photo{border-bottom:0;border-right:2px solid var(--encre)}}
.d-marche .fiche .fermer,.d-marche .panier-tete .fermer{border:2px solid var(--encre);box-shadow:2px 2px 0 var(--encre)}
.d-marche .fiche-prix .prix{padding:6px 14px 6px 24px;background:radial-gradient(circle at 11px 50%,var(--fiche) 0 3px,transparent 3.6px),var(--c2);color:var(--sur-c2);font-weight:800;clip-path:polygon(11px 0,100% 0,100% 100%,11px 100%,0 50%)}
.d-marche .fiche-prix .badge{display:inline-grid;width:auto;height:auto;padding:4px 10px;border-radius:8px;transform:none}
.d-marche .qte{border:2px solid var(--encre)}
.d-marche .panier{border-left:2px solid var(--encre)}
.d-marche .panier-tete{border-bottom:2px solid var(--encre)}
.d-marche .commande input:not([type=radio]),.d-marche .commande textarea,.d-marche .choix label{border-width:2px}
.d-marche .note-livraison{border:2px solid var(--encre);background:var(--surface)}
.d-marche .barre-panier{border:2px solid var(--encre);box-shadow:4px 4px 0 var(--encre)}
.d-marche .wa-flottant{border:2px solid var(--encre);box-shadow:4px 4px 0 var(--encre)}
.d-marche .ligne img,.d-marche .ligne-sans{border:2px solid var(--encre)}
