/*
Theme Name: Antwerp Fashion Festival
Author: SU-F Studio
Description: Custom WordPress theme.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: antwerp-fashion-festival
*/


/* IMPORTS */

@import url("assets/css/colors.css");


/* FONTS */

@font-face {
    font-family: 'OTT Marlfield';
    src: url('assets/fonts/OTT_Marlfield-Regular.woff2') format('woff2'),
        url('assets/fonts/OTT_Marlfield-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}


/* DESIGN TOKENS */

:root {
    /* Typography - Sizes */
    --text-xs: 0.75rem;
    /* 12px */
    --text-sm: 0.875rem;
    /* 14px */
    --text-base: 1.0625rem;
    /* 17px */
    --text-lg: 1.375rem;
    /* 22px */
    --text-xl: 1.6875rem;
    /* 27px */
    --text-2xl: 2.25rem;
    /* 36px */

    /* Typography - Line Height */
    --leading-tighter: 0.69;
    --leading-snug: 1.25;
    --leading-normal: 1.25;
    --leading-relaxed: 1.25;

    /* Typography - Letter Spacing */
    --tracking-negative: -0.015rem;
    --tracking-tighter: 0.05em;
    --tracking-tight: 0.025em;
    --tracking-normal: 0;
    --tracking-wide: 0.025em;

    /* Typography - Opacity */
    --text-opacity-highlight: 0.45;
    --text-opacity-inactive: 0.2;

    /* Spacing */
    --space-xs: 0.25rem;
    /* 4px */
    --space-sm: 0.5rem;
    /* 8px */
    --space-md: 1rem;
    /* 16px */
    --space-lg: 1.5rem;
    /* 24px */
    --space-xl: 2rem;
    /* 32px */
    --space-2xl: 3rem;
    /* 48px */
    --space-3xl: 4rem;
    /* 64px */
    --space-4xl: 6rem;
    /* 96px */

    /* Widths */
    --width-xs: 20rem;
    /* 320px */
    --width-sm: 24rem;
    /* 384px */
    --width-md: 28rem;
    /* 448px */
    --width-lg: 32rem;
    /* 512px */
    --width-xl: 36rem;
    /* 576px */
    --width-2xl: 42rem;
    /* 672px */
    --width-3xl: 48rem;
    /* 768px */
    --width-4xl: 56rem;
    /* 896px */
    --width-5xl: 64rem;
    /* 1024px */
    --width-6xl: 72rem;
    /* 1152px */
    --width-7xl: 80rem;
    /* 1280px */
    --width-full: 100%;


    /* Shadows */
    --shadow: 0 20px 26px rgba(0, 0, 0, 0.1);
    --shadow-header: 0 1px 1px rgba(0, 0, 0, 0.1);

    /* Component Tokens */
    --content-max-width: 100%;
    --header-height: 2.75rem;

    /* Hero title transform tuning */
    --title-skew: -30deg;
    --title-shift: 0.42em;
    --hero-spacer-height: 80svh;
}

@keyframes opacity {
    0% {
        opacity: 0;
        transform: translateY(0.5rem);
    }

    60% {
        opacity: 1;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}


/* RESET & BASE */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body,
.title__meta,
.mapboxgl-popup-content {
    font-family: "neue-haas-grotesk-display", Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-style: normal;
    line-height: var(--leading-normal);
    -webkit-font-smoothing: antialiased;
}

main {
    display: flex;
    flex-direction: column;
    isolation: isolate;
    position: relative;
}


.is-home main {
    position: unset;
}

section:not(.section--hero),
footer {
    width: 100%;
    box-sizing: border-box;
    margin: auto;
    z-index: 2;
    position: relative;
}

.section--hero,
header {
    margin: auto;
    width: 100%;
    justify-content: center;
}

.menu a,
.header-logo,
.section--contact a,
.section--programs a,
.section--junction a,
.section--news a {
    text-decoration: none;
}

body:not(.single) li,
.menu {
    list-style: none;
}

span+br:has(+ a) {
    display: none;
}

input {
    -webkit-appearance: none;
}

input:focus {
    outline: none;
}

.menu {
    list-style: none;
}

:target {
    scroll-margin-top: var(--header-height);
  }

/* .block-scroll {
    overflow: hidden;
} */

/* Remove browser autofill background */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
    -webkit-text-fill-color: var(--scheme-text) !important;
    background-color: transparent !important;
    transition: background-color 9999s ease-out 0s;
}

/* Firefox */
input:-moz-autofill {
    box-shadow: 0 0 0 1000px transparent inset !important;
    filter: none !important;
}

/* TYPOGRAPHY */

.h1,
h1,
.title__line,
.title__line--reverse {
    font-family: 'OTT Marlfield', system-ui, -apple-system, sans-serif;
    font-size: var(--text-2xl);
    font-weight: 400;
    line-height: var(--leading-tighter);
    text-transform: uppercase;
}

.h1,
h1 {
    margin-bottom: var(--text-2xl);
    letter-spacing: -0.08rem;
}

.single__title {
    font-family: "neue-haas-grotesk-display", Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: unset;
    line-height: var(--leading-normal);
    margin-bottom: var(--space-lg);
}


.h2,
h2,
.title__meta li,
.spotlight__meta,
.section--filters .search input,
.section--filters .search input::placeholder {
    font-size: var(--text-xl);
    letter-spacing: var(--tracking-negative);
    font-weight: 600;
    letter-spacing: -0.04rem;
}

.h3,
h3 {
    font-size: var(--text-lg);
    font-weight: 600;
    letter-spacing: -0.009rem;
}

.h4,
h4 {
    font-size: var(--text-base);
    font-weight: 600;
    letter-spacing: -0.006rem;
}

.h5,
h5 {
    font-size: var(--text-sm);
    font-weight: 600;
    letter-spacing: -0.003rem;
}

.h6,
h6 {
    font-size: var(--text-xs);
    font-weight: 600;
    letter-spacing: -0.001rem;
}

p,
li,
input,
label,
input::placeholder,
.zcwf_title {
    font-size: var(--text-base);
    letter-spacing: -0.006rem;
}

P+P {
    margin-top: var(--text-base);
}

.section--contact [class*="scheme-"] .wp-block-columns .wp-block-column:last-of-type p,
.program__meta,
.section--partner-cta h2:last-of-type,
.section--partners .partner p {
    font-weight: 500;
}


/* Custom list style */

.site-main ul:not(.menu):not(.filter__list) {
    counter-reset: program;
    display: grid;
    padding-block: var(--text-base) calc(var(--space-2xl) + var(--space-sm));
}

.site-main ul:not(.menu):not(.filter__list):not(.events__group__list) li {
    counter-increment: program;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--text-base) * 2 + 2ch);
    position: relative;
}

.site-main ul:not(.menu):not(.filter__list):not(.events__group__list) li::before {
    content: counter(program, decimal-leading-zero);
    font-variant-numeric: tabular-nums;
    position: absolute;
    left: calc(calc(var(--text-base) * 2 + 2ch) * -1);
}

.site-main ul:not(.menu):not(.filter__list) li a {
    flex-basis: 100%;
}


/* Grid System */
.grid {
    display: grid;
    gap: var(--space-lg);
}

.grid--1 {
    grid-template-columns: repeat(1, 1fr);
}

.grid--2 {
    grid-template-columns: repeat(2, 1fr);
}

.grid--3 {
    grid-template-columns: repeat(3, 1fr);
}

.grid--4 {
    grid-template-columns: repeat(4, 1fr);
}

.grid--5 {
    grid-template-columns: repeat(5, 1fr);
}

.grid--6 {
    grid-template-columns: repeat(6, 1fr);
}

.grid--2-mix {
    grid-template-columns: 2fr 1fr;
}

.grid--portfolio {
    grid-template-columns: 1fr 2fr 1fr;
}

.grid--9 {
    display: grid;
    grid-template-columns: repeat(9, 1fr);
}

.col-3-8 {
    grid-column: 3 / 8;
}


/* Section Structure */

.site-main .section:first-of-type:not(.section--hero) {
    padding-top: var(--header-height);
}

.section:not(.section--space):not(.section--hero) {
    z-index: 2;
    background-color: var(--color-white);
}

/* .section--hero .section-container {
    opacity: 1;
}

.section-container {
    opacity: 0;
    transition: opacity 1000ms ease;
} */

.section-container.visible {
    opacity: 1;
}

.section-wrapper,
.header-wrapper,
.footer-wrapper {
    padding: 0 var(--space-lg);
}

