:root {
	--g-bg: #F6F7F6;
	--g-card: #FFFFFF;
	--g-line: #E3E7E5;
	--g-text: #121715;
	--g-muted: #66726D;
	--g-off: #B6BFBB;
	--g-acc: #00A87D;
	--g-danger: #D9534F;
	--font-display: 'Space Grotesk', ui-sans-serif, sans-serif;
	--font-body: 'Instrument Sans', ui-sans-serif, sans-serif;
}
* {
	box-sizing: border-box;
}
html, body {
	margin: 0;
	background: var(--g-bg);
	color: var(--g-text);
	font: 400 14px/1.5 var(--font-body);
	-webkit-font-smoothing: antialiased;
}
a {
	color: var(--g-acc);
}
button {
	font: inherit;
}
.tm {
	max-width: 1000px;
	margin: 0 auto;
	padding: 32px 16px 16px;
}
.tm_card {
	background: var(--g-card);
	border: 1px solid var(--g-line);
	border-radius: 14px;
}
.tm_missing {
	max-width: 560px;
	margin: 40px auto;
	padding: 28px;
	text-align: center;
}
.tm_missing h1 {
	margin: 0 0 8px;
	font: 700 22px var(--font-display);
}
.tm_missing p {
	margin: 0;
	color: var(--g-muted);
}
.tm_foot {
	margin: 0;
	padding: 8px 16px 28px;
	text-align: center;
	font-size: 12px;
	color: var(--g-muted);
}
.tm_foot a {
	color: var(--g-muted);
	text-decoration: none;
}
.tm_foot a:hover {
	color: var(--g-text);
}
.tm_sep {
	margin: 0 10px;
	opacity: .5;
}
.tm_avatar {
	display: block;
	flex-shrink: 0;
	border-radius: 50%;
	object-fit: cover;
}
.tm_initials {
	display: grid;
	place-items: center;
	background: var(--g-acc);
	color: #fff;
	font-family: var(--font-display);
	font-weight: 700;
}

