@charset "UTF-8";
:root {
  --primary: #024261;
  --primary-rgb: 2, 66, 97;
  --secondary: #9B0E0E;
  --secondary-rgb: 155, 14, 14;
  --tertiary: #024261;
  --tertiary-rgb: 2, 66, 97;
  --success: #1f420d;
  --success-rgb: 31, 66, 13;
  --warning: #CC334D;
  --warning-rgb: 204, 51, 77;
  --alert: #5C7183;
  --alert-rgb: 92, 113, 131;
  --highlight: #be6400;
  --highlight-rgb: 190, 100, 0;
  --highlight-alternative: #ff5731;
  --highlight-alternative-rgb: 255, 87, 49;
  --proposals: #238ff7;
  --actions: #57d685;
  --debates: #fa6c96;
  --meetings: #fabc6c;
  --twitter: #55acee;
  --facebook: #3b5998;
  --google: #dd4b39;
}

/* 1. Mantiene la striscia blu estesa da un bordo all'altro dello schermo */
.masthead-container {
  background-color: #024261;
  background-color: var(--primary); /* Spostiamo il blu qui per farlo andare full-width */
  width: 100%;
}

/* 2. Forza il contenuto interno a rientrare e allinearsi al layout di Decidim */
.masthead {
  color: #fff;
  line-height: 28px;
  width: 100%;
  display: flex; /* Attiva il flexbox che avevi impostato */
  justify-content: space-between;
  align-items: center;
  /* Regole fondamentali per il rientro nel layout */
  margin-right: auto; /* Centra il blocco nello schermo */
  margin-left: auto; /* Centra il blocco nello schermo */
  background-color: #024261 !important;
  background-color: var(--primary) !important; /* Rimuoviamo il blu da qui per evitare l'effetto "tagliato" */
}

/* 3. Assicura che i link interni (testo e immagine) ereditino correttamente gli stili */
.institutional-link, .login-link, .institutional-link:hover, .login-link:hover {
  display: flex;
  align-items: center;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  color: #fff !important;
  padding: 0 !important;
  font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-color: #024261 !important;
  background-color: var(--primary) !important;
}

.institutional-link-text {
  padding-left: 2px !important;
  margin-right: auto;
}

.login-link-text {
  margin-left: auto;
  padding-right: 2px !important;
  text-transform: uppercase;
}

@media print, screen and (min-width: 25em) and (max-width: 39.99875em) {
  .institutional-link, .institutional-link:hover, .login-link-text, .login-link-text:hover {
    font-size: 12px !important;
  }
}
@media print, screen and (min-width: 40em) {
  .institutional-link, .institutional-link:hover, .login-link-text, .login-link-text:hover {
    font-size: 14px !important;
  }
  .institutional-link:focus, .login-link-text:focus {
    outline: dotted white 1px !important;
  }
}
/* Rende trasparente il container interno solo nel masthead */
.masthead-container .container {
  background-color: transparent !important;
}

/* Ripristina lo sfondo a tutta larghezza (100%) per i colori della Regione */
.masthead-container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: #024261 !important;
  background-color: var(--primary) !important;
}

/* Applica il vincolo di larghezza e l'allineamento solo all'interno del testo */
.masthead-container .masthead.columns {
  /* Forza la stessa identica gabbia di allineamento di main-bar e menu */
  margin-left: auto !important;
  margin-right: auto !important;
  /* Allineamento millimetrico identico agli altri blocchi */
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
  width: 100% !important;
  float: none !important; /* Rimuove comportamenti float nativi di Foundation */
  /* Gestione flessibile degli elementi interni (Testo a sinistra, Accedi a destra) */
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* Rimuove margini extra dal link che falsano l'allineamento iniziale */
#institutional-link {
  margin-left: 0 !important;
  padding-left: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
}

/* --- STATO DI DEFAULT (Non Sticky) --- */
#masthead {
  height: 40px;
  transition: height 0.2s;
}

