/*
 * FDS ASANAM Eventkalender 1.0.14
 * Isolated Divi page-shell and Events-Manager event/location detail presentation layer.
 * Calendar query, filter values, permissions and readiness rules are untouched.
 */

body.fds-asanam-ui-page {
	--fds-asanam-page-max: 1500px;
	--fds-asanam-event-max: 1280px;
	--fds-asanam-page-gutter: clamp(18px, 4vw, 58px);
	--fds-asanam-header-height: 86px;
	--fds-asanam-header-gap: 42px;
	--fds-asanam-header-clearance: 132px;
	--fds-asanam-page-ink: #28231e;
	--fds-asanam-page-text: #463f38;
	--fds-asanam-page-muted: #756d64;
	--fds-asanam-page-border: #e7dfd5;
	--fds-asanam-page-surface: #ffffff;
	--fds-asanam-page-soft: #faf7f2;
	--fds-asanam-page-accent: #f2a100;
	--fds-asanam-page-accent-dark: #7a4700;
}

/* Keep the transparent Divi header from sitting on top of page titles/content. */
body.fds-asanam-ui-page.et_transparent_nav #main-content,
body.fds-asanam-ui-page.fds-asanam-header-overlap #main-content {
	padding-top: var(--fds-asanam-header-clearance) !important;
}

/* The ASANAM pages use a calm, non-transparent header surface. */
body.fds-asanam-ui-page .et-l--header,
body.fds-asanam-ui-page .et-l--header .et_pb_section,
body.fds-asanam-ui-page #main-header {
	background-color: rgba(255, 255, 255, 0.98) !important;
}

body.fds-asanam-ui-page .et-l--header,
body.fds-asanam-ui-page #main-header {
	box-shadow: 0 1px 0 rgba(55, 45, 36, 0.09), 0 8px 28px rgba(55, 45, 36, 0.045) !important;
}

/* Some transparent-header variants invert the logo. Restore its actual colors. */
body.fds-asanam-ui-page .et-l--header .et_pb_menu__logo img,
body.fds-asanam-ui-page .et-l--header .et_pb_image img,
body.fds-asanam-ui-page #main-header #logo,
body.fds-asanam-ui-page #main-header .logo_container img {
	filter: none !important;
	opacity: 1 !important;
}

/* Remove Divi's empty right sidebar and its vertical divider only on ASANAM UI pages. */
body.fds-asanam-ui-page #main-content .container::before,
body.fds-asanam-ui-page #main-content .container:before {
	display: none !important;
	content: none !important;
}

body.fds-asanam-ui-page #main-content .container {
	box-sizing: border-box;
	margin-inline: auto !important;
	max-width: var(--fds-asanam-page-max) !important;
	padding-inline: var(--fds-asanam-page-gutter) !important;
	width: 100% !important;
}

body.fds-asanam-ui-page #left-area {
	float: none !important;
	padding: 0 !important;
	width: 100% !important;
}

body.fds-asanam-ui-page #sidebar {
	display: none !important;
	float: none !important;
	padding: 0 !important;
	width: 0 !important;
}

body.fds-asanam-calendar-page #main-content article,
body.fds-asanam-calendar-page #main-content .entry-content {
	max-width: none;
	width: 100%;
}

/* The shortcode already has its own strong title, so the technical WP page title is redundant. */
body.fds-asanam-calendar-page.fds-asanam-has-own-heading #left-area > article > .entry-title,
body.fds-asanam-calendar-page.fds-asanam-has-own-heading #main-content article.page > .entry-title,
body.fds-asanam-calendar-page.fds-asanam-has-own-heading #main-content .et_post_meta_wrapper:first-child {
	display: none !important;
}

body.fds-asanam-calendar-page #main-content .entry-content {
	padding-top: clamp(10px, 1.8vw, 26px);
}

/* The fallback visual should show the lotus, not a second permanent ASANAM wordmark. */
body.fds-asanam-calendar-page .asanam-event-card__fallback-inner > span {
	display: none !important;
}

body.fds-asanam-calendar-page .asanam-event-card__fallback-inner {
	gap: 0;
}

