/*
Theme Name: Aureli Studio Legale
Theme URI: https://www.aureli-legal.it/
Author: Aureli Studio Legale
Description: Tema del sito di Aureli Studio Legale. Caratteri ospitati in locale, nessuna risorsa di terze parti.
Version: 1.9.6
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: aureli
*/

@font-face{
  font-family:"EB Garamond";font-style:normal;font-weight:400 800;font-display:swap;
  src:url('assets/fonts/eb-garamond.woff2') format('woff2');
}
@font-face{
  font-family:"EB Garamond";font-style:italic;font-weight:400 800;font-display:swap;
  src:url('assets/fonts/eb-garamond-italic.woff2') format('woff2');
}
@font-face{
  font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;
  src:url('assets/fonts/jost.woff2') format('woff2');
}


:root{
  color-scheme: light;
  --navy:#16233A;
  --navy-scuro:#0E1727;
  --navy-soft:#4A5566;
  --crema:#F7F5F1;
  --bianco:#FFFFFF;
  --greige:#968C78;
  --greige-chiaro:#C9C0AE;
  --filetto:#E1DBD0;
  --serif:"EB Garamond","Garamond","Times New Roman",serif;
  --sans:"Jost","Futura","Trebuchet MS",sans-serif;
}
*{box-sizing:border-box}
body{
  margin:0;background:var(--crema);color:var(--navy);
  font-family:var(--serif);font-size:19px;line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
img{max-width:100%}

.wrap{max-width:1080px;margin:0 auto;padding:0 30px}
.stretto{max-width:34rem}

.occhiello{
  font-family:var(--sans);font-size:11.5px;font-weight:400;letter-spacing:.22em;
  text-transform:uppercase;color:var(--greige);margin:0 0 18px;
}
h1{font-weight:400;font-size:2.6rem;line-height:1.14;margin:0 0 20px;text-wrap:balance}
h2{font-weight:400;font-size:2.15rem;line-height:1.2;margin:0 0 24px;text-wrap:balance}
h3{font-weight:500;font-size:1.3rem;line-height:1.3;margin:0 0 12px}
p{margin:0 0 1.05em}
p:last-child{margin-bottom:0}


/* ---------- barra ---------- */
.barra{background:var(--navy);color:var(--crema);position:sticky;top:0;z-index:30}
.barra .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;flex-wrap:wrap}
.barra-marchio{display:inline-block;text-decoration:none;color:var(--crema);line-height:1}
.barra-marchio .bm-nome{display:block;font-size:1.34rem;line-height:.96;letter-spacing:.01em}
.barra-marchio .bm-sub{
  display:block;font-family:var(--sans);font-size:.42rem;font-weight:400;
  letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;
  color:var(--greige-chiaro);margin-top:.42rem;
}
.barra ul{display:flex;gap:24px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.barra a.voce{
  font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;color:var(--greige-chiaro);text-decoration:none;
  padding:4px 0;border-bottom:1px solid transparent;white-space:nowrap;
}
.barra a.voce:hover{color:var(--crema);border-bottom-color:var(--greige)}
.barra a.voce[aria-current="page"]{color:var(--crema);border-bottom-color:var(--greige-chiaro)}
.barra a.voce .stato{
  display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--greige);margin-left:7px;vertical-align:middle;opacity:.55;
}
.barra a.voce.fatta .stato{background:var(--crema);opacity:1}

/* ---------- riquadri fotografici ---------- */
.foto{
  position:relative;background:var(--navy-scuro);
  background-image:repeating-linear-gradient(135deg,rgba(201,192,174,.07) 0 1px,transparent 1px 14px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  border:1px solid rgba(201,192,174,.22);
}
.foto .didascalia{
  font-family:var(--sans);font-size:10.5px;font-weight:300;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige-chiaro);line-height:2;padding:20px;
}
.foto .didascalia strong{display:block;font-weight:500;letter-spacing:.26em;color:var(--crema)}

/* ---------- fotografie inserite ---------- */
.con-foto{
  background-size:cover;background-position:center 58%;background-repeat:no-repeat;
  background-color:var(--navy-scuro);position:relative;border:0;
}
.con-foto::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(14,23,39,.90) 0%,rgba(14,23,39,.66) 45%,rgba(14,23,39,.34) 100%);
}
.con-foto.quadrata::after{background:linear-gradient(180deg,rgba(14,23,39,.30),rgba(14,23,39,.52))}
.con-foto .credito{
  position:absolute;right:12px;bottom:10px;z-index:2;
  font-family:var(--sans);font-size:8.5px;font-weight:300;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(247,245,241,.62);
}
.testata.con-foto .contenuto{z-index:2}

