.tcm-container {
	max-width: 1120px;
	margin: 0 auto;
	padding: 32px 20px;
}

.tcm-course-schedule,
.tcm-course-filters,
.tcm-course-list {
	margin: 24px 0;
}

.tcm-course-schedule {
	color: #334155;
	font-size: 14px;
	line-height: 1.45;
}

.tcm-course-schedule h2 {
	color: #0b376d;
	font-size: 26px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 18px;
}

.tcm-course-actions {
	display: grid;
	gap: 10px;
	margin: 0 0 24px;
	width: 100%;
}

.tcm-course-action-button {
	align-items: center;
	background: #000;
	border: 0;
	border-radius: 4px;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-size: 14px;
	font-weight: 700;
	gap: 10px;
	justify-content: flex-start;
	line-height: 1.25;
	min-height: 48px;
	padding: 12px 14px;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.tcm-course-action-button:hover,
.tcm-course-action-button:focus {
	background: #fe6700;
	color: #fff;
	outline: none;
	text-decoration: none;
}

.tcm-course-action-button:focus-visible {
	box-shadow: 0 0 0 3px rgba(254, 103, 0, 0.24);
}

.tcm-course-action-button.is-disabled {
	background: #5b5b5b;
	cursor: not-allowed;
	pointer-events: none;
}

.tcm-course-action-icon {
	flex: 0 0 20px;
	height: 20px;
	width: 20px;
}

.tcm-table-wrap {
	overflow-x: auto;
}

.tcm-schedule-heading {
	color: #0b376d;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	margin: 24px 0 10px;
}

.tcm-schedule-table {
	width: 100%;
	border: 1px solid #e5e7eb;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	margin-bottom: 20px;
}

.tcm-schedule-table th,
.tcm-schedule-table td {
	border: 0;
	border-bottom: 1px solid #e5e7eb;
	padding: 10px 14px;
	text-align: left;
	vertical-align: middle;
}

.tcm-schedule-table th {
	background: #f8fafc;
	color: #475569;
	font-size: 13px;
	font-weight: 600;
}

.tcm-schedule-table tbody tr:last-child td {
	border-bottom: 0;
}

.tcm-schedule-table tbody tr:nth-child(even) {
	background: #fcfcfd;
}

.tcm-schedule-table .tcm-schedule-row-is-past {
	opacity: 0.48;
}

.tcm-schedule-table .tcm-schedule-row-is-past td {
	background: #f8fafc;
	color: #8a94a6;
}

.tcm-registration-closed {
	color: #8a94a6;
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.25;
}

.learnpress table td {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.tcm-schedule-table .tcm-registration-column {
	text-align: right;
	width: 118px;
}

.tcm-form-grid,
.tcm-course-filters {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 14px;
}

.tcm-form-grid label span {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.tcm-form-grid input,
.tcm-form-grid select,
.tcm-form-grid textarea,
.tcm-registration-readonly input,
.tcm-course-filters input,
.tcm-course-filters select {
	width: 100%;
	min-height: 42px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	padding: 8px 10px;
}

.tcm-form-grid input:focus,
.tcm-form-grid select:focus,
.tcm-registration-readonly input:focus,
.tcm-course-filters input:focus,
.tcm-course-filters select:focus {
	border-color: #fe6700;
	box-shadow: 0 0 0 3px rgba(254, 103, 0, 0.14);
	outline: none;
}

.tcm-field-full {
	grid-column: 1 / -1;
}

.tcm-submit,
.tcm-register-button,
.tcm-course-filters button,
.tcm-course-link {
	display: inline-block;
	border: 0;
	border-radius: 4px;
	background: #1f6feb;
	color: #fff;
	padding: 10px 16px;
	text-decoration: none;
	cursor: pointer;
}

.tcm-submit,
.tcm-register-button {
	background: #fe6700;
	font-weight: 700;
}

.tcm-submit:hover,
.tcm-submit:focus,
.tcm-register-button:hover,
.tcm-register-button:focus {
	background: #e35c00;
	color: #fff;
}

.tcm-register-button {
	background: transparent;
	border: 0;
	color: #e35c00;
	font-size: 13px;
	font-weight: 700;
	padding: 0;
	white-space: nowrap;
}

.tcm-register-button:hover,
.tcm-register-button:focus {
	background: transparent;
	color: #b94700;
	text-decoration: underline;
}

.tcm-course-list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 16px;
}

.tcm-course-card {
	border: 1px solid #d8dde6;
	border-radius: 6px;
	padding: 18px;
	background: #fff;
}

.tcm-course-card h3 {
	margin-top: 0;
}

.tcm-run-summary {
	margin-left: 18px;
}

.tcm-course-table-widget {
	color: #111827;
	font-size: 15px;
}

.tcm-course-table-layout {
	align-items: start;
	display: grid;
	gap: 22px;
	grid-template-columns: minmax(240px, 350px) minmax(0, 1fr);
}

.tcm-course-table-sidebar {
	background: #fff;
	border-radius: 4px;
	display: grid;
	gap: 10px;
	padding: 16px;
}

.tcm-course-table-search input,
.tcm-course-table-sort select {
	background: #fff;
	border: 1px solid #d3d8e2;
	border-radius: 6px;
	min-height: 46px;
	padding: 9px 14px;
	width: 100%;
}

.tcm-course-filter-panel {
	border: 0;
}

.tcm-course-filter-panel summary {
	background: #f6f7f9;
	border-radius: 4px;
	border-left: 3px solid #ea7d1e;
	color: #172033;
	cursor: pointer;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.25;
	list-style: none;
	padding: 10px 13px;
}

.tcm-course-filter-panel summary::-webkit-details-marker {
	display: none;
}

.tcm-course-filter-panel summary::after {
	content: "\25BE";
	float: right;
	font-size: 12px;
	margin-top: 1px;
	color: #ea7d1e;
}

.tcm-course-filter-panel[open] summary::after {
	content: "\25B4";
}

.tcm-course-filter-panel.is-disabled {
	opacity: 0.55;
}

.tcm-course-filter-panel.is-disabled summary {
	cursor: not-allowed;
}

.tcm-course-filter-panel.is-disabled summary::after {
	content: "";
}

.tcm-course-filter-options {
	display: grid;
	gap: 10px;
	padding: 16px 10px 4px;
}

.tcm-course-filter-options label {
	align-items: flex-start;
	color: #152145;
	display: flex;
	gap: 10px;
	line-height: 1.35;
}

.tcm-course-filter-options input[type="checkbox"] {
	appearance: none;
	background: #fff;
	border: 1px solid #8f98a8;
	border-radius: 3px;
	flex: 0 0 22px;
	height: 22px;
	margin: 0;
	width: 22px;
}

.tcm-course-filter-options input[type="checkbox"]:checked {
	background: #ea7d1e;
	border-color: #ea7d1e;
	box-shadow: inset 0 0 0 4px #fff;
}

.tcm-course-filter-country {
	display: grid;
	gap: 12px;
}

.tcm-course-filter-country + .tcm-course-filter-country {
	margin-top: 12px;
}

.tcm-course-filter-country-heading {
	align-items: center;
	border-bottom: 1px solid #ea7d1e;
	color: #ea7d1e;
	display: flex;
	justify-content: space-between;
	padding-bottom: 8px;
}

.tcm-course-filter-country-heading label {
	color: #7a8291;
	font-size: 14px;
}

.tcm-course-filter-country-heading input[type="checkbox"] {
	flex-basis: 18px;
	height: 18px;
	width: 18px;
}

.tcm-course-filter-city-grid {
	display: grid;
	gap: 10px 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tcm-course-table-filter-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 8px;
}

.tcm-course-table-filter-actions button,
.tcm-course-table-filter-actions a,
.tcm-course-table-active-filters a {
	align-items: center;
	background: #fff0e3;
	border: 0;
	border-radius: 18px;
	box-sizing: border-box;
	color: #b45b10;
	display: inline-flex;
	font-weight: 500;
	justify-content: center;
	line-height: 1.25;
	min-height: 40px;
	padding: 8px 14px;
	text-decoration: none;
}

.tcm-course-table-filter-actions button {
	background: #ea7d1e;
	color: #fff;
	cursor: pointer;
}

.tcm-course-table-filter-actions button:hover,
.tcm-course-table-filter-actions button:focus,
.tcm-course-table-filter-actions button:active {
	background: #d96f18;
	color: #fff;
	outline: none;
}

.tcm-course-table-filter-actions a:hover,
.tcm-course-table-filter-actions a:focus,
.tcm-course-table-filter-actions a:active,
.tcm-course-table-active-filters a:hover,
.tcm-course-table-active-filters a:focus,
.tcm-course-table-active-filters a:active {
	background: #fde7d2;
	color: #9f4d0b;
	outline: none;
	text-decoration: none;
}

.tcm-course-table-toolbar {
	align-items: center;
	display: flex;
	gap: 16px;
	justify-content: space-between;
	margin-bottom: 30px;
}

.tcm-course-table-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.tcm-course-table-active-filters span {
	border: 1px solid #ea7d1e;
	border-radius: 18px;
	color: #4b5563;
	display: inline-flex;
	padding: 8px 13px;
}

.tcm-course-table-active-filters .tcm-course-table-filter-chip {
	background: #fffaf5;
	border-color: #fde2c7;
	color: #29344a;
}

.tcm-course-table-active-filters .tcm-course-table-filter-count {
	background: #fff;
	color: #29344a;
}

.tcm-course-table-wrap {
	overflow-x: auto;
}

.tcm-course-table {
	border-collapse: separate;
	border-spacing: 0 12px;
	width: 100%;
}

.tcm-course-table thead tr {
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.tcm-course-table th {
	background: linear-gradient(180deg, #fffaf5 0%, #fff1e4 100%);
	border-bottom: 2px solid #ea7d1e;
	border-top: 1px solid #fde2c7;
	color: #29344a;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0;
	padding: 13px 14px;
	text-align: left;
}

.tcm-course-table th:first-child {
	border-left: 1px solid #fde2c7;
	border-radius: 7px 0 0 7px;
}

.tcm-course-table th:last-child {
	border-radius: 0 7px 7px 0;
	border-right: 1px solid #fde2c7;
	text-align: right;
}

.tcm-course-table th:nth-child(2),
.tcm-course-table td:nth-child(2),
.tcm-course-table th:nth-child(3),
.tcm-course-table td:nth-child(3),
.tcm-course-table th:nth-child(4),
.tcm-course-table td:nth-child(4) {
	white-space: nowrap;
}

.tcm-course-table td {
	background: #fff;
	border-bottom: 1px solid #e4e8ef;
	border-top: 1px solid #e4e8ef;
	color: #4b5563;
	padding: 15px 14px;
	transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.learnpress .tcm-course-table td {
	padding: 15px 14px !important;
}

.tcm-course-table-row {
	cursor: pointer;
	outline: none;
	transition: box-shadow 160ms ease, transform 160ms ease;
}

.tcm-course-table-row td {
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.07);
}

.tcm-course-table-row:hover,
.tcm-course-table-row:focus {
	transform: translateY(-1px);
}

.tcm-course-table-row:hover td,
.tcm-course-table-row:focus td {
	background: #fffdfb;
	border-color: #f4c99f;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.11);
}

.tcm-course-table td:first-child {
	border-left: 1px solid #e4e8ef;
	border-radius: 7px 0 0 7px;
	color: #111827;
}

.tcm-course-table td:last-child {
	border-radius: 0 7px 7px 0;
	border-right: 1px solid #e4e8ef;
	text-align: right;
}

.tcm-course-table a {
	color: #111827;
	text-decoration: none;
}

.tcm-course-table a:hover,
.tcm-course-table a:focus {
	color: #ea7d1e;
}

.tcm-venue-menu-widget {
	--tcm-venue-accent: #ea7d1e;
	color: #172033;
	width: 100%;
}

.elementor-widget-tcm-venue-menu > .elementor-widget-container {
	padding: 0 !important;
}

.tcm-venue-menu-grid {
	display: grid;
	gap: 16px 28px;
	grid-template-columns: repeat(var(--tcm-venue-columns, 4), minmax(0, 1fr));
}

.tcm-venue-menu-country {
	min-width: 0;
}

.tcm-venue-menu-country h3 {
	border-bottom: 1px solid var(--tcm-venue-accent);
	color: #172033;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25 !important;
	margin: 0 0 8px;
	padding: 0 0 7px;
}

.tcm-venue-menu-country h3 a,
.tcm-venue-menu-country h3 a:hover,
.tcm-venue-menu-country h3 a:focus {
	color: inherit;
	text-decoration: none;
}

.tcm-venue-menu-country ul {
	display: grid;
	gap: 3px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tcm-venue-menu-country li {
	line-height: 1.35 !important;
	margin: 0;
	padding: 0;
}

.tcm-venue-menu-country li a {
	align-items: center;
	color: #6b7280;
	display: inline-flex;
	font-size: 14px;
	font-weight: 500;
	gap: 8px;
	line-height: 1.35 !important;
	padding: 3px 0;
	text-decoration: none;
	transition: color 160ms ease, transform 160ms ease;
}

.tcm-venue-menu-country li a::before {
	color: var(--tcm-venue-accent);
	content: "\203A";
	display: inline-block;
	flex: 0 0 auto;
	font-size: 16px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(-1px);
}

.tcm-venue-menu-country li a:hover,
.tcm-venue-menu-country li a:focus {
	color: #172033;
	transform: translateX(2px);
}

.elementor-widget-tcm-recent-course-cards > .elementor-widget-container,
.elementor-widget-tcm-course-category-carousel > .elementor-widget-container {
	padding: 0 !important;
}

.tcm-home-course-cards-widget,
.tcm-course-category-carousel-widget {
	--tcm-card-ink: #111827;
	--tcm-card-muted: #64748b;
	--tcm-card-accent: #ea7d1e;
	--tcm-card-accent-2: #14a17b;
	box-sizing: border-box !important;
	color: var(--tcm-card-ink) !important;
	width: 100% !important;
}

.tcm-home-course-card-grid {
	box-sizing: border-box !important;
	display: grid !important;
	gap: 14px !important;
	grid-template-columns: repeat(var(--tcm-home-course-columns, 5), minmax(0, 1fr)) !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.tcm-home-course-card,
.tcm-course-category-card {
	background: #fff !important;
	border: 1px solid rgba(213, 219, 229, 0.96) !important;
	border-radius: 8px !important;
	box-shadow: 0 10px 26px rgba(15, 23, 42, 0.08) !important;
	box-sizing: border-box !important;
	color: var(--tcm-card-ink) !important;
	display: flex !important;
	flex-direction: column !important;
	min-width: 0 !important;
	overflow: hidden !important;
	position: relative !important;
	text-decoration: none !important;
	transform: translateY(0) scale(1);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
	width: 100% !important;
}

.tcm-home-course-card::after,
.tcm-course-category-card::after {
	background: linear-gradient(90deg, var(--tcm-card-accent), var(--tcm-card-accent-2)) !important;
	content: "" !important;
	display: block !important;
	height: 3px !important;
	left: 0 !important;
	opacity: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	transform: scaleX(0.35) !important;
	transform-origin: left center !important;
	transition: opacity 180ms ease, transform 220ms ease !important;
	z-index: 2 !important;
}

.tcm-home-course-card:hover,
.tcm-home-course-card:focus,
.tcm-course-category-card:hover,
.tcm-course-category-card:focus {
	border-color: rgba(234, 125, 30, 0.42) !important;
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.14) !important;
	color: var(--tcm-card-ink) !important;
	outline: none !important;
	text-decoration: none !important;
	transform: translateY(-4px) scale(1.01);
}

.tcm-home-course-card:hover::after,
.tcm-home-course-card:focus::after,
.tcm-course-category-card:hover::after,
.tcm-course-category-card:focus::after {
	opacity: 1 !important;
	transform: scaleX(1) !important;
}

.tcm-home-course-card:focus-visible,
.tcm-course-category-card:focus-visible {
	box-shadow: 0 0 0 3px rgba(234, 125, 30, 0.18), 0 16px 34px rgba(15, 23, 42, 0.14) !important;
}

.tcm-home-course-card-media,
.tcm-course-category-card-media {
	background: #f5f7fb !important;
	box-sizing: border-box !important;
	display: block !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

.tcm-home-course-card-media {
	aspect-ratio: 1.45 / 1 !important;
}

.tcm-course-category-card-media {
	aspect-ratio: 1.75 / 1 !important;
}

.tcm-home-course-card-media img,
.tcm-course-category-card-media img {
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover !important;
	transform: scale(1) !important;
	transition: transform 300ms ease, filter 300ms ease !important;
	width: 100% !important;
}

.tcm-home-course-card:hover .tcm-home-course-card-media img,
.tcm-home-course-card:focus .tcm-home-course-card-media img,
.tcm-course-category-card:hover .tcm-course-category-card-media img,
.tcm-course-category-card:focus .tcm-course-category-card-media img {
	filter: saturate(1.05) contrast(1.03) !important;
	transform: scale(1.055) !important;
}

.tcm-home-course-card-media-empty,
.tcm-course-category-card-media-empty {
	align-items: center !important;
	background: linear-gradient(135deg, #111827 0%, #2f3b52 58%, #ea7d1e 100%) !important;
	color: #fff !important;
	display: flex !important;
	justify-content: center !important;
}

.tcm-home-course-card-media-empty span,
.tcm-course-category-card-media-empty span {
	color: #fff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	margin: 0 !important;
	text-transform: uppercase !important;
}

.tcm-course-category-card-media-empty span {
	background: rgba(255, 255, 255, 0.13) !important;
	border: 1px solid rgba(255, 255, 255, 0.24) !important;
	border-radius: 999px !important;
	display: inline-flex !important;
	font-size: 22px !important;
	height: 52px !important;
	width: 52px !important;
	align-items: center !important;
	justify-content: center !important;
}

.tcm-home-course-card-body,
.tcm-course-category-card-body {
	box-sizing: border-box !important;
	display: grid !important;
	gap: 8px !important;
	min-width: 0 !important;
	padding: 12px 12px 13px !important;
	width: 100% !important;
}

.tcm-home-course-card-title,
.tcm-course-category-card-title {
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 2 !important;
	color: var(--tcm-card-ink) !important;
	display: -webkit-box !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.28 !important;
	margin: 0 !important;
	min-height: 36px !important;
	overflow: hidden !important;
	text-decoration: none !important;
}

.tcm-home-course-card-fee,
.tcm-course-category-card-count {
	align-items: center !important;
	color: var(--tcm-card-muted) !important;
	display: inline-flex !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	min-height: 18px !important;
	text-decoration: none !important;
	width: fit-content !important;
}

.tcm-home-course-card-fee {
	background: #fff3e8 !important;
	border: 1px solid #fed9b6 !important;
	border-radius: 999px !important;
	color: #9a4d10 !important;
	padding: 4px 8px !important;
}

.tcm-course-category-carousel-widget {
	overflow: hidden !important;
}

.tcm-course-category-carousel-head {
	align-items: center !important;
	display: flex !important;
	justify-content: flex-end !important;
	margin: 0 0 8px !important;
	min-height: 32px !important;
}

.tcm-course-category-carousel-controls {
	display: flex !important;
	gap: 7px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tcm-course-category-carousel-button {
	align-items: center !important;
	appearance: none !important;
	background: #fff !important;
	border: 1px solid #d8dee8 !important;
	border-radius: 999px !important;
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08) !important;
	color: #172033 !important;
	cursor: pointer !important;
	display: inline-flex !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	height: 32px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, opacity 160ms ease !important;
	width: 32px !important;
}

.tcm-course-category-carousel-button::before {
	content: "<" !important;
	display: block !important;
	transform: translateY(-1px) !important;
}

.tcm-course-category-carousel-button[data-tcm-carousel-next]::before {
	content: ">" !important;
}

.tcm-course-category-carousel-button:hover,
.tcm-course-category-carousel-button:focus {
	background: #ea7d1e !important;
	border-color: #ea7d1e !important;
	color: #fff !important;
	outline: none !important;
}

.tcm-course-category-carousel-button:disabled {
	cursor: default !important;
	opacity: 0.36 !important;
	pointer-events: none !important;
}

.tcm-course-category-carousel-widget:not(.has-carousel-overflow) .tcm-course-category-carousel-controls {
	display: none !important;
}

.tcm-course-category-carousel-viewport {
	margin: 0 !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	padding: 0 0 10px !important;
	scroll-behavior: smooth !important;
	scrollbar-width: thin !important;
	width: 100% !important;
}

.tcm-course-category-carousel-viewport::-webkit-scrollbar {
	height: 5px !important;
}

.tcm-course-category-carousel-viewport::-webkit-scrollbar-thumb {
	background: #cfd6e0 !important;
	border-radius: 999px !important;
}

.tcm-course-category-carousel-track {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 14px !important;
	margin: 0 !important;
	padding: 0 !important;
	min-width: 100% !important;
	width: auto !important;
}

.tcm-course-category-card {
	flex: 0 0 calc((100% / var(--tcm-category-cards-visible, 5)) - 12px) !important;
	max-width: 245px !important;
	min-width: 168px !important;
}

.tcm-course-category-card-body {
	gap: 6px !important;
	padding: 11px 12px 12px !important;
}

.tcm-course-category-card-title {
	min-height: 35px !important;
}

.elementor-widget-tcm-course-calendar > .elementor-widget-container {
	padding: 0 !important;
}

.tcm-course-calendar-widget {
	--tcm-calendar-border: #d7dde9;
	--tcm-calendar-soft: #f3f6fb;
	--tcm-calendar-ink: #001f43;
	--tcm-calendar-muted: #667085;
	--tcm-calendar-accent: #007f79;
	--tcm-calendar-blue: #0b46bd;
	background: #fff !important;
	box-sizing: border-box !important;
	color: var(--tcm-calendar-ink) !important;
	overflow: visible !important;
	padding: 0 !important;
	width: 100% !important;
}

.tcm-course-calendar-header {
	align-items: flex-start !important;
	box-sizing: border-box !important;
	display: flex !important;
	gap: 18px !important;
	justify-content: space-between !important;
	margin: 0 0 20px !important;
	min-width: 820px !important;
	padding: 0 !important;
}

.tcm-course-calendar-heading {
	min-width: 0 !important;
}

.tcm-course-calendar-heading h2 {
	color: var(--tcm-calendar-ink) !important;
	font-size: 28px !important;
	font-weight: 850 !important;
	letter-spacing: 0 !important;
	line-height: 1.15 !important;
	margin: 0 0 3px !important;
	padding: 0 !important;
}

.tcm-course-calendar-heading p {
	color: #2f3a4c !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tcm-course-calendar-nav {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid var(--tcm-calendar-border) !important;
	border-radius: 5px !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
	box-sizing: border-box !important;
	display: grid !important;
	flex: 0 0 238px !important;
	grid-template-columns: 42px 1fr 42px !important;
	height: 46px !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.tcm-course-calendar-nav strong {
	color: #020617 !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	text-align: center !important;
}

.tcm-course-calendar-nav-button {
	align-items: center !important;
	background: #fff !important;
	border: 0 !important;
	color: #001f43 !important;
	display: inline-flex !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	height: 46px !important;
	justify-content: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, color 160ms ease !important;
	width: 42px !important;
}

.tcm-course-calendar-nav-button:hover,
.tcm-course-calendar-nav-button:focus {
	background: #f4f7fb !important;
	color: var(--tcm-calendar-accent) !important;
	outline: none !important;
	text-decoration: none !important;
}

.tcm-course-calendar-grid {
	background: #fff !important;
	border: 1px solid var(--tcm-calendar-border) !important;
	border-radius: 7px !important;
	box-sizing: border-box !important;
	display: grid !important;
	grid-template-columns: repeat(7, minmax(118px, 1fr)) !important;
	margin: 0 !important;
	min-width: 820px !important;
	overflow: visible !important;
	padding: 0 !important;
	position: relative !important;
	width: 100% !important;
}

.tcm-course-calendar-weekday {
	background: #f1f5fb !important;
	border-bottom: 1px solid var(--tcm-calendar-border) !important;
	border-right: 1px solid var(--tcm-calendar-border) !important;
	box-sizing: border-box !important;
	color: #17223a !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	min-height: 37px !important;
	padding: 13px 8px !important;
	text-align: center !important;
}

.tcm-course-calendar-weekday:nth-child(7) {
	border-right: 0 !important;
}

.tcm-course-calendar-day {
	background: #fff !important;
	border-bottom: 1px solid var(--tcm-calendar-border) !important;
	border-right: 1px solid var(--tcm-calendar-border) !important;
	box-sizing: border-box !important;
	min-height: 138px !important;
	min-width: 0 !important;
	padding: 10px 8px 8px !important;
	position: relative !important;
	transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
	z-index: 1 !important;
}

.tcm-course-calendar-day:nth-child(7n) {
	border-right: 0 !important;
}

.tcm-course-calendar-day:nth-last-child(-n+7) {
	border-bottom: 0 !important;
}

.tcm-course-calendar-day.is-adjacent-month {
	background: #fdfdfd !important;
}

.tcm-course-calendar-day.is-adjacent-month .tcm-course-calendar-day-number {
	color: #a9b0be !important;
}

.tcm-course-calendar-day.is-today {
	background: #f7fbff !important;
	box-shadow: inset 0 0 0 1px rgba(11, 70, 189, 0.22) !important;
}

.tcm-course-calendar-day.has-runs {
	overflow: hidden !important;
}

.tcm-course-calendar-day.has-runs:hover,
.tcm-course-calendar-day.has-runs:focus-within {
	background: #fbfdff !important;
	box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16) !important;
	overflow: visible !important;
	transform: translateY(-2px) scale(1.012) !important;
	z-index: 20 !important;
}

.tcm-course-calendar-day-number {
	color: #001f43 !important;
	display: block !important;
	font-size: 15px !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

.tcm-course-calendar-day.is-today .tcm-course-calendar-day-number {
	color: var(--tcm-calendar-blue) !important;
	font-weight: 850 !important;
}

.tcm-course-calendar-events {
	display: grid !important;
	gap: 5px !important;
	margin: 0 !important;
	max-height: calc((56px * var(--tcm-calendar-visible-runs, 3)) + 14px) !important;
	overflow: hidden !important;
	padding: 0 !important;
}

.tcm-course-calendar-day.has-runs:hover .tcm-course-calendar-events,
.tcm-course-calendar-day.has-runs:focus-within .tcm-course-calendar-events {
	background: #fbfdff !important;
	border: 1px solid rgba(215, 221, 233, 0.92) !important;
	border-top: 0 !important;
	border-radius: 0 0 7px 7px !important;
	box-shadow: 0 18px 38px rgba(15, 23, 42, 0.16) !important;
	left: -10px !important;
	max-height: none !important;
	overflow: visible !important;
	padding: 0 8px 10px !important;
	position: absolute !important;
	right: -10px !important;
	top: 36px !important;
	z-index: 25 !important;
}

.tcm-course-calendar-day:nth-child(7n):hover .tcm-course-calendar-events,
.tcm-course-calendar-day:nth-child(7n):focus-within .tcm-course-calendar-events {
	left: -20px !important;
	right: -2px !important;
}

.tcm-course-calendar-day:nth-child(7n+1):hover .tcm-course-calendar-events,
.tcm-course-calendar-day:nth-child(7n+1):focus-within .tcm-course-calendar-events {
	left: -2px !important;
	right: -20px !important;
}

.tcm-course-calendar-event {
	background: #e8fbfa !important;
	border: 0 !important;
	border-left: 2px solid var(--tcm-calendar-accent) !important;
	border-radius: 2px !important;
	box-sizing: border-box !important;
	color: #006b67 !important;
	display: grid !important;
	gap: 5px !important;
	min-height: 46px !important;
	min-width: 0 !important;
	padding: 6px 7px !important;
	text-decoration: none !important;
	transition: background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease !important;
	width: 100% !important;
}

.tcm-course-calendar-event:nth-child(2n) {
	background: #fff8e7 !important;
	border-left-color: #d08a12 !important;
	color: #7b4b00 !important;
}

.tcm-course-calendar-event:nth-child(3n) {
	background: #eef3ff !important;
	border-left-color: var(--tcm-calendar-blue) !important;
	color: #0b3ba5 !important;
}

.tcm-course-calendar-event:nth-child(4n) {
	background: #fff1f2 !important;
	border-left-color: #c31545 !important;
	color: #9b1239 !important;
}

.tcm-course-calendar-event.is-extra {
	display: none !important;
}

.tcm-course-calendar-day.has-runs:hover .tcm-course-calendar-event.is-extra,
.tcm-course-calendar-day.has-runs:focus-within .tcm-course-calendar-event.is-extra {
	display: grid !important;
}

.tcm-course-calendar-event:hover,
.tcm-course-calendar-event:focus {
	background: #dff7f5 !important;
	box-shadow: 0 8px 18px rgba(15, 23, 42, 0.1) !important;
	outline: none !important;
	text-decoration: none !important;
	transform: translateX(2px) !important;
}

.tcm-course-calendar-event-title {
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 1 !important;
	display: -webkit-box !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	line-height: 1.22 !important;
	margin: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	text-decoration: none !important;
}

.tcm-course-calendar-day.has-runs:hover .tcm-course-calendar-event-title,
.tcm-course-calendar-day.has-runs:focus-within .tcm-course-calendar-event-title {
	-webkit-line-clamp: unset !important;
	display: block !important;
	overflow: visible !important;
	white-space: normal !important;
}

.tcm-course-calendar-event-meta {
	display: grid !important;
	gap: 3px !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.tcm-course-calendar-event-venue-row {
	align-items: center !important;
	display: grid !important;
	gap: 5px !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	line-height: 1 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.tcm-course-calendar-event-venue,
.tcm-course-calendar-event-price {
	color: inherit !important;
	display: block !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	margin: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
	padding: 0 !important;
	text-overflow: ellipsis !important;
	white-space: nowrap !important;
}

.tcm-course-calendar-event-venue::before {
	content: "\25A1" !important;
	font-size: 8px !important;
	margin-right: 4px !important;
}

.tcm-course-calendar-event-price {
	font-weight: 850 !important;
	text-align: right !important;
}

.tcm-premium-entry .tcm-premium-entry-item {
	animation: tcm-premium-card-entry 620ms cubic-bezier(0.2, 0.72, 0.24, 1) both !important;
	animation-delay: var(--tcm-entry-delay, 0ms) !important;
}

@keyframes tcm-premium-card-entry {
	0% {
		opacity: 0;
		transform: translateY(18px) scale(0.985);
	}

	60% {
		opacity: 1;
	}

	100% {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.tcm-premium-entry .tcm-premium-entry-item {
		animation: none !important;
	}

	.tcm-home-course-card,
	.tcm-course-category-card,
	.tcm-home-course-card-media img,
	.tcm-course-category-card-media img {
		transition: none !important;
	}
}

@media (max-width: 900px) {
	.tcm-course-table-layout {
		grid-template-columns: 1fr;
	}

	.tcm-venue-menu-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.tcm-home-course-card-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	.tcm-course-category-card {
		flex-basis: 218px !important;
	}

	.tcm-course-calendar-widget {
		overflow-x: auto !important;
		overflow-y: visible !important;
		padding-bottom: 8px !important;
	}

	.tcm-course-calendar-header,
	.tcm-course-calendar-grid {
		min-width: 760px !important;
	}

	.tcm-course-calendar-day {
		min-height: 126px !important;
	}
}

@media (max-width: 560px) {
	.tcm-course-table-sidebar {
		padding: 14px;
	}

	.tcm-course-filter-city-grid,
	.tcm-course-table-toolbar {
		grid-template-columns: 1fr;
	}

	.tcm-course-table-toolbar {
		align-items: stretch;
		flex-direction: column;
	}

	.tcm-venue-menu-grid {
		grid-template-columns: 1fr;
	}

	.tcm-home-course-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	.tcm-home-course-card-body,
	.tcm-course-category-card-body {
		padding: 10px !important;
	}

	.tcm-home-course-card-title,
	.tcm-course-category-card-title {
		font-size: 13px !important;
		min-height: 34px !important;
	}

	.tcm-course-category-carousel-head {
		margin-bottom: 6px !important;
	}

	.tcm-course-category-carousel-track {
		gap: 10px !important;
	}

	.tcm-course-category-card {
		flex-basis: 176px !important;
		min-width: 176px !important;
	}

	.tcm-course-calendar-header {
		align-items: stretch !important;
		flex-direction: column !important;
		gap: 10px !important;
		min-width: 720px !important;
	}

	.tcm-course-calendar-heading h2 {
		font-size: 23px !important;
	}

	.tcm-course-calendar-nav {
		flex-basis: auto !important;
		width: 238px !important;
	}

	.tcm-course-calendar-grid {
		grid-template-columns: repeat(7, minmax(102px, 1fr)) !important;
		min-width: 720px !important;
	}

	.tcm-course-calendar-day {
		min-height: 118px !important;
		padding: 8px 6px 7px !important;
	}

	.tcm-course-calendar-event {
		padding: 6px !important;
	}

	.tcm-course-calendar-event-title {
		font-size: 12px !important;
	}
}

.tcm-notice {
	border-radius: 4px;
	margin: 16px 0;
	padding: 12px 14px;
}

.tcm-notice-success {
	background: #ecfdf3;
	border: 1px solid #8ad7a6;
	color: #126b35;
}

.tcm-notice-error {
	background: #fef2f2;
	border: 1px solid #f2a3a3;
	color: #991b1b;
}

.tcm-selected-run {
	background: #f6f8fb;
	border: 1px solid #d8dde6;
	padding: 12px;
}

body.tcm-registration-lock {
	overflow: hidden;
}

.tcm-registration-modal {
	display: none;
	inset: 0;
	position: fixed;
	z-index: 2147483647 !important;
}

.tcm-registration-modal.is-open {
	align-items: center;
	display: flex;
	justify-content: center;
	padding: 20px;
}

.tcm-registration-backdrop {
	background: rgba(15, 23, 42, 0.62);
	inset: 0;
	position: absolute;
}

.tcm-registration-dialog {
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 24px 80px rgba(15, 23, 42, 0.28);
	max-height: min(86vh, 820px);
	max-width: 760px;
	overflow: auto;
	padding: 0;
	position: relative;
	width: min(100%, 760px);
}

.tcm-registration-close {
	align-items: center;
	background: #fff;
	border: 1px solid rgba(15, 23, 42, 0.14);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 34px;
	justify-content: center;
	line-height: 1;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 34px;
	z-index: 2;
}

.tcm-registration-close::before,
.tcm-registration-close::after {
	background: #0f766e;
	content: "";
	height: 16px;
	position: absolute;
	width: 2px;
}

.tcm-registration-close::before {
	transform: rotate(45deg);
}

.tcm-registration-close::after {
	transform: rotate(-45deg);
}

.tcm-registration-close:hover,
.tcm-registration-close:focus {
	border-color: rgba(17, 24, 39, 0.18);
	box-shadow: 0 0 0 3px rgba(254, 103, 0, 0.16);
	outline: none;
}

.tcm-registration-header {
	background: linear-gradient(135deg, #fe6700 0%, #ff8f3d 100%);
	color: #fff;
	padding: 22px 28px;
}

.tcm-registration-header p {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 6px;
	text-transform: uppercase;
}

.tcm-registration-header h3 {
	color: #fff;
	font-size: 24px;
	line-height: 1.2;
	margin: 0;
	padding-right: 48px;
}

.tcm-registration-form {
	font-size: 13px;
	padding: 22px 28px 26px;
}

.tcm-registration-summary {
	background: #fff8f2;
	border: 1px solid rgba(254, 103, 0, 0.2);
	border-radius: 6px;
	display: grid;
	gap: 7px;
	margin-bottom: 18px;
	padding: 12px 14px;
}

.tcm-registration-summary p {
	display: grid;
	gap: 8px;
	grid-template-columns: 104px minmax(0, 1fr);
	margin: 0;
}

.tcm-registration-summary span,
.tcm-form-grid label span {
	display: block;
	font-size: 12px;
	font-weight: 700;
	margin-bottom: 5px;
}

.tcm-registration-summary span {
	color: #475569;
	margin-bottom: 0;
}

.tcm-registration-summary span::after {
	content: " :";
}

.tcm-registration-summary strong {
	color: #111827;
	font-weight: 600;
}

.tcm-registration-form .tcm-form-grid {
	display: grid;
	gap: 13px 14px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
}

.tcm-registration-form .tcm-form-grid input,
.tcm-registration-form .tcm-form-grid select {
	background: #f8fafc;
	border-color: #d8dee8;
	border-radius: 5px;
	font-size: 13px;
	min-height: 36px;
	padding: 7px 9px;
}

.tcm-field-title {
	grid-column: span 3;
}

.tcm-field-name {
	grid-column: span 4;
}

.tcm-field-designation {
	grid-column: span 5;
}

.tcm-field-company,
.tcm-field-address {
	grid-column: 1 / -1;
}

.tcm-field-email,
.tcm-field-mobile,
.tcm-field-telephone,
.tcm-field-fax {
	grid-column: span 3;
}

.tcm-field-city,
.tcm-field-country {
	grid-column: span 6;
}

.tcm-terms-field {
	align-items: flex-start;
	display: flex;
	gap: 10px;
	margin: 18px 0 14px;
}

.tcm-terms-field input {
	accent-color: #fe6700;
	margin-top: 3px;
}

.tcm-submit {
	font-size: 14px;
	padding: 11px 16px;
	width: 100%;
}

.tcm-compact-registration-modal.is-open {
	padding: 12px !important;
}

.tcm-compact-registration-dialog {
	max-height: min(90vh, 720px) !important;
	max-width: 720px !important;
	width: min(100%, 720px) !important;
}

.tcm-compact-registration-dialog .tcm-registration-header {
	padding: 14px 20px !important;
}

.tcm-compact-registration-dialog .tcm-registration-header p {
	font-size: 11px !important;
	margin-bottom: 4px !important;
}

.tcm-compact-registration-dialog .tcm-registration-header h3 {
	font-size: 21px !important;
	padding-right: 42px !important;
}

.tcm-compact-registration-dialog .tcm-registration-close {
	aspect-ratio: 1 / 1 !important;
	box-sizing: border-box !important;
	height: 30px !important;
	line-height: 0 !important;
	max-height: 30px !important;
	max-width: 30px !important;
	min-height: 30px !important;
	min-width: 30px !important;
	padding: 0 !important;
	border-radius: 999px !important;
	right: 16px !important;
	top: 14px !important;
	width: 30px !important;
}

.tcm-compact-registration-dialog .tcm-registration-close::before,
.tcm-compact-registration-dialog .tcm-registration-close::after {
	height: 14px !important;
}

.tcm-registration-form.tcm-compact-registration-form {
	font-size: 12px !important;
	padding: 14px 18px 18px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary {
	gap: 5px !important;
	margin-bottom: 12px !important;
	padding: 8px 10px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-table {
	display: grid !important;
	gap: 7px !important;
	width: 100% !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row {
	align-items: center !important;
	display: grid !important;
	gap: 8px !important;
	grid-template-columns: 128px minmax(0, 1fr) !important;
	margin: 0 !important;
	min-height: 30px !important;
	min-width: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row[hidden] {
	display: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-label {
	color: #334155 !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-label::after {
	content: " :" !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row-schedule .tcm-summary-label::after {
	content: "" !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-value {
	margin: 0 !important;
	min-width: 0 !important;
	width: 100% !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary p {
	align-items: center !important;
	gap: 6px !important;
	grid-template-columns: 112px minmax(0, 1fr) !important;
	min-height: 22px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary p,
.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary label,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid label {
	box-sizing: border-box !important;
	margin: 0 !important;
	min-width: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary span,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid label span {
	font-size: 11px !important;
	margin-bottom: 3px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary span {
	margin-bottom: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary span::after {
	content: none !important;
	display: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row .tcm-summary-label::after {
	content: " :" !important;
	display: inline !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row-schedule .tcm-summary-label::after {
	content: "" !important;
	display: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary strong {
	line-height: 1.35 !important;
	min-width: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-field-schedule {
	display: grid !important;
	align-items: center !important;
	gap: 6px !important;
	grid-template-columns: 112px minmax(0, 1fr) !important;
	margin-top: 2px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-field-schedule span {
	color: #334155 !important;
	font-size: 11px !important;
	margin-bottom: 0 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-summary-field-schedule span::after {
	content: "" !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid {
	gap: 8px 10px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid label {
	display: block !important;
}

.tcm-registration-form.tcm-compact-registration-form label::after,
.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row::after {
	content: none !important;
	display: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-select-wrap {
	box-sizing: border-box !important;
	display: block !important;
	font-size: inherit !important;
	font-weight: 400 !important;
	height: 30px !important;
	line-height: 0 !important;
	margin: 0 !important;
	max-height: 30px !important;
	min-width: 0 !important;
	overflow: hidden !important;
	position: relative !important;
	width: 100% !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-select-wrap::before {
	background: #f8fafc !important;
	border: 1px solid #d8dee8 !important;
	border-left: 0 !important;
	border-radius: 0 4px 4px 0 !important;
	bottom: 0 !important;
	box-sizing: border-box !important;
	content: "" !important;
	display: block !important;
	height: 30px !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	width: 34px !important;
	z-index: 2 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-select-wrap:focus-within::before {
	border-color: #d8dee8 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-select-wrap::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 14px 14px !important;
	border: 0 !important;
	content: "" !important;
	display: block !important;
	height: 14px !important;
	pointer-events: none !important;
	position: absolute !important;
	right: 11px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	width: 14px !important;
	z-index: 3 !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary input,
.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary select,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid input,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid select {
	border-radius: 4px !important;
	box-sizing: border-box !important;
	font-size: 12px !important;
	height: 30px !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	max-height: 30px !important;
	min-height: 30px !important;
	padding: 4px 7px !important;
	vertical-align: middle !important;
	width: 100% !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary select,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid select {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #f8fafc none !important;
	background-color: #f8fafc !important;
	background-image: none !important;
	background-repeat: no-repeat !important;
	padding-right: 36px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary select::-ms-expand,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid select::-ms-expand {
	display: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary input:focus,
.tcm-registration-form.tcm-compact-registration-form .tcm-registration-summary select:focus,
.tcm-registration-form.tcm-compact-registration-form .tcm-form-grid select:focus {
	border-color: #d8dee8 !important;
	box-shadow: none !important;
	outline: none !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-terms-field {
	gap: 8px !important;
	margin: 11px 0 10px !important;
}

.tcm-registration-form.tcm-compact-registration-form .tcm-submit {
	font-size: 13px !important;
	min-height: 34px !important;
	padding: 8px 12px !important;
}

@media (max-width: 700px) {
	.tcm-registration-modal.is-open {
		align-items: flex-start;
		padding: 12px;
	}

	.tcm-registration-dialog {
		max-height: calc(100vh - 24px);
	}

	.tcm-registration-header,
	.tcm-registration-form {
		padding-left: 18px;
		padding-right: 18px;
	}

	.tcm-registration-header h3 {
		font-size: 21px;
	}

	.tcm-registration-summary p {
		grid-template-columns: 1fr;
	}

	.tcm-registration-form.tcm-compact-registration-form .tcm-summary-field-schedule {
		grid-template-columns: 1fr !important;
	}

	.tcm-registration-form.tcm-compact-registration-form .tcm-summary-row {
		grid-template-columns: 1fr !important;
	}

	.tcm-registration-form .tcm-form-grid {
		grid-template-columns: 1fr;
	}

	.tcm-field-title,
	.tcm-field-name,
	.tcm-field-designation,
	.tcm-field-company,
	.tcm-field-email,
	.tcm-field-mobile,
	.tcm-field-telephone,
	.tcm-field-fax,
	.tcm-field-address,
	.tcm-field-city,
	.tcm-field-country {
		grid-column: 1;
	}
}