.section-wrapper.grid--9 {
    padding-inline: calc(var(--space-lg)*2);
}

.section-wrapper {
    gap: var(--space-lg) 0;
}

/* .section-wrapper:last-of-type {
    padding-bottom: calc(var(--space-md) + var(--space-lg));
} */

.section-container {
    width: 100%;
}

.section:not(.section--bleed):not(.section--footer-partners):not(.section--programs) [class*="scheme-"]:not(.scheme-white):not(.pill) {
    padding: calc(var(--space-2xl) + var(--space-sm)) var(--space-xl);
}

.section--history,
.section--contact {
    padding-bottom: var(--space-md);
}

.section--opencall+.section--history {
    padding-top: var(--space-md);
}

.section:not(.section--hero.section--image) .section-container>figure:not(.wp-block-gallery),
.wp-block-columns:not(.scheme-black)>.wp-block-column>figure,
.home .section--spotlight .section-container {
    margin-bottom: var(--space-lg);
}

.section--history figure,
.section--contact figure {
    margin-bottom: 0;
    height: 100%;
}

.section--bleed .section-container>.wp-block-columns {
    gap: 0;
}


/* BLOCKS */

.wp-block-video video,
.wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wp-element-caption {
    font-size: 0.5rem;
    letter-spacing: 0.01rem;
    margin-top: -15px;
    margin-left: 5px;
    margin-bottom: 0;
    color: var(--color-white);
}

.load-more {
    all: unset;
    text-align: center;
    text-decoration: underline;
}


/* TITLE */

.title {
    display: flex;
    flex-direction: column;
    margin: 0;
}


/* =====================================================
   PAGE: HOME
   ===================================================== */

/* Section: Hero ——————————————————————————————————————— */

.is-home .section--hero {
    z-index: 1;
}

.section--hero {
    display: flex;
    position: sticky;
    z-index: -1;
    top: 0;
    padding-block: var(--header-height) var(--space-xl);
}

.section--hero:nth-of-type(2) {
    visibility: hidden;
    pointer-events: none;
    position: absolute;
    inset: 0;
    display: none;
}

.section--hero .section-wrapper {
    width: 100%;
}

.section--hero .title {
    position: relative;
}

.section--hero svg {
    max-height: calc(100svh - var(--header-height) - var(--space-md));
    width: 100%;
}

.section--hero:first-of-type svg g {
    opacity: 0;
    animation: opacity 0.6s ease-out forwards;
}

.section--hero:first-of-type svg g:nth-child(1) {
    animation-delay: 0.2s;
}

.section--hero:first-of-type svg g:nth-child(2) {
    animation-delay: 0.4s;
}

.section--hero:first-of-type svg g:nth-child(3) {
    animation-delay: 0.6s;
}

.section--hero:first-of-type svg g:nth-child(4) {
    animation-delay: 0.8s;
    display: none;
}

.section--hero .title__row--reverse {
    grid-template-columns: 1fr auto;
}

.title__meta {
    position: absolute;

    display: flex;
    flex-direction: column;
    text-transform: none;
    width: fit-content;
    z-index: 1;
}

.title__meta--hero {
    top: var(--hero-meta-y);
    left: var(--hero-meta-x);
    transform: translateY(-100%);
}

.title__meta--date {
    top: var(--date-meta-y);
    right: var(--date-meta-x);
    transform: translateY(-100%);
}

.title__meta--mobile {
    display: none;
}

.title__meta>.wp-block-group {
    gap: 0;
}

.title__meta-row {
    display: flex;
}

.title__meta li a {
    color: var(--color-black);
}

.section--hero .title__meta li+li::before {
    content: "";
    display: inline-block;
    width: var(--space-sm);
    height: var(--space-sm);
    border-radius: 50%;
    background-color: currentColor;
    margin-inline: 0.35em;
    vertical-align: middle;
    transform: translateY(-0.05em);
}


/* Section: Junction ——————————————————————————————————————— */

.section--junction {
    padding-bottom: var(--space-lg);
}

.section--junction [class*="scheme-"]>.wp-block-column:first-of-type {
    display: flex;
    flex-direction: column;
    padding: calc(var(--space-lg) + var(--space-xs)) var(--space-sm) var(--space-lg) var(--space-md);
}

.section--junction [class*="scheme-"] p:first-of-type {
    margin-top: auto;
}

.section--junction .title__line {
    padding-bottom: var(--space-xl);
    max-width: 98%;
    align-self: center;
}

.section--junction a {
    text-decoration: underline;
}


/* Section: About ——————————————————————————————————————— */

.section--about:not(.section--bleed) .wp-block-columns {
    padding-bottom: var(--space-lg);
}

.section--about:not(.section--bleed) .wp-block-columns:last-of-type .wp-block-column:first-of-type>* {
    margin-right: var(--space-lg);
}

.section--about .wp-block-columns:last-of-type figure {
    margin-bottom: 0;
    height: 100%;
}


/* Section: Newsletter ——————————————————————————————————————— */

.section--newsletter {
    scroll-margin-top: var(--header-height);
}

.section--newsletter .wp-block-column:first-of-type {
    display: flex;
    flex-direction: column;
}

.section--newsletter .wp-block-column:first-of-type .wp-block-heading {
    max-width: 80%;
}

.section--newsletter .wp-block-column:last-of-type {
    padding-left: calc(var(--space-sm) + var(--space-xs) / 2);
}


/* Section: Open Call ——————————————————————————————————————— */

.section--opencall .wp-block-column {
    display: flex;
    flex-direction: column;
}

.section--opencall .wp-block-column:first-of-type {
    gap: var(--space-xl);
}

.section--opencall ul {
    padding-top: var(--space-xl);
    gap: var(--text-base);
}

.section--opencall [class*="scheme-"] ul a {
    color: var(--scheme-accent);
}

.section--opencall p:last-of-type {
    margin-top: auto;
}


/* Section: News ——————————————————————————————————————— */

.news-block {
    display: flex;
    flex-direction: column;
}

.news-block__heading {
    margin-bottom: var(--space-lg);
}

.section--news .grid {
    row-gap: var(--space-2xl);
}

.news-card {
    grid-column: span 1;
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-xs) * 3);
}

.news-card:hover {
    cursor: pointer;
}

.news-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

.news-card__excerpt {
    opacity: 60%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 4;
}

.load-more--news {
    font-size: var(--text-base);
    margin-top: var(--space-2xl);
}


/* Section: Info ——————————————————————————————————————— */

[class*="scheme-"]+.section--info:not(.section--info ~ .section--info) {
    padding-block: calc(var(--space-2xl) + var(--space-sm)) calc(var(--space-4xl) + var(--space-xl));
}

.section--info:not(:has(~ .section--info)) {
    padding-bottom: calc(var(--space-2xl) + var(--space-xl));
}

.section--hero+.section--info .section-container {
    padding-top: 0;
}

.section--info .wp-block-columns {
    gap: var(--space-md);
}

