/* =========================================================================
   ICF Karting — v13 (CONSOLIDATION + cursor master fix)
   - Bulletproof cursor (działa wszędzie, animowany, czerwony)
   - Mniej szumu wizualnego (grain, vignette, multiple gradients)
   - Lepsze filtry fotek (jaśniejsze)
   - Persona personas refined
   - Section spacing rytmu
   ========================================================================= */

/* ===========================================================
   CURSOR MASTER FIX — bulletproof, działa zawsze, wszędzie
   =========================================================== */
@media (hover: hover) and (pointer: fine) {
	/* Override v11 `* { cursor: auto }` — cursor: none na WSZYSTKIM */
	* { cursor: none !important; }

	/* Wyjątki: inputs i textareas pokazują native text cursor */
	input, textarea, select, [contenteditable] { cursor: text !important; }

	/* Cursor dot — zawsze widoczny, żaden mix-blend, żaden conflict */
	.cursor-dot {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 8px !important;
		height: 8px !important;
		background: #ff2d20 !important;
		border-radius: 50% !important;
		pointer-events: none !important;
		z-index: 999999 !important;
		opacity: 1 !important;
		visibility: visible !important;
		mix-blend-mode: normal !important;
		box-shadow:
			0 0 8px rgba(255,45,32,.9),
			0 0 16px rgba(255,45,32,.5) !important;
		transition: width .25s cubic-bezier(.34,1.56,.64,1),
		            height .25s cubic-bezier(.34,1.56,.64,1),
		            background .2s !important;
		will-change: transform;
		transform: translate3d(-50%, -50%, 0);
	}

	.cursor-ring {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 36px !important;
		height: 36px !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;
		visibility: visible !important;
		mix-blend-mode: normal !important;
		transition: width .35s cubic-bezier(.34,1.56,.64,1),
		            height .35s cubic-bezier(.34,1.56,.64,1),
		            border-color .25s,
		            background-color .25s !important;
		will-change: transform;
		transform: translate3d(-50%, -50%, 0);
	}

	.cursor-dot.is-hover {
		width: 0 !important; height: 0 !important;
	}

	.cursor-ring.is-hover {
		width: 60px !important;
		height: 60px !important;
		border-color: rgba(255, 45, 32, 0.9) !important;
		background: rgba(255, 45, 32, 0.12);
		border-width: 2px !important;
	}
}

/* Mobile/touch — usuń cursor elementy */
@media (hover: none), (pointer: coarse) {
	.cursor-dot, .cursor-ring { display: none !important; }
	* { cursor: auto !important; }
	a, button, .btn-pill, summary { cursor: pointer !important; }
}

/* ===========================================================
   USUŃ FILM GRAIN — distractant
   =========================================================== */
body::before { display: none !important; opacity: 0 !important; }

/* ===========================================================
   USUŃ HERO VIGNETTE — robi za ciemno
   =========================================================== */
.hero-mega::after { display: none !important; }

/* ===========================================================
   PHOTO GRADING — JAŚNIEJSZE wszędzie (default)
   =========================================================== */
.bento-cell__media img,
.bento-cell__media video,
.persona__media img,
.split__media img,
.gallery-mag__item img,
.fleet-card__media img,
.voucher-hero__media img,
.card-xl__media img {
	filter: contrast(1.05) saturate(1.05) brightness(1.05) !important;
}

/* Hero zostaje cinematic ale lżejszy */
.hero-mega__media img,
.hero-mega__media video {
	filter: contrast(1.05) saturate(1) brightness(1) !important;
}

/* ===========================================================
   PERSONAS — final brightness + better gradient
   =========================================================== */
.persona__media img {
	filter: contrast(1.05) saturate(1.1) brightness(1.15) !important;
}
.persona:hover .persona__media img {
	filter: contrast(1.08) saturate(1.15) brightness(1.2) !important;
	transform: scale(1.05) !important;
}
.persona__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 50%,
		rgba(0,0,0,.55) 78%,
		rgba(6,6,8,.95) 100%) !important;
}

/* ===========================================================
   BENTO overlay — jaśniejsze
   =========================================================== */
.bento-cell__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 50%,
		rgba(0,0,0,.45) 75%,
		rgba(6,6,8,.92) 100%) !important;
}

