/* J&M Global — 線上開戶註冊頁 Dark Mode（content.jsp layout + jmg-fin.com） */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800&family=Noto+Serif+TC:wght@600;700&display=swap");

:root {
	--jmg-navy-900: #070c1f;
	--jmg-navy-800: #0d142f;
	--jmg-navy-700: #16204a;
	--jmg-gold: #c9a24b;
	--jmg-gold-hi: #e7cd86;
	--jmg-gold-deep: #a67c2e;
	--jmg-gold-grad: linear-gradient(135deg, #e7cd86 0%, #c9a24b 45%, #a67c2e 100%);
	--jmg-navy-grad: linear-gradient(160deg, #0d142f 0%, #101a3d 55%, #16204a 100%);
	--jmg-shadow-sm: 0 4px 18px rgba(0, 0, 0, .28);
	--jmg-shadow-md: 0 14px 40px rgba(0, 0, 0, .38);
	--jmg-ease: cubic-bezier(.22, 1, .36, 1);
	--jmg-serif: "Noto Serif TC", "Songti TC", Georgia, serif;
	--jmg-sans: "Montserrat", "PingFang TC", "Microsoft JhengHei", Arial, sans-serif;
	--jmg-text-on-dark: rgba(255, 255, 255, .9);
	--jmg-muted-on-dark: rgba(255, 255, 255, .68);
	--jmg-line-on-dark: rgba(255, 255, 255, .1);
	--jmg-surface-dark: rgba(255, 255, 255, .04);
	--jmg-input-bg: rgba(255, 255, 255, .94);
	/* 字級：覆蓋 gam.css(14px) / style2.css(15px) */
	--jmg-fs-base: 18px;
	--jmg-fs-sm: 16px;
	--jmg-fs-lg: 20px;
	--jmg-fs-xl: 22px;
	--jmg-fs-2xl: clamp(1.875rem, 4vw, 2.75rem);
	--jmg-fs-legend: 22px;
	--jmg-input-min-h: 42px;
	--jmg-input-radius: 4px;
	--jmg-input-padding-x: .85rem;
	--jmg-input-padding-y: .35rem;
	--jmg-hero-bg: url("../images/jmg/ai_hero.jpg");
}

::selection {
	background: rgba(201, 162, 75, .35);
}

/* ========== content.jsp layout（avondale_content） ========== */
body.jmg-online-layout {
	font-family: var(--jmg-sans) !important;
	font-size: var(--jmg-fs-base) !important;
	line-height: 1.75 !important;
	background-color: var(--jmg-navy-800) !important;
	background-image:
		linear-gradient(180deg, rgba(7, 12, 31, .78) 0%, rgba(13, 20, 47, .86) 42%, rgba(13, 20, 47, .94) 100%),
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201, 162, 75, .12), transparent 55%),
		var(--jmg-hero-bg),
		var(--jmg-navy-grad) !important;
	background-size: auto, auto, cover, auto !important;
	background-position: center top, center top, center top, center top !important;
	background-repeat: no-repeat !important;
	background-attachment: scroll, scroll, fixed, scroll !important;
	color: var(--jmg-text-on-dark) !important;
	-webkit-font-smoothing: antialiased;
	min-height: 100vh;
}

body.jmg-online-layout h4.page-heading,
body.jmg-online-layout .page-heading {
	display: none !important;
}

/* ========== blank.jsp layout（fxgold / login 外框，保留相容） ========== */
body.jmg-online-layout #wrapper,
body:not(.jmg-online-layout) #wrapper {
	font-family: var(--jmg-sans);
}

body.jmg-online-layout #header,
#header {
	background: rgba(9, 14, 33, .92) !important;
	border-bottom: 1px solid rgba(201, 162, 75, .22);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .35);
	height: auto !important;
	min-height: 110px;
	padding: .85rem 0;
}

body.jmg-online-layout #header > img,
#header > img {
	height: 68px !important;
	width: auto !important;
	max-width: 90%;
	filter: drop-shadow(0 4px 14px rgba(201, 162, 75, .3));
}

body.jmg-online-layout #content,
#content {
	background: transparent !important;
	color: var(--jmg-text-on-dark) !important;
	font-size: var(--jmg-fs-base) !important;
	padding: 1.25rem 0 3rem !important;
	min-height: calc(100vh - 160px);
}

