/*
 Theme Name: Twenty Twenty-Five Child
 Template: twentytwentyfive


/* =========================
   TRUST BAR HOME
========================= */
.legis-trustbar__home {
  /* più “istituzionale”: blocco non troppo largo, centrato */
  max-width: 782px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  /* ritmo verticale */
  padding-top: var(--wp--preset--spacing--sm);
  padding-bottom: var(--wp--preset--spacing--sm);

  /* optional: stacco elegante dalla sezione sopra */
  margin-top: var(--wp--preset--spacing--lg) !important;
  padding-top: var(--wp--preset--spacing--lg) !important;
}

.legis-trustbar__home .wp-block-columns{
  align-items: center !important;            /* CENTRO verticale tra icona e testo */
  gap: 24px;                      /* avvicina logo e testi */
}

/* Colonna icona: togli il “5%/95%” e rendila auto */
.legis-trustbar__home .wp-block-column:first-child{
  flex: 0 0 auto !important;
}

/* Riduci logo + togli spazi strani del figure */
.legis-trustbar__home .wp-block-image{
  margin: 0;
}
.legis-trustbar__home .wp-block-image img{
  width: 60px !important;
  height: auto !important;
  display: block;
  transform: translateY(2px);
}

/* Compatta i paragrafi (WordPress aggiunge margini default) */
.legis-trustbar__home p{
  margin: 0 !important;                      /* azzera */
}

/* Titolo: un filo più “tight” */
.legis-trustbar__home {
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 350;
  line-height: 1.15;
  letter-spacing: .02em;          /* “istituzionale” (facoltativo) */
  margin-bottom: 6px;             /* distanza minima dal testo sotto */
}

/* Testo: più compatto ma leggibile */
.legis-trustbar__home {
  font-size: var(--wp--preset--font-size--lg);
  line-height: 1.35;
  opacity: .95;                   /* leggero “tono” */
}

/* Badge "Dal 1933" */
.legis-trustbar__home__badge{
  font-size: var(--wp--preset--font-size--lg) !important;
  display: inline-block;
  padding-top: 2px;
  padding-bottom: 1.5px;
  padding-inline: 8px;
  margin-right: 5px;
  font-size: 0.75rem;
  line-height: 1.2;
  font-weight: 600;

  color: var(--wp--preset--color--blue-primary);
  background: var(--wp--preset--color--blue-light);
  border: 1px solid rgba(0,58,112,.18);
  border-radius: 4px; /* pill */
  vertical-align: middle;
}

/* Variante mobile (icona sopra, testo sotto) */
@media (max-width: 781px){
  .legis-trustbar__home .wp-block-columns{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
	}
}

/* -------------------------
   ROBBA VARIA
------------------------- */
/* Icona termine tassonomia */
*/
.term-icon {
  width: 22px;
  height: 22px;
  margin-right: 8px;
  opacity: .8;
}
/* FIX gerarchia headings – override Bootstrap */
:where(h1.wp-block-query-title){
  font-size: var(--wp--preset--font-size--xx-large, 3rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
:where(h1.wp-block-post-title){
  font-size: var(--wp--preset--font-size--xx-large, 3rem) !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
:where(h2.wp-block-query-title){
  font-size: var(--wp--preset--font-size--x-large, 2.5rem) !important;
}
/* Menu anchor nelle home aree tematiche */
.legis-anchor-nav{
  width: fit-content;
  margin-left: auto;
  align-items: center;
  gap: .95rem;
  margin: 1.25rem 0 2.25rem auto;
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.4;
}
.legis-anchor-nav__link{
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
  font-weight: 400;
}

.legis-anchor-nav__link:hover,
.legis-anchor-nav__link:focus-visible{
  text-decoration: underline;
  text-underline-offset: 2px;
}

.legis-anchor-nav__sep{
  color: var(--wp--preset--color--gray-text, #6b7280);
}

#libri,
#corsi,
#articoli{
  scroll-margin-top: 60px;
}

/* stile messaggio informativo negozio */
/* Il banner */
.wc-block-components-notice-banner.is-info { 
display: flex;
align-items: center;
/* Rimuove l'outline del browser */
    outline: none !important;
    /* Rimuove eventuali ombre che simulano il doppio bordo */
    box-shadow: none !important;
}
/* L'icona (SVG) */
.wc-block-components-notice-banner.is-info svg { 
transform: translateY(-4px) !important;
}
/* Il link d'azione all'interno del messaggio */
.wc-block-components-notice-banner__content a.button.wc-forward { 
font-size: var(--wp--preset--font-size--md);
color: var(--wp--preset--color--blue-primary) !important;
padding-right: 2rem !important;
}

/* ==========================================================================
   LEGIS - Prevendita libri
   ========================================================================== */

.legis-preorder-image-wrap {
	position: relative;
	display: inline-block;
	max-width: 100%;
	line-height: 0;
}

.legis-preorder-image-wrap img,
.legis-preorder-image-wrap picture {
	display: block;
	max-width: 100%;
}

/* Listing/card */
.woocommerce ul.products li.product .legis-preorder-image-wrap,
.fwpl-result .legis-preorder-image-wrap,
.legis-card .legis-preorder-image-wrap {
	display: block;
	width: 100%;
}

/* PDP gallery */
.woocommerce div.product div.images .woocommerce-product-gallery__image {
	position: relative;
}

/* Fascetta base */
.legis-preorder-ribbon {
	position: absolute;
	z-index: 8;
	left: 2%;
	right: 2%;
	bottom: 10%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
	padding: 0.5rem 0.65rem;
	background: var(--wp--preset--color--yellow-gold);
	color: var(--wp--preset--color--blue-primary);
	border-top: 3px solid var(--wp--preset--color--blue-primary);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.22);
	text-align: center;
	line-height: 1.15;
	pointer-events: none;
}

.legis-preorder-ribbon__eyebrow {
	display: block;
	font-size: .95rem !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.1;
	text-transform: uppercase;
}

.legis-preorder-ribbon__date {
	display: block;
	font-size: .85rem !important;
	font-weight: 400;
	line-height: 1.1;
}

.legis-preorder-ribbon__text {
	display: -webkit-box;
	max-width: 100%;
	overflow: hidden;
	font-size: .85rem !important;
	font-weight: 400;
	line-height: 1.1;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
/* ==========================================================================
   LEGIS - Prevendita libri nei risultati ricerca
   ========================================================================== */

/* Evita che eventuali <br> inseriti dal markup/shortcode aumentino l'altezza */
.legis-preorder-ribbon > br {
	display: none;
}

/* Risultati ricerca: fascetta compatta sulla parte bassa della copertina */
.legis-search-top__media .legis-preorder-ribbon,
.legis-search-top__media .legis-preorder-ribbon--thumbnail {
	top: auto;
	left: 2%;
	right: 2%;
	bottom: 9%;
	padding: 0.38rem 0.42rem;
	gap: 0.05rem;
	border-top-width: 2px;
	line-height: 1.05;
	box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18);
}

/* Dimensioni ridotte per miniature ricerca */
.legis-search-top__media .legis-preorder-ribbon__eyebrow {
	font-size: 0.68rem !important;
	line-height: 1.05;
	letter-spacing: 0.035em;
}

.legis-search-top__media .legis-preorder-ribbon__date {
	font-size: 0.62rem !important;
	line-height: 1.05;
}

.legis-search-top__media .legis-preorder-ribbon__text {
	font-size: 0.62rem !important;
	line-height: 1.05;
	-webkit-line-clamp: 1;
}
/* Notice carrello/checkout */
.legis-preorder-cart-notice {
	margin-bottom: 1rem;
}

/* Mobile */
@media (max-width: 480px) {
	.legis-preorder-ribbon {
		left: 6%;
		right: 6%;
		bottom: 8%;
		padding: 0.38rem 0.45rem;
	}

	.legis-preorder-ribbon__eyebrow,
	.legis-preorder-ribbon__date {
		font-size: 0.64rem;
	}

	.legis-preorder-ribbon__text {
		font-size: 0.58rem;
		-webkit-line-clamp: 1;
	}
}

/* =========================================================
   LEGIS SEARCH RESULTS
   ========================================================= */
.legis-search-results{
  margin-top: 1rem;
}
.legis-search__form{
  margin: 0 0 1rem;
}
/* Rimuove tag break indesiderato iniettato nello shortcode da non si sa che e che mandava a capo il bottone */
.legis-search__form-inner br,
.legis-search__filters br {
    display: none !important;
}
.legis-search__form-inner{
  display: grid;
  grid-template-columns: 7.5fr 2.5fr;
  gap: .75rem;
  align-items: center;
}
.legis-search__input{
  width: 100%;
  min-height: 32px;
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(15, 23, 42, .14);
  border-radius: 4px;
  background: #fff;
  font-size: var(--wp--preset--font-size--md);
}
.legis-search__input:focus{
  outline: 2px solid transparent;
  border-color: var(--wp--preset--color--blue-primary);
  box-shadow: 0 0 0 3px rgba(0, 79, 159, .12);
}
.legis-search__submit{
  min-height: 32px;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 4px;
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
  font-weight: 400;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.legis-search__submit:hover{
  background: var(--wp--preset--color--blue-light);
  color: var(--wp--preset--color--blue-primary);
}
.legis-search__filters {
  display: flex;
  flex-wrap: nowrap;
  gap: .5rem;
  margin: 0 0 1.5rem;
}
.legis-search__filter{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center !important;
  width: min(25vw); /* larghezza minima bottoni filtri ricerca */
  min-height: 38px;
  padding: .45rem .8rem;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: 4px;
  background: var(--wp--preset--color--gray-bg);
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 400;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.legis-search__filter:hover{
  transform: translateY(-1px);
  border-color: var(--wp--preset--color--blue-primary);
}
.legis-search__filter.is-active{
  background: var(--wp--preset--color--blue-primary);
  border-color: var(--wp--preset--color--blue-primary);
  color: #fff;
}
.legis-search__section{
  margin-top: 2.25rem;
}
.legis-search__section-head{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .75rem;
  margin-bottom: 1rem;
  padding-bottom: .35rem;
  border-bottom: 1px solid #e5e7eb;
}
.legis-search__section-title{
  margin: 0;
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.65rem, 2vw, 2rem);
  line-height: 1.15;
  color: var(--wp--preset--color--blue-primary);
}
.legis-search__more{
  color: var(--wp--preset--color--blue-primary);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 600;
  text-decoration: none;
}
.legis-search__more:hover{
  text-decoration: underline;
  text-decoration-thickness: 2px;
}
.legis-search__empty{
  padding: 1rem 1.15rem;
  border: var(--legis-border);
  border-radius: var(--legis-radius);
  background: var(--wp--preset--color--gray-bg);
}
.legis-search__empty p{
  margin: 0;
}
.legis-search__mark{
  padding: 0 .12em;
  border-radius: 2px;
  background: var(--wp--preset--color--yellow-soft);
  color: inherit;
}

/* =========================================================
   TOP RISULTATI
   ========================================================= */
.legis-search-top{
  display: grid;
  gap: 1rem;
}
.legis-search-top__item{
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 1rem 1rem;
  background: #fff;
  border: var(--legis-border);
  border-radius: var(--legis-radius);
  box-shadow: var(--legis-shadow);
}
.legis-search-top__item--post{
  grid-template-columns: 1fr;
}
.legis-search-top__media{
  min-width: 0;
}
.legis-search-top__media a{
  display: block;
  width: 100%;
  aspect-ratio: 2.125 / 3;
  padding: 6px;
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: calc(var(--legis-radius) - 2px);
  background: var(--wp--preset--color--gray-bg);
}
.legis-search-top__media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--legis-radius) - 4px);
  box-shadow: 0 10px 22px rgba(15, 23, 42, .14);
  background: #fff;
}
.legis-search-top__body{
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.legis-search-top__body--full{
  min-width: 0;
}
.legis-search-top__kicker{
  margin-bottom: .35rem;
}
.legis-search-top__title{
  margin: 0;
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.1rem, 1.6vw, 1.35rem);
  line-height: 1.22;
  color: var(--wp--preset--color--blue-primary);
}
.legis-search-top__title a{
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 2px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: color .25s ease, background-size .25s ease, transform .15s ease;
}
.legis-search-top__title a:hover{
  color: var(--wp--preset--color--blue-hover);
  background-size: 100% 2px;
}
.legis-search-top__meta{
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0;
  margin-top: .35rem;
  color: var(--wp--preset--color--gray-text);
  font-size: var(--wp--preset--font-size--sm);
}
.legis-search-top__meta > *{
  font-size: var(--wp--preset--font-size--sm);
}
.legis-search-top__excerpt{
  margin-top: .55rem;
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.45;
  color: #334155;
}
.legis-search-top__excerpt--post{
  padding-left: 1rem;
  border-left: 5px solid var(--wp--preset--color--blue-primary);
  font-style: italic;
}
.legis-search-top__footer{
  margin-top: auto;
  padding-top: .5rem;
  text-align: right;
}
.legis-search-top__cta{
    display: none !important;
}
.legis-search-top__cta:hover{
  background: var(--wp--preset--color--blue-light);
  color: var(--wp--preset--color--blue-primary);
}


