body.page-entrega-muestras {
  --em-fixed-header-h: 188px;
}

body.page-entrega-muestras #user-banner,
body.page-entrega-muestras #station-switch-trigger,
body.page-entrega-muestras .station-chip-item,
body.page-entrega-muestras .station-chip,
body.page-entrega-muestras .user-banner {
  display: none !important;
}

body.page-entrega-muestras .em-hero.site-header.site-topbar {
  position: fixed;
  inset: 0 0 auto;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2200;
  margin: 0;
  border-bottom: 1px solid rgba(18, 82, 142, 0.2);
  background: #e8f1fc;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 4px 12px rgba(7, 28, 56, 0.1);
}

body.page-entrega-muestras .em-hero.site-header.site-topbar::before,
body.page-entrega-muestras .em-hero.site-header.site-topbar::after {
  display: none !important;
}

body.page-entrega-muestras .em-topbar {
  padding-top: 10px;
  padding-bottom: 10px;
  background: #e8f1fc;
}

body.page-entrega-muestras .em-hero .logo-strip,
body.page-entrega-muestras .em-hero .partners-bar {
  background: #f2f7ff;
}

body.page-entrega-muestras .em-hero .logo-strip::before,
body.page-entrega-muestras .em-hero .partners-bar::before {
  display: none !important;
}

.page-entrega-muestras .em-topbar__title {
  font-size: clamp(1.68rem, 1.95vw, 2.18rem);
  letter-spacing: -0.012em;
}

.page-entrega-muestras .kf-skip-link {
  z-index: 2300;
}

/* === entrega-muestras refactor: hero-aire === */
/* body.* eleva la especificidad a (0,2,1) para ganarle a la regla heredada
   body.page-kit-fit .kf-main { padding-top: calc(var(--app-header-h) - 4px) }
   de kit-fit.css, que clipaba el H1 ~4px bajo el header fijo. NO se toca
   kit-fit.css: override page-scoped. */
body.page-entrega-muestras .kf-main {
  padding: calc(var(--em-fixed-header-h) + 28px) 0 40px;
}

/* Ancla del heading independiente del valor transitorio de --em-fixed-header-h
   (gana al genérico [id] por especificidad de doble clase 0,2,0 vs 0,1,1). */
.page-entrega-muestras .em-page-heading.kf-section {
  scroll-margin-top: calc(var(--em-fixed-header-h) + 24px);
}
/* === /entrega-muestras refactor: hero-aire === */