/* ---------- testata home ---------- */
.testata{position:relative;min-height:485px}
.testata .contenuto{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;
  align-items:flex-start;max-width:1080px;margin:0 auto;padding:0 30px;left:0;right:0;
}
.testata .nome{
  font-weight:400;font-size:clamp(2.4rem,6vw,3.8rem);line-height:1.04;
  letter-spacing:.035em;text-transform:uppercase;color:var(--crema);margin:0;
}
.testata .sotto{
  font-family:var(--sans);font-weight:300;font-size:clamp(.8rem,1.8vw,.98rem);
  letter-spacing:.06em;color:var(--greige-chiaro);margin:16px 0 0;max-width:30rem;
}
.bottone{
  display:inline-block;font-family:var(--sans);font-size:11px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;text-decoration:none;
  color:var(--crema);border:1px solid var(--greige-chiaro);padding:13px 28px;
}
.bottone:hover{background:var(--greige-chiaro);color:var(--navy)}

/* ---------- fascia del claim ---------- */
.fascia-claim{background:var(--navy);color:var(--crema);padding:52px 0}
.fascia-griglia{
  display:grid;grid-template-columns:1fr 1.35fr;gap:56px;align-items:center;
}
.fascia-griglia .lockup{margin:0}
.fascia-griglia .lockup .nome{font-size:3.1rem;line-height:.94;display:block}
.fascia-griglia .lockup .sub{
  font-family:var(--sans);font-weight:400;font-size:.62rem;letter-spacing:.42em;
  text-indent:.42em;text-transform:uppercase;color:var(--greige-chiaro);
  display:block;margin-top:.76rem;
}
.fascia-griglia .frase{
  font-size:1.3rem;line-height:1.52;margin:0;
  border-left:1px solid rgba(201,192,174,.32);padding-left:48px;
}
@media (max-width:860px){
  .fascia-claim{padding:40px 0}
  .fascia-griglia{grid-template-columns:1fr;gap:28px}
  .fascia-griglia .frase{border-left:0;padding-left:0;font-size:1.18rem}
}

/* ---------- fascia divisa ---------- */
.divisa{display:grid;grid-template-columns:1fr 1fr;min-height:380px}
.divisa .lato-navy{
  background:var(--navy);color:var(--crema);
  display:flex;flex-direction:column;justify-content:center;padding:60px 54px;
}
.divisa .lockup{margin:0 0 24px}
.divisa .lockup .nome{font-size:3rem;line-height:.94;display:block}
.divisa .lockup .sub{
  font-family:var(--sans);font-weight:400;font-size:.6rem;letter-spacing:.42em;
  text-indent:.42em;text-transform:uppercase;color:var(--greige-chiaro);
  display:block;margin-top:.74rem;
}
.divisa .frase{font-size:1.22rem;line-height:1.55;margin:0;max-width:24rem}
.divisa .foto,.divisa .con-foto{min-height:380px}

section{padding:80px 0}
.sez-chiara{background:var(--crema)}
.sez-bianca{background:var(--bianco);border-top:1px solid var(--filetto);border-bottom:1px solid var(--filetto)}

/* ---------- intestazione pagine interne ---------- */
.intestazione{background:var(--navy);color:var(--crema);padding:60px 0 54px}
.intestazione .occhiello{color:var(--greige-chiaro)}
.intestazione h1{margin:0;color:var(--crema)}
.intestazione .briciole{
  font-family:var(--sans);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--greige-chiaro);margin:16px 0 0;
}
.intestazione .briciole a{text-decoration:none;border-bottom:1px solid rgba(201,192,174,.45)}
.intestazione .sommario{
  margin:20px 0 0;max-width:38rem;font-size:1.08rem;line-height:1.6;color:var(--greige-chiaro);
}

