/* ==========================================================================
   Panier : mini-panier (tiroir, présent sur toutes les pages), page panier,
   commande, confirmation, messages. Les blocs Panier et Commande vivent dans le
   CONTENU des pages (contenus/panier.html, contenus/commande.html).
   Barre « livraison offerte », suggestion du pack, rappel de panier : panier.js.
   ========================================================================== */

/* ---------- Articles : composants partagés (panier, mini-panier, récapitulatif) ---------- */
/* vignettes : le produit détouré entier, jamais recadré */
.wc-block-cart-item__image img,.wc-block-components-order-summary-item__image img{aspect-ratio:var(--ratio-vignette,4/5);object-fit:contain!important;
  background:var(--surface);border-radius:calc(var(--rayon) * .6)}
.wc-block-mini-cart__drawer .wc-block-cart-item__image,.wc-block-cart .wc-block-cart-item__image{padding:0!important}
.wc-block-mini-cart__drawer .wc-block-cart-item__image img,.wc-block-cart .wc-block-cart-item__image img{width:100%;height:auto;aspect-ratio:1;padding:6px;border-radius:14px;
  background:color-mix(in srgb,var(--surface-rose) 55%,#fff)!important}
.wc-block-components-product-name{font-size:16px;font-weight:600;text-decoration:none;color:var(--texte)}
.wc-block-components-product-details{font-size:14px;color:var(--sourdine)}
.wc-block-components-product-details__name{font-weight:400}
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description,.wc-block-cart .wc-block-components-product-metadata__description{display:none}
.wc-block-cart-item__remove-link{color:var(--sourdine)!important}
@media (hover:hover){.wc-block-cart-item__remove-link:hover{color:var(--texte)!important}}
.wc-block-components-product-badge{border-radius:var(--rayon-bouton);border-color:var(--trait);font-weight:500}
/* badge « Économisez … » centré, sans cadre (masqué à 0,00 € par panier.js) */
.wc-block-components-sale-badge{display:inline-flex!important;align-items:center;justify-content:center;gap:4px;text-align:center;white-space:nowrap;
  line-height:1.2;padding:5px 12px!important;border:0!important;border-radius:999px!important;font-size:13px;font-weight:700;
  background:color-mix(in srgb,var(--promo) 12%,transparent)!important;color:var(--promo)!important}
/* sélecteur de quantité : une pilule rosée, sans cadre */
.wc-block-components-quantity-selector,.wc-block-components-quantity-selector:where(:has(input:not([type=hidden]))){min-height:48px;border:0!important;border-radius:999px!important;
  background:var(--surface-rose)!important;box-shadow:none!important}
.wc-block-components-quantity-selector::after{display:none!important}
.wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input{border:0!important;box-shadow:none!important;background:transparent!important;outline:0!important;font-weight:600}
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button{background:transparent!important;border:0!important;box-shadow:none!important;
  font-family:inherit;font-size:18px;color:var(--texte);opacity:1}
/* lisibilité : aucun petit texte sous 13 px, y compris ceux de WooCommerce */
.wc-block-components-product-metadata,.wc-block-components-product-metadata *,.wc-block-components-product-details,.wc-block-components-product-details *,.wc-block-cart-item__prices,
.wc-block-components-sale-badge,.wc-block-components-product-badge,.wc-block-components-totals-item__description,.wc-block-components-checkbox__label,
.wc-block-components-checkout-step__description,.wc-block-components-address-card,.wc-block-components-formatted-money-amount{font-size:max(13px,1em)!important}
.wc-block-components-text-input label{font-size:13px!important}

/* ---------- Barre « livraison offerte » (tiroir et panier) ---------- */
.livraison-barre{position:relative;overflow:visible;height:auto!important;max-height:none!important;margin:0 0 16px;padding:14px 20px!important;border-radius:var(--rayon);background:var(--surface-rose)}
.livraison-barre__texte{display:block;margin:0 0 10px;font-size:14px;color:var(--texte)}
.livraison-barre__texte strong{font-weight:700}
.livraison-barre__jauge{height:8px;border-radius:999px;background:var(--surface);overflow:hidden}
.livraison-barre__jauge span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--nuit-2),var(--lilas),var(--rose));
  transform-origin:left;transform:scaleX(0);transition:transform .9s var(--courbe)}
/* seuil atteint : jauge rosée, un reflet passe, l'émoji salue */
.livraison-barre.est-atteinte .livraison-barre__jauge span{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--lilas),var(--rose))}
.livraison-barre.est-atteinte .livraison-barre__jauge span::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.7) 50%,transparent 70%);transform:translateX(-100%);animation:jauge-reflet 2.4s ease-in-out infinite}
@keyframes jauge-reflet{60%,100%{transform:translateX(100%)}}
.livraison-barre__emoji{display:inline-block;margin-right:8px;vertical-align:-3px;font-size:20px;line-height:1;transform-origin:50% 80%;animation:emoji-salue 2.8s var(--courbe) infinite}
@keyframes emoji-salue{0%,60%,100%{transform:rotate(0) scale(1)}12%{transform:rotate(-14deg) scale(1.18)}24%{transform:rotate(12deg) scale(1.18)}36%{transform:rotate(-6deg) scale(1.08)}}
/* au moment où le seuil est franchi : l'émoji saute et des confettis partent */
.livraison-barre.fete .livraison-barre__emoji{animation:emoji-saute .9s var(--courbe) both,emoji-salue 2.8s var(--courbe) .9s infinite}
@keyframes emoji-saute{0%{transform:scale(0) rotate(-40deg)}55%{transform:scale(1.6) rotate(10deg)}100%{transform:scale(1) rotate(0)}}
.livraison-barre.fete::before,.livraison-barre.fete::after{content:"";position:absolute;left:28px;top:50%;width:8px;height:8px;border-radius:2px;pointer-events:none;
  box-shadow:0 0 0 0 var(--rose-vif);animation:confettis 1.1s var(--courbe) forwards}
.livraison-barre.fete::before{--c1:var(--rose-vif);--c2:var(--lilas);--c3:var(--nuit)}
.livraison-barre.fete::after{--c1:var(--lilas);--c2:var(--rose);--c3:var(--promo);animation-delay:.08s}
@keyframes confettis{
  0%{opacity:1;box-shadow:0 0 0 0 var(--c1),0 0 0 0 var(--c2),0 0 0 0 var(--c3),0 0 0 0 var(--c1),0 0 0 0 var(--c2),0 0 0 0 var(--c3)}
  100%{opacity:0;box-shadow:40px -34px 0 -1px var(--c1),90px -18px 0 -2px var(--c2),140px -30px 0 -1px var(--c3),60px 26px 0 -2px var(--c2),120px 22px 0 -1px var(--c1),190px -10px 0 -2px var(--c3)}}
