:root{
    --color-primario:#1e3a5f;
    --color-secundario:#c9a227;
    --color-texto:#333;
    --color-texto-claro:#6c757d;
    --fuente-titulos:'Montserrat',sans-serif;
    --fuente-cuerpo:'Open Sans',sans-serif;
}
body{font-family:var(--fuente-cuerpo);color:var(--color-texto)}
h1,h2,h3,h4,h5,h6{font-family:var(--fuente-titulos);font-weight:600}

/* ===== BARRA INSTITUCIONAL Y HEADER ===== */
.barra-institucional{background:var(--color-primario);padding:8px 0;font-size:.85rem}
.header-principal{background:#fff;border-bottom:3px solid var(--color-secundario)}
.cifhs-logo{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-primario),#2c5282);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.6rem;flex-shrink:0}
.titulo-cifhs{font-size:1.8rem;font-weight:700;color:var(--color-primario);line-height:1}
.subtitulo-cifhs{font-size:.85rem;color:var(--color-texto-claro)}

/* ===== NAVEGACIÓN ===== */
.bg-primary-cifhs{background-color:var(--color-primario)!important}
.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.85);padding:12px 15px;font-weight:500;transition:.3s}
.navbar-dark .navbar-nav .nav-link:hover,.navbar-dark .navbar-nav .nav-link.active{color:var(--color-secundario);background:rgba(255,255,255,.1)}

