/* APSAIDAL Events v10 — high-fidelity visual pass against approved Event Pages reference. */

.aps-event-shell {
    --aps-event-fidelity-gap: 28px;
}

/* Breadcrumbs + identity: lighter, tighter, more editorial. */
.aps-event-breadcrumbs {
    gap: 5px;
    font-size: 10.5px;
    line-height: 1.3;
}

.aps-event-identity {
    grid-template-columns: minmax(0, 1.45fr) minmax(230px, .72fr);
    column-gap: clamp(34px, 5vw, 66px);
    row-gap: 8px;
}

.aps-event-kicker {
    min-height: 34px;
    margin-bottom: 8px;
    padding: 6px 8px 6px 10px;
    background: #f3f4f2;
    border-color: #e7e9e7;
    font-size: 10px;
    letter-spacing: .05em;
}

.aps-event-status {
    min-height: 21px;
    padding: 2px 7px;
    border-radius: 3px;
    font-size: 8.5px;
    letter-spacing: .05em;
}

.aps-event-identity h1 {
    margin: 7px 0 2px;
    max-width: 730px;
    font-size: clamp(44px, 4.05vw, 58px);
    line-height: .98;
    letter-spacing: -.026em;
}

.aps-event-primary-meta,
.aps-event-deadline {
    gap: 4px;
    margin-top: 7px;
}

.aps-event-meta-line {
    gap: 7px;
    font-size: 13px;
    line-height: 1.3;
}

.aps-event-meta-line > span:first-child {
    width: 12px;
    font-size: 8px;
}

.aps-event-standfirst {
    margin-top: 10px;
    max-width: 315px;
    font-size: 14px;
    line-height: 1.42;
}

.aps-event-identity--editorial .aps-event-standfirst {
    align-self: center;
}

/* Compact families mirror the compact lower-row references: vertical hierarchy,
 * restrained title scale and a strong deadline datum when present. */
.aps-event-identity--compact {
    max-width: 790px;
}

.aps-event-identity--compact h1 {
    max-width: 700px;
    font-size: clamp(40px, 3.75vw, 53px);
    line-height: .99;
}

.aps-event-identity--compact .aps-event-standfirst {
    max-width: 640px;
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.42;
}

.aps-event-identity--compact .aps-event-deadline {
    margin-top: 8px;
}

.aps-event-identity--compact .aps-event-deadline span {
    font-size: 12px;
}

.aps-event-identity--compact .aps-event-deadline strong {
    margin-top: 1px;
    font-size: clamp(31px, 2.8vw, 39px);
    line-height: 1;
}

/* Main composition: a slightly wider editorial canvas and calmer sidebar. */
.aps-event-main-row {
    gap: var(--aps-event-fidelity-gap) !important;
}

.aps-event-main-column {
    flex: 0 1 calc(74% - 14px) !important;
    width: calc(74% - 14px) !important;
}

.aps-event-main-sidebar {
    flex: 0 1 calc(26% - 14px) !important;
    width: calc(26% - 14px) !important;
    top: 78px;
}

/* Hero / key visual: closer to the reference, with full-bleed compact imagery. */
.aps-event-hero {
    background: #f1f2f0;
}

.aps-event-hero::after {
    right: 10px;
    bottom: 10px;
    width: 30px;
    height: 30px;
    font-size: 13px;
}

.aps-event-hero--editorial img {
    aspect-ratio: 1.67 / 1;
    object-fit: cover;
}

.aps-event-hero--compact,
.aps-event-hero--compact.aps-event-hero-role--key_visual {
    display: block;
    min-height: 0;
    padding: 0;
    background: #f1f2f0;
}

.aps-event-hero--compact img,
.aps-event-hero--compact.aps-event-hero-role--key_visual img {
    display: block;
    width: 100%;
    max-height: none;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #f1f2f0;
}

.aps-event-hero figcaption,
.aps-event-hero .apsaidal-media__meta {
    padding-top: 6px;
    font-size: 9.5px;
}

/* Tabs sit tightly under media, with the thin editorial underline seen in the visual. */
.aps-event-main-block--tabs {
    margin-top: 0;
}

