/* ==========================================================
   winpix — общий подвал сайта .ppf (site/_assets/blocks/footer.css)
   1005w (05.10): вынесен из services/property-presentation/pp.css (блоки подвала 1005e/f/i/k/t) и раскатан на все страницы.
   Разметка — шаблонный блок SYNC:footer, мастер services/property-presentation/index.html (копирует _tools/sync_blocks.py).
   Бегущая строка winpix® — классы .foot__mark/.foot__marquee/.foot__track из styles.css, анимацию и видео ведёт main.js.
   Логика (заглушки соцсетей, кнопка «наверх», активный пункт услуг по адресу) — main.js, блок «Общий подвал .ppf».
   Рукописная подпись «Напишите нам» — Caveat (подмножество букв), подключается <link> в <head> каждой страницы с подвалом.
   ========================================================== */
/* ---- 11. Подвал страницы, 1005f: композиция и размеры ruvision.ru (сняты на 1440), цвета winpix ---- */
.ppf{position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--milk);padding:0 var(--gutter)}
.ppf::before,.ppf::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none}
.ppf::before{background:linear-gradient(110deg,#1F1412 0%,#2A1518 46%,#140E0D 100%)}
.ppf::after{background:linear-gradient(180deg,var(--night) 0,rgba(26,20,18,0) clamp(120px,14vw,220px)),radial-gradient(70% 70% at 16% 8%,rgba(var(--brick-rgb),.42),rgba(var(--brick-rgb),0) 66%),linear-gradient(180deg,rgba(20,14,13,.18),rgba(14,10,9,.8))}
.ppf__in{max-width:1210px;margin:0 auto;padding:72px 0 40px}
.ppf a{transition:color .25s,background .25s,border-color .25s}
.ppf a:focus-visible,.ppf__up:focus-visible{outline:2px solid var(--milk);outline-offset:3px;box-shadow:none;border-radius:999px}
/* заголовок */
.ppf__h{margin:0 auto;text-align:center;font-size:clamp(29px,3.35vw,48px);line-height:1.1;letter-spacing:-.045em;font-weight:400;max-width:none}
/* «Напишите нам» + кнопки мессенджеров */
.ppf__write{display:flex;justify-content:center;align-items:center;gap:8px 10px;margin-top:44px;padding-bottom:54px;border-bottom:1px solid var(--line-d)}
.ppf__note{display:flex;align-items:center;gap:6px;margin:0 4px 0 0;color:var(--milk);flex:none}
.ppf__note-t{font-family:"Caveat","Marck Script",cursive;font-weight:500;font-size:30px;line-height:.82;text-align:center;transform:rotate(-7deg);letter-spacing:.01em;opacity:.92}
.ppf__note-arr{width:64px;height:20px;opacity:.75;margin-top:10px}
.ppf__pills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:16px}
.ppf__pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 28px;border-radius:var(--r-pill);border:1px solid rgba(244,238,230,.42);font-size:15px;font-weight:500;line-height:1;white-space:nowrap}
.ppf__pill:hover{background:var(--milk);color:var(--ink);border-color:var(--milk)}
.ppf__ic,.ppf__si svg,.ppf__up svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* колонки */
.ppf__cols{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.8fr) minmax(0,1fr);gap:40px 44px;padding:54px 0;border-bottom:1px solid var(--line-d)}
.ppf__offer{grid-column:1;grid-row:1}
.ppf__oh{margin:0;font-size:21px;line-height:1.18;font-weight:500;letter-spacing:-.01em;max-width:24ch}
.ppf__os{margin:12px 0 0;font-size:15px;line-height:1.4;color:var(--mute-d);max-width:40ch}
.ppf__btn{display:inline-flex;align-items:center;gap:12px;margin-top:28px;height:52px;padding:0 26px;border-radius:var(--r-pill);background:var(--brick);color:var(--milk);font-size:15px;font-weight:500;box-shadow:0 10px 30px -8px rgba(var(--brick-rgb),.85)}
.ppf__btn:hover{background:var(--brick-2)}
.ppf__btn span{font-size:14px}
.ppf__col{grid-row:1}
.ppf__col--nav{grid-column:2;padding-left:44px;border-left:1px solid var(--line-d)}
.ppf__col--serv{grid-column:3}
.ppf__k{display:none;margin:0 0 18px;font-size:16px;font-weight:500}
.ppf__menu,.ppf__serv{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.ppf__menu a,.ppf__serv a{font-size:16px;line-height:1.2}
.ppf__menu a{font-weight:500}
.ppf__menu a:hover,.ppf__serv a:hover,.ppf__serv a[aria-current]{color:var(--brick-text)}
.ppf__contact{grid-column:1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.ppf__tel{font-size:40px;line-height:1.05;font-weight:500;letter-spacing:-.02em;white-space:nowrap}
.ppf__mail{font-size:22px;font-weight:500;letter-spacing:-.01em;padding-bottom:2px;border-bottom:2px solid var(--brick-text)}
.ppf__tel:hover,.ppf__mail:hover{color:var(--brick-text)}
.ppf__socw{grid-column:2 / -1;grid-row:2}
.ppf__soc{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;max-width:480px}
.ppf__soc a{display:inline-flex;align-items:center;gap:9px;height:49px;padding:0 18px 0 9px;border-radius:var(--r-pill);border:1px solid rgba(244,238,230,.22);font-size:14px;line-height:1}
.ppf__si{width:30px;height:30px;border-radius:50%;border:1px solid rgba(244,238,230,.22);display:grid;place-items:center;flex:none}
.ppf__si svg{width:15px;height:15px}
.ppf__si--vc{font-size:11px;font-weight:600;letter-spacing:-.02em}
.ppf__soc a[aria-disabled="true"]{cursor:default}
.ppf__soc a:not([aria-disabled="true"]):hover{border-color:var(--milk)}
.ppf__disc{margin:22px 0 0;font-size:12px;line-height:1.4;color:var(--mute-d);max-width:56ch}
/* нижняя строка */
.ppf__bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;padding-top:30px;font-size:14px;color:var(--mute-d)}
.ppf__copy{margin-right:auto}
.ppf__bar a{color:var(--milk);text-decoration:underline;text-decoration-color:rgba(244,238,230,.35);text-underline-offset:3px}
.ppf__bar a:hover{color:var(--brick-text)}
.ppf__up{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--milk);background:rgba(20,14,13,.6);border:1px solid rgba(244,238,230,.22);transition:background .25s,color .25s}
.ppf__up svg{width:20px;height:20px}
.ppf__up:hover{background:var(--milk);color:var(--ink)}
@media (max-width:1180px){
  .ppf__write{flex-direction:column;gap:18px}
}
@media (max-width:900px){
  .ppf__in{padding:46px 0 32px}
  .ppf__write{margin-top:28px;padding-bottom:40px}
  .ppf__pills{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%}
  .ppf__pill{width:100%;height:48px;padding:0 16px}
  .ppf__cols{grid-template-columns:1fr;padding:40px 0;gap:0}
  .ppf__offer,.ppf__contact,.ppf__col,.ppf__socw{grid-column:1;grid-row:auto}
  .ppf__contact{margin-top:44px;padding-bottom:28px;border-bottom:1px solid var(--line-d)}
  .ppf__tel{font-size:30px}
  .ppf__col{padding:28px 0;border-bottom:1px solid var(--line-d)}
  .ppf__col--nav{padding-left:0;border-left:0}
  .ppf__k{display:block}
  .ppf__menu,.ppf__serv{display:grid;grid-template-columns:1fr 1fr;gap:16px 16px}
  .ppf__menu a,.ppf__serv a{font-size:15px}
  .ppf__menu a{font-weight:400}
  .ppf__socw{padding-top:32px}
  /* порядок как у ruvision на мобайле: смета → телефон и почта → меню → услуги → соцсети */
  .ppf__offer{order:1}.ppf__contact{order:2}.ppf__col--nav{order:3}.ppf__col--serv{order:4}.ppf__socw{order:5}
  .ppf__cols{display:flex;flex-direction:column}
  .ppf__bar{flex-direction:column;align-items:flex-start;gap:12px;position:relative;padding-right:72px}
  .ppf__copy{margin-right:0}
  .ppf__up{position:absolute;right:0;top:24px}
}
@media (max-width:560px){
  .ppf__pills{grid-template-columns:1fr}
  .ppf__soc a{height:44px}
}
/* подвал: заголовок в одну строку на десктопе */
@media (min-width:901px){ .ppf__h{white-space:nowrap} }
.ppf__h{text-wrap:balance}
@media (min-width:901px){ .ppf__oh{max-width:none} }
/* 05.10 (Алексей): горизонтальные линии подвала — на всю ширину страницы (outset border-image, обрезается overflow:hidden у .ppf) */
.ppf__write,.ppf__cols{border-image:linear-gradient(var(--line-d),var(--line-d)) 0 0 1 0 / 0 0 1px 0 / 0 100vw}
.ppf__bar{border-image:linear-gradient(var(--line-d),var(--line-d)) 1 0 0 0 / 1px 0 0 0 / 0 100vw}
@media (max-width:900px){.ppf__contact,.ppf__col{border-image:linear-gradient(var(--line-d),var(--line-d)) 0 0 1 0 / 0 0 1px 0 / 0 100vw}}