body.fds-asanam-calendar-page .asanam-event-card__fallback-mark {
	height: clamp(64px, 7vw, 88px);
	width: clamp(64px, 7vw, 88px);
}

/* Use the newly available full width without making individual cards overly long. */
body.fds-asanam-calendar-page .asanam-events--list .asanam-event-card {
	grid-template-columns: minmax(270px, 31%) minmax(0, 1fr);
}

body.fds-asanam-calendar-page .asanam-events--list .asanam-event-card__content {
	padding: clamp(1.25rem, 2.4vw, 1.9rem);
}

body.fds-asanam-calendar-page .asanam-event-card__excerpt {
	max-width: 850px;
}

/* --------------------------------------------------------------------------
 * Single Events Manager event page
 * ----------------------------------------------------------------------- */
body.fds-asanam-single-event #main-content {
	background:
		radial-gradient(circle at 9% 7%, rgba(242, 161, 0, 0.08), transparent 28rem),
		linear-gradient(180deg, #fff 0, #fbf8f3 36rem, #fff 100%);
}

body.fds-asanam-single-event #main-content .container {
	max-width: var(--fds-asanam-event-max) !important;
	padding-bottom: clamp(52px, 7vw, 96px) !important;
	padding-top: clamp(18px, 3vw, 44px) !important;
}

body.fds-asanam-single-event #left-area > article,
body.fds-asanam-single-event #main-content article.event {
	color: var(--fds-asanam-page-text);
	margin: 0;
	padding-bottom: 0;
}

body.fds-asanam-single-event #left-area > article::before,
body.fds-asanam-single-event #main-content article.event::before {
	color: var(--fds-asanam-page-accent-dark);
	content: "Veranstaltung";
	display: block;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

body.fds-asanam-single-event #main-content .entry-title,
body.fds-asanam-single-event #main-content h1.entry-title {
	color: var(--fds-asanam-page-ink);
	font-size: clamp(2.05rem, 4.4vw, 4.1rem);
	font-weight: 760;
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin: 0 0 clamp(1.4rem, 3vw, 2.4rem);
	max-width: 1050px;
	padding: 0;
}

body.fds-asanam-single-event #main-content .post-meta,
body.fds-asanam-single-event #main-content .et_post_meta_wrapper .post-meta {
	display: none !important;
}

body.fds-asanam-single-event .em-item,
body.fds-asanam-single-event .em-event-content {
	--em-event-accent: var(--fds-asanam-page-accent);
	color: var(--fds-asanam-page-text);
	font-size: 1rem;
	line-height: 1.7;
	max-width: none;
}

body.fds-asanam-single-event .em-item *,
body.fds-asanam-single-event .em-event-content * {
	box-sizing: border-box;
}

body.fds-asanam-single-event .em-item-header {
	background:
		linear-gradient(135deg, rgba(242, 161, 0, 0.065), transparent 42%),
		var(--fds-asanam-page-surface);
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 26px;
	box-shadow: 0 20px 60px rgba(53, 43, 34, 0.09);
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2.15rem);
	position: relative;
}

