/* Histoires futées — boutique : « Nos livres », catégories, fiche livre, panier,
   habillage WooCommerce (boutons, champs, avis, commande, mon compte).
   Valeurs reprises des maquettes Nos livres, Premieres lectures, Imagiers, Fiche produit, Panier. */

/* =========================================================================
   Communs de la zone
   ====================================================================== */
.hf-shop-page [hidden],.hf-product-page [hidden],.hf-wc-page [hidden]{display:none!important}
.hf-shop-eyebrow{margin:0;font:700 13px/1 var(--font-brand);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,#012C2D 64%,#F2F2F2)}
.hf-shop-eyebrow--ink{color:#012C2D}
.hf-shop-h2{margin:0 0 26px;font:900 clamp(30px,4.5vw,42px)/1.05 var(--font-brand);letter-spacing:-.02em}
.hf-shop-h2--m{margin-bottom:22px;font-size:clamp(26px,3.5vw,34px);line-height:1.1}
.hf-shop-rainbow{height:10px;background:linear-gradient(90deg,#BECF71,#C59CEC 25%,#E987C6 50%,#74CBD2 75%,#F1C22A)}
.hf-shop-mark{background:color-mix(in oklab,#F1C22A 35%,#F2F2F2);color:#012C2D;padding:1px 6px;border-radius:6px}
.hf-shop-js-only{display:none}
.hf-shop-js .hf-shop-js-only{display:flex}
.hf-shop-check{gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;cursor:pointer}
.hf-shop-check input{width:20px;height:20px;margin:0;accent-color:#012C2D;flex:none}
:is(.hf-buy__choice,.hf-shop-langs a,.hf-cart-item__lang span,[data-hf-isbn-lang]):lang(ar){font-family:var(--f-arabic)}

/* =========================================================================
   Carte livre (template-parts/product-card.php)
   ====================================================================== */
.hf-book{position:relative;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 2px 6px rgba(1,44,45,.06),0 10px 30px rgba(1,44,45,.07);display:grid;align-content:start;color:#012C2D;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s}
.hf-book:hover,.hf-book:focus-within{transform:translateY(-3px)}
.hf-book__media{position:relative;aspect-ratio:1/1;display:grid;place-items:center;text-decoration:none;color:#012C2D;overflow:hidden}
.hf-book__media:hover{color:#012C2D}
.hf-book__media--wide{aspect-ratio:4/3}
.hf-book__badge{position:absolute;top:14px;inset-inline-start:14px;z-index:1;line-height:0}
.hf-book__badge--end{inset-inline-start:auto;inset-inline-end:14px}
.hf-book__body{padding:18px 20px 22px;display:grid;gap:10px;align-content:start}
.hf-book__body--roomy{padding:20px 22px 24px}
.hf-book__body--album{padding:22px 24px 24px;gap:14px}
.hf-book__body--tight{padding:0 6px 6px;gap:6px}
.hf-book__kicker{font:700 12px/1 var(--font-brand);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in oklab,#012C2D 64%,#F2F2F2)}
.hf-book__kicker--row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:0 6px}
.hf-book__body--tight .hf-book__kicker--row{padding:0}
.hf-book__title{margin:0;font:900 22px/1.15 var(--font-brand);letter-spacing:-.02em}
.hf-book__title a{text-decoration:none;color:inherit}
.hf-book__title a:hover{text-decoration:underline}
.hf-book__title--s{padding:0 6px 6px;font-size:20px;line-height:1.2;letter-spacing:-.01em}
.hf-book__title--m{font:700 21px/1.2 var(--f-title),sans-serif;letter-spacing:0}
.hf-book__title--l{font-size:24px;line-height:1.1}
.hf-book__title--xl{font:700 28px/1.1 var(--f-title),sans-serif;letter-spacing:0}
.hf-book__price,.hf-book__meta,.hf-book__link{font-size:15px}
.hf-book__price--muted{font:700 17px/1 var(--f-title),sans-serif;color:color-mix(in oklab,#012C2D 64%,#F2F2F2);white-space:nowrap}
.hf-book__price del,.hf-buy__amount del{opacity:.6;font-weight:400}
.hf-book__price ins,.hf-buy__amount ins{text-decoration:none}
.hf-book__tags{display:flex;gap:6px;flex-wrap:wrap}
.hf-book__tag{justify-self:start;padding:4px 10px;border-radius:999px;border:2px solid #012C2D;font:700 12px/1 var(--font-brand)}
.hf-book__tag--jaune{border-color:#F1C22A;background:#F1C22A;line-height:1.2;padding:2px 10px}
.hf-book__head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.hf-book__pitch{margin:0;color:color-mix(in oklab,#012C2D 80%,#F2F2F2);text-wrap:pretty}
.hf-book__actions{display:flex;gap:10px;flex-wrap:wrap;padding-top:4px}
.hf-book__age{position:absolute;top:14px;inset-inline-start:14px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.85);font:700 13px/1.2 var(--f-title),sans-serif}
.hf-book__visual{aspect-ratio:4/3;border-radius:16px;display:grid;place-items:center;font:700 13px/1 var(--font-brand);text-decoration:none;color:#012C2D;overflow:hidden;text-align:center}
.hf-book__visual--square{aspect-ratio:1/1;font-size:14px;line-height:1.3}
.hf-book__more{font:700 15px/1 var(--font-brand);text-decoration:underline;text-underline-offset:3px}
/* Variantes « lien » (produits liés, album lié, cahiers de l'accueil) */
.hf-book--related,.hf-book--cahier{padding:14px;gap:12px;box-shadow:0 2px 6px rgba(1,44,45,.06);text-decoration:none}
.hf-book--cahier{gap:14px}
.hf-book--related:hover{color:#012C2D}
.hf-book--album:hover{box-shadow:0 4px 10px rgba(1,44,45,.08),0 18px 40px rgba(1,44,45,.12)}
.hf-book--linked{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:18px;text-decoration:none;box-shadow:none}
.hf-book--linked:hover{color:#012C2D}
.hf-book__thumb{width:96px;aspect-ratio:3/4;border-radius:12px;flex:none;overflow:hidden}
.hf-book__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.hf-book__body--linked{flex:1 1 220px;padding:0;gap:6px}
/* Couverture posée sur le fond coloré (image) ou cadre provisoire « [À remplir] » */
.hf-book-cover{display:block;height:auto;max-height:88%;object-fit:contain;border-radius:12px;box-shadow:0 10px 24px rgba(1,44,45,.15)}
.hf-book-cover-ph{display:grid;place-items:center;text-align:center;border-radius:16px;background:rgba(255,255,255,.55);border:2px dashed rgba(1,44,45,.35);box-sizing:border-box;padding:8px;font:700 13px/1.3 var(--font-brand);color:#012C2D;box-shadow:0 10px 24px rgba(1,44,45,.15)}
.hf-book--album .hf-book-cover-ph{font-size:14px}
.is-tilted{transform:rotate(-3deg)}

/* =========================================================================
   « Nos livres » (template-parts/shop-catalog.php)
   ====================================================================== */
.hf-shop-head{max-width:1120px;margin:0 auto;padding:56px 20px 8px;display:grid;gap:14px}
.hf-shop-head__title{margin:0;font:900 clamp(38px,6vw,56px)/1.05 var(--font-brand);letter-spacing:-.02em}
.hf-shop-head__intro{margin:0;max-width:640px;font-size:18px;text-wrap:pretty}
.hf-shop{max-width:1120px;margin:0 auto;padding:24px 20px 80px}
.hf-shop-tabs ul{display:flex;gap:4px;padding:4px;margin:0 0 16px;list-style:none;border-radius:999px;background:#fff;flex-wrap:wrap;width:max-content;max-width:100%;box-sizing:border-box}
.hf-shop-tabs a{display:inline-flex;align-items:center;height:42px;padding:0 18px;border-radius:999px;background:transparent;color:#012C2D;font:700 15px/1 var(--font-brand);text-decoration:none;white-space:nowrap}
.hf-shop-tabs a:hover{background:color-mix(in oklab,#012C2D 6%,#fff);color:#012C2D}
.hf-shop-tabs a[aria-current="true"]{background:#F1C22A}
.hf-shop-langs{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:24px}
.hf-shop-langs__label{font:700 14px/1 var(--font-brand)}
.hf-shop-langs a{display:inline-flex;align-items:center;height:36px;padding:0 14px;box-sizing:border-box;border-radius:999px;border:2px solid #012C2D;background:#fff;color:#012C2D;font:700 14px/1 var(--font-brand);text-decoration:none}
.hf-shop-langs a:hover{color:#012C2D;background:color-mix(in oklab,#F1C22A 25%,#fff)}
.hf-shop-langs a[aria-current="true"]{background:#F1C22A}
.hf-shop-intro{margin:0 0 24px;padding:14px 20px;border-radius:20px;background:#fff;display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.hf-shop-intro a{font:700 15px/1 var(--font-brand)}
.hf-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:24px}
.hf-shop-empty{margin:0;padding:24px;border-radius:24px;background:#fff}
.hf-shop-grid + .hf-shop-empty{margin-top:0}
.hf-shop .woocommerce-pagination,.hf-shop-page>.woocommerce-pagination{max-width:1120px;margin:0 auto;padding:0 20px 60px}

/* =========================================================================
   Pages dédiées : Premières lectures, Imagiers (template-parts/shop-landing.php)
   ====================================================================== */
.hf-landing-hero{padding:20px}
.hf-landing-hero__in{position:relative;max-width:1240px;margin:0 auto;border-radius:36px;overflow:hidden;padding:clamp(44px,7vw,88px) clamp(24px,6vw,72px)}
.hf-landing-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hf-landing-hero__content{position:relative;max-width:720px;display:grid;gap:18px}
.hf-landing-hero__title{margin:0;font:900 clamp(38px,6vw,60px)/1.05 var(--font-brand);letter-spacing:-.02em;text-wrap:balance}
.hf-landing-hero__intro{margin:0;font-size:20px;max-width:580px;text-wrap:pretty}
.hf-landing-hero__cta{justify-self:start}
.hf-landing-atouts{max-width:1120px;margin:0 auto;padding:48px 20px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px}
.hf-landing-atout{border-radius:24px;padding:28px;background:#fff;display:grid;gap:10px;align-content:start}
.hf-landing-atout__icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center}
.hf-landing-atout__title{margin:0;font:900 22px/1.2 var(--font-brand);letter-spacing:-.02em}
.hf-landing-atout__text{display:grid;gap:12px}
.hf-landing-atout__text p{margin:0}
.hf-landing-list{max-width:1120px;margin:0 auto;padding:48px 20px 40px}
.hf-landing-list:last-child{padding-bottom:80px}
.hf-landing-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:24px}
.hf-landing-parents{max-width:1120px;margin:0 auto;padding:16px 20px 80px}
.hf-landing-parents__in{background:#fff;border-radius:36px;overflow:hidden}
.hf-landing-parents__grid{padding:clamp(28px,5vw,48px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px;align-items:center}
.hf-landing-parents__text{display:grid;gap:14px}
.hf-landing-parents__text p{margin:0}
.hf-landing-parents__title{margin:0;font:900 clamp(26px,3.5vw,34px)/1.15 var(--font-brand);letter-spacing:-.02em;text-wrap:balance}
.hf-landing-parents__actions{display:flex;gap:10px;flex-wrap:wrap}

/* =========================================================================
   Fiche livre (single-product.php + template-parts/product-*.php)
   ====================================================================== */
.hf-product__crumbs{max-width:1120px;margin:0 auto;padding:24px 20px 0;box-sizing:border-box;display:flex;gap:8px;flex-wrap:wrap;font-size:14px}
.hf-product__main{max-width:1120px;margin:0 auto;padding:24px 20px 56px;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px;align-items:start}
.hf-product__media{display:grid;gap:14px;min-width:0}
.hf-product__summary{display:grid;gap:22px;min-width:0;scroll-margin-top:110px}
.hf-product__intro{display:grid;gap:10px}
.hf-product__title{margin:0;font:900 clamp(38px,5.5vw,52px)/1.05 var(--font-brand);letter-spacing:-.02em}
.hf-product__excerpt{font-size:18px;text-wrap:pretty}
.hf-product__excerpt>*{margin:0}
.hf-product__excerpt>*+*{margin-top:.6em}
.hf-product__emotions{display:grid;gap:10px}
.hf-product__label{font:700 15px/1 var(--font-brand)}
.hf-product__emotion-list{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.hf-product__emotion-list li{padding:7px 14px;border-radius:999px;font:700 14px/1 var(--font-brand)}
.hf-product__summary .woocommerce-notices-wrapper:empty{display:none}
.hf-product__summary .woocommerce-notices-wrapper>*:last-child{margin-bottom:0}

/* Visuels */
.hf-product-gallery{display:grid;gap:14px}
.hf-product-gallery__main{aspect-ratio:1/1;border-radius:24px;display:grid;place-items:center;overflow:hidden}
.hf-product-gallery__img{grid-area:1/1;display:block;max-width:72%;max-height:86%;width:auto;height:auto;border-radius:16px;box-shadow:0 14px 30px rgba(1,44,45,.15)}
.hf-product-gallery__ph{grid-area:1/1;width:58%;aspect-ratio:3/4;border-radius:16px;background:rgba(255,255,255,.55);border:2px dashed rgba(1,44,45,.35);display:grid;place-items:center;text-align:center;font:700 16px/1.3 var(--font-brand);box-shadow:0 14px 30px rgba(1,44,45,.15)}
.hf-product-gallery__thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hf-product-gallery__thumb{aspect-ratio:1/1;border-radius:16px;border:2px solid transparent;background:#fff;cursor:pointer;font:700 11px/1.2 var(--font-brand);color:#012C2D;padding:6px;box-sizing:border-box;display:grid;place-items:center;overflow:hidden;text-decoration:none}
.hf-product-gallery__thumb img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}
.hf-product-gallery__thumb[aria-current="true"],.hf-product-gallery__thumb[aria-pressed="true"]{border-color:#012C2D}
.hf-product-gallery__thumb:hover{color:#012C2D;border-color:color-mix(in oklab,#012C2D 40%,#fff)}

/* Achat */
.hf-buy{display:grid;gap:22px;margin:0}
.hf-buy__langs{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.hf-buy__legend{display:block;padding:0;margin-bottom:10px;font:700 15px/1 var(--font-brand)}
.hf-buy__langs>.hf-buy__legend{margin-bottom:0}
.hf-buy__choices{display:flex;gap:8px;flex-wrap:wrap}
.hf-buy__choice{position:relative;font:700 16px/1 var(--font-brand);cursor:pointer}
.hf-buy__choice input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.hf-buy__choice span{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:46px;padding:0 18px;box-sizing:border-box;border-radius:999px;border:2px solid #012C2D;background:#fff;color:#012C2D;transition:box-shadow var(--dur-fast),background var(--dur-fast)}
.hf-buy__choice:hover span{background:color-mix(in oklab,#F1C22A 25%,#fff)}
.hf-buy__choice input:checked+span{background:#F1C22A;box-shadow:0 3px 0 #012C2D}
.hf-buy__choice input:focus-visible+span{outline:4px solid #C59CEC;outline-offset:2px}
.hf-buy__choice input:disabled{cursor:not-allowed}
.hf-buy__choice input:disabled+span{opacity:.45;text-decoration:line-through;text-decoration-thickness:2px}
.hf-buy__isbn{margin:0;font-size:14px;color:color-mix(in oklab,#012C2D 64%,#F2F2F2)}
.hf-buy__live{display:grid;gap:8px}
.hf-buy__price{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.hf-buy__amount{font:900 30px/1 var(--font-brand);letter-spacing:-.02em}
.hf-buy__mention{font-size:14px;color:color-mix(in oklab,#012C2D 64%,#F2F2F2)}
.hf-buy__stock{margin:0;display:flex;align-items:center;gap:8px;font:700 14px/1.3 var(--font-brand)}
.hf-buy__stock::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid #012C2D;background:#BECF71;flex:none}
.hf-buy__stock[data-state="out"]::before{background:#E987C6}
.hf-buy__stock[data-state="backorder"]::before{background:#F1C22A}
.hf-buy__stock[data-state="na"]::before{background:#fff}
.hf-buy__row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hf-buy__delivery{margin:-8px 0 0;display:flex;gap:8px;align-items:center;font-size:15px}
.hf-buy__delivery mark{background:color-mix(in oklab,#F1C22A 35%,#F2F2F2);color:#012C2D;padding:1px 6px;border-radius:6px}
.hf-buy--wc .variations{border:0;margin:0 0 12px}
.hf-buy--wc .variations select{max-width:100%}

/* Quantité (fiche et panier) */
.hf-qty{display:inline-flex;align-items:center;height:52px;border:2px solid #012C2D;border-radius:999px;background:#fff;box-sizing:border-box;padding:0 6px}
.hf-qty.is-single{display:none}
.hf-qty__btn{display:none;width:46px;height:100%;border:0;background:none;font:700 20px/1 var(--font-brand);cursor:pointer;color:#012C2D;padding:0;border-radius:999px}
.hf-qty__btn:hover{background:color-mix(in oklab,#012C2D 6%,#fff)}
.hf-shop-js .hf-qty__btn{display:grid;place-items:center}
.hf-shop-js .hf-qty{padding:0}
.hf-qty .quantity{display:flex;align-items:center;margin:0;height:100%}
.hf-qty .quantity input.qty{width:3.2em;min-width:28px;height:100%;padding:0;margin:0;border:0;background:transparent;box-shadow:none;text-align:center;color:#012C2D;font:700 17px/1 var(--font-brand)}
.hf-shop-js .hf-qty .quantity input.qty{width:2.4em;-moz-appearance:textfield;appearance:textfield}
.hf-shop-js .hf-qty input.qty::-webkit-inner-spin-button,.hf-shop-js .hf-qty input.qty::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.hf-qty .quantity input.qty:focus-visible{outline:4px solid #C59CEC;outline-offset:2px;border-radius:8px}
.hf-qty--sm{height:44px}
.hf-qty--sm .hf-qty__btn{width:40px;font-size:18px}
.hf-qty--sm .quantity input.qty{font-size:16px}

/* Caractéristiques */
.hf-product-specs{margin:0;background:#fff;border-radius:24px;padding:8px 22px;display:grid}
.hf-product-specs__row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid color-mix(in oklab,#012C2D 10%,#fff)}
.hf-product-specs__row:last-child{border-bottom:0}
.hf-product-specs dt{font:700 15px/1.3 var(--font-brand)}
.hf-product-specs dd{margin:0;font-size:15px;text-align:end}

/* Chanson et démarche */
.hf-product-extras{max-width:1120px;margin:0 auto;padding:0 20px 56px;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:20px}
.hf-product-song{position:relative;border-radius:36px;overflow:hidden;background:#C59CEC;min-height:260px;display:grid}
.hf-product-song__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hf-product-song__in{position:relative;padding:36px;display:grid;gap:14px;align-content:end;box-sizing:border-box}
.hf-product-song__title{margin:0;font:900 clamp(28px,3.5vw,36px)/1.1 var(--font-brand);letter-spacing:-.02em}
.hf-product-song__qr{margin:0;font-size:15px}
.hf-product-song__btn{justify-self:start}
.hf-product-why{background:#fff;border-radius:36px;overflow:hidden;display:grid;grid-template-rows:auto 1fr}
.hf-product-why__in{padding:34px 36px;display:grid;gap:14px;align-content:start}
.hf-product-why__in p{margin:0;text-wrap:pretty}
.hf-product-why__title{margin:0;font:900 clamp(26px,3.2vw,32px)/1.15 var(--font-brand);letter-spacing:-.02em;text-wrap:balance}
.hf-product-why .hf-product-why__baseline{font:900 22px/1.2 var(--font-brand);letter-spacing:-.01em}
.hf-product-why__link{font:700 16px/1 var(--font-brand)}

/* Produits liés (fiche, sous le panier) */
.hf-product-related{max-width:1120px;margin:0 auto;padding:0 20px 80px;box-sizing:border-box}
.hf-product-related__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:20px}
.hf-cart-more{padding:56px 0 0}

/* =========================================================================
   Pages Panier, Commande, Mon compte (woocommerce/hf-page.php)
   ====================================================================== */
.hf-wc-page{max-width:1120px;margin:0 auto;padding:56px 20px 80px;box-sizing:border-box;width:100%}
.hf-wc-page__title{margin:0 0 28px;font:900 clamp(38px,6vw,52px)/1.05 var(--font-brand);letter-spacing:-.02em}

/* Panier */
.hf-cart{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
@media (min-width:900px){.hf-cart{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}}
.hf-cart__form{min-width:0;margin:0}
.hf-cart__items{list-style:none;margin:0;padding:0;display:grid;gap:14px;min-width:0}
.hf-cart-item{background:#fff;border-radius:24px;padding:16px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.hf-cart-item__thumb{display:block;width:84px;aspect-ratio:3/4;border-radius:12px;flex:none;overflow:hidden}
.hf-cart-item__thumb img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;box-shadow:none}
.hf-cart-item__info{flex:1 1 180px;display:grid;gap:4px;min-width:0}
.hf-cart-item__title{font:900 20px/1.2 var(--font-brand);letter-spacing:-.01em}
.hf-cart-item__title a{text-decoration:none}
.hf-cart-item__title a:hover{text-decoration:underline}
.hf-cart-item__lang{font-size:15px}
.hf-cart-item__price{font-size:14px;color:color-mix(in oklab,#012C2D 64%,#F2F2F2)}
.hf-cart-item__info dl.variation{margin:0;display:flex;flex-wrap:wrap;gap:2px 8px;font-size:14px}
.hf-cart-item__info dl.variation dt{font-weight:700}
.hf-cart-item__info dl.variation dd,.hf-cart-item__info dl.variation p{margin:0}
.hf-cart-item__info .backorder_notification{margin:0;font-size:14px}
.hf-cart-item__actions{display:flex;align-items:center;gap:12px}
html .woocommerce .hf-cart a.remove,.hf-cart a.remove{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:0;font-size:inherit;line-height:1;font-weight:400;text-decoration:none;background:color-mix(in oklab,#012C2D 8%,#F2F2F2);color:#012C2D!important}
html .woocommerce .hf-cart a.remove:hover,.hf-cart a.remove:hover{background:color-mix(in oklab,#E987C6 40%,#fff);color:#012C2D!important}
.hf-cart__actions{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;justify-content:space-between;margin-top:18px}
.hf-coupon{display:grid;gap:8px;flex:1 1 280px;max-width:420px}
.hf-coupon__label{font:700 14px/1.3 var(--font-brand)}
.hf-coupon__row{display:flex;gap:8px}
.hf-coupon__row .hf-input{height:44px;flex:1 1 auto;min-width:0}
.hf-coupon .coupon-error-notice{margin:0;color:#8a1f55;font:700 14px/1.4 var(--font-brand)}
.hf-shop-js .hf-cart__update{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.hf-cart__summary{background:#fff;border-radius:24px;padding:26px;display:grid;gap:16px;min-width:0}
@media (min-width:900px){.hf-cart__summary{position:sticky;top:120px}}
.hf-cart__summary .cart-collaterals{width:auto}
.hf-cart__summary .cart-collaterals::before,.hf-cart__summary .cart-collaterals::after{content:none}
.hf-cart__reassure{margin:0;font-size:14px}
.hf-pay-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px;list-style:none;margin:0;padding:0}
.hf-pay-badges li{height:44px;border-radius:999px;border:2px solid #012C2D;display:grid;place-items:center;font:700 13px/1 var(--font-brand);text-align:center;padding:0 6px}

/* Récapitulatif (cart/cart-totals.php) */
html .woocommerce .cart-collaterals .hf-totals.cart_totals,.hf-totals{float:none;width:auto;display:grid;gap:16px}
.hf-totals::before,.hf-totals::after{content:none}
.hf-totals__title{margin:0;font:900 24px/1.1 var(--font-brand);letter-spacing:-.02em}
html .woocommerce .hf-totals table.shop_table{display:block;width:100%;margin:0;border:0;border-radius:0;border-collapse:collapse;font-size:15px}
.hf-totals table.shop_table tbody{display:grid;gap:10px}
.hf-totals table.shop_table :is(th,td){display:block}
.hf-totals table.shop_table tr{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
html .woocommerce-cart .cart-collaterals .hf-totals.cart_totals table :is(th,td),html .woocommerce .hf-totals table.shop_table :is(th,td){padding:0;border:0;width:auto;background:none;font-weight:400;line-height:1.45;vertical-align:baseline}
.hf-totals table.shop_table th{text-align:start}
.hf-totals table.shop_table td{text-align:end}
html .woocommerce .hf-totals table.shop_table tr.order-total :is(th,td){padding-top:10px;border-top:1px solid color-mix(in oklab,#012C2D 12%,#fff);font:900 18px/1.2 var(--font-brand)}
.hf-totals tr.order-total small,.hf-totals tr.order-total .includes_tax{display:block;font:400 13px/1.4 var(--font-brand);color:color-mix(in oklab,#012C2D 70%,#fff)}
.hf-totals tr.woocommerce-shipping-totals{flex-wrap:wrap}
.hf-totals tr.woocommerce-shipping-totals td{flex:1 1 auto}
html .woocommerce .hf-totals ul#shipping_method{list-style:none;margin:0;padding:0;display:grid;gap:4px}
html .woocommerce .hf-totals ul#shipping_method li{margin:0;padding:0;text-indent:0;line-height:1.4}
html .woocommerce .hf-totals ul#shipping_method li input{margin:0 6px 0 0;accent-color:#012C2D;vertical-align:-2px}
.hf-totals .woocommerce-shipping-destination,.hf-totals .woocommerce-shipping-contents{margin:6px 0 0;font-size:13px;color:color-mix(in oklab,#012C2D 70%,#fff)}
.hf-totals .shipping-calculator-button{font:700 14px/1.3 var(--font-brand)}
.hf-totals .shipping-calculator-form{margin-top:10px;text-align:start}
.hf-totals__note{margin:0;font-size:13px;line-height:1.45;color:color-mix(in oklab,#012C2D 80%,#F2F2F2)}
html .woocommerce-cart .hf-totals .wc-proceed-to-checkout{padding:0;display:grid;gap:10px}
.hf-totals .wc-proceed-to-checkout::before,.hf-totals .wc-proceed-to-checkout::after{content:none}
html .woocommerce-cart .wc-proceed-to-checkout a.checkout-button.hf-btn{display:flex;margin:0;padding:0 var(--btn-px);font-size:var(--btn-fs);text-align:center}

/* Panier vide (cart/cart-empty.php) */
.hf-cart-empty{background:#fff;border-radius:36px;padding:48px 32px;display:grid;gap:16px;justify-items:center;text-align:center}
.hf-cart-empty>p{margin:0}
.hf-cart-empty__title{font:900 26px/1.2 var(--font-brand);letter-spacing:-.02em}

/* =========================================================================
   Habillage WooCommerce : boutons, champs, avis
   ====================================================================== */
/* Boutons .button = composant Button (WooCommerce n'applique pas ses couleurs :
   classe woocommerce-block-theme-has-button-styles ajoutée sur <body>). */
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button,
html .woocommerce #respond input#submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h-md);height:auto;padding:10px 22px;margin:0;box-sizing:border-box;border:var(--border-w) solid var(--hf-encre);border-radius:var(--radius-pill);background:var(--hf-encre);background-image:none;color:var(--hf-gris);font:var(--weight-bold) var(--text-body-m)/1.15 var(--font-brand);text-decoration:none;text-shadow:none;text-align:center;white-space:normal;cursor:pointer;box-shadow:0 3px 0 var(--hf-encre);transition:transform var(--dur-fast) var(--ease-bounce),box-shadow var(--dur-fast) var(--ease-soft),background var(--dur-fast)}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button:hover,
html .woocommerce #respond input#submit:hover{background:var(--hf-encre);color:var(--hf-gris);box-shadow:0 4px 0 var(--hf-encre);transform:translateY(-1px)}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button.alt{background:var(--hf-jaune);color:var(--hf-encre)}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button.alt:hover{background:var(--hf-jaune);color:var(--hf-encre)}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button:active{box-shadow:0 0 0 var(--hf-encre);transform:translateY(3px)}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button:is(:disabled,.disabled,[disabled]),
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button.alt:is(:disabled,.disabled,[disabled]){opacity:.4;cursor:not-allowed;box-shadow:none;transform:none;padding:10px 22px}
html :is(.woocommerce,.woocommerce-page) :is(a,button,input).button.wc-backward,
html :is(.woocommerce,.woocommerce-page) .woocommerce-MyAccount-content :is(a,button).button:not(.alt){background:var(--hf-blanc);color:var(--hf-encre)}

/* Champs = composant Input */
html .woocommerce form .form-row :is(input.input-text,textarea,select),
html .woocommerce-page form .form-row :is(input.input-text,textarea,select){width:100%;box-sizing:border-box;height:52px;padding:0 18px;margin:0;border:2px solid #012C2D;border-radius:999px;background-color:#fff;color:#012C2D;font:400 17px/1.2 var(--font-brand);box-shadow:none;outline:0}
html .woocommerce form .form-row textarea,html .woocommerce-page form .form-row textarea{height:auto;min-height:120px;padding:14px 18px;border-radius:20px;line-height:1.5}
html .woocommerce form .form-row select,html .woocommerce-page form .form-row select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23012C2D' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 18px center;padding-right:44px}
html .woocommerce form .form-row :is(input.input-text,textarea,select):focus-visible{outline:4px solid #C59CEC;outline-offset:2px}
html .woocommerce form .form-row.woocommerce-invalid :is(input.input-text,select,textarea){border-color:#b8336a}
html .woocommerce form .form-row label{display:block;margin-bottom:8px;font:700 15px/1.3 var(--font-brand)}
html .woocommerce form .form-row label.checkbox,html .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:15px;cursor:pointer}
html .woocommerce form .form-row :is(.input-checkbox,input[type="checkbox"],input[type="radio"]){width:18px;height:18px;margin:2px 0 0;accent-color:#012C2D;flex:none}
html .woocommerce form .form-row .required{color:#8a1f55;text-decoration:none;border:0}
html .woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce-input-wrapper{display:block}
.woocommerce .password-input,.woocommerce-page .password-input{display:block;position:relative}
.select2-container--default .select2-selection--single{height:52px;border:2px solid #012C2D;border-radius:999px;background:#fff}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:48px;padding-left:18px;padding-right:40px;color:#012C2D;font:400 17px/48px var(--font-brand)}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px;right:14px}
.select2-dropdown{border:2px solid #012C2D;border-radius:16px;overflow:hidden;font-family:var(--font-brand)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:#F1C22A;color:#012C2D}

/* Avis WooCommerce (messages, infos, erreurs) */
.woocommerce-notices-wrapper:empty{display:none}
html body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){margin:0 0 20px;padding:14px 18px 14px 48px;border:2px solid #012C2D;border-radius:20px;background:#fff;color:#012C2D;font:700 15px/1.4 var(--font-brand);list-style:none;position:relative;word-wrap:break-word}
html body :is(.woocommerce-message,.woocommerce-info){display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
html body .woocommerce-info{background:color-mix(in oklab,#74CBD2 22%,#fff)}
html body .woocommerce-error{background:color-mix(in oklab,#E987C6 26%,#fff)}
html body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{top:14px;left:18px;color:#012C2D}
html body :is(.woocommerce-message,.woocommerce-info)::after{content:none}
html body .woocommerce-error li{margin:0;padding:0}
html body .woocommerce-error li+li{margin-top:6px}
html body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button{order:2;float:none;margin-inline-start:auto;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:#012C2D;font:700 15px/1.3 var(--font-brand);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;transform:none}
html body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) .button:hover{background:none;color:color-mix(in oklab,#012C2D 70%,#74CBD2);box-shadow:none;transform:none}
html body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error) a:not(.button){color:#012C2D}
.woocommerce-store-notice,p.demo_store{background:#012C2D;color:#F2F2F2;font-family:var(--font-brand)}

/* =========================================================================
   Commande (page « commande »)
   ====================================================================== */
.hf-wc-page--checkout .woocommerce-form-coupon-toggle .woocommerce-info,.hf-wc-page--checkout .woocommerce-form-login-toggle .woocommerce-info{background:#fff}
.hf-wc-page--checkout :is(form.checkout_coupon,form.woocommerce-form-login){margin:0 0 24px;padding:24px;border:0;border-radius:24px;background:#fff}
.woocommerce-checkout form.checkout h3,.woocommerce-checkout #order_review_heading{margin:0 0 16px;font:900 24px/1.15 var(--font-brand);letter-spacing:-.02em}
.woocommerce-checkout #customer_details{background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px);box-sizing:border-box}
.woocommerce-checkout #customer_details .col-2:not(:empty){margin-top:20px}
.woocommerce-checkout #order_review{background:#fff;border-radius:24px;padding:clamp(18px,2.5vw,26px);box-sizing:border-box}
.woocommerce-checkout #order_review_heading{margin-top:28px}
@media (min-width:900px){
  .woocommerce-checkout form.checkout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);grid-auto-flow:row dense;column-gap:32px;align-items:start}
  .woocommerce-checkout form.checkout>#order_review_heading{margin-top:0}
  .woocommerce-checkout form.checkout>*{grid-column:1/-1}
  .woocommerce-checkout form.checkout::before,.woocommerce-checkout form.checkout::after{content:none}
  .woocommerce-checkout form.checkout>#customer_details{grid-column:1;grid-row:span 2}
  .woocommerce-checkout form.checkout>#order_review_heading{grid-column:2}
  .woocommerce-checkout form.checkout>#order_review{grid-column:2;position:sticky;top:96px}
  html .woocommerce-checkout #customer_details :is(.col-1,.col-2){float:none;width:auto}
}
html .woocommerce .woocommerce-checkout-review-order-table{margin:0 0 16px;border:0;border-radius:0;border-collapse:collapse;font-size:15px}
html .woocommerce .woocommerce-checkout-review-order-table :is(th,td){padding:10px 0;border:0;border-top:1px solid color-mix(in oklab,#012C2D 10%,#fff);background:none;font-weight:400;vertical-align:top}
html .woocommerce .woocommerce-checkout-review-order-table thead :is(th,td){border-top:0;font:700 13px/1.2 var(--font-brand);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklab,#012C2D 64%,#fff)}
html .woocommerce .woocommerce-checkout-review-order-table td:last-child,html .woocommerce .woocommerce-checkout-review-order-table th:last-child{text-align:end}
html .woocommerce .woocommerce-checkout-review-order-table .order-total :is(th,td){font:900 18px/1.2 var(--font-brand)}
html .woocommerce .woocommerce-checkout-review-order-table ul#shipping_method{list-style:none;margin:0;padding:0}
html .woocommerce .woocommerce-checkout-review-order-table ul#shipping_method li{margin:0 0 4px}
.hf-checkout-note{margin:0 0 14px;font-size:13px;line-height:1.45;color:color-mix(in oklab,#012C2D 80%,#F2F2F2)}
.hf-checkout-newsletter{margin-top:8px!important}
.woocommerce-checkout .hf-form-notice{margin:-6px 0 0}
html .woocommerce-checkout #payment{background:none;border-radius:0}
html .woocommerce-checkout #payment ul.payment_methods{padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid color-mix(in oklab,#012C2D 10%,#fff)}
html .woocommerce-checkout #payment ul.payment_methods li{line-height:1.5;margin:0 0 8px}
html .woocommerce-checkout #payment ul.payment_methods li input{accent-color:#012C2D;margin:0 8px 0 0}
html .woocommerce-checkout #payment div.payment_box{background:color-mix(in oklab,#C59CEC 18%,#fff);color:#012C2D;border-radius:16px;font-size:14px}
html .woocommerce-checkout #payment div.payment_box::before{border-bottom-color:color-mix(in oklab,#C59CEC 18%,#fff)}
html .woocommerce-checkout #payment div.form-row{padding:0;margin:0}
html .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper{font-size:14px;margin-bottom:14px}
html .woocommerce #payment #place_order,html .woocommerce-page #payment #place_order{float:none;width:100%;min-height:var(--control-h-lg);font-size:var(--text-body-l)}

/* Commande reçue */
.woocommerce-order .woocommerce-thankyou-order-received{margin:0 0 20px;padding:18px 22px;border:2px solid #012C2D;border-radius:20px;background:color-mix(in oklab,#BECF71 35%,#fff);font:700 17px/1.4 var(--font-brand)}
html .woocommerce ul.order_details{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px;padding:0}
html .woocommerce ul.order_details li{float:none;margin:0;padding:14px 18px;border:0;border-radius:16px;background:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.04em}
html .woocommerce ul.order_details li strong{display:block;margin-top:4px;font:700 16px/1.2 var(--font-brand);text-transform:none;letter-spacing:0}
.woocommerce-order-details,.woocommerce-customer-details{margin-top:28px}
.woocommerce-order-details__title,.woocommerce-column__title{font:900 24px/1.15 var(--font-brand);letter-spacing:-.02em}

/* Tableaux WooCommerce (commandes, détails) */
html .woocommerce table.shop_table:not(.hf-totals__table):not(.woocommerce-checkout-review-order-table){border:0;border-radius:24px;overflow:hidden;background:#fff;border-collapse:collapse}
html .woocommerce table.shop_table:not(.hf-totals__table):not(.woocommerce-checkout-review-order-table) :is(th,td){padding:12px 16px;border-top:1px solid color-mix(in oklab,#012C2D 10%,#fff)}
html .woocommerce table.shop_table:not(.hf-totals__table):not(.woocommerce-checkout-review-order-table) thead :is(th,td){border-top:0;font:700 13px/1.2 var(--font-brand);letter-spacing:.06em;text-transform:uppercase}

/* =========================================================================
   Mon compte
   ====================================================================== */
.hf-wc-page--account .woocommerce::before,.hf-wc-page--account .woocommerce::after{content:none}
.hf-wc-page--account .woocommerce{display:grid;gap:28px}
@media (min-width:900px){.hf-wc-page--account .woocommerce:has(>.woocommerce-MyAccount-navigation){grid-template-columns:240px minmax(0,1fr);align-items:start}}
html .woocommerce-account .woocommerce-MyAccount-navigation,html .woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:8px;background:#fff;border-radius:24px;display:grid;gap:4px}
.woocommerce-MyAccount-navigation a{display:block;padding:10px 16px;border-radius:999px;color:#012C2D;text-decoration:none;font:700 15px/1.2 var(--font-brand)}
.woocommerce-MyAccount-navigation a:hover{background:color-mix(in oklab,#012C2D 6%,#fff);color:#012C2D}
.woocommerce-MyAccount-navigation .is-active a{background:#F1C22A}
.woocommerce-MyAccount-content{background:#fff;border-radius:24px;padding:clamp(20px,3vw,32px);min-width:0;box-sizing:border-box}
.woocommerce-MyAccount-content>p:first-child{margin-top:0}
.woocommerce-MyAccount-content table.shop_table{background:#F2F2F2}
html .woocommerce :is(form.login,form.register,form.lost_reset_password,form.woocommerce-ResetPassword){margin:0 0 24px;padding:clamp(20px,3vw,32px);border:0;border-radius:24px;background:#fff}
.hf-wc-page--account .u-columns h2,.hf-wc-page--account .woocommerce-Address-title h2,.hf-wc-page--account .woocommerce-MyAccount-content h2{font:900 24px/1.15 var(--font-brand);letter-spacing:-.02em}
@media (min-width:900px){
  .hf-wc-page--account .u-columns.col2-set{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
  .hf-wc-page--account .u-columns.col2-set::before,.hf-wc-page--account .u-columns.col2-set::after{content:none}
  html .woocommerce .hf-wc-page__content .u-columns.col2-set :is(.col-1,.col-2){float:none;width:auto}
}

/* =========================================================================
   Écriture de droite à gauche
   ====================================================================== */
[dir="rtl"] .is-tilted{transform:rotate(3deg)}
[dir="rtl"] .hf-buy__choice[dir="ltr"] span,[dir="rtl"] .hf-shop-langs a[dir="ltr"]{direction:ltr}
html[dir="rtl"] body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){padding:14px 48px 14px 18px}
html[dir="rtl"] body :is(.woocommerce-message,.woocommerce-info,.woocommerce-error)::before{left:auto;right:18px}
html[dir="rtl"] .woocommerce form .form-row select{background-position:left 18px center;padding-right:18px;padding-left:44px}
html[dir="rtl"] .woocommerce-checkout #payment ul.payment_methods li input,html[dir="rtl"] .woocommerce .hf-totals ul#shipping_method li input{margin:0 0 0 8px}
