@media (max-width: 900px) {
  /* Protezione: oggi nessun elemento sborda; clip (non hidden) lascia funzionare l'intestazione sticky */
  html, body { overflow-x: clip; }
  :root { --space-container: 24px; --section-y: 64px; --header-height: 72px; }
  .heading-lg { font-size: 25.6px; line-height: 31px; }
  /* Menu su telefono: le voci scendono su una seconda riga, l'unica che resta agganciata in alto scorrendo */
  html { scroll-padding-top: var(--tap-min); }
  .ds-navbar { height: auto; top: calc(-1 * var(--header-height)); border-bottom: 1px solid var(--border-soft); }
  .ds-navbar .container { height: auto; flex-wrap: wrap; gap: 0 16px; }
  .ds-navbar__brand { min-height: var(--header-height); }
  .ds-navbar nav { order: 1; flex-basis: 100%; border-top: 1px solid var(--border-soft); }
  .ds-navbar__links { justify-content: space-between; gap: 8px; }
  /* Quattro voci non entrano in 360px: ai contatti porta la barra fissa in basso */
  .ds-navbar__links li:last-child, .ds-navbar .ds-button--pill { display: none; }
  .ds-navbar__links a { font-size: 14px; letter-spacing: 0.5px; }
  .ds-footer__cols { grid-template-columns: 1fr; padding-block: 48px; }
  .ds-footer__legal { padding-bottom: 86px; }
  .book-bar {
    display: grid;
    grid-template-columns: 1fr 1fr;
    position: fixed;
    inset: auto 0 0 0;
    z-index: 20;
    box-shadow: var(--shadow-lift);
  }
  /* La barra fissa occupa tutta la larghezza: pulsanti a filo, senza angoli né ombra */
  .book-bar .ds-button { min-width: 0; padding-block: 20px; border-radius: 0; box-shadow: none; }
  .book-bar .ds-button + .ds-button { background: var(--latte); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { transition: none !important; }
}
