/**
 * Tour Booking Manager — Modern Admin UI (CSS-only layer)
 * Scoped to plugin admin surfaces. Loaded after ttbm_admin.css.
 */

/* ─── Design tokens ─── */
#ttbm_meta_box_panel,
#ttbm_content.ttbm_configuration,
div.ttbm_global_settings.ttbm_configuration,
body.ttbm_settings_page {
	--ttbm-a-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Inter, "Helvetica Neue", Arial, sans-serif;
	--ttbm-a-text: #0f172a;
	--ttbm-a-text-secondary: #334155;
	--ttbm-a-muted: #64748b;
	--ttbm-a-help: #94a3b8;
	--ttbm-a-border: #e2e8f0;
	--ttbm-a-border-strong: #cbd5e1;
	--ttbm-a-bg: #F8FAFC;
	--ttbm-a-surface: #ffffff;
	--ttbm-a-primary: #2271b1;
	--ttbm-a-primary-hover: #135e96;
	--ttbm-a-primary-soft: #eff6ff;
	--ttbm-a-success: #059669;
	--ttbm-a-success-soft: #ecfdf5;
	--ttbm-a-warning: #d97706;
	--ttbm-a-warning-soft: #fffbeb;
	--ttbm-a-danger: #dc2626;
	--ttbm-a-danger-soft: #fef2f2;
	--ttbm-a-info: #0284c7;
	--ttbm-a-radius-sm: 6px;
	--ttbm-a-radius: 10px;
	--ttbm-a-radius-lg: 14px;
	--ttbm-a-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
	--ttbm-a-shadow: 0 4px 20px rgba(15, 23, 42, 0.06);
	--ttbm-a-shadow-lg: 0 12px 40px rgba(15, 23, 42, 0.1);
	--ttbm-a-input-h: 40px;
	--ttbm-a-lh: 1.6;
	--ttbm-a-lh-tight: 1.35;
	font-family: var(--ttbm-a-font);
	color: var(--ttbm-a-text-secondary);
	font-size: 14px;
	line-height: var(--ttbm-a-lh);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.ttbm_style .gptLayout {
	margin-top: 0;
}

/* ─── Typography scale ─── */
#ttbm_meta_box_panel .tabsItem > h2,
#ttbm_content.ttbm_configuration .tabsItem > h2,
div.ttbm_global_settings.ttbm_configuration .tabsItem > h2 {
	font-size: 28px;
	font-weight: 600;
	line-height: var(--ttbm-a-lh-tight);
	color: var(--ttbm-a-text);
	letter-spacing: -0.02em;
	margin: 0 0 8px;
}

#ttbm_meta_box_panel .tabsItem > p,
#ttbm_meta_box_panel .tabsItem > p.info_text,
#ttbm_content.ttbm_configuration .tabsItem > p,
div.ttbm_global_settings.ttbm_configuration .tabsItem > p {
	font-size: 14px;
	font-weight: 400;
	line-height: var(--ttbm-a-lh);
	color: var(--ttbm-a-muted);
	margin: 0 0 28px;
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header h4,
#ttbm_content.ttbm_configuration .tabsItem section .ttbm-header h4 {
	font-size: 17px;
	font-weight: 600;
	line-height: var(--ttbm-a-lh-tight);
	color: var(--ttbm-a-text);
	letter-spacing: -0.01em;
}

#ttbm_meta_box_panel .tabsItem section .label p,
#ttbm_meta_box_panel .tabsItem section .label .label-inner p,
#ttbm_content.ttbm_configuration .tabsItem section .label p {
	font-size: 14px;
	font-weight: 500;
	line-height: var(--ttbm-a-lh-tight);
	color: var(--ttbm-a-text-secondary);
	margin: 0;
}

#ttbm_meta_box_panel .tabsItem section .label .text,
#ttbm_meta_box_panel .tabsContent .span-row,
#ttbm_meta_box_panel .info_text {
	font-size: 13px;
	line-height: var(--ttbm-a-lh);
	color: var(--ttbm-a-muted);
}

#ttbm_meta_box_panel .groupRadioBox > h5,
#ttbm_meta_box_panel .gptLayout > h5,
#ttbm_meta_box_panel .gptLayout > h6,
#ttbm_meta_box_panel .ttbm_item_insert > ._dFlex h6,
#ttbm_meta_box_panel .ttbm_item_insert > .dFlex h6 {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--ttbm-a-help);
	margin: 0 0 10px;
}

#ttbm_meta_box_panel h1,
#ttbm_meta_box_panel h2,
#ttbm_meta_box_panel h3,
#ttbm_meta_box_panel h4,
#ttbm_meta_box_panel h5,
#ttbm_meta_box_panel h6,
#ttbm_content.ttbm_configuration h1,
#ttbm_content.ttbm_configuration h2,
#ttbm_content.ttbm_configuration h3,
#ttbm_content.ttbm_configuration h4,
#ttbm_content.ttbm_configuration h5,
#ttbm_content.ttbm_configuration h6 {
	text-transform: none;
	letter-spacing: normal;
}

/* ─── Shell layout ─── */
#ttbm_meta_box_panel .ttbm_settings .ttbmTabs.leftTabs,
#ttbm_content.ttbm_configuration .ttbmTabs.leftTabs {
	background: #fff;
	border-radius: var(--ttbm-a-radius-lg);
	overflow: hidden;
	box-shadow: var(--ttbm-a-shadow-sm);
	border: 1px solid var(--ttbm-a-border);
}

#ttbm_meta_box_panel .tabsContent,
#ttbm_content.ttbm_configuration .tabsContent {
	background: var(--ttbm-a-bg);
	padding: 28px 32px;
}

/* Fast tab switching: CSS visibility instead of jQuery hide/show */
#ttbm_meta_box_panel .tabsContent > .tabsItem[data-tabs],
#ttbm_content.ttbm_configuration .tabsContent > .tabsItem[data-tabs] {
	display: none;
}

#ttbm_meta_box_panel .tabsContent > .tabsItem[data-tabs].active,
#ttbm_content.ttbm_configuration .tabsContent > .tabsItem[data-tabs].active {
	display: block;
}

#ttbm_meta_box_panel .tabsContent > .tabsItem[data-tabs]:not(.active),
#ttbm_content.ttbm_configuration .tabsContent > .tabsItem[data-tabs]:not(.active) {
	content-visibility: hidden;
	contain-intrinsic-size: auto 600px;
}

#ttbm_meta_box_panel .meta-sidebar {
	background: #eef3fa;
	border-right: 1px solid #dce4f0;
}

#ttbm_meta_box_panel .tabLists {
	padding: 16px 12px;
	border-right: 0;
}

/* ─── Sidebar navigation ─── */
#ttbm_meta_box_panel .ttbm_settings .tabLists.meta-sidebar li,
#ttbm_meta_box_panel .tabLists.meta-sidebar li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 14px;
	margin: 4px 0;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #3d4f6f;
	background: transparent;
	border: none;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
	position: relative;
}

#ttbm_meta_box_panel .tabLists.meta-sidebar li span {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm_settings .tabLists li i,
#ttbm_meta_box_panel .tabLists.meta-sidebar li i {
	margin: 0;
	font-size: 16px;
	width: 18px;
	text-align: center;
	flex-shrink: 0;
	color: inherit;
	transition: color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_settings .tabLists li:hover,
#ttbm_meta_box_panel .tabLists.meta-sidebar li:hover {
	background: #e3ebf7;
	color: #2c3e5c;
	border-color: transparent;
	transform: none;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm_settings .tabLists li:hover i,
#ttbm_meta_box_panel .tabLists.meta-sidebar li:hover i {
	color: inherit;
}

#ttbm_meta_box_panel .ttbm_settings .tabLists li.active,
#ttbm_meta_box_panel .tabLists.meta-sidebar li.active {
	background: #2271b1;
	color: #fff;
	border: none;
	font-weight: 600;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm_settings .tabLists li.active span,
#ttbm_meta_box_panel .ttbm_settings .tabLists li.active i,
#ttbm_meta_box_panel .tabLists.meta-sidebar li.active span,
#ttbm_meta_box_panel .tabLists.meta-sidebar li.active i {
	color: #fff;
}

#ttbm_meta_box_panel .tabLists.meta-sidebar li.active::before,
#ttbm_meta_box_panel .tabLists.meta-sidebar li.active::after {
	display: none !important;
	content: none !important;
}

/* Override mp_global left-tab defaults for tour + hotel meta sidebar */
#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target],
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target] {
	background: transparent;
	color: #3d4f6f;
	border: none;
	border-bottom: none;
	box-shadow: none;
	transform: none;
}

#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target]:hover,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target]:hover {
	background: #e3ebf7;
	color: #2c3e5c;
}

#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target].active,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target].active {
	background: #2271b1;
	color: #fff;
	font-weight: 600;
}

#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target] i,
#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target] span,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target] i,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target] span {
	color: inherit;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target].active i,
#ttbm_meta_box_panel .ttbm_style .tabLists.meta-sidebar [data-tabs-target].active span,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target].active i,
#ttbm_meta_box_panel .tabLists.meta-sidebar li[data-tabs-target].active span {
	color: #fff;
}

#ttbm_meta_box_panel .ttbm_style.leftTabs > .tabLists.meta-sidebar,
#ttbm_meta_box_panel .leftTabs > .tabLists.meta-sidebar {
	background: #eef3fa;
	border-right: 1px solid #dce4f0;
}

#ttbm_meta_box_panel .meta-sidebar-toggle {
	border: 1px solid var(--ttbm-a-border);
	border-left: 0;
	border-radius: 0 var(--ttbm-a-radius-sm) var(--ttbm-a-radius-sm) 0;
	color: var(--ttbm-a-muted);
	box-shadow: var(--ttbm-a-shadow-sm);
}

/* ─── Section cards ─── */
#ttbm_meta_box_panel .tabsItem section,
#ttbm_content.ttbm_configuration .tabsItem section {
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-lg);
	box-shadow: var(--ttbm-a-shadow-sm);
	padding: 24px;
	margin-bottom: 20px;
	transition: box-shadow 0.2s ease;
}

#ttbm_meta_box_panel .tabsItem section:hover,
#ttbm_content.ttbm_configuration .tabsItem section:hover {
	transform: none;
	box-shadow: var(--ttbm-a-shadow);
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header {
	margin-bottom: 20px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--ttbm-a-border);
}

.ttbm_settings_daywise .ttbm-header {
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}

