/*---------------------------------------------------------------------------------

 Theme Name:   Trans Human Coaching
 Theme URI:    https://trans-human.coach
 Description:  
 Author:       Pietro Fanchin Mingotti
 Author URI:   https://fuellabstudio.com/
 Template:     Divi
 Version:      2.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

------------------------------ ADDITIONAL CSS HERE ------------------------------*/

:root{
  --bc-text: #fff;            /* testo */
  --bc-sep:  #b31b1b;         /* separatore "›" rosso */
  --bc-link: #fff;            /* link (stesso colore del testo) */
}

/* =========================================================
   THC Floating Featured Pill
   ========================================================= */

.thc-floating-pill,
.thc-floating-pill *,
.thc-floating-pill *::before,
.thc-floating-pill *::after {
  box-sizing: border-box;
}

.thc-floating-pill {
  position: fixed;
  color: #fff;
  font-family: inherit;
  line-height: normal;
  letter-spacing: normal;
  text-transform: none;
  z-index: 14;
  pointer-events: auto;
  transform: translateZ(0);
  isolation: isolate;
}

.thc-floating-pill.is-dismissing {
  opacity: 0;
  transition: opacity 0.22s ease;
}

/* -------------------------
   Desktop
   ------------------------- */

.thc-floating-pill.is-desktop {
  max-width: min(420px, calc(100vw - 80px));
}

.thc-floating-pill.is-desktop .thc-floating-pill__core {
  display: inline-flex;
  align-items: flex-end;
  gap: 10px;
}

.thc-floating-pill.is-desktop .thc-floating-pill__collapsed-side {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 22px;
}

.thc-floating-pill.is-desktop .thc-floating-pill__beacon {
  position: relative;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #77b8ff;
  box-shadow:
    0 0 0 8px rgba(119, 184, 255, 0.10),
    0 0 16px rgba(119, 184, 255, 0.35),
    0 0 30px rgba(119, 184, 255, 0.22);
  animation: thcFloatingBeaconGlow 1.8s ease-in-out infinite;
}

.thc-floating-pill.is-desktop .thc-floating-pill__beacon::before {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: 50%;
  border: 1px solid rgba(119, 184, 255, 0.18);
  pointer-events: none;
}

.thc-floating-pill.is-desktop .thc-floating-pill__hint {
  display: block;
  font-size: 9px;
  line-height: 1;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(170, 210, 255, 0.76);
  white-space: nowrap;
  pointer-events: none;
  user-select: none;
  text-align: center;
  transition: opacity .2s ease, transform .2s ease;
}

.thc-floating-pill.is-desktop.is-collapsed .thc-floating-pill__hint {
  opacity: 1;
  transform: translateY(0);
}

.thc-floating-pill.is-desktop.is-expanded .thc-floating-pill__hint {
  opacity: 0;
  transform: translateY(-4px);
}

.thc-floating-pill.is-desktop .thc-floating-pill__toggle {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: rgba(13, 19, 33, 0.82);
  color: rgba(255, 255, 255, 0.96);
  width: 34px;
  height: 34px;
  min-width: 34px;
  min-height: 34px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.10),
    0 6px 20px rgba(0,0,0,0.18);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: background .2s ease, transform .2s ease, opacity .2s ease;
  padding: 0;
  margin: 0;
}

.thc-floating-pill.is-desktop .thc-floating-pill__toggle:hover {
  background: rgba(18, 26, 44, 0.92);
  transform: scale(1.04);
}

.thc-floating-pill.is-desktop .thc-floating-pill__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  line-height: 1;
  font-weight: 400;
  width: 100%;
  height: 100%;
}

.thc-floating-pill.is-desktop .thc-floating-pill__icon--collapse {
  display: none;
}

.thc-floating-pill.is-desktop.is-expanded .thc-floating-pill__icon--expand {
  display: none;
}

.thc-floating-pill.is-desktop.is-expanded .thc-floating-pill__icon--collapse {
  display: inline-flex;
}

.thc-floating-pill.is-desktop .thc-floating-pill__panel {
  display: block;
  opacity: 1;
  transform: translateX(0);
  transition: opacity .22s ease, transform .22s ease;
}

.thc-floating-pill.is-desktop.is-collapsed .thc-floating-pill__panel {
  opacity: 0;
  transform: translateX(-8px);
  pointer-events: none;
  width: 0;
  overflow: hidden;
}

.thc-floating-pill.is-desktop.is-expanded .thc-floating-pill__panel {
  width: auto;
}

.thc-floating-pill.is-desktop .thc-floating-pill__link {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 280px;
  text-decoration: none !important;
  color: inherit !important;
  padding: 14px 18px 14px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.10);
  background: linear-gradient(135deg, rgba(12,18,32,0.88), rgba(12,18,32,0.72));
  box-shadow:
    0 10px 30px rgba(0,0,0,0.18),
    inset 0 1px 0 rgba(255,255,255,0.08);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
}

.thc-floating-pill.is-desktop .thc-floating-pill__eyebrow {
  display: block;
  margin: 0 0 3px 0;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(186, 219, 255, 0.84);
  white-space: nowrap;
}

.thc-floating-pill.is-desktop .thc-floating-pill__title {
  display: block;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 500;
  color: rgba(255,255,255,0.96);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* -------------------------
   Mobile
   ------------------------- */

.thc-floating-pill.is-mobile {
  display: flex;
  align-items: center;
  gap: 14px;
  width: min(320px, calc(100vw - 24px));
  min-height: 62px;
  padding: 12px 14px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(135deg, rgba(12,18,32,0.90), rgba(12,18,32,0.72));
  box-shadow:
    0 10px 24px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.07);
  backdrop-filter: blur(18px) saturate(140%);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  animation: thcFloatingMobileIn .45s cubic-bezier(.2,.8,.2,1);
}

.thc-floating-pill.is-mobile .thc-floating-pill__beacon {
  position: relative;
  flex: 0 0 12px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #77b8ff;
  box-shadow:
    0 0 0 4px rgba(119,184,255,0.12),
    0 0 14px rgba(119,184,255,0.45),
    0 0 28px rgba(119,184,255,0.18);
  animation: thcFloatingBeaconGlow 1.8s ease-in-out infinite;
}

.thc-floating-pill.is-mobile .thc-floating-pill__beacon::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 1px solid rgba(119,184,255,0.24);
  opacity: 0.6;
}

.thc-floating-pill.is-mobile .thc-floating-pill__link {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1 1 auto;
  text-decoration: none !important;
  color: inherit !important;
}

.thc-floating-pill.is-mobile .thc-floating-pill__eyebrow {
  display: block;
  margin: 0 0 2px 0;
  font-size: 10px;
  line-height: 1.2;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(186, 219, 255, 0.84);
}

.thc-floating-pill.is-mobile .thc-floating-pill__title {
  display: block;
  font-size: 13px;
  line-height: 1.3;
  font-weight: 500;
  color: rgba(255,255,255,0.96);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.thc-floating-pill.is-mobile .thc-floating-pill__close {
  appearance: none;
  -webkit-appearance: none;
  border: 0;
  background: rgba(255,255,255,0.07);
  color: rgba(255,255,255,0.92);
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  margin: 0;
  line-height: 1;
  font-size: 18px;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.08);
}

.thc-floating-pill.is-mobile.is-dragging {
  transition: none !important;
}

/* -------------------------
   Animations
   ------------------------- */

@keyframes thcFloatingBeaconGlow {
  0% {
    box-shadow:
      0 0 0 4px rgba(119,184,255,0.10),
      0 0 10px rgba(119,184,255,0.35),
      0 0 18px rgba(119,184,255,0.14);
    transform: scale(1);
  }
  50% {
    box-shadow:
      0 0 0 6px rgba(119,184,255,0.16),
      0 0 18px rgba(119,184,255,0.60),
      0 0 36px rgba(119,184,255,0.24);
    transform: scale(1.06);
  }
  100% {
    box-shadow:
      0 0 0 4px rgba(119,184,255,0.10),
      0 0 10px rgba(119,184,255,0.35),
      0 0 18px rgba(119,184,255,0.14);
    transform: scale(1);
  }
}