/* ===== HERO ===== */
.hero-cifhs{
    background:linear-gradient(135deg,var(--color-primario) 0%,#2c5282 100%);
    padding:60px 0;
    position:relative;
    overflow:hidden;
}
.badge-hero{
    display:inline-block;
    background:rgba(201,162,39,.2);
    color:var(--color-secundario);
    padding:6px 15px;
    border-radius:20px;
    font-size:.85rem;
    font-weight:600;
    border:1px solid rgba(201,162,39,.4);
}

/* ===== MARCO PROFESIONAL DE LA FOTO DEL COMITÉ ===== */
.hero-foto-comite{
    position:relative;
    background:#fff;
    padding:10px;
    border-radius:12px;
    box-shadow:
        0 15px 40px rgba(0,0,0,0.35),
        0 0 0 1px rgba(201,162,39,0.4);
    width:100%;
    max-width:420px;
    margin:0 auto;
    transition:transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-foto-comite::before{
    content:'';
    position:absolute;
    top:-5px;
    left:-5px;
    right:-5px;
    bottom:-5px;
    border:2px solid var(--color-secundario);
    border-radius:15px;
    pointer-events:none;
    opacity:0.55;
}

.hero-foto-comite:hover{
    transform:translateY(-4px);
    box-shadow:
        0 20px 50px rgba(0,0,0,0.45),
        0 0 0 1px rgba(201,162,39,0.6);
}

.hero-foto-comite img{
    width:100%;
    height:auto;
    display:block;
    border-radius:6px;
    object-fit:contain;
    background:#f5f5f5;
}

.hero-foto-caption{
    margin-top:8px;
    background:linear-gradient(135deg,var(--color-primario),#2c5282);
    color:#fff;
    padding:9px 15px;
    border-radius:6px;
    font-family:var(--fuente-titulos);
    font-weight:600;
    font-size:.85rem;
    text-align:center;
    border-top:2px solid var(--color-secundario);
}
.hero-foto-caption i{color:var(--color-secundario)}

/* ===== ESTADÍSTICAS ===== */
.section-stats{background:#f8f9fa;padding:40px 0;border-bottom:1px solid #e9ecef}
.stat-item{text-align:center}
.stat-icon{font-size:2rem;color:var(--color-secundario);margin-bottom:10px}
.stat-number{font-size:2.5rem;font-weight:700;color:var(--color-primario);line-height:1;font-family:var(--fuente-titulos)}
.stat-label{color:var(--color-texto-claro);font-size:.9rem;margin-top:5px}

/* ===== TÍTULOS DE SECCIÓN ===== */
.section-title{font-size:1.9rem;font-weight:700;color:var(--color-primario);margin-bottom:1rem;position:relative}
.section-title::after{content:'';display:block;width:60px;height:4px;background:var(--color-secundario);margin-top:10px}
.section-title.text-center::after{margin:10px auto 0}
.section-title.text-start::after{margin:10px 0 0}

/* ===== TARJETAS DE FUNCIONES ===== */
.card-funcion{background:#fff;border-radius:12px;padding:30px;text-align:center;box-shadow:0 5px 20px rgba(0,0,0,.08);transition:.3s;border-top:4px solid var(--color-secundario)}
.card-funcion:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.card-icon{width:70px;height:70px;background:linear-gradient(135deg,var(--color-primario),#2c5282);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.card-icon i{font-size:1.8rem;color:#fff}

/* ===== ICONO DOCUMENTO ===== */
.documento-icon{width:150px;height:150px;background:#fff;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto;box-shadow:0 10px 30px rgba(0,0,0,.1)}
.documento-icon i{font-size:4rem;color:#dc3545}

/* ===== TARJETAS DE INTEGRANTES ===== */
.card-integrante{background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 15px rgba(0,0,0,.06);transition:.3s}
.card-integrante:hover{box-shadow:0 8px 25px rgba(0,0,0,.1)}
.integrante-foto{width:120px;height:120px;margin:0 auto 15px;border-radius:50%;overflow:hidden;border:4px solid var(--color-secundario)}
.integrante-foto img{width:100%;height:100%;object-fit:cover}
.integrante-nombre{color:var(--color-primario);font-size:1rem;margin-bottom:5px}
.integrante-cargo{color:var(--color-texto-claro);font-size:.85rem;margin-bottom:10px}

.card-integrante-full{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,.08);transition:.3s;height:100%}
.card-integrante-full:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.12)}
.integrante-foto-full{height:260px;overflow:hidden;background:#f0f0f0}
.integrante-foto-full img{width:100%;height:100%;object-fit:cover}
.integrante-info{padding:20px}
.integrante-info h4{color:var(--color-primario);font-size:1.1rem;margin-bottom:5px}
.integrante-info .cargo{color:var(--color-texto-claro);font-size:.9rem;margin-bottom:10px}

/* ===== TARJETAS DE ACTIVIDADES ===== */
.card-actividad{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,.06);transition:.3s;height:100%}
.card-actividad:hover{box-shadow:0 8px 25px rgba(0,0,0,.12);transform:translateY(-3px)}
.card-actividad-imagen{position:relative;height:200px;overflow:hidden;background:#f0f0f0}
.card-actividad-imagen img{width:100%;height:100%;object-fit:cover;transition:.3s}
.card-actividad:hover .card-actividad-imagen img{transform:scale(1.05)}
.badge-tipo{position:absolute;top:15px;left:15px;padding:5px 12px;border-radius:20px;font-size:.72rem;font-weight:600;text-transform:uppercase}
.badge-capacitacion{background:#0d6efd;color:#fff}
.badge-taller{background:#198754;color:#fff}
.badge-charla{background:#6f42c1;color:#fff}
.badge-campana{background:#fd7e14;color:#fff}
.badge-reunion{background:#20c997;color:#fff}
.badge-conversatorio{background:#d63384;color:#fff}
.badge-feria{background:#0dcaf0;color:#000}
.badge-otro{background:#6c757d;color:#fff}
.card-actividad-body{padding:20px}
.actividad-fecha{font-size:.85rem;color:var(--color-texto-claro);margin-bottom:10px}
.actividad-titulo{color:var(--color-primario);font-size:1.05rem;margin-bottom:10px;line-height:1.4}
.actividad-descripcion{font-size:.9rem;color:var(--color-texto-claro);margin-bottom:15px}

/* ===== TESTIMONIOS ===== */
.card-testimonio{background:#fff;border-radius:12px;padding:25px;box-shadow:0 3px 15px rgba(0,0,0,.06);border-left:4px solid var(--color-secundario)}
.testimonio-icon{font-size:1.5rem;color:var(--color-secundario);margin-bottom:10px}

/* ===== CTA ===== */
.cta-box{background:linear-gradient(135deg,var(--color-primario) 0%,#2c5282 100%);border-radius:15px;padding:40px}

/* ===== PAGE HEADER ===== */
.page-header{background:linear-gradient(135deg,var(--color-primario) 0%,#2c5282 100%);padding:60px 0 40px;color:#fff}
.page-header .breadcrumb{background:transparent;padding:0;margin-bottom:15px}
.page-header .breadcrumb-item a{color:rgba(255,255,255,.7);text-decoration:none}
.page-header .breadcrumb-item.active{color:var(--color-secundario)}
.page-header .breadcrumb-item + .breadcrumb-item::before{color:rgba(255,255,255,.5)}
.page-title{font-size:2.3rem;font-weight:700;margin-bottom:10px}
.page-subtitle{font-size:1.05rem;opacity:.9}

/* ===== RESOLUCIONES ===== */
.card-resolucion{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 3px 15px rgba(0,0,0,.08)}
.card-resolucion-header{background:linear-gradient(135deg,var(--color-primario),#2c5282);color:#fff;padding:25px}
.card-resolucion-header h3{color:#fff;margin:0}
.card-resolucion-body{padding:25px}

/* ===== NORMATIVA ===== */
.card-normativa{background:#fff;border-radius:10px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,.05);border-left:4px solid var(--color-secundario)}
.normativa-icon{width:50px;height:50px;background:var(--color-primario);border-radius:10px;display:flex;align-items:center;justify-content:center;margin-right:15px;flex-shrink:0}
.normativa-icon i{color:#fff;font-size:1.2rem}

/* ===== BOTONES ===== */
.btn-primary-cifhs{background:var(--color-primario);border-color:var(--color-primario);color:#fff}
.btn-primary-cifhs:hover{background:#152a47;border-color:#152a47;color:#fff}

/* ===== SIDEBAR INFO ===== */
.sidebar-info{background:#f8f9fa;border-radius:12px;padding:20px}
.sidebar-info h5{color:var(--color-primario);margin-bottom:15px}

/* ===== CONTACTO ===== */
.contacto-info{background:#f8f9fa;border-radius:12px;padding:25px;height:100%}
.contacto-info h4{color:var(--color-primario);margin-bottom:15px}

/* ===== GALERÍA ===== */
.galeria-img{transition:.3s;cursor:pointer}
.galeria-img:hover{transform:scale(1.05)}

/* ===== FOOTER ===== */
.footer-cifhs{background:var(--color-primario);padding:50px 0 20px}

/* ===== RESPONSIVE ===== */
@media (max-width:991px){
    .hero-cifhs{padding:50px 0;text-align:center}
    .hero-foto-comite{max-width:100%;margin-top:30px}
}

@media (max-width:768px){
    .titulo-cifhs{font-size:1.4rem}
    .subtitulo-cifhs{font-size:.75rem}
    .hero-cifhs{padding:40px 0}
    .page-title{font-size:1.7rem}
    .section-title{font-size:1.5rem}
    .cta-box{padding:25px}
    .hero-foto-caption{font-size:.8rem;padding:8px 12px}
}