/* La voce del sud — impaginazione da quotidiano.
   Titoli: Brera (la display del Corriere della Sera). Testi: Solferino Text. Etichette: Noto Sans JP. */
@font-face{font-family:'Brera';src:url('fonts/Brera-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Brera';src:url('fonts/Brera-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Brera';src:url('fonts/Brera-Black.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Solferino Text';src:url('fonts/SolferinoText-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Solferino Text';src:url('fonts/SolferinoText-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Bodoni Moda';src:url('fonts/BodoniModa-900.woff2') format('woff2');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:'Bitter';src:url('fonts/Bitter700i.woff2') format('woff2');font-weight:700;font-style:italic;font-display:swap}
@font-face{font-family:'Noto Sans JP';src:url('fonts/NotoSansJP-400.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --ink:#000; --post:#111; --grey:#767676; --dim:#8f8f8f;
  --accent:#4db2ec; --hair:#dcdcdc;
  --display:'Brera',Georgia,'Times New Roman',serif;
  --text:'Solferino Text',Georgia,serif;
  --sans:'Noto Sans JP',Verdana,Helvetica,sans-serif;
  --wrap:1240px; --content:1192px;
  --s1:8px; --s2:12px; --s3:16px; --s4:22px; --s5:30px; --s6:40px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--post);font-family:var(--text);font-size:16px;line-height:24px;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
p{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.content{max-width:var(--content);margin:0 auto}

/* ---------- testata ---------- */
.hdr{border-bottom:1px solid var(--ink)}
.hdr-in{display:grid;grid-template-columns:120px 1fr 120px;align-items:center;min-height:92px}
.hdr-l{display:flex;align-items:center}
.icon-btn{background:none;border:0;padding:8px;cursor:pointer;display:grid;place-items:center;color:var(--ink)}
.icon-btn svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.9}
.logo{font-family:'Bodoni Moda',Georgia,serif;font-weight:900;font-style:normal;font-size:52px;line-height:1;color:var(--ink);text-align:center;display:block;padding:4px 12px 0;white-space:nowrap;text-transform:uppercase;letter-spacing:.4px;font-optical-sizing:none;font-variation-settings:'opsz' 8}
.hdr-r{display:flex;justify-content:flex-end}
.hdr-info{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-family:var(--sans);font-size:10px;color:var(--grey);line-height:1.6;text-align:right}
.weather{display:flex;align-items:center;gap:5px}
.signin{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.search-m{display:none}
.burger{display:none}

/* ---------- menu ---------- */
.nav{border-bottom:1px solid var(--ink)}
.nav ul{display:flex;justify-content:center;align-items:center;gap:0;list-style:none;margin:0;padding:5px 0}
.nav a{font-family:var(--sans);font-size:11px;line-height:16px;text-transform:uppercase;letter-spacing:.7px;padding:5px 12px;display:block;white-space:nowrap}
.nav a:hover,.nav a.active{background:#f2f2f2}

/* ---------- filo di notizie ---------- */
.ticker{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:14px 0 12px;border-bottom:2px solid var(--ink)}
.tk{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start}
.tk img{width:72px;aspect-ratio:3/2;object-fit:cover}
.tk h4{font-family:var(--display);font-size:13px;line-height:17px;font-weight:700;margin:0 0 3px;text-wrap:pretty}
.tk p{font-size:11px;line-height:15px;color:var(--grey);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}

/* ---------- scala tipografica ---------- */
.t-hero{min-height:68px;font-family:var(--display);font-size:27px;line-height:34px;font-weight:700;letter-spacing:-.2px;margin:0 0 10px;text-wrap:pretty}
.t-lg{font-family:var(--display);font-size:21px;line-height:28px;font-weight:700;margin:0 0 8px;text-wrap:pretty}
.t-sm{min-height:42px;font-family:var(--display);font-size:15.5px;line-height:21px;font-weight:700;margin:0 0 6px;text-wrap:pretty}
.t-xs{min-height:36px;font-family:var(--display);font-size:13.5px;line-height:18px;font-weight:700;margin:0 0 5px;text-wrap:pretty}
.ex{min-height:88px;font-size:15px;line-height:22px;color:var(--grey);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.ex-sm{min-height:72px;font-size:12.5px;line-height:18px;color:var(--grey);overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.ex-xs{min-height:31px;font-size:11px;line-height:15.5px;color:var(--grey);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.pill{background:var(--ink);color:#fff;font-family:var(--sans);font-size:10.5px;line-height:14px;letter-spacing:.6px;text-transform:uppercase;padding:2px 6px;display:inline-block;margin-right:8px;vertical-align:2px}
.byline{font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2px;vertical-align:2px}
.meta{font-family:var(--sans);font-size:10.5px;line-height:14px;color:var(--grey);letter-spacing:.2px}
.date-top{min-height:14px;margin:0 0 7px;color:var(--dim);text-transform:uppercase;letter-spacing:.6px;font-size:10px}
.dot{display:inline-block;margin:0 7px;color:#c8c8c8}

/* ---------- griglia ---------- */
.hero{display:grid;grid-template-columns:783px 377px;gap:32px;padding:var(--s5) 0 var(--s4);border-bottom:1px solid var(--ink)}
.hero-main{display:grid;grid-template-columns:300px 1fr;gap:36px;align-items:stretch}
.hero-t{display:flex;flex-direction:column}
.hero-t .meta{display:flex;align-items:center;flex-wrap:wrap;gap:0}
.hero-img{height:100%}
.hero-img img{width:100%;height:100%;min-height:320px;max-height:382px;object-fit:cover}
.hero-also{margin-top:auto;padding-top:14px;border-top:1px solid var(--hair)}
.hero-also b{font-family:var(--sans);font-size:10px;letter-spacing:.9px;text-transform:uppercase;display:block;margin-bottom:7px}
.hero-also a{font-family:var(--display);font-size:13.5px;line-height:18px;font-weight:700;display:block;margin-bottom:7px}
.hero-also a:hover{text-decoration:underline}
.hero-side{display:grid;grid-template-columns:1fr 1fr}
.hero-side>article{padding:0 18px}
.hero-side>article:first-child{padding-left:0}
.hero-side>article:last-child{padding-right:0}
.hero-side>article+article{border-left:1px solid var(--ink)}
.hero-side .t-sm{font-size:15px;line-height:21px;min-height:63px}

.row2{display:grid;grid-template-columns:repeat(3,1fr);gap:0 34px;padding:var(--s5) 0 var(--s4);border-bottom:1px solid var(--ink)}
.c3{display:flex;flex-direction:column}
.c3>article{padding-bottom:var(--s3);border-bottom:1px solid var(--hair);margin-bottom:var(--s3)}
.c3>article:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}

.catnav{display:flex;flex-wrap:wrap;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px solid var(--hair);font-family:var(--sans);font-size:11px;letter-spacing:.4px}
.catnav b{font-weight:700;text-transform:uppercase;font-size:10.5px;letter-spacing:.9px}
.catnav a:hover{text-decoration:underline}

.mixed{display:grid;grid-template-columns:783px 377px;gap:32px;padding:var(--s5) 0 var(--s4);border-bottom:1px solid var(--ink)}
.mixed-main{display:grid;grid-template-columns:236px 1fr 1fr;gap:30px;align-items:start}
.mixed-main>div{display:flex;flex-direction:column}
.mixed-main>div>article+article{border-top:1px solid var(--hair);margin-top:14px;padding-top:14px}
.mixed-img img{aspect-ratio:4/3;object-fit:cover;width:100%}
.mixed-img .ex-sm{min-height:54px;-webkit-line-clamp:3}
.mixed-side{border-left:1px solid var(--ink);padding:0 0 0 22px}
.thumbs2{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--hair)}
.thumbs2 img{width:100%;height:73px;object-fit:cover;margin-bottom:7px}
.thumbs2 .t-xs{min-height:36px}

.strip{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;padding:var(--s4) 0;border-bottom:1px solid var(--ink)}
.strip article{display:grid;grid-template-columns:1fr 84px;gap:12px;align-items:start}
.strip article>div{display:flex;flex-direction:column}
.strip img{width:84px;aspect-ratio:4/3;object-fit:cover}
.strip .t-xs{font-size:13px;line-height:17px}

.cols5{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:var(--s5) 0 var(--s6);border-bottom:1px solid var(--ink)}
.cols5-head{grid-column:1/-1;font-family:var(--sans);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.c5{padding:0 22px;border-left:1px solid var(--hair)}
.c5:first-of-type{border-left:0;padding-left:0}
.c5:last-child{padding-right:0}
.cols5 h5{font-family:var(--sans);font-size:10.5px;line-height:12px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.cols5 ul{list-style:none;margin:0;padding:0}
.cols5 li{font-family:var(--display);font-size:13.5px;line-height:18px;margin-bottom:11px;min-height:36px;text-wrap:pretty}
.cols5 li a:hover{text-decoration:underline}

/* ---------- articolo ---------- */
.art-head{max-width:100%;margin:0 auto;padding:var(--s6) 0 0;text-align:center}
.crumbs{font-family:var(--sans);font-size:10.5px;letter-spacing:.3px;color:var(--post);margin-bottom:14px}
.crumbs a:hover{text-decoration:underline}
.crumbs span{margin:0 6px;color:var(--dim)}
.art-head h1{font-family:var(--display);font-size:44px;line-height:54px;font-weight:700;letter-spacing:-.4px;margin:0 auto 16px;max-width:1000px;text-wrap:balance}
.dek{font-size:20px;line-height:30px;color:var(--grey);max-width:920px;margin:0 auto 18px;text-wrap:pretty}
.share{display:flex;justify-content:center;gap:9px;padding:14px 0 22px;border-top:1px solid var(--hair);max-width:860px;margin:0 auto}
.share a{width:34px;height:34px;border-radius:50%;background:#ededed;display:grid;place-items:center;color:#000;transition:background .15s}
.share a:hover{background:#dedede}
.share svg{width:15px;height:15px;fill:currentColor}
.art-fig{margin:0}
.art-fig img{width:100%;max-height:600px;object-fit:cover}
.art-cap{max-width:1192px;margin:8px auto 0;font-family:var(--sans);font-size:10.5px;color:var(--dim);text-align:right}
.art-body{max-width:100%;margin:var(--s6) auto var(--s6);font-size:20px;line-height:35px;text-wrap:pretty}
.art-body p{margin:0 0 28px}
.art-body strong{font-weight:700}
.art-body em{font-style:italic}
.art-body h2{font-family:var(--display);font-size:27px;line-height:34px;font-weight:700;margin:38px 0 16px}
.art-body blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:2px solid var(--ink);font-style:italic;font-size:21px;line-height:31px}
.art-src{max-width:100%;margin:10px auto var(--s6);font-family:var(--sans);font-size:10.5px;line-height:16px;color:var(--dim);border-top:1px solid var(--hair);padding-top:12px}
.related{border-top:1px solid var(--ink);padding:var(--s4) 0 var(--s6)}
.related .wrap > h3{font-family:var(--sans);font-size:10.5px;text-transform:uppercase;letter-spacing:.9px;font-weight:700;margin:0 0 18px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.related-grid img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:10px}

/* ---------- liste, ricerca, pagine ---------- */
h1.page{font-family:var(--display);font-size:34px;line-height:42px;font-weight:700;text-align:center;margin:var(--s5) auto var(--s2)}
.searchbox{max-width:660px;margin:var(--s6) auto}
.searchbox input{width:100%;border:1px solid var(--ink);padding:13px 15px;font-family:var(--sans);font-size:14px;outline:none}
.searchbox input:focus{border-color:var(--accent)}
.results{margin-top:var(--s4)}
.results article{padding:16px 0;border-bottom:1px solid var(--hair)}
.li{display:grid;grid-template-columns:1fr 132px;gap:20px;padding:10px 0;border-bottom:1px solid var(--hair);align-items:start}
.li h3.li-t{min-height:0;font-size:16px;line-height:21px;margin:1px 0 3px}
.li .li-x{font-size:12.5px;line-height:18px;color:var(--grey);overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0}
.li img{width:132px;height:86px;object-fit:cover;display:block}
.li:last-of-type{border-bottom:0}
.pager{display:flex;justify-content:center;gap:6px;padding:var(--s3) 0 var(--s5);font-family:var(--sans);font-size:12px}
.pager a,.pager span{padding:7px 12px;border:1px solid var(--ink)}
.pager span{background:#000;color:#fff}
.pager a:hover{background:#f2f2f2}

/* ---------- fondo ---------- */
.ftr{border-top:2px solid var(--ink);padding:var(--s4) 0 var(--s5)}
.ftr-logo{font-family:'Bodoni Moda',Georgia,serif;font-weight:900;font-size:22px;line-height:1;display:block;margin-bottom:20px;text-transform:uppercase;letter-spacing:.5px;font-optical-sizing:none;font-variation-settings:'opsz' 8}
.ftr-cols{display:grid;grid-template-columns:repeat(6,1fr);gap:28px}
.ftr-cols h6{font-family:var(--sans);font-size:10px;line-height:10px;font-weight:700;text-transform:uppercase;letter-spacing:.9px;margin:0 0 10px;padding-bottom:7px;border-bottom:1px solid var(--ink)}
.ftr-cols a{display:block;font-family:var(--sans);font-size:12px;line-height:19px;color:var(--post);margin-bottom:4px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ftr-cols a:hover{text-decoration:underline}
.social{display:flex;flex-direction:column;gap:10px}
.social svg{width:16px;height:16px;fill:#000}
.ftr-bottom{border-top:1px solid var(--hair);margin-top:var(--s4);padding-top:12px;display:flex;justify-content:space-between;font-family:var(--sans);font-size:10px;color:var(--dim)}
.top{position:fixed;right:22px;bottom:22px;width:40px;height:40px;background:var(--accent);display:grid;place-items:center;z-index:60}
.top svg{width:15px;height:15px;fill:#fff}

/* ---------- adattamento ---------- */
@media (max-width:1180px){
  .hero,.mixed{grid-template-columns:1fr;gap:0}
  .row2{grid-template-columns:repeat(2,1fr);row-gap:var(--s3)}
  .c3>article:last-child{border-bottom:1px solid var(--hair);margin-bottom:var(--s3);padding-bottom:var(--s3)}
  .hero-side{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--hair)}
  .mixed-side{border-left:0;border-top:1px solid var(--hair);padding:var(--s3) 0 0;margin-top:var(--s3)}
  .cols5{grid-template-columns:repeat(3,1fr);row-gap:var(--s4)}
  .strip{grid-template-columns:repeat(2,1fr);row-gap:var(--s3)}
  .art-head h1{font-size:36px;line-height:45px}
}
@media (max-width:860px){
  .wrap{padding:0 16px}
  .hdr-in{display:block;position:relative;padding:16px 0 8px;min-height:0}
  .hdr-l{position:absolute;left:0;top:6px}
  .hdr-r{position:absolute;right:0;top:6px}
  .logo{font-size:23px;letter-spacing:.2px;transform:none;padding:6px 0 0}
  .hdr-info,.search-d{display:none}
  .search-m{display:grid}
  .burger{display:grid}
  .nav{display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;align-items:stretch;padding:3px 0}
  .nav a{padding:10px 0;font-size:12px;letter-spacing:.5px}
  .ticker{display:none}
  .hero{padding:var(--s3) 0}
  .hero-main{grid-template-columns:1fr;gap:14px}
  .hero-img{order:-1}
  .hero-img img{min-height:0;max-height:none;aspect-ratio:16/10}
  .t-hero{font-size:24px;line-height:31px}
  .hero-side{margin-top:var(--s3)}
  .hero-side>article{padding:0 12px 0 0}
  .hero-side>article+article{padding:0 0 0 12px}
  .row2{grid-template-columns:1fr;padding:var(--s4) 0;gap:0}
  .c3>article:last-child{border-bottom:1px solid var(--hair);margin-bottom:var(--s3);padding-bottom:var(--s3)}
  .mixed-main{grid-template-columns:1fr 1fr;gap:18px}
  .mixed-img{grid-column:1/-1}
  .strip{grid-template-columns:1fr;gap:14px}
  .strip article{grid-template-columns:1fr 96px}
  .cols5{grid-template-columns:1fr 1fr;gap:26px;padding-bottom:var(--s5)}
  .ftr-cols{grid-template-columns:1fr 1fr;gap:22px}
  .ftr-bottom{flex-direction:column;gap:6px}
  .art-head{padding:var(--s4) 0 0}
  .art-head h1{font-size:27px;line-height:35px;letter-spacing:0;padding:0 6px}
  .dek{font-size:16px;line-height:24px;padding:0 6px}
  .share{padding:10px 0 18px}
  .art-body{font-size:17px;line-height:28px;padding:0 4px;margin-top:var(--s4)}
  .related-grid{grid-template-columns:1fr;gap:18px}
  .related-grid article{display:grid;grid-template-columns:130px 1fr;gap:14px;align-items:start}
  .related-grid img{margin-bottom:0;height:82px}
  h1.page{font-size:27px;line-height:34px;margin:var(--s5) auto var(--s3)}
}
@media (max-width:520px){
  .logo{font-size:20px;letter-spacing:.1px;transform:none}
  .hero-side{grid-template-columns:1fr 1fr}
  .cols5{grid-template-columns:1fr}
}