/* coup de pouce : le produit qui fait franchir le seuil */
.livraison-coup{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 10px 10px 12px;border-radius:16px;background:#fff;animation:coup-entre .5s var(--courbe)}
@keyframes coup-entre{from{opacity:0;transform:translateY(6px)}}
.livraison-coup img{width:42px;height:42px;object-fit:contain;flex:none;border-radius:10px;background:var(--surface-rose);padding:3px}
.livraison-coup__texte{flex:1;min-width:0;font-size:13.5px;line-height:1.35;color:var(--texte)}
.livraison-coup__texte em{font-style:normal;color:var(--sourdine)}
.livraison-coup__bouton{position:relative;flex:none;display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:0;border-radius:999px;cursor:pointer;
  background:var(--nuit);color:#fff;font:700 14px/1 var(--police-texte);white-space:nowrap;transition:transform .3s var(--courbe),background .3s}
@media (hover:hover){.livraison-coup__bouton:hover{transform:scale(1.05)}}
.livraison-coup__bouton.est-en-cours{opacity:.6;pointer-events:none}

/* ---------- Suggestion du pack Nuit complète (un seul des deux produits au panier) ---------- */
.pack-suggestion{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:12px 0 16px;padding:14px 20px!important;border-radius:var(--rayon);
  background:var(--nuit);color:var(--sur-nuit);text-decoration:none;font-size:14px;line-height:1.4;transition:transform .4s var(--courbe)}
.pack-suggestion:link,.pack-suggestion:visited,.pack-suggestion:focus-visible{color:var(--sur-nuit)}
.pack-suggestion:focus-visible{outline:2px solid var(--nuit);outline-offset:4px}
@media (hover:hover){a.pack-suggestion:hover{transform:translateY(-2px);color:var(--sur-nuit)}}
.pack-suggestion__badge{padding:3px 10px;border-radius:999px;background:var(--rose);color:var(--nuit);font-weight:700;font-size:13px}
.pack-suggestion>span:nth-child(2){flex:1;min-width:180px}
.pack-suggestion__cta{font-weight:700;border-bottom:1px solid currentColor}

/* ---------- Mini-panier (tiroir) : parts/mini-cart.html ---------- */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content{background:var(--fond);color:var(--texte)}
.wc-block-mini-cart__drawer .wc-block-mini-cart__title{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0;padding:28px 24px 12px;font:400 34px/1 var(--police-titres)}
.wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block{font-family:var(--police-texte);font-size:14px;color:var(--sourdine)}
.wc-block-mini-cart__drawer .wc-block-mini-cart__items{padding:0 24px}
.wc-block-mini-cart__drawer :is(.livraison-barre,.pack-suggestion){margin:4px 24px 16px}
/* articles : deux colonnes (vignette | détails), le total passe sous les détails, rien ne sort du tiroir */
.wc-block-mini-cart__drawer table.wc-block-cart-items{width:100%;table-layout:fixed}
.wc-block-mini-cart__drawer .wc-block-cart-items__row{margin-bottom:12px;padding:18px!important;border-radius:20px!important;background:var(--surface)}
.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:72px minmax(0,1fr)!important;column-gap:14px;width:auto}
.wc-block-mini-cart__drawer .wc-block-cart-items__row .wc-block-cart-item__image{grid-column:1!important;grid-row:1/span 2!important;align-self:start}
.wc-block-mini-cart__drawer .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2!important;grid-row:1!important;min-width:0;padding-right:4px!important}
.wc-block-mini-cart__drawer .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2!important;grid-row:2!important;min-width:0;text-align:left!important;margin-top:8px;justify-content:flex-start!important}   /* WooCommerce le pousse à droite */
.wc-block-mini-cart__drawer .wc-block-cart-item__total-price-and-sale-badge-wrapper{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;gap:8px;justify-content:flex-start!important}
.wc-block-mini-cart__drawer .wc-block-cart-item__total .wc-block-components-product-badge{margin:0!important}
.wc-block-mini-cart__drawer .wc-block-components-product-name{font:400 18px/1.25 var(--police-titres)!important;text-decoration:none}
/* croix de fermeture : un rond de 44 px, dans le tiroir. PIÈGE : WooCommerce l'agrandit par une marge
   négative de 14 px (zone de clic), qui la faisait sortir à moitié du tiroir ; WooCommerce lui donne le
   focus à l'ouverture : pas d'anneau bleu au toucher, un anneau nuit au clavier */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close{margin:0!important;padding:0!important;width:42px;height:42px;display:block!important;
  border-radius:50%;background:#fff!important;color:var(--texte)!important;border:1px solid var(--trait)!important;box-shadow:0 6px 16px -10px color-mix(in srgb,var(--nuit) 45%,transparent)!important;outline:0}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close:focus-visible{outline:2px solid var(--nuit);outline-offset:2px}
/* une croix fine, dessinée (l'icône de WooCommerce est épaisse) */
.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg{display:none}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close::before,.wc-block-mini-cart__drawer .wc-block-components-drawer__close::after{
  content:"";position:absolute;left:50%;top:50%;width:16px;height:1.5px;margin:-.75px 0 0 -8px;border-radius:1px;background:currentColor;transform:rotate(45deg)}
.wc-block-mini-cart__drawer .wc-block-components-drawer__close::after{transform:rotate(-45deg)}
/* pied du tiroir : total et deux boutons */
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer{padding:20px 24px 24px;background:var(--surface);border-top:1px solid var(--trait);box-shadow:0 -14px 30px color-mix(in srgb,var(--texte) 6%,transparent)}
.wc-block-mini-cart__footer .wc-block-components-totals-item__label{font-size:16px;font-weight:500}
.wc-block-mini-cart__footer .wc-block-components-totals-item__value{font-size:17px;font-weight:500}
.wc-block-mini-cart__footer .wc-block-components-totals-item__description{font-size:13px;color:var(--sourdine)}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wp-element-button{min-height:52px;border-radius:999px;font-weight:600}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart{background:var(--surface)!important;color:var(--texte)!important;border:1px solid var(--trait)!important}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout{background:var(--accent)!important;color:var(--sur-accent)!important;border:0!important}
.wc-block-mini-cart__empty-cart-wrapper{padding:48px 24px;text-align:center}
.wc-block-mini-cart__empty-cart-wrapper p{font-family:var(--police-titres);font-size:24px;margin-bottom:24px}

/* ---------- Mini-panier sur téléphone : feuille qui monte du bas (80 % de l'écran), poignée pour la baisser ---------- */
@media (max-width:781px){
  .wc-block-mini-cart__drawer.wc-block-components-drawer{top:auto!important;bottom:0;left:0!important;right:0!important;width:100%!important;max-width:none!important;
    height:82svh!important;border-radius:26px 26px 0 0;overflow:hidden;transform:none;animation:tiroir-monte .5s var(--courbe) both!important;
    box-shadow:0 -24px 60px -20px color-mix(in srgb,var(--nuit) 45%,transparent);touch-action:pan-y}
  .wc-block-components-drawer__screen-overlay--is-hidden .wc-block-mini-cart__drawer.wc-block-components-drawer{animation:tiroir-descend .35s ease-in both!important}
  /* PIÈGE (vidéo iPhone du 17-10) : la feuille tremblait au glissé et une bande blanche redescendait après la
     fermeture. 1) la hauteur suivait la barre de Safari (dvh) : hauteur stable en svh ; 2) la transition de
     WooCommerce (transform .3s) restait active pendant le glissé : la feuille traînait derrière le doigt ;
     3) une fois fermé, l'animation de descente reprenait la main sur la position posée au relâché. */
  .wc-block-mini-cart__drawer.wc-block-components-drawer.est-glisse{animation:none!important;transition:none!important;will-change:transform}
  .wc-block-mini-cart__drawer.wc-block-components-drawer.est-relache,
  .wc-block-components-drawer__screen-overlay--is-hidden .wc-block-mini-cart__drawer.wc-block-components-drawer.est-relache{animation:none!important;transition:transform .35s var(--courbe)!important}
  /* tiroir ouvert : le geste reste dans le panier, la page derrière ne bouge pas (panier.js bloque le reste) */
  .wc-block-components-drawer__screen-overlay:has(.wc-block-mini-cart__drawer){overscroll-behavior:none}
  .wc-block-mini-cart__drawer :is(.wp-block-woocommerce-filled-mini-cart-contents-block,.wc-block-mini-cart__empty-cart-wrapper){overscroll-behavior:contain}
  .wc-block-mini-cart__drawer .wc-block-components-drawer__content{height:100%}
  /* tout le panier défile (titre, barre de livraison, articles, suggestions) ; le pied (sous-total, boutons)
     reste collé en bas. PIÈGE : la barre et les suggestions sont posées à côté de la liste (panier.js) ; dans
     la colonne de WooCommerce, elles ne défilaient pas et poussaient les boutons sous le bas de l'écran. */
  .wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__items{flex:0 0 auto!important;overflow:visible!important}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer{position:sticky;bottom:0;z-index:2;margin-top:auto}
  /* PIÈGE : connecté, WooCommerce décale le contenu de la hauteur de la barre d'administration (46 px) :
     une bande blanche en haut, et les boutons poussés sous le bas de l'écran */
  .admin-bar .wc-block-mini-cart__drawer .wc-block-components-drawer__content{margin-top:0!important}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__title{padding:30px 64px 10px 20px!important;font-size:30px!important}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__items{padding:0 16px!important;overscroll-behavior:contain}
  .wc-block-mini-cart__drawer .livraison-barre,.wc-block-mini-cart__drawer .pack-suggestion{margin-inline:16px!important}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer{padding:16px 16px calc(16px + env(safe-area-inset-bottom))!important}
  .wc-block-mini-cart__drawer .wc-block-components-drawer__close{top:14px!important;right:14px!important}
  .wc-block-components-drawer__screen-overlay{background-color:color-mix(in srgb,var(--nuit) 45%,transparent)!important;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
}
/* poignée : posée par panier.js, invisible en ordinateur */
.tiroir-poignee{display:none}
@media (max-width:781px){
  .tiroir-poignee{display:block;position:absolute;top:0;left:0;right:0;height:30px;z-index:5;cursor:grab;touch-action:none;background:linear-gradient(var(--fond) 65%,color-mix(in srgb,var(--fond) 0%,transparent))}   /* le contenu qui défile passe dessous en s'effaçant ; au-dessus du titre collé (z-index 3) : sinon, une fois la liste défilée, le titre recouvrait la poignée et le glissé ne répondait plus */
  .tiroir-poignee::before{content:"";position:absolute;top:10px;left:50%;width:44px;height:5px;margin-left:-22px;border-radius:999px;background:color-mix(in srgb,var(--texte) 22%,transparent)}
}
@keyframes tiroir-monte{from{transform:translateY(100%)}}
@keyframes tiroir-descend{to{transform:translateY(100%)}}
@media (prefers-reduced-motion:reduce){.wc-block-mini-cart__drawer.wc-block-components-drawer{animation:none!important}}

/* ---------- Page panier ---------- */
/* Pendant que WooCommerce prépare le panier ou la commande (« is-loading »), ses blocs gris de
   remplacement ne clignotent pas : la place est gardée, vide, puis le contenu apparaît en fondu. */
:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout).is-loading>*{visibility:hidden}
:is(.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout):not(.is-loading){animation:panier-apparait .35s ease-out}
@keyframes panier-apparait{from{opacity:0}}
.page-panier .wrap,.page-commande .wrap{padding-block:48px 0}
.wc-block-cart{gap:32px}
.wc-block-cart .livraison-barre,.wc-block-cart .pack-suggestion{width:100%}
/* articles en cartes séparées */
.wc-block-cart .wc-block-cart__main .wc-block-cart-items{display:block;width:100%;border:0!important;border-collapse:separate;border-spacing:0 12px}
.wc-block-cart table.wc-block-cart-items tbody{display:block;width:100%}
.wc-block-cart table.wc-block-cart-items thead{display:block}
.wc-block-cart table.wc-block-cart-items thead tr{display:flex;justify-content:space-between;width:100%}
.wc-block-cart-items__header{font-size:13px;letter-spacing:.12em}
.wc-block-cart .wc-block-cart-items__header{letter-spacing:.14em;color:var(--sourdine)}
.wc-block-cart tbody .wc-block-cart-items__row{display:grid;grid-template-columns:96px minmax(0,1fr) max-content;gap:8px 16px;padding:16px!important;border-radius:20px!important;background:var(--surface);margin-bottom:10px}
.wc-block-cart .wc-block-cart-items__row>td{border:0!important;padding:0!important;width:auto!important;min-width:0}
.wc-block-cart .wc-block-cart-item__image{align-self:start}
.wc-block-cart .wc-block-cart-item__product .wc-block-cart-item__wrap{padding:0}
.wc-block-cart .wc-block-cart-item__total{align-self:start}
.wc-block-cart .wc-block-cart-items__row>td:first-child{border-radius:var(--rayon) 0 0 var(--rayon)}
.wc-block-cart .wc-block-cart-items__row>td:last-child{border-radius:0 var(--rayon) var(--rayon) 0}
.wc-block-cart .wc-block-cart-item__product{padding-right:4px!important}
.wc-block-cart .wc-block-components-product-name{font:400 17px/1.35 var(--police-titres)!important;text-decoration:none}
.wc-block-cart .wc-block-components-product-metadata{font-size:14px;color:var(--sourdine)}
/* panier étroit : deux colonnes (vignette | détails), le total et son badge passent sous les détails.
   PIÈGE : en trois colonnes, le total et « Économisez … » prenaient la place du nom du produit,
   écrit alors lettre par lettre (« Coussi / n »). */
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:96px minmax(0,1fr);column-gap:16px}
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image{grid-column:1;grid-row:1/span 2;align-self:start;padding-right:0}
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product{grid-column:2;grid-row:1;min-width:0;padding-bottom:6px!important}
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total{grid-column:2;grid-row:2;min-width:0;text-align:left;padding-top:0!important;justify-content:flex-start!important}   /* le total juste sous la quantité, à gauche */
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) .wc-block-cart-item__total-price-and-sale-badge-wrapper>*{margin-inline:0!important}
.wc-block-cart:is(.is-mobile,.is-small,.is-medium) .wc-block-cart-item__total-price-and-sale-badge-wrapper{display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:center!important;justify-content:flex-start!important;gap:8px}
.wc-block-cart-item__total .wc-block-components-product-badge{margin:0!important}
/* téléphone : le bouton « Valider la commande » collé en bas, sur le fond de la page (pas de bloc blanc) */
.wc-block-cart__submit-container--sticky{background:var(--fond)!important;padding-bottom:calc(16px + env(safe-area-inset-bottom))!important}
.wc-block-cart__submit-container--sticky::before{box-shadow:0 -14px 18px 6px color-mix(in srgb,var(--fond) 92%,transparent)!important}
/* récapitulatif : une carte collante, les promesses sous le bouton */
.wc-block-cart .wc-block-cart__sidebar{position:sticky;top:110px;align-self:flex-start;padding:28px!important;border-radius:var(--rayon-grand);background:var(--surface);
  box-shadow:0 30px 60px color-mix(in srgb,var(--texte) 8%,transparent)}
