/* =========================================================================
   ICF Karting — v12 (real data + USP focus + clean cursor)
   - Real Google data: 1081 opinii / 4,4★
   - Hybrid track USP highlighted
   - Better cursor (no glitch, no scroll disappearing)
   - USP banner section
   ========================================================================= */

/* ===========================================================
   CURSOR v12 — clean, działa przy scrollu, no mix-blend chaos
   =========================================================== */
@media (hover: hover) and (pointer: fine) {
	/* Activate cursor (override v11 disable) */
	.cursor-dot, .cursor-ring { display: block !important; }

	html, body {
		cursor: none;
	}

	.cursor-dot {
		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: 99999 !important;
		transform: translate3d(-50%, -50%, 0);
		opacity: 1 !important;
		mix-blend-mode: normal !important;
		box-shadow: 0 0 6px rgba(255,45,32,.9) !important;
		transition: width .25s var(--ease-spring), height .25s var(--ease-spring),
		            background .2s, opacity .2s;
		will-change: transform;
	}
	.cursor-dot.is-hover {
		width: 12px !important; height: 12px !important;
		background: #fff !important;
		box-shadow: 0 0 8px rgba(255,255,255,.7), 0 0 16px var(--c-accent) !important;
	}

	.cursor-ring {
		position: fixed !important;
		top: 0 !important; left: 0 !important;
		width: 32px !important; height: 32px !important;
		border: 1.5px solid rgba(255,45,32,.55) !important;
		border-radius: 50% !important;
		pointer-events: none !important;
		z-index: 99998 !important;
		transform: translate3d(-50%, -50%, 0);
		opacity: 1 !important;
		transition: width .35s var(--ease-spring), height .35s var(--ease-spring),
		            border-color .25s, background .25s;
		will-change: transform;
	}
	.cursor-ring.is-hover {
		width: 56px !important; height: 56px !important;
		border-color: rgba(255,255,255,.8) !important;
		background: rgba(255,45,32,.08);
	}

	/* Use native cursor on inputs and form fields */
	input, textarea, select {
		cursor: text !important;
	}
	body:has(input:focus, textarea:focus) {
		cursor: auto;
	}

	/* No native cursor anywhere else */
	a, button, .btn-pill, summary, [role="button"], .bento-cell, .persona,
	.pass, .compare__col, .testimonial-v2, .ig-post, .gallery-mag__item,
	.segm-card, .card-xl, .bottom-nav__item, label, [onclick] {
		cursor: none !important;
	}
}

/* ===========================================================
   HYBRID USP BANNER — wyróżnik w sekcji stats
   =========================================================== */
.usp-banner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 24px;
	align-items: center;
	padding: clamp(20px, 3vw, 32px) clamp(24px, 4vw, 40px);
	background: linear-gradient(135deg, rgba(255,45,32,0.08) 0%, rgba(255,255,255,0.02) 100%);
	border: 1px solid rgba(255,45,32,0.25);
	border-radius: var(--radius-card);
	max-width: 1240px;
	margin: 32px auto 0;
}
@media (max-width: 720px) {
	.usp-banner { grid-template-columns: 1fr; gap: 14px; text-align: left; padding: 20px; }
	.usp-banner__cta { width: 100%; }
}

.usp-banner__icon {
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--c-accent) 0%, #ff5640 100%);
	color: #fff;
	flex-shrink: 0;
	box-shadow: 0 10px 30px -10px var(--c-accent);
}
.usp-banner__icon svg { width: 26px; height: 26px; stroke: currentColor; fill: none; stroke-width: 2; }

.usp-banner__text {
	display: flex; flex-direction: column; gap: 4px;
}
.usp-banner__eyebrow {
	color: var(--c-accent);
	font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase;
}
.usp-banner__title {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 1.8vw, 1.4rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff;
	margin: 0;
	line-height: 1.25;
}
.usp-banner__title em { color: var(--c-accent); font-style: normal; }

.usp-banner__cta {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 20px;
	border-radius: 999px;
	background: rgba(255,255,255,.08);
	border: 1px solid rgba(255,255,255,.12);
	color: #fff;
	font-weight: 600; font-size: 0.88rem;
	white-space: nowrap;
	transition: background-color .25s var(--ease-soft), border-color .25s var(--ease-soft), color .25s var(--ease-soft);
}
.usp-banner__cta:hover {
	background: rgba(255,45,32,.15);
	border-color: var(--c-accent);
	color: #fff;
}

/* ===========================================================
   GOOGLE RATING bar — real data display
   =========================================================== */
.google-rating {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 22px;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.08);
	border-radius: 999px;
	transition: border-color .25s var(--ease-soft);
}
.google-rating:hover { border-color: rgba(255,45,32,.4); }
.google-rating__logo {
	width: 22px; height: 22px;
	background: conic-gradient(from 90deg, #4285f4 0deg 90deg, #ea4335 90deg 180deg, #fbbc04 180deg 270deg, #34a853 270deg 360deg);
	border-radius: 50%;
	flex-shrink: 0;
	position: relative;
}
.google-rating__logo::after {
	content: 'G';
	position: absolute;
	inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff;
	font-weight: 700;
	font-size: 0.85rem;
	font-family: var(--font-display);
}
.google-rating__stars {
	color: #fbbc04;
	letter-spacing: 1px;
	font-size: 0.95rem;
}
.google-rating__num {
	font-family: var(--font-display);
	font-weight: 700;
	color: #fff;
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}
.google-rating__count {
	color: var(--c-text-3);
	font-size: 0.82rem;
}

/* Hide the brand-strip disclaimer suffix - placeholder text strip can stay clean */
.brand-strip__label::after { display: none !important; }

/* Brand strip — neutral font (placeholder is obvious enough already) */
.brand-strip__item {
	font-style: italic;
	opacity: 0.4;
}
.brand-strip__list { opacity: 1 !important; }

/* ===========================================================
   Better fleet breakdown chip
   =========================================================== */
.fleet-breakdown span { font-family: var(--font-display); }

/* ===========================================================
   Photo grading — even brighter for personas (force override)
   =========================================================== */
.persona__media img {
	filter: contrast(1.05) saturate(1.1) brightness(1.2) !important;
}
.persona:hover .persona__media img {
	filter: contrast(1.08) saturate(1.15) brightness(1.25) !important;
}
.persona__media::after {
	background: linear-gradient(180deg,
		transparent 0%,
		transparent 55%,
		rgba(0,0,0,.5) 80%,
		rgba(6,6,8,.95) 100%) !important;
}