/* 1005w: страница «Партнёрам» — без строки сметы, как в прежнем подвале партнёров (там её не было: форма страницы — партнёрская).
   Флаг — <body data-foot="partner">; телефон и почта поднимаются на место сметы. */
/* 07.10 (Алексей: «на всех страницах»): блок заявки показан и на «Партнёрам» — кнопка ведёт на /contact/#lead (anchor_force в sync_blocks.py)
[data-foot="partner"] .ppf__offer{display:none}
@media (min-width:901px){ [data-foot="partner"] .ppf__contact{grid-row:1} } */

/* 06.10 (Алексей): стык «бордовая форма #lead → подвал». Раньше карточка формы упиралась в подвал без зазора,
   а бордовое свечение подвала начиналось прямо под ней. Теперь у формы перед подвалом воздух снизу,
   а верх подвала (::after, первый слой) плавно выходит из цвета страницы. */
main>#lead.form:last-child{padding-bottom:clamp(64px,8vw,128px)}

/* 07.10 ночь (аудит A-11): строка подвала «Получите смету и 2–3 идеи… Получить смету ↗» не повторяет форму соседнего экрана —
   скрыта на всех страницах, где есть форма #lead (подвал идёт сразу за ней); остаётся там, где формы нет (/policy/, /consent/).
   Признак — наличие #lead на странице (:has), разметку страниц не трогаем; телефон и почта поднимаются на место сметы, как у «Партнёрам». */
