/* Manantiales Golf · Área de clientes
   Hermana del sitio público: hereda styles.css y suma lo comercial (barra de secciones, precio, tablas, barra de membresías, cronograma). */

/* ---------- Barra fija con las 12 secciones ---------- */
.secnav { position: fixed; left: 0; right: 0; top: 0; z-index: 95; padding-top: 88px; pointer-events: none; opacity: 0; transform: translateY(-8px); transition: opacity 0.35s var(--ease), transform 0.35s var(--ease); }
.secnav.is-on { opacity: 1; transform: none; pointer-events: auto; }
.secnav-track { display: flex; gap: 4px; padding: 6px var(--pad); overflow-x: auto; scrollbar-width: none; background: linear-gradient(180deg, rgba(14,13,10,0.86), rgba(14,13,10,0.72)); border-bottom: 1px solid var(--rule); -webkit-overflow-scrolling: touch; }
.secnav-track::-webkit-scrollbar { display: none; }
.secnav-track a { flex: none; font-size: 12.5px; letter-spacing: 0.04em; color: var(--bone-3); padding: 9px 12px; border-radius: 999px; white-space: nowrap; transition: color 0.2s, background 0.2s; }
.secnav-track a:hover { color: var(--bone); }
.secnav-track a.is-active { color: var(--black); background: var(--bone); }
.nav.is-solid { background: linear-gradient(180deg, rgba(14,13,10,0.92), rgba(14,13,10,0.92)); }
.nav-login { font-size: 14px; color: var(--bone); padding: 10px 18px; border: 1px solid var(--bone-3); border-radius: 999px; transition: background 0.2s, color 0.2s; }
.nav-login:hover { background: var(--bone); color: var(--black); }

/* ---------- Hero: precio vigente ---------- */
.price-tag { display: inline-flex; flex-direction: column; gap: 2px; margin-top: 26px; padding: 14px 20px; border: 1px solid var(--gold); color: var(--bone); }
.price-tag b { font-family: var(--display); font-weight: 400; font-size: clamp(24px, 2.4vw, 34px); line-height: 1; letter-spacing: -0.01em; }
.price-tag span { font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold); }

/* ---------- Bloques quietos ---------- */
.still.tight { padding: clamp(56px, 8vh, 96px) 0; border-bottom: 1px solid var(--rule); }
.figures.four { grid-template-columns: repeat(4, minmax(0, 1fr)); max-width: none; gap: 24px 32px; }
.grid.head { align-items: end; margin-bottom: clamp(32px, 5vh, 56px); }
.grid.head .lead { max-width: 52ch; }
.kicker.mt { margin-top: 44px; }
.statement.sm { margin-top: 36px; font-size: clamp(20px, 2vw, 28px); max-width: 40ch; }
.note { margin-top: 14px; font-size: 12.5px; color: var(--bone-3); }
.resume { margin-top: 26px; font-size: 14.5px; color: var(--bone-2); max-width: 46ch; line-height: 1.6; }
.resume .text-link { margin-top: 10px; }
.lines { max-width: 52ch; }
.lines li { padding: 10px 0 10px 22px; position: relative; font-size: clamp(15px, 1.15vw, 17.5px); color: var(--bone-2); border-top: 1px solid var(--rule); }
.lines li:last-child { border-bottom: 1px solid var(--rule); }
.lines li::before { content: ''; position: absolute; left: 0; top: 22px; width: 8px; height: 1px; background: var(--gold); }
.lines b { color: var(--bone); font-weight: 500; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.chips a { font-size: 13px; color: var(--bone-2); padding: 9px 14px; border: 1px solid var(--rule); border-radius: 999px; transition: color 0.2s, border-color 0.2s; }
.chips a:hover { color: var(--bone); border-color: var(--bone-2); }
.ficha.wide { max-width: none; column-count: 2; column-gap: 40px; }
.ficha.wide li { break-inside: avoid; letter-spacing: 0.08em; font-size: 12.5px; }
.defs.two { column-count: 2; column-gap: 48px; }
.defs.two li { break-inside: avoid; }
.defs.reasons.five { column-count: 2; column-gap: 48px; max-width: 1100px; }
.defs.reasons.five li { break-inside: avoid; }
.defs.reasons li b:only-child { margin-bottom: 0; }
.press li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 4px 20px; padding: 14px 0; border-top: 1px solid var(--rule); font-size: 14.5px; }
.press li:last-child { border-bottom: 1px solid var(--rule); }
.press b { font-weight: 500; color: var(--bone); font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; padding-top: 3px; }
.press a { color: var(--bone-2); line-height: 1.5; border-bottom: 1px solid transparent; transition: color 0.2s, border-color 0.2s; }
.press a:hover { color: var(--gold); border-color: var(--gold); }
.frame .btn { margin-top: 24px; }

/* ---------- Tablas ---------- */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 calc(-1 * var(--pad)); padding: 0 var(--pad); }
table.data { width: 100%; border-collapse: collapse; min-width: 720px; font-size: 14.5px; color: var(--bone-2); }
table.data th { text-align: left; font-weight: 400; font-size: 11.5px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--bone-3); padding: 0 16px 14px 0; border-bottom: 1px solid var(--bone-3); }
table.data td { padding: 16px 16px 16px 0; border-bottom: 1px solid var(--rule); vertical-align: top; }
table.data td:first-child { color: var(--bone); font-family: var(--display); font-size: 18px; }
table.data tr.me td { color: var(--bone); background: linear-gradient(90deg, rgba(197,165,106,0.12), rgba(197,165,106,0)); }
table.data tr.me td:first-child { color: var(--gold); }
table.data.tipos { min-width: 560px; }
table.data.tipos td:first-child { font-size: 28px; color: var(--gold); width: 80px; }
.tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; margin-top: 40px; }