.aps-event-tabs {
    gap: clamp(17px, 2vw, 25px);
    border-bottom-color: #e2e5e3;
}

.aps-event-tabs a {
    padding: 10px 0 9px;
    font-size: 10.5px;
    line-height: 1;
}

.aps-event-tabs a.is-active::after,
.aps-event-tabs a:hover::after,
.aps-event-tabs a:focus-visible::after {
    height: 1.5px;
}

/* Reading rhythm: less vertical padding, smaller editorial headings, denser copy. */
.aps-event-main-block--overview,
.aps-event-main-block--programme,
.aps-event-main-block--participants,
.aps-event-main-block--gallery,
.aps-event-main-block--location {
    padding-top: 23px;
    padding-bottom: 24px;
}

.aps-event-overview {
    border-top: 0;
}

.aps-event-panel h2,
.aps-event-gallery h2,
.aps-event-location h2,
.aps-event-participant-group h2,
.aps-event-related h2 {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.08;
}

.aps-event-copy {
    max-width: 650px;
    font-size: 14px;
    line-height: 1.56;
}

.aps-event-read-more {
    margin-top: 13px;
    min-height: 34px;
    padding: 7px 11px;
    font-size: 10.5px;
}

/* Event Data: quieter factual block, less widget-like. */
.aps-event-data {
    padding: 16px 16px 14px;
    background: #f5f6f4;
    border-top: 0;
}

.aps-event-data h2 {
    margin-bottom: 9px;
    font-size: 14px;
    font-weight: 500;
}

.aps-event-sidebar-primary {
    margin: -16px -16px 14px;
    padding: 0 16px 14px;
    border-bottom-color: #e4e6e4;
}

.aps-event-sidebar-primary .aps-event-cta {
    min-width: 132px;
    min-height: 36px;
    padding: 8px 11px;
    font-size: 10.5px;
}

.aps-event-data dl > div {
    grid-template-columns: minmax(66px, .76fr) minmax(0, 1.5fr);
    gap: 10px;
    padding: 4px 0;
    border-bottom: 0;
}

.aps-event-data dt {
    font-size: 9.5px;
    line-height: 1.3;
}

.aps-event-data dd {
    font-size: 10.5px;
    line-height: 1.34;
}

.aps-event-data dd a {
    text-decoration-thickness: 1px;
    text-underline-offset: 2px;
}

.aps-event-calendar-actions,
.aps-event-calendar-actions--deadline {
    margin-top: 13px;
    padding-top: 11px;
}

.aps-event-calendar-actions .aps-event-calendar {
    gap: 5px;
    padding: 4px 0;
    font-size: 10px;
}

/* Contextual sections read as one continuous editorial column. */
.aps-event-contextual-section {
    padding-top: 20px;
    padding-bottom: 20px;
}

.aps-event-contextual-section h2 {
    margin-bottom: 9px;
}

/* Participants / related: cleaner cards and more compact captions. */
.aps-event-people {
    gap: 14px;
}

.aps-event-person a,
.aps-event-person {
    gap: 6px;
    font-size: 11px;
}

.aps-event-related {
    padding-top: 28px;
}

.aps-event-related__heading {
    margin-bottom: 15px;
}

.aps-event-related__grid {
    gap: 14px;
}

.aps-event-card a {
    gap: 7px;
    font-size: 12px;
}

/* Tablet: preserve the desktop hierarchy until the sidebar intentionally drops. */
@media (max-width: 1024px) {
    .aps-event-identity {
        grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr);
        column-gap: 28px;
    }

    .aps-event-main-column,
    .aps-event-main-sidebar {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    .aps-event-main-row {
        gap: 22px !important;
    }

    .aps-event-main-sidebar {
        top: auto;
    }

    .aps-event-data {
        max-width: 620px;
    }

    .aps-event-sidebar-primary {
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        background: transparent;
    }
}

