
.frv-video-section{
padding:120px 0;
background:#0f172a;
overflow:hidden;
}

.frv-video-container{
max-width:1400px;
margin:auto;
padding:0 20px;
}

.frv-video-title{
text-align:center;
margin-bottom:60px;
color:white;
}

.frv-video-title h2{
font-size:40px;
margin-bottom:10px;
color:white;
}

.frv-video-title p{
color:white;
opacity:.8;
}

.frv-video-wrapper{
position:relative;
}

.frv-video-slider{
display:flex;
gap:30px;
overflow:hidden;
scroll-behavior:smooth;
}

.frv-video-card{
min-width:260px;
height:460px;
border-radius:18px;
overflow:hidden;
background:black;
box-shadow:0 20px 40px rgba(0,0,0,0.5);
transition:transform .3s;
}

.frv-video-card:hover{
transform:scale(1.05);
}

.frv-video-card iframe{
width:100%;
height:100%;
border:none;
}

.frv-prev,
.frv-next{
position:absolute;
top:50%;
transform:translateY(-50%);
background:white;
border:none;
width:45px;
height:45px;
border-radius:50%;
cursor:pointer;
font-size:22px;
z-index:10;
}

.frv-prev{
left:-10px;
}

.frv-next{
right:-10px;
}



/* ===== CELULAR ===== */

@media (max-width:768px){

.frv-video-slider{
overflow-x:auto;
scroll-snap-type:x mandatory;
justify-content:center;
padding:0 40px;
}

.frv-video-card{
min-width:85vw;
height:75vh;
scroll-snap-align:center;
}

.frv-video-card iframe{
width:100%;
height:100%;
}

.frv-prev,
.frv-next{
display:flex;
align-items:center;
justify-content:center;
top:50%;
transform:translateY(-50%);
width:40px;
height:40px;
}

.frv-prev{
left:5px;
}

.frv-next{
right:5px;
}

}

/* celulares pequeños */

@media (max-width:480px){

.frv-video-card{
min-width:90vw;
height:70vh;
}

}


/*   Diseño Gallery */

/* CONTENEDOR */
.gallery-container{
    max-width:1200px;
    margin:auto;
    padding:80px 20px;
}

.title{
    text-align:center;
    color:#d4af37;
    font-size:42px;
    margin-bottom:50px;
    letter-spacing:2px;
}

/* GRID */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:25px;
}

/* CARD GALERIA */
.gallery-item{
    height:260px;
    overflow:hidden;
    border-radius:16px;
    /* background:#000; */
    cursor:pointer;
    position:relative;
    transition:all .4s ease;
}

/* CAPA HOVER */

/* BORDE DORADO SUAVE */


.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .6s ease, filter .4s ease;
}



/* PAGINACIÓN RESPONSIVE */

.pagination{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:8px;
margin-top:50px;
}

.pagination a{
display:flex;
align-items:center;
justify-content:center;
min-width:42px;
height:42px;
padding:0 14px;
font-size:16px;
background:#111;
color:#fff;
text-decoration:none;
border-radius:8px;
transition:.3s;
}

.pagination a:hover,
.pagination a.active{
background:#d4af37;
}

/* CELULAR */
@media (max-width:600px){

.pagination{
gap:6px;
margin-top:40px;
}

.pagination a{
min-width:36px;
height:36px;
font-size:14px;
padding:0 10px;
}

}
/* LIGHTBOX */


/* LIGHTBOX UNICO */
.mf-lightbox{
    position:fixed;
    inset:0;
    /* background:rgba(0,0,0,.95); */
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:99999;
}

.mf-lightbox.active{
    opacity:1;
    visibility:visible;
}

.mf-lightbox img{
    max-width:90%;
    max-height:90%;
    border-radius:12px;
    /* box-shadow:0 0 40px rgba(0,0,0,.8); */
    animation:zoomIn .35s ease;
}

@keyframes zoomIn{
    from{
        transform:scale(.8);
        opacity:0;
    }
    to{
        transform:scale(1);
        opacity:1;
    }
}


/* Solo links principales del menú */
.home-header .main-menu > ul > li > a{
color:#fff !important;
}