.ttbm_settings_guide .ttbm-header {
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header.ttbm-header--with-switch {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header.ttbm-header--with-switch h4 {
	margin: 0;
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header.ttbm-header--with-switch .roundSwitchLabel {
	flex-shrink: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-location-settings-body {
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* ─── Tour Title field ─── */
#ttbm_meta_box_panel .ttbm-tour-title-field {
	margin-bottom: 22px;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__label {
	display: block;
	margin: 0 0 8px;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__required {
	color: var(--ttbm-a-danger);
	font-weight: 700;
	margin-left: 2px;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__input {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid var(--ttbm-a-border);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	color: #1e293b;
	line-height: 1.5;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__input::placeholder {
	color: #9ca3af;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__input:focus {
	border-color: var(--ttbm-a-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
	outline: none;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__input.is-invalid {
	border-color: var(--ttbm-a-danger);
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15);
}

#ttbm_meta_box_panel .ttbm-tour-title-field__hint {
	margin: 6px 0 0;
	font-size: 11px;
	font-style: normal;
	color: #9ca3af;
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-title-error {
	display: none;
	margin: 6px 0 0;
	font-size: 12px;
	color: var(--ttbm-a-danger);
	font-weight: 500;
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-tour-title-field__error-icon {
	margin-right: 4px;
}

/* ─── Tour Description field ─── */
#ttbm_meta_box_panel .ttbm-tour-description-field {
	margin-top: 4px;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__label {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: #374151;
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__autosave {
	font-size: 12px;
	color: #9ca3af;
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor {
	border: 1px solid var(--ttbm-a-border);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap {
	margin: 0;
	border: 0;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 8px 10px;
	margin: 0;
	background: #f8fafc;
	border-bottom: 1px solid var(--ttbm-a-border);
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-tabs {
	float: none;
	margin: 0 0 0 auto;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-container {
	border: 0;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .quicktags-toolbar {
	background: #f8fafc;
	border-bottom: 1px solid var(--ttbm-a-border);
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-area {
	border: 0;
	border-radius: 0;
	height: 200px;
	min-height: 200px;
	padding: 14px 16px;
	font-size: 14px;
	line-height: 1.7;
	color: #334155;
	resize: vertical;
}

#wp-ttbm_post_content_editor-wrap .mce-edit-area iframe {
	height: 200px !important;
	min-height: 200px;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .mce-tinymce {
	border: 0 !important;
	box-shadow: none !important;
	visibility: visible !important;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .mce-toolbar-grp {
	background: #f8fafc;
	border-bottom: 1px solid var(--ttbm-a-border) !important;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap.tmce-active .wp-editor-tools,
#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap.html-active .wp-editor-tools {
	justify-content: flex-end;
	padding: 0px 10px;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap.tmce-active .wp-editor-tools .wp-media-buttons,
#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap.html-active .wp-editor-tools .wp-media-buttons {
	display: none !important;
}

#ttbm_meta_box_panel .ttbm-tour-description-field__editor .wp-editor-wrap.html-active .quicktags-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3px;
}

/* ─── Tour content editor (toolbar) ─── */
#wp-ttbm_post_content_editor-wrap.tmce-active .wp-editor-tools #insert-media-button,
#wp-ttbm_post_content_editor-wrap.html-active .wp-editor-tools #insert-media-button {
	display: none !important;
}

#wp-ttbm_post_content_editor-wrap.tmce-active .mce-toolbar-grp #insert-media-button,
#wp-ttbm_post_content_editor-wrap.html-active .quicktags-toolbar #insert-media-button {
	display: inline-flex !important;
}

#wp-ttbm_post_content_editor-wrap.html-active .mce-toolbar-grp #insert-media-button {
	display: none !important;
}

#wp-ttbm_post_content_editor-wrap .wp-media-buttons.ttbm-media-buttons-moved {
	display: none !important;
}

#wp-ttbm_post_content_editor-wrap .mce-toolbar-grp .mce-container-body {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
}

#wp-ttbm_post_content_editor-wrap .mce-toolbar-grp .mce-toolbar {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	flex: 0 1 auto;
}

#wp-ttbm_post_content_editor-wrap #insert-media-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 22px;
	min-height: 22px;
	margin: 0 0 0 2px;
	padding: 0 6px;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	background: #f6f7f7;
	box-shadow: none;
	color: #2c3338;
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
	vertical-align: middle;
	flex: 0 0 auto;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#wp-ttbm_post_content_editor-wrap #insert-media-button.button {
	min-height: 22px;
	line-height: 1;
	padding: 0 6px;
}

#wp-ttbm_post_content_editor-wrap #insert-media-button:hover,
#wp-ttbm_post_content_editor-wrap #insert-media-button:focus {
	background: #f0f0f1;
	border-color: #8c8f94;
	color: #1d2327;
	outline: none;
	box-shadow: none;
}

#wp-ttbm_post_content_editor-wrap #insert-media-button .wp-media-buttons-icon {
	margin: 0;
	width: 12px;
	height: 12px;
	background-size: 12px 12px;
}

#wp-ttbm_post_content_editor-wrap .mce-toolbar-grp #insert-media-button {
	margin: 2px 0 2px 1px;
}

#wp-ttbm_post_content_editor-wrap .quicktags-toolbar #insert-media-button {
	margin: 0 0 0 1px;
}

#ttbm_meta_box_panel .ttbm-tour-description-field .wp-editor-wrap {
	margin-top: 0;
}

/* ─── General Information card ─── */
#ttbm_meta_box_panel .ttbm-general-info-card {
	background: #fff;
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-lg);
	padding: 0;
	overflow: hidden;
}

#ttbm_meta_box_panel .ttbm-general-info-card__header {
	padding: 16px 0px;
	margin: 0;
	border-bottom: 1px solid var(--ttbm-a-border);
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-general-info-card__header h4 {
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--ttbm-a-text, #1e293b);
}

#ttbm_meta_box_panel .ttbm-general-info-card__header h4 i {
	color: var(--ttbm-a-primary);
	margin-right: 8px;
}

#ttbm_meta_box_panel .ttbm-general-info-card__grid {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px 20px 8px;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-general-info-card__grid {
	margin: 16px 0px 12px;
	padding: 16px 18px;
	background: #fafbfc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-general-info-card__row {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

#ttbm_meta_box_panel .ttbm-general-info-card__col {
	flex: 1 1 0;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card__col > .ttbm-gen-field {
	width: 100%;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field {
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ttbm-a-text, #1e293b);
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__label .tool-tips {
	font-size: 12px;
	color: #94a3b8;
	font-weight: 400;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 8px;
	min-height: 28px;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field > .ttbm-gen-field__label {
	min-height: 28px;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__row .ttbm-gen-field__label {
	margin: 0;
	flex: 1 1 auto;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__row .roundSwitchLabel {
	flex-shrink: 0;
	margin: 0;
}

/* Inline toggle row: label | switch | input on one line (tour general info) */
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__inline-row,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-field__inline-row {
	--ttbm-gen-inline-label-w: 136px;
	--ttbm-gen-inline-toggle-w: 56px;
	--ttbm-gen-inline-gap: 14px;
	display: grid;
	grid-template-columns: var(--ttbm-gen-inline-label-w) var(--ttbm-gen-inline-toggle-w) minmax(0, 1fr);
	align-items: center;
	column-gap: var(--ttbm-gen-inline-gap);
	width: 100%;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__label,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-field__label {
	grid-column: 1;
	width: 100%;
	max-width: 100%;
	flex: none;
	margin: 0;
	min-height: var(--ttbm-a-input-h, 40px);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .roundSwitchLabel {
	grid-column: 2;
	flex: none;
	justify-self: center;
	align-self: center;
	margin: 0;
	width: 50px;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field__toggle-spacer {
	grid-column: 2;
	justify-self: center;
	display: block;
	width: 50px;
	height: 1px;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__input-wrap,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-duration-group {
	grid-column: 3;
	width: 100%;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-duration-group__value,
#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-duration-group__unit {
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field--duration .ttbm-gen-duration-group {
	display: flex;
	align-items: center;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field--inline.is-toggle-off .ttbm-gen-field__input:disabled {
	background: #f8fafc;
	color: #94a3b8;
	cursor: not-allowed;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field--inline.is-toggle-off .select2-container--disabled .select2-selection--multiple {
	background: #f8fafc !important;
	border-color: #e2e8f0 !important;
	cursor: not-allowed;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc.is-toggle-off .ttbm-gen-short-desc__toggle-row {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__sublabel {
	margin: 4px 0 0;
	font-size: 11px;
	line-height: 1.4;
	color: #64748b;
	font-weight: 400;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input-wrap .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input-wrap select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input-wrap {
	width: 100%;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input-wrap .select2-container {
	width: 100% !important;
	max-width: 100%;
}

/* Short description body hidden when toggle is off */
#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__body[data-collapse]:not(.mActive) {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	border: 0 !important;
	overflow: hidden;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field--toggle input.ttbm-gen-field__input.formControl,
#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field--inline input.ttbm-gen-field__input.formControl {
	height: var(--ttbm-a-input-h, 40px);
	min-height: var(--ttbm-a-input-h, 40px);
	padding: 0 12px;
	line-height: calc(var(--ttbm-a-input-h, 40px) - 2px);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-field__input-wrap select.ttbm-gen-field__input.formControl.select2-hidden-accessible {
	border: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
}

#ttbm_meta_box_panel .ttbm-general-info-card select[name="ttbm_travel_language[]"] + .select2-container .select2-selection--multiple {
	height: var(--ttbm-a-input-h, 40px) !important;
	min-height: var(--ttbm-a-input-h, 40px) !important;
	max-height: var(--ttbm-a-input-h, 40px) !important;
	padding: 0 10px !important;
	display: flex !important;
	align-items: center !important;
	overflow: hidden;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card select[name="ttbm_travel_language[]"] + .select2-container .select2-selection__rendered {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden;
	line-height: normal;
}

#ttbm_meta_box_panel .ttbm-general-info-card select[name="ttbm_travel_language[]"] + .select2-container .select2-selection__choice {
	float: none !important;
	margin: 0 4px 0 0 !important;
	height: 26px;
	line-height: 24px;
	padding: 0 6px !important;
	flex-shrink: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card select[name="ttbm_travel_language[]"] + .select2-container .select2-search--inline {
	float: none;
	display: flex;
	align-items: center;
	margin: 0 !important;
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-general-info-card select[name="ttbm_travel_language[]"] + .select2-container .select2-search__field {
	height: 24px !important;
	min-height: 0 !important;
	line-height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	width: auto !important;
	min-width: 80px !important;
	max-width: 100%;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-duration-group__value {
	flex: 1 1 auto;
	min-width: 0;
	height: var(--ttbm-a-input-h, 40px);
	min-height: var(--ttbm-a-input-h, 40px);
	padding: 0 12px;
	line-height: calc(var(--ttbm-a-input-h, 40px) - 2px);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-duration-group__unit {
	flex: 0 0 auto;
	width: auto;
	min-width: 88px;
	background: #f1f5f9;
	color: #475569;
	font-weight: 500;
	padding: 0 28px 0 12px;
	height: var(--ttbm-a-input-h, 40px);
	min-height: var(--ttbm-a-input-h, 40px);
	line-height: calc(var(--ttbm-a-input-h, 40px) - 2px);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc {
	padding: 14px 0px 18px;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid #eef2f7;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__toggle-label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--ttbm-a-text, #1e293b);
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__toggle-label i.fa-file-alt {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	color: #2563eb;
	font-size: 14px;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__textarea {
	width: 100%;
	min-height: 120px;
	resize: vertical;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-short-desc__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 8px;
	font-size: 11px;
	line-height: 1.4;
	color: #94a3b8;
}

#ttbm_meta_box_panel .ttbm-general-info-card .ttbm-gen-char-count {
	color: #64748b;
	font-weight: 500;
	white-space: nowrap;
}

/* ─── Hotel Details card (admin) ─── */
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 16px 20px 20px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section {
	padding: 16px 18px;
	background: #fafbfc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__title {
	margin: 0 0 14px;
	font-size: 13px;
	font-weight: 700;
	color: #1e3a5f;
	letter-spacing: 0.01em;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__grid {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__row {
	display: flex;
	align-items: stretch;
	gap: 20px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__col {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__col > .ttbm-gen-field,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__col > .ttbm-hotel-field {
	flex: 1 1 auto;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field {
	margin: 0;
}

/* General info rows: label | toggle | control (equal columns) */
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-gen-field__inline-row {
	display: grid;
	grid-template-columns: 118px 44px minmax(0, 1fr);
	align-items: center;
	gap: 0 12px;
	width: 100%;
	flex-wrap: nowrap;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-gen-field__label {
	flex: none;
	width: auto;
	margin: 0;
	min-height: 38px;
	display: flex;
	align-items: center;
	font-size: 13px;
	font-weight: 600;
	color: #1e3a5f;
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .roundSwitchLabel {
	flex: none;
	justify-self: start;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-hotel-select-with-icon,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-hotel-location-controls {
	grid-column: 3;
	width: 100%;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-gen-field__input,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--availability .formControl,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card .formControl,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-select-with-icon select {
	height: 38px;
	min-height: 38px;
	padding: 8px 12px;
	border-radius: 6px;
	border: 1px solid #e2e8f0;
	font-size: 13px;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-location-controls {
	display: flex;
	align-items: center;
	gap: 8px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-location-controls__select {
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-location-controls__select select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-location-controls__new {
	flex: 0 0 auto;
	white-space: nowrap;
	height: 38px;
	padding: 0 12px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	background: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--location.is-toggle-off .ttbm-hotel-location-controls__new {
	opacity: 0.55;
	pointer-events: none;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-select-with-icon {
	position: relative;
	width: 100%;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-select-with-icon select {
	width: 100%;
	padding-right: 34px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-select-with-icon__icon {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #94a3b8;
	font-size: 12px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--availability {
	margin-bottom: 12px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--availability:last-of-type {
	margin-bottom: 14px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--availability .ttbm-gen-field__label {
	margin: 0 0 8px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field__availability-row {
	display: flex;
	align-items: center;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field__availability-row .formControl {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field__availability-row .roundSwitchLabel {
	flex: 0 0 auto;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__feature-cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 14px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 16px;
	background: #f8fafc;
	border: 1px solid #e8edf5;
	border-radius: 8px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card:has(.roundSwitchLabel input[type="checkbox"]:checked) {
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card__main {
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card__title {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.35;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card__desc {
	margin: 0;
	font-size: 12px;
	line-height: 1.45;
	color: #64748b;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-feature-card .roundSwitchLabel {
	flex-shrink: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card {
	margin-bottom: 12px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card:last-child {
	margin-bottom: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__title {
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.35;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__head .roundSwitchLabel {
	flex-shrink: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__body {
	margin-top: 12px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card.is-toggle-off .formControl:disabled,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-field--availability.is-toggle-off .formControl:disabled,
#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline.is-toggle-off .ttbm-gen-field__input:disabled {
	background: #f8fafc;
	color: #94a3b8;
	cursor: not-allowed;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card.is-toggle-off .ttbm-hotel-review-card__score:disabled {
	color: #94a3b8;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__inputs {
	display: flex;
	align-items: center;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__inputs .formControl {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card__score {
	flex: 0 0 88px !important;
	width: 88px;
	max-width: 88px;
	color: #2563eb;
	font-weight: 600;
	text-align: center;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card--testimonial .ttbm-hotel-review-card__body .formControl {
	width: 100%;
	margin: 0 0 10px;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-review-card--testimonial .ttbm-hotel-review-card__body textarea.formControl {
	margin-bottom: 0;
	min-height: 88px;
	resize: vertical;
}

#ttbm_meta_box_panel .ttbm-places-visit-card {
	margin-top: 4px;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap select {
	width: 100%;
	max-width: 100%;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-hint {
	margin: 0;
	font-size: 10px !important;
	line-height: 1.4;
	color: #64748b;
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 4px;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-add-link {
	flex-shrink: 0;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius);
	overflow: hidden;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table thead th {
	padding: 10px 12px;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748b;
	background: #f8fafc;
	border-bottom: 1px solid var(--ttbm-a-border);
	text-align: left;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table tbody td {
	padding: 10px 12px;
	vertical-align: top;
	border-bottom: 1px solid #eef2f7;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table tbody td:first-child > .dFlex {
	min-height: var(--ttbm-a-input-h, 40px);
	align-items: center;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table tbody td.textRight .buttonGroup {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-height: var(--ttbm-a-input-h, 40px);
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap .select2-container {
	width: 100% !important;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap .select2-container .select2-selection--single {
	height: var(--ttbm-a-input-h, 40px);
	min-height: var(--ttbm-a-input-h, 40px);
	display: flex;
	align-items: center;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap .select2-container .select2-selection__rendered {
	line-height: 1.4;
	padding-left: 12px;
	padding-right: 28px;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm-place-select-wrap .select2-container .select2-selection__arrow {
	height: 100%;
	top: 0;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table input.ttbm_name_validation {
	height: var(--ttbm-a-input-h, 40px);
	min-height: var(--ttbm-a-input-h, 40px);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table tbody tr:last-child td {
	border-bottom: none;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table .formControl,
#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table input.ttbm_name_validation,
#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table select {
	width: 100%;
	max-width: 100%;
}

#ttbm_meta_box_panel .ttbm-places-visit-card .ttbm_place_you_see_table .ttbm_add_item {
	margin-top: 12px;
}

#ttbm_meta_box_panel .tabsItem section .ttbm-header h4 i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	color: #2563eb;
	font-size: 14px;
}

/* ─── Form rows (labels) ─── */
#ttbm_meta_box_panel .tabsItem section .label,
#ttbm_content.ttbm_configuration .tabsItem section .label {
	background: #fff;
	border: 1px solid #e7e9ed;
	border-radius: var(--ttbm-a-radius);
	padding: 14px 16px;
	margin: 0 0 12px;
	min-height: 52px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-direction: row;
	gap: 16px;
	cursor: default;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .tabsItem section .label .label-inner,
#ttbm_content.ttbm_configuration .tabsItem section .label .label-inner {
	display: flex;
	align-items: center;
	flex: 1 1 45%;
	min-width: 0;
}

#ttbm_meta_box_panel .tabsItem section .label > p,
#ttbm_content.ttbm_configuration .tabsItem section .label > p {
	display: flex;
	align-items: center;
	flex: 1 1 45%;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .tabsItem section .label ._dFlex_alignCenter_justifyBetween,
#ttbm_meta_box_panel .tabsItem section .label ._dFlex_alignCenter_justfyBetween,
#ttbm_content.ttbm_configuration .tabsItem section .label ._dFlex_alignCenter_justifyBetween,
#ttbm_content.ttbm_configuration .tabsItem section .label ._dFlex_alignCenter_justfyBetween {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	flex: 1 1 55%;
	min-width: 0;
}

#ttbm_meta_box_panel .tabsItem section .label .roundSwitchLabel,
#ttbm_content.ttbm_configuration .tabsItem section .label .roundSwitchLabel,
div.ttbm_global_settings.ttbm_configuration .roundSwitchLabel {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	line-height: 1;
	vertical-align: middle;
}

#ttbm_meta_box_panel .tabsItem section .label:focus-within,
#ttbm_content.ttbm_configuration .tabsItem section .label:focus-within {
	border-color: #93c5fd;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

#ttbm_meta_box_panel .tabsItem section .dFlex {
	gap: 16px;
}

#ttbm_meta_box_panel .tabsItem .col-left,
#ttbm_meta_box_panel .tabsItem .col-right {
	width: 50%;
}

/* ─── Inputs ─── */
#ttbm_meta_box_panel input[type="text"],
#ttbm_meta_box_panel input[type="number"],
#ttbm_meta_box_panel input[type="email"],
#ttbm_meta_box_panel input[type="url"],
#ttbm_meta_box_panel input[type="search"],
#ttbm_meta_box_panel input[type="time"],
#ttbm_meta_box_panel input[type="password"],
#ttbm_meta_box_panel select,
#ttbm_meta_box_panel textarea,
#ttbm_content.ttbm_configuration input[type="text"],
#ttbm_content.ttbm_configuration input[type="number"],
#ttbm_content.ttbm_configuration input[type="email"],
#ttbm_content.ttbm_configuration select,
#ttbm_content.ttbm_configuration textarea,
#ttbm_meta_box_panel .formControl,
#ttbm_content.ttbm_configuration .formControl {
	min-height: var(--ttbm-a-input-h);
	height: auto;
	padding: 9px 12px;
	font-size: 14px;
	line-height: 1.4;
	color: var(--ttbm-a-text);
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border-strong);
	border-radius: var(--ttbm-a-radius-sm);
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Hide native browser clear icons — custom clear button is used instead */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap input[type="time"]::-webkit-calendar-picker-indicator,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap input[type="time"]::-webkit-clear-button,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap input[type="time"]::-webkit-inner-spin-button,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap input::-ms-clear,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap input::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
	-webkit-appearance: none;
	appearance: none;
}

#ttbm_meta_box_panel textarea,
#ttbm_content.ttbm_configuration textarea {
	min-height: 100px;
	line-height: var(--ttbm-a-lh);
}

#ttbm_meta_box_panel input:focus,
#ttbm_meta_box_panel select:focus,
#ttbm_meta_box_panel textarea:focus,
#ttbm_content.ttbm_configuration input:focus,
#ttbm_content.ttbm_configuration select:focus,
#ttbm_content.ttbm_configuration textarea:focus,
#ttbm_meta_box_panel .formControl:focus {
	outline: none;
	border-color: var(--ttbm-a-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

#ttbm_meta_box_panel input::placeholder,
#ttbm_meta_box_panel textarea::placeholder,
#ttbm_content.ttbm_configuration input::placeholder,
#ttbm_content.ttbm_configuration textarea::placeholder {
	color: var(--ttbm-a-help);
	opacity: 1;
}

#ttbm_meta_box_panel input.small,
#ttbm_content.ttbm_configuration input.small {
	width: 80px;
	min-width: 80px;
}

#ttbm_meta_box_panel input.medium,
#ttbm_content.ttbm_configuration input.medium {
	min-width: 120px;
}

#ttbm_meta_box_panel input.rounded,
#ttbm_content.ttbm_configuration input.rounded,
#ttbm_meta_box_panel select.rounded {
	border-radius: var(--ttbm-a-radius-sm);
}

/* ─── Select2 ─── */
#ttbm_meta_box_panel .select2-container--default .select2-selection--single,
#ttbm_meta_box_panel .select2-container--default .select2-selection--multiple,
#ttbm_content.ttbm_configuration .select2-container--default .select2-selection--single,
#ttbm_content.ttbm_configuration .select2-container--default .select2-selection--multiple {
	border: 1px solid var(--ttbm-a-border-strong);
	border-radius: var(--ttbm-a-radius-sm);
	min-height: var(--ttbm-a-input-h);
	background: var(--ttbm-a-surface);
}

#ttbm_meta_box_panel .select2-container--default.select2-container--focus .select2-selection--multiple,
#ttbm_meta_box_panel .select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--ttbm-a-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}

#ttbm_meta_box_panel .select2-container--default .select2-selection--multiple .select2-selection__choice {
	background: var(--ttbm-a-primary-soft);
	border: 1px solid #bfdbfe;
	border-radius: var(--ttbm-a-radius-sm);
	color: var(--ttbm-a-primary);
	font-size: 12px;
	font-weight: 500;
	padding: 2px 8px;
	margin: 3px 4px 3px 0;
}

#ttbm_meta_box_panel select[name="ttbm_travel_language[]"] + .select2-container .select2-selection--multiple {
	height: var(--ttbm-a-input-h);
	min-height: var(--ttbm-a-input-h);
	max-height: var(--ttbm-a-input-h);
	padding: 0 10px;
	display: flex;
	align-items: center;
	overflow: hidden;
	box-sizing: border-box;
}

#ttbm_meta_box_panel select[name="ttbm_travel_language[]"] + .select2-container .select2-search__field {
	width: auto !important;
	min-width: 40px !important;
	max-width: 100%;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ─── Toggles ─── */
#ttbm_meta_box_panel .ttbm_style .roundSwitch,
#ttbm_content.ttbm_configuration .roundSwitch {
	background: var(--ttbm-a-border-strong);
	border: none;
	box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.08);
}

#ttbm_meta_box_panel .ttbm_style .roundSwitch::before,
#ttbm_content.ttbm_configuration .roundSwitch::before {
	background: #fff;
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.15);
}

#ttbm_meta_box_panel .tabsItem section .roundSwitchLabel input:checked + .roundSwitch,
#ttbm_content.ttbm_configuration .roundSwitchLabel input:checked + .roundSwitch {
	background: var(--ttbm-a-primary);
}

#ttbm_meta_box_panel .slider {
	background: var(--ttbm-a-border-strong);
	border-color: transparent;
}

#ttbm_meta_box_panel input:checked + .slider {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
}

/* ─── Checkboxes / feature pills ─── */
#ttbm_meta_box_panel .includedd-features-section .customCheckboxLabel,
#ttbm_meta_box_panel .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel,
#ttbm_content.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel,
div.ttbm_global_settings.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel {
	float: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 8px 12px;
	width: auto;
	min-width: 0;
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-sm);
	background: var(--ttbm-a-surface);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}

#ttbm_meta_box_panel .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox,
#ttbm_meta_box_panel .includedd-features-section .customCheckbox,
#ttbm_content.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox,
div.ttbm_global_settings.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	position: relative;
	min-height: 18px;
	padding: 0 0 0 22px;
	margin: 0;
	line-height: 1.4;
	color: var(--ttbm-a-text-secondary);
	white-space: normal;
}

#ttbm_meta_box_panel .groupCheckBox .customCheckbox i,
#ttbm_meta_box_panel .includedd-features-section .customCheckbox i,
#ttbm_content.ttbm_configuration .groupCheckBox .customCheckbox i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	margin: 0;
	color: inherit;
}

#ttbm_meta_box_panel .includedd-features-section .customCheckboxLabel .customCheckbox::before,
#ttbm_meta_box_panel .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox::before,
#ttbm_content.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox::before,
div.ttbm_global_settings.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckbox::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50% !important;
	width: 16px;
	height: 16px;
	margin: 0;
	border: 1px solid var(--ttbm-a-border-strong);
	border-radius: 4px;
	background: #fff;
	transform: translateY(-50%);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .tabsItem section .customCheckboxLabel input:checked ~ .customCheckbox::before,
#ttbm_meta_box_panel div.ttbm_style .customCheckboxLabel input:checked ~ .customCheckbox::before,
#ttbm_content.ttbm_configuration .customCheckboxLabel input:checked ~ .customCheckbox::before,
div.ttbm_global_settings.ttbm_configuration .customCheckboxLabel input:checked ~ .customCheckbox::before {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
}

#ttbm_meta_box_panel .tabsItem section .customCheckboxLabel input:checked ~ .customCheckbox::after,
#ttbm_meta_box_panel div.ttbm_style .customCheckboxLabel input:checked ~ .customCheckbox::after,
#ttbm_content.ttbm_configuration .customCheckboxLabel input:checked ~ .customCheckbox::after,
div.ttbm_global_settings.ttbm_configuration .customCheckboxLabel input:checked ~ .customCheckbox::after {
	content: "";
	position: absolute;
	left: 4px !important;
	top: 50% !important;
	width: 9px;
	height: 5px;
	margin: 0;
	border: 2px solid #fff;
	border-top: none;
	border-right: none;
	background: transparent;
	transform: translateY(-65%) rotate(-45deg);
	z-index: 2;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel input:checked ~ .customCheckbox,
#ttbm_meta_box_panel .includedd-features-section .customCheckboxLabel:has(input:checked),
#ttbm_meta_box_panel .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel:has(input:checked),
#ttbm_content.ttbm_configuration .groupCheckBox:not(.ttbm-off-days-grid) .customCheckboxLabel:has(input:checked) {
	border-color: #93c5fd;
	background: var(--ttbm-a-primary-soft);
}

#ttbm_meta_box_panel .groupCheckBox,
#ttbm_content.ttbm_configuration .groupCheckBox,
div.ttbm_global_settings.ttbm_configuration .groupCheckBox {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
}

/* ─── Off schedule (Off Days / Off Dates) ─── */
#ttbm_meta_box_panel .ttbm-off-schedule-panel {
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-off-schedule-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

#ttbm_meta_box_panel .ttbm-off-schedule-header__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: var(--ttbm-a-text);
}

#ttbm_meta_box_panel .ttbm-off-schedule-header__title i {
	color: #4a55a2;
	font-size: 18px;
}

#ttbm_meta_box_panel .ttbm-off-schedule-header__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-off-schedule-header__toggle-label {
	font-size: 14px;
	font-weight: 500;
	color: #64748b;
}

#ttbm_meta_box_panel .ttbm-off-schedule-header .roundSwitchLabel input:checked + .roundSwitch {
	background: #4a55a2;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tabs {
	background: transparent;
	border: 0;
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tablists {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 16px;
	padding: 6px;
	list-style: none;
	background: #e4edf5;
	border-radius: 12px;
	border: 0;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tablists li {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 10px 18px !important;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	color: #64748b;
	text-align: center;
	white-space: nowrap;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tablists li:hover {
	color: #4a55a2;
	background: rgba(255, 255, 255, 0.55);
	border-color: transparent !important;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tablists li.active,
#ttbm_meta_box_panel .ttbm-off-schedule-tablists li.active:hover {
	color: #1e293b;
	background: #fff;
	border-color: #e2e8f0 !important;
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}

#ttbm_meta_box_panel .ttbm-off-schedule-tab-content {
	padding: 0 !important;
	background: transparent;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tip {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 18px;
	padding: 14px 16px 14px 18px;
	border: 1px solid #dbeafe;
	border-radius: 12px;
	background: #f0f4ff;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tip__icon {
	flex: 0 0 auto;
	color: #4a55a2;
	font-size: 18px;
	line-height: 1.2;
	margin-top: 2px;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tip__title {
	display: block;
	margin: 0 0 4px;
	font-size: 14px;
	font-weight: 700;
	color: #1e293b;
}

#ttbm_meta_box_panel .ttbm-off-schedule-tip__text {
	margin: 0;
	font-size: 13px;
	line-height: 1.55;
	color: #64748b;
}

/* Off days — centered checkbox cards */
#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 10px;
	align-items: stretch;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px;
	width: 100%;
	min-height: 96px;
	margin: 0 !important;
	padding: 16px 8px !important;
	text-align: center;
	position: relative;
	border: 2px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card:hover {
	border-color: #c7d2fe;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card__mark {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border: 2px solid #d1d5db;
	border-radius: 4px;
	background: #fff;
	box-sizing: border-box;
	flex-shrink: 0;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card:has(input:checked) {
	border-color: #4a55a2;
	box-shadow: 0 0 0 1px rgba(74, 85, 162, 0.08);
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card:has(input:checked) .ttbm-off-day-card__mark {
	background: #4a55a2;
	border-color: #4a55a2;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card:has(input:checked) .ttbm-off-day-card__mark::after {
	content: "";
	width: 9px;
	height: 5px;
	border: 2px solid #fff;
	border-top: none;
	border-right: none;
	transform: rotate(-45deg);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card__label,
#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card .customCheckbox {
	display: block !important;
	width: auto;
	min-height: 0;
	padding: 0 !important;
	margin: 0 !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	color: #334155;
	text-align: center;
	white-space: nowrap;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card:has(input:checked) .ttbm-off-day-card__label {
	color: #1e293b;
}

#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card::before,
#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card::after,
#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card .customCheckbox::before,
#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid .ttbm-off-day-card .customCheckbox::after {
	display: none !important;
	content: none !important;
}

/* Off dates list */
#ttbm_meta_box_panel .ttbm-off-dates-list {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-off-date-card {
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-off-date-card__inner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	background: #f8f9fc;
	border: 1px solid var(--ttbm-a-border);
	border-radius: 12px;
}

#ttbm_meta_box_panel .ttbm-off-date-card__field {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-off-date-card__field .formControl.date_type {
	min-height: 44px;
	height: 44px;
	padding: 10px 14px 10px 44px;
	border-radius: 10px;
	background-image: none;
}

#ttbm_meta_box_panel .ttbm-off-date-card__actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex: 0 0 auto;
}

#ttbm_meta_box_panel .ttbm-off-date-card__delete,
#ttbm_meta_box_panel .ttbm-off-date-card__sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	box-sizing: border-box;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-off-date-card__delete {
	border: 1px solid #fecaca;
	background: #fff;
	color: #ef4444;
	cursor: pointer;
}

#ttbm_meta_box_panel .ttbm-off-date-card__sort {
	border: 1px solid var(--ttbm-a-border);
	background: #fff;
	color: #64748b;
	cursor: grab;
}

#ttbm_meta_box_panel .ttbm-off-dates-add-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 14px;
	padding: 14px 16px;
	border: 2px dashed #9ec2e0;
	border-radius: 12px;
	background: #fff;
	color: #2271b1;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}

#ttbm_meta_box_panel .ttbm-off-dates-add-btn:hover,
#ttbm_meta_box_panel .ttbm-off-dates-add-btn:focus {
	background: #f0f6fc;
	border-color: #72aee6;
	color: #2271b1;
	opacity: 1;
}

@media (max-width: 1100px) {
	#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	#ttbm_meta_box_panel .groupCheckBox.ttbm-off-days-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	#ttbm_meta_box_panel .ttbm-off-schedule-tablists {
		display: flex;
		width: 100%;
	}

	#ttbm_meta_box_panel .ttbm-off-schedule-tablists li {
		flex: 1 1 50%;
	}
}

/* ─── Buttons ─── */
#ttbm_meta_box_panel .ttbm_style .themeButton,
#ttbm_meta_box_panel .ttbm_style [class*="_themeButton"],
#ttbm_content.ttbm_configuration .ttbm_style .themeButton,
#ttbm_content.ttbm_configuration .ttbm_style [class*="_themeButton"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 36px;
	padding: 8px 16px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff !important;
	background: #2271b1 !important;
	background-color: #2271b1 !important;
	border: 1px solid #2271b1 !important;
	border-color: #2271b1 !important;
	border-radius: var(--ttbm-a-radius-sm);
	box-shadow: var(--ttbm-a-shadow-sm);
	transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_style .themeButton:hover,
#ttbm_meta_box_panel .ttbm_style [class*="_themeButton"]:hover,
#ttbm_content.ttbm_configuration .ttbm_style .themeButton:hover,
#ttbm_content.ttbm_configuration .ttbm_style [class*="_themeButton"]:hover {
	background: #135e96 !important;
	background-color: #135e96 !important;
	border-color: #135e96 !important;
	color: #fff !important;
	box-shadow: var(--ttbm-a-shadow);
}

#ttbm_meta_box_panel .ttbm_style .themeButton span,
#ttbm_meta_box_panel .ttbm_style [class*="_themeButton"] span,
#ttbm_meta_box_panel .ttbm_style .themeButton i,
#ttbm_meta_box_panel .ttbm_style [class*="_themeButton"] i,
#ttbm_content.ttbm_configuration .ttbm_style .themeButton span,
#ttbm_content.ttbm_configuration .ttbm_style [class*="_themeButton"] span,
#ttbm_content.ttbm_configuration .ttbm_style .themeButton i,
#ttbm_content.ttbm_configuration .ttbm_style [class*="_themeButton"] i {
	color: #fff !important;
}

/* Solid add buttons — unified WP admin blue */
#ttbm_meta_box_panel .ttbm_style .ttbm_add_item[class*="themeButton"],
#ttbm_meta_box_panel .ttbm_style button.ttbm_add_item:not(.ttbm-off-dates-add-btn):not(.ttbm-time-slots-add-btn):not(.ttbm-particular-dates-add-btn):not(.ttbm-ticket-types-add-btn) {
	background: #2271b1 !important;
	background-color: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm_style .ttbm_add_item[class*="themeButton"]:hover,
#ttbm_meta_box_panel .ttbm_style button.ttbm_add_item:not(.ttbm-off-dates-add-btn):not(.ttbm-time-slots-add-btn):not(.ttbm-particular-dates-add-btn):not(.ttbm-ticket-types-add-btn):hover {
	background: #135e96 !important;
	background-color: #135e96 !important;
	border-color: #135e96 !important;
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm_style .mpBtn,
#ttbm_meta_box_panel .ttbm_style [class*="_mpBtn"],
#ttbm_content.ttbm_configuration .ttbm_style .mpBtn,
#ttbm_content.ttbm_configuration .ttbm_style [class*="_mpBtn"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 36px;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 500;
	color: var(--ttbm-a-text-secondary);
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border-strong);
	border-radius: var(--ttbm-a-radius-sm);
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_style .mpBtn.mActive,
#ttbm_meta_box_panel .ttbm_style [class*="_mpBtn"].mActive,
#ttbm_meta_box_panel .ttbm_style .mpBtn.active,
#ttbm_meta_box_panel .ttbm_style [class*="_mpBtn"].active,
#ttbm_meta_box_panel .ttbm_style [class*="_mpBtn"].mpActive {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
	color: #fff;
}

#ttbm_meta_box_panel .ttbm_style [class*="_whiteButton"],
#ttbm_content.ttbm_configuration .ttbm_style [class*="_whiteButton"] {
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border-strong);
	border-radius: var(--ttbm-a-radius-sm);
	color: var(--ttbm-a-muted);
	min-height: 34px;
	padding: 6px 10px;
}

#ttbm_meta_box_panel .ttbm_style [class*="_whiteButton"]:hover {
	background: var(--ttbm-a-danger-soft);
	border-color: #fecaca;
	color: var(--ttbm-a-danger);
}

#ttbm_meta_box_panel .ttbm_style .warningButton,
#ttbm_meta_box_panel .ttbm_style [class*="_warningButton"] {
	background: var(--ttbm-a-warning);
	border-color: var(--ttbm-a-warning);
	color: #fff;
	border-radius: var(--ttbm-a-radius-sm);
}

#ttbm_meta_box_panel .button,
#ttbm_meta_box_panel .button-primary,
#ttbm_content.ttbm_configuration .button-primary {
	border-radius: var(--ttbm-a-radius-sm);
	font-weight: 600;
}

#ttbm_meta_box_panel .button-primary {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
}

/* ─── Tables ─── */
#ttbm_meta_box_panel table,
#ttbm_content.ttbm_configuration table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border: none;
	border-radius: var(--ttbm-a-radius);
	overflow: hidden;
	background: var(--ttbm-a-surface);
	margin-bottom: 16px;
}

#ttbm_meta_box_panel table thead th,
#ttbm_content.ttbm_configuration table thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #f8fafc;
	color: var(--ttbm-a-muted);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 12px 14px;
	border-bottom: 1px solid var(--ttbm-a-border);
	text-align: left;
}

#ttbm_meta_box_panel table tbody td,
#ttbm_meta_box_panel table tbody th,
#ttbm_content.ttbm_configuration table tbody td,
#ttbm_content.ttbm_configuration table tbody th {
	padding: 12px 5px;
	font-size: 13px;
	vertical-align: middle;
	border-bottom: 1px solid var(--ttbm-a-border);
	background: var(--ttbm-a-surface);
}

#ttbm_meta_box_panel table tbody tr:nth-child(even) td,
#ttbm_meta_box_panel table tbody tr:nth-child(even) th,
#ttbm_content.ttbm_configuration table tbody tr:nth-child(even) td {
	background: #fafbfc;
}

#ttbm_meta_box_panel table tbody tr:hover td,
#ttbm_meta_box_panel table tbody tr:hover th {
	background: var(--ttbm-a-primary-soft);
}

#ttbm_meta_box_panel table tbody tr:last-child td,
#ttbm_meta_box_panel table tbody tr:last-child th {
	border-bottom: 0;
}

#ttbm_meta_box_panel .ovAuto {
	border-radius: var(--ttbm-a-radius);
	border: 1px solid var(--ttbm-a-border);
	overflow: auto;
}

#ttbm_meta_box_panel .buttonGroup {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ─── Radio / tab button groups ─── */
#ttbm_meta_box_panel .groupRadioBox ._dFlex_mT_xs,
#ttbm_meta_box_panel .groupRadioBox ._dFlex {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

#ttbm_meta_box_panel .groupRadioBox [data-group-radio],
#ttbm_meta_box_panel .groupRadioBox button[data-group-radio] {
	border-radius: var(--ttbm-a-radius-sm);
}

/* ─── Pricing / template cards ─── */
#ttbm_meta_box_panel .ttbm-pricing-types,
#ttbm_meta_box_panel .ttbm-template-section,
#ttbm_meta_box_panel .ttbm-booking-styles,
#ttbm_meta_box_panel .ttbm-title-styles {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin-bottom: 20px;
}

#ttbm_meta_box_panel .ttbm-template-section {
	justify-content: flex-start;
}

#ttbm_meta_box_panel .ttbm-template {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	width: auto;
	max-width: 260px;
	align-items: flex-start;
	text-align: left;
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius);
	padding: 16px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .booking-style,
#ttbm_meta_box_panel .title-style {
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius);
	padding: 16px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-template.active,
#ttbm_meta_box_panel .booking-style.active,
#ttbm_meta_box_panel .title-style.active {
	border-color: #93c5fd;
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

#ttbm_meta_box_panel .ttbm-template h5 {
	font-size: 15px;
	font-weight: 600;
	color: var(--ttbm-a-text);
	margin: 10px 0 6px;
}

/* ─── Pricing type selector cards ─── */
#ttbm_meta_box_panel .ttbm-pricing-types {
	align-items: stretch;
}

#ttbm_meta_box_panel .ttbm-pricing-type {
	position: relative;
	flex: 1;
	min-width: 200px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 16px;
	text-align: left;
	background: #fff;
	border: 1.5px solid #cee1f5;
	border-radius: 16px;
	padding: 18px 44px 18px 18px;
	cursor: pointer;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

#ttbm_meta_box_panel .ttbm-pricing-type:not(.active):hover {
	border-color: #a5b4fc;
	box-shadow: 0 4px 18px rgba(99, 102, 241, 0.12);
}

#ttbm_meta_box_panel .ttbm-pricing-type.active {
	background: #6366f1;
	border-color: #6366f1;
	box-shadow: 0 8px 28px rgba(99, 102, 241, 0.38);
}

#ttbm_meta_box_panel .ttbm-pricing-type.active::before {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 11px solid transparent;
	border-right: 11px solid transparent;
	border-top: 11px solid #6366f1;
	z-index: 2;
}

#ttbm_meta_box_panel .ttbm-pricing-type.active::after {
	content: '\2713';
	display: block;
	position: absolute;
	top: 10px;
	right: 10px;
	bottom: auto;
	left: auto;
	width: 22px;
	height: 22px;
	background: #fff;
	color: #6366f1;
	border-radius: 50%;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
	text-align: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	z-index: 3;
}

#ttbm_meta_box_panel .ttbm-pricing-type__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 13px;
	background: #eef2ff;
	color: #6366f1;
	font-size: 22px;
	transition: background 0.2s ease, color 0.2s ease;
}

#ttbm_meta_box_panel .ttbm-pricing-type.active .ttbm-pricing-type__icon {
	background: #6366f1;
	color: #fff;
}

#ttbm_meta_box_panel .ttbm-pricing-type__content {
	flex: 1;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-pricing-type h6 {
	font-size: 14px;
	font-weight: 700;
	color: var(--ttbm-a-text);
	margin: 0 0 5px;
	font-family: var(--ttbm-a-font);
	line-height: 1.35;
	transition: color 0.2s ease;
}

#ttbm_meta_box_panel .ttbm-pricing-type.active h6 {
	color: #fff;
}

#ttbm_meta_box_panel .ttbm-pricing-type p {
	font-size: 12px;
	color: var(--ttbm-a-muted);
	line-height: 1.55;
	margin: 0;
	transition: color 0.2s ease;
}

#ttbm_meta_box_panel .ttbm-pricing-type.active p {
	color: rgba(255, 255, 255, 0.8);
}

/* ─── Ticket types table ─── */
#ttbm_meta_box_panel .ttbm-ticket-types-panel {
	background: #fff;
	border: none;
	border-radius: 10px;
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table-wrap {
	border-radius: var(--ttbm-a-radius);
	border: 1px solid var(--ttbm-a-border);
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	table-layout: fixed;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--name {
	width: 22%;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--desc {
	width: 16%;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--price,
#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--sale {
	width: 10%;
	min-width: 120px;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--cap {
	width: 10%;
	min-width: 72px;
	display: table-cell !important;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table th.ttbm-ticket-col--cap[data-collapse],
#ttbm_meta_box_panel .ttbm-ticket-types-table td.ttbm-ticket-col--cap[data-collapse] {
	display: table-cell !important;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--default,
#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--reserve {
	width: 9%;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--actions {
	width: 72px;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table thead th {
	padding: 10px 8px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #475569;
	text-align: left;
	white-space: normal;
	background: #f1f5f9;
	border-bottom: 1px solid #e2e8f0;
	vertical-align: middle;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table thead th .ttbm-ticket-th-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 4px;
	max-width: 100%;
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table thead th:has(.tool-tips) {
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table tbody td {
	padding: 10px 8px;
	border-bottom: 1px solid #eef2f7;
	vertical-align: middle;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table tbody tr:last-child td {
	border-bottom: 0;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--qty-type {
	display: none;
}

/* Show Qty Box Type column on the dedicated Ticket Types post-type page */
.post-type-ttbm_ticket_types #ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--qty-type {
	display: table-cell;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .formControl,
#ttbm_meta_box_panel .ttbm-ticket-types-table input[type="text"],
#ttbm_meta_box_panel .ttbm-ticket-types-table input[type="number"],
#ttbm_meta_box_panel .ttbm-ticket-types-table select {
	width: 100%;
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	color: #0f172a;
	box-sizing: border-box;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--name .formControl {
	font-weight: 600;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--cap .formControl,
#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--default .formControl,
#ttbm_meta_box_panel .ttbm-ticket-types-table .ttbm-ticket-col--reserve .formControl {
	min-width: 0;
	max-width: none;
	text-align: center;
	padding-left: 6px !important;
	padding-right: 6px !important;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field {
	display: flex;
	align-items: stretch;
	gap: 8px;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon {
	flex: 0 0 38px;
	width: 38px;
	max-width: 38px;
	align-self: stretch;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_style,
#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_area {
	margin: 0 !important;
	padding: 0 !important;
	max-width: 38px !important;
	width: 38px;
	height: 100%;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_item {
	position: relative;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0 !important;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	box-sizing: border-box;
	cursor: pointer;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_item .allCenter {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_item [data-add-icon] {
	font-size: 16px;
	color: #2563eb;
	line-height: 1;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_remove {
	position: absolute;
	top: -6px;
	right: -6px;
	width: 16px;
	height: 16px;
	font-size: 9px;
	line-height: 16px;
	text-align: center;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #e2e8f0;
	color: #94a3b8;
	cursor: pointer;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_button_area {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	width: 38px;
	height: 38px;
	background: transparent;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_button_area .flexEqual {
	display: block;
	width: 38px;
	height: 38px;
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_area button,
#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_add {
	width: 38px !important;
	min-width: 38px !important;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	background: #f8fafc !important;
	color: #64748b !important;
	font-size: 0 !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	box-shadow: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_area button:hover,
#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_add:hover {
	border-color: #cbd5e1 !important;
	background: #fff !important;
	color: #2271b1 !important;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_add_icon_image_area button span,
#ttbm_meta_box_panel .ttbm-ticket-name-field__icon .ttbm_icon_add .fas {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1 !important;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__input {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: stretch;
}

#ttbm_meta_box_panel .ttbm-ticket-name-field__input .formControl {
	height: 38px;
}

#ttbm_meta_box_panel .ttbm-ticket-input-prefix {
	display: block;
	position: relative;
	margin: 0;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-ticket-input-prefix__symbol {
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 13px;
	font-weight: 500;
	color: #94a3b8;
	pointer-events: none;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm-ticket-input-prefix .formControl {
	padding-left: 26px !important;
}

#ttbm_meta_box_panel .ttbm-ticket-row__actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

#ttbm_meta_box_panel .ttbm-ticket-row__delete,
#ttbm_meta_box_panel .ttbm-ticket-row__sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-ticket-row__delete:hover,
#ttbm_meta_box_panel .ttbm-ticket-row__delete:focus {
	color: #ef4444;
	background: #fef2f2;
}

#ttbm_meta_box_panel .ttbm-ticket-row__sort {
	color: #64748b;
	cursor: grab;
}

#ttbm_meta_box_panel .ttbm-ticket-row__sort:hover,
#ttbm_meta_box_panel .ttbm-ticket-row__sort:focus {
	color: #2563eb;
	background: #eff6ff;
}

#ttbm_meta_box_panel .ttbm-ticket-row__delete span,
#ttbm_meta_box_panel .ttbm-ticket-row__sort span {
	font-size: 14px;
	line-height: 1;
}

#ttbm_meta_box_panel .ttbm-ticket-types-add-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding: 14px 18px;
	border: none;
	border-radius: var(--ttbm-a-radius);
	background: #2271b1 !important;
	background-color: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	font-family: var(--ttbm-a-font);
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 3px rgba(34, 113, 177, 0.25), 0 4px 12px rgba(34, 113, 177, 0.15);
	transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.1s ease;
}

#ttbm_meta_box_panel .ttbm-ticket-types-add-btn:hover,
#ttbm_meta_box_panel .ttbm-ticket-types-add-btn:focus {
	background: #135e96 !important;
	background-color: #135e96 !important;
	border-color: #135e96 !important;
	color: #fff !important;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(34, 113, 177, 0.3), 0 6px 18px rgba(34, 113, 177, 0.2);
	transform: translateY(-1px);
}

#ttbm_meta_box_panel .ttbm-ticket-types-add-btn:active {
	transform: translateY(0);
	box-shadow: 0 1px 3px rgba(34, 113, 177, 0.2);
}

#ttbm_meta_box_panel .ttbm-ticket-types-add-btn .fas {
	font-size: 12px;
}

#ttbm_meta_box_panel .ttbm-ticket-types-table .tool-tips {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	margin-left: 0;
	color: #94a3b8;
	font-size: 12px;
	vertical-align: middle;
}

/* Legacy hotel details table (removed from markup) */
#ttbm_meta_box_panel .ttbm-hotel-details-table {
	display: none;
}

/* ─── Hotel select (pricing tab) ─── */
#ttbm_meta_box_panel .ttbm-hotel-select-wrap {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 4px;
}

#ttbm_meta_box_panel .ttbm-hotel-select-label {
	display: inline-flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 4px;
	margin: 0;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #475569;
}

#ttbm_meta_box_panel .ttbm-hotel-select-field {
	position: relative;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm-hotel-select-field .select2-container {
	width: 100% !important;
}

#ttbm_meta_box_panel .ttbm-hotel-select-field .ttbm-hotel-select-icon {
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	color: #94a3b8;
	font-size: 13px;
	line-height: 1;
	z-index: 2;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection--multiple {
	min-height: 48px;
	height: auto !important;
	padding: 8px 38px 8px 12px !important;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container.select2-container--focus .select2-selection--multiple,
#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container.select2-container--open .select2-selection--multiple {
	border-color: var(--ttbm-a-primary, #2563eb);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection__rendered {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 6px;
	width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: normal;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection__choice {
	float: none !important;
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 5px 10px 5px 8px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: #6366f1 !important;
	color: #fff !important;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	max-width: 100%;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection__choice__display {
	padding: 0 !important;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection__choice__remove {
	color: rgba(255, 255, 255, 0.9) !important;
	border: 0 !important;
	margin-right: 6px;
	font-weight: 700;
	line-height: 1;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-selection__choice__remove:hover {
	color: #fff !important;
	background: transparent !important;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-search--inline {
	float: none;
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	flex: 1 1 120px;
	min-width: 120px;
}

#ttbm_meta_box_panel .ttbm-hotel-select-wrap select[name="ttbm_hotels[]"] + .select2-container .select2-search__field {
	height: 28px !important;
	min-height: 0 !important;
	line-height: 28px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	width: 100% !important;
	min-width: 120px !important;
	color: #64748b;
	font-size: 13px;
}

#ttbm_meta_box_panel p.ttbm-hotel-hint {
	margin: 0;
	font-size: 10px !important;
	line-height: 1.4;
	color: #64748b;
}

#ttbm_meta_box_panel .ttbm-hotel-add-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	padding: 2px 8px;
	margin-left: 4px;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f1f5f9;
	font-size: 10px;
	font-weight: 500;
	font-family: inherit;
	color: var(--mpl-primary, #2271b1);
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	vertical-align: middle;
	transition: background 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-hotel-add-link:hover {
	background: #e2e8f0;
	color: var(--mpl-primary, #2271b1);
	text-decoration: none;
}

/* ─── Extra service table ─── */
#ttbm_meta_box_panel .ttbm-extra-service-panel {
	background: #fff;
	border: none;
	border-radius: 10px;
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-extra-service-table-wrap {
	border-radius: var(--ttbm-a-radius);
	border: 1px solid var(--ttbm-a-border);
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-extra-service-table {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	table-layout: fixed;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--icon {
	width: 52px;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--name {
	width: 18%;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--desc {
	width: 22%;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--price,
#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--sale {
	width: 13%;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--qty {
	width: 11%;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--actions {
	width: 72px;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--qty-type {
	display: none;
}

#ttbm_meta_box_panel .ttbm-extra-service-table thead th {
	padding: 10px 8px;
	font-size: 10px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: #475569;
	text-align: left;
	white-space: normal;
	background: #f1f5f9;
	border-bottom: 1px solid #e2e8f0;
	vertical-align: middle;
}

#ttbm_meta_box_panel .ttbm-extra-service-table tbody td {
	padding: 10px 8px;
	border-bottom: 1px solid #eef2f7;
	vertical-align: middle;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm-extra-service-table tbody tr:last-child td {
	border-bottom: 0;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .formControl,
#ttbm_meta_box_panel .ttbm-extra-service-table input[type="text"],
#ttbm_meta_box_panel .ttbm-extra-service-table input[type="number"],
#ttbm_meta_box_panel .ttbm-extra-service-table select {
	width: 100%;
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	font-size: 13px;
	color: #0f172a;
	box-sizing: border-box;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--name .formControl {
	font-weight: 600;
}

#ttbm_meta_box_panel .ttbm-extra-service-table .ttbm-extra-col--qty .formControl {
	text-align: center;
	padding-left: 6px !important;
	padding-right: 6px !important;
}

#ttbm_meta_box_panel .ttbm-extra-service-icon .ttbm_style,
#ttbm_meta_box_panel .ttbm-extra-service-icon .ttbm_add_icon_image_area {
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-extra-service-icon .ttbm_icon_item {
	position: relative;
	width: 36px;
	height: 36px;
	margin: 0;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #f8fafc;
}

#ttbm_meta_box_panel .ttbm-extra-service-icon .ttbm_icon_item .allCenter {
	width: 100%;
	height: 100%;
}

#ttbm_meta_box_panel .ttbm-extra-service-icon .ttbm_icon_add {
	min-height: 36px;
	padding: 6px 8px;
	border-radius: 8px;
	font-size: 11px;
}

/* ─── Addon promo cards ─── */
#ttbm_meta_box_panel .ttbm-addon-promos {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-addon-promo {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 18px;
	border-radius: var(--ttbm-a-radius);
	border: 1px solid var(--ttbm-a-border);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

#ttbm_meta_box_panel .ttbm-addon-promo--amber {
	background: #ffffff;
}

#ttbm_meta_box_panel .ttbm-addon-promo--blue {
	background: #ffffff;
}

#ttbm_meta_box_panel .ttbm-addon-promo__icon {
	flex-shrink: 0;
	width: 42px;
	height: 42px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 17px;
}

#ttbm_meta_box_panel .ttbm-addon-promo--amber .ttbm-addon-promo__icon {
	background: #fef3c7;
	color: #d97706;
}

#ttbm_meta_box_panel .ttbm-addon-promo--blue .ttbm-addon-promo__icon {
	background: #dbeafe;
	color: #2563eb;
}

#ttbm_meta_box_panel .ttbm-addon-promo__content {
	flex: 1;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-addon-promo__badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 2px 8px;
	border-radius: 100px;
	margin-bottom: 4px;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-addon-promo--amber .ttbm-addon-promo__badge {
	background: #fde68a;
	color: #92400e;
}

#ttbm_meta_box_panel .ttbm-addon-promo--blue .ttbm-addon-promo__badge {
	background: #bfdbfe;
	color: #1e40af;
}

#ttbm_meta_box_panel .ttbm-addon-promo__title {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--ttbm-a-text);
	margin-bottom: 2px;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-addon-promo__desc {
	font-size: 12px;
	color: var(--ttbm-a-muted);
	margin: 0;
	line-height: 1.5;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-addon-promo__btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border-radius: var(--ttbm-a-radius);
	font-size: 12px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background 0.15s ease, transform 0.1s ease;
	white-space: nowrap;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-addon-promo--amber .ttbm-addon-promo__btn {
	background: #f59e0b;
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm-addon-promo--amber .ttbm-addon-promo__btn:hover {
	background: #d97706;
	transform: translateY(-1px);
}

#ttbm_meta_box_panel .ttbm-addon-promo--blue .ttbm-addon-promo__btn {
	background: #3b82f6;
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm-addon-promo--blue .ttbm-addon-promo__btn:hover {
	background: #2563eb;
	transform: translateY(-1px);
}

@media (max-width: 640px) {
	#ttbm_meta_box_panel .ttbm-addon-promo {
		flex-wrap: wrap;
	}
	#ttbm_meta_box_panel .ttbm-addon-promo__btn {
		width: 100%;
		justify-content: center;
	}
}

/* ─── Modals / popups ─── */
#ttbm_meta_box_panel .ttbm_popup .popupMainArea,
#ttbm_meta_box_panel .ttbm-modal-content {
	border-radius: var(--ttbm-a-radius-lg);
	border: 1px solid var(--ttbm-a-border);
	box-shadow: var(--ttbm-a-shadow-lg);
	overflow: hidden;
}

#ttbm_meta_box_panel .popupHeader,
#ttbm_meta_box_panel .ttbm-modal-content .title {
	background: #f8fafc;
	border-bottom: 1px solid var(--ttbm-a-border);
	padding: 16px 20px;
}

#ttbm_meta_box_panel .popupBody,
#ttbm_meta_box_panel .ttbm-modal-content .content {
	padding: 20px;
}

/* ─── Location popup (modern — matches place/category popup) ─── */
#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupMainArea {
	min-width: 0;
	max-width: 520px;
	width: calc(100vw - 32px);
	min-height: 0;
	max-height: min(88vh, 720px);
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupHeader {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 22px;
	background: #fff;
	border-bottom: 1px solid #e2e8f0;
	position: relative;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupHeader h4 {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 700;
	color: #0f2d52;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupHeader h4 i {
	color: var(--ttbm-a-primary, #005a87);
	font-size: 16px;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm-location-popup__title-wrap {
	flex: 1 1 auto;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm-location-popup__success {
	display: none;
	align-items: center;
	gap: 6px;
	margin: 6px 0 0;
	padding: 0;
	font-size: 12px;
	font-weight: 500;
	color: #059669;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm-location-popup__success.is-visible,
#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm_success_info:not(._textSuccess_ml_dNone) {
	display: flex;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm-location-popup__close {
	position: static;
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #64748b;
	font-size: 16px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .ttbm-location-popup__close:hover {
	background: #f1f5f9;
	color: #334155;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupBody {
	flex: 1 1 auto;
	min-height: 0;
	overflow: auto;
	padding: 20px 22px;
	background: #fff;
	max-height: min(70vh, 520px);
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter {
	border-top: 1px solid #e2e8f0;
	padding: 16px 22px;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .ttbm-location-popup__buttons,
#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .buttonGroup {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .ttbm-location-save-error,
#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .ttbm-place-save-error {
	display: none;
	margin: 0 0 10px;
	width: 100%;
	font-size: 12px;
	line-height: 1.4;
	color: var(--ttbm-a-danger, #dc2626);
}

#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .ttbm-location-save-error:not(:empty),
#ttbm_meta_box_panel .ttbm_popup.ttbm-location-popup .popupFooter .ttbm-place-save-error:not(:empty) {
	display: block;
}

#ttbm_meta_box_panel .ttbm-location-popup__btn {
	min-width: 88px;
	min-height: 40px;
	padding: 9px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-location-popup__btn--secondary {
	background: #f1f5f9;
	color: #475569;
}

#ttbm_meta_box_panel .ttbm-location-popup__btn--secondary:hover {
	background: #e2e8f0;
	color: #1e293b;
}

#ttbm_meta_box_panel .ttbm-location-popup__btn--primary {
	background: #005a87;
	color: #fff;
	box-shadow: 0 1px 2px rgba(0, 90, 135, 0.2);
}

#ttbm_meta_box_panel .ttbm-location-popup__btn--primary:hover {
	background: #00486d;
}

#ttbm_meta_box_panel .ttbm-location-popup-fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#ttbm_meta_box_panel .ttbm-location-popup-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#ttbm_meta_box_panel .ttbm-location-popup-label {
	display: block;
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: #64748b;
	line-height: 1.4;
}

#ttbm_meta_box_panel .ttbm-location-popup-required {
	color: #dc2626;
	margin-left: 2px;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm-location-popup-input,
#ttbm_meta_box_panel .ttbm-location-popup-field .formControl {
	width: 100%;
	max-width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #1e293b;
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm-location-popup-input::placeholder {
	color: #94a3b8;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm-location-popup-input:focus,
#ttbm_meta_box_panel .ttbm-location-popup-field .formControl:focus {
	outline: none;
	border-color: #005a87;
	box-shadow: 0 0 0 3px rgba(0, 90, 135, 0.12);
}

#ttbm_meta_box_panel .ttbm-location-popup-field textarea.ttbm-location-popup-input,
#ttbm_meta_box_panel .ttbm-location-popup-field textarea.formControl {
	min-height: 96px;
	resize: vertical;
}

#ttbm_meta_box_panel .ttbm-location-popup-select-wrap {
	position: relative;
}

#ttbm_meta_box_panel .ttbm-location-popup-select-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #64748b;
	border-bottom: 2px solid #64748b;
	transform: translateY(-65%) rotate(45deg);
	pointer-events: none;
}

#ttbm_meta_box_panel .ttbm-location-popup-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 36px;
	cursor: pointer;
}

#ttbm_meta_box_panel .ttbm-location-popup-hint {
	margin: 0;
	font-size: 11px;
	line-height: 1.45;
	color: #94a3b8;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm-location-popup-error,
#ttbm_meta_box_panel .ttbm-location-popup-field .textRequired[data-required] {
	display: none;
	margin: 0;
	font-size: 11px;
	line-height: 1.4;
	color: var(--ttbm-a-danger, #dc2626);
}

#ttbm_meta_box_panel .ttbm-location-popup-image {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm_add_single_image {
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm_add_single_image ._dButton_xs {
	min-height: 40px;
	padding: 9px 16px;
	border: none;
	border-radius: 8px;
	background: #f1f5f9;
	color: #475569;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm_add_single_image ._dButton_xs:hover {
	background: #e2e8f0;
	color: #1e293b;
}

#ttbm_meta_box_panel .ttbm-location-popup-field .ttbm_add_single_image img {
	display: block;
	max-width: 120px;
	max-height: 120px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	object-fit: cover;
}

/* ─── Postbox header ─── */
#ttbm_meta_box_panel .postbox-header {
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	border-radius: var(--ttbm-a-radius) var(--ttbm-a-radius) 0 0;
}

#ttbm_meta_box_panel .postbox-header h2 {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
}

/* ─── Global settings page ─── */
div.ttbm_global_settings.ttbm_configuration {
	max-width: 1280px;
	margin: 24px auto;
	padding-top: 24px;
}

div.ttbm_global_settings .ttbm-setting-field {
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-sm);
	padding: 14px 16px;
	margin-top: 0;
	margin-bottom: -1px;
	background: var(--ttbm-a-surface);
}

div.ttbm_global_settings .ttbm-setting-field:first-of-type {
	border-radius: var(--ttbm-a-radius-sm) var(--ttbm-a-radius-sm) 0 0;
}

div.ttbm_global_settings .ttbm-setting-field:last-of-type {
	border-radius: 0 0 var(--ttbm-a-radius-sm) var(--ttbm-a-radius-sm);
	margin-bottom: 16px;
}

div.ttbm_global_settings .ttbmPanelHeader {
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	border-radius: var(--ttbm-a-radius) var(--ttbm-a-radius) 0 0;
	font-weight: 600;
}

div.ttbm_global_settings .button-primary {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
	border-radius: var(--ttbm-a-radius-sm);
	min-width: 160px;
	font-weight: 600;
}

/* ─── Nested tabs (date config) ─── */
#ttbm_meta_box_panel .ttbm_settings_dates .tabLists {
	padding-left: 10px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .tabLists:not(.ttbm-time-slots-tablists) li,
#ttbm_meta_box_panel .ttbmTabs:not(.ttbm-time-slots-tabs) .tabLists li[data-tabs-target] {
	font-size: 13px;
	padding: 8px 14px;
	border-radius: var(--ttbm-a-radius-sm);
}

#ttbm_meta_box_panel .ttbm_settings_dates .tabsContent:not(.ttbm-time-slots-tab-content),
.ttbm_settings_dates .tabsContent:not(.ttbm-time-slots-tab-content) {
	background: transparent;
	padding: 16px 0 0;
}

/* ─── Tour Time Slots panel (Optional Tour Configuration) ─── */
#ttbm_meta_box_panel .ttbm-time-slots-panel {
	--ttbm-slot-primary: #2271b1;
	--ttbm-slot-primary-soft: #eff6ff;
	--ttbm-slot-border: #e2e8f0;
	--ttbm-slot-bg: #f8fafc;
	--ttbm-slot-card-bg: #ffffff;
	--ttbm-slot-text: #0f172a;
	--ttbm-slot-muted: #64748b;
	--ttbm-slot-danger: #ef4444;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-time-slots-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}

#ttbm_meta_box_panel .ttbm-time-slots-header__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 18px;
	font-weight: 600;
	color: var(--ttbm-slot-text);
}

#ttbm_meta_box_panel .ttbm-time-slots-header__title i {
	color: var(--ttbm-slot-primary);
	font-size: 18px;
}

#ttbm_meta_box_panel .ttbm-time-slots-header__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm-time-slots-header__toggle-label {
	font-size: 14px;
	font-weight: 500;
	color: var(--ttbm-slot-muted);
}

