/* catalogue.css — briques FullStack portees (custom-section, group, text, image, image-card, banniere, boutons),
   grilles de collection, carte produit, fiche produit, onglets, popup, toast. Un seul breakpoint : 750 px (FR). */

/* Scheme « photo » (FR scheme-jaune) : texte blanc pose sur une image */
.color-photo{--color-background:transparent;--color-foreground:#fff;--color-primary-button-background:#fff;--color-primary-button-text:#4a4842;--color-primary-button-border:#fff;--color-secondary-button-background:transparent;--color-secondary-button-text:#fff;--color-secondary-button-border:#fff;color:#fff}

/* ---------- custom-section ---------- */
.fs-section{background:var(--color-background);color:var(--color-foreground);margin:var(--mt,0) 0 var(--mb,0)}
.fs-section__inner{max-width:var(--page-width);margin:0 auto;padding:var(--pt,36px) var(--page-margin-mobile) var(--pb,36px);display:flex;flex-direction:var(--direction-m,column);gap:var(--gap-m,20px);justify-content:var(--justify-m,flex-start);align-items:var(--align-m,stretch)}
/* custom-section FR = display:flex : l'inner est etire, sa hauteur devient definie (groupes en hauteur %) */
.fs-section--flex{display:flex;justify-content:center}
.fs-section--flex > .fs-section__inner{width:100%;min-width:0}
.fs-section__inner--narrow{max-width:900px}
.fs-section__inner--full{max-width:none;padding-left:0;padding-right:0}
@media (min-width:750px){
  .fs-section__inner{padding-left:var(--page-margin-desktop);padding-right:var(--page-margin-desktop);flex-direction:var(--direction,column);gap:var(--gap,20px);justify-content:var(--justify,center);align-items:var(--align,center)}
  .fs-section__inner--full{padding-left:0;padding-right:0}
}
.fs-section__inner > *{max-width:100%}
/* section en colonne : les textes prennent toute la largeur (regle FR custom-section), l'alignement du texte joue */
.fs-section[style*="--direction-m:column"] > .fs-section__inner > .fs-text{width:100%}
@media (min-width:750px){.fs-section[style*="--direction:column"] > .fs-section__inner > .fs-text{width:100%}.fs-section[style*="--direction:row"] > .fs-section__inner > .fs-text{width:auto}}

/* ---------- group ---------- */
.fs-group{position:relative;display:flex;flex-direction:var(--direction-m,column);gap:var(--gap-m,10px);justify-content:var(--justify-m,flex-start);align-items:var(--align-m,flex-start);flex-wrap:var(--wrap,nowrap);width:var(--w-m,100%);height:var(--h-m,auto);min-height:var(--min-h,auto);margin:var(--mt,0) 0 var(--mb,0);min-width:0}
.fs-group{padding-left:var(--pad-l-m,0px);padding-right:var(--pad-r-m,0px);box-sizing:border-box}
.fs-group--fill{height:auto;align-self:stretch}
.fs-group--grid{display:grid;grid-template-columns:var(--cols-tm,repeat(var(--cols-m,1),1fr))}
@media (min-width:750px){
  .fs-group{padding-left:var(--pad-l,0px);padding-right:var(--pad-r,0px)}
  .fs-group{flex-direction:var(--direction,column);gap:var(--gap,10px);justify-content:var(--justify,flex-start);align-items:var(--align,flex-start);width:var(--w,100%);height:var(--h,auto);flex:0 1 auto}
  .fs-section[style*="--direction:row"] > .fs-section__inner > .fs-group{flex:0 1 var(--w,100%)}
  .fs-group--fill{height:auto}
  .fs-group--grid{grid-template-columns:var(--cols-t,repeat(var(--cols,3),1fr))}
  /* une rangee de groupes a largeur % : on retire la part du gap pour ne pas deborder */
  .fs-group[style*="--direction:row"] > .fs-group{flex:0 1 calc(var(--w) - var(--gap,10px))}
}
/* rangee mobile : retour a la ligne, sauf rangee a filet vertical (elle/lui d'Our story reste sur deux colonnes, FR) */
@media (max-width:749px){.fs-group[style*="--direction-m:row"]:not(:has(> .fs-separator-v)){flex-wrap:wrap}}
.fs-group > .text-block,.fs-group > .fs-button{width:100%}
@media (max-width:749px){.fs-group--aim-center > .text-block,.fs-group--aim-end > .text-block{width:auto;max-width:100%}}
/* groupe centre ou aligne a droite : les textes gardent leur largeur naturelle (comportement FR) */
@media (min-width:750px){.fs-group--ai-center > .text-block,.fs-group--ai-end > .text-block{width:auto;max-width:100%}}
.fs-card{background:var(--color-background);color:var(--color-foreground);padding:24px 20px;border-radius:var(--card-border-radius)}
.fs-group[class*="color-"]:not(.fs-card){background:var(--color-background);color:var(--color-foreground);padding:24px 20px}
.fs-card--border{border:1px solid var(--color-border)}

/* ---------- text ---------- */
.fs-text{text-align:var(--align-m,left);margin:var(--mt,0) 0 var(--mb,0);font-weight:var(--fw,inherit)}
@media (min-width:750px){.fs-text{text-align:var(--align,left)}}
.fs-text > *{margin:0}
.fs-text > * + *{margin-top:.8em}
.fs-text p{line-height:1.65}
.fs-text.text-large p,.text-large{font-size:1rem}
.fs-text.text-small p{font-size:.8rem}
.fs-text h1,.fs-text h2,.fs-text h3,.fs-text h4,.fs-text h5,.fs-text h6{font:inherit;letter-spacing:inherit;margin:0}
.fs-text a{color:inherit}
.fs-text ul,.fs-text ol{padding-left:1.2em;line-height:1.65}

/* ---------- image ---------- */
.fs-image{width:var(--w-m,100%);margin:var(--mt,0) 0 var(--mb,0);min-width:0}
@media (min-width:750px){.fs-image{width:var(--w,100%)}}
.fs-image img{display:block;width:100%;height:auto;aspect-ratio:var(--ratio,auto);object-fit:cover;border-radius:var(--card-border-radius)}
.fs-image--square img{border-radius:0}
.fs-image--fill{align-self:stretch}
.fs-image--fill img{height:100%;aspect-ratio:unset}

/* ---------- boutons ---------- */
.fs-button{margin:var(--mt,0) 0 var(--mb,0)}
.fs-button .button{display:inline-flex;align-items:center;gap:8px}
.fs-button .icon{width:18px;height:18px}
.fs-separator{border:0;border-top:1px solid var(--color-border);width:100%;margin:var(--mt,10px) 0 var(--mb,10px)}
/* separateur vertical FR : filet 1px a 20 % entre deux colonnes, sur toute la hauteur de la rangee */
.fs-separator-v{display:flex;flex:0 0 auto;align-self:stretch;min-height:80px;margin:0 var(--m2,10px) 0 var(--m1,10px)}
.fs-separator-v hr{border:0;border-left:1px solid currentColor;opacity:.2;width:0;height:auto;min-height:80px;margin:0}

/* ---------- custom-code (HTML statique du FR) ---------- */
.fs-custom-code{width:100%;margin:var(--mt,0) 0 var(--mb,0)}

/* ---------- image-card (bloc univers) ---------- */
.image-card{position:relative;display:flex;overflow:hidden;min-height:var(--h-m,300px);flex:1 1 0;width:100%;color:var(--color-foreground);border-radius:var(--card-border-radius);background:#ddd}
@media (min-width:750px){.image-card{min-height:var(--h,400px)}}
.image-card__media{position:absolute;inset:0}
.image-card__img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.image-card:hover .image-card__img{transform:scale(1.03)}
.image-card__filter{position:absolute;inset:0;background:var(--filter)}
.image-card__content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:var(--justify,flex-end);align-items:var(--align,flex-start);gap:var(--gap-xxs,.25rem);padding:var(--card-padding,20px);width:100%;pointer-events:none}
.image-card{min-height:calc(var(--h-m,300px) + 2 * var(--card-padding,20px))}
@media (min-width:750px){.image-card{min-height:calc(var(--h,400px) + 2 * var(--card-padding,20px))}}
.image-card__content a,.image-card__content button{pointer-events:auto}
.image-card .fs-text{text-align:left}
.stretched-link{position:relative}
.stretched-link__overlay{position:absolute;inset:0;z-index:1}
.stretched-link .fs-button,.stretched-link .button{position:relative;z-index:2}

/* ---------- banniere de gamme ---------- */
.fs-banner{position:relative}
.image-banner{position:relative;display:flex;overflow:hidden;isolation:isolate;min-height:var(--h-m,70vh);color:var(--color-foreground)}
@media (min-width:750px){.image-banner{min-height:var(--h,70vh)}}
.image-banner__media{position:absolute;inset:0;z-index:-1}
.image-banner__media img,.image-banner__media picture{display:block;width:100%;height:100%;object-fit:cover}
.image-banner__filter{position:absolute;inset:0;background:var(--filter-color,#000);opacity:var(--filter-op,.15)}
.image-banner__content{position:relative;display:flex;flex-direction:column;justify-content:var(--justify-m,var(--justify,center));align-items:var(--align-m,var(--align,center));width:100%;padding-top:var(--pv-m,60px);padding-bottom:var(--pv-m,60px)}
@media (min-width:750px){.image-banner__content{padding-top:var(--pv,40px);padding-bottom:var(--pv,40px);justify-content:var(--justify,center);align-items:var(--align,center)}}
.image-banner .fs-group{align-items:center}
.image-banner .fs-text{text-wrap:balance;max-width:60ch;margin-left:auto;margin-right:auto}
.image-banner.color-dark{--color-foreground:#fff;background:transparent;color:#fff}

/* ---------- icone + texte, popup, livraison ---------- */
.fs-icontext{display:flex;align-items:center;gap:8px;font-size:var(--font-body--size)}
.fs-icontext .icon{flex:0 0 auto;width:20px;height:20px;opacity:.85}
.fs-icontext p{margin:0}
.fs-icon{width:20px;height:20px}
.fs-popup__toggle{padding-left:0;gap:8px;text-decoration:underline;text-underline-offset:3px}
.fs-popup__toggle .icon{width:20px;height:20px}
/* popup (promesse K&J) : dialog-modal FR, centre desktop, en bas en mobile */
.kj-dialog .dialog-modal__content .fs-text>*{margin:0}
.kj-dialog h2{font-family:var(--font-h3--family);font-size:var(--font-h3--size);line-height:var(--font-h3--line-height)}
.kj-dialog .dialog-modal__close .button{color:var(--color-foreground)}

/* ---------- onglets et accordeons ---------- */
.kj-tabs{width:100%;background:var(--color-background)}
.kj-tabs__list{display:flex;gap:6px;overflow-x:auto;border-bottom:1px solid var(--color-border);scrollbar-width:none}
.kj-tabs__tab{flex:0 0 auto;background:none;border:0;border-bottom:2px solid transparent;padding:12px 10px;font:inherit;font-size:var(--font-body--size);color:inherit;opacity:.6;cursor:pointer;white-space:nowrap}
.kj-tabs__tab[aria-selected="true"]{opacity:1;border-bottom-color:currentColor}
.kj-tabs__panel{padding:18px 2px 6px;font-size:var(--font-body--size);line-height:1.7}
.kj-accs{width:100%}
.kj-acc{border-top:1px solid var(--color-border)}
.kj-acc:last-child{border-bottom:1px solid var(--color-border)}
.kj-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:14px 0;font-weight:500}
.kj-acc summary::-webkit-details-marker{display:none}
.kj-acc[open] summary .icon{transform:rotate(180deg)}
.kj-acc__content{padding:0 0 16px}

/* ---------- slider simple (scroll snap) ---------- */
.fs-slider{display:flex;gap:var(--gap,15px);overflow-x:auto;scroll-snap-type:x mandatory;width:100%;padding-bottom:6px;scrollbar-width:thin}
.fs-slider__slide{flex:0 0 calc((100% - (var(--per-m,1.2) - 1) * var(--gap,15px)) / var(--per-m,1.2));scroll-snap-align:start;display:flex}
@media (min-width:750px){.fs-slider__slide{flex-basis:calc((100% - (var(--per,3) - 1) * var(--gap,15px)) / var(--per,3))}}
.fs-slider__slide > *{width:100%}

/* ---------- carte produit ---------- */
.product-card{position:relative;display:flex;flex-direction:column;gap:12px;min-width:0;height:100%}
.product-card__media{position:relative;display:block;aspect-ratio:1/1;flex-shrink:0;width:100%;overflow:hidden;background:#f6f3ef;border-radius:var(--card-border-radius)}
.product-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s}
.product-card__img--hover{opacity:0}
@media (hover:hover){.product-card:hover .product-card__img--hover{opacity:1}}
.product-card__badges{position:absolute;top:8px;right:8px;display:flex;flex-wrap:wrap;gap:4px;z-index:2}
.product-card__info{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:inherit}
.product-card__title{font-family:var(--font-body--family);font-size:var(--font-body--size-emphasized);font-weight:500;line-height:1.4;margin:0}
.product-card__info:hover .product-card__title{text-decoration:underline}
.product-card__price .price-container{display:flex;gap:6px;align-items:baseline}
.product-card .quick-add{margin-top:auto;container-type:inline-size;gap:6px}
.quick-add__short{display:none}
@container (max-width:200px){.quick-add__full{display:none}.quick-add__short{display:inline}.quick-add .button__separator,.quick-add .quick-add__price{display:none}}
@media (max-width:749px){.quick-add__full{display:none}.quick-add__short{display:inline}.quick-add .button__separator,.quick-add .quick-add__price{display:none}}
.button__separator{opacity:.5;margin:0 2px}
.fs-pcard{gap:10px}
.fs-pcard .fs-group{gap:6px}
.fs-pcard .stretched-link__overlay{z-index:1}

/* ---------- grille de collection ---------- */
.main-collection{background:var(--color-background)}
.main-collection__inner,.main-collection > .page-width{padding-top:var(--pt,16px);padding-bottom:var(--pb,44px);display:flex;flex-direction:column;gap:var(--gap-lg)}
.main-collection__grid{display:grid;grid-template-columns:repeat(var(--cols-m,2),minmax(0,1fr));gap:28px var(--grid-gap-vertical,1rem)}
@media (min-width:750px){.main-collection__grid{grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:40px 20px}}
.main-collection__empty{grid-column:1/-1;text-align:center;opacity:.7}
.main-collection__products.is-loading{opacity:.5;pointer-events:none}
.pagination ul{list-style:none;display:flex;justify-content:center;gap:6px;padding:20px 0 0;margin:0}
.pagination a,.pagination span{display:inline-flex;min-width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--color-border);color:inherit;text-decoration:none}
.pagination .current{background:var(--color-foreground);color:var(--color-background)}
.kj-recos__title{margin:0 0 24px}

/* ---------- filtres et tri (panneau lateral) ---------- */
.kj-filters__toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:4px 0;font:inherit;font-size:var(--font-body--size);color:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.kj-filters__toggle .icon{width:20px;height:20px}
.filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;border-radius:8px;background:var(--color-foreground);color:var(--color-background);font-size:.65rem;text-decoration:none}
.kj-panel{position:fixed;inset:0;z-index:1000}
.kj-panel__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s}
.kj-panel__box{position:absolute;top:0;left:0;height:100%;width:90vw;max-width:400px;background:var(--color-background);transform:translateX(-100%);transition:transform .2s ease;display:flex;flex-direction:column}
.kj-panel.is-open .kj-panel__overlay{opacity:1}
.kj-panel.is-open .kj-panel__box{transform:none}
.kj-panel__head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--color-border)}
.kj-panel__head .h5{margin:0}
.kj-panel__body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:12px}
.filters__label{margin:8px 0 0;font-weight:500}
.filters__list{display:flex;flex-direction:column;gap:8px}
.checkbox{display:flex;align-items:center;gap:10px;cursor:pointer}
.checkbox input{width:18px;height:18px;accent-color:var(--color-foreground)}
.kj-panel__foot{margin-top:auto;display:flex;gap:10px;justify-content:space-between;padding-top:16px;border-top:1px solid var(--color-border)}

