/* ════════════════════════════════════════════════════════════════════
   HEADER PAVIOT V3 — tout est préfixé .pv- et encapsulé sous
   .pv-header-root pour ne jamais entrer en conflit avec Astra.
   ════════════════════════════════════════════════════════════════════ */

.pv-header-root{
  /* — Charte — */
  --pv-blue:#1E4281;
  --pv-blue-700:#173463;
  --pv-blue-900:#0F2244;
  --pv-blue-050:#EEF3FB;
  --pv-grey-050:#F2F3F5;  /* fond de la pastille de recherche */
  --pv-grey-100:#E6E8EC;  /* son filet */
  --pv-green:#3D8B62;
  --pv-green-050:#EAF4EE;
  --pv-ink:#16233A;
  --pv-ink-60:#5A6478;
  --pv-line:#E4E8EF;
  --pv-paper:#FFFFFF;
  --pv-paper-2:#F8F9FC;

  /* — Nuancier Paviot : bleu → vert, une teinte par gamme — */
  --pv-c1:#1E4281; --pv-c2:#23538A; --pv-c3:#27668B; --pv-c4:#2A7883;
  --pv-c5:#2F8676; --pv-c6:#359067; --pv-c7:#3D9459; --pv-c8:#4A9A4E;

  --pv-h:92px;          /* hauteur barre principale */
  --pv-h-compact:70px;  /* hauteur une fois scrollé */
  --pv-topbar-h:38px;   /* hauteur barre d'annonce */
  --pv-max:1320px;
  --pv-radius:12px;
  --pv-shadow:0 20px 44px -22px rgba(15,34,68,.30);
  --pv-ease:cubic-bezier(.4,0,.2,1);

  font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  color:var(--pv-ink);
  /* La barre d'annonce défile, la barre principale reste collée en haut.
     (Astra : si la barre d'admin WP est active, ajoutez +32px au calc.) */
  position:sticky;
  top:calc(-1 * var(--pv-topbar-h));
  z-index:900;
}
/* Conteneur animé (masquage au défilement). Le voile et le tiroir restent
   en dehors : un ancêtre transformé casserait leur position:fixed. */
.pv-sticky{
  position:relative;z-index:10;
  background:var(--pv-paper);
  transition:transform .38s var(--pv-ease);
  /* Pas de will-change ici : un ancêtre « composité » deviendrait le bloc
     conteneur des enfants position:fixed (recherche plein écran mobile). */
}
.pv-header-root.is-hidden .pv-sticky{transform:translateY(-102%);}
.pv-header-root *,
.pv-header-root *::before,
.pv-header-root *::after{box-sizing:border-box;}
.pv-header-root button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
.pv-header-root button,
.pv-header-root a{
  touch-action:manipulation;                 /* supprime le délai de 300 ms */
  -webkit-tap-highlight-color:transparent;
}
/* Variantes de texte courtes pour la barre d'annonce sur mobile */
.pv-short{display:none;}
@media (max-width:1023px){
  .pv-long{display:none;}
  .pv-short{display:inline;}
}
.pv-header-root a{color:inherit;text-decoration:none;}
.pv-header-root ul{list-style:none;margin:0;padding:0;}
.pv-header-root img{display:block;max-width:100%;}

/* Focus clavier visible partout */
.pv-header-root :focus-visible{
  outline:2px solid var(--pv-green);
  outline-offset:3px;
  border-radius:6px;
}

/* — Lien d'évitement — */
.pv-skip{
  position:absolute;left:12px;top:-60px;z-index:20;
  background:var(--pv-blue);color:#fff;padding:10px 16px;border-radius:8px;
  font-weight:600;font-size:.875rem;transition:top .2s var(--pv-ease);
}
.pv-skip:focus{top:12px;}