@media (max-width: 480px){
  .legis-search__form-inner{
    grid-template-columns: 1fr;
	}
.legis-search-top__item {
    grid-template-columns: 1fr;
  }
  .legis-search-top__media {
    width: 60vw;
    justify-self: center;
  }
  .legis-search__section-head{
    align-items: flex-start;
  }
}

/* Pager riusa volutamente le classi FacetWP */
.legis-search__pager{
  margin-top: 1.5rem;
}

/* GRID a 4 Target specifico per la griglia dei prodotti nella ricerca */
.legis-search__products-grid {
    display: grid;
    /* Crea 4 colonne uguali e sicure (non esplodono con contenuti larghi) */
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    /* Spaziatura tra le card - regola il valore secondo il tuo gusto */
    gap: 0.75rem; 
    align-items: stretch;
}

/* IMPORTANTE: Nel tuo markup ci sono dei tag <p></p> vuoti tra i risultati. 
   In una griglia, ogni figlio diretto occupa una cella. 
   Dobbiamo nasconderli per evitare che "rubino" il posto alle colonne vere. */
.legis-search__products-grid > p {
    display: none !important;
}
/* Mobile - Sotto i 1024px passiamo a 2 colonne, sotto i 600px a 1 */
@media (max-width: 781px) {
    .legis-search__products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 600px) {
    .legis-search__products-grid {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================================
   BREADCRUMB
   ========================================================================== */
:root{
	--legis-breadcrumb-separator: ">";
}
.legis-breadcrumb{
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--sm) !important;
	line-height: 1.5;
}

.legis-breadcrumb ol{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--sm) !important;
}

.legis-breadcrumb li{
	display: inline-flex;
	align-items: center;
	min-width: 0;
	font-size: var(--wp--preset--font-size--sm) !important;
}

.legis-breadcrumb li + li::before{
	content: var(--legis-breadcrumb-separator, "›");
	display: inline-block;
	margin: 0 0.5em;
	opacity: 0.65;
	font-size: var(--wp--preset--font-size--sm) !important;
}

.legis-breadcrumb a{
	text-decoration: none;
	font-weight: 300  !important;
}

.legis-breadcrumb a:hover,
.legis-breadcrumb a:focus{
	text-decoration: underline !important;
}

.legis-breadcrumb [aria-current="page"]{
	font-weight: 350;
}

.legis-breadcrumb [aria-current="page"] > span{
	word-break: break-word;
}
@media (max-width: 960px) {
  .legis-breadcrumb li[aria-current="page"] {
    display: none !important;
  }
}
/* -------------------------
   SCHEDE PROFILI PERSONE
------------------------- */
/* foto profilo persone */
.people-foto {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid #d7dee8;
  box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06);
}

/* Se la colonna da 15% è vuota, crea il placeholder */
.people-foto-column:empty {
    width: 120px;
    height: 120px;
    flex: 0 0 120px; /* Impedisce alla colonna di crescere */
    background-color: #f8f9fa;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
  border: 1px solid #d7dee8;
  box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06);
}
.people-foto-column:empty::before {
    content: "";
    width: 60px;
    height: 60px;
    background-color: #cbd5e0;
    /* Maschera SVG per un'icona utente elegante */
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>') no-repeat center;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>') no-repeat center;
}

/* Wrapper lista ruoli */
.people-roles {
  margin: .5rem 0 0;
  padding: 0;
  padding-top: 1rem;
  padding-bottom: .75rem;
  border-top: 1px solid var(--wp--preset--color--gray-disabled);
  border-bottom: 1px solid var(--wp--preset--color--gray-disabled);
}

/* Singolo item */
.people-roles li {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin: .2rem 0;
  font-size: var(--wp--preset--font-size--md);
  color: var(--wp--preset--color--gray-text);
}
/* Valore (cioè il testo del li) */
.people-roles__istituzionale,
.people-roles__professionale {
  font-weight: 450;
  color: var(--wp--preset--color--blue-primary) !important;
}
/* Sito web */
.people-website {
  display: flex;
  align-items: baseline;
  gap: .5rem;
  margin-top: 1rem;
  font-size: var(--wp--preset--font-size--md);
  font-weight: 450;
  color: var(--wp--preset--color--blue-primary) !important;
}
/* Prefissi (etichette) */
.people-roles__istituzionale::before {
  content: "Ruolo in LEGIS:";
  font-weight: 350;
  color: var(--wp--preset--color--gray-text);
}
.people-roles__professionale::before {
  content: "Ruolo professionale:";
  font-weight: 350;
  color: var(--wp--preset--color--gray-text);
}
.people-website::before {
  content: "↗ Profilo:";
  font-weight: 350;
  color: var(--wp--preset--color--gray-text);
  gap: .5rem;
}

