/* =========================================================
   AURORA FOOTER — ФИНАЛЬНАЯ ВЕРСИЯ
   БЕЗ POPULAR + КРУПНЫЙ ЛОГОТИП
   ========================================================= */

/* КРИТИЧНО: Принудительное увеличение логотипа */
.aurora-footer-logo img {
  height: 80px !important;
  width: auto !important;
  max-height: 80px !important;
  min-height: 80px !important;
}

/* Footer container */
.aurora-footer {
  position: relative !important;
  background: #000 !important;
  padding: 70px 0 0 !important;
  margin-top: 90px !important;
  border-top: 1px solid var(--aurora-border-subtle) !important;
  overflow: hidden !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.aurora-footer * {
  box-sizing: border-box !important;
}

.aurora-footer .aurora-container {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  padding: 0 40px !important;
}

/* ОПТИМАЛЬНАЯ СЕТКА: 4 КОЛОНКИ БЕЗ POPULAR */
.aurora-footer-main {
  display: grid !important;
  grid-template-columns: 420px 1fr 1fr 400px !important;
  gap: 48px !important;
  padding-bottom: 48px !important;
  border-bottom: 1px solid var(--aurora-border-subtle) !important;
  align-items: start !important;
}

/* BRAND COLUMN - Увеличенный */
.aurora-footer-brand {
  display: flex !important;
  flex-direction: column !important;
  gap: 24px !important;
  padding-right: 20px !important;
}

.aurora-footer-brand-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

.aurora-footer-logo {
  display: inline-block !important;
  transition: opacity 0.3s ease !important;
}

.aurora-footer-logo:hover {
  opacity: 0.85 !important;
}

.aurora-footer-tagline {
  color: var(--aurora-text-secondary) !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
  max-width: 360px !important;
  font-weight: 400 !important;
}

/* Language Switcher */
.aurora-footer-lang {
  margin-top: 12px !important;
}

.aurora-kicker {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  color: var(--aurora-primary) !important;
  margin-bottom: 12px !important;
  text-transform: uppercase !important;
}

.aurora-dot {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--aurora-primary) !important;
  display: inline-block !important;
}

.aurora-lang-grid {
  display: flex !important;
  gap: 8px !important;
}

.aurora-lang-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--aurora-border-subtle) !important;
  color: var(--aurora-text-primary) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  white-space: nowrap !important;
}

.aurora-lang-item:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  border-color: rgba(100, 255, 230, 0.4) !important;
  transform: translateY(-2px) !important;
}

.aurora-lang-item--active {
  background: linear-gradient(135deg, rgba(100, 255, 230, 0.15), rgba(139, 92, 246, 0.1)) !important;
  border-color: rgba(100, 255, 230, 0.5) !important;
  box-shadow: 0 0 0 3px rgba(100, 255, 230, 0.1) !important;
}

.aurora-lang-flag {
  font-size: 18px !important;
  line-height: 1 !important;
}

/* NAVIGATION COLUMNS */
.aurora-footer-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
}

.aurora-footer-col .aurora-kicker {
  margin-bottom: 16px !important;
}

.aurora-footer-links {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.aurora-footer-link {
  color: var(--aurora-text-secondary) !important;
  text-decoration: none !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  font-weight: 500 !important;
  transition: all 0.25s ease !important;
  display: inline-block !important;
  position: relative !important;
}

.aurora-footer-link::before {
  content: "" !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, var(--aurora-primary), var(--aurora-accent)) !important;
  transition: width 0.3s ease !important;
}

.aurora-footer-link:hover {
  color: var(--aurora-primary) !important;
  transform: translateX(4px) !important;
}

.aurora-footer-link:hover::before {
  width: 100% !important;
}

/* CONTACT COLUMN - Оптимизированный */
.aurora-footer-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 20px !important;
}

/* Offices - Компактный вертикальный стек */
.aurora-footer-offices {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* FIX: Office cards were rendering too narrow on some themes.
   Force full-width cards inside the contact column and improve text wrapping. */
.aurora-footer-contact{
  align-items: stretch !important;
}

.aurora-footer-offices{
  align-items: stretch !important;
}

.aurora-office-card{
  width: 100% !important;
  max-width: none !important;
}

.aurora-office-card .aurora-small{
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}

.aurora-office-card {
  padding: 16px 18px !important;
  border-radius: 12px !important;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.02)) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  transition: all 0.3s ease !important;
  cursor: default !important;
}

