/* ---------- 1. Menu mobile : cacher la flèche de droite ---------- */
.wprmenu_icon_par,
.wprmenu_icon.wprmenu_icon_par {
  display: none !important;
}

/* ---------- 2. Page de commande sur smartphone : champs pleine largeur ---------- */
@media (max-width: 768px) {
  body.woocommerce-checkout .form-row {
    width: 100% !important;
    float: none !important;
    display: block !important;
    margin-bottom: 14px !important;
  }
  body.woocommerce-checkout .form-row label {
    display: block !important;
    width: 100% !important;
    margin-bottom: 6px !important;
  }
  body.woocommerce-checkout .form-row .woocommerce-input-wrapper,
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea,
  body.woocommerce-checkout .select2-container {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.woocommerce-checkout .form-row input.input-text,
  body.woocommerce-checkout .form-row select,
  body.woocommerce-checkout .form-row textarea {
    font-size: 16px !important;
    padding: 10px !important;
  }
  body.woocommerce-checkout #order_comments {
    min-height: 120px !important;
    resize: vertical !important;
  }
}

/* ---------- 3. Boutons : centrage ---------- */
.woocommerce .wc-proceed-to-checkout,
.woocommerce-checkout #payment .place-order {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-checkout .mrwpbutton a.modaal_link {
  display: block !important;
}

/* ---------- 4. Boutons Valider la commande / Commander et payer / Choisir un point relais ---------- */
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce-checkout .mrwpbutton a.modaal_link {
  width: 100% !important;
  float: none !important;
  margin: 15px auto 0 !important;
  box-sizing: border-box !important;
  max-width: 100% !important;
  background: #f06292 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 30px !important;
  padding: 16px 20px !important;
  font-size: 19px !important;
  font-weight: bold !important;
  text-align: center !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  letter-spacing: 0.5px !important;
  box-shadow: 0 4px 12px rgba(240, 98, 146, 0.35) !important;
  outline: none !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart a.checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce-checkout .mrwpbutton a.modaal_link:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:focus,
.woocommerce-cart a.checkout-button:focus,
.woocommerce-checkout #place_order:focus,
.woocommerce-checkout .mrwpbutton a.modaal_link:focus {
  background: #ec407a !important;
  color: #fff !important;
  outline: none !important;
}
.woocommerce .wc-proceed-to-checkout a.checkout-button:active,
.woocommerce-cart a.checkout-button:active,
.woocommerce-checkout #place_order:active,
.woocommerce-checkout .mrwpbutton a.modaal_link:active {
  background: #f48fb1 !important;
  color: #fff !important;
  transform: scale(0.97) !important;
  box-shadow: 0 2px 6px rgba(240, 98, 146, 0.3) !important;
}

/* Cadenas devant le texte du bouton de paiement */
.woocommerce-checkout #place_order::before {
  content: "🔒 ";
}

/* Petit texte d'aide au-dessus du bouton Mondial Relay */
.woocommerce-checkout .mrwpbutton::before {
  content: "📍 Étape obligatoire avant le paiement :";
  display: block;
  font-weight: bold;
  color: #ec407a;
  margin-top: 10px;
}

/* ---------- 5. Quand PayPal est choisi : bouton jaune, texte gris doux ---------- */
body.mb-paypal-choisi #place_order,
body.mb-paypal-choisi #place_order:focus {
  background: #ffc439 !important;
  color: #4a4a4a !important;
  box-shadow: 0 4px 12px rgba(255, 196, 57, 0.45) !important;
}
body.mb-paypal-choisi #place_order:hover {
  background: #f2b600 !important;
  color: #4a4a4a !important;
}
body.mb-paypal-choisi #place_order:active {
  background: #ffd873 !important;
  color: #4a4a4a !important;
}

