/* =========================================================================
   ICF Karting — v3 (the masterpiece pass)
   Wczytywany PO style.css i style-v2.css.
   Dodaje: bento, magazine-gallery, persona-stories, leaderboard, faq-premium,
   map-section, sticky-booking-bar, magnetic, timeline, badges, hero refinements.
   ========================================================================= */

:root {
	--c-warm:        #1a0e0d;          /* warm dark */
	--c-glass:       rgba(255,255,255,.05);
	--c-glass-line:  rgba(255,255,255,.10);
	--c-glass-line-2:rgba(255,255,255,.18);
	--ease-spring:   cubic-bezier(.34, 1.56, .64, 1);
	--blur-glass:    saturate(160%) blur(20px);
}

/* Smoother selection */
::selection { background: var(--c-accent); color: #fff; }

/* Body now uses warm-tinged background */
body {
	background: radial-gradient(ellipse at top, #0a0a0c 0%, var(--c-bg-deep) 60%);
}

/* Refined scrollbar (webkit) */
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--c-bg-deep); }
::-webkit-scrollbar-thumb { background: #25252a; border-radius: 6px; }
::-webkit-scrollbar-thumb:hover { background: #35353a; }

/* ===========================================================
   STICKY BOOKING BAR — pojawia się po hero
   =========================================================== */
.booking-bar {
	position: fixed;
	left: 16px; right: 16px; bottom: 16px;
	z-index: 90;
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px;
	padding: 14px 14px 14px 24px;
	background: rgba(15, 15, 18, .85);
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
	border: 1px solid var(--c-glass-line);
	border-radius: 999px;
	box-shadow: 0 24px 60px -20px rgba(0,0,0,.7);
	transform: translateY(160%);
	transition: transform .5s var(--ease-apple);
	max-width: 920px;
	margin: 0 auto;
}
.booking-bar.is-visible { transform: translateY(0); }
.booking-bar__text {
	display: flex; flex-direction: column;
	min-width: 0;
}
.booking-bar__title {
	font-size: 0.95rem; font-weight: 600;
	color: var(--c-text); letter-spacing: -0.01em;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.booking-bar__sub {
	font-size: 0.78rem; color: var(--c-text-3);
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.booking-bar__actions { display: flex; gap: 8px; flex-shrink: 0; }
.booking-bar .btn-pill { padding: 12px 20px; font-size: 0.9rem; }
@media (max-width: 640px) {
	.booking-bar { left: 8px; right: 8px; bottom: 8px; padding: 10px 10px 10px 16px; }
	.booking-bar__text { display: none; }
	.booking-bar__actions { width: 100%; justify-content: space-between; }
}

/* ===========================================================
   HERO TITLE LETTER REVEAL
   =========================================================== */
.hero-mega__title .word {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
}
.hero-mega__title .word > span {
	display: inline-block;
	transform: translateY(110%);
	transition: transform 1s var(--ease-apple);
}
.hero-mega__title.is-revealed .word > span {
	transform: translateY(0);
}
.hero-mega__title .word > span { transition-delay: 0ms; }
.hero-mega__title .word:nth-child(2) > span { transition-delay: 80ms; }
.hero-mega__title .word:nth-child(3) > span { transition-delay: 160ms; }
.hero-mega__title .word:nth-child(4) > span { transition-delay: 240ms; }
.hero-mega__title .word:nth-child(5) > span { transition-delay: 320ms; }
.hero-mega__title .word:nth-child(6) > span { transition-delay: 400ms; }
.hero-mega__title .word:nth-child(7) > span { transition-delay: 480ms; }
.hero-mega__title .word:nth-child(8) > span { transition-delay: 560ms; }

/* Top tag w hero — Google rating */
.hero-mega__rating {
	position: absolute;
	top: 50%; right: clamp(16px, 4vw, 64px);
	transform: translateY(-50%);
	display: none; /* Pokazuje się tylko na desktopie */
	flex-direction: column; align-items: flex-end; gap: 8px;
	padding: 18px 22px;
	background: var(--c-glass);
	border: 1px solid var(--c-glass-line);
	border-radius: 18px;
	backdrop-filter: var(--blur-glass);
	z-index: 1;
}
@media (min-width: 1100px) { .hero-mega__rating { display: flex; } }
.hero-mega__rating-num {
	font-size: 2.4rem; font-weight: 700; letter-spacing: -0.03em; line-height: 1;
	color: #fff;
}
.hero-mega__rating-stars { color: var(--c-accent); font-size: 1rem; letter-spacing: 2px; }
.hero-mega__rating-label { font-size: 0.78rem; color: rgba(255,255,255,.7); letter-spacing: 0.02em; }

/* ===========================================================
   BENTO GRID — Apple style mosaic
   =========================================================== */
.bento {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-rows: minmax(220px, auto);
	gap: 16px;
}
@media (max-width: 880px) {
	.bento { grid-template-columns: repeat(2, 1fr); }
}
.bento-cell {
	position: relative;
	border-radius: 24px;
	overflow: hidden;
	background: var(--c-bg-2);
	border: 1px solid var(--c-glass-line);
	transition: transform .5s var(--ease-apple), border-color .3s var(--ease-soft);
	min-height: 220px;
	isolation: isolate;
}
.bento-cell:hover { transform: translateY(-4px); border-color: var(--c-glass-line-2); }
.bento-cell--feature   { grid-column: span 2; grid-row: span 2; }
.bento-cell--wide      { grid-column: span 2; }
.bento-cell--tall      { grid-row: span 2; }
@media (max-width: 880px) {
	.bento-cell--feature { grid-column: span 2; grid-row: span 2; }
	.bento-cell--wide    { grid-column: span 2; }
	.bento-cell--tall    { grid-column: span 1; grid-row: span 2; }
}
.bento-cell__media {
	position: absolute; inset: 0;
	z-index: -1;
	overflow: hidden;
}
.bento-cell__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 1s var(--ease-apple);
}
.bento-cell:hover .bento-cell__media img { transform: scale(1.06); }
.bento-cell__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(6,6,8,.85) 100%);
}
.bento-cell__body {
	position: relative;
	padding: clamp(20px, 2.6vw, 32px);
	height: 100%;
	display: flex; flex-direction: column;
	justify-content: flex-end;
	gap: 4px;
}
.bento-cell__eyebrow {
	color: var(--c-accent);
	font-size: 0.78rem; font-weight: 600;
	letter-spacing: 0.14em; text-transform: uppercase;
	margin-bottom: 4px;
}
.bento-cell__title {
	font-size: clamp(1.2rem, 2vw, 1.8rem);
	font-weight: 700; letter-spacing: -0.02em; line-height: 1.1;
	color: #fff; margin: 0;
}
.bento-cell--feature .bento-cell__title {
	font-size: clamp(1.6rem, 3vw, 2.6rem);
	max-width: 18ch;
}
.bento-cell__lead {
	color: rgba(255,255,255,.78);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 6px 0 0;
}
.bento-cell--feature .bento-cell__lead {
	font-size: 1.05rem;
	max-width: 36ch;
}
.bento-cell__cta {
	display: inline-flex; align-items: center; gap: 6px;
	color: #fff; font-weight: 600; font-size: 0.92rem;
	margin-top: 14px;
	transition: gap .25s var(--ease-apple);
}
.bento-cell:hover .bento-cell__cta { gap: 12px; }
.bento-cell__cta::after { content: '→'; }

/* Bento-cell: variant bez obrazka — solid card */
.bento-cell--solid { background: var(--c-bg-2); }
.bento-cell--solid .bento-cell__media { display: none; }
.bento-cell--solid .bento-cell__body { justify-content: space-between; }

/* Bento — leaderboard variant */
.bento-cell--board { padding: 0; }
.bento-cell--board .bento-cell__body { justify-content: flex-start; padding-bottom: 16px; }
.lb-list {
	list-style: none; margin: 16px 0 0; padding: 0;
	display: flex; flex-direction: column; gap: 10px;
}
.lb-row {
	display: grid;
	grid-template-columns: 28px 1fr auto;
	align-items: center;
	gap: 14px;
	padding: 8px 0;
	border-bottom: 1px solid rgba(255,255,255,.06);
}
.lb-row:last-child { border-bottom: 0; }
.lb-row__pos {
	font-weight: 700; font-size: 0.9rem;
	color: var(--c-text-3);
	font-variant-numeric: tabular-nums;
}
.lb-row--top1 .lb-row__pos { color: var(--c-accent); }
.lb-row__name { font-weight: 500; font-size: 0.95rem; color: #fff; }
.lb-row__name small { display: block; color: var(--c-text-3); font-size: 0.78rem; font-weight: 400; }
.lb-row__time {
	font-variant-numeric: tabular-nums;
	font-weight: 700; font-size: 1rem; color: #fff;
	letter-spacing: -0.01em;
}
.lb-row--top1 .lb-row__time { color: var(--c-accent); }

/* Bento — testimonial variant */
.bento-cell--quote .bento-cell__media { display: none; }
.bento-cell--quote {
	background: linear-gradient(135deg, rgba(255,45,32,0.18) 0%, rgba(20,20,24,1) 70%);
}
.bento-cell--quote .bento-cell__body { justify-content: space-between; }
.bento-cell--quote blockquote {
	font-size: 1.05rem; line-height: 1.5;
	font-weight: 500; letter-spacing: -0.01em;
	margin: 0; color: #fff;
}
.bento-cell--quote cite {
	font-style: normal;
	color: rgba(255,255,255,.7);
	font-size: 0.85rem;
}

/* Bento — slot widget variant */
.bento-cell--slot .bento-cell__media { display: none; }
.bento-cell--slot { background: linear-gradient(180deg, #0f0f12 0%, #16161b 100%); }
.bento-cell--slot .bento-cell__body { justify-content: space-between; }
.slot-pills {
	display: flex; gap: 6px; flex-wrap: wrap; margin-top: 12px;
}
.slot-pill {
	padding: 8px 14px;
	border: 1px solid var(--c-glass-line);
	border-radius: 999px;
	font-size: 0.85rem; font-weight: 500;
	color: var(--c-text);
	background: rgba(255,255,255,.04);
	transition: border-color .25s var(--ease-soft), color .25s var(--ease-soft);
	cursor: pointer;
}
.slot-pill:hover { border-color: var(--c-accent); color: var(--c-accent); }
.slot-pill--unavail { opacity: 0.4; pointer-events: none; text-decoration: line-through; }

/* ===========================================================
   PROCESS TIMELINE — "Twoja wizyta krok po kroku"
   =========================================================== */
.timeline {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	position: relative;
	margin-top: 60px;
}
@media (max-width: 880px) { .timeline { grid-template-columns: 1fr; gap: 24px; } }

.timeline::before {
	content: '';
	position: absolute;
	top: 28px; left: 5%; right: 5%;
	height: 2px;
	background: linear-gradient(90deg, var(--c-accent) 0%, rgba(255,45,32,0.25) 100%);
	z-index: 0;
}
@media (max-width: 880px) { .timeline::before { display: none; } }

.timeline__step {
	position: relative;
	display: flex; flex-direction: column; align-items: center;
	text-align: center;
	padding: 0 16px;
	z-index: 1;
}
@media (max-width: 880px) { .timeline__step { align-items: flex-start; text-align: left; padding: 0; } }
.timeline__num {
	width: 56px; height: 56px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--c-bg-deep);
	border: 2px solid var(--c-accent);
	color: var(--c-accent);
	font-weight: 700; font-size: 1.1rem;
	margin-bottom: 20px;
	font-variant-numeric: tabular-nums;
}
.timeline__step h3 {
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	margin: 0 0 8px;
	color: #fff;
}
.timeline__step p {
	color: var(--c-text-2);
	font-size: 0.95rem;
	line-height: 1.5;
	margin: 0;
	max-width: 28ch;
}

/* ===========================================================
   PERSONA STORIES — duże bloki dla każdego segmentu
   =========================================================== */
.personas {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}
@media (max-width: 720px) { .personas { grid-template-columns: 1fr; } }

.persona {
	position: relative;
	min-height: 460px;
	border-radius: 24px;
	overflow: hidden;
	display: flex; flex-direction: column; justify-content: flex-end;
	padding: clamp(28px, 3.5vw, 48px);
	transition: transform .5s var(--ease-apple);
	isolation: isolate;
	color: #fff;
	border: 1px solid var(--c-glass-line);
}
.persona:hover { transform: translateY(-4px); }
.persona__media {
	position: absolute; inset: 0; z-index: -1;
	overflow: hidden;
}
.persona__media img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 1s var(--ease-apple);
}
.persona:hover .persona__media img { transform: scale(1.06); }
.persona__media::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.1) 0%, rgba(6,6,8,.85) 70%, rgba(6,6,8,.97) 100%);
}
.persona__eyebrow {
	color: var(--c-accent);
	font-size: 0.78rem; font-weight: 600;
	letter-spacing: 0.16em; text-transform: uppercase;
	margin-bottom: 12px;
}
.persona__title {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 700; letter-spacing: -0.025em; line-height: 1.1;
	margin: 0 0 12px;
}
.persona__lead {
	color: rgba(255,255,255,.85);
	font-size: 1rem;
	line-height: 1.55;
	margin: 0 0 20px;
	max-width: 40ch;
}
.persona__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 24px; }
.persona__chip {
	font-size: 0.78rem;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.16);
	color: #fff;
	font-weight: 500;
}
.persona__cta {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 12px 22px;
	border-radius: 999px;
	background: rgba(255,255,255,.95);
	color: #0a0a0c;
	font-weight: 600; font-size: 0.92rem;
	transition: gap .25s var(--ease-apple), background .3s;
	align-self: flex-start;
}
.persona__cta:hover { gap: 14px; background: #fff; color: #0a0a0c; }

/* ===========================================================
   MAGAZINE GALLERY — asymmetric mosaic
   =========================================================== */
.gallery-mag {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-rows: 180px;
	gap: 12px;
}
@media (max-width: 880px) { .gallery-mag { grid-template-columns: repeat(2, 1fr); grid-auto-rows: 220px; } }

.gallery-mag__item {
	position: relative;
	overflow: hidden;
	border-radius: 16px;
	background: var(--c-bg-3);
	cursor: pointer;
}
.gallery-mag__item img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform 1s var(--ease-apple), filter .4s;
}
.gallery-mag__item:hover img { transform: scale(1.06); filter: brightness(1.1); }
.gallery-mag__item::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(0,0,0,.6) 100%);
	opacity: 0;
	transition: opacity .3s;
}
.gallery-mag__item:hover::after { opacity: 1; }
.gallery-mag__caption {
	position: absolute; left: 16px; bottom: 16px;
	color: #fff; font-size: 0.85rem; font-weight: 500;
	letter-spacing: -0.01em;
	opacity: 0; transform: translateY(8px);
	transition: opacity .3s var(--ease-apple), transform .3s var(--ease-apple);
	z-index: 1;
}
.gallery-mag__item:hover .gallery-mag__caption { opacity: 1; transform: translateY(0); }

