/* ============================================================================
   Uganda Museums — Events & Calendar
   File: wp-content/themes/uganda-museums/assets/css/events.css
   Namespace: .evt- (Events module)
   ============================================================================ */

.evt-page {
  --evt-ink:#1A1A18;--evt-ink-soft:#4A4945;--evt-ink-muted:#7A7873;
  --evt-rule:#E2DED5;--evt-rule-soft:#ECE8DF;
  font-family:var(--font-body);color:var(--evt-ink);
}

/* ── 1. HERO ─────────────────────────────────────────────────── */

.evt-hero{position:relative;padding:clamp(80px,11vw,140px) 6vw clamp(50px,7vw,80px);background:radial-gradient(ellipse at 80% -20%,rgba(160,82,45,.06),transparent 55%),linear-gradient(180deg,var(--bg-warm),var(--bg-white));overflow:hidden;display:grid;grid-template-columns:1fr 60px;gap:40px}
.evt-hero::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(26,26,24,.04) 1px,transparent 0);background-size:18px 18px;opacity:.5;pointer-events:none}
.evt-hero__inner{position:relative;max-width:1180px;margin:0 auto;width:100%}

.evt-hero .breadcrumb{margin-bottom:24px}.evt-hero .breadcrumb__list{list-style:none;margin:0;padding:0;display:flex;gap:8px;font-size:12px;letter-spacing:.06em;color:var(--evt-ink-muted)}
.evt-hero .breadcrumb__item:not(:last-child)::after{content:"/";margin-left:8px;opacity:.5}
.evt-hero .breadcrumb__item a{color:var(--evt-ink-soft);text-decoration:none}.evt-hero .breadcrumb__item a:hover{color:var(--terracotta)}
.evt-hero .breadcrumb__item--active{color:var(--terracotta)}

.evt-hero__eyebrow{display:flex;align-items:center;margin-bottom:28px}
.evt-rule{display:inline-block;width:36px;height:1px;background:var(--terracotta);margin-right:14px}
.evt-eyebrow-text{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--evt-ink-soft);font-weight:500}

.evt-hero__title{font-family:var(--font-heading);font-size:clamp(2.6rem,6vw,5rem);font-weight:400;line-height:.98;letter-spacing:-.02em;color:var(--evt-ink);margin:0 0 32px;max-width:20ch}
.evt-hero__title em{font-style:italic;color:var(--terracotta);font-weight:400}

.evt-hero__lede{font-size:clamp(1.05rem,1.4vw,1.2rem);color:var(--evt-ink-soft);max-width:60ch;line-height:1.65;margin:0}

.evt-hero__sidebar{display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:20px 0}
.evt-hero__folio{font-family:var(--font-heading);font-style:italic;font-size:13px;color:var(--evt-ink-muted);letter-spacing:.06em}
.evt-hero__vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--evt-ink-muted)}


/* ── Shared section head ─────────────────────────────────────── */

.evt-section-head{max-width:720px;margin:0 auto 56px;text-align:center}
.evt-section-head .evt-rule{margin:0 auto 18px}
.evt-section-head__title{font-family:var(--font-heading);font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--evt-ink);margin:0 0 18px}
.evt-section-head__title em{font-style:italic;color:var(--terracotta);font-weight:500}
.evt-section-head__sub{font-size:1.05rem;color:var(--evt-ink-soft);line-height:1.7;margin:0}
.evt-section-head--light .evt-section-head__title{color:#fff}
.evt-section-head--light .evt-section-head__sub{color:rgba(255,255,255,.75)}
.evt-section-head--light .evt-rule{background:rgba(255,255,255,.55)}


/* ── 2. FEATURED EVENTS ─────────────────────────────────────── */

.evt-featured{background:var(--bg-white);padding:clamp(30px,4vw,60px) 6vw}
.evt-featured__inner{max-width:1280px;margin:0 auto}

.evt-featured-grid{display:grid;grid-template-columns:1.15fr 1fr;grid-template-rows:auto auto;gap:28px}

.evt-feat-card{background:var(--bg-section);border:1px solid var(--evt-rule);display:flex;flex-direction:column;overflow:hidden;transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.evt-feat-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(26,26,24,.12);border-color:var(--terracotta)}

.evt-feat-card--hero{grid-row:1/3}

.evt-feat-card__media{position:relative;overflow:hidden;background:var(--evt-rule-soft)}
.evt-feat-card--hero .evt-feat-card__media{aspect-ratio:3/2}
.evt-feat-card:not(.evt-feat-card--hero) .evt-feat-card__media{aspect-ratio:16/9}
.evt-feat-card__img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 500ms cubic-bezier(.2,.7,.2,1)}
.evt-feat-card:hover .evt-feat-card__img{transform:scale(1.05)}
.evt-feat-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--evt-ink-muted);opacity:.2;min-height:200px}

