/* =========================================================================
   ICF Karting — v22 (fixes + cursor v3)
   - Fix scale-on-scroll w bento feature (był popsuty)
   - News ticker: wolniej + spokojniejsze tło
   - Cursor v3: gładszy, breathing pulse, contextual
   ========================================================================= */

/* ===========================================================
   FIX: Scale-on-scroll w bento — wyłączamy żeby nie psuł
   =========================================================== */
.bento-cell .scroll-grow img,
.bento-cell .scroll-grow video,
.bento-cell--feature .bento-cell__media img,
.bento-cell--feature .bento-cell__media video {
	transform: scale(1) !important;
	transition: transform 1s var(--ease-fluid) !important;
}
.bento-cell:hover .bento-cell__media img,
.bento-cell:hover .bento-cell__media video {
	transform: scale(1.04) !important;
}

/* Sprinter feature card — image bardziej widoczne, mniej overflow */
.bento-cell--feature .bento-cell__media {
	overflow: hidden;
}
.bento-cell--feature .bento-cell__media img {
	object-position: center 45% !important;
}

/* Persona też subtelniej (były full crops) */
.persona__media.scroll-grow img {
	transform: scale(1.05) !important;
}
.persona__media.scroll-grow.in-view img {
	transform: scale(1) !important;
}
.persona__media.scroll-grow.in-view-passed img {
	transform: scale(1.03) !important;
}

/* Pozostałe scroll-grow softer (1.18 → 1.08 base) */
.scroll-grow img,
.scroll-grow video {
	transform: scale(1.08) !important;
	transition: transform 1.4s var(--ease-fluid) !important;
}
.scroll-grow.in-view img,
.scroll-grow.in-view video {
	transform: scale(1) !important;
}
.scroll-grow.in-view-passed img,
.scroll-grow.in-view-passed video {
	transform: scale(1.03) !important;
}

/* ===========================================================
   NEWS TICKER v2 — wolniej + spokojniejsze tło
   =========================================================== */
.season-strip {
	background: linear-gradient(135deg,
		rgba(15,15,18,0.95) 0%,
		rgba(20,10,10,0.95) 50%,
		rgba(15,15,18,0.95) 100%) !important;
	background-size: 100% 100% !important;
	animation: none !important; /* Wyłącz shine na background */
	border-bottom: 1px solid rgba(255,45,32,0.25) !important;
	border-top: 1px solid rgba(255,45,32,0.15);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.04) !important;
}

/* Delikatny czerwony "live" pip po lewej */
.season-strip::before {
	content: '';
	position: absolute;
	top: 0; left: 0; bottom: 0;
	width: 4px;
	background: linear-gradient(180deg, var(--c-accent) 0%, transparent 100%);
}

.season-strip__track {
	animation-duration: 90s !important; /* desktop wolniej (było 45s) */
}

.season-strip__item {
	color: rgba(255,255,255,.85) !important;
	font-weight: 500 !important;
	font-size: 0.85rem !important;
}
.season-strip__item strong {
	color: #fff !important;
	font-weight: 700 !important;
}
.season-strip__item a {
	color: var(--c-accent-2) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	font-weight: 700 !important;
}
.season-strip__item a:hover {
	color: #fff !important;
}

.season-strip__sep {
	color: rgba(255,255,255,.18) !important;
}

.season-strip__icon {
	background: rgba(255,45,32,.15) !important;
	border: 1px solid rgba(255,45,32,.3);
	color: var(--c-accent) !important;
}

@media (max-width: 720px) {
	.season-strip__track { animation-duration: 110s !important; }
	.season-strip__item { font-size: 0.76rem !important; }
}

/* ===========================================================
   CURSOR v3 — gładszy, breathing, smarter contextual
   =========================================================== */
