/* mec-cta-vars */
:root {
        --mec-cta-a: #06b6d4;
        --mec-cta-b: #4f46e5;
        --mec-cta-text: #ffffff;
      }

      /* Responsive placement margins for marquee */
      @media (max-width: 1023px) {
        #mecMarquee.mec-marquee {
          margin-top: 8px;
          margin-bottom: 8px;
        }
      }


/* mec-styles-consolidated */
/* === Site-wide CSS (base) === */
      :root {
        --fc-toolbar-h: 44px;
        --genre-stripe-w: 6px !important;
        --sticky-controls-h: 0;
        --sticky-header-h: 0;
        --sticky-top: calc(
          var(--sticky-header-h, 0) + var(--sticky-controls-h, 0) +
            var(--fc-toolbar-h, 44px)
        );
        --c-white: var(--c-white, #ffffff);
        --c-slate-50: var(--c-slate-50, #f8fafc);
        --c-slate-100: var(--c-slate-100, #f1f5f9);
        --c-slate-200: var(--c-slate-200, #e2e8f0);
        --c-slate-300: var(--c-slate-300, #e5e7eb);
        --c-slate-600: var(--c-slate-600, #475569);
        --c-slate-700: var(--c-slate-700, #334155);
        --c-gray-900: var(--c-gray-900, #111827);
      }

      @supports (padding: max(0)) {
        .mobile-bottom-nav {
          padding-bottom: max(8px, env(safe-area-inset-bottom));
        }
      }

      .badge {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        padding: 0.15rem 0.6rem;
        border-radius: 9999px;
        background: #eef2ff;
        color: #3730a3;
        font-size: 0.75rem;
        line-height: 1rem;
      }

      .chip {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        max-width: 100%;
        overflow: hidden;
        padding: 0.15rem 0.6rem;
        border: 1px solid var(--c-slate-200, #e2e8f0);
        border-radius: 9999px;
        background: var(--c-white, #fff);
        font-size: 0.75rem;
        line-height: 1rem;
        vertical-align: top;
      }

      .chip > span {
        display: inline-block;
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .link-chip {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        margin: 0.15rem;
        padding: 0.25rem 0.5rem;
        border-radius: 0.5rem;
        background: var(--c-slate-100, #f1f5f9);
        font-size: 0.85rem;
        overflow-wrap: anywhere;
      }

      .event-description .event-description-link {
        color: #0369a1;
        text-decoration: underline;
      }

      .event-description .event-description-link:hover,
      .event-description .event-description-link:focus-visible {
        color: #0c4a6e;
      }

      .modal-backdrop {
        inset: 0;
        position: fixed;
        z-index: 50;
        align-items: center;
        display: none;
        justify-content: center;
        background: rgba(0, 0, 0, 0.4);
      }

      .modal-backdrop.show {
        display: flex;
      }

      .tooltip.show {
        display: block;
      }

      .tooltip .row {
        align-items: start;
        display: grid;
        gap: 0.35rem;
        grid-template-columns: 20px 56px 1fr;
        font-size: 0.85rem;
      }

      .tooltip .row > div:nth-child(3) {
        min-width: 0;
      }

      .tooltip .row .chip {
        max-width: 100%;
      }

      .event-bg {
        padding: 2px 4px;
        border-radius: 0.5rem;
        background: rgba(37, 99, 235, 0.1);
      }

      .event-card {
        display: flex;
        flex-direction: column;
        gap: 2px;
        max-width: 100%;
      }

      .line {
        align-items: center;
        display: flex;
        gap: 6px;
        max-width: 100%;
        overflow: hidden;
      }

      .line .icon {
        flex: 0 0 auto;
      }

      .line .txt {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .fc-timegrid {
        border-top: 1px solid var(--c-slate-200, #e2e8f0);
      }

      .fc-event-title {
        display: none !important;
      }

      .fc .fc-list-table .fc-list-event-title {
        width: 100%;
      }

      #modal .details-grid .right-col {
        padding-right: 1.5rem;
      }

      th.sortable {
        cursor: pointer;
        user-select: none;
      }

      th.sortable:hover {
        text-decoration: underline;
      }

      tr.clickable-row {
        cursor: pointer;
      }

      .chip-btn {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        padding: 0.35rem 0.6rem;
        border: 1px solid var(--c-slate-200, #e2e8f0);
        border-radius: 9999px;
        background-color: var(--c-white, #fff);
        font-size: 0.8rem;
        cursor: pointer;
      }

      .chip-btn.active {
        border-color: var(--c-gray-900, #111827);
        background: var(--c-gray-900, #111827);
        color: var(--c-white, #fff);
      }

      .collapsible {
        display: none;
      }

      .collapsible.show {
        display: block;
      }

      .chips-scroll {
        max-height: 160px;
        overflow-y: auto;
        padding: 6px;
        border: 1px solid var(--c-slate-300, #e5e7eb);
        border-radius: 0.5rem;
        background: var(--c-white, #fff);
      }

      .chips-scroll::-webkit-scrollbar {
        width: 8px;
      }

      .chips-scroll::-webkit-scrollbar-thumb {
        border-radius: 8px;
        background: #cbd5e1;
      }

      .fc-scroller {
        overflow: auto !important;
      }

      .img-hover-wrap {
        position: relative;
        display: inline-block;
        overflow: visible !important;
      }

      .img-hover-wrap .img-zoom {
        position: absolute;
        top: 0;
        left: 100%;
        z-index: 1000;
        display: none;
        width: auto !important;
        height: auto !important;
        max-width: 12.5rem !important;
        max-height: 12.5rem !important;
        object-fit: contain !important;
        border-radius: 10px;
        box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
      }

      .img-hover-wrap .img-zoom:not(img) {
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
      }

      .img-hover-wrap:hover .img-zoom {
        display: block !important;
      }

      .img-hover-wrap[data-img-global-active="1"] .img-zoom {
        display: none !important;
      }

      .img-thumb,
      .img-thumb-lg,
      .img-thumb-list {
        display: inline-block;
        height: auto;
        max-height: 100%;
        max-width: 100%;
        object-fit: contain;
        width: auto;
        background: var(--c-slate-300, #e5e7eb);
      }

      .img-thumb {
        max-height: 42px;
        max-width: 24px;
        border-radius: 4px;
      }

      .img-thumb-lg {
        max-height: 96px;
        max-width: 54px;
        border-radius: 10px;
      }

      .img-thumb-list {
        max-height: 64px;
        max-width: 36px;
        border-radius: 8px;
      }

      .section-title {
        align-items: center;
        display: flex;
        gap: 0.5rem;
        color: var(--c-slate-600, #475569);
        font-size: 0.8rem;
        letter-spacing: 0.06em;
        text-transform: uppercase;
      }

      .link-chip:hover {
        background: var(--c-slate-200, #e2e8f0);
      }

      .event-row {
        align-items: stretch;
        display: grid;
        gap: 8px;
        grid-template-columns: 46px 1fr;
      }

      .event-row .thumb-col {
        align-items: center;
        display: flex;
        justify-content: center;
        width: 46px;
      }

      .event-row .details-col {
        align-content: flex-start;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        min-width: 0;
      }

      .dj-heading {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        overflow: hidden;
        width: 100%;
        margin-bottom: 0.25rem;
        font-weight: 600;
        line-height: 1.25rem;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .dj-heading > span {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .img-thumb-tall {
        display: block;
        height: auto;
        max-height: 150px;
        max-width: 100%;
        object-fit: contain;
        width: auto;
        border-radius: 10px;
        background: var(--c-slate-300, #e5e7eb);
      }

      .details-grid .thumb-col {
        align-items: center;
        display: flex;
        justify-content: center;
      }

      .details-grid .thumb-col .img-hover-wrap {
        align-items: center;
        display: flex;
        justify-content: center;
        width: 100%;
        max-width: 320px;
        min-height: 150px;
        max-height: 150px;
        margin: 0 auto;
      }

      .details-grid .thumb-col .img-thumb-tall {
        width: auto;
        height: auto;
        max-width: 100%;
        max-height: 150px;
      }

      @media (min-width: 768px) {
        #modal .details-grid {
          align-items: flex-start;
          gap: 1.5rem;
        }
      }

      .tooltip .two-col {
        align-items: stretch;
        display: grid;
        gap: 8px;
        grid-template-columns: 110px 1fr;
      }

      .chip-row {
        width: 100%;
      }

      #featuredBanner .feat-label {
        position: absolute;
        right: 7px;
        top: 5px;
      }

      #featuredBanner .feat-pill {
        box-shadow: 0 8px 18px rgba(99, 102, 241, 0.3),
          0 4px 12px rgba(217, 70, 239, 0.2);
        text-shadow: 0 1px 1px rgba(0, 0, 0, 0.15);
      }

      .mobile-bottom-nav {
        bottom: 0;
        left: 0;
        position: fixed;
        right: 0;
        z-index: 60;
        padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
        border-top: 1px solid var(--c-slate-300, #e5e7eb);
        box-shadow: 0 -4px 10px rgba(16, 24, 40, 0.08);
        background: var(--c-white, #ffffff);
      }

      #mobileBottomNav {
        display: none !important;
      }

      #controlsRow {
        position: sticky;
        top: var(--sticky-header-h);
        z-index: 49;
        border-bottom: 1px solid var(--c-slate-200, #e2e8f0);
        backdrop-filter: saturate(180%) blur(6px);
        background: rgba(255, 255, 255, 0.96);
      }

      #bottomNav button .tab-underline {
        transition: background-color 0.2s;
      }

      #bottomNav button.text-indigo-600 i,
      #bottomNav button.text-indigo-600 span {
        color: #4f46e5 !important;
      }

      table.sticky-list thead {
        position: sticky;
        top: calc(var(--sticky-header-h) + var(--sticky-controls-h));
        z-index: 47;
        background: rgba(255, 255, 255, 0.98);
      }

      table.sticky-list thead th {
        position: sticky;
        top: calc(var(--sticky-header-h) + var(--sticky-controls-h));
        z-index: 47;
        background: rgba(255, 255, 255, 0.98);
      }

      .toolbar-tab {
        border: 1px solid var(--c-slate-300, #e5e7eb);
        border-radius: 0.75rem;
        background: var(--c-white, #ffffff);
        color: #4338ca;
      }

      .toolbar-tab.active {
        border-color: transparent;
        box-shadow: 0 2px 10px rgba(79, 70, 229, 0.25);
        background: linear-gradient(180deg, #6366f1, #4f46e5);
        color: var(--c-white, #fff);
      }

      .fc .fc-col-header thead[role="presentation"] th {
        background: transparent;
      }

      .fc .fc-toolbar-title {
        color: #1f2937;
        font-size: clamp(1.25rem, 2.4vw, 1.75rem);
        font-weight: 800;
        letter-spacing: -0.01em;
      }

      .fc .fc-button {
        padding: 0.45rem 0.7rem;
        border: 0;
        border-radius: 0.75rem;
        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04),
          0 4px 10px rgba(0, 0, 0, 0.06);
        background: linear-gradient(180deg, #6366f1, #4f46e5);
        color: var(--c-white, #fff);
      }

      .fc .fc-button:disabled {
        filter: grayscale(0.2);
        opacity: 0.6;
      }

      .fc .fc-button-primary:not(:disabled).fc-button-active,
      .fc .fc-button-primary:not(:disabled):active,
      .fc .fc-button:hover {
        background: linear-gradient(180deg, #7c3aed, #4f46e5);
        color: var(--c-white, #fff);
      }

      .fc .fc-today-button {
        background: linear-gradient(180deg, #14b8a6, #0ea5e9);
        color: var(--c-white, #fff);
      }

      .fc .fc-header-toolbar {
        position: sticky;
        top: calc(var(--sticky-header-h) + var(--sticky-controls-h)) !important;
        z-index: 48;
        margin: 0 !important;
        padding-bottom: 0.25rem;
        padding-top: 0.25rem;
        border-bottom: 1px solid var(--c-slate-300, #e5e7eb);
        backdrop-filter: saturate(180%) blur(6px);
        background: rgba(255, 255, 255, 0.96);
      }

      .filters-chevron {
        transition: transform 0.2s ease;
      }

      #modal .share-row {
        align-items: center;
        display: flex;
        gap: 0.5rem;
        justify-content: flex-end;
      }

      #copyLinkBtn {
        border: 0;
        background: linear-gradient(180deg, #22d3ee, #6366f1);
        color: var(--c-white, #ffffff);
      }

      #shareBtn {
        border: 0;
        background: linear-gradient(180deg, #34d399, #10b981);
        color: var(--c-white, #ffffff);
      }

      #modal .share-row .chip-btn,
      #modal .share-row #copyLinkBtn,
      #modal .share-row #shareBtn {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        min-height: 40px;
        padding: 0.5rem 0.8rem;
        border-radius: 9999px;
        line-height: 1.25rem;
      }

      #copyLinkBtn:hover {
        filter: brightness(0.97);
        transform: translateY(-1px);
      }

      #shareBtn:hover {
        filter: brightness(0.97);
        transform: translateY(-1px);
      }

      #modal .section-title {
        color: var(--c-slate-700, #334155);
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
      }

      #modal .link-chip {
        padding: 0.35rem 0.6rem;
        border: 1px solid var(--c-slate-200, #e2e8f0);
        border-radius: 9999px;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
        background: var(--c-white, #ffffff);
      }

      #modal .link-chip:hover {
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.12);
        transform: translateY(-1px);
      }

      #modal .chip-btn {
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
      }

      #modal .chip-btn:hover {
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.12);
      }

      #listWrap > .overflow-visible {
        overflow: visible !important;
      }

      #listTable thead,
      #listTable thead th {
        position: sticky;
        top: calc(var(--sticky-header-h) + var(--sticky-controls-h));
        background: rgba(255, 255, 255, 0.98);
      }

      #listTable thead {
        z-index: 49;
      }

      #listTable thead th {
        z-index: 50;
        white-space: nowrap;
      }

      #listTable tbody tr.list-card > td > * {
        vertical-align: top;
      }

      #calendar .dj-heading,
      #calendar .fc-list-event-title .dj-heading {
        max-width: 100%;
        min-width: 0;
      }

      #listTable tr.list-card {
        border: none !important;
        box-shadow: none !important;
      }

      #listTable tr.list-card > td {
        border: none !important;
        background: transparent !important;
      }

      #listTable tr.list-card > td::after,
      #listTable tr.list-card > td::before {
        content: none !important;
      }

      #listTable tr.list-card .card-wrap {
        overflow: hidden !important;
        border-radius: 12px !important;
        box-shadow: var(
          --list-card-shadow,
          0 2px 10px rgba(0, 0, 0, 0.08)
        ) !important;
        background: inherit !important;
      }

      #listTable tr.list-card td {
        background: var(--list-row-bg, transparent) !important;
      }

      .fc .fc-col-header .fc-col-header-cell {
        width: calc(100% / 7) !important;
      }

      .fc .fc-daygrid-body table td.fc-daygrid-day {
        width: calc(100% / 7) !important;
      }

      .fc .fc-col-header-cell .fc-col-header-cell-cushion {
        color: var(--c-gray-900, #111827) !important;
        text-shadow: none !important;
        filter: none !important;
        opacity: 1 !important;
      }

      .fc .fc-col-header {
        position: sticky;
        top: calc(
          var(--sticky-header-h) + var(--sticky-controls-h) +
            var(--fc-toolbar-h)
        ) !important;
        z-index: 60 !important;
        margin: 0;
        background: rgba(255, 255, 255, 0.98);
      }

      .fc .fc-col-header-cell,
      .fc .fc-daygrid-day {
        min-width: 0 !important;
      }

      .fc .fc-daygrid-day-frame {
        position: relative !important;
        padding-top: 18px !important;
      }

      .fc .fc-daygrid-day-top {
        justify-content: flex-start !important;
        visibility: visible !important;
        opacity: 1 !important;
      }

      .fc .fc-daygrid-day-number {
        left: 6px;
        position: absolute !important;
        top: 4px;
        z-index: 10;
        display: inline-block !important;
        color: var(--c-slate-700, #334155) !important;
        font-size: 0.75rem;
        line-height: 1;
        pointer-events: none;
      }

      #featuredBanner .feat-card > .flex {
        min-height: var(--featured-thumb-h, 72px);
      }

      #featuredBanner .feat-card .img-hover-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        height: var(--featured-thumb-h, 72px);
        flex: 0 0 auto;
      }

      #featuredBanner img.img-thumb-lg {
        flex: 0 0 auto;
        height: auto !important;
        max-height: var(--featured-thumb-h, 72px);
        max-width: 54px;
        object-fit: contain;
        width: auto !important;
        border-radius: 10px !important;
        background: none !important;
      }

      .chip-btn.bg-gradient-to-r {
        background-color: transparent !important;
      }

      #calendar .event-row .details-col {
        row-gap: 4px !important;
      }

      #calendar .event-row .details-col .chip {
        margin-bottom: 0;
        margin-top: 0;
      }

      #modal .right-col .flex.flex-wrap {
        row-gap: 4px !important;
      }

      #modal .right-col .chip {
        margin-bottom: 0;
        margin-top: 0;
      }

      #listTable tbody tr.list-card::before,
      #listTable tbody tr.list-card::after {
        display: none !important;
        content: none !important;
      }

      .tooltip > * {
        position: relative;
        z-index: 1;
      }

      #listTable {
        border-collapse: separate !important;
        border-spacing: 0 6px !important;
      }

      .lang-flag-wrap {
        position: relative;
        display: inline-block;
      }

      #langHost {
        margin-top: 0;
      }

      .lang-flag-btn {
        align-items: center;
        display: inline-flex;
        gap: 0.35rem;
        padding: 0.16rem 0.4rem;
        border: 1px solid var(--c-slate-300, #e5e7eb);
        border-radius: 0.75rem;
        box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04),
          0 4px 10px rgba(0, 0, 0, 0.06);
        background: var(--c-white, #ffffff);
        color: #4338ca;
        font-size: 0.58rem;
      }

      .lang-flag-btn:hover {
        background: var(--c-slate-50, #f8fafc);
      }

      .lang-flag-btn:focus {
        outline: 2px solid #c7d2fe;
        outline-offset: 2px;
      }

      .lang-flag-btn img.flag {
        display: inline-block;
        height: 10px;
        width: 14px;
        border-radius: 2px;
      }

      .lang-flag-menu {
        left: auto;
        position: absolute;
        right: 0;
        top: 100%;
        z-index: 2147483647 !important;
        display: none;
        min-width: 180px;
        border: 1px solid var(--c-slate-300, #e5e7eb);
        border-radius: 0.5rem;
        box-shadow: 0 10px 28px rgba(16, 24, 40, 0.18);
        background: var(--c-white, #fff);
      }

      .lang-flag-item {
        align-items: center;
        display: flex;
        gap: 0.45rem;
        padding: 0.32rem 0.5rem;
        font-size: 0.72rem;
        cursor: pointer;
      }

      .lang-flag-item img {
        height: 12px;
        width: 16px;
        border-radius: 2px;
      }

      .lang-flag-item:hover {
        background: var(--c-slate-50, #f8fafc);
      }

      #homeTitleLink:hover,
      #homeTitleLink:focus {
        text-decoration: none !important;
      }

      #listTable tbody tr.list-card > td:last-child {
        overflow: hidden;
        border-bottom: 1px solid var(--c-slate-200, #e2e8f0) !important;
        border-bottom-right-radius: 12px;
        border-right: 0 !important;
        border-top: 1px solid var(--c-slate-200, #e2e8f0) !important;
        border-top-right-radius: 12px;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
          0 3px 6px rgba(16, 24, 40, 0.06);
      }

      #calendar .fc-listMonth-view .fc-header-toolbar,
      #calendar .fc-listWeek-view .fc-header-toolbar {
        margin-left: -0.5em;
        margin-right: -0.1em;
      }

      #homeTitleLink,
      #locationBar,
      #langHost {
        text-align: left !important;
      }

      #calendar .event-bg {
        border-left: var(--genre-stripe-w, 6px) solid
          var(--genre-accent, #6366f1) !important;
      }

      #listTable tbody tr.list-card > td:first-child {
        border-bottom: 1px solid var(--c-slate-200, #e2e8f0) !important;
        border-bottom-left-radius: 12px !important;
        border-left-color: var(--genre-accent, #6366f1) !important;
        border-left-style: solid !important;
        border-left-width: var(--genre-stripe-w, 6px) !important;
        border-top: 1px solid var(--c-slate-200, #e2e8f0) !important;
        border-top-left-radius: 12px !important;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
          0 3px 6px rgba(16, 24, 40, 0.06);
        background-clip: padding-box !important;
      }

      .tooltip {
        position: fixed;
        z-index: 2147483647;
        display: none;
        max-width: 360px;
        overflow: hidden !important;
        padding: 0.5rem 0.75rem;
        padding-left: calc(0.5rem + var(--genre-stripe-w, 6px)) !important;
        border: none;
        border-left: var(--genre-stripe-w, 6px) solid
          var(--genre-accent, #6366f1) !important;
        border-radius: 12px;
        box-shadow: 0 0 0 1px var(--c-slate-200, #e2e8f0),
          0 1px 2px rgba(16, 24, 40, 0.06), 0 3px 6px rgba(16, 24, 40, 0.06);
        background: linear-gradient(
          135deg,
          var(--venue-soft, #f8fafc) 0%,
          var(--venue-soft, #f8fafc) 40%,
          var(--dj-soft, #f1f5f9) 100%
        );
        background-clip: padding-box !important;
      }

      #modal .modal-panel {
        position: relative;
        overflow: hidden;
        padding-left: calc(1.5rem + var(--genre-stripe-w, 6px)) !important;
        border-left: none !important;
        box-shadow: none !important;
      }

      #modal .modal-panel::before {
        inset: 0 auto 0 0;
        position: absolute;
        z-index: 5;
        width: var(--genre-stripe-w, 6px) !important;
        background: var(--genre-accent, #6366f1);
        pointer-events: none;
        content: "";
      }

      #listTable tbody tr.list-card {
        position: relative;
        overflow: visible !important;
        border-bottom-left-radius: 12px;
        border-left: none !important;
        border-left-color: var(--genre-accent, #6366f1) !important;
        border-left-style: solid !important;
        border-left-width: var(--genre-stripe-w, 6px) !important;
        border-top-left-radius: 12px;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
          0 3px 6px rgba(16, 24, 40, 0.06);
        background: var(
          --row-grad,
          linear-gradient(
            135deg,
            var(--venue-soft, #f8fafc) 0%,
            var(--venue-soft, #f8fafc) 40%,
            var(--dj-soft, #f1f5f9) 100%
          )
        ) !important;
        background-clip: padding-box;
      }

      #listTable tbody tr.list-card > td {
        padding: 12px 12px !important;
        padding-bottom: 6px !important;
        padding-top: 6px !important;
        border: 0 !important;
        border-bottom: 1px solid var(--c-slate-200, #e2e8f0) !important;
        border-top: 1px solid var(--c-slate-200, #e2e8f0) !important;
        box-shadow: none !important;
        background: transparent !important;
        background-clip: padding-box;
        vertical-align: top;
      }

      #calendarWrap,
      #calendar {
        overflow: visible !important;
      }

      #calendar .fc-scroller {
        overflow: auto !important;
      }

      a.fc-col-header-cell-cushion,
      .fc-col-header-cell-cushion {
        color: var(--c-gray-900, #111827) !important;
        font-weight: 600;
        opacity: 1 !important;
      }

      #tooltip .space-y-1 .dj-heading,
      #tooltip .space-y-1 .chip,
      #tooltip .space-y-1 .chip > span {
        max-width: 100%;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .fc .fc-col-header-cell-cushion,
      .fc .fc-col-header th .fc-col-header-cell-cushion {
        color: var(--c-gray-900, #111827) !important;
        font-weight: 600;
        opacity: 1 !important;
      }

      .fc .fc-day-today .fc-col-header-cell-cushion {
        color: var(--c-gray-900, #111827) !important;
        opacity: 1 !important;
      }

      #modal #closeModal {
        z-index: 30;
        align-items: center;
        display: inline-block;
        gap: 0.45rem;
        justify-content: center;
        padding: 0.45rem 0.8rem;
        border: 1px solid #fca5a5;
        border-radius: 9999px;
        box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
        background: var(--c-white, #ffffff);
        color: #b91c1c;
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1;
      }

      #modal #closeModal:hover {
        border-color: #fca5a5;
        box-shadow: 0 2px 8px rgba(16, 24, 40, 0.12);
        background: #fee2e2;
        filter: brightness(0.98);
        transform: translateY(-1px);
      }

      #modal #closeModal i,
      #modal #closeModal svg {
        height: 16px;
        width: 16px;
      }

      #modal #closeModal i {
        margin-right: 0.2rem;
      }

      #headerLocRow {
        align-items: center;
        display: flex;
        gap: 0.5rem;
      }

      #headerLocRight {
        align-items: center;
        display: flex;
        flex: 1;
        justify-content: flex-end;
      }

      #headerChatBtn {
        display: none;
      }

      #featuredBanner .feat-card .img-hover-wrap + div {
        margin-top: 0 !important;
      }

      #siteHeader #homeTitleLink span:first-child {
        overflow-wrap: anywhere;
        word-break: break-word;
      }

      #featuredBanner .feat-card {
        position: relative;
        overflow: hidden;
        border-left: var(--genre-stripe-w, 6px) solid
          var(--event-accent, var(--genre-accent, #6366f1));
        border-radius: 12px;
        background: linear-gradient(
          135deg,
          var(--venue-soft, #e7effd) 0%,
          var(--venue-soft, #e7effd) 40%,
          var(--dj-soft, #f8e7fd) 100%
        );
        --featured-thumb-h: 72px;
      }

      #featuredBanner.rotating-featured {
        position: relative;
      }

      #featuredBanner .feat-card.featured-fade {
        animation: featuredFadeSlide 0.6s ease-in-out;
      }

      @keyframes featuredFadeSlide {
        from {
          opacity: 0;
          transform: translateY(6px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      #bottomNav {
        z-index: 9999;
      }

      .fc .fc-prev-button,
      .fc .fc-next-button {
        min-width: 2.5rem;
        border-color: transparent !important;
        border-radius: 0.75rem;
        box-shadow: 0 0 0 1px var(--mec-cta-ring),
          0 1px 2px rgba(16, 24, 40, 0.06), 0 6px 16px rgba(2, 6, 23, 0.2) !important;
        outline: none !important;
        background: linear-gradient(
          260deg,
          var(--mec-cta-a) 0%,
          var(--mec-cta-a) 35%,
          var(--mec-cta-b) 100%
        ) !important;
        background-clip: padding-box !important;
        color: var(--mec-cta-text) !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25) !important;
      }

      .fc .fc-prev-button .fc-icon,
      .fc .fc-next-button .fc-icon {
        color: var(--mec-cta-text) !important;
      }

      .fc .fc-prev-button:hover,
      .fc .fc-next-button:hover {
        filter: brightness(1.03);
      }

      .fc .fc-prev-button:active,
      .fc .fc-next-button:active {
        filter: brightness(0.98);
        transform: translateY(0);
      }

      .fc .fc-prev-button:disabled,
      .fc .fc-next-button:disabled {
        filter: grayscale(0.1);
        opacity: 0.65;
      }

      #shareUsFloat {
        bottom: calc(env(safe-area-inset-bottom, 0) + 70px);
        left: 50%;
        position: fixed;
        z-index: 65;
        display: none;
        transform: translateX(-50%);
        transition: opacity 0.2s cubic-bezier(0.4, 0, 0.2, 1);
      }

      @media (max-width: 639px) {
        body.modal-open #shareUsFloat {
          display: none !important;
        }
      }

      #shareUsFloat.visible {
        display: block;
        opacity: 1;
      }

      #shareUsFloat.hidden {
        opacity: 0;
        pointer-events: none;
      }

      .shareus-btn {
        align-items: center;
        display: inline-flex;
        gap: 0.5rem;
        padding: 0.7rem 1.05rem;
        border: 0;
        border-radius: 9999px;
        box-shadow: 0 12px 22px rgba(251, 146, 60, 0.28),
          0 6px 14px rgba(245, 158, 11, 0.2);
        background-image: linear-gradient(
          135deg,
          var(--shareus-a, #f59e0b),
          var(--shareus-b, #f97316)
        );
        color: var(--mec-cta-text, #ffffff);
        font-weight: 800;
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
      }

      .shareus-btn i {
        color: currentColor;
      }

      .shareus-pulse {
        animation: shareusPulse 1.35s cubic-bezier(0.25, 1, 0.2, 1) infinite
          alternate;
      }

      @keyframes shareusPulse {
        0% {
          transform: scale(1);
        }
        100% {
          transform: scale(1.095);
        }
      }

      #headerLocRight .shareus-inline {
        margin-right: 1rem;
      }

      #controlsRow .shareus-inline {
        margin-left: 0.75rem;
      }

      #featuredBanner .feat-pill,
      .feat-pill,
      span.feat-pill {
        border-color: transparent !important;
        box-shadow: 0 0 0 1px var(--mec-cta-ring),
          0 1px 2px rgba(16, 24, 40, 0.06), 0 6px 16px rgba(2, 6, 23, 0.18) !important;
        background: linear-gradient(
          260deg,
          #ad11a0 0%,
          #ad11a0 35%,
          #ce34eb 100%
        ) !important;
        background-clip: padding-box !important;
        color: var(--mec-cta-text, #ffffff) !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25) !important;
      }

      #siteHeader .home-location {
        align-items: center;
        display: inline-flex;
        line-height: 1.25rem;
      }

      #headerLocLeft {
        align-items: center;
        display: flex;
        gap: 0.5rem;
      }

      #headerLocLeft #langHost {
        align-items: center;
        display: inline-flex;
        margin-left: 0.5rem;
      }

      #langHost,
      .lang-flag-btn {
        line-height: 1;
        vertical-align: middle;
      }

      #siteHeader {
        position: sticky !important;
        top: 0;
        z-index: 50;
        padding-top: 8px;
        backdrop-filter: saturate(180%) blur(6px);
        background: rgba(255, 255, 255, 0.98);
      }

      #headerLocTop {
        align-items: center;
        display: flex;
        gap: 0.5rem;
        color: #64748b;
        font-weight: 500;
      }

      #headerLocTop #langHost {
        align-items: center;
        display: inline-flex;
        margin-left: 0.5rem;
      }

      #headerLocBottom {
        align-items: center;
        display: flex;
        gap: 0.5rem;
        margin-top: 0.5rem;
      }

      #siteDescriptionInline {
        display: block;
        margin-top: -2px;
        color: var(--c-slate-600, #475569);
        font-size: 0.8rem;
        line-height: 1.35rem;
      }

      #siteHeader a#homeTitleLink .home-location {
        display: none !important;
      }

      #featuredBanner .feat-title {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .fc .fc-scrollgrid-sync-table {
        width: 100% !important;
        border-collapse: separate !important;
        table-layout: fixed !important;
      }

      .fc .fc-daygrid-day {
        width: auto !important;
      }

      /* === @media ≤1023px (mobile + tablet shared) === */
      @media (max-width: 1023px) {
        .fc .fc-header-toolbar {
          top: calc(
            var(--sticky-header-h) + var(--sticky-controls-h)
          ) !important;
        }

        #calendar .img-hover-wrap .img-zoom {
          display: none !important;
        }

        #calendar .fc-listMonth-view .fc-header-toolbar,
        #calendar .fc-listWeek-view .fc-header-toolbar {
          top: calc(
            var(--sticky-header-h) + var(--sticky-controls-h) - 1px
          ) !important;
          margin-bottom: 0 !important;
          margin-left: -0.5em;
          margin-right: -0.1em;
          padding-bottom: 0 !important;
          border-bottom: 0 !important;
        }

        #calendar .fc-list,
        #calendar .fc-list table,
        #calendar .fc-list thead,
        #calendar .fc-list tbody {
          border: 0 !important;
        }

        #calendar .fc-list th,
        #calendar .fc-list td,
        #calendar .fc-list tr {
          border-bottom: 0 !important;
          border-right: 0 !important;
          border-top: 0 !important;
        }

        #calendar .fc-listMonth-view .fc-list,
        #calendar .fc-listWeek-view .fc-list {
          margin-top: 0 !important;
          border-top: 0 !important;
        }

        #calendar .fc-list-day-cushion,
        #calendar th .fc-list-day-cushion {
          border: none !important;
          box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2),
            0 1px 2px rgba(16, 24, 40, 0.06), 0 6px 16px rgba(2, 6, 23, 0.2) !important;
          background: linear-gradient(
            260deg,
            #22d3ee 0%,
            #22d3ee 35%,
            #60a5fa 100%
          ) !important;
          background-clip: padding-box !important;
          color: var(--c-white, #ffffff) !important;
          text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25) !important;
        }

        #calendar .fc-list-day-cushion .mec-weekday {
          position: relative;
          z-index: 0;
          display: inline-block;
          color: var(--c-white, #ffffff) !important;
          font-weight: 800 !important;
        }

        #calendar .fc-list-day-cushion .mec-weekday::before {
          inset: -4px -10px;
          position: absolute;
          z-index: -1;
          border-radius: 9999px;
          box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
            0 0 0 1px rgba(2, 6, 23, 0.08), 0 4px 10px rgba(2, 6, 23, 0.12);
          background: rgba(15, 23, 42, 0.22);
          pointer-events: none;
          content: "";
        }

        #listTable tbody tr.list-card > td:last-child {
          border-bottom-right-radius: 12px !important;
          border-top-right-radius: 12px !important;
        }
      }

      /* === @media < 640px (mobile only) === */
      @media (max-width: 639px) {
        #listTable td:last-child {
          white-space: normal !important;
        }

        #listTable td.links-cell,
        #listTable td:last-child,
        #listTable tr.list-card > td.links-cell {
          gap: 6px !important;
          grid-auto-rows: 28px !important;
          grid-template-columns: repeat(2, 28px) !important;
        }

        #listTable td.links-cell .link-chip,
        #listTable td:last-child .link-chip,
        #listTable tr.list-card > td.links-cell .link-chip {
          height: 28px !important;
          width: 28px !important;
          border-radius: 6px !important;
        }

        #listTable td.links-cell .link-chip .icon,
        #listTable td.links-cell .link-chip .icon i,
        #listTable td.links-cell .link-chip .icon svg,
        #listTable td:last-child .link-chip .icon,
        #listTable td:last-child .link-chip .icon i,
        #listTable td:last-child .link-chip .icon svg,
        #listTable tr.list-card > td.links-cell .link-chip .icon,
        #listTable tr.list-card > td.links-cell .link-chip .icon i,
        #listTable tr.list-card > td.links-cell .link-chip .icon svg {
          height: 16px !important;
          width: 16px !important;
        }

        #listTable th:last-child {
          white-space: nowrap;
        }

        .fc-toolbar-title {
          font-size: 1.25rem !important;
        }

        body {
          padding-bottom: 80px;
        }

        #viewMonth,
        #viewWeek,
        #viewList {
          display: none !important;
        }

        #modal .share-row {
          margin-right: -1.5rem;
          margin-top: 1.5rem;
        }

        .tooltip {
          max-width: 94vw;
          padding: 0.5rem;
        }

        .tooltip .row {
          grid-template-columns: 18px 52px 1fr;
        }

        #calendar .fc-list-table td.fc-list-event-graphic,
        #calendar .fc-list-table td.fc-list-event-time {
          display: none !important;
        }

        #calendar .event-bg {
          padding: 6px 8px;
          margin: 6px 0;
          border: 1px solid var(--c-slate-200, #e2e8f0);
          border-left: var(--genre-stripe-w, 6px) solid
            var(--genre-accent, #6366f1);
          border-radius: 12px;
          box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
            0 3px 6px rgba(16, 24, 40, 0.06);
          background: var(--c-slate-50, #f8fafc);
        }

        #calendar .fc-list-table {
          border-collapse: separate;
          border-spacing: 0 10px;
          table-layout: auto;
        }

        #calendar .fc-list-table td.fc-list-event-title {
          position: relative;
          overflow: hidden;
          width: 100%;
          padding: 10px 10px 10px 0.5rem;
          border: 1px solid var(--c-slate-200, #e2e8f0);
          border-left: var(--genre-stripe-w, 6px) solid
            var(--genre-accent, #6366f1);
          border-radius: 12px;
          box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
            0 3px 6px rgba(16, 24, 40, 0.06);
          background: var(--c-white, #fff);
        }

        #modal .img-thumb-tall {
          height: auto !important;
          max-height: 150px !important;
          width: auto !important;
        }

        header > div:first-child {
          margin-bottom: 12px;
          margin-top: 0;
        }

        #calendar .event-row {
          gap: 35px !important;
        }

        #calendar tr.fc-event > td {
          padding-left: 4px !important;
        }

        #calendar .event-row .img-thumb-tall {
          max-width: 150% !important;
          width: 150% !important;
        }

        #listTable td:first-child .badge,
        #listTable td:first-child .chip {
          margin-right: 4px;
        }

        #listTable .link-chip .icon {
          align-items: center !important;
          display: inline-flex !important;
          justify-content: center !important;
          height: 20px !important;
          width: 20px !important;
          line-height: 1 !important;
        }

        #listTable td {
          overflow: hidden;
        }

        #listTable td:first-child,
        #listTable td:nth-child(3) {
          white-space: normal !important;
        }

        #listTable td:nth-child(3) {
          min-width: 0 !important;
        }

        #listTable td:nth-child(3) .dj-heading {
          overflow: hidden !important;
          font-size: 0.95rem;
          line-height: 1.35rem;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        #listTable td:nth-child(3) .chip {
          max-width: 100% !important;
        }

        #listTable td:nth-child(3) .chip > span {
          overflow: hidden !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        #listTable {
          width: 100% !important;
          border-spacing: 0 8px;
          table-layout: fixed !important;
        }

        #listTable th:first-child,
        #listTable td:first-child {
          width: 40% !important;
        }

        #listTable th:last-child,
        #listTable td:last-child {
          width: 22% !important;
          white-space: normal !important;
        }

        #listTable th:nth-child(3),
        #listTable td:nth-child(3) {
          overflow: hidden !important;
          width: 38% !important;
        }

        #listTable td:first-child {
          padding-left: 0 !important;
          white-space: normal !important;
        }

        #listTable td:first-child .img-thumb {
          height: 32px !important;
        }

        #listTable td:first-child .badge {
          padding: 0.06rem 0.38rem !important;
          font-size: 0.66rem !important;
          line-height: 0.9rem !important;
        }

        #listTable td.links-cell,
        #listTable td:last-child,
        #listTable tr.list-card > td.links-cell {
          position: relative !important;
          z-index: 2 !important;
          align-content: start !important;
          align-items: start !important;
          display: grid !important;
          justify-content: start !important;
          overflow: visible !important;
          text-overflow: clip !important;
          white-space: normal !important;
        }

        #listTable td.links-cell > *,
        #listTable td:last-child > *,
        #listTable tr.list-card > td.links-cell > * {
          margin: 0 !important;
        }

        #listTable td.links-cell .link-chip,
        #listTable td:last-child .link-chip,
        #listTable tr.list-card > td.links-cell .link-chip {
          align-items: center !important;
          display: flex !important;
          justify-content: center !important;
          margin: 0 !important;
          padding: 0 !important;
        }

        #listTable td.links-cell .link-chip span:not(.icon),
        #listTable td:last-child .link-chip span:not(.icon),
        #listTable tr.list-card > td.links-cell .link-chip span:not(.icon) {
          display: none !important;
        }

        #listTable td.links-cell .link-chip .icon,
        #listTable td.links-cell .link-chip .icon i,
        #listTable td.links-cell .link-chip .icon svg,
        #listTable td:last-child .link-chip .icon,
        #listTable td:last-child .link-chip .icon i,
        #listTable td:last-child .link-chip .icon svg,
        #listTable tr.list-card > td.links-cell .link-chip .icon,
        #listTable tr.list-card > td.links-cell .link-chip .icon i,
        #listTable tr.list-card > td.links-cell .link-chip .icon svg {
          align-items: center !important;
          display: inline-flex !important;
          justify-content: center !important;
          line-height: 1 !important;
        }

        .lang-flag-menu {
          left: auto;
          right: 0;
          max-height: calc(100vh - 120px);
          max-width: calc(100vw - 16px);
          min-width: 260px;
          overflow-y: auto;
        }

        .lang-flag-item {
          padding: 1rem 1.2rem;
          font-size: 1.15rem;
        }

        .lang-flag-item img {
          height: 26px;
          width: 36px;
        }

        .lang-flag-btn .flag {
          height: 20px;
          width: 28px;
        }

        #siteLogo {
          flex: 0 0 auto !important;
          height: auto !important;
          max-width: none !important;
          width: 8em !important;
        }

        .fc .fc-list-day {
          border: none !important;
        }

        .fc .fc-list-day > td {
          padding: 0 !important;
          border: none !important;
        }

        .fc .fc-list-day .fc-list-day-cushion {
          align-items: center !important;
          display: flex !important;
          gap: 0.75rem !important;
          justify-content: space-between !important;
          padding: 0.75rem 1rem !important;
          margin: 0.5rem 0 !important;
        }

        .fc .fc-list-day .fc-list-day-text {
          flex: 1 1 auto !important;
          font-size: 0.95rem !important;
          text-align: left !important;
        }

        .fc .fc-list-day .fc-list-day-side-text {
          flex: 0 0 auto !important;
          margin-left: auto !important;
          font-size: 0.9rem !important;
          text-align: right !important;
          opacity: 0.85 !important;
        }

        #calendar .fc-list-day .fc-list-day-cushion {
          align-items: center;
          display: flex;
          justify-content: space-between;
        }

        #calendar .fc-list-day .fc-list-day-cushion .mec-weekday {
          margin-left: auto;
          text-align: right;
        }

        #bottomNav button .tab-underline {
          background-color: var(--mec-cta-b) !important;
        }

        #bottomNav button.text-indigo-600 i,
        #bottomNav button.text-indigo-600 span,
        #bottomNav button.text-indigo-600 svg,
        #bottomNav button.active i,
        #bottomNav button.active span,
        #bottomNav button.active svg {
          color: var(--mec-cta-b) !important;
          fill: var(--mec-cta-b) !important;
        }

        #shareUsFloat {
          display: block;
        }

        #listTable tbody tr.list-card > td,
        #listTable tbody tr.list-card > td > * {
          vertical-align: top !important;
        }

        #listTable td:first-child .event-row {
          align-items: center !important;
          gap: 2px !important;
          grid-template-columns: 30px 1fr !important;
        }

        #homeLogoLink {
          align-items: center;
          display: inline-block;
          margin-bottom: 2px;
        }

        .lang-flag-btn .curr-label {
          line-height: 1rem !important;
        }
      }

      /* === @media 640–1023px (tablet only) === */
      @media (min-width: 640px) and (max-width: 1023px) {
        #listTable tr.list-card {
          display: table-row !important;
          border: none !important;
        }

        #listTable tr.list-card > td {
          display: table-cell !important;
          overflow: hidden !important;
          border: 0 !important;
          vertical-align: top !important;
        }

        #listTable td:first-child .event-row {
          align-items: start !important;
          display: grid !important;
          gap: 6px !important;
          grid-template-columns: 40px 1fr !important;
        }

        #listTable td:first-child .img-thumb {
          height: 60px !important;
          width: 40px !important;
          border-radius: 6px !important;
        }

        #listTable td:nth-child(3) .dj-heading {
          display: block !important;
          overflow: hidden !important;
          font-weight: 600 !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        #listTable td:nth-child(3) .dj-subline {
          display: block !important;
          opacity: 0.9 !important;
        }

        #listTable td:nth-child(3) .chip {
          max-width: 100% !important;
        }

        #listTable td:nth-child(3) .chip > span {
          overflow: hidden !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        #listTable th,
        #listTable td {
          overflow: hidden !important;
          text-overflow: ellipsis !important;
          white-space: nowrap !important;
        }

        #headerChatBtn {
          display: inline-flex;
        }

        #headerChatBtn .header-chat-text {
          display: inline !important;
        }

        #listTable {
          width: 100% !important;
          border-collapse: separate !important;
          border-spacing: 0 10px !important;
          table-layout: fixed !important;
        }

        #listTable thead th:nth-child(1),
        #listTable tbody td:nth-child(1) {
          width: 22% !important;
        }

        #listTable thead th:nth-child(5),
        #listTable tbody td:nth-child(5) {
          width: 10% !important;
        }

        #toggleFilters {
          grid-column: 1 / -1;
        }

        #viewMonth,
        #viewWeek,
        #viewList {
          grid-row: 1 !important;
          width: 100% !important;
          margin-right: 0 !important;
          white-space: nowrap;
        }

        #listTable td.links-cell,
        #listTable td:last-child,
        #listTable tr.list-card > td.links-cell {
          gap: 8px !important;
          grid-auto-rows: 32px !important;
          grid-template-columns: repeat(2, 32px) !important;
        }

        #listTable td.links-cell .link-chip,
        #listTable td:last-child .link-chip,
        #listTable tr.list-card > td.links-cell .link-chip {
          height: 32px !important;
          width: 32px !important;
          border-radius: 8px !important;
        }

        #listTable td.links-cell .link-chip .icon,
        #listTable td.links-cell .link-chip .icon i,
        #listTable td.links-cell .link-chip .icon svg,
        #listTable td:last-child .link-chip .icon,
        #listTable td:last-child .link-chip .icon i,
        #listTable td:last-child .link-chip .icon svg,
        #listTable tr.list-card > td.links-cell .link-chip .icon,
        #listTable tr.list-card > td.links-cell .link-chip .icon i,
        #listTable tr.list-card > td.links-cell .link-chip .icon svg {
          height: 20px !important;
          width: 20px !important;
        }

        #listTable td.links-cell,
        #listTable td:last-child,
        #listTable tr.list-card > td.links-cell {
          position: relative !important;
          z-index: 2 !important;
          align-content: start !important;
          align-items: start !important;
          display: grid !important;
          justify-content: start !important;
          overflow: visible !important;
          text-overflow: clip !important;
          white-space: normal !important;
        }

        #listTable td.links-cell > *,
        #listTable td:last-child > *,
        #listTable tr.list-card > td.links-cell > * {
          margin: 0 !important;
        }

        #listTable td.links-cell .link-chip,
        #listTable td:last-child .link-chip,
        #listTable tr.list-card > td.links-cell .link-chip {
          align-items: center !important;
          display: flex !important;
          justify-content: center !important;
          margin: 0 !important;
          padding: 0 !important;
        }

        #listTable td.links-cell .link-chip span:not(.icon),
        #listTable td:last-child .link-chip span:not(.icon),
        #listTable tr.list-card > td.links-cell .link-chip span:not(.icon) {
          display: none !important;
        }

        #listTable td.links-cell .link-chip .icon,
        #listTable td.links-cell .link-chip .icon i,
        #listTable td.links-cell .link-chip .icon svg,
        #listTable td:last-child .link-chip .icon,
        #listTable td:last-child .link-chip .icon i,
        #listTable td:last-child .link-chip .icon svg,
        #listTable tr.list-card > td.links-cell .link-chip .icon,
        #listTable tr.list-card > td.links-cell .link-chip .icon i,
        #listTable tr.list-card > td.links-cell .link-chip .icon svg {
          align-items: center !important;
          display: inline-flex !important;
          justify-content: center !important;
          line-height: 1 !important;
        }

        #controlsRow {
          align-items: stretch !important;
          display: grid !important;
          gap: 12px !important;
          grid-auto-flow: row dense !important;
          grid-auto-rows: auto;
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        }

        #controlsRow .toolbar-tab {
          width: 100% !important;
        }
      }

      /* === @media ≥ 1024px (desktop only) === */
      @media (min-width: 1024px) {
        #calendar .event-bg .dj-heading {
          font-size: 0.9rem !important;
          line-height: 1.2rem;
        }

        #calendar .event-bg .chip,
        #calendar .event-bg .badge {
          font-size: 0.6rem !important;
          line-height: 1rem !important;
        }

        .fc .fc-col-header th {
          position: sticky !important;
          top: calc(
            var(--sticky-header-h) + var(--sticky-controls-h) +
              var(--fc-toolbar-h)
          ) !important;
          z-index: 47 !important;
          background: inherit !important;
        }

        .fc .fc-list-table tr.fc-list-event + tr.fc-list-event td {
          padding-top: 0.2em;
        }

        .fc .fc-daygrid-event {
          margin-top: 0.2em;
        }

        #listTable tbody tr.list-card > td {
          padding: 0.2em 12px;
          background-clip: padding-box;
        }

        #controlsRow {
          padding-bottom: 20px;
          padding-top: 5px;
        }

        .fc .fc-col-header {
          position: sticky;
          top: var(--sticky-top);
          z-index: 6;
          margin: 0 !important;
          background: var(--page-bg, #0b1220);
        }

        .fc .fc-col-header-cell,
        .fc .fc-col-header-cell-cushion {
          background: inherit;
        }

        .fc-theme-standard .fc-col-header,
        .fc-theme-standard .fc-col-header-cell {
          border-bottom-color: rgba(255, 255, 255, 0.15);
        }

        .fc .fc-header-toolbar {
          top: calc(
            var(--sticky-header-h) + var(--sticky-controls-h)
          ) !important;
        }

        .fc .fc-scrollgrid {
          position: relative;
        }

        .fc .fc-scrollgrid-section-sticky > *,
        .fc .fc-col-header,
        .fc .fc-col-header thead,
        .fc .fc-col-header th {
          position: sticky !important;
          top: calc(
            var(--sticky-header-h) + var(--sticky-controls-h) +
              var(--fc-toolbar-h)
          ) !important;
          z-index: 47 !important;
          margin: 0 !important;
          background: rgba(255, 255, 255, 0.98) !important;
        }

        #listTable .link-chip {
          align-items: center;
          display: inline-flex;
          gap: 0.35rem;
          padding: 0.35rem 0.6rem;
          border: 1px solid var(--c-slate-200, #e2e8f0);
          border-radius: 9999px;
          box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
          background: var(--c-white, #ffffff);
        }

        #listTable .link-chip:hover {
          box-shadow: 0 2px 8px rgba(16, 24, 40, 0.12);
          transform: translateY(-1px);
        }

        #listTable .link-chip .icon {
          display: inline-flex;
        }

        .fc .fc-col-header th.fc-timegrid-axis {
          display: none;
        }

        .fc-timegrid .fc-col-header .fc-timegrid-axis {
          display: none;
        }

        .fc .fc-scrollgrid-sync-table {
          width: 100%;
          border-collapse: separate !important;
          table-layout: fixed;
        }

        .fc .fc-col-header .fc-col-header-cell {
          width: calc(100% / 7);
        }

        .fc .fc-daygrid-day-frame {
          position: relative;
          padding-top: 18px;
        }

        .fc .fc-daygrid-day-top {
          justify-content: flex-start;
          visibility: visible;
          opacity: 1;
        }

        #siteHeader .flex > div:has(> a#homeLogoLink) {
          flex: 1 1 auto;
          max-width: calc(100% - var(--banner-width, 450px) - 2rem);
          min-width: 0;
        }

        #siteHeader h1 {
          overflow-wrap: anywhere;
          white-space: normal;
        }

        #featuredBanner {
          width: 425px;
          margin-left: auto;
          margin-right: 0;
          --banner-width: clamp(380px, 34vw, 460px);
        }

        #desktopShareWrap .shareus-btn {
          margin-left: 0.5rem;
        }
      }

      /* === @media ≥640px (tablet + desktop shared) === */
      @media (min-width: 640px) {
        #modal .details-grid .right-col {
          padding-right: 1.5rem;
        }

        #modal .share-row {
          margin-right: -1.5rem;
          margin-top: 1.5rem;
        }

        #modal .img-thumb-tall {
          height: auto !important;
          max-height: 150px !important;
          width: auto !important;
        } /* maintain uniform height */

        #viewMonth,
        #viewWeek,
        #viewList {
          margin-right: 0.5rem;
        }

        #calendar .event-row {
          gap: 4px !important;
        }
        #calendar tr.fc-event > td {
          padding-left: 15px !important;
        }
        /* Reduce left column (thumb) ~15% and shrink right-column text by 10% */
        #calendar .event-row {
          grid-template-columns: 39px 1fr !important;
        }
        #calendar .event-row .thumb-col {
          width: 39px !important;
        }
        #calendar .event-row .details-col {
          font-size: 0.9em;
        }

        #calendar .event-bg {
          position: relative;
          overflow: hidden;
          padding: 6px 8px;
          border: 1px solid var(--c-slate-200, #e2e8f0);
          border-left: var(--genre-stripe-w, 6px) solid
            var(--genre-accent, #6366f1);
          border-radius: 12px;
          box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06),
            0 3px 6px rgba(16, 24, 40, 0.06);
          background: var(--c-white, #fff);
        }

        .tooltip {
          padding-left: calc(0.5rem + var(--genre-stripe-w, 6px)) !important;
          border-left: var(--genre-stripe-w, 6px) solid
            var(--genre-accent, #6366f1) !important;
        }
        /* removed duplicate tooltip pseudo-stripe */

        #langHost {
          text-align: left;
        }

        #siteHeader h1,
        #homeTitleLink {
          white-space: normal !important;
        }
        #homeTitleLink {
          display: block;
          min-width: 0;
        }
        #siteHeader h1 {
          min-width: 0;
        }

        .toolbar-tab {
          color: var(--mec-cta-b);
        }
        .toolbar-tab.active {
          border-color: transparent;
          background: var(--mec-cta-b);
          color: var(--c-white, #ffffff);
        }

      }


