/*
Theme Name: Isha Yoga
Description: Тема школы Иша Хатха Йоги.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.3
Text Domain: isha-yoga
*/

* { box-sizing: border-box; }

body { margin: 0; }

[hidden] { display: none !important; }

.isha-theme {
	--isha-line: var(--wp--custom--color--line);
	--isha-gutter: var(--wp--custom--layout--gutter);
	--isha-gap: var(--wp--custom--layout--gap);
	--isha-section: var(--wp--custom--layout--section);
	--isha-page-start: var(--wp--preset--spacing--16);
	--isha-page-title: clamp(2.5rem, 5.2vw, 4rem);
	--isha-radius: var(--wp--custom--radius--card);
	--isha-feature-radius: var(--wp--custom--radius--feature);
	--isha-muted: var(--wp--preset--color--muted);
	--isha-ink: var(--wp--preset--color--ink);
	--isha-paper: var(--wp--preset--color--paper);
	--isha-stone: var(--wp--preset--color--stone);
}

.isha-shell {
	width: min(calc(100% - 2 * var(--isha-gutter, 1rem)), var(--wp--style--global--wide-size, 90rem));
	margin-inline: auto;
}

.isha-theme :is(h1, h2, h3, h4, p, dd) { margin: 0; }

.isha-theme :is(h1, h2, h3) { text-wrap: balance; }
.isha-theme :is(img, video, iframe) { max-inline-size: 100%; }
.isha-theme img { display: block; block-size: auto; }
.isha-theme [id] { scroll-margin-block-start: 1.25rem; }
.isha-theme .site-main { min-block-size: 56vh; overflow-wrap: anywhere; }
.isha-theme .site-main.isha-shell { padding-block: var(--isha-section); }
.isha-theme .site-main.isha-page-intro { padding-block: clamp(3rem, 8vw, 7rem); }

.isha-section { padding-block: var(--isha-section); }

.isha-lead { font-size: var(--wp--preset--font-size--lead); }
.isha-lead, .has-lead-font-size {
	line-height: var(--wp--custom--type--lead--line-height);
}

.isha-theme :is(.isha-prose, .isha-entry) { max-inline-size: var(--wp--style--global--content-size); }
.isha-theme :is(.isha-prose, .isha-entry) > * + * { margin-block-start: var(--wp--preset--spacing--24); }

.isha-prose :is(video, .wp-block-embed, iframe), .isha-intro-media :is(video, iframe) {
	display: block;
	max-inline-size: 100%;
}
.isha-prose :is(video, iframe), .isha-intro-media :is(video, iframe) {
	inline-size: 100%;
	border: 0;
	border-radius: var(--isha-radius);
}
.isha-intro-media iframe { block-size: auto; aspect-ratio: 16 / 9; }
.isha-theme .isha-media-link { margin-block-start: var(--wp--preset--spacing--12); }

.isha-skip-link {
	position: fixed;
	inset-block-start: calc(var(--wp-admin--admin-bar--height, 0px) + .5rem);
	inset-inline-start: .5rem;
	z-index: 20;
	padding: .5rem 1rem;
	background: var(--isha-paper);
	color: var(--isha-ink);
}
.isha-skip-link:not(:focus) { clip-path: inset(50%); }

.site-header {
	--header-motion: 340ms var(--wp--custom--motion--ease);
	--header-solid: 100%;
	--header-monochrome: 0;
	--header-text: color-mix(in srgb, var(--isha-ink) var(--header-solid), white);
	--header-line: color-mix(in srgb, var(--isha-line) var(--header-solid), rgb(255 255 255 / .23));
	--header-hover: color-mix(in srgb, var(--wp--custom--color--stone-hover) var(--header-solid), rgb(255 255 255 / .18));
	--header-pressed: color-mix(in srgb, var(--wp--custom--color--stone-pressed) var(--header-solid), rgb(255 255 255 / .27));
	--nav-hover: color-mix(in srgb, var(--wp--preset--color--surface) var(--header-solid), rgb(255 255 255 / .10));
	--nav-pressed: color-mix(in srgb, var(--isha-stone) var(--header-solid), rgb(255 255 255 / .20));
	--isha-focus-color: var(--header-text);
	position: sticky;
	inset-block-start: var(--wp-admin--admin-bar--height, 0px);
	z-index: 5;
	background-color: color-mix(in srgb, var(--wp--preset--color--white) var(--header-solid), transparent);
	color: var(--header-text);
	transition: background-color var(--header-motion), color var(--header-motion);
}

.site-header--over-hero {
	--header-solid: 0%;
	--header-monochrome: 1;
	position: fixed;
	inset-inline: 0;
}

.site-header--over-hero[data-scrolled] {
	--header-solid: 100%;
	--header-monochrome: 0;
}

@media (hover: hover) {
	.site-header .isha-nav-item:hover { background-color: var(--nav-hover); }
}

html:has([data-site-header]) {
	--isha-header-offset: 7rem;
	scroll-padding-block-start: var(--isha-header-offset);
}

.isha-topbar {
	--header-contact-accent: color-mix(in srgb, var(--wp--custom--color--selection) var(--header-solid), var(--wp--preset--color--on-dark-accent));
	border-block-end: 1px solid var(--header-line);
	font-size: .8125rem;
	line-height: 1.35;
	transition: border-color var(--header-motion);
}
.isha-topbar__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	min-block-size: 2.625rem;
	gap: var(--wp--preset--spacing--16);
}
.isha-topbar .isha-header__channels {
	grid-column: 3;
	grid-row: 1;
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	gap: 0 var(--wp--preset--spacing--12);
}
.isha-topbar .isha-header__social { justify-content: end; }
.isha-topbar .isha-header__direct { grid-column: 1; grid-row: 1; column-gap: clamp(.5rem, 1vw, 1rem); }
.isha-topbar .isha-header__hours {
	grid-column: 2;
	grid-row: 1;
	color: color-mix(in srgb, var(--isha-muted) var(--header-solid), var(--wp--preset--color--white));
	transition: color var(--header-motion);
}

.isha-header__hours {
	display: inline-flex;
	align-items: center;
	gap: .375rem;
	color: var(--isha-muted);
	font-variant-numeric: tabular-nums;
}
.isha-header__hours .isha-icon { inline-size: 1rem; block-size: 1rem; }
.isha-header__hours span { overflow-wrap: anywhere; }
.isha-header__direct, .isha-header__social { display: flex; flex-wrap: wrap; align-items: center; }
.isha-header__direct { gap: 0 clamp(.5rem, 1.5vw, 1.5rem); font-weight: 550; }
.isha-header__direct li { max-inline-size: 100%; }
.isha-header__social { gap: .125rem; }

.isha-header__social-link, .isha-header__contact-link {
	display: inline-flex;
	align-items: center;
	min-block-size: 2rem;
	border-radius: .25rem;
	color: inherit;
	text-decoration: none;
	transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease);
}
.isha-header__contact-link { overflow-wrap: anywhere; }
.isha-header__social-link { inline-size: 2rem; justify-content: center; }
.isha-header__social-link :is(img, .isha-icon) {
	inline-size: var(--header-social-size, 1.25rem);
	block-size: var(--header-social-size, 1.25rem);
	object-fit: contain;
}
.isha-social-icon {
	display: block;
	flex: none;
	inline-size: var(--header-social-size, 1.25rem);
	block-size: var(--header-social-size, 1.25rem);
	fill: currentColor;
}
:is(.isha-header__social-link, .isha-header__contact-link):is(:focus-visible:where(:not([data-isha-pointer] *)), :active) { color: var(--header-contact-accent, var(--wp--custom--color--selection)); }
@media (hover: hover) {
	:is(.isha-header__social-link, .isha-header__contact-link):hover { color: var(--header-contact-accent, var(--wp--custom--color--selection)); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.isha-header__social-link .isha-social-icon { transition: translate var(--wp--custom--motion--fast) var(--wp--custom--motion--ease); }
	.isha-header__social-link:hover .isha-social-icon { translate: 0 -1px; }
}

.isha-header__inner {
	display: grid;
	grid-template-columns: minmax(max-content, 1fr) auto minmax(max-content, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-block-size: 4.25rem;
}

.isha-brand { display: inline-block; justify-self: start; border-radius: .25rem; }
.isha-brand img { width: clamp(8.25rem, 12vw, 10.25rem); }
.site-header .isha-brand img {
	filter: brightness(calc(1 - var(--header-monochrome))) invert(var(--header-monochrome));
	transition: filter var(--header-motion);
}

.isha-theme :is(.isha-header__social, .isha-header__direct, .isha-nav-list, .isha-footer-links ul, .isha-city__venues, .isha-orbit) {
	list-style: none;
	padding: 0;
	margin-block: 0;
}

.isha-nav-home, .isha-mobile-menu { display: none; }
.isha-nav-list { display: flex; gap: var(--wp--preset--spacing--4); align-items: center; }
.isha-nav-item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-block-size: var(--wp--custom--size--target);
	padding-inline: var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--pill);
	color: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--type--interface--weight);
	text-decoration: none;
	transition: background-color var(--header-motion);
}

.site-header .isha-nav-item:is([aria-current], [data-current]),
.site-header .isha-nav-item:active { background-color: var(--nav-pressed); }

.isha-header__actions { display: flex; gap: var(--wp--preset--spacing--8); align-items: center; justify-self: end; }
.site-header .isha-header-cta {
	--button-bg: var(--header-text);
	--button-keyboard-color: var(--button-fg);
	--button-fg: color-mix(in srgb, white var(--header-solid), var(--isha-ink));
	--button-hover: color-mix(in srgb, var(--header-text) 88%, var(--button-fg));
	--button-pressed: color-mix(in srgb, var(--wp--custom--color--ink-pressed) var(--header-solid), var(--wp--custom--color--stone-pressed));
	white-space: nowrap;
}

.isha-home-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	min-block-size: 100vh;
	min-block-size: 100svh;
	padding-inline: var(--isha-gutter);
	padding-block: calc(var(--isha-header-offset, 7rem) + 1.75rem) clamp(4.75rem, 9svh, 7rem);
	overflow: hidden;
	background: var(--isha-ink);
	color: var(--wp--preset--color--white);
	text-align: center;
	--isha-focus-color: var(--wp--custom--color--focus-on-solid);
}

.isha-home-hero__media,
.isha-home-hero__media :is(img, video),
.isha-home-hero__media::after { position: absolute; inset: 0; }

.isha-home-hero__media { z-index: -1; }
.isha-home-hero__media :is(img, video) {
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
	object-position: center;
}
.isha-home-hero__media video { opacity: 0; }
.isha-home-hero[data-video-ready] video { opacity: 1; }
.isha-home-hero__media::after {
	content: "";
	background:
		linear-gradient(180deg, rgb(18 18 15 / .7), transparent 30%, transparent 65%, rgb(18 18 15 / .4)),
		radial-gradient(ellipse at center, rgb(18 18 15 / .74) 0, rgb(18 18 15 / .65) 48%, rgb(18 18 15 / .24) 100%);
}

