/* =========================================================

 cb-custom.css

 THEME: SLIM LEGACY v1.2 (PA) / CATBIRD 2025/26

 Custom CSS file.
 Allows customization of site appearance:
 colors, typography, layout adjustments, etc.
 
 File CSS personalizzato.
  Permette di personalizzare la grafica del sito:
  colori, font, tipografia e altri aspetti visivi.
 
 ========================================================= */


/* ===============================
    COLOR PALETTE
    =============================== */

:root {
  --primary: var(--pa-primary);
  --secondary: var(--pa-secondary);
  --secondary-light: var(--pa-primary-light);
  --grey: var(--pa-border);
  --dark-grey: var(--pa-text);
  --white: var(--pa-bg);
  --border-dark: var(--pa-dark);
  --border-light: var(--pa-bg-alt);
  --background-light: var(--pa-bg-alt);
  --icon-light: var(--pa-border-dark);
  
  --menu-top-color: #fff;              /* colore voci 1° livello */
  --menu-top-hover-bg: #0066CC;
  --menu-top-hover-color: #fff;
  
  --menu-sub-color: var(--pa-text);    /* colore voci nel dropdown */
  --menu-sub-hover-bg: var(--pa-bg-alt-light);
  --menu-sub-hover-color: var(--pa-text);
}


/* ===============================
    GLOBAL
    =============================== */

body, body p {
  font-family: 'Titillium Web', sans-serif;
}


/* ===============================
    TYPOGRAPHY
    =============================== */

h1,h2,h3,h4,h5,h6 {
  font-family: 'Titillium Web', sans-serif;
  font-weight: 600!important;
}

#cb-main-content h1 { line-height: 1.15; }
#cb-main-content h2 { line-height: 1.2; }
#cb-main-content h3 { line-height: 1.25; }
#cb-main-content h4 { line-height: 1.3; }
#cb-main-content h5 { line-height: 1.35; }
#cb-main-content h6 { line-height: 1.4; }

h2 {
  font-size: 2.25rem;
}


a {
  color: var(--primary);
  text-decoration: underline;
}

a:hover {
  color: var(--secondary-light);
  text-decoration: underline;
}

ul.slim-nav {
  list-style: none;
  margin:0;
  padding: 0;
}

h1.slim-t-line-news {
  position: relative;
  border: 0px;
  margin: 2rem 0rem 2rem 0;
}

h1.slim-t-line-news:before {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 10%;
  height: 4px;
  background: var(--secondary-light);
  content: " ";
  z-index: 1;
  border-radius: 4px;
}

h2.slim-t-line-news{
  position: relative;
  display: inline-block;   /* oppure block + width:100% */
  padding-bottom: 10px;
  border-bottom: 1px solid var(--pa-border);
  width: 100%;
}

h2.slim-t-line-news::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;                /* così segue la stessa larghezza del titolo */
  bottom: -4px;             /* distanza tra le due linee */
  border-bottom: 1px solid var(--pa-border);
}

h3 {
  font-size: 1.75rem;
  position: relative;
  border: 0px;
  margin: 0 0rem 2rem 0;
}

h3:before {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 20%;
  height: 4px;
  background: var(--secondary-light);
  content: " ";
  z-index: 1;
  border-radius: 4px;
}

h3.slim-heading-line-thin,
h3.slim-heading-line {
  border: 0px;
}

h3 a {
  text-decoration: none;
}

h2.slim-heading-line {
  position: relative;
  border: 0px;
  margin: 0 0rem 2rem 0;
}

h2.slim-heading-line:before {
  position: absolute;
  left: 0;
  bottom: -10px;
  width: 20%;
  height: 4px;
  background: var(--secondary-light);
  content: " ";
  z-index: 1;
  border-radius: 4px;
}

h3.slim-t-alternative { /* titolo della notizia in home page */
  margin: 0 0 0.5rem 0;
}

h3.slim-t-alternative:before { 
  display: none;
}

.slim-font-xs {
  font-size: 0.875rem;
}

.slim-box-preview-home a {
  text-decoration: none;
}

.slim-box-preview-home a:hover {
  text-decoration: underline;
}

.slim-box-preview-home p a {
  text-decoration: underline;
}

