/* ===== 表單區塊（報名/登記表）專用樣式 ===== */
/* 採用 xlead 視覺：--bs-primary #F0762F、outline 框、sim-radio、門票 mask、數量步進器 */
/* 寬度：方塊標準，表單與輸入在容器內填滿可用寬度 */
.form-block-preview-inner,#reg-form{
	padding:  1rem;
}
.x-pg-row-form-block {
	--form-block-primary-rgb: 240, 118, 47;
	--bs-primary: var(--x-pg-primary, var(--bs-primary, #F0762F));
	--bs-primary-rgb: var(--bs-primary-rgb, var(--form-block-primary-rgb));
	--bs-primary-light: var(--bs-primary-light, #fff4eedc);
	--bs-input-group-addon-color: #5E6278;
	--bs-input-group-addon-bg: #f5f8fa;
	--bs-input-group-addon-border-color: #dee2e6;
	--bs-form-select-color: #5E6278;
	--bs-form-select-bg: #ffffff;
	--bs-form-select-indicator-color: #7E8299;
	--bs-form-select-indicator: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%237E8299' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	--bs-form-select-border-color: #dee2e6;
	--bs-form-select-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075);
	--bs-form-select-focus-border-color: #B5B5C3;
	--bs-form-select-focus-box-shadow: 0 0 0 0.25rem rgba(84, 99, 165, 0.25);
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	background: #fff;
	min-height: 0;
	padding: 0 1rem;
}

.form-card {
	width: 100%;
	max-width: 960px;
	
	border-radius: 16px;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.06), 0 10px 20px -4px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(226, 232, 240, 0.9);
	overflow: hidden;
	background: #fff;
	box-sizing: border-box;
}

.form_bg {
	background: #fff;
	width: 100%;
}

.form_size {
	padding: 32px 32px 40px;
	width: 100%;
	box-sizing: border-box;
}

.x-pg-row-form-block #form,
.x-pg-row-form-block form#reg-form {
	width: 100%;
	display: block;
}

/* 表單內隱藏：原生 input、tab 切換用元素（from xlead） */
.x-pg-row-form-block .label_box input,
.x-pg-row-form-block .js-step .quest_list.tab-on,
.x-pg-row-form-block input[type="radio"].tab-input,
.x-pg-row-form-block input[type="checkbox"]+.hero_header,
.x-pg-row-form-block input[type="checkbox"].tab-input,
.x-pg-row-form-block input[type="checkbox"]#survey-toolbar+.survey-toolbar,
.x-pg-row-form-block input[type="checkbox"]#survey-entrance:checked~.form {
	display: none;
}
.x-pg-row-form-block .no-select-overlay,
.form_box .no-select-overlay {
	display: none !important;
}
.x-pg-row-form-block .survey .quest_list.tab-on:target,
.x-pg-row-form-block .js-step.js-step-active .quest_list.tab-on {
	display: flex;
}
/* ----- .quest_list 相關（from xlead） ----- */
.x-pg-row-form-block input[type="radio"]:checked+.quest_list {
	display: flex;
}
.x-pg-row-form-block .quest_list {
	flex-wrap: wrap;
}
.x-pg-row-form-block .survey .quest_list {
	display: flex;
	flex-direction: column;
	gap: .5rem;
}
.x-pg-row-form-block .offcanvas-body .quest_list {
	padding-bottom: 63px;
}
.x-pg-row-form-block .quest_list .friend-inputs-container:last-of-type {
	margin-bottom: 0;
}

