/* 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;
  }
}
