/* =========================
   ЯЗЫКОВЫЕ SEO-СТРАНИЦЫ — tools/site/build.py
   (главная: карусель + кнопки как раньше, текст ниже; услуги, зоны, FAQ)
   ========================= */

/* Главная: карусель + кнопки занимают первый экран, текст о сервисе — ниже */
.home-body .onboard { min-height: max(420px, calc(100svh - 150px - env(safe-area-inset-bottom))); flex: none; }
.home-body:has(.home-cta--repeat) .onboard { min-height: max(420px, calc(100svh - 240px - env(safe-area-inset-bottom))); }

/* Переключатель языка */
.lang-menu { position: relative; pointer-events: auto; margin-left: auto; margin-right: 10px; font-size: 14px; font-weight: 700; color: var(--lotti-text-title); }
.lang-menu > summary { list-style: none; cursor: pointer; height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 4px; border-radius: 20px; background: rgba(255,255,255,.72); box-shadow: 0 2px 8px rgba(97,56,81,.15); -webkit-tap-highlight-color: transparent; }
.lang-menu > summary::-webkit-details-marker { display: none; }
.lang-menu__list { position: absolute; right: 0; top: 46px; z-index: 30; min-width: 140px; padding: 6px; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(97,56,81,.18); display: flex; flex-direction: column; }
.lang-menu__list a { padding: 9px 12px; border-radius: 10px; color: var(--lotti-text-title); text-decoration: none; font-weight: 600; }
.lang-menu__list a:hover, .lang-menu__list a[aria-current] { background: rgba(255,181,200,.18); }
.home-profile-link { margin-left: auto; pointer-events: auto; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(255,255,255,.72); box-shadow: 0 2px 8px rgba(97,56,81,.15); color: var(--lotti-text-title, #613851); -webkit-tap-highlight-color: transparent; }
.home-profile-link svg { width: 22px; height: 22px; }
.home-header .home-profile-link { margin-left: 0; }

/* Предложение версии на языке браузера (js/site.js) */
.lang-suggest { position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 50; max-width: 520px; margin: 0 auto; display: flex; align-items: center; gap: 8px; padding: 10px 10px 10px 16px; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(97,56,81,.22); font-size: 15px; }
.lang-suggest a { flex: 1; color: var(--site-link); font-weight: 700; text-decoration: none; }
.lang-suggest button { width: 32px; height: 32px; border: 0; border-radius: 50%; background: rgba(148,115,137,.12); color: var(--lotti-text-sub); font-size: 18px; cursor: pointer; }

/* Текстовые блоки */
/* Текст длинных блоков темнее фирменного --lotti-text-sub, ссылки темнее розовой кнопки — контраст WCAG AA */
.site-main, .site-body, .home-body { --site-text: #7A5A6F; --site-link: #B83C72; }
.site-main { background: var(--lotti-sheet-bg, #FAF7FC); color: var(--lotti-text-title); padding: 8px 20px 24px; line-height: 1.6; font-size: 16px; }
.site-main > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.site-section { padding: 22px 0; border-top: 1px solid rgba(148,115,137,.12); }
.site-intro { border-top: 0; }
.site-main h1 { font-size: clamp(26px, 6vw, 36px); line-height: 1.2; margin: 8px 0 12px; font-weight: 800; }
.site-main h2 { font-size: 22px; line-height: 1.3; margin: 0 0 12px; font-weight: 800; }
.site-main h3 { font-size: 17px; line-height: 1.35; margin: 0 0 4px; font-weight: 700; }
.site-main p { margin: 0 0 12px; color: var(--site-text); }
.site-main a { color: var(--site-link); }
.site-lead { font-size: 17px; }
.site-more { font-weight: 700; text-decoration: none; }
.site-note { font-size: 14px; }

.site-steps { counter-reset: step; display: grid; gap: 12px; padding: 0; margin: 0; list-style: none; }
.site-steps li { counter-increment: step; position: relative; padding: 14px 16px 6px 60px; border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.site-steps li::before { content: counter(step); position: absolute; left: 16px; top: 14px; width: 30px; height: 30px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, var(--lotti-btn-from), var(--lotti-btn-to)); }

.site-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 4px 0 10px; }
.site-price { padding: 16px; border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); border: 1.5px solid rgba(255,181,200,.4); }
.site-price__value { font-size: 30px; font-weight: 800; color: var(--site-link) !important; margin: 2px 0 6px !important; }

.site-programs { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px; }
.site-programs li { padding: 10px 14px; border-radius: 14px; background: #fff; display: flex; flex-direction: column; font-size: 14px; color: var(--site-text); }
.site-programs strong { color: var(--lotti-text-title); font-size: 15px; }

.site-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; }
.site-cards li { padding: 14px 16px 4px; border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }

.site-faq { border-radius: 16px; background: #fff; margin-bottom: 8px; box-shadow: var(--shadow-soft); }
.site-faq > summary { list-style: none; cursor: pointer; padding: 14px 44px 14px 16px; position: relative; }
.site-faq > summary::-webkit-details-marker { display: none; }
.site-faq > summary::after { content: "+"; position: absolute; right: 16px; top: 12px; font-size: 22px; font-weight: 700; color: var(--lotti-btn-to); }
.site-faq[open] > summary::after { content: "−"; }
.site-faq > summary h3 { display: inline; margin: 0; font-size: 16px; }
.site-faq > p { padding: 0 16px 14px; margin: 0; }

.site-list { padding-left: 0; display: grid; gap: 8px; }
.site-list li { position: relative; padding-left: 22px; color: var(--site-text); }
.site-list li::before { content: "•"; position: absolute; left: 6px; color: var(--lotti-btn-to); font-weight: 800; }
.site-list--check li::before { content: "✓"; left: 2px; }

.site-table-wrap { overflow-x: auto; border-radius: 16px; background: #fff; box-shadow: var(--shadow-soft); }
.site-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.site-table th, .site-table td { padding: 10px 12px; text-align: left; border-bottom: 1px solid rgba(148,115,137,.12); color: var(--site-text); vertical-align: top; }
.site-table thead th, .site-table tbody th { color: var(--lotti-text-title); }
.site-table td { white-space: nowrap; }
.site-table__for { display: block; font-weight: 500; font-size: 13px; color: var(--site-text); }
.site-list + h2 { margin-top: 24px; }

.site-districts { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.site-district { padding: 14px 16px 2px; border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.site-district__barrios { font-size: 14px; }

.site-stores { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }
.site-stores img { height: 50px; width: auto; }

.site-cta { margin-top: 12px; padding: 22px 18px; border-radius: 24px; text-align: center; background: linear-gradient(135deg, #FFEDEB, #EFE0F7); }
.site-cta p { color: var(--site-text); }
.site-cta__buttons { display: grid; gap: 10px; max-width: 420px; margin: 0 auto; }
.site-cta .btn-primary, .site-404 .btn-primary { text-decoration: none; color: #fff; }
.site-cta .btn-order { text-decoration: none; }

/* Внутренние страницы: шапка, крошки */
body.site-body { margin: 0; min-height: 100dvh; display: flex; flex-direction: column; background: var(--lotti-sheet-bg, #FAF7FC); font-family: ui-rounded, "Nunito", -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", Roboto, Arial, sans-serif; color: var(--lotti-text-title); }
.site-body .site-main { flex: 1; width: 100%; }
.site-header { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding: calc(env(safe-area-inset-top) + 12px) 20px 12px; background: linear-gradient(135deg, #FFEDEB, #EFE0F7); }
.site-header .lang-menu { margin-right: 0; }
.site-header__nav { display: flex; gap: 6px 14px; flex-wrap: wrap; order: 3; width: 100%; font-weight: 700; font-size: 15px; }
.site-header__nav a { color: var(--lotti-text-title); text-decoration: none; padding: 4px 0; }
.site-header__nav a[aria-current] { color: var(--site-link); }
@media (min-width: 760px) { .site-header__nav { order: 0; width: auto; margin-left: 24px; } }
.site-crumbs { max-width: 800px; width: 100%; margin: 0 auto; padding: 12px 20px 0; font-size: 13px; color: var(--site-text); }
.site-crumbs a { color: var(--site-text); }

/* Подвал */
.site-footer__tagline { margin: 0; max-width: 520px; font-size: 14px; color: var(--site-text); }
.site-footer__nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; font-size: 14px; font-weight: 600; }
.site-footer__nav a, .site-footer__langs a { color: var(--lotti-text-title); text-decoration: none; }
.site-footer__langs { margin: 0; font-size: 13px; color: var(--site-text); }
.site-footer .footer-link, .site-footer .footer-link-sm, .site-footer .footer-copy { color: var(--site-text); }
.site-footer .footer-link--wa { color: #0E7234; }


.site-404 { text-align: center; padding-top: 48px; }
.site-404 img { margin: 0 auto 12px; }
.site-404 .btn-primary { max-width: 320px; margin: 0 auto; }