/* 07.10 (Алексей): блок с кнопкой заявки в подвале вернуть на всех страницах — правило A-11 снято:
body:has(#lead) .ppf__offer{display:none}
@media (min-width:901px){ body:has(#lead) .ppf__contact{grid-row:1} } */

/* ==== 07.10 D1 (дизайн-система, design_system_rules.md В2/В3): мобильный подвал короче (было 1659 px на 390), тач-цели ≥ 44 px ==== */
.ppf__tel{padding-block:6px;margin-block:-6px}
.ppf__mail{padding-top:8px;margin-top:-8px}
.ppf__bar a{display:inline-block;padding-block:12px;margin-block:-12px}
@media (max-width:900px){
  /* мессенджеры 2×2, плотнее; ссылки меню и услуг — строки ≥ 44 px; смета скрыта на страницах с #lead (выше) */
  .ppf__in{padding:var(--s-chap) 0 24px}
  .ppf__write{margin-top:20px;padding-bottom:28px;gap:14px}
  .ppf__note-t{font-size:26px}
  .ppf__cols{padding:20px 0}
  /* 07.10: блок заявки снова виден на всех страницах — отступ контактов не обнуляем (на 390 кнопка «Получить смету» налезала на телефон)
  body:has(#lead) .ppf__contact{margin-top:0} */
  .ppf__contact{margin-top:28px;padding-bottom:20px;gap:10px}
  .ppf__col{padding:16px 0}
  .ppf__k{margin-bottom:6px;font-size:13px;font-weight:400;color:var(--mute-d)}
  .ppf__menu,.ppf__serv{gap:0 16px}
  .ppf__menu a,.ppf__serv a{display:inline-flex;align-items:center;min-height:44px}
  .ppf__socw{padding-top:20px}
  .ppf__soc{gap:8px}
  .ppf__disc{margin-top:14px}
  .ppf__bar{padding-top:18px;gap:0}
  .ppf__bar a{padding-block:12px;margin-block:0}  /* ссылки бара столбиком — цели не перекрываются */
  .ppf__copy{padding-bottom:4px}
  .ppf__up{top:14px}
}
@media (max-width:560px){
  .ppf__pills{grid-template-columns:1fr 1fr}
  .ppf__pill{padding:0 10px;gap:8px;font-size:14px}
}

