
/* === Pragmatic Codes: emergency fallback styles === */
:root{
  --pc-green:#0ec29a;
  --pc-bg:#2f3336;
  --pc-dark:#1e2226;
  --pc-text:#e9eeef;
  --pc-muted:#b9c4c8;
}
html{scroll-behavior:smooth}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;
  color:var(--pc-text);
  background:#111;
}
/* Author card image */
.author .avatar, .author img.avatar, .pc-author img, .post-author img{
  border-radius:9999px!important;
  width:64px;height:64px;object-fit:cover;
}

/* TOC bullets with green dots */
.toc, .contents, .table-of-contents{position:relative}
.toc ul, .contents ul{list-style:none;padding-left:0;margin:0}
.toc li, .contents li{padding-left:18px;margin:8px 0;position:relative}
.toc li::before, .contents li::before{content:'';position:absolute;left:0;top:.65em;width:7px;height:7px;background:var(--pc-green);border-radius:50%}

/* Mega menu fallback */
.site-header, header[role="banner"]{position:relative;z-index:50}
.mega-menu{position:absolute;left:0;right:0;top:100%;background:#3a3d40;color:#fff;display:none;padding:24px 0;box-shadow:0 8px 24px rgba(0,0,0,.35)}
.mega-open .mega-menu{display:block}
.navbar, nav[role="navigation"]{position:relative}
.nav-item{position:relative}
.nav-item > a{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1rem;text-decoration:none;color:#e6ecee}
/* stretch grid inside dropdown */
.mega-menu .container{max-width:1200px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.mega-menu h4{margin:.25rem 0 .5rem;font-weight:600}
.mega-menu ul{list-style:none;margin:0;padding:0}
.mega-menu li{margin:.35rem 0}
.mega-menu a{color:#e9eeef;text-decoration:none}
.mega-menu a:hover{color:#fff}

/* Newsletter / widgets basic cleanup */
.widget,.newsletter, .sidebar .widget{background:#121415;border:1px solid #1f2427;border-radius:8px;padding:16px}

/* Images fluid */
img{max-width:100%;height:auto}

/* Fix for broken fonts (prevents invisible text) */
@font-face{font-family:"Inter";src:local("Arial");font-display:swap}

/* ==========================================================
   FOOTER GRID REBUILD (высокая специфичность + !important)
   ========================================================== */

#footer .dnd-area > .container > .row,
#footer .address-social-area > .container > .row,
#footer .address-social-area .footer-address > .row,
#footer .copyright-area > .container > .row {
  display: flex !important;
  flex-wrap: wrap !important;
  margin-left: -16px !important;
  margin-right: -16px !important;
}

#footer .dnd-area [class^="col-"],
#footer .dnd-area [class*=" col-"],
#footer .address-social-area [class^="col-"],
#footer .address-social-area [class*=" col-"],
#footer .copyright-area [class^="col-"],
#footer .copyright-area [class*=" col-"] {
  box-sizing: border-box !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* SM ≥ 576px */
@media (min-width: 576px) {
  #footer .col-sm-6 { flex: 0 0 50% !important; max-width: 50% !important; }
  #footer .col-sm-12 { flex: 0 0 100% !important; max-width: 100% !important; }
}

/* MD ≥ 768px */
@media (min-width: 768px) {
  #footer .col-md-2 { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
  #footer .col-md-3 { flex: 0 0 25% !important;      max-width: 25% !important; }
  #footer .col-md-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
  #footer .col-md-6 { flex: 0 0 50% !important;      max-width: 50% !important; }
}

/* LG ≥ 992px */
@media (min-width: 992px) {
  #footer .col-lg-3 { flex: 0 0 25% !important;      max-width: 25% !important; }
  #footer .col-lg-4 { flex: 0 0 33.3333% !important; max-width: 33.3333% !important; }
  #footer .col-lg-5 { flex: 0 0 41.6667% !important; max-width: 41.6667% !important; }
  #footer .col-lg-7 { flex: 0 0 58.3333% !important; max-width: 58.3333% !important; }
  #footer .col-2     { flex: 0 0 16.6667% !important; max-width: 16.6667% !important; }
}

#footer .hide-md, #footer .hide-sm { display: none !important; }
@media (min-width: 992px) { #footer .hide-md.hide-sm { display: block !important; } }

#footer .menu { list-style: none; margin: 0; padding: 0; }
#footer .menu li { margin: 8px 0; }
#footer .menu a { text-decoration: none; }
#footer .footer-social-links .social-links { display: flex; gap: 12px; align-items: center; }
#footer .copyright-area .copyrights { margin: 10px 0; }
/* --- FOOTER: 3 колонки в один ряд --- */
#footer .address-social-area .container > .row{
  display: grid !important;           /* перекрываем чужие правила */
  grid-template-columns: 4fr 3fr 3fr; /* 4/12 + 3/12 + 3/12 как на оригинале */
  gap: 40px;
  align-items: start;
}

/* убрать «пустую» колонку-растяжку из оригинала */
#footer .address-social-area .container > .row > .hide-md,
#footer .address-social-area .container > .row > .hide-sm{
  display: none !important;
}

/* левая колонка (логотип+адрес) — как есть */
#footer .footer-address { align-self: start; }

/* средняя колонка (Contact) */
#footer .footer-contact .title4{ margin-bottom: 10px; }

/* правая колонка (Follow Us) — прижать к правому краю и выровнять заголовок */
#footer .footer-social-links{ text-align: right; }
#footer .footer-social-links .title4{ display: inline-block; margin-bottom: 14px; }

/* иконки как на оригинале: маленькие кружки, одинаковый зазор */
#footer .footer-social-links .social-links{
  display: flex; justify-content: flex-end; gap: 12px; flex-wrap: wrap;
}
#footer .footer-social-links .social-links a{
  display: inline-flex; width: 34px; height: 34px; border-radius: 50%;
  background: #0E2A32;               /* тёмно-синий круг как у них */
  align-items: center; justify-content: center;
}
#footer .footer-social-links .social-links img{
  height: 14px; width: auto;          /* размеры пиктограмм как у оригинала */
}

/* адаптив: на планшете 2 колонки, на мобиле — одна */
@media (max-width: 991px){
  #footer .address-social-area .container > .row{ grid-template-columns: 1fr 1fr; }
  #footer .footer-social-links{ grid-column: 1 / -1; text-align: left; }
  #footer .footer-social-links .social-links{ justify-content: flex-start; }
}
@media (max-width: 575px){
  #footer .address-social-area .container > .row{ grid-template-columns: 1fr; gap: 24px; }
}
/* --- FOOTER: 3 колонки в один ряд --- */
#footer .address-social-area .container > .row{
  display:grid!important;
  grid-template-columns:4fr 3fr 3fr;
  gap:40px;
  align-items:start;
}
#footer .address-social-area .container > .row > .hide-md,
#footer .address-social-area .container > .row > .hide-sm{display:none!important}
#footer .footer-social-links{ text-align:right }
#footer .footer-social-links .title4{ display:inline-block; margin-bottom:14px }
#footer .footer-social-links .social-links{
  display:flex; justify-content:flex-end; gap:12px; flex-wrap:wrap;
}
#footer .footer-social-links .social-links a{
  display:inline-flex; width:34px; height:34px; border-radius:50%;
  background:#0E2A32; align-items:center; justify-content:center;
}
#footer .footer-social-links .social-links img{ height:14px; width:auto }