@media (max-width: 767px) {
    .aps-event-breadcrumbs {
        font-size: 10px;
    }

    .aps-event-kicker {
        min-height: 32px;
        margin-bottom: 5px;
        padding: 6px 7px 6px 9px;
    }

    .aps-event-identity h1,
    .aps-event-identity--compact h1 {
        margin-top: 7px;
        font-size: clamp(34px, 9.5vw, 43px);
        line-height: 1;
    }

    .aps-event-standfirst,
    .aps-event-identity--compact .aps-event-standfirst {
        margin-top: 5px;
        font-size: 13.5px;
        line-height: 1.42;
    }

    .aps-event-meta-line {
        font-size: 12.5px;
    }

    .aps-event-identity--compact .aps-event-deadline strong {
        font-size: 29px;
    }

    .aps-event-hero--editorial img,
    .aps-event-hero--compact img,
    .aps-event-hero--compact.aps-event-hero-role--key_visual img {
        aspect-ratio: 4 / 3;
    }

    .aps-event-tabs {
        gap: 18px;
    }

    .aps-event-tabs a {
        padding-top: 10px;
        padding-bottom: 9px;
        font-size: 10px;
    }

    .aps-event-main-block--overview,
    .aps-event-main-block--programme,
    .aps-event-main-block--participants,
    .aps-event-main-block--gallery,
    .aps-event-main-block--location {
        padding-top: 21px;
        padding-bottom: 21px;
    }

    .aps-event-panel h2,
    .aps-event-gallery h2,
    .aps-event-location h2,
    .aps-event-participant-group h2,
    .aps-event-related h2 {
        font-size: 19px;
    }

    .aps-event-copy {
        font-size: 13.75px;
        line-height: 1.55;
    }

    .aps-event-data {
        max-width: none;
        padding: 15px;
    }

    .aps-event-sidebar-primary {
        margin: -15px -15px 13px;
        padding: 0 15px 13px;
    }

    .aps-event-sidebar-primary .aps-event-cta {
        width: auto;
        min-width: 130px;
    }
}


/* Event actions — shared Save / Share pattern, neutral interactions. */
.aps-event-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
}
.aps-event-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid #d8dadd;
    border-radius: 999px;
    background: transparent;
    color: #171717;
    font: inherit;
    font-size: 10.5px;
    line-height: 1;
    cursor: pointer;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.aps-event-action:hover,
.aps-event-action:active,
.aps-event-action:focus-visible {
    border-color: #171717;
    background: #171717;
    color: #fff;
    outline: 0;
}
.aps-event-action.is-saved {
    border-color: #171717;
    background: #171717;
    color: #fff;
}
.aps-event-actions__divider {
    width: 1px;
    height: 18px;
    background: #d8dadd;
}
@media (max-width: 767px) {
    .aps-event-actions {
        margin-top: 14px;
        gap: 9px;
    }
    .aps-event-action {
        min-height: 32px;
        padding: 7px 11px;
    }
}