.aurora-office-card:hover {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.04)) !important;
  border-color: rgba(100, 255, 230, 0.3) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25) !important;
}

.aurora-office-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
  color: var(--aurora-text-primary) !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.aurora-office-flag {
  font-size: 22px !important;
  line-height: 1 !important;
}

.aurora-small {
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--aurora-text-secondary) !important;
  margin: 0 !important;
}

/* Email */
.aurora-footer-contact > a[href^="mailto"] {
  color: var(--aurora-text-primary) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
  margin-top: 4px !important;
}

.aurora-footer-contact > a[href^="mailto"]:hover {
  color: var(--aurora-primary) !important;
}

/* Messengers - Горизонтально */
.aurora-footer-messengers {
  display: flex !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

/* Messengers under languages (left column) */
.aurora-footer-brand .aurora-footer-messengers{
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  margin-top: 14px !important;
}

.aurora-footer-brand .aurora-messenger-btn{
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  padding: 10px 14px !important;
}


.aurora-messenger-btn {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 16px !important;
  border-radius: 10px !important;
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid var(--aurora-border-subtle) !important;
  color: var(--aurora-text-primary) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  flex: 1 !important;
  justify-content: center !important;
}

.aurora-messenger-btn:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2) !important;
}

.aurora-messenger-btn--wa {
  color: #25D366 !important;
  border-color: rgba(37, 211, 102, 0.3) !important;
}

.aurora-messenger-btn--wa:hover {
  background: rgba(37, 211, 102, 0.12) !important;
  border-color: rgba(37, 211, 102, 0.5) !important;
  box-shadow: 0 6px 24px rgba(37, 211, 102, 0.25) !important;
}

.aurora-messenger-btn--tg {
  color: #229ED9 !important;
  border-color: rgba(34, 158, 217, 0.3) !important;
}

.aurora-messenger-btn--tg:hover {
  background: rgba(34, 158, 217, 0.12) !important;
  border-color: rgba(34, 158, 217, 0.5) !important;
  box-shadow: 0 6px 24px rgba(34, 158, 217, 0.25) !important;
}

.aurora-messenger-btn--wx {
  color: #07C160 !important;
  border-color: rgba(7, 193, 96, 0.3) !important;
}

.aurora-messenger-btn--wx:hover {
  background: rgba(7, 193, 96, 0.12) !important;
  border-color: rgba(7, 193, 96, 0.5) !important;
  box-shadow: 0 6px 24px rgba(7, 193, 96, 0.25) !important;
}

.aurora-messenger-btn svg {
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
}

/* BOTTOM BAR */
.aurora-footer-bottom {
  padding: 28px 0 !important;
}

.aurora-footer-bottom-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 24px !important;
}

.aurora-footer-bottom small {
  color: var(--aurora-text-secondary) !important;
  font-size: 14px !important;
}

.aurora-footer-legal {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aurora-footer-legal a {
  color: var(--aurora-text-secondary) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  transition: color 0.3s ease !important;
}

.aurora-footer-legal a:hover {
  color: var(--aurora-primary) !important;
}

.aurora-footer-separator {
  color: rgba(255, 255, 255, 0.2) !important;
  font-weight: 300 !important;
}

/* ========== RESPONSIVE ========== */

/* Desktop Large (1400px+) */
@media (min-width: 1400px) {
  .aurora-footer .aurora-container {
    padding: 0 60px !important;
  }
}

/* Desktop (1200px - 1400px) */
@media (max-width: 1400px) {
  .aurora-footer-main {
    grid-template-columns: 380px 1fr 1fr 360px !important;
    gap: 40px !important;
  }
}

/* Tablet Large (1024px - 1200px) */
@media (max-width: 1200px) {
  .aurora-footer-main {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 36px 28px !important;
  }

  .aurora-footer-brand {
    grid-column: 1 / -1 !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    padding-right: 0 !important;
  }

  .aurora-footer-contact {
    grid-column: 1 / -1 !important;
  }

  .aurora-footer-offices {
    flex-direction: row !important;
    gap: 16px !important;
  }

  .aurora-office-card {
    flex: 1 !important;
  }
}

/* Tablet (768px - 1024px) */
@media (max-width: 1024px) {
  .aurora-footer {
    padding: 60px 0 0 !important;
    margin-top: 70px !important;
  }

  .aurora-footer .aurora-container {
    padding: 0 32px !important;
  }

  .aurora-footer-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px 24px !important;
  }

  .aurora-footer-brand {
    flex-direction: column !important;
  }

  .aurora-footer-logo img {
    height: 70px !important;
  }
}