/* ---------- 6. Smartphone : effet "onde" ---------- */
@media (max-width: 768px) {
  .woocommerce .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-cart a.checkout-button,
  .woocommerce-checkout #place_order,
  .woocommerce-checkout .mrwpbutton a.modaal_link {
    animation: mbPulseRose 1.6s ease-out infinite !important;
  }
  body.mb-paypal-choisi #place_order {
    animation: mbPulseJaune 1.6s ease-out infinite !important;
  }
}
@keyframes mbPulseRose {
  0%   { transform: scale(1);    box-shadow: 0 0 0 0 rgba(240, 98, 146, 0.75), 0 0 0 0 rgba(240, 98, 146, 0.45); }
  12%  { transform: scale(1.06); }
  24%  { transform: scale(0.99); }
  34%  { transform: scale(1.03); }
  45%  { transform: scale(1); }
  70%  { box-shadow: 0 0 0 22px rgba(240, 98, 146, 0), 0 0 0 10px rgba(240, 98, 146, 0.15); }
  100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(240, 98, 146, 0), 0 0 0 0 rgba(240, 98, 146, 0); }
}
@keyframes mbPulseJaune {
  0%   { transform: scale(1);    box-shadow: 0 0 0 0 rgba(255, 196, 57, 0.85), 0 0 0 0 rgba(255, 196, 57, 0.5); }
  12%  { transform: scale(1.06); }
  24%  { transform: scale(0.99); }
  34%  { transform: scale(1.03); }
  45%  { transform: scale(1); }
  70%  { box-shadow: 0 0 0 22px rgba(255, 196, 57, 0), 0 0 0 10px rgba(255, 196, 57, 0.15); }
  100% { transform: scale(1);    box-shadow: 0 0 0 0 rgba(255, 196, 57, 0), 0 0 0 0 rgba(255, 196, 57, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .woocommerce .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-cart a.checkout-button,
  .woocommerce-checkout #place_order,
  .woocommerce-checkout .mrwpbutton a.modaal_link {
    animation: none !important;
  }
}

/* ---------- 7. Pendant la validation de la commande ---------- */
form.checkout.processing #place_order {
  background: #f48fb1 !important;
  color: #fff !important;
  animation: none !important;
  transform: none !important;
  cursor: wait !important;
}
body.mb-paypal-choisi form.checkout.processing #place_order {
  background: #ffd873 !important;
  color: #4a4a4a !important;
}
form.checkout.processing .blockUI.blockOverlay {
  background: rgba(255, 240, 246, 0.55) !important;
  opacity: 1 !important;
}
form.checkout.processing .blockUI.blockOverlay::before {
  content: "";
  position: fixed;
  top: 42%;
  left: 50%;
  width: 64px;
  height: 64px;
  margin: -32px 0 0 -32px;
  border-radius: 50%;
  border: 6px solid #fde4ec;
  border-top-color: #f06292;
  border-right-color: #f06292;
  animation: mbTourne 0.9s linear infinite;
  z-index: 100000;
}
form.checkout.processing .blockUI.blockOverlay::after {
  content: "🫧 Validation en cours…\A Merci de ne pas fermer cette page";
  white-space: pre-line;
  position: fixed;
  top: calc(42% + 50px);
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  max-width: 320px;
  background: #fff;
  color: #ec407a;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.4;
  text-align: center;
  padding: 14px 16px;
  border-radius: 14px;
  box-shadow: 0 6px 20px rgba(240, 98, 146, 0.25);
  z-index: 100000;
}
@keyframes mbTourne {
  to { transform: rotate(360deg); }
}
/* Barre MENU : animation pour se cacher / réapparaître au défilement */
#wprmenu_bar {
  transition: transform 0.3s ease !important;
}
body.mb-barre-cachee #wprmenu_bar {
  transform: translateY(-110%) !important;
}
/* ===== En-tête smartphone B : fond blanc, logo à gauche, loupe + icônes à droite, liseré coloré ===== */
.mb-loupe-col { display: none !important; }

