
/* ═══════════════════════════════════════════
   PHASE 4 — LOGIN MODAL REDESIGN
   Split-screen: form left + villa image right
   PD design system (Outfit + Cormorant Garamond)
   ═══════════════════════════════════════════ */

/* --- Backdrop: darker, blurred --- */
#loginmodal.modal.fade .modal-backdrop,
.modal-backdrop.in {
  background: rgba(10, 10, 10, 0.55) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
}

/* --- Dialog: centered, wider --- */
#loginmodal .modal-dialog {
  max-width: 860px !important;
  width: 90% !important;
  margin: 30px auto !important;
  height: auto !important;
  transform: none !important;
}

/* --- Content: grid layout, split-screen --- */
#loginmodal .modal-content {
  background: #ffffff !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.2) !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  min-height: 500px !important;
}

/* --- Close button: minimal X --- */
#loginmodal .modal-content > .close,
#loginmodal .modal-content button.close {
  position: absolute !important;
  top: 20px !important;
  right: 20px !important;
  z-index: 10 !important;
  width: 36px !important;
  height: 36px !important;
  background: rgba(255,255,255,0.9) !important;
  border: none !important;
  opacity: 1 !important;
  font-size: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
  text-shadow: none !important;
  float: none !important;
}

#loginmodal .modal-content > .close:hover,
#loginmodal .modal-content button.close:hover {
  background: #ffffff !important;
}

#loginmodal .modal-content > .close::after,
#loginmodal .modal-content button.close::after {
  content: '\00D7' !important;
  font-size: 22px !important;
  color: #1a1a1a !important;
  font-weight: 300 !important;
  line-height: 1 !important;
}

/* --- Modal body: spans both columns --- */
#loginmodal .modal-body {
  display: contents !important;
  padding: 0 !important;
}

/* --- LEFT COLUMN: Form panels --- */
#loginmodal #ajax_login_div,
#loginmodal #ajax_register_div,
#loginmodal #forgot-pass-div_mod {
  grid-column: 1 !important;
  grid-row: 1 !important;
  padding: 56px 48px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Only show the active panel */
#loginmodal #ajax_register_div,
#loginmodal #forgot-pass-div_mod {
  display: none !important;
}

#loginmodal #ajax_register_div.show_it,
#loginmodal #ajax_register_div[style*="block"] {
  display: flex !important;
}

#loginmodal #forgot-pass-div_mod[style*="block"] {
  display: flex !important;
}

/* When register or forgot is shown, hide login */
#loginmodal #ajax_login_div.hide_it,
#loginmodal #ajax_login_div[style*="none"] {
  display: none !important;
}

/* --- Header styling: PD design system --- */
#loginmodal .modal-header {
  border: none !important;
  padding: 0 !important;
  margin-bottom: 28px !important;
  min-height: auto !important;
}

/* Gold label above title */
#loginmodal .modal-header::before {
  content: "Save Your Favourites" !important;
  display: block !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #c4a872 !important;
  margin-bottom: 12px !important;
}

#loginmodal .modal-title_big,
#loginmodal h2.modal-title_big {
  font-family: 'Cormorant Garamond', 'Georgia', serif !important;
  font-size: 30px !important;
  font-weight: 300 !important;
  color: #1a1a1a !important;
  line-height: 1.2 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
}

/* Subtitle under heading */
#loginmodal #ajax_login_div .modal-header::after {
  content: "Create an account or sign in to save villas and manage your bookings." !important;
  display: block !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #8a8580 !important;
  line-height: 1.6 !important;
  margin-top: 8px !important;
}

/* --- Input rows --- */
#loginmodal .loginrow,
#loginmodal .loginrow.password_holder {
  margin-bottom: 18px !important;
  position: relative !important;
}

/* Input fields: PD style */
#loginmodal .loginrow .form-control,
#loginmodal .loginrow input.form-control,
#loginmodal .form-control.dofocus,
#loginmodal .form-control.forgot_email_mod,
#loginmodal input#login_user,
#loginmodal input#login_pwd,
#loginmodal input#forgot_email_mod {
  width: 100% !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  border: 1px solid #d4cfc8 !important;
  border-radius: 0 !important;
  padding: 13px 16px !important;
  transition: border-color 0.3s ease !important;
  outline: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  box-shadow: none !important;
  height: auto !important;
}

#loginmodal .loginrow .form-control:focus,
#loginmodal input:focus {
  border-color: #1a1a1a !important;
  box-shadow: none !important;
  outline: none !important;
}

#loginmodal .loginrow .form-control::placeholder,
#loginmodal input::placeholder {
  color: #d4cfc8 !important;
  font-weight: 300 !important;
}

/* Show/hide password icon */
#loginmodal .show_hide_password {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #b5b0aa !important;
  cursor: pointer !important;
}

/* --- Buttons: PD charcoal --- */
#loginmodal #wp-login-but,
#loginmodal #wp-forgot-but_mod,
#loginmodal #wp-submit-register,
#loginmodal .wpestate_vc_button,
#loginmodal button.wpb_button {
  width: 100% !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  background: #1a1a1a !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 0 !important;
  padding: 15px !important;
  cursor: pointer !important;
  transition: all 0.4s ease !important;
  margin-bottom: 20px !important;
  display: block !important;
  text-align: center !important;
  box-shadow: none !important;
}

#loginmodal #wp-login-but:hover,
#loginmodal #wp-forgot-but_mod:hover,
#loginmodal #wp-submit-register:hover,
#loginmodal .wpestate_vc_button:hover,
#loginmodal button.wpb_button:hover {
  background: transparent !important;
  color: #1a1a1a !important;
}

