/* ═══════════════════════════════════════════════════════════════
   Belle Maison Leads — Estilos Premium
   Negro #1a1a1a · Blanco #ffffff · Dorado #C9A96E
═══════════════════════════════════════════════════════════════ */

:root {
  /* Aliases → variables del tema Belle Maison v4 */
  --bml-black:     var(--bm-charcoal, #0D0D0D);
  --bml-white:     var(--bm-white, #FFFFFF);
  --bml-gold:      var(--bm-gold, #C9A96E);
  --bml-gold-l:    var(--bm-gold-light, #D4B87A);
  --bml-gold-d:    var(--bm-gold-dark, #B8915A);
  --bml-gray:      var(--bm-cream, #FAF8F5);
  --bml-gray-2:    var(--bm-gray-lighter, #F2F2F2);
  --bml-gray-3:    var(--bm-gray-light, #999999);
  --bml-radius:    var(--bm-radius-sm, 4px);
  --bml-shadow:    var(--bm-shadow-sm, 0 4px 16px rgba(0,0,0,.10));
  --bml-shadow-lg: var(--bm-shadow-lg, 0 16px 48px rgba(0,0,0,.18));
  /* Fuentes alineadas con tema v4 */
  --bml-font:    var(--bm-font-titles, 'Cinzel', serif);
  --bml-sans:    var(--bm-font-body, 'Josefin Sans', sans-serif);
  --bml-trans:   var(--bm-transition, all 0.35s cubic-bezier(0.4, 0, 0.2, 1));
}

/* ─── Reset base ─── */
.bml-quick-form-wrap *,
.bml-prop-form-wrap *,
.bml-popup-overlay *,
.bml-wa-float {
  box-sizing: border-box;
}

/* ════════════════════════════════════════════════════════════════
   FORMULARIO RÁPIDO (HOME)
════════════════════════════════════════════════════════════════ */
.bml-quick-form-wrap {
  background: var(--bml-black);
  padding: 48px 40px;
  position: relative;
  overflow: hidden;
}
.bml-quick-form-wrap::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--bml-gold), var(--bml-gold-l), var(--bml-gold));
}
.bml-quick-form-inner {
  max-width: 860px;
  margin: 0 auto;
  text-align: center;
}
.bml-quick-form-icon {
  color: var(--bml-gold);
  margin-bottom: 16px;
}
.bml-quick-form-title {
  font-family: var(--bml-font) !important;
  font-size: clamp(22px, 3vw, 32px) !important;
  color: var(--bml-white) !important;
  margin: 0 0 12px !important;
  letter-spacing: .5px;
  font-weight: normal !important;
}
.bml-quick-form-subtitle {
  font-size: 15px;
  color: var(--bml-gray-3);
  margin: 0 0 28px;
  line-height: 1.6;
}
.bml-quick-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  margin-bottom: 12px;
}
.bml-quick-input {
  flex: 1;
  min-width: 200px;
  max-width: 280px;
  padding: 14px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.15);
  color: var(--bml-white);
  font-size: 14px;
  font-family: var(--bml-sans);
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
  outline: none;
}
.bml-quick-input::placeholder { color: rgba(255,255,255,.4); }
.bml-quick-input:focus {
  border-color: var(--bml-gold);
  background: rgba(201,169,110,.08);
}
.bml-quick-btn {
  padding: 14px 28px;
  background: var(--bml-gold);
  color: var(--bml-black);
  border: none;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
  white-space: nowrap;
  font-family: var(--bml-sans);
  display: flex;
  align-items: center;
  gap: 8px;
}
.bml-quick-btn:hover {
  background: var(--bml-gold-l);
  transform: translateY(-1px);
}
.bml-quick-privacy {
  font-size: 12px;
  color: rgba(255,255,255,.5);
}
.bml-quick-privacy label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
}
.bml-quick-privacy a { color: var(--bml-gold); }
.bml-quick-feedback {
  margin-top: 12px;
  font-size: 14px;
  padding: 10px 16px;
  border-radius: var(--bml-radius);
}
.bml-quick-feedback.success { background: rgba(34,197,94,.15); color: #4ade80; border: 1px solid rgba(34,197,94,.3); }
.bml-quick-feedback.error   { background: rgba(239,68,68,.15);  color: #f87171;  border: 1px solid rgba(239,68,68,.3); }

/* ════════════════════════════════════════════════════════════════
   FORMULARIO PROPIEDAD
════════════════════════════════════════════════════════════════ */
.bml-prop-form-wrap {
  background: var(--bml-white);
  border: 1px solid var(--bml-gray-2);
  border-top: 3px solid var(--bml-gold);
  padding: 32px;
  border-radius: var(--bml-radius);
}
.bml-prop-form-title {
  font-family: var(--bml-font) !important;
  font-size: 20px !important;
  color: var(--bml-black) !important;
  margin: 0 0 20px !important;
  font-weight: normal !important;
  letter-spacing: .5px;
}
.bml-form-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 540px) { .bml-form-two-col { grid-template-columns: 1fr; } }
.bml-field-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 16px;
}
.bml-form-two-col .bml-field-group { margin-bottom: 0; }
.bml-field-group label {
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--bml-gray-3);
  font-family: var(--bml-sans);
}
.bml-field {
  padding: 11px 14px;
  border: 1px solid var(--bml-gray-2);
  background: var(--bml-white);
  color: var(--bml-black);
  font-size: 14px;
  font-family: var(--bml-sans);
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
  outline: none;
  width: 100%;
}
.bml-field:focus { border-color: var(--bml-gold); box-shadow: 0 0 0 3px rgba(201,169,110,.1); }
textarea.bml-field { resize: vertical; min-height: 100px; }
.bml-field-privacy {
  margin-bottom: 16px;
}
.bml-checkbox-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  color: var(--bml-gray-3);
  line-height: 1.5;
}
.bml-checkbox-label input[type="checkbox"] { margin-top: 2px; accent-color: var(--bml-gold); }
.bml-checkbox-label a { color: var(--bml-gold); }
.bml-btn-gold {
  width: 100%;
  padding: 14px 24px;
  background: var(--bml-black);
  color: var(--bml-gold);
  border: 1px solid var(--bml-black);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
  font-family: var(--bml-sans);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bml-btn-gold:hover {
  background: var(--bml-gold);
  color: var(--bml-black);
  border-color: var(--bml-gold);
}
.bml-form-feedback {
  margin-top: 12px;
  padding: 10px 14px;
  font-size: 13px;
  border-radius: var(--bml-radius);
}
.bml-form-feedback.success { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.bml-form-feedback.error   { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

/* WhatsApp inline button */
.bml-wa-btn-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  background: #25D366;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
  margin-bottom: 16px;
}
.bml-wa-btn-inline:hover { background: #1da851; transform: translateY(-1px); }

/* OR divider */
.bml-or-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 12px;
  color: var(--bml-gray-3);
  letter-spacing: 1px;
}
.bml-or-divider::before,
.bml-or-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--bml-gray-2);
}

