/* ==========================================================================
   MediCenter · /servicios — Servicios de salud ocupacional (consume tokens.css)
   CSS aislado de esta pagina. No modifica base.css ni home.css.
   ========================================================================== */

/* Respeta prefers-reduced-motion: sin scroll animado ni transiciones de hover */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .sv-nav a,.sv-block__cta .mc-btn,.svh-card{transition:none}
}

/* ---------- HERO ---------- */
.sv-hero{background:linear-gradient(180deg,#fff,var(--mc-brand-subtle));
  border-bottom:1px solid var(--mc-border-default);text-align:center;padding:46px 0 40px}
.sv-hero .mc-eyebrow{display:block}
.sv-hero h1{font-size:2.5rem;line-height:1.1}
.sv-hero__lead{max-width:62ch;margin:14px auto 0;color:var(--mc-text-secondary);font-size:1.06rem}

/* ---------- SUB-NAV STICKY (debajo del header real de 80px) ---------- */
.sv-nav{position:sticky;top:var(--mc-header-h);z-index:40;
  background:var(--mc-bg-surface);border-bottom:1px solid var(--mc-border-default)}
.sv-nav__list{display:flex;gap:2px;list-style:none;margin:0;padding:0;
  overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.sv-nav__list::-webkit-scrollbar{display:none}
.sv-nav a{display:flex;align-items:center;min-height:48px;padding:0 16px;white-space:nowrap;
  font-family:var(--mc-font-sans);font-size:.92rem;font-weight:600;color:var(--mc-text-secondary);
  border-bottom:2px solid transparent;transition:color .15s,border-color .15s}
.sv-nav a:hover{color:var(--mc-brand-primary)}
.sv-nav a.is-active{color:var(--mc-brand-primary);border-bottom-color:var(--mc-brand-primary)}
/* Indicio visual de que hay mas opciones (fade a la derecha en pantallas estrechas) */
.sv-nav{position:sticky}
.sv-nav__wrap{position:relative}
.sv-nav__wrap::after{content:"";position:absolute;top:0;right:0;width:34px;height:100%;
  background:linear-gradient(to right,rgba(255,255,255,0),var(--mc-bg-surface));pointer-events:none;opacity:0;transition:opacity .2s}

/* ---------- BLOQUES DE SERVICIO ---------- */
.sv-block{scroll-margin-top:calc(var(--mc-header-h) + 62px);
  padding:54px 0;border-bottom:1px solid var(--mc-border-default)}
.sv-block__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--mc-space-12);align-items:center}
/* Layout CONSISTENTE: contenido a la izquierda, imagen a la derecha en TODOS los bloques.
   (DOM = media,body; en desktop la media se mueve a la derecha con order:2 de forma uniforme,
   no alternada => sin inversion confusa para lectura/lector de pantalla.) */
.sv-block__media{order:2}

.sv-block__media{position:relative;min-height:330px;border-radius:var(--mc-radius-lg);
  border:1px solid var(--mc-border-default);background:var(--mc-brand-subtle);
  display:grid;place-items:center;overflow:hidden}
.sv-block__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Placeholder NO ambiguo: se ve claramente como pendiente, no como contenido final */
.sv-block__media--empty{background:repeating-linear-gradient(135deg,var(--mc-brand-subtle),var(--mc-brand-subtle) 14px,#eef6f5 14px,#eef6f5 28px);
  border-style:dashed;border-color:var(--mc-border-strong)}
.sv-block__media--empty span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mc-text-muted);
  background:var(--mc-bg-surface);border:1px solid var(--mc-border-default);border-radius:20px;padding:6px 14px}

.sv-block__ic{width:54px;height:54px;display:grid;place-items:center;border-radius:12px;
  background:var(--mc-brand-subtle);color:var(--mc-brand-primary);margin-bottom:14px}