.isha-home-hero__content { display: grid; justify-items: center; gap: clamp(var(--wp--preset--spacing--16), 4svh, var(--wp--preset--spacing--32)); max-inline-size: 62rem; }
.isha-home-hero hgroup { display: grid; justify-items: center; margin: 0; }
.isha-home-hero hgroup > h1 { margin-block-start: var(--wp--preset--spacing--8); max-inline-size: 24ch; color: inherit; }
.isha-home-hero__eyebrow {
	color: inherit;
	font-size: clamp(.875rem, 1.45vw, 1.0625rem);
	font-weight: var(--wp--custom--type--interface--weight);
	line-height: var(--wp--custom--type--interface--line-height);
	text-wrap: balance;
}
.isha-home-hero .isha-home-hero__lead {
	margin-block-start: var(--hero-lead-gap, clamp(var(--wp--preset--spacing--12), 2.5svh, var(--wp--preset--spacing--24)));
	max-inline-size: 49ch;
	color: color-mix(in srgb, var(--wp--preset--color--white) 92%, transparent);
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	line-height: var(--wp--custom--type--lead--line-height);
	text-wrap: balance;
}
.isha-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--12); }
.isha-home-hero .isha-actions { justify-content: center; }
.isha-home-hero .isha-actions .isha-button { --button-padding: 1.125rem; min-inline-size: 10.5rem; }
.site-header .isha-mobile-toggle {
	--button-bg: transparent;
	--button-keyboard-color: var(--header-text);
	--button-fg: var(--header-text);
	--button-hover: var(--header-hover);
	--button-pressed: var(--header-pressed);
}

:is(.isha-home-hero, .isha-program-hero, .isha-player) .isha-button--glass {
	--button-bg: color-mix(in srgb, var(--wp--preset--color--white) 16%, transparent);
	--button-fg: var(--wp--preset--color--white);
	--button-hover: color-mix(in srgb, var(--wp--preset--color--white) 24%, transparent);
	--button-pressed: rgb(18 18 15 / .58);
	backdrop-filter: blur(14px);
}

.isha-home-hero .isha-hero-toggle {
	--button-height: 3.75rem;
	position: absolute;
	display: grid;
	place-items: center;
	inset-block-end: max(var(--wp--preset--spacing--24), env(safe-area-inset-bottom));
	inset-inline-end: var(--isha-gutter);
}
:is(.isha-hero-toggle, .isha-player__toggle) span { display: grid; grid-area: 1 / 1; place-items: center; }
:is(.isha-hero-toggle, .isha-player__toggle) .isha-icon { inline-size: 1.625rem; block-size: 1.625rem; fill: currentColor; stroke: none; }
:is(.isha-hero-toggle, .isha-player__toggle) [data-icon-play] { translate: 1px 0; }
:is(.isha-hero-toggle, .isha-player__toggle):not([data-playing]) [data-icon-pause],
:is(.isha-hero-toggle, .isha-player__toggle)[data-playing] [data-icon-play] { opacity: 0; }

.isha-home-inner { max-inline-size: 70rem; }
.isha-split {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: clamp(2rem, 6vw, 6rem);
}
.isha-theme .isha-intro__eyebrow {
	color: var(--isha-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--type--small--line-height);
	margin-block-end: var(--wp--preset--spacing--12);
}
.isha-intro .isha-prose { margin-block-start: var(--wp--preset--spacing--24); }
.isha-intro-media > img { width: 100%; aspect-ratio: 1.6; object-fit: cover; border-radius: var(--isha-feature-radius); }
.isha-player {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: var(--isha-feature-radius);
	background: var(--isha-ink);
}
.isha-player video { display: block; inline-size: 100%; aspect-ratio: auto 16 / 9; }
.isha-intro-media .isha-player video { aspect-ratio: 16 / 9; object-fit: contain; border-radius: inherit; }
.isha-player .isha-player__toggle {
	--button-height: 3.75rem;
	--button-bg: rgb(24 23 20 / .62);
	--button-fg: var(--wp--preset--color--white);
	--button-hover: rgb(24 23 20 / .74);
	--button-pressed: rgb(24 23 20 / .84);
	position: absolute;
	display: grid;
	place-items: center;
	inset-block-start: 50%;
	inset-inline-start: 50%;
	transform: translate(-50%, -50%);
	box-shadow: var(--wp--preset--shadow--lift);
}
.isha-theme .isha-player__status {
	position: absolute;
	inset: 50% 1rem auto;
	translate: 0 -50%;
	padding: .75rem;
	border-radius: var(--isha-radius);
	background: var(--isha-ink);
	color: white;
	text-align: center;
}

.isha-approach {
	position: relative;
	isolation: isolate;
	display: grid;
	place-items: center;
	inline-size: min(100%, 70rem);
	min-block-size: clamp(25rem, 100vw, 53rem);
	margin-inline: auto;
	overflow: hidden;
	overflow: clip;
	text-align: center;
	--orbit-period: 96s;
}
.isha-orbit {
	position: absolute;
	inset: 50% auto auto 50%;
	translate: -50% -50%;
	inline-size: min(calc(100% + clamp(-8.5rem, 18rem - 60vw, 2rem) + var(--orbit-extra, 0rem)), 44rem);
	aspect-ratio: 1;
	border: 1px dashed color-mix(in srgb, var(--isha-muted) 53%, transparent);
	border-radius: 50%;
	pointer-events: none;
}
.isha-orbit__track {
	position: absolute;
	inset: 0;
	rotate: var(--orbit-angle);
	animation: isha-orbit-turn var(--orbit-period) linear infinite paused;
}
.isha-orbit__point {
	position: absolute;
	inset: 0 auto auto 50%;
	display: grid;
	place-items: center;
	translate: -50% -50%;
	rotate: calc(0deg - var(--orbit-angle));
	animation: isha-orbit-counterturn var(--orbit-period) linear infinite paused;
}
.isha-approach[data-orbit-active] :is(.isha-orbit__track, .isha-orbit__point) { animation-play-state: running; }
.isha-orbit__card {
	display: grid;
	grid-area: 1 / 1;
	justify-items: center;
	gap: clamp(.125rem, .8vw, .375rem);
	opacity: 0;
	white-space: nowrap;
}
.isha-orbit__card[data-orbit-current] { opacity: 1; }
.isha-orbit img {
	inline-size: clamp(2.25rem, 6vw, 5rem);
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--field);
}
.isha-orbit__card span {
	padding: .2em clamp(.25rem, .85vw, .75rem);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--isha-stone);
	color: var(--isha-ink);
	font-size: clamp(.6875rem, 1.5vw, .9375rem);
}
.isha-approach__content {
	position: relative;
	z-index: 1;
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--24);
	inline-size: min(48%, 30rem);
	margin: 0;
}
.isha-approach__content blockquote { margin: 0; }
.isha-approach__content h2 {
	font-size: var(--wp--preset--font-size--h-2);
	line-height: 1.15;
	overflow-wrap: break-word;
}
.isha-approach__content h2 .isha-approach__action {
	display: block;
	margin-block-start: var(--wp--preset--spacing--8);
	font-weight: inherit;
}
.isha-approach__attribution {
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--8);
}
.isha-approach__credit {
	--isha-link: var(--isha-muted);
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--type--interface--line-height);
}
.isha-approach__portrait { border-radius: 50%; }
.isha-approach__attribution img {
	inline-size: 3.5rem;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: 50% 30%;
	border-radius: 50%;
}
@keyframes isha-orbit-turn { to { rotate: calc(var(--orbit-angle) + 360deg); } }
@keyframes isha-orbit-counterturn { to { rotate: calc(0deg - var(--orbit-angle) - 360deg); } }

@media (min-width: 75rem) {
	.isha-approach { inline-size: min(100%, 76rem); min-block-size: 59rem; }
	.isha-orbit { inline-size: 50rem; }
	.isha-approach__content { inline-size: min(50%, 34rem); }
}

.isha-home-programs {
	--rail-inset: max(var(--isha-gutter), (100% - var(--wp--style--global--wide-size, 90rem)) / 2);
}
.isha-home-programs__heading { margin-block-end: var(--wp--preset--spacing--24); text-align: center; }
.isha-theme .isha-home-programs__heading p {
	margin-block-start: var(--wp--preset--spacing--8);
	color: var(--isha-muted);
}
.isha-program-rail {
	--rail-card: clamp(17rem, 27vw, 27rem);
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: var(--rail-card);
	gap: var(--isha-gap);
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	overscroll-behavior-inline: contain;
	scroll-snap-type: inline mandatory;
	scroll-padding-inline: var(--rail-inset);
	padding: var(--wp--preset--spacing--4) var(--rail-inset);
	margin: 0;
	list-style: none;
}
.isha-program-rail::-webkit-scrollbar { display: none; }
.isha-program-rail > li { min-inline-size: 0; scroll-snap-align: start; }
.isha-home-programs__actions {
	--rail-arrow-size: var(--wp--custom--size--button);
	display: grid;
	grid-template-columns: var(--rail-arrow-size) minmax(0, 1fr) var(--rail-arrow-size);
	align-items: center;
	justify-items: center;
	gap: var(--wp--preset--spacing--16);
	margin-block-start: var(--wp--preset--spacing--24);
}
.isha-home-programs__actions > a { grid-column: 2; }
.isha-home-programs__actions [data-program-step="-1"] { grid-column: 1; }
.isha-home-programs__actions [data-program-step="1"] { grid-column: 3; }
.isha-home-programs__actions:not(:has([data-program-step]:not([hidden]))) > a { grid-column: 1 / -1; }
.isha-home-programs__actions [data-program-step][aria-disabled="true"] {
	background: var(--wp--custom--color--disabled-bg);
	color: var(--wp--custom--color--disabled-text);
	opacity: .55;
	cursor: default;
	scale: none;
}
@media (min-width: 54rem) {
	.isha-home-programs__actions {
		grid-template-columns: repeat(2, var(--rail-arrow-size)) minmax(0, 1fr) repeat(2, var(--rail-arrow-size));
	}
	.isha-home-programs__actions > a { grid-area: 1 / 3; }
	.isha-home-programs__actions [data-program-step="-1"] { grid-area: 1 / 4; }
	.isha-home-programs__actions [data-program-step="1"] { grid-area: 1 / 5; }
}
[dir="rtl"] :is([data-program-step], .isha-program-rail .isha-program-card__body) .isha-icon { scale: -1 1; }
@media (max-width: 40rem) {
	.isha-program-rail { --rail-card: min(24rem, calc(100vw - 3.5rem)); }
	.isha-home-programs__actions { gap: var(--wp--preset--spacing--12); }
	.isha-home-programs__actions > a { --button-padding: var(--wp--preset--spacing--16); }
}
@media (max-width: 23rem) {
	.isha-home-programs__actions > a { --button-padding: var(--wp--preset--spacing--12); }
}

.isha-theme .isha-home-schedule {
	--isha-muted: var(--wp--preset--color--on-dark-muted);
	--isha-line: color-mix(in srgb, var(--isha-muted) 23%, transparent);
	--schedule-bg: var(--wp--preset--color--dark);
	--schedule-photo: url("assets/contacts/practice.webp");
	background-image: linear-gradient(
		to bottom,
		var(--schedule-bg),
		color-mix(in srgb, var(--schedule-bg) 82%, transparent) clamp(6rem, 22%, 18rem),
		color-mix(in srgb, var(--schedule-bg) 76%, transparent) 55%,
		color-mix(in srgb, var(--schedule-bg) 82%, transparent) calc(100% - clamp(6rem, 20%, 16rem)),
		var(--schedule-bg)
	), var(--schedule-photo);
	background-position: center, center;
	background-size: 100% 100%, cover;
	background-repeat: no-repeat;
}
@media (max-width: 47rem) {
	.isha-theme .isha-home-schedule { --schedule-photo: url("assets/contacts/practice-768.webp"); }
}
@media (min-width: 64rem) and (hover: hover) and (prefers-reduced-motion: no-preference) {
	.isha-theme .isha-home-schedule { background-attachment: scroll, fixed; }
}
.isha-theme .isha-home-schedule__intro { text-align: center; color: var(--isha-muted); margin-block-end: var(--wp--preset--spacing--32); }
.isha-program-schedule {
	padding-block: clamp(var(--wp--preset--spacing--32), 6vw, var(--wp--preset--spacing--96));
	background: var(--wp--preset--color--surface);
}
.isha-theme #program-dates-title {
	margin-block-end: var(--wp--preset--spacing--24);
	text-align: center;
}
.isha-theme #home-calendar-title { margin-block-end: var(--wp--preset--spacing--8); text-align: center; }
.isha-theme #home-calendar-title:has(+ .isha-upcoming) { margin-block-end: var(--wp--preset--spacing--24); }

