/* lastorres.es Fase 1 v1.0.1 */
:root {
  color-scheme: light;
  --bg: #f6f8fc;
  --surface: #ffffff;
  --surface-2: #eef4ff;
  --text: #0b2346;
  --muted: #617188;
  --border: #dce5f0;
  --brand: #1769e0;
  --brand-strong: #0b4fb7;
  --brand-gold: #f4b400;
  --header: rgba(255,255,255,.92);
  --shadow: 0 14px 40px rgba(18,54,92,.09);
  --shadow-soft: 0 8px 24px rgba(18,54,92,.07);
  --pharmacy: #159447;
  --bus: #1769e0;
  --market: #d98a00;
  --health: #df4050;
  --alert: #e77700;
  --holiday: #7452b8;
  --info: #1769e0;
  --focus: #ffb000;
  --hero-line: linear-gradient(90deg,#1769e0 0 72%,#f4b400 72% 100%);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #07111f;
  --surface: #0b192a;
  --surface-2: #0e2137;
  --text: #f6f9ff;
  --muted: #a7b7cb;
  --border: #20364f;
  --brand: #3b82f6;
  --brand-strong: #7ab0ff;
  --brand-gold: #ffc83d;
  --header: rgba(7,17,31,.94);
  --shadow: 0 18px 46px rgba(0,0,0,.28);
  --shadow-soft: 0 10px 26px rgba(0,0,0,.22);
  --pharmacy: #4ade80;
  --bus: #43a1ff;
  --market: #ffb21a;
  --health: #ff6472;
  --alert: #ff9b21;
  --holiday: #b796f2;
  --info: #4b9cff;
  --focus: #ffd15a;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.45}
a{color:inherit}
img{max-width:100%;height:auto}
button,a{touch-action:manipulation}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:8px}
.shell{width:min(1180px,calc(100% - 32px));margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-60px;background:var(--surface);padding:10px 14px;z-index:9999}
.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:50;background:var(--header);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;margin-right:auto;text-decoration:none}
.brand-logo{width:250px;height:auto;display:block}
.brand-logo-dark{display:none}
html[data-theme="dark"] .brand-logo-light{display:none}
html[data-theme="dark"] .brand-logo-dark{display:block}
.main-nav{display:flex;gap:6px;align-items:center}
.main-nav a{text-decoration:none;padding:10px 12px;border-radius:10px;color:var(--muted);font-weight:650}
.main-nav a:hover,.main-nav a[aria-current="page"]{color:var(--brand);background:var(--surface-2)}
.theme-toggle{width:46px;height:46px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow-soft)}
.theme-icon{font-size:21px;line-height:1}
.theme-moon{display:none}
html[data-theme="dark"] .theme-sun{display:none}
html[data-theme="dark"] .theme-moon{display:inline}
.dev-banner{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 16px;background:#fff4d6;color:#6c4b00;border-top:1px solid #ffe29a;font-size:.88rem}
html[data-theme="dark"] .dev-banner{background:#3a2a00;color:#ffe8a6;border-color:#6d5000}

.statusbar{margin-top:24px;background:linear-gradient(135deg,var(--brand-strong),var(--brand));color:#fff;border-radius:16px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;box-shadow:var(--shadow-soft)}
.statusbar-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.status-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#62df7d;box-shadow:0 0 0 4px rgba(98,223,125,.17)}
.live-note{font-size:.88rem;opacity:.92}

.hero{padding:54px 0 26px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);gap:36px;align-items:center}
.hero h1{font-size:clamp(2.35rem,6vw,4.35rem);line-height:.98;letter-spacing:-.045em;margin:0 0 18px;max-width:760px}
.hero h1::after{content:"";display:block;width:154px;height:6px;margin-top:19px;border-radius:99px;background:var(--hero-line)}
.hero p{font-size:clamp(1.05rem,2vw,1.25rem);color:var(--muted);margin:0;max-width:660px}
.hero-graphic{min-height:190px;display:flex;justify-content:center;align-items:center;position:relative}
.townline{width:100%;max-width:470px;color:var(--brand);opacity:.32}
html[data-theme="dark"] .townline{opacity:.52}
.dot-grid{position:absolute;left:3%;top:14%;display:grid;grid-template-columns:repeat(4,6px);gap:11px}
.dot-grid i{display:block;width:6px;height:6px;border-radius:50%;background:var(--brand-gold)}

.cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:18px;
  padding-bottom:26px;
}
.card{
  --accent:var(--info);
  grid-column:span 2;
  min-width:0;
  min-height:310px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:20px;
  padding:20px;
  box-shadow:var(--shadow-soft);
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.card:hover{
  transform:translateY(-3px);
  box-shadow:var(--shadow);
  border-color:color-mix(in srgb,var(--accent) 38%,var(--border));
}

.card-link{
  color:inherit;
  text-decoration:none;
  cursor:pointer;
}
.card-link:visited{color:inherit}
.card-link:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 62%,white);
  outline-offset:4px;
}
.card-link:active{
  transform:translateY(-1px);
}
.card.pharmacy{--accent:var(--pharmacy)}
.card.bus{--accent:var(--bus)}
.card.market{--accent:var(--market)}
.card.health{--accent:var(--health)}
.card.alert{--accent:var(--alert)}
.card.holiday{--accent:var(--holiday)}