body.fds-asanam-single-event .em-item-header::before {
	background: linear-gradient(90deg, var(--fds-asanam-page-accent), #ffc84f 62%, transparent);
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

body.fds-asanam-single-event .em-item-image {
	border-radius: 18px;
	overflow: hidden;
}

body.fds-asanam-single-event .em-item-image img {
	display: block;
	height: auto;
	width: 100%;
}

body.fds-asanam-single-event .em-item-header.fds-asanam-event-header-has-image {
	align-items: stretch;
	display: grid;
	gap: clamp(1rem, 2.6vw, 1.7rem);
	grid-template-columns: minmax(240px, 34%) minmax(0, 1fr);
}

body.fds-asanam-single-event .em-item-header.fds-asanam-event-header-has-image .em-item-image {
	min-height: 100%;
}

body.fds-asanam-single-event .em-item-header.fds-asanam-event-header-has-image .em-item-image img {
	height: 100%;
	object-fit: cover;
}

body.fds-asanam-single-event .em-item-meta {
	display: grid;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

body.fds-asanam-single-event .em-item-meta-column {
	display: grid;
	gap: 1rem;
	min-width: 0;
}

body.fds-asanam-single-event .em-event-when,
body.fds-asanam-single-event .em-event-where,
body.fds-asanam-single-event .em-item-taxonomies,
body.fds-asanam-single-event .em-event-bookings-meta,
body.fds-asanam-single-event .em-item-meta-column > section {
	background: rgba(255, 255, 255, 0.76);
	border: 1px solid #ece4da;
	border-radius: 17px;
	margin: 0;
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.3rem);
}

body.fds-asanam-single-event .em-item-meta h2,
body.fds-asanam-single-event .em-item-meta h3,
body.fds-asanam-single-event .em-item-meta h4,
body.fds-asanam-single-event .em-event-when > h3,
body.fds-asanam-single-event .em-event-where > h3,
body.fds-asanam-single-event .em-event-type > h3 {
	color: var(--fds-asanam-page-ink);
	font-family: inherit;
	font-size: 0.79rem;
	font-weight: 800;
	letter-spacing: 0.105em;
	line-height: 1.25;
	margin: 0 0 0.78rem;
	text-transform: uppercase;
}

body.fds-asanam-single-event .em-item-meta-line {
	align-items: flex-start;
	color: #5c544c;
	display: flex;
	font-size: 0.95rem;
	gap: 0.7rem;
	line-height: 1.58;
	margin: 0.38rem 0;
	min-width: 0;
}

body.fds-asanam-single-event .em-item-meta-line .em-icon,
body.fds-asanam-single-event .em-item-meta-line > i,
body.fds-asanam-single-event .em-item-meta-line > svg {
	color: var(--fds-asanam-page-accent-dark);
	flex: 0 0 auto;
	margin-top: 0.16rem;
}

body.fds-asanam-single-event .em-item-meta a,
body.fds-asanam-single-event .em-event-content a {
	color: #735016;
	font-weight: 650;
	text-decoration-color: rgba(115, 80, 22, 0.35);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

body.fds-asanam-single-event .em-item-meta a:hover,
body.fds-asanam-single-event .em-event-content a:hover {
	color: #9a6100;
	text-decoration-color: currentColor;
}

body.fds-asanam-single-event .em-event-add-to-calendar,
body.fds-asanam-single-event .em-booking-button,
body.fds-asanam-single-event .em-booking-submit,
body.fds-asanam-single-event .em-event-bookings-meta a.button,
body.fds-asanam-single-event .em-event-bookings a.button,
body.fds-asanam-single-event .em-item button,
body.fds-asanam-single-event .em-item input[type="submit"] {
	align-items: center;
	appearance: none;
	background: linear-gradient(135deg, #f5ad11, #ee9700) !important;
	border: 1px solid #dc8c00 !important;
	border-radius: 11px !important;
	box-shadow: 0 8px 22px rgba(218, 137, 0, 0.19);
	color: #2e251b !important;
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: 0.82rem;
	font-weight: 760;
	justify-content: center;
	letter-spacing: 0.01em;
	line-height: 1.2;
	min-height: 42px;
	padding: 0.66rem 0.95rem !important;
	text-decoration: none !important;
	transition: box-shadow 160ms ease, transform 160ms ease;
}

body.fds-asanam-single-event .em-event-add-to-calendar:hover,
body.fds-asanam-single-event .em-booking-button:hover,
body.fds-asanam-single-event .em-booking-submit:hover,
body.fds-asanam-single-event .em-event-bookings-meta a.button:hover,
body.fds-asanam-single-event .em-event-bookings a.button:hover,
body.fds-asanam-single-event .em-item button:hover,
body.fds-asanam-single-event .em-item input[type="submit"]:hover {
	box-shadow: 0 12px 28px rgba(218, 137, 0, 0.27);
	transform: translateY(-1px);
}

body.fds-asanam-single-event .em-event-add-to-calendar:focus-visible,
body.fds-asanam-single-event .em-booking-button:focus-visible,
body.fds-asanam-single-event .em-booking-submit:focus-visible,
body.fds-asanam-single-event .em-event-bookings-meta a.button:focus-visible,
body.fds-asanam-single-event .em-event-bookings a.button:focus-visible,
body.fds-asanam-single-event .em-item button:focus-visible,
body.fds-asanam-single-event .em-item input[type="submit"]:focus-visible {
	outline: 3px solid rgba(242, 161, 0, 0.35);
	outline-offset: 3px;
}

body.fds-asanam-single-event section.em-event-location,
body.fds-asanam-single-event .em-location-map,
body.fds-asanam-single-event .em-map,
body.fds-asanam-single-event .em-item-map {
	background: #f5f1ea;
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 18px;
	margin: 1rem 0;
	overflow: hidden;
}

body.fds-asanam-single-event section.em-event-location iframe,
body.fds-asanam-single-event .em-location-map iframe,
body.fds-asanam-single-event .em-map iframe,
body.fds-asanam-single-event .em-item-map iframe {
	border: 0;
	display: block;
	min-height: 320px;
	width: 100%;
}

body.fds-asanam-single-event .em-event-content,
body.fds-asanam-single-event .em-event-bookings,
body.fds-asanam-single-event .em-item-body,
body.fds-asanam-single-event .em-item-content {
	background: var(--fds-asanam-page-surface);
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 22px;
	box-shadow: 0 12px 38px rgba(53, 43, 34, 0.055);
	color: var(--fds-asanam-page-text);
	font-size: 1rem;
	line-height: 1.78;
	margin-top: clamp(1.1rem, 2.4vw, 1.7rem);
	padding: clamp(1.25rem, 3vw, 2rem);
}

body.fds-asanam-single-event .em-event-content > :first-child,
body.fds-asanam-single-event .em-event-bookings > :first-child,
body.fds-asanam-single-event .em-item-body > :first-child,
body.fds-asanam-single-event .em-item-content > :first-child {
	margin-top: 0;
}

body.fds-asanam-single-event .em-event-content > :last-child,
body.fds-asanam-single-event .em-event-bookings > :last-child,
body.fds-asanam-single-event .em-item-body > :last-child,
body.fds-asanam-single-event .em-item-content > :last-child {
	margin-bottom: 0;
}

body.fds-asanam-single-event .em-event-content h2,
body.fds-asanam-single-event .em-event-content h3,
body.fds-asanam-single-event .em-event-bookings h2,
body.fds-asanam-single-event .em-event-bookings h3,
body.fds-asanam-single-event .em-item-body h2,
body.fds-asanam-single-event .em-item-body h3,
body.fds-asanam-single-event .em-item-content h2,
body.fds-asanam-single-event .em-item-content h3 {
	color: var(--fds-asanam-page-ink);
	font-family: inherit;
	font-weight: 740;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

/* Fallback for older/default EM markup that does not wrap the meta in .em-item-header. */
body.fds-asanam-single-event.fds-asanam-event-detail-ready .entry-content > .em-item,
body.fds-asanam-single-event.fds-asanam-event-detail-ready .entry-content > .em-event-content {
	width: 100%;
}

@media (max-width: 1100px) {
	body.fds-asanam-calendar-page .asanam-events--list .asanam-event-card {
		grid-template-columns: minmax(235px, 36%) minmax(0, 1fr);
	}
}

@media (max-width: 820px) {
	body.fds-asanam-ui-page {
		--fds-asanam-page-gutter: clamp(15px, 4vw, 28px);
	}

	body.fds-asanam-single-event .em-item-meta {
		grid-template-columns: minmax(0, 1fr);
	}

	body.fds-asanam-single-event .em-item-header {
		border-radius: 20px;
	}
}

@media (max-width: 680px) {
	body.fds-asanam-header-overlap #main-content {
		padding-top: max(70px, var(--fds-asanam-header-clearance)) !important;
	}

	body.fds-asanam-calendar-page .asanam-events--list .asanam-event-card {
		display: flex;
	}

	body.fds-asanam-single-event .em-item-header.fds-asanam-event-header-has-image {
		grid-template-columns: minmax(0, 1fr);
	}

	body.fds-asanam-single-event .em-item-header.fds-asanam-event-header-has-image .em-item-image img {
		aspect-ratio: 16 / 9;
		height: auto;
	}

	body.fds-asanam-single-event #main-content .entry-title,
	body.fds-asanam-single-event #main-content h1.entry-title {
		font-size: clamp(1.9rem, 10vw, 2.8rem);
	}

	body.fds-asanam-single-event .em-item-header,
	body.fds-asanam-single-event .em-event-content,
	body.fds-asanam-single-event .em-event-bookings,
	body.fds-asanam-single-event .em-item-body,
	body.fds-asanam-single-event .em-item-content {
		border-radius: 17px;
		padding: 1rem;
	}

	body.fds-asanam-single-event .em-event-add-to-calendar,
	body.fds-asanam-single-event .em-booking-button,
	body.fds-asanam-single-event .em-booking-submit,
	body.fds-asanam-single-event .em-event-bookings-meta a.button,
	body.fds-asanam-single-event .em-event-bookings a.button,
	body.fds-asanam-single-event .em-item button,
	body.fds-asanam-single-event .em-item input[type="submit"] {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.fds-asanam-ui-page *,
	body.fds-asanam-ui-page *::before,
	body.fds-asanam-ui-page *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

/* ========================================================================== 
 * 1.0.13: real ASANAM header geometry and location-detail integration
 * ======================================================================= */

html.fds-asanam-ui-document {
	scroll-padding-top: var(--fds-asanam-document-header-offset, 132px);
}

/* Reserve the measured header plus a visible breathing gap. */
body.fds-asanam-ui-page.et_transparent_nav #main-content,
body.fds-asanam-ui-page.fds-asanam-header-overlap #main-content {
	padding-top: var(--fds-asanam-header-clearance) !important;
}

body.fds-asanam-ui-page #main-content {
	isolation: isolate;
	position: relative;
}

body.fds-asanam-ui-page .asanam-events__heading,
body.fds-asanam-ui-page #left-area > article,
body.fds-asanam-ui-page #main-content .entry-title {
	scroll-margin-top: calc(var(--fds-asanam-header-height) + var(--fds-asanam-header-gap));
}

/* Keep the original ASANAM header language: white shell, genuine wordmark and dark menu. */
body.fds-asanam-ui-page .et-l--header,
body.fds-asanam-ui-page .et-l--header .et_builder_inner_content,
body.fds-asanam-ui-page .et-l--header .et_pb_section,
body.fds-asanam-ui-page #main-header {
	background-color: rgba(255, 255, 255, 0.99) !important;
}

body.fds-asanam-ui-page .et-l--header,
body.fds-asanam-ui-page #main-header {
	box-shadow: 0 1px 0 rgba(55, 45, 36, 0.10), 0 10px 30px rgba(55, 45, 36, 0.055) !important;
	isolation: isolate;
	z-index: 9998 !important;
}

