/* ==========================================================================
   Mesosphere — events.css
   Events archive (featured card + rows) and single event. Loads on event views.
   ========================================================================== */
.meso-events{padding-block-start:56px}
.meso-efeat{display:grid;grid-template-columns:7fr 5fr;gap:0;border-radius:var(--meso-frame);overflow:hidden;background:var(--meso-dark);color:var(--meso-on-dark)}
.meso-efeat__media{border-radius:0;min-block-size:520px}
.meso-efeat:hover .meso-efeat__media{transform:none}
.meso-efeat:hover .meso-efeat__media>img{transform:scale(1.045)}
.meso-efeat__body{display:flex;flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(28px,4vw,56px)}
.meso-efeat__when{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--meso-accent)}
.meso-efeat__main{display:flex;flex-direction:column;gap:16px}
.meso-efeat__t{font-size:var(--meso-h4);font-weight:600;line-height:1.2;letter-spacing:-.025em;color:#fff}
.meso-efeat__x{line-height:1.8;color:var(--meso-on-dark-muted)}
.meso-efeat__who{display:flex;gap:12px;align-items:center;padding-block-start:22px;border-block-start:1px solid var(--meso-on-dark-line);font-size:.875rem;font-weight:600}
.meso-efeat__who svg{color:var(--meso-accent);flex:0 0 auto}
@media (max-width:900px){.meso-efeat{grid-template-columns:1fr}.meso-efeat__media{min-block-size:300px}}

.meso-erows{display:flex;flex-direction:column;gap:24px;margin-block-start:var(--meso-space-section)}
.meso-erows__head{display:flex;flex-direction:column;gap:16px;margin-block-end:24px}
.meso-erow{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,440px) 1fr;gap:48px;align-items:center;padding:20px;border-radius:var(--meso-frame);background:#fff;border:1px solid var(--meso-line);transition:border-color var(--meso-t-c) var(--meso-ease-s)}
.meso-erow::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:var(--meso-sh-m);opacity:0;transition:opacity var(--meso-t-m) var(--meso-ease)}
.meso-erow:hover{border-color:transparent}
.meso-erow:hover::after{opacity:1}
.meso-erow__media{aspect-ratio:4/3;transform:none!important}
.meso-erow__ph{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:28px;background:var(--meso-dark);color:#fff}
.meso-erow__q{font-size:1.4rem;font-weight:600;line-height:1.3}
.meso-erow__body{display:flex;flex-direction:column;gap:14px;padding-inline-end:24px}
.meso-erow__tags{display:flex;gap:8px;flex-wrap:wrap}
.meso-erow__t{font-size:1.6rem;font-weight:600;line-height:1.25;letter-spacing:-.02em;color:var(--meso-ink)}
.meso-erow__x{line-height:1.8;color:var(--meso-body)}
.meso-erow__foot{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block-start:16px;border-block-start:1px solid var(--meso-line);font-size:.875rem;color:var(--meso-muted)}
.meso-erow__foot .meso-link{color:var(--meso-ink)}
@media (max-width:900px){.meso-erow{grid-template-columns:1fr;gap:20px}.meso-erow__body{padding:0 4px 8px}}

/* Single */
.meso-esingle__in{display:grid;grid-template-columns:320px 1fr;gap:72px;align-items:start}
.meso-esingle__aside{position:sticky;inset-block-start:110px;display:flex;flex-direction:column;gap:20px}
.meso-edl{margin:0;padding:8px 24px;border-radius:var(--meso-radius);background:var(--meso-bg-soft)}
.meso-edl div{padding-block:16px}
.meso-edl div+div{border-block-start:1px solid var(--meso-line)}
.meso-edl dt{font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--meso-muted)}
.meso-edl dd{margin:4px 0 0;font-weight:600;color:var(--meso-ink)}
.meso-egal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block-start:48px}
.meso-egal__i{margin:0;aspect-ratio:1/1}
.meso-egal__i.is-wide{grid-column:1/-1;aspect-ratio:16/9}
@media (max-width:900px){.meso-esingle__in{grid-template-columns:1fr;gap:32px}.meso-esingle__aside{position:static}}

/* ==========================================================================
   v1.5 — event layouts: grid + magazine, shared cards
   ========================================================================== */
.meso-egrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 24px}
.meso-ecard__media{aspect-ratio:1.15/1}
.meso-ecard.is-feat{grid-column:span 2}
.meso-ecard.is-feat .meso-ecard__media{aspect-ratio:2.32/1}
.meso-ecard.is-feat .meso-card__t{font-size:var(--meso-h4);line-height:1.2}
.meso-ecard__x{font-size:.95rem;line-height:1.75;color:var(--meso-body)}
.meso-ecard .meso-erow__ph{border-radius:inherit}
@media (max-width:1024px){.meso-egrid{grid-template-columns:repeat(2,minmax(0,1fr))}.meso-ecard.is-feat .meso-ecard__media{aspect-ratio:16/9}}
@media (max-width:640px){.meso-egrid{grid-template-columns:1fr}.meso-ecard.is-feat{grid-column:auto}}

