/* =========================================================
   /CATALOGO/ – Scope
   ========================================================= */
.legis-page-catalogo{
  /* Design tokens locali */
  --legis-radius: 4px;
  --legis-border: 1px solid rgba(15, 23, 42, .10);
  --legis-gap: 24px;

  /* Usa preset tema quando disponibili */
  --legis-shadow: var(--wp--preset--shadow--card);
  --legis-shadow-hover: var(--wp--preset--shadow--card-hover);
}

/* Spaziatura “solo qui” tra separatore top e contenuto (req. #9) */
.legis-page-catalogo .wp-block-separator:not(.legis-facets__separator){
  margin-block: 1.25rem 2rem;
  opacity: .25;
}

/* Layout colonne */
.legis-page-catalogo .wp-block-columns{
  gap: var(--legis-gap);
  align-items: flex-start;
}

/* Icona PDF/documento */
.legis-page-catalogo .pdf_brochure a::before{
  content: "PDF";
  display: inline-block;
  margin-right: .6rem;

  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .02em;

  color: #fff;
  background: var(--wp--preset--color--blue-primary);
  border-radius: 2px;
  padding: 2px 5px;

  vertical-align: middle;
}
/* =========================================================
   Sidebar filtri – look & usability
   ========================================================= */
.legis-page-catalogo .legis-column--facets{
  position: sticky;
  top: 40px;
  align-self: flex-start;
  height: auto !important;      /* Forza l'altezza automatica */
  max-height: calc(100vh - 40px); /* Altezza schermo meno margini */
  overflow-y: auto; /* Attiva lo scroll solo se serve */
  box-shadow: var(--legis-shadow);	
  padding: .25rem; /* spazio per scrollbar */
  background: var(--wp--preset--color--gray-bg); 
  border: var(--legis-border); 
  border-radius: var(--legis-radius);	
}

/* Sezioni filtri in “card” */
.legis-page-catalogo .legis-column--facets > :where(.legis-facets, .legis-reset){
  font-size: var(--wp--preset--font-size--sm);
  padding: 1rem;
  line-height: 1.3;
}

/* Separatori filtri */
.legis-page-catalogo .legis-facets__separator{
  margin-block: .75rem;
  opacity: .25;
}

/* Heading sezioni “Filtri …” */
.legis-page-catalogo .legis-facets__section{
  margin: 0 0 .05rem;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 500;
/*  letter-spacing: .08em; */
  text-transform: uppercase;
  color: var(--wp--preset--color--blue-primary);
}

/* Titolo singolo filtro (quando lo usi in FSE) */
.legis-page-catalogo .legis-facets__sectionfilter{
  margin: .05rem 0 .1rem;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 500;
  color: var(--wp--preset--color--gray-text);
}

/* FacetWP – spacing */
.legis-page-catalogo .facetwp-facet{
  margin: .25rem 0 0;
}

/* FacetWP – opzioni checkbox/radio stile “pill list”
.legis-page-catalogo :where(.facetwp-checkbox, .facetwp-radio){
  display: flex;
  align-items: flex-start;
  gap: .05rem;

  padding: .05rem .05rem;
  border-radius: 2px;
  cursor: pointer;

  transition: background-color .15s ease;
}

.legis-page-catalogo :where(.facetwp-checkbox:hover, .facetwp-radio:hover){
  background: rgba(0, 58, 112, .06);
}

.legis-page-catalogo :where(.facetwp-checkbox.checked, .facetwp-radio.checked){
  background: rgba(0, 58, 112, .10);
  font-weight: 600;
} */

/* Count a destra */
.legis-page-catalogo .facetwp-counter{
  margin-left: auto;
  font-size: var(--wp--preset--font-size--xs);
  color: rgba(43, 43, 43, .65);
}

/* Gerarchia (es. accreditamento) */
.legis-page-catalogo :where(.facetwp-depth-1, .facetwp-depth-2){
  margin-left: 1rem;
}