/* ---------- griglia delle aree ---------- */
.griglia-aree{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.box-area{
  display:flex;flex-direction:column;background:var(--bianco);
  border:1px solid var(--filetto);padding:28px 26px 24px;
  text-decoration:none;color:inherit;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.box-area .numero{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.22em;
  color:var(--greige);margin:0 0 16px;
}
.box-area h3{margin:0 0 12px;font-size:1.16rem;line-height:1.28}
.box-area .riga{font-size:.93rem;line-height:1.62;color:var(--navy-soft);margin:0 0 20px;flex:1}
.box-area .vai{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:0;
}
a.box-area:hover,a.box-area:focus-visible{background:var(--navy);border-color:var(--navy);color:var(--crema)}
a.box-area:hover .riga,a.box-area:hover .numero{color:var(--greige-chiaro)}
a.box-area:hover .vai{color:var(--crema)}
.box-area.non-attiva .vai{color:var(--greige-chiaro)}


/* ---------- professionisti ---------- */
/* I ritratti sono normalizzati dal sito: bianco e nero, stesso contrasto,
   stesso taglio 4:5. Così quattro fotografie di provenienza diversa
   leggono come una serie. */
.scheda-persona .foto img,
.foto.ritratto img{
  width:100%;height:100%;object-fit:cover;display:block;
  filter:grayscale(1) contrast(1.04) brightness(1.02);
}
.griglia-persone{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:6px}
.scheda-persona{
  display:flex;flex-direction:column;background:var(--bianco);
  border:1px solid var(--filetto);border-top:2px solid var(--navy);
  text-decoration:none;color:inherit;min-height:168px;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.scheda-persona .foto{aspect-ratio:4/5;border:0;border-bottom:1px solid var(--filetto)}
.scheda-persona .testo{padding:30px 26px 26px;display:flex;flex-direction:column;flex:1}
.scheda-persona h3{margin:0 0 6px;font-size:1.14rem}
.scheda-persona .qualifica{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:0 0 14px;
}
.vai-profilo{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:auto 0 0;padding-top:26px;
}
a.scheda-persona:hover .vai-profilo,a.scheda-persona:focus-visible .vai-profilo{color:var(--navy)}
.scheda-persona .foto{overflow:hidden}
.scheda-persona .velo{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  background:rgba(22,35,58,.66);opacity:0;transition:opacity .2s ease;
}
.scheda-persona .velo span{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.26em;
  text-transform:uppercase;color:var(--crema);
}
a.scheda-persona:hover,a.scheda-persona:focus-visible{border-color:var(--navy)}
a.scheda-persona:hover .velo,a.scheda-persona:focus-visible .velo{opacity:1}
a.scheda-persona:hover h3{color:var(--navy)}
@media (prefers-reduced-motion:reduce){.scheda-persona .velo{transition:none}}

.profilo{display:grid;grid-template-columns:240px 1fr;gap:52px;align-items:start}
.foto.ritratto{aspect-ratio:4/5}
.qualifica-profilo{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:0 0 14px;padding-bottom:14px;
  border-bottom:1px solid var(--filetto);
}
.profilo .foto.ritratto{margin-bottom:18px;overflow:hidden;background:var(--filetto)}
.profilo .foto.ritratto{border:0}
.recapiti-persona{display:flex;flex-direction:column;gap:10px;margin-top:4px}
.recapito{
  display:flex;align-items:center;gap:10px;text-decoration:none;
  font-size:.86rem;color:var(--navy);word-break:break-word;
}
.recapito:hover{color:var(--greige)}
.recapito.spento{color:var(--greige)}
.ico{width:17px;height:17px;flex:none;color:var(--greige)}
.ico-testo{
  width:17px;height:17px;flex:none;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--greige);color:var(--greige);
  font-family:var(--sans);font-size:9px;font-weight:500;letter-spacing:.02em;
}


/* ---------- contatti ---------- */
.contatti-griglia{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:start}
.elenco-recapiti{margin:0;display:grid;gap:18px}
.elenco-recapiti dt{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin-bottom:5px;
}
.elenco-recapiti dd{margin:0;font-size:1rem;line-height:1.5}

.modulo{display:flex;flex-direction:column;gap:16px}
.campo label{
  display:block;margin-bottom:6px;
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);
}
.modulo input[type="text"],.modulo input[type="email"],.modulo textarea{
  width:100%;font-family:var(--serif);font-size:1rem;color:var(--navy);
  background:var(--bianco);border:1px solid var(--filetto);border-radius:0;padding:11px 12px;
}
.modulo input:focus,.modulo textarea:focus{border-color:var(--greige)}
.consenso{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;line-height:1.5;color:var(--navy-soft)}
.consenso input{width:auto;margin-top:.32em;flex:none}
.avvertenza{font-size:.8rem;line-height:1.55;color:var(--greige);margin:0}
.esito{border-left:2px solid var(--greige-chiaro);padding-left:20px}
.esito p{margin:0 0 .7em}
.esito .occhiello{margin-bottom:.6rem}
.esito-avviso{
  font-family:var(--sans);font-size:11px;font-weight:300;line-height:1.7;
  color:var(--greige);margin-top:1.1rem;
}
.modulo button{
  align-self:flex-start;font-family:var(--sans);font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--crema);background:var(--navy);
  border:1px solid var(--navy);padding:13px 28px;cursor:pointer;
}
.modulo button:hover{background:var(--navy-scuro)}