@keyframes thcFloatingMobileIn {
  0% {
    opacity: 0;
    transform: translate3d(-16px, 10px, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* -------------------------
   Responsive
   ------------------------- */

@media (max-width: 420px) {
  .thc-floating-pill.is-mobile {
    width: calc(100vw - 20px);
    padding-right: 10px;
  }

  .thc-floating-pill.is-mobile .thc-floating-pill__close {
    width: 28px;
    height: 28px;
    min-width: 28px;
    min-height: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .thc-floating-pill,
  .thc-floating-pill *,
  .thc-floating-pill *::before,
  .thc-floating-pill *::after {
    animation: none !important;
    transition: none !important;
  }
}


/*Blog Breadcrumbs*/

.thc-breadcrumbs{
  color: var(--bc-text);
  font-size: clamp(10px, 1.1vw, 13px);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: .2px;
}

/* reset numerazione e layout in linea */
.thc-breadcrumbs ol{
  list-style: none !important;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem .75rem; /* spazio tra elementi */
  counter-reset: none;
}
.thc-breadcrumbs ol > li{
  counter-increment: none;
}
.thc-breadcrumbs ol > li::marker{ content: ""; } /* rimuove eventuali marker forzati dal tema */

.thc-breadcrumbs li{
  display: flex;
  align-items: center;
}

/* separatore rosso già presente nel markup come <li class="sep">›</li> */
.thc-breadcrumbs .sep{
  color: var(--bc-sep);
  font-weight: 700;
  margin: 0 .5rem;
  opacity: .95;
}

/* link */
.thc-breadcrumbs a{
  color: var(--bc-link);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: opacity .15s ease, border-color .15s ease;
  opacity: .95;
}
.thc-breadcrumbs a:hover{
  opacity: 1;
  border-color: currentColor; /* sotto-linea sottile al passaggio */
}
.thc-breadcrumbs a:focus-visible{
  outline: 2px solid var(--bc-sep);
  outline-offset: 2px;
}

/* eventuale “corrente” se la aggiungi in futuro */
.thc-breadcrumbs .current,
.thc-breadcrumbs [aria-current="page"]{
  font-weight: 600;
  opacity: 1;
}

/* responsive finezza */
@media (max-width: 480px){
  .thc-breadcrumbs{ font-size: 14px; }
  .thc-breadcrumbs .sep{ margin: 0 .4rem; }
}

/*blog style helpers*/

/*Fix Mobile Margin Auto on Blog Home*/

@media (max-width: 767px) {
  .dgbm_blog_module.et_pb_module {
      margin-left: 0 !important;
      margin-right: 0 !important;
      width: 100% !important;
  }
}

/*General Helpers*/
.wp-block-list li {margin-bottom:1em;}
.wp-block-heading {margin-top:40px;}
.h3-callouts-blog {margin-top:40px;}
.blog-row-image img {
  width: 100%;
  border-radius: .75rem;
  display: block; /* evita spazi indesiderati sotto l'immagine */
}

/* Desktop / default */
.blog-row-columns-images {
  gap: 2rem; /* spazio tra le colonne, regolabile */
}

/* Mobile */
@media (max-width: 767px) {
  .blog-row-columns-images {
    gap: 1rem; /* riduce lo spazio su mobile */
  }

  /* opzionale: se vuoi che si impilino verticalmente */
  .blog-row-columns-images.is-not-stacked-on-mobile {
    flex-wrap: wrap;
  }

  .blog-row-columns-images .wp-block-column {
    flex: 1 1 100%; /* forza le colonne a larghezza piena */
  }
}

/* Mobile only – paragrafi nei POST */
@media (max-width: 767px) {
  body.single-post 
  .et_pb_post_content p {
    font-size: 16px;
    line-height: 1.6;
  }
	
.wp-block-media-text .wp-block-media-text__content
	{padding:0px !important; margin-top:20px;}
}



/* BLOG - Download or Callout Box */

.h3-callouts-blog {
    border-style: solid;
    border-width: medium;
    padding: 10px;
    border-radius: .75rem;
    background-color: rgb(84 98 144 / 31%);
	max-width:unset !important;
	margin-bottom:20px;}

.callout-block {
    max-width: fit-content !important;
	margin-bottom:1em;
	    padding: .55rem .95rem .55rem .95rem !important;
    border-radius: .75rem;
    background: linear-gradient(135deg, #022f4247 0%, #8b5cf66e 55%, #bc3c3ca8 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);}

.callout-block-and-list {
    max-width: fit-content !important;
	margin-bottom:1em;
    padding: .55rem .95rem .55rem .95rem !important;
    border-radius: .75rem;
    background: linear-gradient(135deg, #022f4247 0%, #8b5cf66e 55%, #bc3c3ca8 100%);
    color: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .12);}


 .callout-badge {max-width: fit-content;
    line-height: 1.7em !important;align-items:center;padding:.35rem .75rem;border-radius:.75rem;font:600 13px/1.2 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#0ea5e9 0%,#8b5cf6 55%,#ef4444 100%);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}
      
.callout-badge .callout-dot{width:.5rem;height:.5rem;border-radius:50%;background:#fff;opacity:.9}
.entry-content .callout-badge, .post-content .callout-badge, .entry-content .callout-block, .post-content .callout-block{margin-bottom:12px}
      @media (prefers-color-scheme: dark){
        .callout-block {box-shadow:0 2px 10px rgba(0,0,0,.35)}
      }

/* BLOG - RankMath FAQs stile personalizzato con animazione smooth */

#rank-math-faq {
    margin-top: 30px;
}

/* Ogni item FAQ */
#rank-math-faq .rank-math-list-item {
    background: rgba(42, 42, 51, 0.65); /* coerente con box del blog */
    backdrop-filter: blur(8px);
    border-radius: 10px;
    margin-bottom: 12px;
    overflow: hidden;
    transition: background 0.3s ease;
}
#rank-math-faq .rank-math-list-item:hover {
    background: rgba(42, 42, 51, 0.85);
}

/* Domanda (titolo) */
#rank-math-faq .rank-math-list-item h3 {
    display: flex;
    align-items: center;
    padding: 14px 18px;
    cursor: pointer;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin: 0;
    color: #fff; /* testo bianco */
    transition: color 0.3s ease;
}
#rank-math-faq .rank-math-list-item:hover h3 {
    color: #17e1ce; /* highlight verde acqua coerente con i link */
}

/* Icona freccia */
#rank-math-faq .rank-math-list-item h3:before {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 12px;
    border-color: transparent transparent transparent #fff;
    margin-right: 10px;
    transition: transform 0.3s ease;
}
#rank-math-faq .rank-math-list-item.is-open h3:before {
    transform: rotate(90deg);
    border-color: transparent transparent transparent #17e1ce; /* highlight freccia */
}

/* Risposta */
#rank-math-faq .rank-math-answer {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0 18px;
    color: rgba(255, 255, 255, 0.85);
    font-size: 16px;
    line-height: 1.5;
    transition: max-height 0.4s ease, opacity 0.4s ease, padding 0.3s ease;
}
#rank-math-faq .rank-math-list-item.is-open .rank-math-answer {
    max-height: 500px; /* fallback per l’animazione */
    opacity: 1;
    padding: 12px 18px 18px;
}

/* =========================
   FAQ "Show more" (UI only)
   ========================= */

#rank-math-faq .thc-faq-hidden{
  display: none; /* restano nel DOM, solo nascoste all'utente */
}

/* Bottone */
#rank-math-faq .thc-faq-toggle-wrap{
  margin-top: 14px;
  display: flex;
  justify-content: center;
}

#rank-math-faq .thc-faq-toggle{
  appearance: none;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(42, 42, 51, 0.55);
  backdrop-filter: blur(8px);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  line-height: 1;
  padding: 12px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: transform .15s ease, background .25s ease, border-color .25s ease, color .25s ease;
}

#rank-math-faq .thc-faq-toggle:hover{
  background: rgba(42, 42, 51, 0.85);
  border-color: rgba(23,225,206,.55);
  color: #17e1ce;
  transform: translateY(-1px);
}

#rank-math-faq .thc-faq-toggle:active{
  transform: translateY(0);
}

#rank-math-faq .thc-faq-toggle:focus{
  outline: none;
}

#rank-math-faq .thc-faq-toggle:focus-visible{
  box-shadow: 0 0 0 3px rgba(23,225,206,.25);
}

/* ===============================
   Definition List — FIX layout
   =============================== */

/* Il blocco shortcode non deve centrare il contenuto */
.wp-block-shortcode{
  margin-left: 0;
  margin-right: 0;
  text-align: left;
  /* se il gruppo parent usa grid/flex, evita l'auto-centering */
  justify-self: start;
  align-self: start;
}

