
/* Ecig Auth Maison 1.0.2 — formulaires natifs, design historique restauré */
html, body { min-height: 100%; }

body.ecig-auth-page .ecig-auth-template-main,
body.ecig-auth-page .ecig-auth-template-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ecig-auth-page #sidebar,
body.ecig-auth-page .widget-area,
body.ecig-auth-page .et_right_sidebar #sidebar,
body.ecig-auth-page .entry-title,
body.ecig-auth-page .et_post_meta_wrapper {
  display: none !important;
}

.ecig-auth-native,
.ecig-auth-native *,
.ecig-auth-native *::before,
.ecig-auth-native *::after {
  box-sizing: border-box;
}

.ecig-auth-hp {
  position: absolute !important;
  left: -99999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.ecig-auth-alert {
  margin: 0 0 18px !important;
  padding: 13px 15px !important;
  border-radius: 13px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
}

.ecig-auth-alert strong { display: block; margin-bottom: 4px; }
.ecig-auth-alert ul { margin: 5px 0 0 18px; padding: 0; }
.ecig-auth-alert-error {
  background: #fff1f1 !important;
  border: 1px solid rgba(181,45,46,.18) !important;
  color: #8e2526 !important;
}
.ecig-auth-alert-success {
  background: #effaf1 !important;
  border: 1px solid rgba(0,138,32,.18) !important;
  color: #087625 !important;
}

.ecig-auth-password-wrap {
  position: relative !important;
}

.ecig-auth-password-wrap input {
  padding-right: 74px !important;
}

.ecig-auth-password-toggle {
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: auto !important;
  min-height: 28px !important;
  padding: 5px 9px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: rgba(123,63,199,.08) !important;
  color: #6d32ad !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  text-transform: none !important;
  box-shadow: none !important;
}

.ecig-auth-field-status {
  min-height: 16px !important;
  margin-top: 4px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}
.ecig-auth-field-status.is-ok { color: #087625 !important; }
.ecig-auth-field-status.is-error { color: #a22b2c !important; }

.ecig-auth-suggestions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 5px !important;
}
.ecig-auth-suggestion {
  border: 1px solid rgba(123,63,199,.18) !important;
  background: rgba(123,63,199,.06) !important;
  color: #7b3fc7 !important;
  border-radius: 999px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  cursor: pointer !important;
}

.ecig-auth-password-meter {
  height: 4px !important;
  margin-top: 6px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: rgba(36,18,49,.08) !important;
}
.ecig-auth-password-meter span {
  display: block !important;
  width: 0;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg,#7b3fc7,#d95785,#ff7648) !important;
  transition: width .2s ease !important;
}

/* L'OTP Maison s'insère sous le champ téléphone natif. */
body.eoc-register-page #ecig_auth_signup_form .ecig-otp-card {
  margin-top: 8px !important;
}

/* Prénom et nom obligatoires, sans mention facultative. */
body.eoc-register-page input[name="first_name"],
body.eoc-register-page input[name="last_name"] {
  border-left: 3px solid rgba(123,63,199,.42) !important;
}

/* Les deux consentements restent compacts dans le style historique. */
body.eoc-register-page .ecig-auth-consents {
  display: grid !important;
  gap: 8px !important;
}
body.eoc-register-page .ecig-auth-consents label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #75687d !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}
body.eoc-register-page .ecig-auth-consents input[type="checkbox"] {
  flex: 0 0 auto !important;
  margin-top: 2px !important;
}

@media (max-width: 600px) {
  .ecig-auth-password-toggle {
    min-height: 32px !important;
    font-size: 11px !important;
  }
}


/* =====================================================
   ECIG-OCCAZ - LOGIN PREMIUM 2 COLONNES
   Version 1.7.0
   Formulaire à gauche / avantages à droite
   ===================================================== */

:root {
  --eoc-l-purple: #7b3fc7;
  --eoc-l-purple-dark: #241231;
  --eoc-l-orange: #ff7648;
  --eoc-l-pink: #d95785;
  --eoc-l-text: #241231;
  --eoc-l-muted: #75687d;
}

/* Anti-flash : masque uniquement le formulaire principal de la page login,
   pas la popup Youzify cachée en bas de page. */
html.eoc-login-preload #youzify-membership > .youzify-membership-login-page,
html.eoc-login-loading #youzify-membership > .youzify-membership-login-page {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}

html.eoc-login-ready #youzify-membership > .eoc-login-layout,
html.eoc-login-ready #youzify-membership > .eoc-login-layout .youzify-membership-login-page {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

html.eoc-login-ready .eoc-login-layout {
  animation: eocLoginReveal .22s ease-out both;
}

@keyframes eocLoginReveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* Page détectée */
body.eoc-login-page {
  background:
    radial-gradient(circle at 12% 10%, rgba(123,63,199,.075), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(255,122,69,.10), transparent 31%),
    radial-gradient(circle at 50% 100%, rgba(255,180,155,.16), transparent 38%),
    linear-gradient(180deg, #fffaf8 0%, #fff7f4 42%, #fff3ef 100%) !important;
}

/* Nettoyage conteneurs */
body.eoc-login-page .entry-content,
body.eoc-login-page .et_pb_section,
body.eoc-login-page .et_pb_row,
body.eoc-login-page .et_pb_column,
body.eoc-login-page #youzify-membership,
body.eoc-login-page .youzify-membership-page-box {
  overflow: visible !important;
}

body.eoc-login-page .et_pb_row {
  max-width: none !important;
}

/* Layout */
.eoc-login-layout {
  width: min(1040px, 94%) !important;
  max-width: 1040px !important;
  margin: 34px auto 54px !important;
  display: grid !important;
  grid-template-columns: minmax(390px, 500px) minmax(320px, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.eoc-login-layout,
.eoc-login-layout * {
  box-sizing: border-box !important;
}

.eoc-login-formcol,
.eoc-login-sidecol {
  min-width: 0 !important;
}

/* =====================================================
   FORMULAIRE
   ===================================================== */

.eoc-login-formcol {
  position: relative !important;
}

.eoc-login-formcol::before {
  content: "" !important;
  position: absolute !important;
  inset: -12px -12px auto auto !important;
  width: 135px !important;
  height: 135px !important;
  border-radius: 999px !important;
  background: rgba(255,118,72,.13) !important;
  filter: blur(18px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.eoc-login-formcol .youzify-membership-form {
  width: 100% !important;
  max-width: 500px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Carte formulaire */
body.eoc-login-page #youzify-membership .youzify-membership-login-page {
  padding: 30px 34px 32px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(255,250,247,.98) 100%) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  box-shadow:
    0 22px 58px rgba(36,18,49,.105),
    0 1px 0 rgba(255,255,255,.86) inset !important;
  overflow: hidden !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-login-page::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--eoc-l-purple), var(--eoc-l-pink), var(--eoc-l-orange)) !important;
}

/* Header */
body.eoc-login-page #youzify-membership .youzify-membership-form-header {
  margin: 0 0 22px !important;
}

body.eoc-login-page #youzify-membership .form-title {
  margin: 0 !important;
  text-align: left !important;
}

body.eoc-login-page #youzify-membership .form-title h2 {
  margin: 0 0 8px !important;
  color: var(--eoc-l-purple-dark) !important;
  font-size: clamp(25px, 2.5vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.038em !important;
  text-transform: none !important;
}

body.eoc-login-page #youzify-membership .form-title h2::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--eoc-l-purple), var(--eoc-l-orange)) !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-form-desc,
body.eoc-login-page #youzify-membership .form-title span {
  color: var(--eoc-l-muted) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}

/* Suppression wrappers grossiers */
body.eoc-login-page #youzify-membership .youzify-membership-form-item,
body.eoc-login-page #youzify-membership .youzify-membership-item-content,
body.eoc-login-page #youzify-membership .youzify-membership-field-content {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-form-item {
  margin: 0 0 13px !important;
  padding: 0 !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-item-content,
body.eoc-login-page #youzify-membership .youzify-membership-field-content {
  margin: 0 !important;
  padding: 0 !important;
}

/* Labels */
body.eoc-login-page #youzify-membership .youzify-membership-form-item label {
  display: block !important;
  margin-bottom: 5px !important;
  color: var(--eoc-l-text) !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.005em !important;
}

/* Champs */
body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="text"],
body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="email"],
body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="password"] {
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(43,20,59,.125) !important;
  background: rgba(255,255,255,.98) !important;
  color: var(--eoc-l-text) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  outline: none !important;
  box-shadow: 0 5px 14px rgba(36,18,49,.035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-login-form input:focus {
  background: #fff !important;
  border-color: rgba(123,63,199,.50) !important;
  box-shadow:
    0 0 0 3px rgba(123,63,199,.085),
    0 8px 18px rgba(36,18,49,.06) !important;
  transform: translateY(-1px) !important;
}

/* Remember me + mot de passe perdu */
body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 6px 0 16px !important;
  padding: 0 !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-remember-me .youzify-membership-item-content {
  flex: 1 1 auto !important;
}

body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 !important;
  color: var(--eoc-l-muted) !important;
  font-size: 12.5px !important;
  font-weight: 750 !important;
  line-height: 1.3 !important;
}

body.eoc-login-page #youzify-membership input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
}

body.eoc-login-page #youzify-membership .youzify_membership_field_indication {
  display: none !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
  color: var(--eoc-l-purple) !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-forgot-password:hover {
  color: var(--eoc-l-orange) !important;
}

/* Actions */
body.eoc-login-page #youzify-membership .youzify-membership-form-actions {
  margin-top: 8px !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-form-actions button,
body.eoc-login-page #youzify-membership .youzify-membership-action-item button {
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.30), transparent 28%),
    linear-gradient(135deg, var(--eoc-l-purple) 0%, var(--eoc-l-pink) 48%, var(--eoc-l-orange) 100%) !important;
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .025em !important;
  cursor: pointer !important;
  box-shadow: 0 14px 28px rgba(123,63,199,.22) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-form-actions button:hover,
body.eoc-login-page #youzify-membership .youzify-membership-action-item button:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.08) !important;
  box-shadow: 0 20px 38px rgba(255,118,72,.23) !important;
}

/* Lien créer un compte */
body.eoc-login-page #youzify-membership .youzify-membership-link-button {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  background: rgba(123,63,199,.065) !important;
  color: var(--eoc-l-purple-dark) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-link-button:hover {
  background: rgba(255,118,72,.10) !important;
  color: var(--eoc-l-orange) !important;
  transform: translateY(-1px) !important;
}

/* =====================================================
   COLONNE DROITE
   ===================================================== */

.eoc-login-sidecol {
  display: grid !important;
  gap: 14px !important;
  align-self: start !important;
}

.eoc-login-hero-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  padding: 27px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.28), transparent 22%),
    radial-gradient(circle at 90% 88%, rgba(255,118,72,.38), transparent 34%),
    linear-gradient(135deg, #241231 0%, #6d32ad 48%, #ff7648 100%) !important;
  box-shadow:
    0 24px 62px rgba(36,18,49,.20),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.eoc-login-hero-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px) !important;
  background-size: 26px 26px !important;
  opacity: .34 !important;
  pointer-events: none !important;
}

