/* =====================================================================
   Guía de CAPS – estilos (página pública y panel)
   Colores institucionales en :root. Espaciados en múltiplos de 4px.
   ===================================================================== */
:root{
  color-scheme: light;               /* evita que el modo oscuro del sistema pinte mal listas y campos */
  --bg:#f3f6fa; --card:#fff; --txt:#1b2733; --muted:#5b6b7c; --line:#dbe3ec;
  --main:#151d41; --main-d:#0e1530; --main-l:#e9ecf6; --acento:#e48ab8;
  --ok:#106b3a; --ok-l:#e1f5ea; --err:#b42318; --err-l:#fdecea; --warn:#8a5a00; --warn-l:#fff6e0; --warnb:#f0c36d;
  --info:#1d4ed8; --info-l:#e8f0fe; --nov:#d97706;
  --hol:#fdecea; --holt:#b42318;
  --r:12px; --r-s:8px; --sombra:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
  --ancho:1080px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:100%}
html.letra-grande{font-size:118.75%}   /* 19px: todo lo medido en rem crece */
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.5;font-size:1rem}
a{color:var(--main)}
img{max-width:100%}
.ic{width:1.15em;height:1.15em;flex:0 0 auto;vertical-align:-.2em}
.oculto-visual{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Encabezado ---------- */
header{background:var(--main);color:#fff}
.head-in{max-width:var(--ancho);margin:0 auto;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:14px;color:#fff;text-decoration:none}
.marca img{width:76px;height:76px;border-radius:12px;display:block}
.marca-txt{display:flex;flex-direction:column;line-height:1.15}
.marca-txt strong{font-size:1.2rem;font-weight:700}
.marca-txt span{font-size:1.02rem;font-weight:400;opacity:.9}
.head-titulo{text-align:right}
.head-titulo h1{margin:0;font-size:1.3rem;font-weight:700}
.head-titulo p{margin:2px 0 0;font-size:.92rem;opacity:.85}
header a.acceso{color:#fff;opacity:.9}
@media(max-width:700px){.head-titulo{text-align:left;width:100%}.head-titulo h1{font-size:1.15rem}.marca img{width:60px;height:60px}.marca-txt strong{font-size:1.08rem}}

main{max-width:var(--ancho);margin:0 auto;padding:20px 20px 8px}
@media(max-width:600px){main{padding:16px 14px 8px}.head-in{padding:14px}}
footer{max-width:var(--ancho);margin:0 auto;padding:16px 20px 32px;color:var(--muted);font-size:.85rem}
footer a{color:var(--main)}

/* ---------- Bloques generales ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;box-shadow:var(--sombra)}
h2.sec{display:flex;align-items:center;gap:8px;font-size:1.2rem;margin:28px 0 12px;color:var(--main-d)}
h2.sec .ic{color:var(--main)}
.nota{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.vacio-msg{color:var(--muted);font-size:.95rem;margin:4px 0}
.cargando{color:var(--muted);padding:24px 0;text-align:center}
.error-carga{background:var(--err-l);border:1px solid #f1b5b0;color:#7a1a12;border-radius:var(--r);padding:12px 16px;margin-bottom:16px}
.actualizado{font-size:.78rem;color:var(--muted);margin-top:6px}
.tag{display:inline-block;font-size:.75rem;background:#eef2f6;color:var(--muted);border-radius:6px;padding:2px 8px}

.aviso{display:flex;gap:10px;align-items:flex-start;background:var(--warn-l);border:1px solid var(--warnb);border-radius:var(--r);padding:12px 16px;margin-bottom:16px;font-size:.93rem;color:#4a3500}
.aviso .ic{color:var(--warn);margin-top:2px}
.aviso p{margin:0}

/* ---------- Botones ---------- */
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--main);color:var(--main);background:#fff;border-radius:var(--r-s);padding:8px 12px;font-size:.9rem;font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit;line-height:1.2;min-height:40px}
.btn:hover{background:var(--main-l)}
.btn:focus-visible,.tab:focus-visible,.dia:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #8aa2ff;outline-offset:2px}
.btn.p{background:var(--main);color:#fff}
.btn.p:hover{background:var(--main-d)}
.btn.grande{padding:12px 16px;font-size:1rem;min-height:48px}
.btn.peligro{border-color:var(--err);color:var(--err)}
.btn.peligro:hover{background:var(--err-l)}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.link{background:none;border:none;color:var(--main);text-decoration:underline;cursor:pointer;font:inherit;font-size:.9rem;padding:0}

/* ---------- Formularios (página y panel) ---------- */
label{font-size:.85rem;color:var(--muted);display:block;margin-bottom:4px;font-weight:600}
select,input[type=text],input[type=time],input[type=email],input[type=password],input[type=date],input[type=number],textarea{
  width:100%;padding:10px 12px;border:1px solid #c8d3df;border-radius:var(--r-s);font:inherit;font-size:1rem;background:#fff;color:var(--txt);min-width:0}
select{appearance:none;-webkit-appearance:none;padding-right:36px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23151d41' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:18px}
select option{color:var(--txt);background:#fff}
select:disabled{background-color:#f3f5f8;color:var(--muted)}
textarea{resize:vertical;min-height:72px}

/* ---------- Aviso breve, emergencias y Telesalud (misma fila) ---------- */
.aviso-mini{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;font-size:.85rem;color:#4a3500;background:var(--warn-l);border:1px solid var(--warnb);border-radius:var(--r-s);padding:6px 12px}
.aviso-mini .ic{color:var(--warn);margin-top:2px}
.destacados{display:flex;gap:12px;align-items:stretch;margin-bottom:16px;flex-wrap:wrap}
.destacados > #emergencias:empty{display:none}
.telesalud{flex:1 1 420px;display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--line);border-left:5px solid var(--acento);border-radius:var(--r);padding:10px 16px;box-shadow:var(--sombra)}
.telesalud img{width:150px;height:auto;flex:0 0 auto}
.telesalud-txt{flex:1;min-width:180px}
.telesalud-txt h2{margin:0;font-size:1rem;color:var(--main-d)}
.telesalud-txt p{margin:0;font-size:.9rem}
@media(max-width:600px){.telesalud img{width:120px}.telesalud .btn{width:100%;justify-content:center}}

/* ---------- Buscador ---------- */
.buscador{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-bottom:16px;box-shadow:var(--sombra)}
.buscador h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:1.1rem;color:var(--main-d)}
.buscador-campos{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}
@media(max-width:800px){.buscador-campos{grid-template-columns:1fr}.buscador-campos .btn{width:100%;justify-content:center}}
.msg-cercano{margin-top:12px;font-size:.92rem}
.msg-cercano:empty{display:none}
.controles{display:flex;gap:12px;flex-wrap:wrap;align-items:end;margin-bottom:16px}
.controles > div{min-width:240px}

/* ---------- Solapas ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid var(--line);margin:8px 0 20px}
.tab{display:inline-flex;align-items:center;gap:8px;border:none;background:none;font:inherit;font-weight:600;color:var(--muted);padding:12px 16px;cursor:pointer;border-bottom:4px solid transparent;margin-bottom:-2px;border-radius:8px 8px 0 0}
.tab:hover{color:var(--main);background:var(--main-l)}
.tab.act{color:var(--main-d);border-bottom-color:var(--main)}
.panel[hidden]{display:none}
@media(max-width:600px){.tabs .tab{flex:1 1 auto;justify-content:center;padding:10px 8px;font-size:.92rem}}

/* ---------- Novedades ---------- */
.nov-lista{background:#fff;border:1px solid var(--line);border-left:5px solid var(--nov);border-radius:var(--r);padding:12px 16px;margin-bottom:16px;box-shadow:var(--sombra)}
.nov-lista h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1rem;color:var(--main-d)}
.nov-lista h3 .ic{color:var(--nov)}
.nov-lista ul{margin:0;padding:0;list-style:none;font-size:.93rem}
.nov-lista li{padding:6px 0;border-top:1px solid #eef2f6}
.nov-lista li:first-child{border-top:none}
.nov-tipo{display:inline-block;font-size:.72rem;font-weight:700;border-radius:6px;padding:2px 8px;margin-right:6px;text-transform:uppercase;letter-spacing:.02em;vertical-align:1px}
.nov-tipo.cerrado{background:var(--err-l);color:var(--err)}
.nov-tipo.suspendido{background:#fff1e0;color:#9a4b00}
.nov-tipo.aviso{background:var(--info-l);color:var(--info)}
.nov-tipo.ok-sug{background:var(--ok-l);color:var(--ok)}

/* ---------- Calendario + detalle ---------- */
.grid2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:860px){.grid2{grid-template-columns:1fr}}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.cal-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:1.15rem;text-transform:capitalize;color:var(--main-d)}
.cal-head button{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:var(--r-s);cursor:pointer;color:var(--main)}
.cal-head button:hover{background:var(--main-l)}
.dias,.dias-sem{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dias-sem div{text-align:center;font-size:.78rem;color:var(--muted);font-weight:700;padding:2px 0}
/* Calendario simple: solo el número del día; el color indica si hay atención */
.dia{position:relative;height:46px;border:1px solid transparent;border-radius:10px;background:transparent;font:inherit;font-size:1rem;font-weight:600;color:#9aa6b2;display:grid;place-items:center;cursor:pointer;padding:0}
.dia.vacio{cursor:default}
.dia.sin{cursor:pointer}
.dia.sin:hover{background:#f1f4f7}
.dia.con{background:var(--main-l);color:var(--main-d);font-weight:700;border-color:#c9d1ec}
.dia.con:hover{background:#d9def2;border-color:var(--main)}
.dia.hoy{box-shadow:inset 0 0 0 2px var(--acento)}
.dia.pasado.con{background:#f4f6fb;color:#a3adc2;border-color:#e3e7f1;font-weight:600}
.dia.pasado.sel{background:#5b6b7c;color:#fff}
.dia.sel{background:var(--main);color:#fff;border-color:var(--main)}
.dia.sel.sin{background:#5b6b7c;border-color:#5b6b7c}
.dia.feriado{background:repeating-linear-gradient(45deg,var(--hol),var(--hol) 5px,#fff 5px,#fff 10px);color:var(--holt);cursor:not-allowed;border-color:#f4cfcb}
@media(max-width:600px){.dias,.dias-sem{gap:4px}.dia{height:40px;font-size:.95rem;border-radius:8px}}
.leyenda{display:flex;gap:16px;flex-wrap:wrap;font-size:.82rem;color:var(--muted);margin-top:12px}
.leyenda span{display:inline-flex;align-items:center;gap:6px}
.leyenda i{display:inline-block;width:14px;height:14px;border-radius:4px}
.leyenda .ley-con{background:var(--main-l);border:1px solid #c9d1ec}
.leyenda .ley-sin{background:#fff;border:1px solid var(--line)}
.leyenda .ley-fer{background:repeating-linear-gradient(45deg,var(--hol),var(--hol) 3px,#fff 3px,#fff 6px);border:1px solid #f4cfcb}
.leyenda .ley-hoy{background:#fff;box-shadow:inset 0 0 0 2px var(--acento)}
.paso{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--main);color:#fff;font-size:.78rem;font-weight:700;margin-right:6px;vertical-align:1px}
.opcional{font-weight:400;color:var(--muted)}
.paso-cal{display:flex;align-items:flex-start;line-height:1.35;margin:0 0 10px;font-size:.88rem;color:var(--muted);font-weight:600}
.proximo{margin-top:10px}

.detalle{scroll-margin-top:12px}
.det-fecha{display:flex;align-items:center;gap:10px;margin:0 0 4px}
.det-fecha .ic{width:28px;height:28px;color:var(--main)}
.det-fecha h3{margin:0;font-size:1.15rem;color:var(--main-d)}
.det-fecha h3::first-letter{text-transform:uppercase}
.det-resumen{font-size:.9rem;color:var(--muted);margin:0 0 12px}
.caps-dia{border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-top:12px;background:#fff}
.caps-dia h4{display:flex;align-items:center;gap:8px;margin:0;font-size:1.02rem;color:var(--main-d)}
.caps-dia h4 .ic{color:var(--main)}
.dato{display:flex;align-items:flex-start;gap:6px;font-size:.88rem;color:var(--muted);margin:4px 0 0}
.dato .ic{margin-top:2px}
.servicios{list-style:none;margin:10px 0 0;padding:0}
.servicio{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;padding:8px 0;border-top:1px solid #eef2f6}
.servicio:first-child{border-top:none}
.hora{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:700;background:var(--main-l);color:var(--main-d);border-radius:6px;padding:4px 8px;white-space:nowrap}
.servicio .nom{font-weight:600}
.servicio .sub{display:block;font-size:.8rem;color:var(--muted);font-weight:400}
.servicio.suspendido .nom{text-decoration:line-through;color:var(--muted)}
.servicio.suspendido .hora{background:#f1f3f6;color:var(--muted)}
.servicio.suspendido .sub{color:#9a4b00;text-decoration:none}
.caps-cerrado,.aviso-dia{display:flex;gap:8px;align-items:flex-start;border-radius:var(--r-s);padding:8px 10px;font-size:.9rem;margin-top:10px}
.caps-cerrado{background:var(--err-l);color:#7a1a12}
.aviso-dia{background:var(--info-l);color:#1e3a8a}
.semana{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line)}
.semana h4{display:flex;align-items:center;gap:8px;margin:0 0 6px;font-size:.95rem;color:var(--main-d)}
.semana ul{list-style:none;margin:0;padding:0;font-size:.88rem}
.semana li{display:flex;justify-content:space-between;gap:8px;padding:4px 0;border-top:1px solid #f1f4f7}
.semana li:first-child{border-top:none}
.semana li span:last-child{color:var(--muted);text-align:right}

/* ---------- Centros de salud ---------- */
.centros{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;align-items:start}
.centro{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r);padding:14px;background:#fff;box-shadow:var(--sombra)}
.centro.act{border-color:var(--main);box-shadow:0 0 0 2px var(--main-l)}
.centro h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:1.02rem;color:var(--main-d)}
.centro h3 .ic{color:var(--main)}
.centro .btns{margin-top:12px}
.distancia{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:700;color:var(--ok);background:var(--ok-l);border-radius:999px;padding:2px 8px;margin-left:auto}
.mas-cercano{font-size:.75rem;font-weight:700;color:#fff;background:var(--ok);border-radius:999px;padding:2px 8px}

/* ---------- Información útil y campañas ---------- */
.atencion{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.atencion h3,.camp h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:1.05rem;color:var(--main-d)}
.atencion h3 .ic{color:var(--main)}
.atencion ul{margin:0;padding-left:20px}
.atencion li{margin-bottom:6px}
.atencion p{margin:0 0 8px}
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.camp dl{margin:8px 0 0;font-size:.92rem}
.camp dt{font-weight:700;margin-top:8px}
.camp dd{margin:0}
.badge{display:inline-block;font-size:.74rem;font-weight:700;border-radius:999px;padding:2px 10px;margin-bottom:8px}
.badge.curso{background:var(--ok-l);color:var(--ok)}
.badge.fin{background:#eceff2;color:#5b6773}
.badge.conf{background:var(--warn-l);color:var(--warn);border:1px solid var(--warnb)}
.camp.finalizada{opacity:.75}
.fuentes{font-size:.8rem;margin-top:10px;color:var(--muted)}
.fuentes a{margin-right:8px}

/* ---------- Panel ---------- */
.login{max-width:440px;margin:24px auto}
.login h2{margin:0 0 12px;font-size:1.2rem;color:var(--main-d)}
.login .campos{grid-template-columns:1fr}
.barra-sesion{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px;font-size:.92rem;color:var(--muted)}
.chip-rol{display:inline-block;font-size:.74rem;font-weight:700;border-radius:999px;padding:2px 10px;background:var(--main-l);color:var(--main-d)}
.chip-inactivo{display:inline-block;font-size:.72rem;border-radius:6px;padding:1px 6px;background:var(--err-l);color:var(--err);margin-left:4px}
.eq-grid{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:860px){.eq-grid{grid-template-columns:1fr}}
.eq-lista{display:flex;flex-direction:column;gap:6px}
.eq-item{text-align:left;font:inherit;color:inherit;border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 12px;cursor:pointer}
.eq-item:hover{border-color:var(--main)}
.eq-item.act{border-color:var(--main);background:var(--main-l);box-shadow:inset 3px 0 0 var(--main)}
.eq-item b{display:block;font-size:.95rem}
.eq-item small{color:var(--muted)}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.campos .full{grid-column:1/-1}
@media(max-width:600px){.campos{grid-template-columns:1fr}}
.srv{border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:10px;display:grid;gap:10px;background:#fafbfd}
.srv-fila{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.srv-fila > div{flex:1;min-width:120px}
.dchips{display:flex;gap:6px;flex-wrap:wrap}
.dchip{position:relative;margin:0}
.dchip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.dchip span{display:inline-grid;place-items:center;width:40px;height:40px;border:1px solid #c8d3df;border-radius:var(--r-s);font-size:.9rem;font-weight:700;color:var(--muted);background:#fff}
.dchip input:checked + span{background:var(--main);color:#fff;border-color:var(--main)}
.dchip input:focus-visible + span{outline:3px solid #8aa2ff;outline-offset:2px}
.msg{border-radius:var(--r-s);padding:10px 12px;margin-top:12px;font-size:.92rem}
.msg.err{background:var(--err-l);border:1px solid #f1b5b0;color:#7a1a12}
.msg.ok{background:var(--ok-l);border:1px solid #a9dcc0;color:var(--ok)}
table.tabla{width:100%;border-collapse:collapse;font-size:.9rem}
table.tabla th,table.tabla td{border-bottom:1px solid var(--line);padding:8px 6px;text-align:left;vertical-align:top}
table.tabla th{color:var(--muted);font-weight:700;font-size:.8rem}
.tabla-scroll{overflow-x:auto}
.ocupado{opacity:.6;pointer-events:none}
.check{display:flex;align-items:center;gap:8px;font-size:.92rem;color:var(--txt);font-weight:400}
.check input{width:auto}

/* ---------- Opciones de lectura ---------- */
.herramientas{max-width:var(--ancho);margin:0 auto;padding:0 20px 12px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.herr{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;min-height:36px}
.herr:hover{background:rgba(255,255,255,.12)}
.herr[aria-pressed="true"]{background:#fff;color:var(--main)}
.herr[hidden]{display:none}
@media(max-width:600px){.herramientas{justify-content:flex-start;padding:0 14px 12px}}

/* Alto contraste: textos negros, bordes marcados, enlaces subrayados */
html.contraste{--bg:#fff;--txt:#000;--muted:#1f2933;--line:#3d4a57;--main:#0b1030;--main-d:#000;--main-l:#dfe4f5;
  --ok:#064d26;--err:#8f1208;--warn:#5c3c00;--info:#0b2fa0;--nov:#a14e00;--sombra:none}
html.contraste .card,html.contraste .centro,html.contraste .caps-dia,html.contraste .buscador,html.contraste .telesalud,html.contraste .nov-lista,html.contraste .emergencias{border-width:2px}
html.contraste a{text-decoration:underline}
html.contraste .btn{border-width:2px}
html.contraste .dia.con{border-color:#0b1030;border-width:2px}
html.contraste .dia.sin{color:#555}
html.contraste .dia.sin .c,html.contraste .nota,html.contraste .actualizado,html.contraste .dato{color:#1f2933}
html.contraste select,html.contraste input{border:2px solid #3d4a57}

/* ---------- Emergencias ---------- */
.emergencias{flex:0 1 auto;display:flex;flex-direction:column;justify-content:center;gap:6px;background:#fff;border:1px solid #f1b5b0;border-left:5px solid var(--err);border-radius:var(--r);padding:10px 14px;box-shadow:var(--sombra)}
.emergencias h2{display:flex;align-items:center;gap:6px;margin:0;font-size:.9rem;color:var(--err);text-transform:uppercase;letter-spacing:.03em}
.tels{display:flex;gap:8px;flex-wrap:wrap}
.tel-grande{display:inline-flex;align-items:center;gap:10px;background:var(--err);color:#fff;border-radius:var(--r-s);padding:8px 14px;text-decoration:none;font-weight:700;min-height:48px}
.tel-grande .tel-ic{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.2)}
.tel-grande .tel-ic .ic{width:20px;height:20px}
.tel-grande .num{font-size:1.5rem;line-height:1;letter-spacing:.03em}
.tel-grande small{display:block;font-weight:600;font-size:.75rem;opacity:.95;margin-top:2px}
.tel-grande:hover{background:#8f1208}
@media(max-width:600px){.destacados .emergencias{flex:1 1 100%}.tel-grande{flex:1;justify-content:center}}

/* ---------- Abierto ahora / compartir ---------- */
.estado-ahora{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:700;border-radius:999px;padding:2px 8px;white-space:nowrap}
.estado-ahora.si{background:var(--ok-l);color:var(--ok)}
.estado-ahora.no{background:#eef1f4;color:var(--muted)}
.abiertos{margin-top:12px}
.btn.wa{border-color:#1f7a45;color:#1f7a45}
.btn.wa:hover{background:#e6f5ec}

