/**
 * LTar Speed Optimization — public styles
 *
 * Header AdSense (.cb-large): reserve space so the nav doesn't jump when the
 * ad loads. Measured final height on StageZine (AdSense data-ad-format="auto")
 * is 280px desktop; theme still intends a leaderboard-style slot under the logo.
 */

/* Valenti header banner — prevent CLS while AdSense loads */
header.header .cb-large {
	min-height: 280px !important;
	box-sizing: border-box;
}

header.header .cb-large .adsbygoogle {
	display: block !important;
	min-height: 280px;
	width: 100%;
}

@media (max-width: 767px) {
	header.header .cb-large,
	header.header .cb-large .adsbygoogle {
		min-height: 100px;
	}
}

/*
 * Homepage Cyclone slider CLS
 *
 * Cycle2 (often delayed by Perfmatters) sets height from data-cycle-auto-height
 * 1142:600. Before that, the <img> uses its intrinsic ratio — the named
 * "-1142x600" crops are not always that size (e.g. 899x600), so the slider
 * starts taller and jumps down when JS runs.
 */
#cycloneslider-homepage-slider-1.cycloneslider-width-responsive {
	width: 100%;
	max-width: 1142px;
}

#cycloneslider-homepage-slider-1 .cycloneslider-slides {
	aspect-ratio: 1142 / 600;
	width: 100%;
	overflow: hidden;
}

/* Do not set display on .cycloneslider-slide-image — that class is on each
 * slide and would override Cyclone's display:none, stacking all captions. */
#cycloneslider-homepage-slider-1 .cycloneslider-slide-image > a {
	display: block;
}

#cycloneslider-homepage-slider-1 .cycloneslider-slide img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	aspect-ratio: 1142 / 600;
	object-fit: cover;
	object-position: center center;
}

/*
 * Cycle2 tileSlide clones the whole slide into each tile (incl. captions).
 * Hide clone captions so only the real active-slide title shows.
 */
#cycloneslider-homepage-slider-1 .cycle-tiles-container .cycloneslider-caption {
	display: none !important;
}
