/* card body*/
.collage-item {
    position: relative;
    min-width: 200px; /* Ancho mínimo de cada imagen */
    border-radius: 10px;
    overflow: hidden; /* Para que el contenido adicional no se salga */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s, box-shadow 0.3s;
}

.collage-item img {
    width: 100%;
    height: 100%;
    object-fit: contain; /* Cubre el área sin deformarse */
}
.collage-item:hover {
    transform: scale(1.05); /* Efecto de zoom al pasar el mouse */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
}
.collage-item .text-overlay {
    position: absolute;
    color: #fff;
    font-size: 16px;
    padding: 5px 10px;
    background: rgba(0, 0, 0, 0.6);
    border-radius: 5px;
}



/*header */
/* Reset básico */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  body {
    font-family: Arial, sans-serif;
    background-color: #121212;
    color: #eee;
  }
  /* Header fijo */
  header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background-color: #1a1a1a;
    z-index: 1100;
    padding: 5px 20px;
  }
  /* Header Top: logo, registro y hamburger */
  .header-top {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0px;
    position: relative;
  }
  /* Logo centrado */
  .logo {
    font-size: 32px;
    font-weight: bold;
    color: #e50914;
    text-align: center;
    flex: 1;
  }
  
  /* Botón hamburguesa (solo en móvil) */
  .hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 20px;
    cursor: pointer;
    position: fixed;
    left: 20px;
    top: 30px;
    transform: translateY(-50%);
    z-index: 1200;
  }

  .hamburger span {
    display: block;
    height: 3px;
    width: 100%;
    background-color: #eee;
    border-radius: 2px;
  }
  /* Fila inferior del header: filtros y buscador */
  .filter-buttons {
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 10px;
    flex-wrap: nowrap;
  }
  .filter-buttons button {
    flex: 0 0 10%;
    padding: 2px;
    background-color: #e50914;
    border: none;
    border-radius: 4px;
    color: #fff;
    cursor: pointer;
    transition: background 0.3s;
  }
  .filter-buttons button:hover {
    background-color: #bf0810;
  }
  .search-container {
    flex: 0 0 40%;
  }
  .search-container input {
    width: 100%;
    padding: 2px 12px;
    border: 1px solid #444;
    border-radius: 4px;
  }
  /* Panel expansible para opciones de filtros */
  .filter-panel {
    background-color: #2c2c2c;
    margin-top: 10px;
    padding: 0 20px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.5s ease, padding 0.5s ease;
  }
  .filter-panel.active {
    padding: 20px;
    max-height: 300px; /* Ajustable según el contenido */
  }
  .filter-options {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
  }
  .filter-options > div {
    flex: 1 1 150px;
  }
  .filter-options label {
    display: block;
    margin-bottom: 5px;
  }
  .filter-options select,
  .filter-options input[type="text"] {
    width: 100%;
    padding: 6px;
    border: 1px solid #444;
    border-radius: 4px;
    background-color: #1a1a1a;
    color: #eee;
  }
  .filter-options input[type="checkbox"],
  .filter-options input[type="radio"] {
    accent-color: #e50914;
  }
  /* Sidebar (menú lateral retractil) */
  .sidebar {
    position: fixed;
    top: 110px; /* Altura total del header en escritorio */
    left: 0;
    width: 200px;
    height: calc(100vh - 110px);
    background-color: #1a1a1a;
    padding: 20px;
    overflow-y: auto;
    transition: transform 0.3s ease;
  }
  .sidebar ul {
    list-style: none;
  }
  .sidebar li {
    margin-bottom: 15px;
  }
  .sidebar a {
    text-decoration: none;
    color: #eee;
    font-size: 16px;
    transition: color 0.3s;
  }
  .sidebar a:hover {
    color: #e50914;
  }
  /* Botón para cerrar el sidebar */
  .close-sidebar {
    display: none;
    background: none;
    border: none;
    color: #b92e2e;
    font-size: 24px;
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
  }

  /* Contenido principal */