@media (max-width:991px){
  #footer .address-social-area .container > .row{ grid-template-columns:1fr 1fr }
  #footer .footer-social-links{ grid-column:1 / -1; text-align:left }
  #footer .footer-social-links .social-links{ justify-content:flex-start }
}
@media (max-width:575px){
  #footer .address-social-area .container > .row{ grid-template-columns:1fr; gap:24px }
}
/* === Footer: fix 3 columns + socials === */
#footer .address-social-area .container > .row {
  display: grid !important;
  grid-template-columns: 1fr 1fr 1fr;   /* слева / центр / справа */
  column-gap: 48px;                     /* зазор между колонками как на оригинале */
  align-items: start;
}

/* убрать «прокладку» между колонками */
#footer .address-social-area .container > .row > .hide-md.hide-sm {
  display: none !important;
}

/* колонки и выравнивание */
#footer .address-social-area .footer-address { grid-column: 1; text-align: left; }
#footer .address-social-area .footer-contact  { grid-column: 2; text-align: center; }
#footer .address-social-area .footer-social-links { grid-column: 3; text-align: right; }

/* подпись Follow Us справа */
#footer .footer-social-links .title4 {
  display: block;
  text-align: right;
  margin: 0 0 14px;
}

/* иконки: компактный ряд, без лишних отступов */
#footer .footer-social-links .social-links {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 14px;                           /* расстояние между кружками */
}

