/* Bana Bilaka, la boutique.
   Ce fichier ne redéfinit aucun jeton : il se sert de ceux de maison.css
   (papier, encre, latérite, pierre, sable, gris, espacements, rayons, courbes)
   et n'ajoute que ce qu'une boutique demande en plus du hall. */

/* ---------- socle, repris du hall à l'identique ---------- */
body{background:var(--papier);color:var(--encre);font-family:Inter,system-ui,sans-serif;font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;margin:0;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3,h4{font-weight:400;margin:0}
p{margin:0}
img{height:auto}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--laterite);outline-offset:3px}
.titre-invisible{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.saut-contenu{position:absolute;left:-9999px;top:0;background:var(--encre);color:var(--papier);padding:12px 18px;border-radius:0 0 8px 0;z-index:99}
.saut-contenu:focus{left:0}
main{display:block}

/* ---------- le panier dans la barre ---------- */
.barre-maison .action .compteur-panier{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--rayon-pilule);background:var(--laterite);color:var(--papier);font-size:12px;font-weight:500;font-variant-numeric:tabular-nums;line-height:1;transition:background var(--vite) ease}
.barre-maison .action .compteur-panier[data-vide="oui"]{background:rgba(246,243,238,.22)}
.barre-maison .action:hover .compteur-panier{background:var(--encre)}
@media (max-width:520px){.barre-maison .action{display:inline-flex;padding:11px 14px}.barre-maison .action .mot{display:none}}

/* ---------- le héros de la boutique ---------- */
/* La première image du film place l'homme à droite : le texte tient à gauche,
   et le voile est tiré de la gauche pour que le titre reste lisible sans écraser le plan. */
/* Le héros tient l'écran, mais on lui pose un plafond : sur un très grand moniteur,
   un plan de 1400 px de haut repousse tout le reste sous la ligne de flottaison.
   Sur un portable (900 px de haut) le calcul rend exactement le plein écran du hall. */
.heros-boutique{min-height:min(100dvh,940px)}
.heros-boutique .fond video,.heros-boutique .fond img{object-position:68% center}
.heros-boutique .voile{background:
  linear-gradient(90deg,rgba(12,10,9,.86) 0%,rgba(12,10,9,.62) 38%,rgba(12,10,9,.14) 72%,rgba(12,10,9,.30) 100%),
  linear-gradient(180deg,rgba(12,10,9,.52) 0%,rgba(12,10,9,.10) 34%,rgba(12,10,9,.55) 84%,rgba(12,10,9,.80) 100%)}
.heros-boutique h1{max-width:13ch;font-size:clamp(2.6rem,6.4vw,5.4rem)}
.heros-boutique .promesse{max-width:44ch}
@media (max-width:760px){
  .heros-boutique .fond video,.heros-boutique .fond img{object-position:72% center}
  .heros-boutique .voile{background:linear-gradient(180deg,rgba(12,10,9,.45) 0%,rgba(12,10,9,.22) 30%,rgba(12,10,9,.80) 72%,rgba(12,10,9,.95) 100%)}
  .heros-boutique .dedans{padding-bottom:var(--esp-2xl)}
}

/* ---------- les cinq chapitres : deux grands, puis trois ---------- */
.cycle{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--esp-lg)}
.chapitre{margin:0;grid-column:span 2}
.chapitre.grand{grid-column:span 3}
.chapitre .vitre{overflow:hidden;border-radius:var(--rayon-carte);background:var(--pierre);aspect-ratio:16/9}
.chapitre .vitre img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--lent) var(--courbe)}
.chapitre:hover .vitre img{transform:scale(1.04)}
.chapitre figcaption{padding-top:var(--esp-md)}
.chapitre .rang{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--laterite);font-weight:500}
.chapitre h3{font-family:'Instrument Serif',Georgia,serif;font-size:1.5rem;line-height:1.12;margin-top:8px}
.chapitre.grand h3{font-size:1.9rem}
.chapitre p{margin-top:var(--esp-sm);color:var(--gris);font-size:15px;line-height:1.55;max-width:46ch}
@media (max-width:1000px){
  .cycle{grid-template-columns:repeat(2,1fr);gap:var(--esp-md)}
  .chapitre,.chapitre.grand{grid-column:span 1}
  .chapitre.grand h3{font-size:1.5rem}
}
@media (max-width:640px){.cycle{grid-template-columns:1fr}}

/* la ligne de compte sous une porte de collection */
.porte .texte .compte{margin-top:10px;font-size:12.5px;letter-spacing:.04em;color:var(--gris);font-variant-numeric:tabular-nums}