/* ─────────────────────────  BARRE D'ANNONCE  ───────────────────────── */
.pv-topbar{
  /* Une teinte par message, prise dans le nuancier maison. Le fond suit la rotation. */
  --pv-topbar-bg:var(--pv-blue);
  background:var(--pv-topbar-bg);
  transition:background-color .55s var(--pv-ease);
  color:#fff;
  font-size:.8125rem;
  line-height:1.2;
  height:38px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.pv-topbar__stage{
  position:relative;
  width:100%;max-width:var(--pv-max);
  height:100%;
  padding:0 clamp(16px,4vw,32px);
  display:flex;align-items:center;justify-content:center;
}
.pv-topbar[data-msg="0"]{--pv-topbar-bg:#1E4281;}   /* bleu Paviot   — livraison */
.pv-topbar[data-msg="1"]{--pv-topbar-bg:#2A7883;}   /* bleu-vert     — fabricant */
.pv-topbar[data-msg="2"]{--pv-topbar-bg:#2D7A55;}   /* vert profond  — service client */
.pv-topbar__msg{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;gap:9px;
  padding:0 16px;
  text-align:center;
  opacity:0;transform:translateY(8px);
  transition:opacity .45s var(--pv-ease),transform .45s var(--pv-ease);
  pointer-events:none;
  margin:0 auto;
}
.pv-topbar__msg.is-active{opacity:1;transform:none;pointer-events:auto;}
.pv-topbar__msg svg{flex:none;opacity:.85;}
.pv-topbar__msg .pv-flag{opacity:1;}
.pv-topbar__msg strong{font-weight:600;}
.pv-topbar__msg a{text-decoration:underline;text-underline-offset:3px;}

/* ─────────────────────────  BARRE PRINCIPALE  ──────────────────────── */
.pv-header{
  position:relative;
  background:var(--pv-paper);
  border-bottom:1px solid var(--pv-line);
  transition:box-shadow .3s var(--pv-ease);
}
.pv-header-root.is-scrolled .pv-header{box-shadow:0 6px 24px -14px rgba(15,34,68,.35);}

/* Filet nuancier : signature Paviot */
.pv-header::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:linear-gradient(90deg,var(--pv-c1),var(--pv-c3),var(--pv-c5),var(--pv-c7),var(--pv-c8));
  transform:scaleX(0);transform-origin:left;
  transition:transform .55s var(--pv-ease);
}
.pv-header-root.is-mega-open .pv-header::after,
.pv-header-root.is-search-open .pv-header::after{transform:scaleX(1);}

.pv-bar{
  max-width:var(--pv-max);margin:0 auto;
  padding:0 clamp(16px,4vw,32px);
  height:var(--pv-h);
  display:flex;align-items:center;gap:clamp(16px,2.5vw,36px);
  transition:height .3s var(--pv-ease);
}
.pv-header-root.is-scrolled .pv-bar{height:var(--pv-h-compact);}

.pv-logo{flex:none;display:flex;align-items:center;}
.pv-logo img{height:62px;width:auto;transition:height .3s var(--pv-ease);}
.pv-header-root.is-scrolled .pv-logo img{height:44px;}
.pv-logo__fallback{
  font-size:1.5rem;font-weight:700;color:var(--pv-blue);
  letter-spacing:-.02em;white-space:nowrap;
}

/* — Navigation — */
.pv-nav{flex:1 1 auto;min-width:0;}
.pv-nav__list{display:flex;align-items:center;gap:clamp(4px,1.4vw,18px);}
.pv-nav__link{
  display:inline-flex;align-items:center;gap:6px;
  padding:10px 10px;border-radius:8px;
  font-size:.9375rem;font-weight:600;letter-spacing:-.01em;
  white-space:nowrap;position:relative;
  transition:color .2s var(--pv-ease);
}
.pv-nav__link::after{
  content:"";position:absolute;left:10px;right:10px;bottom:2px;height:2px;
  background:var(--pv-blue);border-radius:2px;
  transform:scaleX(0);transform-origin:center;
  transition:transform .28s var(--pv-ease);
}
.pv-nav__link:hover{color:var(--pv-blue);}
.pv-nav__link:hover::after,
.pv-nav__item.is-open .pv-nav__link::after{transform:scaleX(1);}
.pv-nav__item.is-open .pv-nav__link{color:var(--pv-blue);}
.pv-nav__link .pv-chev{transition:transform .28s var(--pv-ease);opacity:.55;}
.pv-nav__item.is-open .pv-chev{transform:rotate(180deg);opacity:1;}

/* Lien « Personnalisez » mis en avant */
.pv-nav__link--accent{color:var(--pv-green);}
.pv-nav__link--accent::after{background:var(--pv-green);}
.pv-nav__link--accent:hover{color:var(--pv-green);}

/* — Actions — */
.pv-actions{flex:none;display:flex;align-items:center;gap:2px;}
.pv-act{
  position:relative;
  width:42px;height:42px;border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .2s var(--pv-ease),color .2s var(--pv-ease);
}
.pv-act:hover{background:var(--pv-blue-050);color:var(--pv-blue);}
.pv-act__badge{
  position:absolute;top:4px;right:4px;
  min-width:17px;height:17px;padding:0 4px;
  border-radius:9px;background:var(--pv-green);color:#fff;
  font-size:.6875rem;font-weight:700;line-height:17px;text-align:center;
  border:2px solid var(--pv-paper);
}
.pv-act--cart .pv-act__badge{background:var(--pv-blue);}

/* Recherche : pastille explicite plutôt qu'une icône seule */
.pv-act--search{
  width:auto;height:42px;padding:0 20px 0 10px !important;gap:9px;
  margin-right:8px;border-radius:999px;
  background:var(--pv-grey-050);
  border:1px solid var(--pv-grey-100);
  color:var(--pv-blue);
  font-size:.875rem;font-weight:500;letter-spacing:-.005em;
  transition:background .2s var(--pv-ease),border-color .2s var(--pv-ease),
             box-shadow .2s var(--pv-ease),color .2s var(--pv-ease),height .3s var(--pv-ease);
}
.pv-act--search:hover{
  background:var(--pv-paper);border-color:var(--pv-blue);color:var(--pv-blue);
  box-shadow:0 1px 2px rgba(30,66,129,.10),0 4px 12px rgba(30,66,129,.10);
}
.pv-act--search svg{transition:transform .25s var(--pv-ease);}
.pv-act--search:hover svg{transform:scale(1.08) rotate(-6deg);}
.pv-act__label{white-space:nowrap;}
.pv-header-root.is-scrolled .pv-act--search{height:38px;}
.pv-header-root.is-search-open .pv-act--search{
  background:var(--pv-blue);border-color:var(--pv-blue);color:#fff;
}
@media (max-width:1279px){
  .pv-act--search{width:42px;padding:0;gap:0;margin-right:4px;border-radius:12px;}
  .pv-act__label{display:none;}
}

.pv-burger{display:none;}

/* ─────────────────────────  MEGA MENU  ─────────────────────────────── */
.pv-megawrap{
  position:absolute;left:0;right:0;top:100%;
  background:var(--pv-paper);
  border-bottom:1px solid var(--pv-line);
  box-shadow:var(--pv-shadow);
  opacity:0;visibility:hidden;
  transform:translateY(-10px);
  transition:opacity .24s var(--pv-ease),transform .28s var(--pv-ease),visibility 0s .3s;
}
.pv-header-root.is-mega-open .pv-megawrap{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .24s var(--pv-ease),transform .28s var(--pv-ease),visibility 0s;
}
.pv-mega[hidden]{display:none;}
.pv-mega{
  max-width:var(--pv-max);margin:0 auto;
  padding:28px clamp(16px,4vw,32px) 0;
  animation:pv-fade .28s var(--pv-ease) both;
}
@keyframes pv-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}

/* Pied de mega */
.pv-mega__foot{
  margin-top:24px;
  border-top:1px solid var(--pv-line);
  padding:14px 0 18px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-size:.875rem;color:var(--pv-ink-60);
}
.pv-mega__foot strong{color:var(--pv-ink);font-weight:600;}
.pv-cta{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 18px;border-radius:999px;
  background:var(--pv-blue);color:#fff !important;font-weight:600;font-size:.875rem;
  transition:background .2s var(--pv-ease),transform .2s var(--pv-ease);
}
.pv-cta:hover{background:var(--pv-blue-700);transform:translateX(2px);}
.pv-cta--ghost{background:transparent;color:var(--pv-blue) !important;border:1px solid var(--pv-line);}
.pv-cta--ghost:hover{background:var(--pv-blue-050);}

/* — Mega « Tous nos produits » : rail + panneau — */
.pv-shop{display:grid;grid-template-columns:296px minmax(0,1fr);gap:clamp(20px,3vw,44px);}
.pv-eyebrow{
  font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;
  color:var(--pv-ink-60);margin:0 0 12px;
}
.pv-rail{display:flex;flex-direction:column;gap:2px;}
.pv-rail__btn{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:9px 12px;border-radius:10px;text-align:left;
  font-size:.9375rem;font-weight:500;
  transition:background .18s var(--pv-ease),color .18s var(--pv-ease);
}
.pv-rail__btn:hover{background:var(--pv-paper-2);}
.pv-rail__btn.is-active{background:var(--pv-blue-050);color:var(--pv-blue);font-weight:600;}
.pv-rail__chip{
  flex:none;width:4px;height:26px;border-radius:2px;
  background:var(--pv-cat);opacity:.28;transition:opacity .2s var(--pv-ease);
}
.pv-rail__btn.is-active .pv-rail__chip{opacity:1;}
.pv-rail__thumb{
  flex:none;width:34px;height:34px;border-radius:8px;object-fit:cover;
  background:var(--pv-paper-2);
}
.pv-rail__btn span{flex:1 1 auto;min-width:0;}
.pv-rail__btn .pv-chev{opacity:0;transform:translateX(-4px);transition:.2s var(--pv-ease);}
.pv-rail__btn.is-active .pv-chev{opacity:.6;transform:none;}

.pv-pane[hidden]{display:none;}
.pv-pane{
  display:grid;grid-template-columns:minmax(0,1fr) 268px;gap:clamp(20px,3vw,40px);
  padding-left:clamp(20px,3vw,40px);
  border-left:2px solid var(--pv-cat);
  animation:pv-fade .22s var(--pv-ease) both;
}
.pv-pane__title{
  font-size:1.3125rem;font-weight:700;letter-spacing:-.02em;
  margin:0 0 5px;color:var(--pv-blue-900);
}
.pv-pane__desc{margin:0 0 18px;font-size:.875rem;color:var(--pv-ink-60);max-width:52ch;}
.pv-links{columns:2;column-gap:28px;}
.pv-links li{break-inside:avoid;margin-bottom:2px;}
.pv-links a{
  display:block;padding:7px 10px;margin-left:-10px;border-radius:8px;
  font-size:.9375rem;color:var(--pv-ink);
  transition:background .16s var(--pv-ease),color .16s var(--pv-ease);
}
.pv-links a:hover{background:var(--pv-paper-2);color:var(--pv-cat);}
.pv-pane__all{
  display:inline-flex;align-items:center;gap:7px;margin-top:16px;
  font-size:.875rem;font-weight:600;color:var(--pv-cat);
}
.pv-pane__all svg{transition:transform .2s var(--pv-ease);}
.pv-pane__all:hover svg{transform:translateX(3px);}

.pv-feature{
  border:1px solid var(--pv-line);border-radius:var(--pv-radius);
  overflow:hidden;background:var(--pv-paper-2);
  align-self:start;
  transition:border-color .2s var(--pv-ease),transform .2s var(--pv-ease);
}
.pv-feature:hover{border-color:var(--pv-cat);transform:translateY(-2px);}
.pv-feature img{width:100%;height:150px;object-fit:cover;background:var(--pv-blue-050);}
.pv-feature__body{padding:14px 16px 16px;}
.pv-feature__tag{
  display:inline-block;margin-bottom:7px;padding:3px 9px;border-radius:999px;
  background:var(--pv-cat);color:#fff;
  font-size:.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.pv-feature__body p{margin:0;font-size:.8125rem;color:var(--pv-ink-60);line-height:1.5;}
.pv-feature__body h4{margin:0 0 5px;font-size:.9375rem;font-weight:600;}

/* — Mega « Votre métier » / « À propos » : grille de cartes — */
.pv-grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr));}
.pv-grid--about{grid-template-columns:repeat(4,minmax(0,1fr));}
.pv-card{
  display:flex;align-items:center;gap:14px;
  padding:12px;border:1px solid var(--pv-line);border-radius:var(--pv-radius);
  background:var(--pv-paper);
  transition:border-color .2s var(--pv-ease),background .2s var(--pv-ease),transform .2s var(--pv-ease);
}
.pv-card:hover{border-color:var(--pv-cat);background:var(--pv-paper-2);transform:translateY(-2px);}
.pv-card img{flex:none;width:56px;height:56px;border-radius:10px;object-fit:cover;background:var(--pv-blue-050);}
.pv-card > span{display:block;min-width:0;}
.pv-card__t{display:block;font-size:.9375rem;font-weight:600;line-height:1.3;}
.pv-card__s{display:block;font-size:.8125rem;color:var(--pv-ink-60);margin-top:2px;line-height:1.4;}
.pv-card--tall{flex-direction:column;align-items:stretch;gap:10px;padding:0;overflow:hidden;}
.pv-card--tall img{width:100%;height:132px;border-radius:0;}
.pv-card--tall .pv-card__body{display:block;padding:0 14px 14px;}