/* Events: header action, introduction and real calendar choices. */
.aps-event-identity {grid-template-columns:minmax(0,1fr) minmax(200px,.35fr);max-width:none}
.aps-event-title-row {grid-column:1;grid-row:2}
.aps-event-header-cta {grid-column:2;grid-row:2;align-self:center;justify-self:end}
.aps-event-header-cta .aps-event-cta {min-width:180px;display:inline-flex;justify-content:center;padding:14px 20px}
.aps-event-introduction.aps-event-standfirst {max-width:none;width:100%;margin:20px 0;font-family:'Source Sans Pro',sans-serif;font-size:18px;line-height:1.5}
.aps-event-panel.is-collapsed .aps-event-copy {max-height:var(--aps-event-preview-height,180px)!important;overflow:hidden;mask-image:linear-gradient(#000 78%,transparent)}
.aps-event-read-more[hidden],.aps-event-calendar-menu[hidden] {display:none!important}
.aps-event-calendar-actions {position:relative}
.aps-event-calendar-menu {position:absolute;left:0;top:100%;min-width:210px;z-index:20;background:#fff;border:1px solid #ddd;box-shadow:0 8px 24px #0002;padding:8px}
.aps-event-calendar-menu a,.aps-event-calendar-menu button {display:block;width:100%;padding:10px;text-align:left;border:0;background:white;color:#822e46;font:inherit;cursor:pointer}
.aps-event-calendar-menu a:hover,.aps-event-calendar-menu button:hover {background:#f5f5f5}
.aps-event-website {display:inline-flex;background:#822e46;color:#fff!important;padding:8px 12px;text-decoration:none}
.aps-event-data dd a {color:#822e46}
.aps-event-location .aps-profile-google-map__frame {aspect-ratio:16/9;width:100%}
.aps-event-location iframe {width:100%;height:100%;border:0}
@media(max-width:767px){.aps-event-identity {display:flex;flex-direction:column}.aps-event-header-cta {align-self:flex-start;justify-self:start;margin-top:12px}.aps-event-calendar-menu {position:static}.aps-event-introduction.aps-event-standfirst {font-size:17px}}

/* Events closeout — true tabs, sidebar CTA and final data hierarchy. */
.aps-event-title-row {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    width: 100%;
}
.aps-event-title-row h1 {
    flex: 1 1 auto;
    min-width: 0;
}
.aps-event-title-row .aps-event-actions {
    flex: 0 0 auto;
    margin: 9px 0 0 auto;
    justify-content: flex-end;
}

.aps-event-main-block[hidden] {
    display: none !important;
}
.aps-event-tabs a:first-child:not(.is-active)::after {
    content: none;
}

.aps-event-main-block--video {
    padding-top: 23px;
    padding-bottom: 24px;
}
.aps-event-video h2 {
    margin: 0 0 10px;
    font-family: "Brandon Grotesque", "Helvetica Neue", Arial, sans-serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.08;
}

.aps-event-data h2 {
    margin-bottom: 12px;
    font-size: 16px;
}
.aps-event-data dl > div {
    gap: 12px;
    padding: 6px 0;
}
.aps-event-data dt {
    font-size: 11.5px;
    line-height: 1.35;
}
.aps-event-data dd {
    font-size: 12.5px;
    line-height: 1.42;
}
.aps-event-data dl > .aps-event-data__website {
    margin-top: 10px;
    padding-top: 13px;
    border-top: 1px solid rgba(17, 21, 26, .10) !important;
}
.aps-event-data .aps-event-website,
.aps-event-data .aps-event-website:hover,
.aps-event-data .aps-event-website:focus-visible {
    display: inline;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #822e46 !important;
    text-decoration: none;
    box-shadow: none !important;
}
.aps-event-data .aps-event-website:hover,
.aps-event-data .aps-event-website:focus-visible {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.aps-event-ticket-actions {
    margin-top: 12px;
}
.aps-event-ticket-actions .aps-event-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    padding: 10px 14px;
    border: 1px solid #11151a;
    background: #11151a;
    color: #fff !important;
    font-size: 11.5px;
    text-decoration: none;
}
.aps-event-ticket-actions .aps-event-cta:hover,
.aps-event-ticket-actions .aps-event-cta:focus-visible {
    border-color: #822e46;
    background: #822e46;
    color: #fff !important;
}

.aps-event-related {
    padding-top: 34px;
}
.aps-event-related__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}

@media (max-width: 1024px) {
    .aps-event-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .aps-event-title-row {
        flex-wrap: wrap;
        gap: 8px 14px;
    }
    .aps-event-title-row h1 {
        flex-basis: 100%;
    }
    .aps-event-title-row .aps-event-actions {
        width: 100%;
        margin-top: 2px;
        justify-content: flex-end;
    }
    .aps-event-main-block--video {
        padding-top: 21px;
        padding-bottom: 21px;
    }
    .aps-event-video h2 {
        font-size: 19px;
    }
    .aps-event-data h2 {
        font-size: 15.5px;
    }
    .aps-event-data dt {
        font-size: 11px;
    }
    .aps-event-data dd {
        font-size: 12px;
    }
}

/* Events v11 — final single-event alignment and sidebar geography. */
.aps-event-title-row {
    grid-column: 1 / -1 !important;
    width: 100% !important;
}
.aps-event-title-row .aps-event-actions {
    margin-left: auto !important;
    justify-content: flex-end !important;
}
.aps-event-hero::after {
    content: none !important;
    display: none !important;
}
.aps-event-hero figcaption,
.aps-event-hero .apsaidal-media__meta {
    padding-right: 0 !important;
}

.aps-event-read-more {
    display: none !important;
}
.aps-event-panel.is-collapsed .aps-event-copy {
    max-height: none !important;
    overflow: visible !important;
    mask-image: none !important;
}

.aps-event-main-block--programme,
.aps-event-main-block--participants,
.aps-event-main-block--gallery,
.aps-event-main-block--video {
    display: none !important;
}
.aps-event-main-block.is-active-panel {
    display: flex !important;
}
.aps-event-main-block[hidden] {
    display: none !important;
}

.aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
    width: 100%;
    margin-top: 18px;
}
.aps-event-main-sidebar .aps-event-location {
    width: 100%;
    margin: 0;
    padding: 20px 20px 16px;
    border: 0;
    background: #f7f5f2;
}
.aps-event-main-sidebar .aps-event-location h2 {
    margin: 0 0 14px;
    font-size: 16px;
    font-weight: 400;
}
.aps-event-main-sidebar .aps-event-location p {
    margin: 0 0 7px;
    color: #4d5663;
    font-size: 12px;
    line-height: 1.5;
}
.aps-event-main-sidebar .aps-event-location__primary a,
.aps-event-main-sidebar .aps-event-location .aps-profile-google-map__link,
.aps-event-main-sidebar .aps-event-location .aps-event-map-link {
    color: #6F1822 !important;
    text-decoration: none;
}
.aps-event-main-sidebar .aps-event-location__primary a:hover,
.aps-event-main-sidebar .aps-event-location .aps-profile-google-map__link:hover,
.aps-event-main-sidebar .aps-event-location .aps-event-map-link:hover {
    text-decoration: underline;
}
.aps-event-main-sidebar .aps-event-location__address {
    margin-bottom: 14px !important;
    color: #7a8088 !important;
}
.aps-event-main-sidebar .aps-profile-google-map {
    width: 100% !important;
    margin: 14px 0 0 !important;
    overflow: hidden;
}
.aps-event-main-sidebar .aps-profile-google-map__frame {
    width: 100% !important;
    height: 190px !important;
    aspect-ratio: auto !important;
    overflow: hidden;
    background: #eceae6;
}
.aps-event-main-sidebar .aps-profile-google-map__frame iframe {
    width: 100% !important;
    height: 100% !important;
    border: 0 !important;
}
.aps-event-main-sidebar .aps-profile-google-map__link,
.aps-event-main-sidebar .aps-event-map-link {
    display: block;
    margin-top: 8px;
    padding: 0;
    font-size: 11px;
}

.aps-event-related__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 14px !important;
}
.aps-event-card a {
    font-size: 11px;
}
.aps-event-card img {
    aspect-ratio: 4 / 3;
}

@media (max-width: 1024px) {
    .aps-event-related__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
    .aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
        max-width: 620px;
    }
}

@media (max-width: 767px) {
    .aps-event-title-row .aps-event-actions {
        width: auto !important;
        margin-left: auto !important;
    }
    .aps-event-related__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
        max-width: none;
    }
    .aps-event-main-sidebar .aps-profile-google-map__frame {
        height: auto !important;
        aspect-ratio: 4 / 3 !important;
    }
}

/* Events v12 — Location visual parity with Organization profiles. */
.aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
    margin-top: 22px;
}
.aps-event-location-stack {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
}
.aps-event-main-sidebar .aps-event-location {
    padding: 24px 26px 22px;
    background: #f7f5f2;
}
.aps-event-main-sidebar .aps-event-location h2 {
    margin: 0 0 18px;
    color: #1e2737;
    font-family: "Brandon Grotesque Light", "Brandon Grotesque", "Avenir Next", Arial, sans-serif;
    font-size: 20px;
    font-weight: 300;
    line-height: 1.2;
}
.aps-event-main-sidebar .aps-event-location p {
    margin: 0 0 10px;
    font-family: "Source Sans Pro", Arial, sans-serif;
    font-size: 14px;
    line-height: 1.5;
}
.aps-event-main-sidebar .aps-event-location__primary {
    color: #27303d;
}
.aps-event-main-sidebar .aps-event-location__address {
    margin-bottom: 0 !important;
    color: #747b84 !important;
}
.aps-event-location-map {
    width: 100%;
    background: #f7f5f2;
    overflow: hidden;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map {
    margin: 0 !important;
    background: #f7f5f2;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__frame {
    height: 220px !important;
    background: #eceae6;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__link,
.aps-event-main-sidebar .aps-event-location-map--link-only .aps-event-map-link {
    display: block !important;
    margin: 0 !important;
    padding: 11px 2px 3px !important;
    color: #6F1822 !important;
    font-family: "Source Sans Pro", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.4;
    text-decoration: none !important;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__link:hover,
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__link:focus-visible,
.aps-event-main-sidebar .aps-event-location-map--link-only .aps-event-map-link:hover,
.aps-event-main-sidebar .aps-event-location-map--link-only .aps-event-map-link:focus-visible {
    color: #F26071 !important;
    text-decoration: underline !important;
}
.aps-event-location-map--link-only {
    padding: 0 2px 8px;
}

@media (max-width: 767px) {
    .aps-event-location-stack {
        gap: 16px;
    }
    .aps-event-main-sidebar .aps-event-location {
        padding: 20px 20px 18px;
    }
    .aps-event-main-sidebar .aps-event-location h2 {
        margin-bottom: 14px;
        font-size: 19px;
    }
    .aps-event-main-sidebar .aps-event-location p {
        font-size: 13px;
    }
}

/* Events v13 — exclusive family-aware section tabs. */
.aps-event-main-block--overview:not(.is-contextual-host) .aps-event-contextual-section,
.aps-event-main-block--participants:not(.is-contextual-host) .aps-event-contextual-section {
    display: none !important;
}
.aps-event-main-block.is-contextual-host > .elementor-widget .aps-event-panel,
.aps-event-main-block.is-contextual-host .aps-event-contextual-section {
    display: none !important;
}
.aps-event-main-block.is-contextual-host .aps-event-contextual-section.is-active-panel {
    display: block !important;
}
.aps-event-main-block[hidden],
.aps-event-contextual-section[hidden] {
    display: none !important;
}
.aps-event-main-block.is-active-panel:not([hidden]) {
    display: flex !important;
}

/* Events v14 — live Elementor tab panels + heading parity. */
#event-overview,
#event-programme,
#event-participants,
#event-photos,
#event-video {
    padding-top: 23px !important;
    padding-bottom: 24px !important;
}
#event-programme,
#event-participants,
#event-photos,
#event-video {
    display: none !important;
}
#event-overview[hidden],
#event-programme[hidden],
#event-participants[hidden],
#event-photos[hidden],
#event-video[hidden],
.aps-event-contextual-section[hidden] {
    display: none !important;
}
#event-overview.is-active-panel,
#event-programme.is-active-panel,
#event-participants.is-active-panel,
#event-photos.is-active-panel,
#event-video.is-active-panel {
    display: flex !important;
}
#event-overview .aps-event-panel h2,
#event-programme .aps-event-panel h2,
#event-participants .aps-event-participant-group h2,
#event-photos .aps-event-gallery h2,
#event-video .aps-event-video h2,
.aps-event-main-sidebar .aps-event-location h2 {
    margin: 0 0 10px !important;
    font-family: "Brandon Grotesque Light", "Brandon Grotesque", "Avenir Next", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
}
.aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
    margin-top: 23px !important;
}
.aps-event-main-sidebar .aps-event-location {
    padding-top: 23px !important;
}

