* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/*body*/
body {
  font-family: Arial, sans-serif;
  background: linear-gradient(135deg, #1a1a2e, #16213e 25%, #571db4 50%, #7143b6 75%, #8f01ee 100%);
  color: #fff;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

/*HEADER*/
/*banner-cabecera*/
.logo_lumifest{
    height: 45px;
}
.container{
    padding-left: 15px;
    padding-right: 15Px;
    display: grid;
    grid-template-columns: 60px 190px max-content;
    grid-template-rows: max-content;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    overflow: hidden;
    background-color: #2b2c3b;
}
.nav {
    --img1: scale(1);
    --img2: scale(0);
}
.nav:has(.dropdown:target){
    --img1: scale(0);
    --img2: scale(1);
    --clip: inset(0 0 0 0)
}
.nav_container {
    width: 100%;
    height: 60px;
    display: grid;
    grid-template-areas: "title img";
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
}
.nav_menu{
    grid-area: img;
    position: relative;
    z-index: 51;
    transform: var(--img1);
}
.nav_menu--second{
    transform: var(--img2);
}
.nav_icon{
    width: 30px;
    display: block;
}
.dropdown{
    position: absolute;
    z-index: 50;/*coloca el menu por sobre otro elementos*/
    backdrop-filter: blur(8px);
    background-color: #2731bb81;
    mask: linear-gradient(black 10%, opacity);
    width: 100%;
    right: 0;
    top: 0px;
    bottom: 1;
    padding: 1em;
    display: grid;
    align-content: center;
    justify-content: center;
    gap: .5rem;
    overflow-y: auto;
    clip-path: var(--clip, inset(0 0 100% 100%));
    transition: clip-path .5s;
}
.dropdown_list{
    list-style: none;
    justify-items: center;
    padding: 0;
}
.dropdown_link{
    color: white;
    padding: 1em .7em;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: .6rem;
    position: relative;
    background-color: var(--bg, transparent);
    border-radius: 10px;
}
.dropdown_list:has(:checked){
    --rows: 1fr;
    --rotate: rotate(180deg);
    --bg: #ffcc00;
}
.dropdown_check{
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    cursor: pointer;
}
.dropdown_arrow{
    margin-left: auto;
    transform: var(--rotate, 0);
    transition: .2s transform;
}
.dropdown_content{
    display: grid;
    grid-template-rows: var(--rows, 0fr);
    transition: .3s grid-template-rows;
}
.dropdown_sub{
    overflow: hidden;
}
.dropdown_li{
    list-style: none;
    margin-left: auto;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 8px;
}
.dropdown_li:hover{
    background-color: #ffcc00;
}
.dropdown_anchor{
    padding: .5em 0;
    display: block;
    color: #e0e0e0;
    text-decoration: none;
}
.dropdown_link:hover{
    background-color: #ffcc00;
}

/*titulo largometraje_cortometraje_ documental*/
.titulo{
    justify-items: center;
    font-size: 25px;
    text-transform: uppercase;
    margin: 40px 0px 40px 0px;
    color: #ffcc00;
}
.linea_vertical{
    width: 340px;
    height: 5px;
    border-radius: 5px;
    background-color: #ffcc00;
    mask: linear-gradient(black 1%, transparent);
}
/*sub-titulos*/
.sub_titulo{
    display: grid;
    grid-template-columns: max-content 1fr;
    align-items: center;
    justify-items: left;
    gap: 7px;
    margin-left: 10px;
    font-size: 15px;
    text-transform: capitalize;
    color: #ffffff;
}
.linea_vertical_lateral{
    width: 100%;
    height: 15px;
    border-end-start-radius: 5px;
    border-start-start-radius: 5px;
    background: #ffcc00;
    mask: linear-gradient(160deg, black 1%, transparent);
}
/*tarjetas*/
.card{
    background: linear-gradient(120deg, #ffcc00 1%, transparent);
    aspect-ratio: 10/16;
    width: 200px;
    padding: 4px 0px 0px 4px;
    border-radius: 13px;
    position: relative;
}
.card_body{
    background: #3f3f3f;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    border-radius: 11px;
}
.all_card{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 30px;
    padding: 20px;
}
.card_tarjeta{
    border-radius: 11px;
    padding: 3px 0px 0px 3px;
    aspect-ratio: 10/16;
    width: 200px;
}

/*pagina de festival de cine independiente*/
/* Main Content */
.main-content {
  text-align: center;
  padding: 60px 40px;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  z-index: 50;
}
.festival-title {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  color: #ffd502;
  margin-bottom: 40px;
  text-transform: uppercase;
  letter-spacing: 3px;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
/* Sections */
.section {
    display: grid;
    align-items: center;
    justify-items: left;
    gap: 7px;
    margin-bottom: 50px;
    text-align: left;
}
.section-title {
    font-size: 2rem;
    font-weight: bold;
    color: #FFD700;
    margin-bottom: 20px;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}
.section-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #FFD700, #FFA500);
    border-radius: 2px;
}
.section-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #e0e0e0;
}
/* Video */
.video-container {
  position: relative;
  width: 100%;
  max-width: 600px;
  margin: 0 auto 60px;
  background: rgba(0, 0, 0, 0.8);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  background-color: rgb(7, 7, 7);
}
.video-placeholder {
  width: 100%;
  height: 300px;
  background: linear-gradient(45deg, #1a1a1a, #2a2a2a);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.play-button {
  width: 80px;
  height: 80px;
  background: #FFD700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
}
.play-button:hover {
  transform: scale(1.1);
  box-shadow: 0 0 20px rgba(255, 215, 0, 0.5);
}
.play-button::after {
  content: '';
  width: 0;
  height: 0;
  border-left: 25px solid #2c3e50;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  margin-left: 5px;
}

/*pagina de menu de pelicula*/
/*fondo*/
#card_movie{
    background-image: url(https://www.dgpc.com.ar/cine-liberacion/2025/1/vm14/webapp/imagenes/imagenes/menudepeliculas/menuoswaldfox.png);
    background-repeat: no-repeat;
    background-position: right;
    background-attachment: fixed;
    background-size: cover;
}
.body_menupelicula{
    padding: 0px 0px 0px 50px;
}
/*titulo de movie*/
.titulo_movie{
    font-size: 40px;
    margin-top: 50px;
    margin-bottom: 70px;
    text-transform: uppercase;
}
/*iconos de reproduccion*/
.reproducir_movie1{
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 10px;
    align-items: center;
    padding-left: 15px;
    margin-bottom: 15px;
    color: #000000;
    font-size: 20px;
    width: 140px;
    height: 35px;
    border-radius: 5px;
    background-color: #ffffff;
}
.flecha_reproducir{
    height: 25px;
}
.reproducir_movie2{
    display: flexbox;
    align-content: center;
    text-align: center;
    font-size: 20px;
    width: 180px;
    height: 35px;
    border-radius: 5px;
    background-color: #ffcc00;
    mask: linear-gradient(black 1%, transparent);
}
.reproducir_star{
    display: grid;
    grid-template-columns: 155px 180px;
}
/*agregar_like_duracion_movie*/
.agregar_like_duracion_movie{
    display: grid;
    grid-template-columns: 140px 250px;
    gap: 12px;
    margin-bottom: 70px;
}
.agregrar_like{
    display: flex;
    width: 140px;
    padding-top: 10px;
    gap: 10px;
}
.agregar_like_button{
    height: 60px;
}
.duracion_movie{
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: end;
    width: 250px;
}
.duracion_movie_icon{
    height: 20px;
    margin: 3px;
}
/*descripcion de pelicula*/
.descripcion_elenco_movie{
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), .1fr));
}
.descripcion_movie{
    width: 230px;
    margin-bottom: 70px;
}
/*elenco*/
.elenco_movie_contenedor{
    width: 350px;
}
.elenco_movie{
    width: 190px;
    text-transform: capitalize;
}
.elenco_movie_1{
    width: 190px;
    text-transform: capitalize;
}
.elenco_movie_2{
    width: 130px;
    text-transform: capitalize;
}
.elenco_movie_3{
    width: 100px;
    text-transform: capitalize;
}