.isha-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--16);
	margin-block-end: var(--wp--preset--spacing--32);
}
.isha-section-heading p { margin-block-start: var(--wp--preset--spacing--8); color: var(--isha-muted); }

.isha-home-faq-section {
	display: grid;
	justify-items: center;
	gap: clamp(var(--wp--preset--spacing--24), 4vw, var(--wp--preset--spacing--48));
}
.isha-theme .isha-home-faq-section .isha-faq { inline-size: 100%; }
.isha-home-faq-section h2 { text-align: center; }
.isha-home-contact {
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--12);
	margin-block-end: var(--isha-section);
	padding-inline: clamp(var(--wp--preset--spacing--16), 4vw, var(--wp--preset--spacing--64));
	border-radius: var(--isha-feature-radius);
	text-align: center;
}
.isha-home-schedule + .isha-home-contact { margin-block-start: var(--isha-section); }
.isha-home-contact p {
	max-inline-size: 44ch;
	color: color-mix(in srgb, var(--wp--preset--color--accent-ink) 74%, var(--wp--preset--color--accent-bright));
	text-wrap: pretty;
}
.isha-home-contact .isha-actions { justify-content: center; margin-block-start: var(--wp--preset--spacing--12); }
.isha-home-contact .isha-button {
	--button-keyboard-color: var(--isha-focus-color);
	--button-keyboard-offset: 2px;
}
.isha-home-contact--photo { position: relative; isolation: isolate; }
.isha-home-contact__media {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	border-radius: inherit;
}
.isha-home-contact__media img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.isha-home-contact__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse, color-mix(in srgb, var(--isha-ink) 86%, transparent), color-mix(in srgb, var(--isha-ink) 78%, transparent));
}
.isha-home-contact--photo p { color: var(--wp--preset--color--on-dark-muted); }
.isha-home-contact--photo .isha-button--glass {
	--button-bg: color-mix(in srgb, var(--wp--preset--color--white) 10%, transparent);
	--button-hover: color-mix(in srgb, var(--wp--preset--color--white) 16%, transparent);
	--button-pressed: color-mix(in srgb, var(--wp--preset--color--white) 6%, transparent);
}

.isha-page-intro {
	display: grid;
	justify-items: start;
	gap: var(--wp--preset--spacing--24);
	padding-block: clamp(3rem, 8vw, 7rem) var(--wp--preset--spacing--48);
}
.isha-page-intro > p { max-inline-size: 56ch; }
.isha-page-intro h1 { text-wrap: pretty; }
.isha-page-intro--overview {
	justify-items: center;
	gap: var(--wp--preset--spacing--12);
	padding-block: var(--wp--custom--layout--overview-start) var(--wp--preset--spacing--24);
	text-align: center;
}
.isha-page-intro--overview > h1 {
	font-size: var(--wp--custom--type--overview-title--size);
	text-wrap: balance;
}
.isha-page-intro--overview > .isha-page-intro__description {
	max-inline-size: 62ch;
	color: var(--isha-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: var(--wp--custom--type--lead--line-height);
	text-wrap: pretty;
}
.isha-catalog { padding-block-end: var(--isha-section); }
.isha-catalog-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--12);
}
.isha-catalog-filter.isha-button {
	--button-bg: var(--wp--preset--color--surface);
	--button-fg: var(--isha-ink);
	--button-hover: var(--isha-stone);
	--button-pressed: var(--wp--custom--color--stone-pressed);
	--button-keyboard-color: var(--wp--custom--color--focus);
	--button-keyboard-offset: 0px;
	--button-padding: var(--wp--preset--spacing--12);
	font-size: .9375rem;
}
.isha-catalog-filter.isha-button[aria-current] {
	--button-bg: var(--isha-ink);
	--button-fg: var(--wp--preset--color--white);
	--button-hover: var(--wp--custom--color--ink-hover);
	--button-pressed: var(--wp--custom--color--ink-pressed);
	--button-keyboard-color: var(--wp--preset--color--on-dark-accent);
	--button-keyboard-offset: -2px;
}
@media (min-width: 38rem) {
	.isha-catalog-filter.isha-button { --button-padding: var(--wp--preset--spacing--16); }
}
@media (max-width: 37.99rem) {
	.isha-catalog-filters { gap: var(--wp--preset--spacing--8); }
}
@media (forced-colors: active) {
	.isha-catalog-filter[aria-current] { border-color: Highlight; color: Highlight; }
}
.isha-program-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--isha-gap);
	list-style: none;
	padding: 0;
}
.isha-theme .isha-program-grid { margin-block: var(--wp--preset--spacing--24) 0; }
.isha-program-grid > li { min-inline-size: 0; }
@media (min-width: 38rem) {
	.isha-program-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 64rem) {
	.isha-program-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.isha-program-card {
	display: flex;
	flex-direction: column;
	block-size: 100%;
	overflow: clip;
}
.isha-program-card__image { position: relative; aspect-ratio: 16 / 9; overflow: hidden; }
.isha-program-card__image img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.isha-program-card__image .isha-badge--format {
	--isha-tone-bg: color-mix(in srgb, var(--isha-ink) 64%, transparent);
	--isha-tone: var(--wp--preset--color--white);
	position: absolute;
	inset-block-start: var(--wp--preset--spacing--12);
	inset-inline-start: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--12);
	font-family: var(--wp--preset--font-family--onest);
	font-size: .875rem;
	font-weight: var(--wp--custom--type--label--weight);
	backdrop-filter: blur(12px);
}
.isha-program-card__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--8);
	padding: clamp(1rem, 2vw, 1.5rem);
	flex: 1;
}
.isha-program-card__body .isha-program-card__title {
	font-size: var(--wp--custom--type--program-card-title--size);
	font-weight: var(--wp--custom--type--h-4--weight);
	line-height: var(--wp--custom--type--h-4--line-height);
	letter-spacing: var(--wp--custom--type--h-4--tracking);
	overflow-wrap: anywhere;
}
.isha-program-card__body p {
	color: var(--isha-muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--type--small--weight);
	line-height: var(--wp--custom--type--small--line-height);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}
.isha-theme .isha-program-card__body .isha-button {
	margin-block-start: auto;
}
.isha-program-card__link {
	display: flex;
	flex: 1;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.isha-theme .isha-program-card__link:focus-visible { outline-offset: -3px; }
.isha-program-card__link:focus-visible:where(:not([data-isha-pointer] *)) .isha-program-card__title { color: var(--wp--custom--color--link); }
@media (hover: hover) {
	.isha-program-card__link:hover .isha-program-card__title { color: var(--wp--custom--color--link); }
	.isha-program-rail .isha-program-card__link:hover .isha-button { background-color: var(--button-hover); }
}
@media (prefers-reduced-motion: no-preference) {
	.isha-program-card__title { transition: color var(--wp--custom--motion--fast) var(--wp--custom--motion--ease); }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	.isha-program-card__link .isha-program-card__image img {
		transition: scale 420ms var(--wp--custom--motion--ease);
	}
	.isha-program-card__link:hover .isha-program-card__image img { scale: 1.035; }
}
@media (prefers-reduced-motion: no-preference) {
	.isha-program-grid .isha-program-card[data-entered] {
		animation: isha-program-enter 560ms var(--wp--custom--motion--ease);
	}
	.isha-program-grid .isha-program-card:focus-within { animation: none; }
}
@keyframes isha-program-enter {
	from { opacity: 0; translate: 0 var(--wp--preset--spacing--12); }
	to { opacity: 1; translate: 0 0; }
}

.isha-back-link { display: inline-flex; align-items: center; min-block-size: var(--wp--custom--size--target); margin-block-end: var(--wp--preset--spacing--16); font-size: var(--wp--preset--font-size--small); }
.isha-theme .isha-page-back {
	--button-padding: var(--wp--preset--spacing--12);
	--button-fg: var(--isha-muted);
	gap: var(--wp--preset--spacing--4);
	font-size: .875rem;
	justify-self: start;
}
[dir="rtl"] :is(.isha-page-back, .isha-program-hero__back) .isha-icon { scale: -1 1; }
.isha-program-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	padding-block: var(--wp--preset--spacing--16) clamp(2rem, 6vw, 5rem);
	border-radius: var(--isha-feature-radius);
	background: var(--wp--preset--color--surface);
}
.isha-program-hero--cover {
	--isha-focus-color: var(--wp--custom--color--focus-on-solid);
	min-block-size: clamp(30rem, 56.25vw, 49rem);
	padding-block-start: calc(var(--isha-header-offset, 7rem) + var(--wp--preset--spacing--16));
	border-radius: 0;
	background: var(--wp--preset--color--dark);
	color: var(--wp--preset--color--white);
}
.isha-program-hero__inner {
	display: grid;
	grid-template-rows: auto 1fr;
	align-items: end;
	gap: clamp(3rem, 12svh, 8rem);
}
.isha-program-hero__back.isha-button {
	justify-self: start;
	--button-padding: var(--wp--preset--spacing--12);
	gap: var(--wp--preset--spacing--4);
	font-size: .9375rem;
}
.isha-program-hero__back-label--compact { display: none; }
.isha-program-hero__image,
.isha-program-hero__image::after { position: absolute; inset: 0; }
.isha-program-hero__image { z-index: -1; }
.isha-program-hero__image::after {
	content: "";
	background: linear-gradient(180deg, rgb(18 18 15 / .80), transparent 40%),
		linear-gradient(0deg, rgb(18 18 15 / .94), rgb(18 18 15 / .66) 32%, rgb(18 18 15 / .14) 68%);
}
.isha-program-hero__image img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.isha-program-hero__text {
	display: grid;
	justify-items: center;
	justify-self: center;
	gap: var(--wp--preset--spacing--12);
	text-align: center;
}
.isha-program-hero__text h1 { color: inherit; font-size: var(--isha-page-title); }
.isha-program-hero__text .isha-lead { max-inline-size: 54ch; color: inherit; font-size: var(--wp--preset--font-size--body); text-wrap: balance; }
@media (max-width: 53.99rem) {
	.isha-program-hero--cover { min-block-size: clamp(26rem, 74svh, 38rem); }
	html:not(.isha-dialog-ready) .site-header--over-hero ~ .site-main .isha-program-hero--cover {
		padding-block-start: var(--wp--preset--spacing--16);
	}
}
@media (max-height: 34rem) and (orientation: landscape) {
	.isha-program-hero--cover { min-block-size: max(21rem, 95svh); }
}

.isha-theme .isha-practice-content .isha-article-copy > * + h2 {
	margin-block-start: var(--wp--preset--spacing--48);
}
.isha-theme .isha-practice-content .isha-article-copy > :is(.alignwide, .alignfull) {
	position: static;
	inline-size: 100%;
	translate: none;
}
.isha-practice-content .isha-article-copy :is(video, iframe) { inline-size: 100%; }
.isha-practice-content .isha-article-copy > iframe {
	block-size: auto;
	aspect-ratio: 16 / 9;
	border: 0;
	border-radius: var(--isha-radius);
}
.isha-practice-content .isha-article-copy > :is(ul, ol) { padding-inline-start: 1.5em; }