.eoc-login-hero-card::after {
  content: "" !important;
  position: absolute !important;
  right: -46px !important;
  bottom: -48px !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.13) !important;
  pointer-events: none !important;
}

.eoc-login-hero-card > * {
  position: relative !important;
  z-index: 2 !important;
}

.eoc-login-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-size: 10.8px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
}

.eoc-login-hero-card h2 {
  margin: 0 0 13px !important;
  color: #fff !important;
  font-size: clamp(26px, 2.8vw, 37px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -.042em !important;
}

.eoc-login-hero-card p {
  margin: 0 0 18px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

.eoc-login-feature-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin: 0 0 18px !important;
}

.eoc-login-feature {
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

.eoc-login-feature-icon {
  width: 31px !important;
  height: 31px !important;
  margin-bottom: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 12px !important;
  background: rgba(255,255,255,.95) !important;
  color: var(--eoc-l-purple) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 7px 16px rgba(0,0,0,.11) !important;
}

.eoc-login-feature strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
}

.eoc-login-feature span {
  display: block !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 11.6px !important;
  line-height: 1.36 !important;
  font-weight: 700 !important;
}

.eoc-login-trust {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}

.eoc-login-trust div {
  padding: 11px 8px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.11) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  text-align: center !important;
}

.eoc-login-trust strong {
  display: block !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.eoc-login-trust small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.eoc-login-mini-card {
  border-radius: 21px !important;
  padding: 18px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(43,20,59,.08) !important;
  box-shadow: 0 14px 34px rgba(36,18,49,.07) !important;
}

.eoc-login-mini-card h3 {
  margin: 0 0 11px !important;
  color: var(--eoc-l-purple-dark) !important;
  font-size: 16.5px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

.eoc-login-checks {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.eoc-login-checks li {
  display: flex !important;
  gap: 8px !important;
  align-items: flex-start !important;
  color: var(--eoc-l-muted) !important;
  font-size: 12.8px !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}

.eoc-login-checks li::before {
  content: "✓" !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(123,63,199,.10) !important;
  color: var(--eoc-l-purple) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

/* Responsive */
@media (max-width: 960px) {
  .eoc-login-layout {
    grid-template-columns: 1fr !important;
    width: min(680px, 94%) !important;
    margin: 24px auto 42px !important;
  }

  .eoc-login-formcol {
    order: 1 !important;
  }

  .eoc-login-sidecol {
    order: 2 !important;
  }

  .eoc-login-formcol .youzify-membership-form {
    max-width: none !important;
  }
}

@media (max-width: 600px) {
  .eoc-login-layout {
    width: 100% !important;
    gap: 16px !important;
    margin: 18px auto 30px !important;
    padding: 0 10px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-login-page,
  .eoc-login-hero-card,
  .eoc-login-mini-card {
    border-radius: 20px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-login-page {
    padding: 22px 16px !important;
  }

  .eoc-login-hero-card {
    padding: 22px 18px !important;
  }

  .eoc-login-feature-grid,
  .eoc-login-trust {
    grid-template-columns: 1fr !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 6px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    white-space: normal !important;
  }
}

/* =====================================================
   V1.1 - Format smartphone : champs plus confortables
   ===================================================== */

@media (max-width: 600px) {
  body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="text"],
  body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="email"],
  body.eoc-login-page #youzify-membership .youzify-membership-login-form input[type="password"] {
    min-height: 54px !important;
    padding: 13px 15px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    line-height: 1.32 !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-form-item {
    margin-bottom: 16px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-form-item label {
    font-size: 14px !important;
    margin-bottom: 7px !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    font-size: 14px !important;
    gap: 8px !important;
  }

  body.eoc-login-page #youzify-membership input[type="checkbox"] {
    width: 17px !important;
    height: 17px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    font-size: 14px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-form-actions button,
  body.eoc-login-page #youzify-membership .youzify-membership-action-item button {
    min-height: 56px !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    font-size: 14.5px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-link-button {
    min-height: 44px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }
}


/* =====================================================
   V1.2 - Mobile : réduction des grands espaces
   ===================================================== */

@media (max-width: 600px) {
  /* Réduit l'écart entre le menu/header du site et la carte */
  body.eoc-login-page .entry-content,
  body.eoc-login-page .et_pb_section,
  body.eoc-login-page .et_pb_row,
  body.eoc-login-page .et_pb_column,
  body.eoc-login-page #youzify-membership,
  body.eoc-login-page .youzify-membership-page-box {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.eoc-login-page .et_pb_section,
  body.eoc-login-page .et_pb_row {
    padding-top: 0 !important;
  }

  .eoc-login-layout {
    margin-top: 8px !important;
    margin-bottom: 28px !important;
    padding-top: 0 !important;
  }

  /* Carte formulaire plus proche du haut */
  body.eoc-login-page #youzify-membership .youzify-membership-login-page {
    padding-top: 22px !important;
  }

  /* Réduit l'écart entre le titre et les champs */
  body.eoc-login-page #youzify-membership .youzify-membership-form-header,
  body.eoc-login-page #youzify-membership .form-title {
    margin-bottom: 14px !important;
    padding-bottom: 0 !important;
  }

  body.eoc-login-page #youzify-membership .form-title h2 {
    margin-bottom: 5px !important;
  }

  body.eoc-login-page #youzify-membership .form-title h2::after {
    margin-top: 9px !important;
  }
}


/* =====================================================
   V1.3 - Correction "Se souvenir de moi"
   ===================================================== */

/* Ligne remember + mot de passe perdu propre */
body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 8px 14px !important;
  margin: 10px 0 18px !important;
  padding: 0 !important;
  text-align: left !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-remember-me .youzify-membership-item-content {
  flex: 0 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Label checkbox */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 9px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eoc-l-text) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 850 !important;
  text-align: left !important;
  white-space: nowrap !important;
  cursor: pointer !important;
}

/* On cache la checkbox native mais elle reste cliquable via le label */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
}

/* Checkbox visuelle Youzify */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 6px !important;
  border: 2px solid rgba(123,63,199,.55) !important;
  background: #fff !important;
  box-shadow: 0 5px 12px rgba(36,18,49,.08) !important;
  transform: none !important;
}

/* État coché */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication {
  border-color: transparent !important;
  background:
    linear-gradient(135deg, var(--eoc-l-purple) 0%, var(--eoc-l-pink) 55%, var(--eoc-l-orange) 100%) !important;
}

body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication::after {
  content: "✓" !important;
  display: block !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

/* Mot de passe perdu aligné et sans gros espace */
body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
  flex: 0 0 auto !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  text-align: right !important;
}

/* Mobile */
@media (max-width: 600px) {
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
    margin: 12px 0 18px !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-direction: row !important;
    gap: 8px 10px !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    font-size: 14px !important;
    white-space: nowrap !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    min-height: 20px !important;
    border-radius: 7px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 390px) {
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 9px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    margin-left: 0 !important;
    text-align: left !important;
  }
}


/* =====================================================
   V1.4 - Remember me mobile plus propre
   ===================================================== */

/* Structure plus naturelle */
body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  align-items: center !important;
  gap: 8px 14px !important;
  margin: 10px 0 18px !important;
  padding: 0 !important;
  text-align: left !important;
}

body.eoc-login-page #youzify-membership .youzify-membership-remember-me .youzify-membership-item-content {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Label remember */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
  position: relative !important;
  display: inline-grid !important;
  grid-template-columns: 18px auto !important;
  align-items: center !important;
  column-gap: 9px !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eoc-l-text) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
  text-align: left !important;
  white-space: normal !important;
  cursor: pointer !important;
}

/* Checkbox native masquée mais active via le label */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
  position: absolute !important;
  left: 0 !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 0 !important;
  margin: 0 !important;
  opacity: 0 !important;
  transform: translateY(-50%) !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

/* Case visuelle sobre */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication {
  grid-column: 1 !important;
  grid-row: 1 !important;
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  min-width: 18px !important;
  min-height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 5px !important;
  border: 1.7px solid rgba(123,63,199,.48) !important;
  background: #fff !important;
  box-shadow: 0 4px 10px rgba(36,18,49,.08) !important;
  transform: none !important;
}

/* Texte du label placé en colonne 2 même si Youzify injecte du texte brut */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field::after {
  display: none !important;
}

/* État coché, plus discret */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication,
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked ~ .youzify_membership_field_indication {
  border-color: transparent !important;
  background: linear-gradient(135deg, var(--eoc-l-purple) 0%, var(--eoc-l-pink) 55%, var(--eoc-l-orange) 100%) !important;
}

body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication::after,
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked ~ .youzify_membership_field_indication::after {
  content: "✓" !important;
  color: #fff !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

/* Lien mot de passe perdu */
body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
  justify-self: end !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eoc-l-purple) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Mobile : lien sous la checkbox, aligné gauche */
@media (max-width: 600px) {
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 9px !important;
    margin: 12px 0 18px !important;
    align-items: start !important;
    justify-items: start !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    grid-template-columns: 18px auto !important;
    column-gap: 8px !important;
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    border-radius: 5px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    justify-self: start !important;
    margin: 0 !important;
    font-size: 13.5px !important;
    text-align: left !important;
    white-space: normal !important;
  }
}

/* Très petit écran : encore plus compact */
@media (max-width: 390px) {
  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    font-size: 13px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    font-size: 13px !important;
  }
}


/* =====================================================
   V1.5 - Correctif anti-débordement mobile login
   ===================================================== */

@media (max-width: 600px) {
  html,
  body.eoc-login-page {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.eoc-login-page #page-container,
  body.eoc-login-page #et-main-area,
  body.eoc-login-page #main-content,
  body.eoc-login-page .entry-content,
  body.eoc-login-page .et_pb_section,
  body.eoc-login-page .et_pb_row,
  body.eoc-login-page .et_pb_column,
  body.eoc-login-page #youzify-membership,
  body.eoc-login-page .eoc-login-layout,
  body.eoc-login-page .eoc-login-formcol,
  body.eoc-login-page .eoc-login-formcol .youzify-membership-form,
  body.eoc-login-page #youzify-membership .youzify-membership-login-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .eoc-login-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-login-page {
    padding-left: 18px !important;
    padding-right: 18px !important;
    box-sizing: border-box !important;
  }

  body.eoc-login-page #youzify-membership .form-title h2 {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-form-item,
  body.eoc-login-page #youzify-membership .youzify-membership-form-item *,
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me,
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  /* Ligne remember : simple, stable, sans nowrap ni grille agressive */
  body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    margin: 13px 0 20px !important;
    padding: 0 !important;
    text-align: left !important;
    overflow: hidden !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-remember-me .youzify-membership-item-content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--eoc-l-text) !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
    font-weight: 850 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: left !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    width: 18px !important;
    height: 18px !important;
    min-height: 0 !important;
    opacity: 0 !important;
    transform: translateY(-50%) !important;
    z-index: 2 !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication {
    position: relative !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 5px !important;
    border: 1.7px solid rgba(123,63,199,.48) !important;
    background: #fff !important;
    box-shadow: 0 4px 10px rgba(36,18,49,.08) !important;
    transform: none !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication,
  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked ~ .youzify_membership_field_indication {
    border-color: transparent !important;
    background: linear-gradient(135deg, var(--eoc-l-purple) 0%, var(--eoc-l-pink) 55%, var(--eoc-l-orange) 100%) !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked + .youzify_membership_field_indication::after,
  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"]:checked ~ .youzify_membership_field_indication::after {
    content: "✓" !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 950 !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--eoc-l-purple) !important;
    font-size: 13.5px !important;
    line-height: 1.25 !important;
    font-weight: 900 !important;
    text-align: left !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-form-actions,
  body.eoc-login-page #youzify-membership .youzify-membership-link-item,
  body.eoc-login-page #youzify-membership .youzify-membership-form-actions button,
  body.eoc-login-page #youzify-membership .youzify-membership-link-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
}