.slim-abstract {
  font-size: 1.5rem!important;
  margin-bottom: 1rem;
}

/* ===============================
    VERT MENU
    =============================== */

.slim-nav.nav li a {
  color: var(--primary);
  font-size: 1.125rem;
  border: 0;
  text-decoration: none;
  font-weight: 600;
}

.slim-nav.nav li a:hover {
  color: var(--secondary-light);
}

/* ===============================
    SLIDER
    =============================== */

.slides-container .container-caption .contrast-caption {
    background: var(--border-dark)!important;
    opacity: 0.8;
    padding: 0px;
    padding: 10px;
}

/* SUPERSLIDES – target grande, dot piccolo */

:root{
  --cb-tap: 48px;   /* area cliccabile */
  --cb-dot: 16px;   /* dot visivo */
  --cb-gap: 4px;    /* distanza tra target */
  --cb-dot-color: #222;
}

/* contenitore: un po’ di “respiro” */

#slides .slides-pagination{
  bottom: 6px !important;
  padding: 10px 0 14px !important;
}

/* target grande ma visuale piccola */

#slides .slides-pagination a{
  width: var(--cb-tap) !important;
  height: var(--cb-tap) !important;
  margin: 0 var(--cb-gap) !important;

  border: 0 !important;                 /* <-- elimina il cerchio grande */
  background: transparent !important;
  background-image: radial-gradient(
    circle,
    transparent 0 calc((var(--cb-dot) / 2) - 2px),     /* centro vuoto */
    var(--cb-dot-color) calc((var(--cb-dot) / 2) - 2px) calc(var(--cb-dot) / 2), /* anello 2px */
    transparent calc(var(--cb-dot) / 2 + 1px)
  ) !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  border-radius: 999px !important;
  overflow: hidden !important;
  text-indent: -9999px !important;
  touch-action: manipulation;
}

/* attivo: pallino pieno piccolo */

#slides .slides-pagination a.current{
  background-image: radial-gradient(
    circle,
    var(--cb-dot-color) 0 calc(var(--cb-dot) / 2),
    transparent calc(var(--cb-dot) / 2 + 1px)
  ) !important;
}

/* focus tastiera */

#slides .slides-pagination a:focus-visible{
  outline: 3px solid var(--cb-dot-color);
  outline-offset: 2px;
}

/* Toggle pausa: solo target minimo, senza cambiare aspetto */

/* SUPERSLIDES – FIX Lighthouse tap target: bottone Pausa/Avvia >= 48x48 */
@media (hover: none) and (pointer: coarse){
  html body #slider-toggle.slider-toggle{
    box-sizing: border-box !important;

    /* dimensione reale (non solo min-) */
      height: 56px !important;
    min-height: 56px !important;
    min-width: 56px !important;
    width: auto !important;

    /* rettangolare, testo centrato */
    padding: 0 18px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    line-height: 1 !important;
    white-space: nowrap !important;

    /* nel dubbio: se qualche stile lo scala */
    transform: none !important;
  }

  /* se dentro c'è uno span, NON comprimere */
  html body #slider-toggle.slider-toggle span{
    width: auto !important;
    height: auto !important;
    line-height: inherit !important;
    font-size: inherit !important;
  }
}

/* abbassa i pallini per non sovrapporli alla didascalia */

:root{ --cb-pagination-shift: 10px; } /* aumenta/diminuisci (es. 12–26px) */

#slides .slides-pagination{
  bottom: 0 !important;
  padding: 0 !important;
  transform: translateY(var(--cb-pagination-shift));
}


/* ===============================
    BREADCRUMB
    =============================== */

.breadcrumb {
  font-size: 1rem;
  padding: 15px 5px;
  color: var(--dark-grey);
  background-color: var(--background-light);
  border-bottom: 1px solid var(--grey);
}

.breadcrumb a {
  margin: 0px 5px;
  color: var(--primary);
  text-decoration: none;
}

.breadcrumb a:hover {
  color: var(--secondary-light);
  text-decoration: underline;
}

/* ===============================
    PAGE
    =============================== */

.slim-photo-caption p.caption {
  font-size: 0.875rem;
}