/* Nasconde il li (e il relativo ::before) se lo shortcode è vuoto */
.people-roles li:empty {
  display: none;
}
/* Nasconde il sito web (e il relativo ::before) se lo shortcode è vuoto */
.people-website:empty {
  display: none;
}
/* Fix tablet stretto: mantiene foto e contenuto affiancati senza sovrapposizione */
@media (min-width: 641px) and (max-width: 781px){
  .wp-block-columns:has(.people-foto-column){
    flex-wrap: nowrap !important;
    align-items: flex-start;
    gap: 14px;
  }
  .wp-block-columns:has(.people-foto-column) > .people-foto-column{
    flex: 0 0 120px !important;
    width: 120px !important;
    max-width: 120px !important;
  }
  .wp-block-columns:has(.people-foto-column) > .wp-block-column:not(.people-foto-column){
    flex: 1 1 auto !important;
    min-width: 0;
  }
}
/* Variante mobile schede persone: colonne in stack, tutto centrato tranne il testo descrittivo del profilo */
@media (max-width: 640px){
  .wp-block-columns:has(.people-foto-column){
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--wp--preset--spacing--md);
    text-align: center;
  }
  .wp-block-columns:has(.people-foto-column) > .wp-block-column{
    flex-basis: auto !important;
    width: 100%;
  }
  /* Colonna foto */
  .people-foto-column{
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .people-foto-column .people-foto,
  .people-foto-column .wp-block-post-featured-image{
    margin-left: auto;
    margin-right: auto;
  }
  /* Placeholder quando manca la foto */
  .people-foto-column:empty{
    margin-left: auto;
    margin-right: auto;
  }
  /* Titolo */
  .wp-block-columns:has(.people-foto-column) .wp-block-post-title{
    text-align: center;
  }
  /* Ruoli centrati */
  .wp-block-columns:has(.people-foto-column) .people-roles{
    text-align: center;
  }
  .wp-block-columns:has(.people-foto-column) .people-roles li{
    justify-content: center;
    text-align: center;
  }
  /* Profilo: NON centrato, resta giustificato */
  .wp-block-columns:has(.people-foto-column) .people-description{
    text-align: justify;
  }
  .wp-block-columns:has(.people-foto-column) .people-description p{
    text-align: justify;
  }
  /* Link profilo centrato */
  .wp-block-columns:has(.people-foto-column) .people-website{
    justify-content: center;
    text-align: center;
  }
}

/* -------------------------
   STILI ARTICOLO SINGOLO
------------------------- */
/*sfondo hero*/
.legis-article-hero,
.areahome-hero,
.articles-hero,
.areetematiche-hero,
.legis-home-hero,
.people-container {
  background-color: #fff;
  background-image: radial-gradient(rgba(0,58,112,0.08) 1.5px, transparent 1px) !important;
  background-size: 10px 10px !important; /* Distanza tra i puntini */
}

/*aree tematiche*/
.legis-article__aree{
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 8px; 
  margin-bottom: 16px;
  font-weight: 350;
  color: var(--wp--preset--color--gray-text);
  font-size: var(--wp--preset--font-size--md) !important;
}
/*SVG aree tematiche*/
.legis-article__aree::before {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-right: 6px;
background: url('/wp-content/themes/twentytwentyfive-child/assets/icons/layers.svg') no-repeat center;
  background-size: contain;
  opacity: 0.75;
  transform: translateY(1px);
}
/* Riga autore + data modificata */
body .wp-block-group.is-nowrap.wp-block-group-is-layout-flex{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: .75rem;
  row-gap: .35rem;
  font-weight: 350;
}

/* Paragrafo autore */
body .wp-block-group.is-nowrap.wp-block-group-is-layout-flex > p{
  margin: 0;
}

/* Layout unificato per data e tempo di lettura */
body .wp-block-post-date__modified-date.wp-block-post-date,
body .wp-block-post-time-to-read {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .25rem;
  margin: 0;
  line-height: 1.4;
}

/* Separatore unificato per tempo di lettura e data */
body .wp-block-post-time-to-read::before,
.wp-block-post-date__modified-date::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  margin: 0 .6rem;
  transform: translateY(-1px);
  opacity: .8;
}
/*Orologio per tempo di lettura*/
body .wp-block-post-time-to-read::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 2px;
background: url('/wp-content/themes/twentytwentyfive-child/assets/icons/clock.svg') no-repeat center;
  background-size: contain;
  opacity: 0.75;
  transform: translateY(-1px);
}
/* Label */
body .legis-updated-label,
.legis-reading-time-label {
  display: inline;
  margin: 0;
  white-space: nowrap;
}
/* Data e tempo */
body .wp-block-post-date__modified-date time,
.wp-block-post-time-to-read {
  white-space: nowrap;
}

/*abstract - bordo e spaziatura*/
.legis-article__abstract,
.wp-block-post-excerpt__excerpt{
/*  border-bottom: 1px solid #e5e7eb;*/
/*  padding-bottom: 20px; */
  margin-bottom: 36px;
  font-size: 1.1rem;
  line-height: 1.6;
  color: #2a2a2a;
}

/*contenuto*/
.wp-block-post-content{
  color: var(--wp--preset--color--gray-text);
}
.wp-block-post-content :where(p, li){
  color: var(--wp--preset--color--gray-text);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 350;	
  line-height: 1.5;
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}
.wp-block-post-content h4 {
    font-weight: 450; /* o il valore che preferisci */
}
.wp-block-post-excerpt p{
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 350;
}

div.wp-block-post-content p strong, 
div.wp-block-post-content li strong {
    font-weight: 550 !important;
}
/*citazioni e box in evidenza*/
.wp-block-post-content blockquote {
  margin-left: 2rem;
  margin-right: 2rem;
}
.wp-block-post-content blockquote p {
  font-size: var(--wp--preset--font-size--md) !important;
  font-style: italic;
  font-weight: 350;
  /* Se vuoi annullare il justify del selettore precedente: */
  text-align: left; 
}
.wp-block-post-content blockquote p::before {
	content: "Normativa";
    font-style: normal !important;
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--gray-text);
	margin-bottom: 0.5rem;
    font-weight: 500;
}

.legis-box-evidenza {
    font-size: var(--wp--preset--font-size--md) !important;
	background: var(--wp--preset--color--gray-bg);
	border-left: 5px solid var(--wp--preset--color--blue-primary);
	padding: 1rem 1.25rem;
    margin-left: 2rem;
    margin-right: 2rem;
}

.legis-box-evidenza :where(p, li) {
    font-size: var(--wp--preset--font-size--md) !important;
}

.legis-box-evidenza p {
	margin: 0;
}

.legis-box-evidenza strong {
	color: var(--wp--preset--color--blue-primary);
}
.legis-box-evidenza::before {
	content: "In evidenza";
	display: block;
	font-size: var(--wp--preset--font-size--sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--gray-text);
	margin-bottom: 0.5rem;
    font-weight: 500;
}

/* immagini e didascalie */
.legis-article__img {
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.04);
  max-width: 960px;
  margin-top: .75rem;
}
.wp-caption-text {
  font-size: var(--wp--preset--font-size--md);
  color: var(--wp--preset--color--gray-text);
  margin-top: 6px;
  font-weight: 350;	
  font-style: italic;	
}
/* Listing (prodotti correlati, archivi aree tematiche, articolo singolo, home) - campo tecnico nascosto per autore/curatore */
.legis-listing__editorial-role {
  display: none !important;
}

/* =========================================================
   STILI PER IL PANNELLO FILTRI DEL LISTING ARTICOLI
   ========================================================= */
/* Toolbar */
.legis-toolbar-container {
  margin-block-start: .5rem;
} 

.legis-toolbar {
  box-shadow: var(--wp--preset--shadow--card);	
  background: var(--wp--preset--color--gray-bg); 
  border: 1px solid rgba(15, 23, 42, .10); 
  border-radius: 4px;	
  padding-top: .5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
}
.legis-filters-row {
  margin-block-start: .25rem !important;
}
/* Tabs */
.legis-tabs {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: .5rem;
}

.legis-tabs button {
  margin-left: .5rem !important;
  appearance: none;
  border: 1px solid var(--wp--preset--color--blue-light);
  background: var(--wp--preset--color--yellow-soft);
  color: var(--wp--preset--color--gray-text);
  border-radius: 4px;
  padding: .55rem .9rem;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  transition: .2s ease;
}

.legis-tabs button.is-active {
  background: var(--wp--preset--color--blue-primary);
  border-color: var(--wp--preset--color--blue-light);
  color: #fff;
}

/* Area filter */
.legis-area-filter {
  position: relative;
  display: inline-block;
}

.facet-toggle {
  appearance: none;
  border: 1px solid var(--wp--preset--color--blue-light);
  background: var(--wp--preset--color--yellow-soft);
  color: var(--wp--preset--color--gray-text);
  border-radius: 4px;
  padding: .65rem 1rem;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  transition: .2s ease;
}