/* =====================================================
   V1.6 - Correction radicale checkbox login iPhone
   ===================================================== */

/* Empêche Safari/iOS de gonfler le texte de cette zone */
body.eoc-login-page,
body.eoc-login-page #youzify-membership,
body.eoc-login-page #youzify-membership * {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* Sécurité générale anti-débordement */
body.eoc-login-page {
  overflow-x: clip !important;
}

body.eoc-login-page .eoc-login-layout,
body.eoc-login-page .eoc-login-formcol,
body.eoc-login-page #youzify-membership,
body.eoc-login-page #youzify-membership .youzify-membership-login-page,
body.eoc-login-page #youzify-membership .youzify-membership-login-form {
  max-width: 100vw !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* On neutralise complètement la fausse checkbox Youzify qui grossit sur iPhone */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication,
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication::before,
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field .youzify_membership_field_indication::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Ligne remember simple et robuste */
body.eoc-login-page #youzify-membership .youzify-membership-remember-me {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 18px !important;
  padding: 0 !important;
  overflow: visible !important;
  text-align: left !important;
}

/* Contenu de la ligne */
body.eoc-login-page #youzify-membership .youzify-membership-remember-me .youzify-membership-item-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
}

/* Label : aucune grille, aucun badge, aucune taille héritée bizarre */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 13.5px !important;
  line-height: 1.3 !important;
  font-weight: 850 !important;
  color: var(--eoc-l-text) !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  transform: none !important;
}

/* Checkbox native visible */
body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
  appearance: auto !important;
  -webkit-appearance: checkbox !important;
  position: static !important;
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  flex: 0 0 auto !important;
  width: 17px !important;
  height: 17px !important;
  min-width: 17px !important;
  min-height: 17px !important;
  max-width: 17px !important;
  max-height: 17px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 3px !important;
  box-shadow: none !important;
  transform: none !important;
  vertical-align: middle !important;
  accent-color: var(--eoc-l-purple) !important;
}

/* Mot de passe perdu sous la checkbox */
body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: var(--eoc-l-purple) !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: break-word !important;
  transform: none !important;
}

@media (max-width: 600px) {
  body.eoc-login-page .eoc-login-layout {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-login-page {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    font-size: 13.5px !important;
  }

  body.eoc-login-page #youzify-membership .youzify-membership-forgot-password {
    font-size: 13.5px !important;
  }
}


/* =====================================================
   V1.7 - Plus d'espace à côté de la case checkbox
   ===================================================== */

body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
  gap: 12px !important;
}

body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
  margin-right: 2px !important;
}

@media (max-width: 600px) {
  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field {
    gap: 12px !important;
  }

  body.eoc-login-page #youzify-membership .youzify_membership_checkbox_field input[type="checkbox"] {
    margin-right: 2px !important;
  }
}


/* =====================================================
   ECIG-OCCAZ - INSCRIPTION PREMIUM 2 COLONNES
   Version 1.8.1
   Formulaire affiné / moins grossier
   ===================================================== */

:root {
  --eoc-r-purple: #7b3fc7;
  --eoc-r-purple-2: #9b4bd8;
  --eoc-r-purple-dark: #241231;
  --eoc-r-orange: #ff7648;
  --eoc-r-orange-2: #ff9a5f;
  --eoc-r-pink: #d95785;
  --eoc-r-bg: #f4f1f6;
  --eoc-r-card: rgba(255,255,255,.94);
  --eoc-r-text: #241231;
  --eoc-r-muted: #75687d;
  --eoc-r-border: rgba(43,20,59,.10);
}

html.eoc-register-preload #ecig_auth_signup_form,
html.eoc-register-loading #ecig_auth_signup_form {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Anti-flash : masque toute la carte originale Youzify avant transformation.
   :has() est supporté par les navigateurs modernes. */
html.eoc-register-preload .youzify-membership-form:has(#ecig_auth_signup_form),
html.eoc-register-loading .youzify-membership-form:has(#ecig_auth_signup_form) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}

html.eoc-register-ready #ecig_auth_signup_form,
html.eoc-register-ready .youzify-membership-form:has(#ecig_auth_signup_form) {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

html.eoc-register-ready .eoc-register-layout {
  animation: eocRegisterReveal .22s ease-out both;
}

@keyframes eocRegisterReveal {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

body.eoc-register-page {
  background:
    radial-gradient(circle at 12% 10%, rgba(123,63,199,.075), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(255,122,69,.10), transparent 31%),
    radial-gradient(circle at 50% 100%, rgba(255,180,155,.16), transparent 38%),
    linear-gradient(180deg, #fffaf8 0%, #fff7f4 42%, #fff3ef 100%) !important;
}

body.eoc-register-page .entry-content,
body.eoc-register-page .et_pb_section,
body.eoc-register-page .et_pb_row,
body.eoc-register-page .et_pb_column,
body.eoc-register-page .youzify-membership,
body.eoc-register-page .youzify-membership-page-box {
  overflow: visible !important;
}

body.eoc-register-page .et_pb_row {
  max-width: none !important;
}

/* Layout principal : formulaire moins énorme */
.eoc-register-layout {
  width: min(1080px, 94%) !important;
  max-width: 1080px !important;
  margin: 32px auto 52px !important;
  display: grid !important;
  grid-template-columns: minmax(440px, 560px) minmax(320px, 1fr) !important;
  gap: 22px !important;
  align-items: start !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.eoc-register-layout,
.eoc-register-layout * {
  box-sizing: border-box !important;
}

.eoc-register-formcol,
.eoc-register-sidecol {
  min-width: 0 !important;
}

/* =====================================================
   FORMULAIRE À GAUCHE - VERSION PLUS FINE
   ===================================================== */

.eoc-register-formcol {
  position: relative !important;
}

.eoc-register-formcol::before {
  content: "" !important;
  position: absolute !important;
  inset: -12px -12px auto auto !important;
  width: 135px !important;
  height: 135px !important;
  border-radius: 999px !important;
  background: rgba(255,118,72,.13) !important;
  filter: blur(18px) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.eoc-register-formcol .youzify-membership-form {
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

body.eoc-register-page .youzify-membership-form {
  padding: 30px 34px 32px !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(255,252,250,.97) 100%) !important;
  border: 1px solid rgba(255,255,255,.86) !important;
  box-shadow:
    0 22px 58px rgba(36,18,49,.105),
    0 1px 0 rgba(255,255,255,.86) inset !important;
  overflow: hidden !important;
}

body.eoc-register-page .youzify-membership-form::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  height: 4px !important;
  background: linear-gradient(90deg, var(--eoc-r-purple), var(--eoc-r-pink), var(--eoc-r-orange)) !important;
}

/* Header plus élégant */
body.eoc-register-page .youzify-membership-form .form-title {
  margin: 0 0 22px !important;
  text-align: left !important;
}

body.eoc-register-page .youzify-membership-form .form-title h2 {
  margin: 0 0 8px !important;
  color: var(--eoc-r-purple-dark) !important;
  font-size: clamp(25px, 2.5vw, 32px) !important;
  line-height: 1.08 !important;
  font-weight: 950 !important;
  letter-spacing: -.038em !important;
  text-transform: none !important;
}

body.eoc-register-page .youzify-membership-form .form-title h2::after {
  content: "" !important;
  display: block !important;
  width: 48px !important;
  height: 3px !important;
  margin-top: 11px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, var(--eoc-r-purple), var(--eoc-r-orange)) !important;
}

body.eoc-register-page .youzify-membership-form .form-title span,
body.eoc-register-page .youzify-membership-form-desc {
  color: var(--eoc-r-muted) !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

/* Suppression des gros cadres Youzify autour des champs profil */
body.eoc-register-page #ecig_auth_signup_form fieldset {
  margin: 0 0 11px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 0 !important;
}

body.eoc-register-page #ecig_auth_signup_form .editfield,
body.eoc-register-page #ecig_auth_signup_form .field-visibility-settings-notoggle,
body.eoc-register-page #ecig_auth_signup_form .field-visibility-settings-toggle {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Titres sections plus discrets */
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-title {
  margin: 19px 0 12px !important;
  text-align: left !important;
  border: 0 !important;
}

body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-title span,
body.eoc-register-page #ecig_auth_signup_form fieldset legend {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 8px !important;
  padding: 6px 10px !important;
  border-radius: 999px !important;
  background: rgba(123,63,199,.075) !important;
  color: var(--eoc-r-purple) !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
  border: 1px solid rgba(123,63,199,.055) !important;
}

/* Items et labels plus propres */
body.eoc-register-page .youzify-membership-form-item {
  margin-bottom: 11px !important;
}

body.eoc-register-page .youzify-membership-form-item label,
body.eoc-register-page #ecig_auth_signup_form label {
  display: block !important;
  margin-bottom: 6px !important;
  color: var(--eoc-r-text) !important;
  font-size: 12.2px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.005em !important;
}

/* Champs moins hauts et moins "cartoon" */
body.eoc-register-page #ecig_auth_signup_form input[type="text"],
body.eoc-register-page #ecig_auth_signup_form input[type="email"],
body.eoc-register-page #ecig_auth_signup_form input[type="password"],
body.eoc-register-page #ecig_auth_signup_form input[type="number"],
body.eoc-register-page #ecig_auth_signup_form input[type="tel"],
body.eoc-register-page #ecig_auth_signup_form textarea,
body.eoc-register-page #ecig_auth_signup_form select {
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(43,20,59,.125) !important;
  background: rgba(255,255,255,.98) !important;
  color: var(--eoc-r-text) !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  outline: none !important;
  box-shadow: 0 5px 14px rgba(36,18,49,.035) !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease !important;
}

body.eoc-register-page #ecig_auth_signup_form input:focus,
body.eoc-register-page #ecig_auth_signup_form textarea:focus,
body.eoc-register-page #ecig_auth_signup_form select:focus {
  background: #fff !important;
  border-color: rgba(123,63,199,.50) !important;
  box-shadow:
    0 0 0 3px rgba(123,63,199,.085),
    0 8px 18px rgba(36,18,49,.06) !important;
  transform: translateY(-1px) !important;
}

body.eoc-register-page #ecig_auth_signup_form .description {
  margin-top: 5px !important;
  color: #8a7c96 !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

body.eoc-register-page .bp-required-field-label {
  display: none !important;
}

/* Téléphone / plugin international */
body.eoc-register-page #ecig_auth_signup_form input[type="tel"],
body.eoc-register-page #ecig_auth_signup_form .iti input,
body.eoc-register-page #ecig_auth_signup_form .intl-tel-input input {
  width: 100% !important;
  min-height: 40px !important;
}