/* ----- survey-toolbar / form-progress / form-btn（from xlead） ----- */
.x-pg-row-form-block input[type="checkbox"]#survey-toolbar:checked+.survey-toolbar {
	display: flex;
}
.x-pg-row-form-block .survey-toolbar {
	width: 100%;
	padding: 10px;
	text-align: center;
	border-top: 1px dashed #d8d8d8;
}
.x-pg-row-form-block .survey .survey-toolbar {
	border-top: 0;
}
.x-pg-row-form-block .form-progress .progress {
	background-color: #fff !important;
}
.x-pg-row-form-block .form-progress .progress-bar {
	background-color: var(--bs-danger);
}
.x-pg-row-form-block #nextButton {
	margin-left: auto;
}
.x-pg-row-form-block .ver-iframe .survey-toolbar,
.x-pg-row-form-block .ver-iframe .button_area {
	position: sticky;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #f5f8fa;
	z-index: 5;
}
.x-pg-row-form-block .ver-iframe .survey-toolbar {
	background-color: #fff;
}
.x-pg-row-form-block .fz12 {
	font-size: 12px !important;
}
.x-pg-row-form-block .form_box .btn.btn-primary.form-btn,
.x-pg-row-form-block .form_box .btn.btn-danger.form-btn {
	background-color: var(--form-btn-bg, #D4601D) !important;
	color: var(--form-btn-color, #fff) !important;
}
.x-pg-row-form-block .form_box .btn.btn-primary.form-btn:hover:not(.btn-active),
.x-pg-row-form-block .form_box .btn.btn-primary.form-btn:focus:not(.btn-active),
.x-pg-row-form-block .form_box .btn.btn-danger.form-btn:hover:not(.btn-active),
.x-pg-row-form-block .form_box .btn.btn-danger.form-btn:focus:not(.btn-active) {
	background-color: var(--form-btn-bg-hover, #D4601D) !important;
	color: var(--form-btn-hover-color, #fff) !important;
}
.x-pg-row-form-block .form_box .btn.btn-primary.form-btn:focus:not(:focus-visible):not(.btn-active),
.x-pg-row-form-block .form_box .btn.btn-danger.form-btn:focus:not(:focus-visible):not(.btn-active) {
	background-color: var(--form-btn-bg, #D4601D) !important;
	color: var(--form-btn-color, #fff) !important;
	filter: brightness(100%);
}
@media (hover: none) and (pointer: coarse) {
	.x-pg-row-form-block .form_box .btn.btn-primary.form-btn:focus:not(.btn-active),
	.x-pg-row-form-block .form_box .btn.btn-danger.form-btn:focus:not(.btn-active) {
		background-color: var(--form-btn-bg, #D4601D) !important;
		color: var(--form-btn-color, #fff) !important;
		filter: brightness(100%) !important;
		outline: none !important;
		box-shadow: none !important;
	}
}
.x-pg-row-form-block .form_box .btn.btn-primary.form-btn,
.x-pg-row-form-block .form_box .btn.btn-danger.form-btn {
	-webkit-tap-highlight-color: transparent;
}
.x-pg-row-form-block .form_box .btn.btn-secondary.form-btn {
	background-color: var(--form-btn-secondary-bg, #7C829B) !important;
	color: var(--form-btn-secondary-color, #fff) !important;
	-webkit-tap-highlight-color: transparent;
}
.x-pg-row-form-block .form_box .btn.btn-secondary.form-btn:hover:not(.btn-active),
.x-pg-row-form-block .form_box .btn.btn-secondary.form-btn:focus:not(.btn-active) {
	background-color: var(--form-btn-secondary-bg-hover, #979EBD) !important;
	color: #fff !important;
}
.x-pg-row-form-block .form_box .btn.btn-secondary.form-btn:focus:not(:focus-visible):not(.btn-active) {
	background-color: var(--form-btn-secondary-bg, #7C829B) !important;
	color: var(--form-btn-secondary-color, #fff) !important;
	filter: brightness(100%);
}
@media (hover: none) and (pointer: coarse) {
	.x-pg-row-form-block .form_box .btn.btn-secondary.form-btn:focus:not(.btn-active) {
		background-color: var(--form-btn-secondary-bg, #7C829B) !important;
		color: var(--form-btn-secondary-color, #fff) !important;
		filter: brightness(100%) !important;
		outline: none !important;
		box-shadow: none !important;
	}
}
.x-pg-row-form-block .survey-toolbar .text-gray-700 {
	color: var(--bs-text-gray-700, #5E6278);
}

/* ----- .x-radio / .x-checkbox 模擬選鈕（from xlead） ----- */
.x-pg-row-form-block .x-radio,
.x-pg-row-form-block .x-checkbox {
	width: 16px;
	height: 16px;
	margin-left: 2px;
	margin-right: 2px;
	border: 1px solid #979797;
	background-color: #fff;
	border-radius: 50%;
	flex-shrink: 0;
}
.x-pg-row-form-block .x-checkbox {
	border-radius: 4px;
}
.x-pg-row-form-block .label_box input[type="radio"]:checked+label,
.x-pg-row-form-block .label_box input[type="checkbox"]:checked+label,
.x-pg-row-form-block .selected-list li {
	outline: 1px solid var(--bs-danger);
	background-color: #f9f4e5;
	font-weight: 700;
}
.x-pg-row-form-block .label_box input[type="radio"]:checked+label .x-radio {
	border: 1px solid var(--bs-primary);
	width: 20px;
	height: 20px;
	margin-right: 0;
	margin-left: 0;
	position: relative;
}
.x-pg-row-form-block .label_box input[type="checkbox"]:checked+label .x-checkbox,
.x-pg-row-form-block .selected-list li .x-checkbox {
	width: 20px;
	height: 20px;
	margin-right: 0;
	margin-left: 0;
	background: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 15.586L6.707 12.293L5.293 13.707L10 18.414L19.707 8.70697L18.293 7.29297L10 15.586Z' fill='white'/%3E%3C/svg%3E") center/contain no-repeat;
	background-color: var(--bs-primary);
	border: 1px solid var(--bs-primary);
}
/* xlead radio 選中時內圈圓點（::before，與 xlead 一致） */
.x-pg-row-form-block .form_box .form-check-input:checked[type=radio]::before,
.x-pg-row-form-block .label_box input[type="radio"]:checked+label .x-radio::before {
	content: '';
	z-index: 1;
	position: absolute;
	width: 65%;
	height: 65%;
	border-radius: 50%;
	background-color: var(--bs-primary, #e57738);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.x-pg-row-form-block .form_box .form-check-input:checked[type=radio]::before,
.x-pg-row-form-block .label_box input[type="radio"]:checked+label .x-radio::before {
	animation: radioCheck 0.3s forwards;
}
@keyframes radioCheck {
	from { opacity: 0; transform: translate(-50%, -50%) scale(0); }
	to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
.x-pg-row-form-block .form_box .form-check-input:checked[type=radio] {
	background-color: var(--bs-white, #fff);
	border-color: var(--bs-danger);
	position: relative;
}
.x-pg-row-form-block .form_box .form-check-input:checked {
	background-color: var(--bs-primary, #e57738);
	border-color: var(--bs-primary, #e57738);
}

@media (max-width: 768px) {
	.form-card {
		margin: 24px 16px;
	}
	.form_size {
		padding: 20px 16px 24px;
	}
	.x-pg-row-form-block #hook-sessions .session_choice .option div.opt_line {
		gap: 8px;
	}
}

@media (max-width: 576px) {
	.form_size {
		padding: 16px 0px 20px;
	}
}

.x-pg-preview-frame.tablet .form_size,
.x-pg-preview-frame.mobile .form_size {
	padding: 16px 8px 20px;
}
.x-pg-preview-frame.mobile .x-pg-row,
.x-pg-preview-frame.mobile .x-pg-row-form-block {
	padding-left: 0;
	padding-right: 0;
}

/* ----- 場次選擇區 (Session)：主題色・科技巨頭級卡片 UI ----- */
.x-pg-row-form-block #hook-sessions,
#hook-sessions {
	width: 100%;
	display: block;
	margin-bottom: 24px;
	box-sizing: border-box;
}

#hook-sessions > span.mb-2,
#hook-sessions > .fs-7.text-muted {
	display: block;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #6b7280;
	margin-bottom: 12px;
	letter-spacing: 0.01em;
}

/* 場次區：xlead 樣式 */
.x-pg-row-form-block #hook-sessions .col-12.session.mb-5,
#hook-sessions .col-12.session.mb-5 {
	margin-bottom: 1rem !important;
}

.x-pg-row-form-block #hook-sessions .session_choice {
	display: flex;
	flex-direction: column;
	width: 100%;
	border: none;
	padding: 8px 0;
	border-radius: .625rem;
	margin: 0;
}
.label_box label, .selected-list li {
    padding: .75rem;
    outline: 1px dashed #979797;
    background-color: #fff;
    border-radius: 8px;
    cursor: pointer;
}

#hook-sessions .session_choice label {
	display: block;
	margin-bottom: 8px;
	cursor: pointer;
}

#hook-sessions .session_choice label:last-of-type {
	margin-bottom: 0;
}

.x-pg-row-form-block #hook-sessions .session_choice:not(.ticket) .option {
	display: block;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	padding: .35rem .5rem;
	margin: .35rem auto;
	background: #fff;
	box-sizing: border-box;
	transition: background 0.2s ease, outline-color 0.2s ease;
}

.x-pg-row-form-block #hook-sessions .session_choice:not(.ticket) .option:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.1);
	cursor: pointer;
}

.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option {
	outline: 2px solid var(--bs-primary, #F0762F);
	background-color: rgba(var(--bs-primary-rgb), 0.1);
}

.x-pg-row-form-block #hook-sessions .session_choice .option div.opt_line,
.x-pg-row-form-block #hook-sessions .label_choice .option div.opt_line {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session-top {
	width: 100%;
	padding-bottom: 2px;
	margin-bottom: 2px;
	flex-wrap: wrap;
	align-items: center;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session-bottom {
	display: flex;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session-top:has(.session_name:empty) {
	display: none !important;
}

.x-pg-row-form-block #hook-sessions .sim-radio {
	width: 20px;
	height: 20px;
	border: 1px solid #e3e3e3;
	border-radius: 50%;
	background: #fff;
	flex-shrink: 0;
	position: relative;
}

.x-pg-row-form-block #hook-sessions .sim-radio::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	background: transparent;
	transform: translate(-50%, -50%);
}

.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option .sim-radio {
	border: 4px solid #fff;
	background-color: var(--bs-primary, #F0762F);
	outline: 1px solid var(--bs-primary, #F0762F);
}

.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option .sim-radio::after {
	background: transparent;
	width: 0;
	height: 0;
}

#hook-sessions input[type='radio'] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line div.session_time {
	width: 100%;
}

.x-pg-row-form-block #hook-sessions .session_choice {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.x-pg-row-form-block #hook-sessions .session_choice .option {
	padding: .35rem .5rem;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	margin: .35rem auto;
}

.x-pg-row-form-block #hook-sessions .session_choice .option div.opt_line {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session-top {
	width: 100%;
	padding-bottom: 2px;
	margin-bottom: 2px;
	flex-wrap: wrap;
	align-items: center;
}

.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session-bottom {
	display: flex;
}

.x-pg-row-form-block #hook-sessions .option.full,
.x-pg-row-form-block #hook-sessions .session_choice input[type='radio']:checked + .option.full {
	background-color: rgba(238, 238, 238, 0.452);
	cursor: not-allowed;
	outline: 1px solid #ddd;
}

.x-pg-row-form-block #hook-sessions .session_time,
.x-pg-row-form-block #hook-sessions .session_time span,
.x-pg-row-form-block #hook-sessions .date-start span {
	font-size: 13px;
	font-weight: 500;
	line-height: 1.35;
	color: #6b7280;
}

.x-pg-row-form-block #hook-sessions .session_time .date-time {
	color: #a5643d;
}

.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option .session_time span,
.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option .date-start span {
	color: #000;
	font-weight: 600;
}

#hook-sessions .session-bottom p {
	color: #9ca3af;
	font-size: 0.75rem;
	line-height: 1.3;
	margin: 0;
}

/* xlead 對應：session_name、session_time 內層、separator、session_hint（場次區完整結構） */
.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session_name,
#hook-sessions .session_choice .option .opt_line .session_name {
	display: flex;
	align-items: center;
	font-weight: normal;
	color: #3f4254;
	font-size: 13px;
	min-width: fit-content;
	flex-grow: 1;
	margin-right: 1rem;
}
.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session_name span,
#hook-sessions .session_choice .option .opt_line .session_name span {
	font-size: 13px;
}
.x-pg-row-form-block #hook-sessions input[type='radio']:checked + .option:not(.full) .session_name,
#hook-sessions input[type='radio']:checked + .option:not(.full) .session_name {
	font-weight: 600;
	color: #000 !important;
}
.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line div.session_time div,
#hook-sessions .session_choice .option .opt_line div.session_time div {
	display: flex;
	flex-direction: row;
	gap:8px;
	align-items: center;
	color:  #52433a;
	position: relative;
}
.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session_time.session-period-display,
#hook-sessions .session_choice .option .opt_line .session_time.session-period-display {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.x-pg-row-form-block #hook-sessions .session_choice .option .opt_line .session_time span,
#hook-sessions .session_choice .option .opt_line .session_time span {
	font-weight: normal;
}
.x-pg-row-form-block #hook-sessions .separator.separator-dashed.border-gray-300.my-1,
#hook-sessions .separator.separator-dashed.border-gray-300.my-1 {
	border: 0;
	border-top: 1px dashed var(--bs-gray-300, #dee2e6);
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
	width: 100%;
	display: block;
}

/* 場次底部完全沒有文字時，一併隱藏分隔線與空的 bottom 區塊 */
#hook-sessions:has(.session-bottom:has(p:empty):has(.session_hint:empty)) .separator.separator-dashed.border-gray-300.my-1 {
	display: none;
}
.opt_line:has(.session-bottom > p:empty):has(.session-bottom > .session_hint:empty) > .flex-grow-1 > .separator.separator-dashed.border-gray-300.my-1 {
	display: none;
}
.opt_line.no-session-bottom-content > .flex-grow-1 > .separator.separator-dashed.border-gray-300.my-1 {
	display: none;
}
  
/* 當 session-bottom 內 p 與 session_hint 都無內容時隱藏分隔線 */
/* 不再使用 :has 來隱藏分隔線，改由 JS 決定是否輸出 separator */
.x-pg-row-form-block #hook-sessions .session-bottom .session_hint,
#hook-sessions .session-bottom .session_hint {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 4px;
}
.x-pg-row-form-block #hook-sessions .session_hint.under,
#hook-sessions .session_hint.under {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}
.x-pg-row-form-block #hook-sessions .session_hint.under p,
.x-pg-row-form-block #hook-sessions .session_hint.under .text-gray-500,
#hook-sessions .session_hint.under p,
#hook-sessions .session_hint.under .text-gray-500 {
	font-size: 0.75rem;
	color: #6b7280;
	margin: 0;
	font-weight: normal;
}
.x-pg-row-form-block #hook-sessions .option .opt_line p,
#hook-sessions .option .opt_line p {
	margin-bottom: 0;
	margin-top: 0;
	display: inline-block;
	color: #9ca3af;
}
.x-pg-row-form-block #hook-sessions .option.full:hover,
#hook-sessions .option.full:hover {
	background-color: rgba(238, 238, 238, 0.452);
	outline: 1px solid #ddd;
	cursor: not-allowed;
}

/* ----- Hook Offer Items：沿用 xlead option / sim-radio 樣式 ----- */

.x-pg-row-form-block #hook-offer-items label {
	display: block;
	margin-bottom: 8px;
	cursor: pointer;
}
.x-pg-row-form-block #hook-gifts label {
	display: block;
	margin-bottom: 8px;
	cursor: pointer;
}
.x-pg-row-form-block #hook-offer-items label:last-of-type {
	margin-bottom: 0;
}
.x-pg-row-form-block #hook-gifts label:last-of-type {
	margin-bottom: 0;
}
.x-pg-row-form-block #hook-offer-items input[type='radio'] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.x-pg-row-form-block #hook-gifts input[type='radio'] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.x-pg-row-form-block #hook-offer-items .option {
	display: block;
	padding: .35rem .5rem;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	margin: .35rem auto;
	background: #fff;
	box-sizing: border-box;
	transition: background 0.2s ease, outline-color 0.2s ease;
}
.x-pg-row-form-block #hook-gifts .option {
	display: block;
	padding: .35rem .5rem;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	margin: .35rem auto;
	background: #fff;
	box-sizing: border-box;
	transition: background 0.2s ease, outline-color 0.2s ease;
}
.x-pg-row-form-block #hook-offer-items .option:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.1);
	cursor: pointer;
}
.x-pg-row-form-block #hook-gifts .option:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.1);
	cursor: pointer;
}
.x-pg-row-form-block #hook-offer-items input[type='radio']:checked + .option {
	outline: 2px solid var(--bs-primary, #F0762F);
	background-color: rgba(var(--bs-primary-rgb), 0.1);
}
.x-pg-row-form-block #hook-gifts input[type='radio']:checked + .option {
	outline: 2px solid var(--bs-primary, #F0762F);
	background-color: rgba(var(--bs-primary-rgb), 0.1);
}
.x-pg-row-form-block #hook-offer-items .option .opt_line {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}
.x-pg-row-form-block #hook-gifts .option .opt_line {
	display: flex;
	flex-direction: row;
	align-items: center;
	width: 100%;
}
.x-pg-row-form-block #hook-offer-items .option .opt_line .session-top {
	width: 100%;
	padding-bottom: 2px;
	margin-bottom: 2px;
	flex-wrap: wrap;
	align-items: center;
}
.x-pg-row-form-block #hook-gifts .option .opt_line .session-top {
	width: 100%;
	padding-bottom: 2px;
	margin-bottom: 2px;
	flex-wrap: wrap;
	align-items: center;
}
.x-pg-row-form-block #hook-offer-items .option .opt_line .session_name {
	display: flex;
	align-items: center;
	font-weight: normal;
	color: #3f4254;
	font-size: 13px;
	min-width: 0;
}
.x-pg-row-form-block #hook-gifts .option .opt_line .session_name {
	display: flex;
	align-items: center;
	font-weight: normal;
	color: #3f4254;
	font-size: 13px;
	min-width: 0;
}
.x-pg-row-form-block #hook-offer-items .option .opt_line .session_name span {
	font-size: 13px;
	font-weight: inherit;
	color: inherit;
	margin-bottom: 0;
}
.x-pg-row-form-block #hook-gifts .option .opt_line .session_name span {
	font-size: 13px;
	font-weight: inherit;
	color: inherit;
	margin-bottom: 0;
}
.x-pg-row-form-block #hook-offer-items input[type='radio']:checked + .option:not(.full) .session_name {
	font-weight: 600;
	color: #000 !important;
}
.x-pg-row-form-block #hook-gifts input[type='radio']:checked + .option:not(.full) .session_name {
	font-weight: 600;
	color: #000 !important;
}
.x-pg-row-form-block #hook-offer-items .option .opt_line .seesion_desc {
	margin-top: 2px;
	line-height: 1.4;
}
.x-pg-row-form-block #hook-gifts .option .opt_line .seesion_desc {
	margin-top: 2px;
	line-height: 1.4;
}
.x-pg-row-form-block #hook-offer-items .sim-radio {
	width: 20px;
	height: 20px;
	border: 1px solid #e3e3e3;
	border-radius: 50%;
	background-color: #fff;
	flex-shrink: 0;
}
.x-pg-row-form-block #hook-gifts .sim-radio {
	width: 20px;
	height: 20px;
	border: 1px solid #e3e3e3;
	border-radius: 50%;
	background-color: #fff;
	flex-shrink: 0;
}
.x-pg-row-form-block #hook-offer-items input:checked + .option:not(.full) .sim-radio {
	border: 4px solid #fff;
	background-color: var(--bs-primary, rgb(240, 118, 47));
	outline: 1px solid var(--bs-primary, rgb(240, 118, 47));
}
.x-pg-row-form-block #hook-gifts input:checked + .option:not(.full) .sim-radio {
	border: 4px solid #fff;
	background-color: var(--bs-primary, rgb(240, 118, 47));
	outline: 1px solid var(--bs-primary, rgb(240, 118, 47));
}
.x-pg-row-form-block #hook-offer-items .option.full,
.x-pg-row-form-block #hook-offer-items input[type='radio']:checked + .option.full {
	position: relative;
	background-color: rgba(238, 238, 238, 0.452);
	cursor: not-allowed;
	outline: 1px solid #ddd;
}
.x-pg-row-form-block #hook-gifts .option.full,
.x-pg-row-form-block #hook-gifts input[type='radio']:checked + .option.full {
	position: relative;
	background-color: rgba(238, 238, 238, 0.452);
	cursor: not-allowed;
	outline: 1px solid #ddd;
}
.x-pg-row-form-block #hook-offer-items .option.full:hover {
	background-color: rgba(238, 238, 238, 0.452);
	outline: 1px solid #ddd;
	cursor: not-allowed;
}
.x-pg-row-form-block #hook-gifts .option.full:hover {
	background-color: rgba(238, 238, 238, 0.452);
	outline: 1px solid #ddd;
	cursor: not-allowed;
}

