/* =========================================================================
   CONTACT PAGE — page-specific sections
   New components not already in sections.css:
   - contact-section-entrata (contact form on light bg + contact-info blocks)
   - locations-section (Google Map embed)
   Tokens come from tokens.css. Reuses shared .header/.breadcrumbs/.form.
   ========================================================================= */

/* ---------- SECTION: contact-section-entrata ---------- */
.contact-section-entrata { padding-left: var(--x-gap); padding-right: var(--x-gap); }
.contact-section-entrata .form-wrapper { max-width: 800px; margin: 0 auto; }
.contact-section-entrata .form-wrapper__content { text-align: center; margin-bottom: 1.5rem; }

/* The contact form sits on the light body background, so its inputs need dark
   borders/text (the shared .form__input in sections.css is white-on-dark for
   the footer-form band). Override scoped to this section. */
.contact-section-entrata .form__input {
  border: 1px solid #575757;
  background: transparent;
  color: #000;
  font-size: 14px;
}
.contact-section-entrata .form__input::placeholder { color: #757575; }
.contact-section-entrata .form__input--select { color: #757575; }
.contact-section-entrata .form__input--select option { color: #000; }
.contact-section-entrata .form__input--text-area {
  height: auto;
  min-height: 120px;
  padding: 0.75rem 1.5rem;
  resize: vertical;
}

.contact-section-entrata .form__group--2-col { grid-column: 1 / -1; }
.contact-section-entrata .form__submit-notice { font-size: 11px; line-height: 1.5; color: #575757; }
.contact-section-entrata .form__group--2-col .btn { margin: 0.5rem auto 0; }
.contact-section-entrata .form__error {
  display: none; width: 100%; color: #000; font-size: 14px; text-align: center;
  background-color: #ffe3e9; padding: 16px; border: 1px solid var(--color-secondary);
  margin-top: 5px; grid-column: 1 / -1; font-weight: bold;
}
@media (min-width: 992px) {
  .contact-section-entrata .form__submit-notice { margin-top: -1rem; }
}

/* ---------- contact-info blocks ---------- */
.contact-info__wrapper {
  display: flex; align-items: flex-start; justify-content: center;
  text-align: center; gap: 1rem 3rem; flex-wrap: wrap; margin-top: var(--x-gap);
}
.contact-info__item { width: 100%; }
.contact-info__label { --heading: 32; margin-bottom: .75rem; }
.contact-info__item-item { margin: 0; font-size: 1.2rem; }
.contact-info__item-item a { text-decoration: none; }
.contact-info__item-item a:hover, .contact-info__item-item a:focus { text-decoration: underline; }
@media (min-width: 992px) {
  .contact-info__item { width: calc(33.3333% - (3rem * 2 / 3)); }
}
@media (min-width: 1200px) {
  .contact-info__item-item { font-size: 1.4rem; }
}

/* ---------- SECTION: locations-section (map) ---------- */
.locations-section { padding: 0; }
.locations-section:last-child { margin-bottom: 0; }
.locations-section__map iframe {
  display: block;
  width: 100%;
  aspect-ratio: 23 / 9;
  max-height: 800px;
  min-height: 400px;
  border: 0;
}