#ttbm_meta_box_panel .ttbm-time-slots-header .roundSwitchLabel input:checked + .roundSwitch {
	background: var(--ttbm-slot-primary);
}

#ttbm_meta_box_panel .ttbm-time-slots-tabs {
	background: var(--ttbm-slot-bg);
	border: 1px solid var(--ttbm-slot-border);
	border-radius: 14px;
	overflow: hidden;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-end;
	gap: 0;
	margin: 0;
	padding: 10px;
	list-style: none;
	background: #e4edf5;
	border: 0;
	border-bottom: none;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li {
	flex: 0 0 auto;
	display: block;
	position: relative;
	float: none;
	margin: 0;
	padding: 10px 16px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--ttbm-slot-muted);
	text-align: center;
	white-space: nowrap;
	border: 1px solid transparent;
	border-bottom: 0;
	border-radius: 10px 10px 0 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	cursor: pointer;
	transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
	-webkit-justify-content: initial;
	justify-content: initial;
	-webkit-align-items: initial;
	align-items: initial;
	-webkit-flex-wrap: initial;
	flex-wrap: initial;
}

/* Reset global [data-tabs-target] tab styles inside time-slots bar */
#ttbm_meta_box_panel .ttbm-time-slots-tabs .ttbm-time-slots-tablists [data-tabs-target]:hover,
#ttbm_meta_box_panel .ttbm-time-slots-tabs .ttbm-time-slots-tablists [data-tabs-target].active {
	background-color: transparent;
	color: inherit;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li::after,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li::after {
	display: none;
	content: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li:hover,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li:hover {
	color: var(--ttbm-slot-primary);
	background: rgba(255, 255, 255, 0.65);
	border-color: transparent;
	transform: none;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li.active,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li.active {
	color: var(--ttbm-slot-primary);
	background: #fff;
	border-color: var(--ttbm-slot-border);
	font-weight: 600;
	margin-bottom: -1px;
	z-index: 2;
	box-shadow: none;
	transform: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li.active:hover,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li.active:hover {
	color: var(--ttbm-slot-primary);
	background: #fff;
	border-color: var(--ttbm-slot-border);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"],
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"] {
	margin-left: 8px;
	padding-left: 18px;
	color: #16a34a;
	border-left: 1px solid #cbd5e1;
	border-radius: 10px 10px 0 0;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"]::before,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"]::before {
	content: "\f073";
	font-family: "Font Awesome 5 Free";
	font-weight: 400;
	margin-right: 6px;
	color: #22c55e;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"].active,
#ttbm_meta_box_panel .ttbm_settings .ttbm-time-slots-tabs .ttbm-time-slots-tablists li[data-tabs-target="#ttbm_sp_time_slot"].active {
	color: #16a34a;
}

/* Beat legacy date-tab rules from ttbm_plugin_global.css / ttbm_admin.css */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs.ttbmTabs .tabLists.ttbm-time-slots-tablists {
	border-bottom: 0;
	margin-left: 0;
	padding-left: 20px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs.ttbmTabs .tabLists.ttbm-time-slots-tablists li,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs.ttbmTabs .tabLists.ttbm-time-slots-tablists li:hover,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs.ttbmTabs .tabLists.ttbm-time-slots-tablists li.active {
	font-weight: 500;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-time-slots-tabs .ttbm-time-slots-tab-content.tabsContent {
	background: #fff;
	padding: 20px;
}

#ttbm_meta_box_panel .ttbm-time-slots-tab-content {
	background: #fff;
	padding: 20px;
	border-top: 1px solid var(--ttbm-slot-border);
}

#ttbm_meta_box_panel .ttbm-time-slots-tab-panel {
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm-time-slots-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-time-slot-card {
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-time-slot-card.ttbm_remove_area {
	position: static;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(160px, 220px) auto;
	grid-template-rows: auto 44px;
	align-items: center;
	column-gap: 14px;
	row-gap: 6px;
	padding: 16px 18px;
	background: var(--ttbm-slot-card-bg);
	border: 1px solid var(--ttbm-slot-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field {
	display: contents;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field--name .ttbm-time-slot-field-label {
	grid-column: 1;
	grid-row: 1;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field--name .formControl {
	grid-column: 1;
	grid-row: 2;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field--time .ttbm-time-slot-field-label {
	grid-column: 2;
	grid-row: 1;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field--time .ttbm-time-slot-time-wrap {
	grid-column: 2;
	grid-row: 2;
}

#ttbm_meta_box_panel .ttbm-time-slot-field-label {
	display: block;
	margin: 0 0 6px;
	min-height: 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ttbm-slot-muted);
	line-height: 1.2;
}

#ttbm_meta_box_panel .ttbm-time-slot-time-field {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field .formControl,
#ttbm_meta_box_panel .ttbm-time-slot-time-wrap .formControl,
#ttbm_meta_box_panel .ttbm-time-slot-time-field .formControl {
	width: 100%;
	height: 44px;
	min-height: 44px;
	max-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--ttbm-slot-border);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	line-height: normal;
	color: var(--ttbm-slot-text);
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field--time .formControl {
	padding-right: 38px;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__field .formControl:focus {
	outline: none;
	border-color: var(--ttbm-slot-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

#ttbm_meta_box_panel .ttbm-time-slot-time-wrap {
	display: block;
	position: relative;
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-time-slot-time-wrap::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 15'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}

#ttbm_meta_box_panel .ttbm-time-slot-time-wrap.ttbm-datetime-clear-wrap::after,
#ttbm_meta_box_panel .ttbm-time-slot-time-wrap.ttbm-input-icon--has-clear::after {
	display: none;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__actions {
	grid-column: 3;
	grid-row: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	height: 44px;
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__delete,
#ttbm_meta_box_panel .ttbm-time-slot-card__sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	box-sizing: border-box;
	opacity: 1;
	text-transform: none;
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__delete {
	border: 1px solid #fecaca;
	background: #fff;
	color: var(--ttbm-slot-danger);
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__sort {
	border: 1px solid var(--ttbm-slot-border);
	background: #fff;
	color: #64748b;
	cursor: grab;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__sort:hover,
#ttbm_meta_box_panel .ttbm-time-slot-card__sort:focus {
	background: var(--ttbm-slot-primary-soft);
	border-color: #bfdbfe;
	color: var(--ttbm-slot-primary);
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__delete:hover,
#ttbm_meta_box_panel .ttbm-time-slot-card__delete:focus {
	background: #fef2f2;
	border-color: #fca5a5;
	color: #dc2626;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-time-slot-card__delete span,
#ttbm_meta_box_panel .ttbm-time-slot-card__sort span {
	color: inherit;
}

#ttbm_meta_box_panel .ttbm-time-slots-add-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 14px;
	padding: 14px 16px;
	border: 2px dashed #9ec2e0;
	border-radius: 12px;
	background: #fff;
	color: var(--ttbm-slot-primary);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-time-slots-add-btn:hover,
#ttbm_meta_box_panel .ttbm-time-slots-add-btn:focus {
	background: #f0f6fc;
	border-color: #72aee6;
	color: var(--ttbm-slot-primary);
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-time-slots-add-btn .fas {
	color: inherit;
}

#ttbm_meta_box_panel .ttbm-time-slots-tab-pane[data-tabs="#ttbm_sp_time_slot"] {
	padding: 8px 0 0;
}

#ttbm_meta_box_panel .ttbm-time-slots-tab-pane[data-tabs="#ttbm_sp_time_slot"] .ttbm_special_on_dates_table {
	border-radius: 12px;
	overflow: hidden;
}

@media (max-width: 900px) {
	#ttbm_meta_box_panel .ttbm-time-slot-card__inner {
		grid-template-columns: 1fr auto;
		grid-template-rows: auto 44px auto 44px;
	}

	#ttbm_meta_box_panel .ttbm-time-slot-card__field--name .ttbm-time-slot-field-label {
		grid-column: 1;
		grid-row: 1;
	}

	#ttbm_meta_box_panel .ttbm-time-slot-card__field--name .formControl {
		grid-column: 1;
		grid-row: 2;
	}

	#ttbm_meta_box_panel .ttbm-time-slot-card__field--time .ttbm-time-slot-field-label {
		grid-column: 1;
		grid-row: 3;
	}

	#ttbm_meta_box_panel .ttbm-time-slot-card__field--time .ttbm-time-slot-time-wrap {
		grid-column: 1;
		grid-row: 4;
	}

	#ttbm_meta_box_panel .ttbm-time-slot-card__actions {
		grid-column: 2;
		grid-row: 2 / 5;
		flex-direction: column;
		height: auto;
		align-self: center;
	}
}

/* ─── Essential Date Configuration (mockup-style) ─── */
#ttbm_meta_box_panel .ttbm_settings_dates {
	--ttbm-date-primary: #2271b1;
	--ttbm-date-primary-hover: #135e96;
	--ttbm-date-primary-soft: #eef0ff;
	--ttbm-date-panel-bg: #f8f9fc;
	--ttbm-date-border: #e8eaed;
	--ttbm-date-text: #1e293b;
	--ttbm-date-muted: #64748b;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-tour-type-selector__label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 20px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
	color: #0f172a;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-tour-type-selector__label i {
	color: #2563eb;
	font-size: 18px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	overflow: visible;
	padding-bottom: 10px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-tour-type-selector {
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: 16px;
	row-gap: 4px;
	text-align: left;
	width: 100%;
	min-height: 96px;
	padding: 18px 44px 18px 18px;
	margin: 0;
	border: 1px solid var(--ttbm-date-border);
	border-radius: 14px;
	background: #fff;
	color: var(--ttbm-date-text);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	cursor: pointer;
	position: relative;
	transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

/* Override global .ttbm_style button:focus / button:hover (theme fill + opacity) */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:hover,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:focus {
	opacity: 1;
	text-decoration: none;
	outline: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):hover,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):focus {
	background: #fff;
	color: var(--ttbm-date-text);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):focus {
	border-color: var(--ttbm-date-border);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):hover {
	border-color: #a5b4fc;
	box-shadow: 0 4px 18px rgba(99, 102, 241, 0.12);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:focus-visible {
	outline: 2px solid var(--ttbm-date-primary);
	outline-offset: 2px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active:hover,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active:focus {
	background: var(--ttbm-date-primary);
	border-color: var(--ttbm-date-primary);
	color: #fff;
	opacity: 1;
	box-shadow: 0 10px 28px rgba(91, 93, 245, 0.28);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:hover span,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:focus span {
	color: inherit;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):hover .ttbm-date-type-card__desc,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):focus .ttbm-date-type-card__desc {
	color: var(--ttbm-date-muted);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):hover .ttbm-date-type-card__icon,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card:not(.active):focus .ttbm-date-type-card__icon {
	color: var(--ttbm-date-primary);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card__icon {
	grid-column: 1;
	grid-row: 1 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	font-size: 22px;
	color: var(--ttbm-date-primary);
	flex-shrink: 0;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active .ttbm-date-type-card__icon {
	color: #fff;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card__title {
	grid-column: 2;
	grid-row: 1;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card__desc {
	grid-column: 2;
	grid-row: 2;
	font-size: 13px;
	line-height: 1.5;
	color: var(--ttbm-date-muted);
	margin: 0;
	max-width: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active .ttbm-date-type-card__desc {
	color: rgba(255, 255, 255, 0.88);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card__check {
	display: none;
	position: absolute;
	top: 14px;
	right: 14px;
	width: 22px;
	height: 22px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.22);
	font-size: 11px;
	color: #fff;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active .ttbm-date-type-card__check {
	display: inline-flex;
}

/* Active card — downward diamond pointer */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-card.active::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -9px;
	width: 18px;
	height: 18px;
	background: var(--ttbm-date-primary);
	transform: translateX(-50%) rotate(45deg);
	border-radius: 2px;
	box-shadow: 3px 3px 6px rgba(91, 93, 245, 0.2);
	pointer-events: none;
	z-index: 3;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-target-panel.mActive .ttbm-date-config-panel {
	position: relative;
	z-index: 1;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-tour-type-selector + .ttbm-date-target-panel {
	margin-top: 10px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-config-panel {
	margin-top: 0;
	padding: 28px;
	background: var(--ttbm-date-panel-bg);
	border: 1px solid var(--ttbm-date-border);
	border-radius: 16px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	color: var(--ttbm-date-text);
	margin: 0 0 10px;
	text-transform: uppercase;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-panel-error {
	margin: 0 0 16px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-field-error .formControl,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-field-error input[type="time"],
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-field-error .ttbm-input-icon {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.12);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-date-card.ttbm-date-field-error,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-date-card__field.ttbm-date-field-error {
	border-color: #dc2626;
}

#ttbm_meta_box_panel .ttbm_settings_pricing .ttbm-ticket-panel-error {
	margin: 12px 0 0;
}

#ttbm_meta_box_panel .ttbm_settings_pricing .ttbm-ticket-field-error .formControl {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15) !important;
}

#ttbm_meta_box_panel .ttbm_item_insert .ttbm-hotel-field-error .formControl,
#ttbm_meta_box_panel .ttbm_item_insert input.formControl.is-invalid,
#ttbm_meta_box_panel #ttbm_location_select.is-invalid,
#ttbm_meta_box_panel #ttbm_hotel_map_location.is-invalid {
	border-color: #dc2626 !important;
	box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.15) !important;
}

#ttbm_meta_box_panel .ttbm_item_insert tr:has(.ttbm-hotel-field-error) {
	background: rgba(220, 38, 38, 0.04);
}

#ttbm_meta_box_panel .ttbm_settings_pricing tr:has(.ttbm-ticket-field-error) {
	background: rgba(220, 38, 38, 0.04);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-label--sub {
	margin-top: 14px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-repeat-pattern {
	margin-bottom: 28px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-row,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-segment {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	padding: 4px;
	background: #f1f0ee;
	border-radius: 10px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 8px 16px;
	margin: 0;
	border: none;
	border-radius: 8px;
	background: transparent;
	color: #57534e;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn:hover {
	background: rgba(255, 255, 255, 0.6);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn.active {
	background: #2271B1;
	color: #fff;
	box-shadow: 0 2px 8px rgba(30, 58, 138, 0.3);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn.active:hover {
	background: #2271B1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn__check {
	display: none;
	font-size: 11px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn.active .ttbm-pill-btn__check {
	display: inline-flex;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-custom-wrap {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 0px 12px 0px 0px;
	border: 1px solid var(--ttbm-date-border);
	border-radius: 10px;
	background: #fff;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-custom-wrap.dNone {
	display: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-custom-input {
	min-height: 34px;
	width: 44px;
	min-width: 44px;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 14px;
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-custom-suffix {
	font-size: 13px;
	color: var(--ttbm-date-muted, #6b7280);
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-pill-btn__label {
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-datetime-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin-bottom: 28px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-datetime-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* ─── Fixed dates (Date Management grid) ─── */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-dates-panel {
	padding-top: 22px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-dates-header {
	margin-bottom: 20px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-dates-header__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: var(--ttbm-date-text);
	line-height: 1.3;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-dates-header__title i {
	color: var(--ttbm-date-primary);
	font-size: 16px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px 24px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-field-label {
	margin-bottom: 8px;
	font-size: 12px;
	font-weight: 600;
	color: #475569;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon .formControl {
	min-height: 46px;
	padding: 11px 40px 11px 44px;
	border-radius: 8px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--trail-chevron::after,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--trail-reset::after {
	content: "";
	position: absolute;
	right: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--trail-chevron::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--trail-reset::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='1 4 1 10 7 10'/%3E%3Cpath d='M3.51 15a9 9 0 1 0 2.13-9.36L1 10'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--time-end::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='12' r='8'/%3E%3Cpolyline points='11 8 11 12 14 14'/%3E%3Cline x1='18' y1='8' x2='18' y2='14'/%3E%3Cline x1='15' y1='11' x2='21' y2='11'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-field .ttbm-input-icon--time-reg::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='12' r='8'/%3E%3Cpolyline points='11 8 11 12 14 14'/%3E%3Crect x='16' y='9' width='5' height='4' rx='1'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon {
	display: block;
	position: relative;
	margin: 0;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon::before {
	content: "";
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	pointer-events: none;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon--date::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon--time::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b5df5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpolyline points='12 7 12 12 15 15'/%3E%3C/svg%3E");
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon .formControl {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px 12px 44px;
	border: 1px solid var(--ttbm-date-border);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
	color: var(--ttbm-date-text);
	box-sizing: border-box;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-input-icon .formControl:focus {
	border-color: var(--ttbm-date-primary);
	box-shadow: 0 0 0 3px rgba(91, 93, 245, 0.15);
	outline: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap {
	position: relative;
	display: block;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap .ttbm-input-icon,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap .ttbm-time-slot-time-field {
	position: relative;
	z-index: 1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap .formControl {
	padding-right: 40px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-clear {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #94a3b8;
	cursor: pointer;
	line-height: 1;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-clear:hover,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-clear:focus {
	color: #ef4444;
	background: #fef2f2;
	outline: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-field-clear i {
	font-size: 13px;
	line-height: 1;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-datetime-clear-wrap.ttbm-time-slot-time-wrap::after {
	display: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn .ttbm-repeat-end-date-field,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn .ttbm-datetime-clear-wrap.ttbm-repeat-end-date-field {
	display: inline-flex;
	align-items: center;
	width: auto;
	min-width: 170px;
	max-width: 220px;
	flex: 0 0 auto;
	vertical-align: middle;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn.input_active {
	flex-wrap: nowrap;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn__label {
	white-space: nowrap;
	flex-shrink: 0;
}

/* ─── Particular dates (Date Management cards) ─── */
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-panel {
	padding-top: 22px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-header__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 16px;
	font-weight: 600;
	color: var(--ttbm-date-text);
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-header__title i {
	color: var(--ttbm-date-primary);
	font-size: 16px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-header__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #eef0ff;
	color: #5b5df5;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-particular-dates-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-bottom: 4px;
}

#ttbm_meta_box_panel .ttbm-particular-date-card {
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-particular-date-card.ttbm_remove_area {
	position: static;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__inner {
	display: grid;
	grid-template-columns: 24px minmax(0, 1.1fr) minmax(0, 0.9fr) minmax(0, 1.1fr) auto;
	grid-template-rows: auto 48px;
	align-items: center;
	column-gap: 14px;
	row-gap: 6px;
	padding: 16px 18px;
	background: #f8f9fc;
	border: 1px solid var(--ttbm-date-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field {
	display: contents;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__drag {
	grid-column: 1;
	grid-row: 1 / 3;
	align-self: center;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #94a3b8;
	cursor: grab;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__drag-icon {
	display: block;
	width: 12px;
	height: 18px;
	background:
		radial-gradient(circle, #94a3b8 2px, transparent 2.5px) 0 0 / 12px 6px repeat-y,
		radial-gradient(circle, #94a3b8 2px, transparent 2.5px) 6px 0 / 12px 6px repeat-y;
}

#ttbm_meta_box_panel .ttbm-particular-date-field-label {
	display: block;
	margin: 0;
	min-height: 14px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ttbm-date-muted);
	line-height: 1.2;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-particular-date-field-label {
	grid-column: 2;
	grid-row: 1;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-input-icon,
#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-datetime-clear-wrap {
	grid-column: 2;
	grid-row: 2;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-particular-date-field-label {
	grid-column: 3;
	grid-row: 1;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-input-icon,
#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-datetime-clear-wrap {
	grid-column: 3;
	grid-row: 2;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-particular-date-field-label {
	grid-column: 4;
	grid-row: 1;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-input-icon,
#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-datetime-clear-wrap {
	grid-column: 4;
	grid-row: 2;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field .ttbm-input-icon .formControl {
	min-height: 44px;
	height: 44px;
	padding: 10px 14px 10px 44px;
	border-radius: 10px;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__field .ttbm-input-icon--date .formControl.date_type {
	background-image: none;
	-webkit-appearance: none;
	appearance: none;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__actions {
	grid-column: 5;
	grid-row: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	height: 44px;
	margin: 0;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__delete,
#ttbm_meta_box_panel .ttbm-particular-date-card__sort {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	margin: 0;
	padding: 0;
	border-radius: 10px;
	box-sizing: border-box;
	opacity: 1;
	text-transform: none;
	overflow: visible;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__delete {
	border: 1px solid #fecaca;
	background: #fff;
	color: #ef4444;
	cursor: pointer;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__sort {
	border: 1px solid var(--ttbm-date-border);
	background: #fff;
	color: #64748b;
	cursor: grab;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__delete:hover,
#ttbm_meta_box_panel .ttbm-particular-date-card__delete:focus {
	background: #fef2f2;
	border-color: #fca5a5;
	color: #dc2626;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__sort:hover,
#ttbm_meta_box_panel .ttbm-particular-date-card__sort:focus {
	background: #eef0ff;
	border-color: #c7d2fe;
	color: #5b5df5;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-particular-date-card__delete span,
#ttbm_meta_box_panel .ttbm-particular-date-card__sort span {
	color: inherit;
}

#ttbm_meta_box_panel .ttbm-particular-dates-add-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	margin-top: 14px;
	padding: 14px 16px;
	border: 2px dashed #9ec2e0;
	border-radius: 12px;
	background: #fff;
	color: #2271b1;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, border-color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-particular-dates-add-btn:hover,
#ttbm_meta_box_panel .ttbm-particular-dates-add-btn:focus {
	background: #f0f6fc;
	border-color: #72aee6;
	color: #2271b1;
	opacity: 1;
}

#ttbm_meta_box_panel .ttbm-particular-dates-add-btn i {
	color: inherit;
	margin: 0;
}

@media (max-width: 1100px) {
	#ttbm_meta_box_panel .ttbm-particular-date-card__inner {
		grid-template-columns: 24px 1fr 1fr;
		grid-template-rows: auto 48px auto 48px auto 48px;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__drag {
		grid-row: 1 / 7;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-particular-date-field-label {
		grid-column: 2 / 4;
		grid-row: 1;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-input-icon,
	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-date .ttbm-datetime-clear-wrap {
		grid-column: 2 / 4;
		grid-row: 2;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-particular-date-field-label {
		grid-column: 2 / 4;
		grid-row: 3;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-input-icon,
	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkin-time .ttbm-datetime-clear-wrap {
		grid-column: 2 / 4;
		grid-row: 4;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-particular-date-field-label {
		grid-column: 2 / 4;
		grid-row: 5;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-input-icon,
	#ttbm_meta_box_panel .ttbm-particular-date-card__field--checkout-date .ttbm-datetime-clear-wrap {
		grid-column: 2 / 4;
		grid-row: 6;
	}

	#ttbm_meta_box_panel .ttbm-particular-date-card__actions {
		grid-column: 3;
		grid-row: 2 / 7;
		flex-direction: column;
		height: auto;
		align-self: center;
	}
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-repeat-end {
	padding-top: 4px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	min-height: 40px;
	padding: 6px 18px 6px 0;
	margin: 0;
	border: 0;
	background: transparent;
	color: var(--ttbm-date-text);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn::before {
	content: "";
	width: 20px;
	height: 20px;
	border: 2px solid #cbd5e1;
	border-radius: 50%;
	flex-shrink: 0;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn.active::before {
	border-color: var(--ttbm-date-primary);
	box-shadow: inset 0 0 0 5px var(--ttbm-date-primary);
	background: #fff;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn__input {
	min-height: 40px;
	min-width: 120px;
	max-width: 180px;
	width: 100%;
	padding: 8px 12px;
	border: 1px solid var(--ttbm-date-border);
	border-radius: 10px;
	background: #fff;
	font-size: 14px;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn .ttbm-repeat-end-date-field .ttbm-radio-btn__input,
#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn .ttbm-datetime-clear-wrap.ttbm-repeat-end-date-field .formControl {
	min-width: 0;
	max-width: none;
	width: 100%;
}

#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-radio-btn.active .ttbm-radio-btn__input:focus {
	border-color: var(--ttbm-date-primary);
	box-shadow: 0 0 0 3px rgba(91, 93, 245, 0.15);
	outline: none;
}

@media (max-width: 1100px) {
	#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-type-cards {
		grid-template-columns: 1fr;
	}

	#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-datetime-grid,
	#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-date-datetime-grid--three,
	#ttbm_meta_box_panel .ttbm_settings_dates .ttbm-fixed-date-grid {
		grid-template-columns: 1fr;
	}
}

/* ─── Map / OSM area ─── */
#ttbm_meta_box_panel .ttbm-location-select-wrap {
	flex: 1 1 55%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 6px;
}
#ttbm_meta_box_panel .ttbm-location-select-wrap #ttbm_location_select {
	width: 100%;
	max-width: 100%;
}
#ttbm_meta_box_panel .tabsItem section .label p.ttbm-location-hint,
#ttbm_meta_box_panel p.ttbm-location-hint {
	font-size: 10px !important;
}
#ttbm_meta_box_panel .ttbm-location-hint {
	margin: 0;
	width: 100%;
	color: #64748b;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: 4px;
	white-space: nowrap;
	text-align: right;
}
#ttbm_meta_box_panel .ttbm-location-add-link {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	padding: 2px 8px;
	margin: 0;
	border: 1px solid #ddd;
	border-radius: 4px;
	background: #f1f5f9;
	font-size: 10px;
	font-weight: 500;
	font-family: inherit;
	color: var(--mpl-primary, #2271b1);
	cursor: pointer;
	text-decoration: none;
	line-height: 1;
	height: auto;
	vertical-align: middle;
	transition: background 0.15s ease;
}
#ttbm_meta_box_panel .ttbm-location-add-link:hover {
	background: #e2e8f0;
	text-decoration: none;
}
#ttbm_meta_box_panel .auto-search-wrapper.loupe input,
#ttbm_meta_box_panel #ttbm_osmap_location {
	border-radius: var(--ttbm-a-radius-sm);
	border: 1px solid var(--ttbm-a-border-strong);
}

@media only screen and (min-width: 10px) {
	#ttbm_meta_box_panel .auto-search-wrapper.loupe::before {
		margin: 15px 0;
	}
}

#ttbm_meta_box_panel #map_latitude,
#ttbm_meta_box_panel #map_longitude {
	border-radius: var(--ttbm-a-radius-sm);
	border: 1px solid var(--ttbm-a-border-strong);
	padding: 8px 10px;
	margin-left: 6px;
}

/* ─── Shortcode boxes ─── */
#ttbm_meta_box_panel .ttbm_promotional_shortcode {
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius);
	padding: 16px;
	margin-bottom: 12px;
}

#ttbm_meta_box_panel .ttbm_promotional_shortcode .ttbm_shortcode_box {
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-sm);
	background: #f8fafc;
}

#ttbm_meta_box_panel .ttbm_promotional_shortcode .ttbm_copy_btn {
	background: var(--ttbm-a-primary);
	border-radius: var(--ttbm-a-radius-sm);
	font-weight: 600;
}

/* ─── Responsive ─── */
@media (max-width: 1400px) {
	#ttbm_meta_box_panel .tabsItem .col-left,
	#ttbm_meta_box_panel .tabsItem .col-right,
	#ttbm_meta_box_panel .ttbm-general-info-card__row {
		flex-direction: column;
	}

	#ttbm_meta_box_panel .ttbm-general-info-card__col {
		width: 100%;
	}

	#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-details-section__row {
		flex-direction: column;
		gap: 12px;
	}

	#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--inline .ttbm-gen-field__inline-row,
	#ttbm_meta_box_panel .ttbm-general-info-card:not(.ttbm-hotel-details-card) .ttbm-gen-field--duration .ttbm-gen-field__inline-row {
		--ttbm-gen-inline-label-w: 112px;
		--ttbm-gen-inline-toggle-w: 52px;
		--ttbm-gen-inline-gap: 12px;
	}

	#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-gen-field--inline .ttbm-gen-field__inline-row {
		grid-template-columns: 108px 44px minmax(0, 1fr);
	}

	#ttbm_meta_box_panel .ttbm-hotel-details-card .ttbm-hotel-location-controls {
		width: 100%;
	}

	#ttbm_meta_box_panel .tabsContent,
	#ttbm_content.ttbm_configuration .tabsContent {
		padding: 20px;
	}
}

@media (max-width: 782px) {
	#ttbm_meta_box_panel .tabsItem > h2,
	#ttbm_content.ttbm_configuration .tabsItem > h2 {
		font-size: 22px;
	}

	#ttbm_meta_box_panel .tabsItem section .label {
		flex-direction: column;
		align-items: stretch;
	}

	#ttbm_meta_box_panel .tabsItem section .label ._dFlex_alignCenter_justifyBetween,
	#ttbm_meta_box_panel .tabsItem section .label ._dFlex_alignCenter_justfyBetween {
		justify-content: flex-start;
		flex-wrap: wrap;
	}

	#ttbm_meta_box_panel .ttbm-location-select-wrap {
		align-items: stretch;
	}

	#ttbm_meta_box_panel .ttbm-location-hint {
		justify-content: flex-start;
		text-align: left;
		white-space: normal;
		flex-wrap: wrap;
	}
}

/* ─── Misc polish ─── */
#ttbm_meta_box_panel .textRequired,
#ttbm_content.ttbm_configuration .textRequired {
	color: var(--ttbm-a-danger);
	font-weight: 600;
}

#ttbm_meta_box_panel code,
#ttbm_content.ttbm_configuration code {
	display: inline-block;
	padding: 6px 12px;
	margin: 10px 0px;
	font-size: 10px;
	line-height: 1.5;
	background: #f1f5f9;
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-sm);
	color: var(--ttbm-a-text-secondary);
}

#ttbm_meta_box_panel .divider {
	height: 1px;
	background: var(--ttbm-a-border);
	margin: 24px 0;
	border: 0;
}

/* ─── Tooltip overrides (fix uppercase / letter-spacing / line-height) ─── */
#ttbm_meta_box_panel .tool-tips {
	color: #94a3b8;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 6px;
	font-size: 13px;
	cursor: help;
	vertical-align: middle;
	transition: color 0.2s ease;
	flex-shrink: 0;
}

#ttbm_meta_box_panel .tool-tips:hover {
	color: var(--ttbm-a-primary);
}

#ttbm_meta_box_panel .tool-tips span {
	position: absolute !important;
	z-index: 99999 !important;
	bottom: calc(100% + 10px) !important;
	left: 50% !important;
	transform: translateX(-50%) translateY(6px) !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;

	/* Typography — force off all WP admin overrides */
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-align: left !important;
	white-space: normal !important;
	word-break: normal !important;

	/* Appearance */
	background: #1e293b !important;
	color: #e2e8f0 !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 8px !important;
	padding: 10px 13px !important;
	width: max-content !important;
	max-width: 260px !important;
	min-width: 120px !important;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.22), 0 2px 8px rgba(15, 23, 42, 0.12) !important;

	transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease !important;
}

#ttbm_meta_box_panel .tool-tips span::after {
	content: "" !important;
	position: absolute !important;
	top: 100% !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	border: 6px solid transparent !important;
	border-top-color: #1e293b !important;
	margin-left: 0 !important;
}

#ttbm_meta_box_panel .tool-tips:hover span {
	visibility: visible !important;
	opacity: 1 !important;
	transform: translateX(-50%) translateY(0) !important;
}

/* ─── Plugin settings page (Tour → Settings) ─── */
body.ttbm_settings_page {
	background: var(--ttbm-a-bg);
	font-family: var(--ttbm-a-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
}

body.ttbm_settings_page .ttbm_settings_panel_header {
	background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
	border-radius: var(--ttbm-a-radius) var(--ttbm-a-radius) 0 0;
	font-size: 22px;
	font-weight: 600;
	padding: 16px 20px;
}

body.ttbm_settings_page .ttbm_settings_panel .nav-tab-wrapper {
	background: var(--ttbm-a-surface);
	border: 1px solid var(--ttbm-a-border);
	border-radius: var(--ttbm-a-radius-sm);
	padding: 8px;
	gap: 6px;
}

body.ttbm_settings_page .ttbm_settings_panel .nav-tab-wrapper .nav-tab {
	border: 1px solid transparent;
	border-radius: var(--ttbm-a-radius-sm);
	font-size: 13px;
	font-weight: 500;
	padding: 8px 14px;
	margin: 0;
}

body.ttbm_settings_page .ttbm_settings_panel .nav-tab-wrapper .nav-tab.nav-tab-active,
body.ttbm_settings_page .ttbm_settings_panel .nav-tab-wrapper .nav-tab:hover {
	background: var(--ttbm-a-primary);
	border-color: var(--ttbm-a-primary);
	color: #fff;
}

body.ttbm_settings_page .ttbm_settings_panel .metabox-holder {
	border: 1px solid var(--ttbm-a-border);
	border-radius: 0 0 var(--ttbm-a-radius) var(--ttbm-a-radius);
	background: var(--ttbm-a-surface);
	padding: 24px;
}

body.ttbm_settings_page .ttbm_settings_panel .metabox-holder h2 {
	font-size: 20px;
	font-weight: 600;
	color: var(--ttbm-a-text);
	background: transparent;
	padding: 0 0 16px;
	border-bottom: 1px solid var(--ttbm-a-border);
	margin-bottom: 20px;
}

body.ttbm_settings_page .ttbm_settings_panel .metabox-holder table tr:nth-child(2n) {
	background: #fafbfc;
}

body.ttbm_settings_page .ttbm_settings_panel .metabox-holder table th,
body.ttbm_settings_page .ttbm_settings_panel .metabox-holder table td {
	padding: 14px 16px;
	border-color: var(--ttbm-a-border);
	font-size: 14px;
}

body.ttbm_settings_page .ttbm_settings_panel p.submit input {
	border-radius: var(--ttbm-a-radius-sm);
	font-weight: 600;
	padding: 8px 24px;
}

/* ─── Admin jQuery UI datepicker (match modern backend sections) ─── */
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div.ui-datepicker,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div.ui-datepicker,
body.ttbm_settings_page #ui-datepicker-div.ui-datepicker,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div.ui-datepicker,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div.ui-datepicker,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div.ui-datepicker,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div.ui-datepicker {
	--ttbm-dp-primary: #2271b1;
	--ttbm-dp-primary-soft: #eff6ff;
	--ttbm-dp-border: #e2e8f0;
	--ttbm-dp-text: #0f172a;
	--ttbm-dp-muted: #64748b;
	width: 304px;
	padding: 14px;
	margin-top: 6px;
	border: 1px solid var(--ttbm-dp-border);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
	font-family: var(--ttbm-a-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
	font-size: 13px;
	z-index: 1000000 !important;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-header,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-header,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-header,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-header,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-header,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-header,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-header {
	background: #e4edf5;
	background-image: none;
	border: 0;
	border-radius: 10px;
	padding: 10px 12px;
	margin-bottom: 10px;
	position: relative;
	display: block;
	color: var(--ttbm-dp-text);
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-title,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-title,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-title,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-title,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-title,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-title,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-title {
	background: transparent;
	background-image: none;
	color: var(--ttbm-dp-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 32px;
	margin: 0;
	display: block;
	text-align: center;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-title select,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-title select,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-title select,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-title select,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-title select,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-title select,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-title select {
	min-width: auto;
	height: 32px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ttbm-dp-text);
	padding: 0 10px;
	margin: 0 4px;
	border: 1px solid var(--ttbm-dp-border);
	border-radius: 8px;
	background: #fff;
	text-align: left;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next {
	top: 10px;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid var(--ttbm-dp-border);
	box-shadow: none;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev {
	left: 10px;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next {
	right: 10px;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next:focus,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next:focus,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev:hover,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev:focus,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next:hover,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next:focus,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next:focus,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next:focus,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next:focus,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev:hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev:focus,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next:hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next:focus {
	background: var(--ttbm-dp-primary);
	border-color: var(--ttbm-dp-primary);
	box-shadow: none;
	outline: none;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-header .ui-state-hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-header .ui-state-hover {
	background-color: var(--ttbm-dp-primary);
	background-image: none;
	border-color: var(--ttbm-dp-primary);
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next span,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next span,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev span,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next span,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next span,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next span,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next span,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-header .ui-icon,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev span,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next span {
	display: none;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-prev::before,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-header a.ui-datepicker-next::before {
	display: none;
	content: none;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next::after {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	line-height: 30px;
	text-align: center;
	font-size: 17px;
	color: var(--ttbm-dp-muted);
	font-family: Arial, sans-serif;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev::after {
	content: "\2039";
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next::after {
	content: "\203A";
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-next:hover::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-next:hover::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-next:hover::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-next:hover::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-next:hover::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-next:hover::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-prev:hover::after,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-next:hover::after {
	color: #fff;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div table.ui-datepicker-calendar,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div table.ui-datepicker-calendar,
body.ttbm_settings_page #ui-datepicker-div table.ui-datepicker-calendar,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div table.ui-datepicker-calendar,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div table.ui-datepicker-calendar,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div table.ui-datepicker-calendar {
	width: 100%;
	border-collapse: collapse;
	margin: 0;
	font-size: 13px;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div table.ui-datepicker-calendar th,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div table.ui-datepicker-calendar th,
body.ttbm_settings_page #ui-datepicker-div table.ui-datepicker-calendar th,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div table.ui-datepicker-calendar th,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div table.ui-datepicker-calendar th,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div table.ui-datepicker-calendar th,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div table.ui-datepicker-calendar th {
	padding: 8px 0;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--ttbm-dp-muted);
	background: transparent;
	border: 0;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div.ui-datepicker td,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div.ui-datepicker td,
body.ttbm_settings_page #ui-datepicker-div.ui-datepicker td,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div.ui-datepicker td,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div.ui-datepicker td,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div.ui-datepicker td,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div.ui-datepicker td {
	background-color: transparent;
	border: 0;
	padding: 2px;
	text-align: center;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-state-default,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-state-default,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td span,
body.ttbm_settings_page #ui-datepicker-div .ui-state-default,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-state-default,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-state-default,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-state-default,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td span,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-state-default {
	display: block;
	width: 34px;
	height: 34px;
	line-height: 34px;
	margin: 0 auto;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	background-image: none;
	color: var(--ttbm-dp-text);
	font-weight: 600;
	text-align: center;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div a.ui-state-default,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div a.ui-state-default,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.ttbm_settings_page #ui-datepicker-div a.ui-state-default,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div a.ui-state-default,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div a.ui-state-default,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div a.ui-state-default,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div a.ui-state-default {
	background: var(--ttbm-dp-primary-soft);
	color: var(--ttbm-dp-primary);
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div a.ui-state-default:hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div a.ui-state-default:hover,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.ttbm_settings_page #ui-datepicker-div a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-default:hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-hover,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div a.ui-state-default:hover {
	background: var(--ttbm-dp-primary);
	color: #fff;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-today a {
	box-shadow: inset 0 0 0 2px var(--ttbm-dp-primary);
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-state-active,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-state-active,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.ttbm_settings_page #ui-datepicker-div .ui-state-active,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-state-active,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-state-active,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-state-active,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-active,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td a.ui-state-highlight,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-state-active {
	background: var(--ttbm-dp-primary);
	color: #fff;
	box-shadow: 0 4px 10px rgba(37, 99, 235, 0.28);
	background-image: none;
}

body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin:has(#ttbm_meta_box_panel) #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin:has(.ttbm_global_settings.ttbm_configuration) #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.ttbm_settings_page #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin.post-type-ttbm_tour #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin.post-type-ttbm_hotel #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin.post-type-ttbm_places #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td.ui-datepicker-unselectable span,
body.wp-admin.post-type-ttbm_guide #ui-datepicker-div .ui-datepicker-calendar td.ui-state-disabled span {
	color: #cbd5e1;
	background: transparent;
	border: 0;
	opacity: 1;
}

/* ═══════════════════════════════════════════════════════════
   Itinerary modal — modern slide-in panel
   ═══════════════════════════════════════════════════════════ */

/* Backdrop */
#ttbm_meta_box_panel .ttbm-modal-container {
	position: fixed;
	inset: 0;
	right: 0;
	pointer-events: none;
	background: rgba(15, 23, 42, 0);
	backdrop-filter: blur(0px);
	-webkit-backdrop-filter: blur(0px);
	transition: background 0.3s ease, backdrop-filter 0.3s ease;
	z-index: 999999;
}

#ttbm_meta_box_panel .ttbm-modal-container.open {
	pointer-events: auto;
	background: rgba(15, 23, 42, 0.4);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

/* Panel */
#ttbm_meta_box_panel .ttbm-modal-content {
	position: absolute;
	top: 0;
	right: 0;
	width: 520px;
	max-width: 100vw;
	height: 100%;
	background: #f8fafc;
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	box-shadow: -8px 0 40px rgba(0, 0, 0, 0.14);
	overflow: hidden;
	padding: 0;
}

#ttbm_meta_box_panel .ttbm-modal-container.open .ttbm-modal-content {
	transform: translateX(0);
}

/* ── Header ── */
#ttbm_meta_box_panel .ttbm-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 20px;
	background: #fff;
	border-bottom: 1px solid #e2e8f0;
	flex-shrink: 0;
	gap: 12px;
}

#ttbm_meta_box_panel .ttbm-modal-header__inner {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

#ttbm_meta_box_panel .ttbm-modal-header__icon {
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: #eef2ff;
	color: #6366f1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
}

#ttbm_meta_box_panel .ttbm-modal-header h3 {
	font-size: 15px;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 3px;
	padding: 0;
	font-family: var(--ttbm-a-font);
	line-height: 1.3;
}

#ttbm_meta_box_panel .ttbm-modal-header > .ttbm-modal-header__inner + span,
#ttbm_meta_box_panel .ttbm-modal-header p {
	font-size: 12px;
	color: #64748b;
	margin: 0;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-modal-close {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f1f5f9;
	color: #64748b;
	cursor: pointer;
	font-size: 13px;
	position: static;
	top: auto;
	right: auto;
	transition: background 0.15s ease, color 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-modal-close:hover {
	background: #fee2e2;
	color: #dc2626;
}

/* ── Body ── */
#ttbm_meta_box_panel .ttbm-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 24px 20px;
}

#ttbm_meta_box_panel .ttbm-modal-field {
	margin-bottom: 22px;
}

#ttbm_meta_box_panel .ttbm-modal-label {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: #374151;
	margin: 0 0 8px;
	font-family: var(--ttbm-a-font);
}

#ttbm_meta_box_panel .ttbm-modal-required {
	color: #ef4444;
	font-size: 13px;
}

/* Override old generic modal input styles */
#ttbm_meta_box_panel .ttbm-modal-content input[type="text"],
#ttbm_meta_box_panel .ttbm-modal-content input[type="number"],
#ttbm_meta_box_panel .ttbm-modal-content textarea,
#ttbm_meta_box_panel .ttbm-modal-content select {
	width: 100%;
	display: block;
	font-size: 14px;
	font-family: var(--ttbm-a-font);
	padding: 10px 14px;
	background: #fff;
	border: 1.5px solid #e2e8f0;
	border-radius: 8px;
	color: #0f172a;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: none;
}

#ttbm_meta_box_panel .ttbm-modal-content input[type="text"]:focus,
#ttbm_meta_box_panel .ttbm-modal-content input[type="number"]:focus,
#ttbm_meta_box_panel .ttbm-modal-content textarea:focus,
#ttbm_meta_box_panel .ttbm-modal-content select:focus {
	border-color: #6366f1;
	box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.12);
	outline: none;
}

/* Override old label flex layout inside modal */
#ttbm_meta_box_panel .ttbm-modal-content label {
	display: block;
	font-size: 13px;
	font-weight: 400;
	margin: 0;
	gap: 0;
}

/* Service message */
#ttbm_meta_box_panel #ttbm-service-msg {
	margin-bottom: 16px;
	font-size: 13px;
	font-family: var(--ttbm-a-font);
}

/* ── Footer ── */
#ttbm_meta_box_panel .ttbm-modal-footer {
	padding: 16px 20px;
	background: #fff;
	border-top: 1px solid #e2e8f0;
	flex-shrink: 0;
}

#ttbm_meta_box_panel .ttbm-modal-footer__group {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

/* ── Buttons ── */
#ttbm_meta_box_panel .ttbm-modal-btn {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 10px 20px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 600;
	font-family: var(--ttbm-a-font);
	cursor: pointer;
	border: none;
	line-height: 1;
	text-decoration: none;
	transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

#ttbm_meta_box_panel .ttbm-modal-btn--primary {
	background: #6366f1;
	color: #fff !important;
	box-shadow: 0 1px 3px rgba(99, 102, 241, 0.25), 0 4px 12px rgba(99, 102, 241, 0.15);
}

#ttbm_meta_box_panel .ttbm-modal-btn--primary:hover {
	background: #4f46e5;
	transform: translateY(-1px);
	box-shadow: 0 2px 6px rgba(99, 102, 241, 0.3), 0 6px 18px rgba(99, 102, 241, 0.2);
	color: #fff !important;
}

#ttbm_meta_box_panel .ttbm-modal-btn--secondary {
	background: #f1f5f9;
	color: #374151 !important;
	border: 1.5px solid #e2e8f0;
}

#ttbm_meta_box_panel .ttbm-modal-btn--secondary:hover {
	background: #e2e8f0;
	color: #0f172a !important;
	transform: translateY(-1px);
}

/* ─── Travel list taxonomy popup (Category, Location, etc.) ─── */
#ttbm-location-popup.ttbm-popup-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px;
	background: rgba(15, 23, 42, 0.45);
	backdrop-filter: blur(2px);
	pointer-events: auto;
}

#ttbm-location-popup .ttbm-popup-box.ttbm-taxonomy-popup {
	position: relative;
	z-index: 1;
	pointer-events: auto;
	width: 100%;
	max-width: 480px;
	padding: 0;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

#ttbm-location-popup .ttbm-taxonomy-popup__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 18px 22px;
	border-bottom: 1px solid #e2e8f0;
	background: #fff;
}

#ttbm-location-popup .ttbm-taxonomy-popup__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #0f2d52;
	letter-spacing: -0.01em;
}

#ttbm-location-popup .ttbm-taxonomy-popup__close {
	flex-shrink: 0;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 6px;
	background: transparent;
	color: #64748b;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease, color 0.15s ease;
}

#ttbm-location-popup .ttbm-taxonomy-popup__close:hover {
	background: #f1f5f9;
	color: #334155;
}

#ttbm-location-popup .ttbm-taxonomy-popup__body {
	padding: 20px 22px;
	overflow: auto;
	max-height: min(70vh, 520px);
}

#ttbm-location-popup .ttbm-taxonomy-popup-fields {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

#ttbm-location-popup .ttbm-taxonomy-popup-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

#ttbm-location-popup .ttbm-taxonomy-popup-label {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: #64748b;
	line-height: 1.4;
}

#ttbm-location-popup .ttbm-taxonomy-popup-input {
	width: 100%;
	min-height: 42px;
	padding: 10px 12px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #1e293b;
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm-location-popup .ttbm-taxonomy-popup-input::placeholder {
	color: #94a3b8;
}

#ttbm-location-popup .ttbm-taxonomy-popup-input:focus {
	outline: none;
	border-color: #005a87;
	box-shadow: 0 0 0 3px rgba(0, 90, 135, 0.12);
}

#ttbm-location-popup .ttbm-taxonomy-popup-textarea {
	min-height: 96px;
	resize: vertical;
}

#ttbm-location-popup .ttbm-taxonomy-popup-select-wrap {
	position: relative;
}

#ttbm-location-popup .ttbm-taxonomy-popup-select-wrap::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 8px;
	height: 8px;
	border-right: 2px solid #64748b;
	border-bottom: 2px solid #64748b;
	transform: translateY(-65%) rotate(45deg);
	pointer-events: none;
}

#ttbm-location-popup .ttbm-taxonomy-popup-select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 36px;
	cursor: pointer;
}

#ttbm-location-popup .ttbm-taxonomy-popup-image {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

#ttbm-location-popup .ttbm-taxonomy-popup-image-preview img {
	display: block;
	max-width: 120px;
	max-height: 120px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	object-fit: cover;
}

#ttbm-location-popup .ttbm-taxonomy-popup-icon-wrap .flexEqual {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#ttbm-location-popup .ttbm-taxonomy-popup__footer {
	padding: 16px 22px;
	border-top: 1px solid #e2e8f0;
	background: #fff;
}

#ttbm-location-popup .ttbm-popup-buttons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
}