/* Con exactamente cinco tarjetas, centramos la segunda fila.
   Al añadir una sexta, el grid vuelve automáticamente a 3 + 3. */
.cards > .card:nth-child(4):nth-last-child(2){grid-column:2 / span 2}
.cards > .card:nth-child(5):last-child{grid-column:4 / span 2}

.card-head{
  display:flex;
  gap:14px;
  align-items:center;
  min-height:68px;
}
.service-icon{
  width:64px;
  height:64px;
  flex:0 0 64px;
  display:block;
}
.card-head-copy{min-width:0}
.eyebrow{
  font-size:.76rem;
  letter-spacing:.052em;
  font-weight:830;
  color:var(--accent);
  margin:0 0 7px;
}
.state{
  display:inline-flex;
  align-items:center;
  font-size:.73rem;
  line-height:1;
  font-weight:820;
  padding:6px 9px;
  border-radius:999px;
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 11%,transparent);
}
.card-main{
  padding-top:18px;
  flex:1 1 auto;
}
.card-value{
  color:var(--accent);
  font-size:clamp(1.85rem,3vw,2.45rem);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:850;
  margin:0 0 10px;
}
.card h2{
  font-size:1.28rem;
  line-height:1.16;
  margin:0 0 9px;
  letter-spacing:-.02em;
}
.card p{margin:0 0 5px}
.card .summary{
  color:var(--text);
  font-weight:570;
  font-size:.96rem;
}
.card .meta{
  color:var(--muted);
  font-size:.88rem;
}
.card-footer{
  margin-top:auto;
  padding-top:18px;
}
.card-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  text-decoration:none;
  font-weight:770;
  color:var(--accent);
  padding-top:14px;
  border-top:1px solid var(--border);
}
.card-source{
  margin-top:11px;
  color:var(--muted);
  font-size:.70rem;
  display:flex;
  justify-content:space-between;
  gap:8px 12px;
  flex-wrap:wrap;
}

.trust-strip{margin:8px 0 46px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;box-shadow:var(--shadow-soft)}
.trust-item{display:flex;align-items:center;gap:12px;color:var(--muted)}
.trust-item strong{display:block;color:var(--text)}
.trust-icon{width:44px;height:44px;flex:0 0 44px;border-radius:14px;background:var(--surface-2);display:grid;place-items:center}
.trust-symbol{display:block;width:34px;height:34px}

.page-hero{padding:50px 0 26px}
.page-hero h1{font-size:clamp(2.15rem,5vw,3.6rem);margin:0 0 12px;letter-spacing:-.04em}
.page-hero p{max-width:720px;color:var(--muted);font-size:1.08rem}
.content-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow-soft);margin-bottom:24px}
.content-card h2{margin-top:0}
.demo-box{border-left:4px solid var(--alert);background:color-mix(in srgb,var(--alert) 8%,var(--surface));padding:14px 16px;border-radius:0 12px 12px 0;color:var(--muted)}
.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.service-link{display:flex;align-items:center;justify-content:space-between;text-decoration:none;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow-soft);font-weight:720}
.service-link:hover{border-color:var(--brand);color:var(--brand)}

