/* Úvodní slider Bláha Trade – náhrada Slider Revolution 5.4.
   Rozměry a pozice popisků odpovídají původnímu nastavení (main-slider-script.js):
   gridwidth [1200,1040,820,600], gridheight [800,600,500,400], popisky „middle“ + voffset, šířka 720/720/650/450.
   Pod 600 px původní slider vše zmenšoval (text 8 px, tlačítka 11 px) – tam je čitelné mobilní rozložení. */

.bt-slider {
	--k: 1;            /* měřítko = šířka / gw, nastavuje bt-slider.js */
	--gw: 1200;        /* šířka mřížky */
	--gh: 800;         /* výška mřížky */
	--cw: 720;         /* šířka popisků */
	--vo-title: -60;   /* svislé posunutí od středu */
	--vo-text: 60;
	--vo-btns: 140;
	position: relative;
	height: calc(var(--gh) * var(--k) * 1px);
	background: #252525;
	touch-action: pan-y;
}
@media (max-width: 1039px) {
	.bt-slider { --gw: 1040; --gh: 600; --vo-title: -80; --vo-text: 50; --vo-btns: 130; }
}
@media (max-width: 819px) {
	.bt-slider { --gw: 820; --gh: 500; --cw: 650; --vo-title: -70; --vo-text: 30; --vo-btns: 105; }
}

.bt-slider .bt-track {   /* ořez v absolutním vnitřním bloku – sekce sama nesmí tvořit BFC (ustupovala by plovoucím prvkům hlavičky) */
	position: absolute;
	inset: 0;
	overflow: hidden;
}
.bt-slider .bt-slide {
	position: absolute;
	inset: 0;
	visibility: hidden;
	z-index: 1;
}
.bt-slider .bt-slide.is-active,
.bt-slider .bt-slide.is-leaving { visibility: visible; }
.bt-slider .bt-slide.is-active { z-index: 2; }

.bt-slider .bt-slide-bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center center;
}

/* popisky – umístění jako v Revolution: střed slideru + posunutí, vlevo zarovnáno s obsahem (1200 px) */
.bt-slider .bt-cap {
	position: absolute;
	z-index: 5;
	left: calc(max(0px, (100% - var(--gw) * 1px) / 2) + 15px * var(--k));
	width: calc(var(--cw) * var(--k) * 1px);
	top: 50%;
	overflow: hidden;           /* maska náběhové animace */
}
.bt-slider .bt-cap-title { transform: translateY(calc(-50% + var(--vo-title) * var(--k) * 1px)); }
.bt-slider .bt-cap-text  { transform: translateY(calc(-50% + var(--vo-text) * var(--k) * 1px)); }
.bt-slider .bt-cap-btns  { transform: translateY(calc(-50% + var(--vo-btns) * var(--k) * 1px)); overflow: visible; }
/* text a tlačítka se v Revolution zmenšovaly s mřížkou (tp-resizeme), nadpis ne */
.bt-slider .bt-resize > div {
	width: calc(var(--cw) * 1px);
	transform: scale(var(--k));
	transform-origin: left center;
}
.bt-slider .bt-cap-text { height: calc(var(--th, 36) * var(--k) * 1px); }
.bt-slider .bt-cap-btns { height: calc(50px * var(--k)); }
.bt-slider .bt-cap h2, .bt-slider .bt-cap h1 { margin: 0; }
.bt-slider .btns-box { white-space: nowrap; }

