.elementor-kit-5{--e-global-color-primary:#1C4184;--e-global-color-secondary:#54595F;--e-global-color-text:#000000;--e-global-color-accent:#E60000;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-secondary );font-size:17px;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{color:var( --e-global-color-primary );}.elementor-kit-5 h2{color:var( --e-global-color-primary );font-weight:500;}.elementor-kit-5 h3{color:var( --e-global-color-primary );font-weight:500;}.elementor-kit-5 h4{color:var( --e-global-color-primary );font-size:28px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */#qodef-related-posts {
    margin: 5% 5% 5% 5%;
}

/* ==== home ==== */
/* ============================================================
   Casa di Cura Santa Rita — kit Gruppo NefroCenter
   Elementor → Impostazioni sito → CSS personalizzato
   Qui NON c'è layout: griglie, sfondi, spaziature e colonne sono
   impostazioni dei container, modificabili dall'interfaccia.
   Restano solo le rifiniture che Elementor non espone come controllo.
   ============================================================ */
/* Gabbia dei contenuti. Sta qui e non nel controllo "boxed" del container perché un container
   boxed avvolge i figli in .e-con-inner e manda le griglie sul wrapper sbagliato (v. generatore). */
.sr-cage{max-width:1200px;margin-inline:auto;width:100%}
/* --- la famiglia del testo -----------------------------------------------------------------
   ⚠️ Nel mockup il corpo era `body{font-family:'Inter'}`. Qui NON si può: questo CSS carica su
      ogni pagina e riscriverebbe anche quelle vecchie. Ma senza una dichiarazione il testo
      eredita il font del TEMA: misurato con il CSS dell'avversario caricato, 39 elementi di
      testo su 54 uscivano in `-apple-system` invece che in Inter — e nessuna mia regola dava
      il font al testo. Difetto invisibile in un'anteprima che non carica l'avversario.
      Si dichiara sui wrapper che sono nostri, e da lì eredita. */
.sr-home{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}

