/*
 * Стили компонентов темы. Цвета и шрифты берутся из theme.json (и из выбранного
 * варианта оформления), поэтому здесь нет ни одного цветового кода, кроме цвета ошибки.
 */

:root {
	--f24-base: var(--wp--preset--color--base);
	--f24-surface: var(--wp--preset--color--surface);
	--f24-text: var(--wp--preset--color--contrast);
	--f24-muted: var(--wp--preset--color--muted);
	--f24-primary: var(--wp--preset--color--primary);
	--f24-primary-dark: var(--wp--preset--color--primary-dark);
	--f24-on-primary: var(--wp--preset--color--on-primary);
	--f24-accent: var(--wp--preset--color--accent);
	--f24-border: var(--wp--preset--color--border);
	--f24-ink: var(--wp--preset--color--ink);
	--f24-on-ink: var(--wp--preset--color--on-ink);
	--f24-heading: var(--wp--preset--font-family--heading);
	--f24-radius: var(--wp--custom--radius, 4px);
	--f24-error: var(--wp--custom--error, #b42318);
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal;
}
.screen-reader-text:focus { clip: auto; clip-path: none; height: auto; width: auto; }

/* Блоки внутри сеток не получают лишних отступов от общего интервала. */
.f24-hero__grid > *, .f24-services > *, .f24-steps > *, .f24-plans > *, .f24-team > *, .f24-quotes > *,
.f24-faq > *, .f24-contacts > *, .f24-footer__grid > * { margin-block: 0; }

.f24-main { padding-block: 0; max-width: none; margin-block: 0; }
.f24-main > .wp-block-post-content { margin-block: 0; }
.f24-main > .wp-block-post-content.alignfull { max-width:none; }
.wp-site-blocks > * { margin-block: 0; }
.wp-block-post-content > .alignfull, .f24-main > .alignfull { margin-block: 0; }

/* ---------- Шапка ---------- */
.f24-header {
	background: var(--f24-base);
	border-bottom: 1px solid var(--f24-border);
	padding-block: 0.9rem;
	position: relative;
	z-index: 20;
}

.f24-brand { margin: 0; font-family: var(--f24-heading); font-weight: 800; font-size: 1.4rem; letter-spacing: -0.02em; line-height: 1; }
.f24-brand a { color: var(--f24-text); text-decoration: none; display: inline-flex; align-items: center;  }

.f24-header__tools { gap: 1.25rem; margin: 0; }
.f24-header__phone { margin: 0; font-size: 0.9375rem; font-weight: 600; white-space: nowrap; }
.f24-header__phone a { color: var(--f24-text); text-decoration: none; }
.f24-header__phone a:hover { color: var(--f24-primary); }

.f24-lang__list { display: flex; gap: 0.15rem; margin: 0; padding: 0; list-style: none; }
.f24-lang__link {
	display: block; padding: 0.35rem 0.5rem; border: 1px solid transparent; border-radius: var(--f24-radius);
	color: var(--f24-muted); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-decoration: none;
}
.f24-lang__link:hover { color: var(--f24-text); }
.f24-lang__link[aria-current="true"] { color: var(--f24-text); border-color: var(--f24-border); background: var(--f24-surface); }

@media (max-width: 960px) {
	
	.f24-header__tools { margin-left: auto; }
}
@media (max-width: 640px) {
	.f24-header__phone { display: block; }
	.f24-brand { font-size: 1.2rem; }
}

/* ---------- Общие части секций ---------- */

.f24-section--surface { background: var(--f24-surface); }
.f24-sechead { max-width: 46rem; margin-bottom: var(--wp--preset--spacing--60); }
.f24-sechead > * + * { margin-top: 0.9rem; }
.f24-sechead h2, .f24-faq__intro h2, .f24-contacts__info h2 { margin: 0; font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); line-height: 1.12; }
.f24-eyebrow {
	margin: 0; color: var(--f24-accent); font-size: 0.8125rem; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase;
}
.f24-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--f24-muted); max-width: 38rem; }
.f24-note { color: var(--f24-muted); font-size: 0.9375rem; margin: 0; }
.f24-fineprint { color: var(--f24-muted); font-size: 0.9375rem; margin-top: 2rem; max-width: 46rem; }

.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--f24-primary); border: 1.5px solid var(--f24-primary);
}
.is-style-outline > .wp-block-button__link:hover { background: var(--f24-primary); color: var(--f24-on-primary); }

/* ---------- Первый экран ---------- */
.f24-hero { padding-block: var(--wp--preset--spacing--70) var(--wp--preset--spacing--70);  }
.f24-hero__grid { display: grid;    }
.f24-hero__text > * + * { margin-top: 1.4rem; }
.f24-hero__text h1 { margin: 0.3rem 0 0;  text-wrap: balance; }
.f24-hero__text .wp-block-buttons { margin-top: 2rem; }
.f24-hero__facts {
	background: var(--f24-ink); color: var(--f24-on-ink); 
	border-radius: var(--f24-radius); 
}
.f24-fact {  align-items: baseline; gap: 1.25rem; padding-block: 1.15rem; margin: 0; }

.f24-fact__n { margin: 0; font-family: var(--f24-heading); font-weight: 800;  line-height: 1;  letter-spacing: -0.03em; }
.f24-fact__t { margin: 0; color: color-mix(in srgb, var(--f24-on-ink) 82%, transparent);   }


/* ---------- Услуги ---------- */
.f24-services { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--60) clamp(2rem, 4vw, 3.5rem); }
.f24-service { border-top: 2px solid var(--f24-text); padding-top: 1.25rem; }
.f24-service > * + * { margin-top: 0.7rem; }
.f24-service h3 { margin: 0; }
.f24-service p { color: var(--f24-muted); margin: 0; }
.f24-service .f24-service__n { color: var(--f24-accent); }
.f24-service__n { font-family: var(--f24-heading); font-weight: 700; font-size: 0.875rem; letter-spacing: 0.1em; }
@media (max-width: 960px) { .f24-services { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .f24-services { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Цены ---------- */
.f24-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; align-items: stretch; }
.f24-plan {
	background: var(--f24-base); border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
	padding: clamp(1.5rem, 3vw, 2.25rem); display: flex; flex-direction: column; gap: 0.75rem; position: relative;
}
.f24-plan.is-featured { border: 2px solid var(--f24-primary); box-shadow: var(--wp--custom--shadow); }
.f24-plan > * { margin-block: 0; }
.f24-plan h3 { margin-top: 0.25rem; }
.f24-plan__tag {
	align-self: flex-start; background: var(--f24-primary); color: var(--f24-on-primary); font-size: 0.75rem;
	font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.25em 0.7em; border-radius: 2px;
}
.f24-plan__price { font-family: var(--f24-heading); font-weight: 800; font-size: clamp(1.9rem, 3vw, 2.4rem); line-height: 1.1; letter-spacing: -0.02em; margin-top: 0.5rem; }
.f24-plan__limit { color: var(--f24-muted); font-size: 0.9375rem; padding-bottom: 1rem; border-bottom: 1px solid var(--f24-border); }
.f24-plan__list { list-style: none; padding: 0; margin: 0.5rem 0 1rem; display: grid; gap: 0.65rem; }
.f24-plan__list li { position: relative; padding-left: 1.6rem; }
.f24-plan__list li::before {
	content: ""; position: absolute; left: 0.2rem; top: 0.35em; width: 0.3em; height: 0.6em;
	border: solid var(--f24-primary); border-width: 0 2px 2px 0; transform: rotate(45deg);
}
.f24-plan .wp-block-buttons { margin-top: auto; }
.f24-plan .wp-block-button, .f24-plan .wp-block-button__link { width: 100%; text-align: center; }
@media (max-width: 960px) { .f24-plans { grid-template-columns: minmax(0, 1fr); max-width: 34rem; } }

/* ---------- Команда ---------- */
.f24-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--50) 2rem; }
.f24-person > * + * { margin-top: 0.6rem; }
.f24-person__mark {
	width: 4.5rem; height: 4.5rem; display: grid; place-items: center; margin: 0 0 1rem; background: var(--f24-surface);
	color: var(--f24-primary); border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
	font-family: var(--f24-heading); font-weight: 800; font-size: 1.5rem; letter-spacing: 0.02em;
}
.f24-person h3 { margin: 0; }
.f24-person__role { color: var(--f24-accent);  font-weight: 700;   }
.f24-person p:last-child { color: var(--f24-muted); margin: 0; }
@media (max-width: 960px) { .f24-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }


