/* ============================================================================
   IL DIRITTO IN CONCRETO — foglio di stile della sezione
   Studio Legale Avv. Davide Salvo
   Palette e font ripresi dal sito principale (index.php).
   Per ritoccare colori/font: blocco :root qui sotto.
   ============================================================================ */
:root{
  --petrolio:#0d3b4f;
  --petrolio-scuro:#082a39;
  --petrolio-chiaro:#19566e;
  --tortora:#b8aea1;
  --tortora-chiaro:#e7e2db;
  --grigio:#6c7378;
  --grigio-chiaro:#f4f3f1;
  --bianco:#ffffff;
  --testo:#2b3033;
  --serif:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --maxw:1180px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--testo);background:var(--bianco);line-height:1.7;font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.15;color:var(--petrolio)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}

/* ===== HEADER (pagina interna, fondo petrolio) ===== */
header{background:var(--petrolio-scuro);position:sticky;top:0;z-index:100;padding:16px 0}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:52px}
.brand .bt{font-family:var(--serif);font-size:1.12rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.brand .bt .nm-d{font-weight:400}
.brand .bt .nm-s{font-weight:700}
.brand .bt small{display:block;font-family:var(--sans);font-size:.5rem;letter-spacing:.12em;color:var(--tortora);font-weight:400;margin-top:6px;line-height:1.6;text-transform:none}
nav ul{display:flex;gap:26px;list-style:none;flex-wrap:wrap}
.navlink{color:rgba(255,255,255,.92);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:400;position:relative;padding:4px 0;transition:color .4s;white-space:nowrap}
.navlink::after{content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--tortora);transition:width .35s}
.navlink:hover{color:#fff}
.navlink:hover::after{width:100%}

/* ===== INTESTAZIONE SEZIONE ===== */
.sec-head{background:var(--petrolio);color:#fff;padding:70px 0 58px;position:relative;overflow:hidden}
.sec-head::after{content:'';position:absolute;right:-80px;top:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(184,174,161,.16),transparent 70%);pointer-events:none}
.sec-head .kicker{font-size:.72rem;letter-spacing:.36em;text-transform:uppercase;color:var(--tortora);margin-bottom:20px}
.sec-head h1{color:#fff;font-size:clamp(2rem,4.2vw,2.9rem);margin-bottom:18px}
.sec-head p.lead{max-width:640px;font-size:1.06rem;color:rgba(255,255,255,.82)}

/* ===== INDICE: SCHEDE ===== */
.schede{max-width:var(--maxw);margin:0 auto;padding:56px 32px 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:28px}
.scheda{background:#fff;border:1px solid var(--tortora-chiaro);transition:.4s;display:flex;flex-direction:column;overflow:hidden}
.scheda:hover{box-shadow:0 30px 60px rgba(13,59,79,.12);transform:translateY(-4px)}
.scheda a.cop{display:block}
.scheda img{width:100%;height:186px;object-fit:cover;background:var(--tortora-chiaro)}
.scheda-c{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.scheda .meta{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tortora);margin-bottom:12px}
.scheda h2{font-size:1.42rem;line-height:1.25;margin-bottom:12px}
.scheda h2 a:hover{color:var(--petrolio-chiaro)}
.scheda p{color:var(--grigio);font-size:.96rem;margin-bottom:20px;flex:1}
.scheda .leggi{align-self:flex-start;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--petrolio);border-bottom:1px solid var(--tortora);padding-bottom:5px;transition:.3s}
.scheda .leggi:hover{gap:16px;color:var(--petrolio-chiaro)}
.vuoto{max-width:var(--maxw);margin:0 auto;padding:40px 32px;color:var(--grigio)}

/* ===== ARTICOLO ===== */
.articolo{max-width:760px;margin:0 auto;padding:56px 32px 8px}
.articolo .torna{display:inline-block;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--grigio);margin-bottom:34px;transition:.3s}
.articolo .torna:hover{color:var(--petrolio)}
.articolo .meta{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--tortora);margin-bottom:16px}
.articolo h1{font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.16;margin-bottom:18px}
.articolo .occhiello{font-family:var(--serif);font-style:italic;font-size:1.32rem;line-height:1.45;color:var(--petrolio-chiaro);margin-bottom:30px}
.articolo .firma{font-size:.86rem;color:var(--grigio);border-top:1px solid var(--tortora-chiaro);border-bottom:1px solid var(--tortora-chiaro);padding:14px 0;margin-bottom:36px}
.articolo img.apertura{width:100%;height:auto;margin-bottom:36px}
.corpo p{margin-bottom:22px}
.corpo h2{font-size:1.6rem;margin:44px 0 16px}
.corpo strong{color:var(--petrolio);font-weight:500}
.corpo blockquote{border-left:3px solid var(--tortora);padding-left:24px;margin:30px 0;font-family:var(--serif);font-style:italic;font-size:1.24rem;color:var(--petrolio-chiaro)}

/* disclaimer anonimizzazione */
.disclaimer{background:var(--grigio-chiaro);border-left:3px solid var(--tortora);padding:20px 24px;margin:40px 0 0;font-size:.9rem;line-height:1.6;color:#5a5650}
.disclaimer strong{font-family:var(--serif);font-style:italic;color:var(--petrolio);font-size:1.02rem}

/* ===== FOOTER ===== */
footer{background:var(--petrolio-scuro);color:rgba(255,255,255,.7);padding:58px 0 32px;margin-top:64px}
.foot-top{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-brand{display:flex;align-items:center;gap:16px}
.foot-brand img{height:72px}
.foot-brand .bt{font-family:var(--serif);font-size:1.45rem;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.foot-brand .bt .nm-d{font-weight:400}
.foot-brand .bt .nm-s{font-weight:700}
.foot-brand .bt small{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.12em;color:var(--tortora);font-weight:400;margin-top:6px;line-height:1.6;text-transform:none}
.foot-links{display:flex;gap:26px;flex-wrap:wrap}
.foot-links a{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;transition:.3s}
.foot-links a:hover{color:var(--tortora)}
.foot-bot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:24px;font-size:.74rem;color:rgba(255,255,255,.5)}

@media(max-width:860px){
  nav ul{display:none}
  .sec-head{padding:52px 0 44px}
  .schede{grid-template-columns:1fr;padding-top:40px}
  .articolo{padding-top:40px}
}
