/* ===== LANDING Dr. Byron Chacón — Fuentes correctas del PDF ===== */

.lp, .lp * { margin:0; padding:0; box-sizing:border-box; }
.lp {
  --rosa-borde:   #f6cfe5;
  --rosa-mid:     #f9deef;
  --rosa-claro:   #fdf4fd;
  --rosa-card:    #fae2f1;
  --rosa-ico:     #f7d5e9;
  --rosa-acento:  #eeb4d4;
  --azul:         #536fb0;
  --azul-osc:     #1c2c4c;
  --azul-band:    #4975ba;
  --blanco:       #ffffff;
  --gris-txt:     #6b7280;
  --coral-borde:  #e2988b;
  font-family:'Poppins',system-ui,-apple-system,sans-serif;
  color:var(--azul-osc);
  background:var(--blanco);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
.lp img { display:block; max-width:100%; }
.lp a { text-decoration:none; color:inherit; }

/* Forzar Poppins en TODOS los elementos de la landing (sobrescribe cualquier herencia serif) */
.lp h1, .lp h2, .lp h3, .lp h4, .lp p, .lp a, .lp button, .lp span, .lp div, .lp li {
  font-family:'Poppins', system-ui, -apple-system, sans-serif !important;
}

/* ---- NAV ---- */
.lp-nav {
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 48px; background:#eebbd7; position:sticky; top:0; z-index:100;
}
.lp-nav-brand img { height:84px; }
.lp-nav-links { display:flex; align-items:center; gap:30px; }
.lp-nav-links a { font-size:15px; font-weight:600; color:var(--azul-osc); }
.lp-nav-links a:hover { color:var(--azul); }
.lp-nav-social { display:flex; gap:8px; }
.lp-nav-social a {
  width:36px; height:36px; border-radius:50%; background:var(--blanco);
  display:grid; place-items:center; color:var(--azul);
}
.lp-nav-social a svg { width:16px; height:16px; }
.lp-nav-btn {
  display:inline-flex; align-items:center; gap:8px;
  background:var(--azul); color:#fff; font-size:14px; font-weight:600;
  padding:11px 22px; border-radius:30px; border:none; cursor:pointer; white-space:nowrap;
}
.lp-nav-btn:hover { background:#42598f; }
.lp-nav-btn svg { width:14px; height:14px; }
.lp-nav-toggle { display:none; background:none; border:none; font-size:24px; cursor:pointer; color:var(--azul-osc); }

/* ---- HERO ---- */
.lp-hero {
  background: #fcecf8;
  padding:70px 48px 0;
  display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:center;
  min-height:580px; position:relative; overflow:hidden;
  border-radius:0 0 40px 40px;
}
.lp-hero-content { padding-bottom:70px; max-width:560px; }
.lp-hero-content h1 {
  font-size:44px; font-weight:700; line-height:1.15; color:var(--azul-osc);
  margin-bottom:22px; letter-spacing:-0.01em;
}
.lp-hero-line { width:64px; height:4px; background:var(--rosa-acento); border-radius:2px; margin-bottom:22px; }
.lp-hero-content p {
  font-size:16px; color:var(--azul); line-height:1.7; margin-bottom:30px; max-width:430px; font-weight:400;
}
.lp-hero-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--azul); color:#fff; font-size:15px; font-weight:600;
  padding:13px 26px; border-radius:30px; border:none; cursor:pointer;
  box-shadow:0 8px 22px rgba(83,111,176,.28);
}
.lp-hero-btn:hover { background:#42598f; }
.lp-hero-btn svg { width:18px; height:18px; }
.lp-hero-photo { align-self:end; justify-self:center; position:relative; }
.lp-hero-photo img { position:relative; z-index:1; max-height:520px; width:auto; }

/* Botón Agendar más grande */
.lp-hero-btn {
  display:inline-flex; align-items:center; gap:10px;
  background:var(--azul); color:#fff; font-size:16px; font-weight:600;
  padding:15px 32px; border-radius:30px; border:none; cursor:pointer;
  box-shadow:0 8px 22px rgba(83,111,176,.28);
}
.lp-hero-btn:hover { background:#42598f; }
.lp-hero-btn svg { width:20px; height:20px; }
.lp-servicios {
  background:var(--rosa-borde); padding:44px 48px 60px;
  border-radius:40px; margin:24px 24px 0;
}
.lp-serv-titulo {
  text-align:center; font-size:26px; font-weight:700; color:var(--azul-osc); margin-bottom:38px;
}
.lp-serv-wrap { position:relative; max-width:1180px; margin:0 auto; }
.lp-serv-slider {
  display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory;
  padding:4px; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.lp-serv-slider::-webkit-scrollbar { display:none; }
.lp-serv-card {
  min-width:300px; flex:1 0 300px; scroll-snap-align:start;
  background:var(--rosa-card); border-radius:24px; padding:32px 26px;
  border-bottom:2px solid var(--rosa-acento);
  position:relative; transition:transform .25s ease, box-shadow .25s ease;
}
.lp-serv-card.has-price { cursor:pointer; }
.lp-serv-card.has-price:hover { transform:translateY(-3px); box-shadow:0 12px 30px rgba(83,111,176,.15); }
.lp-serv-ico {
  width:56px; height:56px; border-radius:50%; background:var(--rosa-ico);
  display:grid; place-items:center; font-size:26px; margin-bottom:18px;
}
.lp-serv-card h3 { font-size:17px; font-weight:700; color:var(--azul-osc); margin-bottom:8px; }
.lp-serv-card p { font-size:14px; color:var(--gris-txt); line-height:1.6; font-weight:400; }

/* Precio desplegable en cards */
.lp-serv-toggle {
  display:inline-block; margin-top:14px; font-size:12.5px; font-weight:600;
  color:var(--azul); text-transform:uppercase; letter-spacing:.5px;
  transition:opacity .2s;
}
.lp-serv-card.open .lp-serv-toggle { opacity:0; height:0; margin:0; overflow:hidden; }
.lp-serv-precio {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:0; padding:0 14px; background:#fff;
  border-radius:12px; border:1.5px solid var(--rosa-acento);
  max-height:0; opacity:0; overflow:hidden;
  transition:max-height .35s ease, opacity .25s ease, padding .25s ease, margin .25s ease;
}
.lp-serv-card.open .lp-serv-precio {
  max-height:80px; opacity:1; padding:14px; margin-top:16px;
}
.lp-serv-precio-label {
  font-size:12px; font-weight:600; color:var(--gris-txt);
  text-transform:uppercase; letter-spacing:.5px;
}
.lp-serv-precio-val {
  font-size:22px; font-weight:800; color:var(--azul-osc);
  font-family:var(--font-display, inherit);
}
.lp-serv-arrow {
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:46px; height:46px; border-radius:50%; background:var(--azul); border:none;
  color:#fff; font-size:22px; cursor:pointer; display:grid; place-items:center;
  box-shadow:0 4px 14px rgba(83,111,176,.35);
}
.lp-serv-arrow:hover { background:#42598f; }
.lp-serv-arrow.l { left:-22px; }
.lp-serv-arrow.r { right:-22px; }

/* ---- SOBRE EL DOCTOR ---- */
.lp-about {
  padding:70px 48px; display:grid; grid-template-columns:1fr 1.15fr; gap:60px; align-items:center;
  max-width:1180px; margin:0 auto;
}
.lp-about-photo {
  width:400px; height:400px; border-radius:50%; overflow:hidden; margin:0 auto;
  border:6px solid var(--rosa-acento);
}
.lp-about-photo img { width:100%; height:100%; object-fit:cover; }
.lp-about-content {
  position:relative; padding-left:16px; border-left:3px solid var(--azul);
}
.lp-about-content h2 {
  font-size:36px; font-weight:700; color:var(--azul-osc); line-height:1.15; margin-bottom:14px;
}
.lp-about-sub { font-size:14px; color:var(--gris-txt); margin-bottom:22px; font-weight:500; }
.lp-about-content p { font-size:15px; color:var(--azul); line-height:1.75; margin-bottom:14px; font-weight:400; }
.lp-about-content p strong { color:var(--azul-osc); font-weight:700; font-style:italic; }

/* ---- CONTENIDO / VIDEOS ---- */
.lp-contenido {
  margin:24px; border-radius:32px;
  background:linear-gradient(120deg, var(--rosa-mid), var(--rosa-claro));
  padding:56px 48px; display:grid; grid-template-columns:1fr 0.85fr; gap:20px; align-items:center;
}
.lp-contenido-text { padding-left:clamp(0px, 4vw, 56px); }
.lp-contenido-text h2 { font-size:36px; font-weight:700; color:var(--azul-osc); line-height:1.15; }
.lp-contenido-siguenos { margin-top:28px; }
.lp-contenido-siguenos-label { font-size:14px; font-weight:600; color:var(--azul-osc); margin-bottom:14px; }
.lp-contenido-siguenos-links { display:flex; gap:12px; }
.lp-contenido-siguenos-links a {
  width:48px; height:48px; border-radius:50%; background:#fff; color:var(--azul);
  display:inline-grid; place-items:center; box-shadow:0 6px 16px rgba(23,39,73,.12);
  transition:transform .15s ease, background .15s ease, color .15s ease;
}
.lp-contenido-siguenos-links a svg { width:22px; height:22px; }
.lp-contenido-siguenos-links a:hover { background:var(--azul); color:#fff; transform:translateY(-3px); }

.lp-contenido-phone { display:flex; flex-direction:column; align-items:center; gap:16px; justify-self:start; }
.lp-video-row { display:flex; align-items:center; gap:14px; }
.lp-video-arrow {
  width:44px; height:44px; border-radius:50%; background:#fff; color:var(--azul);
  display:inline-grid; place-items:center; border:none; cursor:pointer; flex-shrink:0;
  box-shadow:0 6px 16px rgba(23,39,73,.15); transition:transform .15s ease, background .15s ease, color .15s ease;
}
.lp-video-arrow svg { width:20px; height:20px; }
.lp-video-arrow:hover { background:var(--azul); color:#fff; transform:scale(1.08); }
.lp-phone {
  width:280px; max-width:100%; aspect-ratio:9/16; border-radius:32px; overflow:hidden; background:#000;
  box-shadow:0 20px 55px rgba(23,39,73,.2);
  border:6px solid #1a1a1a;
}
.lp-phone video { width:100%; height:100%; object-fit:cover; background:#000; display:block; }
.lp-phone-dots { display:flex; gap:8px; }
.lp-phone-dot {
  width:8px; height:8px; border-radius:50%; background:var(--rosa-acento);
  cursor:pointer; transition:background .2s ease, transform .2s ease; border:none; padding:0;
}
.lp-phone-dot.active { background:var(--azul); transform:scale(1.35); }

/* ---- UBICACIÓN ---- */
.lp-ubi-wrap {
  background:linear-gradient(120deg, var(--rosa-mid), var(--rosa-claro));
  margin:0 24px; border-radius:32px; padding:20px;
}
.lp-ubi {
  padding:36px 48px; display:grid; grid-template-columns:1fr 1px 1fr 1px 1.1fr; gap:40px;
  max-width:1280px; margin:0 auto; align-items:start;
}
.lp-ubi-divider { width:1px; background:var(--azul); align-self:stretch; }
.lp-ubi-col h3 {
  font-size:16px; font-weight:700; color:var(--azul-osc); margin-bottom:16px;
  display:flex; align-items:center; gap:10px;
}
.lp-ubi-col h3 svg { width:22px; height:22px; color:var(--azul); }
.lp-ubi-lugar { font-size:15px; font-weight:700; color:var(--azul-osc); margin-bottom:3px; }
.lp-ubi-col p { font-size:14px; color:var(--gris-txt); line-height:1.7; font-weight:400; }
.lp-ubi-col p strong { color:var(--azul-osc); }

/* ---- UBICACIÓN: mapa + botones ---- */
.lp-ubi-mapa-col { display:flex; flex-direction:column; gap:14px; }
.lp-ubi-mapa {
  border-radius:20px; box-shadow:0 10px 30px rgba(23,39,73,.15);
  background:#eee; min-height:200px;
}
.lp-ubi-nav-btns { display:flex; flex-direction:column; gap:10px; }
.lp-ubi-nav-btn {
  display:flex; align-items:center; gap:10px; padding:12px 18px; border-radius:14px;
  font-size:14px; font-weight:700; text-decoration:none; transition:transform .15s ease, opacity .15s ease;
}
.lp-ubi-nav-btn:hover { transform:translateY(-2px); opacity:.92; }
.lp-ubi-nav-btn svg { width:18px; height:18px; flex-shrink:0; }
.lp-ubi-nav-gmaps { background:var(--azul); color:#fff; }
.lp-ubi-nav-waze { background:#fff; color:var(--azul-osc); border:2px solid var(--azul); }

/* ---- FOOTER ---- */
.lp-footer { text-align:center; padding:50px 48px 32px; }
.lp-footer-brand img { height:80px; margin:0 auto 20px; }
.lp-footer-tag { font-size:15px; font-style:italic; font-weight:600; color:var(--azul); margin-bottom:22px; }
.lp-footer-social { display:flex; gap:12px; justify-content:center; margin-bottom:16px; }
.lp-footer-social a {
  width:40px; height:40px; border-radius:50%; background:var(--azul);
  display:grid; place-items:center; color:#fff;
}
.lp-footer-social a svg { width:18px; height:18px; }
.lp-footer-credit { font-size:11px; color:#b9bcc4; margin-top:10px; }

/* ---- RESPONSIVE ---- */
@media (max-width:880px){
  .lp-nav { padding:12px 20px; }
  .lp-nav-links { display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column;
    background:var(--rosa-borde); padding:18px; gap:14px; }
  .lp-nav-links.open { display:flex; }
  .lp-nav-toggle { display:block; }
  .lp-hero { grid-template-columns:1fr; padding:40px 22px 0; text-align:center; min-height:auto; }
  .lp-hero-content { padding-bottom:24px; margin:0 auto; }
  .lp-hero-content h1 { font-size:28px; }
  .lp-hero-line { margin-left:auto; margin-right:auto; }
  .lp-hero-content p { margin:0 auto 24px; }
  .lp-hero-photo img { max-height:340px; }
  .lp-servicios { padding:36px 22px 48px; margin:20px 12px 0; border-radius:28px; }
  .lp-about { grid-template-columns:1fr; text-align:center; gap:30px; padding:50px 22px; }
  .lp-about-photo { width:280px; height:280px; }
  .lp-about-content { border-left:none; padding-left:0; }
  .lp-contenido { grid-template-columns:1fr; margin:20px 12px; padding:36px 24px; text-align:center; border-radius:28px; }
  .lp-contenido-text { padding-left:0; }
  .lp-contenido-phone { justify-self:center; }
  .lp-contenido-siguenos-links { justify-content:center; }
  .lp-ubi-wrap { margin:20px 12px; border-radius:28px; }
  .lp-ubi { grid-template-columns:1fr; text-align:center; gap:24px; padding:32px 20px; }
  .lp-ubi-divider { display:none; }
  .lp-ubi-col h3 { justify-content:center; }
  .lp-ubi-nav-btn { justify-content:center; }
  .lp-serv-arrow { display:none; }
}
@media (max-width:480px){
  .lp-serv-card { min-width:260px; flex-basis:260px; }
  .lp-about-content h2, .lp-contenido-text h2 { font-size:26px; }
}
