/* =========================================================================
   ICF Karting — v10 (final fixes pass)
   - Persona desaturate fix (only on hover)
   - Bento + persona object-position better cropping
   - Vignette softer
   - Cursor STRONGER (dual-ring premium)
   - Photo grading lżejszy (default, mocniejszy tylko na hover)
   ========================================================================= */

/* ===========================================================
   FIX: Persona images JASNE — dobrze widoczne
   =========================================================== */
.persona__media img {
	transition: transform 1s var(--ease-fluid), filter .5s !important;
	filter: contrast(1.05) saturate(1.05) brightness(1.1) !important;
}
.persona:hover .persona__media img {
	filter: contrast(1.08) saturate(1.1) brightness(1.15) !important;
	transform: scale(1.06) !important;
}

/* Persona overlay — bardziej wyższy stop transparent (zostaw więcej widocznego image) */
.persona__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 45%,
		rgba(0,0,0,.55) 75%,
		rgba(6,6,8,.95) 100%) !important;
}

/* ===========================================================
   FIX: Object-position — różne dla różnych zdjęć (wartości właściwe)
   =========================================================== */
.bento-cell__media img,
.card-xl__media img,
.fleet-card__media img {
	object-position: center 40% !important;
}

/* Persona — pokaż akcję w środku-dolnej części (gdzie zwykle jest motion) */
.persona__media img {
	object-position: center center !important;
}

/* Voucher hero — twarz kierowcy w prawej górnej części */
.voucher-hero__media img {
	object-position: 70% 30% !important;
}

/* Hero video object-position default center */
.hero-mega__media video,
.hero-mega__media img,
.bento-cell--video video,
.ambient video {
	object-position: center center !important;
}

/* ===========================================================
   FIX: Photo grading — default lżejszy, mocniej tylko hero
   =========================================================== */
.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 {
	filter: contrast(1.03) saturate(1.02) brightness(1) !important;
}

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

/* ===========================================================
   FIX: Vignette w hero — łagodniejszy
   =========================================================== */
.hero-mega::after {
	background: radial-gradient(ellipse at center, transparent 50%, rgba(0,0,0,0.3) 100%) !important;
}

/* ===========================================================
   FIX: Bento overlay nawet jaśniejsza
   =========================================================== */
.bento-cell__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 50%,
		rgba(0,0,0,.5) 78%,
		rgba(6,6,8,.92) 100%) !important;
}

/* ===========================================================
   FIX: Persona overlay też lżejszy
   =========================================================== */
.persona__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 30%,
		rgba(0,0,0,.5) 65%,
		rgba(6,6,8,.95) 100%) !important;
}

/* ===========================================================
   CURSOR — premium DUAL RING design (mocniejszy, bardziej widoczny)
   =========================================================== */
@media (hover: hover) and (pointer: fine) {
	.cursor-dot {
		position: fixed;
		top: 0; left: 0;
		width: 8px; height: 8px;
		background: var(--c-accent);
		border-radius: 50%;
		pointer-events: none;
		z-index: 9998;
		transform: translate(-50%, -50%);
		opacity: 0;
		mix-blend-mode: normal !important;
		box-shadow: 0 0 12px rgba(255,45,32,.8), 0 0 24px rgba(255,45,32,.4);
		transition: width .3s var(--ease-spring), height .3s var(--ease-spring),
		            opacity .25s, background .25s;
		will-change: transform;
	}
	.cursor-dot.is-active { opacity: 1; }
	.cursor-dot.is-hover {
		width: 50px;
		height: 50px;
		background: transparent;
		border: 2px solid var(--c-accent);
		box-shadow: 0 0 20px rgba(255,45,32,.6);
	}

	/* Outer ring follow */
	.cursor-ring {
		position: fixed;
		top: 0; left: 0;
		width: 36px; height: 36px;
		border: 1.5px solid rgba(255,45,32,.5);
		border-radius: 50%;
		pointer-events: none;
		z-index: 9997;
		transform: translate(-50%, -50%);
		opacity: 0;
		transition: opacity .3s, width .3s var(--ease-spring), height .3s var(--ease-spring),
		            background .3s, border-color .3s;
		will-change: transform;
	}
	.cursor-ring.is-active { opacity: 1; }
	.cursor-ring.is-hover {
		width: 0; height: 0;
		border-color: transparent;
	}

	/* Hide native cursor only on certain hover targets */
	a, button, .btn-pill, .bento-cell, .persona, .pass, .card-xl, .ig-post, .gallery-mag__item, .segm-card, summary { cursor: pointer; }
}

/* ===========================================================
   FIX: Zostaw wszystkie obrazy dobrej jakości (filter na max LIGHT)
   =========================================================== */
.gallery-mag__item img { filter: contrast(1.05) saturate(1.05) !important; }
.gallery-mag__item:hover img { filter: contrast(1.05) saturate(1.1) brightness(1.05) !important; }

/* ===========================================================
   FIX: Hero EST badge widocznerzy
   =========================================================== */
.hero-mega__est {
	color: rgba(255,255,255,.85) !important;
}
.hero-mega__est::before, .hero-mega__est::after {
	background: rgba(255,255,255,.5) !important;
}

/* ===========================================================
   FIX: Hero corner brackets bardziej widoczne
   =========================================================== */
.hero-mega__corner {
	border-color: rgba(255,255,255,.45) !important;
	border-width: 2px !important;
}

/* ===========================================================
   FIX: Bento min-height żeby brak pustych miejsc
   =========================================================== */
.bento-cell { min-height: 280px !important; }
.bento-cell--feature { min-height: 380px !important; }
@media (max-width: 720px) {
	.bento-cell { min-height: 240px !important; }
	.bento-cell--feature { min-height: 300px !important; }
}

/* Bento media full coverage */
.bento-cell__media {
	position: absolute;
	inset: 0 !important;
	z-index: -1;
}
.bento-cell__media img,
.bento-cell__media video {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* ===========================================================
   FIX: video poster fallback — czarne tło ale subtle
   =========================================================== */
.bento-cell--video {
	background: linear-gradient(135deg, #1a0a0a 0%, #0a0a0c 100%) !important;
}
.bento-cell--video .bento-cell__media {
	background: linear-gradient(135deg, #1a0a0a 0%, #0a0a0c 100%);
}

/* ===========================================================
   Dark frame around hero (subtle border accent)
   =========================================================== */
.hero-mega { border-bottom: 1px solid rgba(255,255,255,.06); }

/* ===========================================================
   Persona min-height fix
   =========================================================== */
.persona { min-height: 460px !important; }
@media (max-width: 720px) {
	.persona { min-height: 380px !important; }
}
