

   /* BunnyHop — Event Detail Page | public/css/event-detail.css
   Font Awesome 6 icons. Zero emojis. Mobile-first. */

@keyframes bh-ev-spin { to { transform: rotate(360deg); } }
@keyframes bh-ev-pop  { from { opacity:0; transform:scale(.9); } to { opacity:1; transform:scale(1); } }

/* ── HERO ──────────────────────────────────────────────── */
.bh-ev-hero { padding: 28px 0 0; position: relative; overflow: hidden; }
.bh-ev-circle1, .bh-ev-circle2 { position: absolute; border-radius: 50%; pointer-events: none; }
.bh-ev-circle1 { width: 400px; height: 400px; background: rgba(255,255,255,.07); top: -130px; right: -90px; }
.bh-ev-circle2 { width: 220px; height: 220px; background: rgba(255,255,255,.04); bottom: -60px; left: 4%; }

/* Breadcrumb */
.bh-ev-breadcrumb { display: flex; align-items: center; gap: 6px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.62); margin-bottom: 22px; flex-wrap: wrap; }
.bh-ev-breadcrumb a { color: rgba(255,255,255,.72); text-decoration: none; transition: color .2s; }
.bh-ev-breadcrumb a:hover { color: #fff; }
.bh-ev-breadcrumb span:last-child { color: #fff; }
.bh-ev-bc-icon { font-size: 10px; color: rgba(255,255,255,.4); }

/* Hero grid */
.bh-ev-hero-grid { display: grid; grid-template-columns: 1fr 320px; gap: 36px; align-items: center; padding-bottom: 40px; }

/* Badges */
.bh-ev-badge-row { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; align-items: center; }
.bh-ev-badge-cat { background: rgba(255,255,255,.18); border: 1px solid rgba(255,255,255,.3); border-radius: 50px; padding: 5px 16px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 800; color: #fff; text-transform: uppercase; letter-spacing: .4px; }
.bh-ev-badge-live { background: #EF4444; border-radius: 50px; padding: 5px 14px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 6px; }
.bh-ev-live-dot { width: 7px; height: 7px; background: #fff; border-radius: 50%; animation: bh-ev-spin 1s linear infinite; opacity: .85; }
.bh-ev-badge-upcoming { background: rgba(255,255,255,.15); border: 1px solid rgba(255,255,255,.25); border-radius: 50px; padding: 5px 14px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 800; color: #fff; }
.bh-ev-badge-ended { background: rgba(0,0,0,.2); border-radius: 50px; padding: 5px 14px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 700; color: rgba(255,255,255,.7); }
.bh-ev-badge-urgency { background: #EF4444; border-radius: 50px; padding: 5px 14px; font-family: 'Nunito', sans-serif; font-size: 11px; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 5px; }

/* Hero text */
.bh-ev-hero-title { font-family: 'Fredoka', sans-serif; font-size: clamp(28px, 5vw, 50px); font-weight: 700; color: #fff; line-height: 1.08; margin-bottom: 12px; }
.bh-ev-hero-desc  { font-family: 'Nunito', sans-serif; font-size: 15px; color: rgba(255,255,255,.82); line-height: 1.72; margin-bottom: 22px; max-width: 500px; }

/* Meta row */
.bh-ev-meta-row { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.bh-ev-meta-item { display: flex; align-items: center; gap: 7px; font-family: 'Nunito', sans-serif; font-size: 13.5px; font-weight: 700; color: rgba(255,255,255,.9); }
.bh-ev-meta-icon { font-size: 14px; color: rgba(255,255,255,.7); }

/* CTAs */
.bh-ev-ctas { display: flex; gap: 12px; flex-wrap: wrap; }
.bh-ev-cta-primary { display: inline-flex; align-items: center; gap: 8px; background: #fff; padding: 13px 26px; border-radius: 50px; font-family: 'Fredoka', sans-serif; font-size: 16px; font-weight: 700; text-decoration: none; transition: all .3s; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.bh-ev-cta-outline { display: inline-flex; align-items: center; gap: 8px; background: transparent; color: #fff; padding: 13px 24px; border-radius: 50px; border: 2px solid rgba(255,255,255,.45); font-family: 'Fredoka', sans-serif; font-size: 16px; font-weight: 600; text-decoration: none; transition: all .3s; }
.bh-ev-cta-outline:hover { background: rgba(255,255,255,.12); border-color: #fff; color: #fff; transform: translateY(-2px); }

/* Cover image */
.bh-ev-hero-right { display: flex; align-items: center; justify-content: center; }
.bh-ev-cover-wrap { width: 100%; border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px rgba(0,0,0,.25); border: 3px solid rgba(255,255,255,.2); }
.bh-ev-cover-img  { width: 100%; height: 240px; object-fit: cover; display: block; }
.bh-ev-cover-ph   { width: 100%; height: 240px; border-radius: 20px; background: rgba(255,255,255,.1); border: 3px dashed rgba(255,255,255,.25); display: flex; align-items: center; justify-content: center; }
.bh-ev-cover-ph-icon { font-size: 72px; color: rgba(255,255,255,.3); }

/* ── BODY ──────────────────────────────────────────────── */
.bh-ev-body { background: #F9FAFB; padding: 44px 0 80px; }
.bh-ev-body-grid { display: grid; grid-template-columns: 1fr 300px; gap: 28px; align-items: start; margin-bottom: 48px; }
.bh-ev-main { display: flex; flex-direction: column; gap: 0; }

/* Section card */
.bh-ev-section { background: #fff; border-radius: 20px; padding: 32px; margin-bottom: 20px; border: 0.5px solid #E5E7EB; box-shadow: 0 4px 20px rgba(0,0,0,.05); }
.bh-ev-section-head { margin-bottom: 24px; }
.bh-ev-section-lbl { display: inline-flex; align-items: center; gap: 7px; border: 1.5px solid; border-radius: 50px; padding: 5px 16px; font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 12px; }
.bh-ev-lbl-icon { font-size: 12px; }
.bh-ev-section-title { font-family: 'Fredoka', sans-serif; font-size: clamp(20px, 2.8vw, 28px); font-weight: 700; color: #1C1C2E; margin: 0; }

/* Full description */
.bh-ev-full-desc { font-family: 'Nunito', sans-serif; font-size: 14.5px; color: #374151; line-height: 1.78; }
.bh-ev-full-desc h2, .bh-ev-full-desc h3 { font-family: 'Fredoka', sans-serif; color: #1C1C2E; margin: 20px 0 8px; }
.bh-ev-full-desc ul, .bh-ev-full-desc ol { padding-left: 20px; margin: 10px 0; }
.bh-ev-full-desc li { margin-bottom: 6px; }
.bh-ev-full-desc strong { color: #1C1C2E; }

/* Highlights grid */
.bh-ev-highlights-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.bh-ev-hl-card { border-radius: 14px; padding: 18px; border: 1px solid rgba(0,0,0,.05); transition: all .3s; }
.bh-ev-hl-card:hover { transform: translateY(-4px); box-shadow: 0 12px 32px rgba(0,0,0,.09); }
.bh-ev-hl-icon { width: 44px; height: 44px; border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 18px; margin-bottom: 12px; }
.bh-ev-hl-title { font-family: 'Fredoka', sans-serif; font-size: 15px; font-weight: 700; color: #1C1C2E; margin-bottom: 6px; }
.bh-ev-hl-desc { font-family: 'Nunito', sans-serif; font-size: 12.5px; color: #6B7280; line-height: 1.6; }

/* Checklist */
.bh-ev-checklist-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bh-ev-check-item { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 12px; border: 1px solid; background: #fff; }
.bh-ev-check-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 15px; flex-shrink: 0; }
.bh-ev-check-label { font-family: 'Nunito', sans-serif; font-size: 13px; font-weight: 700; color: #374151; }

/* Registration form */
.bh-ev-reg-section { background: linear-gradient(160deg, #F8FAFF, #EBF3FF); border: 1.5px solid; }
.bh-ev-reg-head { text-align: center; margin-bottom: 24px; }
.bh-ev-reg-title { font-family: 'Fredoka', sans-serif; font-size: clamp(20px, 3vw, 28px); font-weight: 700; color: #1C1C2E; margin-bottom: 6px; }
.bh-ev-reg-sub { font-family: 'Nunito', sans-serif; font-size: 14px; color: #6B7280; }
.bh-ev-reg-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.bh-ev-reg-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 14px; }
.bh-ev-reg-field label { font-family: 'Nunito', sans-serif; font-size: 13px; font-weight: 700; color: #374151; }
.bh-ev-reg-field input, .bh-ev-reg-field select, .bh-ev-reg-field textarea { padding: 12px 14px; border-radius: 12px; border: 1.5px solid #E5E7EB; background: #fff; font-family: 'Nunito', sans-serif; font-size: 14px; color: #1C1C2E; outline: none; transition: all .25s; appearance: none; width: 100%; resize: vertical; }
.bh-ev-reg-field input:focus, .bh-ev-reg-field select:focus, .bh-ev-reg-field textarea:focus { border-color: #1A5CB0; box-shadow: 0 0 0 3px rgba(26,92,176,.1); }
.bh-ev-reg-err { font-family: 'Nunito', sans-serif; font-size: 12px; font-weight: 700; color: #EF4444; min-height: 16px; }
.bh-ev-reg-submit { width: 100%; padding: 15px 24px; border: none; border-radius: 14px; cursor: pointer; font-family: 'Fredoka', sans-serif; font-size: 18px; font-weight: 600; color: #fff; transition: all .3s; box-shadow: 0 8px 28px rgba(0,0,0,.18); margin-bottom: 12px; display: flex; align-items: center; justify-content: center; gap: 8px; }
.bh-ev-reg-submit:hover { transform: translateY(-3px); opacity: .9; }
.bh-ev-reg-btn-loading { display: flex; align-items: center; gap: 10px; }
.bh-ev-spinner { width: 20px; height: 20px; border: 2.5px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 50%; animation: bh-ev-spin .8s linear infinite; }
.bh-ev-reg-privacy { display: flex; align-items: center; justify-content: center; gap: 6px; font-family: 'Nunito', sans-serif; font-size: 12px; color: #9CA3AF; }
.bh-ev-reg-success { text-align: center; padding: 20px; display: flex; flex-direction: column; align-items: center; gap: 12px; animation: bh-ev-pop .4s ease; }
.bh-ev-reg-success-icon { width: 64px; height: 64px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 30px; }
.bh-ev-reg-success h3 { font-family: 'Fredoka', sans-serif; font-size: 24px; font-weight: 700; color: #1C1C2E; }
.bh-ev-reg-success p { font-family: 'Nunito', sans-serif; font-size: 14px; color: #6B7280; line-height: 1.7; }
.bh-ev-reg-success p strong { color: #1A5CB0; }
.bh-ev-success-wa { font-size: 13px !important; }
.bh-ev-success-wa a { font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }

/* ── SIDEBAR ──────────────────────────────────────────── */
.bh-ev-sidebar { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 24px; }
.bh-ev-sb-card { background: #fff; border-radius: 18px; padding: 20px; border: 0.5px solid #E5E7EB; box-shadow: 0 4px 20px rgba(0,0,0,.05); }
.bh-ev-sb-title { font-family: 'Fredoka', sans-serif; font-size: 16px; font-weight: 700; margin-bottom: 16px; padding-bottom: 12px; border-bottom: 2.5px solid; display: flex; align-items: center; gap: 8px; }
.bh-ev-sb-icon { font-size: 15px; opacity: .8; }

/* Detail list */
.bh-ev-detail-list { display: flex; flex-direction: column; gap: 14px; }
.bh-ev-detail-row { display: flex; align-items: flex-start; gap: 12px; }
.bh-ev-detail-icon { width: 34px; height: 34px; background: #F3F4F6; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 14px; flex-shrink: 0; }
.bh-ev-detail-label { font-family: 'Nunito', sans-serif; font-size: 11px; font-weight: 700; color: #9CA3AF; text-transform: uppercase; letter-spacing: .4px; margin-bottom: 3px; }
.bh-ev-detail-val { font-family: 'Nunito', sans-serif; font-size: 14px; font-weight: 700; color: #1C1C2E; line-height: 1.4; }
.bh-ev-detail-price { font-family: 'Fredoka', sans-serif; font-size: 20px !important; font-weight: 700; }
.bh-ev-spots-bar { height: 5px; background: #E5E7EB; border-radius: 3px; margin-top: 6px; overflow: hidden; }
.bh-ev-spots-fill { height: 100%; border-radius: 3px; transition: width .4s; }
.bh-ev-spots-urgency { font-family: 'Nunito', sans-serif; font-size: 11.5px; font-weight: 700; display: flex; align-items: center; gap: 5px; margin-top: 4px; }

/* Register card */
.bh-ev-sb-reg { padding: 24px 20px; text-align: center; }
.bh-ev-sb-reg-title { font-family: 'Fredoka', sans-serif; font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 7px; }
.bh-ev-sb-reg-sub { font-family: 'Nunito', sans-serif; font-size: 12.5px; color: rgba(255,255,255,.8); line-height: 1.55; margin-bottom: 16px; }
.bh-ev-sb-reg-btn { display: flex; align-items: center; justify-content: center; gap: 8px; background: #fff; padding: 12px 20px; border-radius: 12px; font-family: 'Fredoka', sans-serif; font-size: 15px; font-weight: 700; text-decoration: none; transition: all .28s; margin-bottom: 10px; }
.bh-ev-sb-reg-btn:hover { transform: translateY(-2px); opacity: .92; }
.bh-ev-sb-call-btn { display: flex; align-items: center; justify-content: center; gap: 8px; background: rgba(255,255,255,.15); border: 1.5px solid rgba(255,255,255,.3); color: #fff; padding: 10px 16px; border-radius: 12px; font-family: 'Fredoka', sans-serif; font-size: 14px; font-weight: 600; text-decoration: none; transition: all .25s; }
.bh-ev-sb-call-btn:hover { background: rgba(255,255,255,.22); color: #fff; }

/* Share buttons */
.bh-ev-share-btns { display: flex; gap: 10px; }
.bh-ev-share-btn { display: flex; align-items: center; justify-content: center; gap: 7px; flex: 1; padding: 10px 0; border-radius: 10px; font-family: 'Nunito', sans-serif; font-size: 13px; font-weight: 700; text-decoration: none; transition: all .25s; }
.bh-ev-share-wa { background: #25D366; color: #fff; }
.bh-ev-share-fb { background: #1877F2; color: #fff; }
.bh-ev-share-wa:hover, .bh-ev-share-fb:hover { opacity: .88; transform: translateY(-2px); color: #fff; }

/* ── RELATED EVENTS ───────────────────────────────────── */
.bh-ev-related { padding-top: 8px; }
.bh-ev-related-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.bh-ev-related-title { font-family: 'Fredoka', sans-serif; font-size: clamp(20px, 2.5vw, 26px); font-weight: 700; color: #1C1C2E; }
.bh-ev-related-all { font-family: 'Nunito', sans-serif; font-size: 14px; font-weight: 700; color: #1A5CB0; text-decoration: none; display: flex; align-items: center; gap: 5px; border-bottom: 2px solid #1A5CB0; padding-bottom: 1px; }
.bh-ev-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.bh-ev-rel-card { background: #fff; border-radius: 16px; overflow: hidden; border: 0.5px solid #E5E7EB; text-decoration: none; display: flex; flex-direction: column; transition: all .3s; box-shadow: 0 4px 16px rgba(0,0,0,.05); }
.bh-ev-rel-card:hover { transform: translateY(-5px); box-shadow: 0 16px 40px rgba(0,0,0,.12); }
.bh-ev-rel-img { height: 140px; overflow: hidden; }
.bh-ev-rel-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.bh-ev-rel-card:hover .bh-ev-rel-img img { transform: scale(1.06); }
.bh-ev-rel-img-ph { height: 140px; display: flex; align-items: center; justify-content: center; font-size: 48px; color: rgba(255,255,255,.4); }
.bh-ev-rel-body { padding: 16px; flex: 1; }
.bh-ev-rel-cat { font-family: 'Nunito', sans-serif; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 5px; }
.bh-ev-rel-title { font-family: 'Fredoka', sans-serif; font-size: 16px; font-weight: 700; color: #1C1C2E; margin-bottom: 8px; line-height: 1.25; }
.bh-ev-rel-meta { display: flex; flex-direction: column; gap: 4px; }
.bh-ev-rel-meta span { font-family: 'Nunito', sans-serif; font-size: 12px; color: #6B7280; font-weight: 600; display: flex; align-items: center; gap: 5px; }
.bh-ev-rel-meta span i { font-size: 11px; color: #9CA3AF; }
.bh-ev-rel-arrow { padding: 10px 16px; display: flex; justify-content: flex-end; font-size: 14px; }

/* ── RESPONSIVE ───────────────────────────────────────── */
@media (max-width: 1100px) { .bh-ev-body-grid { grid-template-columns: 1fr 268px; } }

@media (max-width: 900px) {
    .bh-ev-hero-grid { grid-template-columns: 1fr; }
    .bh-ev-hero-right { display: none; }
    .bh-ev-body-grid { grid-template-columns: 1fr; }
    .bh-ev-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 4px; }
    .bh-ev-highlights-grid { grid-template-columns: 1fr 1fr; }
    .bh-ev-related-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .bh-ev-body { padding: 24px 0 60px; }
    .bh-ev-section { padding: 20px 14px; margin-bottom: 14px; border-radius: 14px; }
    .bh-ev-hero-title { font-size: 26px; }
    .bh-ev-hero-desc { font-size: 13.5px; }
    .bh-ev-meta-row { gap: 10px; }
    .bh-ev-meta-item { font-size: 12.5px; }
    .bh-ev-ctas { flex-direction: column; gap: 8px; }
    .bh-ev-cta-primary, .bh-ev-cta-outline { justify-content: center; padding: 12px 20px; font-size: 15px; }
    .bh-ev-highlights-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .bh-ev-hl-card { padding: 14px 12px; }
    .bh-ev-hl-icon { width: 36px; height: 36px; font-size: 15px; margin-bottom: 8px; }
    .bh-ev-hl-title { font-size: 13px; }
    .bh-ev-hl-desc { font-size: 11.5px; }
    .bh-ev-checklist-grid { grid-template-columns: 1fr; gap: 8px; }
    .bh-ev-reg-row { grid-template-columns: 1fr; gap: 0; }
    .bh-ev-reg-submit { font-size: 16px; }
    .bh-ev-sidebar { grid-template-columns: 1fr; }
    .bh-ev-related-grid { grid-template-columns: 1fr; }
    .bh-ev-related-head { flex-direction: column; align-items: flex-start; gap: 8px; }
    .bh-ev-section-title { font-size: 18px; }
}

   /* BunnyHop — Event Detail Page | public/css/event-detail.css
   Font Awesome 6 icons. Zero emojis. Mobile-first. */