.section--info .wp-block-columns.grid--6 {
    gap: calc(var(--space-4xl) + var(--space-xl)) var(--space-md);
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.section--info p {
    padding-top: var(--text-base);
}


/* Section: Space ——————————————————————————————————————— */

.section:has(+ .section--space) {
    box-shadow: var(--shadow);
}

.section--space .wp-block-spacer {
    height: var(--hero-spacer-height, 80svh) !important;
}


/* Section: History ——————————————————————————————————————— */

.section--history .section-container>.wp-block-columns>.wp-block-column:last-of-type {
    padding: var(--space-xl) var(--space-xl) calc(var(--space-2xl) + var(--space-sm));
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

.section--history .wp-block-columns .wp-block-columns .wp-block-column:first-of-type {
    max-width: 30%;
}

.section--history .section-container>.wp-block-columns>.wp-block-column:last-of-type>p:last-child {
    margin-top: auto;
}


/* Section: Contact ——————————————————————————————————————— */

.section--contact [class*="scheme-"]>.wp-block-column:first-of-type {
    display: flex;
    flex-direction: column;
    padding: calc(var(--space-lg) + var(--space-xs)) var(--space-sm) 0 var(--space-md);
}

.section--contact [class*="scheme-"] .wp-block-columns {
    border-top: 1px solid var(--scheme-text);
    padding-block: var(--space-sm) var(--space-lg);
}

.section--contact [class*="scheme-"] .wp-block-columns:first-of-type {
    margin-top: auto;
}

.section--contact .title__line {
    padding-bottom: var(--space-xl);
    max-width: 98%;
    align-self: center;
}


/* Section: Partners ——————————————————————————————————————— */

.section--footer-partners [class*="scheme-"] {
    padding: var(--space-xl) var(--space-lg) calc(var(--space-3xl) + var(--space-md));
}

.section--footer-partners .wp-block-heading {
    max-width: 45%;
}

.section--footer-partners .section-container figure.wp-block-gallery {
    margin-block: calc(var(--space-4xl) + var(--space-lg)) var(--space-2xl);
    gap: calc(var(--space-xl));
    align-items: center;
}

.section--footer-partners .section-container figure.wp-block-gallery+figure.wp-block-gallery {
    margin-block: 0;
}

.section--footer-partners .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: auto;
    height: 100%;
    object-fit: contain;
    flex: 0 0 auto;
    margin-bottom: unset;
}

.wp-block-gallery.has-nested-images figure.wp-block-image>a,
.wp-block-gallery.has-nested-images figure.wp-block-image>div {
    cursor: pointer;
}

.section--footer-partners .wp-block-gallery>figure.wp-block-image img {
    display: flex;
    height: auto;
    max-height: calc(var(--width-sm) / 4);
    max-width: calc(var(--width-sm) / 2) !important;
    width: auto;
}

.section--footer-partners .section-container figure.wp-block-gallery+figure.wp-block-gallery figure img {
    max-height: calc(var(--width-sm) / 5);
    max-width: calc(var(--width-sm) / 3) !important;
}

/* =====================================================
   PAGE: JUNCTION
   ===================================================== */

.section--hero.section--image {
    padding-bottom: 0;
}

.section--hero.section--image .section-wrapper {
    padding: 0;
}

.section--hero.section--image+.section--about {
    padding-top: var(--space-xl);
}

body.page-id-383 .footer .footer-logo,
body.page-id-462 .footer .footer-logo,
body.page-id-453 .footer .footer-logo,
body.page-id-477 .footer .footer-logo {
    display: none;
}

body.page-id-383 .footer .footer-container--route,
body.page-id-462 .footer .footer-container--route,
body.page-id-453 .footer .footer-container--route,
body.page-id-477 .footer .footer-container--route {
    justify-content: flex-start;
}



/* =====================================================
   PAGE: PROGRAMME
   ===================================================== */

/* Section: Spotlight ——————————————————————————————————————— */

main .section--spotlight .spotlight {
    aspect-ratio: 21/9;
    display: flex;
    padding: calc(var(--space-lg) + var(--space-xs));
    color: var(--scheme-solid-text);
    position: relative;
    overflow: hidden;
    text-decoration: none;
    background-size: cover;
}

.section--spotlight .spotlight::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

.spotlight__top,
.spotlight__bottom {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: space-between;
    left: 0;
    padding: calc(var(--space-lg) + var(--space-xs));
}

.spotlight__top {
    top: 0;
}

.spotlight__bottom {
    bottom: 0;
}

.spotlight__title {
    margin: auto;
    font-size: calc(var(--text-2xl) * 2);
    z-index: 1;
}

.spotlight__cta {
    text-decoration: underline;
}

.swiper {
    justify-content: center;
    display: flex;
}

.swiper-pagination {
    bottom: calc(var(--space-lg) + var(--space-xs)) !important;
    padding: 0 !important;
    background-color: transparent;
    display: flex;
    gap: var(--space-xs);
}

.swiper-pagination-bullet {
    background-color: transparent;
    border: 1px solid var(--scheme-solid-text);
    opacity: 1;
    width: var(--text-base);
    height: auto;
    aspect-ratio: 1;
}

.swiper-pagination-bullet-active {
    background-color: var(--scheme-solid-text);
}


/* Section: Filters ——————————————————————————————————————— */

.section--filters {
    padding-top: calc(var(--space-3xl) + var(--space-md));
}

.filter--close {
    grid-column: span 2;
    justify-self: end;
}

.filter--close button {
    all: unset;
}

.filters {
    margin-bottom: var(--space-lg);
}

.filter {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-xs) * 3);
}

.filter__type {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.filter span,
.filter li:not(.active) {
    color: var(--scheme-accent);
}

.section--filters:not(.is-closed) .filter:not(.filter--map) .filter__type :last-child {
    display: none;
}

.filter--map span {
    text-decoration: underline;
}

.filter--map svg {
    width: var(--text-xs);
    fill: var(--scheme-accent);
}

.section--filters input {
    all: unset;
    border-block: 1px solid;
    width: 100%;
    padding-block: var(--space-md);
}

.section--filters .search input::placeholder {
    color: var(--color-grey);
}


.section--filters.is-closed .filter__list {
    display: none;
}

.filter-subcategories {
    margin-left: var(--text-base);
    display: none;
}

.filter-parent.active>.filter-subcategories {
    display: block;
}

.filter-parent.active span {
    color: var(--scheme-text);
}

.filter-parent.active>.filter-subcategories {
    display: block;
}

.filter-parent-toggle {
    display: none;
}

.program.is-hidden,
.events__group__item.is-hidden,
.events__group.is-hidden {
    display: none !important;
}

.filter-checkbox {
    display: none;
    width: 12px;
    height: 12px;
    border: 1px solid currentColor;
}

li.active>.filter-parent-row .filter-checkbox,
li.active>.filter-checkbox {
    background: var(--scheme-text);
}

.filter-parent-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}


/* Section: Programs ——————————————————————————————————————— */

.section--programs:not(.section--recommended) h3 {
    padding-block: var(--space-lg) calc(var(--space-md));
}

.section--programs--recommended .section-container {
    border-bottom: 1px solid var(--scheme-text);
}

.section--programs .grid {
    margin-bottom: var(--space-3xl);
    gap: var(--space-3xl) var(--space-md);
}

.section--programs:nth-last-of-type(2) .grid,
.section--map .grid {
    margin-bottom: calc(var(--space-3xl) * 2);
}

.program {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-xs) * 3);
}

.program figure {
    position: relative;
}

.program img {
    aspect-ratio: 3/2;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.program__pills {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    padding: calc(var(--space-xs) * 3) 0 0 calc(var(--space-xs) * 3);
}

.program__meta {
    color: var(--scheme-accent);
}

.load-more--events {
    width: 100%;
    justify-self: center;
    font-size: var(--text-xl);
    margin-bottom: calc(var(--space-3xl) * 2);
}


/* Section: Map ——————————————————————————————————————— */

.section--map {
    display: none;
    padding-top: var(--space-lg);
}

.map-mode-active .section--map {
    display: block;
}

.map-mode-active .section--programs {
    display: none;
}

.events {
    display: grid;
    grid-template-columns: max-content max-content 1fr max-content;
    align-self: start;
}

.section--map .events>h2 {
    font-size: var(--text-2xl);
    margin-bottom: calc(var(--text-2xl)/2);
}

.events__group {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: subgrid;
    padding-block: calc(var(--space-md) + var(--space-xs) / 2);
}

.events__group:last-of-type {
    padding-bottom: 0;
}

.events__group__title {
    grid-column: 1 / -1;
}

.events__group__list {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    row-gap: calc(var(--space-sm) + var(--space-xs) / 2);
}

.section--map .events ul.events__group__list {
    padding-block: calc(var(--space-md) + var(--space-xs)) 0;
}

.events__group__item {
    display: contents;
}

.events__group__item>* {
    display: flex;
    align-items: center;
}

.events__group__item>*:not(:last-child) {
    padding-right: var(--space-xl);
}

.events__group__item>* {
    border-bottom: 1px solid var(--scheme-text);
    padding-bottom: calc(var(--space-sm) + var(--space-xs) / 2);
}

.events__group__item__pills {
    display: flex;
}

.events__group__item__pills .pill {
    height: fit-content;
}

.section--map .events__group .events__group__item__cta {
    text-align: right;
    color: var(--scheme-accent);
    justify-content: flex-end;
}

.events__group__item__cta--tickets {
    text-decoration: underline;
}

#map {
    width: 100%;
    height: auto;
    aspect-ratio: 9/10;
    position: sticky;
    top: var(--header-height);
}

.mapboxgl-ctrl-bottom-left,
.mapboxgl-ctrl-bottom-right {
    display: none;
}

.map-marker {
    width: 24px;
    height: 24px;
    background: var(--scheme-text);
    border-radius: 50%;
    transition: transform 0.15s ease, background-color 0.15s ease;
    cursor: pointer;
}

.map-marker.is-active {
    background: var(--color-orange);
    z-index: 10;
}