.pv-about{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(20px,3vw,40px);}
.pv-about__links a{
  display:flex;align-items:center;gap:10px;
  padding:11px 12px;border-radius:10px;font-size:.9375rem;font-weight:500;
  transition:background .18s var(--pv-ease),color .18s var(--pv-ease);
}
.pv-about__links a:hover{background:var(--pv-paper-2);color:var(--pv-blue);}
.pv-about__links svg{opacity:.45;}

/* ─────────────────────────  RECHERCHE  ─────────────────────────────── */
.pv-search{
  position:absolute;left:0;right:0;top:100%;
  background:var(--pv-paper);border-bottom:1px solid var(--pv-line);
  box-shadow:var(--pv-shadow);
  opacity:0;visibility:hidden;transform:translateY(-10px);
  transition:opacity .22s var(--pv-ease),transform .26s var(--pv-ease),visibility 0s .28s;
}
.pv-header-root.is-search-open .pv-search{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .22s var(--pv-ease),transform .26s var(--pv-ease),visibility 0s;
}
.pv-search__inner{max-width:860px;margin:0 auto;padding:26px clamp(16px,4vw,32px) 28px;}
.pv-search__field{
  display:flex;align-items:center;gap:12px;
  border:1.5px solid var(--pv-line);border-radius:999px;
  padding:0 8px 0 18px;height:54px;
  transition:border-color .2s var(--pv-ease),box-shadow .2s var(--pv-ease);
}
.pv-search__field:focus-within{border-color:var(--pv-blue);box-shadow:0 0 0 4px var(--pv-blue-050);}
.pv-search__field input{
  flex:1 1 auto;min-width:0;border:0;outline:0;background:none;
  font:inherit;font-size:1rem;color:var(--pv-ink);
}
.pv-search__field input::placeholder{color:#98A1B3;}
.pv-search__submit{
  flex:none;height:40px;padding:0 20px;border-radius:999px;
  background:var(--pv-blue) !important;color:#fff !important;font-weight:600;font-size:.875rem;
  transition:background .2s var(--pv-ease);
}
.pv-search__submit:hover{background:var(--pv-blue-700) !important;}
.pv-search__hint{margin:18px 0 9px;font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--pv-ink-60);}
.pv-chips{display:flex;flex-wrap:wrap;gap:8px;}
.pv-chip{
  padding:7px 14px;border:1px solid var(--pv-line);border-radius:999px;
  font-size:.8125rem;font-weight:500;
  transition:border-color .18s var(--pv-ease),background .18s var(--pv-ease),color .18s var(--pv-ease);
}
.pv-chip:hover{border-color:var(--pv-blue);background:var(--pv-blue-050);color:var(--pv-blue);}