#footer .footer-social-links .social-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;                         /* диаметр кружка */
  height: 40px;
  border-radius: 50%;
  margin: 0 !important;                /* убирать случайные margin'ы */
  padding: 0;                          /* внутри только иконка */
}

#footer .footer-social-links .social-links img {
  display: block;
  width: 18px;                         /* размер пиктограммы внутри */
  height: 18px;
}

/* мобильная версия: стекаем в колонку и выравниваем влево */
@media (max-width: 991px) {
  #footer .address-social-area .container > .row {
    grid-template-columns: 1fr;
    row-gap: 24px;
  }
  #footer .address-social-area .footer-contact,
  #footer .address-social-area .footer-social-links {
    text-align: left;
  }
  #footer .footer-social-links .title4 { text-align: left; }
  #footer .footer-social-links .social-links { justify-content: flex-start; }
}
/* === FOOTER: выровнять 3 колонки адрес/контакты/соцсети === */

/* 1) Сетка ряда */
#footer .address-social-area .container > .row{
  display:flex !important;
  flex-wrap:wrap;              /* на узких экранах — в столбик */
  align-items:flex-start !important; /* все три колонки от одной линии сверху */
}

/* 2) Сброс «центровщиков» и лишних верхних отступов */
#footer .address-social-area .footer-address,
#footer .address-social-area .footer-contact,
#footer .address-social-area .footer-social-links{
  margin-top:0 !important;
  padding-top:0 !important;
  text-align:left;             /* по умолчанию — влево */
}
#footer .address-social-area .footer-contact{
  display:block !important;    /* убираем возможный flex-центринг внутри */
}

/* 3) Ширины колонок и выравнивание справа на ≥992px (как в оригинале) */
@media (min-width:992px){
  #footer .address-social-area .container > .row{ flex-wrap:nowrap; }
  #footer .address-social-area .footer-address{ flex:0 0 33.333%; max-width:33.333%; }
  #footer .address-social-area .footer-contact{ flex:0 0 25%;     max-width:25%; }
  #footer .address-social-area .hide-md,
  #footer .address-social-area .hide-sm{ display:block; flex:0 0 16.666%; max-width:16.666%; }
  #footer .address-social-area .footer-social-links{
    flex:0 0 25%; max-width:25%;
    margin-left:auto;          /* прижать колонку соцсетей вправо */
    text-align:right;          /* и её контент направо */
  }
}

/* 4) Заголовки и отступы внутри */
#footer .address-social-area .title4{ margin:0 0 12px !important; }
#footer .address-social-area .footer-contact .textwidget p{ margin:0 0 8px; }

/* 5) Иконки: вернуть компактные промежутки (не увеличиваем сами кружки) */
#footer .address-social-area .footer-social-links .social-links a{
  display:inline-block;
  margin-right:12px;
  vertical-align:middle;
}
#footer .address-social-area .footer-social-links .social-links a:last-child{ margin-right:0; }
/* === FOOTER: ровно 3 колонки в один ряд === */

/* Ряд — строго flex и на одной линии */
#footer .address-social-area .container > .row{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:flex-start !important;
  gap: 0; /* без “ступенек” */
}

/* Пустая прокладка — выключаем везде */
#footer .address-social-area .container > .row > .hide-md.hide-sm{
  display:none !important;
}

