/**
 * Sauleda Store global footer.
 * All rules are scoped to the footer so module output remains native elsewhere.
 */

#footer.footer {
  margin: 0;
  padding: 0;
  background: var(--sauleda-color-ink);
}

.sauleda-store-footer,
.sauleda-store-footer * {
  box-sizing: border-box;
}

.sauleda-store-footer {
  color: var(--sauleda-color-text);
  font-family: var(--sauleda-font-family);
}

.sauleda-footer-cta {
  position: relative;
  overflow: hidden;
  padding-block: clamp(2.5rem, 2.5rem);
  background:
    radial-gradient(circle at 12% 18%, rgb(184 40 40 / 34%), transparent 34rem),
    linear-gradient(125deg, #161615 0%, #2b2825 54%, #171716 100%);
  color: #fff;
}

.sauleda-footer-cta::after {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgb(255 255 255 / 3%) 1px, transparent 1px),
    linear-gradient(90deg, rgb(255 255 255 / 3%) 1px, transparent 1px);
  background-size: 4rem 4rem;
  content: "";
  pointer-events: none;
}

.sauleda-footer-cta__grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(20rem, 0.9fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.sauleda-footer-cta__copy {
  max-width: 40rem;
}

.sauleda-footer-cta__eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
  color: rgb(255 255 255 / 74%);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.sauleda-footer-cta__eyebrow::before {
  width: 2rem;
  height: 0.125rem;
  background: var(--sauleda-color-primary);
  content: "";
}

.sauleda-footer-cta__copy h2 {
  max-width: 12ch;
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: clamp(2.35rem, 5vw, 4.75rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.03;
}

.sauleda-footer-cta__copy > p:not(.sauleda-footer-cta__eyebrow) {
  max-width: 34rem;
  margin: 0;
  color: rgb(255 255 255 / 78%);
  font-size: clamp(0.95rem, 1.3vw, 1.1rem);
  line-height: 1.7;
}

.sauleda-footer-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 2rem;
}

.sauleda-footer-cta__actions .btn {
  display: inline-flex;
  min-height: 2.875rem;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border: 0.09375rem solid transparent;
  border-radius: var(--sauleda-radius-pill);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.035em;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color var(--sauleda-transition-fast),
    border-color var(--sauleda-transition-fast), color var(--sauleda-transition-fast),
    transform var(--sauleda-transition-fast);
}

.sauleda-footer-cta__actions .btn:hover {
  transform: translateY(-0.125rem);
}

.sauleda-footer-cta__primary {
  border-color: var(--sauleda-color-primary);
  background: var(--sauleda-color-primary);
  color: #fff;
}

.sauleda-footer-cta__primary:hover {
  border-color: var(--sauleda-color-primary-dark);
  background: var(--sauleda-color-primary-dark);
  color: #fff;
}

.sauleda-footer-cta__secondary {
  border-color: rgb(255 255 255 / 72%);
  background: transparent;
  color: #fff;
}

.sauleda-footer-cta__secondary:hover {
  border-color: #fff;
  background: #fff;
  color: var(--sauleda-color-ink);
}

.sauleda-footer-contact-card {
  width: 100%;
  max-width: 31rem;
  margin-left: auto;
  padding: clamp(1.35rem, 3vw, 2.25rem);
  border: 1px solid rgb(255 255 255 / 52%);
  border-radius: var(--sauleda-radius-card);
  background: rgb(243 243 244 / 96%);
  box-shadow: 0 1.25rem 3.75rem rgb(0 0 0 / 28%);
  color: var(--sauleda-color-text);
}

.sauleda-footer-contact-card h2 {
  margin: 0 0 0.35rem;
  color: var(--sauleda-color-ink);
  font-size: clamp(1.25rem, 2.3vw, 1.55rem);
  font-weight: 700;
  letter-spacing: -0.025em;
}

.sauleda-footer-contact-card > p {
  margin: 0 0 1.1rem;
  color: var(--sauleda-color-text);
  font-size: 0.875rem;
  line-height: 1.55;
}

.sauleda-footer-contact-card__message {
  padding: 0.75rem 0.875rem;
  border-radius: 0.5rem;
  font-weight: 600;
}

.sauleda-footer-contact-card__message--success {
  border: 1px solid #3f7f56;
  background: #e7f4eb;
  color: #245a37;
}

.sauleda-footer-contact-card__message--error {
  border: 1px solid #a73535;
  background: #fbeaea;
  color: #781f1f;
}

.sauleda-footer-contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.875rem;
}