/* mec-chev-styles */
/* === MEC: Mobile chevron on list event cards (≤639px) === */
      @media (max-width: 639px) {
        #calendar .fc-list-table td.fc-list-event-title .event-row {
          grid-template-columns: 46px 1fr 20px !important; /* thumb, details, chevron */
          gap: 8px !important; /* replaces earlier wide gap hack */
        }
        #calendar
          .fc-list-table
          td.fc-list-event-title
          .event-row
          .details-col {
          min-width: 0 !important; /* ensure ellipses instead of overlap */
          margin-left: 28px;
        }
        #calendar
          .fc-list-table
          td.fc-list-event-title
          .event-row
          .chevron-col {
          display: flex !important;
          align-items: center !important;
          justify-content: center !important;
          align-self: center !important; /* vertical center within row */
          margin-right: 4px !important; /* slight margin from right edge */
          pointer-events: none !important; /* don't block click-to-open */
        }
        #calendar
          .fc-list-table
          td.fc-list-event-title
          .event-row
          .chevron-col
          .chevron-icon {
          width: 16px !important;
          height: 16px !important;
          color: var(--mec-cta-b) !important; /* uses theme color */
          fill: currentColor !important;
          stroke: currentColor !important;
        }
      }
      @media (min-width: 640px) {
        #calendar .event-row .chevron-col {
          display: none !important;
        }
      }


