<style>
/* Применяем стили ТОЛЬКО для экранов ≥ 960px (десктоп) */
@media (min-width: 960px) {
/* Заголовок FAQ — адаптивный размер как в Tilda */
.uc-faq-tx16n .js-block-header-title {
font-size: clamp(24px, 2.8vw, 48px) !important; /* минимальный / адаптивный / максимальный */
line-height: 1.15 !important;
}
/* Основной контейнер блока */
.uc-faq-tx16n .t-container {
max-width: none !important; /* убираем ограничение 1200px */
width: 100% !important;
/* Автоскейл блока */
transform: scale(var(--faq-scale));
transform-origin: top center; /* масштабируем от верхнего центра */
will-change: transform; /* оптимизация рендеринга */
}
/* Убираем ограничения колонок */
.uc-faq-tx16n .t-col_12 {
max-width: none !important;
}
/* Переменная для управления scale + фикс обрезания */
.uc-faq-tx16n {
--faq-scale: 1;
overflow: visible !important;
}
/* Типографика вопросов */
.uc-faq-tx16n .t-name {
font-size: clamp(20px, 2vw, 30px);
line-height: 1.2;
}
/* Типографика ответов */
.uc-faq-tx16n .t-descr,
.uc-faq-tx16n .t-text {
font-size: clamp(14px, 1.2vw, 18px);
line-height: 1.5;
}
}
</style>
<script>
document.addEventListener("DOMContentLoaded", function () {
/* Берём FAQ блок по классу */
const block = document.querySelector(".uc-faq-tx16n");
if (!block) return; // если блока нет — выходим
/* Внутренний контейнер (его будем масштабировать) */
const container = block.querySelector(".t-container");
if (!container) return;
function updateFaqScale() {
const w = window.innerWidth;
/* Если экран меньше 960px — отключаем скейл полностью */
if (w < 960) {
block.style.setProperty("--faq-scale", 1);
block.style.minHeight = "auto"; // убираем компенсацию высоты
return;
}
let scale = 1;
/* Логика скейла под ширину экрана */
if (w <= 1200) scale = 0.95; // ноутбуки
else if (w <= 1400) scale = 0.98; // средние десктопы
else scale = 1; // большие экраны
/* Применяем scale через CSS переменную */
block.style.setProperty("--faq-scale", scale);
/*
Компенсация высоты:
transform: scale уменьшает визуальный размер,
но DOM остаётся прежним → блок "схлопывается"
Поэтому вручную увеличиваем min-height
*/
const h = container.scrollHeight;
block.style.minHeight = (h * scale) + "px";
}
/* Инициализация при загрузке */
updateFaqScale();
/* Пересчёт при ресайзе */
window.addEventListener("resize", updateFaqScale);
});
</script>