/* =========================================================
   ATTRIBUTI PRODOTTO
   ========================================================= */
/* PDP - Meta “pill” (tipologia corso, tipologia libro,g durata che però ho tolto dal listing) */
body.single-product :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--md);
  font-weight: 600;
  border: 1px solid var(--wp--preset--color--blue-primary);
  line-height: 1.2;
}

/* =========================================================
   ELENCO DATI TECNICI
   ========================================================= */
/* PDP – Dati tecnici (Hero content) */
.legis-techdata,
.legis-coursedata
{
  list-style: none;
  padding-left: 0;
  margin-block: 0.75rem 1.25rem; /* sopra / sotto: crea respiro prima della pill */
  border-top: 1px solid rgba(0,0,0,.06); /* separatore leggerissimo */
  border-bottom: 1px solid rgba(0,0,0,.06); /* separatore leggerissimo */	
}

:is(.legis-techdata, .legis-coursedata) > li {
  margin: 0;
  padding-block: 0.15rem;
  line-height: 1.45;
  font-size: var(--wp--preset--font-size--sm);
}

/* “strong” alleggerito: evidenza sì, ma non bold pieno */
.legis-techdata strong, 
.legis-coursedata strong {
  font-weight: 500;
}

/* Opzionale: caption sopra la lista */
.legis-techdata__caption{
  margin: 0.75rem 0 0.35rem;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0.75;
}

/* Se vuoi ancora più “ordine”, puoi attenuare i pallini residui di eventuali nested list */
:is(.legis-techdata, .legis-coursedata) li::marker {
  content: "";
}
/* =========================================================
   PDP – HERO CONTENT: header compatto, badge + techdata con respiro
   ========================================================= */

body.single-product .legis-hero-content{
  /* niente qui, solo scope */
}

/* 1) Compatto SOLO il blocco “header” */
body.single-product .legis-hero-content > a,
body.single-product .legis-hero-content > .wp-block-post-title,
body.single-product .legis-hero-content > p.has-xl-font-size,
body.single-product .legis-hero-content > p.has-lg-font-size{
  margin-block-start: 0;
}

/* =========================================================
   PDP – Linea prodotto (icona + nome) – replica listing
   ========================================================= */
body.single-product .legis-lineaprodotto{
  display: inline-flex;
  align-items: center;
  gap: .05rem;

  font-size: var(--wp--preset--font-size--md);
  font-weight: 400;
  color: var(--wp--preset--color--grey-text);

  margin-top: -.5rem;    /* stesso micro-pull del catalogo */
  margin-bottom: .05rem;
}

/* icona */
body.single-product .legis-lineaprodotto .lt-tax-icon{
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
}

/* Linea prodotto */
body.single-product .legis-hero-content > a{
  display: inline-block;
  margin-block-end: .25rem;
}

/* testo (se in futuro vuoi differenziarlo) */
body.single-product .legis-lineaprodotto .lt-tax-name{
  font-weight: 400;
  color: var(--wp--preset--color--blue-primary);
}

/* Titolo */
body.single-product .legis-hero-content > .wp-block-post-title{
  margin-block-end: .35rem;
}

/* Sottotitolo */
body.single-product .legis-hero-content > p.has-xl-font-size{
  margin-block-end: .35rem;
}

/* Autori: chiude il blocco compatto */
body.single-product .legis-hero-content > p.has-lg-font-size{
  margin-block-end: 0; /* lo stacco lo facciamo noi dopo */
  border-bottom: 1px solid rgba(0,0,0,.06); /* separatore leggerissimo */
  padding-bottom: 10px;
}


/* 3) Ripristino spacing coerente per badge e plus (classi che mi hai dato) */
body.single-product .legis-hero-content > :where(
  .legis-listing__coursetype,
  .legis-listing__booktype,
  .legis-listing__download,
  .legis-listing__smartbook
){
  /* “stack” verticale pulito: non tocco il tuo margin-right */
  margin-block-start: .75rem;
  margin-block-end: 0;
}


/* 4) Dati tecnici: riprende respiro rispetto ai badge */
body.single-product .legis-hero-content > .legis-techdata{
  margin-block-start: .9rem;   /* respiro sopra */
  margin-block-end: 1.25rem;  /* come avevi */
}

/* =========================================================
   BADGE VARI
   ========================================================= */
/* spazio attorno al separatore "|" */
.legis-page-catalogo .legis-listing__booktype {
  gap: .5rem;
}

/* PDP - badge “plus” (stessa base del catalogo, ma per scheda prodotto) */
body.single-product :where(.legis-listing__cfp, .legis-listing__download, .legis-listing__smartbook, .legis-listing__fm) {
  display: block;
  align-items: center;
  padding: 0;
  margin: 0.75rem 1rem 0 0; /* esempio: un pelo più arioso */
  background: transparent;
  border: none;
  border-radius: 0;
  color: var(--wp--preset--color--blue-primary);
  font-size: var(--wp--preset--font-size--lg); /* PDP più grande */
  font-weight: 400;
  line-height: 1;
}
/* PDP - Creazione del mini-badge/icona "plus" */
body.single-product :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: 24px;
    height: 24px;
    margin-right: 9px;
    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: 16px;
    font-weight: 900;
}