body.jmg-online-layout #footer,
#footer {
	background: var(--jmg-navy-900) !important;
	color: rgba(255, 255, 255, .55) !important;
	font-size: var(--jmg-fs-sm) !important;
	border-top: 1px solid rgba(201, 162, 75, .18) !important;
	line-height: 42px !important;
	height: auto !important;
	min-height: 42px;
}

/* ---------- 頁面容器 ---------- */
body.jmg-online-layout .jmg-online-page {
	max-width: 960px;
	margin: 0 auto;
	padding: 1.5rem 1.25rem 3rem;
	font-size: var(--jmg-fs-base) !important;
	line-height: 1.75;
	position: relative;
}

/* ---------- Hero ---------- */
.jmg-online-hero {
	text-align: center;
	padding: .5rem 1rem 2rem;
	margin-bottom: .5rem;
}

body.jmg-online-layout .jmg-online-hero h1 {
	font-family: var(--jmg-serif);
	font-size: var(--jmg-fs-2xl) !important;
	font-weight: 700 !important;
	color: #fff !important;
	margin: 0 0 .65rem;
	line-height: 1.2;
	text-shadow: 0 2px 28px rgba(0, 0, 0, .4);
	letter-spacing: .02em;
}

.jmg-online-hero h1::after {
	content: "";
	display: block;
	width: 64px;
	height: 3px;
	margin: 1rem auto 0;
	background: var(--jmg-gold-grad);
	border-radius: 3px;
	box-shadow: 0 0 12px rgba(201, 162, 75, .45);
}

body.jmg-online-layout .jmg-online-subtitle {
	font-size: var(--jmg-fs-lg) !important;
	color: var(--jmg-muted-on-dark) !important;
	margin: 1rem auto 1.75rem;
	max-width: 32em;
	line-height: 1.6;
	font-weight: 400;
}

/* 三步驟（對齊 jmg-fin.com） */
.jmg-online-steps {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: .5rem 0;
	max-width: 520px;
	margin: 0 auto;
}

.jmg-step {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .35rem;
	padding: .65rem .75rem;
	min-width: 88px;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: rgba(255, 255, 255, .03);
	transition: border-color .3s var(--jmg-ease), background .3s var(--jmg-ease), transform .3s var(--jmg-ease);
	cursor: pointer;
	user-select: none;
}

.jmg-step:hover {
	border-color: rgba(201, 162, 75, .28);
	background: rgba(201, 162, 75, .06);
}

.jmg-step-active {
	border-color: rgba(201, 162, 75, .45);
	background: rgba(201, 162, 75, .1);
	box-shadow: 0 4px 20px rgba(201, 162, 75, .15);
}

.jmg-step-done {
	border-color: rgba(201, 162, 75, .22);
	background: rgba(201, 162, 75, .05);
}

.jmg-step-done .jmg-step-num::after {
	content: ' ✓';
	font-size: 11px;
	opacity: .85;
}

.jmg-step-num {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--jmg-gold-hi);
}

.jmg-step-label {
	font-size: 14px;
	font-weight: 600;
	color: rgba(255, 255, 255, .75);
	white-space: nowrap;
}

.jmg-step-active .jmg-step-label {
	color: #fff;
}

.jmg-step-divider {
	width: 28px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(201, 162, 75, .5), transparent);
	flex-shrink: 0;
}

.jmg-step-hint-src {
	display: none !important;
}

.jmg-step-panel {
	display: none;
}

.jmg-step-panel-active {
	display: block;
}

.jmg-step-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: 2rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .08);
}

.jmg-btn-step {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .65rem 1.35rem;
	font-size: 16px;
	font-weight: 600;
	border-radius: 10px;
	border: 1px solid rgba(201, 162, 75, .35);
	background: rgba(201, 162, 75, .08);
	color: var(--jmg-gold-hi);
	transition: background .25s var(--jmg-ease), border-color .25s var(--jmg-ease), transform .2s var(--jmg-ease);
}

.jmg-btn-step:hover {
	background: rgba(201, 162, 75, .16);
	border-color: rgba(201, 162, 75, .55);
	color: #fff;
}

.jmg-btn-next {
	margin-left: auto;
}