/* šipky (styl „metis“ původního slideru) */
.bt-slider .bt-arrow {
	position: absolute;
	z-index: 20;
	top: 50%;
	width: 60px;
	height: 60px;
	margin-top: -30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #000;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background-color .3s;
}
.bt-slider .bt-arrow svg { width: 15px; height: 15px; transition: transform .3s; }
.bt-slider .bt-arrow:hover { background: rgba(255, 255, 255, .75); }
.bt-slider .bt-arrow:hover svg { transform: scale(1.5); }
.bt-slider .bt-arrow:focus-visible { outline: 3px solid #889976; outline-offset: -3px; }
.bt-slider .bt-prev { left: 0; }
.bt-slider .bt-next { right: 0; }

/* přechod „parallaxvertical“ */
@media (prefers-reduced-motion: no-preference) {
	.bt-slider.is-ready .bt-slide.is-entering { animation: bt-in-up 1s cubic-bezier(.645, .045, .355, 1) both; }
	.bt-slider.is-ready .bt-slide.is-leaving  { animation: bt-out-up 1s cubic-bezier(.645, .045, .355, 1) both; }
	.bt-slider.is-ready.is-back .bt-slide.is-entering { animation-name: bt-in-down; }
	.bt-slider.is-ready.is-back .bt-slide.is-leaving  { animation-name: bt-out-down; }

	/* náběh popisků: zpoždění 1 s, 1,5 s, Power3.easeInOut */
	.bt-slider .bt-slide.is-active .bt-cap-title > div,
	.bt-slider .bt-slide.is-active .bt-cap-btns > div { animation: bt-cap-up 1.5s cubic-bezier(.645, .045, .355, 1) 1s both; }
	.bt-slider .bt-slide.is-active .bt-cap-text > div > div { animation: bt-cap-left 1.5s cubic-bezier(.645, .045, .355, 1) 1s both; }
}
@keyframes bt-in-up    { from { transform: translateY(100%); } to { transform: none; } }
@keyframes bt-out-up   { from { transform: none; } to { transform: translateY(-30%); } }
@keyframes bt-in-down  { from { transform: translateY(-100%); } to { transform: none; } }
@keyframes bt-out-down { from { transform: none; } to { transform: translateY(30%); } }
@keyframes bt-cap-up   { from { transform: translateY(100%); opacity: 0; } to { transform: none; opacity: 1; } }
@keyframes bt-cap-left { from { transform: translateX(-100%); opacity: 0; } to { transform: none; opacity: 1; } }
/* tlačítka mají scale() – animace jen průhlednosti a posunu vnitřního bloku */
@media (prefers-reduced-motion: no-preference) {
	.bt-slider .bt-slide.is-active .bt-cap-btns > div { animation-name: bt-cap-up-scaled; }
}
@keyframes bt-cap-up-scaled { from { transform: translateY(100%) scale(var(--k)); opacity: 0; } to { transform: scale(var(--k)); opacity: 1; } }

/* mobil: čitelné písmo a tlačítka pod sebou místo zmenšené kopie desktopu */
@media (max-width: 599px) {
	.bt-slider { height: auto; min-height: 360px; }
	.bt-slider .bt-track { position: relative; inset: auto; min-height: 360px; }
	.bt-slider .bt-slide { display: flex; flex-direction: column; justify-content: center; min-height: 360px; padding: 40px 15px 44px; }
	.bt-slider .bt-slide.is-active { position: relative; }
	.bt-slider .bt-slide-bg { z-index: 0; }
	.bt-slider .bt-slide::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .25); z-index: 1; }
	.bt-slider .bt-cap,
	.bt-slider .bt-cap-title,
	.bt-slider .bt-cap-text,
	.bt-slider .bt-cap-btns { position: relative; left: auto; top: auto; width: auto; height: auto; transform: none; }
	.bt-slider .bt-resize > div { width: auto; transform: none; }
	.bt-slider .bt-cap h2, .bt-slider .bt-cap h1 { font-size: 26px; line-height: 1.15em; }
	.bt-slider .bt-cap-text { margin-top: 12px; }
	.bt-slider .bt-cap .text { font-size: 15px; line-height: 1.6em; }
	.bt-slider .bt-cap-btns { margin-top: 22px; }
	.bt-slider .btns-box { white-space: normal; display: flex; flex-wrap: wrap; gap: 10px; }
	.bt-slider .btns-box .theme-btn { margin: 0; font-size: 14px; }
	.bt-slider .bt-arrow { display: none; }
	.bt-slider .bt-dots { display: flex; }
	@media (prefers-reduced-motion: no-preference) {
		.bt-slider .bt-slide.is-active .bt-cap-btns > div { animation-name: bt-cap-up; }
	}
}

/* tečky jen na mobilu (šipky Revolution se pod 600 px skrývaly a jiná navigace nebyla) */
.bt-slider .bt-dots {
	display: none;
	position: absolute;
	z-index: 20;
	left: 0;
	right: 0;
	bottom: 14px;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bt-slider .bt-dots button {
	width: 24px;
	height: 24px;
	padding: 8px;
	border: 0;
	background: none;
	cursor: pointer;
}
.bt-slider .bt-dots button::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
}
.bt-slider .bt-dots button[aria-current="true"]::before { background: #fff; }

@media (max-width: 599px) {
	.bt-slider .bt-dots { display: flex; }
}