/* PDP - Tooltip HTML Download / Smartbook */
body.single-product .has-legis-tooltip {
  position: relative;
  display: block;
  align-items: center;
  width: fit-content;
  cursor: help;
}

body.single-product .has-legis-tooltip .legis-pdp-tooltip {
  position: absolute;
  left: 0;
  top: calc(100% + 10px);
  z-index: 30;

  width: max-content;
  max-width: 360px;
  padding: 0.75rem 0.875rem;

  background: var(--wp--preset--color--gray-bg);
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 4px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);

  color: var(--wp--preset--color--gray-text, #333);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 400;
  line-height: 1.45;

  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;

  white-space: normal;
}

body.single-product .has-legis-tooltip:hover .legis-pdp-tooltip,
body.single-product .has-legis-tooltip:focus-within .legis-pdp-tooltip,
body.single-product .has-legis-tooltip:focus-visible .legis-pdp-tooltip {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

body.single-product .legis-pdp-tooltip p {
  margin: 0 0 0.5rem;
}

body.single-product .legis-pdp-tooltip p:last-child {
  margin-bottom: 0;
}

body.single-product .legis-pdp-tooltip a {
  color: var(--wp--preset--color--blue-primary);
  text-decoration: underline;
}

body.single-product .legis-pdp-tooltip ul,
body.single-product .legis-pdp-tooltip ol {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
}
/* PDP - Tooltip: ponte invisibile tra trigger e box */
body.single-product .has-legis-tooltip::after {
  content: "";
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  height: 12px;
  z-index: 29;
  background: transparent;
}
/* PDP - se il campo è vuoto, nascondi tutto (testo + plus) */
body.single-product :where(
  .legis-listing__booktype,
  .legis-listing__coursetype,
  .legis-listing__cfp,
  .legis-listing__download,
  .legis-listing__smartbook,
  .legis-listing__fm
):empty{
  display: none !important;
}

/* =========================================================
   PDP – Riassunto prodotto (excerpt)
   ========================================================= */
body.single-product .wp-block-post-excerpt__excerpt p{
  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;
  font-weight: 350;
}

/* =========================================================
   PDP - Marker se pieno e nascondi elementi vuoti
   ========================================================= */
/* PDP - Autore / Curatore */
body.single-product .legispdp__autori:not(:empty)::before {
  content: "di: ";
}

body.single-product.legis-editorial-curatore .legispdp__autori:not(:empty)::before {
  content: "a cura di: ";
}

/* Nasconde se il valore dinamico è vuoto */
.legispdp__autori:empty {
  display: none !important;
}
/* Listing (prodotti correlati, archivi aree tematiche, articolo singolo, home) - campo tecnico nascosto per autore/curatore */
.legis-listing__editorial-role {
  display: none !important;
}
/* DOCENTI-Nasconde se il valore dinamico è vuoto */
.legispdp__docenti:empty {
  display: none !important;
}
/* INIZIO/SEDE-Applica il marker solo se l'elemento NON è vuoto (essendo <li>, functions.php decide se il blocco è visibile) */
.legis-coursedata__inizio:not(:empty)::before {
  content: "Inizio: ";
  }
.legis-coursedata__sede:not(:empty)::before {
  content: "Sede di svolgimento: ";
  }
/* MEPA-Nasconde se il valore dinamico è vuoto */
.legis-coursedata__mepa:empty {
  display: none !important;
}
/* =========================================================
   BUYBOX E IMMAGINE
   ========================================================= */
/* PDP – Colonna buy-box (sticky, sobria) */
body.single-product .legis-buybox-column{
  position: sticky;
  top: 110px; /* allineato header */
  align-self: flex-start;
}
body.single-product .legis-buybox{
  --legis-buybox-rail: 95%; /* la stessa larghezza della cornice cover */
}

/* PDP – Buy-box: card editoriale decisionale */
body.single-product .legis-buybox{
  background: var(--wp--preset--color--gray-bg);
  border: 1px solid rgba(15, 23, 42, .10);
  border-radius: 4px !important;
  box-shadow: var(--wp--preset--shadow--card);
  padding: 1.5rem 1.5rem 1.6rem;
}

/* PDP – separazioni interne leggere */
body.single-product .legis-buybox > * + *{
  margin-top: 0.4rem;
}

/* PDP – Cover book: frame sobrio con respiro */
body.single-product .legis-buybox .wp-block-post-featured-image{
  margin: 0.15rem auto 0.15rem;
  background: var(--wp--preset--color--gray-bg);
  border: 1px solid rgba(15, 23, 42, .12);
  border-radius: calc(var(--legis-radius) - 2px);
  padding: 10px;                 /* più respiro rispetto al catalogo */
  width: var(--legis-buybox-rail);
  margin-left: auto;
  margin-right: auto;
  overflow: visible;
}
/* PDP – Immagine: leggera uscita + shadow */
body.single-product .legis-buybox .wp-block-post-featured-image img{
  display: block;
  width: 100%;
  height: auto;

  border-radius: calc(var(--legis-radius) - 4px);
  background: #fff;

  transform: scale(1.025);       /* meno aggressivo del catalogo */
  box-shadow: 0 12px 26px rgba(15, 23, 42, .16);
}
/* PDP – Buy box: respiro e contenimento */
body.single-product .legis-buybox{
  padding: 0.5rem 0.5rem 0.5rem;
  border-radius: var(--legis-radius);
}


/* =========================================================
   PREZZI + CTA aggiungi al carrello
   ========================================================= */
/* PDP – Prezzi (contenitore reale del blocco Woo) */
body.single-product .legis-buybox .legis-listing__prices .wc-block-components-product-price{
  margin-top: .05rem;
  padding-top: .25rem;

  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  flex-wrap: wrap;

  column-gap: .5rem;
  row-gap: 0;
  white-space: normal;
}

/* Regular (quando in sconto Woo stampa <del>) */
body.single-product .legis-buybox .legis-listing__prices del{
  font-size: var(--wp--preset--font-size--lg);
  color: rgba(43, 43, 43, .60);
  line-height: 1.2;
  white-space: nowrap;
}

/* Prezzo attuale (quando in sconto Woo stampa <ins>) */
body.single-product .legis-buybox .legis-listing__prices ins{
  margin-left: .5rem;
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 600;
  color: var(--wp--preset--color--blue-primary);
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none; /* ins a volte è sottolineato */
}

/* Caso NON scontato: Woo stampa direttamente span.amount (senza del/ins) */
body.single-product .legis-buybox .legis-listing__prices .wc-block-components-product-price > .woocommerce-Price-amount{
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 600;
  color: var(--wp--preset--color--blue-primary);
  line-height: 1.2;
  white-space: nowrap;
}

/* Riga risparmio (iniettata da JS) */
body.single-product .legis-buybox .legis-listing__saving{
  flex-basis: 100%;
  text-align: right;
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.2;
  color: var(--wp--preset--color--grey-text);
  margin-bottom: .3rem;
}

/* PDP – Nascondi quantità nel carrello */
body.single-product .legis-buybox .quantity,
body.single-product .legis-buybox .wc-block-components-quantity-selector{
  display: none !important;
}

/* PDP – Se prodotto variabile, nascondi il prezzo sotto le variazioni */
body.single-product .legis-buybox .variations_form .woocommerce-variation-price{
  display: none;
}
/* PDP – prezzo allineato a sinistra (blocchi Woo)
body.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price{
  text-align: left !important;
  justify-content: flex-start !important;
}
body.single-product .wp-block-woocommerce-product-price .legis-listing__saving{
  text-align: left !important;
}*/

/* PDP – CTA principale (Add to Cart) stile "Fiducia LEGIS" */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form button.single_add_to_cart_button,
.legis-buybox__course-interest-button {
  background: var(--wp--preset--color--green-success);
  color: #fff;
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 6px;
  font-size: var(--wp--preset--font-size--md);
  font-weight: 500;
  line-height: 1.2;
  padding: 8px 20px;
  width: var(--legis-buybox-rail);
  cursor: pointer;
}

/* PDP – Add to cart: allineato alla rail, senza shrink del form */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form{
  width: var(--legis-buybox-rail);
  margin-left: auto;
  margin-right: auto;
  display: block;        /* <-- fondamentale: niente flex */
  margin-bottom: 0.6rem !important;
}
/* PDP – Add to cart: rimuovo il margine malefico imposto da Woo */
body.single-product .legis-buybox form.cart{
  margin-bottom: .75rem;
}

/* Il form Woo tende a restare fit-content: lo forziamo a riempire */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form form.cart{
  width: 100%;
}

/* CTA a tutta larghezza della rail */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form button.single_add_to_cart_button{
  width: 100%;
  white-space: nowrap; /* opzionale: evita a priori la spezzatura */
}

/* Hover */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form button.single_add_to_cart_button:hover{
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
  filter: brightness(0.98);
}

/* Stato disabled (variazione non selezionata) */
body.single-product .legis-buybox .wp-block-woocommerce-add-to-cart-form button.single_add_to_cart_button:disabled{
  opacity: 0.6;
  cursor: not-allowed;
}

/* PDP – CTA sono interessato a corso scaduto */
.legis-buybox__course-interest-button {
  background: var(--wp--preset--color--blue-light);
  color: var(--wp--preset--color--blue-primary);
  border: 1px solid var(--wp--preset--color--blue-primary);
  border-radius: 6px;
  font-size: var(--wp--preset--font-size--md);
  font-weight: 500;
  line-height: 1.2;
  padding: 8px 20px;
  width: var(--legis-buybox-rail);
  cursor: pointer;
  margin-top: .5rem;
}
.legis-buybox__course-interest-button:hover {
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
}
/* =========================================================
   MICROCOPY SOTTO LA CTA
   ========================================================= */
/* PDP – Buy Box micro-copy di servizio */
body.single-product .legis-buybox__microcopy{
  margin-top: 0.15rem;                 /* distacco dalla CTA */
  padding-top: 0.1rem;                 /* aria interna minima */
  padding-bottom: 0.6rem;                 /* aria interna minima */  
  font-size: var(--wp--preset--font-size--xs);
  line-height: 1.45;
  color: var(--wp--preset--color--grey-text);
/*   border-top: 1px solid rgba(0,0,0,.06); /* separatore leggerissimo */		
  border-bottom: 1px solid rgba(0,0,0,.06); /* separatore leggerissimo */	
}

/* Seconda riga leggermente meno evidente */
body.single-product .legis-buybox__microcopy p{
  margin: 0;
}
/* PDP – Microcopy: evidenziazione iniziale sobria */
body.single-product .legis-buybox__microcopy strong{
  font-weight: 500;                /* non bold pieno */
  letter-spacing: 0.01em;          /* micro respiro tipografico */
}
/* Eventuale link (assistenza) */
body.single-product .legis-buybox .legis-buybox__microcopy a{
  font-weight: 400;
}

/* =========================================================
   CTA SECONDARIE (DOCUMENTI DISPONIBILI)
   ========================================================= */
/* PDP – Documenti PDF (CTA secondarie) */
body.single-product .legis-buybox__docs,
body.single-product .legis-buybox ul{
  margin: 0.9rem 0 0.9rem;
  padding-left: 0;
  list-style: none;
}
body.single-product .legis-buybox__docs li{
  margin: .35rem 0;
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.35;
}
body.single-product .legis-buybox__docs a{
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
  font-weight: 400;
}
body.single-product .legis-buybox__docs a:hover{
  text-decoration: underline;
}
/* Icona PDF/documento */
body.single-product .legis-buybox__docs li a::before{
  content: "PDF";
  display: inline-block;
  margin-right: .6rem;

  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .02em;

  color: #fff;
  background: var(--wp--preset--color--blue-primary);
  border-radius: 2px;
  padding: 2px 5px;

  vertical-align: middle;
}
/* =========================================================
   BUYBOX – griglia implicita: allinea i blocchi alla cornice cover
   (mettere in fondo a pdp.css, dopo la sezione CTA SECONDARIE)
   ========================================================= */
body.single-product .legis-buybox > .wp-block-woocommerce-product-price,
body.single-product .legis-buybox > .wp-block-woocommerce-add-to-cart-form,
body.single-product .legis-buybox > .legis-buybox__microcopy,
body.single-product .legis-buybox > .legis-buybox__docs{
  width: var(--legis-buybox-rail);
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

/* =========================================================
   FIX CTA: button deve riempire tutta la rail
   (mettere IN FONDO a pdp.css)
   ========================================================= */

body.single-product .legis-buybox
.wp-block-woocommerce-add-to-cart-form
form.cart button.single_add_to_cart_button.button.alt.wp-element-button{
  display: block !important;      /* override inline-block Woo */
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
body.single-product .legis-buybox
.wp-block-woocommerce-add-to-cart-form form.cart{
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}
/* PDP – CTA full width anche per prodotti variabili */
body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation-add-to-cart{
  width: 100%;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart{
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;              /* opzionale, come nel semplice */
  align-items: center;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button{
  flex: 1 1 auto;
  width: 100% !important;   /* fallback */
  min-width: 0;
}

/* =========================================================
   PDP – VARIAZIONI (SELECT) + UX stati
   (mettere in fondo a pdp.css)
   ========================================================= */

/* 1) “Da …” sul prezzo variabile quando NON è stata scelta una variazione */
body.single-product .legis-buybox.legis-variation-from
.wp-block-woocommerce-product-price .wc-block-components-product-price::before{
  content: "da ";
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 300;
  color: var(--wp--preset--color--grey-text);
  margin-right: .25rem;
  letter-spacing: .01em;
}


/* 2) Layout “rail” per la riga label + select */
body.single-product .legis-buybox form.variations_form table.variations{
  width: 100%;
  margin: .75rem 0 0;
  border: 0;
}
body.single-product .legis-buybox form.variations_form table.variations tr{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
}
body.single-product .legis-buybox form.variations_form table.variations th.label,
body.single-product .legis-buybox form.variations_form table.variations td{
  padding: 0;
  border: 0;
}
body.single-product .legis-buybox form.variations_form table.variations th.label{
  flex: 0 0 auto;
  text-align: left;
  white-space: nowrap;
}
body.single-product .legis-buybox form.variations_form table.variations th.label label{
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 500;
  color: rgba(15, 23, 42, .78);
}
body.single-product .legis-buybox form.variations_form table.variations td.value{
  flex: 1 1 auto;
}
body.single-product .legis-buybox form.variations_form table.variations select{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;

  padding: .55rem .75rem;
  border-radius: 6px;
  border: 1px solid rgba(15, 23, 42, .18);
  background: #fff;

  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.2;
  color: rgba(15, 23, 42, .92);
}
body.single-product .legis-buybox form.variations_form table.variations select:focus{
  outline: none;
  border-color: rgba(15, 23, 42, .32);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, .08);
}

/* Mobile: se serve, va a capo in modo pulito */
@media (max-width: 480px){
  body.single-product .legis-buybox form.variations_form table.variations tr{
    flex-wrap: wrap;
  }
  body.single-product .legis-buybox form.variations_form table.variations th.label{
    width: 100%;
  }
}

/* 3) Non mostrare testi extra legati alla variazione */
body.single-product .legis-buybox form.variations_form .woocommerce-variation-description,
body.single-product .legis-buybox form.variations_form .woocommerce-variation-availability,
body.single-product .legis-buybox form.variations_form .reset_variations_alert{
  display: none !important;
}

/* 4) Spazio “giusto” tra select e CTA */
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart{
  width: 100%;
  margin-top: .9rem;
  position: relative; /* serve per tooltip */
}

/* 5) Tooltip elegante quando CTA è disabled */
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart.legis-cta-disabled{
  cursor: not-allowed;
}
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart.legis-cta-disabled::after{
  content: attr(data-legis-tooltip);
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 10px);
  background: var(--wp--preset--color--blue-primary);
  color: #fff;
  font-size: var(--wp--preset--font-size--sm);
  line-height: 1.2;
  font-weight: 600;
  padding: .5rem .65rem;
  border-radius: 6px;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .18);
  opacity: 0;
  transform: translateY(-2px);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 9999;
}
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart.legis-cta-disabled:hover::after,
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart.legis-cta-disabled:focus-within::after,
body.single-product .legis-buybox form.variations_form .woocommerce-variation-add-to-cart.legis-cta-disabled.legis-show-tooltip::after{
  opacity: 1;
  transform: translateY(0);
}
/* =========================================================
   PDP – Prezzo dinamico variazioni (sostituisce Product Price)
   ========================================================= */

body.single-product .legis-buybox .legis-variation-price{
  width: var(--legis-buybox-rail);
  margin-left: auto;
  margin-right: auto;

  display: none; /* visibile solo quando variazione selezionata */

  text-align: right;
}

/* quando una variazione è selezionata */
body.single-product .legis-buybox.legis-variation-selected .legis-variation-price{
  display: block;
}

/* Quando JS ha fatto cleanup, mostra */
body.single-product .legis-buybox.legis-price-ready
.wp-block-woocommerce-product-price .wc-block-components-product-price{
  opacity: 1;
  transition: opacity .12s ease;
}

/* =========================================================
   PDP (Libro) – Tabs below the fold | LEGIS
   File: pdp.css (single product)
   Component scope: .pdp-tabs
   ========================================================= */

.pdp-tabs{
  /* Design tokens (scoped) */
  --pdp-surface: var(--wp--preset--color--base, #ffffff);
  --pdp-border: var(--wp--preset--color--neutral-200, #e5e7eb);
  --pdp-border-strong: var(--wp--preset--color--neutral-300, #d1d5db);
  --pdp-text: var(--wp--preset--color--neutral-900, #111827);
  --pdp-muted: var(--wp--preset--color--neutral-700, #374151);
  --pdp-muted-2: var(--wp--preset--color--neutral-600, #4b5563);
  --pdp-accent: var(--wp--preset--color--blue-primary, #0b3a7e);
  --pdp-radius: 4px;

  /* Rhythm */
  --pdp-section-mt: clamp(1.5rem, 4vw, 3rem);
  --pdp-section-mb: clamp(2.5rem, 6vw, 4.5rem);
  --pdp-card-pad-x: clamp(2rem, 2.4vw, 1.5rem);
  --pdp-body-pad: clamp(1rem, 2vw, 1.25rem);

  margin-top: var(--pdp-section-mt);
  margin-bottom: var(--pdp-section-mb);

  /* Divider to "close" the hero and open the editorial section */
  padding-top: clamp(.25rem, 1vw, .5rem);
  /*border-top: 1px solid var(--pdp-border);*/

  /* Slightly tighter default block gap inside the component */
  --wp--style--block-gap: 1rem;
}

/* -------------------------
   Card wrapper (nav + content)
   Add class "pdp-tabs__card" to the inner Group in FSE.
   Fallback: first inner group inside .pdp-tabs
------------------------- */
.pdp-tabs .pdp-tabs__card,
.pdp-tabs > .wp-block-group{
/*  background: var(--pdp-surface);
  border: 1px solid var(--pdp-border);
  border-radius: var(--pdp-radius);*/
  background: transparent;
  border: none;
  border-top: 1px solid var(--pdp-border);
  border-radius: 0;	
  overflow: hidden; /* fallback */
  overflow: clip;
}

/* Prevent double "global padding" on the card wrapper (TT5 uses it a lot) */
.pdp-tabs .pdp-tabs__card.has-global-padding,
.pdp-tabs > .wp-block-group.has-global-padding{
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.pdp-tabs #desc.pdp-tab-panel{ padding-top: 0 !important; margin-top: 0 !important; }

/* -------------------------
   Tabs navigation (header)
------------------------- */
.pdp-tabs .pdp-tabs__nav{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .5rem;
  margin: 0;
  padding: .5rem var(--pdp-card-pad-x);
  border-bottom: 1px solid var(--wp--preset--color--neutral-100);
/*  background: var(--wp--preset--color--gray-bg);*/
}

/* Rendi i tab scrollabili orizzontalmente su schermi piccoli */
@media (max-width: 781px) {
  .pdp-tabs .pdp-tabs__nav {
    display: flex !important; /* Forza il flex se sovrascritto */
    flex-wrap: nowrap !important; /* Impedisce di andare a capo */
    overflow-x: auto !important; /* Attiva lo scroll orizzontale */
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    gap: 10px; /* Spazio tra i tab */
    padding-bottom: 10px; /* Evita che l'eventuale scrollbar copra il bordo attivo */
  }
  .pdp-tabs .pdp-tabs__nav .pdp-tab {
    flex: 0 0 auto !important; /* LA CHIAVE: impedisce al tab di restringersi */
    scroll-snap-align: start;
  }
  /* Opzionale: impedisce al testo interno di andare a capo se i tab sono corti */
  .pdp-tabs .pdp-tabs__nav .pdp-tab a {
    white-space: nowrap; 
  }
  /* Nasconde la scrollbar su Chrome/Safari/Edge */
  .pdp-tabs .pdp-tabs__nav::-webkit-scrollbar {
    display: none;
  }
  /* Nasconde la scrollbar su Firefox e IE */
  .pdp-tabs .pdp-tabs__nav {
    -ms-overflow-style: none;  
    scrollbar-width: none;  
  }
}

/* Reset WP button wrappers */
.pdp-tabs .pdp-tabs__nav .wp-block-button.pdp-tab{
  margin: 0;
}

/* The clickable element */
.pdp-tabs .pdp-tabs__nav .pdp-tab .wp-block-button__link{
  background: transparent !important;
  color: var(--pdp-muted-2) !important;
  border: 1px solid transparent !important;
  border-radius: var(--pdp-radius);
  padding: .25rem .9rem !important;
  font-weight: 600;
  font-size: var(--wp--preset--font-size--md);
  line-height: 1.2;
  box-shadow: none !important;
  text-decoration: none !important;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* Hover (premium: subtle, not CTA-like) */
.pdp-tabs .pdp-tabs__nav .pdp-tab .wp-block-button__link:hover{
  color: var(--wp--preset--color--blue-primary) !important;
  border-color: transparent !important;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 var(--wp--preset--color--blue-primary) !important;
}

/* Active tab (support also .active for compatibility) */
.pdp-tabs .pdp-tabs__nav .pdp-tab.is-active .wp-block-button__link,
.pdp-tabs .pdp-tabs__nav .pdp-tab.active .wp-block-button__link{
  color: var(--wp--preset--color--blue-primary) !important;
  border-color: transparent !important;
  border-radius: 0;
  box-shadow: inset 0 -2px 0 var(--wp--preset--color--blue-primary) !important;
}

/* -------------------------
   Content area
------------------------- */
.pdp-tabs .pdp-tabs__content{
  margin-top: 1rem;
  padding: var(--pdp-body-pad) var(--pdp-card-pad-x) !important;
  background: var(--pdp-surface);
}

/* Remove extra padding from nested Group panels */
.pdp-tabs .pdp-tab-panel.has-global-padding{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Panels show/hide (your JS toggles .is-active) */
.pdp-tabs .pdp-tab-panel{ 
  display: none;
  scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 90px);
}
.pdp-tabs .pdp-tab-panel.is-active{
  display: block;
  animation: pdpTabsFade .16s ease-out;
}
@keyframes pdpTabsFade{
  from{ opacity: 0; transform: translateY(4px); }
  to{ opacity: 1; transform: translateY(0); }
}

/* -------------------------
   Editorial typography inside panels
------------------------- */
.pdp-tabs .pdp-tabs__content{
  color: var(--wp--preset--color--gray-text);
}
.pdp-tabs .pdp-tabs__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;
}

/* -------------------------
   WHY list (Perché acquistare)
------------------------- */
.pdp-tabs ul.pdp-why-list{
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: .5rem;
}
.pdp-tabs ul.pdp-why-list > li{
  position: relative;
  padding-left: 1.25rem;
  line-height: 1.3;	
}
.pdp-tabs ul.pdp-why-list > li::before{
  content: "";
  position: absolute;
  left: 0;
  width: .4rem;
  height: .4rem;
  top: .5em;
  border-radius: 999px;
  background: var(--wp--preset--color--gray-text);
  /*opacity: .28;*/
}

/* -------------------------
   Testo in descrizione
------------------------- */
.pdp-tabs #desc .wp-block-post-content p{
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}
.wp-block-post-content h4 {
    font-weight: 450; /* o il valore che preferisci */
}
/* -------------------------
   FAQ accordion (details/summary)
------------------------- */
.pdp-tabs .legis-faq__items{
  display: grid;
  gap: .5rem;
}

.pdp-tabs .legis-faq__item{
  border: 1px solid var(--pdp-border);
  border-radius: 4px;
  background: transparent;
  overflow: hidden;
  transition: border-color .18s ease, background-color .18s ease;
}
/* Hover solo sulla domanda */
.pdp-tabs .legis-faq__q:hover{
  background: var(--wp--preset--color--gray-bg);
}

.pdp-tabs details[open].legis-faq__item{
  border-color: var(--pdp-border);
}

.pdp-tabs .legis-faq__q{
  cursor: pointer;
  list-style: none;
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: .25rem .25rem;
  font-weight: 500;
  color: var(--wp--preset--color--gray-text);
}
/* background SOLO sulla domanda quando aperta */
.pdp-tabs details[open] > .legis-faq__q{
  background: var(--wp--preset--color--gray-bg);
  border-bottom: 1px solid var(--pdp-border);
}

.pdp-tabs .legis-faq__q::-webkit-details-marker{ display: none; }

/* Simple + / – indicator */
.pdp-tabs .legis-faq__q::after{
  content: "+";
  flex: 0 0 auto;
  color: var(--wp--preset--color--gray-text);
  font-size: var(--wp--preset--font-size--lg);
  font-weight: 400;
  line-height: 1;
  transform: translateY(1px);
}

.pdp-tabs details[open] > .legis-faq__q::after{
  content: "–";
}

.pdp-tabs .legis-faq__a{
  padding: 1rem 1rem 1rem;
}

.pdp-tabs .legis-faq__a :where(p, div){
  margin: 0;
}

/* Fa sparire una ca... di riga nera sotto la domanda che non riuscivo in nessun modo a far sparire */
.pdp-tabs .legis-faq__q:focus,
.pdp-tabs .legis-faq__q:focus-visible{
  outline: none !important;
}
/* Fixa inizio FAQ a stessa altezza delle altre tabs */
.pdp-tabs #faq.pdp-tab-panel{
  margin-top: 0 !important;
}

/* Evita il flash iniziale dei tabs prima del cleanup JS */
.pdp-tabs:not(.is-ready) {
  visibility: hidden;
}

/* opzionale: se vuoi evitare che occupi spazio prima dell'init
.pdp-tabs:not(.is-ready) {
  display: none;
}
.pdp-tabs.is-ready {
  display: block;
}
*/

/* elimina margini superiori indesiderati per determinati tabs */
#enroll {
  margin-block-start: 0 !important;
}
#calendar {
  margin-block-start: 0 !important;
}

/* =========================================================
   PDP - Sessioni corso toggle custom
   ========================================================= */

.legis-sessioni-corso {
  margin: 0;
  padding-left: 1.2rem;
}

.legis-sessioni-corso__item + .legis-sessioni-corso__item {
  margin-top: 0.35rem;
}

.legis-sessioni-corso-wrap .legis-sessioni-corso {
  margin-bottom: 0;
}

.legis-sessioni-corso__hidden > .legis-sessioni-corso {
  margin-top: 0;
  padding-top: 0;
}

.legis-sessioni-corso__toggle {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0.4rem 0 0;
  color: var(--wp--preset--color--blue-primary);
  text-decoration: none;
  cursor: pointer;
  font: inherit;
}

.legis-sessioni-corso__toggle.is-close {
  display: inline-block;
  margin-top: 0.5rem;
}

.legis-sessioni-corso__toggle:focus {
  outline: 0;
  box-shadow: none;
}

.legis-sessioni-corso__toggle:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}
/* azzera i margini delle due liste */
.legis-sessioni-corso-wrap > .legis-sessioni-corso,
.legis-sessioni-corso__hidden > .legis-sessioni-corso {
  margin-top: 0;
  margin-bottom: .35rem;
}

/* azzera i paragrafi automatici creati attorno ai bottoni */
.legis-sessioni-corso-wrap > p,
.legis-sessioni-corso__hidden > p {
  margin: 0;
}

/* contenitore hidden senza spazi extra */
.legis-sessioni-corso__hidden {
  margin: 0;
  padding: 0;
}


/* =========================================================
   PDP - Programma corso
   ========================================================= */
.legis-programma-corso::before {
	content: "Programma";
	display: block;
	margin-bottom: .75rem;

    font-size: var(--wp--preset--font-size--sm);
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: uppercase;

	color: var(--wp--preset--color--grey-text);
}
.legis-programma-corso {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0,0,0,.06);
}
.legis-programma-corso__meta--sessione {
    font-size: var(--wp--preset--font-size--md);
	font-weight: 350;
	margin-bottom: .75rem;
}
/* Titoli moduli, parti e sessioni con peso più leggero solo qui */
.legis-programma-corso__meta-value,
.legis-programma-corso__title--modulo,
.legis-programma-corso__title--sezione,
.legis-programma-corso__title--parte {
	font-weight: 450;
}
/* Spazio tra moduli */
.legis-programma-corso__modulo {
	margin-bottom: 2rem;
}

/* =========================================================
   PDP PRODOTTI CORRELATI
   ========================================================= */
.legis-page-catalogo__suggested::before {
  content: "Consigli LEGIS per → ";
   font-size: var(--wp--preset--font-size--lg);
   font-weight: 300;
}
.legis-page-catalogo__suggested {
   font-size: var(--wp--preset--font-size--lg);
   font-weight: 400;
}

.legis-page-catalogo__suggestedfrom {
   font-size: var(--wp--preset--font-size--md);
}

.legis-page-catalogo__suggestedfrom  >strong{
  font-weight: 400;
}

/* =========================================================
   PROVE PER PREZZO VARIAZIONI
   ========================================================= */
/* Caso NON scontato: Woo stampa direttamente span.amount (senza del/ins) */
body.single-product .legis-buybox .legis-variation-price > span.woocommerce-Price-amount.amount:only-child {
    font-size: var(--wp--preset--font-size--xl) !important;
    font-weight: 600 !important;
    color: var(--wp--preset--color--blue-primary) !important;
    line-height: 1.2;
	white-space: nowrap;
    display: inline-block;
}

/* Regular (quando in sconto Woo stampa <del>) */
body.single-product .legis-buybox .legis-variation-price del{
  font-size: var(--wp--preset--font-size--lg);
  color: rgba(43, 43, 43, .60);
  line-height: 1.2;
  white-space: nowrap;
}
/* Prezzo variazione (quando in sconto Woo stampa <ins>) */
body.single-product .legis-buybox .legis-variation-price ins{
  margin-left: .5rem;
  margin-top: 10.5rem;
  font-size: var(--wp--preset--font-size--xl);
  font-weight: 600;
  color: var(--wp--preset--color--blue-primary);
  line-height: 1.2;
  white-space: nowrap;
  text-decoration: none; /* ins a volte è sottolineato */
}
/* Selettore specifico per la riga risparmio */
body.single-product .legis-buybox .legis-variation-price .legis-listing__saving {
    display: block;     /* Forza l'andata a capo occupando l'intera larghezza */
    width: 100%;        /* Conferma l'occupazione dello spazio */
    text-align: right;  /* Mantiene l'allineamento a destra come richiesto */
    font-size: var(--wp--preset--font-size--sm);
    line-height: 1.2;
    color: var(--wp--preset--color--grey-text);
    margin-bottom: .3rem
}
/* Quando una variazione è selezionata, nascondi il prezzo predefinito del blocco FSE */
.legis-buybox.legis-variation-selected .legis-listing__prices.wp-block-woocommerce-product-price {
    display: none !important;
}

/* Assicurati che il prezzo della variazione sia visibile e ben spaziato */
.legis-buybox.legis-variation-selected .legis-variation-price {
    display: block;
    margin-top: 4; /* Regola se necessario per evitare doppi spazi */
}

/* =========================================================
   PDP WOO - select variazioni sobria LEGIS
   ========================================================= */

body.single-product .legis-buybox table.variations {
  width: 100%;
  margin: 0 0 1rem;
  border-collapse: collapse;
  table-layout: fixed;
}

body.single-product .legis-buybox table.variations th,
body.single-product .legis-buybox table.variations td {
  padding: 0;
  border: 0;
  vertical-align: middle;
}

body.single-product .legis-buybox table.variations th.label {
  display: none;
}

body.single-product .legis-buybox table.variations td.value {
  display: table-cell;
  width: 100%;
}

body.single-product .legis-buybox table.variations td.value select {
  display: block;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;

  min-height: 52px;
  margin: 0;

  padding: 0 .95rem;
  border: 1px solid var(--wp--preset--color--gray-disabled);
  border-radius: 6px;
  background-color: #fff;
  color: var(--wp--preset--color--gray-text);

  font-family: var(--wp--preset--font-family--sans);
  font-size: var(--wp--preset--font-size--sm);
  font-weight: 400;
  line-height: 1.2;

  box-shadow: none;
  appearance: auto;
  -webkit-appearance: menulist;
  -moz-appearance: menulist;

  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

body.single-product .legis-buybox table.variations td.value select:hover {
  border-color: var(--wp--preset--color--blue-primary);
}

body.single-product .legis-buybox table.variations td.value select:focus {
  outline: none;
  border-color: var(--wp--preset--color--blue-primary);
  box-shadow: 0 0 0 3px rgba(11, 79, 162, .12);
}

body.single-product .legis-buybox table.variations td.value select option[value=""] {
  color: #6b7280;
}

body.single-product .legis-buybox .reset_variations,
body.single-product .legis-buybox .reset_variations_alert {
  display: none !important;
}
/* Questo pezzo allarga la tabella della select a tutta larghezza */
table.variations tbody,
table.variations tr,
table.variations td {
  display: block;
  width: 100%;
}
body.single-product .legis-buybox table.variations td.value select {
  min-height: 32px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1.2;
}