.mappa{display:grid;grid-template-columns:1.6fr 1fr;gap:40px;align-items:center;margin-top:6px}
.mappa-riquadro{
  position:relative;background:var(--filetto);
  border:1px solid var(--filetto);overflow:hidden;
}
.mappa-riquadro img{display:block;width:100%;height:auto}
.mappa-riquadro .didascalia{
  font-family:var(--sans);font-size:10.5px;font-weight:300;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige-chiaro);line-height:2;padding:20px;
}
.mappa-riquadro .didascalia strong{display:block;font-weight:500;letter-spacing:.26em;color:var(--crema)}
.mappa-lato h3{margin:0 0 10px}
.mappa-lato p{font-size:.95rem;color:var(--navy-soft)}
.bottone.scuro{color:var(--navy);border-color:var(--navy)}
.bottone.scuro:hover{background:var(--navy);color:var(--crema)}


/* ---------- piede di navigazione delle pagine profonde ---------- */
.pie-pagina{
  display:flex;flex-wrap:wrap;justify-content:space-between;gap:18px;align-items:baseline;
  border-top:1px solid var(--filetto);max-width:1080px;margin:56px auto 0;padding:22px 30px 0;
}
.pie-pagina a{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.18em;
  text-transform:uppercase;text-decoration:none;color:var(--greige);
  border-bottom:1px solid transparent;padding-bottom:2px;
}
.pie-pagina a:hover,.pie-pagina a:focus-visible{color:var(--navy);border-bottom-color:var(--greige)}
.pie-pagina .avanti{text-align:right}
.pie-pagina .freccia{font-family:var(--serif);font-size:1.05em;letter-spacing:0}
@media (max-width:640px){ .pie-pagina{flex-direction:column;gap:12px} .pie-pagina .avanti{text-align:left} }


/* ---------- fascia «Lo Studio» in home ---------- */
.p-home .sez-chiara h2,
.p-home .sez-bianca h2{font-size:1.38rem;line-height:1.55;max-width:42rem;font-weight:400}

