/* Wydarzenia WL – style frontendu */

/* --- Slajder --- */
.wlev-slider {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: #111;
}

.wlev-slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 1s ease-in-out;
	display: block;
}

.wlev-slide.is-active {
	opacity: 1;
}

.wlev-slide-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wlev-empty-pattern-slide {
	background-repeat: repeat;
	background-position: center;
	background-size: clamp( 180px, 24vw, 360px ) auto;
}

.wlev-slider-empty-pattern,
.wlev-hero-empty-pattern {
	background-color: #111;
}

/* Slajder strony głównej z podpisem */
.wlev-home-slider .wlev-home-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.5rem 2rem;
	color: #fff;
	background: linear-gradient( to top, rgba( 0, 0, 0, 0.65 ), rgba( 0, 0, 0, 0 ) );
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.wlev-home-title {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
}

.wlev-home-text {
	font-size: 1rem;
	opacity: 0.9;
}

/* --- Tytuł / Daty --- */
.wlev-title {
	margin: 0 0 0.5em;
}

/* Tytuły wydarzeń: bez dzielenia/łamania wyrazów na desktopie i mobile.
   Zawijanie następuje tylko między wyrazami (na spacjach); pojedyncze słowo
   nigdy nie jest przenoszone z myślnikiem ani cięte w środku. Nadpisuje
   ewentualną hyphenację narzucaną przez motyw (stąd !important).
   -webkit-hyphens dla Safari/iOS. */
.wlev-title,
.wp-block-wl-events-title {
	-webkit-hyphens: none !important;
	hyphens: none !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}


.wlev-dates {
	font-size: 1.05rem;
}

.wlev-dates-label {
	font-weight: 600;
}

/* --- Miejsce --- */
.wlev-place {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	line-height: 1.5;
	margin-top: 32px;
}

.wlev-place-name {
	font-size: 1.1rem;
}

.wlev-place a {
	text-decoration: none;
}

/* --- Artyści --- */
.wlev-artists {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.wlev-artist {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	line-height: 1.35;
}

.wlev-artist-name {
	font-weight: 600;
}

.wlev-artist-link {
	text-decoration: none;
}

.wlev-artist-link:hover,
.wlev-artist-link:focus-visible {
	color: #fff;
}

.wlev-artist-role {
	color: #555;
	font-size: 0.95em;
}

.wlev-person-separator {
	font-weight: 600;
	padding: 0 0.25em;
}

/* --- Realizatorzy --- */
.wlev-credits-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.wlev-credit {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: baseline;
	line-height: 1.35;
}

.wlev-credit-name {
	font-weight: 600;
}

.wlev-realizer-link {
	text-decoration: none;
}

.wlev-credit-role {
	color: #555;
	font-size: 0.95em;
}

/* --- Plakat --- */
.wlev-poster {
	margin: 0;
}

.wlev-poster-img {
	max-width: 100%;
	height: auto;
	display: block;
}


/* --- Bilety --- */
.wlev-tickets {
	margin: 0;
}

.wlev-ticket-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

/* --- Galeria zdjęć wydarzenia --- */


/* --- Placeholder slotu (edytor / brak danych) --- */
.wlev-block-empty {
	padding: 1em;
	border: 1px dashed #c3c4c7;
	color: #646970;
	border-radius: 4px;
}

@media ( max-width: 600px ) {
	.wlev-slider {
		aspect-ratio: 4 / 3;
	}
}

/* --- Hero wydarzenia: slajder jako kontener na sloty --- */
.wlev-event-hero {
	position: relative;
	width: 100%;
	aspect-ratio: auto;
	min-height: 80vh;
	overflow: hidden;
	background: #111;
	color: #fff;
}

/*
 * W motywach z ograniczonym kontenerem treści blok hero musi wyjść poza
 * szerokość content-area i wypełnić cały viewport.
 */
.wlev-event-hero.wlev-hero-full-bleed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc( 50% - 50vw );
	margin-right: calc( 50% - 50vw );
}

body.admin-bar .wlev-event-hero.wlev-hero-height-full {
	min-height: calc( 100vh - 32px );
}

@media ( max-width: 782px ) {
	body.admin-bar .wlev-event-hero.wlev-hero-height-full {
		min-height: calc( 100vh - 46px );
	}
}

.wlev-event-hero.wlev-hero-height-full {
	min-height: 100vh;
}

.wlev-event-hero.wlev-hero-height-80 {
	min-height: 80vh;
}

.wlev-event-hero.wlev-hero-height-70 {
	min-height: 70vh;
}

.wlev-event-hero.wlev-hero-height-60 {
	min-height: 60vh;
}

.wlev-hero-slides,
.wlev-event-hero .wlev-slide,
.wlev-hero-overlay {
	position: absolute;
	inset: 0;
}

.wlev-event-hero .wlev-slide {
	z-index: 1;
}

.wlev-hero-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.wlev-hero-overlay {
	z-index: 2;
	pointer-events: none;
	background: rgba( 0, 0, 0, 0.3 );
}

.wlev-hero-overlay-0 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0 ); }
.wlev-hero-overlay-10 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.1 ); }
.wlev-hero-overlay-20 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.2 ); }
.wlev-hero-overlay-30 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.3 ); }
.wlev-hero-overlay-40 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.4 ); }
.wlev-hero-overlay-50 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.5 ); }
.wlev-hero-overlay-60 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.6 ); }
.wlev-hero-overlay-70 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.7 ); }
.wlev-hero-overlay-80 .wlev-hero-overlay { background: rgba( 0, 0, 0, 0.8 ); }

.wlev-hero-inner {
	position: relative;
	z-index: 3;
	min-height: inherit;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp( 2rem, 7vw, 7rem );
	box-sizing: border-box;
}

.wlev-event-hero .wlev-title,
.wlev-event-hero .wlev-description,
.wlev-event-hero .wlev-dates,
.wlev-event-hero .wlev-place,
.wlev-event-hero .wlev-artists,
.wlev-event-hero .wlev-credits-list {
	color: inherit;
}

.wlev-event-hero .wlev-title {
	font-size: clamp( 3.2rem, 5.6vw, 6rem );
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}

@media ( max-width: 700px ) {
	.wlev-event-hero .wlev-title {
		font-size: clamp( 2.45rem, 12vw, 4.25rem );
	}
}

.wlev-slider-dots {
	display: flex;
	gap: 0.45rem;
	align-items: center;
}

.wlev-slider-dots-built-in {
	position: absolute;
	z-index: 4;
	left: 50%;
	bottom: 2rem;
	transform: translateX( -50% );
}

.wlev-slider-dots-slot {
	position: relative;
	z-index: 4;
}

.wlev-slider-dot {
	width: 0.55rem;
	height: 0.55rem;
	border-radius: 999px;
	border: 1px solid currentColor;
	background: transparent;
	color: #fff;
	padding: 0;
	cursor: pointer;
	opacity: 0.9;
}

.wlev-slider-dot.is-active {
	background: currentColor;
}

/* Podgląd kontenera w edytorze bloków. */
.wlev-event-hero-editor {
	position: relative;
	min-height: 520px;
	background: #222;
	color: #fff;
	overflow: hidden;
}

.wlev-event-hero-editor .wlev-hero-editor-bg {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient( 135deg, #333, #777 );
}

.wlev-event-hero-editor .wlev-hero-editor-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba( 0, 0, 0, 0.3 );
}

.wlev-event-hero-editor .wlev-hero-inner {
	position: relative;
	z-index: 2;
}

@media ( max-width: 600px ) {
	.wlev-event-hero,
	.wlev-event-hero.wlev-hero-height-full,
	.wlev-event-hero.wlev-hero-height-80,
	.wlev-event-hero.wlev-hero-height-70,
	.wlev-event-hero.wlev-hero-height-60 {
		min-height: 70vh;
	}

	.wlev-hero-inner {
		padding: 2rem;
	}
}

/* --- Strona wydarzenia renderowana ze strony-szablonu --- */
.wlev-template-content {
	width: 100%;
}

.wlev-template-content > :not(.alignfull):not(.wlev-event-hero) {
	max-width: var(--wlev-template-content-width, 1180px);
	margin-left: auto;
	margin-right: auto;
}

.wlev-template-content > .alignwide {
	max-width: var(--wlev-template-wide-width, 1320px);
}

.wlev-template-content > .alignfull,
.wlev-template-content > .wlev-event-hero.wlev-hero-full-bleed {
	max-width: none;
}


/* --- Dopasowanie renderu strony-szablonu do kontekstu strony WP --- */
.wlev-template-article {
	margin: 0;
}

.wlev-event-template .wlev-template-article > .entry-content {
	margin-top: 0;
}


/* --- Grid wydarzeń: aktualne / archiwalne --- */
.wlev-event-grid-block {
	--wlev-event-grid-gap: clamp( 1.5rem, 3vw, 3rem );
	--wlev-event-grid-image-ratio: 16 / 10;
}

