/* ==========================================================================
   Footer (Framer "Footer Section")
   Desktop: info a la izquierda (máx. 243px) + dos menús en fila.
   Tablet: info arriba, menús en fila debajo. Teléfono: todo en columna.
   ========================================================================== */

@layer components {
  .site-footer {
    position: relative;
    z-index: 2;
    max-width: 1920px;
    margin-inline: auto;
    padding: 120px 12px 0;
  }

  .site-footer__container {
    display: flex;
    flex-direction: column;
    gap: 80px;
  }

  .site-footer__top {
    display: flex;
    flex-direction: column;
    gap: 100px;
  }

  .site-footer__info {
    display: flex;
    flex-direction: column;
    gap: 48px;
    max-width: 243px;
  }

  .site-footer__block {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .site-footer__label {
    color: var(--color-text-muted);
    font-size: 16px;
    line-height: 24px;
  }

  .site-footer__value {
    color: var(--color-text-soft);
    font-size: 16px;
    line-height: 24px;
  }

  .site-footer__contact {
    display: flex;
    flex-direction: column;
    color: var(--color-text);
    font-size: 16px;
    font-style: normal;
    line-height: 24px;

    a:hover {
      color: var(--color-accent);
    }
  }

  .site-footer__menus {
    display: flex;
    flex-direction: column;
    gap: 60px;
  }

  .site-footer__menu {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }

  .site-footer__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }

  .site-footer__bottom {
    display: flex;
    flex-direction: column;
  }

  /* Wordmark SVG (componente): el texto ocupa el recuadro de 1296×393 */
  .wordmark {
    width: 100%;
    height: auto;
    aspect-ratio: 3.3;
    overflow: visible;
    font-family: var(--font-display);
    font-size: 548px; /* altura de mayúsculas de Bebas Neue (≈0.71em) = alto del recuadro */
  }

  .site-footer__wordmark {
    opacity: 0.5;
  }

  .site-footer__copyright {
    padding-block: 40px 48px;
    color: var(--color-text-muted);
    font-size: 14px;
    line-height: 20px;
  }

  /* --- Tablet --- */
  @media (min-width: 810px) {
    .site-footer {
      padding-inline: 24px;
    }

    .site-footer__top {
      gap: 150px;
    }

    .site-footer__menus {
      flex-direction: row;
      gap: 128px;
    }

    .site-footer__menu {
      flex: 1;
      flex-direction: row;
    }
  }

  /* --- Desktop --- */
  @media (min-width: 1440px) {
    .site-footer {
      padding-inline: 72px;
    }

    .site-footer__top {
      flex-direction: row;
      gap: 25px;
    }

    .site-footer__info {
      flex: 1;
    }

    .site-footer__menus {
      flex: 1;
    }
  }
}