@media (max-width: 767px) {
    #event-overview,
    #event-programme,
    #event-participants,
    #event-photos,
    #event-video {
        padding-top: 21px !important;
        padding-bottom: 21px !important;
    }
    #event-overview .aps-event-panel h2,
    #event-programme .aps-event-panel h2,
    #event-participants .aps-event-participant-group h2,
    #event-photos .aps-event-gallery h2,
    #event-video .aps-event-video h2,
    .aps-event-main-sidebar .aps-event-location h2 {
        font-size: 19px !important;
    }
}

/* Events v15 — structured downloads, role tabs and Location card final pass. */
.aps-event-brochure-actions {
    margin-top: 10px;
}
.aps-event-brochure {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 40px;
    padding: 9px 13px;
    border: 1px solid #1d242b;
    background: #fff;
    color: #1d242b !important;
    font-family: "Source Sans Pro", Arial, sans-serif;
    font-size: 11.5px;
    line-height: 1.2;
    text-decoration: none !important;
}
.aps-event-brochure:hover,
.aps-event-brochure:focus-visible {
    border-color: #6F1822;
    color: #6F1822 !important;
    outline: 0;
}

#event-overview .aps-event-overview,
#event-programme .aps-event-programme,
#event-photos .aps-event-gallery,
#event-video .aps-event-video,
#event-participants .aps-event-participant-group,
.aps-event-contextual-section {
    border-top: 0 !important;
}
#event-programme .aps-event-programme {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
#event-participants .aps-event-participant-group[hidden],
.aps-event-contextual-section[hidden] {
    display: none !important;
}
#event-participants .aps-event-participant-group.is-active-panel,
.aps-event-contextual-section.is-active-panel {
    display: block !important;
}
#event-participants.is-contextual-host .aps-event-participants > .aps-event-participant-group:not(.is-active-panel) {
    display: none !important;
}

