/* ═══════════════════════════════════════════════════════════════════════════
   ПОДВАЛ ПРОЕКТА для подстраниц — [FOOTER-PORT 15.08]

   Тот же подвал, что стоит на главной: подача 10.08 (бумага 87%, метки тоном,
   реквизиты Onest с табличными цифрами), мобильная раскладка одной колонкой
   и шесть документов сеткой 2x3 в нижней полосе.

   ОТКУДА ВЗЯТ. Правила собраны прогоном по ЖИВОМУ документу главной, а не
   переписаны руками: стили подвала лежат там в двадцати инлайн-блоках,
   копившихся с 27.07 по 10.08, и только браузер знает их итоговый порядок.
   Порядок каскада сохранён, источник каждой группы подписан ниже.

   ЧТО НАМЕРЕННО НЕ ПЕРЕНЕСЕНО:
   1. Три правила `a:not([class])` — они лишь исключают подвал из подчёркивания
      ссылок в тексте; у подстраниц своя такая же пара в других файлах.
   2. Чужие части групповых селекторов шкалы (карточки, отзывы, шапка главной).

   РЯД ЯЗЫКОВ В ПОДВАЛЕ СКРЫТ, как и на главной. Запись 28.07 «на подстраницах
   ряд не трогать, там он единственная точка языка на десктопе» ПРОТУХЛА: живой
   замер 15.08 на странице квартиры даёт переключатель в шапке на обеих ширинах —
   64px на 1440 и 130px на 390. То есть в подвале он вторая копия той же функции.
   Сам переключатель никуда не девается, речь только о копии в подвале.

   ПАРА К ЭТОМУ ФАЙЛУ — `js/dr-footer.js`: до 900px он переносит документы из
   колонки в нижнюю полосу и возвращает обратно при расширении окна. Без него
   мобильная раскладка останется четырёхколоночной сеткой в одну колонку.

   ОТКАТ = снять <link> на этот файл и <script> на пару к нему, вернуть разметку
   `.v2-footer` из `_backups/2026-08-15_podval-perenos/`.
   ═══════════════════════════════════════════════════════════════════════════ */


/* ── источник: inline:dr-footer-plus ── */
.drf { --font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace; background: hsl(var(--paper)); color: hsl(var(--ink)); font-family: var(--font-sans); border-top: 1px solid hsl(var(--hairline)); }
.drf a { text-decoration: none; }
.drf__rail { width: var(--layout-rail); margin: 0px auto; }
.drf__grid { display: grid; gap: clamp(2rem, 3vw, 3rem); padding: clamp(2.6rem, 4vw, 3.4rem) 0px clamp(2.2rem, 3vw, 3rem); grid-template-columns: 1.3fr 0.85fr 0.85fr 1.7fr; }
.drf__name { display: inline-block; font-size: 1.6rem; font-weight: 600; letter-spacing: -0.03em; line-height: 1; color: hsl(var(--ink)); }
.drf__name em { font-style: normal; font-weight: 600; margin-left: 2px; color: inherit; }
.drf__tag { margin: 0.7rem 0px 0px; max-width: 22rem; font-size: var(--fs-sm); line-height: 1.55; color: hsl(var(--ink) / 0.55); }
.drf__col { display: flex; flex-direction: column; }
.drf__h { margin: 0px 0px 1rem; font-size: var(--fs-sm); font-weight: 600; letter-spacing: -0.005em; color: hsl(var(--ink) / 0.42); }
.drf__list { list-style: none; margin: 0px; padding: 0px; display: flex; flex-direction: column; gap: 0.6rem; }
.drf__link { width: fit-content; font-size: var(--fs-md); color: hsl(var(--ink) / 0.7); transition: color var(--dur-base) var(--ease-standard); }
.drf__link:hover { color: hsl(var(--ink)); }
.drf__list--docs { display: block; columns: 2; column-gap: clamp(1.1rem, 1.8vw, 1.8rem); }
.drf__list--docs li { break-inside: avoid; margin: 0px 0px 0.6rem; }
.drf__req { margin: 1.5rem 0px 0px; display: flex; flex-direction: column; gap: 0.36rem; font-family: var(--font-mono); font-size: 0.75rem; line-height: 1.55; font-variant-numeric: tabular-nums; }
.drf__req-line { margin: 0px; color: hsl(var(--ink) / 0.52); }
.drf__req-line--muted { color: hsl(var(--ink) / 0.4); }
.drf__col--contact { align-items: flex-start; }
.drf__legal { padding: 1.4rem 0px 2rem; border-top: 1px solid hsl(var(--hairline)); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2.5rem; font-size: var(--fs-2xs); letter-spacing: 0.06em; color: hsl(var(--ink) / 0.42); }
.drf__legal-copy { margin: 0px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.drf__lang { display: inline-flex; align-items: center; gap: 0.9rem; }
.drf__lang-opt { display: inline-flex; align-items: baseline; gap: 0.28em; font-size: var(--fs-2xs); font-weight: 600; letter-spacing: 0.1em; color: hsl(var(--ink) / 0.4); }
.drf__lang-opt--on { color: hsl(var(--ink)); }
.drf__prefs { display: inline-flex; align-items: center; gap: 0.9rem; }
.drf__theme { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; border: 1px solid hsl(var(--ink) / 0.16); background: none; color: hsl(var(--ink) / 0.5); cursor: pointer; padding: 0px; transition: color var(--dur-base) ease, border-color var(--dur-base) ease; }
.drf__theme:hover { color: hsl(var(--ink) / 0.82); border-color: hsl(var(--ink) / 0.3); }
.drf__theme:focus-visible { outline: 2px solid hsl(var(--ink) / 0.4); outline-offset: 2px; }
body[data-footer-tone="dark"] .drf__theme { color: hsl(var(--paper) / 0.6); border-color: hsl(var(--paper) / 0.25); }
body[data-footer-tone="dark"] .drf__theme:hover { color: hsl(var(--paper) / 0.9); }
button.drf__lang-opt { appearance: none; background: none; border: 0px; margin: 0px; padding: 0px; font-family: inherit; cursor: pointer; }
button.drf__lang-opt--soon:hover { color: hsl(var(--ink) / 0.7); }
button.drf__lang-opt:focus-visible { outline: 2px solid hsl(var(--ink) / 0.4); outline-offset: 3px; border-radius: 3px; }
@media (max-width: 900px) {
  .drf__grid { grid-template-columns: 1fr 1fr; }
  .drf__list--docs { columns: 1; }
}
@media (max-width: 520px) {
  .drf__grid { grid-template-columns: 1fr; }
}

/* ── источник: inline:dr-overhaul-3e-type ── */
.drf__req { font-size: var(--fs-xs); }

/* ── источник: inline:dr-overhaul-3g-components ── */
                text-decoration-color var(--dur-fast) var(--ease-standard); }