/* ---------- pagina Lo Studio ---------- */
.studio-griglia{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:start}
.studio-griglia h2{font-size:1.5rem;margin:0 0 16px}
.studio-griglia h2 + p{margin-top:0}
.studio-griglia .testo-area > h2:not(:first-child){margin-top:40px}
.studio-foto{aspect-ratio:4/5}
.pannello-studio{
  border-top:2px solid var(--navy);border-bottom:1px solid var(--filetto);
  padding:26px 0 30px;
}
.pannello-studio .occhiello{margin:0 0 18px}
.pannello-studio .enunciato{
  font-family:var(--serif);font-size:1.34rem;line-height:1.46;
  color:var(--navy);margin:0;
}
.sez-fatti{border-top:1px solid var(--filetto);padding-top:56px;padding-bottom:70px}
.due-colonne{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.due-colonne p{font-size:1rem;line-height:1.66;color:var(--navy-soft);margin:0}

/* ---------- pagine legali ---------- */
.p-privacy .testo-area h3,
.p-cookie .testo-area h3,
.p-note-legali .testo-area h3{
  font-family:var(--sans);font-size:11px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:2.2rem 0 .7rem;
}
.p-privacy .testo-area h3:first-child,
.p-cookie .testo-area h3:first-child,
.p-note-legali .testo-area h3:first-child{margin-top:0}
.p-privacy .testo-area p,
.p-cookie .testo-area p,
.p-note-legali .testo-area p{font-size:.97rem;line-height:1.68}

/* ---------- pagina di area ---------- */
.testo-area{max-width:40rem}
.testo-area p{margin-bottom:1.2em}
.sommario-voci{
  border-top:1px solid var(--filetto);margin-top:44px;padding-top:24px;
  font-family:var(--sans);font-size:10.5px;font-weight:300;letter-spacing:.12em;
  text-transform:uppercase;color:var(--greige);line-height:2.1;max-width:40rem;
}

.recapiti{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px}
.recapiti dt{
  font-family:var(--sans);font-size:10.5px;font-weight:400;letter-spacing:.16em;
  text-transform:uppercase;color:var(--greige);margin-bottom:6px;
}
.recapiti dd{margin:0;font-size:1rem}

.da-redigere{padding:92px 0;text-align:center}
.da-redigere .occhiello{margin-bottom:14px}
.da-redigere h2{max-width:30rem;margin:0 auto 18px}
.da-redigere p{max-width:34rem;margin:0 auto;color:var(--navy-soft);font-size:1rem}

footer{background:var(--navy);color:var(--crema);padding:54px 0 36px;font-size:.9rem}
footer a{color:var(--greige-chiaro)}
footer .alto{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px;align-items:flex-start}
footer .marchio{font-size:1.6rem;line-height:1;margin:0 0 6px}
footer .marchio-sub{
  font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;text-transform:uppercase;
  color:var(--greige-chiaro);margin:0;
}
footer .recapiti-piede{font-size:.88rem;line-height:1.95;text-align:right}
.social-piede{
  display:block;margin-top:.9rem;font-family:var(--sans);font-size:10px;font-weight:400;
  letter-spacing:.2em;text-transform:uppercase;
}
.social-piede a{text-decoration:none;border-bottom:1px solid rgba(201,192,174,.4)}
.social-piede a:hover{color:var(--crema);border-bottom-color:var(--greige-chiaro)}
.obblighi{
  border-top:1px solid rgba(201,192,174,.28);margin-top:36px;padding-top:20px;
  font-size:.78rem;line-height:1.7;color:var(--greige-chiaro);max-width:54rem;
}
.legali{
  margin-top:16px;font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--greige-chiaro);
}
.legali a{margin-right:18px;text-decoration:none;border-bottom:1px solid rgba(201,192,174,.4)}

.tbd{background:rgba(150,140,120,.16);border-bottom:1px dotted var(--greige);padding:0 3px;white-space:nowrap}
footer .tbd{background:rgba(201,192,174,.18);border-bottom-color:var(--greige-chiaro)}
.nota{
  font-family:var(--sans);font-size:11.5px;font-weight:300;line-height:1.8;
  color:var(--greige);border-left:2px solid var(--greige-chiaro);
  padding-left:16px;margin-top:32px;max-width:38rem;
}
.nota b{font-weight:500;color:var(--navy-soft)}