body.fds-asanam-ui-page .et-l--header .et_pb_menu__logo img,
body.fds-asanam-ui-page .et-l--header .et_pb_image img,
body.fds-asanam-ui-page #main-header #logo,
body.fds-asanam-ui-page #main-header .logo_container img {
	filter: none !important;
	opacity: 1 !important;
}

body.fds-asanam-ui-page .et-l--header .mobile_menu_bar::before,
body.fds-asanam-ui-page .et-l--header .et_pb_menu__icon,
body.fds-asanam-ui-page #main-header .mobile_menu_bar::before {
	color: #4a433c !important;
}

/* Shared detail-page shell. Event-specific styling from 1.0.12 remains unchanged. */
body.fds-asanam-detail-page #main-content {
	background:
		radial-gradient(circle at 9% 7%, rgba(242, 161, 0, 0.08), transparent 28rem),
		linear-gradient(180deg, #fff 0, #fbf8f3 36rem, #fff 100%);
}

body.fds-asanam-detail-page #main-content .container {
	max-width: var(--fds-asanam-event-max) !important;
	padding-bottom: clamp(52px, 7vw, 96px) !important;
	padding-top: clamp(18px, 3vw, 44px) !important;
}

body.fds-asanam-detail-page #left-area > article,
body.fds-asanam-detail-page #main-content article.event,
body.fds-asanam-detail-page #main-content article.location {
	color: var(--fds-asanam-page-text);
	margin: 0;
	padding-bottom: 0;
}