.mapboxgl-marker svg {
    width: var(--text-base);
}

.mapboxgl-popup-content {
    background: var(--scheme-bg);
    border-radius: 0;
    box-shadow: var(--shadow);
    padding: var(--space-sm) var(--space-md);
}

.events__group__item.is-active .events__group__item__title {
    color: var(--scheme-accent);
    text-decoration: underline;
}

.events__group__item.is-active .events__group__item__date {
    color: var(--scheme-accent);
}

.map__controls {
    position: absolute;
    right: var(--space-md);
    top: var(--space-md);
    z-index: 1;
    display: flex;
    flex-direction: column;
}

.map__controls .map__zoom {
    color: var(--scheme-text);
    cursor: pointer;
    width: var(--text-2xl);
    height: var(--text-2xl);
    position: relative;
    background-color: var(--scheme-bg);
    border: 1px solid var(--scheme-accent);
    opacity: 0.62;
}

.map__controls .map__zoom+.map__zoom {
    border-top: none;
}

.map__controls .map__zoom::before,
.map__controls .map__zoom::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: currentColor;
}

.map__controls .map-zoom--in::before,
.map__controls .map-zoom--out::before {
    width: 0.75rem;
    height: 2px;
}

.map__controls .map-zoom--in::after {
    width: 2px;
    height: 0.75rem;
}


/* Section: Contact ——————————————————————————————————————— */

.section--partner-cta {
    text-align: center;
    padding-bottom: var(--space-xl);
}

.section--partner-cta h2:first-of-type {
    margin-bottom: var(--space-md);
}


/* =====================================================
   PAGE: SINGLE
   ===================================================== */

.section--single [class*="scheme-"].section-wrapper {
    padding-top: var(--header-height);
}

.single__left {
    padding-block: var(--space-lg) calc(var(--space-xl) + var(--space-xs));
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-2xl);
    min-width: 0;
}

.single__left ul {
    padding-left: var(--space-lg);
    margin-bottom: var(--text-base);
}

.single__right {
    min-width: 0;
}

.single__top,
.single__bottom,
.section--programs .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.single__pills {
    display: flex;
}

.single__content {
    max-width: 100%;
}

.single__location {
    display: flex;
    gap: var(--space-md);
}

[class*="scheme-"] .single__location a {
    color: var(--scheme-opacity);
}

.single__slider,
.single__thumbnail {
    height: 100%;
    max-height: calc(100vh - var(--header-height));
    margin-right: calc(var(--space-lg) * -1);
    position: sticky;
    top: var(--header-height);
}

.single__slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    height: 100%;
}

.single__slide img,
.single__thumbnail img {
    aspect-ratio: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.section--recommended .section-header {
    padding-block: calc(var(--space-xl) + var(--space-xs)) var(--space-lg);
}

.section--recommended .section-header a {
    color: var(--color-middle-grey);
    text-decoration: underline;
}

.section--recommended .grid {
    margin-bottom: calc(var(--space-3xl) * 2);
}


/* =====================================================
   PAGE: ABOUT
   ===================================================== */

.section--about.section--bleed {
    margin-block: var(--space-lg) calc(var(--space-md) + var(--space-xs));
}

.section--about.section--bleed .wp-block-column:first-of-type {
    display: flex;
    flex-direction: column;
    padding: calc(var(--space-md) + var(--space-xs)) calc(var(--space-2xl) + var(--space-sm)) calc(var(--space-xl) + var(--space-xs)) calc(var(--space-md) + var(--space-xs));
}

.section--about.section--bleed .wp-block-column:first-of-type p {
    margin-top: auto;
}

.section--about.section--bleed .wp-block-column:first-of-type ul {
    padding-bottom: 0;
}

.section--history+.section--info .section-container {
    padding-top: var(--space-sm);
}

.section--info+.section--discover {
    padding-top: calc(var(--space-4xl) + var(--space-xl));
}

.section--discover .wp-block-columns {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.section--discover .wp-block-column:first-of-type {
    grid-column: span 2;
}

.section--discover .wp-block-column:last-of-type {
    grid-column: span 1;
    justify-items: end;
    color: var(--scheme-accent);
}


/* =====================================================
   PAGE: PARTNERS
   ===================================================== */

/* Section: Partners ——————————————————————————————————————— */

.section--partners .partners-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--space-xl) + var(--space-sm));
    border-top: 1px solid var(--scheme-text);
    padding-block: var(--text-base) calc(var(--space-3xl) * 2 + var(--space-2xl));
}


.partners-list .grid {
    column-gap: 0;
    row-gap: var(--space-4xl);
}

.partners-list .partner:last-child:nth-child(4n+1),
.partners-list .partner:last-child:nth-child(4n+2),
.partners-list .partner:last-child:nth-child(4n+3) {
    display: flex;
    flex-direction: column;
}

.partners-list .partner:last-child:nth-child(4n+1) {
    grid-column: span 4;
}

.partners-list .partner:last-child:nth-child(4n+1)>div {
    max-width: calc((100% - (3 * var(--space-sm))) / 4);
}

.partners-list .partner:last-child:nth-child(4n+2) {
    grid-column: span 3;
}

.partners-list .partner:last-child:nth-child(4n+2)>div {
    max-width: calc((100% - (3 * var(--space-sm))) / 3);
}

.partners-list .partner:last-child:nth-child(4n+3) {
    grid-column: span 2;
}

.partners-list .partner:last-child:nth-child(4n+3)>div {
    max-width: calc((100% - (3 * var(--space-sm))) / 2);
}

.partner figure {
    margin: 0;
    padding-bottom: var(--space-xl);
    border-bottom: 1px solid var(--scheme-text);
}

.partner img {
    width: auto;
    height: calc(var(--width-md) / 4);
    display: block;
}

.partner div {
    display: flex;
    flex-direction: column;
}

.partner h4 {
    margin-block: calc(var(--space-xl) + var(--space-xs)) calc(var(--space-lg) + var(--space-xs));
}

.partner p+a {
    margin-top: var(--text-base);
}

[class*="scheme-"] .partner a {
    color: var(--scheme-accent);
}


.partner div,
.partner img {
    margin-inline: var(--space-sm);
}

.partners-list .partner:first-child div,
.partners-list .partner:first-child img {
    margin-left: 0;
}

.partners-list .partner:last-child div,
.partners-list .partner:last-child img {
    margin-right: 0;
}


/* BUTTONS */

.wp-element-button,
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-sm) var(--space-lg);
    font-size: var(--text-sm);
    cursor: pointer;
    max-width: max-content;
    transition: var(--transition-hover);
}

[class*="scheme-"] .wp-block-button:not(.is-style-arrow-down):not(.is-style-arrow-left) .wp-element-button:hover {
    background-color: var(--scheme-solid-bg);
    color: var(--scheme-solid-text);
    cursor: pointer;
}

.is-style-outline>.wp-element-button,
.button--outline {
    border: 1px solid var(--scheme-text);
    background-color: transparent;
    color: var(--scheme-text);
    transition: var(--transition-hover);
}

.is-style-outline>.wp-element-button:hover,
.button--outline:hover {
    background-color: var(--scheme-solid-bg);
    color: var(--scheme-solid-text);
    border: 1px solid var(--scheme-solid-bg);
}


/* PILLS */

.pill {
    display: inline-block;
    padding: var(--space-xs) var(--space-md);
    border-radius: 999px;
    border: 1px solid;
}

.pill.pill--category {
    border: none;
    background-color: var(--scheme-bg);
    color: var(--scheme-text);
}

.section--single .pill.pill--category {
    background-color: transparent;
    color: var(--scheme-text);
    border: 1px solid;
}

.pill.pill--entrance {
    border: none;
    border-radius: 3px;
}

.pill.pill--entrance--free {
    background-color: var(--color-off-white);
}

.pill.pill--entrance--tickets {
    background-color: var(--color-dark-grey);
    color: var(--color-white);
    padding-inline: var(--space-sm);
}

.pill.pill--entrance--invite {
    background-color: var(--color-grey);
    color: var(--color-white);
    padding-inline: var(--space-sm);
}


/* FORMS */

.zcwf_title {
    margin-bottom: var(--space-md);
}

.zcwf_row.grid,
.zcwf_row:nth-last-child(2 of .zcwf_row),
.zcwf_row:nth-last-child(1 of .zcwf_row),
.form-success {
    grid-column: 1 / 3;
}

.zcwf_row:nth-last-child(2 of .zcwf_row) {
    margin-top: var(--space-xs);
}