/* Mantener color normal en el submenu */
.home-header .sub-menu li a{
color:#222 !important;
}


/* Floating Buttons */
.floating-buttons{
position:fixed;
bottom:25px;
left:25px;
display:flex;
flex-direction:column;
gap:12px;
z-index:9999;
}

.float-btn{
width:55px;
height:55px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
color:#fff;
font-size:22px;
box-shadow:0 6px 18px rgba(0,0,0,0.25);
transition:0.3s;
text-decoration:none;
}



/* FLOATING BUTTONS */

.fr-floating-buttons{
position:fixed;
bottom:25px;
left:25px;
display:flex;
flex-direction:column;
gap:12px;
z-index:9999;
}

.fr-float-btn{
width:55px;
height:55px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
background:#ff7a00;
color:#fff;
font-size:22px;
text-decoration:none;
box-shadow:0 8px 20px rgba(0,0,0,0.25);
transition:all .3s ease;
}

.fr-float-btn:hover{
transform:scale(1.1);
box-shadow:0 10px 25px rgba(0,0,0,0.35);
}

/* animación flotante */

.fr-float-btn{
animation:frFloat 3s ease-in-out infinite;
}

@keyframes frFloat{
0%{transform:translateY(0);}
50%{transform:translateY(-6px);}
100%{transform:translateY(0);}
}

/* celular */

@media (max-width:768px){

.fr-floating-buttons{
left:15px;
bottom:20px;
}

.fr-float-btn{
width:50px;
height:50px;
font-size:20px;
}

}


.rfv-video-section{
padding:120px 0;
background:#0f172a;
overflow:hidden;
}

.rfv-video-container{
max-width:1400px;
margin:auto;
padding:0 20px;
}

.rfv-video-title{
text-align:center;
margin-bottom:60px;
color:white;
}

.rfv-video-title h2{
font-size:40px;
margin-bottom:10px;
color:white;
}

.rfv-video-title p{
color:white;
opacity:.8;
}

.rfv-video-wrapper{
position:relative;
}

.rfv-video-slider{
display:flex;
gap:30px;
overflow:hidden;
scroll-behavior:smooth;
}

.rfv-video-card{
min-width:260px;
height:460px;
border-radius:18px;
overflow:hidden;
background:black;
box-shadow:0 20px 40px rgba(0,0,0,0.5);
transition:transform .3s;
}

.rfv-video-card:hover{
transform:scale(1.05);
}

.rfv-video-card iframe{
width:100%;
height:100%;
border:none;
}

.rfv-prev,
.rfv-next{
position:absolute;
top:50%;
transform:translateY(-50%);
background:white;
border:none;
width:45px;
height:45px;
border-radius:50%;
cursor:pointer;
font-size:22px;
z-index:10;
}

.rfv-prev{
left:-10px;
}

.rfv-next{
right:-10px;
}

/* CELULAR */

@media (max-width:768px){

.rfv-video-slider{
overflow-x:auto;
scroll-snap-type:x mandatory;
justify-content:center;
padding:0 40px;
}

.rfv-video-card{
min-width:85vw;
height:75vh;
scroll-snap-align:center;
}

.rfv-video-card iframe{
width:100%;
height:100%;
}

.rfv-prev,
.rfv-next{
display:flex;
align-items:center;
justify-content:center;
top:50%;
transform:translateY(-50%);
width:40px;
height:40px;
}

.rfv-prev{
left:5px;
}

.rfv-next{
right:5px;
}

}

/* celulares pequeños */

@media (max-width:480px){

.rfv-video-card{
min-width:90vw;
height:70vh;
}

}








/* =========================================
   VIDEO SHOWCASE SECTION
========================================= */

.jsb-video-showcase{
    padding:120px 0;
    position:relative;
    overflow:hidden;

    background:
    linear-gradient(
    rgba(9,29,63,.92),
    rgba(9,29,63,.96)
    ),
    center/cover no-repeat;
}


/* =========================================
   VIDEO GRID
========================================= */

.jsb-video-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-top:60px;
}


/* =========================================
   VIDEO CARD
========================================= */

