/* ==========================================================================
   Каталог анализов: «свернуть / развернуть» вместо баннера «Все виды анализов».
   Видна первая строка, остальное раскрывается плавно (grid 0fr → 1fr),
   карточки появляются каскадом. Отдельный файл — чтобы не пересекаться
   с правками service-landing.css. Разметка — service/landing.twig.
   ========================================================================== */

.analizy-catalog-more { height: 0; overflow: hidden; transition: height .7s cubic-bezier(.22, 1, .36, 1); }
/* высоту выставляет скрипт (service/landing.twig): 0 → px → auto */
.analizy-catalog-more.is-settled { overflow: visible; }

.analizy-catalog-more__inner { visibility: hidden; transition: visibility 0s linear .7s; }
.analizy-catalog-more.is-open .analizy-catalog-more__inner { visibility: visible; transition-delay: 0s; }

.analizy-catalog-grid--more { padding-top: 16px; }

.analizy-catalog-grid--more .analizy-catalog-card {
	opacity: 0;
	transform: translateY(26px) scale(.96);
	filter: blur(6px);
	transition: opacity .5s ease, transform .7s cubic-bezier(.22, 1, .36, 1), filter .5s ease, box-shadow .2s ease;
	transition-delay: 0s;
}
.analizy-catalog-more.is-open .analizy-catalog-card {
	opacity: 1;
	transform: none;
	filter: none;
	transition-delay: calc(var(--i, 0) * 55ms + .12s);
}
.analizy-catalog-more.is-open.is-settled .analizy-catalog-card { transition: transform .2s ease, box-shadow .2s ease; transition-delay: 0s; }
.analizy-catalog-more.is-open.is-settled .analizy-catalog-card:hover { transform: translateY(-4px); }

/* ---------- Кнопка ---------- */
.analizy-catalog-toggle-wrap { position: relative; display: flex; justify-content: center; margin-top: 26px; }
/* тонкая линия-«шов» по бокам от кнопки */
.analizy-catalog-toggle-wrap::before { content: ''; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: linear-gradient(90deg, transparent, rgba(8, 116, 249, .22) 18%, rgba(124, 92, 255, .22) 82%, transparent); }

.analizy-catalog-toggle {
	position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 12px;
	padding: 10px 12px 10px 24px; border: 1px solid rgba(8, 116, 249, .2); border-radius: 999px;
	color: #071537; background: rgba(255, 255, 255, .92);
	-webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
	box-shadow: 0 14px 34px -14px rgba(8, 116, 249, .5), inset 0 1px 0 #fff;
	font: 600 16px/1 Inter, sans-serif; letter-spacing: -.02em; cursor: pointer;
	transition: transform .3s cubic-bezier(.22, 1, .36, 1), box-shadow .3s ease, border-color .25s ease, color .25s ease;
}
.analizy-catalog-toggle:hover, .analizy-catalog-toggle:focus, .analizy-catalog-toggle:active { color: #071537; background: rgba(255, 255, 255, .98); }
.analizy-catalog-toggle:hover { transform: translateY(-2px); border-color: rgba(8, 116, 249, .5); box-shadow: 0 20px 40px -14px rgba(8, 116, 249, .65), inset 0 1px 0 #fff; }
.analizy-catalog-toggle:active { transform: translateY(0) scale(.98); }
.analizy-catalog-toggle:focus-visible { outline: 3px solid rgba(8, 116, 249, .35); outline-offset: 3px; }

.analizy-catalog-toggle__count { display: inline-grid; place-items: center; min-width: 38px; height: 28px; padding: 0 10px; border-radius: 999px; color: #0874f9; background: #eaf2ff; font: 700 13px/1 Inter, sans-serif; transition: opacity .3s ease, transform .3s ease, min-width .3s ease, padding .3s ease; }
.analizy-catalog-toggle.is-open .analizy-catalog-toggle__count { min-width: 0; width: 0; padding: 0; opacity: 0; transform: scale(.4); margin-left: -12px; overflow: hidden; }

.analizy-catalog-toggle__chev { display: grid; flex: 0 0 auto; box-sizing: content-box; width: 18px; height: 18px; padding: 8px; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #0874f9, #7c5cff); box-shadow: 0 8px 18px -6px rgba(8, 116, 249, .7); transition: transform .5s cubic-bezier(.34, 1.56, .64, 1); }
.analizy-catalog-toggle.is-open .analizy-catalog-toggle__chev { transform: rotate(180deg); }
.analizy-catalog-toggle:hover .analizy-catalog-toggle__chev { box-shadow: 0 10px 22px -6px rgba(124, 92, 255, .8); }

@media (max-width: 991px) {
	.analizy-catalog-grid--more { padding-top: 10px; }
	.analizy-catalog-toggle-wrap { margin-top: 18px; }
	.analizy-catalog-toggle { font-size: 15px; padding: 9px 10px 9px 20px; }
}

@media (prefers-reduced-motion: reduce) {
	.analizy-catalog-more, .analizy-catalog-grid--more .analizy-catalog-card, .analizy-catalog-toggle, .analizy-catalog-toggle__chev, .analizy-catalog-toggle__count { transition: none !important; }
	.analizy-catalog-grid--more .analizy-catalog-card { filter: none; transform: none; }
}
