/* Post Title */

.post .entry-header h1 {
  text-align: center;
}



/* Nasconde la scritta Richiedto ma lo fa leggere in caso WCGA AA */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

/* Centratura Totale Universale (Tutti i dispositivi) */

.widget_polylang,
.widget_polylang > div {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  float: none !important;
  /* Rimuove eventuali float del tema */
  text-align: center !important;
}

.widget_polylang ul {
  list-style: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-wrap: wrap;
  /* Permette di andare a capo se ci sono molte lingue su schermi minuscoli */
  justify-content: center !important;
  gap: 15px;
  /* Distanza di sicurezza WCAG AA tra gli elementi */
}

/* Link e Accessibilità WCAG AA */

.widget_polylang li a {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 12px;
  /* Target size minima 44px per touch (WCAG 2.5.5) */
  text-decoration: none;
  min-height: 44px;
  color: inherit;
}

/* Indicatore Focus Tastiera */

.widget_polylang li a:focus {
  outline: 3px solid #005a87;
  outline-offset: 2px;
}

/* Identificazione Lingua Attiva (Non solo colore) */

.widget_polylang .current-lang-item a {
  font-weight: bold;
  border-bottom: 2px solid currentColor;
  /* Sottolineatura per distinzione visiva AA */
}

/* Fix Bandiere

.widget_polylang img {
  display: inline-block;
  vertical-align: middle;
  margin: 0 4px;
}  */

/* Classe standard per nascondere testo (WCAG AA) */

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}


/* Bold Tag Footer*/

/* Flowserve Corp. modificato colore da #ee1c25; per AA*/

.site-info span b {
  color: #d41a1f;
}

body,
button,
input,
select,
textarea {
  font-size: 1.2rem;
  line-height: 1.6;
}

.cat-links {
  display: none;
}

.panel-grid-cell .widget-title {
  font-weight: bold;
  text-align: left;
  line-height: 100px;
  /*   margin-top: 14; */
}

.main-navigation ul > li a {
  padding-left: 15px;
}

/* */

.linkTstNoUnder {
  text-decoration: none;
}

/* CSS per Responsive CF7 Form con 2 Colonne */

/* Let’s look at the css styles for our two column grid. */

/* CSS per Responsive CF7 Form con 2 Colonne e WCAG AA Optimizations */

/* === STRUTTURA E GRIGLIA === */

#responsive-form {
  max-width: 990px;
  margin: 0 auto;
  width: 100%;
  /* Corretto */
}

.form-row {
  width: 100%;
}

.column-half,
.column-full {
  float: left;
  position: relative;
  padding: 0.65rem;
  width: 100%;
  /* BOX-SIZING MODERNIZZATO */
  box-sizing: border-box;
  /* Corretto */
}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}

/**---------------- Media query ----------------**/

@media only screen and (min-width: 48em) {
  .column-half {
    width: 50%;
  }
}

/* === STILI FORM & ACCESSIBILITÀ === */

/* WCAG: Etichette visibili e distanziate (richiede il for/id implementato prima) */

.wpcf7 label {
  display: block;
  margin-bottom: 5px;
  /* Spazio tra label e input */
  font-weight: bold;
  color: #333333;
  /* Assicurare un contrasto elevato */
}

/* WCAG: Stile per tutti i campi di input */

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
  transition: border-color 0.2s ease-in-out;
  /* Animazione leggera */
}

/* WCAG: Migliorare l'indicatore di Focus (Success Criterion 2.4.7) */

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus,
.wpcf7 input[type="checkbox"]:focus + span.wpcf7-list-item-label,
.wpcf7-submit:focus {
  outline: 2px solid #CA0002;
  /* Colore forte per l'outline */
  outline-offset: 2px;
  border-color: #CA0002;
  /* Opzionale: rimuove lo sfondo su focus se non lo vuoi */
  /* background: #f9f9f9; */
}

/* === STILI BOTTONE SUBMIT === */