.isha-calendar-section { padding-block-end: var(--isha-section); }
.isha-schedule-board {
	display: grid;
	grid-template-columns: minmax(14rem, 16rem) minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--32);
}
.isha-schedule-main, .isha-upcoming { display: grid; gap: var(--wp--preset--spacing--24); min-inline-size: 0; }
.isha-schedule-main, .isha-program-schedule .isha-upcoming { container-type: inline-size; }
.isha-schedule-main .isha-event-card { grid-template-columns: 7rem minmax(0, 1fr) 9.5rem 8rem; }
@container (max-width: 46rem) {
	:is(.isha-schedule-main, .isha-program-schedule) .isha-event-card {
		grid-template-columns: minmax(0, 1fr) minmax(0, 8rem);
		grid-template-areas: "title title" "date date" "location location" "price action";
	}
}
.isha-upcoming { padding: clamp(1rem, 3vw, 2rem); border-radius: var(--isha-radius); }
.isha-page-intro--overview > .isha-schedule-views { margin-block-start: var(--wp--preset--spacing--12); }
.isha-upcoming-filter {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 11rem), 1fr));
	align-items: end;
	gap: var(--wp--preset--spacing--12);
	--field-bg: var(--wp--preset--color--white);
}
.isha-program-schedule .isha-upcoming { padding: 0; }
.isha-schedule-filters, .isha-home-schedule .isha-upcoming-filter {
	padding: clamp(1rem, 3vw, 1.5rem);
	border-radius: var(--isha-radius);
	background: var(--wp--preset--color--surface);
}
.isha-home-schedule .isha-upcoming { background: transparent; padding: 0; }
.isha-theme .isha-upcoming-filter-toggle { display: none; }
.isha-home-schedule .isha-upcoming-filter {
	--field-bg: color-mix(in srgb, var(--wp--preset--color--dark) 55%, var(--wp--preset--color--dark-surface));
	--field-chevron-color: var(--wp--preset--color--on-dark-accent);
	--field-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23DCCDC1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--field-chevron-focus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' fill='none' stroke='%23EF9666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background: color-mix(in srgb, var(--wp--preset--color--dark) 90%, transparent);
}
.isha-home-schedule .isha-upcoming-filter label { color: var(--isha-muted); }
.isha-home-schedule .isha-select { color: var(--wp--preset--color--white); color-scheme: dark; }
.isha-home-schedule .isha-select option { color: var(--wp--preset--color--white); background-color: var(--field-bg); }
@supports (appearance: base-select) and selector(::picker(select)) {
	.isha-home-schedule .isha-select::picker(select) {
		border-color: var(--wp--preset--color--dark-surface);
		background-color: var(--field-bg);
		color: var(--wp--preset--color--white);
	}
	.isha-home-schedule .isha-select option { background-color: transparent; color: inherit; }
	.isha-home-schedule .isha-select option:checked { background-color: var(--wp--preset--color--dark-surface); }
	.isha-home-schedule .isha-select option::checkmark { color: var(--field-chevron-color); }
	@media (hover: hover) {
		.isha-home-schedule .isha-select option:not(:checked):hover { background-color: var(--wp--preset--color--dark-surface); }
	}
}
.isha-schedule-filters, .isha-schedule-filter-grid { display: grid; gap: var(--wp--preset--spacing--16); }
.isha-schedule-filters { --field-bg: var(--wp--preset--color--white); }
.isha-schedule-filter-heading { display: flex; align-items: center; justify-content: space-between; }
.isha-schedule-filters h2 { font: 600 var(--wp--preset--font-size--body)/1.35 var(--wp--preset--font-family--onest); }
.isha-schedule-switch {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-block-size: var(--wp--custom--size--target);
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
}
.isha-schedule-switch input {
	appearance: none;
	display: grid;
	align-items: center;
	inline-size: 2.5rem;
	block-size: 1.5rem;
	margin: 0;
	padding: .1875rem;
	flex: none;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--surface-strong);
}
.isha-schedule-switch input::before {
	content: "";
	inline-size: 1.125rem;
	block-size: 1.125rem;
	border-radius: 50%;
	background: var(--wp--preset--color--white);
}
.isha-schedule-switch input:checked { background: var(--wp--preset--color--olive); }
.isha-schedule-switch input:checked::before { justify-self: end; }
@media (forced-colors: active) {
	.isha-schedule-switch input { appearance: auto; }
	.isha-schedule-switch input::before { content: none; }
}
.isha-schedule-filter-bar, .isha-schedule-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--8); }
.isha-theme :is(.isha-schedule-filter-toggle, [data-schedule-filter-close]) { display: none; }
.isha-schedule-reset { padding-block: var(--wp--preset--spacing--12); }
.isha-schedule-reset--inactive { display: none; }
.isha-schedule-views {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-self: center;
	padding: var(--wp--preset--spacing--4);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--isha-stone);
}
.isha-schedule-views__selection {
	position: absolute;
	z-index: -1;
	inset-block: var(--wp--preset--spacing--4);
	inset-inline-start: var(--wp--preset--spacing--4);
	inline-size: calc(50% - var(--wp--preset--spacing--4));
	border-radius: inherit;
	background: var(--wp--preset--color--white);
}
.isha-schedule-views[data-schedule-view="calendar"] .isha-schedule-views__selection { inset-inline-start: 50%; }
.isha-schedule-views__item {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	min-block-size: var(--wp--custom--size--target);
	padding-inline: var(--wp--preset--spacing--16);
	border-radius: inherit;
	color: var(--isha-muted);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--interface);
}
.isha-schedule-views__item .isha-icon { flex: none; }
.isha-schedule-views__item[aria-current] { color: var(--isha-ink); font-weight: 500; }
@media (hover: hover) {
	.isha-schedule-views__item:hover { color: var(--isha-ink); }
}
@media (prefers-reduced-motion: no-preference) {
	.isha-schedule-views__selection { transition: inset-inline-start 150ms var(--wp--custom--motion--ease); }
}
@media (forced-colors: active) {
	.isha-schedule-views__item[aria-current] { outline: 1px solid Highlight; outline-offset: -2px; }
}
.isha-schedule-pagination { justify-content: center; }
.isha-schedule-enhanced .isha-upcoming-filter [data-schedule-fallback] { display: none; }
@media (min-width: 62rem) {
	.isha-schedule-sidebar {
		position: sticky;
		inset-block-start: calc(var(--isha-header-offset, 7rem) + var(--wp--preset--spacing--16));
		max-block-size: calc(100dvh - var(--isha-header-offset, 7rem) - var(--wp--preset--spacing--32));
		overflow-y: auto;
	}
	.isha-schedule-enhanced .isha-schedule-filter-bar [data-schedule-fallback] { display: none; }
	.isha-schedule-enhanced .isha-schedule-filters { grid-template-columns: minmax(0, 1fr) auto; }
	.isha-schedule-enhanced .isha-schedule-filter-grid { grid-column: 1 / -1; }
	.isha-schedule-enhanced .isha-schedule-filter-bar { grid-area: 1 / 2; }
	.isha-schedule-enhanced .isha-schedule-reset { padding-block: var(--wp--preset--spacing--8); font-size: var(--wp--preset--font-size--small); }
}
@media (max-width: 61.999rem) {
	.isha-schedule-board { grid-template-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--16); }
	.isha-dialog-ready .isha-schedule-filter-toggle { display: flex; inline-size: 100%; }
	.isha-dialog-ready .isha-schedule-sidebar > form { display: none; }
}
.isha-schedule-dialog {
	position: fixed;
	inset: auto 0 0;
	margin: 0 auto;
	inline-size: min(100%, 38rem);
	max-inline-size: 100%;
	max-block-size: min(90dvh, 48rem);
	padding: 0;
	border: 0;
	border-radius: var(--isha-radius) var(--isha-radius) 0 0;
	background: var(--wp--preset--color--surface);
	color: var(--isha-ink);
	overflow-y: auto;
	overscroll-behavior: contain;
}
.isha-schedule-dialog::backdrop { background: color-mix(in srgb, var(--isha-ink) 55%, transparent); }
html:has(.isha-schedule-dialog[open]) { overflow: hidden; }
.isha-theme .isha-schedule-dialog [data-schedule-filter-close] { display: inline-flex; }
.isha-schedule-dialog .isha-schedule-filter-bar {
	position: sticky;
	inset-block-end: 0;
	display: grid;
	justify-items: stretch;
	padding-block: var(--wp--preset--spacing--8);
	background: var(--wp--preset--color--surface);
}
.isha-schedule-dialog .isha-schedule-filter-bar > button { --button-height: var(--wp--custom--size--button); }
.isha-schedule-dialog .isha-schedule-reset { display: block; text-align: center; }
.isha-schedule-dialog .isha-schedule-reset--inactive { color: var(--isha-muted); }
.isha-visually-hidden {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
.isha-program-date-nav { display: grid; gap: var(--wp--preset--spacing--8); }
.isha-program-date-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--12); font-weight: 600; }
.isha-program-days {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(3.5rem, 1fr));
	gap: var(--wp--preset--spacing--8);
}
.isha-program-day {
	display: grid;
	place-content: center;
	gap: var(--wp--preset--spacing--4);
	min-block-size: var(--wp--custom--size--control);
	padding: var(--wp--preset--spacing--8);
	border-radius: var(--wp--custom--radius--field);
	background: var(--wp--preset--color--white);
	color: var(--isha-ink);
	text-align: center;
	text-decoration: none;
}
.isha-program-day[aria-current] { background: var(--isha-ink); color: var(--wp--preset--color--white); font-weight: 550; }
.isha-program-day span { font-size: var(--wp--preset--font-size--small); }
.isha-upcoming-more {
	display: inline-flex;
	align-items: center;
	justify-self: center;
	gap: var(--wp--preset--spacing--8);
	min-block-size: var(--wp--custom--size--target);
}
@media (hover: hover) {
	.isha-program-day:not([aria-current]):hover { background: var(--isha-stone); }
}
@media (prefers-reduced-motion: no-preference) {
	.isha-program-day { transition: background-color 150ms var(--wp--custom--motion--ease); }
}
.isha-schedule-period, .isha-schedule-arrows { display: flex; align-items: center; flex-wrap: wrap; gap: var(--wp--preset--spacing--8); }
.isha-schedule-period .isha-schedule-arrows { margin-inline-start: auto; }
.isha-schedule-period :is(h2, h3) { font-size: var(--wp--preset--font-size--h-3); }
.isha-schedule-period :is(h2, h3)::first-letter { text-transform: uppercase; }
.isha-calendar {
	inline-size: 100%;
	table-layout: fixed;
	border-spacing: 0;
	border: 1px solid var(--isha-line);
	border-radius: var(--isha-radius);
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	font-size: .875rem;
	font-variant-numeric: lining-nums proportional-nums;
}
.isha-calendar :is(th, td) { border-inline-end: 1px solid var(--isha-line); }
.isha-calendar :is(th, td):last-child { border-inline-end: 0; }
.isha-calendar th { padding: .375rem; text-align: center; background: var(--isha-stone); font-weight: 550; }
.isha-calendar td { vertical-align: top; border-block-start: 1px solid var(--isha-line); }
.isha-calendar__pad { background: var(--isha-paper); }
.isha-calendar__day {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .375rem;
	min-block-size: var(--wp--custom--size--target);
	padding-inline: .5rem;
	color: var(--isha-ink);
	text-decoration: none;
}
.isha-calendar__day time {
	display: grid;
	place-items: center;
	min-inline-size: 1.75rem;
	min-block-size: 1.75rem;
	border-radius: 50%;
}
.isha-calendar__day--empty { color: var(--isha-muted); }
.isha-calendar__day[aria-current] time { background: var(--isha-ink); color: white; }
.isha-calendar__day[data-today]:not([aria-current]) time { box-shadow: inset 0 0 0 1px var(--isha-muted); }
.isha-theme .isha-calendar__day:focus-visible { outline-offset: -2px; border-radius: var(--wp--custom--radius--field); }
.isha-calendar__count {
	display: grid;
	place-items: center;
	min-inline-size: 1.125rem;
	block-size: 1.125rem;
	padding-inline: .125rem;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--custom--color--olive-soft);
	color: var(--wp--preset--color--olive);
	font-size: .6875rem;
}
.isha-calendar__previews { display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem; padding: 0 .375rem .5rem; }
.isha-calendar__event {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: .1875rem;
	min-block-size: 1.75rem;
	padding: .25rem .375rem;
	background: var(--wp--custom--color--olive-soft);
	color: var(--wp--preset--color--olive);
	border-radius: .375rem;
	font-size: .75rem;
	text-decoration: none;
}
.isha-calendar__event span { display: block; min-inline-size: 0; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
@container (max-width: 36rem) {
	.isha-calendar__previews { display: none; }
	.isha-calendar__day {
		flex-direction: column;
		justify-content: start;
		gap: .125rem;
		min-block-size: 3.5rem;
		padding: .25rem 0;
	}
}
.isha-calendar__more { display: block; padding: .25rem .375rem; color: var(--isha-muted); font-size: .75rem; text-decoration: none; }
@media (hover: hover) {
	.isha-calendar__event:hover { background-color: var(--wp--custom--color--selection-bg); color: var(--wp--custom--color--selection); }
	a.isha-calendar__day:not([aria-current]):hover time { background-color: var(--wp--custom--color--stone-hover); }
	.isha-calendar__more:hover { color: var(--wp--custom--color--selection); }
}
.isha-schedule-result-meta {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: .25rem 1rem;
	color: var(--isha-muted);
	font-size: var(--wp--preset--font-size--small);
}
.isha-schedule-empty { display: grid; justify-items: center; text-align: center; gap: var(--wp--preset--spacing--8); padding: clamp(1.5rem, 4vw, 3rem); border-radius: var(--isha-radius); background: var(--isha-paper); }
.isha-schedule-empty__icon { display: grid; place-items: center; inline-size: 3rem; aspect-ratio: 1; border-radius: 50%; background: var(--isha-stone); color: var(--isha-muted); }
.isha-schedule-empty h3 { font-size: var(--wp--preset--font-size--h-4); }
.isha-schedule-empty h3 + p { color: var(--isha-muted); }
.isha-schedule-empty > a { margin-block-start: var(--wp--preset--spacing--8); }
.isha-home-schedule .isha-schedule-empty { background: var(--wp--preset--color--dark); }
.isha-theme .isha-schedule-empty p + p { margin-block-start: .25rem; color: var(--isha-muted); }

.isha-schedule-results { display: grid; gap: var(--wp--preset--spacing--16); }
.isha-schedule-result-meta { align-items: center; }
.isha-schedule-result-meta :is(h2, h3) { font-size: var(--wp--preset--font-size--h-4); color: var(--isha-ink); }
.isha-schedule-result-meta :is(h2, h3)::first-letter { text-transform: uppercase; }
.isha-schedule-time-note, .isha-event-card__date span { color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-event-list { display: grid; gap: var(--wp--preset--spacing--12); list-style: none; margin: 0; padding: 0; }
.isha-event-card {
	position: relative;
	isolation: isolate;
	display: grid;
	border-radius: var(--isha-radius);
	background: var(--wp--preset--color--surface);
	grid-template-columns: 8rem minmax(0, 1fr) 11rem 8rem;
	grid-template-areas: "date title price action" "date location price action";
	grid-template-rows: auto 1fr;
	align-items: start;
	gap: var(--wp--preset--spacing--4) var(--wp--preset--spacing--16);
	padding: var(--wp--preset--spacing--16) clamp(1rem, 3vw, 2rem);
}
.isha-event-card > * { min-inline-size: 0; }
.isha-event-card__date { grid-area: date; display: grid; }
.isha-event-card__date .isha-icon, .isha-event-card__place .isha-icon, .isha-event-card__status .isha-icon { display: none; }
.isha-event-card__date strong { font: 600 var(--wp--preset--font-size--body)/1.35 var(--wp--preset--font-family--onest); }
.isha-event-card--preview .isha-event-card__date strong { font-weight: var(--wp--custom--type--body--weight); }
.isha-event-card__title { grid-area: title; font: 600 var(--wp--preset--font-size--body)/1.35 var(--wp--preset--font-family--onest); letter-spacing: normal; }
.isha-event-card__location { grid-area: location; }
.isha-event-card__location p, .isha-event-card__status { color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-theme .isha-event-card__location p + p, .isha-theme .isha-event-card__place + p { margin-block-start: var(--wp--preset--spacing--4); }
.isha-event-card__action { grid-area: price; display: grid; justify-items: start; gap: var(--wp--preset--spacing--4); }
.isha-event-card__price { font-variant-numeric: tabular-nums; font-weight: 500; }
.isha-theme .isha-event-card__action .isha-badge { font-size: .8125rem; padding: .125rem .5rem; }
.isha-event-card__status[data-status="open"] { color: var(--wp--preset--color--olive); }
.isha-event-card > .isha-button { grid-area: action; justify-self: stretch; align-self: center; }
.isha-theme .isha-event-card--preview .isha-event-card__title .isha-link { color: inherit; }
.isha-event-card--preview .isha-event-card__status[data-status="open"] { color: var(--isha-muted); }

.isha-event-card--preview .isha-button.isha-event-card__secondary {
	--button-bg: var(--wp--preset--color--dark-surface);
	--button-fg: var(--wp--preset--color--white);
	--button-hover: color-mix(in srgb, var(--button-bg), var(--wp--preset--color--on-dark-muted) 24%);
	--button-pressed: color-mix(in srgb, var(--button-bg), var(--wp--preset--color--on-dark-muted) 12%);
	--button-keyboard-color: var(--wp--preset--color--on-dark-accent);
}
.isha-program-schedule .isha-event-card { background-color: var(--wp--preset--color--white); }
.isha-event-card--preview {
	--event-card-highlight: color-mix(in srgb, var(--wp--preset--color--dark) 55%, var(--wp--preset--color--dark-surface));
	background: color-mix(in srgb, var(--wp--preset--color--dark) 94%, transparent);
	cursor: pointer;
}
.isha-event-card__details::after { content: ""; position: absolute; inset: 0; border-radius: var(--isha-radius); cursor: pointer; }
.isha-event-card__details:focus-visible:where(:not([data-isha-pointer] *))::after { outline: 2px solid var(--isha-focus-color, var(--wp--custom--color--focus)); outline-offset: -2px; }
.isha-event-card__booking { position: relative; z-index: 1; }
.isha-program-schedule .isha-event-card:has(:focus-visible):where(:not([data-isha-pointer] *)),
.isha-schedule-main .isha-event-card:has(:focus-visible):where(:not([data-isha-pointer] *)) { background-color: var(--isha-paper); }
.isha-event-card--preview:has(.isha-event-card__details:focus-visible):where(:not([data-isha-pointer] *)) { background-color: var(--event-card-highlight); }
.isha-event-card--preview:has(.isha-event-card__details:focus-visible):where(:not([data-isha-pointer] *)) .isha-event-card__title { color: var(--wp--preset--color--on-dark-accent); }
@media (hover: hover) {
	.isha-program-schedule .isha-event-card:hover, .isha-schedule-main .isha-event-card:hover { background-color: var(--isha-paper); }
	.isha-event-card--preview:hover { background-color: var(--event-card-highlight); }
	.isha-event-card--preview:hover:not(:has(.isha-event-card__booking:hover)) .isha-event-card__title { color: var(--wp--preset--color--on-dark-accent); }
}
@media (prefers-reduced-motion: no-preference) {
	.isha-event-card { transition: background-color 150ms var(--wp--custom--motion--ease); }
	[data-schedule-panel][aria-busy] :is(.isha-event-list, .isha-calendar) { opacity: .75; }
}

.isha-theme .isha-catalog .isha-empty, .isha-theme .isha-venues .isha-empty, .isha-theme .isha-calendar-section .isha-empty { margin-block-start: var(--wp--preset--spacing--24); }

.isha-event-detail {
	max-inline-size: 44rem;
	display: grid;
	gap: var(--wp--preset--spacing--24);
	padding-block: var(--isha-page-start) var(--isha-section);
}
.isha-event-detail__header { display: grid; gap: var(--wp--preset--spacing--4); }
.isha-event-detail__header h1 { font-size: var(--wp--preset--font-size--h-3); text-wrap: pretty; }
.isha-event-detail__header p { color: var(--isha-muted); }
.isha-theme .isha-event-detail > .isha-page-back { font-size: var(--wp--preset--font-size--interface); }
.isha-event-detail__card { display: grid; gap: var(--wp--preset--spacing--24); padding: clamp(1rem, 4vw, 2rem); }
.isha-detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--16); margin: 0; }
.isha-detail-list > div { display: grid; align-content: start; gap: var(--wp--preset--spacing--4); }
.isha-detail-list dt { display: flex; align-items: center; gap: var(--wp--preset--spacing--8); color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-detail-list dt .isha-icon { inline-size: 1rem; block-size: 1rem; }
.isha-detail-list dd { font-weight: 500; }
.isha-detail-list dd span { display: block; font-size: var(--wp--preset--font-size--small); font-weight: 400; color: var(--isha-muted); }
.isha-event-detail__booking { display: grid; gap: var(--wp--preset--spacing--12); padding-block-start: var(--wp--preset--spacing--16); border-block-start: 1px solid var(--isha-line); }
.isha-event-detail__status { font-size: var(--wp--preset--font-size--small); color: var(--isha-muted); }
.isha-event-detail__status[data-status="open"] { color: var(--wp--preset--color--olive); }
.isha-event-detail__media > img { inline-size: 100%; max-block-size: 25rem; object-fit: cover; border-radius: var(--isha-radius); }
.isha-event-detail__media iframe { display: block; inline-size: 100%; block-size: auto; aspect-ratio: 16 / 9; border: 0; border-radius: var(--isha-radius); }
@media (max-width: 34rem) {
	.isha-event-detail__card .isha-actions > a { inline-size: 100%; }
	.isha-detail-list { grid-template-columns: 1fr; }
}

.isha-contacts {
	--contact-inset: clamp(1.25rem, 3.75vw, var(--wp--preset--spacing--64));
	--contact-section-gap: clamp(var(--wp--preset--spacing--48), 5.5vw, var(--wp--preset--spacing--96));
	display: grid;
	gap: var(--contact-section-gap);
	padding-block-end: var(--isha-section);
}
.isha-contact-heading {
	display: grid;
	justify-items: start;
	gap: var(--wp--preset--spacing--12);
	text-align: start;
}
.isha-contacts :is(h2, h3) { color: inherit; }
.isha-contact-heading p { color: var(--isha-muted); text-wrap: pretty; }

.isha-contact-panel {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--isha-gap);
}
.isha-contact-panel:not(:has(.isha-contact-form)) { grid-template-columns: minmax(0, 1fr); }
.isha-contact-panel__details, .isha-card.isha-contact-form {
	min-inline-size: 0;
	padding: var(--contact-inset);
	border-radius: var(--isha-feature-radius);
}
.isha-contact-panel__details {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: var(--wp--preset--spacing--24);
}
.isha-contact-panel h2 { font-size: var(--wp--preset--font-size--h-3); text-wrap: pretty; }
.isha-contact-direct, .isha-contact-group { display: grid; justify-items: start; gap: var(--wp--preset--spacing--4); }
.isha-contact-group h3 {
	color: var(--wp--preset--color--on-dark-muted);
	font: var(--wp--custom--type--interface--weight) var(--wp--preset--font-size--small)/1.5 var(--wp--preset--font-family--onest);
}
.isha-contact-method {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-inline-size: 0;
	max-inline-size: 100%;
	min-block-size: var(--wp--custom--size--target);
	font-size: var(--wp--preset--font-size--body);
}
.isha-contact-direct { --isha-link: var(--wp--preset--color--white); --isha-link-hover: var(--wp--preset--color--on-dark-accent); }
.isha-contact-method :is(.isha-icon, .isha-social-icon, img),
.isha-venue-contact .isha-icon {
	flex: none;
	inline-size: 1.125rem;
	block-size: 1.125rem;
	object-fit: contain;
}
.isha-contact-hours {
	display: flex;
	align-items: start;
	gap: var(--wp--preset--spacing--12);
	color: var(--wp--preset--color--on-dark-muted);
	font-size: var(--wp--preset--font-size--small);
}
.isha-contact-hours .isha-icon { margin-block-start: .125rem; }
.isha-contact-hours p { white-space: pre-line; font-variant-numeric: tabular-nums; }
.isha-contact-social { margin-block-start: auto; }
.isha-contact-channels {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--8);
}
.isha-contact-channels .isha-contact-method {
	--isha-link: var(--wp--preset--color--white);
	--isha-link-hover: var(--wp--preset--color--white);
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--pill);
	background-color: var(--wp--preset--color--dark-surface);
	font-size: var(--wp--preset--font-size--small);
}
.isha-theme .isha-contact-channels .isha-contact-method:focus-visible { border-radius: var(--wp--custom--radius--pill); }
@media (hover: hover) {
	.isha-contact-channels .isha-contact-method:hover {
		background-color: color-mix(in srgb, var(--wp--preset--color--dark-surface), var(--wp--preset--color--white) 12%);
	}
}
.isha-contact-channels .isha-contact-method:active {
	background-color: color-mix(in srgb, var(--wp--preset--color--dark-surface), var(--wp--preset--color--dark) 60%);
}