.slim-widget-alternative p.caption {
  font-size: 0.875rem;
}

.slim-heading-box {
  font-size: 1.5rem;
  font-family: 'Titillium Web', sans-serif;
  color: var(--dark-grey);
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  background-color: var(--background-light);
  border: 1px solid var(--grey);
  margin-bottom: 1.1rem;
}

.slim-heading-box .fa {
    color: var(--grey);
}

.slim-widget-alternative {
  padding: 10px;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border: 1px solid var(--pa-border);
  /*background-color: var(--background-light);*/
  background-color: transparent;
  overflow: auto;
  min-height: 150px;
  box-sizing: border-box;
}

.slim-widget-alternative p.caption {
  padding: 0rem;
  margin: 0;
}

.slim-widget-alternative-txt {
  padding: 10px;
  border-radius: 3px;
  border: 1px solid var(--pa-border);
  background-color: var(--pa-bg-alt-light);
  overflow: auto;
  box-sizing: border-box;
}

.slim-box-preview.slim-box-preview-home h4 {
  line-height: 1.4;
  font-size: 1.25rem;
  margin: 0 0 0.875rem 0;
}

.slim-box-preview.slim-box-preview-home img {
  border-radius: 5px;
}


.slim-date {
  font-size: 0.875rem;
  padding: 0px 0px 0px 1.4rem;
  margin: 0.875rem 0px 0.875rem 0px;
}

.slim-date .fa {
  margin-right: 10px;
}

/* ===============================
    HEADER
    =============================== */

.slim-miniheader {
    border-bottom: 1px solid var(--grey);
    padding: 10px;
    background-color: var(--primary);
    color: var(--pa-text-secondary)!important;
}

.slim-miniheader p {
    margin: 0;
    color: var(--pa-text-secondary)!important;
}

.slim-miniheader .two.columns {
    text-align: right;
}

.slim-miniheader a {
    color: var(--pa-text-secondary)!important;
    text-decoration: underline;
}

.slim-miniheader .fa {
    font-size: 1rem;
    color: var(--secondary);
}

.slim-miniheader .fa:hover {
    color: var(--secondary-light);
}

.slim-header {
    background-color: var(--white);
    background: var(--white);
}

.slim-header h1 {
    color: var(--primary);
    line-height: 1;
    display: inline-flex;
    align-items: center;
}

.slim-header h2 {
    color: var(--dark-grey);
    line-height: 1.4;
    margin: 0px 0px 0px 10px;
    padding: 0px;
    padding-top: 4px!important;
    font-size: 1.25rem;
    display: inline-flex;
    align-items: center;
}


.slim-header .slim-logo {
    vertical-align: middle;
    display: inline-block;
    padding-right: 20px;
    width: 109px;
    float: left;
}

.slim-header .slim-logo-columns {
    padding: 20px 0px;
    display: flex;
    align-items: center;
    min-height: 100px;
}

.slim-header .slim-search-columns {
    padding: 20px 0px;
    display: flex;
    align-items: center;
    min-height: 100px;
    text-align: right;
}

.slim-header .slim-search-wrapper {
    position: relative;
    width: 100%;
}

.slim-header .slim-search-wrapper .slim-edit-icon:after {
    /*top: 36px;*/
}

.slim-header .slim-search-wrapper input {
    border: 1px solid var(--pa-border-dark)!important;
}

.slim-bg-header {
    background-color: var(--primary);
    border-bottom: 1px solid var(--secondary);
}

@media (max-width: 600px) {

  .slim-header h1 {
      line-height: 1;
      font-size: 1.25rem;
      margin-left: 0px;
      }

  .slim-header h2 {
      display: none;
      }

  .slim-header .slim-search-columns {
      min-height: 50px;
      }

  .slim-header .slim-logo-columns {
      padding: 10px 0px;
      min-height: 50px;
      }

  .slim-header .slim-search-wrapper {
      line-height: 60px;
      width: 100%;
      }
}



/* ===============================
    FOOTER
    =============================== */
    
footer .row {
  margin-bottom: 0!important;
}

.slim-archivio-notizie a {
    text-decoration: underline;
}