/* ---------- la grille des pièces ---------- */
.grille-pieces{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--esp-lg) var(--esp-md)}
.piece{position:relative}
.piece .lien-piece{display:block}
.piece .vitrine{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--rayon-carte);background:var(--sable)}
.piece .vitrine img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.piece .vitrine .principale{transition:transform var(--lent) var(--courbe),opacity var(--moyen) ease}
.piece .vitrine .survol{opacity:0;transition:opacity var(--moyen) ease;transform:scale(1.02)}
.piece.a-deux-vues:hover .survol,.piece.a-deux-vues:focus-within .survol{opacity:1}
.piece:hover .principale{transform:scale(1.03)}
.piece.a-deux-vues:hover .principale,.piece.a-deux-vues:focus-within .principale{opacity:0}
.piece .legende{display:block;padding-top:14px}
.piece .nom{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:1.24rem;line-height:1.16;letter-spacing:-.005em}
.piece .coll{display:block;margin-top:5px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500}
.piece .prix{display:block;margin-top:9px;font-size:15px;color:var(--encre);font-variant-numeric:tabular-nums}
.piece .prix .depuis{color:var(--gris);font-size:12.5px;letter-spacing:.03em}
.piece .prix del{color:var(--gris);margin-right:6px}
.piece .prix ins{text-decoration:none;color:var(--laterite)}
.piece:hover .nom{color:var(--laterite)}
.apres-grille{margin-top:var(--esp-xl);display:flex;justify-content:center}
@media (max-width:1000px){.grille-pieces{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.grille-pieces{grid-template-columns:repeat(2,1fr);gap:var(--esp-lg) 14px}.piece .nom{font-size:1.08rem}}

/* ---------- la barre de tri et les filtres ---------- */
.tete-boutique{padding:calc(66px + var(--esp-2xl)) 6vw var(--esp-lg)}
.tete-boutique .dedans{max-width:1240px;margin:0 auto}
.tete-boutique h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2.2rem,5.4vw,3.9rem);line-height:1.04;letter-spacing:-.02em;max-width:16ch;text-wrap:balance}
.tete-boutique .amorce{margin-top:var(--esp-md);max-width:56ch;color:var(--gris);font-size:17px}
.tete-boutique .fil{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);font-weight:500}
.tete-boutique .fil a{border-bottom:1px solid transparent;transition:border-color var(--vite) ease}
.tete-boutique .fil a:hover{border-bottom-color:var(--gris)}

.filtres{position:sticky;top:66px;z-index:40;background:rgba(246,243,238,.94);backdrop-filter:blur(10px);border-top:1px solid var(--sable);border-bottom:1px solid var(--sable);padding:0 6vw}
.filtres .dedans{max-width:1240px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:12px 0}
.filtres .groupe{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.filtres .intitule{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500;margin-right:2px}
.jeton{display:inline-flex;align-items:center;min-height:36px;padding:7px 14px;border:1px solid var(--pierre);border-radius:var(--rayon-pilule);background:transparent;color:var(--gris-fonce);font-size:13.5px;font-weight:500;cursor:pointer;transition:border-color var(--vite) ease,color var(--vite) ease,background var(--vite) ease}
.jeton:hover{border-color:var(--encre);color:var(--encre)}
.jeton[aria-pressed="true"],.jeton.actif{background:var(--encre);border-color:var(--encre);color:var(--papier)}
.filtres .tri{margin-left:auto;display:flex;align-items:center;gap:8px}
.filtres select{min-height:36px;padding:7px 30px 7px 12px;border:1px solid var(--pierre);border-radius:var(--rayon);background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B645C' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 9px center/14px;color:var(--gris-fonce);font-size:13.5px;font-family:inherit;cursor:pointer;appearance:none}
.filtres .effacer{background:none;border:none;color:var(--laterite);font-size:13px;cursor:pointer;padding:8px 0;min-height:36px;text-decoration:underline;text-underline-offset:3px}
.filtres .effacer[hidden]{display:none!important}
/* Les cibles tactiles montent à 44 px dès qu'on est au doigt. */
@media (max-width:1000px){
  .filtres{top:66px}
  .filtres .dedans{gap:8px 14px;padding:10px 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .filtres .dedans::-webkit-scrollbar{display:none}
  .filtres .groupe{flex-wrap:nowrap}
  .jeton{min-height:44px;padding:11px 15px;white-space:nowrap}
  .filtres select{min-height:44px}
  .filtres .tri{margin-left:0}
}
.rien-trouve{padding:var(--esp-2xl) 0;color:var(--gris);font-size:17px;max-width:44ch}

/* ---------- héros d'une collection ---------- */
.tete-collection{padding:calc(66px + var(--esp-xl)) 6vw 0}
.tete-collection .dedans{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:var(--esp-2xl);align-items:center}
.tete-collection .vitre{border-radius:var(--rayon-carte);overflow:hidden;aspect-ratio:4/5;background:var(--sable)}
.tete-collection .vitre img{width:100%;height:100%;object-fit:cover;display:block}
.tete-collection h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2.2rem,5.2vw,3.7rem);line-height:1.04;letter-spacing:-.02em}
.tete-collection .texte-coll{margin-top:var(--esp-md);color:var(--gris);font-size:17px;max-width:50ch}
.tete-collection .compte{margin-top:var(--esp-md);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);font-weight:500}
@media (max-width:900px){.tete-collection .dedans{grid-template-columns:1fr;gap:var(--esp-lg)}.tete-collection .vitre{aspect-ratio:16/10}}

