/* Aura Estética Avanzada V12
   Corrección compartida para navegación móvil y percepción de carga.
   No modifica contenidos, textos, tratamientos ni estructura editorial. */

/* El cargador anterior tardaba 650 ms en desaparecer incluso cuando la página ya estaba lista. */
.page-loader {
  transition: opacity .24s ease, visibility .24s ease;
}
body.page-ready main {
  animation-duration: .38s;
}

@media (max-width: 920px) {
  /*
    backdrop-filter en el header convertía al header en el bloque contenedor del menú fixed.
    Como el header mide 76 px, el drawer quedaba recortado y los enlaces se superponían al contenido.
  */
  .site-header,
  .module-page .site-header,
  .dental-v52-page .dental-site-header,
  .dental-site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  .site-header {
    overflow: visible;
  }

  .menu-toggle {
    flex: 0 0 46px;
    isolation: isolate;
  }

  .main-nav,
  .module-page .main-nav,
  .dental-main-nav,
  .dental-v52-page .dental-main-nav {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    min-height: 100svh !important;
    max-width: none !important;
    max-height: none !important;
    margin: 0 !important;
    padding:
      calc(76px + env(safe-area-inset-top) + 26px)
      max(28px, env(safe-area-inset-right))
      calc(34px + env(safe-area-inset-bottom))
      max(28px, env(safe-area-inset-left)) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #fffdfb !important;
    color: var(--ink) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .22s ease, visibility .22s ease, transform .28s var(--ease);
  }

  .dental-v52-page .dental-main-nav,
  .dental-main-nav {
    background: #ffffff !important;
    color: #11110f !important;
  }

  .main-nav.is-open,
  .module-page .main-nav.is-open,
  .dental-main-nav.is-open,
  .dental-v52-page .dental-main-nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .main-nav a,
  .dental-v52-page .dental-main-nav a {
    position: relative;
    flex: 0 0 auto;
    width: 100%;
    min-height: 54px;
    padding: 14px 0 !important;
    display: flex;
    align-items: center;
    border-bottom: 1px solid rgba(91, 57, 41, .14);
    color: inherit !important;
    font-size: 15px !important;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: normal;
  }

  .main-nav .nav-action,
  .dental-v52-page .dental-main-nav .nav-action {
    min-height: 52px;
    margin-top: 22px !important;
    padding-inline: 22px !important;
    justify-content: center;
    border: 0 !important;
    border-radius: 999px;
    background: var(--wine) !important;
    color: #fff !important;
    text-align: center;
  }

  .dental-v52-page .dental-main-nav .nav-action {
    background: #11110f !important;
  }

  body.menu-open {
    overflow: hidden;
    overscroll-behavior: none;
  }

  body.menu-open .site-header {
    background: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }

  body.menu-open .brand {
    visibility: hidden;
  }

  body.menu-open .menu-toggle {
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 10px 28px rgba(42, 30, 27, .10);
  }
}

@media (max-width: 640px) {
  .main-nav,
  .module-page .main-nav,
  .dental-main-nav,
  .dental-v52-page .dental-main-nav {
    padding:
      calc(76px + env(safe-area-inset-top) + 20px)
      max(22px, env(safe-area-inset-right))
      calc(28px + env(safe-area-inset-bottom))
      max(22px, env(safe-area-inset-left)) !important;
  }

  .main-nav a,
  .dental-v52-page .dental-main-nav a {
    min-height: 51px;
    padding-block: 12px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 920px) and (max-height: 560px) and (orientation: landscape) {
  .main-nav,
  .module-page .main-nav,
  .dental-main-nav,
  .dental-v52-page .dental-main-nav {
    padding-top: calc(76px + env(safe-area-inset-top) + 12px) !important;
    padding-bottom: calc(18px + env(safe-area-inset-bottom)) !important;
  }

  .main-nav a,
  .dental-v52-page .dental-main-nav a {
    min-height: 44px;
    padding-block: 9px !important;
  }

  .main-nav .nav-action,
  .dental-v52-page .dental-main-nav .nav-action {
    margin-top: 14px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-loader,
  .main-nav {
    transition: none !important;
  }
}