.zcwf_row:nth-last-child(1 of .zcwf_row),
.form-success {
    margin-block: calc(var(--space-lg) + var(--space-xs)) calc(var(--space-lg) * -1);
}

label,
.zcwf_title {
    line-height: var(--leading-snug);
}

.zcwf_row:has(input[type="text"]) label,
input[type="reset"] {
    display: none;
}

.zcwf_col_fld input {
    line-height: var(--leading-snug);
}


.zcwf_col_fld input[type="text"] {
    border: none;
    border-bottom: 1px solid var(--scheme-text);
    background-color: transparent;
    color: var(--scheme-text);
    width: 100%;
    padding-bottom: calc(var(--space-sm) + var(--space-xs));
}

input::placeholder,
.form-notice {
    color: var(--scheme-accent);
}

.form-notice {
    margin-block: calc(var(--space-md) + var(--space-xs));
}

.wf_tr_div_1 {
    display: contents !important;
}

#LEADCF42,
.zcwf_col_lab--checkbox,
#LEADCF105 {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
    inset: 0;
}

.binary-choice__options {
    display: flex;
    gap: var(--space-3xl);
}

.binary-choice button {
    display: inline-flex;
    gap: calc(var(--space-sm) + var(--space-xs));
    align-items: center;
    text-align: left;
    background: none;
    border: 0;
    font: inherit;
    cursor: pointer;
    color: var(--scheme-text);
    appearance: none;
}

.binary-choice .box {
    width: var(--space-lg);
    height: var(--space-lg);
    border: 1px solid currentColor;
}

.binary-choice button.is-active .box {
    background: currentColor;
}

.binary-choice button:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 3px;
}

.custom-checkbox button {
    display: inline-flex;
    gap: calc(var(--space-sm) + var(--space-xs));
    align-items: center;
    text-align: left;
    background: none;
    border: 0;
    font: inherit;
    cursor: pointer;
    color: var(--scheme-text);
    appearance: none;
}

.custom-checkbox .box {
    width: var(--space-lg);
    height: var(--space-lg);
    border: 1px solid currentColor;
}

.custom-checkbox.is-checked .box {
    background: currentColor;
}

.custom-checkbox button:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 3px;
}

.formsubmit {
    width: 100%;
    border: 1px solid var(--scheme-solid-bg);
    background: transparent;
    color: var(--scheme-text);
    padding: calc(var(--space-sm) + calc(var(--space-xs) / 2)) var(--space-lg) calc(var(--space-sm) + var(--space-xs));
    cursor: pointer;
    transition: 0.2s ease;
}

.formsubmit:hover {
    background: var(--scheme-text);
    color: var(--scheme-solid-text);
}

.formsubmit:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.field-error {
    display: block;
    margin-top: var(--space-xs);
    font-size: var(--text-xs);
    color: var(--color-orange);
}

footer .newsletter {
    display: none;
}

footer form {
    padding-right: calc(var(--space-3xl) + var(--space-md));
}


/* Header ——————————————————————————————————————— */

.header {
    position: fixed;
    top: 0;
    z-index: 999;
    font-size: var(--text-sm);
    text-transform: uppercase;
}

.header-wrapper {
    position: relative;
}

.header-container {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: var(--header-height);
}

.header-container--bottom {
    position: absolute;
    left: var(--space-lg);
    right: var(--space-lg);
    bottom: 0;

    flex-wrap: wrap;

    opacity: 0;
    pointer-events: none;
}

.header.header--panel-visible .header-container--bottom {
    opacity: 1;
    pointer-events: auto;
}

.header-container--bottom span {
    display: flex
}

.header .menu {
    display: flex;
    align-items: center;
    text-transform: uppercase;
}

.header .menu-item {
    font-size: var(--text-sm);
    color: var(--scheme-text);
    text-wrap: nowrap;
}

.nav {
    display: flex;
    gap: calc(var(--space-xl) + var(--space-xs) * 3);
}

.burger-button {
    all: unset;
    z-index: 1000;
}

.nav__languages a:not(.is-active),
.lang-separator {
    opacity: var(--text-opacity-highlight);
}


/* OPEN STATE */

.header.is-open .header-container:first-of-type *,
.header.is-open .nav-wrapper * {
    color: var(--color-white);
}

.header.is-open .header-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100vh;
}

.header.is-open .nav__languages {
    display: none;
}

.header .nav-wrapper {
    position: fixed;
    inset: 0;

    transform: translateY(-100%);
    transition: transform 0.45s cubic-bezier(0.76, 0, 0.24, 1);

    pointer-events: none;
}

.header.is-open .nav-wrapper {
    transform: translateY(0);
    pointer-events: auto;
}

.nav--fullscreen {
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.menu--fullscreen {
    flex-direction: column;
    gap: calc(var(--space-lg) + var(--space-xs));
}

.menu--fullscreen .menu-item {
    opacity: 0;
    transition:
        transform 1s cubic-bezier(0.76, 0, 0.24, 1),
        opacity 0.35s ease;
}

.menu--fullscreen .menu-item:nth-child(odd) {
    transform: translateY(-20vh) skewX(calc(var(--title-skew) * -1));
}

.menu--fullscreen .menu-item:nth-child(even) {
    transform: translateY(-20vh) skewX(var(--title-skew));
}

.header.is-open .menu--fullscreen .menu-item:nth-child(odd) {
    transform: translateY(0) skewX(var(--title-skew));
    opacity: 1;
}

.header.is-open .menu--fullscreen .menu-item:nth-child(even) {
    transform: translateY(0) skewX(calc(var(--title-skew) * -1));
    opacity: 1;
}

.header.header--panel-visible .menu--fullscreen .menu-item:nth-child(odd):hover {
    transform: translateY(0) skewX(calc(var(--title-skew) * -1));
    transition-duration: 0.25s;
}

.header.header--panel-visible .menu--fullscreen .menu-item:nth-child(even):hover {
    transform: translateY(0) skewX(var(--title-skew));
    transition-duration: 0.25s;
}

.header.header--panel-visible .menu--fullscreen .menu-item {
    transition-delay: 0s !important;
}

header .nav--fullscreen .title__line {
    font-size: clamp(1rem, 16vw, 20rem);
    transform: none;
    transition: 0.3s ease;
    cursor: pointer;
    display: inline-block;
}

.header.is-open .menu--fullscreen .menu-item:nth-last-child(1) {
    transition-delay: 0.4s;
}

.header.is-open .menu--fullscreen .menu-item:nth-last-child(2) {
    transition-delay: 0.52s;
}

.header.is-open .menu--fullscreen .menu-item:nth-last-child(3) {
    transition-delay: 0.64s;
}

.header.is-open .menu--fullscreen .menu-item:nth-last-child(4) {
    transition-delay: 0.76s;
}


/* Footer ——————————————————————————————————————— */

.footer-wrapper {
    padding-block: var(--space-2xl) var(--space-md);
}

.footer-body .footer-top {
    /* padding-bottom: calc(var(--space-3xl) * 3); */
    padding-bottom: var(--space-3xl);
    display: flex;
    justify-content: space-between;
    gap: var(--space-3xl);
}

.footer-container {
    display: flex;
    gap: var(--space-lg);
    height: fit-content;
}

.footer-top .footer-container {
    flex-direction: column;
}

.footer-top .footer-container .footer-inner-container:nth-child(2) {
    display: flex;
    gap: var(--space-md);
    text-decoration: none;
}

.footer-body .footer-top>.footer-container:first-of-type * {
    font-size: var(--text-lg);
    line-height: var(--leading-snug);
}


.footer-body>.footer-top>.footer-container:first-of-type ul:last-of-type {
    display: flex;
    flex-wrap: wrap;
}

.footer-body>.footer-top.footer-container:first-of-type ul:last-of-type li {
    flex-wrap: nowrap;
    display: flex;
    align-items: center;
}

.footer-body>.footer-top>.footer-container:first-of-type ul:last-of-type li+li:before {
    content: "";
    display: inline-block;
    width: var(--space-sm);
    height: var(--space-sm);
    border-radius: 50%;
    background-color: currentColor;
    margin-inline: 0.35em;
    vertical-align: middle;
    transform: translateY(-0.05em);
}

.footer-body>.footer-top>.footer-container:last-of-type * {
    line-height: var(--leading-relaxed);
}

.footer-body .footer-instagram {
    font-size: 0;
    max-width: var(--text-xl);
    display: inline-flex;
    justify-content: center;
    height: 100%;
}

.footer-body .footer-instagram svg {
    width: var(--text-xl);
    height: var(--text-xl);
    fill: var(--scheme-text);
}

.footer-container--route {
    justify-content: flex-end;
    display: flex;
}

.footer-container--route svg {
    width: calc(var(--width-3xl)/3);
}

.footer-partners-text li {
    margin-bottom: var(--space-3xl);
    font-size: var(--text-xl);
    max-width: 45%;
}

/*

.footer-body .menu .menu-item-instagram a::before {
    content: "";
    width: var(--text-xl);
    height: var(--text-xl);
    background-color: currentColor;

    mask: url("assets/svg/instagram.svg") no-repeat center / contain;
    -webkit-mask: url("assets/svg/instagram.svg") no-repeat center / contain;
} */

.footer-body .footer-bottom {
    align-items: end;
    margin-bottom: calc(var(--space-2xl) + var(--space-sm));
}

.footer-body .footer-logo {
    max-width: calc(var(--width-lg) / 2);
    /* margin-bottom: calc(var(--space-2xl) + var(--space-sm)); */
}

.footer .cls-1 {
    fill: var(--scheme-text);
}

.footer .legal-container:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--scheme-text);
    overflow: hidden;
}

