/* Events — inspired by lalive.com/events, styled for One Araneta */
    .events-section {
      padding: 72px 0 88px;
    }

    .events-header {
      display: flex;
      flex-wrap: wrap;
      align-items: flex-end;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 40px;
    }

    .events-header h2 {
      font-size: clamp(28px, 4vw, 40px);
      font-weight: 600;
      letter-spacing: -0.02em;
    }

    .view-toggle {
      display: flex;
      gap: 8px;
    }

    .view-toggle button {
      min-height: 36px;
      padding: 0 14px;
      border: 1px solid var(--line);
      background: transparent;
      color: #d7e6ea;
      font-size: 13px;
      font-weight: 500;
    }

    .view-toggle button.is-active {
      background: rgba(188, 150, 230, 0.18);
      border-color: var(--lavender);
      color: var(--white);
    }

    .events-filters {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
      gap: 12px;
      margin-bottom: 28px;
      padding: 20px;
      border: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.03);
    }

    .events-filters label {
      display: grid;
      gap: 6px;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: #cfe7ec;
    }

    .events-filters select,
    .events-filters input {
      height: 40px;
      padding: 0 12px;
      border: 1px solid var(--line);
      background: rgba(33, 11, 44, 0.6);
      color: #eadcf6;
      font-family: inherit;
      font-size: 14px;
    }

    .events-filters select:focus,
    .events-filters input:focus {
      outline: none;
      border-color: var(--lavender);
    }

    .filter-btn {
      align-self: end;
      min-height: 40px;
      padding: 0 20px;
      background: var(--gold);
      color: var(--purple);
      font-size: 13px;
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }

    .filter-btn:hover { background: #ffe199; }

    .events-list {
      display: grid;
      gap: 16px;
    }

    .events-list.is-grid {
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    }

    .event-card {
      display: grid;
      grid-template-columns: 120px 1fr auto;
      gap: 20px;
      align-items: center;
      padding: 20px 24px;
      border: 1px solid var(--line);
      background: rgba(255, 255, 255, 0.03);
      transition: border-color .15s ease;
    }

    .events-list.is-grid .event-card {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .event-card:hover { border-color: var(--lavender); }

    .event-card.is-hidden { display: none; }

    .event-date {
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--gold);
      line-height: 1.4;
    }

    .event-body h3 {
      font-size: 20px;
      font-weight: 600;
      margin-bottom: 4px;
    }

    .event-subtitle {
      color: var(--lavender);
      font-size: 14px;
      margin-bottom: 8px;
    }

    .event-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 16px;
      color: #d7e6ea;
      font-size: 14px;
      font-weight: 300;
    }

    .event-actions {
      display: grid;
      gap: 8px;
      justify-items: end;
    }

    .events-list.is-grid .event-actions {
      justify-items: start;
      width: 100%;
    }

    .event-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 40px;
      padding: 0 18px;
      border-radius: 999px;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      white-space: nowrap;
    }

    .event-btn-primary {
      background: var(--gold);
      color: var(--purple);
    }

    .event-btn-primary:hover { background: #ffe199; }

    .event-btn-secondary {
      border: 1px solid var(--line);
      color: #d7e6ea;
    }

    .event-btn-secondary:hover {
      border-color: var(--gold);
      color: var(--gold);
    }

    .event-status {
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--lavender);
    }

    .event-status.is-cancelled { color: #ff8a8a; }
    .event-status.is-soon { color: var(--gold); }

    .events-more {
      display: flex;
      justify-content: center;
      margin-top: 32px;
    }

    .events-more .btn {
      min-height: 44px;
      padding: 0 32px;
    }

    .events-empty {
      display: none;
      padding: 48px 24px;
      border: 1px dashed var(--line);
      text-align: center;
      color: var(--muted);
    }

    .events-empty.is-visible { display: block; }

    .events-filters.is-calendar-view { display: none; }

    .events-calendar[hidden],
    .events-list[hidden] { display: none !important; }
