/*
 * SilaLink Front Core v4
 * Couche commune de cohérence visuelle pour tous les templates menupage.
 * Les couleurs restent pilotées par le thème actif / Sila AI via les variables existantes.
 */
:root{
  --sl-front-max:1240px;
  --sl-front-gutter:clamp(14px,2.4vw,28px);
  --sl-front-radius:var(--mp-ui-radius,22px);
  --sl-front-radius-sm:var(--mp-ui-radius-sm,14px);
  --sl-front-bg:var(--freshy-bg,var(--mp-ui-soft,#f6f8fb));
  --sl-front-surface:var(--mp-ui-surface,var(--freshy-card,#fff));
  --sl-front-text:var(--mp-ui-ink,var(--freshy-text,#101828));
  --sl-front-muted:var(--mp-ui-muted,var(--freshy-muted,#667085));
  --sl-front-border:var(--mp-ui-border,#e4e7ec);
  --sl-front-primary:var(--freshy-primary,var(--mp-ui-accent,#1f2937));
  --sl-front-accent:var(--freshy-accent,var(--mp-ui-accent,#f4c542));
  --sl-front-shadow:var(--mp-ui-shadow-soft,0 10px 32px rgba(16,24,40,.06));
}

html{scroll-behavior:smooth}
body.mp-freshy,
body.freshy-body{
  margin:0;
  background:var(--sl-front-bg)!important;
  color:var(--sl-front-text);
}
body.mp-freshy *{box-sizing:border-box}

/* ---------- Conteneur unique ---------- */
.mp-freshy .sl-front-shell,
.mp-freshy .mp-marketing-wrap,
.mp-freshy .mp-status-wrap,
.mp-freshy .freshy-main,
.mp-freshy .main-content.container,
.mp-freshy .sl-front-main{
  width:min(var(--sl-front-max),calc(100% - (var(--sl-front-gutter) * 2)))!important;
  max-width:var(--sl-front-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

.mp-freshy .app,
.mp-freshy .layout,
.mp-freshy .page-container,
.mp-freshy .main-content{
  background:transparent!important;
}
.mp-freshy .page-container{padding:0!important}
.mp-freshy .freshy-main,
.mp-freshy .main-content.container{padding-left:0!important;padding-right:0!important}

/* ---------- Topbar ---------- */
.mp-freshy .mp-topbar{
  position:sticky;
  top:0;
  z-index:100;
  width:100%;
  min-height:64px;
  background:color-mix(in srgb,var(--sl-front-surface) 94%,transparent)!important;
  border-bottom:1px solid color-mix(in srgb,var(--sl-front-border) 82%,transparent);
  box-shadow:0 2px 14px rgba(16,24,40,.035);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.mp-freshy .mp-topbar .wrap{
  width:min(var(--sl-front-max),calc(100% - (var(--sl-front-gutter) * 2)))!important;
  max-width:var(--sl-front-max)!important;
  min-height:64px;
  margin:0 auto!important;
  padding:8px 0!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mp-freshy .mp-topbar .brand img{
  display:block;
  width:46px!important;
  height:46px!important;
  object-fit:contain!important;
  border-radius:12px!important;
}
/* Logo en longueur : affiché en largeur, sans forme qui le coupe. Logo transparent sans contraste : sur une pastille. */
:root .mp-freshy .mp-topbar .brand.mp-logo-wide img{width:auto!important;height:40px!important;max-width:min(40vw,190px);border:0!important;border-radius:0!important}
@media (min-width:768px){:root .mp-freshy .mp-topbar .brand.mp-logo-wide img{height:48px!important;max-width:240px}}
:root .mp-logo-chip img{box-sizing:content-box!important;padding:5px 9px;border-radius:10px!important}
.mp-logo-light.mp-logo-chip img{background:#111827!important}.mp-logo-dark.mp-logo-chip img{background:#fff!important}
.mp-freshy .mp-topbar .mp-actions{display:flex;align-items:center;gap:8px}
.mp-freshy .mp-topbar .mp-btn{
  min-height:38px;
  border-radius:12px!important;
  border:1px solid var(--sl-front-border)!important;
  background:var(--sl-front-surface)!important;
  color:var(--sl-front-text)!important;
  box-shadow:none!important;
}
.mp-freshy .mp-topbar .mp-btn.active{
  border-color:color-mix(in srgb,var(--sl-front-primary) 55%,var(--sl-front-border))!important;
  color:var(--sl-front-primary)!important;
}
.mp-freshy .mp-topbar .mp-cart{position:relative;width:42px;min-width:42px;padding:0!important}

/* ---------- Bannière : même grille, hauteur contenue ---------- */
.mp-freshy .mp-marketing-wrap{
  margin-top:18px!important;
  margin-bottom:14px!important;
}
.mp-freshy .mp-marketing-track{gap:12px!important}
.mp-freshy .mp-marketing-banner{
  min-height:184px!important;
  border-radius:var(--sl-front-radius)!important;
  padding:clamp(18px,2.4vw,28px)!important;
  box-shadow:var(--sl-front-shadow)!important;
}
.mp-freshy .mp-marketing-banner__content{max-width:min(650px,70%)}
.mp-freshy .mp-marketing-banner__title{
  font-size:clamp(1.4rem,2.6vw,2.25rem)!important;
  line-height:1.05!important;
  letter-spacing:-.035em!important;
}
.mp-freshy .mp-marketing-banner__text{font-size:.9rem!important;max-width:560px!important}
.mp-freshy .mp-marketing-banner__products{margin-top:9px!important}
.mp-freshy .mp-marketing-banner__cta{min-height:38px!important;border-radius:11px!important;margin-top:12px!important}

/* ---------- Barre d'état + mode : compacte ---------- */
.mp-freshy .sl-front-utility{
  width:min(var(--sl-front-max),calc(100% - (var(--sl-front-gutter) * 2)));
  max-width:var(--sl-front-max);
  margin:0 auto 14px;
  display:flex;
  align-items:stretch;
  gap:10px;
}
.mp-freshy .sl-front-utility #order-status-alert{flex:1;min-width:0;margin:0!important}
.mp-freshy .sl-front-order-mode{
  flex:0 0 auto;
  align-self:stretch;
  display:flex;
  align-items:center;
}
.mp-freshy .sl-order-mode-btn{
  min-height:100%;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 14px;
  border:1px solid var(--sl-front-border);
  border-radius:var(--sl-front-radius-sm);
  background:var(--sl-front-surface);
  color:var(--sl-front-text);
  font:inherit;
  font-size:.82rem;
  font-weight:750;
  cursor:pointer;
  box-shadow:0 5px 18px rgba(16,24,40,.045);
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.mp-freshy .sl-order-mode-btn:hover{
  transform:translateY(-1px);
  border-color:color-mix(in srgb,var(--sl-front-primary) 28%,var(--sl-front-border));
  box-shadow:0 8px 22px rgba(16,24,40,.07);
}
.mp-freshy .sl-order-mode-btn__dot{
  width:9px;height:9px;border-radius:50%;background:var(--sl-front-accent);
  box-shadow:0 0 0 5px color-mix(in srgb,var(--sl-front-accent) 18%,transparent);
}

.mp-freshy .mp-status-wrap{
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
.mp-freshy .mp-status-card{
  min-height:66px;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px 15px!important;
  border-radius:var(--sl-front-radius-sm)!important;
  box-shadow:0 5px 18px rgba(16,24,40,.045)!important;
}
.mp-freshy .mp-status-card::before{width:3px!important}
.mp-freshy .mp-status-dot,
.mp-freshy .mp-status-icon{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  border-radius:12px!important;
  margin:0!important;
}
.mp-freshy .mp-status-dot::before{width:9px!important;height:9px!important}
.mp-freshy .mp-status-content{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  column-gap:10px;
  row-gap:2px;
  align-items:center;
}
.mp-freshy .mp-status-badge{
  grid-column:1;
  grid-row:1;
  margin:0!important;
  padding:5px 9px!important;
  font-size:11px!important;
}
.mp-freshy .mp-status-title{
  grid-column:2;
  grid-row:1;
  margin:0!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.mp-freshy .mp-status-reason{
  grid-column:1 / -1;
  grid-row:2;
  margin:1px 0 0!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
.mp-freshy .mp-status-note{display:none!important}

/* ---------- Accueil catégories ---------- */
.mp-freshy .sl-front-menu-card{
  margin:0 0 24px;
  padding:clamp(14px,2vw,20px);
  border:1px solid color-mix(in srgb,var(--sl-front-border) 86%,transparent);
  border-radius:var(--sl-front-radius);
  background:var(--sl-front-surface);
  box-shadow:var(--sl-front-shadow);
}
.mp-freshy .sl-category-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin:0 0 12px;
}
.mp-freshy .sl-category-head h1,
.mp-freshy .sl-category-head h2{
  margin:0;
  font-size:clamp(1.15rem,2vw,1.5rem);
  line-height:1.15;
  letter-spacing:-.025em;
  color:var(--sl-front-text);
}
.mp-freshy .sl-category-head p{margin:4px 0 0;color:var(--sl-front-muted);font-size:.82rem}

.mp-freshy .sl-category-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}
.mp-freshy .sl-category-card{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid var(--sl-front-border);
  border-radius:var(--sl-front-radius-sm);
  background:var(--sl-front-surface);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.mp-freshy .sl-category-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--sl-front-primary) 28%,var(--sl-front-border));
  box-shadow:0 10px 26px rgba(16,24,40,.08);
}
.mp-freshy .sl-category-card__media{
  width:100%;
  aspect-ratio:1.18 / 1;
  overflow:hidden;
  background:var(--mp-ui-soft,#f2f4f7);
}
.mp-freshy .sl-category-card__media img{
  width:100%;height:100%;display:block;object-fit:cover;transition:transform .24s ease;
}
.mp-freshy .sl-category-card:hover .sl-category-card__media img{transform:scale(1.035)}
.mp-freshy .sl-category-card__body{padding:10px 11px 11px}
.mp-freshy .sl-category-card__name{
  display:block;
  color:var(--sl-front-text);
  font-size:.9rem;
  font-weight:800;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mp-freshy .sl-category-card__link{position:absolute;inset:0;z-index:2;border-radius:inherit}

/* ---------- Page produits ---------- */
.mp-freshy .main-content.container.py-4{padding-top:14px!important;padding-bottom:90px!important}
.mp-freshy .categories-menu{
  top:var(--mp-sticky-offset,64px)!important;
  margin:0 0 14px!important;
  padding:8px 0!important;
  gap:7px!important;
  background:color-mix(in srgb,var(--sl-front-bg) 92%,transparent)!important;
  border-bottom:0!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.mp-freshy .category-chip{
  height:36px!important;
  padding:0 10px!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
.mp-freshy .category-chip .chip-icon{width:22px!important;height:22px!important}
/* Catégories : vignettes lisibles (sauf mises en page en texte seul) et flèches quand la barre déborde. */
:root:not(.mp-layout-gastro):not(.mp-layout-brasserie):not(.mp-nav-style-underline) .mp-freshy .categories-menu .category-chip.has-icon{height:44px!important;padding:0 14px 0 5px!important;gap:9px!important}
:root .mp-freshy .categories-menu .category-chip.has-icon .chip-icon{width:34px!important;height:34px!important;flex:none}
.mp-freshy .categories-menu .mp-cat-arrow{position:sticky;z-index:3;flex:0 0 32px;width:32px;height:32px;align-self:center;display:none;place-items:center;padding:0;border:1px solid var(--sl-front-border,#e5e7eb);border-radius:50%;background:var(--sl-front-surface,#fff);color:var(--sl-front-text,#111);box-shadow:0 0 0 5px var(--sl-front-bg,#fff),0 2px 12px 4px rgba(0,0,0,.14);cursor:pointer;transition:opacity .15s}
.mp-cat-arrow svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.mp-freshy .categories-menu .mp-cat-arrow--prev{left:0;margin-right:-32px}.mp-freshy .categories-menu .mp-cat-arrow--next{right:0;margin-left:-32px}
.mp-freshy .categories-menu.mp-cats-scroll .mp-cat-arrow{display:grid}
.mp-freshy .categories-menu.mp-cats-start .mp-cat-arrow--prev,.mp-freshy .categories-menu.mp-cats-end .mp-cat-arrow--next{opacity:0;pointer-events:none}
@media (min-width:768px){
  :root:not(.mp-layout-gastro):not(.mp-layout-brasserie):not(.mp-nav-style-underline) .mp-freshy .categories-menu .category-chip.has-icon{height:50px!important}
  :root .mp-freshy .categories-menu .category-chip.has-icon .chip-icon{width:40px!important;height:40px!important}
  .mp-freshy .categories-menu .mp-cat-arrow{flex-basis:38px;width:38px;height:38px}
  .mp-freshy .categories-menu .mp-cat-arrow--prev{margin-right:-38px}.mp-freshy .categories-menu .mp-cat-arrow--next{margin-left:-38px}
}
.mp-freshy .category-chip .chip-label{font-size:.8rem!important}
.mp-freshy .cat-section{margin:0 0 26px}
.mp-freshy .section-title{
  margin:0 0 10px!important;
  color:var(--sl-front-text)!important;
  font-size:1.12rem!important;
  font-weight:850!important;
  letter-spacing:-.02em!important;
}
.mp-freshy .products-grid{gap:12px!important}
.mp-freshy .card.product-card{
  overflow:hidden;
  padding:0!important;
  gap:0!important;
  border:1px solid var(--sl-front-border)!important;
  border-radius:var(--sl-front-radius-sm)!important;
  box-shadow:0 5px 18px rgba(16,24,40,.045)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.mp-freshy .card.product-card:hover{
  transform:translateY(-2px);
  border-color:color-mix(in srgb,var(--sl-front-primary) 24%,var(--sl-front-border))!important;
  box-shadow:0 10px 28px rgba(16,24,40,.08)!important;
}
.mp-freshy .product-card .image-container{
  border-radius:0!important;
  aspect-ratio:1.22 / 1!important;
}
.mp-freshy .product-card .card-body{padding:11px 12px 13px!important}
.mp-freshy .product-card .card-title{font-size:.94rem!important;line-height:1.28!important;margin:0 0 5px!important}
.mp-freshy .product-card p.text-muted{font-size:.76rem!important;line-height:1.4!important}
.mp-freshy .product-card .mask{
  left:8px!important;bottom:8px!important;
  padding:5px 8px!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--sl-front-primary) 92%,transparent)!important;
}
.mp-freshy .product-card .add-to-cart-smart{
  width:42px!important;height:42px!important;
  right:8px!important;bottom:8px!important;
  border-radius:12px!important;
}

/* ---------- Produits mis en avant ---------- */
.mp-freshy .mp-featured-strip{
  margin:0 0 18px!important;
  padding:12px!important;
  border:1px solid var(--sl-front-border);
  border-radius:var(--sl-front-radius-sm);
  background:var(--sl-front-surface);
  box-shadow:0 4px 16px rgba(16,24,40,.035);
}
.mp-freshy .mp-featured-strip__head{margin:0 2px 10px!important}
.mp-freshy .mp-featured-strip__list{gap:8px!important}
.mp-freshy .mp-featured-strip__item{box-shadow:none!important}

/* ---------- Drawers / panier : mêmes rayons et surfaces ---------- */
.mp-freshy #mp-drawer,
.mp-freshy .mp-drawer,
.mp-freshy .drawer{
  background:var(--sl-front-surface);
}
.mp-freshy #mp-drawer .hdr,
.mp-freshy .mp-drawer .hdr{border-bottom:1px solid var(--sl-front-border)}
.mp-freshy .mp-cart-suggestions{
  border-top:1px solid var(--sl-front-border);
  margin-top:14px;
  padding-top:14px;
}

/* ---------- Mobile ---------- */
@media (max-width:1080px){
  .mp-freshy .sl-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767.98px){
  :root{--sl-front-gutter:10px}
  .mp-freshy .mp-topbar{min-height:58px}
  .mp-freshy .mp-topbar .wrap{min-height:58px}
  .mp-freshy .mp-topbar .brand img{width:40px!important;height:40px!important;border-radius:10px!important}
  .mp-freshy .mp-marketing-wrap{margin-top:10px!important;margin-bottom:10px!important}
  .mp-freshy .mp-marketing-banner{min-height:158px!important;border-radius:18px!important;padding:18px!important}
  .mp-freshy .mp-marketing-banner__content{max-width:84%}
  .mp-freshy .mp-marketing-banner__title{font-size:1.35rem!important}
  .mp-freshy .mp-marketing-banner__text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

  .mp-freshy .sl-front-utility{display:block;margin-bottom:10px}
  .mp-freshy .sl-front-order-mode{margin-top:7px}
  .mp-freshy .sl-order-mode-btn{width:100%;min-height:42px;justify-content:center}
  .mp-freshy .mp-status-card{min-height:0!important;padding:11px 12px!important;gap:10px!important}
  .mp-freshy .mp-status-dot,.mp-freshy .mp-status-icon{width:34px!important;height:34px!important;min-width:34px!important}
  .mp-freshy .mp-status-content{grid-template-columns:1fr;row-gap:3px}
  .mp-freshy .mp-status-badge{grid-column:1;grid-row:1;width:max-content}
  .mp-freshy .mp-status-title{grid-column:1;grid-row:2;font-size:14px!important}
  .mp-freshy .mp-status-reason{grid-column:1;grid-row:3;font-size:11.5px!important}

  .mp-freshy .sl-front-menu-card{padding:11px;border-radius:18px;margin-bottom:18px}
  .mp-freshy .sl-category-head{margin-bottom:9px}
  .mp-freshy .sl-category-head h1,.mp-freshy .sl-category-head h2{font-size:1.08rem}
  .mp-freshy .sl-category-head p{font-size:.75rem}
  .mp-freshy .sl-category-grid{
    display:flex;
    overflow-x:auto;
    gap:8px;
    padding-bottom:3px;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
  }
  .mp-freshy .sl-category-grid::-webkit-scrollbar{display:none}
  .mp-freshy .sl-category-card{flex:0 0 132px;scroll-snap-align:start}
  .mp-freshy .sl-category-card__media{aspect-ratio:1.35 / 1}
  .mp-freshy .sl-category-card__body{padding:8px 9px 9px}
  .mp-freshy .sl-category-card__name{font-size:.82rem}

  .mp-freshy .main-content.container.py-4{padding-top:8px!important}
  .mp-freshy .categories-menu{top:58px!important;margin-bottom:10px!important}
  .mp-freshy .products-grid{gap:8px!important}
  .mp-freshy .card.product-card{border-radius:13px!important}
  .mp-freshy .product-card .card-body{padding:9px 9px 11px!important}
  .mp-freshy .product-card .card-title{font-size:.84rem!important}
  .mp-freshy .product-card .mask{font-size:.7rem!important}
  .mp-freshy .product-card .add-to-cart-smart{width:38px!important;height:38px!important;border-radius:10px!important}
  .mp-freshy .mp-featured-strip{padding:10px!important;border-radius:15px}
}

.mp-freshy .sl-product-status-shell{margin-top:12px!important;margin-bottom:0!important}
.mp-freshy .sl-product-status-shell:empty{display:none}
.mp-freshy .sl-product-status-shell #order-status-alert:empty{display:none}

/* ========================================================================== */
/* Phase 4B — Parcours transactionnel : compte, options produit, panier, fidélité */
/* ========================================================================== */

/* ---------- Topbar : compte client ---------- */
.mp-freshy .sl-account-trigger{position:relative;width:42px;min-width:42px;padding:0!important}
.mp-freshy .sl-account-points-badge{
  position:absolute;right:-5px;bottom:-7px;z-index:2;
  min-width:34px;height:18px;padding:0 6px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--sl-front-primary);color:#fff;border:2px solid var(--sl-front-surface);
  font-size:9px;font-weight:850;white-space:nowrap;line-height:1;
}
.sl-account-lock{overflow:hidden!important}
.sl-account-backdrop{
  position:fixed;inset:0;z-index:1190;background:rgba(15,23,42,.42);
  opacity:0;pointer-events:none;transition:opacity .22s ease;
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)
}
.sl-account-backdrop.is-open{opacity:1;pointer-events:auto}
.sl-account-drawer{
  position:fixed;z-index:1191;top:0;right:0;bottom:0;width:min(430px,calc(100vw - 18px));
  display:flex;flex-direction:column;background:var(--sl-front-surface);color:var(--sl-front-text);
  border-left:1px solid var(--sl-front-border);box-shadow:-24px 0 70px rgba(15,23,42,.18);
  transform:translateX(104%);transition:transform .24s cubic-bezier(.2,.8,.2,1)
}
.sl-account-drawer.is-open{transform:translateX(0)}
.sl-account-head{
  min-height:76px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;
  border-bottom:1px solid var(--sl-front-border);background:color-mix(in srgb,var(--sl-front-surface) 96%,var(--sl-front-primary) 4%)
}
.sl-account-head>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.sl-account-head strong{font-size:18px;line-height:1.15;letter-spacing:-.02em}
.sl-account-eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:850;color:var(--sl-front-muted)}
.sl-account-close{
  width:40px;height:40px;min-width:40px;border:1px solid var(--sl-front-border);border-radius:13px;
  background:var(--sl-front-surface);color:var(--sl-front-text);font-size:24px;line-height:1;cursor:pointer
}
.sl-account-body{flex:1;min-height:0;overflow:auto;padding:18px;overscroll-behavior:contain}
.sl-account-loading,.sl-account-error{min-height:270px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:var(--sl-front-muted)}
.sl-account-spinner{width:30px;height:30px;border:3px solid var(--sl-front-border);border-top-color:var(--sl-front-primary);border-radius:50%;animation:slAccSpin .75s linear infinite}
@keyframes slAccSpin{to{transform:rotate(360deg)}}
.sl-account-guest{text-align:center;padding:30px 8px 10px}
.sl-account-big-icon{width:62px;height:62px;margin:0 auto 14px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sl-front-primary) 10%,var(--sl-front-surface));color:var(--sl-front-primary)}
.sl-account-big-icon .mp-icon{width:27px;height:27px}
.sl-account-guest h3{margin:0;color:var(--sl-front-text);font-size:20px;letter-spacing:-.025em}
.sl-account-guest p{max-width:330px;margin:9px auto 20px;color:var(--sl-front-muted);font-size:13px;line-height:1.55}
.sl-account-primary,.sl-account-secondary{
  min-height:44px;padding:0 16px;border-radius:13px;font:inherit;font-size:13px;font-weight:800;cursor:pointer
}
.sl-account-primary{border:1px solid var(--sl-front-primary);background:var(--sl-front-primary);color:#fff}
.sl-account-secondary{border:1px solid var(--sl-front-border);background:var(--sl-front-surface);color:var(--sl-front-text)}
.sl-account-profile{display:flex;flex-direction:column;gap:16px}
.sl-account-identity{display:flex;align-items:center;gap:12px;padding:2px 0 4px}
.sl-account-avatar{width:48px;height:48px;min-width:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:var(--sl-front-primary);color:#fff;font-size:18px;font-weight:900}
.sl-account-identity>span:last-child{display:flex;flex-direction:column;min-width:0}
.sl-account-identity strong{font-size:16px;color:var(--sl-front-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-account-identity small{margin-top:3px;color:var(--sl-front-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sl-account-loyalty{
  padding:16px;border:1px solid color-mix(in srgb,var(--sl-front-primary) 18%,var(--sl-front-border));
  border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--sl-front-primary) 8%,#fff),var(--sl-front-surface));
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center
}
.sl-account-loyalty span{color:var(--sl-front-muted);font-size:11px;font-weight:750}
.sl-account-loyalty strong{grid-column:2;grid-row:1 / span 2;font-size:24px;letter-spacing:-.035em;color:var(--sl-front-text)}
.sl-account-loyalty small{font-size:10px;color:var(--sl-front-muted);line-height:1.4}
.sl-account-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--sl-front-muted)}
.sl-account-movements{display:grid;gap:7px}
.sl-account-movement{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--sl-front-border);border-radius:13px;background:var(--sl-front-surface)}
.sl-account-movement>span{display:flex;flex-direction:column;min-width:0}
.sl-account-movement strong{font-size:12px;color:var(--sl-front-text)}
.sl-account-movement small{margin-top:2px;color:var(--sl-front-muted);font-size:10px}
.sl-account-movement b{font-size:12px;white-space:nowrap}
.sl-account-movement b.is-positive{color:#15803d}.sl-account-movement b.is-negative{color:#b42318}
.sl-account-empty{padding:14px;border:1px dashed var(--sl-front-border);border-radius:14px;color:var(--sl-front-muted);font-size:12px;text-align:center}
.sl-account-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}

/* ---------- Drawer options produit ---------- */
.mp-freshy #mp-panel-bg{background:rgba(15,23,42,.44)!important;backdrop-filter:blur(4px)!important}
.mp-freshy #mp-panel{
  background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important;
  border-color:var(--sl-front-border)!important;box-shadow:-28px 0 80px rgba(15,23,42,.18)!important
}
@media (min-width:768px){.mp-freshy #mp-panel{width:min(520px,94vw)!important;border-left:1px solid var(--sl-front-border)!important}}
.mp-freshy #mp-panel .hdr{min-height:74px;padding:15px 17px!important;border-bottom:1px solid var(--sl-front-border)!important;background:color-mix(in srgb,var(--sl-front-surface) 96%,var(--sl-front-primary) 4%)}
.mp-freshy #mp-panel .hdr h5{font-size:17px!important;letter-spacing:-.02em;color:var(--sl-front-text)!important}
.mp-freshy #mp-panel .hdr .close{width:40px!important;height:40px!important;border-radius:13px!important;border:1px solid var(--sl-front-border)!important;background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important}
.mp-freshy #mp-panel .body{padding:15px 16px 24px!important;background:var(--sl-front-bg)!important}
.mp-freshy #mp-panel .ftr{
  position:sticky;bottom:0;z-index:3;padding:12px 16px max(12px,env(safe-area-inset-bottom))!important;
  border-top:1px solid var(--sl-front-border)!important;background:color-mix(in srgb,var(--sl-front-surface) 96%,transparent)!important;
  backdrop-filter:blur(14px);display:grid!important;grid-template-columns:minmax(100px,.7fr) minmax(160px,1.3fr)!important;gap:8px!important
}
.mp-freshy #mp-panel .ftr .btn{min-height:44px!important;margin:0!important;border-radius:13px!important;font-weight:800!important}
.mp-freshy #mp-panel .sl-panel-primary{background:var(--sl-front-primary)!important;color:#fff!important;box-shadow:none!important}
.mp-freshy #mp-panel .btn-freshy-secondary{background:var(--sl-front-surface)!important;border:1px solid var(--sl-front-border)!important;color:var(--sl-front-text)!important}
.mp-freshy #mp-panel .sl-panel-intro{margin:0 0 12px;padding:13px 14px;border:1px solid var(--sl-front-border);border-radius:15px;background:var(--sl-front-surface)}
.mp-freshy #mp-panel .sl-panel-intro span{display:block;font-size:12px;font-weight:850;color:var(--sl-front-text)}
.mp-freshy #mp-panel .sl-panel-intro p{margin:4px 0 0;color:var(--sl-front-muted);font-size:11px;line-height:1.45}
.mp-freshy #mp-panel .group,.mp-freshy #mp-panel .cat-block{margin-bottom:10px!important;padding:12px;border:1px solid var(--sl-front-border);border-radius:15px;background:var(--sl-front-surface)}
.mp-freshy #mp-panel .group>label,.mp-freshy #mp-panel .cat-title{margin:0 0 8px!important;font-size:12px!important;font-weight:850!important;color:var(--sl-front-text)!important}
.mp-freshy #mp-panel select.form-control,.mp-freshy #mp-panel .form-control{min-height:44px;border-radius:12px!important;border:1px solid var(--sl-front-border)!important;background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important;box-shadow:none!important}
.mp-freshy #mp-panel .mp-radio-list{gap:7px!important}
.mp-freshy #mp-panel .mp-radio-item{
  min-height:58px!important;height:auto!important;padding:8px!important;border:1px solid var(--sl-front-border)!important;
  border-radius:13px!important;background:var(--sl-front-surface)!important;transition:border-color .15s ease,background .15s ease,transform .15s ease
}
.mp-freshy #mp-panel .mp-radio-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--sl-front-primary) 28%,var(--sl-front-border))!important}
.mp-freshy #mp-panel .mp-radio-item .thumb{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:10px!important;background:var(--sl-front-bg)}
.mp-freshy #mp-panel .mp-radio-item .name{font-size:12px;font-weight:750!important;color:var(--sl-front-text)}
.mp-freshy #mp-panel .mp-radio-item.is-checked{border-color:var(--sl-front-primary)!important;background:color-mix(in srgb,var(--sl-front-primary) 5%,var(--sl-front-surface))!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--sl-front-primary) 10%,transparent) inset!important}
.mp-freshy #mp-panel .sl-panel-error{grid-column:1 / -1;margin:0!important;padding:9px 10px!important;border-radius:11px!important;font-size:11px!important}

/* ---------- Panier drawer depuis la page produits ---------- */
.mp-freshy #mp-drawer{background:var(--sl-front-surface)!important;border-left:1px solid var(--sl-front-border)!important;box-shadow:-24px 0 70px rgba(15,23,42,.18)!important}
.mp-freshy #mp-drawer .hdr{min-height:76px!important;padding:15px 17px!important;background:color-mix(in srgb,var(--sl-front-surface) 96%,var(--sl-front-primary) 4%)!important;border-bottom:1px solid var(--sl-front-border)!important}
.mp-freshy #mp-drawer .body{background:var(--sl-front-bg)!important}
.mp-freshy .mp-cart-suggestions{margin:12px 0 4px!important;padding:12px!important;border:1px solid var(--sl-front-border)!important;border-radius:16px!important;background:var(--sl-front-surface)!important}
.mp-freshy .mp-cart-suggestions-head{margin-bottom:8px!important}
.mp-freshy .mp-cart-suggestions-list{display:flex!important;gap:7px!important;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.mp-freshy .mp-cart-suggestions-list::-webkit-scrollbar{display:none}
.mp-freshy .mp-cart-suggestion-item{flex:0 0 210px!important;grid-template-columns:44px minmax(0,1fr) 34px!important;padding:6px!important;border-radius:12px!important}
.mp-freshy .mp-cart-suggestion-media{width:44px!important;height:44px!important}

/* ---------- Checkout / panier final ---------- */
.sl-front-checkout-v4 .page-container{width:100%!important;max-width:none!important}
.sl-front-checkout-v4 .fy-cart{background:transparent!important;color:var(--sl-front-text)!important}
.sl-front-checkout-v4 .fy-container{width:min(var(--sl-front-max),calc(100% - (var(--sl-front-gutter) * 2)))!important;max-width:var(--sl-front-max)!important;padding:18px 0 42px!important}
.sl-checkout-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:4px 0 18px}
.sl-checkout-intro>div:first-child{max-width:680px}
.sl-checkout-eyebrow{display:block;margin-bottom:5px;text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:900;color:var(--sl-front-primary)}
.sl-checkout-intro .fy-title{margin:0!important;font-family:inherit!important;font-size:clamp(1.55rem,3vw,2.25rem)!important;line-height:1.06!important;letter-spacing:-.04em!important;color:var(--sl-front-text)!important}
.sl-checkout-intro p{margin:7px 0 0;color:var(--sl-front-muted);font-size:13px;line-height:1.5}
.sl-checkout-steps{display:flex;align-items:center;gap:5px;padding:5px;border:1px solid var(--sl-front-border);border-radius:15px;background:var(--sl-front-surface);box-shadow:var(--sl-front-shadow)}
.sl-checkout-steps span{min-height:38px;padding:0 10px;border-radius:11px;display:flex;align-items:center;gap:6px;color:var(--sl-front-muted);font-size:10px;font-weight:800;white-space:nowrap}
.sl-checkout-steps b{width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--sl-front-bg);font-size:9px}
.sl-checkout-steps .is-active{background:color-mix(in srgb,var(--sl-front-primary) 8%,var(--sl-front-surface));color:var(--sl-front-primary)}
.sl-checkout-steps .is-active b,.sl-checkout-steps .is-done b{background:var(--sl-front-primary);color:#fff}
.sl-front-checkout-v4 .fy-grid{grid-template-columns:minmax(0,1.45fr) minmax(320px,.8fr)!important;gap:14px!important;align-items:start}
.sl-front-checkout-v4 .fy-card{border:1px solid var(--sl-front-border)!important;border-radius:var(--sl-front-radius)!important;background:var(--sl-front-surface)!important;box-shadow:var(--sl-front-shadow)!important;overflow:hidden}
.sl-front-checkout-v4 .fy-card .fy-hdr{min-height:58px;padding:13px 15px!important;border-color:var(--sl-front-border)!important;background:color-mix(in srgb,var(--sl-front-surface) 97%,var(--sl-front-primary) 3%)!important}
.sl-front-checkout-v4 .fy-card .fy-hdr h3{margin:0!important;font-size:14px!important;font-weight:850!important;letter-spacing:-.015em!important;color:var(--sl-front-text)!important}
.sl-front-checkout-v4 .fy-card .fy-bdy{padding:14px 15px!important}
.sl-front-checkout-v4 .fy-input,.sl-front-checkout-v4 .fy-select{min-height:44px!important;border:1px solid var(--sl-front-border)!important;border-radius:12px!important;background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important;box-shadow:none!important}
.sl-front-checkout-v4 .fy-input:focus,.sl-front-checkout-v4 .fy-select:focus{border-color:color-mix(in srgb,var(--sl-front-primary) 55%,var(--sl-front-border))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--sl-front-primary) 9%,transparent)!important}
.sl-front-checkout-v4 .auth-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;padding:5px;border:1px solid var(--sl-front-border);border-radius:14px;background:var(--sl-front-bg)}
.sl-front-checkout-v4 .auth-tabs .fy-chip{min-height:38px!important;margin:0!important;border:0!important;border-radius:10px!important;background:transparent!important;color:var(--sl-front-muted)!important;font-size:11px!important;justify-content:center}
.sl-front-checkout-v4 .auth-tabs .fy-chip.is-active{background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important;box-shadow:0 3px 10px rgba(15,23,42,.06)!important}
.sl-front-checkout-v4 .fy-register-cta{margin-top:10px!important;padding:12px!important;border:1px dashed color-mix(in srgb,var(--sl-front-primary) 26%,var(--sl-front-border))!important;border-radius:14px!important;background:color-mix(in srgb,var(--sl-front-primary) 4%,var(--sl-front-surface))!important}
.sl-front-checkout-v4 .sl-checkout-summary{position:sticky!important;top:calc(var(--mp-sticky-offset,64px) + 12px)!important;overflow:hidden!important}
.sl-front-checkout-v4 .sl-checkout-summary>.fy-hdr{background:var(--sl-front-primary)!important;color:#fff!important;border:0!important}
.sl-front-checkout-v4 .sl-checkout-summary>.fy-hdr h3{color:#fff!important}
.sl-front-checkout-v4 .fy-summary .line{padding:8px 0!important;font-size:12px!important}
.sl-front-checkout-v4 .sl-loyalty-card{margin:10px 0!important;padding:12px!important;border:1px solid color-mix(in srgb,var(--sl-front-primary) 18%,var(--sl-front-border))!important;border-radius:15px!important;background:linear-gradient(135deg,color-mix(in srgb,var(--sl-front-primary) 6%,var(--sl-front-surface)),var(--sl-front-surface))!important}
.sl-front-checkout-v4 #loyalty_guest_hint{margin:10px 0!important;padding:11px 12px!important;border:1px dashed var(--sl-front-border)!important;border-radius:13px!important;background:var(--sl-front-bg)!important;color:var(--sl-front-muted)!important;font-size:11px!important;line-height:1.45!important}
.sl-front-checkout-v4 .btn-primary,.sl-front-checkout-v4 .btn-secondary{min-height:42px!important;border-radius:12px!important;font-weight:800!important}
.sl-front-checkout-v4 .btn-primary{background:var(--sl-front-primary)!important;border-color:var(--sl-front-primary)!important;color:#fff!important}
.sl-front-checkout-v4 .cart-sticky-bar{border-top:1px solid var(--sl-front-border)!important;background:color-mix(in srgb,var(--sl-front-surface) 96%,transparent)!important;backdrop-filter:blur(16px)}

@media (max-width:992px){
  .sl-front-checkout-v4 .fy-grid{grid-template-columns:1fr!important}
  .sl-front-checkout-v4 .sl-checkout-summary{position:relative!important;top:auto!important}
  .sl-checkout-intro{align-items:flex-start;flex-direction:column}
  .sl-checkout-steps{width:100%;overflow:auto;justify-content:flex-start}
}
@media (max-width:640px){
  .sl-account-drawer{width:100%;max-width:none;border-left:0}
  .sl-account-actions{grid-template-columns:1fr}
  .mp-freshy .mp-topbar .mp-lang-gt>svg{display:none}
  .mp-freshy .mp-topbar .mp-actions{gap:5px}
  .mp-freshy .mp-topbar .mp-btn-sm{padding:0 8px!important}
  .mp-freshy #mp-panel .ftr{grid-template-columns:1fr 1.4fr!important}
  .sl-front-checkout-v4 .fy-container{width:min(100% - 20px,var(--sl-front-max))!important;padding-top:10px!important}
  .sl-checkout-intro{margin-bottom:12px}
  .sl-checkout-intro p{font-size:12px}
  .sl-checkout-steps span{padding:0 8px;font-size:9px}
  .sl-front-checkout-v4 .auth-tabs{grid-template-columns:1fr!important}
  .sl-front-checkout-v4 .auth-tabs .fy-chip{justify-content:flex-start!important;padding-left:12px!important}
  .sl-front-checkout-v4 .fy-card .fy-bdy{padding:12px!important}
}

/* ======================================================================
   Phase 4C — Fidélité, espace client et fin de parcours
   ====================================================================== */
.sl-front-checkout-v4 .sl-loyalty-v4c{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:12px 0!important;
  padding:14px!important;
  border:1px solid color-mix(in srgb,var(--sl-front-primary) 16%,var(--sl-front-border))!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--sl-front-primary) 10%,transparent),transparent 36%),
    var(--sl-front-surface)!important;
  box-shadow:none!important;
}
.sl-loyalty-headline{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}
.sl-loyalty-headline-icon,.sl-loyalty-modal-icon{width:38px;height:38px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sl-front-primary) 10%,var(--sl-front-surface));color:var(--sl-front-primary);flex:0 0 auto}
.sl-loyalty-headline-icon svg,.sl-loyalty-modal-icon svg{width:20px;height:20px}
.sl-loyalty-headline-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sl-loyalty-headline-copy strong{font-size:13px;line-height:1.25;color:var(--sl-front-text);letter-spacing:-.015em}
.sl-loyalty-headline-copy span{font-size:10px;line-height:1.4;color:var(--sl-front-muted)}
.sl-loyalty-link-btn{appearance:none;border:0;background:transparent;color:var(--sl-front-primary);font-size:10px;font-weight:850;cursor:pointer;padding:7px 0;white-space:nowrap}
.sl-loyalty-link-btn:hover{text-decoration:underline}
.sl-loyalty-balance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.sl-loyalty-balance-card{min-height:64px;padding:10px 11px;border:1px solid var(--sl-front-border);border-radius:14px;background:color-mix(in srgb,var(--sl-front-bg) 48%,var(--sl-front-surface));display:flex;flex-direction:column;justify-content:center;gap:3px}
.sl-loyalty-balance-card span{font-size:9px;text-transform:uppercase;letter-spacing:.055em;font-weight:800;color:var(--sl-front-muted)}
.sl-loyalty-balance-card strong{font-size:16px;line-height:1;color:var(--sl-front-text);letter-spacing:-.025em}
.sl-loyalty-balance-card.is-primary{border-color:color-mix(in srgb,var(--sl-front-primary) 18%,var(--sl-front-border));background:color-mix(in srgb,var(--sl-front-primary) 6%,var(--sl-front-surface))}
.sl-loyalty-balance-card.is-primary strong{color:var(--sl-front-primary)}
.sl-front-checkout-v4 #loyalty_redeem_row.sl-loyalty-redeem{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:10px!important;border:1px solid var(--sl-front-border);border-radius:14px;background:var(--sl-front-surface)}
.sl-loyalty-redeem label{display:block;margin:0 0 5px;font-size:10px;font-weight:800;color:var(--sl-front-text)}
.sl-loyalty-redeem .control{position:relative;display:flex;align-items:center;gap:7px}
.sl-front-checkout-v4 #loyalty_redeem_row input[type="number"].compact{width:100%!important;min-width:0!important;max-width:none!important;padding-right:38px!important;text-align:left!important;height:40px!important;border-radius:11px!important}
.sl-loyalty-input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;color:var(--sl-front-muted);pointer-events:none}
.sl-front-checkout-v4 #loyalty_redeem_row .actions{display:flex;gap:6px;align-items:center}
.sl-front-checkout-v4 #loyalty_redeem_row .btn-primary,.sl-front-checkout-v4 #loyalty_redeem_row .btn-secondary{min-height:40px!important;padding:0 11px!important;border-radius:11px!important;font-size:10px!important}
.sl-front-checkout-v4 #loyalty_redeem_row.is-applied{background:color-mix(in srgb,#10b981 7%,var(--sl-front-surface));border-color:color-mix(in srgb,#10b981 30%,var(--sl-front-border));padding:10px!important}
.sl-loyalty-section-title{font-size:10px;font-weight:850;color:var(--sl-front-text);margin-bottom:6px}
.sl-loyalty-reward-picker{padding:10px!important;border:1px solid var(--sl-front-border);border-radius:14px;background:var(--sl-front-bg)}
.sl-loyalty-result-stack{display:grid;gap:6px}
.sl-loyalty-result{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,#10b981 7%,var(--sl-front-surface));border:1px solid color-mix(in srgb,#10b981 22%,var(--sl-front-border))}
.sl-loyalty-result-icon{width:28px;height:28px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:#fff;color:#059669;font-weight:900}
.sl-loyalty-result span:last-child{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.sl-loyalty-result small{font-size:9px;color:var(--sl-front-muted)}
.sl-loyalty-result strong{font-size:11px;color:var(--sl-front-text);text-align:right}
.sl-loyalty-hint:empty{display:none}
.sl-loyalty-hint{margin:0!important;padding:7px 9px;border-radius:10px;background:var(--sl-front-bg);color:var(--sl-front-muted);font-size:9px!important;line-height:1.4}
.sl-loyalty-footer-note{padding-top:1px;font-size:8.5px;color:var(--sl-front-muted);text-align:center}

/* Modal fidélité */
#loyaltyModal.sl-loyalty-modal-v4c{z-index:10060}
#loyaltyModal.sl-loyalty-modal-v4c .fy-modal__backdrop{background:rgba(15,23,42,.54);backdrop-filter:blur(3px)}
#loyaltyModal.sl-loyalty-modal-v4c .fy-modal__panel{width:min(900px,calc(100% - 28px));max-width:900px;max-height:min(86dvh,820px);margin:7dvh auto;padding:0!important;overflow:hidden!important;border:1px solid var(--sl-front-border);border-radius:22px;background:var(--sl-front-surface);box-shadow:0 28px 90px rgba(15,23,42,.24)}
.sl-loyalty-modal-head{min-height:78px;padding:15px 17px!important;border-bottom:0!important;background:var(--sl-front-surface)}
.sl-loyalty-modal-title-wrap{display:flex;align-items:center;gap:11px;min-width:0}
.sl-loyalty-modal-title-wrap h3{margin:0!important;font-size:18px!important;line-height:1.15;letter-spacing:-.025em;color:var(--sl-front-text)}
.sl-loyalty-modal-title-wrap p{margin:3px 0 0;font-size:10px;line-height:1.4;color:var(--sl-front-muted)}
#loyaltyModal .fy-modal__close{width:38px;height:38px;border:1px solid var(--sl-front-border);border-radius:12px;background:var(--sl-front-surface);color:var(--sl-front-text);font-size:22px;padding:0;display:flex;align-items:center;justify-content:center}
.sl-loyalty-modal-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 17px 12px}
.sl-loyalty-modal-summary>div{min-height:58px;padding:9px 11px;border:1px solid var(--sl-front-border);border-radius:13px;background:var(--sl-front-bg);display:flex;align-items:center;justify-content:space-between;gap:10px}
.sl-loyalty-modal-summary span{font-size:9px;font-weight:750;color:var(--sl-front-muted)}
.sl-loyalty-modal-summary strong{font-size:16px;color:var(--sl-front-text);letter-spacing:-.02em}
#loyaltyModal .fy-modal__tabs{padding:0 17px 12px!important;border-bottom:1px solid var(--sl-front-border)!important;gap:5px!important}
#loyaltyModal .fy-tab{min-height:36px;padding:0 12px;border:0!important;border-radius:11px!important;background:transparent!important;color:var(--sl-front-muted)!important;font-size:10px!important;font-weight:850!important;box-shadow:none!important}
#loyaltyModal .fy-tab.is-active{background:color-mix(in srgb,var(--sl-front-primary) 9%,var(--sl-front-surface))!important;color:var(--sl-front-primary)!important}
#loyaltyModal .fy-modal__body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px 17px 18px!important;background:color-mix(in srgb,var(--sl-front-bg) 55%,var(--sl-front-surface))}
#loyaltyModal .loy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#loyaltyModal .loy-card{margin:0!important;min-height:86px;padding:9px!important;border:1px solid var(--sl-front-border)!important;border-radius:14px!important;background:var(--sl-front-surface)!important;box-shadow:none!important;grid-template-columns:48px minmax(0,1fr) auto!important;gap:9px!important}
#loyaltyModal .loy-card.block{grid-column:1 / -1!important;grid-template-columns:1fr!important;min-height:auto;padding:12px!important}
#loyaltyModal .loy-thumb{width:48px!important;height:48px!important;border-radius:11px!important}
#loyaltyModal .loy-title{font-size:11px!important;font-weight:800!important;line-height:1.25!important;color:var(--sl-front-text)!important}
#loyaltyModal .loy-sub{margin-top:4px!important;font-size:9px!important;color:var(--sl-front-muted)!important}
#loyaltyModal .loy-badge{display:inline-flex!important;align-items:center;min-height:23px;padding:0 7px!important;border:0!important;border-radius:999px!important;background:color-mix(in srgb,var(--sl-front-primary) 9%,var(--sl-front-surface))!important;color:var(--sl-front-primary)!important;font-size:9px!important;font-weight:850!important}
#loyaltyModal .loy-cta{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:5px!important}
#loyaltyModal .loy-btn{min-height:34px;padding:0 9px!important;border:1px solid var(--sl-front-primary)!important;border-radius:10px!important;background:var(--sl-front-primary)!important;color:#fff!important;font-size:9px!important;font-weight:850!important;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
#loyaltyModal .loy-btn.more{border-color:var(--sl-front-border)!important;background:var(--sl-front-surface)!important;color:var(--sl-front-text)!important}
#loyaltyModal .loy-btn[disabled]{opacity:.4;filter:grayscale(.35)}
#loyaltyModal .loy-head{margin:0 0 8px!important}
#loyaltyModal .loy-group-title{font-size:12px!important;font-weight:850!important;color:var(--sl-front-text)!important}
#loyaltyModal .loy-combo-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px;padding:0;list-style:none}
#loyaltyModal .loy-combo-li{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 8px;border:1px solid var(--sl-front-border);border-radius:10px;background:var(--sl-front-bg);font-size:9px}
#loyaltyModal .loy-combo-cat{font-weight:750;color:var(--sl-front-text)}
#loyaltyModal .loy-combo-qty{color:var(--sl-front-muted);white-space:nowrap}
#loyaltyModal .loy-catrow{gap:6px!important;margin-top:5px!important}
#loyaltyModal .loy-catchip{padding:5px 7px!important;border:1px solid var(--sl-front-border)!important;border-radius:10px!important;background:var(--sl-front-surface)!important}
#loyaltyModal .loy-thumb-sm{width:34px!important;height:34px!important;border-radius:9px!important}
#loyaltyModal .loy-chip-label{font-size:9px!important;font-weight:750;color:var(--sl-front-text)!important}
#loyaltyModal .loy-chip-qty{font-size:8px!important;color:var(--sl-front-muted)!important}
#loyaltyModal .loy-promo{padding:11px 12px!important;border:1px solid var(--sl-front-border)!important;border-radius:14px!important;background:var(--sl-front-surface)!important}
#loyaltyModal .loy-promo strong{font-size:11px;color:var(--sl-front-text)}
#loyaltyModal .loy-promo p{margin:3px 0 0;font-size:9px;line-height:1.4;color:var(--sl-front-muted)}
.sl-loyalty-empty{min-height:190px;border:1px dashed var(--sl-front-border);border-radius:16px;background:var(--sl-front-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;padding:20px}
.sl-loyalty-empty strong{font-size:12px;color:var(--sl-front-text)}
.sl-loyalty-empty span{max-width:330px;font-size:10px;line-height:1.45;color:var(--sl-front-muted)}
.sl-loyalty-modal-footer{min-height:58px;padding:10px 17px!important;border-top:1px solid var(--sl-front-border)!important;background:var(--sl-front-surface)!important;display:flex;align-items:center;justify-content:space-between!important;gap:12px}
.sl-loyalty-modal-footer>span{max-width:600px;font-size:8.5px;line-height:1.4;color:var(--sl-front-muted)}
.sl-loyalty-modal-footer .btn-secondary{min-height:36px!important;padding:0 12px!important;font-size:10px!important;flex:0 0 auto}

/* Espace client complet */
.sl-customer-account-v4c{min-height:100vh;background:var(--sl-front-bg);color:var(--sl-front-text)}
.sl-customer-account-v4c .sl-account-page{width:min(var(--sl-front-max),calc(100% - (var(--sl-front-gutter) * 2)));margin:0 auto;padding:18px 0 52px}
.sl-account-page-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:8px 0 16px}
.sl-account-page-eyebrow{display:block;margin-bottom:5px;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--sl-front-primary)}
.sl-account-page-hero h1{margin:0;font-size:clamp(1.7rem,3vw,2.55rem);line-height:1.04;letter-spacing:-.045em;color:var(--sl-front-text)}
.sl-account-page-hero p{margin:7px 0 0;max-width:620px;font-size:12px;line-height:1.55;color:var(--sl-front-muted)}
.sl-account-page-actions{display:flex;gap:7px;flex-wrap:wrap}
.sl-account-page-btn{min-height:42px;padding:0 14px;border:1px solid var(--sl-front-border);border-radius:12px;background:var(--sl-front-surface);color:var(--sl-front-text);font-size:10px;font-weight:850;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.sl-account-page-btn.is-primary{border-color:var(--sl-front-primary);background:var(--sl-front-primary);color:#fff}
.sl-account-page-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.sl-account-page-kpi{min-height:98px;padding:13px;border:1px solid var(--sl-front-border);border-radius:16px;background:var(--sl-front-surface);box-shadow:var(--sl-front-shadow-soft);display:flex;flex-direction:column;justify-content:space-between}
.sl-account-page-kpi span{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.055em;color:var(--sl-front-muted)}
.sl-account-page-kpi strong{font-size:22px;letter-spacing:-.035em;color:var(--sl-front-text)}
.sl-account-page-kpi small{font-size:9px;line-height:1.4;color:var(--sl-front-muted)}
.sl-account-page-kpi.is-loyalty{background:linear-gradient(135deg,color-mix(in srgb,var(--sl-front-primary) 9%,var(--sl-front-surface)),var(--sl-front-surface));border-color:color-mix(in srgb,var(--sl-front-primary) 18%,var(--sl-front-border))}
.sl-account-page-kpi.is-loyalty strong{color:var(--sl-front-primary)}
.sl-account-page-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.75fr);gap:10px;align-items:start}
.sl-account-page-card{border:1px solid var(--sl-front-border);border-radius:18px;background:var(--sl-front-surface);box-shadow:var(--sl-front-shadow-soft);overflow:hidden}
.sl-account-page-card-head{min-height:60px;padding:13px 15px;border-bottom:1px solid var(--sl-front-border);display:flex;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--sl-front-surface) 97%,var(--sl-front-primary) 3%)}
.sl-account-page-card-head h2{margin:0;font-size:14px;letter-spacing:-.02em;color:var(--sl-front-text)}
.sl-account-page-card-head p{margin:3px 0 0;font-size:9px;color:var(--sl-front-muted)}
.sl-account-page-card-body{padding:12px 14px}
.sl-account-order-list{display:flex;flex-direction:column;gap:6px}
.sl-account-order{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--sl-front-border);border-radius:13px;background:var(--sl-front-surface);text-decoration:none;color:inherit}
.sl-account-order:hover{border-color:color-mix(in srgb,var(--sl-front-primary) 30%,var(--sl-front-border));background:color-mix(in srgb,var(--sl-front-primary) 3%,var(--sl-front-surface))}
.sl-account-order-main{min-width:0;display:flex;flex-direction:column;gap:2px}
.sl-account-order-main strong{font-size:11px;color:var(--sl-front-text)}
.sl-account-order-main span{font-size:9px;color:var(--sl-front-muted)}
.sl-account-order-status{padding:5px 7px;border-radius:999px;background:var(--sl-front-bg);font-size:8px;font-weight:800;color:var(--sl-front-muted);white-space:nowrap}
.sl-account-order-total{font-size:11px;font-weight:900;color:var(--sl-front-text);white-space:nowrap}
.sl-account-profile-list{display:grid;gap:7px}
.sl-account-profile-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--sl-front-border)}
.sl-account-profile-row:last-child{border-bottom:0}
.sl-account-profile-row span{font-size:9px;color:var(--sl-front-muted)}
.sl-account-profile-row strong{max-width:65%;font-size:10px;color:var(--sl-front-text);text-align:right;word-break:break-word}
.sl-account-movement-list{display:flex;flex-direction:column;gap:6px}
.sl-account-page-movement{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--sl-front-border);border-radius:12px}
.sl-account-page-movement span{display:flex;flex-direction:column;gap:2px}
.sl-account-page-movement strong{font-size:10px;color:var(--sl-front-text)}
.sl-account-page-movement small{font-size:8px;color:var(--sl-front-muted)}
.sl-account-page-movement b{font-size:10px;white-space:nowrap}.sl-account-page-movement b.is-positive{color:#059669}.sl-account-page-movement b.is-negative{color:#dc2626}
.sl-account-page-empty{min-height:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;color:var(--sl-front-muted);font-size:10px}

/* Page succès */
.sl-order-success-v4c{min-height:100vh;background:var(--sl-front-bg);color:var(--sl-front-text)}
.sl-success-page{width:min(900px,calc(100% - (var(--sl-front-gutter) * 2)));margin:0 auto;padding:22px 0 54px}
.sl-success-hero{text-align:center;padding:24px 18px 18px}
.sl-success-check{width:56px;height:56px;margin:0 auto 11px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,#10b981 10%,var(--sl-front-surface));color:#059669}
.sl-success-check svg{width:28px;height:28px}
.sl-success-hero span{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#059669}
.sl-success-hero h1{margin:6px 0 5px;font-size:clamp(1.7rem,4vw,2.7rem);letter-spacing:-.045em;line-height:1.04;color:var(--sl-front-text)}
.sl-success-hero p{margin:0 auto;max-width:560px;font-size:11px;line-height:1.55;color:var(--sl-front-muted)}
.sl-success-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}
.sl-success-stat{min-height:82px;padding:11px 12px;border:1px solid var(--sl-front-border);border-radius:15px;background:var(--sl-front-surface);display:flex;flex-direction:column;justify-content:center;gap:4px}
.sl-success-stat span{font-size:8px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:var(--sl-front-muted)}
.sl-success-stat strong{font-size:15px;letter-spacing:-.025em;color:var(--sl-front-text)}
.sl-success-message{margin-bottom:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--sl-front-primary) 18%,var(--sl-front-border));border-radius:15px;background:color-mix(in srgb,var(--sl-front-primary) 5%,var(--sl-front-surface));font-size:10px;line-height:1.55;color:var(--sl-front-text)}
.sl-success-card{border:1px solid var(--sl-front-border);border-radius:18px;background:var(--sl-front-surface);overflow:hidden;margin-bottom:10px;box-shadow:var(--sl-front-shadow-soft)}
.sl-success-card-head{padding:12px 14px;border-bottom:1px solid var(--sl-front-border);background:color-mix(in srgb,var(--sl-front-surface) 97%,var(--sl-front-primary) 3%)}
.sl-success-card-head h2{margin:0;font-size:13px;color:var(--sl-front-text)}
.sl-success-items{display:flex;flex-direction:column}
.sl-success-item{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--sl-front-border)}
.sl-success-item:last-child{border-bottom:0}
.sl-success-item img{width:54px;height:54px;object-fit:cover;border-radius:11px;background:var(--sl-front-bg)}
.sl-success-item-main{min-width:0}.sl-success-item-main strong{display:block;font-size:11px;color:var(--sl-front-text)}.sl-success-item-main span{display:block;margin-top:3px;font-size:9px;color:var(--sl-front-muted)}
.sl-success-item-price{font-size:11px;font-weight:900;color:var(--sl-front-text);white-space:nowrap}
.sl-success-associated{margin:5px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px}.sl-success-associated li{padding:3px 6px;border-radius:999px;background:var(--sl-front-bg);font-size:8px;color:var(--sl-front-muted)}
.sl-success-totals{padding:12px 14px;display:grid;gap:7px}.sl-success-total-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:var(--sl-front-muted)}.sl-success-total-row strong{color:var(--sl-front-text)}.sl-success-total-row.is-total{padding-top:9px;border-top:1px solid var(--sl-front-border);font-size:14px;font-weight:900;color:var(--sl-front-text)}
.sl-success-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.sl-success-actions a{min-height:46px;border-radius:13px;border:1px solid var(--sl-front-border);background:var(--sl-front-surface);color:var(--sl-front-text);font-size:10px;font-weight:850;text-decoration:none;display:flex;align-items:center;justify-content:center}.sl-success-actions a.is-primary{border-color:var(--sl-front-primary);background:var(--sl-front-primary);color:#fff}

@media (max-width:760px){
  .sl-loyalty-headline{grid-template-columns:36px minmax(0,1fr)}
  .sl-loyalty-link-btn{grid-column:1 / -1;width:100%;min-height:38px;border:1px solid var(--sl-front-border);border-radius:11px;background:var(--sl-front-surface);text-decoration:none!important}
  #loyaltyModal .loy-grid{grid-template-columns:1fr}
  #loyaltyModal .loy-combo-list{grid-template-columns:1fr}
  .sl-account-page-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sl-account-page-grid{grid-template-columns:1fr}
  .sl-account-page-hero{align-items:flex-start;flex-direction:column}
  .sl-success-summary{grid-template-columns:1fr}
}
@media (max-width:560px){
  .sl-loyalty-balance-grid{grid-template-columns:1fr}
  .sl-front-checkout-v4 #loyalty_redeem_row.sl-loyalty-redeem{grid-template-columns:1fr}
  .sl-front-checkout-v4 #loyalty_redeem_row .actions{width:100%}.sl-front-checkout-v4 #loyalty_redeem_row .actions button{flex:1}
  #loyaltyModal.sl-loyalty-modal-v4c .fy-modal__panel{width:100%;height:100dvh;max-height:none;margin:0;border-radius:0;border:0}
  .sl-loyalty-modal-summary{grid-template-columns:1fr 1fr}
  .sl-loyalty-modal-footer>span{display:none}
  .sl-loyalty-modal-footer .btn-secondary{width:100%}
  .sl-account-page-kpis{grid-template-columns:1fr 1fr}
  .sl-account-order{grid-template-columns:minmax(0,1fr) auto}.sl-account-order-status{display:none}
  .sl-success-page{width:min(100% - 20px,900px);padding-top:10px}.sl-success-item{grid-template-columns:44px minmax(0,1fr) auto}.sl-success-item img{width:44px;height:44px}.sl-success-actions{grid-template-columns:1fr}
}
.sl-account-actions .sl-account-primary{grid-column:1 / -1;text-decoration:none;display:flex;align-items:center;justify-content:center}

/* =========================================================
   Phase 4C.1 — Fidélité simplifiée
   Principe : une information principale, une action principale,
   les détails seulement à la demande.
   ========================================================= */
.sl-front-checkout-v4 .sl-loyalty-card.sl-loyalty-simple{
  margin:8px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  gap:8px!important;
}
.sl-loyalty-simple-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  border-top:1px solid var(--sl-front-border);
  border-bottom:1px solid var(--sl-front-border);
}
.sl-loyalty-simple-copy{min-width:0;display:flex;flex-direction:column;gap:2px}
.sl-loyalty-kicker{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--sl-front-muted)}
.sl-loyalty-simple-copy strong{font-size:15px;line-height:1.15;color:var(--sl-front-text);letter-spacing:-.02em}
.sl-loyalty-simple-copy small{font-size:10px;color:var(--sl-front-muted)}
.sl-loyalty-simple-copy small #loyalty_earn{font-weight:800;color:var(--sl-front-primary)}
.sl-loyalty-main-action{
  min-height:36px;
  padding:0 12px!important;
  border:1px solid var(--sl-front-border)!important;
  border-radius:10px!important;
  background:var(--sl-front-surface)!important;
  color:var(--sl-front-text)!important;
  font-size:10px!important;
  font-weight:800!important;
  text-decoration:none!important;
}
.sl-loyalty-main-action:hover{border-color:color-mix(in srgb,var(--sl-front-primary) 35%,var(--sl-front-border))!important}
.sl-loyalty-simple-actions{display:flex;align-items:center;min-height:30px}
.sl-loyalty-text-action{
  appearance:none;border:0;background:transparent;padding:4px 0;
  color:var(--sl-front-primary);font-size:10px;font-weight:800;cursor:pointer;
}
.sl-loyalty-text-action::after{content:' ↓';font-size:9px}
.sl-loyalty-text-action.is-open::after{content:' ↑'}
.sl-loyalty-redeem-wrap[hidden]{display:none!important}
.sl-loyalty-redeem-wrap{padding:2px 0 0}
.sl-front-checkout-v4 #loyalty_redeem_row.sl-loyalty-redeem{
  padding:10px!important;
  border:1px solid var(--sl-front-border)!important;
  border-radius:12px!important;
  background:var(--sl-front-bg)!important;
}
.sl-loyalty-result-stack{gap:5px!important}
.sl-loyalty-result{padding:7px 9px!important;border-radius:10px!important}
.sl-loyalty-hint{padding:0!important;background:transparent!important;font-size:9px!important}

/* Fenêtre récompenses : beaucoup plus petite et plus directe. */
#loyaltyModal.sl-loyalty-modal-simple .fy-modal__panel{
  width:min(680px,calc(100% - 28px))!important;
  max-width:680px!important;
  max-height:min(78dvh,680px)!important;
  margin:11dvh auto!important;
  border-radius:18px!important;
}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-head{
  min-height:64px!important;
  padding:14px 16px!important;
  border-bottom:1px solid var(--sl-front-border)!important;
}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-title-wrap h3{font-size:17px!important}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-title-wrap p{margin-top:4px!important;font-size:10px!important;color:var(--sl-front-muted)!important}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-title-wrap p strong{color:var(--sl-front-text)}
#loyaltyModal.sl-loyalty-modal-simple .fy-modal__tabs{
  padding:8px 16px!important;
  gap:4px!important;
  border-bottom:1px solid var(--sl-front-border)!important;
}
#loyaltyModal.sl-loyalty-modal-simple .fy-tab{
  padding:6px 10px!important;
  border:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:var(--sl-front-muted)!important;
  font-size:10px!important;
}
#loyaltyModal.sl-loyalty-modal-simple .fy-tab.is-active{
  background:color-mix(in srgb,var(--sl-front-primary) 8%,var(--sl-front-surface))!important;
  color:var(--sl-front-primary)!important;
  box-shadow:none!important;
}
#loyaltyModal.sl-loyalty-modal-simple .fy-modal__body{padding:12px 16px!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-grid{display:flex!important;flex-direction:column!important;gap:7px!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-card{
  min-height:62px!important;
  padding:8px!important;
  border-radius:11px!important;
  grid-template-columns:44px minmax(0,1fr) auto!important;
  gap:8px!important;
  align-items:center!important;
}
#loyaltyModal.sl-loyalty-modal-simple .loy-card.is-locked{opacity:.58}
#loyaltyModal.sl-loyalty-modal-simple .loy-thumb{width:44px!important;height:44px!important;border-radius:9px!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-title{font-size:11px!important;line-height:1.25!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-sub{font-size:9px!important;margin-top:2px!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-badge{font-size:9px!important;padding:3px 6px!important;background:var(--sl-front-bg)!important}
#loyaltyModal.sl-loyalty-modal-simple .loy-btn{
  min-height:32px!important;
  padding:0 9px!important;
  border-radius:8px!important;
  font-size:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap;
}
#loyaltyModal.sl-loyalty-modal-simple .loy-btn.more{
  background:var(--sl-front-surface)!important;
  color:var(--sl-front-text)!important;
  border:1px solid var(--sl-front-border)!important;
}
#loyaltyModal.sl-loyalty-modal-simple .loy-card.block.loy-combo-simple{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto auto!important;
  min-height:58px!important;
  padding:9px 10px!important;
}
#loyaltyModal .loy-combo-simple-copy{min-width:0}
#loyaltyModal.sl-loyalty-modal-simple .loy-promo{padding:9px 10px!important;border-radius:11px!important}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-footer{
  min-height:48px!important;
  padding:8px 16px!important;
  justify-content:flex-end!important;
}
#loyaltyModal.sl-loyalty-modal-simple .sl-loyalty-modal-footer .btn-secondary{min-height:32px!important}

