/*
 * CSS pour Switcher Login / Register
 * À copier dans Elementor > Custom CSS du popup
 * Ou dans Apparence > Personnaliser > CSS additionnel
 */

/* Container principal */
body .woo-auth-switcher {
  width: 100% !important;
  max-width: 450px !important;
  margin: 0 auto !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Wrapper des formulaires */
body .auth-form-wrapper {
  display: none !important;
  opacity: 0 !important;
  transform: translateY(10px) !important;
  transition: all 0.3s ease !important;
  will-change: opacity, transform !important;
}

body .auth-form-wrapper.active {
  display: block !important;
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Titre */
body .auth-title {
  font-size: 24px !important;
  font-weight: 600 !important;
  margin-bottom: 30px !important;
  text-align: center !important;
  color: var(--iw-black) !important;
}

/* Formulaires */
body .woocommerce-form-login,
body .woocommerce-form-register {
  max-width: 100% !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Supprime le contour WooCommerce par défaut - Sélecteurs ultra-spécifiques */
body .woocommerce form.checkout_coupon,
body .woocommerce form.login,
body .woocommerce form.register,
body.woocommerce form.checkout_coupon,
body.woocommerce form.login,
body.woocommerce form.register,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* Champs de formulaire */
body .woocommerce-form-row {
  margin-bottom: 20px !important;
}

body .woocommerce-form-row label {
  display: block !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  color: var(--iw-black) !important;
  font-size: 14px !important;
}

body .woocommerce-form-row label .required {
  color: var(--iw-danger) !important;
  font-weight: 600 !important;
}

body .woocommerce-form-row input[type='text'],
body .woocommerce-form-row input[type='email'],
body .woocommerce-form-row input[type='password'] {
  width: 100% !important;
  padding: 12px 15px !important;
  border: 1px solid var(--iw-border) !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  background: var(--iw-white) !important;
  box-sizing: border-box !important;
}

/* Focus inputs */
body .woocommerce-form-row input[type='text']:focus,
body .woocommerce-form-row input[type='email']:focus,
body .woocommerce-form-row input[type='password']:focus {
  outline: none !important;
  border-color: var(--iw-black) !important;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.05) !important;
}

/* Hint mot de passe */
body .password-hint {
  display: block !important;
  margin-top: 5px !important;
  font-size: 12px !important;
  color: var(--iw-muted) !important;
}

/* Remember me */
body .woocommerce-form-login__rememberme {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 15px 0 !important;
}

body .woocommerce-form-login__rememberme input[type='checkbox'] {
  margin: 0 !important;
  cursor: pointer !important;
}

body .woocommerce-form-login__rememberme span {
  font-size: 14px !important;
  color: var(--iw-muted) !important;
}

/* ===== BOUTONS (CORRIGÉ AVEC BODY PREFIX) ===== */
/* Sélecteurs avec spécificité maximale pour surpasser WooCommerce (même stratégie que mini-cart.css) */
body .woocommerce-form-login .woocommerce-button.button,
body .woocommerce-form-register .woocommerce-button.button,
body .woo-auth-switcher .woocommerce-button.button,
body .woocommerce-button.button.woocommerce-form-login__submit,
body .woocommerce-button.button.woocommerce-form-register__submit,
body .woocommerce-button.button {
  width: 100% !important;
  padding: 14px 20px !important;
  background: var(--iw-black) !important;
  background-color: var(--iw-black) !important;
  color: var(--iw-white) !important;
  border: none !important;
  border-radius: var(--iw-radius) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  transition: none !important;
}

body .woocommerce-form-login .woocommerce-button.button:hover,
body .woocommerce-form-register .woocommerce-button.button:hover,
body .woo-auth-switcher .woocommerce-button.button:hover,
body .woocommerce-button.button.woocommerce-form-login__submit:hover,
body .woocommerce-button.button.woocommerce-form-register__submit:hover,
body .woocommerce-button.button:hover {
  background: var(--iw-gray) !important;
  background-color: var(--iw-gray) !important;
  color: var(--iw-white) !important;
}

body .woocommerce-form-login .woocommerce-button.button:active,
body .woocommerce-form-register .woocommerce-button.button:active,
body .woo-auth-switcher .woocommerce-button.button:active,
body .woocommerce-button.button.woocommerce-form-login__submit:active,
body .woocommerce-button.button.woocommerce-form-register__submit:active,
body .woocommerce-button.button:active {
  background: var(--iw-gray) !important;
  background-color: var(--iw-gray) !important;
  color: var(--iw-white) !important;
}

/* Mot de passe oublié */
body .woocommerce-LostPassword {
  text-align: center !important;
  margin-top: 15px !important;
}

body .woocommerce-LostPassword a {
  color: var(--iw-muted) !important;
  font-size: 14px !important;
  text-decoration: none !important;
}

body .woocommerce-LostPassword a:hover {
  color: var(--iw-black) !important;
}

/* Switch login/register */
body .auth-switch {
  margin-top: 30px !important;
  padding-top: 20px !important;
  border-top: 1px solid var(--iw-border) !important;
  text-align: center !important;
}

body .auth-switch p {
  margin: 0 !important;
  color: var(--iw-muted) !important;
  font-size: 14px !important;
}

body .auth-switch a {
  color: var(--iw-black) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent !important;
}

body .auth-switch a:hover {
  border-bottom-color: var(--iw-black) !important;
}

/* Messages Woo */
body .woocommerce-error,
body .woocommerce-message,
body .woocommerce-info {
  padding: 15px 20px !important;
  margin-bottom: 25px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
}

body .woocommerce-error {
  background: #fee !important;
  color: #c33 !important;
  border-left: 4px solid #c33 !important;
}

body .woocommerce-message {
  background: #efe !important;
  color: #383 !important;
  border-left: 4px solid #383 !important;
}

body .woocommerce-info {
  background: #eef !important;
  color: #338 !important;
  border-left: 4px solid #338 !important;
}

/* Logged in */
body .woo-auth-logged-in {
  text-align: center !important;
  padding: 30px !important;
}

body .woo-auth-logged-in p {
  margin-bottom: 20px !important;
  font-size: 16px !important;
  color: var(--iw-black) !important;
}

body .woo-auth-logged-in .button,
body .woo-auth-logged-in .button-secondary {
  display: block !important;
  margin: 20px 0 !important;
  padding: 12px 25px !important;
  border-radius: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: none !important;
}

body .woo-auth-logged-in .button {
  background: var(--iw-black) !important;
  color: var(--iw-white) !important;
}

body .woo-auth-logged-in .button:hover {
  background: var(--iw-gray) !important;
}

body .woo-auth-logged-in .button-secondary {
  background: var(--iw-gray-100) !important;
  color: var(--iw-black) !important;
}

body .woo-auth-logged-in .button-secondary:hover {
  background: var(--iw-border) !important;
}

/* Responsive */
@media (max-width: 767px) {
  body .woo-auth-switcher {
    padding: 0 15px !important;
  }

  body .auth-title {
    font-size: 20px !important;
    margin-bottom: 20px !important;
  }

  body .woocommerce-form-row input {
    padding: 10px 12px !important;
  }

  body .woocommerce-button.button {
    font-size: 14px !important;
    padding: 12px 15px !important;
  }
}

/* Privacy policy */
body .woocommerce-privacy-policy-text {
  font-size: 10px !important;
  line-height: 1.4 !important;
  color: var(--iw-muted) !important;
}

body .woocommerce-privacy-policy-text a {
  color: var(--iw-black) !important;
  text-decoration: underline !important;
  font-weight: 500 !important;
}

body .woocommerce-privacy-policy-text a:hover {
  opacity: 0.8 !important;
}

/* ===== POPUP LOGIN - CROIX IDENTIQUE MINI CART (SANS DOUBLON) ===== */
/* Ciblage strict sur le HTML réel : <a class="dialog-close-button dialog-lightbox-close-button"><svg ...></svg></a> */

.elementor-popup-modal a.dialog-close-button.dialog-lightbox-close-button {
  position: absolute !important;
  top: 24px !important;
  right: 24px !important;
  left: auto !important;
  bottom: auto !important;

  width: auto !important;
  height: auto !important;
  line-height: 1 !important;

  cursor: pointer;
  transition: none !important;

  color: var(--cart-close-button-color, #69727d) !important;
  font-size: var(--cart-close-icon-size, 18px) !important;

  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Masque le SVG Elementor pour éviter le doublon */
.elementor-popup-modal a.dialog-close-button.dialog-lightbox-close-button svg {
  display: none !important;
}

/* Injecte l’icône theme-icons (même glyph que le mini cart) */
.elementor-popup-modal a.dialog-close-button.dialog-lightbox-close-button::before {
  content: '\e905' !important;
  font-family: 'theme-icons' !important;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Hover identique mini cart */
.elementor-popup-modal a.dialog-close-button.dialog-lightbox-close-button:hover {
  color: var(--cart-close-button-hover-color, #000) !important;
}
