/* ═══════════ FESTIVALS v2 — badge on image, light countdown ═══════════ */
.fest-row { background:#fff; border:1px solid rgba(212,175,55,.28); border-radius:16px;
  overflow:hidden; display:flex; align-items:stretch; transition:.4s;
  box-shadow:0 18px 45px -24px rgba(100,110,140,.28); }
.fest-row:hover { transform:translateY(-5px);
  box-shadow:0 24px 55px -22px rgba(212,175,55,.45); }

/* image with pinned badge */
.fest-row-img { position:relative; width:250px; flex-shrink:0;
  background-size:cover; background-position:center; min-height:100%; }
.fest-badge { position:absolute; top:14px; left:14px; z-index:2;
  background:linear-gradient(150deg,var(--maroon),#a02546); color:var(--gold-light);
  border:1px solid rgba(212,175,55,.6); border-radius:12px; padding:.55rem .8rem;
  text-align:center; line-height:1.1; min-width:64px;
  box-shadow:0 10px 24px -8px rgba(74,0,18,.55); }
.fest-badge b { display:block; font-size:14px; letter-spacing:.18em; text-transform:uppercase; }
.fest-badge span { font-family:var(--font-display); font-size:1.5rem; font-weight:700; }
.fest-badge small { display:block; font-size:14px; letter-spacing:.12em; opacity:.85; }

/* body layout */
.fest-row-body { padding:1.4rem 1.6rem; flex:1; display:flex; align-items:center; gap:1.6rem; }
.fest-main { flex:1; min-width:240px; }
.fest-row h5 { font-family:var(--font-display); color:#411d10; font-size:24px; margin-bottom:.3rem;font-weight: 700; }
.fest-row p { font-size:18px; color:rgba(65,29,16,.75); margin:0; line-height:1.7;font-weight:500 }

/* slim meta chips */
.fest-meta-row { display:flex; flex-wrap:wrap; gap:.55rem; margin:.2rem 0 .7rem; }
.fest-chip { display:inline-flex; align-items:center; gap:.4rem; font-size:16px; font-weight:600;
  color:var(--maroon); background:rgba(212,175,55,.1); border:1px solid rgba(212,175,55,.45);
  border-radius:50px; padding:.28rem .8rem; }
.fest-chip i { color:var(--saffron); font-size:16px; }

/* light countdown boxes */
.countdown .cd-box { min-width:56px; padding:.45rem .5rem; text-align:center;
  background:#fff; border:1px solid rgba(212,175,55,.55); border-radius:10px;
  transition:.3s; }
.countdown .cd-box:hover { transform:translateY(-2px); border-color:var(--saffron); }
.countdown .cd-box span { display:block; font-family:var(--font-display); font-size:26px;
  font-weight:700; color:var(--maroon); }
.countdown .cd-box small { font-size:16px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--saffron); }

/* right action column */
.fest-actions { margin-left:auto; display:flex; flex-direction:column; gap:.6rem;
  min-width:150px; align-items:stretch; text-align:center; }
.fest-actions .btn { white-space:nowrap; }

/* ═══════════ RESPONSIVE ═══════════ */
@media (max-width:991px){
  .fest-row-img { width:210px; }
  .fest-actions { min-width:130px; }
}
@media (max-width:767px){
  .fest-row { flex-direction:column; }
  .fest-row-img { width:100%; height:190px; }
  .fest-row-body { flex-direction:column; align-items:flex-start; gap:1rem; padding:1.2rem 1.2rem 1.4rem; }
  .fest-actions { margin-left:0; width:100%; flex-direction:row; }
  .fest-actions .btn { flex:1; }
}