.tm_overview {
	max-width: 640px;
	margin: 16px auto;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.tm_who {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin-bottom: 10px;
}
.tm_who .tm_avatar {
	margin-bottom: 10px;
}
.tm_who h1 {
	margin: 0;
	font: 700 22px var(--font-display);
}
.tm_who p {
	margin: 0;
	color: var(--g-muted);
}
.tm_pick {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	color: var(--g-muted);
	text-decoration: none;
	transition: border-color .12s;
}
.tm_pick:hover {
	border-color: var(--g-acc);
}
.tm_pick > span {
	flex: 1;
	min-width: 0;
}
.tm_pick b {
	display: block;
	font: 600 15px var(--font-body);
	color: var(--g-text);
}
.tm_pick span span {
	font-size: 13px;
}

.tm_link {
	display: grid;
	grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
	overflow: hidden;
}
.tm_info {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	border-right: 1px solid var(--g-line);
	min-width: 0;
}
.tm_back {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	align-self: flex-start;
	font: 500 13px var(--font-body);
	color: var(--g-muted);
	text-decoration: none;
}
.tm_back:hover {
	color: var(--g-text);
}
.tm_by {
	display: flex;
	align-items: center;
	gap: 10px;
	font: 500 13px var(--font-body);
	color: var(--g-muted);
}
.tm_info h1 {
	margin: 0;
	font: 700 22px/1.25 var(--font-display);
	color: var(--g-text);
}
.tm_desc {
	margin: 0;
	font: 400 14px/1.55 var(--font-body);
	color: var(--g-muted);
}
.tm_facts {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 6px;
	font: 500 13px var(--font-body);
}
.tm_facts > span {
	display: flex;
	align-items: center;
	gap: 8px;
}
.tm_facts svg {
	flex-shrink: 0;
}
.tm_muted {
	color: var(--g-muted);
}
.tm_chosen {
	color: var(--g-acc);
}
.tm_durs {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.tm_chip {
	padding: 3px 9px;
	border-radius: 999px;
	border: 1px solid var(--g-line);
	background: transparent;
	color: var(--g-text);
	font: 600 12px var(--font-body);
	cursor: pointer;
}
.tm_chip.on {
	border-color: var(--g-acc);
	background: var(--g-acc);
	color: #fff;
}
.tm_main {
	display: flex;
	flex-direction: column;
	padding: 24px;
	min-width: 0;
}
.tm_choice {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 14px;
}
.tm_views {
	display: inline-flex;
	margin-right: 8px;
	padding: 2px;
	border: 1px solid var(--g-line);
	border-radius: 8px;
}
.tm_views button {
	width: 28px;
	height: 24px;
	display: grid;
	place-items: center;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: var(--g-muted);
	cursor: pointer;
}
.tm_views button:hover {
	color: var(--g-text);
}
.tm_views button.on {
	background: color-mix(in srgb, var(--g-text) 10%, transparent);
	color: var(--g-text);
}
.tm_month {
	display: grid;
	flex: 1;
	grid-template-columns: minmax(0, 1fr) minmax(200px, 260px);
}
.tm_month > div:first-child {
	padding-right: 24px;
}
.tm_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}
.tm_head b {
	font: 600 16px var(--font-body);
}
.tm_head b span,
.tm_times b span {
	color: var(--g-muted);
	font-weight: 500;
}
.tm_head > span {
	display: flex;
	align-items: center;
	gap: 4px;
}
.tm_nav {
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--g-text);
	cursor: pointer;
}
.tm_nav:not(:disabled):hover {
	background: color-mix(in srgb, var(--g-text) 8%, transparent);
}
.tm_nav:disabled {
	opacity: .35;
	cursor: default;
}
.tm_grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 4px;
}
.tm_wd {
	display: block;
	text-align: center;
	padding: 4px 0;
	font: 600 11px var(--font-body);
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--g-muted);
}
.tm_day {
	aspect-ratio: 1;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: var(--g-off);
	font: 400 13px var(--font-body);
	cursor: default;
}
.tm_day.free {
	background: color-mix(in srgb, var(--g-acc) 12%, transparent);
	color: var(--g-text);
	font-weight: 600;
	cursor: pointer;
}
.tm_day.free:hover {
	background: color-mix(in srgb, var(--g-acc) 22%, transparent);
}
.tm_day.on {
	background: var(--g-acc);
	color: #fff;
}
.tm_wait {
	margin: 10px 0 0;
	font-size: 12px;
}
.tm_times {
	display: flex;
	flex-direction: column;
	gap: 8px;
	min-width: 0;
	margin: 0 -24px -24px 0;
	padding: 0 24px 24px;
	border-left: 1px solid var(--g-line);
}
.tm_link:not(.tm_nodetails) .tm_times {
	margin-top: -24px;
	padding-top: 24px;
}
@media (min-width: 761px) {
	.tm_times {
		height: 0;
		min-height: calc(100% + 24px);
		overflow-y: auto;
		scrollbar-width: thin;
	}
	.tm_link:not(.tm_nodetails) .tm_times {
		min-height: calc(100% + 48px);
	}
	.tm_times > * {
		flex-shrink: 0;
	}
	.tm_times b {
		position: sticky;
		top: 0;
		z-index: 1;
		margin: 0;
		padding-bottom: 8px;
		background: var(--g-card);
	}
	.tm_link:not(.tm_nodetails) .tm_times b {
		top: -24px;
		margin-top: -24px;
		padding-top: 24px;
	}
}
.tm_times b {
	display: flex;
	align-items: center;
	gap: 6px;
	min-height: 30px;
	margin-bottom: 4px;
	font: 600 16px var(--font-body);
}
.tm_empty {
	margin: auto 0;
	text-align: center;
}
.tm_time {
	height: 40px;
	padding: 0 14px;
	width: 100%;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 600 13px var(--font-body);
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.tm_time:hover {
	border-color: var(--g-acc);
}
.tm_time.on {
	border-color: var(--g-acc);
	background: var(--g-acc);
	color: #fff;
}

.tm_form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.tm_field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.tm_label {
	font: 600 13px var(--font-body);
}
.tm_label i,
.tm_check i {
	font-style: normal;
	font-weight: 400;
	color: var(--g-muted);
	margin-left: 5px;
}
.tm_field input,
.tm_field textarea {
	width: 100%;
	padding: 0 12px;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 400 14px var(--font-body);
}
.tm_field input {
	height: 40px;
}
.tm_field textarea {
	padding: 10px 12px;
	resize: vertical;
}
.tm_field input:focus,
.tm_field textarea:focus {
	outline: none;
	border-color: var(--g-acc);
}
.tm_field input:disabled,
.tm_field textarea:disabled {
	background: var(--g-bg);
	color: var(--g-muted);
}
.tm_check {
	flex-direction: row;
	align-items: center;
	gap: 8px;
}
.tm_check input {
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: var(--g-acc);
}
.tm_opts {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
.tm_opt {
	height: 40px;
	padding: 0 14px;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 600 13px var(--font-body);
	cursor: pointer;
}
.tm_opt.on {
	border-color: var(--g-acc);
	background: var(--g-acc);
	color: #fff;
}
.tm_small {
	margin: 0;
	font: 400 12px/1.5 var(--font-body);
	color: var(--g-muted);
}
.tm_small a {
	color: var(--g-muted);
}
.tm_error {
	margin: 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: color-mix(in srgb, var(--g-danger) 10%, transparent);
	color: var(--g-danger);
	font-size: 13px;
}
.tm_book {
	height: 44px;
	border-radius: 8px;
	border: none;
	background: var(--g-acc);
	color: #fff;
	font: 700 14px var(--font-body);
	cursor: pointer;
}
.tm_book:disabled {
	background: #C9D1CE;
	cursor: default;
}

.tm_done {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 10px;
	padding: 30px 10px;
}
.tm_ok {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: var(--g-acc);
	color: #fff;
	display: grid;
	place-items: center;
}
.tm_done b {
	font: 700 20px var(--font-display);
}
.tm_done p {
	margin: 0;
	font: 400 14px/1.55 var(--font-body);
	color: var(--g-muted);
}
.tm_again {
	margin-top: 8px;
	height: 36px;
	padding: 0 14px;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 600 13px var(--font-body);
	cursor: pointer;
}

@media (max-width: 760px) {
	.tm {
		padding-top: 16px;
	}
	.tm_link {
		grid-template-columns: minmax(0, 1fr);
	}
	.tm_info {
		border-right: none;
		border-bottom: 1px solid var(--g-line);
	}
	.tm_month {
		grid-template-columns: minmax(0, 1fr);
	}
	.tm_month > div:first-child {
		padding-right: 0;
	}
	.tm_times,
	.tm_link:not(.tm_nodetails) .tm_times {
		margin: 20px 0 0;
		padding: 20px 0 0;
		border-left: none;
		border-top: 1px solid var(--g-line);
	}
}
a.tm_again {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
.tm_booked {
	color: var(--g-text);
	font-weight: 600;
}
.tm_booked.off {
	color: var(--g-muted);
	text-decoration: line-through;
}
.tm_ok.tm_off {
	background: var(--g-muted);
}
.tm_manage {
	display: flex;
	flex-direction: column;
	gap: 12px;
	max-width: 420px;
}
.tm_lead {
	margin: 0;
	font: 400 15px/1.55 var(--font-body);
	color: var(--g-text);
}
.tm_ghost {
	height: 44px;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 600 14px var(--font-body);
	cursor: pointer;
}
.tm_book.tm_danger {
	background: var(--g-danger);
}
html.tm_embed {
	--g-acc: var(--g-acc-hell);
}
html.tm_embed[data-design='dunkel'] {
	--g-bg: #0B0F0E;
	--g-card: #141A18;
	--g-line: #26302D;
	--g-text: #F2F5F4;
	--g-muted: #8FA09B;
	--g-off: #4A5653;
	--g-acc: var(--g-acc-dunkel);
	color-scheme: dark;
}
@media (prefers-color-scheme: dark) {
	html.tm_embed[data-design='auto'] {
		--g-bg: #0B0F0E;
		--g-card: #141A18;
		--g-line: #26302D;
		--g-text: #F2F5F4;
		--g-muted: #8FA09B;
		--g-off: #4A5653;
		--g-acc: var(--g-acc-dunkel);
		color-scheme: dark;
	}
}
html.tm_embed,
html.tm_embed body {
	background: transparent;
}
html.tm_embed .tm {
	padding: 0;
}
html.tm_embed .tm_info .tm_back {
	display: none;
}
html.tm_embed .tm_foot {
	padding: 8px 0 0;
}
html.tm_embed .tm_link.tm_nodetails {
	grid-template-columns: minmax(0, 1fr);
}
html.tm_embed .tm_popup .tm {
	padding: 0;
}
.tm_hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
html.tm_embed .tm_info .tm_foot {
	margin-top: auto;
	padding: 14px 0 0;
	text-align: left;
}
@media (min-width: 761px) {
	html.tm_foot_inside body > .tm_foot {
		display: none;
	}
}
@media (max-width: 760px) {
	html.tm_embed .tm_info .tm_foot {
		display: none;
	}
}
@media (min-width: 761px) {
	.tm_link {
		min-height: 520px;
	}
}
.tm_week {
	max-height: 420px;
	overflow: auto;
	border: 1px solid var(--g-line);
	border-radius: 10px;
	scrollbar-width: thin;
}
.tm_wgrid {
	display: grid;
	grid-template-columns: 52px repeat(7, minmax(64px, 1fr));
	min-width: 500px;
}
.tm_whead {
	position: sticky;
	top: 0;
	z-index: 1;
	padding: 8px 0;
	text-align: center;
	background: var(--g-card);
	border-bottom: 1px solid var(--g-line);
}
.tm_whead + .tm_whead {
	border-left: 1px solid var(--g-line);
}
.tm_whead i {
	display: block;
	font: 600 10px var(--font-body);
	font-style: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--g-muted);
}
.tm_whead b {
	display: block;
	font: 600 15px var(--font-body);
}
.tm_whead b.today {
	color: var(--g-acc);
}
.tm_whour {
	padding: 4px 8px 0 0;
	text-align: right;
	font: 400 11px var(--font-body);
	font-variant-numeric: tabular-nums;
	color: var(--g-muted);
}
.tm_whour.full {
	border-top: 1px solid var(--g-line);
}
.tm_wcell,
.tm_wslot {
	height: 30px;
	border: none;
	border-left: 1px solid var(--g-line);
	border-top: 1px dashed color-mix(in srgb, var(--g-line) 60%, transparent);
}
.tm_wcell.full,
.tm_wslot.full {
	border-top: 1px solid var(--g-line);
}
.tm_wcell {
	background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--g-line) 90%, transparent) 0 1px, var(--g-bg) 1px 7px);
}
.tm_wslot {
	padding: 0;
	background: var(--g-card);
	color: var(--g-text);
	font: 600 11px var(--font-body);
	font-variant-numeric: tabular-nums;
	cursor: pointer;
}
.tm_wslot:hover {
	background: var(--g-acc);
	color: #fff;
}
.tm_mini {
	margin-top: 14px;
}
.tm_mini .tm_head {
	margin-bottom: 6px;
}
.tm_mini .tm_head b {
	font-size: 13px;
}
.tm_mini .tm_nav {
	width: 24px;
	height: 24px;
}
.tm_mini .tm_grid {
	gap: 2px;
}
.tm_mini .tm_wd {
	font-size: 9px;
}
.tm_miniday {
	border-radius: 6px;
	font-size: 11px;
	cursor: pointer;
}
.tm_miniday.free {
	background: transparent;
}
.tm_miniday.week,
.tm_miniday.week.free {
	background: color-mix(in srgb, var(--g-acc) 18%, transparent);
}
.tm_mini_below {
	display: none;
}
.tm_scols {
	display: grid;
	border: 1px solid var(--g-line);
	border-radius: 10px;
	overflow: hidden;
}
.tm_scol {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.tm_scol + .tm_scol {
	border-left: 1px solid var(--g-line);
}
.tm_scol_head {
	padding: 10px 12px;
	text-align: center;
	border-bottom: 1px solid var(--g-line);
}
.tm_scol_head i {
	display: block;
	font: 600 10px var(--font-body);
	font-style: normal;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--g-muted);
}
.tm_scol_head b {
	display: block;
	font: 600 15px var(--font-body);
}
.tm_scol_head b span {
	color: var(--g-muted);
	font-weight: 500;
}
.tm_scol_times {
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-height: 360px;
	padding: 12px;
	overflow-y: auto;
	scrollbar-width: thin;
}
.tm_scol_times > * {
	flex-shrink: 0;
}
@media (max-width: 760px) {
	.tm_week {
		max-height: none;
	}
	.tm_mini_side {
		display: none;
	}
	.tm_mini_below {
		display: block;
		margin-top: 18px;
	}
	.tm_scol_times {
		max-height: none;
	}
}
.tm_next_page {
	margin: 8px 0 0;
	font: 500 13px var(--font-body);
	color: var(--g-muted);
}
.tm_next_page a {
	color: var(--g-acc);
	font-weight: 600;
	text-decoration: none;
}
.tm_consent {
	position: fixed;
	left: 16px;
	right: 16px;
	bottom: 16px;
	z-index: 50;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	max-width: 760px;
	margin: 0 auto;
	padding: 14px 16px;
	background: var(--g-card);
	color: var(--g-text);
	border: 1px solid var(--g-line);
	border-radius: 12px;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}
.tm_consent p {
	flex: 1;
	min-width: 220px;
	margin: 0;
	font: 400 13px/1.5 var(--font-body);
}
.tm_consent span {
	display: flex;
	gap: 8px;
}
.tm_consent button {
	height: 36px;
	padding: 0 14px;
	border-radius: 8px;
	border: 1px solid var(--g-line);
	background: var(--g-card);
	color: var(--g-text);
	font: 600 13px var(--font-body);
	cursor: pointer;
}
.tm_consent button.primary {
	border-color: var(--g-acc);
	background: var(--g-acc);
	color: #fff;
}