.facet-toggle.is-active {
  background: var(--wp--preset--color--blue-primary);
  border-color: var(--wp--preset--color--blue-light);
  color: #fff;
}

/* Popover */
.facet-panel {
  display: none;
  position: absolute;
  top: calc(100% + 1rem);
  left: 0;
  z-index: 50;
  width: min(90vw);
  padding: 1rem;
  background: var(--wp--preset--color--gray-bg);
  border: 1px solid rgba(15, 23, 42, .10); 
  border-radius: 4px;
  box-shadow: var(--wp--preset--shadow--card);	
}

.facet-panel.is-open {
  display: block;
}

.facet-panel .facetwp-facet {
  margin: 0;
}

/* Chip facet */
.facet-panel .facetwp-checkbox {
  display: inline-flex;
  align-items: center;
  margin: 0 .5rem .5rem 0;
  padding: .55rem .85rem !important;
  background: var(--wp--preset--color--yellow-soft);
  background-image: none !important;
  border: 1px solid #d8dee8;
  border-radius: 4px;
  color: var(--wp--preset--color--gray-text);
  line-height: 1.2;
  cursor: pointer;
  transition: .2s ease;
}

.facet-panel .facetwp-checkbox.checked,
.facet-panel .facetwp-checkbox[aria-checked="true"] {
  background: var(--wp--preset--color--blue-primary);
  border-color: var(--wp--preset--color--blue-light);
  color: #fff;
}

.facet-panel .facetwp-counter {
  display: none; /* se li vuoi, elimina questa riga */
}

/* Active pills */
.legis-active-filters .facetwp-selections ul {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: .25rem .0rem .25rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(15, 23, 42, .10);
  padding-inline-start: 0rem !important;
}

.legis-active-filters .facetwp-selections li {
  display: flex;
  flex-wrap: wrap;
  column-gap: .25rem;
  row-gap: .5rem;
  list-style: none;
  margin: 0;
}

.legis-active-filters .facetwp-selection-label {
  display: none;
}

.legis-active-filters .facetwp-selection-value {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.2;
  padding: .45rem 1.5rem .45rem .8rem;
  border: 1px solid var(--wp--preset--color--blue-light);
  border-radius: 4px;
  background: var(--wp--preset--color--blue-primary) !important;
  background-image: none !important;
  color: #fff !important;
  cursor: pointer;
  text-decoration: none;
  box-shadow: none;
}

.legis-active-filters .facetwp-selection-value::after {
  content: "×";
  position: absolute;
  right: .25rem;
  top: 50%;
  transform: translateY(-45%);
  color: #fff;
  font-size: var(--wp--preset--font-size--lg);
  line-height: 1.2;
  pointer-events: none;
}

/* Hidden facet */
.legis-hidden-facet {
  display: none;
}

/* reset filtri – versione discreta */
.facetwp-reset,
.legis-reset a {
  display: inline;
  width: auto;
  margin: .5rem;

  border: none;
  background: none;

  color: var(--wp--preset--color--blue-primary);
  text-decoration: underline;
  font-weight: 400;
  font-size: var(--wp--preset--font-size--md);

  cursor: pointer;
  transition: opacity .15s ease;
}

.facetwp-reset:hover,
.legis-reset a:hover {
  opacity: .7;
}
/* se nessun filtro attivo nasconde filtri attivi */
.legis-active-filters:has(.facetwp-selections:empty) {
  display: none;
}
/* =========================================================
   STILI PER IL LISTING DEGLI ARTICOLI
   ========================================================= */
/* Rombetto sotto gli articoli */
.el-fedbdc .fwpl-result {
  display: flex;
  flex-direction: column;
  padding-bottom: 2rem; /* Spazio sopra al rombetto */
  margin-bottom: .05rem;
  position: relative;
}

/* Rimuove l'elemento dall'ultimo articolo della lista */
.el-fedbdc .fwpl-result:not(:last-of-type)::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  background-color: #D0E1FF; /* è il nostro blue-light ma qui prende solo codice hex */
  rotate: 45deg; /* Trasforma il quadrato in un rombo */
}

/* Sort select */
.facetwp-facet-ordinamento select{
  display: flex;
  justify-content: space-between;
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 4px;
  margin-bottom: .05rem;
  padding: .25rem .35rem;
  background: var(--wp--preset--color--gray-bg);
  font-size: var(--wp--preset--font-size--md);
  min-width: 140px
}
.facetwp-facet-ordinamento {
  display: flex;
  justify-content: flex-end;
}
.legis-listing__aree{
  border-bottom: 1px solid #e5e7eb;
  padding-bottom: 2px; 
  margin-bottom: 4px;
  font-weight: 350;
  font-size: var(--wp--preset--font-size--sm);
  color: var(--wp--preset--color--gray-text);
}
/*SVG aree tematiche*/
.legis-listing__aree::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin-right: 6px;
  background: url('/wp-content/themes/twentytwentyfive-child/assets/icons/layers.svg') no-repeat center;
  background-size: contain;
  opacity: 0.75;
  transform: translateY(1px);
}
.legis-listing__title{
  margin: 0 0 .15rem;
  font-family: var(--wp--preset--font-family--serif);
  font-weight: 500;
  line-height: 1.5;
  font-size: var(--wp--preset--font-size--xl);
  color: var(--wp--preset--color--blue-primary);
}
.el-3tbql.legis-listing__title a{
  color: inherit;
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 2px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: 
    color .25s ease,
    background-size .25s ease,
    transform .15s ease;
  display: inline-block;
}

.legis-listing__title a:hover{
  color: var(--wp--preset--color--blue-hover); /* fallback */
  background-size: 100% 2px;
  transform: translateY(-1px);
}
.fwpl-row.legis-listing__meta {
  display: flex;
  justify-content: flex-start;
  gap: 2px;
  align-items: baseline;
}
.legis-listing__date::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
  margin: 0 .6rem;
  transform: translateY(-3px);
  opacity: .8;
}
.legis-listing__artsubtitle {
  border-left: 5px solid var(--wp--preset--color--blue-primary);
  margin-top: .35rem;
  padding-left: 1rem;
  line-height: 1.35;
  font-size: var(--wp--preset--font-size--lg);
  font-style: italic;
}

/* Pager */
.facetwp-pager{
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  justify-content: flex-end;
}

.facetwp-pager a,
.facetwp-pager span{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 36px;
  height: 36px;
  padding: 0 .55rem;

  border-radius: 10px;
  border: 1px solid rgba(15, 23, 42, .10);;
  background: #fff;
  text-decoration: none;
  font-weight: 700;
}

.facetwp-pager .active{
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
  border-color: var(--wp--preset--color--blue-primary);
}

/* =========================================================
   MOBILE ARTICOLI E NOTIZIE
   Articolo singolo + listing + toolbar + metadati
   ========================================================= */