.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:28px 0 20px;margin-top:28px}
.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:24px}
.footer-brand{display:flex;align-items:center;gap:12px}
.footer-brand span{display:block;color:var(--muted);font-size:.85rem}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-nav a{color:var(--muted);text-decoration:none;font-size:.9rem}
.footer-nav a:hover{color:var(--brand)}
.unofficial{border-top:1px solid var(--border);margin-top:20px;padding-top:16px;color:var(--muted);font-size:.82rem}

@media (max-width:900px){
  .header-inner{min-height:74px}
  .brand-logo{width:220px}
  .main-nav{display:none}
  .hero-grid{grid-template-columns:1fr}
  .hero-graphic{display:none}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .card,
  .cards > .card:nth-child(4):nth-last-child(2),
  .cards > .card:nth-child(5):last-child{grid-column:auto}
}
@media (max-width:640px){
  .shell{width:min(100% - 22px,1180px)}
  .brand-logo{width:190px}
  .theme-toggle{width:42px;height:42px}
  .statusbar{margin-top:14px;border-radius:13px;padding:10px 12px}
  .live-note{display:none}
  .hero{padding:34px 0 20px}
  .hero h1{font-size:2.45rem}
  .cards{grid-template-columns:1fr;gap:13px}
  .card,
  .cards > .card:nth-child(4):nth-last-child(2),
  .cards > .card:nth-child(5):last-child{
    grid-column:auto;
    min-height:0;
    padding:17px;
  }
  .service-icon{width:58px;height:58px;flex-basis:58px}
  .card-head{min-height:58px}
  .card-main{padding-top:15px}
  .card-value{font-size:2rem}
  .trust-strip{grid-template-columns:1fr;margin-bottom:30px}
  .service-list{grid-template-columns:1fr}
  .footer-grid{display:block}
  .footer-nav{margin-top:18px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}


/* Fase 2.1 · Farmacias reales V0.8.2 */
.content-muted{color:var(--muted)}
.pharmacy-feature{border-color:color-mix(in srgb,var(--pharmacy) 32%,var(--border))}
.pharmacy-feature-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pharmacy-feature-head img{width:64px;height:64px}
.pharmacy-feature h2{font-size:clamp(1.55rem,3vw,2rem);margin:0 0 5px}
.pharmacy-alias{color:var(--muted);font-size:.92rem;line-height:1.35;min-height:1.35em;margin:3px 0 13px}
.pharmacy-alias-empty{visibility:hidden}
.pharmacy-address{font-weight:650;margin:10px 0 4px}
.pharmacy-phone{margin:5px 0}.pharmacy-phone a{color:var(--pharmacy);font-weight:800;text-decoration:none}
.pharmacy-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:.72rem;font-weight:850;white-space:nowrap}
.pharmacy-pill.open,.pharmacy-pill.guard{background:color-mix(in srgb,var(--pharmacy) 11%,transparent);color:var(--pharmacy)}
.pharmacy-pill.guard{background:color-mix(in srgb,var(--pharmacy) 18%,transparent);font-weight:900}
.pharmacy-pill.closed{background:color-mix(in srgb,var(--muted) 10%,transparent);color:var(--muted)}
.pharmacy-summary h2{margin-bottom:7px}.pharmacy-summary p{color:var(--muted);margin-bottom:0}
.pharmacy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:24px}
.pharmacy-item{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:19px;box-shadow:var(--shadow-soft)}
.pharmacy-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}
.pharmacy-item h2{font-size:1.18rem;line-height:1.18;margin:4px 0}
.pharmacy-number{color:var(--pharmacy);font-size:.73rem;font-weight:850;letter-spacing:.04em}
.pharmacy-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px}
.pharmacy-action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:1px solid var(--border);border-radius:10px;padding:10px 13px;font-weight:780}
.pharmacy-action.primary{background:var(--pharmacy);border-color:var(--pharmacy);color:#fff}
.pharmacy-source{color:var(--muted);font-size:.75rem;margin-top:14px}
.pharmacy-method p{color:var(--muted)}.pharmacy-method strong{color:var(--text)}
@media(max-width:760px){
  .pharmacy-list{grid-template-columns:1fr}
  .pharmacy-item-top{display:block}
  .pharmacy-pill{margin-top:8px}
}


/* Farmacias V0.8.2.3 · validación de información */
.pharmacy-method-intro{
  max-width:760px;
  margin-bottom:18px;
}
.pharmacy-method-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.pharmacy-method-item{
  border:1px solid var(--border);
  border-radius:14px;
  padding:15px 16px;
  background:color-mix(in srgb,var(--surface) 92%,var(--pharmacy) 8%);
}
.pharmacy-method-item h3{
  margin:0 0 7px;
  font-size:1rem;
  color:var(--text);
}
.pharmacy-method-item p{
  margin:0;
  line-height:1.55;
}
@media(max-width:820px){
  .pharmacy-method-grid{grid-template-columns:1fr}
}


/* Fase 2.2 · Festivos */
.holiday-hero-card{
  border-color:color-mix(in srgb,var(--holiday) 28%,var(--border));
}
.holiday-kicker{
  color:var(--holiday);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.05em;
}
.holiday-date-large{
  color:var(--holiday);
  font-size:clamp(2rem,5vw,3.2rem);
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
  margin:8px 0 12px;
}
.holiday-list{
  display:grid;
  gap:10px;
}
.holiday-row{
  display:grid;
  grid-template-columns:84px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  border:1px solid var(--border);
  border-radius:13px;
  padding:13px 14px;
  background:var(--surface);
}
.holiday-row-date{
  color:var(--holiday);
  font-weight:900;
}
.holiday-row-name{font-weight:720}
.holiday-row-scope{
  color:var(--muted);
  font-size:.78rem;
  white-space:nowrap;
}
@media(max-width:620px){
  .holiday-row{grid-template-columns:70px minmax(0,1fr)}
  .holiday-row-scope{grid-column:2}
}


/* V0.8.2.6 · tarjetas con más de un destino */
.card-actions-card{
  cursor:default;
}
.home-card-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  padding-top:2px;
}
.home-card-action{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  border-radius:10px;
  border:1px solid var(--border);
  padding:10px 12px;
  font-weight:820;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.home-card-action.primary{
  color:#fff;
  background:var(--accent);
  border-color:var(--accent);
}
.home-card-action.secondary{
  color:var(--accent);
  background:color-mix(in srgb,var(--accent) 7%,var(--surface));
  border-color:color-mix(in srgb,var(--accent) 26%,var(--border));
}
.home-card-action:hover{transform:translateY(-1px)}
.home-card-action:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 55%,white);
  outline-offset:3px;
}

