/* =====================================================================
   RESPONSIVE — EMPRESAS ESTACIONAMIENTO (.enterprise-parking-page, ep-)
   ---------------------------------------------------------------------
   Móvil:  < 768px · Tablet: 768px – 1199.98px · Desktop (≥1200px) intacto.

   Scope: .rsp .enterprise-parking-page → no colisiona con otras páginas.
   Excepción: .ep-fab y .ep-modal viven PORTALEADOS en <body> (fuera del
   wrapper .rsp) para escapar del transform del lienzo; sus clases son
   exclusivas de esta página, así que se seleccionan sin .rsp pero
   siempre dentro de media queries (desktop intacto).

   Principio: ADAPTAR, no redimensionar — del lienzo absoluto de 1440px
   a flujo normal (flex columna) manteniendo colores, gradientes,
   tipografías (Outfit), imágenes y el orden del DOM.
   ===================================================================== */

/* ═══════════════════════════════════════════════════════════
   BASE COMPARTIDA (móvil + tablet): absolutos → flujo
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 1199.98px) {

  /* ── Lienzo: columna en flujo normal ── */
  .rsp .enterprise-parking-page {
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    background: #ffffff;
  }

  /* ── Decorativos anclados al lienzo 1440px → ocultos ──
     · ep-vector-top / ep-vector-5 / ep-vector-6: vectores gigantes
       (1544–2771px) con offsets negativos, no re-anclan en flujo.
     · ep-white-band: banda blanca auxiliar (el flujo ya es blanco).
     · ep-service-card: tarjeta gradiente vacía que decora el borde
       inferior del dashboard en el lienzo fijo.
     · ep-taquillas-bg: franja parallax (background-attachment: fixed,
       roto en iOS); su foto se conserva detrás del kiosko (ver abajo)
       y la banda navy se pinta sobre los elementos de la sección. */
  .rsp .enterprise-parking-page .ep-vector-top,
  .rsp .enterprise-parking-page .ep-vector-5,
  .rsp .enterprise-parking-page .ep-vector-6,
  .rsp .enterprise-parking-page .ep-white-band,
  .rsp .enterprise-parking-page .ep-service-card,
  .rsp .enterprise-parking-page .ep-taquillas-bg {
    display: none;
  }

  /* ════════ SECCIÓN 1: HERO — FINANCIAMIENTO ════════ */

  /* Fondo gradiente del hero: absoluto a ancho completo, altura fija
     por breakpoint (el contenido fluye encima) */
  .rsp .enterprise-parking-page .ep-hero-bg {
    left: 0;
    top: 0;
    width: 100%;
    pointer-events: none;
  }

  .rsp .enterprise-parking-page .ep-hero-eyebrow {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    align-self: center;
    text-align: center;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-title {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    z-index: 3;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-cta {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    align-self: center;
    min-height: 52px; /* área táctil */
  }

  /* El hover desktop re-aplica translateX(-50%): en flujo ya no hay
     centrado por transform */
  .rsp .enterprise-parking-page .ep-hero-fin-cta:hover {
    transform: translateY(-2px);
  }

  .rsp .enterprise-parking-page .ep-hero-fin-bullets {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    align-self: center;
  }

  /* ════════ SECCIÓN 2: SISTEMA ADMINISTRATIVO ════════ */
  .rsp .enterprise-parking-page .ep-admin-title,
  .rsp .enterprise-parking-page .ep-admin-desc {
    position: relative;
    left: auto;
    top: auto;
    transform: none; /* conserva el fade por opacity del observer */
    width: auto;
    align-self: center;
  }

  .rsp .enterprise-parking-page .ep-dashboard-img {
    position: relative;
    left: auto;
    top: auto;
    height: auto;
    aspect-ratio: 816 / 528; /* misma proporción que el lienzo */
    align-self: center;
  }

  /* ════════ SECCIÓN 3: PORTAL DE ADMINISTRADOR ════════ */
  .rsp .enterprise-parking-page .ep-pill {
    position: relative;
    left: auto;
    top: auto;
    align-self: flex-start;
  }

  .rsp .enterprise-parking-page .ep-portal-title {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
  }

  .rsp .enterprise-parking-page .ep-steps-list {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    max-width: 640px;
  }
  /* Los .ep-step-item ya superan 44px táctiles (padding 14/16 + texto) */

  /* Slider: las 5 cards pasan de pila absoluta a pila en grid
     (todas en la misma celda) para que el alto sea automático
     y el crossfade JS siga funcionando */
  .rsp .enterprise-parking-page .ep-slider {
    position: relative;
    left: auto;
    top: auto;
    height: auto;
    display: grid;
  }

  .rsp .enterprise-parking-page .ep-slider .ep-step-card {
    position: relative;
    inset: auto;
    grid-area: 1 / 1;
    width: 100%;
    height: auto;
  }

  .rsp .enterprise-parking-page .ep-step-card-text {
    width: 100%;
  }

  .rsp .enterprise-parking-page .ep-step-card-img {
    height: auto;
    aspect-ratio: 744 / 480; /* proporción interna de la card desktop */
  }

  /* ════════ SECCIÓN 4: MÓDULOS BLE ════════ */
  .rsp .enterprise-parking-page .ep-ble-title,
  .rsp .enterprise-parking-page .ep-ble-desc {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    align-self: center;
  }

  /* Imagen de producto: centrada a ancho de contenido */
  .rsp .enterprise-parking-page .ep-ble-module {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    height: auto;
    align-self: center;
  }

  .rsp .enterprise-parking-page .ep-ble-module img {
    height: auto;
    aspect-ratio: 1 / 1;
  }

  /* ════════ SECCIÓN 5: PROCESO (3 tarjetas) ════════ */
  .rsp .enterprise-parking-page .ep-process-cards {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    height: auto;
  }

  .rsp .enterprise-parking-page .ep-process-card {
    width: auto;
    height: auto;
  }

  /* ════════ SECCIÓN 6: COMUNIDAD (700k usuarios) ════════ */
  .rsp .enterprise-parking-page .ep-stats-label,
  .rsp .enterprise-parking-page .ep-stats-number,
  .rsp .enterprise-parking-page .ep-stats-unit {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    align-self: center;
    text-align: center;
  }

  /* ════════ SECCIÓN 7: TAQUILLAS DE AUTOGESTIÓN ════════
     La franja parallax se reconstruye como banda navy continua
     (margins 0 + paddings) sobre título, descripción y features;
     la foto del estacionamiento se conserva detrás del kiosko. */
  .rsp .enterprise-parking-page .ep-taquillas-title,
  .rsp .enterprise-parking-page .ep-taquillas-desc {
    position: relative;
    left: auto;
    top: auto;
    transform: none; /* fade por opacity intacto */
    width: auto;
    margin: 0;
    background: #040a28;
  }

  .rsp .enterprise-parking-page .ep-taquillas-features {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 0;
    background: #040a28;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    margin: 0;
    display: flex;
    justify-content: center;
    /* Foto original de la franja + overlay que funde con la banda navy.
       margin-top -1px: elimina la microlínea de separación con la banda. */
    margin-top: -1px;
    background:
      linear-gradient(180deg, #040a28 0%, rgba(4, 10, 40, 0.25) 42%, rgba(4, 10, 40, 0.35) 100%),
      url(../assets/empresas-estacionamiento/ep-taquillas-bg.jpg) center / cover no-repeat;
    background-color: #040a28;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img picture,
  .rsp .enterprise-parking-page .ep-kiosko-img img {
    width: min(320px, 72vw);
    height: auto;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img picture {
    position: relative;
    z-index: 1;
  }

  /* ════════ SECCIÓN 8: PUNTOS DE VENTA ════════ */
  .rsp .enterprise-parking-page .ep-pos-img {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1584 / 1042;
    align-self: center;
  }

  .rsp .enterprise-parking-page .ep-pos-title,
  .rsp .enterprise-parking-page .ep-pos-subtitle {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    text-align: center;
  }

  .rsp .enterprise-parking-page .ep-pos-desc,
  .rsp .enterprise-parking-page .ep-pos-disclaimer {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
  }

  .rsp .enterprise-parking-page .ep-pos-bullets {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
  }

  /* ════════ SECCIÓN 9: BENEFICIOS (grid) ════════ */
  .rsp .enterprise-parking-page .ep-benefits-title {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    align-self: center;
    text-align: center;
  }

  .rsp .enterprise-parking-page .ep-benefits-grid {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
  }

  .rsp .enterprise-parking-page .ep-benefit-card,
  .rsp .enterprise-parking-page .ep-benefit-card.ep-benefit-tall {
    height: auto;
    min-height: 0;
  }

  /* ════════ SECCIÓN 10: CÁMARAS / ANPR ════════ */
  .rsp .enterprise-parking-page .ep-cam-title,
  .rsp .enterprise-parking-page .ep-cam-anpr {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    text-align: center;
  }

  .rsp .enterprise-parking-page .ep-cam-img {
    position: relative;
    left: auto;
    top: auto;
    height: auto;
    aspect-ratio: 300 / 218;
    align-self: center;
  }

  .rsp .enterprise-parking-page .ep-cam-desc {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
    align-self: center;
    text-align: center;
  }

  /* ════════ SECCIÓN 11: MEMBRESÍAS (bottom) ════════
     La tarjeta gradiente vacía del lienzo desktop se OCULTA (quedaba
     descolocada como rectángulo azul bajo la cámara); su gradiente
     vive ahora en el título como tarjeta contenedora del texto. */
  .rsp .enterprise-parking-page .ep-bottom-card {
    display: none;
  }

  .rsp .enterprise-parking-page .ep-bottom-title {
    position: relative;
    left: auto;
    top: auto;
    align-self: center;
    background: radial-gradient(circle at 50% 0%, rgba(18, 48, 132, 1) 13%, rgba(5, 11, 38, 1) 100%);
  }

  .rsp .enterprise-parking-page .ep-bottom-img {
    position: relative;
    left: auto;
    top: auto;
    height: auto;
    aspect-ratio: 941 / 480;
    transform: none; /* fade por opacity intacto (anula el slide X) */
    align-self: center;
  }

  .rsp .enterprise-parking-page .ep-bottom-benefits-title {
    position: relative;
    left: auto;
    top: auto;
    width: auto;
  }

  .rsp .enterprise-parking-page .ep-bottom-bullets {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    width: auto;
  }

  /* ════════ SECCIÓN 12: CTA FINAL ════════ */
  .rsp .enterprise-parking-page .ep-cta-band {
    position: relative;
    left: auto;
    top: auto;
    align-self: center;
  }

  /* ════════ FOOTER ════════ (layout interno en core.css) */
  .rsp .enterprise-parking-page #global-footer {
    width: 100%;
  }

  /* ════════ FAB + MODAL (portaleados a <body>, fuera de .rsp) ════════ */
  .ep-modal-dialog {
    max-height: calc(100dvh - 32px);
  }

  .ep-finance-form {
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ep-modal-close {
    width: 44px;  /* área táctil */
    height: 44px;
  }

  .ep-field input {
    min-height: 48px;
    font-size: 16px; /* evita el zoom automático de iOS */
  }

  .ep-finance-cta {
    min-height: 52px;
  }
}

/* ═══════════════════════════════════════════════════════════
   MÓVIL  (< 768px)
   ═══════════════════════════════════════════════════════════ */
@media (max-width: 767.98px) {

  /* ── HERO ── (homologado al patrón de Servicios; el patrón pide
     555px pero este hero lleva eyebrow + título + CTA + 3 bullets en
     columna y no caben: se usa el máximo permitido de 600px para que
     el gradiente siga cubriendo los bullets) */
  .rsp .enterprise-parking-page .ep-hero-bg {
    height: 600px;
  }

  .rsp .enterprise-parking-page .ep-hero-eyebrow {
    margin: 128px 24px 0;
    font-size: 12px;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-title {
    margin: 14px auto 0;
    /* max-width estabiliza el nº de líneas → el fondo de 660px
       siempre cubre los bullets */
    max-width: min(420px, calc(100% - 48px));
    font-size: clamp(30px, 8.6vw, 40px);
    line-height: 1.1;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-cta {
    margin: 26px 24px 0;
    padding: 15px 26px;
    font-size: 16px;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-bullets {
    margin: 28px 24px 0;
    flex-direction: column;
    gap: 14px;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-bullet {
    font-size: clamp(14px, 4vw, 16px);
  }

  /* ── SISTEMA ADMINISTRATIVO ── */
  .rsp .enterprise-parking-page .ep-admin-title {
    margin: 110px 24px 0;
    font-size: 8.6vw;
    line-height: 1.12;
  }

  .rsp .enterprise-parking-page .ep-admin-desc {
    margin: 16px 24px 0;
    max-width: 560px;
    font-size: clamp(17px, 4.8vw, 19px);
    line-height: 1.45;
  }

  .rsp .enterprise-parking-page .ep-dashboard-img {
    width: calc(100% - 48px);
    margin: 36px auto 0;
    border-radius: 18px;
  }

  /* ── PORTAL DE ADMINISTRADOR ── */
  .rsp .enterprise-parking-page .ep-pill {
    margin: 72px 24px 0;
    padding: 13px 22px;
  }

  .rsp .enterprise-parking-page .ep-pill span {
    font-size: clamp(17px, 4.5vw, 19px);
    line-height: 1.3;
  }

  .rsp .enterprise-parking-page .ep-portal-title {
    margin: 18px 24px 0;
    max-width: 480px;
    font-size: clamp(22px, 6vw, 28px);
  }

  .rsp .enterprise-parking-page .ep-steps-list {
    margin: 26px 24px 0;
  }

  .rsp .enterprise-parking-page .ep-slider {
    width: calc(100% - 48px);
    margin: 26px auto 0;
    border-radius: 28px;
  }

  .rsp .enterprise-parking-page .ep-slider .ep-step-card {
    padding: 20px;
    border-radius: 28px;
    gap: 14px;
  }

  .rsp .enterprise-parking-page .ep-step-card-text {
    font-size: clamp(17px, 4.6vw, 19px);
    line-height: 1.35;
  }

  .rsp .enterprise-parking-page .ep-step-card-img {
    border-radius: 20px;
  }

  /* ── MÓDULOS BLE ── */
  .rsp .enterprise-parking-page .ep-ble-title {
    margin: 88px 24px 0;
    font-size: clamp(38px, 11vw, 52px);
  }

  .rsp .enterprise-parking-page .ep-ble-desc {
    margin: 16px 24px 0;
    max-width: 560px;
    font-size: clamp(17px, 4.8vw, 19px);
    line-height: 1.45;
  }

  /* Imagen de producto centrada (~340px máx en móvil) */
  .rsp .enterprise-parking-page .ep-ble-module {
    width: min(340px, 78vw);
    margin-top: 24px;
  }

  /* ── PROCESO ── */
  .rsp .enterprise-parking-page .ep-process-cards {
    margin: 48px 24px 0;
    flex-direction: column;
    gap: 16px;
  }

  .rsp .enterprise-parking-page .ep-process-card {
    padding: 28px 26px;
    border-radius: 24px;
    gap: 14px;
  }

  .rsp .enterprise-parking-page .ep-process-num {
    font-size: clamp(40px, 11vw, 48px);
  }

  .rsp .enterprise-parking-page .ep-process-text {
    font-size: clamp(17px, 4.8vw, 20px);
    line-height: 1.35;
  }

  /* ── COMUNIDAD ── */
  .rsp .enterprise-parking-page .ep-stats-label {
    margin: 80px 24px 0;
    max-width: 480px;
    font-size: clamp(22px, 6.4vw, 28px);
  }

  .rsp .enterprise-parking-page .ep-stats-number {
    margin: 4px 24px 0;
    font-size: clamp(72px, 22vw, 104px);
  }

  .rsp .enterprise-parking-page .ep-stats-unit {
    margin: 0 24px 0;
    font-size: clamp(20px, 5.6vw, 26px);
  }

  /* ── TAQUILLAS (banda navy continua) ── */
  .rsp .enterprise-parking-page .ep-taquillas-title {
    margin-top: 88px; /* aire blanco antes de la banda */
    padding: 64px 24px 0;
    font-size: clamp(32px, 9vw, 42px);
    line-height: 1.1;
  }

  .rsp .enterprise-parking-page .ep-taquillas-desc {
    padding: 18px 24px 0;
    font-size: clamp(16px, 4.5vw, 18px);
  }

  .rsp .enterprise-parking-page .ep-taquillas-features {
    padding: 36px 24px 44px;
    gap: 22px;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img {
    padding: 36px 24px 0;
  }

  /* ── PUNTOS DE VENTA ── */
  .rsp .enterprise-parking-page .ep-pos-img {
    width: 100%;
    margin-top: 72px;
  }

  .rsp .enterprise-parking-page .ep-pos-title {
    margin: 24px 24px 0;
    font-size: clamp(40px, 11vw, 52px);
  }

  .rsp .enterprise-parking-page .ep-pos-subtitle {
    margin: 0 24px 0;
    font-size: clamp(40px, 11vw, 52px);
  }

  .rsp .enterprise-parking-page .ep-pos-desc {
    margin: 20px 24px 0;
    font-size: clamp(17px, 4.8vw, 19px);
    line-height: 1.4;
  }

  .rsp .enterprise-parking-page .ep-pos-bullets {
    margin: 26px 24px 0;
    gap: 18px;
  }

  .rsp .enterprise-parking-page .ep-pos-bullet {
    gap: 16px;
  }

  .rsp .enterprise-parking-page .ep-pos-bullet img {
    width: 32px;
    height: 32px;
  }

  .rsp .enterprise-parking-page .ep-pos-bullet span {
    font-size: clamp(16px, 4.5vw, 18px);
  }

  .rsp .enterprise-parking-page .ep-pos-disclaimer {
    margin: 22px 24px 0;
    font-size: 13px;
  }

  /* ── BENEFICIOS ── */
  .rsp .enterprise-parking-page .ep-benefits-title {
    margin: 72px 24px 0;
    font-size: clamp(22px, 6vw, 26px);
  }

  .rsp .enterprise-parking-page .ep-benefits-grid {
    margin: 24px 24px 0;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .rsp .enterprise-parking-page .ep-benefit-card {
    padding: 26px 26px;
  }

  /* Esquinas redondeadas re-mapeadas a 1 columna (extremos del grid) */
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(1) { border-radius: 40px 40px 0 0; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(3),
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(4) { border-radius: 0; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(6) { border-radius: 0 0 40px 40px; }

  .rsp .enterprise-parking-page .ep-benefit-num {
    font-size: clamp(40px, 11vw, 48px);
  }

  .rsp .enterprise-parking-page .ep-benefit-text {
    font-size: clamp(16px, 4.5vw, 18px);
    line-height: 1.35;
  }

  /* ── CÁMARAS / ANPR ── */
  .rsp .enterprise-parking-page .ep-cam-title {
    margin: 88px 24px 0;
    font-size: clamp(36px, 10vw, 46px);
    line-height: 1.05;
  }

  .rsp .enterprise-parking-page .ep-cam-anpr {
    margin: 2px 24px 0;
    font-size: clamp(48px, 14vw, 62px);
    line-height: 1;
  }

  .rsp .enterprise-parking-page .ep-cam-img {
    width: min(300px, 72vw);
    margin-top: 28px;
  }

  .rsp .enterprise-parking-page .ep-cam-desc {
    margin: 24px 24px 0;
    max-width: 480px;
    font-size: clamp(17px, 4.8vw, 19px);
    line-height: 1.4;
  }

  /* ── MEMBRESÍAS ── */
  .rsp .enterprise-parking-page .ep-bottom-title {
    width: calc(100% - 48px);
    margin: 72px auto 0;
    padding: 32px 28px;
    border-radius: 28px;
    box-sizing: border-box;
    font-size: clamp(24px, 6.6vw, 30px);
    line-height: 1.15;
  }

  /* Cámara pegada a la derecha, con la parte trasera cortada
     fuera del viewport (intencional) */
  .rsp .enterprise-parking-page .ep-bottom-img {
    width: 118%;
    max-width: 520px;
    align-self: flex-end;
    margin-top: 24px;
    margin-right: -22%;
  }

  .rsp .enterprise-parking-page .ep-bottom-benefits-title {
    margin: 40px 24px 0;
    font-size: clamp(22px, 6vw, 26px);
  }

  .rsp .enterprise-parking-page .ep-bottom-bullets {
    margin: 20px 24px 0;
    gap: 18px;
  }

  .rsp .enterprise-parking-page .ep-bottom-bullet {
    gap: 16px;
  }

  .rsp .enterprise-parking-page .ep-bottom-bullet img {
    width: 32px;
    height: 32px;
  }

  .rsp .enterprise-parking-page .ep-bottom-bullet span {
    font-size: clamp(16px, 4.5vw, 18px);
  }

  /* ── CTA FINAL ── */
  .rsp .enterprise-parking-page .ep-cta-band {
    width: calc(100% - 32px);
    margin: 72px auto 64px;
    padding: 40px 24px;
    border-radius: 28px;
  }

  .rsp .enterprise-parking-page .ep-cta-band-title {
    font-size: clamp(26px, 7.4vw, 32px);
  }

  .rsp .enterprise-parking-page .ep-cta-band-desc {
    font-size: clamp(16px, 4.5vw, 18px);
  }

  /* Botón full-width en móvil */
  .rsp .enterprise-parking-page .ep-cta-band-btn {
    display: flex;
    width: 100%;
    justify-content: center;
    min-height: 52px;
    font-size: 16px;
  }

  /* ── FAB + MODAL (portaleados a <body>) ── */
  .ep-fab {
    right: 16px;
    bottom: 16px;
    height: 56px;
    padding: 0 20px;
    gap: 8px;
    font-size: 16px;
  }

  .ep-fab svg {
    width: 18px;
    height: 18px;
  }

  .ep-modal {
    padding: 16px;
  }

  .ep-finance-form {
    padding: 30px 22px 24px;
    border-radius: 22px;
  }

  /* Los dos campos numéricos caben en fila; en pantallas muy angostas
     hacen wrap manteniendo mínimos cómodos */
  .ep-field-row {
    flex-wrap: wrap;
  }

  .ep-field-row .ep-field {
    min-width: 130px;
  }
}

/* ═══════════════════════════════════════════════════════════
   TABLET  (768px – 1199.98px)
   ═══════════════════════════════════════════════════════════ */
@media (min-width: 768px) and (max-width: 1199.98px) {

  /* ── HERO ── (homologado al patrón de Servicios: banner 640px,
     textos a 150px; se conservan CTA y bullets) */
  .rsp .enterprise-parking-page .ep-hero-bg {
    height: 640px;
  }

  .rsp .enterprise-parking-page .ep-hero-eyebrow {
    margin: 150px 48px 0;
    font-size: 13px;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-title {
    margin: 16px 48px 0;
    font-size: clamp(44px, 5.4vw, 54px);
    line-height: 1.06;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-cta {
    margin: 30px 48px 0;
  }

  .rsp .enterprise-parking-page .ep-hero-fin-bullets {
    margin: 32px 48px 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 30px;
  }

  /* ── SISTEMA ADMINISTRATIVO ── */
  .rsp .enterprise-parking-page .ep-admin-title {
    /* compensa el banner homologado 560px → 640px (+80px)
       y el eyebrow +10px */
    margin: 200px 48px 0;
    font-size: clamp(40px, 5.2vw, 50px);
    line-height: 1.1;
  }

  .rsp .enterprise-parking-page .ep-admin-desc {
    margin: 18px 48px 0;
    max-width: 600px;
    font-size: 20px;
    line-height: 1.4;
  }

  .rsp .enterprise-parking-page .ep-dashboard-img {
    width: min(816px, calc(100% - 96px));
    margin: 44px auto 0;
    border-radius: 26px;
  }

  /* ── PORTAL DE ADMINISTRADOR ── */
  .rsp .enterprise-parking-page .ep-pill {
    margin: 88px 48px 0;
  }

  .rsp .enterprise-parking-page .ep-portal-title {
    margin: 20px 48px 0;
    max-width: 560px;
    font-size: clamp(28px, 3.6vw, 32px);
  }

  .rsp .enterprise-parking-page .ep-steps-list {
    margin: 30px 48px 0;
    max-width: 560px;
  }

  .rsp .enterprise-parking-page .ep-slider {
    width: min(calc(100% - 96px), 804px);
    margin: 30px 48px 0;
  }

  .rsp .enterprise-parking-page .ep-slider .ep-step-card {
    padding: 26px;
  }

  /* ── MÓDULOS BLE ── */
  .rsp .enterprise-parking-page .ep-ble-title {
    margin: 104px 48px 0;
    font-size: clamp(48px, 6.4vw, 60px);
  }

  .rsp .enterprise-parking-page .ep-ble-desc {
    margin: 18px 48px 0;
    max-width: 580px;
    font-size: 20px;
    line-height: 1.4;
  }

  .rsp .enterprise-parking-page .ep-ble-module {
    width: 380px;
    margin-top: 28px;
  }

  /* ── PROCESO: fila de 3 como en desktop ── */
  .rsp .enterprise-parking-page .ep-process-cards {
    margin: 56px 48px 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }

  .rsp .enterprise-parking-page .ep-process-card {
    padding: 30px 26px;
    border-radius: 26px;
    gap: 16px;
  }

  .rsp .enterprise-parking-page .ep-process-num {
    font-size: 46px;
  }

  .rsp .enterprise-parking-page .ep-process-text {
    font-size: clamp(16px, 2.2vw, 20px);
    line-height: 1.32;
  }

  /* ── COMUNIDAD ── */
  .rsp .enterprise-parking-page .ep-stats-label {
    margin: 96px 48px 0;
    max-width: 582px;
    font-size: clamp(28px, 3.8vw, 34px);
  }

  .rsp .enterprise-parking-page .ep-stats-number {
    margin: 6px 48px 0;
    font-size: clamp(96px, 12vw, 120px);
  }

  .rsp .enterprise-parking-page .ep-stats-unit {
    margin: 0 48px 0;
    font-size: clamp(26px, 3.4vw, 34px);
  }

  /* ── TAQUILLAS (banda navy, features 2×2, kiosko sobre foto) ── */
  .rsp .enterprise-parking-page .ep-taquillas-title {
    margin-top: 104px;
    padding: 80px 48px 0;
    font-size: clamp(42px, 5.4vw, 52px);
    line-height: 1.08;
  }

  .rsp .enterprise-parking-page .ep-taquillas-desc {
    padding: 20px 48px 0;
    max-width: 720px;
    box-sizing: border-box;
    font-size: 18px;
  }

  .rsp .enterprise-parking-page .ep-taquillas-features {
    padding: 44px 48px 52px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 36px;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img {
    padding: 44px 48px 64px;
  }

  .rsp .enterprise-parking-page .ep-kiosko-img picture,
  .rsp .enterprise-parking-page .ep-kiosko-img img {
    width: min(360px, 42vw);
  }

  /* ── PUNTOS DE VENTA ── */
  .rsp .enterprise-parking-page .ep-pos-img {
    width: 100%;
    margin-top: 88px;
  }

  .rsp .enterprise-parking-page .ep-pos-title {
    margin: 28px 48px 0;
    font-size: clamp(52px, 6.6vw, 64px);
  }

  .rsp .enterprise-parking-page .ep-pos-subtitle {
    margin: 0 48px 0;
    font-size: clamp(52px, 6.6vw, 64px);
  }

  .rsp .enterprise-parking-page .ep-pos-desc {
    margin: 22px auto 0;
    width: min(600px, calc(100% - 96px));
    text-align: center;
    font-size: 20px;
    line-height: 1.4;
  }

  /* Bullets centrados bajo la descripción */
  .rsp .enterprise-parking-page .ep-pos-bullets {
    margin: 28px auto 0;
    width: min(480px, calc(100% - 96px));
    gap: 22px;
  }

  .rsp .enterprise-parking-page .ep-pos-disclaimer {
    margin: 24px auto 0;
    width: min(560px, calc(100% - 96px));
    text-align: center;
  }

  /* ── BENEFICIOS: 2 columnas ── */
  .rsp .enterprise-parking-page .ep-benefits-title {
    margin: 88px 48px 0;
    font-size: 28px;
  }

  .rsp .enterprise-parking-page .ep-benefits-grid {
    margin: 28px auto 0;
    width: min(820px, calc(100% - 96px));
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .rsp .enterprise-parking-page .ep-benefit-card {
    padding: 30px 32px;
    min-height: 200px;
  }

  /* Esquinas redondeadas re-mapeadas a 2 columnas */
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(1) { border-radius: 50px 0 0 0; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(2) { border-radius: 0 50px 0 0; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(3),
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(4) { border-radius: 0; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(5) { border-radius: 0 0 0 50px; }
  .rsp .enterprise-parking-page .ep-benefit-card:nth-child(6) { border-radius: 0 0 50px 0; }

  .rsp .enterprise-parking-page .ep-benefit-num {
    font-size: 48px;
  }

  .rsp .enterprise-parking-page .ep-benefit-text {
    font-size: 19px;
    line-height: 1.32;
  }

  /* ── CÁMARAS / ANPR ── */
  .rsp .enterprise-parking-page .ep-cam-title {
    margin: 104px 48px 0;
    font-size: clamp(48px, 6vw, 60px);
    line-height: 1.05;
  }

  .rsp .enterprise-parking-page .ep-cam-anpr {
    margin: 2px 48px 0;
    font-size: clamp(64px, 8vw, 80px);
    line-height: 1;
  }

  .rsp .enterprise-parking-page .ep-cam-img {
    width: 300px;
    margin-top: 32px;
  }

  .rsp .enterprise-parking-page .ep-cam-desc {
    margin: 26px 48px 0;
    max-width: 483px;
    font-size: 20px;
    line-height: 1.4;
  }

  /* ── MEMBRESÍAS ── */
  .rsp .enterprise-parking-page .ep-bottom-title {
    width: min(820px, calc(100% - 96px));
    margin: 88px auto 0;
    padding: 44px 48px;
    border-radius: 40px;
    box-sizing: border-box;
    text-align: center;
    font-size: clamp(30px, 4vw, 38px);
    line-height: 1.1;
  }

  /* Cámara a la derecha con el trasero cortado, como en móvil */
  .rsp .enterprise-parking-page .ep-bottom-img {
    width: min(640px, 82%);
    align-self: flex-end;
    margin-top: 28px;
    margin-right: -70px;
  }

  .rsp .enterprise-parking-page .ep-bottom-benefits-title {
    margin: 48px auto 0;
    width: min(560px, calc(100% - 96px));
    font-size: 28px;
  }

  .rsp .enterprise-parking-page .ep-bottom-bullets {
    margin: 22px auto 0;
    width: min(560px, calc(100% - 96px));
  }

  /* ── CTA FINAL ── */
  .rsp .enterprise-parking-page .ep-cta-band {
    width: min(900px, calc(100% - 96px));
    margin: 88px auto 80px;
    padding: 48px 48px;
  }

  .rsp .enterprise-parking-page .ep-cta-band-title {
    font-size: clamp(32px, 4.2vw, 40px);
  }

  /* ── FAB (portaleado a <body>) ── */
  .ep-fab {
    right: 20px;
    bottom: 20px;
    height: 60px;
    padding: 0 24px;
    font-size: 18px;
  }
}