/* ===========================================================
   SECTION SPACING — bardziej oddychające
   =========================================================== */
.section--xl { padding: clamp(64px, 8vw, 120px) 0 !important; }

/* ===========================================================
   SEZONOWY banner — mniej intrusive
   =========================================================== */
.season-strip { padding: 10px 16px !important; font-size: 0.82rem !important; }

/* ===========================================================
   USP banner — mocniejszy bg
   =========================================================== */
.usp-banner {
	background: linear-gradient(135deg, rgba(255,45,32,0.15) 0%, rgba(255,86,64,0.05) 100%) !important;
	border: 1px solid rgba(255,45,32,0.4) !important;
	box-shadow: 0 20px 60px -20px rgba(255,45,32,0.3);
}

/* ===========================================================
   SECTION dividers gone (mniej szumu)
   =========================================================== */
.section--xl + .section--xl { border-top: 0 !important; }

/* ===========================================================
   CARD hover — clean, jeden hover style
   =========================================================== */
.bento-cell:hover, .persona:hover, .pass:hover, .lemans-card:hover,
.testimonial-v2:hover, .compare__col:hover, .card-xl:hover {
	border-color: rgba(255, 45, 32, 0.5) !important;
	transform: translateY(-4px) !important;
	box-shadow: 0 30px 60px -20px rgba(0,0,0,0.6),
	            0 0 0 1px rgba(255,45,32,0.15) !important;
}

/* ===========================================================
   Sticky chapter nav refinement (lepsze widoczne)
   =========================================================== */
.chapter-nav__dot {
	width: 12px !important;
	height: 12px !important;
	background: rgba(255,255,255,.25) !important;
}
.chapter-nav__dot.is-active {
	background: var(--c-accent) !important;
	box-shadow: 0 0 12px var(--c-accent);
	transform: scale(1.5) !important;
}

/* ===========================================================
   Hero CTA primary — pulse mniej intensywne
   =========================================================== */
.hero-mega__ctas .btn-pill--primary {
	animation: heroCtaPulse 3.5s var(--ease-soft) infinite !important;
}

/* ===========================================================
   Body — usuń padding-bottom na desktop (causing weird gaps)
   =========================================================== */
body { padding-bottom: 0 !important; }
@media (max-width: 720px) {
	body { padding-bottom: 88px !important; }
}

/* ===========================================================
   Hero corner brackets — bardziej widoczne
   =========================================================== */
.hero-mega__corner {
	border-color: rgba(255, 255, 255, 0.5) !important;
	width: 36px !important;
	height: 36px !important;
}

/* ===========================================================
   Newsletter — better contrast
   =========================================================== */
.newsletter__inner {
	background: rgba(255,255,255,.03) !important;
	border-color: rgba(255,255,255,.08) !important;
}

/* ===========================================================
   Testimonials — wyraźniejszy disclaimer
   =========================================================== */
.testimonial-v2 { background: linear-gradient(180deg, rgba(255,255,255,.04) 0%, rgba(255,255,255,.01) 100%) !important; }

/* ===========================================================
   Footer — clean
   =========================================================== */
.site-footer__col h3::before { background: var(--c-accent); }

/* ===========================================================
   FAQ — refinement
   =========================================================== */
.faq-premium summary { padding: 24px 28px !important; }
.faq-premium__answer { padding: 0 28px 26px !important; }

/* ===========================================================
   Page enter — subtle
   =========================================================== */
@keyframes pageEnter {
	from { opacity: 0; }
	to   { opacity: 1; }
}
body { animation: pageEnter .6s ease-out both !important; }

/* ===========================================================
   Section eyebrow — more elegant
   =========================================================== */
.section-eyebrow {
	background: rgba(255,45,32,.12) !important;
	color: var(--c-accent-2) !important;
	border: 1px solid rgba(255,45,32,.3) !important;
	padding: 6px 16px !important;
	font-size: 0.7rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.18em !important;
}

/* ===========================================================
   Reveal — smoother (transition !important, transform delegowany do .reveal w style-v2.css
   żeby .is-visible mogło nadpisać translateY(0))
   =========================================================== */
.reveal {
	transition: opacity 1s var(--ease-fluid), transform 1s var(--ease-fluid) !important;
}
