/* Cookie-баннер и юридическая строка подвала (Босс 2026-09-24, ТЗ юриста).
   Подключается из views/partials/cookie-banner.ejs на каждой странице — отдельно от v3.css,
   потому что у форматов и блога свои наборы стилей. Цвета — токены сайта с запасными значениями.
   Размеры — в px, не rem: базовый шрифт на главной 20px, на остальных страницах 16px, а баннер и строка
   документов должны выглядеть одинаково везде. */

/* ===== Cookie-баннер: небольшая светлая карточка, молочный фон, золотой акцент ===== */
.cc{
  position: fixed;
  right: 96px;            /* левее круглых кнопок связи (.float-actions: right 24px + 52px) */
  bottom: 24px;
  z-index: 850;           /* над кнопками связи (800), под лайтбоксом галерей (9000) */
  width: min(480px, calc(100vw - 120px));
  box-sizing: border-box;
  padding: 18px 20px 14px;
  background: #fbf7ef;
  color: var(--dark, #1c1a16);
  border: 1px solid rgba(166, 124, 46, 0.28);
  border-top: 3px solid var(--gold, #9a7a32);
  border-radius: 4px;
  box-shadow: 0 14px 40px rgba(20, 16, 10, 0.18);
  font-family: 'Jost', system-ui, sans-serif;
}
.cc[hidden]{ display: none; }
.cc-title{
  margin: 0 0 8px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 21px; font-weight: 500; line-height: 1.2;
}
.cc-text{ margin: 0 0 5px; font-size: 13px; line-height: 1.5; color: var(--mid, #4a4540); }
.cc-actions{ display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 9px; }
.cc-btn{
  font: inherit; font-size: 11px; font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; line-height: 1.2;
  padding: 10px 16px;
  border: 1px solid var(--gold, #9a7a32); border-radius: 999px;
  background: transparent; color: var(--dark, #1c1a16);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.cc-btn:hover{ background: rgba(154, 122, 50, 0.1); }
.cc-btn--primary{ background: var(--gold, #9a7a32); color: #fff; }
.cc-btn--primary:hover{ background: #86692a; }
.cc-btn:focus-visible{ outline: 2px solid var(--gold, #9a7a32); outline-offset: 2px; }
.cc-more{ margin: 0; font-size: 12px; color: var(--soft, #6b645b); }
.cc-more a{ color: var(--gold-text, #7d6224); }

@media (max-width: 960px){
  /* на планшете кнопок связи справа нет (их заменяет нижняя полоса) — прижимаем к краю */
  .cc{ right: 16px; bottom: calc(var(--cc-bottom, 0px) + 12px); width: min(480px, calc(100vw - 32px)); }
}
@media (max-width: 640px){
  /* телефон — во всю ширину над нижней полосой «Позвонить / Заявка» */
  .cc{
    left: 0; right: 0; width: auto;
    bottom: var(--cc-bottom, 0px);
    border-radius: 0; border-left: 0; border-right: 0;
    padding: 14px 16px 10px;
  }
  .cc-title{ font-size: 18px; margin-bottom: 6px; }
  .cc-text{ font-size: 12.5px; }
  .cc-actions .cc-btn{ flex: 1 1 auto; padding: 10px 10px; letter-spacing: 0.06em; }
}
@media (prefers-reduced-motion: reduce){ .cc-btn{ transition: none; } }

/* ===== Юридическая строка подвала (views/partials/legal-footer.ejs) — все подвалы тёмные ===== */
.footer-legal{
  margin-top: 18px; padding-top: 14px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.12);
  font-family: 'Jost', system-ui, sans-serif;
  font-size: 12px; line-height: 1.7;
  color: rgba(245, 239, 227, 0.5);
}
.footer-legal-links{ display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.footer-legal-links a,
.footer-legal-cookie{
  color: rgba(245, 239, 227, 0.62); text-decoration: none;
  font: inherit; letter-spacing: 0.02em;
  transition: color 0.2s ease;
}
.footer-legal-cookie{ background: none; border: 0; padding: 0; cursor: pointer; }
.footer-legal-links a:hover,
.footer-legal-cookie:hover{ color: var(--gold-mid, #d9b96e); }
.footer-legal-links a:focus-visible,
.footer-legal-cookie:focus-visible{ outline: 1px solid var(--gold-mid, #d9b96e); outline-offset: 2px; }
.footer-legal-sep{ color: rgba(245, 239, 227, 0.28); }
/* ≤960 строка документов переносится — точка-разделитель оказалась бы в начале строки; вместо неё просто зазор */
@media (max-width: 960px){
  .footer-legal-sep{ display: none; }
  .footer-legal-links{ gap: 4px 18px; }
}
.footer-legal-req{ margin: 6px 0 0; color: rgba(245, 239, 227, 0.42); letter-spacing: 0.02em; }