.wpcf7-submit {
  float: right;
  background: #CA0002;
  color: #fff;
  text-transform: uppercase;
  border: none;
  padding: 8px 20px;
  cursor: pointer;
  /* Transizione per l'effetto hover */
  transition: background-color 0.2s ease-in-out;
}

.wpcf7-submit:hover {
  background: #ff0000;
}

/* === MESSAGGI DI STATUS E ERRORI (WCAG: Contrasto) === */

/* Errore di validazione campo (Not valid tip) */

span.wpcf7-not-valid-tip {
  text-shadow: none;
  font-size: 12px;
  color: #fff;
  background: #ff0000;
  /* Contrasto OK */
  padding: 5px;
}

/* Messaggi di Errore Generali (Validation Errors) */

div.wpcf7-validation-errors {
  text-shadow: none;
  border: transparent;
  background: #f9cd00;
  /* Giallo */
  padding: 5px;
  /* Controlla il contrasto tra #9C6533 e #f9cd00: il rapporto è basso (circa 2.5:1), NON è WCAG AA compliant! */
  /* MODIFICARE PER WCAG AA */
  color: #333333;
  /* Usa un colore molto scuro per correggere il basso contrasto */
  text-align: center;
  margin: 0;
  font-size: 12px;
}

/* Messaggi di Successo (Mail Sent OK) */

div.wpcf7-mail-sent-ok {
  text-align: center;
  text-shadow: none;
  padding: 5px;
  font-size: 12px;
  background: #59a80f;
  /* Verde */
  border-color: #59a80f;
  color: #ffffff;
  /* Contrasto OK */
  margin: 0;
}

/* Alert Division per CF7 da background: #d4d4d4  a #ffffff*/

.wpcf7 .init .alert-warning {
  background-color: #ffffff;
}



/*  Polylang - Personalizza: bandiere in orizontale, bandiere senza punto iniziale */

.lang-item {
  list-style: none;
}

/* min space menu */

.main-navigation ul > li a {
  padding-right: 20px;
}

/* Riduce spazio tra due righe industries oil & gas */

.panel-row-style-for-515-1 .widget .so-widget-sow-editor-base h4 {
  line-height: 3.6px;
}

/* alzare immagine nella finestra della accordion  */

.lsow-panel-content p {
  position: relative;
  top: -30px;
}

/* ridurre spazio tra il testo e il bordo inferiore della tab  */

.lsow-active .lsow-panel-content {
  margin-bottom: -50px;
}

/* Iframe reCaptcha Google v3 with cf7

.grecaptcha-badge {
  display: none;
} */

/* pulisce lo stile css prima di utilizzare l'altro del successivo componente  */

/* 980px and below screen sizes */

@media (max-width:980px) {
  /* Mobile navigation */

  #mobile-navigation {
    text-align: center;
    text-shadow: rgba(0, 0, 0, 0.3) 0px 1px 1px;
  }

  /* Link */

  #primary-menu .menu-item a {
    margin-bottom: -12px;
  }
}

/* Cmplz header */

#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
  font-weight: 600;
  transform: translatex(0px) translatey(0px);
}

/* Cmplz title */

.cmplz-cookiebanner .cmplz-header .cmplz-title {
  font-weight: 600;
  color: rgba(34,34,34,0.78);
  transform: translatey(6px);
}

/* Thumbnail Image */

.cmplz-header .cmplz-logo img {
  transform: translatex(193px) translatey(-17px);
}

/* Widget Title */

#pg-2033-13 .widget h3 {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.1em;
  text-align: center;
}



/* Applica lo stile a tutti i link del widget tassonomia */

