/* ==========================================================================
   Horizons Realty — Página /calculadora-hipoteca/ (standalone)
   Scope: .hz-page--calculadora-hipoteca (no leak to Houzez header/footer)
   Reuses the .horizons-calc component (same look & maths as single-property),
   wrapped in a thin dark hero + advisory CTA.
   Enqueued conditionally via hr_is_calculadora_page() — never ships globally.
   @since 1.16.0
   ========================================================================== */

.hz-page--calculadora-hipoteca {
  /* Brand tokens (local fallbacks so the page is self-contained) */
  --hr-primary:#186B99; --hr-secondary:#2781AD; --hr-gold:#ADAA97;
  --hr-ink:#0E2A3A; --hr-ink-soft:#4A5A66; --hr-mist:#F2F6F8; --hr-wa:#25D366;
  --hz-serif:'Cormorant Garamond', Georgia, serif;
  --hz-sans:'Outfit', system-ui, sans-serif;
  --hz-ui:'Manrope', system-ui, sans-serif;
}
.hz-page--calculadora-hipoteca * { box-sizing:border-box; }

/* ===================== HERO — thin dark band ===================== */
.hz-page--calculadora-hipoteca .hzc-hero {
  position:relative; background:var(--hr-ink); color:#fff;
  padding:30px 24px 26px; overflow:hidden; isolation:isolate;
}
.hz-page--calculadora-hipoteca .hzc-hero::before { /* subtle depth */
  content:""; position:absolute; inset:0; z-index:-2;
  background:radial-gradient(120% 90% at 80% 0%, rgba(39,129,173,.28) 0%, rgba(14,42,58,0) 55%);
}
.hz-page--calculadora-hipoteca .hzc-hero__seal { /* original watermark logo */
  position:absolute; z-index:-1; top:50%; right:-22px; width:208px; transform:translateY(-50%);
  opacity:.09; pointer-events:none; aspect-ratio:1/1;
  background-repeat:no-repeat; background-position:center; background-size:contain;
}
.hz-page--calculadora-hipoteca .hzc-hero__inner { max-width:1100px; margin:0 auto; }
.hz-page--calculadora-hipoteca .hzc-breadcrumb {
  font-family:var(--hz-ui); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.55); margin:0 0 13px; display:flex; gap:10px; align-items:center; flex-wrap:wrap;
}
.hz-page--calculadora-hipoteca .hzc-breadcrumb a { text-decoration:none; transition:color .2s; color:inherit; }
.hz-page--calculadora-hipoteca .hzc-breadcrumb a:hover { color:#fff; }
.hz-page--calculadora-hipoteca .hzc-breadcrumb span[aria-current] { color:var(--hr-gold); }
.hz-page--calculadora-hipoteca .hzc-hero__title {
  font-family:var(--hz-serif); font-weight:500; line-height:1.05; letter-spacing:-.01em;
  font-size:clamp(27px, 3.1vw, 39px); margin:0 0 9px; max-width:none;
}
.hz-page--calculadora-hipoteca .hzc-hero__title em { font-style:italic; color:var(--hr-gold); }
.hz-page--calculadora-hipoteca .hzc-hero__sub {
  font-size:clamp(14.5px,1.7vw,16.5px); line-height:1.6; color:rgba(255,255,255,.76);
  max-width:58ch; margin:0; font-weight:300;
}

/* ===================== CALCULATOR (reused component) =====================
   Mirrors assets/css/single-property.css `.horizons-calc*`, namespaced under
   the page scope to guarantee zero collision. ====================== */
.hz-page--calculadora-hipoteca .horizons-calc-wrap { --h-bg:#FAF7F1; --h-card:#fff; --h-ink:#1c2a33; --h-muted:#6B7280; --h-accent:#b8a888; --h-accent-2:#9d8f72; --h-line:#E4E4E4; --h-track:#E0DCD0; font-family:var(--hz-sans); color:var(--h-ink); background:var(--h-bg); padding:26px 24px 56px; }
.hz-page--calculadora-hipoteca .horizons-calc-card { background:var(--h-card); border:1px solid var(--h-line); border-radius:14px; padding:32px; max-width:1000px; margin:0 auto; box-shadow:0 2px 24px rgba(27,42,58,.06); }
.hz-page--calculadora-hipoteca .horizons-calc-card-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--h-line); }
.hz-page--calculadora-hipoteca .horizons-calc-card-title { font-family:var(--hz-serif); font-size:24px; font-weight:600; margin:0; }
.hz-page--calculadora-hipoteca .horizons-calc-card-eyebrow { font-family:var(--hz-ui); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--h-muted); margin:0 0 6px; }
.hz-page--calculadora-hipoteca .horizons-calc-toggle { display:inline-flex; background:var(--h-bg); border-radius:999px; padding:4px; border:1px solid var(--h-line); }
.hz-page--calculadora-hipoteca .horizons-calc-toggle button { font-family:var(--hz-ui); border:none; background:transparent; padding:8px 18px; font-size:13px; font-weight:600; color:var(--h-muted); cursor:pointer; border-radius:999px; transition:all .2s; }
.hz-page--calculadora-hipoteca .horizons-calc-toggle button.active { background:var(--h-ink); color:#fff; }
.hz-page--calculadora-hipoteca .horizons-calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.hz-page--calculadora-hipoteca .horizons-calc-control { margin-bottom:22px; }
.hz-page--calculadora-hipoteca .horizons-calc-control:last-child { margin-bottom:0; }
.hz-page--calculadora-hipoteca .horizons-calc-row { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px; }
.hz-page--calculadora-hipoteca .horizons-calc-label { font-family:var(--hz-ui); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--h-muted); font-weight:600; }
.hz-page--calculadora-hipoteca .horizons-calc-value { font-family:var(--hz-serif); font-size:22px; font-weight:600; color:var(--h-ink); }
/* Editable price box (v1.16.8 · opción B) — form-style field: type the exact amount; slider for coarse drag */
.hz-page--calculadora-hipoteca .horizons-calc-pricebox { display:flex; align-items:center; gap:8px; border:1.5px solid var(--h-line); border-radius:10px; padding:10px 14px; margin-top:8px; cursor:text; transition:border-color .2s, box-shadow .2s; }
.hz-page--calculadora-hipoteca .horizons-calc-pricebox:focus-within { border-color:var(--hr-primary); box-shadow:0 0 0 3px rgba(24,107,153,.12); }
.hz-page--calculadora-hipoteca .horizons-calc-pricebox-cur { font-family:var(--hz-ui); font-size:15px; color:var(--h-muted); font-weight:600; flex:none; }
.hz-page--calculadora-hipoteca .horizons-calc-pricebox-input { font-family:var(--hz-serif); font-size:24px; font-weight:600; color:var(--h-ink); border:none; background:transparent; width:100%; padding:0; min-width:0; }
.hz-page--calculadora-hipoteca .horizons-calc-pricebox-input:focus { outline:none; }
.hz-page--calculadora-hipoteca .horizons-calc-pricebox-pencil { width:16px; height:16px; color:var(--h-accent-2); flex:none; }
.hz-page--calculadora-hipoteca .horizons-calc-edit-hint { font-family:var(--hz-ui); font-size:11px; color:var(--h-accent-2); margin:8px 0 0; }
.hz-page--calculadora-hipoteca .horizons-calc-slider { -webkit-appearance:none; appearance:none; width:100%; height:4px; background:var(--h-track); border-radius:999px; outline:none; }
.hz-page--calculadora-hipoteca .horizons-calc-slider::-webkit-slider-thumb { -webkit-appearance:none; width:20px; height:20px; background:var(--h-ink); border-radius:50%; cursor:pointer; border:3px solid var(--h-card); box-shadow:0 2px 8px rgba(27,42,58,.25); transition:transform .15s; }
.hz-page--calculadora-hipoteca .horizons-calc-slider::-webkit-slider-thumb:hover { transform:scale(1.15); }
.hz-page--calculadora-hipoteca .horizons-calc-slider::-moz-range-thumb { width:20px; height:20px; background:var(--h-ink); border-radius:50%; cursor:pointer; border:3px solid var(--h-card); box-shadow:0 2px 8px rgba(27,42,58,.25); }
.hz-page--calculadora-hipoteca .horizons-calc-slider:focus-visible { outline:2px solid var(--hr-primary); outline-offset:4px; }
.hz-page--calculadora-hipoteca .horizons-calc-results { background:var(--h-bg); border-radius:8px; padding:28px 24px; }
.hz-page--calculadora-hipoteca .horizons-calc-main-result { padding-bottom:20px; margin-bottom:20px; border-bottom:1px solid var(--h-line); }
.hz-page--calculadora-hipoteca .horizons-calc-main-label { font-family:var(--hz-ui); font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--h-muted); font-weight:600; margin:0 0 8px; }
.hz-page--calculadora-hipoteca .horizons-calc-main-value { font-family:var(--hz-serif); font-size:clamp(40px,6vw,56px); font-weight:700; color:var(--h-accent); line-height:1; letter-spacing:-.02em; margin:0; }
.hz-page--calculadora-hipoteca .horizons-calc-secondary { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; }
.hz-page--calculadora-hipoteca .horizons-calc-secondary-value { font-family:var(--hz-serif); font-size:20px; font-weight:600; color:var(--h-ink); margin:0; }
.hz-page--calculadora-hipoteca .horizons-calc-actions { display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center; margin-top:28px; padding-top:24px; border-top:1px solid var(--h-line); }
.hz-page--calculadora-hipoteca .horizons-calc-actions-right { display:flex; gap:10px; flex-wrap:wrap; }
.hz-page--calculadora-hipoteca .horizons-calc-btn { font-family:var(--hz-ui); display:inline-flex; align-items:center; gap:8px; padding:11px 20px; border-radius:999px; font-size:13px; font-weight:600; cursor:pointer; border:1px solid var(--h-line); background:var(--h-card); color:var(--h-ink); transition:all .2s; text-decoration:none; }
.hz-page--calculadora-hipoteca .horizons-calc-btn:hover { border-color:var(--h-ink); transform:translateY(-1px); }
.hz-page--calculadora-hipoteca .horizons-calc-btn-primary { background:var(--h-accent); color:#fff; border-color:var(--h-accent); }
.hz-page--calculadora-hipoteca .horizons-calc-btn-primary:hover { background:var(--h-accent-2); border-color:var(--h-accent-2); color:#fff; }
.hz-page--calculadora-hipoteca .horizons-calc-btn svg { width:14px; height:14px; }
.hz-page--calculadora-hipoteca .horizons-calc-amort { margin-top:28px; max-height:0; overflow:hidden; transition:max-height .4s; }
.hz-page--calculadora-hipoteca .horizons-calc-amort.open { max-height:800px; overflow-y:auto; }
.hz-page--calculadora-hipoteca .horizons-calc-amort-inner { background:var(--h-bg); border-radius:8px; padding:24px; margin-top:12px; }
.hz-page--calculadora-hipoteca .horizons-calc-amort h4 { font-family:var(--hz-serif); font-size:18px; font-weight:600; margin:0 0 16px; }
.hz-page--calculadora-hipoteca .horizons-calc-amort table { width:100%; border-collapse:collapse; font-size:13px; }
.hz-page--calculadora-hipoteca .horizons-calc-amort th, .hz-page--calculadora-hipoteca .horizons-calc-amort td { padding:10px 8px; text-align:right; border-bottom:1px solid var(--h-line); }
.hz-page--calculadora-hipoteca .horizons-calc-amort th { font-family:var(--hz-ui); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--h-muted); font-weight:600; }
.hz-page--calculadora-hipoteca .horizons-calc-amort th:first-child, .hz-page--calculadora-hipoteca .horizons-calc-amort td:first-child { text-align:left; }
.hz-page--calculadora-hipoteca .horizons-calc-amort tr:last-child td { border-bottom:none; font-weight:600; }
.hz-page--calculadora-hipoteca .horizons-calc-footer { max-width:1000px; margin:18px auto 0; text-align:center; font-size:12px; color:var(--h-muted); line-height:1.6; }
.hz-page--calculadora-hipoteca .horizons-calc-modal { display:none; position:fixed; inset:0; background:rgba(27,42,58,.55); z-index:9999; align-items:center; justify-content:center; padding:20px; }
.hz-page--calculadora-hipoteca .horizons-calc-modal.open { display:flex; }
.hz-page--calculadora-hipoteca .horizons-calc-modal-card { background:#fff; border-radius:14px; max-width:420px; width:100%; padding:28px; }
.hz-page--calculadora-hipoteca .horizons-calc-modal-card h3 { font-family:var(--hz-serif); font-size:22px; margin:0 0 8px; }
.hz-page--calculadora-hipoteca .horizons-calc-modal-card p { color:var(--h-muted); font-size:14px; margin:0 0 16px; }
.hz-page--calculadora-hipoteca .horizons-calc-modal-card input { font-family:var(--hz-sans); width:100%; padding:11px 14px; border:1px solid var(--h-line); border-radius:8px; font-size:14px; margin-bottom:12px; }
.hz-page--calculadora-hipoteca .horizons-calc-modal-card input:focus { outline:none; border-color:var(--h-accent); }
.hz-page--calculadora-hipoteca .horizons-calc-modal-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:8px; }
.hz-page--calculadora-hipoteca .hc-modal-status { padding:8px 12px; font-size:13px; border-left:3px solid; margin-bottom:12px; }
.hz-page--calculadora-hipoteca .hc-modal-status.is-ok { background:rgba(184,168,136,.1); border-color:var(--h-accent); }
.hz-page--calculadora-hipoteca .hc-modal-status.is-error { background:rgba(220,38,38,.06); border-color:#dc2626; color:#991b1b; }

/* ===================== CTA asesoría (dark) ===================== */
.hz-page--calculadora-hipoteca .hzc-cta { background:var(--hr-ink); color:#fff; padding:84px 24px; text-align:center; }
.hz-page--calculadora-hipoteca .hzc-cta__inner { max-width:680px; margin:0 auto; }
.hz-page--calculadora-hipoteca .hzc-cta__eyebrow { font-family:var(--hz-ui); font-size:12px; font-weight:600; letter-spacing:.28em; text-transform:uppercase; color:var(--hr-gold); margin:0 0 18px; }
.hz-page--calculadora-hipoteca .hzc-cta__title { font-family:var(--hz-serif); font-weight:500; font-size:clamp(30px,4.5vw,46px); line-height:1.1; margin:0 0 18px; }
.hz-page--calculadora-hipoteca .hzc-cta__title em { font-style:italic; color:var(--hr-gold); }
.hz-page--calculadora-hipoteca .hzc-cta__text { font-size:17px; line-height:1.7; color:rgba(255,255,255,.78); font-weight:300; margin:0 0 34px; }
.hz-page--calculadora-hipoteca .hzc-cta__actions { display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.hz-page--calculadora-hipoteca .hzc-btn { font-family:var(--hz-ui); display:inline-flex; align-items:center; gap:9px; padding:15px 30px; border-radius:999px; font-size:14px; font-weight:600; letter-spacing:.02em; text-decoration:none; cursor:pointer; transition:all .25s; border:1px solid transparent; }
.hz-page--calculadora-hipoteca .hzc-btn--primary { background:var(--hr-primary); color:#fff; }
.hz-page--calculadora-hipoteca .hzc-btn--primary:hover { background:var(--hr-secondary); transform:translateY(-2px); }
.hz-page--calculadora-hipoteca .hzc-btn--wa { background:transparent; color:#fff; border-color:rgba(255,255,255,.3); }
.hz-page--calculadora-hipoteca .hzc-btn--wa:hover { background:var(--hr-wa); border-color:var(--hr-wa); transform:translateY(-2px); }
.hz-page--calculadora-hipoteca .hzc-btn svg { width:18px; height:18px; }

/* ===================== Responsive (mobile-first adjustments) ===================== */
@media (max-width:1024px) {
  .hz-page--calculadora-hipoteca .horizons-calc-grid { grid-template-columns:1fr; gap:32px; }
  .hz-page--calculadora-hipoteca .horizons-calc-card { padding:22px; }
}
@media (max-width:768px) {
  .hz-page--calculadora-hipoteca .hzc-hero { padding:24px 18px 22px; }
  .hz-page--calculadora-hipoteca .hzc-hero__seal { width:140px; right:-14px; }
  .hz-page--calculadora-hipoteca .horizons-calc-wrap { padding:20px 16px 40px; }
  .hz-page--calculadora-hipoteca .horizons-calc-actions { flex-direction:column; align-items:stretch; }
  .hz-page--calculadora-hipoteca .horizons-calc-actions-right { justify-content:stretch; }
  .hz-page--calculadora-hipoteca .horizons-calc-actions-right .horizons-calc-btn { flex:1; justify-content:center; }
  .hz-page--calculadora-hipoteca .hzc-cta { padding:60px 18px; }
  .hz-page--calculadora-hipoteca .hzc-btn { width:100%; justify-content:center; }
}

/* ===================== Print (clean PDF of the breakdown) ===================== */
@media print {
  .hz-page--calculadora-hipoteca .hzc-hero,
  .hz-page--calculadora-hipoteca .hzc-cta,
  .hz-page--calculadora-hipoteca .horizons-calc-toggle,
  .hz-page--calculadora-hipoteca .horizons-calc-actions,
  .hz-page--calculadora-hipoteca .horizons-calc-slider { display:none !important; }
  .hz-page--calculadora-hipoteca .horizons-calc-amort { max-height:none !important; overflow:visible !important; }
}