/* ---------- la fiche d'une pièce ---------- */
.fiche{padding:calc(66px + var(--esp-lg)) 6vw var(--esp-2xl)}
.fiche .dedans{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:var(--esp-2xl)}

.galerie{display:grid;gap:14px}
.galerie .grande{border-radius:var(--rayon-carte);overflow:hidden;background:var(--sable);aspect-ratio:4/5}
.galerie .grande img{width:100%;height:100%;object-fit:cover;display:block}
.galerie .vignettes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.galerie .vignettes button{padding:0;border:1px solid transparent;border-radius:var(--rayon);overflow:hidden;background:var(--sable);cursor:pointer;aspect-ratio:1/1;transition:border-color var(--vite) ease,opacity var(--vite) ease}
.galerie .vignettes button img{width:100%;height:100%;object-fit:cover;display:block}
.galerie .vignettes button:hover{border-color:var(--pierre)}
.galerie .vignettes button[aria-current="true"]{border-color:var(--encre)}

.colonne-achat .coll-piece{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500}
.colonne-achat h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.08;letter-spacing:-.015em;margin-top:10px;max-width:18ch}
.colonne-achat .prix-piece{margin-top:var(--esp-md);font-size:1.35rem;font-variant-numeric:tabular-nums}
.colonne-achat .prix-piece .woocommerce-Price-amount{font-family:'Instrument Serif',Georgia,serif;font-size:1.6rem}
.colonne-achat .resume{margin-top:var(--esp-md);color:var(--gris);font-size:15.5px;line-height:1.6;max-width:52ch}

.bloc-taille{margin-top:var(--esp-lg);border-top:1px solid var(--sable);padding-top:var(--esp-md)}
.bloc-taille .entete{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.bloc-taille .intitule{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500}
.tailles{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.taille{min-width:56px;min-height:44px;padding:11px 14px;border:1px solid var(--pierre);border-radius:var(--rayon);background:var(--papier);color:var(--encre);font-size:14.5px;font-weight:500;cursor:pointer;transition:border-color var(--vite) ease,background var(--vite) ease,color var(--vite) ease}
.taille:hover{border-color:var(--encre)}
.taille[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:var(--papier)}
.taille[disabled]{opacity:.38;cursor:not-allowed;text-decoration:line-through}
.taille[disabled]:hover{border-color:var(--pierre)}

.tiroir-guide{margin-top:var(--esp-md);border-top:1px solid var(--sable);border-bottom:1px solid var(--sable)}
.tiroir-guide summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;min-height:44px;cursor:pointer;list-style:none;font-size:14px;font-weight:500;color:var(--encre)}
.tiroir-guide summary::-webkit-details-marker{display:none}
.tiroir-guide summary svg{width:16px;height:16px;color:var(--laterite);flex:none;transition:transform var(--moyen) var(--courbe)}
.tiroir-guide[open] summary svg{transform:rotate(180deg)}
.tiroir-guide .dedans-guide{padding-bottom:var(--esp-md)}
.tiroir-guide p{color:var(--gris);font-size:14.5px;line-height:1.6;max-width:52ch}
.tiroir-guide table{width:100%;border-collapse:collapse;margin-top:14px;font-size:13.5px;font-variant-numeric:tabular-nums}
.tiroir-guide th,.tiroir-guide td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--sable)}
.tiroir-guide th{font-weight:500;color:var(--gris);font-size:11px;letter-spacing:.08em;text-transform:uppercase}

.ajout{margin-top:var(--esp-lg)}
.ajout .bouton-ajouter{width:100%;justify-content:center;font-size:16px;min-height:54px}
.ajout .quantite{display:none}
.ajout .message-variation{margin-top:12px;font-size:13.5px;color:var(--laterite);min-height:20px}