/* Soft limit “Mostra altro/meno” */
.legis-page-catalogo :where(.facetwp-toggle, .facetwp-more, .facetwp-less){
  display: inline-block;
  margin-top: .4rem;
  font-weight: 400;
  text-decoration: none;
}

/* Date range – look coerente */
.legis-page-catalogo .facetwp-type-date_range{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .5rem;
}

.legis-page-catalogo .facetwp-type-date_range input{
  width: 100%;
  border: var(--legis-border);
  border-radius: 2px;
  padding: .55rem .7rem;
  background: #fff;
  font-size: var(--wp--preset--font-size--sm);
}

/* Reset filtri – stile “button outline” */
.legis-page-catalogo .facetwp-reset,
.legis-page-catalogo .legis-reset a{
  display: block;
  width: calc(100% - 16px); /* 100% meno la somma dei margini laterali */
  text-align: center;

  padding: .25rem .45rem;
  border-radius: 4px;

  border: 1px solid var(--wp--preset--color--blue-primary);
  background: #fff;
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
  font-weight: 400;

  transition: background-color .15s ease, color .15s ease;
}

.legis-page-catalogo .facetwp-reset:hover,
.legis-page-catalogo .legis-reset a:hover{
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
}

/* =========================================================
   Header listing (sort + pager)
   ========================================================= */
.legis-page-catalogo .legis-listing__header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;

  margin-bottom: 1rem;
  padding: .85rem 1rem;

  background: var(--wp--preset--color--gray-bg);
  border: var(--legis-border);
  border-radius: var(--legis-radius);
}

/* Sort select */
.legis-page-catalogo .facetwp-facet-sort_ select,
.legis-page-catalogo .facetwp-facet-sort_archivio_eventi select,
.legis-page-catalogo .facetwp-facet-sort_elenchi_libri select,
.legis-page-catalogo .facetwp-facet-sort_offerta_formativa select { 
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 5px;
  padding: .25rem .35rem;
  background: var(--wp--preset--color--gray-bg);
  font-size: var(--wp--preset--font-size--md);
}

/* Pager */
.legis-page-catalogo .facetwp-pager{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}

.legis-page-catalogo .facetwp-pager a,
.legis-page-catalogo .facetwp-pager span{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 36px;
  height: 36px;
  padding: 0 .55rem;

  border-radius: 10px;
  border: var(--legis-border);
  background: #fff;
  text-decoration: none;
  font-weight: 700;
}

.legis-page-catalogo .facetwp-pager .active{
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
  border-color: var(--wp--preset--color--blue-primary);
}

/* =========================================================
   Griglia listing + Card
   ========================================================= */

/* Usa la classe wrapper corretta del listing (vedi step 1.1) */
.legis-page-catalogo .legis-listing__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--legis-gap);
}

/* Card wrapper (vedi step 1.2) */
.legis-page-catalogo .legis-card{
  background: #fff;
  border: var(--legis-border);
  border-radius: var(--legis-radius);
  box-shadow: var(--legis-shadow);

  padding: 1rem;
  height: 100%;

  display: flex;
  flex-direction: column;

  transition: transform .15s ease, box-shadow .15s ease;
}

.legis-page-catalogo .legis-card:hover{
  transform: translateY(-2px);
  box-shadow: var(--legis-shadow-hover);
}

/* Elementi vuoti: non devono “bucare” lo spacing */
.legis-page-catalogo .legis-card :where(
  .legis-listing__subtitle,
  .legis-listing__professional,
  .legis-listing__date,
  .legis-listing__booktype,
  .legis-listing__coursetype,
  .legis-listing__duration,
  .legis-listing__cfp,
  .legis-listing__download,
  .legis-listing__smartbook,
  .legis-listing__fm,
  .legis-listing__regularprice,
  .legis-listing__price
):empty{
  display: none !important;
}

