/* Mejoras de experiencia móvil. Todo va dentro de media queries de móvil/tablet:
   el escritorio (>= 992px) no se ve afectado. */
@media (max-width: 991.98px) {
  html { -webkit-text-size-adjust: 100%; scroll-padding-top: 84px; }
  [id] { scroll-margin-top: 84px; }
  :focus-visible { outline: 3px solid #0a4a9f; outline-offset: 2px; }
  img, video, iframe, svg { max-width: 100%; }
}

@media (max-width: 767.98px) {
  /* Lectura */
  .disc, .accordion-body, .timeline__blurb, .single-check span,
  .check-between-wrapper p, .international-client-left-wrapper p, .plan-list li {
    font-size: 16px; line-height: 1.6;
  }
  h1, h2, h3, h4 { overflow-wrap: break-word; hyphens: manual; }
  .container { padding-left: 16px; padding-right: 16px; }
  .row.g-5 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
  a[href^="mailto:"], a[href^="tel:"] { overflow-wrap: anywhere; }

  /* Objetivos táctiles de 44 px o más */
  .btn-transparent, .single-service-area a.btn-transparent {
    display: inline-flex; align-items: center; min-height: 44px; padding: 0 4px;
  }
  .rts-btn, .botones a, .bt { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
  .social-area-tranaparent a, .rts-social-style-one a, .rts-social-style-one li a {
    display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px;
  }
  .social-area-tranaparent ul, .rts-social-style-one { gap: 2px; flex-wrap: wrap; }
  .nav-bottom a, .footer-one-single-wized .bottom a, .bottom a, .inner-content a,
  .rts-find-application-area-inner a, .copyright-area-inner a {
    display: inline-flex; align-items: center; min-height: 44px;
  }
  .nav-bottom li, .bottom li { margin: 0; }
  .mobile-menu-link, .side-bar .mainmenu a { min-height: 48px; display: flex; align-items: center; }
  .side-bar .mainmenu .collapse-btn, .side-bar button.collapse-btn { min-width: 48px; min-height: 48px; }

  /* Formularios: 16 px evita el zoom automático de iOS */
  input, select, textarea { font-size: 16px !important; min-height: 48px; }
  .search-input input, .search-input select { width: 100%; }

  /* Elementos flotantes y zonas seguras */
  header.header-one, .header-one { padding-top: env(safe-area-inset-top); }
  .cardo { bottom: calc(12px + env(safe-area-inset-bottom)); }
  .progress-wrap { bottom: calc(14px + env(safe-area-inset-bottom)); }

  /* Ventanas emergentes */
  .overlay .card { max-height: 90vh; overflow-y: auto; }
  .overlay .btn-container .bt { min-height: 56px; }

  /* Tablas con scroll propio en lugar de ensanchar la página */
  table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media (max-width: 767.98px) {
  input[type="checkbox"], input[type="radio"] { min-height: 0; }
  .form-checkbox { font-size: 14px !important; min-height: 44px; gap: 12px !important; line-height: 1.4; }
  .form-checkbox input[type="checkbox"] { width: 24px !important; height: 24px !important; flex: none; }
  .form-group input, .form-group select { font-size: 16px !important; min-height: 52px; }
  .form-note { font-size: 13px !important; color: rgba(255, 255, 255, .88) !important; }
  .btn-submit, .btn-whatsapp { width: 100% !important; min-height: 52px; }
  .hero-text a, .steps-section a, .contact-whatsapp a, footer a,
  .nav-bread-crumb a, .single-wized .body a {
    display: inline-flex; align-items: center; min-height: 44px;
  }
}

/* Tablet: enlaces de pie de página y migas de pan más cómodos */
@media (min-width: 768px) and (max-width: 991.98px) {
  .nav-bottom a, .footer-one-single-wized .bottom a, .bottom a, .inner-content a,
  .nav-bread-crumb a, .single-wized .body a, .rts-social-style-one a, .social-area-tranaparent a {
    display: inline-flex; align-items: center; min-height: 44px;
  }
}

/* Cabecera: logo a la izquierda, menú a la derecha */
@media (max-width: 991.98px) {
  .header-one .header-wrapper-1 { justify-content: space-between !important; padding-left: 4px; padding-right: 4px; }
}

/* Barra inferior tipo app (solo móvil) */
#orlant-appbar { display: none; }
@media (max-width: 767.98px) {
  #orlant-appbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 998;
    background: #fff; border-top: 1px solid #dfe7f3; box-shadow: 0 -4px 16px rgba(10, 50, 120, .12);
    padding: 6px 4px calc(6px + env(safe-area-inset-bottom)); transition: transform .2s;
  }
  #orlant-appbar.oab-hide { transform: translateY(110%); }
  #orlant-appbar .oab-item {
    flex: 1; min-height: 52px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    background: none; border: 0; color: #4a5a72; font: 500 11.5px/1.1 Rubik, system-ui, sans-serif; text-decoration: none; cursor: pointer; border-radius: 12px;
  }
  #orlant-appbar .oab-item.on { color: #0a4a9f; font-weight: 600; }
  #orlant-appbar .oab-main .oab-ic { width: 52px; height: 52px; margin-top: -22px; border-radius: 50%; background: #b7cc1d; color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(110, 130, 0, .4); }
  #orlant-appbar .oab-main { color: #0a4a9f; font-weight: 600; }
  #orlant-appbar .oab-wa { color: #14804a; font-weight: 600; }
  body.has-appbar { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  body.has-appbar .cardo { display: none; } /* ya están en la barra inferior */
  body.has-appbar .progress-wrap { bottom: calc(86px + env(safe-area-inset-bottom)); }
}

/* Menú lateral: selector de idioma y redes */
@media (max-width: 991.98px) {
  .mobile-menu-main #mobile-menu-active > li:last-child { border-bottom: 0; margin-top: 18px; }
  .mobile-menu-main #mobile-menu-active > li:last-child > a.main {
    display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 20px 0 16px;
    border: 1.5px solid #b7cc1d; border-radius: 999px; background: #f7fae3; color: #0a4a9f; font-weight: 600;
  }
  .mobile-menu-main #mobile-menu-active > li:last-child > a.main::before {
    content: ""; width: 22px; height: 22px; flex: none;
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230a4a9f' stroke-width='1.8' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18'/%3E%3C/svg%3E");
  }
  .mobile-menu-main .rts-social-style-one { padding-left: 0 !important; margin-top: 28px !important; }
  .mobile-menu-main .rts-social-style-one ul {
    display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 260px; margin: 0; padding: 0; list-style: none;
  }
  .mobile-menu-main .rts-social-style-one ul li { margin: 0 !important; padding: 0 !important; }
  .mobile-menu-main .rts-social-style-one ul li a {
    display: flex !important; align-items: center; justify-content: center; width: 100%; aspect-ratio: 1; min-height: 48px;
    border-radius: 50%; background: #eef3fb; color: #0a4a9f; font-size: 18px;
  }
  .mobile-menu-main .rts-social-style-one ul li a:active { background: #b7cc1d; color: #fff; }
  .mobile-menu-main { padding-bottom: 96px; }
}

/* Pie de página móvil */
@media (max-width: 767.98px) {
  .copyright-area { padding: 22px 0 8px; }
  .copyright-area .subscribe-area-start { display: flex; flex-direction: row-reverse; align-items: center; justify-content: space-between; gap: 16px; text-align: right; }
  .copyright-area .subscribe-area-start .copyright-area-inner:first-child { flex: 1; font-size: 14px; line-height: 1.4; }
  .copyright-area .subscribe-area-start .copyright-area-inner:last-child { flex: none; text-align: left; }
  .copyright-area-inner p { margin: 0; }
  .copyright-area-inner img { max-width: 124px; height: auto; display: block; }
  .progress-wrap { left: auto !important; right: 16px !important; bottom: calc(86px + env(safe-area-inset-bottom)) !important; }
}

/* Con el menú lateral abierto, se oculta la flecha de subir */
body.menu-open .progress-wrap { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }

/* Carrusel principal: flechas integradas dentro del banner (móvil) */
@media (max-width: 767.98px) {
  .rts-banner-area-two .banner-wrapper-bg {
    min-height: 500px; display: flex; align-items: center; padding-top: 96px !important; padding-bottom: 88px !important;
  }
  .rts-banner-area-two .banner-wrapper-bg > .container { width: 100%; }
  .rts-banner-area-two .swiper-slide { height: auto; }
  .rts-banner-area-two .swiper-button-next,
  .rts-banner-area-two .swiper-button-prev {
    top: auto !important; bottom: 20px !important; margin: 0 !important; width: 48px !important; height: 48px !important;
    background: rgba(255, 255, 255, .88); border-color: #b7cc1d; z-index: 20;
    box-shadow: 0 3px 10px rgba(10, 50, 120, .15); backdrop-filter: blur(4px);
  }
  .rts-banner-area-two .swiper-button-next { right: 16px !important; left: auto !important; }
  .rts-banner-area-two .swiper-button-prev { right: 72px !important; left: auto !important; }
}

/* Banners principales en computador (>= 992 px): jerarquía más clara y flechas integradas */
@media (min-width: 992px) {
  .rts-banner-area-two .banner-content-area h5.float-bottom {
    font-size: clamp(34px, 3.3vw, 46px); line-height: 1.12; margin-bottom: 14px !important; text-wrap: balance;
  }
  .rts-banner-area-two .banner-content-area h5.float-bottom br { display: none; }
  .rts-banner-area-two .banner-content-area p.disc {
    font-size: 19px; line-height: 1.65; max-width: 560px; margin-bottom: 24px;
  }
  .rts-banner-area-two .banner-content-area .rts-btn {
    min-height: 56px; padding: 0 32px; font-size: 17px; font-weight: 500;
  }
  .rts-banner-area-two .banner-content-area .rts-btn.bg-transparent {
    color: #013a79; border: 2px solid #b7cc1d;
  }
  .rts-banner-area-two .swiper-button-next,
  .rts-banner-area-two .swiper-button-prev {
    width: 56px; height: 56px; background: rgba(255, 255, 255, .85); border-color: #b7cc1d;
    box-shadow: 0 4px 14px rgba(10, 50, 120, .15); backdrop-filter: blur(4px); transition: background .2s, box-shadow .2s;
  }
  .rts-banner-area-two .swiper-button-next:hover,
  .rts-banner-area-two .swiper-button-prev:hover { background: #fff; box-shadow: 0 6px 18px rgba(10, 50, 120, .25); }
  .rts-banner-area-two .swiper-button-prev { left: 32px; }
  .rts-banner-area-two .swiper-button-next { right: 112px; } /* deja libre la columna de redes flotantes */
}

/* Menú principal en computador: opciones separadas por líneas finas y más aire */
@media (min-width: 1360px) {
  .header-one div.nav-area > ul > li { padding-left: 7px; padding-right: 7px; }
  .header-one .header-right a { white-space: nowrap; font-size: 15px; padding-left: 16px; padding-right: 16px; }
  .header-one div.nav-area > ul > li + li {
    background: linear-gradient(#cfdaea, #cfdaea) left center / 1px 20px no-repeat;
  }
}

/* Barra superior de sedes (computador): separadores cortos, espaciado parejo e íconos uniformes */
@media (min-width: 992px) {
  .header-top { align-items: center; }
  .header-top .left, .header-top .right { display: flex; align-items: center; }
  .header-top .left { gap: 0; }
  .header-top .left { gap: 30px; }
  .header-top .left .map-area { margin: 0; padding: 0; display: flex; align-items: center; gap: 8px; border: 0; background: none; }
  .header-top .map-area a { white-space: nowrap; font-size: 14.5px; font-weight: 500; }
  .header-top .map-area i { font-size: 15px; }
  .header-top .right { gap: 22px; }
  .header-top .right .map-area {
    display: flex; align-items: center; gap: 8px; margin: 0; padding: 0 16px; height: 32px; border-radius: 999px;
    border: 1.5px solid rgba(255, 255, 255, .85); background: transparent; transition: background-color .25s ease, color .25s ease;
  }
  .header-top .right .map-area:hover { background: #fff; }
  .header-top .right .map-area:hover a, .header-top .right .map-area:hover i { color: #013a79; }
  .header-top .right .map-area a { font-size: 14px; }
  .header-top .social-area-tranaparent ul { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
  .header-top .social-area-tranaparent ul li { margin: 0; padding: 0; }
  .header-top .social-area-tranaparent ul li a {
    display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; transition: background-color .25s ease, transform .25s ease;
  }
  .header-top .social-area-tranaparent ul li a i, .header-top .social-area-tranaparent ul li a svg { font-size: 17px; width: 17px; height: 17px; }
  .header-top .social-area-tranaparent ul li a:hover { background: rgba(255, 255, 255, .25); transform: translateY(-1px); }
}

/* Botones del encabezado: nunca en dos líneas; el menú cede espacio de forma proporcional */
@media (min-width: 1200px) {
  .header-one .header-right a { white-space: nowrap; font-size: clamp(14px, 1.02vw, 16px); padding-left: clamp(12px, 1vw, 18px); padding-right: clamp(12px, 1vw, 18px); }
  .header-one div.nav-area > ul > li { padding-left: clamp(4px, .5vw, 9px); padding-right: clamp(4px, .5vw, 9px); }
}

/* Banners en móvil: sin imagen, solo texto sobre fondo celeste (más ligero y legible) */
@media (max-width: 767.98px) {
  .rts-banner-area-two { background: #dbe8fb; }
  .rts-banner-area-two .banner-wrapper-bg,
  .rts-banner-area-two .banner-wrapper-bg.bg-2-banner-2, .rts-banner-area-two .banner-wrapper-bg.bg-2-banner-3,
  .rts-banner-area-two .banner-wrapper-bg.bg-2-banner-4, .rts-banner-area-two .banner-wrapper-bg.navidad {
    background-image: linear-gradient(160deg, #e6f0fd 0%, #d4e4fb 100%) !important;
    display: flex !important; align-items: center; min-height: 400px !important; max-height: none !important;
    padding-top: 110px !important; padding-bottom: 96px !important;
  }
  .rts-banner-area-two .banner-content-area { max-width: 100%; }
  .rts-banner-area-two .banner-content-area h2, .rts-banner-area-two .banner-content-area h5 { font-size: clamp(30px, 8.6vw, 40px); line-height: 1.12; text-wrap: balance; }
  .rts-banner-area-two .banner-content-area h5 br { display: none; }
  .rts-banner-area-two .banner-content-area p.disc { font-size: 17px; line-height: 1.6; max-width: none; }
  .rts-banner-area-two .banner-content-area .botones, .rts-banner-area-two .banner-content-area .d-flex { flex-wrap: wrap; gap: 10px; }
}

/* Botón PQRSF de la barra superior: píldora blanca con texto azul (alto contraste) */
@media (min-width: 768px) {
  .header-top .right .map-area {
    display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 18px; margin: 0;
    background: #fff; border: 0; border-radius: 999px; box-shadow: 0 2px 8px rgba(1, 58, 121, .22);
    transition: transform .25s cubic-bezier(.22, .8, .24, 1), box-shadow .25s ease, background-color .25s ease;
  }
  .header-top .right .map-area a, .header-top .right .map-area i { color: #013a79 !important; font-weight: 600; font-size: 14px; white-space: nowrap; }
  .header-top .right .map-area i { font-size: 16px; }
  .header-top .right .map-area:hover { background: #013a79; transform: translateY(-1px); box-shadow: 0 6px 16px rgba(1, 58, 121, .3); }
  .header-top .right .map-area:hover a, .header-top .right .map-area:hover i { color: #fff !important; }
  .header-top .right .map-area:active { transform: scale(.97); }
}

/* PQRSF (barra superior): botón azul de marca con ícono en burbuja lima */
@media (min-width: 768px) {
  .header-top .right .map-area {
    background: linear-gradient(135deg, #0a4a9f 0%, #013a79 100%); height: 38px !important; padding: 0 22px 0 7px !important; gap: 10px !important; box-sizing: border-box; flex: none; width: auto !important;
    box-shadow: 0 4px 12px rgba(1, 58, 121, .35), inset 0 1px 0 rgba(255, 255, 255, .18);
  }
  .header-top .right .map-area a { color: #fff !important; font-weight: 600; font-size: 14px; letter-spacing: .01em; }
  .header-top .right .map-area i {
    color: #013a79 !important; background: #b7cc1d; width: 26px; height: 26px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center; font-size: 12px !important;
  }
  .header-top .right .map-area:hover { background: linear-gradient(135deg, #b7cc1d 0%, #9fb516 100%); transform: translateY(-1px); box-shadow: 0 8px 18px rgba(1, 58, 121, .3); }
  .header-top .right .map-area:hover a { color: #013a79 !important; }
  .header-top .right .map-area:hover i { background: #013a79; color: #fff !important; }
}
