/* ── Contacto Section (reusable) ── */
.contacto {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: clamp(64px, 7.81vw, 150px) clamp(20px, 10.7vw, 206px)
    clamp(56px, 6vw, 120px);
  display: grid;
  row-gap: clamp(40px, 6.25vw, 120px);
  margin-bottom: var(--footer-height, 328px);
}

/* Background modifiers */
.contacto--home {
  background: var(--bg);
}

.contacto--internal {
  background: var(--bg-page);
}

/* ── Contact grid ── */
.contacto__grid {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(340px, 1fr);
  gap: clamp(20px, 3vw, 56px);
  align-items: stretch;
}

.contacto__text {
  color: var(--red);
  font-family: "Poppins", Arial, sans-serif;
  font-size: var(--fs-heading-sm);
  line-height: clamp(34px, 3.32vw, 63.69px);
}

.contacto__text p {
  margin: 0 0 0.15em;
}

.contacto__text p:last-child {
  margin-bottom: 0;
}

/* ── Newsletter ── */
.contacto__newsletter {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  gap: clamp(10px, 1.2vw, 22px);
}

.contacto__newsletter-copy {
  color: var(--red);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-size: var(--fs-body-lg);
  line-height: clamp(24px, 1.67vw, 32px);
  max-width: 42ch;
  margin: 0;
}

.contacto__newsletter-form {
  display: flex;
  gap: clamp(10px, 1.2vw, 18px);
  border-bottom: 2px solid var(--red);
  padding-bottom: 8px;
}

.contacto__newsletter-input {
  flex: 1;
  background: none;
  border: none;
  outline: none;
  color: var(--gray);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-size: var(--fs-body);
  line-height: 1.2;
}

.contacto__newsletter-input::placeholder {
  color: var(--gray);
}

.contacto__newsletter-btn {
  background: none;
  border: none;
  color: var(--red);
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-size: var(--fs-body);
  line-height: 1.2;
  letter-spacing: 0.03em;
  cursor: pointer;
}

/* ── Links ── */
.contacto__links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: clamp(10px, 1.2vw, 20px);
}

.contacto__link {
  color: var(--red);
  text-decoration: underline;
  text-underline-offset: 3px;
  font-family: "Acumin Variable Concept", Arial, sans-serif;
  font-size: var(--fs-body-lg);
  line-height: clamp(22px, 1.67vw, 32px);
  white-space: nowrap;
}

/* ── Responsive ── */
@media (max-width: 1024px) {
  .contacto {
    padding-inline: clamp(20px, 6vw, 72px);
  }

  .contacto__grid {
    grid-template-columns: 1fr;
  }

  .contacto__newsletter-form {
    margin-top: clamp(12px, 2vw, 20px);
  }
}

@media (max-width: 767px) {
  .contacto {
    padding-inline: 20px;
  }

  .contacto__links {
    flex-direction: column;
    align-items: flex-start;
  }
}
