/* ==========================================================================
   GEOTIERRE — CSS PAGINA CONTATTI  ·  /contatti/
   Incollare dentro un tag STYLE nello stesso Modulo Codice di contatti.html.
   Richiede 1-CSS-GLOBALE.css. Prefisso: .gt-cont-
   ========================================================================== */

/* ---- hero compatto ---- */
.gt-cont__hero { padding-top: 56px; }
.gt-cont__title { max-width: 22ch; margin-bottom: 20px; }
.gt-cont__sub { max-width: 56ch; }

/* ---- contatti rapidi ---- */
.gt-cont__quick-wrap { padding-top: 44px; }
.gt-cont__quick {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.gt-cont__qcard {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: var(--gt-white);
  border: 1px solid var(--gt-border);
  border-radius: 16px;
  padding: 28px 30px;
  color: var(--gt-navy);
}
.gt-cont__qcard:hover { color: var(--gt-navy); }
.gt-cont__qcard--wa:hover { border-color: #25D366; }

.gt-cont__qlabel {
  font-family: var(--gt-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gt-text-muted);
}
.gt-cont__qvalue {
  font-family: var(--gt-font-display);
  font-size: clamp(18px, 1.9vw, 24px);
  font-weight: 500;
  letter-spacing: -0.01em;
}
.gt-cont__qmore {
  font-family: var(--gt-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--gt-terra);
}

/* ---- layout form + info ---- */
.gt-cont__main { padding-top: 60px; }
.gt-cont__layout {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
  align-items: start;
}

.gt-cont__form-card {
  background: var(--gt-white);
  border: 1px solid var(--gt-border);
  border-radius: var(--gt-r-xl);
  padding: 44px 46px;
  box-shadow: 0 24px 60px rgba(23,33,69,0.06);
}
.gt-cont__form-head { margin-bottom: 28px; }
.gt-cont__form-head .gt-h2 { margin-bottom: 10px; }
.gt-cont__form-sub { color: var(--gt-text-muted); }
.gt-cont__form-actions { margin-top: 12px; }

/* conferma invio */
.gt-cont__form-ok { min-height: 470px; justify-content: center; }
.gt-cont__form-ok .gt-h2 { margin-bottom: 12px; }
.gt-cont__ok-lead {
  font-size: 16.5px;
  line-height: 1.7;
  color: var(--gt-text);
  max-width: 46ch;
  margin-bottom: 8px;
}
.gt-cont__ok-lead strong { color: var(--gt-navy); font-weight: 600; }
.gt-cont__ok-note {
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--gt-text-muted);
  margin-bottom: 28px;
}
.gt-cont__ok-back { font-size: 15px; font-weight: 600; }

/* ---- colonna info ---- */
.gt-cont__info { display: flex; flex-direction: column; gap: 16px; }
.gt-cont__ilabel {
  font-family: var(--gt-font-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gt-text-muted);
  margin-bottom: 16px;
}
.gt-cont__iname {
  font-family: var(--gt-font-display);
  font-size: 20px;
  font-weight: 500;
  color: var(--gt-navy);
  margin-bottom: 10px;
}
.gt-cont__iaddr { font-size: 15.5px; line-height: 1.8; color: var(--gt-text); margin-bottom: 18px; }
.gt-cont__itext { font-size: 15px; line-height: 1.7; color: var(--gt-text); }
.gt-cont__itext--lines { font-size: 15.5px; line-height: 1.9; }

/* ---- mappa ---- */
.gt-cont__map-wrap { padding: 60px var(--gt-gutter) 110px; }
.gt-cont__map {
  border-radius: var(--gt-r-xl);
  overflow: hidden;
  border: 1px solid var(--gt-border);
  box-shadow: var(--gt-shadow-md);
  background: var(--gt-white);
  line-height: 0;
}
.gt-cont__map iframe { display: block; width: 100%; height: 460px; border: 0; }

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

@media (max-width: 1100px) {
  .gt-cont__layout { grid-template-columns: 1fr; gap: 20px; }
  .gt-cont__info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .gt-cont__form-ok { min-height: 0; }
}

@media (max-width: 900px) {
  .gt-cont__hero { padding-top: 40px; }
  .gt-cont__quick-wrap { padding-top: 32px; }
  .gt-cont__quick { grid-template-columns: 1fr; gap: 12px; }
  .gt-cont__qcard {
    align-items: flex-start;
    gap: 8px;
    padding: 20px 22px;
    border-radius: var(--gt-r-md);
  }
  .gt-cont__qcard .gt-cont__qlabel,
  .gt-cont__qcard .gt-cont__qvalue { display: block; }
  .gt-cont__qvalue {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .gt-cont__qmore {
    display: block;
    margin-top: 4px;
  }

  .gt-cont__main { padding-top: 40px; }
  .gt-cont__form-card { padding: 30px 24px; border-radius: var(--gt-r-lg); }

  .gt-cont__map-wrap { padding: 40px var(--gt-gutter) 64px; }
  .gt-cont__map { border-radius: var(--gt-r-lg); }
  .gt-cont__map iframe { height: 340px; }
}

@media (max-width: 560px) {
  .gt-cont__info { grid-template-columns: 1fr; gap: 12px; }
  .gt-cont__form-card { padding: 26px 20px; }
  .gt-cont__map iframe { height: 300px; }
  .gt-cont__ok-lead { font-size: 15px; }
}
