/*
Theme Name:     Urkult
Theme URI:      https://urkult.se
Description:    Urkult Theme, a Twentytwentyfive child theme.
Author:         Soulstyle Publicity
Author URI:     https://soulstyle.se
Template:       twentytwentyfive
Version:        0.1.0
*/

@font-face {
	font-family: 'Flinta';
	src:
		url('fonts/Flinta.woff2') format('woff2'),
		url('fonts/Flinta.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

/* Respect user's reduced motion preference globally */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Smooth scrolling for anchor jumps */
html {
	scroll-behavior: smooth;
}

:root {
	--urkult-header-height: 50px;
	--urkult-focus-ring-color: var(--wp--preset--color--red, #d13131);
	--urkult-focus-ring-contrast: #ffffff;
}
@media screen and (min-width: 1025px) {
	:root {
		--urkult-header-height: 56px;
	}
}

.wp-site-blocks *:focus {
	outline: none;
	box-shadow: none;
}

body:not(.editor-styles-wrapper) .wp-site-blocks *:focus-visible {
	outline: 2px solid var(--urkult-focus-ring-color) !important;
	outline-offset: 3px;
	box-shadow:
		0 0 0 2px var(--urkult-focus-ring-contrast),
		0 0 0 4px var(--urkult-focus-ring-color) !important;
	transition:
		outline-color 120ms ease,
		box-shadow 120ms ease;
}

@supports not selector(:focus-visible) {
	.wp-site-blocks *:focus {
		outline: 2px solid var(--urkult-focus-ring-color) !important;
		outline-offset: 3px;
		box-shadow:
			0 0 0 2px var(--urkult-focus-ring-contrast),
			0 0 0 4px var(--urkult-focus-ring-color) !important;
	}
}

@media (min-width: 1025px) {
	body {
		--wp--style--root--padding-left: var(--wp--preset--spacing--50);
		--wp--style--root--padding-right: var(--wp--preset--spacing--50);
		--global-content-edge-padding: var(--wp--preset--spacing--50);
	}
}

/* Header states */
.is-root-container
	> .block-library-block__reusable-block-container.is-reusable:has(
		[data-align='full']
	)
	.block-editor-block-list__block {
	max-width: none;
}
.is-root-container
	> .block-library-block__reusable-block-container.is-reusable:has(
		[data-align='full']
	)
	.block-editor-block-list__block.alignfull {
	margin: 0 calc(var(--wp--style--root--padding-left) * -1) 0
		calc(var(--wp--style--root--padding-right) * -1);
	max-width: calc(
		100% + var(--wp--style--root--padding-left) +
			var(--wp--style--root--padding-right)
	) !important;
}
@media screen and (min-width: 1025px) {
	body.page-template-default .show-after-hero,
	body.post-type-archive-artist .show-after-hero {
		opacity: 0;
		visibility: hidden;
		transition:
			opacity 100ms ease,
			visibility 0s linear 100ms;
	}
}
html.is-after-hero .show-after-hero,
body.kb-modal-open .show-after-hero {
	opacity: 1;
	visibility: visible;
	transition:
		opacity 100ms ease,
		visibility 0s linear 0s;
}

@media screen and (min-width: 1025px) {
	.page-template-default .wp-block-kadence-header,
	.post-type-archive-artist .wp-block-kadence-header {
		background-color: rgba(0, 0, 0, 0);
		position: fixed !important;
		top: var(--wp-admin--admin-bar--height, 0px) !important;
		left: 0 !important;
		right: 0 !important;
		z-index: 100;
	}
	.page-template-default .wp-block-kadence-header .kb-header-container,
	.post-type-archive-artist .wp-block-kadence-header .kb-header-container {
		position: static !important;
	}
}
.is-after-hero
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container,
body:not(.page-template-default):not(.post-type-archive-artist)
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container.item-is-stuck,
.kb-modal-open
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container {
	background: #ffffff;
	box-shadow: 0 1px 2px rgba(25, 24, 21, 0.25);
}
.kb-modal-open
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container {
	border-bottom: 1px solid rgb(204 204 204 / 75%);
}

.page-template-default.is-after-hero
	.urkult-off-canvas-trigger
	.kt-inside-inner-col,
.post-type-archive-artist.is-after-hero
	.urkult-off-canvas-trigger
	.kt-inside-inner-col,
body.kb-modal-open .urkult-off-canvas-trigger .kt-inside-inner-col {
	background-color: transparent;
}
.urkult-off-canvas-trigger button {
	outline: none;
}
.is-after-hero .urkult-off-canvas-trigger h4,
.kb-modal-open .urkult-off-canvas-trigger h4,
.is-after-hero .urkult-off-canvas-trigger button,
.kb-modal-open .urkult-off-canvas-trigger button {
	color: var(--wp--preset--color--black);
}

html:not(.is-after-hero)
	.page-template-default:not(.kb-modal-open)
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container,
html:not(.is-after-hero)
	.post-type-archive-artist:not(.kb-modal-open)
	.wp-block-kadence-header
	.wp-block-kadence-header-desktop.kb-header-container {
	background: transparent;
}

.wp-block-kadence-header .wp-block-kadence-header-desktop.kb-header-container {
	transition:
		background-color 150ms ease,
		box-shadow 150ms ease;
}

.kb-off-canvas-close {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.urkult-off-canvas-trigger {
	cursor: pointer;
}

.urkult-icon img {
	display: block;
}

@media screen and (min-width: 1025px) {
	html:not(.is-after-hero)
		.page-template-default:not(.kb-modal-open)
		.urkult-off-canvas-trigger
		.kt-inside-inner-col,
	html:not(.is-after-hero)
		.post-type-archive-artist:not(.kb-modal-open)
		.urkult-off-canvas-trigger
		.kt-inside-inner-col {
		background-color: var(--wp--preset--color--red);
		color: var(--wp--preset--color--white);
	}
	html:not(.is-after-hero)
		.page-template-default:not(.kb-modal-open)
		.urkult-off-canvas-trigger
		h4,
	html:not(.is-after-hero)
		.post-type-archive-artist:not(.kb-modal-open)
		.urkult-off-canvas-trigger
		h4 {
		color: var(--wp--preset--color--white);
	}
}

/* Off-canvas styles */
body .wp-block-kadence-off-canvas,
body .kb-off-canvas-overlay,
body .kb-off-canvas-inner-wrap {
	top: calc(
		var(--wp-admin--admin-bar--height, 0px) + var(--urkult-header-height)
	) !important;
}

.wp-block-kadence-off-canvas .kb-off-canvas-inner {
	align-items: stretch !important;
}

/* Off canvas animations */
header .wp-block-kadence-off-canvas.open-right .kb-off-canvas-inner-wrap {
	transform: translateY(0);
	transition:
		opacity 150ms ease,
		visibility 0s linear 150ms;
}

header .wp-block-kadence-off-canvas.active .kb-off-canvas-inner-wrap {
	transform: translateY(0);
}

/* Menu styles */
.menu-item.menu-item-has-children.menu-item--has-toggle.menu-item--toggled-on
	.kb-link-wrap
	button {
	outline: none;
}
@media screen and (max-width: 1024px) {
	.menu-item.menu-item-has-children.menu-item--has-toggle
		.kb-link-wrap::before,
	.menu-item.menu-item-has-children.menu-item--has-toggle
		> .kb-link-wrap::before {
		content: '';
		display: block;
		width: 8px;
		height: calc(100% + 1px);
		position: absolute;
		top: -0;
		left: -8px;
		background-color: transparent;
		outline: none;
	}
	.menu-item.menu-item-has-children.menu-item--has-toggle.menu-item--toggled-on
		.kb-link-wrap::before {
		background-color: var(--wp--preset--color--red);
	}
	.menu-item.menu-item-has-children.menu-item--has-toggle.menu-item--toggled-on
		> .kb-link-wrap::before {
		background-color: var(--wp--preset--color--red);
	}
}

/* Desktop Menu styles */
@media screen and (min-width: 1025px) {
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item
		> .kb-link-wrap
		a {
		font-family: var(--wp--preset--font-family--flinta);
	}
	/* Submenu width for toggled items */
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item--toggled-on
		> .sub-menu {
		width: 100%;
	}
	/* Keep submenu open when JS adds .menu-item--toggled-on (do not rely on :hover) */
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item--toggled-on
		> .sub-menu,
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item--toggled-on
		> .kb-nav-sub-menu {
		display: block;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle:hover
		> .kb-link-wrap,
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle.menu-item--toggled-on
		> .kb-link-wrap {
		background-color: var(--wp--preset--color--red);
	}
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle:hover
		> .kb-link-wrap
		a,
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle.menu-item--toggled-on
		> .kb-link-wrap
		a {
		color: var(--wp--preset--color--white);
	}
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle
		> .kb-link-wrap
		a {
		padding-right: var(--kb-nav-link-padding-right, 0.5em);
	}
	.wp-block-kadence-navigation.navigation-desktop-orientation-horizontal
		.menu-item.menu-item-has-children.menu-item--has-toggle
		> .kb-link-wrap
		button {
		display: none;
	}
	.kb-link-wrap button {
		outline: none;
	}
}

/* Language switcher styles */
.trp-block-container .trp-shortcode-switcher__wrapper {
	display: flex;
}
.trp-block-container .trp-current-language-item__wrapper {
	padding-right: 0;
}
.trp-block-container .trp-shortcode-switcher {
	padding: 0;
}
.trp-block-container .trp-language-item {
	padding: 1rem;
}
.trp-block-container .trp-switcher-dropdown-list .trp-language-item {
	margin-top: 20px;
}
.trp-block-container .trp-language-item .trp-flag-image {
	height: 38px !important;
	width: auto !important;
}
.trp-block-container .trp-language-item .trp-language-item-name,
.trp-block-container .trp-language-item:hover .trp-language-item-name {
	color: var(--wp--preset--color--red);
	border: 1px solid var(--wp--preset--color--red, red);
	font-family: var(--wp--preset--font-family--londrina-solid);
	line-height: 1;
	text-transform: uppercase;
	padding: 0.625rem 1rem;
}
.trp-block-container .trp-shortcode-arrow {
	display: none;
}

/* Full height layout utilities */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
}

.full-height-minus-header {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
}

/* Full screen height helper for hero sections */
.full-screen-height,
.full-screen-height > .kt-row-column-wrap {
	min-height: calc(
		100vh + 6px - var(--urkult-header-height) -
			var(--wp-admin--admin-bar--height, 0px)
	) !important;
}

.wp-block-template-part {
	margin-top: 0;
}

/* Hero Section styles */
.hero-section h1,
.hero-section h2,
.hero-section h3 {
	font-size: clamp(2.5rem, 2.241rem + 1.105vw, 3.4375rem);
	text-shadow: var(--wp--preset--shadow--urkult);
}

/* Button block styles */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--red);
	color: var(--wp--preset--color--white);
}

/* Media Text block styles */
.wp-block-media-text > .wp-block-media-text__content {
	padding-left: 0;
	padding-right: 0;
}

/* Media text block stacking order on mobile */
@media (max-width: 768px) {
	.wp-block-media-text.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__media {
		grid-column: 1;
		grid-row: 2;
	}
	.wp-block-media-text.is-stacked-on-mobile > .wp-block-media-text__content {
		grid-row: 1;
		grid-column: 1;
		margin-bottom: var(--wp--preset--spacing--24);
	}
}

/* Media text block bleed and extra padding on desktop */
@media screen and (min-width: 768px) {
	.wp-block-media-text {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
	}
	.wp-block-media-text.has-media-on-the-right
		> .wp-block-media-text__content {
		padding-left: 1.5625rem;
		padding-right: 3.4375rem;
	}
	.wp-block-media-text > .wp-block-media-text__content {
		padding-left: 3.4375rem;
		padding-right: 1.5625rem;
	}
}

/* Columns block styles */
.wp-block-columns {
	margin-top: var(--wp--preset--spacing--24);
	margin-bottom: var(--wp--preset--spacing--24);
}
@media screen and (min-width: 1025px) {
	.wp-block-columns {
		margin-top: var(--wp--preset--spacing--50);
		margin-bottom: var(--wp--preset--spacing--50);
	}
}

/* Columns block mobile order helpers */
@media (max-width: 781px) {
	.wp-block-columns.is-style-mobile-left-first {
		flex-direction: column;
	}

	.wp-block-columns.is-style-mobile-right-first {
		flex-direction: column-reverse;
	}
}

@media (min-width: 782px) {
	.wp-block-columns.is-style-mobile-left-first,
	.wp-block-columns.is-style-mobile-right-first {
		flex-direction: row;
	}
}

/* Observe box styles */
.wp-block-group.is-style-observe-box {
	margin: var(--wp--preset--spacing--24) 0 !important;
	border: 3px solid var(--wp--preset--color--red);
	padding: 12px 18px 18px 18px;
}
.wp-block-kadence-column .wp-block-group.is-style-observe-box {
	margin: var(--wp--preset--spacing--24) 0;
}
@media screen and (min-width: 1025px) {
	.wp-block-group.is-style-observe-box {
		margin: var(--wp--preset--spacing--24) !important;
	}
	.wp-block-kadence-column .wp-block-group.is-style-observe-box {
		margin: var(--wp--preset--spacing--24);
	}
}

/* kadence Accordion block styles */
.kt-accordion-wrap {
	padding: var(--wp--preset--spacing--24);
}

/* Image caption spacing */
figcaption,
.wp-element-caption {
	margin-top: 0.5rem !important;
	margin-bottom: 0;
}

/* Cover block - photographer credit and caption overlay */
.wp-block-cover {
	padding: 5rem 1rem;
}
.wp-block-cover.alignfull {
	position: relative;
}
@media screen and (min-width: 1480px) {
	.wp-block-cover.alignfull {
		max-width: calc(
			var(--wp--style--global--content-size) +
				var(--wp--preset--spacing--50) * 2
		);
		margin-left: auto !important;
		margin-right: auto !important;
	}
}
.wp-block-cover .wp-block-cover__inner-container {
	text-shadow: 0 2px 2px var(--wp--preset--color--black);
}
.urkult-cover-credit-overlay {
	position: absolute;
	bottom: var(--wp--preset--spacing--16, 1rem);
	left: var(--wp--preset--spacing--16, 1rem);
	color: #ffffff;
	font-family: var(--wp--preset--font-family--urkult-bildtext, sans-serif);
	font-size: 12px;
	font-style: italic;
	line-height: 1.4;
	z-index: 2;
	max-width: 240px;
}
@media screen and (min-width: 1025px) {
	.urkult-cover-credit-overlay {
		max-width: 100%;
		bottom: 2rem;
		left: var(--wp--preset--spacing--50, 3.125rem);
	}
}
.urkult-cover-caption,
.urkult-cover-credit {
	display: inline;
}

/* Kadence blocks (row/column) - photographer credit overlay */
/* Only applies to blocks with 'display-photographer' class */
/* .wp-block-kadence-column,
.wp-block-kadence-rowlayout {
	position: relative;
} */

.urkult-kadence-credit-overlay {
	position: absolute;
	bottom: var(--wp--preset--spacing--16, 1rem);
	left: var(--wp--preset--spacing--16, 1rem);
	color: #ffffff;
	font-family: var(--wp--preset--font-family--urkult-bildtext, sans-serif);
	font-size: 12px;
	font-style: italic;
	line-height: 1.4;
	z-index: 2;
	max-width: 240px;
}

@media screen and (min-width: 1025px) {
	.urkult-kadence-credit-overlay {
		max-width: 100%;
		bottom: 2rem;
		left: var(--wp--preset--spacing--50, 3.125rem);
	}
}

.urkult-kadence-credit {
	display: inline;
}

/* Quote block default yellow background with padding */
.wp-block-quote {
	background-color: var(--wp--preset--color--yellow);
	padding: 23px 1rem !important;
}

/* Remove margin and padding from paragraphs inside quote to maintain consistent height */
.wp-block-quote p {
	margin: 0;
	padding: 0;
}

/* Background block padding */
.has-background {
	padding: 23px 1rem !important;
}

/* When paragraph has custom background, remove quote background and padding */
.wp-block-quote:has(.has-background) {
	background: none;
	padding: 0;
}

/* Paragraph with background inside quote gets proper padding */
.wp-block-quote .has-background {
	padding: 23px 1rem;
	margin: 0;
}

/* Full-width background blocks on mobile/tablet */
@media (max-width: 1024px) {
	.has-background {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
		padding: 23px var(--wp--style--root--padding-left) 23px
			var(--wp--style--root--padding-right);
	}

	/* Quote with custom background paragraph - remove padding from quote */
	.wp-block-quote:has(.has-background) {
		padding: 0;
	}

	/* Paragraph with background inside quote on mobile */
	.wp-block-quote .has-background {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
		padding: 23px var(--wp--style--root--padding-left) 23px
			var(--wp--style--root--padding-right);
	}
}

/* Image block styles */
.wp-block-image:not(.is-style-no-bleed),
figure.wp-block-image:not(.is-style-no-bleed),
.wp-block-media-text:not(.is-style-no-bleed) > .wp-block-media-text__media {
	margin-left: calc(var(--wp--style--root--padding-left) * -1);
	margin-right: calc(var(--wp--style--root--padding-right) * -1);
}

/* Keep caption within bounds */
.wp-block-image:not(.is-style-no-bleed) figcaption,
figure.wp-block-image:not(.is-style-no-bleed) figcaption,
.wp-block-media-text:not(.is-style-no-bleed)
	> .wp-block-media-text__media
	figcaption {
	padding-left: var(--wp--style--root--padding-left);
	padding-right: var(--wp--style--root--padding-right);
}

@media screen and (min-width: 769px) {
	.wp-block-media-text:not(.is-style-no-bleed) > .wp-block-media-text__media {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: 0;
	}
	.wp-block-media-text.has-media-on-the-right:not(.is-style-no-bleed)
		> .wp-block-media-text__media {
		margin-left: 0;
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
	}
	.wp-block-media-text:not(.is-style-no-bleed)
		> .wp-block-media-text__media
		figcaption {
		padding-left: var(--wp--style--root--padding-left);
		padding-right: 0;
	}
	.wp-block-media-text.has-media-on-the-right:not(.is-style-no-bleed)
		> .wp-block-media-text__media
		figcaption {
		padding-left: 0;
		padding-right: var(--wp--style--root--padding-left);
	}
}

@media screen and (min-width: 1025px) {
	.wp-block-image:not(.is-style-no-bleed),
	figure.wp-block-image:not(.is-style-no-bleed) {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
	}
	.wp-block-column:first-child .wp-block-image:not(.is-style-no-bleed),
	.kt-row-column-wrap
		.wp-block-kadence-column:first-child
		figure.wp-block-image:not(.is-style-no-bleed) {
		margin-left: calc(var(--wp--style--root--padding-left) * -1);
		margin-right: 0;
	}
	.wp-block-column:not(:first-child) .wp-block-image:not(.is-style-no-bleed),
	.kt-row-column-wrap
		.wp-block-kadence-column:not(:first-child)
		figure.wp-block-image:not(.is-style-no-bleed) {
		margin-left: 0;
		margin-right: calc(var(--wp--style--root--padding-right) * -1);
	}

	/* Keep caption within bounds */
	.wp-block-image:not(.is-style-no-bleed) figcaption,
	figure.wp-block-image:not(.is-style-no-bleed) figcaption {
		padding-left: var(--wp--style--root--padding-left);
		padding-right: var(--wp--style--root--padding-right);
	}

	/* Compensate for column image offsets so captions stay aligned */
	.wp-block-column:first-child
		.wp-block-image:not(.is-style-no-bleed)
		figcaption,
	.wp-block-kadence-column:first-child
		.wp-block-image:not(.is-style-no-bleed)
		figcaption {
		padding-left: var(--wp--style--root--padding-left);
		padding-right: 0;
	}

	.wp-block-column:not(:first-child)
		.wp-block-image:not(.is-style-no-bleed)
		figcaption,
	.wp-block-kadence-column:not(:first-child)
		.wp-block-image:not(.is-style-no-bleed)
		figcaption {
		padding-left: 0;
		padding-right: var(--wp--style--root--padding-right);
	}
}

/* Custom paragraph style variations */
/* Citat - Large quote-style text */
p.is-style-citat {
	font-family: var(--wp--preset--font-family--londrina-solid);
	font-size: var(--wp--preset--font-size--quote);
	line-height: 1.25;
}

/* Paragraph variation: Ingress */
p.is-style-ingress {
	font-family: var(--wp--preset--font-family--londrina-solid);
	font-size: var(--wp--preset--font-size--preamble);
	line-height: 1.17;
}

/* Paragraph variation: Specialtext */
p.is-style-specialtext {
	font-family: var(--wp--preset--font-family--calibri);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.33;
}

/* Custom background image styles - helper classes for use in the editor */
@media screen and (min-width: 1025px) {
	.bg-hjul::before {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0.25;
		background-image: url(/wp-content/themes/urkult/assets/images/bg-hjulet.png);
		background-repeat: no-repeat;
		background-position: calc(50% - (var(--global--wide-size) / 2)) 50px;
		background-size: contain;
	}
	.bg-algfamilj::before {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0.25;
		background-image: url(/wp-content/themes/urkult/assets/images/bg-algfamilj.png);
		background-repeat: no-repeat;
		background-position: 35vw 42%;
		background-size: contain;
	}
	.bg-ren::before {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0.25;
		background-image: url(/wp-content/themes/urkult/assets/images/bg-ren.png);
		background-repeat: no-repeat;
		background-position: 40vw center;
		background-size: 50%;
	}
	.bg-hundar::before {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0.25;
		background-image: url(/wp-content/themes/urkult/assets/images/bg-hundar.png);
		background-repeat: no-repeat;
		background-position: calc(50% - (var(--global--wide-size) / 2) + 210px)
			center;
		background-size: 50%;
	}
	.bg-snel-alg::before {
		content: ' ';
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0.5;
		background-image: url(/wp-content/themes/urkult/assets/images/bg-snel-alg.png);
		background-repeat: no-repeat;
		background-position: 30px 150px;
		background-size: 50%;
	}
}

/* Fade the hero logo after a short delay to reveal the video */
body:not(.editor-styles-wrapper) .logo-fade-out img {
	animation: logoFadeOut 0.25s ease forwards;
	animation-delay: 7s !important;
	transform-origin: center center;
}

@keyframes logoFadeOut {
	to {
		opacity: 0;
		visibility: hidden;
	}
}

@media (prefers-reduced-motion: reduce) {
	.logo-fade-out {
		animation: none;
	}
}

/* Global video container styles for responsive 16:9 aspect ratio embeds */
.video-container {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
}
.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* Single aktivitet: title box should match content width */
.activity-header {
	width: fit-content;
	max-width: 100%;
}

.activity-header > .kt-inside-inner-col {
	display: inline-flex;
	align-items: flex-end;
	flex-wrap: wrap;
	width: fit-content;
	max-width: 100%;
}

.activity-header > .kt-inside-inner-col > .wp-block-kadence-advancedheading {
	margin: 0;
	min-width: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}
