:root{
  --brand:#148a3f;
  --brand2:#0e6ebe;
  --accent:#0d6efd;
}

/* ===== FONDO GENERAL BLANCO ===== */
html, body{
  background:#ffffff;
  font-feature-settings:"ss01" on;
}

.navbar-brand strong{
  letter-spacing:.3px;
}

.object-fit-cover{
  object-fit:cover;
}

.drop-shadow{
  text-shadow:0 2px 14px rgba(0,0,0,.45);
}

.program-card .card-title{
  font-weight:700;
}

/* ===== Sponsors strip ===== */

.sponsors-section h3{
  font-weight:800;
}

.sponsors-strip{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:18px;
  overflow:hidden;
}

.sponsors-track{
  display:flex;
  align-items:center;
  gap:56px;
  animation:logos-scroll 35s linear infinite;
  will-change: transform;
}

.sponsors-logo img{
  height:64px;
  max-width:160px;
  object-fit:contain;
  filter:grayscale(100%);
  opacity:.9;
  transition:.2s;
}

.sponsors-logo img:hover{
  filter:none;
  opacity:1;
}

@keyframes logos-scroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}

@media (max-width: 576px){
  .sponsors-logo img{
    height:48px;
    max-width:120px;
  }
  .sponsors-track{
    gap:36px;
    animation-duration:28s;
  }
}

/* ===== Footer dark elegante ===== */

.footer-dark{
  background: linear-gradient(135deg, var(--brand2), var(--brand));
  color:#fff;
}

.footer-links a{
  color:rgba(255,255,255,.85);
  text-decoration:none;
}

.footer-links a:hover{
  color:#fff;
  text-decoration:underline;
}

/* ===== Secciones oscuras SOLO si las usas ===== */

.vida-dark-section{
  background: linear-gradient(180deg,#020617,#020b1d,#000000);
}

/* Cards modo dark dentro de secciones dark */

.vida-dark-section .card{
  background: rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  color:#fff;
}

.vida-dark-section .card-header{
  background: transparent !important;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* ===== Contenido blanco ===== */

.page-content-white{
  background:#fff;
  padding:16px 0 40px;
  min-height:60vh;
}
.sponsor-equal{
  height:100%;
}

.sponsor-equal .swiper,
.sponsor-equal .carousel,
.sponsor-equal .sponsors-strip,
.sponsor-equal img{
  height:100%;
}

.sponsor-equal img{
  width:100%;
  object-fit:cover;
}
