/* SOURCE: assets/css/privacy-plugins-3835.css */
/* DigiDentale 3.8.35 — Privacy, Complianz, WP Accessibility, social. */
:root{--dd-legal-teal:#0d4c48;--dd-legal-navy:#0d2b42;--dd-legal-sand:#c9a983;--dd-legal-cream:#f8f5ef}
/* Documenti legali: impaginazione editorialmente leggibile. */
.dd-legal-page{background:#fff;color:var(--dd-legal-navy)}
.dd-legal-page .dd-page-hero{background:linear-gradient(115deg,#f3f8f7 0%,#faf7f1 100%);padding-block:clamp(42px,6vw,88px)}
.dd-legal-page .dd-page-hero h1{color:var(--dd-legal-navy);font-size:clamp(38px,5vw,60px)}
.dd-legal-page .dd-page-main{max-width:920px;padding-block:clamp(30px,5vw,65px) 90px}
.dd-privacy-document{font-size:16px;line-height:1.85}
.dd-privacy-document .dd-privacy-lead{font-size:clamp(17px,2.1vw,19px);font-weight:450;line-height:1.7;color:#2c4f60;padding:20px 24px;border-left:4px solid var(--dd-legal-sand);background:var(--dd-legal-cream);margin:0 0 35px}
.dd-legal-page .dd-page-main h2{font-size:clamp(25px,3vw,32px);color:var(--dd-legal-teal);margin:42px 0 14px;line-height:1.25}
.dd-legal-page .dd-page-main p,.dd-legal-page .dd-page-main li{font-size:16px;line-height:1.85;color:#334b59;margin:0 0 16px}
.dd-legal-page .dd-page-main a{color:#0b5955;text-decoration:underline;text-underline-offset:3px}
.dd-legal-page .dd-page-main a:focus-visible{outline:3px solid var(--dd-legal-sand);outline-offset:3px}
@media(max-width:760px){.dd-legal-page .dd-page-main{padding-inline:23px}.dd-privacy-document .dd-privacy-lead{padding:18px}}
/* Social: icone originali senza tracciamenti o link inventati. */
.dd-footer-extended .dd-footer-socials{display:flex;align-items:center;gap:12px;margin:24px 0 0}
.dd-footer-extended .dd-footer-social{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(201,169,131,.55);background:rgba(255,255,255,.065);color:var(--dd-legal-sand);border-radius:13px;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.dd-footer-extended .dd-footer-social svg{width:21px;height:21px}
.dd-footer-extended a.dd-footer-social:hover{background:var(--dd-legal-sand);color:var(--dd-legal-navy);transform:translateY(-2px)}
.dd-footer-extended .dd-footer-social--idle{opacity:.72;cursor:default;filter:grayscale(.25)}
.dd-footer-extended a.dd-footer-social:focus-visible{outline:3px solid var(--dd-legal-sand);outline-offset:4px}
/* Complianz: colori e gerarchia senza modificare scelta e funzionamento del consenso. */
.cmplz-cookiebanner{
  --cmplz_banner_background_color:#fffdf9;
  --cmplz_banner_border_color:#e2d4c1;
  --cmplz_banner_color:#0d2b42;
  --cmplz_button_accept_background_color:#0d4c48;
  --cmplz_button_accept_border_color:#0d4c48;
  --cmplz_button_accept_text_color:#fff;
  --cmplz_button_deny_background_color:#c9a983;
  --cmplz_button_deny_border_color:#c9a983;
  --cmplz_button_deny_text_color:#0d2b42;
  --cmplz_button_settings_background_color:transparent;
  --cmplz_button_settings_border_color:#0d4c48;
  --cmplz_button_settings_text_color:#0d4c48;
  border:1px solid #e1d5c4!important;
  background:#fffdf9!important;
  border-radius:18px!important;
  box-shadow:0 24px 65px rgba(13,43,66,.18)!important;
  font-family:'Clear Sans',system-ui,-apple-system,Segoe UI,sans-serif!important;
  color:var(--dd-legal-navy)!important;
  padding:clamp(16px,2.5vw,26px)!important;
}
.cmplz-cookiebanner .cmplz-title{font-family:'Berenis ADF Pro',Georgia,serif!important;font-size:clamp(21px,3vw,27px)!important;line-height:1.2!important;color:var(--dd-legal-navy)!important;font-weight:600!important}
.cmplz-cookiebanner .cmplz-message{color:#354a56!important;font-size:14px!important;line-height:1.65!important}
.cmplz-cookiebanner .cmplz-btn{font-family:inherit!important;font-size:13px!important;font-weight:700!important;border-radius:9px!important;min-height:44px!important;padding:10px 18px!important;box-shadow:none!important;letter-spacing:.01em!important;transition:filter .15s ease,box-shadow .15s ease!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:#0d4c48!important;border:1px solid #0d4c48!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny{background:#c9a983!important;border:1px solid #c9a983!important;color:#0d2b42!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:#fffdf9!important;border:1px solid #0d4c48!important;color:#0d4c48!important}
.cmplz-cookiebanner .cmplz-btn:hover{filter:brightness(.96)!important}
.cmplz-cookiebanner .cmplz-btn:focus-visible,.cmplz-cookiebanner a:focus-visible,.cmplz-cookiebanner button:focus-visible{outline:3px solid #bc905f!important;outline-offset:2px!important}
.cmplz-cookiebanner .cmplz-links a{color:#0d4c48!important;text-decoration:underline!important;text-underline-offset:3px}
.cmplz-cookiebanner .cmplz-category{border-color:#e4ddd2!important;background:#fbfaf7!important;border-radius:10px!important}
.cmplz-cookiebanner .cmplz-close{color:#0d4c48!important;min-width:30px!important;min-height:30px!important}
.cmplz-manage-consent{font-family:'Clear Sans',system-ui,sans-serif!important;background:#0d4c48!important;color:#fff!important;border-radius:9px 9px 0 0!important;box-shadow:0 4px 14px #0d2b422b!important}
.cmplz-manage-consent:focus-visible{outline:3px solid #c9a983!important;outline-offset:3px!important}
/* WP Accessibility (Joe Dolson): vero toolbar flottante, in basso a destra, su ogni schermo. */
.a11y-toolbar:not(.custom-location){top:auto!important;bottom:calc(22px + env(safe-area-inset-bottom,0px))!important;left:auto!important;right:22px!important;z-index:9900!important}
.a11y-toolbar ul{display:flex!important;flex-direction:column!important;gap:4px!important;background:#0d4c48!important;padding:6px!important;border-radius:14px!important;box-shadow:0 12px 28px rgba(13,43,66,.22)!important}
.a11y-toolbar ul li{margin:0!important;padding:0!important}
.a11y-toolbar ul li button{width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:8px!important;font-size:20px!important;background:#0d4c48!important;border:0!important;border-radius:10px!important;color:#f6eee2!important;cursor:pointer!important}
.a11y-toolbar ul li button:hover,.a11y-toolbar ul li button.active,.a11y-toolbar ul li button[aria-pressed="true"]{background:#c9a983!important;color:#0d2b42!important}
.a11y-toolbar ul li button:focus-visible{outline:3px solid #c9a983!important;outline-offset:2px!important}
.a11y-toolbar.reversed button:hover .offscreen,.a11y-toolbar.reversed button:focus .offscreen{left:auto!important;right:calc(100% + 8px)!important;white-space:normal!important;min-width:160px!important}
@media(max-width:800px){.a11y-toolbar.a11y-responsive{display:block!important}.a11y-toolbar:not(.custom-location){right:12px!important;bottom:calc(14px + env(safe-area-inset-bottom,0px))!important}.a11y-toolbar ul{padding:4px!important;gap:2px!important}.a11y-toolbar ul li button{width:44px!important;height:44px!important}}
/* Google Maps: niente iframe prima del clic dell'utente. */
.dd-map-consent-placeholder{display:grid;place-items:center;width:100%;height:100%;min-height:360px;background:linear-gradient(145deg,#e8f0ed,#f9f6ef);border-radius:0}
.dd-map-consent-content{text-align:center;max-width:350px;padding:25px;color:#0d2b42}
.dd-map-consent-content .dd-svg{height:40px;width:40px;color:#0d4c48;margin:0 auto 18px}
.dd-map-consent-content h3{font-size:clamp(22px,3vw,30px);line-height:1.2;margin:0 0 12px;color:#0d2b42}
.dd-map-consent-content p{font-size:14px!important;line-height:1.6!important;margin:0 auto 22px!important}
.dd-map-consent-content .dd-btn{min-height:46px;border:0;cursor:pointer}

/* SOURCE: assets/css/responsive-crossbrowser-3836.css */
/* DigiDentale 3.8.36 — compatibilità e protezioni responsive.
   Nessuna modifica alla direzione grafica o ai contenuti. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.dd-header-inner, .dd-mobile-menu, .dd-page-main,
.dd-inner-container, .dd-wrap, .dd-final-cta-inner,
.dd-services-inner, .dd-studio-home-layout { min-width: 0; }

/* Se un browser non interpreta svh, gli hero mantengono un'altezza valida. */
@supports not (height: 100svh) {
  .dd-cinematic-hero { min-height: 665px; }
  @media (max-width: 760px) {
    .dd-cinematic-hero { min-height: 670px; }
  }
}

/* Fallback per Safari/Chromium meno recenti privi del viewport dinamico. */
.dd-mobile-menu {
  max-height: calc(100vh - 85px);
  max-height: calc(100dvh - var(--dd-header-compact, 70px) - 12px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
}

/* Controlli e messaggi lunghi non devono forzare le colonne ad allargarsi. */
.dd-contact-form input,
.dd-contact-form select,
.dd-contact-form textarea,
.dd-blog-search input,
.dd-map-consent-content,
.dd-privacy-document,
.dd-footer-contacts,
.dd-footer-visit,
.dd-blog-article-content,
.dd-td-prose { min-width: 0; max-width: 100%; }
.dd-privacy-document a,
.dd-blog-article-content a,
.dd-footer-contacts a { overflow-wrap: anywhere; }

/* Segnale di messa a fuoco visibile anche utilizzando la tastiera. */
.dd-mobile-toggle:focus-visible,
.dd-mobile-menu a:focus-visible,
.dd-header a:focus-visible,
.dd-contact-form :is(input,select,textarea,button):focus-visible,
.dd-footer a:focus-visible {
  outline: 3px solid #c9a983;
  outline-offset: 3px;
}

/* Il banner dei cookie deve poter essere consultato anche in landscape.
   L'ordine e la logica del consenso restano in gestione a Complianz. */
.cmplz-cookiebanner {
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.cmplz-cookiebanner .cmplz-btn { white-space: normal; overflow-wrap: anywhere; }

@media (max-width: 760px) {
  /* 16 px: evita lo zoom automatico di Safari iOS al focus dei campi. */
  .dd-contact-form input:not([type=hidden]):not([type=checkbox]),
  .dd-contact-form select,
  .dd-contact-form textarea,
  .dd-blog-search input { font-size: 16px !important; }
  .cmplz-cookiebanner {
    max-width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    max-height: calc(100dvh - 20px);
  }
  .dd-mobile-menu a { min-height: 44px; }
  .dd-mobile-toggle { min-width: 44px; min-height: 44px; }
  .dd-td :is(h1,h2,h3), .dd-legal-page :is(h1,h2,h3) { overflow-wrap: break-word; }
}

@media (prefers-reduced-motion: reduce) {
  .dd-header, .dd-header *, .dd-mobile-menu *,
  .cmplz-cookiebanner .cmplz-btn { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* SOURCE: assets/css/accessibility-3837.css */
/* DigiDentale 3.8.37 — separazione corretta dei titoli su mobile e accessibilità. */
:root { scroll-padding-top: 92px; }
html { scroll-behavior: auto; }
/* Lo stacco dopo <br> resta un vero spazio anche quando le regole mobile
   sopprimono il cambio riga: lo spazio è inoltre conservato nell'HTML. */
@media(max-width:760px) {
  .dd-studio-home-editorial .dd-studio-home-heading h2,
  .dd-footer-extended .dd-footer-local h2,
  .dd-studio-expanded .dd-studio-intro h2 { word-spacing:.055em; letter-spacing:-.015em !important; }
  .dd-home :is(h1,h2,h3),
  body.home :is(h1,h2,h3),
  .dd-td :is(h1,h2,h3),
  .dd-inner-container :is(h1,h2,h3) { word-spacing:.035em; }
  h1,h2,h3 { overflow-wrap:normal; word-break:normal; hyphens:auto; }
  .dd-legal-page .dd-page-main { padding-bottom: 55px; }
}
/* Leggibilità a zoom elevato e intestazioni che cambiano dimensione. */
h1,h2,h3 { max-width:100%; }
:where(.dd-wrap,.dd-inner-container,.dd-page-main,.dd-td-prose,.dd-footer-main) > * { min-width:0; }
:where(main,section,article) :is(p,li,a) { overflow-wrap:break-word; }
/* Focus coerente anche su altri pulsanti/link e in presenza di elementi sticky. */
:where(a,button,input,select,textarea,summary):focus-visible {
  outline:3px solid #946c3f;
  outline-offset:3px;
}
:where(.dd-footer a,.dd-header a,.dd-btn):focus-visible { outline-color:#c9a983; }
:where([id]) { scroll-margin-top: 92px; }
/* Target grandi senza stravolgere l'interfaccia. */
.dd-footer-legal a { display:inline-flex; align-items:center; min-height:38px; }
.dd-legal-page .dd-page-main a { text-decoration-thickness:1px; text-underline-offset:.16em; }
/* Richiesta esplicita: la toolbar flottante scompare quando il footer
   entra nel viewport, tranne durante un'interazione attiva da tastiera. */
body.dd-footer-in-view .a11y-toolbar:not(:focus-within) {
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(10px)!important;
}
.a11y-toolbar { transition:opacity .18s ease,transform .18s ease; }
@media (prefers-reduced-motion:reduce) {
  .a11y-toolbar { transition:none!important; }
  *, *::before, *::after { scroll-behavior:auto!important; }
}
/* Evita che il footer e le segnalazioni restino sotto gli elementi fissi. */
.dd-accessibility-declaration p { max-width:76ch; }
.dd-accessibility-declaration h2 { line-height:1.3; }

/* SOURCE: assets/css/accessibility-audit-3840.css */
/* DigiDentale 3.8.40 – miglioramenti documentati di accessibilità.
   Accenti decorativi #C9A983 preservati; il testo su fondo chiaro usa colori scuri. */
:root { --dd-a11y-ink:#765634; --dd-a11y-teal:#0d4c48; --dd-a11y-focus:#946c3f; }
html { scroll-padding-top: 104px; }
body { font-size:16px; line-height:1.55; }
:where([id]) { scroll-margin-top: 104px; }
/* Skip link effettivamente visibile alla prima pressione di Tab. */
a.skip-to { position:fixed; left:16px; top:10px; z-index:2147483641; padding:13px 18px; border:3px solid #fff; background:#0d4c48; color:#fff; font-size:16px; line-height:1.4; border-radius:7px; transform:translateY(-150%); }
a.skip-to:focus,a.skip-to:focus-visible { transform:translateY(0); outline:3px solid #946c3f; outline-offset:3px; }
/* Indicazioni da tastiera percepibili anche se altri CSS sovrascrivono i colori. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid #946c3f; outline-offset:3px; }
:where(.dd-cinematic-hero,.dd-hero,.dd-footer,.dd-trust-green) :is(a,button,summary):focus-visible { outline-color:#f7dfa8; box-shadow:0 0 0 3px #0d2b42; }
/* Gli indicatori decorativi oro non sono una scelta di colore sufficiente per il testo. */
.dd-legal-page .dd-page-main a,.dd-page-main a:not(.dd-btn),
.dd-privacy-document a,.dd-blog-article-content a { text-underline-offset:.18em; text-decoration-thickness:1px; }
/* Dimensioni minime nei piccoli testi editoriali, senza cambiare i titoli. */
.dd-privacy-document,.dd-legal-page .dd-page-main p,.dd-legal-page .dd-page-main li { font-size:max(1rem,16px); }
.dd-footer-extended .dd-footer-legal a { min-height:44px; padding-block:8px; }
.dd-contact-form .dd-form-instructions,.dd-form-instructions { font-size:15px; line-height:1.6; color:#234552; margin:0 0 14px; }
.dd-contact-form-section .dd-form-status { font-size:16px; line-height:1.55; }
.dd-form-status:focus { outline:3px solid #946c3f; outline-offset:4px; }
/* Il testo color sabbia su sfondi bianchi raggiunge il contrasto tramite tonalità più scura. */
.dd-page-main .dd-eyebrow,.dd-studio-home-editorial .dd-eyebrow,
.dd-services-copy .dd-eyebrow,.dd-team .dd-eyebrow,
.dd-blog-archive .dd-eyebrow,.dd-blog-card .dd-eyebrow,
.dd-contact-form-section .dd-eyebrow { color:#765634; }
/* I menu devono restare visibili all'uso da tastiera e ai font aumentati. */
.dd-mobile-menu a { display:flex; align-items:center; min-height:44px; }
.dd-mobile-toggle { min-width:44px; min-height:44px; display:none; align-items:center; justify-content:center; }
@media(max-width:760px) { .dd-mobile-toggle { display:flex; } }
/* Per leggere e navigare con ingrandimento elevato. */
@media(max-width:760px) {
  .dd-mobile-menu { max-height:calc(100vh - 80px); max-height:calc(100dvh - 80px); overflow-y:auto; }
  .dd-contact-form :is(input:not([type="checkbox"]):not([type="hidden"]),select,textarea) { font-size:16px; max-width:100%; }
  .dd-cinematic-hero h1,.dd-hero h1 { overflow-wrap:break-word; white-space:normal; }
}
/* Rispettare le preferenze di movimento ridotto anche in plugin e sfondi. */
@media(prefers-reduced-motion:reduce) {
  html,html * { scroll-behavior:auto!important; }
  .dd-scroll-reveal { opacity:1!important; translate:none!important; transform:none!important; }
  .dd-preloader { display:none!important; }
  .a11y-toolbar,.dd-mobile-menu,.dd-header { transition:none!important; }
}
@media(prefers-contrast:more) {
  a { text-decoration-thickness:2px; }
  .dd-btn { border-width:2px; }
  .dd-eyebrow { letter-spacing:.09em; }
}
@media(forced-colors:active) {
  :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid Highlight; }
  .dd-btn,.dd-service-card,.dd-footer-social { forced-color-adjust:auto; border:1px solid ButtonText; }
}