main {
    margin-left: 50px; /* Espacio para sidebar en escritorio */
    margin-right: 50px; /* Espacio para sidebar en escritorio */
    padding: 0px 20px 20px;
    transition: margin-left 0.3s ease;
  }
  section {
    min-width: 500px;
    background-color: #1e1e1e;
    padding: 20px;
    margin-bottom: 40px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  }
  section h1 {
    margin-bottom: 10px;
    color: #e50914;
  }
  html {
    scroll-behavior: smooth;
  }
  
  
  .floating-btn {
    padding: 8px;
    position: fixed;      /* Posición fija en la ventana */
    top: 15px;            /* Distancia desde el borde superior */
    right: 72px;          /* Distancia desde el borde derecho */
    z-index: 9999;        /* Asegura que se muestre por encima de otros elementos */
    /* Estilos de apariencia */
    background-color: #e50914;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 14px;
    cursor: pointer;
    
    /* Opcional: sombra y transición */
    box-shadow: 0 2px 5px rgba(0,0,0,0.3);
    transition: background-color 0.3s ease;
  }
  
  .floating-btn:hover {
    background-color: #bf0810;
  }
  
  @media (max-width: 400px) {
    /* .logo{
        padding-top: 40px;
    } */
}
  
  /* Responsividad */
  @media (max-width: 768px) {
    /* Mostrar botón hamburguesa */
    .hamburger {
      display: flex;
    }
  
    /* Para el header-top: colocar el logo y el botón registro en columna */
    .header-top {
      flex-direction: column;
      align-items: center;
    }
  
  
    .filter-buttons {
      flex-wrap: wrap;
      justify-content: center;
    }
    .search-container {
      order: -1; /* El buscador se coloca en la primera fila */
      flex: 0 0 100%;
      margin-bottom: 10px;
    }
    .filter-buttons button {
      padding: 2px;
      flex: 15 10 10%;
      /*flex: 0 0 22%; /* Aproximadamente 4 botones en una fila */
    }
    /* Sidebar en móvil se oculta fuera del canvas por defecto */
    .sidebar {
      position: fixed;
      top: 0;
      left: 0;
      width: 200px;
      height: 100vh;
      transform: translateX(-100%);
      z-index: 1100;
    }
    .sidebar.active {
      transform: translateX(0);
    }
  
    .close-sidebar {
      display: block;
    }
    main {
      margin-left: 0;
      margin-right: 0;
      /* margin-top: 170px; Ajusta según el nuevo tamaño del header */
    }
  
    section {
      min-width: 300px;
        padding: 20px;
    }
  }

  /* header*/



 
                /* Contenedor de imagen con etiquetas */
                .imagen-contenedor {
                  max-width: 500px;
                  position: relative;
                  width: 100%;
                  aspect-ratio: 1.2/1.2;
                  border-radius: 10px;
                  overflow: hidden;
              }
              .imagen-contenedor img {
                  width: 100%;
                  height: 100%;
                  object-fit: cover;
              }
      
              /* Etiquetas superiores */
              .etiquetas {
                  position: absolute;
                  top: 10px;
                  left: 10px;
                  display: grid;
                  gap: 5px;
              }
      
              .etiqueta {
                  width: fit-content;
                  padding: 2px 4px;
                  border-radius: 70px;
                  font-size: 10px;
                  font-weight: bold;
                  color: white;
              }
              .Vip { background-color: #dae029; color: black; }
              .Spitze { background-color: #0094FF; }
              .Neu { background-color: #B900FF; }
              .video { background-color: aquamarine; }

            /* spitze destacados en todas partes*/
            .carrusel-card, .grid-card {
              flex: 1;
              background: #000000;
              padding: 15px;
              border-radius: 10px;
              box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
          }

          /* Grid de imágenes */
          .grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            grid-template-rows: repeat(2, 1fr);
            gap: 10px;
            height: 100%;
        }
        .grid img {
            padding-bottom: 30px;
            width: 100%;
            aspect-ratio: 1/1; /* Mantiene imágenes cuadradas */
            object-fit: cover;
            border-radius: 10px;
            transition: transform 0.3s, box-shadow 0.3s;
        }

        .grid img:hover {
            transform: scale(1.05); /* Efecto de zoom al pasar el mouse */
        }
        .nombre {
          border-bottom-left-radius: 5px;
          border-bottom-right-radius: 5px;
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          background: rgba(0, 0, 0, 0.7);
          color: white;
          text-align: center;
          padding: 5px;
          font-size: 14px;
          font-weight: bold;
      }






        /********** SELECT IDIOMAS *******************/
.custom-select {
  display: block; position: fixed; top: 10px; right: 10px; z-index: 10000;
  display: inline-block;
  width: auto;
  cursor: pointer;
  user-select: none;
}
.selected-option {
  background: #fff;
  padding: 10px 15px;
  border: 1px solid #ccc;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.selected-option img {
  width: 24px;
  height: 16px;
}
.options {
  color: black;
  width: min-content;
  padding: 0;
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border: 1px solid #ccc;
  border-radius: 8px;
  margin-top: 5px;
  display: none;
  max-height: 200px;
  overflow-y: auto;
  z-index: 1000;
}
.options li {
  padding: 10px 15px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.options li:hover {
  background-color: #f0f0f0;
}
.options img {
  width: 24px;
  height: 16px;
}

.skiptranslate { display: none; }

/* Ocultar el cuadro flotante de Google Translate */
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.VIpgJd-yAWNEb,
.VIpgJd-yAWNEb * {
  display: none !important;
}
/*****************************/


/* BOTONES MAPS*/

.nav-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 8px;
  font-weight: bold;
  text-decoration: none;
  color: white;
  background-color: #333;
  transition: background-color 0.3s;
  margin: 0.5rem 0;
}

.google-maps {
  background-color: #4285F4;
}

.apple-maps {
  background-color: #545454;
}

.nav-button:hover {
  background-color: red !important;
}

.nav-button i {
  font-size: 18px;
}

/********************/


/* COOKIES */
.cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #222;
  color: #fff;
  padding: 15px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 9999;
  box-shadow: 0 -2px 10px rgba(0,0,0,0.4);
}
.cookie-banner p {
  margin: 0;
}
.cookie-banner button {
  background-color: #28a745;
  color: white;
  border: none;
  padding: 8px 14px;
  border-radius: 5px;
  cursor: pointer;
}
.cookie-banner button:hover {
  background-color: #218838;
}


/********************/

/* SOBRE NOSOTROS */

#sobre-nosotros i {
  color: #e50914;
  margin-right: 8px;
}
#sobre-nosotros p {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}


