/* Шапка и подвал сайта (22.10.2026, макет: холст «Шапка ГлавСтрой»): страницы Bitrix, старые лендинги и /st/ (вместо меню Tilda).
   PT Sans (меню) / Montserrat 600 (логотип), акцент --gs-accent. Десктоп от 1080px, ниже — бургер и меню на весь экран. */
@font-face { font-family: 'Montserrat'; font-weight: 600; font-style: normal; font-display: swap;
    src: url('/_css/fonts/free/montserrat-600.woff2') format('woff2'), url('/_css/fonts/free/montserrat-600.woff') format('woff'); }

.gs-hdr { --gs-accent: #3f6690; --gs-ink: #1d232b; --gs-muted: #5f6b78; --gs-line: #e3e8ee; --gs-h: 84px;
    position: fixed; top: 0; left: 0; right: 0; z-index: 9990; height: var(--gs-h); background: #fff; border-bottom: 1px solid var(--gs-line);
    min-height: 0; padding: 0; margin: 0; float: none; width: auto; text-align: left; line-height: normal;  /* у Bitrix есть правила для header/nav */
    font-family: 'PT Sans', Arial, sans-serif; color: var(--gs-ink); transition: height .2s, box-shadow .2s; text-rendering: auto; }
/* одинаково на всех шаблонах: у Bitrix сброс line-height:1em на все теги и text-rendering:optimizeSpeed */
/* сглаживание: у Bitrix на body, у Tilda только внутри #allrecords — подвал и уведомление стоят вне его */
.gs-hdr, .gs-ftr, .gs-consent { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.gs-hdr *, .gs-hdr *:before, .gs-hdr *:after { box-sizing: border-box; line-height: inherit; text-rendering: inherit; }
.gs-hdr.is-stuck { --gs-h: 64px; border-bottom-color: transparent; box-shadow: 0 4px 18px rgba(23, 33, 45, .12); }
.gs-hdr-space { height: 84px; }
/* #gs-hdr, а не класс: у Tilda ссылки красятся правилом с id */
#gs-hdr a { color: var(--gs-ink); text-decoration: none; }
#gs-hdr a:hover { color: var(--gs-accent); }
#gs-hdr .gs-hdr__link[aria-current="page"] { color: var(--gs-accent); font-weight: 700; }
.gs-hdr button { font: inherit; color: inherit; background: none; border: 0; padding: 0; margin: 0; cursor: pointer; }
.gs-hdr :focus-visible { outline: 2px solid var(--gs-accent); outline-offset: 3px; border-radius: 4px; }

.gs-hdr__in { height: 100%; max-width: 1320px; margin: 0 auto; padding: 0 40px; display: flex; align-items: center; gap: 36px; }
.gs-hdr__logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.gs-hdr__logo img { display: block; width: 40px; height: 44px; transition: width .2s, height .2s; }
.gs-hdr.is-stuck .gs-hdr__logo img { width: 32px; height: 35px; }
.gs-hdr__name { font: 600 26px/1 'Montserrat', Arial, sans-serif; letter-spacing: .01em; color: #111; }
.gs-hdr__year { font: 600 14px/1 'Montserrat', Arial, sans-serif; color: #111; margin-left: -6px; align-self: flex-start; margin-top: 10px; }
.gs-hdr.is-stuck .gs-hdr__name { font-size: 22px; }
.gs-hdr.is-stuck .gs-hdr__year { margin-top: 8px; }

.gs-hdr__nav { display: flex; align-items: center; gap: 30px; margin: 0 0 0 auto; white-space: nowrap; float: none; width: auto; text-align: left; }
.gs-hdr__link, .gs-hdr__dd-btn { font-size: 17px; line-height: 1.2; }
.gs-hdr__dd-btn { display: flex; align-items: center; gap: 6px; font-weight: 700; }
.gs-hdr__dd-btn svg { transition: transform .2s; }
.gs-hdr__dd-btn:hover, .gs-hdr.is-mega .gs-hdr__dd-btn { color: var(--gs-accent); }
.gs-hdr.is-mega .gs-hdr__dd-btn svg { transform: rotate(180deg); }

.gs-hdr__contact { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.gs-hdr__contact-ico { width: 40px; height: 40px; border-radius: 50%; background: rgba(63, 102, 144, .1); color: var(--gs-accent);
    display: flex; align-items: center; justify-content: center; }
.gs-hdr__contact-txt { display: flex; flex-direction: column; gap: 2px; }
.gs-hdr__phone svg { display: none; }
.gs-hdr__phone { font-size: 21px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; }
.gs-hdr__addr { font-size: 13px; color: var(--gs-muted); white-space: nowrap; }
.gs-hdr.is-stuck .gs-hdr__addr { display: none; }

/* меню направлений: на десктопе — панель под шапкой */
.gs-hdr__mega { position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--gs-line);
    box-shadow: 0 18px 40px rgba(23, 33, 45, .16); display: none; white-space: normal; }
.gs-hdr.is-mega .gs-hdr__mega { display: block; }
.gs-hdr__groups { max-width: 1320px; margin: 0 auto; padding: 32px 40px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.gs-hdr__grp-t { display: block; width: 100%; text-align: left; font-size: 13px !important; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
    color: var(--gs-muted) !important; padding-bottom: 10px !important; margin-bottom: 6px !important; border-bottom: 1px solid var(--gs-line) !important; cursor: default !important; }
.gs-hdr__grp-t span { display: none; }
#gs-hdr .gs-hdr__grp ul { list-style: none; margin: 0; padding: 0; }
.gs-hdr__grp li { margin: 0; padding: 0; }
.gs-hdr__grp li a { display: block; font-size: 17px; line-height: 1.3; padding: 7px 0; }
#gs-hdr .gs-hdr__grp li a[aria-current="page"] { color: var(--gs-accent); font-weight: 700; }
.gs-hdr__mega-foot { max-width: 1320px; margin: 24px auto 0; padding: 18px 40px 22px; border-top: 1px solid var(--gs-line);
    display: flex; align-items: center; gap: 32px; font-size: 16px; }
#gs-hdr .gs-hdr__mega-foot .gs-hdr__all { font-weight: 700; color: var(--gs-accent); }
.gs-hdr__mega-foot span { margin-left: auto; color: #3a4552; }
.gs-hdr__mega-foot span a { font-weight: 700; }
.gs-hdr-dim { position: fixed; left: 0; right: 0; bottom: 0; top: 84px; background: rgba(23, 33, 45, .38); z-index: 9980; display: none; }
.gs-hdr.is-stuck ~ .gs-hdr-dim { top: 64px; }
.gs-hdr.is-mega ~ .gs-hdr-dim { display: block; }

.gs-hdr__call, .gs-hdr__burger, .gs-hdr__panel-foot { display: none; }

@media (max-width: 1279px) {
    .gs-hdr__in { padding: 0 24px; gap: 24px; }
    .gs-hdr__nav { gap: 22px; }
    .gs-hdr__link, .gs-hdr__dd-btn { font-size: 16px; }
    .gs-hdr__name { font-size: 23px; }
    .gs-hdr__contact-ico { display: none; }
    .gs-hdr__phone { font-size: 19px; }
    .gs-hdr__groups { padding: 28px 24px 0; gap: 28px; }
    .gs-hdr__mega-foot { padding: 16px 24px 20px; }
}

/* телефон и планшет: шапка 60px, знак + «ГЛАВСТРОЙ», номер целиком (главное для конверсии, как на Волга Паллет), бургер; меню на весь экран */
@media (max-width: 1079px) {
    .gs-hdr, .gs-hdr.is-stuck { --gs-h: 60px; }
    .gs-hdr-space { height: 60px; }
    .gs-hdr-dim { display: none !important; }
    .gs-hdr__in { padding: 0 12px 0 16px; gap: 8px; }
    .gs-hdr__logo { gap: 9px; }
    .gs-hdr__logo img, .gs-hdr.is-stuck .gs-hdr__logo img { width: 30px; height: 33px; }
    .gs-hdr__name, .gs-hdr.is-stuck .gs-hdr__name { font-size: 19px; }
    .gs-hdr__year, .gs-hdr.is-stuck .gs-hdr__year { font-size: 11px; margin: 4px 0 0 -4px; }
    .gs-hdr__contact { margin-left: auto; gap: 0; }
    .gs-hdr__contact-ico, .gs-hdr__addr { display: none !important; }
    #gs-hdr a.gs-hdr__phone[href] { display: flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 4px; font-size: 17px; color: var(--gs-accent); }
    #gs-hdr .gs-hdr__phone svg { display: block !important; flex-shrink: 0; }
    #gs-hdr .gs-hdr__call { display: none; margin-left: auto; width: 44px; height: 44px; border-radius: 50%; background: var(--gs-accent);
        color: #fff !important; align-items: center; justify-content: center; }
    .gs-hdr__burger { display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; }
    .gs-hdr__burger .x { display: none; }
    .gs-hdr.is-open .gs-hdr__burger .x { display: block; }
    .gs-hdr.is-open .gs-hdr__burger .bars { display: none; }

    .gs-hdr__nav { display: none; position: fixed; top: 60px; left: 0; right: 0; bottom: 0; background: #fff; margin: 0;
        flex-direction: column; align-items: stretch; gap: 0; white-space: normal; overflow-y: auto; -webkit-overflow-scrolling: touch; }
    .gs-hdr.is-open .gs-hdr__nav { display: flex; }
    .gs-hdr__dd { padding: 6px 20px 0; }
    .gs-hdr__dd-btn { display: block; width: 100%; text-align: left; font-size: 13px; letter-spacing: .09em; text-transform: uppercase;
        color: var(--gs-muted) !important; padding: 14px 0 8px; pointer-events: none; }
    .gs-hdr__dd-btn svg { display: none; }
    .gs-hdr__mega { display: block; position: static; box-shadow: none; border: 0; }
    .gs-hdr__groups { display: block; padding: 0; }
    .gs-hdr__grp { border-bottom: 1px solid var(--gs-line); }
    .gs-hdr__grp-t { display: flex; align-items: center; justify-content: space-between; min-height: 50px; font-size: 18px !important;
        letter-spacing: 0; text-transform: none; color: var(--gs-ink) !important; padding: 0 !important; margin: 0 !important; border: 0 !important; cursor: pointer !important; }
    .gs-hdr__grp-t span { display: block; font-size: 22px; font-weight: 400; color: var(--gs-accent); }
    #gs-hdr .gs-hdr__grp ul { display: none; padding: 0 0 10px 12px; }
    #gs-hdr .gs-hdr__grp.is-open ul { display: block; }
    .gs-hdr__grp li a { padding: 10px 0; }
    .gs-hdr__mega-foot { margin: 0; padding: 14px 0 6px; border: 0; flex-direction: column; align-items: flex-start; gap: 0; }
    .gs-hdr__mega-foot a { padding: 8px 0; }
    .gs-hdr__mega-foot span { display: none; }
    .gs-hdr__link { display: flex; align-items: center; min-height: 50px; margin: 0 20px; font-size: 18px; font-weight: 700; border-bottom: 1px solid var(--gs-line); }
    .gs-hdr__link:last-of-type { border-bottom: 0; }
    /* кнопка звонка всегда видна внизу меню, даже когда список длиннее экрана */
    .gs-hdr__panel-foot { position: sticky; bottom: 0; display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding: 14px 20px 22px; border-top: 1px solid var(--gs-line); background: #fff; }
    #gs-hdr .gs-hdr__panel-call { height: 52px; border-radius: 26px; background: var(--gs-accent); color: #fff !important; display: flex; align-items: center;
        justify-content: center; gap: 10px; font-size: 19px; font-weight: 700; }
    .gs-hdr__panel-addr { font-size: 14px; color: var(--gs-muted); text-align: center; }
    html.gs-hdr-lock, html.gs-hdr-lock body { overflow: hidden; }
}
@media (max-width: 479px) {
    .gs-hdr__year { display: none; }
    .gs-hdr__name, .gs-hdr.is-stuck .gs-hdr__name { font-size: 17px; }
}
/* 370–389: слово мельче; уже — остаётся знак, номер не сжимается */
@media (max-width: 389px) {
    .gs-hdr__name, .gs-hdr.is-stuck .gs-hdr__name { font-size: 15px; }
    .gs-hdr__in { padding-left: 12px; }
    .gs-hdr__logo { gap: 7px; }
}
@media (max-width: 369px) {
    .gs-hdr__name { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .gs-hdr, .gs-hdr * { transition: none !important; }
}

/* лендинги /st/ (Tilda): первый экран был под прозрачным абсолютным меню с отступом 135px */
.gs-hdr-space + .t-rec { padding-top: 48px !important; }
html { scroll-padding-top: 96px; }
@media (max-width: 1079px) {
    .gs-hdr-space + .t-rec { padding-top: 24px !important; }
    html { scroll-padding-top: 72px; }
}


/* ---------------------------------------------------------------- подвал ---- */
.gs-ftr { --gs-accent: #3f6690; position: static; min-height: 0; border: 0; width: auto; margin: 0; clear: both;
    background: #1c2632; color: #c3ccd6; font-family: 'PT Sans', Arial, sans-serif; font-size: 15px; line-height: 1.35; text-align: left; text-rendering: auto; }
.gs-ftr *, .gs-ftr *:before, .gs-ftr *:after { box-sizing: border-box; line-height: inherit; text-rendering: inherit; }
#gs-ftr a { color: #c3ccd6; text-decoration: none; }
#gs-ftr a:hover { color: #fff; text-decoration: underline; }
.gs-ftr :focus-visible { outline: 2px solid #fff; outline-offset: 3px; border-radius: 4px; }
.gs-ftr__in { max-width: 1320px; margin: 0 auto; padding: 0 40px; }
.gs-ftr__top { display: flex; align-items: center; gap: 48px; padding: 44px 0 36px; border-bottom: 1px solid #2f3b49; }
#gs-ftr .gs-ftr__logo { display: flex; align-items: center; gap: 12px; flex-shrink: 0; text-decoration: none; }
.gs-ftr__logo img { display: block; width: 40px; height: 44px; max-width: none; filter: invert(1); }
.gs-ftr__logo > span { display: flex; flex-direction: column; gap: 4px; }
.gs-ftr__name { font: 600 26px/1 'Montserrat', Arial, sans-serif; letter-spacing: .01em; color: #fff; }
.gs-ftr__name small { font-size: 14px; vertical-align: top; }
.gs-ftr__tag { font-size: 14px; color: #9aa6b4; }
.gs-ftr__contacts { margin-left: auto; display: flex; align-items: center; gap: 40px; white-space: nowrap; }
.gs-ftr__contacts > div { display: flex; flex-direction: column; gap: 4px; }
.gs-ftr__label { font-size: 13px; color: #9aa6b4; }
#gs-ftr .gs-ftr__val { font-size: 16px; color: #fff; }
/* a…[href]: сильнее правила Tilda #allrecords a[href^=tel] { color: inherit } */
#gs-ftr a.gs-ftr__call[href] { display: flex; align-items: center; gap: 10px; height: 48px; padding: 0 22px; border-radius: 24px; background: var(--gs-accent);
    color: #fff; font-size: 19px; font-weight: 700; text-decoration: none; }
#gs-ftr .gs-ftr__call:hover { filter: brightness(1.12); }
.gs-ftr__call-m { display: none; }
.gs-ftr__nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) 200px; gap: 32px; padding: 36px 0; border-bottom: 1px solid #2f3b49;
    float: none; width: auto; margin: 0; text-align: left; }
.gs-ftr__grp-t, .gs-ftr__grp-h { display: block; width: 100%; text-align: left; font: 700 13px/1.3 'PT Sans', Arial, sans-serif; letter-spacing: .09em;
    text-transform: uppercase; color: #fff; padding: 0 0 10px; margin: 0; background: none; border: 0; cursor: default; }
.gs-ftr__grp-t span { display: none; }
#gs-ftr .gs-ftr__grp ul { list-style: none; margin: 0; padding: 0; }
#gs-ftr .gs-ftr__grp li { margin: 0; padding: 0; font: inherit; }
#gs-ftr .gs-ftr__grp li:before { content: none; }
#gs-ftr .gs-ftr__grp li a { display: block; padding: 5px 0; font-size: 15px; line-height: 1.35; }
.gs-ftr__legal { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 28px; padding: 22px 0; font-size: 13px; color: #8693a2; }
#gs-ftr .gs-ftr__legal a { color: #8693a2; }
.gs-ftr__made { margin-left: auto; }

@media (max-width: 1279px) {
    .gs-ftr__in { padding: 0 24px; }
    .gs-ftr__top { flex-wrap: wrap; gap: 24px 40px; }
    .gs-ftr__contacts { margin-left: 0; width: 100%; justify-content: space-between; }
    .gs-ftr__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1079px) {
    .gs-ftr__in { padding: 0 20px; }
    .gs-ftr__top { flex-direction: column; align-items: stretch; gap: 0; padding: 32px 0 0; border: 0; }
    .gs-ftr__name { font-size: 21px; }
    .gs-ftr__logo img { width: 32px; height: 35px; }
    .gs-ftr__contacts { flex-direction: column; align-items: stretch; gap: 14px; white-space: normal; margin-top: 24px; }
    #gs-ftr a.gs-ftr__call[href] { order: -1; justify-content: center; height: 52px; border-radius: 26px; margin-bottom: 8px; }
    .gs-ftr__call-m { display: inline; }
    #gs-ftr .gs-ftr__val { font-size: 17px; }
    .gs-ftr__nav { display: block; padding: 0; margin-top: 28px; border-top: 1px solid #2f3b49; border-bottom: 0; }
    .gs-ftr__grp { border-bottom: 1px solid #2f3b49; }
    .gs-ftr__grp-t { display: flex; align-items: center; justify-content: space-between; min-height: 50px; padding: 0; font-size: 17px;
        letter-spacing: 0; text-transform: none; cursor: pointer; }
    .gs-ftr__grp-t span { display: block; font-size: 22px; font-weight: 400; color: #9aa6b4; }
    #gs-ftr .gs-ftr__grp ul { display: none; padding: 0 0 10px; }
    #gs-ftr .gs-ftr__grp.is-open ul { display: block; }
    #gs-ftr .gs-ftr__grp li a { padding: 9px 0; font-size: 16px; line-height: 1.3; }
    .gs-ftr__grp_company { border-bottom: 0; padding-top: 12px; }
    .gs-ftr__grp_company .gs-ftr__grp-h { display: none; }
    #gs-ftr .gs-ftr__grp_company ul { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
    #gs-ftr .gs-ftr__grp_company li a { padding: 11px 0; }
    .gs-ftr__legal { flex-direction: column; align-items: flex-start; gap: 8px; margin-top: 20px; padding: 20px 0 28px; border-top: 1px solid #2f3b49; line-height: 1.45; }
    .gs-ftr__made { margin-left: 0; }
}

/* страницы Bitrix: подвал был прижат абсолютом ко дну .container с запасом 80/120px.
   Flex-колонку для прижатия к низу не делать: на телефоне .content растягивается до 1352px (min-width:auto у flex-элемента). */
.gs-shell { padding-bottom: 0 !important; }

/* ------------------------------------------------- подвал: «Настройки cookie» ---- */
#gs-ftr .gs-ftr__cookie { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: #8693a2; cursor: pointer; }
#gs-ftr .gs-ftr__cookie:hover { color: #fff; text-decoration: underline; }

/* --------------------------------------------------- уведомление о cookie ---- */
.gs-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9995; padding: 8px; pointer-events: none; font-family: 'PT Sans', Arial, sans-serif; line-height: normal; text-rendering: auto; }
.gs-consent * { box-sizing: border-box; line-height: inherit; text-rendering: inherit; }
.gs-consent[hidden] { display: none; }
.gs-consent__card { pointer-events: auto; box-sizing: border-box; max-width: 1240px; margin: 0 auto; display: flex; align-items: center; gap: 12px 18px; flex-wrap: wrap;
    background: #fff; color: #1d232b; border: 1px solid #d5dce4; border-radius: 12px; box-shadow: 0 10px 30px rgba(20, 24, 28, .16); padding: 10px 16px; }
.gs-consent__text { flex: 1 1 320px; margin: 0; font-size: 14px; line-height: 1.45; color: #3a4552; }
.gs-consent .gs-consent__text a { color: #3f6690; text-decoration: underline; text-underline-offset: 3px; }
.gs-consent__actions { display: flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.gs-consent__ok { height: 38px; padding: 0 20px; border: 0; border-radius: 19px; background: #3f6690; color: #fff; font: 700 15px 'PT Sans', Arial, sans-serif; cursor: pointer; }
.gs-consent__ok:hover { filter: brightness(1.12); }
.gs-consent__off { background: none; border: 0; padding: 4px 2px; font: 14px 'PT Sans', Arial, sans-serif; color: #5f6b78; text-decoration: underline;
    text-underline-offset: 3px; cursor: pointer; }
.gs-consent__off:hover { color: #1d232b; }
.gs-consent__off[hidden] { display: none; }
.gs-consent__short { display: none; }
@media (max-width: 640px) {
    .gs-consent__long { display: none; }
    .gs-consent__short { display: inline; }
    .gs-consent__card { flex-wrap: nowrap; padding: 6px 8px 6px 12px; gap: 10px; }
    .gs-consent__text { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.35; }
    .gs-consent__actions { gap: 10px; }
    .gs-consent__ok { height: 36px; padding: 0 14px; font-size: 14px; }
    .gs-consent__off { font-size: 13px; }
    /* после согласия: «Отключить запись сессий» строкой ниже */
    .gs-consent__card:has([data-consent-off]:not([hidden])) { flex-wrap: wrap; }
}

/* ------------------------------------------------------ страница политики ---- */
.gs-doc { max-width: 820px; padding: 8px 0 56px; font: 16px/1.6 'PT Sans', Arial, sans-serif; color: #1d232b; }
.gs-doc h1 { font: 600 30px/1.25 'Montserrat', Arial, sans-serif; margin: 24px 0 8px; color: #111; text-transform: none; letter-spacing: 0; }
.gs-doc__ed { color: #5f6b78; margin: 0 0 8px; }
.gs-doc h2 { font: 700 22px/1.3 'PT Sans', Arial, sans-serif; margin: 36px 0 12px; color: #111; text-transform: none; letter-spacing: 0; scroll-margin-top: 96px; }
.gs-doc h3 { font: 700 18px/1.35 'PT Sans', Arial, sans-serif; margin: 0 0 14px; color: #111; }
.gs-doc p { margin: 0 0 12px; font: inherit; }
.gs-doc ul { list-style: disc; margin: 0 0 12px; padding-left: 1.3em; }
.gs-doc li { margin: 0 0 6px; padding: 0; font: inherit; }
.gs-doc li:before { content: none; }
.gs-doc a { color: #3f6690; }
.gs-doc a[href^="tel:"] { white-space: nowrap; }
.gs-doc__pur { margin: 18px 0 0; padding: 20px 22px 6px; border: 1px solid #dce3eb; border-radius: 12px; scroll-margin-top: 96px; }
.gs-doc__pur dl { margin: 0; }
.gs-doc__pur dt { font-size: 13px; font-weight: 700; color: #5f6b78; }
.gs-doc__pur dd { margin: 3px 0 14px; }
@media (max-width: 999px) {
    .gs-doc h1 { font-size: 24px; }
    .gs-doc h2 { font-size: 20px; }
    .gs-doc__pur { padding: 16px 16px 4px; }
}