@media (max-width: 481px){
  /* ---------------------------------------------------------
     HERO PAGINA LISTING ARTICOLI
  --------------------------------------------------------- */
  .articles-hero{
    text-align: center;
  }
  .articles-hero .wp-block-heading,
  .articles-hero p{
    text-align: center;
  }

  /* ---------------------------------------------------------
     TOOLBAR FILTRI LISTING
  --------------------------------------------------------- */
  .legis-toolbar{
    text-align: center;
  }
  .legis-toolbar > .wp-block-group.is-nowrap.wp-block-group-is-layout-flex{
    justify-content: center;
    text-align: center;
  }
  .legis-toolbar .legis-filters-row{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .75rem;
    text-align: center;
  }
  .legis-area-filter{
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .facet-toggle{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }
  .facet-panel{
    left: 50%;
    transform: translateX(-50%);
    width: min(92vw, 520px);
    max-height: 70vh;
    overflow-y: auto;
    text-align: center;
  }
  .facet-panel .facetwp-facet{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
  }
  .facet-panel .facetwp-checkbox{
    margin: 0 !important;
    text-align: center;
  }
  .legis-tabs{
    justify-content: center;
    gap: .5rem;
    margin-bottom: 0;
  }
  .legis-tabs button{
    margin-left: 0 !important;
  }
  .legis-active-filters .facetwp-selections ul{
    justify-content: center;
    text-align: center;
  }
  .legis-active-filters .facetwp-selections li{
    justify-content: center;
  }
  .facetwp-reset,
  .legis-reset a{
    margin-left: auto;
    margin-right: auto;
  }

  /* ---------------------------------------------------------
     ORDINAMENTO LISTING
  --------------------------------------------------------- */
  .legis-toolbar-right{
    text-align: center;
  }
  .legis-toolbar-right .facetwp-facet-ordinamento{
    justify-content: center;
  }
  .legis-toolbar-right .facetwp-facet-ordinamento select{
    margin-left: auto;
    margin-right: auto;
  }

  /* ---------------------------------------------------------
     LISTING ARTICOLI
  --------------------------------------------------------- */
  .legis-listing__aree{
    text-align: center;
  }
  .legis-listing__title{
    text-align: center;
    line-height: 1.5;
  }
  .legis-listing__title a{
    text-align: center;
  }
  .fwpl-row.legis-listing__meta{
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .2rem;
    text-align: center;
  }
  .fwpl-row.legis-listing__meta .fwpl-col{
    width: 100%;
  }
  .legis-listing__date::before{
    content: none;
    display: none;
  }
  .legis-listing__artsubtitle{
    text-align: left;
  }
  .facetwp-pager{
    justify-content: center;
  }

  /* ---------------------------------------------------------
     ARTICOLO SINGOLO
  --------------------------------------------------------- */
  .legis-article__aree{
    text-align: center;
  }
  .legis-article-hero{
    text-align: center;
  }
  .legis-article-hero .wp-block-post-title{
    text-align: center;
  }
  .legis-article-hero > .wp-block-group.is-nowrap.wp-block-group-is-layout-flex{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    column-gap: .5rem;
    row-gap: .25rem;
    text-align: center;
    font-weight: 350;
  }
  .legis-article-hero > .wp-block-group.is-nowrap.wp-block-group-is-layout-flex > p{
    margin: 0;
    text-align: center;
  }
  .legis-article-hero .wp-block-post-date__modified-date.wp-block-post-date,
  .legis-article-hero .wp-block-post-time-to-read{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .25rem;
    margin: 0;
    line-height: 1.4;
    text-align: center;
  }
  .legis-article-hero .wp-block-post-date__modified-date.wp-block-post-date::before{
    content: none;
    display: none;
    margin: 0;
  }
  .legis-article-hero .wp-block-post-date__modified-date.wp-block-post-date time,
  .legis-article-hero .wp-block-post-time-to-read{
    white-space: normal;
  }
  .legis-article-hero .legis-updated-label,
  .legis-article-hero .legis-reading-time-label{
    white-space: nowrap;
  }
  /* Abstract articolo singolo: resta NON centrato */
  .legis-article-hero .legis-article__abstract,
  .legis-article-hero .wp-block-post-excerpt__excerpt{
    text-align: left;
  }
}

/* =========================================================
   /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;
}

/* Responsive: sidebar sopra, listing sotto */
@media (max-width: 960px){
  .legis-page-catalogo .wp-block-columns{
    flex-direction: column;
  }
  .legis-page-catalogo .legis-column--facets,
  .legis-page-catalogo .legis-column--listing{
    flex-basis: auto !important;
    width: 100% !important;
  }
}

/* =========================================================
   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);
}

@media (max-width: 1024px){
  .legis-page-catalogo .legis-listing__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .legis-page-catalogo .legis-listing__grid{
    grid-template-columns: 1fr;
  }
}

/* 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; 
}

/* 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: .45rem;
  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 !important; 
}
/* 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;
}

/* CTA davvero in fondo nelle card prodotto della PAGINA SEARCH */
.legis-search-results .fwpl-row.legis-card > .fwpl-col{
  display: flex;
  flex-direction: column;
  height: 100%;
  padding-bottom: 0px !important;
}

.legis-search-results .fwpl-row.legis-card .legis-listing__cta{
  margin-top: auto;
  padding-top: .75rem;
}
/* Rimuove il padding inferiore da tutte le colonne dentro la griglia ricerca prodotti */
.legis-search__products-grid .legis-card .fwpl-col {
    padding-bottom: 0 !important;
}

/* Se lo spazio vuoto persiste, rimuovilo anche dal contenitore card stesso */
.legis-search__products-grid .legis-card {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
}
/* =========================================================
  CARRELLO
   ========================================================= */
/* colonna immagine */
.wc-block-cart-item__image {
  width: 120px;
  padding-right: 1rem;
  vertical-align: top;
}

/* frame immagine */
.wc-block-cart-item__image a {
  display: grid;
  place-items: center;
  background: var(--wp--preset--color--gray-bg);
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: calc(var(--legis-radius) - 2px);
  padding: 1px;
  overflow: hidden;
  text-decoration: none;
}

/* immagine prodotto */
.wc-block-cart-item__image a img,
.wc-block-cart-item__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100%;
  max-height: 100%;
  object-position: center center;
  border: 1px solid #d7dee8;
  box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06);
}

/* nome del prodotto */
.wc-block-components-product-name {
  font-size: var(--wp--preset--font-size--lg) !important;
  color: var(--wp--preset--color--blue-primary);
  font-weight: 400;
  line-height: 1.1 !important;
  margin-bottom: .75rem !important;
  margin-top: .15rem !important;
}
/* prezzo */
.wc-block-cart-item__total .wc-block-components-product-price__value {
  font-size: var(--wp--preset--font-size--lg);
  color: var(--wp--preset--color--gray-text) !important;
  font-weight: 400;
}
/* nasconde seconda riga prezzi e descrizione prodotto */
.wc-block-cart-item__prices,
.wc-block-components-product-metadata__description {
    display: none !important;
}

/* RIDUZIONE PADDING RIGHE TABELLA PRODOTTI */
/* Riduce lo spazio interno alle celle (padding verticale) */
.wc-block-cart-items .wc-block-cart-items__row td {
    padding-top: 10px !important;    /* Regola questo valore a piacimento */
    padding-bottom: 10px !important; /* Regola questo valore a piacimento */
}

/* Rimuove eventuali margini o padding minimi forzati sulla riga */
.wc-block-cart-items .wc-block-cart-items__row {
    margin: 0 !important;
}

/* Riduce lo spazio nell'header (Prodotto / Totale) se necessario */
.wc-block-cart-items .wc-block-cart-items__header th {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}
/* Selettore quantità */
.wc-block-cart-items .wc-block-components-quantity-selector {
  font-weight: 400;
  max-height: 24px;
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 4px;
  background: var(--wp--preset--color--gray-bg);
  font-size: var(--wp--preset--font-size--md);
}

/* Icona SVG all'interno del pulsante */
.wc-block-cart-item__remove-link svg {
    /*width: 20px !important;*/
    /*height: 20px !important;*/
    color: var(--wp--preset--color--gray-text) !important;
	opacity: 0.75;
}
/*
 * VISUALIZZAZIONE METADATI LINEA PRODOTTO E TIPOLOGIA
 * Layout dei 2 metadata custom sotto al titolo prodotto.
 */

/* Meta contenitore SOLO custom */
.wc-block-components-product-details .legis-cart-meta {
	display: block !important;
	margin: 0.2rem 0 0 !important;
	color: var(--wp--preset--color--blue-primary) !important;
}

/* Nasconde le label "Linea:", "Tipologia:" del nostro output */
.wc-block-components-product-details .legis-cart-meta .wc-block-components-product-details__name {
	display: none !important;
}

/* Nasconde lo slash finale del nostro output */
.wc-block-components-product-details .legis-cart-meta span[aria-hidden="true"] {
	display: none !important;
}

/* Riga linea prodotto */
.legis-cart-meta--linea {
	font-weight: 400 !important;
    color: var(--wp--preset--color--gray-text) !important;
	font-size: var(--wp--preset--font-size--md) !important;
}
/* Percorso completo dal carrello fino alla label specifica */
.wc-block-components-product-details span.legis-cart-meta--linea span.wc-block-components-product-details__value span.legis-cart-item-meta__term-with-icon span.legis-cart-item-meta__term-label {
	font-weight: 400 !important;
    color: var(--wp--preset--color--gray-text) !important;
}

/* Pill SOLO custom */
.legis-cart-meta--tipologia {
	display: inline-flex !important;
	align-items: center;
	padding: .23rem .43rem !important;
	margin: .35rem .35rem 0 0 !important;
	border-radius: 4px;
	background: var(--wp--preset--color--gray-bg);
	color: var(--wp--preset--color--blue-primary) !important;
	font-size: var(--wp--preset--font-size--xs) !important;
	font-weight: 600;
	border: 1px solid var(--wp--preset--color--blue-primary);
	min-width: 120px;
	max-width: 120px;
	line-height: 1.2 !important;
}

/* Nasconde i metadata nativi Woo delle variazioni che duplicano il nostro output */
.wc-block-components-product-details__tipologie-libri,
.wc-block-components-product-details__tipologie-corsi,
.wc-block-components-product-details__linea-prodotto {
	display: none !important;
}

/* SIDEBAR CARRELLO - SFONDO E BORDO */
.wc-block-components-sidebar.wc-block-cart__sidebar {
    background: var(--wp--preset--color--gray-bg) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: var(--legis-radius, 8px) !important;
    box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06) !important;
    padding: var(--wp--preset--spacing--md, 24px) !important;
    
    /* fix sticky */
    position: sticky !important;
    top: 60px !important; /* Aumentato per sicurezza, regolalo se serve */
    display: block !important; /* Forza il comportamento di blocco */
    height: fit-content !important; /* Fondamentale: la sidebar deve essere alta solo quanto il suo contenuto per poter scorrere */
    overflow: visible !important; /* MAI usare hidden con lo sticky */
}