/* V0.8.2.6 · información legal */
.legal-stack{
  display:grid;
  gap:16px;
  margin-bottom:28px;
}
.legal-meta{
  color:var(--muted);
  font-size:.88rem;
  margin-top:8px;
}
.legal-card h2{
  margin-top:0;
}
.legal-card h3{
  margin:22px 0 7px;
  font-size:1.02rem;
}
.legal-card ul{
  padding-left:1.25rem;
}
.legal-card li{
  margin:.42rem 0;
  color:var(--muted);
}
.legal-card p{
  line-height:1.65;
}
.legal-callout{
  border-left:4px solid var(--primary);
  padding:11px 14px;
  background:color-mix(in srgb,var(--surface) 91%,var(--primary) 9%);
  border-radius:0 10px 10px 0;
}
.legal-nav{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin:0 0 18px;
}
.legal-nav a{
  text-decoration:none;
  color:var(--primary);
  font-weight:760;
  border:1px solid var(--border);
  border-radius:999px;
  padding:8px 11px;
  background:var(--surface);
}
@media(max-width:520px){
  .home-card-actions{grid-template-columns:1fr}
}


/* V0.8.2.7 · correo del proyecto */
.email-link{
  color:var(--brand);
  text-decoration:none;
  font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
  font-weight:720;
  letter-spacing:-.015em;
  transition:color .16s ease;
}
.email-link:visited{color:var(--brand)}
.email-link:hover{color:var(--brand-strong)}
.email-link:focus-visible{
  color:var(--brand-strong);
  text-decoration:none;
}
.email-link-large{
  display:inline-block;
  margin:6px 0 10px;
  font-size:clamp(1.15rem,3vw,1.45rem);
}
.contact-email-card{
  position:relative;
  overflow:hidden;
}
.contact-email-kicker{
  color:var(--muted);
  font-size:.78rem;
  font-weight:820;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.contact-mail-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:5px;
  color:var(--brand);
  text-decoration:none;
  font-weight:800;
  transition:color .16s ease,gap .16s ease;
}
.contact-mail-action:hover{
  color:var(--brand-strong);
  gap:11px;
}