body.eoc-register-page #ecig_auth_signup_form .iti,
body.eoc-register-page #ecig_auth_signup_form .intl-tel-input {
  width: 100% !important;
}

/* CGV plus propre, sans gros bloc */
body.eoc-register-page .youzify-membership-terms-note {
  margin: 12px 0 18px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,118,72,.055) !important;
  border: 1px solid rgba(255,118,72,.12) !important;
  color: var(--eoc-r-muted) !important;
  font-size: 12.4px !important;
  line-height: 1.45 !important;
}

body.eoc-register-page .youzify-membership-terms-note label {
  margin: 0 !important;
  font-size: 12.4px !important;
  font-weight: 650 !important;
  color: var(--eoc-r-muted) !important;
}

body.eoc-register-page .youzify-membership-terms-note input[type="checkbox"],
body.eoc-register-page #ecig_auth_signup_form input[type="checkbox"] {
  width: 14px !important;
  height: 14px !important;
  min-height: 0 !important;
  margin-right: 6px !important;
  box-shadow: none !important;
}

body.eoc-register-page .youzify-membership-terms-note a {
  color: var(--eoc-r-purple) !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

body.eoc-register-page .youzify-membership-terms-note a:hover {
  color: var(--eoc-r-orange) !important;
}

/* Bouton principal plus premium mais moins énorme */
body.eoc-register-page .youzify-membership-form-actions {
  margin-top: 8px !important;
}

body.eoc-register-page .youzify-membership-form-actions button,
body.eoc-register-page .youzify-membership-action-item button,
body.eoc-register-page #ecig_auth_signup_form button[type="submit"],
body.eoc-register-page #ecig_auth_signup_form input[type="submit"] {
  width: 100% !important;
  min-height: 52px !important;
  padding: 14px 18px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,255,255,.30), transparent 28%),
    linear-gradient(135deg, var(--eoc-r-purple) 0%, var(--eoc-r-pink) 48%, var(--eoc-r-orange) 100%) !important;
  color: #fff !important;
  font-size: 13.5px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .025em !important;
  cursor: pointer !important;
  box-shadow: 0 14px 28px rgba(123,63,199,.22) !important;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

body.eoc-register-page .youzify-membership-form-actions button:hover,
body.eoc-register-page .youzify-membership-action-item button:hover,
body.eoc-register-page #ecig_auth_signup_form button[type="submit"]:hover,
body.eoc-register-page #ecig_auth_signup_form input[type="submit"]:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.08) !important;
  box-shadow: 0 20px 38px rgba(255,118,72,.23) !important;
}

/* Lien connexion beaucoup plus discret */
body.eoc-register-page .youzify-membership-link-button {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
  background: rgba(123,63,199,.065) !important;
  color: var(--eoc-r-purple-dark) !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background .18s ease, color .18s ease, transform .18s ease !important;
}

body.eoc-register-page .youzify-membership-link-button:hover {
  background: rgba(255,118,72,.10) !important;
  color: var(--eoc-r-orange) !important;
  transform: translateY(-1px) !important;
}

/* =====================================================
   COLONNE DROITE
   ===================================================== */

.eoc-register-sidecol {
  display: grid !important;
  gap: 14px !important;
  align-self: start !important;
}

.eoc-register-hero-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 26px !important;
  padding: 27px !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.28), transparent 22%),
    radial-gradient(circle at 90% 88%, rgba(255,118,72,.38), transparent 34%),
    linear-gradient(135deg, #241231 0%, #6d32ad 48%, #ff7648 100%) !important;
  box-shadow:
    0 24px 62px rgba(36,18,49,.20),
    inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.eoc-register-hero-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px) !important;
  background-size: 26px 26px !important;
  opacity: .34 !important;
  pointer-events: none !important;
}

.eoc-register-hero-card::after {
  content: "" !important;
  position: absolute !important;
  right: -46px !important;
  bottom: -48px !important;
  width: 180px !important;
  height: 180px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.13) !important;
  pointer-events: none !important;
}

.eoc-register-hero-card > * {
  position: relative !important;
  z-index: 2 !important;
}

.eoc-register-kicker {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  margin: 0 0 16px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #fff !important;
  font-size: 10.8px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  letter-spacing: .045em !important;
}

.eoc-register-hero-card h2 {
  margin: 0 0 13px !important;
  color: #fff !important;
  font-size: clamp(26px, 2.8vw, 37px) !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  letter-spacing: -.042em !important;
}

.eoc-register-hero-card p {
  margin: 0 0 18px !important;
  color: rgba(255,255,255,.84) !important;
  font-size: 13.5px !important;
  line-height: 1.58 !important;
}

.eoc-register-free {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 18px !important;
  padding: 9px 12px !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.96) !important;
  color: #b94719 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.12) !important;
}

.eoc-register-feature-grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 9px !important;
  margin: 0 0 18px !important;
}

.eoc-register-feature {
  padding: 12px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  color: #fff !important;
  backdrop-filter: blur(8px) !important;
}

.eoc-register-feature-icon {
  width: 31px !important;
  height: 31px !important;
  margin-bottom: 9px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.95) !important;
  color: var(--eoc-r-purple) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow: 0 7px 16px rgba(0,0,0,.11) !important;
}

.eoc-register-feature strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #fff !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  font-weight: 950 !important;
}

.eoc-register-feature span {
  display: block !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 11.6px !important;
  line-height: 1.36 !important;
  font-weight: 700 !important;
}

.eoc-register-trust {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
}

.eoc-register-trust div {
  padding: 11px 8px !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.11) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  text-align: center !important;
}

.eoc-register-trust strong {
  display: block !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
}

.eoc-register-trust small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(255,255,255,.72) !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.eoc-register-mini-card {
  border-radius: 21px !important;
  padding: 18px !important;
  background: rgba(255,255,255,.90) !important;
  border: 1px solid rgba(43,20,59,.08) !important;
  box-shadow: 0 14px 34px rgba(36,18,49,.07) !important;
}

.eoc-register-mini-card h3 {
  margin: 0 0 11px !important;
  color: var(--eoc-r-purple-dark) !important;
  font-size: 16.5px !important;
  line-height: 1.18 !important;
  font-weight: 950 !important;
  letter-spacing: -.02em !important;
}

.eoc-register-checks {
  display: grid !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.eoc-register-checks li {
  display: flex !important;
  gap: 8px !important;
  align-items: flex-start !important;
  color: var(--eoc-r-muted) !important;
  font-size: 12.8px !important;
  line-height: 1.38 !important;
  font-weight: 750 !important;
}

.eoc-register-checks li::before {
  content: "✓" !important;
  width: 19px !important;
  height: 19px !important;
  min-width: 19px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(123,63,199,.10) !important;
  color: var(--eoc-r-purple) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
}

/* =====================================================
   RESPONSIVE
   ===================================================== */

@media (max-width: 1080px) {
  .eoc-register-layout {
    grid-template-columns: minmax(420px, 540px) minmax(300px, 1fr) !important;
    width: min(1020px, 94%) !important;
  }

  .eoc-register-feature-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 900px) {
  .eoc-register-layout {
    grid-template-columns: 1fr !important;
    width: min(680px, 94%) !important;
    margin: 24px auto 42px !important;
  }

  .eoc-register-formcol {
    order: 1 !important;
  }

  .eoc-register-sidecol {
    order: 2 !important;
  }

  .eoc-register-formcol .youzify-membership-form {
    max-width: none !important;
  }

  .eoc-register-feature-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}

@media (max-width: 600px) {
  .eoc-register-layout {
    width: 100% !important;
    gap: 16px !important;
    margin: 18px auto 30px !important;
    padding: 0 10px !important;
  }

  body.eoc-register-page .youzify-membership-form,
  .eoc-register-hero-card,
  .eoc-register-mini-card {
    border-radius: 20px !important;
  }

  body.eoc-register-page .youzify-membership-form {
    padding: 22px 16px !important;
  }

  .eoc-register-hero-card {
    padding: 22px 18px !important;
  }

  .eoc-register-feature-grid,
  .eoc-register-trust {
    grid-template-columns: 1fr !important;
  }

  body.eoc-register-page #ecig_auth_signup_form input[type="text"],
  body.eoc-register-page #ecig_auth_signup_form input[type="email"],
  body.eoc-register-page #ecig_auth_signup_form input[type="password"],
  body.eoc-register-page #ecig_auth_signup_form input[type="number"],
  body.eoc-register-page #ecig_auth_signup_form input[type="tel"],
  body.eoc-register-page #ecig_auth_signup_form textarea,
  body.eoc-register-page #ecig_auth_signup_form select {
    min-height: 40px !important;
    border-radius: 10px !important;
  }
}

/* =====================================================
   V1.3 - Suppression forte des encadrés Youzify
   autour de Prénom / Nom / Téléphone / CGV
   ===================================================== */

body.eoc-register-page #ecig_auth_signup_form .editfield,
body.eoc-register-page #ecig_auth_signup_form .field_type_textbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_textarea,
body.eoc-register-page #ecig_auth_signup_form .field_type_selectbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_url,
body.eoc-register-page #ecig_auth_signup_form .field_type_number,
body.eoc-register-page #ecig_auth_signup_form .field_type_datebox,
body.eoc-register-page #ecig_auth_signup_form .field_type_checkbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_radio,
body.eoc-register-page #ecig_auth_signup_form .field_type_phone,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-field-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-item-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-form-item,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-field-item {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

body.eoc-register-page #ecig_auth_signup_form .editfield,
body.eoc-register-page #ecig_auth_signup_form .field_type_textbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_textarea,
body.eoc-register-page #ecig_auth_signup_form .field_type_selectbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_url,
body.eoc-register-page #ecig_auth_signup_form .field_type_number,
body.eoc-register-page #ecig_auth_signup_form .field_type_datebox,
body.eoc-register-page #ecig_auth_signup_form .field_type_checkbox,
body.eoc-register-page #ecig_auth_signup_form .field_type_radio,
body.eoc-register-page #ecig_auth_signup_form .field_type_phone {
  padding: 0 !important;
  margin: 0 0 11px !important;
}

body.eoc-register-page #ecig_auth_signup_form .youzify-membership-field-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-item-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-content,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-field-item {
  padding: 0 !important;
  margin: 0 !important;
}

/* Garde uniquement le vrai champ visible, sans carte autour */
body.eoc-register-page #ecig_auth_signup_form fieldset {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 11px !important;
}

