/* =================================================================
   PAGE BOUTIQUE — ASNK / Ecolo Green
   CSS scopé sous .asnk-shop (mêmes tokens que la fiche produit).
   ================================================================= */

:root{
  --asnk-navy:        #16243F;
  --asnk-navy-700:    #20335A;
  --asnk-green:       #3E9B2E;
  --asnk-green-700:   #2F7A22;
  --asnk-gold:        #C9A24B;
  --asnk-white:       #FFFFFF;
  --asnk-cream:       #FDF8F2;
  --asnk-mint:        #F1F8EE;
  --asnk-grey:        #5B6470;
  --asnk-line:        #ECE7DE;
  --asnk-line-soft:   #F2EEE6;

  --asnk-font-title:  "Playfair Display", "Iowan Old Style", Georgia, serif;
  --asnk-font-body:   "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --asnk-r-sm:  10px;
  --asnk-r-md:  16px;
  --asnk-r-lg:  22px;
  --asnk-r-pill: 999px;
  --asnk-shadow-sm: 0 1px 2px rgba(22,36,63,.05), 0 2px 8px rgba(22,36,63,.05);
  --asnk-shadow-md: 0 6px 22px rgba(22,36,63,.08), 0 2px 6px rgba(22,36,63,.05);
  --asnk-shadow-lg: 0 20px 50px rgba(22,36,63,.16);
  --asnk-ease: cubic-bezier(.22,1,.36,1);
}

.asnk-shop *, .asnk-shop *::before, .asnk-shop *::after{ box-sizing:border-box; }

.asnk-shop{
  font-family:var(--asnk-font-body);
  color:var(--asnk-navy);
  font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  background:var(--asnk-white);
}
.asnk-shop img{ max-width:100%; display:block; }
.asnk-shop button{ font-family:inherit; cursor:pointer; }
.asnk-shop a{ color:inherit; }

.asnk-shop .asnk-wrap{ max-width:1200px; margin:0 auto; padding:0 18px; }

/* =================================================================
   BARRE DE DÉMO (mini-header) — NON exportée en production.
   ================================================================= */
.asnk-shop .asnk-demobar{
  position:sticky; top:0; z-index:60;
  background:rgba(255,255,255,.88); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--asnk-line);
}
.asnk-shop .asnk-demobar__in{
  max-width:1200px; margin:0 auto; padding:12px 18px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
.asnk-shop .asnk-brand{ display:flex; align-items:baseline; gap:9px; }
.asnk-shop .asnk-brand b{ font-family:var(--asnk-font-title); font-weight:700; font-size:21px; letter-spacing:.01em; color:var(--asnk-navy); }
.asnk-shop .asnk-brand span{ font-size:11px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--asnk-green); }
.asnk-shop .asnk-cartbtn{
  position:relative; display:inline-flex; align-items:center; gap:9px;
  background:var(--asnk-white); color:var(--asnk-navy);
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-pill);
  padding:9px 16px 9px 13px; font-size:14px; font-weight:600;
  transition:border-color .18s var(--asnk-ease), box-shadow .18s var(--asnk-ease);
}
.asnk-shop .asnk-cartbtn:hover{ border-color:var(--asnk-navy); box-shadow:var(--asnk-shadow-sm); }
.asnk-shop .asnk-cartbtn svg{ width:20px; height:20px; }
.asnk-shop .asnk-cartbtn__count{
  position:absolute; top:-7px; right:-7px; min-width:21px; height:21px; padding:0 5px;
  display:grid; place-items:center; background:var(--asnk-green); color:#fff;
  border-radius:var(--asnk-r-pill); font-size:11px; font-weight:700; border:2px solid #fff;
  transform:scale(0); transition:transform .26s var(--asnk-ease);
}
.asnk-shop .asnk-cartbtn__count.is-on{ transform:scale(1); }
.asnk-shop .asnk-cartbtn__count.pop{ animation:asnk-pop .42s var(--asnk-ease); }
@keyframes asnk-pop{ 0%{transform:scale(1);} 40%{transform:scale(1.5);} 100%{transform:scale(1);} }

/* =================================================================
   1 · FIL D'ARIANE
   ================================================================= */
