/* ── HOME HERO SLIDER ─────────────────────────────────────────────────────── */

.hero-slider {
	position: relative;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	--nestai-accent: var(--orange, #F15B3F);
	background: var(--teal-dk, #03504f);
	overflow: hidden;
	/* Prevent layout shift before JS loads */
	height: clamp(320px, 52vh, 580px);
}

section.hero-slider {
	padding-top: 0;
	padding-bottom: 0;
}

/* Track — crossfade container */
.hero-slider__track {
	position: relative;
	height: 100%;
	min-height: 0;
}

/* Single slide */
.hero-slider__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	--hero-fg: #fff;
	--hero-muted: rgba(255,255,255,.68);
	--hero-eyebrow: rgba(255,255,255,.72);
	--hero-border: rgba(255,255,255,.28);
	--hero-border-hover: rgba(255,255,255,.62);
	--hero-accent: var(--orange, #F15B3F);
	--hero-accent-hover: var(--orange, #F15B3F);
	overflow: hidden;
	opacity: 0;
	transition: opacity .9s ease;
	pointer-events: none;
}
.hero-slider__slide.is-active {
	opacity: 1;
	pointer-events: auto;
}

/* Background image layer */
.hero-slider__bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.hero-slider__bg::after {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.hero-slider__bg-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	transform: scale(1.04);
	transition: transform 8s ease;
	will-change: transform;
}
.hero-slider__slide.is-active .hero-slider__bg-image {
	transform: scale(1);
}

/* Jasny */
.hero-slider__slide--0 {
	--hero-fg: var(--ink, #1A2229);
	--hero-muted: var(--text, #354047);
	--hero-eyebrow: var(--teal, #046967);
	--hero-border: rgba(4,105,103,.24);
	--hero-border-hover: rgba(4,105,103,.56);
	--hero-accent: var(--orange, #F15B3F);
	--hero-accent-hover: var(--orange, #F15B3F);
}
.hero-slider__slide--0 .hero-slider__bg {
	background-color: var(--cream, #FAF8F5);
}
.hero-slider__slide--0 .hero-slider__bg::after {
	background:
		linear-gradient(100deg, rgba(250,248,245,.96) 0%, rgba(250,248,245,.82) 46%, rgba(250,248,245,.22) 100%),
		linear-gradient(180deg, rgba(240,235,227,.08) 0%, rgba(240,235,227,.46) 100%);
}

/* Ciemny */
.hero-slider__slide--1 .hero-slider__bg {
	background-color: var(--ink, #1A2229);
}
.hero-slider__slide--1 .hero-slider__bg::after {
	background:
		linear-gradient(105deg, rgba(26,34,41,.92) 0%, rgba(3,80,79,.68) 54%, rgba(26,34,41,.42) 100%),
		linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(0,0,0,.52) 100%);
}

/* Zielony */
.hero-slider__slide--2 {
	--hero-accent: var(--orange, #F15B3F);
	--hero-accent-hover: var(--orange, #F15B3F);
}
.hero-slider__slide--2 .hero-slider__bg {
	background-color: var(--teal-dk, #03504f);
}
.hero-slider__slide--2 .hero-slider__bg::after {
	background:
		linear-gradient(108deg, rgba(3,80,79,.93) 0%, rgba(4,105,103,.74) 52%, rgba(6,164,161,.34) 100%),
		linear-gradient(180deg, rgba(0,0,0,.08) 0%, rgba(3,80,79,.48) 100%);
}

/* Ciepły */
.hero-slider__slide--3 {
	--hero-accent: var(--orange, #F15B3F);
	--hero-accent-hover: var(--orange, #F15B3F);
}
.hero-slider__slide--3 .hero-slider__bg {
	background-color: var(--orange-dk, #ec3411);
}
.hero-slider__slide--3 .hero-slider__bg::after {
	background:
		linear-gradient(103deg, rgba(236,52,17,.9) 0%, rgba(241,91,63,.68) 50%, rgba(244,132,111,.28) 100%),
		linear-gradient(180deg, rgba(26,34,41,.06) 0%, rgba(26,34,41,.42) 100%);
}

/* Decorative circle graphic (CSS only) */
.hero-slider__deco {
	position: absolute;
	right: -60px;
	top: 50%;
	transform: translateY(-50%);
	width: min(540px, 55vw);
	height: min(540px, 55vw);
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.06);
	pointer-events: none;
}
.hero-slider__deco::before {
	content: '';
	position: absolute;
	inset: 32px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.06);
}
.hero-slider__deco::after {
	content: '';
	position: absolute;
	inset: 80px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,.03) 0%, transparent 70%);
}

/* Content area */
.hero-slider__content {
	position: relative;
	z-index: 2;
	max-width: 1280px;
	width: 100%;
	margin: 0 auto;
	padding: 0 64px;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* Eyebrow label */
.hero-slider__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--sans);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hero-eyebrow);
	margin-bottom: 18px;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .6s ease .1s, transform .6s ease .1s;
}
.hero-slider__eyebrow::before {
	content: '';
	display: block;
	width: 28px;
	height: 1px;
	background: var(--hero-accent);
}

/* Heading */
.hero-slider__heading {
	font-family: var(--serif, Georgia, serif);
	font-size: clamp(2rem, 4.5vw, 3.6rem);
	font-weight: 400;
	line-height: 1.15;
	color: var(--hero-fg);
	margin: 0 0 20px;
	max-width: 560px;
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .65s ease .22s, transform .65s ease .22s;
}
.hero-slider__heading em {
	font-style: italic;
	color: var(--hero-muted);
}

/* Sub */
.hero-slider__sub {
	font-family: var(--sans);
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--hero-muted);
	max-width: 420px;
	margin: 0 0 36px;
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .6s ease .38s, transform .6s ease .38s;
}

/* CTA buttons */
.hero-slider__ctas {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .55s ease .52s, transform .55s ease .52s;
}

.hero-slider__btn-primary {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 28px;
	background: var(--hero-accent);
	color: #fff;
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: .04em;
	text-decoration: none;
	border-radius: 2px;
	transition: background .2s, transform .15s;
}
.hero-slider__btn-primary:hover {
	background: var(--hero-accent-hover);
	transform: translateY(-1px);
	color: #fff;
	text-decoration: none;
}
.hero-slider__btn-primary i { font-size: 11px; }

.hero-slider__btn-ghost {
	position: relative;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 12px 20px;
	border: 1px solid var(--hero-border);
	color: var(--hero-muted);
	font-family: var(--sans);
	font-size: 12.5px;
	font-weight: 500;
	text-decoration: none;
	border-radius: 2px;
	transition: border-color .2s, color .2s;
}
.hero-slider__btn-ghost:hover {
	border-color: var(--hero-border-hover);
	color: var(--hero-fg);
	text-decoration: none;
}

/* Animate in when slide is active */
.hero-slider__slide.is-active .hero-slider__eyebrow,
.hero-slider__slide.is-active .hero-slider__heading,
.hero-slider__slide.is-active .hero-slider__sub,
.hero-slider__slide.is-active .hero-slider__ctas {
	opacity: 1;
	transform: translateY(0);
}

/* ── Full-slide clickable link overlay ────────────────────────── */

.hero-slider__slide-link {
	position: absolute;
	inset: 0;
	z-index: 8;
	display: block;
	cursor: pointer;
}

/* ── Navigation buttons ───────────────────────────────────────── */

.hero-slider__nav {
	position: absolute;
	bottom: 36px;
	right: 64px;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 8px;
}

.hero-slider__arrow {
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 50%;
	background: rgba(0,0,0,.25);
	backdrop-filter: blur(6px);
	color: rgba(255,255,255,.8);
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: border-color .2s, background .2s, color .2s;
}
.hero-slider__arrow svg {
	width: 18px;
	height: 18px;
	display: block;
	fill: none;
	stroke: currentColor;
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.hero-slider__arrow:hover {
	border-color: rgba(255,255,255,.65);
	background: rgba(255,255,255,.1);
	color: #fff;
}
.hero-slider__arrow:disabled {
	opacity: .3;
	cursor: default;
}

/* ── Dots ─────────────────────────────────────────────────────── */

.hero-slider__dots {
	position: absolute;
	bottom: 44px;
	left: 64px;
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 8px;
}

.hero-slider__dot {
	width: 24px;
	height: 2px;
	background: rgba(4,105,103,.35);
	border: none;
	cursor: pointer;
	padding: 0;
	transition: background .3s, width .3s;
}
.hero-slider__dot.is-active {
	background: var(--nestai-accent);
	width: 40px;
}

/* ── Progress bar ─────────────────────────────────────────────── */

.hero-slider__progress {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 2px;
	background: var(--nestai-accent);
	width: 0%;
	z-index: 10;
	transition: width linear;
}

/* ── High contrast ────────────────────────────────────────────── */

[data-contrast="high"] .hero-slider {
	--nestai-accent: #ffb347;
	background: var(--hc-bg, #12100e);
	border-top: 1px solid rgba(255,255,255,.2);
	border-bottom: 1px solid rgba(255,255,255,.2);
}

[data-contrast="high"] .hero-slider__slide {
	--hero-fg: #fff;
	--hero-muted: #f7f3ec;
	--hero-eyebrow: #ffd9ac;
	--hero-border: rgba(255,255,255,.75);
	--hero-border-hover: #fff;
	--hero-accent: #ffb347;
	--hero-accent-hover: #ffc07a;
}

[data-contrast="high"] .hero-slider__bg {
	background: var(--hc-bg, #12100e) !important;
}

[data-contrast="high"] .hero-slider__bg-image {
	filter: grayscale(1) contrast(1.25) brightness(.48);
}

[data-contrast="high"] .hero-slider__bg::after {
	background: linear-gradient(105deg, rgba(0,0,0,.92) 0%, rgba(18,16,14,.84) 52%, rgba(0,0,0,.68) 100%) !important;
}

[data-contrast="high"] .hero-slider__deco,
[data-contrast="high"] .hero-slider__deco::before {
	border-color: rgba(255,255,255,.26);
}

[data-contrast="high"] .hero-slider__deco::after {
	background: radial-gradient(circle, rgba(255,179,71,.16) 0%, transparent 70%);
}

[data-contrast="high"] .hero-slider__heading,
[data-contrast="high"] .hero-slider__heading em,
[data-contrast="high"] .hero-slider__sub {
	color: #fff;
}

[data-contrast="high"] .hero-slider__eyebrow {
	color: #ffd9ac;
}

[data-contrast="high"] .hero-slider__eyebrow::before {
	background: #ffb347;
}

[data-contrast="high"] .hero-slider__btn-primary {
	background: #ffb347;
	border: 2px solid #ffb347;
	color: #000;
}

[data-contrast="high"] .hero-slider__btn-primary:hover,
[data-contrast="high"] .hero-slider__btn-primary:focus-visible {
	background: #ffc07a;
	border-color: #ffc07a;
	color: #000;
}

[data-contrast="high"] .hero-slider__btn-ghost {
	background: rgba(0,0,0,.18);
	border-color: rgba(255,255,255,.8);
	color: #fff;
}

[data-contrast="high"] .hero-slider__btn-ghost:hover,
[data-contrast="high"] .hero-slider__btn-ghost:focus-visible {
	background: rgba(255,255,255,.14);
	border-color: #fff;
	color: #fff;
}

[data-contrast="high"] .hero-slider__arrow {
	background: var(--hc-surface, #1c1915);
	border-color: rgba(255,255,255,.75);
	color: #ffd9ac;
}

[data-contrast="high"] .hero-slider__arrow:hover,
[data-contrast="high"] .hero-slider__arrow:focus-visible {
	background: rgba(255,255,255,.14);
	border-color: #fff;
	color: #fff;
}

[data-contrast="high"] .hero-slider__dot {
	background: rgba(255,255,255,.5);
}

[data-contrast="high"] .hero-slider__dot.is-active,
[data-contrast="high"] .hero-slider__progress {
	background: #ffb347;
}

@media (min-width: 1024px) {
	.hero-slider { height: 500px; }
}

/* ── Responsive ───────────────────────────────────────────────── */

@media (max-width: 768px) {
	.hero-slider { height: clamp(275px, 57vh, 435px); }
	.hero-slider__content { padding: 0 24px; }
	.hero-slider__heading { font-size: clamp(1.65rem, 6vw, 2.4rem); }
	.hero-slider__sub { font-size: 13.5px; }
	.hero-slider__nav { right: 24px; bottom: 28px; }
	.hero-slider__dots { left: 24px; bottom: 36px; }
	.hero-slider__deco { display: none; }
}

@media (max-width: 480px) {
	.hero-slider { height: 61svh; }
	.hero-slider__content { padding: 0 20px; }
	.hero-slider__btn-ghost { display: none; }
}