.so-widget-sow-taxonomy .sow-taxonomy a {
  /* 1. Rende il link non cliccabile per l'utente */
  pointer-events: none !important;
  cursor: default !important;
  /* 2. Estetica: lo fa apparire come testo normale (non blu, non sottolineato) */
  color: #333333 !important;
  /* Colore testo scuro per contrasto WCAG */
  text-decoration: none !important;
  /* 3. Accessibilità WCAG 1.4.12: Spaziatura e Leggibilità */
  display: inline-block;
  font-size: 22px;
  line-height: 1.5;
  word-spacing: 0.16em;
  /* Requisito minimo 0.16 x font-size */
  margin-right: 15px;
  /* Spazio visivo tra le categorie */
}

/* Rimuove lo stato di focus per gli utenti che usano la tastiera */

.so-widget-sow-taxonomy .sow-taxonomy a:focus {
  outline: none !important;
}

/* Polylang Switcher in Menu */

/* Nasconde la lingua corrente nel sottomenu */

.main-navigation ul ul li.current-lang {
  display: none !important;
}

/* WCAG AA: Migliora la visibilità del focus per chi usa la tastiera */

.main-navigation ul li a:focus {
  outline: 2px solid #005a9c !important;
  outline-offset: -2px;
  background-color: rgba(0,0,0,0.05);
}

/* Assicura che il contrasto del sottomenu sia a norma WCAG */

.main-navigation ul ul {
  background-color: #ffffff;
  /* Sfondo chiaro */
}

.main-navigation ul ul li a {
  color: #000000 !important;
  /* Testo scuro per massimo contrasto */
}

/* Centra i titoli di TUTTI i widget Editor di SiteOrigin */

.so-widget-sow-editor h3.widget-title {
  text-align: center !important;
  width: 100%;
}

/* Centra i titoli di TUTTI i widget Social Media Buttons di SiteOrigin */

.widget_sow-social-media-buttons h3.widget-title {
  text-align: center !important;
  width: 100%;
}

/* Link for Polylang dropdown list */

.sub-menu .menu-item a {
  padding-bottom: 5px !important;
  padding-top: 8px !important;
  padding-left: 7px !important;
}

/* Centra i titoli di TUTTI i widget Editor di SiteOrigin */

.so-widget-sow-editor h3.widget-title {
  text-align: center !important;
  width: 100%;
}

/* Centra i titoli di TUTTI i widget Social Media Buttons di SiteOrigin */

.widget_sow-social-media-buttons h3.widget-title {
  text-align: center !important;
  width: 100%;
}

.nascondi-voce {
  display: none !important;
}

/* Widget Title */

#pg-w69d04052dfe64-0 .widget h3 {
  margin-top: -31px !important;
  margin-bottom: -28px !important;
}

/* Division */

#pg-w69d04052dfe64-0 .widget .social-media-button-container {
  position: relative;
  top: -16px;
}

/* Alziamo il limite a 1024px per coprire anche i tablet */

@media (max-width: 1024px) {
  /* 1. Forza il contenitore a centrare tutto */

  #mobile-navigation ul li.menu-item-has-children {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
  }

  /* 2. Link "Lingua" - Centrato e compatto */

  #mobile-navigation ul li.menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    padding: 10px 0 0px 25px !important;
    /* Ridotto il bottom a 0 per vicinanza */
    text-align: center;
  }

  /* 3. Sistema la freccina del dropdown */

  #mobile-navigation ul li.menu-item-has-children > .dropdown-toggle {
    display: inline-block !important;
    position: static !important;
    margin-left: 5px !important;
    width: 25px !important;
    height: auto;
    line-height: inherit;
  }

  /* 4. Sottomenu ORIZZONTALE - Valido anche per tablet */

  #mobile-navigation ul li ul.sub-menu {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0px 0 10px 0 !important;
    /* Margine superiore azzerato */
    list-style: none !important;
    background: transparent !important;
    /* Evita sfondi grigi del tema */
  }

  /* 5. Singole voci lingua */

  #mobile-navigation ul li ul.sub-menu li {
    width: auto !important;
    margin: 0 8px !important;
    border: none !important;
    /* Rimuove linee divisorie del tablet */
  }

  /* 6. Link delle lingue */

  #mobile-navigation ul li ul.sub-menu li a {
    display: inline-block !important;
    padding: 5px !important;
    text-align: center !important;
  }
}