#img-user-icon {
  display: inline-block;
  height: 24px !important;
  width: 24px !important;
}

#img-gonfalone {
  height: 28px;
  transition: height 0.2s;
  float: left;
}

#institutional-link {
  font-size: 14px;
}

#img-gonfalone-grande {
  height: 70px;
}

#main-bar {
  display: block !important;
}

#sticky-logo, #sticky-logo-home {
  display: none !important;
}

/* --- STATO STICKY (Comune a tutte le risoluzioni) --- */
.page-is-sticky #img-user-icon {
  display: none;
}

.page-is-sticky #img-gonfalone {
  height: 24px;
}

.page-is-sticky #menu-bar {
  border-top: none;
}

.page-is-sticky #home__menu {
  border-top: none;
}

/* Specifiche per Mobile (< 640px) quando è Sticky */
@media (max-width: 639px) {
  .page-is-sticky #masthead {
    height: 28px;
  }
  #img-gonfalone-grande {
    display: none;
  }
}
/* Specifiche per Desktop (>= 640px) quando è Sticky */
@media (min-width: 640px) {
  .page-is-sticky #institutional-link {
    font-size: 12px;
  }
  .page-is-sticky #main-bar {
    display: none !important;
  }
  .page-is-sticky #sticky-logo, .page-is-sticky #sticky-logo-home {
    display: block !important;
  }
  .page-is-sticky #home-icon {
    display: none !important;
  }
  .page-is-sticky #menu-bar {
    border-top: 4px solid white;
  }
  .page-is-sticky #home__menu {
    border-top: 4px solid white;
  }
}
.dropdown__bottom::before {
  position: absolute;
  right: var(--arrow-offset);
  top: -0.5rem;
  height: var(--arrow-size);
  width: var(--arrow-size);
  --tw-rotate: 45deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(45deg) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  border-radius: 0.25rem;
  border-width: 2px;
  --tw-border-opacity: 1;
  border-color: rgb(225, 229, 239);
  --tw-bg-opacity: 1;
  background-color: rgb(255, 255, 255);
  --tw-content: '';
  content: "";
  content: '';
  content: var(--tw-content);
  border: solid 1px #505050 !important;
}

.dropdown__bottom::after {
  position: absolute;
  left: 0px;
  top: 0px;
  height: 100%;
  width: 100%;
  --tw-bg-opacity: 1;
  background-color: rgb(255, 255, 255);
  --tw-content: '';
  content: "";
  content: '';
  content: var(--tw-content);
  border: solid 1px #505050 !important;
}

#sticky-logo img {
  height: 2em;
}

#sticky-logo-home img {
  height: 2em;
  margin-right: 1.5em !important;
}

.main-bar {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  grid-gap: 1rem;
  gap: 1rem;
  max-width: none !important;
}

@media (min-width: 1024px) {
  header .main-bar {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media print, screen and (min-width: 40em) {
  .main-bar__logo {
    grid-column: auto !important;
  }
  .main-bar__logo img {
    max-width: 100% !important;
  }
}
@media print, screen and (min-width: 50em) {
  .main-bar__logo {
    grid-column: auto !important;
  }
  .main-bar__logo img {
    max-width: 200% !important;
    max-height: 85px;
  }
}
/* 1. Il container del dropdown DEVE essere un'ancora relativa e stare sopra lo sfondo */
.main-bar__dropdown-container {
  position: relative !important;
  z-index: 99999 !important; /* Più alto dello z-index 2 di #main-bar */
}

/* 2. Il pulsante deve essere cliccabile e reattivo */
.main-bar__dropdown-trigger {
  position: relative !important;
  z-index: 2 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  color: white !important;
  cursor: pointer !important; /* Aiuta a capire se è intercettato */
}

/* 3. Gestione del DIV contenitore del menù */
#dropdown-menu-account {
  position: absolute !important;
  top: 100%;
  right: 0;
  z-index: 99999 !important;
}

/* 4. Nascondi/Mostra basandoti SOLO sullo stato reale del JavaScript di Decidim */
#dropdown-menu-account[aria-hidden=true] {
  display: none !important;
}