/* ---------- Отзывы ---------- */
.f24-quotes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.f24-quote {
	margin: 0; background: var(--f24-base); border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
	padding: clamp(1.5rem, 3vw, 2rem); display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem;
	font-style: normal;
}
.f24-quote p { font-size: 1.125rem; line-height: 1.55; margin: 0; font-style: normal; }
.f24-quote cite { font-style: normal; font-size: 0.9375rem; color: var(--f24-muted); line-height: 1.4; display: block; }
.f24-quote cite strong { color: var(--f24-text); }
@media (max-width: 960px) { .f24-quotes { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Вопросы и ответы ---------- */
.f24-faq { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.f24-faq__intro > * + * { margin-top: 1rem; }
.f24-faq__list > * + * { margin-top: 0; }
.f24-faq__list .wp-block-details { border-top: 1px solid var(--f24-border); padding: 0; margin: 0; }
.f24-faq__list .wp-block-details:last-child { border-bottom: 1px solid var(--f24-border); }
.f24-faq__list summary {
	cursor: pointer; list-style: none; padding: 1.15rem 2.5rem 1.15rem 0; position: relative;
	font-family: var(--f24-heading); font-weight: 600; font-size: 1.0625rem; line-height: 1.35;
}
.f24-faq__list summary::-webkit-details-marker { display: none; }
.f24-faq__list summary::after, .f24-faq__list summary::before {
	content: ""; position: absolute; right: 0.4rem; top: 50%; width: 0.9rem; height: 2px; background: var(--f24-primary); transition: transform 0.2s;
}
.f24-faq__list summary::before { transform: rotate(90deg); }
.f24-faq__list details[open] summary::before { transform: rotate(0deg); }
.f24-faq__list details > :not(summary) { color: var(--f24-muted); margin: 0 2.5rem 1.25rem 0; }
@media (prefers-reduced-motion: reduce) { .f24-faq__list summary::before { transition: none; } }
@media (max-width: 960px) { .f24-faq { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Контакты ---------- */
.f24-contacts { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.f24-contacts__info > * + * { margin-top: 1.25rem; }
.f24-contacts__lines { font-size: var(--wp--preset--font-size--large); line-height: 1.7; }
.f24-contacts__lines a { color: var(--f24-text); text-decoration-color: var(--f24-accent); text-underline-offset: 0.2em; }

.f24-hours__row { gap: 1rem; padding-block: 0.7rem; margin: 0; border-bottom: 1px solid var(--f24-border); }
.f24-hours__row:first-child { border-top: 1px solid var(--f24-border); }
.f24-hours__row p { margin: 0; }
.f24-hours__row p:last-child { font-weight: 600; text-align: right; }
.f24-contacts__form {
	background: var(--f24-surface); border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
	padding: clamp(1.5rem, 3vw, 2.5rem);
}
.f24-contacts__form > * + * { margin-top: 0.75rem; }
.f24-contacts__form h3 { margin: 0; font-size: var(--wp--preset--font-size--x-large); }
@media (max-width: 960px) { .f24-contacts { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Форма ---------- */
.f24-form { display: grid; gap: 1.1rem; margin-top: 1.25rem; }
.f24-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.f24-form__field { display: grid; gap: 0.4rem; }
.f24-form label { font-weight: 600; font-size: 0.9375rem; }
.f24-form input:not([type="hidden"]), .f24-form textarea {
	width: 100%; 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-form textarea { resize: vertical; min-height: 8rem; }
.f24-form input:focus-visible, .f24-form textarea:focus-visible { outline: 2px solid var(--f24-accent); outline-offset: 2px; }
.f24-form [aria-invalid="true"] { border-color: var(--f24-error); }
.f24-form__consent { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; }
.f24-form__consent input { margin-top: 0.3rem; width: 1.1rem; height: 1.1rem; accent-color: var(--f24-primary); }
.f24-form__consent label { font-weight: 400; font-size: 0.9375rem; color: var(--f24-muted); }
.f24-form__submit { justify-self: start; border: 0; cursor: pointer; line-height: 1.2; }
.f24-form__submit:disabled { opacity: 0.6; cursor: progress; }
.f24-form__status:empty { display: none; }
.f24-form__status { display: grid; gap: 0.5rem; }
.f24-form__message { margin: 0; padding: 0.75rem 1rem; border-radius: var(--f24-radius); font-size: 0.9375rem; color: var(--f24-text); }
.f24-form__message.is-ok { background: color-mix(in srgb, var(--f24-primary) 12%, var(--f24-base)); border-left: 3px solid var(--f24-primary); }
.f24-form__message.is-error { background: color-mix(in srgb, var(--f24-error) 12%, var(--f24-base)); border-left: 3px solid var(--f24-error); }

/* ---------- Призыв к действию ---------- */
.f24-cta { background: var(--f24-ink); color: var(--f24-on-ink); }
.f24-cta__inner { display: flex; flex-wrap: wrap; gap: 2rem 3rem; align-items: center; justify-content: space-between; }
.f24-cta__inner > * { margin: 0; }
.f24-cta h2 { color: var(--f24-on-ink); max-width: 38rem; font-size: var(--wp--preset--font-size--x-large); line-height: 1.25; }
.f24-cta .wp-block-button__link { background: var(--f24-on-ink); color: var(--f24-ink); }
.f24-cta .wp-block-button__link:hover { background: var(--f24-accent); color: var(--f24-ink); }

/* ---------- Заголовок страницы ---------- */
.f24-pagehead { background: var(--f24-surface); border-bottom: 1px solid var(--f24-border);  }
.f24-pagehead > * { margin-block: 0; }
.f24-pagehead h1 { margin: 0; }

.f24-prose h2 { margin-top: 2.25rem; font-size: 1.5rem; }
.f24-prose p, .f24-prose li { color: var(--f24-text); }
.f24-prose ul { padding-left: 1.25rem; }
.f24-post-row { padding-block: 1.5rem; border-bottom: 1px solid var(--f24-border); }
.f24-post-row h2 { margin: 0.4rem 0; font-size: 1.5rem; }

/* ---------- Подвал ---------- */
.f24-footer { background: var(--f24-ink); color: var(--f24-on-ink); padding-block: var(--wp--preset--spacing--60) 2rem; font-size: 0.9375rem; }
.f24-footer a { color: var(--f24-on-ink); text-decoration-color: color-mix(in srgb, var(--f24-on-ink) 45%, transparent); text-underline-offset: 0.2em; }
.f24-footer a:hover { text-decoration-color: currentColor; }


.f24-footer__col p { margin-block: 0; line-height: 1.7; }
.f24-footer__brand { font-family: var(--f24-heading); font-weight: 800; font-size: 1.5rem; letter-spacing: -0.02em; }
.f24-footer__title { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: color-mix(in srgb, var(--f24-on-ink) 70%, transparent); margin-bottom: 0.25rem; }
.f24-footer__small { font-size: 0.8125rem; color: color-mix(in srgb, var(--f24-on-ink) 72%, transparent); margin: 0; }
.f24-footnav__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.f24-footnav__link { text-decoration: none; }
.f24-footnav__link:hover { text-decoration: underline; }
.f24-footer__bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid color-mix(in srgb, var(--f24-on-ink) 18%, transparent);  }
.f24-footer__links { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.f24-footer__links a { color: var(--f24-on-ink); }

@media (max-width: 600px) { .f24-footer__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Cookie-баннер ---------- */
.f24-cookie {
	position: fixed; z-index: 1000; left: 1rem; bottom: 1rem; width: min(28rem, calc(100vw - 2rem));
	background: var(--f24-ink); color: var(--f24-on-ink); border-radius: var(--f24-radius);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35); border: 1px solid color-mix(in srgb, var(--f24-on-ink) 22%, transparent);
	font-size: 0.9375rem; line-height: 1.5;
}
.f24-cookie[hidden] { display: none; }
.f24-cookie__inner { padding: 1.25rem 1.4rem 1.3rem; display: grid; gap: 0.9rem; max-height: calc(100vh - 2rem); overflow: auto; }
.f24-cookie__title { margin: 0; font-family: var(--f24-heading); font-size: 1.0625rem; font-weight: 700; color: var(--f24-on-ink); }
.f24-cookie__title:focus { outline: none; }
.f24-cookie__text { margin: 0; color: color-mix(in srgb, var(--f24-on-ink) 88%, transparent); }
.f24-cookie a { color: var(--f24-on-ink); text-underline-offset: 0.2em; }
.f24-cookie__panel { display: grid; gap: 0.75rem; padding-block: 0.25rem; }
.f24-cookie__panel[hidden] { display: none; }
.f24-cookie__option { display: grid; grid-template-columns: auto 1fr; gap: 0.7rem; align-items: start; cursor: pointer; }
.f24-cookie__option input { margin-top: 0.3rem; width: 1.05rem; height: 1.05rem; accent-color: var(--f24-accent); }
.f24-cookie__option small { display: block; color: color-mix(in srgb, var(--f24-on-ink) 75%, transparent); font-size: 0.8125rem; margin-top: 0.15rem; }
.f24-cookie__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.f24-cookie__btn {
	font: inherit; font-size: 0.875rem; font-weight: 600; cursor: pointer; padding: 0.7rem 1.1rem; line-height: 1.2;
	background: transparent; color: var(--f24-on-ink); border: 1px solid color-mix(in srgb, var(--f24-on-ink) 55%, transparent); border-radius: var(--f24-radius);
}
.f24-cookie__btn:hover { border-color: var(--f24-on-ink); }
.f24-cookie__btn--primary { background: var(--f24-on-ink); color: var(--f24-ink); border-color: var(--f24-on-ink); }
.f24-cookie__btn--primary:hover { background: var(--f24-accent); border-color: var(--f24-accent); }
.f24-cookie__btn--link { border-color: transparent; text-decoration: underline; text-underline-offset: 0.2em; padding-inline: 0.4rem; }
.f24-cookie__btn[hidden] { display: none; }
.f24-cookie__btn:focus-visible, .f24-cookie a:focus-visible { outline: 2px solid var(--f24-accent); outline-offset: 2px; }
@media (max-width: 520px) {
	.f24-cookie { left: 0.75rem; right: 0.75rem; bottom: 0.75rem; width: auto; }
	.f24-cookie__btn { flex: 1 1 auto; text-align: center; }
}
.f24-footnav__link { color: var(--f24-on-ink); }
.f24-footnav__link[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--f24-accent); text-underline-offset: 0.3em; }

.f24-skip:focus { position: fixed; z-index: 2000; left: 1rem; top: 1rem; background: var(--f24-ink); color: var(--f24-on-ink); padding: 0.75rem 1rem; border-radius: var(--f24-radius); clip: auto; clip-path: none; width: auto; height: auto; margin: 0; }

/* ====================================================================
 * Фотографии, значки и новая подача секций (вторая редакция вида).
 * Правила ниже перекрывают одноимённые выше.
 * ==================================================================== */

/* ---------- Картинки ---------- */
.wp-block-image.f24-hero__photo, .wp-block-image.f24-split__photo, .wp-block-image.f24-person__photo,
.wp-block-image.f24-contacts__photo, .wp-block-image.f24-cta__photo { margin: 0; }
.f24-hero__photo img, .f24-split__photo img, .f24-person__photo img, .f24-contacts__photo img, .f24-cta__photo img {
	display: block; width: 100%; height: 100%; object-fit: cover; border-radius: var(--f24-radius);
	background: var(--f24-surface);
}

/* ---------- Значки: рисунок лежит в assets/icons, цвет берётся из темы ---------- */
.f24-icon::before {
	content: ""; display: block; flex: none; width: 1.75rem; height: 1.75rem; background: var(--f24-accent);
	-webkit-mask: var(--f24-icon) center / contain no-repeat; mask: var(--f24-icon) center / contain no-repeat;
}
.f24-icon--ledger { --f24-icon: url(../icons/ledger.svg); }
.f24-icon--payroll { --f24-icon: url(../icons/payroll.svg); }
.f24-icon--tax { --f24-icon: url(../icons/tax.svg); }
.f24-icon--report { --f24-icon: url(../icons/report.svg); }
.f24-icon--company { --f24-icon: url(../icons/company.svg); }
.f24-icon--audit { --f24-icon: url(../icons/audit.svg); }
.f24-icon--check { --f24-icon: url(../icons/check.svg); }
.f24-icon--clock { --f24-icon: url(../icons/clock.svg); }
.f24-icon--shield { --f24-icon: url(../icons/shield.svg); }
.f24-icon--doc { --f24-icon: url(../icons/doc.svg); }
.f24-icon--phone { --f24-icon: url(../icons/phone.svg); }
.f24-icon--mail { --f24-icon: url(../icons/mail.svg); }
.f24-icon--pin { --f24-icon: url(../icons/pin.svg); }

/* ---------- Первый экран с фотографией ---------- */
.f24-hero { border-bottom: 0; padding-bottom: var(--wp--preset--spacing--60); background: linear-gradient(180deg, var(--f24-surface) 0, var(--f24-base) 62%); }
.f24-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(2rem, 4.5vw, 4.5rem); align-items: center; }
.f24-hero__grid > * { margin-block: 0; }
.f24-hero__text h1 { max-width: 13ch; }
.f24-hero__media { position: relative; padding-bottom: 3.25rem; }
.f24-hero__media > * { margin-block: 0; }
.f24-hero__photo { aspect-ratio: 5 / 4; box-shadow: var(--wp--custom--shadow); border-radius: var(--f24-radius); }
.f24-hero__facts {
	position: absolute; left: clamp(-2.5rem, -3vw, -1rem); right: 2rem; bottom: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0;
	padding: 1.1rem 0.5rem; border-top: 3px solid var(--f24-accent); box-shadow: 0 18px 40px -18px rgba(15, 27, 45, 0.55);
}
.f24-hero__facts > * { margin-block: 0; }
.f24-fact { display: block; padding: 0.2rem 1.1rem; }
.f24-fact + .f24-fact { border-top: 0; border-left: 1px solid color-mix(in srgb, var(--f24-on-ink) 18%, transparent); }
.f24-fact__n { font-size: clamp(1.75rem, 2.6vw, 2.5rem); min-width: 0; }
.f24-fact__t { font-size: 0.875rem; line-height: 1.35; margin-top: 0.35rem; }
.f24-proofs {
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem 2.5rem;
	margin-top: var(--wp--preset--spacing--60); padding-top: 1.5rem; border-top: 1px solid var(--f24-border);
}
.f24-proofs > * { margin-block: 0; }
.f24-proof { display: flex; align-items: center; gap: 0.8rem; margin: 0; font-weight: 600; font-size: 1rem; line-height: 1.35; }
.f24-proof.f24-icon::before { width: 1.5rem; height: 1.5rem; }
@media (max-width: 960px) {
	.f24-hero__grid { grid-template-columns: minmax(0, 1fr); }
	.f24-hero__text h1 { max-width: none; }
	.f24-hero__media { padding-bottom: 0; }
	.f24-hero__photo { aspect-ratio: 3 / 2; }
	.f24-hero__facts { position: relative; left: auto; right: auto; margin: -1.5rem 0.75rem 0; }
	.f24-proofs { grid-template-columns: minmax(0, 1fr); gap: 0.9rem; }
}
@media (max-width: 520px) {
	.f24-hero__facts { grid-template-columns: minmax(0, 1fr); padding: 0.4rem 0.5rem; }
	.f24-fact { display: flex; align-items: baseline; gap: 1rem; padding: 0.8rem 1rem; }
	.f24-fact + .f24-fact { border-left: 0; border-top: 1px solid color-mix(in srgb, var(--f24-on-ink) 18%, transparent); }
	.f24-fact__n { min-width: 3.4rem; }
	.f24-fact__t { margin-top: 0; }
	.f24-hero__text .wp-block-buttons, .f24-cta .wp-block-buttons { display: grid; grid-template-columns: minmax(0, 1fr); width: 100%; }
	.f24-hero__text .wp-block-button, .f24-hero__text .wp-block-button__link,
	.f24-cta .wp-block-button, .f24-cta .wp-block-button__link { width: 100%; text-align: center; }
}

/* ---------- Услуги: вводная колонка с фотографией и список со значками ---------- */
.f24-split { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.f24-split > * { margin-block: 0; }
.f24-split__aside > * { margin-block: 0; }
.f24-split__aside > * + * { margin-top: 0.9rem; }
.f24-split__aside h2 { margin: 0; font-size: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem); line-height: 1.12; text-wrap: balance; }
.f24-split__photo { aspect-ratio: 4 / 5; max-width: 26rem; margin-top: 2rem; }
.f24-split .f24-services { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2.5rem; }
.f24-split .f24-service { border-top: 1px solid var(--f24-border); padding-block: 1.6rem 1.8rem; }
.f24-split .f24-service:nth-child(-n/**/+2) { border-top: 2px solid var(--f24-text); }
.f24-service.f24-icon::before { margin-bottom: 1rem; }
@media (min-width: 961px) { .f24-split__aside { position: sticky; top: 2rem; } }
@media (max-width: 960px) {
	.f24-split { grid-template-columns: minmax(0, 1fr); }
	.f24-split__photo { aspect-ratio: 16 / 9; max-width: none; }
}
@media (max-width: 600px) {
	.f24-split .f24-services { grid-template-columns: minmax(0, 1fr); }
	.f24-split .f24-service:nth-child(2) { border-top: 1px solid var(--f24-border); }
}

/* Портреты команды */
.f24-person__photo { aspect-ratio: 4 / 5; margin-bottom: 1.1rem; }
.f24-person__photo img { filter: saturate(0.92); }
.f24-person h3 { font-size: 1.25rem; }
@media (max-width: 520px) { .f24-team {  gap: 2rem 1rem; } }

/* ---------- Контакты: фотография дома ---------- */
.f24-contacts__photo { aspect-ratio: 3 / 2; margin-top: 2rem; }

/* ---------- Наведение и фокус ---------- */
.wp-block-button__link { transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease; }
.wp-block-button__link:active { transform: translateY(1px); }
a:focus-visible, button:focus-visible, summary:focus-visible, .wp-block-button__link:focus-visible {
	outline: 2px solid var(--f24-accent); outline-offset: 3px; border-radius: 2px;
}

/* ---------- Редакторские стили и доступность ---------- */
.is-style-f24-surface { background:var(--f24-surface); padding:var(--wp--preset--spacing--60); }
.is-style-f24-ink { background:var(--f24-ink); color:var(--f24-on-ink); padding:var(--wp--preset--spacing--60); }
.is-style-f24-ink h2,.is-style-f24-ink h3 { color:var(--f24-on-ink); }
.is-style-f24-card { border:1px solid var(--f24-border); border-radius:var(--f24-radius); padding:1.5rem; box-shadow:var(--wp--custom--shadow); }
.is-style-f24-eyebrow { color:var(--f24-accent); text-transform:uppercase; font-weight:700; }
.is-style-f24-lead { font-size:var(--wp--preset--font-size--large); color:var(--f24-muted); }
.f24-checks,.is-style-f24-checks { padding-left:1.25rem; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
a:focus-visible,button:focus-visible,summary:focus-visible,.wp-element-button:focus-visible { outline:3px solid var(--f24-accent); outline-offset:3px; }
.f24-form__error { color:var(--f24-error); font-size:0.9375rem; margin:0; }
.f24-form__error[hidden] { display:none; }
.f24-form input,.f24-form button,.f24-cookie__btn { min-height:44px; }
.f24-brand a { gap:0.5rem; }
.f24-phone-icon { display:none; }

.f24-header .wp-block-navigation { margin-inline:auto; }
.f24-header .wp-block-navigation-item__content { padding-block:0.625rem; }
.f24-header .f24-lang__link { min-height:44px; box-sizing:border-box; display:flex; align-items:center; }

.f24-footer .f24-contacts__lines { font-size:1rem; }
.f24-footer .f24-contacts__lines a { color:var(--f24-on-ink); }
.f24-footer .f24-lang__link,.f24-footer .f24-lang__link[aria-current] { color:var(--f24-on-ink); background:transparent; }
.f24-footer .f24-footer__small { color:var(--f24-on-ink); }
.f24-contacts__lines .f24-footer__small { color:var(--f24-muted); }
.f24-navigation .f24-lang { display:none; }
.f24-plan h3 { min-height:2.8em; }

.f24-plan__price small { display:block; font-size:0.875rem; font-weight:500; letter-spacing:0; color:var(--f24-muted); margin-top:0.5rem; }
.f24-plan ul { margin-block:1rem 1.5rem; }
.wp-element-button { border-radius:var(--wp--custom--button-radius,var(--f24-radius)); }
.f24-plan__tag { position:absolute; top:0; left:1.5rem; transform:translateY(-50%); }
.f24-service h3 { margin-top:1rem; }
.f24-service p { margin-top:0.5rem; }
.f24-quotes--single { display:block;  }
.f24-quotes--single .f24-quote p { font-size:clamp(1.25rem,2vw,1.75rem); }
.f24-service-detail { padding-block:2rem; border-top:1px solid var(--f24-border); }

.f24-pagehead { padding-block:var(--wp--preset--spacing--50); }
.f24-pagehead h1 { font-size:clamp(2rem,1.6rem + 1.6vw,2.75rem); }
.f24-demo-note {  text-align:center;  background:var(--f24-primary); color:var(--f24-on-primary); }
.f24-cta--light { background:var(--f24-base); color:var(--f24-text); }
.f24-footer .f24-note, .f24-footer .f24-footer__small { color:var(--f24-on-ink); }
.f24-cta--light h2 { color:var(--f24-text); }
.f24-cta--light .wp-element-button { background:var(--f24-primary); color:var(--f24-on-primary); }
.f24-cookie__btn[data-f24-act="necessary"],.f24-cookie__btn[data-f24-act="accept-all"] { background:var(--f24-on-ink); color:var(--f24-ink); border-color:var(--f24-on-ink); flex:1 1 0; text-align:center; }
.f24-cookie__btn[data-f24-act="necessary"]:hover,.f24-cookie__btn[data-f24-act="accept-all"]:hover { opacity:0.9; }
@media(max-width:960px){
 .f24-header .f24-lang { display:none; }
 .f24-header .is-menu-open .f24-lang { display:block; margin-top:2rem; }
 .f24-header__bar { flex-wrap:nowrap; }
 .f24-header .wp-block-navigation { margin-left:auto; margin-right:0; }
 .f24-header .wp-block-navigation__responsive-container-open { min-width:44px; min-height:44px; justify-content:center; }
 .f24-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
 .f24-header .wp-block-navigation__responsive-container-open { display:flex; }
 .f24-header__phone { order:0; }
 .f24-phone-icon { display:inline; font-size:1.5rem; }
 .f24-phone-number { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
 .f24-header__phone a { display:flex; width:44px; height:44px; align-items:center; justify-content:center; }
}
@media(max-width:600px){
 
 .f24-contacts__info figure { max-height:240px; overflow:hidden; }
 .f24-contacts__info figure img { height:240px; object-fit:cover; }
 .f24-header { padding-block:0.5rem; }
 .f24-header__bar { gap:0.5rem; }
 .f24-header .wp-block-site-logo:empty { display:none; }
}

/* Статьи: строка для чтения, карточки и рекомендации. */
.f24-article > *, .f24-article .f24-article-body > * { max-width: 72ch; margin-inline: auto; }
.f24-article .f24-article-body { width: 100%; max-width: 72ch; line-height: 1.75; }
.f24-article-body h2 { margin-block: 2.25rem 1rem; }
.f24-article-body h3 { margin-block: 1.75rem .75rem; }
.f24-article-body blockquote { margin-block: 1.75rem; padding: 1rem 1.5rem; border-left: 3px solid var(--f24-border); background: var(--wp--preset--color--surface); }
.f24-article-body blockquote p { margin-block: .5rem; }
.f24-article-body .wp-block-table { overflow-x: auto; }
.f24-article-body .wp-block-table table { min-width: 28rem; }
.f24-article-meta { color: var(--f24-muted); font-size: .875rem; }
.f24-article-meta p { margin: 0; }
.f24-article-card { padding: 1.25rem; border: 1px solid var(--f24-border); border-radius: 12px; height: 100%; }
.f24-article-card figure { margin: 0 0 1rem; }
.f24-article-card img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 8px; }
.f24-article-card h2, .f24-article-card h3 {  margin-block: .6rem; }
.f24-article-card .wp-block-post-date, .f24-article-date { font-size: .875rem; color: var(--f24-muted); }
.f24-article-after { margin-top: 3rem; }
.f24-article-cta { margin-top: 2rem; padding: 1.5rem; border: 1px solid var(--f24-border); border-radius: 12px; }
@media (max-width: 600px) { .wp-block-post-template.is-layout-grid { grid-template-columns: 1fr; } .f24-article-body blockquote { padding: .75rem 1rem; } }

/* ---------- Третья редакция вида (по второму кругу критики, 08.10.2026) ---------- */
/* Шаги: номер в своей колонке, текст с зазором, без линий сквозь заголовки. */
.f24-steps { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; overflow: visible; }
.f24-step { display: grid; grid-template-columns: 3.25rem minmax(0, 1fr); column-gap: 1.25rem; row-gap: 0.65rem; align-items: start; padding-block: 1.25rem; border-top: 1px solid var(--f24-border); }
.f24-step:first-child { border-top: 0; padding-top: 0; }
.f24-step::before { display: none; }
.f24-step .f24-step__n { display:grid; place-items:center; width:3rem; height:3rem; border-radius:50%; background:var(--f24-primary); color:var(--f24-on-primary); font-weight:800; font-size:1.25rem; grid-column: 1; grid-row: 1 / span 2; margin: 0; }
.f24-step h3 { grid-column: 2; margin: 0.55rem 0 0; }
.f24-step p:last-child { grid-column: 2; margin: 0; }
/* Фото рядом с шагами не обтекается текстом: две колонки. */
.f24-process-photo { float: none; width: auto; margin: 0; }
.f24-process-photo img { width:100%; height:auto; border-radius:var(--f24-radius); aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 961px) {
	.f24-section:has(> .f24-process-photo), .wp-block-group:has(> .f24-process-photo):not(.f24-section) { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); column-gap: clamp(2rem, 5vw, 4.5rem); align-items: start; }
	.wp-block-group:has(> .f24-process-photo) > .f24-sechead, .wp-block-group:has(> .f24-process-photo) > h2 { grid-column: 1 / -1; }
	.wp-block-group:has(> .f24-process-photo) > .f24-steps { margin-top: 0; }
}
@media (max-width: 960px) { .f24-process-photo { margin-bottom: 1.5rem; } }
/* Заголовок раздела не касается фотографии. */
.f24-split__aside > h2 + .wp-block-image, .f24-split__aside > .f24-split__photo { margin-top: 1.75rem !important; }
.f24-team { margin-top: 1.75rem; }
.f24-person__photo + * { margin-top: 1rem; }
/* Одиночный отзыв занимает всю ширину сетки. */
.f24-quotes--single { max-width: none; }
.f24-quotes--single .f24-quote { padding: clamp(2rem, 4vw, 3.25rem); }
/* Часы работы: день и время в одну строку, с отступом от реквизитов. */

.f24-hours__row { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: nowrap; }
.f24-hours__row p:last-child { white-space: nowrap; }
.f24-contacts h2, .f24-contacts h3 { margin-top: 2rem; }
/* Кнопки первого экрана на телефоне не слипаются. */
@media (max-width: 600px) { .f24-hero .wp-block-buttons { gap: 0.75rem; } .f24-hero .wp-block-button { width: 100%; } .f24-hero .wp-block-button__link { display: block; text-align: center; } }
.f24-hero .f24-note { font-size: 0.9375rem; color: var(--f24-text); opacity: 0.8; }
/* Подвал: четыре колонки, на планшете две, на телефоне одна. */
.f24-footer__grid { display: grid; grid-template-columns: 1.5fr 0.8fr 1.3fr 1fr; gap: 2rem clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.f24-footer__col > * { margin-block: 0; }
.f24-footer__col > * + * { margin-top: 0.7rem; }
.f24-footer .f24-brand a { color: var(--f24-on-ink); text-decoration: none; font-family: var(--f24-heading); font-weight: 800; font-size: 1.375rem; display: inline-flex; align-items: center; gap: 0.6rem; }
.f24-footer__nav .f24-page-link, .f24-footer__nav p { margin: 0; }
.f24-footer__nav > * + * { margin-top: 0.55rem; }
@media (max-width: 960px) { .f24-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .f24-footer__grid { grid-template-columns: minmax(0, 1fr); } }
/* Пункт 13: окно cookie — нижняя полоса, не перекрывает кнопки первого экрана (руководитель 08.10 02:30). */
@media (min-width: 761px) {
	.f24-cookie { left: 0; right: 0; bottom: 0; width: auto; border-radius: 0; border-width: 1px 0 0; box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.25); }
	.f24-cookie__inner { max-width: 72rem; margin-inline: auto; padding: 0.9rem 1.5rem; grid-template-columns: minmax(0, 1fr) auto; column-gap: 2rem; row-gap: 0.65rem; align-items: center; }
	.f24-cookie__title { grid-column: 1; font-size: 1rem; }
	.f24-cookie__text { grid-column: 1; font-size: 0.875rem; }
	.f24-cookie__panel { grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
	.f24-cookie__actions { grid-column: 2; grid-row: 1 / span 2; flex-wrap: nowrap; }
	.f24-cookie__panel:not([hidden]) ~ .f24-cookie__actions { grid-column: 1 / -1; grid-row: auto; justify-content: flex-end; }
	.f24-cookie__btn[data-f24-act="necessary"], .f24-cookie__btn[data-f24-act="accept-all"] { flex: 0 0 auto; min-width: 9.5rem; }
}
@media (max-width: 760px) {
	.f24-cookie { left: 0; right: 0; bottom: 0; width: auto; border-radius: var(--f24-radius) var(--f24-radius) 0 0; font-size: 0.8125rem; line-height: 1.45; }
	.f24-cookie__inner { padding: 0.85rem 1rem 0.9rem; gap: 0.55rem; max-height: 70vh; }
	.f24-cookie__title { font-size: 0.9375rem; }
	.f24-cookie__actions { gap: 0.5rem; }
	.f24-cookie__btn { padding: 0.6rem 0.7rem; font-size: 0.8125rem; }
	.f24-cookie__btn--link { flex: 0 0 100%; min-height: 2.75rem; }
}
/* Кнопки первого экрана на телефоне не шире экрана (были 403 px при колонке 358). */
.f24-hero .wp-block-button__link, .f24-cookie, .f24-cookie * { box-sizing: border-box; }
/* Пункт 8: на телефоне и планшете переключатель языка виден в шапке — кнопка текущего языка со списком (08.10 02:35). */
.f24-lang__mini { display: none; }
@media (max-width: 960px) {
	.f24-header .f24-header__bar > .f24-lang { display: block; position: relative; }
	.f24-header .f24-header__bar > .f24-lang .f24-lang__list { display: none; }
	.f24-header .f24-lang__mini { display: block; }
	.f24-lang__now {
		display: flex; align-items: center; justify-content: center; gap: 0.25rem; min-width: 44px; min-height: 44px; padding: 0 0.5rem;
		box-sizing: border-box; list-style: none; cursor: pointer; border: 1px solid var(--f24-border); border-radius: var(--f24-radius);
		font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; color: var(--f24-text); background: var(--f24-surface);
	}
	.f24-lang__now::-webkit-details-marker { display: none; }
	.f24-lang__now::after { content: ""; width: 0.4rem; height: 0.4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
	.f24-lang__mini[open] .f24-lang__now::after { transform: translateY(2px) rotate(-135deg); }
	.f24-lang__now:focus-visible { outline: 2px solid var(--f24-primary); outline-offset: 2px; }
	.f24-lang__menu {
		position: absolute; right: 0; top: calc(100% + 0.4rem); z-index: 60; min-width: 11rem; margin: 0; padding: 0.35rem; list-style: none;
		background: var(--f24-base); border: 1px solid var(--f24-border); border-radius: var(--f24-radius); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.15);
	}
	.f24-lang__menu .f24-lang__link { display: flex; align-items: center; min-height: 44px; padding: 0 0.75rem; font-size: 0.9375rem; font-weight: 600; letter-spacing: 0; color: var(--f24-text); }
	.f24-lang__menu .f24-lang__link:hover, .f24-lang__menu .f24-lang__link:focus-visible { background: var(--f24-surface); }
}

/* Поручение 7: единый ритм, отчёт, способы передачи и собранные внутренние страницы. */
.f24-section { padding-block: clamp(2.75rem, 4vw, 4rem); }
.f24-section > .alignwide > h2, .f24-split__aside h2, .f24-sechead h2, .f24-faq__intro h2, .f24-report-layout h2 { font-size:clamp(1.75rem,1.4rem + 1.4vw,2.5rem); line-height:1.15; }
.f24-section > .alignwide > h2 { margin-block:0 1.75rem; }
.f24-header__bar { gap:1rem; }
.f24-header__cta .wp-element-button { font-size:.875rem; padding:.8rem 1rem; white-space:nowrap; }
.f24-header .f24-header__cta { margin:0; }
.f24-demo-note { white-space:nowrap; font-size:clamp(.65rem,2.6vw,.8125rem); padding:.4rem .5rem; }
.f24-header .wp-block-navigation__responsive-container-close { min-height:44px; min-width:44px; }
.f24-article-card h2, .f24-article-card h3 { font-size:1.625rem; line-height:1.25; }
.f24-plan h2,.f24-plan h3 { font-size:1.5rem; min-height:2.5em; margin:0; }
.f24-plan .wp-block-button { margin-top:auto; }
.f24-plan .wp-block-button__link { box-sizing:border-box; }
.f24-plan .f24-checks { font-size:.9375rem; padding-left:1.2rem; }
.f24-plan.is-featured { background:var(--f24-surface); }
.f24-person__photo img { aspect-ratio:4/5; height:100%; object-fit:cover; object-position:50% 32%; }
.f24-person:first-child .f24-person__photo img { object-position:50% 24%; }
.f24-person:nth-child(3) .f24-person__photo img { object-position:50% 28%; }
.f24-person__role { text-transform:none; letter-spacing:0; font-size:.9375rem; }
.f24-person h3 { margin-top:1rem; }
.f24-quote .f24-note { font-size:.8125rem; color:var(--f24-muted); margin-top:auto; }
.f24-hours { width:100%; border-collapse:collapse; margin-top:1.25rem; font-size:.9375rem; }
.f24-hours th, .f24-hours td { padding:.75rem 0; border-bottom:1px solid var(--f24-border); }
.f24-hours th { text-align:left; font-weight:400; padding-right:1rem; }
.f24-hours td { text-align:right; white-space:nowrap; font-weight:600; }
.f24-map { margin:1.5rem 0; }
.f24-map svg { display:block; width:100%; height:auto; border-radius:var(--f24-radius); }
.f24-map figcaption { margin-top:.6rem; font-size:.875rem; }
.f24-report-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:3rem; align-items:center; }
.f24-report { background:var(--f24-surface); border:1px solid var(--f24-border); border-top:4px solid var(--f24-primary); border-radius:var(--f24-radius); padding:clamp(1.25rem,3vw,2rem); }
.f24-report__label { color:var(--f24-muted); font-size:.875rem; margin:0 0 1rem; }
.f24-report table { width:100%; border-collapse:collapse; }
.f24-report caption { text-align:left; font-weight:700; font-size:1.25rem; margin-bottom:1rem; }
.f24-report th, .f24-report td { padding:.75rem 0; border-bottom:1px solid var(--f24-border); }
.f24-report th { text-align:left; font-weight:400; }
.f24-report td { text-align:right; font-weight:700; white-space:nowrap; }
.f24-report h3 { font-size:1.25rem; margin:1.5rem 0 .5rem; }
.f24-report li + li { margin-top:.5rem; }
.f24-transfer { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; margin-top:1.75rem; }
.f24-transfer section { padding:1.5rem; background:var(--f24-base); border:1px solid var(--f24-border); border-radius:var(--f24-radius); }
.f24-transfer__icon { display:grid; place-items:center; width:44px; height:44px; background:var(--f24-surface); color:var(--f24-primary); border-radius:var(--f24-radius); font-size:1.5rem; font-weight:700; }
.f24-transfer h3 { font-size:1.25rem; margin:1rem 0 .75rem; }
.f24-transfer p { margin:0; }
.f24-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; list-style:none; padding:0; }
.f24-trust li { border-left:3px solid var(--f24-primary); padding:1rem; background:var(--f24-surface); }
.f24-service-nav { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.5rem 0 2rem; }
.f24-service-nav a { display:inline-flex; align-items:center; min-height:44px; padding:.25rem .8rem; border:1px solid var(--f24-border); border-radius:var(--f24-radius); font-size:.9375rem; }
.f24-service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.f24-service-detail { margin:0; padding:1.5rem; border:1px solid var(--f24-border); border-radius:var(--f24-radius); scroll-margin-top:2rem; }
.f24-service-detail h2 { font-size:1.5rem; margin:0 0 1rem; }
.f24-service-detail p { max-width:65ch; }
.f24-prose { padding-block:3rem; }
.f24-prose__body { max-width:70ch; }
.f24-about-photos { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; }
.f24-about-photos img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.f24-service .f24-page-link a { display:inline-flex; align-items:center; min-height:44px; }
.f24-footer__bottom { display:flex; flex-wrap:wrap; gap:.75rem 1.5rem; align-items:center; }
.f24-footer__bottom > * { margin:0; }
@media(max-width:1100px){.f24-header__phone .f24-phone-number { position:absolute; width:1px; height:1px; clip-path:inset(50%); overflow:hidden; }.f24-header__phone a { display:flex; min-width:44px; min-height:44px; align-items:center; justify-content:center; }.f24-phone-icon { display:inline; }}
@media(max-width:960px){.f24-header__cta { display:none; }.f24-report-layout { grid-template-columns:minmax(0,1fr); gap:1.5rem; }.f24-transfer,.f24-trust { grid-template-columns:minmax(0,1fr); }}
@media(max-width:600px){.f24-section { padding-block:2.5rem; }.f24-service-grid,.f24-about-photos { grid-template-columns:minmax(0,1fr); }.f24-step { column-gap:1rem; }.f24-plan h2,.f24-plan h3 { min-height:0; }.f24-contacts__form { padding:1.25rem; }.f24-report th,.f24-report td { font-size:.9375rem; }}

@media(max-width:520px){.f24-team { grid-template-columns:minmax(0,1fr); }}

/* ==========================================================================
   Поручение 10Б (08.10.2026): вёрстка по кругу критики 4.
   ========================================================================== */

/* 1, 4. «Než nám napíšete»: строка «Nenašli jste odpověď?» и кнопка не наезжают друг на друга.
   На широком экране абзац и кнопка встают в левую колонку под заголовок, вопросы — справа. */
.f24-faq__list > p { margin-top: var(--wp--preset--spacing--50); }
.f24-faq__list > .wp-block-buttons,
.f24-faq__intro > .wp-block-buttons { margin-top: var(--wp--preset--spacing--30); }
@media (min-width: 961px) {
	.f24-faq { row-gap: 0; }
	/* Только в двухколоночном блоке .f24-faq: на «Ceník» и «Služby» список вопросов стоит отдельно. */
	.f24-faq > .f24-faq__list { display: contents; }
	.f24-faq > .f24-faq__intro { grid-column: 1; grid-row: 1; }
	.f24-faq > .f24-faq__list > .wp-block-details { grid-column: 2; }
	.f24-faq > .f24-faq__list > p { grid-column: 1; grid-row: 2; align-self: start; margin-top: var(--wp--preset--spacing--40); color: var(--f24-muted); }
	.f24-faq > .f24-faq__list > .wp-block-buttons { grid-column: 1; grid-row: 3; align-self: start; }
	.f24-faq > .f24-faq__list > .wp-block-details:last-of-type { border-bottom: 1px solid var(--f24-border); }
}

/* 2. Значки способов передачи — тот же рисунок, что у услуг: линия 1,6 из assets/icons, 28 px, цвет акцента. */
.f24-icon--folder { --f24-icon: url(../icons/folder.svg); }
.f24-icon--courier { --f24-icon: url(../icons/courier.svg); }
.f24-transfer__icon.f24-icon { display: flex; justify-content: flex-start; width: fit-content; height: auto; background: none; border-radius: 0; font-size: 0; }

/* 3. Фото передачи не во всю ширину: две колонки — фото не выше 480 px и три способа рядом. */
.f24-transfer-photo { margin: 1.75rem 0 0; }
.f24-transfer-photo img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: cover; border-radius: var(--f24-radius); }
@media (min-width: 961px) {
	.f24-transfer-wrap:has(> .f24-transfer-photo) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(2rem, 4vw, 3.5rem); align-items: center; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) > h2 { grid-column: 1 / -1; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) > .f24-transfer-photo { grid-column: 1; margin: 1.75rem 0 0; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) > .f24-transfer { grid-column: 2; grid-template-columns: minmax(0, 1fr); gap: 1rem; margin-top: 1.75rem; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) .f24-transfer section { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 1rem; padding: 1.15rem 1.35rem; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) .f24-transfer__icon { grid-row: 1 / span 2; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) .f24-transfer h3 { margin: 0 0 0.35rem; }
	.f24-transfer-wrap:has(> .f24-transfer-photo) .f24-transfer p { margin: 0; }
}
/* Планшет: фото ниже (до 360 px), три способа в ряд под ним, без лишней прокрутки. */
@media (min-width: 601px) and (max-width: 960px) {
	.f24-transfer-photo img { max-height: 360px; }
	.f24-transfer-wrap .f24-transfer { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
	.f24-transfer-wrap .f24-transfer section { padding: 1.1rem; }
	.f24-transfer-wrap .f24-transfer h3 { font-size: 1.0625rem; margin: 0.75rem 0 0.4rem; }
	.f24-transfer-wrap .f24-transfer p { margin: 0; font-size: 0.9375rem; }
}

/* 4. «Pojištění a programy»: карточки делят всю ширину (два пункта — по 50 %, три — по трети). */
.f24-trust { grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
@media (max-width: 960px) { .f24-trust { grid-template-columns: minmax(0, 1fr); } }

/* 5. Одна шапка внутренних страниц: полоса шаблона «Страница» выглядит так же, как первая секция
   страниц без заголовка («Ceník», «Kontakt», «Služby»): тот же верхний отступ и тот же H1. */
.f24-pagehead { background: none; border-bottom: 0; padding-block: clamp(2.75rem, 4vw, 4rem) 0; }
.f24-pagehead h1, .f24-blog-head h1, .f24-blog-head > :first-child { font-size: var(--wp--preset--font-size--xx-large); line-height: 1.15; letter-spacing: -0.025em; margin: 0; }
.f24-pagehead + .f24-content > .alignfull:first-child { padding-top: var(--wp--preset--spacing--50); }
@media (max-width: 600px) { .f24-pagehead { padding-top: 2.5rem; } }

/* 5. Статья: H1, дата, обложка, текст и блок после статьи — в одной колонке 680 px. */
.f24-article > *, .f24-article .f24-article-body > *, .f24-article .f24-article-body { max-width: min(680px, 100%); }
.f24-article > h1 { margin-inline: auto; width: 100%; }

/* 6. «Společné podmínky tarifů»: вложенная в широкую колонку секция не добавляет второй боковой отступ. */
.alignwide > .f24-prose.alignfull { padding-inline: 0; margin-inline: 0; }

/* 7. Текст истории и условий не шире 680 px (около 75 знаков в строке), колонка прижата к левому краю,
   как заголовок страницы. */
.f24-prose__body.alignwide > :not(.alignwide):not(.alignfull) { max-width: 680px; }
/* Общий снимок команды на «O nás» тоже не выше 480 px (был 1200 × 800 во всю ширину). */
.f24-about-photo img { display: block; width: 100%; height: auto; max-height: 480px; object-fit: cover; border-radius: var(--f24-radius); }
/* На широком экране этот снимок встаёт справа от колонки истории (разметку выводит демо, поэтому
   обе секции кладутся в одну строку сетки страницы, остальные секции идут под ними во всю ширину). */
@media (min-width: 1100px) {
	.f24-content:has(> .f24-prose + .f24-section > .f24-about-photo) { display: grid; grid-template-columns: minmax(0, 1fr); }
	.f24-content:has(> .f24-prose + .f24-section > .f24-about-photo) > * { grid-column: 1; }
	.f24-content > .f24-prose:has(+ .f24-section > .f24-about-photo) { grid-row: 1; }
	.f24-content > .f24-prose + .f24-section:has(> .f24-about-photo) { grid-row: 1; align-self: center; margin-top: 0; padding-block: 0; pointer-events: none; }
	.f24-content > .f24-prose + .f24-section > .f24-about-photo > figure { width: min(460px, calc(100% - 680px - 3rem)); margin: 0 0 0 auto; pointer-events: auto; }
}

/* 8. «Články»: сетка на ширину сайта — 3 колонки на 1440, 2 на планшете, 1 на телефоне. */
.wp-block-post-template.is-layout-grid.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
@media (max-width: 960px) { .wp-block-post-template.is-layout-grid.columns-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .wp-block-post-template.is-layout-grid.columns-3 { grid-template-columns: minmax(0, 1fr); } }
.f24-article-card { display: flex; flex-direction: column; }

/* 9. Окно cookie на телефоне — низкая полоса: заголовок только для экранного диктора, кнопки в один ряд. */
@media (max-width: 760px) {
	.f24-cookie__inner { padding: 0.7rem 0.9rem 0.75rem; gap: 0.5rem; }
	.f24-cookie__title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
	.f24-cookie__text { font-size: 0.8125rem; line-height: 1.4; }
	.f24-cookie__actions { flex-wrap: nowrap; gap: 0.4rem; }
	.f24-cookie__btn { padding: 0.5rem 0.55rem; min-height: 44px; line-height: 1.2; }
	.f24-cookie__btn[data-f24-act="necessary"], .f24-cookie__btn[data-f24-act="accept-all"] { flex: 1 1 0; }
	.f24-cookie__btn--link { flex: 0 0 auto; min-height: 44px; padding-inline: 0.35rem; }
	.f24-cookie__panel:not([hidden]) ~ .f24-cookie__actions { flex-wrap: wrap; }
}

/* Поручение 11. Длинное слово в заголовке не выходит за край экрана: перенос по слогам,
   в крайнем случае разрыв слова; на узком экране H1 мельче. */
h1, h2, h3, h4 { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; }
@media (max-width: 600px) {
	main h1, .f24-pagehead h1, .f24-blog-head h1, .f24-blog-head > :first-child { font-size: clamp(1.625rem, 0.6rem + 5.4vw, 2.5rem); }
	main .f24-hero__text h1 { font-size: var(--wp--preset--font-size--xx-large); }
}
