/* TASK-0671 (16.09.2026). Подвал сайта по макету «Подвал enterer» и правкам Дмитрия.
   Десктоп ≥1024 — одна сетка на пять колонок (попиксельно по макету Дмитрия, круг 5):
     ряд 1   бренд (логотип, описание, «Запросить КП» 78 px высотой — от строки «Стулья»
             до низа «Весь каталог») · три меню · контакты (занимают ряды 1–2);
     ряд 2   гибкий: добирает высоту контактов;
     ряд 3   документы под колонками 1–4 · копирайт и реквизиты под контактами; строка «ИП…»
             стоит на одной линии с документами (круг 6);
     ряд 4   черта;
     ряд 5   оговорка на всю ширину (круг 8).
   Планшет 768–1023 — строка бренда с кнопкой справа, три колонки меню, строка контактов,
   документы, черта, копирайт, оговорка. Телефон ≤767 — то же колонкой, меню аккордеоном.
   Разметка — core/elements/chunks/site-footer.tpl (общий для всех шаблонов), окно
   «Запросить КП» — там же, форма — core/elements/chunks/ft26-kp-form.tpl.
   Свои классы ft26__*: легаси-правила styles.min.css висят на footer .menu/.info/.contact
   и сюда не достают. Сайтовые глобали div{display:flex;justify-content:space-between}
   и body{text-align:justify} гасятся явным display/text-align на каждом узле.
   Свёртку аккордеона включает класс html.ft26-js (строчка в шаблоне перед подвалом),
   клики и окно — assets/template/js/footer-2026.js. */

