/* Local Cortile revision. All baseline styles/assets remain byte-identical. */
.cortile, .cortile *, .cortile *::before, .cortile *::after {
  text-decoration: none !important;
}
/* No line-based link affordances, in any state; form borders/focus are preserved. */
.cortile a, .cortile a:hover, .cortile a:active, .cortile a:visited, .cortile a:focus {
  border-bottom: 0; background-image: none;
}
.cortile a::before, .cortile a::after { content: none; }
.cortile button { font: 600 16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; cursor: pointer; }
.cortile button.primary {
  display:inline-flex;align-items:center;min-width:44px;min-height:44px;
  background:var(--ink);color:var(--white);padding:14px 22px;border:2px solid var(--ink);
}
.cortile button.primary:hover { background:var(--white);color:var(--ink); }
.cortile button.primary:active { background:var(--sand);color:var(--ink); }
.cortile :is(a,button,input,textarea):focus-visible {
  outline:2px solid var(--ink);outline-offset:4px;
}
.cortile :is(.department,#indice-reparti):focus-visible {
  outline:2px solid var(--ink);outline-offset:4px;
}
.cortile a:not(.brand):not(.return):not(.dept-link):hover { color:var(--ink);background-color:var(--sand); }
.cortile .return {
  display:inline-flex;gap:10px;min-height:44px;padding:8px 14px;
  border:0;border-radius:8px;background:var(--ink);color:var(--white);
  font-size:14px;line-height:1.6;
}
.cortile .return:hover { background:var(--sand);color:var(--ink); }
.cortile .return:active { background:var(--white);color:var(--ink); }
.cortile .return .return-symbol { font-size:18px;line-height:1; }
.cortile .dept-links { gap:12px; }
.cortile .dept-links .dept-link {
  display:flex;justify-content:space-between;gap:14px;padding:10px 16px;
  border:0;border-radius:8px;background:var(--sand);color:var(--ink);
  transition:box-shadow 160ms ease;
}
.cortile .dept-link .dept-symbol { color:var(--ink);font-size:18px;line-height:1; }
.cortile .dept-links .dept-link:is(:hover,:focus-visible) {
  background:var(--sand);
  box-shadow:0 3px 14px rgb(194 96 62 / 18%),0 1px 5px rgb(31 42 68 / 12%);
}
.cortile .dept-links .dept-link[aria-current="location"] {
  background:var(--ink);color:var(--white);
  box-shadow:0 4px 16px rgb(194 96 62 / 20%),0 1px 6px rgb(31 42 68 / 12%);
}
.cortile .dept-link[aria-current="location"] .dept-symbol { color:var(--white); }
.cortile .department.is-selected h3 { text-shadow:0 3px 14px rgb(194 96 62 / 22%); }
/* Native modal top layer: background is inert. No tracking, external destination or consent. */
.cortile.has-contact-dialog { overflow:hidden; }
.cortile .contact-dialog {
  color:var(--ink);background:var(--white);border:0;border-radius:12px;
  padding:28px;width:calc(100% - 32px);max-width:560px;
  max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);
  overflow-y:auto;overscroll-behavior:contain;
}
.cortile .contact-dialog::backdrop { background:rgb(31 42 68 / 54%); }
.cortile .dialog-top { display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:16px; }
.cortile .dialog-top h2 { font-size:30px;line-height:1.2; }
.cortile .dialog-close {
  flex-shrink:0;min-height:44px;padding:8px 12px;background:var(--sand);color:var(--ink);border:0;border-radius:8px;
}
.cortile .dialog-close:hover { background:var(--ink);color:var(--white); }
.cortile .contact-notice { padding:12px 14px;background:var(--sand);font-size:15px;line-height:1.5;border-radius:8px;margin-bottom:20px; }
.cortile .contact-fields { display:grid;grid-template-columns:1fr 1fr;gap:16px; }
.cortile .contact-field { min-width:0; }
.cortile .contact-field.wide { grid-column:1/-1; }
.cortile .contact-field label { display:block;font-size:16px;font-weight:600;margin-bottom:6px; }
.cortile .contact-field input, .cortile .contact-field textarea {
  display:block;width:100%;min-width:0;min-height:44px;padding:10px 12px;
  color:var(--ink);background:var(--white);border:1px solid var(--ink);border-radius:6px;
  font:400 16px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.cortile .contact-field textarea { resize:vertical;min-height:104px;max-height:240px; }
.cortile .contact-field [aria-invalid="true"] { border-width:2px; }
.cortile .field-error { font-size:14px;line-height:1.5;margin-top:6px;font-weight:600; }
.cortile .field-error:empty { display:none; }
.cortile .dialog-status { font-size:15px;line-height:1.5;margin-top:16px; }
.cortile .dialog-status:empty { display:none; }
.cortile .dialog-submit { margin-top:20px; }
.cortile .contact-dialog .primary { border-radius:8px; }
@media(max-width:767px) { .cortile .dept-links .dept-link { padding:10px 12px;gap:8px;font-size:15px; } }
@media(max-width:479px) {
  .cortile .contact-dialog { width:calc(100% - 24px);padding:20px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px); }
  .cortile .dialog-top { gap:10px; }
  .cortile .dialog-top h2 { font-size:26px; }
  .cortile .dialog-close { font-size:14px;padding:8px 10px; }
  .cortile .contact-fields { grid-template-columns:1fr;gap:14px; }
  .cortile .contact-field.wide { grid-column:auto; }
  .cortile .dialog-submit { width:100%;justify-content:center; }
}
@media(prefers-reduced-motion:reduce) {
  .cortile *, .cortile *::before, .cortile *::after { transition:none!important;animation:none!important;scroll-behavior:auto!important; }
}