/* 場次與門票區之間：虛線分隔（xlead 風格） */
.x-pg-row-form-block #hook-sessions .session.mb-5 + div.d-flex {
	border-top: 1px dashed #e3e3e3;
	padding-top: 16px;
	margin-top: 16px;
}

/* ----- 門票 (Ticket)：標題與幣別同一行、白底列、橘紅價、灰按鈕步進 ----- */
.x-pg-row-form-block #hook-sessions .d-flex.align-items-center.mb-3 {
	flex-wrap: nowrap;
}

.x-pg-row-form-block #hook-sessions .d-flex.mb-3 .fs-7.text-muted,
.x-pg-row-form-block #hook-sessions .d-flex.mb-3 span.text-muted {
	font-size: 0.8125rem;
	font-weight: 500;
	color: #374151;
	white-space: nowrap;
	flex-shrink: 0;
}

.x-pg-row-form-block #hook-sessions .d-flex.mb-3 .select.form-group {
	position: relative;
	width: auto;
	flex-shrink: 0;
}

.x-pg-row-form-block #hook-sessions .d-flex.mb-3 .select.form-group::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	background-color: var(--bs-form-select-indicator-color, #7E8299);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16V4M7 4L3 8M7 4L11 8'/%3E%3Cpath d='M17 8v12M17 20l4-4M17 20l-4-4'/%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 16V4M7 4L3 8M7 4L11 8'/%3E%3Cpath d='M17 8v12M17 20l4-4M17 20l-4-4'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	pointer-events: none;
}

.x-pg-row-form-block #hook-sessions .d-flex.mb-3 .form-select.form-select-sm {
	width: auto;
	min-width: 4.5em;
	padding-left: 2rem;
	border-radius: 8px;
	border: 1px solid var(--bs-form-select-border-color, #dee2e6);
	background-color: #fff;
	background-image: var(--bs-form-select-indicator);
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 16px 12px;
	padding-right: 2rem;
	font-size: 0.8125rem;
	color: #374151;
	min-height: 32px;
	appearance: none;
}

/* 結構：.ticket-display > fieldset.session_choice.ticket.pc-only + fieldset.tabet_phone-only + div.mt-3.mb-5（總金額） */
.x-pg-row-form-block .ticket-display,
.ticket-display {
	width: 100%;
	box-sizing: border-box;
	border: none;
	background: transparent;
	padding: 0 !important;
	
	flex-direction: column;
	align-items: stretch;
	flex-wrap: nowrap;
}

.x-pg-row-form-block .ticket-display > .session_choice.ticket.pc-only,
.x-pg-row-form-block .ticket-display > fieldset:first-of-type {
	width: 100%;
	max-width: 100%;
}

.x-pg-row-form-block .ticket-display > .mt-3.mb-5.px-2.w-100,
.x-pg-row-form-block .ticket-display > div.mt-3.mb-5 {
	width: 100%;
	flex: 0 0 auto;
}
.ticket-display > .mt-3.mb-5.px-2.w-100{
	padding: 0 !important;
	margin-top: 16px !important;
	margin-bottom: 24px !important;
}
.quest>.form-group>div {
	margin-bottom: 6px;
}

/* 生日等日期選單：固定寬度、自訂下拉箭頭（深色可見） */
.x-pg-row-form-block .quest .form-select-sm.w-date,
.x-pg-row-form-block .quest select.form-select.w-date,
.x-pg-row-form-block .quest .form-group.select .form-select-sm.w-date,
.x-pg-row-form-block .quest .form-group.select select.w-date {
	width: auto !important;
	min-width: 80px;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%235E6278' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	background-size: 14px 10px;
	padding-right: 1.75rem;
}
.x-pg-row-form-block .quest .d-flex.align-items-center.flex-wrap.gap-2 {
	align-items: flex-end;
}
.x-pg-row-form-block .quest .d-flex.align-items-center .pb-3 {
	margin-bottom: 0;
	font-size: 0.9375rem;
	color: #6b7280;
	line-height: 2.25;
}

.x-pg-row-form-block .session_choice.ticket.pc-only {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 1rem;
	align-items: stretch;
	width: 100%;
	border: none;
	margin: 0;
	padding: 0;
}

.x-pg-row-form-block .session_choice.ticket.pc-only .ticket-row {
	width: 100%;
	padding: 0 ;
	margin: 0;
}

.ticket-row {
	width: 100%;
	margin-bottom: 0;
	box-sizing: border-box;
}

/* 門票列：與 xlead 一致（outline 1px #e3e3e3、border-radius 6px、padding .35rem .5rem） */
.x-pg-row-form-block .session_choice.ticket .option {
	position: relative;
	margin: 0;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	padding: .35rem .5rem;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	background: #fff;
	transition: background 0.15s ease, outline 0.15s ease;
}

.ticket-row .option > .flex-grow-1 {
	min-width: 0;
}

.x-pg-row-form-block .ticket-row .product_count {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0.5rem !important;
	min-width: 0;
	flex-shrink: 0;
}

.x-pg-row-form-block .ticket-row .option:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.05);
}

.x-pg-row-form-block .ticket_name {
	display: flex;
	align-items: center;
}

.x-pg-row-form-block .ticket-row .ticket_name::before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-color: var(--bs-primary);
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'%3E%3C/path%3E%3Cpath d='M13 5v2'%3E%3C/path%3E%3Cpath d='M13 17v2'%3E%3C/path%3E%3Cpath d='M13 11v2'%3E%3C/path%3E%3C/svg%3E");
	mask-size: contain;
	mask-repeat: no-repeat;
	mask-position: center;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9a3 3 0 0 1 0 6v2a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-2a3 3 0 0 1 0-6V7a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2Z'%3E%3C/path%3E%3Cpath d='M13 5v2'%3E%3C/path%3E%3Cpath d='M13 17v2'%3E%3C/path%3E%3Cpath d='M13 11v2'%3E%3C/path%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	margin-right: 8px;
	vertical-align: middle;
}

.ticket_name span {
	font-size: 0.9375rem;
	font-weight: 600;
	text-transform: capitalize;
	letter-spacing: 0.02em;
	color: #111827;
}

.ticket_price .text-muted,
.ticket_price .fz12 {
	font-size: 0.75rem;
	color: #9ca3af;
}


.x-pg-row-form-block .option .ticket_price span {
	display: inline;
}

.x-pg-row-form-block .option .product_count span {
	font-size: inherit;
	color: inherit;
}

.x-pg-row-form-block .session_choice.ticket .option.selected {
	border-left: 15px solid var(--bs-primary);
	outline-offset: -1px;
}

/* 參考 xlead：若 ticket-row 內有 .sim-checkbox.checked，整列視為選取狀態 */
.x-pg-row-form-block .session_choice.ticket .ticket-row:has(.sim-checkbox.checked) .option,
.x-pg-row-form-block .session_choice .option.selected {
	border-left: 15px solid var(--bs-primary);
}

.x-pg-row-form-block .ticket_price span.text-danger {
	font-weight: 700;
	font-size: 1rem;
	color: var(--bs-primary, #F0762F);
}

/* 數量步進器：與 xlead 一致（2894-3014）三格獨立框 */
.x-pg-row-form-block .product_count .count,
.x-pg-row-form-block .count {
	display: flex;
	align-items: stretch;
	gap: 4px;
	border: none;
	background: transparent;
	padding: 0;
}

.x-pg-row-form-block .count .minus,
.x-pg-row-form-block .count .plus {
	background: #f2f2f2;
	border: 1px solid #ddd;
	border-radius: 4px;
	display: inline-flex;
	text-align: center;
	padding: 6px 1rem;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	font-weight: bold;
	color: #333;
	vertical-align: middle;
	transition: background 0.15s ease, border-radius 0.15s ease;
}

.x-pg-row-form-block .session_choice.ticket.pc-only .minus,
.x-pg-row-form-block .session_choice.ticket.pc-only .plus {
	width: 30px;
	padding: 0.25rem 0.5rem;
	line-height: 1;
	font-family: initial;
}

.x-pg-row-form-block .session_choice.ticket.pc-only .minus {
	line-height: 1.2;
}

.x-pg-row-form-block .count .minus:hover,
.x-pg-row-form-block .count .plus:hover {
	cursor: pointer;
	background-color: #f0f0f0;
	border-radius: 3px;
}

.x-pg-row-form-block .count .border {
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px !important;
	background: #fff;
	border: 1px solid #ddd !important;
	padding: 0 8px;
	min-width: 32px;
}

.x-pg-row-form-block .count .qty {
	text-align: center;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	font-size: 0.9375rem;
	color: #111827;
	min-width: 20px;
}

/* 總金額區：xlead 風格，主色橘 */
.x-pg-row-form-block .bg-light.rounded.p-3.d-flex {
	background: #F8F8F8 !important;
	border-radius: 10px !important;
	border: none;
	padding: 14px 16px !important;
}

.x-pg-row-form-block .bg-light.rounded.p-3.d-flex .text-muted.small {
	font-size: 0.75rem;
	color: #888;
}

.x-pg-row-form-block #subtotal {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--bs-primary, #F0762F);
}

