/* DDV_TABLET_SAFE_V4
   Repara público en tablet sin rearmar el diseño desktop.
   Criterio: tablet = ancho >=700px y alto >=560px. Así incluye iPad/Android tablet
   y evita tratar celulares horizontales como tablet. */

@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) {
  html, body {
    width: 100% !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    -webkit-text-size-adjust: 100% !important;
  }

  body {
    background-color: #000 !important;
  }

  /* No ocultar secciones en tablet. */
  .daniel,
  .bio,
  .obra,
  footer,
  .areacontacto,
  #areabio,
  #obraobra,
  #contactocontacto {
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  .daniel,
  .bio,
  .obra,
  footer {
    min-height: 100svh !important;
    height: auto !important;
    background-attachment: scroll !important;
  }

  .areacontacto {
    min-height: 100svh !important;
    height: auto !important;
    background-attachment: scroll !important;
  }

  /* En tablet no dependemos del hover real. */
  .afiche:hover .overlay,
  .afiche.afiche-activo .overlay {
    display: flex !important;
  }
}

/* INDEX público — tablet horizontal 16:9. Subir monitor y separar parlante del botón. */
@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: landscape) {
  body:has(.contenedorvideo) {
    overflow: hidden !important;
  }

  .contenedorvideo {
    position: relative !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100svh !important;
    min-height: 0 !important;
    max-height: 100svh !important;
    padding: 0 14px 58px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  .logotop {
    width: min(240px, 29vw) !important;
    max-height: 62px !important;
    margin: -10px auto -12px !important;
    padding: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .logotop img {
    max-height: 62px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain !important;
    display: block !important;
  }

  .contenedorvideo .fila2 {
    width: min(820px, 84vw) !important;
    margin: -26px auto 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 62px minmax(0, 1fr) 62px !important;
    gap: 8px !important;
    align-items: center !important;
    justify-items: center !important;
    flex: 0 0 auto !important;
  }

  .mano1,
  .mano2 {
    width: 62px !important;
    max-height: calc(100svh - 150px) !important;
    overflow: hidden !important;
  }

  .mano1 img,
  .mano2 img {
    width: auto !important;
    max-width: 62px !important;
    max-height: calc(100svh - 150px) !important;
    object-fit: contain !important;
    display: block !important;
  }

  .marcovideo {
    width: min(650px, 66vw) !important;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
    max-height: calc(100svh - 145px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .marcovideo video,
  .marcovideo iframe,
  #indexReelVideo {
    width: 100% !important;
    height: 100% !important;
    max-height: calc(100svh - 145px) !important;
    object-fit: contain !important;
    display: block !important;
    background: #000 !important;
  }

  #ingresar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 18px !important;
    width: max-content !important;
    max-width: calc(100vw - 120px) !important;
    margin: 0 auto !important;
    z-index: 10000 !important;
    display: block !important;
    text-align: center !important;
    color: #fff !important;
  }

  #ingresar h2 {
    font-size: clamp(20px, 2.2vw, 28px) !important;
    line-height: 1.05 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #fff !important;
    text-shadow: 0 0 10px rgba(0,0,0,.95) !important;
  }

  .index-audio-toggle {
    left: auto !important;
    right: 22px !important;
    bottom: 14px !important;
    transform: none !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 3px !important;
    border-width: 5px !important;
    z-index: 10001 !important;
  }

  .index-audio-toggle:hover {
    transform: scale(1.04) !important;
  }

  .contenedorvideo h3 {
    position: fixed !important;
    left: 10px !important;
    bottom: 4px !important;
    z-index: 9998 !important;
    font-size: 8pt !important;
  }
}

/* HOME-TEST público — tablet horizontal. Mantener menú lateral y mostrar secciones. */
@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: landscape) {
  body:not(:has(.contenedorvideo)) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .daniel {
    min-height: 100svh !important;
  }

  nav {
    position: absolute !important;
    left: 4% !important;
    top: clamp(84px, 17vh, 132px) !important;
    width: min(285px, 30vw) !important;
    height: auto !important;
    z-index: 4000 !important;
  }

  .logoddv {
    position: absolute !important;
    left: 4% !important;
    top: 24px !important;
    width: min(250px, 28vw) !important;
    z-index: 4100 !important;
  }

  .logofuria {
    position: absolute !important;
    right: 4% !important;
    top: 24px !important;
    width: min(110px, 13vw) !important;
    z-index: 4100 !important;
  }

  .menu nav ul {
    height: auto !important;
    gap: 7px !important;
  }

  .menu nav ul li.item,
  .item {
    min-height: 34px !important;
    font-size: clamp(18px, 2.1vw, 25px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .bio {
    min-height: 100svh !important;
    padding-bottom: 40px !important;
  }

  .bio p,
  .bio-copy {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-height: none !important;
  }

  .obra {
    min-height: 100svh !important;
    padding: 20px 0 34px !important;
  }

  #largometrajes,
  .pelicula#largometrajes {
    min-height: 100svh !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  #grilla1.areagrilla,
  .areagrilla#grilla1 {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(900px, 88vw) !important;
    max-width: 900px !important;
    height: auto !important;
    min-height: 420px !important;
    margin: 20px auto 12px !important;
    padding: 42px 34px !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important;
  }

  #grilla1 .grilla {
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: min(760px, 78vw) !important;
    max-width: 760px !important;
    height: auto !important;
    min-height: 0 !important;
    grid-template-columns: repeat(4, minmax(76px, 1fr)) minmax(106px, 1.35fr) !important;
    grid-template-rows: repeat(2, minmax(124px, auto)) !important;
    gap: 9px !important;
    transform: none !important;
    margin: 0 auto !important;
    overflow: visible !important;
    z-index: 80 !important;
  }

  #grilla1 .grilla > .afiche {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
    margin: 0 !important;
    transform: none !important;
    filter: none !important;
    overflow: visible !important;
  }

  #grilla1 .grilla > .afiche.afiche-destacado {
    grid-column: 5 !important;
    grid-row: 1 / span 2 !important;
    aspect-ratio: 7 / 10 !important;
  }

  #grilla1 .grilla > .afiche img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    transform: none !important;
  }

  .areacontacto form,
  #contactocontacto form {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
}

