:root {
    --cliente-primary-color: #008ecd;
    --cliente-secondary-color: #a4d3e5;
    --cliente-alternative-color: #90ba1e;
    --cliente-link-color: #1b4e75;
    --cliente-link-color-hover: #042e4f;
    --cliente-link-color-header: #1d1d1b;
    --cliente-link-color-header-hover: #000000;
    --cliente-header-bg-color: #f2f4fa;
    --cliente-it-footer-main-bg-color: #f7fafd;
    --cliente-it-footer-small-prints-bg-color: #90ba1e;
    --cliente-it-footer-main-link-color: #1d1d1b;
    --cliente-it-footer-main-link-color-hover: #000000;
    --cliente-it-footer-small-prints-link-color: #1d1d1b;
    --cliente-it-footer-small-prints-link-color-hover: #000000;
}

/* ******** */
/* LINKS */
a,
.nav-tabs .nav-link,
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link,
.breadcrumb-container .breadcrumb .breadcrumb-item a,
.btn-dropdown {
	color: var(--cliente-link-color) !important;
}

a {
  text-decoration: underline;
}

a:hover {
	color: var(--cliente-link-color-hover) !important;
}


/* **************** */
/* HEADER + NAVBAR */
#toolbar-bar a {
  color: #ffffff !important;
}

#toolbar-item-administration-tray a {
  color: var(--cliente-link-color-header)!important;
}


.it-header-slim-wrapper {
	background-color: var(--cliente-alternative-color);
}

.it-header-slim-wrapper .it-header-slim-wrapper-content .navbar-brand {
  color: var(--cliente-link-color-header) !important;
  font-weight: 600;
}

/* .it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone button,
.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone .it-access-top-wrapper>a,
.it-header-slim-wrapper .it-header-slim-wrapper-content .header-slim-right-zone button,
.it-header-slim-wrapper .it-header-slim-wrapper-content .header-slim-right-zone .it-access-top-wrapper>a {
  background-color: var(--cliente-secondary-color) !important;
} */


a#dropdown-account {
  background-color: var(--cliente-link-color);
	border-color: var(--cliente-link-color);
  color: #ffffff !important;
}


.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone a,
.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone .dropdown-menu,
.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone .dropdown-menu:before,
.it-header-slim-wrapper .it-header-slim-wrapper-content .it-header-slim-right-zone .dropdown-menu a span.list-item-title {
  background-color: var(--cliente-link-color);
  color: #ffffff !important;
}

/* .it-header-slim-wrapper .it-header-slim-wrapper-content .dropdown-menu a,
.dropdown-menu.dark .link-list-wrapper ul li a span,
.dropdown-menu.dark .link-list-wrapper ul li a:hover span,
.dropdown-menu.dark .link-list-wrapper ul li h3,
.dropdown-menu.dark .link-list-wrapper ul li .h3,
.dropdown-menu.dark .link-list-wrapper ul li i {
  color: var(--cliente-link-color-header) !important;
} */

.it-header-center-wrapper,
.it-header-navbar-wrapper,
.navbar,
.navbar .navbar-collapsable .menu-wrapper {
	background-color: var(--cliente-header-bg-color);
}

