/* ============================================================================
   RARA · soon.css — the Próximamente demand board (Slice 5b).
   Composes shared primitives (.btn, .chip-soon, .state-msg). Single accent =
   --burgundy; gold never appears here. Each row pairs a coming-soon reference
   with its Avísame/Apártalo form (no payment). Motion is transform/opacity only
   and disabled under prefers-reduced-motion (bottom of file).
   ============================================================================ */

.soon-page{padding-block:24px 72px}

/* ---- Page head ---- */
.soon-head{max-width:64ch;margin-bottom:36px}
.soon-crumb{font-size:11px;letter-spacing:.1em;color:var(--warm-grey)}
.soon-head h1{font-size:clamp(34px,5vw,50px);line-height:1.03;letter-spacing:-.01em;margin:14px 0 14px}
.soon-lead-p{color:var(--muted);font-size:16px;line-height:1.6;max-width:56ch}
.soon-count{margin-top:16px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--burgundy)}

/* ---- Board: a vertical list of wide rows (media | info | ask). A layout family
   of its own — never a grid of equal cards. ---- */
.soon-board{display:flex;flex-direction:column;gap:24px}
.soon-row{display:grid;grid-template-columns:210px minmax(0,1fr) minmax(280px,320px);gap:32px;
  align-items:start;background:var(--surface);border:1px solid var(--line);padding:20px}

.soon-row-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;
  background:linear-gradient(150deg,var(--cream-2),var(--ph-1))}
.soon-row-media img{width:100%;height:100%;object-fit:contain;background:#FFFFFF;
  transition:transform var(--dur-slow,.7s) var(--ease-out,ease)}
.soon-row:hover .soon-row-media img{transform:scale(1.04)}
.soon-row-chip{position:absolute;top:12px;left:12px}

.soon-row-info{padding-top:4px}
.soon-row-house{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-grey);margin-bottom:6px}
.soon-row-name{display:inline-block;font-size:clamp(22px,2.6vw,28px);line-height:1.08;color:var(--ink);
  margin-bottom:10px;transition:color var(--dur-fast,.2s) var(--ease-out,ease)}
.soon-row-name:hover{color:var(--burgundy)}
.soon-row-tag{color:var(--muted);font-size:15px;line-height:1.5;max-width:44ch;margin-bottom:16px}
.soon-row-facts{margin:0 0 14px;max-width:340px}
.soon-row-facts div{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding-top:9px;margin-top:9px}
.soon-row-facts div:first-child{margin-top:0}
.soon-row-facts dt{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-grey)}
.soon-row-facts dd{margin:0;font-size:14px;color:var(--ink);text-align:right}
.soon-row-price{color:var(--burgundy);font-weight:500}
.soon-row-savings{margin:-4px 0 8px;font-size:13px;line-height:1.4;color:var(--burgundy);font-weight:600}
.soon-row-disclosure{margin:0;max-width:38ch;font-size:12px;line-height:1.45;color:var(--muted)}
.price-was{color:var(--warm-grey);text-decoration:line-through;text-decoration-thickness:1px}
.soon-note{font-size:11px;color:var(--warm-grey);font-weight:400}
/* ---- Ask panel (Avísame) ---- */
.soon-ask{background:var(--bg);border:1px solid var(--line);padding:18px}
.soon-ask.is-reserve-alt{background:var(--surface)}
.soon-reserve-btn{width:100%;justify-content:center;min-height:46px;margin-bottom:12px;
  background:var(--burgundy);border-color:var(--burgundy);color:var(--cream);cursor:pointer}
.soon-reserve-btn:hover{background:var(--burgundy-2,var(--burgundy));border-color:var(--burgundy-2,var(--burgundy));color:var(--cream)}
.soon-ask.is-reserve-alt .soon-reveal-btn{min-height:38px;font-size:13px;background:transparent}
.soon-ask-title{font-family:var(--serif);font-size:18px;margin-bottom:12px}
.soon-ask-lbl{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--warm-grey);margin-bottom:7px}
.soon-ask-input{width:100%;font-family:var(--sans);font-size:14px;padding:11px 12px;
  border:1px solid var(--line-2);background:var(--surface);color:var(--ink);min-height:44px}
.soon-ask-input:focus{outline:2px solid var(--burgundy);outline-offset:-1px}
.soon-ask-input[aria-invalid="true"]{border-color:var(--burgundy)}
.soon-reveal-btn{width:100%;justify-content:center;min-height:44px;cursor:pointer}
.soon-reveal-btn:hover{background:var(--cream-2);border-color:var(--burgundy)}
.soon-ask-btn{width:100%;justify-content:center;min-height:44px;cursor:pointer;margin-top:12px}
.soon-ask-err{margin-top:10px;font-size:13px;color:var(--burgundy)}
.soon-ask-dupe{margin-top:10px;font-size:13px;color:var(--muted)}

/* ---- Small shared helpers (self-contained copies of the PDP interest chrome so
   this page needn't pull pdp.css). ---- */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.soon-nopay{margin:12px 0 0;font-size:11px;letter-spacing:.02em;color:var(--warm-grey)}
.soon-ok{display:flex;align-items:center;gap:14px;padding:20px;background:var(--surface);border:1px solid var(--line-2)}
.soon-ok-mark{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;background:var(--burgundy);color:var(--cream);font-size:16px}
.soon-ok p{margin:0;font-size:15px;color:var(--ink)}

.soon-empty{padding:72px 0}

/* ---- Responsive ---- */
@media(max-width:900px){
  .soon-row{grid-template-columns:160px 1fr;gap:22px}
  .soon-ask{grid-column:1/-1}
}
@media(max-width:560px){
  .soon-row{grid-template-columns:1fr}
  .soon-row-media{aspect-ratio:16/10;max-height:260px}
}

/* ---- Reduced motion ---- */
@media(prefers-reduced-motion:reduce){
  .soon-row-media img,.soon-row-name{transition:none}
  .soon-row:hover .soon-row-media img{transform:none}
}
