/* Approved Catch us at v0.2 UI; scoped Joomla module styles. */

    .adamas-upcoming {
      --ae-bg:light-dark(#ffffff,#151b15);--ae-mid:light-dark(#f1f4ed,#232d22);
      --ae-ink:light-dark(#20291e,#f4f1e6);--ae-copy:light-dark(#4d5748,#c4cabc);
      --ae-accent:light-dark(#53663c,#c4d4a3);--ae-line:light-dark(rgba(32,41,30,.14),rgba(244,241,230,.15));
      --ae-wash:light-dark(#e9eee2,#202a1e);--ae-body:15px;--ae-title:20px;--ae-meta:12px;
      width:100%;padding:24px 0 64px;color:var(--ae-ink);color-scheme:inherit;
      background:linear-gradient(90deg,var(--ae-bg),var(--ae-mid) 54%,var(--ae-bg));
      font-family:"Sora",Arial,sans-serif;font-size:var(--ae-body);font-weight:400;line-height:1.85;
      border:0;box-shadow:none;
    }
    .adamas-upcoming[data-theme="light"] {
      --ae-bg:#ffffff;--ae-mid:#f1f4ed;--ae-ink:#20291e;--ae-copy:#4d5748;
      --ae-accent:#53663c;--ae-line:rgba(32,41,30,.14);--ae-wash:#e9eee2;color-scheme:light;
    }
    .adamas-upcoming[data-theme="dark"] {
      --ae-bg:#151b15;--ae-mid:#232d22;--ae-ink:#f4f1e6;--ae-copy:#c4cabc;
      --ae-accent:#c4d4a3;--ae-line:rgba(244,241,230,.15);--ae-wash:#202a1e;color-scheme:dark;
    }
    .adamas-upcoming,.adamas-upcoming *,.adamas-upcoming *::before,.adamas-upcoming *::after {box-sizing:border-box;font-family:"Sora",Arial,sans-serif!important;}
    .adamas-upcoming [hidden] {display:none!important;}
    .adamas-upcoming :is(h2,h3,p,figure) {margin:0;padding:0;}
    .adamas-upcoming .ae-shell {max-width:1440px;margin:0 auto;padding-inline:clamp(24px,5vw,80px);}
    .adamas-upcoming .ae-header {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:30px;}
    .adamas-upcoming .ae-kicker {color:var(--ae-accent);font-size:11px;font-weight:500;line-height:1.6;letter-spacing:.14em;text-transform:uppercase;margin-bottom:9px;}
    .adamas-upcoming .ae-heading {font-size:clamp(26px,2.4vw,30px)!important;font-weight:500!important;line-height:1.3;letter-spacing:-.04em;color:var(--ae-ink);}
    .adamas-upcoming .ae-heading span {color:var(--ae-accent);font-weight:inherit;}
    .adamas-upcoming .ae-intro {max-width:32ch;font-size:var(--ae-body);line-height:1.85;color:var(--ae-copy);}
    .adamas-upcoming .ae-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;row-gap:0;align-items:stretch;}
    .adamas-upcoming .ae-event {display:flex;flex-direction:column;min-width:0;background:transparent;border:0;box-shadow:none;}
    .adamas-upcoming .ae-media {position:relative;aspect-ratio:1/1;width:100%;margin-bottom:22px;background:var(--ae-wash);overflow:hidden;}
    .adamas-upcoming .ae-photo {display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center;border:0;border-radius:0;box-shadow:none;}
    .adamas-upcoming .ae-media[data-fit="contain"] .ae-photo {object-fit:contain;}
    .adamas-upcoming .ae-image-fallback {position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--ae-accent);font-size:var(--ae-meta);line-height:1.7;}
    .adamas-upcoming .ae-date {display:flex;align-items:flex-start;gap:9px;margin-bottom:11px;color:var(--ae-accent);font-size:var(--ae-meta);font-weight:500;line-height:1.7;}
    .adamas-upcoming .ae-event-title {font-size:var(--ae-title)!important;font-weight:500!important;line-height:1.4!important;letter-spacing:-.025em;color:var(--ae-ink);overflow-wrap:break-word;}
    .adamas-upcoming .ae-programme {margin-top:7px;color:var(--ae-copy);font-size:var(--ae-body);font-weight:400;line-height:1.75;}
    .adamas-upcoming .ae-location {display:flex;align-items:flex-start;gap:9px;margin-top:auto;padding-top:18px;color:var(--ae-copy);font-size:var(--ae-meta);line-height:1.7;}
    .adamas-upcoming .ae-icon {display:block;width:17px;height:17px;flex:0 0 17px;margin-top:2px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;color:var(--ae-accent);}
    @supports(grid-template-rows:subgrid) {
      .adamas-upcoming .ae-event {display:grid;grid-template-rows:subgrid;grid-row:span 5;row-gap:0;}
      .adamas-upcoming .ae-location {margin-top:0;align-self:start;}
    }
    @media(max-width:900px) {
      .adamas-upcoming .ae-grid {column-gap:24px;}
      .adamas-upcoming .ae-header {align-items:flex-start;}
      .adamas-upcoming .ae-intro {max-width:28ch;}
    }
    @media(max-width:680px) {
      .adamas-upcoming {--ae-body:14px;--ae-title:18px;--ae-meta:11px;padding-top:20px;padding-bottom:48px;}
      .adamas-upcoming .ae-header {flex-direction:column;gap:12px;margin-bottom:26px;}
      .adamas-upcoming .ae-kicker {font-size:10px;}
      .adamas-upcoming .ae-intro {max-width:none;}
      .adamas-upcoming .ae-grid {grid-template-columns:minmax(0,1fr);gap:36px;}
      .adamas-upcoming .ae-media {margin-bottom:18px;}
      .adamas-upcoming .ae-event {display:flex;grid-row:auto;}
      .adamas-upcoming .ae-location {margin-top:0;padding-top:14px;}
    }
    /* v0.2 — a date rail carries the editorial rhythm into upcoming programmes. */
    .adamas-upcoming .ae-grid {position:relative;}
    .adamas-upcoming .ae-grid::before {
      content:"";position:absolute;top:2px;left:0;right:0;height:1px;
      background:linear-gradient(90deg,var(--ae-line) 0 90%,transparent 100%);
      pointer-events:none;
    }
    .adamas-upcoming .ae-event {position:relative;padding-top:24px;}
    .adamas-upcoming .ae-event::before {
      content:"";position:absolute;top:0;left:0;width:5px;height:5px;
      border-radius:50%;background:var(--ae-accent);pointer-events:none;
    }
    .adamas-upcoming .ae-date {margin-bottom:18px;}
    .adamas-upcoming .ae-location {
      width:100%;margin-top:18px;padding-top:14px;border-top:1px solid var(--ae-line);
    }
    @media(max-width:680px) {
      .adamas-upcoming .ae-grid::before {display:none;}
      .adamas-upcoming .ae-event {padding:0 0 0 22px;}
      .adamas-upcoming .ae-event::before {top:7px;}
      .adamas-upcoming .ae-event:not(:last-child)::after {
        content:"";position:absolute;top:12px;bottom:-43px;left:2px;width:1px;
        background:var(--ae-line);pointer-events:none;
      }
      .adamas-upcoming .ae-date {margin-bottom:14px;}
      .adamas-upcoming .ae-location {margin-top:16px;padding-top:12px;}
    }

  

/* Dynamic rows retain the approved rail without drawing into empty columns. */
.adamas-upcoming {padding-top:var(--ae-padding-top,24px);padding-bottom:var(--ae-padding-bottom,64px);}
.adamas-upcoming .ae-shell {max-width:var(--ae-content-width,1440px);}
.adamas-upcoming .ae-grid {--ae-gap:30px;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--ae-gap);}
.adamas-upcoming[data-columns="4"] .ae-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
.adamas-upcoming .ae-grid::before {display:none;}
.adamas-upcoming .ae-event {padding-top:24px;padding-bottom:42px;}
.adamas-upcoming .ae-event::before {z-index:1;}
.adamas-upcoming .ae-event::after {
  content:"";position:absolute;top:2px;bottom:auto;left:0;right:calc(-1 * var(--ae-gap));
  width:auto;height:1px;background:var(--ae-line);pointer-events:none;
}
.adamas-upcoming[data-columns="3"] .ae-event:nth-child(3n)::after,
.adamas-upcoming[data-columns="4"] .ae-event:nth-child(4n)::after,
.adamas-upcoming .ae-event:last-child::after {right:0;background:linear-gradient(90deg,var(--ae-line) 0 85%,transparent 100%);}
.adamas-upcoming[data-columns="3"] .ae-event:nth-last-child(-n+3),
.adamas-upcoming[data-columns="4"] .ae-event:nth-last-child(-n+4) {padding-bottom:0;}
.adamas-upcoming .ae-event-title a {color:inherit;text-decoration:none;font-size:inherit;font-weight:inherit;line-height:inherit;}
.adamas-upcoming .ae-event-title a:hover {color:var(--ae-accent);}
.adamas-upcoming .ae-event-title a:focus-visible {outline:2px solid var(--ae-accent);outline-offset:4px;}
.adamas-upcoming .ae-details-arrow {display:inline-block;vertical-align:middle;width:17px;height:17px;fill:none;stroke:var(--ae-accent);stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;}
.adamas-upcoming[data-lines="0"] .ae-event::before,
.adamas-upcoming[data-lines="0"] .ae-event::after {display:none!important;}
.adamas-upcoming[data-lines="0"] .ae-location {border-top:0;}
@media(max-width:1023px) {
  .adamas-upcoming .ae-grid {--ae-gap:24px;}
  .adamas-upcoming[data-columns="4"] .ae-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .adamas-upcoming[data-columns="4"] .ae-event::after {right:calc(-1 * var(--ae-gap));background:var(--ae-line);}
  .adamas-upcoming[data-columns="4"] .ae-event:nth-child(2n)::after,
  .adamas-upcoming[data-columns="4"] .ae-event:last-child::after {right:0;background:linear-gradient(90deg,var(--ae-line) 0 85%,transparent 100%);}
  .adamas-upcoming[data-columns="4"] .ae-event:nth-child(n) {padding-bottom:42px;}
  .adamas-upcoming[data-columns="4"] .ae-event:nth-last-child(-n+2) {padding-bottom:0;}
}
@media(max-width:680px) {
  .adamas-upcoming,.adamas-upcoming[data-columns="4"] {padding-top:min(var(--ae-padding-top,24px),20px);padding-bottom:min(var(--ae-padding-bottom,64px),48px);}
  .adamas-upcoming .ae-grid,.adamas-upcoming[data-columns="4"] .ae-grid {grid-template-columns:minmax(0,1fr);row-gap:36px;}
  .adamas-upcoming .ae-grid .ae-event:nth-child(n) {display:flex;grid-row:auto;padding:0 0 0 22px;}
  .adamas-upcoming .ae-grid .ae-event:nth-child(n)::after {
    top:12px;bottom:-43px;left:2px;right:auto;width:1px;height:auto;background:var(--ae-line);
  }
  .adamas-upcoming .ae-grid .ae-event:last-child::after {display:none;}
  .adamas-upcoming[data-lines="0"] .ae-grid .ae-event {padding-left:0;}
}