.wlev-event-grid-tabs {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: clamp( 1.25rem, 2.5vw, 2.5rem );
	margin: 0 0 clamp( 1.5rem, 3vw, 2.75rem );
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.wlev-event-grid-tab {
	appearance: none;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: 500;
	text-transform: inherit;
	letter-spacing: inherit;
	padding: 0;
	cursor: pointer;
	opacity: 0.72;
}

.wlev-event-grid-tab:hover,
.wlev-event-grid-tab:focus-visible,
.wlev-event-grid-tab.is-active {
	color: #F17D58;
	opacity: 1;
	text-decoration: none;
}

.wlev-event-grid-tab.is-active {
	font-weight: 800;
}

.wlev-event-grid-panel[hidden] {
	display: none !important;
}

.wlev-event-grid-list {
	display: grid;
	margin-top: 0.75rem;
	gap: var( --wlev-event-grid-gap );
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
}

.wlev-event-grid-cols-1 { grid-template-columns: minmax( 0, 1fr ); }
.wlev-event-grid-cols-2 { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
.wlev-event-grid-cols-3 { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
.wlev-event-grid-cols-4 { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }

.wlev-event-grid-card {
	position: relative;
	margin: 0;
	min-width: 0;
	border-left: 1px solid #fff;
	transition: border-color 0.25s ease;
}

.wlev-event-grid-card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.wlev-event-grid-card-media {
	position: relative;
	margin: 0 0 clamp( 1rem, 1.8vw, 1.75rem );
	aspect-ratio: var( --wlev-event-grid-image-ratio );
	overflow: hidden;
	background: rgba( 255, 255, 255, 0.06 );
}

.wlev-event-grid-card-img,
.wlev-event-grid-card-noimg {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s cubic-bezier( 0.22, 1, 0.36, 1 ), filter 0.35s ease, opacity 0.35s ease;
}

.wlev-event-grid-images-mono .wlev-event-grid-card-img {
	filter: grayscale( 1 ) contrast( 1.05 ) brightness( 0.72 );
	opacity: 0.82;
}

.wlev-event-grid-card-link:hover .wlev-event-grid-card-img,
.wlev-event-grid-card-link:focus-visible .wlev-event-grid-card-img {
	transform: scale( 1.045 );
	filter: grayscale( 0 ) contrast( 1.04 ) brightness( 0.92 );
	opacity: 1;
}

.wlev-event-grid-images-color .wlev-event-grid-card-img {
	filter: none;
	opacity: 1;
}

.wlev-event-grid-card-title {
	margin: auto 0 0 12px;
	font-size: 20pt;
	font-family: var( --theme-font-family );
	line-height: 0.9;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	font-weight: 900;
	text-wrap: balance;
	transition: color 0.25s ease;
	margin-block-end: 0 !important;
}

.wlev-event-grid-card:hover,
.wlev-event-grid-card:focus-within {
	border-left-color: #F17D58;
}

.wlev-event-grid-card:hover .wlev-event-grid-card-title,
.wlev-event-grid-card:focus-within .wlev-event-grid-card-title {
	color: #F17D58;
}

.wlev-event-grid-empty {
	margin: 0;
	opacity: 0.75;
}

@media ( max-width: 900px ) {
	.wlev-event-grid-list,
	.wlev-event-grid-cols-3,
	.wlev-event-grid-cols-4 {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 600px ) {
	.wlev-event-grid-tabs {
		justify-content: flex-start;
	}

	.wlev-event-grid-list,
	.wlev-event-grid-cols-2,
	.wlev-event-grid-cols-3,
	.wlev-event-grid-cols-4 {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* WL Events 1.1.31: keep event-grid title flush to the bottom, overriding theme heading margins. */
.wlev-event-grid .wlev-event-grid-card-link > .wlev-event-grid-card-title,
.wlev-event-grid :is(h1,h2,h3,h4,h5,h6).wlev-event-grid-card-title {
	display: block;
	margin-block-start: auto !important;
	margin-block-end: 0 !important;
	margin-inline-start: 12px !important;
	margin-inline-end: 0 !important;
	margin-bottom: 0 !important;
}


/* ============================================
   WL Events: Terminarz wydarzenia
   ============================================ */

.wlev-schedule {
    --wlev-schedule-accent: #F17D58;
    --wlev-schedule-line: currentColor;
    --wlev-schedule-muted: rgba(255, 255, 255, 0.72);
    color: inherit;
    font-size: 1rem;
    text-transform: uppercase;
}

.wlev-schedule-title,
.wlev-slot-title,
.wlev-partner-group-title {
    margin: 0 0 1rem !important;
    font-family: var(--theme-font-family);
    font-size: var(--font-size-base);
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
    margin-block-end: 4px !important;
    border-bottom: 2px solid #fff;
    padding-bottom: 0.5rem;
}


.wlev-slot {
    color: inherit;
}

.wlev-slot .wlev-artists,
.wlev-slot .wlev-credits-list {
    margin-top: 0.75rem;
}

.wlev-description-slot .wlev-description,
.wlev-gallery-slot .wlev-photo-gallery {
    margin-top: 0.75rem;
}

.wlev-schedule-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.wlev-schedule-row {
    display: grid;
    grid-template-columns: minmax(8.5rem, 1.2fr) minmax(7rem, 0.9fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 0.85rem 0;
    border-bottom: 1px solid #424242;
}

.wlev-schedule-date {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.75rem;
    align-items: baseline;
    min-width: 0;
}

.wlev-schedule-date-main {
    font-family: var(--theme-font-family);
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
}

.wlev-schedule-weekday,
.wlev-schedule-time {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.35;
}

.wlev-schedule-weekday {
    color: var(--wlev-schedule-muted);
}

.wlev-schedule-time {
    justify-self: start;
}

.wlev-schedule-ticket {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    justify-self: end;
    color: inherit;
    font-family: var(--theme-font-family);
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    transition: color 0.25s ease, opacity 0.25s ease;
}

.wlev-schedule-ticket:hover,
.wlev-schedule-ticket:focus-visible {
    color: var(--wlev-schedule-accent);
    opacity: 1;
}

.wlev-schedule-ticket-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.05em;
    font-size: 0.8em;
    line-height: 1;
}

@media (max-width: 782px) {
    .wlev-schedule-row {
        grid-template-columns: 1fr;
        gap: 0.4rem;
        padding: 0.85rem 0;
    }

    .wlev-schedule-date {
        gap: 0.35rem 0.75rem;
    }

    .wlev-schedule-time,
    .wlev-schedule-ticket {
        justify-self: start;
        margin-left: 0;
    }

    .wlev-schedule-ticket {
        margin-top: 0.15rem;
    }
}

/* --- Mobile readability for person lists --- */
.wlev-artists .wlev-artist,
.wlev-credits-list .wlev-credit {
	line-height: 1.2 !important;
}

.wlev-artists .wlev-artist-name,
.wlev-artists .wlev-artist-role,
.wlev-credits-list .wlev-credit-name,
.wlev-credits-list .wlev-credit-role,
.wlev-artists .wlev-person-separator,
.wlev-credits-list .wlev-person-separator {
	line-height: inherit;
}

@media (max-width: 689px) {
	.wlev-artists,
	.wlev-credits-list {
		gap: 0.35rem;
	}

	.wlev-artists .wlev-artist,
	.wlev-credits-list .wlev-credit {
		display: block;
		line-height: 1.18 !important;
		margin-bottom: 0.18rem;
	}

	.wlev-artists .wlev-artist-role,
	.wlev-credits-list .wlev-credit-role {
		font-size: 0.9em;
	}
}

/* ============================================
   WL Events: tablet readability for schedule and person slots
   ============================================ */

@media (max-width: 1100px) {
    .wlev-schedule-row {
        grid-template-columns: 1fr;
        gap: 0.35rem;
        align-items: start;
    }

    .wlev-schedule-date {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem 0.55rem;
    }

    .wlev-schedule-date-main,
    .wlev-schedule-weekday,
    .wlev-schedule-time,
    .wlev-schedule-ticket {
        font-size: 0.95rem;
        line-height: 1.25;
    }

    .wlev-schedule-time,
    .wlev-schedule-ticket {
        justify-self: start;
        margin-left: 0;
    }

    .wlev-schedule-ticket {
        margin-top: 0.1rem;
    }

    .wlev-artists,
    .wlev-credits-list {
        gap: 0.36rem;
    }

    .wlev-artists .wlev-artist,
    .wlev-credits-list .wlev-credit {
        display: block;
        line-height: 1.18 !important;
        margin-bottom: 0.18rem;
    }

    .wlev-artists .wlev-artist-role,
    .wlev-credits-list .wlev-credit-role {
        font-size: 0.9em;
    }

    .wlev-artists .wlev-person-separator,
    .wlev-credits-list .wlev-person-separator {
        padding: 0 0.18em;
    }
}

@media (min-width: 1101px) {
    .wlev-artists .wlev-artist,
    .wlev-credits-list .wlev-credit {
        display: flex;
    }
}

/* ============================================
   WL Events: native tag archive cards
   ============================================ */

.wlev-tag-archive {
    background: var(--theme-palette-color-4, #141414);
    color: var(--theme-palette-color-3, #fff);
}

.wlev-tag-archive-container {
    padding-top: clamp(42px, 6vw, 84px);
    padding-bottom: clamp(56px, 7vw, 120px);
}

.wlev-tag-archive-title {
    margin: 0 0 clamp(28px, 4vw, 52px) !important;
    color: inherit;
    font-family: var(--theme-font-family);
    font-size: 1.65rem;
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
}

.wlev-tag-archive-grid {
    display: block;
}

.wlev-tag-archive-card {
    display: block;
    min-height: 0;
    padding: 1.35rem 0 1.45rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.82);
    background: transparent;
    color: inherit;
}

.wlev-tag-archive-card:first-child {
    padding-top: 0;
}

.wlev-tag-archive-card-category {
    margin: 0 0 0.8rem;
    color: inherit;
    font-family: var(--theme-font-family);
    font-size: var(--font-size-base, 1rem);
    font-weight: 900;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
}

.wlev-tag-archive-card-title {
    margin: 0 !important;
    color: inherit;
    font-family: var(--theme-font-family);
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.12;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
    text-wrap: balance;
}

.wlev-tag-archive-card-title a {
    color: inherit;
    text-decoration: none;
}

.wlev-tag-archive-card-title a:hover,
.wlev-tag-archive-card-title a:focus-visible {
    color: #F17D58;
}

.wlev-tag-archive-card-dates {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.85rem;
    margin-top: 1rem;
    color: currentColor;
    font-family: var(--theme-font-family);
    font-size: var(--font-size-base, 1rem);
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
}

.wlev-tag-archive-card-dates span:not(:last-child)::after {
    content: "/";
    margin-left: 0.85rem;
    color: #F17D58;
}

.wlev-tag-archive-empty {
    font-size: var(--font-size-base, 1rem);
}

@media (max-width: 782px) {
    .wlev-tag-archive-title {
        font-size: 1.45rem;
    }

    .wlev-tag-archive-card {
        padding: 1.15rem 0 1.25rem;
    }

    .wlev-tag-archive-card-title {
        font-size: 1.2rem;
        line-height: 1.15;
    }

    .wlev-tag-archive-card-dates {
        display: block;
    }

    .wlev-tag-archive-card-dates span {
        display: block;
    }

    .wlev-tag-archive-card-dates span:not(:last-child)::after {
        content: "";
        margin: 0;
    }
}

/* WL Events 1.1.57: event grid cards use first slider thumbnail; fallback is repeated empty pattern. */
.wlev-event-grid-card-pattern {
	background-color: rgba(255,255,255,0.06);
	background-repeat: repeat;
	background-position: center;
	background-size: clamp(120px, 16vw, 220px) auto;
}

.wlev-event-grid-card-link:hover .wlev-event-grid-card-pattern,
.wlev-event-grid-card-link:focus-visible .wlev-event-grid-card-pattern {
	transform: scale(1.045);
}


/* 1.1.65 — Slot Relacja */
.wlev-relations-slot {
	width: 100%;
}

.wlev-relations {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.25rem, 3vw, 3rem);
    margin-top: 0.75rem;
}

.wlev-relation {
	min-width: 0;
}

.wlev-relation-content {
    font-size: var(--font-size-base, 1rem);
    line-height: 1.55;
    text-align: justify;
}

.wlev-relation-content > *:last-child {
	margin-bottom: 0;
}

.wlev-relation-author {
	margin-top: 0.85rem;
	font-family: var(--theme-font-family);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.025rem;
	text-align: right;
}

@media (max-width: 689.98px) {
	.wlev-relations {
		grid-template-columns: 1fr;
		row-gap: 1rem;
	}

	.wlev-relation-content {
		text-align: left;
	}
}

/* 1.1.66 — Slot Partnerzy */
.wlev-partners-slot {
	width: 100%;
}

.wlev-partner-group-section {
	margin: 0 0 clamp(2rem, 4vw, 4rem);
}

.wlev-partner-group-section:last-child {
	margin-bottom: 0;
}


.wlev-partners-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: clamp(1.5rem, 3vw, 3.5rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.wlev-partner-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.wlev-partner-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.wlev-partner-link:hover,
.wlev-partner-link:focus-visible {
	opacity: 0.75;
	transform: translateY(-1px);
}

.wlev-partner-logo,
.wlev-partner-logo-img {
	display: block;
}

.wlev-partner-logo-img {
	width: auto;
	max-width: clamp(86px, 10vw, 150px);
	max-height: clamp(54px, 7vw, 100px);
	object-fit: contain;
}

.wlev-partner-logo-fallback {
	display: inline-block;
	max-width: 12rem;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

@media (max-width: 689.98px) {
	.wlev-partners-list {
		gap: 1.25rem 2rem;
	}

	.wlev-partner-logo-img {
		max-width: 112px;
		max-height: 78px;
	}
}

/* 1.1.71 — WL: Kalendarium */
.wlev-calendar {
	--wlev-calendar-accent: #F17D58;
	--wlev-calendar-line: rgba(255, 255, 255, 0.42);
	--wlev-calendar-muted: rgba(255, 255, 255, 0.82);
	color: inherit;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	letter-spacing: 0.025rem;
	text-transform: uppercase;
}

.wlev-calendar-head {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wlev-calendar-line);
}

.wlev-calendar-title {
	margin: 0 !important;
	color: inherit;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.025rem;
	text-align: center;
	text-transform: uppercase;
}

.wlev-calendar-month-nav {
	color: inherit;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 900;
	line-height: 1.1;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s ease;
}

.wlev-calendar-month-nav:hover,
.wlev-calendar-month-nav:focus-visible {
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-next {
	text-align: right;
}

.wlev-calendar-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.wlev-calendar-row {
	display: grid;
	grid-template-columns: minmax(7rem, 0.85fr) minmax(4.5rem, 0.55fr) minmax(8rem, 0.9fr) minmax(14rem, 2.1fr) minmax(7rem, 0.75fr) minmax(4.5rem, 0.55fr) minmax(6rem, 0.7fr);
	gap: 1.2rem;
	align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid var(--wlev-calendar-line);
}

.wlev-calendar-date,
.wlev-calendar-time,
.wlev-calendar-place,
.wlev-calendar-info,
.wlev-calendar-capacity,
.wlev-calendar-ticket {
	color: inherit;
	font-size: var(--font-size-base, 1rem);
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

.wlev-calendar-event-title {
	color: var(--wlev-calendar-accent);
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 900;
	line-height: 1.18;
	text-decoration: none;
	text-wrap: balance;
	transition: color 0.25s ease;
}

.wlev-calendar-event-title:hover,
.wlev-calendar-event-title:focus-visible {
	color: inherit;
}

.wlev-calendar-info,
.wlev-calendar-ticket {
	text-decoration: none;
	font-weight: 700;
	transition: color 0.25s ease;
}

.wlev-calendar-info {
	font-size: 0.86rem;
	justify-self: start;
}

.wlev-calendar-ticket {
	justify-self: end;
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-ticket-info {
	color: inherit;
}

.wlev-calendar-info:hover,
.wlev-calendar-info:focus-visible {
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-ticket:hover,
.wlev-calendar-ticket:focus-visible {
	color: #fff;
}

.wlev-calendar-capacity {
	justify-self: center;
}

.wlev-calendar-empty {
	padding: 1rem 0;
	border-bottom: 1px solid var(--wlev-calendar-line);
	font-size: var(--font-size-base, 1rem);
}

@media (max-width: 1180px) {
	.wlev-calendar-row {
		grid-template-columns: 7rem 4.5rem minmax(0, 1fr) 7rem;
		gap: 0.75rem 1rem;
	}

	.wlev-calendar-place {
		display: none;
	}

	.wlev-calendar-event-title {
		grid-column: 3 / 4;
	}

	.wlev-calendar-info {
		grid-column: 3 / 4;
		font-size: 0.82rem;
	}

	.wlev-calendar-capacity {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
		justify-self: end;
	}

	.wlev-calendar-ticket {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
		justify-self: end;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-head {
		grid-template-columns: 1fr;
		gap: 0.6rem;
		text-align: left;
	}

	.wlev-calendar-title,
	.wlev-calendar-next {
		text-align: left;
	}

	.wlev-calendar-row {
		grid-template-columns: 1fr;
		gap: 0.45rem;
		align-items: start;
		padding: 1rem 0;
	}

	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-info,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		grid-column: auto;
		grid-row: auto;
		justify-self: start;
		white-space: normal;
	}

	.wlev-calendar-place {
		display: inline;
	}

	/* Smartfon: lista kalendarium wyraźnie większa niż dawne 1.08/1.14rem. */
	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-info,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket {
		font-size: 1.25rem;
	}

	.wlev-calendar-event-title {
		font-size: 1.45rem;
	}
}

/* 1.1.72 — tytuł slotu miejsca i odstępy tagów */
.wlev-place-content {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.wlev-core-post-terms--post_tag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.45rem;
}

.wlev-core-post-terms--post_tag a {
	border: 1px solid #fff;
	padding: 4px 8px;
	color: #fff;
	text-transform: uppercase;
	font-size: 1rem;
	line-height: 1.15;
	text-decoration: none;
}

.wlev-core-post-terms--post_tag a:hover,
.wlev-core-post-terms--post_tag a:focus-visible {
	color: #f17d58;
	border-color: #f17d58;
}

/* 1.1.74 — dopracowanie kalendarium: zawijanie tytułów, ceny z terminu, puste akcje */
.wlev-calendar-row > * {
	min-width: 0;
}

.wlev-calendar-place {
	white-space: normal;
	overflow-wrap: anywhere;
}

.wlev-calendar-event-title {
	display: block;
	min-width: 0;
	max-width: 100%;
	white-space: normal;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.wlev-calendar-ticket-empty {
	pointer-events: none;
}

@media (max-width: 782px) {
	.wlev-calendar-ticket-empty,
	.wlev-calendar-capacity:empty {
		display: none;
	}
}

/* Kalendarium: dynamiczne przeładowanie miesiąca. */
.wlev-calendar.is-loading {
    opacity: 0.55;
    pointer-events: none;
    transition: opacity 0.18s ease;
}

/* 1.1.76 — kalendarium: szybka nawigacja miesięcy i poziomy slider miesięcy z wydarzeniami. */
.wlev-calendar-month-strip {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.75rem;
	padding: 0.8rem 0 0.4rem;
}

.wlev-calendar-month-strip-track {
	display: flex;
	gap: 0.5rem;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.wlev-calendar-month-strip-track::-webkit-scrollbar {
	display: none;
}

.wlev-calendar-month-item {
	flex: 0 0 auto;
	border: 1px solid var(--wlev-calendar-line);
	padding: 0.45rem 0.75rem;
	color: inherit;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.025rem;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.wlev-calendar-month-item:hover,
.wlev-calendar-month-item:focus-visible,
.wlev-calendar-month-item.is-active {
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-active {
	background-color: rgba(241, 125, 88, 0.08);
}

.wlev-calendar-month-strip-arrow {
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 0;
	appearance: none;
	background: transparent;
	color: inherit;
	font-family: var(--theme-font-family);
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
	transition: color 0.2s ease;
}

.wlev-calendar-month-strip-arrow:hover,
.wlev-calendar-month-strip-arrow:focus-visible {
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-row {
	grid-template-columns: minmax(8rem, 0.9fr) minmax(4.5rem, 0.5fr) minmax(8rem, 0.85fr) minmax(12rem, 2.3fr) minmax(7rem, 0.75fr) minmax(4.5rem, 0.55fr) minmax(6rem, 0.7fr);
}

.wlev-calendar-event-title {
	word-break: normal;
	overflow-wrap: break-word;
}

@media (max-width: 782px) {
	.wlev-calendar-month-strip {
		gap: 0.5rem;
	}

	.wlev-calendar-month-item {
		padding: 0.4rem 0.65rem;
		font-size: 0.9rem;
	}
}

/* 1.1.77 — kalendarium: wycentrowany slider miesięcy i stabilniejsze kolumny. */
.wlev-calendar-month-strip {
	grid-template-columns: 2rem minmax(0, 1fr) 2rem;
}

.wlev-calendar-month-strip-track {
	justify-content: center;
	text-align: center;
}

.wlev-calendar-nav-slot {
	min-width: 0;
}

.wlev-calendar-nav-slot-next {
	text-align: right;
}

.wlev-calendar-capacity {
	text-align: center;
}

.wlev-calendar-row {
	grid-template-columns: minmax(8rem, 0.9fr) minmax(4.5rem, 0.5fr) minmax(8rem, 0.85fr) minmax(12rem, 2.2fr) minmax(7rem, 0.75fr) minmax(5.25rem, 0.6fr) minmax(6rem, 0.7fr);
}

@media (max-width: 782px) {
	.wlev-calendar-month-strip-track {
		justify-content: flex-start;
	}
}

/* 1.1.78 — kalendarium: aktywny miesiąc optycznie w środku, większy oddech i zanikanie krawędzi slidera. */
.wlev-calendar-month-strip {
	padding: 1.35rem 0 1.25rem;
}

.wlev-calendar-month-strip-track {
	justify-content: flex-start;
	padding-inline: var(--wlev-calendar-month-side-padding, 0px);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 2.25rem, #000 calc(100% - 2.25rem), transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 2.25rem, #000 calc(100% - 2.25rem), transparent 100%);
	scroll-padding-inline: var(--wlev-calendar-month-side-padding, 0px);
}

.wlev-calendar-month-item.is-active {
	position: relative;
	z-index: 1;
}

@media (max-width: 782px) {
	.wlev-calendar-month-strip {
		padding: 1rem 0 1rem;
	}

	.wlev-calendar-month-strip-track {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 1.5rem, #000 calc(100% - 1.5rem), transparent 100%);
	}
}

/* 1.1.84 — Kalendarium: poprawiona responsywność od 1180px w dół.
   Ten blok jest celowo na końcu pliku, żeby nadpisać wcześniejsze reguły bazowe dodane po media queries. */
@media (max-width: 1180px) {
	.wlev-calendar {
		overflow: hidden;
	}

	.wlev-calendar-head {
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
		gap: 0.75rem;
	}

	.wlev-calendar-month-strip {
		grid-template-columns: 1.75rem minmax(0, 1fr) 1.75rem;
		gap: 0.5rem;
		padding: 1.1rem 0 1rem;
	}

	.wlev-calendar-month-strip-track {
		min-width: 0;
	}

	.wlev-calendar-month-item {
		padding: 0.42rem 0.65rem;
		font-size: 0.92rem;
	}

	.wlev-calendar-row {
		grid-template-columns: minmax(7.25rem, 0.8fr) minmax(4.25rem, 0.45fr) minmax(9rem, 1fr) minmax(0, 2fr) minmax(5.5rem, 0.55fr);
		gap: 0.5rem 0.9rem;
		align-items: start;
		padding: 1rem 0;
	}

	.wlev-calendar-date {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.wlev-calendar-time {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.wlev-calendar-place {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
		display: block;
		white-space: normal;
	}

	.wlev-calendar-event-title {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
		white-space: normal;
		overflow-wrap: break-word;
		word-break: normal;
	}

	.wlev-calendar-info {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
		align-self: end;
		justify-self: start;
		font-size: 0.78rem;
	}

	.wlev-calendar-capacity {
		grid-column: 5 / 6;
		grid-row: 1 / 2;
		justify-self: end;
		text-align: right;
	}

	.wlev-calendar-ticket {
		grid-column: 5 / 6;
		grid-row: 2 / 3;
		justify-self: end;
		text-align: right;
	}
}

@media (max-width: 980px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(7rem, 0.85fr) minmax(4rem, 0.45fr) minmax(0, 1.9fr) minmax(5.25rem, 0.55fr);
	}

	.wlev-calendar-place {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}

	.wlev-calendar-event-title {
		grid-column: 3 / 4;
		grid-row: 2 / 3;
	}

	.wlev-calendar-info {
		grid-column: 3 / 4;
		grid-row: 3 / 4;
	}

	.wlev-calendar-capacity {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 4 / 5;
		grid-row: 2 / 4;
		align-self: end;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-head {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.65rem;
		padding-bottom: 0.85rem;
		text-align: left;
	}

	.wlev-calendar-title,
	.wlev-calendar-next {
		text-align: left;
	}

	.wlev-calendar-month-strip {
		grid-template-columns: 1.5rem minmax(0, 1fr) 1.5rem;
		gap: 0.35rem;
		padding: 0.95rem 0 0.9rem;
	}

	.wlev-calendar-month-strip-arrow {
		width: 1.5rem;
		height: 1.5rem;
		font-size: 1.3rem;
	}

	.wlev-calendar-month-strip-track {
		padding-inline: 0 !important;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 1rem), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 1rem, #000 calc(100% - 1rem), transparent 100%);
	}

	.wlev-calendar-month-item {
		padding: 0.38rem 0.58rem;
		font-size: 0.86rem;
	}

	.wlev-calendar-row {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0.35rem;
		padding: 1.05rem 0;
	}

	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-info,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		grid-column: 1 / -1;
		grid-row: auto;
		justify-self: start;
		text-align: left;
		white-space: normal;
	}

	.wlev-calendar-date {
		font-weight: 900;
	}

	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-capacity {
		font-weight: 500;
	}

	.wlev-calendar-event-title {
		font-size: 1rem;
		line-height: 1.18;
	}

	.wlev-calendar-info {
		margin-top: 0.25rem;
	}

	.wlev-calendar-ticket {
		margin-top: 0.1rem;
	}

	.wlev-calendar-ticket-empty,
	.wlev-calendar-capacity:empty {
		display: none;
	}
}

@media (max-width: 480px) {
	.wlev-calendar-month-nav,
	.wlev-calendar-title,
	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		font-size: 0.94rem;
	}

	.wlev-calendar-info {
		font-size: 0.76rem;
	}
}

/* 1.1.85 — Kalendarium: poprawiony układ nagłówka na pionowych ekranach mobilnych.
   Najpierw tytuł KALENDARIUM, pod spodem poprzedni/następny miesiąc w jednym wierszu. */
@media (max-width: 782px) and (orientation: portrait) {
	.wlev-calendar-head {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"title title"
			"prev next";
		align-items: center;
		gap: 0.65rem 1rem;
		text-align: left;
	}

	.wlev-calendar-title {
		grid-area: title;
		text-align: left;
	}

	.wlev-calendar-nav-slot-prev {
		grid-area: prev;
		text-align: left;
	}

	.wlev-calendar-nav-slot-next {
		grid-area: next;
		text-align: right;
	}

	.wlev-calendar-month-nav {
		display: inline-flex;
		align-items: center;
		white-space: nowrap;
	}
}

/* -------------------------------------------------------------------------
   WL: Premiery / Zapowiedzi
   ---------------------------------------------------------------------- */
.wlev-promo-slider {
    --wlev-promo-gap: clamp(2rem, 6vw, 5rem);
    position: relative;
    color: inherit;
}

.wlev-promo-slider-header {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: clamp(2rem, 4vw, 3.5rem);
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #fff;
}


.wlev-promo-slider-title {
    margin: 0 !important;
    font-family: var(--theme-font-family);
    font-size: var(--font-size-base, 1rem);
    font-weight: 500;
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: 0.025rem;
}

.wlev-promo-slider-shell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(0.75rem, 2vw, 1.5rem);
}

.wlev-promo-slider-viewport {
    min-width: 0;
    overflow: hidden;
}

.wlev-promo-slider-track {
    display: flex;
    align-items: stretch;
    gap: var(--wlev-promo-gap);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    padding: 0.25rem 0 0.5rem;
}

.wlev-promo-slider-track::-webkit-scrollbar {
    display: none;
}

.wlev-promo-card {
    flex: 0 0 calc((100% - (var(--wlev-promo-gap) * 2)) / 3);
    min-width: 0;
    scroll-snap-align: start;
    display: flex;
    flex-direction: column;
    text-align: left;
    border-left: 1px solid #fff;
    transition: border-color 0.25s ease;
}

.wlev-promo-card:hover,
.wlev-promo-card:focus-within {
    border-left-color: #F17D58;
}

.wlev-promo-card-media {
    position: relative;
    display: block;
    width: min(100%, 360px);
    margin: 0 0 clamp(1rem, 1.8vw, 1.75rem);
    aspect-ratio: 4 / 5;
    text-decoration: none;
}


.wlev-promo-card-img,
.wlev-promo-card-pattern {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background-color: transparent;
}

.wlev-promo-card-pattern {
    background-repeat: repeat;
    background-position: center;
    background-size: clamp(120px, 18vw, 260px) auto;
}

.wlev-promo-card-title {
    margin: auto 0 0 12px !important;
    max-width: none;
    font-family: var(--theme-font-family);
    font-size: 20pt;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: 0.01em;
    text-align: left;
    text-transform: uppercase;
    text-wrap: balance;
}

.wlev-promo-card-title a {
    color: #f17d58;
    text-decoration: none;
}

.wlev-promo-card-title a:hover,
.wlev-promo-card-title a:focus-visible {
    color: #fff;
}

.wlev-promo-card-date {
    margin: 0.6rem 0 0 12px;
    font-size: var(--font-size-base, 1rem);
    line-height: 1.2;
}

.wlev-promo-card-button {
    align-self: flex-start;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0.9rem 0 0 12px;
    padding: 0.35rem 1.45rem;
    border: 2px solid #f17d58;
    color: #fff;
    font-family: var(--theme-font-family);
    font-weight: 900;
    line-height: 1.1;
    text-decoration: none;
    text-transform: uppercase;
}

.wlev-promo-card-button:hover,
.wlev-promo-card-button:focus-visible {
    background: #f17d58;
    color: #fff;
}

/* Trzyma tytuł zapowiedzi przy dolnej krawędzi i z wcięciem od bordera,
   nadpisując marginesy nagłówków narzucane przez motyw (jak w gridzie wydarzeń). */
.wlev-promo-slider :is(h1, h2, h3, h4, h5, h6).wlev-promo-card-title {
    display: block;
    margin-block-start: auto !important;
    margin-block-end: 0 !important;
    margin-inline-start: 12px !important;
    margin-inline-end: 0 !important;
}

.wlev-promo-slider-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: currentColor;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.wlev-promo-slider-arrow:disabled {
    opacity: 0.25;
    cursor: default;
}

.wlev-promo-slider-dots {
    display: flex;
    justify-content: center;
    gap: 0.45rem;
    margin-top: 1.25rem;
}

.wlev-promo-slider-dot {
    width: 0.55rem;
    height: 0.55rem;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 999px;
    background: transparent;
    color: currentColor;
    cursor: pointer;
}

.wlev-promo-slider-dot.is-active {
    background: currentColor;
}

@media (max-width: 1023.98px) {
    .wlev-promo-card {
        flex-basis: calc((100% - var(--wlev-promo-gap)) / 2);
    }
}

@media (max-width: 689.98px) {
    .wlev-promo-slider {
        --wlev-promo-gap: 1.25rem;
    }

    .wlev-promo-slider-header {
        margin-bottom: 1.5rem;
    }

    .wlev-promo-slider-shell {
        grid-template-columns: minmax(0, 1fr);
    }

    .wlev-promo-slider-prev,
    .wlev-promo-slider-next {
        position: absolute;
        top: 50%;
        z-index: 3;
        transform: translateY(-50%);
    }

    .wlev-promo-slider-prev {
        left: -0.75rem;
    }

    .wlev-promo-slider-next {
        right: -0.75rem;
    }

    .wlev-promo-card {
        flex-basis: 100%;
    }

    .wlev-promo-card-media {
        width: min(78vw, 320px);
    }
}

/* 1.1.91: Grid wydarzeń — linkowalne zakładki i dogrywanie kolejnych kart. */
.wlev-event-grid-tab {
	text-decoration: none;
	letter-spacing: 0.025rem;
}

.wlev-event-grid-tab:hover,
.wlev-event-grid-tab:focus-visible {
	color: #F17D58;
}

.wlev-event-grid-panel.is-loading-more .wlev-event-grid-sentinel::before {
	content: "";
	display: block;
	width: 1.6rem;
	height: 1.6rem;
	margin: 2rem auto 0;
	border: 2px solid rgba(255,255,255,.3);
	border-top-color: #fff;
	border-radius: 999px;
	animation: wlev-grid-spin .75s linear infinite;
}

.wlev-event-grid-sentinel {
	min-height: 1px;
	grid-column: 1 / -1;
}

.wlev-event-grid-load-more {
	display: block;
	margin: clamp(1.5rem, 3vw, 3rem) auto 0;
	padding: .65rem 1.2rem;
	border: 1px solid #fff;
	background: transparent;
	color: #fff;
	font-family: var(--theme-font-family);
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .025rem;
	cursor: pointer;
}

.wlev-event-grid-load-more:hover,
.wlev-event-grid-load-more:focus-visible {
	border-color: #F17D58;
	color: #F17D58;
}

@keyframes wlev-grid-spin {
	to { transform: rotate(360deg); }
}


/* 1.2.6 — Kalendarium: większy slider miesięcy, bez kolumny "więcej informacji" i stabilniejsze kolumny. */
.wlev-calendar-month-strip {
	grid-template-columns: 2.25rem minmax(0, 1fr) 2.25rem;
	gap: 0.75rem;
	padding: 1.25rem 0 1.4rem;
}

.wlev-calendar-month-strip-track {
	gap: 0.65rem;
}

.wlev-calendar-month-item {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45rem;
	min-height: 48px;
	padding: 0.65rem 0.9rem;
	border: 1px solid #fff;
	font-size: clamp(1.05rem, 1.35vw, 1.35rem);
	font-weight: 700;
	line-height: 1.1;
}

.wlev-calendar-month-count {
	color: var(--wlev-calendar-muted);
	font-size: 0.72em;
	font-weight: 700;
	line-height: 1;
	opacity: 0.82;
}

.wlev-calendar-month-item:hover .wlev-calendar-month-count,
.wlev-calendar-month-item:focus-visible .wlev-calendar-month-count,
.wlev-calendar-month-item.is-active .wlev-calendar-month-count {
	color: currentColor;
	opacity: 0.9;
}

.wlev-calendar-month-strip-arrow {
	width: 2.25rem;
	height: 2.25rem;
	opacity: 0.86;
}

.wlev-calendar-month-strip-arrow:disabled,
.wlev-calendar-month-strip-arrow.is-disabled {
	opacity: 0.24;
	cursor: default;
	pointer-events: none;
}

.wlev-calendar-row {
	grid-template-columns: minmax(10.5rem, 1.15fr) minmax(4.75rem, 0.48fr) minmax(15rem, 1.45fr) minmax(18rem, 2.6fr) minmax(5.25rem, 0.55fr) minmax(6rem, 0.68fr);
	gap: 1.2rem 1.8rem;
}

.wlev-calendar-info {
	display: none !important;
}

.wlev-calendar-date {
	padding-right: 0.4rem;
	white-space: normal;
}

.wlev-calendar-time {
	justify-self: start;
}

.wlev-calendar-place {
	font-size: clamp(0.92rem, 1vw, 1rem);
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

@media (max-width: 1180px) {
	.wlev-calendar-month-strip {
		grid-template-columns: 2rem minmax(0, 1fr) 2rem;
	}

	.wlev-calendar-month-item {
		min-height: 42px;
		padding: 0.55rem 0.75rem;
		font-size: clamp(0.98rem, 1.5vw, 1.15rem);
	}

	.wlev-calendar-row {
		grid-template-columns: minmax(8.5rem, 1fr) minmax(4.25rem, 0.42fr) minmax(11.5rem, 1.25fr) minmax(0, 2fr) minmax(5.25rem, 0.56fr);
		gap: 0.65rem 1.1rem;
	}

	.wlev-calendar-date {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.wlev-calendar-time {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.wlev-calendar-place {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
		display: block;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.wlev-calendar-event-title {
		grid-column: 4 / 5;
		grid-row: 1 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 5 / 6;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 5 / 6;
		grid-row: 2 / 3;
	}
}

@media (max-width: 980px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(7.5rem, 0.9fr) minmax(4rem, 0.42fr) minmax(0, 1.65fr) minmax(5.25rem, 0.55fr);
	}

	.wlev-calendar-place {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}

	.wlev-calendar-event-title {
		grid-column: 3 / 4;
		grid-row: 2 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-month-strip {
		grid-template-columns: 1.75rem minmax(0, 1fr) 1.75rem;
	}

	.wlev-calendar-month-item {
		min-height: 38px;
		padding: 0.48rem 0.65rem;
		font-size: 0.94rem;
	}

	.wlev-calendar-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 0.35rem;
	}

	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		grid-column: 1 / -1;
		grid-row: auto;
		justify-self: start;
		text-align: left;
		white-space: normal;
	}
}


/* 1.2.8 — Kalendarium: separacja miejsca od tytułu, czarne tło aktywnego miesiąca, klikalny tytuł. */
.wlev-calendar-title-link {
	color: inherit;
	text-decoration: none;
}

.wlev-calendar-title-link:hover,
.wlev-calendar-title-link:focus-visible {
	color: var(--wlev-calendar-accent);
	text-decoration: none;
}

.wlev-calendar-month-item.is-active {
	background-color: #000;
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-active .wlev-calendar-month-count {
	color: currentColor;
}

/* Desktop: mocniejszy bufor między kolumną miejsca a tytułem wydarzenia. */
.wlev-calendar-row {
	grid-template-columns: minmax(10.5rem, 1.1fr) minmax(4.75rem, 0.46fr) minmax(17rem, 1.65fr) minmax(20rem, 2.5fr) minmax(5.25rem, 0.55fr) minmax(6rem, 0.68fr);
	column-gap: clamp(1.75rem, 3vw, 3rem);
}

.wlev-calendar-place {
	padding-right: 0.75rem;
	white-space: nowrap;
	overflow-wrap: normal;
	word-break: normal;
}

.wlev-calendar-event-title {
	padding-left: 0.75rem;
}

@media (max-width: 1180px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(8.5rem, 1fr) minmax(4.25rem, 0.42fr) minmax(12.5rem, 1.35fr) minmax(0, 2fr) minmax(5.25rem, 0.56fr);
		column-gap: 1.25rem;
	}

	.wlev-calendar-place {
		padding-right: 0.5rem;
		white-space: normal;
		overflow-wrap: break-word;
	}

	.wlev-calendar-event-title {
		padding-left: 0.5rem;
	}
}

@media (max-width: 980px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(7.5rem, 0.9fr) minmax(4rem, 0.42fr) minmax(0, 1.65fr) minmax(5.25rem, 0.55fr);
		column-gap: 1rem;
	}

	.wlev-calendar-place,
	.wlev-calendar-event-title {
		padding-inline: 0;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-place,
	.wlev-calendar-event-title {
		padding-inline: 0;
	}
}


/* 1.3.0 — Kalendarium: czarne tło oznacza faktyczny bieżący miesiąc, nie wybrany miesiąc. */
.wlev-calendar-month-item.is-active {
	background-color: rgba(241, 125, 88, 0.08);
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-current-month {
	background-color: #000;
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-current-month .wlev-calendar-month-count {
	color: currentColor;
	opacity: 0.9;
}

.wlev-calendar-month-item.is-current-month.is-active {
	background-color: #000;
}


/* 1.3.1 — Kalendarium: bieżący miesiąc ma tylko czarne tło; ramka zależy od stanu wyboru. */
.wlev-calendar-month-item.is-current-month {
	background-color: #000;
	border-color: #fff;
	color: inherit;
}

.wlev-calendar-month-item.is-current-month .wlev-calendar-month-count {
	color: var(--wlev-calendar-muted);
	opacity: 0.82;
}

.wlev-calendar-month-item.is-current-month:hover,
.wlev-calendar-month-item.is-current-month:focus-visible {
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-current-month:hover .wlev-calendar-month-count,
.wlev-calendar-month-item.is-current-month:focus-visible .wlev-calendar-month-count {
	color: currentColor;
	opacity: 0.9;
}

.wlev-calendar-month-item.is-current-month.is-active {
	background-color: #000;
	border-color: var(--wlev-calendar-accent);
	color: var(--wlev-calendar-accent);
}

.wlev-calendar-month-item.is-current-month.is-active .wlev-calendar-month-count {
	color: currentColor;
	opacity: 0.9;
}


/* 1.3.2 — Osoby: funkcje w nowej linii bez separatora; Terminarz: miejsce na rok w dacie. */
.wlev-artist,
.wlev-credit {
	display: block;
}

.wlev-artist-role,
.wlev-credit-role {
	display: block;
	margin-top: 0.08em;
	line-height: 1.25;
}

.wlev-person-separator {
	display: none;
}

.wlev-schedule-date {
	min-width: 8.5rem;
}

.wlev-schedule-date-main {
	white-space: nowrap;
}


/* 1.3.3 — Osoby: wymuszenie nowej linii roli niezależnie od stylów motywu. */
.wlev-artist .wlev-person-role-break,
.wlev-credit .wlev-person-role-break {
	display: block;
}

.wlev-artists .wlev-artist .wlev-artist-role,
.wlev-credits-list .wlev-credit .wlev-credit-role {
	display: block !important;
	width: 100%;
	flex-basis: 100%;
	margin-top: 0.08em;
	margin-left: 0;
}


/* 1.3.5 — Grid wydarzeń: zakładki wyrównane do prawej także na smartfonach. */
.wlev-event-grid-tabs {
	justify-content: flex-end;
	text-align: right;
}

@media (max-width: 782px) {
	.wlev-event-grid-tabs {
		justify-content: flex-end;
		text-align: right;
		width: 100%;
	}
}


/* 1.3.7 — Hero wydarzenia: kadrowanie slajdów od górnego środka. */
.wlev-event-hero .wlev-slide-img,
.wlev-event-hero .wlev-hero-bg-img,
.wlev-event-hero img[class*="wlev"][class*="slide"],
.wlev-event-hero img[class*="wlev"][class*="hero"] {
	object-position: center top;
}

.wlev-event-hero .wlev-slide,
.wlev-event-hero .wlev-hero-bg,
.wlev-event-hero [class*="wlev"][class*="slide"][style*="background-image"],
.wlev-event-hero [class*="wlev"][class*="hero"][style*="background-image"] {
	background-position: center top;
}


/* 1.3.8 — Hero wydarzenia: przywrócenie domyślnego kadrowania od środka. */
.wlev-event-hero .wlev-slide-img,
.wlev-event-hero .wlev-hero-bg-img,
.wlev-event-hero img[class*="wlev"][class*="slide"],
.wlev-event-hero img[class*="wlev"][class*="hero"] {
	object-position: center center;
}

.wlev-event-hero .wlev-slide,
.wlev-event-hero .wlev-hero-bg,
.wlev-event-hero [class*="wlev"][class*="slide"][style*="background-image"],
.wlev-event-hero [class*="wlev"][class*="hero"][style*="background-image"] {
	background-position: center center;
}


/* 1.5.12 — Kalendarium: wydarzenia stałe i kolumna kategorii. */
.wlev-calendar-row {
	grid-template-columns: minmax(7rem, 0.72fr) minmax(10.5rem, 1.05fr) minmax(4.75rem, 0.46fr) minmax(16rem, 1.55fr) minmax(20rem, 2.35fr) minmax(5.25rem, 0.55fr) minmax(6rem, 0.68fr);
	column-gap: clamp(1.2rem, 2.2vw, 2.5rem);
}

.wlev-calendar-category {
	color: var(--wlev-calendar-muted);
	font-size: var(--font-size-base, 1rem);
	font-weight: 700;
	line-height: 1.18;
	white-space: nowrap;
}

.wlev-calendar-date-fixed {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.14rem;
	white-space: normal;
}

.wlev-calendar-fixed-label {
	color: var(--wlev-calendar-accent);
	font-weight: 900;
	line-height: 1.05;
}

.wlev-calendar-fixed-start {
	color: var(--wlev-calendar-muted);
	font-size: 0.86em;
	font-weight: 600;
	line-height: 1.1;
}

.wlev-calendar-row.is-fixed-event .wlev-calendar-time:empty::before {
	content: "—";
	color: var(--wlev-calendar-muted);
	opacity: 0.55;
}

@media (max-width: 1180px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(6.5rem, 0.72fr) minmax(8.5rem, 1fr) minmax(4.25rem, 0.42fr) minmax(11.5rem, 1.25fr) minmax(0, 2fr) minmax(5.25rem, 0.56fr);
		column-gap: 1.15rem;
	}

	.wlev-calendar-category {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.wlev-calendar-date {
		grid-column: 2 / 3;
		grid-row: 1 / 3;
	}

	.wlev-calendar-time {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}

	.wlev-calendar-place {
		grid-column: 4 / 5;
		grid-row: 1 / 3;
	}

	.wlev-calendar-event-title {
		grid-column: 5 / 6;
		grid-row: 1 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 6 / 7;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 6 / 7;
		grid-row: 2 / 3;
	}
}

@media (max-width: 980px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(6rem, 0.7fr) minmax(7.5rem, 0.9fr) minmax(0, 1.65fr) minmax(5.25rem, 0.55fr);
		column-gap: 1rem;
	}

	.wlev-calendar-category {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.wlev-calendar-date {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.wlev-calendar-time {
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	.wlev-calendar-place {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}

	.wlev-calendar-event-title {
		grid-column: 3 / 4;
		grid-row: 2 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-category,
	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-place,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		grid-column: 1 / -1;
		grid-row: auto;
		justify-self: start;
		text-align: left;
		white-space: normal;
	}

	.wlev-calendar-category {
		font-size: 0.88rem;
	}

	.wlev-calendar-date-fixed {
		gap: 0.1rem;
	}
}


/* 1.5.18 — Kalendarium: kolejność kolumn i połączona kolumna kategoria/miejsce. */
.wlev-calendar-row {
	grid-template-columns: minmax(8rem, 0.9fr) minmax(4.5rem, 0.55fr) minmax(12rem, 1.25fr) minmax(20rem, 2.35fr) minmax(5.25rem, 0.55fr) minmax(6rem, 0.68fr);
	column-gap: clamp(1.2rem, 2.2vw, 2.5rem);
}

.wlev-calendar-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.16rem;
	min-width: 0;
	color: inherit;
	font-size: var(--font-size-base, 1rem);
	font-weight: 700;
	line-height: 1.18;
	white-space: normal;
}

.wlev-calendar-meta .wlev-calendar-category {
	color: inherit;
	font-size: 1em;
	font-weight: 800;
	line-height: 1.15;
	white-space: normal;
}

.wlev-calendar-meta .wlev-calendar-place {
	display: block;
	color: var(--wlev-calendar-muted);
	font-size: 0.84em;
	font-weight: 400;
	line-height: 1.2;
	white-space: normal;
	overflow-wrap: anywhere;
}

.wlev-calendar-date-fixed {
	display: inline-flex;
	align-items: flex-start;
	justify-content: flex-start;
	justify-self: start;
	text-align: left;
	white-space: nowrap;
}

.wlev-calendar-fixed-start {
	color: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: inherit;
}

.wlev-calendar-row.is-fixed-event .wlev-calendar-time:empty::before {
	content: "—";
	color: var(--wlev-calendar-muted);
	opacity: 0.55;
}

@media (max-width: 1180px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(7rem, 0.76fr) minmax(4.25rem, 0.45fr) minmax(10rem, 1.05fr) minmax(0, 2fr) minmax(5.25rem, 0.56fr);
		column-gap: 1.15rem;
	}

	.wlev-calendar-date {
		grid-column: 1 / 2;
		grid-row: 1 / 3;
	}

	.wlev-calendar-time {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.wlev-calendar-meta {
		grid-column: 3 / 4;
		grid-row: 1 / 3;
	}

	.wlev-calendar-event-title {
		grid-column: 4 / 5;
		grid-row: 1 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 5 / 6;
		grid-row: 1 / 2;
		justify-self: end;
		text-align: right;
	}

	.wlev-calendar-ticket {
		grid-column: 5 / 6;
		grid-row: 2 / 3;
		justify-self: end;
		text-align: right;
	}
}

@media (max-width: 980px) {
	.wlev-calendar-row {
		grid-template-columns: minmax(6.5rem, 0.75fr) minmax(4rem, 0.45fr) minmax(0, 1.9fr) minmax(5.25rem, 0.55fr);
		column-gap: 1rem;
	}

	.wlev-calendar-date {
		grid-column: 1 / 2;
		grid-row: 1 / 2;
	}

	.wlev-calendar-time {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	.wlev-calendar-meta {
		grid-column: 3 / 4;
		grid-row: 1 / 2;
	}

	.wlev-calendar-event-title {
		grid-column: 3 / 4;
		grid-row: 2 / 3;
	}

	.wlev-calendar-capacity {
		grid-column: 4 / 5;
		grid-row: 1 / 2;
	}

	.wlev-calendar-ticket {
		grid-column: 4 / 5;
		grid-row: 2 / 3;
		align-self: end;
	}
}

@media (max-width: 782px) {
	.wlev-calendar-date,
	.wlev-calendar-time,
	.wlev-calendar-meta,
	.wlev-calendar-capacity,
	.wlev-calendar-ticket,
	.wlev-calendar-event-title {
		grid-column: 1 / -1;
		grid-row: auto;
		justify-self: start;
		text-align: left;
		white-space: normal;
	}

	.wlev-calendar-meta .wlev-calendar-category {
		font-size: 0.88rem;
	}
}

/* 1.5.30 — Debugger modułu „Zobacz również”. Widoczny tylko po ?wlev_related_debug=1 dla zalogowanego redaktora. */
.wlev-related-debug {
	box-sizing: border-box;
	width: 100%;
	margin: 1.25rem 0 0;
	padding: 1rem;
	border: 1px dashed currentColor;
	background: rgba(255, 255, 255, 0.06);
	color: inherit;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-size: 0.78rem;
	line-height: 1.45;
}

.wlev-related-debug summary {
	cursor: pointer;
	font-family: var(--theme-font-family, inherit);
	font-size: 0.9rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.wlev-related-debug pre {
	max-height: 70vh;
	margin: 1rem 0 0;
	padding: 0;
	overflow: auto;
	white-space: pre-wrap;
	word-break: break-word;
}

/* 1.5.31 — Debugger „Zobacz również”: usuń tła kodu narzucane globalnie przez motyw. */
.wlev-related-debug pre,
.wlev-related-debug code,
.wlev-related-debug samp,
.wlev-related-debug kbd {
	background: transparent !important;
	box-shadow: none !important;
}


/* -------------------------------------------------------------------------
   WL: Wydarzenia stałe — grid bez zakładek z nagłówkiem jak Zapowiedzi
   ---------------------------------------------------------------------- */
.wlev-fixed-events-grid {
	color: inherit;
}

.wlev-fixed-events-grid .wlev-promo-slider-header {
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

/* 1.5.45 — Grid wydarzeń: frontowa nawigacja kategorii ograniczona do kategorii zaznaczonych w bloku. */
.wlev-event-grid-categories {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: clamp(0.9rem, 2vw, 1.8rem);
	margin: 0 0 clamp(0.55rem, 1.2vw, 0.9rem);
	text-align: right;
	text-transform: uppercase;
	letter-spacing: 0.025rem;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 700;
	line-height: 1.1;
}

.wlev-event-grid-category {
	color: inherit;
	text-decoration: none;
	opacity: 0.58;
	transition: color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
	border-bottom: 1px solid transparent;
	padding-bottom: 0.16rem;
}

.wlev-event-grid-category:hover,
.wlev-event-grid-category:focus-visible,
.wlev-event-grid-category.is-active {
	color: #F17D58;
	opacity: 1;
	border-bottom-color: transparent;
}

.wlev-event-grid-category.is-active {
	font-weight: 800;
}

@media (max-width: 782px) {
	.wlev-event-grid-categories {
		justify-content: flex-end;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		padding-bottom: 0.1rem;
		white-space: nowrap;
	}

	.wlev-event-grid-categories::-webkit-scrollbar {
		display: none;
	}

	.wlev-event-grid-category {
		flex: 0 0 auto;
	}
}


/* 1.5.47 — Grid wydarzeń: opcjonalny link po lewej stronie nagłówka. */
.wlev-event-grid-header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: clamp(1.5rem, 4vw, 4rem);
	margin: 0 0 clamp(1.5rem, 3vw, 2.75rem);
}

.wlev-event-grid-header-nav {
	display: flex;
	grid-column: 2;
	flex-direction: column;
	align-items: flex-end;
	gap: clamp(0.65rem, 1.2vw, 1rem);
	text-align: right;
}

.wlev-event-grid-header .wlev-event-grid-tabs,
.wlev-event-grid-header .wlev-event-grid-categories {
	margin: 0;
}

.wlev-event-grid-side-link {
	align-self: end;
	padding-top: 0.16rem;
}

.wlev-event-grid-side-link-anchor {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 800;
	line-height: 1.1;
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.16rem;
	transition: color 0.2s ease, opacity 0.2s ease, border-color 0.2s ease;
}

.wlev-event-grid-side-link-anchor:hover,
.wlev-event-grid-side-link-anchor:focus-visible {
	color: #F17D58;
	opacity: 1;
}

@media (max-width: 782px) {
	.wlev-event-grid-header {
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;
	}

	.wlev-event-grid-side-link {
		justify-self: end;
		text-align: right;
		width: 100%;
	}

	.wlev-event-grid-header-nav {
		grid-column: 1;
		align-items: flex-end;
		width: 100%;
	}
}

/* 1.5.49 — Grid wydarzeń: ujednolicenie linków kategorii, zakładek i linku bocznego. */
.wlev-event-grid-header .wlev-event-grid-category,
.wlev-event-grid-header .wlev-event-grid-tab,
.wlev-event-grid-header .wlev-event-grid-side-link-anchor {
	color: inherit;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.025rem;
	font-family: var(--theme-font-family);
	font-size: var(--font-size-base, 1rem);
	font-weight: 500;
	line-height: 1.1;
	opacity: 0.58;
	border-bottom: 0;
	padding-bottom: 0.16rem;
	transition: color 0.2s ease, opacity 0.2s ease;
}

.wlev-event-grid-header .wlev-event-grid-category:hover,
.wlev-event-grid-header .wlev-event-grid-category:focus-visible,
.wlev-event-grid-header .wlev-event-grid-category.is-active,
.wlev-event-grid-header .wlev-event-grid-tab:hover,
.wlev-event-grid-header .wlev-event-grid-tab:focus-visible,
.wlev-event-grid-header .wlev-event-grid-tab.is-active,
.wlev-event-grid-header .wlev-event-grid-side-link-anchor:hover,
.wlev-event-grid-header .wlev-event-grid-side-link-anchor:focus-visible {
	color: #F17D58;
	opacity: 1;
	text-decoration: none;
	border-bottom-color: transparent;
}

.wlev-event-grid-header .wlev-event-grid-category.is-active,
.wlev-event-grid-header .wlev-event-grid-tab.is-active {
	font-weight: 500;
}

/* 1.5.51 — Grid wydarzeń: taki sam odstęp w zakładkach Aktualne/Archiwalne jak w nawigacji kategorii. */
.wlev-event-grid-header .wlev-event-grid-tabs {
	gap: clamp(0.9rem, 2vw, 1.8rem);
}

/* 1.5.52 — Grid wydarzeń: na mobile lista kategorii przewija się od początku, żeby „Wszystkie” nie uciekało poza ekran.
   1.5.53 — gdy kategorie mieszczą się w widoku, dociągamy je z powrotem do prawej. */
@media (max-width: 782px) {
	.wlev-event-grid-header .wlev-event-grid-categories {
		align-self: stretch;
		justify-content: flex-end;
		width: 100%;
		max-width: 100%;
		text-align: right;
		scroll-padding-inline: 0;
	}

	.wlev-event-grid-header .wlev-event-grid-categories.is-overflowing {
		justify-content: flex-start;
		text-align: left;
	}

	.wlev-event-grid-header .wlev-event-grid-category:first-child {
		margin-left: 0;
	}
}

/* =============================================================================
 * Publiczne podstrony artystów
 * ========================================================================== */
.wlev-artist-title-slot {
	margin: 0 0 1rem;
	font-size: 1.65rem;
	font-weight: 900;
	line-height: 1.05;
	text-transform: uppercase;
}

.wlev-artist-photo-slot img,
.wlev-artist-photo-img {
	display: block;
	max-width: 100%;
	height: auto;
}

.wlev-artist-photo-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 2 / 3;
	background-color: rgba( 255, 255, 255, 0.06 );
	background-position: center;
	background-repeat: repeat;
	background-size: 360px auto;
}

.wlev-artist-bio {
	margin-top: 0.75rem;
}

.wlev-artist-bio-slot .wlev-artist-bio > :first-child { margin-top: 0; }
.wlev-artist-bio-slot .wlev-artist-bio > :last-child { margin-bottom: 0; }

.wlev-artist-gallery-fallback {
	display: grid;
	grid-template-columns: repeat( auto-fit, minmax( 180px, 1fr ) );
	gap: 16px;
}

.wlev-artist-gallery-img {
	display: block;
	width: 100%;
	height: auto;
}

.wlev-artist-events-block .wlev-event-grid-list {
	display: grid;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) );
	gap: var( --wlev-event-grid-gap, clamp( 1.5rem, 3vw, 3rem ) );
}

.wlev-artist-events-block.wlev-event-grid-cols-1 .wlev-event-grid-list { grid-template-columns: 1fr; }
.wlev-artist-events-block.wlev-event-grid-cols-2 .wlev-event-grid-list { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
.wlev-artist-events-block.wlev-event-grid-cols-3 .wlev-event-grid-list { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
.wlev-artist-events-block.wlev-event-grid-cols-4 .wlev-event-grid-list { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }

.wlev-artist-grid-list {
	display: grid;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) );
	gap: var( --wlev-event-grid-gap, clamp( 1.5rem, 3vw, 3rem ) );
}

.wlev-artist-grid-cols-1 .wlev-artist-grid-list { grid-template-columns: 1fr; }
.wlev-artist-grid-cols-2 .wlev-artist-grid-list { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
.wlev-artist-grid-cols-3 .wlev-artist-grid-list { grid-template-columns: repeat( 3, minmax( 0, 1fr ) ); }
.wlev-artist-grid-cols-4 .wlev-artist-grid-list { grid-template-columns: repeat( 4, minmax( 0, 1fr ) ); }

.wlev-artist-grid-card {
	position: relative;
	min-width: 0;
	border-left: 1px solid #fff;
	transition: border-color 0.25s ease;
}

.wlev-artist-grid-card:hover,
.wlev-artist-grid-card:focus-within {
	border-left-color: #F17D58;
}

.wlev-artist-grid-card-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.wlev-artist-grid-card-media {
	display: block;
	margin: 0 0 clamp( 1rem, 1.8vw, 1.75rem );
	aspect-ratio: var( --wlev-event-grid-image-ratio, 16 / 10 );
	overflow: hidden;
	background: rgba( 255, 255, 255, 0.06 );
}

.wlev-artist-grid-card-img,
.wlev-artist-grid-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: grayscale( 1 ) contrast( 1.05 ) brightness( 0.72 );
	opacity: 0.82;
	transition: transform 0.7s cubic-bezier( 0.22, 1, 0.36, 1 ), filter 0.35s ease, opacity 0.35s ease;
}

.wlev-artist-grid-card:hover .wlev-artist-grid-card-img,
.wlev-artist-grid-card:focus-within .wlev-artist-grid-card-img,
.wlev-artist-grid-card:hover .wlev-artist-grid-card-media img,
.wlev-artist-grid-card:focus-within .wlev-artist-grid-card-media img {
	transform: scale( 1.045 );
	filter: grayscale( 0 ) contrast( 1.04 ) brightness( 0.92 );
	opacity: 1;
}

.wlev-artist-grid-card-title {
	margin: auto 0 0 12px;
	font-family: var( --theme-font-family );
	font-size: 20pt;
	line-height: 0.9;
	font-weight: 900;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	transition: color 0.25s ease;
}

.wlev-artist-grid-card:hover .wlev-artist-grid-card-title,
.wlev-artist-grid-card:focus-within .wlev-artist-grid-card-title {
	color: #F17D58;
}


/* Keep artist-grid title flush to the bottom, matching the event grid card behavior. */
.wlev-artist-grid-block .wlev-artist-grid-card-link > .wlev-artist-grid-card-title,
.wlev-artist-grid-block :is(h1,h2,h3,h4,h5,h6).wlev-artist-grid-card-title {
	display: block;
	margin-block-start: auto !important;
	margin-block-end: 0 !important;
	margin-inline-start: 12px !important;
	margin-inline-end: 0 !important;
	margin-bottom: 0 !important;
}

.wlev-artist-grid-card-bio {
	margin: 0.9rem 12px 0;
}

@media ( max-width: 900px ) {
	.wlev-artist-grid-cols-3 .wlev-artist-grid-list,
	.wlev-artist-grid-cols-4 .wlev-artist-grid-list,
	.wlev-artist-events-block.wlev-event-grid-cols-3 .wlev-event-grid-list,
	.wlev-artist-events-block.wlev-event-grid-cols-4 .wlev-event-grid-list {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	}
}

@media ( max-width: 600px ) {
	.wlev-artist-grid-cols-2 .wlev-artist-grid-list,
	.wlev-artist-grid-cols-3 .wlev-artist-grid-list,
	.wlev-artist-grid-cols-4 .wlev-artist-grid-list,
	.wlev-artist-events-block.wlev-event-grid-cols-2 .wlev-event-grid-list,
	.wlev-artist-events-block.wlev-event-grid-cols-3 .wlev-event-grid-list,
	.wlev-artist-events-block.wlev-event-grid-cols-4 .wlev-event-grid-list {
		grid-template-columns: minmax( 0, 1fr );
	}
}

/* Artist grid image color mode mirrors the event grid image controls. */
.wlev-artist-grid-images-mono .wlev-artist-grid-card-img,
.wlev-artist-grid-images-mono .wlev-artist-grid-card-media img {
	filter: grayscale( 1 ) contrast( 1.05 ) brightness( 0.72 );
	opacity: 0.82;
}

.wlev-artist-grid-images-color .wlev-artist-grid-card-img,
.wlev-artist-grid-images-color .wlev-artist-grid-card-media img {
	filter: grayscale( 0 ) contrast( 1.04 ) brightness( 0.92 );
	opacity: 1;
}


/* 1.6.18 — Artist category nav: tablet behaves like mobile, without broken category labels. */
@media ( max-width: 1100px ) {
	.wlev-artist-grid-header {
		grid-template-columns: minmax( 0, 1fr );
		gap: 1rem;
	}

	.wlev-artist-grid-header .wlev-event-grid-header-nav {
		grid-column: 1;
		align-items: flex-end;
		width: 100%;
		min-width: 0;
	}

	.wlev-artist-grid-header .wlev-artist-grid-categories {
		align-self: stretch;
		justify-content: flex-end;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		white-space: nowrap;
		flex-wrap: nowrap;
		text-align: right;
		scroll-padding-inline: 0;
	}

	.wlev-artist-grid-header .wlev-artist-grid-categories::-webkit-scrollbar {
		display: none;
	}

	.wlev-artist-grid-header .wlev-artist-grid-categories.is-overflowing {
		justify-content: flex-start;
		text-align: left;
	}

	.wlev-artist-grid-header .wlev-artist-grid-category {
		flex: 0 0 auto;
		white-space: nowrap;
	}
}

/* Native WordPress search results: keep thumbnails compact.
 * Blocksy and similar themes often use CSS custom properties for the media
 * column, but the hard width/flex rules below also cover classic markup.
 */
body.search .entry-card,
body.search .entries .entry-card,
body.search .site-main article {
	--wlev-search-result-thumb-width: 220px;
	--card-media-width: var( --wlev-search-result-thumb-width );
	--card-media-max-width: var( --wlev-search-result-thumb-width );
}

@media ( min-width: 783px ) {
	body.search .entry-card .ct-media-container,
	body.search .entry-card .ct-image-container,
	body.search .entries .entry-card .ct-media-container,
	body.search .entries .entry-card .ct-image-container,
	body.search .site-main article .ct-media-container,
	body.search .site-main article .ct-image-container,
	body.search .site-main article .post-thumbnail,
	body.search .site-main article .wp-post-image {
		width: var( --wlev-search-result-thumb-width );
		max-width: var( --wlev-search-result-thumb-width );
		flex: 0 0 var( --wlev-search-result-thumb-width );
	}

	body.search .entry-card .ct-media-container img,
	body.search .entry-card .ct-image-container img,
	body.search .entries .entry-card .ct-media-container img,
	body.search .entries .entry-card .ct-image-container img,
	body.search .site-main article .post-thumbnail img,
	body.search .site-main article img.wp-post-image {
		width: 100%;
		height: auto;
		max-width: 100%;
	}
}

@media ( max-width: 782px ) {
	body.search .entry-card,
	body.search .entries .entry-card,
	body.search .site-main article {
		--wlev-search-result-thumb-width: 160px;
	}
}