.arguments{margin-top:var(--esp-lg);display:grid;gap:14px}
.arguments .item{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--sable);padding-top:14px}
.arguments .item svg{width:19px;height:19px;color:var(--laterite);flex:none;margin-top:2px}
.arguments .item b{display:block;font-size:13.5px;font-weight:500}
.arguments .item span{display:block;margin-top:3px;color:var(--gris);font-size:13.5px;line-height:1.55}

.recit{margin-top:var(--esp-3xl);border-top:1px solid var(--sable);padding-top:var(--esp-xl)}
.recit .dedans-recit{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:var(--esp-2xl)}
.recit h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(1.6rem,3.2vw,2.3rem);line-height:1.08}
.recit .corps-recit{color:var(--gris-fonce);font-size:16px;line-height:1.72}
.recit .corps-recit p{margin-bottom:var(--esp-md)}
.recit .corps-recit p:last-child{margin-bottom:0}
.recit .corps-recit ul{padding-left:20px;margin:0 0 var(--esp-md)}
.recit .corps-recit li{margin-bottom:6px}
.recit .corps-recit h2,.recit .corps-recit h3{font-family:'Instrument Serif',Georgia,serif;font-size:1.35rem;margin:var(--esp-md) 0 var(--esp-sm);color:var(--encre)}
@media (max-width:900px){.recit .dedans-recit{grid-template-columns:1fr;gap:var(--esp-md)}}

/* la barre d'achat collée en bas, au téléphone seulement */
.barre-achat{display:none}
@media (max-width:900px){
  .fiche .dedans{grid-template-columns:1fr;gap:var(--esp-lg)}
  .galerie .grande{aspect-ratio:1/1}
  .barre-achat{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;gap:12px;align-items:center;padding:10px 5vw calc(10px + env(safe-area-inset-bottom));background:rgba(246,243,238,.96);backdrop-filter:blur(10px);border-top:1px solid var(--sable)}
  .barre-achat .infos{flex:1;min-width:0}
  .barre-achat .nom-court{display:block;font-family:'Instrument Serif',Georgia,serif;font-size:1rem;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .barre-achat .prix-court{display:block;font-size:13px;color:var(--gris);font-variant-numeric:tabular-nums}
  .barre-achat .bouton{min-height:48px;padding:13px 20px;white-space:nowrap}
  body.maison-fiche{padding-bottom:78px}
}

/* ---------- panier et paiement : uniquement l'habillage ---------- */
.page-caisse{padding:calc(66px + var(--esp-xl)) 6vw var(--esp-2xl)}
.page-caisse .dedans{max-width:1240px;margin:0 auto}
.page-caisse h1{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:var(--esp-lg)}
.maison-caisse .woocommerce{color:var(--encre)}
.maison-caisse table.shop_table{width:100%;border-collapse:collapse;border:none;font-size:15px}
.maison-caisse table.shop_table th{text-align:left;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500;padding:0 12px 12px 0;border-bottom:1px solid var(--sable)}
.maison-caisse table.shop_table td{padding:18px 12px 18px 0;border-bottom:1px solid var(--sable);vertical-align:middle}
.maison-caisse table.shop_table img{width:76px;height:auto;border-radius:var(--rayon);display:block}
.maison-caisse .product-name a{font-family:'Instrument Serif',Georgia,serif;font-size:1.15rem;line-height:1.2}
.maison-caisse .product-name a:hover{color:var(--laterite)}
.maison-caisse .variation{margin-top:5px;font-size:12.5px;color:var(--gris)}
.maison-caisse .variation dt,.maison-caisse .variation dd{display:inline;margin:0}
.maison-caisse .woocommerce-Price-amount{font-variant-numeric:tabular-nums}
.maison-caisse .quantity input[type="number"]{width:74px;min-height:44px;padding:10px;border:1px solid var(--pierre);border-radius:var(--rayon);background:var(--papier);font-family:inherit;font-size:15px;color:var(--encre)}
.maison-caisse a.remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--rayon-pilule);color:var(--gris)!important;font-size:20px;line-height:1;background:transparent;transition:background var(--vite) ease,color var(--vite) ease}
.maison-caisse a.remove:hover{background:var(--sable);color:var(--laterite)!important}
.maison-caisse .cart_totals,.maison-caisse .cross-sells{margin-top:var(--esp-xl)}
.maison-caisse .cart_totals h2,.maison-caisse .woocommerce-billing-fields h3,.maison-caisse #order_review_heading,.maison-caisse .cross-sells h2,.maison-caisse .woocommerce-additional-fields h3{font-family:'Instrument Serif',Georgia,serif;font-size:1.6rem;line-height:1.1;margin-bottom:var(--esp-md)}
.maison-caisse .cart_totals table{background:var(--sable);border-radius:var(--rayon-carte);overflow:hidden}
.maison-caisse .cart_totals th,.maison-caisse .cart_totals td{padding:14px 18px;border-bottom:1px solid rgba(20,17,15,.07)}
.maison-caisse .wc-proceed-to-checkout{margin-top:var(--esp-md)}
.maison-caisse .button,.maison-caisse button.button,.maison-caisse input.button,.maison-caisse a.button,.maison-caisse #place_order{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:var(--rayon-pilule);padding:14px 26px;min-height:48px;font-family:inherit;font-size:15px;font-weight:500;border:1px solid var(--encre);background:var(--encre);color:var(--papier);cursor:pointer;transition:background var(--vite) ease,border-color var(--vite) ease;width:auto}
.maison-caisse .button:hover,.maison-caisse button.button:hover,.maison-caisse a.button:hover,.maison-caisse #place_order:hover{background:var(--laterite);border-color:var(--laterite)}
.maison-caisse .checkout-button,.maison-caisse #place_order{background:var(--laterite);border-color:var(--laterite);width:100%}
.maison-caisse .checkout-button:hover,.maison-caisse #place_order:hover{background:#9E3C1A;border-color:#9E3C1A}
.maison-caisse .button.alt{background:var(--laterite);border-color:var(--laterite)}
.maison-caisse .coupon .input-text,.maison-caisse .input-text,.maison-caisse input[type="text"],.maison-caisse input[type="email"],.maison-caisse input[type="tel"],.maison-caisse input[type="password"],.maison-caisse textarea,.maison-caisse select{width:100%;min-height:48px;padding:13px 16px;border:1px solid var(--pierre);border-radius:var(--rayon);background:var(--papier);font-family:inherit;font-size:16px;color:var(--encre);transition:border-color var(--vite) ease,box-shadow var(--vite) ease}
.maison-caisse input:focus,.maison-caisse textarea:focus,.maison-caisse select:focus{outline:none;border-color:var(--encre);box-shadow:0 0 0 3px rgba(20,17,15,.12)}
.maison-caisse .form-row label,.maison-caisse label{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris-fonce);font-weight:500;margin-bottom:6px}
.maison-caisse .form-row{margin-bottom:var(--esp-md)}
.maison-caisse .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:var(--esp-lg)}
.maison-caisse .col2-set .col-1,.maison-caisse .col2-set .col-2{width:auto;float:none}
.maison-caisse #customer_details+#order_review_heading{margin-top:var(--esp-xl)}
.maison-caisse .woocommerce-checkout-review-order{background:var(--sable);border-radius:var(--rayon-carte);padding:var(--esp-md)}
.maison-caisse .woocommerce-checkout-review-order table th,.maison-caisse .woocommerce-checkout-review-order table td{border-bottom-color:rgba(20,17,15,.09)}
.maison-caisse #payment ul.payment_methods{list-style:none;margin:0 0 var(--esp-md);padding:0 0 var(--esp-md);border-bottom:1px solid rgba(20,17,15,.09)}
.maison-caisse #payment ul.payment_methods li{padding:10px 0}
.maison-caisse #payment .payment_box{background:var(--papier);border-radius:var(--rayon);padding:14px 16px;font-size:14px;color:var(--gris-fonce);margin-top:8px}
@media (max-width:800px){.maison-caisse .col2-set{grid-template-columns:1fr;gap:0}}

