/* ─── Footer shell ─────────────────────────────────────────────── */
.footer {
  background-color: var(--primary);
  color: var(--primary-ultra-light);
  padding-top: var(--space-l);
  padding-bottom: var(--space-s);
  padding-inline: var(--gutter);
}

.footer__container {
  display: flex;
  flex-direction: column;
  row-gap: var(--content-gap);
}

/* ─── Top slogan ───────────────────────────────────────────────── */
.footer__heading {
  font-family: 'swear-display', var(--font-serif, serif);
  color: var(--white);
  font-size: var(--h1);
}

/* ─── Dividers ─────────────────────────────────────────────────── */
.footer__divider {
  width: 100%;
  height: 1px;
  border: 0;
  background-color: color-mix(in srgb, var(--neutral) 10%, transparent);
  margin: 0;
}

.footer__divider-bottom {
  display: none;
}

@media (max-width: 478px) {
  .footer__divider-bottom {
    display: block;
  }
}

/* ─── Main row: logo + menus + newsletter ──────────────────────── */
.footer__container-main {
  display: grid;
  grid-template-columns: var(--grid-2);
  grid-gap: var(--grid-gap);
  column-gap: var(--space-l);
  row-gap: var(--content-gap);
  align-items: start;
}

@media (max-width: 991px) {
  .footer__container-main {
    column-gap: var(--space-xs);
  }
}

@media (max-width: 767px) {
  .footer__container-main {
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 478px) {
  .footer__container-main {
    grid-template-columns: var(--grid-1);
  }
}

.footer__left-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: var(--space-l);
}

@media (max-width: 991px) {
  .footer__left-container {
    flex-direction: column;
  }
}

.footer__logo .site-logo {
  width: 250px;
  height: auto;
}

.footer__menus-container {
  display: flex;
  flex-direction: row;
  column-gap: var(--space-l);
  width: auto;
}

@media (max-width: 991px) {
  .footer__menus-container {
    column-gap: var(--space-s);
    width: max-content;
  }
}

@media (max-width: 767px) {
  .footer__menus-container {
    width: 100%;
  }
}

.footer__menu-section {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-s);
  align-items: flex-start;
  width: auto;
  padding: 0;
}

.footer__menu-heading {
  text-transform: uppercase;
  font-size: var(--text-m);
  color: var(--white);
  letter-spacing: 0.05em;
}

.footer__menu .nav-menu {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__menu .nav-menu > li {
  margin-left: 0;
}

.footer__menu .nav-menu > li > a {
  font-size: var(--text-m);
  color: color-mix(in srgb, var(--white) 80%, transparent);
}

.footer__menu .nav-menu > li:hover > a,
.footer__menu .nav-menu > li.current-menu-item > a:not([data-ws-anchor='true']) {
  text-decoration: underline;
  color: var(--neutral);
}

/* ─── Newsletter ───────────────────────────────────────────────── */
.footer__form-container {
  display: flex;
  flex-direction: column;
  row-gap: var(--space-xs);
  flex-grow: 1;
}

.footer__description {
  color: color-mix(in srgb, var(--white) 80%, transparent);
  font-size: var(--text-s);
}

.footer__description a {
  color: inherit;
}

.footer .form a,
.footer .form--light a {
  color: inherit;
  font-weight: 600;
  text-decoration: underline;
}

.footer__form {
  width: 100%;
}

/* WS Form: push terms/options below the submit button */
.footer__form .form-group:has(.options-wrapper) {
  order: 3;
}

.footer__form .options-wrapper {
  margin-top: var(--space-xs);
  font-size: var(--text-xs);
}

/* ─── Bottom bar ───────────────────────────────────────────────── */
.footer__container-bot {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: var(--space-s);
}

@media (max-width: 767px) {
  .footer__container-bot {
    flex-direction: column-reverse;
    align-items: flex-start;
    row-gap: var(--space-m);
  }
}

.footer__credit-name {
  color: color-mix(in srgb, var(--white) 80%, transparent);
  font-size: var(--text-s);
}

.footer__menu-legal {
  margin-right: auto;
}

.footer__menu-legal .nav-menu {
  display: flex;
  flex-direction: row;
  gap: var(--space-s);
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer__menu-legal .nav-menu > li {
  margin-left: 0;
}

.footer__menu-legal .nav-menu > li > a {
  font-size: var(--text-s);
  color: color-mix(in srgb, var(--white) 80%, transparent);
}

.footer__menu-legal .nav-menu > li:hover > a {
  text-decoration: underline;
  color: var(--neutral);
}

@media (max-width: 767px) {
  .footer__menu-legal .nav-menu {
    flex-direction: column;
  }
}

/* ─── Social icons ─────────────────────────────────────────────── */
.footer__social-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  column-gap: var(--space-xs);
  width: auto;
}

.footer__icon {
  display: inline-flex;
  color: color-mix(in srgb, var(--neutral) 60%, transparent);
  transition: color 0.2s ease;
}

.footer__icon svg {
  width: 20px;
  height: 20px;
  display: block;
}

.footer__icon:hover {
  color: var(--secondary);
}