.isha-contact-form form {
	display: grid;
	gap: var(--wp--preset--spacing--24);
	margin-block-start: var(--wp--preset--spacing--24);
}
.isha-contact-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--16); }
.isha-contact-form__fields .isha-field:last-child { grid-column: 1 / -1; }
.isha-contact-form textarea { min-block-size: 9rem; resize: vertical; }
.isha-contact-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16); }
.isha-contact-form__actions .isha-link { font-size: var(--wp--preset--font-size--small); }
.isha-theme .isha-contact-feedback { margin-block-start: var(--wp--preset--spacing--16); }

.isha-locations {
	padding: var(--contact-inset);
	border-radius: var(--isha-feature-radius);
	background-color: var(--wp--preset--color--surface-strong);
}
.isha-city-grid { display: grid; gap: var(--wp--preset--spacing--12); margin-block-start: var(--wp--preset--spacing--24); }
.isha-city {
	--city-inset: clamp(var(--wp--preset--spacing--12), 2vw, var(--wp--preset--spacing--24));
	min-inline-size: 0;
	border-radius: var(--isha-radius);
	background-color: var(--wp--preset--color--white);
}
.isha-city > summary {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	align-items: center;
	gap: var(--wp--preset--spacing--12);
	min-block-size: 4rem;
	padding: var(--wp--preset--spacing--12) var(--city-inset);
	border-radius: var(--isha-radius);
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--interface);
}
.isha-city > summary:focus-visible { outline-offset: -2px; }
.isha-city > summary::-webkit-details-marker, .isha-cities-more > summary::-webkit-details-marker { display: none; }
.isha-city summary > .isha-icon { color: var(--isha-muted); }
.isha-city__count { color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-city__toggle {
	display: grid;
	place-items: center;
	inline-size: 2rem;
	block-size: 2rem;
	border-radius: var(--wp--custom--radius--pill);
	background-color: var(--isha-stone);
}
.isha-city__toggle .isha-icon { inline-size: 1rem; block-size: 1rem; }
.isha-city[open] .isha-city__toggle .isha-icon { rotate: 180deg; }
@media (hover: hover) {
	.isha-city > summary:hover { background-color: var(--wp--preset--color--surface); }
}
.isha-city > summary:active { background-color: var(--isha-stone); }
.isha-theme .isha-city[open] > .isha-city__venues {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr));
	gap: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--8) var(--city-inset) var(--city-inset);
}
.isha-city__venues li {
	display: flex;
	flex-direction: column;
	align-items: start;
	gap: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--16);
	border-radius: var(--wp--custom--radius--control);
	background-color: var(--wp--preset--color--paper);
}
.isha-city__address, .isha-city__contacts { display: grid; gap: var(--wp--preset--spacing--4); }
.isha-city__address h3 { font-size: var(--wp--preset--font-size--h-5); text-wrap: pretty; }
.isha-city__address p { color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-city__venues .isha-button { margin-block-start: auto; }
.isha-city__contacts:empty { display: none; }
.isha-venue-contact { display: inline-flex; align-items: center; gap: var(--wp--preset--spacing--8); font-size: .875rem; }
a.isha-venue-contact { min-block-size: var(--wp--custom--size--target); }
.isha-cities-more { margin-block-start: var(--wp--preset--spacing--16); }
.isha-cities-more summary { display: flex; inline-size: fit-content; list-style: none; }
.isha-cities-more[open] .isha-icon { rotate: 180deg; }
.isha-cities-more:not([open]) summary span:nth-child(2), .isha-cities-more[open] summary span:first-child { display: none; }

.isha-tour, .isha-contacts-next {
	display: grid;
	overflow: hidden;
	border-radius: var(--isha-feature-radius);
}
.isha-tour { background-color: var(--wp--preset--color--surface); }
.isha-tour--with-image, .isha-contacts-next { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.isha-tour__copy, .isha-contacts-next__copy {
	display: grid;
	align-content: center;
	justify-items: start;
	gap: var(--wp--preset--spacing--16);
	padding: var(--contact-inset);
}
.isha-tour__copy > p, .isha-contacts-next__copy > p {
	max-inline-size: 46ch;
	font-size: var(--wp--preset--font-size--body);
}
.isha-tour__copy > p { color: var(--isha-muted); }
.isha-tour__copy .isha-button, .isha-contacts-next__copy .isha-actions { margin-block-start: var(--wp--preset--spacing--8); }
.isha-tour__image, .isha-contacts-next__image {
	position: relative;
	min-block-size: clamp(19rem, 32vw, 30rem);
}
.isha-theme :is(.isha-tour__image, .isha-contacts-next__image) img {
	position: absolute;
	inset: 0;
	inline-size: 100%;
	block-size: 100%;
	object-fit: cover;
}

.isha-dialog.isha-tour-dialog {
	inline-size: min(calc(100% - 2rem), 73rem);
	max-inline-size: none;
	block-size: min(80dvh, 48rem);
	max-block-size: calc(100dvh - 2rem);
	padding: 0;
	overflow: hidden;
}
@media (forced-colors: none) {
	.isha-dialog.isha-tour-dialog { border: 0; box-shadow: none; }
}
.isha-tour-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
html:has(.isha-tour-dialog[open]) { overflow: hidden; }
.isha-tour-dialog > header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--12);
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
}
.isha-tour-dialog > header h2 { font-size: var(--wp--preset--font-size--h-5); text-align: start; }
.isha-tour-dialog > header h2:focus { outline: none; }
.isha-tour-dialog > header form { flex: none; }
.isha-tour-dialog iframe { display: block; inline-size: 100%; block-size: 100%; border: 0; }

