:root {
    --primary: #00AEEF;
    --primary-dark: #0088cc;
    --dark: #1e293b;
}

/* BLOQUEO DE OVERFLOW GLOBAL */
html, body { 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    overflow-x: hidden; 
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
}

/* NAVBAR Y LOGO */
.navbar { padding: 10px 0; }
.logo-responsive { 
    height: 45px; 
    width: auto; 
    max-width: 150px; 
    object-fit: contain; 
}

/* HERO */
.hero-wrap {
    min-height: 90vh;
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url('https://columbiaschool.com/wp-content/uploads/2023/07/img@2x.png');
    background-size: cover; 
    background-position: center; 
    padding: 100px 0;
    width: 100%;
}

@media (max-width: 991px) {
    .hero-content { text-align: center !important; }
    .hero-btns { justify-content: center !important; }
    .hero-wrap h1 { font-size: 2.2rem; }
}

/* SLIDER */
.slider-master-wrapper { 
    position: relative; 
    max-width: 1200px; 
    margin: 0 auto; 
    padding: 0 70px;
}
.slider-view { overflow: hidden; touch-action: pan-y; width: 100%; }
.slider-track { display: flex; gap: 24px; transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1); }
.slider-item { flex: 0 0 calc(33.333% - 16px); min-width: calc(33.333% - 16px); }

/* OCULTAR FLECHAS EN MÓVIL */
.nav-btn { 
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    width: 50px; 
    height: 50px; 
    border-radius: 50%; 
    border: none; 
    background: #fff; 
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
    color: var(--primary); 
    z-index: 10; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}
.btn-left { left: 0; } 
.btn-right { right: 0; }

@media (max-width: 991px) {
    .slider-item { flex: 0 0 100%; min-width: 100%; }
    .slider-master-wrapper { padding: 0 15px; }
    .nav-btn { display: none !important; } /* INSTRUCCIÓN: Sin flechas en responsivo */
}

/* CARDS */
.program-card { background: #fff; border-radius: 24px; height: 580px; border: 1px solid #eee; display: flex; flex-direction: column; overflow: hidden; cursor: pointer; transition: 0.3s; }
.card-image { height: 65%; background-size: cover; background-position: center; }
.card-body-custom { padding: 25px; flex-grow: 1; display: flex; flex-direction: column; justify-content: flex-start; }
.duration { color: var(--primary) !important; font-weight: 700; margin-top: auto; }

/* INDICADORES (PUNTOS) */
.dot-indicator { width: 10px; height: 10px; border-radius: 50%; background-color: #d1d5db; transition: 0.4s; }
.dot-indicator.active { background-color: var(--primary); width: 25px; border-radius: 10px; }

/* MODAL OPTIMIZADO */
.modal-img-custom { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
    .modal-img-custom { height: 180px !important; min-height: 180px !important; }
    .modal-dialog { margin: 10px; }
}

.btn-primary { background: var(--primary); border: none; border-radius: 10px; color: white; }
.hover-primary:hover { color: var(--primary) !important; }