.slim-bg-footer {
    color: #fff;
    border-top: 6px solid var(--border-light);
    border-bottom: 0px solid var(--secondary);
    background: var(--primary); /* Old browsers */
}

.slim-bg-footer a {
    text-decoration: underline;
}

.slim-bg-footer-social {
    background-color: var(--primary);
    color: #fff;
    border-bottom: 1px solid var(--secondary)!important;
    border-top: 1px solid var(--secondary)!important;
}

.slim-bg-footer-social a {
    text-decoration: underline;
}

footer a, .slim-bg-footer a, .slim-bg-footer-social a {
    color: #fff!important;
}

.slim-bg-footer-social .fa-brands {
    color: #fff;
}

.slim-mini-footer {
    background-color: var(--pa-primary-dark)!important;
    color: #fff;
    border-bottom: 1px solid var(--secondary)!important;
}

.slim-mini-footer a {
    text-decoration: underline;
}


.slim-bg-footer h5 {
    font-size: 1.5rem;
}

.slim-mini-footer .slim-logo-footer {
    display: flex;
    align-items: center;
    padding: 5px;
    width: 100%;
    min-height: 100px;
}

button  {
    font-family: 'Titillium Web';
    }

/* ===============================
    CC BAR
    =============================== */

.cc_container .cc_message {
    font-size: 1em;
    line-height: 1.4!important;
}

.cc_container .cc_btn,
.cc_container .cc_btn:visited {
    color: var(--white)!important;
    background-color: var(--secondary)!important;
    transition: background 200ms ease-in-out,color 200ms ease-in-out,box-shadow 200ms ease-in-out;
    -webkit-transition: background 200ms ease-in-out,color 200ms ease-in-out,box-shadow 200ms ease-in-out;
    border-radius: 5px;
    -webkit-border-radius: 5px;
}

.cc_container .cc_btn:hover {
    color: var(--white)!important;
    text-decoration: none!important;
    background-color: var(--primary)!important;
}

.cc_container a,
.cc_container a:visited {
    color: var(--primary)!important;
    transition: 200ms color;
}

.cc_container a:hover {
    text-decoration: underline!important;
    color: var(--secondary)!important;
    transition: 200ms color;
}

.cc_container .cc_message {
    margin-left: 80px!important;
}

/* ===============================
    MAIN MENU
    =============================== */


#main-menu.sm-simple a{
  font-family: 'Titillium Web', sans-serif;
  font-size: 1rem !important;
  line-height: 1.6;
  letter-spacing: 0.12rem;
  text-transform: uppercase;
  font-weight: 600;
  border: 1px solid transparent !important;
}

/* ====== 1° LIVELLO (SOLO i link diretti figli del menu) ====== */
#main-menu.sm-simple > li > a{
  color: var(--menu-top-color) !important;
}

/* stato current 1° livello */
#main-menu.sm-simple > li > a.bj-current,
#main-menu.sm-simple > li > a.bj-current:hover,
#main-menu.sm-simple > li > a.bj-current:focus,
#main-menu.sm-simple > li > a.bj-current:active{
  background: var(--menu-top-hover-bg) !important;
  color: var(--menu-top-hover-color) !important;
  box-shadow: none;
  line-height: inherit;
}

/* hover/focus/active 1° livello */
#main-menu.sm-simple > li > a:hover,
#main-menu.sm-simple > li > a:focus,
#main-menu.sm-simple > li > a:active,
#main-menu.sm-simple > li > a.highlighted{
  background: var(--menu-top-hover-bg) !important;
  color: var(--menu-top-hover-color) !important;
  box-shadow: none;
}

/* ====== DROPDOWN (qualsiasi link dentro UL) ====== */
#main-menu.sm-simple ul li > a{
  color: var(--menu-sub-color) !important;
}

/* (se esiste la pagina corrente anche nel dropdown) */
#main-menu.sm-simple ul li > a.bj-current{
  background: var(--menu-sub-hover-bg) !important;
  color: var(--menu-sub-hover-color) !important;
  box-shadow: none;
}