:focus-visible{outline:2px solid var(--greige);outline-offset:2px}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media (max-width:1000px){
  .griglia-aree{grid-template-columns:repeat(2,1fr)}
  .griglia-persone{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .griglia-aree{grid-template-columns:1fr}
  .griglia-persone{grid-template-columns:1fr}
}
@media (max-width:860px){
  body{font-size:18px}
  section{padding:56px 0}
  h1{font-size:2.05rem}
  .divisa{grid-template-columns:1fr}
  .divisa .lato-navy{padding:46px 30px}
  .divisa .foto{min-height:250px}
  .recapiti{grid-template-columns:1fr 1fr}
  .contatti-griglia{grid-template-columns:1fr;gap:44px}
  .studio-griglia{grid-template-columns:1fr;gap:32px}
  .studio-foto{max-width:300px}
  .pannello-studio{max-width:34rem}
  .due-colonne{grid-template-columns:1fr;gap:34px}
  .mappa{grid-template-columns:1fr;gap:24px}
  .mappa-riquadro{min-height:220px}
  .profilo{grid-template-columns:1fr;gap:26px}
  .foto.ritratto{max-width:260px}
  .testata{min-height:380px}
  footer .alto{flex-direction:column}
  footer .recapiti-piede{text-align:left}
  .barra .wrap{padding-top:12px;padding-bottom:12px;min-height:0}
  .barra ul{gap:14px}
}


/* ---------- immagini servite dal tema ---------- */
.testata.con-foto{background-image:url('assets/img/testata.jpg')}
.foto.ritratto.ritratto-aureli{
  background:url('assets/img/lorenzo-aureli.jpg') center/cover no-repeat;
}
.mappa-riquadro.mappa-liegi{
  background:url('assets/img/mappa.jpg') center/cover no-repeat;
  aspect-ratio:1120/700;
}

/* ---------- innesto in WordPress ---------- */
/* WordPress avvolge il contenuto in propri contenitori: qui vengono azzerati,
   e i corpi di testo del tema vengono riaffermati contro gli stili del core. */
/* Azzerati con :where(), che non pesa nella specificita': cosi' un contenitore
   che porti anche una classe del tema - .wrap, .corpo-nota - conserva la
   propria impaginazione invece di essere appiattito. */
:where(.wp-site-blocks,.wp-block-group,.wp-block-post-content,.entry-content){
  display:block;margin:0;padding:0;max-width:none;
}
:where(.wp-site-blocks > *,.entry-content > *,.wp-block-post-content > *){margin-block:0}
/* Solo i selettori di elemento: quelli di classe battono gia il core. */
body h1{font-size:2.6rem;line-height:1.14;font-weight:400;margin:0 0 20px}
body h2{font-size:2.15rem;line-height:1.2;font-weight:400;margin:0 0 24px}
body h3{font-size:1.3rem;line-height:1.3;font-weight:500;margin:0 0 12px}
body p{margin:0 0 1.05em}
body p:last-child{margin-bottom:0}
body ul,body ol{margin:0 0 1.05em}


/* =====================================================================
   Massimario e Approfondimenti
   ===================================================================== */

/* ---------- larghezza di lettura ----------
   Le pagine di sezione e le schede sono testo continuo, non impaginato a
   blocchi come il resto del sito: la colonna si restringe e va al centro,
   testata compresa, cosi' che titolo e corpo restino allineati fra loro. */
.intestazione.stretta .wrap{max-width:760px}
.colonna-lettura .wrap{max-width:760px}
.colonna-elenco .wrap{max-width:860px}
.intestazione.stretta h1{font-size:2.15rem}
.intestazione.stretta .sommario{max-width:none}

/* ---------- corpo della singola scheda ---------- */
.corpo-nota{max-width:none}
.corpo-nota .occhiello{margin:38px 0 14px}
.corpo-nota > *:first-child{margin-top:0}

.corpo-nota .estremi{
  font-family:var(--sans);font-size:11.5px;font-weight:400;letter-spacing:.14em;
  text-transform:uppercase;color:var(--navy-soft);
  padding-bottom:18px;border-bottom:1px solid var(--filetto);margin:0 0 6px;
}

.corpo-nota blockquote,
.corpo-nota .principio{
  margin:0;padding:2px 0 2px 24px;border-left:3px solid var(--navy);
  font-style:italic;font-size:1.12rem;line-height:1.6;
}
.corpo-nota blockquote p:last-child{margin-bottom:0}

.corpo-nota .massima{color:var(--navy-soft)}

.rinvio-sentenza{
  margin:40px 0 0;padding:20px 24px;background:var(--bianco);
  border:1px solid var(--filetto);border-left:2px solid var(--greige);
}
.rinvio-sentenza a{
  font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--navy);text-decoration:none;
  border-bottom:1px solid var(--greige);
}
.rinvio-sentenza a:hover{color:var(--greige)}
.rinvio-sentenza .fonte{
  display:block;margin-top:10px;font-family:var(--sans);font-size:10.5px;
  font-weight:300;letter-spacing:.04em;text-transform:none;color:var(--greige);
}

.avvertenza-scheda{
  font-family:var(--sans);font-size:11px;font-weight:300;line-height:1.8;
  color:var(--greige);border-top:1px solid var(--filetto);
  padding-top:18px;margin-top:44px;
}

/* ---------- elenco delle schede ---------- */
.elenco-note{list-style:none;margin:0;padding:0;display:grid;gap:0}
.voce-nota{border-top:1px solid var(--filetto);margin:0}
.voce-nota:last-child{border-bottom:1px solid var(--filetto)}
.voce-nota a{
  display:block;padding:30px 0 28px;text-decoration:none;color:inherit;
  transition:padding-left .18s ease,color .18s ease;
}
.voce-nota .data{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:0 0 12px;
}
.voce-nota h3{margin:0 0 10px;font-size:1.26rem;font-weight:400;line-height:1.3;max-width:44rem}
.voce-nota .riga{
  margin:0 0 16px;font-size:.96rem;line-height:1.62;color:var(--navy-soft);max-width:46rem;
}
.voce-nota .vai{
  font-family:var(--sans);font-size:10px;font-weight:400;letter-spacing:.2em;
  text-transform:uppercase;color:var(--greige);margin:0;
}
.voce-nota a:hover,.voce-nota a:focus-visible{padding-left:14px}
.voce-nota a:hover h3{color:var(--greige)}
.voce-nota a:hover .vai{color:var(--navy)}
@media (prefers-reduced-motion:reduce){.voce-nota a{transition:none}}

