/* Contatti: riquadri alternati coerenti con Chi siamo. */
.contact-page { max-width: 1200px; margin: 0 auto; padding: 40px 20px 48px; }
.contact-card { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); grid-template-areas: "copy photo"; gap: 36px; align-items: center; background: white; border-radius: 14px; padding: 28px; box-shadow: 0 2px 8px rgba(0,0,0,.08); margin-bottom: 28px; }
.contact-card-reverse { grid-template-columns: minmax(0,1fr) minmax(0,1.1fr); grid-template-areas: "photo copy"; }
.contact-copy { grid-area: copy; min-width: 0; }
.contact-copy h1, .contact-copy > h2 { margin: 0 0 18px; font-size: 32px; line-height: 1.2; color: #222; }
.contact-copy p { font-size: 17px; line-height: 1.65; color: #444; margin: 0 0 20px; }
.contact-channels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 24px 0; }
.contact-channel { background: #f5f5f5; border-radius: 10px; padding: 16px; min-width: 0; }
.contact-channel h2 { font-size: 17px; margin: 0 0 10px; }
.contact-channel a { display: block; color: var(--brand-blue); font-size: 16px; line-height: 1.5; padding: 6px 0; text-decoration: none; overflow-wrap: anywhere; }
.contact-channel a:hover { text-decoration: underline; }
.contact-whatsapp { display: inline-block; background: var(--whatsapp-green); color: #14351e; padding: 13px 18px; border-radius: 6px; font-weight: bold; text-decoration: none; line-height: 1.4; }
.contact-whatsapp:hover { background: var(--whatsapp-green-dark); }
.contact-photo { grid-area: photo; margin: 0; min-width: 0; width: 100%; }
.contact-photo img { display: block; width: 100%; height: auto; border-radius: 12px; }
.contact-photo-portrait { max-width: 270px; justify-self: center; }
.contact-photo figcaption { text-align: center; color: #555; font-size: 14px; margin-top: 10px; }
.contact-social-icons { display: flex; flex-wrap: wrap; gap: 14px; }
.contact-page a:focus-visible { outline: 2px solid var(--brand-blue); outline-offset: 4px; }
@media (max-width: 1000px) { .contact-channels { grid-template-columns: minmax(0,1fr); gap: 10px; } }
@media (max-width: 700px) {
 .contact-page { padding: 28px 16px; }
 .contact-card, .contact-card-reverse { grid-template-columns: minmax(0,1fr); grid-template-areas: "copy" "photo"; padding: 18px; gap: 22px; margin-bottom: 22px; }
 .contact-copy h1, .contact-copy > h2 { font-size: 25px; }
 .contact-copy p { font-size: 15px; }
 .contact-channels { margin: 18px 0; }
 .contact-channel { padding: 12px 14px; }
 .contact-channel a { font-size: 15px; }
 .contact-whatsapp { font-size: 14px; }
 .contact-photo-portrait { max-width: 220px; }
}

.contact-card-reverse .contact-copy { text-align: center; }
.contact-card-reverse .contact-social-icons { justify-content: center; }

.contact-person { font-size: 14px; color: #555; white-space: nowrap; }