/* hover/focus/active dropdown */
#main-menu.sm-simple ul li > a:hover,
#main-menu.sm-simple ul li > a:focus,
#main-menu.sm-simple ul li > a:active,
#main-menu.sm-simple ul li > a.highlighted{
  background: var(--menu-sub-hover-bg) !important;
  color: var(--menu-sub-hover-color) !important;
  box-shadow: none;
}


.main-menu-btn {
    background-color: var(--white);
}

.main-menu-btn .main-menu-btn-icon, .main-menu-btn-icon:before, .main-menu-btn-icon:after{
    background-color: var(--secondary);
}

#main-menu.sm-simple ul {
    padding: 0px;
}

#main-menu ul li a:before {
    display: block;
    content: '\f105';
    font-family: "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    color: var(--icon-light);
    left: 10px;
    top: 10px;
    text-shadow: none;
}

#main-menu ul li a {
    padding: 10px 26px!important;
    margin:0px;
    font-weight: 400!important;
}

#main-menu.sm-simple a span.sub-arrow:before {
    display: block;
    content: '\f107';
    font-family: "Font Awesome 7 Free" !important;
    font-weight: 900;
}

@media (max-width: 1200px), (hover: none) and (pointer: coarse) {
  
    #main-menu.sm-simple a span.sub-arrow {
        background-color: #ffffff!important;
    }
    
    #main-menu.sm-simple a span.sub-arrow:before {
        color: var(--pa-primary)!important;
    }
}
  
  

/* ===============================
    BUTTONS
    =============================== */

.slim-btn {
    display: inline-block;
    border: 0px solid transparent!important;
    background-color: transparent!important;
    padding: 6px 10px;
    line-height: 16px;
    margin: 0 0 10px 0;
    color: var(--primary);
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    cursor: pointer;
}

.slim-btn:hover {
    border: 0px solid transparent!important;
    background-color: transparent!important;
    color: var(--pa-primary-dark);
}

.slim-btn i {
    margin: 0px 3px;
    color: var(--primary);
}

.slim-btn-txt {
  padding: 10px 15px !important;
}

/* ===============================
    NEWS
    =============================== */

h4.slim-heading-line-thin {
  border: 0px;
}

.news-single .teaser-text {
  font-size: 1.5rem;
  color: #000;
}

.news-single .teaser-text p {
  font-size: 1.5rem;
  color: #000;
}

h4.selectable-text {
  font-size: 1.5rem;
  line-height: 1.6rem;
  font-weight: 400!important;
  margin: 0 0 1.4rem 0!important;
  color: #000;
}

.slim-date {
  position: relative;
}

.slim-date:before {
  display: block;
  content: '\f133';
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  position: absolute;
  color: var(--dark-grey);
  left: 0px;
  top: 0px;
  text-shadow: none;
}