.wc-block-cart .wc-block-components-totals-wrapper{border-color:var(--trait)!important}
.wc-block-cart .wc-block-cart__sidebar .wc-block-components-panel{border-color:color-mix(in srgb,var(--texte) 10%,transparent)}
.wc-block-cart .wc-block-components-panel__button{font-weight:600}
.wc-block-cart .wc-block-cart__totals-title,.wc-block-components-checkout-order-summary__title-text{font-family:var(--police-titres);text-transform:none;font-size:20px;font-weight:400}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,.wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:18px}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font:600 32px/1 var(--police-titres)}
.wc-block-cart__submit-button,.wc-block-components-checkout-place-order-button{min-height:54px;border-radius:var(--rayon-bouton)!important}
.wc-block-cart .wc-block-cart__submit-button{min-height:58px;border-radius:999px;font-size:16px;background:var(--accent);color:var(--sur-accent)}
@media (hover:hover){.wc-block-cart .wc-block-cart__submit-button:hover{background:var(--nuit-2)}}
/* cadenas devant « Valider la commande », « Commander » et « Passer la commande » : paiement sécurisé */
:is(.wc-block-cart__submit-button,.wc-block-mini-cart__footer-checkout,.wc-block-components-checkout-place-order-button){display:inline-flex!important;align-items:center;justify-content:center;gap:9px}
:is(.wc-block-cart__submit-button,.wc-block-mini-cart__footer-checkout,.wc-block-components-checkout-place-order-button)::before{content:"";flex:none;width:17px;height:17px;background:currentColor;
  -webkit-mask:var(--i-cadenas) center/contain no-repeat;mask:var(--i-cadenas) center/contain no-repeat;transform:translateY(-1px)}