#ttbm-location-popup .ttbm-taxonomy-popup__btn {
	min-width: 88px;
	min-height: 40px;
	padding: 9px 18px;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

#ttbm-location-popup .ttbm-taxonomy-popup__btn--secondary {
	background: #f1f5f9;
	color: #475569;
}

#ttbm-location-popup .ttbm-taxonomy-popup__btn--secondary:hover {
	background: #e2e8f0;
	color: #1e293b;
}

#ttbm-location-popup .ttbm-taxonomy-popup__btn--primary,
#ttbm-location-popup .ttbm-save-location,
#ttbm-location-popup .ttbm-save-places_data {
	background: #005a87;
	color: #fff;
	box-shadow: 0 1px 2px rgba(0, 90, 135, 0.2);
}

#ttbm-location-popup .ttbm-taxonomy-popup__btn--primary:hover,
#ttbm-location-popup .ttbm-save-location:hover,
#ttbm-location-popup .ttbm-save-places_data:hover {
	background: #004b7c;
	color: #fff;
}

/* ─── Travel list taxonomy toolbar (Add + Search) ─── */
.ttbm_trvel_lists_content .ttbm-tour-list-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}

.ttbm-tour-list-page .ttbm-tour-list-header.ttbm_travel_list_page_title_bg {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.ttbm-tour-list-page .ttbm_travel_list_page_title_bg .ttbm_tour_list_text_header {
	flex: 1 1 auto;
	min-width: 0;
}

.ttbm_trvel_lists_content .ttbm_tab_header_shortcode_title {
	flex: 1 1 auto;
	min-width: 0;
}

.ttbm_trvel_lists_content .ttbm_tab_header_shortcode_title .page-title {
	margin: 0;
	padding: 0;
	font-size: 22px;
	font-weight: 700;
	color: #1e293b;
	line-height: 1.3;
}

.ttbm-tour-list-page .ttbm_tour_search_add_holder.ttbm_travel_taxonomy_toolbar,
.ttbm_trvel_lists_content .ttbm_tour_search_add_holder.ttbm_travel_taxonomy_toolbar {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
	width: auto !important;
	flex: 0 0 auto;
	margin-left: auto;
	margin-right: 0;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-shrink: 0;
	height: 42px;
	margin: 0;
	padding: 0 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
	text-decoration: none;
	box-sizing: border-box;
	background: #2271b1 !important;
	background-color: #2271b1 !important;
	border: 1px solid #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
	transition: box-shadow 0.15s ease, transform 0.15s ease, background 0.15s ease, border-color 0.15s ease;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn__icon,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	font-size: 9px;
	line-height: 1;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn__text,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn__text {
	display: inline-block;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn:hover,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn:hover,
.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn:focus,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn:focus {
	background: #135e96 !important;
	background-color: #135e96 !important;
	border-color: #135e96 !important;
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn__icon,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn__icon,
.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn__text,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn__text,
.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn i,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn i {
	color: #fff !important;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_add_link,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_link {
	color: #fff !important;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_wrap,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_wrap {
	position: relative;
	flex: 0 0 auto;
	width: min(100%, 320px);
	min-width: 200px;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_icon,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_icon {
	position: absolute;
	top: 50%;
	left: 14px;
	transform: translateY(-50%);
	color: #94a3b8;
	font-size: 14px;
	line-height: 1;
	pointer-events: none;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_input,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_input {
	width: 100% !important;
	height: 42px;
	margin: 0;
	padding: 0 14px 0 40px;
	border: 1px solid #d7dee8;
	border-radius: 8px;
	background: #fff;
	color: #1e293b;
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_input::placeholder,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_input::placeholder {
	color: #94a3b8;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_input:hover,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_input:hover {
	border-color: #c5ced9;
}

.ttbm-tour-list-page .ttbm_travel_taxonomy_search_input:focus,
.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_input:focus {
	outline: none;
	border-color: #94a3b8;
	box-shadow: 0 0 0 3px rgba(148, 163, 184, 0.18);
}

@media only screen and (max-width: 768px) {
	.ttbm-tour-list-page .ttbm_tour_search_add_holder.ttbm_travel_taxonomy_toolbar,
	.ttbm_trvel_lists_content .ttbm_tour_search_add_holder.ttbm_travel_taxonomy_toolbar {
		width: 100%;
		margin-left: 0;
		flex-direction: column;
		align-items: stretch;
	}

	.ttbm-tour-list-page .ttbm_travel_taxonomy_search_wrap,
	.ttbm_trvel_lists_content .ttbm_travel_taxonomy_search_wrap {
		width: 100%;
		min-width: 0;
	}

	.ttbm-tour-list-page .ttbm_travel_taxonomy_add_btn,
	.ttbm_trvel_lists_content .ttbm_travel_taxonomy_add_btn {
		width: 100%;
	}
}

/* ─── Travel list skeleton loaders ─── */
.ttbm_trvel_lists_content .ttbm_travel_content_loader,
.ttbm_trvel_lists_content .ttbm_travel_skeleton_loader {
	width: 100%;
}

.ttbm_travel_skeleton-loader--grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 16px;
	padding: 8px 0 4px;
}

.ttbm_travel_skeleton_card {
	display: flex;
	gap: 14px;
	padding: 16px;
	border: 1px solid #e8edf3;
	border-radius: 10px;
	background: #fff;
}

.ttbm_travel_skeleton_thumb {
	flex-shrink: 0;
	width: 70px;
	height: 70px;
	border-radius: 8px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm_travel_skeleton_body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding-top: 4px;
}

.ttbm_travel_skeleton_line {
	display: block;
	height: 12px;
	border-radius: 999px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm_travel_skeleton-line--title {
	width: 72%;
	height: 14px;
}

.ttbm_travel_skeleton-line--short {
	width: 42%;
}

.ttbm-tour-list-page .ttbm-tour-list .ttbm_travel_skeleton_loader,
.ttbm-tour-list_holder .ttbm_travel_skeleton_loader {
	width: 100%;
}

/* Tour Package skeleton — compact row layout (default list design) */
.ttbm-tour-list-page .ttbm_travel_skeleton-loader--tour-package {
	display: block;
	width: 100%;
	padding: 0;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton-loader--tour-package,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton-loader--tour-package {
	display: block;
}

.ttbm-tour-list-page .ttbm_travel_skeleton_tour_package_card {
	position: relative;
	box-sizing: border-box;
	width: 100%;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_card,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_card {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 14px;
	padding: 9px 150px 9px 12px;
	margin: 0 0 12px;
	border: 1px solid #eef0f3;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(17, 24, 39, 0.06);
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_card:last-child,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_card:last-child {
	margin-bottom: 0;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_thumb,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_thumb {
	flex: 0 0 46px;
	width: 46px;
	height: 46px;
	border-radius: 6px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_content,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_content {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1 1 auto;
	min-width: 0;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_main,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_main {
	display: flex;
	flex-direction: column;
	gap: 6px;
	flex: 1 1 auto;
	min-width: 0;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_main .ttbm_travel_skeleton-line--title,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_main .ttbm_travel_skeleton-line--title {
	width: 58%;
	max-width: 280px;
	height: 13px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_main .ttbm_travel_skeleton-line--location,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_main .ttbm_travel_skeleton-line--location {
	width: 38%;
	max-width: 180px;
	height: 10px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_meta,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_meta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	flex: 0 0 auto;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_meta .ttbm_travel_skeleton-line--badge,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_meta .ttbm_travel_skeleton-line--badge {
	width: 64px;
	height: 22px;
	border-radius: 10px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_stat_pair,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_stat_pair {
	display: inline-flex;
	align-items: baseline;
	gap: 4px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton-line--stat-val,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton-line--stat-val {
	width: 18px;
	height: 12px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton-line--stat-lbl,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton-line--stat-lbl {
	width: 52px;
	height: 10px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton-line--date,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton-line--date {
	width: 72px;
	height: 11px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_actions,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_actions {
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: row;
	gap: 4px;
}

.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_actions span,
.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_actions span {
	display: block;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

@media screen and (max-width: 960px) {
	.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_card,
	.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_card {
		padding-right: 12px;
		flex-wrap: wrap;
	}

	.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_content,
	.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_content {
		flex-wrap: wrap;
	}

	.ttbm-tour-list-page.ttbm-design-compact .ttbm_travel_skeleton_tour_package_actions,
	.ttbm-tour-list-page:not(.ttbm-design-classic):not(.ttbm-design-modern) .ttbm_travel_skeleton_tour_package_actions {
		position: static;
		transform: none;
		margin-top: 6px;
	}
}

/* Classic layout skeleton */
.ttbm-tour-list-page.ttbm-design-classic .ttbm_travel_skeleton_tour_package_card {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 10px;
	margin: 0 0 6px;
	border: 1px solid #dfd6d6;
	border-radius: 10px;
	background: #fff;
}

.ttbm-tour-list-page.ttbm-design-classic .ttbm_travel_skeleton_tour_package_thumb {
	width: 100%;
	height: 160px;
	max-height: 200px;
	border-radius: 5px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm-tour-list-page.ttbm-design-classic .ttbm_travel_skeleton_tour_package_content {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.ttbm-tour-list-page.ttbm-design-classic .ttbm_travel_skeleton_tour_package_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.ttbm-tour-list-page.ttbm-design-classic .ttbm_travel_skeleton_tour_package_actions {
	display: none;
}

/* Modern layout skeleton */
.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton-loader--tour-package {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 22px;
}

.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton_tour_package_card {
	display: flex;
	flex-direction: column;
	padding: 0;
	margin: 0;
	border: 1px solid #eceef2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 6px 20px rgba(17, 24, 39, 0.07);
	background: #fff;
}

.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton_tour_package_thumb {
	width: 100%;
	height: 188px;
	border-radius: 0;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton_tour_package_content {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 16px 18px 18px;
}

.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton_tour_package_meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding-top: 12px;
	border-top: 1px solid #f0f1f4;
}

.ttbm-tour-list-page.ttbm-design-modern .ttbm_travel_skeleton_tour_package_actions {
	display: none;
}

.ttbm_travel_skeleton-loader--tours {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 20px;
	padding: 8px 0;
}

.ttbm_travel_skeleton_tour_card {
	border: 1px solid #e8edf3;
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

.ttbm_travel_skeleton_tour_thumb {
	height: 160px;
	background: linear-gradient(90deg, #eef2f7 25%, #f8fafc 50%, #eef2f7 75%);
	background-size: 200% 100%;
	animation: ttbmSkeletonShimmer 1.2s ease-in-out infinite;
}

.ttbm_travel_skeleton_tour_body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 14px 16px 18px;
}

.ttbm_travel_list_load_error {
	margin: 12px 0;
	padding: 12px 14px;
	border: 1px solid #fecaca;
	border-radius: 8px;
	background: #fef2f2;
	color: #b91c1c;
	font-size: 14px;
	line-height: 1.5;
}

@keyframes ttbmSkeletonShimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* ─── Taxonomy popup inline validation ─── */
#ttbm-location-popup .ttbm-taxonomy-popup-field.is-invalid .ttbm-taxonomy-popup-input,
#ttbm-location-popup .ttbm-taxonomy-popup-field.is-invalid .ttbm-taxonomy-popup-select,
#ttbm-location-popup .ttbm-taxonomy-popup-field.is-invalid textarea,
#ttbm-location-popup .ttbm-taxonomy-popup-input.is-invalid,
#ttbm-location-popup .ttbm-taxonomy-popup-select.is-invalid {
	border-color: #dc2626;
	box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.12);
}

#ttbm-location-popup .ttbm-taxonomy-popup-error {
	margin: 4px 0 0;
	font-size: 12px;
	line-height: 1.45;
	color: #dc2626;
}

#ttbm-location-popup .ttbm-taxonomy-popup-error[hidden] {
	display: none !important;
}

#ttbm-location-popup .ttbm-taxonomy-popup-form-message {
	margin: 0 0 12px;
	padding: 10px 12px;
	border-radius: 8px;
	font-size: 13px;
	line-height: 1.45;
}

#ttbm-location-popup .ttbm-taxonomy-popup-form-message[hidden] {
	display: none !important;
}

#ttbm-location-popup .ttbm-taxonomy-popup-form-message.is-error {
	border: 1px solid #fecaca;
	background: #fef2f2;
	color: #b91c1c;
}

#ttbm-location-popup .ttbm-taxonomy-popup-form-message.is-success {
	border: 1px solid #bbf7d0;
	background: #f0fdf4;
	color: #15803d;
}

#ttbm-location-popup .ttbm-taxonomy-popup__footer {
	display: flex;
	flex-direction: column;
}

/* ─── Add New buttons — unified WP admin blue (#2271b1) ─── */
.ttbm-tour-list-page .ttbm-tour-list-header .page-title-action,
.ttbm_trvel_lists_content .ttbm-tour-list-header .page-title-action,
.ttbm_style .ttbm-hotel-new-feature,
.ttbm_style .ttbm-hotel-new-activity,
.ttbm_style .ttbm-add-area-info,
.ttbm_add_new_hotel_header,
#ttbm_meta_box_panel .ttbm_style button._themeButton_xs[data-target-popup],
#ttbm_content.ttbm_configuration .ttbm_style button._themeButton_xs[data-target-popup],
div.ttbm_global_settings .ttbm_style .themeButton,
div.ttbm_global_settings .ttbm_style [class*="_themeButton"],
.ttbm_settings_panel .ttbm_style .themeButton,
.ttbm_settings_panel .ttbm_style [class*="_themeButton"] {
	background: #2271b1 !important;
	background-color: #2271b1 !important;
	border-color: #2271b1 !important;
	color: #fff !important;
}

.ttbm-tour-list-page .ttbm-tour-list-header .page-title-action:hover,
.ttbm_trvel_lists_content .ttbm-tour-list-header .page-title-action:hover,
.ttbm-tour-list-page .ttbm-tour-list-header .page-title-action:focus,
.ttbm_trvel_lists_content .ttbm-tour-list-header .page-title-action:focus,
.ttbm_style .ttbm-hotel-new-feature:hover,
.ttbm_style .ttbm-hotel-new-activity:hover,
.ttbm_style .ttbm-add-area-info:hover,
.ttbm_add_new_hotel_header:hover,
#ttbm_meta_box_panel .ttbm_style button._themeButton_xs[data-target-popup]:hover,
#ttbm_content.ttbm_configuration .ttbm_style button._themeButton_xs[data-target-popup]:hover,
div.ttbm_global_settings .ttbm_style .themeButton:hover,
div.ttbm_global_settings .ttbm_style [class*="_themeButton"]:hover,
.ttbm_settings_panel .ttbm_style .themeButton:hover,
.ttbm_settings_panel .ttbm_style [class*="_themeButton"]:hover {
	background: #135e96 !important;
	background-color: #135e96 !important;
	border-color: #135e96 !important;
	color: #fff !important;
}

.ttbm_add_new_hotel_text {
	color: #fff !important;
}

.ttbm-tour-list-page .ttbm-tour-list-header .page-title-action span,
.ttbm_trvel_lists_content .ttbm-tour-list-header .page-title-action span,
.ttbm-tour-list-page .ttbm-tour-list-header .page-title-action i,
.ttbm_trvel_lists_content .ttbm-tour-list-header .page-title-action i,
.ttbm_style .ttbm-hotel-new-feature i,
.ttbm_style .ttbm-hotel-new-activity i,
.ttbm_style .ttbm-add-area-info i,
#ttbm_meta_box_panel .ttbm_style button._themeButton_xs[data-target-popup] i,
#ttbm_meta_box_panel .ttbm_style button._themeButton_xs[data-target-popup] span,
div.ttbm_global_settings .ttbm_style .themeButton i,
div.ttbm_global_settings .ttbm_style [class*="_themeButton"] i {
	color: #fff !important;
}

/* Pricing tab: right-align all Add buttons */
#ttbm_content .ttbm_settings_area > .ttbm-ticket-types-add-btn,
#ttbm_content .ttbm_settings_area > .ttbm_add_item,
#ttbm_content .ttbm_settings_area > .ttbma_gp_add_item,
#ttbm_content .ttbm_settings_area > .ttbm_eb_gp_add_item,
#ttbm_content .ttbm_settings_area > .ttbm_sp_gp_add_item,
#ttbm_content .ttbm_settings_area > [class*="_themeButton"] {
	display: block !important;
	width: fit-content !important;
	margin-left: auto !important;
}

#ttbm_meta_box_panel #ttbm_content .ttbm-sb-gallery-card h4 {
	font-size: 16px;
}

/* ─── Right sidebar: tab-aware card visibility (CSS-driven, avoids JS-timing flash) ─── */
#ttbm_meta_box_panel .ttbm-right-sidebar [data-tab-card] {
	display: none;
}
#ttbm_meta_box_panel .ttbm-right-sidebar[data-active-tab="#ttbm_settings_pricing"] [data-tab-card] {
	display: block;
}
#ttbm_meta_box_panel .ttbm-right-sidebar[data-active-tab="#ttbm_settings_pricing"] [data-hide-tab] {
	display: none;
}

/* ─── Addon promo: sidebar (minimal, modern) ─── */
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promos {
	gap: 10px;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 10px;
	row-gap: 8px;
	align-items: start;
	padding: 14px;
	border-radius: 10px;
	border: 1px solid var(--ttbm-a-border);
	background: #fff;
	box-shadow: none;
	transition: border-color .15s ease;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo:hover {
	border-color: var(--ttbm-a-border-strong);
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--amber,
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--blue {
	background: #fff;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__icon {
	width: 26px;
	height: 26px;
	font-size: 11px;
	border-radius: 7px;
	background: #f8fafc;
	margin: 0;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--amber .ttbm-addon-promo__icon {
	color: #b45309;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--blue .ttbm-addon-promo__icon {
	color: #2563eb;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__content {
	margin: 0;
	min-width: 0;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__badge {
	display: inline-block;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .05em;
	color: var(--ttbm-a-muted);
	background: #ddd;
	padding: 2px 5px;
	margin: 0 0 3px;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__title {
	font-size: 12.5px;
	margin: 0 0 4px;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__desc {
	font-size: 11.5px;
	margin: 0;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__btn {
	grid-column: 1 / -1;
	justify-self: end;
	width: auto;
	margin: 0;
	padding: 0;
	gap: 5px;
	background: none !important;
	border: none;
	border-radius: 0;
	box-shadow: none;
	font-size: 11.5px;
	color: var(--ttbm-a-text) !important;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--amber .ttbm-addon-promo__btn {
	color: #b45309 !important;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--blue .ttbm-addon-promo__btn {
	color: #2563eb !important;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__btn:hover {
	text-decoration: underline;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__btn i {
	font-size: 9px;
	transition: transform .15s ease;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo__btn:hover i {
	transform: translateX(2px);
}

/* ─── Pricing shortcode card ─── */
#ttbm_meta_box_panel .ttbm-sb-pricing-shortcode-card code {
	font-size: 10px;
	padding-left: 10px;
}
#ttbm_meta_box_panel .ttbm-sb-pricing-shortcode-card h4 {
	font-size: 16px !important;
}
#ttbm_meta_box_panel .ttbm-sb-pricing-shortcode-card i {
	margin-right: 20px;
}
.ttbm-addon-promos i {
	font-size: 16px;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--amber .ttbm-addon-promo__badge {
	background: #b45309;
	color: #fff;
}
#ttbm_meta_box_panel .ttbm-sb-addon-promo-card .ttbm-addon-promo--blue .ttbm-addon-promo__badge {
	background: #2563eb;
	color: #fff;
}

/* ─── Early Bird section icon (different markup than .ttbm-header h4 i) ─── */
#ttbm_meta_box_panel .tabsItem.ttbm_settings_pricing .gptLayout h5 span.fas:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin-right: 10px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	border-radius: 8px;
	color: #2563eb;
	font-size: 14px;
}