/* Mobile (max 768px) */
@media (max-width: 768px) {
  .aurora-footer {
    padding: 48px 0 0 !important;
    margin-top: 60px !important;
  }

  .aurora-footer .aurora-container {
    padding: 0 20px !important;
  }

  .aurora-footer-main {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .aurora-footer-brand {
    grid-column: 1 !important;
  }

  .aurora-footer-logo img {
    height: 64px !important;
  }

  .aurora-footer-offices {
    flex-direction: column !important;
  }

  .aurora-footer-messengers {
    flex-direction: column !important;
  }

  .aurora-messenger-btn {
    justify-content: flex-start !important;
  }

  .aurora-footer-bottom-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }

  .aurora-footer-legal {
    flex-wrap: wrap !important;
    gap: 12px 16px !important;
  }

  .aurora-footer-separator {
    display: none !important;
  }
}

/* Small Mobile (max 480px) */
@media (max-width: 480px) {
  .aurora-footer-logo img {
    height: 56px !important;
  }

  .aurora-lang-grid {
    flex-wrap: wrap !important;
  }

  .aurora-lang-item {
    padding: 8px 12px !important;
    font-size: 13px !important;
  }
}
/* ===============================
   FIX: Office cards width (Footer)
   =============================== */

/* Колонка CONTACT должна позволять растяжение */
.aurora-footer-contact {
  align-items: stretch;
}

/* Контейнер офисов — нормальная сетка */
.aurora-footer-offices {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
}

/* Карточки офисов — на всю ширину колонки */
.aurora-office-card {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

/* Корректный перенос длинных строк (email, phone) */
.aurora-office-card a,
.aurora-office-card p {
  overflow-wrap: anywhere;
  word-break: break-word;
}
/* =========================================================
   Footer hotfix: widen CONTACT column + office cards
   (paste at the very end of the CSS file)
   ========================================================= */

@media (min-width: 1100px){
  /* Разжимаем сетку футера: даём CONTACT больше места */
  .aurora-footer .aurora-footer-main{
    display: grid !important;
    grid-template-columns: minmax(320px, 1.35fr) minmax(180px, .85fr) minmax(180px, .85fr) minmax(360px, 1.15fr) !important;
    gap: 40px !important;
    align-items: start !important;
  }

  /* Важно: позволяем колонке CONTACT растягиваться */
  .aurora-footer .aurora-footer-col,
  .aurora-footer .aurora-footer-contact{
    min-width: 0 !important;
  }
}

/* Перебиваем текущий flex у offices */
.aurora-footer .aurora-footer-offices{
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  width: 100% !important;
  align-items: stretch !important;
}

/* Карточки должны занимать ширину колонки */
.aurora-footer .aurora-office-card{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Переносим длинные строки аккуратно (email/телефон) */
.aurora-footer .aurora-office-card a,
.aurora-footer .aurora-office-card p{
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

/* =========================================================
   Footer hotfix: widen CONTACT column + office cards
   (paste at the very end of the CSS file)
   ========================================================= */


@media (min-width: 1100px){
  .aurora-footer .aurora-footer-main{
    display: grid !important;
    grid-template-columns:
      minmax(340px, 1.4fr)   /* Brand */
      minmax(340px, 1.4fr)     /* Services */
      minmax(340px, 1.4fr)     /* Company */
      minmax(340px, 1.4fr);    /* Contact */
    gap: 40px !important;
    align-items: start !important;
  }

  .aurora-footer .aurora-footer-col,
  .aurora-footer .aurora-footer-contact{
    min-width: 0 !important;
  }
}
