/* ===== EVENT HIGHLIGHTS ===== */
    .event-section { padding: 5rem 2rem; background: var(--maroon-d); }
    .event-section .section-title { color: #f5e0e0; }
    .event-section .section-title span { color: var(--pink-soft); }
    .event-subtitle {
      text-align: center; color: #b08080; font-size: .9rem;
      margin-top: -2rem; margin-bottom: 3rem;
    }

    /* Filter tabs */
    .event-tabs {
      display: flex; justify-content: center; gap: .6rem;
      flex-wrap: wrap; margin-bottom: 2.5rem;
    }
    .event-tab {
      padding: .45rem 1.2rem; border-radius: 50px;
      border: 1.5px solid rgba(255,255,255,.18); background: transparent;
      color: #c09090; font-family: 'Poppins', sans-serif; font-size: .82rem;
      font-weight: 500; cursor: pointer; transition: all .2s;
    }
    .event-tab:hover { border-color: var(--pink-soft); color: var(--pink-soft); }
    .event-tab.active { background: var(--maroon); border-color: var(--maroon); color: #fff; }

    /* Masonry-style grid */
    .event-grid {
      columns: 3; column-gap: 1.2rem;
      max-width: 1100px; margin: 0 auto;
    }
    .event-card {
      break-inside: avoid; margin-bottom: 1.2rem;
      border-radius: var(--radius); overflow: hidden;
      position: relative; cursor: pointer;
      box-shadow: 0 4px 20px rgba(0,0,0,.3);
      transition: transform .25s, box-shadow .25s;
    }
    .event-card:hover { transform: translateY(-4px); box-shadow: 0 10px 36px rgba(0,0,0,.45); }
    .event-card img {
      width: 100%; display: block; object-fit: cover;
      transition: transform .4s;
    }
    .event-card:hover img { transform: scale(1.04); }
    .event-card-overlay {
      position: absolute; inset: 0;
      background: linear-gradient(to top, rgba(30,0,0,.85) 0%, transparent 55%);
      opacity: 0; transition: opacity .3s;
      display: flex; flex-direction: column; justify-content: flex-end;
      padding: 1.1rem;
    }
    .event-card:hover .event-card-overlay { opacity: 1; }
    .event-card-title { color: #fff; font-weight: 600; font-size: .9rem; line-height: 1.4; }
    .event-card-meta { color: var(--pink-soft); font-size: .75rem; margin-top: .25rem; display: flex; align-items: center; gap: .4rem; }
    .event-tag-pill {
      position: absolute; top: .8rem; left: .8rem;
      background: var(--maroon); color: #fff;
      font-size: .68rem; font-weight: 600; letter-spacing: .06em;
      padding: .25rem .7rem; border-radius: 50px; text-transform: uppercase;
    }

    /* Lightbox */
    .lightbox {
      display: none; position: fixed; inset: 0; z-index: 900;
      background: rgba(0,0,0,.92);
      -webkit-backdrop-filter: blur(6px);
      backdrop-filter: blur(6px);
      align-items: center; justify-content: center;
      padding: 1.5rem;
    }
    .lightbox.open { display: flex; }
    .lightbox-inner {
      max-width: 900px; width: 100%;
      display: grid; grid-template-columns: 1.4fr 1fr; gap: 2rem;
      align-items: center;
    }
    .lightbox-img { width: 100%; border-radius: var(--radius); object-fit: cover; max-height: 70vh; }
    .lightbox-info { color: #eee; }
    .lightbox-tag {
      display: inline-block; background: var(--maroon);
      color: #fff; font-size: .72rem; font-weight: 600; letter-spacing: .1em;
      text-transform: uppercase; padding: .25rem .8rem; border-radius: 50px;
      margin-bottom: .8rem;
    }
    .lightbox-title { font-family: 'Playfair Display', serif; font-size: 1.6rem; color: #fff; margin-bottom: .5rem; line-height: 1.3; }
    .lightbox-date { color: var(--pink-soft); font-size: .85rem; margin-bottom: 1rem; display: flex; align-items: center; gap: .4rem; }
    .lightbox-desc { color: #bbb; font-size: .88rem; line-height: 1.8; }
    .lightbox-close {
      position: absolute; top: 1.2rem; right: 1.4rem;
      background: rgba(255,255,255,.1); border: none; color: #fff;
      font-size: 1.4rem; width: 40px; height: 40px; border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      cursor: pointer; transition: background .2s;
    }
    .lightbox-close:hover { background: rgba(255,255,255,.22); }

    /* Empty event state */
    .event-empty {
      text-align: center; padding: 4rem 2rem;
      color: #a07070;
    }
    .event-empty i { font-size: 3rem; color: #6a3030; display: block; margin-bottom: .8rem; }

    @media (max-width: 768px) {
      .event-grid { columns: 2; }
      .lightbox-inner { grid-template-columns: 1fr; }
      .lightbox-img { max-height: 45vh; }
    }
    @media (max-width: 480px) {
      .event-grid { columns: 1; }
    }