.wp-block-woocommerce-cart-totals-block .promesse{margin:0;padding-block:6px}
.wp-block-woocommerce-cart-totals-block .promesse-livraison{margin-top:22px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--texte) 10%,transparent)}
/* « Complétez votre nuit » : grille souple, hors de la colonne étroite */
.collection-croisee{margin-top:48px}
.collection-croisee .section-titre{margin:0 0 24px}
.collection-croisee .wc-block-product-template{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))!important;gap:20px}
.collection-croisee .wc-block-product-template>li{width:auto!important;max-width:none!important;margin:0!important}
.collection-croisee .carte-bouton .wc-block-components-product-button__button{white-space:nowrap}
/* panier vide : composé en blocs natifs (contenus/panier.html), sans l'icône de WooCommerce */
.panier-vide{display:flex;flex-direction:column;align-items:center;padding:48px 0 16px;text-align:center}
.panier-vide .panier-vide-titre{font-family:var(--police-titres);font-size:var(--wp--preset--font-size--titre-3);margin:0}
.panier-vide .panier-vide-titre::before{content:none}
.panier-vide-actions{margin-top:28px!important}
.panier-vide-suite{margin:110px 0 44px;text-align:center}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before{display:none}

/* ---------- Commande ---------- */
.wc-block-components-button:not(.is-link){font-family:var(--police-texte)}
.wc-block-checkout .wc-block-checkout__main .wc-block-components-checkout-step{padding:28px!important;margin-bottom:16px!important;border-radius:var(--rayon-grand);background:var(--surface)}
.wc-block-checkout .wc-block-components-checkout-step::after{display:none!important}
.wc-block-checkout .wc-block-components-checkout-step__title{font:400 28px/1.1 var(--police-titres)}
/* champs : les libellés flottants sont ceux de WooCommerce, on règle leur peau (3 classes → !important) */
.wc-block-components-text-input input[type],.wc-block-components-country-input .wc-blocks-components-select__select,.wc-block-components-state-input .wc-blocks-components-select__select,
.wc-blocks-components-select .wc-blocks-components-select__select,.wc-block-components-textarea{border-color:var(--trait)!important;border-radius:var(--rayon)!important;background:var(--fond)!important}
.wc-block-components-text-input.is-active input[type],.wc-block-components-text-input input[type]:focus{border-color:var(--texte)!important;box-shadow:none!important}
.wc-block-checkout .wc-block-components-text-input input,.wc-block-checkout .wc-blocks-components-select__select,.wc-block-checkout .wc-block-components-combobox input{border-radius:14px!important;background:var(--fond)!important;border-color:var(--trait)!important}
.wc-block-components-radio-control--highlight-checked,.wc-block-components-radio-control-accordion-option{border-radius:var(--rayon)}
.wc-block-components-radio-control--highlight-checked::after{border-color:var(--trait)}
.wc-block-checkout .wc-block-components-radio-control__option,.wc-block-checkout .wc-block-components-radio-control-accordion-option{border-radius:14px!important;border-color:var(--trait)!important}
.wc-block-components-radio-control__input:checked{border-color:var(--accent)}
.wc-block-components-radio-control__input:checked::before{background:var(--accent)}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}
.wc-block-components-checkbox .wc-block-components-checkbox__mark{fill:var(--sur-accent)}
.wc-block-checkout__terms{font-size:14px;color:var(--sourdine)}
/* erreurs de validation : la couleur « alerte » de la palette */
.wc-block-components-validation-error{color:var(--alerte)}
.wc-block-components-validation-error svg{fill:currentColor}
.wc-block-components-text-input.has-error input[type],.wc-block-components-select-input.has-error select,.wc-blocks-components-select.has-error .wc-blocks-components-select__select{border-color:var(--alerte)!important}
.wc-block-components-text-input.has-error label,.wc-block-components-checkbox.has-error{color:var(--alerte)}
/* récapitulatif : une carte, comme celui du panier */
.wc-block-checkout .wc-block-checkout__sidebar{padding:28px!important;border-radius:var(--rayon-grand);background:var(--surface);box-shadow:0 30px 60px color-mix(in srgb,var(--texte) 8%,transparent)}
.wc-block-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block{background:var(--surface);border:0;border-radius:var(--rayon)}
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block{padding:6px 22px 8px}
.wc-block-checkout .wc-block-components-checkout-order-summary__title{border:0}
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,.wc-block-checkout__sidebar .wc-block-components-panel{border-color:color-mix(in srgb,var(--texte) 10%,transparent)}
.wc-block-components-order-summary-item{padding:12px 0!important}
.wc-block-components-order-summary .wc-block-components-product-name{font:400 16px/1.3 var(--police-titres)}
.wc-block-components-order-summary .wc-block-components-sale-badge{display:none!important}
/* PIÈGE : la pastille de quantité est posée à 2 classes par WooCommerce (blanc sur blanc sinon) */
.wc-block-components-order-summary .wc-block-components-order-summary-item__quantity{background:var(--accent);color:var(--sur-accent);border:0;box-shadow:0 0 0 2px var(--surface)}
.wc-block-checkout .wc-block-components-order-summary-item__image img{border-radius:12px;background:var(--surface)}
.wc-block-checkout .wc-block-components-checkout-place-order-button{width:100%;min-height:60px;border-radius:999px;font-size:16px;background:var(--accent);color:var(--sur-accent)}