.sv-block__ic .occ-icon{width:30px;height:30px}
.sv-block__eyebrow{font-family:var(--mc-font-sans);font-size:.76rem;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mc-brand-primary);margin:0 0 4px}
.sv-block h2{font-size:1.9rem;margin:0}
.sv-block__desc{margin:14px 0 0;color:var(--mc-text-secondary);font-size:1.02rem;max-width:48ch}
.sv-obj{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.sv-obj li{display:flex;gap:10px;align-items:flex-start;color:var(--mc-text-secondary);font-size:.95rem}
.sv-obj li svg{width:20px;height:20px;flex:none;color:var(--mc-brand-primary);margin-top:1px;
  fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sv-block__cta{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

/* ---------- BREADCRUMB (sub-paginas) ---------- */
.sv-crumbs{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;
  margin:0 0 10px;font-family:var(--mc-font-sans);font-size:.85rem;color:var(--mc-text-secondary)}
.sv-crumbs a{color:var(--mc-brand-primary);text-decoration:none}
.sv-crumbs a:hover{text-decoration:underline}
.sv-crumbs [aria-current]{color:var(--mc-text-secondary)}

/* ---------- HUB /servicios (cards de grupo) ---------- */
.svh-groups{padding:52px 0}
.svh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.svh-card{display:flex;flex-direction:column;align-items:flex-start;
  background:var(--mc-bg-surface);border:1px solid var(--mc-border-default);border-radius:var(--mc-radius-lg);
  padding:30px 28px;text-decoration:none;box-shadow:var(--mc-shadow-card);
  transition:border-color .15s,box-shadow .15s,transform .15s}
.svh-card:hover{border-color:var(--mc-border-strong);box-shadow:0 6px 22px rgba(16,37,43,.08);transform:translateY(-2px)}
.svh-card__ic{width:58px;height:58px;display:grid;place-items:center;border-radius:14px;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary);margin-bottom:16px}
.svh-card__ic .occ-icon{width:32px;height:32px}
.svh-card__eyebrow{font-family:var(--mc-font-sans);font-size:.76rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mc-brand-primary)}
.svh-card h2{font-size:1.5rem;margin:6px 0 0;color:var(--mc-text-primary)}
.svh-card p{margin:10px 0 0;color:var(--mc-text-secondary);font-size:1rem;line-height:1.55}
.svh-card__link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;
  font-family:var(--mc-font-sans);font-weight:700;color:var(--mc-brand-primary)}
.svh-card__link svg{width:18px;height:18px}
.svh-note{margin:28px auto 0;text-align:center;max-width:56ch;color:var(--mc-text-secondary);
  font-size:.98rem;line-height:1.55}

/* ---------- FAMILIAS (encabezados) + EXÁMENES Y EVALUACIONES (familia B) ---------- */
.svh-famhead{text-align:center;margin-bottom:var(--mc-space-8)}
.svh-famhead h2{font-size:1.7rem;margin:6px 0 0}
.svh-eval{padding:8px 0 56px;scroll-margin-top:calc(var(--mc-header-h) + 16px)}
.svh-eval__lead{max-width:60ch;margin:12px auto 0;color:var(--mc-text-secondary);font-size:1rem;line-height:1.55}
.svh-eval__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:940px;margin:0 auto}
.svh-eval__card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;
  background:var(--mc-bg-surface);border:1px solid var(--mc-border-default);border-radius:var(--mc-radius);
  padding:26px 20px;box-shadow:var(--mc-shadow-card)}
.svh-eval__ic{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;
  background:var(--mc-brand-soft);color:var(--mc-brand-primary)}
.svh-eval__ic .service-icon__svg{display:block;width:34px;height:34px;color:var(--mc-brand-primary)}
.svh-eval__card h3{font-family:var(--mc-font-sans);font-size:1.02rem;font-weight:700;margin:0;color:var(--mc-text-primary)}
@media (max-width:760px){.svh-eval__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.svh-eval__grid{grid-template-columns:1fr}}

/* ---------- LANDING Campañas ---------- */
.cmp-detail{padding:52px 0}
.cmp-grid{display:grid;grid-template-columns:1fr;max-width:720px}
.cmp-body .sv-block__ic{margin-bottom:16px}
.cmp-body h2{font-size:1.9rem;margin:0}
.cmp-desc{margin:14px 0 0;color:var(--mc-text-secondary);font-size:1.05rem;line-height:1.6;max-width:60ch}

/* ---------- RESPONSIVE ---------- */
@media (max-width:1024px){
  .sv-hero h1{font-size:2.2rem}
  .sv-block__grid{gap:var(--mc-space-8)}
  .sv-block__media{min-height:280px}
}
@media (max-width:900px){
  /* Apilado predecible: imagen arriba, contenido debajo (DOM natural, sin order) */
  .sv-block__grid{grid-template-columns:1fr;gap:22px}
  .sv-block__media{order:0;min-height:200px}
  .sv-block{padding:40px 0}
  .sv-nav__wrap::after{opacity:1}
}
@media (max-width:760px){
  .svh-grid{grid-template-columns:1fr}
  .svh-groups{padding:40px 0}
}
@media (max-width:560px){
  .sv-hero{padding:36px 0 30px}
  .sv-hero h1{font-size:1.95rem}
  .sv-block h2{font-size:1.6rem}
  .sv-block__cta .mc-btn{width:100%;justify-content:center}
  .svh-card{padding:24px 22px}
}
