/*
  DEV-03 — Footer final controlado
  Cargado después de todos los demás CSS.
*/

.site-footer {
  background: #050806;
}


/* =========================
   BLOQUES PRINCIPALES
   ========================= */

.site-footer .site-footer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.25rem;

  padding-block:
    clamp(2.75rem, 6vw, 5rem);
}

.site-footer .site-footer__brand,
.site-footer .site-footer__contact,
.site-footer .site-footer__social {
  min-width: 0;
}

.site-footer .site-footer__name,
.site-footer .site-footer__label {
  margin: 0 0 0.8rem;

  color: var(--text-primary);
  font-weight: 900;
}

.site-footer p {
  color: var(--text-secondary);
}

.site-footer .site-footer__contact a {
  color: var(--text-primary);
  overflow-wrap: anywhere;
}


/* =========================
   REDES — LISTA VERTICAL
   ========================= */

.site-footer .social-links {
  display: grid;
  grid-template-columns: 1fr;

  gap: 0.45rem;

  margin: 0;
  padding: 0;

  list-style: none;
}

.site-footer .social-links li {
  display: block;

  margin: 0;
  padding: 0;
}

.site-footer .social-links a {
  display: inline-flex;
  align-items: center;

  gap: 0.8rem;

  min-height: 44px;

  color: var(--text-primary);

  font-weight: 800;
  text-decoration: none;
}

.site-footer .social-links a:hover,
.site-footer .social-links a:focus-visible {
  color: var(--color-primary);
}

.site-footer .social-links__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 1.3rem;
  height: 1.3rem;

  flex: 0 0 1.3rem;

  color: var(--color-primary);
}

.site-footer .social-links__icon svg {
  display: block;

  width: 100%;
  height: 100%;

  fill: currentColor;
}


/* Eliminar cualquier flecha heredada */
.site-footer .social-links a::after {
  content: none;
  display: none;
}


/* =========================
   NAVEGACIÓN
   ========================= */

.site-footer .site-footer__nav {
  display: flex;
  flex-wrap: wrap;

  gap: 0.45rem 1.5rem;

  padding-block: 1.25rem;

  border-top: 1px solid var(--line);
}

.site-footer .site-footer__nav a {
  display: inline-flex;
  align-items: center;

  min-height: 44px;

  color: var(--text-secondary);

  font-weight: 700;
  text-decoration: none;
}

.site-footer .site-footer__nav a:hover,
.site-footer .site-footer__nav a:focus-visible {
  color: var(--color-primary);
}


/* =========================
   BANNER CREAURA
   ========================= */

.site-footer .site-footer__credit-band {
  display: block;

  width: 100%;

  margin: 0;

  background: #ffffff;

  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.site-footer .site-footer__credit {
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 96px;

  padding-block: 1.1rem;
}

.site-footer .creaura-credit {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  gap: 1rem;

  min-height: 48px;

  color: #142C63;

  text-decoration: none;
}

.site-footer .creaura-credit:hover,
.site-footer .creaura-credit:focus-visible {
  color: #142C63;
}

.site-footer .creaura-credit span {
  color: #142C63;

  font-size: 0.76rem;
  font-weight: 900;

  letter-spacing: 0.14em;

  white-space: nowrap;
}


/*
  NO deformar el logo.
  Sólo se limita la altura.
  El ancho siempre conserva su proporción natural.
*/
.site-footer .creaura-credit img {
  display: block;

  width: auto;
  height: auto;

  max-width: min(220px, 58vw);
  max-height: 58px;

  object-fit: contain;
}


/* =========================
   TABLET
   ========================= */

@media (min-width: 48rem) {

  .site-footer .site-footer__grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr);
  }

  .site-footer .site-footer__social {
    grid-column: 1 / -1;
  }
}


/* =========================
   DESKTOP
   ========================= */

@media (min-width: 64rem) {

  .site-footer .site-footer__grid {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(0, 1fr)
      minmax(0, 0.9fr);

    align-items: start;
  }

  .site-footer .site-footer__social {
    grid-column: auto;
  }
}


/* =========================
   SMARTPHONE
   ========================= */