@media (max-width: 60rem) {
	.isha-contact-form__fields { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 47rem) {
	.isha-contact-panel, .isha-tour--with-image, .isha-contacts-next { grid-template-columns: minmax(0, 1fr); }
	.isha-contact-panel { gap: var(--contact-section-gap); }
	.isha-tour__image, .isha-contacts-next__image { min-block-size: clamp(13rem, 52vw, 22rem); }
	.isha-dialog.isha-tour-dialog {
		position: fixed;
		inset: 0;
		inline-size: 100%;
		block-size: 100dvh;
		max-block-size: none;
		margin: 0;
		border: 0;
		border-radius: 0;
	}
	.isha-tour-dialog__title-prefix { display: none; }
}
@media (max-width: 34rem) {
	.isha-contact-form__actions .isha-button { inline-size: 100%; }
	.isha-city > summary { grid-template-columns: minmax(0, 1fr) auto auto; }
	.isha-city > summary > .isha-icon { display: none; }
}

.site-footer.isha-dark {
	--footer-icon-size: var(--wp--preset--spacing--16);
	--isha-link: var(--wp--preset--color--white);
	--isha-link-hover: var(--wp--preset--color--on-dark-accent);
	padding-block: var(--wp--preset--spacing--64) var(--wp--preset--spacing--24);
}
.isha-footer-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) minmax(0, 1.25fr) minmax(0, 1.1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--32) var(--wp--preset--spacing--24);
}
.isha-footer-brand img {
	inline-size: min(100%, 10.25rem);
	filter: brightness(0) invert(1);
}
.isha-footer-channels { display: grid; gap: var(--wp--preset--spacing--16); }
.isha-theme .isha-footer-links h2 {
	color: var(--wp--preset--color--on-dark-muted);
	font: var(--wp--custom--type--label--weight) var(--wp--preset--font-size--label)/var(--wp--custom--type--label--line-height) var(--wp--preset--font-family--onest);
	margin-block-end: var(--wp--preset--spacing--8);
	text-wrap: initial;
}
.isha-footer-links .isha-link, .isha-footer-bottom a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	max-inline-size: 100%;
	min-block-size: var(--wp--custom--size--target);
	overflow-wrap: anywhere;
}
.isha-footer-links .isha-link { font-size: var(--wp--preset--font-size--interface); }
.isha-theme .isha-footer-hours {
	display: flex;
	align-items: start;
	gap: var(--wp--preset--spacing--8);
	margin-block-start: var(--wp--preset--spacing--12);
	color: var(--wp--preset--color--on-dark-muted);
	font-size: .875rem;
	line-height: var(--wp--custom--type--small--line-height);
}
.isha-footer-hours span { white-space: pre-line; }
.isha-footer-hours .isha-icon { margin-block-start: calc((1lh - var(--footer-icon-size)) / 2); }
.isha-footer-links :is(.isha-contact-method, .isha-footer-hours) :is(.isha-icon, .isha-social-icon, img) {
	inline-size: var(--footer-icon-size);
	block-size: var(--footer-icon-size);
}
.isha-footer-channels ul { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--8); }
.isha-footer-channels .isha-link {
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--12);
	border-radius: var(--wp--custom--radius--pill);
	background-color: var(--wp--preset--color--dark-surface);
	font-size: .875rem;
}
.isha-footer-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	column-gap: var(--wp--preset--spacing--24);
	border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--on-dark-muted) 28%, transparent);
	padding-block-start: var(--wp--preset--spacing--16);
	margin-block-start: var(--wp--preset--spacing--32);
	font-size: .875rem;
	color: var(--wp--preset--color--on-dark-muted);
}
.isha-footer-bottom a { --isha-link: var(--wp--preset--color--on-dark-muted); }