#dropdown-menu-account[aria-hidden=false] {
  display: block !important;
}

/* 5. Ripristina lo stile originario dell'UL interno senza forzare la position */
.dropdown__bottom {
  display: block;
  margin-top: 0.75rem;
  --tw-translate-x: calc(var(--arrow-offset) - var(--arrow-visible-size));
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

/* Sicurezza per l'overflow dei padri */
.masthead-container,
#main-bar.main-bar__container,
.main-bar {
  overflow: visible !important;
}

/* 1. L'HEADER DIVENTA "STICKY" (Risolve il problema del testo tagliato) */
.layout-container > header {
  position: sticky !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50 !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
  /* Permette ai menù spostati via JS di impilarsi sotto la barra bianca */
  display: flex !important;
  flex-direction: column !important;
  background-color: white;
}

.admin-bar__container {
  overflow: visible !important;
  --tw-bg-opacity: 1;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  z-index: auto !important; /* Lasciamo che ereditino lo z-index 50 del padre globale */
  background-color: white !important;
}

@media (max-width: 39.99875em) {
  .admin-bar__button:not([class*=button__text]) {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
  }
}
#main-bar.main-bar__container,
.main-bar {
  background-color: #ffffff !important; /* Riga bianca */
}

/* Stile per i menù portati dentro l'header */
.layout-container > header .main-nav,
.layout-container > header .breadcrumb,
.layout-container > header .process-header__container {
  background-color: #ffffff !important;
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  /* Assicura che si impili correttamente se aveva posizionamenti strani */
  position: relative !important;
}

.layout-container > header #home__menu {
  width: 100%;
  padding-left: 1rem;
  padding-right: 1rem;
  /* Assicura che si impili correttamente se aveva posizionamenti strani */
  position: relative !important;
}

/* 2. RIMUOVI I VECCHI PADDING (Il browser ora fa tutto da solo) */
.layout-container {
  padding-top: 0 !important; /* Essenziale azzerarlo! */
}

html {
  /* Mantieni questo solo per far scorrere correttamente le ancore interne dei link */
  scroll-padding-top: 200px !important;
}

/* 3. NOTIFICHE FLASH (Le rimettiamo nel flusso, si impileranno DA SOLE sotto l'header) */
.flash,
.flash-messages-container,
[data-flash-messages] {
  position: relative !important;
  top: 0 !important;
  width: 100% !important;
  z-index: 49 !important;
  margin-bottom: 1rem;
  box-shadow: none !important;
}

div.layout-container header div.container {
  background-color: white;
}

/* 1. Assicura che la fascia esterna occupi il 100% dello schermo */
.main-bar__container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Trasforma la main-bar nella gabbia identica al masthead e al menu */
.main-bar {
  margin-left: auto !important;
  margin-right: auto !important;
  /* Stesso identico cuscinetto laterale degli altri blocchi */
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
  width: 100% !important;
  /* Mantiene l'allineamento orizzontale degli elementi interni */
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
}

