/*
paleta de colores:
dominantes: verde, blanco, amarillo
complementarios: plomo, negro
*/
/*
:root{
    --dominante-negro-rgb:  rgb(0, 0, 0);
    --dominante-blanco-rgb: rgb(255, 255, 255);
    --dominante-azul-rgb: rgb(9, 45, 174);

    --azul-claro-rgb: rgb(89, 220, 234);
    --negro-claro-rgb: rgb(151, 147, 147);
    
}
*/

:root{
    --color-dominante-1-rgb: rgb(0, 0, 255); /*azul*/
    --color-dominante-2-rgb: rgb(255, 255, 255); /*blanco*/
    --color-dominante-3-rgb: rgb(0, 0, 0); /*negro*/

    --color-dominante-claro-1-rgb: rgb(66, 97, 211);/*azul claro*/
    --color-dominante-claro-2-rgb: rgb(255, 255, 255);/*blanco*/
    --color-dominante-claro-3-rgb: rgb(103, 101, 101);/*negro claro*/

    --color-secundario-1-rgb: rgb(89, 220, 234);
    --color-secundario-2-rgb: rgb(251, 238, 57);
    --color-secundario-3-rgb: rgb(180, 180, 180);
}
    
html {
    scroll-padding-top: 250px; /* para navegar entre secciones (le da espacio para el titulo) */
  }

  /*====Barra de navegación====*/
.navbar{
    /*height: 60px !important;*/
    /*background-color:black !important;*/
    background-color:var(--color-dominante-2-rgb) !important;
    margin-top: 0px;

    /*position: fixed !important; /*para fijar el menú de navegación*/
    position:sticky !important;  /*para fijar el menú arriba al hacer scroll*/
    top:0;/*para fijar el menú arriba al hacer scroll*/

    width: 100%;/*recuperamos la anchura maxima con "100vw" (vw=view width)*/
    opacity:0.9 !important;
    z-index:1000; /*para que se sobreponga sobre cualquier elemento (que esté por encima del HERO SECTION)*/
    /*color:orange !important;*//*no se puede cambiar de color. La estrategia es usar <span>*/
    box-shadow: 0px 0px 20px gray;/*sombra gris*/
    padding: 2px 0px !important;
}

/*se puede cambiar el color y el tamaño de los enlaces del navbar*/
.nav-item a{
    /*color: #00ffff !important;*/
    color: var(--color-dominante-1-rgb) !important;
    font-size: 18px !important;
}

/*hover sobre los enlaces del navbar*/
.enlace:hover{
    /*color:white;*/
    color: var(--color-dominante-1-rgb);
    border-bottom: 4px solid var(--color-dominante-1-rgb);
}


/*se puede modificar el borde del icono de la hamburguesa del menú. El icono es una imagen SVG. Quizas lo mejor sería usar font awesome para modificar el icono*/
.navbar-toggler{
    /*border: none !important;*/
    border-color:blue !important;
    /*background-color:#637373 !important;*/
}
/* Cambia el color de las líneas del icono */
.navbar-toggler-icon{
    /*color azul*/
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%280, 0, 255, 1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}

/*personalizamos el nombre*/
.navbar-brand{
    /*font-family: "oswald"; /*tipografía*/
    font-size: 18px !important; /*tamaño de fuente*/
    font-weight: 400; /*peso de la fuente*/ 
    color:var(--color-dominante-1-rgb) !important;
}
/*====fin Barra de navegación====*/

.fondo-base{
    /*filter: blur(5px);*/ /*difumina la imagen*/
    /*--webkit-filter: blur(5px);*/
    background-size: cover !important;
    background-position: center center !important;
    position: fixed;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    height: 100%;
    opacity:0.8;
    /*background-image: url('../../assets/img/portada/theride-1.jpg');*/
    /*background-color: #d6dcde;*/
    background-color: white;
    background-image: radial-gradient(ellipse farthest-corner at 45px 30px , #fff 50%, rgba(0, 255, 0, 0) 0%, var(--color-dominante-1-rgb) 90%);
    }

  /*carousel en toda la pantalla*/
.carousel{
    position:relative;
    width:100vw;
    height: 90vh;
}

#carousel_slide_automatico .carousel-item{
    transition: transform 4s ease !important;
}
.carousel-inner{
    width:100vw;
    height: 90vh;
}
.carousel-inner img{
    width:100vw;
    height: 100vh;
    object-fit:cover;
    object-position:40% 55%; /*para modificar la posición de la imagen (eje x, eje y)*/
    /*filter: brightness(100%);*/
    position: relative;
    z-index: 0;
}

.lamina-degrade-carousel::after { /*para poner una lámina en el carousel para degradé. Nota: hay que jugar con el z-index de los alementos anteriores y posteriores*/
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(0, 0, 255, 0.1),rgba(255, 255, 255, 0.1));
    z-index: 1;
    pointer-events: none; /* Permite hacer clic en la imagen */
  }