/* ── источник: inline:dr-modern-composition ── */
body[data-footer-tone="dark"] .drf { background: hsl(var(--color-surface-dark)); color: hsl(var(--paper) / 0.9); border-top: 1px solid transparent; }
body[data-footer-tone="dark"] .drf__name { color: hsl(var(--paper)); }
body[data-footer-tone="dark"] .drf__tag { color: hsl(var(--paper) / 0.6); }
body[data-footer-tone="dark"] .drf__req-line { color: hsl(var(--paper) / 0.5); }
body[data-footer-tone="dark"] .drf__req-line--muted { color: hsl(var(--paper) / 0.38); }
body[data-footer-tone="dark"] .drf__h { color: hsl(var(--paper) / 0.45); }
body[data-footer-tone="dark"] .drf__link { color: hsl(var(--paper) / 0.75); }
body[data-footer-tone="dark"] .drf__link:hover { color: hsl(var(--paper)); }
body[data-footer-tone="dark"] .drf__legal { border-top-color: rgba(255, 255, 255, 0.1); color: hsl(var(--paper) / 0.5); }
body[data-footer-tone="dark"] .drf__lang-opt { color: hsl(var(--paper) / 0.45); }
body[data-footer-tone="dark"] .drf__lang-opt--on { color: hsl(var(--paper)); }
body[data-footer-tone="dark"] button.drf__lang-opt--soon:hover { color: hsl(var(--paper) / 0.75); }
body[data-footer-tone="dark"] button.drf__lang-opt:focus-visible { outline-color: hsl(var(--paper) / 0.5); }

/* ── источник: inline:dr-mobile-pass ── */
.drf__h { color: hsl(var(--ink) / 0.58); }
.drf__legal { font-size: 12px; color: hsl(var(--ink) / 0.55); }
@media (max-width: 1023.98px) {
  .drf__link { padding-block: 6px; }
}
@media (max-width: 560px) {
  .drf__grid { grid-template-columns: 1fr 1fr; gap: 1.7rem 1.4rem; }
  .drf__brand { grid-column: 1 / -1; }
  .drf__grid > .drf__col:last-child { grid-column: 1 / -1; }
  .drf__list--docs { columns: 2; }
}

/* ── источник: inline:dr-mrv3-a11y ── */
.drf__tag, .drf__req-line, .drf__h, .drf__legal { color: hsl(var(--ink) / 0.66); }
.drf__req-line--muted { color: hsl(var(--ink) / 0.62); }
button.drf__lang-opt--soon { color: hsl(var(--ink) / 0.62); }
.drf__lang-opt { position: relative; }
button.drf__lang-opt--soon::after { content: ""; position: absolute; inset: -7px -6px; border-radius: 6px; }

/* ── источник: inline:dr-lang-text-27-07 ── */
.drf__lang-opt--on { text-decoration-line: underline; text-decoration-style: initial; text-decoration-thickness: 1.5px; text-underline-offset: 5px; text-decoration-color: hsl(var(--ink)/.38); }
body[data-footer-tone="dark"] .drf__lang-opt--on { text-decoration-color: hsl(var(--paper)/.5); }

/* ── источник: inline:dr-lang-oneplace-27-07 ── */
.drf__lang-opt--on { text-decoration: none; }
body:not([data-footer-tone="dark"]) .drf__lang .drf__lang-opt { color: hsl(var(--ink)/.45); }
body:not([data-footer-tone="dark"]) .drf__lang .drf__lang-opt--on { color: hsl(var(--ink)); font-weight: 600; }

