/* =========================================================================
   KloudNews — main stylesheet
   Design system editoriale. Colore primario iniettato via --kn-primary.
   ========================================================================= */

/* ---------- Design tokens ---------- */
:root{
	--kn-primary:#c8102e;
	--kn-primary-rgb:200,16,46;
	--kn-primary-dark:#9c0c24;

	--kn-ink:#15171c;
	--kn-body:#24272e;
	--kn-muted:#6b7280;
	--kn-line:#e6e7ea;
	--kn-line-strong:#d4d6db;
	--kn-bg:#ffffff;
	--kn-bg-warm:#f7f6f3;
	--kn-bg-dark:#111318;

	--kn-serif:"Fraunces",Georgia,"Times New Roman",serif;
	--kn-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

	--kn-wrap:1360px;
	--kn-gap:clamp(16px,2.2vw,28px);
	--kn-radius:10px;
	--kn-shadow:0 1px 2px rgba(16,17,20,.06),0 8px 24px rgba(16,17,20,.06);
	--kn-shadow-lg:0 12px 40px rgba(16,17,20,.14);
}

/* ---------- Reset/base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
	margin:0;
	font-family:var(--kn-sans);
	font-size:17px;
	line-height:1.6;
	color:var(--kn-body);
	background:var(--kn-bg);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--kn-primary);text-decoration:none}
a:hover{color:var(--kn-primary-dark)}
h1,h2,h3,h4{font-family:var(--kn-serif);color:var(--kn-ink);line-height:1.15;font-weight:600;margin:0 0 .4em;overflow-wrap:break-word}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em}

.wrap{max-width:var(--kn-wrap);margin-inline:auto;padding-inline:clamp(16px,4vw,28px)}

.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}
.skip-link{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--kn-ink);color:#fff;padding:10px 16px;border-radius:0 0 8px 0}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid rgba(var(--kn-primary-rgb),.5);outline-offset:2px}

/* ---------- Utility bar / ticker ---------- */
.topbar{background:#fff;border-top:3px solid var(--kn-primary);border-bottom:1px solid var(--kn-line);font-size:13px}
.topbar__inner{display:flex;align-items:center;gap:18px;min-height:48px}
.topbar__left{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.topbar__date{color:var(--kn-ink);font-weight:700;text-transform:capitalize;white-space:nowrap}
.topbar__cat{background:var(--kn-ink);color:#fff;font-weight:700;font-size:12px;padding:5px 12px;border-radius:4px;white-space:nowrap}
.topbar__cat:hover{background:var(--kn-primary);color:#fff}
.topbar__right{display:flex;align-items:center;gap:14px;flex:0 0 auto;margin-left:auto}
.topbar__right .social-links{display:flex;gap:10px}
.topbar__right .social{color:var(--kn-muted)}
.topbar__right .social:hover{color:var(--kn-primary)}
.topbar__contact{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:700;padding:8px 16px;border-radius:6px;white-space:nowrap;transition:.15s}
.topbar__contact:hover{background:#1eb457;color:#fff}

.ticker{display:flex;align-items:center;gap:12px;flex:1 1 auto;min-width:0}
.ticker__label{flex:0 0 auto;font-weight:800;text-transform:uppercase;font-size:12px;color:var(--kn-primary);letter-spacing:.05em;white-space:nowrap}
.ticker__viewport{position:relative;overflow:hidden;flex:1 1 auto;min-width:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.ticker__track{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;animation:kn-ticker 45s linear infinite}
.ticker:hover .ticker__track{animation-play-state:paused}
.ticker__item{color:var(--kn-body);font-weight:600;margin-right:36px}
.ticker__item::before{content:"•";color:var(--kn-primary);margin-right:12px;font-weight:700}
.ticker__item:hover{color:var(--kn-primary)}
@keyframes kn-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Masthead ---------- */
.masthead{background:var(--kn-bg);border-bottom:1px solid var(--kn-line)}
.masthead__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:clamp(16px,3vw,30px)}
.masthead__brand{display:flex;flex-direction:column;gap:2px;min-width:0}
.site-logo img,.custom-logo{max-height:72px;width:auto}
.site-title{margin:0;font-family:var(--kn-serif);font-weight:900;font-size:clamp(30px,5vw,52px);line-height:1;letter-spacing:-.02em}
.site-title a{color:var(--kn-ink)}
.site-title a:hover{color:var(--kn-primary)}
.site-claim{margin:0;font-family:var(--kn-sans);font-size:14px;color:var(--kn-muted);font-style:italic;letter-spacing:.01em}
.masthead__tools{display:flex;align-items:center;gap:10px}
.search-toggle{width:44px;height:44px;border:1px solid var(--kn-line-strong);background:var(--kn-bg);border-radius:50%;color:var(--kn-ink);cursor:pointer;display:grid;place-items:center;transition:.15s}
.search-toggle:hover{background:var(--kn-primary);border-color:var(--kn-primary);color:#fff}

.site-search{border-bottom:1px solid var(--kn-line);background:var(--kn-bg-warm)}
.site-search .wrap{padding-block:14px}
.site-search[hidden]{display:none}

/* ---------- Main nav ---------- */
.mainnav{position:sticky;top:0;z-index:50;background:var(--kn-bg);border-bottom:2px solid var(--kn-ink);box-shadow:0 2px 0 rgba(0,0,0,0)}
.mainnav.is-stuck{box-shadow:var(--kn-shadow)}
.mainnav__inner{display:flex;align-items:center;gap:8px}
.mainnav__menu{list-style:none;display:flex;flex-wrap:wrap;gap:1px;margin:0;padding:0}
.mainnav__menu li{position:relative}
.mainnav__menu a{
	display:block;padding:14px 10px;color:var(--kn-ink);font-weight:600;font-size:14px;
	text-transform:uppercase;letter-spacing:.04em;border-bottom:3px solid transparent;font-family:var(--kn-sans)
}
.mainnav__menu a:hover,.mainnav__menu .current-menu-item>a{color:var(--kn-primary);border-color:var(--kn-primary)}
/* Le due sezioni di punta: due pillole di colore diverso, riconoscibili a colpo
   d'occhio e distinte fra loro (la prima nel colore della testata, la seconda
   in antracite). Regole dopo quelle generiche, per vincere su hover/corrente. */
.mainnav__menu .mainnav__item--key>a{
	color:#fff;padding:9px 15px;margin:5px 3px;border-radius:100px;
	border-bottom-color:transparent;transition:background .15s,box-shadow .15s
}
.mainnav__menu .mainnav__item--key1>a{background:var(--kn-primary)}
.mainnav__menu .mainnav__item--key2>a{background:var(--kn-ink)}
.mainnav__menu .mainnav__item--key>a:hover{color:#fff;border-color:transparent}
.mainnav__menu .mainnav__item--key1>a:hover{background:var(--kn-primary-dark)}
.mainnav__menu .mainnav__item--key2>a:hover{background:var(--kn-body)}
.mainnav__menu .mainnav__item--key.current-menu-item>a{
	color:#fff;border-color:transparent;box-shadow:0 0 0 3px rgba(var(--kn-primary-rgb),.22)
}
.mainnav__menu .mainnav__item--key2.current-menu-item>a{box-shadow:0 0 0 3px rgba(21,23,28,.18)}
/* Le due sezioni video. Il menu ha gia' due pillole piene: farne una terza e
   una quarta sarebbe un semaforo. Queste stanno insieme in una voce sola,
   leggere e staccate da una riga sottile; il triangolino dice che li' si
   guarda invece di leggere, e restando in coppia non si spezzano mai a meta'
   quando il menu va a capo. */
.mainnav__menu .mainnav__video{
	display:flex;align-items:center;gap:5px;white-space:nowrap;
	margin-left:6px;padding-left:11px;border-left:1px solid var(--kn-line)
}
.mainnav__menu .mainnav__video a{
	display:flex;align-items:center;gap:7px;font-size:12.5px;letter-spacing:.02em;
	padding:8px 12px;margin:5px 0;border-radius:100px;border-bottom:0;
	color:var(--kn-primary);background:rgba(var(--kn-primary-rgb),.07);
	border:1px solid rgba(var(--kn-primary-rgb),.3);
	transition:background .15s,color .15s,border-color .15s
}
.mainnav__play{
	flex:0 0 auto;width:0;height:0;opacity:.9;
	border:5px solid transparent;border-right:0;border-left:8px solid currentColor
}
.mainnav__menu .mainnav__video a:hover,.mainnav__menu .mainnav__video a.is-qui{
	color:#fff;background:var(--kn-primary);border-color:var(--kn-primary)
}
/* submenu */
.mainnav__menu .sub-menu{position:absolute;left:0;top:100%;min-width:210px;background:#fff;border:1px solid var(--kn-line);box-shadow:var(--kn-shadow-lg);list-style:none;margin:0;padding:6px;display:none;z-index:60;border-radius:8px}
.mainnav__menu li:hover>.sub-menu{display:block}
.mainnav__menu .sub-menu a{padding:9px 12px;text-transform:none;letter-spacing:0;border:0;border-radius:6px;font-size:14px}
.mainnav__menu .sub-menu a:hover{background:var(--kn-bg-warm)}

.menu-toggle{display:none;align-items:center;gap:10px;background:none;border:0;font-family:var(--kn-sans);font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:var(--kn-ink);padding:12px 4px;cursor:pointer}
.menu-toggle__bars{width:22px;height:14px;position:relative;display:inline-block}
.menu-toggle__bars span{position:absolute;left:0;right:0;height:2px;background:var(--kn-ink);transition:.2s}
.menu-toggle__bars span:nth-child(1){top:0}
.menu-toggle__bars span:nth-child(2){top:6px}
.menu-toggle__bars span:nth-child(3){top:12px}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] .menu-toggle__bars span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}

/* ---------- Category badge ---------- */
.cat-badge{
	display:inline-block;background:var(--kn-primary);color:#fff;font-family:var(--kn-sans);
	font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
	padding:3px 8px;border-radius:3px;line-height:1.4
}
.cat-badge:hover{background:var(--kn-primary-dark);color:#fff}

/* ---------- Section title ---------- */
.section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 18px;position:relative}
.section-title>a{color:inherit}
.section-title span{
	position:relative;font-family:var(--kn-serif);font-weight:900;font-size:clamp(20px,2.6vw,27px);
	color:var(--kn-ink);padding-bottom:8px;display:inline-block
}
.section-title span::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:3px;background:var(--kn-primary)}
.section-title--link a:hover span{color:var(--kn-primary)}
.section-title__more{font-family:var(--kn-sans);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;color:var(--kn-muted)}
.section-title__more:hover{color:var(--kn-primary)}

.block{margin-block:clamp(34px,5vw,54px)}

/* ---------- Hero slider ---------- */
.hero{margin-top:clamp(22px,3vw,34px)}
.hero__grid{display:grid;grid-template-columns:1.7fr 1fr;gap:var(--kn-gap)}

.hero__slider{position:relative;border-radius:var(--kn-radius);overflow:hidden;box-shadow:var(--kn-shadow);background:#0b0c10;aspect-ratio:16/10}
.hero__track{position:absolute;inset:0}
.hero__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s ease;pointer-events:none}
.hero__slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero__slide-media{position:absolute;inset:0;display:block}
.hero__slide-media img,.hero__slide-media .thumb-fallback{width:100%;height:100%;object-fit:cover}
/* formula anti-testo-nelle-foto: doppio scrim (vignettatura + fascia scura in basso) */
.hero__scrim{position:absolute;inset:0;background:
	linear-gradient(to top,rgba(8,9,12,.94) 0%,rgba(8,9,12,.78) 18%,rgba(8,9,12,.35) 42%,rgba(8,9,12,.05) 62%,rgba(8,9,12,.28) 100%),
	linear-gradient(to right,rgba(8,9,12,.5) 0%,rgba(8,9,12,0) 55%)}
.hero__slide-body{position:absolute;left:0;right:0;bottom:0;padding:clamp(20px,3.2vw,40px);z-index:2}
.hero__slide-panel{max-width:min(66ch,80%);color:#fff}
.hero__slide-title{margin:12px 0 10px;font-size:clamp(26px,3.6vw,44px);font-weight:900;line-height:1.08;letter-spacing:-.01em;text-shadow:0 2px 18px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.6)}
.hero__slide-title a{color:#fff}
.hero__slide-title a:hover{color:#fff;text-decoration:underline;text-decoration-color:var(--kn-primary);text-decoration-thickness:3px;text-underline-offset:5px}
.hero__slide-excerpt{margin:0 0 12px;font-size:16px;line-height:1.5;color:rgba(255,255,255,.9);text-shadow:0 1px 8px rgba(0,0,0,.6);max-width:62ch}
.hero__slide-meta{font-size:13px;color:rgba(255,255,255,.78);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.hero__slide .cat-badge{box-shadow:0 2px 12px rgba(0,0,0,.35)}

/* controlli slider */
.hero__nav{position:absolute;top:44%;transform:translateY(-50%);width:46px;height:46px;border:0;border-radius:50%;background:rgba(12,13,18,.4);color:#fff;display:grid;place-items:center;cursor:pointer;z-index:3;opacity:0;transition:.2s;backdrop-filter:blur(3px)}
.hero__slider:hover .hero__nav{opacity:1}
.hero__nav:hover{background:var(--kn-primary)}
.hero__nav--prev{left:14px}
.hero__nav--next{right:14px}
.hero__dots{position:absolute;left:clamp(20px,3.2vw,40px);bottom:14px;display:flex;gap:8px;z-index:3}
.hero__dot{width:9px;height:9px;padding:0;border:0;border-radius:20px;background:rgba(255,255,255,.45);cursor:pointer;transition:.25s}
.hero__dot:hover{background:rgba(255,255,255,.75)}
.hero__dot.is-active{background:#fff;width:26px}

/* Protezione titolo "targa": pannello dietro al testo, utile quando la foto
   contiene già del testo. Attiva con body.kn-sliderguard-plate. */
.kn-sliderguard-plate .hero__slide-panel{
	background:linear-gradient(180deg,rgba(9,11,16,.28),rgba(9,11,16,.62));
	padding:16px 18px;border-radius:12px;
	-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
	box-shadow:0 8px 30px rgba(0,0,0,.25)
}
.kn-sliderguard-plate .hero__slide-title{text-shadow:0 1px 2px rgba(0,0,0,.5)}

.hero__side{display:flex;flex-direction:column;gap:16px}
.hero__item{display:grid;grid-template-columns:104px 1fr;gap:14px;align-items:start;padding-bottom:16px;border-bottom:1px solid var(--kn-line)}
.hero__item:last-child{border-bottom:0;padding-bottom:0}
.hero__item-media{border-radius:8px;overflow:hidden;aspect-ratio:1/1}
.hero__item-media img,.hero__item-media .thumb-fallback{width:100%;height:100%;object-fit:cover}
.hero__item-title{margin:6px 0 0;font-size:17px;line-height:1.25;font-weight:600}
.hero__item-title a{color:var(--kn-ink)}
.hero__item-title a:hover{color:var(--kn-primary)}

/* ---------- Cards ---------- */
.cards{display:grid;gap:var(--kn-gap)}
.cards--4{grid-template-columns:repeat(4,1fr)}
.cards--3{grid-template-columns:repeat(3,1fr)}
.card{display:flex;flex-direction:column}
.card__media{display:block;border-radius:8px;overflow:hidden;aspect-ratio:16/10;background:var(--kn-bg-warm)}
.card__media img,.card__media .thumb-fallback{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding-top:12px}
.card__cat{margin-bottom:8px}
.card__title{font-size:19px;line-height:1.22;font-weight:600;margin:0 0 8px}
.card__title a{color:var(--kn-ink)}
.card__title a:hover{color:var(--kn-primary)}
.card__meta{font-size:13px;color:var(--kn-muted);font-family:var(--kn-sans)}

/* ---------- List item (sidebar / correlati) ---------- */
.list-item{display:grid;grid-template-columns:88px 1fr;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--kn-line)}
.list-item__media{border-radius:6px;overflow:hidden;aspect-ratio:1/1}
.list-item__media img,.list-item__media .thumb-fallback{width:100%;height:100%;object-fit:cover}
.list-item__title{font-size:15px;line-height:1.28;margin:6px 0 0;font-weight:600}
.list-item__title a{color:var(--kn-ink)}
.list-item__title a:hover{color:var(--kn-primary)}
.list-item__meta{font-size:12px;color:var(--kn-muted);margin-top:4px}

/* thumbnail fallback */
.thumb-fallback{display:grid;place-items:center;background:linear-gradient(135deg,var(--kn-primary),var(--kn-primary-dark))}
.thumb-fallback span{font-family:var(--kn-serif);font-weight:900;color:rgba(255,255,255,.85);font-size:clamp(28px,6vw,64px)}

/* ---------- Home columns ---------- */
.home-columns{display:grid;grid-template-columns:1fr 320px;gap:clamp(24px,3.4vw,44px);align-items:start;margin-block:clamp(20px,3vw,36px)}
.home-aside__sticky,.single-aside__sticky{position:sticky;top:76px;display:flex;flex-direction:column;gap:26px}
.block--cat{margin-block:0 clamp(30px,4vw,44px)}
.home-main .block--cat:first-child{margin-top:0}

/* ---------- Most read ---------- */
.widget__title{font-family:var(--kn-serif);font-size:20px;font-weight:900;margin:0 0 14px;padding-bottom:8px;border-bottom:2px solid var(--kn-ink)}
.widget__title--accent{border-color:var(--kn-primary)}
.most-read__list{list-style:none;margin:0;padding:0;counter-reset:mr}
.most-read__item{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--kn-line)}
.most-read__item:last-child{border-bottom:0}
.most-read__num{font-family:var(--kn-serif);font-weight:900;font-size:24px;color:var(--kn-primary);line-height:1;min-width:24px}
.most-read__item a{color:var(--kn-ink);font-weight:600;font-size:15px;line-height:1.3}
.most-read__item a:hover{color:var(--kn-primary)}

/* ---------- Ad zones ---------- */
.ad-zone{margin-inline:auto;text-align:center}
.ad-zone__label{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:12px;letter-spacing:.01em;color:#9aa0aa;margin-bottom:8px;text-transform:none}
.ad-zone__inner{display:flex;justify-content:center;align-items:center}
.ad-zone__inner img{margin-inline:auto}
.ad-zone__inner{flex-direction:column;gap:16px;width:100%}
.ad-unit{width:100%}
.ad-unit img{display:block;margin-inline:auto}
.ad-zone--leaderboard{padding:14px 16px;background:var(--kn-bg-warm);border-block:1px solid var(--kn-line)}
.ad-zone--leaderboard .ad-zone__inner{max-width:970px;margin-inline:auto}
.ad-zone--leaderboard img{max-height:120px;width:auto;object-fit:contain}
.ad-zone--wide{margin-block:clamp(24px,4vw,40px)}
.ad-zone--box{background:var(--kn-bg-warm);border:1px solid var(--kn-line);border-radius:8px;padding:16px}
.ad-zone--in-article{margin-block:28px;padding:16px;background:var(--kn-bg-warm);border-radius:8px}
.ad-zone--footer{padding:22px 16px;background:var(--kn-bg-warm);border-top:1px solid var(--kn-line)}
.ad-zone__continue{display:block;margin:0 0 12px;font-size:12.5px;font-weight:600;letter-spacing:.03em;color:var(--kn-primary)}
.site-footer__by{font-size:12.5px;color:#7f8592}
.site-footer__by a{color:#aeb3bd;font-weight:600}
.site-footer__by a:hover{color:#fff}
.ad-zone--mid{margin-block:26px}
.article__endads{margin-top:26px;display:flex;flex-direction:column;gap:22px}

/* Sezione in evidenza in home (categoria in risalto, es. San Marino) */
.block--featured .section-title--featured{background:var(--kn-primary);border-radius:10px 10px 0 0;padding:14px 20px;margin-bottom:0;border:0;align-items:center}
.section-title--featured>a{color:#fff}
.section-title--featured span{color:#fff;padding-bottom:0}
.section-title--featured span::after{display:none}
.section-title--featured .section-title__more{color:rgba(255,255,255,.92)}
.block--featured .cards{border:1px solid var(--kn-line);border-top:0;border-radius:0 0 10px 10px;padding:20px}

/* ---------- Single / article ---------- */
.single-columns{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(24px,3.4vw,48px);align-items:start;margin-block:clamp(20px,3vw,36px)}
.single-main{min-width:0}
.article__header{margin-bottom:20px}
.breadcrumb{font-size:13px;color:var(--kn-muted);margin-bottom:14px}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.breadcrumb li{display:flex;gap:6px;align-items:center}
.breadcrumb li:not(:last-child)::after{content:"/";color:var(--kn-line-strong);margin-left:6px}
.breadcrumb a{color:var(--kn-muted)}
.breadcrumb a:hover{color:var(--kn-primary)}
.article__cat{margin-bottom:14px}
.article__title{font-size:clamp(28px,4.4vw,46px);font-weight:900;line-height:1.1;letter-spacing:-.015em;margin:0 0 14px;max-width:20ch}
.article__standfirst{font-family:var(--kn-serif);font-size:clamp(18px,2.2vw,22px);line-height:1.45;color:#3a3d45;font-weight:400;margin:0 0 20px;max-width:60ch}
.article__meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-block:14px;border-block:1px solid var(--kn-line);font-family:var(--kn-sans)}
.article__avatar img{border-radius:50%}
.article__byline{display:flex;flex-direction:column;gap:1px}
.article__author{font-weight:700;color:var(--kn-ink);font-size:15px}
.article__dates{font-size:13px;color:var(--kn-muted)}
.article__meta .article__share{margin-left:auto}

.article__figure{margin:0 0 24px;border-radius:var(--kn-radius);overflow:hidden}
.article__figure figcaption{font-size:13px;color:var(--kn-muted);padding:8px 2px 0;font-family:var(--kn-sans)}

.article__content{font-size:19px;line-height:1.75;color:var(--kn-body);max-width:780px}
.article__content p{margin:0 0 1.25em}
.article__content h2{font-size:clamp(23px,3vw,30px);margin:1.6em 0 .5em}
.article__content h3{font-size:clamp(20px,2.4vw,24px);margin:1.4em 0 .4em}
.article__content a{text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
.article__content img{border-radius:8px;margin-block:1em}
.article__content figure{margin:1.5em 0}
.article__content blockquote{margin:1.5em 0;padding:6px 0 6px 22px;border-left:4px solid var(--kn-primary);font-family:var(--kn-serif);font-size:1.15em;color:var(--kn-ink);font-style:italic}
.article__content ul,.article__content ol{padding-left:1.3em;margin:0 0 1.25em}
.article__content li{margin-bottom:.4em}
.article__content hr{border:0;border-top:1px solid var(--kn-line);margin:2em 0}

.article__footer{margin-top:26px;padding-top:20px;border-top:1px solid var(--kn-line);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}
.article__tags a{display:inline-block;background:var(--kn-bg-warm);border:1px solid var(--kn-line);color:var(--kn-body);font-size:13px;padding:4px 10px;border-radius:20px;margin:0 4px 4px 0}
.article__tags a:hover{border-color:var(--kn-primary);color:var(--kn-primary)}
.tags-label{font-weight:700;color:var(--kn-muted);margin-right:4px}

/* share */
.article__share{display:flex;align-items:center;gap:8px}
.article__share-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--kn-muted);font-weight:700}
.share{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--kn-bg-warm);border:1px solid var(--kn-line);color:var(--kn-ink);transition:.15s}
.share:hover{background:var(--kn-primary);border-color:var(--kn-primary);color:#fff}

/* related */
.related{margin-top:40px}
.related .cards--3{gap:var(--kn-gap)}

/* ---------- Archive header ---------- */
.archive-header{margin-bottom:24px;padding-bottom:18px;border-bottom:2px solid var(--kn-ink)}
.archive-header__title{font-size:clamp(28px,4vw,42px);font-weight:900;margin:8px 0 6px}
.archive-header__title span{color:var(--kn-primary)}
.archive-header__desc{color:var(--kn-muted);max-width:65ch}

.no-results{padding:40px;text-align:center;color:var(--kn-muted);background:var(--kn-bg-warm);border-radius:var(--kn-radius)}

/* pagination */
.pagination{margin-top:36px}
.pagination .nav-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.pagination .page-numbers{display:grid;place-items:center;min-width:42px;height:42px;padding:0 12px;border:1px solid var(--kn-line-strong);border-radius:8px;color:var(--kn-ink);font-weight:600;font-family:var(--kn-sans)}
.pagination .page-numbers:hover,.pagination .page-numbers.current{background:var(--kn-primary);border-color:var(--kn-primary);color:#fff}

/* ---------- Search form ---------- */
.search-form{display:flex;gap:8px;max-width:560px}
.search-form__field{flex:1;padding:12px 16px;border:1px solid var(--kn-line-strong);border-radius:8px;font-size:16px;font-family:var(--kn-sans);background:#fff}
.search-form__field:focus{outline:none;border-color:var(--kn-primary);box-shadow:0 0 0 3px rgba(var(--kn-primary-rgb),.15)}
.search-form__submit{width:48px;border:0;border-radius:8px;background:var(--kn-primary);color:#fff;cursor:pointer;display:grid;place-items:center}
.search-form__submit:hover{background:var(--kn-primary-dark)}

/* ---------- Form (Contact Form 7) ---------- */
.wpcf7{max-width:660px}
.wpcf7 .cf-row{display:flex;gap:14px;flex-wrap:wrap}
.wpcf7 .cf-row>span{flex:1 1 220px}
.wpcf7 p{margin:0 0 14px}
.wpcf7 label{display:block;font-weight:600;font-size:14px;margin-bottom:4px;color:var(--kn-ink)}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 input[type=url],.wpcf7 textarea{width:100%;padding:12px 14px;border:1px solid var(--kn-line-strong);border-radius:8px;font-family:var(--kn-sans);font-size:16px;background:#fff}
.wpcf7 input:focus,.wpcf7 textarea:focus{outline:none;border-color:var(--kn-primary);box-shadow:0 0 0 3px rgba(var(--kn-primary-rgb),.15)}
.wpcf7 textarea{min-height:150px;resize:vertical}
.wpcf7 input[type=submit]{background:var(--kn-primary);color:#fff;border:0;padding:13px 30px;border-radius:8px;font-weight:700;font-family:var(--kn-sans);font-size:16px;cursor:pointer;transition:.15s}
.wpcf7 input[type=submit]:hover{background:var(--kn-primary-dark)}
.wpcf7-not-valid-tip{color:#c0392b;font-size:13px;margin-top:4px}
.wpcf7 .wpcf7-response-output{border-radius:8px;padding:12px 16px;margin:14px 0 0;font-size:14px}

/* ---------- Buttons ---------- */
.btn{display:inline-block;background:var(--kn-primary);color:#fff;font-weight:700;font-family:var(--kn-sans);padding:12px 24px;border-radius:8px;transition:.15s}
.btn:hover{background:var(--kn-primary-dark);color:#fff}

/* ---------- 404 ---------- */
.error-404{text-align:center;padding-block:clamp(40px,8vw,90px);max-width:640px;margin-inline:auto}
.error-404__code{font-family:var(--kn-serif);font-weight:900;font-size:clamp(80px,18vw,160px);line-height:1;color:var(--kn-primary);margin:0}
.error-404__title{font-size:clamp(24px,4vw,34px);margin:0 0 10px}
.error-404__text{color:var(--kn-muted);margin-bottom:20px}
.error-404__search{margin-bottom:24px;display:flex;justify-content:center}

/* ---------- Widgets (generico) ---------- */
.widget{margin-bottom:26px}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{padding:8px 0;border-bottom:1px solid var(--kn-line)}
.widget li a{color:var(--kn-ink)}
.widget li a:hover{color:var(--kn-primary)}

/* ---------- Comments ---------- */
.comments{margin-top:44px;padding-top:24px;border-top:2px solid var(--kn-ink)}
.comments__title{font-size:24px;margin-bottom:20px}
.comments__list{list-style:none;margin:0 0 24px;padding:0}
.comments__list ol{list-style:none}
.comment-body{padding:14px 0;border-bottom:1px solid var(--kn-line)}
.comment-author{font-weight:700;color:var(--kn-ink)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:12px 14px;border:1px solid var(--kn-line-strong);border-radius:8px;font-family:var(--kn-sans);font-size:16px;margin-top:4px}
.comment-form .form-submit input{background:var(--kn-primary);color:#fff;border:0;padding:12px 24px;border-radius:8px;font-weight:700;cursor:pointer}

/* ---------- Footer ---------- */
.site-footer{background:var(--kn-bg-dark);color:#aeb3bd;margin-top:clamp(40px,6vw,72px);padding-block:clamp(40px,5vw,60px) 22px;border-top:4px solid var(--kn-primary)}
.site-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1.2fr 1fr;gap:clamp(24px,3vw,44px);padding-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1)}
.site-footer .custom-logo{max-height:64px;width:auto}
.site-title--footer{font-family:var(--kn-serif);font-size:28px;font-weight:900;margin:0 0 10px;color:#fff;letter-spacing:-.01em}
.site-footer__claim{font-style:italic;color:#8b909b;margin:0 0 12px;font-size:14px}
.site-footer__about{font-size:13.5px;line-height:1.6;color:#9aa0ab;margin:0 0 16px}
.site-footer__social .social-links{display:flex;gap:8px}
.site-footer__social .social{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);color:#fff;transition:.15s}
.site-footer__social .social:hover{background:var(--kn-primary)}

.fcol__title{font-family:var(--kn-sans);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#fff;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--kn-primary);display:inline-block}
.fcol__list,.fcol__links{list-style:none;margin:0;padding:0}
.fcol__list li,.fcol__links li{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}
.fcol__list a,.fcol__links a{color:#aeb3bd;font-size:14px;line-height:1.4}
.fcol--read .fcol__links a{font-family:var(--kn-serif);font-size:14.5px}
.fcol__list a:hover,.fcol__links a:hover{color:#fff}
.fcol__wa{display:inline-flex;align-items:center;gap:8px;background:#25d366;color:#fff;font-weight:700;padding:9px 16px;border-radius:6px;margin-bottom:12px;transition:.15s}
.fcol__wa:hover{background:#1eb457;color:#fff}
.fcol__contact{display:block;color:#fff;font-weight:600;margin-bottom:10px}
.fcol__contact:hover{color:var(--kn-primary)}
.footer-totop{display:inline-block;margin-top:10px;font-size:13px;color:#8b909b}
.footer-totop:hover{color:#fff}

.site-footer__widgets{padding-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.site-footer .widget__title{color:#fff;border-color:rgba(255,255,255,.2);font-size:15px}
.site-footer__widgets a{color:#aeb3bd}
.site-footer__widgets a:hover{color:#fff}

.site-footer__publisher{text-align:center;padding:22px 0 6px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:5px}
.site-footer__prodotto{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#7f8592}
.site-footer__editore{font-family:var(--kn-serif);font-weight:800;color:#fff;font-size:16px}
.site-footer__direttore{font-size:13px;color:#9aa0ab}
.site-footer__note{font-size:12.5px;color:#7f8592;font-style:italic}
.site-footer__bottom{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding-top:16px;font-size:13px;color:#7f8592}
.site-footer__bottom p{margin:0}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
	.home-columns,.single-columns{grid-template-columns:1fr}
	.home-aside,.single-aside{border-top:2px solid var(--kn-ink);padding-top:24px}
	.home-aside__sticky,.single-aside__sticky{position:static;flex-direction:row;flex-wrap:wrap}
	.home-aside__sticky>*,.single-aside__sticky>*{flex:1 1 260px}
	.cards--4{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:860px){
	.hero__grid{grid-template-columns:1fr}
	.hero__slider{aspect-ratio:4/3}
	.hero__nav{opacity:1;width:40px;height:40px}
	.hero__side{flex-direction:row;flex-wrap:wrap}
	.hero__item{flex:1 1 240px;border-bottom:0;border-top:1px solid var(--kn-line);padding-top:14px}
	.cards--4,.cards--3{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
	.menu-toggle{display:flex}
	.mainnav__inner{flex-wrap:wrap}
	.mainnav__menu{display:none;flex-direction:column;width:100%;padding-bottom:8px}
	.mainnav__menu.is-open{display:flex}
	.mainnav__menu a{padding:12px 4px;border-bottom:1px solid var(--kn-line)}
	/* A menu aperto le voci stanno in colonna: le due di punta restano pillole
	   ma larghe quanto il testo, cosi' si notano senza diventare due fasce. */
	.mainnav__menu .mainnav__item--key{display:flex}
	.mainnav__menu .mainnav__item--key>a{
		padding:11px 18px;margin:5px 0;border-bottom:0;align-self:flex-start
	}
	.mainnav__menu .sub-menu{position:static;display:block;box-shadow:none;border:0;padding-left:14px}
	/* In colonna diventano due voci normali, con un filo sopra che le stacca
	   dalle sezioni scritte. */
	.mainnav__menu .mainnav__video{
		flex-direction:column;align-items:flex-start;gap:0;white-space:normal;
		margin:8px 0 0;padding:8px 0 0;border-left:0;border-top:1px solid var(--kn-line)
	}
	.mainnav__menu .mainnav__video a{margin:3px 0}
	.topbar{display:none}
	.article__meta .article__share{margin-left:0;width:100%}
	.home-aside__sticky,.single-aside__sticky{flex-direction:column}
	.site-footer__grid{grid-template-columns:1fr 1fr}
	.fcol--brand{grid-column:1 / -1}
}
@media(max-width:520px){
	body{font-size:16px}
	.cards--4,.cards--3{grid-template-columns:1fr}
	.site-title{font-size:30px}
	.masthead__inner{padding-block:14px}
	.hero{margin-top:14px}
	.hero__slider{aspect-ratio:3/4}
	.hero__slide-body{padding:16px}
	.hero__slide-title{font-size:22px;margin:8px 0 0;line-height:1.14}
	.hero__slide-excerpt{display:none}
	.hero__dots{bottom:12px;left:16px}
	.hero__side{flex-direction:column}
	.hero__item{flex:1 1 auto}
	.ad-zone--leaderboard{padding:10px 12px}
	.ad-zone--leaderboard img{max-height:none}
	.article__title{font-size:26px}
	.article__content{font-size:17px}
	.site-footer__grid{grid-template-columns:1fr;gap:24px}
}

/* ---------- Motion / print niceties ---------- */
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Language switcher (multilingua) */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:3px;border:1px solid var(--kn-line,#e5e7eb);border-radius:999px;background:#fff}
.lang-switch__item{display:inline-flex;align-items:center;justify-content:center;min-width:32px;padding:.3rem .55rem;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.03em;color:var(--kn-ink,#1d2327);opacity:.55;text-decoration:none;line-height:1;transition:all .15s}
.lang-switch__item:hover{opacity:1}
.lang-switch__item.is-current{opacity:1;background:var(--kn-primary,#0052ff);color:#fff}
/* Mobile: le notizie salgono sopra i banner delle colonne dell'apertura */
@media(max-width:640px){
	.ins-col--left,.ins-col--right{display:flex;flex-direction:column}
	.ins-col--left>.ins-block:first-child,.ins-col--right>.ins-block:first-child{order:5}
}

/* Bottone traduzione articolo */
.article__translate{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.1rem;padding:.5rem .95rem;border:1.6px solid var(--kn-primary,#0052ff);border-radius:999px;font-weight:800;font-size:13.5px;color:var(--kn-primary,#0052ff);text-decoration:none;background:color-mix(in srgb,var(--kn-primary,#0052ff) 5%,transparent);transition:background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease;line-height:1}
.article__translate:hover{background:var(--kn-primary,#0052ff);color:#fff;transform:translateY(-1px);box-shadow:0 8px 20px color-mix(in srgb,var(--kn-primary,#0052ff) 28%,transparent)}
.article__translate-flag{font-size:16px;line-height:1}
.article__translate-arrow{transition:transform .18s ease}
.article__translate:hover .article__translate-arrow{transform:translateX(3px)}

/* Banda English edition (home EN) */
.en-edition{background:linear-gradient(90deg,var(--kn-primary,#0052ff),#08276e)}
.en-edition__inner{display:flex;align-items:center;gap:.7rem;padding:.62rem 0;color:#fff}
.en-edition__flag{font-size:19px;line-height:1}
.en-edition__txt{display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:14px}
.en-edition__txt strong{font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.en-edition__txt span{opacity:.9}

/* ===== Banner: coppia sotto slider + banner dentro le sezioni ===== */
.ad-band{margin-block:clamp(22px,4vw,38px)}
.ad-grid{display:grid;gap:16px;align-items:stretch}
.ad-grid--1{grid-template-columns:minmax(0,780px);justify-content:center}
.ad-grid--2{grid-template-columns:1fr 1fr}
.ad-grid__cell{margin:0;height:100%}
.ad-grid__cell .ad-zone__inner{flex:1}
/* Banner integrati dentro le sezioni "in evidenza" (sotto le news) */
.block__ads{margin-top:16px}
.block--featured .block__ads .ad-zone--box{background:#fff}
/* 2ª sezione in evidenza (Politica): banda grafite per darle risalto distinto da San Marino */
.block--feat2 .section-title--featured{background:#17212e}
.block--feat2 .cards{border-color:#e2e5ea}
@media(max-width:680px){ .ad-grid--2{grid-template-columns:1fr} }

/* Griglia banner centrale sotto lo slider (riempie lo spazio, 2x2) */
.ins-center-extra{margin-top:14px}
.ins-center-extra .ad-grid{gap:14px}
.ins-center-extra .ad-zone--box{padding:12px}

/* Sezione Politica (feat2): banda più prominente e titolo secco */
.block--feat2 .section-title--featured{background:#15212f;padding:18px 24px}
.block--feat2 .section-title--featured span{font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:900;letter-spacing:-.01em}
.block--feat2 .section-title--featured{position:relative;overflow:hidden}
.block--feat2 .section-title--featured::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--kn-primary,#0052ff)}

/* Centro: 3 banner impilati a piena larghezza (grandi, non piccoli) */
.ins-center-extra .ad-grid--stack{grid-template-columns:1fr;gap:14px}
.ins-center-extra .ad-grid--stack .ad-zone__inner img{max-width:100%;height:auto}

/* FIX: stack centrale a piena larghezza (le img lazy non stringano piu' la colonna) */
.ins-center-extra .ad-grid--stack{display:block !important}
.ins-center-extra .ad-grid--stack .ad-grid__cell{display:block;width:100%;margin:0 0 14px}
.ins-center-extra .ad-grid--stack .ad-grid__cell:last-child{margin-bottom:0}
.ins-center-extra .ad-grid--stack .ad-zone__inner{width:100%;min-height:60px}

/* ===== Tribuna (sezione speciale) =====================================
   Un solo segnale forte: una fascia scura a tutta larghezza dove il resto
   del giornale e' bianco, col filetto d'accento in cima e la barra verticale
   a sinistra (la stessa della banda sezione in home). Lo slider continua
   sullo stesso fondo, cosi' testata e apertura sono un oggetto solo. */
.kn-tribuna{--tr-ink:#15212f;--tr-ink-top:#1b2a3d;--tr-paper:#f4f2ee;--tr-rule:rgba(255,255,255,.14);--tr-soft:rgba(255,255,255,.72);--tr-mute:rgba(255,255,255,.52)}

.tribuna__head{background:linear-gradient(180deg,var(--tr-ink-top) 0%,var(--tr-ink) 60%);border-top:4px solid var(--tr-accent);padding:clamp(12px,1.4vw,18px) 0 clamp(10px,1.1vw,14px);position:relative}
.tribuna__inner{position:relative;padding-left:clamp(14px,1.6vw,22px);border-left:6px solid var(--tr-accent)}
.tribuna__head .breadcrumb{margin-bottom:12px}
.tribuna__head .breadcrumb,.tribuna__head .breadcrumb a{color:rgba(255,255,255,.60)}
.tribuna__head .breadcrumb a:hover{color:#fff}
.tribuna__kicker{font-family:var(--kn-sans);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.22em;color:var(--tr-accent);margin:0 0 8px}
.tribuna__title{font-family:var(--kn-serif);font-weight:900;color:#fff;font-size:clamp(26px,3vw,38px);line-height:1;letter-spacing:-.03em;margin:0;max-width:18ch}
/* A tutta larghezza e piccola: sta in una riga o due invece che in tre, e la
   fascia non ruba mezza schermata. */
.tribuna__lede{max-width:none;margin:6px 0 0;font-size:13.5px;line-height:1.4;color:var(--tr-soft)}
.tribuna__facts{display:flex;flex-wrap:wrap;align-items:center;margin:0;font-family:var(--kn-sans);font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tr-mute);font-variant-numeric:tabular-nums}
/* Numeri e "segui la sezione" sulla stessa riga: una riga in meno. */
.tribuna__meta{margin:10px 0 0}
@media(min-width:900px){
	.tribuna__meta{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
	.tribuna__meta .tribuna__follow{margin:0}
}
.tribuna__facts span{padding:0 16px;border-left:1px solid var(--tr-rule)}
.tribuna__facts span:first-of-type{padding-left:0;border-left:0}
.tribuna__facts b{color:#fff;font-weight:800}
.tribuna__pulse{width:9px;height:9px;border-radius:50%;background:var(--tr-accent);margin-right:12px;flex:0 0 auto;animation:trPulse 2.4s ease-out infinite}
@keyframes trPulse{0%{box-shadow:0 0 0 0 rgba(var(--tr-accent-rgb),.55)}70%{box-shadow:0 0 0 11px rgba(var(--tr-accent-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--tr-accent-rgb),0)}}
.tribuna__follow{margin:8px 0 0;font-family:var(--kn-sans);font-size:12px;color:var(--tr-mute)}
.tribuna__follow a{color:#fff;border-bottom:1px solid var(--tr-accent);margin-left:14px}

.tribuna__stage{background:var(--tr-ink);padding-bottom:clamp(16px,2vw,24px)}
.tribuna__slider{border-radius:4px;box-shadow:0 18px 50px rgba(0,0,0,.38)}
.tribuna__slider .hero__slide-title{font-size:clamp(20px,2vw,30px)}
/* Da tablet in su lo slider divide la riga con un verticale: si stringe,
   quindi si abbassa, e la sezione entra in molto meno schermo. */
@media(min-width:1025px){
	.tribuna__stage--conside{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}
	.tribuna__side{margin:0;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.10);border-radius:6px;padding:12px}
	.tribuna__side .ad-zone__label{color:var(--tr-mute)}
	.tribuna__side img{border-radius:3px}
}
/* Sotto i 1025px il fianco non esiste: il verticale non si stampa a schermo,
   restano i banner larghi sotto lo slider. */
@media(max-width:1024px){.tribuna__side{display:none}}
.tribuna__when{display:inline-block;font-family:var(--kn-sans);font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tr-accent);background:rgba(8,12,20,.55);padding:4px 10px;border-radius:3px;margin-bottom:10px}
@media(max-width:520px){
	.tribuna__slider{border-radius:0}
	/* Da telefono un titolo lungo riempirebbe tutta la slide e finirebbe sotto
	   le frecce: si accorcia a quattro righe e si naviga con dita e pallini. */
	.tribuna__slider .hero__slide-title{font-size:19px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
	.tribuna__slider .hero__nav{display:none}
}

.tribuna__ads{background:var(--tr-paper);border-top:1px solid #e4e0d8;border-bottom:1px solid #e4e0d8;padding:clamp(16px,2.4vw,24px) 0}
.tribuna__ads .ad-zone--box{background:#fff}

/* Separatori di giornata dentro la griglia delle notizie. */
.tribuna__day{grid-column:1/-1;display:flex;align-items:center;gap:14px;margin:10px 0 -6px}
.tribuna__day:first-child{margin-top:0}
.tribuna__day span{font-family:var(--kn-sans);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--kn-ink);white-space:nowrap}
.tribuna__day::after{content:"";flex:1;height:1px;background:var(--kn-line-strong)}

/* Dentro la sezione, badge e data sotto le card sono ridondanti. */
/* Dentro la sezione il badge di categoria e ridondante; la data NO: serve
   a capire quanto e fresca ogni notizia, visto che non ci sono separatori. */
.kn-tribuna .card__cat{display:none}

/* ===== Fascia di richiamo alla sezione valorizzata (solo home) =========
   REGOLA DA NON VIOLARE: l'oro sta SOLO sul blu notte. Oro su blu elettrico
   fa 2,38:1 ed e' illeggibile: per questo il gradiente si accende in blu solo
   nell'ultimo quarto, dietro il pulsante, che e' bianco.
   Niente z-index: .mainnav e' sticky e deve poterle passare sopra. */
.trib-strip{
	background:#15212f;
	background:linear-gradient(90deg,#15212f 0%,#15212f 62%,color-mix(in srgb,var(--kn-primary,#0052ff) 55%,#15212f) 84%,var(--kn-primary,#0052ff) 100%);
	border-top:3px solid var(--tr-accent,#c9a227);
	color:#fff
}
.trib-strip__inner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.8vw,24px);padding-block:7px}
/* La fascia si mangia il vuoto che c'era gia' sopra l'apertura: il costo
   reale in scorrimento e' circa 30px, non 44. */
.trib-strip + .opening-insider,
.trib-strip + .hero,
.trib-strip + .ask-opening,
.trib-strip + .nyt-opening,
.trib-strip + .single-columns{margin-top:clamp(8px,1vw,12px)}

.trib-strip__brand{display:flex;align-items:center;gap:9px;white-space:nowrap;color:#fff}
.trib-strip__pulse{width:8px;height:8px;border-radius:50%;background:var(--tr-accent,#c9a227);flex:0 0 auto;animation:trPulse 2.4s ease-out infinite}
.trib-strip__kicker{font-family:var(--kn-sans);font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:var(--tr-accent,#c9a227)}
.trib-strip__name{font-family:var(--kn-sans);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding-left:10px;border-left:1px solid rgba(255,255,255,.22)}
.trib-strip__brand:hover .trib-strip__name{color:var(--tr-accent,#c9a227)}

.trib-strip__rail{display:flex;align-items:center;min-width:0}
.trib-strip__item{
	flex:1 1 0;min-width:0;display:flex;align-items:baseline;gap:8px;
	white-space:nowrap;overflow:hidden;
	padding-left:16px;margin-left:16px;border-left:1px solid rgba(255,255,255,.16);
	-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent);
	mask-image:linear-gradient(90deg,#000 calc(100% - 30px),transparent)
}
.trib-strip__item:first-child{padding-left:0;margin-left:0;border-left:0}
.trib-strip__when{flex:0 0 auto;font-family:var(--kn-sans);font-size:10px;font-weight:800;line-height:1;letter-spacing:.1em;text-transform:uppercase;font-variant-numeric:tabular-nums;color:var(--tr-accent,#c9a227)}
.trib-strip__title{min-width:0;font-family:var(--kn-sans);font-size:14px;font-weight:600;line-height:1.25;color:rgba(255,255,255,.94)}
.trib-strip__item:hover .trib-strip__title{color:#fff}
@media(min-width:769px){.trib-strip__rail .trib-strip__item:nth-child(n+3){display:none}}

.trib-strip__cta{position:relative;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;background:#fff;color:var(--kn-primary,#0052ff);font-family:var(--kn-sans);font-size:12.5px;font-weight:800;line-height:1;letter-spacing:.04em;text-transform:uppercase;padding:7px 15px;border-radius:100px;transition:background .15s,color .15s}
/* bersaglio da ~44px per il pollice, senza alzare la fascia di un pixel */
.trib-strip__cta::after{content:"";position:absolute;inset:-8px}
.trib-strip__cta:hover{background:var(--tr-accent,#c9a227);color:#15212f}
.trib-strip__cta svg{transition:transform .15s}
.trib-strip__cta:hover svg{transform:translateX(3px)}
/* il focus del tema e' blu translucido: su fondo scuro non si vedrebbe */
.trib-strip a:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:4px}

@media(max-width:768px){
	/* Qui la topbar non esiste, quindi questa e' l'unica striscia in cima:
	   resta su UNA riga e i titoli si sfogliano col dito (niente JavaScript). */
	.trib-strip{border-top-width:2px;background:#15212f;background:linear-gradient(90deg,#15212f 0%,#15212f 78%,color-mix(in srgb,var(--kn-primary,#0052ff) 60%,#15212f) 100%)}
	/* Il pulsante mangerebbe lo spazio dei titoli (su 375px ne resterebbero 70px):
	   qui la porta verso la sezione e la targhetta a sinistra, dove sta il
	   pollice, e tutta la riga va ai titoli. */
	.trib-strip__cta{display:none}
	.trib-strip__inner{grid-template-columns:auto minmax(0,1fr);gap:12px;padding-block:6px}
	.trib-strip__kicker{display:none}
	.trib-strip__name{font-size:12.5px;padding-left:0;border-left:0}
	.trib-strip__brand::after{content:"›";font-size:17px;line-height:1;color:var(--tr-accent,#c9a227);margin-left:1px}
	.trib-strip__rail{
		overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;
		-webkit-overflow-scrolling:touch;scrollbar-width:none;
		-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent);
		mask-image:linear-gradient(90deg,#000 calc(100% - 24px),transparent)
	}
	.trib-strip__rail::-webkit-scrollbar{display:none}
	.trib-strip__item{
		flex:0 0 80%;scroll-snap-align:start;
		padding-left:0;margin-left:0;border-left:0;
		padding-right:14px;margin-right:14px;border-right:1px solid rgba(255,255,255,.16);
		-webkit-mask-image:none;mask-image:none
	}
	.trib-strip__item:last-child{margin-right:0;border-right:0}
	.trib-strip__item:hover .trib-strip__title{color:rgba(255,255,255,.94)}
	.trib-strip__title{overflow:hidden;text-overflow:ellipsis;font-size:13px}
	.trib-strip__cta{font-size:11px;padding:6px 11px;gap:6px}
}

/* ===== Footer — rifinitura tipografica ================================
   Stesso registro della fascia di sezione: fondo blu notte, filetto sottile
   d'accento, titoli in maiuscoletto spaziato invece delle sottolineature
   spesse. Nessun contenuto tolto o spostato: solo come si presenta.
   I titoli restano BIANCHI e non nel colore d'accento perche' su questo blu
   il blu elettrico farebbe 2,5:1, cioe' illeggibile. */
.site-footer{
	background:#15212f;
	border-top:3px solid var(--tr-accent,#c9a227);
	color:#93a1b3;
	padding-block:clamp(36px,4.4vw,54px) 20px
}
.site-footer__grid{gap:clamp(24px,3vw,52px);padding-bottom:34px;border-bottom-color:rgba(255,255,255,.09)}

/* Titoli di colonna: niente piu' barra spessa sotto, solo maiuscoletto largo. */
.site-footer .fcol__title{
	font-size:10.5px;font-weight:800;letter-spacing:.2em;color:#fff;
	border-bottom:0;padding-bottom:0;margin:0 0 15px;display:flex;align-items:center;gap:9px
}
.site-footer .fcol__title::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.14)}

/* Elenchi: filetti piu' leggeri e piu' aria, si leggono come un indice. */
.site-footer .fcol__list li,
.site-footer .fcol__links li{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.site-footer .fcol__list li:last-child,
.site-footer .fcol__links li:last-child{border-bottom:0}
.site-footer .fcol__list a{font-size:13.5px;font-weight:500;color:#aab6c6;transition:color .15s,padding-left .15s}
.site-footer .fcol__list a:hover{color:#fff;padding-left:4px}

/* "Piu' letti": numerati come nella colonna del sito, e al massimo due righe
   (uno di questi titoli ne occupava quattro e sbilanciava tutta la riga). */
.site-footer .fcol--read .fcol__links{counter-reset:kn-fr}
.site-footer .fcol--read .fcol__links li{counter-increment:kn-fr;display:flex;gap:11px;align-items:baseline}
.site-footer .fcol--read .fcol__links li::before{
	content:counter(kn-fr);flex:0 0 auto;
	font-family:var(--kn-sans);font-size:11.5px;font-weight:800;font-variant-numeric:tabular-nums;
	color:var(--tr-accent,#c9a227);line-height:1.6
}
.site-footer .fcol--read .fcol__links a{
	font-family:var(--kn-sans);font-size:13.5px;font-weight:500;line-height:1.45;color:#aab6c6;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden
}
.site-footer .fcol--read .fcol__links a:hover{color:#fff}

/* Contatti: il verde di WhatsApp resta, il resto si allinea al registro. */
.site-footer .fcol__wa{border-radius:100px;padding:10px 18px;font-size:13px;letter-spacing:.02em}
.site-footer .fcol__contact{font-size:13.5px;font-weight:600;color:#dbe3ec}
.site-footer .fcol__contact:hover{color:var(--tr-accent,#c9a227)}
.site-footer .footer-totop{font-size:12px;letter-spacing:.06em;color:#7d8b9d}
.site-footer .footer-totop:hover{color:#fff}

.site-footer__claim{font-size:13px;color:#7d8b9d;letter-spacing:.02em}
.site-footer__social .social{background:rgba(255,255,255,.07)}
.site-footer__social .social:hover{background:var(--tr-accent,#c9a227);color:#15212f}

/* Riga editoriale: e' la parte che da' credibilita', va letta come una targa. */
.site-footer__publisher{padding:26px 0 10px;border-top-color:rgba(255,255,255,.09);gap:7px}
.site-footer__prodotto{font-size:10px;letter-spacing:.22em;color:var(--tr-accent,#c9a227);font-weight:700}
.site-footer__editore{font-family:var(--kn-sans);font-weight:800;font-size:15px;letter-spacing:.01em;color:#fff}
.site-footer__direttore{font-size:13px;color:#aab6c6}
.site-footer__note{font-size:12px;color:#6f7d90}

.site-footer__bottom{padding-top:16px;border-top:1px solid rgba(255,255,255,.06);margin-top:14px}
.site-footer__copy{font-size:12px;color:#6f7d90;letter-spacing:.02em}
.site-footer__by{font-size:12px;color:#6f7d90}
.site-footer__by a{color:#93a1b3;font-weight:700}
.site-footer__by a:hover{color:var(--tr-accent,#c9a227)}

/* ===== Insider delle 18: il video verticale dentro l'articolo ===== */
/* Un 9:16 a piena larghezza (780px) sarebbe alto 1387px e mangerebbe la pagina:
   lo teniamo in colonna, centrato, con la stessa cornice scura del TG. */
.kn-tg-video{margin:26px auto 30px;max-width:400px}
.kn-tg-video video{display:block;width:100%;aspect-ratio:9/16;object-fit:contain;height:auto;border-radius:14px;background:#080b12;
  box-shadow:0 18px 44px rgba(8,17,31,.28)}
@media (max-width:520px){.kn-tg-video{max-width:100%}}

/* ===== Archivio "Insider delle 18" ===== */
.tg-hub{background:#080b12;color:#fff;padding-bottom:64px;margin-bottom:-48px}
.tg-hub__head{position:relative;padding:52px 0 40px;overflow:hidden;
  background:radial-gradient(70% 60% at 108% 120%, rgba(20,102,255,.55) 0%, rgba(20,102,255,0) 62%),
             radial-gradient(56% 44% at -10% -20%, rgba(60,140,255,.22) 0%, rgba(20,102,255,0) 70%),
             linear-gradient(168deg,#0c1220 0%,#080b12 70%)}
.tg-hub__head::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,#0b45d6,#1466ff 55%,#4aa3ff)}
.tg-hub__occhiello{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.2em;
  text-transform:uppercase;color:#6fb2ff;margin-bottom:10px}
.tg-hub__titolo{font-size:clamp(30px,5vw,46px);font-weight:900;letter-spacing:-.02em;line-height:1.05;margin:0;color:#fff}
.tg-hub .archive-header__title,.tg-hub h1,.tg-hub h2{color:#fff}
.tg-hub__desc{margin:12px 0 0;font-size:16px;color:rgba(255,255,255,.68);max-width:620px;line-height:1.55}

.tg-ultimo{display:grid;grid-template-columns:340px 1fr;gap:34px;align-items:start;padding:38px 0 10px}
.tg-ultimo__player{border-radius:16px;overflow:hidden;background:#05070c;
  box-shadow:0 22px 54px rgba(0,0,0,.5)}
.tg-ultimo__player video,.tg-ultimo__player img{display:block;width:100%;height:auto}
.tg-badge{display:inline-block;background:#1466ff;color:#fff;font-size:11px;font-weight:900;
  letter-spacing:.18em;text-transform:uppercase;padding:7px 13px;border-radius:7px}
.tg-ultimo__h{font-size:clamp(22px,3.2vw,32px);line-height:1.15;font-weight:900;margin:14px 0 8px;letter-spacing:-.015em}
.tg-ultimo__h a{color:#fff}
.tg-ultimo__h a:hover{color:#6fb2ff}
.tg-data{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7f8ea6}
.tg-ultimo__ex{margin-top:14px;color:rgba(255,255,255,.72);line-height:1.6;font-size:15px}
.tg-ultimo__ex p{margin:0}
.tg-link{display:inline-block;margin-top:16px;font-weight:800;color:#6fb2ff;font-size:15px}
.tg-link:hover{color:#fff}

.tg-sez{font-size:13px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;
  color:#7f8ea6;margin:38px 0 16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.09)}
.tg-griglia{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:22px}
.tg-card__play{display:block;width:100%;aspect-ratio:9/16;border:0;padding:0;cursor:pointer;
  border-radius:13px;background:#0c1220 center/cover no-repeat;position:relative;overflow:hidden}
.tg-card__play::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,16,.72),rgba(6,9,16,.05) 55%)}
.tg-card__tri{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  width:56px;height:56px;border-radius:50%;background:rgba(20,102,255,.94);
  box-shadow:0 8px 24px rgba(0,0,0,.45);transition:transform .18s ease}
.tg-card__tri::before{content:"";position:absolute;left:52%;top:50%;transform:translate(-50%,-50%);
  border-left:16px solid #fff;border-top:10px solid transparent;border-bottom:10px solid transparent}
.tg-card__play:hover .tg-card__tri{transform:translate(-50%,-50%) scale(1.09)}
.tg-card video{display:block;width:100%;aspect-ratio:9/16;border-radius:13px;background:#05070c}
.tg-card__meta{padding:11px 2px 0}
.tg-card__t{display:block;margin-top:5px;font-weight:800;font-size:15px;line-height:1.3;color:#fff}
.tg-card__t:hover{color:#6fb2ff}
.tg-hub .pagination,.tg-hub .nav-links{margin-top:34px}
.tg-hub .page-numbers{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.16)}
.tg-hub .page-numbers.current{background:#1466ff;color:#fff;border-color:#1466ff}

@media (max-width:860px){
  .tg-ultimo{grid-template-columns:1fr;gap:20px}
  .tg-ultimo__player{max-width:320px;margin:0 auto}
  .tg-griglia{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}
  .tg-card__tri{width:46px;height:46px}
}

/* ===== Sezioni video: "Insider delle 18" e "Videonotizie" ===== */
.vhub{background:#080b12;color:#fff;padding-bottom:70px;margin-bottom:-48px}
.vhub__testa{position:relative;padding:54px 0 34px;overflow:hidden;
  background:radial-gradient(72% 62% at 106% 118%, rgba(20,102,255,.55) 0%, rgba(20,102,255,0) 62%),
             radial-gradient(58% 46% at -8% -22%, rgba(60,140,255,.22) 0%, rgba(20,102,255,0) 70%),
             linear-gradient(168deg,#0c1220 0%,#080b12 72%)}
.vhub__testa::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,#0b45d6,#1466ff 55%,#4aa3ff)}
.vhub--vn .vhub__testa{background:radial-gradient(70% 58% at -6% 112%, rgba(11,69,214,.5) 0%, rgba(11,69,214,0) 62%),
             radial-gradient(60% 48% at 108% -18%, rgba(60,140,255,.24) 0%, rgba(20,102,255,0) 70%),
             linear-gradient(172deg,#131a2b 0%,#0a0e18 68%)}
.vhub__occhio{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.2em;
  text-transform:uppercase;color:#6fb2ff;margin-bottom:10px}
.vhub__titolo{font-size:clamp(32px,5.4vw,50px);font-weight:900;letter-spacing:-.025em;line-height:1.03;margin:0;color:#fff}
.vhub__desc{margin:12px 0 0;font-size:16px;color:rgba(255,255,255,.66);max-width:600px;line-height:1.55}
.vhub__cambio{display:inline-flex;align-items:center;gap:4px;margin-top:22px;padding:5px;
  background:rgba(255,255,255,.06);border-radius:12px}
.vhub__cambio-qui,.vhub__cambio-la{padding:9px 16px;border-radius:9px;font-size:13.5px;font-weight:800;white-space:nowrap}
.vhub__cambio-qui{background:#1466ff;color:#fff}
.vhub__cambio-la{color:#a9b8cc}
.vhub__cambio-la:hover{background:rgba(255,255,255,.08);color:#fff;text-decoration:none}


.vplay{width:74px;height:74px;border-radius:50%;background:rgba(20,102,255,.95);display:block;position:relative;
  box-shadow:0 10px 30px rgba(0,0,0,.45);transition:transform .18s ease}
.vplay::before{content:"";position:absolute;left:53%;top:50%;transform:translate(-50%,-50%);
  border-left:22px solid #fff;border-top:13px solid transparent;border-bottom:13px solid transparent}
.vplay--mini{width:54px;height:54px}
.vplay--mini::before{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}
.veti{display:inline-block;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;
  padding:6px 12px;border-radius:7px;background:rgba(255,255,255,.1);color:#c8d6e8;margin:0 6px 12px 0}
.veti--ora{background:#1466ff;color:#fff}
.vdata{display:block;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#7f8ea6}
.vbtn{display:inline-block;background:#1466ff;color:#fff;border:0;cursor:pointer;
  font-weight:800;font-size:15px;padding:13px 26px;border-radius:10px}
.vbtn:hover{background:#0b45d6;color:#fff;text-decoration:none}
.vbtn--vuoto{background:transparent;border:1px solid rgba(255,255,255,.2);color:#c3cede}
.vbtn--vuoto:hover{background:rgba(255,255,255,.08);color:#fff}

.vsez{font-size:13px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:#7f8ea6;
  margin:46px 0 18px;padding-top:24px;border-top:1px solid rgba(255,255,255,.09)}
.vhub .pagination,.vhub .nav-links{margin-top:38px}
.vhub .page-numbers{color:rgba(255,255,255,.7);border-color:rgba(255,255,255,.16)}
.vhub .page-numbers.current{background:#1466ff;color:#fff;border-color:#1466ff}

/* ===== Il videogiornale: il banco delle notizie in onda =====
   Ogni video e' una riga con lo stesso peso delle altre: schermo verticale a
   sinistra, notizia a destra. Ne suona uno alla volta e quando parte gli
   altri si abbassano — il "sipario" — cosi' l'occhio sa sempre dove guardare
   senza che nulla sparisca dalla pagina. */
.vgior{
  --vg-w:clamp(150px,14vw,205px);   /* larghezza dello schermo 9:16 nella riga */
  --vg-acc:#1466ff;                 /* il blu gia' usato dalla sezione video */
  --vg-onda:#ff2d3d;                /* l'unico rosso della pagina: sta solo su cio' che suona */
  --vg-nav:52px;                    /* altezza vera del menu, riscritta dal JS */
}

/* la riga di servizio in testata */
.vgior__servizio{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:24px}
.vgior__tutto{display:inline-flex;align-items:center;gap:10px;background:var(--vg-acc);color:#fff;border:0;
  border-radius:999px;padding:11px 20px 11px 14px;font:800 14px/1 var(--kn-sans);cursor:pointer;transition:.15s}
.vgior__tutto:hover{filter:brightness(1.12)}
.vgior__tutto em{font-style:normal;font-weight:700;opacity:.75}
.vgior__tutto.is-attivo{background:var(--vg-onda)}
.vgior__conta{margin:0;font:400 13px/1.4 var(--kn-sans);color:#8ea0b8}
.vgior__conta strong{color:#fff;font-weight:800}
.vgior .vhub__cambio{margin-top:0}
.vplay--xs{width:20px;height:20px}
.vplay--xs::before{border-left-width:7px;border-top-width:5px;border-bottom-width:5px}

/* la barra degli argomenti */
.vfiltri{position:sticky;top:var(--vg-nav);z-index:6;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;
  padding:22px 0 14px;background:linear-gradient(#080b12 72%,rgba(8,11,18,0))}
.vfiltri::-webkit-scrollbar{display:none}
.vfiltro{flex:0 0 auto;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:#c3cede;
  border-radius:999px;padding:8px 14px;font:800 12.5px/1 var(--kn-sans);cursor:pointer;white-space:nowrap;transition:.15s}
.vfiltro span{opacity:.5;margin-left:6px}
.vfiltro:hover{background:rgba(255,255,255,.12);color:#fff}
.vfiltro[aria-pressed="true"]{background:#fff;border-color:#fff;color:#0b1016}

/* il banco */
.vbanco{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));
  gap:22px;padding:8px 0;align-items:start}
.vbanco--pochi{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),480px))}
.vbanco__vuoto{grid-column:1/-1;padding:48px 0;text-align:center;color:#8ea0b8;font-size:16px}
.vbanco__vuoto[hidden]{display:none}

.vmod{display:grid;grid-template-columns:var(--vg-w) 1fr;gap:16px;padding:14px;content-visibility:auto;
  contain-intrinsic-size:auto 320px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);
  border-radius:16px;transition:opacity .25s,border-color .2s,box-shadow .25s}
.vmod[hidden]{display:none}
.vmod.is-onda[hidden]{display:grid}      /* cio' che suona non sparisce mai sotto un filtro */
.vmod--ponte{grid-column:1/-1;background:rgba(20,102,255,.09);border-color:rgba(20,102,255,.28)}
.vponte__lista{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.vponte__lista a{color:rgba(255,255,255,.78);font-size:14px;line-height:1.35}
.vponte__lista a:hover{color:#6fb2ff}
.vmod--ponte .vmod__piede{border:0}

/* il sipario */
.vbanco.is-onda .vmod{opacity:.55}
.vbanco.is-onda .vmod.is-onda,.vmod:focus-within{opacity:1}
.vbanco.is-onda .vmod.is-onda{border-color:rgba(255,45,61,.5);
  box-shadow:0 0 0 1px rgba(255,45,61,.3),0 18px 50px rgba(0,0,0,.55)}

/* lo schermo verticale */
.vmod__schermo{position:relative;aspect-ratio:9/16;border-radius:12px;overflow:hidden;background:#05070c}
.vmod__cop,.vmod__player{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.vmod__player{opacity:0;transition:opacity .2s}
.vmod.is-onda .vmod__player{opacity:1}
.vmod__play{position:absolute;inset:0;z-index:2;border:0;background:transparent;cursor:pointer;display:grid;place-items:center}
.vmod__play .vplay{width:52px;height:52px;transition:transform .18s,opacity .18s}
.vmod__play .vplay::before{border-left-width:16px;border-top-width:10px;border-bottom-width:10px}
.vmod__play:hover .vplay{transform:scale(1.08)}
.vmod.is-onda .vmod__play .vplay{opacity:0}
.vmod.is-onda .vmod__play:hover .vplay,.vmod.is-onda .vmod__play:focus-visible .vplay{opacity:1}
.vmod.is-carica .vplay{animation:vgpulse 1s ease-in-out infinite}
@keyframes vgpulse{50%{opacity:.45;transform:scale(.9)}}
.vmod__num{position:absolute;left:10px;bottom:9px;z-index:3;font:900 11px/1 var(--kn-sans);
  color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.vmod__durata{position:absolute;right:8px;bottom:9px;z-index:3;background:rgba(4,6,11,.72);
  padding:5px 7px;border-radius:6px;font:800 11px/1 var(--kn-sans);letter-spacing:.04em;color:#fff;
  font-variant-numeric:tabular-nums;transition:opacity .2s}
.vmod.is-onda .vmod__durata,.vmod.is-onda .vmod__num{opacity:0}
.vmod__tally{position:absolute;left:8px;top:8px;z-index:3;display:none;align-items:center;gap:6px;
  background:var(--vg-onda);color:#fff;padding:6px 9px;border-radius:6px;
  font:900 10px/1 var(--kn-sans);letter-spacing:.14em;text-transform:uppercase}
.vmod__tally::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:vgtally 1.4s infinite}
.vmod.is-onda .vmod__tally{display:inline-flex}
@keyframes vgtally{50%{opacity:.2}}
.vmod__barra{position:absolute;left:0;right:0;bottom:0;height:3px;z-index:3;background:rgba(255,255,255,.18);opacity:0}
.vmod.is-onda .vmod__barra{opacity:1}
.vmod__barra i{display:block;height:100%;width:0;background:var(--vg-onda)}

/* il testo: e' una notizia, non una didascalia */
.vmod__occhio{margin:0 0 6px;color:#6fb2ff;font:900 10.5px/1 var(--kn-sans);letter-spacing:.16em;text-transform:uppercase}
.vmod__occhio button{background:none;border:0;color:inherit;font:inherit;letter-spacing:inherit;padding:0;cursor:pointer}
.vmod__occhio button:hover{color:#fff;text-decoration:underline}
.vmod__tit{margin:0;font-family:var(--kn-sans);font-size:17px;font-weight:800;line-height:1.28;letter-spacing:-.01em;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.vmod__tit a{color:#fff}
.vmod__tit a:hover{color:#6fb2ff;text-decoration:none}
.vmod__somm{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:rgba(255,255,255,.6);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vnum{color:#fff;font-weight:900;background:rgba(20,102,255,.2);box-shadow:inset 0 0 0 1px rgba(20,102,255,.55);
  padding:1px 6px;border-radius:6px;font-variant-numeric:tabular-nums}
.vmod__piede{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;color:#7f8ea6;
  font:800 11.5px/1 var(--kn-sans);letter-spacing:.1em;text-transform:uppercase}
.vmod__leggi{margin-left:auto;color:#6fb2ff;letter-spacing:.04em;text-transform:none;font-size:12.5px}
.vmod__leggi:hover{color:#fff}

/* l'elenco scritto in coda: per chi legge e per i motori di ricerca */
.vgior__indice{margin-top:44px;padding-top:24px;border-top:1px solid rgba(255,255,255,.09)}
.vgior__indice ul{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.vgior__indice a{color:rgba(255,255,255,.8);font-size:14.5px;line-height:1.9}
.vgior__indice a:hover{color:#6fb2ff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

@media (max-width:1000px){
  .vgior__indice ul{columns:1}
}
@media (max-width:700px){
  .vgior{--vg-w:clamp(104px,32vw,148px)}
  .vbanco,.vbanco--pochi{grid-template-columns:1fr;gap:14px}
  .vmod{padding:12px;gap:13px;contain-intrinsic-size:auto 240px}
  .vmod__tit{font-size:15.5px}
  .vmod__somm{display:none}
  .vmod__num{display:none}
  .vmod.is-onda{grid-template-columns:1fr}            /* si apre sul posto, senza finestre */
  .vmod.is-onda .vmod__schermo{max-width:min(300px,74vw);margin-inline:auto}
  .vmod.is-onda .vmod__somm{display:-webkit-box}
  .vmod.is-onda .vmod__tit{-webkit-line-clamp:none}
  .vmod--ponte .vmod__somm{display:-webkit-box}
  .vfiltri{padding-block:16px 12px}
  .vgior__tutto{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .vmod__tally::before,.vmod.is-carica .vplay{animation:none}
  .vbanco.is-onda .vmod{opacity:.8}
  .vmod,.vmod__player{transition:none}
}


/* =========================================================================
   Testata compatta: logo e banner sulla stessa riga.

   Prima il banner aveva una fascia tutta sua sotto il menu: sommata a barra
   in alto, logo centrato e ticker, la prima notizia cominciava a meta'
   schermo. Mettendolo in riga col logo si recuperano circa 150 pixel senza
   togliere niente all'inserzionista, che anzi finisce piu' in alto.
   Sotto i 1080px il banner non ci sta piu' accanto al logo e torna a capo,
   a tutta larghezza: su telefono resta come prima, con il logo al centro.
   ========================================================================= */
.masthead__ad{flex:1 1 auto;min-width:0;display:flex;justify-content:flex-end}
.ad-zone--intesta{margin:0;padding:0;background:none;border:0;text-align:right}
.ad-zone--intesta .ad-zone__label{font-size:10px;letter-spacing:.06em;opacity:.65;display:block;margin-bottom:2px}
.ad-zone--intesta .ad-zone__inner{max-width:728px}
.ad-zone--intesta img{max-height:90px;width:auto;object-fit:contain}
@media(min-width:1081px){
	body.kn-style-insider .masthead__inner{justify-content:space-between;text-align:left;gap:28px;padding-block:14px}
	body.kn-style-insider .masthead__brand{align-items:flex-start;flex:0 0 auto}
	body.kn-style-insider .masthead__tools{position:static;transform:none}
	body.kn-style-insider_original .site-logo img,body.kn-style-insider_original .custom-logo{max-height:60px}
	body.kn-style-insider_original .site-claim{text-align:left;margin-top:4px}
}
@media(max-width:1080px){
	.masthead__inner{flex-wrap:wrap}
	.masthead__ad{order:3;flex-basis:100%;justify-content:center;margin-top:10px;
		padding-top:12px;border-top:1px solid var(--kn-line)}
	.ad-zone--intesta{text-align:center}
	.ad-zone--intesta .ad-zone__inner{max-width:100%;margin-inline:auto}
	.ad-zone--intesta img{max-height:none;max-width:100%}
}

/* Testata su telefono e tablet: il logo scende di misura e la lente torna
   in riga con lui invece di stare appoggiata sopra il claim. Cosi' la
   prima notizia arriva prima anche sul telefono, dove lo spazio e' tutto. */
@media(max-width:1080px){
	body.kn-style-insider .masthead__inner{
		position:relative;justify-content:space-between;text-align:left;
		gap:14px;padding-block:12px
	}
	body.kn-style-insider .masthead__brand{align-items:flex-start;flex:1 1 auto}
	body.kn-style-insider .masthead__tools{position:static;transform:none;flex:0 0 auto}
	body.kn-style-insider_original .site-logo img,body.kn-style-insider_original .custom-logo{max-height:52px}
	body.kn-style-insider_original .site-claim{text-align:left;margin-top:4px}
	.site-claim{font-size:12px;letter-spacing:0}
}
@media(max-width:520px){
	body.kn-style-insider_original .site-logo img,body.kn-style-insider_original .custom-logo{max-height:42px}
	.site-claim{font-size:11px}
	.search-toggle{width:38px;height:38px}
}

/* Il payoff sotto il logo e' scritto largo (maiuscolo molto spaziato): su
   schermo stretto e' lui a decidere la larghezza della testata, e spingeva
   la lente a capo. Sotto i 520px lo stringiamo quanto basta a stare in riga
   con il tasto di ricerca. */
@media(max-width:520px){
	body.kn-style-insider_original .site-claim{font-size:10px;letter-spacing:.1em}
}

/* I due canali video nel footer: stessa famiglia delle pillole del menu, ma
   sul fondo scuro. Non gridano, si vedono. */
.fvideo{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:18px}
.fvideo__t{font-family:var(--kn-sans);font-size:11px;font-weight:800;letter-spacing:.16em;
	text-transform:uppercase;color:rgba(255,255,255,.45)}
.fvideo__voce{display:inline-flex;align-items:center;gap:8px;font-family:var(--kn-sans);
	font-size:13px;font-weight:700;padding:8px 14px;border-radius:100px;color:#dce8ff;
	background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);transition:.15s}
.fvideo__voce:hover{color:#fff;background:var(--kn-primary);border-color:var(--kn-primary)}

/* Due banner in colonna in fondo alla barra laterale: impilati, non
   affiancati — la colonna e stretta e affiancarli li renderebbe illeggibili. */
.ad-grid--colonna{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.ad-grid--colonna .ad-zone{margin:0;width:100%}
.ad-grid--colonna .ad-zone__inner img{width:100%;height:auto;border-radius:8px}