.evt-feat-card__badge{position:absolute;top:16px;left:16px;background:rgba(26,26,24,.85);color:#fff;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:6px 14px}

.evt-feat-card__body{padding:28px;flex:1;display:flex;flex-direction:column}
.evt-feat-card__date-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;font-size:13px;color:var(--evt-ink-muted)}
.evt-feat-card__date{font-weight:600;color:var(--terracotta)}
.evt-feat-card__time{opacity:.75}

.evt-feat-card__title{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;line-height:1.2;letter-spacing:-.01em;margin:0 0 14px}
.evt-feat-card--hero .evt-feat-card__title{font-size:2rem}
.evt-feat-card__title a{color:var(--evt-ink);text-decoration:none;transition:color 200ms ease}
.evt-feat-card__title a:hover{color:var(--terracotta)}

.evt-feat-card__excerpt{font-size:.88rem;color:var(--evt-ink-soft);line-height:1.65;margin:0 0 auto;padding-bottom:18px}

.evt-feat-card__meta-row{display:flex;align-items:center;gap:16px;font-size:13px;color:var(--evt-ink-muted);margin-bottom:18px}
.evt-feat-card__meta-row span:not(:last-child)::after{content:"•";margin-left:16px;opacity:.5}

.evt-feat-card__link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--terracotta);text-decoration:none;letter-spacing:.04em;transition:gap 280ms cubic-bezier(.2,.7,.2,1)}
.evt-feat-card:hover .evt-feat-card__link{gap:12px}


/* ── 3. EVENTS CALENDAR LIST ────────────────────────────────── */

.evt-calendar{background:var(--bg-section);padding:clamp(80px,10vw,140px) 6vw}
.evt-calendar__container{max-width:1480px;margin:0 auto;display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}

/* ── Sidebar ── */

.evt-sidebar{position:sticky;top:100px;background:var(--bg-white);padding:32px 28px;border:1px solid var(--evt-rule)}

.evt-search-box{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--evt-rule-soft)}
.evt-sidebar-label{display:block;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--evt-ink-muted);margin-bottom:12px}
.evt-search-wrap{position:relative}
.evt-search-input{width:100%;padding:12px 36px 12px 14px;font-family:var(--font-body);font-size:14px;color:var(--evt-ink);background:var(--bg-section);border:1px solid transparent;border-radius:0;outline:none;transition:all 200ms ease}
.evt-search-input:focus{background:var(--bg-white);border-color:var(--terracotta)}
.evt-search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--evt-ink-muted);pointer-events:none}

.evt-filter-group{border:none;padding:0;margin:0 0 24px}
.evt-filter-group[open]{padding-bottom:20px;border-bottom:1px solid var(--evt-rule-soft)}
.evt-filter-title{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--evt-ink);margin-bottom:16px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}
.evt-filter-title::after{content:"+";font-size:18px;color:var(--evt-ink-muted);transition:transform 200ms ease}
.evt-filter-group[open] .evt-filter-title::after{content:"−"}

.evt-filter-options{display:flex;flex-direction:column;gap:10px}
.evt-filter-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--evt-ink-soft);transition:color 200ms ease}
.evt-filter-checkbox:hover{color:var(--evt-ink)}
.evt-filter-checkbox input[type="checkbox"]{width:16px;height:16px;border:1px solid var(--evt-rule);border-radius:0;cursor:pointer;appearance:none;background:var(--bg-white);position:relative;transition:all 200ms ease}
.evt-filter-checkbox input:checked{background:var(--terracotta);border-color:var(--terracotta)}
.evt-filter-checkbox input:checked::after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.evt-filter-label{flex:1}
.evt-filter-count{font-size:12px;color:var(--evt-ink-muted);margin-left:auto}

