﻿/* Pagina Contatti (si carica solo in contatti.html). Nessun modulo: si scrive per email. */

.contact-page { padding-bottom: clamp(80px, 10vw, 140px); }
.contact-grid {
  display: flex; flex-wrap: wrap; gap: 48px clamp(40px, 6vw, 96px);
  padding-top: clamp(32px, 4vw, 56px); border-top: 1px solid var(--ink);
}
.contact-main { flex: 1.4 1 440px; min-width: 0; }
.contact-side { flex: 1 1 360px; min-width: 0; }

/* L'email sta sempre su una riga sola: la grandezza segue la larghezza dello schermo (mai a capo, mai tagliata). */
.contact-mail {
  display: inline-block; max-width: 100%; margin: 0; white-space: nowrap;
  font-family: var(--font-display); font-weight: 700; font-size: clamp(13px, 5.6vw, 44px);
  line-height: 1.1; letter-spacing: -0.04em; border-bottom: 2px solid var(--brand); padding-bottom: 4px;
}
@media (min-width: 920px) { .contact-mail { font-size: clamp(26px, 3.1vw, 44px); } }
.contact-mail:hover { color: var(--brand); }
.contact-act { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; margin-top: 32px; }
.contact-note { margin: 0; font-size: 15px; color: var(--muted); }

.contact-block { margin-top: clamp(40px, 5vw, 64px); }
.contact-h {
  margin: 0 0 20px; font-family: var(--font-display); font-weight: 700; font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.1; letter-spacing: -0.03em;
}
.contact-list { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; max-width: 40em; }
.contact-list li { position: relative; padding-left: 22px; font-size: 17px; line-height: 1.55; }
.contact-list li::before { content: ""; position: absolute; left: 0; top: 0.62em; width: 8px; height: 8px; border-radius: 50%; background: var(--brand); box-shadow: 0 0 0 3px var(--mint-200); }

.contact-steps { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; max-width: 40em; counter-reset: passo; border-top: 1px solid var(--line); }
.contact-steps li {
  position: relative; padding: 18px 0 18px 48px; border-bottom: 1px solid var(--line);
  font-size: 17px; line-height: 1.55; counter-increment: passo;
}
.contact-steps li::before {
  content: "0" counter(passo); position: absolute; left: 0; top: 20px; width: 36px;
  font-size: 14px; font-weight: 500; color: var(--brand);
}
.contact-steps strong { font-weight: 600; }

.contact-card { padding: clamp(24px, 3vw, 36px); border: 1px solid var(--line); border-radius: 16px; background: var(--mint-50); }
.contact-card dl { margin: 0; display: grid; gap: 22px; }
.contact-card dt { margin: 0 0 4px; font-size: 13px; font-weight: 500; color: var(--muted); }
.contact-card dd { margin: 0; font-size: 17px; line-height: 1.5; overflow-wrap: anywhere; }
.contact-card a { border-bottom: 1px solid var(--brand); }
.contact-card .contact-email { white-space: nowrap; font-size: clamp(13px, 4.2vw, 17px); }
.contact-card a:hover { color: var(--brand); }
.contact-privacy { margin: 20px 0 0; font-size: 14px; line-height: 1.55; color: var(--muted); }

@media (min-width: 1000px) { .contact-side { position: sticky; top: 104px; align-self: flex-start; } }

