/* ==========================================================================
   GLOBAL FOOTER
   ========================================================================== */
.c-footer {
  position: relative;
  width: 100%;
  background-color: var(--bg-color-val);
  background-image: var(--bg-img-val);
  background-size: cover;
  background-position: center;
  border-radius: var(--rad-tl-d) var(--rad-tr-d) var(--rad-br-d) var(--rad-bl-d);
  overflow: hidden;
  border-top: var(--bw-t-d) var(--b-style) var(--c-bord);
  border-right: var(--bw-r-d) var(--b-style) var(--c-bord);
  border-bottom: var(--bw-b-d) var(--b-style) var(--c-bord);
  border-left: var(--bw-l-d) var(--b-style) var(--c-bord);
}

.c-footer__shape-overlay {
  position: absolute;
  top: var(--sh-y-d);
  left: var(--sh-x-d);
  width: var(--sh-w-d);
  height: var(--sh-h-d);
  background-image: var(--shape-url);
  background-repeat: no-repeat;
  background-size: contain;
  opacity: var(--sh-op);
  mix-blend-mode: var(--sh-blend);
  pointer-events: none;
  z-index: 0;
}

.c-footer__max-width {
  position: relative;
  z-index: 1; 
  max-width: var(--max-w);
  margin: 0 auto;
}

.c-footer__wrap {
  display: flex;
  flex-direction: column;
  background-color: transparent; 
  padding: var(--pt-d) var(--pr-d) var(--pb-d) var(--pl-d);
  gap: var(--gap-row-d);
}

.c-footer__row--top {
  display: grid;
  grid-template-columns: 1fr 1fr; 
  gap: var(--gap-col-d);
  align-items: start;
}

.c-footer__col-news-txt {
  display: flex;
  flex-direction: column;
  text-align: var(--al-nt-d);
}

.c-footer__news-heading {
  font-family: var(--ff-nt);
  font-size: var(--fs-nt-d);
  font-weight: var(--fw-nt);
  line-height: var(--lh-nt-d);
  color: var(--c-nt);
  margin: 0;
}

.c-footer__news-subheading {
  font-family: var(--ff-ns);
  font-size: var(--fs-ns-d);
  font-weight: var(--fw-ns);
  line-height: var(--lh-ns-d);
  font-style: italic;
  color: var(--c-ns);
  margin: 0 0 24px 0;
}

.c-footer__news-desc {
  font-family: var(--ff-nd);
  font-weight: var(--fw-nd);
  font-size: var(--fs-nd-d);
  line-height: var(--lh-nd-d);
  color: var(--c-nd);
}
.c-footer__news-desc p { margin: 0 0 1em 0; }
.c-footer__news-desc p:last-child { margin: 0; }

.c-footer__col-news-form {
  display: flex;
  flex-direction: column;
}

.c-footer__form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 480px; 
}

.c-footer__form-label {
  font-family: var(--ff-flbl);
  font-weight: var(--fw-flbl);
  font-size: var(--fs-flbl-d);
  line-height: var(--lh-flbl-d);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--c-flbl);
}

.c-footer__form-input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--c-fbor);
  padding: 8px 0 12px 0;
  margin-bottom: 8px;
  font-family: var(--ff-finp);
  font-weight: var(--fw-finp);
  font-size: var(--fs-finp-d);
  line-height: var(--lh-finp-d);
  color: var(--c-finp);
  outline: none;
  width: 100%;
}
.c-footer__form-input::placeholder { color: var(--c-flbl); }
.c-footer__form-input:focus { border-bottom-color: var(--c-facc); }

.c-footer__form-check {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}
.c-footer__form-check input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    width: 16px;
    height: 16px;
    margin: 0;
    cursor: pointer;
    background-color: transparent;
    border: 2px solid #FFFFFFB2;
    transition: all 0.2s ease;
}

.c-footer__form-check input[type="checkbox"]:checked {
    background-color: var(--c-facc);
    border-color: var(--c-facc);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 8.5L7 11.5L12 4.5' stroke='%232D3C37' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 12px;
    background-position: center;
    background-repeat: no-repeat;
}
.c-footer__form-check input[type="checkbox"]:focus-visible {
    outline: 2px solid var(--c-facc);
    outline-offset: 2px;
}

.c-footer__form-check label {
  font-family: var(--ff-finp);
  font-weight: var(--fw-finp);
  font-size: 16px;
  color: var(--c-fchk);
  cursor: pointer;
}