.evt-clear-filters{margin-top:16px;padding:10px 16px;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--terracotta);background:transparent;border:1px solid var(--terracotta);cursor:pointer;width:100%;transition:all 200ms ease}
.evt-clear-filters:hover{background:var(--terracotta);color:#fff}

/* ── List area ── */

.evt-list-area{width:100%}

.evt-list-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid var(--evt-rule)}
.evt-list-heading{font-family:var(--font-heading);font-size:1.8rem;font-weight:500;color:var(--evt-ink);margin:0}
.evt-list-heading em{font-style:italic;color:var(--terracotta)}
.evt-list-count{font-size:14px;color:var(--evt-ink-soft);margin:0}
.evt-list-count strong{font-weight:600;color:var(--evt-ink)}

/* ── Event row ── */

.evt-list{display:flex;flex-direction:column;gap:0}

.evt-row{display:grid;grid-template-columns:80px 1fr auto;gap:28px;align-items:center;padding:28px 0;border-bottom:1px solid var(--evt-rule-soft);transition:all 200ms ease}
.evt-row:first-child{border-top:1px solid var(--evt-rule-soft)}
.evt-row:hover{background:rgba(160,82,45,.03);padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px}
.evt-row[data-hidden="true"]{display:none}

.evt-row__date{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px;background:var(--bg-white);border:1px solid var(--evt-rule);min-width:68px}
.evt-row__month{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--terracotta);font-weight:600}
.evt-row__day{font-family:var(--font-heading);font-size:1.8rem;font-weight:600;color:var(--evt-ink);line-height:1}

.evt-row__content{flex:1}
.evt-row__cat{display:inline-block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:8px}
.evt-row__title{font-family:var(--font-heading);font-size:1.3rem;font-weight:500;line-height:1.2;margin:0 0 8px}
.evt-row__title a{color:var(--evt-ink);text-decoration:none;transition:color 200ms ease}
.evt-row__title a:hover{color:var(--terracotta)}

.evt-row__meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13px;color:var(--evt-ink-muted)}
.evt-row__meta span:not(:last-child)::after{content:"•";margin-left:14px;opacity:.5}
.evt-row__fee{font-weight:600;color:var(--evt-ink-soft)}

.evt-row__action{flex-shrink:0}

.evt-empty{text-align:center;padding:80px 24px;color:var(--evt-ink-muted)}
.evt-empty h3{font-family:var(--font-heading);font-size:1.25rem;font-weight:500;font-style:italic;color:var(--evt-ink);margin:0 0 12px}
.evt-empty p{font-size:1rem;margin:0}


/* ── 4. RECURRING PROGRAMMES ────────────────────────────────── */

.evt-recurring{background:var(--bg-warm);padding:clamp(80px,10vw,140px) 6vw}
.evt-recurring__inner{max-width:1280px;margin:0 auto}

.evt-recurring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px}

.evt-recur-card{padding:32px 28px;border-left:2px solid var(--terracotta);background:var(--bg-white);transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.evt-recur-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px -8px rgba(26,26,24,.12)}

.evt-recur-card__freq{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin-bottom:16px}
.evt-recur-card h3{font-family:var(--font-heading);font-size:1.4rem;font-weight:500;color:var(--evt-ink);margin:0 0 14px;line-height:1.2;letter-spacing:-.01em}
.evt-recur-card p{font-size:.88rem;color:var(--evt-ink-soft);line-height:1.7;margin:0}


/* ── 5. HERITAGE DATES (dark forest) ────────────────────────── */

.evt-heritage{background:var(--forest);color:#fff;padding:clamp(80px,10vw,140px) 6vw;position:relative;overflow:hidden}
.evt-heritage::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 80% 20%,rgba(160,82,45,.15),transparent 60%),radial-gradient(ellipse at 10% 90%,rgba(232,201,168,.08),transparent 50%);pointer-events:none}
.evt-heritage__inner{position:relative;max-width:1280px;margin:0 auto}

