:root{
  --brand: #37A6E6;
  --brand-dark: #6E4BC5;
  --ink:#171717;
  --muted:#6b7280;
  --creme:#fdeee4;
  --yellow:#ffd34f;
  --purple:#7d62ff;
  --coral:#ff6b6b;
  --mint:#14c4b9;
  --gold:#cba43a;
}
body{font-family:"Poppins",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; color:var(--ink)}
.topbar{background:#f4f7fb;font-size:.9rem}
.topbar a{color:#334155;text-decoration:none}
.topbar .bi{font-size:1rem}
.navbar-brand strong{color:var(--brand)}
.btn-pill{border-radius:999px}
.brand-name-primary{color:var(--brand)}
.brand-name-secondary{color:var(--brand-dark)}
.btn-brand-secondary{background-color:var(--brand-dark); border-color:var(--brand-dark); color:#fff}
.btn-brand-secondary:hover{background-color:var(--brand-dark); border-color:var(--brand-dark); opacity:.9; color:#fff}
.hero{
  background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,.15)), url('/img/home.jpeg');
  background-size:cover;background-position:center;
  color:#fff;min-height:260px;display:flex;align-items:end
}
.breadcrumb a{color:#fff;text-decoration:none}
.hero h1{font-weight:700}
.event-card{border-radius:14px; border:2px solid #2a2a2a; box-shadow:0 4px 0 #2a2a2a; cursor:pointer; transition:transform 0.2s ease, box-shadow 0.2s ease; color:#1e3a5f}
.event-card:hover{transform:translateY(-4px); box-shadow:0 8px 0 #2a2a2a}
.event-card .date-bubble{width:86px; height:86px; border-radius:18px; background:#ffd34f; border:2px solid #2a2a2a; box-shadow:0 5px 0 #2a2a2a; display:flex; flex-direction:column; align-items:center; justify-content:center; font-weight:700}
.event-card .date-bubble small{font-weight:600; padding:0 8px}
.event-card .meta i{margin-right:.4rem}
.event-card h4, .event-card p, .event-card .meta{color:#1e3a5f}
.event-card a{color:inherit}
.card-purple{background:#bdb3ff}
.card-mint{background:#7be4dc}
.card-coral{background:#ff8a7a}
.card-gold{background:#e7d3a1}
.card-lilac{background:#b97ee8}
footer{background:var(--creme)}
footer a{color:inherit; text-decoration:none}
.copyright{border-top:1px solid #e5e7eb; font-size:.9rem}
.rounded-xl{border-radius:18px}
.plan-detail-card{border-radius:18px; border:2px solid #1f2937; box-shadow:0 12px 0 #1f2937; background:#fff}
.detail-list{list-style:none; padding-left:0; margin-bottom:0}
.detail-list li{padding:1rem 0; border-bottom:1px solid #e5e7eb; display:flex; gap:1rem}
.detail-list li:last-child{border-bottom:0}
.detail-icon{width:48px; height:48px; border-radius:12px; background:#f2f4f7; display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:#0f172a}
.detail-meta span{display:block}
.detail-meta small{color:var(--muted); text-transform:uppercase; letter-spacing:.05em; font-weight:600}
.highlight-card{border-radius:14px; border:2px dashed #cbd5f5; padding:1.25rem; background:#f8fbff}
.highlight-card strong{display:block; font-size:1.1rem}
.info-aside{border-radius:18px; border:2px solid #1f2937; background:#171717; color:#fff; padding:1.5rem; box-shadow:0 10px 0 #1f2937}
.info-aside h5{color:#fff}
.info-aside .bi{font-size:1.3rem}