/* ───────────────  APERÇU PANIER / FAVORIS AU SURVOL  ───────────────── */
.pv-actwrap{position:relative;display:flex;}
.pv-pop{
  position:absolute;top:calc(100% + 12px);right:0;
  width:352px;max-width:calc(100vw - 24px);
  background:var(--pv-paper);
  border:1px solid var(--pv-line);border-radius:14px;
  box-shadow:var(--pv-shadow);
  opacity:0;visibility:hidden;transform:translateY(-8px) scale(.985);
  transform-origin:top right;
  transition:opacity .2s var(--pv-ease),transform .22s var(--pv-ease),visibility 0s .24s;
  z-index:12;
}
.pv-actwrap.is-open .pv-pop{
  opacity:1;visibility:visible;transform:none;
  transition:opacity .2s var(--pv-ease),transform .22s var(--pv-ease),visibility 0s;
}
/* Zone tampon invisible : le curseur peut traverser l'espace bouton → panneau */
.pv-pop::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px;}
.pv-pop::after{
  content:"";position:absolute;top:-6px;right:16px;width:11px;height:11px;
  background:var(--pv-paper);border-left:1px solid var(--pv-line);border-top:1px solid var(--pv-line);
  transform:rotate(45deg);border-radius:2px 0 0 0;
}
.pv-pop__head{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  padding:14px 16px 10px;border-bottom:1px solid var(--pv-line);
}
.pv-pop__head strong{font-size:.9375rem;font-weight:600;}
.pv-pop__head span{font-size:.8125rem;color:var(--pv-ink-60);}
.pv-pop__list{max-height:296px;overflow-y:auto;overscroll-behavior:contain;padding:6px;}
.pv-pop__item{
  display:flex;align-items:center;gap:12px;
  padding:8px;border-radius:10px;
  transition:background .16s var(--pv-ease);
}
.pv-pop__item:hover{background:var(--pv-paper-2);}
.pv-pop__item img{
  flex:none;width:52px;height:52px;border-radius:9px;object-fit:cover;
  background:var(--pv-blue-050);border:1px solid var(--pv-line);
}
.pv-pop__body{flex:1 1 auto;min-width:0;}
.pv-pop__name{
  display:block;font-size:.875rem;font-weight:500;line-height:1.35;color:var(--pv-ink);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.pv-pop__meta{display:block;margin-top:3px;font-size:.8125rem;color:var(--pv-ink-60);}
.pv-pop__meta b{color:var(--pv-blue);font-weight:600;}
.pv-pop__rm{
  flex:none;width:30px;height:30px;border-radius:8px;color:var(--pv-ink-60);
  display:inline-flex;align-items:center;justify-content:center;
  opacity:0;transition:opacity .16s var(--pv-ease),background .16s var(--pv-ease);
}
.pv-pop__item:hover .pv-pop__rm,.pv-pop__rm:focus-visible{opacity:1;}
.pv-pop__rm:hover{background:var(--pv-blue-050);color:var(--pv-blue);}
.pv-pop__more{
  padding:4px 14px 10px;font-size:.8125rem;color:var(--pv-ink-60);
}
.pv-pop__foot{border-top:1px solid var(--pv-line);padding:12px 16px 14px;}
.pv-pop__total{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:11px;font-size:.875rem;color:var(--pv-ink-60);
}
.pv-pop__total strong{font-size:1.0625rem;font-weight:600;color:var(--pv-ink);}
.pv-pop__actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pv-pop__actions .pv-cta{justify-content:center;padding:10px 12px;border-radius:10px;}
.pv-pop__empty{padding:30px 20px 26px;text-align:center;}
.pv-pop__empty svg{opacity:.28;margin-bottom:10px;}
.pv-pop__empty p{margin:0 0 14px;font-size:.875rem;color:var(--pv-ink-60);}
.pv-pop__hint{
  display:block;margin-top:9px;font-size:.75rem;color:var(--pv-ink-60);text-align:center;
}

/* ───────────────  SUGGESTIONS DE RECHERCHE  ────────────────────────── */
.pv-suggest{margin-top:16px;}
.pv-suggest[hidden]{display:none;}
.pv-sgroup{margin-bottom:6px;}
.pv-sgroup__t{
  padding:8px 10px 4px;font-size:.6875rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pv-ink-60);
}
.pv-sopt{
  display:flex;align-items:center;gap:12px;width:100%;
  padding:9px 10px;border-radius:10px;text-align:left;
  transition:background .14s var(--pv-ease);
}
.pv-sopt img{flex:none;width:40px;height:40px;border-radius:8px;object-fit:cover;background:var(--pv-blue-050);}
.pv-sopt__ic{
  flex:none;width:40px;height:40px;border-radius:8px;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--pv-blue-050);color:var(--pv-blue);
}
.pv-sopt__b{flex:1 1 auto;min-width:0;}
.pv-sopt__l{display:block;font-size:.9375rem;line-height:1.35;color:var(--pv-ink);}
.pv-sopt__l mark{background:transparent;color:var(--pv-blue);font-weight:700;padding:0;}
.pv-sopt__s{display:block;font-size:.75rem;color:var(--pv-ink-60);margin-top:1px;}
.pv-sopt svg.pv-go{flex:none;opacity:.35;}
.pv-sopt:hover,.pv-sopt.is-active{background:var(--pv-blue-050);}
.pv-sopt.is-active{outline:none;}
.pv-sall{
  display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;
  margin-top:6px;padding:12px 14px;border-radius:10px;
  background:var(--pv-paper-2);border:1px solid var(--pv-line);
  font-size:.875rem;font-weight:600;color:var(--pv-blue);text-align:left;
}
.pv-sall:hover,.pv-sall.is-active{background:var(--pv-blue-050);border-color:var(--pv-blue);}
.pv-snone{padding:26px 12px;text-align:center;font-size:.875rem;color:var(--pv-ink-60);}
.pv-snone b{color:var(--pv-ink);}
.pv-sload{
  display:block;width:16px;height:16px;margin:14px auto;
  border:2px solid var(--pv-line);border-top-color:var(--pv-blue);border-radius:50%;
  animation:pv-spin .7s linear infinite;
}
@keyframes pv-spin{to{transform:rotate(360deg);}}

