/*
Theme Name: Punto Radio
Theme URI: https://www.cascinanotizie.it/
Author: Punto Radio
Description: Tema editoriale originale per Punto Radio e Cascina Notizie.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: punto-radio
*/
:root{--ink:#151515;--red:#bd2432;--muted:#666;--line:#dedede}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Georgia,'Times New Roman',serif}a{color:inherit;text-decoration:none}a:hover{color:var(--red)}img{max-width:100%;height:auto}.wrap{width:min(1180px,calc(100% - 36px));margin:auto}.topline{background:#161616;color:white;font:12px Arial,sans-serif;padding:9px 0}.topline .wrap{display:flex;justify-content:space-between}.masthead{text-align:center;padding:30px 0 22px;border-bottom:4px solid var(--ink)}.brand{font:bold clamp(46px,8vw,104px)/1 Arial,sans-serif;letter-spacing:-.065em}.brand span{color:var(--red)}.tagline{font:12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.22em;margin-top:12px}.nav{border-bottom:1px solid var(--line)}.nav .wrap{display:flex;flex-wrap:wrap;justify-content:center;gap:25px;padding:15px 0}.nav a{font:bold 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.06em}.section-title{font:bold 14px Arial,sans-serif;text-transform:uppercase;letter-spacing:.14em;border-bottom:2px solid #111;padding-bottom:10px;margin:34px 0 22px}.lead-grid{display:grid;grid-template-columns:2fr 1fr;gap:35px}.lead-grid article:first-child{border-right:1px solid var(--line);padding-right:35px}.kicker{font:bold 11px Arial,sans-serif;text-transform:uppercase;color:var(--red);letter-spacing:.1em}.hero-title{font-size:clamp(30px,4vw,54px);line-height:1.08;margin:12px 0}.story-title{font-size:25px;line-height:1.15;margin:10px 0}.excerpt{font-size:17px;line-height:1.5;color:#555}.meta{font:12px Arial,sans-serif;color:var(--muted);margin:12px 0}.story-img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#eee}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.card{border-bottom:1px solid var(--line);padding-bottom:20px}.radio-strip{margin:36px 0;padding:25px;background:#191919;color:white;display:flex;justify-content:space-between;gap:25px;align-items:center}.radio-strip strong{font:bold 24px Arial,sans-serif}.radio-strip p{margin:7px 0 0;color:#ddd}.btn{display:inline-block;padding:12px 20px;background:var(--red);color:white;font:bold 12px Arial,sans-serif;text-transform:uppercase}.single-layout{display:grid;grid-template-columns:minmax(0,780px) 1fr;gap:50px;margin-top:35px}.single-title{font-size:clamp(36px,5vw,64px);line-height:1.08;margin:12px 0}.article-body{font-size:20px;line-height:1.7}.article-body p{margin-bottom:1.2em}.article-body a{text-decoration:underline}.sidebar{border-left:1px solid var(--line);padding-left:25px}.footer{background:#171717;color:#eee;margin-top:60px;padding:45px 0;font:14px Arial,sans-serif}.footer a{color:#eee}.pagination{margin:30px 0}.pagination a,.pagination span{padding:8px}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:10px;top:10px;background:white;padding:10px;z-index:10}@media(max-width:760px){.lead-grid,.cards,.single-layout{grid-template-columns:1fr}.lead-grid article:first-child{border-right:0;padding-right:0}.sidebar{border-left:0;padding-left:0}.radio-strip{display:block}.radio-strip .btn{margin-top:15px}.nav .wrap{gap:14px}.masthead{padding:24px 0}}
/* Logo ufficiale Punto Radio */
.masthead .brand{display:inline-flex;align-items:center;justify-content:center;letter-spacing:normal;line-height:1}.masthead .brand-logo,.masthead .custom-logo{display:block;width:clamp(118px,16vw,176px);height:auto;max-height:176px;object-fit:contain}.masthead .custom-logo-link{display:inline-block}.masthead{padding:20px 0 16px}.tagline{margin-top:10px}

/* Punto Radio 2.0 - impaginazione editoriale */
:root{--red:#d7472d;--ink:#171717;--muted:#686868;--line:#dcdcdc}
body{font-family:Georgia,'Times New Roman',serif} .wrap{width:min(1200px,calc(100% - 44px))}
.topline{padding:10px 0;background:#171717}.masthead{padding:16px 0 12px;border-bottom:0}.masthead .brand-logo,.masthead .custom-logo{width:clamp(104px,13vw,142px);max-height:142px}.tagline{font:700 10px Arial,sans-serif;letter-spacing:.24em;color:#555;margin-top:9px}
.nav{border-top:3px solid var(--ink);border-bottom:1px solid var(--line)}.nav .wrap{gap:0;align-items:center}.nav a,.nav li a{display:block;padding:2px 15px;font:bold 12px Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}.nav ul{display:flex;justify-content:center;flex-wrap:wrap;list-style:none;padding:0;margin:0}.nav li{list-style:none}
.home-main{padding-top:24px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:3px solid var(--ink);padding-bottom:11px;margin:24px 0 23px}.section-heading h1,.section-heading h2{margin:0;font:800 18px Arial,sans-serif;text-transform:uppercase;letter-spacing:.13em}.section-heading span,.section-heading a{font:12px Arial,sans-serif;color:#666}.section-heading a:hover{color:var(--red)}
.lead-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:32px}.lead-main{padding-right:32px;border-right:1px solid var(--line)}.lead-main .card{border-bottom:0}.lead-main .story-img{aspect-ratio:16/9}.lead-main .hero-title{font-size:clamp(34px,4vw,56px);line-height:1.07;letter-spacing:-.035em}.lead-side .card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 16px;align-items:start;border-bottom:1px solid var(--line);padding:0 0 18px;margin-bottom:18px}.lead-side .card .story-img{grid-row:1 / span 4;aspect-ratio:4/3}.lead-side .card .kicker{grid-column:2}.lead-side .card .story-title{grid-column:2;font-size:22px;line-height:1.14;margin:6px 0}.lead-side .card .meta{grid-column:2;margin:4px 0}.lead-side .card .excerpt{grid-column:2;font-size:14px;margin:4px 0 0}.lead-side .card:not(:has(.story-img)){display:block}
.news-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.news-cards .card{min-width:0;padding-bottom:18px}.news-cards .story-img{aspect-ratio:16/9}.news-cards .story-title{font-size:26px;line-height:1.15;letter-spacing:-.02em}.news-cards .excerpt{font-size:15px;line-height:1.5}.card .kicker{margin-top:12px}.card .meta{font-size:11px}.card .excerpt{margin-top:9px}.card a:hover{text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:3px}
.radio-strip{background:#191919;display:flex;gap:22px;padding:22px 26px;margin:32px 0 36px}.radio-mark{color:#fff;background:var(--red);border-radius:4px;padding:11px 13px;font:bold 12px Arial,sans-serif;white-space:nowrap}.radio-info{flex:1}.radio-info strong{font-size:21px}.radio-info p{font:14px Arial,sans-serif;margin-top:7px}.radio-action{font:12px Arial,sans-serif;color:#eee}.radio-action audio{width:min(310px,100%)}.all-news{text-align:right;margin:23px 0 42px}.btn{background:var(--red)}.category-section{margin:30px 0 40px}.empty-state{padding:30px;border:1px solid var(--line);color:#555}.footer{margin-top:65px}
@media(max-width:900px){.lead-layout{grid-template-columns:1fr}.lead-main{padding-right:0;border-right:0}.lead-side{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lead-side .card,.lead-side .card:not(:has(.story-img)){display:block}.lead-side .card .story-img{aspect-ratio:16/9}.news-cards{gap:16px}.news-cards .story-title{font-size:22px}.radio-strip{flex-wrap:wrap}}
@media(max-width:640px){.wrap{width:calc(100% - 28px)}.topline .wrap{gap:8px;font-size:10px}.topline .wrap span:last-child{text-align:right}.masthead .brand-logo,.masthead .custom-logo{width:112px}.nav .wrap{gap:2px;padding:10px 0}.nav a,.nav li a{font-size:11px;padding:8px}.section-heading h1,.section-heading h2{font-size:16px}.section-heading span{display:none}.lead-side,.news-cards{grid-template-columns:1fr}.lead-side .card{display:grid;grid-template-columns:105px minmax(0,1fr);gap:0 12px}.lead-side .card .story-img{grid-row:1 / span 4;aspect-ratio:4/3}.lead-side .card .story-title{font-size:20px}.lead-side .card .excerpt{display:none}.news-cards .card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:0 14px}.news-cards .card .story-img{grid-row:1 / span 4;aspect-ratio:4/3}.news-cards .card .kicker,.news-cards .card .story-title,.news-cards .card .meta,.news-cards .card .excerpt{grid-column:2}.news-cards .card .story-title{font-size:21px;margin:5px 0}.news-cards .card .excerpt{display:none}.news-cards .card:not(:has(.story-img)){display:block}.radio-strip{padding:18px;gap:12px}.radio-info strong{font-size:19px}.radio-action{width:100%}}