/* Il <dl> deve occupare tutta la larghezza del contenitore */
.definition-list,
.wp-block-shortcode dl{
  --accent: var(--highlight-dr, #4ec3ff);
  --bg-row: rgba(255,255,255,.045);
  --rule:   rgba(255,255,255,.08);
  --text:   var(--thc-text, #cfd3d9);
  --head:   var(--thc-heading, #f5f7fb);

  width: 100%;
  max-width: none;       /* 🔧 niente limite a 72ch */
  margin: 0 0 2rem 0;
  display: grid;
  grid-template-columns: minmax(180px, 0.42fr) 1fr;
  column-gap: 0;         /* 🔧 rimuove il “vuoto” tra le colonne */
  row-gap: 0;
  border: 1px solid var(--rule);
  border-radius: 12px;
  overflow: hidden;
  background: transparent;
}

/* reset margini */
.definition-list dt,
.definition-list dd,
.wp-block-shortcode dl dt,
.wp-block-shortcode dl dd{
  margin: 0;
}

/* Colonna SINISTRA (termine) */
.definition-list dt,
.wp-block-shortcode dl dt{
  grid-column: 1;
  font-weight: 700;
  color: var(--head);
  padding: 18px 20px;
  line-height: 1.25;
  border-top: 1px solid var(--rule);
  /* 🔧 finta “colonna” con bordo destro al posto del gap */
  border-right: 1px solid var(--rule);
}

/* Colonna DESTRA (definizione) */
.definition-list dd,
.wp-block-shortcode dl dd{
  grid-column: 2;
  color: var(--text);
  padding: 18px 22px;
  line-height: 1.6;
  border-top: 1px solid var(--rule);
}

/* Prima riga senza bordo superiore */
.definition-list dt:first-of-type,
.wp-block-shortcode dl dt:first-of-type,
.definition-list dd:first-of-type,
.wp-block-shortcode dl dd:first-of-type{
  border-top: none;
}

/* Zebra: stessa riga (dt+dd) con lo stesso background */
.definition-list dt:nth-of-type(odd),
.wp-block-shortcode dl dt:nth-of-type(odd){
  background: var(--bg-row);
}
.definition-list dt:nth-of-type(odd) + dd,
.wp-block-shortcode dl dt:nth-of-type(odd) + dd{
  background: var(--bg-row);
}

/* Hover delicato sul termine (non cambia layout) */
.definition-list dt:hover,
.wp-block-shortcode dl dt:hover{
  color: var(--accent);
}

/* Modalità chiara */
html.light-mode .definition-list,
html.light-mode .wp-block-shortcode dl{
  --bg-row: #f6f8fb;
  --rule: rgba(0,0,0,.08);
  --text: #2b2f37;
  --head: #0e1116;
  border-color: var(--rule);
}

/* Titolo-pulsante del DL */
.definition-list-title[role="button"]{
  cursor: pointer;
  position: relative;
  padding: 20px;              /* spazio caret */
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
  border: 1px solid transparent;    /* per avere un hover definito */
  border-radius: 10px;
}

/* Caret */
.definition-list-title[role="button"]::after{
  content: "";
  position: absolute;
  right: 12px; top: 50%;
  width: 10px; height: 10px;
  transform: translateY(-50%) rotate(45deg);
  border-right: 2px solid var(--thc-text,#cfd3d9);
  border-bottom: 2px solid var(--thc-text,#cfd3d9);
  transition: transform .22s ease, border-color .18s ease;
}

/* Stato CHIUSO: aspetto “call-to-action” */
.definition-list-title[role="button"][aria-expanded="false"]{
  background: rgba(255,255,255,.045);
  border-color: rgba(255,255,255,.09);
  color: var(--thc-heading,#f5f7fb);
}
.definition-list-title[role="button"][aria-expanded="false"]:hover{
  background: rgba(255,255,255,.065);
  border-color: rgba(255,255,255,.14);
  color: var(--highlight-dr,#4ec3ff);
}
.definition-list-title[role="button"][aria-expanded="false"]::after{
  border-color: var(--thc-text,#cfd3d9);
}

/* Stato APERTO: caret ruotato */
.definition-list-title[role="button"][aria-expanded="true"]::after{
  transform: translateY(-50%) rotate(45deg);
  border-color: var(--thc-text,#cfd3d9);
}

/* Pannello <dl> animato (resta nel DOM → SEO ok) */
dl.custom-toggle-target{
  overflow: hidden;
  transition: height .28s ease, opacity .18s ease, padding .18s ease, border-color .18s ease;
}
dl.custom-toggle-target.is-collapsed{
  height: 0 !important;
  opacity: .0;
  border-top-color: transparent;
}



/* =========================
   TL;DR block — uniform cards
   ========================= */

.tldr{
  --accent: var(--highlight-dr, #4ec3ff);
  --surface: rgba(255,255,255,.045);
  --rule: rgba(255,255,255,.09);
  --text: var(--thc-text,#cfd3d9);
  --head: var(--thc-heading,#f5f7fb);

  width: 100%;
  margin: 1rem 0 2rem 0;
  padding: 1.1rem 1.2rem 1.2rem;
  background: transparent;              /* niente zebra, niente riempimenti */
  border: 1px solid var(--rule);        /* cornice esterna */
  border-radius: 16px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.02);
  position: relative;
}

/* rimuove qualsiasi rail/ornamento precedente */
.tldr::before{ content: none !important; }

/* Heading */
.tldr > .wp-block-heading{
  margin: 0 0 1rem 0;
  color: var(--head);
  font-weight: 700;
  letter-spacing: .01em;
  font-size: clamp(1.1rem, .9vw + 1rem, 1.7rem);
}

/* Lista */
.tldr .tldr-list{
  list-style: none;
  margin: .2rem 0 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;           /* mobile: 1 colonna */
  gap: 1rem 1.25rem;
}

/* Card uniforme (tutte uguali) */
.tldr .tldr-list li{
  position: relative;
  font-size: 13px;

  /* FIX LAYOUT:
     rimuove flex (che spezza span + testo in righe diverse) */
  display: block;

  padding: 1rem 1.25rem 1rem 2.4rem;    /* spazio per l'icona */
  background: var(--surface);
  color: var(--text);
  line-height: 1.6;
  border: 1px solid var(--rule);
  border-radius: 14px;
  box-shadow: 0 1px 0 0 var(--rule) inset, 0 0 0 1px rgba(255,255,255,.02);
}

/* Bullet icona (quadrato pieno) */
.tldr .tldr-list li::before{
  content: "";
  position: absolute;
  left: .9rem;
  top: 1.05rem;
  width: .7rem;
  height: .7rem;
  border-radius: 4px;
  background: #f2cf66;
  box-shadow: 0 0 0 4px rgba(78,195,255,.10);
}

/* NIENTE zebra */
.tldr .tldr-list li:nth-child(odd){ background: var(--surface); }

/* Strong nel testo */
.tldr .tldr-list li > strong{
  color: var(--head);
  font-weight: 700;
}

/* FIX: mantieni label (span.highlight-dr) inline col testo */
.tldr .tldr-list li > .highlight-dr{
  display: inline;
  margin-right: .45rem;
}

/* Hard reset locale, se .highlight-dr altrove è block/flex */
.tldr .tldr-list li > .highlight-dr,
.tldr .tldr-list li > .highlight-dr > strong{
  display: inline;
}

/* 2 colonne su viewport ampi */
@media (min-width: 960px){
  .tldr .tldr-list{ grid-template-columns: 1fr 1fr; }
}

/* Light mode */
html.light-mode .tldr{
  --surface: #f6f8fb;
  --rule: rgba(0,0,0,.08);
  --text: #2b2f37;
  --head: #0e1116;
  box-shadow: 0 0 0 1px rgba(0,0,0,.03);
}

/* ============================================================= */
/* LIFE-OS (vertical roller + blurbs)                            */
/* ============================================================= */

#lifeos-container{
  position:relative;
  overflow:hidden;
  max-height:500px;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);
          mask-image:linear-gradient(to bottom,transparent 0%,black 15%,black 85%,transparent 100%);
}

.lifeos-roller-inner{
  will-change: transform;
  touch-action: none;
}

.lifeos .et_pb_blurb_content{
  display:flex;
  flex-direction:row-reverse;
  align-items:center;
  justify-content:space-between;
  padding:15px;
  border-width:1px;
  border-color:rgba(255,255,255,.12);
  border-radius:.75rem !important;
  text-align:left;
  overflow:hidden;
  transition:padding-bottom .35s ease;
}

.lifeos .et_pb_main_blurb_image{
  flex-shrink:0;
  margin-bottom:0;
  position:relative;
  z-index:2;
}

.lifeos .et_pb_blurb_container{
  flex-grow:1;
  position:relative;
  z-index:1;
}

.lifeos .et_pb_blurb_description{
  max-height:0;
  opacity:0;
  overflow:hidden;
  margin-top:0;
  padding-top:0;
  font-size:15px;
  line-height:1.5;
  color:rgba(255,255,255,.75);
  transition:max-height .35s ease, opacity .35s ease, padding-top .35s ease;
}

/* DESKTOP: hover apre */
@media (min-width:768px){
  .lifeos:hover .et_pb_blurb_content{ padding-bottom:28px; }
  .lifeos:hover .et_pb_blurb_description{
    max-height:220px;
    opacity:1;
    padding-top:12px;
  }
}

/* MOBILE: tap solo sull’immagine apre/chiude */
@media (max-width:767px){
  .lifeos .et_pb_blurb_container{ pointer-events:none; }
  .lifeos.is-expanded .et_pb_blurb_content{ padding-bottom:28px; }
  .lifeos.is-expanded .et_pb_blurb_description{
    max-height:220px;
    opacity:1;
    padding-top:12px;
  }
}



/* ============================================================= */
/* --- CUSTOM CARD ACCORDIONS MADE WITH ROWS --- */
/* ============================================================= */

/* ============================= */
/* DESKTOP - invariato           */
/* ============================= */
.card-accordion-container {
  display: flex !important;
  gap: 15px;
  height: 450px;
}

.custom-card-accordion-card {
  flex: 0 0 80px;
  transition: flex 0.7s cubic-bezier(0.65, 0, 0.35, 1);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  border-radius: 30px;
  background-size: cover;
  background-position: center;
}

.custom-card-accordion-card.active-card {
  flex: 1 1 70%;
}

/* -------------------- BLOCCO BLURB -------------------- */
.custom-card-accordion-card .et_pb_blurb {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 0 16px 14px 16px;
  min-height: 110px;
  background: linear-gradient(to top, rgba(0,0,0,.65), rgba(0,0,0,0));
  box-sizing: border-box;
}

.custom-card-accordion-card .et_pb_blurb_content {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  width: 100%;
  margin: 0 !important;
}

/* Icona centrata da chiusa, spostata a sx da aperta */
.custom-card-accordion-card .et_pb_main_blurb_image {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: left .35s ease, transform .35s ease;
  z-index: 2;
  min-width: 40px;
  margin-bottom:0px;
}
.custom-card-accordion-card.active-card .et_pb_main_blurb_image {
  left: 20px;
  transform: none;
}

.custom-card-accordion-card .et_pb_main_blurb_image img {
  object-fit: contain;
  border-radius: 50%;
  background: rgba(255,255,255,0.1);
  padding: 5px;
}

/* Testo */
.custom-card-accordion-card .et_pb_blurb_container {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease 0.2s;
  flex-grow: 1;
  min-width: 0;
  padding-left: 68px;
}
.custom-card-accordion-card.active-card .et_pb_blurb_container {
  opacity: 1;
  pointer-events: auto;
	background-color: #0d094038;
    border-radius: .75rem;
    padding: 20px;
    backdrop-filter: blur(6px);
    margin-left: 72px;
}

.custom-card-accordion-card .et_pb_module_header {
  color: #fff;
  text-shadow: 0px 1px 4px rgba(0,0,0,0.8);
  white-space: nowrap;
  margin: 0 0 6px 0;
}
.custom-card-accordion-card .et_pb_blurb_description p {
  color: #fff;
  text-shadow: 0px 1px 3px rgba(0,0,0,1);
  white-space: normal;
  overflow-wrap: break-word;
  margin: 0;
  line-height: 1.4;
}

/* ============================= */
/* MOBILE & TABLET - fix stabile */
/* ============================= */
@media (max-width: 1366px) {

  .card-accordion-container {
    display: block !important;
    height: auto !important;
  }

  .card-accordion-container .et_pb_column.custom-card-accordion-card {
    margin-bottom: 20px !important;
  }

  .et_pb_column.custom-card-accordion-card,
  .custom-card-accordion-card {
    width: 100% !important;
    flex: unset !important;
    max-height: 78px !important;
    overflow: hidden;
    transition: max-height 0.6s cubic-bezier(0.65, 0, 0.35, 1);
    margin-bottom: 20px !important;
    border-radius: 100px;
    position: relative;
    padding: 0 !important;
    box-sizing: border-box;
  }

  .et_pb_column.custom-card-accordion-card.active-card,
  .custom-card-accordion-card.active-card {
    max-height: 520px !important;
    min-height: 320px;
    border-radius: 30px;
    padding: 10px 0 !important;
  }

  .custom-card-accordion-card .et_pb_blurb {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    top: auto !important;
    width: 100%;
    height: 100%;
    min-height: unset !important;
    margin: 0 !important;
    padding: 0 !important;
    background: none !important;
    box-sizing: border-box;
  }

  .custom-card-accordion-card .et_pb_blurb_content {
    position: relative !important;
    display: block !important;
    width: 100%;
    min-height: 78px;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ============================= */
  /* CARD CHIUSA                   */
  /* ============================= */

  .custom-card-accordion-card:not(.active-card) .et_pb_main_blurb_image {
    position: absolute !important;
    top: 19px !important;
    left: 18px !important;
    bottom: auto !important;
    right: auto !important;
    transform: none !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin: 0 !important;
    z-index: 5 !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .custom-card-accordion-card:not(.active-card) .et_pb_main_blurb_image a,
  .custom-card-accordion-card:not(.active-card) .et_pb_main_blurb_image .et_pb_image_wrap {
    display: block !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    line-height: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .custom-card-accordion-card:not(.active-card) .et_pb_main_blurb_image img {
    display: block !important;
    margin: 0 !important;
    object-fit: contain !important;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    padding: 5px;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .custom-card-accordion-card:not(.active-card) .et_pb_blurb_container {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* ============================= */
  /* CARD APERTA                   */
  /* ============================= */

  .custom-card-accordion-card.active-card .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 16px !important;
  }

  .custom-card-accordion-card.active-card .et_pb_main_blurb_image {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    bottom: auto !important;
    right: auto !important;
    transform: none !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    margin: 0 0 12px 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  .custom-card-accordion-card.active-card .et_pb_main_blurb_image a,
  .custom-card-accordion-card.active-card .et_pb_main_blurb_image .et_pb_image_wrap {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
  }

  .custom-card-accordion-card.active-card .et_pb_main_blurb_image img {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    max-width: 30px !important;
    max-height: 30px !important;
    margin: 0 !important;
    object-fit: contain !important;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    padding: 5px;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .custom-card-accordion-card .et_pb_blurb_container {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    margin-left: 0 !important;
    min-width: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .custom-card-accordion-card.active-card .et_pb_blurb_container {
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
    pointer-events: auto;
    margin: 0 !important;
    padding: 20px !important;
    background-color: #0d094038;
    border-radius: .75rem;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
  }

  .custom-card-accordion-card .et_pb_module_header {
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    margin: 0 0 8px 0 !important;
    line-height: 1.15;
  }

  .custom-card-accordion-card .et_pb_blurb_description,
  .custom-card-accordion-card .et_pb_blurb_description p {
    text-align: left;
    width: 100%;
    margin: 0;
    white-space: normal !important;
    overflow-wrap: break-word;
    word-break: normal;
    line-height: 1.4;
  }

  .custom-card-accordion-card .accordion-link-btn {
    display: inline-block;
    margin-top: 12px;
  }

  /* neutralizza animazioni Divi sulle icone */
  .custom-card-accordion-card .et_pb_main_blurb_image img.et-waypoint,
  .custom-card-accordion-card .et_pb_main_blurb_image img.et-animated,
  .custom-card-accordion-card .et_pb_main_blurb_image .et_pb_animation_top,
  .custom-card-accordion-card .et_pb_main_blurb_image .et_pb_animation_top_tablet,
  .custom-card-accordion-card .et_pb_main_blurb_image .et_pb_animation_top_phone {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
}


/* PAGINA CONTATTI */

.speciality-fix {padding-top:20vh !important; padding-bottom:0px !important;
background-size: cover !important;}

/*** Responsive Styles Standard Desktop Only ***/

@media all and (min-width: 1366px) {.contact-page-col-2 {display:flex;
justify-content:center;
align-items:center;}}

/*** Responsive Styles Tablet And Below ***/

@media all and (max-width: 1366px) {
.contact-page-col-2 {display:unset;}}

/*** Responsive Custom Breakpoint ***/

@media all and (max-width: 765px) {
.buttons-reviews-container {display:flex;
flex-wrap:wrap;
align-content:flext-start;
gap:15px;}}


/* ============================================================= */
/* HEADER & MENU – Polylang safe                                */
/* ============================================================= */

/* 1) Strato "liquid glass" */
#main-header,
#et-boc .et-l--header .et_pb_section {
  background-color: transparent !important;
}
.de-liquidGlass-wrapper {
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  isolation: isolate;
  transition: border-radius .4s ease, height .35s ease-in-out;
}
.de-liquidGlass-wrapper::before{
  content:"";
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background-color:transparent; transition:background-color .4s ease-in-out;
}
.de-liquidGlass-wrapper.header-has-background::before,
.de-liquidGlass-wrapper.is-active::before{
  background-color:hsl(0 0% 10% / 65%);
  backdrop-filter: blur(15px) saturate(1.8);
}
.de-liquidGlass-wrapper.has-advanced-glass.header-has-background::before,
.de-liquidGlass-wrapper.has-advanced-glass.is-active::before{
  background-color:hsl(0 0% 10% / 45%);
  backdrop-filter:saturate(2.5) blur(12px);
}
.de-liquidGlass-wrapper.supports-displacement-filter.header-has-background::before,
.de-liquidGlass-wrapper.supports-displacement-filter.is-active::before{
  background-color:hsl(0 0% 10% / 37%);
  backdrop-filter: var(--liquid-filter-url) saturate(2.5) blur(10px);
}
.de-liquidGlass-wrapper .et_pb_row{ position:relative; z-index:2; }

/* 2) Sticky */
.sticky-dark-header.header-is-sticky{
  position:fixed !important;
  top:32px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:100% !important;
  z-index:99999 !important;
}

/* Padding della row sticky – indipendente dall’indice *_tb_header */
#et-boc .et-l--header .et_pb_section_sticky .et_pb_row.et_pb_row[class$="_tb_header"]{
  padding-top:20px !important;
  padding-bottom:20px !important;
}

/* 3) MENU DESKTOP */
@media (min-width:1366px){
  .et_mobile_nav_menu{ display:none !important; }

  /* la row del menu allinea in alto così il submenu ha spazio sotto */
  .et_pb_menu_0_tb_header.nomobi .et-menu-nav{
    display:flex; flex-direction:column;
  }
  .et_pb_menu_0_tb_header.nomobi .et_pb_menu__menu > nav > ul{
    display:flex; flex-wrap:nowrap; justify-content:center; align-items:center;
  }

  /* Contenitore dei sub-menu staccati */
  .detached-submenu-container{
    width:100%;
  }
  .detached-submenu-container > .sub-menu{
    visibility:hidden; opacity:0;
    max-height:0; overflow:hidden;
    margin:0; padding:0;
    transition: max-height .5s ease, padding .5s ease, margin-top .5s ease, opacity .3s ease, visibility .5s ease;
    display:flex; justify-content:center; gap:15px; width:100%;
  }
  .detached-submenu-container > .sub-menu.is-active{
    visibility:visible; opacity:1;
    max-height:1000px;
    margin-top:15px; padding-bottom:10px;
  }

  /* Stile delle voci nel container */
  .detached-submenu-container > .sub-menu > li{
    width:auto; list-style:none !important;
    background-color: rgb(22 22 22 / 39%) !important;
    backdrop-filter: blur(10px) !important;
    border-radius:4px; padding:5px;
  }
  .detached-submenu-container > .sub-menu > li > a{
    padding-bottom:0; white-space:nowrap;
  }

  /* Mega-menu di 2° livello dentro al detached */
  .detached-submenu-container .mega-menu-fl > a::after{
    content:"▼"; font-size:.6em; margin-left:8px; opacity:.6; display:inline-block;
    transition:transform .3s ease;
  }
  .detached-submenu-container .mega-menu-fl:hover > a::after{ transform:rotate(180deg); }
  .detached-submenu-container .mega-menu-fl > .sub-menu{
    list-style:none !important; margin:0; padding:10px 0 0 15px;
    max-height:0; overflow:hidden; transition:max-height .4s ease, padding .4s ease;
  }
  .detached-submenu-container .mega-menu-fl:hover > .sub-menu{ max-height:500px; }
  .detached-submenu-container .mega-menu-fl > .sub-menu li{
    background:none !important; backdrop-filter:none !important;
    padding:0 !important; margin-bottom:5px;
  }
  .detached-submenu-container .mega-menu-fl > .sub-menu li a{
    display:block; text-align:left; padding:5px !important;
  }
}

/* 4) MENU MOBILE – invariato (se già ok nel tuo tema) */
@media (max-width:1366px){
  .sticky-dark-header.header-is-sticky.de-liquidGlass-wrapper{
    border-radius:0px 0px 15px 15px !important;
  }

  .sticky-dark-header.header-is-sticky{
    top:0px !important;
    margin-top:0 !important;
  }

  .et_pb_menu_0_tb_header .mobile_nav{
    position:relative;
    z-index:100001;
  }

  .et_mobile_nav_menu .mobile_nav.opened .et_mobile_menu{
    display:block !important;
    position:fixed !important;
    top:85px;
    left:2.5%;
    width:95% !important;
    max-height:calc(100vh - 100px) !important;
    border-radius:15px !important;
    padding:15px 0;
    background-color: rgba(24,24,24,.9) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    overflow-y:auto;
    box-shadow:0 8px 30px rgba(0,0,0,.3);
  }

  .et_mobile_nav_menu .mobile_nav.closed .et_mobile_menu{
    display:none !important;
  }

  .et_mobile_menu li{
    text-align:center;
    position:relative;
  }

  .et_mobile_menu li > a{
    display:block !important;
    position:relative;
    padding:14px 60px 14px 25px !important;
    color:#fff !important;
    width:100%;
    box-sizing:border-box;
  }

  /* Bottone toggle separato dal link */
  .et_mobile_menu .menu-item-has-children{
    position:relative;
  }

  .et_mobile_menu .mobile-arrow-toggle{
    position:absolute;
    top:0;
    right:0;
    width:54px;
    height:52px;
    border:0;
    background:transparent;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }

  .et_mobile_menu .mobile-arrow{
    display:inline-block;
    transition:transform .3s ease;
    line-height:1;
    pointer-events:none;
  }

  .et_mobile_menu .menu-item-has-children.mobile-menu-open > .mobile-arrow-toggle .mobile-arrow{
    transform:rotate(180deg);
  }

  /* submenu interni standard */
  .et_mobile_menu .sub-menu{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
    background-color: rgba(0,0,0,.2);
  }

  .et_mobile_menu .menu-item-has-children.mobile-menu-open > .sub-menu{
    max-height:1000px;
  }

  /* submenu esterni detached controllati via data-controls */
  .detached-submenu-container{
    width:100%;
  }

  .detached-submenu-container > .sub-menu{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
    background-color: rgba(0,0,0,.2);
    margin:0;
    padding:0;
  }

  .detached-submenu-container > .sub-menu.mobile-submenu-open{
    max-height:1000px;
  }

  .detached-submenu-container > .sub-menu > li,
  .detached-submenu-container .sub-menu li{
    list-style:none;
    text-align:center;
    position:relative;
  }

  .detached-submenu-container .sub-menu a{
    display:block;
    padding:12px 25px !important;
    color:#fff !important;
  }

  .detached-submenu-container .sub-menu .sub-menu{
    max-height:0;
    overflow:hidden;
    transition:max-height .4s ease;
    background-color: rgba(255,255,255,.04);
  }

  .detached-submenu-container .menu-item-has-children.mobile-menu-open > .sub-menu{
    max-height:1000px;
  }

  .detached-submenu-container .menu-item-has-children > a{
    display:block !important;
    padding:14px 60px 14px 25px !important;
  }

  .detached-submenu-container .menu-item-has-children > .mobile-arrow-toggle{
    position:absolute;
    top:0;
    right:0;
    width:54px;
    height:52px;
    border:0;
    background:transparent;
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    z-index:3;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
  }

  .detached-submenu-container .menu-item-has-children.mobile-menu-open > .mobile-arrow-toggle .mobile-arrow{
    transform:rotate(180deg);
  }
}

/* ============================================================= */
/* MENU DESKTOP < 1700px: clamp font 10–13px + spazi compatti     */
/* ============================================================= */
@media (max-width: 1700px) and (min-width: 1366px){

  /* --- Voci menu livello 1 --- */
  .et_pb_menu_0_tb_header.nomobi .et-menu > li > a{
    font-size: clamp(10px, 0.76vw, 13px) !important; /* 0.76vw ≈ 13px a 1700px */
    line-height: 1.2 !important;
    padding: 8px 10px !important;                    /* riduce padding orizzontale */
    letter-spacing: .02em;
    white-space: nowrap;                             /* evita a-capo prima del tablet */
  }

  /* Spaziatura tra le voci top-level */
  .et_pb_menu_0_tb_header.nomobi .et-menu > li{
    margin: 0 6px !important;                        /* più stretto del default */
  }

  /* --- Submenu “standard” Divi (se usati) --- */
  .et_pb_menu_0_tb_header.nomobi .et-menu .sub-menu a{
    font-size: clamp(10px, 0.70vw, 12px) !important;
    line-height: 1.25 !important;
    padding: 7px 10px !important;
    white-space: nowrap;
  }

  /* --- Submenu staccato (detached) se presente --- */
  .detached-submenu-container > .sub-menu > li > a{
    font-size: clamp(10px, 0.70vw, 12px) !important;
    line-height: 1.25 !important;
    padding: 6px 8px !important;
  }
  .detached-submenu-container > .sub-menu{
    gap: 8px !important;                             /* riduce spazio tra “pill” */
  }
  .detached-submenu-container > .sub-menu > li{
    padding: 4px !important;                         /* pill più compatte */
  }

  /* --- Lingua con bandierina --- */
  .et_pb_menu_0_tb_header.nomobi .lang-item > a{
    font-size: clamp(10px, 0.76vw, 13px) !important;
    padding: 8px 8px !important;
    gap: 6px;
  }
  .et_pb_menu_0_tb_header.nomobi .lang-item img{
    width: 14px; height: 10px;                       /* leggermente più piccola */
  }

  /* --- Pulsanti header (chat / booking) --- */
  #header-button-chat,
  #header-button-booking{
    font-size: clamp(10px, 0.76vw, 13px) !important;
    line-height: 1.15 !important;
    padding: 8px 12px !important;                    /* interno più compatto */
  }
  /* icone custom dei bottoni (Divi usa ::after) – lieve avvicinamento */
  #header-button-chat:after,
  #header-button-booking:after{
    margin-left: .5em !important;
  }

  /* --- Micro-tuning contenitore nav (se serve) --- */
  .et_pb_menu_0_tb_header.nomobi .et_pb_menu__menu > nav > ul{
    gap: 0 !important;                               /* evita accumulo gap+margin */
  }
}

/* ============================================================= */
/* Caret dropdown: scala con il testo e resta centrato verticalmente */
/* ============================================================= */

/* Rende l'anchor un inline-flex così l'icona può stare centrata */
@media (min-width:1366px){
  .et_pb_menu_0_tb_header.nomobi .et-menu > li.menu-item-has-children > a:first-child{
    display: inline-flex !important;
    align-items: center !important;
  }

  /* Override del caret di Divi: niente posizionamento assoluto */
  .et_pb_menu_0_tb_header.nomobi .et-menu > li.menu-item-has-children > a:first-child:after{
    position: static !important;        /* toglie absolute/top/right di Divi */
    top: auto !important;
    right: auto !important;
    transform: none !important;
    display: inline-block !important;
    font-size: 1em !important;          /* eredita il clamp del testo voce */
    line-height: 1 !important;
    margin-left: clamp(6px, 0.6vw, 10px) !important; /* spazio fluido dalla label */
    vertical-align: middle !important;
  }
}

/* Stato base */
.mobile-arrow {
  color: rgba(255,255,255,0.6);
}

/* Stato aperto */
.menu-item-has-children.mobile-menu-open > .mobile-arrow-toggle .mobile-arrow {
  color: #ffffff;
}

/* (opzionale) se vuoi che il caret sia un filo più piccolo del testo: */
/*
.et_pb_menu_0_tb_header.nomobi .et-menu > li.menu-item-has-children > a:first-child:after{
  font-size: .9em !important;
}
*/



/* ============================================================= */
/* --- Stili per Ninja Forms --- */
/* ============================================================= */


.nf-response-msg {
background-color: rgb(13 186 119 / 81%); 
color: #430b5a;
border-radius: 16px 16px 16px 16px; 
	overflow: hidden; 
	padding-top: 10px !important; 
	padding-right: 20px !important; 
	padding-bottom: 10px !important; 
	padding-left: 20px !important; 
	font-size: 22px; 
	width: fit-content; 
	margin-bottom: 40px; 
	font-weight: 500; } 

.nf-before-form-content {display:none;} 

.fl-popup-form-message-element {
	border-radius: 16px 16px 16px 16px; 
	overflow: hidden; 
	border-width: 1px; 
	border-color: #693C9E;} 

.ninja-forms-field.fl-popup-form-element { 
	min-height: 40px !important; 
	border-top-width: 0px; 
	border-left-width: 0px; 
	border-right-width: 0px; 
	border-bottom-width: 1px; 
	border-bottom-color: #693C9E; } 

/* Bottone Ninja Forms stile "pill button nero" */ 

input[type="submit"].ninja-forms-field { 
	
	background-color: #000; /* bottone nero */ 
	color: white; 
	border: none; 
	border-radius: 16px; 
	padding: 12px 30px; 
	font-size: 16px; 
	font-weight: 600; 
	text-transform: none; 
	cursor: pointer; 
	transition: background-color 0.3s ease; 
	display: inline-block; } 

/* Hover effect simile */ 

input[type="submit"].ninja-forms-field:hover { background-color: #222; } 

/*NINJA FORMS LANDING STYLE*/ 
.fl-gdpr-container .nf-field-description p { 
	font-size: 14px; 
	color: #ffffff; 
	margin: 0; 
	line-height: 1.4; } 

.fl-hide-bfc .nf-before-form-content {display:none;} 

/* ===== Campi input ===== */ 
.ninja-forms-field.fl-landing-ninja-element, .ninja-forms-field.fl-popup-form-message-element.nf-element { 
	background: white; 
	border: none; 
	border-radius: 16px; 
	padding: 10px 30px; 
	font-size: 16px; 
	color: #333; 
	width: 100%; 
	box-shadow: none; 
	outline: none; 
	transition: border-color 0.3s ease; }

.ninja-forms-field.fl-landing-ninja-element:focus { border-bottom-color: #401a74; } 

/* ===== Label ===== */ 

.fl-landing-ninja-container label { 
	font-weight: 600; 
	font-size: 14px; 
	color: white; 
	margin-bottom: 6px; 
	display: block; } 

/* ===== Submit Button ===== */ 

.fl-landing-ninja-button-element { 
	background-color: #CFF828 !important; 
	color: black !important; 
	border: none; 
	border-radius: 16px; 
	padding: 12px 30px; 
	font-size: 16px; 
	font-weight: 600; 
	cursor: pointer; 
	display: block; 
	float: right; 
	margin-top: 30px; 
	transition: background-color 0.3s ease; } 

.fl-landing-ninja-button-element:hover { background-color: #222; }

/* ============================================================= */
/* --- Stile per il Placeholder dei Campi Ninja Forms --- */
/* ============================================================= */

.fl-landing-ninja-element::placeholder { /* Sintassi Standard */
  color: #ffffff;
  opacity: 0.7; /* Opzionale: Rende il testo leggermente traslucido per distinguerlo dal testo inserito */
}

/* Versioni per compatibilità con vecchi browser */
.fl-landing-ninja-element::-webkit-input-placeholder {
  color: #ffffff;
  opacity: 0.7;
}

.fl-landing-ninja-element::-moz-placeholder {
  color: #ffffff;
  opacity: 0.7;
}

.fl-landing-ninja-element:-ms-input-placeholder {
  color: #ffffff;
  opacity: 0.7;
}

.fl-landing-ninja-element::-ms-input-placeholder {
  color: #ffffff;
  opacity: 0.7;
}


/* UTILITIES*/

/* Single post: rimuovi il bianco di default sulle section del template */
.single-post .et-l--post .et_pb_section {
  background-color: transparent !important;
}

/*Fix review sliders color for titles*/
#reviews-slider .dsm_card_title et_pb_module_header {color:white !important;}

/*Z index adjustment for dracula toggle*/
.dracula-toggle-wrap.floating {z-index:999999999 !important}

/* === TOC RankMath - font size mobile === */
@media (max-width: 767px) {
  #rank-math-toc,
  #rank-math-toc * {
    font-size: 13px !important;
    line-height: 1.4;
  }
}

/* RankMath TOC: rimuovi i sottolivelli vuoti */
#rank-math-toc nav ul ul:empty { 
  display: none !important;
  margin: 0;
  padding: 0;
}

/* Se RankMath stampa whitespace dentro <ul>, :empty non basta:
   usa :has per nascondere i <ul> senza <li> reali */
#rank-math-toc nav ul ul:not(:has(> li)) {
  display: none !important;
  margin: 0;
  padding: 0;
}



/* Fix mobile pulsanti semplici che non vanno in fullwidth */
@media only screen and (max-width: 767px) {.et_pb_button_module_wrapper {width:100%}
}
.bubble-insight-li {margin-top:20px;padding:2%; border-radius:30px; background-color: RGBA(0,0,0,0.5); backdrop-filter: blur(100px) !important;  list-style-type: none;
  -webkit-backdrop-filter: blur(100px) !important;}
.bubble-insight-li::marker {display:none !important;}

@media (max-width: 767px) {.bubble-insight-li {margin-top:20px;padding:6%; border-radius:30px; background-color: RGBA(0,0,0,0.5); backdrop-filter: blur(100px) !important;  list-style-type: none;
  -webkit-backdrop-filter: blur(100px) !important;}}

.list-box {    border-width: 8px;
    border-style: solid;
    border-color: aliceblue;
	background-color:aliceblue;
	color:black;
	max-width:650px;
	border-radius:.75rem;
	font-size:22px;
	line-height:1.7em;
	width:fit-content;
	padding: 5px 30px 15px 30px !important;
	margin-bottom:20px;
	}
.list-box li {   margin-top:10px;
	}
.rmq {    font-size: 18px !important;
    margin-bottom: 10px;}
.rank-math-answer {margin-bottom:10px;}

.single-post .et_post_meta_wrapper {
  padding-top: 0 !important;
  margin-top: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

/*.single-post #main-content {margin-top:-150px;}*/

.RMTOC h2 {color:white;}


/*SEO HIDDEN H1*/
.visuallyhidden {
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
    clip-path: inset(0px 0px 99.9% 99.9%);
    overflow: hidden;
    height: 1px;
    width: 1px;
    padding: 0;
    border: 0;
 }

/* ============================================================= */
/* --- Sistema per Toggle Animati (Show/Hide) --- */
/* ============================================================= */

/* Stato di default: visibile per i motori di ricerca e se JS è disabilitato */
.custom-toggle-target {
    overflow: hidden;
}

/* Stili per le transizioni quando JavaScript è attivo */
.js .custom-toggle-target {
    transition: height 300ms ease, opacity 300ms ease;
    will-change: height, opacity;
    contain: layout paint style; /* Ottimizzazione performance */
}

/* Fase di espansione (gestita da JS) */
.js .custom-toggle-target.is-expanding {
    opacity: 1;
}

/* Fase di collasso (gestita da JS) */
.js .custom-toggle-target.is-collapsing {
    opacity: 0.02; /* Quasi invisibile, ma permette l'animazione dell'altezza */
}

/* Stato completamente collassato (gestito da JS) */
.js .custom-toggle-target.is-collapsed {
    height: 0 !important;
    opacity: 0;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border-top-width: 0 !important;
    border-bottom-width: 0 !important;
    pointer-events: none; /* L'elemento non è cliccabile */
}

/* Stato completamente espanso (gestito da JS) */
.js .custom-toggle-target.is-expanded {
    height: auto;
    opacity: 1;
    pointer-events: auto;
}

/* Override specifici per moduli Divi collassati */
.js .custom-toggle-target.is-collapsed.et_pb_module,
.js .custom-toggle-target.is-collapsed.et_pb_row,
.js .custom-toggle-target.is-collapsed.et_pb_section {
    padding: 0 !important;
    margin: 0 !important;
}

/* Fallback di sicurezza per browser senza JavaScript */
noscript .custom-toggle-target { 
    height: auto !important; 
    opacity: 1 !important; 
}


/* ============================================================= */
/* --- Stile per CTA con Icona SVG --- */
/* ============================================================= */

.as-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 3px 9px 3px 3px !important;
    border-radius: 64px;
    background: #1515154d;
    color: #fff;
    line-height: 1.1;
    margin: 0;
}

.as-btn .pill {
    background: #34c9c4;
    color: #fff;
    border-radius: 64px;
    padding: 4px 8px;
    font-weight: 600;
}

.as-btn .icon-mask {
    width: 12px;
    height: 12px;
    display: inline-block;
    flex-shrink: 0; /* Impedisce all'icona di rimpicciolirsi */
    background-color: #34c9c4; /* Colore dell'icona */
    /* RICORDA DI SOSTITUIRE QUESTO URL CON QUELLO DELLA TUA LIBRERIA MEDIA */
    -webkit-mask: url('https://trans-human.coach/wp-content/uploads/2025/09/arrow-right-line-svgrepo-com.svg') no-repeat center / contain;
            mask: url('https://trans-human.coach/wp-content/uploads/2025/09/arrow-right-line-svgrepo-com.svg') no-repeat center / contain;
}



.as-info {
    display: inline-flex;
	min-width: 100%;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
	padding: 6px 9px 6px 6px !important;
	border-radius: 64px;
    background: #1515154d;
    color: #fff;
    line-height: 1.1;
    margin: 0;
}

.as-info .pill {
    background: #a355eb;
    color: #fff;
    border-radius: 64px;
    padding: 4px 8px;
    font-weight: 600;
}

.as-info .icon-mask {
    width: 12px;
    height: 12px;
    display: inline-block;
    flex-shrink: 0; /* Impedisce all'icona di rimpicciolirsi */
    background-color: #f4a4c7; /* Colore dell'icona */
    /* RICORDA DI SOSTITUIRE QUESTO URL CON QUELLO DELLA TUA LIBRERIA MEDIA */
    -webkit-mask: url('https://trans-human.coach/wp-content/uploads/2025/09/arrow-down-svgrepo-com.svg') no-repeat center / contain;
            mask: url('https://trans-human.coach/wp-content/uploads/2025/09/arrow-down-svgrepo-com.svg') no-repeat center / contain;
}


/* ============================================================= */
/* --- Stile per Tabella Prezzi --- */
/* ============================================================= */



.dsm-switch-inner:before {transform: scale(0.8);
    top: 0.15em;
}

.dsm-switch-inner {    border-radius: 1.5em;
    border-width: 0.5px;
    border-style: solid;
border-color:#1cccba;}



/* ============================================================= */
/* --- Stile per Blurb Usato come Pulsante --- */
/* ============================================================= */

/* Riduce lo spazio sotto il titolo nei blurb usati come pulsanti */
.conv-button-remove-headings .et_pb_module_header {
    margin-bottom: 5px !important;
	margin-top:-10px !important;
}

.lifeos.conv-button-remove-headings .et_pb_module_header {
    margin-bottom: 5px !important;
	margin-top: unset !important;
}

/* Variante quando esiste anche .headfix sul modulo */
.conv-button-remove-headings.headfix :is(.et_pb_module_header, .dsm_card_title.et_pb_module_header){
  margin-bottom: 5px !important;
  margin-top: -10px !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
	color:white;
}

/* Se Divi/DSM applicano font sullo span interno, forza anche quello */
.conv-button-remove-headings.headfix :is(.et_pb_module_header, .dsm_card_title.et_pb_module_header) span{
  font-size: inherit !important;
  font-weight: inherit !important;
	color:white;
}
/* ============================================================= */
/* --- Stile per Supreme Card Usato con Promo Features --- */
/* ============================================================= */

.promo-card .dsm_card_subtitle {
	color: aliceblue;
    background: #833AB4;
    text-shadow: 1px 1px 1px black;
    background: linear-gradient(90deg, rgb(112 231 212 / 77%) 0%, rgb(29 172 253 / 44%) 50%, #675ed5c2 100%);
    border-radius: 30px;
    padding: 2px 20px;
    width: fit-content;
    margin-top: 10px;
    margin-bottom: 10px;
    box-shadow: 0px 2px 56px 21px rgba(13, 34, 226, 0.26);
}




/* ======================================================================== */
/* --- Stile per i link su .registered-block E TUTTI i moduli Accordion --- */
/* ======================================================================== */

.registered-block a,
.et_pb_accordion a,
.dsm_card_carousel_child_description a{
  color: #ffdbb5 !important; /* pastel orange */
  text-decoration: none !important;
  position: relative;
  padding: 2px 2px;
  transition: all 0.2s ease-out;
  white-space: nowrap; /* di default solo desktop */
}

/* Underline */
.registered-block a::after,
.et_pb_accordion a::after,
.dsm_card_carousel_child_description a::after {
  content: "";
  width: 100%;
  height: 1px;
  background: #ffdbb5;
  position: absolute;
  right: 0;
  bottom: 0;
  transition: all 0.2s ease-out;
}

/* Blinking block */
.registered-block a::before,
.et_pb_accordion a::before,
.dsm_card_carousel_child_description a::before{
  content: "";
  width: 4px;
  height: 4px;
  background: #ffdbb5;
  position: absolute;
  right: -4px;
  bottom: 0;
  opacity: 0;
  transition: all 0.2s ease-out;
}

/* Hover effects */
.registered-block a:hover,
.et_pb_accordion a:hover,
.dsm_card_carousel_child_description a:hover{
  background: rgba(89,2,2,0.32);
  padding: 2px 8px;
  border-radius: 0.45rem;
  transition: all 0.1s ease-out;
  margin-right: 5px !important;
}

.registered-block a:hover::after,
.et_pb_accordion a:hover::after,
.dsm_card_carousel_child_description a:hover::after {
  width: 0;
  transition: all 0.1s ease-out;
}

.registered-block a:hover::before,
.et_pb_accordion a:hover::before,
.dsm_card_carousel_child_description a:hover::before {
  opacity: 1;
  animation: blink 0.4s infinite 0.1s;
  transition: all 0.1s ease-out;
}

/* Animazione */
@keyframes blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* ======================================================================== */
/* --- Mobile Fix: niente blink, niente nowrap --- */
/* ======================================================================== */
@media (max-width: 767px) {
  .registered-block a,
  .et_pb_accordion a {
    white-space: normal !important; /* permette l'accapo */
  }

  .registered-block a::before,
  .et_pb_accordion a::before {
    display: none !important; /* rimuove blinking block */
  }
}


/* ============================================================= */
/* --- Classi per Testo con Sfondo a Gradiente --- */
/* ============================================================= */

/*
 * Applica la tecnica "background-clip" per rendere il testo colorato
 * con un gradiente invece di un colore a tinta unita.
 */
.highlight-dr,
.highlight-br,
.highlight-b,
.highlight-bb,
.highlight-gray {
    -webkit-background-clip: text !important;
    -moz-background-clip: text !important; /* Compatibilità Firefox */
    background-clip: text !important;
    -webkit-text-fill-color: transparent;
    -moz-text-fill-color: transparent; /* Compatibilità Firefox */
}

/* Definizioni dei singoli gradienti */
.highlight-dr {
    background: linear-gradient(to right, #FFB76B 0%, #FFA73D 30%, #FF7C00 60%, #FF7F04 100%);
}

.highlight-br {
    background: linear-gradient(to right, #ca5e08 0%, #de0b0b 30%, #e8b82b 60%, #e65024 100%);
}

.highlight-b {
    background: linear-gradient(to right, #5c08ca 0%, #528edb 30%, #666cc4 60%, #95a7ff 100%);
}

.highlight-bb {
	background: linear-gradient(to right, #b691e7 0%, #bad3f2 30%, #bec2f6 60%, #e5bdd6 100%);
}

.highlight-gray {
    background: linear-gradient(to right, hsl(31 0% 71% / 1) 0%, hsl(33 0% 62% / 1) 30%, hsl(0deg 0% 31.71%) 60%, hsl(29 0% 51% / 1) 100%);
}

/* ============================================================= */
/* --- Stile per "Pillole" Animate --- */
/* ============================================================= */

/* Animazione di pulsazione per lo sfondo */
@keyframes pillPulse {
    0%, 100% {
        opacity: 0;
    }
    50% {
        opacity: 0.5;
    }
}

/* Stile di base comune per tutte le pillole */
.pill-brightblue,
.pill-brightred,
.pill-darkred {
    position: relative;
    display: inline-block;
    font-weight: bold;
    color: #ffffff;
    padding: 5px 15px;
    margin-bottom: 10px;
    z-index: 1; /* Mantiene il testo sopra lo sfondo */
}

/* * Lo sfondo animato viene applicato tramite uno pseudo-elemento ::before
 * per non interferire con il contenuto testuale.
 */
.pill-brightblue::before,
.pill-brightred::before,
.pill-darkred::before {
    content: "";
    position: absolute;
    inset: 0; /* Shorthand per top, right, bottom, left = 0 */
    border-radius: 30px;
    z-index: -1; /* Posiziona lo sfondo dietro al testo */
    animation: pillPulse 13s ease-in-out infinite;
}

/* Sfondi specifici per ogni tipo di pillola */
.pill-brightblue::before {
    background: linear-gradient(to right, #5c08ca 0%, #528edb 30%, #666cc4 60%, #95a7ff 100%);
}

.pill-brightred::before {
    background: linear-gradient(to right, #ff1c1c 0%, #ff4f4f 30%, #ff6a6a 60%, #ff8a8a 100%);
}

.pill-darkred::before {
    background: linear-gradient(to right, #5e0000 0%, #7c0c0c 30%, #a31313 60%, #c91b1b 100%);
}


/* ============================================================= */
/* --- Stili per Sfondi con Effetto "Vetro Sfocato" --- */
/* ============================================================= */
/*
 * NOTA: L'uso di !important è aggressivo. È stato mantenuto perché
 * probabilmente necessario per sovrascrivere gli stili di Divi, ma
 * va usato con cautela.
 */
.blur-bg {
    background-color: rgb(117 139 150 / 9%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-2 {    
    background-color: rgb(117 139 150 / 1%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-t {    
    background-color: rgb(117 139 150 / 0%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-nav {
    background-color: rgb(15 15 15 / 59%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

.blur-bg-dark {    
    background-image: linear-gradient(180deg, #000000c7 0%, #00151fcf 99%) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

/* Stile sfocato solo per la visualizzazione mobile */
@media (max-width: 1366px) {
    .blur-bg-t-mobileonly {
        background-color: rgb(117 139 150 / 0%) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
    }
}


/* ============================================================= */
/* --- Stili di Utility Minori --- */
/* ============================================================= */

.color-callout {padding:1rem;
border-radius:.75rem;
background: linear-gradient(90deg, rgba(42, 123, 155, 0.35) 0%, rgba(87, 199, 133, 0.32) 50%, rgba(237, 221, 83, 0.35) 100%);}

    .shine-on {
      position: relative;
      overflow: hidden;
      border: 3px solid transparent;
      border-radius: .75rem;
      z-index: 1;
    }
    .shine-on:before {
          content: '';
    position: absolute;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
    border-radius: .75rem;
    background: linear-gradient(90deg, rgba(198, 255, 221, 0) 0%, rgba(251, 215, 134, 0.1) 50%, rgba(247, 121, 125, 0) 100%);
    z-index: -1;
    animation: shine-move 6s linear infinite;
    }

    @keyframes shine-move {
      0% { transform: translateX(-100%); }
      100% { transform: translateX(100%); }
    }


a.iubenda-tp-btn.iubenda-cs-preferences-link {display:none !important;}

/* --- HEADER NEI SINGOLI ARTICOLI --- */
/* Aggancia l'header al viewport anche prima dello scroll */
.single-post #et-boc .et-l--header .sticky-dark-header {
  position: fixed !important;
  top: 0 !important;               /* oppure 32px se sei loggato con la admin bar */
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 100% !important;
  z-index: 100000 !important;
}

/* Se sei loggato, compensa la admin bar di WP */
body.admin-bar.single-post #et-boc .et-l--header .sticky-dark-header {
  top: 32px !important;
}

/* Neutralizza l’impostazione absolute che Divi spara su quel template */
.single-post #et-boc .et-l--header .et_pb_section_0_tb_header.et_pb_section--absolute {
  position: fixed !important;
}



/*FOOTER LISTS*/
/* Removes default padding, margin, and list-style from all levels */
.footer-list ul, ol {
  list-style: none; /* Removes bullets or numbers */
  padding-left: 0;   /* Removes left padding */
  margin-left: 0;    /* Removes left margin */
	margin-top:10px;}
.footer-list ul li {margin-top:10px;}

.dica-item-content {
    margin-top: 15px;
}

/* CUSTOM ROWS */

/* FLEX CONTENT SPLITS */

.fl-flex-content-split {
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:center;
gap:20px;
}

.fl-flex-content-split-start {
display:flex;
flex-direction:row;
flex-wrap:wrap;
align-items:start;
gap:20px;
}

@media (max-width: 1366px) {
	.fl-flex-content-split-start {
display:block;}
}

/*IMAGE HELPERS*/
.pac_dih__description {margin-top:10px;}

/*handler css per i simboli speciali */
.reg-symbol {
  font-size: 0.55em !important;
  position: relative !important;
  top: -0.6em !important;
  line-height: 0 !important;
  vertical-align: baseline !important;
  font-weight: normal !important;
  display: inline-block !important;
}


/* ============================================================= */
/* --- Sistema di Tipografia Fluida (Clamped Font Sizes) --- */
/* ============================================================= */

/* --- 1. Variabili Globali per l'Interlinea --- */
/* Usiamo valori senza unità per una migliore scalabilità. */
:root {
--lh-display-desktop: 1.06;
--lh-display-tablet:  1.10;
--lh-display-phone:   1.12;

--lh-standard-desktop: 1.20;
--lh-standard-tablet:  1.22;
--lh-standard-phone:   1.24;

--lh-sub-desktop: 1.28;
--lh-sub-tablet:  1.30;
--lh-sub-phone:   1.32;
}

/* --- 2. Stili di Base per i Moduli con Classe .clamped --- */
/* Normalizza i margini e forza l'ereditarietà dell'interlinea. */
.clamped.display-heading h1,
.clamped.display-heading h2,
.clamped.display-heading h3,
.clamped.display-heading p,
.clamped.standard-heading h1,
.clamped.standard-heading h2,
.clamped.standard-heading h3,
.clamped.standard-heading p,
.clamped.sub-heading h2,
.clamped.sub-heading h3,
.clamped.sub-heading h4,
.clamped.sub-heading p {
    line-height: inherit !important; /* Sovrascrive l'interlinea di Divi */
    margin-top: 0.2em;
    margin-bottom: 0.2em;
}

/* --- 3. Definizioni delle Dimensioni Fluide del Testo --- */
.clamped.display-heading h1,
.clamped.display-heading h2,
.clamped.display-heading h3,
.clamped.display-heading p {
    font-size: clamp(28px, 4vw, 86px) !important;
    font-weight: 600 !important;
}

.clamped.display-heading.thin h1,
.clamped.display-heading.thin h2,
.clamped.display-heading.thin h3,
.clamped.display-heading.thin p {
    font-size: clamp(28px, 4vw, 86px) !important;
    font-weight: 200 !important;
}

.clamped.display-heading.normal h1,
.clamped.display-heading.normal h2,
.clamped.display-heading.normal h3,
.clamped.display-heading.normal p {
    font-size: clamp(28px, 4vw, 86px) !important;
    font-weight: 400 !important;
}

.clamped.standard-heading h1,
.clamped.standard-heading h2,
.clamped.standard-heading h3,
.clamped.standard-heading p {
    font-size: clamp(26px, 4vw, 43px) !important;
    font-weight: 600 !important;
}

.clamped.sub-heading h2,
.clamped.sub-heading h3,
.clamped.sub-heading h4,
.clamped.sub-heading p {
    font-size: clamp(24px, 2vw, 46px) !important;
    font-weight: 600 !important;
}

.clamped-post-content.sub-heading-post-content h2
 {
    font-size: clamp(22px, 1.5vw, 26px) !important;
    font-weight: 600 !important;
}

.clamped-post-content.sub-heading-post-content h3,
.clamped-post-content.sub-heading-post-content h4
 {
    font-size: clamp(19px, 1vw, 22px) !important;
    font-weight: 600 !important;
	 margin-top:20px;
	 margin-bottom:20px;
}


/* --- 4. Applicazione dell'Interlinea per ogni Breakpoint --- */

/* Desktop (≥ 981px) */
@media (min-width: 981px) {
    .clamped.display-heading h1, .clamped.display-heading h2, .clamped.display-heading h3, .clamped.display-heading p {
        line-height: var(--lh-display-desktop) !important;
    }
    .clamped.standard-heading h1, .clamped.standard-heading h2, .clamped.standard-heading h3, .clamped.standard-heading p {
        line-height: var(--lh-standard-desktop) !important;
    }
    .clamped.sub-heading h2, .clamped.sub-heading h3, .clamped.sub-heading h4, .clamped.sub-heading p {
        line-height: var(--lh-sub-desktop) !important;
    }
}

/* Tablet (768px – 1366px) */
@media (min-width: 768px) and (max-width: 1366px) {
    .clamped.display-heading h1, .clamped.display-heading h2, .clamped.display-heading h3, .clamped.display-heading p {
        line-height: var(--lh-display-tablet) !important;
    }
    .clamped.standard-heading h1, .clamped.standard-heading h2, .clamped.standard-heading h3, .clamped.standard-heading p {
        line-height: var(--lh-standard-tablet) !important;
    }
    .clamped.sub-heading h2, .clamped.sub-heading h3, .clamped.sub-heading h4, .clamped.sub-heading p {
        line-height: var(--lh-sub-tablet) !important;
    }
}

/* Telefono (≤ 767px) */
@media (max-width: 767px) {
    .clamped.display-heading h1, .clamped.display-heading h2, .clamped.display-heading h3, .clamped.display-heading p {
        line-height: var(--lh-display-phone) !important;
    }
    .clamped.standard-heading h1, .clamped.standard-heading h2, .clamped.standard-heading h3, .clamped.standard-heading p {
        line-height: var(--lh-standard-phone) !important;
    }
    .clamped.sub-heading h2, .clamped.sub-heading h3, .clamped.sub-heading h4, .clamped.sub-heading p {
        line-height: var(--lh-sub-phone) !important;
    }
}


/* ============================================================= */
/* --- Stili Generali per Contenuti --- */
/* ============================================================= */

/*Mobile Side by Side buttons*/
@media (max-width: 767px) {
.mobile-sidebside .et_pb_button_module_wrappers {display:flex !important; justify-content:center; gap:20px; width:80%; margin:auto;}
  .et_pb_button_one {width:unset;
margin-bottom:0px !important;
margin-top:0px !important;}
  .et_pb_button_two {width:unset;
margin-bottom:0px !important;
margin-top:0px !important;}
	
	.mobile-sidebside-inbox .et_pb_button_module_wrappers {display:flex !important; justify-content:center; gap:20px; width:100%; margin:auto;}
  .et_pb_button_one {width:unset;
margin-bottom:0px !important;
margin-top:0px !important;}
  .et_pb_button_two {width:unset;
margin-bottom:0px !important;
margin-top:0px !important;}

}



/* Stili applicati solo ai link e blockquote nel contenuto principale della pagina/post */
.et_pb_post_content a {
    text-underline-offset: 3px;
}

.et_pb_post_content blockquote {
    border-left: 1px solid;
    border-top-left-radius: 0.75rem;
    border-bottom-left-radius: 0.75rem;
}

/* ============================================================= */
/* --- Gestione testi complessi in modulo codice --- */
/* ============================================================= */

/* Stile per i paragrafi principali della sezione "Visione" */
.testo-visione {
  font-family: 'Proxima Nova Regular', Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.5em;
  color: #fcfcfc;
  text-align: left;
}

/* Contenitore del blocco firma */
.blocco-firma {
  position: relative;
  text-align: right;
}

/* Immagine della firma */
.firma-immagine {
  position: absolute;
  bottom: 35px;
  right: 90px;
  z-index: 1;
  opacity: 0.9;
}

/* Contenitore del testo della firma */
.firma-testo {
  position: relative;
  z-index: 2;
}

/* Nome nel blocco firma */
.firma-nome {
  font-weight: 800;
  font-size: 22px;
  margin-bottom: 10px;
  color: #fcfcfc;
}

/* Titolo/Pill nel blocco firma */
.firma-titolo {
  display: inline-block;
  border-radius: 30px;
  background-color: black;
  color: white;
  padding: 5px 15px;
  font-size: 13px;
  white-space: nowrap;
}

/* ============================================================= */
/* --- Effetto Sfondo Animato (Glowing Lights) - PRODUZIONE --- */
/* ============================================================= */

/* Tutti i gradient layer, dark e bright, devono essere puramente visivi */
.gradient-wrapper,
.gradient-wrapper *,
.gradient-layer {
  pointer-events: none !important;
}


/* Contenitore principale che riceve la sfocatura dallo script */
.gradient-wrapper {
    position: absolute;
    inset: 0;
    overflow: hidden;
    z-index: 1;
}

/* Solleva il contenuto di Divi sopra i gradienti */
.et_pb_section.dark-color-back .et_pb_row {
    position: relative;
    z-index: 2;
}

/* Stile base per i singoli livelli (senza stili specifici) */
.gradient-layer {
    position: absolute;
    border-radius: 50%;
    will-change: opacity, transform;
    transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -50%);
    animation: subtleDrift 30s ease-in-out infinite alternate;
}




/* Animazioni */
.gradient-layer:nth-child(2n) { animation-duration: 45s; }
.gradient-layer:nth-child(3n) { animation-duration: 40s; }
.gradient-layer:nth-child(4n) { animation-direction: alternate-reverse; }
.gradient-layer:nth-child(5n) { animation-duration: 35s; }

@keyframes subtleDrift {
    0%   { transform: translate(-45%, -55%); }
    100% { transform: translate(-55%, -45%); }
}
