/*!
 * Plutus Market - Panier de commande WhatsApp.
 * Charte du site : bordeaux #680808, accent #941A24, creme #F8F1E9,
 * encre #170A0C, bord #DCD2C6. Aucune ombre portee.
 * Cibles tactiles : 44px minimum.
 */

/* ---------- Bouton "Ajouter au panier" ---------- */

.plutus-ajout-panier{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid #680808;
  border-radius:8px;
  background:transparent;
  color:#680808;
  font-size:13.5px;
  font-weight:600;
  line-height:1.2;
  cursor:pointer;
  font-family:inherit;
  transition:background .16s ease,color .16s ease;
}
.plutus-ajout-panier:hover{background:#680808;color:#F8F1E9;}
.plutus-ajout-panier:focus-visible{outline:2px solid #170A0C;outline-offset:2px;}
.plutus-ajout-panier.est-ajoute{background:#1E5B32;border-color:#1E5B32;color:#F8F1E9;}

.plutus-ajout-panier--fiche{margin-top:10px;}

@media (prefers-reduced-motion:reduce){
  .plutus-ajout-panier{transition:none;}
}

/* ---------- Declencheur dans l'entete ---------- */

.plutus-panier-bouton{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:44px;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:8px;
  background:transparent;
  color:#170A0C;
  font-size:14px;
  font-weight:600;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
}
.plutus-panier-bouton:hover,
.plutus-panier-bouton[aria-expanded="true"]{border-color:#680808;color:#680808;}
.plutus-panier-bouton:focus-visible{outline:2px solid #680808;outline-offset:2px;}
.plutus-panier-icone{display:inline-flex;color:#680808;}

.plutus-panier-compte{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:21px;
  height:21px;
  padding:0 6px;
  border-radius:11px;
  background:#680808;
  color:#F8F1E9;
  font-size:12px;
  font-weight:700;
}
.plutus-panier-compte[hidden]{display:none;}

/* ---------- Panneau ---------- */

.plutus-panier-fond{
  position:fixed;
  inset:0;
  z-index:9998;
  background:rgba(23,10,12,.45);
}
.plutus-panier-fond[hidden]{display:none;}

.plutus-panier{
  position:fixed;
  top:0;
  right:0;
  bottom:0;
  z-index:9999;
  width:min(420px,100%);
  display:flex;
  flex-direction:column;
  background:#F8F1E9;
  border-left:1px solid #DCD2C6;
  color:#170A0C;
}
.plutus-panier[hidden]{display:none;}
body.plutus-panier-ouvert{overflow:hidden;}

/* La barre d'administration de WordPress est fixee en haut : sans decalage,
   elle recouvrait le titre et le bouton de fermeture du panier. */
body.admin-bar .plutus-panier{top:32px;}
@media screen and (max-width:782px){
  body.admin-bar .plutus-panier{top:46px;}
}
@media screen and (max-width:600px){
  body.admin-bar .plutus-panier{top:0;}
}

.plutus-panier__tete{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid #DCD2C6;
  background:#FFFFFF;
}
.plutus-panier__tete h2{margin:0;font-size:20px;color:#680808;}
.plutus-panier__tete h2:focus-visible{outline:2px solid #680808;outline-offset:3px;}

.plutus-panier__fermer{
  width:44px;
  height:44px;
  flex:0 0 44px;
  border:1px solid #DCD2C6;
  border-radius:8px;
  background:#F8F1E9;
  color:#680808;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.plutus-panier__fermer:hover{background:#EDE3D6;}
.plutus-panier__fermer:focus-visible{outline:2px solid #680808;outline-offset:2px;}

.plutus-panier__corps{flex:1 1 auto;overflow-y:auto;padding:16px 18px;}
.plutus-panier__corps[aria-busy="true"]{opacity:.6;}

.plutus-panier__vide{
  margin:0;
  padding:18px;
  background:#EDE3D6;
  border-radius:10px;
  font-size:14.5px;
  line-height:1.5;
}

.plutus-panier__avertis{
  margin:0 0 14px;
  padding:12px 14px 12px 32px;
  background:#FBF3DA;
  border-left:3px solid #C8A24A;
  border-radius:0 8px 8px 0;
  font-size:13px;
  line-height:1.5;
}

.plutus-panier__lignes{list-style:none;margin:0;padding:0;display:grid;gap:14px;}

.plutus-panier__ligne{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:12px;
  align-items:start;
  padding-bottom:14px;
  border-bottom:1px solid #DCD2C6;
}
.plutus-panier__ligne:last-child{border-bottom:0;padding-bottom:0;}

.plutus-panier__media img,
.plutus-panier__vignette-vide{
  display:block;
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:8px;
  background:#EDE3D6;
}

.plutus-panier__infos{min-width:0;}
.plutus-panier__nom{
  display:block;
  font-size:14.5px;
  font-weight:600;
  line-height:1.3;
  color:#170A0C;
  text-decoration:none;
}
.plutus-panier__nom:hover{color:#680808;text-decoration:underline;}
.plutus-panier__prix{margin:3px 0 8px;font-size:13px;color:#5B4F4A;}

/* Astra impose sa largeur et son habillage aux <button> et aux champs de
   formulaire : les trois commandes de quantite passaient a la ligne et le
   champ prenait toute la largeur. On fige donc leur dimension ici, avec assez
   de specificite pour tenir. */
.plutus-panier .plutus-panier__qte{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:nowrap;
}

.plutus-panier button.plutus-panier__pas{
  flex:0 0 36px;
  width:36px;
  min-width:36px;
  height:36px;
  padding:0;
  margin:0;
  border:1px solid #B9AFA6;
  border-radius:6px;
  background:#FFFFFF;
  color:#680808;
  font-size:17px;
  line-height:1;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.plutus-panier button.plutus-panier__pas:hover{background:#EDE3D6;color:#680808;}
.plutus-panier button.plutus-panier__pas:focus-visible{outline:2px solid #680808;outline-offset:2px;}

.plutus-panier input.plutus-panier__champ{
  flex:0 0 54px;
  width:54px;
  min-width:54px;
  height:36px;
  padding:0 4px;
  margin:0;
  text-align:center;
  border:1px solid #B9AFA6;
  border-radius:6px;
  background:#FFFFFF;
  color:#170A0C;
  font-size:14px;
  box-shadow:none;
  -moz-appearance:textfield;
}
.plutus-panier input.plutus-panier__champ::-webkit-outer-spin-button,
.plutus-panier input.plutus-panier__champ::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.plutus-panier button.plutus-panier__retirer{
  flex:0 0 auto;
  min-height:36px;
  height:36px;
  padding:0 8px;
  margin:0;
  border:0;
  background:transparent;
  color:#941A24;
  font-size:13px;
  text-decoration:underline;
  cursor:pointer;
  font-family:inherit;
  white-space:nowrap;
}
.plutus-panier__retirer:focus-visible{outline:2px solid #941A24;outline-offset:2px;}

.plutus-panier__sous{margin:0;font-size:14.5px;font-weight:700;color:#680808;white-space:nowrap;}

/* ---------- Pied ---------- */

.plutus-panier__pied{
  flex:0 0 auto;
  padding:16px 18px;
  border-top:1px solid #DCD2C6;
  background:#FFFFFF;
}
.plutus-panier__pied[hidden]{display:none;}

.plutus-panier__total{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
  font-size:16px;
}
.plutus-panier__total strong{font-size:20px;color:#680808;}

.plutus-panier__commander{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:48px;
  border-radius:8px;
  background:#680808;
  color:#F8F1E9;
  font-weight:600;
  text-decoration:none;
}
.plutus-panier__commander:hover{background:#941A24;color:#F8F1E9;}
.plutus-panier__commander:focus-visible{outline:2px solid #170A0C;outline-offset:2px;}

.plutus-panier__mention{margin:10px 0 0;font-size:12.5px;line-height:1.45;color:#5B4F4A;}

.plutus-panier__vider{
  margin-top:10px;
  min-height:36px;
  border:0;
  background:transparent;
  color:#5B4F4A;
  font-size:13px;
  text-decoration:underline;
  cursor:pointer;
  font-family:inherit;
}
.plutus-panier__vider:hover{color:#941A24;}

/* ---------- Telephone ---------- */

@media (max-width:600px){
  .plutus-panier{width:100%;border-left:0;}
  .plutus-panier-mot{display:none;}
  .plutus-panier-bouton{padding:0 9px;}
  .plutus-panier__ligne{grid-template-columns:56px 1fr;}
  .plutus-panier__media img,
  .plutus-panier__vignette-vide{width:56px;height:56px;}
  .plutus-panier__sous{grid-column:2;text-align:right;}
  .plutus-ajout-panier{width:100%;}
}

/* ---------- Priorite sur les habillages generiques ----------
   Astra habille tous les <button>, et le kit Elementor colore tous les <a> :
   on redit ici l'apparence avec assez de specificite. */

.plutus-panier button.plutus-panier__pas,
.plutus-panier button.plutus-panier__fermer{box-shadow:none;text-transform:none;letter-spacing:normal;}
.plutus-panier button.plutus-panier__retirer,
.plutus-panier button.plutus-panier__vider{background:transparent;box-shadow:none;text-transform:none;}
.plutus-panier a.plutus-panier__commander{background:#680808;color:#F8F1E9;}
.plutus-panier a.plutus-panier__commander:hover{background:#941A24;color:#F8F1E9;}
.plutus-panier a.plutus-panier__nom{color:#170A0C;}
.plutus-panier a.plutus-panier__nom:hover{color:#680808;}
button.plutus-ajout-panier{background:transparent;color:#680808;box-shadow:none;text-transform:none;letter-spacing:normal;}
button.plutus-ajout-panier:hover{background:#680808;color:#F8F1E9;}
button.plutus-ajout-panier.est-ajoute{background:#1E5B32;color:#F8F1E9;}
.plutus-compte-zone button.plutus-panier-bouton{background:transparent;color:#170A0C;}
.plutus-compte-zone button.plutus-panier-bouton:hover{background:transparent;color:#680808;}