@media (max-width:640px){
  .sl-loyalty-simple-row{align-items:flex-start;flex-wrap:wrap}
  .sl-loyalty-main-action{width:100%}
  #loyaltyModal.sl-loyalty-modal-simple .fy-modal__panel{
    width:100%!important;height:100dvh!important;max-height:none!important;margin:0!important;border:0!important;border-radius:0!important;
  }
  #loyaltyModal.sl-loyalty-modal-simple .loy-card.block.loy-combo-simple{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  #loyaltyModal.sl-loyalty-modal-simple .loy-combo-simple .loy-btn{grid-column:1 / -1;width:100%}
}

/* =========================================================
   Phase 4C.2 — Fidélité : largeur utile optimisée
   Conserve l'interface simplifiée, mais exploite mieux
   toute la largeur du récapitulatif panier.
   ========================================================= */
.sl-front-checkout-v4 .sl-loyalty-card.sl-loyalty-simple{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
  align-items:stretch!important;
}
.sl-front-checkout-v4 .sl-loyalty-simple-row{
  width:100%!important;
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  column-gap:14px!important;
}
.sl-front-checkout-v4 .sl-loyalty-simple-copy{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.sl-front-checkout-v4 .sl-loyalty-main-action{
  max-width:150px!important;
}
.sl-front-checkout-v4 .sl-loyalty-simple-actions,
.sl-front-checkout-v4 .sl-loyalty-redeem-wrap,
.sl-front-checkout-v4 .sl-loyalty-result-stack,
.sl-front-checkout-v4 .sl-loyalty-hint{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  align-self:stretch!important;
}
.sl-front-checkout-v4 .sl-loyalty-simple-actions{
  justify-content:center!important;
}
.sl-front-checkout-v4 .sl-loyalty-result{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  grid-template-columns:28px minmax(0,1fr)!important;
}
.sl-front-checkout-v4 .sl-loyalty-result > span:last-child{
  width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) max-content!important;
  align-items:center!important;
  gap:12px!important;
}
.sl-front-checkout-v4 .sl-loyalty-result small{
  min-width:0!important;
  white-space:normal!important;
}
.sl-front-checkout-v4 .sl-loyalty-result strong{
  white-space:nowrap!important;
}
.sl-front-checkout-v4 #loyalty_redeem_row.sl-loyalty-redeem{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