.jmg-btn-prev {
	margin-right: auto;
}

/* ---------- 主卡片 ---------- */
body.jmg-online-layout .jmg-online-row {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.jmg-online-layout .jmg-online-card.the-box,
body.jmg-online-layout .the-box.jmg-online-card {
	background: rgba(13, 20, 47, .72) !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 20px;
	box-shadow:
		0 24px 60px rgba(0, 0, 0, .35),
		inset 0 1px 0 rgba(255, 255, 255, .06);
	padding: clamp(1.5rem, 3vw, 2.25rem) !important;
	margin-bottom: 0 !important;
	color: var(--jmg-text-on-dark) !important;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	overflow: hidden;
	position: relative;
}

body.jmg-online-layout .jmg-online-card.the-box::before,
body.jmg-online-layout .the-box.jmg-online-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--jmg-gold-grad);
	opacity: .85;
}

/* ---------- 語言選擇 ---------- */
body.jmg-online-layout .jmg-online-page .lang,
body.jmg-online-layout .jmg-online-page select.lang {
	float: none !important;
	position: static !important;
	width: auto !important;
	min-width: 150px;
	height: var(--jmg-input-min-h) !important;
	margin: 0 !important;
	padding: 0 .85rem;
	border: 1px solid rgba(201, 162, 75, .35) !important;
	border-radius: var(--jmg-input-radius);
	background: rgba(12, 18, 40, .85) !important;
	color: var(--jmg-text-on-dark) !important;
	font-size: var(--jmg-fs-base) !important;
	font-weight: 500;
}

body.jmg-online-layout .jmg-online-page .lang:focus {
	outline: none;
	border-color: var(--jmg-gold) !important;
	box-shadow: 0 0 0 3px rgba(201, 162, 75, .25);
}

.jmg-online-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	margin-bottom: 1.75rem;
	border-radius: 14px;
	border: 1px solid rgba(201, 162, 75, .2);
	background: rgba(201, 162, 75, .06);
}

.jmg-online-hint-wrap {
	display: flex;
	align-items: flex-start;
	gap: .75rem;
	flex: 1 1 260px;
}

.jmg-online-hint-wrap .fa-info-circle {
	flex-shrink: 0;
	margin-top: .2rem;
	font-size: 20px;
	color: var(--jmg-gold-hi);
	opacity: .9;
}

body.jmg-online-layout .jmg-online-toolbar .jmg-online-hint {
	flex: 1;
	margin: 0;
	font-size: var(--jmg-fs-base) !important;
	color: rgba(255, 255, 255, .82) !important;
	line-height: 1.65;
}