/* ─────────────────────────  VOILE  ─────────────────────────────────── */
.pv-scrim{
  position:fixed;inset:0;z-index:5;
  background:rgba(15,34,68,.34);
  opacity:0;visibility:hidden;
  transition:opacity .28s var(--pv-ease),visibility 0s .3s;
}
.pv-header-root.is-mega-open .pv-scrim,
.pv-header-root.is-search-open .pv-scrim,
.pv-header-root.is-drawer-open .pv-scrim{
  opacity:1;visibility:visible;transition:opacity .28s var(--pv-ease),visibility 0s;
}

/* ─────────────────────────  MOBILE : TIROIR MULTI-NIVEAUX  ─────────── */
.pv-drawer{
  position:fixed;top:0;left:0;
  z-index:20;
  width:min(420px,100%);
  height:100dvh;                    /* évite le saut de la barre d'URL iOS/Android */
  background:var(--pv-paper);
  display:flex;flex-direction:column;
  padding-left:env(safe-area-inset-left);
  transform:translate3d(-100%,0,0);visibility:hidden;
  transition:transform .34s var(--pv-ease),visibility 0s .34s;
  box-shadow:0 0 60px rgba(15,34,68,.22);
}
.pv-header-root.is-drawer-open .pv-drawer{
  transform:translate3d(0,0,0);visibility:visible;transition:transform .34s var(--pv-ease),visibility 0s;
}
.pv-drawer.is-dragging{transition:none;}

