/* Ricostruzione dell'aspetto RocketTheme rt_salient (Gantry 5) del vecchio sito Joomla.
   Colori da rt_salient _colors.scss. */
:root{
  --accent:#742d2e;
  --accent-dark:#5a2324;
  --accent-light:#9a4a45;
  --base-bg:#ffffff;
  --base-text:#888888;
  --header-text:#212121;
  --nav-text:#a8a8a8;
  --utility-bg:#111111;
  --utility-text:#999999;
  --feature-bg:#111111;
  --feature-text:#999999;
  --footer-bg:#383838;
  --copyright-bg:#262626;
  --main-text:#686868;
  --grigio-logo:#8a8a8a;
  --font:'Open Sans','Segoe UI',Arial,sans-serif;
  --radius:3px;
  --max:1200px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.7;color:var(--main-text);background:var(--base-bg);-webkit-font-smoothing:antialiased;overflow-wrap:break-word}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;transition:color .2s}
a:hover{color:var(--accent-dark)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
h1,h2,h3{font-family:"Jost",var(--font);color:var(--header-text);font-weight:500;line-height:1.3;margin:0 0 .75rem}
h1{font-size:2.2rem}
h2{font-size:1.6rem;margin-top:2.2rem}
h3{font-size:1.25rem;margin-top:1.6rem}
p,ul,ol{margin:0 0 1rem}
ul,ol{padding-left:1.5rem}
li{margin-bottom:.4rem}
.salta{position:absolute;left:-9999px;top:0}
.salta:focus{left:0;background:var(--accent);color:#fff;padding:.5rem 1rem;z-index:999}
.contenitore{max-width:var(--max);margin:0 auto;padding:0 16px}
.icona{width:1em;height:1em;flex:none;fill:currentColor;vertical-align:-.125em}

/* barra rossa in alto */
.barra-info{background:var(--accent);color:#fff;font-size:.82rem;padding:.5rem 0}
.barra-info .contenitore{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.3rem 1.5rem}
.barra-info a{color:#fff}
.barra-info a:hover{text-decoration:underline;color:#fff}
.barra-info span{display:inline-flex;align-items:center;gap:.4rem}

/* testata bianca */
.testata{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.testata-in{max-width:var(--max);margin:0 auto;padding:.8rem 16px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.marchio{display:flex;align-items:center;gap:.7rem;color:var(--header-text)}
.marchio:hover{color:var(--header-text)}
.logo{width:58px;height:58px;flex:none}
.marchio-testo{display:flex;flex-direction:column;line-height:1.2}
.marchio-nome{font-family:"Jost",var(--font);font-weight:400;font-size:2rem;line-height:1.05;color:var(--accent);letter-spacing:.005em}
.marchio-sotto{font-family:"Jost",var(--font);font-size:.86rem;color:#999;margin-top:2px}
.menu-btn{display:none;background:none;border:0;padding:.5rem;cursor:pointer;color:var(--header-text)}
.menu-btn:hover{color:var(--accent)}
.hamburger{display:flex;flex-direction:column;gap:5px}
.hamburger span{display:block;width:24px;height:2px;background:currentColor;border-radius:2px}
.nav ul{list-style:none;margin:0;padding:0}
.nav>ul{display:flex;align-items:center}
.nav li{position:relative;margin:0}
.nav a{display:block;padding:.6rem .7rem;color:var(--header-text);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap}
.nav a:hover,.nav a[aria-current=page],.nav li.attivo>a{color:var(--accent)}
.nav .sotto{display:none;position:absolute;top:100%;left:0;min-width:240px;background:#fff;box-shadow:0 4px 16px rgba(0,0,0,.12);border-top:2px solid var(--accent);border-radius:0 0 var(--radius) var(--radius);z-index:200}
.nav li:hover>.sotto,.nav li:focus-within>.sotto{display:block}
.nav .sotto a{padding:.6rem 1.2rem;text-transform:none;letter-spacing:0;font-weight:400;font-size:.85rem;color:var(--main-text);border-bottom:1px solid rgba(0,0,0,.05)}
.nav .sotto a:hover{background:#f9f9f9;color:var(--accent)}
@media (max-width:1100px){
  .menu-btn{display:block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;box-shadow:0 6px 12px rgba(0,0,0,.12);max-height:calc(100vh - 80px);overflow-y:auto}
  .nav.aperto{display:block}
  .nav>ul{flex-direction:column;align-items:stretch;padding:.5rem 16px 1rem}
  .nav a{border-bottom:1px solid rgba(0,0,0,.06);padding:.75rem 0;white-space:normal}
  .nav .sotto{display:block;position:static;box-shadow:none;border:0;min-width:0;padding-left:1rem}
  .nav .sotto a{padding:.55rem 0}
}

/* pulsanti */
.btn{display:inline-block;padding:.7rem 1.8rem;background:var(--accent);color:#fff;border-radius:var(--radius);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;box-shadow:1px 1px 1px rgba(0,0,0,.1);transition:background .2s}
.btn:hover{background:var(--accent-light);color:#fff}
.btn-bordo{display:inline-block;padding:.65rem 1.6rem;border:2px solid #fff;color:#fff;border-radius:var(--radius);font-size:.85rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}
.btn-bordo:hover{background:#fff;color:var(--accent)}

/* slideshow home a blocchi, come rt_salient fp-slideshow-blocks */
.slideshow{background:#fff url(../img/sfondo-mosaico.jpg) center/cover no-repeat;padding:2rem 0}
.slide-griglia{display:grid;grid-template-columns:1fr 2fr 1fr;gap:12px}
.colonna-blocchi{display:grid;grid-template-rows:1fr 1fr;gap:12px}
.blocco{display:flex;flex-direction:column;justify-content:flex-end;padding:1.4rem;border-radius:var(--radius);color:#fff;min-height:170px;position:relative}
.blocco:hover{color:#fff}
.blocco-rosso{background:var(--accent)}
.blocco-rosso:hover{background:var(--accent-dark)}
.blocco-scuro{background:var(--utility-bg)}
.blocco-scuro:hover{background:#222}
.blocco-grigio{background:var(--grigio-logo)}
.blocco-grigio:hover{background:#777}
.blocco .grande{font-size:2.4rem;font-weight:700;line-height:1}
.blocco .medio{font-size:1.5rem;font-weight:600;line-height:1.15}
.blocco .piccolo{font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;margin-top:.4rem;opacity:.9}
.blocco .icona-blocco{position:absolute;top:1.2rem;right:1.2rem;width:34px;height:34px;fill:#fff;opacity:.9}
.slider{position:relative;background:#fff;border-radius:var(--radius);overflow:hidden;min-height:360px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}
.slide.attiva{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-testo{position:absolute;left:0;right:0;bottom:0;background:rgba(17,17,17,.78);color:#fff;padding:1rem 1.3rem}
.slide-testo h2{color:#fff;font-size:1.25rem;margin:0}
.slide-testo p{margin:.2rem 0 0;font-size:.9rem;color:#ddd}
.punti{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:2}
.punti button{width:12px;height:12px;border-radius:50%;border:2px solid var(--accent);background:#fff;padding:0;cursor:pointer}
.punti button[aria-current=true]{background:var(--accent)}
@media (max-width:900px){
  .slide-griglia{grid-template-columns:1fr 1fr}
  .slider{grid-column:1/-1;grid-row:1;min-height:320px}
}
@media (max-width:520px){
  .slide-griglia{grid-template-columns:1fr}
  .colonna-blocchi{grid-template-rows:auto;grid-template-columns:1fr 1fr}
  .blocco{min-height:130px;padding:1rem}
  .blocco .grande{font-size:1.8rem}
  .blocco .medio{font-size:1.15rem}
}

/* fascia slogan rossa */
.slogan{background:var(--accent);color:#fff;padding:2.2rem 0;text-align:center}
.slogan h2{color:#fff;margin:0 0 .5rem;font-size:1.6rem}
.slogan p{color:rgba(255,255,255,.92);max-width:760px;margin:0 auto}

/* sezioni scure */
.utility{background:var(--utility-bg);color:var(--utility-text);padding:3.5rem 0}
.feature{background:var(--feature-bg) center/cover no-repeat;color:var(--feature-text);padding:3.5rem 0;position:relative;border-top:1px solid #222}
.utility h2,.feature h2,.utility h3,.feature h3{color:#fff;margin-top:0}
.due-col{display:grid;grid-template-columns:1fr 1.4fr;gap:2.5rem;align-items:start}
.elenco-voci{list-style:none;padding:0;margin:0;columns:2;column-gap:1.5rem}
.elenco-voci li{break-inside:avoid;margin:0 0 .5rem;display:flex;gap:.5rem;align-items:center}
.elenco-voci a{color:#ddd}
.elenco-voci a:hover{color:var(--accent)}
.elenco-voci .icona{color:var(--accent)}
.utility p,.feature p{font-size:1.05rem}
@media (max-width:760px){.due-col{grid-template-columns:1fr;gap:1.5rem}.elenco-voci{columns:1}}

/* mainbar home */
.mainbar{padding:3.5rem 0}
.mainbar h2{margin-top:0}
.titolo-sezione{text-align:center;margin-bottom:2.2rem}
.titolo-sezione p{max-width:680px;margin:.5rem auto 0}
.tre{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.card{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);padding:1.8rem 1.5rem;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column}
.card:hover{border-color:var(--accent);box-shadow:0 2px 8px rgba(0,0,0,.12)}
.card .numero{font-size:2rem;font-weight:700;color:var(--accent);line-height:1}
.card h3{margin:.6rem 0 .5rem;font-size:1.15rem}
.card p{font-size:.92rem}
.card .btn{margin-top:auto;align-self:flex-start;font-size:.75rem;padding:.5rem 1.2rem}
.sez-grigia{background:#f5f5f5;padding:3.5rem 0;border-top:1px solid rgba(0,0,0,.06)}
.persona h3{margin-top:0}
.persona .ruolo{font-size:.9rem;color:var(--base-text);border-bottom:2px solid var(--accent);padding-bottom:.5rem;display:inline-block}
.media-testo{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
@media (max-width:900px){.tre{grid-template-columns:1fr}}
@media (max-width:760px){.media-testo{grid-template-columns:1fr;gap:1.5rem}}

/* pagine interne */
.pagina-hero{background:var(--feature-bg);color:#fff;padding:2.6rem 0;position:relative}
.pagina-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--accent)}
.pagina-hero h1{color:#fff;font-size:2rem;margin:0}
.briciole{font-size:.8rem;color:rgba(255,255,255,.6);margin:.5rem 0 0}
.briciole a{color:rgba(255,255,255,.6)}
.briciole a:hover{color:var(--accent)}
.principale{padding-top:3rem;padding-bottom:3rem}
.area{display:flex;gap:2.5rem;align-items:flex-start}
.contenuto{flex:1 1 0;min-width:0;max-width:780px}
.laterale{flex:0 0 280px}
.occhiello{font-size:1.15rem;color:#555;border-left:4px solid var(--accent);padding-left:1rem;margin-bottom:1.8rem}
.contenuto h2:first-child{margin-top:0}
.contenuto figure{margin:1.8rem 0}
figcaption{font-size:.82rem;color:var(--base-text);margin-top:.4rem}
.figura-larga{margin:0 0 1.8rem}
.widget{background:#f9f9f9;border:1px solid rgba(0,0,0,.07);border-radius:var(--radius);padding:1.4rem;margin-bottom:1.5rem}
.widget-titolo{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--header-text);margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}
.widget ul{list-style:none;padding:0;margin:0}
.widget li{margin:0}
.widget ul a{display:block;padding:.45rem .7rem;color:var(--main-text);font-size:.9rem;border-left:3px solid transparent}
.widget ul a:hover,.widget ul a[aria-current=page]{color:var(--accent);border-left-color:var(--accent);background:rgba(116,45,46,.04)}
.widget p{font-size:.9rem;margin-bottom:.6rem}
.widget .btn{width:100%;text-align:center}
@media (max-width:900px){.area{flex-direction:column;align-items:stretch}.contenuto{width:100%;flex:none}.laterale{flex:none;width:100%}}

.tab-wrap{overflow-x:auto;margin:1.5rem 0 2rem;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.88rem;line-height:1.45}
caption{text-align:left;font-size:.85rem;color:var(--base-text);padding-bottom:.5rem}
th,td{padding:.6rem .8rem;border:1px solid rgba(0,0,0,.1);text-align:left;vertical-align:top}
thead th{background:#f5f5f5;font-weight:600;color:var(--header-text)}
tbody th{font-weight:600;color:var(--header-text);background:#fbfbfb}

.nota{border-left:5px solid var(--accent);background:#f9f9f9;padding:1rem 1.3rem;margin:1.8rem 0}
.nota p:last-child{margin:0}
.indice{list-style:none;padding:0;margin:1.2rem 0 2rem}
.indice li{margin:0 0 .6rem}
.indice a{display:block;padding:.9rem 1.1rem;border:1px solid rgba(0,0,0,.08);border-left:3px solid var(--accent);border-radius:var(--radius);color:var(--header-text);font-weight:600}
.indice a:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}
.indice a span{display:block;font-weight:400;font-size:.9rem;color:var(--base-text)}
.passi{counter-reset:p;list-style:none;padding:0}
.passi li{counter-increment:p;padding-left:2.6rem;position:relative;margin-bottom:1rem}
.passi li::before{content:counter(p);position:absolute;left:0;top:0;width:1.8rem;height:1.8rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.85rem;font-weight:600;display:flex;align-items:center;justify-content:center}
.telefono-grande{font-size:1.8rem;font-weight:600}

/* piede */
.piede{background:var(--footer-bg);color:rgba(255,255,255,.7);padding:3rem 0 2.5rem;font-size:.9rem}
.piede-griglia{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.piede h2{font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}
.piede p{margin:0 0 .5rem}
.piede ul{list-style:none;padding:0;margin:0}
.piede li{margin:0 0 .4rem}
.piede a{color:rgba(255,255,255,.75)}
.piede a:hover{color:var(--accent)}
.piede .riga-icona{display:flex;gap:.5rem;align-items:flex-start}
.piede .riga-icona .icona{color:var(--accent);margin-top:.3rem}
.copyright{background:var(--copyright-bg);color:#9a9a9a;font-size:.8rem;padding:1rem 0;border-top:3px solid var(--accent)}
.copyright .contenitore{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.copyright a{color:#bbb}
@media (max-width:760px){.piede-griglia{grid-template-columns:1fr}}
.logo-img{display:block;height:58px;width:auto}
@media (max-width:600px){.logo-img{height:42px}}
@media (max-width:600px){.marchio-nome{font-size:1.55rem}.marchio-sotto{font-size:.72rem}}
.colonna-blocchi:has(>:only-child){grid-template-rows:1fr}
@media (max-width:899px){
 .colonna-blocchi:has(>:only-child)>.blocco{grid-column:1/-1}
 .barra-info span:has(a[href^="mailto"]){display:none}
}
.orari{min-width:0!important;table-layout:fixed;border-collapse:collapse;margin:0 0 1.5rem;max-width:420px;width:100%}
.orari th,.orari td{text-align:left;padding:.45rem 0;border-bottom:1px solid #e6e6e6;font-weight:400}
.orari th{color:var(--header-text);width:40%}
.evidenza{background:#f6f1f1;border-left:4px solid var(--accent);padding:1.4rem 1.6rem .6rem;margin:2rem 0}
.evidenza h2{margin-top:0;color:var(--accent)}
.schede-prof{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin:1rem 0 2rem}
.scheda-prof{border:1px solid #e6e6e6;border-top:3px solid var(--accent);padding:1.2rem 1.3rem .4rem;background:#fff}
.scheda-prof h3{margin-bottom:.3rem}
.scheda-prof .ruolo{font-size:.9rem;color:#888;margin-bottom:.8rem}
@media (max-width:700px){.schede-prof{grid-template-columns:1fr}.evidenza{padding:1.1rem 1rem .4rem}}
.figura-destra{float:right;width:42%;max-width:340px;margin:0 0 1rem 1.5rem}
.figura-destra img{width:100%;height:auto;display:block}
.citazione{margin:1.5rem 0;padding:1rem 1.4rem;border-left:3px solid var(--accent);background:#f6f1f1;font-family:"Jost",var(--font);font-size:1.15rem;line-height:1.5;color:#3a3a3a;clear:both}
.mappa-dolore{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:1rem 0 .5rem}
.mappa-voce{margin:0;background:#fff;border:1px solid #e6e6e6}
.mappa-voce img{width:100%;height:auto;display:block}
.mappa-voce figcaption{padding:.7rem .8rem .9rem;font-size:.82rem;line-height:1.45;color:#686868}
.mappa-voce strong{display:block;color:var(--accent);font-size:.86rem;margin-bottom:.25rem}
.fonte-immagini{font-size:.8rem;color:#999}
@media (max-width:900px){.mappa-dolore{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.figura-destra{float:none;width:100%;max-width:none;margin:0 0 1rem}}
.contenuto .mappa-dolore .mappa-voce{margin:0}
.contenuto figure.figura-destra{margin:0 0 1rem 1.5rem}
@media (max-width:600px){.contenuto figure.figura-destra{margin:0 0 1rem}}