/* Responsive 
@media (max-width: 768px) {
  body {
    padding: 0 40px;
  }

  .logo-titulo img {
    width: 60px;
  }

  .logo-titulo h1 {
    font-size: 2rem;
  }

  .festival-title {
    font-size: 2rem;
    letter-spacing: 1px;
  }

  .main-content {
    padding: 40px 20px;
  }

  .video-placeholder {
    height: 200px;
  }

  .play-button {
    width: 60px;
    height: 60px;
  }

  .play-button::after {
    border-left: 20px solid #2c3e50;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
  }
} */

/* QUE HACEMOS Y OBJETIVOS */
.section {
    margin-bottom: 50px;
    text-align: left;
}

.section-title {
    font-size: 2rem;
    font-weight: bold;
    color: #FFD700;
    margin-bottom: 20px;
    text-transform: uppercase;
    position: relative;
    display: inline-block;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, #FFD700, #FFA500);
    border-radius: 2px;
}

.section-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #e0e0e0;
}

/* Responsive 
@media (max-width: 768px) {
    body {
        padding-left: 40px;
        padding-right: 40px;
    }

    .film-strip-left,
    .film-strip-right {
        width: 30px;
    }

    header {
        padding-left: 50px;
        padding-right: 50px;
    }

    .logo h1 {
        font-size: 2rem;
    }

    .festival-title {
        font-size: 2rem;
        letter-spacing: 1px;
    }

    .main-content {
        padding: 40px 20px;
    }

    .video-placeholder {
        height: 200px;
    }

    .play-button {
        width: 60px;
        height: 60px;
    }

    .play-button::after {
        border-left: 20px solid #2c3e50;
        border-top: 12px solid transparent;
        border-bottom: 12px solid transparent;
    }

    .section-title {
        font-size: 1.5rem;
    }

    .section-content {
        font-size: 1rem;
    }
} */