/* Fix per il contenitore genitore di WooCommerce che a volte blocca lo sticky */
.wc-block-cart__main.wp-block-woocommerce-cart-items-block {
    overflow: visible !important;
}
/* rimozione doppio bordo (Fix per Carrello) */
.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
    border: none !important;
}

/* Ottimizzazione spazio interno per il titolo "Totale carrello" */
.wc-block-cart__totals-title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Rende il bottone di pagamento coerente con il contenitore */
.wc-block-cart__submit-container {
    padding-bottom: 0 !important;
}

/*bottone pagamento bottone (carrello e pagamento */
/* Applica le stesse proprietà dello stile 'Fiducia' al bottone del carrello e pure del pagamento */
.wc-block-cart__submit-button.contained,
.wc-block-components-checkout-place-order-button.contained {
    /* Copia qui le proprietà del tuo stile .is-style-legis-fiducia */
  border-radius: 6px !important;
  background: var(--wp--preset--color--green-success) !important;
  color: #fff !important;
  border: 1px solid var(--wp--preset--color--blue-primary) !important;
  max-height: 50px;
}
.wc-block-cart__submit-button.contained:hover,
.wc-block-components-checkout-place-order-button.contained:hover {
  filter: brightness(0.98);
  background: var(--wp--preset--color--blue-primary) !important;
}
/* bottone pagamento testo (carrello e pagamento) */
.wc-block-cart__submit-button.contained .wc-block-components-button__text {
    font-weight: 500 !important;
    font-size: var(--wp--preset--font-size--lg);
}
.wc-block-components-checkout-place-order-button.contained .wc-block-components-button__text {
    font-weight: 500 !important;
    font-size: var(--wp--preset--font-size--lg);
}

/* 1. AVVISI NEGOZIO - IL CONTENITORE PRINCIPALE (BANNER) */
/* Colpisce il banner di successo (quello verde di default) */
.woocommerce-notices-wrapper .wc-block-components-notice-banner.is-success { 
display: flex;
align-items: center;
border: 1px solid var(--wp--preset--color--green-success) !important;
/* Rimuove l'outline del browser */
    outline: none !important;
    /* Rimuove eventuali ombre che simulano il doppio bordo */
    box-shadow: none !important;
}
/* 2. L'ICONA (SVG) */
.woocommerce-notices-wrapper .wc-block-components-notice-banner.is-success svg { 
transform: translateY(-4px) !important;
}
/* 3. IL CONTENUTO TESTUALE (WRAPPER) */
/* Il contenitore che ospita testo e link */
.woocommerce-notices-wrapper .wc-block-components-notice-banner__content { 
}
/* 4. IL LINK / PULSANTE (VISUALIZZA CARRELLO) */
/* Il link d'azione all'interno del messaggio */
.woocommerce-notices-wrapper .wc-block-components-notice-banner__content a.wc-forward { 
font-size: var(--wp--preset--font-size--md);
color: var(--wp--preset--color--blue-primary) !important;
padding-right: 2rem !important;
}
/* 5. STATO HOVER DEL LINK */
/* Per gestire l'interazione sul pulsante "Visualizza carrello" */
.woocommerce-notices-wrapper .wc-block-components-notice-banner__content a.wc-forward:hover { 
}

/* CODICI PROMOZIONALI (COUPON) E RIGHE INTERMEDIE + "Nota dell'ordine" in pagina pagamento */
.wc-block-components-totals-coupon,
.wc-block-components-totals-item,
.wc-block-components-checkbox__label { 
font-size: var(--wp--preset--font-size--sm) !important;
font-weight: 350 !important;
color: var(--wp--preset--color--gray-text) !important;
}

/* DETTAGLIO TASSE (IVA/ALIQUOTE) */
/* Riga IVA custom - IL FIX */
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note {
    /* Fondamentale: azzera la dimensione del font per uccidere lo spazio del testo invisibile */
    font-size: 0 !important; 
    color: transparent !important;
    
    /* Gestione allineamento: se vuoi che stia tutto a destra come il prezzo sopra */
    display: block !important;
    text-align: right !important; 
    margin: 4px 0 0 0 !important;
}

/* Riporta visibile il nostro testo custom e l'importo */
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note::before,
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note::after,
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note .wc-block-components-totals-footer-item-tax-value {
    /* Ripristiniamo la dimensione corretta per i pezzi che ci servono */
    font-size: var(--wp--preset--font-size--sm) !important;
    color: var(--wp--preset--color--gray-text) !important;
    font-weight: 400 !important;
    display: inline; /* Mantiene tutto sulla stessa riga senza interruzioni */
    vertical-align: baseline;
}

/* Testo prima */
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note::before {
    content: "(di cui ";
}

/* Testo dopo */
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note::after {
    content: " a titolo di IVA)";
}

/* Mantiene visibile l'importo (già gestito sopra, ma per sicurezza) */
.wc-block-components-totals-footer-item-tax.legis-cart-total-tax-note .wc-block-components-totals-footer-item-tax-value {
    margin: 0 2px; /* Un minimo di respiro intorno alla cifra */
}

/* PARTE CODICI PROMO */
/* Allarga l'input e cambia il bordo */
#wc-block-components-totals-coupon__input-coupon {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    max-height: 50px;
}
/* Bottone applica codice quando è cliccabile */
.wc-block-components-totals-coupon__button:not([disabled]) {
  background: var(--wp--preset--color--blue-light) !important;
  color: var(--wp--preset--color--blue-primary) !important;
  border: 1px solid var(--wp--preset--color--blue-primary) !important;
  border-radius: 6px !important;
  max-height: 49px;
  font-weight: 400 !important;
  font-size: var(--wp--preset--font-size--md);
}
.wc-block-components-totals-coupon__button:not([disabled]):hover {
  filter: brightness(0.98) !important;
  background: var(--wp--preset--color--yellow-accent) !important;
  border-radius: 6px !important;
  max-height: 49px;
  font-weight: 400 !important;
  font-size: var(--wp--preset--font-size--md);
}
/* Bottone applica codice non cliccabile */
.wc-block-components-totals-coupon__button:disabled {
  background: var(--wp--preset--color--blue-light) !important;
  color: var(--wp--preset--color--blue-primary) !important;
  border: 1px solid var(--wp--preset--color--blue-primary) !important;
  border-radius: 6px !important;
  max-height: 49px;
  font-weight: 400 !important;
  font-size: var(--wp--preset--font-size--md);
}
/* Rimuove l'effetto "trasparente" quando disabilitato */
.wc-block-components-totals-coupon__button:disabled {
    opacity: 0.5;
    background-color: #ccc;
}

/* MESSAGGIO COUPON SCONTO NON VALIDO */
/* Contenitore principale */
#validate-error-coupon {
    display: flex;
    align-items: center; /* Allinea verticalmente icona e testo */
    gap: 10px;           /* Spazio tra icona e testo */
    color: #d32f2f;      /* Un rosso classico per l'errore */
    background-color: #fdecea; /* Sfondo leggero opzionale */
    padding: 10px;
    border-radius: 4px;
    margin-top: 15px;
    hyphens: none;
}

/* Colore dell'icona (usa 'fill' per gli SVG) */
#validate-error-coupon svg {
    fill: #d32f2f;
    flex-shrink: 0; /* Impedisce all'icona di rimpicciolirsi */
}

/* Stile del testo */
#validate-error-coupon span {
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 350;
  color: var(--wp--preset--color--gray-text);
}

/* CARRELLO VUOTO */
/* paragrafo di testo (tutti gli altri stili sono in FSE) */
body div.wp-block-woocommerce-empty-cart-block h3 + p.has-text-align-center {
  text-align: center !important; 
  font-size: var(--wp--preset--font-size--xl) !important;
}

/* =========================================================
  CHECKOUT
   ========================================================= */
/* Azzeramento padding superiore del wrapper principale Checkout Blocks */
.wp-block-woocommerce-checkout {
    padding-top: 0 !important;
}
main#wp--skip-link--target[data-block-name="woocommerce/page-content-wrapper"] 
> div.entry-content.wp-block-post-content 
> h3.wp-block-heading:first-of-type {
    margin-block-start: 19.2px !important; /* Cambia lo 0 con il valore desiderato */
}
/* aggiunta codici promo testo */
.wc-block-components-totals-coupon .wc-block-components-panel__button,
.wp-block-woocommerce-checkout-order-summary-subtotal-block .wc-block-components-totals-item__label,
.wc-block-components-totals-shipping .wc-block-components-totals-item__label,
div.wp-block-woocommerce-checkout-order-summary-subtotal-block span.wc-block-components-totals-item__value {
    color: var(--wp--preset--color--gray-text);
    font-weight: 350 !important;
}

/* intestazione colonna */
.wc-block-components-checkout-order-summary__title-text {
  font-family: var(--wp--preset--font-family--serif);
  color: var(--wp--preset--color--blue-primary);
  font-weight: 400 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
  padding-bottom: 5px !important; /* Spazio tra testo e riga */
}