/* ЛЕВАЯ: логотип+адрес */
#footer .address-social-area .container > .row > .footer-address{
  flex:0 0 33.333% !important;
  max-width:33.333% !important;
}

/* СЕРЕДИНА: Contact — по центру колонки */
#footer .address-social-area .container > .row > .footer-contact{
  flex:0 0 33.333% !important;
  max-width:33.333% !important;
  text-align:center !important;
}
#footer .address-social-area .footer-contact .title4{ margin:0 0 12px !important; }

/* ПРАВАЯ: Follow Us — к правому краю и вправо выравниваем текст */
#footer .address-social-area .container > .row > .footer-social-links{
  flex:0 0 33.333% !important;
  max-width:33.333% !important;
  margin-left:auto !important;
  text-align:right !important;
}
#footer .address-social-area .footer-social-links .title4{ display:block; margin:0 0 12px; }

/* Иконки — компактный ряд без лишнего интервала */
#footer .address-social-area .footer-social-links .social-links{
  display:inline-flex;
  align-items:center;
  gap:16px;              /* расстояние между кружками как в оригинале */
}
#footer .address-social-area .footer-social-links .social-links a{
  display:inline-flex;
  line-height:1;
}
/* === FOOTER: выровнять три колонки в один ряд на десктопе === */
@media (min-width: 992px) {
  /* сам ряд — в строчку, без переносов */
  #footer .address-social-area .container > .row{
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    gap:0 !important;
  }

  /* пустая "прокладка" между контактами и соц.ссылками */
  #footer .address-social-area .container > .row > .col-2.hide-md.hide-sm{
    display:none !important;
  }

  /* 1-я колонка: логотип+адрес (слева) */
  #footer .address-social-area .container > .row > .col-sm-12.col-md-4.col-lg-4.footer-address{
    flex:0 0 33.333% !important;
    max-width:33.333% !important;
  }

  /* 2-я колонка: Contact (по центру) */
  /* это второй div внутри .row (см. твой HTML) */
  #footer .address-social-area .container > .row > div:nth-child(2){
    flex:0 0 33.333% !important;
    max-width:33.333% !important;
    text-align:center !important;
  }
  #footer .address-social-area .footer-contact .title4{
    margin:0 0 12px !important;
  }

  /* 4-я колонка: Follow Us (справа) */
  #footer .address-social-area .container > .row > div:nth-child(4){
    flex:0 0 33.333% !important;
    max-width:33.333% !important;
    margin-left:auto !important;
    text-align:right !important;
  }
  #footer .address-social-area .footer-social-links .title4{
    display:block; margin:0 0 12px !important;
  }

  /* Иконки соцсетей — ряд, аккуратный отступ */
  #footer .address-social-area .footer-social-links .social-links{
    display:inline-flex !important;
    align-items:center !important;
    gap:16px !important;
  }
  #footer .address-social-area .footer-social-links .social-links a{
    display:inline-flex !important;
    line-height:1 !important;
  }
}
/* === FOOTER: выровнять 3 колонки по одной линии и убрать переносы === */

/* фиксируем 3 колонки в одну линию */
#footer .address-social-area .container > .row{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;         /* одинаковая вертикаль */
  column-gap:48px;
}

/* доли колонок на десктопе */
@media (min-width: 992px){
  #footer .address-social-area .footer-address{ flex:0 0 33.333%; }
  #footer .address-social-area .footer-contact{ flex:0 0 33.333%; text-align:center; }
  #footer .address-social-area .footer-social-links{ flex:0 0 33.333%; text-align:right; }
}

/* компактные отступы текста слева и в контактах */
#footer .footer-address .textwidget p,
#footer .footer-contact .textwidget p{
  margin:0;
  line-height:1.6;
}
#footer .footer-contact .textwidget p + p{ margin-top:6px; }

/* телефон не переносить на две строки */
#footer .footer-contact .textwidget p:last-child{
  white-space:nowrap;
}