.news-single .article .news-img-wrap {
  float: left;
  max-width: 100%;
  margin: 0 15px 0 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

.news-img-wrap {
  float: left;
  max-width: 100%;
  margin: 0 15px 0 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

.news-single .article .news-img-wrap img,
.news-img-wrap img {
  border-radius: 5px;
}


.news-img-caption {
  font-size: 1rem;
  color: var(--dark-grey);
  border-bottom: 1px solid var(--border-light);
  display: inline-block;
  margin: 10px 0px;
  padding: 0 0 8px 0;
  width: 100%;
}

/* ===============================
    GALLERY
    =============================== *//

figcaption.c-gallery__figure-caption.figure-caption {
    font-size: 1rem;
}

.c-gallery__image.figure-img {
    border-radius: 0.5rem;
}

figure.c-gallery__figure.figure {
    margin: 0.5rem;
}

/* ===============================
    COOKIE BANNER
    =============================== */

.cc-window {
    border-radius: 0.5rem;
    font-size: 1.1rem;
}

.cc-window .cc-link  {
    color: #ffffff!important;
}

.cc-window .dp--cookie-check {
    margin-top: 1rem;
}

.cc-window .dp--cookie-check fieldset{
    border: 0px;
}

.cc-btn {
    font-size: 1em;
    margin: 1rem;
    border-radius: 0.5rem;
    border: 1px solid;
    width: 100%;
}

.cc-btn.cc-allow-all {
    background-color: var(--pa-primary);
    color: var(--dp-cookie-palette-button-text);
}


/* stile “input” SOLO per campi di testo, non checkbox/radio */

.dp--cookie-check input:not([type="checkbox"]):not([type="radio"]),
.dp--cookie-check textarea,
.dp--cookie-check select {
  border: 1px solid var(--pa-border) !important;
  color: var(--pa-text) !important;
  padding: 6px 6px;
  outline: none;
  border-radius: 3px;
  max-width: 100%;
  display: inline-block;
  margin: 0;
  vertical-align: top;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
}

.dp--cookie-check input[type="checkbox"]{
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  width: auto !important;
  height: auto !important;
  vertical-align: middle;
  margin: 0 .5rem 0 0;
}

.dp--cookie-check label{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}


/* ===============================
   COOKIE BANNER – CHECKBOX
   =============================== */

.cc-window .dp--cookie-check{
  display: flex;
  align-items: center;
  justify-content: flex-start !important; /* override space-between del plugin */
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: .5rem;
  padding: .75rem .75rem;
  border: 0px;
  border-radius: .3rem;
}

/* label: checkbox + testo allineati */
.cc-window .dp--cookie-check label{
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin: 0;
  cursor: pointer;
  white-space: nowrap;
  font-size: 1rem;
  line-height: 1.2;
}

/* checkbox nativi: reset + ingrandimento reale */
.cc-window .dp--cookie-check input[type="checkbox"]{
  appearance: auto;
  -webkit-appearance: auto;
  transform: scale(1.4);          /* cambia valore se li vuoi più o meno grandi */
  transform-origin: center;
  margin: 0 .6rem 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  vertical-align: middle;
  accent-color: #2b5cb8;
}

/* stato disabilitato (cookie necessari) */
.cc-window .dp--cookie-check input[type="checkbox"]:disabled{
  opacity: .7;
  cursor: not-allowed;
}

.cc-window .dp--cookie-check label:has(input:disabled){
  opacity: .85;
  cursor: not-allowed;
}

.cc-window .powered-by, .cc-window-config .powered-by {
    padding: .5rem;
    text-align: right;
    font-size: 0.8rem;
    opacity: .8;
    color: #ffffff;
}

.cc-window .powered-by a,
.cc-window-config .powered-by a {
    color: #ffffff!important;
}

/* ===============================
   WCAG/UX – FOCUS VISIBLE (KEYBOARD ONLY) + DISTINCT CHECKED STATE
   =============================== */

/* base “pillola” */
.cc-window .dp--cookie-check label{
  padding: .35rem .55rem;
  border-radius: .6rem;
  transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* stato checked: evidente, NON è il focus */
.cc-window .dp--cookie-check label:has(input[type="checkbox"]:checked){
  background: rgba(255,255,255,.10);
  border-color: rgba(255,255,255,.70);
  font-weight: 600;
}

/* niente outline brutto sul checkbox */
.cc-window .dp--cookie-check input[type="checkbox"]{
  outline: none !important;
}

/* FOCUS: solo se l'utente sta usando la tastiera */
.cc-window .dp--cookie-check input[type="checkbox"]:focus{
  outline: none;
}

/* focus ring pulito (tastiera) */
.cc-window .dp--cookie-check input[type="checkbox"]:focus-visible{
  outline: none;
}

.cc-window .dp--cookie-check label:has(input[type="checkbox"]:focus-visible){
  box-shadow: 0 0 0 .22rem rgba(255,255,255,.85);
}

/* hover leggero (mouse) */
.cc-window .dp--cookie-check label:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.55);
}

/* ===============================
   COOKIE –  "revoke"
   =============================== */

.dp--revoke{
  position: fixed;
  z-index: 9999;

  /* posizione: basso a destra */
  bottom: 1rem !important;
  right: 1rem !important;
  top: auto !important;
  left: auto !important;

  /* “chiuso” tondo */
  height: 3.75rem;              /* 60px */
  min-width: 3.75rem;           /* 60px */
  border-radius: 1.875rem;      /* 30px */

  /* permette espansione in hover */
  max-width: 3.75rem;           /* chiuso = 60px */
  overflow: hidden;
  white-space: nowrap;
  margin: 0 !important;
  padding: .5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .6rem;
  background-color: var(--dp-cookie-palette-popup-background);
  color: var(--dp-cookie-palette-popup-text);
  cursor: pointer;
  transition: max-width .3s ease-in-out, background-color .3s ease-in-out;
}

/* in hover/focus: si allarga e la scritta diventa leggibile */
.dp--revoke:hover,
.dp--revoke:focus-visible{
  max-width: 14rem;             /* regola quanto si espande */
  justify-content: flex-start;  /* icona + testo “a sinistra” quando aperto */
}

/* icona */
.dp--revoke i{
  font-size: 2.25rem;           /* 36px */
  pointer-events: none;
}

/* focus WCAG (ring) */
.dp--revoke:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: .25rem;
}

