/* SaleinZ — contact.css (contatti.html) */

.contact-layout { display: grid; gap: 2rem; }
@media (min-width: 768px) {
  .contact-layout { grid-template-columns: 1.15fr .85fr; align-items: start; }
  .contact-info { position: sticky; top: 80px; }
}

.contact-info .info-item {
  display: flex;
  gap: .8rem;
  align-items: flex-start;
  padding: .9rem 0;
  border-bottom: 1px solid var(--c-divider);
}
.contact-info .info-item:last-child { border-bottom: 0; }
.contact-info .icon { color: var(--c-accent); width: 22px; height: 22px; margin-top: .15rem; }
.contact-info h3 { margin-bottom: .2rem; font-size: 1rem; }
.contact-info p { margin: 0; font-size: .93rem; }

.hours-table { width: 100%; margin-top: .3rem; }
.hours-table td { padding: .3rem 0; border-bottom: 0; font-size: .93rem; }
.hours-table td:last-child { text-align: right; color: var(--c-heading); font-weight: 700; }

.consent { display: flex; gap: .6rem; align-items: flex-start; margin-bottom: 1.2rem; }
.consent input { width: auto; margin: .25rem 0 0; }
.consent label { font-weight: 400; font-size: .85rem; color: var(--c-muted); margin: 0; }

.dept-grid { display: grid; gap: 1rem; margin-top: 1rem; }
@media (min-width: 768px) { .dept-grid { grid-template-columns: repeat(3, 1fr); } }
.dept-card { text-align: center; }
.dept-card .icon { width: 32px; height: 32px; color: var(--c-heading); margin: 0 auto .5rem; display: block; }
.dept-card p { font-size: .9rem; color: var(--c-muted); margin-bottom: .5rem; }

.map-wrap { border: 1px solid var(--c-divider); border-radius: var(--radius); overflow: hidden; }
.map-wrap iframe { display: block; width: 100%; height: 380px; border: 0; }
