/*
 * organisms.css — части страницы из атомов и молекул. Раскладка — только сеткой layout.css
 * (Container / Grid / Stack, брейкпоинты MUI); здесь — то, чего сетка не задаёт. Только переменные tokens.css.
 * Корень организма — <section|header|footer class="<имя файла>" aria-label>; части — .<имя>__<часть>.
 */

/* ═══ Корни организмов без своего вида: вид даёт .section и сетка ═══ */
.directions, .about, .process, .products, .services, .calc, .gets, .family, .agents, .find-agent, .reviews, .app, .faq, .entries, .stats { display: block; }
/* Все услуги: единая высота всех рядов по самой высокой карточке, без фиксированного ограничения. */
.services .grid { grid-template-columns: repeat(var(--kit-columns), minmax(0, 1fr)); grid-auto-flow: row; grid-auto-rows: 1fr; grid-auto-columns: auto; align-items: stretch; overflow: visible; padding: 0; margin: 0; }
.services .grid > * { grid-column: span min(var(--xs, 99), var(--kit-columns)); align-self: stretch; }
.services .grid > * > .link-card { height: 100%; }
.services .link-card { min-width: 0; overflow-wrap: anywhere; }
@media (min-width: 600px) { .services .grid > * { grid-column: span min(var(--sm, var(--xs, 99)), var(--kit-columns)); } }
@media (min-width: 840px) { .services .grid > * { grid-column: span min(var(--md, var(--sm, var(--xs, 99))), var(--kit-columns)); } }
@media (min-width: 1280px) { .services .grid > * { grid-column: span min(var(--lg, var(--md, var(--sm, var(--xs, 99)))), var(--kit-columns)); } }
/* Страховой контент — достроено: сравнение, тарифы, статья, пример предложений. */
.insurance-content { display: block; }
.insurance-content__card { display: grid; align-content: start; gap: var(--kit-sp-4); padding: var(--kit-sp-6); border: var(--kit-bw) solid var(--mui-palette-divider); border-radius: var(--mui-shape-radiusCardLg); background: var(--mui-palette-background-paper); }
.insurance-content__card--grey { background: var(--mui-palette-grey-100); }
.insurance-content__card--navy { background: var(--mui-palette-section-navy); color: var(--mui-palette-common-white); }
.insurance-content__card--active { border-color: var(--mui-palette-info-main); }
.insurance-content__list { display: grid; gap: var(--kit-sp-4); padding: 0; margin: 0; list-style: none; }
.insurance-content__list li { display: flex; gap: var(--kit-sp-3); }
.insurance-content__list .icon { flex-shrink: 0; color: var(--mui-palette-success-main); }
.insurance-content__offer { display: flex; flex-wrap: wrap; align-items: center; gap: var(--kit-sp-4); padding: var(--kit-sp-5); border: var(--kit-bw) solid var(--mui-palette-divider); border-radius: var(--mui-shape-radiusCard); }
.insurance-content__offer > :last-child { margin-left: auto; }
.insurance-content__media { display: grid; place-content: center; gap: var(--kit-sp-4); text-align: center; padding: var(--kit-sp-6); min-height: calc(var(--kit-sp-24) * 5); border-radius: var(--mui-shape-radiusCardLg); background: var(--kit-gradient-fade); color: var(--mui-palette-text-secondary); }
.insurance-content__media--small { min-height: var(--kit-sp-24); }
.insurance-content__photo { min-height: var(--kit-sp-24); display: grid; place-content: center; text-align: center; padding: var(--kit-sp-5); background: var(--mui-palette-info-lighter); border-radius: var(--mui-shape-radiusCard); color: var(--mui-palette-info-dark); }
.insurance-content__photo--image { display: block; width: 100%; height: auto; padding: 0; object-fit: cover; }
.insurance-content__portrait { display: block; width: 100%; height: auto; border-radius: var(--mui-shape-borderRadius); }
.insurance-content__article { display: grid; gap: var(--kit-sp-6); }
.insurance-content__article p { font: var(--mui-font-body1); }
.insurance-content__table { width: 100%; border-collapse: collapse; font: var(--mui-font-body2); }
.insurance-content__table th { background: var(--mui-palette-section-navy); color: var(--mui-palette-common-white); text-align: left; }
.insurance-content__table td, .insurance-content__table th { padding: var(--kit-sp-3); border-bottom: var(--kit-bw) solid var(--mui-palette-divider); overflow-wrap: anywhere; }
.insurance-content__note { padding: var(--kit-sp-5); border-radius: var(--mui-shape-radiusCard); background: var(--mui-palette-info-lighter); color: var(--mui-palette-text-primary); }
.insurance-content__control { width: 100%; padding: var(--kit-sp-4); background: var(--mui-palette-background-paper); border: var(--kit-bw) solid var(--mui-palette-divider); border-radius: var(--mui-shape-borderRadius); color: var(--mui-palette-text-primary); font: var(--mui-font-body1); }
.insurance-content__bubble { padding: var(--kit-sp-4); border-radius: var(--mui-shape-radiusCard); background: var(--mui-palette-grey-100); }
.insurance-content__bubble--client { background: var(--mui-palette-info-lighter); margin-left: var(--kit-sp-8); }
.insurance-content__links { display: grid; gap: var(--kit-sp-3); }
.insurance-content__links a { color: inherit; text-decoration: none; }
.insurance-content__links a:hover { text-decoration: underline; }
.insurance-content__stat { padding: var(--kit-sp-5); border-left: var(--kit-bw) solid var(--mui-palette-divider); }
.insurance-content__crumbs { padding-block: var(--kit-sp-5); color: var(--mui-palette-text-secondary); font: var(--mui-font-caption); }
.insurance-content__chat { scroll-margin-top: var(--kit-sp-24); }
.insurance-content p, .insurance-content__card p { margin: 0; }
.insurance-content__card > .chip { justify-self: start; }
.insurance-content__links { align-content: start; }
@media (max-width: 839.98px) { .insurance-content__media { min-height: calc(var(--kit-sp-24) * 3); } }