.custom-navbar-toggler svg {
  fill: var(--cliente-link-color) !important;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .it-brand-title {
    font-weight: 700;
		text-transform: uppercase;
  }

@media (min-width: 992px) {
  .it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .it-brand-title {
    font-weight: 700;
		text-transform: uppercase;
  }
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon svg {
  stroke: var(--cliente-link-color);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon:hover {
  background-color: var(--cliente-link-color);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-search-wrapper a.rounded-icon:hover svg {
  	stroke: #ffffff;
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone {
  color: var(--cliente-link-color-header);
}

.it-header-center-wrapper .it-header-center-content-wrapper .it-right-zone .it-socials ul .icon {
  fill: var(--cliente-link-color) !important;
}


.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link,
.navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link {
  color: var(--cliente-link-color-header);
  font-weight: 600;
	text-transform: uppercase;
}

.navbar .navbar-collapsable .navbar-nav li.nav-item a.nav-link:hover,
.navbar .navbar-collapsable .navbar-nav li.nav-item button.nav-link:hover {
  color: var(--cliente-link-color-header-hover);
  font-weight: 600;
	text-transform: uppercase;
}

/* ******** */
/* WELCOME MESSAGE */
#it-welcome h1 {
	color: #1b4e75;
	font-size: 2.5rem;
}


/* ******** */
/* RATING */
section.page-clarity-rating {
  background-color: var(--cliente-header-bg-color) !important;
}

/* ******** */
/* FOOTER */
.it-footer-main {
  background-color: var(--cliente-it-footer-main-bg-color);
}

.it-footer-main p {
  color: var(--cliente-link-color-header) !important;
}

footer .it-footer-main .it-brand-wrapper .it-brand-text {
  color: var(--cliente-link-color-header);
  font-weight: 600;
}

footer h3 {
  font-weight: 600;
  color: var(--cliente-link-color-header);
}

footer .it-footer-main a {
  color: var(--cliente-link-color-header) !important;
  text-decoration: underline;
}

footer .it-footer-main a:hover {
  color: var(--cliente-it-footer-main-link-color-hover) !important;
  text-decoration: none;
}

.it-footer-small-prints {
  background-color: var(--cliente-it-footer-small-prints-bg-color);
  
}

.it-footer-small-prints p {
  color: var(--cliente-it-footer-small-prints-link-color);
}


footer .it-footer-small-prints a {
  color: var(--cliente-it-footer-small-prints-link-color) !important;
  text-decoration: underline;
}

footer .it-footer-small-prints a:hover {
  color: var(--cliente-it-footer-small-prints-link-color-hover) !important;
  text-decoration: none;
}


/* ******** */
/* TOC */

#toc-js-block .nav-item.toc-active a {
  border-left: 2px solid var(--cliente-link-color);
}


/* ******** */
/* CHIP */

.chip {
	border-color: var(--cliente-link-color);
	background: #fff;
}

.chip .chip-label {
	color: var(--cliente-link-color);
}

.chip:is(a):hover:not(.chip-disabled) {
	background-color: var(--cliente-link-color);
}

.chip:is(a):hover:not(.chip-disabled) .chip-label {
	color: #fff;
}


/* ******** */
/* BUTTONS */
.card .categoryicon-top .icon {
  fill: var(--cliente-link-color);
}

/* ******** */
/* BUTTONS */

.btn-primary {
  color: #fff;
	background-color: var(--cliente-link-color);
	border-color: var(--cliente-link-color);
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:not(:disabled):not(.disabled):active {
	background-color: var(--cliente-link-color-hover);
	color: #fff;
	border-color: var(--cliente-link-color-hover);
}


/* ******** */
/* LOGIN */
div#page-user-login {
	background-color: #ffffff !important;
}

/* =========================================================
   GLOBAL – regole comuni per tutti i clienti
   ========================================================= */
.it-page-sections-container p,
.it-page-sections-container ol,
.it-page-sections-container ul {
	font-family: Lora;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

#it-main-content {
  padding-bottom: 5rem;
}

/* header */
.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .icon {
  width:auto !important;
}

@media (min-width: 992px) {
	.it-header-center-wrapper .it-header-center-content-wrapper .it-brand-wrapper a .icon {
    width:auto !important;
  }
}

/* Heading (argomenti sezione) */
aside#argomenti-sezione .subtitle-small {
  font-size: 1rem;
  line-height: 1.5;
  font-weight: 400;
}

aside#argomenti-sezione ul {
  list-style: none;
  margin: 0;
  padding: 0;
  line-height: normal;
}

aside#argomenti-sezione ul li a {
  text-decoration: none;
}

/* Sidebar (menu sinistro) */
aside#menu-sinistro {
  position: sticky;
  top: 10px;
}

aside#menu-sinistro .sidebar-wrapper {
  padding: 0 0 24px 0;
}

aside#menu-sinistro .menu-wrapper,
aside#menu-sinistro h3 {
  padding-top: 0 !important;
  margin-top: 0;
}

/* Cards (titolo) */
.card .card-header a {
	text-transform: uppercase;
	font-weight: 700;
	font-size: .875rem;
	text-decoration: none;
}


h2.card-title {
  font-size: 1.6rem;
  line-height: 2rem;
}

.card .card-body h3 a {
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.2;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}


/* Footer custom */
footer .it-footer-main section {
  padding: 0;
}

footer h3 {
  font-size: 0.9rem;
  line-height: 1.4rem;
  margin-bottom: 0;
}

.it-footer p {
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.4rem;
  color: #ffffff;
}

.it-footer-small-prints {
	padding: 1.5rem 0;
}

.it-footer-main .it-brand-wrapper a .icon {
  width: auto !important;
}
/* =========================================================
   TOC (toc_js) dentro cmp-navscroll accordion
   Applica SOLO a pagina_con_indice_laterale
   ========================================================= */

/* Nasconde l'H3 interno del blocco toc_js (titolo duplicato) */
:is(
  body.node--type-pagina-con-indice-laterale,
  body.page-node-type--pagina-con-indice-laterale
)
#toc-js-block__title {
  display: none;
}

#toc-js-block-navbarNavProgress .accordion-header .accordion-button {
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.5;
}

#toc-js-block-navbarNavProgress .accordion-body {
  padding: 0;
}


#toc-js-block .link-list {
	list-style: none;
  padding: 0;
}

#toc-js-block .nav-item {
	margin: .75rem 0 .75rem 0;
}

#toc-js-block .nav-item a {
  font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	padding: 0 1.5rem;
	display: block;
	line-height: 1.5;
}