/* V0.8.2.8 · enlaces externos de texto */
.external-link{
  color:var(--brand);
  text-decoration:none;
  font-weight:680;
  transition:color .16s ease;
}
.external-link:visited{color:var(--brand)}
.external-link:hover,
.external-link:focus-visible{
  color:var(--brand-strong);
  text-decoration:none;
}


/* V0.8.2.9 · tarjeta completa clicable aunque tenga acciones internas */
.card-actions-card{
  cursor:pointer;
}
.card-action-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
  text-decoration:none;
}
.card-action-overlay:focus-visible{
  outline:3px solid color-mix(in srgb,var(--accent) 62%,white);
  outline-offset:-4px;
}
.card-actions-card .card-head,
.card-actions-card .card-main,
.card-actions-card .card-source{
  position:relative;
  z-index:2;
  pointer-events:none;
}
.card-actions-card .home-card-actions{
  position:relative;
  z-index:3;
}
.card-actions-card .home-card-action{
  position:relative;
  z-index:4;
}


/* V0.8.2.10 · UX tarjeta Farmacias */
.card-detail-cta{
  position:relative;
  z-index:2;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid var(--border);
  color:var(--accent);
  font-size:.86rem;
  font-weight:800;
}
.card-actions-card.pharmacy .card-main h2{
  margin-bottom:7px;
}
.card-actions-card.pharmacy .summary{
  line-height:1.35;
}
.card-actions-card.pharmacy .meta{
  margin-top:4px;
}


/* V0.8.2.12 · apertura comercial + servicio de guardia */
.pharmacy-home-content{
  position:relative;
  z-index:2;
  pointer-events:none;
  padding-top:14px;
}
.pharmacy-home-intro{
  margin:0 0 12px !important;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.35;
}
.pharmacy-home-panels{
  display:grid;
  gap:10px;
}
.pharmacy-home-panel{
  border:1px solid var(--border);
  border-radius:14px;
  padding:12px;
  background:color-mix(in srgb,var(--surface-2) 62%,var(--surface));
}
.pharmacy-home-panel.guard{
  border-color:color-mix(in srgb,var(--pharmacy) 30%,var(--border));
}
.pharmacy-home-panel-label{
  color:var(--pharmacy);
  font-size:.66rem;
  line-height:1;
  letter-spacing:.055em;
  font-weight:900;
  margin-bottom:6px;
}
.pharmacy-home-panel h2{
  font-size:1rem;
  margin:0 0 4px;
}
.pharmacy-home-panel .summary{
  font-size:.79rem;
  margin-bottom:3px;
}
.pharmacy-home-panel .meta{
  font-size:.72rem;
  line-height:1.35;
}
.pharmacy-panel-actions{
  position:relative;
  z-index:3;
  pointer-events:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:9px;
}
.pharmacy-panel-actions .home-card-action{
  position:relative;
  z-index:4;
  padding:8px 9px;
  font-size:.75rem;
}
.card-actions-card .pharmacy-home-content{
  position:relative;
  z-index:2;
}
@media(max-width:480px){
  .pharmacy-panel-actions{
    grid-template-columns:1fr;
  }
}

.pharmacy-pill.open-guard{
  background:color-mix(in srgb,var(--pharmacy) 22%,transparent);
  color:var(--pharmacy);
  font-weight:900;
}