/* ---------- Confirmation de commande (order-confirmation.html) : un reçu, une colonne centrée ---------- */
.page-confirmation .wrap{max-width:calc(880px + 2 * var(--gouttiere));padding-block:72px 0;display:flex;flex-direction:column;gap:44px}
.page-confirmation .wp-block-heading{font-size:24px;margin-bottom:18px}
.wc-block-order-confirmation-status{text-align:center;font-family:var(--police-titres);font-size:inherit!important}
.wc-block-order-confirmation-status h1{font-size:var(--wp--preset--font-size--titre-1);line-height:1.06;margin:0}
.wc-block-order-confirmation-status p{margin-top:14px;font-family:var(--police-texte);font-size:16px;color:var(--sourdine)}
.wc-block-order-confirmation-summary{padding:28px 32px;background:var(--surface);border-radius:var(--rayon)}
.wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px 36px;margin:0;padding:0;list-style:none}
.wc-block-order-confirmation-summary-list-item{margin:0;padding:0;border:0}
.wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__key{display:block;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sourdine)}
.wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__value{display:block;margin-top:6px;font-size:16px;overflow-wrap:anywhere}
.wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__table{border:0;border-collapse:collapse;width:100%;font-size:16px}
.wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__table :is(th,td){padding:16px 0;border:0;border-top:1px solid var(--trait);font-weight:400}
.wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__table thead th{border-top:0;padding-top:0;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sourdine)}
.wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__table tfoot tr:last-child :is(th,td){font-size:18px;font-weight:500;border-top-color:var(--texte)}
.wc-block-order-confirmation-totals .wc-block-order-confirmation-totals__table a{text-decoration:none}
.wc-block-order-confirmation-totals .product-quantity{font-weight:400;color:var(--sourdine)}
.wc-block-order-confirmation-address-wrapper{gap:28px}
.wc-block-order-confirmation-address-wrapper .wp-block-heading{font-size:20px;margin-bottom:12px}
.wc-block-order-confirmation-shipping-address,.wc-block-order-confirmation-billing-address{padding:20px 0 0;border:0!important;border-top:1px solid var(--trait)!important;border-radius:0;line-height:1.7}
.wc-block-order-confirmation-additional-information:not(:empty){padding:28px 32px;border:1px solid var(--trait);border-radius:var(--rayon)}

/* ---------- Messages des blocs : la surface et la palette, pas le bleu ni le vert de WooCommerce ---------- */
.wc-block-components-notice-banner{border-radius:var(--rayon);font-size:15px;line-height:1.55}
.wc-block-components-notice-banner:is(.is-info,.is-success,.is-warning,.is-error){background-color:var(--surface);border:1px solid var(--trait);color:var(--texte)}
.wc-block-components-notice-banner:is(.is-info,.is-success,.is-warning)>svg{background-color:var(--texte);fill:var(--fond)}
.wc-block-components-notice-banner.is-error{border-color:color-mix(in srgb,var(--alerte) 45%,var(--trait))}
.wc-block-components-notice-banner.is-error>svg{background-color:var(--alerte);fill:var(--fond)}
.wc-block-components-notice-banner a,.wc-block-components-notice-banner .wc-forward{color:var(--texte);font-weight:500}

/* ---------- Rappel « votre panier vous attend » (interface.js) ---------- */
.rappel-panier{position:fixed;left:50%;bottom:20px;z-index:70;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:12px 12px 12px 18px;border-radius:999px;
  background:var(--nuit);color:var(--sur-nuit);box-shadow:0 20px 50px -20px color-mix(in srgb,var(--nuit) 70%,transparent);font-size:14px;transform:translate(-50%,140%);transition:transform .6s var(--courbe)}