/* =========================================================
   Pagina con indice laterale – comportamento Design Comuni
   - Mobile-first: nessuna forzatura (il TOC scorre normalmente)
   - Desktop (>= lg): sticky-top reale in sidebar
   ========================================================= */

@media (min-width: 992px) {
  /*
    Se un antenato ha overflow != visible o ha transform/filter/perspective,
    position: sticky può smettere di funzionare.

    In Drupal, spesso il killer è .dialog-off-canvas-main-canvas.
    Bonifichiamo SOLO su questa pagina, SOLO desktop, SOLO quando off-canvas NON è aperto.
  */
  body.page-node-type--pagina-con-indice-laterale:not(.js-off-canvas-dialog-open)
    .dialog-off-canvas-main-canvas {
    transform: none !important;
    overflow: visible !important;
  }

  /* Extra-safe: evita che wrapper pagina blocchino sticky */
  body.page-node-type--pagina-con-indice-laterale :is(#page-default, #main-content) {
    overflow: visible !important;
  }

  /* Bonifica wrapper riga/colonna sidebar */
  body.page-node-type--pagina-con-indice-laterale
    :is(
      .row-column-menu-left,
      .border-col,
      #it-region-sidebar-first,
      #it-region-sidebar-first .sidebar-wrapper
    ) {
    overflow: visible !important;
    transform: none !important;
  }

  /*
    Sticky identico al template Design Comuni:
    .cmp-navscroll.sticky-top resta il componente di riferimento.
    Offset compatibile con toolbar Drupal tramite --drupal-displace-offset-top.
  */
  body.page-node-type--pagina-con-indice-laterale
    #it-region-sidebar-first .cmp-navscroll.sticky-top {
    position: sticky;
    top: calc(var(--drupal-displace-offset-top, 0px) + 1rem);
    z-index: 10;
  }
}

/* =========================================================
   HOME PAGE – Card stessa altezza + spaziatura migliore
   (solo frontpage, non impatta altre pagine)
   NOTE: lasciamo a Bootstrap la gestione dei breakpoints (auto)
   ========================================================= */

/* Spaziatura verticale sezione */
.path-frontpage
  :is(
    .home-first-row__wrapper,
    .home-second-row__wrapper,
    .home-third-row__wrapper,
    .home-fourth-row__wrapper
  ) {
  padding-block: 2.5rem;
}

/* Gutter coerente (stile g-4) anche verticale, mobile-first */
.path-frontpage
  :is(.home-first-row, .home-second-row, .home-third-row, .home-fourth-row)
  .row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 1.5rem;
}

@media (min-width: 768px) {
  .path-frontpage
    :is(.home-first-row, .home-second-row, .home-third-row, .home-fourth-row)
    .row {
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
  }
}

/* Colonne home: flex per permettere alle card di “stretchare” */
.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  ) {
  display: flex;
}

/* Region e block: prendono tutta la larghezza e possono estendersi in altezza */
.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  )
  > .region {
  display: flex;
  width: 100%;
}

.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  )
  .block {
  display: flex;
  width: 100%;
}

/* Card: stessa altezza nella riga (stretch) */
.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  )
  .card {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Contenuto card: layout a colonna e CTA in basso (ultimo <p>) */
.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  )
  .card
  .card-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}

.path-frontpage
  :is(
    .home-first-row__col,
    .home-second-row__col,
    .home-third-row__col,
    .home-fourth-row__col
  )
  .card
  .card-body
  > p:last-child {
  margin-top: auto;
  margin-bottom: 0;
}



/* =========================================================
   RATING
   ========================================================= */

section.page-clarity-rating h2 {
	font-size: 1.6rem;
	font-weight: 600;
}

section.page-clarity-rating .justify-content-between {
  clear:both;
}

section.page-clarity-rating h3 {
	clear:both;
  font-size:1.3rem;
}

textarea#page-clarity-details {
	background-color: #dedede;
}


/* =========================================================
   SEARCH FORM
   ========================================================= */
form#search-form {
	margin: 3em 0;
}

.form-group.js-form-item.form-item.js-form-type-search.form-item-keys.js-form-item-keys {
	display: block;
	margin-bottom: 1rem;
}

div#edit-basic {
	margin-bottom: 1rem;
}


/* =========================================================
   CONTEXTUAL LINKS
   ========================================================= */
.contextual-region .contextual .contextual-links li a:hover, .contextual-region .contextual .contextual-links li a:active/* , .link-list-wrapper ul li a:hover:not(.disabled) span */ {
	color: #ffffff !important;
}

/* =========================================================
   CASCADING FIXES
   - file 1 prima, file 2 dopo
   - nessun override distruttivo: qui si completano solo i selector condivisi
   ========================================================= */

footer h3 {
  color: var(--cliente-link-color-header);
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1.4rem;
  margin-bottom: 0;
}

.it-footer-small-prints {
  background-color: var(--cliente-it-footer-small-prints-bg-color);
  padding: 1.5rem 0;
}