@media (hover: hover) and (pointer: fine) {
	* { cursor: none !important; }
	input, textarea, select, [contenteditable] { cursor: text !important; }

	.cursor-dot {
		display: block !important;
		position: fixed !important;
		top: 0 !important; left: 0 !important;
		width: 6px !important; height: 6px !important;
		background: var(--c-accent) !important;
		border-radius: 50% !important;
		pointer-events: none !important;
		z-index: 999999 !important;
		opacity: 1 !important;
		mix-blend-mode: normal !important;
		box-shadow:
			0 0 6px rgba(255,45,32,.95),
			0 0 14px rgba(255,45,32,.5),
			0 0 22px rgba(255,45,32,.25) !important;
		transform: translate3d(-50%, -50%, 0);
		transition: width .3s cubic-bezier(.34,1.56,.64,1),
		            height .3s cubic-bezier(.34,1.56,.64,1),
		            background .25s, opacity .25s !important;
		will-change: transform;
		animation: cursorPulse 2.4s ease-in-out infinite;
	}

	@keyframes cursorPulse {
		0%, 100% { box-shadow: 0 0 6px rgba(255,45,32,.95), 0 0 14px rgba(255,45,32,.5), 0 0 22px rgba(255,45,32,.25); }
		50%      { box-shadow: 0 0 8px rgba(255,45,32,1), 0 0 18px rgba(255,45,32,.7), 0 0 32px rgba(255,45,32,.4); }
	}

	.cursor-ring {
		display: flex !important;
		align-items: center;
		justify-content: center;
		position: fixed !important;
		top: 0 !important; left: 0 !important;
		width: 32px !important; height: 32px !important;
		border: 1.5px solid rgba(255, 45, 32, 0.5) !important;
		border-radius: 50% !important;
		pointer-events: none !important;
		z-index: 999998 !important;
		opacity: 1 !important;
		mix-blend-mode: normal !important;
		transform: translate3d(-50%, -50%, 0);
		transition: width .4s cubic-bezier(.34,1.56,.64,1),
		            height .4s cubic-bezier(.34,1.56,.64,1),
		            border-color .3s, background-color .3s,
		            border-width .3s !important;
		will-change: transform;
		font-size: 0.62rem;
		font-weight: 700;
		font-family: var(--font-display);
		letter-spacing: 0.08em;
		text-transform: uppercase;
		color: transparent;
		backdrop-filter: blur(2px);
		-webkit-backdrop-filter: blur(2px);
	}

	/* Dot disappear przy "expanded" stanach */
	.cursor-dot.is-expanded {
		width: 0 !important; height: 0 !important;
		opacity: 0 !important;
		animation: none !important;
	}

	/* CTA / Button — czerwony, rośnie do 56px */
	.cursor-ring.is-cta {
		width: 56px !important; height: 56px !important;
		border-color: var(--c-accent) !important;
		background: rgba(255, 45, 32, 0.12) !important;
		border-width: 1.5px !important;
		box-shadow: 0 0 20px rgba(255,45,32,.3);
	}

	/* Image — ring biały + Zoom text */
	.cursor-ring.is-image {
		width: 64px !important; height: 64px !important;
		border-color: rgba(255, 255, 255, 0.85) !important;
		background: rgba(0, 0, 0, 0.45) !important;
		color: #fff !important;
		border-width: 1.5px !important;
	}
	.cursor-ring.is-image::before { content: 'Zoom'; color: #fff; }

	/* Video — czerwony big z PLAY */
	.cursor-ring.is-video {
		width: 72px !important; height: 72px !important;
		border-color: var(--c-accent) !important;
		background: rgba(255, 45, 32, 0.2) !important;
		color: #fff !important;
		border-width: 2px !important;
		box-shadow: 0 0 24px rgba(255,45,32,.4);
	}
	.cursor-ring.is-video::before { content: '▶ Live'; color: #fff; }

	/* Card — Wejdź */
	.cursor-ring.is-card {
		width: 64px !important; height: 64px !important;
		border-color: rgba(255, 255, 255, 0.6) !important;
		background: rgba(255, 45, 32, 0.08) !important;
		color: #fff !important;
	}
	.cursor-ring.is-card::before { content: 'Wejdź'; color: #fff; }

	.cursor-ring.is-article::before { content: 'Czytaj'; color: #fff; }
	.cursor-ring.is-map::before { content: 'Trasa'; color: #fff; }
	.cursor-ring.is-phone::before { content: 'Zadzwoń'; color: #fff; }
	.cursor-ring.is-email::before { content: 'Napisz'; color: #fff; }
	.cursor-ring.is-form::before { content: 'Wyślij'; color: #fff; }

	/* Default: Klik */
	.cursor-ring.is-link {
		width: 50px !important; height: 50px !important;
		border-color: var(--c-accent) !important;
		background: rgba(255, 45, 32, 0.08) !important;
	}

	.cursor-ring.is-text { opacity: 0 !important; }
	.cursor-dot.is-text { opacity: 0 !important; animation: none !important; }
}

@media (hover: none), (pointer: coarse) {
	.cursor-dot, .cursor-ring { display: none !important; }
}