.page-entrega-muestras .kf-main > .container {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.page-entrega-muestras .em-page-heading {
  margin-bottom: 12px;
}

/* === entrega-muestras refactor: hero-centrado === */
/* Hero centrado y dominante (PUNTO 1). El aire superior NO depende de estas
   reglas sino de .kf-main padding-top y scroll-margin-top (hero-aire); centrar
   en el eje horizontal no toca el clearance bajo el header fijo. */
.page-entrega-muestras .em-page-heading__bar {
  width: 100%;
  padding: 4px 0 2px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: grid;
  justify-items: center;
  align-items: start;
  text-align: center;
}

.page-entrega-muestras .em-page-heading__title {
  margin: 0;
  color: var(--ppk-blue-900);
  text-align: center;
  font-size: clamp(1.95rem, 2.7vw, 2.6rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 720;
  text-wrap: balance;
}

.page-entrega-muestras .em-page-heading__subtitle {
  max-width: 62ch;
  margin: 12px auto 0;
  color: var(--kf-muted);
  font-size: clamp(1.02rem, 1.2vw, 1.14rem);
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  text-wrap: pretty;
}
/* === /entrega-muestras refactor: hero-centrado === */

/* === entrega-muestras refactor: hero-liberado === */
/* Ficha meta liviana (sin gradiente ni recuadro duro). */
.page-entrega-muestras .em-page-heading__meta {
  margin-top: var(--space-3);
  padding: 18px 20px 20px;
  border-radius: 14px;
  border: 1px solid var(--ppk-border-card);
  background: var(--ppk-surface-card);
  box-shadow: none;
}
/* === /entrega-muestras refactor: hero-liberado === */

/* === entrega-muestras refactor: aligeramiento === */
/* Secciones = contenedor TRANSPARENTE; las cards internas son las únicas
   superficies (espejo de kit-fit). Cadena con .kf-main para ganar al
   desktop-shell (0,3,1). */
.page-entrega-muestras .kf-main .kf-panel {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: none;
  padding: 0;
}

.page-entrega-muestras .kf-section {
  margin-bottom: var(--space-7);
}
/* === /entrega-muestras refactor: aligeramiento === */

/* === entrega-muestras refactor: ritmo-vertical === */
/* PUNTO 1: escala de spacing consistente (--space-*). Header de sección con
   separación pareja al grid/contenido (gana al .kf-section-header de kit-fit
   margin-bottom:10px por especificidad de doble clase 0,2,0 > 0,1,1). */
.page-entrega-muestras .kf-section-header {
  margin-bottom: var(--space-3);
}
/* === /entrega-muestras refactor: ritmo-vertical === */

.page-entrega-muestras .em-meta-grid {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.page-entrega-muestras .em-meta-item {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid var(--ppk-border-card);
  border-radius: 12px;
  background: #fff;
  display: grid;
  gap: 6px;
}

.page-entrega-muestras .em-meta-item__term {
  margin: 0;
  font-size: 0.83rem;
  font-weight: 760;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--kf-primary-900);
}

.page-entrega-muestras .em-meta-item__desc {
  margin: 0;
  font-size: clamp(0.98rem, 1.02vw, 1.03rem);
  line-height: 1.5;
  color: var(--kf-muted);
  overflow-wrap: anywhere;
}

.page-entrega-muestras [id] {
  scroll-margin-top: calc(var(--em-fixed-header-h) + 16px);
}

.page-entrega-muestras .kf-note p,
.page-entrega-muestras .section-subtitle,
.page-entrega-muestras .kf-panel > p,
.page-entrega-muestras .em-check-copy,
.page-entrega-muestras .em-incident-note p {
  max-width: 72ch;
}

.page-entrega-muestras .section-title,
.page-entrega-muestras .kf-panel__title {
  font-size: clamp(1.48rem, 1.92vw, 1.72rem);
  line-height: 1.22;
  letter-spacing: -0.012em;
  font-weight: 640;
}

/* === entrega-muestras refactor: divisor-h2 === */
/* PUNTO 5: no existe ninguna "barrita azul" bajo los H2 (verificado: ni
   styles.css ni kit-fit.css ni shells tienen ::after/::before de barra sobre
   .section-title/.kf-panel__title). Lo que se leía como divisor suelto era el
   border-top de .em-step-group (ya removido). Decisión senior: NO introducir
   barra; UNIFICAR el aire H2->contenido. Los H2 SIN subtítulo (Checklist,
   Criterios, Errores frecuentes) usan .kf-panel__title directo: se les da el
   mismo margin inferior (12px) que el header con subtítulo, evitando el
   doble-espaciado dispar de los grids. */
.page-entrega-muestras .kf-panel__title {
  margin-bottom: var(--space-3);
}
/* === /entrega-muestras refactor: divisor-h2 === */

.page-entrega-muestras .section-subtitle,
.page-entrega-muestras .kf-panel > p,
.page-entrega-muestras .em-check-copy,
.page-entrega-muestras .em-incident-note p,
.page-entrega-muestras .em-faq__panel p {
  font-size: clamp(0.97rem, 1.02vw, 1.02rem);
  line-height: 1.5;
}

.page-entrega-muestras .kf-actions--quick {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.page-entrega-muestras .kf-actions--quick .btn {
  min-height: 52px;
  border-radius: var(--kf-radius-md);
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-3);
  text-align: left;
  line-height: 1.35;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease;
}

.page-entrega-muestras .kf-actions--quick .btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(8, 38, 74, 0.14);
}

.page-entrega-muestras .em-action__icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
}

