/* ═══════════ PROGRAM CARDS ═══════════ */
#programs {background: var(--cream); } 
.program-card { background:#fff; border:1px solid rgba(212,175,55,.35);border-color:rgba(212,175,55,.28); outline-color:rgba(212,175,55,.16);
 border-radius:18px;overflow:hidden; height:100%; display:flex; flex-direction:column;
  box-shadow:0 18px 45px -24px rgba(100,110,140,.28);transition: transform .4s, box-shadow .4s; }
.program-card:hover { transform:translateY(-10px); box-shadow:0 18px 45px -22px oklch(56% .12 45 / .45) }
.card-img-wrap { height:220px; overflow:hidden; background:linear-gradient(135deg,var(--maroon),var(--saffron)); }
.card-img-wrap img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.program-card:hover .card-img-wrap img { transform:scale(1.08); }
.card-body-custom { padding:1.8rem; display:flex; flex-direction:column; flex:1; }
.card-body-custom h3 { font-family:var(--font-display); color:#411d10;font-size:24px;font-weight:700 }
.card-body-custom h3 i { color:var(--gold); margin-right:.5rem; }
.card-body-custom p { font-size:18px; flex:1; }
.card-body-custom strong{
  color: #dd5400;
}

.card-body-custom .btn { align-self:flex-start; }
/* ═══════════ EVENTS ═══════════ */
.event-card { background:#fffdf6; border:1px solid rgba(212,175,55,.35); border-radius:20px; overflow:hidden; }
.event-img { min-height:280px; background-size:cover; background-position:center; background-color:var(--maroon); }
.event-date { display:inline-block; background:rgba(212,175,55,.15); color:var(--maroon);
  border:1px solid rgba(212,175,55,.5); border-radius:50px; padding:.35rem 1rem;
  font-size:.8rem; font-weight:600; margin-bottom:1rem; }
.event-card h3 { font-family:var(--font-display); color:var(--maroon); font-size:1.8rem; }
.event-card p { color:rgba(128,0,32,.7); }
.cd-box { background:var(--maroon); color:var(--gold-light); border-radius:12px;
  padding:.5rem .8rem; text-align:center; min-width:62px; }
.cd-box span { display:block; font-size:24px; font-weight:700; font-family:var(--font-display); }
.cd-box small { font-size:18px; letter-spacing:.12em; text-transform:uppercase; }
.carousel-control-prev,.carousel-control-next { width:52px; height:52px; border-radius:50%;
  background:var(--gold); color:var(--maroon-deep); top:50%; bottom:auto;
  transform:translateY(-50%); opacity:1; transition:.3s; }
.carousel-control-prev { left:12px; } .carousel-control-next { right:12px; }
.carousel-control-prev:hover,.carousel-control-next:hover { background:var(--saffron); color:#fff; }
.carousel-control-prev i,.carousel-control-next i { font-size:1.3rem; }
.carousel-indicators { margin-bottom:-2.6rem; }
.carousel-indicators [data-bs-target] { width:10px; height:10px; border-radius:50%;
  background:var(--gold); border:none; opacity:.4; }
.carousel-indicators .active { opacity:1; }
#eventsCarousel { padding-bottom:3.5rem; }