@media (max-width: 767px) {
  .header-mb {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 6px 10px 6px 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    border-bottom: 4px solid transparent !important;
    border-image: linear-gradient(90deg, #ffb74d, #f06292, #ba68c8, #4fc3f7) 1 !important;
  }
  /* Logo : prend toute la place disponible à gauche des icônes */
  .header-mb > .col-sm-3:first-child {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    width: auto !important;
    padding: 0 !important;
  }
  .header-mb > .col-sm-3:first-child a { display: block !important; }
  .header-mb img.logo,
  .header-mb img.logo.img-fluid {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 82px !important;
    object-fit: contain !important;
    object-position: left center !important;
  }
  /* Icônes : largeur juste nécessaire, collées à droite, sur la même ligne */
  .header-mb .login-cart {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 0 0 8px !important;
  }
  .header-mb .login-cart > .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
  }
  .header-mb .login-cart > .row > div {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    padding: 0 !important;
  }
  .mb-loupe-col { display: block !important; }
  /* Compte et favoris : discrets */
  .header-mb .login-cart .fa-user-o,
  .header-mb .login-cart .fa-heart-o {
    font-size: 20px !important;
    color: #555 !important;
  }
  /* Loupe et panier : mis en avant */
  .header-mb .mb-loupe .fa-search,
  .header-mb .m-and-b-cart .fa-shopping-bag {
    font-size: 24px !important;
    color: #ec407a !important;
  }
  .header-mb .m-and-b-cart { position: relative !important; display: inline-block !important; }
  .header-mb .m-and-b-cart .counter {
    background: #ec407a !important;
    color: #fff !important;
    font-weight: bold !important;
  }
  /* Recherche : cachée, s'ouvre sur une nouvelle ligne quand on touche la loupe */
  .header-mb > .col-sm-6 {
    display: none !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    order: 3 !important;
    padding: 8px 0 4px 8px !important;
  }
  body.mb-recherche-ouverte .header-mb > .col-sm-6 { display: flex !important; }
  .header-mb .search-box,
  .header-mb .search-box form,
  .header-mb .search-box .input-group,
  .header-mb .search-box .form-outline { width: 100% !important; }
  .header-mb .search-field {
    height: 40px !important;
    font-size: 16px !important;
    border-radius: 20px !important;
  }
}
/* ===== Correctif : en-tête dans sa zone, icônes décalées vers la gauche ===== */
@media (max-width: 767px) {
  .header-mb {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 6px 16px 6px 4px !important;   /* 16px de marge à droite pour les icônes */
    box-sizing: border-box !important;
  }
  .header-mb .login-cart > .row {
    gap: 11px !important;                    /* icônes un peu plus rapprochées */
  }
  .header-mb .m-and-b-cart .counter {
    right: -7px !important;
    left: auto !important;
    top: -7px !important;
  }
}
/* ===== Ajustements : en-tête remonté + icônes plus espacées ===== */
@media (max-width: 767px) {
  /* 1. Moins d'espace sous la barre MENU (augmente le chiffre pour remonter davantage) */
  .header-mb {
    margin-top: -18px !important;
  }
  /* 2. Icônes plus espacées (augmente le chiffre pour les écarter davantage) */
  .header-mb .login-cart > .row {
    gap: 18px !important;
  }
}
/* ===== Barre MENU : texte et icône en blanc, fond rose, effet au toucher ===== */
#wprmenu_bar,
.wprmenu_bar {
  background: #f06292 !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
}
#wprmenu_bar .menu_title,
#wprmenu_bar .wpr_custom_menu,
#wprmenu_bar .menu_title a {
  color: #fff !important;
}
#wprmenu_bar .hamburger-inner,
#wprmenu_bar .hamburger-inner::before,
#wprmenu_bar .hamburger-inner::after {
  background: #fff !important;
}
#wprmenu_bar:active {
  background: #f8a5c2 !important;
}
#wprmenu_bar:active .hamburger,
#wprmenu_bar:active .menu_title {
  transform: scale(0.93);
}

/* ===== Icônes recherche / profil / favoris / panier : effet au toucher ===== */
.header-mb .login-cart a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, transform 0.15s ease !important;
}
.header-mb .login-cart a:active {
  background: #fce4ec !important;
  transform: scale(0.88) !important;
}