/* titoli prodotti nel summary */
.wc-block-components-order-summary-item .wc-block-components-product-name {
  font-size: var(--wp--preset--font-size--lg) !important;
  color: var(--wp--preset--color--blue-primary) !important;
  font-weight: 400 !important;
}
/* immaginine nel summary */
.wc-block-components-order-summary-item__image img {    
    background-color: transparent; /* Evita sfondi bianchi se il libro è stretto */
    border: 1px solid #d7dee8;
    box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06);
}

/* SIdebar pagamento sfondo e ombra */
.wc-block-components-sidebar.wc-block-checkout__sidebar {
    background: var(--wp--preset--color--gray-bg) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: var(--legis-radius, 8px) !important;
    box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06) !important;
    padding: var(--wp--preset--spacing--md, 24px) !important;
}
/* Opzionale: Se vuoi che la sidebar rimanga incollata durante lo scroll (Sticky) 
   senza "saltare" visivamente ora che ha un bordo */
.wc-block-components-sidebar.wc-block-checkout__sidebar.is-sticky {
    top: 60px; /* Distanza dal bordo superiore della finestra */
}

/* rimozione doppio bordo */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
    border: none !important; /* Rimuove il bordo esistente */
    margin: 0 !important; /* Opzionale: azzera eventuali margini esterni */
    padding: 0 !important; /* Opzionale: azzera padding extra se creano disallineamenti */
}

