/* ══════════════════════════════════════════════════════
   DÓNDE ESTAMOS — Dra. Julieta Rivero
   Paleta base de marca: negro cálido y dorado.
   ══════════════════════════════════════════════════════ */

:root {
  --bg:         #16140f;
  --bg-dark:    #0f0e0a;
  --bg-mid:     #221f17;
  --bg-deep:    #0c0b08;
  --gold:       #c4a352;
  --gold-dim:   rgba(196,163,82,0.35);
  --accent:     #e8dcc0;
  --text:       #f5f1e8;
  --text-sec:   #d8d2c4;
  --text-dim:   rgba(245,241,232,0.45);
  --border:     rgba(196,163,82,0.18);
  --border-l:   rgba(245,241,232,0.1);
  --hero-glow:  rgba(196,163,82,0.10);
  --cta-stripe: rgba(12,11,8,0.06);
  --cta-border: rgba(12,11,8,0.35);
}

/* ── Hero ─────────────────────────────────────────── */
.de-hero{ background:var(--bg-dark); padding:140px 80px 80px; text-align:center;
  border-bottom:0.5px solid var(--border); }
.de-eyebrow{ display:block; font-family:var(--font-body); font-size:var(--text-micro);
  letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--gold);
  margin-bottom:26px; }
.de-hero h1{ font-family:var(--font-display); font-weight:300; font-size:var(--text-hero-s);
  line-height:var(--lh-heading); color:var(--text); letter-spacing:var(--ls-tight);
  max-width:880px; margin:0 auto; }
.de-hero h1 em{ font-style:italic; color:var(--gold); }

/* ── Mapa ─────────────────────────────────────────── */
.de-mapa{ background:var(--bg); padding:0; }
.de-mapa iframe{ display:block; width:100%; height:460px; border:0;
  border-bottom:0.5px solid var(--border); filter:grayscale(.25) contrast(.95); }

/* ── Datos: dirección, horario, contacto ──────────── */
.de-datos{ background:var(--bg); padding:72px 80px; }
.de-datos-grid{ max-width:1100px; margin:0 auto; display:grid;
  grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border);
  border:0.5px solid var(--border); }
.de-dato{ background:var(--bg); padding:34px 34px 36px; }
.de-dato-label{ display:block; font-family:var(--font-body); font-size:var(--text-micro);
  letter-spacing:var(--ls-caps); text-transform:uppercase; color:var(--gold);
  opacity:.8; margin-bottom:14px; }
.de-dato p{ font-family:var(--font-body); font-weight:300; font-size:var(--text-sm);
  line-height:var(--lh-body); color:var(--text-sec); letter-spacing:var(--ls-body);
  margin:0 0 6px; }
.de-dato p:last-child{ margin-bottom:0; }
.de-dato strong{ font-weight:400; color:var(--text); }
.de-dato a{ color:var(--gold); text-decoration:none;
  border-bottom:0.5px solid var(--gold-dim); }
.de-dato a:hover{ border-bottom-color:var(--gold); }

/* ── Botonera ─────────────────────────────────────── */
.de-acciones{ max-width:1100px; margin:40px auto 0; display:flex; flex-wrap:wrap;
  gap:14px; justify-content:center; }
.de-boton{ display:inline-block; font-family:var(--font-body); font-size:var(--text-micro);
  letter-spacing:var(--ls-caps); text-transform:uppercase; text-decoration:none;
  padding:15px 32px; transition:background .2s, color .2s, opacity .2s; }
.de-boton-solido{ background:var(--gold); color:var(--bg-deep); }
.de-boton-solido:hover{ opacity:.86; }
.de-boton-linea{ border:0.5px solid var(--border); color:var(--gold); }
.de-boton-linea:hover{ background:var(--gold); color:var(--bg-deep); }

/* ── Bloques de texto (cómo llegar, aparcamiento) ── */
.de-bloque{ background:var(--bg-dark); padding:76px 80px; }
.de-bloque-alt{ background:var(--bg); }
.de-bloque > *{ max-width:760px; margin-left:auto; margin-right:auto; }
.de-bloque h2{ font-family:var(--font-display); font-weight:300; font-size:var(--text-2xl);
  color:var(--gold); line-height:var(--lh-heading); margin-bottom:26px;
  letter-spacing:var(--ls-tight); }
.de-bloque p{ font-family:var(--font-body); font-weight:300; font-size:var(--text-body);
  line-height:var(--lh-relaxed); color:var(--text-sec); letter-spacing:var(--ls-body);
  margin-bottom:20px; }
.de-bloque p:last-child{ margin-bottom:0; }
.de-pasos{ list-style:none; padding:0; }
.de-pasos li{ position:relative; padding:0 0 20px 40px; font-family:var(--font-body);
  font-weight:300; font-size:var(--text-body); line-height:var(--lh-relaxed);
  color:var(--text-sec); letter-spacing:var(--ls-body); }
.de-pasos li:last-child{ padding-bottom:0; }
.de-pasos li::before{ counter-increment:paso; content:counter(paso,decimal-leading-zero);
  position:absolute; left:0; top:2px; font-family:var(--font-display);
  font-size:var(--text-md); color:var(--gold); opacity:.6; }
.de-pasos{ counter-reset:paso; }

/* ── CTA ──────────────────────────────────────────── */
.de-cta{ background:var(--gold); color:var(--bg-deep); padding:90px 80px; text-align:center; }
.de-cta h2{ font-family:var(--font-display); font-weight:300; font-size:var(--text-2xl);
  margin-bottom:14px; letter-spacing:var(--ls-tight); }
.de-cta p{ font-family:var(--font-body); font-weight:300; font-size:var(--text-sm);
  margin-bottom:34px; letter-spacing:var(--ls-body); }
.de-cta-boton{ display:inline-block; font-family:var(--font-body); font-size:var(--text-micro);
  letter-spacing:var(--ls-caps); text-transform:uppercase; text-decoration:none;
  color:var(--gold); background:var(--bg-deep); padding:17px 44px; transition:opacity .2s; }
.de-cta-boton:hover{ opacity:.86; }

/* ── Responsive ───────────────────────────────────── */
@media (max-width:980px){
  .de-datos-grid{ grid-template-columns:1fr; }
}
@media (max-width:860px){
  .de-hero{ padding:110px 32px 60px; }
  .de-hero h1{ font-size:var(--text-xl); }
  .de-mapa iframe{ height:340px; }
  .de-datos{ padding:48px 24px; }
  .de-bloque{ padding:56px 32px; }
  .de-bloque h2{ font-size:var(--text-lg); }
  .de-bloque p, .de-pasos li{ font-size:var(--text-sm); }
  .de-cta{ padding:64px 32px; }
}
@media (max-width:480px){
  .de-hero{ padding:96px 20px 48px; }
  .de-mapa iframe{ height:280px; }
  .de-datos{ padding:40px 16px; }
  .de-bloque{ padding:44px 20px; }
  .de-acciones{ flex-direction:column; }
  .de-boton{ text-align:center; }
  .de-cta{ padding:52px 20px; }
  .de-cta-boton{ display:block; }
}