.ft26{
  --ft-bg:#eef1f8;
  --ft-ink:#1b1f2a;
  --ft-link:#4d5569;
  --ft-muted:#5b6377;
  --ft-soft:#565e71;
  --ft-sign:#8a91a3;
  --ft-line:#dde2ee;
  --ft-acc:var(--brand,#f35809);
  --ft-acc-hover:#d94c05;
  --ft-btn-hover:#ff6f24;
  display:block;
  margin:28px 0 0;
  padding:0;
  background:var(--ft-bg);
  border-radius:28px 28px 0 0;
  color:var(--ft-link);
  font-size:14px;
  line-height:1.45;
  text-align:left;
  word-spacing:normal;
}
.ft26 *,
.ft26 *::before,
.ft26 *::after{box-sizing:border-box;}
.ft26 a{color:var(--ft-link);text-decoration:none;transition:color .15s ease;}
.ft26 a:hover{color:var(--ft-acc);}
.ft26 p{margin:0;padding:0;}

.ft26__in{display:block;max-width:1600px;margin:0 auto;padding:52px 56px 0;}

/* --- сетка --- */
.ft26__top{
  display:grid;
  /* колонка контактов не уже 240 px: иначе строка «ИП…, ИНН…» переносится */
  grid-template-columns:1.15fr 1fr 1fr 1fr minmax(240px,1.25fr);
  /* второй ряд гибкий: лишнюю высоту колонки контактов забирает он, а не ряд меню —
     иначе кнопка КП уехала бы ниже «Весь каталог» */
  grid-template-rows:auto 1fr auto auto auto;
  column-gap:48px;
  row-gap:0;
  align-items:start;
  justify-content:stretch;
  padding:0 0 26px;
}
.ft26__brand{position:relative;grid-column:1;grid-row:1;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:20px;min-width:0;}
.ft26__col--acc{grid-row:1;}
.ft26__contacts{grid-column:5;grid-row:1 / span 2;}
/* документы и копирайт прижаты к низу ряда 3: их нижние строки совпадают (шрифт и межстрочный
   одинаковые), даже когда документы на узком экране переносятся в две строки. Отступ 13 px
   от кнопок мессенджеров — как был у строки «Заказы». */
.ft26__legal{grid-column:1 / 5;grid-row:3;align-self:end;}
.ft26__copy{grid-column:5;grid-row:3;align-self:end;margin-top:13px;}
.ft26__rule{grid-column:1 / -1;grid-row:4;display:block;height:1px;margin:24px 0 18px;background:var(--ft-line);}
.ft26__note{grid-column:1 / -1;grid-row:5;}

/* --- бренд --- */
.ft26 .ft26__logo{display:inline-block;font-size:28px;font-weight:800;letter-spacing:-.025em;line-height:1;color:var(--ft-acc);}
.ft26__logo .title{display:inline;font:inherit;letter-spacing:inherit;color:inherit;}
.ft26 .ft26__logo .accent{color:var(--ft-ink);}
.ft26 .ft26__logo:hover .accent{color:var(--ft-ink);}
.ft26__about{display:block;max-width:270px;font-size:14px;line-height:1.65;color:var(--ft-muted);text-wrap:pretty;}
/* кнопка стоит абсолютно у низа колонки бренда (= низ ряда меню): от строки «Стулья» до низа
   «Весь каталог», на 19 px шире колонки с каждой стороны. Абсолютно — чтобы высота описания
   (2–3 строки в зависимости от ширины) не сдвигала кнопку и не растягивала ряд. */
.ft26 .ft26__kp{
  position:absolute;left:-19px;bottom:4px;
  display:flex;align-items:center;justify-content:center;
  width:calc(min(100%, 270px) + 38px);max-width:none;height:auto;min-height:78px;
  margin:0;padding:0 20px;
  border:0;border-radius:12px;
  background:var(--ft-acc);color:#fff;
  font:inherit;font-size:18px;font-weight:700;line-height:1.2;letter-spacing:normal;
  text-transform:none;text-align:center;white-space:nowrap;
  box-shadow:0 12px 34px rgba(243,88,9,.25);
  cursor:pointer;transition:background-color .15s ease,box-shadow .15s ease;
}
.ft26 .ft26__kp:hover{background:var(--ft-btn-hover);color:#fff;}
.ft26 .ft26__kp:focus-visible{outline:2px solid var(--ft-ink);outline-offset:2px;}

/* --- колонки меню --- */
.ft26__col{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:16px;min-width:0;}
.ft26__head{display:block;margin:0;font-size:16px;font-weight:800;line-height:1.3;letter-spacing:-.01em;color:var(--ft-ink);}
.ft26__list{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:12px;font-size:14px;line-height:1.35;}
.ft26__list .active{display:block;color:var(--ft-ink);font-weight:600;}
.ft26 .ft26__more{display:inline-block;font-weight:700;color:var(--ft-acc);}
.ft26 .ft26__more:hover{color:var(--ft-acc-hover);}
.ft26__list .ft26__more{margin-top:2px;}

/* --- контакты --- */
.ft26__contacts{gap:14px;}
.ft26__contacts > *{justify-self:start;align-self:start;}
.ft26 .ft26__phone{display:inline-block;font-size:24px;font-weight:800;line-height:1.1;letter-spacing:-.02em;white-space:nowrap;color:var(--ft-ink);}
.ft26 .ft26__phone2{display:inline-block;margin-top:-4px;font-size:16px;font-weight:700;line-height:1.2;white-space:nowrap;color:var(--ft-ink);}
.ft26__phone2 small{margin-left:4px;font-size:12px;font-weight:500;color:var(--ft-soft);}
.ft26 .ft26__phone:hover,
.ft26 .ft26__phone2:hover{color:var(--ft-acc);}
.ft26 .ft26__mail{display:inline-block;font-size:15px;font-weight:600;}
.ft26__soc{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px;margin-top:2px;}
.ft26 .ft26__soc a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:10px;background:#fff;color:var(--ft-muted);}
.ft26 .ft26__soc a:hover{color:var(--ft-acc);}
.ft26__soc svg{display:block;width:19px;height:19px;}
.ft26__soc svg.ft26__vk{width:22px;height:15px;}

/* --- документы, оговорка, копирайт --- */
.ft26__legal{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;gap:8px 24px;min-width:0;font-size:13px;line-height:1.4;}
.ft26 .ft26__legal a{color:var(--ft-muted);}
.ft26 .ft26__legal a:hover{color:var(--ft-acc);}
.ft26__legal .active{color:var(--ft-ink);}
.ft26__copy{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:4px;min-width:0;font-size:13px;line-height:1.4;color:var(--ft-soft);text-align:left;}
.ft26__copy > span{display:block;}
.ft26__nw{white-space:nowrap;}
.ft26__note{display:block;max-width:none;font-size:12px;line-height:1.55;color:var(--ft-soft);}
.ft26 .ft26__note a{color:var(--ft-muted);text-decoration:underline;}

/* десктоп: под плавающей кнопкой «Наверх» (left/bottom 1rem) не должно оказаться текста оговорки */
@media (min-width:1024px){
  .ft26__top{padding-bottom:56px;}
}

/* 1280–1299: колонка бренда уже 208 px, описание уходит в 4 строки и задевает кнопку */
@media (min-width:1280px) and (max-width:1299px){
  .ft26__about{font-size:13px;}
}

/* узкий десктоп: колонка контактов фиксированной ширины (в неё помещается адрес),
   описание под логотипом убрано — иначе колонка бренда выше меню и кнопка съезжает */
@media (min-width:1024px) and (max-width:1279px){
  .ft26__in{padding:48px 32px 0;}
  .ft26__top{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) 250px;column-gap:28px;}
  .ft26__about{display:none;}
  .ft26 .ft26__kp{left:-10px;width:calc(100% + 20px);padding:0 12px;font-size:16px;}
  .ft26 .ft26__phone{font-size:21px;}
}

/* --- планшет --- */
@media (min-width:768px) and (max-width:1023px){
  .ft26{border-radius:24px 24px 0 0;margin-top:24px;}
  .ft26__in{padding:40px 40px 0;}
  .ft26__top{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:none;column-gap:28px;}
  .ft26__brand,
  .ft26__col--acc,
  .ft26__contacts,
  .ft26__legal,
  .ft26__rule,
  .ft26__note,
  .ft26__copy{grid-row:auto;}
  .ft26__brand{
    grid-column:1 / -1;
    display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:28px;row-gap:12px;align-items:center;
    padding:0 0 32px;border-bottom:1px solid var(--ft-line);
  }
  .ft26 .ft26__logo{grid-column:1;grid-row:1;justify-self:start;font-size:26px;}
  .ft26__about{grid-column:1;grid-row:2;max-width:380px;line-height:1.6;}
  .ft26 .ft26__kp{position:static;grid-column:2;grid-row:1 / span 2;align-self:center;width:auto;min-height:50px;margin:0;padding:0 26px;border-radius:10px;font-size:15px;box-shadow:0 8px 20px rgba(243,88,9,.25);}
  .ft26__col--acc{gap:14px;padding:32px 0 36px;}
  .ft26__head{font-size:15px;}
  .ft26__list{gap:11px;}
  .ft26__contacts{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:32px;
    row-gap:10px;
    padding:28px 0 24px;
    border-top:1px solid var(--ft-line);
  }
  .ft26__contacts > *{grid-column:1;}
  .ft26__contacts > .ft26__soc{grid-column:2;grid-row:1 / span 5;margin:0;padding-top:30px;}
  .ft26__phone2{margin-top:0;}
  .ft26 .ft26__soc a{width:44px;height:44px;border-radius:12px;}
  .ft26__soc svg{width:20px;height:20px;}
  .ft26__legal{grid-column:1 / -1;align-self:start;gap:8px 22px;padding-top:0;}
  .ft26__rule{margin:20px 0 16px;}
  .ft26__copy{grid-column:1 / -1;order:1;margin-top:0;}
  .ft26__note{grid-column:1 / -1;order:2;margin-top:12px;}
}

/* --- телефон --- */
@media (max-width:767px){
  .ft26{border-radius:20px 20px 0 0;margin-top:20px;}
  .ft26__in{padding:28px 20px 0;}
  .ft26__top{display:flex;flex-direction:column;align-items:stretch;padding:0 0 28px;}
  .ft26__brand{gap:16px;padding:0 0 24px;}
  .ft26 .ft26__logo{font-size:24px;}
  .ft26__about{max-width:none;line-height:1.6;}
  .ft26 .ft26__kp{position:static;align-self:stretch;width:auto;min-height:52px;margin:4px 0 0;border-radius:12px;font-size:16px;box-shadow:0 8px 20px rgba(243,88,9,.25);}

  .ft26__col--acc{display:block;border-top:1px solid var(--ft-line);}
  .ft26__head{font-size:16px;}
  .ft26__col--acc .ft26__head{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:56px;}
  .ft26__list{gap:2px;padding:0 0 16px;font-size:15px;}
  .ft26__list a,
  .ft26__list .active{display:block;padding:9px 0;}

  html.ft26-js .ft26__col--acc .ft26__head{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
  html.ft26-js .ft26__col--acc .ft26__head::after{content:"+";flex:none;width:20px;font-size:20px;font-weight:600;line-height:1;text-align:center;color:var(--ft-sign);}
  html.ft26-js .ft26__col--acc.is-open .ft26__head::after{content:"\2212";}
  html.ft26-js .ft26__col--acc:not(.is-open) .ft26__list{display:none;}
  .ft26__col--acc .ft26__head:focus-visible{outline:2px solid var(--ft-acc);outline-offset:2px;border-radius:4px;}

  .ft26__contacts{display:flex;gap:14px;padding:22px 0 24px;border-top:1px solid var(--ft-line);}
  .ft26__contacts > *{align-self:stretch;}
  .ft26 .ft26__phone,
  .ft26 .ft26__phone2,
  .ft26 .ft26__mail{display:flex;align-items:center;margin:0;padding:0 18px;border-radius:14px;background:#fff;}
  .ft26 .ft26__phone{min-height:56px;font-size:20px;}
  .ft26 .ft26__phone2{min-height:48px;font-size:16px;}
  .ft26 .ft26__mail{min-height:48px;}
  .ft26__phone2 small{margin-left:8px;}
  .ft26__soc{margin:0;}
  .ft26 .ft26__soc a{width:48px;height:48px;border-radius:14px;}
  .ft26__soc svg{width:22px;height:22px;}
  .ft26__soc svg.ft26__vk{width:25px;height:17px;}
  .ft26 .ft26__more{font-size:15px;}

  .ft26__legal{align-self:stretch;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 0 0;border-top:1px solid var(--ft-line);}
  .ft26__rule{margin:20px 0 16px;}
  .ft26__copy{order:1;align-self:stretch;margin-top:0;}
  .ft26__note{order:2;margin-top:14px;}
}

/* ================= окно «Запросить КП» ================= */
.ft26-kp{
  position:fixed;inset:0;z-index:10050;
  display:flex;flex-direction:row;align-items:center;justify-content:center;
  padding:16px;box-sizing:border-box;
  text-align:left;word-spacing:normal;
}
.ft26-kp[hidden],
.ft26-kp [hidden]{display:none !important;}
.ft26-kp *,
.ft26-kp *::before,
.ft26-kp *::after{box-sizing:border-box;}
html.ft26-kp-open{overflow:hidden;}
.ft26-kp__bg{position:absolute;inset:0;display:block;background:rgba(15,20,32,.55);}
.ft26-kp__card{
  position:relative;display:block;width:480px;max-width:100%;
  max-height:calc(100vh - 32px);overflow:auto;overscroll-behavior:contain;
  padding:26px 26px 24px;border-radius:16px;background:#fff;
  box-shadow:0 24px 60px rgba(15,20,32,.3);
  color:#1b1f2a;font-size:14px;line-height:1.45;
}
@supports (height:100dvh){.ft26-kp__card{max-height:calc(100dvh - 32px);}}
.ft26-kp .ft26-kp__x{
  position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;
  width:36px;height:36px;min-height:0;margin:0;padding:0;border:0;border-radius:8px;
  background:transparent;color:#7b8494;font-size:26px;font-weight:400;line-height:1;
  text-transform:none;box-shadow:none;cursor:pointer;
}
.ft26-kp .ft26-kp__x:hover{background:#eef1f8;color:#1b1f2a;}
.ft26-kp__t{display:block;margin:0 40px 6px 0;font-size:22px;font-weight:800;line-height:1.2;color:#1b1f2a;}
.ft26-kp__s{display:block;margin:0 0 18px;font-size:13.5px;line-height:1.5;color:#5b6377;}
.ft26-kp__body,
.ft26-kp form.ft26-kp__form{display:block;margin:0;padding:0;}
.ft26-kp .ft26-kp__label{display:block;margin:0 0 6px;padding:0;font-size:13px;font-weight:600;line-height:1.3;color:#1b1f2a;text-transform:none;}
.ft26-kp .ft26-kp__input{
  display:block;width:100%;height:46px;margin:0 0 12px;padding:0 14px;
  border:1px solid #d5dbe7;border-radius:10px;background:#fff;box-shadow:none;outline:none;
  color:#1b1f2a;font:inherit;font-size:15px;line-height:1.3;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.ft26-kp .ft26-kp__area{height:auto;min-height:84px;padding:11px 14px;resize:vertical;}
.ft26-kp .ft26-kp__input:focus{border-color:var(--brand,#f35809);box-shadow:0 0 0 3px rgba(243,88,9,.15);}
.ft26-kp .ft26-kp__input.error{border-color:#d93025;}
.ft26-kp .ft26-kp__input::placeholder{color:#9aa2b3;}
.ft26-kp__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 12px;}
.ft26-kp__cell{display:block;min-width:0;}
.ft26-kp__err{display:block;margin:-8px 0 10px;font-size:12px;line-height:1.35;color:#d93025;}
.ft26-kp__err:empty{display:none;}
.ft26-kp__file{display:block;margin:2px 0 14px;padding:12px 14px;border:1px dashed #c9d2e3;border-radius:10px;background:#f6f8fc;}
/* высота и межстрочный заданы явно: сайтовое form input{height:2rem;line-height:2} обрезало кнопку выбора файла */
.ft26-kp__file input[type=file]{display:block;width:100%;height:auto;margin:0 0 6px;padding:0;border:0;background:none;font:inherit;font-size:12.5px;line-height:normal;color:#4d5569;}
.ft26-kp__file input[type=file]::file-selector-button{margin-right:10px;padding:8px 14px;border:1px solid var(--brand,#f35809);border-radius:9px;background:#fff;color:var(--brand,#f35809);font:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:background-color .15s,color .15s;}
.ft26-kp__file input[type=file]::file-selector-button:hover{background:var(--brand,#f35809);color:#fff;}
.ft26-kp__hint{display:block;font-size:11.5px;line-height:1.4;color:#5b6377;}
.ft26-kp__consents{display:block;margin:0 0 14px;}
.ft26-kp__consent{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:9px;margin:0 0 8px;}
.ft26-kp .ft26-kp__consent input[type=checkbox]{
  position:static !important;display:block !important;flex:none;
  width:18px !important;height:18px !important;margin:0 !important;padding:0;
  opacity:1 !important;z-index:auto !important;visibility:visible !important;
  -webkit-appearance:checkbox;appearance:auto;accent-color:var(--brand,#f35809);cursor:pointer;
}
.ft26-kp .ft26-kp__consent label{
  position:static;display:block;width:auto;height:auto;margin:0;padding:0;
  font-size:12px;font-weight:400;line-height:1.45;color:#5b6377;text-align:left;text-transform:none;cursor:pointer;
}
.ft26-kp .ft26-kp__consent label::before,
.ft26-kp .ft26-kp__consent label::after{content:none !important;display:none !important;}
.ft26-kp .ft26-kp__consent a{color:#1b1f2a;text-decoration:underline;}
.ft26-kp__guard{display:block;margin:0 0 10px;font-size:12.5px;line-height:1.4;color:#d93025;}
.ft26-kp__guard:empty{display:none;}
.ft26-kp .ft26-kp__submit{
  display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:50px;
  margin:0;padding:0 16px;border:0;border-radius:10px;
  background:var(--brand,#f35809);color:#fff;box-shadow:none;
  font:inherit;font-size:15px;font-weight:700;line-height:1.2;letter-spacing:normal;text-transform:none;
  cursor:pointer;transition:background-color .15s ease;
}
.ft26-kp .ft26-kp__submit:hover{background:#ff6f24;color:#fff;}
.ft26-kp .ft26-kp__submit[disabled]{opacity:.6;cursor:default;}
.ft26-kp__done{display:block;padding:10px 0 0;text-align:center;}
.ft26-kp__done-t{display:block;margin:0 0 6px;font-size:20px;font-weight:800;line-height:1.25;color:#1a8f4c;}
.ft26-kp__done-s{display:block;margin:0 0 18px;font-size:14px;line-height:1.5;color:#5b6377;}
@media (max-width:767px){
  .ft26-kp{padding:10px;}
  .ft26-kp__card{padding:22px 18px 18px;max-height:calc(100vh - 20px);}
  @supports (height:100dvh){.ft26-kp__card{max-height:calc(100dvh - 20px);}}
  .ft26-kp__t{font-size:20px;}
  .ft26-kp .ft26-kp__input{font-size:16px;}
  .ft26-kp__row{grid-template-columns:minmax(0,1fr);}
}