#event-overview .aps-event-panel h2,
#event-programme .aps-event-panel h2,
#event-participants .aps-event-participant-group h2,
#event-photos .aps-event-gallery h2,
#event-video .aps-event-video h2,
.aps-event-contextual-section h2,
.aps-event-main-sidebar .aps-event-location h2 {
    margin: 0 0 10px !important;
    font-family: "Brandon Grotesque Light", "Brandon Grotesque", "Avenir Next", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
}

.aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
    margin-top: 32px !important;
}
.aps-event-main-sidebar .aps-event-location-stack {
    gap: 0 !important;
    padding: 24px 12px 10px;
    background: #f7f5f2;
}
.aps-event-main-sidebar .aps-event-location {
    margin: 0 !important;
    padding: 0 10px !important;
    border-top: 0 !important;
    background: transparent !important;
}
.aps-event-main-sidebar .aps-event-location h2 {
    margin-bottom: 14px !important;
}
.aps-event-main-sidebar .aps-event-location-map {
    margin-top: 18px;
    background: transparent !important;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map {
    background: transparent !important;
}
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__link,
.aps-event-main-sidebar .aps-event-location-map--link-only .aps-event-map-link {
    padding: 10px 2px 2px !important;
}

@media (max-width: 767px) {
    .aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
        margin-top: 26px !important;
    }
    .aps-event-main-sidebar .aps-event-location-stack {
        padding: 20px 10px 9px;
    }
    .aps-event-main-sidebar .aps-event-location {
        padding: 0 8px !important;
    }
}

