/* ==========================================================================
   Подвал s-treid.ru (footer-rebuild, вариант F2 «Тёмный», реквизиты строкой).
   Порт CSS прототипа docs/menu-redesign/prototype/index.html (?footer=F2). Токены --st-* и
   .st-container — из header.css (грузится раньше). Префикс sf-, тёмный тон через .sf-dark.
   ========================================================================== */

.sf,.sf *,.sf *::before,.sf *::after{box-sizing:border-box}
.sf{
  --sf-fg:var(--st-ink);--sf-mute:var(--st-mute);--sf-line:var(--st-line);--sf-link:var(--st-ink-2);--sf-bg:var(--st-sheet);
  --sf-panel:var(--st-white);--sf-badge:var(--st-white);--sf-hover:var(--st-brand);
  font-family:var(--st-font);font-size:14px;line-height:1.45;color:var(--sf-fg);position:relative;z-index:1;
}
.sf-dark{
  --sf-fg:#FFFFFF;--sf-mute:#A7ABB1;--sf-line:#2E3237;--sf-link:#D6D8DB;--sf-bg:var(--st-ink);
  --sf-panel:#25282D;--sf-badge:#2E3237;--sf-hover:#FFFFFF;--st-logo-a:#FFFFFF;--st-logo-b:#1B1D20;--st-logo-c:#5C6066;
  background:var(--st-ink);color:#fff;
}
/* сбросы той же специфичности, что в header.css */
.sf :where(a){color:inherit;text-decoration:none}
.sf :where(button){font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0;line-height:inherit}
.sf :where(button):hover,.sf :where(button):focus{background:none;color:inherit}
.sf :where(ul){list-style:none;margin:0;padding:0}
.sf :where(li){margin:0;padding:0}
.sf :where(h4,p,address){margin:0;font-style:normal}
.sf :where(svg){display:block}
.sf :focus-visible{outline:2px solid var(--st-brand);outline-offset:2px}
.sf-dark :focus-visible{outline-color:#fff}

/* колонки ссылок (меню по локациям streid_footer_*) */
.sf-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 32px}
.sf-col{min-width:0}
.sf-col__t{margin:0 0 14px;font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sf-fg);line-height:1.3}
.sf-col__t button{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:default;display:flex;align-items:center;gap:8px;text-align:left}
.sf-col__t .st-chev{display:none;width:11px;height:11px;opacity:.6;transition:transform .15s;flex:0 0 auto}
.sf-col ul li{margin:0 0 9px}
.sf-col ul a{color:var(--sf-link);line-height:1.35}
.sf-col ul a:hover{color:var(--sf-hover)}

/* бренд-блок */
.sf-brand{max-width:340px}
.sf-brand .st-logo__mark{width:42px;height:42px}
.sf-brand .st-logo__name{font-size:17px}
.sf-brand__d{margin:12px 0 0;font-size:13px;line-height:1.5;color:var(--sf-mute)}

/* контакты (адрес — [belingogeo_city_field], телефон один на все поддомены) */
.sf-contacts{display:flex;flex-direction:column;align-items:flex-start}
.sf-phone{font-size:20px;font-weight:700;letter-spacing:-.01em;line-height:1.2;color:var(--sf-fg)}
.sf-phone:hover{color:var(--sf-hover)}
.sf-hours{font-size:12.5px;color:var(--sf-mute);margin:4px 0 14px}
.sf-mails{display:flex;flex-direction:column;gap:4px;font-weight:500}
.sf-mails a:hover{color:var(--sf-hover)}
.sf-addr{font-style:normal;margin:12px 0 0;color:var(--sf-link);line-height:1.45;max-width:300px}
.sf-contacts > .sf-btn{margin-top:18px}
.sf-contacts__cta{margin-top:20px;padding-top:18px;border-top:1px solid var(--sf-line);width:100%}
.sf-contacts__cta p{margin:0 0 12px;line-height:1.45}
.sf-contacts__cta .sf-btn{width:100%}
.sf-contacts__cta + .sf-btn{width:100%;margin-top:10px}
.sf-contacts__meta{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}

