/* ── Editorial filter bar — boutique-hotel feel ── */
        .evf-bar {
          background: linear-gradient(180deg, #fefbf8 0%, #faf4e9 100%);
          border: 1px solid #ecdbc2;
          border-radius: 14px;
          padding: 18px 22px;
          margin: 14px 0 26px;
          box-shadow: 0 4px 18px rgba(120, 67, 86, 0.06);
        }
        .evf-row {
          display: flex;
          flex-direction: column;
          gap: 16px;
        }
        .evf-drops {
          /* Type + Venue sit on their own row, left-aligned under the months */
          justify-content: flex-start;
        }

        .evf-eyebrow {
          display: block;
          font-size: 10.5px;
          font-weight: 700;
          letter-spacing: 1.6px;
          text-transform: uppercase;
          color: #c4a052;
          margin-bottom: 6px;
        }

        /* ── Month strip ── */
        .evf-month-wrap { min-width: 0; }
        /* wraps rather than scrolls - every month visible at once, no
           sideways scrolling on any screen size */
        .evf-month-strip {
          display: flex;
          flex-wrap: wrap;
          gap: 8px;
          overflow-x: visible;
          scroll-snap-type: none;
          padding: 4px 4px 4px;
          margin: 0 -4px;
        }

        .evf-pill {
          flex: none;
          display: inline-flex;
          flex-direction: column;
          align-items: center;
          gap: 1px;
          padding: 8px 14px;
          min-width: 64px;
          border: 1px solid #ecdbc2;
          background: #fff;
          border-radius: 10px;
          text-decoration: none;
          color: #1e1e1c;
          font-family: 'Cormorant Garamond', serif;
          transition: all 0.18s ease;
        }
        .evf-pill__m {
          font-size: 16px;
          font-weight: 600;
          line-height: 1.1;
          letter-spacing: 0.3px;
        }
        .evf-pill__y {
          font-size: 10px;
          color: #8b6b75;
          letter-spacing: 1px;
          text-transform: uppercase;
          font-family: ui-sans-serif, system-ui, sans-serif;
          font-weight: 600;
        }
        .evf-pill:hover {
          border-color: #c4a052;
          transform: translateY(-1px);
          box-shadow: 0 4px 12px rgba(120, 67, 86, 0.1);
        }
        .evf-pill.is-active {
          background: linear-gradient(135deg, #784356 0%, #5a2940 100%);
          border-color: #784356;
          color: #fff;
          box-shadow: 0 4px 14px rgba(120, 67, 86, 0.28);
        }
        .evf-pill.is-active .evf-pill__y { color: rgba(255,255,255,0.78); }
        .evf-pill--now:not(.is-active) {
          border-color: #c4a052;
          background: linear-gradient(135deg, #fff 0%, #faf4e9 100%);
        }
        .evf-pill--now:not(.is-active)::after {
          content: '';
          position: absolute;
          /* tiny gold dot indicator could go here if we made the pill position:relative */
        }

        /* ── Dropdowns ── */
        .evf-drops {
          display: flex;
          gap: 10px;
          align-items: end;
          flex-wrap: wrap;
        }
        .evf-drop {
          position: relative;
        }
        .evf-drop summary {
          list-style: none;
          cursor: pointer;
          display: flex;
          flex-direction: column;
          background: #fff;
          border: 1px solid #ecdbc2;
          border-radius: 10px;
          padding: 6px 14px 8px;
          min-width: 160px;
          transition: border-color 0.18s ease, box-shadow 0.18s ease;
        }
        .evf-drop summary::-webkit-details-marker { display: none; }
        .evf-drop summary::marker { content: ''; }
        .evf-drop summary:hover {
          border-color: #c4a052;
          box-shadow: 0 4px 12px rgba(120, 67, 86, 0.08);
        }
        .evf-drop[open] summary {
          border-color: #784356;
          box-shadow: 0 4px 14px rgba(120, 67, 86, 0.18);
        }
        .evf-drop__val {
          font-family: 'Cormorant Garamond', serif;
          font-size: 16px;
          font-weight: 600;
          color: #1e1e1c;
          line-height: 1.15;
          padding-right: 18px;
        }
        .evf-drop__chev {
          position: absolute;
          right: 10px;
          top: 50%;
          transform: translateY(-30%);
          color: #784356;
          font-size: 14px;
          font-weight: 700;
          transition: transform 0.2s ease;
        }
        .evf-drop[open] .evf-drop__chev { transform: translateY(-30%) rotate(180deg); }

        .evf-drop__menu {
          position: absolute;
          top: calc(100% + 6px);
          right: 0;
          z-index: 20;
          min-width: 220px;
          max-width: 320px;
          max-height: 360px;
          overflow-y: auto;
          background: #fff;
          border: 1px solid #ecdbc2;
          border-radius: 12px;
          box-shadow: 0 14px 36px rgba(120, 67, 86, 0.16);
          padding: 6px;
        }
        .evf-menu-item {
          display: block;
          padding: 9px 14px;
          border-radius: 7px;
          color: #1e1e1c;
          text-decoration: none;
          font-size: 14px;
          transition: background 0.15s ease, color 0.15s ease;
        }
        .evf-menu-item:hover {
          background: #faf4e9;
          color: #784356;
        }
        .evf-menu-item.is-active {
          background: #784356;
          color: #fff;
          font-weight: 600;
        }

        /* ── Active-filter chips row ── */
        .evf-active {
          margin-top: 16px;
          padding-top: 14px;
          border-top: 1px solid #ecdbc2;
          display: flex;
          gap: 8px;
          align-items: center;
          flex-wrap: wrap;
        }
        .evf-active__lbl {
          font-size: 11px;
          font-weight: 700;
          letter-spacing: 1.4px;
          text-transform: uppercase;
          color: #8b6b75;
        }
        .evf-active__chip {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 5px 8px 5px 12px;
          background: #fff;
          border: 1px solid #c4a052;
          border-radius: 999px;
          font-size: 13px;
          color: #784356;
          font-weight: 600;
          text-decoration: none;
          transition: all 0.18s ease;
        }
        .evf-active__chip:hover {
          background: #784356;
          color: #fff;
          border-color: #784356;
        }
        .evf-active__x {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 18px;
          height: 18px;
          border-radius: 50%;
          background: #faf4e9;
          color: #784356;
          font-size: 14px;
          font-weight: 700;
          line-height: 1;
          transition: background 0.18s ease, color 0.18s ease;
        }
        .evf-active__chip:hover .evf-active__x {
          background: rgba(255,255,255,0.22);
          color: #fff;
        }
        .evf-active__clear {
          margin-left: auto;
          font-size: 11px;
          font-weight: 700;
          letter-spacing: 1.4px;
          text-transform: uppercase;
          color: #784356;
          text-decoration: none;
          opacity: 0.7;
          transition: opacity 0.18s ease;
        }
        .evf-active__clear:hover { opacity: 1; text-decoration: underline; }

        /* ── Mobile tweaks ── */
        /* evf mobile grid — the wrapped pills were ragged because "All dates"
           is one line and the months are two. A real grid instead: All dates
           across the top, then the months three to a row, all the same size. */
        @media (max-width: 640px) {
          .evf-bar { padding: 14px 16px; border-radius: 12px; }

          .evf-month-strip {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 8px;
            margin: 0;
            padding: 2px 0 0;
          }
          .evf-pill {
            min-width: 0;
            width: 100%;
            padding: 9px 4px;
            justify-content: center;
          }
          .evf-pill:first-child {
            grid-column: 1 / -1;
            padding: 11px 4px;
          }

          .evf-drops {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 8px;
            width: 100%;
            align-items: stretch;
          }
          .evf-drop { flex: none; }
          .evf-drop summary {
            min-width: 0;
            height: 100%;
            box-sizing: border-box;
          }
          .evf-drop__val {
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            display: block;
          }
        }