.asnk-shop .asnk-breadcrumb{ padding:20px 0 0; }
.asnk-shop .asnk-breadcrumb ol{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; align-items:center; gap:8px;
  font-size:13px; color:var(--asnk-grey);
}
.asnk-shop .asnk-breadcrumb a{ text-decoration:none; color:var(--asnk-grey); transition:color .18s; }
.asnk-shop .asnk-breadcrumb a:hover{ color:var(--asnk-green); }
.asnk-shop .asnk-breadcrumb li[aria-current]{ color:var(--asnk-navy); font-weight:600; }
.asnk-shop .asnk-breadcrumb svg{ width:13px; height:13px; color:#C9C2B6; flex:none; }

/* =================================================================
   2 · BANDEAU ÉDITORIAL DE CATÉGORIE
   ================================================================= */
.asnk-shop .asnk-hero{ padding:22px 0 0; }
.asnk-shop .asnk-hero__card{
  position:relative; overflow:hidden;
  background:var(--asnk-navy);
  border-radius:var(--asnk-r-lg);
  display:grid; grid-template-columns:1fr; gap:0;
  isolation:isolate;
}
@media (min-width:880px){ .asnk-shop .asnk-hero__card{ grid-template-columns:1.15fr .85fr; } }
.asnk-shop .asnk-hero__card::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(120% 140% at 0% 0%, rgba(62,155,46,.30), transparent 52%),
    radial-gradient(90% 120% at 100% 100%, rgba(201,162,75,.18), transparent 60%);
}
.asnk-shop .asnk-hero__text{ position:relative; z-index:1; padding:44px 38px 40px; color:#fff; align-self:center; }
@media (min-width:880px){ .asnk-shop .asnk-hero__text{ padding:62px 52px; } }
.asnk-shop .asnk-hero__eyebrow{
  display:inline-flex; align-items:center; gap:8px; margin:0 0 16px;
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#9FE08C;
}
.asnk-shop .asnk-hero__eyebrow svg{ width:16px; height:16px; }
.asnk-shop .asnk-hero__title{
  font-family:var(--asnk-font-title); font-weight:700; line-height:1.08; letter-spacing:-.01em;
  font-size:clamp(30px,4.6vw,48px); margin:0 0 16px; text-wrap:balance;
}
.asnk-shop .asnk-hero__title em{ font-style:italic; color:#fff; }
.asnk-shop .asnk-hero__lead{ font-size:15.5px; line-height:1.68; color:rgba(255,255,255,.82); margin:0 0 22px; max-width:46ch; text-wrap:pretty; }
.asnk-shop .asnk-hero__points{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.asnk-shop .asnk-hero__points li{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  border-radius:var(--asnk-r-pill); padding:8px 14px; font-size:13px; font-weight:600; color:#fff;
}
.asnk-shop .asnk-hero__points svg{ width:15px; height:15px; color:#9FE08C; }
.asnk-shop .asnk-hero__media{ position:relative; z-index:1; min-height:220px; }
.asnk-shop .asnk-hero__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.asnk-shop .asnk-hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, var(--asnk-navy) 0%, transparent 22%, transparent 100%);
}
@media (max-width:879px){ .asnk-shop .asnk-hero__media{ min-height:200px; } }

/* =================================================================
   3 · BARRE FILTRES + TRI + RECHERCHE
   ================================================================= */
.asnk-shop .asnk-toolbar{
  position:sticky; top:62px; z-index:40;
  margin:26px 0 0; padding:14px 0;
  background:rgba(255,255,255,.92); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  border-top:1px solid var(--asnk-line); border-bottom:1px solid var(--asnk-line);
}
.asnk-shop .asnk-toolbar__in{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 18px; }

/* puces catégories */
.asnk-shop .asnk-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.asnk-shop .asnk-chip{
  display:inline-flex; align-items:center; gap:7px;
  background:#fff; color:var(--asnk-navy);
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-pill);
  padding:8px 15px; font-size:13.5px; font-weight:600;
  transition:border-color .16s var(--asnk-ease), background .16s, color .16s;
}
.asnk-shop .asnk-chip .n{ font-size:11px; font-weight:700; color:var(--asnk-grey); }
.asnk-shop .asnk-chip:hover{ border-color:var(--asnk-navy); }
.asnk-shop .asnk-chip[aria-pressed="true"]{ background:var(--asnk-navy); color:#fff; border-color:var(--asnk-navy); }
.asnk-shop .asnk-chip[aria-pressed="true"] .n{ color:rgba(255,255,255,.7); }

.asnk-shop .asnk-toolbar__spacer{ flex:1 1 20px; }

/* recherche */
.asnk-shop .asnk-search{
  position:relative; display:inline-flex; align-items:center;
  background:#fff; border:1px solid var(--asnk-line); border-radius:var(--asnk-r-pill);
  padding:0 14px; min-width:190px;
  transition:border-color .16s var(--asnk-ease), box-shadow .16s;
}
.asnk-shop .asnk-search:focus-within{ border-color:var(--asnk-navy); box-shadow:var(--asnk-shadow-sm); }
.asnk-shop .asnk-search svg{ width:17px; height:17px; color:var(--asnk-grey); flex:none; }
.asnk-shop .asnk-search input{
  border:0; outline:0; background:transparent; font-family:inherit; font-size:14px; color:var(--asnk-navy);
  padding:10px 8px; width:100%;
}
.asnk-shop .asnk-search input::placeholder{ color:#9AA1AB; }

/* tri */
.asnk-shop .asnk-sort{ position:relative; display:inline-flex; align-items:center; gap:8px; }
.asnk-shop .asnk-sort label{ font-size:13px; color:var(--asnk-grey); white-space:nowrap; }
.asnk-shop .asnk-sort__sel{ position:relative; }
.asnk-shop .asnk-sort select{
  appearance:none; -webkit-appearance:none;
  font-family:inherit; font-size:13.5px; font-weight:600; color:var(--asnk-navy);
  background:#fff; border:1px solid var(--asnk-line); border-radius:var(--asnk-r-pill);
  padding:9px 38px 9px 15px; cursor:pointer;
  transition:border-color .16s var(--asnk-ease);
}
.asnk-shop .asnk-sort select:hover{ border-color:var(--asnk-navy); }
.asnk-shop .asnk-sort__sel svg{ position:absolute; right:14px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--asnk-grey); pointer-events:none; }

/* ligne de résultats */
.asnk-shop .asnk-resultline{ display:flex; align-items:center; justify-content:space-between; gap:14px; margin:22px 0 18px; flex-wrap:wrap; }
.asnk-shop .asnk-resultline p{ margin:0; font-size:14px; color:var(--asnk-grey); }
.asnk-shop .asnk-resultline b{ color:var(--asnk-navy); font-weight:700; }
.asnk-shop .asnk-activefilter{
  display:inline-flex; align-items:center; gap:7px; font-size:13px; color:var(--asnk-navy);
  background:var(--asnk-mint); border:1px solid #DCEAD3; border-radius:var(--asnk-r-pill); padding:6px 12px;
}
.asnk-shop .asnk-activefilter button{ background:none; border:0; color:var(--asnk-green-700); font-size:15px; line-height:1; padding:0; }

/* =================================================================
   4 · GRILLE PRODUITS
   ================================================================= */
.asnk-shop .asnk-grid{ display:grid; grid-template-columns:repeat(1,1fr); gap:18px; }
@media (min-width:560px){ .asnk-shop .asnk-grid{ grid-template-columns:repeat(2,1fr); gap:24px; } }

.asnk-shop .asnk-card{
  position:relative; display:flex; flex-direction:column; background:#fff;
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-md); overflow:hidden;
  transition:transform .24s var(--asnk-ease), box-shadow .24s var(--asnk-ease), border-color .24s;
}
.asnk-shop .asnk-card:hover{ transform:translateY(-5px); box-shadow:var(--asnk-shadow-md); }
.asnk-shop .asnk-card[hidden]{ display:none; }

.asnk-shop .asnk-card__media{ position:relative; background:var(--asnk-cream); aspect-ratio:4/3; overflow:hidden; }
.asnk-shop .asnk-card__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:opacity .45s var(--asnk-ease), transform .6s var(--asnk-ease); }
.asnk-shop .asnk-card__media img.alt{ opacity:0; }
.asnk-shop .asnk-card:hover .asnk-card__media img.main{ opacity:0; }
.asnk-shop .asnk-card:hover .asnk-card__media img.alt{ opacity:1; transform:scale(1.04); }