body.fds-asanam-single-location #left-area > article::before,
body.fds-asanam-single-location #main-content article.location::before {
	color: var(--fds-asanam-page-accent-dark);
	content: "Veranstaltungsort";
	display: block;
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

body.fds-asanam-single-location #main-content .entry-title,
body.fds-asanam-single-location #main-content h1.entry-title {
	color: var(--fds-asanam-page-ink);
	font-size: clamp(2.05rem, 4.4vw, 4.1rem);
	font-weight: 760;
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin: 0 0 clamp(1.4rem, 3vw, 2.4rem);
	max-width: 1050px;
	padding: 0;
}

body.fds-asanam-single-location #main-content .post-meta,
body.fds-asanam-single-location #main-content .et_post_meta_wrapper .post-meta {
	display: none !important;
}

body.fds-asanam-single-location .em-item,
body.fds-asanam-single-location .em-location,
body.fds-asanam-single-location .em-location-content {
	--em-event-accent: var(--fds-asanam-page-accent);
	color: var(--fds-asanam-page-text);
	font-size: 1rem;
	line-height: 1.7;
	max-width: none;
}

body.fds-asanam-single-location .em-item *,
body.fds-asanam-single-location .em-location *,
body.fds-asanam-single-location .em-location-content * {
	box-sizing: border-box;
}