/* Tablet vertical: solo asegurar navegación, no forzar el monitor. */
@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: portrait) {
  .contenedorvideo {
    min-height: 100svh !important;
    height: auto !important;
    padding-bottom: 76px !important;
  }

  #ingresar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 28px !important;
    z-index: 10000 !important;
    text-align: center !important;
  }

  .index-audio-toggle {
    left: auto !important;
    right: 22px !important;
    bottom: 24px !important;
    transform: none !important;
  }

  .daniel,
  .bio,
  .obra,
  footer,
  .areacontacto {
    min-height: 100svh !important;
    height: auto !important;
    background-attachment: scroll !important;
  }
}

/* DDV_TABLET_NAV_FIJA_V5
   Ajuste sobre V4: en tablet el menú público queda siempre visible.
   Problema corregido: al entrar a BIO/OBRA/CONTACTO el menú quedaba arriba,
   obligando a scrollear para volver a navegar. */

@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) {
  .menu,
  .menu nav,
  nav {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  .menu {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    z-index: 90000 !important;
    overflow: visible !important;
  }

  .menu nav,
  nav {
    position: fixed !important;
    left: clamp(18px, 4vw, 46px) !important;
    top: clamp(84px, 14vh, 122px) !important;
    width: clamp(210px, 27vw, 285px) !important;
    height: auto !important;
    z-index: 90001 !important;
    transform: none !important;
    margin: 0 !important;
  }

  .menu nav ul {
    width: 100% !important;
    height: auto !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .menu nav ul li.item,
  .item {
    width: 100% !important;
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  .menu nav .logos {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    width: 100% !important;
  }

  /* El logo también debe quedar en su lugar de navegación; no desaparece al scrollear. */
  .logoddv {
    position: fixed !important;
    left: clamp(18px, 4vw, 46px) !important;
    top: 22px !important;
    width: clamp(190px, 26vw, 255px) !important;
    z-index: 90002 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Evitar que las secciones tapen el menú fijo. */
  .daniel,
  .bio,
  .obra,
  footer,
  .areacontacto {
    position: relative !important;
    z-index: 1 !important;
  }

  /* Que cada destino tenga un pequeño margen visual al aterrizar. */
  #daniel,
  #areabio,
  #obraobra,
  #contactocontacto {
    scroll-margin-top: 20px !important;
  }
}

@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: landscape) {
  /* En iPad/Android tablet horizontal, dejamos la lectura a la derecha del menú. */
  .bio p,
  .bio-copy {
    margin-left: clamp(310px, 34vw, 390px) !important;
    width: min(520px, 48vw) !important;
  }

  .placabio {
    left: clamp(300px, 33vw, 390px) !important;
    width: min(560px, 51vw) !important;
  }

  .titulobio {
    margin-left: clamp(295px, 32vw, 380px) !important;
    width: min(330px, 32vw) !important;
  }

  /* Mantener la grilla de obra despejada del menú lateral. */
  #grilla1.areagrilla,
  .areagrilla#grilla1 {
    margin-left: clamp(300px, 31vw, 360px) !important;
    margin-right: 24px !important;
    width: calc(100vw - clamp(330px, 34vw, 410px)) !important;
    max-width: 860px !important;
  }
}

@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: portrait) {
  .menu nav,
  nav {
    left: 24px !important;
    top: 104px !important;
    width: min(260px, 34vw) !important;
  }

  .logoddv {
    left: 24px !important;
    top: 26px !important;
    width: min(245px, 34vw) !important;
  }
}