.footer .legal-container * {
    font-size: var(--text-xs);
}

.footer .legal-container>* {
    padding-top: calc(var(--space-sm) + var(--space-xs));
}

.footer .legal-container__legal {
    display: flex;
    justify-content: space-between;
}

.footer .legal-container__copyright {
    text-transform: uppercase;
}

.footer .legal-container__legal ul {
    display: flex;
    gap: var(--space-3xl);
}

.grid.grid--3.footer-container {
    display: none;
}


/* COOKIEYES */

.cky-consent-container {
    width: var(--width-lg) !important;
    border-radius: 0px !important;
    bottom: var(--space-lg) !important;
    left: var(--space-lg) !important;
}

.cky-consent-container .cky-consent-bar {
    box-shadow: var(--shadow) !important;
    border-radius: 0px !important;
    background-color: var(--color-white) !important;
    border: 0 !important;
}

.cky-consent-container .cky-consent-bar .cky-notice-content-wrapper {
    padding: var(--space-lg) var(--space-md);
}

.cky-consent-bar> :nth-child(2),
.cky-btn-revisit-wrapper {
    display: none !important;
}

.cky-consent-container .cky-notice .cky-title {
    font-size: var(--text-base);
    font-weight: 600;
    line-height: var(--leading-snug);
    letter-spacing: -0.006rem;
    margin-bottom: var(--text-base);
}

.cky-consent-container .cky-notice-group,
.cky-consent-container .cky-notice-group .cky-notice-des {
    font-size: var(--text-xs);
    font-weight: 600;
    line-height: var(--leading-normal);
    letter-spacing: -0.001rem;
    color: var(--color-black) !important;
}

.cky-consent-container .cky-notice-des * {
    font-size: inherit;
}

.cky-consent-container .cky-notice-des P:last-child {
    margin-bottom: calc(var(--text-xs) * var(--leading-normal));
}

.cky-consent-container .cky-notice-btn-wrapper {
    margin-top: calc(var(--space-lg) + var(--space-xs));
    gap: var(--space-md);
}

.cky-consent-container .cky-notice-btn-wrapper .cky-btn {
    font-size: inherit;
    font-family: inherit;
    line-height: inherit;
    padding: calc(var(--space-sm) + calc(var(--space-xs) / 2)) var(--space-lg) calc(var(--space-sm) + var(--space-xs));
    border-radius: 0;
}

.cky-btn-accept {
    background-color: var(--color-yellow) !important;
    color: var(--color-black) !important;
    border-color: transparent !important;
}

.cky-btn-reject,
.cky-btn-customize,
.cky-btn-preferences {
    color: var(--color-black) !important;
    border-color: var(--color-black) !important;
    background-color: transparent !important;
}


@media (min-width: 1850px) {
    :root {
        /* Typography - Sizes */
        --text-xs: 0.875rem;
        /* 14px */
        --text-sm: 1.125rem;
        /* 18px */
        --text-base: 1.375rem;
        /* 22px */
        --text-lg: 1.75rem;
        /* 28px */
        --text-xl: 2.25rem;
        /* 36px */

        /* Component Tokens */
        --header-height: 3.5rem;
    }
}


@media (min-width: 1600px) {
    :root {
        /* Typography - Sizes */
        --text-xs: 0.813rem;
        /* 13px */
        --text-sm: 0.938rem;
        /* 15px */
        --text-base: 1.188rem;
        /* 19px */
        --text-lg: 1.5rem;
        /* 24px */
        --text-xl: 1.875rem;
        /* 30px */

        /* Component Tokens */
        --header-height: 3.25rem;
    }
}

@media (max-width: 1200px) {

    .title__meta li {
        font-size: 1.25rem;
    }


    /* =====================================================
    PAGE: HOME
    ===================================================== */

    /* Section: Hero ——————————————————————————————————————— */

    .section--hero .title__meta li+li::before {
        width: var(--space-sm);
        height: var(--space-sm);
        margin-inline: 0.45em;
    }


    /* Section: Newsletter ——————————————————————————————————————— */

    .section--newsletter .wp-block-column:first-of-type .wp-block-heading {
        max-width: unset;
    }


    /* Section: Contact ——————————————————————————————————————— */

    .section--contact [class*="scheme-"] .wp-block-columns .wp-block-column:first-of-type {
        flex-basis: 33.33% !important;
    }

    .section--contact [class*="scheme-"] .wp-block-columns .wp-block-column:last-of-type {
        flex-basis: 66.66% !important;
    }


    /* Form ——————————————————————————————————————— */

    .binary-choice__options {
        gap: calc(var(--space-md) + var(--space-xs));
    }

    .binary-choice button {
        gap: calc(calc(var(--space-sm) + var(--space-xs)) / 2);
    }


    /* =====================================================
        PAGE: PARTNERS
        ===================================================== */

    /* Section: Partners ——————————————————————————————————————— */

    .section--partners .partners-list {
        gap: calc(var(--space-xl) + var(--space-sm));
        padding-block: var(--text-base) calc(var(--space-2xl) * 3);
    }

    .partners-list .grid {
        grid-template-columns: repeat(2, 1fr);
        row-gap: var(--space-2xl);
    }

    .partner div,
    .partner img {
        margin-inline: var(--space-sm);
    }

    .partners-list .partner:nth-child(3) div,
    .partners-list .partner:nth-child(3) img {
        margin-left: 0;
    }

    .partners-list .partner:nth-child(2) div,
    .partners-list .partner:nth-child(2) img {
        margin-right: 0;
    }


    /* Footer ——————————————————————————————————————— */

    footer form {
        padding-right: 0;
    }
}