/* les messages de WooCommerce, habillés en maison */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{list-style:none;margin:0 0 var(--esp-md);padding:16px 18px;border-radius:var(--rayon-carte);background:var(--sable);border-left:3px solid var(--laterite);font-size:15px;color:var(--gris-fonce);display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.woocommerce-message a.button,.woocommerce-info a.button{margin-left:auto}
.woocommerce-error{border-left-color:#A32014;color:#7A1A11}
.zone-messages{padding:0 6vw}
.zone-messages .dedans{max-width:1240px;margin:0 auto}
.maison-grille .zone-messages,.maison-fiche .zone-messages{padding-top:var(--esp-md)}

/* les moyens de paiement, en petit, sous le bouton */
.logos-paiement{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;align-items:center}
.logos-paiement span{display:inline-flex;align-items:center;height:26px;padding:0 9px;border:1px solid var(--pierre);border-radius:5px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);font-weight:500;background:var(--papier)}

/* la lettre dans le pied de page */
.pied-maison .lettre-pied{margin-top:var(--esp-md);display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;max-width:420px}
.pied-maison .lettre-pied .champ{flex:1 1 210px}
.pied-maison .lettre-pied label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris-fonce);font-weight:500}
.pied-maison .lettre-pied input{padding:12px 14px;min-height:46px;border:1px solid var(--pierre);border-radius:var(--rayon);font-size:16px;font-family:inherit;background:var(--papier);color:var(--encre);width:100%}
.pied-maison .lettre-pied .bouton{min-height:46px;padding:12px 20px;font-size:14px}
.pied-maison .marque em{font-style:italic}