.pv-drawer__head{
  flex:none;display:flex;align-items:center;justify-content:space-between;gap:10px;
  height:var(--pv-h);padding:0 8px 0 16px;border-bottom:1px solid var(--pv-line);
}
.pv-drawer__title{
  display:flex;align-items:center;gap:6px;min-width:0;
  font-size:1rem;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pv-drawer__back{
  width:44px;height:44px;flex:none;margin-left:-8px;
  display:none;align-items:center;justify-content:center;border-radius:10px;
}
.pv-drawer.has-back .pv-drawer__back{display:inline-flex;}
.pv-drawer.has-back .pv-drawer__logo{display:none;}
.pv-drawer__logo img{height:42px;width:auto;}

/* Recherche intégrée au tiroir : le geste n°1 sur mobile */
.pv-drawer__search{flex:none;padding:12px 16px;border-bottom:1px solid var(--pv-line);}
.pv-drawer__search button{
  display:flex;align-items:center;gap:10px;width:100%;height:46px;
  padding:0 16px;border-radius:999px;background:var(--pv-paper-2);
  border:1px solid var(--pv-line);
  font-size:.9375rem;color:#98A1B3;text-align:left;
}
.pv-drawer__search svg{flex:none;opacity:.6;color:var(--pv-ink);}

/* Pile de panneaux glissants */
.pv-stack{position:relative;flex:1 1 auto;overflow:hidden;}
.pv-mpanel{
  position:absolute;inset:0;
  overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  padding:8px 8px calc(20px + env(safe-area-inset-bottom));
  background:var(--pv-paper);
  transform:translate3d(100%,0,0);
  transition:transform .32s var(--pv-ease),visibility 0s .32s;
  visibility:hidden;
}
.pv-mpanel.is-current{transform:translate3d(0,0,0);visibility:visible;transition:transform .32s var(--pv-ease),visibility 0s;}
.pv-mpanel.is-behind{transform:translate3d(-28%,0,0);visibility:visible;transition:transform .32s var(--pv-ease),visibility 0s .32s;}

/* Lignes du menu : cible tactile 52px minimum */
.pv-mrow{
  display:flex;align-items:center;gap:12px;width:100%;
  min-height:52px;padding:8px 12px;border-radius:10px;
  font-size:1rem;font-weight:500;text-align:left;color:var(--pv-ink);
}
.pv-mrow:active{background:var(--pv-paper-2);}
.pv-mrow img{flex:none;width:38px;height:38px;border-radius:9px;object-fit:cover;background:var(--pv-blue-050);}
.pv-mrow__chip{flex:none;width:4px;height:30px;border-radius:2px;background:var(--pv-cat,var(--pv-blue));opacity:.85;}
.pv-mrow span{flex:1 1 auto;min-width:0;}
.pv-mrow svg{flex:none;opacity:.4;}
.pv-mrow--accent{color:var(--pv-green);font-weight:600;}
.pv-mrow--all{color:var(--pv-blue);font-weight:600;}
.pv-mrow--sub{font-size:.9375rem;font-weight:400;color:var(--pv-ink-60);min-height:48px;}
.pv-msep{height:1px;background:var(--pv-line);margin:10px 12px;}
.pv-mlabel{
  padding:14px 12px 6px;font-size:.6875rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--pv-ink-60);
}

