/*
 * xhj-booking.css — 預約表單樣式。grep-clean（無 fixed/absolute/sticky/100vw/負 margin）。
 * honeypot 用 clip 隱藏（非 position:absolute），維持禁則。
 */

.xhj-booking .xhj-booking-form {
	background: var(--paper);
	border: 1px solid var(--line-c);
	border-radius: var(--r);
	padding: 24px;
	box-shadow: var(--shadow);
}

/* honeypot：對真人隱藏但機器人看得到（不用 position:absolute） */
.xhj-booking .xhj-hp {
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
	padding: 0;
	margin: 0;
}

.xhj-booking .xhj-field-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0 18px;
}

.xhj-booking .xhj-field {
	margin: 0 0 16px;
}

.xhj-booking .xhj-field label,
.xhj-booking .xhj-field legend {
	display: block;
	font-weight: 700;
	font-size: .95rem;
	margin: 0 0 6px;
	color: var(--ink);
}

.xhj-booking .xhj-field input[type="text"],
.xhj-booking .xhj-field input[type="tel"],
.xhj-booking .xhj-field input[type="date"],
.xhj-booking .xhj-field input[type="number"],
.xhj-booking .xhj-field select,
.xhj-booking .xhj-field textarea {
	width: 100%;
	padding: 11px 13px;
	border: 1px solid var(--line-c);
	border-radius: 10px;
	font-size: 1rem;
	font-family: inherit;
	color: var(--ink);
	background: #fff;
}

.xhj-booking .xhj-field input:focus,
.xhj-booking .xhj-field select:focus,
.xhj-booking .xhj-field textarea:focus {
	outline: 2px solid var(--petrol);
	outline-offset: 1px;
	border-color: var(--petrol);
}

.xhj-booking .xhj-req { color: var(--coral); }

.xhj-booking fieldset.xhj-field {
	border: 1px solid var(--line-c);
	border-radius: 10px;
	padding: 12px 14px;
}

.xhj-booking .xhj-radio {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
	margin-right: 20px;
}

.xhj-booking .xhj-submit-row {
	margin-top: 8px;
}

.xhj-booking .xhj-field-hint {
	font-size: .9rem;
	color: var(--ink-soft);
	margin: 8px 0 0;
}

/* 送出結果提示 */
.xhj-booking .xhj-notice {
	border-radius: 12px;
	padding: 14px 16px;
	margin: 0 0 18px;
	font-weight: 600;
}

.xhj-booking .xhj-notice--ok {
	background: #e6f7ee;
	border: 1px solid var(--green);
	color: #0a6b39;
}

.xhj-booking .xhj-notice--err {
	background: #fdeee9;
	border: 1px solid var(--coral);
	color: #9a3417;
}