/* 3. Resetta eventuali margini interni del logo che potrebbero spostarlo */
.main-bar__logo {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

.main-bar__logo a {
  display: inline-block !important;
}

/* 4. Mantiene la corretta priorità per il mobile (hamburger a sinistra) se necessario */
@media (max-width: 1023px) {
  .lg\:hidden {
    order: -1 !important;
  }
  .main-bar__logo {
    order: 0 !important;
  }
}
/* 1. Gestisce lo sfondo rosso a tutta larghezza (100%) dello schermo */
.home__menu {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
}

/* 2. Replica la gabbia esatta del masthead della Regione sul contenitore reale */
.home__menu .home__menu__container {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  /* Forza il comportamento flex e allinea i blocchi a sinistra */
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
}

.home__menu .container,
.home__menu .home__menu__container {
  background-color: transparent !important;
}

.home__menu {
  background-color: #9B0E0E !important;
  background-color: var(--secondary) !important;
}

.home__menu-element--link {
  width: 100%;
  padding-top: 1px;
  padding-bottom: 1px;
  padding-left: 2rem;
  padding-right: 2rem;
  font-size: 18px;
  font-weight: 600;
  line-height: 22px;
  --tw-text-opacity: 1;
  color: rgb(255, 255, 255);
  text-decoration-line: underline;
  text-decoration-color: transparent;
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 300ms;
  text-transform: uppercase;
}

@supports (color: rgba(0, 0, 0, 0)) {
  footer .main-footer {
    background-color: #024261;
    padding-top: 2rem;
  }
}
.footer .main-footer__middle {
  align-items: left;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255, 255, 255);
  width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.main-footer__down {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  --tw-text-opacity: 1;
  color: rgb(255, 255, 255);
  background-color: #9B0E0E;
  max-width: 100% !important;
  width: 100% !important;
  border-bottom: 3px solid white !important;
  border-top: 3px solid white !important;
}

@media (min-width: 1024px) {
  footer .main-footer__down {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
  footer .main-footer__middle {
    padding-right: 0 !important;
    padding-left: 0 !important;
  }
}
@media (min-width: 40em) {
  .main-footer-logos {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 2rem;
  }
}
@media (max-width: 39.99875em) {
  .main-footer-logos {
    width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}
.footer_logo {
  margin-top: 10px;
  margin-bottom: 10px;
  width: 160px;
  height: 95px;
}

@media (min-width: 40em) {
  .left-logos {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
  }
}
@media (max-width: 39.99875em) {
  .left-logos {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (min-width: 40em) {
  .logo_partecipa {
    align-self: flex-right;
    padding-top: 25px;
    height: auto !important;
  }
}
@media (max-width: 39.99875em) {
  .logo_partecipa {
    padding-top: 20px;
    height: auto !important;
    padding-bottom: 20px;
  }
}
@media (min-width: 40em) {
  .footer_sar_it {
    display: flex;
    margin-top: 30px;
  }
}
@media (max-width: 39.99875em) {
  .footer_sar_it {
    display: flex;
    margin-top: 30px;
    flex-direction: column;
  }
}
.footer_header {
  color: #fff;
  font-size: 0.85em;
  font-weight: 700;
  margin: 0;
  padding: 0 0 16px 0;
  border-bottom: 1px solid #fff;
  line-height: 1em;
  text-transform: uppercase;
  vertical-align: middle;
  font-family: "Titillium Web", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.footer_text {
  font-size: 12px;
  padding-top: 15px;
}

@media (min-width: 1024px) {
  .main-footer__top {
    flex-direction: column !important;
    padding: 0 !important;
  }
}
@supports (color: rgba(0, 0, 0, 0)) {
  .mini-footer {
    background-color: rgb(2, 66, 97) !important;
    background-color: rgb(var(--primary-rgb)) !important;
  }
}
/* 1. Sostituiamo il flex con una griglia simmetrica a 3 colonne */
.mini-footer__content {
  display: grid;
  /* Creiamo 3 colonne: le due laterali speculari (1fr) e quella centrale che si adatta (auto) */
  grid-template-columns: 1fr auto 1fr;
  align-items: flex-end; /* Allinea la base degli elementi */
  width: 100%;
}

/* 2. Allineamento della colonna di sinistra */
.footer-column-left {
  grid-column: 1;
  justify-self: start; /* Incollata al bordo sinistro */
}

/* 3. Allineamento della colonna centrale (ORA PERFETTAMENTE CENTRATA) */
.footer-column-center {
  grid-column: 2;
  justify-self: center; /* Centrata geometricamente rispetto allo schermo */
  text-align: center; /* Centra il testo all'interno del suo div */
}

/* 4. Allineamento della colonna di destra (Mantiene la tua struttura perfetta) */
.footer-column-right {
  grid-column: 3;
  justify-self: end; /* Incollata al bordo destro */
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
}

/* 5. Il tuo stile originale per il logo */
.footer_logo {
  margin-top: 10px;
  margin-bottom: 10px;
  width: 160px;
  height: 95px;
}

@media (min-width: 40em) {
  .logo_partecipa {
    padding-top: 25px;
    height: auto !important;
  }
  #back-to-top {
    position: fixed;
    bottom: 20px !important;
    right: 0px;
    display: none;
    padding: 10px;
    z-index: 99;
  }
}
@media (max-width: 39.99875em) {
  #back-to-top {
    position: fixed;
    bottom: 60px !important;
    right: 0px;
    display: none;
    padding: 10px;
    z-index: 99;
  }
}
/* 1. Applica solo il cambio colore e le transizioni al PATH */
#back-to-top svg path {
  fill: #9B0E0E !important;
  fill: var(--secondary) !important;
  stroke: #9B0E0E;
  stroke: var(--secondary);
  transition: fill 0.05s ease, stroke 0.05s ease;
}

/* 2. Applica bordi e forme all'elemento <svg> generico */
.back-to-top-img {
  width: 55px !important;
  height: 55px !important;
  border-radius: 50%;
  /* INVECE DEL BORDER, USIAMO OUTLINE */
  outline: 2px solid white; /* Il bordo bianco */
  /* Regola questo valore negativo finché non tocca perfettamente l'immagine rossa */
  outline-offset: -5px; /* Porta l'outline dentro di 3px */
}

/* 1. Gestisce lo sfondo del footer a tutta larghezza */
.mini-footer {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 1.5rem 0 !important; /* Spazio verticale sopra e sotto il footer */
}

/* 2. Trasforma il contenitore nella griglia simmetrica da 75rem */
.mini-footer .mini-footer__content {
  max-width: 75rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
  width: 100% !important;
  /* Forza la griglia a tre colonne perfettamente uguali */
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  align-items: center !important; /* Centra verticalmente i contenuti diversi */
}

/* COLONNA 1: Sinistra */
.footer-column-left {
  grid-column: 1 !important;
  display: flex !important;
  justify-content: flex-start !important; /* Forza il contenuto a sinistra */
  text-align: left !important;
}

/* COLONNA 2: Centro */
.footer-column-center {
  grid-column: 2 !important;
  display: flex !important;
  justify-content: center !important; /* Forza il blocco al centro */
  text-align: center !important; /* Forza il testo interno al centro */
  margin-top: 0 !important; /* Resetta il margine superiore nativo */
}

/* COLONNA 3: Destra */
.footer-column-right {
  grid-column: 3 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-end !important; /* Allinea testo e logo a filo destro */
  text-align: right !important; /* Forza il testo interno a destra */
  gap: 0.5rem !important;
}

/* Ottimizzazione responsive per smartphone */
@media (max-width: 768px) {
  .mini-footer .mini-footer__content {
    grid-template-columns: 1fr !important; /* Diventa una colonna singola su mobile */
    gap: 1.5rem !important;
  }
  .footer-column-left,
  .footer-column-center,
  .footer-column-right {
    grid-column: 1 !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
  }
}
[data-external-link=true] {
  display: none;
}

.main-bar__search input[type=text] {
  display: block;
  width: 100%;
  background-color: transparent;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
  border: solid 1px #024261;
}

#form-search_topbar > button:nth-child(2) > svg:nth-child(1) {
  fill: #024261;
  width: 1em;
  height: 1em;
}

@media (min-width: 768px) {
  header .menu-bar__main-dropdown__bottom {
    display: none;
  }
}
.metric {
  border-color: rgb(243, 244, 247, var(--tw-border-opacity));
}

/* Sblocca il contenitore principale rimuovendo la griglia a colonne */
#highlighted-processes .card__grid-home:has(> :only-child) {
  display: block !important;
  width: 100% !important;
}

/* Forza la card, il contenitore immagine e l'immagine al 100% di larghezza */
#highlighted-processes .card__grid-home:has(> :only-child) .card__grid,
#highlighted-processes .card__grid-home:has(> :only-child) .card__grid-img,
#highlighted-processes .card__grid-home:has(> :only-child) .card__grid-img img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* DISATTIVA IL 21/9 SUL CONTENITORE IMMAGINE (Sia mobile che desktop) */
#highlighted-processes .card__grid-home:has(> :only-child) .card__grid-img {
  aspect-ratio: auto !important;
}