.x-pg-row-form-block #total-people {
	font-variant-numeric: tabular-nums;
	font-weight: 700;
	color: var(--bs-primary, #F0762F);
}

.x-pg-row-form-block .pc-only,
.x-pg-row-form-block .session_choice.ticket.pc-only {
	display: flex !important;
}

.x-pg-row-form-block .tabet_phone-only,
.x-pg-row-form-block .session_choice.ticket.tabet_phone-only {
	display: none !important;
}

/* 頁面模擬：依 .x-pg-preview-frame 的 .tablet / .mobile class 切換（與 viewport 無關） */
.x-pg-preview-frame.tablet .x-pg-row-form-block .pc-only,
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.pc-only,
.x-pg-preview-frame.mobile .x-pg-row-form-block .pc-only,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.pc-only {
	display: none !important;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .tabet_phone-only,
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only,
.x-pg-preview-frame.mobile .x-pg-row-form-block .tabet_phone-only,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only {
	display: flex !important;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .ticket-row,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .ticket-row {
	width: 100%;
	padding: 0 0.5rem;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	padding: .35rem .5rem;
	outline: 1px solid #e3e3e3;
	border-radius: 6px;
	background: #fff;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option:hover,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.05);
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .separator.separator-dashed,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .separator.separator-dashed {
	flex-basis: 100%;
	width: 100%;
	height: 0;
	margin: 0.25rem 0;
	border: none;
	border-top: 1px dashed #ddd;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .product_count,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .product_count {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	min-width: 0;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .count .border,
.x-pg-preview-frame.mobile .x-pg-row-form-block .session_choice.ticket.tabet_phone-only .count .border {
	min-width: 40px;
}
.x-pg-preview-frame.tablet .x-pg-row-form-block #hook-sessions .session_choice .option div.opt_line,
.x-pg-preview-frame.mobile .x-pg-row-form-block #hook-sessions .session_choice .option div.opt_line {
	gap: 8px;
}

/* 切換為平板/手機版時不顯示「手機/平板版」提示 */
.x-pg-preview-frame.tablet .x-pg-row-form-block .form-block-preview-inner::before,
.x-pg-preview-frame.mobile .x-pg-row-form-block .form-block-preview-inner::before {
	content: none;
	display: none;
}

/* 與 xlead 一致：max-width 1024px 時也切換（真實窄螢幕 / 縮放視窗） */
@media screen and (max-width: 1024px) {
	.x-pg-row-form-block .pc-only,
	.x-pg-row-form-block .session_choice.ticket.pc-only {
		display: none !important;
	}
	.x-pg-row-form-block .tabet_phone-only,
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only {
		display: flex !important;
		flex-direction: column;
		gap: 1rem;
		width: 100%;
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .ticket-row {
		width: 100%;
		padding: 0 0.5rem;
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		width: 100%;
		box-sizing: border-box;
		padding: .35rem .5rem;
		outline: 1px solid #e3e3e3;
		border-radius: 6px;
		background: #fff;
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .option:hover {
		background-color: rgba(var(--bs-primary-rgb), 0.05);
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .separator.separator-dashed {
		flex-basis: 100%;
		width: 100%;
		height: 0;
		margin: 0.25rem 0;
		border: none;
		border-top: 1px dashed #ddd;
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .product_count {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem;
		width: 100%;
		min-width: 0;
	}
	.x-pg-row-form-block .session_choice.ticket.tabet_phone-only .count .border {
		min-width: 40px;
	}
}

@media (max-width: 576px) {
	.x-pg-row,
	.x-pg-row-form-block {
		padding-left: 0;
		padding-right: 0;
	}
	.x-pg-row-form-block .session_choice .option {
		padding: .75rem 1rem;
	}
	.x-pg-row-form-block .session_choice.ticket label {
		min-width: calc(50% - 1rem);
	}
	.x-pg-row-form-block .ticket-row .ticket_price {
		flex-direction: column;
		align-items: flex-start !important;
	}
	.x-pg-row-form-block .session_choice .option div.opt_line {
		flex-wrap: wrap;
		gap: 8px;
	}
	.x-pg-row-form-block .session_choice .option .opt_line div.session_time {
		width: 100%;
	}
}

@media (max-width: 393px) {
	.x-pg-row-form-block .session_choice .option div.opt_line {
		flex-wrap: wrap;
	}
	.x-pg-row-form-block .session_choice .option {
		padding: .5rem;
	}
}

/* ----- 表單欄位與題目樣式（方塊標準寬度・科技巨頭級 UI） ----- */
.x-pg-row-form-block .quest_list {
	margin-top: 40px;
	width: 100%;
	display: block;
}
.x-pg-row-form-block .quest_list:first-child {
	margin-top: 0;
}
.x-pg-row-form-block .quest {
	padding: 14px 0 18px;
	border-bottom: 1px dashed rgba(148, 163, 184, 0.35);
	width: 100%;
	display: block;
	box-sizing: border-box;
}

.x-pg-row-form-block .quest:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.x-pg-row-form-block .quest.attention {
	padding: .5rem;
	outline: 2px solid var(--bs-danger, #dc3545);
	border-radius: .625rem;
}

/* Badge 圓形共通（題號等） */
.x-pg-row-form-block .quest .badge-circle.badge,
.x-pg-row-form-block .quest > .badge-circle {
	height: fit-content;
	border-radius: 50%;
	font-weight: 600;
	width: 26.25px;
	height: 26.25px;
	flex-shrink: 0;
	padding: 0;
	min-width: unset;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.x-pg-row-form-block .quest .badge-circle.badge-light-dark.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-light-dark {
	background-color: #e5e7eb;
	color: #374151;
}
.x-pg-row-form-block .quest .badge-circle.badge-dark.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-dark,
.x-pg-row-form-block .badge-dark.badge-circle {
	background-color: #1f2937;
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-primary.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-primary,
.x-pg-row-form-block .badge-primary.badge-circle {
	background-color: var(--bs-primary);
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-secondary.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-secondary,
.x-pg-row-form-block .badge-secondary.badge-circle {
	background-color: #6b7280;
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-success.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-success,
.x-pg-row-form-block .badge-success.badge-circle {
	background-color: #059669;
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-danger.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-danger,
.x-pg-row-form-block .badge-danger.badge-circle {
	background-color: var(--bs-danger, #dc2626);
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-warning.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-warning,
.x-pg-row-form-block .badge-warning.badge-circle {
	background-color: #d97706;
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-info.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-info,
.x-pg-row-form-block .badge-info.badge-circle {
	background-color: #0284c7;
	color: #fff;
}
.x-pg-row-form-block .quest .badge-circle.badge-light.badge,
.x-pg-row-form-block .quest > .badge-circle.badge-light,
.x-pg-row-form-block .badge-light.badge-circle {
	background-color: #f3f4f6;
	color: #374151;
}
/* 一般 badge 顏色（非圓形） */
.x-pg-row-form-block .badge-dark {
	background-color: #1f2937;
	color: #fff;
}
.x-pg-row-form-block .badge-primary {
	background-color: var(--bs-primary);
	color: #fff;
}
.x-pg-row-form-block .badge-secondary {
	background-color: #6b7280;
	color: #fff;
}
.x-pg-row-form-block .badge-success {
	background-color: #059669;
	color: #fff;
}
.x-pg-row-form-block .badge-danger {
	background-color: var(--bs-danger, #dc2626);
	color: #fff;
}
.x-pg-row-form-block .badge-warning {
	background-color: #d97706;
	color: #fff;
}
.x-pg-row-form-block .badge-info {
	background-color: #0284c7;
	color: #fff;
}
.x-pg-row-form-block .badge-light {
	background-color: #f3f4f6;
	color: #374151;
}
.x-pg-row-form-block .badge-light-dark {
	background-color: #e5e7eb;
	color: #374151;
}

/* 題目標題：深灰粗體，必填星號 */
.x-pg-row-form-block .quest .fw-bolder.fs-5 {
	font-size: 0.9375rem;
	font-weight: 700;
	letter-spacing: 0.01em;
	color: #374151;
	margin-bottom: 6px;
	line-height: 1.4;
	display: inline-flex;
}

.x-pg-row-form-block .form-group.required .fw-bolder.fs-5::after {
	content: ' *';
	color: #dc2626;
	font-weight: 700;
	margin-left: 2px;
}

.x-pg-row-form-block .quest .xt_area {
	color: #6b7280;
	font-size: 0.8125rem;
	line-height: 1.4;
}

/* xt_area：與 xlead 一致（11058-11132、1804、3940、3945、4518、7015） */
.x-pg-row-form-block .xt_area {
	width: 100%;
}
.x-pg-row-form-block .form_box .xt_area,
.x-pg-row-form-block .merge-form .xt_area {
	border-radius: 8px;
	margin-bottom: .75rem;
}
.x-pg-row-form-block .merge-form span.xt_area {
	margin-bottom: 0;
}
.x-pg-row-form-block .xt_area.te-plain {
	padding: 0;
	margin-bottom: .75rem;
	background-color: transparent;
}
.x-pg-row-form-block .xt_area.te-title {
	background-color: #eeeeee;
	padding: .5rem 1rem;
	position: relative;
	font-weight: 600;
	color: #5d5b5b;
	font-size: 1.1rem;
}
.x-pg-row-form-block .xt_area.te-title::before {
	content: '';
	height: 12px;
	width: 4px;
	display: inline-block;
	background-color: #bbb;
	border-radius: 8px;
	position: absolute;
	left: 6px;
	top: 50%;
	transform: translateY(-50%);
}
.x-pg-row-form-block .xt_area.te-quote {
	background-color: #dddddd44;
	position: static;
	height: initial;
	padding: 1.25rem;
}
.x-pg-row-form-block .xt_area.te-quote::before {
	content: url('https://xleadfunnel.oss-cn-hongkong.aliyuncs.com/dev/panel/img/catalog/member/bxs-quote-left.svg');
}
.x-pg-row-form-block .form_box .xt_area.te-box,
.x-pg-row-form-block .merge-form .xt_area.te-box {
	background-color: transparent;
	border: 1px solid #e3e3e3;
	padding: 1.25rem;
}

/* ----- .guide 相關（from xlead） ----- */
.x-pg-row-form-block p.guide {
	width: 100%;
	
	padding: 8px 12px;
	background-color: #e6e6e6;
    color: #5d5b5b;
	font-weight: 700;
	border-radius: 6px;
	margin-bottom: .5rem;
	display: flex;
	gap: 1rem;
	align-items: center;
}
.x-pg-row-form-block span.guide {
	font-size: 14px;
	text-align: left;
}
.x-pg-row-form-block .merge-form .guide,
.x-pg-row-form-block .form-box .guide {
	border-left: 12px solid #777;
	z-index: 2;
	position: relative;
	font-size: 1.1rem;
}
.x-pg-row-form-block p.guide + .section_desc {
	margin-top: -2.5rem;
	margin-bottom: .75rem;
	padding: 2rem 1rem .5rem;
	background-color: #ffffffaa;
}

.x-pg-row-form-block .te-title ~ .quest,
.x-pg-row-form-block p.guide + .xt_area.section_desc ~ .quest,
.x-pg-row-form-block p.guide ~ .quest {
	margin-left: 8px;
}
.x-pg-row-form-block .required .xt_area p::after,
.x-pg-row-form-block .required label .xt_area p::after {
	content: none;
}
.x-pg-row-form-block .info_box .xt_area span {
	font-size: inherit;
	color: initial;
}
.x-pg-row-form-block .xt_area.form-check-label span,
.x-pg-row-form-block .xt_area.form-check-label {
	margin-bottom: 0 !important;
}
.x-pg-row-form-block .checkbox .xt_area span {
	display: inline;
}
.x-pg-row-form-block .info.desc .context.xt_area span {
	width: 100%;
	margin-right: 0;
	font-size: inherit;
	color: inherit;
}

.x-pg-row-form-block .form-group {
	width: 100%;
	display: block;
	box-sizing: border-box;
}

/* 手機欄：國碼＋輸入一體化 */
.x-pg-row-form-block .form-group .input-group {
	width: 100%;
	display: flex;

	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.x-pg-row-form-block .form-group .input-group:focus-within {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.12);
}

/* 國碼選擇器：自訂成「數值＋小箭頭」單行框（非原生 select 外觀） */
.x-pg-row-form-block .form-group .input-group .form-select,
.x-pg-row-form-block .form-group .input-group select.form-select,
.x-pg-row-form-block .form-group .input-group #country-code {
	flex: 0 0 auto;
	min-width: 5rem;
	border: none;
	border-right: 1px solid #e5e7eb;
	border-radius: 0;
	padding: 10px 32px 10px 12px;
	font-size: 0.9375rem;
	color: var(--bs-form-select-color, #5E6278);
	background: var(--bs-input-group-addon-bg, #f5f8fa) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%237E8299'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right 10px center;
	background-size: 12px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
.x-pg-row-form-block .form-group .input-group #country-code {
	flex: 0 1 100px;
	background-color: #fff;
	
}
.x-pg-row-form-block .form-group .input-group #country-code+input.form-control {
	border-left:1px solid #e5e7eb !important;
	min-width: 0%;
	width: 1%;
}
.x-pg-row-form-block .form-group .input-group #country-code+input.form-control~.invalid-feedback{
	margin-top: 0;
}
.x-pg-row-form-block .form-group .input-group .form-select:focus,
.x-pg-row-form-block .form-group .input-group select.form-select:focus {
	outline: none;
}

.x-pg-row-form-block .form-group .input-group .form-control {
	flex: 1 1 auto;
	min-width: 0;
	border: none;
	border-radius: 0;
	padding: 10px 12px;
	font-size: 0.9375rem;
	color: #111827;
	background: #fff;
	position: relative;
}

.x-pg-row-form-block .form-group .input-group .form-control::placeholder {
	color: #9ca3af;
}
.x-pg-event-intro-meta-row p{
	margin-bottom: 0;
	font-size: 0.9375rem;
    color: var(--x-pg-text, #1e293b);
}


/* 手機：國碼＋電話 input-group（依 xlead .phone / .manual 複製） */
@media screen and (max-width: 576px) {
	.x-pg-row-form-block .form-group .input-group {
		display: flex;
		flex-wrap: wrap;
	}
	.x-pg-row-form-block .form-group .input-group .form-select,
	.x-pg-row-form-block .form-group .input-group select.form-select,
	.x-pg-row-form-block .form-group .input-group #country-code {
		width: 30%;
		min-width: 5rem;
		border-top-right-radius: 0;
		border-bottom-right-radius: 0;
		border-right: 1px solid transparent;
		box-shadow: var(--bs-form-select-box-shadow);
	}
	.x-pg-row-form-block .form-group .input-group .form-select:focus,
	.x-pg-row-form-block .form-group .input-group select.form-select:focus {
		border-right: 1px solid #5E6278;
	}
	.x-pg-row-form-block .form-group .input-group .form-select:focus ~ .form-control,
	.x-pg-row-form-block .form-group .input-group select.form-select:focus ~ .form-control {
		border-left: 0;
	}
	.x-pg-row-form-block .form-group .input-group .form-control,
	.x-pg-row-form-block .form-group .input-group #mobile {
		width: 70%;
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
}
.x-pg-preview-frame.mobile .x-pg-row-form-block .form-group .input-group {
	display: flex;
	flex-wrap: wrap;
}
.x-pg-preview-frame.mobile .x-pg-row-form-block .form-group .input-group .form-select,
.x-pg-preview-frame.mobile .x-pg-row-form-block .form-group .input-group select.form-select {
	width: 30%;
	min-width: 5rem;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: 1px solid transparent;
}
.x-pg-preview-frame.mobile .x-pg-row-form-block .form-group .input-group .form-control {
	width: 70%;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}
/* FormValidation 手機：避免 icon 容器破壞版面（依 xlead .reset-fv-mobile） */
.x-pg-row-form-block .form-group.input-group.fv-plugins-icon-container,
.x-pg-row-form-block .form-group.has-validation.fv-plugins-icon-container {
	position: relative;
}
@media screen and (max-width: 576px) {
	.x-pg-row-form-block .form-group.input-group.fv-plugins-icon-container .fv-plugins-message-container,
	.x-pg-row-form-block .form-group.has-validation.fv-plugins-icon-container .fv-plugins-message-container {
		position: absolute;
		left: 0;
	}
}
/* FormValidation：reset-fv-mobile（來自 xlead） */
.reset-fv-mobile.fv-plugins-icon-container {
	position: static;
}
.reset-fv-mobile.fv-plugins-icon-container .fv-plugins-message-container {
	position: absolute;
	left: 0;
}
/* FormValidation：下一步前靜音 notEmpty、只顯示 callback（來自 xlead） */
#form-inputs.quiet-mode .fv-plugins-message-container [data-validator="notEmpty"] {
	display: none !important;
}
#form-inputs .fv-plugins-message-container [data-validator="callback"] {
	display: block;
}

/* 一般輸入框：簡潔邊框・圓角・充足內距 */
.x-pg-row-form-block .form-group input.form-control,
.x-pg-row-form-block .form-group input.form-control-sm,
.x-pg-row-form-block .form-group select.form-select {
	width: 100%;
	display: block;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	padding: 10px 12px;
	font-size: 0.9375rem;
	color: #111827;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

/* 一般 select 下拉箭頭（與日期選單同款） */
.x-pg-row-form-block .form-group select.form-select {
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%235E6278' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right 0.6rem center;
	background-size: 14px 10px;
	padding-right: 2.25rem;
}

.x-pg-row-form-block .form-group input.form-control::placeholder,
.x-pg-row-form-block .form-group input.form-control-sm::placeholder {
	color: #9ca3af;
}

.x-pg-row-form-block .form-group input.form-control:focus,
.x-pg-row-form-block .form-group input.form-control-sm:focus,
.x-pg-row-form-block .form-group select.form-select:focus {
	outline: none;
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.12);
}

/* react-datepicker：與表單欄位同款（科技巨頭級） */
.x-pg-row-form-block .react-datepicker-wrapper {
	width: 100%;
	display: block;
}
.x-pg-row-form-block .react-datepicker__input-container.react-datepicker__view-calendar-icon {
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e5e7eb;
	border-radius: 10px;
	background: #fff;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.x-pg-row-form-block .react-datepicker__input-container.react-datepicker__view-calendar-icon:focus-within {
	outline: none;
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.12);
}
.x-pg-row-form-block .react-datepicker__input-container .react-datepicker__calendar-icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	margin-left: 12px;
	color: #5E6278;
	pointer-events: none;
}
.x-pg-row-form-block .react-datepicker__input-container input.form-control,
.x-pg-row-form-block .react-datepicker__input-container input.form-control-sm {
	flex: 1;
	min-width: 0;
	border: none !important;
	background: transparent !important;
	padding: 10px 12px !important;
	font-size: 0.9375rem !important;
	color: #111827 !important;
	box-shadow: none !important;
}
.x-pg-row-form-block .react-datepicker__input-container input.form-control::placeholder,
.x-pg-row-form-block .react-datepicker__input-container input.form-control-sm::placeholder {
	color: #9ca3af;
}

.x-pg-row-form-block .form_box {
	width: 100%;
	box-sizing: border-box;
	background-color: #f5f8fa;
    padding: 1rem ;
    border-radius: 12px;
    font-size: 1rem;
    position: relative;
}

/* 單選題：每選項獨立白底・虛線框・圓角 */
.x-pg-row-form-block .label_box.label-full {
	margin-top: 8px;
	border: none;
	border-radius: 0;
	padding: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 8px;
	box-sizing: border-box;
	background: transparent;
}
.x-pg-row-form-block .label_box.label-full label {
	width: 100%;
}

/* label-50：兩欄並排（from xlead） */
.x-pg-row-form-block .label_box.label-50 {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}
.x-pg-row-form-block .label_box.label-50 label {
	width: calc(50% - 4px);
}
.x-pg-row-form-block .booking-select .label_box.label-50 label,
.x-pg-row-form-block .select-list.label_box.label-50 li,
.x-pg-row-form-block .selected-list.label_box.label-50 li {
	width: calc(50% - 8px);
}
.x-pg-row-form-block .select-list.label_box.label-50 li label,
.x-pg-row-form-block .selected-list.label_box.label-50 li label {
	width: 100%;
}

.x-pg-row-form-block .label_box .form-check-label {
	width: 100%;
	cursor: pointer;
	display: block;
	
	padding: 12px 14px;
	outline: 1px dashed #d1d5db;
	outline-offset: -1px;
	border: none;
	border-radius: 10px;
	background: #fff;
	transition: outline-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.x-pg-row-form-block .label_box .form-check-label:last-child {
	margin-bottom: 0;
}

.x-pg-row-form-block .label_box .form-check-label:hover {
	background-color: rgba(var(--bs-primary-rgb), 0.3);
	outline: 1px solid var(--bs-primary);
	outline-offset: -1px;
}

.x-pg-row-form-block .label_box input.form-check-input:checked + label.form-check-label {
	outline: 1px solid var(--bs-primary);
	outline-offset: -1px;
	background: var(--bs-primary-light);
}

/* 「其他」選項 (id 結尾 -other)：來自 xlead.css */
.x-pg-row-form-block input:checked[id$="-other"] {
	margin-top: 8px !important;
}
.x-pg-row-form-block .label_box [id$="-other"]+.form-check-label .ans,
.x-pg-row-form-block .label_box [id$="-other"]:checked+label .ans,
.x-pg-row-form-block label[for="option-other"]>.opt .ans {
	flex-grow: 1;
	line-height: 1;
}
.x-pg-row-form-block label[for="option-other"]>.opt {
	align-items: start;
}
.x-pg-row-form-block [id$="-other"].has-other+.form-check-label {
	display: flex;
	gap: 4px;
	align-items: center;
	flex-wrap: wrap;
}
.x-pg-row-form-block .label_box [id$="-other"]:checked+.form-check-label input,
.x-pg-row-form-block .label_box [id$="-other"]:checked+label input {
	display: block;
}
.x-pg-row-form-block [id$="-other"].has-other+.form-check-label .other-option-div .form-control,
.x-pg-row-form-block .label_box [id$="-other"]:checked+.form-check-label input,
.x-pg-row-form-block .label_box [id$="-other"]:checked+label input {
	border: 0px !important;
	border-bottom: 1px solid var(--bs-gray-500) !important;
	margin-bottom: 0 !important;
	background-color: initial;
	border-radius: 0;
	padding: 2px;
}
.x-pg-row-form-block .other-option-div {
	flex-grow: 1;
}
.x-pg-row-form-block .other-option-div .fv-plugins-message-container {
	position: absolute;
}

/* 下拉勾選 (.r_nolink)：點我選擇用主題色、下方 label_box 有內容時上方留白 */
.x-pg-row-form-block .r_nolink > .d-flex.border-bottom-dashed.pb-3 > p.mb-0.d-flex {
	color: var(--bs-primary);
}
.x-pg-row-form-block .r_nolink > .d-flex.border-bottom-dashed.pb-3 > p.mb-0.d-flex:hover {
	opacity: 0.9;
}
.x-pg-row-form-block .r_nolink > .label_box.label-modal:not(:empty) {
	margin-top: 0.75rem;
}

.modal-dialog-scrollable .modal-body {
	overflow-y: auto;
	max-height: calc(100vh - 210px);
}

/* quest-drop-modal：z-index 高於 x-pg-main-nav (1050) */
.quest-drop-modal {
	z-index: 9999 !important;
	position: fixed;
}

/* 純 CSS：modal 打開時把「裝著 modal 的區塊」整塊提到 nav 上面（:has 偵測 #cb-modal.show） */
body:has(.quest-drop-modal.show) .x-pg-layout-container {
	z-index: 10000 !important;
	position: relative;
}

.quest-drop-modal::before {
	content: '';
	z-index: -1;
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	background-color: #000;
	opacity: 0.5;
	transition: opacity 0.15s linear;
}

/* Dropzone 上傳區：巨頭風格・虛線框・主題色・細陰影 */
.x-pg-row-form-block .dropzone {
	border: 2px dashed var(--bs-form-select-border-color, #e5e7eb);
	border-radius: 14px;
	padding: 2rem 1.5rem;
	text-align: center;
	background: linear-gradient(180deg, #fafbfc 0%, #f5f6f8 100%);
	cursor: pointer;
	transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
	min-height: 160px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}
.x-pg-row-form-block .dropzone:hover {
	border-color: rgba(var(--bs-primary-rgb), 0.5);
	background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.06) 0%, rgba(var(--bs-primary-rgb), 0.02) 100%);
	box-shadow: 0 0 0 1px rgba(var(--bs-primary-rgb), 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
}
.x-pg-row-form-block .dropzone.dragover {
	border-color: var(--bs-primary);
	border-style: solid;
	background: rgba(var(--bs-primary-rgb), 0.08);
	box-shadow: 0 0 0 2px rgba(var(--bs-primary-rgb), 0.2), 0 4px 12px rgba(0, 0, 0, 0.08);
	transform: scale(1.005);
}
.x-pg-row-form-block .dropzone.has-preview {
	position: relative;
	padding: 1rem;
	min-height: 0;
	background: #fff;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.x-pg-row-form-block .dropzone .dropzone-preview-wrap {
	display: inline-block;
	width: 100%;
	max-width: 120px !important;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	transition: box-shadow 0.2s ease;
}
.x-pg-row-form-block .dropzone .dropzone-preview-wrap img {
	display: block;
	width: 100%;
	max-width: 120px !important;
	height: auto;
}
.x-pg-row-form-block .dropzone .dropzone-preview-wrap:hover {
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}
.x-pg-row-form-block .dropzone .dropzone-delete-btn {
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 1;
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	color: inherit;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	opacity: 0.9;
	transition: background 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}
.x-pg-row-form-block .dropzone .dropzone-delete-btn:hover {
	background: #fff;
	opacity: 1;
	transform: scale(1.08);
}
.x-pg-row-form-block .dropzone .dz-message {
	flex-wrap: nowrap;
	word-break: break-word;
	gap: 0.75rem;
	justify-content: flex-start;
	align-items: center;
	display: flex;
}
.x-pg-row-form-block .dropzone .dz-message-text {
	min-width: 0;
	flex: 1 1 auto;
	color: #64748b;
	font-size: 0.9375rem;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.01em;
}
.x-pg-row-form-block .dropzone .dz-message i,
.x-pg-row-form-block .dropzone .dz-message .bi {
	font-size: 1.75rem;
	color: #94a3b8;
	opacity: 0.9;
}
.x-pg-row-form-block .dropzone:hover .dz-message i,
.x-pg-row-form-block .dropzone:hover .dz-message .bi,
.x-pg-row-form-block .dropzone.dragover .dz-message i,
.x-pg-row-form-block .dropzone.dragover .dz-message .bi {
	color: var(--bs-primary);
	opacity: 1;
}

.x-pg-row-form-block .label_box .opt {
	align-items: center;
	gap: 12px;
}

.x-pg-row-form-block .label_box .x-radio {
	width: 18px;
	height: 18px;
	border-radius: 999px;
	border: 2px solid #d1d5db;
	background: #fff;
	flex-shrink: 0;
	position: relative;
	transition: border-color 0.2s ease, background 0.2s ease;
	pointer-events: none;
}

.x-pg-row-form-block .label_box input.form-check-input {
	position: absolute;
	opacity: 0;
}

.x-pg-row-form-block .label_box input.form-check-input:checked + label .x-radio {
	border-color: var(--bs-primary);
	background: #fff;
}

.x-pg-row-form-block .label_box .ans p {
	color: #111827;
	font-size: 0.9375rem;
	font-weight: 500;
	margin: 0;
	line-height: 1.4;
}

.x-pg-row-form-block .form-group .invalid-feedback {
	font-size: 0.8125rem;
	margin-top: 6px;
	color: #dc2626;
	display: block;
}

.x-pg-row-form-block .form-group input.mb-3,
.x-pg-row-form-block .form-group input.form-control-sm.mb-3 {
	margin-bottom: 0.75rem;
}

.x-pg-row-form-block .invalid-feedback {
	font-size: 0.8125rem;
	margin-top: 6px;
	color: #dc2626;
}

/* ----- 送出按鈕與底部區域 ----- */
.x-pg-row-form-block .button_area {
	margin-top: 28px;
	text-align: center;
}

.x-pg-row-form-block #submit-btn {
	border-radius: 999px;
	padding: 12px 16px;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	background: linear-gradient(90deg, #f97316, #ef4444);
	border: none;
	color: #ffffff;
	box-shadow: 0 10px 24px rgba(239, 68, 68, 0.35);
	transition: transform 0.13s ease, box-shadow 0.13s ease, opacity 0.13s ease;
}

.x-pg-row-form-block #submit-btn:hover:not(:disabled) {
	transform: translateY(-1px);
	box-shadow: 0 14px 30px rgba(239, 68, 68, 0.4);
}

.x-pg-row-form-block #submit-btn:disabled {
	opacity: 0.6;
	box-shadow: none;
	cursor: not-allowed;
}

/* 表單區塊編輯入口：按鈕 + 抽屜圖示（編輯器側邊） */
.x-pg-form-block.x-pg-form-block-edit-entry {
	display: flex;
	align-items: center;
	gap: 8px;
}
.x-pg-form-block.x-pg-form-block-edit-entry .x-pg-drawer-trigger {
	font-size: 1.25rem;
	color: var(--bs-primary, #0d6efd);
}
.x-pg-form-block.x-pg-form-block-edit-entry .x-pg-drawer-trigger:hover {
	color: var(--bs-primary, #0d6efd);
	opacity: 0.85;
}

.x-pg-event-details-divider {
	border: 0;
	border-top: 1px dashed var(--bs-secondary, #6c757d);
	margin: 0.75rem 0;
}

/* ----- sub-quest-box / sub-quest__title / label_box.label-matrix (from xlead) ----- */
.sub-quest-box {
	display: table;
	width: 100%;
}
.quest:has(.label-matrix) .fv-plugins-message-container.invalid-feedback~.fv-plugins-message-container.invalid-feedback {
	display: none;
}
.score-level {
	display: table-row;
	width: 100%;
	position: sticky;
	top: 52px;
	z-index: 2;
	background-color: var(--bs-gray-200);
}
.score-level .score-level__empty,
.score-level .score-level__scales,
.sub-quest__title,
.label_box.label-matrix {
	display: table-cell;
	vertical-align: middle;
}
.label_box.label-matrix label {
	flex-grow: 1;
	outline: 0px;
	background-color: transparent;
	cursor: pointer;
	pointer-events: auto;
}
.label_box.label-matrix label .d-flex.gap-3 {
	justify-content: center;
	width: 100%;
	gap: 0 !important;
}
.label_box.label-matrix input[type="radio"]:checked+label {
	outline: 0px;
	background-color: transparent;
}
.label_box.label-matrix label .x-radio {
	margin-right: auto;
	margin-left: auto;
	width: 18px;
	height: 18px;
	border: 1px solid var(--bs-gray-500);
	position: relative;
	pointer-events: none;
}
.label_box.label-matrix input[type="radio"]:checked+label {
	font-weight: normal;
}
.label_box.label-matrix input[type="radio"]:checked+label .x-radio {
	border: 1px solid var(--bs-primary);
	width: 18px;
	height: 18px;
}

.label_box.label-matrix input[type="radio"]:checked+label .x-radio::before,
.x-pg-row-form-block .label_box.label-matrix input[type="radio"]:checked+label .x-radio::before {
	content: '';
	z-index: 1;
	position: absolute;
	width: 65%;
	height: 65%;
	border-radius: 50%;
	background-color: var(--bs-primary, #e57738);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.sub-quest__title {
	width: 200px;
}
.sub-quest {
	display: table-row;
	width: 100%;
	background-color: #ededed;
	padding: 1rem;
	gap: 8px;
	align-items: center;
	border-radius: 8px;
	margin-bottom: 4px;
}
.sub-quest.form-group {
	display: table-row;
}
@media screen and (max-width: 1024px) {
	.sub-quest {
		flex-wrap: wrap;
	}
	.sub-quest span {
		width: 100%;
		display: block;
		margin-bottom: .5rem;
	}
	/* 平板/手機：隱藏模擬的 radio 圓鈕，只顯示虛線框＋文字 */
	.label_box.label-matrix .x-radio,
	.x-pg-row-form-block .sub-quest-box .label_box.label-matrix .x-radio,
	.score-level .score-level__scales {
		display: none !important;
	}
	.sub-quest {
		display: flex;
		flex-direction: column;
	}
	.label_box.label-matrix {
		display: flex;
		width: 100%;
		flex-wrap: wrap;
		gap: 4px;
	}
	.label_box.label-matrix label {
		flex-grow: 1;
		outline: 1px dashed #979797;
		background-color: #fff;
		width: 100%;
	}
	.label_box.label-matrix label .d-flex.gap-3 {
		justify-content: start;
		width: 100%;
		gap: 0 !important;
	}
	.label_box.label-matrix input[type="radio"]:checked+label {
		outline: 1px solid var(--bs-danger);
		background-color: #f9f4e5;
		font-weight: 700;
	}
	.sub-quest__title {
		width: 100%;
	}
}

/* ===== 感謝頁區塊（thankYouBlock）— 上下兩色（淺藍 / 白）===== */
.x-pg-row-thank-you {
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.06);
}
.x-pg-thank-you-header {
	background-color: rgb(241, 248, 254);
	padding: 2rem 1.5rem 1.5rem;
	border-radius: 12px 12px 0 0;
}
.x-pg-thank-you-body {
	background-color: #ffffff;
	padding: 1rem 1.5rem 1.5rem;
}
.x-pg-thank-you-footer {
	background-color: rgb(241, 248, 254);
	padding: 1rem 1.5rem 1.25rem;
	border-radius: 0 0 12px 12px;
	text-align: center;
}
.x-pg-thank-you-footer-text {
	margin: 0;
	font-size: 0.9375rem;
	color: var(--text-muted, #888888);
	line-height: 1.5;
}
.x-pg-thank-you-block-header {
	--x-pg-thank-you-check-color: #2563eb;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 0;
}
.x-pg-thank-you-preview-focus-area {
	position: relative;
	width: 100%;
	border-radius: 8px;
}
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"]:hover,
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"].x-pg-preview-boundary-active,
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"].x-pg-preview-highlight {
	outline: 1px solid rgba(34, 197, 94, 0.45);
	box-shadow: none;
}
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"]:hover::before,
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"].x-pg-preview-boundary-active::before,
.x-pg-preview-content-wrapper .x-pg-thank-you-preview-focus-area[data-editor-preview-section="true"].x-pg-preview-highlight::before {
	background: rgba(22, 163, 74, 0.92);
}
.x-pg-thank-you-block .x-pg-thank-you-title {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.35;
	color: var(--x-pg-text, #1e293b);
	margin-bottom: 0.5rem;
}
.x-pg-thank-you-block .x-pg-thank-you-message {
	line-height: 1.6;
	font-size: 0.9375rem;
	color: var(--x-pg-text, #334155);
}
.x-pg-thank-you-block .x-pg-thank-you-message.x-pg-page-description,
.x-pg-thank-you-email-text.x-pg-page-description {
	padding-top: 0;
	padding-bottom: 0;
}
.x-pg-thank-you-block .x-pg-thank-you-message > :first-child,
.x-pg-thank-you-email-text > :first-child {
	margin-top: 0;
}
.x-pg-thank-you-block .x-pg-thank-you-message > :last-child,
.x-pg-thank-you-email-text > :last-child {
	margin-bottom: 0;
}
.x-pg-thank-you-block .x-pg-thank-you-secondary {
	line-height: 1.5;
	font-size: 0.9375rem;
	color: var(--text-muted, #888888);
	margin-bottom: 0;
}
.x-pg-thank-you-align-left .x-pg-thank-you-title,
.x-pg-thank-you-align-left .x-pg-thank-you-message,
.x-pg-thank-you-align-left .x-pg-thank-you-secondary,
.x-pg-thank-you-align-left .x-pg-thank-you-footer-text {
	text-align: left;
}
.x-pg-thank-you-align-center .x-pg-thank-you-title,
.x-pg-thank-you-align-center .x-pg-thank-you-message,
.x-pg-thank-you-align-center .x-pg-thank-you-secondary,
.x-pg-thank-you-align-center .x-pg-thank-you-footer-text {
	text-align: center;
}
.x-pg-thank-you-align-right .x-pg-thank-you-title,
.x-pg-thank-you-align-right .x-pg-thank-you-message,
.x-pg-thank-you-align-right .x-pg-thank-you-secondary,
.x-pg-thank-you-align-right .x-pg-thank-you-footer-text {
	text-align: right;
}
.x-pg-thank-you-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	color: var(--x-pg-thank-you-check-color, #2563eb);
}
.x-pg-thank-you-check-svg {
	width: 56px;
	height: 56px;
}
.x-pg-thank-you-check-circle {
	stroke-dasharray: 188;
	stroke-dashoffset: 188;
	animation: x-pg-thank-you-circle 3s ease-in-out infinite;
}
.x-pg-thank-you-check-path {
	stroke-dasharray: 50;
	stroke-dashoffset: 50;
	animation: x-pg-thank-you-path 3s ease-in-out infinite;
}
@keyframes x-pg-thank-you-circle {
	0% { stroke-dashoffset: 188; }
	16.67% { stroke-dashoffset: 0; }
	83.33% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: 188; }
}
@keyframes x-pg-thank-you-path {
	0% { stroke-dashoffset: 50; }
	13.33% { stroke-dashoffset: 50; }
	25% { stroke-dashoffset: 0; }
	83.33% { stroke-dashoffset: 0; }
	100% { stroke-dashoffset: 50; }
}
.x-pg-thank-you-email-hint {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-align: left;
	padding: 0;
	margin: 0;
	max-width: 100%;
	justify-content: flex-start;
}
.x-pg-thank-you-email-icon-wrap {
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	border-radius: 50%;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
}
.x-pg-thank-you-email-icon {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.x-pg-thank-you-email-text {
	flex: 1;
	font-size: 0.875rem;
	line-height: 1.5;
	color: #475569;
	min-width: 0;
}
.x-pg-thank-you-align-left .x-pg-thank-you-email-hint {
	margin-left: 0;
	margin-right: auto;
	justify-content: flex-start;
}
.x-pg-thank-you-align-center .x-pg-thank-you-email-hint {
	margin-left: 0;
	margin-right: auto;
	justify-content: flex-start;
}
.x-pg-thank-you-align-right .x-pg-thank-you-email-hint {
	margin-left: 0;
	margin-right: auto;
	justify-content: flex-start;
}
.x-pg-thank-you-email-note {
	color: rgb(218, 98, 0);
	font-weight: 700;
}
.x-pg-thank-you-separator {
	height: 0;
	border-top: 1px dashed #dee2e6;
	margin: 1rem 0;
}
.x-pg-thank-you-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem;
	align-items: center;
}
.x-pg-thank-you-buttons .btn {
	min-height: 44px;
	padding: 0.5rem 1.25rem;
	font-weight: 500;
	border-radius: 8px;
	flex: 1;
	min-width: 120px;
	max-width: 100%;
}
.x-pg-thank-you-buttons .btn-primary {
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.x-pg-thank-you-buttons .btn-outline-primary:hover {
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.x-pg-share-modal {
	z-index: 1060;
}
.x-pg-share-modal .modal-backdrop {
	z-index: 1055;
}
.x-pg-share-modal .modal-dialog {
	z-index: 1061;
}

/* ----- gmap 地圖區（from xlead） ----- */
.x-pg-row .gmap,
.x-pg-row #g-map.gmap {
	padding: 0rem 2rem;
	min-height: 300px;
}
.x-pg-row .map_info,
.x-pg-row .address_highlight {
	background-color: #cacaca15;
	padding: 1.5rem 1rem;
	border-radius: 6px;
}
.x-pg-row .address_highlight {
	background-color: rgba(255, 255, 255, 0.603);
	padding: 1rem;
	margin-bottom: 1rem;
	border-left: 4px solid #e57738;
	border-radius: 0 6px 6px 0;
}
.x-pg-row .map_info > div:not(.address_highlight) {
	padding: 1rem;
	background-color: rgba(255, 255, 255, 0.103);
}

/* 活動詳情區：活動設定「開啟編輯」按鈕進場閃爍 2 秒 */
@keyframes x-pg-session-drawer-flash {
	0%, 100% {
		box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb, 240, 118, 47), 0);
	}
	50% {
		box-shadow: 0 0 0 4px rgba(var(--bs-primary-rgb, 240, 118, 47), 0.5);
	}
}
.x-pg-session-drawer-btn-flash {
	animation: x-pg-session-drawer-flash 1s ease-in-out 2;
}

/* 開啟編輯 Modal（活動簡介／活動條款）：偏上顯示 */
.modal.terms-edit-modal {
	display: flex;
	align-items: flex-start;
	padding-top: 8vh;
}
.modal.terms-edit-modal .modal-dialog {
	margin-top: 0;
	max-height: calc(90vh - 8vh);
}
.modal.terms-edit-modal .modal-content {
	max-height: 100%;
	display: flex;
	flex-direction: column;
}
.modal.terms-edit-modal .modal-body {
	overflow-y: auto;
}

/* ----- booking / datepicker（從 booking.css 併回） ----- */
.flatpickr-calendar.open {
	z-index: 16000163;
}

.booking .hor .main-pic {
	height: calc(100vh - 52px);
	position: relative;
	border-radius: 0 0 120px 0;
	overflow: hidden;
}

.booking-select {
	flex-grow: 1;
	padding: 4px 8px;
	border-right: 1px solid #f5f5f5;
}

.booking-select.booking-cal {
	max-width: 220px;
}

.x-pg-row-form-block #venue-date-select-div,
.merge-form #venue-date-select-div,
.offcanvas-body #venue-date-select-div {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-end;
	gap: 14px;
	flex-wrap: nowrap;
	width: 100%;
}

.x-pg-row-form-block #venue-date-select-div > .booking-select,
.merge-form #venue-date-select-div > .booking-select,
.offcanvas-body #venue-date-select-div > .booking-select {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	padding: 0;
	border-right: 0;
}

.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-cal,
.merge-form #venue-date-select-div > .booking-select.booking-cal,
.offcanvas-body #venue-date-select-div > .booking-select.booking-cal {
	max-width: none;
	flex: 1 1 0;
}

.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-time,
.merge-form #venue-date-select-div > .booking-select.booking-time,
.offcanvas-body #venue-date-select-div > .booking-select.booking-time {
	flex: 1 1 0;
}

.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-cal::after,
.merge-form #venue-date-select-div > .booking-select.booking-cal::after,
.offcanvas-body #venue-date-select-div > .booking-select.booking-cal::after {
	content: "";
	position: absolute;
	top: 0;
	right: -7px;
	width: 1px;
	height: 100%;
	background: #e5e7eb;
	pointer-events: none;
	z-index: 2;
}

.booking-select:last-child {
	border: 0;
}

.booking-select:first-child {
	padding-left: 0;
}

.booking-type-box label {
	font-size: 13px;
	color: var(--bs-gray-500, #A1A5B7);
	outline: 1px solid var(--bs-gray-500, #A1A5B7);
	padding: 2px 6px;
	border-radius: 4px;
	margin-right: 4px;
}

.booking-type-box input[type="radio"]:checked+label {
	color: var(--bs-danger, #F0762F);
	outline-color: var(--bs-danger, #F0762F);
	font-weight: 600;
}

input[type="radio"].stop-booking {
	cursor: not-allowed;
	pointer-events: none;
}

input[type="radio"].stop-booking+label,
input[type="radio"].stop-booking+label:hover {
	background-color: #f5f5f5;
	cursor: not-allowed;
	outline: 1px dashed #979797;
}

input[type="radio"].stop-booking+label p {
	color: #979797;
}

#venue-date-select-div,
#professional-date-select-div,
.booking input[type="radio"],
input[type="radio"].booking-step+.booking-step-content,
.booking .quest .label_box input[type="radio"] {
	display: none;
}

.booking .quest input[type="radio"] {
	display: initial;
}

input[type="radio"]:checked.booking-step+.booking-step-content,
.booking-step-content #time-date-select-div {
	display: block;
}

.booking-step-content {
	margin-bottom: 16px;
}

.booking-step-content #time-date-select-div #time-date-select {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	width: 1%;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 8px 12px;
}

.x-pg-row-form-block .booking-select.booking-cal .input-group,
.merge-form .booking-select.booking-cal .input-group,
.offcanvas-body .booking-select.booking-cal .input-group {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	min-height: 40px;
}

.x-pg-row-form-block .booking-select.booking-cal .input-group .btn,
.merge-form .booking-select.booking-cal .input-group .btn,
.offcanvas-body .booking-select.booking-cal .input-group .btn {
	order: -1;
	flex: 0 0 44px;
	width: 44px;
	min-width: 44px;
	border: 0;
	border-right: 1px solid #e5e7eb;
	border-radius: 0;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.x-pg-row-form-block .booking-select.booking-cal .input-group .form-control,
.merge-form .booking-select.booking-cal .input-group .form-control,
.offcanvas-body .booking-select.booking-cal .input-group .form-control {
	padding-left: 12px;
	padding-right: 12px;
	min-height: 40px;
}

.booking-type-box input[type="radio"]#booking-select-mode-time:checked+label~#time-date-select-div,
.booking-type-box input[type="radio"]#booking-select-mode-venue:checked+label~#venue-date-select-div,
.booking-type-box input[type="radio"]#booking-select-mode-professional:checked+label~#professional-date-select-div {
	display: flex;
}

.hor .booking-select,
.hor #time-date-select-div .booking-select:nth-child(2) {
	border: 0;
}

.hor #time-date-select-div .booking-select:last-of-type,
.hor #venue-date-select-div .booking-select:first-of-type {
	width: 100%;
	padding-left: 0;
}

.hor #venue-date-select-div .booking-select:nth-child(2) {
	padding-left: 0;
}

.bookingstep {
	background-color: var(--bs-light, #F5F5F5);
	padding: 8px 12px;
	border-radius: 12px;
	flex-grow: 1;
	cursor: pointer;
	color: var(--bs-gray-600, #7E8299);
}

.bookingstep .badge {
	background-color: var(--bs-gray-600, #7E8299);
	color: #fff;
}

.bookingstep.now {
	background-color: var(--bs-danger, #F0762F);
	color: #fff;
}

.bookingstep.now .badge {
	color: #D4601D;
	background-color: #fff;
}

.booking-toolbar {
	display: flex;
	width: 100%;
	border-top: 1px solid var(--bs-light, #F5F5F5);
	padding-top: 8px;
}

.inline-calendar {
	height: 0;
	padding: 0;
	margin: 0;
	border: 0;
	position: absolute;
	top: -500px;
}

.inline-calendar+.flatpickr-calendar.inline,
#time-date-select-div+.flatpickr-calendar.inline {
	top: 0;
	margin-bottom: 12px;
	border: 0;
	box-shadow: none;
	width: 100% !important;
	background-color: var(--bs-gray-100, #f5f8fa);
}

.inline-calendar+.flatpickr-calendar .flatpickr-innerContainer,
#time-date-select-div+.flatpickr-calendar .flatpickr-innerContainer {
	border-top: 1px solid var(--bs-gray-300, #dee2e6);
	padding-top: 4px;
}

.inline-calendar+.flatpickr-calendar .flatpickr-current-month,
#time-date-select-div+.flatpickr-calendar .flatpickr-current-month {
	padding-top: 0;
}

.label_box#timeslots {
	overflow-y: scroll;
	max-height: 320px;
	padding: 1rem;
}

.x-pg-row-form-block .booking-select #timeslots,
.merge-form .booking-select #timeslots,
.offcanvas-body .booking-select #timeslots {
	position: relative;
	display: block;
	width: 100%;
	box-sizing: border-box;
	border-radius: 10px;
	border: 1px solid #e5e7eb;
	background: #fff;
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.x-pg-row-form-block .booking-select #timeslots::after,
.merge-form .booking-select #timeslots::after,
.offcanvas-body .booking-select #timeslots::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 16px;
	width: 10px;
	height: 10px;
	border-right: 2px solid #64748b;
	border-bottom: 2px solid #64748b;
	transform: translateY(-65%) rotate(45deg);
	pointer-events: none;
	opacity: 0.9;
}

.x-pg-row-form-block .booking-select #timeslots:focus-within,
.merge-form .booking-select #timeslots:focus-within,
.offcanvas-body .booking-select #timeslots:focus-within {
	border-color: var(--bs-primary);
	box-shadow: 0 0 0 3px rgba(var(--bs-primary-rgb), 0.12);
}

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
	color: rgba(57, 57, 57, 0.2);
}

.flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.today:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day:hover:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day:focus:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.today:hover:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.today:focus:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):not(.selected):not(.startRange):not(.endRange):not(.inRange) {
	color: #1d4ed8 !important;
	font-weight: 600;
}

.flatpickr-day.prevMonthDay:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.prevMonthDay.today:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay.today:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.prevMonthDay:hover:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay:hover:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.prevMonthDay:focus:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay:focus:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.prevMonthDay.today:hover:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay.today:hover:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.prevMonthDay.today:focus:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange),
.flatpickr-day.nextMonthDay.today:focus:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange):not(.inRange) {
	color: #93c5fd !important;
	font-weight: 500;
}

.booking .flatpickr-day.selected,
.booking .flatpickr-day.startRange,
.booking .flatpickr-day.endRange,
.booking .flatpickr-day.selected.inRange,
.booking .flatpickr-day.startRange.inRange,
.booking .flatpickr-day.endRange.inRange,
.booking .flatpickr-day.selected:focus,
.booking .flatpickr-day.startRange:focus,
.booking .flatpickr-day.endRange:focus,
.booking .flatpickr-day.selected:hover,
.booking .flatpickr-day.startRange:hover,
.booking .flatpickr-day.endRange:hover,
.booking .flatpickr-day.selected.prevMonthDay,
.booking .flatpickr-day.startRange.prevMonthDay,
.booking .flatpickr-day.endRange.prevMonthDay,
.booking .flatpickr-day.selected.nextMonthDay,
.booking .flatpickr-day.startRange.nextMonthDay,
.booking .flatpickr-day.endRange.nextMonthDay {
	background-color: var(--bs-danger, #F0762F);
	border-color: var(--bs-danger, #F0762F);
}

.booking-select #time-date-select {
	background-color: #fff;
	min-height: 40px;
}

.booking-select.booking-cal .form-label.small.text-muted.mb-2.d-block {
	display: flex !important;
	align-items: center;
	
}
.booking-select.booking-cal .input-group.flex-grow-1.input-group-sm {
	padding-top: 0;
	padding-bottom: 0;
}
.x-pg-row-form-block .booking-select #timeslots select,
.offcanvas-body .booking-select #timeslots select,
.merge-form .booking-select #timeslots select {
	width: 100%;
	min-height: 40px;
	padding: 10px 40px 10px 12px;
	border: none;
	border-radius: 0;
	background: transparent;
	color: #0f172a;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
	cursor: pointer;
	box-shadow: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.x-pg-row-form-block .booking-select #timeslots select:hover,
.offcanvas-body .booking-select #timeslots select:hover,
.merge-form .booking-select #timeslots select:hover {
	background: transparent;
}

.x-pg-row-form-block .booking-select #timeslots select:focus,
.x-pg-row-form-block .booking-select #timeslots select:focus-visible,
.offcanvas-body .booking-select #timeslots select:focus,
.offcanvas-body .booking-select #timeslots select:focus-visible,
.merge-form .booking-select #timeslots select:focus,
.merge-form .booking-select #timeslots select:focus-visible {
	box-shadow: none;
}

.x-pg-row-form-block .booking-select #timeslots select:disabled,
.offcanvas-body .booking-select #timeslots select:disabled,
.merge-form .booking-select #timeslots select:disabled {
	background: #f8fafc;
	color: #94a3b8;
	cursor: not-allowed;
	box-shadow: none;
}

.merge-form .booking-select #time-date-select {
	border-color: var(--bs-gray-200, #e9ecef);
}

@media screen and (max-width: 767.98px) {
	.booking .hor.hero_form {
		min-height: calc(70vh - 52px);
		border-radius: 0 0 1rem 1rem;
	}

	.booking .hor .main-pic {
		height: calc(50vh - 52px);
		position: relative;
		border-radius: 0;
		overflow: hidden;
	}

	.booking .hor .md-center {
		max-width: 80% !important;
		margin: 0 auto;
	}

	.label_box#timeslots {
		overflow-y: auto;
		max-height: initial;
	}
}

@media screen and (max-width: 991.98px) {
	#venue-date-select-div,
	.x-pg-row-form-block #venue-date-select-div,
	.merge-form #venue-date-select-div,
	.offcanvas-body #venue-date-select-div {
		flex-wrap: wrap;
		gap: 12px;
	}

	.booking-select {
		width: 100%;
		border-right: 0;
		padding-left: 0;
	}

	.booking-select.booking-cal,
	.booking-select.booking-time {
		max-width: 50%;
	}

	.merge-form .booking-select.booking-cal,
	.merge-form .booking-select.booking-time {
		max-width: 100%;
	}

		.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-cal,
		.merge-form #venue-date-select-div > .booking-select.booking-cal,
		.offcanvas-body #venue-date-select-div > .booking-select.booking-cal {
			border-right: 0;
		}

		.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-cal::after,
		.merge-form #venue-date-select-div > .booking-select.booking-cal::after,
		.offcanvas-body #venue-date-select-div > .booking-select.booking-cal::after {
			display: none;
		}
	}

@media screen and (max-width: 767.98px) {
	#venue-date-select-div,
	.x-pg-row-form-block #venue-date-select-div,
	.merge-form #venue-date-select-div,
	.offcanvas-body #venue-date-select-div {
		flex-direction: column !important;
		align-items: stretch;
	}

	.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-cal,
	.x-pg-row-form-block #venue-date-select-div > .booking-select.booking-time,
	.merge-form #venue-date-select-div > .booking-select.booking-cal,
	.merge-form #venue-date-select-div > .booking-select.booking-time,
	.offcanvas-body #venue-date-select-div > .booking-select.booking-cal,
	.offcanvas-body #venue-date-select-div > .booking-select.booking-time {
		max-width: 100%;
		width: 100%;
		flex: 1 1 100%;
	}
}