/* Formulario de sesion con redes sociales y recuperar contraseña */
.centro-pantalla {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    width: 100%;
    position: relative;
    z-index: 5; /* asegura que esté arriba del fondo */
}

.formulario-container {
    background-color: rgba(47, 44, 101, 0.95);
    padding: 40px;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    width: 90%;
    max-width: 400px;
    text-align: center;
}

.login-container {
    background-color: #2f2c65;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
    width: 90%;
    max-width: 400px;
    text-align: center;
}

.titulo {
    color: #FFD700;
    text-shadow: 0 2px 2px #000;
    margin-bottom: 30px;
    font-size: 26px;
    text-decoration: underline;
}

form input {
    width: 100%;
    padding: 12px;
    margin: 10px 0;
    border: none;
    border-radius: 6px;
    font-size: 16px;
}

.boton-login {
    width: 100%;
    padding: 12px;
    margin-top: 10px;
    background: linear-gradient(to bottom, #FFD700, #cba300);
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 16px;
    color: #1d1c45;
    cursor: pointer;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}

.boton-login:hover {
    background: linear-gradient(to bottom, #fce95d, #b48c00);
}

.olvide {
    display: block;
    margin: 15px 0;
    color: white;
    font-size: 14px;
    text-decoration: none;
}

.olvide:hover {
    text-decoration: underline;
}

.crear-cuenta {
    width: 100%;
    padding: 12px;
    margin-top: 10px;
    background: linear-gradient(to bottom, #FFD700, #cba300);
    border: none;
    border-radius: 6px;
    font-weight: bold;
    font-size: 16px;
    color: #1d1c45;
    cursor: pointer;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}

.crear-cuenta:hover {
    background: linear-gradient(to bottom, #fce95d, #b48c00);
}
.social-login {
    margin-top: 30px;
    display: flex;
    flex-direction: column;
    gap: 12px; /* separa los botones entre sí */
}

.social-btn {
    display: flex;
    align-items: center;
    justify-content: center; /* centra ícono + texto */
    width: 100%;
    padding: 10px 15px;
    background-color: #fff;
    border: none;
    border-radius: 30px; /* botones más suaves y redondeados */
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0,0,0,0.3);
    font-size: 16px;
    color: #333;
    transition: background 0.3s, transform 0.2s;
}

.social-btn:hover {
    background-color: #f0f0f0;
    transform: translateY(-2px);
}

.social-btn .icono-red {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.social-btn span {
    text-align: center;
    flex: none; 
}

/* Perfil de usuario */

body {
  background-color: #1b1d3b;
  color: white;
  font-family: 'Arial', sans-serif;
  margin: 50;
}

.logo {
  height: 40px;
}

.perfil-usuario {
  text-align: center;
  padding: 20px;
}

.foto-usuario {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
  border: 3px solid gold;
}

.foto-usuario img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.nombre-usuario {
  margin: 10px 0;
}

.estadisticas {
  display: flex;
  justify-content: space-around;
  margin: 20px 0;
}

.estadisticas div p {
  margin: 0;
  font-size: 14px;
  color: #ccc;
}

.estadisticas div span {
  font-size: 18px;
  font-weight: bold;
  color: rgb(253, 252, 252);
}

.grid-publicar {
  display: grid;
  place-items: center;
  margin: 20px auto;
  max-width: 135px;
  background-color: #0d0f00;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.3); /* sombra dorada suave */
}
.boton-publicar {
  background: linear-gradient(to bottom, rgb(245, 208, 0), #f3c302);
  color: #00010c;
font-weight: initial;
  padding: 10px 30px;
  border-radius: 8px;
  font-size: 14px;
  text-decoration: none;
  font-family: Arial, Helvetica, sans-serif;
}

.icono-subir {
  width: 40px;
  height: 40px;
  background-color: gold;
  mask: url('imagenes/icono-subir.svg') no-repeat center;
  -webkit-mask: url('imagenes/icono-subir.svg') no-repeat center;
  mask-size: contain;
  -webkit-mask-size: contain;
}

.videos-publicados h3 {
  margin-top: 40px;
}

.barra-progreso { /* barra clave */
  width: 70%;
  height: 10px;
  background: linear-gradient(to right, rgb(217, 241, 0), transparent);
  margin: 10px auto 20px auto;
  border-radius: 20px;
}

.galeria-videos {
  display: flex;
  flex-direction: column; /* Hace que se apilen verticalmente */
  gap: 20px;
  padding: 0 20px;
  align-items: center; /* Centra los videos en columna */
}

.video {
  border: 2px solid gold;
  border-radius: 5px;
  overflow: hidden;
  width: 200px; /* Ajustar este ancho para más grande o más chico */
  text-align: center;
}

.video img {
  width: 100%;
  height: auto;
  display: block;
}

.contador {
  margin-top: 5px;
  display: block;
  font-size: 14px;
  font-weight: bold;
  color: gold;
}

/* PUBLICAR VIDEO */
    .modal-publicar {
      position: fixed;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 90%;
      max-width: 400px;
      background: #121326;
      border-radius: 8px;
      box-shadow: 0 0 20px rgba(0,0,0,0.7);
      color: #fff;
      font-family: 'Arial', sans-serif;
      z-index: 1000;
      padding: 0;
      overflow: hidden;
    }

    .modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px;
    }
    .modal-header h2 {
      margin: 0;
      font-size: 18px;
      font-weight: bold;
    }
    .modal-close {
      background: none;
      border: none;
      font-size: 20px;
      color: gold;
      cursor: pointer;
    }

    .modal-section {
      padding: 0 16px 16px;
    }
    .modal-section + .modal-section {
      border-top: 1px solid #2a2c42;
    }

    .section-title {
      display: flex;
      align-items: center;
      margin-bottom: 8px;
    }
    .section-title h3 {
      margin: 0;
      font-size: 16px;
      flex: 1;
    }
    .section-underline {
      flex: 2;
      height: 4px;
      background: linear-gradient(to right, gold, transparent);
      margin-left: 8px;
      border-radius: 2px;
    }

    .modal-input,
    .modal-textarea {
      width: 100%;
      background: #fff;
      color: #000;
      border: none;
      border-radius: 4px;
      padding: 8px;
      font-size: 14px;
      margin-bottom: 12px;
    }
    .modal-textarea {
      height: 100px;
      resize: vertical;
    }

    .miniaturas {
      display: flex;
      gap: 8px;
      justify-content: space-between;
      margin-bottom: 12px;
    }
    .miniatura {
      width: calc(50% - 4px);
      background: #2a2c42;
      border-radius: 4px;
      overflow: hidden;
      text-align: center;
      position: relative;
      cursor: pointer;
      color: #ccc;
      font-size: 12px;
      padding: 8px 0;
    }
    .miniatura img {
      width: 100%;
      height: auto;
      display: block;
    }

    .video-element {
      display: flex;
      align-items: center;
      margin-bottom: 8px;
    }
    .video-element input {
      flex: 1;
      height: 32px;
      border: none;
      border-radius: 4px 0 0 4px;
      padding: 0 8px;
      font-size: 14px;
    }
    .video-element button {
      background: gold;
      border: none;
      padding: 0 12px;
      height: 32px;
      border-radius: 0 4px 4px 0;
      font-size: 14px;
      cursor: pointer;
      font-weight: bold;
      color: #121326;
    }

/* Paginal principal */
.logo {
  height: 40px;
  margin-right: 10px;
}

main {
  padding: 20px;
}

.categoria {
  margin-bottom: 40px;
}

.categoria h2 {
  margin-bottom: 10px;
  color: #ffcc00;
  text-align: center;
}

.scroll-container {
  display: flex;
  overflow-x: auto;
  gap: 10px;
  padding-bottom: 10px;
  justify-content: center; /* Esto centra el contenido si hay poco contenido */
}

.scroll-container img {
  height: 200px;
  border: 2px solid #ffcc00;
  border-radius: 10px;
  flex-shrink: 0;
  margin: 0 auto;
}

.scroll-container::-webkit-scrollbar {
  height: 8px;
}

.scroll-container::-webkit-scrollbar-thumb {
  background: #ffcc00;
  border-radius: 4px;
}

.scroll-container::-webkit-scrollbar-track {
  background: #333;
}

/* Responsive: para pantallas pequeñas (celulares) */
@media (max-width: 600px) {
  .scroll-container img {
    height: 150px; /* Reduce el tamaño en celular */
  }

  header {
    flex-direction: column;
    align-items: flex-start;
  }

  nav ul {
    flex-direction: column;
    gap: 5px;
  }

  main {
    padding: 10px;
  }
}

/* 9.inscripcio a Festivales */

.inscripcion {
  padding: 20px;
}

.inscripcion h2 {
  text-align: center;
  color: #ffcc00;
  margin-bottom: 20px;
}

form {
  max-width: 600px;
  margin: 0 auto;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 15px;
}

label {
  flex: 1 1 100%;
  color: #fff;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="file"],
textarea {
  flex: 1 1 calc(50% - 10px);
  padding: 8px;
  border: none;
  border-radius: 5px;
}

textarea {
  flex: 1 1 100%;
  height: 80px;
}

input[type="file"] {
  background: #fff;
  padding: 5px;
}

button {
  width: 100%;
  padding: 10px;
  background-color: #ffcc00;
  color: #1c1c3c;
  border: none;
  border-radius: 5px;
  font-weight: bold;
  cursor: pointer;
}

button:hover {
  background-color: #e6b800;
}

/* Responsive para móviles */
@media (max-width: 600px) {
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="file"],
  textarea {
    flex: 1 1 100%;
  }
}