/* Regola l'altezza su desktop per evitare l'effetto gigantesco */
@media (min-width: 768px) {
  #highlighted-processes .card__grid-home:has(> :only-child) .card__grid-img img {
    height: 250px !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
}
/* Sblocca il contenitore principale rimuovendo la griglia a colonne */
#highlighted-assemblies .card__grid-home:has(> :only-child) {
  display: block !important;
  width: 100% !important;
}

/* Forza la card, il contenitore immagine e l'immagine al 100% di larghezza */
#highlighted-assemblies .card__grid-home:has(> :only-child) .card__grid,
#highlighted-assemblies .card__grid-home:has(> :only-child) .card__grid-img,
#highlighted-assemblies .card__grid-home:has(> :only-child) .card__grid-img img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* DISATTIVA IL 21/9 SUL CONTENITORE IMMAGINE (Sia mobile che desktop) */
#highlighted-assemblies .card__grid-home:has(> :only-child) .card__grid-img {
  aspect-ratio: auto !important;
}

/* Regola l'altezza su desktop per evitare l'effetto gigantesco */
@media (min-width: 768px) {
  #highlighted-assemblies .card__grid-home:has(> :only-child) .card__grid-img img {
    height: 250px !important;
    -o-object-fit: cover !important;
       object-fit: cover !important;
  }
}
.menu-bar__container .container,
.menu-bar__container .menu-bar {
  background-color: transparent !important;
}