/* Linea prodotto (con SVG) */
.legis-page-catalogo .legis-card .legis-listing__lineaprodotto{
  display: inline-flex;
  align-items: center;
  gap: .05rem;

  font-size: var(--wp--preset--font-size--sm);
  font-weight: 400;
  color: var(--wp--preset--color--grey-text);
}

.legis-page-catalogo .legis-card .legis-listing__lineaprodotto svg{
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
/* Linea prodotto – meno aria sopra */
.legis-page-catalogo .legis-card .legis-listing__lineaprodotto{
  margin-top: -.5rem;   /* 👈 micro-pull verso l’alto */
  margin-bottom: .05rem; /* respiro sotto */
}

/* =========================================================
   Media (copertina/immagine) – ratio 2:3 + crop + frame
   ========================================================= */
.legis-page-catalogo .legis-card .legis-listing__image{
  /* spacing */
  margin: .55rem 0 .95rem;

  /* frame */
  background: var(--wp--preset--color--gray-bg);
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: calc(var(--legis-radius) - 2px);
  width: 80%;            /* Regola la percentuale a tuo piacimento */
  margin-left: auto;     /* Centra il frame orizzontalmente */
  margin-right: auto;
  /* ratio target 2.125:3 (1.41) */
  aspect-ratio: 2.125 / 3;

  /* per far "uscire" la foto */
  display: grid;
  place-items: center;

  /* NON tagliare la foto che esce */
  overflow: visible;
  padding: 6px; /* crea cornice visibile su tutti i lati */
  position: relative;
}

.legis-page-catalogo .legis-card .legis-listing__image a{
  display: block;
  width: 100%;
  height: 100%;
}

/* La foto: ora riempie e può croppare */
.legis-page-catalogo .legis-card .legis-listing__image img{
  display: block;
  width: 100%;
  height: 100%;

  /* crop per uniformare tutte a 1.5 */
  object-fit: cover;
  object-position: center;

  /* "esce" dal frame: leggero ingrandimento + shadow */
  border-radius: calc(var(--legis-radius) - 4px);
  transform: scale(1.04);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .14);

  /* evita linee strane */
  background: #fff;
}

/* Responsive: se vuoi un media un filo più basso su mobile */
@media (max-width: 640px){
  .legis-page-catalogo .legis-card .legis-listing__image{
    padding: 8px;
  }
  .legis-page-catalogo .legis-card .legis-listing__image img{
    transform: scale(1.03);
  }
}


/* Titolo */
.legis-page-catalogo .legis-card .legis-listing__title{
  margin: 0 0 .35rem;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 400;
  line-height: 1.25;
  font-size: var(--wp--preset--font-size--md);
}

.legis-page-catalogo .legis-card .legis-listing__title a{
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
}

.legis-page-catalogo .legis-card .legis-listing__title a:hover{
  color: var(--wp--preset--color--blue-hover);
  text-decoration: underline;
  text-decoration-thickness: 2px;
}