.nessuna-nota{color:var(--navy-soft);font-style:italic}

.pagine{
  margin-top:38px;font-family:var(--sans);font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--greige);
}
.pagine a,.pagine span{
  display:inline-block;padding:8px 12px;text-decoration:none;color:var(--navy);
}
.pagine .current{color:var(--greige);border-bottom:1px solid var(--greige)}
.pagine a:hover{color:var(--greige)}

@media (max-width:860px){
  .intestazione.stretta h1{font-size:1.85rem}
  .corpo-nota blockquote,.corpo-nota .principio{padding-left:18px}
  .voce-nota a{padding:24px 0 22px}
  .voce-nota a:hover{padding-left:0}
}


/* ---------- navigazione per materia ---------- */
.materie{margin:0 0 42px}
.materie .occhiello{margin:0 0 14px}
.materie ul{
  list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;
}
.materie a{
  display:inline-flex;align-items:baseline;gap:7px;
  font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy);text-decoration:none;
  background:var(--bianco);border:1px solid var(--filetto);padding:8px 13px;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.materie a .quante{
  font-size:9.5px;letter-spacing:.06em;color:var(--greige);
}
.materie a:hover,.materie a:focus-visible{background:var(--navy);border-color:var(--navy);color:var(--crema)}
.materie a:hover .quante{color:var(--greige-chiaro)}
.materie a.attiva{background:var(--navy);border-color:var(--navy);color:var(--crema)}
.materie a.attiva .quante{color:var(--greige-chiaro)}

/* le materie nella testata della scheda */
.intestazione .materie-nota{
  margin:14px 0 0;font-family:var(--sans);font-size:10.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--greige-chiaro);
}
.intestazione .materie-nota a{
  text-decoration:none;border-bottom:1px solid rgba(201,192,174,.45);
}
.intestazione .materie-nota a:hover{color:var(--crema);border-bottom-color:var(--crema)}

/* rinvio in calce alla scheda */
.altre-pronunce{
  margin:36px 0 0;padding-top:20px;border-top:1px solid var(--filetto);
  font-family:var(--sans);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--navy);line-height:2;
}
.altre-pronunce .etichetta{color:var(--greige);letter-spacing:.14em}
.altre-pronunce a{text-decoration:none;border-bottom:1px solid var(--greige)}
.altre-pronunce a:hover{color:var(--greige)}

@media (max-width:860px){
  .materie ul{gap:6px}
  .materie a{font-size:10px;padding:7px 11px}
}

/* =====================================================================
   ULTIME PRONUNCE — il riquadro della pagina iniziale
   ===================================================================== */

.sez-pronunce{padding:64px 0 68px}
.sez-pronunce h2.stretto{max-width:34rem;margin:0 0 30px}

.ultime-pronunce{list-style:none;margin:0;padding:0}
.ultime-pronunce li{margin:0;border-top:1px solid var(--filetto)}
.ultime-pronunce li:last-child{border-bottom:1px solid var(--filetto)}
.ultime-pronunce a{
  display:block;padding:20px 0;text-decoration:none;color:inherit;
  transition:padding-left .18s ease;
}
.ultime-pronunce .data{
  margin:0 0 6px;font-family:var(--sans);font-size:.7rem;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;color:var(--greige);
}
.ultime-pronunce h3{
  margin:0 0 8px;font-size:1.16rem;font-weight:400;line-height:1.32;max-width:44rem;
}
.ultime-pronunce .riga{
  margin:0;font-size:1rem;line-height:1.55;color:var(--navy-soft);max-width:46rem;
}
.ultime-pronunce a:hover,.ultime-pronunce a:focus-visible{padding-left:14px}
.ultime-pronunce a:hover h3{color:var(--greige)}

.rinvii-home{
  display:flex;flex-wrap:wrap;gap:12px 34px;margin:28px 0 0;
  font-family:var(--sans);font-size:.76rem;font-weight:400;
  letter-spacing:.16em;text-transform:uppercase;
}
.rinvii-home a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--greige-chiaro);padding-bottom:3px}
.rinvii-home a:hover{color:var(--greige);border-bottom-color:var(--greige)}

/* =====================================================================
   ISCRIZIONE ALLA RASSEGNA
   ===================================================================== */