/* --- Navigation links: PD style --- */
#loginmodal .navigation_links {
  text-align: center !important;
  margin-top: 16px !important;
  border: none !important;
  padding: 0 !important;
}

#loginmodal .navigation_links a {
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #8a8580 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

#loginmodal .navigation_links a:hover {
  color: #1a1a1a !important;
}

/* Separator between links */
#loginmodal .navigation_links {
  font-size: 12px !important;
  color: #d4cfc8 !important;
}

/* --- Social login buttons --- */
#loginmodal .login-links {
  margin-top: 20px !important;
  padding: 0 !important;
  border: none !important;
}

/* Divider before social buttons */
#loginmodal .login-links::before {
  content: '' !important;
  display: block !important;
  height: 1px !important;
  background: #f0ece6 !important;
  margin-bottom: 18px !important;
  position: relative !important;
}

#loginmodal .login-links a,
#loginmodal .login-links button,
#loginmodal .login-links .social-login-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 11px 12px !important;
  border: 1px solid #d4cfc8 !important;
  background: #ffffff !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #1a1a1a !important;
  cursor: pointer !important;
  transition: border-color 0.3s ease !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  width: calc(50% - 5px) !important;
  box-sizing: border-box !important;
}

#loginmodal .login-links a:hover,
#loginmodal .login-links button:hover {
  border-color: #1a1a1a !important;
}

/* --- Alert message area --- */
#loginmodal .loginalert {
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 13px !important;
  font-weight: 300 !important;
  margin-bottom: 16px !important;
  border-radius: 0 !important;
}

/* --- RIGHT COLUMN: Villa image --- */
#loginmodal .modal_login_image_wrapper {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  background: #1a1a1a !important;
  overflow: hidden !important;
  min-height: 500px !important;
  display: block !important;
}

#loginmodal .modal_login_image {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  opacity: 0.92 !important;
}

/* Quote overlay on image */
#loginmodal .modal_login_image_wrapper::after {
  content: '' !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 50% !important;
  background: linear-gradient(to top, rgba(10,10,10,0.7) 0%, transparent 100%) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

/* --- Register form specifics --- */
#loginmodal #ajax_register_div .register_shortcode_wrapper,
#loginmodal #ajax_register_div form {
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
}

#loginmodal #ajax_register_div input[type="text"],
#loginmodal #ajax_register_div input[type="email"],
#loginmodal #ajax_register_div input[type="password"] {
  width: 100% !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  color: #1a1a1a !important;
  background: #ffffff !important;
  border: 1px solid #d4cfc8 !important;
  border-radius: 0 !important;
  padding: 13px 16px !important;
  outline: none !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  margin-bottom: 12px !important;
}

#loginmodal #ajax_register_div input:focus {
  border-color: #1a1a1a !important;
}

/* Note text (e.g. "password will be sent to email") */
#loginmodal #ajax_register_div p,
#loginmodal #ajax_register_div .register_note {
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #b5b0aa !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}

/* Terms checkbox */
#loginmodal #ajax_register_div input[type="checkbox"] {
  width: 16px !important;
  height: 16px !important;
  border: 1px solid #d4cfc8 !important;
  background: #ffffff !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  position: relative !important;
}

#loginmodal #ajax_register_div input[type="checkbox"]:checked {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}

#loginmodal #ajax_register_div input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  top: 2px !important;
  left: 5px !important;
  width: 4px !important;
  height: 7px !important;
  border: solid #ffffff !important;
  border-width: 0 1.5px 1.5px 0 !important;
  transform: rotate(45deg) !important;
}

/* Labels in register form */
#loginmodal #ajax_register_div label {
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 11px !important;
  font-weight: 300 !important;
  color: #8a8580 !important;
  line-height: 1.5 !important;
}

#loginmodal #ajax_register_div label a {
  color: #1a1a1a !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
}

/* --- Forgot password: PD style --- */
#loginmodal #forgot-pass-div_mod .modal-header::before {
  content: "Account Recovery" !important;
}

#loginmodal #forgot-pass-div_mod #return_login_mod {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: 'Outfit', 'Helvetica Neue', sans-serif !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  color: #8a8580 !important;
  text-decoration: none !important;
  margin-top: 12px !important;
}

#loginmodal #forgot-pass-div_mod #return_login_mod::before {
  content: '\2190' !important;
  font-size: 14px !important;
}

#loginmodal #forgot-pass-div_mod #return_login_mod:hover {
  color: #1a1a1a !important;
}

/* --- Hidden nonce + utility fields --- */
#loginmodal input[type="hidden"] {
  display: none !important;
}


/* ═══════════════════════════════════════════
   RESPONSIVE — MOBILE
   ═══════════════════════════════════════════ */

@media (max-width: 768px) {
  #loginmodal .modal-dialog {
    max-width: 420px !important;
    margin: 20px auto !important;
  }

  #loginmodal .modal-content {
    grid-template-columns: 1fr !important;
  }

  /* Hide image on mobile */
  #loginmodal .modal_login_image_wrapper {
    display: none !important;
  }

  #loginmodal #ajax_login_div,
  #loginmodal #ajax_register_div,
  #loginmodal #forgot-pass-div_mod {
    padding: 40px 28px !important;
  }

  #loginmodal .modal-content > .close,
  #loginmodal .modal-content button.close {
    background: transparent !important;
  }
}