.page-entrega-muestras .em-action__icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-entrega-muestras .em-checklist-grid {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.page-entrega-muestras .em-check-item {
  border: 1px solid var(--kf-border);
  border-radius: var(--kf-radius-md);
  background: var(--ppk-surface-card);
  box-shadow: none;
  padding: var(--space-3) var(--space-4);
  display: flex;
  gap: 10px;
  text-decoration: none;
  color: inherit;
  min-height: 96px;
  transition:
    transform 0.16s ease,
    box-shadow 0.16s ease,
    border-color 0.16s ease;
}

.page-entrega-muestras .em-check-item:hover {
  transform: translateY(-2px);
  border-color: rgba(15, 95, 166, 0.28);
  box-shadow: 0 12px 22px rgba(8, 38, 74, 0.12);
}

.page-entrega-muestras .em-check-item:focus-visible {
  outline: var(--kf-focus);
  outline-offset: 3px;
}

/* Badge numérico como pill de acento (paso): blanco sobre --ppk-blue-700
   (~6.4:1, AA holgado para texto). */
.page-entrega-muestras .em-check-badge {
  width: 30px;
  height: 30px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: var(--ppk-blue-700);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 0.88rem;
  flex: 0 0 30px;
}

.page-entrega-muestras .em-check-copy {
  display: grid;
  gap: var(--space-1);
  color: var(--kf-text);
  line-height: 1.48;
}

.page-entrega-muestras .em-check-item__title {
  margin: 0;
  color: var(--kf-primary-900);
  font-size: clamp(1rem, 1.08vw, 1.08rem);
  line-height: 1.35;
  font-weight: 620;
}

/* === entrega-muestras refactor: controles-derecha === */
/* PUNTO 2: "Abrir todo / Cerrar todo" alineados al borde DERECHO del
   contenedor de pasos, a la altura del H2. El split izq/der lo trae
   .kf-section-head de kit-fit (display:flex/space-between, aplica porque el body
   tiene page-kit-fit); se refuerza page-scoped por robustez. La p.section-subtitle
   queda FUERA de .kf-section-head (debajo), intacta. */
.page-entrega-muestras .kf-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  flex-wrap: wrap;
}

.page-entrega-muestras .kf-section-head > .section-title {
  flex: 1 1 auto;
  min-width: 0;
}

.page-entrega-muestras .kf-section-head__actions {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  margin-left: auto;
}

