/* ════════════════════════════════════════════════════════════════════════
   Eventbrite Events for Elementor — UI v7
   Design system: tokens scoped to .wfea, themed via .wfea.style-{name},
   per-widget customizable via {{WRAPPER}} inline custom-property overrides.
   ════════════════════════════════════════════════════════════════════════ */

/* ───────────────────────────────────────────────────────────────────────
   1.  DESIGN TOKENS
   ─────────────────────────────────────────────────────────────────────── */
.wfea, .eee-events {
    --eee-accent:        #f05537;
    --eee-accent-hover:  #d44228;
    --eee-accent-soft:   rgba(240, 85, 55, .10);

    --eee-card-bg:       #ffffff;
    --eee-card-bg-opacity: 1;

    --eee-surface-soft:   #f8fafc;

    --eee-text-title:     #0f172a;
    --eee-text-body:      #475569;
    --eee-text-meta:      #64748b;
    --eee-text-inverse:   #ffffff;

    --eee-border:         #e5e7eb;
    --eee-border-soft:    #f1f5f9;
    --eee-radius:         12px;
    --eee-radius-sm:      6px;
    --eee-shadow-sm:      0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.04);
    --eee-shadow-md:      0 4px 8px -2px rgba(15,23,42,.08), 0 2px 4px -2px rgba(15,23,42,.05);
    --eee-shadow-hover:   0 12px 28px -8px rgba(15,23,42,.18), 0 4px 12px -4px rgba(15,23,42,.10);

    --eee-ease:           cubic-bezier(.4, 0, .2, 1);
    --eee-ease-out:       cubic-bezier(.16, 1, .3, 1);
}

/* ───────────────────────────────────────────────────────────────────────
   2.  THEME OVERRIDES
   ─────────────────────────────────────────────────────────────────────── */
.wfea.style-dark {
    --eee-card-bg:      #1e1e2e;
    --eee-surface-soft:  #2d2d3f;
    --eee-text-title:    #f1f5f9;
    --eee-text-body:     #cbd5e1;
    --eee-text-meta:     #94a3b8;
    --eee-border:        #2d2d3f;
    --eee-border-soft:   #1e1e2e;
    --eee-shadow-sm:     0 1px 3px rgba(0,0,0,.4);
    --eee-shadow-md:     0 4px 12px rgba(0,0,0,.4);
    --eee-shadow-hover:  0 12px 32px rgba(0,0,0,.5);
}
.wfea.style-minimal {
    --eee-shadow-sm:    none;
    --eee-shadow-md:    none;
    --eee-shadow-hover: 0 0 0 1px var(--eee-accent);
    --eee-radius:       4px;
    --eee-radius-sm:    2px;
}
.wfea.style-ocean {
    --eee-accent:       #0d6efd;
    --eee-accent-hover: #0a58ca;
    --eee-accent-soft:  rgba(13, 110, 253, .10);
}
.wfea.style-forest {
    --eee-accent:       #16a34a;
    --eee-accent-hover: #15803d;
    --eee-accent-soft:  rgba(22, 163, 74, .10);
}
.wfea.style-sunset {
    --eee-accent:       #ef4444;
    --eee-accent-hover: #dc2626;
    --eee-accent-soft:  rgba(239, 68, 68, .10);
}

/* ───────────────────────────────────────────────────────────────────────
   3.  SHARED UTILITIES
   ─────────────────────────────────────────────────────────────────────── */