/* Rigo rosso all'80% della colonna sotto il titolo */

.page .entry-title {
  border-bottom: 3px solid #ff0f0f;
  /* Spessore e colore */
  padding-bottom: 15px;
  /* Distanza tra titolo e rigo */
  width: 80%;
  /* Larghezza del rigo rispetto alla colonna */
  margin: 0 auto 30px auto;
  /* Centra il titolo/rigo e distanzia dal contenuto */
  text-align: center;
  /* Centra il testo del titolo */
  display: block;
  /* Permette alla larghezza (width) di funzionare correttamente */
}

/* Reset per la Homepage */

.home .entry-title {
  border-bottom: none !important;
  width: auto !important;
  margin: 0 !important;
}

#colophon .widgets .widget-title {
  text-align: center;
}

#colophon .widgets aside:last-child {
  text-align: center;
}



/* centra i widgets delle sedi e dei contatti e social - solo ita */

#pg-w69ef2aa7370d2-0.panel-grid.panel-no-style {
  text-align: center;
}


/* Sezione per gestione grafica della pagina Impressum */
/* Container della pagina Impressum */
#impressum {
    max-width: 800px;
    margin: 40px auto;
    padding: 20px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.6;
    color: #333;
}

/* Titolo principale */
#impressum h1 {
    font-size: 2.2rem;
    color: #003366; /* Un blu istituzionale */
    border-bottom: 3px solid #eee;
    padding-bottom: 10px;
    margin-bottom: 30px;
}

/* Sottotitoli dei blocchi */
#impressum h2 {
    font-size: 1.4rem;
    color: #444;
    margin-top: 25px;
    margin-bottom: 10px;
}

/* Testi legali piccoli (Disclaimer) */
#impressum h3 {
    font-size: 1.1rem;
    color: #666;
    margin-top: 20px;
}

/* Blocchi di informazioni aziendali */
.impressum-block {
    margin-bottom: 20px;
}

/* Stile per i link */
#impressum a {
    color: #0066cc;
    text-decoration: none;
    transition: color 0.2s;
}

#impressum a:hover {
    text-decoration: underline;
    color: #003366;
}

/* Testo del disclaimer (leggermente più piccolo) */
.legal-text {
    font-size: 0.95rem;
    color: #555;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 8px;
    margin-top: 30px;
}

/* Separatore */
#impressum hr {
    border: 0;
    border-top: 1px solid #eee;
    margin: 40px 0;
}

/* Ottimizzazione Mobile */
@media (max-width: 600px) {
    #impressum {
        padding: 15px;
        margin: 20px auto;
    }
    #impressum h1 {
        font-size: 1.8rem;
    }
}


/* Blocco Informazioni Aziendali - Ottimizzato WCAG AA & Mobile */
.company-info-block {
    margin: 30px 0;
    padding: 20px;
    background-color: #f8f9fa; /* Grigio chiarissimo per staccare dal fondo senza ridurre il contrasto */
    border-left: 4px solid #0056b3; /* Tratto blu per dare enfasi visiva */
    border-radius: 4px;
}

/* Stile per i paragrafi interni */
.company-info-block p {
    font-size: 1rem; /* Dimensione fluida basata sulle impostazioni del browser dell'utente */
    line-height: 1.625; /* Interlinea ottimale per l'accessibilità WCAG (minimo 1.5) */
    margin-bottom: 15px;
    color: #212529; /* Grigio scurissimo/nero per massimo contrasto del testo */
}

/* Evidenziazione dei titoli interni (es. Orari di apertura) */
.company-info-block strong {
    color: #000000;
    display: inline-block;
    margin-bottom: 2px;
}

