/* Consultorios de la Pérgola · Dirección "Bosque" */
:root{
  --noche:#0B3325; --bosque:#0D4E37; --hoja:#2F6753; --musgo:#A9CDB6;
  --hueso:#EEF3EF; --trigo:#E6D6B2; --trigo-osc:#d8c393; --tinta:#0B2219;
  --linea-osc:rgba(238,243,239,.18); --linea-clara:#C8D6CD; --ok:#5FD39A;
  --serif:"Newsreader",Georgia,serif; --sans:"Inter Tight",system-ui,-apple-system,sans-serif;
  --gutter:40px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--noche);color:var(--hueso);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p,dl,dd,figure,ul{margin:0}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--gutter)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.saltar{position:absolute;left:-999px;top:8px;background:var(--trigo);color:var(--noche);padding:8px 14px;z-index:100}
.saltar:focus{left:8px}
:focus-visible{outline:2px solid var(--trigo);outline-offset:3px}
.claro :focus-visible,.ficha :focus-visible{outline-color:var(--bosque)}

/* Tipografía */
h1{font:300 clamp(46px,7vw,104px)/.98 var(--serif);letter-spacing:-.025em;max-width:11em}
h2{font:300 clamp(36px,4.4vw,60px)/1.05 var(--serif);letter-spacing:-.02em;max-width:14em}
.h3{font:300 clamp(28px,3vw,38px)/1.1 var(--serif)}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;border-radius:4px;font:600 16px var(--sans);text-decoration:none;cursor:pointer;border:0;transition:background .2s,color .2s}
.btn--trigo{background:var(--trigo);color:var(--noche)}.btn--trigo:hover{background:var(--trigo-osc)}
.btn--linea{color:var(--hueso);box-shadow:inset 0 0 0 1px rgba(238,243,239,.5)}.btn--linea:hover{background:rgba(238,243,239,.1)}
.btn--verde{background:var(--bosque);color:#fff}.btn--verde:hover{background:var(--hoja)}
.btn--borde{color:var(--bosque);box-shadow:inset 0 0 0 1px var(--bosque)}.btn--borde:hover{background:#e2ebe5}

/* Navegación */
.nav{position:fixed;inset:0 0 auto;z-index:50;transition:background .3s,box-shadow .3s}
.nav.solida{background:rgba(11,51,37,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--linea-osc)}
.nav__in{display:flex;align-items:center;gap:36px;padding-top:20px;padding-bottom:20px;transition:padding .3s}
.nav.solida .nav__in{padding-top:12px;padding-bottom:12px}
.nav__logo img{height:44px;width:auto}
.nav__in>nav{margin-left:auto}
.nav__links{display:flex;gap:30px;list-style:none;padding:0;margin:0}
.nav__links a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
.nav__links a:not(.btn):hover{border-color:var(--trigo)}
.nav__movil-cta,.nav__burger{display:none}

/* Hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero__foto{position:absolute;inset:0;background:url(../img/fachada.jpg) center 30%/cover;filter:grayscale(1) contrast(1.1);transform:scale(1.08);animation:acercar 14s ease-out forwards}
@keyframes acercar{to{transform:scale(1)}}
.hero__velo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,51,37,.6),rgba(11,51,37,.25) 40%,var(--noche) 97%),linear-gradient(90deg,rgba(13,78,55,.88),rgba(13,78,55,.2))}
.hero__in{position:relative;z-index:2;padding-top:170px;padding-bottom:72px;width:100%}
.hero__bajada{font-size:19px;max-width:32em;margin:26px 0 36px;color:#cfdcd4}
.hero__acciones{display:flex;gap:14px;flex-wrap:wrap}
.datos{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--linea-osc);margin-top:72px}
.datos div{padding:24px 0 0 24px;border-left:1px solid var(--linea-osc)}
.datos div:first-child{padding-left:0;border:0}
.datos dt{color:var(--musgo);font-size:14px}
.datos dd{font:400 26px/1.2 var(--serif)}
.datos a{text-decoration:none}

/* Hoy */
.hoy{padding:72px 0 56px;border-top:1px solid var(--linea-osc)}
.hoy__cab{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.hoy__estado{display:flex;align-items:center;gap:10px;color:var(--musgo)}
.hoy__estado i{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(95,211,154,.5);animation:latido 2s infinite}
.hoy__estado i.off{background:#8aa396;animation:none}
@keyframes latido{70%{box-shadow:0 0 0 8px rgba(95,211,154,0)}}
.hoy__tira{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 max(var(--gutter),calc((100vw - 1160px)/2)) 16px;scrollbar-width:thin;scrollbar-color:var(--hoja) transparent}
.turno{flex:0 0 300px;scroll-snap-align:start;display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;background:rgba(238,243,239,.06);border:1px solid var(--linea-osc);border-radius:6px;padding:12px;text-align:left;color:inherit;font:inherit;cursor:pointer;transition:background .2s}
.turno:hover{background:rgba(238,243,239,.12)}
.turno .av{width:56px;height:56px}
.turno b{display:block;font:400 18px/1.2 var(--serif)}
.turno small{display:block;color:var(--musgo);font-size:13px;line-height:1.35}
.turno .hora{color:var(--hueso);font-variant-numeric:tabular-nums;margin-top:4px;display:flex;align-items:center;gap:6px}
.turno.ahora .hora::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ok)}
.turno.ahora{border-color:rgba(95,211,154,.5)}
.turno.paso{opacity:.5}

/* Avatares */
.av{border-radius:4px;overflow:hidden;background:var(--bosque);display:grid;place-items:center;position:relative;container-type:size}
.av img{width:100%;height:100%;object-fit:cover}
.av--ini{background:linear-gradient(160deg,var(--hoja),var(--bosque))}
.av--ini span{font-family:var(--serif);font-weight:300;font-size:min(38cqw,30cqh);line-height:1;color:var(--trigo);letter-spacing:.02em}
.av--ini::after{content:"";position:absolute;inset:auto -10% -38% auto;width:70%;aspect-ratio:1;background:url(../img/isotipo.png) center/contain no-repeat;opacity:.12;filter:brightness(0) invert(1)}

/* Equipo */
section{padding:110px 0}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;margin-bottom:48px}
.intro p{color:#bcd0c4;max-width:34em}
.claro .intro p{color:#3f5a4c}
.filtros{display:flex;flex-direction:column;gap:18px;margin-bottom:20px}
.buscar{display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(238,243,239,.4);max-width:560px;padding:6px 0}
.buscar:focus-within{border-color:var(--trigo)}
.buscar svg{width:22px;height:22px;fill:none;stroke:var(--musgo);stroke-width:1.8}
.buscar input{flex:1;background:none;border:0;color:var(--hueso);font:300 24px var(--serif);padding:6px 0;outline:none}
.buscar input::placeholder{color:#7f9d8d}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{background:none;border:1px solid var(--linea-osc);color:var(--hueso);font:500 14px var(--sans);padding:8px 14px;border-radius:999px;cursor:pointer;transition:border-color .2s,background .2s}
.chip:hover{border-color:var(--musgo)}
.chip[aria-pressed=true]{background:var(--trigo);border-color:var(--trigo);color:var(--noche)}
.resultado{color:var(--musgo);font-size:14px;margin:8px 0 28px}
.grilla{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 22px}
.med{background:none;border:0;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}
.med .av{aspect-ratio:3/4;border-radius:2px}
.med .av img{filter:grayscale(.9);transition:filter .5s,transform .8s cubic-bezier(.2,.7,.2,1)}
.med:hover .av img,.med:focus-visible .av img{filter:none;transform:scale(1.04)}
.med b{display:block;font:400 21px/1.2 var(--serif);margin-top:14px}
.med small{display:block;color:var(--musgo);font-size:14px;margin-top:2px}
.med .dias-med{font-size:13px;color:#a8bdb1;margin-top:6px}
.vacio{grid-column:1/-1;padding:40px 0;color:#bcd0c4}
.vacio button{background:none;border:0;color:var(--trigo);font:inherit;text-decoration:underline;cursor:pointer}

/* Secciones claras */
.claro{background:var(--hueso);color:var(--tinta)}
.claro h2{color:var(--noche)}

/* Horarios */
.dias{display:flex;gap:6px;border-bottom:1px solid var(--linea-clara);margin-bottom:8px;overflow-x:auto}
.dia{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 18px;font:400 22px var(--serif);color:#5d7568;cursor:pointer;white-space:nowrap}
.dia small{display:block;font:500 12px var(--sans);color:#7a8f84}
.dia[aria-selected=true]{color:var(--noche);border-color:var(--bosque)}
.dia .hoy-tag{color:var(--hoja)}
.agenda{display:grid}
.fila{display:grid;grid-template-columns:150px 48px 1fr auto;gap:20px;align-items:center;padding:14px 0;border-bottom:1px solid var(--linea-clara);background:none;border-left:0;border-right:0;border-top:0;text-align:left;font:inherit;color:inherit;cursor:pointer;width:100%}
.fila:hover{background:#e3ebe6}
.fila .hora{font:400 22px var(--serif);font-variant-numeric:tabular-nums;color:var(--bosque);padding-left:4px}
.fila .av{width:48px;height:48px}
.fila b{font-weight:600}
.fila small{display:block;color:#5d7568}
.fila .nota{font-size:13px;color:#5d7568;max-width:28em;text-align:right}
.agenda__nota{margin-top:24px;color:#3f5a4c}
.agenda__nota a{color:var(--bosque)}

/* Especialidades */
.especialidades{padding-top:0}
.esps{columns:3;column-gap:48px;margin-top:40px}
.esp{display:flex;justify-content:space-between;align-items:baseline;gap:12px;width:100%;break-inside:avoid;padding:14px 0;border:0;border-top:1px solid var(--linea-clara);background:none;font:400 19px var(--sans);color:var(--tinta);text-align:left;cursor:pointer}
.esp span{color:var(--hoja);font-size:14px;white-space:nowrap}
.esp:hover{color:var(--bosque)}
.esp:hover span{text-decoration:underline}

/* Nosotros */
.nosotros__in{display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
.nosotros__foto{border-radius:999px 999px 4px 4px;overflow:hidden;aspect-ratio:4/5;max-width:480px}
.nosotros__foto img{width:100%;height:100%;object-fit:cover}
.nosotros p{color:#bcd0c4;max-width:34em;margin:22px 0}
.nosotros .hero__acciones{margin-top:32px}

/* Contacto */
.contacto__in{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;align-items:stretch}
.contacto__datos{margin:32px 0}
.contacto__datos div{padding:14px 0;border-top:1px solid var(--linea-clara);display:grid;grid-template-columns:160px 1fr;gap:16px}
.contacto__datos dt{color:#5d7568;font-size:14px;padding-top:3px}
.contacto__datos a{color:var(--bosque)}
.mapa{min-height:440px;border-radius:4px;overflow:hidden;background:#d9e3dd}
.mapa iframe{width:100%;height:100%;min-height:440px;border:0;filter:grayscale(.4) saturate(.9)}

/* Pie */
.pie{padding:72px 0 32px;border-top:1px solid var(--linea-osc)}
.pie__in{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.pie img{height:44px;width:auto;margin-bottom:14px}
.pie h3{font:400 20px var(--serif);margin-bottom:8px}
.pie p{color:#bcd0c4}
.redes{display:flex;flex-wrap:wrap;gap:10px 22px}
.redes a{display:inline-flex;align-items:center;gap:8px;color:inherit;text-decoration:none}
.redes a:hover{text-decoration:underline}
.redes svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.redes svg.lleno{fill:currentColor;stroke:none}
.contacto .redes a{color:var(--bosque)}
.pie__legal{margin-top:56px;font-size:13px;color:#7f9d8d}

/* WhatsApp flotante */
.wa{position:fixed;right:22px;bottom:22px;z-index:40;display:flex;align-items:center;gap:8px;background:#25D366;color:#073b22;text-decoration:none;font-weight:600;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .2s}
.wa:hover{transform:translateY(-2px)}
.wa svg{width:26px;height:26px;fill:currentColor}

/* Ficha */
.ficha{border:0;padding:0;max-width:920px;width:calc(100% - 32px);border-radius:6px;background:var(--hueso);color:var(--tinta);max-height:calc(100vh - 32px)}
.ficha::backdrop{background:rgba(5,25,18,.75);backdrop-filter:blur(4px)}
.ficha[open]{animation:abrir .35s cubic-bezier(.2,.7,.2,1)}
@keyframes abrir{from{opacity:0;transform:translateY(16px)}}
.ficha__in{display:grid;grid-template-columns:340px 1fr}
.ficha__foto .av{height:100%;min-height:420px;border-radius:0}
.ficha__txt{padding:44px 44px 40px}
.ficha__esp{color:var(--hoja);font-weight:500}
.ficha h2{font-size:clamp(30px,3.4vw,42px);color:var(--noche);margin:6px 0 18px}
.ficha__bio{padding-left:18px;color:#2c4337;display:grid;gap:6px}
.ficha__bloque{margin-top:22px;padding-top:16px;border-top:1px solid var(--linea-clara)}
.ficha__bloque:empty{display:none}
.ficha__bloque h3{font:600 14px var(--sans);color:#5d7568;margin-bottom:6px}
.ficha__bloque p{margin:2px 0}
.ficha .hero__acciones{margin-top:28px}
.ficha__cerrar{position:absolute;top:10px;right:12px;width:44px;height:44px;border:0;background:rgba(238,243,239,.9);border-radius:50%;font-size:28px;line-height:1;cursor:pointer;color:var(--noche);z-index:2}

/* Responsive */
@media(max-width:1024px){
  .grilla{grid-template-columns:repeat(3,1fr)}.esps{columns:2}
  .nav__cta{display:none}
  .nav__burger{display:grid;gap:7px;margin-left:auto;background:none;border:0;padding:12px;cursor:pointer}
  .nav__burger span{display:block;width:26px;height:2px;background:var(--hueso);transition:transform .25s}
  .nav__burger[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}
  .nav__burger[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .nav__links{position:fixed;inset:72px 0 auto;flex-direction:column;gap:0;background:var(--noche);padding:12px 16px 24px;border-bottom:1px solid var(--linea-osc);transform:translateY(-12px);opacity:0;visibility:hidden;transition:.25s}
  .nav__links.abierto{transform:none;opacity:1;visibility:visible}
  .nav__links li a:not(.btn){display:block;padding:14px 0;font:300 26px var(--serif);border-bottom:1px solid var(--linea-osc)}
  .nav__movil-cta{display:block;margin-top:18px}.nav__movil-cta .btn{width:100%}
  .nav__logo img{height:38px}
}
@media(max-width:860px){
  :root{--gutter:16px}
  section{padding:80px 0}
  .hero__in{padding-top:130px;padding-bottom:48px}
  .datos{grid-template-columns:1fr 1fr;margin-top:48px}
  .datos div,.datos div:first-child{padding:18px 0 0;border:0}
  .datos dd{font-size:22px}
  .intro,.nosotros__in,.contacto__in{grid-template-columns:1fr;gap:20px}
  .grilla{grid-template-columns:repeat(2,1fr);gap:28px 14px}
  .med b{font-size:18px}
  .esps{columns:1}
  .fila{grid-template-columns:48px 1fr;gap:4px 14px}
  .fila .av{grid-column:1;grid-row:1/span 3;align-self:start}
  .fila>span:nth-of-type(2){grid-column:2;grid-row:1}
  .fila .hora{grid-column:2;grid-row:2;font-size:18px;padding:0}
  .fila .nota{grid-column:2;grid-row:3;text-align:left}
  .fila .nota:empty{display:none}
  .contacto__datos div{grid-template-columns:1fr;gap:2px}
  .mapa,.mapa iframe{min-height:320px}
  .pie__in{grid-template-columns:1fr}
  .wa span{display:none}.wa{padding:14px}
  .ficha__in{grid-template-columns:1fr}
  .ficha__foto .av{min-height:0;aspect-ratio:4/3}
  .ficha__txt{padding:28px 20px}
  .ficha{width:100%;max-height:100%;margin:auto 0 0;border-radius:12px 12px 0 0}
}