/* 07.10 (Алексей): мессенджеры — по центру экрана, «Напишите нам» со стрелкой — левее от них.
   Три колонки 1fr | auto | 1fr: кнопки в центральной, надпись прижата к ним справа в левой колонке. Только десктоп (≥1181), ниже — колонкой, как было. */
@media (min-width:1181px){
  .ppf__write{display:grid;grid-template-columns:1fr auto 1fr;justify-content:stretch;column-gap:18px}
  .ppf__note{grid-column:1;justify-self:end;margin:0}
  .ppf__pills{grid-column:2;flex-wrap:nowrap}
}

/* 09.10 (Алексей): «Меню» в подвале на мобильном — по колонкам: слева Работы, Услуги и цены, О студии; справа Партнёрам, Контакты, Блог.
   Порядок в разметке (и на десктопе) прежний: Работы, Услуги и цены, Партнёрам, О студии, Контакты, Блог */
@media (max-width:900px){
  .ppf__menu{grid-auto-flow:column;grid-template-rows:repeat(3,auto)}
  .ppf__menu>li:nth-child(3){order:4}
  .ppf__menu>li:nth-child(4){order:3}
  .ppf__menu>li:nth-child(5){order:5}
  .ppf__menu>li:nth-child(6){order:6}
}

/* 14.10 (Алексей): подвал крупнее, как на ruvision.ru — согласован на демо «Презентации ЖК» и раскатан на все страницы (было только .ppf--wide).
   v3: верх (заголовок «Готовы обсудить…», «Напишите нам», мессенджеры) — без изменений; всё ниже — ровно +11 % к прежним размерам;
   контейнер на всю ширину с полями 8vw, как у ruvision (v2 было +20–47 % — «переборщил») */
@media (min-width:1181px){
  .ppf .ppf__in{max-width:none;padding-left:8vw;padding-right:8vw}
  .ppf .ppf__oh{font-size:23.3px}
  .ppf .ppf__os{font-size:16.7px}
  .ppf .ppf__btn{height:58px;padding:0 29px;font-size:16.7px}
  .ppf .ppf__btn span{font-size:15.5px}
  .ppf .ppf__menu a,.ppf .ppf__serv a{font-size:17.8px}
  .ppf .ppf__tel{font-size:44.4px}
  .ppf .ppf__mail{font-size:24.4px}
  .ppf .ppf__soc{max-width:533px;gap:11px}
  .ppf .ppf__soc a{height:54px;padding:0 20px 0 10px;font-size:15.5px}
  .ppf .ppf__disc{font-size:13.3px}
  .ppf .ppf__bar{font-size:15.5px}
}