/**/


/* VIP*/

   .contenedor {
            display: flex;
            /* max-width: 900px; */
            gap: 20px;
                margin-bottom: 20px;
        }
        
        .carrusel-card, .grid-card {
            flex: 1;
            background: #000000;
            padding: 15px;
            border-radius: 10px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }

        /* Carrusel */
        .carrusel {
            width: 100%;
            position: relative;
            overflow: hidden;
            border-radius: 10px;
        }
        .carrusel-container {
            display: flex;
            transition: transform 0.5s ease-in-out;
        }
        .slide {
            min-width: 100%;
            position: relative;
        }
        .slide img {
            padding-bottom: 30px;
            width: 100%;
            aspect-ratio: 1/1; /* Hace que las imágenes sean cuadradas */
            object-fit: cover;
            border-radius: 10px;
        }

        .slide .nombre {
            bottom: 30px;
        }
        .control {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(0, 0, 0, 0.5);
            color: white;
            padding: 10px;
            cursor: pointer;
            border: none;
            border-radius: 50%;
        }
        .control.izquierda { left: 10px; }
        .control.derecha { right: 10px; }
        .indicadores {
            position: absolute;
            bottom: 10px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            gap: 10px;
        }
        .indicador {
            width: 12px;
            height: 12px;
            border-radius: 50%;
            background-color: rgba(255, 255, 255, 0.5);
            cursor: pointer;
        }
        .indicador.activo { background-color: #fff; }

       

        .header{
                min-width: 500px;
            }

                    /* Etiqueta de nombre en la parte inferior */
        
  
          /* Responsivo */
          @media (max-width: 768px) {
              .contenedor { flex-direction: column; }
              .header{
                  min-width: 300px;
              }
          }
/**/

/* FILTROS */

    .filtros-panel-wrapper {
      position: fixed;
    /* top: 80px; */
    height: 50%;
    /* right: 20px; */
    width: 97%;
      color: white;
      overflow-y: auto;
      background:#303030;
      border-radius: 10px;
      box-shadow: 0 2px 12px rgba(0,0,0,0.2);
      z-index: 1000;
      display: none;
    }

    @media (max-width: 768px) {
  .filtros-panel-wrapper {
    
      overflow-y: auto;
    width: 92%;
    height: 60%;
    box-shadow: none;
  }

  .buscador-opciones {
    width:-webkit-fill-available;
}

.botones button {
      font-size: 10px;
    }
}

    .filtros-panel-wrapper.active {
      display: block;
    }

    .filtros-panel {
      padding: 1rem;
      display: flex;
      flex-direction: column;
      gap: 1rem;
    }

    .filtro-bloque {
      border: 1px solid #000000;
      border-radius: 10px;
      background: #611216;
    }

    .filtro-titulo-colapsable {
      width: 100%;
      text-align: left;
      padding: 0.7rem 1rem;
      background-color: #611216;
      border: none;
      color: #fff;
      border-radius: 10px;
      font-weight: bold;
      cursor: pointer;
    }



    .filtro-opciones-grid {
      display: flex;
      flex-wrap: wrap;
      padding: 0.5rem 1rem 1rem;
      gap: 10px;
    }

    .filtro-opcion-card {
      background: #4f4949;
      /* border: 1px solid #ccc; */
      padding: 6px 10px;
      border-radius: 6px;
      font-size: 14px;
      cursor: pointer;
    }

    .filtro-opcion-card input {
      margin-right: 6px;
    }

    .botones {
        position: sticky;
        top: 0;
      display: flex;
      gap: 10px;
      padding-top: 20px;
      flex-direction: column;
    }

    .botones button {
      font-size: 12px;
      border: none;
      border-radius: 6px;
      cursor: pointer;
    }

    .buscar-btn {
      background-color: #e50914;
      color: #fff;
    }

    .reset-btn {
      background-color: #ccc;
    }

    .hidden {
      display: none !important;
    }


    .perfil-card {
      background: #fff;
      border: 1px solid #ddd;
      border-radius: 8px;
      padding: 12px;
      margin-bottom: 10px;
    }


.buscador-opciones {
  margin-left: 5px;
  flex: 1;
  font-size: 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  padding: 4px 8px;
}



/* FILTROS */