/* Sottotitolo (piccolo + clamp) */
.legis-page-catalogo .legis-card .legis-listing__subtitle{
  margin: 0 0 .6rem;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 350;	
  line-height: 1.2;
  color: var(--wp--preset--color--grey-text);

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Autore/Docente  */
.legis-page-catalogo .legis-card :where(.legis-listing__professional){
  margin: 0 0 .25rem;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 350;	
  color: var(--wp--preset--color--grey-text);
  line-height: 1.3; 
}
/* Listing - campo tecnico nascosto per autore/curatore */
.legis-listing__editorial-role {
  display: none !important;
}
/* Data */
.legis-page-catalogo .legis-card :where(.legis-listing__date){
  margin: 0 0 .25rem;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 400;	
  color: rgba(43, 43, 43, .88);
}

/* Meta “pill” (tipologia corso, tipologia libro, durata che però ho tolto dal listing) */
.legis-page-catalogo .legis-card :where(
  .legis-listing__coursetype,
  .legis-listing__duration,
  .legis-listing__booktype
){
  display: inline-flex;
  align-items: center;
  gap: .4rem;

  padding: .28rem .6rem;
  margin: .35rem .35rem 0 0;

  border-radius: 4px;
  background: var(--wp--preset--color--gray-bg);
  color: var(--wp--preset--color--blue-primary);

  font-size: var(--wp--preset--font-size--xs);
  font-weight: 600;
  border: 1px solid var(--wp--preset--color--blue-primary);
  line-height: 1.2;
}

.legis-page-catalogo .legis-card .legis-listing__coursetype svg{
  width: 14px;
  height: 14px;
}

/* spazio attorno al separatore "|" */
.legis-page-catalogo .legis-listing__booktype{
  gap: .5rem;
}

/* Badge “plus di prodotto libro” (crediti, download, smartbook, formazione e manualistica) */
.legis-page-catalogo .legis-card :where(.legis-listing__cfp, .legis-listing__download, .legis-listing__smartbook, .legis-listing__fm) {
    display: inline-flex;
    align-items: center;
    padding: 0;
    margin: 0.5rem 0.75rem 0 0;
    background: transparent;
    border: none;
    border-radius: 0;
    color: var(--wp--preset--color--blue-primary);
    font-size: var(--wp--preset--font-size--xs);
    font-weight: 400;
    line-height: 1;
}

/* Creazione del mini-badge/icona "plus" */
.legis-page-catalogo .legis-card :where(.legis-listing__cfp, .legis-listing__download, .legis-listing__smartbook, .legis-listing__fm)::before {
    content: "+"; /* Oppure puoi usare un'icona font o un pallino */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    
    /* Dimensioni e forma del mini badge */
    width: 16px;
    height: 16px;
    margin-right: 6px;
    border-radius: 2px;
    
    /* Colori del badge (recuperati dal tuo vecchio stile) */
    background: var(--wp--preset--color--yellow-soft);
    border: 1px solid var(--wp--preset--color--yellow-gold);
    color: var(--wp--preset--color--blue-primary);
    
    /* Tipografia dell'icona */
    font-size: 12px;
    font-weight: 900;
}

/* Prezzi: due righe logiche (prezzi + risparmio) sopra CTA */
.legis-page-catalogo .legis-listing__prices{
  margin-top: auto; 
  padding-top: .75rem;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-wrap: wrap;
  column-gap: .5rem;
  row-gap: 0;              /* righe appiccicate */
  white-space: normal;     /* sblocca il wrap */
}

/* Prezzi */
.legis-page-catalogo .legis-card .legis-listing__regularprice{
  display: inline-block;
  font-size: var(--wp--preset--font-size--md);
  color: rgba(43, 43, 43, .60);
  text-decoration: line-through;
  line-height: 1.2;
  white-space: nowrap;     /* NON va a capo */
}

.legis-page-catalogo .legis-card .legis-listing__price{
  display: inline;
  margin-left: .5rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--wp--preset--color--blue-primary);
  line-height: 1.2;
  white-space: nowrap;     /* NON va a capo */
}

/* Indicazione risparmio */
.legis-listing__saving{
  flex-basis: 100%;        /* forza la seconda riga */
  margin-top: 0;               /* nessuna aria sopra */
  text-align: right;
  font-size: var(--wp--preset--font-size--xs);
  line-height: 1.2;
  color: var(--wp--preset--color--grey-text);
}

/* CTA sempre in basso (req. #7) */
.legis-page-catalogo .legis-card .legis-listing__cta a{
  display: inline-flex;
  width: 100%;
  justify-content: center;
  align-items: center;
  padding: .25rem .45rem;
  border-radius: 4px;
  background: var(--wp--preset--color--blue-primary);
  border: 1px solid var(--wp--preset--color--blue-primary);
  color: #fff;
  text-decoration: none;
  font-weight: 500;
  transition: background-color .15s ease, color .15s ease;
}