/* Events v16 — force visible final spacing/background on live Elementor markup. */
#event-programme,
#event-programme.e-con,
#event-programme.e-con-full {
    border-top: 0 !important;
    box-shadow: none !important;
}
#event-programme::before,
#event-programme::after {
    border-top: 0 !important;
    box-shadow: none !important;
}
.aps-event-main-sidebar .elementor-widget-apsaidal-event-location {
    margin-top: 34px !important;
    padding: 24px 12px 10px !important;
    background: #f5f2ee !important;
}
.aps-event-main-sidebar .elementor-widget-apsaidal-event-location > .elementor-widget-container {
    background: #f5f2ee !important;
}
.aps-event-main-sidebar .aps-event-location-stack {
    padding: 0 !important;
    background: #f5f2ee !important;
}
.aps-event-main-sidebar .aps-event-location {
    padding: 0 10px 4px !important;
    background: #f5f2ee !important;
}
.aps-event-main-sidebar .aps-event-location-map,
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map,
.aps-event-main-sidebar .aps-event-location-map .aps-profile-google-map__frame {
    background: #f5f2ee !important;
}
.aps-event-main-sidebar .aps-event-location h2 {
    margin: 0 0 16px !important;
    font-family: "Brandon Grotesque Light", "Brandon Grotesque", "Avenir Next", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
}

