/* Icone chiare sul fondo blu della barra principale. */
header .nv-nav-wrap .nav-ul > li > .wrap > .caret-wrap,
header .nv-nav-wrap .nav-ul > li > .wrap > .caret-wrap .caret {
  color: #fff !important;
}
header .nv-nav-wrap .nav-ul > li > .wrap > .caret-wrap svg { fill: #fff !important; }
header .menu-mobile-toggle .navbar-toggle { color:#fff !important; border-color:#fff !important; }
header .menu-mobile-toggle .icon-bar { background-color:#fff !important; }
header .close-sidebar-panel .navbar-toggle { color:#fff !important; border-color:#fff !important; }
header .close-sidebar-panel .icon-bar { background-color:#fff !important; }
header .close-sidebar-panel .navbar-toggle svg { fill:#fff !important; }
/* La ricerca conserva il dialogo del tema in un pannello compatto. */
header .menu-item-nav-search.canvas .nv-nav-search {
  top:calc(var(--wp-admin--admin-bar--height,0px) + 100px) !important;
  bottom:auto !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
  width:min(640px,calc(100vw - 32px)) !important;
  height:auto !important;
  padding:56px 28px 28px;
  background:#fff !important;
  color:#121212;
  border-radius:8px;
  box-shadow:0 12px 40px #0003,0 0 0 100vmax #11243d99;
}
header .menu-item-nav-search.canvas .form-wrap { width:100%; padding:0; margin:0; }
header .menu-item-nav-search.canvas .form-wrap::before {
  content:'Cerca nel sito'; display:block; font-size:22px; font-weight:700;
  line-height:1.4; margin-bottom:18px; color:#1f4f8f;
}
header .menu-item-nav-search.canvas .search-form { width:100%; display:flex; }
header .menu-item-nav-search.canvas .search-field {
  min-width:0; flex:1; width:100%; height:48px; border:1px solid #595959;
  border-radius:4px 0 0 4px; padding:10px 14px; font-size:16px; background:#fff; color:#121212;
}
header .menu-item-nav-search.canvas .search-submit {
  position:static; flex:0 0 48px; width:48px; height:48px; padding:12px;
  background:#1f4f8f !important; color:#fff !important; border:1px solid #1f4f8f;
  border-radius:0 4px 4px 0;
}
header .menu-item-nav-search.canvas .search-submit svg { fill:#fff !important; }
header .menu-item-nav-search.canvas .nv-nav-search .close-container {
  top:10px; right:10px; width:44px; padding:0; margin:0;
}
header .menu-item-nav-search.canvas .close-responsive-search { width:44px; height:44px; padding:8px; }
header .menu-item-nav-search.canvas .close-responsive-search svg { fill:#121212; }
@media(max-width:480px) {
  header .menu-item-nav-search.canvas .nv-nav-search { padding:52px 20px 24px; top:calc(var(--wp-admin--admin-bar--height,0px) + 72px) !important; }
}
/* La voce attiva conserva il blu istituzionale e si distingue anche senza colore. */
header .nv-nav-wrap .current-menu-item > .wrap > a,
header .nv-nav-wrap .current_page_item > .wrap > a,
header .nv-nav-wrap .current-menu-ancestor > .wrap > a,
header .nv-nav-wrap .current_page_ancestor > .wrap > a {
    color: #fff !important;
    text-decoration: underline;
    text-underline-offset: .3em;
    text-decoration-thickness: 2px;
}
/* Il focus resta visibile sui comandi di navigazione da tastiera. */
header button:focus-visible,
header .nv-nav-wrap a:focus-visible,
header .search-icon:focus-visible {
    outline: 3px solid #fff !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 5px #121212;
}
.matera-titolo-accessibile, .matera-caption-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.matera-tabella { max-width:100%; overflow-x:auto; }
.matera-tabella table { width:100%; }
main .elementor-widget, main .elementor-widget-wrap { min-width:0; }
main a, main p, main h1, main h2, main h3, main th, main td { overflow-wrap:anywhere; }
.matera-tabella .matera-row-header { font-weight:inherit; text-align:inherit; }
.matera-tabella:focus-visible { outline:3px solid #121212; outline-offset:3px; }
html {
  scroll-padding-top:calc(var(--wp-admin--admin-bar--height,0px) + 16px);
  scroll-padding-bottom:var(--matera-spazio-banner,0px);
}
body:not(.wp-admin) { padding-bottom:var(--matera-spazio-banner,0px) !important; }
main a, main button, main input, main select, main textarea {
  scroll-margin-top:48px;
  scroll-margin-bottom:var(--matera-spazio-banner,16px);
}
.matera-overlay-aperta #cookie-notice, .matera-overlay-aperta #scroll-to-top { visibility:hidden !important; }
#scroll-to-top { bottom:calc(var(--matera-spazio-banner,0px) + 30px) !important; }
#scroll-to-top:focus-visible { outline:3px solid #121212; outline-offset:3px; box-shadow:0 0 0 6px #fff; }
#cookie-notice a:focus-visible, #cookie-notice button:focus-visible { outline:3px solid #fff; outline-offset:3px; box-shadow:0 0 0 6px #121212; }
.elementor-image-carousel-wrapper .swiper-pagination-bullet { background:#595959; opacity:1; }
.elementor-image-carousel-wrapper .swiper-pagination-bullet-active { background:#1f4f8f; outline:1px solid #1f4f8f; outline-offset:2px; }
.matera-ricerca-mobile { padding:16px; margin-top:12px; background:#fff; color:#121212; border-top:1px solid #595959; }
.matera-ricerca-mobile label { display:block; margin-bottom:8px; font-size:15px; }
.matera-ricerca-mobile form { display:flex; gap:8px; }
.matera-ricerca-mobile input { min-width:0; width:100%; flex:1; border:1px solid #595959; padding:8px; }
.matera-ricerca-mobile button { background:#1f4f8f; color:#fff; padding:8px 12px; font-size:15px; }
header input[type="search"]:focus-visible { outline:3px solid #121212; outline-offset:3px; box-shadow:0 0 0 6px #fff; }
/* Un solo indicatore di focus per il campo e il pulsante della ricerca. */
header .menu-item-nav-search.canvas .search-form {
  border:1px solid #718096;
  border-radius:5px;
}
header .menu-item-nav-search.canvas .search-form:focus-within {
  border-color:#1f4f8f;
  outline:2px solid #1f4f8f;
  outline-offset:3px;
}
header .menu-item-nav-search.canvas .search-field,
header .menu-item-nav-search.canvas .search-field:focus,
header .menu-item-nav-search.canvas .search-field:focus-visible {
  border:0 !important;
  outline:none !important;
  box-shadow:none !important;
}
header .menu-item-nav-search.canvas .search-submit { border:0 !important; margin:0; }
header .menu-item-nav-search.canvas .search-submit:focus-visible {
  outline:2px solid #fff !important;
  outline-offset:-5px;
  box-shadow:none !important;
}
@media (max-width:1280px) {
  header .builder-item--primary-menu { margin-left:0 !important; margin-right:0 !important; }
  header .hfg-slot.center, header .builder-item.has-nav { min-width:0; }
  header .nv-nav-wrap { max-width:100%; }
}
.matera-statistica .elementor-heading-title {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  font-family: Poppins, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #595959 !important;
  margin: 0 !important;
  padding-bottom: 3px;
  border-bottom: 4px solid #ff4f40;
}
.matera-statistica-value { white-space: nowrap; }
.matera-sottotitolo {
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700;
  margin: 0 0 1rem;
}
main a:focus-visible,
.elementor-widget-social-icons a:focus-visible,
.ha-image-grid__item:focus-visible,
.gallery-item a:focus-visible,
.elementor-image-carousel-wrapper [role="button"]:focus-visible {
  outline: 3px solid #121212 !important;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px #fff;
}
.mfp-wrap button:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px;
}
.elementor-lightbox [tabindex="0"]:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .ha-image-grid img, .elementor-image-carousel .swiper-slide,
  .mfp-wrap, .mfp-bg, .mfp-figure, .mfp-animated-image,
  .elementor-image-carousel .swiper-wrapper,
  .elementor-lightbox .dialog-message, .elementor-lightbox .swiper-wrapper { transition: none !important; animation: none !important; }
  .ha-image-grid img:hover { transform: none !important; }
}

/* Date ed etichette delle griglie Royal Addons: contrasto minimo 4,5:1 mantenendo le tinte originali. */
.wpr-grid-item-date .inner-block span[class*="wpr-grid-extra-text"],
.wpr-grid-item-date .inner-block [class*="wpr-grid-extra-icon"] i { color:#595959 !important; }
.elementor-element-f7dc03a .wpr-grid-item-date .inner-block,
.elementor-element-f7dc03a .wpr-grid-item-date .inner-block > span:not([class*="wpr-grid-extra"]) { color:#56607f !important; }
.elementor-element-cc62106 .wpr-grid-item-date .inner-block,
.elementor-element-cc62106 .wpr-grid-item-date .inner-block > span:not([class*="wpr-grid-extra"]) { color:#0e7c72 !important; }
/* Didascalie delle anteprime: la trasparenza abbassava il contrasto del testo bianco sotto 4,5:1. */
.elementor-widget-image figcaption.widget-image-caption { opacity:1 !important; }
/* I collegamenti nel testo si distinguono anche senza colore. */
main .elementor-widget-text-editor :is(p, li) a:not(.elementor-button) { text-decoration:underline !important; text-underline-offset:.15em; }