/* Ottimizzazione dei link (Telefono ed Email) per l'accessibilità */
.company-info-block a {
    color: #0056b3; /* Colore blu con contrasto superiore a 4.5:1 */
    text-decoration: underline; /* Sottolineatura mantenuta per rendere immediatamente chiaro che è un link */
    font-weight: 600;
    transition: color 0.2s ease-in-out;
}

/* Stato di focus e hover per utenti che usano tastiera o mouse */
.company-info-block a:hover,
.company-info-block a:focus {
    color: #003366; /* Blu più scuro al passaggio del mouse */
    text-decoration: none; /* Rimuove la sottolineatura solo al passaggio del mouse per feedback visivo */
}

/* Adattamento per dispositivi mobili (schermi piccoli)   */
@media (max-width: 768px) {
    .company-info-block {
        padding: 15px;
        margin: 20px 0;
    }
}

body { font-family: 'Roboto', Arial, sans-serif !important; }
h1, h2, h3, h4, h5, h6 { font-family: 'Montserrat', Arial, sans-serif !important; }



/* Cookie Policy Container */
.audco-cookie-container {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
    color: #222222 !important;
    line-height: 1.65 !important;
    max-width: 900px !important;
    margin: 0 auto !important;
    padding: 10px !important;
}

/* Intro Accent Box */
.audco-cookie-intro {
    border-left: 4px solid #004b93 !important;
    padding-left: 15px !important;
    margin-bottom: 30px !important;
}
.audco-cookie-intro p {
    font-style: italic !important;
    color: #555555 !important;
    margin: 0 !important;
    font-size: 11pt !important;
}

/* Sections & Typography */
.audco-cookie-container section {
    margin-bottom: 35px !important;
}
.audco-cookie-container h2 {
    color: #002d62 !important;
    font-size: 18pt !important;
    border-bottom: 2px solid #e2e8f0 !important;
    padding-bottom: 8px !important;
    margin-bottom: 15px !important;
    font-weight: 700 !important;
}
.audco-cookie-container h3 {
    color: #004b93 !important;
    font-size: 14pt !important;
    margin-top: 25px !important;
    margin-bottom: 10px !important;
    font-weight: 600 !important;
}
.audco-cookie-container p {
    margin-bottom: 15px !important;
}
.audco-cookie-container a {
    color: #004b93 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
}
.audco-cookie-container ul {
    padding-left: 20px !important;
    margin-top: 10px !important;
    margin-bottom: 20px !important;
}
.audco-cookie-container li {
    margin-bottom: 8px !important;
}

/* Responsive Accessible Table */
.audco-table-wrapper {
    margin-bottom: 35px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}
.audco-cookie-table {
    width: 100% !important;
    border-collapse: collapse !important;
    min-width: 600px !important;
    font-size: 10.5pt !important;
    text-align: left !important;
}
.audco-cookie-table th {
    background-color: #002d62 !important;
    color: #ffffff !important;
    padding: 12px !important;
    border: 1px solid #cbd5e1 !important;
    font-weight: 600 !important;
}
.audco-cookie-table td {
    padding: 12px !important;
    border: 1px solid #cbd5e1 !important;
    vertical-align: top !important;
}
.audco-cookie-table code {
    background-color: #f1f5f9 !important;
    padding: 2px 6px !important;
    border-radius: 4px !important;
    font-family: monospace !important;
    font-size: 9.5pt !important;
    color: #002d62 !important;
}
.audco-row-white { background-color: #ffffff !important; }
.audco-row-alt { background-color: #f8fafc !important; }

/* Contact Box */
.audco-cookie-contact {
    background-color: #f8fafc !important;
    border: 1px solid #cbd5e1 !important;
    padding: 20px !important;
    border-radius: 8px !important;
}
.audco-cookie-contact h2 {
    margin-top: 0 !important;
    border-bottom: 1px solid #cbd5e1 !important;
}
.audco-company-name {
    font-weight: bold !important;
    color: #002d62 !important;
    font-size: 14pt !important;
    margin: 0 0 10px 0 !important;
}