/* beautyShop : compléments de theme.css propres à la boutique */
[x-cloak]{display:none!important}
.form-control,.form-select,.nav-link{min-height:var(--ui-cible)}
.btn-sm{min-height:36px}
body{overflow-x:hidden}
.toast-container{bottom:72px!important;z-index:1080}
@media(min-width:768px){.toast-container{bottom:0!important}}
/* photos produit */
.produit-photo{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:.8rem .8rem 0 0;display:block}
.ligne-photo{width:72px;height:72px;aspect-ratio:auto;object-fit:cover;font-size:2rem;border-radius:.8rem}
.navbar .badge{font-size:.65rem}

/* ---------- carte produit compacte ---------- */
.carte-produit{overflow:hidden}
.carte-photo{position:relative}
.carte-photo .produit-ph{display:grid;aspect-ratio:5/4;font-size:2.2rem;text-decoration:none}
.carte-produit-corps{display:flex;flex-direction:column;gap:.15rem;padding:.6rem .65rem .65rem}
.carte-produit-nom{color:var(--bs-body-color);font-weight:600;font-size:.85rem;line-height:1.3;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.carte-produit-nom:hover{color:#1a6079}
.carte-produit-actions{display:flex;align-items:center;gap:.4rem;margin-top:auto;padding-top:.5rem}
.carte-produit-ajout{flex:1 1 auto;min-width:0;margin:0}
.carte-produit-ajout.btn,.carte-produit-ajout .btn{padding-left:.5rem;padding-right:.5rem;white-space:nowrap}
.carte-fleche{position:absolute;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#fff;cursor:pointer}
.carte-fleche .material-icons{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(8,70,91,.55);font-size:22px;transition:background-color .15s}
.carte-fleche:hover .material-icons,.carte-fleche:focus-visible .material-icons{background:rgba(8,70,91,.85)}
.carte-fleche:focus-visible{outline:3px solid rgba(26,96,121,.45)}
.carte-fleche-prec{left:0}
.carte-fleche-suiv{right:0}

/* ---------- bouton like ---------- */
.bouton-like{flex:none;margin:0}
.bouton-like-bouton{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;min-width:44px;min-height:44px;padding:0 .55rem;border:0;border-radius:99px;background:transparent;color:#5d7480;font-size:.85rem;font-weight:600;cursor:pointer;transition:color .15s,background-color .15s}
.bouton-like-bouton .material-icons{font-size:22px}
.bouton-like-bouton:hover{background:#fbeeec;color:#d1908a}
.bouton-like-bouton.est-aime{color:#d1908a}
.bouton-like-bouton:focus-visible{outline:3px solid rgba(26,96,121,.45)}

/* ---------- fiche produit ---------- */
.fiche-galerie{max-width:420px;margin-inline:auto}
.fiche-photo{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.fiche-miniatures{display:flex;gap:.5rem;margin-top:.6rem;overflow-x:auto;padding-bottom:.25rem}
.fiche-miniature{flex:none;width:56px;height:56px;padding:0;border:2px solid transparent;border-radius:.6rem;overflow:hidden;background:none;opacity:.7;cursor:pointer}
.fiche-miniature img{width:100%;height:100%;object-fit:cover;display:block}
.fiche-miniature.est-active{border-color:#1a6079;opacity:1}
.fiche-description{color:var(--bs-secondary-color);margin-bottom:1rem}
.fiche-informations{--bs-accordion-border-radius:.9rem;--bs-accordion-inner-border-radius:.8rem;--bs-accordion-active-bg:#e6f0f3;--bs-accordion-active-color:#08465b;--bs-accordion-btn-focus-box-shadow:0 0 0 .2rem rgba(26,96,121,.25);--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%2308465b'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}
.fiche-informations .accordion-button{font-weight:600;min-height:48px}
.stepper{display:inline-flex;align-items:center;height:44px;border:1px solid #dfe6e8;border-radius:99px;background:#fff}
.stepper-bouton{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#1a6079;cursor:pointer}
.stepper-bouton:hover{background:#e6f0f3}
.stepper-valeur{width:2.5rem;min-height:0;border:0;background:transparent;text-align:center;font-weight:600;padding:0}
.stepper-valeur:focus{outline:0}

/* ---------- commentaires ---------- */
.commentaire-formulaire,.commentaire-invitation{padding:1rem;border-radius:1rem;background:#fff;box-shadow:0 2px 10px rgba(8,70,91,.08)}
.commentaire-invitation{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;color:#1a6079}
.commentaire-invitation p{flex:1 1 12rem;color:var(--bs-body-color)}
.commentaire{padding:.75rem 0;border-bottom:1px solid #edf1f2}
.commentaire-entete{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}
.commentaire-auteur{font-weight:600;color:#08465b}
.commentaire-date{font-size:.78rem;color:#5d7480}
.commentaire-texte{margin:.25rem 0 0;overflow-wrap:anywhere}

/* ---------- choix de variante ---------- */
.liste-variantes{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.variante-ligne{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.25rem .75rem;padding:.7rem .9rem;border:1px solid #dfe6e8;border-radius:.9rem}
.variante-infos{display:flex;flex-direction:column}
.variante-stock{grid-column:1;grid-row:2}
.variante-ligne form,.variante-ligne>.btn{grid-column:2;grid-row:1 / span 2}

/* ---------- onglets du compte ---------- */
.onglets-compte{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:2px solid #e4e9ea}
.onglet-compte{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:48px;margin-bottom:-2px;padding:0 .75rem;border:0;border-bottom:3px solid transparent;background:transparent;color:#5d7480;font-weight:600;text-decoration:none;cursor:pointer}
.onglet-compte:hover{color:#08465b}
.onglet-compte.est-actif{color:#08465b;border-bottom-color:#d1908a}
.onglet-compte:focus-visible{outline:3px solid rgba(26,96,121,.45);outline-offset:-3px}

/* ---------- filtres du catalogue ---------- */
.ligne-tri .selecteur{min-width:min(100%,16rem)}

/* ---------- pied de page ---------- */
.pied-de-page{margin-top:2rem;background:#08465b;color:rgba(255,255,255,.85)}
.pied-de-page-marque{margin:0 0 .25rem;font-size:1.25rem;font-weight:700;color:#fff}
.pied-de-page-titre{margin:0 0 .5rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#e7a89f}
.pied-de-page-texte{font-size:.9rem}
.pied-de-page-liste{margin:0;padding:0;list-style:none}
.pied-de-page-liste a,.pied-de-page-lieu{display:inline-flex;align-items:center;gap:.5rem;min-height:36px;color:rgba(255,255,255,.85);text-decoration:none;font-size:.92rem;overflow-wrap:anywhere}
.pied-de-page-liste a:hover,.pied-de-page-liste a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:.2em}
.pied-de-page .material-icons{font-size:20px;color:#e7a89f}
.pied-de-page-bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.25rem 1rem;padding:.9rem 0;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem;color:rgba(255,255,255,.7)}

/* ---------- barre d'onglets mobile ---------- */
.tabbar a .material-icons{display:block;margin:0 auto;font-size:24px}

/* ---------- frise de suivi (icônes Material) ---------- */
.etapes-suivi .etape-icone{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 6px;border-radius:50%;background:#fff;border:3px solid #e4e9ea;position:relative}
.etapes-suivi .etape.fait .etape-icone{background:#1a6079;border-color:#1a6079;color:#fff}
.etapes-suivi .etape.cours .etape-icone{border-color:#d1908a;color:#d1908a}
/* Le snackbar reste au-dessus de la barre d'onglets mobile. */
@media(max-width:767.98px){body.avec-tabbar{--snackbar-decalage:80px}}
