/* Блок «Переваги»: спільна структура шести виглядів.
   Кольори, шрифти і радіуси приходять зі змінних --f-*, які кожен макет задає у своєму css:
   --f-card (тло картки), --f-line (лінії), --f-ink (текст), --f-muted (підписи),
   --f-accent + --f-accent-ink (акцент і текст на ньому), --f-r / --f-rs (радіуси),
   --f-title (шрифт заголовків), --f-ph (заглушка фото). */

.tlx-f { color: var(--f-ink); }
.tlx-f *, .tlx-f *::before, .tlx-f *::after { box-sizing: border-box; }
.tlx-f :where(h3, p, b) { margin: 0; }
.tlx-f__media { position: relative; overflow: hidden; border-radius: var(--f-r); background: var(--f-ph); }
.tlx-f__media img, .tlx-f__ph { display: block; width: 100%; height: 100%; object-fit: cover; }
.tlx-f__ph { background: var(--f-ph); }
.tlx-f button { font: inherit; color: inherit; cursor: pointer; }

/* ---------- 1a · Числа ---------- */
.tlx-f--numbers { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--f-line); }
.tlx-f-num { padding: 16px 14px; border-bottom: 1px solid var(--f-line); }
.tlx-f-num:nth-child(odd) { border-right: 1px solid var(--f-line); }
.tlx-f-num__v { display: block; font-family: var(--f-title); font-weight: 700; font-size: 30px; line-height: 1; color: var(--f-accent); }
.tlx-f-num__v i { font-style: normal; font-size: 13px; margin-left: 4px; color: var(--f-muted); }
.tlx-f-num__t { font-size: 14px; font-weight: 600; line-height: 1.3; margin-top: 8px; }
.tlx-f-num__t--lead { font-size: 16px; margin-top: 0; }
.tlx-f-num p { font-size: 12px; line-height: 1.4; color: var(--f-muted); margin-top: 4px; }

/* ---------- 1c · Акордеон ---------- */
.tlx-f-acc__item { border-bottom: 1px solid var(--f-line); }
.tlx-f-acc__head { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px 0; background: none; border: 0; text-align: left; }
.tlx-f-acc__n { font-family: var(--f-title); font-weight: 600; font-size: 12px; line-height: 1; color: var(--f-muted); }
.tlx-f-acc__t { flex: 1; font-weight: 600; font-size: 15px; line-height: 1.3; }
.tlx-f-acc__sign { position: relative; width: 14px; height: 14px; flex: none; }
.tlx-f-acc__sign::before, .tlx-f-acc__sign::after { content: ''; position: absolute; background: var(--f-accent); }
.tlx-f-acc__sign::before { left: 0; right: 0; top: 6px; height: 2px; }
.tlx-f-acc__sign::after { top: 0; bottom: 0; left: 6px; width: 2px; }
.tlx-f-acc__item.is-on .tlx-f-acc__sign::after { display: none; }
.tlx-f-acc__panel { display: none; padding-bottom: 14px; }
.tlx-f-acc__item.is-on .tlx-f-acc__panel { display: block; }
.tlx-f-acc__img { aspect-ratio: 16 / 10; margin-bottom: 10px; }
.tlx-f-acc__panel p { font-size: 13px; line-height: 1.5; color: var(--f-muted); }
.tlx-f-acc__media { display: none; }