/* ===============================
  SEARCH / TYPO3 PLUGIN
 =============================== */


.tx-kesearch-pi1 {
    font-family: inherit!important;
}

#kesearch_results .result-list-item-type-page {
    border-bottom: 1px solid var(--pa-border-dark);
    padding-bottom: 1rem!important;
    margin-bottom: 1rem!important;
}

#kesearch_results .result-list-item {
    border-bottom: 1px solid var(--pa-border-dark);
    padding-bottom: 1rem!important;
    margin-bottom: 1rem!important;
} 

div.kesearchbox {
    margin: 0 0 20px 0!important;
}

#form_kesearch_pi1 #ke_search_sword,
#form_kesearch_pi1 #kesearch_filters select{
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  height: 44px !important; 
  font-size: 1.05rem !important;
  line-height: 44px !important;
  border-radius: 0.45rem !important;
  box-sizing: border-box !important;
  margin-bottom: 1rem;
  width: 300px!important;
  font-family: inherit!important;
}

#form_kesearch_pi1 #kesearch_filters select{
  padding-right: 2.25rem !important; 
}

#form_kesearch_pi1 #kesearch_filters{
  position: relative;
  display: block !important;
  width: 300px !important; 
}

/* nascondi freccia nativa */
#form_kesearch_pi1 #kesearch_filters select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100% !important;
  padding-right: 2.2rem !important; /* spazio per l’icona */
  background-image: none !important; /* evita caret “grafico” di alcuni temi */
}

/* icona centrata sulla select (altezza 44px) */

#form_kesearch_pi1 #kesearch_filters::after{
  content: "\f107";
  font-family: "Font Awesome 7 Free";  /* o 7 Free */
  font-weight: 900;
  position: absolute;
  right: 14px;
  top: 0;                 /* <-- parte dall’alto del contenitore */
  height: 44px;           /* <-- uguale alla select */
  display: flex;
  align-items: center;    /* <-- centro verticale */
  pointer-events: none;
  color: currentColor;
}

/* =========================================================
   SLIDEMENU / NAVGOCO
   ========================================================= */

nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav,
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav *{
  box-sizing: border-box;
}

/* link: full width + spazio a destra per la caret */
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li > a{
  display: block !important;
  width: 100% !important;
  position: relative;
  padding-right: 2.4rem !important;
}

/* caret navgoco (lo <span> inserito/gestito dal plugin) */
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li > a > span{
  position: absolute !important;
  right: .2rem;
  top: 50%;
  transform: translateY(-50%);
  float: none !important;
  width: 2rem;
  height: 2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

/* caret: stessa icona, ruota su open */
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li > a > span::after{
  content: "\f107" !important; /* chevron-down */
  font-family: "Font Awesome 7 Free" !important;
  font-weight: 900 !important;
  color: var(--pa-primary) !important;
  display: inline-block;
  transform: rotate(0deg);
  transition: transform .18s ease-in-out;
}

nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li.open > a > span::after{
  transform: rotate(180deg);
}

/* togli freccia a sinistra SOLO sulle voci con sottomenu (classe aggiunta via JS) */
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li > a.has-caret::before{
  content: none !important;
  display: none !important;
}

/* sottovoci: niente pallini e niente freccia a sinistra */
nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li li{
  list-style: none !important;
}

nav[aria-label="Navigazione secondaria"] #slidemenu.slim-nav.nav li li > a::before{
  content: none !important;
  display: none !important;
}