/* Spany dla różnych pozycji w siatce — magazine feel */
.gallery-mag__item--w2 { grid-column: span 2; }
.gallery-mag__item--w3 { grid-column: span 3; }
.gallery-mag__item--h2 { grid-row: span 2; }
.gallery-mag__item--h3 { grid-row: span 3; }
@media (max-width: 880px) {
	.gallery-mag__item--w3 { grid-column: span 2; }
	.gallery-mag__item--h3 { grid-row: span 2; }
}

/* ===========================================================
   FAQ PREMIUM
   =========================================================== */
.faq-premium {
	max-width: 880px; margin: 0 auto;
	display: flex; flex-direction: column; gap: 12px;
}
.faq-premium details {
	background: linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%);
	border: 1px solid var(--c-glass-line);
	border-radius: 18px;
	transition: border-color .3s var(--ease-soft), background .3s;
	overflow: hidden;
}
.faq-premium details[open] {
	border-color: rgba(255,45,32,0.4);
	background: linear-gradient(180deg, rgba(255,45,32,0.06) 0%, rgba(255,255,255,.01) 100%);
}
.faq-premium summary {
	display: flex; justify-content: space-between; align-items: center;
	gap: 16px;
	padding: 22px 26px;
	cursor: pointer;
	font-weight: 600; font-size: 1.05rem;
	letter-spacing: -0.01em;
	color: #fff;
	list-style: none;
}
.faq-premium summary::-webkit-details-marker { display: none; }
.faq-premium__icon {
	flex-shrink: 0;
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: rgba(255,255,255,.08);
	color: #fff;
	font-weight: 300;
	font-size: 1.4rem;
	transition: transform .3s var(--ease-spring), background .25s;
	position: relative;
}
.faq-premium__icon::before, .faq-premium__icon::after {
	content: '';
	position: absolute;
	background: currentColor;
	border-radius: 1px;
	transition: transform .3s var(--ease-spring);
}
.faq-premium__icon::before { width: 12px; height: 2px; }
.faq-premium__icon::after { width: 2px; height: 12px; }
.faq-premium details[open] .faq-premium__icon { background: var(--c-accent); color: #fff; }
.faq-premium details[open] .faq-premium__icon::after { transform: rotate(90deg); opacity: 0; }
.faq-premium__answer {
	padding: 0 26px 24px;
	color: var(--c-text-2);
	font-size: 1rem;
	line-height: 1.6;
	max-width: 70ch;
}
.faq-premium__answer p:first-child { margin-top: 0; }
.faq-premium__answer p:last-child { margin-bottom: 0; }

/* ===========================================================
   MAP SECTION — dark-themed map + contact card
   =========================================================== */
.map-section {
	position: relative;
	min-height: 540px;
	background: var(--c-bg-deep);
	overflow: hidden;
}
.map-section__embed {
	position: absolute; inset: 0;
}
.map-section__embed iframe {
	width: 100%; height: 100%;
	border: 0;
	filter: invert(1) hue-rotate(180deg) brightness(0.85) contrast(0.9) saturate(0.7);
}
.map-section__embed::after {
	content: '';
	position: absolute; inset: 0;
	background: linear-gradient(135deg, rgba(6,6,8,.9) 0%, rgba(6,6,8,.5) 50%, transparent 100%);
	pointer-events: none;
}
.map-card {
	position: relative;
	max-width: 1240px; margin: 0 auto;
	padding: clamp(60px, 8vw, 120px) var(--gutter);
	display: flex; align-items: center;
	min-height: 540px;
	z-index: 1;
}
.map-card__inner {
	max-width: 460px;
	padding: clamp(28px, 3vw, 40px);
	background: var(--c-glass);
	border: 1px solid var(--c-glass-line);
	border-radius: 24px;
	backdrop-filter: var(--blur-glass);
	-webkit-backdrop-filter: var(--blur-glass);
}
.map-card__eyebrow {
	color: var(--c-accent);
	font-size: 0.78rem; font-weight: 600;
	letter-spacing: 0.14em; text-transform: uppercase;
	margin-bottom: 12px;
}
.map-card h2 {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 700; letter-spacing: -0.025em;
	margin: 0 0 16px;
	color: #fff;
}
.map-card__addr {
	font-style: normal;
	font-size: 1.05rem;
	color: var(--c-text);
	margin-bottom: 20px;
	line-height: 1.5;
}
.map-card__items {
	list-style: none;
	margin: 0 0 24px;
	padding: 18px 0;
	border-top: 1px solid var(--c-glass-line);
	border-bottom: 1px solid var(--c-glass-line);
	display: flex; flex-direction: column; gap: 8px;
}
.map-card__items li {
	display: flex; justify-content: space-between; gap: 16px;
	font-size: 0.95rem;
}
.map-card__items strong { color: var(--c-text-3); font-weight: 500; }
.map-card__items a { color: var(--c-text); font-weight: 500; }
.map-card__items a:hover { color: var(--c-accent); }
.map-card__actions { display: flex; gap: 10px; flex-wrap: wrap; }

/* ===========================================================
   COMPARISON / "Co wybrać"
   =========================================================== */
.compare {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}
@media (max-width: 880px) { .compare { grid-template-columns: 1fr; } }
.compare__col {
	background: linear-gradient(180deg, rgba(255,255,255,.03) 0%, rgba(255,255,255,.01) 100%);
	border: 1px solid var(--c-glass-line);
	border-radius: 24px;
	padding: 32px;
	display: flex; flex-direction: column;
	transition: border-color .3s, transform .4s var(--ease-apple);
}
.compare__col:hover { border-color: rgba(255,255,255,.18); transform: translateY(-4px); }
.compare__col--accent {
	border-color: var(--c-accent);
	background: linear-gradient(180deg, rgba(255,45,32,0.08) 0%, rgba(255,255,255,.01) 100%);
	position: relative;
}
.compare__col--accent::before {
	content: 'Najczęściej wybierane';
	position: absolute; top: -12px; left: 50%;
	transform: translateX(-50%);
	background: var(--c-accent);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	padding: 4px 12px;
	border-radius: 999px;
	white-space: nowrap;
}
.compare__name {
	font-size: 0.85rem; color: var(--c-text-3);
	letter-spacing: 0.1em; text-transform: uppercase; font-weight: 500;
	margin-bottom: 8px;
}
.compare__title {
	font-size: 1.6rem; font-weight: 700; letter-spacing: -0.025em;
	margin: 0 0 16px; color: #fff;
}
.compare__price {
	font-size: 2.2rem; font-weight: 800; letter-spacing: -0.03em;
	color: var(--c-accent); margin-bottom: 4px;
}
.compare__price-note { color: var(--c-text-3); font-size: 0.85rem; margin-bottom: 24px; }
.compare__list {
	list-style: none; margin: 0 0 28px; padding: 0;
	display: flex; flex-direction: column; gap: 10px;
	flex: 1;
}
.compare__list li {
	display: flex; align-items: flex-start; gap: 10px;
	font-size: 0.95rem; color: var(--c-text);
}
.compare__list li::before {
	content: '✓';
	color: var(--c-accent);
	font-weight: 700;
	flex-shrink: 0;
}

/* ===========================================================
   STAT/BADGE STRIP — premium
   =========================================================== */
.badges-strip {
	display: flex; gap: 12px; flex-wrap: wrap;
	justify-content: center;
	margin-top: 32px;
}
.badge {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 10px 16px;
	background: var(--c-glass);
	border: 1px solid var(--c-glass-line);
	border-radius: 999px;
	font-size: 0.88rem;
	color: var(--c-text);
	backdrop-filter: var(--blur-glass);
}
.badge__icon { color: var(--c-accent); }

/* ===========================================================
   Premium card (fix to v2 cards-xl)
   =========================================================== */
.card-xl { min-height: 480px; }
.card-xl__media { aspect-ratio: 16/11; }
.card-xl__name { font-size: 1.55rem; }

/* ===========================================================
   SECTION DIVIDER — fancy gradient line
   =========================================================== */
.divider-grad {
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
	margin: 0 auto;
	max-width: 600px;
}

/* ===========================================================
   Tweaki finalne
   =========================================================== */
.section--xl { padding: clamp(96px, 13vw, 220px) 0; }
.hero-mega { padding-bottom: clamp(80px, 12vh, 160px); }

/* Footer refinement */
.site-footer { background: linear-gradient(180deg, var(--c-bg-deep) 0%, #050507 100%); border-top: 1px solid rgba(255,255,255,.06); }
.cta-band { display: none; } /* w v3 mamy własny cta-final */

/* Chip tags w hero */
.hero-mega__features {
	display: flex; gap: 18px; flex-wrap: wrap;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(255,255,255,.12);
	max-width: 600px;
}
.hero-mega__feature {
	display: inline-flex; align-items: center; gap: 8px;
	color: rgba(255,255,255,.78);
	font-size: 0.85rem;
	font-weight: 500;
}
.hero-mega__feature::before {
	content: '';
	width: 4px; height: 4px;
	border-radius: 50%;
	background: var(--c-accent);
}

/* Section bg variants */
.section--bg-warm { background: linear-gradient(180deg, var(--c-bg-deep) 0%, #0d0709 100%); }
.section--bg-flat { background: #0a0a0c; }
.section--bg-deeper { background: var(--c-bg-deep); }

/* Hero rating mobile fallback */
@media (max-width: 1099px) {
	.hero-mega__inner { padding-bottom: 8px; }
}