/* ── источник: inline:dr-footer-docs-27-07 ── */
@media (min-width: 901px) {
  .drf__grid { grid-template-columns: 1.5fr 0.9fr 0.9fr; }
}
.drf__list--docs { columns: 1; }
@media (max-width: 560px) {
  .drf__grid { grid-template-columns: 1fr; }
}

/* ── источник: inline:dr-footer-quiet-28-07 ── */
.drf { border-top: 0px; }
.drf__legal { border-top: 0px; letter-spacing: normal; color: hsl(var(--ink)/.62); }
.drf__tag { display: none; }

/* ── источник: inline:dr-footer-tone-28-07 ── */
.drf { background: hsl(var(--paper-soft)); }
@media (min-width: 901px) {
  .drf__grid { grid-template-columns: 1fr 0.8fr 0.8fr; }
  .drf__brand { display: flex; flex-direction: column; }
  .drf__name { font-size: clamp(2rem, 3.2vw, 2.9rem); letter-spacing: -0.035em; }
  .drf__req { margin-top: 1.1rem; padding-top: 0px; }
}

/* ── источник: inline:dr-taps-28-07 ── */
.drf__link { display: block; padding-block: 5px; }
.drf__list { gap: 4px; }
.drf__list--docs li { margin-bottom: 4px; }
@media (max-width: 1023.98px) {
  .drf__link { display: flex; align-items: center; min-height: 44px; padding-block: 0px; }
  .drf__list { gap: 0px; }
  .drf__list--docs li { margin-bottom: 0px; }
}

/* ── источник: inline:dr-values-28-07 ── */
@media (hover: none) {
  .drf__link:active { color: hsl(var(--ink)); }
}

/* ── источник: inline:dr-airbnb-logic-28-07 ── */
.drf__name { font-size: 46px; }

/* ── источник: inline:dr-user-reverts-28-07 ── */
.drf__grid > nav.drf__col[aria-label="Смотреть"] { display: flex; }
@media (min-width: 901px) {
  .drf__grid { grid-template-columns: 1.25fr 0.8fr 0.8fr 1.15fr; }
}
@media (max-width: 560px) {
  .drf__grid { grid-template-columns: 1fr 1fr; }
}

/* ── источник: inline:dr-scale-7 ── */
html body .drf__req-line, html body .drf__legal-copy { font-size: var(--s-13) !important; }
html body .drf__link { font-size: var(--s-15) !important; }
html body .drf__name, html body .drf__name em { font-size: var(--s-42) !important; }

/* ── источник: inline:dr-footer-design-10-08 ── */
.drf { background: rgb(226, 223, 218); }
.drf__legal { border-top-color: rgb(203, 200, 194); }
.drf__h { font-size: 13px; color: hsl(var(--ink) / 0.45); }
.drf__req { font-family: var(--font-sans); font-size: 13px; font-variant-numeric: tabular-nums; }
@media (max-width: 900px) {
  .drf__legal { padding: 1.2rem 0px 1.4rem; }
  .drf__grid { grid-template-columns: 1fr; gap: 0px; padding-top: 44px; padding-bottom: 26px; }
  .drf__col { margin-top: 23px; }
  .drf__h { margin-bottom: 0.45rem; }
  .drf__req { margin-top: 0.85rem; gap: 0.2rem; }
  .drf__fine { flex: 1 1 100%; margin: 0px 0px 10px; }
  .drf__fine-list { list-style: none; margin: 0px; padding: 0px; display: grid; grid-template-columns: 1fr 1fr; gap: 0px 1.1rem; align-items: start; }
  html body .drf__fine-a { color: hsl(var(--ink) / 0.55); display: inline-flex; align-items: center; font-size: 13px !important; min-height: 26px !important; }
  html body .drf__link { min-height: 32px; }
  html body .drf__list { gap: 0px; }
}

/* ── ряд языков: копия функции, живой переключатель стоит в шапке ── */
.drf__prefs { display: none; }

/* ── КЛИРЕНС ПОД ЛИПКИМ БАРОМ БРОНИРОВАНИЯ, только с 1024px ──────────────────
   Регрессия 15.08, найдена состязательной проверкой в тот же день. До переноса
   подвала клиренс давало правило `body:has(.apt2-bar) .v2-footer__legal-bar`
   (css/dailyrent.css) — вместе со старым подвалом оно осталось без цели, и бар
   начал накрывать правовую строку: замер дал наложение 704×50 на 1024, 1200 и 1440,
   а на 1024 ещё и хвост копирайта 24×20.
   Почему только с 1024: ниже спасает подушка body padding-bottom 72px + env,
   а с 1024 она снимается. Число то же, что было проверено 03.08: высота бара плюс
   его отступ плюс запас. РЕВЕРС: удалить медиазапрос. */
@media (min-width: 1024px) {
  body:has(.apt2-bar) .drf__legal {
    padding-bottom: calc(2rem + 4.5rem + env(safe-area-inset-bottom));
  }
}
