 /* ============================================ */
  /* UPCOMING EVENTS                              */
  /* ============================================ */
  .ev-section {
    position: relative;
    padding: 20px 0 56px;
    background-color: #fff;
    background-image: url('images/insight/wave1.png');   /* static now (no fixed/animated background) */
    background-repeat: repeat-x;
    background-position: center bottom;
    background-size: auto 60%;
    border-top: 4px solid var(--gold, #c9a54b);
    color: var(--navy, #14213d);
  }
  .ev-section .container-fluid { padding-left: 5.5%; padding-right: 5.5%; }

  .ev-head { margin-bottom: 24px; }
  .ev-head h2 {
    margin: 0;
    font-family: Georgia, "Source Serif 4", "Times New Roman", serif;
    font-size: 32px;
    font-weight: 700;
    color: var(--navy, #713600);
  }

  /* ---- Grid ---- */
  .ev-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
  }

  /* ---- Card ---- */
  .ev-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);     /* date | details */
    background: #fff;
    border: 1px solid var(--line, #e5e0d5);
    border-left: 4px solid var(--gold, #c9a54b);
    border-radius: 8px;
    overflow: hidden;                                /* nothing can poke out of the card */
    box-shadow: 0 2px 10px rgba(20, 33, 61, 0.06);
    transition: border-color .2s, box-shadow .2s, transform .2s;
  }
  .ev-card:hover {
    border-color: var(--gold, #c9a54b);
    box-shadow: 0 10px 24px rgba(20, 33, 61, 0.12);
    transform: translateY(-3px);
  }

  /* ---- Date column ---- */
  .ev-card__date {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 20px 22px;
    background: #faf7ef;
    border-right: 1px solid var(--line, #e5e0d5);
  }
  .ev-card__dash { font-size: 20px; font-weight: 700; color: var(--gold-dark, #8a6d2f); }

  .ev-cal {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 84px;
    overflow: hidden;
    text-align: center;
    background: #fff;
    border: 1px solid #d9d2bf;
    border-radius: 8px;
    box-shadow: 0 3px 8px rgba(20, 33, 61, 0.08);
  }
  .ev-cal__month {
    width: 100%;
    padding: 5px 0;
    background: var(--navy, #14213d);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
  }
  .ev-cal__day {
    padding-top: 4px;
    font-family: Georgia, "Source Serif 4", "Times New Roman", serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.1;
    color: var(--navy, #14213d);
  }
  .ev-cal__year { padding-bottom: 6px; font-size: 12px; color: #6b7380; }

  /* ---- Details column ---- */
  .ev-card__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 0;                                    /* lets the text wrap instead of overflowing */
    padding: 7px 12px;
  }
  .ev-card__title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.35;
    color: var(--navy, #14213d);
  }
  .ev-card__title sup { font-size: .6em; }

  .ev-card__links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0; padding: 0; list-style: none; }
  .ev-link {
    font-size: 15px;
    font-weight: 600;
    color: var(--navy, #14213d);
    text-decoration: none;
  }
  .ev-link i { margin-right: 6px; color: var(--gold-dark, #8a6d2f); }
  .ev-link:hover { color: var(--gold-dark, #8a6d2f); text-decoration: underline; text-underline-offset: 3px; }

  /* Highlighted call-to-action (same gold as the "View gallery" button) */
  .ev-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    border-radius: 6px;
    background: #b58f4a;
    color: #14213d;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    animation: ev-pulse 2.4s ease-out infinite;
    transition: background .2s, color .2s;
  }
  .ev-cta:hover { background: var(--navy, #14213d); color: #fff; animation: none; }
  @keyframes ev-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(181, 143, 74, .55); }
    70%  { box-shadow: 0 0 0 10px rgba(181, 143, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(181, 143, 74, 0); }
  }

  /* Status badge: wraps on small screens instead of running off the card */
  .ev-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    max-width: 100%;
    padding: 5px 12px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    white-space: normal;
  }
  .ev-status--open   { background: #e7f4ec; color: #1f6b3a; border-color: #bfe0cb; }
  .ev-status--closed { background: #f1efe9; color: #6b7380; border-color: #ddd8cb; }

  .ev-card__sponsor { margin: 0; font-size: 15px; color: #4a5260; }
  .ev-card__sponsor strong { color: var(--navy, #14213d); font-weight: 600; }
  .ev-card__phone { margin: 0; font-size: 14px; color: #6b7380; }
  .ev-card__phone i { margin-right: 6px; color: var(--gold-dark, #8a6d2f); }
  .ev-card__phone a { color: inherit; text-decoration: none; }
  .ev-card__phone a:hover { color: var(--gold-dark, #8a6d2f); text-decoration: underline; }

  .ev-empty { padding: 28px; background: #fff; border: 1px dashed var(--gold-dark, #8a6d2f); border-radius: 8px; color: #4a5260; }

  .ev-section a:focus-visible { outline: 2px solid var(--gold, #c9a54b); outline-offset: 3px; border-radius: 4px; }

  @media (prefers-reduced-motion: reduce) {
    .ev-cta { animation: none; }
    .ev-card, .ev-card:hover { transition: none; transform: none; }
  }

  /* ---------- Laptop / tablet: one card per row ---------- */
  @media (max-width: 1199.98px) {
    .ev-grid { grid-template-columns: minmax(0, 1fr); }
  }
  @media (max-width: 991.98px) {
    .ev-section { padding: 36px 0 44px; }
    .ev-section .container-fluid { padding-left: 24px; padding-right: 24px; }
    .ev-card__title { font-size: 20px; }
  }

  /* ---------- Phone: date stacks above the details ---------- */
  @media (max-width: 575.98px) {
    .ev-section { padding: 28px 0 36px; }
    .ev-section .container-fluid { padding-left: 16px; padding-right: 16px; }
    .ev-head h2 { font-size: 26px; }
    .ev-grid { gap: 18px; }

    .ev-card { grid-template-columns: minmax(0, 1fr); }
    .ev-card__date {
      
      padding: 14px 16px;
      border-right: 0;
      border-bottom: 1px solid var(--line, #e5e0d5);
    }
    .ev-cal { width: 72px; }
    .ev-cal__day { font-size: 26px; }
    .ev-card__body { padding: 14px 16px 18px; gap: 8px; }
    .ev-card__title { font-size: 18px; }
    .ev-link, .ev-cta { font-size: 14px; }
    .ev-status { font-size: 13px; }
    .ev-card:hover { transform: none; }
  }