/* ---------- mouvement réduit ---------- */
@media (prefers-reduced-motion:reduce){
  .chapitre:hover .vitre img,.piece:hover .principale{transform:none}
  .piece.a-deux-vues:hover .survol{opacity:0}
  .piece.a-deux-vues:hover .principale{opacity:1}
  .tiroir-guide[open] summary svg{transition:none}
}

/* ---------- le formulaire d'origine de WooCommerce, rhabillé ---------- */
/* Le menu des tailles reste dans la page et garde son rôle : il est simplement
   retiré de la vue, ce sont les boutons qui le pilotent. */
.ajout .variations,
.ajout .reset_variations,
.ajout .woocommerce-variation-price,
.ajout .woocommerce-variation-description,
.ajout .quantity{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.ajout form.cart{margin:0;display:block}
.ajout .single_add_to_cart_button,
.ajout button[type="submit"].button{display:inline-flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:54px;padding:16px 26px;border-radius:var(--rayon-pilule);border:1px solid var(--laterite);background:var(--laterite);color:var(--papier);font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:background var(--vite) ease,border-color var(--vite) ease,transform var(--vite) ease}
.ajout .single_add_to_cart_button:hover{background:#9E3C1A;border-color:#9E3C1A}
.ajout .single_add_to_cart_button:active{transform:translateY(1px)}
.ajout .single_add_to_cart_button.disabled,
.ajout .single_add_to_cart_button[disabled]{opacity:.42;cursor:not-allowed}
.ajout .woocommerce-variation-add-to-cart{margin:0}
.ajout .stock{margin-top:10px;font-size:13.5px;color:var(--gris)}
.ajout .stock.out-of-stock{color:#A32014}
.bloc-taille .icone-guide{width:15px;height:15px;vertical-align:-2px;color:var(--laterite)}
.tiroir-guide summary>span:first-child{display:inline-flex;align-items:center;gap:8px}

/* la page produit ne montre ni onglets ni avis : le récit est déjà sous la fiche */
.woocommerce-tabs,.related.products,.upsells.products,.product_meta{display:none}

/* le texte d'une page ordinaire (manifeste, FAQ, pages légales) */
.texte-page{max-width:74ch;color:var(--gris-fonce);font-size:16.5px;line-height:1.75}
.texte-page h2,.texte-page h3,.texte-page h4{font-family:'Instrument Serif',Georgia,serif;color:var(--encre);line-height:1.12;margin:var(--esp-xl) 0 var(--esp-sm)}
.texte-page h2{font-size:1.9rem}
.texte-page h3{font-size:1.45rem}
.texte-page h4{font-size:1.2rem}
.texte-page p{margin-bottom:var(--esp-md)}
.texte-page ul,.texte-page ol{margin:0 0 var(--esp-md);padding-left:22px}
.texte-page li{margin-bottom:8px}
.texte-page a{color:var(--laterite);border-bottom:1px solid rgba(184,71,31,.35);transition:border-color var(--vite) ease}
.texte-page a:hover{border-bottom-color:var(--laterite)}
.texte-page table{width:100%;border-collapse:collapse;margin-bottom:var(--esp-md);font-size:14.5px}
.texte-page th,.texte-page td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--sable)}
.texte-page th{font-weight:500;color:var(--gris);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
/* le panier et le paiement gardent leur pleine largeur */
.maison-caisse .texte-page{max-width:none}

/* ---------- ajustements mesurés sur les captures du 05/09 ---------- */
/* Les portes du hall montrent des plans de film en 16/10. Ici elles montrent des vêtements :
   le portrait garde la pièce entière, et le cadrage haut garde le visage et la poitrine,
   là où le dessin se trouve. */
.portes .porte .vitre{aspect-ratio:3/4}
.portes .porte .vitre img{object-position:center 22%}
/* Six pièces en trois colonnes : deux rangées pleines valent mieux qu'une rangée de quatre
   suivie d'une rangée de deux. */
.grille-pieces.trois{grid-template-columns:repeat(3,1fr)}
@media (max-width:1000px){.grille-pieces.trois{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){.grille-pieces.trois{grid-template-columns:repeat(2,1fr)}}
/* Le mot de la marque garde son souffle, comme dans le hall. */
.barre-maison .marque-maison em{margin-left:.16em}
.pied-maison .marque em{margin-left:.16em}

/* ---------- corrections mesurées sur la fiche produit ---------- */
/* 1. WooCommerce habille son bouton avec trois classes : il faut monter d'un cran
      pour que le bouton d'ajout soit bien celui de la maison, en latérite. */
.maison-fiche .ajout .single_add_to_cart_button,
.maison-fiche .ajout button.button.alt,
.maison-fiche .ajout button[type="submit"]{
  background:var(--laterite);border:1px solid var(--laterite);color:var(--papier);
  border-radius:var(--rayon-pilule);min-height:54px;padding:16px 26px;width:100%;
  font-family:inherit;font-size:16px;font-weight:500;line-height:1.2;letter-spacing:0;
  text-transform:none;text-shadow:none;box-shadow:none;
}
.maison-fiche .ajout .single_add_to_cart_button:hover,
.maison-fiche .ajout button.button.alt:hover{background:#9E3C1A;border-color:#9E3C1A;color:var(--papier)}
.maison-fiche .ajout .single_add_to_cart_button.disabled,
.maison-fiche .ajout .single_add_to_cart_button[disabled],
.maison-fiche .ajout button.button.alt.disabled{opacity:.5;cursor:not-allowed;background:var(--laterite);color:var(--papier)}

/* 2. Les moyens de paiement redeviennent une ligne de pastilles, pas une pile. */
.arguments .logos-paiement{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.arguments .logos-paiement span{display:inline-flex;align-items:center;width:auto;height:26px;margin:0;padding:0 9px;border:1px solid var(--pierre);border-radius:5px;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--gris);font-weight:500;background:var(--papier);line-height:1}

/* 3. La galerie reste calée en haut : sans cela, la grille étire la rangée des vignettes
      pour remplir la hauteur de la colonne d'achat, et ouvre un trou de 300 px. */
.galerie{align-content:start}
.galerie .vignettes button{height:auto}

/* =========================================================================
   Le panier et le paiement sont des BLOCS WooCommerce, pas les anciens
   gabarits. On ne touche qu'à l'habillage : couleurs, typographie, tailles
   de cible. Aucune règle ne change un comportement, un total ou un champ.
   ========================================================================= */
.maison-caisse .wc-block-components-title,
.maison-caisse .wc-block-cart__totals-title,
.maison-caisse .wc-block-components-checkout-step__title,
.maison-caisse .wp-block-woocommerce-checkout-order-summary-block .wc-block-components-panel__button{
  font-family:'Instrument Serif',Georgia,serif!important;font-weight:400!important;color:var(--encre);
  letter-spacing:0;text-transform:none;font-size:1.35rem;line-height:1.15}
.maison-caisse .wc-block-cart__totals-title{font-size:11px!important;letter-spacing:.09em;text-transform:uppercase!important;color:var(--gris);font-family:Inter,system-ui,sans-serif!important;font-weight:500!important}

.maison-caisse .wc-block-components-product-name{font-family:'Instrument Serif',Georgia,serif;font-size:1.18rem;line-height:1.2;color:var(--encre);text-decoration:none}
.maison-caisse .wc-block-components-product-name:hover{color:var(--laterite)}
.maison-caisse .wc-block-cart-items__header{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--gris);font-weight:500;border-bottom:1px solid var(--sable)}
.maison-caisse .wc-block-cart-items__row{border-bottom:1px solid var(--sable)}
.maison-caisse .wc-block-cart-item__image img{border-radius:var(--rayon);background:var(--sable)}
.maison-caisse .wc-block-components-product-metadata{color:var(--gris);font-size:13px}
.maison-caisse .wc-block-components-product-price,
.maison-caisse .wc-block-components-formatted-money-amount{font-variant-numeric:tabular-nums;color:var(--encre)}
.maison-caisse .wc-block-components-totals-item__label{color:var(--gris-fonce)}
.maison-caisse .wc-block-components-totals-item__description{color:var(--gris);font-size:12.5px}
.maison-caisse .wc-block-components-totals-footer-item{font-size:1.05rem}
.maison-caisse .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-family:'Instrument Serif',Georgia,serif;font-size:1.7rem}

/* les boutons des blocs deviennent ceux de la maison */
.maison-caisse .wc-block-components-button:not(.is-link){
  background:var(--laterite)!important;border:1px solid var(--laterite)!important;color:var(--papier)!important;
  border-radius:var(--rayon-pilule)!important;min-height:52px;padding:15px 26px;
  font-family:Inter,system-ui,sans-serif!important;font-size:15px;font-weight:500;text-transform:none;letter-spacing:0;box-shadow:none}
.maison-caisse .wc-block-components-button:not(.is-link):hover{background:#9E3C1A!important;border-color:#9E3C1A!important}
.maison-caisse .wc-block-components-button:not(.is-link) .wc-block-components-button__text{color:var(--papier)!important}
.maison-caisse .wc-block-components-button.is-link{color:var(--laterite);text-underline-offset:3px}

/* le compteur de quantité : cibles au doigt, bordures de la maison */
.maison-caisse .wc-block-components-quantity-selector{border:1px solid var(--pierre);border-radius:var(--rayon);background:var(--papier);overflow:hidden}
.maison-caisse .wc-block-components-quantity-selector::after{display:none}
.maison-caisse .wc-block-components-quantity-selector__button{min-width:44px;min-height:44px;color:var(--gris-fonce);background:transparent;border:none;cursor:pointer;font-size:17px;transition:background var(--vite) ease,color var(--vite) ease}
.maison-caisse .wc-block-components-quantity-selector__button:hover{background:var(--sable);color:var(--encre)}
.maison-caisse .wc-block-components-quantity-selector__input{min-height:44px;background:transparent;color:var(--encre);font-family:inherit;font-size:15px;font-variant-numeric:tabular-nums;border:none}
.maison-caisse .wc-block-cart-item__remove-link{color:var(--gris)!important;font-size:12.5px;text-underline-offset:3px}
.maison-caisse .wc-block-cart-item__remove-link:hover{color:var(--laterite)!important}

/* les champs du paiement */
.maison-caisse .wc-block-components-text-input input[type],
.maison-caisse .wc-block-components-textarea,
.maison-caisse .wc-block-components-combobox-control input,
.maison-caisse .wc-block-components-form .wc-block-components-text-input input{
  min-height:50px;padding:22px 16px 8px;border:1px solid var(--pierre)!important;border-radius:var(--rayon)!important;
  background:var(--papier)!important;color:var(--encre)!important;font-family:inherit!important;font-size:16px!important;box-shadow:none!important}
.maison-caisse .wc-block-components-text-input input:focus{border-color:var(--encre)!important;box-shadow:0 0 0 3px rgba(20,17,15,.12)!important;outline:none}
.maison-caisse .wc-block-components-text-input label{color:var(--gris)!important;font-family:inherit!important}
.maison-caisse .wc-block-components-checkout-step{border:none;padding-left:0}
.maison-caisse .wc-block-components-checkout-step__heading{margin-bottom:var(--esp-sm)}
.maison-caisse .wc-block-components-checkout-step__description{color:var(--gris);font-size:14px}
.maison-caisse .wc-block-components-radio-control__option{border-radius:var(--rayon);padding:14px 16px 14px 44px;min-height:52px}
.maison-caisse .wc-block-components-radio-control-accordion-option,
.maison-caisse .wc-block-components-radio-control__option{border-color:var(--sable)!important}
.maison-caisse .wc-block-components-panel__button{color:var(--encre);min-height:44px}
.maison-caisse .wc-block-components-notice-banner{border-radius:var(--rayon-carte);background:var(--sable);border-color:var(--laterite)}
.maison-caisse .wc-block-components-sidebar{background:transparent}
.maison-caisse .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.maison-caisse .wp-block-woocommerce-checkout-totals-block .wc-block-components-totals-wrapper{border-color:var(--sable)}
.maison-caisse .wc-block-cart__sidebar > .wc-block-components-sidebar,
.maison-caisse .wc-block-cart__sidebar{background:var(--sable);border-radius:var(--rayon-carte);padding:var(--esp-md)}
.maison-caisse .wc-block-cart__sidebar .wc-block-components-totals-wrapper{border-color:rgba(20,17,15,.10)}
.maison-caisse a{color:var(--laterite)}
.maison-caisse .wc-block-components-product-name{color:var(--encre)}

/* Au doigt, les liens du pied de page et les liens de texte deviennent de vraies cibles. */
@media (max-width:1000px){
  .pied-maison li a,
  .pied-maison p a{display:inline-flex;align-items:center;min-height:44px}
  .pied-maison ul li{line-height:1.2}
  .liste-chaines a{min-height:44px;display:inline-flex;align-items:center}
}

/* Sur le sable, le gris clair tombe à 4,48:1 : sous le seuil AA pour du petit texte.
   Partout où le fond est du sable, on descend d'un cran, comme le fait déjà le hall. */
.maison-caisse .wc-block-cart__sidebar .wc-block-components-totals-item__description,
.maison-caisse .wc-block-cart__sidebar .wc-block-components-totals-item__label,
.maison-caisse .wp-block-woocommerce-checkout-totals-block .wc-block-components-totals-item__description,
.lettre .champ label,
.woocommerce-info,.woocommerce-message{color:var(--gris-fonce)}
