/* =================================================================
   KM BEAUTY - STYLES PARTIE 2
   Notifications, WooCommerce, Newsletter, Bandeau promo
   =================================================================== */

/* =================================================================
   17. NOTIFICATION AJOUT PANIER
   =================================================================== */
.km-notification {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(-100px);
  background: var(--success, #22c55e);
  color: var(--white, #ffffff);
  padding: 14px 30px;
  border-radius: 30px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 6px 25px rgba(34, 197, 94, 0.4);
  z-index: 999999;
  opacity: 0;
  transition: all 0.3s ease;
  pointer-events: none;
}

.km-notification.show {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* =================================================================
   18. STYLES WOOCOMMERCE
   =================================================================== */
.woocommerce-message {
  background-color: #ffffff !important;
  border: 1px solid #e8e8e8 !important;
  border-top: 2px solid var(--rose-gold, #b76e79) !important;
  color: #333333 !important;
  padding: 12px 18px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  width: 90% !important;
  max-width: 520px !important;
  margin: 20px auto !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

.woocommerce-message::before { display: none !important; }

.woocommerce-message .restore-item,
.woocommerce-message .button {
  background: var(--rose-gold, #b76e79) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 6px 14px !important;
  font-size: 11px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin-left: 15px !important;
  display: inline-block !important;
  transition: background 0.2s ease !important;
  white-space: nowrap !important;
}

.woocommerce-message .restore-item:hover,
.woocommerce-message .button:hover {
  background: var(--rose-gold-dark, #8e4a54) !important;
}

/* =================================================================
   19. DROPDOWN PANIER HEADER
   =================================================================== */
.menu-item-cart-dropdown {
  padding-bottom: 10px;
  margin-bottom: -10px;
}

.menu-item-cart-dropdown:hover .cart-dropdown-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.cart-dropdown-menu {
  width: auto !important;
  min-width: 260px !important;
  max-width: 360px !important;
  padding: 15px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  right: 0 !important;
  left: auto !important;
}

.cart-dropdown-menu .cart-btn-panier {
  padding: 6px 10px !important;
  background: transparent !important;
  border: 1px solid #ddd !important;
  color: #111 !important;
  text-decoration: none !important;
  font-size: 11px !important;
  border-radius: 4px !important;
  text-align: center !important;
  flex: 1 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.cart-dropdown-menu .cart-btn-panier:hover {
  background: #f1f1f1 !important;
  border-color: #bbb !important;
}

.cart-dropdown-menu .cart-btn-commander {
  padding: 6px 10px !important;
  background: #111 !important;
  border: 1px solid #111 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 11px !important;
  border-radius: 4px !important;
  text-align: center !important;
  flex: 1 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
}

.cart-dropdown-menu .cart-btn-commander:hover {
  background: #333 !important;
  border-color: #333 !important;
}

.cart-dropdown-menu .cart-product-row:hover {
  background: transparent !important;
}

.cart-dropdown-menu .cart-product-row a:hover {
  opacity: 1;
  color: #ff0000 !important;
}

/* =================================================================
   20. NEWSLETTER FOOTER (BREVO)
   =================================================================== */
.footer-newsletter {
  min-width: 280px;
  background: transparent !important;
}

.footer-newsletter h4 {
  color: #ffffff !important;
  font-family: var(--font-sans);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 15px;
}

.footer-newsletter > p {
  font-size: 13px;
  color: #ccc !important;
  margin-bottom: 15px;
}

.km-newsletter-field {
  margin-bottom: 12px;
}

.km-newsletter-input {
  width: 100% !important;
  padding: 14px 16px !important;
  border-radius: 8px !important;
  border: 1px solid #555 !important;
  background-color: #2a2a2a !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: border-color 0.2s ease !important;
}

.km-newsletter-input::placeholder {
  color: #888 !important;
  opacity: 1 !important;
}

.km-newsletter-input:focus {
  border-color: #b76e79 !important;
  box-shadow: 0 0 0 3px rgba(183, 110, 121, 0.2) !important;
}

.km-newsletter-button {
  width: 100% !important;
  padding: 14px 20px !important;
  border-radius: 25px !important;
  background-color: #b76e79 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  border: none !important;
  cursor: pointer !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  box-shadow: 0 4px 12px rgba(183, 110, 121, 0.3) !important;
  transition: all 0.25s ease !important;
}

.km-newsletter-button:hover {
  background-color: #8e4a54 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(183, 110, 121, 0.4) !important;
}

/* =================================================================
   21. BANDEAU PROMO -10% CLIQUABLE
   =================================================================== */
.km-promo-banner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: linear-gradient(90deg, #b76e79 0%, #8e4a54 100%);
  color: #ffffff;
  text-align: center;
  padding: 12px 50px 12px 20px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  position: relative;
  cursor: pointer;
  transition: all 0.3s ease;
  /* MODIFIÉ : animation supprimée (gérée dans style.css) */
  letter-spacing: 0.3px;
  line-height: 1.4;
  z-index: 200;
}

.km-promo-banner:hover {
  background: linear-gradient(90deg, #8e4a54 0%, #b76e79 100%);
  color: #ffffff;
  text-decoration: none;
}

.km-promo-icon {
  font-size: 18px;
  animation: kmPromoBounce 1.5s infinite;
}

.km-promo-text { flex: 1; }

.km-promo-text strong {
  color: #ffffff;
  font-weight: 700;
  font-size: 14px;
}

.km-promo-arrow {
  font-size: 18px;
  animation: kmPromoBounceDown 1.5s infinite;
  display: inline-block;
}

.km-promo-close {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 50%;
  transition: background 0.2s ease;
  font-family: inherit;
}

.km-promo-close:hover {
  background: rgba(255, 255, 255, 0.2);
}

/* MODIFIÉ : animation performante (opacity au lieu de box-shadow) */
@keyframes kmPromoPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.94; }
}

@keyframes kmPromoBounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}

@keyframes kmPromoBounceDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(4px); }
}

/* =================================================================
   24. TOOLTIP INFO (KIT COLLE)
   =================================================================== */
.km-info-tooltip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--rose-gold-light, #f7ebe8);
  color: var(--rose-gold-dark, #8e4a54);
  font-size: 12px;
  font-weight: 700;
  cursor: help;
  position: relative;
  margin-left: 6px;
  transition: all 0.2s ease;
  vertical-align: middle;
  user-select: none;
}

.km-info-tooltip:hover {
  background: var(--rose-gold, #b76e79);
  color: #ffffff;
  transform: scale(1.1);
}

.km-info-tooltip::after {
  content: "💅 Le kit colle contient :\A\A 🧽 1 mini buffer\A 📏 1 mini lime\A 🪵 1 repousse-cuticules en bois\A 🖌️ 1 mini brossette\A 💎 Des gel pads";
  white-space: pre;
  position: absolute;
  bottom: 140%;
  left: 50%;
  transform: translateX(-50%) translateY(5px);
  background: linear-gradient(135deg, #2c2c2c 0%, #1a1a1a 100%);
  color: #ffffff;
  padding: 14px 18px;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  font-family: 'Montserrat', Arial, sans-serif;
  line-height: 1.8;
  letter-spacing: 0.2px;
  width: max-content;
  max-width: 260px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  z-index: 10000;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(183, 110, 121, 0.3);
  text-align: left;
}

.km-info-tooltip:hover::after {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}

.km-info-tooltip::before {
  content: "";
  position: absolute;
  bottom: 130%;
  left: 50%;
  transform: translateX(-50%);
  border: 8px solid transparent;
  border-top-color: #1a1a1a;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  z-index: 10001;
}

.km-info-tooltip:hover::before {
  opacity: 1;
  visibility: visible;
}

.km-info-tooltip:hover {
  box-shadow: 0 0 0 4px rgba(183, 110, 121, 0.15);
}

@media (max-width: 768px) {
  .km-info-tooltip::after {
    width: 220px;
    font-size: 12px;
    padding: 12px 14px;
    line-height: 1.7;
  }
}

/* Cache les flèches sur Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Cache les flèches sur Firefox */
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* =================================================================
   27. BADGES HONNÊTES SUR LES DESIGN CARDS
   =================================================================== */
.km-design-card {
  position: relative !important;
  overflow: hidden !important;
}

.km-design-card .km-design-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  width: auto !important;
  max-width: 90% !important;
  height: auto !important;
  padding: 4px 10px !important;
  border-radius: 20px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  white-space: nowrap !important;
  z-index: 10 !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.km-design-card .km-design-badge .km-badge-icon {
  font-size: 12px !important;
  line-height: 1 !important;
  display: inline-block !important;
}

.km-design-card .km-design-badge .km-badge-label {
  line-height: 1 !important;
  display: inline-block !important;
}

/* Nouveauté - Vert */
.km-design-card .km-design-badge.km-badge-new {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  color: #ffffff !important;
}

/* Coup de cœur - Rose vif */
.km-design-card .km-design-badge.km-badge-fav {
  background: linear-gradient(135deg, #ec4899 0%, #be185d 100%) !important;
  color: #ffffff !important;
}

/* Fait main - Rose gold */
.km-design-card .km-design-badge.km-badge-handmade {
  background: linear-gradient(135deg, #b76e79 0%, #8e4a54 100%) !important;
  color: #ffffff !important;
}

@media (max-width: 768px) {
  .km-design-card .km-design-badge {
    padding: 3px 8px !important;
    font-size: 9px !important;
  }
  .km-design-card .km-design-badge .km-badge-icon {
    font-size: 10px !important;
  }
}

/* =================================================================
   28. MODALE DE CONFIRMATION PERSONNALISÉE
   =================================================================== */
.km-confirm-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.55);
  z-index: 2147483647;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  box-sizing: border-box;
  opacity: 0;
  transition: opacity 0.25s ease;
}

.km-confirm-overlay.show {
  opacity: 1;
}

.km-confirm-popup {
  background: #ffffff;
  border-radius: 20px;
  width: 100%;
  max-width: 420px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  transform: scale(0.95);
  transition: transform 0.25s ease;
  font-family: 'Montserrat', Arial, sans-serif;
}

.km-confirm-overlay.show .km-confirm-popup {
  transform: scale(1);
}

.km-confirm-header {
  background: linear-gradient(135deg, #b76e79 0%, #8e4a54 100%);
  padding: 24px 25px 20px;
  text-align: center;
  color: #ffffff;
}

.km-confirm-icon {
  font-size: 42px;
  line-height: 1;
  margin-bottom: 8px;
}

.km-confirm-header h3 {
  margin: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 18px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.5px;
}

.km-confirm-body {
  padding: 24px 25px;
  text-align: center;
}

.km-confirm-body p {
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
  color: #2c2c2c;
  font-weight: 500;
}

.km-confirm-body strong {
  color: #b76e79;
  font-weight: 700;
}

.km-confirm-footer {
  display: flex;
  gap: 10px;
  padding: 0 25px 25px;
}

.km-confirm-btn {
  flex: 1;
  padding: 14px 20px;
  border-radius: 30px;
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  font-family: 'Montserrat', Arial, sans-serif;
  border: none;
  transition: all 0.25s ease;
}

.km-confirm-btn-cancel {
  background: #f5f5f5;
  color: #475569;
  border: 1px solid #e2e8f0;
}

.km-confirm-btn-cancel:hover {
  background: #ebebeb;
  color: #2c2c2c;
}

.km-confirm-btn-ok {
  background: linear-gradient(135deg, #b76e79 0%, #8e4a54 100%);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(183, 110, 121, 0.3);
}

.km-confirm-btn-ok:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(183, 110, 121, 0.4);
}

@media (max-width: 480px) {
  .km-confirm-popup {
    max-width: 100%;
  }
  .km-confirm-footer {
    flex-direction: column-reverse;
  }
}

/* =================================================================
   23. RESPONSIVE GLOBAL (header, footer, panier)
   =================================================================== */
@media (max-width: 768px) {
  .hero h1 { font-size: 26px; }
  .hero { padding: 50px 20px; }
  .header-container { flex-direction: column; }
  .main-nav ul { justify-content: center; gap: 12px; }

  .reservation-grid { grid-template-columns: 1fr; }

  .km-category-filters {
    flex-direction: column;
    width: 100%;
    padding: 0 15px;
  }
  .km-category-filters .button,
  .km-category-filters a {
    width: 100%;
    text-align: center;
  }

  .cart-dropdown-menu {
    position: fixed !important;
    top: 80px !important;
    left: 10px !important;
    right: 10px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  .woocommerce-message {
    flex-direction: column !important;
    gap: 10px !important;
    text-align: center !important;
    padding: 14px !important;
  }
  .woocommerce-message .restore-item,
  .woocommerce-message .button {
    margin-left: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }

  .footer-newsletter {
    width: 100%;
    min-width: auto;
  }

  .km-promo-banner {
    font-size: 11px;
    padding: 10px 42px 10px 12px;
    gap: 6px;
  }
  .km-promo-icon { font-size: 16px; }
  .km-promo-text strong { font-size: 12px; }
  .km-promo-arrow { font-size: 14px; }
  .km-promo-close { font-size: 20px; right: 8px; }
}

@media (max-width: 480px) {
  .cart-dropdown-menu {
    top: 70px !important;
    left: 5px !important;
    right: 5px !important;
    max-height: 65vh !important;
    padding: 10px !important;
  }

  .cart-dropdown-menu .cart-product-row {
    font-size: 11px !important;
  }

  .cart-dropdown-menu .cart-btn-panier,
  .cart-dropdown-menu .cart-btn-commander {
    padding: 8px 4px !important;
    font-size: 9px !important;
    letter-spacing: 0 !important;
  }
}

/* ==========================================================================
   CORRECTION FORMULAIRE CHECKOUT — ESPACEMENT DES CHAMPS
   ========================================================================== */

/* Espacement général des champs de formulaire */
.woocommerce-checkout .form-row,
.woocommerce-checkout .wc-block-components-text-input {
    margin-bottom: 20px !important;
    padding: 0 !important;
    position: relative;
}

/* Labels des champs */
.woocommerce-checkout .form-row label,
.woocommerce-checkout .wc-block-components-text-input label {
    display: block !important;
    margin-bottom: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    line-height: 1.4 !important;
    position: static !important;
}

/* Champs de saisie */
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row input[type="email"],
.woocommerce-checkout .form-row input[type="text"],
.woocommerce-checkout .form-row input[type="tel"],
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .wc-block-components-text-input input {
    padding: 14px 16px !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    border: 2px solid #e2d5d3 !important;
    border-radius: 10px !important;
    background-color: #ffffff !important;
    color: #2c2c2c !important;
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    height: auto !important;
    min-height: 50px !important;
}

/* Focus */
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row input[type="email"]:focus,
.woocommerce-checkout .form-row input[type="text"]:focus,
.woocommerce-checkout .form-row input[type="tel"]:focus {
    border-color: #b76e79 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(183, 110, 121, 0.12) !important;
}

/* Champ email spécifique */
.woocommerce-checkout #billing_email_field,
.woocommerce-checkout #shipping_email_field {
    margin-bottom: 25px !important;
}

/* Corriger le chevauchement label/input */
.woocommerce-checkout .form-row .woocommerce-input-wrapper {
    display: block !important;
    margin-top: 0 !important;
}

/* Corriger les champs avec floating label (nouvelles versions) */
.woocommerce-checkout .wc-block-components-text-input {
    margin-bottom: 20px !important;
}

.woocommerce-checkout .wc-block-components-text-input label {
    position: static !important;
    margin-bottom: 8px !important;
    transform: none !important;
    font-size: 14px !important;
}

.woocommerce-checkout .wc-block-components-text-input input {
    padding: 14px 16px !important;
    min-height: 50px !important;
}

/* ==========================================================================
   CORRECTION CODES PROMO — PANIER & CHECKOUT
   ========================================================================== */

/* Conteneur du code promo */
.woocommerce-form-coupon,
.woocommerce-form-coupon-toggle {
    background: #fdf9f8 !important;
    border: 1px solid #f0e6e6 !important;
    border-radius: 12px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
}

/* Champ "Entrer le code" */
.woocommerce-form-coupon input[type="text"],
.woocommerce-form-coupon input.input-text {
    border: 2px solid #e2d5d3 !important;
    border-radius: 30px !important;
    padding: 14px 20px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 14px !important;
    color: #2c2c2c !important;
    background: #ffffff !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease !important;
}

.woocommerce-form-coupon input[type="text"]:focus {
    border-color: #b76e79 !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(183, 110, 121, 0.12) !important;
}

/* Bouton "Appliquer" */
.woocommerce-form-coupon button[type="submit"],
.woocommerce-form-coupon .button,
button[name="apply_coupon"] {
    background: linear-gradient(135deg, #b76e79 0%, #8e4a54 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    padding: 14px 28px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    cursor: pointer !important;
    transition: all 0.25s ease !important;
    box-shadow: 0 4px 12px rgba(183, 110, 121, 0.25) !important;
    margin-left: 10px !important;
    white-space: nowrap !important;
}

.woocommerce-form-coupon button[type="submit"]:hover,
button[name="apply_coupon"]:hover {
    background: linear-gradient(135deg, #8e4a54 0%, #b76e79 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(183, 110, 121, 0.35) !important;
}

/* Layout : champ + bouton sur la même ligne */
.woocommerce-form-coupon .form-row {
    display: flex !important;
    gap: 10px !important;
    align-items: stretch !important;
    flex-wrap: wrap !important;
}

.woocommerce-form-coupon .form-row-first,
.woocommerce-form-coupon .form-row-last {
    flex: 1 !important;
    min-width: 200px !important;
}

/* ============================================================
   AFFICHAGE DU CODE PROMO APPLIQUÉ
   ============================================================ */

/* Le conteneur du code appliqué */
.cart-discount,
.woocommerce-cart .cart-discount,
.wc-block-components-totals-discount {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 0 !important;
    gap: 10px !important;
}

/* Le code promo lui-même (mthis100) */
.cart-discount .coupon-name,
.woocommerce-cart .cart-discount__code,
.wc-block-components-totals-discount__coupon {
    display: inline-flex !important;
    align-items: center !important;
    background: #f7ebe8 !important;
    color: #8e4a54 !important;
    border: 2px solid #b76e79 !important;
    border-radius: 25px !important;
    padding: 6px 14px !important;
    font-family: 'Montserrat', Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    max-width: 200px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Bouton "Supprimer" du code promo (la croix) */
.cart-discount a.remove,
.woocommerce-cart .cart-discount__remove,
.wc-block-components-totals-discount__remove-coupon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    background: #b76e79 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 50% !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    margin-left: 8px !important;
    flex-shrink: 0 !important;
}

.cart-discount a.remove:hover,
.wc-block-components-totals-discount__remove-coupon:hover {
    background: #8e4a54 !important;
    transform: scale(1.1) !important;
}

/* Mobile */
@media (max-width: 600px) {
    .woocommerce-form-coupon .form-row {
        flex-direction: column !important;
    }
    
    .woocommerce-form-coupon button[type="submit"],
    button[name="apply_coupon"] {
        margin-left: 0 !important;
        width: 100% !important;
    }
}