/* ===================================
UNIREB STYLESHEET
=================================== */

:root{
    --primary:#0d6efd;
    --secondary:#004aad;

    --white:#ffffff;
    --light:#f8f9fa;

    --text:#333;
    --text-light:#555;

    --shadow-sm:0 5px 20px rgba(0,0,0,.08);
    --shadow-md:0 10px 30px rgba(0,0,0,.12);
    --shadow-lg:0 15px 35px rgba(0,0,0,.15);

    --radius:20px;
}
/* ===================================
GENERAL
=================================== */


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

html{
scroll-behavior:smooth;
}

body{
font-family:'Segoe UI',sans-serif;
overflow-x:hidden;
background:#fff;
color:#333;
}

/* ===================================
NAVBAR
=================================== */

.navbar{
background:#fff !important;
transition:.3s;
z-index:9999;
}

.navbar-brand{
font-size:1.5rem;
font-weight:700;
}

.navbar-brand img{
height:50px;
}

.nav-link{
font-weight:600;
transition:.3s;
}

.nav-link:hover{
color:var(--primary)!important;
}

/* ===================================
DROPDOWN MENU
=================================== */

.dropdown-menu{
border:none;
border-radius:15px;
box-shadow:0 10px 30px rgba(0,0,0,.12);
padding:.5rem 0;
}

.dropdown-item{
padding:.75rem 1.2rem;
transition:.3s;
}

.dropdown-item:hover{
background:#eef4ff;
color:var(--primary);
padding-left:1.5rem;
}

.dropdown-header{
color:var(--primary);
font-weight:700;
font-size:.9rem;
}

.dropdown-divider{
margin:.4rem 0;
}

CARRUSEL
/* ===================================
INDICADORES DEL CARRUSEL
=================================== */

.carousel-indicators{
bottom:20px;
}

.carousel-indicators button{
width:14px !important;
height:14px !important;
border-radius:50%;
margin:0 6px !important;
background-color:#ffffff !important;
opacity:.5;
transition:.3s;
}

.carousel-indicators button.active{
opacity:1;
transform:scale(1.3);
background-color:var(--primary) !important;
}

/* ===================================
SECCIONES
=================================== */

section{
padding:70px 0;
}

.section-title{
text-align:center;
margin-bottom:40px;
}

.section-title h2{
color:var(--primary);
font-weight:700;
}

/* ===================================
OFERTA ACADÉMICA
=================================== */

.career-card{
background:#fff;
border-radius:20px;
overflow:hidden;
box-shadow:0 5px 20px rgba(0,0,0,.08);
transition:.4s;
height:100%;
}

