/* ============================================================
   footer.css
   Desktop 1440px: 5-column layout — brand, menu, services,
                   advantages, contacts
   Mobile  370px:  brand + accordion groups + bottom bar
   ============================================================ */

/* ── Footer ─────────────────────────────────────────────────── */
.footer {
  padding-top:    calc(40 / var(--vw-base) * 100vw);
  padding-bottom: calc(20 / var(--vw-base) * 100vw);
  background-color: var(--color-white);
}

/* ── Container ───────────────────────────────────────────────── */
.footer .container {
  display: flex;
  gap: calc(68 / var(--vw-base) * 100vw);
  flex-wrap: wrap;
  align-items: flex-start;
}

/* ── Brand column ────────────────────────────────────────────── */
.footer__brand {
  display: flex;
  flex-direction: column;
  gap: calc(30 / var(--vw-base) * 100vw);
  flex-shrink: 0;
  width: calc(182 / var(--vw-base) * 100vw);
}

.footer__brand-group {
  display: flex;
  flex-direction: column;
  gap: calc(8 / var(--vw-base) * 100vw);
}

.footer__logo {
  font-size:   calc(30 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.21;
  color: var(--color-text);
}

.footer__slogan {
  font-size:   calc(12 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.17;
  color: var(--color-text);
}

/* Partners sub-section in brand column */
.footer__partners {
  display: flex;
  flex-direction: column;
  gap: calc(8 / var(--vw-base) * 100vw);
}

/* ── Column shared styles ────────────────────────────────────── */
.footer__column {
  display: flex;
  flex-direction: column;
  gap: calc(15 / var(--vw-base) * 100vw);
}

.footer__column-title {
  font-size:   calc(16 / var(--vw-base) * 100vw);
  font-weight: 600;
  line-height: 1.13;
  color: var(--color-text);
}

.footer__column-list {
  display: flex;
  flex-direction: column;
  gap: calc(12 / var(--vw-base) * 100vw);
}

.footer__column-link {
  font-size:   calc(14 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.14;
  color: var(--color-text);
  transition: color 0.2s;
}
.footer__column-link:hover {
  color: var(--color-red);
}

/* Partner links (red text) */
.footer__partner-link {
  font-size:   calc(14 / var(--vw-base) * 100vw);
  font-weight: 500;
  line-height: 1.14;
  color: var(--color-red);
  transition: opacity 0.2s;
}
.footer__partner-link:hover { opacity: 0.7; }

/* WP nav menu links in footer columns */
.footer__column-list ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: calc(12 / var(--vw-base) * 100vw);
}
.footer__column-list .menu-item a {
  display: block;
  font-size:   calc(14 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.14;
  color: var(--color-text);
  transition: opacity 0.2s;
}
.footer__column-list .menu-item a:hover { opacity: 0.7; }

/* ── Contacts column ─────────────────────────────────────────── */
.footer__contacts-list {
  display: flex;
  flex-direction: column;
  gap: calc(18 / var(--vw-base) * 100vw);
}

.footer__contact-item {
  display: flex;
  align-items: center;
  gap: calc(10 / var(--vw-base) * 100vw);
}

.footer__contact-icon {
  flex-shrink: 0;
  width:  calc(14 / var(--vw-base) * 100vw);
  height: calc(14 / var(--vw-base) * 100vw);
}

.footer__contact-text {
  font-size:   calc(14 / var(--vw-base) * 100vw);
  line-height: 1.14;
}

/* Phones */
.footer__phones {
  display: flex;
  flex-direction: column;
  gap: calc(5 / var(--vw-base) * 100vw);
}

.footer__phone-row {
  display: flex;
  align-items: center;
  gap: calc(5 / var(--vw-base) * 100vw);
}

.footer__phone-text {
  font-size:   calc(14 / var(--vw-base) * 100vw);
  font-weight: 500;
  line-height: 1.14;
}

/* Social icons */
.footer__socials {
  display: flex;
  gap: calc(10 / var(--vw-base) * 100vw);
}

.footer__social {
  display: flex;
  align-items: center;
  justify-content: center;
  width:  calc(35 / var(--vw-base) * 100vw);
  height: calc(35 / var(--vw-base) * 100vw);
  border-radius: 50%;
  background-color: var(--color-red);
  transition: opacity 0.2s;
}
.footer__social:hover { opacity: 0.85; }

.footer__social-icon {
  width:  calc(17 / var(--vw-base) * 100vw);
  height: calc(17 / var(--vw-base) * 100vw);
  fill: var(--color-white);
}

/* ── Bottom bar ──────────────────────────────────────────────── */
.footer__bottom {
	position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-top: calc(20 / var(--vw-base) * 100vw);
}

.footer__bottom:before {
	content: '';
	position: absolute;
	top: 0;
	right: calc(var(--content-padding-x) * -1);
	left: calc(var(--content-padding-x) * -1);
	height: 1px;
	background: rgba(71, 71, 71, 0.15);
}

.footer__bottom-text,
.footer__bottom-text a,
.footer__bottom-link {
  font-size:   calc(13 / var(--vw-base) * 100vw);
  font-weight: 400;
  line-height: 1.38;
  color: rgb(154, 154, 154);
  transition: color 0.2s;
}

.footer__bottom-text a:hover,
.footer__bottom-link:hover {
  color: var(--color-text);
}

/* ── Accordion toggle icon (mobile only, hidden on desktop) ──── */
.footer__toggle {
  display: none;
}

/* ── Accordion separator (mobile only) ───────────────────────── */
.footer__separator {
  display: none;
}

/* Partners accordion (mobile only, hidden on desktop) */
.footer__column.-mobile-only {
  display: none;
}

/* ============================================================
   MOBILE  (max-width: 767px)
   ============================================================ */
@media (max-width: 767px) {
  .footer {
    padding-top:    calc(20 / var(--vw-base) * 100vw);
    padding-bottom: calc(20 / var(--vw-base) * 100vw);
  }

  .footer .container {
    flex-direction: column;
    gap: calc(20 / var(--vw-base) * 100vw);
  }

  /* Brand */
  .footer__brand {
    width: 100%;
    gap: calc(8 / var(--vw-base) * 100vw);
  }

  .footer__logo {
    font-size:   calc(40 / var(--vw-base) * 100vw);
    line-height: 1.13;
  }

  .footer__slogan {
    font-size:   calc(14 / var(--vw-base) * 100vw);
    line-height: 1.43;
  }

  /* Hide partners sub-section on mobile (shown in accordion) */
  .footer__partners {
    display: none;
  }

  /* Show partners accordion on mobile */
  .footer__column.-mobile-only {
    display: flex;
  }

  /* Hide all columns on desktop layout — replaced by accordion */
  .footer__column {
    overflow: hidden;
  }

  .footer__column-list {
    display: none;
  }

  .footer__column.-open .footer__column-list {
    display: flex;
    padding-top: calc(12 / var(--vw-base) * 100vw);
  }

  /* Column title becomes accordion header */
  .footer__column-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    font-size:   calc(16 / var(--vw-base) * 100vw);
    line-height: 1.25;
    cursor: pointer;
  }

  /* Accordion toggle chevron */
  .footer__toggle {
    display: block;
    flex-shrink: 0;
    width:  calc(12 / var(--vw-base) * 100vw);
    height: calc(12 / var(--vw-base) * 100vw);
    fill: none;
    stroke: var(--color-text);
    stroke-width: 2;
    transition: transform 0.2s;
  }

  .footer__column.-open .footer__toggle {
    transform: rotate(180deg);
  }

  /* Separator lines between accordion groups */
  .footer__separator {
    display: block;
    width: 100%;
    height: 1px;
    border: none;
    background-color: rgba(71, 71, 71, 0.15);
  }

  /* Bottom bar */
  .footer__bottom {
    display: flex;
    flex-direction: column;
    gap: calc(2 / var(--vw-base) * 100vw);
    padding-top: calc(25 / var(--vw-base) * 100vw);
  }
	

}