/* 2. Ripristina il corretto allineamento verticale dei breadcrumbs */
.menu-bar__container .container {
  display: flex;
  align-items: center;
  min-height: 2.5rem; /* Regola l'altezza minima se necessario per uniformarla */
}

/* 3. Gestisci lo sfondo a larghezza intera della barra dei breadcrumbs */
.menu-bar__container {
  background-color: #f4f4f4; /* Grigio chiaro standard, cambialo con var(--secondary) o altro se vuoi personalizzarlo */
  border-bottom: 1px solid #e5e7eb; /* Opzionale: un leggero separatore inferiore */
}

.menu-bar__main-dropdown__top {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  padding: 1rem;
  border: solid 1px #505050 !important;
}

.menu-bar__secondary-dropdown__menu {
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  border: solid 1px #505050 !important;
}

.menu-bar__main-dropdown__bottom-left, .menu-bar__main-dropdown__top-left, .menu-bar__secondary-dropdown__left {
  display: none !important;
}

.menu-bar, .menu-bar__container, .home__menu {
  background-color: rgb(155, 14, 14) !important;
  background-color: rgb(var(--secondary-rgb)) !important;
}

@media (min-width: 1024px) {
  .menu-bar__main-dropdown {
    width: 640px !important;
    margin-top: 12px;
  }
}
@media (min-width: 768px) {
  .menu-bar__main-dropdown__menu {
    width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 12px;
  }
}
.menu-bar__secondary-dropdown {
  position: relative;
  width: 300px !important;
}