/* V1.0 · estado público del catálogo de servicios */
.service-link-copy{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.service-status{
  display:block;
  font-size:.72rem;
  line-height:1.2;
  font-weight:720;
}
.service-status.available{color:var(--pharmacy)}
.service-status.upcoming{color:var(--muted)}


/* Asistencia sanitaria V0.2 · página pública */
.health-page-hero{padding-bottom:22px}
.health-now-card{
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--health) 11%,var(--surface)),
    var(--surface) 62%);
  border:1px solid color-mix(in srgb,var(--health) 34%,var(--border));
  border-radius:22px;
  padding:24px;
  box-shadow:var(--shadow);
  margin-bottom:20px;
}
.health-now-head{
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:18px;
}
.health-now-head img{width:68px;height:68px;flex:0 0 68px}
.health-kicker{
  color:var(--health);
  font-size:.75rem;
  line-height:1.2;
  letter-spacing:.06em;
  font-weight:900;
  margin-bottom:7px;
}
.health-status{
  display:inline-flex;
  align-items:center;
  padding:7px 10px;
  border-radius:999px;
  background:color-mix(in srgb,var(--health) 13%,transparent);
  color:var(--health);
  font-size:.76rem;
  line-height:1;
  font-weight:900;
}
.health-now-body h2{
  margin:0 0 8px;
  font-size:clamp(1.7rem,4vw,2.55rem);
  letter-spacing:-.03em;
}
.health-now-summary{
  margin:0 0 7px;
  font-size:1.08rem;
  font-weight:700;
}
.health-now-address{
  margin:0;
  color:var(--muted);
}
.health-next-change{
  margin:14px 0 0;
  padding-top:13px;
  border-top:1px solid var(--border);
  color:var(--muted);
  font-size:.92rem;
}
.health-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:18px;
}
.health-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:43px;
  padding:10px 14px;
  border-radius:11px;
  text-decoration:none;
  font-weight:800;
  border:1px solid var(--border);
}
.health-action.primary{
  background:var(--health);
  border-color:var(--health);
  color:#fff;
}
.health-action.secondary{
  background:var(--surface);
  color:var(--health);
  border-color:color-mix(in srgb,var(--health) 30%,var(--border));
}
.health-actions.compact{margin-top:16px}
.health-actions.compact .health-action{font-size:.88rem}
.health-emergency{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:color-mix(in srgb,var(--health) 8%,var(--surface));
  border:1px solid color-mix(in srgb,var(--health) 28%,var(--border));
  border-radius:18px;
  padding:17px 20px;
  margin-bottom:24px;
}
.health-emergency strong{display:block;color:var(--health);font-size:1.02rem}
.health-emergency span{display:block;color:var(--muted);margin-top:2px}
.health-emergency-actions{display:flex;gap:9px;flex-wrap:wrap;flex:0 0 auto}
.health-emergency-actions a{
  text-decoration:none;
  border-radius:10px;
  padding:10px 13px;
  color:#fff;
  background:var(--health);
  font-weight:850;
}
.health-section-heading h2{margin-bottom:18px}
.health-rule-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.health-rule{
  border:1px solid var(--border);
  border-radius:16px;
  padding:17px;
  background:var(--surface-2);
}
.health-rule.highlight{
  border-color:color-mix(in srgb,var(--health) 35%,var(--border));
  background:color-mix(in srgb,var(--health) 8%,var(--surface));
}
.health-rule-day{
  display:block;
  color:var(--health);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.045em;
  margin-bottom:11px;
}
.health-rule strong{display:block;margin-top:8px}
.health-rule p{margin:4px 0 10px;color:var(--muted);font-size:.91rem}
.health-note{
  margin-top:16px;
  padding:14px 16px;
  border-left:4px solid var(--health);
  border-radius:0 12px 12px 0;
  background:color-mix(in srgb,var(--health) 6%,var(--surface));
  color:var(--muted);
  font-size:.91rem;
}
.health-note strong{color:var(--text)}
.health-resource-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.health-resource{margin-bottom:0}
.health-resource-label{
  color:var(--health);
  font-size:.72rem;
  line-height:1.2;
  letter-spacing:.052em;
  font-weight:900;
  margin-bottom:9px;
}
.health-resource h2{font-size:1.34rem;line-height:1.18;margin-bottom:10px}
.health-resource p{margin:7px 0}
.health-resource a:not(.health-action){color:var(--health);font-weight:750;text-decoration:none}
.health-resource-address{font-weight:720}
.health-resource-services{color:var(--muted);font-size:.92rem}
.health-resource.secondary-resource{
  border-color:color-mix(in srgb,var(--health) 18%,var(--border));
}
.health-source-card{margin-top:24px}
.health-source-card p{color:var(--muted)}
.health-source-card strong{color:var(--text)}
.health-unavailable{border-color:color-mix(in srgb,var(--health) 28%,var(--border))}
@media(max-width:820px){
  .health-rule-grid,
  .health-resource-grid{grid-template-columns:1fr}
  .health-emergency{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .health-now-card{padding:18px}
  .health-now-head img{width:60px;height:60px;flex-basis:60px}
  .health-actions,
  .health-emergency-actions{display:grid;grid-template-columns:1fr;width:100%}
  .health-action,
  .health-emergency-actions a{width:100%}
}