.legis-page-catalogo .legis-card .legis-listing__cta a:hover{
  background: var(--wp--preset--color--blue-light);
  color: var(--wp--preset--color--blue-primary);
}

/* =========================================================
   FIX PER LA CTA IN FONDO ALLA CARD
   ========================================================= */

/* Il contenitore reale dei contenuti (stack verticale) */
.legis-page-catalogo .fwpl-row.legis-card > .fwpl-col{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* CTA sempre in fondo */
.legis-page-catalogo .fwpl-row.legis-card .legis-listing__cta{
  margin-top: auto;
  padding-top: .5rem;
}
/* Se la CTA viene DOPO un blocco prezzi, annulla il suo margin-top auto. */
.legis-page-catalogo .legis-listing__prices ~ .legis-listing__cta {
  margin-top: 0; 
}
/* No results */
.legis-page-catalogo .facetwp-template .facetwp-no-results,
.legis-page-catalogo .legis-listing__grid .facetwp-no-results{
  grid-column: 1 / -1;
  padding: 1rem;
  border-radius: var(--legis-radius);
  border: var(--legis-border);
  background: var(--wp--preset--color--gray-bg);
  font-weight: 800;
}

/* =========================================================
   PRODOTTI CORRELATI
   ========================================================= */
.legis-page-catalogo__suggested::before {
  content: "Consigli LEGIS per → ";
   font-size: var(--wp--preset--font-size--lg);
   font-weight: 300;
}
.legis-page-catalogo__suggested {
   font-size: var(--wp--preset--font-size--lg);
   font-weight: 400;
}

.legis-page-catalogo__suggestedfrom {
   font-size: var(--wp--preset--font-size--lg) !important;
}

.legis-page-catalogo__suggestedfrom  >strong{
  font-weight: 600;
}
/* =========================================================
   VISIBILITÀ FILTRI SPECIFICI (gestita via data attribute JS)
   - default: nascondi libri/corsi finché non selezioni Linea prodotto
   ========================================================= */
.legis-page-catalogo :where(.legis-facets--libri, .legis-facets--corsi, .legis-facets__separator--after-generali, .legis-facets__separator--after-libri){
  display: none;
}

/* Se linea = libri */
.legis-page-catalogo[data-legis-linea="libri"] .legis-facets--libri{
  display: block;
}
.legis-page-catalogo[data-legis-linea="libri"] .legis-facets__separator--after-generali{
  display: block;
}

/* Se linea = corsi */
.legis-page-catalogo[data-legis-linea="corsi"] .legis-facets--corsi{
  display: block;
}
.legis-page-catalogo[data-legis-linea="corsi"] .legis-facets__separator--after-generali{
  display: block;
}

/* Se linea = all (o assente) rimane tutto nascosto tranne generali */
.legis-page-catalogo:not([data-legis-linea]) :where(.legis-facets--libri, .legis-facets--corsi, .legis-facets__separator--after-generali, .legis-facets__separator--after-libri){
  display: none;
}

/* Nascondo filtri linea prodotto su pagine elenchi dedicati che condividono il listing catalogo_prodotti */
body.page-id-1343 .legis-facets__lineaprodotto, /*offerta formativa*/
body.page-id-1341 .legis-facets__lineaprodotto, /*libri tecnici*/
body.page-id-1350 .legis-facets__lineaprodotto, /*libri giuridici*/
body.page-id-1353 .legis-facets__lineaprodotto, /*codici legis*/
body.page-id-2698 .legis-facets__lineaprodotto, /*corsi appalti*/
body.page-id-2714 .legis-facets__lineaprodotto, /*corsi edilizia*/
body.page-id-2733 .legis-facets__lineaprodotto, /*corsi PA*/
body.page-id-2737 .legis-facets__lineaprodotto, /*libri appalti*/
body.page-id-2740 .legis-facets__lineaprodotto, /*libri edilizia*/
body.page-id-2742 .legis-facets__lineaprodotto /*libri PA*/
{
  display: none !important;
}
/* Nascondo filtro collane su pagina codici */
body.page-id-1353 .legis-facets__collana
{
  display: none !important;
}
/* Nascondo filtri area tematica su pagine elenco seo */
body.page-id-2698 .legis-facets__areatematica, /*corsi appalti*/
body.page-id-2714 .legis-facets__areatematica, /*corsi edilizia*/
body.page-id-2733 .legis-facets__areatematica, /*corsi PA*/
body.page-id-2737 .legis-facets__areatematica, /*libri appalti*/
body.page-id-2740 .legis-facets__areatematica, /*libri edilizia*/
body.page-id-2742 .legis-facets__areatematica /*libri PA*/
{
  display: none !important;
}

/* =========================================================
   HERO ARCHIVI AREE TEMATICHE
   ========================================================= */
/* Blocco colonne: allineato a sinistra e compatto */
.areetematiche-hero .lta-term-hero {
  justify-content: flex-start;
  align-items: flex-start;
  gap: clamp(20px, 3vw, 36px);
  margin-top: 0;
  margin-bottom: 0;
}
/* Gap tra le colonne */
.areetematiche-hero .lta-term-hero.wp-block-columns {
  gap: 20px !important;
}
/* Colonna icona: niente centratura */
.areetematiche-hero .lta-term-hero > .wp-block-column:first-child {
  flex-basis: auto !important;
  max-width: 120px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
/* Elimina margine del <p> generato attorno all'immagine */
.areetematiche-hero .lta-term-hero > .wp-block-column:first-child p {
  margin: 0;
}
/* Icona */
.areetematiche-hero .lta-term-hero-icon {
  display: block;
  width: clamp(72px, 8vw, 120px);
  height: auto;
}
/* Colonna testi: parte subito dall'alto */
.areetematiche-hero .lta-term-hero > .wp-block-column:last-child {
  padding-top: 0;
}
/* Titolo: rimuove padding inline e margini eccessivi */
.areetematiche-hero .lta-term-hero-title {
  padding-top: 0 !important;
  margin-top: 0;
  margin-bottom: 8px;
  line-height: 1.05;
}
/* Descrizione breve / term description */
.areetematiche-hero .lta-term-hero-description {
  margin-top: 0;
  margin-bottom: 6px !important;
}
.areetematiche-hero .lta-term-hero-description p {
  margin-top: 0;
  margin-bottom: 0;
}
/* Intro estesa */
.areetematiche-hero .lta-term-hero-intro {
  margin-top: 0;
  margin-bottom: 24px !important;
  line-height: 1.35;
}
/* =========================================================
   Hero archivi aree tematiche - responsive tablet/mobile
   ========================================================= */

/* Tra 641px e 781px: impedisce lo stack anticipato di Gutenberg */
@media (min-width: 641px) and (max-width: 781px) {
  .areetematiche-hero .lta-term-hero.wp-block-columns {
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: 18px !important;
  }

  .areetematiche-hero .lta-term-hero > .wp-block-column:first-child {
    flex-basis: 80px !important;
    flex-grow: 0;
    flex-shrink: 0;
    max-width: 80px;
  }

  .areetematiche-hero .lta-term-hero > .wp-block-column:last-child {
    flex-basis: auto !important;
    flex-grow: 1;
    min-width: 0;
  }

  .areetematiche-hero .lta-term-hero-icon {
    width: 72px;
  }

  .areetematiche-hero .lta-term-hero-title {
    font-size: clamp(42px, 7vw, 56px);
    line-height: 1.05;
  }
}
/* Sotto 640px: layout monocolonna, icona nascosta, testi centrati */
@media (max-width: 640px) {
  .areetematiche-hero .lta-term-hero.wp-block-columns {
    display: block;
    margin-top: 0;
    margin-bottom: 0;
  }
  /* Nasconde la colonna icona */
  .areetematiche-hero .lta-term-hero > .wp-block-column:first-child {
    display: none;
  }
  .areetematiche-hero .lta-term-hero > .wp-block-column:last-child {
    text-align: center;
  }
  .areetematiche-hero .lta-term-hero-title {
    margin-top: 0;
    margin-bottom: 10px;
    line-height: 1.05;
    text-align: center;
  }
  .areetematiche-hero .lta-term-hero-description {
    margin-bottom: 14px !important;
    text-align: center;
  }
  .areetematiche-hero .lta-term-hero-description p {
    margin: 0;
  }
  .areetematiche-hero .lta-term-hero-intro {
    max-width: 34rem;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    line-height: 1.35;
  }
  .areetematiche-hero .lta-anchor-nav-wrap.wp-block-group,
  .areetematiche-testatina,
  .legis-page-catalogo__suggestedfrom {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
  }
  .areetematiche-hero .lta-anchor-nav-wrap.wp-block-group .legis-anchor-nav,
  .areetematiche-testatina,
  .legis-page-catalogo__suggestedfrom {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

/* =========================================================
   CATALOGO RESPONSIVE
   Layout:
   > 960px     = filtri 25% / listing 75% | prodotti 3 colonne
   <= 960px    = filtri 25% / listing 75% | prodotti 2 colonne
   <= 640px    = filtri 45% / listing 55% | prodotti 1 colonna
   <= 480px    = stack: filtri sopra / listing sotto | no sticky
   ========================================================= */
/* CATALOGO: layout facet + listing */
@media (min-width: 481px) and (max-width: 960px) {
  .legis-page-catalogo .legis-catalog-layout,
  .legis-page-catalogo .wp-block-columns:has(> .legis-column--facets) {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  .legis-page-catalogo .legis-column--facets {
    flex: 0 0 25% !important;
    max-width: 25% !important;
    width: 25% !important;
  }
  .legis-page-catalogo .legis-column--listing {
    flex: 1 1 0 !important;
    max-width: 75% !important;
    width: 75% !important;
    min-width: 0 !important;
  }
}
/* CATALOGO: prodotti a 2 colonne sotto 960px */
@media (max-width: 960px) {
  .legis-page-catalogo .facetwp-template .fwpl-layout.legis-listing__grid,
  .legis-page-catalogo .fwpl-layout.el-iwgglw.legis-listing__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* CATALOGO: prodotti a 1 colonna sotto 640px */
@media (max-width: 640px) {
  .legis-page-catalogo .facetwp-template .fwpl-layout.legis-listing__grid,
  .legis-page-catalogo .fwpl-layout.el-iwgglw.legis-listing__grid {
    grid-template-columns: 1fr !important;
  }
}
/* CATALOGO: solo sotto 480px facet sopra e listing sotto */
@media (max-width: 480px) {
  .legis-page-catalogo .legis-catalog-layout,
  .legis-page-catalogo .wp-block-columns:has(> .legis-column--facets) {
    flex-direction: column !important;
    gap: 24px !important;
  }
  .legis-page-catalogo .legis-column--facets,
  .legis-page-catalogo .legis-column--listing {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}
/* CATALOGO: tra 481px e 640px layout 50/50 */
@media (min-width: 481px) and (max-width: 640px) {

  .legis-page-catalogo .legis-catalog-layout {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: flex-start !important;
  }
  .legis-page-catalogo .legis-column--facets,
  .legis-page-catalogo .legis-column--listing {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    min-width: 0 !important;
  }
}
/* CATALOGO: no sticky filtri sotto 480px */
@media (max-width: 480px) {
  .legis-page-catalogo .legis-column--facets,
  .legis-page-catalogo .legis-column--facets > *,
  .legis-page-catalogo .legis-facets {
    position: static !important;
    top: auto !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }
}