.c-footer__form-btn {
  align-self: var(--al-sb-d);
  min-width: 118px;
  min-height: 48px;
  background-color: var(--c-sbg);
  color: var(--c-stxt);
  font-family: var(--ff-fbtn);
  font-weight: var(--fw-fbtn);
  font-size: var(--fs-fbtn-d);
  line-height: var(--lh-fbtn-d);
  padding: 12px 24px;
  border: 1px solid transparent;
  border-radius: 800px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.c-footer__form-btn:hover { background-color: var(--c-sbg-h); }
.c-footer__form-btn:focus,
.c-footer__form-btn:active { 
  background-color: var(--c-sbg-f); 
  border-color: var(--c-sbor-f);
  outline: none;
}

.c-footer__row--middle {
  display: grid;
  grid-template-columns: 1fr 1fr; 
  gap: var(--gap-col-d);
}

.c-footer__col-brand {
  display: flex;
  flex-direction: column;
  gap: 32px;
  align-items: var(--al-br-flex-d);
  text-align: var(--al-br-txt-d);
}

.c-footer__logos {
  display: flex;
  align-items: center;
  flex-wrap: wrap; 
  gap: 20px;
}
.c-footer__logo-img {
  height: var(--l-hd); 
  width: auto;
  max-width: 100%;
  object-fit: contain;
  flex-shrink: 0;
}

.c-footer__brand-desc {
  font-family: var(--ff-sum);
  font-weight: var(--fw-sum);
  font-size: var(--fs-sum-d);
  line-height: var(--lh-sum-d);
  color: var(--c-sum);
}
.c-footer__brand-desc p { margin: 0; }

.c-footer__social-btn {
  align-self: var(--al-so-d);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  height: 48px;
  padding: 0 24px;
  border-radius: 800px;
  border: 1px solid var(--c-soc-bor); 
  color: var(--c-soc-txt);
  background: transparent;
  font-family: var(--ff-soc);
  font-weight: var(--fw-soc);
  font-size: var(--fs-soc-d);
  line-height: var(--lh-soc-d);
  text-decoration: none;
  transition: all 0.2s ease;
}
.c-footer__social-btn:hover {
  background-color: var(--c-soc-bg-h);
  border-color: var(--c-soc-bor-h);
}
.c-footer__social-btn:focus,
.c-footer__social-btn:active {
  background-color: var(--c-soc-bg-p);
  border-color: var(--c-soc-bor-p);
  outline: none;
}

.c-footer__col-menus {
  display: grid;
  grid-template-columns: repeat(4, 1fr); 
  gap: 24px;
}

.c-footer__menu-col {
  display: flex;
  flex-direction: column;
  gap: 24px; 
}

.c-footer__menu-tit {
  font-family: var(--ff-mtit);
  font-weight: var(--fw-mtit);
  font-size: var(--fs-mtit-d);
  line-height: var(--lh-mtit-d);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--c-mtit);
  margin: 0;
}

.c-footer__menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.c-footer__menu-list a {
  font-family: var(--ff-mlnk);
  font-weight: var(--fw-mlnk);
  font-size: var(--fs-mlnk-d);
  line-height: var(--lh-mlnk-d);
  color: var(--c-mlnk);
  text-decoration: none;
  transition: color 0.2s ease;
}
.c-footer__menu-list a:hover { color: var(--c-mhvr); }

.c-footer__row--bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 35px;
  padding-top: 24px;
  border-top: var(--blin-d) var(--b-style) var(--c-line);
}

.c-footer__copy,
.c-footer__cities {
  font-family: var(--ff-mlnk);
  font-weight: var(--fw-mlnk);
  font-size: var(--fs-mlnk-d);
  line-height: var(--lh-mlnk-d);
  color: var(--c-bot);
}

/* ================= TABLET (<= 1024px) ================= */
@media (max-width: 1024px) {
  .c-footer__wrap { gap: var(--gap-row-m); }
  .c-footer__row--top, .c-footer__row--middle { gap: var(--gap-col-d); }
  .c-footer__col-menus { grid-template-columns: repeat(2, 1fr); }
}

/* ================= MOBILE (<= 768px) ================= */
@media (max-width: 768px) {
  .c-footer {
    border-radius: var(--rad-tl-m) var(--rad-tr-m) var(--rad-br-m) var(--rad-bl-m);
    border-top-width: var(--bw-t-m);
    border-right-width: var(--bw-r-m);
    border-bottom-width: var(--bw-b-m);
    border-left-width: var(--bw-l-m);
  }

  .c-footer__wrap {
    padding: var(--pt-m) var(--pr-m) var(--pb-m) var(--pl-m);
  }
  
  .c-footer__shape-overlay {
    top: var(--sh-y-m); left: var(--sh-x-m);
    width: var(--sh-w-m); height: var(--sh-h-m);
  }

  .c-footer__row--top,
  .c-footer__row--middle {
    grid-template-columns: 1fr;
    gap: var(--gap-col-m);
  }

  .c-footer__col-news-txt { text-align: var(--al-nt-m); }
  .c-footer__form-btn { align-self: var(--al-sb-m); }
  .c-footer__col-brand { text-align: var(--al-br-txt-m); align-items: var(--al-br-flex-m); }
  .c-footer__social-btn { align-self: var(--al-so-m); }

  .c-footer__news-heading { font-size: var(--fs-nt-m); line-height: var(--lh-nt-m); }
  .c-footer__news-subheading { font-size: var(--fs-ns-m); line-height: var(--lh-ns-m); }
  .c-footer__news-desc { font-size: var(--fs-nd-m); line-height: var(--lh-nd-m); }
  .c-footer__logo-img { height: var(--l-hm); }

  .c-footer__form-label { font-size: var(--fs-flbl-m); line-height: var(--lh-flbl-m); }
  .c-footer__form-input { font-size: var(--fs-finp-m); line-height: var(--lh-finp-m); }
  .c-footer__form-btn { font-size: var(--fs-fbtn-m); line-height: var(--lh-fbtn-m); }
  .c-footer__brand-desc { font-size: var(--fs-sum-m); line-height: var(--lh-sum-m); }
  .c-footer__social-btn { font-size: var(--fs-soc-m); line-height: var(--lh-soc-m); }
  .c-footer__menu-tit { font-size: var(--fs-mtit-m); line-height: var(--lh-mtit-m); }
  .c-footer__menu-list a, .c-footer__copy, .c-footer__cities { font-size: var(--fs-mlnk-m); line-height: var(--lh-mlnk-m); }

  .c-footer__row--bottom {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    border-top-width: var(--blin-m);
  }
}