/* Events v17 — bind Location styling to the actual live Elementor widget. */
.elementor-widget-apsaidal-event-location {
    margin-top: 34px !important;
    padding: 24px 12px 10px !important;
    background: #f5f2ee !important;
}
.elementor-widget-apsaidal-event-location > .elementor-widget-container {
    background: #f5f2ee !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location-stack {
    gap: 0 !important;
    padding: 0 !important;
    background: #f5f2ee !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location {
    margin: 0 !important;
    padding: 0 10px 4px !important;
    border-top: 0 !important;
    background: #f5f2ee !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location h2 {
    margin: 0 0 16px !important;
    font-family: "Brandon Grotesque Light", "Brandon Grotesque", "Avenir Next", Arial, sans-serif !important;
    font-size: 20px !important;
    font-weight: 300 !important;
    line-height: 1.08 !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location p {
    margin-bottom: 9px !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location-map,
.elementor-widget-apsaidal-event-location .aps-event-location-map .aps-profile-google-map,
.elementor-widget-apsaidal-event-location .aps-event-location-map .aps-profile-google-map__frame {
    background: #f5f2ee !important;
}
.elementor-widget-apsaidal-event-location .aps-event-location-map {
    margin-top: 18px !important;
}
.elementor-widget-apsaidal-event-location .aps-profile-google-map__link {
    padding: 10px 2px 2px !important;
}

@media (max-width: 767px) {
    .elementor-widget-apsaidal-event-location {
        margin-top: 28px !important;
        padding: 20px 10px 9px !important;
    }
    .elementor-widget-apsaidal-event-location .aps-event-location {
        padding: 0 8px 4px !important;
    }
}


/* Event reuses Product's navigation component; specificity neutralizes legacy rules. */
.aps-event-tabs.aps-product-tabs{display:flex;align-items:center;justify-content:flex-start;gap:20px;border-bottom:1px solid #dedbd7;overflow-x:auto}
.aps-event-tabs.aps-product-tabs a{position:relative;display:block;white-space:nowrap;padding:16px 12px 13px;color:#55585b;text-decoration:none;font:500 10.5px/1 'Source Sans Pro',Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;border:0}
.aps-event-tabs.aps-product-tabs a:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.aps-event-tabs.aps-product-tabs a:hover,.aps-event-tabs.aps-product-tabs a.is-active{color:#822e46}
.aps-event-tabs.aps-product-tabs a:hover:after,.aps-event-tabs.aps-product-tabs a:focus-visible:after{background:transparent}
.aps-event-tabs.aps-product-tabs a.is-active:after{background:#822e46}
.aps-event-ticket-actions{display:flex!important;justify-content:center!important;width:100%;margin:24px 0!important}
.aps-event-data,.elementor-widget-apsaidal-event-location,.elementor-widget-apsaidal-event-location>.elementor-widget-container,.elementor-widget-apsaidal-event-location .aps-event-location-stack,.elementor-widget-apsaidal-event-location .aps-event-location{background:#f5f2ee!important}
.aps-event-related__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.aps-event-card a>span,.aps-event-card a:hover>span{display:block;color:#000;font-size:18px}
.aps-event-card__type{display:block;margin-top:6px;color:#822e46;font:400 12px/1.3 'Source Sans Pro',Arial,sans-serif}
@media(max-width:1024px){.aps-event-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aps-section-navigation .aps-event-tabs.aps-product-tabs{flex-direction:column;align-items:stretch;gap:0;overflow:visible}}
@media(max-width:767px){.aps-event-related__grid{grid-template-columns:1fr}}

/* Compact, text-sized desktop tabs; existing responsive accordion is unchanged. */
@media(min-width:1025px){.aps-event-tabs.aps-product-tabs a{flex:0 0 auto;width:auto;min-width:0;max-width:none;margin-left:0;margin-right:0;padding-left:0;padding-right:0}}