/* ════════════════════════════════════════════════════════════════
   BOTÓN FLOTANTE WHATSAPP
════════════════════════════════════════════════════════════════ */
.bml-wa-float {
  position: fixed;
  bottom: 28px;
  right: 24px;
  z-index: 9999;
  width: 58px; height: 58px;
  background: #25D366;
  color: #ffffff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,.4);
  text-decoration: none;
  transition: var(--bml-trans);
  animation: bmlWaPulse 3s ease-in-out infinite;
}
@keyframes bmlWaPulse {
  0%, 100% { box-shadow: 0 4px 20px rgba(37,211,102,.4); }
  50%       { box-shadow: 0 4px 32px rgba(37,211,102,.7); }
}
.bml-wa-float:hover {
  transform: scale(1.1) translateY(-2px);
  animation: none;
  box-shadow: 0 8px 32px rgba(37,211,102,.5);
}
.bml-wa-float-icon { transition: var(--bml-trans); }
.bml-wa-float:hover .bml-wa-float-icon { transform: rotate(-10deg); }
.bml-wa-float-tooltip {
  position: absolute;
  right: 68px;
  top: 50%; transform: translateY(-50%);
  background: var(--bml-black);
  color: var(--bml-white);
  font-size: 12px;
  font-family: var(--bml-sans);
  padding: 6px 12px;
  border-radius: 2px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: var(--bml-trans);
}
.bml-wa-float-tooltip::after {
  content: '';
  position: absolute;
  right: -6px; top: 50%; transform: translateY(-50%);
  border: 6px solid transparent;
  border-left-color: var(--bml-black);
  border-right: 0;
}
.bml-wa-float:hover .bml-wa-float-tooltip { opacity: 1; }