.jsb-video-card{
    position:relative;
    border-radius:20px;
    overflow:hidden;
    cursor:pointer;

    aspect-ratio:16/10;

    background-size:cover;
    background-position:center;
    background-repeat:no-repeat;

    transition:.5s ease;
}


/* OVERLAY */

.jsb-video-overlay{
    position:absolute;
    inset:0;

    background:linear-gradient(
    rgba(0,0,0,.15),
    rgba(9,29,63,.8)
    );

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.4s;
}


/* EFFECT */

.jsb-video-card::after{
    content:'';
    position:absolute;
    inset:0;

    border-radius:20px;

    background:
    radial-gradient(
    circle at center,
    transparent 35%,
    rgba(0,0,0,.5)
    );

    opacity:.6;
    pointer-events:none;
}


/* PLAY BUTTON */

.jsb-play-btn{
    width:75px;
    height:75px;

    border-radius:50%;

    background:#ff5e14;

    color:#ffffff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:28px;
    font-weight:bold;

    transition:.3s;
    z-index:2;
}


/* HOVER */

.jsb-video-card:hover{
    transform:
    translateY(-10px)
    scale(1.03);

    box-shadow:
    0 25px 70px
    rgba(0,0,0,.6);

    background-size:110%;
}

.jsb-video-card:hover .jsb-video-overlay{
    background:
    linear-gradient(
    rgba(0,0,0,.05),
    rgba(9,29,63,.65)
    );
}

.jsb-video-card:hover .jsb-play-btn{
    transform:scale(1.15);

    background:#ffffff;

    color:#ff5e14;
}


/* BORDER EFFECT */

.jsb-video-card::before{
    content:'';

    position:absolute;
    inset:0;

    border-radius:20px;

    padding:1px;

    background:
    linear-gradient(
    135deg,
    transparent,
    #ff5e14,
    transparent
    );

    -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);

    -webkit-mask-composite:xor;

    opacity:0;
    transition:.4s;
}

.jsb-video-card:hover::before{
    opacity:1;
}


/* =========================================
   MODAL
========================================= */

.jsb-video-modal{
    position:fixed;
    inset:0;

    background:rgba(0,0,0,.93);

    display:none;

    align-items:center;
    justify-content:center;

    z-index:99999;

    backdrop-filter:blur(8px);

    padding:20px;
}

.jsb-video-modal.active{
    display:flex;
}

.jsb-video-content{
    width:100%;
    max-width:900px;
    position:relative;
}

.jsb-video-modal iframe{
    width:100%;
    height:500px;

    border-radius:14px;

    box-shadow:
    0 25px 70px
    rgba(0,0,0,.8);
}


/* CLOSE BUTTON */

.jsb-video-close{
    position:absolute;

    top:-45px;
    right:0;

    font-size:35px;

    color:#fff;

    cursor:pointer;

    transition:.3s;
}

.jsb-video-close:hover{
    color: #ff5e14;
    transform:scale(1.2);
}


/* =========================================
   VIDEO ROW FLEX RESPONSIVE
========================================= */

.jsb-video-grid{
    display:flex;
    flex-wrap:wrap;
    gap:30px;
    margin-top:60px;
}

.jsb-video-card{
    position:relative;
    flex:0 0 calc(33.333% - 20px);
    width:calc(33.333% - 20px);
}


/* TABLET */

@media(max-width:991px){

    .jsb-video-grid{
        gap:20px;
    }

    .jsb-video-card{
        flex:0 0 calc(50% - 10px);
        width:calc(50% - 10px);
    }

}


/* MOBILE */

@media(max-width:767px){

    .jsb-video-showcase{
        padding:80px 0;
    }

    .jsb-video-grid{
        display:flex;
        flex-direction:column;
        gap:20px;
        margin-top:40px;
    }

    .jsb-video-card{
        flex:0 0 100%;
        width:100%;
    }

    .jsb-video-modal{
        padding:15px;
    }

    .jsb-video-modal iframe{
        width:100%;
        height:220px;
    }

    .jsb-play-btn{
        width:60px;
        height:60px;
        font-size:22px;
    }

    .sec-title__title{
        font-size:30px;
        line-height:1.3;
       
    }

}