@media (prefers-reduced-motion: no-preference) {
	.site-header .isha-button {
		transition: background-color 280ms var(--wp--custom--motion--ease), color 280ms var(--wp--custom--motion--ease), scale 280ms var(--wp--custom--motion--ease);
	}
	.site-header .isha-button:active { scale: .985; }
	:is(.isha-hero-toggle, .isha-player__toggle) span { transition: opacity 220ms var(--wp--custom--motion--ease); }
	.isha-orbit__card { transition: opacity 1350ms var(--wp--custom--motion--ease); }
}

@media (max-width: 65rem) {
	.isha-topbar { font-size: .75rem; }
	.isha-topbar__inner:has(.isha-header__direct) { grid-template-columns: minmax(19rem, 1fr) auto minmax(0, 1fr); column-gap: .75rem; }
	.isha-topbar .isha-header__direct { column-gap: .5rem; }
}

@media (max-width: 53.99rem) {
	html:has([data-site-header]) { --isha-header-offset: 4.0625rem; }
	.isha-theme {
		--mobile-header-height: 4rem;
		--mobile-brand-width: clamp(7rem, 33vw, 8.5rem);
	}
	.isha-topbar { display: none; }
	.isha-header__inner, .isha-mobile-menu__bar-inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: .5rem;
		min-block-size: var(--mobile-header-height);
		padding-block: .375rem;
	}
	.isha-header__inner { flex-wrap: wrap; }
	:is(.isha-header__inner, .isha-mobile-menu__bar-inner) .isha-brand { display: grid; align-items: center; min-block-size: var(--wp--custom--size--target); }
	:is(.isha-header__inner, .isha-mobile-menu__bar-inner) .isha-brand img { inline-size: var(--mobile-brand-width); }
	.isha-header__actions { margin-inline-start: auto; gap: .25rem; }
	.site-header .isha-header-cta {
		--button-padding: var(--wp--preset--spacing--12);
		--button-keyboard-offset: -4px;
		border-block: 2px solid transparent;
		background-clip: padding-box;
		font-size: .9375rem;
	}
	.isha-program-hero__back.isha-button { --button-padding: var(--wp--preset--spacing--8); }
	.isha-program-hero__back-label { display: none; }
	.isha-program-hero__back-label--compact { display: inline; }
	.isha-dialog-ready .site-header .site-nav { display: none; }
	html:not(.isha-dialog-ready) .site-header .site-nav { flex: 1 0 100%; order: 1; }
	html:not(.isha-dialog-ready) .site-header .isha-nav-list { flex-wrap: wrap; }
	html:not(.isha-dialog-ready) .site-header .isha-nav-item { padding-inline: .5rem; }
	html:not(.isha-dialog-ready) .site-header--over-hero { position: sticky; --header-solid: 100%; --header-monochrome: 0; }
	.isha-nav-home { display: list-item; }

	.isha-menu-icon {
		position: relative;
		inline-size: 1.25rem;
		block-size: 2px;
		border-radius: 2px;
		background-color: currentColor;
		forced-color-adjust: none;
	}
	.isha-menu-icon::before, .isha-menu-icon::after {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: inherit;
		background-color: currentColor;
	}
	.isha-menu-icon::before { transform: translateY(-6px) rotate(0deg); }
	.isha-menu-icon::after { transform: translateY(6px) rotate(0deg); }
	.isha-mobile-menu[open] .isha-menu-icon { background-color: transparent; }
	.isha-mobile-menu[open] .isha-menu-icon::before { transform: translateY(0) rotate(45deg); }
	.isha-mobile-menu[open] .isha-menu-icon::after { transform: translateY(0) rotate(-45deg); }

	html:has(.isha-mobile-menu[open]) { overflow: hidden; }
	.site-header--over-hero:not([data-scrolled]) + .isha-mobile-menu { --menu-closed-logo-filter: brightness(0) invert(1); }
	.isha-mobile-menu {
		--menu-top-inset: max(env(safe-area-inset-top), var(--wp-admin--admin-bar--height, 0px));
		--menu-bar-height: calc(var(--mobile-header-height) + var(--menu-top-inset) + 1px);
		position: fixed;
		inset: 0;
		margin: 0;
		padding: 0;
		border: 0;
		inline-size: 100%;
		max-inline-size: none;
		block-size: 100vh;
		block-size: 100dvh;
		max-block-size: none;
		overflow-y: auto;
		overscroll-behavior: contain;
		scroll-padding-block-start: var(--menu-bar-height);
		background: var(--isha-paper);
		color: var(--isha-ink);
	}
	.isha-mobile-menu[open] { display: block; }
	.isha-mobile-menu::backdrop { background: transparent; }
	.isha-mobile-menu__bar {
		position: sticky;
		inset-block-start: 0;
		z-index: 1;
		background: var(--isha-paper);
		border-block-end: 1px solid var(--isha-line);
		padding-block-start: var(--menu-top-inset);
	}
	.isha-mobile-menu .isha-brand img { filter: var(--menu-closed-logo-filter, none); }
	.isha-mobile-menu[open] .isha-brand img { filter: none; }
	.isha-mobile-menu .isha-mobile-toggle {
		--button-keyboard-offset: 0px;
	}
	.isha-mobile-menu__body {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--16);
		min-block-size: calc(100% - var(--menu-bar-height));
		max-inline-size: 32rem;
		padding-block: var(--wp--preset--spacing--12) max(var(--wp--preset--spacing--12), env(safe-area-inset-bottom));
	}
	.isha-mobile-menu__primary {
		display: grid;
		align-content: center;
		justify-items: center;
		flex: 1 0 auto;
		inline-size: 100%;
		gap: var(--wp--preset--spacing--16);
	}
	.isha-mobile-menu__primary > .isha-button { --button-padding: var(--wp--preset--spacing--24); }
	.isha-mobile-menu .site-nav { inline-size: 100%; }
	.isha-mobile-menu .isha-nav-list { display: grid; gap: var(--wp--preset--spacing--8); }
	.isha-mobile-menu .isha-nav-item {
		justify-content: center;
		text-align: center;
		min-block-size: var(--wp--custom--size--target);
		padding: var(--wp--preset--spacing--4) 0;
		border-radius: 0;
		font-family: var(--wp--preset--font-family--eb-garamond);
		font-size: var(--wp--preset--font-size--h-2);
		font-weight: var(--wp--custom--type--h-2--weight);
		line-height: var(--wp--custom--type--h-2--line-height);
		letter-spacing: var(--wp--custom--type--h-2--tracking);
		overflow-wrap: anywhere;
		transition: none;
		-webkit-tap-highlight-color: transparent;
	}
	.isha-mobile-menu .isha-nav-item:is([aria-current], [data-current]) { color: var(--wp--preset--color--olive); }
	.isha-mobile-menu .isha-nav-item:is(:focus-visible:where(:not([data-isha-pointer] *)), :active) { color: var(--wp--custom--color--selection); }
	@media (hover: hover) {
		.isha-mobile-menu .isha-nav-item:hover { color: var(--wp--custom--color--selection); }
	}
	.isha-mobile-menu__contacts {
		display: grid;
		justify-items: center;
		text-align: center;
		gap: var(--wp--preset--spacing--8);
		max-inline-size: 100%;
		padding-block-start: var(--wp--preset--spacing--8);
		border-block-start: 1px solid var(--isha-line);
	}
	.isha-mobile-menu .isha-header__direct { display: grid; justify-items: center; gap: 0; max-inline-size: 100%; }
	.isha-mobile-menu .isha-header__contact-link {
		min-block-size: var(--wp--custom--size--target);
		font-size: var(--wp--preset--font-size--interface);
	}
	.isha-mobile-menu .isha-header__channels { display: grid; gap: var(--wp--preset--spacing--4); min-inline-size: 0; max-inline-size: 100%; }
	.isha-mobile-menu .isha-header__social { justify-content: center; gap: var(--wp--preset--spacing--4); }
	.isha-mobile-menu .isha-header__messengers { gap: var(--wp--preset--spacing--8); }
	.isha-mobile-menu .isha-header__messengers li { max-inline-size: 100%; }
	.isha-header__messenger { --button-padding: var(--wp--preset--spacing--12); }
	.isha-header__messenger span { min-inline-size: 0; overflow-wrap: anywhere; }
	.isha-header__messenger :is(img, .isha-social-icon) {
		inline-size: var(--wp--custom--size--icon-small);
		block-size: var(--wp--custom--size--icon-small);
		flex: none;
		object-fit: contain;
	}
	.isha-mobile-menu .isha-header__social-link { inline-size: var(--wp--custom--size--target); min-block-size: var(--wp--custom--size--target); }
	.isha-mobile-menu .isha-header__hours { font-size: var(--wp--preset--font-size--small); }

	.isha-home-hero { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
	.isha-home-schedule .isha-upcoming-filter { background: var(--wp--preset--color--dark-surface); }
	.isha-schedule-enhanced .isha-theme .isha-upcoming-filter-toggle {
		--button-bg: color-mix(in srgb, var(--wp--preset--color--dark-surface), var(--wp--preset--color--on-dark-muted) 18%);
		--button-fg: var(--wp--preset--color--white);
		--button-hover: color-mix(in srgb, var(--wp--preset--color--dark-surface), var(--wp--preset--color--on-dark-muted) 26%);
		--button-pressed: var(--button-hover);
		--button-keyboard-color: var(--wp--preset--color--on-dark-accent);
		display: inline-flex;
		justify-self: center;
	}
	.isha-schedule-enhanced .isha-theme .isha-upcoming-filter-toggle:is([data-filtered], [aria-expanded="true"]) { --button-bg: var(--button-hover); }
	.isha-upcoming-filter-toggle[aria-expanded="true"] .isha-icon:last-child { rotate: 180deg; }
	.isha-schedule-enhanced .isha-upcoming-filter-toggle[aria-expanded="false"] + .isha-upcoming-filter { display: none; }
	.isha-home-schedule .isha-event-list > li:nth-child(n + 7) { display: none; }

	.isha-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.isha-calendar__day { padding-inline: .125rem; }
	.isha-event-card {
		grid-template-columns: minmax(0, 1fr) auto;
		grid-template-areas: "title title" "date date" "location location" "price action";
		gap: var(--wp--preset--spacing--12);
	}
	.isha-event-card .isha-event-card__title {
		font-size: var(--wp--preset--font-size--h-5);
		line-height: var(--wp--custom--type--h-5--line-height);
	}
	.isha-event-card__date {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--8);
	}
	.isha-event-card__date span { color: inherit; }
	.isha-event-card__place, .isha-event-card__status { display: flex; align-items: start; gap: var(--wp--preset--spacing--8); }
	.isha-event-card__date .isha-icon, .isha-event-card__place .isha-icon, .isha-event-card__status .isha-icon {
		display: block;
		inline-size: 1rem;
		block-size: 1rem;
		color: inherit;
	}
	.isha-event-card__place .isha-icon, .isha-event-card__status .isha-icon { margin-block-start: .2em; }
	.isha-event-card__place { color: var(--isha-muted); }
	.isha-event-card__price { font-size: var(--wp--preset--font-size--h-6); font-weight: 600; }
	.isha-event-card--preview .isha-event-card__status[data-status="open"] { color: var(--wp--preset--color--on-dark-accent); }

}

@media (max-width: 53.99rem) and (max-height: 44rem) {
	.isha-mobile-menu .isha-nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.isha-mobile-menu .isha-nav-item { font-size: var(--wp--preset--font-size--h-4); }
}