.asnk-shop .asnk-card__flags{ position:absolute; top:12px; left:12px; z-index:2; display:flex; flex-direction:column; gap:7px; align-items:flex-start; }
.asnk-shop .asnk-flag{
  display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; letter-spacing:.02em;
  padding:5px 11px; border-radius:var(--asnk-r-pill);
}
.asnk-shop .asnk-flag--eco{ background:var(--asnk-green); color:#fff; box-shadow:0 3px 10px rgba(62,155,46,.3); }
.asnk-shop .asnk-flag--eco svg{ width:13px; height:13px; }
.asnk-shop .asnk-flag--fr{ background:rgba(255,255,255,.94); color:var(--asnk-navy); }

/* quick-add au survol */
.asnk-shop .asnk-quick{
  position:absolute; left:12px; right:12px; bottom:12px; z-index:2;
  display:flex; gap:8px;
  opacity:0; transform:translateY(10px); transition:opacity .22s var(--asnk-ease), transform .22s var(--asnk-ease);
}
.asnk-shop .asnk-card:hover .asnk-quick, .asnk-shop .asnk-card:focus-within .asnk-quick{ opacity:1; transform:translateY(0); }
.asnk-shop .asnk-quick__add{
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--asnk-navy); color:#fff; border:0; border-radius:var(--asnk-r-pill);
  padding:11px 14px; font-size:13.5px; font-weight:600; box-shadow:var(--asnk-shadow-md);
  transition:background .16s var(--asnk-ease);
}
.asnk-shop .asnk-quick__add svg{ width:16px; height:16px; }
.asnk-shop .asnk-quick__add:hover{ background:var(--asnk-green); }
.asnk-shop .asnk-quick__add.is-done{ background:var(--asnk-green); }