.pv-drawer__foot{
  flex:none;border-top:1px solid var(--pv-line);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  display:flex;flex-direction:column;gap:2px;font-size:.9375rem;
}
.pv-drawer__foot a{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--pv-ink-60);}
.pv-drawer__foot a:active{color:var(--pv-blue);}

/* ─────────────────────────  RESPONSIVE  ────────────────────────────── */
@media (max-width:1180px){
  .pv-nav__link{font-size:.875rem;padding:10px 8px;}
  .pv-shop{grid-template-columns:262px minmax(0,1fr);}
  .pv-pane{grid-template-columns:minmax(0,1fr) 232px;}
}
@media (max-width:1023px){
  .pv-header-root{--pv-h:72px;--pv-h-compact:62px;--pv-topbar-h:34px;}
  .pv-burger{display:inline-flex;}
  .pv-nav,.pv-megawrap{display:none;}
  .pv-bar{gap:4px;padding:0 10px;}
  .pv-logo{margin-right:auto;padding-left:4px;}
  .pv-logo img{height:46px;}
  .pv-act{width:44px;height:44px;}
  .pv-act--search{width:44px;height:44px;border-radius:12px;}
  .pv-act--wish{display:none;}
  .pv-topbar{font-size:.75rem;height:34px;}
  .pv-topbar__msg{padding:0 12px;}

  /* Recherche plein écran : place pour le clavier et les suggestions */
  .pv-search{
    position:fixed;inset:0;top:0;
    height:100dvh;border-bottom:0;box-shadow:none;
    transform:translate3d(0,-8px,0);
    display:flex;flex-direction:column;
  }
  .pv-header-root.is-search-open .pv-search{transform:translate3d(0,0,0);}
  .pv-search__inner{
    flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;
    padding:calc(12px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));
  }
  .pv-search__close{
    display:inline-flex;align-items:center;justify-content:center;
    width:44px;height:44px;border-radius:10px;flex:none;
  }
  .pv-search__field{height:50px;padding-left:14px;}
  .pv-search__submit{padding:0 14px;}
  .pv-search__row{display:flex;align-items:center;gap:6px;}
  .pv-search__row form{flex:1 1 auto;min-width:0;}
  .pv-chip{padding:9px 15px;font-size:.875rem;}
  .pv-pop{display:none;}                    /* au doigt : on va droit à la page */
  .pv-sopt{padding:11px 10px;}
  .pv-sopt img,.pv-sopt__ic{width:44px;height:44px;}
}
@media (min-width:1024px){
  .pv-drawer{display:none;}
  .pv-search__close{display:none;}
}
/* Écrans très étroits */
@media (max-width:359px){
  .pv-logo img{height:38px;}
  .pv-act{width:40px;}
}

