/* Doubayi — espace commerçant.
   Prolonge la vitrine : mêmes couleurs, mêmes polices, même en-tête collant.
   Navigation par onglets sous l'en-tête (un trait glisse sous l'onglet actif),
   encadrés sobres, quelques animations discrètes (désactivées si l'appareil
   demande moins de mouvement). S'appuie sur doubayi.css pour les variables. */
.es-visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- En-tête et onglets ---------- */
/* Couche d'affichage propre : sur iPhone (Safari), un en-tête collant au fond flouté disparaissait pendant le défilement et ne revenait qu'à l'arrêt. */
.es-site{
  position:sticky;top:0;z-index:40;view-transition-name:es-site;backdrop-filter:blur(16px);
  -webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;
  -webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--trait);background:rgba(255,255,255,.96);
  border-bottom-color:var(--trait);
}
.es-site-haut,.es-onglets-site{max-width:var(--largeur);margin:0 auto;padding-left:16px;padding-right:16px}
@media (min-width:768px){.es-site-haut,.es-onglets-site{padding-left:28px;padding-right:28px}}
.es-site-haut{display:flex;align-items:center;justify-content:space-between;gap:12px}
.es-marque{display:flex;align-items:center;min-width:0;gap:14px}
.es-marque img,.es-marque-lettre{flex:none;width:40px;height:40px;border-radius:50%}
.es-marque img{object-fit:cover;border:1px solid var(--trait)}
.es-marque-lettre{display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px}
.es-marque-texte{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.es-marque-texte strong{font-family:var(--police-titres);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.es-site-actions{display:flex;align-items:center;gap:2px}
.es-site-actions form{margin:0}
.es-site-actions .es-interrupteur-boutique{white-space:nowrap}
.es-site-actions .es-interrupteur-boutique>span:last-child{display:none}
.es-action{
  display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 11px;border:0;background:none;
  font:inherit;font-size:14px;color:var(--gris);cursor:pointer;transition:background .18s,color .18s;
  border-radius:99px;font-weight:600;
}
.es-action svg{width:19px;height:19px}
.es-action span{display:none}
@media (min-width:700px){.es-action span{display:inline}}
.es-onglets-site{position:relative;display:flex;overflow-x:auto;scrollbar-width:none}
.es-onglets-site::-webkit-scrollbar{display:none}
.es-onglets-site a{
  flex:none;display:flex;align-items:center;gap:8px;transition:color .2s;
}
.es-onglets-site a svg{width:19px;height:19px;transition:transform .2s,color .2s}
.es-onglets-site a:hover svg{transform:translateY(-1px)}
.es-onglets-site a.es-actif svg{color:var(--accent)}
.es-onglet-badge{
  display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 6px;
  font-size:11px;font-weight:700;
}
/* Trait sous l'onglet actif : il glisse depuis l'onglet précédent (voir base.html) */
.es-indicateur{
  position:absolute;left:0;width:0;
}

/* ---------- Page ---------- */
.es-page{padding:24px 0 72px}
@media (min-width:768px){.es-page{padding-top:32px}}
.es-entete,.es-messages,.es-contenu{max-width:var(--largeur);margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}
@media (min-width:768px){.es-entete,.es-messages,.es-contenu{padding-left:28px;padding-right:28px}}
.es-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.es-titre{font-family:var(--police-titres);line-height:1.1;margin:0}
.es-surtitre,.es-retour{display:inline-block;margin:0 0 4px}
.es-retour:hover{color:var(--accent-fonce)}
.es-entete-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.es-description{margin:6px 0 0}
.es-aide{font-size:14px;color:var(--gris);margin:0 0 14px;line-height:1.55}
.es-vide{color:var(--gris);font-size:14px;margin:6px 0}
.es-vide--grand{display:flex;flex-direction:column;align-items:center;gap:12px;padding:36px 16px;text-align:center}
.es-vide--grand p{margin:0}
/* Messages */
.es-messages{margin-bottom:16px}
.es-message{
  margin:0 0 8px;padding:12px 16px;border-radius:12px;font-size:14px;background:#fff;
  border:1px solid var(--trait);transition:opacity .4s,max-height .4s,margin .4s,padding .4s;max-height:120px;
  overflow:hidden;
}
.es-message--success{background:#E8F5EE;border-color:#CDE9D9;color:#0F5132}
.es-message--info{background:#F1F1EF;border-color:#E3E3E0;color:#555550}
.es-message--error{background:#FDECEC;border-color:#F6CACA;color:#8A1C1C}
.es-message--parti{opacity:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;border-width:0}

/* ---------- Cartes ---------- */
.es-carte{background:#fff;border:1px solid var(--trait);padding:18px;margin-bottom:16px}
@media (min-width:900px){.es-carte{padding:22px 24px}}
.es-carte-titre{margin:0 0 14px}
.es-carte-entete{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.es-colonnes{display:grid;gap:0 16px}
@media (min-width:900px){.es-colonnes{grid-template-columns:1fr 1fr}}
/* Partage */
.es-partage{display:flex;flex-direction:column;gap:14px}
.es-partage:has(.bq-partage-bouton[aria-expanded="true"]){position:relative;z-index:10}
.es-partage-statut{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.es-partage-statut form{margin:0}
.es-partage-lien{display:flex;flex-wrap:wrap;gap:8px}
.es-partage-lien input{flex:1 1 220px;min-width:0;border:1px solid var(--trait);font-size:14px}
.es-partage-lien .bq-partage{flex:none;align-self:flex-start}
.es-partage-lien--hors-ligne{opacity:.55;filter:grayscale(1)}
.es-partage-lien--hors-ligne input:disabled{-webkit-text-fill-color:var(--gris);opacity:1}
.es-partage-lien--hors-ligne .bq-partage-bouton{cursor:not-allowed}
.es-partage-hors-ligne-note{margin:-6px 0 0}
.es-alerte{justify-content:space-between}
/* Chiffres */
.es-chiffres{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px}
@media (min-width:900px){.es-chiffres{grid-template-columns:repeat(4,1fr);gap:16px}}
.es-chiffre{
  margin:0;position:relative;overflow:hidden;min-height:0;grid-template-columns:auto 1fr;display:flex;
  flex-direction:column;gap:4px;padding:18px 20px;align-items:flex-start;text-align:left;
}
.es-chiffre span{font-size:13px;color:var(--gris)}
.es-chiffre strong{line-height:1.1}
.es-chiffre small{font-size:13px;color:var(--gris)}
/* Courbe des visites */
.es-courbe{display:flex;align-items:flex-end;height:150px;gap:8px}
.es-barre{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%}
.es-barre span{
  display:block;width:100%;max-width:26px;min-height:3px;transform-origin:bottom;
  animation:es-barre-monte .55s cubic-bezier(.2,.7,.25,1) both;animation-delay:calc(var(--i,0)*25ms);
}
.es-barre:last-child span{opacity:1}
.es-barre small{font-size:11px;color:var(--gris)}
/* Formule */
.es-jauge{border-radius:99px;overflow:hidden;height:6px;background:#F1EFEB}
.es-jauge span{display:block;height:100%;max-width:100%;border-radius:99px}

/* ---------- Lignes (listes) ---------- */
.es-liste{padding-top:6px;padding-bottom:6px}
.es-ligne{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #F0F0EE;transition:padding .18s,background .18s}
.es-ligne:last-child{border-bottom:0}
a.es-ligne:hover .es-ligne-texte strong,a.es-ligne:hover .es-ligne-texte:not(:has(strong)){color:var(--accent-fonce)}
.es-ligne--haute{padding:14px 0}
.es-ligne-texte{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;font-size:15px}
.es-ligne-texte strong{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.es-ligne-texte small{font-size:13px;color:var(--gris)}
.es-ligne-valeur{flex:none;white-space:nowrap}
.es-vignette{flex:none;width:44px;height:44px;overflow:hidden;background:var(--fond-produit)}
.es-vignette img{width:100%;height:100%;object-fit:cover}
.es-vignette--grande{width:56px;height:56px;border-radius:12px}
.es-chevron{font-size:22px;color:#C4C4C0}
/* Badges */
.es-pastille{display:inline-block;padding:4px 12px;border-radius:99px;background:#EFEFEC;font-size:13px;font-weight:500;color:var(--gris)}
.es-pastille--vert::before{
  content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#18A06B;
  vertical-align:1px;
}
.es-statut{flex:none;padding:3px 10px;border-radius:99px;font-size:12px;white-space:nowrap}
.es-statut--annulee{text-decoration:line-through}
.es-statut--grand{font-size:14px;padding:6px 14px}
.es-compteur-perso{flex:none;font-size:13px;color:var(--gris);padding:3px 10px;border-radius:99px;background:#F3F3F1}

/* ---------- Boutons et liens ---------- */
.es-bouton{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--trait);
  background:#fff;color:var(--encre);font:inherit;font-size:15px;cursor:pointer;white-space:nowrap;
}
.es-bouton--large{width:100%}
.es-lien{padding:0;border:0;border-radius:8px;background:none;color:var(--or-d);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;transition:color .18s,background .18s,border-color .18s}
.es-lien:hover{color:var(--or-encre);text-decoration:none}
.es-lien--danger{color:#B42318}
.es-zone-danger{margin:8px auto 0;max-width:var(--largeur);padding:0 16px;text-align:left}

/* ---------- Formulaires ---------- */
.es-form{margin:0}
.es-champ{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.es-champ > label{font-size:14px;font-weight:500}
.es-champ > label em{font-style:normal;font-weight:400;font-size:12px;color:var(--gris);margin-left:4px}
.es-champ input[type=text],.es-champ input[type=number],.es-champ input[type=password],.es-champ input[type=search],.es-champ input[type=date],
.es-champ select,.es-champ textarea{
  box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:11px 14px;border:1px solid var(--trait);
  border-radius:10px;background:#fff;font:inherit;font-size:15px;color:var(--encre);
}
.es-champ textarea{resize:vertical;line-height:1.5}
.es-champ input:focus,.es-champ select:focus,.es-champ textarea:focus{outline:none}
.es-champ small{font-size:13px;color:var(--gris);line-height:1.45}
.es-champ .es-erreur,.es-erreur{color:#B42318;font-size:13px}
.es-champ--erreur input,.es-champ--erreur select,.es-champ--erreur textarea{border-color:#E5A3A3}
.es-champ--case{margin-bottom:12px}
.es-champ--case label{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:400;cursor:pointer}
.es-champ--case input{width:18px;height:18px}
.es-champ--couleur > span{display:flex;align-items:center;gap:12px}
.es-champ--couleur input[type=color]{
  width:46px;height:46px;padding:3px;border:1px solid var(--trait);border-radius:12px;background:#fff;
  cursor:pointer;
}
/* Aperçu du thème (Ma boutique > Apparence) : variables --ap-* posées par le script de la page */
.es-apercu-theme{
  display:flex;flex-direction:column;gap:6px;margin-top:8px;padding:18px;border-radius:14px;
  background:var(--ap-fond,var(--secondaire));color:var(--ap-sur-fond,var(--encre));
  font-family:var(--ap-texte,inherit);transition:background .2s,color .2s;
}
.es-apercu-surtitre{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.6}
.es-apercu-titre{font-family:var(--ap-titres,inherit);font-size:26px;font-weight:700;line-height:1.15}
.es-apercu-texte{margin:0;font-size:15px;line-height:1.5}
.es-apercu-pied{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px;
  padding:10px 12px;border-radius:12px;background:#fff;
}
.es-apercu-prix{font-size:18px;color:var(--ap-accent-texte,var(--accent-texte))}
.es-apercu-bouton{
  padding:9px 16px;border-radius:99px;font-size:14px;font-weight:600;background:var(--ap-accent,var(--accent));
  color:var(--ap-sur-accent,var(--sur-accent));
}
.es-grille-2{display:grid;gap:0 16px}
@media (min-width:600px){.es-grille-2{grid-template-columns:1fr 1fr}}
@media (min-width:600px){.es-grille-2--large{grid-template-columns:2fr 1fr}}
.es-deux-colonnes{display:grid;grid-template-columns:minmax(0,1fr);gap:0 20px;align-items:start}
.es-deux-colonnes > *{min-width:0}
@media (min-width:1000px){
  .es-deux-colonnes{grid-template-columns:minmax(0,1fr) 320px}
  .es-colonne-cote{position:sticky;top:calc(var(--hauteur-entete,118px) + 20px)}
}
.es-barre-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.es-barre-actions--ligne{max-width:320px;margin-left:auto}
/* Filtres et recherche */
.es-filtres{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
.es-recherche{
  flex:1 1 240px;display:flex;align-items:center;gap:8px;padding:0 14px;border:1px solid var(--trait);
  border-radius:10px;background:#fff;color:var(--gris);
}
.es-recherche input{flex:1;min-width:0;padding:11px 0;border:0;outline:none;background:none;font:inherit;font-size:15px}
.es-filtres select{box-sizing:border-box;min-height:44px;padding:11px 14px;border:1px solid var(--trait);border-radius:10px;background:#fff;font:inherit;font-size:16px}
.es-filtre-date{display:flex;align-items:center;gap:7px;min-height:44px;padding:0 10px;border:1px solid var(--trait);border-radius:10px;background:#fff;color:var(--gris);font-size:13px}
.es-filtre-date input{min-width:0;min-height:40px;border:0;background:transparent;color:var(--encre);font:inherit;font-size:14px}
@media(max-width:600px){.es-filtres .es-filtre-date{flex:1 1 calc(50% - 8px)}.es-filtres .es-filtre-date input{width:100%}.es-filtres select{flex:1 1 100%}}
.es-onglets{
  display:flex;overflow-x:auto;scrollbar-width:none;gap:4px;margin:0 0 20px;width:max-content;max-width:100%;
  border-radius:10px;padding:4px;background:#F1EFEB;border:0;
}
.es-onglets::-webkit-scrollbar{display:none}
.es-onglets a{
  flex:none;display:flex;align-items:center;gap:6px;font-size:14px;padding:9px 15px;color:var(--gris);
  transition:background .2s,color .2s,transform .2s;
}
.es-onglets a span{font-size:12px;opacity:.8}
.es-onglets a.es-actif{border-color:var(--encre);font-weight:600}
.es-filtre-statut-mobile{display:none}

/* ---------- Produits ---------- */
.es-produit{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:12px 0;border-bottom:1px solid #F0F0EE}
.es-produit:last-child{border-bottom:0}
.es-produit-principal{flex:1 1 280px;min-width:0;display:flex;align-items:center;gap:12px}
.es-produit-principal:hover strong{color:var(--accent-fonce)}
.es-produit--masque .es-produit-principal{opacity:.5}
.es-produit-interrupteurs{display:flex;gap:16px;padding-left:68px}
@media (min-width:700px){.es-produit-interrupteurs{padding-left:0}}
.es-produit-interrupteurs form{margin:0}
.es-personnalisation-lien{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 9px;border:1px solid var(--trait);border-radius:8px;background:#fff;color:var(--encre);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .18s,border-color .18s}
.es-personnalisation-lien:hover{border-color:var(--or);background:var(--creme);color:var(--or-d)}
.es-personnalisation-lien>.es-ic{width:16px;height:16px;color:var(--gris)}
.es-personnalisation-compteur{min-width:19px;height:19px;padding:0 5px;display:inline-grid;place-items:center;border-radius:6px;background:#F4F3F0;color:var(--gris);font-size:11px;font-variant-numeric:tabular-nums}
.es-interrupteur-ic{display:none}
.es-interrupteur{
  display:flex;align-items:center;gap:8px;padding:4px 0;border:0;background:none;font:inherit;font-size:13px;
  color:var(--gris);cursor:pointer;
}
.es-interrupteur-boutique{font-size:14px}
.es-interrupteur-piste{position:relative;width:36px;height:22px;border-radius:99px;background:#D9D9D5;transition:background .2s}
.es-interrupteur-piste::after{
  content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s;
}
.es-interrupteur[aria-checked=true]{color:var(--encre)}
.es-interrupteur[aria-checked=true] .es-interrupteur-piste::after{transform:translateX(14px)}
/* Photos du produit */
.es-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;margin-bottom:10px}
.es-photo{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--fond-produit);border:1px solid var(--trait)}
.es-photo img,.es-photo video{width:100%;height:100%;object-fit:cover}
.es-photo-principale{position:absolute;left:6px;bottom:6px;cursor:pointer}
.es-photo-principale input{position:absolute;opacity:0}
.es-photo-principale span{display:block;padding:3px 9px;border-radius:99px;background:rgba(255,255,255,.92);font-size:11px;color:var(--gris)}
.es-photo-principale input:checked + span{font-weight:500}
.es-photo-retirer{position:absolute;top:6px;right:6px;cursor:pointer}
.es-photo-retirer input{position:absolute;opacity:0}
.es-photo-retirer span[aria-hidden]{
  display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;
  background:rgba(255,255,255,.92);font-size:17px;line-height:1;color:var(--encre);
}
.es-photo--retiree img,.es-photo--retiree video{opacity:.25}
.es-photo--retiree .es-photo-retirer span[aria-hidden]{background:#B42318;color:#fff}
.es-photo--ajout{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  border:1.5px dashed #CFCFCB;background:#FAFAF8;color:var(--gris);font-size:13px;text-align:center;
  cursor:pointer;
}
.es-photo--ajout:hover{border-color:var(--accent);color:var(--accent-fonce)}
.es-photo--ajout input{position:absolute;inset:0;opacity:0;cursor:pointer}
.es-photo--ajout svg{width:26px;height:26px}
.es-photo-nouvelle{position:absolute;left:6px;bottom:6px;padding:3px 9px;border-radius:99px;background:var(--encre);color:#fff;font-size:11px}

/* ---------- Catégories et personnalisations ---------- */
.es-ajout-rapide{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}
.es-ajout-rapide .es-champ{flex:1 1 240px;margin:0}
.es-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;color:var(--gris)}
.es-suggestion{
  padding:5px 12px;border:1px dashed #CFCFCB;background:#fff;font:inherit;font-size:13px;color:var(--encre);
  cursor:pointer;border-radius:8px;
}
.es-suggestion:hover{border-style:solid}
.es-perso{padding:16px 16px 4px;margin-bottom:12px;border:1px solid var(--trait);border-radius:14px;background:#FAFAF8}
.es-perso-entete{display:grid;gap:0 12px}
@media (min-width:600px){.es-perso-entete{grid-template-columns:2fr 1fr}}
.es-perso-pied{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.es-perso-pied .es-champ{margin:0}
.es-perso-retirer{display:flex;align-items:center;gap:6px;text-decoration:none}
.es-perso-retirer input{accent-color:#B42318}
.es-perso--retiree{opacity:.45}
.es-ajouter-perso{width:100%;border-style:dashed}
.es-limite{margin:10px 0 0}

/* ---------- Commande ---------- */
.es-ligne--commande{align-items:flex-start}
.es-ligne--commande .es-ligne-texte strong{white-space:normal}
.es-totaux{margin-top:12px;padding-top:12px;border-top:1px solid var(--trait);font-size:15px}
.es-totaux div{display:flex;justify-content:space-between;padding:4px 0;color:var(--gris)}
.es-totaux-remise{color:#0F6E56!important}
.es-totaux-final{
  margin-top:6px;padding-top:10px!important;border-top:1px solid var(--trait);font-size:18px;font-weight:600;
  color:var(--encre)!important;
}
.es-promo-generateur .es-aide{margin:0 0 18px}
.es-promo-lot{padding:0!important;overflow:hidden}
.es-promo-generateur-entete{align-items:flex-start;margin-bottom:14px}
.es-promo-generateur-entete .es-carte-titre{margin:0 0 5px}
.es-promo-generateur-entete .es-aide{margin:0;max-width:700px}
.es-promo-tabs{margin-top:4px}
.es-promo-tabs [role=tab]{display:flex;align-items:center;gap:8px}
.es-promo-tabs .es-ic{width:17px;height:17px}
.es-promo-tabs [role=tab][aria-selected=false]{color:var(--gris)}
.es-promo-tabs [role=tab][aria-selected=true]{color:var(--encre)}
.es-promo-entete-icone{flex:none;width:22px;height:22px;color:var(--or-d)}
.es-promo-liste-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:26px 0 12px}
.es-promo-liste-entete .es-section-titre{margin:0 0 4px}
.es-promo-liste-entete .es-aide{margin:0}
.es-promo-revoquer{flex:none}
.es-promo-revoquer:disabled{opacity:.45;cursor:not-allowed}
.es-promo-entete{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 20px;border-bottom:1px solid var(--trait)}
.es-promo-entete h3{margin:0;font-size:16px}
.es-promo-entete small,.es-promo-entete p{display:block;margin:4px 0 0;color:var(--gris);font-size:13px}
.es-promo-campagne{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.es-promo-entete-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px}
.es-promo-entete-actions form{margin:0}
.es-promo-entete-actions .es-bouton--compact{min-height:36px;padding:0 11px;font-size:13px}
.es-promo-icon-button{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:1px solid var(--trait);border-radius:10px;background:#fff;color:var(--gris);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s}
.es-promo-icon-button:hover,.es-promo-icon-button.es-promo-copie-ok{border-color:#B9DCCB;background:#E8F5EE;color:#0F6E56}
.es-promo-icon-button:active{transform:scale(.92)}
.es-promo-icon-button.es-promo-copie-ok{animation:es-promo-copie .42s cubic-bezier(.2,.8,.25,1)}
.es-promo-icon-button.es-promo-copie-ok .es-ic{animation:es-promo-copie-icone .42s ease-out}
.es-promo-icon-button .es-ic{width:17px;height:17px}
@keyframes es-promo-copie{0%{transform:scale(.9)}55%{transform:scale(1.12)}100%{transform:scale(1)}}
@keyframes es-promo-copie-icone{0%{transform:scale(.7) rotate(-12deg)}65%{transform:scale(1.18) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
.es-bouton--danger{border-color:#E8C4C1;background:#fff;color:#B42318}
.es-bouton--danger:hover{border-color:#D9AAA5;background:#FEF3F2;color:#B42318}
.es-promo-copier{white-space:nowrap}
.es-promo-table-entete,.es-promo-ligne{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(100px,.6fr) minmax(100px,.65fr) minmax(240px,1.5fr);align-items:center;gap:16px}
.es-promo-table-entete{padding:10px 20px;background:#FAF9F7;color:var(--gris);font-size:12px;font-weight:600;border-bottom:1px solid var(--trait)}
.es-promo-table-entete > span:last-child{text-align:right}
.es-promo-select-all{display:flex;align-items:center;gap:10px;color:var(--encre)}
.es-promo-select-all input,.es-promo-case input{width:16px;height:16px;margin:0;accent-color:var(--or-d);cursor:pointer}
.es-promo-ligne{margin:0 20px;min-width:0}
.es-promo-case{min-width:0;display:flex;align-items:center;gap:12px;cursor:pointer}
.es-promo-case code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--encre)}
.es-promo-case-vide{display:block;flex:none;width:16px;height:16px}
.es-promo-utilisations{font-size:13px;color:var(--gris);font-variant-numeric:tabular-nums}
.es-promo-etat{justify-self:start;display:inline-flex;padding:4px 9px;border-radius:99px;background:#F1EFEB;color:var(--gris);font-size:12px;white-space:nowrap}
.es-promo-etat--actif{background:#E8F5EE;color:#0F6E56}
.es-promo-etat--termine{background:#F4F3F0;color:#7C7B77}
.es-promo-actions{justify-content:flex-end;align-items:center;gap:16px;padding:0}
.es-promo-actions form{margin:0}
.es-promo-actions .es-interrupteur{white-space:nowrap}
.es-promo-actions .es-interrupteur:disabled{opacity:.5;cursor:not-allowed}
.es-promo-partage-cache{visibility:hidden;pointer-events:none}
.es-promo-partage-menu{position:relative}
.es-promo-partage-menu > .es-lien{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.es-promo-partage-menu > .es-lien .es-ic{width:16px;height:16px}
.es-promo-partage-options{position:absolute;z-index:8;right:0;top:calc(100% + 8px);display:grid;min-width:174px;padding:5px;border:1px solid var(--trait);border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(29,29,31,.14)}
.es-promo-partage-options[hidden]{display:none}
.es-promo-partage-options a,.es-promo-partage-options button{display:flex;align-items:center;gap:9px;min-height:38px;padding:0 10px;border:0;border-radius:8px;background:#fff;color:var(--encre);font:inherit;font-size:13px;text-align:left;text-decoration:none;cursor:pointer}
.es-promo-partage-options a:hover,.es-promo-partage-options button:hover{background:#F6F5F3}
.es-promo-partage-options .es-ic{width:16px;height:16px;color:var(--gris)}
@media(max-width:850px){
  .es-promo-table-entete{display:none}
  .es-promo-ligne{grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:12px 0}
  .es-promo-case{grid-column:1;grid-row:1}
  .es-promo-utilisations{grid-column:2;grid-row:1;text-align:right}
  .es-promo-etat{grid-column:1;grid-row:2}
  .es-promo-actions{grid-column:2;grid-row:2;gap:12px}
}
@media(max-width:600px){
  .es-promo-liste-entete{align-items:flex-start;flex-direction:column}
  .es-promo-entete{align-items:flex-start;flex-direction:column;padding:14px 16px}
  .es-promo-entete-actions{width:100%;justify-content:space-between;gap:10px}
  .es-promo-ligne{margin:0 16px}
}
@media(prefers-reduced-motion:reduce){
  .es-promo-icon-button,.es-promo-icon-button.es-promo-copie-ok,.es-promo-icon-button.es-promo-copie-ok .es-ic{animation:none;transition:none}
}
.es-details{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;font-size:14px}
.es-details dt{color:var(--gris)}
.es-details dd{margin:0}
.es-statuts{display:flex;flex-direction:column;align-items:center;gap:12px}

/* ---------- Boutique ---------- */
.es-images{display:grid;gap:16px;align-items:start}
@media (min-width:600px){.es-images{grid-template-columns:auto minmax(0,1fr)}}
.es-image{display:flex;flex-direction:column;gap:8px;cursor:pointer}
.es-image input[type=file]{font-size:13px;max-width:100%}
.es-image small{font-size:12px;color:var(--gris)}
.es-image-cadre{
  display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px dashed #CFCFCB;
  background:#FAFAF8;color:var(--gris);font-size:13px;
}
.es-image-cadre img{width:100%;height:100%;object-fit:cover}
.es-image--logo .es-image-cadre{width:96px;height:96px;border-radius:50%}
.es-image--couverture .es-image-cadre{width:100%;aspect-ratio:820/312;border-radius:12px}

/* ---------- Finition Doubayi : espace marchand ----------
   Le tableau de bord reprend les tons et les formes de la vitrine publique,
   avec une navigation plus proche d'un back-office de boutique. */
.es{
  --es-surface:#fff;--es-shadow:0 12px 32px rgba(29,29,31,.045);--or:#F5A623;--or-d:#9C6100;--or-encre:#241700;
  --creme:#FFF4E2;--doux:#FAF8F5;--encre:#1D1D1F;--gris:#6E6E73;--trait:#E7E5E1;
  --es-ombre:0 22px 50px -24px rgba(60,40,10,.28);--rebond:cubic-bezier(.2,.7,.3,1);--es-canvas:#FAF9F7;
  --rayon-es:14px;
}
.es-entete-boutique{
  display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid var(--trait);background:#fff;
  font-size:12px;color:var(--gris);border-radius:99px;font-weight:600;
}
.es-entete-boutique i{width:7px;height:7px;border-radius:50%;background:#1B9B6C;box-shadow:0 0 0 3px #E5F5EE}
.es-entete-boutique i.es-hors-ligne{background:#A9A9A4;box-shadow:0 0 0 3px #F0F0EE}
.es-chiffre::after{
  content:"";position:absolute;right:-30px;bottom:-44px;width:108px;height:108px;border-radius:50%;
  transition:transform .3s;background:var(--creme);opacity:1;display:none;
}
.es-chiffre:hover::after{transform:scale(1.22)}
.es-chiffre strong,.es-chiffre span,.es-chiffre small{position:relative;z-index:1}
.es-barre:nth-child(2) span{--i:1}
.es-barre:nth-child(3) span{--i:2}
.es-barre:nth-child(4) span{--i:3}
.es-barre:nth-child(5) span{--i:4}
.es-barre:nth-child(6) span{--i:5}
.es-barre:nth-child(7) span{--i:6}
.es-barre:nth-child(8) span{--i:7}
.es-barre:nth-child(9) span{--i:8}
.es-barre:nth-child(10) span{--i:9}
.es-barre:nth-child(11) span{--i:10}
.es-barre:nth-child(12) span{--i:11}
.es-barre:nth-child(13) span{--i:12}
.es-barre:nth-child(14) span{--i:13}
.es-onglets a:hover{transform:translateY(-1px)}
.es-bouton:active{transform:scale(.98)}
a.es-ligne:hover{border-radius:10px}
@keyframes es-arrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes es-barre-monte{from{transform:scaleY(.12);opacity:.35}to{transform:scaleY(1);opacity:.85}}

/* ---------- Animations discrètes ---------- */
/* Les blocs de la page apparaissent l'un après l'autre */
.es-contenu > *,.es-entete{animation:es-arrive .45s cubic-bezier(.2,.7,.25,1) both}
.es-contenu > :nth-child(1){animation-delay:.04s}
.es-contenu > :nth-child(2){animation-delay:.08s}
.es-contenu > :nth-child(3){animation-delay:.12s}
.es-contenu > :nth-child(4){animation-delay:.16s}
.es-contenu > :nth-child(5){animation-delay:.2s}
.es-contenu > :nth-child(n+6){animation-delay:.24s}
.es-chiffres > *{animation:es-arrive .45s cubic-bezier(.2,.7,.25,1) both}
.es-chiffres > :nth-child(2){animation-delay:.06s}
.es-chiffres > :nth-child(3){animation-delay:.12s}
.es-chiffres > :nth-child(4){animation-delay:.18s}
/* Messages : arrivent par le haut */
.es-message{animation:es-message .35s cubic-bezier(.2,.7,.25,1) both}
@keyframes es-message{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
/* Passage d'une page à l'autre : fondu court, l'en-tête reste en place */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.22s}
@media (prefers-reduced-motion:reduce){
  .es-page,.es-barre span,.es-contenu > *,.es-entete,.es-chiffres > *,.es-message{animation:none!important}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
  .es *, .es *::before, .es *::after{
    scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}
/* Livraison */
.es-zone--nouvelle{border-style:dashed}
.es-jours{display:flex;flex-wrap:wrap;gap:6px}
.es-jour{position:relative;cursor:pointer}
.es-jour input{position:absolute;opacity:0}
.es-jour span{
  display:inline-block;min-width:52px;padding:8px 10px;border:1px solid var(--trait);border-radius:10px;
  background:#fff;font-size:14px;text-align:center;
}
.es-jour input:checked + span{font-weight:600}

/* ---------- Connexion ---------- */
.es-connexion{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}
.es-carte-connexion{
  width:100%;max-width:400px;padding:32px 28px;background:#fff;border:1px solid var(--trait);border-radius:24px;
  box-shadow:var(--es-ombre);
}
.es-carte-connexion h1{margin:0 0 6px}
/* Logotype Doubayi au-dessus de la carte (classe .doubayi-logo, voir marque.css) */
.es-logo-connexion{margin:0 0 24px;--logo-taille:22px}
.es-carte-connexion .es-form{margin-top:22px}
.es-champ > span:first-child{font-size:14px;font-weight:500}

/* =====================================================================
   Identité Doubayi : orange #F5A623, crème #FFF4E2, encre #1D1D1F.
   Icônes, en-tête, onglets, accueil du tableau de bord.
   ===================================================================== */
body.es{color:var(--encre)}
/* Icônes flat */
.es-ic{width:20px;height:20px;flex:none;fill:currentColor;stroke:none}
.es-tuile{
  display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;
  border-radius:14px;
}
.es-tuile .es-ic{width:24px;height:24px}
.es-tuile--petite{width:32px;height:32px;border-radius:10px}
.es-tuile--petite .es-ic{width:18px;height:18px}
.es-tuile--jaune{background:#FDE7BD;color:#9C6100}
.es-tuile--rose{background:#F9D7E3;color:#A3285E}
.es-tuile--bleu{background:#D6E7FA;color:#1F5FA8}
.es-tuile--menthe{background:#CFF1E4;color:#0F7B5A}
.es-tuile--lilas{background:#E3E1FB;color:#5B4BC4}
.es-tuile--peche{background:#FBE0D6;color:#B4502F}
/* En-tête : marque Doubayi + boutique */
.es-marque-boutique{display:flex;align-items:center;gap:9px;min-width:0;padding-left:14px;border-left:1px solid var(--trait)}
.es-marque-boutique img,.es-marque-boutique .es-marque-lettre{width:32px;height:32px}
.es-marque-lettre{background:var(--or);color:var(--or-encre)}
.es-marque-texte strong{font-size:15px;letter-spacing:-.01em}
@media (max-width:520px){
  .es-marque-texte small{display:none}
  .es-marque-texte strong{display:none}
  .es-marque .doubayi-logo{--logo-taille:17px}
}
.es-action:hover{background:var(--creme);color:var(--or-d)}
/* Onglets : pilule orange qui glisse sous l'onglet actif */
.es-onglets-site a{position:relative;z-index:1;font-size:15px;color:var(--gris);min-height:44px;padding:0 18px}
.es-onglets-site a:hover{color:var(--encre)}
.es-onglets-site a.es-actif{background:transparent}
.es-onglets-site a .es-ic{width:19px;height:19px;color:#A8A8AD;transition:transform .3s var(--rebond),color .2s}
.es-onglets-site a:hover .es-ic{transform:translateY(-1px) scale(1.08)}
.es-indicateur{
  z-index:0;transition:transform .42s var(--rebond),width .42s var(--rebond);top:auto;bottom:0;height:2px;
  border-radius:2px;background:var(--or);box-shadow:none;
}
.es-onglet-badge{background:var(--encre);color:#fff;border-radius:6px}
.es-onglets-site a.es-actif .es-onglet-badge{background:#fff;color:var(--or-d)}
/* Titres de page : gras et serrés, comme la page d'accueil Doubayi */
.es-entete{border-bottom:0;padding-bottom:0;margin-bottom:20px}
.es-surtitre,.es-retour{font-size:15px;font-weight:700;color:var(--or-d)}
.es-description{color:var(--gris)}
/* Cartes : blanches, arrondies, se soulèvent au survol */
.es-carte{border-color:var(--trait);border-radius:var(--rayon-es);box-shadow:none;transition:border-color .2s}
.es-carte-titre--ic{display:flex;align-items:center;gap:10px}
/* Boutons : pilules, orange plein, léger zoom au survol */
.es-bouton{transition:transform .3s var(--rebond),background .2s,border-color .2s,box-shadow .2s}
.es-bouton .es-ic{width:18px;height:18px}
.es-bouton--plein{background:var(--or);border-color:var(--or);color:var(--or-encre);box-shadow:0 10px 22px -10px rgba(245,166,35,.9)}
.es-bouton--plein:hover{color:var(--or-encre)}
.es-bouton--sombre{background:var(--or-encre);border-color:var(--or-encre);color:#fff}
.es-bouton--sombre:hover{background:#3A2600;border-color:#3A2600;color:#fff}
.es-lien{color:var(--or-d)}
/* Accueil : partage sur fond crème, alerte orange, chiffres */
.es-partage-tete{display:flex;align-items:flex-start;gap:14px}
.es-partage-tete .es-carte-titre{margin-bottom:2px}
.es-partage-tete .es-aide{margin:0;color:#7A5B2E}
.es-partage-lien input{border-radius:99px}
.es-alerte{
  display:flex;align-items:center;gap:14px;background:var(--or);border-color:var(--or);color:var(--or-encre);
  border-radius:var(--rayon-es);padding:16px 20px;
}
.es-alerte:hover{border-color:var(--or)}
.es-alerte-texte{flex:1;display:flex;flex-direction:column;gap:2px}
.es-alerte-texte small{font-size:14px;color:#5A3B00}
.es-chiffre > span:not(.es-tuile){font-size:14px;font-weight:600;color:var(--gris)}
.es-chiffre strong{font-family:var(--police-titres)}
.es-formule{flex-direction:row;flex-wrap:wrap;align-items:center;gap:16px;display:block}
.es-formule-texte{flex:1 1 260px;display:flex;flex-direction:column;gap:8px}
.es-formule-texte .es-carte-titre{margin:0}
.es-formule-starter{padding:10px 16px;border-radius:16px;font-size:14px;border:1px solid #F3DDB5;background:var(--creme);color:#7A5B2E}
.es-formule-starter strong{color:var(--or-d)}
/* Listes, badges, filtres */
.es-vignette{border-radius:12px}
.es-pastille--vert{background:#DDF5E8;color:#0F7B5A}
.es-compteur-perso--actif{font-weight:700;background:#F4F3F0;color:var(--encre)}
.es-onglets a .es-ic{width:17px;height:17px}
.es-recherche,.es-filtres select{border-radius:99px}
.es-suggestion:hover{border-color:var(--or);color:var(--or-d);background:#fff}
/* Formulaires */
.es-champ input:focus,.es-champ select:focus,.es-champ textarea:focus{border-color:var(--or);box-shadow:0 0 0 4px rgba(245,166,35,.18)}
.es-champ--case input{accent-color:var(--or)}
.es-interrupteur[aria-checked=true] .es-interrupteur-piste{background:var(--or)}
.es-photo-principale input:checked + span{background:var(--or);color:var(--or-encre)}
.es-jour input:checked + span{border-color:var(--or);box-shadow:inset 0 0 0 1px var(--or);background:var(--creme);color:var(--or-d)}
/* Connexion */
body.es-connexion{background:var(--creme)}
.es-carte-connexion h1{font-size:30px;font-weight:800;letter-spacing:-.04em}
@media (prefers-reduced-motion:reduce){.es-bouton:hover,a.es-carte:hover,.es-chiffre:hover{transform:none}}

/* =====================================================================
   Ergonomie et sobriété des couleurs
   - En-tête plus aéré, onglets plus hauts (cibles tactiles de 44 px).
   - Orange plein : uniquement l'action ou l'urgence (boutons principaux,
     alerte à confirmer, interrupteurs, données du graphique).
   - Orange clair : se repérer (onglet actif, tuiles d'icônes, lien à partager).
   - Tout le reste en neutre.
   ===================================================================== */
/* En-tête : deux rangées bien séparées */
.es-site-haut{min-height:68px;padding-top:14px;padding-bottom:12px}
.es-onglets-site{gap:6px;padding-top:4px;padding-bottom:0}
@media (max-width:520px){
  .es-site-haut{min-height:60px;padding-top:10px;padding-bottom:8px}
  .es-onglets-site a{padding:0 14px}
}
/* Onglet actif : orange clair, texte foncé, icône orange */
.es-onglets-site a.es-actif{color:var(--encre);font-weight:600}
.es-onglets-site a.es-actif .es-ic{color:var(--or)}
.es-onglets-site a:hover .es-ic{color:var(--gris)}
.es-onglets-site a.es-actif .es-onglet-badge,.es-onglet-badge{background:var(--or);color:var(--or-encre)}
@media(max-width:767px){
  /* Titre sur toute la ligne, boutons d'action en dessous (plus de décalage entre les deux) */
  .es-entete{align-items:center;flex-wrap:wrap;row-gap:12px}
  .es-entete-texte{flex:1 1 100%;min-width:0}
  .es-entete-actions{flex:1 0 100%}
  .es-entete-actions:not(:has(> :not(.es-entete-boutique))){display:none}
  .es-site{transform:none!important;-webkit-transform:none!important;will-change:auto;backdrop-filter:none;-webkit-backdrop-filter:none}
  .es-onglets-site{display:none!important}  /* remplacés par la barre du bas */
}
/* Tuiles d'icônes : une seule famille, orange clair */
.es-tuile,.es-tuile--jaune,.es-tuile--rose,.es-tuile--bleu,.es-tuile--menthe,.es-tuile--lilas,.es-tuile--peche{
  background:var(--creme);color:var(--or-d);
}
.es-tuile--blanc{background:#fff;color:var(--or-d)}
.es-alerte .es-tuile{background:rgba(255,255,255,.85)}
/* Textes : neutres, l'orange reste aux liens et actions */
.es-surtitre{color:var(--gris);font-weight:600}
.es-retour{color:var(--or-d)}
.es-marque-texte small{color:var(--gris);font-size:11px;font-weight:500;letter-spacing:0;text-transform:none}
.es-options{color:var(--encre)!important;opacity:.75}
/* Chiffres : icône à côté du libellé, sans décor */
.es-chiffre .es-tuile{width:36px;height:36px;border-radius:11px;margin:0}
.es-chiffre .es-tuile .es-ic{width:20px;height:20px}
.es-chiffre > strong,.es-chiffre > small{grid-column:1/-1}
/* Graphique : jours passés en orange clair, aujourd'hui en orange */
.es-barre span{background:#F9D592;opacity:1;border-radius:4px 4px 2px 2px}
.es-barre:last-child span{background:var(--or)}
/* Statuts de commande : orange seulement pour ce qui attend une action */
.es-statut--envoyee{background:var(--or);color:var(--or-encre)}
.es-statut--confirmee{background:var(--creme);color:var(--or-d)}
.es-statut--livree{background:#EEEDEA;color:var(--encre)}
.es-statut--livree::before{content:"✓ "}
.es-statut--annulee{background:#F4F3F0;color:#9A9A9E}
/* Divers : survols neutres, encadrés sobres */
.es-onglets a:hover{color:var(--encre)}
.es-bouton:hover{border-color:#D3CFC8;transform:none}
/* Listes sur téléphone : le nom prend toute la largeur, le statut passe dessous */
@media (max-width:600px){
  .es-produit{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 0}
  .es-produit-principal{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%}
  .es-produit-principal .es-ligne-texte{min-width:0}
  .es-produit-principal .es-ligne-valeur{min-width:0;font-size:14px}
  .es-code-produit{font-size:12px;white-space:nowrap}
  .es-produit-interrupteurs{align-items:center;flex-wrap:wrap;gap:12px;padding:0 0 0 66px}
  .es-personnalisation-lien{min-height:36px;padding:6px;border:0;background:transparent}
  .es-personnalisation-lien:hover{border-color:transparent;background:transparent}
  .es-personnalisation-lien>span,.es-lien-partage>span{display:none}
  .es-personnalisation-lien>.es-ic,.es-lien-partage>.es-ic{width:21px;height:21px;color:var(--gris)}
  .es-personnalisation-compteur{display:none!important}
  .es-lien-partage{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px;color:var(--gris)}
  .es-interrupteur{gap:6px;padding:4px}
  .es-interrupteur-ic{display:block;width:18px;height:18px;color:var(--gris)}
  .es-interrupteur-texte{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .es-ligne--haute{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;row-gap:6px}
  .es-ligne--haute .es-ligne-texte{grid-column:1;grid-row:1}
  .es-ligne--haute .es-ligne-valeur{grid-column:2;grid-row:1;align-self:start}
  .es-ligne--haute .es-statut,.es-ligne--haute .es-compteur-perso{grid-column:1;grid-row:2;justify-self:start}
  .es-ligne--haute .es-chevron{grid-column:2;grid-row:1 / span 2;align-self:center}
  .es-entete-boutique{display:none}
}

/* =====================================================================
   Typographie (Inter), cartes, boutons, onglets et champs : formes calmes,
   sans ombre colorée ni soulèvement au survol. Ces règles complètent ou
   remplacent celles du haut du fichier pour les mêmes éléments.
   ===================================================================== */
body.es{background:#FAF9F7;font-family:"Inter",system-ui,sans-serif;font-feature-settings:"cv11","ss01";letter-spacing:-.006em}
body.es select{font-size:16px}
.es-chiffre strong,.es-ligne-valeur,.es-totaux,.es-details dd,.es-courbe small{font-variant-numeric:tabular-nums}
/* Titres */
.es-titre{font-weight:700;letter-spacing:-.025em;font-size:26px}
@media (min-width:900px){.es-titre{font-size:30px}}
.es-description{font-size:15px;margin-top:4px}
.es-carte-titre{font-size:16px;font-weight:600;letter-spacing:-.01em}
.es-section-titre{margin:28px 0 12px;font-size:15px;font-weight:600;letter-spacing:-.01em;text-transform:none;color:var(--encre)}
.es-marque-texte strong{font-weight:600}
/* Cartes : bord fin, pas d'ombre ni de soulèvement */
.es-carte:hover{box-shadow:none;border-color:var(--trait)}
a.es-carte:hover,.es-chiffre:hover{transform:none}
a.es-carte:hover{border-color:#D6D2CB}
/* Boutons : coins arrondis sobres, pas d'ombre colorée ni de zoom */
.es-bouton{border-radius:10px;font-weight:600;min-height:42px;padding:0 16px;box-shadow:none}
.es-bouton--plein,.es-bouton--plein:hover{box-shadow:none}
.es-bouton--plein:hover{background:#E8981A;border-color:#E8981A}
.es-bouton--large{min-height:46px}
.es-lien{font-weight:500;text-decoration-thickness:1px}
@media (max-width:600px){
  .es-onglets{display:none}
  .es-filtre-statut-mobile{display:block;margin:0 0 14px}
  .es-filtre-statut-mobile select{box-sizing:border-box;width:100%;min-height:44px;padding:11px 14px;border:1px solid var(--trait);border-radius:10px;background:#fff;color:var(--encre);font:inherit;font-size:16px}
  .es-visuellement-cache{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
}
/* Onglets : soulignement orange sous l'onglet actif */
.es-onglets-site a{border-radius:8px;font-weight:500}
.es-onglets-site a:hover{background:#F4F3F0}
/* Filtres de liste : contrôle segmenté neutre */
.es-onglets a{border-radius:7px;border:0;font-weight:500;background:transparent}
.es-onglets a:hover{background:rgba(255,255,255,.6)}
.es-onglets a.es-actif{background:#fff;color:var(--encre);box-shadow:0 1px 2px rgba(0,0,0,.08)}
/* Champs */
.es-recherche,.es-filtres select,.es-partage-lien input{border-radius:10px}
/* Badges : rectangles arrondis, largeur fixe dans les listes pour s'aligner */
.es-statut,.es-pastille,.es-compteur-perso,.es-entete-boutique{border-radius:6px}
.es-statut{font-weight:600}
.es-ligne .es-statut{min-width:96px;text-align:center}
.es-ligne-valeur{min-width:88px;text-align:right;font-weight:600}
/* Accueil */
.es-partage{background:#fff;border-color:var(--trait)}
.es-partage .es-carte-entete{flex-wrap:wrap;align-items:center;margin-bottom:14px}
.es-partage .es-carte-titre{margin:0}
.es-partage-lien input{background:#FAF9F7;border-color:var(--trait);padding:11px 14px;color:var(--gris)}
.es-alerte-texte strong{font-size:16px;font-weight:600;letter-spacing:-.01em}
.es-alerte .es-bouton--sombre{min-height:38px}
.es-chiffre > span{font-size:13px;font-weight:500;color:var(--gris)}
.es-chiffre strong{font-size:30px;font-weight:600;letter-spacing:-.02em}
.es-chiffre > small{margin-top:0}
.es-formule .es-carte-entete{flex-wrap:wrap;margin-bottom:6px}
.es-formule .es-carte-titre{margin:0}
.es-formule .es-aide{margin:0 0 12px}
.es-jauge span{background:var(--or)}
/* Animations : plus courtes et plus discrètes */
.es-contenu > *,.es-entete,.es-chiffres > *{animation-duration:.3s}
a.es-ligne:hover{padding-left:0;padding-right:0;background:transparent}
a.es-ligne:hover .es-ligne-texte strong{color:var(--or-d)}
.es-lien--danger,.es-lien--danger:hover{color:#B42318}
@media (min-width:768px){.es-zone-danger{padding:0 28px}}
.es-champ textarea.es-zone-trop-longue{border-color:#E5A3A3}

/* =====================================================================
   Guide de lancement (tableau de bord) — 5 cartes, visuel + action
   ===================================================================== */
.es-guide{margin-bottom:28px;max-width:880px}
.es-guide-entete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:16px}
.es-guide-titre{margin:0 0 4px;font-weight:700;letter-spacing:-.025em;font-size:22px}
.es-guide-entete .es-aide{margin:0}
.es-guide-progression{width:220px;height:8px;border-radius:99px;background:#EDEAE4;overflow:hidden}
.es-guide-progression span{display:block;height:100%;border-radius:99px;background:var(--or);transition:width .8s cubic-bezier(.2,.8,.3,1)}
.es-guide-grille{display:grid;grid-template-columns:1fr;gap:16px}
@media (min-width:760px){
  .es-guide-grille{grid-template-columns:repeat(6,1fr)}
  .es-etape:nth-child(-n+2){grid-column:span 3}
  .es-etape:nth-child(n+3){grid-column:span 2}
}
.es-etape{
  position:relative;display:flex;flex-direction:column;min-height:330px;padding:22px 22px 20px;background:#fff;
  border:1px solid var(--trait);border-radius:22px;overflow:hidden;
  transition:border-color .25s ease,transform .25s ease;
}
.es-etape:hover{border-color:#D9D4CB;transform:translateY(-2px)}
.es-etape h3{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em}
.es-etape p{margin:6px 0 0;font-size:14.5px;color:var(--gris);max-width:46ch}
.es-etape-visuel{position:relative;flex:1;min-height:150px;margin:14px -22px 0;display:flex;align-items:center;justify-content:center}
.es-etape-action{position:relative;z-index:2;align-self:flex-start;margin-top:-8px;background:#fff;box-shadow:0 6px 18px -10px rgba(0,0,0,.35)}
.es-etape--faite .es-etape-visuel{opacity:.55;filter:saturate(.7)}
.es-etape-fait{
  position:absolute;top:18px;right:18px;padding:4px 10px;border-radius:6px;background:#DDF5E8;color:#0F7B5A;
  font-size:12px;font-weight:700;
}
.es-etape--faite h3{padding-right:70px}
/* Visuels — produit */
.es-v-photo{
  position:absolute;width:118px;height:118px;object-fit:cover;border-radius:16px;
  box-shadow:0 14px 28px -16px rgba(0,0,0,.45);transition:transform .4s ease;
}
.es-v-photo--1{left:calc(50% - 175px);transform:rotate(-8deg)}
.es-v-photo--2{right:calc(50% - 175px);transform:rotate(7deg)}
.es-etape:hover .es-v-photo--1{transform:rotate(-12deg) translateX(-6px)}
.es-etape:hover .es-v-photo--2{transform:rotate(11deg) translateX(6px)}
.es-v-ajout{
  position:relative;z-index:1;display:grid;place-items:center;width:140px;height:140px;
  border:1.5px dashed #CFC9BE;border-radius:18px;background:#fff;font-size:30px;font-weight:300;
  color:var(--encre);box-shadow:0 18px 30px -22px rgba(0,0,0,.4);transition:transform .25s ease;
}
.es-etape:hover .es-v-ajout{transform:scale(1.04)}
/* Visuels — design */
.es-v-capture{
  position:absolute;width:190px;aspect-ratio:16/10;object-fit:cover;object-position:top;border-radius:12px;
  border:1px solid var(--trait);box-shadow:0 14px 28px -18px rgba(0,0,0,.45);transition:transform .4s ease;
}
.es-v-capture--1{left:calc(50% - 205px);transform:rotate(-6deg)}
.es-v-capture--2{right:calc(50% - 205px);transform:rotate(6deg)}
.es-etape:hover .es-v-capture--1{transform:rotate(-9deg) translateX(-6px)}
.es-etape:hover .es-v-capture--2{transform:rotate(9deg) translateX(6px)}
.es-v-theme{
  position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:16px;
  width:190px;height:120px;padding:16px;border:1.5px dashed #CFC9BE;border-radius:16px;background:#fff;
  box-shadow:0 18px 30px -22px rgba(0,0,0,.4);
}
.es-v-couleurs{display:flex;flex-direction:column;gap:6px}
.es-v-couleurs i{width:20px;height:20px;border-radius:6px;border:1px solid rgba(0,0,0,.06)}
.es-v-theme b{
  display:grid;place-items:center;width:62px;height:62px;border-radius:14px;background:var(--encre);color:#fff;
  font-size:28px;font-weight:600;
}
/* Visuels — paiements */
.es-v-carte{
  position:absolute;display:flex;flex-direction:column;justify-content:space-between;width:150px;height:92px;
  padding:12px 14px;border-radius:14px;box-shadow:0 14px 26px -16px rgba(0,0,0,.45);
  transition:transform .4s ease;
}
.es-v-carte b{font-size:14px}
.es-v-carte small{font-size:12px;opacity:.85;font-variant-numeric:tabular-nums}
.es-v-carte--om{background:#FF7900;color:#fff;transform:translate(-62px,-18px) rotate(-10deg)}
.es-v-carte--momo{background:#FFCC00;color:#1B1813;transform:translate(0,4px) rotate(2deg);z-index:1}
.es-v-carte--cash{background:#0F6E56;color:#fff;transform:translate(62px,24px) rotate(10deg)}
.es-etape:hover .es-v-carte--om{transform:translate(-74px,-22px) rotate(-13deg)}
.es-etape:hover .es-v-carte--cash{transform:translate(74px,28px) rotate(13deg)}
/* Visuels — lien */
.es-etape--lien .es-etape-visuel{
  background-image:linear-gradient(#EFECE6 1px,transparent 1px),linear-gradient(90deg,#EFECE6 1px,transparent 1px);
  background-size:22px 22px;
}
.es-v-url{
  display:flex;align-items:center;max-width:88%;padding:14px 18px;border-radius:14px;background:#fff;
  border:1px solid var(--trait);font-size:16px;box-shadow:0 18px 30px -22px rgba(0,0,0,.4);white-space:nowrap;
  overflow:hidden;
}
.es-v-url span{color:var(--clair,#9C968A)}
.es-v-url b{color:var(--encre);font-weight:600;overflow:hidden;text-overflow:ellipsis}
.es-v-curseur{width:2px;height:20px;margin-left:2px;background:var(--or);animation:es-clignote 1s steps(1) infinite}
@keyframes es-clignote{50%{opacity:0}}
.es-v-fleche{position:absolute;right:22%;bottom:16px;width:30px;height:30px;transition:transform .4s ease}
.es-etape:hover .es-v-fleche{transform:translate(-10px,-8px)}
/* Visuels — livraison */
.es-etape--livraison .es-etape-visuel{flex-direction:column;align-items:flex-start;gap:8px;padding:0 22px}
.es-v-zone{
  display:flex;align-items:center;gap:8px;width:170px;padding:8px 12px;border-radius:12px;background:#fff;
  border:1px solid var(--trait);font-size:13px;box-shadow:0 10px 20px -16px rgba(0,0,0,.4);
}
.es-v-zone i{width:8px;height:8px;border-radius:50%;background:var(--or)}
.es-v-zone b{margin-left:auto;font-weight:600}
.es-v-colis{position:absolute;right:18px;bottom:6px;width:96px;height:96px;transition:transform .4s ease}
.es-etape:hover .es-v-colis{transform:translateY(-6px) rotate(-4deg)}
@media (prefers-reduced-motion:reduce){.es-etape,.es-etape *{transition:none!important;animation:none!important}}

/* =====================================================================
   Guide de lancement en accordéon : cercles orange numérotés, étape
   suivante ouverte, étapes faites repliées (coche verte).
   ===================================================================== */
.es-pas-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.es-pas{position:relative}
/* Trait qui relie les cercles d'une étape à la suivante */
.es-pas::before{content:"";position:absolute;left:40px;top:52px;bottom:-14px;width:2px;background:#E7E2D8;border-radius:2px}
.es-pas:last-child::before{display:none}
.es-pas--fait::before{background:#9ED9BE}
.es-pas details{
  position:relative;background:#fff;border:1px solid var(--trait);border-radius:20px;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.es-pas details[open]{border-color:#EED9AF;box-shadow:0 22px 44px -34px rgba(60,40,0,.5)}
.es-pas summary{display:flex;align-items:center;gap:14px;padding:18px 22px;cursor:pointer;list-style:none;border-radius:20px}
.es-pas summary::-webkit-details-marker{display:none}
.es-pas summary:hover .es-pas-titre{color:var(--encre)}
.es-pas summary:focus-visible{outline:2px solid var(--or);outline-offset:2px}
.es-pas-num{
  position:relative;z-index:1;flex:none;display:grid;place-items:center;width:36px;height:36px;
  border-radius:50%;background:var(--or);color:var(--or-encre);font-size:15px;font-weight:700;
  font-variant-numeric:tabular-nums;
}
.es-pas--suivante .es-pas-num{animation:es-pouls 2.4s ease-in-out infinite}
@keyframes es-pouls{0%,100%{box-shadow:0 0 0 0 rgba(245,166,35,.45)}50%{box-shadow:0 0 0 8px rgba(245,166,35,0)}}
.es-pas--fait .es-pas-num{background:#18A06B;color:#fff;font-size:16px}
.es-pas-titre{flex:1;min-width:0;font-size:17px;font-weight:600;letter-spacing:-.015em}
.es-pas--fait .es-pas-titre{color:var(--gris);font-weight:500}
.es-pas-etat{flex:none;padding:4px 10px;border-radius:6px;background:#DDF5E8;color:#0F7B5A;font-size:12px;font-weight:600}
.es-pas-etat--suivante{background:var(--creme);color:var(--or-d)}
@media (max-width:520px){.es-pas-etat--suivante{display:none}}
.es-pas-chevron{flex:none;width:20px;height:20px;color:#A8A39A;transition:transform .25s ease}
.es-pas details[open] .es-pas-chevron{transform:rotate(180deg)}
/* Contenu d'une étape ouverte : texte + action à gauche, visuel à droite */
.es-pas-corps.es-etape{
  display:grid;grid-template-columns:1fr;gap:18px;min-height:0;margin:0;padding:0 22px 22px 72px;border:0;
  border-radius:0;background:none;overflow:visible;transform:none;
}
.es-pas-corps.es-etape:hover{transform:none;border-color:transparent}
@media (min-width:760px){.es-pas-corps.es-etape{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center}}
@media (max-width:560px){.es-pas-corps.es-etape{padding-left:22px}}
.es-pas details[open] .es-pas-corps{animation:es-deroule .35s cubic-bezier(.2,.7,.3,1)}
@keyframes es-deroule{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.es-pas-texte p{margin:0 0 18px;max-width:42ch;font-size:15px;color:var(--gris)}
.es-pas-texte form{margin:0}
.es-pas-corps .es-etape-visuel{margin:0;min-height:210px;border-radius:16px;background:#FAF9F7;overflow:hidden}
.es-guide-passer{max-width:880px;margin:20px 0 0;text-align:center;font-size:14px}
@media (prefers-reduced-motion:reduce){.es-pas-num,.es-pas details[open] .es-pas-corps{animation:none}}

/* ---------- Lien et partage (espace/_carte_partage.html) ---------- */
.es-carte-partage{display:flex;flex-direction:column;gap:14px}
.es-carte-partage .es-carte-titre{margin:0}
.es-carte-partage .es-aide{margin:0}
/* Aperçu présenté comme une bulle de lien WhatsApp */
.es-apercu-lien{margin:0;max-width:520px;overflow:hidden;border:1px solid var(--trait);border-radius:14px;background:#F0F2F5}
.es-apercu-lien img{display:block;width:100%;height:auto;aspect-ratio:1200/630;background:#E9E9E6}
.es-apercu-lien figcaption{display:flex;flex-direction:column;gap:2px;padding:10px 12px 12px;font-size:13px;line-height:1.4}
.es-apercu-lien strong{font-size:14px}
.es-apercu-lien span{color:var(--gris);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.es-apercu-lien small{color:#8A8A85}
.es-partage-canaux{display:flex;flex-wrap:wrap;gap:8px}
/* Adresse : début fixe (boutique) + partie modifiable */
.es-adresse{display:flex;align-items:stretch;min-width:0;border:1px solid var(--trait);border-radius:10px;background:#fff;overflow:hidden}
.es-adresse span{
  display:flex;align-items:center;padding:0 4px 0 12px;background:#F6F6F4;color:var(--gris);font-size:14px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%;
}
.es-champ .es-adresse input{flex:1;min-width:0;border:0;border-radius:0;box-shadow:none}
.es-adresse:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-clair)}
.es-lien-partage{display:inline-flex;align-items:center;gap:6px;text-decoration:none;font-size:14px}
.es-lien-partage svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- D'où viennent vos clients (tableau de bord) ---------- */
.es-provenances-liste{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:12px}
.es-provenances-liste li{
  display:grid;grid-template-columns:minmax(90px,140px) 1fr auto;grid-template-rows:auto auto;column-gap:12px;
  align-items:center;
}
.es-provenance-nom{font-size:14px;font-weight:500}
.es-provenance-barre{height:8px;border-radius:99px;background:#F1F1EE;overflow:hidden}
.es-provenance-barre span{display:block;height:100%;border-radius:99px;background:var(--accent)}
.es-provenances-liste strong{font-size:14px;font-variant-numeric:tabular-nums;text-align:right}
.es-provenances-liste small{grid-column:2 / 4;font-size:12px;color:var(--gris)}

/* Aperçu du lien de la boutique, replié sous la carte « Lien de votre boutique » */
.es-apercu-replie{margin-top:14px}
.es-apercu-replie summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:38px;padding:0 2px;text-decoration:none}
.es-apercu-replie summary::-webkit-details-marker{display:none}
.es-apercu-replie[open] summary{margin-bottom:12px}
.es-apercu-replie .es-aide{margin:10px 0 0}

/* ---------- Avis clients ---------- */
.es-avis{padding:14px 0;border-bottom:1px solid #F0F0EE}
.es-avis:last-child{border-bottom:0}
.es-avis-tete{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.es-avis-etoiles{display:inline-flex;gap:2px}
.es-avis-etoiles svg{width:16px;height:16px;fill:var(--trait);stroke:none}
.es-avis-etoiles svg.es-etoile--pleine{fill:var(--accent)}
.es-avis-texte{margin:8px 0 0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.es-avis-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.es-prix-barre{color:var(--gris);font-size:13px;margin-right:4px}

/* ---------- Paramètres ----------
   Menu des rubriques à gauche (ordinateur) ou en bande défilante (téléphone),
   contenu de la rubrique à droite. La déconnexion est en bas du menu. */
.es-action--actif{background:var(--creme);color:var(--or-d)}
.es-champ input[type=email],.es-champ input[type=tel]{
  box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:44px;padding:11px 14px;border:1px solid var(--trait);
  border-radius:10px;background:#fff;font:inherit;font-size:15px;color:var(--encre);
}
.es-parametres{display:grid;gap:16px;align-items:start}
@media (min-width:860px){
  .es-parametres{grid-template-columns:290px minmax(0,1fr);grid-template-rows:auto 1fr;gap:12px 28px}
  .es-parametres-menu{grid-column:1;grid-row:1}
  .es-parametres-contenu{grid-column:2;grid-row:1 / span 2}
  .es-parametres-sortie{grid-column:1;grid-row:2}
}
.es-parametres-menu{min-width:0}
.es-parametres-liens{
  display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px;
  margin:0 -16px;padding-left:16px;padding-right:16px;
}
.es-parametres-liens::-webkit-scrollbar{display:none}
@media (min-width:860px){
  .es-parametres-liens{flex-direction:column;gap:2px;overflow:visible;margin:0;padding:8px;background:#fff;border:1px solid var(--trait);border-radius:16px}
}
.es-parametres-liens a{
  flex:none;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 14px;border-radius:99px;
  font-size:14px;color:var(--gris);white-space:nowrap;background:#fff;border:1px solid var(--trait);transition:background .18s,color .18s;
}
@media (min-width:860px){.es-parametres-liens a{border:0;border-radius:10px;font-size:15px}}
.es-parametres-liens a .es-ic{width:18px;height:18px;color:#A8A8AD}
.es-parametres-liens a:hover{color:var(--encre);background:#F4F3F0}
.es-parametres-liens a.es-actif{color:var(--encre);font-weight:600;background:var(--creme);border-color:#F3DDB5}
.es-parametres-liens a.es-actif .es-ic{color:var(--or)}
.es-parametres-liens a.es-parametres-danger,.es-parametres-liens a.es-parametres-danger .es-ic{color:#B42318}
.es-parametres-sortie{margin:0}
.es-parametres-sortie .es-bouton{width:100%;justify-content:center}
@media (max-width:859px){.es-parametres-sortie{margin-top:8px}}
.es-parametres-contenu{min-width:0}
.es-parametres-titre{margin:0 0 14px;font-size:20px;font-weight:600}
.es-aide--bas{margin:12px 0 0}
.es-liste-points{margin:0 0 4px;padding-left:20px;font-size:14px;line-height:1.7;color:var(--encre)}
.es-carte--alerte{border-color:#F6CACA;background:#FFF8F7}
.es-appareil{gap:14px}
.es-appareil form{margin:0}
.es-appareil-ic{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#F4F3F0;color:var(--gris)}
.es-appareil-actuel{color:#0F6E56;font-weight:600}
.es-formules{display:grid;gap:10px;margin-bottom:16px}
@media (min-width:600px){.es-formules{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}
.es-formule-carte{border:1px solid var(--trait);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.es-formule-carte--actuelle{border-color:var(--or);box-shadow:inset 0 0 0 1px var(--or);background:var(--creme)}
.es-formule-carte small{color:var(--gris);font-size:13px}
.es-formule-prix{margin:4px 0 0;font-size:20px;font-weight:700}
.es-formule-prix small{font-size:13px;font-weight:400}
.es-formule-carte .es-liste-points{margin-top:8px}

/* Changement de rubrique des paramètres : blocs gris pendant le chargement */
.es-squelette{display:flex;flex-direction:column;gap:10px}
.es-squelette span{display:block;border-radius:10px;background:linear-gradient(90deg,#EFEDE9 25%,#F7F5F2 50%,#EFEDE9 75%);background-size:200% 100%;animation:es-squelette 1.2s ease-in-out infinite}
.es-squelette-barre{height:14px}
.es-squelette-champ{height:44px;margin-bottom:8px}
.es-squelette-bouton{width:130px;height:44px;margin-top:4px}
@keyframes es-squelette{from{background-position:100% 0}to{background-position:-100% 0}}
@media (prefers-reduced-motion:reduce){.es-squelette span{animation:none}}
.es-parametres-titre:focus{outline:none}

/* Navigation en arrière-plan : contenu grisé sous des onglets, lignes de liste en chargement */
.es-grise{opacity:.4 !important;pointer-events:none;filter:grayscale(.6);transition:opacity .15s}
.es-squelette-ligne{height:52px}
.es-squelette + .es-squelette{margin-top:16px}
.es-entete .es-titre:focus{outline:none}

/* Pagination des longues listes (commandes) */
.es-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 16px;font-size:14px;color:var(--gris)}

/* Paramètres > Langue */
.es-choix-langue{border:0;padding:0;margin:0 0 22px}
.es-choix-langue legend{font-size:14px;font-weight:600;margin-bottom:10px}
.es-option-langue{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;border-radius:12px;background:var(--gris-fond);cursor:pointer;font-size:15px}
.es-option-langue input{accent-color:var(--accent);width:18px;height:18px;margin:0}
.es-option-langue:has(input:checked){background:var(--accent-clair);font-weight:600}

/* Version anglaise : repliée par défaut, ouverte à la demande dans chaque partie du formulaire */
.es-champ[hidden]{display:none}
.es-anglais{margin:4px 0 16px;border:1px dashed #E4DED4;border-radius:14px;background:var(--es-canvas)}
.es-anglais[open]{border-style:solid;background:#fff}
.es-anglais > summary{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;list-style:none;font-size:14px;font-weight:500;border-radius:14px}
.es-anglais > summary::-webkit-details-marker{display:none}
.es-anglais > summary:hover{background:rgba(245,166,35,.07)}
.es-anglais > summary:focus-visible{outline:none;box-shadow:0 0 0 4px rgba(245,166,35,.25)}
.es-anglais-drapeau{flex:none;display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:6px;background:#1D1D1F;color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em}
.es-anglais-titre{flex:1}
.es-anglais-etat{font-size:12px;font-weight:600;color:#1A7F4B;background:#E8F6EE;padding:3px 9px;border-radius:999px}
.es-anglais-fleche{flex:none;width:18px;height:18px;color:var(--gris);transition:transform .2s var(--rebond)}
.es-anglais[open] .es-anglais-fleche{transform:rotate(45deg)}
.es-anglais-champs{padding:2px 14px 4px}
.es-anglais-champs > .es-aide{margin:0 0 14px}
.es-carte > .es-anglais:last-child{margin-bottom:0}

/* ---------- Souscription à une formule (Paramètres > Abonnement > Choisir) ---------- */
.es-etapes{display:flex;gap:6px;margin:0 0 16px;padding:0;list-style:none;font-size:13px;color:var(--gris)}
.es-etapes li{display:flex;align-items:center;gap:8px;flex:1;padding:10px 12px;border-radius:12px;background:var(--es-surface);border:1px solid var(--trait)}
.es-etapes span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--gris-fond);font-weight:700;font-size:12px;flex:none}
.es-etapes .es-etape--active{color:var(--encre);font-weight:600;border-color:var(--or)}
.es-etapes .es-etape--active span{background:var(--or);color:var(--or-encre)}
.es-etapes .es-etape--faite span{background:#E8F6EE;color:#1A7F4B}
.es-formules--choix{margin:0}
.es-formule-option{position:relative;display:block;cursor:pointer}
.es-formule-option > input{position:absolute;opacity:0;pointer-events:none}
.es-formule-option-corps{display:flex;flex-direction:column;gap:2px;height:100%;padding:14px 16px;border:1px solid var(--trait);border-radius:14px;transition:border-color .15s,box-shadow .15s,background .15s}
.es-formule-option-corps strong em{font-style:normal;font-size:11px;font-weight:700;margin-left:6px;padding:2px 8px;border-radius:999px;background:var(--or);color:var(--or-encre);vertical-align:2px}
.es-formule-option-corps small{color:var(--gris);font-size:13px}
.es-formule-option > input:checked + .es-formule-option-corps{border-color:var(--or);box-shadow:inset 0 0 0 1px var(--or);background:var(--creme)}
.es-formule-option > input:focus-visible + .es-formule-option-corps{box-shadow:0 0 0 4px rgba(245,166,35,.25)}
.es-durees{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:16px}
.es-duree{position:relative;cursor:pointer}
.es-duree[hidden]{display:none}
.es-duree > input{position:absolute;opacity:0;pointer-events:none}
.es-duree > span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:12px;background:var(--gris-fond);border:1px solid transparent}
.es-duree small{font-size:12px;color:var(--gris)}
.es-duree > input:checked + span{background:var(--creme);border-color:var(--or)}
.es-duree > input:focus-visible + span{box-shadow:0 0 0 4px rgba(245,166,35,.25)}
.es-code-reduction{max-width:320px;margin-bottom:0}
.es-recap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.es-recap .es-aide{margin:2px 0 0}
.es-recap-libelle{margin:0;font-size:14px;color:var(--gris)}
.es-recap-montant{margin:2px 0 4px;font-size:16px}
.es-recap-montant strong{font-size:30px;letter-spacing:-.02em}
.es-instructions{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:12px;font-size:15px;line-height:1.5}
.es-numeros{display:grid;gap:8px;margin:10px 0 6px}
@media (min-width:600px){.es-numeros{grid-template-columns:1fr 1fr}}
.es-numero{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border-radius:12px;background:var(--gris-fond)}
.es-numero-ligne{display:flex;align-items:center;gap:10px}
.es-numero small{font-size:13px;color:var(--gris);line-height:1.45}
.es-numero-consignes{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--encre) !important}
.es-numero strong{flex:1;font-size:17px;letter-spacing:.02em}
.es-numero-operateur{font-size:12px;font-weight:700;padding:3px 8px;border-radius:6px;color:#fff;background:#1D1D1F}
.es-numero--orange_money .es-numero-operateur{background:#FF7900}
.es-numero--mtn_momo .es-numero-operateur{background:#FFCC00;color:#1D1D1F}
.es-bouton--petit{padding:6px 12px;font-size:13px;min-height:0}
.es-moyens{display:grid;gap:8px}
@media (min-width:600px){.es-moyens{grid-template-columns:1fr 1fr}}
.es-moyens .es-option-langue{margin:0}
.es-attente{border-color:#F3DDB5;background:var(--creme)}
.es-attente form{margin-top:4px}
.es-formule-choisir{margin-top:auto;align-self:flex-start}
.es-formule-carte .es-liste-points{margin-bottom:12px}

/* ---------- QR code imprimable de la boutique ---------- */
.es-lien-qr{display:inline-flex;align-items:center;gap:8px;margin-top:10px;font-weight:600}
.es-lien-qr svg{width:18px;height:18px;fill:currentColor}
.es-qr{display:grid;gap:20px;align-items:start}
@media (min-width:900px){.es-qr{grid-template-columns:minmax(0,420px) minmax(0,1fr)}}
.es-affiche{
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;max-width:420px;width:100%;
  margin:0 auto;padding:28px 28px 22px;border-radius:24px;background:#fff;border:2px solid var(--affiche);
  box-shadow:var(--es-ombre);-webkit-print-color-adjust:exact;print-color-adjust:exact;
}
.es-affiche-identite{display:flex;align-items:center;gap:12px;font-size:22px;letter-spacing:-.01em}
.es-affiche-logo{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}
.es-affiche-logo--lettre{display:grid;place-items:center;background:var(--affiche);color:#fff;font-weight:700;font-size:24px}
.es-affiche-titre{margin:10px 0 0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.1}
.es-affiche-titre--second{margin-top:0;font-size:18px;font-weight:600;color:var(--gris)}
.es-affiche-qr{width:100%;max-width:280px;margin:8px 0;padding:14px;border-radius:18px;border:3px solid var(--affiche)}
.es-affiche-qr svg{display:block;width:100%;height:auto}
/* Tracés du QR code tels que segno les dessine (sans les styles d'icônes de l'espace) */
.es-affiche-qr svg path{fill:none !important;stroke-width:1 !important;stroke-linecap:butt !important;stroke-linejoin:miter !important;shape-rendering:crispEdges}
.es-affiche-qr svg rect,.es-affiche-qr svg circle,.es-affiche-qr svg text,.es-affiche-qr svg image{stroke:none !important}
.es-affiche-qr svg rect{fill:#fff !important}
.es-affiche-qr svg text{font-family:var(--police-titres, sans-serif)}
.es-affiche-texte{margin:0;font-size:15px;color:var(--encre)}
.es-affiche-lien{margin:4px 0 0;padding:6px 14px;border-radius:999px;background:var(--gris-fond);font-weight:700;font-size:15px}
.es-affiche-mention{margin:6px 0 0;font-size:12px;color:var(--gris)}
.es-qr-actions{display:flex;flex-direction:column;gap:10px}
.es-qr-actions .es-bouton{justify-content:center}

/* ---------- Paiement automatique (API Orange Money / MTN MoMo) ---------- */
.es-paiement-direct{border-color:var(--or);box-shadow:inset 0 0 0 1px var(--or)}
.es-operateur .es-numero-operateur{font-size:14px;padding:5px 10px}
.es-operateur--orange_money .es-numero-operateur{background:#FF7900}
.es-operateur--mtn_momo .es-numero-operateur{background:#FFCC00;color:#1D1D1F}
.es-paiement-etapes{margin:12px 0 0;padding:0;list-style:none;font-size:13px;color:var(--gris)}
.es-paiement-etapes li[hidden]{display:none}
.es-bouton--large{width:100%;justify-content:center;font-size:16px;padding:14px 18px}
.es-autre-paiement > summary{cursor:pointer;font-weight:600;list-style:none}
.es-autre-paiement > summary::-webkit-details-marker{display:none}
.es-autre-paiement > summary::after{content:" ▾";color:var(--gris)}
.es-autre-paiement[open] > summary{margin-bottom:16px}
.es-autre-paiement .es-declaration{margin-top:18px;padding-top:18px;border-top:1px solid var(--trait)}
.es-suivi{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:36px 24px}
.es-suivi .es-carte-titre{margin:6px 0 0;font-size:20px}
.es-suivi .es-aide{max-width:520px;margin:0}
.es-suivi-icone{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;font-size:28px;font-weight:700}
.es-suivi--reussi .es-suivi-icone{background:#E8F6EE;color:#1A7F4B}
.es-suivi--echoue .es-suivi-icone{background:#FDECEC;color:#B42318}
.es-suivi-attente{width:52px;height:52px;border-radius:50%;border:4px solid var(--gris-fond);border-top-color:var(--or);animation:es-tourne 1s linear infinite}
@keyframes es-tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.es-suivi-attente{animation:none}}
.es-suivi-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:12px}

/* ---------- Fiche produit en onglets ---------- */
.es-fiche-onglets{
  display:flex;gap:4px;margin:0 0 16px;padding:4px;border-radius:12px;background:#F1EFEB;
  overflow-x:auto;scrollbar-width:none;position:sticky;top:calc(var(--hauteur-entete,0px) + 8px);z-index:5;
}
.es-fiche-onglets[hidden]{display:none}
.es-fiche-onglets::-webkit-scrollbar{display:none}
.es-fiche-onglets button{
  flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 14px;border:0;border-radius:9px;
  background:transparent;font:inherit;font-size:14px;font-weight:500;color:var(--gris);cursor:pointer;white-space:nowrap;
  position:relative;transition:background .2s,color .2s;
}
.es-fiche-onglets button .es-ic{width:17px;height:17px}
.es-fiche-onglets button:hover{background:rgba(255,255,255,.6);color:var(--encre)}
.es-fiche-onglets button[aria-selected=true]{background:#fff;color:var(--encre);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.es-fiche-onglets button[aria-selected=true] .es-ic{color:var(--or)}
.es-fiche-onglets button:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(245,166,35,.35)}
.es-onglet-nombre{min-width:20px;padding:1px 6px;border-radius:999px;background:rgba(0,0,0,.06);font-size:12px;font-weight:600}
.es-onglet--erreur::after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:#B42318}
.es-volet[hidden]{display:none}
.es-volet > .es-carte{margin-bottom:0}
.es-onglet-court{display:none}
@media (max-width:600px){
  .es-fiche-onglets button{flex:1 1 0;min-width:0;padding:9px 6px;gap:5px;font-size:13px}
  .es-fiche-onglets button .es-ic{display:none}
  .es-onglet-long{display:none}
  .es-onglet-court{display:inline}
  .es-onglet-nombre{min-width:18px;padding:1px 5px;font-size:11px}
}

/* ---------- Téléphone : barre d'onglets en bas et feuille « Plus » ---------- */
.es-barre-mobile,.es-feuille-plus{display:none}
@media (max-width:767px){
  body.es{padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  .es-barre-mobile{
    position:fixed;left:0;right:0;bottom:0;z-index:90;display:grid;grid-template-columns:repeat(5,1fr);
    padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.97);
    border-top:1px solid var(--trait);box-shadow:0 -6px 20px rgba(29,29,31,.06);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  }
  .es-barre-mobile > a,.es-barre-mobile > button{
    position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
    min-height:54px;padding:6px 2px;border:0;border-radius:12px;background:none;font:inherit;font-size:11px;
    font-weight:500;color:var(--gris);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .es-barre-mobile .es-ic{width:23px;height:23px;fill:currentColor}
  .es-barre-mobile > .es-actif{color:var(--or-d);font-weight:700}
  .es-barre-mobile > .es-actif::before{content:"";position:absolute;top:4px;left:50%;width:42px;height:30px;transform:translateX(-50%);border-radius:999px;background:var(--creme);z-index:-1}
  .es-barre-mobile > .es-actif .es-ic{color:var(--or)}
  .es-barre-mobile > a:active,.es-barre-mobile > button:active{transform:scale(.95)}
  .es-barre-badge{position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--or);color:var(--or-encre);font-size:11px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px #fff}
  .es-barre-badge--point{min-width:10px;width:10px;height:10px;padding:0;top:6px;left:calc(50% + 8px)}

  .es-feuille-plus[open]{
    display:block;position:fixed;inset:auto 0 0 0;width:100%;max-width:none;margin:0;max-height:85vh;overflow-y:auto;
    padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));border:0;border-radius:22px 22px 0 0;background:#fff;
    box-shadow:0 -12px 40px rgba(29,29,31,.2);animation:es-feuille-monte .25s cubic-bezier(.2,.8,.2,1);
  }
  .es-feuille-plus::backdrop{background:rgba(29,29,31,.35)}
  .es-feuille-poignee{width:40px;height:5px;margin:4px auto 12px;border-radius:999px;background:#DDD9D2}
  .es-feuille-liens{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
  .es-feuille-liens a{
    position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:14px;border-radius:14px;
    background:var(--gris-fond);color:var(--encre);font-size:14px;font-weight:600;text-decoration:none;
  }
  .es-feuille-liens a .es-ic{width:22px;height:22px;color:var(--or-d)}
  .es-feuille-liens a.es-actif{background:var(--creme);box-shadow:inset 0 0 0 1px var(--or)}
  .es-feuille-liens .es-barre-badge{top:10px;left:auto;right:10px}
  .es-feuille-plus form .es-bouton{width:100%;justify-content:center}
}
@keyframes es-feuille-monte{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.es-feuille-plus[open]{animation:none}}

.es-qr-offre{padding:14px;border-radius:12px;background:var(--creme);border:1px solid #F3DDB5}
.es-qr-offre .es-aide{margin:4px 0 8px}

/* ---------- Campagnes & challenges Doubayi (tableau de bord) ---------- */
.es-campagne{border-color:#F3DDB5;background:linear-gradient(180deg,var(--creme),#fff 70%)}
.es-campagne-entete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.es-campagne-etiquette{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--or);color:var(--or-encre);font-size:12px;font-weight:700}
.es-campagne-etiquette .es-ic{width:14px;height:14px}
.es-campagne-entete small{font-size:12px;color:var(--gris)}
.es-campagne .es-carte-titre{margin:0 0 6px}
.es-campagne-objectifs{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.es-campagne-ligne{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:6px}
.es-campagne-ligne strong{flex:none;white-space:nowrap;font-variant-numeric:tabular-nums}
.es-campagne-barre{height:8px;border-radius:999px;background:#EFEDE8;overflow:hidden}
.es-campagne-barre i{display:block;height:100%;border-radius:inherit;background:var(--or);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.es-campagne-objectif--atteint .es-campagne-barre i{background:#1A9B5C}
.es-campagne-objectif--atteint .es-campagne-ligne span{color:#1A7F4B;font-weight:600}
.es-campagne-objectifs .es-lien{display:inline-block;margin-top:6px;font-size:13px}
.es-campagne-bravo{margin:14px 0 0;padding:10px 12px;border-radius:10px;background:#E8F6EE;color:#1A7F4B;font-weight:600;font-size:14px}