@media (max-width: 47.999rem) {

  .site-footer .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer .site-footer__nav {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer .site-footer__credit {
    min-height: 84px;
  }

  .site-footer .creaura-credit {
    gap: 0.7rem;
  }

  .site-footer .creaura-credit img {
    max-width: 56vw;
    max-height: 50px;
  }
}


/* CREAURA CREDIT FIX BEGIN */

/*
  La franja CREAURA es el último elemento visual de toda la página.
  Fondo blanco, compacta y sin espacio negro posterior.
*/

footer.site-footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.site-footer .site-footer__credit-band {
  display: block !important;

  width: 100% !important;

  margin:
    0 !important;

  padding:
    0 !important;

  background:
    #ffffff !important;

  border-top:
    1px solid rgba(0, 0, 0, 0.08) !important;

  border-bottom:
    0 !important;
}

.site-footer .site-footer__credit {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 0 !important;

  min-height: 0 !important;

  margin:
    0 auto !important;

  padding:
    0.7rem 1.25rem !important;
}

.site-footer .creaura-credit {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  gap:
    0.75rem !important;

  min-height:
    0 !important;

  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #142C63 !important;

  line-height:
    1 !important;

  text-decoration:
    none !important;
}

.site-footer .creaura-credit span {
  margin:
    0 !important;

  padding:
    0 !important;

  color:
    #142C63 !important;

  font-size:
    0.72rem !important;

  font-weight:
    900 !important;

  line-height:
    1 !important;

  letter-spacing:
    0.14em !important;

  white-space:
    nowrap !important;
}


/*
  IMPORTANTE:
  No forzar ancho + alto simultáneamente.

  El archivo conserva su proporción intrínseca.
  Sólo limitamos su ALTURA visual para que la franja
  permanezca compacta.
*/

.site-footer .creaura-credit img,
.site-footer .creaura-credit__logo {
  display: block !important;

  width:
    auto !important;

  height:
    auto !important;

  max-width:
    150px !important;

  max-height:
    34px !important;

  margin:
    0 !important;

  padding:
    0 !important;

  object-fit:
    contain !important;

  object-position:
    center !important;

  transform:
    none !important;
}


/*
  Evitar espacio heredado después del último bloque.
*/

.site-footer > :last-child {
  margin-bottom:
    0 !important;
}

.site-footer .site-footer__credit-band:last-child {
  margin-bottom:
    0 !important;

  padding-bottom:
    0 !important;
}


/* Smartphone */

@media (max-width: 47.999rem) {

  .site-footer .site-footer__credit {
    padding:
      0.65rem 1rem !important;
  }

  .site-footer .creaura-credit {
    gap:
      0.55rem !important;
  }

  .site-footer .creaura-credit img,
  .site-footer .creaura-credit__logo {
    width:
      auto !important;

    height:
      auto !important;

    max-width:
      125px !important;

    max-height:
      30px !important;
  }
}

/* CREAURA CREDIT FIX END */

/* CREAURA TEXT CREDIT — START */

.site-footer__credit-band {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 64px !important;
    padding: 18px 24px !important;
    margin: 0 !important;
    background: #000000 !important;
    border: 0 !important;
    box-sizing: border-box !important;
}

.site-footer__credit-band img,
.site-footer__credit-logo,
.site-footer__credit-band picture {
    display: none !important;
}

.site-footer__credit-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    color: #E8F2FF !important;
    background: transparent !important;
    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.12em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.site-footer__credit-link:hover,
.site-footer__credit-link:focus-visible {
    color: #68F500 !important;
}

.site-footer__credit-link:focus-visible {
    outline: 2px solid #68F500 !important;
    outline-offset: 4px !important;
}

/* CREAURA TEXT CREDIT — END */

/* CREAURA CREDIT FINAL — START */

/* Crédito final integrado al footer: sin banner blanco */
footer.site-footer .site-footer__credit-band,
.site-footer .site-footer__credit-band,
.site-footer__credit-band {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    min-height: 72px !important;

    margin: 0 !important;
    padding: 14px 24px !important;

    background-color: #000000 !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    box-sizing: border-box !important;
}

/* No renderizar ningún logo/imagen del crédito */
footer.site-footer .site-footer__credit-band img,
footer.site-footer .site-footer__credit-band picture,
.site-footer__credit-logo {
    display: none !important;
}

/* Crédito textual */
footer.site-footer .site-footer__credit-link,
.site-footer .site-footer__credit-link,
.site-footer__credit-link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    min-height: 44px !important;

    margin: 0 !important;
    padding: 8px 12px !important;

    background: transparent !important;

    color: #E8F2FF !important;

    font-family: Montserrat, Arial, sans-serif !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: 0.13em !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

/* Hover/focus */
footer.site-footer .site-footer__credit-link:hover,
footer.site-footer .site-footer__credit-link:focus-visible,
.site-footer__credit-link:hover,
.site-footer__credit-link:focus-visible {
    color: #68F500 !important;
    background: transparent !important;
}

footer.site-footer .site-footer__credit-link:focus-visible,
.site-footer__credit-link:focus-visible {
    outline: 2px solid #68F500 !important;
    outline-offset: 4px !important;
}

/* CREAURA CREDIT FINAL — END */

/* CREAURA CREDIT RIGHT — START */

footer.site-footer .site-footer__credit-band,
.site-footer .site-footer__credit-band,
.site-footer__credit-band {
    justify-content: flex-end !important;
    text-align: right !important;
    padding-left: 24px !important;
    padding-right: 48px !important;
}

footer.site-footer .site-footer__credit-link,
.site-footer .site-footer__credit-link,
.site-footer__credit-link {
    justify-content: flex-end !important;
    text-align: right !important;
    text-transform: none !important;
}

/* CREAURA CREDIT RIGHT — END */