.evt-heritage-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}

.evt-hdate{padding:28px 24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.evt-hdate:hover{background:rgba(255,255,255,.08);border-color:rgba(232,201,168,.3);transform:translateY(-4px)}

.evt-hdate__date{display:inline-block;font-family:var(--font-heading);font-size:1.1rem;font-weight:600;color:#E8C9A8;margin-bottom:12px;letter-spacing:.02em}
.evt-hdate h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:500;color:#fff;margin:0 0 10px;line-height:1.2}
.evt-hdate p{font-size:.95rem;color:rgba(255,255,255,.7);line-height:1.65;margin:0}


/* ── 6. VENUES ──────────────────────────────────────────────── */

.evt-venues{background:var(--bg-white);padding:clamp(80px,10vw,140px) 6vw}
.evt-venues__inner{max-width:1280px;margin:0 auto}

.evt-venues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}

.evt-venue-card{padding:28px 24px;border:1px solid var(--evt-rule);text-align:center;transition:all 300ms cubic-bezier(.2,.7,.2,1)}
.evt-venue-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px -6px rgba(26,26,24,.1);border-color:var(--terracotta)}
.evt-venue-card--primary{border-top:3px solid var(--terracotta);background:var(--bg-section)}

.evt-venue-card h3{font-family:var(--font-heading);font-size:1.3rem;font-weight:500;color:var(--evt-ink);margin:0 0 8px}
.evt-venue-card p{font-size:.9rem;color:var(--evt-ink-muted);margin:0 0 12px}
.evt-venue-card__detail{display:block;font-size:12px;color:var(--evt-ink-muted);font-style:italic}


/* ── 7. HOST YOUR EVENT CTA ─────────────────────────────────── */

.evt-host{background:var(--forest);color:#fff;padding:clamp(70px,9vw,120px) 6vw;position:relative;overflow:hidden}
.evt-host::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 50%,rgba(160,82,45,.25),transparent 55%);pointer-events:none}
.evt-host__inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}

