/*
Theme Name: Dra Villafañez
Theme URI: https://dravillafanez.com
Description: Tema completo con contenido demo, landings, blog y cita por WhatsApp. No requiere Hello Elementor.
Author: Codificamax
Version: 2.0.0
Text Domain: dra-villafanez
*/

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
  --navy:#0B3D5C;
  --navy2:#07283C;
  --teal:#127C7A;
  --wa:#25D366;
  --bg:#F3F6F7;
  --line:#D9E4E8;
  --ink:#142028;
  --muted:#5A6C76;
  --white:#fff;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:#fff;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy)}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;line-height:1.15;color:var(--navy);margin:0 0 .4em}
h1{font-size:clamp(34px,5vw,56px)}
h2{font-size:clamp(28px,3.4vw,40px)}
p{margin:0 0 1em}
.wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}

.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.vf-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0}
.vf-logo{display:flex;flex-direction:column;text-decoration:none;color:var(--navy)}
.vf-logo strong{font-size:18px}
.vf-logo span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--teal)}
.vf-nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.vf-nav a{text-decoration:none;color:var(--navy);font-weight:650;font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 20px;font-weight:800;text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.btn-wa{background:var(--wa);color:#08371d}
.btn-tel{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);border:1px solid var(--line)}

.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:42px 0 28px}
.kicker{color:var(--teal);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:12px;margin-bottom:8px}
.lead{font-size:18px;color:var(--muted);max-width:34em}
.cta-row{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 10px}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:var(--bg);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--navy)}
.hero-photo{position:relative}
.hero-photo img{width:100%;border-radius:28px;object-fit:cover;height:520px;box-shadow:0 20px 50px rgba(11,61,92,.18)}
.hero-badge{position:absolute;left:18px;bottom:18px;background:#fff;border-radius:16px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.08);font-size:13px;font-weight:700;color:var(--navy)}

.trust{background:var(--navy);color:#fff;padding:16px 0}
.trust ul{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:0;padding:0;font-size:14px}

.section{padding:64px 0}
.muted{color:var(--muted)}
.grid-4,.grid-3,.grid-2{display:grid;gap:16px}
.grid-4{grid-template-columns:repeat(4,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:1.1fr .9fr;gap:32px;align-items:center}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;color:inherit;min-height:100%}
.card h3{font-size:26px;margin-bottom:8px}
.card p{color:var(--muted);margin:0}
.photo-frame{border-radius:24px;overflow:hidden}
.photo-frame img{width:100%;height:420px;object-fit:cover}

.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{cursor:pointer;font-weight:800;color:var(--navy)}
.end{background:linear-gradient(135deg,var(--navy),var(--teal));color:#fff;text-align:center;padding:64px 0}
.end h2,.end p{color:#fff}

.form{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(11,61,92,.06)}
.form label{display:block;font-size:13px;font-weight:800;margin:12px 0 6px;color:var(--navy)}
.form input,.form select,.form textarea{
  width:100%;border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:var(--bg)
}
.form .hint{font-size:13px;color:var(--muted);margin-top:12px}
.site-footer{background:var(--navy2);color:#c9d8e0;padding:36px 0;font-size:14px}
.site-footer a{color:#fff}
.site-footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}

.dv-float{position:fixed;z-index:99999;display:flex;gap:10px;align-items:center}
.dv-float a{text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(11,61,92,.22)}
.dv-wa{background:#25D366;width:58px;height:58px;border-radius:50%}
.dv-wa img{width:32px;height:32px}
.dv-tel{background:#0B3D5C;color:#fff;width:52px;height:52px;border-radius:50%}
.dv-bar{display:none}
@media(min-width:901px){.dv-float{right:20px;bottom:20px;flex-direction:column}}
@media(max-width:900px){
  .hero,.grid-4,.grid-3,.grid-2,.site-footer .cols{grid-template-columns:1fr}
  .hero-photo img,.photo-frame img{height:340px}
  .vf-nav a:not(.btn){display:none}
  .dv-float{left:0;right:0;bottom:0;background:#0B3D5C;padding:8px 12px calc(8px + env(safe-area-inset-bottom));justify-content:space-around}
  .dv-float a{box-shadow:none}
  .dv-wa,.dv-tel{width:46px;height:46px}
  .dv-tel{background:#fff;color:#0B3D5C}
  .dv-bar{display:flex;flex:1;height:46px;border-radius:999px;background:#25D366;color:#08371d;font-weight:800}
}