/* соц-иконки — в один ряд, по правому краю, без переноса */
#footer .footer-social-links .social-links{
  display:flex;
  flex-wrap:nowrap;           /* не переносить */
  justify-content:flex-end;   /* вправо */
  align-items:center;
  gap:16px;
}
#footer .footer-social-links a{ display:flex; align-items:center; }
#footer .footer-social-links img{ display:block; }

/* убрать лишний воздух снизу блока адрес/контакты/иконки */
#footer .address-social-area .container{ padding-bottom:0; }
#footer .copyright-area{ margin-top:24px; }
/* === FOOTER polish: выравнивание Contact и Follow Us === */

/* 1) Contact — всё влево и без лишних отступов */
#footer .address-social-area .footer-contact{
  text-align: left;
}
#footer .address-social-area .footer-contact .title4{
  display: block;
  margin: 0 0 8px;            /* чёткий зазор над email */
  line-height: 1.1;
}
#footer .address-social-area .footer-contact .textwidget p{
  margin: 0;
}
#footer .address-social-area .footer-contact .textwidget p + p{
  margin-top: 6px;            /* зазор между email и телефоном */
}
/* телефон — единая строка */
#footer .address-social-area .footer-contact .textwidget p:last-child{
  white-space: nowrap;
}

/* 2) Follow Us — заголовок точно над рядом иконок, крайняя иконка на правом краю */
#footer .address-social-area .footer-social-links{
  /* делаем колонку управляемой по оси X */
  display: flex;
  flex-direction: column;
  align-items: flex-end;       /* прижимаем всё к правому краю контейнера */
}

/* заголовок ровно над группой иконок */
#footer .address-social-area .footer-social-links .title4{
  width: max-content;          /* ширина = по тексту */
  margin: 0 0 12px;
  line-height: 1.1;
  text-align: left;            /* начало текста совпадает с началом ряда иконок */
}

/* сам ряд иконок — одна строка, без переносов и чужих отступов */
#footer .address-social-area .footer-social-links .social-links{
  display: inline-flex;        /* ширина = по содержимому */
  gap: 16px;                   /* одинаковые промежутки между иконками */
  align-items: center;
  justify-content: flex-end;   /* крайняя иконка упирается в правый край */
  margin: 0;
  padding: 0;
}

/* убираем «зрачки» от возможных внутренних/внешних отступов картинок/ссылок */
#footer .address-social-area .footer-social-links .social-links a{
  display: flex;
  align-items: center;
  margin: 0 !important;
  padding: 0;
}
#footer .address-social-area .footer-social-links .social-links img{
  display: block;
}

/* мелкий косметический зазор до нижней плашки с Copyright/политиками */
#footer .copyright-area{ margin-top: 24px; }
/* === FOOTER: финальное выравнивание === */

/* 1) Contact — всё по левому краю одной колонкой */
#footer .footer-contact,
#footer .footer-contact .title4 {
  text-align: left !important;
}
#footer .footer-contact .title4 {
  margin: 0 0 10px 0;   /* чтобы заголовок шёл точно над e-mail */
}

/* 2) Follow Us — заголовок слева над иконками */
#footer .footer-social-links {
  text-align: left !important;              /* внутри колонки всё по левому краю */
}
#footer .footer-social-links .title4 {
  display: block;
  margin: 0 0 12px 0;                        /* заголовок прямо над иконками */
}
#footer .footer-social-links .social-links {
  display: flex;
  gap: 22px;                                 /* равные промежутки между кружками */
  justify-content: flex-start !important;    /* иконки тоже по левому краю */
  align-items: center;
}

/* 3) Одинаковые отступы сверху/снизу у нижней полосы */
#footer .address-social-area {
  padding-block: 28px;  /* сверху 28px и снизу 28px — можно поменять число, если нужно */
}
/* --- FOLLOW US: заголовок слева, над иконками --- */
#footer .footer-social-links {
  text-align: left !important;                 /* вся колонка по левому краю */
}

#footer .footer-social-links .title4 {
  display: block !important;                   /* перенести на строку выше */
  text-align: left !important;
  margin: 0 0 12px 0 !important;               /* отступ под заголовком */
}