.evt-tag{display:inline-block;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#E8C9A8;font-weight:600;margin-bottom:22px}
.evt-host__title{font-family:var(--font-heading);font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:500;line-height:1.05;letter-spacing:-.015em;color:#fff;margin:0 0 22px}
.evt-host__title em{font-style:italic;color:#E8C9A8}

.evt-host__copy p{font-size:1.05rem;color:rgba(255,255,255,.7);line-height:1.7;margin:0;max-width:52ch}
.evt-host__actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}


/* ── BUTTONS ─────────────────────────────────────────────────── */

.evt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 26px;font-family:var(--font-body);font-size:14px;font-weight:500;letter-spacing:.04em;text-decoration:none;border:1px solid transparent;border-radius:0;cursor:pointer;transition:all 280ms cubic-bezier(.2,.7,.2,1);white-space:nowrap}
.evt-btn--primary{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}
.evt-btn--primary:hover{background:#8a4525;transform:translateY(-2px);box-shadow:0 10px 24px -8px rgba(160,82,45,.4)}
.evt-btn--ghost{background:transparent;color:var(--evt-ink);border-color:var(--evt-rule)}
.evt-btn--ghost:hover{border-color:var(--evt-ink);background:var(--bg-section)}
.evt-btn--ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.evt-btn--ghost-light:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.evt-btn--lg{padding:18px 32px;font-size:15px}


/* ── RESPONSIVE ──────────────────────────────────────────────── */

@media(max-width:1024px){
  .evt-hero{grid-template-columns:1fr}
  .evt-hero__sidebar{display:none}
  .evt-calendar__container{grid-template-columns:1fr;gap:32px}
  .evt-sidebar{position:static}
  .evt-featured-grid{grid-template-columns:1fr;grid-template-rows:auto}
  .evt-feat-card--hero{grid-row:auto}
  .evt-host__inner{grid-template-columns:1fr;gap:32px}
}

@media(max-width:720px){
  .evt-row{grid-template-columns:60px 1fr;gap:16px}
  .evt-row__action{grid-column:1/-1;text-align:right}
  .evt-heritage-grid,.evt-venues-grid{grid-template-columns:1fr}
  .evt-recurring-grid{grid-template-columns:1fr}
  .evt-list-header{flex-direction:column;align-items:flex-start;gap:8px}
}

@media(prefers-reduced-motion:reduce){
  .evt-feat-card,.evt-feat-card__img,.evt-recur-card,.evt-hdate,.evt-venue-card,.evt-btn,.evt-row{transition:none!important}
  .evt-feat-card:hover,.evt-recur-card:hover,.evt-hdate:hover,.evt-venue-card:hover{transform:none}
}

/* ── SINGLE EVENT ── */
.ev-article__hero {
    position: relative; min-height: 380px; display: flex; align-items: flex-end;
    background-color: var(--forest); background-size: cover; background-position: center;
}
.ev-article__hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,26,24,0.8) 0%, rgba(26,26,24,0.3) 40%, rgba(26,26,24,0.05) 70%);
}
.ev-article__hero-inner { position: relative; z-index: 2; padding: 0 2rem 2.5rem; color: #fff; max-width: 900px; }
.ev-article__cat { display: inline-block; font-size: 0.65rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--terracotta); margin-bottom: 0.75rem; padding: 0.3rem 1rem; background: rgba(0,0,0,0.3); border-radius: 100px; }
.ev-article__title { font-family: var(--font-heading); font-size: clamp(1.8rem, 3.5vw, 2.8rem); font-weight: 700; line-height: 1.15; }
.ev-article__details { background: #fff; border-bottom: 1px solid var(--border-light); padding: 1.5rem 0; }
.ev-details-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.ev-detail { display: flex; flex-direction: column; gap: 0.25rem; }
.ev-detail__label { font-size: 0.65rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--terracotta); }
.ev-detail__value { font-size: 1rem; font-weight: 600; color: var(--text-primary); }
.ev-detail__value--price { color: var(--forest); }
.ev-article__body { padding: 3rem 0; background: var(--bg-warm); }
.ev-body-grid { display: grid; grid-template-columns: 1fr 340px; gap: 3rem; align-items: start; }
.ev-content { max-width: 720px; font-size: 1.05rem; line-height: 1.8; color: var(--text-secondary); }
.ev-content h2, .ev-content h3 { font-family: var(--font-heading); font-weight: 700; color: var(--text-primary); margin: 2rem 0 1rem; }
.ev-content h2 { font-size: 1.6rem; } .ev-content h3 { font-size: 1.25rem; }
.ev-content p { margin-bottom: 1.25rem; }
.ev-body__sidebar { position: sticky; top: calc(var(--header-height) + 1rem); }
.ev-share { margin-top: 1.5rem; padding: 1.25rem; background: #fff; border: 1px solid var(--border-light); }
.ev-share__label { font-size: 0.75rem; font-weight: 600; color: var(--text-muted); margin-bottom: 0.5rem; }
.ev-share__links { display: flex; gap: 0.75rem; }
.ev-share__link { font-size: 0.8rem; font-weight: 600; color: var(--terracotta); text-decoration: none; }
.ev-confirmed { padding: 6rem 0; text-align: center; background: var(--bg-warm); }
.ev-confirmed__inner { max-width: 500px; margin: 0 auto; }
.ev-confirmed__icon { font-size: 3rem; margin-bottom: 1rem; }
.ev-confirmed h1 { font-family: var(--font-heading); font-size: 2rem; margin-bottom: 0.5rem; }
.ev-confirmed__code { font-family: monospace; font-size: 1.5rem; font-weight: 700; color: var(--terracotta); background: #fff; padding: 0.5rem 1.5rem; display: inline-block; margin: 1rem 0; border: 1px solid var(--border-light); }
@media (max-width: 1024px) { .ev-body-grid { grid-template-columns: 1fr; } .ev-body__sidebar { position: static; } .ev-details-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .ev-article__hero { min-height: 280px; } .ev-details-grid { grid-template-columns: 1fr; } }
.evt-host__actions .evt-btn{min-width:320px;text-align:center}