html { scroll-behavior: smooth; }
.l:not(.menu-ready) .wnd-mt-classic #menu-block { -webkit-mask-image: none; mask-image: none; }
[id="our-services"], [id="about-us"], [id="contattaci"], [id="orari"] { scroll-margin-top: 125px; }
.map-directions { position: absolute; bottom: 12px; right: 12px; z-index: 2; background: white; color: #285580; padding: 9px 14px; font: 14px/1.4 Arial, sans-serif; box-shadow: 0 1px 6px #0003; }
.map-placeholder { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; text-align: center; padding: 20px 20px 55px; background: #eef3f6; color: #334e5e; }
.map-placeholder[hidden] { display: none; }
.map-placeholder p { margin: 0; }
.map-placeholder button { padding: 10px 16px; background: #7caac4; color: #fff; border: 0; font: inherit; cursor: pointer; }
.map-placeholder small { font: 12px/1.5 Arial, sans-serif; }
.b-map .b-c { min-height: 320px; }
.contact-text-value a { color: inherit; overflow-wrap: anywhere; }
.contact-text-value a:hover { text-decoration: underline; }
#local-cookiebar { position: fixed; bottom: 0; left: 0; width: 100%; z-index: 9999; padding: 20px 32px; background: #222; color: #fff; display: flex; align-items: center; gap: 32px; box-sizing: border-box; font: 14px/1.6 Arial, sans-serif; }
#local-cookiebar[hidden] { display: none; }
#local-cookiebar p { margin: 0; flex: 1; }
.cookie-actions { display: flex; gap: 12px; flex-shrink: 0; }
.cookie-actions button { cursor: pointer; padding: 11px 17px; background: white; color: #333; border: 1px solid #ddd; border-radius: 3px; font: inherit; }
.cookie-actions button:hover { background: #eee; }
a:focus-visible, button:focus-visible { outline: 3px solid #428abe; outline-offset: 4px; }
@media (max-width: 899px) {
  #menu-slider { display: none; }
  body.local-menu-open #menu-slider { display: block !important; position: fixed !important; inset: 0 !important; width: 100% !important; height: 100dvh !important; background: #fff; z-index: 10000; overflow: auto; transform: none !important; }
  body.local-menu-open #menu-block, body.local-menu-open #menu, body.local-menu-open .menu-wrapper { display: block !important; position: static !important; height: auto !important; width: 100% !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
  body.local-menu-open #menu .level-1 { display: flex !important; flex-direction: column; padding: 90px 32px 32px !important; list-style: none; }
  body.local-menu-open #menu .level-1 li { display: block !important; padding: 12px 0; }
  body.local-menu-open #menu .menu-item { color: #333 !important; font-size: 23px; }
  body.local-menu-open .menu-close { display: block !important; position: absolute !important; top: 25px; right: 25px; width: 40px; height: 40px; color: #333; border: 0; padding: 0; }
  body.local-menu-open .menu-close::before { display: none !important; }
  body.local-menu-open .menu-close::after { content: '×'; font: 36px/40px Arial, sans-serif; position: static; display: block; transform: none; width: 40px; height: 40px; background: none; }
  #menu-mobile { display: block !important; }
  #local-cookiebar { flex-direction: column; gap: 14px; padding: 20px; align-items: stretch; }
  .cookie-actions { flex-wrap: wrap; }
  .cookie-actions button { flex: 1; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