body.fds-asanam-single-location .em-item-header {
	background:
		linear-gradient(135deg, rgba(242, 161, 0, 0.065), transparent 42%),
		var(--fds-asanam-page-surface);
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 26px;
	box-shadow: 0 20px 60px rgba(53, 43, 34, 0.09);
	margin: 0 0 clamp(1.25rem, 3vw, 2rem);
	overflow: hidden;
	padding: clamp(1.25rem, 3vw, 2.15rem);
	position: relative;
}

body.fds-asanam-single-location .em-item-header::before {
	background: linear-gradient(90deg, var(--fds-asanam-page-accent), #ffc84f 62%, transparent);
	content: "";
	height: 4px;
	inset: 0 0 auto;
	position: absolute;
}

body.fds-asanam-single-location .em-item-meta {
	display: grid;
	gap: clamp(1rem, 2.4vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

body.fds-asanam-single-location .em-item-meta-column {
	display: grid;
	gap: 1rem;
	min-width: 0;
}

body.fds-asanam-single-location .em-location-where,
body.fds-asanam-single-location .em-location-next-event,
body.fds-asanam-single-location .em-item-meta-column > section {
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid #ece4da;
	border-radius: 17px;
	margin: 0;
	min-width: 0;
	padding: clamp(1rem, 2vw, 1.3rem);
}

body.fds-asanam-single-location .em-item-meta h2,
body.fds-asanam-single-location .em-item-meta h3,
body.fds-asanam-single-location .em-item-meta h4,
body.fds-asanam-single-location .em-location h2,
body.fds-asanam-single-location .em-location h3 {
	color: var(--fds-asanam-page-ink);
	font-family: inherit;
	font-weight: 740;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

body.fds-asanam-single-location .em-item-meta h2,
body.fds-asanam-single-location .em-item-meta h3,
body.fds-asanam-single-location .em-item-meta h4 {
	font-size: 0.79rem;
	font-weight: 800;
	letter-spacing: 0.105em;
	margin: 0 0 0.78rem;
	text-transform: uppercase;
}

body.fds-asanam-single-location .em-item-meta-line {
	align-items: flex-start;
	color: #5c544c;
	display: flex;
	font-size: 0.95rem;
	gap: 0.7rem;
	line-height: 1.58;
	margin: 0.38rem 0;
	min-width: 0;
}

body.fds-asanam-single-location .em-location-content,
body.fds-asanam-single-location .em-location-description,
body.fds-asanam-single-location .em-item-body,
body.fds-asanam-single-location .em-item-content {
	background: var(--fds-asanam-page-surface);
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 22px;
	box-shadow: 0 12px 38px rgba(53, 43, 34, 0.055);
	color: var(--fds-asanam-page-text);
	line-height: 1.75;
	margin-top: clamp(1.1rem, 2.4vw, 1.7rem);
	padding: clamp(1.25rem, 3vw, 2rem);
}

body.fds-asanam-single-location .entry-content > h2,
body.fds-asanam-single-location .em-location > h2 {
	color: var(--fds-asanam-page-ink);
	font-size: clamp(1.45rem, 2.6vw, 2rem);
	font-weight: 740;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin: clamp(1.6rem, 3vw, 2.4rem) 0 0.8rem;
}

body.fds-asanam-single-location .em-location-map,
body.fds-asanam-single-location .em-map,
body.fds-asanam-single-location .em-item-map {
	background: #f5f1ea;
	border: 1px solid var(--fds-asanam-page-border);
	border-radius: 18px;
	margin: 1rem 0;
	overflow: hidden;
}

@media (max-width: 820px) {
	body.fds-asanam-single-location .em-item-meta {
		grid-template-columns: minmax(0, 1fr);
	}

	body.fds-asanam-single-location .em-item-header {
		border-radius: 20px;
	}
}

@media (max-width: 680px) {
	body.fds-asanam-ui-page {
		--fds-asanam-header-height: 72px;
		--fds-asanam-header-gap: 24px;
		--fds-asanam-header-clearance: 108px;
	}

	body.fds-asanam-header-overlap #main-content,
	body.fds-asanam-ui-page.et_transparent_nav #main-content {
		padding-top: var(--fds-asanam-header-clearance) !important;
	}

	body.fds-asanam-single-location #main-content .entry-title,
	body.fds-asanam-single-location #main-content h1.entry-title {
		font-size: clamp(1.9rem, 10vw, 2.8rem);
	}

	body.fds-asanam-single-location .em-item-header,
	body.fds-asanam-single-location .em-location-content,
	body.fds-asanam-single-location .em-location-description,
	body.fds-asanam-single-location .em-item-body,
	body.fds-asanam-single-location .em-item-content {
		border-radius: 17px;
		padding: 1rem;
	}
}

/* 1.0.14: real, readable notice text; no CSS-generated translations. */
body.fds-asanam-detail-page #main-content .fds-asanam-empty-state,
body.fds-asanam-detail-page #main-content .fds-asanam-map-unavailable {
	box-sizing: border-box;
	display: block !important;
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	font-size: 0.95rem !important;
	font-style: normal !important;
	font-weight: 500;
	line-height: 1.6 !important;
	text-align: start;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word;
	margin: 0.75rem 0 !important;
	padding: 0.85rem 1rem !important;
	border-radius: 12px !important;
}

body.fds-asanam-detail-page #main-content .fds-asanam-empty-state {
	color: #5c544c !important;
	background: #faf7f2 !important;
	border: 1px dashed #dfd3c4 !important;
}