.menu-bar__secondary-dropdown__menu {
  --tw-bg-opacity: 1;
  background-color: white !important;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 0px;
  padding-bottom: 0.75rem;
  --tw-text-opacity: 1;
  color: rgb(255, 255, 255);
}

.menu-bar__secondary-dropdown__menu a {
  color: #9B0E0E !important;
  color: var(--secondary) !important;
}

.participatory-space__nav-container {
  margin-left: 0px;
  width: 100%;
  align-self: flex-start;
  border-radius: 0.25rem;
  --tw-bg-opacity: 1;
  background-color: rgb(155, 14, 14/1);
  background-color: rgb(var(--secondary-rgb)/1);
  background-color: rgb(var(--secondary-rgb)/var(--tw-bg-opacity));
  padding: 0.75rem;
}

.menu-bar__secondary-dropdown nav {
  width: 100% !important;
}

svg {
  width: 1.3em;
  height: 1.3em;
  fill: #fff;
  fill: currentColor !important;
}

.input-group__password button {
  position: absolute;
  right: 0.5rem;
  top: 1.4rem;
}

.main-bar__links-mobile__trigger svg {
  height: 2rem !important;
  width: 2rem !important;
  fill: currentColor;
}

/* Si applica solo in modalità mobile (sotto i 1024px, coerente con lg:hidden) */
@media (max-width: 1023px) {
  /* Forziamo il contenitore principale a comportarsi come una riga flex */
  .main-bar {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
  }
  /* Spostiamo l'intero blocco mobile (hamburger) a sinistra (ordine -1) */
  .lg\:hidden {
    order: -1 !important;
  }
  /* Il logo si sposterà automaticamente a destra (ordine di default 0) */
  .main-bar__logo {
    order: 0 !important;
  }
}
body.mobile-menu-open .button-nav-mobile,
body.mobile-menu-open .mobile-nav,
body.mobile-menu-open [data-component=mobile-nav],
body.mobile-menu-open .main-bar__links-mobile {
  display: none !important;
}

.main-bar__links-mobile {
  border: solid 1px #505050 !important;
}

/* 1. Il contenitore principale definisce l'altezza e la gabbia di allineamento */
.menu-bar {
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 10px !important;
  width: 100% !important;
  /* ABILITA IL FLEXBOX PER CENTRARE IL TESTO VERTICALMENTE */
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  /* Punto di riferimento per l'ancoraggio assoluto delle icone */
  position: relative !important;
}

/* 2. Il blocco del breadcrumb nativo gestisce solo il testo in modo compatto */
.menu-bar__breadcrumb-desktop {
  display: flex !important;
  align-items: center !important; /* Centra verticalmente testo, casetta e "/" */
  width: auto !important;
  max-width: calc(100% - 8rem) !important; /* Impedisce al testo di toccare le icone a destra */
}

/* 3. Sblocchiamo le icone e le inchiodiamo a destra in modo indipendente */
.header-actions-right {
  display: flex !important;
  align-items: center !important;
  position: absolute !important;
  right: 0.625rem !important; /* Perfettamente a filo con il padding destro della gabbia */
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 99 !important; /* Rimane sopra lo sfondo ma non interferisce con i click */
  padding-top: 10px;
  padding-right: 0 !important;
}

/* 4. Reset grafico dei pulsanti delle icone */
.header-action-btn {
  font-size: 1.4rem !important;
  display: flex !important;
  align-items: center !important;
  color: white !important;
  transition: opacity 0.2s ease;
  padding: 0 0.5rem;
}
.header-action-btn:hover {
  opacity: 0.7 !important;
}
.header-action-btn svg {
  fill: white !important;
  height: 1.5rem;
}

.home__menu .header-actions-right {
  /* 1. Rimuoviamo il posizionamento assoluto ereditato dalla menu-bar */
  position: static !important;
  transform: none !important;
  /* 2. Sfruttiamo il Flexbox: spingiamo le icone all'estrema destra 
        del flusso interno del container (rispetta il max-width di 75rem) */
  margin-left: auto !important;
}