/* ---------- grille scindee « a la carte » ---------- */
.kj-split__nav{display:flex;justify-content:center;align-items:center;gap:14px;padding:6px 0 18px;border-bottom:1px solid var(--color-border);font-size:var(--font-body--size-emphasized)}
.kj-split__nav a{color:inherit;text-decoration:none}
.kj-split__nav a span{display:inline-block;margin-left:4px;opacity:.55;font-size:.8em}
.kj-split__sep{opacity:.35}
.kj-split__phase{scroll-margin-top:120px}
.kj-split__phase + .kj-split__phase{margin-top:56px}
.kj-split__head{text-align:center;margin:28px 0 24px}
.kj-split__head .h4{margin:0}
.kj-split__kicker{text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;opacity:.6;margin:0 0 6px}
.kj-split > .page-width{padding-top:var(--pt,16px);padding-bottom:var(--pb,44px)}

/* ---------- fiche produit ---------- */
.kj-product__inner{padding-top:var(--pt,30px);padding-bottom:var(--pb,40px);display:flex;flex-direction:column;gap:24px}
@media (min-width:750px){.kj-product__inner{flex-direction:row;gap:50px;align-items:flex-start}.kj-product__media{width:50%;position:sticky;top:calc(var(--header-height,100px) + 16px)}.kj-product__info{width:50%}}
.kj-product__info{display:flex;flex-direction:column;gap:14px;min-width:0}
.kj-product__info > .fs-text:first-child h1,.kj-product__info .fs-text h1{margin:0}
.kj-gallery__main{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;background:#f6f3ef}
.kj-gallery__main::-webkit-scrollbar{display:none}
.kj-gallery__slide{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:1/1}
.kj-gallery__slide img{width:100%;height:100%;object-fit:cover;display:block}
.kj-gallery__thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.kj-gallery__thumb{flex:0 0 70px;height:70px;padding:0;border:1px solid transparent;background:#f6f3ef;cursor:pointer}
.kj-gallery__thumb[aria-current="true"]{border-color:var(--color-foreground)}
.kj-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:749px){.kj-product .kj-gallery{margin:0 calc(var(--page-margin-mobile) * -1)}.kj-gallery__thumbs{padding:0 var(--page-margin-mobile)}}
.kj-product-form{display:flex;flex-direction:column;gap:15px}
.kj-variants{border:0;padding:0;margin:0}
.kj-variants__legend{font-size:var(--font-body--size);margin-bottom:8px;padding:0}
.kj-variants__list{display:flex;flex-wrap:wrap;gap:8px}
.kj-variant input{position:absolute;opacity:0;pointer-events:none}
.kj-variant span{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid var(--color-variant-border,rgba(0,0,0,.13));background:var(--color-variant-background,#fff);font-size:var(--font-body--size);cursor:pointer}
.kj-variant input:checked + span{border-color:var(--color-foreground);box-shadow:inset 0 0 0 1px var(--color-foreground)}
.kj-variant input:disabled + span{opacity:.4;text-decoration:line-through}
.kj-variant input:focus-visible + span{outline:2px solid var(--color-foreground);outline-offset:2px}
.kj-size{margin:0;font-size:var(--font-body--size);opacity:.75}
.kj-atc{gap:6px}
.kj-atc.is-loading{opacity:.6;pointer-events:none}
.kj-notices:empty{display:none}
.kj-notices .woocommerce-message,.kj-notices .woocommerce-error{margin:16px 0;padding:12px 16px;border:1px solid var(--color-border);list-style:none}

/* ingredients et nutrition (FR blocs K&J) */
.kj-ingredients{display:flex;flex-direction:column;gap:10px;line-height:1.9}
.kj-ingredients p{margin:0}
.kj-sep{opacity:.5}
.kj-ingredients__cert{font-size:.8rem;opacity:.7}
.kj-nutri{max-width:420px;margin:0 auto;padding:6px 0;color:#2c312c}
.kj-nutri__over{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a8f88;padding-bottom:10px}
.kj-nutri__list{border-top:1.5px solid #2c312c}
.kj-nutri__row{display:flex;justify-content:space-between;align-items:baseline;gap:18px;padding:9px 2px;border-bottom:1px solid #ececec}
.kj-nutri__lab,.kj-nutri__val{font-size:14px;line-height:1.4}
.kj-nutri__val{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.01em}
.kj-nutri__row.is-first .kj-nutri__val{font-weight:600}
.kj-nutri__row.is-sub .kj-nutri__lab{padding-left:16px;color:#77807a;font-size:13px}
.kj-nutri__row.is-sub .kj-nutri__val{color:#77807a;font-size:13px;font-weight:400}

/* ---------- toast « ajoute au panier » ---------- */
.kj-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:1100;display:flex;align-items:center;gap:14px;padding:14px 18px;background:#252525;color:#fff;font-size:var(--font-body--size);box-shadow:0 10px 30px rgba(0,0,0,.2);opacity:0;transition:opacity .2s,transform .2s;max-width:calc(100% - 32px)}
.kj-toast.is-open{opacity:1;transform:translate(-50%,0)}
.kj-toast a{color:#fff;text-decoration:underline;white-space:nowrap}
.kj-toast.is-error{background:#8a2c2c}

/* icones supplementaires (masques SVG, Material Symbols simplifies) */
.icon--tune{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z'/%3E%3C/svg%3E")}
.icon--lock{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 8h-1V6A5 5 0 0 0 7 6v2H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2zM9 6a3 3 0 0 1 6 0v2H9V6zm9 14H6V10h12v10zm-6-3a2 2 0 1 0 0-4 2 2 0 0 0 0 4z'/%3E%3C/svg%3E")}
.icon--verified{--icon-url:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m8.6 22.5-1.9-3.2-3.6-.8.4-3.7L1 12l2.5-2.8-.4-3.7 3.6-.8 1.9-3.2L12 3l3.4-1.5 1.9 3.2 3.6.8-.4 3.7L23 12l-2.5 2.8.4 3.7-3.6.8-1.9 3.2L12 21l-3.4 1.5zm2.3-7 5.7-5.6-1.4-1.5-4.3 4.3-2.1-2.1-1.4 1.4 3.5 3.5z'/%3E%3C/svg%3E")}

/* ---------- pages et articles ---------- */
.kj-page__body .page-width{padding-top:48px;padding-bottom:64px}
.kj-page__body h1{margin:0 0 28px}
.rte{line-height:1.7;font-size:1rem}
.rte h2,.rte h3{margin:1.6em 0 .6em}
.rte img{max-width:100%;height:auto}
.kj-article-page__hero img{width:100%;height:auto;max-height:640px;object-fit:cover;display:block}
.kj-article-page__body p{margin:0 0 1.1em}
.kj-contact-form{width:100%;max-width:640px}

.kj-search-form{display:flex;gap:8px;width:100%}
.kj-search-form .kj-input{flex:1;min-width:0}
.kj-search-dialog{margin-top:80px;max-width:640px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* formulaire de contact maison (kj-uk-core/inc/contact.php) */
.kj-contact-form{display:flex;flex-direction:column;gap:16px;scroll-margin-top:140px}
.kj-contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:749px){.kj-contact-form__row{grid-template-columns:1fr}}
.kj-field{display:flex;flex-direction:column;gap:6px}
.kj-field__label{font-size:var(--font-body--size);color:var(--color-foreground)}
.kj-contact-form .button{align-self:flex-start}
.kj-contact-form__hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.kj-form-note{margin:0;padding:12px 16px;border:1px solid currentColor}
.kj-form-note--success{color:var(--color-foreground)}
.kj-form-note--error{color:#b32d2e}
.fs-icontext.fs-icontext--column,.fs-section .fs-icontext{align-items:flex-start}

/* ---------- tiroir panier (FR cart-drawer : 440 px, droite) ---------- */
.kj-cd{position:fixed;inset:0;z-index:1200}
.kj-cd__overlay{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .2s}
.kj-cd__panel{position:absolute;top:0;right:0;height:100%;width:min(440px,92vw);background:var(--color-background);color:var(--color-foreground);transform:translateX(100%);transition:transform .2s ease;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.15)}
.kj-cd.is-open .kj-cd__overlay{opacity:1}
.kj-cd.is-open .kj-cd__panel{transform:none}
.kj-cd__inner{display:flex;flex-direction:column;height:100%;min-height:0}
.kj-cd__head{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--color-border)}
.kj-cd__head .h6{margin:0}
.kj-cd__progress{padding:14px 20px;border-bottom:1px solid var(--color-border)}
.kj-cd__progress p{margin:0 0 10px;font-weight:500;font-size:var(--font-body--size)}
.kj-cd__progress progress{appearance:none;-webkit-appearance:none;width:100%;height:5px;border:0;background:rgba(0,0,0,.12)}
.kj-cd__progress progress::-webkit-progress-bar{background:rgba(0,0,0,.12)}
.kj-cd__progress progress::-webkit-progress-value{background:var(--color-foreground)}
.kj-cd__progress progress::-moz-progress-bar{background:var(--color-foreground)}
.kj-cd__items{list-style:none;margin:0;padding:6px 20px;flex:1;overflow-y:auto}
.kj-cd__item{display:grid;grid-template-columns:80px minmax(0,1fr) auto;gap:.5rem 12px;padding:0 0 1.5rem;align-items:start}
.kj-cd__item.is-loading{opacity:.5;pointer-events:none}
.kj-cd__img{display:block;width:80px;aspect-ratio:1/1;background:#f6f3ef}
.kj-cd__img img{width:100%;height:100%;object-fit:cover;display:block}
.kj-cd__info{display:flex;flex-direction:column;gap:4px;min-width:0}
.kj-cd__name{color:inherit;text-decoration:none;font-weight:500;font-size:var(--font-body--size);line-height:1.4}
.kj-cd__name:hover{text-decoration:underline}
.kj-cd__price{margin:0;font-size:var(--font-body--size);white-space:nowrap}
.kj-cd__variant{margin:0;font-size:.78rem;opacity:.7}
.kj-cd__actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.kj-cd__remove{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:1px solid var(--color-foreground);cursor:pointer;color:inherit;padding:0}
.kj-cd__remove .icon{width:18px;height:18px}
.kj-qty{display:inline-flex;align-items:center;border:1px solid var(--color-border)}
.kj-qty button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;color:inherit;padding:0}
.kj-qty button .icon{width:18px;height:18px}
.kj-qty input{width:30px;height:32px;border:0;text-align:center;font:inherit;font-size:var(--font-body--size);background:transparent;color:inherit;-moz-appearance:textfield}
.kj-qty input::-webkit-outer-spin-button,.kj-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
/* contenu d'un lot (FR cart-line-children : « Voir les 5 produits ») */
.kj-cd__children{margin-top:6px}
.kj-cd__children summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:4px;font-size:var(--font-body--size);text-decoration:underline;text-underline-offset:3px}
.kj-cd__children summary::-webkit-details-marker{display:none}
.kj-cd__children summary .icon{width:18px;height:18px;transition:transform .2s}
.kj-cd__children[open] summary .icon{transform:rotate(180deg)}
.kj-cd__children-list{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.kj-cd__child{display:flex;gap:10px;align-items:flex-start}
.kj-cd__child-img{flex:0 0 40px;width:40px;height:40px;background:#f6f3ef}
.kj-cd__child-img img{width:100%;height:100%;object-fit:cover;display:block}
.kj-cd__child-info{display:flex;flex-direction:column;min-width:0;font-size:var(--font-body--size);line-height:1.35}
.kj-cd__child-variant{opacity:.7;font-size:.78rem}
.kj-cd__foot{padding:14px 20px 16px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:10px}
.kj-cd__foot .fs-separator{margin:0}
.kj-cd__discount summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;font-size:var(--font-body--size)}
.kj-cd__discount summary::-webkit-details-marker{display:none}
.kj-cd__discount-icons .icon{width:20px;height:20px}
.kj-cd__discount-icons .icon--remove,.kj-cd__discount[open] .kj-cd__discount-icons .icon--add{display:none}
.kj-cd__discount[open] .kj-cd__discount-icons .icon--remove{display:inline-block}
.kj-cd__discount-form{display:flex;gap:8px;margin-top:10px}
.kj-cd__discount-form.is-loading{opacity:.5;pointer-events:none}
.kj-cd__coupons{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.kj-cd__coupon{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--color-border);background:none;padding:4px 8px;font-size:.75rem;cursor:pointer;color:inherit}
.kj-cd__coupon .icon{width:12px;height:12px}
.kj-cd__line{display:flex;justify-content:space-between;margin:0;font-size:var(--font-body--size)}
.kj-cd__total{font-size:1rem}
.kj-cd__note{margin:-4px 0 0;font-size:var(--font-body--size-small);opacity:.75;line-height:1.4}
.kj-cd__payments{display:flex;justify-content:center;gap:8px;padding-top:4px}
.kj-cd__payments svg{width:35px;height:auto}
.kj-cd__empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px 20px;text-align:center}
.kj-cd__empty .h5{margin:0}
button.kj-cart{font:inherit}

/* ==================== Alignement FR du 28/09 (couleurs, typo, footer, home) ==================== */
/* paragraphes des text-blocks : interlignage du reglage FR (1.5), tailles emphasized / small du FR */
.fs-text.paragraph > *{line-height:var(--lh,1.5)}
.fs-text.text-large p,.fs-text.text-large > *{font-size:var(--font-body--size-emphasized)}
.fs-text.text-small p,.fs-text.text-small > *{font-size:var(--font-body--size-small)}
/* carte FR : padding du reglage (global = --card-padding) */
.fs-card{padding:var(--card-pv,24px) var(--card-ph,20px)}
.fs-group.fs-card{padding-top:var(--card-pv,24px);padding-bottom:var(--card-pv,24px);padding-left:calc(var(--card-ph,20px) + var(--pad-l-m,0px));padding-right:calc(var(--card-ph,20px) + var(--pad-r-m,0px))}
@media (min-width:750px){.fs-group.fs-card{padding-left:calc(var(--card-ph,20px) + var(--pad-l,0px));padding-right:calc(var(--card-ph,20px) + var(--pad-r,0px))}}
/* icone FR a taille reglable (bandeau reassurance : 42 px) */
.fs-icon[style*="--icon-size"]{width:var(--icon-size);height:var(--icon-size);font-size:var(--icon-size)!important}

/* ---------- footer FR ---------- */
.fs-footer{padding-top:var(--pt,40px);padding-bottom:var(--pb,0)}
.fs-footer--border{border-top:var(--separator-border-width,.5px) solid var(--color-border)}
.fs-footer__content{display:grid;grid-template-columns:repeat(var(--cols-m,1),1fr);gap:var(--gap-m,40px);width:100%}
@media (min-width:750px){.fs-footer__content{grid-template-columns:repeat(var(--cols,4),1fr);gap:var(--gap,30px)}}
.fs-footer .fs-group{padding-left:0;padding-right:0}
.fs-logo{margin:var(--mt,0) 0 var(--mb,0);line-height:0}
.fs-logo img{height:var(--h,50px);width:auto;max-width:100%}
.social-icons{display:flex;justify-content:var(--alignment-mobile,center);gap:var(--gap-md,1rem);align-items:center;width:100%;margin:var(--mt,0) 0 var(--mb,0)}
@media (min-width:750px){.social-icons{justify-content:var(--alignment,flex-start)}}
.social-icon-block{display:inline-flex;color:inherit}
.social-icon__icon{width:var(--icon-size,24px);height:var(--icon-size,24px);fill:var(--icon-color,currentColor);transition:opacity .2s}
.social-icon__icon:hover{opacity:.7}
.menu-block{display:flex;justify-content:var(--alignment-mobile,flex-start);margin:var(--mt,0) 0 var(--mb,0)}
@media (min-width:750px){.menu-block{justify-content:var(--alignment,flex-start)}}
.menu-block__content{display:flex;flex-direction:column;gap:var(--gap-md,1rem)}
.menu-block__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:var(--menu-direction,column);gap:var(--gap-md,1rem);flex-wrap:wrap}
.menu-block__item{margin:0}
.menu-block__link{text-decoration:none;color:var(--color-foreground);font-size:var(--font-body--size);font-weight:400;transition:opacity .2s}
.menu-block__link:hover{opacity:.7}
.footer-copyright{display:flex;align-items:center;justify-content:var(--alignment-mobile,center)}
@media (min-width:750px){.footer-copyright{justify-content:var(--alignment,center)}}
.footer-copyright__text,.footer-copyright__text > a{color:var(--color-foreground);text-decoration:none;font-size:var(--font-body--size-small)}

/* ---------- newsletter FR (input-group + bouton envoi) ---------- */
.newsletter-signup{width:100%;margin:var(--mt,10px) 0 var(--mb,10px)}
.newsletter-signup__form{display:flex;flex-direction:column;gap:var(--gap-sm,.5rem)}
.input-group{display:flex;align-items:center;border:1px solid var(--color-input-border);border-radius:var(--inputs-border-radius,0);background:var(--color-input-background);width:100%;transition:border-color .1s}
.input-group:focus-within{border-color:var(--color-selected-input-border)}
.input-group .textfield{flex:1;min-width:0}
.input-group .textfield input{width:100%;border:0;background:transparent;padding:var(--inputs-padding,14px);font:inherit;font-size:var(--inputs-font-size,.875rem);color:var(--color-input-text);outline:none}
.input-group__action{flex-shrink:0;display:flex;align-items:center}
.input-group__action .button{border:0;background:transparent;color:var(--color-input-text);padding:10px 14px;min-width:0}
.input-group__action .button .icon{width:24px;height:24px}
.newsletter-signup__msg{margin:0;font-size:var(--font-body--size-small)}
.newsletter-signup__msg.is-error{color:#b3261e}
.newsletter-signup__form.is-loading{opacity:.6;pointer-events:none}

/* ---------- section en grille FR ---------- */
.fs-section__inner--grid{display:grid;grid-template-columns:repeat(var(--cols-m,1),1fr);align-items:start}
@media (min-width:750px){.fs-section__inner--grid{grid-template-columns:repeat(var(--cols,3),1fr)}}
/* ---------- icon-with-text FR ---------- */
.fs-icontext--row-mobile{flex-direction:row;align-items:center;justify-content:flex-start}
.fs-icontext--column-mobile{flex-direction:column;align-items:center;justify-content:center;text-align:center}
@media (min-width:750px){
  .fs-icontext--row-desktop{flex-direction:row;align-items:center;justify-content:flex-start;text-align:left}
  .fs-icontext--column-desktop{flex-direction:column;align-items:center;justify-content:center;text-align:center}
}
.fs-icontext .fs-icon[style*="--icon-size"]{width:var(--icon-size);height:var(--icon-size);opacity:1}
/* ---------- formulaire de contact FR (libelles flottants) ---------- */
.kj-contact-form.contact-form{max-width:none;display:flex;flex-direction:column;gap:var(--gap-md,1rem)}
.contact-form .textfields-group{display:flex;flex-direction:row;align-items:center;gap:var(--gap-sm,.5rem)}
@media (max-width:749px){.contact-form .textfields-group{flex-direction:column;gap:var(--gap-md,1rem)}}
.textfield{position:relative}
.textfield--full-width,.textfield--full-width input{width:100%}
.textfield input{outline:none;border:1px solid var(--color-input-border);border-radius:var(--inputs-border-radius,0);padding:1.25rem var(--inputs-padding,14px) .375rem;color:var(--color-input-text);background:var(--color-input-background);height:var(--inputs-min-height,50px);font:inherit;font-size:var(--inputs-font-size,.875rem);transition:.1s ease-out}
.textfield input::placeholder{opacity:0}
.textfield label{position:absolute;left:calc(var(--inputs-padding,14px) + 1px);top:50%;transform:translateY(-50%);font-size:var(--inputs-font-size,.875rem);color:var(--color-input-text);transition:.1s ease-out;transform-origin:left top;pointer-events:none}
.textfield input:focus + label,.textfield input:not(:placeholder-shown) + label{top:.375rem;transform:scale(.75)}
.textfield input:focus,.textarea textarea:focus{border-color:var(--color-selected-input-border)}
.textarea{position:relative}
.textarea textarea{outline:none;border:1px solid var(--color-input-border);border-radius:var(--inputs-border-radius,0);padding:var(--inputs-padding,14px);color:var(--color-input-text);background:var(--color-input-background);height:calc(var(--inputs-min-height,50px) * 2);width:100%;font:inherit;font-size:var(--inputs-font-size,.875rem);resize:vertical}
.contact-form .button--full-width,.kj-contact-form .button--full-width{width:100%;align-self:stretch;justify-content:center}
.input-group .textfield input{border-color:transparent;background:transparent;height:auto;padding:var(--inputs-padding,14px)}
.input-group .textfield input::placeholder{opacity:1}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
/* ---------- fil d'ariane FR (fiche produit) ---------- */
.breadcrumbs{padding-top:var(--padding-md,1rem);padding-bottom:var(--padding-md,1rem)}
.breadcrumbs__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:var(--gap-xs,.33rem)}
.breadcrumbs__item{display:flex;align-items:center;gap:var(--gap-xs,.33rem);font-size:var(--font-body--size)}
.breadcrumbs--slash .breadcrumbs__item:not(:last-child)::after{content:"/"}
.breadcrumbs__link{color:inherit;text-decoration:none}
.breadcrumbs__link:hover{opacity:.7}
/* fiche produit FR : media 50 %, l'info prend le reste (610 / 560 a 1300 px) */
@media (min-width:750px){.kj-product__media{flex:0 0 50%}.kj-product__info{flex:1 1 0;width:auto}}

/* ---------- recherche predictive FR (dialog-modal--search) ---------- */
.dialog-modal--search{border:0;box-shadow:0 10px 40px rgba(0,0,0,.12);background:var(--color-background);color:var(--color-foreground);padding:var(--page-margin-mobile);margin:0 auto;width:100%;max-width:100%;max-height:85dvh;overflow:hidden}
.dialog-modal--search::backdrop{background:rgba(0,0,0,.3)}
.dialog-modal--search[open]{display:flex;align-items:flex-start}
.dialog-modal--search .dialog-modal__content{width:100%}
.dialog-modal--search .search-form{display:flex;flex-direction:row;gap:var(--gap-xs,.33rem);align-items:center;margin:0}
.dialog-modal--search .input-group{border-color:var(--color-foreground)}
.dialog-modal--search .input-group .textfield input{height:var(--inputs-min-height,50px);padding:1.25rem var(--inputs-padding,14px) .375rem;border:0}
.dialog-modal--search .input-group .textfield input::placeholder{opacity:0}
.dialog-modal--search .input-group__action .button .icon{width:20px;height:20px}
.dialog-modal--search .dialog-modal__close .button{background:none;border:0;padding:10px;color:inherit;cursor:pointer;min-width:0}
.dialog-modal--search .dialog-modal__close .icon{width:24px;height:24px}
.predictive-search-results-container{overflow-y:auto;max-height:calc(85dvh - var(--inputs-min-height,50px) - 2rem)}
.predictive-search-results{display:flex;flex-direction:column;gap:var(--gap-lg,2rem);padding:var(--padding-xs,.5rem);padding-top:1rem}
.predictive-search__title{margin:0 0 1rem}
.predictive-search__grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-md,1rem)}
.predictive-search__item-product a{display:flex;flex-direction:column;gap:var(--gap-sm,.5rem);text-decoration:none;color:inherit;font-size:var(--font-body--size)}
.predictive-search__item-product a p{margin:0}
.predictive-search__item-product img,.predictive-search__noimg{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#e8e6df}
.predictive-search__empty{margin:0;font-size:var(--font-body--size)}
@media (min-width:750px){
  .dialog-modal--search{padding:var(--padding-md,1rem);margin:10vw auto auto;width:50%;min-width:50%;max-width:var(--modal-width,720px);max-height:calc(100dvh - 10vw - 40px)}
  .predictive-search__grid{grid-template-columns:repeat(4,1fr)}
  .predictive-search-results-container{max-height:calc(100dvh - 10vw - 40px - var(--inputs-min-height,50px) - 2rem)}
}
/* pas de zoom au survol des cartes image (univers de l'accueil, demande Joachim 28/09) */
.image-card:hover .image-card__img{transform:none}

/* ---------- onglets fiche produit FR (boutons bordes, fond blanc) ---------- */
.kj-tabs{background:transparent}
.kj-tabs__list{display:flex;gap:var(--gap-sm,.5rem);overflow-x:auto;scrollbar-width:thin;border-bottom:0;padding-bottom:var(--padding-xxs,.33rem)}
.kj-tabs__tab{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:10px 15px;font:inherit;font-size:var(--font-body--size);letter-spacing:.025rem;color:#000;background:#fff;border:1px solid rgba(0,0,0,.13);border-radius:0;opacity:1;cursor:pointer;white-space:nowrap;transition:border-color .2s}
.kj-tabs__tab[aria-selected="true"]{border-color:#000}
.kj-tabs__tab:focus{outline:none}.kj-tabs__tab:focus-visible{outline:2px solid #000;outline-offset:2px}
.kj-tabs__panel{padding:0;margin-top:1rem;font-size:var(--font-body--size);line-height:1.5}
/* ---------- add to cart collant FR ---------- */
.sticky-add-to-cart{display:block;width:100%}
.sticky-add-to-cart[data-active="true"] .sticky-add-to-cart__content,.sticky-add-to-cart[data-closing="true"] .sticky-add-to-cart__content{position:fixed;bottom:0;left:0;width:100%;padding:var(--padding-sm,.75rem) var(--page-margin-mobile);z-index:15;border-top:var(--separator-border-width,.5px) solid var(--color-border);background:var(--color-background)}
.sticky-add-to-cart[data-active="true"] .sticky-add-to-cart__content{animation:kj-sticky-up .3s ease-in-out}
.sticky-add-to-cart[data-closing="true"] .sticky-add-to-cart__content{animation:kj-sticky-down .3s ease-in-out forwards}
.sticky-add-to-cart[data-active="true"] .kj-atc,.sticky-add-to-cart[data-closing="true"] .kj-atc{width:100%;max-width:var(--page-width);margin:0 auto;display:flex}
@media (min-width:750px){.sticky-add-to-cart[data-active="true"] .sticky-add-to-cart__content,.sticky-add-to-cart[data-closing="true"] .sticky-add-to-cart__content{padding:var(--padding-md,1rem) var(--page-margin-desktop)}}
@keyframes kj-sticky-up{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes kj-sticky-down{from{transform:translateY(0)}to{transform:translateY(100%)}}
.dialog-modal--search .dialog-modal__close{position:relative;top:auto;right:auto;flex-shrink:0}
.dialog-modal--search .search-form .input-group{flex:1;min-width:0}

/* prix au kg / litre sous le bouton (FR .kj-unit-only) */
.kj-unit-price{margin:10px 0 0;font-size:.8125rem;color:#707070;letter-spacing:.01em;text-align:center}

/* ---------- onglets Jour 1..5 de La Semaine (FR .kj-tabs-inline : largeur egale sur toute la ligne) ---------- */
.kj-tabs--center .kj-tabs__list{justify-content:center}
.kj-tabs-inline .kj-tabs__list{flex-wrap:nowrap;gap:6px;width:100%;overflow-x:visible;padding-bottom:0}
.kj-tabs-inline .kj-tabs__tab{flex:1 1 0;min-width:0;padding-left:6px;padding-right:6px;font-size:13px;white-space:nowrap}

/* ---------- cross-sell FR (upsell « And for the evening ») ---------- */
.kj-cross-sell{display:block;width:100%;container-type:inline-size;margin-top:var(--mt,0);margin-bottom:var(--mb,0)}
.kj-cross-sell .cross-sell{display:grid;grid-template-columns:auto 1fr 1fr;gap:var(--padding-sm,.75rem);grid-template-areas:"image content content";padding:.65rem;border:1px solid var(--color-border);background:var(--color-background)}
.kj-cross-sell.cross-sell--column .cross-sell{display:flex;flex-direction:column;align-items:center;justify-content:center}
.cross-sell__images-wrapper{grid-area:image;display:flex;align-items:center;justify-content:center;width:100%}
.cross-sell--column .cross-sell__images-wrapper{margin-bottom:var(--padding-sm,.75rem)}
.cross-sell__image{display:block;width:100%;max-width:var(--image-width,120px);height:auto;aspect-ratio:1/1;object-fit:cover}
.cross-sell__content{grid-area:content;display:flex;flex-direction:column;justify-content:space-between;gap:var(--padding-xs,.5rem)}
.cross-sell__heading{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:var(--padding-xs,.5rem)}
.cross-sell__title{margin:0;line-height:normal;font-weight:600;font-size:var(--font-body--size)}
.cross-sell__price{font-size:var(--font-body--size-small)}
.cross-sell__actions{display:flex;flex-wrap:wrap;gap:var(--padding-xs,.5rem);justify-content:space-between;align-items:flex-end}
.cross-sell--column .cross-sell__content,.cross-sell--column .cross-sell__actions,.cross-sell--column .cross-sell__heading{justify-content:center;align-items:center;flex-direction:column;text-align:center}
.cross-sell--column .cross-sell__content,.cross-sell--column .cross-sell__actions,.cross-sell--column .cross-sell__form,.cross-sell--column .cross-sell__form .button,.cross-sell--column .cross-sell__pdp-link{min-width:100%;max-width:none}
.cross-sell__actions .button{min-width:60px}
.cross-sell__atc{background:#f0f0f0;color:#000;border:1px solid #000;border-radius:0}
.cross-sell__atc.is-loading{opacity:.6;pointer-events:none}
.kj-cross-sell.cross-sell--column .cross-sell__actions .button{width:100%;min-width:100%;max-width:none}

/* cartes produit des grilles FR (Le Rituel : 5 soupes) : largeur egale comme .product-card{width:100%} du FR */
.fs-pcard{width:100%;min-width:0}
/* quickview des cartes La Semaine */
.fs-pcard[data-kj-quickview]{cursor:pointer}
.kj-quickview{width:100%;overflow-y:auto}
.kj-quickview .kj-product__info{display:flex;flex-direction:column;gap:12px}
.kj-qv-loading{display:block;width:32px;height:32px;margin:40px auto;border:2px solid var(--color-border);border-top-color:currentColor;border-radius:50%;animation:kj-spin .8s linear infinite}
@keyframes kj-spin{to{transform:rotate(360deg)}}

/* ---------- bandeau cookies (UK GDPR / PECR) ---------- */
.kj-cookies{position:fixed;left:0;right:0;bottom:0;z-index:1200;background:var(--color-background);color:var(--color-foreground);border-top:1px solid var(--color-border);box-shadow:0 -4px 20px rgba(0,0,0,.08)}
.kj-cookies[hidden]{display:none}
.kj-cookies__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:18px;padding-bottom:18px}
.kj-cookies__text{max-width:760px;font-size:var(--font-body--size-small,.8rem);line-height:1.6}
.kj-cookies__text p{margin:0}
.kj-cookies__title{font-weight:600;font-size:var(--font-body--size);margin-bottom:4px!important}
.kj-cookies__text a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.kj-cookies__actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.kj-cookies__actions .button{min-width:140px}
.kj-cookies__manage{background:none;border:0;padding:6px;font:inherit;font-size:var(--font-body--size-small,.8rem);text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:inherit}
@media (max-width:989px){
  .kj-cookies__inner{flex-direction:column;align-items:stretch;gap:14px;padding-top:16px;padding-bottom:16px}
  .kj-cookies__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .kj-cookies__actions .button{min-width:0;width:100%;max-width:none}
  .kj-cookies__manage{grid-column:1 / -1}
}
/* le bouton d'achat collant passe au-dessus du bandeau tant qu'il est affiche */
.has-kj-cookies .sticky-add-to-cart[data-active="true"]{display:none}
.kj-cookies-prefs h2{margin:0 0 18px}
.kj-cookies-cat{padding:14px 0;border-top:1px solid var(--color-border)}
.kj-cookies-cat p{margin:6px 0 0;font-size:var(--font-body--size-small,.8rem);line-height:1.6;opacity:.8}
.kj-cookies-cat__head{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}
.kj-cookies-cat__always{font-size:var(--font-body--size-small,.8rem);opacity:.6}
.kj-switch{appearance:none;-webkit-appearance:none;width:40px;height:22px;border-radius:22px;background:rgba(0,0,0,.18);position:relative;cursor:pointer;flex-shrink:0;transition:background .15s;margin:0}
.kj-switch::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s}
.kj-switch:checked{background:#000}.kj-switch:checked::after{transform:translateX(18px)}
.kj-switch:focus-visible{outline:2px solid #000;outline-offset:2px}
.kj-cookies-prefs__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.kj-cookies-prefs__actions .button{width:100%;max-width:none}