/* ---------- Masterplan e imágenes pendientes ---------- */
.paper-head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 110px); align-items: end; margin-bottom: 40px; }
.paper-lead { font-size: clamp(16px, 1.25vw, 19px); color: var(--ink-2); max-width: 52ch; }
.masterplan { margin: 0; }
.masterplan img { width: 100%; height: auto; display: block; }
.pending { margin: 0; }
.pending-box { display: flex; flex-direction: column; justify-content: flex-end; gap: 6px; min-height: 240px; padding: 22px; border: 1px dashed rgba(197,165,106,0.6); color: var(--bone-2); background: repeating-linear-gradient(135deg, rgba(241,235,220,0.03) 0 12px, transparent 12px 24px); }
.paper .pending-box { color: var(--ink-2); border-color: rgba(22,21,15,0.35); background: repeating-linear-gradient(135deg, rgba(22,21,15,0.04) 0 12px, transparent 12px 24px); aspect-ratio: 16 / 10; }
.pending-box span { font-family: var(--display); font-size: 22px; color: inherit; }
.pending-box small { font-size: 12.5px; opacity: 0.8; }
.pending.small .pending-box { min-height: 180px; margin-top: 28px; }
.pending.tile .pending-box { min-height: 160px; padding: 14px; }
.pending.tile .pending-box span { font-size: 17px; }

/* ---------- Membresías: barra de progreso ---------- */
.progress { margin: 8px 0 30px; max-width: 620px; }
.progress-bar { height: 6px; background: rgba(241,235,220,0.18); overflow: hidden; }
.progress-bar span { display: block; height: 100%; background: var(--gold); transform-origin: left; animation: grow 1.4s var(--ease) both; }
@keyframes grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.progress-labels { display: flex; justify-content: space-between; margin-top: 10px; font-size: 12.5px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--bone-3); }

/* ---------- Cronograma ---------- */
.timeline li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px; padding: 24px 0; border-top: 1px solid var(--rule); position: relative; }
.timeline li:last-child { border-bottom: 1px solid var(--rule); }
.timeline b { font-family: var(--display); font-weight: 400; font-size: clamp(30px, 3vw, 44px); line-height: 1; color: var(--gold); }
.timeline span { font-size: 16.5px; color: var(--bone-2); align-self: center; }
.timeline li:last-child b { color: var(--bone); }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) { .chapters { display: none; } }
@media (max-width: 860px) {
  .secnav { padding-top: 70px; }
  .nav-login { display: none; }
  .figures.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid.head { align-items: start; }
  .ficha.wide, .defs.two, .defs.reasons.five { column-count: 1; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .paper-head { grid-template-columns: 1fr; }
  .press li { grid-template-columns: 1fr; }
  .timeline li { grid-template-columns: 90px minmax(0, 1fr); }
}
@media (max-width: 700px) {
  .price-tag { margin-top: 18px; padding: 12px 16px; }
  .frame .lines li { font-size: 14px; padding: 8px 0 8px 18px; }
  .frame .figures dt { font-size: clamp(26px, 8vw, 36px); }
  .progress { margin-bottom: 18px; }
}

/* ---------- Masterplan y tipologías ---------- */
.masterplan button { display: block; width: 100%; background: #fff; }
.masterplan figcaption { margin-top: 12px; font-size: 12.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-2); }
.tipos-rail figure { width: min(60vw, 760px); }
.tipos-rail img { height: clamp(220px, 40vh, 420px); object-fit: contain; background: #fff; }
.tipos-rail figcaption { margin-top: 10px; font-size: 12.5px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--bone-3); }
@media (max-width: 860px) { .tipos-rail figure { width: 84vw; } }

/* ---------- Ajustes ronda 1 ---------- */
.figures.places dt { font-size: clamp(24px, 2.4vw, 38px); line-height: 1.1; letter-spacing: -0.01em; }
.figures.places dd { font-size: 15px; color: var(--bone-2); }
table.data td.up { color: var(--gold); font-weight: 500; }
.chart-block { margin-top: clamp(48px, 7vh, 80px); }
.chart-block h3 { font-family: var(--display); font-weight: 400; font-size: clamp(26px, 3vw, 44px); line-height: 1.1; margin-bottom: 22px; max-width: 18ch; }
.chart-block h3 em { font-style: italic; }
.chart-obj { display: block; width: 100%; max-width: 1000px; height: auto; aspect-ratio: 1000 / 520; }
.chart-block.in-list { margin-top: 22px; max-width: 760px; }
.chart-kicker { font-size: 14px; color: var(--bone-2); margin-bottom: 14px; }
.chart-kicker b { font-family: var(--display); font-weight: 400; font-size: 28px; color: var(--gold); margin-right: 8px; }
@media (max-width: 700px) {
  .bg.keep-whole { object-fit: contain; background: var(--black); }
  .figures.places dt { font-size: 22px; }
}
.chart-block h3 .gold { font-weight: 400; color: var(--gold); }
.golf-rail img { object-fit: cover; background: none; height: clamp(300px, 62vh, 680px); }