.wfea, .wfea * {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.eee-icon { display:inline-block; vertical-align:middle; flex-shrink:0; width:14px; height:14px; }
.eee-icon--lg { width:20px; height:20px; }

.wfea-badge, .eee-badge {
    display:inline-flex; align-items:center;
    padding:4px 10px; border-radius:999px;
    font-size:10.5px; font-weight:700; letter-spacing:.6px; text-transform:uppercase;
    line-height:1;
    backdrop-filter:blur(4px);
}
.eee-badge--live   { background:rgba(16,185,129,.95); color:#fff; }
.eee-badge--online { background:rgba(59,130,246,.95); color:#fff; }
.wfea-badge        { background:rgba(0,0,0,.5); color:#fff; }

.eee-tag {
    display:inline-block; padding:3px 10px; border-radius:999px;
    font-size:12px; font-weight:600; background:var(--eee-surface-soft); color:var(--eee-text-body);
    margin:0 4px 4px 0;
}
.eee-tag--format { background:var(--eee-accent-soft); color:var(--eee-accent); }

.eee-readmore-link {
    display:inline-flex; align-items:center; gap:3px;
    font-size:13px; font-weight:600; text-decoration:none;
    color:var(--eee-accent);
    transition:gap .2s var(--eee-ease), color .15s;
}
.eee-readmore-link:hover { color:var(--eee-accent-hover); gap:6px; }

.eee-btn, .booknow .eee-btn {
    display:inline-flex; align-items:center; justify-content:center;
    padding:10px 22px;
    background:var(--eee-accent); color:#fff;
    font-size:13px; font-weight:600; letter-spacing:.2px;
    border-radius:8px; border:none; line-height:1;
    text-decoration:none; cursor:pointer; white-space:nowrap;
    box-shadow:0 1px 2px rgba(15,23,42,.08);
    transition:transform .15s var(--eee-ease), box-shadow .2s var(--eee-ease),
               background .15s, color .15s;
}
.eee-btn:hover {
    background:var(--eee-accent-hover); color:#fff;
    transform:translateY(-1px);
    box-shadow:0 6px 16px -4px color-mix(in srgb, var(--eee-accent) 50%, transparent);
}
.eee-btn:active { transform:translateY(0); }
.eee-btn:focus-visible { outline:2px solid var(--eee-accent); outline-offset:2px; }
.eee-btn--sm { padding:7px 14px; font-size:12px; }
.eee-btn--lg { padding:13px 28px; font-size:14px; }

.eee-price--free { color:#10b981 !important; }

.wfea-no-events, .eee-no-events {
    text-align:center; color:var(--eee-text-meta); font-style:italic; padding:32px 0;
}
.wfea.error, .eee-error {
    background:#fef3c7; border:1px solid #fcd34d; border-radius:8px;
    padding:12px 16px; font-size:13px; color:#92400e;
}

.wfea-title, .eee-section__heading {
    font-size:24px; font-weight:800; margin:0 0 20px;
    padding-bottom:12px; border-bottom:3px solid var(--eee-accent);
    color:var(--eee-text-title); letter-spacing:-.01em;
    display:inline-block;
}
.wfea-title a { color:inherit; text-decoration:none; }

.eaw-alignleft   { float:left;  margin:0 14px 8px 0; }
.eaw-alignright  { float:right; margin:0 0 8px 14px; }
.eaw-aligncenter { display:block; margin:0 auto 12px; }

/* ───────────────────────────────────────────────────────────────────────
   3a.  THEME-DEFEATING RESETS
   WordPress themes routinely style .post, .entry-header, .entry-meta,
   .booknow, button, h2-h4 and ul. Neutralise their defaults inside .wfea
   so our layout-specific rules below can do their job.
   ─────────────────────────────────────────────────────────────────────── */
.wfea, .wfea *, .wfea *::before, .wfea *::after { box-sizing:border-box; }

.wfea .post,
.wfea article.post,
.wfea .hentry {
    margin:0; padding:0; background:none;
    border:none; box-shadow:none;
    position:relative;
}
.wfea .entry-header,
.wfea .entry-meta,
.wfea .entry-title,
.wfea .entry-excerpt {
    margin:0; padding:0;
    background:none; border:none;
    color:inherit; line-height:inherit;
    font-weight:inherit; font-size:inherit;
}
.wfea h1, .wfea h2, .wfea h3,
.wfea h4, .wfea h5, .wfea h6 {
    margin:0; padding:0;
    line-height:1.3; color:inherit;
}
.wfea p { margin:0; padding:0; color:inherit; }
.wfea ul, .wfea ol {
    margin:0; padding:0; list-style:none;
}
.wfea li { margin:0; padding:0; }
.wfea button {
    font:inherit; color:inherit;
    background:none; border:none;
    padding:0; cursor:pointer;
    text-align:left;
}
.wfea button:focus { outline:none; }
.wfea button:focus-visible {
    outline:2px solid var(--eee-accent);
    outline-offset:2px;
}
.wfea a { color:inherit; text-decoration:none; }
.wfea img { max-width:100%; height:auto; display:block; }
.wfea .booknow,
.wfea .booknow * { background:none; }

/* Generic card surface — applied to every layout's event card */
.eee-card, .eee-grid-item, .eee-widget-item, .eee-list-item,
.eee-venue-item, .eee-acc-item, .eee-short-date,
.eee-cal-list__day {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    color: var(--eee-text-body);
    border-radius: var(--eee-radius);
    box-shadow: var(--eee-shadow-sm), var(--eee-shadow-md);
    transition: box-shadow .3s var(--eee-ease), transform .3s var(--eee-ease);
}

/* ───────────────────────────────────────────────────────────────────────
   4.  CHECKOUT MODAL
   ─────────────────────────────────────────────────────────────────────── */
.eee-checkout-modal { display:none; position:fixed; inset:0; z-index:100000; align-items:center; justify-content:center; }
.eee-checkout-modal.is-open { display:flex; animation:eeeFadeIn .25s var(--eee-ease-out); }
.eee-checkout-modal__backdrop {
    position:absolute; inset:0;
    background:rgba(15,23,42,.7); backdrop-filter:blur(8px); cursor:pointer;
}
.eee-checkout-modal__box {
    position:relative; z-index:1;
    background:#fff; border-radius:16px;
    width:min(680px, 96vw); max-height:90vh;
    overflow:hidden; display:flex; flex-direction:column;
    box-shadow:0 32px 80px -16px rgba(0,0,0,.35), 0 8px 24px -8px rgba(0,0,0,.2);
    animation:eeeModalIn .35s var(--eee-ease-out);
}
@keyframes eeeFadeIn { from{opacity:0} to{opacity:1} }
@keyframes eeeModalIn { from{opacity:0; transform:translateY(20px) scale(.96)} to{opacity:1; transform:none} }
.eee-checkout-modal__close {
    position:absolute; top:12px; right:14px; z-index:2;
    background:rgba(15,23,42,.08); border:none; border-radius:50%;
    width:36px; height:36px; font-size:20px; cursor:pointer;
    color:#475569; display:flex; align-items:center; justify-content:center;
    transition:background .15s, transform .15s;
}
.eee-checkout-modal__close:hover { background:rgba(15,23,42,.16); transform:rotate(90deg); }
.eee-checkout-modal__iframe-wrap { flex:1; overflow-y:auto; min-height:440px; }
.eee-checkout-modal__iframe-wrap iframe { width:100%; min-height:440px; border:0; display:block; }
.eee-checkout-modal__iframe-wrap:empty::after {
    content:''; display:block; width:42px; height:42px; margin:80px auto;
    border:3px solid var(--eee-border); border-top-color:var(--eee-accent);
    border-radius:50%; animation:eeeSpin .7s linear infinite;
}
@keyframes eeeSpin { to{transform:rotate(360deg)} }

/* ════════════════════════════════════════════════════════════════════════
   5.  LAYOUT — CARD GRID
   ════════════════════════════════════════════════════════════════════════ */
.wfea.card .eee-card-grid,
.eee-layout-card .eee-card-grid {
    display:grid; grid-template-columns:repeat(3, 1fr);
    gap:28px; align-items:stretch;
}
.eee-card {
    overflow:hidden;
    display:flex; flex-direction:column;
    border:1px solid var(--eee-border-soft);
    position:relative;
}
.eee-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--eee-shadow-hover);
    border-color: transparent;
}
.eee-card__img-link {
    display:block; overflow:hidden;
    border-top-left-radius: var(--eee-radius);
    border-top-right-radius: var(--eee-radius);
}
.eee-card__img {
    width:100%; height:220px;
    background-size:cover; background-position:center;
    background-color:#e5e7eb; position:relative;
    transition: transform .6s var(--eee-ease-out);
}
.eee-card:hover .eee-card__img { transform: scale(1.05); }
.eee-img--large  { height:220px; }
.eee-img--medium { height:160px; }
.eee-img--small  { height:110px; }

.wfea .wfea-badge,
.wfea .eee-badge { position:absolute; top:14px; left:14px; z-index:1; }

.eee-card__date-badge {
    position:absolute; top:14px; right:14px; z-index:1;
    display:inline-flex; flex-direction:column; align-items:center;
    background:linear-gradient(135deg, var(--eee-accent) 0%, color-mix(in srgb, var(--eee-accent) 75%, #000) 100%);
    color:#fff; padding:8px 12px;
    border-radius:10px; min-width:48px; line-height:1.05;
    box-shadow:0 4px 12px -2px color-mix(in srgb, var(--eee-accent) 45%, transparent);
}
.eee-date-day   { font-size:22px; font-weight:800; letter-spacing:-.5px; }
.eee-date-month { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; margin-top:2px; }

.eee-card__meta {
    padding:20px 22px 0; flex:1;
    display:flex; flex-direction:column;
}
.eee-card__title {
    font-size:17px; font-weight:700; line-height:1.3;
    margin:0 0 12px; color:var(--eee-text-title);
    letter-spacing:-.01em;
}
.eee-card__title a { color:inherit; text-decoration:none; transition:color .15s; }
.eee-card__title a:hover { color:var(--eee-accent); }

.eee-card__info { display:flex; flex-direction:column; gap:6px; flex:1; }
.eee-meta__date, .eee-meta__location {
    display:flex; align-items:center; gap:6px;
    font-size:12.5px; font-weight:500; color:var(--eee-text-meta); margin:0;
}
.eee-meta__date  .eee-icon,
.eee-meta__location .eee-icon { color:var(--eee-accent); width:13px; height:13px; }
.eee-meta__price {
    font-size:13px; font-weight:700; color:var(--eee-text-title); margin:4px 0 0;
}
.eee-card__excerpt {
    font-size:13.5px; color:var(--eee-text-body); line-height:1.6;
    margin:10px 0 0; flex:1;
    display:-webkit-box; -webkit-line-clamp:3;
    -webkit-box-orient:vertical; overflow:hidden;
}
.eee-card__actions {
    padding:16px 22px 20px;
    display:flex; align-items:center; gap:10px; flex-wrap:wrap;
    border-top:1px solid var(--eee-border-soft); margin-top:auto;
}

/* ════════════════════════════════════════════════════════════════════════
   6.  LAYOUT — WIDGET LIST
   ════════════════════════════════════════════════════════════════════════ */
.wfea.widget .eee-widget-list,
.eee-layout-widget .eee-widget-list {
    list-style:none; margin:0; padding:0;
    display:flex; flex-direction:column; gap:12px;
}
.eee-widget-item {
    padding:14px 16px;
    display:flex; gap:14px; align-items:flex-start;
    border:1px solid var(--eee-border-soft);
    overflow:hidden;
}
.eee-widget-item:hover {
    transform:translateY(-1px);
    box-shadow:var(--eee-shadow-md);
    border-color:transparent;
}
.eee-widget-item__thumb-link { display:block; flex-shrink:0; overflow:hidden; border-radius:var(--eee-radius-sm); }
.eee-widget-item__thumb {
    background-size:cover; background-position:center;
    background-color:#e5e7eb;
    display:block; position:relative;
    transition:transform .5s var(--eee-ease-out);
}
.eee-widget-item:hover .eee-widget-item__thumb { transform:scale(1.06); }
.eee-widget-item__meta {
    flex:1; min-width:0;
    display:flex; flex-direction:column; gap:4px;
}
.eee-widget-item__title {
    font-size:14.5px; font-weight:700; line-height:1.35;
    margin:0 0 2px; color:var(--eee-text-title);
}
.eee-widget-item__title a { color:inherit; text-decoration:none; transition:color .15s; }
.eee-widget-item__title a:hover { color:var(--eee-accent); }
.eee-widget-item__meta .event-date,
.eee-widget-item__meta .event-venue {
    font-size:12px; color:var(--eee-text-meta);
    display:flex; align-items:center; gap:4px; margin:0;
}
.eee-widget-item__excerpt {
    font-size:12px; color:var(--eee-text-body); line-height:1.55;
    margin:4px 0 0;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.eee-widget-item__actions { display:flex; gap:8px; align-items:center; margin-top:8px; flex-wrap:wrap; }

/* ════════════════════════════════════════════════════════════════════════
   7.  LAYOUT — LIST (text left, image right)
   ════════════════════════════════════════════════════════════════════════ */
.wfea.list, .eee-layout-list { display:flex; flex-direction:column; gap:16px; }
.eee-list-item {
    overflow:hidden;
    display:grid; grid-template-columns: 1fr 260px;
    min-height:180px;
    border:1px solid var(--eee-border-soft);
}
.eee-list-item:hover {
    box-shadow: var(--eee-shadow-hover);
    border-color: transparent;
}
.eee-list-item--no-img { grid-template-columns:1fr; }
.eee-list-item__body {
    padding:24px 28px;
    display:flex; flex-direction:column; flex:1;
    grid-column:1; grid-row:1;
}
.eee-list-item__meta {
    display:flex; gap:18px; flex-wrap:wrap;
    margin-bottom:10px; padding-bottom:10px;
    border-bottom:1px solid var(--eee-border-soft);
}
.eee-list-item__title {
    font-size:19px; font-weight:700; line-height:1.3;
    margin:0 0 10px; color:var(--eee-text-title);
    letter-spacing:-.015em;
}
.eee-list-item__title a { color:inherit; text-decoration:none; transition:color .15s; }
.eee-list-item__title a:hover { color:var(--eee-accent); }
.eee-list-item__excerpt {
    font-size:14px; color:var(--eee-text-body); line-height:1.65;
    margin:0 0 14px; flex:1;
    display:-webkit-box; -webkit-line-clamp:3;
    -webkit-box-orient:vertical; overflow:hidden;
}
.eee-list-item__footer {
    display:flex; align-items:center; justify-content:space-between;
    gap:12px; margin-top:auto; flex-wrap:wrap;
}
.eee-list-item__price { font-size:15px; font-weight:700; color:var(--eee-text-title); }
.eee-list-item__actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.eee-list-item__img-link {
    grid-column:2; grid-row:1; display:block; overflow:hidden;
}
.eee-list-item__img {
    width:100%; height:100%; min-height:180px;
    background-size:cover; background-position:center;
    background-color:#e5e7eb; position:relative;
    transition: transform .6s var(--eee-ease-out);
}
.eee-list-item:hover .eee-list-item__img { transform: scale(1.05); }

/* ════════════════════════════════════════════════════════════════════════
   8.  LAYOUT — ONE (hero)
   ════════════════════════════════════════════════════════════════════════ */
.wfea.one .eee-one {
    position:relative;
    border-radius:var(--eee-radius); overflow:hidden;
    box-shadow:var(--eee-shadow-hover);
}
.wfea.one .eee-one__hero {
    position:relative; min-height:460px;
    background-size:cover; background-position:center;
    background-color:#0f172a;
    display:flex; align-items:flex-end;
}
.wfea.one .eee-one__overlay {
    position:absolute; inset:0;
    background:linear-gradient(180deg,
        rgba(15,23,42,0)   0%,
        rgba(15,23,42,.20) 40%,
        rgba(15,23,42,.92) 100%);
    pointer-events:none;
}
.wfea.one .eee-one__content {
    position:relative; z-index:1;
    padding:48px;
    color:#fff; width:100%; max-width:820px;
}
.wfea.one .eee-one__content--no-image {
    padding:48px; background:var(--eee-surface-soft); color:var(--eee-text-title);
}
.wfea.one .eee-one__title {
    font-size:clamp(28px, 4vw, 44px); font-weight:800;
    line-height:1.1; margin:14px 0 18px;
    letter-spacing:-.02em;
}
.wfea.one .eee-one__content--no-image .eee-one__title { color:var(--eee-text-title); }
.wfea.one .eee-one__title a { color:inherit; text-decoration:none; }
.wfea.one .eee-one__meta {
    display:flex; flex-wrap:wrap; gap:20px; font-size:14.5px;
    margin-bottom:18px; opacity:.95; font-weight:500;
}
.wfea.one .eee-one__excerpt {
    font-size:16px; line-height:1.6; margin:0 0 22px;
    max-width:62ch; opacity:.92;
}
.wfea.one .eee-one__actions { display:flex; gap:12px; flex-wrap:wrap; }
.wfea.one .eee-one__actions .eee-btn { padding:13px 30px; font-size:14px; }


/* ════════════════════════════════════════════════════════════════════════
   9.  LAYOUT — GRID (compact)
   Dense 3-4 column grid. Image-on-top cards, smaller than Card Grid.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.grid .eee-grid-cols,
.wfea .eee-grid-cols {
    display:grid !important;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
    align-items:stretch;
}
.wfea.grid .eee-grid-item,
.wfea .eee-grid-item {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border:1px solid var(--eee-border-soft);
    border-radius:var(--eee-radius);
    overflow:hidden;
    display:flex; flex-direction:column;
    box-shadow:var(--eee-shadow-sm);
    transition:transform .25s var(--eee-ease), box-shadow .25s var(--eee-ease), border-color .2s;
    position:relative;
}
.wfea.grid .eee-grid-item:hover,
.wfea .eee-grid-item:hover {
    transform:translateY(-4px);
    box-shadow:var(--eee-shadow-hover);
    border-color:var(--eee-accent);
}
.wfea.grid .eee-grid-item .thumbnail,
.wfea .eee-grid-item .thumbnail {
    display:block; overflow:hidden;
    border-top-left-radius:var(--eee-radius);
    border-top-right-radius:var(--eee-radius);
}
.wfea.grid .eee-grid-item__img,
.wfea .eee-grid-item__img {
    width:100%; height:160px;
    background-size:cover; background-position:center;
    background-color:var(--eee-surface-soft);
    position:relative;
    transition:transform .5s var(--eee-ease-out);
}
.wfea.grid .eee-grid-item:hover .eee-grid-item__img,
.wfea .eee-grid-item:hover .eee-grid-item__img { transform:scale(1.08); }

.wfea.grid .eee-grid-item__body,
.wfea .eee-grid-item__body {
    padding:14px 16px; flex:1;
    display:flex; flex-direction:column; gap:6px;
}
.wfea.grid .eee-grid-item__title,
.wfea .eee-grid-item__title {
    font-size:15px !important;
    font-weight:700 !important;
    line-height:1.3 !important;
    margin:2px 0 !important;
    color:var(--eee-text-title) !important;
    letter-spacing:-.01em;
    /* Clamp to 2 lines so every card is the same height */
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.wfea.grid .eee-grid-item__title a,
.wfea .eee-grid-item__title a { color:inherit !important; text-decoration:none !important; }
.wfea.grid .eee-grid-item__title a:hover,
.wfea .eee-grid-item__title a:hover { color:var(--eee-accent) !important; }

.wfea.grid .eee-grid-item__body .event-date,
.wfea .eee-grid-item__body .event-date {
    color:var(--eee-accent) !important;
    text-transform:uppercase;
    letter-spacing:.6px;
    font-size:11px !important;
    font-weight:700 !important;
    margin:0 !important;
}
.wfea.grid .eee-grid-item__body .event-venue,
.wfea .eee-grid-item__body .event-venue {
    font-size:12px !important;
    color:var(--eee-text-meta) !important;
    font-weight:500 !important;
    margin:0 !important;
    display:-webkit-box;
    -webkit-line-clamp:1;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.wfea.grid .eee-grid-item__actions,
.wfea .eee-grid-item__actions {
    padding:12px 16px;
    border-top:1px solid var(--eee-border-soft);
    margin-top:auto;
}
.wfea.grid .eee-grid-item__actions .eee-btn,
.wfea .eee-grid-item__actions .eee-btn {
    width:100%; padding:9px 14px; font-size:12.5px;
}

/* ════════════════════════════════════════════════════════════════════════
   10. LAYOUT — SHORT DATE
   Bold, accent-coloured date block on left. Event details middle. CTA right.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.short_date {
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
}
.wfea.short_date .eee-short-date {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    display:grid !important;
    grid-template-columns: 110px 1fr auto;
    align-items:stretch;
    border-radius:var(--eee-radius);
    border:1px solid var(--eee-border-soft);
    overflow:hidden;
    box-shadow:var(--eee-shadow-sm);
    transition:box-shadow .25s var(--eee-ease), transform .2s var(--eee-ease);
    /* override default border-left we used to have */
    border-left:1px solid var(--eee-border-soft) !important;
    padding:0 !important;
}
.wfea.short_date .eee-short-date:hover {
    transform:translateX(2px);
    box-shadow:var(--eee-shadow-hover);
}

/* DATE BLOCK — bold solid accent panel */
.wfea.short_date .eee-short-date__date {
    background:linear-gradient(160deg, var(--eee-accent) 0%, color-mix(in srgb, var(--eee-accent) 70%, #000) 100%);
    color:#fff;
    display:flex !important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:18px 12px !important;
    border:none !important;
    min-width:unset !important;
    text-align:center;
}
.wfea.short_date .eee-short-date__month {
    display:block !important;
    color:#fff !important;
    font-size:12px !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:1.4px;
    margin:0 !important;
    opacity:.95;
}
.wfea.short_date .eee-short-date__day {
    display:block !important;
    color:#fff !important;
    font-size:42px !important;
    font-weight:800 !important;
    line-height:1 !important;
    margin:6px 0 4px !important;
    letter-spacing:-.025em;
    font-variant-numeric:tabular-nums;
}
.wfea.short_date .eee-short-date__weekday {
    display:block !important;
    color:rgba(255,255,255,.85) !important;
    font-size:11px !important;
    font-weight:600 !important;
    text-transform:uppercase;
    letter-spacing:.9px;
    margin:0 !important;
}

/* BODY */
.wfea.short_date .eee-short-date__body {
    padding:18px 22px !important;
    display:flex; flex-direction:column;
    justify-content:center;
    min-width:0;
    flex:none !important;
}
.wfea.short_date .eee-short-date__title {
    font-size:18px !important;
    font-weight:700 !important;
    color:var(--eee-text-title) !important;
    margin:0 0 8px !important;
    letter-spacing:-.015em;
    line-height:1.25;
}
.wfea.short_date .eee-short-date__title a {
    color:inherit !important; text-decoration:none !important;
    transition:color .15s;
}
.wfea.short_date .eee-short-date__title a:hover { color:var(--eee-accent) !important; }
.wfea.short_date .eee-short-date__meta {
    display:flex; flex-wrap:wrap; gap:14px;
    font-size:13px !important; color:var(--eee-text-meta) !important;
    margin:0 0 6px !important; font-weight:500;
}
.wfea.short_date .eee-short-date__meta .event-time,
.wfea.short_date .eee-short-date__meta .event-venue,
.wfea.short_date .eee-short-date__meta .event-price {
    margin:0; color:inherit !important;
}
.wfea.short_date .eee-short-date__excerpt {
    font-size:13.5px !important; color:var(--eee-text-body) !important;
    line-height:1.55 !important; margin:8px 0 0 !important;
    display:-webkit-box;
    -webkit-line-clamp:2; -webkit-box-orient:vertical;
    overflow:hidden;
}

/* ACTIONS */
.wfea.short_date .eee-short-date__actions {
    padding:18px 22px !important;
    display:flex !important; gap:8px;
    align-self:center;
    border-left:1px solid var(--eee-border-soft);
}
.wfea.short_date .eee-short-date__actions .eee-btn { white-space:nowrap; }

/* ════════════════════════════════════════════════════════════════════════
   11. LAYOUT — ACCORDION
   Click-to-expand event rows with smooth height transitions.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.accordion {
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
}
.wfea.accordion .eee-acc-item {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border:1px solid var(--eee-border);
    border-radius:var(--eee-radius);
    overflow:hidden;
    box-shadow:var(--eee-shadow-sm);
    transition:border-color .2s, box-shadow .25s var(--eee-ease);
}
.wfea.accordion .eee-acc-item.is-open {
    border-color:var(--eee-accent);
    box-shadow:var(--eee-shadow-md), 0 0 0 1px color-mix(in srgb, var(--eee-accent) 30%, transparent);
}

/* HEADER */
.wfea.accordion .eee-acc-item__header {
    width:100%;
    background:none !important;
    border:none !important;
    cursor:pointer;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:18px 22px !important;
    gap:16px;
    text-align:left;
    color:inherit;
    font-family:inherit;
    transition:background .2s var(--eee-ease);
}
.wfea.accordion .eee-acc-item__header:hover {
    background:color-mix(in srgb, var(--eee-accent) 5%, transparent) !important;
}
.wfea.accordion .eee-acc-item.is-open .eee-acc-item__header {
    background:color-mix(in srgb, var(--eee-accent) 8%, transparent) !important;
    border-bottom:1px solid var(--eee-border-soft);
}

.wfea.accordion .eee-acc-item__head-info {
    flex:1; min-width:0;
    display:flex; flex-direction:column;
    gap:4px;
}
.wfea.accordion .eee-acc-item__date {
    display:inline-flex !important;
    align-items:center;
    font-size:11px !important;
    font-weight:800 !important;
    color:var(--eee-accent) !important;
    letter-spacing:.7px;
    text-transform:uppercase;
    margin:0 !important;
}
.wfea.accordion .eee-acc-item__title {
    font-size:16px !important;
    font-weight:700 !important;
    margin:0 !important;
    color:var(--eee-text-title) !important;
    letter-spacing:-.01em;
    line-height:1.35;
}
.wfea.accordion .eee-acc-item__chevron {
    flex-shrink:0;
    width:24px; height:24px;
    color:var(--eee-text-meta);
    transition:transform .35s var(--eee-ease-out), color .2s;
}
.wfea.accordion .eee-acc-item.is-open .eee-acc-item__chevron {
    transform:rotate(180deg);
    color:var(--eee-accent);
}

/* BODY */
.wfea.accordion .eee-acc-item__panel { background:none; }
.wfea.accordion .eee-acc-item__body {
    padding:24px !important;
    display:grid !important;
    grid-template-columns:240px 1fr;
    gap:28px;
    align-items:start;
}
.wfea.accordion .eee-acc-item__img {
    width:100%;
    aspect-ratio:16/10;
    min-height:160px;
    background-size:cover; background-position:center;
    background-color:var(--eee-surface-soft);
    border-radius:var(--eee-radius-sm);
}
.wfea.accordion .eee-acc-item__details > p {
    margin:0 0 10px !important;
    font-size:14px !important;
    color:var(--eee-text-body) !important;
    line-height:1.6 !important;
}
.wfea.accordion .eee-acc-item__details strong {
    color:var(--eee-text-title) !important;
    font-weight:700 !important;
    margin-right:6px;
}
.wfea.accordion .eee-acc-item__details .booknow {
    display:flex; gap:10px; flex-wrap:wrap;
    margin-top:16px !important;
}

/* ════════════════════════════════════════════════════════════════════════
   12. LAYOUT — CALENDAR
   Classic month grid (Sun-Sat) with event pills on days.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.calendar {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border:1px solid var(--eee-border);
    border-radius:var(--eee-radius);
    padding:28px !important;
    box-shadow:var(--eee-shadow-sm), var(--eee-shadow-md);
}

/* HEADER */
.wfea.calendar .eee-cal__header {
    text-align:center;
    margin:0 0 24px !important;
    padding-bottom:18px !important;
    border-bottom:2px solid var(--eee-border-soft);
}
.wfea.calendar .eee-cal__month {
    font-size:26px !important;
    font-weight:800 !important;
    margin:0 !important;
    color:var(--eee-text-title) !important;
    letter-spacing:-.02em;
}

/* GRID */
.wfea.calendar .eee-cal__grid {
    display:grid !important;
    grid-template-columns:repeat(7, 1fr) !important;
    gap:6px;
}
.wfea.calendar .eee-cal__weekday {
    text-align:center;
    padding:12px 4px !important;
    font-size:11px !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:1px;
    color:var(--eee-text-meta) !important;
    background:none !important;
}
.wfea.calendar .eee-cal__day {
    min-height:100px;
    padding:8px !important;
    border:1px solid var(--eee-border-soft);
    border-radius:var(--eee-radius-sm);
    display:flex !important;
    flex-direction:column;
    gap:4px;
    background:none;
    transition:background .2s, border-color .2s, transform .15s;
}
.wfea.calendar .eee-cal__day:hover {
    border-color:var(--eee-accent);
    background:color-mix(in srgb, var(--eee-accent) 3%, transparent);
}
.wfea.calendar .eee-cal__day--empty {
    border-color:transparent !important;
    background:none !important;
    pointer-events:none;
}
.wfea.calendar .eee-cal__day.has-events {
    border-color:var(--eee-accent);
    background:color-mix(in srgb, var(--eee-accent) 6%, transparent);
}
.wfea.calendar .eee-cal__daynum {
    font-size:14px !important;
    font-weight:700 !important;
    color:var(--eee-text-title) !important;
    margin:0 0 2px !important;
    line-height:1;
}
.wfea.calendar .eee-cal__day.has-events .eee-cal__daynum {
    color:var(--eee-accent) !important;
    font-weight:800 !important;
}

/* EVENT PILLS */
.wfea.calendar .eee-cal__event {
    display:block !important;
    background:var(--eee-accent) !important;
    color:#fff !important;
    font-size:11px !important;
    font-weight:600 !important;
    padding:3px 7px !important;
    border-radius:4px;
    text-decoration:none !important;
    line-height:1.35;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:background .15s, transform .15s, box-shadow .15s;
    box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.wfea.calendar .eee-cal__event:hover {
    background:var(--eee-accent-hover) !important;
    color:#fff !important;
    transform:translateY(-1px);
    box-shadow:0 3px 6px -1px color-mix(in srgb, var(--eee-accent) 50%, transparent);
}

/* ════════════════════════════════════════════════════════════════════════
   13. LAYOUT — CALENDAR LIST
   Events grouped under bold day headers with accent time column.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.calendar_list {
    display:flex !important;
    flex-direction:column !important;
    gap:20px !important;
}
.wfea.calendar_list .eee-cal-list__day {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border:1px solid var(--eee-border-soft);
    border-radius:var(--eee-radius);
    overflow:hidden;
    box-shadow:var(--eee-shadow-sm);
}

/* DATE HEADER */
.wfea.calendar_list .eee-cal-list__date {
    background:linear-gradient(135deg, var(--eee-text-title) 0%, color-mix(in srgb, var(--eee-text-title) 75%, #000) 100%);
    color:#fff !important;
    margin:0 !important;
    padding:16px 24px !important;
    font-size:15px !important;
    font-weight:700 !important;
    letter-spacing:.3px;
    border:none;
    border-bottom:3px solid var(--eee-accent);
}
.wfea.style-dark.calendar_list .eee-cal-list__date,
.wfea.calendar_list.style-dark .eee-cal-list__date {
    background:linear-gradient(135deg, var(--eee-accent) 0%, var(--eee-accent-hover) 100%);
    border-bottom-color:transparent;
}

.wfea.calendar_list .eee-cal-list__events {
    margin:0 !important; padding:0 !important;
    list-style:none !important;
}

/* EVENT ROW */
.wfea.calendar_list .eee-cal-list__event {
    display:grid !important;
    grid-template-columns: 90px 1fr auto;
    gap:18px;
    align-items:center;
    padding:18px 24px !important;
    border-bottom:1px solid var(--eee-border-soft);
    transition:background .2s, padding-left .2s;
    list-style:none;
}
.wfea.calendar_list .eee-cal-list__event:last-child { border-bottom:none; }
.wfea.calendar_list .eee-cal-list__event:hover {
    background:color-mix(in srgb, var(--eee-accent) 4%, transparent);
    padding-left:32px !important;
}

.wfea.calendar_list .eee-cal-list__time {
    font-size:15px !important;
    font-weight:800 !important;
    color:var(--eee-accent) !important;
    letter-spacing:.3px;
    font-variant-numeric:tabular-nums;
    line-height:1.2;
    margin:0;
}
.wfea.calendar_list .eee-cal-list__info { min-width:0; }
.wfea.calendar_list .eee-cal-list__info .entry-title {
    font-size:16px !important;
    font-weight:700 !important;
    margin:0 0 4px !important;
    color:var(--eee-text-title) !important;
    letter-spacing:-.01em;
    line-height:1.3;
}
.wfea.calendar_list .eee-cal-list__info .entry-title a {
    color:inherit !important;
    text-decoration:none !important;
    transition:color .15s;
}
.wfea.calendar_list .eee-cal-list__info .entry-title a:hover {
    color:var(--eee-accent) !important;
}
.wfea.calendar_list .eee-cal-list__info .event-venue {
    font-size:13px !important;
    color:var(--eee-text-meta) !important;
    margin:0;
    font-weight:500;
}
.wfea.calendar_list .eee-cal-list__event .booknow {
    display:flex; flex-shrink:0;
}

/* ════════════════════════════════════════════════════════════════════════
   14. LAYOUT — SLIDESHOW
   Cinematic full-bleed carousel with prev/next + dot navigation.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.slideshow { position:relative; }
.wfea.slideshow .eee-slider {
    position:relative;
    border-radius:var(--eee-radius);
    overflow:hidden;
    background:#0f172a;
    min-height:500px;
    box-shadow:var(--eee-shadow-hover);
}
.wfea.slideshow .eee-slider__track {
    position:relative;
    width:100%;
    min-height:500px;
}

/* SLIDES */
.wfea.slideshow .eee-slider__slide {
    position:absolute !important;
    inset:0;
    display:flex !important;
    align-items:flex-end !important;
    opacity:0;
    pointer-events:none;
    transition:opacity .6s var(--eee-ease-out);
    margin:0 !important;
    padding:0 !important;
}
.wfea.slideshow .eee-slider__slide.is-active,
.wfea.slideshow .eee-slider__slide[data-slide="0"]:not([aria-hidden="true"]) {
    opacity:1;
    pointer-events:auto;
}
.wfea.slideshow .eee-slider__img {
    position:absolute;
    inset:0;
    background-size:cover;
    background-position:center;
}
.wfea.slideshow .eee-slider__overlay {
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,
        rgba(15,23,42,0)   0%,
        rgba(15,23,42,.15) 35%,
        rgba(15,23,42,.95) 100%);
    pointer-events:none;
}

/* CONTENT */
.wfea.slideshow .eee-slider__content {
    position:relative;
    z-index:1;
    padding:48px 72px !important;
    color:#fff !important;
    width:100%;
    max-width:820px;
}
.wfea.slideshow .eee-slider__title {
    font-size:clamp(28px, 4vw, 42px) !important;
    font-weight:800 !important;
    line-height:1.1 !important;
    margin:0 0 16px !important;
    letter-spacing:-.02em;
    color:#fff !important;
}
.wfea.slideshow .eee-slider__title a {
    color:inherit !important;
    text-decoration:none !important;
}
.wfea.slideshow .eee-slider__meta {
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    font-size:14.5px !important;
    color:#fff !important;
    opacity:.95;
    margin-bottom:16px;
    font-weight:500;
}
.wfea.slideshow .eee-slider__meta > span { color:inherit !important; }
.wfea.slideshow .eee-slider__content .entry-excerpt {
    font-size:15px !important;
    color:#fff !important;
    line-height:1.6 !important;
    margin:0 0 22px !important;
    max-width:60ch;
    opacity:.92;
}
.wfea.slideshow .eee-slider__content .booknow {
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

/* NAV ARROWS */
.wfea.slideshow .eee-slider__nav {
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:52px !important;
    height:52px !important;
    border-radius:50%;
    border:none !important;
    background:rgba(255,255,255,.12) !important;
    backdrop-filter:blur(10px);
    color:#fff !important;
    font-size:24px !important;
    line-height:1 !important;
    cursor:pointer;
    z-index:2;
    display:flex !important;
    align-items:center;
    justify-content:center;
    padding:0 !important;
    transition:background .2s, transform .2s, box-shadow .2s;
}
.wfea.slideshow .eee-slider__nav:hover {
    background:var(--eee-accent) !important;
    transform:translateY(-50%) scale(1.08);
    box-shadow:0 8px 20px -4px color-mix(in srgb, var(--eee-accent) 50%, transparent);
}
.wfea.slideshow .eee-slider__nav--prev { left:24px; }
.wfea.slideshow .eee-slider__nav--next { right:24px; }

/* DOTS */
.wfea.slideshow .eee-slider__dots {
    position:absolute;
    bottom:24px;
    left:50%;
    transform:translateX(-50%);
    z-index:2;
    display:flex !important;
    gap:8px;
}
.wfea.slideshow .eee-slider__dot {
    width:10px;
    height:10px;
    border-radius:50%;
    border:none !important;
    padding:0 !important;
    background:rgba(255,255,255,.4) !important;
    cursor:pointer;
    transition:background .2s, width .3s var(--eee-ease-out), transform .2s;
}
.wfea.slideshow .eee-slider__dot:hover {
    background:rgba(255,255,255,.7) !important;
}
.wfea.slideshow .eee-slider__dot.is-active {
    background:#fff !important;
    width:28px;
    border-radius:5px;
}

/* ════════════════════════════════════════════════════════════════════════
   15. LAYOUT — VENUE
   Venue-prominent layout with strong banner and image-left card.
   ════════════════════════════════════════════════════════════════════════ */
.wfea.venue {
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
}
.wfea.venue .eee-venue-item {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    display:grid !important;
    grid-template-columns: 320px 1fr;
    border:1px solid var(--eee-border-soft);
    border-radius:var(--eee-radius);
    overflow:hidden;
    box-shadow:var(--eee-shadow-sm);
    transition:transform .25s var(--eee-ease), box-shadow .3s var(--eee-ease), border-color .2s;
}
.wfea.venue .eee-venue-item:hover {
    transform:translateY(-3px);
    box-shadow:var(--eee-shadow-hover);
    border-color:var(--eee-accent);
}

/* IMAGE */
.wfea.venue .eee-venue-item .thumbnail {
    display:block;
    overflow:hidden;
    grid-column:1;
    grid-row:1;
}
.wfea.venue .eee-venue-item__img {
    width:100%;
    height:100%;
    min-height:240px;
    background-size:cover;
    background-position:center;
    background-color:var(--eee-surface-soft);
    position:relative;
    transition:transform .6s var(--eee-ease-out);
}
.wfea.venue .eee-venue-item:hover .eee-venue-item__img {
    transform:scale(1.06);
}

/* BODY */
.wfea.venue .eee-venue-item__body {
    padding:26px 30px !important;
    display:flex !important;
    flex-direction:column;
    grid-column:2;
    grid-row:1;
}

/* VENUE BANNER */
.wfea.venue .eee-venue-item__venue-banner {
    display:flex !important;
    align-items:center;
    flex-wrap:wrap;
    gap:10px;
    background:linear-gradient(135deg,
        color-mix(in srgb, var(--eee-accent) 15%, transparent) 0%,
        color-mix(in srgb, var(--eee-accent) 5%, transparent)  100%);
    border:1px solid color-mix(in srgb, var(--eee-accent) 25%, transparent);
    border-left:4px solid var(--eee-accent);
    padding:10px 14px !important;
    border-radius:var(--eee-radius-sm);
    margin-bottom:16px !important;
}
.wfea.venue .eee-venue-item__venue-banner .eee-icon {
    color:var(--eee-accent) !important;
    width:16px; height:16px;
}
.wfea.venue .eee-venue-item__venue-name {
    color:var(--eee-accent) !important;
    font-size:14px !important;
    font-weight:800 !important;
    letter-spacing:.2px;
}
.wfea.venue .eee-venue-item__venue-addr {
    color:var(--eee-text-meta) !important;
    font-size:12.5px !important;
    font-weight:500;
}

/* TITLE */
.wfea.venue .eee-venue-item__title {
    font-size:22px !important;
    font-weight:800 !important;
    margin:0 0 10px !important;
    color:var(--eee-text-title) !important;
    letter-spacing:-.02em;
    line-height:1.2;
}
.wfea.venue .eee-venue-item__title a {
    color:inherit !important;
    text-decoration:none !important;
}
.wfea.venue .eee-venue-item__title a:hover {
    color:var(--eee-accent) !important;
}

/* META */
.wfea.venue .eee-venue-item__meta {
    display:flex !important;
    flex-wrap:wrap;
    gap:18px;
    font-size:13.5px !important;
    color:var(--eee-text-body) !important;
    margin:0 0 12px !important;
    font-weight:500;
}
.wfea.venue .eee-venue-item__meta > span { color:inherit !important; }

/* EXCERPT */
.wfea.venue .eee-venue-item__excerpt {
    font-size:13.5px !important;
    color:var(--eee-text-body) !important;
    line-height:1.6 !important;
    margin:0 0 18px !important;
    flex:1;
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
}

/* ACTIONS */
.wfea.venue .eee-venue-item__actions {
    display:flex !important;
    gap:10px;
    flex-wrap:wrap;
    margin-top:auto;
}

   16. SECTION WIDGETS
   ════════════════════════════════════════════════════════════════════════ */
.eee-placeholder {
    display:flex; align-items:center; gap:8px;
    background:var(--eee-surface-soft); border:2px dashed var(--eee-border);
    border-radius:var(--eee-radius-sm); padding:16px 20px;
    color:var(--eee-text-meta); font-size:14px;
}
.eee-placeholder--error { background:#fef2f2; border-color:#fecaca; color:#991b1b; }

.eee-header {
    position:relative; display:flex; align-items:flex-end;
    min-height:460px; background-size:cover; background-position:center;
    background-color:#0f172a; border-radius:var(--eee-radius); overflow:hidden;
}
.eee-header__overlay {
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(15,23,42,0) 30%, rgba(15,23,42,.85) 100%);
    pointer-events:none;
}
.eee-header__content { position:relative; z-index:1; padding:44px; width:100%; }
.eee-header__category {
    display:inline-block; background:rgba(255,255,255,.18); color:#fff;
    font-size:11px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase;
    padding:4px 12px; border-radius:999px; margin-bottom:14px;
    backdrop-filter:blur(6px);
}
.eee-header__title {
    color:#fff; font-size:clamp(26px, 4.2vw, 46px);
    font-weight:800; line-height:1.1; margin:8px 0 18px;
    letter-spacing:-.02em;
}
.eee-header__meta {
    display:flex; flex-wrap:wrap; gap:20px;
    color:rgba(255,255,255,.92); font-size:14.5px; font-weight:500;
}
.eee-header__meta-item { display:flex; align-items:center; gap:7px; }
.eee-header__meta-item .eee-icon { color:var(--eee-accent); }

.eee-event-title { margin:0; color:var(--eee-text-title); letter-spacing:-.015em; }
.eee-event-title a { text-decoration:none; color:inherit; }

.eee-details__tags { margin-bottom:16px; }
.eee-details__body {
    line-height:1.7; color:var(--eee-text-body); font-size:15px; margin-bottom:24px;
}
.eee-details__organizer {
    display:flex; align-items:center; gap:16px;
    padding:18px; background:var(--eee-surface-soft);
    border-radius:var(--eee-radius-sm);
    border-left:4px solid var(--eee-accent); margin-top:16px;
}
.eee-organizer__logo { width:54px; height:54px; object-fit:contain; border-radius:6px; }
.eee-organizer__label {
    display:block; font-size:11px; text-transform:uppercase;
    letter-spacing:.8px; color:var(--eee-text-meta); font-weight:700;
}
.eee-organizer__name {
    font-size:15.5px; font-weight:700; color:var(--eee-text-title); text-decoration:none;
}
a.eee-organizer__name:hover { color:var(--eee-accent); }

.eee-date-card {
    background:var(--eee-surface-soft); border-radius:var(--eee-radius);
    padding:24px; display:flex; flex-direction:column; gap:16px;
}
.eee-date--inline .eee-date-card { flex-direction:row; flex-wrap:wrap; gap:28px; }
.eee-date-card__row { display:flex; align-items:flex-start; gap:14px; }
.eee-date-card__icon { color:var(--eee-accent); margin-top:2px; }
.eee-date-card__text { display:flex; flex-direction:column; gap:3px; }
.eee-date-card__label {
    font-size:11px; text-transform:uppercase; letter-spacing:.8px;
    color:var(--eee-text-meta); font-weight:700;
}
.eee-date-card__value { font-size:16px; font-weight:700; color:var(--eee-text-title); }
.eee-date-card__time { font-size:14px; color:var(--eee-text-body); }
.eee-date-card__timezone {
    display:flex; align-items:center; gap:7px;
    font-size:12.5px; color:var(--eee-text-meta);
    padding-top:10px; border-top:1px solid var(--eee-border-soft);
}
.eee-countdown {
    display:flex; align-items:center; justify-content:center;
    gap:10px; margin-top:24px; padding:20px;
    background:#0f172a; border-radius:var(--eee-radius);
}
.eee-countdown__unit { display:flex; flex-direction:column; align-items:center; min-width:60px; }
.eee-countdown__num {
    font-size:32px; font-weight:800; color:var(--eee-accent);
    line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums;
}
.eee-countdown__label {
    font-size:10.5px; text-transform:uppercase; letter-spacing:.8px;
    color:rgba(255,255,255,.65); margin-top:4px; font-weight:600;
}
.eee-countdown__sep {
    font-size:26px; font-weight:700; color:rgba(255,255,255,.35);
    align-self:flex-start; padding-top:4px;
}

.eee-location__map {
    margin-bottom:18px; border-radius:var(--eee-radius); overflow:hidden;
    box-shadow:var(--eee-shadow-sm);
}
.eee-location__map iframe { width:100%; border:0; display:block; }
.eee-location__card--online {
    display:flex; align-items:flex-start; gap:16px;
    background:color-mix(in srgb, #3b82f6 8%, transparent);
    border-radius:var(--eee-radius); padding:22px;
}
.eee-location__info-row {
    display:flex; align-items:flex-start; gap:16px; padding:16px 0;
}
.eee-location__icon { color:var(--eee-accent); flex-shrink:0; margin-top:2px; }
.eee-location__venue {
    display:block; font-size:16.5px; font-weight:700;
    color:var(--eee-text-title); margin-bottom:6px;
}
.eee-location__address {
    font-style:normal; font-size:14px; color:var(--eee-text-body);
    line-height:1.65; white-space:pre-line; margin:0 0 12px;
}
.eee-location__directions-link {
    font-size:13.5px; font-weight:700; color:var(--eee-accent); text-decoration:none;
    display:inline-flex; align-items:center; gap:4px;
    transition:gap .2s var(--eee-ease);
}
.eee-location__directions-link:hover { gap:8px; }

.eee-gallery__grid { display:grid; gap:10px; grid-template-columns:repeat(3,1fr); }
.eee-gallery--cols-1{grid-template-columns:1fr}.eee-gallery--cols-2{grid-template-columns:repeat(2,1fr)}.eee-gallery--cols-3{grid-template-columns:repeat(3,1fr)}.eee-gallery--cols-4{grid-template-columns:repeat(4,1fr)}
.eee-gallery__thumb {
    position:relative; width:100%; padding-bottom:66%;
    background-size:cover; background-position:center;
    background-color:#e5e7eb; border-radius:var(--eee-radius-sm); overflow:hidden;
    transition:transform .3s var(--eee-ease), box-shadow .3s var(--eee-ease);
    cursor:zoom-in;
}
.eee-gallery__thumb:hover {
    transform:scale(1.03); box-shadow:var(--eee-shadow-hover);
}
.eee-gallery__zoom {
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    background:rgba(0,0,0,0); transition:background .25s; color:#fff; opacity:0;
}
.eee-gallery__thumb:hover .eee-gallery__zoom { background:rgba(0,0,0,.4); opacity:1; }
.eee-lightbox {
    position:fixed; inset:0; z-index:99999;
    background:rgba(0,0,0,.94); backdrop-filter:blur(8px);
    display:flex; align-items:center; justify-content:center;
}
.eee-lightbox__img { max-width:90vw; max-height:90vh; border-radius:6px; }
.eee-lightbox__close {
    position:absolute; top:24px; right:28px;
    background:none; border:none; color:#fff;
    font-size:38px; line-height:1; cursor:pointer; padding:6px;
    transition:color .15s, transform .15s;
}
.eee-lightbox__close:hover { color:var(--eee-accent); transform:rotate(90deg); }

.eee-lineup__grid { display:grid; gap:20px; grid-template-columns:repeat(3,1fr); }
.eee-lineup--cols-2{grid-template-columns:repeat(2,1fr)}.eee-lineup--cols-3{grid-template-columns:repeat(3,1fr)}.eee-lineup--cols-4{grid-template-columns:repeat(4,1fr)}.eee-lineup--cols-5{grid-template-columns:repeat(5,1fr)}
.eee-speaker-card {
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border-radius:var(--eee-radius); padding:24px;
    box-shadow:var(--eee-shadow-sm), var(--eee-shadow-md);
    text-align:center; display:flex; flex-direction:column;
    align-items:center; gap:14px;
    transition:transform .3s var(--eee-ease), box-shadow .3s var(--eee-ease);
    border:1px solid var(--eee-border-soft);
}
.eee-speaker-card:hover {
    transform:translateY(-3px); box-shadow:var(--eee-shadow-hover);
    border-color:transparent;
}
.eee-lineup--list .eee-lineup__grid{grid-template-columns:1fr}
.eee-lineup--list .eee-speaker-card{flex-direction:row;text-align:left}
.eee-lineup--list .eee-speaker__body{flex:1}
.eee-speaker__avatar {
    width:96px; height:96px; border-radius:50%; object-fit:cover;
    border:3px solid var(--eee-accent-soft);
}
.eee-speaker__avatar--placeholder {
    display:flex; align-items:center; justify-content:center;
    background:var(--eee-surface-soft); color:var(--eee-text-meta);
}
.eee-speaker__name{font-size:15.5px;font-weight:700;margin:0 0 4px;color:var(--eee-text-title)}
.eee-speaker__headline{font-size:13px;font-weight:700;color:var(--eee-accent);margin:0 0 4px;letter-spacing:.2px}
.eee-speaker__company{font-size:12.5px;color:var(--eee-text-meta);margin:0 0 6px}
.eee-speaker__bio{font-size:13px;color:var(--eee-text-body);line-height:1.55;margin:0}

.eee-agenda-timeline__item{display:flex;gap:18px;margin-bottom:8px}
.eee-agenda-timeline__marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:16px}
.eee-agenda-timeline__dot{width:14px;height:14px;border-radius:50%;background:var(--eee-accent);flex-shrink:0;margin-top:4px;box-shadow:0 0 0 4px var(--eee-accent-soft)}
.eee-agenda-timeline__line{width:2px;flex:1;background:var(--eee-accent);opacity:.25;margin:6px 0}
.eee-agenda-timeline__item:last-child .eee-agenda-timeline__line{display:none}
.eee-agenda__session{
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border-radius:var(--eee-radius-sm); padding:18px 20px;
    box-shadow:var(--eee-shadow-sm); flex:1; margin-bottom:8px;
    border:1px solid var(--eee-border-soft);
}
.eee-agenda__meta{display:flex;align-items:center;gap:12px;margin-bottom:8px;flex-wrap:wrap}
.eee-agenda__time{font-size:13px;font-weight:700;color:var(--eee-accent);letter-spacing:.2px}
.eee-agenda__name{font-size:15.5px;font-weight:700;margin:0 0 6px;color:var(--eee-text-title);letter-spacing:-.01em}
.eee-agenda__desc{font-size:13.5px;color:var(--eee-text-body);line-height:1.55;margin:8px 0 0}
.eee-agenda-table-wrap{overflow-x:auto;border-radius:var(--eee-radius);box-shadow:var(--eee-shadow-sm)}
.eee-agenda-table{width:100%;border-collapse:collapse;font-size:14px;background:color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent)}
.eee-agenda-table th{background:var(--eee-surface-soft);padding:12px 16px;text-align:left;font-weight:700;border-bottom:2px solid var(--eee-border);white-space:nowrap;color:var(--eee-text-title);font-size:12.5px;text-transform:uppercase;letter-spacing:.5px}
.eee-agenda-table td{padding:12px 16px;border-bottom:1px solid var(--eee-border-soft);vertical-align:top;color:var(--eee-text-body)}
.eee-agenda-table tr:hover td{background:color-mix(in srgb, var(--eee-accent) 3%, transparent)}
.eee-agenda-cards{display:flex;flex-direction:column;gap:14px}
.eee-agenda__session--card{display:flex;gap:18px;align-items:flex-start}
.eee-agenda__time-block{
    display:flex;flex-direction:column;align-items:center;gap:2px;
    min-width:72px;text-align:center;flex-shrink:0;
    background:var(--eee-accent-soft);border-radius:var(--eee-radius-sm);padding:12px 10px;
}
.eee-agenda__time-sep{color:var(--eee-text-meta);font-size:11px}
.eee-agenda__card-body{flex:1}

.eee-tickets__grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
    gap:18px;margin-bottom:24px;align-items:stretch;
}
.eee-tickets--list .eee-tickets__grid{grid-template-columns:1fr}
.eee-ticket-card{
    background-color: color-mix(in srgb, var(--eee-card-bg) calc(var(--eee-card-bg-opacity) * 100%), transparent);
    border:1px solid var(--eee-border); border-radius:var(--eee-radius);
    padding:22px; display:flex; flex-direction:column;
    transition:box-shadow .25s var(--eee-ease), transform .2s var(--eee-ease), border-color .2s;
}
.eee-ticket-card:hover{
    box-shadow:var(--eee-shadow-hover); transform:translateY(-2px);
    border-color:var(--eee-accent);
}
.eee-ticket--sold-out{opacity:.6}
.eee-ticket__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.eee-ticket__name{font-size:15.5px;font-weight:700;color:var(--eee-text-title);margin:0;flex:1;letter-spacing:-.01em}
.eee-ticket__price{font-size:18px;font-weight:800;color:var(--eee-accent);white-space:nowrap;letter-spacing:-.02em}
.eee-ticket__price--free{color:#10b981}
.eee-ticket__desc-wrap{flex:1;min-height:4em}
.eee-ticket__desc{font-size:13px;color:var(--eee-text-body);line-height:1.55;margin:0}
.eee-ticket__footer{
    display:flex;align-items:center;justify-content:space-between;
    gap:12px;padding-top:16px;margin-top:14px;
    border-top:1px solid var(--eee-border-soft);flex-wrap:wrap;
}
.eee-ticket__status{
    display:inline-flex;align-items:center;gap:5px;
    font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;
    letter-spacing:.2px;
}
.eee-ticket__status--available{background:rgba(16,185,129,.12);color:#059669}
.eee-ticket__status--sold_out{background:rgba(239,68,68,.12);color:#dc2626}
.eee-ticket__status--unavailable{background:#e5e7eb;color:#475569}
.eee-tickets__cta{text-align:center;margin-top:20px}

/* ════════════════════════════════════════════════════════════════════════
   17. RESPONSIVE
   ════════════════════════════════════════════════════════════════════════ */
@media (max-width:1024px) {
    .wfea.card .eee-card-grid,
    .eee-layout-card .eee-card-grid { grid-template-columns:repeat(2,1fr); }
    .wfea.grid .eee-grid-cols,
    .eee-layout-grid .eee-grid-cols { grid-template-columns:repeat(2,1fr); }
    .eee-lineup--cols-4, .eee-lineup--cols-5 { grid-template-columns:repeat(3,1fr); }
    .eee-gallery--cols-4 { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:768px) {
    .wfea.card .eee-card-grid,
    .eee-layout-card .eee-card-grid { grid-template-columns:1fr; }
    .wfea.grid .eee-grid-cols,
    .eee-layout-grid .eee-grid-cols { grid-template-columns:repeat(2,1fr); }

    .eee-list-item { grid-template-columns:1fr; grid-template-rows:auto auto; }
    .eee-list-item__body  { grid-column:1; grid-row:1; }
    .eee-list-item__img-link { grid-column:1; grid-row:2; }
    .eee-list-item__img { height:200px; min-height:unset; }

    .wfea.short_date .eee-short-date { flex-wrap:wrap; gap:18px; }
    .wfea.short_date .eee-short-date__date { border-right:none; border-bottom:1px solid var(--eee-border-soft); padding-bottom:14px; padding-right:0; width:100%; }
    .wfea.short_date .eee-short-date__actions { align-self:stretch; }

    .wfea.accordion .eee-acc-item__body { grid-template-columns:1fr; }
    .wfea.venue .eee-venue-item, .eee-layout-venue .eee-venue-item { grid-template-columns:1fr; }
    .wfea.venue .eee-venue-item__img { min-height:220px; }

    .eee-cal__day { min-height:64px; padding:5px; }
    .eee-cal__event { font-size:9.5px; padding:2px 4px; }
    .eee-cal__daynum { font-size:12px; }
    .eee-slider, .eee-slider__track { min-height:380px; }
    .eee-slider__content { padding:28px; }

    .wfea.one .eee-one__content { padding:30px 24px; }
    .wfea.one .eee-one__hero    { min-height:380px; }

    .eee-lineup__grid  { grid-template-columns:repeat(2,1fr) !important; }
    .eee-gallery__grid { grid-template-columns:repeat(2,1fr) !important; }
    .eee-date--inline .eee-date-card { flex-direction:column; }
    .eee-agenda__session--card { flex-direction:column; }
    .eee-header__content { padding:30px 24px; }
    .eee-tickets__grid { grid-template-columns:1fr; }
    .eee-agenda-table thead { display:none; }
    .eee-agenda-table td { display:block; }
    .eee-agenda-table td::before {
        content:attr(data-label); font-weight:700; display:block;
        font-size:11px; color:var(--eee-text-meta); margin-bottom:2px;
    }
    .wfea.widget .eee-widget-item { flex-wrap:wrap; }
}
@media (max-width:480px) {
    .wfea.grid .eee-grid-cols,
    .eee-layout-grid .eee-grid-cols { grid-template-columns:1fr; }
    .eee-cal-list__event { flex-wrap:wrap; }
    .eee-cal-list__time { min-width:auto; width:100%; }
    .eee-lineup__grid  { grid-template-columns:1fr !important; }
    .eee-gallery__grid { grid-template-columns:1fr !important; }
    .eee-lineup--list .eee-speaker-card { flex-direction:column; align-items:center; text-align:center; }
}

/* Reduced motion: kill transitions that animate transforms */
@media (prefers-reduced-motion: reduce) {
    .wfea *, .eee-events * { transition:none !important; animation:none !important; }
    .eee-card:hover, .eee-grid-item:hover, .eee-list-item:hover,
    .eee-venue-item:hover, .eee-widget-item:hover, .eee-short-date:hover,
    .eee-card:hover .eee-card__img, .eee-list-item:hover .eee-list-item__img,
    .eee-grid-item:hover .eee-grid-item__img, .eee-venue-item:hover .eee-venue-item__img,
    .eee-widget-item:hover .eee-widget-item__thumb { transform:none !important; }
}