.sauleda-footer-contact-form__row {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0.35rem;
}

.sauleda-footer-contact-form__row:nth-of-type(4) {
  grid-column: 1 / -1;
}

.sauleda-footer-contact-form label {
  margin: 0;
  color: var(--sauleda-color-text);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.sauleda-footer-contact-form input[type="text"],
.sauleda-footer-contact-form input[type="email"],
.sauleda-footer-contact-form select,
.sauleda-footer-contact-form textarea {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--sauleda-color-border);
  border-radius: 0.5rem;
  background: #fff;
  color: var(--sauleda-color-ink);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.4;
}

.sauleda-footer-contact-form textarea {
  min-height: 5.5rem;
  resize: vertical;
}

.sauleda-footer-contact-form__consent {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  gap: 0.625rem;
  align-items: start;
  cursor: pointer;
  letter-spacing: 0;
  line-height: 1.5;
  text-transform: none;
}

.sauleda-footer-contact-form__consent input {
  width: 1.125rem;
  height: 1.125rem;
  margin: 0.1rem 0 0;
  accent-color: var(--sauleda-color-primary);
}

.sauleda-footer-contact-form__honeypot {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.sauleda-footer-contact-form__submit {
  grid-column: 1 / -1;
  justify-self: start;
  min-height: 2.75rem;
  padding: 0.7rem 1.5rem;
  border: 1px solid var(--sauleda-color-primary);
  border-radius: var(--sauleda-radius-pill);
  background: var(--sauleda-color-primary);
  color: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  transition: background-color var(--sauleda-transition-fast),
    border-color var(--sauleda-transition-fast), transform var(--sauleda-transition-fast);
}

.sauleda-footer-contact-form__submit:hover {
  border-color: var(--sauleda-color-primary-dark);
  background: var(--sauleda-color-primary-dark);
  transform: translateY(-0.125rem);
}

.sauleda-footer-cta a:focus-visible,
.sauleda-footer-cta button:focus-visible,
.sauleda-footer-cta input:focus-visible,
.sauleda-footer-cta select:focus-visible,
.sauleda-footer-cta textarea:focus-visible,
.sauleda-store-footer__panel a:focus-visible,
.sauleda-store-footer__legal a:focus-visible {
  outline: 0.1875rem solid #fff;
  outline-offset: 0.1875rem;
  box-shadow: 0 0 0 0.1875rem var(--sauleda-color-primary);
}

.sauleda-footer-contact-card input:focus-visible,
.sauleda-footer-contact-card select:focus-visible,
.sauleda-footer-contact-card textarea:focus-visible {
  border-color: var(--sauleda-color-primary);
  outline-color: var(--sauleda-color-primary);
  box-shadow: var(--sauleda-focus-ring);
}

.sauleda-store-footer__panel {
  padding-block: clamp(3.25rem, 6vw, 5.25rem);
  border-top: 1px solid #fff;
  background: var(--sauleda-color-surface-soft);
}

.sauleda-store-footer__intro {
  align-items: center;
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
  border-bottom: 1px solid var(--sauleda-color-border);
}

.sauleda-store-footer__brand {
  padding-right: clamp(1rem, 4vw, 4rem);
}

.sauleda-store-footer__logo {
  margin-bottom: 1.25rem;
}

.sauleda-store-footer__logo .navbar-brand {
  display: inline-flex;
  margin: 0;
  padding: 0;
}

.sauleda-store-footer__logo img {
  display: block;
  width: auto;
  height: clamp(2rem, 4vw, 2.75rem);
}

.sauleda-store-footer__brand > p {
  max-width: 34rem;
  margin: 0;
  color: var(--sauleda-color-text);
  font-size: 0.9375rem;
  line-height: 1.75;
}

.sauleda-store-footer__group h2,
.sauleda-store-footer__navigation h2 {
  margin: 0 0 1.1rem;
  color: var(--sauleda-color-ink);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.35;
  text-transform: uppercase;
}

.sauleda-store-footer__group ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sauleda-store-footer__group li {
  display: flex;
  min-height: 5.75rem;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border: 1px solid var(--sauleda-color-border);
  border-radius: 0.625rem;
  background: #fff;
}

.sauleda-store-footer__group img {
  display: block;
  width: 100%;
  max-width: 12rem;
  height: 3.5rem;
  object-fit: contain;
}

.sauleda-store-footer__navigation {
  padding-top: clamp(2.5rem, 5vw, 4rem);
}

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

.sauleda-store-footer__navigation li + li {
  margin-top: 0.65rem;
}

.sauleda-store-footer__navigation a,
.sauleda-store-footer__navigation address,
.sauleda-store-footer__navigation p {
  color: var(--sauleda-color-text);
  font-size: 0.875rem;
  font-style: normal;
  line-height: 1.6;
}

.sauleda-store-footer__navigation p,
.sauleda-store-footer__navigation address {
  margin: 0 0 0.65rem;
}

.sauleda-store-footer__navigation a {
  text-decoration: none;
  transition: color var(--sauleda-transition-fast);
}

.sauleda-store-footer__navigation a:hover {
  color: var(--sauleda-color-primary-dark);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.sauleda-store-footer__navigation h2 a {
  color: var(--sauleda-color-ink);
  font-size: inherit;
}

.sauleda-store-footer__reassurance {
  border-top: 1px solid var(--sauleda-color-border);
  background: #fff;
}

.sauleda-store-footer__reassurance .blockreassurance {
  margin: 0;
}

.sauleda-store-footer__legal {
  background: var(--sauleda-color-ink);
  color: rgb(255 255 255 / 72%);
}

.sauleda-store-footer__legal-inner {
  display: grid;
  min-height: 5rem;
  grid-template-columns: 1fr auto auto;
  gap: 1.5rem;
  align-items: center;
  padding-block: 1rem;
}

.sauleda-store-footer__legal p {
  margin: 0;
  color: inherit;
  font-size: 0.75rem;
}

.sauleda-store-footer__legal nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
}

.sauleda-store-footer__legal a {
  color: #fff;
  font-size: 0.75rem;
  text-decoration: none;
}

.sauleda-store-footer__legal nav a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.sauleda-store-footer__back-to-top {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  align-items: center;
  justify-content: center;
  border: 1px solid rgb(255 255 255 / 42%);
  border-radius: 50%;
  font-size: 1.2rem;
  transition: background-color var(--sauleda-transition-fast),
    border-color var(--sauleda-transition-fast);
}

.sauleda-store-footer__back-to-top:hover {
  border-color: var(--sauleda-color-primary);
  background: var(--sauleda-color-primary);
  color: #fff;
}

@media (max-width: 991.98px) {
  .sauleda-footer-cta__grid {
    grid-template-columns: 1fr;
  }

  .sauleda-footer-contact-card {
    max-width: none;
    margin-left: 0;
  }

  .sauleda-store-footer__group {
    margin-top: 2rem;
  }
}

@media (max-width: 767.98px) {
  .sauleda-store-footer__group ul {
    grid-template-columns: 1fr;
  }

  .sauleda-store-footer__group li {
    min-height: 5rem;
  }

  .sauleda-store-footer__navigation > * + * {
    margin-top: 1.75rem;
  }

  .sauleda-store-footer__legal-inner {
    grid-template-columns: 1fr auto;
  }

  .sauleda-store-footer__legal nav {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .sauleda-store-footer__back-to-top {
    grid-column: 2;
    grid-row: 1;
  }
}

@media (max-width: 575.98px) {
  .sauleda-footer-contact-form {
    grid-template-columns: 1fr;
  }

  .sauleda-footer-contact-form__row:nth-of-type(4),
  .sauleda-footer-contact-form__consent,
  .sauleda-footer-contact-form__submit {
    grid-column: auto;
  }

  .sauleda-footer-cta__actions {
    align-items: stretch;
    flex-direction: column;
  }

  .sauleda-footer-cta__actions .btn {
    width: 100%;
  }

  .sauleda-footer-contact-form__submit {
    width: 100%;
    justify-self: stretch;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sauleda-store-footer *,
  .sauleda-store-footer *::before,
  .sauleda-store-footer *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
  }
}

/* SAULEDA FOOTER REFERENCE V1 · INICIO */


/* =========================================================
   ZONA BLANCA PRINCIPAL
   ========================================================= */

.sauleda-reference-footer {

  background:
    #f4f4f4;

  color:
    #514e4a;
}


.sauleda-reference-footer__inner {

  box-sizing:
    border-box;

  width:
    min(1118px, calc(100% - 48px));

  margin:
    0 auto;

  padding:
    62px 0 48px;
}


.sauleda-reference-footer__grid {

  display:
    grid;

  grid-template-columns:
    minmax(260px, 1.65fr)
    minmax(140px, .9fr)
    minmax(140px, .9fr)
    minmax(220px, 1fr);

  align-items:
    start;

  column-gap:
    clamp(46px, 5vw, 92px);
}


/* =========================================================
   MARCA
   ========================================================= */

.sauleda-reference-footer__brand {

  max-width:
    285px;
}


.sauleda-reference-footer__brand h2 {

  margin:
    0 0 15px;

  color:
    #c62728;

  font-size:
    17px;

  font-weight:
    700;

  line-height:
    1.15;
}


.sauleda-reference-footer__brand p {

  margin:
    0;

  color:
    #5e5a56;

  font-size:
    13px;

  font-weight:
    400;

  line-height:
    1.65;
}


/* =========================================================
   LOS DOS BLOQUES DE PS_LINKLIST SE CONVIERTEN
   EN COLUMNAS REALES DEL GRID
   ========================================================= */

.sauleda-reference-footer__linklists {

  display:
    contents;
}


.sauleda-reference-footer__linklists > * {

  box-sizing:
    border-box !important;

  width:
    auto !important;

  max-width:
    none !important;

  flex:
    none !important;

  padding:
    0 !important;

  margin:
    0 !important;
}


/* =========================================================
   CONTACT INFO
   ========================================================= */

.sauleda-reference-footer
.sauleda-footer-contact-info {

  box-sizing:
    border-box !important;

  width:
    auto !important;

  max-width:
    none !important;

  flex:
    none !important;

  padding:
    0 !important;

  margin:
    0 !important;
}


/* =========================================================
   TÍTULOS DE COLUMNAS
   ========================================================= */

.sauleda-reference-footer
:is(
  h2,
  h3,
  h4,
  .h2,
  .h3,
  .h4,
  .block-contact-title,
  .block-links-title
) {

  margin:
    0 0 18px !important;

  color:
    #292725 !important;

  font-size:
    10px !important;

  font-weight:
    700 !important;

  line-height:
    1.2 !important;

  letter-spacing:
    .18em !important;

  text-transform:
    uppercase !important;
}


/*
 * El nombre Sauleda USA NO debe heredar
 * el estilo de título de columna.
 */
.sauleda-reference-footer
.sauleda-reference-footer__brand h2 {

  margin:
    0 0 15px !important;

  color:
    #c62728 !important;

  font-size:
    17px !important;

  letter-spacing:
    0 !important;

  text-transform:
    none !important;
}


/* =========================================================
   LISTAS Y ENLACES
   ========================================================= */

.sauleda-reference-footer ul {

  margin:
    0 !important;

  padding:
    0 !important;

  list-style:
    none !important;
}


.sauleda-reference-footer li {

  margin:
    0 0 12px !important;

  padding:
    0 !important;
}


.sauleda-reference-footer a {

  color:
    #57534f !important;

  font-size:
    13px;

  font-weight:
    400;

  line-height:
    1.45;

  text-decoration:
    none !important;

  transition:
    color 120ms ease-out;
}


.sauleda-reference-footer a:hover,
.sauleda-reference-footer a:focus {

  color:
    #c62728 !important;

  text-decoration:
    none !important;
}


/* =========================================================
   CONTACTO
   ========================================================= */

.sauleda-reference-footer
.sauleda-footer-contact-info p {

  margin:
    0 0 12px !important;

  color:
    #57534f;

  font-size:
    13px;

  line-height:
    1.55;
}


/* =========================================================
   FUERA ELEMENTOS QUE NO EXISTEN EN LA REFERENCIA
   ========================================================= */

.sauleda-store-footer__reassurance {

  display:
    none !important;
}


/* =========================================================
   FRANJA LEGAL EXISTENTE
   La conservamos funcional, pero con geometría de referencia.
   ========================================================= */

.sauleda-store-footer__legal {

  background:
    #f4f4f4 !important;

  color:
    #918c87 !important;

  padding:
    0 0 22px !important;
}


.sauleda-store-footer__legal-inner {

  box-sizing:
    border-box;

  width:
    min(1118px, calc(100% - 48px)) !important;

  max-width:
    none !important;

  margin:
    0 auto !important;

  padding:
    21px 0 0 !important;

  border-top:
    1px solid #d8d3ce;

  display:
    flex;

  align-items:
    center;

  justify-content:
    space-between;

  gap:
    28px;
}


.sauleda-store-footer__legal p {

  margin:
    0 !important;

  color:
    #918c87 !important;

  font-size:
    11px !important;
}


.sauleda-store-footer__legal nav {

  display:
    flex;

  align-items:
    center;

  gap:
    24px;
}


.sauleda-store-footer__legal a {

  color:
    #918c87 !important;

  font-size:
    11px !important;

  text-decoration:
    none !important;
}


.sauleda-store-footer__legal a:hover,
.sauleda-store-footer__legal a:focus {

  color:
    #c62728 !important;
}


/*
 * La referencia no tiene flecha flotante en esta zona.
 */
.sauleda-store-footer__back-to-top {

  display:
    none !important;
}


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

@media (max-width: 900px) {

  .sauleda-reference-footer__grid {

    grid-template-columns:
      1.4fr
      1fr
      1fr;

    row-gap:
      44px;
  }


  .sauleda-reference-footer__brand {

    grid-column:
      1 / -1;

    max-width:
      430px;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 640px) {

  .sauleda-reference-footer__inner {

    width:
      min(100% - 32px, 1118px);

    padding:
      42px 0 34px;
  }


  .sauleda-reference-footer__grid {

    grid-template-columns:
      1fr;

    row-gap:
      34px;
  }


  .sauleda-reference-footer__brand {

    grid-column:
      auto;
  }


  .sauleda-reference-footer__linklists {

    display:
      contents;
  }


  .sauleda-store-footer__legal {

    padding-bottom:
      18px !important;
  }


  .sauleda-store-footer__legal-inner {

    width:
      calc(100% - 32px) !important;

    padding-top:
      18px !important;

    flex-direction:
      column;

    align-items:
      flex-start;

    gap:
      14px;
  }


  .sauleda-store-footer__legal nav {

    flex-wrap:
      wrap;

    gap:
      12px 20px;
  }

}

/* SAULEDA FOOTER REFERENCE V1 · FIN */

/* SAULEDA FOOTER CTA REFERENCE V2 · INICIO */


/* =========================================================
   CTA SUPERIOR DEL FOOTER

   Referencia original:

   min-height: 540px
   background-size: cover
   background-position: center 50%

   overlay:
   rgba(26,26,24,.65) -> rgba(26,26,24,.25)
   ========================================================= */

.sauleda-footer-reference-cta {

  position:
    relative !important;

  min-height:
    540px !important;

  overflow:
    hidden !important;

  /*
   * El shorthand elimina también la cuadrícula/fondos
   * inventados que pudiera tener la implementación actual.
   */
  background:
    #5b5953
    url("../img/footer/footer-cta-bg.jpg")
    center 50%
    / cover
    no-repeat
    !important;
}


/*
 * Overlay EXACTO de la muestra.
 */
.sauleda-footer-reference-cta::before {

  content:
    "";

  position:
    absolute;

  inset:
    0;

  z-index:
    0;

  pointer-events:
    none;

  background:
    linear-gradient(
      to top,
      rgba(26, 26, 24, .65) 0%,
      rgba(26, 26, 24, .25) 100%
    );
}


/*
 * Todo el contenido —texto y tarjeta— queda por encima.
 */
.sauleda-footer-reference-cta > * {

  position:
    relative;

  z-index:
    1;
}


/*
 * La tarjeta que ya tenemos se conserva.
 * Solo garantizamos que siga por encima del overlay.
 */
.sauleda-footer-reference-cta
.sauleda-footer-contact-card {

  position:
    relative;

  z-index:
    2;
}


/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 768px) {

  .sauleda-footer-reference-cta {

    min-height:
      auto !important;

    background-position:
      center center !important;
  }

}

/* SAULEDA FOOTER CTA REFERENCE V2 · FIN */

/* SAULEDA FOOTER CTA GEOMETRY V3 · INICIO */


/* =========================================================
   ESTRUCTURA PRINCIPAL
   Referencia original:
   max-width 1240px
   padding 80px 5%
   columnas 1.15fr / 1fr
   gap 48px
   ========================================================= */

.sauleda-footer-reference-cta
.sauleda-footer-cta__grid {

  box-sizing:
    border-box !important;

  width:
    100% !important;

  max-width:
    1240px !important;

  min-height:
    540px;

  margin:
    0 auto !important;

  padding:
    80px 5% !important;

  display:
    grid !important;

  grid-template-columns:
    1.15fr 1fr !important;

  gap:
    48px !important;

  align-items:
    center !important;
}


/* =========================================================
   COLUMNA IZQUIERDA
   ========================================================= */

.sauleda-footer-reference-cta
.sauleda-footer-cta__copy {

  align-self:
    center;

  max-width:
    560px;

  color:
    #fff;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__eyebrow {

  display:
    flex;

  align-items:
    center;

  gap:
    10px;

  margin:
    0 0 22px !important;

  color:
    rgba(255,255,255,.92) !important;

  font-size:
    11px !important;

  font-weight:
    600 !important;

  line-height:
    1.2;

  letter-spacing:
    .18em;

  text-transform:
    uppercase;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__eyebrow::before {

  content:
    "";

  width:
    5px;

  height:
    5px;

  flex:
    0 0 5px;

  border-radius:
    50%;

  background:
    #fff;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__copy h2 {

  max-width:
    540px;

  margin:
    0 0 32px !important;

  color:
    #fff !important;

  font-size:
    clamp(42px, 4.1vw, 64px) !important;

  font-weight:
    400 !important;

  line-height:
    .98 !important;

  letter-spacing:
    -.035em !important;
}


/*
 * La muestra no lleva este párrafo descriptivo.
 * Se conserva en el HTML, pero no se muestra.
 */
.sauleda-footer-reference-cta
.sauleda-footer-cta__copy > p:not(.sauleda-footer-cta__eyebrow) {

  display:
    none !important;
}


/* =========================================================
   BOTONES
   ========================================================= */

.sauleda-footer-reference-cta
.sauleda-footer-cta__actions {

  display:
    flex !important;

  align-items:
    center;

  flex-wrap:
    wrap;

  gap:
    12px !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__actions .btn {

  min-height:
    42px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  padding:
    10px 22px !important;

  border-radius:
    999px !important;

  font-size:
    12px !important;

  font-weight:
    600 !important;

  line-height:
    1;

  text-decoration:
    none !important;

  box-shadow:
    none !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__primary {

  border:
    1px solid #c7222a !important;

  background:
    #c7222a !important;

  color:
    #fff !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__primary:hover {

  border-color:
    #aa1920 !important;

  background:
    #aa1920 !important;

  color:
    #fff !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__secondary {

  border:
    1px solid rgba(255,255,255,.82) !important;

  background:
    transparent !important;

  color:
    #fff !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-cta__secondary:hover {

  background:
    rgba(255,255,255,.12) !important;

  color:
    #fff !important;
}


/* =========================================================
   TARJETA DERECHA
   Conservamos inputs / textarea / checkbox / submit.
   Solo ajustamos la carcasa.
   ========================================================= */

.sauleda-footer-reference-cta
.sauleda-footer-contact-card {

  box-sizing:
    border-box;

  width:
    100% !important;

  max-width:
    440px !important;

  margin:
    0 0 0 auto !important;

  padding:
    28px 26px !important;

  border:
    1px solid rgba(255,255,255,.50) !important;

  border-radius:
    22px !important;

  background:
    rgba(243,243,244,.94) !important;

  backdrop-filter:
    blur(16px);

  -webkit-backdrop-filter:
    blur(16px);

  box-shadow:
    0 16px 40px rgba(0,0,0,.16) !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-contact-card > h2 {

  margin:
    0 0 8px !important;

  color:
    #292725 !important;

  font-size:
    24px !important;

  font-weight:
    500 !important;

  line-height:
    1.15 !important;

  letter-spacing:
    -.025em !important;
}


.sauleda-footer-reference-cta
.sauleda-footer-contact-card > p {

  margin:
    0 0 20px !important;

  color:
    #78736e !important;

  font-size:
    12px !important;

  line-height:
    1.5 !important;
}


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

@media (max-width: 900px) {

  .sauleda-footer-reference-cta
  .sauleda-footer-cta__grid {

    min-height:
      auto;

    padding:
      56px 5% !important;

    grid-template-columns:
      1fr !important;

    gap:
      32px !important;
  }


  .sauleda-footer-reference-cta
  .sauleda-footer-contact-card {

    max-width:
      100% !important;

    margin:
      0 !important;
  }


  .sauleda-footer-reference-cta
  .sauleda-footer-cta__copy h2 {

    max-width:
      620px;

    font-size:
      clamp(40px, 8vw, 58px) !important;
  }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 540px) {

  .sauleda-footer-reference-cta
  .sauleda-footer-cta__grid {

    padding:
      44px 20px !important;

    gap:
      28px !important;
  }


  .sauleda-footer-reference-cta
  .sauleda-footer-cta__copy h2 {

    margin-bottom:
      25px !important;

    font-size:
      40px !important;
  }


  .sauleda-footer-reference-cta
  .sauleda-footer-contact-card {

    padding:
      24px 20px !important;

    border-radius:
      18px !important;
  }

}

/* SAULEDA FOOTER CTA GEOMETRY V3 · FIN */

/* SAULEDA FOOTER BRAND LOGO LOCAL V2 · INICIO */

.sauleda-reference-footer__brand-logo {
  margin: 0 0 22px;
}


.sauleda-reference-footer__brand-logo img {
  display: block;

  width: auto !important;
  height: 24px !important;
  max-width: 150px !important;

  object-fit: contain;

  filter:
    brightness(0)
    saturate(100%)
    invert(16%)
    sepia(97%)
    saturate(2837%)
    hue-rotate(356deg)
    brightness(92%)
    contrast(90%);
}

/* SAULEDA FOOTER BRAND LOGO LOCAL V2 · FIN */

/* SAULEDA CTA REFERENCE FIX V4 · INICIO */

.sauleda-footer-reference-cta {
  min-height: 540px !important;
}

.sauleda-footer-reference-cta .sauleda-footer-cta__grid {
  min-height: 540px !important;
  padding-block: clamp(2.5rem, 2.5rem) !important;
}

.sauleda-footer-reference-cta .sauleda-footer-cta__eyebrow::before {
  background: #c7222a !important;
}

.sauleda-footer-reference-cta .sauleda-footer-cta__copy h2 {
  font-size: clamp(46px, 3.4vw, 58px) !important;
  line-height: 1.01 !important;
  max-width: 520px !important;
}

.sauleda-footer-reference-cta
.sauleda-footer-contact-form__row:nth-of-type(3) {
  display: none !important;
}

.sauleda-footer-reference-cta .sauleda-footer-contact-card {
  padding: 24px 26px !important;
}

.sauleda-footer-reference-cta .sauleda-footer-contact-form {
  gap: 12px !important;
}

.sauleda-footer-reference-cta
.sauleda-footer-contact-form__row {
  gap: 4px !important;
}

.sauleda-footer-reference-cta
.sauleda-footer-contact-form textarea {
  min-height: 72px !important;
}

.sauleda-footer-reference-cta
.sauleda-footer-contact-form__submit {
  margin-top: 2px !important;
}

/* SAULEDA CTA REFERENCE FIX V4 · FIN */


/* SAULEDA GROUP LOGOS GLOBAL */

.sauleda-group-logos {
  padding: 44px 5%;
  background: #f3f3f4;
  border-top: 1px solid rgba(26,26,24,.12);
  border-bottom: 1px solid rgba(26,26,24,.12);
}

.sauleda-group-logos__label {
  margin-bottom: 28px;
  text-align: center;
  color: #8b8a83;
  font-size: .63rem;
  font-weight: 500;
  letter-spacing: .24em;
  text-transform: uppercase;
}

.sauleda-group-logos__track {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  align-items: center;
  gap: 20px;
  max-width: 1280px;
  margin: 0 auto;
}

.sauleda-group-logos__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  padding: 0 16px;
}

.sauleda-group-logos__item img {
  width: auto;
  max-width: 160px;
  max-height: 40px;
  object-fit: contain;
  filter: grayscale(100%);
  opacity: .7;
  transition:
    filter .3s ease,
    opacity .3s ease;
}

.sauleda-group-logos__item:nth-child(1) img {
  height: 26px;
  max-width: 120px;
  filter: brightness(0);
}

.sauleda-group-logos__item:nth-child(3) img {
  height: 30px;
  max-width: 110px;
}

.sauleda-group-logos__item:nth-child(4) img {
  height: 38px;
  max-width: 150px;
}

.sauleda-group-logos__item:nth-child(5) img {
  height: 48px;
  max-width: 190px;
}

.sauleda-group-logos__item:hover img {
  opacity: 1;
  filter: grayscale(0%);
}

.sauleda-group-logos__item:nth-child(1):hover img {
  filter: brightness(0);
}

@media (max-width:700px) {
  .sauleda-group-logos__track {
    grid-template-columns: repeat(2,1fr);
    gap: 14px;
  }
}

/* FIN SAULEDA GROUP LOGOS GLOBAL */

/* ===== SAULEDA GROUP LOGOS MOBILE NO PADDING START ===== */

@media (max-width: 61.999rem) {
  .sauleda-group-logos__item {
    padding: 0 !important;
  }
}

/* ===== SAULEDA GROUP LOGOS MOBILE NO PADDING END ===== */
