/* KuriUland – spazi pubblicitari e skin. */
.kl-pub {
	box-sizing: border-box; display: grid; justify-items: center; align-content: start; gap: 4px;
	width: 100%; max-width: 100%; margin: 28px auto; overflow: hidden;
}
.kl-pub--riservato { min-height: calc(var(--kl-pub-d, 250px) + 18px); }
.kl-pagina .kl-pub { margin-block: 28px; }
.kl-pub-et { display: block; font: 600 10px/1.4 var(--flex, Inter, sans-serif); letter-spacing: .14em; text-transform: uppercase; color: #6b6b6b; }
.kl-pub-in { display: grid; justify-items: center; width: 100%; min-width: 0; }
.kl-pub-ext { width: 100%; min-width: 0; text-align: center; }
.kl-pub-int { display: block; max-width: 100%; line-height: 0; }
.kl-pub-int img { display: block; max-width: 100%; height: auto; }
.kl-pub--vuoto { display: none; }
.kl-pub[data-kl-riserva] { min-height: 0; }
.kl-pub-prova { display: grid; place-content: center; gap: 4px; width: min(100%, 728px); min-height: var(--kl-pub-d, 250px); border: 2px dashed #e75d10; border-radius: 8px; background: repeating-linear-gradient(45deg, #fff6f0 0 10px, #fff 10px 20px); color: #181818; font: 13px/1.3 Inter, sans-serif; text-align: center; padding: 8px; box-sizing: border-box; }
.kl-pub-prova span { color: #6b6b6b; font-size: 12px; }
.kl-pub-prova--spento { border-color: #8a8a8a; background: repeating-linear-gradient(45deg, #f2f2f2 0 10px, #fff 10px 20px); color: #6b6b6b; }
.kl-pub-prova--google { border-color: #2271b1; background: repeating-linear-gradient(45deg, #eef5fc 0 10px, #fff 10px 20px); }
/* "Vedi sul sito" dal pannello: lo spazio richiamato si mette in evidenza (con margine per l'header fisso). */
.kl-pub { scroll-margin-top: 160px; }
.kl-pub:target { outline: 3px solid #e75d10; outline-offset: 6px; border-radius: 8px; }

/* colonne laterali del tema: niente margine sopra/sotto, la griglia ha già il suo spazio */
.kl-art-side .kl-pub, .kl-side .kl-pub, .kl-red-side .kl-pub, .sv-side .kl-pub { margin: 0; }

/* elenchi (Articoli, ricerca): lo spazio occupa tutta la riga della griglia */
.wp-block-post-template > li.kl-pub-li { grid-column: 1 / -1; list-style: none; }
.kl-pagina .wp-block-post-template > li.kl-pub-li .kl-pub { margin-block: 8px; }

/* testata sotto l'header (sul fondo arancio del sito l'etichetta è scura) */
.wp-site-blocks > .kl-pub--testata .kl-pub-et { color: #181818; }
.wp-site-blocks > .kl-pub--testata { margin: 20px auto 0; max-width: 1080px; padding-inline: 16px; }
body.kl-con-testata .wp-site-blocks > .kl-pagina { margin-top: 20px; }

@media (max-width: 800px) {
	.kl-pub { margin: 24px auto; }
	.kl-pub--riservato { min-height: calc(var(--kl-pub-m, 250px) + 18px); }
	.wp-site-blocks > .kl-pub--testata { margin-top: 12px; }
	body.kl-con-testata .wp-site-blocks > .kl-pagina { margin-top: 12px; }
}

/* laterali (lato-sx / lato-dx): fuori dal riquadro bianco, sul fondo colorato.
   Scatola a misura FISSA (larghezza × 600 + etichetta) con overflow nascosto e contenimento: qualunque cosa faccia
   Google (unità adattive, iframe più grandi, stili inline sui contenitori) resta dentro e non tocca il layout.
   Visibili solo se lo schermo ha posto: almeno 1480 px di larghezza (1080 del riquadro + 2 × 160 + margini)
   e 720 px di altezza; sotto, niente (e adv.js non chiede nemmeno l'annuncio a Google). */
.kl-lato { display: none; }
body.kl-con-laterali .wp-site-blocks > .kl-pagina { position: relative; }
@media (min-width: 1480px) and (min-height: 720px) {
	:root { --kl-lato-w: 160px; }
	.kl-lato { display: block; position: absolute; top: 0; bottom: 0; width: var(--kl-lato-w); pointer-events: none; }
	.kl-lato--sx { right: calc(100% + 24px); }
	.kl-lato--dx { left: calc(100% + 24px); }
	/* sticky come le colonne del tema; su schermi bassi sale fino a sotto l'header per restare tutto in vista */
	.kl-lato-box {
		position: sticky; pointer-events: auto;
		top: clamp(calc(var(--kl-head-h, 141px) + var(--kl-adminbar, 0px) + 12px), calc(100vh - 634px), var(--kl-side-top, 170px));
	}
	.kl-lato .kl-pub {
		width: var(--kl-lato-w) !important; height: 618px !important; min-height: 0 !important; max-height: 618px !important;
		margin: 0 !important; padding: 0 !important; overflow: hidden !important; contain: layout paint;
		align-content: start; gap: 4px;
	}
	.kl-lato .kl-pub-et { color: #181818; line-height: 14px; }
	/* La misura vera sta anche qui dentro: se Google forza "height:auto" sulla scatola, questa resta 600 e non si chiude a zero. */
	.kl-lato .kl-pub-in { width: 100%; height: 600px !important; min-height: 600px; overflow: hidden; align-content: start; }
	.kl-lato .kl-pub-ext { height: 600px; overflow: hidden; }
	.kl-lato .kl-pub-ext *, .kl-lato .kl-pub-ext ins.adsbygoogle, .kl-lato .kl-pub-ext iframe { max-width: 100% !important; max-height: 600px !important; }
	.kl-lato .kl-pub-ext ins.adsbygoogle { display: block; margin-inline: auto; }
	.kl-lato .kl-pub-int img { width: auto; max-width: 100%; max-height: 600px; object-fit: contain; }
	.kl-lato .kl-pub-prova { width: 100%; height: 600px; min-height: 0; font-size: 12px; }
}
/* schermi molto larghi: c'è posto anche per il 300×600 */
@media (min-width: 1800px) and (min-height: 720px) { :root { --kl-lato-w: 300px; } }
@media print { .kl-lato { display: none !important; } }

/* skin */
.kl-skin-bg { position: fixed; inset: 0; z-index: 0; display: block; background: var(--kl-skin-colore, transparent) var(--kl-skin-img, none) center top / auto no-repeat; cursor: pointer; }
body.kl-con-skin .wp-site-blocks { position: relative; z-index: 1; }
body.kl-con-skin .wp-site-blocks > .kl-pagina, body.kl-con-skin .wp-site-blocks > footer { position: relative; z-index: 2; }
body.kl-con-skin .wp-site-blocks { pointer-events: none; }
body.kl-con-skin .wp-site-blocks > * { pointer-events: auto; }
.kl-skin-fascia { position: relative; z-index: 1; display: grid; justify-items: center; gap: 4px; max-width: 1080px; margin: 0 auto; padding: 10px 0 14px; }
.kl-skin-fascia .kl-pub-et { color: rgba(255,255,255,.7); }
.kl-skin-fascia a, .kl-skin-fascia picture { display: block; line-height: 0; max-width: 100%; }
.kl-skin-fascia img { display: block; max-width: 100%; height: auto; }
body.kl-con-skin .wp-site-blocks > .kl-pagina { margin-top: 0; }
@media (max-width: 800px) { .kl-skin-bg { display: none; } .kl-skin-fascia { padding: 8px 12px 12px; } }