/* ═══ Шапка (AppBar + Toolbar; мобильное меню — Drawer сверху) ═══ */
.header { position: sticky; top: 0; z-index: var(--mui-zIndex-appBar); background: var(--mui-palette-background-paper); border-bottom: var(--kit-bw) solid var(--mui-palette-divider); }
.header__bar { display: flex; align-items: center; gap: var(--kit-sp-6); min-height: calc(var(--kit-size-large) + 2 * var(--kit-sp-4)); }
.header__nav { display: flex; gap: var(--kit-sp-6); margin-right: auto; }
.header__actions { display: flex; gap: var(--kit-sp-3); align-items: center; margin-left: auto; }
.header__menu { display: none; padding: var(--kit-sp-2) 0 var(--kit-sp-5); border-top: var(--kit-bw) solid var(--mui-palette-divider); }
.header__menu:not([hidden]) { display: grid; gap: var(--kit-sp-1); }
.header__menu .link--nav { padding: var(--kit-sp-3) 0; }
.header__menu .button { margin-top: var(--kit-sp-3); }
@media (max-width: 1279.98px) { .header__nav, .header__actions .button--outlined { display: none; } }
@media (min-width: 1280px) { .header__burger, .header__menu, .header__menu:not([hidden]) { display: none; } }
@media (max-width: 599.98px) { .header__bar { min-height: calc(var(--kit-size-small) + 2 * var(--kit-sp-3)); } .header .logo img { height: var(--kit-box-xs); } }