.rappel-panier.est-visible{transform:translate(-50%,0)}
.rappel-panier strong{margin-right:6px;color:#fff}
.rappel-panier a{padding:8px 16px;border-radius:999px;background:var(--rose);color:var(--nuit)!important;font-weight:700;text-decoration:none!important;white-space:nowrap}
.rappel-panier button{border:0;background:none;color:var(--sur-nuit-sourdine);font-size:20px;cursor:pointer;padding:0 6px}

/* ---------- Adaptatif ---------- */
@media (max-width:1024px){
  .wc-block-cart .wc-block-cart__sidebar{position:static}
}
@media (max-width:860px){
  .page-confirmation .wrap{padding-block:48px 0;gap:32px}
  .wc-block-order-confirmation-summary{padding:22px 20px}
  .panier-vide-suite{margin:80px 0 32px}
}
@media (max-width:781px){
  .wc-block-cart:is(.is-mobile,.is-small,.is-medium) table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:88px minmax(0,1fr);column-gap:14px}
  /* « Complétez votre nuit » : la pastille d'offre reste petite, l'image reste visible */
  .collection-croisee .carte-offre{top:8px;left:8px;padding:4px 9px}
  .collection-croisee .carte-offre__jusqua{display:none}
  .collection-croisee .wc-block-product{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:4px 14px;text-align:left}
  .collection-croisee .carte-image{aspect-ratio:1!important;grid-row:span 2}
  .collection-croisee .carte-infos{align-items:flex-start!important;text-align:left!important}
}
@media (max-width:640px){
  .wc-block-cart .wc-block-cart__sidebar,.wc-block-checkout .wc-block-checkout__sidebar,.wc-block-checkout .wc-block-checkout__main .wc-block-components-checkout-step{padding:20px!important}
  .wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions{grid-template-columns:1fr}
}
@media (max-width:520px){
  .rappel-panier{border-radius:20px;flex-wrap:wrap;bottom:12px}
  .rappel-panier__emoji{display:none}
}
@media (prefers-reduced-motion:reduce){
  .livraison-barre__emoji,.livraison-barre.est-atteinte .livraison-barre__jauge span::after,.livraison-barre.fete::before,.livraison-barre.fete::after{animation:none}
}


/* Mini-panier mesuré : même zone défilante au toucher et à la souris. */
.wc-block-mini-cart__drawer .wc-block-components-drawer__content{height:100%;min-height:0;margin-top:0!important}
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents{height:100%;min-height:0}
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block{display:flex;flex-direction:column;height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.wc-block-mini-cart__drawer .wc-block-mini-cart__items{flex:0 0 auto!important;overflow:visible!important;padding:0 16px!important}
.wc-block-mini-cart__drawer .wc-block-mini-cart__title{flex:none;padding:20px 64px 14px 20px!important;font-size:23px!important;line-height:1.3}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer{position:sticky;bottom:0;z-index:2;flex:none;margin-top:auto;padding:14px 16px calc(14px + env(safe-area-inset-bottom))!important;box-shadow:0 -8px 24px -15px var(--nuit)}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions{gap:8px}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions .wp-element-button{min-height:46px;padding:10px 12px;font-size:14px;line-height:1.3}
.wc-block-mini-cart__drawer .wc-block-components-product-name{font-size:15px!important;line-height:1.3}
.wc-block-mini-cart__drawer .wc-block-cart-items__row{padding:12px!important;border-radius:var(--rayon-carte)!important;margin-bottom:8px}
.wc-block-mini-cart__drawer table.wc-block-cart-items .wc-block-cart-items__row{grid-template-columns:58px minmax(0,1fr)!important;column-gap:10px}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector{min-height:36px;height:36px;width:104px;margin-top:8px}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector input{min-height:36px;height:36px;padding:0}
.wc-block-mini-cart__drawer .wc-block-cart-item__total{margin-top:4px!important}
.wc-block-mini-cart__drawer .wc-block-components-sale-badge{padding:3px 7px!important}
.wc-block-mini-cart__drawer :is(.livraison-barre,.pack-suggestion){margin:0 16px 12px!important;padding:11px 12px!important;border-radius:14px}
.wc-block-mini-cart__drawer .livraison-barre__texte{font-size:13px;line-height:1.5;margin-bottom:8px}
.wc-block-mini-cart__drawer .livraison-barre__jauge{height:5px}
.wc-block-mini-cart__drawer .livraison-coup{gap:8px;margin-top:10px;padding:8px}
.wc-block-mini-cart__drawer .livraison-coup img{width:32px;height:32px}
.wc-block-mini-cart__drawer .livraison-coup__bouton{padding-inline:10px;font-size:13px;min-height:36px}
.wc-block-mini-cart__drawer .pack-suggestion{font-size:13px;gap:6px 8px}
.wc-block-mini-cart__drawer .pack-suggestion>span:nth-child(2){min-width:130px}
.wc-block-mini-cart__drawer .livraison-barre__emoji{font-size:16px;animation:none}
.wc-block-mini-cart__drawer .livraison-barre.est-atteinte .livraison-barre__jauge span::after{animation:none}
@media(min-width:782px){
 .wc-block-mini-cart__drawer.wc-block-components-drawer{width:min(430px,calc(100vw - 24px))!important;max-width:none!important;top:12px!important;bottom:12px!important;right:12px!important;left:auto!important;height:calc(100dvh - 24px)!important;border-radius:22px;overflow:hidden}
}
@media(max-width:781px){
 .wc-block-mini-cart__drawer .wc-block-mini-cart__title{padding-top:32px!important}
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title{position:sticky;top:0;z-index:3;background:var(--fond);border-bottom:1px solid var(--trait)}
@media(min-width:782px){
 .wc-block-mini-cart__drawer.wc-block-components-drawer{transform:none;animation:tiroir-cote .3s var(--courbe) both!important}
 .wc-block-components-drawer__screen-overlay--is-hidden .wc-block-mini-cart__drawer.wc-block-components-drawer{animation:tiroir-cote-ferme .25s ease-in both!important}
}
@keyframes tiroir-cote{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:none}}
@keyframes tiroir-cote-ferme{to{opacity:0;transform:translateX(calc(100% + 24px))}}
@media(max-width:781px){.wc-block-mini-cart__drawer .wc-block-components-quantity-selector{height:44px;min-height:44px}}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close{z-index:6}

/* Un panier modal doit passer devant la barre d’administration WordPress. */
.wc-block-components-drawer__screen-overlay{z-index:1000001!important}
.wp-site-blocks:has(.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden):not([hidden])){z-index:1000000}

.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block{scroll-padding-top:84px;scroll-padding-bottom:180px}