@media (max-width: 781px) {
    :root {
        --text-xl: 1.375rem;
        /* 22px */
        --text-2xl: 1.6875rem;
        /* 27px */


        --header-height: 2.625rem;
        --title-shift: 0.44em;
    }


    /* SECTION STRUCTURE */

    .header-wrapper,
    .footer-wrapper,
    .section-container>*:not(figure):not(.swiper),
    .swiper-slide {
        padding: 0 calc(var(--space-md) + var(--space-xs));
    }

    .section-wrapper {
        padding: 0;
    }

    .section:not(.section--bleed):not(.section--footer-partners):not(.section--programs) [class*="scheme-"]:not(.scheme-white):not(.pill),
    .section--history [class*="scheme-"]:not(.scheme-white) {
        padding: calc(var(--space-xl) + var(--space-xs)) calc(var(--space-md) + var(--space-xs)) calc(var(--space-2xl) + var(--space-sm));
    }


    /* TITLE */

    .title__meta--mobile {
        position: relative;
        display: flex;
        width: 100%;
        justify-content: center;
        bottom: 0;
        margin-top: var(--space-md);
    }

    .title__meta:not(:last-of-type) {
        display: none;
    }

    .title__meta--mobile ul {
        flex-wrap: wrap;
        justify-content: center;
    }

    /* =====================================================
    PAGE: HOME
    ===================================================== */

    /* Section: Hero ——————————————————————————————————————— */

    .site-main .section--hero {
        padding-block: calc(var(--space-xl) * 2) var(--space-md);
    }

    .section--hero:nth-of-type(2) {
        display: block;
        position: fixed;
        visibility: visible;
        pointer-events: auto;
        inset: unset;
    }

    .section--hero:first-of-type svg g:nth-child(4) {
        display: block;
    }

    /* Section: Junction ——————————————————————————————————————— */

    .section--junction [class*="scheme-"]>.wp-block-column:first-of-type {
        padding-inline: 0;
    }

    .section--junction [class*="scheme-"] .wp-block-column:last-of-type {
        margin-inline: calc(calc(var(--space-md) + var(--space-xs)) * -1);
    }


    /* Section: About ——————————————————————————————————————— */

    .section--about .wp-block-columns {
        gap: unset;
    }


    .section--about .wp-block-columns:last-of-type .wp-block-column:first-of-type>* {
        margin-right: 0;
    }

    .section--about .wp-block-columns:last-of-type figure {
        margin-inline: calc(calc(var(--space-md) + var(--space-xs)) * -1);
        margin-top: calc(var(--space-2xl) + var(--space-sm));
    }

    .site-main .section--about ul:not(.menu):not(.filter__list) {
        margin-top: 0;
    }


    /* Section: Open Call ——————————————————————————————————————— */

    .section--opencall .wp-block-columns {
        gap: var(--space-xl);
        overflow: hidden;
    }

    .section--opencall .wp-block-column:first-of-type {
        gap: var(--space-md);
        margin-right: 0;
    }

    .section--opencall ul {
        padding-block: var(--space-2xl) var(--space-3xl);
        gap: var(--text-base);
    }


    /* Section: Newsletter ——————————————————————————————————————— */

    .section--history+.section--newsletter {
        padding-bottom: var(--space-sm);
    }

    .section--newsletter .wp-block-column:last-of-type {
        padding-left: unset
    }


    /* Section: News ——————————————————————————————————————— */

    .news-block__heading {
        margin-bottom: var(--space-lg);
    }

    .section--news .grid {
        row-gap: calc(var(--space-xl) + var(--space-xs));
        grid-template-columns: 1fr;
    }

    .news-load-more {
        margin-top: calc(var(--space-xl) + var(--space-xs));
    }


    /* Section: Info ——————————————————————————————————————— */

    .section--info:not(.section--info ~ .section--info) {
        padding-block: var(--space-lg) var(--space-2xl);
    }

    .section--info:not(:has(~ .section--info)) {
        padding-bottom: calc(var(--space-2xl) + var(--space-xl));
    }

    .section--info .wp-block-columns,
    .section--info .wp-block-columns.grid--6 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-xl) var(--space-md);
        padding-inline: calc(var(--space-md) + var(--space-xs));
    }

    .section--info figure {
        margin-bottom: var(--text-base);
    }

    .section--info img {
        aspect-ratio: 2 / 3 !important;
    }

    .section--info p {
        font-size: var(--text-sm);
        line-height: var(--leading-relaxed);
    }


    /* Section: Space ——————————————————————————————————————— */

    .section--space .wp-block-spacer {
        height: 50svh !important;
    }


    /* Section: History ——————————————————————————————————————— */

    .section--history,
    .section--contact {
        padding-bottom: var(--space-sm);
    }


    .section--history .section-container>.wp-block-columns {
        gap: var(--space-xl);
    }

    .section--history .section-container>.wp-block-columns>.wp-block-column:last-of-type {
        padding: 0;
        gap: calc(var(--space-xl) + var(--space-xs));
    }


    .section--history .wp-block-columns .wp-block-columns .wp-block-column:first-of-type {
        max-width: unset;
    }

    .section--history .wp-block-columns>.wp-block-column:has(img) {
        margin-inline: calc(calc(var(--space-md) + var(--space-xs)) * -1);
        margin-top: calc(var(--space-xl) * -1 + var(--space-xs) * -1);
        /* margin-top: var(--space-sm); */
    }


    /* Section: Contact ——————————————————————————————————————— */

    .section--contact [class*="scheme-"]>.wp-block-column:first-of-type {
        padding-inline: 0;
    }

    .section--contact [class*="scheme-"] .wp-block-columns {
        margin-inline: calc(var(--space-xs) *-3);
        justify-content: space-between;
        padding-bottom: calc(var(--space-lg) + var(--space-xs));
    }

    .section--contact [class*="scheme-"] .wp-block-columns:first-of-type {
        padding-bottom: var(--space-3xl);
    }

    .section--contact [class*="scheme-"] .wp-block-columns .wp-block-column:first-of-type {
        flex-basis: 31% !important;
    }

    .section--contact [class*="scheme-"] .wp-block-columns .wp-block-column:last-of-type {
        flex-basis: 69% !important;
    }

    .section--contact .section-container>.wp-block-columns>.wp-block-column:last-of-type {
        display: none;
    }


    /* Section: Partners ——————————————————————————————————————— */

    .section--footer-partners [class*="scheme-"] {
        padding-top: calc(var(--space-xl) + var(--space-sm));
    }

    footer .section--footer-partners .wp-block-heading {
        max-width: unset;
        padding: 0;
    }

    .section--footer-partners .section-container>figure.wp-block-gallery {
        margin-top: var(--space-3xl);
        gap: var(--space-md);
        justify-content: space-around;
    }

    .section--footer-partners .section-container>figure.wp-block-galleryy figure img {
        max-height: calc(var(--width-xs) / 4);
    }

    .section--footer-partners .section-container>figure.wp-block-gallery+figure.wp-block-gallery {
        margin-top: var(--space-xl);
    }

    .section--footer-partners .section-container>figure.wp-block-gallery+figure.wp-block-gallery figure img {
        max-height: calc(var(--width-xs) / 6);
    }


    /* =====================================================
   PAGE: JUNCTION
   ===================================================== */

    .section--hero.section--image {
        padding-block: var(--header-height) 0;
    }

    .section--hero.section--image+.section--about {
        padding-top: var(--space-lg);
    }


    /* =====================================================
    PAGE: PROGRAMME
    ===================================================== */

    /* Section: Spotlight ——————————————————————————————————————— */

    main .section--spotlight .spotlight {
        aspect-ratio: 4/3;
    }

    .spotlight__top,
    .spotlight__bottom {
        padding: calc(var(--space-xs) * 3) calc(var(--space-xs) * 2);
    }

    .spotlight__meta> :first-child,
    .spotlight__title {
        display: none;
    }

    .spotlight__meta {
        font-size: var(--text-base);
    }


    /* Section: Filters ——————————————————————————————————————— */

    .section--filters {
        padding-top: var(--space-lg);
    }

    .filters.grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 0;
        margin-bottom: 0;
    }

    .filter {
        grid-column: span 2;
        order: 3;
        gap: 0;
    }

    .filter--close,
    .filter--map {
        grid-column: span 1;
        margin-bottom: var(--space-md);
    }

    .filter--close {
        justify-self: start;
        order: 1;
        color: var(--scheme-accent);
    }

    .filter--map {
        justify-self: end;
        order: 2;
    }

    .filter:not(.filter--map) .filter__type span {
        font-size: 20px;
    }

    .filter__list {
        display: none;
    }

    .filter.is-open .filter__list:not(.filter-subcategories) {
        display: block;
    }

    .filter:not(.filter--map) .filter__type,
    .filter li:not(.filter-child) {
        border-top: 1px solid var(--scheme-text);
        padding-block: calc(var(--space-xs) + var(--space-xs) / 2);
        display: flex;
        align-items: center;
        gap: var(--space-md);
    }

    .filter li.filter-parent {
        justify-content: space-between;
        align-items: flex-start;
    }

    .filter-child,
    .filter-parent-row {
        display: flex;
        align-items: center;
        gap: var(--space-md);
    }

    .filter-child+.filter-child {
        margin-top: var(--space-xs);
    }

    .filter__type {
        justify-content: space-between;
    }

    .section--filters:not(.is-closed) .filter:not(.filter--map) .filter__type :last-child {
        display: block;
    }

    .filter-checkbox {
        display: block;
        width: var(--text-sm);
        height: var(--text-sm);
        border: 1px solid var(--scheme-text);
    }

    .filter-parent.active .filter-parent-row .filter-checkbox,
    ul>li.active>.filter-checkbox,
    .filter-child.active .filter-checkbox {
        background-color: var(--scheme-text);
    }

    .filter-parent-toggle {
        display: block;
        position: absolute;
        right: calc(var(--space-md) + var(--space-xs));
    }

    .filter-parent.active .filter-parent-toggle {
        display: none;
    }


    /* Section: Programs ——————————————————————————————————————— */

    .section--programs h3 {
        margin-block: calc(var(--space-xs) * 3) calc(var(--space-md));
        font-size: var(--text-base);
    }

    .section--programs .grid {
        display: flex;
        flex-direction: column;
        gap: calc(var(--space-xl) + var(--space-xs));
        margin-bottom: 0;
    }

    .section--programs--recommended .section-container {
        border-bottom: unset;
    }

    .section--programs--recommended .section-container .grid {
        border-bottom: 1px solid var(--scheme-text);
        margin-inline: calc(var(--space-md) + var(--space-xs));
        padding: 0 0 var(--space-2xl) 0;
    }

    .section--programs:nth-last-of-type(2) .grid,
    .load-more--events {
        margin-bottom: calc(var(--space-2xl) * 2);
    }

    /* Section: Contact ——————————————————————————————————————— */

    .section--partner-cta {
        text-align: center;
        padding-bottom: var(--space-xl);
    }

    .section--partner-cta .wp-block-column {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .section--partner-cta h2:first-of-type {
        margin-bottom: var(--space-md);
        max-width: 300px;
    }

    /* =====================================================
        SINGLE
        ===================================================== */

    .section--single {
        padding-bottom: var(--space-lg);
    }

    .section--single .grid {
        display: flex;
        flex-direction: column;
        gap: var(--space-xl);
    }

    .single__left {
        padding-bottom: 0;
        gap: var(--space-xl);
    }

    .single__left ul {
        padding-left: calc(var(--space-md) + var(--space-xs));
    }

    .single__bottom {
        align-items: flex-end;
    }

    .single__location {
        flex-direction: column;
        gap: var(--space-xs);
    }

    .single__content {
        max-width: unset;
    }

    .single__slider,
    .single__thumbnail {
        max-height: unset;
        margin-inline: calc(calc(var(--space-md) + var(--space-xs)) * -1);
    }

    .single__slide {
        height: auto;
        padding: 0;
    }

    .section--single+.section--programs .grid {
        margin-bottom: var(--space-4xl);
    }


    /* =====================================================
        PAGE: ABOUT
        ===================================================== */

    /* Section: About ——————————————————————————————————————— */

    .section--about.section--bleed {
        margin-block: 0 var(--space-sm);
    }

    .section--about.section--bleed .wp-block-column:first-of-type {
        display: flex;
        flex-direction: column;
        padding: calc(var(--space-xl) + var(--space-xs)) 0 calc(var(--space-2xl) + var(--space-sm));
    }

    .section--about.section--bleed h2 {
        padding-bottom: var(--space-xl);
    }

    .section--history+.section--info .section-container {
        padding-top: var(--space-xl);
    }

    .section--discover .wp-block-columns {
        display: flex;
        flex-direction: column;
        gap: var(--text-xl);
    }

    .section--discover {
        margin-bottom: var(--space-lg);
    }

    .section--discover .wp-block-column:last-of-type {
        justify-items: start;
    }

    /* =====================================================
        PAGE: PARTNERS
        ===================================================== */

    /* Section: Partners ——————————————————————————————————————— */

    .section--partners {
        padding-inline: calc(var(--space-md) + var(--space-xs));
    }

    .section--partners .section-container .partners-list {
        gap: calc(var(--space-xl) + var(--space-sm));
        padding: var(--text-base) 0 calc(var(--space-3xl) * 2);
    }

    .partners-list .grid {
        grid-template-columns: repeat(1, 1fr);
        row-gap: var(--space-2xl);
    }

    .partner {
        grid-column: 1;
    }

    .partner figure {
        padding-bottom: 0;
        border-bottom: unset;
    }

    .partner div,
    .partner img {
        margin-inline: 0;
    }

    .partner h4 {
        margin-block: var(--space-xl) var(--text-base);
    }

    .partners-list .partner:last-child:nth-child(4n+1)>div {
        max-width: unset;
    }


    /* FORMS */

    .section--newsletter .wp-block-column:first-of-type figure {
        margin-block: var(--space-lg);
    }

    .section--newsletter form {
        gap: var(--space-xl) var(--space-md);
        margin-bottom: calc(var(--space-xl) * -1);
    }

    .zcwf_col_fld input[type="text"] {
        padding-bottom: var(--space-sm);
    }

    .zcwf_row.grid,
    .custom-checkbox button {
        display: flex;
        flex-direction: column;
    }

    .zcwf_row.grid,
    .custom-checkbox button {
        gap: var(--space-md);
    }

    .zcwf_row:nth-last-child(1 of .zcwf_row) {
        margin-block: unset;
    }

    .binary-choice__options {
        gap: calc(var(--space-xl) + var(--space-xs));
    }

    .binary-choice button {
        gap: calc(var(--space-sm) + var(--space-xs));
    }

    .custom-checkbox button {
        align-items: flex-start;
    }

    .custom-checkbox .box {
        order: 2;
    }

    /* Header ——————————————————————————————————————— */

    .nav {
        display: flex;
        gap: calc(var(--space-md) + var(--space-xs));
    }

    .header-container--bottom {
        left: calc(var(--space-md) + var(--space-xs));
        bottom: var(--space-sm);
    }

    /* Footer ——————————————————————————————————————— */

    .footer-wrapper {
        padding-block: calc(var(--space-lg) + var(--space-xs)) calc(var(--space-sm) + var(--space-xs));
    }

    .footer-body .grid--2 {
        grid-template-columns: 1fr;
    }

    .footer-body> :first-child {
        /* padding-bottom: calc(var(--space-3xl) * 2 + var(--space-xl)); */
        /* gap: calc(var(--space-3xl) + var(--space-sm)); */
        padding-bottom: var(--space-3xl);
        gap: var(--space-xl);
        flex-direction: column;
    }

    .footer-body :first-child .footer-container:first-of-type {
        display: flex;
        flex-direction: column;
    }

    .footer-body> :first-child>.footer-container:last-of-type * {
        line-height: var(--leading-relaxed);
    }

    .footer-body> :first-child>.footer-container:first-of-type ul:last-of-type {
        flex-wrap: wrap;
    }

    .footer-container--route {
        justify-content: flex-start;
    }

    .footer-container--route svg {
        width: 100%;
    }

    .footer-logo {
        margin-bottom: calc(var(--space-xl) + var(--space-sm));
    }

    .footer__newsletter {
        display: none;
    }

    .footer .legal-container {
        gap: var(--space-xs);
    }

    .footer .legal-container__legal {
        padding-top: 0;
        display: flex;
        justify-content: space-between;
    }

    .footer .legal-container__legal ul {
        display: flex;
        gap: var(--space-xl);
    }

    .footer .legal-container__legal p:last-child {
        display: none;
    }

    .footer-body .footer-instagram {
        padding-top: 0;
    }


    /* HEADER */

    .header {
        font-size: var(--text-sm);
        box-shadow: var(--shadow);
    }


    /* COOKIEYES */

    .cky-consent-container {
        width: calc(100% - calc(var(--space-md) * 2 + var(--space-xs) * 2)) !important;
        bottom: calc(var(--space-md) + var(--space-xs)) !important;
        left: calc(var(--space-md) + var(--space-xs)) !important;
    }

    .cky-consent-container .cky-notice-btn-wrapper {
        margin-top: calc(var(--space-md) + var(--space-xs));
    }


    /* MAP — EVENTS LIST */

    .section--map .grid {
        grid-template-columns: 1fr;
    }

    .map-container {
        grid-row: 1;
    }

    .events>h2 {
        display: none;
    }

    .site-main .section--map .events .events__group .events__group__list {
        display: flex;
        flex-direction: column;
        row-gap: 0;
        padding-block: 0;
    }

    .events__group {
        padding-block: calc(var(--space-md) + var(--space-xs) / 2) 0;
    }

    .events__group__title {
        margin-bottom: var(--space-sm);
    }

    .events__group__item {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-rows: auto auto;
        grid-template-areas:
            "title title title"
            "pills date  cta";
    }

    .events__group__item>* {
        padding: 0 0 var(--text-base) 0;
    }

    .events__group__item>*:not(:last-child) {
        padding-right: 0;
    }

    .events__group__item__title {
        grid-area: title;
        border-bottom: unset;
    }

    .events__group__item+.events__group__item .events__group__item__title {
        margin-top: var(--text-base);
    }

    .events__group__item__pills {
        grid-area: pills;
    }

    .events__group__item__date {
        grid-area: date;
        justify-content: center;
    }
}

/* @media (max-width: 480px) {
    .section--hero .title__meta--mobile li+li:nth-of-type(5)::before {
        content: none;
    }
} */