/* Подвал сайта: всегда тёмный, в любой теме. */
.site-footer {
  --sf-bg: #1e1e1c;
  --sf-text: #f4f2ee;
  --sf-muted: #8e8b85;
  --sf-line: #ffffff1f;
  --sf-accent: #ff782e;
  margin-top: 64px; background: var(--sf-bg); color: var(--sf-text);
  font-family: Inter, system-ui, sans-serif;
}
.site-footer__inner { max-width: var(--maxw, 1440px); margin: 0 auto; padding: 72px clamp(16px, 5vw, 64px) 36px; }
.site-footer a { color: var(--sf-text) !important; text-decoration: none !important; transition: color .15s; }
.site-footer a:hover { color: var(--sf-accent) !important; }

.site-footer__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.site-footer__col { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; font-size: 16px; }
.site-footer .site-footer__col h2 { margin: 0 0 4px; font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--sf-muted); }
.site-footer .site-footer__col .site-footer__sub { margin-top: 14px; }
.site-footer .site-footer__lead { font-weight: 600; }

.site-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--sf-line); }
.site-footer__brand { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.site-footer .site-footer__logo { font-weight: 850; font-size: 30px; letter-spacing: -.07em; line-height: 1; }
.site-footer .site-footer__logo:hover { color: var(--sf-text) !important; }
.site-footer__logo span { color: var(--sf-accent); }
.site-footer__legal { display: flex; align-items: center; gap: 6px 24px; flex-wrap: wrap; margin: 0; font-size: 13px; line-height: 1.4; color: var(--sf-muted); }

/* Плитки соцсетей: 3 в ряд, внешние углы большие, внутренние маленькие.
   При наведении плитка растёт и заливается цветом бренда. */
.sf-social { --tile: 56px; --big: 56px; --small: 6px; display: grid; grid-template-columns: repeat(3, var(--tile)); gap: 6px; }
.site-footer .sf-tile {
  display: grid; place-items: center; width: var(--tile); height: var(--tile);
  border-radius: var(--small); background: #fff; color: var(--brand) !important;
  box-shadow: 0 2px 5px -1px #32325d40, 0 1px 3px -1px #0000004d;
  transition: scale .2s ease-in-out, background-color .2s ease-in-out, color .2s ease-in-out;
}
.sf-tile:nth-child(1) { border-top-left-radius: var(--big); }
.sf-tile:nth-child(3) { border-top-right-radius: var(--big); }
.sf-tile:nth-child(4) { border-bottom-left-radius: var(--big); }
.sf-tile:nth-child(6) { border-bottom-right-radius: var(--big); }
/* Иконки в угловых плитках сдвинуты от скругления к центру капсулы */
.sf-tile:nth-child(1) svg { translate: 4px 4px; }
.sf-tile:nth-child(3) svg { translate: -4px 4px; }
.sf-tile:nth-child(4) svg { translate: 4px -4px; }
.sf-tile:nth-child(6) svg { translate: -4px -4px; }
.sf-tile svg { width: 24px; height: 24px; fill: currentColor; }
.site-footer a.sf-tile:hover, .site-footer a.sf-tile:focus-visible { scale: 1.1; background: var(--brand); color: #fff !important; }
/* Соцсети без ссылки: та же белая плитка, иконка приглушённая, без реакции на наведение */
.site-footer .sf-tile.is-soon { color: #b9b5ae !important; cursor: default; }
@media (prefers-reduced-motion: reduce) { .sf-tile { transition: none; } }

/* «Спросить Толика» уезжает, когда виден подвал, и не лежит поверх него */
.booking-assistant__launcher { transition: opacity .25s ease, transform .25s ease; }
html.footer-in-view .booking-assistant__launcher { opacity: 0 !important; transform: translateY(24px) !important; pointer-events: none !important; }

@media (max-width: 760px) {
  .site-footer { margin-top: 40px; }
  .site-footer__inner { padding-top: 48px; padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .site-footer__grid { grid-template-columns: 1fr 1fr; gap: 36px 20px; }
  .site-footer__col:first-child { grid-column: span 2; }
  .site-footer__bottom { flex-direction: column; align-items: flex-start; gap: 28px; margin-top: 40px; }
  .site-footer__brand { flex-direction: column; align-items: flex-start; gap: 16px; }
  .site-footer__legal { flex-direction: column; align-items: flex-start; }
}

.site-footer a.site-footer__telegram{color:#241b16!important}
.site-footer__telegram{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;box-sizing:border-box;margin:0 0 28px;padding:16px 20px;border:1px solid #ffd7bc;border-radius:20px;background:#fff5ec;color:#241b16;text-decoration:none}
.site-footer__telegram svg{width:32px;height:32px;flex-shrink:0;fill:#f87524}
.site-footer__telegram strong,.site-footer__telegram small{display:block}
.site-footer__telegram strong{font-size:16px;line-height:1.4}.site-footer__telegram small{margin-top:3px;font-size:13px;line-height:1.4;color:#76685e}
.site-footer__telegram>span:last-child{margin-left:auto;color:#d4520b;font-size:24px}
.site-footer__telegram:hover{background:#ffeadb}.site-footer__telegram:focus-visible{outline:3px solid #f87524;outline-offset:4px}
@media(max-width:600px){.site-footer__telegram{width:100%;padding:14px;gap:12px}}
