/* Калькулятор цены (поручение 64). Подключается темой только на страницах, где есть data-f24-calc.
   Цвета, рамки и шрифты — те же переменные, что у карточек тарифов в theme.css. */
.f24-calc {
	margin-top: clamp(2.5rem, 5vw, 3.5rem); scroll-margin-top: 6rem;
	background: var(--f24-base); border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
	padding: clamp(1.5rem, 3vw, 2.25rem);
}
.f24-calc > * { margin-block: 0; }
.f24-calc__intro h2 { margin: 0; font-size: clamp(1.5rem, 2.4vw, 1.875rem); }
.f24-calc__intro p { margin: 0.5rem 0 0; color: var(--f24-muted); max-width: 46rem; }
/* Поля слева, итог справа; на телефоне одно под другим. Две ячейки — пустых мест в сетке нет на любой ширине. */
.f24-calc__body {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 3vw, 2.5rem);
	margin-top: 1.5rem; align-items: start;
}
.f24-calc__fields { display: grid; gap: 1.1rem; }
.f24-calc__field { display: grid; gap: 0.4rem; }
.f24-calc__field label { font-weight: 600; font-size: 0.9375rem; }
.f24-calc__field input, .f24-calc__field select {
	width: 100%; min-height: 44px; box-sizing: border-box; padding: 0.8rem 0.95rem; background: var(--f24-base);
	color: var(--f24-text); border: 1px solid color-mix(in srgb, var(--f24-text) 35%, var(--f24-border));
	border-radius: var(--f24-radius); font: inherit;
}
.f24-calc__field select {
	appearance: none; -webkit-appearance: none; cursor: pointer; padding-right: 2.75rem;
	background-image: linear-gradient(45deg, transparent 50%, var(--f24-text) 50%), linear-gradient(135deg, var(--f24-text) 50%, transparent 50%);
	background-position: calc(100% - 1.4rem) 50%, calc(100% - 1.05rem) 50%; background-size: 0.35rem 0.35rem; background-repeat: no-repeat;
}
.f24-calc__field input:focus-visible, .f24-calc__field select:focus-visible {
	outline: 2px solid var(--f24-accent); outline-offset: 2px;
}
.f24-calc__hint { margin: 0; font-size: 0.875rem; color: var(--f24-muted); }
.f24-calc__result {
	display: flex; flex-direction: column; gap: 1rem; padding: clamp(1.25rem, 2.5vw, 1.75rem);
	background: color-mix(in srgb, var(--f24-primary) 7%, var(--f24-base));
	border: 2px solid var(--f24-primary); border-radius: var(--f24-radius);
}
.f24-calc__result p { margin: 0; }
.f24-calc__sum { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 0.5rem; row-gap: 0.25rem; }
.f24-calc__about { width: 100%; font-size: 0.9375rem; font-weight: 600; color: var(--f24-muted); }
.f24-calc__sum strong {
	font-family: var(--f24-heading); font-weight: 800; font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.1;
	letter-spacing: -0.02em; font-variant-numeric: tabular-nums;
}
.f24-calc__period { font-size: 0.9375rem; color: var(--f24-muted); }
.f24-calc__lines { list-style: none; padding: 0.75rem 0 0; margin: 0.75rem 0 0; border-top: 1px solid var(--f24-border); display: grid; gap: 0.4rem; }
.f24-calc__lines li { display: flex; justify-content: space-between; gap: 1rem; font-size: 0.9375rem; }
.f24-calc__lines li span { font-weight: 400; }
.f24-calc__lines li span + span { white-space: nowrap; font-variant-numeric: tabular-nums; font-weight: 600; }
.f24-calc__lines li.is-note { color: var(--f24-muted); }
.f24-calc__note { font-size: 0.875rem; color: var(--f24-muted); }
.f24-calc__lines + .f24-calc__note { margin-top: 0.75rem; }
/* Главная: ссылка «Spočítat cenu» в одну строку с «Příplatky a podmínky» и тем же начертанием. */
.f24-page-link:has(> a[href*="#kalkulacka"]),
.f24-page-link:has(+ .f24-page-link > a[href*="#kalkulacka"]) { display: inline-block; margin-inline-end: 1.75rem; }
.f24-page-link:has(> a[href*="#kalkulacka"]) { margin-block-start: 0; }
.f24-page-link > a[href*="#kalkulacka"] { font-size: 1.0625rem; font-weight: 600; }
.f24-calc__note[hidden] { display: none; }
.f24-calc .wp-block-button { margin-top: 0.25rem; }
.f24-calc .wp-block-button__link { display: block; box-sizing: border-box; width: 100%; text-align: center; }
@media (max-width: 767px) {
	.f24-calc__body { grid-template-columns: minmax(0, 1fr); }
}