/* И сами иконки оставляем слева и задаём ровный шаг */
#footer .footer-social-links .social-links {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 22px !important;
}

/* --- СИММЕТРИЯ ВЕРТИКАЛЬНЫХ ОТСТУПОВ --- */
#footer .address-social-area {
  padding-top: 28px !important;
  padding-bottom: 28px !important;             /* было больше — делаем равным */
}

/* Если линия ниже вплотную, можно чуть уплотнить и низ подвалa: */
#footer .copyright-area {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
/* === 1) Симметричные отступы блока адрес/контакты/соцсети === */
#footer .address-social-area{
  padding: 56px 0 !important;        /* одинаково сверху и снизу; если нужно – поправь число */
}

/* === 2) Follow Us — слева, заголовок над иконками === */
#footer .address-social-area .footer-social-links{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important; /* выравниваем влево всю колонку */
  text-align: left !important;
}

#footer .address-social-area .footer-social-links .title4{
  display: block !important;
  margin: 0 0 12px 0 !important;      /* расстояние под заголовком */
  text-align: left !important;
}

#footer .address-social-area .footer-social-links .social-links{
  display: flex !important;
  justify-content: flex-start !important; /* иконки тоже слева */
  align-items: center !important;
  gap: 22px !important;                    /* шаг между иконками */
  margin: 0 !important;                    /* сброс возможных auto-отступов */
}
/* === Fix: Follow Us слева, заголовок над иконками === */
#footer .address-social-area .footer-social-links{
  display: flex !important;
  flex-direction: column !important;      /* заголовок сверху, иконки ниже */
  align-items: flex-start !important;      /* всё влево */
  justify-content: flex-start !important;
  text-align: left !important;
  width: 100%;
}

#footer .address-social-area .footer-social-links .title4{
  order: 0 !important;                     /* заголовок первым */
  margin: 0 0 12px 0 !important;          /* отступ под заголовком */
  text-align: left !important;
}

#footer .address-social-area .footer-social-links .social-links{
  order: 1 !important;                     /* иконки после заголовка */
  display: flex !important;
  justify-content: flex-start !important;  /* иконки слева */
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
}

/* На случай, если родительская колонка задаёт text-align:right */
#footer .address-social-area .footer-social-links,
#footer .address-social-area .footer-social-links *{
  text-align: left !important;
}

/* На случай auto-выравнивания иконок вправо через margin-left:auto */
#footer .address-social-area .footer-social-links .social-links a{
  margin-left: 0 !important;
}
/* === Footer: выравниваем "Follow Us" слева и делаем ровные отступы === */

/* одинаковые отступы сверху/снизу у полосы с адресом/контактами/соцсетями */
#footer .address-social-area {
  padding-top: 48px !important;
  padding-bottom: 48px !important; /* раньше был больше — выравниваем */
}

/* вместо flex -> grid: заголовок сверху, иконки ниже, всё слева */
#footer .address-social-area .footer-social-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: auto !important;
  justify-items: start !important;     /* выравнять контент влево */
  text-align: left !important;         /* на всякий случай */
}

/* заголовок Follow Us — первым, слева, с небольшим отступом снизу */
#footer .address-social-area .footer-social-links .title4 {
  order: 0 !important;
  margin: 0 0 12px 0 !important;
  text-align: left !important;
}

/* иконки — строкой слева, без автоматических "прижатий" вправо */
#footer .address-social-area .footer-social-links .social-links {
  order: 1 !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 22px !important;                /* при желании поменяй интервал */
  margin: 0 !important;
  text-align: left !important;
}

/* убираем возможный margin-left:auto на ссылках иконок */
#footer .address-social-area .footer-social-links .social-links a {
  margin-left: 0 !important;
}
/* === FIX: футер — Follow Us слева, заголовок над иконками === */

/* 1) На самой колонке соцсетей снимаем правое выравнивание,
      которое навешивает тема */