.menu-bar__actions {
  /* Spinge l'elemento a destra nel flusso */
  margin-left: auto !important;
  /* Crea lo spazio esatto a destra per NON toccare le icone assolute */
  padding-left: 1.3rem;
  /* Allineamento interno al pulsante */
  display: flex !important;
  align-items: center !important;
}

@media (max-width: 767px) {
  .custom-desktop-breadcrumb {
    display: none !important;
  }
}
@media (min-width: 768px) {
  .custom-mobile-breadcrumb {
    display: none !important;
  }
}
@media (max-width: 767px) {
  /* 1. Forza la menu-bar e i suoi figli diretti ad azzerare i padding verticali 
        che allontanano il trigger dal menu sottostante */
  header .menu-bar,
  header .menu-bar__breadcrumb-mobile {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: 3.5rem !important; /* Inserisci qui l'altezza esatta in pixel o rem della tua menu-bar mobile (es. 56px = 3.5rem) */
  }
  /* 2. Il trigger deve estendersi per tutta l'altezza della barra */
  header .menu-bar__breadcrumb-mobile__dropdown-trigger {
    position: relative !important;
    display: flex !important;
    width: 100% !important;
    height: 100% !important; /* Prende tutta l'altezza della barra */
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding-right: 3rem !important;
    margin: 0 !important;
  }
  /* 3. Il bottone dell'hover ora coprirà al 100% sia la larghezza che l'altezza massima,
        toccando fisicamente l'inizio del pannello del menu secondario */
  header #secondary-dropdown-trigger-mobile {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding-right: 1rem !important;
    background: transparent !important;
    z-index: 10 !important;
  }
  /* 4. Menu a tendina sia attaccato al millimetro 
        sotto la barra senza margini superiori */
  header #secondary-dropdown-menu-mobile {
    margin-top: 0 !important;
    top: 100% !important;
  }
}
@media (max-width: 39.9988em) {
  .admin-bar__button:not([class*=button__text]) {
    padding-top: 0.25rem !important;
    padding-bottom: 0.25rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
.dropdown__item > svg {
  height: 1rem;
  width: 1rem;
  flex: none;
  fill: currentColor;
  color: #505050;
}

@media (max-width: 767px) {
  #dropdown-menu-account {
    position: absolute !important;
    right: 0 !important;
    left: auto !important;
    transform: translateX(-50px) !important;
  }
}
/* Aggiornamento accessibilità: porta i font extra-small da 13px a 14px */
.text-xs,
.button__pill--count,
.input-character-counter__text,
.filter-help,
.card__calendar-month,
.card__calendar-year,
.endorsers-list__counter,
.author__avatar-counter,
.notification__button,
.profile__actions-secondary,
.conversation__message-sender,
.conversation__message-time,
.cookies__category-panel__td,
.participatory-space__block-reference,
.conversation__modal [role=listbox] small,
.conversation__modal-results small,
.decidim_awesome-custom_fields .proposal_custom_field label .tooltip-element::before {
  font-size: 0.875rem !important; /* Corrisponde a 14px */
  line-height: 1.125rem !important; /* Corrisponde a 18px */
}

.participatory-space__hero {
  /* Azzurro #034261 con cui mantengo opacità 0.8*/
  background-color: rgba(3, 66, 97, 0.8) !important;
  /* Reset dei filtri che rendevano tutto grigio */
  --tw-backdrop-brightness: brightness(100%);
  backdrop-filter: blur(2px); /* Opzionale: sfoca leggermente l'immagine dietro */
  /* Miscela il colore con l'immagine di fondo per profondità */
  background-blend-mode: multiply;
}

.author__avatar {
  display: none !important;
}

/*# sourceMappingURL=decidim_overrides-8fcd27b9.css.map*/