/* ═══ Hero ═══ */
.hero { padding-block: var(--kit-sp-12) var(--kit-sp-10); }
.hero__text { display: grid; gap: var(--kit-sp-5); align-content: start; }
.hero__text .typo-subtitle1 { color: var(--mui-palette-text-secondary); max-width: var(--kit-w-hero-lead); }
.hero__chips { display: flex; flex-wrap: wrap; gap: var(--kit-sp-2); }
.hero__media, .family__media { border-radius: var(--mui-shape-radiusCardLg); overflow: hidden; background: var(--mui-palette-grey-100); }
.hero__media img, .family__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hero__badge { justify-self: start; }
@media (max-width: 599.98px) { .hero { padding-block: var(--kit-sp-5) var(--kit-sp-6); } .hero__text { gap: var(--kit-sp-4); } }

/* ═══ Полоса показателей ═══ */
.stats__band { border-block: var(--kit-bw) solid var(--mui-palette-divider); padding-block: var(--kit-sp-6); }
@media (max-width: 599.98px) { .stats__band { border: 0; background: var(--mui-palette-section-grey); padding-block: var(--kit-sp-6); } }

/* ═══ Калькулятор вычета (форма) ═══ */
.calc__form { display: grid; gap: var(--kit-sp-4); align-content: start; }
.calc__total { display: grid; gap: var(--kit-sp-4); padding: var(--kit-sp-6); border-radius: var(--mui-shape-radiusCardLg); background: var(--mui-palette-section-navy); color: var(--mui-palette-common-white); align-content: start; }
.calc__lines { display: grid; margin: 0; padding: 0; list-style: none; }
.calc__lines li { display: flex; justify-content: space-between; gap: var(--kit-sp-3); padding: var(--kit-sp-4) 0; border-top: var(--kit-bw) solid var(--mui-palette-common-onDarkDivider); font: var(--mui-font-body1); color: var(--mui-palette-section-navyText); }
.calc__lines li b { color: var(--mui-palette-common-white); font-weight: var(--kit-fw-semibold); }
.calc__lines li[hidden] { display: none; }
.calc__rows { display: grid; gap: var(--kit-sp-3); }
.calc__period { color: var(--mui-palette-section-navyText); }
.calc__note { font: var(--mui-font-caption); color: var(--mui-palette-section-navyText); }
.calc__card { padding: var(--kit-sp-6); border-radius: var(--mui-shape-radiusCardLg); background: var(--mui-palette-background-paper); }

/* ═══ Тёмная полоса: цитата и цифры ═══ */
.dark-band .divider { margin-block: var(--kit-sp-8); }
.dark-band__chips { display: flex; flex-wrap: wrap; gap: var(--kit-sp-2); justify-content: center; margin-top: var(--kit-sp-8); }

/* ═══ Отзывы, CTA, приложение ═══ */
/* Поля принадлежат FAQ, а не странице: .section и её плотность их не отменяют. */
.faq.faq { padding-block: var(--kit-faq-space-y); }
.faq__title { margin-bottom: var(--kit-sp-3); }
.reviews__filters { display: flex; flex-wrap: wrap; gap: var(--kit-sp-2); margin-bottom: var(--kit-sp-5); }
.cta { text-align: center; }
.cta .section-head__text { margin-inline: auto; }
.cta__field { max-width: var(--kit-w-cta-field); margin: 0 auto var(--kit-sp-5); text-align: left; }
.cta__chips { display: flex; flex-wrap: wrap; gap: var(--kit-sp-2); justify-content: center; }
.app__media { border-radius: var(--mui-shape-radiusCardLg); overflow: hidden; }
.app__media img { display: block; width: 100%; height: auto; }
.app__stores { display: flex; flex-wrap: wrap; gap: var(--kit-sp-3); }
@media (max-width: 599.98px) { .app__stores { display: grid; grid-template-columns: 1fr 1fr; } .app__stores .store-badge { justify-items: center; } .app__stores .store-badge--outlined { display: none; } }