body.fds-asanam-detail-page #main-content .fds-asanam-map-unavailable {
	color: #6c4a12 !important;
	background: #fff8e8 !important;
	border: 1px solid #efd49c !important;
}

body.fds-asanam-detail-page #main-content .em-item-meta-line.fds-asanam-empty-state,
body.fds-asanam-detail-page #main-content .em-item-meta-line.fds-asanam-map-unavailable {
	display: flex !important;
	align-items: flex-start;
	gap: 0.7rem;
}

body.fds-asanam-detail-page #main-content .fds-asanam-notice-content,
body.fds-asanam-detail-page #main-content .fds-asanam-notice-text:not(.fds-asanam-empty-state):not(.fds-asanam-map-unavailable) {
	box-sizing: border-box;
	display: block !important;
	flex: 1 1 0%;
	float: none !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	color: inherit !important;
	font-size: inherit !important;
	font-style: normal !important;
	line-height: inherit !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: break-word;
}

/* The calendar icon remains decorative; it may not consume the message column. */
body.fds-asanam-detail-page #main-content .fds-asanam-empty-state > .em-icon,
body.fds-asanam-detail-page #main-content .fds-asanam-map-unavailable > .em-icon {
	flex: 0 0 1.2rem;
	width: 1.2rem;
	margin-top: 0.2rem;
}

/* Only verified empty description containers receive this class. No data is removed. */
body.fds-asanam-single-location #main-content .fds-asanam-empty-content {
	display: none !important;
}