.meso-emag{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px;align-items:stretch}
.meso-emag__feat{position:relative;display:block;min-block-size:600px;border-radius:var(--meso-frame);overflow:hidden;color:#fff}
.meso-emag__media{position:absolute;inset:0;border-radius:0}
.meso-emag__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--meso-dark-rgb),.05) 25%,rgba(var(--meso-dark-rgb),.88));pointer-events:none}
.meso-emag__feat:hover .meso-emag__media{transform:none}
.meso-emag__feat:hover .meso-emag__media>img{transform:scale(1.045)}
.meso-emag__over{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:14px;padding:clamp(24px,3.5vw,44px)}
.meso-emag__over .meso-card__tags{position:static}
.meso-emag__t{font-size:var(--meso-h4);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.meso-emag__x{max-inline-size:520px;line-height:1.75;color:rgba(255,255,255,.8)}
.meso-emag__over .meso-link{color:var(--meso-accent)}
.meso-emag__list{display:flex;flex-direction:column;gap:12px}
.meso-emag__row{position:relative;isolation:isolate;flex:1;display:grid;grid-template-columns:120px minmax(0,1fr) 40px;align-items:center;gap:20px;padding:14px;padding-inline-end:22px;border-radius:var(--meso-radius);background:#fff;border:1px solid var(--meso-line);transition:border-color var(--meso-t-c)}
.meso-emag__row::after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;box-shadow:var(--meso-sh-m);opacity:0;transition:opacity var(--meso-t-m) var(--meso-ease)}
.meso-emag__row:hover{border-color:transparent}
.meso-emag__row:hover::after{opacity:1}
.meso-emag__thumb{inline-size:120px;block-size:100%;min-block-size:96px;border-radius:14px}
.meso-emag__rb{display:flex;flex-direction:column;gap:6px;min-inline-size:0}
.meso-emag__rt{font-size:1.06rem;font-weight:600;line-height:1.4;color:var(--meso-ink)}
.meso-emag__go{inline-size:40px;block-size:40px;border-radius:50%;display:grid;place-items:center;background:var(--meso-bg-soft);transition:background-color var(--meso-t-c),transform .8s var(--meso-ease)}
.meso-emag__row:hover .meso-emag__go{background:var(--meso-accent);transform:rotate(-45deg)}
.meso-rtl .meso-emag__go svg{transform:scaleX(-1)}
.meso-emag__rest{margin-block-start:var(--meso-space-section)}
@media (max-width:1024px){.meso-emag{grid-template-columns:1fr}.meso-emag__feat{min-block-size:440px}}
@media (max-width:640px){.meso-emag__row{grid-template-columns:84px minmax(0,1fr)}.meso-emag__thumb{inline-size:84px;min-block-size:84px}.meso-emag__go{display:none}}

/* Single event (intro handles the top) */
.meso-esingle__in{display:block;max-inline-size:860px}
.meso-egal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block-start:48px}
.meso-rtl .meso-emag__t,.meso-rtl .meso-emag__rt{font-family:var(--meso-font-ar);font-weight:500;letter-spacing:0;line-height:1.45}

/* ==========================================================================
   Single event — story + adaptive mosaic (1 · 2 · 3 · 4+ images)
   ========================================================================== */
.meso-ebody__in{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}
.meso-ebody__in.is-solo{grid-template-columns:minmax(0,1fr);max-inline-size:780px}
.meso-ebody__text{position:sticky;inset-block-start:120px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.meso-ebody__prose{font-size:1.06rem;line-height:1.9}
.meso-ebody__prose>p:first-child{position:relative;padding-inline-start:22px;font-size:clamp(1.15rem,1.05rem + .35vw,1.35rem);line-height:1.7;color:var(--meso-ink)}
.meso-ebody__prose>p:first-child::before{content:"";position:absolute;inset-inline-start:0;inset-block:.35em;inline-size:3px;border-radius:3px;background:var(--meso-accent)}
.meso-ebody__who{display:flex;align-items:center;gap:14px;inline-size:100%;padding-block-start:22px;border-block-start:1px solid var(--meso-line);color:var(--meso-ink);font-weight:600}
.meso-ebody__ico{flex:0 0 44px;block-size:44px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--meso-line);color:var(--meso-ink)}
.meso-ebody__who small{display:block;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--meso-muted)}
.meso-ebody__gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.meso-ebody__img{margin:0;border-radius:var(--meso-radius)}
.meso-ebody__img:hover>img{transform:scale(1.04)}
.meso-ebody__gal--1{grid-template-columns:1fr}
.meso-ebody__gal--1 .meso-ebody__img{aspect-ratio:4/3.2;border-radius:var(--meso-frame)}
.meso-ebody__gal--2 .meso-ebody__img{aspect-ratio:3/4}
.meso-ebody__gal--3{grid-template-rows:repeat(2,minmax(0,1fr));aspect-ratio:1.15/1}
.meso-ebody__gal--3 .meso-ebody__img:first-child{grid-row:1/3}
.meso-ebody__gal--4 .meso-ebody__img{aspect-ratio:1/1}
.meso-ebody__gal--5 .meso-ebody__img{aspect-ratio:1/1}
.meso-ebody__gal--5 .meso-ebody__img:first-child{grid-column:1/-1;aspect-ratio:16/9}
.meso-ebody__more{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(var(--meso-dark-rgb),.55);color:#fff;font-size:1.75rem;font-weight:600;letter-spacing:-.02em}
@media (max-width:900px){
	.meso-ebody__in{grid-template-columns:1fr}
	.meso-ebody__text{position:static}
	.meso-ebody__gal--2 .meso-ebody__img{aspect-ratio:4/5}
}
.meso-rtl .meso-ebody__who small{letter-spacing:0;text-transform:none;font-size:.85rem}