/* ═══ Подвал ═══ */
.footer { background: var(--mui-palette-section-dark); color: var(--mui-palette-common-white); padding-block: var(--kit-sp-10) var(--kit-sp-8); }
.footer__cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--kit-sp-5); }
.footer__phone { text-align: right; }
.footer .divider { margin-block: var(--kit-sp-8) var(--kit-sp-6); }
.footer__col { display: grid; gap: var(--kit-sp-2); align-content: start; }
.footer__col ul { display: grid; gap: var(--kit-sp-2); margin: 0; padding: 0; list-style: none; }
.footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--kit-sp-3); margin-top: var(--kit-sp-8); }
@media (max-width: 599.98px) { .footer__cta { display: grid; } .footer__cta .button { width: 100%; } .footer__phone { text-align: left; } }

/* компактная шапка независимо от ширины окна — для показа мобильного меню на витрине */
.header--compact .header__nav, .header--compact .header__actions .button--outlined, .header--compact .hide-below-md { display: none !important; }
.header--compact .header__burger, .header--compact .hide-md-up { display: inline-grid !important; }
.header--compact .hide-md-up.button { display: inline-flex !important; }
.header--compact .header__menu:not([hidden]) { display: grid !important; }

/* Составной калькулятор и компактные варианты страхового контента. */
.insurance-calculator { padding: var(--kit-sp-6); border-radius: var(--mui-shape-radiusCardLg); background: var(--mui-palette-background-paper); display: grid; gap: var(--kit-sp-4); }
.insurance-calculator form { display: grid; gap: var(--kit-sp-3); }
.insurance-calculator__fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--kit-sp-3); }
.insurance-calculator .input { min-width: 0; }
.insurance-calculator .input__control { width: 100%; min-width: 0; }
.insurance-calculator__result { display: grid; padding: var(--kit-sp-4); border-radius: var(--mui-shape-radiusSm); background: var(--mui-palette-section-navy); color: var(--mui-palette-common-white); }
.insurance-calculator[data-state="error"] .insurance-calculator__result { background: var(--mui-palette-error-dark); }
.insurance-calculator[data-state="checking"] .insurance-calculator__result { opacity: var(--kit-demo-opacity); }
.insurance-content__offer--compact { flex-wrap: nowrap; padding: var(--kit-sp-3) var(--kit-sp-4); gap: var(--kit-sp-4); background: var(--mui-palette-background-paper); border-radius: var(--mui-shape-borderRadius); font: var(--mui-font-body2); }
.insurance-content__offer--compact > strong { margin-left: auto; white-space: nowrap; }
.insurance-content__offer--active { border-color: var(--mui-palette-section-navyText); }
.insurance-content__offer--active > :last-child { margin-left: 0; }
.insurance-content__card--coverage { grid-template-columns: auto 1fr; gap: var(--kit-sp-1) var(--kit-sp-4); padding: var(--kit-sp-6); }
.insurance-content__card--coverage .avatar { grid-row: 1 / 3; background: var(--mui-palette-info-lighter); }
.insurance-content__card--coverage h3 { font: var(--mui-font-subtitle2); }
.insurance-content__card--coverage strong { font: var(--mui-font-subtitle2); color: var(--mui-palette-info-dark); }
.insurance-content__card--coverage p { grid-column: 1 / -1; margin-top: var(--kit-sp-3); font: var(--mui-font-body2); color: var(--mui-palette-text-secondary); }
.insurance-content__links--compact { padding: var(--kit-sp-6); border: var(--kit-bw) solid var(--mui-palette-divider); border-radius: var(--mui-shape-radiusCard); background: var(--mui-palette-background-paper); font: var(--mui-font-body2); gap: var(--kit-sp-2); }
.stats__band--bordered { border: var(--kit-bw) solid var(--mui-palette-divider); border-radius: var(--mui-shape-radiusCard); padding: var(--kit-sp-5); background: var(--mui-palette-background-paper); }
.stats__band--bordered .stat { border-left: var(--kit-bw) solid var(--mui-palette-divider); text-align: center; }
.stats__band--bordered .stat:first-child { border-left: 0; }
@media (max-width: 599.98px) { .insurance-content__offer--compact { flex-wrap: wrap; } .stats__band--bordered .stat:nth-child(odd) { border-left: 0; } }