.riquadro-rassegna{
  margin:56px 0 0;padding:26px 28px 22px;max-width:34rem;
  background:var(--bianco);border:1px solid var(--filetto);
  border-left:2px solid var(--greige);
}
.corpo-nota .riquadro-rassegna{margin-top:44px}

.riquadro-rassegna-testo h2{
  margin:0 0 8px;font-size:1.26rem;font-weight:400;line-height:1.3;
}
.riquadro-rassegna-testo .sommario{
  margin:0 0 18px;font-size:.96rem;line-height:1.5;color:var(--navy-soft);
}

.avviso-rassegna{
  margin:0 0 16px;padding:10px 14px;font-size:.92rem;line-height:1.45;
  border-left:2px solid var(--greige);background:var(--crema);
}
.avviso-rassegna.esito-no{border-left-color:#8A3324;color:#6E2A1E}

.modulo-rassegna{margin:0}
.modulo-rassegna .campo{margin:0 0 11px;display:flex;flex-direction:column;gap:4px;max-width:24rem}
.modulo-rassegna label{
  font-family:var(--sans);font-size:.68rem;letter-spacing:.13em;
  text-transform:uppercase;color:var(--greige);
}
.modulo-rassegna input[type=text],
.modulo-rassegna input[type=email]{
  font-family:var(--serif);font-size:.98rem;color:var(--navy);
  padding:8px 10px;background:var(--crema);
  border:1px solid var(--filetto);border-radius:0;
}
.modulo-rassegna input[type=text]:focus,
.modulo-rassegna input[type=email]:focus{
  outline:none;border-color:var(--greige);background:var(--bianco);
}

.campo-esca{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.modulo-rassegna .campo-consenso{margin:15px 0 17px;max-width:30rem}
.modulo-rassegna .campo-consenso label{
  display:flex;gap:9px;align-items:flex-start;
  font-family:var(--serif);font-size:.86rem;letter-spacing:0;
  text-transform:none;color:var(--navy-soft);line-height:1.45;
}
.modulo-rassegna .campo-consenso input{margin-top:3px;flex:0 0 auto}
.modulo-rassegna .campo-consenso a{color:var(--navy);text-decoration:underline}

.modulo-rassegna .campo-invio{margin:0}
.modulo-rassegna button{
  font-family:var(--sans);font-size:.73rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--crema);background:var(--navy);
  border:1px solid var(--navy);border-radius:0;
  padding:10px 24px;cursor:pointer;transition:background .18s ease,color .18s ease;
}
.modulo-rassegna button:hover{background:var(--greige);border-color:var(--greige)}

.nota-rassegna{
  margin:16px 0 0;font-size:.8rem;line-height:1.5;color:var(--greige);
}

@media (max-width:640px){
  .riquadro-rassegna{padding:22px 20px 20px}
  .riquadro-rassegna-testo h2{font-size:1.16rem}
  .sez-pronunce{padding:48px 0 52px}
}

/* --- il richiamo alla rassegna nel pie' di pagina --- */
footer .alto{align-items:flex-start}
.rassegna-piede .titolo{
  margin:0 0 8px;font-family:var(--sans);font-size:.7rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--greige-chiaro);
}
.rassegna-piede .testo{
  margin:0 0 13px;font-size:.95rem;line-height:1.5;
  color:rgba(247,245,241,.75);max-width:23rem;
}
.rassegna-piede .vai{margin:0}
.rassegna-piede .vai a{
  color:var(--crema);text-decoration:none;font-family:var(--sans);
  font-size:.74rem;letter-spacing:.15em;text-transform:uppercase;
  border-bottom:1px solid rgba(201,192,174,.5);padding-bottom:3px;
}
.rassegna-piede .vai a:hover{border-bottom-color:var(--crema)}
@media (max-width:820px){
  .rassegna-piede{margin:26px 0}
  .rassegna-piede .testo{max-width:none}
}

/* Quando il modulo apre la sezione, non serve lo stacco supplementare. */
.wrap > .riquadro-rassegna:first-child{margin-top:0}

/* La pagina della rassegna: il modulo apre la sezione, quindi lo stacco
   dalla fascia blu si riduce e il corpo, se vuoto, non lascia margini. */
.sez-rassegna{padding-top:40px}
.sez-rassegna .corpo-nota{margin:0}
.sez-rassegna .corpo-nota:empty{display:none}
.sez-rassegna .riquadro-rassegna{margin-top:0}