:root{
  --blue:#1C4184; --blue-d:#1F3A70; --blue-deep:#14294F; --blue-tint:#E7EEF8;
  --sky:#4F79C4; --red:#E10717; --paper:#FFFFFF; --paper-2:#F8FAFD;
  --ink:#14202E; --ink-2:#38455A; --muted:#667488;
  --line:rgba(20,32,46,.10); --line-2:rgba(20,32,46,.06);
  --radius:20px; --radius-s:14px; --ease:cubic-bezier(.22,1,.36,1);
}
/* --- fondo di pagina (il gradiente del kit) --- */
.sr-home{background:linear-gradient(to left,#FFFFFF 0%,#FBFCFE 32%,#EFF4FA 68%,#DFE9F5 100%) no-repeat fixed}
/* --- tipografia: il tema Hello non impone nulla, la scala è nostra --- */
.sr-eyebrow .elementor-heading-title{font:600 0.78125rem 'Inter',sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:10px}
.sr-eyebrow .elementor-heading-title::before{content:"";width:26px;height:1.5px;background:var(--blue);flex:none}
.sr-h1 .elementor-heading-title{font:700 clamp(2.125rem,4.4vw,3rem)/1.05 'Manrope',sans-serif;
  letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.sr-h1 em{font-style:normal;color:var(--blue)}
.sr-h1 .brandname{color:var(--blue-deep)}
.sr-h2 .elementor-heading-title{font:700 clamp(1.875rem,3.6vw,2.875rem)/1.05 'Manrope',sans-serif;
  letter-spacing:-.025em;color:var(--ink);text-wrap:balance}
.sr-h3 .elementor-heading-title{font:700 1.25rem/1.25 'Manrope',sans-serif;letter-spacing:-.02em;color:var(--ink)}
.sr-h3-lg .elementor-heading-title{font:700 1.875rem/1.15 'Manrope',sans-serif;letter-spacing:-.02em}
.sr-h3-ed .elementor-heading-title{font:700 clamp(1.375rem,2.3vw,1.75rem)/1.15 'Manrope',sans-serif;letter-spacing:-.02em}
.sr-claim .elementor-heading-title{font:700 clamp(1.75rem,3.2vw,2.5rem)/1.08 'Manrope',sans-serif;letter-spacing:-.025em}
.sr-claim em{font-style:normal;color:var(--blue)}
.sr-tag .elementor-heading-title{font:600 0.71875rem 'Inter',sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--sky)}
.sr-sign .elementor-heading-title{font:600 0.8125rem 'Inter',sans-serif;color:var(--blue)}
.sr-no .elementor-heading-title{font:400 0.9375rem 'Manrope',sans-serif;letter-spacing:.1em;color:var(--sky)}
.sr-sn .elementor-heading-title{font:700 1.25rem 'Manrope',sans-serif;color:#AFC3E0;font-variant-numeric:tabular-nums}
.sr-lead,.sr-lead p{font-size:1.1875rem;color:var(--ink-2);max-width:46ch}
.sr-text,.sr-text p{font-size:1.09375rem;color:var(--ink-2)}
.sr-sub,.sr-sub p{font-size:1.09375rem;color:var(--ink-2);max-width:42ch}
.sr-cardtext,.sr-cardtext p{font-size:0.875rem;line-height:1.5;color:var(--muted)}
.sr-steptext,.sr-steptext p{font-size:0.96875rem;line-height:1.62;color:var(--ink-2)}
/* --- card: forma, ombra e freccia (nessun controllo 1:1 per la freccia) --- */
.sr-card{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius);
  position:relative;min-height:200px;
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}
.sr-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px -24px rgba(20,41,79,.20);border-color:var(--blue-tint)}
.sr-card::after{content:"";position:absolute;top:22px;right:22px;width:18px;height:18px;color:#b9c2cf;
  background:currentColor;transition:transform .55s var(--ease),color .55s var(--ease);
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M7 17L17 7M9 7h8v8'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'><path d='M7 17L17 7M9 7h8v8'/></svg>") center/contain no-repeat}
.sr-card:hover::after{color:var(--blue);transform:translate(3px,-3px)}
/* la card in evidenza occupa due righe: `grid-row: span` non ha un controllo per-figlio */
.sr-card-feature{grid-row:span 2;justify-content:flex-end;min-height:auto;
  background:linear-gradient(180deg,rgba(20,41,79,.12),rgba(12,28,57,.9)),
             radial-gradient(130% 80% at 80% 0%,#3360b5,var(--blue-deep))}
.sr-card-feature .elementor-heading-title{color:#fff}
.sr-card-feature .sr-h3 .elementor-heading-title{font-size:1.875rem}
.sr-card-feature .sr-tag .elementor-heading-title{color:#bcccec}
.sr-card-feature .sr-cardtext p{color:#cdd8ee}
.sr-card-feature::after{color:rgba(255,255,255,.7)}
.sr-card-feature:hover::after{color:#fff}
/* --- pastiglia icona (il widget icon nativo non ha il "tile") --- */
.sr-ic .elementor-icon{width:44px;height:44px;border-radius:12px;background:var(--blue-tint);
  display:grid;place-items:center;margin-bottom:16px}
.sr-card-feature .sr-ic .elementor-icon{background:rgba(255,255,255,.14)}
/* --- fasce scure: i titoli e i testi si schiariscono --- */
.sr-band-navy .elementor-heading-title,.sr-band-blue .elementor-heading-title{color:#fff}
.sr-band-navy .sr-eyebrow .elementor-heading-title,
.sr-band-blue .sr-eyebrow .elementor-heading-title{color:#bcccec}
.sr-band-navy .sr-eyebrow .elementor-heading-title::before{background:var(--sky)}
.sr-band-blue .sr-eyebrow .elementor-heading-title::before{background:var(--red)}
.sr-band-navy p,.sr-band-blue p{color:#c7d3ea}
/* --- contatori ---
   ⚠️ 01/10, misurato sullo staging (Elementor 4.2.4): i fogli dei widget (`widget-counter`,
      `widget-icon-list`, …) si caricano DOPO il CSS del kit, quindi a parità di specificità
      vince Elementor. `.sr-stat .elementor-counter-number-wrapper` (0,2,0) perdeva contro
      `.elementor-counter .elementor-counter-number-wrapper` (0,2,0): numeri a 69px/600.
      E `.sr-stat` c'è anche nelle pagine interne, dentro `.sr-stat-box` su fondo chiaro: la
      regola della migrazione, che viene dopo, ridipingeva di blu i numeri della banda blu.
      Qui si risale da `.sr-stats`, che esiste solo in home: (0,3,0), e nessuna collisione. */
.sr-stats .sr-stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius-s);text-align:center}
.sr-stats .sr-stat .elementor-counter-number-wrapper{font:400 2.375rem 'Manrope',sans-serif;color:#fff;
  justify-content:center;font-variant-numeric:tabular-nums}
.sr-stats .sr-stat .elementor-counter-title{font:400 0.875rem 'Inter',sans-serif;color:#b9c6e2;margin-top:6px;text-align:center}
.sr-stat-static .elementor-heading-title{font:400 2.375rem 'Manrope',sans-serif;color:#fff;letter-spacing:0}
.sr-stat-static-l p{font-size:0.875rem;color:#b9c6e2;text-align:center}
/* --- chip delle specialità (icon-list nativo reso a pastiglie) --- */
.sr-chips .elementor-icon-list-items{display:flex;flex-wrap:wrap;gap:8px}
/* Un livello in più di catena, per la stessa ragione dei contatori: `.elementor-widget
   .elementor-icon-list-item{padding:0}` e `… .elementor-icon-list-icon svg{width:var(…)}`
   sono (0,2,0)/(0,2,1) e arrivano dopo. Pastiglie senza imbottitura, icone a 14px. */
.sr-chips .elementor-icon-list-items .elementor-icon-list-item{background:var(--paper-2);border:1px solid var(--line-2);
  border-radius:100px;padding:8px 15px;transition:background .25s var(--ease),transform .25s var(--ease)}
.sr-chips .elementor-icon-list-item:hover{background:var(--blue-tint);transform:translateY(-2px)}
.sr-chips .elementor-icon-list-text{font:500 0.875rem 'Inter',sans-serif;color:var(--ink-2)}
.sr-chips .elementor-icon-list-item .elementor-icon-list-icon svg{width:13px;height:13px;fill:var(--blue)}
/* --- riga SSN --- */
.sr-ssn .elementor-icon-list-text{font:500 0.90625rem 'Inter',sans-serif;color:var(--ink-2)}
.sr-ssn .elementor-icon-list-item .elementor-icon-list-icon svg{width:17px;height:17px;fill:var(--blue)}
/* --- card contatti e azioni rapide --- */
.sr-icard,.sr-qcard{background:var(--paper);border:1px solid var(--line-2);border-radius:var(--radius);
  transition:transform .55s var(--ease),box-shadow .55s var(--ease),border-color .55s var(--ease)}
.sr-icard:hover,.sr-qcard:hover{transform:translateY(-6px);box-shadow:0 22px 48px -24px rgba(20,41,79,.20);
  border-color:var(--blue-tint)}
.sr-icard .sr-h3 .elementor-heading-title{font-size:1.125rem}
.sr-icard p{font-size:0.90625rem;line-height:1.55;color:var(--ink-2)}
.sr-icard b{color:var(--ink)}
.sr-icard a{color:var(--blue);font-weight:600}
.sr-icard-sub p{font-size:0.8125rem;line-height:1.5;color:var(--muted)}
.sr-qcard{padding:20px 22px}
.sr-qcard .elementor-icon-box-title{font:700 1rem 'Manrope',sans-serif;color:var(--ink)}
.sr-qcard .elementor-icon-box-description{font-size:0.84375rem;color:var(--muted)}
/* --- elenco editoriale ricoveri --- */
.sr-step{border-top:1px solid var(--line-2)}
.sr-step:first-child{border-top:0;padding-top:0!important}
/* --- due colonne editoriali --- */
.sr-edcol{border-top:2px solid var(--blue)}
.sr-edcol p{max-width:40ch}
/* --- banda centrata (Giornate) --- */
.sr-center{text-align:center;max-width:840px;margin-inline:auto}
.sr-center .sr-btn-row{justify-content:center}
.sr-center p{margin-inline:auto;max-width:56ch}
/* --- bottoni: forma (il colore sta negli settings del widget) --- */
.sr-btn .elementor-button,.sr-btn-ghost .elementor-button{display:inline-flex;align-items:center;gap:10px;
  font:600 0.9375rem 'Inter',sans-serif;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.sr-btn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(28,65,132,.55)}
.sr-btn-ghost .elementor-button:hover{transform:translateY(-2px)}
.sr-btn-row>.elementor-element{width:auto!important;flex:0 0 auto}
.sr-btn-col .elementor-button{width:100%;justify-content:center}
/* --- tab nativi: allineiamo l'aspetto al kit --- */
.sr-tabs .e-n-tab-title{font:600 0.9375rem 'Inter',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.sr-tabs.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"]{color:var(--blue)}
/* --- foto hero --- */
.sr-hero-ph img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:26px;
  box-shadow:0 34px 74px -32px rgba(20,41,79,.40)}
@media (max-width:960px){.sr-hero-ph img{aspect-ratio:16/10}}
/* --- parole indivisibili -------------------------------------------------------------------
   Un indirizzo e-mail o un termine clinico lungo allarga la griglia SENZA che nessun elemento
   esca dal bordo: la misura «right > innerWidth» non li trova (nOver:0) e la pagina scorre
   comunque in orizzontale. Misurato con il testo raddoppiato: 37px di scorrimento sulla home,
   colpevoli `ufficiocartellecliniche@…` (429px di min-content) e `prenotazioni@…` (399px).
   ⚠️ `grid-template-columns:minmax(0,1fr)` NON risolve: provato, restava 1477px. Il min-content
      che dimensiona la traccia si abbassa solo agendo sul TESTO. */
.sr-home,.sr-home *{overflow-wrap:break-word}

/* i titoli delle card possono anche sillabare: serve lang="it" sul documento (lo mette WP) */
.sr-h3 .elementor-heading-title,.sr-qcard .elementor-icon-box-title{hyphens:auto}

/* ==== migrazione ==== */
/* ============================================================
   Pattern introdotti dalla migrazione delle 39 pagine interne
   (sostituiscono i widget promedica/qode). Kit Gruppo NefroCenter.
   ============================================================ */

/* --- fascia CTA di gruppo (sostituisce promedica_core_call_to_action, 20 istanze) ---------- */
.sr-cta-gruppo{color:#fff;text-align:center}
.sr-cta-h .elementor-heading-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:clamp(1.5rem,3vw,2.125rem);font-weight:700;letter-spacing:-.02em;color:#fff;margin:0}
.sr-cta-in{text-align:center}
.sr-cta-gruppo .sr-btn-row{justify-content:center}
/* Elementor mette width:100% su ogni figlio di un container flex: i bottoni andrebbero a capo */
.sr-btn-row>.elementor-element{width:auto!important;flex:0 0 auto}

/* ghost su fondo scuro: la variante che serve dentro le bande blu */
.sr-btn-ghost-inv .elementor-button:hover{background:rgba(255,255,255,.12)!important;
  border-color:#fff!important}

/* --- strip loghi convenzioni (sostituisce promedica_core_image_gallery) -------------------- */
/* Non è una galleria: è una fascia di loghi partner. Altezza uniforme, colore solo sull'hover. */
.sr-loghi .sr-logo img{
  height:56px;width:auto;max-width:100%;object-fit:contain;margin-inline:auto;display:block;
  filter:grayscale(1);opacity:.72;transition:filter .25s cubic-bezier(.22,1,.36,1),
          opacity .25s cubic-bezier(.22,1,.36,1)}
.sr-loghi .sr-logo img:hover{filter:none;opacity:1}

/* --- card degli indici (sostituisce ucaddon_post_grid, 30 card su 4 griglie) --------------- */
.sr-cards-idx .sr-card-idx{
  background:#fff;border:1px solid rgba(20,32,46,.10);border-radius:20px;overflow:hidden;
  height:100%;transition:transform .3s cubic-bezier(.22,1,.36,1),
             box-shadow .3s cubic-bezier(.22,1,.36,1),border-color .3s cubic-bezier(.22,1,.36,1)}
.sr-cards-idx .sr-card-idx:hover{
  transform:translateY(-3px);border-color:rgba(28,65,132,.28);
  box-shadow:0 1px 2px rgba(20,41,79,.05),0 14px 34px -16px rgba(20,41,79,.20)}
.sr-cards-idx .sr-card-idx .elementor-image-box-img{margin:0!important;width:100%}
.sr-cards-idx .sr-card-idx .elementor-image-box-img img{
  width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.sr-cards-idx .sr-card-idx .elementor-image-box-content{padding:20px 22px 24px}
.sr-cards-idx .sr-card-idx .elementor-image-box-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.3;margin:0}
.sr-cards-idx .sr-card-idx .elementor-image-box-title a{color:#14202E;text-decoration:none}
.sr-cards-idx .sr-card-idx:hover .elementor-image-box-title a{color:#1C4184}
.sr-cards-idx .sr-card-idx .elementor-image-box-description{
  color:#667488;font-size:0.90625rem;margin-top:8px}

/* --- contatori (sostituisce promedica_core_counter) --------------------------------------- */
.sr-stat-box{
  background:#F8FAFD;border:1px solid rgba(20,32,46,.10);border-radius:14px;text-align:center}
/* ⚠️ Risale da `.sr-stat-box`: `.sr-stat` c'è anche in home (banda blu, numeri bianchi), e
      questa regola, che nel CSS di sito viene dopo, ridipingeva di blu quei numeri. (0,3,0)
      batte anche `.elementor-counter .elementor-counter-number-wrapper`, che su Elementor 4
      si carica dopo il kit (misurato il 01/10: 69px/600). */
.sr-stat-box .sr-stat .elementor-counter-number-wrapper{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:2.375rem;font-weight:400;color:#1C4184;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;justify-content:center}
/* dato statico reso identico al contatore (l'anno di fondazione non si anima: non è una crescita) */
.sr-stat-n .elementor-heading-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:2.375rem;font-weight:400;color:#1C4184;margin:0;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.sr-stat-l,.sr-stat-l p{color:#667488;font-size:0.875rem;margin:0;font-weight:500}

.sr-stat-box .sr-stat .elementor-counter-title{
  color:#667488;font-size:0.875rem;margin-top:6px;font-weight:500}

/* --- galleria sale operatorie (sostituisce qi_addons image_gallery, lightbox nativo) ------ */
.sr-gal .gallery-item img{border-radius:14px;display:block;width:100%;
  aspect-ratio:16/9;object-fit:cover}
.sr-gal .gallery{display:grid;gap:18px}

/* --- immagini editoriali (sostituisce promedica_core_single_image) ------------------------ */
/* `.elementor-widget-image img{display:inline-block}` pareggia (0,1,1) e arriva dopo: si nomina
   il widget, che porta la classe. */
.sr-img.elementor-widget-image img{border-radius:20px;display:block}

/* --- parole indivisibili (vedi il generatore della home per la misura) -------------------- */
.sr-cards-idx,.sr-cards-idx *,.sr-loghi,.sr-loghi *,.sr-form,.sr-form *{overflow-wrap:break-word}
.sr-cards-idx .elementor-image-box-title{hyphens:auto}

/* --- modulo contatti CF7 (il kit non aveva un componente form: spec DS §10) --------------- */
/* Il recapito e il reCAPTCHA restano dentro Contact Form 7: qui c'è solo l'aspetto. */
.sr-form .wpcf7-form label{
  display:block;font-size:0.84375rem;font-weight:600;color:#38455A;margin-bottom:6px}
.sr-form .wpcf7-form input:not([type=submit]),
.sr-form .wpcf7-form textarea{
  width:100%;min-height:44px;                     /* touch target minimo */
  padding:11px 14px;font:400 0.9375rem 'Inter',-apple-system,'Segoe UI',Arial,sans-serif;
  color:#14202E;background:#fff;
  border:1px solid rgba(20,32,46,.18);border-radius:12px;
  transition:border-color .2s cubic-bezier(.22,1,.36,1),box-shadow .2s cubic-bezier(.22,1,.36,1)}
.sr-form .wpcf7-form textarea{min-height:120px;resize:vertical}
.sr-form .wpcf7-form input:not([type=submit]):focus-visible,
.sr-form .wpcf7-form textarea:focus-visible{
  outline:none;border-color:#1C4184;box-shadow:0 0 0 3px rgba(28,65,132,.18)}   /* focus ring 3px */
.sr-form .wpcf7-form input[type=submit]{
  min-height:44px;padding:13px 26px;border:none;border-radius:100px;cursor:pointer;
  background:#1C4184;color:#fff;font:600 0.9375rem 'Inter',-apple-system,'Segoe UI',Arial,sans-serif;
  transition:background .25s cubic-bezier(.22,1,.36,1)}
.sr-form .wpcf7-form input[type=submit]:hover{background:#1F3A70}
.sr-form .wpcf7-not-valid-tip{color:#E10717;font-size:0.8125rem;margin-top:5px}
.sr-form .wpcf7-response-output{
  border-radius:12px;padding:12px 16px;font-size:0.875rem;border:1px solid rgba(20,32,46,.18)}

/* ==== reskin delle pagine interne ==== */
/* ============================================================
   Reskin delle pagine interne — Casa di Cura Santa Rita (kit NefroCenter)
   Va in Elementor → Impostazioni sito → CSS personalizzato.
   Qui NON c'è layout: griglie, fondi e spaziature sono impostazioni dei container.
   Restano le finiture che Elementor non espone come controllo.
   ============================================================ */

/* --- la famiglia del testo -----------------------------------------------------------------
   ⚠️ Nel mockup il corpo era `body{font-family:'Inter'}`. Qui NON si può: questo CSS carica su
      ogni pagina e riscriverebbe anche quelle vecchie. Ma senza una dichiarazione il testo
      eredita il font del TEMA: misurato con il CSS dell'avversario caricato, 39 elementi di
      testo su 54 uscivano in `-apple-system` invece che in Inter — e nessuna mia regola dava
      il font al testo. Difetto invisibile in un'anteprima che non carica l'avversario.
      Si dichiara sui wrapper che sono nostri, e da lì eredita. */
.sr-band{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}

/* --- hero di pagina ----------------------------------------------------------------------- */
.sr-hero-pag{color:#fff}
.sr-hero-pag .sr-eyebrow .elementor-heading-title{
  font-size:0.71875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#bcccec;margin:0}
.sr-hero-pag .sr-h1 .elementor-heading-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:clamp(1.875rem,4vw,2.875rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;
  color:#fff;margin:10px 0 0}
.sr-hero-pag .sr-lead,.sr-hero-pag .sr-lead p{
  color:#cdd8ee;font-size:1.125rem;max-width:62ch;margin:0}
.sr-hero-in{align-items:flex-start}

/* --- prosa delle bande -------------------------------------------------------------------- */
/* ⚠️ Qui c'era `.sr-prosa{max-width:none}`. `sr-prosa` sta SEMPRE sullo stesso container di
      `sr-cage` (226 su 42 pagine, contati il 01/10), e nel CSS di sito questa parte viene dopo
      quella della home: la regola annullava la gabbia da 1200px e il corpo andava da bordo a
      bordo (misurato su /elastosonografia/: testo a x=22, video largo 1619px). La misura del
      testo la dà già `max-width:74ch` sul paragrafo, qui sotto. Cancello in rigenera-tutto.sh. */
.sr-prosa .sr-h2 .elementor-heading-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:clamp(1.5rem,2.6vw,2rem);font-weight:700;letter-spacing:-.02em;color:#14202E;margin:0}
.sr-prosa .sr-h3 .elementor-heading-title{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:1.1875rem;font-weight:600;letter-spacing:-.01em;color:#1C4184;margin:0}
.sr-prosa .sr-text,.sr-prosa .sr-text p{color:#38455A;font-size:1.03125rem;line-height:1.75}
.sr-prosa .sr-text p{margin:0 0 14px}
.sr-prosa .sr-text p:last-child{margin-bottom:0}
.sr-prosa .sr-text ul,.sr-prosa .sr-text ol{margin:0 0 14px;padding-left:22px}
.sr-prosa .sr-text li{margin:0 0 7px;color:#38455A}
.sr-prosa .sr-text a{color:#1C4184;text-decoration:underline;text-underline-offset:2px}
.sr-prosa .sr-text a:hover{color:#1F3A70}
.sr-prosa .sr-text h3,.sr-prosa .sr-text h4,.sr-prosa .sr-text h5{
  font-family:'Manrope',-apple-system,'Segoe UI',Arial,sans-serif;
  font-size:1.1875rem;font-weight:600;color:#1C4184;margin:22px 0 8px}
.sr-prosa .sr-text strong{color:#14202E;font-weight:600}
/* Il testo tecnico è lungo: una misura leggibile conta più della larghezza disponibile.
   ⚠️ Il `max-width` va sul `<p>`, NON sul wrapper del widget. Misurato con il CSS
      dell'avversario caricato: sul wrapper la mia regola (0,2,0) perde contro
      `.e-con.e-con > .e-con-inner > .elementor-widget{max-width:100%}` di Elementor, che è
      (0,4,0) — il wrapper restava a 1392px e i 74ch erano un no-op silenzioso.
      È il pareggio che il ricettario descrive su Michelangelo, qui riconfermato.
      E il `ch` si calcola sul corpo dell'elemento stesso: misura e font vanno sullo stesso nodo.
   ⚠️ Il selettore non nomina `.elementor-widget-container`, così vale sia con l'esperimento
      «optimized markup» acceso (quel div non esiste) sia spento (qui è spento: 136 occorrenze
      misurate sul DOM servito). Pareggio n. 6 del ricettario: la catena si scrive in modo
      che valga in entrambe le forme. */
/* ⚠️ Catena MISURATA, non indovinata: la classe `.sr-text` sta sul WIDGET, e fra lei e il
      paragrafo ci sono `.elementor-widget-container` e il `<div>` del sorgente:
      `.sr-text > .elementor-widget-container > div > p`. Il mio primo tentativo usava `>p`
      e non agganciava niente — un no-op silenzioso, come quello che aveva appena corretto.
      Discendente: vale con o senza quei due nodi. */
.sr-prosa .sr-text p,.sr-prosa .sr-text ul,.sr-prosa .sr-text ol{max-width:74ch}
.sr-hero-pag .sr-lead p,.sr-hero-pag .sr-lead{max-width:74ch}

/* --- elenco documenti (DS §8: liste-link con filetto, non griglie di card bordate) -------- */
/* Le catene su `a` e sull'icona hanno un livello in più: `.elementor-widget
   .elementor-icon-list-item a{display:flex;align-items:…;font-size:inherit}` è (0,2,1) e su
   Elementor 4 arriva dopo il kit (cancello-cascata.py). */
.sr-doclist .elementor-icon-list-items{padding:0;margin:0;list-style:none}
.sr-doclist .elementor-icon-list-item{margin:0;border-bottom:1px solid rgba(20,32,46,.10)}
.sr-doclist .elementor-icon-list-item:last-child{border-bottom:0}
.sr-doclist .elementor-icon-list-items .elementor-icon-list-item a{
  display:flex;align-items:center;gap:12px;padding:15px 2px;min-height:44px;
  color:#14202E;font-size:1rem;text-decoration:none;
  transition:color .2s cubic-bezier(.22,1,.36,1),padding-left .2s cubic-bezier(.22,1,.36,1)}
.sr-doclist .elementor-icon-list-item a:hover{color:#1C4184;padding-left:6px}
.sr-doclist .elementor-icon-list-icon{color:#E10717;flex:none}
.sr-doclist .sr-doc-sub{display:block;color:#667488;font-size:0.875rem;font-weight:400;margin-top:3px}
.sr-doclist .elementor-icon-list-items .elementor-icon-list-item a{align-items:flex-start}
.sr-doclist .elementor-icon-list-icon{margin-top:3px}
.sr-doclist .elementor-icon-list-item .elementor-icon-list-icon svg,.sr-doclist .elementor-icon-list-item .elementor-icon-list-icon i{font-size:1rem}

/* --- elenco persone (DS §8: persone senza card) ------------------------------------------- */
.sr-people .elementor-icon-list-items{padding:0;margin:0;list-style:none;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:2px 24px}
.sr-people .elementor-icon-list-items .elementor-icon-list-item{margin:0;padding:8px 0;
  border-bottom:1px solid rgba(20,32,46,.06)}
.sr-people .elementor-icon-list-text{color:#38455A;font-size:0.96875rem}
.sr-people .elementor-icon-list-icon{color:#1C4184}

/* --- elenco link generico ----------------------------------------------------------------- */
.sr-links .elementor-icon-list-items{padding:0;margin:0;list-style:none}
/* (0,3,1): `.elementor-widget .elementor-icon-list-item a{display:flex}` pareggia e arriva dopo */
.sr-links .elementor-icon-list-items .elementor-icon-list-item a{color:#1C4184;text-decoration:none;padding:6px 0;display:block}
.sr-links .elementor-icon-list-item a:hover{text-decoration:underline}

/* --- video e mappa ------------------------------------------------------------------------ */
.sr-video .elementor-wrapper{border-radius:20px;overflow:hidden}
.sr-mappa iframe{border-radius:20px}

/* --- parole indivisibili (vedi il generatore della home per la misura) -------------------- */
.sr-prosa,.sr-prosa *,.sr-doclist,.sr-doclist *,.sr-people,.sr-people *{overflow-wrap:break-word}
.sr-prosa .sr-h2 .elementor-heading-title,.sr-prosa .sr-h3 .elementor-heading-title{hyphens:auto}/* End custom CSS */