/* ==========================================================================
   IRSML — contatti.css
   Layout a due colonne: modulo a sinistra, pannello informazioni a destra
   ========================================================================== */

.contact-layout {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: var(--s-xxl);
  align-items: start;
}

/* Modulo ------------------------------------------------------------------ */
.contact-form-wrap > h2 { margin-bottom: var(--s-xs); }
.contact-form-wrap > p { max-width: 52ch; margin-bottom: var(--s-xl); }
.contact-form { max-width: 560px; }
.contact-form .btn { margin-top: var(--s-xs); }
.contact-form .micro { margin: var(--s-sm) 0 0; }

/* Pannello laterale ------------------------------------------------------- */
.contact-side { position: sticky; top: 88px; display: grid; gap: var(--s-lg); }
.side-card h2 { margin-bottom: var(--s-md); }

.dept-list { list-style: none; margin: 0; padding: 0; }
.dept-list li {
  display: flex;
  gap: var(--s-sm);
  align-items: flex-start;
  padding: var(--s-md) 0;
  border-top: 1px solid var(--hairline);
  font-size: 14px;
  line-height: 1.5;
}
.dept-list li:first-child { border-top: 0; padding-top: 0; }
.dept-list li:last-child { padding-bottom: 0; }
.dept-list .icon { margin-top: 2px; color: var(--ink-muted); }
.dept-list strong { color: var(--ink); font-weight: 600; }
.dept-list .muted { font-size: 13px; }

/* Tabella orari ----------------------------------------------------------- */
.hours-table { font-size: 14px; }
.hours-table th, .hours-table td {
  padding: 10px 0;
  text-align: left;
  border-bottom: 1px solid var(--hairline-soft);
  vertical-align: top;
}
.hours-table th { font-weight: 500; color: var(--ink); }
.hours-table td { color: var(--ink-muted); text-align: right; }
.hours-table tr:last-child th, .hours-table tr:last-child td { border-bottom: 0; }

.side-card .icon-list { margin-top: var(--s-md); }
.side-card .icon-list li { font-size: 13px; }
.side-card .mt-xl { margin-top: var(--s-md); }

@media (max-width: 980px) {
  .contact-layout { grid-template-columns: minmax(0, 1fr); gap: var(--s-xl); }
  .contact-side { position: static; }
  .contact-form { max-width: none; }
}