/* Ottimizzazione spazio interno (Manteniamo per simmetria) */
.wc-block-components-checkout-order-summary__title {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
.wc-block-components-checkout-order-summary__title-text {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
/* Separatore tra i prodotti nel riepilogo ordine */
.wc-block-components-order-summary-item {
    border-bottom: 1px solid rgba(15, 23, 42, 0.12) !important;
    padding-top: 10px !important; /* Spazio tra testo e riga */
	padding-bottom: 10px !important; /* Spazio tra testo e riga */
    margin-bottom: 10px !important;  /* Spazio tra riga e prodotto successivo */
}

/* Rimuove il separatore e lo spazio extra dall'ultimo prodotto */
.wc-block-components-order-summary-item:last-child {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Sidebar pagamento - STILE E FIX STICKY */
.wc-block-components-sidebar.wc-block-checkout__sidebar {
    background: var(--wp--preset--color--gray-bg) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    border-radius: var(--legis-radius, 8px) !important;
    box-shadow: 0 8px 18px rgba(15, 36, 71, 0.06) !important;
    padding: var(--wp--preset--spacing--md, 24px) !important;

    /* REGOLE PER LO STICKY */
    position: sticky !important;
    top: 80px !important; /* Aumentato un po' per non appiccicarlo al bordo */
    height: fit-content !important; /* FONDAMENTALE: la sidebar deve essere alta solo quanto il suo contenuto */
    z-index: 99;
    overflow: visible !important; /* Assicura che l'ombra si veda e lo sticky funzioni */
}

/* Forza il contenitore superiore a non bloccare lo scorrimento */
.wc-block-checkout__main {
    overflow: visible !important;
}

/* Selettore mirato esclusivamente al valore testuale della spedizione gratuita */
.wc-block-components-totals-shipping .wc-block-components-totals-item__value strong {
    color: var(--wp--preset--color--green-success) !important;
    font-weight: 500 !important;
}

/* BLOCCO INFO CFP */
/* Label checkbox (chiappa anche i testi dopo tipo Nota ordine e Termini e condizioni */
.wc-block-components-checkbox__label {
  font-weight: 400 !important;
  line-height: 1.25	;
}
/* Testo informativo inserito dal plugin */
.lta-cfp-help{
  color: var(--wp--preset--color--gray-text) !important;
  font-weight: 400 !important;
  padding-left: 2rem !important;
  margin-top: 0px !important;
  font-size: var(--wp--preset--font-size--xs) !important;
  line-height: 1.25 !important;
  max-width: 85ch;
  hyphens: none;
}

/* ==========================================================
   CART RESPONSIVE — LEGIS
   WooCommerce Cart Blocks
   ========================================================== */
/* ----------------------------------------------------------
   <= 860px
   Anticipa lo stack del carrello prima dei breakpoint interni
   Woo, evitando sidebar stretta e CTA compressa.
   ---------------------------------------------------------- */
@media (max-width: 860px){
  .wp-block-woocommerce-cart .wc-block-components-sidebar-layout{
    display: block !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-main,
  .wp-block-woocommerce-cart .wc-block-components-sidebar{
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    box-sizing: border-box;
    margin-top: var(--wp--preset--spacing--lg, 32px) !important;
    padding: 18px 20px 20px !important;
  }
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-block{
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box;
  }
  .wp-block-woocommerce-cart .wc-block-components-totals-wrapper,
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
  .wp-block-woocommerce-cart .wp-block-woocommerce-cart-order-summary-totals-block{
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  /* Evita che "Totale carrello" erediti lo stile grande degli h2 del tema */
  .wp-block-woocommerce-cart .wc-block-cart__totals-title{
    display: block !important;
    margin: 0 0 14px 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    font-family: inherit !important;
    font-size: var(--wp--preset--font-size--sm, 14px) !important;
    line-height: 1.3 !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--gray-text, #444) !important;
  }
  /* CTA dentro il padding della card riepilogo */
  .wp-block-woocommerce-cart .wc-block-cart__submit{
    margin-top: 18px !important;
    padding: 0 !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart__submit-container{
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    box-sizing: border-box;
    background: transparent !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart__submit-button{
    width: 100% !important;
    min-height: 48px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-button__text{
    line-height: 1.15 !important;
    white-space: nowrap;
  }
}

/* ----------------------------------------------------------
   <= 781px
   Layout prodotto mobile controllato:
   foto a sinistra, dati a destra, prezzo sotto la foto.
   ---------------------------------------------------------- */
@media (max-width: 781px){
  .wp-block-woocommerce-cart .wc-block-cart-items,
  .wp-block-woocommerce-cart .wc-block-cart-items tbody{
    display: block !important;
    width: 100% !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-items thead{
    display: none !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row{
    display: grid !important;
    grid-template-columns: 96px minmax(0, 1fr) !important;
    grid-template-areas:
      "image product"
      "total product" !important;
    column-gap: 18px !important;
    row-gap: 8px !important;
    align-items: start !important;
    width: 100% !important;
    padding: 20px 0 !important;
    border-top: 1px solid rgba(0,0,0,.14);
  }
  .wp-block-woocommerce-cart .wc-block-cart-items__row:last-child{
    border-bottom: 1px solid rgba(0,0,0,.14);
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image,
  .wp-block-woocommerce-cart .wc-block-cart-item__product,
  .wp-block-woocommerce-cart .wc-block-cart-item__total{
    display: block !important;
    padding: 0 !important;
    border: 0 !important;
    min-width: 0 !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image{
    grid-area: image !important;
    width: 96px !important;
    max-width: 96px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img{
    width: 96px !important;
    max-width: 96px !important;
    height: auto !important;
    display: block;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__product{
    grid-area: product !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  /* Prezzo e badge sotto la foto */
  .wp-block-woocommerce-cart .wc-block-cart-item__total{
    grid-area: total !important;
    width: 96px !important;
    max-width: 96px !important;
    text-align: center !important;
    white-space: normal !important;
    margin-top: 2px;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__total .price{
    line-height: 1.15 !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-sale-badge{
    margin-top: 0 !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-product-name{
    display: block !important;
    max-width: 100% !important;
    font-size: 1.02rem;
    line-height: 1.2 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-product-metadata{
    margin-top: 8px !important;
    font-size: var(--wp--preset--font-size--sm, 14px);
    line-height: 1.35;
  }
  /* Chip più vicina al selettore quantità */
  .wp-block-woocommerce-cart .wc-block-cart-item__quantity{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 6px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    margin-top: 28px !important;
  }
}

/* ----------------------------------------------------------
   <= 480px
   Riduce foto e colonna prezzo per telefoni stretti.
   ---------------------------------------------------------- */
@media (max-width: 480px){
  .wp-block-woocommerce-cart .wc-block-cart-items__row{
    grid-template-columns: 84px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image,
  .wp-block-woocommerce-cart .wc-block-cart-item__total{
    width: 84px !important;
    max-width: 84px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img{
    width: 84px !important;
    max-width: 84px !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-product-name{
    font-size: .98rem;
    line-height: 1.18 !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    padding: 18px 16px 18px !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-button__text{
    font-size: 1rem;
    white-space: normal;
    line-height: 1.2 !important;
  }
}

/* ----------------------------------------------------------
   <= 390px
   Sicurezza finale anti-overflow.
   ---------------------------------------------------------- */
@media (max-width: 390px){
  .wp-block-woocommerce-cart .wc-block-cart-items__row{
    grid-template-columns: 74px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image,
  .wp-block-woocommerce-cart .wc-block-cart-item__total{
    width: 74px !important;
    max-width: 74px !important;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__image img{
    width: 74px !important;
    max-width: 74px !important;
  }
  .wp-block-woocommerce-cart .wc-block-components-product-name{
    font-size: .95rem;
  }
  .wp-block-woocommerce-cart .wc-block-cart-item__quantity{
    flex-wrap: wrap;
    gap: 8px;
  }
  .wp-block-woocommerce-cart .wc-block-cart__sidebar{
    padding: 16px 14px 16px !important;
  }
}

/* ==========================================================
   CHECKOUT RESPONSIVE — LEGIS
   WooCommerce Checkout Blocks
   ========================================================== */


/* ----------------------------------------------------------
   <= 1040px
   Riepilogo ordine in sidebar stretta:
   evita che prezzo e badge escano verso destra.
   ---------------------------------------------------------- */

@media (max-width: 1040px){

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item{
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) !important;
    grid-template-areas:
      "image description"
      "price description" !important;
    column-gap: 16px !important;
    row-gap: 8px !important;
    align-items: start !important;
    position: relative !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image{
    grid-area: image !important;
    width: 64px !important;
    max-width: 64px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img{
    width: 56px !important;
    max-width: 56px !important;
    height: auto !important;
    display: block;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__description{
    grid-area: description !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: 100% !important;
    padding-right: 0 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price{
    grid-area: price !important;
    position: static !important;
    width: 64px !important;
    max-width: 64px !important;
    min-width: 0 !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .wp-block-woocommerce-checkout .wc-block-cart-item__total-price-and-sale-badge-wrapper{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 5px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price .price{
    line-height: 1.15 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-sale-badge{
    margin-top: 0 !important;
    white-space: normal !important;
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name{
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.18 !important;
  }
}


/* ----------------------------------------------------------
   <= 860px
   Layout mobile/tablet stretto:
   disattiva lo sticky Woo/custom e rende il riepilogo unico,
   ordinato e non invasivo sopra il form.
   ---------------------------------------------------------- */

@media (max-width: 860px){

  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    display: flex !important;
    flex-direction: column !important;
    gap: 28px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__main,
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    width: 100% !important;
    max-width: 100% !important;
    flex-basis: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Il riepilogo va sopra il form, ma non resta sticky */
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    order: -1 !important;
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 0 4px 0 !important;
    padding: 18px 20px 20px !important;
    box-sizing: border-box;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{
    position: static !important;
    top: auto !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title{
    position: static !important;
    top: auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 0 12px 0 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
    font-size: var(--wp--preset--font-size--lg, 20px) !important;
    line-height: 1.15 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-price{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: var(--wp--preset--font-size--sm, 14px) !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon{
    flex: 0 0 auto !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-order-summary__content{
    width: 100% !important;
    max-width: 100% !important;
  }

  .wp-block-woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{
    border: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-main{
    order: 1 !important;
  }

  /* Campi: niente overflow laterale */
  .wp-block-woocommerce-checkout .wc-block-components-form,
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step,
  .wp-block-woocommerce-checkout .wc-block-components-checkout-step__content{
    max-width: 100% !important;
    box-sizing: border-box;
  }
}


/* ----------------------------------------------------------
   <= 620px
   Mobile: campi più leggibili, CTA piena e ritorno al carrello
   meno invasivo.
   ---------------------------------------------------------- */

@media (max-width: 620px){

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    padding: 16px 18px 18px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item{
    grid-template-columns: 58px minmax(0, 1fr) !important;
    column-gap: 14px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image,
  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price{
    width: 58px !important;
    max-width: 58px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img{
    width: 52px !important;
    max-width: 52px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name{
    font-size: 1rem !important;
    line-height: 1.15 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-product-metadata{
    font-size: var(--wp--preset--font-size--sm, 14px) !important;
    line-height: 1.3 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__actions_row{
    display: flex !important;
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button{
    width: 100% !important;
    min-height: 52px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text{
    line-height: 1.15 !important;
    text-align: center !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkout-return-to-cart-button{
    justify-content: center !important;
    text-align: center !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-checkbox__label{
    line-height: 1.3 !important;
  }

  .wp-block-woocommerce-checkout .lta-cfp-help{
    max-width: 100% !important;
    padding-left: 0 !important;
    margin-top: 6px !important;
  }
}


/* ----------------------------------------------------------
   <= 390px
   Sicurezza anti-overflow per telefoni stretti.
   ---------------------------------------------------------- */

@media (max-width: 390px){

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    padding: 15px 14px 16px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item{
    grid-template-columns: 52px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image,
  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__total-price{
    width: 52px !important;
    max-width: 52px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item__image img{
    width: 48px !important;
    max-width: 48px !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-name{
    font-size: .96rem !important;
  }

  .wp-block-woocommerce-checkout .wc-block-components-sale-badge{
    font-size: .72rem !important;
  }
}
/* ==========================================================
   CHECKOUT MOBILE SUMMARY — LEGIS
   Regola il passaggio tra riepilogo aperto e riepilogo compatto
   ========================================================== */
/* ----------------------------------------------------------
   741–860px
   Tablet stretto: riepilogo sopra il form, aperto e non sticky.
   Nessun falso toggle.
   ---------------------------------------------------------- */

@media (min-width: 741px) and (max-width: 860px){

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    order: -1 !important;
    position: static !important;
    top: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content{
    display: block !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon{
    display: none !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title{
    cursor: default !important;
    pointer-events: none !important;
    border: 0 !important;
    outline: 0 !important;
  }
/* Selettore super-specifico per il prezzo nel titolo del riepilogo ordine */
.wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-price.wc-block-formatted-money-amount {
    display: none !important;
}
}


/* ----------------------------------------------------------
   <= 740px
   Mobile: riepilogo superiore compatto.
   Il riepilogo completo resta più avanti come review finale.
   ---------------------------------------------------------- */

@media (max-width: 740px){

  .wp-block-woocommerce-checkout .wc-block-components-sidebar-layout{
    display: flex !important;
    flex-direction: column !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar{
    order: -1 !important;
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    height: auto !important;
    overflow: visible !important;
    margin: 0 0 28px 0 !important;
    padding: 16px 20px !important;
    box-sizing: border-box;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar.is-sticky{
    position: static !important;
    top: auto !important;
  }

  /* Trasforma il riepilogo superiore in barra compatta */
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    outline: 0 !important;
    cursor: default !important;
    pointer-events: none !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text{
    flex: 1 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    font-size: var(--wp--preset--font-size--lg, 20px) !important;
    line-height: 1.15 !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-price{
    flex: 0 0 auto !important;
    white-space: nowrap !important;
    font-size: var(--wp--preset--font-size--sm, 14px) !important;
  }

  /* Niente freccina se il toggle non è realmente utilizzabile */
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-icon{
    display: none !important;
  }

  /* Nasconde solo il contenuto del riepilogo superiore */
  .wp-block-woocommerce-checkout .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content{
    display: none !important;
  }

  .wp-block-woocommerce-checkout .wc-block-checkout__main{
    order: 1 !important;
  }
}

/* ==========================================================
   GRID PRODOTTI RESPONSIVE
   Dovunque compaia, per questo messa qui!
   ========================================================== */
/* Tablet e schermi medi (da 960px a 601px) */
@media (max-width: 960px) {
    .fwpl-layout.legis-listing__grid {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-gap: 20px !important;
    }
}
/* Mobile (da 600px in giù) */
@media (max-width: 600px) {
    .fwpl-layout.legis-listing__grid {
        grid-template-columns: 1fr !important;
        grid-gap: 24px !important;
    }
    /* Ottimizzazione per le immagini su mobile: evita che diventino giganti */
    .legis-listing__image img {
        max-width: 100%;
        height: auto;
        margin: 0 auto;
        display: block;
    }
}

/* =========================================================
  PAGINA 404
   ========================================================= */
/* NASCONDO I FILTRI RICERCA */
body.error404 .legis-search__filters,
body.error404 .facetwp-no-results,
body.error404 .legis-search__empty {
    display: none !important;
}
body.error404 h1 + p {
  max-width: 480px;
  color: rgba(0, 0, 0, 0.7);
}
/* DA QUI INIZIA IL COMMENTO GENERALE

   /* CAMBIA TITOLO A FIELDSET CAMPI AGGIUNTIVI (location: order) 
   fieldset#order-fields.wc-block-checkout__order-fields h2.wc-block-components-checkout-step__title {
        font-size: 0 !important;
   }
   fieldset#order-fields.wc-block-checkout__order-fields h2.wc-block-components-checkout-step__title::before {
        content: "Dati fiscali e aggiuntivi";
        font-size: 1.25rem; 
        visibility: visible;
        display: block;
   }

   fieldset#order-fields.wc-block-checkout__order-fields legend.screen-reader-text {
        font-size: 0 !important;
   }

   fieldset#order-fields.wc-block-checkout__order-fields legend.screen-reader-text::before {
        content: "Dati fiscali e aggiuntivi";
        font-size: 1px; 
        visibility: visible;
   }

FINE DEL COMMENTO GENERALE
*/