/* WhatsApp inline en propiedades */
.bml-property-wa-wrap { margin-top: 24px; }
.bml-wa-property-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: #25D366;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
}
.bml-wa-property-btn:hover { background: #1da851; }
.bml-wa-btn-sc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 18px;
  background: #25D366;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 14px;
  font-weight: 600;
  border-radius: var(--bml-radius);
  transition: var(--bml-trans);
}
.bml-wa-btn-sc:hover { background: #1da851; }

/* ─── Spinner ─── */
.bml-spin {
  animation: bmlSpin .8s linear infinite;
}
@keyframes bmlSpin { from { transform: rotate(0deg) } to { transform: rotate(360deg) } }

/* ─── Stats widget (shortcode) ─── */
.bml-stats-widget {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  padding: 20px;
  background: var(--bml-black);
  border-radius: 4px;
}
.bml-stat {
  text-align: center;
  flex: 1;
  min-width: 80px;
}
.bml-stat-num { display: block; font-size: 32px; font-weight: bold; color: var(--bml-gold); }
.bml-stat-label { font-size: 11px; color: rgba(255,255,255,.5); letter-spacing: 1px; text-transform: uppercase; }

/* ════════════════════════════════════════════════════════════════
   POPUP v1.0.4
════════════════════════════════════════════════════════════════ */
#bml-popup-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.75);
  z-index: 999999;
  align-items: center;
  justify-content: center;
  padding: 16px;
}
.bml-popup-container {
  position: relative;
  display: flex;
  max-width: 780px;
  width: 100%;
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
  max-height: 90vh;
  overflow-y: auto;
}
.bml-popup-close {
  position: absolute;
  top: 14px; right: 14px;
  z-index: 99;
  width: 34px; height: 34px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a1a1a;
  padding: 0;
  font-size: 18px;
  line-height: 1;
}
.bml-popup-close:hover { background: #1a1a1a; color: #fff; }
.bml-popup-left {
  background: #1a1a1a;
  padding: 40px 32px;
  flex: 0 0 300px;
  display: flex;
  flex-direction: column;
}
.bml-popup-badge {
  display: inline-block;
  background: #C9A96E;
  color: #1a1a1a;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 2px;
  padding: 4px 10px;
  margin-bottom: 16px;
  align-self: flex-start;
  border-radius: 2px;
}
.bml-popup-eyebrow {
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C9A96E;
  margin-bottom: 8px;
}
.bml-popup-title {
  font-family: Georgia, serif !important;
  font-size: 22px !important;
  color: #fff !important;
  margin: 0 0 16px !important;
  line-height: 1.3;
  font-weight: normal !important;
}
.bml-popup-cover {
  margin: 8px 0 16px;
  border-radius: 2px;
  overflow: hidden;
  line-height: 0;
}
.bml-popup-items {
  list-style: none; margin: 0; padding: 0;
}
.bml-popup-items li {
  font-size: 13px;
  color: rgba(255,255,255,.8);
  padding: 6px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  line-height: 1.4;
}
.bml-popup-right {
  flex: 1;
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.bml-popup-desc {
  font-size: 15px;
  color: #888;
  line-height: 1.7;
  margin: 0 0 24px;
}
.bml-popup-field { margin-bottom: 18px; }
.bml-popup-field label {
  display: block;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 7px;
}
.bml-popup-field input {
  width: 100%;
  padding: 13px 15px;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #1a1a1a;
  font-size: 15px;
  border-radius: 2px;
  outline: none;
  box-sizing: border-box;
}
.bml-popup-field input:focus { border-color: #C9A96E; box-shadow: 0 0 0 3px rgba(201,169,110,.12); }
.bml-popup-privacy { margin-bottom: 22px; }
.bml-popup-checkbox {
  display: flex; align-items: flex-start; gap: 8px;
  cursor: pointer; font-size: 12px; color: #888; line-height: 1.5;
}
.bml-popup-checkbox input { margin-top: 3px; accent-color: #C9A96E; }
.bml-popup-checkbox a { color: #C9A96E; }
.bml-popup-btn {
  width: 100%;
  padding: 16px 24px;
  background: #C9A96E;
  color: #1a1a1a;
  border: none;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bml-popup-btn:hover:not([disabled]) { background: #a8844f; }
.bml-popup-btn[disabled] { opacity: .7; cursor: not-allowed; }
.bml-popup-btn-loading { display: none; align-items: center; gap: 8px; }
@media (max-width: 640px) {
  .bml-popup-container { flex-direction: column; }
  .bml-popup-left { flex: none; padding: 28px 24px; }
  .bml-popup-cover { display: none; }
  .bml-popup-right { padding: 28px 24px; }
}
