/*
  FOOTER.CSS
  Зависит от: base.css
*/

.site-footer {
  background: #1a2e1c;
  margin-top: 4rem;
  font-family: 'Space Grotesk', sans-serif;
}

/* ══════════════════════════════════════════
   СЕТКА — бренд фиксированный, расписание центр
══════════════════════════════════════════ */
.sf-grid {
  display: grid;
  grid-template-columns: 340px 1fr;
  border-bottom: 0.5px solid rgba(255,255,255,0.08);
  gap: 2rem;
}

.sf-col--brand {
  padding: 40px 32px;
  border-right: 0.5px solid rgba(255,255,255,0.08);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.sf-col--schedule {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 40px 40px;
}

/* ══════════════════════════════════════════
   БРЕНД
══════════════════════════════════════════ */
.sf-logo-img  { width: auto; max-width: 116px; display: block; margin-bottom: 2px; }
.sf-logo      { font-family: 'Unbounded', sans-serif; font-size: var(--text-lg); font-weight: 700; color: #f5f2eb; text-decoration: none; line-height: 1; }
.sf-logo span { color: #a8d4ac; }
.sf-sub       { font-size: var(--text-xs); letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,0.3); line-height: 1; }
.sf-tagline   { font-size: var(--text-sm); color: rgba(255,255,255,0.35); line-height: 1.7; }
.sf-since     { font-family: 'Unbounded', sans-serif; font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: rgb(255 255 255 / 61%); margin-top: 4px; display: block; }

/* ══════════════════════════════════════════
   СТАТУС (в блоке бренда)
══════════════════════════════════════════ */
.sf-status {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 8px;
  border: 0.5px solid transparent;
}

.sf-status--open   { background: rgba(168,212,172,0.07); border-color: rgba(168,212,172,0.2); }
.sf-status--closed { background: rgba(255,255,255,0.03); border-color: rgba(255,255,255,0.07); }

.sf-status__icon {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
  background: rgba(255,255,255,0.2);
}

.sf-status--open .sf-status__icon {
  background: #a8d4ac;
  animation: sf-pulse 1.6s ease-in-out infinite;
}

@keyframes sf-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.3; transform: scale(0.8); }
}

.sf-status__label { font-size: var(--text-base); font-weight: 500; color: rgba(255,255,255,0.6); line-height: 1.3; }
.sf-status--open .sf-status__label { color: #a8d4ac; }
.sf-status__sub { font-size: var(--text-base); color: #e8a87c; margin-top: 2px; }
.sf-status--open .sf-status__sub { color: rgba(168,212,172,0.55); }

#sf-timer {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--text-sm);
  color: #a8d4ac;
  letter-spacing: .02em;
}

/* ══════════════════════════════════════════
   ЗАГОЛОВОК РАСПИСАНИЯ
══════════════════════════════════════════ */
.sf-col-title {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--text-xl);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.3);
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 0.5px solid rgba(255,255,255,0.08);
  width: 380px;
  max-width: 100%;
  text-align: center;
}

/* ══════════════════════════════════════════
   СПИСОК РАСПИСАНИЯ
══════════════════════════════════════════ */
.sf-schedule {
  list-style: none;
  width: 380px;
  max-width: 100%;
}

.sf-schedule li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 0.5px solid rgba(255,255,255,0.05);
}

.sf-schedule li:last-child { border-bottom: none; }

.sf-day {
  font-size: var(--text-base);
  color: rgba(255,255,255,0.6);
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sf-time {
  font-family: 'Unbounded', sans-serif;
  font-size: var(--text-sm);
  color: #a8d4ac;
  letter-spacing: .04em;
  white-space: nowrap;
}

.sf-time--off {
  font-family: 'Space Grotesk', sans-serif;
  font-size: var(--text-sm);
  color: rgba(255,255,255,0.2);
  letter-spacing: 0;
}

.sf-time--exc { color: #e8a87c; }

/* ── Сегодня ── */
.sf-schedule__today {
  background: rgba(168,212,172,0.07);
  border-radius: 6px;
  padding: 10px 12px !important;
  border-bottom: none !important;
  margin: 3px 0;
}
.sf-schedule__today .sf-day  { color: #a8d4ac; font-weight: 500; }
.sf-schedule__today .sf-time { color: #c8e6c9; }

.sf-today-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: var(--text-xs);
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 400;
  color: #a8d4ac;
  background: rgba(168,212,172,0.12);
  border: 0.5px solid rgba(168,212,172,0.25);
  border-radius: 100px;
  padding: 2px 9px;
}

.sf-today-dot {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #a8d4ac;
  animation: sf-pulse 1.6s ease-in-out infinite;
  flex-shrink: 0;
}

/* ── Исключение ── */
.sf-schedule__exc {
  background: rgba(201,125,78,0.07);
  border-radius: 6px;
  padding: 10px 12px !important;
  border-bottom: none !important;
  margin: 3px 0;
}
.sf-schedule__exc .sf-day { color: rgba(255,255,255,0.7); }

.sf-exc-badge {
  font-size: var(--text-xs);
  color: #e8a87c;
  background: rgba(201,125,78,0.15);
  border: 0.5px solid rgba(201,125,78,0.25);
  border-radius: 100px;
  padding: 2px 9px;
}

/* ══════════════════════════════════════════
   НИЖНЯЯ СТРОКА
══════════════════════════════════════════ */
.sf-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 40px;
  gap: 16px;
}

.sf-copy { font-size: var(--text-xs); color: rgba(255,255,255,0.2); letter-spacing: .06em; }
.sf-bottom-right a { font-size: var(--text-xs); color: rgba(255,255,255,0.2); text-decoration: none; letter-spacing: .06em; transition: color .15s; }
.sf-bottom-right a:hover { color: rgba(255,255,255,0.5); }

/* ══════════════════════════════════════════
   АДАПТИВ
══════════════════════════════════════════ */
@media (max-width: 900px) {
  .sf-grid { grid-template-columns: 220px 1fr; }
  .sf-col--brand    { padding: 32px 24px; }
  .sf-col--schedule { padding: 32px 24px; }
}

@media (max-width: 640px) {
  .sf-grid { grid-template-columns: 1fr; }
  .sf-col--brand {
    border-right: none;
    border-bottom: 0.5px solid rgba(255,255,255,0.08);
    padding-bottom: 28px;
    justify-content: flex-start;
  }
  .sf-col--schedule { padding-top: 28px; }
  .sf-col-title { width: 100%; }
  .sf-schedule  { width: 100%; }
  .sf-bottom { flex-direction: column; align-items: flex-start; padding: 14px 20px; gap: 4px; }
}