/* ---------- 2c · Фото-картки ---------- */
.tlx-f-cards__row { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.tlx-f-cards__row::-webkit-scrollbar { display: none; }
.tlx-f-card { flex: none; width: 236px; scroll-snap-align: start; display: flex; flex-direction: column; background: var(--f-card); border: 1px solid var(--f-line); border-radius: var(--f-r); overflow: hidden; }
.tlx-f-card__img { aspect-ratio: 4 / 3; border-radius: 0; }
.tlx-f-card__n { position: absolute; top: 8px; left: 8px; z-index: 1; background: var(--f-badge); color: var(--f-badge-ink); font-family: var(--f-title); font-weight: 700; font-size: 11px; line-height: 1; padding: 5px 7px; border-radius: var(--f-rs); }
.tlx-f-card__body { padding: 10px 12px 12px; flex: 1; }
.tlx-f-card__body b { display: block; font-size: 14px; font-weight: 700; line-height: 1.3; }
.tlx-f-card__body p { font-size: 12px; line-height: 1.4; color: var(--f-muted); margin-top: 4px; }
.tlx-f-cards__nav { display: flex; align-items: center; justify-content: center; margin-top: 12px; }
.tlx-f-dots { display: flex; gap: 6px; }
.tlx-f-dots span { width: 6px; height: 6px; border-radius: 3px; background: var(--f-line); transition: width .2s; }
.tlx-f-dots span.is-on { width: 18px; background: var(--f-accent); }
.tlx-f-arrows { display: none; gap: 8px; }
.tlx-f-arrows button { width: 40px; height: 40px; border-radius: 20px; border: 1px solid var(--f-line); background: var(--f-card); color: var(--f-ink); font-size: 16px; }
.tlx-f-arrows button:hover { border-color: var(--f-accent); color: var(--f-accent); }

/* ---------- 3a · Вкладки ---------- */
.tlx-f-tabs__row { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.tlx-f-tabs__row::-webkit-scrollbar { display: none; }
.tlx-f-tab { flex: none; padding: 8px 14px; border: 1px solid var(--f-line); border-radius: 999px; background: var(--f-card); font-size: 13px; font-weight: 600; }
.tlx-f-tab.is-on { background: var(--f-badge); color: var(--f-badge-ink); border-color: var(--f-badge); }
.tlx-f-tabs__panel { display: none; margin-top: 14px; }
.tlx-f-tabs__panel.is-on { display: block; }
.tlx-f-tabs__img { aspect-ratio: 16 / 10; }
.tlx-f-tabs__body { margin-top: 12px; }
.tlx-f-tabs__body b { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; }
.tlx-f-tabs__body p { font-size: 13px; line-height: 1.5; color: var(--f-muted); margin-top: 6px; }

/* ---------- 3b · Зигзаг ---------- */
.tlx-f--zig { display: grid; gap: 24px; }
.tlx-f-zig__img { aspect-ratio: 3 / 2; }
.tlx-f-zig__n { position: absolute; top: 10px; left: 10px; z-index: 1; background: var(--f-badge); color: var(--f-badge-ink); font-family: var(--f-title); font-weight: 700; font-size: 12px; line-height: 1; padding: 6px 8px; border-radius: var(--f-rs); }
.tlx-f-zig__body { margin-top: 12px; }
.tlx-f-zig__body b { display: block; font-size: 17px; font-weight: 700; line-height: 1.3; }
.tlx-f-zig__body p { font-size: 13px; line-height: 1.5; color: var(--f-muted); margin-top: 6px; }

/* ---------- 3c · Бенто ---------- */
.tlx-f--bento { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tlx-f-bento__hero { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
.tlx-f-bento__hero img, .tlx-f-bento__hero .tlx-f__ph { position: absolute; inset: 0; }
.tlx-f-bento__cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 32px 14px 14px; color: #fff; background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .78)); }
.tlx-f-bento__cap b { display: block; font-size: 17px; font-weight: 700; line-height: 1.25; }
.tlx-f-bento__cap p { font-size: 12px; line-height: 1.4; margin-top: 4px; opacity: .85; }
.tlx-f-bento__tile { background: var(--f-card); border: 1px solid var(--f-line); border-radius: var(--f-r); padding: 14px; }
.tlx-f-bento__n { display: block; font-family: var(--f-title); font-weight: 700; font-size: 12px; line-height: 1; color: var(--f-accent); }
.tlx-f-bento__tile b { display: block; font-size: 14px; font-weight: 700; line-height: 1.3; margin-top: 10px; }
.tlx-f-bento__tile p { font-size: 12px; line-height: 1.4; color: var(--f-muted); margin-top: 4px; }

/* ============================ Десктоп ============================ */
@media (min-width: 900px) {
	.tlx-f--numbers { grid-template-columns: repeat(4, 1fr); }
	.tlx-f-num { padding: 24px; border-right: 1px solid var(--f-line); }
	.tlx-f-num:nth-child(4n) { border-right: 0; }
	.tlx-f-num__v { font-size: 44px; }
	.tlx-f-num__v i { font-size: 16px; margin-left: 6px; }
	.tlx-f-num__t { font-size: 17px; margin-top: 14px; }
	.tlx-f-num__t--lead { font-size: 20px; margin-top: 0; }
	.tlx-f-num p { font-size: 14px; margin-top: 8px; line-height: 1.5; }

	.tlx-f--acc-media { display: grid; grid-template-columns: 1fr 440px; gap: 48px; align-items: start; }
	.tlx-f-acc__head { padding: 20px 0; gap: 16px; }
	.tlx-f-acc__n { font-size: 13px; }
	.tlx-f-acc__t { font-size: 19px; }
	.tlx-f-acc__panel { padding-bottom: 20px; }
	.tlx-f-acc__panel p { font-size: 15px; line-height: 1.6; }
	.tlx-f--acc-media .tlx-f-acc__img { display: none; }
	.tlx-f--acc-media .tlx-f-acc__media { display: block; position: sticky; top: 24px; }
	.tlx-f-acc__shot { display: none; aspect-ratio: 16 / 10; }
	.tlx-f-acc__shot.is-on { display: block; }

	.tlx-f-cards__row { gap: 16px; }
	.tlx-f-card { width: 328px; }
	.tlx-f-card__body { padding: 16px 18px 18px; }
	.tlx-f-card__body b { font-size: 17px; }
	.tlx-f-card__body p { font-size: 13px; margin-top: 6px; line-height: 1.45; }
	.tlx-f-card__n { top: 12px; left: 12px; font-size: 13px; padding: 7px 9px; }
	.tlx-f-cards__nav { justify-content: flex-end; margin-top: 16px; }
	.tlx-f-dots { display: none; }
	.tlx-f-arrows { display: flex; }

	.tlx-f-tabs__row { gap: 28px; border-bottom: 1px solid var(--f-line); overflow: visible; }
	.tlx-f-tab { padding: 14px 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: none; color: var(--f-muted); font-size: 17px; }
	.tlx-f-tab.is-on { background: none; color: var(--f-ink); border-bottom-color: var(--f-accent); }
	.tlx-f-tabs__panel { margin-top: 0; }
	.tlx-f-tabs__panel.is-on { display: grid; grid-template-columns: 560px 1fr; gap: 48px; align-items: center; margin-top: 32px; }
	.tlx-f-tabs__body { margin-top: 0; }
	.tlx-f-tabs__body b { font-size: 24px; }
	.tlx-f-tabs__body p { font-size: 16px; line-height: 1.6; margin-top: 12px; }

	.tlx-f--zig { gap: 56px; }
	.tlx-f-zig__row { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
	.tlx-f-zig__row:nth-child(even) .tlx-f-zig__img { order: 2; }
	.tlx-f-zig__n { top: 14px; left: 14px; font-size: 14px; padding: 8px 10px; }
	.tlx-f-zig__body { margin-top: 0; }
	.tlx-f-zig__body b { font-size: 26px; }
	.tlx-f-zig__body p { font-size: 16px; line-height: 1.6; margin-top: 12px; }

	.tlx-f--bento { grid-template-columns: 2fr 1fr; gap: 16px; }
	.tlx-f-bento__hero { grid-column: 1; grid-row: 1 / -1; aspect-ratio: auto; min-height: 360px; }
	.tlx-f--bento-wide { grid-template-columns: repeat(4, 1fr); }
	.tlx-f--bento-wide .tlx-f-bento__hero { grid-column: span 2; grid-row: span 2; }
	.tlx-f-bento__cap { padding: 48px 20px 20px; }
	.tlx-f-bento__cap b { font-size: 22px; }
	.tlx-f-bento__cap p { font-size: 14px; margin-top: 6px; }
	.tlx-f-bento__tile { padding: 20px; }
	.tlx-f-bento__n { font-size: 13px; }
	.tlx-f-bento__tile b { font-size: 17px; margin-top: 14px; }
	.tlx-f-bento__tile p { font-size: 13px; margin-top: 6px; line-height: 1.45; }
}
