/* Formulaire Prelinker intégré dans la pop-up auth (register-form + no-style) */

.popup-overlay {
  z-index: 99990 !important;
}

.popup-overlay .popup-card {
  position: relative;
  z-index: 2;
}

/* Pop-up scrollable si beaucoup de champs (4–5) */
.popup-overlay[data-prelinker-auth='1'] .popup-card,
.popup-overlay:has(.popup-prelinker-host.prelinker-loaded) .popup-card {
  max-height: min(92vh, 680px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.popup-overlay[data-prelinker-auth='1'] .popup-desc,
.popup-overlay:has(.popup-prelinker-host.prelinker-loaded) .popup-desc {
  margin-bottom: 16px;
}

.popup-prelinker-panel {
  position: relative;
  z-index: 1;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

.popup-prelinker-host {
  position: relative;
  width: 100%;
  min-height: 120px;
  overflow: visible;
}

.popup-prelinker-host:not(.prelinker-loaded):not([data-prelinker-mounting])::after {
  content: '';
  display: block;
  width: 36px;
  height: 36px;
  margin: 40px auto;
  border: 3px solid #e5e7eb;
  border-top-color: var(--primary, #e91e63);
  border-radius: 50%;
  animation: prelinkerSpin 0.7s linear infinite;
}

.popup-prelinker-host.prelinker-loaded::after {
  display: none;
}

@keyframes prelinkerSpin {
  to { transform: rotate(360deg); }
}

/* Layout formulaire Prelinker — sans casser la structure <form> */
.popup-prelinker-host form,
.popup-prelinker-host .prelinker-repaired-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 0;
  width: 100%;
}

.popup-prelinker-host[data-prelinker-fields='2'] form,
.popup-prelinker-host[data-prelinker-fields='2'] .prelinker-repaired-form {
  gap: 14px;
}

.popup-prelinker-host[data-prelinker-fields='4'] form,
.popup-prelinker-host[data-prelinker-fields='5'] form,
.popup-prelinker-host[data-prelinker-fields='4'] .prelinker-repaired-form,
.popup-prelinker-host[data-prelinker-fields='5'] .prelinker-repaired-form {
  gap: 10px;
}

.popup-prelinker-host form table,
.popup-prelinker-host .prelinker-repaired-form table {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.popup-prelinker-host form > button,
.popup-prelinker-host form > input[type='submit'],
.popup-prelinker-host form tr:has(button) button,
.popup-prelinker-host form tr:has(input[type='submit']) input[type='submit'],
.popup-prelinker-host .prelinker-repaired-form > button,
.popup-prelinker-host .prelinker-repaired-form > input[type='submit'] {
  margin-top: 10px !important;
}

/* Layout normalisé legacy (si ancien cache) */
.popup-prelinker-host .prelinker-form-layout {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
}

.popup-prelinker-host[data-prelinker-fields='2'] .prelinker-form-layout {
  gap: 14px;
}

.popup-prelinker-host[data-prelinker-fields='3'] .prelinker-form-layout {
  gap: 12px;
}

.popup-prelinker-host[data-prelinker-fields='4'] .prelinker-form-layout,
.popup-prelinker-host[data-prelinker-fields='5'] .prelinker-form-layout {
  gap: 10px;
}

.popup-prelinker-host .prelinker-field-row {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  width: 100%;
}

/* Conteneurs déplacés depuis le body */
.popup-prelinker-host .prelinker-embedded,
.popup-prelinker-host > div:not(.popup-prelinker-mount):not(.prelinker-form-layout) {
  position: static !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.popup-prelinker-host form {
  margin: 0;
  width: 100%;
}

.popup-prelinker-host table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.popup-prelinker-host tr,
.popup-prelinker-host td {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.popup-prelinker-host label {
  display: block;
  font-weight: 600;
  font-size: 0.85rem;
  margin-bottom: 5px;
  color: #374151;
}

.popup-prelinker-host select,
.popup-prelinker-host input[type='email'],
.popup-prelinker-host input[type='text'],
.popup-prelinker-host input[type='password'],
.popup-prelinker-host input[type='tel'],
.popup-prelinker-host input[type='date'],
.popup-prelinker-host input[type='number'],
.popup-prelinker-host input:not([type='checkbox']):not([type='radio']):not([type='hidden']):not([type='submit']):not([type='button']) {
  width: 100% !important;
  max-width: 100% !important;
  padding: 11px 14px !important;
  border: 2px solid #e5e7eb !important;
  border-radius: 10px !important;
  font-size: 0.93rem !important;
  outline: none;
  transition: border-color 0.2s;
  font-family: inherit;
  box-sizing: border-box;
  background: #fff !important;
  color: #1f2937 !important;
  appearance: auto;
  height: auto !important;
  min-height: 44px;
  line-height: 1.4;
  margin: 0 !important;
}

.popup-prelinker-host select:focus,
.popup-prelinker-host input:focus {
  border-color: var(--primary, #e91e63) !important;
}

.popup-prelinker-host input::placeholder {
  color: #cbd5e1;
}

/* Espace au-dessus du bouton */
.popup-prelinker-host .prelinker-actions {
  margin-top: 10px;
  padding-top: 10px;
  width: 100%;
}

.popup-prelinker-host[data-prelinker-fields='2'] .prelinker-actions {
  margin-top: 14px;
  padding-top: 12px;
}

.popup-prelinker-host[data-prelinker-fields='4'] .prelinker-actions,
.popup-prelinker-host[data-prelinker-fields='5'] .prelinker-actions {
  margin-top: 8px;
  padding-top: 8px;
}

.popup-prelinker-host button,
.popup-prelinker-host input[type='submit'],
.popup-prelinker-host input[type='button'],
.popup-prelinker-host a.btn,
.popup-prelinker-host .btn-submit {
  width: 100% !important;
  padding: 13px !important;
  border: none !important;
  border-radius: 10px !important;
  background: var(--primary, #e91e63) !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  cursor: pointer;
  transition: all 0.15s;
  font-family: inherit;
  text-align: center;
  text-decoration: none !important;
  display: block;
  box-sizing: border-box;
  height: auto !important;
  min-height: 46px;
  line-height: 1.3;
  margin: 0 !important;
}

.popup-prelinker-host .prelinker-actions button,
.popup-prelinker-host .prelinker-actions input[type='submit'] {
  margin-top: 0 !important;
}

.popup-prelinker-host button:hover,
.popup-prelinker-host input[type='submit']:hover,
.popup-prelinker-host a.btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.popup-prelinker-host p,
.popup-prelinker-host .hint,
.popup-prelinker-host small {
  font-size: 0.82rem;
  color: #9ca3af;
  margin: 0 0 6px;
  line-height: 1.4;
}

/* Icônes décoratives Prelinker */
.popup-prelinker-host .prelinker-field-row > img,
.popup-prelinker-host img[src*='icon'],
.popup-prelinker-host img[width='16'],
.popup-prelinker-host img[width='20'],
.popup-prelinker-host img[height='16'],
.popup-prelinker-host img[height='20'] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Ne masquer que les modales Prelinker dupliquées sur body — pas les réponses submit */
body.auth-popup-open > div[id*='opfourpro' i][style*='position: fixed']:not(#signupOverlay):not(#loginOverlay),
body.auth-popup-open > div[class*='opfourpro-overlay' i]:not(.popup-overlay),
body.auth-popup-open > div[class*='op4-modal' i][style*='position: fixed'] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body:not(.auth-popup-open) .prelinker-stray {
  display: none !important;
}

/* Page /login et /login?mode=register */
.auth-page-prelinker-panel {
  width: 100%;
  text-align: left;
}

.auth-page-wrap[data-prelinker-page='1'] .auth-page-card {
  max-height: min(92vh, 680px);
  overflow-y: auto;
}

@media (max-width: 480px) {
  .popup-overlay[data-prelinker-auth='1'] .popup-card,
  .popup-overlay:has(.popup-prelinker-host.prelinker-loaded) .popup-card {
    max-height: min(94vh, 720px);
  }

  .popup-prelinker-host .prelinker-form-layout {
    gap: 10px;
  }

  .popup-prelinker-host .prelinker-actions {
    margin-top: 8px;
    padding-top: 8px;
  }
}