/* Même palette ivoire et encre que la fiche, défilement conservé. */
.wc-block-mini-cart__drawer{--fond:#f7f6f3;--sourdine:#555b71;background:var(--fond)}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer{background:#f7f6f3}
.wc-block-mini-cart__drawer .wc-block-cart-items__row{border:1px solid var(--bord-composant)!important;background:#fff}
.wc-block-mini-cart__drawer .livraison-barre{background:#efedf5;border:1px solid #dedce8}
.wc-block-mini-cart__drawer a.pack-suggestion{background:var(--nuit);color:var(--sur-nuit);border:1px solid var(--nuit)}

/* Ordinateur : suggestions du panier entières sur un écran bas (1.8.21). */
@media (min-width:1025px){
  .collection-croisee .wc-block-product{container-type:inline-size}
  .collection-croisee .carte-image{aspect-ratio:auto!important;height:min(100cqw,max(140px,calc(var(--vue) - 390px)));grid-template:minmax(0,1fr)/minmax(0,1fr)}
  .collection-croisee .carte-image a{grid-template:minmax(0,1fr)/minmax(0,1fr)}
  .collection-croisee .carte-image img{max-height:100%}
}

/* PIÈGE iPhone (vidéo du client, 16-10) : fermé, le tiroir du mini-panier reste juste sous le bas de l'écran.
   Quand la barre du navigateur bouge, son bord clair apparaît et descend sur la page. Fermé, il devient invisible
   une fois son animation de sortie jouée ; ouvert, il redevient visible tout de suite. */
.wc-block-components-drawer__screen-overlay--is-hidden .wc-block-mini-cart__drawer.wc-block-components-drawer{visibility:hidden;transition:transform .3s,visibility 0s linear .4s}
.wc-block-components-drawer__screen-overlay:not(.wc-block-components-drawer__screen-overlay--is-hidden) .wc-block-mini-cart__drawer.wc-block-components-drawer{visibility:visible;transition:transform .3s,visibility 0s}

/* ---------- Pack : une seule ligne (panier.js) — mini-panier, page panier, récapitulatif de commande ---------- */
.ligne-pack-enfant{display:none!important}
.ligne-pack :is(.wc-block-cart-item__wrap,.wc-block-components-order-summary-item__description)>:is(.wc-block-components-product-name,.wc-block-cart-item__prices,.wc-block-components-product-metadata){display:none!important}
.ligne-pack :is(.wc-block-cart-item__total,.wc-block-components-order-summary-item__total-price){display:none!important}
.ligne-pack :is(.wc-block-cart-item__image,.wc-block-components-order-summary-item__image){position:relative}
.ligne-pack__img2{position:absolute;z-index:1;right:-6px;bottom:-4px;width:58%;height:auto;aspect-ratio:1;object-fit:contain;padding:3px;border-radius:12px;background:var(--surface);box-shadow:0 4px 12px #12174a2e}
.ligne-pack__infos{display:grid;gap:4px;margin:0 0 8px}
.ligne-pack__nom{font:400 18px/1.25 var(--police-titres);color:var(--texte);text-decoration:none}
@media (hover:hover){.ligne-pack__nom:hover{text-decoration:underline}}
.ligne-pack__contenu{margin:0;font-size:13px;line-height:1.4;color:var(--texte-secondaire)}
.ligne-pack__prix{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:2px 0 0;font-weight:600;color:var(--texte)}
.ligne-pack__prix del{font-size:14px;font-weight:400;color:var(--texte-secondaire)}
.ligne-pack__prix ins{font-size:16px;text-decoration:none}
.ligne-pack__remise{padding:2px 8px;border-radius:999px;background:#f0e4ed;color:#873569;font-size:13px;font-weight:700}
.wc-block-components-order-summary .ligne-pack__nom{font-size:16px}

/* Tiroir pendant la relecture du panier après un ajout (noyau.js) : jamais « Votre panier est vide » à tort. */
.panier-actualise .wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block>*{visibility:hidden}
.panier-actualise .wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block{position:relative;min-height:220px}
.panier-actualise .wc-block-mini-cart__drawer .wp-block-woocommerce-empty-mini-cart-contents-block::before{content:"Mise à jour de votre panier…";position:absolute;inset:0;display:grid;place-items:center;padding:24px;font-size:15px;font-weight:600;color:var(--texte-secondaire);
  background:linear-gradient(100deg,transparent 30%,#ffffff99 50%,transparent 70%) 0 0/250% 100%;animation:panier-reflet 1.4s linear infinite}
@keyframes panier-reflet{from{background-position:120% 0}to{background-position:-120% 0}}

/* ---------- Mini-panier vide (inc/vitrine.php) : petite lune sur un oreiller, phrase, deux produits ---------- */
.panier-vide__ciel{position:relative;display:block;width:150px;height:110px;margin:8px auto 4px;border-radius:50%;
  background:radial-gradient(1.5px 1.5px at 22% 30%,#fff 60%,transparent),radial-gradient(1px 1px at 72% 22%,#fff 60%,transparent),radial-gradient(1.5px 1.5px at 84% 58%,#fff 60%,transparent),radial-gradient(closest-side,#2a3170,var(--nuit))}
.panier-vide__lune{position:absolute;top:18px;right:34px;width:30px;height:30px;border-radius:50%;box-shadow:-7px 4px 0 0 #f4e7c9}
.panier-vide__oreiller{position:absolute;left:50%;bottom:20px;width:78px;height:30px;translate:-50% 0;border-radius:16px 16px 12px 12px;background:linear-gradient(#fff,#e8e6f2);box-shadow:0 8px 16px #00000040}
@media (prefers-reduced-motion:no-preference){.panier-vide__lune{animation:lune-flotte 5s ease-in-out infinite alternate}@keyframes lune-flotte{to{translate:0 -4px}}}
.panier-vide__phrase{max-width:30ch;margin:18px auto 10px;text-align:center;font-size:15px;line-height:1.5;color:var(--texte-secondaire)}
.panier-vide__produits{display:grid;gap:10px;margin:0 0 8px;padding:0 4px;list-style:none}
.panier-vide__produit{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px 8px 8px;border-radius:16px;background:var(--surface)}
.panier-vide__image img{display:block;width:64px;height:64px;object-fit:contain;border-radius:12px;background:#f1eff6}
.panier-vide__texte{display:grid;gap:2px;min-width:0;font-size:13px;color:var(--texte-secondaire)}
.panier-vide__texte a{font:400 16px/1.25 var(--police-titres);color:var(--texte);text-decoration:none}
.panier-vide__ajout{min-height:44px;padding:0 16px;border:0;border-radius:999px;background:var(--nuit);color:#fff;font:600 14px var(--police-texte);cursor:pointer}
.panier-vide__ajout[aria-busy=true]{opacity:.6}
.panier-vide__ajout:focus-visible{outline:2px solid var(--nuit);outline-offset:3px}

/* ---------- Ajout au panier (vitrine.js) et camion de la livraison offerte (panier.js) ---------- */
.vol-panier{position:fixed;z-index:1000002;padding:8px;border-radius:50%;background:#fff;object-fit:contain;pointer-events:none;will-change:transform,opacity;box-shadow:0 10px 24px #12174a33}
:is(.single_add_to_cart_button,.achat-collant__bouton,.panier-vide__ajout).est-ajoute{position:relative;color:transparent!important}
:is(.single_add_to_cart_button,.achat-collant__bouton,.panier-vide__ajout).est-ajoute::after{content:"✓ Ajouté";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:700;animation:ajoute-apparait .35s var(--courbe)}
@keyframes ajoute-apparait{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}
.livraison-barre{--avance:0}
.livraison-barre__route{position:absolute;left:20px;right:20px;bottom:24px;height:20px;container-type:inline-size;pointer-events:none}
.livraison-barre__route::before{content:"";position:absolute;left:0;bottom:0;width:22px;height:20px;background:var(--nuit);-webkit-mask:var(--i-livraison) center/contain no-repeat;mask:var(--i-livraison) center/contain no-repeat;
  transform:translateX(calc(var(--avance) * (100cqw - 22px)));transition:transform .9s var(--courbe),opacity .3s}
.livraison-barre[aria-busy=true] .livraison-barre__route::before{opacity:.35}
.livraison-barre.est-atteinte .livraison-barre__route::before{background:var(--rose-vif);animation:camion-arrive .6s var(--courbe) .6s}
@keyframes camion-arrive{40%{translate:0 -5px}70%{translate:0 1px}}
@media (prefers-reduced-motion:reduce){.livraison-barre__route::before{transition:none}}

/* ---------- Page de commande : étapes, garanties en bandeau bleu nuit, récapitulatif collant (ordinateur) ---------- */
.commande-etapes{display:flex;justify-content:center;gap:clamp(8px,3vw,28px);margin:8px auto 18px;padding:0;list-style:none;counter-reset:etape;font-size:14px;font-weight:600;color:var(--texte-secondaire)}
.commande-etapes li{counter-increment:etape;display:flex;align-items:center;gap:8px;white-space:nowrap}
.commande-etapes li::before{content:counter(etape);display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--bord-composant);background:#fff;font-size:13px;color:var(--texte-secondaire);transition:background .4s var(--courbe),color .4s,border-color .4s}
.commande-etapes li+li::after{content:none}
.commande-etapes li.est-active{color:var(--nuit)}
.commande-etapes li.est-active::before{background:var(--nuit);border-color:var(--nuit);color:#fff}
.commande-etapes li.est-faite::before{content:"✓";background:var(--rose);border-color:var(--rose);color:var(--nuit)}
.commande-garanties{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px;margin:0 0 24px;padding:12px 18px;border-radius:18px;background:var(--grain-clair,none),var(--nuit);color:#fff}
.commande-garanties .promesse{justify-content:center;margin:0;font-size:13px;font-weight:600;color:#fff;text-align:center}
.commande-garanties .promesse::before{background-color:var(--rose)}
@media (max-width:640px){
  .commande-etapes{gap:10px;font-size:13px}
  .commande-etapes li{gap:6px}
  .commande-garanties{padding:10px 8px}
  .commande-garanties .promesse{flex-direction:column;gap:5px;line-height:1.3}
}
@media (min-width:1025px){.wc-block-checkout .wc-block-checkout__sidebar{position:sticky;top:24px;align-self:flex-start}}

/* Commande en trois étapes (assets/js/commande.js) : seuls les blocs de l'étape en cours sont affichés ;
   les autres restent dans le formulaire, masqués. */
.commande-etapes{scroll-margin-top:calc(var(--entete-h,66px) + 12px)}
/* téléphone : le résumé replié de la commande tient sur une ligne, sans grand vide */
.wc-block-checkout.is-mobile .wc-block-checkout__sidebar{padding:4px 18px!important}
.commande-etapes li.est-faite{cursor:pointer}
.commande-par-etapes .wc-block-components-checkout-step__title:focus{outline:none}   /* titre de l'étape : reçoit le focus pour les lecteurs d'écran, sans cadre */
.commande-etapes li.est-faite:focus-visible{outline:2px solid var(--nuit);outline-offset:4px;border-radius:999px}
@media (hover:hover){.commande-etapes li.est-faite:hover{color:var(--nuit);text-decoration:underline;text-underline-offset:4px}}
.commande-par-etapes.etape-0 [data-etape-de="1"],.commande-par-etapes.etape-0 [data-etape-de="2"],
.commande-par-etapes.etape-1 [data-etape-de="0"],.commande-par-etapes.etape-1 [data-etape-de="2"],
.commande-par-etapes.etape-2 [data-etape-de="0"],.commande-par-etapes.etape-2 [data-etape-de="1"]{display:none!important}
.commande-par-etapes.etape-entree [data-etape-de]{animation:etape-entree .38s var(--courbe) both}
@keyframes etape-entree{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.commande-rappel{display:grid;gap:2px;margin:0 0 18px;padding:6px 18px;border-radius:var(--rayon);background:var(--surface);box-shadow:0 12px 30px color-mix(in srgb,var(--texte) 6%,transparent)}
.commande-rappel__ligne{display:grid;grid-template-columns:minmax(84px,auto) minmax(0,1fr) auto;align-items:baseline;gap:4px 14px;margin:0;padding:10px 0;font-size:14px;line-height:1.45}
.commande-rappel__ligne+.commande-rappel__ligne{border-top:1px solid color-mix(in srgb,var(--texte) 10%,transparent)}
.commande-rappel__titre{font-weight:600;color:var(--texte-secondaire)}
.commande-rappel__valeur{min-width:0;overflow-wrap:anywhere;color:var(--nuit)}
.commande-rappel button{padding:4px 0;border:0;background:none;font:inherit;font-weight:600;color:var(--nuit);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.commande-suite{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:22px 0 8px}
.commande-suite__continuer{width:100%;min-height:54px;justify-content:center}
.commande-suite.est-derniere .commande-suite__continuer{display:none}
.commande-suite__retour{align-self:center;padding:8px 12px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--texte-secondaire);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.commande-suite__retour::before{content:"← "}
@media (min-width:641px){
  .commande-suite{flex-direction:row-reverse;justify-content:space-between;align-items:center}
  .commande-suite__continuer{width:auto;min-width:300px}
  .commande-suite__retour{align-self:auto}
}
@media (max-width:420px){
  .commande-rappel{padding:4px 14px}
  .commande-rappel__ligne{grid-template-columns:minmax(0,1fr) auto}
  .commande-rappel__titre{grid-column:1/-1}
}
@media (prefers-reduced-motion:reduce){.commande-par-etapes.etape-entree [data-etape-de]{animation:none}}