.page-entrega-muestras .em-accordion-controls {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

/* Botones gemelos: mismo ancho, texto centrado. */
.page-entrega-muestras .em-control-btn {
  min-height: 36px;
  padding: var(--space-2) var(--space-3);
  min-width: 104px;
  justify-content: center;
  font-size: 0.85rem;
  line-height: 1.2;
}

/* El header de la sección de pasos hereda max-width:var(--desktop-reading-max)
   (1120px) de body.page-internal .kf-section-header en site-desktop-shell.css
   (@min-1025, especificidad 0,2,0), lo que lo angosta respecto del #em-step-list
   (~1218px) y deja los controles "Abrir/Cerrar todo" cortos del borde derecho de
   las cards. Se libera page-scoped con +especificidad (0,4,2 > 0,2,0) para que el
   header iguale el ancho del grid y los controles lleguen al borde derecho. */
body.page-entrega-muestras
  section[aria-labelledby="em-steps-title"]
  .section-header.kf-section-header {
  max-width: none;
  width: 100%;
}
/* === /entrega-muestras refactor: controles-derecha === */

.page-entrega-muestras .em-accordion {
  margin-top: 4px;
  display: grid;
  gap: var(--space-3);
}

.page-entrega-muestras .em-step-card {
  border: 1px solid var(--kf-border);
  border-radius: var(--kf-radius-md);
  background: var(--kf-surface-soft);
  box-shadow: none;
  overflow: clip;
}

.page-entrega-muestras .em-step-card.is-open {
  background: #fff;
  border-color: rgba(15, 95, 166, 0.28);
  box-shadow: var(--kf-shadow-sm);
}

.page-entrega-muestras .em-step-card__heading {
  margin: 0;
}

.page-entrega-muestras .em-accordion__trigger {
  width: 100%;
  border: 0;
  background: transparent;
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  color: var(--kf-primary-900);
  text-align: left;
  font: inherit;
  transition: background-color 0.2s ease;
}

.page-entrega-muestras .em-accordion__trigger:hover {
  background-color: rgba(15, 95, 166, 0.04);
}

.page-entrega-muestras .em-accordion__trigger:focus-visible {
  outline: 2px solid rgba(15, 95, 166, 0.42);
  outline-offset: -2px;
}

.page-entrega-muestras .em-accordion__chevron {
  margin-left: auto;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 1px solid rgba(15, 95, 166, 0.24);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 24px;
  transition:
    transform 0.2s ease,
    border-color 0.2s ease,
    background-color 0.2s ease;
}

.page-entrega-muestras .em-accordion__chevron svg {
  width: 12px;
  height: 12px;
  fill: none;
  stroke: #0f5fa6;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.page-entrega-muestras .em-accordion__trigger[aria-expanded="true"] .em-accordion__chevron {
  transform: rotate(180deg);
  border-color: rgba(15, 95, 166, 0.36);
  background: var(--kf-primary-100);
}

/* === entrega-muestras refactor: smooth-accordion === */
/* La animación se aplica SOLO con .is-smooth (clase que agrega el JS al
   envolver el contenido en .em-accordion__panel-inner). Sin JS / sin .is-smooth
   el panel respeta [hidden] -> display:none (no-JS / cache = oculto total, cero
   sangrado). */
.page-entrega-muestras .em-accordion__panel.is-smooth,
.page-entrega-muestras .em-faq__panel.is-smooth {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.26s ease;
  overflow: hidden;
}

.page-entrega-muestras .em-accordion__panel,
.page-entrega-muestras .em-faq__panel {
  padding: 0 14px;
}

.page-entrega-muestras .em-accordion__panel.is-open,
.page-entrega-muestras .em-faq__panel.is-open {
  grid-template-rows: 1fr;
}

.page-entrega-muestras .em-accordion__panel.is-overflow-visible,
.page-entrega-muestras .em-faq__panel.is-overflow-visible {
  overflow: visible;
}

.page-entrega-muestras .em-accordion__panel-inner {
  overflow: hidden;
  min-height: 0;
}

/* Colapso REAL a 0: el padding-bottom solo existe en abierto, así colapsado
   mide 0px exactos (sin residuo). */
.page-entrega-muestras .em-accordion__panel.is-open .em-accordion__panel-inner {
  padding-bottom: 14px;
}

.page-entrega-muestras .em-faq__panel {
  padding: 0 12px;
}

.page-entrega-muestras .em-faq__panel.is-open .em-accordion__panel-inner {
  padding-bottom: 12px;
}

@media (prefers-reduced-motion: reduce) {
  .page-entrega-muestras .em-accordion__panel.is-smooth,
  .page-entrega-muestras .em-faq__panel.is-smooth {
    transition: none;
  }
}
/* === /entrega-muestras refactor: smooth-accordion === */

.page-entrega-muestras .em-accordion__panel .kf-list {
  margin-left: 0;
  margin-right: 0;
}

.page-entrega-muestras .kf-step__title {
  font-size: 1.06rem;
  line-height: 1.35;
  font-weight: 620;
}

/* === entrega-muestras refactor: continuidad-divider === */
/* Separador tipográfico entre paso-6 y paso-7 (PUNTO 3). Ritmo simétrico
   arriba/abajo y SIN border-top: la barrita fina se leía como "divisor
   huérfano" (no replicado bajo los otros H2); el tramo queda diferenciado solo
   por el label en mayúsculas (.em-step-group__title). Los 9 pasos usan el mismo
   .em-step-card (sin spine lateral): card/header/badge parejos. */
.page-entrega-muestras .em-step-group {
  margin: var(--space-3) 0;
  padding: var(--space-3) var(--space-3) 0;
}

.page-entrega-muestras .em-step-group__title {
  margin: 0;
  color: var(--kf-muted);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.page-entrega-muestras .em-step-group__lead {
  margin: 4px 0 0;
  color: var(--kf-muted);
  font-size: clamp(0.9rem, 0.98vw, 0.96rem);
  line-height: 1.45;
}
/* === /entrega-muestras refactor: continuidad-divider === */

.page-entrega-muestras .em-criteria-grid {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.page-entrega-muestras .em-criteria-card {
  border: 1px solid transparent;
  border-radius: var(--kf-radius-md);
  padding: 12px;
}

.page-entrega-muestras .em-criteria-card h3 {
  margin: 0;
  color: var(--kf-primary-900);
  font-size: 1.06rem;
  line-height: 1.35;
  font-weight: 680;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.page-entrega-muestras .em-criteria-card .kf-list {
  margin-top: 10px;
  gap: 8px;
}

.page-entrega-muestras .em-criteria-card--accept {
  background: rgba(236, 247, 239, 0.78);
  border-color: rgba(25, 135, 84, 0.28);
}

.page-entrega-muestras .em-criteria-card--reject {
  background: rgba(255, 245, 238, 0.82);
  border-color: rgba(198, 87, 48, 0.3);
}

/* === entrega-muestras refactor: criteria-jerarquia === */
/* Encabezado de cada card (1.06rem/680, consolidado en la regla base
   .em-criteria-card h3) + color semántico al ícono ✓/✕. */
.page-entrega-muestras .em-criteria-card--accept h3 span[aria-hidden] {
  color: #198754;
}

.page-entrega-muestras .em-criteria-card--reject h3 span[aria-hidden] {
  color: #c65730;
}
/* === /entrega-muestras refactor: criteria-jerarquia === */

.page-entrega-muestras .em-incident-note {
  margin-top: 12px;
  border: 1px solid rgba(15, 95, 166, 0.2);
  border-radius: var(--kf-radius-md);
  background: var(--ppk-surface-accent);
  padding: 12px;
}

.page-entrega-muestras .em-incident-note h3 {
  margin: 0;
  color: var(--kf-primary-900);
  font-size: 1rem;
  line-height: 1.3;
  font-weight: 600;
}

.page-entrega-muestras .em-incident-note p {
  margin: 8px 0 0;
  color: var(--kf-text);
  line-height: 1.5;
}

.page-entrega-muestras .em-faq {
  margin-top: 0;
  display: grid;
  gap: 8px;
}

/* === entrega-muestras refactor: faq-cards === */
/* Cada item = card BLANCA sólida con sombra sutil que se despega del bg celeste
   (PUNTO 4), sin tocar el acordeón is-smooth ni el cero-sangrado (padding solo
   en .is-open; overflow:clip del item no afecta el grid 0fr/1fr del panel). */
.page-entrega-muestras .em-faq__item {
  border: 1px solid var(--kf-border);
  border-radius: var(--kf-radius-md);
  background: #fff;
  box-shadow: none;
  overflow: clip;
  transition:
    border-color 0.16s ease,
    box-shadow 0.16s ease,
    transform 0.16s ease;
}

.page-entrega-muestras .em-faq__item:has(.em-faq__trigger[aria-expanded="true"]) {
  border-color: rgba(15, 95, 166, 0.32);
  box-shadow: 0 12px 22px rgba(8, 38, 74, 0.12);
}

/* Ícono en badge circular de marca (mismo SVG help-circle en los 5 items). */
.page-entrega-muestras .em-faq__icon {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  border-radius: 999px;
  background: var(--kf-primary-100);
  color: var(--ppk-blue-700);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.page-entrega-muestras .em-faq__icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
/* === /entrega-muestras refactor: faq-cards === */

.page-entrega-muestras .em-faq__heading {
  margin: 0;
}

.page-entrega-muestras .em-faq__trigger {
  width: 100%;
  border: 0;
  background: transparent;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: flex-start;
  padding: 12px;
  color: var(--kf-primary-900);
  text-align: left;
  font: inherit;
  font-weight: 600;
  font-size: 1.03rem;
  line-height: 1.35;
}

/* El texto de la pregunta crece y empuja el chevron al extremo derecho;
   el ícono de ayuda queda a la izquierda. */
.page-entrega-muestras .em-faq__trigger > span:not(.em-faq__icon):not(.em-accordion__chevron) {
  flex: 1 1 auto;
}

.page-entrega-muestras .em-faq__trigger .em-accordion__chevron {
  margin-left: auto;
}

.page-entrega-muestras .em-faq__trigger:hover {
  background-color: rgba(15, 95, 166, 0.04);
}

.page-entrega-muestras .em-faq__trigger:focus-visible {
  outline: 2px solid rgba(15, 95, 166, 0.42);
  outline-offset: -2px;
}

.page-entrega-muestras .em-faq__trigger[aria-expanded="true"] .em-accordion__chevron {
  transform: rotate(180deg);
  border-color: rgba(15, 95, 166, 0.36);
  background: var(--kf-primary-100);
}

.page-entrega-muestras .em-faq__panel p {
  margin: 0;
  line-height: 1.5;
  color: var(--kf-text);
}

@media (max-width: 980px) {
  .page-entrega-muestras .em-meta-grid {
    grid-template-columns: 1fr;
  }

  .page-entrega-muestras .em-page-heading__meta {
    padding: 14px 14px 16px;
  }
}

@media (max-width: 900px) {
  .page-entrega-muestras .em-checklist-grid,
  .page-entrega-muestras .em-criteria-grid,
  .page-entrega-muestras .kf-actions--quick {
    grid-template-columns: 1fr;
  }

  .page-entrega-muestras .kf-section-head {
    flex-direction: column;
    align-items: stretch;
  }

  .page-entrega-muestras .kf-section-head__actions {
    width: 100%;
    margin-left: 0;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  /* En tablet los gemelos ocupan el ancho completo y crecen parejos, para que la
     presencia sea intencional (en vez de quedar cortos a la izquierda). */
  .page-entrega-muestras .em-accordion-controls {
    width: 100%;
    justify-content: flex-end;
  }

  .page-entrega-muestras .em-control-btn {
    flex: 1;
    min-width: 0;
  }
}

@media (max-width: 720px) {
  .page-entrega-muestras .em-topbar__title {
    font-size: clamp(1.2rem, 4.8vw, 1.52rem);
  }

  .page-entrega-muestras .em-page-heading__bar {
    padding: 2px 0;
    justify-items: center;
  }

  .page-entrega-muestras .em-page-heading__title {
    font-size: clamp(1.62rem, 6vw, 2.05rem);
  }

  .page-entrega-muestras .em-page-heading__subtitle {
    margin-top: 10px;
    font-size: clamp(1rem, 4.4vw, 1.08rem);
    max-width: 100%;
  }

  .page-entrega-muestras .em-meta-item {
    padding: 12px 13px;
  }

  .page-entrega-muestras .em-accordion__trigger {
    align-items: flex-start;
    flex-direction: column;
  }

  .page-entrega-muestras .em-accordion__chevron {
    margin-left: 0;
  }

  .page-entrega-muestras .em-accordion-controls {
    width: 100%;
  }

  .page-entrega-muestras .em-control-btn {
    flex: 1;
    min-width: 0;
    justify-content: center;
  }
}

/* === entrega-muestras refactor: hero-liberado-shell-override === */
/* Los shells compartidos (site-mobile-shell.css @max-1024 y
   site-desktop-shell.css @min-1025) recardan el hero: el mobile pinta
   .em-page-heading__bar como caja con gradiente/sombra, y el desktop pinta el
   wrapper .em-page-heading como panel. Estos shells cargan DESPUÉS de este
   archivo, así que se neutralizan page-scoped con +1 de especificidad
   (0,3,1 vs 0,2,1), sin tocar los compartidos. Resultado: título suelto + una
   ficha meta liviana en todos los breakpoints. */
@media (max-width: 1024px) {
  body.page-entrega-muestras .em-page-heading .em-page-heading__bar {
    padding: 4px 0 2px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    justify-items: center;
    text-align: center;
  }

  body.page-entrega-muestras .em-page-heading .em-page-heading__meta {
    border: 1px solid var(--ppk-border-card);
    border-radius: var(--kf-radius-md);
    background: var(--ppk-surface-card);
    box-shadow: none;
  }

  /* Tablet/mobile: el subtítulo conserva el centrado de bloque (margin auto)
     aunque el shell lo deje block. (0,3,1) > shells. */
  body.page-entrega-muestras .em-page-heading .em-page-heading__subtitle {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 1025px) {
  body.page-entrega-muestras .em-page-heading.kf-section {
    margin-top: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  /* CORRECCIÓN #2 (QA): site-desktop-shell.css @min-1025 impone
     .em-page-heading__bar{display:block} y .em-page-heading__subtitle
     {margin:12px 0 0}, anulando el centrado del hero. Se re-centra
     page-scoped con (0,3,1) > (0,2,1) del shell, sin tocar el compartido. */
  body.page-entrega-muestras .em-page-heading .em-page-heading__bar {
    display: grid;
    justify-items: center;
    text-align: center;
  }

  body.page-entrega-muestras .em-page-heading .em-page-heading__subtitle {
    margin-left: auto;
    margin-right: auto;
  }

  /* PUNTO 6 (familia de cards): el shell @min-1025 sube el radio del meta a
     24px y el margin a 24px, rompiendo la consistencia con las cards (14px).
     Se unifica al --kf-radius-md de las cards y se baja el hueco hero->ficha. */
  body.page-entrega-muestras .em-page-heading .em-page-heading__meta {
    margin-top: var(--space-4);
    border: 1px solid var(--ppk-border-card);
    border-radius: var(--kf-radius-md);
    background: var(--ppk-surface-card);
    box-shadow: none;
  }
}
/* === /entrega-muestras refactor: hero-liberado-shell-override === */

/* === entrega-muestras refactor: nav-pie-centrado === */
/* PUNTO 5: el pie tiene un solo botón ("Volver al portal"); se centra el
   contenedor de forma page-scoped (blinda el centrado independiente del flex
   base que herede de kit-fit.css). */
.page-entrega-muestras .kf-section--actions .kf-actions {
  display: flex;
  justify-content: center;
}
/* === /entrega-muestras refactor: nav-pie-centrado === */

/* === entrega-muestras refactor: footer-fino === */
/* PUNTO 6: footer más fino SOLO page-scoped (no se toca styles.css). body.*
   da especificidad (0,2,1) > (0,1,0) del base; este archivo carga después. */
body.page-entrega-muestras .site-footer {
  padding: 10px 0 11px;
  border-bottom-width: 1px;
  box-shadow: 0 -1px 0 rgba(15, 95, 166, 0.1);
  background: #f2f7ff;
}

body.page-entrega-muestras .site-footer::before,
body.page-entrega-muestras .site-footer::after {
  display: none;
}

body.page-entrega-muestras .footer-meta {
  font-size: 0.78rem;
  letter-spacing: 0.015em;
  color: rgba(71, 85, 105, 0.82);
}

/* En desktop, site-desktop-shell.css (@min-1025) recarga
   body.page-internal .site-footer con padding 28/34px + gradiente. Se neutraliza
   page-scoped con +1 de especificidad (0,3,1) dentro del mismo breakpoint, sin
   tocar el shell. */
@media (min-width: 1025px) {
  body.page-entrega-muestras.page-internal .site-footer {
    margin-top: clamp(20px, 2vw, 28px);
    padding-block: 10px 11px;
    background: #f2f7ff;
    border-top: 1px solid rgba(15, 95, 166, 0.12);
  }
}
/* === /entrega-muestras refactor: footer-fino === */