/* DDV_TABLET_NAV_FIJA_REAL_V6
   Corrección puntual: en tablet horizontal el menú público queda FIJO al viewport.
   No depende del scroll ni de estar dentro del header .daniel.
   También mantiene visibles las etiquetas HOME / BIO / OBRA / CONTACTO en Safari iPad y Android tablet. */
@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: landscape) {
  body:not(:has(.contenedorvideo)) .menu,
  body:not(:has(.contenedorvideo)) .menu * {
    pointer-events: auto !important;
  }

  body:not(:has(.contenedorvideo)) .menu {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 0 !important;
    height: 0 !important;
    z-index: 2147483000 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav {
    position: fixed !important;
    left: 4vw !important;
    top: clamp(116px, 18svh, 148px) !important;
    width: min(265px, 26vw) !important;
    height: auto !important;
    max-height: calc(100svh - 150px) !important;
    z-index: 2147483001 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav ul {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    gap: 7px !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav ul li.item,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonhome,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonbio,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonobra,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonblog,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botoncontacto {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 34px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 4px 8px !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    background-image: none !important;
    background-color: rgba(0,0,0,.18) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 1px 2px #000, 0 0 7px #000, 0 0 12px rgba(255,255,255,.40) !important;
    transform: none !important;
    filter: none !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav ul li.item .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item a,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item a:visited,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item a .menu-label {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: inherit !important;
    position: relative !important;
    z-index: 2147483002 !important;
  }

  /* En tablet el :focus queda pegado después del toque; lo neutralizamos para que no parezca que desapareció. */
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:hover,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus-within,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:active {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background-color: rgba(80,0,0,.38) !important;
    transform: none !important;
    filter: none !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav ul li.item:hover .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus-within .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:active .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:hover a,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus a,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus-within a,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:active a {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
  }

  body:not(:has(.contenedorvideo)) .menu nav .logos {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    width: 100% !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body:not(:has(.contenedorvideo)) .ddv-rayo-v17-mini {
    position: fixed !important;
    left: calc(4vw + 115px) !important;
    top: clamp(230px, 38svh, 300px) !important;
    z-index: 2147482999 !important;
  }

  /* Dar aire a las secciones para que el menú fijo no compita con el contenido. */
  body:not(:has(.contenedorvideo)) .bio p,
  body:not(:has(.contenedorvideo)) .bio-copy,
  body:not(:has(.contenedorvideo)) .placabio {
    margin-left: max(330px, 34vw) !important;
  }

  body:not(:has(.contenedorvideo)) #grilla1.areagrilla,
  body:not(:has(.contenedorvideo)) .areagrilla#grilla1 {
    margin-left: max(330px, 31vw) !important;
    margin-right: 4vw !important;
    width: calc(100vw - max(330px, 31vw) - 4vw) !important;
    max-width: 820px !important;
  }

  body:not(:has(.contenedorvideo)) .areacontacto form,
  body:not(:has(.contenedorvideo)) #contactocontacto form {
    margin-left: max(330px, 31vw) !important;
    margin-right: 6vw !important;
  }
}

/* DDV_TABLET_NAV_FIJA_SIN_TAPAR_V7
   Ajuste quirúrgico sobre V6.
   Problemas corregidos en iPad/tablet horizontal:
   1) HOME quedaba demasiado arriba y se pisaba con el logo DDV.
   2) Al tocar BIO/OBRA/CONTACTO, el halo/fondo de foco de Safari subía y tapaba los links.
   3) En tablet la navegación debe permanecer siempre visible y sin estados hover pegados. */

@media (min-width: 700px) and (min-height: 560px) and (max-width: 1366px) and (orientation: landscape) {
  /* Evitar que una regla anterior de nav a 140pt o top bajo gane en iPad. */
  .menu nav,
  body:not(:has(.contenedorvideo)) .menu nav {
    position: fixed !important;
    left: clamp(22px, 4vw, 48px) !important;
    top: clamp(172px, 24svh, 208px) !important;
    width: clamp(218px, 27vw, 292px) !important;
    max-height: calc(100svh - 190px) !important;
    z-index: 2147483600 !important;
    background: rgba(0,0,0,.10) !important;
    border-radius: 10px !important;
    padding: 3px 0 4px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .menu,
  body:not(:has(.contenedorvideo)) .menu {
    position: fixed !important;
    z-index: 2147483599 !important;
    overflow: visible !important;
    pointer-events: auto !important;
  }

  .logoddv {
    position: fixed !important;
    left: clamp(22px, 4vw, 48px) !important;
    top: 22px !important;
    width: clamp(190px, 26vw, 255px) !important;
    z-index: 2147483601 !important;
  }

  /* En tablet NO usamos el halo hover/focus de escritorio: en Safari queda pegado y tapa los links. */
  .menu nav ul li.item::before,
  .menu nav ul li#botonhome::before,
  .menu nav ul li#botonbio::before,
  .menu nav ul li#botonobra::before,
  .menu nav ul li#botonblog::before,
  .menu nav ul li#botoncontacto::before,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item::before {
    content: none !important;
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: none !important;
    filter: none !important;
    transform: none !important;
  }

  .menu nav ul,
  body:not(:has(.contenedorvideo)) .menu nav ul {
    gap: 6px !important;
    overflow: visible !important;
  }

  .menu nav ul li.item,
  .menu nav ul li#botonhome,
  .menu nav ul li#botonbio,
  .menu nav ul li#botonobra,
  .menu nav ul li#botonblog,
  .menu nav ul li#botoncontacto,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonhome,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonbio,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonobra,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botonblog,
  body:not(:has(.contenedorvideo)) .menu nav ul li#botoncontacto {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 31px !important;
    padding: 3px 8px !important;
    margin: 0 !important;
    width: 100% !important;
    background-image: none !important;
    background-color: rgba(0,0,0,.22) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 1px 3px #000, 0 0 8px #000, 0 0 12px rgba(255,255,255,.35) !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
    isolation: auto !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    z-index: 2147483602 !important;
  }

  /* Safari iPad deja :hover/:focus pegado: todos los estados conservan texto blanco y fondo bajo. */
  .menu nav ul li.item:hover,
  .menu nav ul li.item:focus,
  .menu nav ul li.item:focus-within,
  .menu nav ul li.item:active,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:hover,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:focus-within,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item:active {
    background-image: none !important;
    background-color: rgba(80,0,0,.34) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: 0 1px 3px #000, 0 0 8px #000, 0 0 12px rgba(255,255,255,.45) !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }

  .menu nav ul li.item .menu-label,
  .menu nav ul li.item a,
  .menu nav ul li.item a:visited,
  .menu nav ul li.item:hover .menu-label,
  .menu nav ul li.item:focus .menu-label,
  .menu nav ul li.item:focus-within .menu-label,
  .menu nav ul li.item:active .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item .menu-label,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item a,
  body:not(:has(.contenedorvideo)) .menu nav ul li.item a:visited {
    display: inline-block !important;
    position: relative !important;
    z-index: 2147483603 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-shadow: inherit !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Ningún separador/fondo de sección puede montarse sobre la navegación. */
  .daniel,
  .bio,
  .obra,
  footer,
  .areacontacto,
  .separador1,
  .separadorbio,
  .separadordaniel,
  .separadorfooter,
  .separadorslide,
  .separadorslide2 {
    z-index: auto !important;
  }

  /* Compensar que el menú bajó para no invadir lectura. */
  .bio p,
  .bio-copy,
  body:not(:has(.contenedorvideo)) .bio p,
  body:not(:has(.contenedorvideo)) .bio-copy {
    margin-left: max(340px, 35vw) !important;
    width: min(520px, 48vw) !important;
  }

  .placabio,
  body:not(:has(.contenedorvideo)) .placabio {
    left: max(325px, 34vw) !important;
    margin-left: 0 !important;
    width: min(560px, 51vw) !important;
  }

  .titulobio,
  body:not(:has(.contenedorvideo)) .titulobio {
    margin-left: max(315px, 33vw) !important;
    width: min(330px, 32vw) !important;
  }

  /* La grilla de obra sigue a la derecha del menú fijo. */
  #grilla1.areagrilla,
  .areagrilla#grilla1,
  body:not(:has(.contenedorvideo)) #grilla1.areagrilla,
  body:not(:has(.contenedorvideo)) .areagrilla#grilla1 {
    margin-left: max(340px, 32vw) !important;
    margin-right: 4vw !important;
    width: calc(100vw - max(340px, 32vw) - 4vw) !important;
    max-width: 820px !important;
  }
}