.asnk-shop .asnk-card__body{ padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.asnk-shop .asnk-card__cat{ font-size:11px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--asnk-green); margin:0 0 8px; }
.asnk-shop .asnk-card__title{ font-family:var(--asnk-font-title); font-weight:600; font-size:19px; line-height:1.24; margin:0 0 6px; color:var(--asnk-navy); }
.asnk-shop .asnk-card__title a{ text-decoration:none; }
.asnk-shop .asnk-card__title a:hover{ color:var(--asnk-green); }
.asnk-shop .asnk-card__desc{ font-size:13px; color:var(--asnk-grey); margin:0 0 12px; line-height:1.5; }

/* étoiles avis */
.asnk-shop .asnk-stars{ display:inline-flex; align-items:center; gap:6px; margin:0 0 16px; }
.asnk-shop .asnk-stars__ic{ display:inline-flex; gap:2px; color:var(--asnk-gold); }
.asnk-shop .asnk-stars__ic svg{ width:15px; height:15px; }
.asnk-shop .asnk-stars span{ font-size:12px; color:var(--asnk-grey); }

.asnk-shop .asnk-card__foot{ margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.asnk-shop .asnk-card__price{ display:flex; flex-direction:column; line-height:1.1; }
.asnk-shop .asnk-card__price b{ font-family:var(--asnk-font-title); font-weight:700; font-size:22px; color:var(--asnk-navy); }
.asnk-shop .asnk-card__price small{ font-size:11.5px; color:var(--asnk-grey); margin-top:3px; }
.asnk-shop .asnk-card__see{
  display:inline-flex; align-items:center; gap:6px; background:var(--asnk-cream); color:var(--asnk-navy);
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-pill); padding:10px 16px; font-size:13.5px; font-weight:600;
  text-decoration:none; transition:background .16s var(--asnk-ease), color .16s, border-color .16s;
}
.asnk-shop .asnk-card__see svg{ width:15px; height:15px; }
.asnk-shop .asnk-card__see:hover{ background:var(--asnk-navy); color:#fff; border-color:var(--asnk-navy); }

/* état vide (catégorie sans produit) */
.asnk-shop .asnk-empty{
  grid-column:1/-1; text-align:center; padding:56px 24px; border:1px dashed var(--asnk-line);
  border-radius:var(--asnk-r-lg); background:var(--asnk-cream); color:var(--asnk-grey);
}
.asnk-shop .asnk-empty svg{ width:38px; height:38px; color:#C9C2B6; margin-bottom:12px; }
.asnk-shop .asnk-empty h3{ font-family:var(--asnk-font-title); font-weight:600; font-size:21px; color:var(--asnk-navy); margin:0 0 6px; }
.asnk-shop .asnk-empty p{ margin:0; font-size:14.5px; }
.asnk-shop .asnk-empty[hidden]{ display:none; }

/* =================================================================
   5 · PAGINATION
   ================================================================= */
.asnk-shop .asnk-pager{ display:flex; align-items:center; justify-content:center; gap:8px; margin:42px 0 8px; }
.asnk-shop .asnk-pager a, .asnk-shop .asnk-pager span{
  min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-sm); background:#fff;
  font-size:14px; font-weight:600; color:var(--asnk-navy); text-decoration:none;
  transition:border-color .16s var(--asnk-ease), background .16s, color .16s;
}
.asnk-shop .asnk-pager a:hover{ border-color:var(--asnk-navy); }
.asnk-shop .asnk-pager .is-current{ background:var(--asnk-navy); color:#fff; border-color:var(--asnk-navy); }
.asnk-shop .asnk-pager .is-disabled{ opacity:.4; pointer-events:none; }
.asnk-shop .asnk-pager svg{ width:16px; height:16px; }

/* =================================================================
   6 · BANDEAU RÉASSURANCE BAS DE PAGE
   ================================================================= */
.asnk-shop .asnk-trust{
  margin:54px 0 80px; display:grid; grid-template-columns:1fr; gap:2px;
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-md); overflow:hidden;
}
@media (min-width:680px){ .asnk-shop .asnk-trust{ grid-template-columns:repeat(3,1fr); } }
.asnk-shop .asnk-trust__item{ display:flex; align-items:center; gap:12px; padding:18px 20px; background:#fff; }
@media (min-width:680px){ .asnk-shop .asnk-trust__item + .asnk-trust__item{ box-shadow:-1px 0 0 var(--asnk-line); } }
.asnk-shop .asnk-trust__item svg{ width:26px; height:26px; color:var(--asnk-gold); flex:none; }
.asnk-shop .asnk-trust__item b{ display:block; font-size:14px; font-weight:700; color:var(--asnk-navy); }
.asnk-shop .asnk-trust__item span{ display:block; font-size:12.5px; color:var(--asnk-grey); }

/* =================================================================
   MINI-PANIER (drawer) + animations (réutilisés de la fiche)
   ================================================================= */
.asnk-shop .asnk-overlay{ position:fixed; inset:0; background:rgba(22,36,63,.42); z-index:90; opacity:0; visibility:hidden; transition:opacity .3s var(--asnk-ease), visibility .3s; }
.asnk-shop .asnk-overlay.is-open{ opacity:1; visibility:visible; }
.asnk-shop .asnk-drawer{
  position:fixed; top:0; right:0; height:100%; width:min(410px,92vw); z-index:91; background:#fff;
  box-shadow:var(--asnk-shadow-lg); display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .42s var(--asnk-ease);
}
.asnk-shop .asnk-drawer.is-open{ transform:translateX(0); }
.asnk-shop .asnk-drawer__head{ display:flex; align-items:center; justify-content:space-between; padding:20px 22px; border-bottom:1px solid var(--asnk-line); }
.asnk-shop .asnk-drawer__head h3{ font-family:var(--asnk-font-title); font-weight:700; font-size:19px; margin:0; color:var(--asnk-navy); display:flex; align-items:center; gap:9px; }
.asnk-shop .asnk-drawer__head h3 svg{ width:20px; height:20px; color:var(--asnk-green); }
.asnk-shop .asnk-close{ width:38px; height:38px; border-radius:50%; border:1px solid var(--asnk-line); background:#fff; display:grid; place-items:center; color:var(--asnk-navy); transition:background .15s, border-color .15s; }
.asnk-shop .asnk-close:hover{ background:var(--asnk-cream); border-color:var(--asnk-navy); }
.asnk-shop .asnk-close svg{ width:18px; height:18px; }
.asnk-shop .asnk-drawer__body{ flex:1; overflow:auto; padding:8px 22px; }
.asnk-shop .asnk-drawer__empty{ text-align:center; color:var(--asnk-grey); font-size:14px; padding:50px 10px; }
.asnk-shop .asnk-li{ display:flex; gap:13px; padding:16px 0; border-bottom:1px solid var(--asnk-line-soft); }
.asnk-shop .asnk-li__img{ flex:none; width:62px; height:62px; border-radius:10px; overflow:hidden; background:var(--asnk-cream); border:1px solid var(--asnk-line); }
.asnk-shop .asnk-li__img img{ width:100%; height:100%; object-fit:cover; }
.asnk-shop .asnk-li__main{ flex:1; min-width:0; }
.asnk-shop .asnk-li__name{ font-size:13.5px; font-weight:600; color:var(--asnk-navy); margin:0 0 3px; line-height:1.3; }
.asnk-shop .asnk-li__meta{ font-size:12.5px; color:var(--asnk-grey); }
.asnk-shop .asnk-li__price{ font-weight:700; color:var(--asnk-navy); font-size:14px; white-space:nowrap; }
.asnk-shop .asnk-li__rm{ background:none; border:0; color:var(--asnk-grey); font-size:12px; padding:4px 0 0; text-decoration:underline; }
.asnk-shop .asnk-li__rm:hover{ color:var(--asnk-green); }
.asnk-shop .asnk-drawer__foot{ border-top:1px solid var(--asnk-line); padding:18px 22px 22px; }
.asnk-shop .asnk-subtotal{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:4px; }
.asnk-shop .asnk-subtotal b{ font-size:15px; color:var(--asnk-navy); }
.asnk-shop .asnk-subtotal strong{ font-family:var(--asnk-font-title); font-size:24px; color:var(--asnk-navy); }
.asnk-shop .asnk-drawer__note{ font-size:11.5px; color:var(--asnk-grey); margin:0 0 16px; }
.asnk-shop .asnk-drawer__cta{ display:flex; flex-direction:column; gap:9px; }
.asnk-shop .asnk-btn-primary{ width:100%; min-height:52px; background:var(--asnk-navy); color:#fff; border:0; border-radius:var(--asnk-r-md); font-size:15px; font-weight:600; transition:background .18s var(--asnk-ease); }
.asnk-shop .asnk-btn-primary:hover{ background:var(--asnk-navy-700); }
.asnk-shop .asnk-btn-ghost{ width:100%; min-height:48px; background:#fff; color:var(--asnk-navy); border:1px solid var(--asnk-line); border-radius:var(--asnk-r-md); font-size:14px; font-weight:600; transition:border-color .18s, background .18s; }
.asnk-shop .asnk-btn-ghost:hover{ border-color:var(--asnk-navy); background:var(--asnk-cream); }

.asnk-shop .asnk-fly{ position:fixed; z-index:120; border-radius:14px; overflow:hidden; pointer-events:none; box-shadow:var(--asnk-shadow-lg); transition:transform .85s cubic-bezier(.5,-0.2,.4,1), opacity .85s ease, width .85s var(--asnk-ease), height .85s var(--asnk-ease); }
.asnk-shop .asnk-fly img{ width:100%; height:100%; object-fit:cover; }

.asnk-shop .asnk-toast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,16px); z-index:130; background:var(--asnk-navy); color:#fff; padding:13px 20px; border-radius:var(--asnk-r-pill); font-size:14px; font-weight:600; box-shadow:var(--asnk-shadow-lg); display:flex; align-items:center; gap:9px; opacity:0; visibility:hidden; transition:opacity .3s var(--asnk-ease), transform .3s var(--asnk-ease), visibility .3s; }
.asnk-shop .asnk-toast.is-on{ opacity:1; visibility:visible; transform:translate(-50%,0); }
.asnk-shop .asnk-toast svg{ width:18px; height:18px; color:#7BD867; }

@media (prefers-reduced-motion:reduce){ .asnk-shop *{ animation:none !important; transition:none !important; } }
.asnk-shop .asnk-visually-hidden{ position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }

/* ── Offset header transparent du thème (page boutique hors Elementor) ── */
.asnk-shop{ padding-top:150px; }
@media (max-width:880px){ .asnk-shop{ padding-top:90px; } }

/* ── Hero/bannière pleine largeur (full-bleed) ── */
.asnk-shop .asnk-hero{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); padding:0; }
.asnk-shop .asnk-hero__card{ border-radius:0; }

/* Le thème force color sur les h1 → restaurer l'héritage du design (titre blanc sur fond navy) */
.asnk-shop .asnk-hero__title{ color:inherit; }

/* ===== Intégration WooCommerce dynamique ===== */
/* Chips = liens */
.asnk-shop .asnk-chip{ text-decoration:none; }
.asnk-shop .asnk-chip[aria-current]{ background:var(--asnk-navy); color:#fff; border-color:var(--asnk-navy); }
.asnk-shop .asnk-chip[aria-current] .n{ color:rgba(255,255,255,.7); }

/* Lien image (wrap des 2 visuels) */
.asnk-shop .asnk-card__imglink{ position:absolute; inset:0; display:block; z-index:1; }
.asnk-shop .asnk-card__media .asnk-card__imglink img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* Prix WooCommerce */
.asnk-shop .asnk-card__price{ display:flex; flex-direction:column; line-height:1.15; font-family:var(--asnk-font-title); font-weight:700; font-size:22px; color:var(--asnk-navy); }
.asnk-shop .asnk-card__price .woocommerce-Price-amount{ font-family:var(--asnk-font-title); font-weight:700; color:var(--asnk-navy); }
.asnk-shop .asnk-card__price del{ color:var(--asnk-grey); font-size:15px; font-weight:500; opacity:.8; }
.asnk-shop .asnk-card__price ins{ text-decoration:none; }

/* Pagination native WooCommerce -> style .asnk-pager */
.asnk-shop .woocommerce-pagination{ display:flex; align-items:center; justify-content:center; margin:42px 0 8px; }
.asnk-shop .woocommerce-pagination ul{ display:flex; gap:8px; list-style:none; margin:0; padding:0; border:0; }
.asnk-shop .woocommerce-pagination ul li{ border:0; margin:0; }
.asnk-shop .woocommerce-pagination a, .asnk-shop .woocommerce-pagination span{
  min-width:42px; height:42px; padding:0 12px; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--asnk-line); border-radius:var(--asnk-r-sm); background:#fff;
  font-size:14px; font-weight:600; color:var(--asnk-navy); text-decoration:none;
}
.asnk-shop .woocommerce-pagination a:hover{ border-color:var(--asnk-navy); }
.asnk-shop .woocommerce-pagination .current{ background:var(--asnk-navy); color:#fff; border-color:var(--asnk-navy); }

/* Mini-panier WooCommerce dans le drawer */
.asnk-shop .asnk-drawer__body ul.woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.asnk-shop .asnk-drawer__body li.woocommerce-mini-cart-item{ display:flex; gap:12px; align-items:flex-start; padding:16px 30px 16px 0; border-bottom:1px solid var(--asnk-line-soft); position:relative; }
.asnk-shop .asnk-drawer__body li.woocommerce-mini-cart-item a img{ width:58px; height:58px; object-fit:cover; border-radius:10px; border:1px solid var(--asnk-line); float:none; margin:0; }
.asnk-shop .asnk-drawer__body li.woocommerce-mini-cart-item a:not(.remove){ font-size:13.5px; font-weight:600; color:var(--asnk-navy); text-decoration:none; display:block; }
.asnk-shop .asnk-drawer__body .woocommerce-mini-cart-item .quantity{ font-size:12.5px; color:var(--asnk-grey); display:block; margin-top:3px; }
.asnk-shop .asnk-drawer__body a.remove{ position:absolute; top:14px; right:0; width:22px; height:22px; line-height:20px; text-align:center; border-radius:50%; color:var(--asnk-grey)!important; font-size:16px; border:1px solid var(--asnk-line); }
.asnk-shop .asnk-drawer__body a.remove:hover{ color:var(--asnk-green)!important; border-color:var(--asnk-green); background:#fff; }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__total{ display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--asnk-line); padding-top:16px; margin:16px 0 10px; font-size:15px; color:var(--asnk-navy); }
.asnk-shop .asnk-drawer__body .woocommerce-mini-cart__total .woocommerce-Price-amount{ font-family:var(--asnk-font-title); font-size:22px; color:var(--asnk-navy); }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:9px; margin:8px 0 0; }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__buttons a{ width:100%; text-align:center; border-radius:var(--asnk-r-md); padding:14px; font-size:14px; font-weight:600; text-decoration:none; min-height:auto; }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__buttons a.button:not(.checkout){ background:#fff; color:var(--asnk-navy); border:1px solid var(--asnk-line); }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__buttons a.checkout{ background:var(--asnk-navy); color:#fff; }
.asnk-shop .asnk-drawer__body p.woocommerce-mini-cart__empty-message{ text-align:center; color:var(--asnk-grey); padding:50px 10px; margin:0; }

/* ===== Mini-panier : règles robustes ancrées sur .asnk-drawer (indépendant du wrapper de fragment) ===== */
.asnk-shop .asnk-drawer ul.woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.asnk-shop .asnk-drawer li.woocommerce-mini-cart-item{ position:relative; padding:16px 28px 16px 72px; min-height:78px; border-bottom:1px solid var(--asnk-line-soft); }
.asnk-shop .asnk-drawer li.woocommerce-mini-cart-item img{ position:absolute!important; left:0; top:16px; width:56px!important; height:56px!important; object-fit:cover; border-radius:10px; border:1px solid var(--asnk-line); float:none!important; margin:0!important; }
.asnk-shop .asnk-drawer li.woocommerce-mini-cart-item a:not(.remove){ font-size:13.5px; font-weight:600; color:var(--asnk-navy); text-decoration:none; line-height:1.3; }
.asnk-shop .asnk-drawer .woocommerce-mini-cart-item .quantity{ display:block; font-size:12.5px; color:var(--asnk-grey); margin-top:5px; }
.asnk-shop .asnk-drawer a.remove{ position:absolute!important; top:16px; right:0; left:auto!important; width:22px; height:22px; line-height:20px!important; text-align:center; border-radius:50%; color:var(--asnk-grey)!important; font-size:15px; border:1px solid var(--asnk-line); background:#fff!important; float:none!important; text-decoration:none!important; }
.asnk-shop .asnk-drawer a.remove:hover{ color:var(--asnk-green)!important; border-color:var(--asnk-green); }
.asnk-shop .asnk-drawer p.woocommerce-mini-cart__total{ display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--asnk-line); padding-top:16px; margin:16px 0 10px; font-size:15px; color:var(--asnk-navy); }
.asnk-shop .asnk-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount{ font-family:var(--asnk-font-title); font-size:22px; color:var(--asnk-navy); }
.asnk-shop .asnk-drawer p.woocommerce-mini-cart__buttons{ display:flex; flex-direction:column; gap:9px; margin:8px 0 0; }
.asnk-shop .asnk-drawer p.woocommerce-mini-cart__buttons a{ width:100%; text-align:center; border-radius:var(--asnk-r-md); padding:14px; font-size:14px; font-weight:600; text-decoration:none; }
.asnk-shop .asnk-drawer p.woocommerce-mini-cart__buttons a.button:not(.checkout){ background:#fff; color:var(--asnk-navy); border:1px solid var(--asnk-line); }
.asnk-shop .asnk-drawer p.woocommerce-mini-cart__buttons a.checkout{ background:var(--asnk-navy); color:#fff; }
.asnk-shop .asnk-drawer .woocommerce-mini-cart__empty-message{ text-align:center; color:var(--asnk-grey); padding:50px 10px; }