/* ─────────────────────────  MOUVEMENT RÉDUIT  ──────────────────────── */
@media (prefers-reduced-motion:reduce){
  .pv-header-root *,
  .pv-header-root *::before,
  .pv-header-root *::after{
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
  .pv-header-root.is-hidden .pv-sticky{transform:none;}
}

/* ════════════ Démo uniquement — à retirer à l'intégration ════════════ */
body{margin:0;font-family:"DM Sans",sans-serif;color:#16233A;background:#fff;}
.demo{max-width:1320px;margin:0 auto;padding:80px clamp(16px,4vw,32px) 140px;}
.demo h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin:0 0 16px;color:#0F2244;}
.demo h1 em{color:#3D8B62;font-style:italic;}
.demo p{color:#5A6478;font-size:1.05rem;line-height:1.7;max-width:62ch;}
.demo hr{border:0;border-top:1px solid #E4E8EF;margin:56px 0;}
.demo__note{background:#F8F9FC;border:1px solid #E4E8EF;border-radius:12px;padding:20px 24px;font-size:.9rem;color:#5A6478;}

/* ═══════════════════════════════════════════════════════════════════════
   COMPATIBILITÉ THÈME — ajouté à l'intégration (hors fichier d'origine)
   Astra applique un padding et des styles par défaut à tous les <button>.
   Les boutons-icônes du header n'ayant pas de padding déclaré héritaient de
   `padding:10px 20px` : dans un bouton de 44 px il ne restait que 4 px pour
   l'icône, que `flex-shrink` réduisait ensuite à un trait. Visible sur le
   burger et la fermeture du tiroir en mobile.
   ═══════════════════════════════════════════════════════════════════════ */
.pv-header-root .pv-act,
.pv-header-root .pv-burger,
.pv-header-root .pv-pop__rm,
.pv-header-root .pv-drawer__back,
.pv-header-root .pv-search__close,
#pvDrawer .pv-act,
#pvDrawer .pv-drawer__back{
  padding:0;
  border:0;
  background-color:transparent;
}
/* Les icônes ne doivent jamais être comprimées par leur conteneur flex. */
.pv-header-root svg,
#pvDrawer svg{flex:none;}

/* États vides et débordement des aperçus panier / favoris (ajout intégration). */
.pv-pop__empty{
  padding:22px 16px;
  text-align:center;
  color:var(--pv-ink-60);
  font-size:.875rem;
}
.pv-pop__more{
  padding:6px 14px 10px;
  color:var(--pv-ink-60);
  font-size:.8125rem;
}
.pv-pop__rm[disabled]{pointer-events:none;}