/* кнопки: «Отправить спецификацию» → форма КП, «Заказать консультацию» → форма звонка (popup-forms) */
.sf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border-radius:var(--st-radius);font-weight:600;font-size:14px;white-space:nowrap;transition:.15s;border:1px solid transparent;line-height:1}
.sf-btn--brand{background:var(--st-brand);color:#fff;border-color:var(--st-brand)}
.sf-btn--brand:hover{background:var(--st-brand-dark);border-color:var(--st-brand-dark);color:#fff}
.sf-btn--outline{border-color:var(--st-line-2);color:var(--sf-fg);background:transparent}
.sf-btn--outline:hover{border-color:var(--st-brand);color:var(--st-brand)}
.sf-dark .sf-btn--outline{border-color:#4A4F56;color:#fff}
.sf-dark .sf-btn--outline:hover{border-color:#fff;color:#fff}

/* соцсети и бейдж Яндекс.Справочника (iframe rating-badge/1007336256, loading="lazy") */
.sf-social{display:flex;gap:8px}
.sf-social a{width:38px;height:38px;border-radius:6px;background:var(--st-sheet-2);display:grid;place-items:center;color:var(--st-ink-2)}
.sf-social a:hover{background:var(--st-brand-soft);color:var(--st-brand)}
.sf-social .st-ico{width:18px;height:18px}
.sf-dark .sf-social a{background:rgba(255,255,255,.08);color:#fff}
.sf-dark .sf-social a:hover{background:var(--st-brand);color:#fff}
.sf-badge{display:block;width:150px;height:50px;border:0;border-radius:6px;flex:0 0 auto}

/* основной блок: F2 — две панели, слева бренд + колонки, справа панель контактов */
.sf-main{background:var(--sf-bg)}
.sf-main > .st-container{padding-top:44px;padding-bottom:44px}
.sf-two{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.sf-two__left .sf-brand{margin-bottom:32px;max-width:520px}
.sf-panel{background:var(--sf-panel);border-radius:8px;padding:28px 28px 26px}
.sf-panel .sf-col__t{color:var(--sf-mute)}
.sf-panel .sf-phone{font-size:24px}
.sf-col__t--static{cursor:default;margin-bottom:14px}

/* правовая строка: копирайт + реквизиты строкой, дисклеймер, 3 правовые ссылки */
.sf-legal{background:var(--st-sheet-2);border-top:1px solid var(--sf-line);font-size:12.5px;color:var(--sf-mute)}
.sf-legal--dark{background:#141619;border-top-color:#2E3237}
.sf-legal .st-container{display:grid;grid-template-columns:1fr auto;gap:8px 48px;align-items:start;padding-top:18px;padding-bottom:20px}
.sf-legal p{margin:0}
.sf-legal__copy{color:var(--sf-fg)}
.sf-legal__copy .sf-req{color:var(--sf-mute)}
.sf-legal__note{margin-top:6px!important;max-width:760px;line-height:1.45}
.sf-legal__links{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:flex-end;padding-top:1px}
.sf-legal__links a{color:var(--sf-mute);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:.15s}
.sf-legal__links a:hover{color:var(--sf-hover);text-decoration-color:currentColor}

@media (max-width:1024px){
  .sf-two{grid-template-columns:1fr 340px;gap:32px}
  .sf-cols{gap:32px 24px}
}
@media (max-width:768px){
  /* колонки → аккордеоны (свёрнуты), контакты и CTA развёрнуты, правовая строка столбиком;
     отступ под нижнюю панель навигации даёт body{padding-bottom} из header.css */
  .sf-cols{grid-template-columns:1fr;gap:0}
  .sf-col{border-top:1px solid var(--sf-line)}
  .sf-col__t{margin:0}
  .sf-col__t button{width:100%;justify-content:space-between;padding:15px 0;cursor:pointer;min-height:48px}
  .sf-col__t .st-chev{display:block}
  .sf-col.is-open .sf-col__t .st-chev{transform:rotate(180deg)}
  .sf-col:not(.is-open) > ul{display:none}
  .sf-col > ul{padding:2px 0 16px}
  .sf-col ul li{margin:0 0 11px}
  .sf-col ul a{font-size:15px}
  .sf-main > .st-container{padding-top:28px;padding-bottom:32px}
  .sf-btn{width:100%;max-width:520px}
  .sf-two{grid-template-columns:1fr;gap:24px}
  .sf-two__left .sf-brand{margin-bottom:20px}
  .sf-panel{padding:22px 18px}
  .sf-legal .st-container{grid-template-columns:1fr;gap:12px;padding-top:18px;padding-bottom:22px}
  .sf-legal__links{justify-content:flex-start}
  .sf-contacts__meta{width:100%}
}

/* Совместимость с OceanWP: родительские стили #footer не применяются (свой id), кнопка «наверх»
   не должна перекрывать нижнюю панель на мобиле */
@media (max-width:768px){
  #scroll-top{bottom:calc(var(--st-m-bar-h) + 12px)}
}