#footer .address-social-area .row > .col-sm-6.col-md-3.col-lg-3:last-child {
  text-align: left !important;
  align-items: flex-start !important;   /* если колонка превращается в flex */
  justify-content: flex-start !important;
}

/* 2) Сам блок соцсетей — простой столбец, всё слева */
#footer .address-social-area .row > .col-sm-6.col-md-3.col-lg-3:last-child .footer-social-links {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-auto-rows: auto !important;
  place-items: start start !important;  /* и по горизонтали, и по вертикали */
  text-align: left !important;
}

/* 3) Заголовок Follow Us — отдельной строкой, влево */
#footer .address-social-area .row > .col-sm-6.col-md-3.col-lg-3:last-child .footer-social-links .title4 {
  display: block !important;
  justify-self: start !important;
  margin: 0 0 12px 0 !important;
  text-align: left !important;
}

/* 4) Ряд иконок — слева, без сдвига вправо */
#footer .address-social-area .row > .col-sm-6.col-md-3.col-lg-3:last-child .footer-social-links .social-links {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 22px !important;                 /* при необходимости поправь расстояние */
  margin: 0 !important;
  text-align: left !important;
}

/* 5) Убираем авто-сдвиги, если тема ставит на ссылки margin-left:auto */
#footer .address-social-area .row > .col-sm-6.col-md-3.col-lg-3:last-child .footer-social-links .social-links a {
  margin: 0 !important;
}
/* === FOOTER: правки сетки/выравнивания === */

/* Выровнять все три «плитки» по одной линии по вертикали */
#footer .address-social-area .container > .row {
  align-items: center;            /* логотип/контакты/соцсети по одной baseline */
}

/* Колонка соцсетей: полностью влево */
#footer .address-social-area .footer-social-links {
  display: flex;                  /* делаем колонку flex-контейнером */
  flex-direction: column;
  align-items: flex-start;        /* всё внутри — к левому краю */
  text-align: left !important;    /* ломаем наследованное text-align:right */
  margin-left: 0 !important;      /* на всякий случай убираем возможный auto */
}

/* Заголовок Follow Us — влево и ближе к иконкам */
#footer .address-social-area .footer-social-links .title4 {
  align-self: flex-start;
  margin: 0 0 14px 0;            /* как в оригинале */
}

/* Ряд иконок: левое выравнивание и правильные интервалы */
#footer .address-social-area .footer-social-links .social-links {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;                      /* расстояние как на оригинале */
}

#footer .address-social-area .footer-social-links .social-links a {
  width: 44px;                    /* кружок-«пилюля» */
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Заголовок Contact — строго по левому краю (чтобы шёл заподлицо с email/тел.) */
#footer .address-social-area .footer-contact .title4 {
  margin-left: 0;
  padding-left: 0;
}
#footer .address-social-area .footer-contact .textwidget {
  margin-left: 0;
}

/* Симметричные отступы сверху/снизу у всей «зелёной» зоны адрес/контакт/соцсети */
#footer .address-social-area {
  padding-top: 34px;
  padding-bottom: 34px;           /* было больше — делаем как сверху */
}
@media (max-width: 991.98px) {
  #footer .address-social-area {
    padding-top: 26px;
    padding-bottom: 26px;
  }
}

/* На случай, если правый столбец получает правое выравнивание от Bootstrap */
#footer .address-social-area .container > .row > div:last-child {
  text-align: left !important;
}
/* Иконки соцсетей дотягиваем до правого края колонки */
#footer .address-social-area .footer-social-links .social-links {
  width: 100%;                 /* растянуть на всю ширину col */
  justify-content: flex-end;   /* прижать иконки вправо */
  padding-right: 0;            /* на всякий случай */
}
/* --- Responsive YouTube block --- */
.video-wrap { margin: 24px auto; max-width: 1073px; }
.video-wrap .responsive-16x9 {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  overflow: hidden;
  border-radius: 12px;
}
.video-wrap .responsive-16x9 iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  border: 0;
}

/* --- Spacers / margins for exact vertical rhythm --- */
.spacer-32 { height: 32px; }
.mt-32 { margin-top: 32px !important; }
