.cft {
	--cft-accent: var(--accent, #a83a3f);
	background: #fff;
	border: 1px solid var(--line, #e3e0d8);
	border-top: 5px solid var(--cft-accent);
	border-radius: 12px;
	padding: clamp(20px, 4vw, 32px);
	box-shadow: 0 1px 2px rgba(28, 42, 36, .06), 0 10px 30px rgba(28, 42, 36, .07);
	font-size: 17px;
	line-height: 1.5;
}
.cft__form { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; align-items: end; }
@media (max-width: 600px) { .cft__form { grid-template-columns: 1fr; } }
.cft__row { display: flex; flex-direction: column; gap: 6px; }
.cft__row label { font-weight: 700; font-size: 15px; }
.cft__row input, .cft__row select {
	font: inherit; padding: 12px 14px; border: 1.5px solid var(--line, #e3e0d8); border-radius: 10px;
	background: var(--paper, #fbfaf7); color: var(--ink, #1c2a24); width: 100%;
}
.cft__row input:focus, .cft__row select:focus { outline: none; border-color: var(--cft-accent); box-shadow: 0 0 0 3px rgba(28, 42, 36, .12); }
.cft__btn {
	grid-column: 1 / -1; justify-self: start; font: inherit; font-weight: 700; cursor: pointer;
	padding: 13px 28px; border: 0; border-radius: 999px; background: var(--ink, #1c2a24); color: #fff;
}
.cft__btn:hover { background: var(--accent-d, #8a2b30); }
.cft__error { grid-column: 1 / -1; margin: 0; color: #b3261e; font-weight: 600; }
.cft__result { margin-top: 26px; padding-top: 24px; border-top: 1px dashed var(--line, #e3e0d8); }
.cft__big { display: flex; flex-direction: column; gap: 4px; margin-bottom: 18px; }
.cft__label { font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3, #6b746f); }
.cft__big strong { font-family: var(--serif, Georgia, serif); font-size: clamp(30px, 5vw, 42px); line-height: 1.1; color: var(--ink, #1c2a24); }
.cft__list { margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 24px; }
@media (max-width: 600px) { .cft__list { grid-template-columns: 1fr; } }
.cft__list > div { background: var(--cream, #f2f0ea); border-radius: 10px; padding: 12px 14px; }
.cft__list dt { font-size: 13.5px; color: var(--ink-2, #47524c); }
.cft__list dd { margin: 2px 0 0; font-weight: 700; }
.cft__note { margin: 18px 0 0; font-size: 14.5px; color: var(--ink-2, #47524c); }
.cft__table { width: 100%; border-collapse: collapse; margin-top: 18px; font-size: 15.5px; }
.cft__table th, .cft__table td { text-align: left; padding: 9px 10px; border-bottom: 1px solid var(--line, #e3e0d8); }
.cft__table th { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--ink-3, #6b746f); }
.cft--meggy { --cft-accent: var(--meggy, #a83a3f); }
.cft--zold { --cft-accent: var(--zold, #2f6b4f); }
.cft--kek { --cft-accent: var(--kek, #2e5a87); }
.cft--okker { --cft-accent: var(--okker, #b98a1e); }
.cft--szilva { --cft-accent: var(--szilva, #6e3b5e); }
.cft--teal { --cft-accent: var(--teal, #2b6670); }
.cft__hint { font-size: 13.5px; color: var(--ink-3, #6b746f); }
.cft__row--check { grid-column: 1 / -1; }
.cft__row--check label { display: flex; gap: 10px; align-items: flex-start; font-weight: 600; }
.cft__row--check input { width: 20px; height: 20px; margin-top: 2px; flex-shrink: 0; accent-color: var(--cft-accent); }
.cft__group { grid-column: 1 / -1; border: 0; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px 20px; }
@media (max-width: 600px) { .cft__group { grid-template-columns: 1fr; } }
.cft__group legend { font-family: var(--serif, Georgia, serif); font-weight: 650; font-size: 18px; padding: 0; margin-bottom: 10px; }
.cft__warn { margin: 18px 0 0; padding: 12px 14px; border-radius: 8px; background: var(--c-meggy-bg, #f6e3e2); color: var(--accent-d, #8a2b30); font-weight: 600; font-size: 15px; }
.cft__note a { color: inherit; }

/* Ajánlott partner és kapcsolódó részek a kalkulátoroldalakon */
.ck-partner { margin: 40px 0; padding: 20px 22px; border: 1px dashed var(--line, #e3e0d8); border-radius: 10px; background: #fff; }
.ck-partner__kicker { margin: 0 0 6px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3, #6b746f); }
.ck-partner--empty p:last-child { margin: 0; color: var(--ink-2, #47524c); font-size: 15px; }
.faq--page { max-width: none; margin: 48px 0 0; }
.related--page, .related--tools { margin-top: 56px; }
.related--page .band__title, .related--tools .band__title { margin-bottom: 20px; }