/*fin carousel en toda la pantalla*/


    /*=== galeria de imágenes==*/
    .gallery {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            gap: 20px;
            max-width: 1200px;
            margin: 0 auto;
            padding: 10px;
        }

        .gallery-item {
            border-radius: 15px;
            overflow: hidden;
            box-shadow: 0 8px 20px rgba(0,0,0,0.4);
            transition: all 0.3s ease;
            background: #0c1e3e;
            height: 100%;
            display: flex;
            flex-direction: column;
        }

        .gallery-item:hover {
            transform: translateY(-10px);
            box-shadow: 0 15px 30px rgba(0,0,0,0.6);
        }

        .gallery-img {
            width: 100%;
            height: 250px;
            object-fit: cover;
            display: block;
            border-bottom: 3px solid var(--color-secundario-2-rgb);
        }

        .sport-info {
            padding: 15px;
            text-align: center;
        }

        .sport-title {
            font-size: 1.4rem;
            margin-bottom: 8px;
            color: white;
        }

        .sport-description {
            font-size: 0.9rem;
            line-height: 1.5;
            color: #e0e0e0;
        }

        .footer {
            text-align: center;
            padding: 30px;
            margin-top: 20px;
            font-size: 1rem;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .gallery {
                grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            }
            
            .header h1 {
                font-size: 2rem;
            }
        }

        @media (max-width: 480px) {
            .gallery {
                grid-template-columns: 1fr;
            }
            
            .gallery-img {
                height: 180px;
            }
            
            .header h1 {
                font-size: 1.8rem;
            }
        }

    /*=== fin galeria de imágenes==*/

    /*==galería solo imagenes sin texto==*/
    .gallery-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 20px;
        }

        .gallery-header {
            text-align: center;
            padding: 30px 0;
            margin-bottom: 30px;
        }

        .gallery-title {
            font-size: 3rem;
            margin-bottom: 10px;
            text-shadow: 0 2px 8px rgba(0,0,0,0.4);
            background: linear-gradient(90deg, #ff9a9e, #fad0c4, #a1c4fd);
            background-clip: text;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        .gallery-subtitle {
            font-size: 1.2rem;
            color: #e0e0e0;
            max-width: 600px;
            margin: 0 auto;
        }

        .mosaic-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            grid-auto-rows: 200px;
            grid-gap: 20px;
            grid-auto-flow: dense;
        }

        .photo-item {
            position: relative;
            overflow: hidden;
            border-radius: 12px;
            box-shadow: 0 10px 20px rgba(0,0,0,0.3);
            transition: all 0.4s ease;
            cursor: pointer;
        }

        .photo-item:hover {
            transform: scale(1.03);
            box-shadow: 0 15px 30px rgba(0,0,0,0.4);
        }

        .photo-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.5s ease;
        }

        .photo-item:hover img {
            transform: scale(1.1);
        }

        .photo-overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
            padding: 20px;
            opacity: 0;
            transition: opacity 0.4s ease;
        }

        .photo-item:hover .photo-overlay {
            opacity: 1;
        }

        .photo-name {
            font-size: 1.2rem;
            font-weight: bold;
            margin-bottom: 5px;
            color: white;
        }

        .photo-tag {
            font-size: 0.9rem;
            color: #ff9a9e;
            font-weight: 500;
        }

        /* Tamaños especiales para crear el mosaico */
        .photo-item.wide {
            grid-column: span 2;
        }

        .photo-item.tall {
            grid-row: span 2;
        }

        .photo-item.large {
            grid-column: span 2;
            grid-row: span 2;
        }

        /* Modal para vista ampliada */
        .gallery-modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(0,0,0,0.95);
            overflow: auto;
            padding: 50px;
        }

        .modal-content {
           
            margin: auto;
            display: block;
            max-width: 100%;/*se elimina cualquier limite*/
            width: auto;
            max-height: 90%;
            height: auto;
            object-fit: contain;/*dentro de la pantalla*/
            border-radius: 10px;
            box-shadow: 0 0 40px rgba(255,255,255,0.1);
        }
        

        .close-btn {
            position: absolute;
            top: 20px;
            right: 30px;
            color: white;
            font-size: 40px;
            font-weight: bold;
            cursor: pointer;
            transition: color 0.3s;
        }

        .close-btn:hover {
            color: #ff9a9e;
        }

        /* Responsive */
        @media (max-width: 1024px) {
            .mosaic-grid {
                grid-gap: 15px;
            }
        }

        @media (max-width: 768px) {
            .gallery-title {
                font-size: 2.2rem;
            }
            
            .photo-item.wide,
            .photo-item.large {
                grid-column: span 1;
            }
            
            .mosaic-grid {
                grid-auto-rows: 180px;
            }
        }

        @media (max-width: 480px) {
            .gallery-title {
                font-size: 1.8rem;
            }
            
            .gallery-subtitle {
                font-size: 1rem;
            }
            
            .mosaic-grid {
                grid-template-columns: 1fr;
                grid-auto-rows: 220px;
            }
            
            .photo-item.tall {
                grid-row: span 1;
            }
        }

    /*==fin galería solo imagenes sin texto==*/


/*para que el card se eleve al pasar el mouse*/
.card{
    transition: all 0.3s; /*transición suave*/
    border:solid 2px white !important;
}

.card:hover{
    transform: scale(1.09);/*se aumenta la escala*/
    box-shadow: 7px -7px 15px rgba(255, 255, 255, 0.8);/*se pone sombra*/
    /*box-shadow: 0px 0px 10px 15px rgba(0,0,0,0.3);/*se pone sombra a los 4 lados*/
}
/*fin para que el card se eleve al pasar el mouse*/