/* Légendes profil plus discrètes pour éviter l’effet “pastille dans un cadre” */
body.eoc-register-page #ecig_auth_signup_form fieldset legend {
  margin: 0 0 7px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--eoc-r-text) !important;
  font-size: 12.2px !important;
  font-weight: 900 !important;
  letter-spacing: -.005em !important;
  text-transform: none !important;
}

/* CGV sans bloc encadré */
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-terms-note,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-terms,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-privacy-policy {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 10px 0 18px !important;
}


/* =====================================================
   V1.4 - Champs plus compacts
   ===================================================== */

body.eoc-register-page #ecig_auth_signup_form input[type="text"],
body.eoc-register-page #ecig_auth_signup_form input[type="email"],
body.eoc-register-page #ecig_auth_signup_form input[type="password"],
body.eoc-register-page #ecig_auth_signup_form input[type="number"],
body.eoc-register-page #ecig_auth_signup_form input[type="tel"],
body.eoc-register-page #ecig_auth_signup_form textarea,
body.eoc-register-page #ecig_auth_signup_form select {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  padding-left: 12px !important;
  padding-right: 12px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
}

body.eoc-register-page #ecig_auth_signup_form textarea {
  min-height: 82px !important;
}

body.eoc-register-page #ecig_auth_signup_form .iti input,
body.eoc-register-page #ecig_auth_signup_form .intl-tel-input input {
  min-height: 40px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

body.eoc-register-page .youzify-membership-form-item,
body.eoc-register-page #ecig_auth_signup_form .editfield,
body.eoc-register-page #ecig_auth_signup_form fieldset {
  margin-bottom: 11px !important;
}

body.eoc-register-page .youzify-membership-form-item label,
body.eoc-register-page #ecig_auth_signup_form label,
body.eoc-register-page #ecig_auth_signup_form fieldset legend {
  margin-bottom: 5px !important;
  font-size: 12px !important;
}

/* Bouton légèrement réduit pour garder l'équilibre avec les champs */
body.eoc-register-page .youzify-membership-form-actions button,
body.eoc-register-page .youzify-membership-action-item button,
body.eoc-register-page #ecig_auth_signup_form button[type="submit"],
body.eoc-register-page #ecig_auth_signup_form input[type="submit"] {
  min-height: 48px !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}


/* =====================================================
   V1.5 - Anti-flash au chargement
   ===================================================== */

html.eoc-register-preload #ecig_auth_signup_form,
html.eoc-register-loading #ecig_auth_signup_form,
html.eoc-register-preload .youzify-membership-form:has(#ecig_auth_signup_form),
html.eoc-register-loading .youzify-membership-form:has(#ecig_auth_signup_form) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

html.eoc-register-ready .eoc-register-layout,
html.eoc-register-ready .eoc-register-layout #ecig_auth_signup_form,
html.eoc-register-ready .eoc-register-layout .youzify-membership-form {
  opacity: 1 !important;
  visibility: visible !important;
}


/* =====================================================
   V1.6 - Fond rose très pâle Ecig Occaz
   ===================================================== */

body.eoc-register-page {
  background:
    radial-gradient(circle at 12% 10%, rgba(123,63,199,.075), transparent 30%),
    radial-gradient(circle at 88% 16%, rgba(255,122,69,.10), transparent 31%),
    radial-gradient(circle at 50% 100%, rgba(255,180,155,.16), transparent 38%),
    linear-gradient(180deg, #fffaf8 0%, #fff7f4 42%, #fff3ef 100%) !important;
}

/* Harmonisation légère du fond interne de la carte formulaire */
body.eoc-register-page .youzify-membership-form {
  background:
    linear-gradient(180deg, rgba(255,255,255,.985) 0%, rgba(255,250,247,.98) 100%) !important;
}


/* =====================================================
   V1.7 - Format smartphone : champs plus confortables
   ===================================================== */

@media (max-width: 600px) {
  body.eoc-register-page #ecig_auth_signup_form input[type="text"],
  body.eoc-register-page #ecig_auth_signup_form input[type="email"],
  body.eoc-register-page #ecig_auth_signup_form input[type="password"],
  body.eoc-register-page #ecig_auth_signup_form input[type="number"],
  body.eoc-register-page #ecig_auth_signup_form input[type="tel"],
  body.eoc-register-page #ecig_auth_signup_form textarea,
  body.eoc-register-page #ecig_auth_signup_form select,
  body.eoc-register-page #ecig_auth_signup_form .iti input,
  body.eoc-register-page #ecig_auth_signup_form .intl-tel-input input {
    min-height: 54px !important;
    padding: 13px 15px !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    line-height: 1.32 !important;
  }

  body.eoc-register-page #ecig_auth_signup_form textarea {
    min-height: 96px !important;
  }

  body.eoc-register-page .youzify-membership-form-item label,
  body.eoc-register-page #ecig_auth_signup_form label,
  body.eoc-register-page #ecig_auth_signup_form fieldset legend {
    font-size: 14px !important;
    margin-bottom: 7px !important;
  }

  body.eoc-register-page .youzify-membership-form-item,
  body.eoc-register-page #ecig_auth_signup_form .editfield,
  body.eoc-register-page #ecig_auth_signup_form fieldset {
    margin-bottom: 15px !important;
  }

  body.eoc-register-page .youzify-membership-form-actions button,
  body.eoc-register-page .youzify-membership-action-item button,
  body.eoc-register-page #ecig_auth_signup_form button[type="submit"],
  body.eoc-register-page #ecig_auth_signup_form input[type="submit"] {
    min-height: 56px !important;
    padding: 14px 18px !important;
    border-radius: 16px !important;
    font-size: 14.5px !important;
  }

  body.eoc-register-page .youzify-membership-link-button {
    min-height: 44px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-size: 13px !important;
  }

  body.eoc-register-page .youzify-membership-terms-note,
  body.eoc-register-page .youzify-membership-terms-note label {
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}


/* =====================================================
   V1.8 - Mobile : réduction des grands espaces
   ===================================================== */

@media (max-width: 600px) {
  /* Réduit l'écart entre le menu/header du site et la carte */
  body.eoc-register-page .entry-content,
  body.eoc-register-page .et_pb_section,
  body.eoc-register-page .et_pb_row,
  body.eoc-register-page .et_pb_column,
  body.eoc-register-page .youzify-membership,
  body.eoc-register-page .youzify-membership-page-box,
  body.eoc-register-page #youzify-membership {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  body.eoc-register-page .et_pb_section,
  body.eoc-register-page .et_pb_row {
    padding-top: 0 !important;
  }

  .eoc-register-layout {
    margin-top: 8px !important;
    margin-bottom: 28px !important;
    padding-top: 0 !important;
  }

  /* Carte formulaire plus proche du haut */
  body.eoc-register-page .youzify-membership-form {
    padding-top: 22px !important;
  }

  /* Réduit l'écart entre le titre et le formulaire */
  body.eoc-register-page .youzify-membership-form .youzify-membership-form-header,
  body.eoc-register-page .youzify-membership-form .form-title {
    margin-bottom: 14px !important;
    padding-bottom: 0 !important;
  }

  body.eoc-register-page .youzify-membership-form .form-title h2 {
    margin-bottom: 5px !important;
  }

  body.eoc-register-page .youzify-membership-form .form-title h2::after {
    margin-top: 9px !important;
  }

  body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-title {
    margin-top: 8px !important;
    margin-bottom: 11px !important;
  }

  body.eoc-register-page #ecig_auth_signup_form .youzify-membership-section-title span {
    margin-bottom: 0 !important;
  }
}

/* =====================================================
   V1.8.5 - Mention CGV + CGU sous le bouton d'inscription
   ===================================================== */

body.eoc-register-page #ecig_auth_signup_form .eoc-register-cgv-acceptance {
  margin: 10px 0 0 !important;
  color: var(--eoc-r-muted) !important;
  font-size: 11.8px !important;
  line-height: 1.45 !important;
  text-align: center !important;
  font-weight: 650 !important;
}

body.eoc-register-page #ecig_auth_signup_form .eoc-register-cgv-acceptance a {
  color: var(--eoc-r-purple) !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

body.eoc-register-page #ecig_auth_signup_form .eoc-register-cgv-acceptance a:hover {
  color: var(--eoc-r-orange) !important;
  text-decoration: underline !important;
}

@media (max-width: 600px) {
  body.eoc-register-page #ecig_auth_signup_form .eoc-register-cgv-acceptance {
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }
}


/* =====================================================
   V1.8.4 - Compatibilité Ecig Phone OTP Maison 1.1.5
   Garde le design premium 2 colonnes même avec le bloc OTP.
   ===================================================== */

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-phone-title {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--eoc-r-text) !important;
  font-size: 12.2px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: -.005em !important;
}

body.eoc-register-page #ecig_auth_signup_form input.ecig-otp-phone-input,
body.eoc-register-page #ecig_auth_signup_form .ecig-otp-phone-input {
  width: 100% !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(43,20,59,.125) !important;
  background: rgba(255,255,255,.98) !important;
  color: var(--eoc-r-text) !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  letter-spacing: 0 !important;
  box-shadow: 0 5px 14px rgba(36,18,49,.035) !important;
}

body.eoc-register-page #ecig_auth_signup_form input.ecig-otp-phone-input:focus,
body.eoc-register-page #ecig_auth_signup_form .ecig-otp-phone-input:focus {
  background: #fff !important;
  border-color: rgba(123,63,199,.50) !important;
  box-shadow:
    0 0 0 3px rgba(123,63,199,.085),
    0 8px 18px rgba(36,18,49,.06) !important;
  transform: translateY(-1px) !important;
}

