.footer-section {
  --footer-green: 53, 81, 61;
  --color-background: 53, 81, 61;
  overflow-x: clip;
  color: #fff;
}

.footer-section.page-section,
.footer-section.page-section::before {
  background: #35513D !important;
  background-color: #35513D !important;
}

.shopline-section:has(.footer-section) {
  position: relative;
  z-index: 1;
  background: #35513D;
  background-color: #35513D;
}

.footer-section.page-section {
  z-index: 1 !important;
}

.footer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.footer__group--contact {
  position: relative;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start !important;
  align-self: stretch;
  flex: 0 1 32%;
  gap: 20px;
  min-width: 0;
  max-width: 100%;
  min-height: 100%;
  padding-block-end: 8px;
}

.footer__brand {
  display: flex;
  flex-direction: column;
  margin-block-start: auto;
  padding-block-start: 40px;
  max-width: 100%;
  overflow: hidden;
  line-height: 0.92;
  text-transform: uppercase;
  user-select: none;
  pointer-events: none;
}

.footer__brand-line--top {
  font-size: clamp(1rem, 1.6vw, 1.25rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(255 255 255 / 0.35);
}

.footer__brand-line--bottom {
  font-size: clamp(2.25rem, 4vw, 3.5rem);
  font-weight: 300;
  letter-spacing: 0.04em;
  color: rgb(255 255 255 / 0.28);
}

.footer__group--info {
  flex: 1 1 0;
  min-width: 0;
  max-width: 100%;
}

.footer__group--info > .footer__navigation {
  width: auto !important;
  max-width: 100%;
}

.footer :is(.title3, .title4, .title5, .title6, .title7) {
  margin-block-end: 12px;
  color: #fff;
}

.footer__subscription {
  max-width: 22rem;
}

.footer__subscription > form:not(:first-child) {
  margin-block-start: 20px;
}

.footer__subscription .rte {
  margin-block-start: 8px;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgb(255 255 255 / 0.85);
}

.footer__subscription .field {
  margin-block-end: 0;
}

.footer__subscription .field__inner {
  --color-text: 255, 255, 255;
  --color-background: 42, 68, 52;
  --input-border-opacity: 0.55;
  display: flex;
  width: 100%;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 0.55);
  border-radius: 4px;
  background: rgb(42 68 52);
}

.footer__subscription .field__input {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
  border: none;
  background: transparent;
  color: #fff;
  box-shadow: none;
}

.footer__subscription .field__input::placeholder {
  opacity: 0.7;
  color: rgb(255 255 255 / 0.7);
}

.footer__subscription .field__suffix {
  height: 44px;
  padding: 0;
}

.footer__subscription .field__suffix .button {
  height: 100%;
  min-height: 44px;
  padding-inline: 18px;
  border: none;
  border-radius: 0;
  background: #fff !important;
  color: #111 !important;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.footer__subscription .field__suffix .button:hover {
  opacity: 0.92;
}

.footer__social-media {
  margin-block-start: 4px;
}

.footer__social-media .social-medias,
.footer__social-media .social-media {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: #fff;
}

.footer__social-media a {
  color: #fff;
  opacity: 0.95;
  transition: opacity 0.2s ease;
}

.footer__social-media a:hover {
  opacity: 0.7;
}

.footer__navigation {
  position: relative;
  min-width: 0;
  flex: 1 1 0;
}

.footer__navigation-title {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
}

.footer__navigation-title .icon {
  display: none;
}

.footer__navigation-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__navigation-item a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgb(255 255 255 / 0.9);
  text-decoration: none;
}

.footer__navigation-item a:hover {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (min-width: 960px) {
  .footer__navigation-title + .footer__navigation-content {
    margin-block-start: 20px;
  }

  .footer__subscription .field__input {
    width: auto;
  }
}

@media (max-width: 959px) {
  .footer__group--contact {
    padding-block-end: 24px;
  }

  .footer__brand {
    padding-block-start: 24px;
  }

  .footer__brand-line--bottom {
    font-size: 2.25rem;
  }

  .footer .footer__navigation-title {
    margin-block-end: 0;
  }

  .footer__navigation-title {
    padding-block: 14px;
  }

  .footer__navigation-title .icon {
    display: none;
  }

  .footer__navigation-title .icon-plus {
    display: inline;
  }

  .footer__navigation-title + .footer__navigation-content {
    height: 0;
    opacity: 0;
    overflow: hidden;
  }

  .footer__navigation-list {
    padding-block: 0 16px;
  }

  .footer__navigation[open] .footer__navigation-title .icon {
    display: none;
  }

  .footer__navigation[open] .footer__navigation-title .icon-minus {
    display: inline;
  }

  .footer__navigation[open] .footer__navigation-content {
    height: auto;
    opacity: 1;
  }

  .footer__navigation::after {
    content: '';
    position: absolute;
    inset-block-end: 0;
    inset-inline-start: 0;
    width: 100%;
    border-block-end: 1px solid rgb(255 255 255 / 0.18);
  }
}
