/**
 * 計算器樣式。前台與編輯器共用。
 * 色彩一律走 --jm-* token，由子主題的 tokens.css 定義。
 */

.jm-calc {
	background: var(--jm-surface, #FFFFFF);
	border: 1px solid var(--jm-line, #E2DFD8);
	border-radius: 8px;
	padding: 24px;
	box-shadow: 0 1px 2px rgba( 20, 23, 26, .04 );
}

.jm-calc__fields {
	display: grid;
	grid-template-columns: repeat( 3, 1fr ) auto;
	gap: 14px;
	align-items: end;
}

.jm-calc--full .jm-calc__fields {
	grid-template-columns: repeat( 4, 1fr ) auto;
}

.jm-calc label {
	display: block;
	font-size: 13px;
	color: var(--jm-mute, #6B7280);
	margin-bottom: 6px;
}

.jm-calc input,
.jm-calc select {
	width: 100%;
	background: #fff;
	border: 1px solid var(--jm-line, #E2DFD8);
	border-radius: 4px;
	color: var(--jm-ink, #14171A);
	padding: 11px 12px;
	font-family: var(--jm-mono);
	font-variant-numeric: tabular-nums;
	font-size: 16px;
	/* Blocksy 的表單高度是 height: var(--has-height, var(--theme-form-field-height, 40px))。
	   40px 扣掉上下 padding 只剩 18px，放不下 line-height 26.4px 的文字——
	   數字勉強看得到，中文會被裁掉半截。用它自己留的 --has-height 鉤子改成由內容撐開。 */
	--has-height: auto;
	line-height: 1.4;
}

.jm-calc__go {
	background: var(--jm-accent, #B4451F);
	color: #fff;
	font-weight: 700;
	padding: 13px 26px;
	border: 1px solid var(--jm-accent, #B4451F);
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
	font-family: inherit;
}
.jm-calc__go:hover { filter: brightness( 1.07 ); }

.jm-calc__result {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px dashed var(--jm-line, #E2DFD8);
}
.jm-calc__result[hidden] { display: none; }

.jm-calc__line { margin: 8px 0 0; font-size: 16px; }
.jm-calc__breakdown { margin-top: 18px; }
.jm-calc__disclaimer { margin-top: 12px; font-size: 13px; }

.jm-calc__exits {
	margin-top: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
}

.jm-calc__exit-a {
	display: inline-block;
	background: var(--jm-accent, #B4451F);
	color: #fff;
	font-weight: 700;
	padding: 10px 18px;
	border-radius: 4px;
	font-size: 15px;
	border: 1px solid var(--jm-accent, #B4451F);
	text-decoration: none;
}
.jm-calc__exit-a:hover { color: #fff; filter: brightness( 1.07 ); }

/* 出口 B 刻意做得不像主要按鈕：它通往勸退說明，不是銷售動線。 */
.jm-calc__exit-b {
	display: inline-block;
	background: transparent;
	color: var(--jm-primary, #1B3A4B);
	padding: 10px 18px;
	border: 1px solid var(--jm-line, #E2DFD8);
	border-radius: 4px;
	font-size: 15px;
	text-decoration: none;
}
.jm-calc__exit-b:hover { border-color: var(--jm-primary, #1B3A4B); }

.jm-calc--placeholder { color: var(--jm-mute, #6B7280); }

@media ( max-width: 820px ) {
	.jm-calc__fields,
	.jm-calc--full .jm-calc__fields { grid-template-columns: 1fr 1fr; }
}
@media ( max-width: 520px ) {
	.jm-calc__fields,
	.jm-calc--full .jm-calc__fields { grid-template-columns: 1fr; }
}