body.eoc-register-page #ecig_auth_signup_form input.ecig-otp-phone-input.is-verified,
body.eoc-register-page #ecig_auth_signup_form .ecig-otp-phone-input.is-verified {
  border-color: rgba(22,163,74,.42) !important;
  box-shadow:
    0 0 0 3px rgba(22,163,74,.09),
    0 8px 18px rgba(36,18,49,.05) !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-card {
  margin: 8px 0 13px !important;
  padding: 11px 12px !important;
  border-radius: 14px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,118,72,.08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,249,.96)) !important;
  border: 1px solid rgba(123,63,199,.105) !important;
  box-shadow: 0 8px 20px rgba(36,18,49,.045) !important;
  overflow: hidden !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-card::before {
  width: 3px !important;
  background: linear-gradient(180deg, var(--eoc-r-purple), var(--eoc-r-orange)) !important;
  opacity: .85 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-main-row,
body.eoc-register-page #ecig_auth_signup_form .ecig-otp-code-row {
  gap: 9px !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-mini-title {
  color: var(--eoc-r-text) !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 950 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-subtitle {
  margin-top: 2px !important;
  color: var(--eoc-r-muted) !important;
  font-size: 11.6px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-send,
body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-verify {
  width: auto !important;
  min-width: 0 !important;
  min-height: 38px !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, var(--eoc-r-purple), var(--eoc-r-pink), var(--eoc-r-orange)) !important;
  color: #fff !important;
  font-size: 12.2px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  box-shadow: 0 9px 18px rgba(123,63,199,.14) !important;
}

body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-send:disabled,
body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-verify:disabled {
  background: #9ca3af !important;
  color: #fff !important;
  opacity: .88 !important;
  transform: none !important;
  box-shadow: none !important;
}

body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-send.is-verified,
body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-send.is-verified:disabled {
  background: linear-gradient(135deg, #16a34a, #22c55e) !important;
  opacity: 1 !important;
}

body.eoc-register-page #ecig_auth_signup_form input.ecig-otp-code {
  min-height: 38px !important;
  padding: 7px 10px !important;
  border-radius: 11px !important;
  border: 1px solid rgba(43,20,59,.125) !important;
  background: #fff !important;
  color: var(--eoc-r-text) !important;
  font-size: 17px !important;
  font-weight: 950 !important;
  letter-spacing: .13em !important;
  text-align: center !important;
  box-shadow: 0 5px 14px rgba(36,18,49,.035) !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-status {
  margin-top: 7px !important;
  padding-left: 2px !important;
  font-size: 11.8px !important;
  line-height: 1.35 !important;
  font-weight: 800 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-card.is-verified {
  border-color: rgba(22,163,74,.22) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(22,163,74,.09), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,255,249,.96)) !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-otp-card.is-verified::before {
  background: linear-gradient(180deg, #16a34a, #22c55e) !important;
}

@media (max-width: 620px) {
  body.eoc-register-page #ecig_auth_signup_form .ecig-otp-main-row,
  body.eoc-register-page #ecig_auth_signup_form .ecig-otp-code-row {
    grid-template-columns: 1fr !important;
  }

  body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-send,
  body.eoc-register-page #ecig_auth_signup_form button.ecig-otp-verify {
    width: 100% !important;
  }
}



/* =========================================================
   V1.0.3 — anti-conflit Design Hub + mot de passe oublié
   ========================================================= */

html.eoc-register-preload #ecig_auth_signup_form,
html.eoc-register-loading #ecig_auth_signup_form,
html.eoc-register-preload .ecig-auth-native .youzify-membership-form,
html.eoc-register-loading .ecig-auth-native .youzify-membership-form,
html.eoc-login-preload .ecig-auth-native .youzify-membership-login-page,
html.eoc-login-loading .ecig-auth-native .youzify-membership-login-page {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

body.ecig-auth-page-register #ecig_auth_signup_form {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-height: 1px !important;
}

body.ecig-auth-page-lost .ecig-auth-lost-intro {
  margin: -2px 0 18px !important;
  color: var(--eoc-l-muted, #75687d) !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
  font-weight: 650 !important;
}

body.ecig-auth-page-lost .youzify-membership-form-actions {
  margin-top: 20px !important;
}

body.ecig-auth-page-lost .eoc-login-layout {
  align-items: start !important;
}


/* =========================================================
   V1.0.5 — vérification explicite du mot de passe
   ========================================================= */

.ecig-auth-password-help {
  display: grid !important;
  gap: 2px !important;
  margin-top: 7px !important;
  color: #65586e !important;
  font-size: 11px !important;
  line-height: 1.45 !important;
}

.ecig-auth-password-help strong {
  color: #2c1937 !important;
}

.ecig-auth-password-help span {
  color: #83768a !important;
}

.ecig-auth-password-status {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px 12px !important;
  margin-top: 7px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

.ecig-auth-password-state {
  color: #75687d !important;
}

.ecig-auth-password-state.is-error {
  color: #b4232d !important;
}

.ecig-auth-password-state.is-warning {
  color: #a15c00 !important;
}

.ecig-auth-password-state.is-good {
  color: #6d32ad !important;
}

.ecig-auth-password-state.is-valid,
.ecig-auth-password-counter.is-valid {
  color: #087625 !important;
}

.ecig-auth-password-counter {
  color: #8a7d91 !important;
  white-space: nowrap !important;
}

.ecig-auth-password-checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 9px !important;
  margin-top: 9px !important;
}

.ecig-auth-password-checks span {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 4px 7px 4px 25px !important;
  border: 1px solid rgba(36,18,49,.08) !important;
  border-radius: 8px !important;
  background: rgba(36,18,49,.025) !important;
  color: #786b80 !important;
  font-size: 10px !important;
  line-height: 1.3 !important;
  font-weight: 750 !important;
}

.ecig-auth-password-checks span::before {
  content: "○" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #a89eae !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.ecig-auth-password-checks span.is-valid {
  border-color: rgba(8,118,37,.18) !important;
  background: rgba(8,118,37,.055) !important;
  color: #087625 !important;
}

.ecig-auth-password-checks span.is-valid::before {
  content: "✓" !important;
  color: #087625 !important;
}

.ecig-auth-password-match-status {
  min-height: 18px !important;
  margin-top: 7px !important;
  color: #75687d !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

.ecig-auth-password-match-status.is-valid {
  color: #087625 !important;
}

.ecig-auth-password-match-status.is-error {
  color: #b4232d !important;
}

.ecig-auth-password-confirm-field input.is-valid {
  border-color: rgba(8,118,37,.48) !important;
  box-shadow: 0 0 0 3px rgba(8,118,37,.08) !important;
}

.ecig-auth-password-confirm-field input.is-error {
  border-color: rgba(180,35,45,.48) !important;
  box-shadow: 0 0 0 3px rgba(180,35,45,.08) !important;
}

@media (max-width: 600px) {
  .ecig-auth-password-checks {
    grid-template-columns: 1fr !important;
  }

  .ecig-auth-password-status {
    display: grid !important;
  }
}


/* V1.0.6 — écran de transition animé */
html.ecig-auth-is-loading,
body.ecig-auth-is-loading{overflow:hidden!important}

.ecig-auth-loading{
  position:fixed!important;inset:0!important;z-index:2147483000!important;
  display:grid!important;place-items:center!important;padding:18px!important;
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transition:opacity .24s ease,visibility .24s ease!important
}
.ecig-auth-loading.is-visible{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.ecig-auth-loading__backdrop{
  position:absolute!important;inset:0!important;
  background:
    radial-gradient(circle at 18% 12%,rgba(255,112,68,.25),transparent 32%),
    radial-gradient(circle at 84% 82%,rgba(205,45,236,.26),transparent 35%),
    linear-gradient(145deg,rgba(26,8,42,.98),rgba(72,8,119,.98) 54%,rgba(35,6,68,.99))!important;
  backdrop-filter:blur(9px)!important
}
.ecig-auth-loading__card{
  position:relative!important;z-index:2!important;width:min(420px,94vw)!important;min-height:410px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  padding:30px 24px!important;overflow:hidden!important;text-align:center!important;color:#fff!important;
  border:1px solid rgba(255,255,255,.17)!important;border-radius:30px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.055))!important;
  box-shadow:0 34px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.2)!important
}
.ecig-auth-loading__card:before{
  content:""!important;position:absolute!important;inset:-35% -25% auto!important;height:72%!important;
  background:radial-gradient(circle,rgba(255,112,68,.25),transparent 65%)!important;
  animation:ecig-auth-aura 2s ease-in-out infinite!important
}
.ecig-auth-loading__visual{position:relative!important;width:150px!important;height:165px!important;margin-bottom:8px!important}
.ecig-auth-loading__tank{
  position:absolute!important;left:50%!important;bottom:73px!important;width:48px!important;height:62px!important;
  transform:translateX(-50%)!important;border:3px solid rgba(255,255,255,.88)!important;border-radius:12px 12px 8px 8px!important;
  background:linear-gradient(90deg,rgba(255,255,255,.18),rgba(255,255,255,.04),rgba(255,255,255,.16)),
             linear-gradient(180deg,rgba(137,65,192,.45),rgba(255,105,69,.34))!important;
  box-shadow:inset 0 0 18px rgba(255,255,255,.13),0 12px 20px rgba(0,0,0,.22)!important
}
.ecig-auth-loading__tank:before{
  content:""!important;position:absolute!important;left:12px!important;right:12px!important;top:-15px!important;height:16px!important;
  border-radius:7px 7px 3px 3px!important;background:linear-gradient(#f1eef6,#958aa3)!important
}
.ecig-auth-loading__coil{
  position:absolute!important;left:50%!important;bottom:10px!important;width:29px!important;height:14px!important;
  transform:translateX(-50%)!important;border-radius:999px!important;
  background:repeating-linear-gradient(90deg,#ff653b 0 4px,#ffd078 4px 7px)!important;
  box-shadow:0 0 7px #ff5735,0 0 17px #ff7a38,0 0 28px rgba(255,72,35,.9)!important;
  animation:ecig-auth-coil .7s ease-in-out infinite alternate!important
}
.ecig-auth-loading__mod{
  position:absolute!important;left:50%!important;bottom:3px!important;width:72px!important;height:76px!important;
  transform:translateX(-50%)!important;border-radius:15px 15px 22px 22px!important;
  background:radial-gradient(circle at 25% 18%,rgba(255,255,255,.4),transparent 15%),
             linear-gradient(145deg,#813bc3,#c32cdb 48%,#ff6942)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.38),inset 0 -14px 25px rgba(63,8,91,.3),0 18px 23px rgba(0,0,0,.25)!important
}
.ecig-auth-loading__mod span{
  position:absolute!important;left:50%!important;top:21px!important;width:25px!important;height:25px!important;
  transform:translateX(-50%)!important;border:2px solid rgba(255,255,255,.86)!important;border-radius:50%!important;
  box-shadow:0 0 14px rgba(255,255,255,.3)!important
}
.ecig-auth-loading__mod span:after{
  content:""!important;position:absolute!important;left:50%!important;top:50%!important;width:7px!important;height:7px!important;
  transform:translate(-50%,-50%)!important;border-radius:50%!important;background:#fff!important;box-shadow:0 0 10px #fff!important
}
.ecig-auth-loading__vapour{position:absolute!important;left:50%!important;top:0!important;width:115px!important;height:100px!important;transform:translateX(-50%)!important}
.ecig-auth-loading__vapour i{
  position:absolute!important;left:50%!important;bottom:0!important;width:27px!important;height:27px!important;
  border:5px solid rgba(255,255,255,.74)!important;border-right-color:transparent!important;border-bottom-color:transparent!important;
  border-radius:50%!important;opacity:0!important;animation:ecig-auth-vapour 2.2s ease-out infinite!important
}
.ecig-auth-loading__vapour i:nth-child(1){margin-left:-21px!important}
.ecig-auth-loading__vapour i:nth-child(2){margin-left:8px!important;animation-delay:.45s!important}
.ecig-auth-loading__vapour i:nth-child(3){margin-left:-35px!important;animation-delay:.9s!important}
.ecig-auth-loading__vapour i:nth-child(4){margin-left:24px!important;animation-delay:1.3s!important}
.ecig-auth-loading small{
  position:relative!important;z-index:2!important;margin-bottom:10px!important;padding:6px 11px!important;
  border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;background:rgba(255,255,255,.08)!important;
  color:rgba(255,255,255,.82)!important;font-size:10px!important;font-weight:900!important;letter-spacing:.14em!important
}
.ecig-auth-loading h2{
  position:relative!important;z-index:2!important;max-width:350px!important;margin:0!important;color:#fff!important;
  font-size:clamp(24px,6vw,32px)!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.035em!important
}
.ecig-auth-loading p{
  position:relative!important;z-index:2!important;min-height:42px!important;margin:13px 0 18px!important;
  color:rgba(255,255,255,.77)!important;font-size:14px!important;line-height:1.5!important;font-weight:700!important;
  transition:opacity .16s ease,transform .16s ease!important
}
.ecig-auth-loading p.is-changing{opacity:0!important;transform:translateY(4px)!important}
.ecig-auth-loading__bar{
  position:relative!important;z-index:2!important;width:min(270px,80%)!important;height:5px!important;
  overflow:hidden!important;border-radius:999px!important;background:rgba(255,255,255,.14)!important
}
.ecig-auth-loading__bar span{
  position:absolute!important;inset:0 auto 0 0!important;width:45%!important;border-radius:inherit!important;
  background:linear-gradient(90deg,#ff784a,#ffd176,#d43cff)!important;box-shadow:0 0 15px rgba(255,108,64,.55)!important;
  animation:ecig-auth-bar 1.15s ease-in-out infinite!important
}
.ecig-auth-loading__dots{position:relative!important;z-index:2!important;display:flex!important;gap:7px!important;margin-top:15px!important}
.ecig-auth-loading__dots i{
  width:7px!important;height:7px!important;border-radius:50%!important;background:rgba(255,255,255,.92)!important;
  animation:ecig-auth-dot .9s ease-in-out infinite alternate!important
}
.ecig-auth-loading__dots i:nth-child(2){animation-delay:.18s!important}
.ecig-auth-loading__dots i:nth-child(3){animation-delay:.36s!important}

@keyframes ecig-auth-coil{from{opacity:.68;transform:translateX(-50%) scale(.88)}to{opacity:1;transform:translateX(-50%) scale(1.08)}}
@keyframes ecig-auth-vapour{
  0%{opacity:0;transform:translate(-50%,8px) scale(.48) rotate(0)}
  18%{opacity:.72}
  100%{opacity:0;transform:translate(calc(-50% + 9px),-82px) scale(1.55) rotate(95deg)}
}
@keyframes ecig-auth-bar{from{left:-47%}to{left:103%}}
@keyframes ecig-auth-dot{from{opacity:.3;transform:translateY(0)}to{opacity:1;transform:translateY(-5px)}}
@keyframes ecig-auth-aura{0%,100%{opacity:.55;transform:scale(.94)}50%{opacity:1;transform:scale(1.08)}}

@media(max-width:600px){
  .ecig-auth-loading__card{min-height:390px!important;padding:25px 17px!important;border-radius:25px!important}
  .ecig-auth-loading__visual{transform:scale(.9)!important;margin-bottom:-2px!important}
}
@media(prefers-reduced-motion:reduce){
  .ecig-auth-loading *,.ecig-auth-loading *:before,.ecig-auth-loading *:after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important
  }
}


/* =========================================================
   V1.0.11 — suppression du trait orange sous le footer
   ========================================================= */

/*
 * Certaines décorations historiques du Design Hub ou du thème peuvent
 * dépasser de quelques pixels après le footer sur les pages Auth.
 * Le fond racine reprend la couleur du footer afin qu'aucune bande orange
 * ne soit visible, même en cas d'arrondi de hauteur ou de zoom navigateur.
 */
html:has(body.ecig-auth-page),
body.ecig-auth-page {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  background-color: #241231 !important;
}

body.ecig-auth-page #page-container,
body.ecig-auth-page #main-footer,
body.ecig-auth-page footer,
body.ecig-auth-page .et-l--footer,
body.ecig-auth-page .et_builder_inner_content {
  margin-bottom: 0 !important;
  border-bottom: 0 !important;
}

/* Neutralise uniquement les décorations placées après le footer. */
body.ecig-auth-page #main-footer::after,
body.ecig-auth-page footer::after,
body.ecig-auth-page .et-l--footer::after,
body.ecig-auth-page #page-container::after {
  content: none !important;
  display: none !important;
}

/*
 * Le contenu principal conserve son fond clair. Seule la zone éventuelle
 * située sous le footer reprend le violet foncé du footer.
 */
body.ecig-auth-page .ecig-auth-template-main,
body.ecig-auth-page .ecig-auth-template-content {
  background-color: #fff !important;
}


/* =====================================================
   ECIG AUTH MAISON - PAGE DE BIENVENUE APRES INSCRIPTION
   /inscription/?bienvenue=1
   ===================================================== */
body.eoc-welcome-page {
    background:
        radial-gradient(circle at 12% 8%, rgba(123,63,199,.09), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(236,72,153,.09), transparent 30%),
        linear-gradient(180deg, #fffafc 0%, #faf6ff 100%) !important;
}

body.eoc-welcome-page .ecig-auth-template-main,
body.eoc-welcome-page .ecig-auth-template-content {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background:
        radial-gradient(circle at 12% 8%, rgba(123,63,199,.09), transparent 28%),
        radial-gradient(circle at 88% 14%, rgba(236,72,153,.09), transparent 30%),
        linear-gradient(180deg, #fffafc 0%, #faf6ff 100%) !important;
}
body.eoc-welcome-page .entry-title,
body.eoc-welcome-page .page-title,
body.eoc-welcome-page .youzify-membership-form,
body.eoc-welcome-page .youzify-membership-page-box,
body.eoc-welcome-page .bp-feedback,
body.eoc-welcome-page #message {
    display: none !important;
}

body.eoc-welcome-page .entry-content,
body.eoc-welcome-page .et_pb_post,
body.eoc-welcome-page article.page,
body.eoc-welcome-page main {
    max-width: none;
}

.eoc-welcome-wrap {
    width: min(1120px, calc(100% - 32px));
    margin: 54px auto 72px;
    font-family: inherit;
    color: #241137;
}

.eoc-welcome-card {
    position: relative;
    overflow: hidden;
    padding: 54px 48px 46px;
    border-radius: 30px;
    color: #fff;
    text-align: center;
    background:
        radial-gradient(circle at 10% 15%, rgba(255, 209, 102, .18), transparent 27%),
        radial-gradient(circle at 90% 10%, rgba(236, 72, 153, .30), transparent 30%),
        linear-gradient(135deg, #21023f 0%, #4c0c91 48%, #7c1fd1 100%);
    box-shadow: 0 26px 70px rgba(44, 5, 82, .28);
    isolation: isolate;
}

.eoc-welcome-glow {
    position: absolute;
    z-index: -1;
    border-radius: 999px;
    filter: blur(4px);
    pointer-events: none;
}

.eoc-welcome-glow-one {
    width: 230px;
    height: 230px;
    top: -110px;
    right: -60px;
    background: rgba(255, 255, 255, .12);
}

.eoc-welcome-glow-two {
    width: 180px;
    height: 180px;
    bottom: -95px;
    left: -45px;
    background: rgba(255, 209, 102, .13);
}

.eoc-welcome-success {
    width: 78px;
    height: 78px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #43106f;
    background: linear-gradient(145deg, #fff 0%, #f4e8ff 100%);
    box-shadow: 0 14px 34px rgba(15, 0, 29, .26), 0 0 0 10px rgba(255, 255, 255, .09);
}

.eoc-welcome-success svg {
    width: 44px;
    height: 44px;
    fill: currentColor;
}

.eoc-welcome-kicker,
.eoc-welcome-next-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.eoc-welcome-kicker {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .12);
}

.eoc-welcome-card h1 {
    margin: 15px auto 12px;
    max-width: 760px;
    color: #fff;
    font-size: clamp(34px, 5vw, 56px);
    line-height: 1.04;
    letter-spacing: -.045em;
}

.eoc-welcome-lead {
    max-width: 720px;
    margin: 0 auto;
    color: rgba(255, 255, 255, .88);
    font-size: 17px;
    line-height: 1.65;
}

.eoc-welcome-status {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 34px auto 0;
    max-width: 890px;
}

.eoc-welcome-status-item {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 84px;
    padding: 16px;
    text-align: left;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 18px;
    background: rgba(255, 255, 255, .09);
    backdrop-filter: blur(8px);
}

.eoc-welcome-status-icon {
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #3b125c;
    background: #ffd166;
    font-size: 18px;
    font-weight: 950;
}

.eoc-welcome-status-item strong,
.eoc-welcome-status-item small {
    display: block;
}

.eoc-welcome-status-item strong {
    margin-bottom: 3px;
    color: #fff;
    font-size: 15px;
}

.eoc-welcome-status-item small {
    color: rgba(255, 255, 255, .72);
    font-size: 12px;
    line-height: 1.35;
}


.eoc-welcome-status-item.is-pending {
    opacity: .9;
}

.eoc-welcome-status-item.is-pending .eoc-welcome-status-icon {
    color: #fff;
    background: rgba(255,255,255,.18);
}
.eoc-welcome-actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 30px;
}

.eoc-welcome-button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 24px;
    border-radius: 14px;
    font-weight: 900;
    text-decoration: none !important;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.eoc-welcome-button:hover {
    transform: translateY(-2px);
}

.eoc-welcome-button-primary {
    color: #fff !important;
    background: linear-gradient(135deg, #f312c8 0%, #a92df3 100%);
    box-shadow: 0 14px 28px rgba(235, 18, 190, .27);
}

.eoc-welcome-button-primary:hover {
    box-shadow: 0 18px 34px rgba(235, 18, 190, .34);
}

.eoc-welcome-button-secondary {
    color: #fff !important;
    border: 1px solid rgba(255, 255, 255, .22);
    background: rgba(255, 255, 255, .09);
}

.eoc-welcome-button-secondary:hover {
    background: rgba(255, 255, 255, .15);
}

.eoc-welcome-next {
    margin-top: 22px;
    padding: 28px;
    border: 1px solid #eadcff;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(45, 10, 74, .08);
}

.eoc-welcome-next > div:first-child {
    text-align: center;
}

.eoc-welcome-next-kicker {
    color: #6415a5;
    background: #f3e8ff;
}

.eoc-welcome-next h2 {
    margin: 10px 0 24px;
    color: #2f0e4b;
    font-size: clamp(25px, 3vw, 34px);
    letter-spacing: -.03em;
}

.eoc-welcome-next-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.eoc-welcome-next-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-height: 116px;
    padding: 18px;
    color: #2f1842 !important;
    text-decoration: none !important;
    border: 1px solid #eee3f8;
    border-radius: 18px;
    background: linear-gradient(180deg, #fff 0%, #fcf9ff 100%);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.eoc-welcome-next-item:hover {
    transform: translateY(-2px);
    border-color: #d7b6f4;
    box-shadow: 0 12px 24px rgba(77, 23, 113, .09);
}

.eoc-welcome-next-number {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #fff;
    background: linear-gradient(135deg, #7c1fd1, #ed20bc);
    font-weight: 950;
}

.eoc-welcome-next-item strong,
.eoc-welcome-next-item small {
    display: block;
}

.eoc-welcome-next-item strong {
    margin: 2px 0 6px;
    font-size: 15px;
}

.eoc-welcome-next-item small {
    color: #76647f;
    font-size: 13px;
    line-height: 1.5;
}

@media (max-width: 820px) {
    .eoc-welcome-wrap {
        margin-top: 28px;
    }

    .eoc-welcome-card {
        padding: 42px 22px 34px;
        border-radius: 24px;
    }

    .eoc-welcome-status,
    .eoc-welcome-next-grid {
        grid-template-columns: 1fr;
    }

    .eoc-welcome-status-item,
    .eoc-welcome-next-item {
        min-height: 0;
    }
}

@media (max-width: 520px) {
    .eoc-welcome-wrap {
        width: min(100% - 20px, 1120px);
        margin-bottom: 42px;
    }

    .eoc-welcome-card h1 {
        font-size: 34px;
    }

    .eoc-welcome-lead {
        font-size: 15px;
    }

    .eoc-welcome-actions {
        flex-direction: column;
    }

    .eoc-welcome-button {
        width: 100%;
        box-sizing: border-box;
    }

    .eoc-welcome-next {
        padding: 22px 16px;
    }
}

/* 1.0.17 — champs obligatoires non remplis */
body.eoc-register-page #ecig_auth_signup_form .ecig-auth-validation-summary {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  margin: 0 0 16px !important;
  padding: 11px 13px !important;
  border: 1px solid rgba(200, 30, 30, .28) !important;
  border-left: 4px solid #d92b2b !important;
  border-radius: 12px !important;
  background: #fff4f4 !important;
  color: #a61f1f !important;
  box-shadow: 0 8px 20px rgba(180, 25, 25, .07) !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-validation-summary strong {
  font-size: 13px !important;
  line-height: 1.3 !important;
  font-weight: 950 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-validation-summary span {
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-field.is-invalid > label,
body.eoc-register-page #ecig_auth_signup_form .youzify-membership-form-item.is-invalid > label,
body.eoc-register-page #ecig_auth_signup_form .ecig-auth-consents.is-invalid label {
  color: #c42121 !important;
}

body.eoc-register-page #ecig_auth_signup_form input.is-invalid:not([type="checkbox"]),
body.eoc-register-page #ecig_auth_signup_form textarea.is-invalid,
body.eoc-register-page #ecig_auth_signup_form select.is-invalid,
body.eoc-register-page #ecig_auth_signup_form input.is-error:not([type="checkbox"]) {
  border-color: #d92b2b !important;
  background: #fff8f8 !important;
  box-shadow: 0 0 0 3px rgba(217, 43, 43, .10), 0 7px 16px rgba(120, 15, 15, .05) !important;
}

body.eoc-register-page #ecig_auth_signup_form input.is-invalid:not([type="checkbox"]):focus,
body.eoc-register-page #ecig_auth_signup_form textarea.is-invalid:focus,
body.eoc-register-page #ecig_auth_signup_form select.is-invalid:focus,
body.eoc-register-page #ecig_auth_signup_form input.is-error:not([type="checkbox"]):focus {
  border-color: #b91c1c !important;
  box-shadow: 0 0 0 4px rgba(217, 43, 43, .13), 0 8px 18px rgba(120, 15, 15, .06) !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-required-error {
  position: relative !important;
  margin: 6px 0 0 !important;
  padding-left: 17px !important;
  color: #c42121 !important;
  font-size: 11.8px !important;
  line-height: 1.35 !important;
  font-weight: 850 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-required-error::before {
  content: "!" !important;
  position: absolute !important;
  left: 0 !important;
  top: 1px !important;
  display: inline-grid !important;
  place-items: center !important;
  width: 13px !important;
  height: 13px !important;
  border-radius: 50% !important;
  background: #d92b2b !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

body.eoc-register-page #ecig_auth_signup_form .ecig-auth-consents.is-invalid {
  border-color: rgba(217, 43, 43, .40) !important;
  background: #fff4f4 !important;
  box-shadow: 0 0 0 3px rgba(217, 43, 43, .08) !important;
}

body.eoc-register-page #ecig_auth_signup_form input[type="checkbox"].is-invalid {
  outline: 2px solid #d92b2b !important;
  outline-offset: 2px !important;
  accent-color: #d92b2b !important;
}

@media (max-width: 640px) {
  body.eoc-register-page #ecig_auth_signup_form .ecig-auth-validation-summary {
    margin-bottom: 13px !important;
    padding: 10px 11px !important;
  }
}

/* 1.1.3 — erreur d’identifiants sur la page de connexion */
body.eoc-login-page .ecig-auth-form .ecig-auth-field.is-invalid > label {
  color: #b42325 !important;
}

body.eoc-login-page .ecig-auth-form input.is-invalid {
  border-color: #d83c3e !important;
  background: #fff7f7 !important;
  box-shadow: 0 0 0 3px rgba(216,60,62,.12) !important;
}

body.eoc-login-page .ecig-auth-form input.is-invalid:focus {
  border-color: #b42325 !important;
  box-shadow: 0 0 0 4px rgba(216,60,62,.16) !important;
}


/* =========================================================
   V1.1.4 — erreur AJAX fiable sur la page /login/
   ========================================================= */
body.eoc-login-page .ecig-auth-page-login-message[hidden]{display:none!important}
body.eoc-login-page .ecig-auth-page-login-message{
  display:block!important;
  margin:0 0 15px!important;
  padding:12px 14px!important;
  border:1px solid rgba(181,45,46,.20)!important;
  border-left:4px solid #d72d3a!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#fff5f5,#fff0f1)!important;
  color:#96252c!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:850!important;
  box-shadow:0 8px 20px rgba(157,32,41,.07)!important;
}
body.eoc-login-page .ecig-auth-page-login-message.is-success{
  border-color:rgba(8,118,37,.20)!important;
  border-left-color:#087625!important;
  background:linear-gradient(180deg,#f2fff5,#eaf9ee)!important;
  color:#087625!important;
}
body.eoc-login-page .ecig-auth-field.is-invalid>label{color:#b4232d!important}
body.eoc-login-page .ecig-auth-field input.is-invalid{
  border-color:#d72d3a!important;
  background:#fff9f9!important;
  box-shadow:0 0 0 3px rgba(215,45,58,.10)!important;
}


/* =====================================================
   ECIG AUTH MAISON 1.1.9 — carte connecté retravaillée
   ===================================================== */

.ecig-auth-shell-connected {
  width: min(1100px, calc(100% - 28px)) !important;
  max-width: 1100px !important;
  margin: 18px auto 28px !important;
}

.ecig-auth-connected-card {
  position: relative !important;
  overflow: hidden !important;
  padding: 0 !important;
  border-radius: 28px !important;
  border: 1px solid rgba(232, 158, 255, .28) !important;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 111, 236, .18), transparent 28%),
    radial-gradient(circle at 88% 78%, rgba(114, 48, 255, .18), transparent 28%),
    linear-gradient(135deg, #1f0639 0%, #330866 42%, #240847 100%) !important;
  box-shadow: 0 24px 60px rgba(23, 3, 41, .33), inset 0 1px 0 rgba(255,255,255,.12) !important;
}

.ecig-auth-connected-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}

.ecig-auth-connected-card__inner {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .75fr) !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 28px 28px 24px !important;
}

.ecig-auth-connected-card__copy {
  min-width: 0 !important;
}

.ecig-auth-kicker-connected {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.ecig-auth-kicker-dot {
  width: 13px !important;
  height: 13px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #57df9f, #20b876) !important;
  box-shadow: 0 0 0 4px rgba(87,223,159,.14) !important;
}

.ecig-auth-connected-card h1 {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 62px) !important;
  line-height: .98 !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
}

.ecig-auth-connected-card p {
  margin: 0 !important;
  color: rgba(241, 233, 255, .92) !important;
  font-size: clamp(20px, 2.3vw, 32px) !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

.ecig-auth-connected-card p strong {
  color: #ff70e1 !important;
  font-weight: 800 !important;
}

.ecig-auth-connected-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  margin-top: 24px !important;
}

.ecig-auth-connected-actions .ecig-auth-submit,
.ecig-auth-connected-actions .ecig-auth-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  min-height: 58px !important;
  padding: 14px 28px !important;
  border-radius: 16px !important;
  text-decoration: none !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.ecig-auth-connected-actions .ecig-auth-submit {
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: linear-gradient(135deg, #ff4ed8 0%, #bf4fff 100%) !important;
  box-shadow: 0 14px 34px rgba(176, 59, 255, .28), inset 0 1px 0 rgba(255,255,255,.18) !important;
}

.ecig-auth-connected-actions .ecig-auth-secondary {
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  background: rgba(255,255,255,.05) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.ecig-auth-connected-actions .ecig-auth-submit:hover,
.ecig-auth-connected-actions .ecig-auth-secondary:hover {
  transform: translateY(-1px) !important;
}

.ecig-auth-btn-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 24px !important;
  height: 24px !important;
  font-size: 19px !important;
  line-height: 1 !important;
}

.ecig-auth-connected-card__visual {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.ecig-auth-connected-card__visual-stage {
  position: relative !important;
  width: min(100%, 285px) !important;
  padding: 10px 0 !important;
}

.ecig-auth-connected-card__visual-stage::before {
  content: "" !important;
  position: absolute !important;
  inset: 18% 10% auto !important;
  height: 45% !important;
  background: radial-gradient(circle, rgba(255, 70, 209, .24), transparent 70%) !important;
  filter: blur(18px) !important;
  pointer-events: none !important;
}

.ecig-auth-connected-illustration {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

@media (max-width: 900px) {
  .ecig-auth-shell-connected {
    width: min(100%, calc(100% - 20px)) !important;
    margin: 14px auto 22px !important;
  }

  .ecig-auth-connected-card__inner {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 24px 20px 22px !important;
  }

  .ecig-auth-connected-card__visual-stage {
    width: min(100%, 225px) !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 640px) {
  .ecig-auth-shell-connected {
    width: min(100%, calc(100% - 14px)) !important;
    margin: 10px auto 18px !important;
  }

  .ecig-auth-connected-card {
    border-radius: 22px !important;
  }

  .ecig-auth-kicker-connected {
    margin-bottom: 12px !important;
    font-size: 14px !important;
  }

  .ecig-auth-connected-card h1 {
    font-size: clamp(24px, 9vw, 44px) !important;
  }

  .ecig-auth-connected-card p {
    font-size: clamp(16px, 5.2vw, 24px) !important;
  }

  .ecig-auth-connected-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 20px !important;
  }

  .ecig-auth-connected-actions .ecig-auth-submit,
  .ecig-auth-connected-actions .ecig-auth-secondary {
    width: 100% !important;
    min-height: 54px !important;
    font-size: 17px !important;
    padding: 13px 18px !important;
  }

  .ecig-auth-connected-card__visual {
    justify-content: flex-start !important;
  }

  .ecig-auth-connected-card__visual-stage {
    width: min(100%, 200px) !important;
    margin: 6px auto 0 !important;
  }
}