.jmg-lang-wrap {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: .6rem;
	flex-shrink: 0;
	padding: .35rem .5rem .35rem .85rem;
	border-radius: 12px;
	border: 1px solid rgba(201, 162, 75, .28);
	background: rgba(12, 18, 40, .55);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

.jmg-lang-wrap label {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: var(--jmg-fs-base) !important;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
	color: rgba(255, 255, 255, .78) !important;
	margin: 0;
	padding-right: .65rem;
	border-right: 1px solid rgba(201, 162, 75, .22);
	white-space: nowrap;
	line-height: 1;
}

.jmg-lang-wrap label .fa-globe {
	font-size: 15px;
	color: var(--jmg-gold-hi);
	opacity: .9;
}

.jmg-lang-wrap select.lang {
	min-width: 132px;
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding-left: 0;
	padding-right: 1.75rem;
	cursor: pointer;
}

.jmg-lang-wrap select.lang:focus {
	box-shadow: none !important;
}

/* ---------- 表單區塊（覆蓋 gam.css fieldset / form-group） ---------- */
body.jmg-online-layout .jmg-online-page fieldset.scheduler-border,
body.jmg-online-layout .jmg-online-page .jmg-form-section {
	border: 1px solid rgba(255, 255, 255, .1) !important;
	border-left: none !important;
	border-radius: 16px !important;
	background: rgba(255, 255, 255, .03) !important;
	box-shadow: 0 4px 20px rgba(0, 0, 0, .2) !important;
	padding: 0 0 1.5rem !important;
	margin: 0 0 1.75rem !important;
	color: var(--jmg-text-on-dark) !important;
	overflow: hidden;
	transition: border-color .3s var(--jmg-ease), box-shadow .3s var(--jmg-ease);
}

body.jmg-online-layout .jmg-online-page fieldset.scheduler-border:hover,
body.jmg-online-layout .jmg-online-page .jmg-form-section:hover {
	border-color: rgba(201, 162, 75, .28) !important;
	box-shadow: 0 8px 28px rgba(0, 0, 0, .28) !important;
}

body.jmg-online-layout .jmg-online-page legend.scheduler-border {
	font-family: var(--jmg-serif);
	font-size: var(--jmg-fs-legend) !important;
	font-weight: 700 !important;
	color: #fff !important;
	border: none !important;
	width: 100% !important;
	padding: 1rem 1.5rem !important;
	margin: 0 0 1rem !important;
	background: linear-gradient(90deg, rgba(201, 162, 75, .14) 0%, rgba(201, 162, 75, .04) 60%, transparent 100%) !important;
	text-align: left !important;
	border-bottom: 1px solid rgba(255, 255, 255, .08) !important;
	box-sizing: border-box;
}

body.jmg-online-layout .jmg-online-page legend.scheduler-border::after {
	display: none;
}

body.jmg-online-layout .jmg-online-page fieldset.scheduler-border > .row,
body.jmg-online-layout .jmg-online-page fieldset.scheduler-border > .form-group,
body.jmg-online-layout .jmg-online-page .jmg-form-section > .form-group,
body.jmg-online-layout .jmg-online-page .jmg-form-section > .row {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

body.jmg-online-layout .jmg-online-page fieldset .row {
	margin-left: 0;
	margin-right: 0;
}

body.jmg-online-layout .jmg-online-page fieldset .row + .row {
	margin-top: .25rem;
}

body.jmg-online-layout .jmg-online-page fieldset.scheduler-border > .form-group,
body.jmg-online-layout .jmg-online-page fieldset.scheduler-border > .row,
body.jmg-online-layout .jmg-online-page fieldset.scheduler-border > div[class*="col-"] {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	box-sizing: border-box;
}

body.jmg-online-layout .jmg-online-page fieldset .row > [class*="col-"] {
	padding-top: .35rem;
	padding-bottom: .35rem;
}

body.jmg-online-layout .jmg-online-page .control-label,
body.jmg-online-layout .jmg-online-form label {
	color: rgba(255, 255, 255, .92) !important;
	font-weight: 600;
	font-size: 16px !important;
	line-height: 1.5;
}

body.jmg-online-layout .jmg-online-page .text-label,
body.jmg-online-layout .jmg-online-page p {
	color: var(--jmg-text-on-dark) !important;
	font-size: var(--jmg-fs-base) !important;
	line-height: 1.75;
}

body.jmg-online-layout .jmg-online-page .text-label a,
body.jmg-online-layout .jmg-online-page a {
	color: var(--jmg-gold-hi) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.jmg-online-layout .jmg-online-page .text-label a:hover,
body.jmg-online-layout .jmg-online-page a:hover {
	color: #fff !important;
}

body.jmg-online-layout .jmg-online-page .jmg-accent-text {
	color: var(--jmg-gold-hi) !important;
	font-weight: 600;
	font-size: var(--jmg-fs-lg) !important;
}

body.jmg-online-layout .jmg-online-page .form-group {
	border: none !important;
	margin-bottom: .85rem !important;
	background: transparent !important;
}

body.jmg-online-layout .jmg-online-page .form-group div {
	background: transparent !important;
	color: inherit !important;
}

body.jmg-online-layout .jmg-online-page .form-control {
	border-radius: var(--jmg-input-radius) !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	background: rgba(255, 255, 255, .96) !important;
	color: var(--jmg-navy-900) !important;
	font-size: var(--jmg-fs-base) !important;
	box-sizing: border-box !important;
	height: var(--jmg-input-min-h) !important;
	min-height: var(--jmg-input-min-h) !important;
	padding: 0 var(--jmg-input-padding-x) !important;
	line-height: calc(var(--jmg-input-min-h) - 2px) !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .12) !important;
	transition: border-color .25s var(--jmg-ease), box-shadow .25s var(--jmg-ease), transform .2s var(--jmg-ease);
}

body.jmg-online-layout .jmg-online-page textarea.form-control {
	height: auto !important;
	min-height: calc(var(--jmg-input-min-h) * 2.5) !important;
	padding: var(--jmg-input-padding-y) var(--jmg-input-padding-x) !important;
	line-height: 1.5 !important;
}

body.jmg-online-layout .jmg-online-page .form-control:hover {
	border-color: rgba(201, 162, 75, .45) !important;
}

body.jmg-online-layout .jmg-online-page .form-control:focus {
	border-color: var(--jmg-gold) !important;
	box-shadow: 0 0 0 4px rgba(201, 162, 75, .22), 0 4px 12px rgba(0, 0, 0, .15) !important;
	outline: none !important;
}

body.jmg-online-layout .jmg-online-page select.form-control {
	background-color: var(--jmg-input-bg) !important;
	color: var(--jmg-navy-900) !important;
	font-size: var(--jmg-fs-base) !important;
}

body.jmg-online-layout .jmg-online-page input[type="file"] {
	font-size: var(--jmg-fs-sm) !important;
	color: var(--jmg-muted-on-dark) !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	height: var(--jmg-input-min-h);
	min-height: var(--jmg-input-min-h);
	padding: var(--jmg-input-padding-y) var(--jmg-input-padding-x);
	border-radius: var(--jmg-input-radius);
	border: 1px dashed rgba(201, 162, 75, .35) !important;
	background: rgba(201, 162, 75, .05) !important;
	cursor: pointer;
	transition: border-color .25s var(--jmg-ease), background .25s var(--jmg-ease);
}

body.jmg-online-layout .jmg-online-page input[type="file"]:hover {
	border-color: rgba(201, 162, 75, .6) !important;
	background: rgba(201, 162, 75, .1) !important;
}

body.jmg-online-layout .jmg-online-page input[type="checkbox"],
body.jmg-online-layout .jmg-online-page input[type="radio"] {
	accent-color: var(--jmg-gold);
	margin-right: .65rem;
	width: 24px;
	height: 24px;
	min-width: 24px;
	min-height: 24px;
	vertical-align: middle;
	cursor: pointer;
	flex-shrink: 0;
}

body.jmg-online-layout .jmg-online-form .text-label input[type="checkbox"],
body.jmg-online-layout .jmg-online-form .text-label input[type="radio"],
body.jmg-online-layout .jmg-online-form p input[type="checkbox"],
body.jmg-online-layout .jmg-online-form p input[type="radio"] {
	width: 26px;
	height: 26px;
	min-width: 26px;
	min-height: 26px;
	margin-top: .1rem;
	margin-right: .8rem;
	vertical-align: top;
}

body.jmg-online-layout .jmg-online-page .bbig {
	color: #ff6b6b !important;
	font-weight: 600;
	font-size: var(--jmg-fs-base) !important;
}

body.jmg-online-layout .jmg-online-page span[style*="color: red"],
body.jmg-online-layout .jmg-online-page [style*="color: red"] {
	color: #ff6b6b !important;
}

body.jmg-online-layout .jmg-online-page ol,
body.jmg-online-layout .jmg-online-page ul {
	padding-left: 1.5rem;
	color: var(--jmg-text-on-dark) !important;
	font-size: var(--jmg-fs-base) !important;
}

body.jmg-online-layout .jmg-online-page ol li,
body.jmg-online-layout .jmg-online-page ul li {
	margin-bottom: .5rem;
	line-height: 1.75;
	font-size: var(--jmg-fs-base) !important;
}

body.jmg-online-layout .jmg-online-page .text-label span[style*="font-weight"] {
	font-size: var(--jmg-fs-lg) !important;
}

/* ---------- 提交區 ---------- */
body.jmg-online-layout .jmg-submit-bar {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 2rem;
	padding: 1.75rem 1rem 1rem;
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: linear-gradient(180deg, transparent, rgba(201, 162, 75, .04));
}

body.jmg-online-layout .jmg-online-page #btnSend,
body.jmg-online-layout .jmg-online-page .jmg-btn-submit {
	min-width: 260px;
	padding: 1rem 2.75rem !important;
	font-size: var(--jmg-fs-lg) !important;
	font-weight: 700 !important;
	letter-spacing: .04em;
	color: var(--jmg-navy-900) !important;
	background: var(--jmg-gold-grad) !important;
	border: none !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(201, 162, 75, .38);
	transition: transform .3s var(--jmg-ease), box-shadow .3s var(--jmg-ease);
}

body.jmg-online-layout .jmg-online-page #btnSend .fa,
body.jmg-online-layout .jmg-online-page .jmg-btn-submit .fa {
	margin-right: .5rem;
}

body.jmg-online-layout .jmg-online-page #btnSend:hover,
body.jmg-online-layout .jmg-online-page .jmg-btn-submit:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px rgba(201, 162, 75, .52);
	color: var(--jmg-navy-900) !important;
}

body.jmg-online-layout .jmg-online-page #btnSend:active,
body.jmg-online-layout .jmg-online-page .jmg-btn-submit:active {
	transform: translateY(-1px);
}

body.jmg-online-layout .jmg-online-page .form-group:has(#btnSend) {
	display: none;
}

/* ---------- 驗證狀態 ---------- */
body.jmg-online-layout .jmg-online-page .has-error .control-label,
body.jmg-online-layout .jmg-online-page .has-error .help-block {
	color: #ff8a8a !important;
	font-size: var(--jmg-fs-sm) !important;
}

body.jmg-online-layout .jmg-online-page .has-error .form-control {
	border-color: #e74c3c !important;
}

body.jmg-online-layout .jmg-online-page .has-success .control-label {
	color: #7dcea0 !important;
}

body.jmg-online-layout .jmg-online-page .help-block {
	font-size: var(--jmg-fs-sm) !important;
	color: #ff8a8a !important;
}

body.jmg-online-layout .jmg-online-page .glyphicon-remove {
	color: #ff6b6b;
	font-size: var(--jmg-fs-base) !important;
}

body.jmg-online-layout .jmg-online-page .glyphicon-ok {
	color: #58d68d;
	font-size: var(--jmg-fs-base) !important;
}

/* ---------- Datepicker（append 到 body，需獨立 selector） ---------- */
body.jmg-online-layout .datepicker.dropdown-menu,
body.jmg-online-layout .datepicker-dropdown {
	background: #fff !important;
	border: 1px solid rgba(201, 162, 75, .42) !important;
	border-radius: 14px !important;
	box-shadow:
		0 20px 50px rgba(0, 0, 0, .42),
		0 0 0 1px rgba(255, 255, 255, .06) !important;
	color: #0d142f !important;
	padding: .75rem .65rem !important;
	font-size: 15px !important;
	min-width: 290px;
	z-index: 10050 !important;
}

body.jmg-online-layout .datepicker table {
	width: 100%;
	margin: 0;
	background: transparent !important;
}

body.jmg-online-layout .datepicker th,
body.jmg-online-layout .datepicker td {
	text-align: center;
	border: none !important;
	padding: .4rem .35rem;
	background: transparent !important;
}

body.jmg-online-layout .datepicker .switch,
body.jmg-online-layout .datepicker th.switch {
	color: #0d142f !important;
	font-weight: 700;
	font-size: 16px !important;
	cursor: pointer;
	border-radius: 8px;
}

body.jmg-online-layout .datepicker .prev,
body.jmg-online-layout .datepicker .next {
	color: #3d4663 !important;
	font-size: 20px !important;
	font-weight: 700;
	cursor: pointer;
	border-radius: 8px;
	line-height: 1;
}

body.jmg-online-layout .datepicker .prev:hover,
body.jmg-online-layout .datepicker .next:hover,
body.jmg-online-layout .datepicker .switch:hover {
	background: rgba(201, 162, 75, .14) !important;
	color: #0d142f !important;
}

body.jmg-online-layout .datepicker .dow {
	color: #5c6478 !important;
	font-weight: 700;
	font-size: 13px !important;
	text-transform: uppercase;
	letter-spacing: .04em;
}

body.jmg-online-layout .datepicker td.day,
body.jmg-online-layout .datepicker span.day {
	color: #0d142f !important;
	border-radius: 999px;
	cursor: pointer;
}

body.jmg-online-layout .datepicker td.day:hover,
body.jmg-online-layout .datepicker span.day:hover {
	background: rgba(201, 162, 75, .16) !important;
	color: #0d142f !important;
}

body.jmg-online-layout .datepicker td.day.old,
body.jmg-online-layout .datepicker td.day.new,
body.jmg-online-layout .datepicker span.day.old,
body.jmg-online-layout .datepicker span.day.new {
	color: #a8afc0 !important;
}

body.jmg-online-layout .datepicker td.day.active,
body.jmg-online-layout .datepicker td.active,
body.jmg-online-layout .datepicker span.day.active,
body.jmg-online-layout .datepicker td span.active {
	background: var(--jmg-gold-grad) !important;
	color: #0d142f !important;
	font-weight: 700;
	text-shadow: none !important;
}

body.jmg-online-layout .datepicker td.day.today,
body.jmg-online-layout .datepicker span.day.today {
	background: rgba(201, 162, 75, .22) !important;
	color: #0d142f !important;
	font-weight: 700;
}

body.jmg-online-layout .datepicker td.day.today.active,
body.jmg-online-layout .datepicker span.day.today.active {
	background: var(--jmg-gold-grad) !important;
}

body.jmg-online-layout .datepicker td.day.disabled,
body.jmg-online-layout .datepicker span.day.disabled {
	color: #c5cad6 !important;
	cursor: default;
	background: transparent !important;
}

body.jmg-online-layout .datepicker .month,
body.jmg-online-layout .datepicker .year {
	display: inline-block;
	width: 33.33%;
	padding: .55rem .25rem;
	border-radius: 8px;
	color: #0d142f !important;
	cursor: pointer;
}

body.jmg-online-layout .datepicker .month:hover,
body.jmg-online-layout .datepicker .year:hover {
	background: rgba(201, 162, 75, .14) !important;
}

body.jmg-online-layout .datepicker .month.active,
body.jmg-online-layout .datepicker .year.active {
	background: var(--jmg-gold-grad) !important;
	color: #0d142f !important;
	font-weight: 700;
}

body.jmg-online-layout .datepicker .month.old,
body.jmg-online-layout .datepicker .month.new,
body.jmg-online-layout .datepicker .year.old,
body.jmg-online-layout .datepicker .year.new {
	color: #a8afc0 !important;
}

/* bo_golden 獨立頁（無外層 layout） */
body.jmg-online-layout {
	display: block !important;
	padding: 0;
	margin: 0;
}

body.jmg-online-layout .container {
	max-width: none;
	width: 100%;
	padding: 0;
	margin: 0;
}

/* step2 成功頁 */
body.jmg-online-layout .jmg-online-success-page {
	max-width: 640px;
	margin: 0 auto;
	padding: 3rem 1.25rem;
}

body.jmg-online-layout .jmg-online-success-card {
	text-align: center;
	padding: 2.5rem 2rem;
}

body.jmg-online-layout .jmg-online-success-card .fa-check-circle {
	font-size: 3.5rem;
	color: var(--jmg-gold-hi);
	margin-bottom: 1rem;
}

body.jmg-online-layout .jmg-online-success-card h2 {
	font-family: var(--jmg-serif);
	color: #fff;
	margin: 0 0 .75rem;
	font-size: var(--jmg-fs-xl);
}

body.jmg-online-layout .jmg-online-success-card p {
	color: rgba(255, 255, 255, .82);
	margin: 0;
	font-size: var(--jmg-fs-base);
}
@media (max-width: 768px) {
	body.jmg-online-layout {
		font-size: 17px !important;
		background-attachment: scroll, scroll, scroll, scroll !important;
	}

	body.jmg-online-layout .jmg-online-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.jmg-lang-wrap {
		align-self: flex-end;
		width: auto;
	}

	body.jmg-online-layout .jmg-online-page select.lang {
		width: auto !important;
		min-width: 120px;
	}

	.jmg-online-steps {
		gap: .35rem;
	}

	.jmg-step-divider {
		width: 16px;
	}

	.jmg-step-label {
		font-size: 12px;
	}

	body.jmg-online-layout .jmg-online-page #btnSend,
	body.jmg-online-layout .jmg-online-page .jmg-btn-submit {
		width: 100%;
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.jmg-online-layout .jmg-online-page * {
		transition-duration: .001ms !important;
	}
}