/* mec-marquee-styles */
/* Compact right-to-left scrolling marquee */
      #mecMarquee.mec-marquee {
        width: 100%;
        margin-top: 6px;
        border-top: 1px solid var(--c-slate-200, #e2e8f0);
        border-bottom: 1px solid var(--c-slate-200, #e2e8f0);
        background: linear-gradient(260deg, var(--mec-cta-a), var(--mec-cta-b));
        background-clip: padding-box;
        color: var(--mec-cta-text, #ffffff);
        font-size: 0.85rem;
        line-height: 1.6;
      }
      #mecMarquee .marquee-clip {
        position: relative;
        overflow: hidden;
        width: 100%;
        /* keep height compact */
        padding: 2px 0;
      }
      #mecMarquee .marquee-track {
        display: inline-flex;
        align-items: center;
        gap: 0.75rem;
        white-space: nowrap;
        will-change: transform;
        animation: mec-marquee-rtl var(--marquee-duration, 26s) linear infinite;
        padding: 4px 8px;
      }
      #mecMarquee a {
        display: inline-block;
        color: var(--mec-cta-text, #ffffff);
        text-decoration: none;
        padding: 0 0.25rem;

        font-weight: 700;
        text-shadow: 1px 1px 2px #555555;
      }
      #mecMarquee a:hover,
      #mecMarquee a:focus {
        text-decoration: underline;
        outline: none;
      }
      #mecMarquee .sep {
        opacity: 0.85;
        padding: 0 0.5rem;
      }
      @keyframes mec-marquee-rtl {
        0% {
          transform: translateX(0);
        }
        100% {
          transform: translateX(-50%);
        } /* two copies in track -> loop seamless */
      }
      /* Respect users who prefer reduced motion */
      @media (prefers-reduced-motion: reduce) {
        #mecMarquee .marquee-track {
          animation: none;
        }
        #mecMarquee .marquee-clip {
          overflow-x: auto;
          -webkit-overflow-scrolling: touch;
        }
      }
      /* Ensure sufficient contrast in light header background */
      @media (prefers-color-scheme: light) {
        #mecMarquee.mec-marquee {
          color: var(--mec-cta-text, #ffffff);
        }
      }


/* mec-marquee-tuning */
/* Default reading speed for marquee (pixels per second). Tune per brand if needed. */
      :root {
        --marquee-speed-pps: 44;
      }


/* mec-marquee-gesture-css */
/* Drag/Swipe gestures for marquee */
      #mecMarquee .marquee-clip {
        cursor: grab;
        -webkit-user-select: none;
        user-select: none;
      }
      #mecMarquee .marquee-clip.dragging {
        cursor: grabbing;
      }


/* mec-marquee-link-hover */
#mecMarquee .marquee-track a,
      #mecMarquee .marquee-track a:hover,
      #mecMarquee .marquee-track a:focus {
        text-decoration: none !important;
      }
      #mecMarquee .marquee-track a:hover,
      #mecMarquee .marquee-track a:focus-visible {
        text-shadow: 2px 2px 4px #333333;
      }

