/* Barra condivisa compatta. Bianco sul solo pulsante centrale, richiesto da Marcello. */
html:has([data-contact-dock]) { scroll-padding-bottom: 85px; }
.contact-dock {
  position: fixed;
  inset: auto 0 0;
  z-index: 40;
  padding: 0 28px env(safe-area-inset-bottom, 0px);
  background: var(--night);
  border-top: 1px solid #ffffff30;
  box-shadow: 0 -12px 36px #08074e40;
  color: var(--white);
  visibility: hidden;
  transform: translateY(calc(100% + 18px));
  transition: transform .24s ease, visibility .24s;
  pointer-events: none;
}
.contact-dock.is-visible { visibility: visible; transform: translateY(0); pointer-events: auto; }
.contact-dock-inner {
  display: grid;
  grid-template-columns: 1fr minmax(320px, 460px) 1fr;
  align-items: stretch;
  gap: 28px;
  max-width: 1400px;
  margin: 0 auto;
}
.contact-dock a { text-decoration: none; color: var(--white); }
.contact-dock svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex-shrink: 0; }
.contact-dock-side { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 60px; font-size: 15px; font-weight: 500; }
.contact-dock-side:last-child { justify-content: flex-end; }
.contact-dock a.contact-dock-main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-top: -6px;
  padding: 9px 22px 10px;
  border: 1px solid white;
  border-bottom: 0;
  border-radius: 12px 12px 0 0;
  background: white;
  color: var(--night);
}
.contact-dock-main small { display: block; font-size: 10px; line-height: 1.5; font-weight: 400; }
.contact-dock-main strong { display: block; font-family: var(--display); font-size: 21px; line-height: 1.3; font-weight: 700; }
.contact-dock-main > svg { width: 26px; height: 26px; color: var(--blue); transition: transform .2s ease; }
.contact-dock a:focus-visible { outline: 3px solid var(--green); outline-offset: -5px; }
.contact-dock a.contact-dock-main:focus-visible { outline-color: var(--blue); }
@media (hover: hover) {
  .contact-dock-side:hover { color: var(--green); }
  .contact-dock-main:hover { border-color: var(--green); }
  .contact-dock-main:hover > svg { transform: translate(2px, -2px); }
}
@media (max-width: 760px) {
  html:has([data-contact-dock]) { scroll-padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  .contact-dock { padding-left: 12px; padding-right: 12px; }
  .contact-dock-inner { grid-template-columns: 54px minmax(0, 1fr) 54px; gap: 10px; }
  .contact-dock-side, .contact-dock-side:last-child { flex-direction: column; justify-content: center; gap: 3px; min-height: 54px; font-size: 10px; line-height: 1.3; }
  .contact-dock-side svg { width: 20px; height: 20px; }
  .contact-dock a.contact-dock-main { margin-top: -4px; padding: 10px 12px; justify-content: center; text-align: center; border-radius: 10px 10px 0 0; }
  .contact-dock-main small,.contact-dock-main .contact-dock-wide { display: none; }
  .contact-dock-main strong { font-size: 17px; line-height: 1.2; }
  .contact-dock-main > svg { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-dock, .contact-dock-main > svg { transition: none; }
}
@media (max-width: 380px) { .contact-dock-wide { display: none; } }
@media print { .contact-dock { display: none; } }