/* ===== Panier : onde rose quand il contient des articles ===== */
body.mb-panier-plein .header-mb .m-and-b-cart {
  animation: mbPanierOnde 2.4s ease-out infinite !important;
}
body.mb-panier-plein .header-mb .m-and-b-cart .fa-shopping-bag {
  animation: mbPanierRebond 2.4s ease-in-out infinite !important;
}
@keyframes mbPanierOnde {
  0%   { box-shadow: 0 0 0 0 rgba(236, 64, 122, 0.55); }
  60%  { box-shadow: 0 0 0 14px rgba(236, 64, 122, 0); }
  100% { box-shadow: 0 0 0 0 rgba(236, 64, 122, 0); }
}
@keyframes mbPanierRebond {
  0%, 100% { transform: scale(1); }
  10%      { transform: scale(1.18); }
  20%      { transform: scale(0.95); }
  30%      { transform: scale(1.06); }
  40%      { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  body.mb-panier-plein .header-mb .m-and-b-cart,
  body.mb-panier-plein .header-mb .m-and-b-cart .fa-shopping-bag {
    animation: none !important;
  }
}
/* Nouvelle page d'accueil : masquer le titre "Accueil" */
.page-id-6335 h1 {
  display: none !important;
}
/* Page d'accueil : le trait coloré souligne tout le titre */
.mb-st h3 { display: inline-block !important; }
.mb-st h3:after { width: 100% !important; }

/* Page d'accueil : boutons des produits harmonisés (sans case de quantité) */
.mb-accueil li.product .quantity { display: none !important; }
.mb-accueil li.product form.cart { margin: 0 !important; }
.mb-accueil li.product form.cart button,
.mb-accueil li.product button.single_add_to_cart_button {
  display: block !important;
  width: 100% !important;
  background: #fce4ec !important;
  color: #ec407a !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 7px 8px !important;
  font-size: 12.5px !important;
  font-weight: bold !important;
  text-align: center !important;
}

/* "Toute la boutique" : plus de numéros de pages + message de chargement */
.mb-grid .woocommerce-pagination { display: none !important; }
.mb-chargement {
  text-align: center;
  color: #ec407a;
  font-weight: bold;
  font-size: 14px;
  padding: 22px 0 30px;
  opacity: 0;
  transition: opacity .3s;
}
.mb-chargement.actif,
.mb-chargement.fin { opacity: 1; }
/* ===== Pages catégories : sous-catégories en pastilles, produits en dessous ===== */
.tax-product_cat ul.products {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px 12px !important;
}
/* Retour à la ligne entre les pastilles et les produits */
.tax-product_cat ul.products::before {
  content: "" !important;
  display: block !important;
  flex-basis: 100% !important;
  order: 1 !important;
  height: 6px !important;
}
.tax-product_cat ul.products::after { display: none !important; }
/* Les sous-catégories deviennent des pastilles */
.tax-product_cat ul.products li.product-category {
  order: 0 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  list-style: none !important;
}
.tax-product_cat ul.products li.product-category img { display: none !important; }
.tax-product_cat ul.products li.product-category a { text-decoration: none !important; }
.tax-product_cat ul.products li.product-category h2 {
  display: inline-block !important;
  margin: 0 !important;
  padding: 7px 13px !important;
  font-size: 13px !important;
  font-weight: normal !important;
  color: #444 !important;
  background: #fff !important;
  border: 1.5px solid #f8bbd0 !important;
  border-radius: 20px !important;
  white-space: nowrap !important;
}
.tax-product_cat ul.products li.product-category a:active h2 { background: #fce4ec !important; }
.tax-product_cat ul.products li.product-category mark.count {
  background: none !important;
  color: #ec407a !important;
  font-weight: bold !important;
  padding: 0 !important;
}
/* Les produits : 2 colonnes sur smartphone, 4 sur ordinateur */
.tax-product_cat ul.products li.product:not(.product-category) {
  order: 2 !important;
  flex: 0 0 calc(50% - 6px) !important;
  width: calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  margin: 0 0 14px !important;
  float: none !important;
  clear: none !important;
}
@media (min-width: 768px) {
  .tax-product_cat ul.products li.product:not(.product-category) {
    flex-basis: calc(25% - 9px) !important;
    width: calc(25% - 9px) !important;
    max-width: calc(25% - 9px) !important;
  }
}
/* ===== Pages catégories : tri aligné, pastilles en 2 colonnes, fiches harmonisées ===== */

/* Nombre de résultats + menu de tri : alignés, pleine largeur */
.tax-product_cat .woocommerce-result-count {
  float: none !important;
  margin: 0 0 8px !important;
  font-size: 13px !important;
  color: #888 !important;
}
.tax-product_cat .woocommerce-ordering {
  float: none !important;
  width: 100% !important;
  margin: 0 0 14px !important;
}
.tax-product_cat .woocommerce-ordering select {
  width: 100% !important;
  height: 40px !important;
  padding: 0 14px !important;
  font-size: 14px !important;
  color: #444 !important;
  background-color: #fff !important;
  border: 1.5px solid #f8bbd0 !important;
  border-radius: 20px !important;
}

/* Pastilles : 2 colonnes, même largeur */
.tax-product_cat ul.products li.product-category {
  flex: 0 0 calc(50% - 6px) !important;
  width: calc(50% - 6px) !important;
}
.tax-product_cat ul.products li.product-category a { display: block !important; }
.tax-product_cat ul.products li.product-category h2 {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  white-space: normal !important;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
  padding: 8px 6px !important;
}

/* Fiches produits : comme sur la page d'accueil */
.tax-product_cat ul.products li.product:not(.product-category) { text-align: left !important; }
.tax-product_cat li.product img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 14px !important;
  margin: 0 0 8px !important;
}
.tax-product_cat li.product .woocommerce-loop-product__title {
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  color: #333 !important;
  margin: 0 2px 4px !important;
  padding: 0 !important;
  min-height: 36px;
}
.tax-product_cat li.product .price {
  display: block !important;
  font-size: 14px !important;
  font-weight: bold !important;
  color: #222 !important;
  margin: 0 2px 8px !important;
}
.tax-product_cat li.product .quantity { display: none !important; }
.tax-product_cat li.product form.cart { margin: 0 !important; }
.tax-product_cat li.product a.button,
.tax-product_cat li.product form.cart button {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  background: #fce4ec !important;
  color: #ec407a !important;
  border: none !important;
  border-radius: 18px !important;
  padding: 7px 8px !important;
  font-size: 12.5px !important;
  font-weight: bold !important;
  margin: 0 !important;
}
/* Étiquette Promo en rose */
.tax-product_cat li.product .onsale {
  background: #f06292 !important;
  color: #fff !important;
  border-radius: 14px !important;
  min-height: 0 !important;
  min-width: 0 !important;
  line-height: 1 !important;
  padding: 6px 10px !important;
  font-size: 12px !important;
}
/* Nouvelle page d'accueil : masquer le titre "Accueil" */
.page-id-6335 h1 {
  display: none !important;
}