@media (max-width: 40rem) {
	.isha-theme { --isha-feature-radius: var(--wp--custom--radius--card); --isha-section: clamp(3rem, 12vw, 4rem); }
	.isha-home-hero__content { gap: var(--wp--preset--spacing--16); }
	.isha-home-hero hgroup > h1 { font-size: clamp(3rem, 2rem + 4.5vw, var(--wp--preset--font-size--h-1)); }
	.isha-home-hero .isha-actions .isha-button {
		--button-padding: clamp(var(--wp--preset--spacing--12), 4vw, var(--wp--preset--spacing--24));
		min-inline-size: 0;
	}
	.isha-split { grid-template-columns: minmax(0, 1fr); }
	.isha-schedule-period { inline-size: 100%; justify-content: space-between; }
	.isha-schedule-arrows { gap: .125rem; }
	.isha-calendar__day { flex-direction: column; justify-content: center; }
	.isha-calendar__day time { min-inline-size: 1.25rem; min-block-size: 1.25rem; }
	.isha-calendar__count { block-size: .875rem; min-inline-size: .875rem; font-size: .625rem; }
	.isha-footer-grid { grid-template-columns: minmax(0, 1fr); }
	.isha-footer-grid nav > ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--wp--preset--spacing--12); }
}

@media (max-width: 44rem) {
	.isha-approach {
		--orbit-extra: clamp(0rem, 22rem - 50vw, 4rem);
		min-block-size: calc(100vw + clamp(0rem, 22rem - 50vw, 8rem) + var(--orbit-extra));
	}
	.isha-approach__content {
		inline-size: min(82%, 25rem);
		gap: var(--wp--preset--spacing--16);
	}
	.isha-approach__content h2 { font-size: var(--wp--preset--font-size--h-2); }
	.isha-approach__attribution img { inline-size: 3rem; }
	.isha-orbit__card span { font-size: .8125rem; }
}

@media (max-width: 34rem) {
	.isha-detail-list { grid-template-columns: minmax(0, 1fr); }
}

@media (max-height: 42rem) and (min-width: 40.01rem) {
	.isha-home-hero { padding-block: calc(var(--isha-header-offset, 7rem) + 1rem) 4.25rem; }
	.isha-home-hero__content { gap: var(--wp--preset--spacing--12); }
	.isha-home-hero hgroup { --hero-lead-gap: var(--wp--preset--spacing--8); }
	.isha-home-hero h1 { font-size: clamp(2rem, 7.2svh, 3.25rem); }
	.isha-home-hero .isha-home-hero__lead { font-size: clamp(1rem, 3svh, 1.125rem); }
	.isha-home-hero .isha-actions { gap: var(--wp--preset--spacing--8); }
	.isha-home-hero .isha-actions .isha-button { --button-height: var(--wp--custom--size--button-small); --button-padding: var(--wp--preset--spacing--12); font-size: .8125rem; }
	.isha-home-hero .isha-hero-toggle { inset-block-end: max(var(--wp--preset--spacing--12), env(safe-area-inset-bottom)); }
}

@media (max-width: 24rem) and (max-height: 42rem) {
	.isha-home-hero { padding-block-start: calc(var(--isha-header-offset, 7rem) + .5rem); }
	.isha-home-hero .isha-home-hero__lead { font-size: .9375rem; line-height: var(--wp--custom--type--label--line-height); }
}

@media (orientation: landscape) and (max-height: 30rem) {
	.isha-home-hero { padding-block: calc(var(--isha-header-offset, 7rem) + .5rem) 2.75rem; }
	.isha-home-hero__content { gap: var(--wp--preset--spacing--8); }
	.isha-home-hero hgroup > h1 { max-inline-size: 30ch; font-size: clamp(1.75rem, 7svh, 2.5rem); }
}

@media (max-width: 53.99rem) and (prefers-reduced-motion: no-preference) {
	.isha-mobile-menu {
		--menu-duration: 320ms;
		--menu-motion: var(--menu-duration) ease-in-out;
		opacity: 0;
		transition: opacity var(--menu-motion);
	}
	.isha-mobile-menu[open] { opacity: 1; }
	.isha-mobile-menu .isha-brand img { transition: filter var(--menu-motion); }
	.isha-mobile-menu .isha-menu-icon { transition: background-color var(--menu-motion); }
	.isha-mobile-menu .isha-menu-icon::before, .isha-mobile-menu .isha-menu-icon::after { transition: transform var(--menu-motion); }
	.isha-mobile-menu__body { translate: 0 .375rem; transition: translate var(--menu-motion); }
	.isha-mobile-menu[open] .isha-mobile-menu__body { translate: 0 0; }
	@starting-style {
		.isha-mobile-menu[open] { opacity: 0; }
		.isha-mobile-menu[open] .isha-mobile-menu__body { translate: 0 .375rem; }
		.isha-mobile-menu[open] .isha-brand img { filter: var(--menu-closed-logo-filter, none); }
		.isha-mobile-menu[open] .isha-menu-icon { background-color: currentColor; }
		.isha-mobile-menu[open] .isha-menu-icon::before { transform: translateY(-6px) rotate(0deg); }
		.isha-mobile-menu[open] .isha-menu-icon::after { transform: translateY(6px) rotate(0deg); }
	}
	@supports not (transition-behavior: allow-discrete) {
		.isha-mobile-menu[open] .isha-mobile-menu__body { animation: isha-rise-in var(--menu-motion); }
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header { --header-motion: 0s; }
	.site-header .isha-button { transition: none; }
}

@media (forced-colors: active) {
	.isha-theme .isha-home-schedule { background-image: none; }
}

@keyframes isha-rise-in {
	from { opacity: .8; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
	.isha-theme #wpadminbar { position: fixed; }
}

.isha-theme .site-main.isha-registration { padding-block: var(--isha-page-start) var(--isha-section); }
.isha-booking-intro, .isha-booking-layout { max-inline-size: 38rem; margin-inline: auto; }
.isha-booking-intro { margin-block-end: var(--wp--preset--spacing--16); }
.isha-booking-intro h1, .isha-booking-result h1 { text-align: center; font-size: var(--isha-page-title); }
.isha-booking-intro > a { margin-block-end: var(--wp--preset--spacing--12); }
.isha-booking-layout { display: grid; gap: var(--wp--preset--spacing--16); }
.isha-booking-section { display: grid; gap: var(--wp--preset--spacing--32); }
.isha-booking-section > .isha-booking-required { margin-block-end: calc(-1 * var(--wp--preset--spacing--16)); }
.isha-booking-layout[data-booking-step="questions"] > .isha-booking-summary { display: none; }
.isha-booking-captcha .smart-captcha { min-block-size: 6.25rem; }
.isha-booking-captcha .isha-field__error { margin-block-start: var(--wp--preset--spacing--8); }
.isha-booking-required { color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-booking-form { --field-bg: var(--wp--preset--color--surface); display: grid; gap: var(--wp--preset--spacing--24); min-inline-size: 0; }
.isha-booking-summary {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--16);
	overflow-wrap: anywhere;
	font-size: var(--wp--preset--font-size--small);
}
.isha-booking-summary h2 { font: 600 var(--wp--preset--font-size--interface)/1.35 var(--wp--preset--font-family--onest); }
.isha-booking-step-title h2 { font-size: var(--wp--preset--font-size--h-3); }
.isha-booking-summary p { display: flex; gap: var(--wp--preset--spacing--8); color: var(--isha-muted); }
.isha-booking-summary .isha-icon { flex: none; margin-block-start: .2em; }
.isha-booking-step-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--wp--preset--spacing--8); }
.isha-booking-progress { display: grid; gap: var(--wp--preset--spacing--4); color: var(--isha-muted); font-size: var(--wp--preset--font-size--small); }
.isha-booking-progress progress { display: block; inline-size: 100%; block-size: .375rem; accent-color: var(--wp--custom--color--choice); }
.isha-booking-result {
	display: grid;
	justify-items: center;
	gap: var(--wp--preset--spacing--16);
	max-inline-size: 38rem;
	margin-inline: auto;
	text-align: center;
}
.isha-booking-result > p { white-space: pre-line; }
.isha-booking-result .isha-booking-summary { justify-self: stretch; text-align: start; }
.isha-booking-result .isha-actions { justify-content: center; }
.isha-booking-result__check {
	display: grid;
	place-items: center;
	inline-size: var(--wp--custom--size--control);
	aspect-ratio: 1;
	border-radius: 50%;
	color: var(--wp--preset--color--olive);
	background: var(--wp--custom--color--olive-soft);
}
@media (max-width: 48rem) {
	.isha-booking-form .isha-button, .isha-booking-result .isha-actions, .isha-booking-result .isha-actions > .isha-button { inline-size: 100%; }
}
.isha-booking-step, .isha-booking-group { display: grid; gap: var(--wp--preset--spacing--16); }
.isha-booking-step[hidden] { display: none; }
@media (prefers-reduced-motion: no-preference) {
	.isha-booking-step[data-booking-step]:not([hidden]),
	.isha-booking-result {
		animation: isha-rise-in 180ms var(--wp--custom--motion--ease) both;
	}
}
.isha-booking-group { padding: 0; margin: 0; border: 0; min-inline-size: 0; }
.isha-booking-group legend { max-inline-size: 100%; padding: 0; margin-block-end: var(--wp--preset--spacing--8); font-weight: 550; }
.isha-booking-group label, .isha-booking-check {
	display: flex;
	align-items: center;
	min-block-size: var(--wp--custom--size--target);
	gap: var(--wp--preset--spacing--8);
	overflow-wrap: anywhere;
}
.isha-booking-group input, .isha-booking-check input {
	flex: none;
	inline-size: var(--wp--custom--size--choice);
	block-size: var(--wp--custom--size--choice);
	margin: 0;
	accent-color: var(--wp--custom--color--choice);
}
.isha-booking-options label {
	align-items: start;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--16);
	border: 1px solid var(--isha-line);
	border-radius: var(--wp--custom--radius--control);
	background: var(--isha-paper);
	font-size: var(--wp--preset--font-size--interface);
	cursor: pointer;
}
.isha-booking-options label:has(input:checked) { border-color: var(--wp--custom--color--choice); background: var(--wp--custom--color--selection-bg); }
@media (hover: hover) {
	.isha-booking-options label:not(:has(input:checked)):hover { background: var(--wp--preset--color--surface); }
}
.isha-booking-options label input { margin-block-start: .15em; }
@media (forced-colors: none) {
	.isha-booking-options input[type="checkbox"] {
		appearance: none;
		display: grid;
		place-items: center;
		border: 1.5px solid var(--wp--custom--color--focus);
		border-radius: .375rem;
		background: var(--wp--preset--color--white);
	}
	.isha-booking-options input[type="checkbox"]:checked { background: var(--wp--custom--color--choice); border-color: var(--wp--custom--color--choice); }
	.isha-booking-options input[type="checkbox"]:checked::before {
		content: "";
		inline-size: .75rem;
		block-size: .45rem;
		border: solid white;
		border-width: 0 0 2px 2px;
		transform: translateY(-.075rem) rotate(-45deg);
	}
}
.isha-booking-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
	gap: var(--wp--preset--spacing--8);
}
.isha-booking-options--stacked { grid-template-columns: minmax(0, 1fr); }
.isha-booking-step > .isha-button { justify-self: start; }

@media (max-width: 34rem) {
	.isha-schedule-today { margin-inline-start: auto; }
	.isha-schedule-views__item { padding-inline: var(--wp--preset--spacing--8); }
}

@media (max-width: 40rem) {
	.isha-program-day { padding-inline: var(--wp--preset--spacing--4); }
	.isha-event-card, :is(.isha-schedule-main, .isha-program-schedule) .isha-event-card {
		grid-template-columns: minmax(0, 1fr);
		grid-template-areas: "title" "date" "location" "price" "action";
	}
	.isha-event-card > .isha-button { --button-height: var(--wp--custom--size--button); padding-inline: var(--wp--preset--spacing--8); }
	.isha-upcoming-more { inline-size: 100%; }
}
