/*
Theme Name: Crème & Délice
Theme URI: https://example.com
Author: —
Description: Thème bloc sur mesure pour Crème & Délice, atelier français de boulangerie, pâtisserie et café à Montréal (Québec). Registre inspiré de Pierre Hermé, mise en page éditoriale, mouvement GSAP.
Version: 9.9.7
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: the-1753-oven
Tags: block-theme, full-site-editing, business, one-column
*/


:root{
  --blanc:#fff; --noir:#000; --graphite:#333; --gris:#999;
  --rouge:#C72C48; --trait:#e4e4e4;
  --f:'Jost','Futura','Helvetica Neue',Arial,sans-serif;
  --serif:'Bodoni Moda','Didot',serif;
  --gut:clamp(20px,4.2vw,64px);
  /* l'accueil : le hero prend toute la hauteur de l'écran, reste collé en haut et la section suivante glisse par-dessus (plus de bande de mots dessous) */
  --hero-h:max(560px,100vh);
  --hero-h:max(560px,100svh);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--f);font-weight:300;font-size:16px;line-height:1.55;color:var(--noir);background:var(--blanc);-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:300;text-wrap:balance;hyphens:none}
button{font:inherit;color:inherit;cursor:pointer}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- briques communes ---------- */
.titre-section{font-size:26px;letter-spacing:.16em;text-transform:uppercase;text-align:center}
.surtitre{font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:400}
.lien-souligne{display:inline-block;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;border-bottom:1px solid currentColor;padding-bottom:4px}
.lien-souligne--noir{color:var(--noir)}
.btn{display:inline-block;border:1px solid var(--noir);background:transparent;padding:11px 32px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;transition:background .3s,color .3s,border-color .3s}
.btn:hover{background:var(--noir);border-color:var(--noir);color:#fff}
.btn--clair{border-color:#fff;color:#fff}
.btn--clair:hover{background:#fff;border-color:#fff;color:var(--noir)}

.js .revele{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.js .revele.est-vu{opacity:1;transform:none}

/* ---------- en-tête ---------- */
.entete{position:absolute;top:0;left:0;right:0;z-index:30;color:var(--noir);background:#fff;box-shadow:0 1px 0 var(--trait);transition:background .3s,color .3s,transform .4s}   /* blanc sur le hero comme partout : plus de texte blanc sur la photo */
.entete__haut{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:68px;padding:0 var(--gut)}
.entete__liens{display:flex;gap:28px;font-size:14px}
.entete__outils{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:13px}
.entete__outils a{display:flex}
.entete__panier{position:relative}
.entete__badge{position:absolute;top:-7px;right:-9px;min-width:16px;height:16px;border-radius:8px;background:var(--rouge);color:#fff;font-size:10px;line-height:16px;text-align:center;font-weight:500}
.logo{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1}
.logo__nom{font-family:var(--serif);font-weight:400;font-size:23px;letter-spacing:.3em;text-transform:uppercase;padding-left:.3em;white-space:nowrap}
.logo__sous{display:none;margin-top:9px;font-size:9px;letter-spacing:.46em;text-transform:uppercase;font-weight:400;padding-left:.46em}   /* « Atelier français » : masqué, le nom sur deux lignes remplit déjà l'en-tête (76 px) */
/* le nom tient sur une seule ligne : CRÈME & DÉLICE (14 caractères) ; interligne large pour les accents (È, É) ; un peu plus petit sur les portables étroits */
.logo__nom{line-height:1.24}
@media (min-width:1001px) and (max-width:1220px){.logo__nom{font-size:23px;letter-spacing:.24em;padding-left:.24em}}
.entete__nav{display:flex;justify-content:center;gap:clamp(18px,2.8vw,48px);height:44px;align-items:center;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-weight:400}
.entete__nav a,.entete__liens a{position:relative}
.entete__nav a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s}
.entete__nav a:hover::after{transform:scaleX(1)}
.entete.est-plein{position:fixed;background:#fff;color:var(--noir);box-shadow:0 1px 0 var(--trait)}
.entete.est-plein .entete__nav{border-color:var(--trait)}

/* ---------- hero ---------- */
.hero{position:sticky;top:0;z-index:0;height:var(--hero-h);background:#000;color:#fff;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0 0 auto 0;height:240px;background:linear-gradient(rgba(0,0,0,.5),transparent);z-index:3;pointer-events:none}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 1.1s}
.hero__slide.est-actif{opacity:1;visibility:visible}
.hero__slide::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,.12) 46%,rgba(0,0,0,.2) 100%)}
.hero__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__photo--viennoiseries{object-position:50% 74%}
.hero__photo--patisseries{object-position:50% 62%}
.hero__photo--cakes{object-position:50% 76%}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__slide.est-actif .hero__photo{animation:respire 9s ease-out both}
@keyframes respire{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero__legende{position:absolute;z-index:4;left:var(--gut);right:var(--gut);bottom:104px;text-align:center}
.hero__titre{margin-bottom:18px;font-size:clamp(54px,11.2vw,208px);font-weight:200;line-height:.92;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap}
.hero__points{position:absolute;left:50%;bottom:34px;z-index:5;display:flex;gap:11px;transform:translateX(-50%)}
.hero__point{width:9px;height:9px;padding:0;border-radius:50%;border:1px solid #fff;background:transparent}
.hero__point.est-actif{background:#fff}

/* ---------- intro + mosaïque ---------- */
.intro{padding:112px var(--gut) 72px;text-align:center}
.intro__texte{max-width:660px;margin:26px auto 0;font-size:17px;color:var(--graphite)}

.mosaique{display:grid;grid-template-columns:repeat(12,1fr);gap:8px}
.tuile{position:relative;grid-column:span 4;height:580px;overflow:hidden;color:#fff;display:block;background:#222}
.tuile--large{grid-column:span 3;height:470px}
.tuile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:scale 1.4s cubic-bezier(.2,.7,.2,1)}
.tuile::after{content:"";position:absolute;inset:auto 0 0 0;height:42%;background:linear-gradient(to top,rgba(0,0,0,.5),transparent)}
.tuile:hover img{scale:1.05}
.tuile__nom{position:absolute;left:24px;bottom:22px;z-index:2;font-size:18px;letter-spacing:.16em;text-transform:uppercase;font-weight:400}
.tuile__voir{position:absolute;right:24px;bottom:24px;z-index:2;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}
.tuile:hover .tuile__voir{opacity:1;transform:none}
.tuile--haut img{object-position:45% 50%}
/* cartes catégorie et tuiles : le lien posé autour de l'image (image absolue = lien sans hauteur) couvre toute la carte, textes compris ; aucune glisse de lien à la souris */
.cat,.tuile{isolation:isolate}
.cat > .wp-block-image a,.tuile > .wp-block-image a{-webkit-user-drag:none;user-select:none}
.cat > .wp-block-image a::after,.tuile > .wp-block-image a::after{content:"";position:absolute;inset:0;z-index:5;cursor:pointer}
.cat-rangee.est-glisse .cat > .wp-block-image a::after{cursor:grabbing}

/* ---------- créations signature ---------- */
.creations{padding:116px 0 112px}
.creations__scene{position:relative;margin-top:56px}
.piste{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gut);padding:0 var(--gut);scrollbar-width:none}
.piste::-webkit-scrollbar{display:none}
.carte{flex:0 0 calc((100% - 2 * var(--gut) - 4 * 22px) / 5);min-width:230px;scroll-snap-align:start;text-align:center}
.carte__photo{aspect-ratio:4/5;overflow:hidden;background:#f2f2f2}
.carte__photo img{width:100%;height:100%;object-fit:cover;transition:scale 1s}
.carte:hover .carte__photo img{scale:1.04}
.carte h3{margin-top:22px;font-size:15px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.carte p{margin:10px auto 22px;max-width:230px;min-height:64px;font-size:13.5px;line-height:1.5;color:var(--graphite)}
.creations__fleche{position:absolute;top:34%;z-index:4;width:46px;height:46px;display:grid;place-items:center;background:#fff;border:1px solid var(--noir);padding:0;transition:background .3s,color .3s}
.creations__fleche:hover{background:var(--noir);color:#fff}
.creations__fleche--prev{left:calc(var(--gut) / 2 - 14px)}
.creations__fleche--next{right:calc(var(--gut) / 2 - 14px)}

/* ---------- l'atelier ---------- */
.atelier{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:780px}
.atelier__photo{position:relative;overflow:hidden}
.atelier__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.atelier__texte{background:#fff;color:var(--noir);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:96px clamp(32px,7vw,130px)}
.atelier__titre{margin:22px 0 26px;font-size:30px;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.atelier__texte > p:not(.surtitre){max-width:500px;font-size:17px;line-height:1.7;color:var(--graphite)}
.atelier__liens{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:34px}

/* ---------- café · salé · épicerie ---------- */
.cafe{padding:116px var(--gut) 120px}
.cafe__intro{text-align:center;margin:22px auto 0;max-width:560px;font-size:17px;color:var(--graphite)}
.cafe__grille{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:64px}
.cafe__item{text-align:center}
.cafe__photo{aspect-ratio:1/1;overflow:hidden;background:#f2f2f2}
.cafe__photo img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s}
.cafe__item:hover .cafe__photo img{scale:1.05}
.cafe__item h3{margin-top:26px;font-size:20px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}
.cafe__item p{margin:10px auto 18px;max-width:320px;font-size:15px;color:var(--graphite)}

/* ---------- visite ---------- */
.visite{position:relative;min-height:680px;display:grid;place-items:center;text-align:center;color:#fff;padding:96px var(--gut)}
.visite__fond{position:absolute;inset:0;overflow:hidden}
.visite__fond img{width:100%;height:100%;object-fit:cover;object-position:50% 6%}
.visite__fond::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.66))}
.visite__contenu{position:relative;z-index:2;width:min(980px,100%)}
.visite__titre{margin:18px 0 46px;font-size:48px;letter-spacing:.08em;text-transform:uppercase;line-height:1.1}
.visite__services{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4)}
.visite__services > div{padding:28px 20px}
.visite__services > div + div{border-left:1px solid rgba(255,255,255,.4)}
.visite__services h3{font-size:15px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.visite__services p{margin-top:8px;font-size:15px;opacity:.9}
.visite__liens{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:44px}
.visite__note{margin-top:30px;font-size:13px;letter-spacing:.08em;opacity:.8}

/* ---------- actualités ---------- */
.actus{padding:116px var(--gut) 110px}
.actus__grille{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.actu{text-align:center}
.actu__photo{aspect-ratio:3/2;overflow:hidden;background:#f2f2f2}
.actu__photo img{width:100%;height:100%;object-fit:cover;transition:scale 1.2s}
.actu:hover .actu__photo img{scale:1.05}
.actu__tag{margin-top:24px;font-size:11px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:var(--rouge)}
.actu h3{margin:8px auto 16px;max-width:320px;font-size:21px;line-height:1.3;letter-spacing:.04em}

/* ---------- infolettre ---------- */
.lettre{position:relative;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;margin:0;padding:54px var(--gut)}
.lettre::before,.lettre::after{content:"";position:absolute;left:var(--gut);right:var(--gut);height:1px;background:var(--noir)}
.lettre::before{top:0}
.lettre::after{bottom:0}
.lettre h2{font-size:22px;letter-spacing:.16em;text-transform:uppercase}
.lettre p{margin-top:6px;color:var(--graphite)}
.lettre__form{display:flex;gap:12px;flex:1 1 380px;max-width:560px}
.lettre__form input{flex:1;min-width:0;border:0;border-bottom:1px solid var(--noir);background:transparent;padding:12px 2px;font:inherit;font-size:15px;outline:0}
.lettre__form input:focus{border-color:var(--rouge)}

/* ---------- pied de page ---------- */
.pied{margin-top:80px;background:var(--noir);color:#fff;padding:68px var(--gut) 30px}
.pied__logo{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:64px}
.pied .logo__nom{font-size:28px}
/* colonnes à la largeur de leur contenu, réparties à égalité sur presque toute la largeur : autant de marge à gauche qu'à droite, peu de marge extérieure, beaucoup d'espace entre les colonnes
   (demande du client, 9 nov. 2026). Le retrait de chaque côté croît doucement avec l'écran ; au-delà de 1500 px de contenu, il s'agrandit pour que les colonnes ne s'écartent pas trop. Le filet du bas reste d'un bord à l'autre. */
.pied__colonnes{display:grid;grid-template-columns:repeat(4,auto);justify-content:space-between;column-gap:32px;row-gap:40px;padding-inline:max(clamp(0px,3vw,70px),calc((100% - 1500px) / 2));padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.2)}
.pied__colonnes h3{font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:400;margin-bottom:18px}
.pied__colonnes a{display:block;font-size:14.5px;padding:5px 0;opacity:.82;overflow-wrap:anywhere}
.pied__colonnes a:hover{opacity:1;text-decoration:underline;text-underline-offset:4px}
.pied__bas{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;padding-top:24px;font-size:12px;letter-spacing:.1em}
.pied__bas > :not(.pied__haut){opacity:.7}
/* « Back to top » : à droite de la barre du bas, pleine opacité, avec un chevron qui monte au survol */
.pied__haut{margin:0}
.pied__haut,.pied__haut a{display:inline-flex;align-items:center;gap:.95em;color:inherit;text-transform:uppercase;letter-spacing:.22em;font-size:11.5px;text-decoration:none}
.pied__haut a::before{content:"";width:8px;height:8px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:translateY(2px) rotate(45deg);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.pied__haut a:hover::before,.pied__haut a:focus-visible::before{transform:translateY(-2px) rotate(45deg)}
.pied__haut a:focus-visible{outline:1px solid currentColor;outline-offset:6px}
@media (max-width:760px){.pied__bas{flex-direction:column;align-items:flex-start;gap:14px}.pied__haut{margin-top:6px}}
/* bouton flottant « retour en haut » (voir app.js) : caché pendant qu'on défile, il surgit quand on s'arrête.
   Noir et blanc en toutes circonstances (aucun fond rouge, ni au survol ni au clavier). Au survol il grandit vers le HAUT, jamais sur les côtés (il passerait sinon sur les
   photos des produits) : « BACK TO TOP » se lit à la verticale, au-dessus de la flèche qui reste ancrée en bas. */
.haut-flottant{--c:48px;position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:var(--c);height:var(--c);padding:0;overflow:hidden;border:0;border-radius:0;background:#000;color:#fff;cursor:pointer;
  box-shadow:0 0 0 1px rgba(255,255,255,.85),0 14px 34px -14px rgba(0,0,0,.55);opacity:0;visibility:hidden;transform:translateY(26px) scale(.55);transform-origin:100% 100%;
  transition:opacity .22s ease,transform .3s cubic-bezier(.5,0,.75,0),visibility 0s .3s,height .5s cubic-bezier(.2,.7,.2,1)}
.haut-flottant.est-visible{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease,transform .6s cubic-bezier(.34,1.56,.64,1),visibility 0s,height .5s cubic-bezier(.2,.7,.2,1)}
.haut-flottant,.haut-flottant:hover,.haut-flottant:focus,.haut-flottant:focus-visible,.haut-flottant:active{background:#000;color:#fff}
/* la flèche occupe toujours le carré du bas ; le texte est au-dessus, caché tant que le bouton n'est pas déployé (sa longueur, --texte-h, est mesurée par app.js) */
.haut-flottant__fleche{flex:none;display:grid;place-items:center;width:var(--c);height:var(--c)}
.haut-flottant__fleche::before{content:"";width:10px;height:10px;border-top:1px solid currentColor;border-left:1px solid currentColor;transform:translateY(3px) rotate(45deg);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.haut-flottant__texte{flex:none;display:block;padding:6px 0 18px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;font-weight:400;letter-spacing:.15em;line-height:1;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .25s ease}
.haut-flottant:hover .haut-flottant__fleche::before,.haut-flottant:focus-visible .haut-flottant__fleche::before{transform:translateY(0) rotate(45deg)}
.haut-flottant:focus-visible{outline:2px solid #fff;outline-offset:3px;height:calc(var(--c) + var(--texte-h,124px))}
.haut-flottant:focus-visible .haut-flottant__texte{opacity:1}
@media (hover:hover){
  .haut-flottant:hover{height:calc(var(--c) + var(--texte-h,124px))}
  .haut-flottant:hover .haut-flottant__texte{opacity:1;transition-delay:.08s}
}
@media (max-width:760px){.haut-flottant{--c:46px;right:max(16px,env(safe-area-inset-right))}}
@media (prefers-reduced-motion:reduce){.haut-flottant,.haut-flottant.est-visible{transform:none;transition:opacity .2s ease,visibility 0s}.haut-flottant__texte{transition:opacity .15s ease}}
@media (prefers-reduced-motion:reduce){.pied__haut a::before{transition:none}}
/* « Follow us » : une colonne comme les autres, avec un petit dessin au trait devant chaque lien (demande du client, 9 nov. 2026 : réseaux dans la partie principale, colonne Collections retirée). */
.pied__social{--ico-instagram:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M17.3 6.7h.1'/%3E%3C/svg%3E");--ico-tiktok:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.2 3v11.3a3.9 3.9 0 1 1-3.9-3.9'/%3E%3Cpath d='M14.2 3c.3 2.7 2 4.5 4.6 4.7'/%3E%3C/svg%3E");--ico-facebook:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 21v-8h2.8l.5-3.2H14V8.2c0-.9.4-1.5 1.5-1.5h1.8V3.5C16.9 3.4 16.1 3.3 15.2 3.3 12.5 3.3 10.8 4.9 10.8 7.8v2H8V13h2.8v8z'/%3E%3C/svg%3E");--ico-linkedin:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='3'/%3E%3Cpath d='M8.2 10.4v6.1M8.2 7.7h.01M11.9 16.5v-6.1M11.9 13.1c0-1.7 1-2.7 2.4-2.7 1.4 0 2.1.9 2.1 2.6v3.5'/%3E%3C/svg%3E")}
.pied__colonnes .pied__social a{display:inline-flex;align-items:center;gap:12px}
.pied__social a::before{content:"";flex:none;width:20px;height:20px;margin:-2px -2px 0 -2px;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat}
.pied__social .suivre--instagram a,.pied__social a.suivre--instagram{--ico:var(--ico-instagram)}
.pied__social .suivre--tiktok a,.pied__social a.suivre--tiktok{--ico:var(--ico-tiktok)}
.pied__social .suivre--facebook a,.pied__social a.suivre--facebook{--ico:var(--ico-facebook)}
.pied__social .suivre--linkedin a,.pied__social a.suivre--linkedin{--ico:var(--ico-linkedin)}

/* ---------- pages internes ---------- */
.entete--page{position:sticky;top:0;background:#fff;color:var(--noir);box-shadow:0 1px 0 var(--trait)}
.entete--page .entete__nav{border-color:var(--trait)}
.entete__nav a[aria-current="page"]::after{transform:scaleX(1)}

.bandeau{position:sticky;top:0;z-index:0;height:clamp(380px,56vh,500px);background:#000;color:#fff;overflow:hidden}
.bandeau::before{content:"";position:absolute;inset:0 0 auto 0;height:220px;background:linear-gradient(rgba(0,0,0,.5),transparent);z-index:2;pointer-events:none}
.bandeau::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(0,0,0,.18) 50%,transparent 74%)}
.bandeau__photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bandeau__legende{position:absolute;z-index:3;left:var(--gut);bottom:62px}
.fil-ariane{margin-bottom:18px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;opacity:.88}
.fil-ariane a:hover{text-decoration:underline;text-underline-offset:4px}
.fil-ariane span{margin:0 9px}
.bandeau__titre{font-size:clamp(32px,3.6vw,52px);line-height:1.08;letter-spacing:.05em;text-transform:uppercase}

.presentation{padding:88px var(--gut) 52px;text-align:center}
.presentation--bas{padding:0 var(--gut) 100px}
.presentation p{max-width:680px;margin:0 auto;font-size:18px;line-height:1.7;color:var(--graphite)}
.filtres{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(20px,3.2vw,46px);padding:0 var(--gut) 58px}
.filtres button{background:none;border:0;border-bottom:1px solid transparent;padding:6px 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--gris);transition:color .3s,border-color .3s}
.filtres button:hover,.filtres button.est-actif{color:var(--noir);border-color:var(--noir)}
.catalogue{padding:0 var(--gut) 112px}
.grille-produits{display:grid;grid-template-columns:repeat(3,1fr);gap:68px 28px}
.grille-produits .carte{display:flex;flex-direction:column;align-items:center;min-width:0}
.grille-produits .carte .btn{margin-top:auto}
.grille-produits .carte p{min-height:48px}
.carte__photo{display:block}
.produit.est-masque{display:none}
.decouvrir__titre{padding:96px var(--gut) 52px}
.decouvrir .tuile{height:440px}

.sous-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:12px clamp(20px,3.4vw,52px);padding:26px var(--gut);border-bottom:1px solid var(--trait);font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
.sous-nav a{border-bottom:1px solid transparent;padding:4px 0;transition:border-color .3s}
.sous-nav a:hover{border-color:var(--noir)}
.ancre{scroll-margin-top:150px}

.duo{display:grid;grid-template-columns:1fr 1fr;min-height:660px}
.duo__photo{position:relative;overflow:hidden}
.duo__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.duo__texte{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px clamp(32px,7vw,130px)}
.duo__texte h2{margin:22px 0 26px;font-size:30px;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.duo__texte p:not(.surtitre){max-width:500px;font-size:17px;line-height:1.7;color:var(--graphite)}
.duo__texte p + p{margin-top:16px}
.duo--inverse .duo__photo{order:2}

.section-page{padding:112px var(--gut)}
.section-page__intro{max-width:620px;margin:22px auto 0;text-align:center;font-size:17px;color:var(--graphite)}
.piliers{display:grid;grid-template-columns:repeat(3,1fr);margin:64px auto 0;max-width:1240px;border-top:1px solid var(--noir);border-bottom:1px solid var(--trait)}
.pilier{padding:46px 34px 52px;text-align:center}
.pilier + .pilier{border-left:1px solid var(--trait)}
.pilier__num{font-size:12px;letter-spacing:.3em;font-weight:500;color:var(--rouge)}
.pilier h3{margin:16px 0 14px;font-size:19px;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.pilier p{max-width:310px;margin:0 auto;font-size:15.5px;color:var(--graphite)}
.engagements{max-width:1000px;margin:72px auto 0}
.engagements h3{margin-bottom:8px;font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:400;text-align:center}
.engagement{display:grid;grid-template-columns:minmax(200px,1fr) 2fr;gap:32px;padding:26px 0;border-bottom:1px solid var(--trait)}
.engagement h4{margin:0;font-size:16px;letter-spacing:.1em;text-transform:uppercase;font-weight:400}
.engagement p{color:var(--graphite);font-size:16px}
.actu p.actu__texte{max-width:330px;margin:0 auto 16px;font-size:15px;color:var(--graphite)}

.page-titre{padding:96px var(--gut) 40px;text-align:center}
.page-titre h1{font-size:clamp(28px,3vw,40px);letter-spacing:.1em;text-transform:uppercase}
.page-titre p{max-width:620px;margin:22px auto 0;font-size:18px;color:var(--graphite)}
.service{display:grid;grid-template-columns:1fr 1.25fr;gap:clamp(40px,7vw,120px);max-width:1440px;margin:0 auto;padding:84px var(--gut);border-top:1px solid var(--trait);scroll-margin-top:140px}
.service h2{font-size:24px;letter-spacing:.12em;text-transform:uppercase}
.service__intro p{margin-top:18px;font-size:16.5px;color:var(--graphite)}
.coordonnees{margin-top:34px;padding-top:24px;border-top:1px solid var(--trait);font-size:15px;color:var(--graphite)}
.coordonnees strong{display:block;margin-bottom:4px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--noir)}
.coordonnees p + p{margin-top:16px}
.formulaire{display:grid;gap:28px}
.formulaire__ligne{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.champ label{display:block;margin-bottom:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
.champ input,.champ select,.champ textarea{width:100%;border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;padding:11px 0;font:inherit;font-size:16px;outline:0}
.champ textarea{height:140px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{border-color:var(--rouge)}
.formulaire .btn{justify-self:start}
.liste-simple{margin:22px 0 0;padding:0;list-style:none}
.liste-simple li{padding:14px 0;border-bottom:1px solid var(--trait);color:var(--graphite)}
.faq details{border-bottom:1px solid var(--trait)}
.faq summary{position:relative;padding:22px 44px 22px 0;font-size:16.5px;letter-spacing:.03em;font-weight:400;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:200}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 44px 26px 0;color:var(--graphite)}
.etapes{counter-reset:etape;margin:28px 0 0;padding:0;list-style:none}
.etapes li{counter-increment:etape;display:grid;grid-template-columns:52px 1fr;padding:20px 0;border-bottom:1px solid var(--trait);color:var(--graphite)}
.etapes li::before{content:"0" counter(etape);padding-top:3px;font-size:12px;letter-spacing:.2em;font-weight:500;color:var(--rouge)}
.etapes strong{display:block;margin-bottom:2px;font-weight:400;letter-spacing:.06em;color:var(--noir)}
.note{margin-top:30px;padding:18px 22px;border:1px solid var(--noir);font-size:14.5px}

.prose{max-width:780px;margin:0 auto;padding:36px var(--gut) 120px}
.prose h2{margin:56px 0 16px;font-size:18px;letter-spacing:.12em;text-transform:uppercase;font-weight:400}
.prose p,.prose li{font-size:16.5px;line-height:1.75;color:var(--graphite)}
.prose p + p{margin-top:14px}
.prose ul{margin:14px 0 0;padding-left:20px}
.brouillon{margin-bottom:8px;padding:14px 18px;border:1px solid var(--rouge);font-size:13.5px;line-height:1.55;color:var(--rouge)}


/* ---------- mouvement (animations.js) ---------- */
/* pages empilées : le hero de l'accueil et le bandeau des pages intérieures restent collés en haut, tout ce qui les suit les recouvre en défilant */
.hero ~ *,.bandeau ~ *{position:relative;z-index:2;background:var(--blanc)}
.voile{position:absolute;inset:0;z-index:6;background:#000;opacity:0;pointer-events:none}

/* si GSAP est là, c'est lui qui pilote les apparitions ; sinon l'ancien fondu reste en place */
.gsap-on .revele{opacity:1;transform:none;transition:none}

/* titres découpés en mots */
.mot{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.3em 0 .14em;margin:-.3em 0 -.14em}
.mot__i{display:inline-block;will-change:transform}
.mot-lecture{display:inline}

/* grandes photos à parallaxe : un peu plus hautes que leur cadre */
.atelier__photo img.parallaxe,.duo__photo img.parallaxe{top:-9%;bottom:auto;height:118%}
.visite__fond img.parallaxe{position:absolute;left:0;top:-9%;height:118%}

/* bande défilante */
.defilant{overflow:hidden;border-top:1px solid var(--noir);border-bottom:1px solid var(--trait);padding:30px 0}
.defilant__piste{display:flex;align-items:center;width:max-content;white-space:nowrap;font-size:clamp(30px,4.2vw,60px);font-weight:300;letter-spacing:.12em;text-transform:uppercase;line-height:1;color:var(--noir)}
.defilant__piste span::after{content:"";display:inline-block;width:clamp(36px,5vw,76px);height:1px;margin:0 clamp(22px,3vw,48px);background:currentColor;vertical-align:middle}

/* créations signature : défilement horizontal épinglé sur grand écran */
.creations__progression{display:none;height:1px;margin:54px var(--gut) 0;background:var(--trait)}
.creations__progression span{display:block;height:1px;background:var(--noir);transform:scaleX(0);transform-origin:left}
.piste-epinglee .creations{padding:0}
.piste-epinglee .creations__collant{position:sticky;top:0;display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:100svh;padding:110px 0 70px;overflow:hidden;background:var(--blanc)}
.piste-epinglee .piste{overflow:visible;scroll-snap-type:none}
.piste-epinglee .creations__fleche{display:none}
.piste-epinglee .creations__progression{display:block}
@media (max-width:760px){.piste-epinglee .creations__collant{padding:88px 0 44px}.piste-epinglee .creations__progression{margin-top:34px}}   /* téléphone : l'en-tête fixe prend 62 px en haut, les cartes sont plus petites */

/* service client : la colonne de titre reste collée pendant que la FAQ défile */
@media (min-width:761px){
  .service__intro{position:sticky;top:150px;align-self:start}
}

/* rideau noir entre les pages, avec compteur de chargement de 0 à 100 % (outils/rideau.js : classes rideau-actif, rideau-monte, rideau-leve sur <html>)
   le rideau part de 112 % et repart à -112 % : la fin lente de la courbe se joue hors de l'écran, il ne reste jamais un liseré noir accroché en haut (ou en bas) */
html::before{content:"";position:fixed;inset:0;z-index:100000;background:linear-gradient(#fff,#fff) var(--gut) calc(100% - 38px) / calc((100% - 2 * var(--gut)) * var(--p,0)) 1px no-repeat,linear-gradient(#333,#333) var(--gut) calc(100% - 38px) / calc(100% - 2 * var(--gut)) 1px no-repeat,#000;transform:translateY(112%);visibility:hidden;pointer-events:none}
html::after{content:attr(data-pct) "%";position:fixed;right:var(--gut);bottom:62px;z-index:100001;color:#fff;font-family:var(--f,'Jost',sans-serif);font-size:clamp(56px,8vw,140px);font-weight:200;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;opacity:0;visibility:hidden;pointer-events:none}
html.rideau-actif::before{transform:translateY(0);visibility:visible}
html.rideau-actif::after,html.rideau-monte::after{opacity:1;visibility:visible}
html.rideau-monte::before{visibility:visible;transform:translateY(0);transition:transform .75s cubic-bezier(.7,0,.2,1)}
html.rideau-leve::before{visibility:visible;transform:translateY(-112%);transition:transform .95s cubic-bezier(.7,0,.2,1)}
html.rideau-leve::after{opacity:0;visibility:visible;transition:opacity .3s}
/* rideau d'accueil : à la première visite de l'onglet, le rideau noir souhaite la bienvenue pendant que le compteur monte à 100 %
   (outils/rideau.js : classes rideau-bienvenue sur <html>, puis rideau-texte quand les polices sont prêtes ; l'élément .bienvenue est créé par le script) */
.bienvenue{display:none}
html.rideau-bienvenue,html.rideau-bienvenue body{overflow:hidden}
html.rideau-bienvenue .bienvenue{position:fixed;inset:0;z-index:100001;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 var(--gut) 11vh;color:#fff;text-align:center;pointer-events:none;transition:opacity .5s ease,transform .95s cubic-bezier(.7,0,.2,1)}
html.rideau-leve .bienvenue{opacity:0;transform:translateY(-12vh)}
.bienvenue p{margin:0;overflow:hidden;padding:.14em 0}
.bienvenue p span{display:block;transform:translateY(112%);animation:bienvenue-monte 1.3s cubic-bezier(.16,1,.3,1) both paused}
.bienvenue__mot{max-width:100%;font-family:var(--serif);font-weight:400;font-size:clamp(30px,9.2vw,168px);line-height:1.02;letter-spacing:.16em;padding-left:.16em;text-transform:uppercase}
.bienvenue__en{margin-top:clamp(10px,1.6vw,24px);font-family:var(--f);font-weight:200;font-size:clamp(12px,1.5vw,20px);letter-spacing:.7em;padding-left:.7em;text-transform:uppercase;color:rgba(255,255,255,.74)}
.bienvenue__en span{animation-delay:.8s}
.bienvenue__filet{display:block;width:1px;height:clamp(30px,4.6vw,60px);margin:clamp(22px,3.4vw,46px) 0;background:rgba(255,255,255,.55);transform:scaleY(0);transform-origin:top;animation:bienvenue-filet 1.1s cubic-bezier(.65,0,.35,1) 1.25s both paused}
.bienvenue__marque{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(16px,2.1vw,30px);letter-spacing:.06em}
.bienvenue__marque span{animation-delay:1.7s}
.bienvenue__mot span{animation-delay:.1s}
html.rideau-texte .bienvenue p span,html.rideau-texte .bienvenue__filet{animation-play-state:running}
@keyframes bienvenue-monte{from{transform:translateY(112%)}to{transform:translateY(0)}}
@keyframes bienvenue-filet{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@media (max-width:560px){.bienvenue__en{letter-spacing:.5em;padding-left:.5em}html.rideau-bienvenue .bienvenue{padding-bottom:16vh}}
/* entrée douce des pages sans rideau (paiement, compte ; outils/rideau.js : classes entree, entree-fin) : fondu, le contenu monte de 24 px */
html.entree body{opacity:0}
html.entree .wp-site-blocks > :not(header):not(footer){translate:0 24px}
html.entree-fin body{opacity:1;transition:opacity .8s cubic-bezier(.22,.61,.36,1)}
html.entree-fin .wp-site-blocks > :not(header):not(footer){translate:0 0;transition:translate 1s cubic-bezier(.22,.61,.36,1)}


/* défilement fluide (Lenis) */
html.lenis,html.lenis body{height:auto}
html.lenis,.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
html.verrouille{overflow:hidden}

/* manifeste : une photo reste en place pendant que de grandes phrases la traversent */
.manifeste{background:#000;color:#fff}
.manifeste__collant{position:relative;display:grid;gap:0;padding:clamp(80px,12vw,160px) var(--gut);overflow:hidden}
.manifeste__phrase{position:relative;margin:0;padding:clamp(24px,4vw,56px) 0;font-size:clamp(40px,7vw,116px);font-weight:300;line-height:1.02;letter-spacing:.015em;text-transform:uppercase;text-align:center;text-wrap:balance}
.ligne{display:block;overflow:hidden;padding-bottom:.08em}
.ligne__i{display:block}
.gsap-on .manifeste{height:620vh}
.gsap-on .manifeste__collant{position:sticky;top:0;height:100vh;padding:0;place-items:center}
.gsap-on .manifeste__phrase{position:absolute;left:var(--gut);right:var(--gut);top:50%;padding:0;transform:translateY(-50%)}
.manifeste__phrase em{font-style:normal;font-weight:500}

/* ---------- mouvement, 3e passe : roulement, aimant, balayage du hero ---------- */
/* hero : la nouvelle diapositive balaie la précédente, qui reste dessous jusqu'à la fin du balayage */
.gsap-on .hero__slide{z-index:1;transition:opacity 0s 1.25s,visibility 0s 1.25s}
.gsap-on .hero__slide.est-actif{z-index:2;transition:none}
.hero__compteur{position:absolute;left:var(--gut);bottom:34px;z-index:5;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.22em;font-weight:400;font-variant-numeric:tabular-nums}
.hero__n{display:inline-block;overflow:hidden;height:1.3em;line-height:1.3em}
.hero__n span{display:block}
.hero__barre{display:block;width:clamp(60px,8vw,120px);height:1px;background:rgba(255,255,255,.35)}
.hero__barre i{display:block;height:1px;background:#fff;transform:scaleX(0);transform-origin:left}

/* texte qui roule au survol */
.roule{position:relative;display:inline-block;max-width:100%;overflow:hidden;vertical-align:top;line-height:1.3}
.roule__a{display:block;transition:transform .55s cubic-bezier(.7,0,.2,1)}
.roule__b{position:absolute;left:0;top:0;display:block;width:100%;transform:translateY(115%);transition:transform .55s cubic-bezier(.7,0,.2,1)}
a:hover > .roule .roule__a,button:hover > .roule .roule__a{transform:translateY(-115%)}
a:hover > .roule .roule__b,button:hover > .roule .roule__b{transform:none}

/* boutons magnétiques : la propriété translate n'entre pas en conflit avec les transformations GSAP */
.btn{translate:var(--mx,0) var(--my,0)}

/* bande défilante inversée */
.defilant--retour{border-top:0;border-bottom:1px solid var(--noir);padding:26px 0}
.defilant--retour .defilant__piste{font-size:clamp(22px,3vw,44px);color:var(--graphite)}
.car{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.08em 0}
.car__i{display:inline-block}
/* ---------- tablette ---------- */
@media (max-width:1100px){
  .entete__liens{display:none}
  .entete__haut{grid-template-columns:auto 1fr;gap:20px}
  .logo{justify-self:start;align-items:flex-start;text-align:left}
  .carte{flex-basis:calc((100% - 2 * var(--gut) - 2 * 22px) / 3)}
  .pied__colonnes{grid-template-columns:repeat(2,1fr);column-gap:40px;padding-inline:0}
}

/* ---------- mobile ---------- */
@media (max-width:760px){
  .entete__haut{height:60px}
  .logo__nom{font-size:14px;letter-spacing:.16em;padding-left:.16em}
  .logo__sous{font-size:7.5px;letter-spacing:.34em;margin-top:6px;padding-left:.34em}
  .entete__haut{gap:12px}
  .entete__outils{gap:12px}
  .entete__langue{display:none}
  .entete__nav{justify-content:flex-start;overflow-x:auto;padding:0 var(--gut);gap:26px;white-space:nowrap;scrollbar-width:none}
  .entete__nav::-webkit-scrollbar{display:none}

  :root{--hero-h:max(520px,100vh);--hero-h:max(520px,100svh)}
  .hero__legende{bottom:92px}
  .hero__titre{font-size:clamp(34px,10.2vw,60px)}

  .intro{padding:84px var(--gut) 52px}
  .titre-section{font-size:20px;letter-spacing:.12em}
  .mosaique{grid-template-columns:1fr 1fr}
  .tuile,.tuile--large{grid-column:span 1;height:300px}
  .tuile:first-child{grid-column:span 2;height:380px}
  .tuile__nom{left:14px;bottom:14px;font-size:14px}
  .tuile__voir{display:none}

  .creations{padding:72px 0}
  .carte{flex-basis:68%}
  .creations__fleche{display:none}

  .atelier{grid-template-columns:1fr}
  .atelier__photo{height:420px}
  .atelier__texte{padding:64px var(--gut) 72px}
  .atelier__titre{font-size:26px}

  .cafe,.actus{padding:72px var(--gut)}
  .cafe__grille,.actus__grille{grid-template-columns:1fr;gap:44px;margin-top:44px}

  .visite{min-height:0;padding:72px var(--gut)}
  .visite__titre{font-size:30px;margin-bottom:32px}
  .visite__services{grid-template-columns:1fr}
  .visite__services > div + div{border-left:0;border-top:1px solid rgba(255,255,255,.4)}

  .lettre{flex-direction:column;align-items:stretch;gap:24px}
  .pied__colonnes{grid-template-columns:1fr 1fr;gap:30px}
}

@media (max-width:1100px){
  .grille-produits{grid-template-columns:repeat(2,1fr)}
  .decouvrir .tuile{height:360px}
}
@media (max-width:760px){
  .bandeau{height:340px}
  .bandeau::after{background:linear-gradient(0deg,rgba(0,0,0,.6),transparent 70%)}
  .bandeau__legende{bottom:40px}
  .presentation{padding:60px var(--gut) 36px}
  .presentation p{font-size:16.5px}
  .grille-produits{grid-template-columns:1fr 1fr;gap:44px 14px}
  .grille-produits .carte h3{font-size:13px;letter-spacing:.06em}
  .grille-produits .carte p{font-size:12.5px;min-height:0}
  .grille-produits .btn{padding:10px 22px}
  .catalogue{padding-bottom:72px}
  .decouvrir .tuile{height:240px}
  .decouvrir__titre{padding:64px var(--gut) 36px}
  .duo{grid-template-columns:1fr;min-height:0}
  .duo__photo{height:360px}
  .duo--inverse .duo__photo{order:0}
  .duo__texte{padding:60px var(--gut)}
  .duo__texte h2{font-size:24px}
  .section-page{padding:72px var(--gut)}
  .piliers{grid-template-columns:1fr}
  .pilier + .pilier{border-left:0;border-top:1px solid var(--trait)}
  .engagement{grid-template-columns:1fr;gap:8px}
  .page-titre{padding:60px var(--gut) 28px}
  .service{grid-template-columns:1fr;gap:34px;padding:56px var(--gut)}
  .formulaire__ligne{grid-template-columns:1fr}
}

@media (prefers-reduced-motion:reduce){
  .hero__compteur{display:none}
  .hero,.bandeau{position:relative}
  .service__intro{position:static}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .revele{opacity:1;transform:none}
}



/* section (03) : une photo claire monte du bas en panneau étroit, s'élargit, puis laisse la place à la suivante ; une phrase en sérif l'accompagne */
.manifeste{background:var(--blanc);color:var(--noir)}
.manifeste__collant{position:relative;display:block;padding:clamp(56px,8vw,110px) var(--gut);overflow:hidden;background:var(--blanc)}
.manifeste__img{display:none;overflow:hidden;background:#f2f2f2}
.manifeste__img:first-of-type{display:block;position:relative;height:56vh;margin-bottom:38px}
.manifeste__img img{width:100%;height:100%;object-fit:cover}
.manifeste__phrase{margin:0 0 30px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,4.5vw,84px);line-height:1.04;letter-spacing:.01em;text-transform:uppercase;text-wrap:balance}
.manifeste__phrase em{font-style:italic;font-weight:400;text-transform:none;letter-spacing:0}
.ligne{display:block;overflow:hidden;padding:.04em 0 .12em}
.ligne__i{display:block}
.manifeste__compteur{display:none}
.gsap-on .manifeste{height:760vh}
.gsap-on .manifeste__collant{position:sticky;top:0;height:100vh;padding:0}
.gsap-on .manifeste__img{display:block;position:absolute;top:0;bottom:0;height:auto;width:52vw;margin:0}
.gsap-on .manifeste__img[data-cote="droite"]{right:0;left:auto}
.gsap-on .manifeste__img[data-cote="gauche"]{left:0;right:auto}
.gsap-on .manifeste__phrase{position:absolute;z-index:5;margin:0;top:50%;transform:translateY(-50%)}
.gsap-on .manifeste__phrase[data-cote="droite"]{left:var(--gut);right:54vw}
.gsap-on .manifeste__phrase[data-cote="gauche"]{left:56vw;right:var(--gut)}
.gsap-on .manifeste__compteur{position:absolute;left:var(--gut);bottom:34px;z-index:6;display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.22em;font-weight:400;font-variant-numeric:tabular-nums}
.gsap-on .manifeste__compteur[data-sur-photo]{color:#fff}
.manifeste__n{display:inline-block;overflow:hidden;height:1.3em;line-height:1.3em}
.manifeste__n span{display:block}
.manifeste__barre{display:block;width:clamp(60px,8vw,120px);height:1px;background:rgba(0,0,0,.2)}
.manifeste__barre i{display:block;height:1px;background:var(--noir);transform:scaleX(0);transform-origin:left}
@media (max-width:1100px){
  .gsap-on .manifeste__phrase,.gsap-on .manifeste__phrase[data-cote]{left:var(--gut);right:var(--gut);top:14%;transform:none;font-size:clamp(28px,7.4vw,60px)}
  .gsap-on .manifeste__img,.gsap-on .manifeste__img[data-cote]{left:0;right:0;top:40%;bottom:0;width:auto}
}

/* =====================================================================
   Mise en page éditoriale (inspirée de serotoninn.com, registre Pierre Hermé)
   En-tête minimal, menu plein écran, sections numérotées, rangées à glisser
   ===================================================================== */

/* ---------- en-tête ---------- */
.entete__haut{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;height:76px;padding:0 var(--gut)}
.entete__gauche,.entete__outils{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.entete__outils{justify-content:flex-end}
.entete__gauche a,.entete__outils a,.menu-btn{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}
.menu-btn__signe{display:inline-block;font-size:16px;font-weight:300;line-height:1;transition:transform .5s cubic-bezier(.7,0,.2,1)}
.menu-ouvert .menu-btn__signe{transform:rotate(45deg)}
.entete__panier{gap:0!important}
.entete__badge{position:static;min-width:0;height:auto;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:inherit;font-weight:inherit}
.logo{justify-self:center;align-items:center;text-align:center}
.entete--page{position:sticky}

/* ---------- menu plein écran ---------- */
.menu{position:fixed;inset:0;z-index:90;display:grid;grid-template-columns:1.5fr 1fr;gap:var(--gut);padding:128px var(--gut) 44px;background:#fff;color:#000;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .85s cubic-bezier(.7,0,.2,1),visibility 0s .85s;overflow-y:auto}
.menu-ouvert .menu{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .85s cubic-bezier(.7,0,.2,1),visibility 0s}
.menu-ouvert{overflow:hidden}
.menu-ouvert .entete{z-index:110;color:#000!important;background:transparent!important;box-shadow:none!important;transform:none!important}
.menu__liste{display:flex;flex-direction:column;align-self:start}
.menu__lien{display:flex;align-items:baseline;gap:clamp(14px,2vw,30px);padding:clamp(4px,.8vh,10px) 0;border-bottom:1px solid var(--trait);opacity:0;transform:translateY(38px);transition:opacity .6s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.menu-ouvert .menu__lien{opacity:1;transform:none;transition-delay:calc(.32s + var(--i) * .06s)}
.menu__nom{font-size:clamp(34px,6.2vw,104px);font-weight:200;letter-spacing:.02em;line-height:1.04;text-transform:uppercase;transition:letter-spacing .5s,color .3s}
.menu__lien:hover .menu__nom{letter-spacing:.07em;color:var(--rouge)}
.menu__idx,.menu__n{font-size:12px;letter-spacing:.2em;font-weight:400}
.menu__idx{color:var(--rouge)}
.menu__n{margin-left:auto;white-space:nowrap}
.menu__lien--tout{display:none}   /* « Shop all » est dans l'en-tête sur grand écran ; sous 860 px l'en-tête ne le montre plus, il prend donc la tête de la liste du menu */
@media (max-width:860px){.menu__lien--tout{display:flex}}
.menu__cote{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding-top:12px;opacity:0;transition:opacity .6s ease}
.menu-ouvert .menu__cote{opacity:1;transition-delay:.7s}
.menu__cote a{font-size:15px;color:var(--graphite)}
.menu__cote a:hover{color:var(--noir);text-decoration:underline;text-underline-offset:4px}
.menu__etiquette{margin:22px 0 4px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;font-weight:500;color:var(--rouge)}
.menu__etiquette:first-child{margin-top:0}
.menu__pied{margin-top:auto;padding-top:34px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}

/* ---------- hero : repères et accroche ---------- */
.hero__meta{position:absolute;left:var(--gut);top:112px;z-index:5;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.hero__accroche{position:absolute;right:var(--gut);top:106px;z-index:5;text-align:right;font-size:clamp(16px,1.9vw,30px);font-weight:300;line-height:1.18;letter-spacing:.07em;text-transform:uppercase}
.hero__legende .lien-souligne{border-bottom:0;font-size:12px}

/* ---------- en-têtes de section numérotés ---------- */
.tete-section{position:relative;display:flex;align-items:baseline;gap:16px;padding:26px var(--gut) 0}
.tete-section{--r:1}
.tete-section::before{content:"";position:absolute;left:var(--gut);right:var(--gut);top:0;height:1px;background:var(--noir);transform-origin:left;transform:scaleX(var(--r))}
.tete-section__idx{font-size:12px;letter-spacing:.2em;font-weight:500;color:var(--rouge)}
.tete-section__nom{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.tete-section__lien{margin-left:auto;font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.tete-section__lien:hover{color:var(--rouge)}
.tete--bloc{padding-top:54px;padding-bottom:26px}
.tete--bloc::before{top:30px}
.cafe .tete-section,.actus .tete-section{padding-left:0;padding-right:0}
.cafe .tete-section::before,.actus .tete-section::before{left:0;right:0}
.cafe,.actus{padding-top:96px}
.cafe > .tete-section,.actus > .tete-section{margin-bottom:0}
.cafe__intro{margin-top:46px}
.actus__grille{margin-top:46px}

/* ---------- (04) lieu et horaires : adresse, horaires et plan (adresse et horaires d'essai, voir index.html) ---------- */
.lieu{padding:96px var(--gut) 110px}
.lieu .tete-section{padding-left:0;padding-right:0}
.lieu .tete-section::before{left:0;right:0}
.lieu__grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,110px);margin-top:clamp(40px,6vw,72px);align-items:stretch}
.lieu__infos{display:flex;flex-direction:column;justify-content:space-between;gap:clamp(40px,7vh,72px)}
.lieu__etiquette{margin:0 0 20px;font-size:12px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:var(--gris)}
.lieu__adresse{margin:0;font-size:clamp(26px,3vw,48px);font-weight:200;line-height:1.18;letter-spacing:.005em}
.lieu__heures{border-top:1px solid var(--noir)}
.lieu__ligne{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:16px 0;border-bottom:1px solid var(--trait)}
.lieu__jour{margin:0;font-size:12px;font-weight:400;letter-spacing:.2em;text-transform:uppercase}
.lieu__heure{margin:0;font-size:clamp(15px,1.3vw,19px);font-weight:300;letter-spacing:.02em;text-align:right}
/* le plan : en noir et blanc comme le reste du site ; l'iframe ne capte ni la molette ni le doigt tant qu'on n'a pas cliqué dessus (sinon elle bloque le défilement de la page) */
.lieu__plan{position:relative;min-height:clamp(360px,56vh,600px);background:#ececec;overflow:hidden}
.lieu__plan iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) contrast(1.06);pointer-events:none}
.lieu__plan.est-actif iframe{pointer-events:auto}
.lieu__plan::after{content:"[ Click to explore ]";position:absolute;left:16px;top:14px;padding:8px 12px;background:#fff;font-size:11px;letter-spacing:.2em;text-transform:uppercase;pointer-events:none;transition:opacity .3s}
.lieu__plan.est-actif::after{opacity:0}
@media (hover:none){.lieu__plan::after{content:"[ Tap to explore ]"}}
@media (max-width:900px){.lieu{padding:64px var(--gut) 72px}.lieu__grille{grid-template-columns:minmax(0,1fr)}.lieu__plan{min-height:340px}.lieu__adresse{font-size:clamp(24px,7vw,34px)}}

/* page « Find us » : l'adresse, les heures et le téléphone à gauche, le plan à droite ; en dessous, commander en ligne (retrait et livraison) */
.lieu--page{padding-top:clamp(36px,5vw,64px)}
.lieu--page .lieu__bloc .btn{margin-top:28px}
.lieu__tel{margin:0;font-size:clamp(26px,3vw,48px);font-weight:200;line-height:1.18;letter-spacing:.005em}
.lieu__tel a{border-bottom:1px solid transparent;transition:border-color .3s}
.lieu__tel a:hover{border-color:currentColor}
.lieu__courriel{margin:10px 0 0;font-size:clamp(17px,1.5vw,21px);font-weight:300;letter-spacing:.01em;overflow-wrap:anywhere}
.lieu__courriel a{border-bottom:1px solid var(--trait);transition:border-color .3s}
.lieu__courriel a:hover{border-color:currentColor}
.lieu__note{margin:16px 0 0;max-width:34ch;font-size:15px;color:var(--graphite)}
.trouver__btn,.wp-site-blocks .service__intro .wp-block-buttons{margin-top:30px}
.trouver__modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin-top:44px}
.trouver__modes h3{margin:0;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase}
.trouver__modes p{margin:12px 0 0;font-size:15.5px;color:var(--graphite)}
@media (max-width:700px){.trouver__modes{grid-template-columns:minmax(0,1fr)}}

/* repère de collection sur les cartes */
.carte .carte__rep,.cafe__item .carte__rep{min-height:0;max-width:none}
.carte__rep{margin:18px 0 6px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--gris)}
.carte__rep + h3{margin-top:0}
.cafe__item .carte__rep{margin-top:22px}
.carte h3,.cafe__item h3{margin-top:0}
.creations .carte{text-align:left}
.creations .carte p:not(.carte__rep){margin-left:0;margin-right:0}
.creations .carte .btn{margin-top:4px}

/* ---------- catégories : rangée à glisser, noms à la verticale ---------- */
.categories{padding-bottom:110px}
.categories .tete-section{margin-bottom:46px}
.cat-rangee{display:flex;gap:10px;padding:0 var(--gut);overflow-x:auto;scrollbar-width:none;cursor:grab;-webkit-overflow-scrolling:touch}
.cat-rangee::-webkit-scrollbar{display:none}
.cat-rangee.est-glisse{cursor:grabbing;user-select:none}
.cat{position:relative;flex:1 0 clamp(240px,23vw,380px);height:min(76vh,680px);overflow:hidden;background:#222;color:#fff;-webkit-user-drag:none}
.cat img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;transition:scale 1.4s cubic-bezier(.2,.7,.2,1)}
.cat::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.66),rgba(0,0,0,.08) 62%)}
.cat:is(:hover,.est-survol) img{scale:1.05}
.cat__nom{position:absolute;z-index:2;left:18px;bottom:20px;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(34px,4.4vw,72px);font-weight:200;letter-spacing:.06em;line-height:1;text-transform:uppercase;white-space:nowrap;text-shadow:0 0 28px rgba(0,0,0,.4)}
.cat__n{position:absolute;z-index:2;right:16px;top:20px;font-size:12px;letter-spacing:.2em;font-weight:400}
/* bouton « Shop » sur chaque carte : un repère visuel (toute la carte est déjà le lien vers la collection), noir et blanc comme tous les boutons, il se remplit au survol */
.cat::before{content:"Shop";position:absolute;z-index:2;right:16px;bottom:20px;padding:10px 20px 9px;border:1px solid #fff;border-radius:999px;color:#fff;font-size:11px;font-weight:400;letter-spacing:.24em;line-height:1;text-transform:uppercase;white-space:nowrap;pointer-events:none;transition:background .35s,color .35s,opacity .4s}
.cat:is(:hover,.est-survol,.est-focus)::before{background:#fff;color:var(--noir)}
/* catégories en colonnes (souris, grand écran) : les sept colonnes remplissent la largeur, toutes de la même largeur (plus d'effet de largeur au survol) ; la photo zoome doucement.
   Au doigt et sur petit écran, la rangée reste celle qu'on fait glisser. */
@media (hover:hover) and (pointer:fine) and (min-width:1101px){
  .cat-rangee{overflow:hidden;cursor:default}
  .cat{flex:1 1 0;min-width:0}
  .cat img{transition:scale 1.6s cubic-bezier(.2,.7,.2,1)}
  .cat:is(:hover,.est-survol,.est-focus) img{scale:1.07}
  .cat__n{transition:opacity .4s}
  .cat-rangee:has(.cat:is(:hover,.est-survol)) .cat:not(:is(:hover,.est-survol)) .cat__n{opacity:0}
  .categories .cat-bas{display:none}
}
@media (hover:hover) and (pointer:fine) and (min-width:1101px){
  .cat-rangee:not(.cat-boucle) .cat::before{opacity:0}
  .cat-rangee:not(.cat-boucle) .cat:is(:hover,.est-survol,.est-focus)::before{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .cat,.cat img{transition:none}
}
.cat-bas{display:flex;align-items:center;gap:22px;padding:22px var(--gut) 0}
.cat-bas__indice{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;white-space:nowrap}
.cat-bas__ligne{flex:1;height:1px;background:var(--trait)}
.cat-bas__ligne i{display:block;height:1px;background:var(--noir);transform:scaleX(.12);transform-origin:left}

/* filtres : le choix actif est mis entre crochets */
.filtres button.est-actif::before{content:"[ "}
.filtres button.est-actif::after{content:" ]"}

/* ---------- tablette et mobile ---------- */
@media (max-width:1100px){
  .entete__haut{grid-template-columns:1fr auto 1fr}
  .logo{justify-self:center;align-items:center;text-align:center}
  .menu{grid-template-columns:1fr}
  .menu__cote{display:none}
}
@media (max-width:760px){
  .entete__haut{height:62px;gap:10px}
  .entete__gauche a,.entete__outils a:not(.entete__panier){display:none}
  .logo__nom{font-size:13px;letter-spacing:.12em;padding-left:.12em;line-height:1.2}
  .logo__sous{display:none}
  .hero__meta{display:none}
  .hero__accroche{top:84px;font-size:13px}
  .menu{padding-top:104px}
  .menu__nom{font-size:clamp(28px,8.4vw,52px)}
  .menu__n{white-space:nowrap}
  .tete--bloc{padding-top:36px}
  .cafe,.actus{padding-top:64px}
  .cat{flex-basis:62vw;height:min(64vh,520px)}
  .tete-section{gap:10px}
  .tete-section__nom{letter-spacing:.16em}
}
@media (prefers-reduced-motion:reduce){
  .menu,.menu__lien,.menu__cote{transition:none}
}

/* texte lu par les lecteurs d'écran et les moteurs de recherche, invisible à l'œil */
.sr-seul{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ---------- sélecteur de langue : FR / EN (en-tête), « Français » / « English » (menu et pied de page) ---------- */
.langue{font-size:12px;letter-spacing:.18em;text-transform:uppercase;white-space:nowrap}
.langue:hover{text-decoration:underline;text-underline-offset:5px}
.entete__outils .langue{padding-left:18px;border-left:1px solid var(--trait);line-height:1}
@media (max-width:1100px){.entete__outils .langue{display:none}}   /* le français est plus long : sous 1100 px la place manque à droite ; le sélecteur reste dans le menu et le pied de page */
.menu__langue{padding-top:30px}
.menu__langue .langue{font-size:13px;letter-spacing:.22em}


/* =====================================================================
   Adaptations WordPress : la maquette devient un thème bloc.
   Les classes de la maquette passent par className ; ce bloc ne fait que rapprocher
   le balisage natif de Gutenberg de celui qu'attendait la feuille de style.
   ===================================================================== */

/* gabarits de la partie : le conteneur ajouté par WordPress ne doit pas exister visuellement */
.wp-block-template-part{display:contents}
.admin-bar .entete:not(.entete--page){top:32px}   /* barre d'administration de 32 px, fixe */
@media (max-width:782px){.admin-bar .entete:not(.entete--page){top:46px}}   /* barre de 46 px, fixe */
@media (max-width:600px){   /* sous 600 px la barre d'administration fait partie de la page : elle défile avec elle */
  .admin-bar .entete:not(.entete--page):not(.est-plein){top:46px}   /* en haut de page, l'en-tête se pose sous la barre */
  .admin-bar .entete.est-plein{top:0}   /* dès qu'il est collé, il va tout en haut : sinon un vide de 32 px laisse voir la page au-dessus de lui */
}
/* petits téléphones (360 px) : « Bag (0) » ne passe plus à la ligne */
@media (max-width:400px){
  .entete__gauche,.entete__outils{font-size:10.5px;letter-spacing:.12em;white-space:nowrap}
  .logo__nom{font-size:12px;letter-spacing:.1em;padding-left:.1em}
  .entete__haut{gap:8px}
}
/* tablette : le grand logo laissait trop peu de place aux deux côtés (« Account » coupé, page qui défilait de côté) : logo plus petit, espacement resserré ;
   sous 860 px les liens de gauche sont déjà dans le menu */
@media (min-width:761px) and (max-width:1000px){
  .logo__nom{font-size:18px;letter-spacing:.2em;padding-left:.2em}   /* une seule ligne : CRÈME & DÉLICE, 14 caractères */
  .logo__sous{margin-top:7px;font-size:8px;letter-spacing:.4em;padding-left:.4em}
  .entete__haut{gap:14px}
  .entete__gauche,.entete__outils{letter-spacing:.14em;white-space:nowrap}
  .wp-site-blocks .entete .wp-block-navigation__container{gap:clamp(12px,1.9vw,20px)}
}
@media (min-width:761px) and (max-width:860px){
  .wp-site-blocks .entete__gauche .wp-block-navigation-item{display:none}
}

/* images : pas de marge de figure, hauteur automatique (sinon l'attribut height l'emporte), lien qui remplit la figure */
figure.wp-block-image{margin:0}
.wp-block-image img{height:auto}
.wp-block-image > a{display:block;width:100%;height:100%}
.carte__photo img,.cafe__photo img,.actu__photo img,.atelier__photo img,.duo__photo img,.cat img,.tuile img,.visite__fond img,.manifeste__img img,.hero__photo img,.bandeau__photo img{height:100%}
.carte__photo,.cafe__photo,.actu__photo{display:block}

/* photos plein cadre : le bloc image porte la classe, l'img est dedans */
figure.hero__photo,figure.bandeau__photo{position:absolute;inset:0;margin:0}
.hero__photo img,.bandeau__photo img{width:100%;height:100%;object-fit:cover}
.hero__photo--viennoiseries img{object-position:50% 74%}
.hero__photo--patisseries img{object-position:50% 62%}
.hero__photo--cakes img{object-position:50% 76%}

/* tuiles et catégories : l'image est le lien, les textes superposés laissent passer le clic */
.tuile__nom,.tuile__voir,.cat__nom,.cat__n,.tuile::after,.cat::after{pointer-events:none}
.tuile > .wp-block-image,.cat > .wp-block-image{position:static}

/* boutons natifs : la classe btn est sur le conteneur, le style se pose sur le lien */
.wp-block-buttons{display:block}
.wp-block-button.btn,.wp-block-button.btn:hover{display:inline-block;background:none;border:0;padding:0;border-radius:0;color:inherit}
.wp-block-button.btn .wp-block-button__link{display:inline-block;border:1px solid var(--noir);border-radius:0;background:transparent;color:var(--noir);padding:11px 32px;font-size:11px;line-height:1.55;letter-spacing:.22em;text-transform:uppercase;font-weight:400;transition:background .3s,color .3s,border-color .3s}
.wp-block-button.btn .wp-block-button__link:hover{background:var(--noir);border-color:var(--noir);color:#fff}
.wp-block-button.btn--clair .wp-block-button__link{border-color:#fff;color:#fff}
.wp-block-button.btn--clair .wp-block-button__link:hover{background:#fff;border-color:#fff;color:var(--noir)}
.wp-block-button.btn--clair,.wp-block-button.btn--clair:hover{border:0;background:none}

/* texte qui roule : le survol de n'importe quel parent déclenche la copie */
.roule:hover .roule__a,a:hover .roule .roule__a{transform:translateY(-115%)}
.roule:hover .roule__b,a:hover .roule .roule__b{transform:none}

/* images : le CSS de bloc de WordPress (height:auto) est imprimé après cette feuille ; on le dépasse en spécificité */
.wp-site-blocks :is(.carte__photo,.cafe__photo,.actu__photo,.atelier__photo,.duo__photo,.cat,.tuile,.visite__fond,.manifeste__img,.hero__photo,.bandeau__photo) img{width:100%;height:100%;object-fit:cover}
/* les photos à parallaxe sont plus hautes que leur cadre (118 %) : la règle ci-dessus les ramenait à 100 % et laissait une bande grise au bas de la section « Visit » */
.wp-site-blocks :is(.atelier__photo,.duo__photo,.visite__fond) img.parallaxe{height:118%}

/* navigation native : listes sans puces, alignées comme les liens de la maquette (même raison : spécificité) */
.wp-site-blocks nav.wp-block-navigation{display:block;gap:0}
.wp-site-blocks nav.wp-block-navigation > ul.wp-block-navigation__container{display:flex;flex-wrap:nowrap;align-items:center;gap:clamp(16px,2.4vw,34px);list-style:none;margin:0;padding:0}
.wp-site-blocks nav.wp-block-navigation.pied__nav > ul.wp-block-navigation__container{flex-direction:column;align-items:flex-start;gap:0}
.wp-site-blocks nav.wp-block-navigation.entete__menu > ul.wp-block-navigation__container{justify-content:flex-end}
.wp-site-blocks .wp-block-navigation-item{margin:0}
.wp-block-navigation__container{list-style:none;margin:0;padding:0;display:flex;gap:inherit;align-items:center}
.wp-block-navigation-item__content{display:inline-flex;text-decoration:none;color:inherit}
.entete .wp-block-navigation__container{gap:clamp(16px,2.4vw,34px)}
.entete__outils .wp-block-navigation__container{justify-content:flex-end}
.pied__nav .wp-block-navigation__container{flex-direction:column;align-items:flex-start;gap:0}
.pied__colonnes a{display:block}
.pied__colonnes .wp-block-navigation-item__content{display:block}
.wp-site-blocks nav.wp-block-navigation.pied__social a.wp-block-navigation-item__content{display:inline-flex;align-items:center}

/* menu plein écran : le lien du nom s'étend sur toute la ligne ; ordre d'apparition par rang */
.menu__nom a::after{content:"";position:absolute;inset:0}
.menu__lien{position:relative}
.menu-ouvert .menu__lien:nth-child(1){transition-delay:.32s}
.menu-ouvert .menu__lien:nth-child(2){transition-delay:.38s}
.menu-ouvert .menu__lien:nth-child(3){transition-delay:.44s}
.menu-ouvert .menu__lien:nth-child(4){transition-delay:.50s}
.menu-ouvert .menu__lien:nth-child(5){transition-delay:.56s}
.menu-ouvert .menu__lien:nth-child(6){transition-delay:.62s}
.menu-ouvert .menu__lien:nth-child(7){transition-delay:.68s}
.menu__cote p{margin:0}
.menu__cote p.menu__etiquette{margin:22px 0 4px}
.menu__cote p.menu__etiquette:first-child{margin-top:0}
.entete__liens,.entete__menu{border:0;height:auto;display:block}
.entete .wp-block-navigation-item__label::after{content:none}

/* bandes défilantes : chaque mot est un paragraphe */
.defilant__piste p{margin:0;font-size:inherit;line-height:1;white-space:nowrap}
.defilant__piste p::after{content:"";display:inline-block;width:clamp(36px,5vw,76px);height:1px;margin:0 clamp(22px,3vw,48px);background:currentColor;vertical-align:middle}
.defilant__piste span::after{content:none}

/* filtres : paragraphes qui font office de boutons */
.filtres__bouton{margin:0;cursor:pointer;background:none;border:0;border-bottom:1px solid transparent;padding:6px 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--gris);transition:color .3s,border-color .3s}
.filtres__bouton:hover,.filtres__bouton.est-actif{color:var(--noir);border-color:var(--noir)}
.filtres__bouton.est-actif::before{content:"[ "}
.filtres__bouton.est-actif::after{content:" ]"}

/* côtés du manifeste : classes au lieu d'attributs data-* */
.gsap-on .manifeste__img.cote-droite{right:0;left:auto}
.gsap-on .manifeste__img.cote-gauche{left:0;right:auto}
.gsap-on .manifeste__phrase.cote-droite{left:var(--gut);right:54vw}
.gsap-on .manifeste__phrase.cote-gauche{left:56vw;right:var(--gut)}
@media (max-width:1100px){
  .gsap-on .manifeste__phrase.cote-droite,.gsap-on .manifeste__phrase.cote-gauche{left:var(--gut);right:var(--gut);top:14%;transform:none;font-size:clamp(28px,7.4vw,60px)}
  .gsap-on .manifeste__img.cote-droite,.gsap-on .manifeste__img.cote-gauche{left:0;right:0;top:40%;bottom:0;width:auto}
}

/* liens dans un texte : un lien en ligne ne porte pas de classe (l'éditeur l'invaliderait), il se souligne par son contexte */
.prose p a,.service p a,.presentation p a{text-decoration:underline;text-underline-offset:4px}
.sous-nav a{display:block}

/* étapes numérotées : le contenu d'un item de liste n'a pas d'enveloppe, le numéro se place en absolu */
.etapes li{display:block;position:relative;padding:20px 0 20px 52px}
.etapes li::before{position:absolute;left:0;top:23px;padding-top:0}

/* formulaires Contact Form 7 */
.wpcf7 form{margin:0}
.wpcf7-form-control-wrap{display:block}
.wpcf7-not-valid-tip{margin-top:6px;font-size:12px;color:var(--rouge)}
.wpcf7-response-output{margin:18px 0 0!important;padding:12px 16px!important;border:1px solid var(--noir)!important;font-size:14px}
.wpcf7-spinner{display:none!important}
.wpcf7-submit{display:inline-block;border:1px solid var(--noir);border-radius:0;background:transparent;color:var(--noir);padding:11px 32px;font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.wpcf7-submit:hover{background:var(--noir);border-color:var(--noir);color:#fff}
.lettre__formulaire{display:flex;gap:12px;align-items:flex-end}
.lettre__formulaire .wpcf7-form-control-wrap{flex:1;min-width:0}
.lettre__form input[type=email]{width:100%;border:0;border-bottom:1px solid var(--noir);background:transparent;padding:12px 2px;font:inherit;font-size:15px;outline:0}
.formulaire .wpcf7-form{display:grid;gap:28px}
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* mobile : le CSS de bloc de WordPress (display:block, spécificité 0,2,0) l'emporte sur le masquage des liens de l'en-tête ; on masque les éléments de liste, il ne reste que le panier */
@media (max-width:760px){
  .wp-site-blocks .entete__gauche .wp-block-navigation-item,
  .wp-site-blocks .entete__outils .wp-block-navigation-item:not(.entete__sac){display:none}
  .wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content{display:inline-flex}
}



/* =====================================================================
   Boutique WooCommerce : listes de produits, fiche produit, panier, paiement, compte.
   Spécificité renforcée avec .wp-site-blocks : le CSS de WooCommerce et des blocs est imprimé après cette feuille.
   ===================================================================== */

/* listes de produits (pages de collection, boutique, produits associés) : la grille de la maquette */
.grille-produits{display:block}
.boutique-liste .woocommerce{margin:0}
.wp-site-blocks ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:68px 28px;margin:0;padding:0;list-style:none}
.wp-site-blocks ul.products.products::before,.wp-site-blocks ul.products.products::after{content:none}
.wp-site-blocks ul.products li.product,.wp-site-blocks .woocommerce ul.products[class*=columns-] li.product,.woocommerce-page .wp-site-blocks ul.products[class*=columns-] li.product,.woocommerce .wp-site-blocks ul.products[class*=columns-] li.product{float:none;clear:none;width:auto;margin:0;padding:0;text-align:center;display:flex;flex-direction:column;align-items:center;list-style:none}
.wp-site-blocks ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;align-items:center;width:100%;color:inherit}
.wp-site-blocks ul.products li.product img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;margin:0;background:#f2f2f2;transition:opacity .5s}
.wp-site-blocks ul.products li.product a:hover img{opacity:.9}
.wp-site-blocks ul.products li.product img.woocommerce-placeholder{opacity:.35}
.wp-site-blocks ul.products li.product .photo-a-venir{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:4/5;background:#f2f2f2;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
.wp-site-blocks ul.products li.product .woocommerce-loop-product__title{margin:22px 0 8px;padding:0;font-size:15px;letter-spacing:.1em;text-transform:uppercase;font-weight:400;line-height:1.3;color:var(--noir)}
.wp-site-blocks ul.products li.product .price{display:block;margin:0 0 20px;font-size:13.5px;letter-spacing:.04em;color:var(--graphite)}
.wp-site-blocks ul.products li.product .price del{opacity:.5}
.wp-site-blocks ul.products li.product .prix-annonce{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}
.wp-site-blocks ul.products li.product .onsale{display:none}
.wp-site-blocks ul.products li.product .button,.wp-site-blocks .single_add_to_cart_button,.wp-site-blocks .woocommerce a.button,.wp-site-blocks .woocommerce button.button{display:inline-block;margin:auto 0 0;border:1px solid var(--noir);border-radius:0;background:transparent;color:var(--noir);padding:11px 32px;font-family:inherit;font-size:11px;line-height:1.55;letter-spacing:.22em;text-transform:uppercase;font-weight:400;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
.wp-site-blocks ul.products li.product .button:hover,.wp-site-blocks .single_add_to_cart_button:hover,.wp-site-blocks .woocommerce a.button:hover,.wp-site-blocks .woocommerce button.button:hover{background:var(--noir);border-color:var(--noir);color:#fff}
/* plus de lien « Voir le panier » sous le bouton après un ajout (demande du client, 9 nov. 2026) : le tiroir du sac s'ouvre déjà tout seul */
.wp-site-blocks .added_to_cart,.wp-site-blocks a.wc-forward.added_to_cart{display:none!important}
.boutique-vide{margin:0;padding:48px 0 12px;text-align:center;font-size:17px;color:var(--graphite)}
.boutique-liste:has(ul.products) .boutique-vide{display:none}

/* rangée « Signature creations » de l'accueil : les produits en ligne, comme la rangée de la maquette */
.wp-site-blocks .piste ul.products{display:flex;flex-wrap:nowrap;gap:22px;grid-template-columns:none;align-items:stretch}
/* les cartes grandissent avec l'écran (17,5 % de la largeur, sans plafond à 290 px, mais jamais plus de 40 % de la hauteur de la fenêtre pour que la rangée tienne dans la vue épinglée) :
   huit cartes font alors toujours environ 1,4 fois la largeur de l'écran, donc la rangée a toujours de la distance à parcourir. Avec l'ancien plafond, un écran de 2560 ou 3440 px
   montrait les huit cartes d'un coup et la section épinglée ne bougeait plus. */
.wp-site-blocks .piste > .boutique-liste{min-width:100%}
.wp-site-blocks .piste ul.products li.product,.wp-site-blocks .piste .woocommerce ul.products[class*=columns-] li.product{flex:1 0 clamp(230px,min(17.5vw,40vh),640px);min-width:0}
.wp-site-blocks .piste ul.products li.product .woocommerce-loop-product__title{font-size:clamp(14px,.75vw,20px)}
.wp-site-blocks .piste ul.products li.product .price{font-size:clamp(13.5px,.7vw,19px)}
/* petits téléphones peu hauts (375×667, 360×640) : la vue épinglée doit tenir à l'écran, on resserre l'espacement et les cartes */
@media (max-width:760px) and (max-height:700px){
  .piste-epinglee .creations__collant{padding:74px 0 26px}
  .piste-epinglee .creations__scene{margin-top:26px}
  .piste-epinglee .creations__progression{margin-top:20px}
  .wp-site-blocks .piste ul.products li.product,.wp-site-blocks .piste .woocommerce ul.products[class*=columns-] li.product{flex-basis:200px}
  .wp-site-blocks .piste ul.products li.product .woocommerce-loop-product__title{margin-top:14px}
  .wp-site-blocks .piste ul.products li.product .price{margin-bottom:12px}
}

/* collections et boutique : la grille prend toute la largeur de l'écran (comme pierreherme.com) au lieu de s'arrêter à 1380 px ; toujours 3 produits par rangée,
   les cartes grandissent avec l'écran (2 colonnes sur tablette, voir plus bas) */
.archive.woocommerce-page .wp-site-blocks > .boutique{max-width:none}

/* pages WooCommerce : boutique, produit, panier, paiement, compte */
.woocommerce-page .wp-site-blocks > main.wp-block-group,.wp-site-blocks > .boutique{max-width:1380px;margin:0 auto;padding:64px var(--gut) 112px}
.wp-site-blocks > .boutique main.site-main{padding:0;margin:0;max-width:none}
.woocommerce-page .wp-site-blocks main h1,.woocommerce .wp-site-blocks main h1,.wp-site-blocks > .boutique h1{margin:0 0 36px;font-size:clamp(28px,3vw,44px);font-weight:300;letter-spacing:.06em;text-transform:uppercase;line-height:1.1}
.woocommerce-breadcrumb{margin:0 0 28px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.woocommerce-breadcrumb a:hover{color:var(--noir);text-decoration:underline;text-underline-offset:4px}
.woocommerce-products-header{margin-bottom:12px}
.woocommerce-result-count,.woocommerce-ordering{margin:0 0 36px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--graphite)}
.woocommerce-result-count{float:left}
.woocommerce-ordering{float:right}
.woocommerce-ordering select{border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;padding:6px 20px 6px 0;font:inherit;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.woocommerce ul.products{clear:both}
.woocommerce-pagination{margin-top:56px;text-align:center}
.woocommerce-pagination ul{display:inline-flex;gap:8px;margin:0;padding:0;border:0;list-style:none}
.woocommerce-pagination li{border:0}
.woocommerce-pagination .page-numbers{display:block;padding:8px 14px;font-size:12px;letter-spacing:.14em;color:var(--graphite)}
.woocommerce-pagination .page-numbers.current{color:var(--noir);border-bottom:1px solid var(--noir)}
.woocommerce-message,.woocommerce-info,.woocommerce-error{margin:0 0 28px;padding:16px 20px;border:1px solid var(--noir);border-radius:0;background:transparent;list-style:none;font-size:14.5px}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{content:none}
.woocommerce-message .button{float:right;margin:-8px 0 -8px 16px}

/* panier et paiement (blocs WooCommerce) */
.wp-site-blocks .wc-block-components-button:not(.is-link),.wp-site-blocks .wc-block-cart__submit-button,.wp-site-blocks .wc-block-components-checkout-place-order-button{border:1px solid var(--noir);border-radius:0;background:var(--noir);color:#fff;font-family:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;padding:14px 28px;transition:letter-spacing .5s cubic-bezier(.2,.7,.2,1)}
.wp-site-blocks .wc-block-components-button:not(.is-link):hover,.wp-site-blocks .wc-block-cart__submit-button:hover,.wp-site-blocks .wc-block-components-checkout-place-order-button:hover{background:var(--noir);border-color:var(--noir);color:#fff;letter-spacing:.26em}
.wp-site-blocks .wc-block-components-text-input input,.wp-site-blocks .wc-block-components-textarea,.wp-site-blocks .wc-blocks-components-select__select,.wp-site-blocks .wc-block-components-combobox .components-combobox-control__input{border-radius:0;border-color:var(--noir);font-family:inherit}
.wp-site-blocks .wc-block-components-radio-control__option,.wp-site-blocks .wc-block-components-radio-control-accordion-option{border-radius:0}
.wp-site-blocks .wc-block-components-title,.wp-site-blocks .wc-block-cart__totals-title,.wp-site-blocks .wc-block-components-checkout-step__title,.wp-site-blocks .wc-block-components-order-summary__button-text{font-size:13px;letter-spacing:.2em;text-transform:uppercase;font-weight:400}
.wp-site-blocks .wc-block-components-product-name{font-size:14px;letter-spacing:.06em;text-transform:uppercase;font-weight:400;color:var(--noir)}
.wp-site-blocks .wc-block-components-totals-item__value,.wp-site-blocks .wc-block-formatted-money-amount{font-variant-numeric:tabular-nums}
.wp-site-blocks .wc-block-cart,.wp-site-blocks .wc-block-checkout{font-size:15px}
.wp-site-blocks .wc-block-cart__main .wc-block-cart-items th{font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:400;color:var(--gris)}

/* mon compte */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:64px}
.woocommerce-account .woocommerce::before,.woocommerce-account .woocommerce::after{content:none}
.woocommerce-account .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account .woocommerce-notices-wrapper:empty{display:none}
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation{grid-column:1;float:none;width:auto}
.woocommerce-account .woocommerce .woocommerce-MyAccount-content{grid-column:2;float:none;width:auto;font-size:16px;line-height:1.7;color:var(--graphite)}
.woocommerce-MyAccount-navigation ul{margin:0;padding:0;list-style:none}
.woocommerce-MyAccount-navigation li a{display:block;padding:12px 0;border-bottom:1px solid var(--trait);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.woocommerce-MyAccount-navigation li.is-active a{color:var(--rouge)}
.woocommerce-form-login,.woocommerce-form-register{padding:0;border:0}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select{width:100%;border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;padding:11px 0;font:inherit;font-size:16px;outline:0}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:400}
body.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:520px}

@media (max-width:1100px){
  .wp-site-blocks ul.products{grid-template-columns:repeat(2,1fr)}
  .woocommerce div.product .related ul.products,.woocommerce div.product .upsells ul.products{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .wp-site-blocks ul.products{grid-template-columns:1fr 1fr;gap:44px 14px}
  .wp-site-blocks ul.products li.product .woocommerce-loop-product__title{font-size:13px;letter-spacing:.06em}
  .wp-site-blocks ul.products li.product .button{padding:10px 18px}
  .wp-site-blocks .piste ul.products{display:flex}
  .woocommerce-page .wp-site-blocks > main.wp-block-group,.wp-site-blocks > .boutique{padding:36px var(--gut) 72px}
  .woocommerce div.product{display:block}
  .woocommerce div.product div.summary{margin-top:30px}
  .woocommerce div.product .woocommerce-tabs{margin-top:34px}
  .woocommerce-account .woocommerce{display:block}
  .woocommerce-MyAccount-navigation{margin-bottom:36px}
}

/* WordPress remet à zéro la marge basse du dernier enfant d'un groupe (spécificité 0,2,0) : on la rétablit là où le design la veut */
:root .cafe__item > p:last-child{margin-bottom:18px}

/* variantes affichées par bascule de classe, jamais par injection de contenu */
.est-masque{display:none}

/* =====================================================================
   Fiche produit : la mise en page de serotoninn.com/products/architecture-trousers, en pleine largeur.
   Proportions mesurées sur la référence (écran de 2000 px) : rail d'étiquettes (14,2 vw) | fenêtre d'images (39,8 vw)
   haute comme l'écran | colonne d'achat (le reste) de la même hauteur : titre et prix en haut, achat au milieu,
   rubriques « 01. DETAILS + » en bas. Préfixe .single-product .wp-site-blocks : le CSS de WooCommerce passe après.
   ===================================================================== */
/* barre d'administration WordPress : quand elle est là (compte connecté), tout ce qui se colle descend d'autant, sinon la page bouge avant de se coller */
.admin-bar{--adminbar:32px}
@media (max-width:782px){.admin-bar{--adminbar:46px}}
@media (max-width:600px){.admin-bar{--adminbar:0px}}
.admin-bar .entete--page{top:var(--adminbar,0px)}
.single-product .wp-site-blocks > .boutique{max-width:none;padding:24px 2.4vw 96px;--rail:14.2vw;--g1:2vw;--g2:3.1vw}

/* grille : rail | fenêtre d'images | colonne d'achat (le bloc .stade disparaît de la grille : ses deux enfants y entrent) */
.single-product .wp-site-blocks div.product{--fh:max(460px,calc(100vh - var(--epingle,calc(100px + var(--adminbar,0px))) - 28px));display:grid;grid-template-columns:var(--rail) var(--g1) 39.8vw var(--g2) minmax(0,1fr);row-gap:0;align-items:start}
.single-product .wp-site-blocks div.product > *{grid-column:1/-1}
.single-product .wp-site-blocks div.product .stade{display:contents}
.single-product .wp-site-blocks div.product .stade__rail{grid-column:1;grid-row:1;position:sticky;top:var(--epingle,calc(100px + var(--adminbar,0px)));height:var(--fh);align-self:start;display:flex;flex-direction:column;justify-content:space-between;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.single-product .wp-site-blocks div.product .stade__piste{grid-column:3;grid-row:1;align-self:stretch}
.single-product .wp-site-blocks div.product div.summary{--halo:22px;grid-column:5;grid-row:1;float:none;width:auto;box-sizing:border-box;margin:calc(var(--halo) * -1) 0 0;padding-top:var(--halo);position:sticky;top:calc(var(--epingle,calc(100px + var(--adminbar,0px))) - var(--halo));align-self:start;height:calc(var(--fh) + var(--halo));display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto;scrollbar-width:none}
.single-product .wp-site-blocks div.product div.summary::-webkit-scrollbar{display:none}
.stade__rail a:hover{color:var(--rouge)}
.stade__compteur b{font-weight:500}

/* fenêtre d'images (sans JS : les images restent l'une sous l'autre) */
.stade__collant{display:flex;flex-direction:column;gap:14px}
.stade__image{position:relative;margin:0;overflow:hidden;background:#f2f2f2;aspect-ratio:4/5}
.stade .stade__image .stade__img{display:block;width:100%;max-width:none;height:100%;margin:0;object-fit:cover}
.stade__image--vide{display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}

/* bureau : les images s'empilent l'une sur l'autre pendant que la fenêtre reste collée (le script ajoute .stade--empile) */
.stade--empile .stade__piste{min-height:calc(var(--fh) + (var(--nb) - 1) * 50vh + var(--tenue,0px))}
.stade--empile .stade__collant{position:sticky;top:var(--epingle,calc(100px + var(--adminbar,0px)));display:block;height:var(--fh);overflow:hidden;background:#f2f2f2}
.stade--empile .stade__image{position:absolute;inset:0;aspect-ratio:auto;will-change:transform}

/* l'en-tête reste fixe sur la fiche : seules les images bougent (le script du thème ne le retire plus) */
.single-product .wp-site-blocks .entete{transform:none!important}

/* colonne d'achat : haut. La colonne défile seule (overflow) : sans marge au-dessus, elle coupe le haut des accents (È, Û, É) à la hauteur du bord haut de la photo ;
   --halo lui donne cette marge et la remonte d'autant, le titre reste exactement où il était */
.fiche__haut{flex:none}
.single-product .wp-site-blocks div.product .product_title{margin:0 0 14px;font-size:clamp(32px,3.3vw,68px);font-weight:300;letter-spacing:.04em;text-transform:uppercase;line-height:1.04}
.single-product .wp-site-blocks div.product .summary .price{display:block;margin:0 0 22px;font-size:clamp(14px,1.05vw,19px);letter-spacing:.05em;text-align:right;color:var(--rouge)}
.single-product .wp-site-blocks div.product .summary .price .prix-annonce{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.single-product .wp-site-blocks div.product .woocommerce-product-details__short-description{margin:0;font-style:italic;font-size:17px;line-height:1.6;color:var(--graphite)}
.single-product .wp-site-blocks div.product .woocommerce-product-details__short-description p{margin:0}

/* milieu : quantité, stock, grand bouton d'achat */
.fiche__milieu{flex:none;display:flex;flex-direction:column;gap:20px}
.fiche__ligne{display:flex;justify-content:space-between;align-items:center;min-height:20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.fiche__stock i{display:inline-block;width:14px;height:14px;margin-right:9px;border-radius:50%;background:#2f8f46;vertical-align:-2px}
.fiche__stock--off i{background:#c9c9c9}
.single-product .wp-site-blocks div.product form.cart::before,.single-product .wp-site-blocks div.product form.cart::after{content:none}
.single-product .wp-site-blocks div.product form.cart{display:flex;flex-direction:column;gap:30px;margin:0}
.single-product .wp-site-blocks div.product form.cart div.quantity{display:inline-flex;flex:none;align-items:center;align-self:flex-start;float:none;width:auto;height:auto;margin:0;padding:0;border:0;gap:4px;white-space:nowrap}
.single-product .wp-site-blocks div.product form.cart div.quantity::before,.single-product .wp-site-blocks div.product form.cart div.quantity::after{font-size:44px;font-weight:200;line-height:1}
.single-product .wp-site-blocks div.product form.cart div.quantity::before{content:"["}
.single-product .wp-site-blocks div.product form.cart div.quantity::after{content:"]"}
.qte__bouton{display:flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:var(--noir);font:inherit;font-size:22px;font-weight:300;line-height:1;cursor:pointer;transition:opacity .25s}
.qte__bouton:hover{opacity:.5}
.single-product .wp-site-blocks div.product form.cart div.quantity .qty{width:46px;height:auto;padding:0;border:0;background:transparent;font-family:inherit;font-size:26px;font-weight:300;text-align:center;-moz-appearance:textfield;appearance:textfield}
.single-product .wp-site-blocks div.product form.cart div.quantity .qty::-webkit-inner-spin-button,.single-product .wp-site-blocks div.product form.cart div.quantity .qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button{width:100%;height:clamp(64px,6.4vh,92px);margin:0;padding:0 24px;border-color:var(--noir);background:var(--noir);color:#fff;font-size:12px;letter-spacing:.34em;transition:letter-spacing .5s cubic-bezier(.2,.7,.2,1),background .3s,color .3s,border-color .3s}
.single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button::before{content:"[ "}
.single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button::after{content:" ]"}
.single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button:hover{border-color:var(--noir);background:var(--noir);color:#fff;letter-spacing:.4em}
.fiche__bouton-off{display:flex;align-items:center;justify-content:center;width:100%;height:clamp(64px,6.4vh,92px);border:1px solid var(--trait);color:var(--gris);font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.fiche__retour{align-self:center;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.fiche__retour:hover{color:var(--rouge)}

/* bas : rubriques numérotées, repliées */
.fiche__acc{flex:none}
.acc summary{display:flex;justify-content:space-between;align-items:center;padding:13px 0;list-style:none;font-size:15px;letter-spacing:.14em;text-transform:uppercase;font-weight:400;cursor:pointer}
.acc summary::-webkit-details-marker{display:none}
.acc summary:hover .acc__t{color:var(--rouge)}
.acc__t{transition:color .3s}
.acc__i{position:relative;width:14px;height:14px}
.acc__i::before,.acc__i::after{content:"";position:absolute;left:0;top:6px;width:14px;height:1px;background:var(--noir);transition:transform .4s}
.acc__i::after{transform:rotate(90deg)}
.acc[open] .acc__i::after{transform:rotate(0)}
.acc__corps{overflow:hidden}
.acc__texte{padding:2px 0 20px;font-size:14.5px;line-height:1.75;color:var(--graphite)}
.acc__texte > *:first-child{margin-top:0}
.acc__texte > *:last-child{margin-bottom:0}
.acc__texte p{margin:0 0 12px}
.acc__texte h1,.acc__texte h2,.acc__texte h3,.acc__texte h4,.acc__texte h5,.acc__texte h6{margin:20px 0 8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--noir)}
.acc__texte strong,.acc__texte b{font-weight:500;color:var(--noir)}
.acc__texte ul,.acc__texte ol{margin:0 0 12px;padding-left:18px}
.acc__texte hr{height:0;margin:16px 0;border:0;border-top:1px solid var(--trait)}
.acc__texte img{display:none}
.fiche__infos,.acc__texte .fiche__infos{display:grid;gap:22px;margin:0;padding:0;list-style:none}   /* collée au bord gauche du texte : aligne les icônes sur le titre de la rubrique */
.acc__texte:has(.fiche__infos){padding-top:26px}   /* « Cueillette et livraison » : plus d'espace entre le titre de la rubrique et les deux icônes (demande du client) */
.fiche__infos li{display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:18px;align-items:center}
@media (max-width:520px){.fiche__infos li{grid-template-columns:48px minmax(0,1fr);column-gap:14px}}
.fiche__infos strong{display:block;margin-bottom:5px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:500}
.fiche__infos span{display:block;font-size:14px;line-height:1.65;color:var(--graphite)}

/* « You may also like » et « Recently viewed » : l'intitulé dans la colonne du rail, les cartes sous la fenêtre et la colonne d'achat */
.single-product .wp-site-blocks .related.products,.single-product .wp-site-blocks .vus{display:grid;grid-template-columns:calc(var(--rail) + var(--g1)) minmax(0,1fr);margin-top:120px}
.single-product .wp-site-blocks .related.products > h2,.vus__titre{grid-column:1;margin:0;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.single-product .wp-site-blocks .related.products > h2::before{content:"(02) ";color:var(--rouge);font-weight:500}
.vus__titre::before{content:"(03) ";color:var(--rouge);font-weight:500}
.single-product .wp-site-blocks .related ul.products,.single-product .wp-site-blocks .vus ul.products{grid-column:2;grid-template-columns:repeat(4,1fr);gap:48px 14px}
.single-product .wp-site-blocks .vus .prix-annonce{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris)}

/* tablette et mobile : images en rangée à faire glisser, colonne d'achat dessous, bouton d'achat collé en bas */
@media (max-width:1100px){
  .single-product .wp-site-blocks > .boutique{padding:24px var(--gut) 72px}
  .single-product .wp-site-blocks div.product{display:block}
  .single-product .wp-site-blocks div.product .stade{display:block}
  .single-product .wp-site-blocks div.product .stade__rail{display:none}
  .single-product .wp-site-blocks div.product div.summary{position:static;height:auto;display:block;overflow:visible;margin-top:30px;padding-top:0}
  .fiche__haut,.fiche__milieu,.fiche__acc{display:contents}
  .single-product .wp-site-blocks div.product .product_title{margin-bottom:10px}
  .single-product .wp-site-blocks div.product .woocommerce-product-details__short-description{margin-bottom:22px}
  .fiche__ligne{margin-bottom:14px}
  .stade__collant{flex-direction:row;gap:8px;margin:0 calc(var(--gut) * -1);padding:0 var(--gut);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gut);scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .stade__collant::-webkit-scrollbar{display:none}
  .stade__image{flex:0 0 84%;scroll-snap-align:start}
  .stade__image:only-child{flex-basis:100%}
  .single-product .wp-site-blocks div.product form.cart{position:sticky;bottom:0;z-index:20;flex-direction:row;align-items:center;gap:14px;margin:0 calc(var(--gut) * -1) 26px;padding:12px var(--gut);border-top:1px solid var(--trait);background:#fff}
  .single-product .wp-site-blocks div.product form.cart div.quantity::before,.single-product .wp-site-blocks div.product form.cart div.quantity::after{font-size:34px}
  .single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button{height:56px;font-size:11px;letter-spacing:.26em}
  .fiche__bouton-off{height:56px;margin-bottom:24px}
  .fiche__retour{display:table;margin:0 auto 28px}
  .acc{border-top:1px solid var(--trait)}
  .acc:last-child{border-bottom:1px solid var(--trait)}
  .single-product .wp-site-blocks .related.products,.single-product .wp-site-blocks .vus{display:block;margin-top:80px}
  .single-product .wp-site-blocks .related.products > h2,.vus__titre{margin-bottom:32px}
  .single-product .wp-site-blocks .related ul.products,.single-product .wp-site-blocks .vus ul.products{grid-template-columns:repeat(2,1fr)}
}

/* =====================================================================
   Collections : un écran par produit, l'écran suivant monte par-dessus le précédent (comme thomasmonavon.com).
   Sans JavaScript, sur tablette et mobile, ou si le visiteur demande moins de mouvement : les écrans restent l'un sous l'autre.
   Sur grand écran, assets/defile.js pose html.defile-actif : la scène reste collée et les écrans s'empilent.
   ===================================================================== */
@property --r{syntax:'<length>';inherits:true;initial-value:24px}
.catalogue:has(.defile){padding:0}
.grille-produits:has(.defile){display:block}
.boutique-liste:has(.defile) .boutique-vide{display:none}
.defile{--hd:calc(76px + var(--adminbar,0px));--hs:calc(100vh - var(--hd))}

.ecran{display:grid;grid-template-columns:1fr 1fr;min-height:var(--hs);border-top:1px solid var(--trait);background:#fff}
.ecran:not(.ecran--inverse) .ecran__texte{order:-1}

/* photo */
.ecran__photo{position:relative;min-height:min(72vh,680px);overflow:hidden;background:#f2f2f2}
.ecran__fig{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease}
.ecran__fig.est-actif{opacity:1}
.ecran__fig.est-entrant{opacity:1;transition:none;z-index:2}   /* la photo qui arrive se dévoile par-dessus l'actuelle (balayage de droite à gauche, comme celui du héros mais à l'horizontale) */
.ecran__img{display:block;width:100%;max-width:none;height:100%;object-fit:cover}
.ecran__vide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
.ecran__suite{position:absolute;left:clamp(20px,2.4vw,40px);bottom:clamp(18px,2vw,32px);z-index:3;padding:0;border:0;background:none;color:#fff;mix-blend-mode:difference;font:inherit;font-size:13px;letter-spacing:.22em;cursor:pointer}
.ecran__suite:hover{opacity:.75}
.ecran__suite{display:inline-flex;align-items:center;gap:14px;overflow:hidden;padding:2px 0}
.ecran__suite-n{display:inline-block}
.ecran__suite-barre{display:block;width:clamp(36px,4vw,64px);height:1px;background:rgba(255,255,255,.4)}   /* barre de progression du diaporama, comme celle du héros */
.ecran__suite-barre i{display:block;height:1px;background:#fff;transform:scaleX(0);transform-origin:left}

/* texte et achat */
.ecran__texte{--r:clamp(16px,2.4vh,34px);display:flex;flex-direction:column;justify-content:flex-start;gap:32px;min-width:0;padding:clamp(24px,3vw,56px) clamp(28px,4vw,84px) clamp(8px,1vw,20px);overflow-y:auto;scrollbar-width:none}   /* peu de marge en bas : les rubriques se posent au pied de l'écran */
.ecran__texte::-webkit-scrollbar{display:none}
.ecran__haut{display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.ecran__num{font-variant-numeric:tabular-nums}
.ecran__centre{display:flex;flex-direction:column;margin-top:clamp(28px,6.5vh,84px)}   /* le titre se rapproche de la ligne du haut ; le vide est repris par l'espacement entre les éléments */
.ecran__titre{margin:0 0 calc(var(--r) * .7);font-size:clamp(34px,3.6vw,76px);font-weight:300;letter-spacing:.04em;line-height:1.04;text-transform:uppercase}
.ecran__prix{display:block;margin:0 0 calc(var(--r) * 1.2);font-size:clamp(14px,1.05vw,19px);letter-spacing:.05em;color:var(--rouge)}
.ecran__prix .prix-annonce{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.ecran__court{margin:0 0 calc(var(--r) * .8);font-style:italic;font-size:17px;line-height:1.6;color:var(--graphite)}
.ecran__court p{margin:0}
.ecran__bas{margin-top:auto;padding-top:var(--r)}
.ecran .fiche__milieu{gap:var(--r)}

.ecran form.cart{display:flex;flex-direction:column;gap:calc(var(--r) * 1.3);margin:0}
.ecran form.cart::before,.ecran form.cart::after{content:none}
.ecran form.cart div.quantity{display:inline-flex;align-items:center;align-self:flex-start;gap:4px;margin:0;padding:0;border:0;white-space:nowrap}
.ecran form.cart div.quantity::before,.ecran form.cart div.quantity::after{font-size:44px;font-weight:200;line-height:1}
.ecran form.cart div.quantity::before{content:"["}
.ecran form.cart div.quantity::after{content:"]"}
.ecran form.cart div.quantity .qty{width:46px;height:auto;padding:0;border:0;background:transparent;font-family:inherit;font-size:26px;font-weight:300;text-align:center;-moz-appearance:textfield;appearance:textfield}
.ecran form.cart div.quantity .qty::-webkit-inner-spin-button,.ecran form.cart div.quantity .qty::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}
.ecran form.cart .single_add_to_cart_button{width:100%;height:clamp(60px,6.4vh,88px);margin:0;padding:0 24px;border:1px solid var(--noir);border-radius:0;background:var(--noir);color:#fff;font-size:12px;letter-spacing:.34em;text-transform:uppercase;transition:letter-spacing .5s cubic-bezier(.2,.7,.2,1),background .3s,color .3s,border-color .3s}
.ecran form.cart .single_add_to_cart_button::before{content:"[ "}
.ecran form.cart .single_add_to_cart_button::after{content:" ]"}
.ecran form.cart .single_add_to_cart_button:hover{border-color:var(--noir);background:var(--noir);color:#fff;letter-spacing:.4em}

/* avec mouvement : la scène reste collée sous l'en-tête, les écrans s'empilent (assets/defile.js) ; l'en-tête reste visible à toute largeur */
html.defile-actif .wp-site-blocks .entete{transform:none!important}
html.defile-actif .defile{height:calc(var(--n) * var(--hs))}
html.defile-actif .defile__scene{position:sticky;top:var(--hd);height:var(--hs);overflow:hidden}
html.defile-actif .ecran{position:absolute;inset:0;min-height:0;border-top:0;will-change:transform}
html.defile-actif .ecran__photo{min-height:0}
html.defile-actif .defile__scene{cursor:grab}
html.defile-actif .ecran__texte{overscroll-behavior:contain;transition:--r .55s cubic-bezier(.22,.61,.36,1),gap .55s cubic-bezier(.22,.61,.36,1),padding-top .55s cubic-bezier(.22,.61,.36,1)}
html.defile-actif .ecran__centre{transition:margin-top .55s cubic-bezier(.22,.61,.36,1)}
/* grand écran, une rubrique est ouverte : le texte se resserre pour que tout le contenu tienne à l'écran, sans que rien ne saute ;
   sur téléphone le titre et le bouton ne bougent pas : la rubrique remonte dans le vide au-dessus d'elle, s'ouvre vers le bas et pousse la suivante hors de l'écran */
@media (min-width:1101px){
  html.defile-actif .ecran__texte.rubrique-ouverte{--r:clamp(8px,1.3vh,16px);gap:14px;padding-top:clamp(14px,1.6vw,28px)}
  html.defile-actif .ecran__texte.rubrique-ouverte .ecran__centre{margin-top:clamp(8px,1.8vh,24px)}
}
html.defile-actif .ecran .acc__texte{font-size:13.5px;line-height:1.6}
/* fenêtres peu hautes (ordinateurs portables) : l'espacement vertical se resserre par paliers pour que le texte d'un produit tienne sans que la colonne défile seule */
@media (min-width:1101px) and (max-height:900px){
  html.defile-actif .ecran__centre{margin-top:clamp(6px,2.4vh,30px)}
  html.defile-actif .ecran__court{margin-bottom:calc(var(--r) * .6)}
}
@media (min-width:1101px) and (max-height:780px){
  html.defile-actif .ecran__texte{gap:20px;padding-top:24px}
  html.defile-actif .ecran__titre{font-size:clamp(30px,3.1vw,56px)}
  html.defile-actif .ecran form.cart .single_add_to_cart_button{height:52px}
}
@media (min-width:1101px) and (max-height:700px){
  html.defile-actif .ecran__texte{gap:12px;padding-top:16px}
  html.defile-actif .ecran__centre{margin-top:0}
  html.defile-actif .ecran__prix{margin-bottom:calc(var(--r) * .7)}
  html.defile-actif .acc summary{padding:10px 0}
}
html.defile-actif .ecran__texte.a-suite{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 72px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 72px),transparent)}
html.defile-actif .ecran__img{-webkit-user-drag:none}
html.defile-glisse,html.defile-glisse *{cursor:grabbing!important;user-select:none!important}

/* tablette et mobile : photo en haut, achat dessous */
@media (max-width:1100px){
  .ecran{grid-template-columns:1fr;min-height:0}
  .ecran:not(.ecran--inverse) .ecran__texte{order:0}
  .ecran__photo{aspect-ratio:4/5;min-height:0}
  .ecran__texte{gap:26px;padding:28px var(--gut) 44px;overflow:visible}
  .ecran__centre{margin-top:0}
  .ecran__bas{margin-top:0}
  .ecran__titre{font-size:clamp(30px,8vw,48px)}
  .ecran form.cart{flex-direction:row;align-items:center;gap:14px}
  .ecran form.cart div.quantity::before,.ecran form.cart div.quantity::after{font-size:34px}
  .ecran form.cart .single_add_to_cart_button{height:56px;font-size:11px;letter-spacing:.26em}
}
/* téléphone et tablette, empilement actif (comme thomasmonavon.com en format téléphone : un écran plein, l'écran suivant monte par-dessus) :
   la photo en haut, l'achat dessous ; le texte défile seul s'il ne tient pas */
@media (max-width:1100px){
  html.defile-actif .defile__scene{cursor:auto}
  html.defile-actif .ecran{grid-template-columns:1fr;grid-template-rows:minmax(0,38%) minmax(0,62%)}
  html.defile-actif .defile{--hd:62px}
  html.defile-actif .ecran__photo{aspect-ratio:auto}
  html.defile-actif .ecran__texte{order:0;gap:12px;padding:14px var(--gut) 14px;overflow-y:auto;overscroll-behavior:auto}
  html.defile-actif .ecran__haut{font-size:11px}
  html.defile-actif .ecran__centre{margin-top:clamp(0px,1vh,10px)}
  html.defile-actif .ecran__titre{font-size:clamp(24px,6.8vw,36px);margin-bottom:6px}
  html.defile-actif .ecran__prix{font-size:14px;margin-bottom:8px}
  html.defile-actif .ecran__ligne{margin-bottom:10px}
  html.defile-actif .ecran__court{margin-bottom:6px;font-size:14px;line-height:1.45}
  html.defile-actif .ecran .fiche__milieu{gap:10px}
  html.defile-actif .ecran form.cart{gap:12px}
  html.defile-actif .ecran form.cart div.quantity::before,html.defile-actif .ecran form.cart div.quantity::after{font-size:30px}
  html.defile-actif .ecran form.cart .single_add_to_cart_button{height:52px}
  html.defile-actif .fiche__bouton-off{height:52px}
  html.defile-actif .ecran__bas{margin-top:auto}
  html.defile-actif .acc summary{padding:10px 0;font-size:13px}
}
@media (max-width:400px){
  .ecran form.cart .single_add_to_cart_button{letter-spacing:.16em;padding:0 10px;white-space:nowrap}   /* « [ ADD TO BAG ] » tient sur une ligne à 360 px */
}
/* petits téléphones : la scène est plus basse (l'en-tête reste visible), la photo cède de la place pour que l'écran tienne sans défiler ;
   un panneau qui défile avalerait le geste de balayage qui doit changer d'écran */
@media (max-width:1100px) and (max-height:760px){
  html.defile-actif .ecran{grid-template-rows:minmax(0,33%) minmax(0,67%)}
  html.defile-actif .ecran__texte{gap:10px;padding-top:12px;padding-bottom:10px}
  html.defile-actif .ecran__titre{font-size:clamp(22px,6.2vw,30px)}
  html.defile-actif .ecran__court{font-size:13px;margin-bottom:4px}
}
@media (max-width:1100px) and (max-height:660px){
  html.defile-actif .ecran{grid-template-rows:minmax(0,29%) minmax(0,71%)}
  html.defile-actif .ecran__prix{margin-bottom:4px}
  html.defile-actif .ecran__ligne{margin-bottom:6px}
  html.defile-actif .ecran form.cart .single_add_to_cart_button,html.defile-actif .fiche__bouton-off{height:46px}
  html.defile-actif .acc summary{padding:8px 0}
}

/* écrans tactiles : calage natif du navigateur, un écran par geste ; repères posés par defile.js, actifs seulement dans la scène */
.defile__reperes{display:none}
html.defile-actif .defile{position:relative}
html.defile-actif .defile__reperes{display:block;position:absolute;inset:0;pointer-events:none;visibility:hidden}
html.defile-actif .defile__repere{height:var(--hs)}
@media (pointer:coarse){
  html.defile-snap{scroll-snap-type:y mandatory}
  html.defile-snap .defile__repere{scroll-snap-align:start;scroll-snap-stop:always}
  html.defile-snap .presentation,html.defile-snap .decouvrir{scroll-snap-align:start}   /* un point d'arrêt juste avant la scène et un juste après : on peut en sortir d'un geste */
}
@media (prefers-reduced-motion:reduce){
  .ecran__fig{transition:none}
}
/* Crème & Délice — favoris (cœur) et partage sur les écrans de collection, page « Favorites » du compte (voir favoris.php et favoris.js) */

/* les deux icônes forment une ligne à gauche, juste sous la phrase d'accroche : les boutons de 40 px débordent un peu de la ligne pour ne pas l'épaissir,
   et le décalage de −9 px aligne le bord du cœur sur celui du texte */
.ecran__ligne{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:16px;margin:0 0 calc(var(--r) * 1.5)}
.ecran__actions{display:flex;align-items:center;gap:2px;flex:none;margin:-6px 0 -6px -9px}
@media (min-width:1101px) and (max-height:900px){.ecran__ligne{margin-bottom:calc(var(--r) * 1.1)}}
.ecran__action{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:0;background:none;color:var(--noir);cursor:pointer;transition:color .25s}
.ecran__action svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:fill .3s}
.ecran__action:hover{color:var(--rouge)}
.ecran__action:focus-visible{outline:1px solid var(--noir);outline-offset:-4px}
.ecran__coeur.est-actif{color:var(--rouge)}
.ecran__coeur.est-actif svg{fill:currentColor}
.ecran__coeur.pop svg{animation:coeur-pop .55s cubic-bezier(.22,.9,.3,1.4)}
@keyframes coeur-pop{0%{transform:scale(1)}35%{transform:scale(1.38)}100%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.ecran__coeur.pop svg{animation:none}}

/* message court et menu de partage : sous les icônes, par-dessus la phrase d'accroche */
.ecran__bulle,.partage{position:absolute;top:calc(100% + 12px);left:0;z-index:6}
.ecran__bulle{max-width:min(340px,100%);padding:12px 16px;background:var(--noir);color:#fff;font-size:12px;letter-spacing:.05em;line-height:1.55;text-align:left;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .3s,transform .3s,visibility 0s .3s;pointer-events:none}
.ecran__bulle.est-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s;pointer-events:auto}
.ecran__bulle a{color:#fff;text-decoration:underline;text-underline-offset:3px}
.partage{min-width:230px;padding:6px 0;background:#fff;border:1px solid var(--noir);box-shadow:0 22px 44px -22px rgba(0,0,0,.4)}
.partage[hidden]{display:none}
.partage__titre{margin:0;padding:12px 20px 8px;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}
.partage ul{margin:0;padding:0;list-style:none}
.partage a,.partage button{display:block;width:100%;padding:11px 20px;border:0;border-radius:0;background:none;color:var(--noir);font:inherit;font-size:12px;letter-spacing:.2em;text-transform:uppercase;text-align:left;text-decoration:none;cursor:pointer;transition:background .2s,color .2s}
.partage a:hover,.partage button:hover,.partage a:focus-visible,.partage button:focus-visible{background:var(--noir);color:#fff;outline:0}

/* Mon compte > Favorites */
.favoris__intro{margin:0 0 30px;font-size:14px;color:var(--graphite)}
.favoris__liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:44px 26px;margin:0;padding:0;list-style:none}
.favoris__photo{display:block;aspect-ratio:4/5;overflow:hidden;background:#f2f2f2}
.favoris__photo img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,.61,.36,1)}
.favoris__carte:hover .favoris__photo img{transform:scale(1.04)}
.favoris__vide-photo{display:grid;place-items:center;height:100%;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gris)}
.favoris__nom{display:block;margin-top:16px;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--noir);line-height:1.45}
.favoris__prix{display:block;margin-top:5px;font-size:13px;letter-spacing:.06em;color:var(--rouge)}
.favoris__prix .prix-annonce{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.favoris__actions{display:flex;gap:22px;margin-top:14px;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.favoris__actions a{padding-bottom:2px;border-bottom:1px solid currentColor;color:var(--noir)}
.favoris__actions a:hover{color:var(--rouge)}
.favoris__vide{margin:0 0 18px;font-size:15px}
@media (max-width:1100px){.favoris__liste{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.favoris__liste{gap:36px 14px}.favoris__nom{font-size:12px}}

/* cartes de « Shop all », des catégories et de la recherche : phrase d'accroche et icônes, centrées sous le prix comme le reste de la carte */
.carte__court{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;max-width:34ch;margin:0 auto 12px;font-style:italic;font-size:14.5px;line-height:1.5;color:var(--graphite);text-align:center}
.carte__court p{margin:0}
.carte__actions{justify-content:center;margin:0 0 16px}   /* hors des écrans de collection, --r n'existe pas : marge propre */
.carte__actions .ecran__actions{margin:-6px 0}
.carte__actions .ecran__bulle,.carte__actions .partage{left:50%;translate:-50% 0}
/* Crème & Délice — cartes de la boutique (« Shop all » et catégories) sur le modèle de la référence envoyée par le client (liste de cakes de Pierre Hermé) :
   photo carrée, nom à gauche et prix à droite sur la même ligne, phrase d'accroche en italique (casse normale), puis cœur, partage et bouton « Add to bag » en pilule avec un petit sac.
   Limité aux listes d'archive : les rangées de l'accueil et la recherche gardent leurs cartes centrées.
   Le sélecteur est volontairement long : la règle de base des cartes (construire_theme.py) en compte autant et la remplacerait sinon. */
body.archive.woocommerce-page .wp-site-blocks ul.products{gap:64px 36px}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product{display:flex;flex-direction:column;align-items:stretch;text-align:left}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product a.woocommerce-LoopProduct-link{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:baseline;align-content:start;width:100%}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product a.woocommerce-LoopProduct-link > img,body.archive.woocommerce-page .wp-site-blocks ul.products li.product a.woocommerce-LoopProduct-link > .photo-a-venir{grid-column:1/-1;width:100%;aspect-ratio:1/1;background:#efefef}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .woocommerce-loop-product__title{grid-column:1;margin:24px 0 0;font-size:clamp(15px,1.05vw,21px);font-weight:400;letter-spacing:.03em;line-height:1.25;text-align:left;color:var(--noir)}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .price{grid-column:2;margin:24px 0 0;font-size:clamp(15px,1.15vw,22px);color:var(--noir);text-align:right;white-space:nowrap}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .price .prix-annonce{display:block;max-width:13ch;font-size:11px;line-height:1.5;white-space:normal;text-align:right}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__court{max-width:none;margin:10px 0 14px;text-align:left;font-style:italic;font-size:clamp(14px,1vw,18px);letter-spacing:.01em;line-height:1.5;color:var(--noir)}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__actions{justify-content:flex-start;margin:14px 0 18px}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__court + .carte__actions{margin-top:0}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__actions .ecran__actions{margin:-6px 0 -6px -9px}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__actions .ecran__bulle,body.archive.woocommerce-page .wp-site-blocks ul.products li.product .carte__actions .partage{left:0;translate:none}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .button{align-self:flex-start;margin:auto 0 0;display:inline-flex;align-items:center;gap:12px;border-radius:999px;padding:12px 24px 12px 18px;font-size:clamp(13px,.95vw,16px);font-weight:400;letter-spacing:.06em;line-height:1;text-transform:uppercase}
body.archive.woocommerce-page .wp-site-blocks ul.products li.product .button::before{content:"";flex:none;width:18px;height:18px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8h13l1 12.5h-15z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 8h13l1 12.5h-15z'/%3E%3Cpath d='M9 8V6.5a3 3 0 0 1 6 0V8'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:760px){
  body.archive.woocommerce-page .wp-site-blocks ul.products{gap:46px 14px}
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product a.woocommerce-LoopProduct-link{grid-template-columns:minmax(0,1fr)}
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product .woocommerce-loop-product__title{margin-top:16px}
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product .price{grid-column:1;margin-top:6px;text-align:left}
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product .price .prix-annonce{max-width:none;text-align:left}
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product .button{padding:11px 18px 11px 14px;font-size:12.5px}
  /* deux colonnes : le menu de partage (230 px) est plus large que la carte, celui de la colonne de droite s'ouvre donc vers la gauche */
  body.archive.woocommerce-page .wp-site-blocks ul.products li.product:nth-child(2n) .carte__actions .partage{left:auto;right:0}
}

/* Boutique : le nom de chaque collection en haut de la page, pour choisir celle qu'on veut (demande du client) */
.boutique__collections{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 34px;margin:22px 0 30px}   /* les noms sont centrés sur la page (demande du client) */
.boutique__collections a{padding:7px 0;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--graphite);text-decoration:none;border-bottom:1px solid transparent;transition:color .3s,border-color .3s}
.boutique__collections a:hover,.boutique__collections a[aria-current]{color:var(--noir);border-color:var(--noir)}
@media (max-width:600px){.boutique__collections{gap:4px 22px;margin:18px 0 22px}.boutique__collections a{font-size:11px;letter-spacing:.18em}}
/* Crème & Délice — rangée des catégories en manège (voir boucle.js) : cartes à plat, toutes de la même taille, sur une piste qui tourne sans fin ; seule la photo glisse un peu dans son cadre selon sa distance au centre */
.cat-rangee.cat-boucle{--cw:clamp(240px,19vw,380px);display:block;padding:0;overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.cat-rangee.cat-boucle.est-glisse{cursor:grabbing}
.cat-piste{position:relative;display:flex;gap:10px;width:max-content;padding-left:var(--gut);will-change:transform}
.cat-boucle .cat{flex:0 0 var(--cw)!important;min-width:0}
/* la photo est un peu plus large que sa carte : elle peut glisser de quelques pixels (--px) sans montrer ses bords */
.cat-boucle .cat img{inset:0 auto 0 -6%;width:112%;max-width:none;translate:none}   /* la valeur est posée directement par boucle.js */
.cat-boucle .cat > .wp-block-image a::after{cursor:grab}
.cat-boucle.est-glisse .cat > .wp-block-image a::after{cursor:grabbing}
/* pendant que la rangée bouge, les cartes ne reçoivent plus le survol : pas de zoom ni de vidéo qui se déclenchent au passage sous le curseur */
.cat-boucle.est-mouvement .cat-piste{pointer-events:none}
/* l'indication « Drag » et la barre de progression servent aussi au grand écran */
.categories .cat-bas{display:flex}
@media (max-width:760px){.cat-rangee.cat-boucle{--cw:62vw}}
@media (prefers-reduced-motion:reduce){.cat-boucle .cat{transition:none}.cat-boucle .cat img{translate:none}}

/* ---------- accueil (04) « Signature creations » : même mise en page que « Savoir-faire » de L'Atelier (voir animations.js, bloc « créations ») ----------
   un premier panneau (numéro, titre, lien), puis un panneau par produit : grande photo, numéro (01), nom, prix ; des filets verticaux entre les panneaux ; le tout défile de côté, épinglé */
html.piste-epinglee .creations__collant{padding:0;justify-content:stretch}
html.piste-epinglee .creations__scene{flex:1;display:flex;margin:0;min-height:0}
html.piste-epinglee .creations__progression{display:none}
html.piste-epinglee .creations__scene .piste{flex:1 1 auto;width:100%;min-width:0;display:flex;align-items:stretch;gap:0;padding:0 0 0 var(--gut)}
/* indice en bas de la section : « [ Faire glisser ] » et une ligne qui se remplit (animations.js), comme celui des collections avant */
html.piste-epinglee .crea-bas{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(14px,2.6vh,30px);z-index:3;display:flex;align-items:center;gap:22px;pointer-events:none}
html.piste-epinglee .crea-bas__indice{font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;white-space:nowrap}
html.piste-epinglee .crea-bas__ligne{flex:1;height:1px;background:var(--trait)}
html.piste-epinglee .crea-bas__ligne i{display:block;height:1px;background:var(--noir);transform:scaleX(.04);transform-origin:left}
html.piste-epinglee{--crea-haut:100px;--crea-photo:clamp(260px,calc(100svh - var(--crea-haut) - 374px),620px)}   /* --crea-haut : hauteur de l'en-tête fixe, sous lequel le panneau est centré ; la photo laisse la place du texte et du bouton */
@media (max-width:1000px){html.piste-epinglee{--crea-haut:76px}}
@media (max-width:760px){html.piste-epinglee{--crea-haut:66px}}
@media (max-width:600px){html.piste-epinglee{--crea-haut:62px}}
html.piste-epinglee .crea-tete{flex:none;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:calc(100% - min(50vw,860px));padding:96px clamp(26px,3.4vw,60px) 40px 0}   /* le panneau de tête prend tout ce que le premier produit laisse : à l'arrivée on ne voit que le premier produit, collé au bord droit ; le suivant entre en le poussant vers la gauche (ordinateur et tablette ; sur téléphone voir plus bas) */
html.piste-epinglee .crea-tete .tete-section{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0}
html.piste-epinglee .crea-tete .tete-section::before{display:none}
html.piste-epinglee .crea-tete .tete-section__idx{font-size:12px;letter-spacing:.26em}
html.piste-epinglee .crea-tete .tete-section__nom{margin:22px 0 0;font-size:clamp(34px,4.6vw,86px);font-weight:200;line-height:1.02;letter-spacing:.015em;text-transform:uppercase;max-width:10ch}
html.piste-epinglee .crea-m{display:inline-block;white-space:nowrap}
html.piste-epinglee .crea-l{display:inline-block}
html.piste-epinglee .crea-tete .tete-section__lien{margin:clamp(20px,3.4vh,34px) 0 0}
html.piste-epinglee .wp-site-blocks .piste > .boutique-liste{flex:none;display:flex;width:max-content;min-width:0}
html.piste-epinglee .wp-site-blocks .piste .woocommerce{display:flex}
html.piste-epinglee .wp-site-blocks .piste ul.products{display:flex;flex-wrap:nowrap;align-items:stretch;gap:0;width:max-content;margin:0;padding:0;counter-reset:crea}
html.piste-epinglee .wp-site-blocks .piste ul.products::before,html.piste-epinglee .wp-site-blocks .piste ul.products::after{display:none}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product{flex:none!important;display:flex;flex-direction:column;align-items:stretch;justify-content:center;float:none!important;width:min(50vw,860px)!important;margin:0 0 56px!important;padding:calc(var(--crea-haut) + 28px) clamp(26px,3.4vw,60px) 28px!important;border-left:1px solid var(--trait);text-align:left}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product a.woocommerce-LoopProduct-link{display:grid!important;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"photo photo" "titre prix";column-gap:24px;row-gap:0;align-items:start}   /* la photo, puis le nom à gauche (sur une ligne) et le prix tout à droite ; plus de numéro de produit */
html.piste-epinglee .wp-site-blocks .piste ul.products li.product a img{grid-area:photo;display:block;width:100%!important;height:var(--crea-photo)!important;max-width:none;margin:0!important;object-fit:cover;box-shadow:none}
/* la photo est dans un cadre (créé par animations.js) : il s'ouvre de la droite vers la gauche, l'image s'y dézoome ; sans le script, l'image reste seule à sa place */
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .crea-photo{grid-area:photo;display:block;height:var(--crea-photo);overflow:hidden}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product a .crea-photo img{height:100%!important}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .woocommerce-loop-product__title{grid-area:titre;align-self:baseline;margin:22px 0 0;padding:0;font-size:clamp(18px,1.55vw,26px);font-weight:300;line-height:1.15;letter-spacing:.02em;text-transform:uppercase}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .price{grid-area:prix;align-self:baseline;justify-self:end;display:block;margin:22px 0 0;text-align:right;white-space:nowrap;font-size:clamp(14px,1.1vw,17px);line-height:1.5;color:var(--graphite)}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .wc-stripe-bnpl-shop-message:empty{display:none}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .carte__court{max-width:none;width:100%;margin:14px 0 0;font-style:italic;font-size:clamp(14px,1.05vw,16px);line-height:1.5;color:var(--graphite);text-align:left;-webkit-line-clamp:3}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .carte__actions{position:relative;justify-content:flex-start;margin:14px 0 0}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .carte__actions .ecran__actions{margin:-6px 0 -6px -9px}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .carte__actions .ecran__bulle,html.piste-epinglee .wp-site-blocks .piste ul.products li.product .carte__actions .partage{top:auto;bottom:calc(100% + 12px);left:0;translate:none}
/* bouton « Order » : noir et blanc, en pilule (à la demande du client, comme la référence), de toute la largeur de la photo (comme le texte au-dessus) */
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .crea-commander{align-self:stretch;width:100%;margin:24px 0 0;padding:16px 20px 15px;border:1px solid var(--noir);border-radius:999px;background:transparent;color:var(--noir);font:inherit;font-size:12px;font-weight:500;letter-spacing:.26em;line-height:1;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .crea-commander:hover,html.piste-epinglee .wp-site-blocks .piste ul.products li.product .crea-commander:focus-visible{background:var(--noir);color:#fff;outline:0}
html.piste-epinglee .wp-site-blocks .piste ul.products li.product .crea-commander:disabled{opacity:.6;cursor:wait}
@media (max-width:900px){
  html.piste-epinglee .crea-tete{width:72vw;padding:82px 24px 28px 0}
  html.piste-epinglee .crea-tete .tete-section__nom{font-size:clamp(32px,10vw,56px)}
  html.piste-epinglee{--crea-photo:clamp(200px,calc(100svh - var(--crea-haut) - 374px),420px)}
  html.piste-epinglee .wp-site-blocks .piste ul.products li.product{width:76vw!important;margin-bottom:52px!important;padding:calc(var(--crea-haut) + 22px) 20px 22px!important}
  html.piste-epinglee .wp-site-blocks .piste ul.products li.product .woocommerce-loop-product__title{margin-top:18px;font-size:clamp(16px,4.6vw,22px)}
  html.piste-epinglee .wp-site-blocks .piste ul.products li.product .price{margin-top:18px}
}


/* recherche plein écran (ouverte par assets/recherche.js depuis le lien « Search » de l'en-tête) */
.recherche{position:fixed;inset:0;z-index:100000;display:flex;flex-direction:column;justify-content:center;padding:0 var(--gut);background:#fff;color:var(--noir)}
.recherche[hidden]{display:none}
.recherche__fermer{position:absolute;top:calc(28px + var(--adminbar,0px));right:var(--gut);padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:inherit;font-size:12px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.recherche__fermer:hover{opacity:.5}
.recherche__forme{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;align-items:end;max-width:1180px;width:100%;margin:0 auto}
.recherche__etiquette{grid-column:1/-1;margin-bottom:18px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--rouge)}
.recherche__champ{width:100%;padding:0 0 14px;border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;color:inherit;font-family:inherit;font-size:clamp(30px,5vw,84px);font-weight:300;letter-spacing:.04em;text-transform:uppercase;line-height:1.1;outline:0;-webkit-appearance:none;appearance:none}
.recherche__champ::placeholder{color:#c9c9c9}
.recherche__champ::-webkit-search-cancel-button{display:none}
.recherche__envoyer{padding:0 0 16px;border:0;background:none;color:inherit;font:inherit;font-size:12px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;white-space:nowrap}
.recherche__envoyer:hover{opacity:.5}
.recherche__aide{max-width:1180px;width:100%;margin:22px auto 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
@media (max-width:760px){
  .recherche__forme{grid-template-columns:1fr}
  .recherche__envoyer{justify-self:start;margin-top:22px;padding-bottom:0}
}

/* =====================================================================
   Tiroir panier (assets/panier.js) : il s'ouvre à droite, SOUS l'en-tête, et repousse le contenu de la page vers la gauche
   (l'en-tête ne bouge pas),
   d'une largeur de 16,2 vw : l'espace vide à gauche de la photo sur la fiche produit (marge + rail + écart = 18,6 vw) moins la marge de page
   (2,4 vw), de sorte qu'un peu d'espace reste à gauche de la photo. La page reste défilable pendant que le tiroir est ouvert.
   La page glisse avec la propriété « translate » (sans conflit avec les transformations de GSAP).
   ===================================================================== */
:root{--panier-l:max(260px,16.2vw);--poussee:min(var(--panier-l),16.2vw);--panier-e:.8s cubic-bezier(.7,0,.2,1)}

.wp-site-blocks > :not(header),.wp-site-blocks > footer > *{transition:translate var(--panier-e)}
html.panier-ouvert body.single-product .wp-site-blocks > :not(header):not(footer),html.panier-ouvert body.single-product .wp-site-blocks > footer > *{translate:calc(var(--poussee) * -1) 0}

.panier{position:fixed;top:var(--panier-haut,calc(var(--adminbar,0px) + 76px));right:0;bottom:0;z-index:95;display:flex;flex-direction:column;width:var(--panier-l);visibility:hidden;translate:100% 0;background:#fff;color:var(--noir);border-left:1px solid var(--trait);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;transition:translate var(--panier-e),visibility 0s linear var(--panier-e)}
.panier:focus{outline:0}
.panier__fermer:focus-visible,.panier__bouton:focus-visible,.panier__retirer:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.panier::-webkit-scrollbar{display:none}
html.panier-ouvert .panier{visibility:visible;translate:0 0;transition:translate var(--panier-e),visibility 0s}

.panier__haut{display:flex;justify-content:space-between;align-items:baseline;padding:30px 28px 0}
.panier__titre{font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.panier__fermer{padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:inherit;font-size:12px;letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.panier__fermer:hover{opacity:.5}

.panier__liste{flex:1;margin:34px 0 0;padding:0 28px;list-style:none}
.panier__ligne{display:grid;grid-template-columns:76px minmax(0,1fr) auto;column-gap:16px;align-items:start;padding:18px 0;border-top:1px solid var(--trait);transition:opacity .3s}
.panier__ligne.est-en-cours{opacity:.4;pointer-events:none}
.panier__photo{display:block;aspect-ratio:4/5;background:#f2f2f2;overflow:hidden}
.panier__photo img{display:block;width:100%;height:100%;object-fit:cover}
.panier__info{display:flex;flex-direction:column;gap:10px;min-width:0}
.panier__nom{font-size:13px;letter-spacing:.12em;text-transform:uppercase;line-height:1.35}
.panier__nom:hover{color:var(--rouge)}
.panier__qte{display:inline-flex;align-items:center;gap:2px;align-self:flex-start}
.panier__qte::before{content:"[";font-size:26px;font-weight:200;line-height:1}
.panier__qte::after{content:"]";font-size:26px;font-weight:200;line-height:1}
.panier__bouton{width:26px;height:26px;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:16px;line-height:1;cursor:pointer}
.panier__bouton:hover{opacity:.5}
.panier__nombre{min-width:20px;font-size:14px;text-align:center}
.panier__retirer{align-self:flex-start;padding:0 0 2px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--gris);font:inherit;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.panier__retirer:hover{opacity:.5}
.panier__montant{font-size:13px;letter-spacing:.04em;white-space:nowrap}

.panier__pied{padding:22px 28px 30px;border-top:1px solid var(--noir)}
.panier__total{display:flex;justify-content:space-between;margin:0 0 6px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.panier__note{margin:0 0 22px;font-size:12px;line-height:1.55;color:var(--gris)}
.panier__commander{display:flex;align-items:center;justify-content:center;height:64px;background:var(--noir);color:#fff;font-size:12px;letter-spacing:.34em;text-transform:uppercase;transition:letter-spacing .5s cubic-bezier(.2,.7,.2,1)}
.panier__commander:hover{letter-spacing:.4em}
.panier__continuer{display:flex;align-items:center;justify-content:center;width:100%;height:56px;margin:12px 0 0;padding:0 20px;border:1px solid var(--noir);background:transparent;color:var(--noir);font:inherit;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;cursor:pointer;transition:background .4s,color .4s}
.panier__continuer:hover,.panier__continuer:focus-visible{background:var(--noir);color:#fff;outline:0}
html.panier-calque .panier__continuer{height:68px;margin-top:14px;font-size:12px}
@media (max-width:760px){html.panier-calque .panier__continuer{height:56px}}
.panier__lien{display:table;margin:20px auto 0;padding-bottom:3px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.panier__lien:hover{color:var(--rouge)}
.panier__message{min-height:16px;margin:14px 0 0;font-size:12px;color:var(--rouge)}
.panier__vide{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 28px 80px;font-size:15px;color:var(--graphite)}
.panier__vide p{margin:0 0 6px}
.panier__vide .panier__lien{margin:14px 0 0}

/* autres pages que la fiche produit : le panier se superpose à la page, qui se floute (serotoninn : panneau de 33,6 vw glissant depuis la droite, voile de 0,6 s) */
.panier-voile{position:fixed;inset:0;z-index:94;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s linear .6s}
html.panier-calque.panier-ouvert .panier-voile{opacity:1;visibility:visible;transition:opacity .6s,visibility 0s}
html.panier-calque.panier-ouvert{overflow:hidden;scrollbar-gutter:stable}
html.panier-calque .panier{top:var(--adminbar,0px);width:clamp(440px,33.6vw,780px);translate:calc(100% + 24px) 0;border-left:0}
html.panier-calque.panier-ouvert .panier{translate:0 0}
html.panier-calque .panier__haut{padding:42px 48px 0}
html.panier-calque .panier__titre{font-size:14px}
html.panier-calque .panier__fermer{font-size:13px}
html.panier-calque .panier__liste{margin-top:52px;padding:0 48px}
html.panier-calque .panier__ligne{grid-template-columns:150px minmax(0,1fr) auto;column-gap:28px;padding:28px 0}
html.panier-calque .panier__info{gap:14px}
html.panier-calque .panier__nom{font-size:15px}
html.panier-calque .panier__montant{font-size:16px}
html.panier-calque .panier__qte::before,html.panier-calque .panier__qte::after{font-size:34px}
html.panier-calque .panier__bouton{width:30px;height:30px;font-size:18px}
html.panier-calque .panier__nombre{min-width:24px;font-size:16px}
html.panier-calque .panier__retirer{font-size:11.5px}
html.panier-calque .panier__pied{padding:32px 48px 44px}
html.panier-calque .panier__total{margin-bottom:10px;font-size:14px}
html.panier-calque .panier__note{margin-bottom:28px;font-size:13px}
html.panier-calque .panier__commander{height:88px;font-size:13px}
html.panier-calque .panier__lien{margin-top:26px;font-size:12px}
html.panier-calque .panier__vide{padding:0 48px 100px;font-size:18px}

/* formulaires de la page « Before you order » (voir acces.css) : champs, boutons, messages — mêmes gabarits que l'ancienne fenêtre de connexion (archives/panier-avec-fenetre-connexion-9.7.1.css) */
.connexion__oubli:focus-visible,.connexion__bouton:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.connexion__t{margin:0 0 30px;font-size:15px;font-weight:500;letter-spacing:.18em;line-height:1.5;text-transform:uppercase}
.connexion__champ{display:block;margin:0 0 28px}
.connexion__champ span{display:block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gris)}
.connexion__champ input{display:block;width:100%;padding:12px 0 10px;border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;font-size:16px;outline:0;transition:border-color .3s,box-shadow .3s}
.connexion__champ input:focus{border-bottom-color:var(--rouge);box-shadow:0 1px 0 var(--rouge)}
.connexion__oubli{display:inline-block;margin:-6px 0 30px;padding-bottom:2px;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gris)}
.connexion__oubli:hover{color:var(--rouge)}
.connexion__message{min-height:18px;margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--rouge)}
.connexion__bouton{display:flex;align-items:center;justify-content:center;width:100%;height:72px;padding:0 16px;border:0;border-radius:0;background:var(--noir);color:#fff;font:inherit;font-size:12px;letter-spacing:.34em;text-transform:uppercase;text-align:center;cursor:pointer;transition:letter-spacing .5s cubic-bezier(.2,.7,.2,1)}
.connexion__bouton:hover{letter-spacing:.4em}
.connexion__bouton:disabled{opacity:.5;cursor:default}
.connexion__texte{flex:1;margin:0 0 28px;font-size:14px;line-height:1.65;color:var(--graphite)}
.connexion__case{display:flex;align-items:flex-start;gap:12px;margin:8px 0 34px;font-size:13px;line-height:1.55;color:var(--graphite);cursor:pointer}
.connexion__case input{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:var(--noir);cursor:pointer}
.connexion__note{margin:22px 0 0;font-size:12px;line-height:1.6;color:var(--gris)}
.connexion__note a{border-bottom:1px solid currentColor}
.connexion__note a:hover{color:var(--rouge)}
.connexion__case input:focus-visible{outline:1px solid currentColor;outline-offset:5px}

/* petit écran : le tiroir recouvre la page au lieu de la repousser */
@media (max-width:760px){
  :root{--panier-l:min(100vw,420px);--poussee:0px}
  html.panier-ouvert body.single-product .wp-site-blocks > :not(header):not(footer),html.panier-ouvert body.single-product .wp-site-blocks > footer > *{translate:none}
  .panier{top:var(--adminbar,0px)}
  html.panier-calque .panier{width:min(100vw,460px)}
  html.panier-calque .panier__haut{padding:30px 28px 0}
  html.panier-calque .panier__liste{margin-top:34px;padding:0 28px}
  html.panier-calque .panier__ligne{grid-template-columns:96px minmax(0,1fr) auto;column-gap:18px;padding:20px 0}
  html.panier-calque .panier__pied{padding:24px 28px 30px}
  html.panier-calque .panier__commander{height:68px}
}
@media (prefers-reduced-motion:reduce){
  .wp-site-blocks > :not(header),.wp-site-blocks > footer > *,.panier,.panier-voile{transition:none}
}

/* mode « créneau seul » : le tiroir ouvert par « Modifier » (page Paiement) ne montre que le calendrier et « Confirm » : ni articles, ni total, ni points, ni bouton de paiement, ni « View bag » */
.panier__pied > button.panier__confirmer{display:none;width:100%;border:0;cursor:pointer;font-family:inherit}
html.panier-retrait-seul .panier__liste,
html.panier-retrait-seul .panier__total,
html.panier-retrait-seul .panier__note,
html.panier-retrait-seul .panier__pied > a.panier__commander,
html.panier-retrait-seul .panier__pied > a.panier__lien,
html.panier-retrait-seul .panier__pied > button.panier__continuer{display:none}
html.panier-retrait-seul .panier__pied > button.panier__confirmer{display:flex}
html.panier-retrait-seul .panier__pied{border-top:0;padding-top:8px}
html.panier-retrait-seul .panier__retrait .retrait__titre{display:none}   /* le titre « (Cueillette) » est déjà en haut du tiroir */

/* Pâtisserie Crème & Délice — sélecteur de date et de créneau de retrait (tiroir panier et page Panier ; pas sur la page Paiement). Noir et blanc, comme tous les boutons. */
.retrait{margin:0 0 26px;text-align:left}
.retrait__titre{margin:0 0 6px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.retrait__note{margin:0 0 16px;font-size:12.5px;font-weight:400;line-height:1.55;color:var(--graphite)}
/* le mois à gauche, les heures du jour choisi à droite (en colonne tant que la place manque : tiroir, téléphone) */
.retrait__planche{display:grid;gap:18px}
.retrait__planche[hidden]{display:none}
.retrait__barre{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}
.retrait__mois{margin:0;font-size:16px;line-height:1.2;letter-spacing:.02em}
.retrait__mois strong{font-weight:500}
.retrait__mois span{font-weight:300}
.retrait__fleches{display:flex;gap:6px}
.retrait__fleche{display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid #cfcfcf;border-radius:0;background:transparent;color:var(--noir);cursor:pointer;transition:border-color .2s}
.retrait__fleche:hover:not(:disabled){border-color:var(--noir)}
.retrait__fleche:disabled{opacity:.3;cursor:default}
.retrait__semaine,.retrait__dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.retrait__semaine{margin:0 0 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.retrait__date,.retrait__ferme,.retrait__trou{height:40px}
.retrait__date,.retrait__ferme{display:grid;place-items:center;font:inherit;font-size:14px;line-height:1}
.retrait__date{padding:0;border:0;border-radius:0;background:#efefef;color:var(--noir);cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.retrait__date:hover{box-shadow:inset 0 0 0 1px var(--noir)}
.retrait__date[aria-checked="true"]{background:var(--noir);color:#fff;box-shadow:none}
.retrait__ferme{color:#767676}
.retrait__jour{padding-top:16px;border-top:1px solid var(--trait)}
.retrait--sans-date .retrait__jour{display:none}
.retrait__jour-tete{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 6px}
.retrait__jour-titre{margin:0;font-size:16px;line-height:1.2;letter-spacing:.02em}
.retrait__jour-titre strong{font-weight:500}
.retrait__jour-titre span{font-weight:300}
.retrait__legende,.retrait__astuce{margin:0 0 12px;font-size:12px;line-height:1.5;color:var(--graphite)}
.retrait__legende[hidden],.retrait__astuce[hidden]{display:none}
.retrait__heures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.retrait__heures[hidden]{display:none}
.retrait__heure{height:42px;padding:0 4px;border:1px solid #cfcfcf;border-radius:0;background:transparent;color:var(--noir);font:inherit;font-size:12.5px;letter-spacing:.04em;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.retrait__heure:hover{border-color:var(--noir)}
.retrait__heure[aria-checked="true"]{background:var(--noir);border-color:var(--noir);color:#fff}
.retrait__date:focus-visible,.retrait__heure:focus-visible,.retrait__fleche:focus-visible{outline:2px solid var(--noir);outline-offset:2px}
/* assez de place (classe posée par retrait.js d'après la largeur mesurée, y compris quand le sélecteur apparaît après coup) : le mois à gauche, les heures à droite */
.retrait--large .retrait__planche{grid-template-columns:minmax(0,1fr) 270px;gap:0;min-height:460px;border:1px solid var(--trait)}
.retrait--large .retrait__calendrier{padding:24px}
.retrait--large .retrait__semaine,.retrait--large .retrait__dates{gap:6px}
.retrait--large .retrait__date,.retrait--large .retrait__ferme,.retrait--large .retrait__trou{height:auto;aspect-ratio:1}
.retrait--large .retrait__jour,.retrait--large.retrait--sans-date .retrait__jour{display:block;position:relative;padding:0;border-top:0;border-left:1px solid var(--trait)}
.retrait--large .retrait__jour-int{position:absolute;inset:0;display:flex;flex-direction:column;padding:24px 24px 0}
.retrait--large .retrait__heures{grid-template-columns:1fr;flex:1;min-height:0;overflow-y:auto;padding:0 0 24px;scrollbar-width:thin}
.retrait__resume{margin:14px 0 0;font-size:12px;letter-spacing:.06em;line-height:1.5;color:var(--graphite)}
.retrait__resume.est-fait{color:var(--noir);font-weight:500}
.retrait__message{min-height:16px;margin:8px 0 0;font-size:12px;line-height:1.5;color:var(--rouge)}
.retrait__message:empty{min-height:0;margin:0}
.retrait.est-secoue{animation:retrait-secoue .42s cubic-bezier(.36,.07,.19,.97)}
@keyframes retrait-secoue{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}
@media (prefers-reduced-motion:reduce){.retrait.est-secoue{animation:none}}
/* page Panier : le sélecteur occupe le haut de la page, avant le bloc WooCommerce */
.retrait-page{max-width:760px;margin:0 0 40px}
.retrait-page[hidden]{display:none}
/* page Paiement : pas de calendrier ; un court avis près du bouton « Place order » (avec un lien vers le panier) après un clic bloqué faute de créneau */
.retrait-avis{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;max-width:760px;margin:0 0 32px;padding:16px 22px;border:1px solid var(--noir);font-size:14.5px}
.retrait-avis[hidden]{display:none}
.retrait-avis__texte{margin:0}
.retrait-avis__lien{font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--noir);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap}
.retrait-avis.est-secoue,.retrait-resume.est-secoue{animation:retrait-secoue .42s cubic-bezier(.36,.07,.19,.97)}
@media (prefers-reduced-motion:reduce){.retrait-avis.est-secoue,.retrait-resume.est-secoue{animation:none}}
/* tant que rien n'est choisi, les boutons qui mènent au paiement sont grisés (le clic affiche un message, il ne part pas) */
html.retrait-manquant .panier__commander,html.retrait-manquant .wc-block-cart__submit-button,html.retrait-manquant .wc-block-components-checkout-place-order-button,.panier__commander[aria-disabled="true"]{opacity:.35;cursor:not-allowed}
.panier__commander[aria-disabled="true"]:hover{letter-spacing:.34em}
.panier__retrait{margin:0 0 4px}
.panier__points{margin-top:-14px}
@media (max-width:760px){.retrait-page{margin-bottom:28px}}
/* page Paiement : le résumé de la commande dit la date et l'heure choisies, avec « Change » (renvoie au panier) */
.retrait-resume{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px}
.retrait-resume[hidden]{display:none}
.retrait-resume__etiquette{flex:0 0 100%;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
.retrait-resume__valeur{flex:1 1 auto;min-width:0;font-size:15px;font-weight:500;line-height:1.4;color:var(--noir)}
.retrait-resume__lien{flex:none;font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--noir);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.retrait-resume--manque .retrait-resume__valeur{color:var(--rouge);font-weight:400}
.wc-block-components-totals-wrapper.retrait-resume{padding-left:16px;padding-right:16px}   /* même retrait à gauche que les autres lignes du résumé (articles, codes promo, sous-total) */

/* retrait ou livraison : deux boutons côte à côte, le choisi passe au noir (comme les heures) ; le forfait de la livraison s'affiche dessous */
.retrait__mode{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 14px}
.retrait__mode[hidden],.retrait__frais[hidden]{display:none}
.retrait__mode-bouton{height:42px;padding:0 4px;border:1px solid #cfcfcf;border-radius:0;background:transparent;color:var(--noir);font:inherit;font-size:12px;letter-spacing:.2em;text-transform:uppercase;line-height:1;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.retrait__mode-bouton:hover{border-color:var(--noir)}
.retrait__mode-bouton[aria-checked="true"]{background:var(--noir);border-color:var(--noir);color:#fff}
.retrait__mode-bouton:focus-visible{outline:2px solid var(--noir);outline-offset:2px}
.retrait__frais{margin:-4px 0 12px;font-size:12.5px;line-height:1.5;color:var(--graphite)}

/* ---------- page Paiement : bascule Pickup | Delivery (retrait.js) ---------- */
.paie-mode{margin:0 0 40px;text-align:left}
.paie-mode[hidden],.paie-mode__zone[hidden]{display:none}
.paie-mode__titre{margin:0 0 14px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.paie-mode .retrait__mode{margin:0 0 12px}
.paie-mode .retrait__frais{margin:0 0 4px}
.paie-mode__zone{margin:14px 0 0;padding:14px 16px;border:1px solid var(--trait);font-size:14px;line-height:1.6;color:var(--graphite)}
.paie-mode__zone-texte{margin:0 0 8px}
.paie-mode__lien{padding:0 0 2px;border:0;border-bottom:1px solid currentColor;background:none;color:var(--noir);font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.paie-mode__lien:hover{color:var(--rouge)}
.paie-mode__lien:focus-visible{outline:1px solid currentColor;outline-offset:4px}
/* le menu « Shipping options » de WooCommerce est remplacé par la bascule ci-dessus (le tarif se choisit en coulisse, voir retrait.js) */
.wp-site-blocks .wc-block-checkout .wp-block-woocommerce-checkout-shipping-methods-block{display:none}
.paie-mode__zone.est-secoue{animation:retrait-secoue .5s}

/* Pâtisserie Crème & Délice — page « Rewards » du compte : la frise de fidélité (1 $ = 1 point).
   Une boîte-cadeau par palier (grise tant qu'elle est verrouillée, noire quand elle s'ouvre à la réclamation, couvercle soulevé une fois réclamée), un trait épais qui se remplit
   avec une pastille « vous êtes ici », et au bout une grande boîte noire scellée dont le « ? » cache le prix surprise. Noir et blanc ; le rouge d'accent habille rubans et chiffres. */
/* WooCommerce plafonne le contenu du compte à 1000 px : la page Rewards prend toute la largeur de la page */
.woocommerce-account.woocommerce-rewards main .woocommerce,.woocommerce-account.woocommerce-rewards .wp-block-post-title{max-width:none}
.fid{--tuile:64px;--tuile-m:80px;--c:40px;--ligne:6px;--icone:40px;--icone-m:58px;--point:18px;--tete:18px;margin:0 0 40px}   /* tailles de la frise : --c est la hauteur du trait, au milieu des boîtes */
.fid__tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,310px);gap:28px 40px;align-items:end;margin:0 0 6px}
.fid__titre{margin:0 0 6px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.fid__points{display:flex;align-items:baseline;gap:12px;margin:0 0 8px}
.fid__points b{font-size:clamp(60px,7.4vw,108px);font-weight:200;line-height:.95;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.fid__points span{font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.fid__pourcent{margin:0 0 8px;font-size:14px;font-weight:400;letter-spacing:.04em}
.fid__pourcent b{color:var(--rouge);font-weight:500}
.fid__regle{margin:0;font-size:13px;font-weight:400;line-height:1.6;color:var(--graphite)}
.fid__pret{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase}
.fid__pret i{width:8px;height:8px;border-radius:50%;background:var(--rouge);animation:fid-halo-rouge 1.8s ease-out infinite}
@keyframes fid-halo-rouge{0%{box-shadow:0 0 0 0 rgba(199,44,72,.45)}70%,100%{box-shadow:0 0 0 9px rgba(199,44,72,0)}}

/* le prochain cadeau : sa boîte, ce qu'il reste, une petite barre entre le palier d'avant et celui-là */
.fid__suivant{padding:18px 20px 16px;border:1px solid var(--noir)}
.fid__suivant-titre{margin:0 0 12px;font-size:11px;letter-spacing:.24em;text-transform:uppercase}
.fid__suivant-corps{display:flex;align-items:center;gap:14px}
.fid__suivant-icone{flex:none;display:grid;place-items:center;width:54px;height:54px;background:#000;color:#fff;--t-ruban:var(--rouge)}
.fid__suivant-icone .fid__cadeau{width:36px;height:36px}
.fid__suivant-nom{margin:0 0 3px;font-size:13px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.fid__suivant-reste{margin:0;font-size:13px;font-weight:400}
.fid__suivant-reste b{color:var(--rouge);font-weight:500}
.fid__mini{height:6px;margin:16px 0 8px;background:#e7e7e7;overflow:hidden}
.fid__mini i{display:block;height:100%;width:calc(var(--w) * 100%);background:linear-gradient(135deg,#000 25%,#2b2b2b 25% 50%,#000 50% 75%,#2b2b2b 75%);background-size:14px 14px;transition:width 1.4s cubic-bezier(.4,0,.2,1) .2s}
.fid__mini-legende{display:flex;justify-content:space-between;align-items:baseline;margin:0;font-size:11px;font-weight:400;letter-spacing:.1em;color:var(--graphite)}
.fid__mini-legende b{color:var(--noir);font-weight:500}
.fid--init .fid__mini i{width:0}

/* la boîte-cadeau (un seul dessin, tous les états) */
.fid__cadeau{width:var(--icone);height:var(--icone);overflow:visible;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.fid__ruban,.fid__boucle{stroke:var(--t-ruban,currentColor);transition:stroke .4s}
.fid__interro{fill:currentColor;stroke:none;font-family:inherit;font-size:16px;font-weight:400;transition:opacity .4s}
.fid__couvercle{transform-box:fill-box;transform-origin:50% 100%;transition:transform .8s cubic-bezier(.3,1.5,.4,1)}

/* la frise : un nœud par colonne, chacun trace le trait qui le relie au suivant (--seg : part remplie, de 0 à 1) */
.fid__frise{--n:5;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));margin:46px 0 22px;padding:0;list-style:none}
.fid__noeud{--t-fond:#fff;--t-bord:#c9c9c9;--t-encre:#a3a3a3;--t-ruban:#bdbdbd;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 8px}
.fid__noeud.est-debloque{--t-fond:#000;--t-bord:#000;--t-encre:#fff;--t-ruban:var(--rouge)}
.fid__noeud.est-reclame{--t-fond:#fff;--t-bord:#000;--t-encre:#000;--t-ruban:var(--rouge)}
.fid__noeud--mystere,.fid__noeud--mystere.est-verrouille{--t-fond:#000;--t-bord:#000;--t-encre:#fff;--t-ruban:#8a8a8a}
.fid__noeud--mystere.est-debloque,.fid__noeud--mystere.est-reclame{--t-fond:#000;--t-bord:#000;--t-encre:#fff;--t-ruban:var(--rouge)}
.fid__noeud::before,.fid__noeud::after{content:"";position:absolute;top:calc(var(--c) - var(--ligne) / 2);left:50%;height:var(--ligne)}
.fid__noeud::before{width:100%;background:#e7e7e7}
.fid__noeud::after{width:calc(var(--seg) * 100%);background:linear-gradient(135deg,#000 25%,#2b2b2b 25% 50%,#000 50% 75%,#2b2b2b 75%);background-size:14px 14px}
.fid__noeud:last-child::before,.fid__noeud:last-child::after{display:none}
.fid__noeud.est-en-cours::after{animation:fid-defile .9s linear infinite}
@keyframes fid-defile{to{background-position:14px 0}}

.fid__marque{position:relative;z-index:1;display:grid;place-items:center;flex:none;width:var(--tuile);height:var(--tuile);margin-top:calc(var(--c) - var(--tuile) / 2);border:1px solid var(--t-bord);background:var(--t-fond);color:var(--t-encre);transition:background .35s,color .35s,border-color .35s}
.fid__noeud--depart .fid__marque{width:var(--point);height:var(--point);margin-top:calc(var(--c) - var(--point) / 2);border:0;border-radius:50%;background:#000}
.fid__noeud--mystere .fid__marque{width:var(--tuile-m);height:var(--tuile-m);margin-top:0}
.fid__noeud--mystere .fid__cadeau{width:var(--icone-m);height:var(--icone-m)}
.fid__noeud.est-debloque:not(.fid__noeud--depart) .fid__marque{animation:fid-halo 2.2s ease-out infinite}
.fid__noeud.est-debloque:not(.fid__noeud--depart) .fid__couvercle{animation:fid-saute 2.8s ease-in-out infinite}
.fid__noeud.est-reclame .fid__couvercle{transform:translate(12px,-14px) rotate(18deg)}
.fid__noeud.est-reclame .fid__interro{opacity:0}
@keyframes fid-halo{0%{box-shadow:0 0 0 0 rgba(0,0,0,.38)}70%,100%{box-shadow:0 0 0 16px rgba(0,0,0,0)}}
@keyframes fid-saute{0%,60%,100%{transform:translateY(0) rotate(0)}68%{transform:translateY(-5px) rotate(-3deg)}76%{transform:translateY(0) rotate(0)}84%{transform:translateY(-2px)}92%{transform:translateY(0)}}

/* pastilles : un cadenas sur les boîtes verrouillées, une coche sur celles qui sont réclamées */
.fid__badge{position:absolute;z-index:2;right:-8px;bottom:-8px;display:none;place-items:center;width:22px;height:22px;border-radius:50%}
.fid__badge--verrou{border:1px solid #cfcfcf;background:#fff;color:#8f8f8f}
.fid__badge--verrou svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.fid__badge--coche{border:2px solid #fff;background:#000}
.fid__badge--coche::after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.fid__noeud.est-verrouille .fid__badge--verrou,.fid__noeud.est-reclame .fid__badge--coche{display:grid}
.fid__noeud--mystere .fid__badge{right:-11px;bottom:auto;top:-11px;width:30px;height:30px}
.fid__noeud--mystere .fid__badge--verrou{border-color:#000;color:#000}
.fid__noeud--mystere .fid__badge--verrou svg{width:14px;height:14px}
.fid__noeud--mystere .fid__badge--coche{border-color:#fff}

/* « vous êtes ici » : une pastille au bout du trait rempli */
.fid__tete-barre{position:absolute;z-index:2;top:var(--c);left:calc(50% + var(--seg) * 100%);width:var(--tete);height:var(--tete);margin:calc(var(--tete) / -2) 0 0 calc(var(--tete) / -2);border:calc(var(--tete) * .22) solid #000;border-radius:50%;background:#fff;animation:fid-halo 2s ease-out infinite}

/* au chargement (JS actif) : tout est vide, puis le trait se remplit nœud après nœud à vitesse constante, la pastille le suit et chaque boîte s'allume à l'arrivée du trait */
.fid--init .fid__noeud::after{width:0}
.fid--init .fid__tete-barre{left:50%;opacity:0}
.fid--init .fid__noeud:not(.fid__noeud--depart):not(.fid__noeud--mystere){--t-fond:#fff;--t-bord:#c9c9c9;--t-encre:#a3a3a3;--t-ruban:#bdbdbd}
.fid--init .fid__noeud:not(.fid__noeud--depart) .fid__couvercle{transform:none;animation:none}
.fid--joue .fid__noeud::after{transition:width calc(var(--seg) * .75s) linear calc(var(--k) * .75s)}
.fid--joue .fid__tete-barre{transition:left calc(var(--seg) * .75s) linear calc(var(--k) * .75s),opacity .2s calc(var(--k) * .75s)}
.fid--joue .fid__noeud:not(.fid__noeud--mystere) .fid__marque{transition:background .35s calc(var(--k) * .75s + .05s),color .35s calc(var(--k) * .75s + .05s),border-color .35s calc(var(--k) * .75s + .05s)}
.fid--joue .fid__noeud.est-reclame .fid__couvercle{transition-delay:calc(var(--k) * .75s + .35s)}

/* l'ouverture : la boîte tremble, le couvercle saute, une gerbe de confettis part (outils/fidelite.js) */
.fid__noeud.est-ouvre .fid__marque{animation:fid-secoue .6s ease-in-out both}
.fid__noeud.est-ouvre .fid__couvercle{animation:none}
@keyframes fid-secoue{0%,100%{transform:translateX(0) rotate(0)}15%{transform:translateX(-4px) rotate(-3deg)}30%{transform:translateX(4px) rotate(3deg)}45%{transform:translateX(-3px) rotate(-2deg)}60%{transform:translateX(3px) rotate(2deg)}80%{transform:translateX(0) scale(1.08)}}
.fid__gerbe{position:absolute;inset:0;z-index:3;pointer-events:none}
.fid__gerbe i{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;animation:fid-gerbe 1.1s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes fid-gerbe{to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.4)}}

.fid__carte{width:100%;max-width:210px;margin-top:calc(var(--tuile-m) + 8px - var(--c) - var(--tuile) / 2)}   /* le texte de toutes les cartes commence à la même hauteur, sous la plus grande boîte */
.fid__noeud--depart .fid__carte{margin-top:calc(var(--tuile-m) + 8px - var(--c) - var(--point) / 2)}
.fid__noeud--mystere .fid__carte{margin-top:8px}
.fid__seuil{display:block;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge)}
.fid__nom{margin:6px 0 8px;font-size:14px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.fid__etat{margin:0 0 10px;font-size:13px;font-weight:400;line-height:1.55;color:var(--graphite)}
.fid__forme{margin:0}
.fid__reclamer,.fid__copier{display:inline-block;border:1px solid var(--noir);border-radius:0;background:transparent;color:var(--noir);padding:10px 18px;font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .2s,color .2s}
.fid__reclamer:hover,.fid__copier:hover{background:var(--noir);color:#fff}
.fid__reclamer:disabled{opacity:.5;cursor:default}
.fid__copier{padding:4px 10px;font-size:10px;letter-spacing:.16em}
.fid__code{margin:0 0 8px}
.fid__code-texte{display:inline-block;border:1px dashed var(--noir);padding:5px 8px;font-size:12px;letter-spacing:.06em;white-space:nowrap}
.fid__aide{margin:0;font-size:12px;font-weight:400;line-height:1.55;color:var(--graphite)}
.fid__message{min-height:18px;margin:6px 0 0;font-size:13px}
.fid__message.est-erreur{color:var(--rouge)}
.fid__histoire{margin-top:36px}
.fid__sous-titre{margin:0 0 10px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.fid__histoire ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--trait)}
.fid__histoire li{display:grid;grid-template-columns:110px 1fr auto;gap:16px;padding:10px 0;border-bottom:1px solid var(--trait);font-size:13px;font-weight:400;color:var(--graphite)}
.fid__histoire b{font-weight:500}
.fid__resume{margin:26px 0 0;font-size:15px}
.fid__resume b{font-weight:500}

@media (min-width:1180px){.fid__nom{min-height:2.6em}}
@media (min-width:901px) and (max-width:1179px){.fid__nom{min-height:3.9em}}   /* fenêtre moyenne : les colonnes sont étroites, un titre peut passer sur trois lignes */   /* deux lignes de titre réservées : « Locked » s'aligne d'une carte à l'autre */
/* grand écran : la page occupe toute la largeur, la frise et les textes grandissent avec elle */
@media (min-width:1180px){
  .fid{--tuile:84px;--tuile-m:108px;--c:54px;--ligne:8px;--icone:56px;--icone-m:78px;--point:22px;--tete:22px}
  .fid__tete{grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:32px 56px}
  .fid__titre{font-size:13px}
  .fid__points{gap:16px}
  .fid__points b{font-size:clamp(72px,9.4vw,144px)}
  .fid__points span{font-size:13px}
  .fid__pourcent{font-size:16px}
  .fid__pret{font-size:13px}
  .fid__regle{font-size:14.5px}
  .fid__suivant{padding:26px 28px 22px}
  .fid__suivant-titre{margin-bottom:16px;font-size:12px}
  .fid__suivant-corps{gap:18px}
  .fid__suivant-icone{width:68px;height:68px}
  .fid__suivant-icone .fid__cadeau{width:46px;height:46px}
  .fid__suivant-nom{font-size:15px}
  .fid__suivant-reste{font-size:15px}
  .fid__mini{height:8px;margin:22px 0 10px}
  .fid__mini-legende{font-size:12px}
  .fid__frise{margin:76px 0 30px}
  .fid__noeud{padding:0 14px}
  .fid__carte{max-width:250px}
  .fid__seuil{font-size:12px}
  .fid__nom{margin:8px 0 10px;font-size:16px}
  .fid__etat{font-size:14.5px}
  .fid__aide{font-size:13px}
  .fid__reclamer{padding:13px 24px;font-size:12px}
  .fid__copier{padding:5px 12px;font-size:11px}
  .fid__code-texte{padding:6px 10px;font-size:13.5px}
  .fid__badge{right:-10px;bottom:-10px;width:26px;height:26px}
  .fid__noeud--mystere .fid__badge{top:-13px;right:-13px;width:34px;height:34px}
  .fid__noeud--mystere .fid__badge--verrou svg{width:16px;height:16px}
  .fid__message{font-size:14px}
  .fid__histoire{margin-top:48px}
  .fid__sous-titre{font-size:13px}
  .fid__histoire li{padding:14px 0;font-size:14.5px}
}
@media (max-width:900px){.fid__tete{grid-template-columns:1fr}}

/* page « Rewards » : la frise s'arrête sur le PROCHAIN cadeau (les suivants sont cachés) ; un bout de trait qui s'estompe après lui dit « ça continue » */
.fid__frise--court{max-width:calc(var(--n) * 270px)}
.fid__noeud.fid__noeud--suite:last-child::before{display:block;width:52%;background:linear-gradient(90deg,#e7e7e7 0,rgba(231,231,231,0) 100%)}

/* téléphone et tablette (jusqu'à 900 px) : la frise se met à la verticale, le trait descend à gauche et les boîtes rapetissent */
@media (max-width:900px){
  .fid__frise{grid-template-columns:1fr;margin-top:30px}
  .fid__frise--court{max-width:none}
  .fid__noeud.fid__noeud--suite{padding-bottom:70px}
  .fid__noeud.fid__noeud--suite:last-child::before{display:block;width:var(--ligne);height:62px;background:linear-gradient(180deg,#e7e7e7 0,rgba(231,231,231,0) 100%)}
  .fid__noeud{flex-direction:row;align-items:flex-start;text-align:left;gap:14px;padding:0 0 32px}
  .fid__noeud::before,.fid__noeud::after{top:calc(32px - 0px);left:calc(32px - var(--ligne) / 2);width:var(--ligne);height:100%}
  .fid__noeud::after{width:var(--ligne);height:calc(var(--seg) * 100%);background-size:14px 14px}
  .fid__noeud.est-en-cours::after{animation:fid-defile-v .9s linear infinite}
  @keyframes fid-defile-v{to{background-position:0 14px}}
  .fid__marque{width:52px;height:52px;margin:6px 6px 0}
  .fid__noeud--depart .fid__marque{width:18px;height:18px;margin:23px 23px 0}
  .fid__noeud--mystere .fid__marque{width:64px;height:64px;margin:0}
  .fid__cadeau{width:34px;height:34px}
  .fid__noeud--mystere .fid__cadeau{width:46px;height:46px}
  .fid__carte,.fid__noeud--depart .fid__carte,.fid__noeud--mystere .fid__carte{max-width:none;margin-top:0}
  .fid__tete-barre{top:calc(32px + var(--seg) * 100%);left:32px}
  .fid--init .fid__noeud::after{width:var(--ligne);height:0}
  .fid--init .fid__tete-barre{top:32px;left:32px}
  .fid--joue .fid__noeud::after{transition:height calc(var(--seg) * .75s) linear calc(var(--k) * .75s)}
  .fid--joue .fid__tete-barre{transition:top calc(var(--seg) * .75s) linear calc(var(--k) * .75s),opacity .2s calc(var(--k) * .75s)}
  .fid__noeud--mystere .fid__badge{right:-6px;top:-6px;width:26px;height:26px}
  .fid__histoire li{grid-template-columns:86px 1fr auto;gap:10px}
}
@media (prefers-reduced-motion:reduce){
  .fid__pret i{animation:none}
  .fid__noeud.est-debloque .fid__marque,.fid__noeud.est-debloque .fid__couvercle,.fid__noeud.est-en-cours::after,.fid__tete-barre,.fid__noeud.est-ouvre .fid__marque{animation:none}
  .fid__couvercle{transition:none}
}

/* compteur de points de l'en-tête, après « Bag » (à droite du sac) : même police que les autres liens ; sur téléphone, où l'en-tête ne garde que « Bag », il reste visible */
.entete__pts .wp-block-navigation-item__content{white-space:nowrap}
.entete__pts-nb{font-weight:500;font-variant-numeric:tabular-nums}
.entete__pts-u{opacity:.75}
@media (max-width:760px){
  .wp-site-blocks .entete__outils .wp-block-navigation-item.entete__pts{display:block}
  .wp-site-blocks .entete__outils .wp-block-navigation-item.entete__pts .wp-block-navigation-item__content{display:inline-flex}
}
/* petits téléphones : l'en-tête est étroit, « pts » cède la place à une petite étoile (le lien porte déjà « Loyalty points » pour les lecteurs d'écran) */
@media (max-width:400px){
  .entete__pts-u{display:none}
  .entete__pts-nb::before{content:"";display:inline-block;width:9px;height:9px;margin-right:5px;background:currentColor;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}
}
@media (max-width:380px){
  .entete__haut:has(.entete__pts) .logo__nom{font-size:10.5px;letter-spacing:.06em;padding-left:.06em}   /* de la place pour un compteur à quatre chiffres */
  .entete__haut:has(.entete__pts){gap:6px}
}

/* la ligne de points du tiroir panier : lisible, comme le reste */
.panier__points{color:var(--graphite);font-weight:400}

/* ====================================================================================================================
   Page « L'Atelier » : un récit qui se lit en défilant (le mouvement est dans assets/histoire.js).
   Sans script, ou avec « réduire les animations », la page est une suite de chapitres posée à plat, entièrement lisible :
   les hauteurs de défilement, les états cachés et les scènes épinglées n'existent que sous .histoire--anime.
   Marges : tout est aligné sur la gouttière du site (--gut) et sur une grille de 12 colonnes ; les photos ne bougent jamais dans la page
   (seule l'image glisse à l'intérieur de son cadre), donc l'espace entre une photo et son texte reste le même.
   ==================================================================================================================== */
.histoire{--gap:clamp(12px,1.6vw,24px);position:relative;overflow-x:clip;background:#fff;color:var(--noir)}
.histoire img{display:block}
.histoire .his-photo{margin:0;overflow:hidden}
.histoire .his-photo img{width:100%;height:100%;object-fit:cover}

/* mots (.his-m) et lettres (.his-l) découpés par le script : les noms « mot » et « lettre » existent déjà ailleurs dans le thème (la lettre d'information) */
.histoire .his-m{display:inline-block;white-space:nowrap;text-indent:0}
.histoire .his-l{display:inline-block;text-indent:0}

/* typographie commune */
.histoire .his-etiquette{display:flex;align-items:center;gap:16px;margin:0 0 24px;font-size:12px;font-weight:400;letter-spacing:.3em;line-height:1.4;text-transform:uppercase}
.histoire .his-etiquette::after{content:"";flex:0 0 clamp(40px,8vw,120px);height:1px;background:currentColor;opacity:.55}
.histoire .his-titre{margin:0;font-size:clamp(34px,5.4vw,96px);font-weight:200;line-height:1.02;letter-spacing:.015em;text-transform:uppercase}
.histoire .his-phrase{margin:0;font-size:clamp(27px,4.5vw,82px);font-weight:200;line-height:1.07;letter-spacing:-.022em;text-indent:clamp(44px,8.4vw,150px);text-wrap:pretty}
.histoire .his-enonce{margin:0;font-size:clamp(22px,2.7vw,48px);font-weight:300;line-height:1.28;letter-spacing:.008em}
.histoire .his-micro{margin:0;font-size:11px;font-weight:400;letter-spacing:.2em;line-height:1.75;text-transform:uppercase}
.histoire .his-texte{margin:0 0 26px;max-width:24em;font-size:clamp(15px,1.25vw,20px);line-height:1.65;color:var(--graphite)}
.histoire .lien-souligne--clair{color:#fff}

/* ============ OUVERTURE : titre et liens à gauche, une grande photo en hauteur à droite ============ */
.his-tete{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:1fr auto;column-gap:var(--gap);row-gap:clamp(20px,4vh,44px);height:calc(100vh - 70px);height:calc(100svh - 70px);min-height:560px;max-height:1100px;padding:clamp(22px,4vh,44px) var(--gut) clamp(24px,4.4vh,48px);background:#fff}
.his-tete__bloc{grid-column:1/9;grid-row:1;display:flex;flex-direction:column;min-height:0}
.his-tete .fil-ariane{margin:0}
.histoire .his-tete__bloc > .his-tete__titre{margin:auto 0 0}
.his-tete__titre{font-size:clamp(36px,6.2vw,118px);font-weight:200;line-height:1;letter-spacing:.012em;text-transform:uppercase;text-wrap:wrap}
.his-t1,.his-t2{display:block}
.his-rot{display:inline-grid;vertical-align:top}
.his-rot__mot{grid-area:1/1;white-space:nowrap}
.his-tete__liens{display:flex;flex-wrap:wrap;gap:clamp(18px,3vw,44px);margin:clamp(26px,5vh,56px) 0 0}
.histoire .his-tete__bloc > .his-tete__liens{margin-bottom:auto}   /* le thème de blocs remet à zéro la marge du dernier enfant : on la rétablit par spécificité */
.his-tete__liens .lien-souligne{display:flex;justify-content:space-between;gap:34px;min-width:clamp(176px,14vw,232px);padding-bottom:10px}
.his-tete__liens .lien-souligne::after{content:"→";letter-spacing:0}
.his-tete__photo{grid-column:9/13;grid-row:1/3;position:relative;margin:0;overflow:hidden;min-height:0}
.his-tete__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 56%}
.his-tete__coin{grid-column:1/8;grid-row:2;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:clamp(18px,2.4vw,40px)}
.his-tete__info{display:grid;grid-template-columns:104px minmax(0,auto);border:1px solid var(--noir)}
.his-tete__case{display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:96px;padding:12px 16px}
.his-tete__case + .his-tete__case{border-left:1px solid var(--noir)}
.his-tete__annee{margin:0;font-size:30px;font-weight:200;line-height:1;letter-spacing:-.01em}
.his-tete__texte{margin:0;max-width:20em;font-size:14px;line-height:1.6;color:var(--graphite)}

/* ============ (01) LE PORT ============ */
.his-intro{padding:clamp(100px,17vh,200px) var(--gut) clamp(90px,14vh,170px);background:#fff}
.his-intro .his-etiquette{margin-bottom:clamp(26px,5vh,54px)}
.his-intro__bas{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:start;margin-top:clamp(70px,12vh,150px);padding-top:clamp(28px,5vh,52px);border-top:1px solid var(--noir)}
.his-intro__bas::before{content:"+";position:absolute;left:50%;top:0;padding:0 16px;background:#fff;font-size:22px;font-weight:200;line-height:1;transform:translate(-50%,-52%)}
.his-intro__bas > .his-micro{grid-column:1/4}
.his-intro__photos{grid-column:4/9;position:relative;width:100%;aspect-ratio:1/1.06}
.his-intro__a{position:absolute;left:0;top:0;width:78%;aspect-ratio:4/5}
.his-intro__b{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:3/4;box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
.his-intro__droite{grid-column:9/13;align-self:end}
.his-intro__droite .his-texte{margin-bottom:28px}

/* ============ LA BANDE ============ */
.his-bande{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);place-items:center;height:clamp(420px,88vh,820px);overflow:hidden;background:#fff}
.his-bande__haut{position:absolute;z-index:3;left:var(--gut);top:clamp(26px,6vh,64px)}
.his-bande__bas{position:absolute;z-index:3;left:0;right:0;bottom:clamp(24px,5vh,52px);text-align:center}
.his-bande__bas::before{content:"↓ "}
.his-bande__photo{grid-area:1/1;z-index:1;width:clamp(160px,22vw,380px);aspect-ratio:3/4;margin:0;overflow:hidden}
.his-bande__photo img{width:100%;height:100%;object-fit:cover}
.his-bande__mots{grid-area:1/1;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0;padding:0 var(--gut);font-size:clamp(34px,8vw,140px);font-weight:200;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase;text-align:center;color:var(--noir)}
.histoire--anime .his-bande__mots{flex-wrap:nowrap;width:max-content;padding:0;font-size:clamp(70px,16vw,290px);line-height:1;white-space:nowrap}
.his-bande__plus{display:inline-block;margin:0 .42em;font-size:.2em;font-weight:200;line-height:1}
.his-bande__mot{display:inline-block}

/* ============ (02) EN BREF ============ */
.his-chiffres{padding:clamp(100px,16vh,190px) var(--gut) clamp(80px,12vh,140px);text-align:center;background:linear-gradient(#fff,#ececec 38%,#e7e7e7)}
.his-chiffres .his-etiquette{justify-content:center}
.his-chiffres .his-etiquette::after{display:none}
.his-chiffres__sous{margin:16px 0 0;font-size:14px;color:var(--graphite)}
.his-chiffres__cartes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin:clamp(50px,9vh,100px) 0 0;perspective:1500px;text-align:left}
.his-carte{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto 1fr auto;grid-template-areas:"tag tag" ". ." "texte n";align-items:end;gap:0 18px;min-height:clamp(380px,64vh,640px);padding:clamp(18px,1.8vw,28px);overflow:hidden;color:#fff;background:#111}
.his-carte > :not(.his-carte__photo){position:relative;z-index:1;margin:0}
.his-carte__photo{position:absolute;inset:0;margin:0}
.his-carte__photo img{width:100%;height:100%;object-fit:cover}
.his-carte__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.42),rgba(0,0,0,.04) 36%,rgba(0,0,0,.7))}
.his-carte__tag{grid-area:tag;align-self:start;font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:uppercase}
.his-carte__texte{grid-area:texte;max-width:17em;font-size:clamp(14px,1.05vw,16px);line-height:1.55}
.his-carte__n{grid-area:n;font-size:clamp(60px,7.4vw,130px);font-weight:200;line-height:.82;letter-spacing:-.03em}
.his-carte--milieu{grid-template-areas:"tag tag" "n n" "texte texte";align-items:center;color:var(--noir);background:#dedede}
.his-carte--milieu .his-carte__n{justify-self:center;align-self:center;display:grid;place-items:center;width:min(58%,260px);aspect-ratio:1;background:#fff;font-size:clamp(40px,4.8vw,84px);letter-spacing:-.02em;line-height:1}
.his-carte--milieu .his-carte__texte{align-self:end;color:var(--graphite)}

/* ============ (03) L'ATELIER : le manifeste de l'accueil (trois phrases, trois photos) ; sa mise en page et son mouvement sont ceux du thème (.manifeste), ici seul l'en-tête est propre à la page ============ */
.his-manifeste-tete{padding:clamp(90px,14vh,170px) var(--gut) clamp(34px,6vh,70px);background:#fff}

/* ============ (04) SAVOIR-FAIRE : trois habitudes ============ */
.his-habitudes{position:relative;background:#fff}
.his-habitudes__piste{display:flex;flex-direction:column;gap:clamp(60px,10vh,120px);padding:clamp(90px,14vh,170px) var(--gut)}
.his-hab--tete .his-titre{font-size:clamp(34px,4.6vw,86px)}
.his-hab__intro{max-width:22em;margin:clamp(18px,3vh,32px) 0 0;font-size:clamp(16px,1.4vw,22px);line-height:1.5}
.histoire .his-hab__photo{aspect-ratio:4/3;margin:0;overflow:hidden}
.his-hab__photo img{width:100%;height:100%;object-fit:cover}
.his-hab__bas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"num num" "titre texte";gap:12px clamp(18px,2vw,34px);margin-top:22px;align-items:start}
.his-hab__num{grid-area:num;margin:0;font-size:12px;font-weight:400;letter-spacing:.26em;color:var(--rouge)}
.his-hab__titre{grid-area:titre;margin:0;font-size:clamp(24px,2.4vw,42px);font-weight:300;line-height:1.05;letter-spacing:.02em;text-transform:uppercase}
.his-hab__texte{grid-area:texte;margin:0;font-size:clamp(14px,1.1vw,17px);line-height:1.6;color:var(--graphite)}
.his-hab--fin .his-hab__phrase{margin:0 0 24px;font-size:clamp(28px,3vw,52px);font-weight:200;line-height:1.1;letter-spacing:.01em}
@media (min-width:901px){
.histoire--anime .his-habitudes{height:calc(100vh + var(--dist,0px))}
.histoire--anime .his-habitudes__scene{position:sticky;top:0;display:flex;align-items:stretch;height:100vh;height:100svh;overflow:hidden}
.histoire--anime .his-habitudes__piste{flex-direction:row;align-items:stretch;gap:0;padding:0 0 0 var(--gut);will-change:transform}
.histoire--anime .his-hab{flex:none;display:flex;flex-direction:column;justify-content:center;width:min(50vw,860px);padding:96px clamp(26px,3.4vw,60px) 40px;border-left:1px solid var(--trait)}
.histoire--anime .his-hab--tete{width:min(42vw,720px);padding-left:0;border-left:0}
.histoire--anime .his-hab--fin{width:min(34vw,520px);padding-right:var(--gut)}
.histoire--anime .his-hab__photo{aspect-ratio:auto;height:min(56svh,620px)}
}

/* ============ (05) ENGAGEMENTS : mots empilés, photo, promesses ============ */
.his-engagements{position:relative;padding:clamp(100px,16vh,200px) var(--gut);background:#0a0a0a;color:#fff}
.his-eng__pile{display:flex;flex-direction:column;align-items:center;margin:clamp(30px,6vh,70px) 0 clamp(50px,9vh,110px);text-align:center}
.his-eng__pile p{margin:0;font-size:clamp(44px,10.5vw,190px);font-weight:200;line-height:.88;letter-spacing:-.025em;text-transform:uppercase}
.his-eng__cartes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,32px)}
.histoire .his-eng__photo{aspect-ratio:4/5;margin:0 0 20px;overflow:hidden}
.his-eng__photo img{width:100%;height:100%;object-fit:cover}
.his-eng__n{margin:0 0 10px;font-size:12px;font-weight:500;letter-spacing:.3em;color:#e0506b}
.his-eng__titre{margin:0 0 10px;font-size:clamp(22px,2.1vw,34px);font-weight:300;line-height:1.05;letter-spacing:.04em;text-transform:uppercase}
.his-eng__texte{max-width:24em;margin:0;font-size:clamp(14px,1.1vw,17px);line-height:1.6;color:rgba(255,255,255,.86)}
.his-eng__compteur{display:none}
@media (min-width:901px){
.histoire--anime .his-engagements{height:640vh;padding:0}
.histoire--anime .his-eng__scene{position:sticky;top:0;display:grid;place-items:center;height:100vh;height:100svh;overflow:hidden}
.histoire--anime .his-eng__haut{position:absolute;z-index:4;left:0;right:0;top:96px;justify-content:center;margin:0}
.histoire--anime .his-eng__haut::after{display:none}
.histoire--anime .his-eng__pile{position:absolute;z-index:3;inset:0;justify-content:center;margin:0;pointer-events:none}
.histoire--anime .his-eng__cartes{position:absolute;inset:0;display:block}
.histoire--anime .his-eng__carte{position:absolute;inset:0;display:grid;place-items:center}
.histoire--anime .his-eng__photo{grid-area:1/1;width:min(36vw,66svh,680px);margin:0;aspect-ratio:1}
.histoire--anime .his-eng__corps{position:absolute;z-index:2;width:min(24vw,380px)}
.histoire--anime .his-eng__carte--1 .his-eng__corps{left:var(--gut);top:32%}
.histoire--anime .his-eng__carte--2 .his-eng__corps{right:var(--gut);bottom:18%}
.histoire--anime .his-eng__carte--3 .his-eng__corps{left:var(--gut);bottom:18%}
.histoire--anime .his-eng__carte--4 .his-eng__corps{right:var(--gut);top:32%}
.histoire--anime .his-eng__titre{font-size:clamp(26px,2.6vw,46px)}
.histoire--anime .his-eng__compteur{position:absolute;z-index:4;left:0;right:0;bottom:clamp(22px,4.4vh,44px);display:flex;align-items:center;justify-content:center;gap:16px;margin:0;font-size:11px;letter-spacing:.3em;text-transform:uppercase}
.histoire--anime .his-eng__compteur::before,.histoire--anime .his-eng__compteur::after{content:"";width:clamp(30px,5vw,70px);height:1px;background:currentColor;opacity:.5}
}

/* ============ (06) LES FOURNÉES : galerie courbe ============ */
.his-collage{position:relative;padding:clamp(100px,16vh,200px) var(--gut);background:#ececec;overflow:hidden}
.his-collage__mots{margin:clamp(10px,2vh,24px) 0 clamp(30px,6vh,60px)}
.his-collage__ligne{margin:0;font-size:clamp(34px,8vw,130px);font-weight:200;line-height:.95;letter-spacing:-.02em;text-transform:uppercase}
.histoire--anime .his-collage__mots{overflow:hidden}
.histoire--anime .his-collage__ligne{width:max-content;white-space:nowrap}
.his-collage__piste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.his-collage__carte{aspect-ratio:4/5}
.his-collage__legende{margin-top:clamp(26px,5vh,50px)}
@media (min-width:901px){
.histoire--anime .his-collage{height:calc(100vh + var(--dist,0px));padding:0;overflow:visible}
.histoire--anime .his-collage__scene{position:sticky;top:0;display:flex;align-items:center;height:100vh;height:100svh;overflow:hidden;perspective:1500px}
.histoire--anime .his-collage__haut{position:absolute;z-index:4;left:var(--gut);top:96px;margin:0}
.histoire--anime .his-collage__mots{position:absolute;z-index:0;inset:0;margin:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(120px,18vh,190px) 0 clamp(70px,12vh,120px);pointer-events:none}
.histoire--anime .his-collage__ligne{font-size:clamp(80px,12.5vw,220px)}
.histoire--anime .his-collage__piste{position:relative;z-index:1;display:flex;gap:clamp(26px,3.4vw,56px);padding:0 calc(50vw - clamp(140px,15vw,250px));will-change:transform;transform-style:preserve-3d}
.histoire--anime .his-collage__carte{flex:none;width:clamp(280px,30vw,500px);max-height:66svh;box-shadow:0 40px 70px -40px rgba(0,0,0,.6)}
.histoire--anime .his-collage__legende{position:absolute;z-index:4;left:var(--gut);bottom:clamp(24px,5vh,50px);margin:0}
}

/* ============ (07) À L'ATELIER ============ */
.his-atelier,.his-actus{--ecart:clamp(36px,5vw,90px)}
.his-atelier{padding:clamp(100px,16vh,200px) var(--gut);background:#fff}
.his-atelier__tete{max-width:940px;margin:0 0 clamp(50px,9vh,110px)}
.his-atelier__piles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--ecart);align-items:start;padding-top:clamp(28px,4.4vh,48px);border-top:1px solid var(--trait)}
.his-pile{position:relative}
.his-pile + .his-pile::before,.his-actu + .his-actu::before{content:"";position:absolute;left:calc(var(--ecart) / -2);top:calc(-1 * clamp(28px,4.4vh,48px));bottom:0;width:1px;background:var(--trait)}
.his-pile--2{padding-top:clamp(40px,7vw,120px)}
.histoire .his-pile__photo{aspect-ratio:4/5}
.histoire .his-pile--2 .his-pile__photo{aspect-ratio:1/1}
.his-pile h3{margin:24px 0 8px;font-size:clamp(20px,2vw,32px);font-weight:300;letter-spacing:.06em;text-transform:uppercase}
.his-pile p{max-width:23em;margin:0;font-size:clamp(15px,1.2vw,18px);line-height:1.6}

/* ============ (08) ACTUALITÉS ============ */
.his-actus{padding:clamp(80px,12vh,160px) var(--gut) clamp(90px,14vh,170px);background:#fff;border-top:1px solid var(--trait)}
.his-actus__liste{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--ecart);margin-top:clamp(40px,8vh,90px)}
.his-actu{position:relative}
.his-actu + .his-actu::before{top:0}
.histoire .his-actu__photo{aspect-ratio:4/3;margin:0 0 24px}
.his-actu__tag{margin:0 0 10px;font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--rouge)}
.his-actu h3{margin:0 0 12px;font-size:clamp(20px,1.9vw,30px);font-weight:300;line-height:1.18;letter-spacing:.03em;text-transform:uppercase}
.his-actu__texte{max-width:24em;margin:0 0 18px;font-size:clamp(15px,1.2vw,18px);line-height:1.6}

/* ============ FIN ============ */
.his-fin{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);align-items:end;gap:clamp(30px,6vh,64px) var(--gap);padding:clamp(100px,16vh,200px) var(--gut) clamp(60px,10vh,110px);background:#000;color:#fff}
.his-fin__texte{margin:0;font-size:clamp(30px,5.5vw,100px);font-weight:200;line-height:1.05;letter-spacing:-.02em}
.his-fin__liens{display:flex;flex-direction:column;align-items:flex-start;gap:20px;padding-bottom:clamp(8px,2vh,22px)}
.his-fin__liens .lien-souligne{display:flex;justify-content:space-between;gap:34px;min-width:min(100%,250px);padding-bottom:10px}
.his-fin__liens .lien-souligne::after{content:"→";letter-spacing:0}

/* ============ tablette et téléphone ============ */
@media (max-width:900px){
  .his-tete{display:flex;flex-direction:column;gap:30px;height:auto;min-height:0;max-height:none;padding-top:26px;padding-bottom:60px}
  .his-tete__bloc{display:block}
  .his-tete .fil-ariane{margin-bottom:34px}
  .his-tete__titre{margin:0}
  .his-tete__liens{margin:30px 0 0}
  .his-tete__photo{order:2;width:100%;height:auto;aspect-ratio:4/5;max-width:520px}
  .his-tete__coin{order:3;display:block}
  .his-tete__info{margin-bottom:18px}
  .his-intro__bas{grid-template-columns:1fr;gap:34px}
  .his-intro__bas > *{grid-column:auto}
  .his-intro__photos{max-width:480px}
  .his-bande__mots{font-size:clamp(46px,17vw,120px)}
  .his-chiffres__cartes{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .his-carte{min-height:360px}
  .his-hab__bas{grid-template-columns:1fr;grid-template-areas:"num" "titre" "texte";gap:8px}
  .his-habitudes__piste{gap:64px}
  .his-eng__pile p{font-size:clamp(40px,14vw,110px)}
  .his-eng__cartes{grid-template-columns:1fr 1fr;gap:34px 16px}
  .his-collage__piste{grid-template-columns:1fr 1fr}
  .his-atelier__piles,.his-actus__liste{grid-template-columns:1fr;gap:56px}
  .his-pile + .his-pile::before,.his-actu + .his-actu::before{display:none}
  .his-pile--2{padding-top:0}
  .histoire .his-pile__photo,.histoire .his-pile--2 .his-pile__photo{aspect-ratio:4/3}
  .his-fin{grid-template-columns:1fr;padding-top:clamp(100px,18vh,160px)}
}
@media (max-width:520px){
  .histoire .his-etiquette{font-size:11px;letter-spacing:.24em}
  .his-tete__info{grid-template-columns:96px minmax(0,1fr)}
  .his-eng__cartes{grid-template-columns:1fr}
}
/* ===== Paiement : composition compacte et finition élégante (le script est assets/paiement.js ; la grande photo en boucle a été retirée le 8 nov. 2026, version archivée dans outils/archives/paiement-avec-vitrine-9.3.3.css) =====
   Échelle et mise en page inspirées d'un paiement de référence que le client a montré (bloc centré d'environ 940 px, deux colonnes égales séparées par un filet, champs et textes petits,
   total et bouton de paiement ensemble à droite), mais avec NOTRE habillage : Jost fin, capitales espacées, filets pleins très fins, noir et blanc, rouge seulement pour les numéros.
   La mise en page à deux colonnes suit la classe « is-large » que WooCommerce pose lui-même selon la largeur disponible (pas une largeur d'écran) : les deux ne peuvent donc pas se contredire. */

/* ---------- page : bloc centré, titre discret, entête recentré ---------- */
body.page-paiement .wp-site-blocks > main.wp-block-group{max-width:1070px;padding:44px var(--gut) 96px}
body.page-paiement .wp-site-blocks main h1{margin:0 0 10px;font-size:15px;font-weight:400;letter-spacing:.3em;line-height:1.2}
.paie-intro{margin:0 0 38px;font-size:13px;font-weight:300;letter-spacing:.03em;line-height:1.5;color:var(--graphite)}

/* entête allégé : « ‹ Retour à la boutique » · le nom · « Aide » et la langue (rien qui détourne du paiement) */
body.page-paiement .entete__liens,
body.page-paiement .entete__trouver-pin,
body.page-paiement .entete__trouver,
body.page-paiement .entete__menu,
body.page-paiement .menu-btn{display:none!important}
/* (une règle de téléphone masque tous les liens des côtés de l'entête : on la bat par la spécificité ; même police que les autres liens de l'entête) */
body.page-paiement .entete__gauche .paie-retour,
body.page-paiement .entete__outils .paie-aide{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}
.wp-site-blocks .entete .paie-retour,.wp-site-blocks .entete .paie-aide{font-size:16px;font-weight:300;letter-spacing:.05em;text-transform:none;color:var(--noir)}
.paie-retour__fl{font-size:22px;line-height:1;transform:translateY(-1px);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.paie-retour:hover .paie-retour__fl{transform:translate(-4px,-1px)}
.paie-retour:hover,.paie-aide:hover{text-decoration:underline;text-underline-offset:5px}
body.page-paiement .entete__outils{gap:26px}
@media (max-width:1100px){.wp-site-blocks .entete .paie-retour,.wp-site-blocks .entete .paie-aide{font-size:15px}}
@media (max-width:640px){
  .paie-retour__t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .paie-retour__fl{font-size:30px;transform:translateY(-2px)}
  body.page-paiement .entete__outils{gap:14px}
}

/* ---------- échelle : tout le formulaire passe de 15 px à 13 px (les blocs WooCommerce se calculent en « em ») ---------- */
.wp-site-blocks .wc-block-checkout{font-size:13px;counter-reset:paie}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input{margin-top:12px}

/* ---------- deux colonnes égales, filet au milieu, colonne de droite qui suit le défilement ---------- */
.wp-site-blocks .wc-block-components-sidebar-layout.wc-block-checkout.is-large{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;position:relative;margin:0}
.wp-site-blocks .wc-block-components-sidebar-layout.wc-block-checkout.is-large::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--trait);pointer-events:none}
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-main{width:auto;margin:0;padding:0 44px 0 0}
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-sidebar{width:auto;margin:0;padding:0 0 0 44px;position:sticky;align-self:start;top:min(112px,calc(100svh - var(--paie-h,0px) - 28px))}

/* ---------- sections numérotées (01) (02) (03), séparées d'un filet très fin ---------- */
.wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__billing-fields,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__payment-method{counter-increment:paie;margin:0;padding:28px 0 8px;border-top:1px solid var(--trait)}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields{border-top:0;padding-top:24px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__heading{margin:0 0 16px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__title{display:flex;align-items:baseline;gap:14px;margin:0;font-size:12.5px;font-weight:400;letter-spacing:.24em}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields .wc-block-components-checkout-step__title::before,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__billing-fields .wc-block-components-checkout-step__title::before,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__payment-method .wc-block-components-checkout-step__title::before{content:"(0" counter(paie) ")";color:var(--rouge);font-size:11px;font-weight:500;letter-spacing:.26em}

/* note de commande : tout en haut du formulaire (l'ordre est changé dans paiement.php), juste SOUS la case « Offrir en cadeau » (cadeau.js la pose avant elle) */
.wp-site-blocks .wc-block-checkout .wc-block-checkout__order-notes{margin:0 0 4px;padding:0 0 30px}

/* note pour l'équipe : un champ ouvert sous la ligne « Cueillette » du résumé (paiement.js) ; la case « Ajouter une note » de WooCommerce se cache quand notre champ est monté */
body.paie-note-ok .wc-block-checkout__order-notes{display:none}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .note-equipe.wc-block-components-totals-wrapper{padding-left:0;padding-right:0}
.note-equipe__titre{display:block;margin:0 0 14px;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
.note-equipe .note-equipe__zone{display:block;width:100%;min-height:112px;margin:0;padding:16px 18px;border:1px solid #d2d2d2;border-radius:0;background:#fff;box-shadow:none;color:var(--noir);font:inherit;font-size:15px;font-weight:300;line-height:1.5;resize:none;transition:border-color .35s,box-shadow .35s}
.note-equipe .note-equipe__zone:focus{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir);outline:0}
.note-equipe__champ{position:relative}
/* l'invite (« Code d'accès, instructions de livraison… ») : un texte à part, caché dès qu'on écrit ; le placeholder du champ est une simple espace, il ne sert qu'à savoir si le champ est vide */
.note-equipe__invite{position:absolute;left:19px;top:17px;right:19px;font-size:15px;font-weight:300;line-height:1.5;color:var(--gris);pointer-events:none;transition:opacity .25s}
.note-equipe__zone:not(:placeholder-shown) + .note-equipe__invite{opacity:0}
@media (max-width:900px){.note-equipe .note-equipe__zone,.note-equipe__invite{font-size:16px}}

/* champs : texte à 15 px sur grand écran (audit du 9 nov. 2026 ; WooCommerce le met à 16 px partout pour que les iPhone ne zooment pas : on garde 16 px sur téléphone) */
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-text-input input,
.wp-site-blocks .wc-block-checkout.is-large .wc-blocks-components-select__select,
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-combobox .components-combobox-control__input{font-size:15px}
/* champs : filet fin, qui devient noir quand on écrit */
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input input,
.wp-site-blocks .wc-block-checkout .wc-block-components-textarea,
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select__select,
.wp-site-blocks .wc-block-checkout .wc-block-components-combobox .components-combobox-control__input{border-color:#d2d2d2;background:#fff;font-weight:300;transition:border-color .35s,box-shadow .35s}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input input:focus,
.wp-site-blocks .wc-block-checkout .wc-block-components-textarea:focus,
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select__select:focus,
.wp-site-blocks .wc-block-checkout .wc-block-components-combobox .components-combobox-control__input:focus{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir);outline:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input label,
.wp-site-blocks .wc-block-checkout .wc-block-components-combobox label{font-weight:300;letter-spacing:.02em;color:var(--graphite)}

/* paiement express : plus de cadre, un simple titre entre deux filets */
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment--checkout{position:relative;padding-top:36px}
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__title-container{position:absolute;top:0;left:0;right:0;margin:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment--checkout .wc-block-components-express-payment__content{border:0;padding:0;margin:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment__title{font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;font-weight:400;color:var(--graphite)}
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment-continue-rule{margin:22px 0 0;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--gris)}

/* options de paiement : carrés, filet fin ; l'option choisie ressort en noir (un seul cadre) */
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control-accordion-option,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control__option{border-color:var(--trait);border-radius:0;transition:border-color .35s,box-shadow .35s}
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir)}
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option-checked,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control-accordion-content{border:0;box-shadow:none}

/* ---------- colonne de droite : photos du panier, résumé sans cadre, total et bouton ensemble ---------- */
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block{border:0;border-radius:0;background:transparent}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title{padding:0 0 12px;border:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title-text{padding:0;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper{padding-left:0;padding-right:0}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .retrait-resume.wc-block-components-totals-wrapper{padding-left:0;padding-right:0}
/* code promo toujours visible : le titre n'est plus un bouton qui se replie (paiement.js ouvre la section), plus de flèche ; le champ et « Appliquer » sont toujours là */
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button{pointer-events:none;cursor:default;font-size:11px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--graphite)}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button .wc-block-components-panel__button-icon,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button svg{display:none}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content{padding-bottom:4px}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon__form{display:flex;align-items:center;gap:8px}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon__form .wc-block-components-text-input{margin-top:0;flex:1 1 auto;min-width:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon__button{flex:none;width:auto;min-height:50px;height:50px;padding:0 22px;font-size:11px;letter-spacing:.2em}
/* tout le contenu de la colonne de droite s'aligne sur le bord gauche de la colonne (WooCommerce ajoute 16 px de chaque côté) */
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text{margin-left:0}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-order-summary,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-item,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-footer-item,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-panel__button{padding-left:0;padding-right:0}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button{margin:0}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon .wc-block-components-panel,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__button-text,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-coupon .wc-block-components-panel__content{padding-left:0;padding-right:0;margin-left:0}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:12px;letter-spacing:.24em;text-transform:uppercase;font-weight:400}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:24px;font-weight:300}

/* bouton de commande : pleine largeur, cadenas, liseré rouge qui se déploie, il s'éclaircit tant que ce n'est pas prêt */
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:58px;overflow:hidden;padding:0 28px;font-size:12px;font-weight:400;letter-spacing:.3em;transition:opacity .6s,background .4s}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button:hover{letter-spacing:.3em}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button::before{content:"";flex:none;width:15px;height:15px;background:currentColor;-webkit-mask:var(--paie-cadenas) center/contain no-repeat;mask:var(--paie-cadenas) center/contain no-repeat}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button::after{content:"";position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--rouge);transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]):hover::after,
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]):focus-visible::after{transform:scaleX(1)}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button:not(:disabled):not([aria-disabled="true"]):active{transform:translateY(1px)}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button.is-chargement{pointer-events:none}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button.is-chargement::after{transform:scaleX(1);animation:paie-attente 1.2s ease-in-out infinite alternate}
@keyframes paie-attente{from{opacity:.25}to{opacity:1}}
.wp-site-blocks .wc-block-checkout{--paie-cadenas:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4.5' y='10.5' width='15' height='10' rx='1'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E")}

/* mention de sécurité sous le bouton */
.paie-securise{display:flex;align-items:center;justify-content:center;gap:10px;margin:18px 0 0;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gris);text-align:center}
.paie-securise__ico{flex:none;width:12px;height:12px;background:currentColor;-webkit-mask:var(--paie-cadenas) center/contain no-repeat;mask:var(--paie-cadenas) center/contain no-repeat}

/* « relais » : sur grand écran le bouton de paiement vit sous le total (colonne de droite) ; le vrai bouton reste dans le formulaire, caché, et reçoit le clic.
   Tant que le relais n'est pas prêt (ou sans JavaScript) le vrai bouton reste visible : on ne peut jamais se retrouver sans bouton. */
.paie-relais{display:none}
.wp-site-blocks .wc-block-checkout.is-large .paie-relais{display:block;margin:24px 0 0}
.paie-relais__cond{margin:0 0 16px;font-size:11.5px;line-height:1.55;color:var(--graphite)}
.paie-relais__cond a{text-decoration:underline;text-underline-offset:3px}
.paie-relais .paie-securise{margin-top:16px}
body.paie-relais-ok .wc-block-checkout.is-large .wc-block-checkout__terms,
body.paie-relais-ok .wc-block-checkout.is-large .wc-block-checkout__actions,
body.paie-relais-ok .wc-block-checkout.is-large .wc-block-checkout__main .paie-securise{display:none}

/* arrivée en douceur des sections */
@media (prefers-reduced-motion:no-preference){
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *{animation:paie-monte .9s cubic-bezier(.2,.7,.2,1) both}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *:nth-child(2){animation-delay:.07s}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *:nth-child(3){animation-delay:.14s}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *:nth-child(4){animation-delay:.21s}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *:nth-child(5){animation-delay:.28s}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__form > *:nth-child(n+6){animation-delay:.35s}
  .paie-intro,.paie-relais{animation:paie-monte 1s cubic-bezier(.2,.7,.2,1) both}
  .paie-relais{animation-delay:.25s}
}
@keyframes paie-monte{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

/* ---------- une seule colonne (téléphone, petite tablette) ---------- */
@media (max-width:900px){
  body.page-paiement .wp-site-blocks > main.wp-block-group{padding-top:30px}
  .paie-intro{margin:0 0 28px}
  .wp-site-blocks .wc-block-checkout{font-size:14px}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields,
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__billing-fields,
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__payment-method{padding-top:26px}
  .wp-site-blocks .wc-block-checkout .wc-block-components-checkout-place-order-button{min-height:60px;letter-spacing:.26em}
}

/* =====================================================================================================================
   AUDIT TYPOGRAPHIQUE ET D'ESPACEMENT (demande du client, 9 nov. 2026)
   1) champs : texte, étiquettes et invites à 15 px au moins, champs de 64 px de haut (au moins 14 px d'air autour du texte) ;
   2) résumé de la commande : textes et prix à 14 px au moins ; la ligne de prix répétée sous le nom de l'article est retirée ;
   3) blocs plus espacés : une page de boutique aérée, pas un formulaire serré.
   Les petites capitales espacées (titres de section, étiquettes de ligne) passent de 10-11 px à 12-13 px : à 15 px, avec leur espacement, elles pèseraient plus que le texte qu'elles titrent.
   (L'ancienne version est dans outils/archives/paiement-avant-audit-9.4.14.css.)
   ===================================================================================================================== */
.wp-site-blocks .wc-block-checkout{font-size:15px}

/* ----- 1) champs : 64 px de haut, étiquette flottante à 15 px une fois remontée ----- */
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input{margin-top:20px}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input input,
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select__select,
.wp-site-blocks .wc-block-checkout .wc-block-components-combobox .components-combobox-control__input{box-sizing:border-box;height:64px;padding:30px 14px 10px;line-height:24px}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input.is-active input,
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input input:focus,
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select__select:focus{padding:30px 14px 10px}
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input label{font-size:16px;line-height:22px;top:32px;left:15px}   /* left : aligné sur le texte saisi (14 px d'espace + 1 px de filet) */
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input.is-active label,
.wp-site-blocks .wc-block-checkout .wc-block-components-text-input input:focus + label{top:9px;transform:scale(.94)}
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select__label{font-size:15px;line-height:1.4;top:9px;left:15px}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__form .wc-blocks-components-select,
.wp-site-blocks .wc-block-checkout .wc-blocks-components-select{margin-top:20px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkbox__label{font-size:15px;line-height:1.5}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__content > *{margin-bottom:24px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__content > :last-child{margin-bottom:0}

/* ----- 2) résumé de la commande : 14 px ----- */
.wp-site-blocks .wc-block-checkout .wc-block-components-order-summary-item__individual-prices{display:none}   /* le prix répété sous le nom : le total de la ligne est déjà à droite */
.wp-site-blocks .wc-block-checkout .wc-block-components-product-name,
.wp-site-blocks .wc-block-checkout .wc-block-components-order-summary-item__total-price,
.wp-site-blocks .wc-block-checkout .wc-block-components-order-summary-item__total-price .wc-block-components-product-price,
.wp-site-blocks .wc-block-checkout .wc-block-components-product-metadata__description,
.wp-site-blocks .wc-block-checkout .wc-block-components-product-metadata__description p,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-item__label,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-item__value,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-item__description{font-size:14px;line-height:1.5}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:13px}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:26px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title-text{font-size:13px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title-price,
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title-price *{font-size:14px}   /* le total à côté du titre du résumé (téléphone) */
.wp-site-blocks .wc-block-checkout .retrait-resume__etiquette,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button,
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment__title,
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment-continue-rule{font-size:12px}
.wp-site-blocks .wc-block-checkout .retrait-resume__lien,
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon__button{font-size:12.5px}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon__button{height:64px;min-height:64px}
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-coupon .wc-block-components-panel__content{padding-top:16px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__title{font-size:13px}
.wp-site-blocks .wc-block-checkout .wc-block-components-order-summary .wc-block-components-order-summary-item__description{padding:6px 12px 22px 28px}
.paie-relais__cond,.wp-site-blocks .wc-block-checkout .wc-block-checkout__terms{font-size:14px;line-height:1.6}
/* autres textes de WooCommerce restés à 13 px : adresse enregistrée, « + Ajouter appartement », libellés des moyens de paiement */
.wp-site-blocks .wc-block-checkout .wc-block-components-address-card__address-section--secondary,
.wp-site-blocks .wc-block-checkout .wc-block-components-address-card__edit,
.wp-site-blocks .wc-block-checkout .wc-block-components-address-form__address_2-toggle,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control__label,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control__label span,
.wp-site-blocks .wc-block-checkout .wc-block-components-radio-control__description{font-size:15px}
.paie-securise{font-size:11px}
.paie-intro{font-size:15px}

/* ----- 3) espace : une page aérée ----- */
body.page-paiement .wp-site-blocks > main.wp-block-group{max-width:1160px;padding:72px var(--gut) 140px}
body.page-paiement .wp-site-blocks main h1{margin:0 0 14px}
.paie-intro{margin:0 0 64px}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__billing-fields,
.wp-site-blocks .wc-block-checkout .wc-block-checkout__payment-method{padding:56px 0 16px}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields{padding-top:44px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-step__heading{margin:0 0 8px}   /* le premier champ ajoute déjà 20 px au-dessus de lui */
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment--checkout{padding-top:44px}
.wp-site-blocks .wc-block-checkout .wc-block-components-express-payment-continue-rule{margin:32px 0 0}
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-main{padding:0 64px 0 0}
.wp-site-blocks .wc-block-checkout.is-large .wc-block-components-sidebar{padding:0 0 0 64px}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-totals-wrapper:not(:empty):not(.slot-wrapper){padding-top:28px;padding-bottom:28px}
.wp-site-blocks .wc-block-checkout .wc-block-components-checkout-order-summary__title{padding:0 0 22px}
.paie-relais{margin-top:36px}
.paie-relais__cond{margin:0 0 22px}
.paie-relais .paie-securise,.paie-securise{margin-top:22px}
@media (max-width:900px){
  body.page-paiement .wp-site-blocks > main.wp-block-group{padding-top:44px;padding-bottom:110px}
  .paie-intro{margin:0 0 44px}
  .wp-site-blocks .wc-block-checkout{font-size:15px}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields,
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__billing-fields,
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__payment-method{padding-top:44px}
  .wp-site-blocks .wc-block-checkout .wc-block-checkout__contact-fields{padding-top:36px}
}

/* ----- petite croix pour retirer un article du résumé (paiement.js) : sous le prix, à droite ; fine comme le reste, noire au survol ----- */
.wp-site-blocks .wc-block-checkout .wc-block-components-order-summary-item{position:relative}
.paie-retirer{position:absolute;right:-9px;top:34px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;color:#666;cursor:pointer;transition:color .3s,background .3s,opacity .3s}
.paie-retirer__ico{position:relative;display:block;width:14px;height:14px}
.paie-retirer__ico::before,.paie-retirer__ico::after{content:"";position:absolute;left:50%;top:50%;width:15px;height:1px;background:currentColor;transform:translate(-50%,-50%) rotate(45deg)}
.paie-retirer__ico::after{transform:translate(-50%,-50%) rotate(-45deg)}
.paie-retirer:hover:not(:disabled){color:var(--noir);background:#f1f1f1}
.paie-retirer:focus-visible{outline:2px solid var(--noir);outline-offset:1px}
.paie-retirer:disabled{opacity:.35;cursor:progress}

/* panier vide : un seul bloc centré, sans le filet du milieu ni la colonne de droite vide (l'icône est le sac de la marque : voir construire_theme.py) */
.wp-site-blocks .wc-block-components-sidebar-layout.wc-block-checkout:has(.wc-block-checkout-empty){display:block}
.wp-site-blocks .wc-block-components-sidebar-layout.wc-block-checkout:has(.wc-block-checkout-empty)::before{display:none}
.wp-site-blocks .wc-block-checkout:has(.wc-block-checkout-empty) .wc-block-components-main{padding:0}
.wp-site-blocks .wc-block-checkout-empty{max-width:520px;margin:0 auto;padding:64px 0 24px;text-align:center}
.wp-site-blocks .wc-block-checkout-empty__title{display:block;margin:0 0 14px;font-size:15px;font-weight:400;letter-spacing:.06em}
.wp-site-blocks .wc-block-checkout-empty__description{margin:0 0 30px;font-size:15px;line-height:1.65;color:var(--graphite)}

/* ligne de livraison du résumé : le nom du tarif est masqué quand il répète l'intitulé (« Delivery / Delivery ») — voir paiement.js, doublon() */
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-shipping__via.paie-doublon{display:none!important}

/* retrait gratuit à l'atelier : la ligne de livraison des totaux est masquée (voir paiement.js, doublon()) */
.wp-site-blocks .wc-block-checkout .wc-block-components-totals-shipping.paie-retrait-gratuit{display:none}
/* ===== Paiement : « Offrir en cadeau » (assets/cadeau.js), tout en haut du formulaire, juste avant la note de commande =====
   Même langage que le reste du formulaire : champs carrés à filet fin, textes en Jost léger, petites capitales espacées pour les titres, noir et blanc.
   Fermé, le bloc est une simple case ; ouvert, il se déroule en douceur (la hauteur passe de 0 à sa taille réelle, sans calcul en JavaScript). */
.cadeau{margin:0;padding:0 0 18px;transition:padding-bottom .6s cubic-bezier(.2,.7,.2,1)}
/* fermé : les deux cases (cadeau, note) se suivent de près ; ouvert : le dernier champ (le mot, la boîte cadeau) ne colle pas à la note qui suit */
.cadeau.is-ouvert{padding-bottom:44px}

.cadeau__bascule{margin:0}
/* « Offrir en cadeau » reste en graisse légère, comme « Ajouter une note à votre commande » (demande du client, 9 nov. 2026 : pas de gras) */

/* le corps : 0 → 1 fraction de hauteur ; « visibility » le retire du clavier et des lecteurs d'écran tant qu'il est fermé */
.cadeau__corps{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .6s cubic-bezier(.2,.7,.2,1),visibility 0s linear .6s}
.cadeau.is-ouvert .cadeau__corps{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .6s cubic-bezier(.2,.7,.2,1),visibility 0s}
.cadeau__interieur{min-height:0;overflow:hidden}
.cadeau__contenu{display:grid;gap:38px;margin:0 -3px;padding:30px 3px 6px;opacity:0;transform:translateY(-8px);transition:opacity .45s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.cadeau.is-ouvert .cadeau__contenu{opacity:1;transform:none;transition-delay:.12s}

/* titres : petites capitales espacées, comme « Ajouter des codes promo » */
.cadeau__titre{display:block;margin:0 0 16px;padding:0;font-size:12px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
.cadeau__occasion{min-width:0;margin:0;padding:0;border:0}

/* pastilles de l'occasion : carrées, filet fin ; la choisie passe au noir (un nouveau clic la retire) */
.cadeau__pastilles{display:flex;flex-wrap:wrap;gap:10px}
.cadeau .cadeau__pastille{appearance:none;-webkit-appearance:none;margin:0;display:inline-flex;align-items:center;min-height:46px;padding:0 20px;border:1px solid #d2d2d2;border-radius:0;background:#fff;box-shadow:none;color:var(--noir);font:inherit;font-size:15px;font-weight:300;letter-spacing:.02em;line-height:1.2;text-transform:none;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.cadeau .cadeau__pastille:hover{border-color:var(--noir)}
.cadeau .cadeau__pastille[aria-pressed="true"]{border-color:var(--noir);background:var(--noir);color:#fff}
.cadeau .cadeau__pastille:focus-visible{outline:2px solid var(--noir);outline-offset:2px}

/* les cartes de vœux à vendre : des tuiles (photo, nom, prix) ; la choisie passe au noir avec une petite coche ; un nouveau clic la retire du panier */
.cadeau__cartes{min-width:0;margin:0;padding:0;border:0}
.cadeau__tuiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:14px}
.cadeau .cadeau__tuile{appearance:none;-webkit-appearance:none;position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:88px;margin:0;padding:10px 14px 10px 10px;border:1px solid #d2d2d2;border-radius:0;background:#fff;box-shadow:none;color:var(--noir);font:inherit;text-align:left;text-transform:none;letter-spacing:0;cursor:pointer;transition:border-color .3s,box-shadow .3s,opacity .3s}
.cadeau .cadeau__tuile:hover:not(:disabled){border-color:var(--noir)}
.cadeau .cadeau__tuile[aria-pressed="true"]{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir)}
.cadeau .cadeau__tuile:focus-visible{outline:2px solid var(--noir);outline-offset:2px}
.cadeau .cadeau__tuile:disabled{cursor:progress;opacity:.55}
.cadeau__vignette{flex:none;width:64px;height:64px;overflow:hidden;background:#f1eeea}
.cadeau__vignette img{display:block;width:100%;height:100%;object-fit:cover}
.cadeau__tuile-texte{display:flex;flex-direction:column;gap:4px;min-width:0}
.cadeau__tuile-nom{font-size:15px;font-weight:400;line-height:1.35;color:var(--noir);overflow-wrap:break-word}
.cadeau__tuile-prix{font-size:15px;font-weight:400;color:var(--noir);font-variant-numeric:tabular-nums}
.cadeau__tuile-coche{position:absolute;bottom:9px;right:9px;width:15px;height:15px;background:var(--noir) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/11px no-repeat;opacity:0;transform:scale(.6);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1)}
.cadeau .cadeau__tuile[aria-pressed="true"] .cadeau__tuile-coche{opacity:1;transform:none}
.cadeau .cadeau__tuile[aria-pressed="true"] .cadeau__vignette{box-shadow:0 0 0 1px var(--noir)}
.cadeau__alerte{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--rouge)}
.cadeau__alerte[hidden]{display:none}
.cadeau__aide [hidden]{display:none}

/* le mot : même habillage que les champs de WooCommerce */
.cadeau__mot{min-width:0}
.cadeau .cadeau__zone{display:block;width:100%;min-height:124px;margin:0;padding:16px 18px;border:1px solid #d2d2d2;border-radius:0;background:#fff;box-shadow:none;color:var(--noir);font:inherit;font-size:15px;font-weight:300;line-height:1.55;resize:none;transition:border-color .35s,box-shadow .35s}
.cadeau__champ{position:relative}
/* l'invite (« Écrivez votre message ici… ») : un texte à part, caché dès qu'on écrit ; le placeholder du champ est une simple espace, il ne sert qu'à savoir si le champ est vide */
.cadeau__invite{position:absolute;left:19px;top:17px;right:19px;font-size:15px;font-weight:300;line-height:1.55;color:var(--gris);pointer-events:none;transition:opacity .25s}
.cadeau__zone:not(:placeholder-shown) + .cadeau__invite{opacity:0}
.cadeau .cadeau__zone:focus{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir);outline:0}
.cadeau__aide{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin:12px 0 0;font-size:14px;font-weight:300;line-height:1.5;color:var(--graphite)}
.cadeau__compte{flex:none;font-size:13px;letter-spacing:.14em;color:var(--gris);font-variant-numeric:tabular-nums;transition:color .3s}
.cadeau__compte.is-limite{color:var(--rouge)}

.cadeau__emballage{margin:0}

/* la note n'est plus sous la case cadeau (elle est dans le résumé, voir paiement.js) : le bloc cadeau reprend l'espace d'avant les boutons de paiement express */
body.paie-note-ok .cadeau{padding-bottom:48px}
body.paie-note-ok .cadeau.is-ouvert{padding-bottom:68px}

@media (max-width:900px){
  .cadeau__tuiles{grid-template-columns:1fr 1fr}
  .cadeau__vignette{width:56px;height:56px}
  .cadeau .cadeau__zone,.cadeau__invite{font-size:16px}   /* 16 px : l'iPhone ne zoome pas dans le champ */
  .cadeau .cadeau__pastille{min-height:48px;padding:0 16px;font-size:15px}
}
@media (prefers-reduced-motion:reduce){
  .cadeau__corps,.cadeau.is-ouvert .cadeau__corps,.cadeau__contenu,.cadeau.is-ouvert .cadeau__contenu{transition:none}
}

/* la page de la commande (après paiement) */
.cadeau-commande{margin:18px 0 0;font-size:13px;font-weight:300;line-height:1.6}

/* rappel dans le résumé de la commande (colonne de droite) : même gabarit que la ligne « Cueillette » (retrait.css) */
.cadeau-resume{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px}
.cadeau-resume[hidden],.cadeau-resume__carte[hidden],.cadeau-resume__mot[hidden],.cadeau-resume__emb[hidden]{display:none}
.cadeau-resume__etiquette{flex:0 0 100%;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
.cadeau-resume__valeur{flex:1 1 auto;min-width:0;font-size:15px;font-weight:500;line-height:1.4;color:var(--noir)}
.cadeau-resume__lien{flex:none;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;color:var(--noir);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}
.cadeau-resume__carte{flex:0 0 100%;font-size:14px;font-weight:400;line-height:1.5;color:var(--noir)}
.cadeau-resume__mot,.cadeau-resume__emb{flex:0 0 100%;font-size:14px;font-weight:300;line-height:1.5;color:var(--graphite)}
.cadeau-resume__mot{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-style:italic;overflow-wrap:anywhere}
.cadeau-resume__mot::before{content:"\201C"}
.cadeau-resume__mot::after{content:"\201D"}
:lang(fr) .cadeau-resume__mot::before{content:"\00AB\00A0"}
:lang(fr) .cadeau-resume__mot::after{content:"\00A0\00BB"}
.wp-site-blocks .wc-block-checkout .wc-block-checkout__sidebar .cadeau-resume.wc-block-components-totals-wrapper{padding-left:0;padding-right:0}
/* ===== Écran de confirmation d'une commande (outils/confirmation.php, outils/confirmation.js) =====
   La frise de fidélité de « Mon compte > Rewards » (outils/fidelite.css) se remplit sous les yeux du client. Ici : le titre, les phrases, le compteur, le trait « potentiel » de l'invité,
   l'onde de lumière d'un palier qui s'allume, le bouton de création de compte, et un habillage sobre du récapitulatif de WooCommerce qui suit. */
body.woocommerce-order-received .wp-site-blocks > main.wp-block-group{max-width:1160px;margin-left:auto;margin-right:auto;padding:72px var(--gut) 140px}
.conf{margin:0 0 84px}
.conf__numero{margin:0 0 24px;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--graphite)}
.conf__numero b{margin-left:8px;font-weight:400;color:var(--noir)}
.wp-site-blocks .conf .conf__titre{margin:0 0 20px;font-family:var(--serif);font-size:clamp(34px,5.4vw,76px);font-weight:400;line-height:1.05;letter-spacing:.005em;text-transform:none;max-width:16em}
.conf__phrase{margin:0 0 16px;font-size:clamp(17px,1.6vw,21px);font-weight:300;letter-spacing:.02em;line-height:1.5}
.conf__gain{margin:0;font-size:clamp(15px,1.35vw,18px);font-weight:400;letter-spacing:.02em;color:var(--rouge)}
.conf__gain--attente{color:var(--graphite)}

/* le total de points et le gain, au-dessus de la frise */
.conf__fid{margin:64px 0 0}
.conf__score{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;margin:0}
.conf__pts{display:flex;align-items:baseline;gap:14px;margin:0}
.conf__pts b{font-size:clamp(68px,9.6vw,140px);font-weight:200;line-height:.95;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.conf__pts span{font-size:13px;letter-spacing:.3em;text-transform:uppercase}
.conf__chip{margin:0;padding:7px 16px;border:1px solid var(--rouge);color:var(--rouge);font-size:15px;font-weight:400;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.conf--invite .conf__chip{border-style:dashed}
.conf__regle{max-width:62ch;margin:6px 0 0;font-size:14px;font-weight:300;line-height:1.65;color:var(--graphite)}
.conf__suite{margin:0;font-size:15px}

/* la frise : une seule pastille « vous êtes ici », posée par le script au bout du trait */
.conf__fid .fid__frise{position:relative;margin-top:44px}
.conf__tete{position:absolute;z-index:2;top:var(--c);left:0;width:var(--tete);height:var(--tete);margin:calc(var(--tete) / -2) 0 0 calc(var(--tete) / -2);border:calc(var(--tete) * .22) solid #000;border-radius:50%;background:#fff;animation:fid-halo 2s ease-out infinite}
.conf--invite .conf__tete{border-color:var(--rouge);animation-name:fid-halo-rouge}
/* le gain POSSIBLE de l'invité : un trait rayé de rouge, qui ne débloque rien */
.conf__fid .fid__pot{position:absolute;z-index:0;top:calc(var(--c) - var(--ligne) / 2);left:50%;height:var(--ligne);width:calc(var(--pot, 0) * 100%);background:repeating-linear-gradient(135deg,var(--rouge) 0 6px,#f4c9d2 6px 12px);background-size:17px 17px;animation:fid-defile .9s linear infinite}
.fid__noeud.est-potentiel{--t-fond:#fff;--t-bord:var(--rouge);--t-encre:var(--rouge);--t-ruban:var(--rouge)}
.fid__noeud.est-potentiel:not(.fid__noeud--depart) .fid__marque{border-style:dashed;animation:fid-halo-rouge 2s ease-out infinite}
.fid__noeud--mystere.est-potentiel .fid__marque{--t-fond:#000;--t-encre:#fff;border-color:var(--rouge);outline:2px dashed var(--rouge);outline-offset:4px;animation:none}
/* un palier qui vient de s'allumer : une onde de lumière part de sa boîte */
.conf__onde{position:absolute;inset:0;z-index:0;border:2px solid var(--noir);pointer-events:none}
.conf--invite .conf__onde{border-color:var(--rouge)}

 /* la frise PAR SEGMENT : le nœud de départ du segment et le prochain cadeau, rien d'autre (outils/confirmation.js) */
@media (min-width:901px){.conf__fid .fid__frise{grid-template-columns:repeat(2,minmax(0,1fr));max-width:880px}}
.conf__fid .fid__noeud.est-hors{display:none}
.conf__fid .fid__noeud.est-bout::before,.conf__fid .fid__noeud.est-bout::after,.conf__fid .fid__noeud.est-bout .fid__pot{display:none}   /* pas de trait après le nœud de droite */

/* l'invité : réclamer ses points ICI, une seule fois, en créant son compte avec un mot de passe */
.conf__reclamer{display:grid;gap:20px;max-width:980px;margin:56px 0 0;padding:34px 40px;border:1px solid var(--noir)}
.conf__reclamer-titre{margin:0;font-size:12px;letter-spacing:.26em;text-transform:uppercase}
.conf__reclamer-texte{max-width:64ch;margin:0;font-size:16px;font-weight:300;line-height:1.7}
.conf__reclamer-texte b{font-weight:500;overflow-wrap:anywhere}
.conf__forme{display:flex;flex-wrap:wrap;align-items:flex-end;gap:18px 24px;margin:0}
.conf__champ{display:flex;flex-direction:column;gap:9px;flex:1 1 260px;max-width:400px}
.conf__champ span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--graphite)}
.conf__champ input{box-sizing:border-box;width:100%;height:60px;padding:0 18px;border:1px solid #d2d2d2;border-radius:0;background:#fff;color:var(--noir);font:inherit;font-size:16px;font-weight:300;transition:border-color .35s,box-shadow .35s}
.conf__champ input:focus{border-color:var(--noir);box-shadow:inset 0 0 0 1px var(--noir);outline:0}
.conf__champ small{font-size:13px;font-weight:300;color:var(--graphite)}
.conf__bouton{display:inline-flex;align-items:center;justify-content:center;min-height:60px;max-width:340px;padding:12px 30px;border:1px solid var(--noir);border-radius:0;background:var(--noir);color:#fff;font:inherit;font-size:12px;font-weight:400;letter-spacing:.2em;line-height:1.5;text-align:center;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .3s,color .3s}
.conf__bouton:hover:not(:disabled){background:#fff;color:var(--noir)}
.conf__bouton:disabled{opacity:.5;cursor:progress}
.conf__message{min-height:0;margin:0;font-size:15px;font-weight:300;line-height:1.6}
.conf__message:empty{display:none}
.conf__message.est-erreur{color:var(--rouge)}
.conf__reclamer.est-fait{border-color:var(--trait)}
.conf__reclamer.est-fait .conf__reclamer-titre{display:none}
.conf__reclamer.est-fait .conf__message{color:var(--noir)}
.conf__avis{max-width:64ch;margin:44px 0 0;font-size:15px;font-weight:300;line-height:1.65;color:var(--graphite)}

/* le récapitulatif de WooCommerce qui suit : numéro, date, total, courriel, puis le détail, sobres */
body.woocommerce-order-received .wc-block-order-confirmation-summary-list{display:flex;flex-wrap:wrap;gap:20px 64px;margin:0 0 72px;padding:28px 0;list-style:none;border-top:1px solid var(--trait);border-bottom:1px solid var(--trait)}
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item{display:flex;flex-direction:column;gap:8px;font-size:15px;font-weight:300}
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key{font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__value{font-weight:300}
body.woocommerce-order-received .wc-block-order-confirmation-totals-wrapper h2.wp-block-heading{margin:0 0 22px;font-size:12px!important;font-weight:400;letter-spacing:.26em;text-transform:uppercase}   /* (WooCommerce écrit « font-size:24px » dans la balise) */
body.woocommerce-order-received .wc-block-order-confirmation-totals__table{width:100%;border:0;border-collapse:collapse;font-size:15px;font-weight:300}
body.woocommerce-order-received .wc-block-order-confirmation-totals__table *{border-left:0;border-right:0}
body.woocommerce-order-received .retrait-commande{margin:22px 0 0;font-size:15px;font-weight:300}
body.woocommerce-order-received .wc-block-order-confirmation-totals__table th,
body.woocommerce-order-received .wc-block-order-confirmation-totals__table td{padding:18px 0;border:0;border-bottom:1px solid var(--trait);text-align:left;background:none}
body.woocommerce-order-received .wc-block-order-confirmation-totals__table thead th{font-size:11px;font-weight:400;letter-spacing:.24em;text-transform:uppercase;color:var(--graphite)}
body.woocommerce-order-received .wc-block-order-confirmation-totals__table .wc-block-order-confirmation-totals__total{text-align:right}
body.woocommerce-order-received .wc-block-order-confirmation-totals__table tfoot th{font-weight:400}

@media (max-width:900px){
  .conf__reclamer{padding:28px 24px}
  .conf__champ{max-width:none}
  .conf__bouton{width:100%;max-width:none}
  /* frise à la verticale : le gain possible de l'invité descend le long du trait, comme le trait réel (voir fidelite.css) */
  .conf__fid .fid__pot{top:32px;left:calc(32px - var(--ligne) / 2);width:var(--ligne);height:calc(var(--pot, 0) * 100%);animation-name:fid-defile-v}
  .conf__fid .fid__frise{margin-top:34px}
  .conf__tete{margin:calc(var(--tete) / -2) 0 0 calc(var(--tete) / -2)}
  body.woocommerce-order-received .wp-site-blocks > main.wp-block-group{padding-top:44px;padding-bottom:110px}
  .conf{margin-bottom:56px}
  .conf__fid{margin-top:44px}
  body.woocommerce-order-received .wc-block-order-confirmation-summary-list{gap:18px 36px;margin-bottom:52px}
}
@media (prefers-reduced-motion:reduce){.conf__tete,.conf__fid .fid__pot{animation:none}}

/* ===== Page « Careers » : formulaire de candidature (Contact Form 7) ===== */
/* champs fichier : même ligne fine que les autres champs ; le bouton « Choisir » est un bouton du site (le nom du fichier choisi est affiché par le navigateur) */
.formulaire--candidature .champ input[type=file]{width:100%;padding:10px 0;border:0;border-bottom:1px solid var(--noir);border-radius:0;background:transparent;font:inherit;font-size:14px;color:var(--graphite);cursor:pointer}
.formulaire--candidature input[type=file]::file-selector-button{margin:0 16px 0 0;padding:10px 22px;border:1px solid var(--noir);border-radius:0;background:transparent;color:var(--noir);font:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:background .3s,color .3s}
.formulaire--candidature input[type=file]:hover::file-selector-button,.formulaire--candidature input[type=file]:focus-visible::file-selector-button{background:var(--noir);color:#fff}
.formulaire--candidature .champ input[type=file]:focus-visible{outline:0;border-color:var(--rouge)}
.formulaire--candidature .champ__aide{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--gris)}
.formulaire--candidature .champ select{cursor:pointer}
/* case d'accord : une phrase normale (pas les petites capitales des champs) */
.formulaire--candidature .accord{font-size:14px;line-height:1.55;color:var(--graphite)}
.formulaire--candidature .accord .wpcf7-form-control-wrap{display:block}
.formulaire--candidature .accord .wpcf7-list-item{display:block;margin:0}
.formulaire--candidature .accord label{display:flex;gap:12px;align-items:flex-start;margin:0;cursor:pointer}
.formulaire--candidature .accord input[type=checkbox]{flex:none;width:18px;height:18px;margin:2px 0 0;accent-color:#000;cursor:pointer}
.formulaire--candidature .accord a{color:var(--noir);border-bottom:1px solid currentColor}
/* piège à robots : hors de l'écran, invisible pour les humains et les lecteurs d'écran */
.formulaire--candidature .piege{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.formulaire--candidature .wpcf7-submit{justify-self:start}
@media (max-width:760px){
  .formulaire--candidature input[type=file]::file-selector-button{display:block;margin:0 0 10px}
  .formulaire--candidature .champ input[type=file]{padding:6px 0 12px}
}

/* ===== Page « Before you order » : « How would you like to check out? » (construite par outils/panier.js dans #acces) =====
   Deux colonnes séparées par un filet, comme sur nike.com : « avec un compte » (Sign in / Create an account) et « en invité » (Continue as guest).
   Sign in et Create an account ouvrent leur formulaire dans la première colonne (bouton « Back » pour revenir). Les champs et les boutons gardent les gabarits « connexion__* » (panier.css). */
.acces{max-width:1160px;margin:0 auto;padding:56px var(--gut) 120px}
.acces__repli{margin:0;text-align:center;font-size:15px;color:var(--graphite)}
.acces__repli a{border-bottom:1px solid currentColor}

/* le sac : sans contenu sauf quand il est vide (message + lien vers la boutique) */
.acces__sac{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:6px 0;margin:0 0 64px;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--graphite)}
.acces__sac:empty{display:none}
.acces__sac--vide{margin-bottom:0;font-size:16px;letter-spacing:.02em;text-transform:none}
.acces__sac--vide a{margin-left:6px;border-bottom:1px solid currentColor}
.acces__sac--vide a:hover{color:var(--rouge)}

/* les deux colonnes */
.acces__colonnes{display:grid;grid-template-columns:repeat(var(--n,2),minmax(0,1fr))}
.acces__colonnes[hidden]{display:none}
.acces__colonne{display:flex;flex-direction:column;min-width:0;padding:8px clamp(24px,5vw,80px);border-left:1px solid var(--trait);text-align:center}
.acces__colonne:first-child{border-left:0}
.acces__colonne .connexion__t{margin:0 0 22px}
.acces__colonne .connexion__texte{flex:0 0 auto;margin:0 0 36px;min-height:72px}   /* même hauteur des deux côtés : les premiers boutons s'alignent */
.acces__colonne .connexion__bouton{height:58px;font-size:11.5px;letter-spacing:.26em}
.acces__colonne .connexion__bouton:hover{letter-spacing:.32em}
/* « Create an account » : au trait, pour que « Sign in » et « Continue as guest » (pleins) restent les deux gestes principaux, alignés sur la même rangée */
.acces__colonne .connexion__bouton--second{border:1px solid var(--noir);background:transparent;color:var(--noir)}
.acces__colonne .connexion__bouton--second:hover{background:var(--noir);color:#fff}
body.page-acces .page-titre{padding-bottom:16px}
.acces__boutons{display:flex;flex-direction:column;gap:12px}

/* les trois vues de la première colonne : choix, se connecter, créer un compte */
.acces__membre[data-vue="choix"] .acces__vue--connexion,.acces__membre[data-vue="choix"] .acces__vue--compte,
.acces__membre[data-vue="connexion"] .acces__vue--choix,.acces__membre[data-vue="connexion"] .acces__vue--compte,
.acces__membre[data-vue="compte"] .acces__vue--choix,.acces__membre[data-vue="compte"] .acces__vue--connexion{display:none}
.acces__vue--connexion .connexion__forme,.acces__vue--compte .connexion__forme{text-align:left}
.acces__vue--compte .connexion__texte{min-height:0;margin-bottom:30px}
.acces__colonne .connexion__champs{display:block}
.acces__colonne .connexion__oubli{align-self:flex-start}
.acces__retour{display:table;margin:30px auto 0;padding:0 0 3px;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;font:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;cursor:pointer}
.acces__retour:hover{color:var(--rouge)}
.acces__retour:focus-visible{outline:1px solid currentColor;outline-offset:5px}

/* aperçu pour l'administrateur (connecté) : un client connecté ne voit jamais cette page */
.acces__apercu{margin:0 0 48px;padding:14px 16px;border:1px solid var(--trait);font-size:12px;line-height:1.65;color:var(--graphite);text-align:left}
.acces__apercu a{display:inline-block;margin-left:4px;padding-bottom:1px;border-bottom:1px solid currentColor;color:var(--noir);letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.acces__apercu a:hover{color:var(--rouge)}

@media (max-width:900px){
  .acces{padding:28px var(--gut) 80px}
  .acces__sac{margin-bottom:44px;font-size:11px;letter-spacing:.18em}
  .acces__colonnes{grid-template-columns:1fr}
  .acces__colonne,.acces__colonne:first-child{padding:44px 0;border-left:0;border-top:1px solid var(--trait)}
  .acces__colonne:first-child{padding-top:0;border-top:0}
  .acces__colonne:last-child{padding-bottom:0}
  .acces__colonne .connexion__texte{min-height:0;margin-bottom:28px}
  .acces__colonne .connexion__bouton{height:56px}
  body.page-acces .page-titre h1{font-size:clamp(22px,6.4vw,28px)}
}

/* l'interrupteur « Visitor preview » de la barre du haut (administrateur) : rouge tant que l'aperçu est actif */
html.apercu-visiteur #wpadminbar #wp-admin-bar-the1753-apercu-visiteur > .ab-item{background:#c72c48;color:#fff}

/* classes utilitaires générées depuis les attributs style de la maquette */
.s-05adfd59 img{object-position:40% 50%}
.s-1c664218 img{object-position:38% 55%}
.s-25b9b6a9 img{object-position:50% 36%}
.s-2dd63833 img{object-position:50% 55%}
.s-3ebbad69 img{object-position:55% 50%}
.s-47c857f6{margin-top:28px}
.s-4bd87007{object-position:50% 55%}
.s-5d236976 img{object-position:50% 52%}
.s-65ad37fc img{object-position:50% 38%}
.s-75e0825d{object-position:50% 60%}
.s-7ef66846 img{object-position:50% 100%}
.s-830b9d04 img{object-position:50% 50%}
.s-843c4899{object-position:50% 100%}
.s-92395a2f img{object-position:50% 74%}
.s-9521e3b6{object-position:50% 74%}
.s-9a735f02 img{object-position:50% 64%}
.s-a38ddb7e img{object-position:50% 45%}
.s-a814ab22{object-position:50% 36%}
.s-bd1b4e15 img{object-position:50% 85%}
.s-be0d77aa img{object-position:50% 60%}
.s-c055dc8b img{object-position:50% 62%}
.s-c468ea35{object-position:50% 72%}
.s-d251ae37{object-position:50% 62%}
.s-e27e4b1a img{object-position:50% 72%}
.s-e871cfaf{object-position:50% 58%}
.s-eaac38ea img{object-position:50% 58%}
.s-fe0b8883 img{object-position:50% 40%}

/* ====================================================================================================================
   Boutons en pilule (demande du client, le 2 nov. 2026 : « round all buttons », d'après la référence Pierre Hermé).
   Ce fichier passe en dernier dans la feuille de style : il arrondit tous les boutons d'action du site (CTA, boutons WooCommerce, panier, paiement,
   fenêtre de connexion, formulaires, flèches, retour en haut, sélecteur de retrait). Les liens soulignés, les onglets de filtre, les icônes (cœur,
   partage) et les champs de saisie restent tels quels : ce ne sont pas des boutons à contour ou à fond.
   ==================================================================================================================== */
.btn,
.wp-block-button.btn .wp-block-button__link,
.wp-block-button__link,
.wp-element-button,
.wpcf7-submit,
.wp-site-blocks ul.products li.product .button,
.wp-site-blocks .single_add_to_cart_button,
.wp-site-blocks .woocommerce a.button,
.wp-site-blocks .woocommerce button.button,
.woocommerce-message .button,
.ecran form.cart .single_add_to_cart_button,
.single-product .wp-site-blocks div.product form.cart .single_add_to_cart_button,
.fiche__bouton-off,
.wp-site-blocks .wc-block-components-button:not(.is-link),
.wp-site-blocks .wc-block-cart__submit-button,
.wp-site-blocks .wc-block-components-checkout-place-order-button,
.panier__commander,
.panier__continuer,
.connexion__bouton,
.creations__fleche,
.haut-flottant,
.retrait__fleche,
.retrait__date,
.retrait__heure,
.retrait__mode-bouton,
.crea-commander,
.qte,
.wc-block-components-quantity-selector{border-radius:999px!important}
/* la pastille du bouton « retour en haut » et les flèches sont des cercles : le contenu reste centré */
.haut-flottant,.creations__fleche{overflow:hidden}


/* =====================================================================
   Nom de la marque : grand dans l'en-tête, avec de l'air tout autour
   - ordinateur : en-tête plus haut (100 px) ; liens des deux côtés resserrés pour garder plus de 60 px libres de chaque côté du nom ;
   - téléphone (600 px et moins) : le nom a sa propre ligne, centré et grand ; « Menu » et « Panier » passent dessous ;
   mesuré de 360 à 2560 px : jamais de chevauchement ni de défilement de côté
   ===================================================================== */
@media (min-width:1001px){
  .entete__haut{height:100px}
  .hero__meta{top:136px}
  .hero__accroche{top:130px}
  .menu{padding-top:140px}
  .histoire--anime .his-eng__haut,.histoire--anime .his-collage__haut{top:124px}   /* sous l'en-tête plus haut */
  .his-tete{height:calc(100vh - 100px);height:calc(100svh - 100px)}
}
@media (min-width:1101px){
  .wp-site-blocks .entete .wp-block-navigation__container{gap:clamp(12px,1.4vw,22px)}
  .entete__gauche,.entete__outils{letter-spacing:.12em}
  .entete__outils .langue{padding-left:10px;letter-spacing:.14em}
  .entete .logo__nom{font-size:clamp(24px,calc(7.4vw - 72px),44px);letter-spacing:.2em;padding-left:.2em}
}
@media (min-width:1001px) and (max-width:1100px){
  .wp-site-blocks .entete .wp-block-navigation__container{gap:14px}
  .entete__gauche,.entete__outils{letter-spacing:.12em}
  .entete .logo__nom{font-size:clamp(21px,2.1vw,23px);letter-spacing:.2em;padding-left:.2em}
}
@media (min-width:601px) and (max-width:760px){
  .entete__haut{height:66px}
  .hero__accroche{top:90px}
  .menu{padding-top:110px}
  .entete .logo__nom{font-size:clamp(21px,calc(4.4vw - 6px),28px);letter-spacing:.14em;padding-left:.14em}
}
/* icônes de l'en-tête, sur tous les écrans : recherche, compte et sac avec le nombre d'articles (le menu « sandwich » est seulement sur téléphone, voir plus bas).
   Les mots (Menu, Recherche, Compte, Panier) restent dans la page pour les lecteurs d'écran ; le compteur de points reste en texte (« 0 PTS »), sans icône. */
.entete__outils .wp-block-navigation-item:not(.entete__pts) .wp-block-navigation-item__content::before{content:"";display:block;width:28px;height:28px;background-color:currentColor;-webkit-mask:var(--ic-m) center/contain no-repeat;mask:var(--ic-m) center/contain no-repeat;transition:opacity .25s}
.wp-site-blocks .entete__outils .wp-block-navigation-item:nth-child(1) .wp-block-navigation-item__content{--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.2'/%3E%3Cpath d='M15.2 15.2l5.3 5.3'/%3E%3C/svg%3E")}
.wp-site-blocks .entete__outils .wp-block-navigation-item:nth-child(2) .wp-block-navigation-item__content{--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.2' r='3.7'/%3E%3Cpath d='M4.8 20.2c.7-3.9 3.7-6.1 7.2-6.1s6.5 2.2 7.2 6.1'/%3E%3C/svg%3E")}
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content{--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.2 8.8h11.6l1.3 11.7H4.9z'/%3E%3Cpath d='M9 8.8V7a3 3 0 0 1 6 0v1.8'/%3E%3C/svg%3E")}
.wp-site-blocks .entete__outils .wp-block-navigation-item:not(.entete__pts) .wp-block-navigation-item__content{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:44px;padding:0}
.entete__outils .wp-block-navigation-item__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.entete__outils .entete__pts .wp-block-navigation-item__label{position:static;width:auto;height:auto;overflow:visible;clip:auto}
@media (hover:hover){.entete__outils .wp-block-navigation-item:not(.entete__pts) .wp-block-navigation-item__content:hover::before{opacity:.55}}
.wp-site-blocks .entete .entete__outils .wp-block-navigation__container{gap:0;flex-wrap:nowrap;align-items:center}
.entete__haut > .entete__outils{gap:0}
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__pts{margin:0 0 0 6px}
@media (min-width:601px){.wp-site-blocks .entete__outils .wp-block-navigation-item:not(.entete__pts) .wp-block-navigation-item__content{width:52px}.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__pts{margin:0 0 0 10px}}   /* plus d'air entre les icônes : environ 28 px entre deux dessins */
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content::after{content:attr(data-n);position:absolute;top:20px;left:calc(50% + 4px);transform:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--rouge);color:#fff;font-size:10.5px;font-weight:500;line-height:1;letter-spacing:0;font-variant-numeric:tabular-nums;pointer-events:none}   /* le nombre est une pastille rouge posée sur le coin du sac, DEHORS du sac (demande du client, 8 nov. 2026 : « put back the number outside the bag ») */
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content[data-n$="+"]::after{font-size:8.5px;padding:0 4px}
@media (max-width:600px){.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content::after{left:calc(50% + 2px);top:19px}}
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content::before{width:30px;height:30px}   /* sac un peu plus grand : le nombre tient dedans */
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content:not([data-n])::after,
.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__sac .wp-block-navigation-item__content[data-n="0"]::after{display:none}
/* l'icône la plus à droite aligne son dessin sur la marge de la page (quand le sélecteur de langue n'est pas là) */
@media (max-width:1100px){.entete__haut > .entete__outils{margin-right:-8px}}
@media (min-width:601px) and (max-width:1100px){.entete__haut > .entete__outils{margin-right:-16px}}
/* les points « 0 PTS » (clients connectés) sont à droite du sac : ils tombent sur la marge de la page, le sac ne décale plus rien ; avec le sélecteur de langue (≥ 1101 px) ils gardent de l'air avant « EN » */
@media (min-width:601px) and (max-width:1100px){.entete__haut > .entete__outils:has(.entete__pts){margin-right:0}}   /* (sous 601 px les points sont masqués : le sac reste aligné sur la marge) */
@media (min-width:1101px){.wp-site-blocks .entete__outils .wp-block-navigation-item.entete__pts{margin:0 14px 0 10px}}
/* tablette et téléphone : compte et sac seulement */
@media (max-width:760px){.wp-site-blocks .entete .entete__outils .wp-block-navigation-item:nth-child(2){display:block}}

/* « Find us » (page /find-us/) : à droite sur ordinateur, lien en texte (comme « Notre histoire ») dès 1260 px, icône seule de 1101 à 1259 px ; sous 1101 px, icône à gauche près du menu.
   Les mots restent dans la page pour les lecteurs d'écran (font-size:0 sur le lien, l'icône est un masque CSS comme les autres). */
.wp-site-blocks .entete .entete__trouver,.wp-site-blocks .entete .entete__trouver-pin{margin:0;padding:0;line-height:1}
.wp-site-blocks .entete .entete__trouver a,.wp-site-blocks .entete .entete__trouver-pin a{position:relative;display:flex;align-items:center;justify-content:center;width:52px;height:44px;padding:0;border:0;font-size:0;color:inherit;text-decoration:none;--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.6s-7.3-6.5-7.3-12.2a7.3 7.3 0 0 1 14.6 0c0 5.7-7.3 12.2-7.3 12.2z'/%3E%3Ccircle cx='12' cy='9.4' r='2.7'/%3E%3C/svg%3E")}
.entete__trouver a::before,.entete__trouver-pin a::before{content:"";display:block;flex:none;width:28px;height:28px;background-color:currentColor;-webkit-mask:var(--ic-m) center/contain no-repeat;mask:var(--ic-m) center/contain no-repeat;transition:opacity .25s}
@media (hover:hover){.entete__trouver a:hover::before,.entete__trouver-pin a:hover::before{opacity:.55}}
.wp-site-blocks .entete .entete__trouver-pin{display:none}
@media (min-width:861px) and (max-width:1100px){.entete__haut > .entete__gauche{gap:10px}}
/* (« Notre histoire » reste visible dès 861 px : le bouton « Menu + » n'est plus là) */   /* de la place pour l'épingle sans coller le nom */
@media (max-width:1100px){
  .wp-site-blocks .entete .entete__trouver{display:none}
  .wp-site-blocks .entete .entete__trouver-pin{display:block}
  .wp-site-blocks .entete .entete__trouver-pin a{width:40px}
}
@media (min-width:1260px){
  .wp-site-blocks .entete .entete__trouver{margin-right:30px}
  .wp-site-blocks .entete .entete__trouver a{width:auto;height:44px;padding:0;border:0;top:-2px;font-size:16px;font-weight:400;white-space:nowrap;transition:opacity .25s}   /* du texte simple, comme « Boutique » et « Notre histoire » (même taille que les autres liens) */
  .entete__trouver a::before{display:none}
  .entete__trouver a:hover{opacity:.55}
}

/* plan de la page « Find us » et de l'accueil : l'étiquette est en français sur les pages françaises */
html:lang(fr) .lieu__plan::after{content:"[ Cliquez pour explorer ]"}
@media (hover:none){html:lang(fr) .lieu__plan::after{content:"[ Touchez pour explorer ]"}}

/* en-tête : seulement la première lettre en majuscule (« Boutique », « Notre histoire », « Menu », « Nous trouver », « 0 pts »), interlettrage resserré pour le texte en bas de casse ;
   le nom de la marque garde ses capitales (.logo__nom a sa propre règle) et le code de langue (EN / FR) aussi */
.wp-site-blocks .entete .entete__gauche,.wp-site-blocks .entete .entete__outils,.wp-site-blocks .entete .entete__gauche a,.wp-site-blocks .entete .entete__outils a,.wp-site-blocks .entete .menu-btn{text-transform:none;letter-spacing:.05em}
.wp-site-blocks .entete .entete__outils .langue,.wp-site-blocks .entete .entete__outils .langue a{text-transform:uppercase;letter-spacing:.14em}
.wp-site-blocks .entete .entete__liens,.wp-site-blocks .entete .entete__liens a,.wp-site-blocks .entete .menu-btn,.wp-site-blocks .entete .entete__pts a{font-size:16px}   /* texte de l'en-tête plus grand : « Menu + », « Boutique », « Notre histoire », « 0 pts » (et « Nous trouver » plus bas) à la même taille */
.wp-site-blocks .entete .entete__outils .langue,.wp-site-blocks .entete .entete__outils .langue a{font-size:13px}
@media (min-width:601px){.wp-site-blocks .entete .menu-btn,.wp-site-blocks .entete .entete__pts a{position:relative;top:-2px}}   /* même ligne de base que « Boutique » */
@media (max-width:1100px){.wp-site-blocks .entete .entete__liens,.wp-site-blocks .entete .entete__liens a,.wp-site-blocks .entete .menu-btn,.wp-site-blocks .entete .entete__pts a{font-size:15px}}

/* « Customer service » (Service à la clientèle) à côté de « Notre histoire » : le libellé est long, il apparaît dès 1240 px ; en dessous il reste dans le pied de page et le menu */
@media (max-width:1239px){.wp-site-blocks .entete__gauche .entete__liens .wp-block-navigation-item:nth-child(3){display:none}}

/* le bouton « Menu + » n'est plus dans l'en-tête dès 861 px (demande du client) ; en dessous il reste : c'est le seul accès aux collections quand « Boutique » et « Notre histoire » sont masqués */
@media (min-width:861px){.wp-site-blocks .entete .menu-btn{display:none}}

/* téléphone (600 px et moins) : une seule ligne, comme les boutiques de luxe : menu sandwich à gauche, nom au centre, compte et sac à droite.
   Les points de fidélité sont dans la page Compte. */
@media (max-width:600px){
  .entete__haut,.entete .entete__haut:has(.entete__pts){grid-template-columns:80px minmax(0,1fr) 80px;grid-template-areas:none;height:62px;gap:8px;padding-top:0;padding-bottom:0}
  .entete__haut > .logo,.entete__haut > .entete__gauche,.entete__haut > .entete__outils{grid-area:auto}
  .entete__haut > .logo{justify-self:center}
  .entete .logo__nom,.entete .entete__haut:has(.entete__pts) .logo__nom{font-size:clamp(10.5px,calc((100vw - 222px) / 9.9),24px);letter-spacing:.08em;padding-left:.08em}
  .entete__haut > .entete__outils{justify-self:end;display:flex;align-items:center}
  .wp-site-blocks .entete .entete__outils .wp-block-navigation-item.entete__pts{display:none}
  /* menu sandwich (sur ordinateur et tablette, le bouton garde « Menu + ») */
  .entete .menu-btn{width:40px;height:44px;margin-left:-3px;justify-content:flex-start}
  .entete .menu-btn__mot,.entete .menu-btn__signe{display:none}
  .entete__haut > .entete__gauche{gap:0}
  .wp-site-blocks .entete .entete__trouver-pin a{width:38px}
  .entete .menu-btn::before{content:"";display:block;width:28px;height:28px;background-color:currentColor;-webkit-mask:var(--ic-m) center/contain no-repeat;mask:var(--ic-m) center/contain no-repeat;transition:opacity .25s;--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h18M3 12h18M3 17h18'/%3E%3C/svg%3E")}
  .menu-ouvert .entete .menu-btn::before{--ic-m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 5.5l13 13M18.5 5.5l-13 13'/%3E%3C/svg%3E")}
}


.fiche__infos .fiche__icone{display:block;justify-self:start;font-style:normal;background-color:var(--noir,#000);-webkit-mask:var(--ic) left center/contain no-repeat;mask:var(--ic) left center/contain no-repeat}
.fiche__infos .fiche__icone--sac{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='299 122 1211 1669' color='%23000'%3E%3Cmask id='cd-sac' maskUnits='userSpaceOnUse' x='299' y='122' width='1211' height='1669'%3E%3Crect x='299' y='122' width='1211' height='1669' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5z' fill='%23000'/%3E%3Cpath transform='translate(886,162)' d='m0 0h38l21 3 25 6 22 8 16 8 16 9 14 10 14 11 12 11 11 11 9 11 8 10 18 27 10 18 10 23 8 22 8 31 4 28 3 34v127l-1 1h-491l-1-1v-131l2-21 4-28 6-27 6-22 9-21 11-23 10-17 11-16 10-13 11-12 7-8 10-10 11-9 17-13 20-12 16-8 21-8 19-5z' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5zm-5 26-25 4-19 5-24 9-17 9-19 12-14 11-15 13-12 12-7 8-10 12-13 18-15 26-12 25-8 21-8 33-4 22-3 23-1 14v131l1 1h491l1-1v-127l-3-34-4-28-8-31-10-27-8-18-13-23-13-19-9-12-9-10-7-8-13-13-14-11-15-11-15-9-16-8-14-6-19-6-24-5-15-2zm-448 432-2 13-5 51-7 67-4 44-3 23-3 46-4 25-5 58-4 38-2 29-5 36-3 44-15 138-2 26-4 37-3 32-3 33-3 37-4 32-4 50-4 19-1 8-2 41-4 24-2 26-1 30-1 8-1 26v3l1 2 3 21 7 21 6 9 6 12 10 13 8 9 13 10 17 8 14 5 11 1h929l26-1 19-8 14-8 13-11 7-8 9-14 8-14 6-15 3-10 1-8v-41l-8-89-3-33-4-32-2-29-4-31-6-65-6-67-5-51-5-50-6-65-6-67-5-47-4-46-3-25-4-48-3-30-3-37-5-43-5-63-3-27-2-34-4-33-1-5h-194l-1 1v57l-1 54-2 4-6 4h-7l-5-2-1-4-1-114h-494l-1 1v58l-1 52-3 6-4 3h-7l-5-5-2-5-1-110z' fill='%23fff'/%3E%3Cpath transform='translate(1007,986)' d='m0 0h56l20 2 25 5 25 8 22 12 17 12 13 12 7 8 9 13 10 17 10 25 6 24 3 21 1 12v29l-2 20-5 25-6 20-9 21-8 15-12 17-12 14-8 8-11 9-14 10-14 8-19 8-18 6-29 6-9 1h-50l-28-5-19-6-16-8-14-9-22-18-2 4-11 13-8 8-14 9-14 7-17 5-6 1h-22l-18-4-16-7-14-11-9-10-6-12-4-16-1-7v-16l3-14 5-13 6-11 8-10 8-8 15-11 16-9h3l-10-15-9-16-5-14-3-13v-18l4-15 7-13 8-8 13-9 14-5 8-2h24l16 4 14 7 8 7 7 11 3 7 1 5v20l-3 12-6 11-11 13-10 8-13 8-15 7h-2l7 8 13 15 12 14 10 11 9 11 11 12 4 4 3-10 14-39 10-21 9-12 9-10 10-8 15-7 14-3h15l13 3 11 6 7 7 5 11 1 4v10l-3 9-7 6-5 2h-11l-6-3-5-6-4-16-2-5-4-2-7-3h-10l-14 7-7 7-10 15-8 18-8 22-6 18-5 12 2 4 13 13 8 7 10 8 20 12 15 7 22 6 14 2h17l21-3 22-6 17-8 12-8 10-8 11-11 11-15 12-23 7-18 6-23 4-24 2-29v-11l-2-27-4-22-6-20-10-24-9-15-10-13-7-8-10-8-13-8-16-8-16-5-25-5h-38l-20 2v149l-20 5-16 8-6 4h-2v-36l-1-112-2-10-4-6-5-4-21-5-1-1v-11z' fill='%23fff'/%3E%3Cpath transform='translate(753,953)' d='m0 0 24 1 28 4 40 9 5 3 1 13 2 45 1 21-1 2h-12l-3-5-6-21-7-16-8-11-8-8-14-8-12-5-9-2-9-1h-28l-17 3-15 5-15 8-12 9-12 12-10 14-9 16-6 14-7 23-5 27-2 23v19l4 33 4 18 7 22 8 18 9 15 11 14 12 12 13 10 16 9 16 8v8l2 11 1 4-25-5-24-8-16-8-11-7-13-10-12-11-9-10-10-14-14-27-7-20-6-26-3-26v-29l3-25 4-18 5-17 10-23 14-23 11-13 16-16 13-10 14-9 16-8 14-5 21-5 15-2z' fill='%23fff'/%3E%3Cpath transform='translate(816,1226)' d='m0 0h2l8 11 18 22 13 15 11 12 9 11 8 8 7 8 3 4-2 4-5 6-8 7-10 8-13 6-15 3h-8l-14-3-14-7-10-9-8-11-5-14-1-7v-17l4-16 9-19 8-10 12-11z' fill='%23000'/%3E%3Cpath transform='translate(842,1104)' d='m0 0h7l13 4 7 6 5 8 3 11v16l-3 14-5 10-12 13-13 10-5 1-7-8-10-17-5-13-3-12v-11l3-13 6-10 8-6z' fill='%23000'/%3E%3Cpath transform='translate(838,1287)' d='m0 0 4 1 8 5 4 4-1 4-18 11-16 6-10 3-5-1-5-11-1-4 7-2 13-5 17-9z' fill='%23fff'/%3E%3C/mask%3E%3Crect x='299' y='122' width='1211' height='1669' fill='currentColor' mask='url(%23cd-sac)'/%3E%3C/svg%3E");height:40px;aspect-ratio:1211/1669}
/* paiement avec un panier vide : le SAC Crème & Délice, pas le chariot de WooCommerce (demande du client, 9 nov. 2026) ; le message se centre sur toute la largeur (plus de filet au milieu d'une page à moitié vide) */
.wp-site-blocks .wc-block-checkout-empty__image{display:none}
.wp-site-blocks .wc-block-checkout-empty::before{content:"";display:block;width:66px;height:91px;margin:0 auto 30px;background:var(--noir);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='299 122 1211 1669' color='%23000'%3E%3Cmask id='cd-sac' maskUnits='userSpaceOnUse' x='299' y='122' width='1211' height='1669'%3E%3Crect x='299' y='122' width='1211' height='1669' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5z' fill='%23000'/%3E%3Cpath transform='translate(886,162)' d='m0 0h38l21 3 25 6 22 8 16 8 16 9 14 10 14 11 12 11 11 11 9 11 8 10 18 27 10 18 10 23 8 22 8 31 4 28 3 34v127l-1 1h-491l-1-1v-131l2-21 4-28 6-27 6-22 9-21 11-23 10-17 11-16 10-13 11-12 7-8 10-10 11-9 17-13 20-12 16-8 21-8 19-5z' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5zm-5 26-25 4-19 5-24 9-17 9-19 12-14 11-15 13-12 12-7 8-10 12-13 18-15 26-12 25-8 21-8 33-4 22-3 23-1 14v131l1 1h491l1-1v-127l-3-34-4-28-8-31-10-27-8-18-13-23-13-19-9-12-9-10-7-8-13-13-14-11-15-11-15-9-16-8-14-6-19-6-24-5-15-2zm-448 432-2 13-5 51-7 67-4 44-3 23-3 46-4 25-5 58-4 38-2 29-5 36-3 44-15 138-2 26-4 37-3 32-3 33-3 37-4 32-4 50-4 19-1 8-2 41-4 24-2 26-1 30-1 8-1 26v3l1 2 3 21 7 21 6 9 6 12 10 13 8 9 13 10 17 8 14 5 11 1h929l26-1 19-8 14-8 13-11 7-8 9-14 8-14 6-15 3-10 1-8v-41l-8-89-3-33-4-32-2-29-4-31-6-65-6-67-5-51-5-50-6-65-6-67-5-47-4-46-3-25-4-48-3-30-3-37-5-43-5-63-3-27-2-34-4-33-1-5h-194l-1 1v57l-1 54-2 4-6 4h-7l-5-2-1-4-1-114h-494l-1 1v58l-1 52-3 6-4 3h-7l-5-5-2-5-1-110z' fill='%23fff'/%3E%3Cpath transform='translate(1007,986)' d='m0 0h56l20 2 25 5 25 8 22 12 17 12 13 12 7 8 9 13 10 17 10 25 6 24 3 21 1 12v29l-2 20-5 25-6 20-9 21-8 15-12 17-12 14-8 8-11 9-14 10-14 8-19 8-18 6-29 6-9 1h-50l-28-5-19-6-16-8-14-9-22-18-2 4-11 13-8 8-14 9-14 7-17 5-6 1h-22l-18-4-16-7-14-11-9-10-6-12-4-16-1-7v-16l3-14 5-13 6-11 8-10 8-8 15-11 16-9h3l-10-15-9-16-5-14-3-13v-18l4-15 7-13 8-8 13-9 14-5 8-2h24l16 4 14 7 8 7 7 11 3 7 1 5v20l-3 12-6 11-11 13-10 8-13 8-15 7h-2l7 8 13 15 12 14 10 11 9 11 11 12 4 4 3-10 14-39 10-21 9-12 9-10 10-8 15-7 14-3h15l13 3 11 6 7 7 5 11 1 4v10l-3 9-7 6-5 2h-11l-6-3-5-6-4-16-2-5-4-2-7-3h-10l-14 7-7 7-10 15-8 18-8 22-6 18-5 12 2 4 13 13 8 7 10 8 20 12 15 7 22 6 14 2h17l21-3 22-6 17-8 12-8 10-8 11-11 11-15 12-23 7-18 6-23 4-24 2-29v-11l-2-27-4-22-6-20-10-24-9-15-10-13-7-8-10-8-13-8-16-8-16-5-25-5h-38l-20 2v149l-20 5-16 8-6 4h-2v-36l-1-112-2-10-4-6-5-4-21-5-1-1v-11z' fill='%23fff'/%3E%3Cpath transform='translate(753,953)' d='m0 0 24 1 28 4 40 9 5 3 1 13 2 45 1 21-1 2h-12l-3-5-6-21-7-16-8-11-8-8-14-8-12-5-9-2-9-1h-28l-17 3-15 5-15 8-12 9-12 12-10 14-9 16-6 14-7 23-5 27-2 23v19l4 33 4 18 7 22 8 18 9 15 11 14 12 12 13 10 16 9 16 8v8l2 11 1 4-25-5-24-8-16-8-11-7-13-10-12-11-9-10-10-14-14-27-7-20-6-26-3-26v-29l3-25 4-18 5-17 10-23 14-23 11-13 16-16 13-10 14-9 16-8 14-5 21-5 15-2z' fill='%23fff'/%3E%3Cpath transform='translate(816,1226)' d='m0 0h2l8 11 18 22 13 15 11 12 9 11 8 8 7 8 3 4-2 4-5 6-8 7-10 8-13 6-15 3h-8l-14-3-14-7-10-9-8-11-5-14-1-7v-17l4-16 9-19 8-10 12-11z' fill='%23000'/%3E%3Cpath transform='translate(842,1104)' d='m0 0h7l13 4 7 6 5 8 3 11v16l-3 14-5 10-12 13-13 10-5 1-7-8-10-17-5-13-3-12v-11l3-13 6-10 8-6z' fill='%23000'/%3E%3Cpath transform='translate(838,1287)' d='m0 0 4 1 8 5 4 4-1 4-18 11-16 6-10 3-5-1-5-11-1-4 7-2 13-5 17-9z' fill='%23fff'/%3E%3C/mask%3E%3Crect x='299' y='122' width='1211' height='1669' fill='currentColor' mask='url(%23cd-sac)'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='299 122 1211 1669' color='%23000'%3E%3Cmask id='cd-sac' maskUnits='userSpaceOnUse' x='299' y='122' width='1211' height='1669'%3E%3Crect x='299' y='122' width='1211' height='1669' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5z' fill='%23000'/%3E%3Cpath transform='translate(886,162)' d='m0 0h38l21 3 25 6 22 8 16 8 16 9 14 10 14 11 12 11 11 11 9 11 8 10 18 27 10 18 10 23 8 22 8 31 4 28 3 34v127l-1 1h-491l-1-1v-131l2-21 4-28 6-27 6-22 9-21 11-23 10-17 11-16 10-13 11-12 7-8 10-10 11-9 17-13 20-12 16-8 21-8 19-5z' fill='%23000'/%3E%3Cpath transform='translate(891,136)' d='m0 0h29l23 3 24 5 27 9 21 9 19 10 15 10 16 12 9 9 8 7 8 8 7 8 9 10 10 13 11 17 13 24 12 26 12 36 7 30 2 13 3 28 1 16 1 34v40l-1 58h207l10 7 2 3 1 5 3 39 5 51 6 61 3 39 3 19 3 40 5 47 4 37 5 47 3 38 4 35 3 39 3 26 5 60 3 25 3 36 5 43 3 41 4 31 3 39 5 44 4 45 3 23 6 64 3 24 1 25v39l-2 19-4 15-5 15-8 17-7 11-10 13-11 12-11 9-11 7-11 6-9 4-17 4-34 1h-914l-18-1-16-3-19-8-16-9-17-14-7-9-12-17-7-14-7-17-7-28-2-16 1-49 5-39 3-41 5-45 3-35 4-30 1-29 6-57 2-33 4-28 2-22 1-20 4-27 3-31 4-42 4-34 2-32 3-17 4-57 5-35 3-42 4-30 1-14 1-20 5-32 1-9v-23l5-46 3-34 2-30 1-3h2l1-28 3-36 2-9 7-8 2-2 127-1h85l2-130 4-41 4-25 8-31 6-18 11-26 10-19 13-21 16-21 9-11 11-11 7-8 7-7 8-7 13-10 14-10 17-10 19-9 19-7 21-6 28-5zm-5 26-25 4-19 5-24 9-17 9-19 12-14 11-15 13-12 12-7 8-10 12-13 18-15 26-12 25-8 21-8 33-4 22-3 23-1 14v131l1 1h491l1-1v-127l-3-34-4-28-8-31-10-27-8-18-13-23-13-19-9-12-9-10-7-8-13-13-14-11-15-11-15-9-16-8-14-6-19-6-24-5-15-2zm-448 432-2 13-5 51-7 67-4 44-3 23-3 46-4 25-5 58-4 38-2 29-5 36-3 44-15 138-2 26-4 37-3 32-3 33-3 37-4 32-4 50-4 19-1 8-2 41-4 24-2 26-1 30-1 8-1 26v3l1 2 3 21 7 21 6 9 6 12 10 13 8 9 13 10 17 8 14 5 11 1h929l26-1 19-8 14-8 13-11 7-8 9-14 8-14 6-15 3-10 1-8v-41l-8-89-3-33-4-32-2-29-4-31-6-65-6-67-5-51-5-50-6-65-6-67-5-47-4-46-3-25-4-48-3-30-3-37-5-43-5-63-3-27-2-34-4-33-1-5h-194l-1 1v57l-1 54-2 4-6 4h-7l-5-2-1-4-1-114h-494l-1 1v58l-1 52-3 6-4 3h-7l-5-5-2-5-1-110z' fill='%23fff'/%3E%3Cpath transform='translate(1007,986)' d='m0 0h56l20 2 25 5 25 8 22 12 17 12 13 12 7 8 9 13 10 17 10 25 6 24 3 21 1 12v29l-2 20-5 25-6 20-9 21-8 15-12 17-12 14-8 8-11 9-14 10-14 8-19 8-18 6-29 6-9 1h-50l-28-5-19-6-16-8-14-9-22-18-2 4-11 13-8 8-14 9-14 7-17 5-6 1h-22l-18-4-16-7-14-11-9-10-6-12-4-16-1-7v-16l3-14 5-13 6-11 8-10 8-8 15-11 16-9h3l-10-15-9-16-5-14-3-13v-18l4-15 7-13 8-8 13-9 14-5 8-2h24l16 4 14 7 8 7 7 11 3 7 1 5v20l-3 12-6 11-11 13-10 8-13 8-15 7h-2l7 8 13 15 12 14 10 11 9 11 11 12 4 4 3-10 14-39 10-21 9-12 9-10 10-8 15-7 14-3h15l13 3 11 6 7 7 5 11 1 4v10l-3 9-7 6-5 2h-11l-6-3-5-6-4-16-2-5-4-2-7-3h-10l-14 7-7 7-10 15-8 18-8 22-6 18-5 12 2 4 13 13 8 7 10 8 20 12 15 7 22 6 14 2h17l21-3 22-6 17-8 12-8 10-8 11-11 11-15 12-23 7-18 6-23 4-24 2-29v-11l-2-27-4-22-6-20-10-24-9-15-10-13-7-8-10-8-13-8-16-8-16-5-25-5h-38l-20 2v149l-20 5-16 8-6 4h-2v-36l-1-112-2-10-4-6-5-4-21-5-1-1v-11z' fill='%23fff'/%3E%3Cpath transform='translate(753,953)' d='m0 0 24 1 28 4 40 9 5 3 1 13 2 45 1 21-1 2h-12l-3-5-6-21-7-16-8-11-8-8-14-8-12-5-9-2-9-1h-28l-17 3-15 5-15 8-12 9-12 12-10 14-9 16-6 14-7 23-5 27-2 23v19l4 33 4 18 7 22 8 18 9 15 11 14 12 12 13 10 16 9 16 8v8l2 11 1 4-25-5-24-8-16-8-11-7-13-10-12-11-9-10-10-14-14-27-7-20-6-26-3-26v-29l3-25 4-18 5-17 10-23 14-23 11-13 16-16 13-10 14-9 16-8 14-5 21-5 15-2z' fill='%23fff'/%3E%3Cpath transform='translate(816,1226)' d='m0 0h2l8 11 18 22 13 15 11 12 9 11 8 8 7 8 3 4-2 4-5 6-8 7-10 8-13 6-15 3h-8l-14-3-14-7-10-9-8-11-5-14-1-7v-17l4-16 9-19 8-10 12-11z' fill='%23000'/%3E%3Cpath transform='translate(842,1104)' d='m0 0h7l13 4 7 6 5 8 3 11v16l-3 14-5 10-12 13-13 10-5 1-7-8-10-17-5-13-3-12v-11l3-13 6-10 8-6z' fill='%23000'/%3E%3Cpath transform='translate(838,1287)' d='m0 0 4 1 8 5 4 4-1 4-18 11-16 6-10 3-5-1-5-11-1-4 7-2 13-5 17-9z' fill='%23fff'/%3E%3C/mask%3E%3Crect x='299' y='122' width='1211' height='1669' fill='currentColor' mask='url(%23cd-sac)'/%3E%3C/svg%3E") center/contain no-repeat}
.fiche__infos .fiche__icone--camion{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='168 311 1631 1161' color='%23000'%3E%3Cmask id='cd-camion' maskUnits='userSpaceOnUse' x='168' y='311' width='1631' height='1161'%3E%3Crect x='168' y='311' width='1631' height='1161' fill='%23000'/%3E%3Cpath transform='translate(800,325)' d='m0 0 364 1 2 6 1 128 1 1 304 1 2 1 2 9 5 5 5 10 4 6 2 5 4 5 3 8 5 6 2 7 4 5 4 9 4 6 3 7 5 6 3 7 4 7 2 4 4 4 3 9 4 5 3 9 5 4 3 9 3 3 3 11 4 2 4 10 4 4 3 9 5 6 3 7 3 3 5 11 4 6 3 7 3 4 3 7 5 6 1 7 5 4 4 10 3 3 3 9 5 6 3 8 5 6 3 7 15 15 7 8 2 1v2l4 2 17 17 7 8 6 5v2l4 2 5 6 6 4 4 6 7 7 8 7 10 10 7 8 10 10 8 7 12 12 1 2v221l-1 162-2 4-4 2-8 1-173 1-3 4-2 23-1 22-5 10-3 10-4 5-3 9-4 5-4 6-5 6-4 6-9 9h-2l-2 4-9 6-3 3-6 3-10 6-5 4-12 4-2 2-24 3-19 4h-8l-28-5-12-1-10-5-9-2-5-3-1-4-7-1-7-5v-2l-4-2-10-8-11-9-3-6-12-13-4-8-4-9-6-9-2-14-4-6-1-3-1-35-3-5h-675l-4 9-2 13-1 2-1 19-2 9-5 10-2 10-4 2-2 9-10 14-6 7h-2l-2 6-7 6-10 8-12 8-10 6-4 3-13 5-4 2-23 3-4 2-10 1h-17l-34-5-11-4-18-8-9-6-11-9-15-13-4-6-8-9-5-7-2-5-4-6-3-8-3-4-3-17-4-6-1-4-1-33-1-3-2-1-146-1-4-4v-146l1-820 3-5z' fill='%23000'/%3E%3Cpath transform='translate(800,325)' d='m0 0 364 1 2 6 1 128 1 1 304 1 2 1 2 9 5 5 5 10 4 6 2 5 4 5 3 8 5 6 2 7 4 5 4 9 4 6 3 7 5 6 3 7 4 7 2 4 4 4 3 9 4 5 3 9 5 4 3 9 3 3 3 11 4 2 4 10 4 4 3 9 5 6 3 7 3 3 5 11 4 6 3 7 3 4 3 7 5 6 1 7 5 4 4 10 3 3 3 9 5 6 3 8 5 6 3 7 15 15 7 8 2 1v2l4 2 17 17 7 8 6 5v2l4 2 5 6 6 4 4 6 7 7 8 7 10 10 7 8 10 10 8 7 12 12 1 2v221l-1 162-2 4-4 2-8 1-173 1-3 4-2 23-1 22-5 10-3 10-4 5-3 9-4 5-4 6-5 6-4 6-9 9h-2l-2 4-9 6-3 3-6 3-10 6-5 4-12 4-2 2-24 3-19 4h-8l-28-5-12-1-10-5-9-2-5-3-1-4-7-1-7-5v-2l-4-2-10-8-11-9-3-6-12-13-4-8-4-9-6-9-2-14-4-6-1-3-1-35-3-5h-675l-4 9-2 13-1 2-1 19-2 9-5 10-2 10-4 2-2 9-10 14-6 7h-2l-2 6-7 6-10 8-12 8-10 6-4 3-13 5-4 2-23 3-4 2-10 1h-17l-34-5-11-4-18-8-9-6-11-9-15-13-4-6-8-9-5-7-2-5-4-6-3-8-3-4-3-17-4-6-1-4-1-33-1-3-2-1-146-1-4-4v-146l1-820 3-5zm-602 13-3 5v828l1 2 7 1h932l7-3 2-7v-678l2-3-2-28v-43l-1-65-3-7-1-1z' fill='%23fff'/%3E%3Cpath transform='translate(1173,479)' d='m0 0h280l6 3 5 5 3 8 5 4 3 9 4 7 4 8 3 3 4 9 3 3 4 9 3 3 3 11 4 2 3 8 4 5 4 10 4 5 4 9 3 3 4 8 4 5 4 8 4 4 1 8 4 4 3 10 4 2 6 12 3 5 2 5 5 5 3 8 3 4 2 7 6 7 3 7 4 5 4 9 3 5 4 8 5 7 3 6 3 4 3 8 4 4 3 8 3 4 2 7 6 8 10 9 8 8 4 5 8 7 8 8 8 7 11 12 16 15 5 5 4 5 8 7 8 8 2 1v2h2v2l4 2 12 13 12 10 1 3v247l-2 3h-149l-2-2-1-5v-311l-2-8-9-14-3-6-3-4-3-8-6-11-3-5-8-16-4-4-3-9-3-3-3-9-3-3-4-8-3-7-4-7-14-24-6-12-5-9-2-2-3-8-5-7-3-7-4-5-3-8-3-5-5-8-3-7-3-5-3-6-3-5-4-5-3-8-2-2-3-8-2-2-3-8-5-9-4-4-5-12-3-3-4-9-5-7-4-2h-226l-6 4-1 3-1 626-5 4h-27l-5-2-1-3v-688z' fill='%23000'/%3E%3Cpath transform='translate(820,535)' d='m0 0h51l30 3 26 6 14 5 19 8 18 11 13 9 20 18 7 8 8 10 8 12 10 17 8 19 5 15 5 19 3 14 3 25v48l-5 36-7 28-10 25-9 19-6 10-7 11-10 13-10 11-1 2h-2l-2 4-3 3h-2v2h-2v2l-16 12-9 7-19 11-20 9-16 6-22 5-23 4-18 1h-39l-18-2-19-3-21-6-22-10-14-8-20-15-5 5-4 6h-2l-2 4-10 11-1 2h-2v2h-2v2l-13 10-14 8-8 4-19 6-16 2h-15l-13-2-15-4-12-5-11-7-12-11-8-10-8-14-5-16-2-11v-24l2-15 6-17 7-13 11-14 14-14 18-13 17-10-7-12-7-11-7-12-7-21-3-16v-21l4-16 5-11 7-10 10-11 14-9 8-4 15-4 8-1h21l17 3 16 7 13 11 9 13 5 13 2 14v10l-3 14-5 13-7 11-8 11h-2v2l-15 11-13 8-16 8 1 5 8 10 9 11 13 15 9 10 7 8 10 11v2h2l9 11 4 4v2h4l12-36 7-20 7-17 11-20 10-13 10-10 14-9 15-6 9-2h21l13 3 14 7 7 7 6 12 1 5v14l-4 10-7 8-5 3h-15l-6-3-7-8-1-3-1-15-3-6-3-3-6-2h-16l-10 4-10 8-9 12-9 17-11 27-5 16-9 26-3 7v5l16 15 14 11 15 10 19 10 15 6 16 4 18 3h25l19-2 26-7 11-5 12-6 12-8 13-11 12-12 9-12 11-18 8-16 5-11 9-28 4-20 3-22 1-10v-49l-3-25-5-26-5-17-10-25-7-13-10-16-11-13-12-12-12-9-13-8-14-7-18-6-18-4-22-2-33 1-20 3-4 2-1 181-9 3-13 4-11 6-7 5h-2v2l-4 3h-2l-1 2-1-1-1-182-2-12-3-7-1-3-4-2-6-4-21-5-3-2v-13l1-1 94-1z' fill='%23fff'/%3E%3Cpath transform='translate(1226,865)' d='m0 0h369l2 1v293h-4l-12-12v-2h-2l-3-5-5-5-14-15-6-8-5-5-4-5-6-5-9-1h-183l-8 5-7 11-11 17h-2l-2 5-10 16-8 12-8 11-3 1h-58l-5-3-1-3v-299l2-3z' fill='%23000'/%3E%3Cpath transform='translate(1226,553)' d='m0 0h194l9 1 7 6 3 6 5 9 2 2 3 8 3 4 6 11 4 9 7 13 5 10v2l4 2 3 7 8 16 4 7 4 8 7 11 3 8 3 2 4 9 10 18 5 10 5 9 3 4 3 9 3 2 4 9 6 11 3 4 3 7 6 11 3 4 4 9 6 12 3 5 8 14v5l-5 1h-130l-230-1-3-4v-284l3-5z' fill='%23000'/%3E%3Cpath transform='translate(1260,1191)' d='m0 0h8l7 2-2 5-14 21h-2l-2 6-5 7-3 5-14 22-3 5-4 4-6 9-3 6-4 6h-591l-3-3-6-12-2-14-4-2-3-10-3-3-4-7-5-8-5-5-12-13-3-3-8-5-8-3v-7l2-2z' fill='%23000'/%3E%3Cpath transform='translate(460,1192)' d='m0 0h37l12 2 8 4 9 1 6 5 13 5 5 4 6 3 9 9 5 3 4 7 5 4 7 9 3 9 5 5 3 13 4 7 1 4v56l-2 10-3 7-3 8-5 6-3 7-4 4-7 10-6 8-8 7-10 8-7 5-2 3-9 2-2 5-3 2-15 1-4 4-3 1h-55l-9-5-15-2-3-4-12-6-7-7-7-5-1-2-7-3-4-5-6-8-7-9-4-5-3-10-4-5-3-14-4-7-1-4-1-21v-14l2-17 3-5 3-15 5-2 1-9 9-11 7-9 4-6 11-9 4-1 2-4 5-4 5-3 1-2 8-2 6-4 6-2 11-4 3-2z' fill='%23000'/%3E%3Cpath transform='translate(1448,1189)' d='m0 0h11l13 2 6 2 14 3 17 8 3 3 8 4 6 4 13 12 1 3 4 2 1 3 4 2 2 6 4 2 7 14 3 5 3 10 3 7 4 22 1 15-2 10-1 20-5 8-2 5-2 7-4 5-3 9-4 2-7 8-3 5-4 5-8 5-8 7h-2l-2 4-10 4-5 4-9 3-2 3-22 2-15 2h-10l-5-1-29-2-7-5-13-4-4-4-10-5v-2l-5-2v-2l-5-2-5-3-10-13-7-7-1-5-5-3-5-13-3-3-1-3-1-11-5-17v-26l3-15 3-5 4-16 8-16 5-8 9-11 5-5 14-12 9-6 11-7 12-5 5-2 14-3 9-2z' fill='%23000'/%3E%3Cpath transform='translate(1350,1114)' d='m0 0h180l12 13 7 9 9 9 9 10 6 8 11 13 12 12 6 3h163l3 5v87l-1 5-2 1h-170l-4-4-2-10-4-13-9-18-6-8-3-6-8-9-7-8-5-4-5-5-8-6-10-6-4-2-2-3-9-3-5-3-8-2-7-3-29-2h-25l-22 2-13 5-7 2-11 6-12 7-6 5-5 3-7 8-5 4h-2l-2 5-6 7h-2l-2 5-5 7-6 11-4 8-6 15-1 8-6 7h-67l-1-5 5-9 7-10 4-6 5-8 7-10 3-5 6-8 3-6 14-20 3-6 3-3 6-10 7-11 4-5 3-6 7-10 4-6 4-7 8-12 4-7z' fill='%23000'/%3E%3Cpath transform='translate(496,495)' d='m0 0h32l23 2 23 4 26 7 10 2 12 3 3 3 3 69 1 29-9 2h-8l-3-9-5-19-6-15-8-14v-2h-2l-9-11-9-8-10-6-7-4-19-6-14-2h-31l-17 3-16 5-10 4-20 12-9 7-12 11-13 16-10 16-8 16-8 21-4 12-4 17-4 27-2 27v14l2 35 4 24 6 23 7 20 9 20 10 16 9 12 8 10 11 11 13 10 10 7 14 7 18 7 2 5 3 19 2 9h-8l-19-4-24-7-15-6-16-9-11-7-13-10-11-9v-2h-2v-2h-2v-2h-2l-7-9-12-15-10-16-8-14-11-27-4-14-4-15-5-30-1-22v-18l1-24 4-27 5-21 6-18 9-21 11-20 10-15 11-13 9-10 10-10 14-11 8-6 18-11 12-6 18-7 22-6 22-3z' fill='%23fff'/%3E%3Cpath transform='translate(387,1191)' d='m0 0h9l3 2v8l-2 2-10 2-8 7-6 8-8 6-4 6-5 9-3 3-5 12-3 3-3 15-4 5-4 9-1 1h-137l-1-1v-94l2-2z' fill='%23000'/%3E%3Cpath transform='translate(583,837)' d='m0 0 5 1 7 10 8 10 13 16 11 13 8 8 8 10 15 16 10 10v2h2v2h2v2h2v2l3 1 3 4-2 6-7 8-6 7-14 11-14 8-17 5h-24l-14-5-12-8-8-7-9-12-6-13-3-14-1-17 2-17 5-16 8-16 7-9 10-11z' fill='%23000'/%3E%3Cpath transform='translate(469,1263)' d='m0 0h17l16 6 11 7 8 8 4 6 5 14 1 4v17l-4 11-6 12-15 12-6 3-3 2-9 2-1 1h-13l-19-5-5-4-8-6-5-4-5-8-5-16v-17l6-18 6-8 8-8 6-4h3l1-3 9-2z' fill='%23000'/%3E%3Cpath transform='translate(1439,1262)' d='m0 0h23l9 4 8 4 5 4 7 8 5 6 4 10 2 10v10l-2 10-3 8-7 10-5 5-8 6-8 5-8 2-21 1-12-4-15-10-4-6-3-4-4-12-3-6v-19l6-18 7-8 5-5 11-6 3-3z' fill='%23000'/%3E%3Cpath transform='translate(472,1245)' d='m0 0h16l16 5 13 8 5 3 15 16 5 10 4 10 3 9v18l-4 15-7 12-5 9-10 9-12 8-9 4-19 5-13-1-17-4-6-3-10-7-8-7-6-5-8-15-3-9-3-13v-15l3-8 3-12 6-10 12-13 5-5 6-4 8-4 5-2zm-3 18-6 3-7 2v2l-5 1-12 11-6 8-6 18v17l6 18 5 7 10 8 6 4 7 3 13 3h13l3-2 9-2 5-3 11-8 6-5 6-12 4-11v-17l-4-13-4-8-9-10-10-7-9-4-9-3z' fill='%23fff'/%3E%3Cpath transform='translate(1442,1244)' d='m0 0h14l11 2 18 8 3 3 6 3 4 5 5 4 7 11 5 8 5 17v16l-7 22-3 5-7 10-7 8-8 5-5 3-4 3-10 3-5 2-7 1h-15l-13-3-10-5-10-7-6-3-12-14-6-15-5-19v-13l7-21 3-4 3-6 5-5 6-7 12-6 4-3 13-5zm-3 18-10 3-3 3-9 5-5 5-8 10-5 16v19l4 9 4 11 5 6 4 4 6 4 8 5 12 3 19-1 10-3 10-7 5-4 5-5 6-9 3-8 2-10v-10l-4-16-5-8-4-5-5-5-8-6-14-6z' fill='%23fff'/%3E%3Cpath transform='translate(611,683)' d='m0 0h17l10 4 6 5 7 10 4 10 2 12v13l-4 16-5 12-6 9-9 10-8 8-11 7-4-2-16-24-8-16-4-14-1-6v-22l5-14 9-10 9-6z' fill='%23000'/%3E%3Cpath transform='translate(1273,593)' d='m0 0h100l6 9 3 6 2 7 4 5 3 9 4 5 3 10 5 4 3 12 4 3 2 11 4 2 4 12 4 4 3 11 5 5 2 10 5 5 3 10 4 4 2 9 4 4 3 10 6 7 3 9 5 6 2 13-4 8h-7l-10-17-1-5-4-4-4-11v-2l-4-2-3-11-4-4-3-10-3-1-4-10v-3h-2l-4-8-2-5-5-9-3-7-3-5-4-9-5-9-2-6-4-4-3-10-4-5-3-8-3-4-3-9-4-5-4-10-93-1-5-3v-7z' fill='%23fff'/%3E%3Cpath transform='translate(611,909)' d='m0 0 6 3 10 10 1 4-11 9-15 9-14 6-11 3-5-1-4-4-5-14v-3l18-5 16-8z' fill='%23fff'/%3E%3C/mask%3E%3Crect x='168' y='311' width='1631' height='1161' fill='currentColor' mask='url(%23cd-camion)'/%3E%3C/svg%3E");height:29px;aspect-ratio:1631/1161}
@media (max-width:520px){.fiche__infos .fiche__icone--sac{height:36px}.fiche__infos .fiche__icone--camion{height:26px}}