.career-card:hover{
transform:translateY(-10px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.career-card img{
width:100%;
height:220px;
object-fit:cover;
}

.career-card h5{
padding:20px;
text-align:center;
color:#333;
font-weight:700;
}

/* ===================================
PÁGINAS DE CARRERAS
=================================== */

.career-header{
width:100%;
height:450px;
object-fit:cover;
}

.career-content{
padding:60px 0;
}

.career-box{
background:#fff;
border-radius:20px;
padding:35px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.career-box h1{
color:var(--primary);
margin-bottom:25px;
}

.career-box ul li{
margin-bottom:8px;
}

/* ===================================
BANNER CARRERAS
=================================== */


.career-banner{
position:relative;
width:100%;
height:60vh;
min-height:350px;
max-height:650px;
overflow:hidden;
}

.carousel-item img{
transition:transform .5s ease;
}

.btn-info-career:hover{
filter:brightness(1.05);
}

.banner-img{
width:100%;
height:100%;
object-fit:cover;
object-position:center;
display:block;
}
@media(max-width:768px){

.banner-overlay{
bottom:15px;
}

}

.banner-overlay{
position:absolute;
bottom:40px;
left:50%;
transform:translateX(-50%);
z-index:2;
}



.career-banner::before{
display:none;
}

.career-banner .content{
position:relative;
z-index:2;
}

/* ===================================
CONTACTO
=================================== */

.contact-section{
background:#f7f9fc;
}

.contact-card{
background:#fff;
border-radius:20px;
padding:40px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
}

/* ===================================
BOTONES SOCIALES
=================================== */

.social-floating{
position:fixed;
right:20px;
bottom:20px;
z-index:9999;
}

.social-floating a{
width:55px;
height:55px;
border-radius:50%;
display:flex;
justify-content:center;
align-items:center;
color:#fff;
text-decoration:none;
margin-top:10px;
font-size:22px;
transition:.3s;
box-shadow:0 5px 15px rgba(0,0,0,.2);
}

.social-floating a:hover{
transform:scale(1.1);
}

.whatsapp{
background:#25D366;
}

.facebook{
background:#1877F2;
}

.instagram{
background:linear-gradient(
45deg,
#f09433,
#e6683c,
#dc2743,
#cc2366,
#bc1888
);
}

/* ===================================
FOOTER
=================================== */

footer{
background:linear-gradient(
135deg,
#004aad,
#0d6efd
);
color:#fff;
}

footer p{
margin:0;
}

/* ===================================
ANIMACIONES
=================================== */

.fade-up{
animation:fadeUp .8s ease;
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* ===================================
RESPONSIVE TABLET
=================================== */


@media(max-width:991px){

.carousel-item{
    height:60vh;
    min-height:420px;
}

.carousel-caption{
    bottom:8%;
}

.carousel-caption h1{
    font-size:2rem;
}

}

@media(max-width:576px){

.carousel-item{
    height:45vh;
    min-height:280px;
}

.carousel-caption{
    bottom:5%;
}

.carousel-caption h1{
    font-size:1.4rem;
}

.carousel-caption p{
    display:none;
}

.career-card img{
    height:180px;
}

.career-box{
    padding:20px;
}

.social-floating{
    right:10px;
    bottom:10px;
}

.social-floating a{
    width:50px;
    height:50px;
}

.btn-info-career{
    font-size:1rem;
    padding:12px 25px;
}

}
/* ===================================
BOTÓN SOLICITAR INFORMACIÓN
=================================== */

.btn-info-career{
background:linear-gradient(
135deg,
#004aad,
#0d6efd
);
color:#fff;
padding:15px 40px;
font-size:1.15rem;
font-weight:700;
border:none;
border-radius:50px;
display:inline-flex;
align-items:center;
gap:10px;
text-decoration:none;
box-shadow:0 10px 25px rgba(13,110,253,.35);
transition:.35s;
}

.btn-info-career:hover{
transform:translateY(-5px);
box-shadow:0 15px 35px rgba(13,110,253,.45);
color:#fff;
}

.btn-info-career i{
font-size:1.1rem;
}
.plan-card{
border:none;
border-radius:18px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.35s;
}

.plan-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.plan-card .card-body{
padding:25px;
}


.form-control{
border-radius:12px;
padding:14px 18px;
font-size:1rem;
border:1px solid #dce3eb;
}

.form-control:focus{
border-color:#0d6efd;
box-shadow:0 0 0 .2rem rgba(13,110,253,.15);
}

/* ===================================
TARJETAS DE INFORMACIÓN
=================================== */

.info-card{
background:#fff;
border-radius:20px;
padding:35px 25px;
text-align:center;
height:100%;
box-shadow:0 10px 25px rgba(0,0,0,.08);
transition:.35s;
border-top:5px solid #0d6efd;
}

.info-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.info-icon{
width:80px;
height:80px;
margin:0 auto 20px;
border-radius:50%;
background:linear-gradient(
135deg,
#004aad,
#0d6efd
);
display:flex;
align-items:center;
justify-content:center;
color:#fff;
font-size:2rem;
}

.info-card h4{
font-size:1.3rem;
font-weight:700;
color:#004aad;
margin-bottom:10px;
}

.info-card p{
font-size:1.05rem;
margin:0;
color:#555;
font-weight:500;
}

/* ===================================
INFORMACIÓN DE LA CARRERA
=================================== */

.info-box{
border-top:5px solid #0d6efd;
transition:.35s;
height:100%;
}

.info-box:hover{
transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}



.info-box h5{
font-size:1.2rem;
font-weight:700;
color:#004aad;
margin-bottom:10px;
letter-spacing:1px;
}

.info-box p{
font-size:1.1rem;
font-weight:600;
color:#555;
margin:0;
}

/* ===================================
PERFILES DE LA CARRERA
=================================== */

.profile-card{
height:100%;
transition:.35s;
}

.profile-card:hover{
transform:translateY(-8px);
box-shadow:0 15px 35px rgba(0,0,0,.15);
}

.profile-icon{
width:80px;
height:80px;
margin:0 auto 20px;
border-radius:50%;
background:#f4f7fc;

display:flex;
align-items:center;
justify-content:center;

font-size:2rem;
color:#004aad;
}

.profile-card h3{
font-size:1.4rem;
font-weight:700;
text-align:center;
margin-bottom:20px;
color:#333;
}

.profile-card p{
text-align:justify;
line-height:1.8;
color:#555;
margin-bottom:0;
}

.profile-card ul{
padding-left:20px;
margin:0;
}

.profile-card ul li{
margin-bottom:10px;
color:#555;
}

/* ===================================
VIDEO DE BIENVENIDA
=================================== */

.video-modal{
    background:transparent;
    border:none;
    box-shadow:none;
}

.video-modal .modal-body{
    background:#000;
    border-radius:18px;
    overflow:hidden;
}

.video-modal video{
    width:100%;
    height:90vh;
    object-fit:contain;
    object-position:center;
    background:#000;
}

.video-close{
    position:absolute;
    top:20px;
    right:20px;

    width:55px;
    height:55px;

    border:none;
    border-radius:50%;

    background:rgba(0,0,0,.70);
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:1.6rem;
    cursor:pointer;

    z-index:9999;
    transition:.3s;
}

.video-close:hover{
    background:#0d6efd;
    transform:rotate(90deg) scale(1.1);
}

.video-close i{
    pointer-events:none;
}

.modal-backdrop.show{
    opacity:.9;
}

.modal{
    z-index: 20000 !important;
}

.modal-backdrop{
    z-index: 19999 !important;
}

/* ===================================
VIDEO DE BIENVENIDA - MÓVIL
=================================== */

@media (max-width: 768px){

    .video-modal .modal-dialog{
        width:70vw;
        max-width:70vw;
        height:auto;
        margin:auto;
    }

    .video-modal .modal-content{
        border-radius:18px;
        overflow:hidden;
    }

    .video-modal video{
        width:100%;
        height:auto;
        max-height:60vh;
        object-fit:contain;
    }

}

.video-section {
    position: relative;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: transparent;
}

.video-bg {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, -50%);
    background: transparent;
}

.video-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: 1;
}

.contenido-video {
    position: relative;
    z-index: 2;
}