@media (max-width:640px){
  .sl-front-checkout-v4 .sl-loyalty-simple-row{
    grid-template-columns:1fr!important;
    row-gap:9px!important;
  }
  .sl-front-checkout-v4 .sl-loyalty-main-action{
    width:max-content!important;
    max-width:100%!important;
  }
  .sl-front-checkout-v4 .sl-loyalty-result > span:last-child{
    gap:8px!important;
  }
}

/* ========================================================================== */
/* Phase 4D — Suivi de commande + continuité des pages secondaires            */
/* ========================================================================== */
.sl-order-track-v4d{background:var(--sl-front-bg,#f7f8fb);color:var(--sl-front-text,#101828)}
.sl-track-page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 72px}
.sl-track-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.sl-track-eyebrow{display:inline-flex;align-items:center;color:var(--sl-front-muted,#667085);font-size:12px;font-weight:800;margin-bottom:6px}
.sl-track-hero h1{margin:0;color:var(--sl-front-text,#101828);font-size:clamp(28px,4vw,48px);line-height:1.04;letter-spacing:-.045em;font-weight:950}
.sl-track-hero p{margin:9px 0 0;color:var(--sl-front-muted,#667085);font-size:14px;line-height:1.55}
.sl-track-back,.sl-track-account-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:9px 14px;border:1px solid var(--sl-front-border,#e5e7eb);border-radius:12px;background:var(--sl-front-surface,#fff);color:var(--sl-front-text,#101828);font-size:13px;font-weight:850;text-decoration:none;white-space:nowrap}
.sl-track-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:14px;align-items:start}
.sl-track-main{display:grid;gap:12px;min-width:0}
.sl-track-status-card,.sl-track-card,.sl-track-eta,.sl-track-mini-card{background:var(--sl-front-surface,#fff);border:1px solid var(--sl-front-border,#e5e7eb);border-radius:var(--sl-front-card-radius,20px);box-shadow:var(--sl-front-shadow-soft,0 10px 32px rgba(15,23,42,.07))}
.sl-track-status-card{padding:20px}
.sl-track-status-card.is-cancelled{border-color:#fecaca;background:#fffafa}
.sl-track-status-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:20px}
.sl-track-label{display:block;color:var(--sl-front-muted,#667085);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.055em;margin-bottom:4px}
.sl-track-status-top strong{display:block;font-size:22px;line-height:1.15;color:var(--sl-front-text,#101828)}
.sl-track-live{display:inline-flex;align-items:center;gap:6px;color:var(--sl-front-muted,#667085);font-size:11px;font-weight:750;white-space:nowrap}
.sl-track-live i{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}
.sl-track-timeline{display:flex;align-items:flex-start;gap:0;overflow:auto;padding:4px 2px 2px;scrollbar-width:none}
.sl-track-timeline::-webkit-scrollbar{display:none}
.sl-track-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;min-width:120px;flex:1;color:#98a2b3;text-align:center}
.sl-track-step:before{content:"";position:absolute;top:14px;left:0;right:0;height:2px;background:var(--sl-front-border,#e5e7eb);z-index:0}
.sl-track-step:first-child:before{left:50%}.sl-track-step:last-child:before{right:50%}
.sl-track-step-dot{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--sl-front-soft,#f2f4f7);border:1px solid var(--sl-front-border,#e5e7eb);color:#667085;font-size:12px;font-weight:900}
.sl-track-step-copy{font-size:12px;font-weight:800;line-height:1.25}
.sl-track-step.is-done:before,.sl-track-step.is-current:before{background:var(--sl-front-primary,#344011)}
.sl-track-step.is-done .sl-track-step-dot,.sl-track-step.is-current .sl-track-step-dot{background:var(--sl-front-primary,#344011);border-color:var(--sl-front-primary,#344011);color:var(--sl-front-on-primary,#fff)}
.sl-track-step.is-current .sl-track-step-dot{box-shadow:0 0 0 5px color-mix(in srgb,var(--sl-front-primary,#344011) 14%,transparent)}
.sl-track-step.is-done .sl-track-step-copy,.sl-track-step.is-current .sl-track-step-copy{color:var(--sl-front-text,#101828)}
.sl-track-eta{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px}
.sl-track-eta strong{display:block;color:var(--sl-front-text,#101828);font-size:25px;line-height:1.08;letter-spacing:-.03em}
.sl-track-eta p{margin:0;color:var(--sl-front-muted,#667085);font-size:13px;text-align:right}
.sl-track-eta.is-ready{border-color:#a7f3d0;background:#f6fffb}.sl-track-eta.is-late{border-color:#fed7aa;background:#fffaf3}.sl-track-eta.is-cancelled{border-color:#fecaca;background:#fffafa}
.sl-track-card{overflow:hidden}
.sl-track-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 18px;border-bottom:1px solid var(--sl-front-border,#e5e7eb)}
.sl-track-card-head h2{margin:0;color:var(--sl-front-text,#101828);font-size:16px;font-weight:900}.sl-track-card-head p{margin:3px 0 0;color:var(--sl-front-muted,#667085);font-size:12px}.sl-track-card-head>strong{font-size:16px}
.sl-track-items{padding:5px 14px 9px}
.sl-track-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid color-mix(in srgb,var(--sl-front-border,#e5e7eb) 80%,transparent)}
.sl-track-item:last-child{border-bottom:0}.sl-track-item img,.sl-track-item-fallback{width:48px;height:48px;border-radius:11px;object-fit:cover;background:var(--sl-front-soft,#f2f4f7)}
.sl-track-item-fallback{display:flex;align-items:center;justify-content:center;color:var(--sl-front-muted,#667085);font-weight:900}
.sl-track-item-main{min-width:0}.sl-track-item-main>strong{display:block;color:var(--sl-front-text,#101828);font-size:13px;line-height:1.35}.sl-track-item-main>strong span{color:var(--sl-front-muted,#667085);font-weight:750}.sl-track-item-main small{display:block;color:var(--sl-front-muted,#667085);font-size:11px;line-height:1.45;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl-track-item-price{font-size:13px;white-space:nowrap}
.sl-track-side{display:grid;gap:9px;position:sticky;top:86px}.sl-track-mini-card{padding:14px 15px}.sl-track-mini-card span{display:block;color:var(--sl-front-muted,#667085);font-size:11px;font-weight:800;margin-bottom:3px}.sl-track-mini-card strong{display:block;color:var(--sl-front-text,#101828);font-size:15px}.sl-track-account-link{width:100%}
.sl-account-active-order{display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:12px;border:1px solid color-mix(in srgb,var(--sl-front-primary,#344011) 20%,var(--sl-front-border,#e5e7eb));border-radius:15px;background:color-mix(in srgb,var(--sl-front-primary,#344011) 5%,var(--sl-front-surface,#fff))}
.sl-account-active-pulse{flex:0 0 auto;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--sl-front-primary,#344011) 12%,#fff)}
.sl-account-active-pulse i{width:8px;height:8px;border-radius:50%;background:var(--sl-front-primary,#344011);box-shadow:0 0 0 5px color-mix(in srgb,var(--sl-front-primary,#344011) 12%,transparent)}
.sl-account-active-copy{min-width:0;flex:1}.sl-account-active-copy span{display:block;color:var(--sl-front-muted,#667085);font-size:11px;font-weight:750}.sl-account-active-copy strong{display:block;color:var(--sl-front-text,#101828);font-size:14px;margin-top:2px}.sl-account-active-order>a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 12px;border-radius:10px;background:var(--sl-front-primary,#344011);color:var(--sl-front-on-primary,#fff);text-decoration:none;font-size:12px;font-weight:850;white-space:nowrap}
@media(max-width:820px){.sl-track-page{width:min(100% - 20px,1180px);padding-top:22px}.sl-track-hero{align-items:flex-start;flex-direction:column}.sl-track-layout{grid-template-columns:1fr}.sl-track-side{position:static;grid-template-columns:1fr 1fr}.sl-track-account-link{grid-column:1/-1}.sl-track-status-card{padding:16px}.sl-track-step{min-width:96px}.sl-track-eta{align-items:flex-start;flex-direction:column;gap:8px}.sl-track-eta p{text-align:left}}
@media(max-width:560px){.sl-track-hero h1{font-size:31px}.sl-track-status-top{display:block}.sl-track-live{margin-top:9px}.sl-track-item{grid-template-columns:44px minmax(0,1fr)}.sl-track-item img,.sl-track-item-fallback{width:44px;height:44px}.sl-track-item-price{grid-column:2;justify-self:start}.sl-track-side{grid-template-columns:1fr}.sl-track-account-link{grid-column:auto}.sl-account-active-order{align-items:flex-start;flex-wrap:wrap}.sl-account-active-order>a{width:100%}}

/* « Mes récompenses » : tiroir latéral, comme le compte client (pas de fenêtre au milieu de l'écran). */
#loyaltyModal.sl-loyalty-drawer .fy-modal__panel{
  position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:auto!important;
  width:min(440px,100vw)!important;max-width:none!important;height:100dvh!important;max-height:none!important;
  margin:0!important;border:0!important;border-left:1px solid var(--sl-front-border)!important;border-radius:0!important;
  display:flex!important;flex-direction:column!important;overflow:hidden!important;
  box-shadow:-24px 0 60px rgba(15,23,42,.18)!important;animation:slLoyDrawerIn .26s ease both;
}
#loyaltyModal.sl-loyalty-drawer .fy-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto!important}
#loyaltyModal.sl-loyalty-drawer .sl-loyalty-modal-footer{flex:none}
@keyframes slLoyDrawerIn{from{transform:translateX(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){#loyaltyModal.sl-loyalty-drawer .fy-modal__panel{animation:none}}
