.bwr-calc {
	--bwr-primary: var(--e-global-color-primary, #1f3a2e);
	--bwr-accent: var(--e-global-color-accent, #b8860b);
	--bwr-text: var(--e-global-color-text, #333333);
	--bwr-bg: #ffffff;
	--bwr-soft: #f4f6f5;
	--bwr-warn-bg: #fff4e5;
	--bwr-warn: #9a4a00;
	box-sizing: border-box;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 28px;
	background: var(--bwr-bg);
	border: 1px solid #e3e7e5;
	border-top: 5px solid var(--bwr-primary);
	border-radius: 8px;
	box-shadow: 0 4px 18px rgba(0, 0, 0, .07);
	font-family: var(--e-global-typography-text-font-family, inherit), sans-serif;
	color: var(--bwr-text);
}
.bwr-calc *, .bwr-calc *::before, .bwr-calc *::after { box-sizing: border-box; }
.bwr-calc__title {
	margin: 0 0 4px;
	font-family: var(--e-global-typography-primary-font-family, inherit), sans-serif;
	color: var(--bwr-primary);
	font-size: 1.5rem;
	line-height: 1.2;
}
.bwr-calc__subtitle { margin: 0 0 22px; font-size: .95rem; opacity: .85; }
.bwr-calc__title + .bwr-calc__label { margin-top: 18px; }
.bwr-calc__label { display: block; margin-bottom: 6px; font-weight: 600; font-size: .95rem; }
.bwr-calc__input {
	width: 100%;
	padding: 12px 14px;
	font-size: 1.15rem;
	border: 2px solid #cfd6d3;
	border-radius: 6px;
	background: #fff;
	color: var(--bwr-text);
	transition: border-color .15s, box-shadow .15s;
}
.bwr-calc__input:focus {
	outline: none;
	border-color: var(--bwr-primary);
	box-shadow: 0 0 0 3px rgba(0, 0, 0, .1);
}
.bwr-calc__input.is-invalid { border-color: var(--bwr-warn); }
.bwr-calc__result {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 20px;
	padding: 16px 18px;
	background: var(--bwr-soft);
	border-left: 5px solid var(--bwr-accent);
	border-radius: 6px;
}
.bwr-calc__result-label { font-size: .85rem; text-transform: uppercase; letter-spacing: .05em; opacity: .75; }
.bwr-calc__result-value {
	font-family: var(--e-global-typography-primary-font-family, inherit), sans-serif;
	font-size: 2rem;
	font-weight: 700;
	color: var(--bwr-primary);
}
.bwr-calc__notice {
	margin: 14px 0 0;
	padding: 10px 14px;
	background: var(--bwr-warn-bg);
	color: var(--bwr-warn);
	border-radius: 6px;
	font-size: .92rem;
	line-height: 1.4;
}
.bwr-calc__notice[hidden] { display: none; }
