/* Correzioni che sostituiscono il lavoro del JavaScript di Wix */
li[id$="__more__"]{display:none}

/* ---- Galleria a scorrimento orizzontale (sostituisce lo slider di Wix) ---- */
.fg-gal{position:relative;width:100%;height:100%;overflow:hidden}
.fg-gal-scroll{display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}
.fg-gal-scroll::-webkit-scrollbar{display:none}
.fg-gal-item{flex:none;height:100%;margin:0 -.5px;scroll-snap-align:center;overflow:hidden}
.fg-gal-item img{display:block;width:100%;height:100%;object-fit:cover}
.fg-gal-nav{position:absolute;top:calc(50% - 19.75px);width:23px;height:39px;padding:0;border:0;background:none;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:.9;z-index:2}
.fg-gal-nav[hidden]{display:none}
.fg-gal-next{right:22.5px}.fg-gal-prev{left:22.5px}
.fg-gal-nav svg{display:block}.fg-gal-nav path{fill:#fff}
.fg-gal-nav.drop-shadow{filter:drop-shadow(0 0 2px rgba(0,0,0,.45))}
.fg-gal-nav:hover{opacity:1}
.wixGuard{display:inline}

/* ---- Fisarmonica del curriculum: voci chiuse all'inizio ---- */
.fg-acc-box{visibility:hidden!important;overflow:clip!important;height:0!important;width:0!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;position:absolute!important}
[data-acc] .wixui-vector-image{transition:transform .3s ease-in-out}
.fg-acc-ico{transform:rotate(180deg)}

/* ---- Modulo contatti e mappe ---- */
[data-ok].fg-visible{visibility:visible!important}
.fg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.fg-form-err{margin:12px 0 0;color:#b00020;font:14px/1.4 Arial,sans-serif}
.fg-form-err[hidden]{display:none}
.fg-map{display:block;width:100%;height:100%;border:0}

/* ---- Pulsanti delle tecnologie: al passaggio del mouse si riempiono come tutti gli altri (nel sito originale diventavano bianchi) ---- */
.comp-lju3n2ve,.comp-ljtqb1b05,.comp-ljr5uy766{--bgh:var(--color_15);--brdh:var(--color_15);--txth:var(--color_11)}

/* ---------- Rilevatore dei cookie (pagina /cookie) ---------- */
.fg-rc { margin: 24px 0; padding: 20px 24px; border: 1px solid rgba(0, 0, 0, .18); }
.fg-rc-stato { display: flex; align-items: center; gap: 12px; font-size: 1.15em; margin-bottom: 14px; }
.fg-rc-punto { flex: none; width: 12px; height: 12px; border-radius: 50%; background: #1f8a4c; box-shadow: 0 0 0 4px rgba(31, 138, 76, .18); }
.fg-rc-ko .fg-rc-punto { background: #c0392b; box-shadow: 0 0 0 4px rgba(192, 57, 43, .18); }
.fg-rc-lista { margin: 0; }
.fg-rc-riga { display: grid; grid-template-columns: minmax(180px, 38%) 1fr; gap: 6px 20px; padding: 9px 0; border-top: 1px solid rgba(0, 0, 0, .1); }
.fg-rc-riga dt { margin: 0; font-weight: 600; }
.fg-rc-riga dd { margin: 0; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.fg-rc-ora { margin: 14px 0 0; font-size: .9em; }
.fg-rc-btn { font: inherit; padding: 4px 14px; background: transparent; color: inherit; border: 1px solid currentColor; cursor: pointer; }
.fg-rc-btn:hover, .fg-rc-btn:focus-visible { background: #1a1a1a; border-color: #1a1a1a; color: #fff; }
@media (max-width: 600px) { .fg-rc { padding: 16px; } .fg-rc-riga { grid-template-columns: 1fr; gap: 2px; } }

/* Foto QUADRATE (06-11-2026, Marco: "tutte le foto devono essere quadrate in rapporto 1:1"). Cambia solo la forma del
   riquadro delle foto di home, elenco del blog e articoli, a ogni larghezza: le sezioni si adattano alla foto quadrata
   (niente altezza minima a tutto schermo) e il testo resta centrato accanto. Apertura a tutto schermo e loghi esclusi. */
:is(#comp-ljie1tjn, #comp-ljie1tlk1, #comp-ljie1tkz5, #comp-ljie1tn37, #comp-ljie1tnf3, #comp-ljie1tq2, #comp-ljo03uz47,
  #comp-ljo07cnd1, #comp-ljo09kx81, #comp-ljo0awl55, #comp-ljmreso63, #comp-lju5jdme5, .comp-lju1z0y91, .comp-lju1z0zf,
  .comp-ljmrn5xw1, .comp-lju7v3w54) {
  --aspect-ratio: 1 !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: center !important;
}
:is(#comp-ljie1tjj, #comp-ljie1tl91, #comp-ljie1tkv5, #comp-ljie1tmt, #comp-ljie1tn57, #comp-ljie1tpr, #comp-ljo03uvq,
  #comp-ljo07cj1, #comp-ljo09kts, #comp-ljo0awgx, #comp-ljmresjm, .comp-lju1z0y5) {
  min-height: 0 !important;
  height: auto !important;
}
.comp-lju1z0y5 .comp-lju1z0y5-container { grid-template-rows: auto !important; }
/* Copertina dell'articolo: a computer la sezione e' alta meta' della sua larghezza (aspect-ratio 2/1: la foto occupa meta' larghezza, quindi
   coincide al pixel anche con la barra di scorrimento; con 50vw restavano 8 px bianchi sopra e sotto) e la riga in
   alto si allunga, cosi' etichetta e titolo restano in basso a sinistra e il menu sopra la foto; al telefono la riga della
   foto segue la foto quadrata e lo spazio in piu' resta nella fascia nera del titolo, come prima. */
@media (min-width: 1001px) { #comp-lju5jdm0 { height: auto !important; aspect-ratio: 2 / 1 !important; min-height: 0 !important; max-height: none !important; grid-template-rows: 1fr max-content !important; } }
@media (max-width: 1000px) { #comp-lju5jdm0 { grid-template-rows: 1fr max-content auto !important; } #comp-lju5jdme5 { align-self: start !important; } }
/* Titoli della testata: niente parole spezzate a capo (site.js rimpicciolisce il titolo se la parola non sta). */
#comp-lju5jdm86 h1 { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }
/* Etichetta sopra il titolo della testata: sta su una riga sola (il suo riquadro era stretto e "Approfondimenti" andava a
   capo spezzato); se non sta, site.js la rimpicciolisce. */
#comp-lju5jdmb { width: max-content !important; max-width: 90% !important; }
#comp-lju5jdmb h2 { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; white-space: nowrap !important; }

/* Pagine di raccolta (blog, patologie, tecnologie), 06-11-2026 richiesta di Marco: la foto che sta a SINISTRA del testo
   si specchia, cosi' i volti guardano verso il testo; quella a destra resta com'e'. Solo quando foto e testo sono
   affiancati (dal 751 px in su): al telefono la foto sta sopra il testo e non si tocca. Escluse le locandine degli
   eventi (07514a_, hanno le scritte) e la radiografia del torace della scoliosi (il cuore finirebbe a destra). */
@media (min-width: 751px) {
  :is(.comp-lju1z0y91, .comp-ljty436s5, .comp-ljttl3aw) img:not([src*="07514a_"]):not([src*="7e022e_5da31095c27c4f0fa46a0e944a3287a8"]) {
    transform: scaleX(-1);
  }
}

/* ---- Anteprime articoli blog sempre quadrate (1:1) ---- */
/* home (ultimi articoli), post (correlati), tecnologia e patologia (articoli correlati) */
.comp-ljmrn5xw1,.comp-lju7v3w54,.comp-lju8nidd,.comp-lju83mve4{--aspect-ratio:1 !important;aspect-ratio:1/1 !important;height:auto !important}
/* pagina /blog: scheda a due colonne, immagine quadrata */
.comp-lju1z0y5{height:auto !important;min-height:0 !important}
.comp-lju1z0y91{height:auto !important;aspect-ratio:1/1 !important;align-self:center !important}
@media screen and (max-width:1000px){.comp-lju1z0y5 .comp-lju1z0y5-container{grid-template-rows:auto auto !important}.comp-lju1z0y91{height:auto !important;width:100% !important}}

/* Spazio dopo il titolo delle sole raccolte Patologie e Tecnologie:
   desktop: 50px esistenti + 80px = 130px, come il Blog senza inserire filtri.
   Su schermi piccoli lo spazio aggiuntivo si dimezza. */
#comp-ljty4364, #comp-ljtt33kj { margin-block-start: 80px !important; }
@media (max-width: 1000px) {
  #comp-ljty4364, #comp-ljtt33kj { margin-block-start: 40px !important; }
}
/* Bordo sotto lo spazio delle raccolte: come #comp-lju4369x nel Blog.
   Sovrapposto al bordo iniziale della sezione, senza spostare i contenuti. */
#comp-ljty4364, #comp-ljtt33kj { position: relative; }
#comp-ljty4364::before, #comp-ljtt33kj::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  border-top: 1px solid #979797;
  z-index: 2;
  pointer-events: none;
}
/* Header mobile: la sezione era più larga del viewport (411px su 390) e il margine destro del menu finiva fuori schermo. Così il respiro a destra dell'hamburger è uguale a quello a sinistra della scritta (5% del viewport). */
@media (max-width: 750px) { #comp-ljie1tqo_r_comp-kbgajy18 { max-width: 100vw !important; } }


/* Mobile: il blocco di testo delle pagine patologia (#comp-ljqyi4gb) e tecnologia (#comp-ljslf1vf) era largo il 90% ma allineato a sinistra (0 a sinistra, 10% a destra). Centrato: 5% per lato, come header e hamburger. */
@media (max-width: 750px) { #comp-ljqyi4gb, #comp-ljslf1vf { justify-self: center !important; margin-left: auto !important; margin-right: auto !important; } }


/* Mobile: l'header fisso di Wix (e i suoi pinned-layer) era largo 411px su schermi da 390 e creava scorrimento orizzontale. Limitato al viewport + clip orizzontale sulla pagina. */
@media (max-width: 750px) { html, body { overflow-x: clip !important; max-width: 100% !important; } header, [id$="-pinned-layer"], #comp-ljie1tq4, #comp-ljie1tqo { max-width: 100vw !important; } }


/* 09-11-2026 richiesta di Marco: in nessun titolo una parola va spezzata a meta' (es. 'Pro/f.', 'Giorda/no.'); se non sta, site.js rimpicciolisce il titolo. */
h1, h2, h3, h1 *, h2 *, h3 * { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }
/* 09-11-2026 Curriculum su schermi stretti: 'Prof.' non finisce sotto la barra in alto e 'Giordano.' resta dentro lo schermo. */
@media screen and (max-width: 1000px) {
  #comp-ljo6wzcj { margin-top: 96px !important; }
  #comp-ljo6wzcj h2, #comp-ljo6wzcj h2 * { font-size: clamp(24px, 6vw, 40px) !important; }
  #comp-ljo6dndh h1, #comp-ljo6dndh h1 * { font-size: clamp(36px, 12.5vw, 110px) !important; line-height: 1.1 !important; }
}
