/* [v1.18] Promo karta P2b — tmavý vertikální polaroid (finální design schválený
   Jirkou 28. 8., artifact „Promo karta TerraHunt"). Polaroidy přilétají jako
   v motion bannerech: zadní první, přední za ním (IO trigger v inline JS,
   inc/blog-promo-banner.php). Caveat = self-host subset (GDPR, žádný Google
   Fonts request). Načítá se JEN na článcích s th_promo_program_id. */

@font-face {
	font-family: 'Caveat';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/caveat-600-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Caveat';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('../fonts/caveat-600-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.th-promo-banner {
	border-radius: 18px;
	background: #1c2727;
	color: #fff;
	box-shadow: 0 16px 44px rgba(28, 39, 39, 0.25);
	margin: 3.5rem 0;
	overflow: visible;
}

.th-promo-banner__split {
	display: flex;
	align-items: center;
	gap: 34px;
	padding: 52px;
}

.th-promo-banner__stack {
	flex: 0 0 38%;
	position: relative;
}

.th-promo-banner__pol {
	/* display:block NUTNÝ — markup je <span> (uvnitř <a>); inline element
	   ignoruje transform i vertikální padding → rámeček „ulítává" (Jirka 28.8.) */
	display: block;
	background: #fff;
	padding: 13px 13px 50px;
	border-radius: 6px;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5);
	position: relative;
}

.th-promo-banner__pol img {
	width: 100%;
	display: block;
	border-radius: 3px;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

.th-promo-banner__cap {
	position: absolute;
	bottom: 10px;
	left: 0;
	right: 0;
	text-align: center;
	font-family: 'Caveat', 'Poppins', cursive;
	font-size: 1.45rem;
	color: #3d4a4a;
	line-height: 1;
}

.th-promo-banner__pol--front {
	z-index: 2;
	transform: rotate(-2.2deg);
}

.th-promo-banner__pol--back {
	position: absolute;
	inset: -12px -18px auto 18px;
	z-index: 1;
	transform: rotate(4deg);
}

.th-promo-banner__pol--back img {
	filter: brightness(0.94);
}

/* nálet: zadní první, přední za ním; do triggeru (.is-play) neviditelné */
.th-promo-banner .th-promo-banner__pol { opacity: 0; }
.th-promo-banner.is-play .th-promo-banner__pol--back {
	animation: th-promo-flyin-l 0.9s cubic-bezier(0.2, 1.3, 0.35, 1) both 0.1s;
}
.th-promo-banner.is-play .th-promo-banner__pol--front {
	animation:
		th-promo-flyin-r 0.9s cubic-bezier(0.2, 1.3, 0.35, 1) both 0.75s,
		th-promo-drift 7s ease-in-out 2.4s infinite;
}
@keyframes th-promo-flyin-l {
	from { opacity: 0; transform: translate(-70vw, -18vh) rotate(-32deg); }
	70% { opacity: 1; }
	to { opacity: 1; transform: rotate(4deg); }
}
@keyframes th-promo-flyin-r {
	from { opacity: 0; transform: translate(70vw, -12vh) rotate(28deg); }
	70% { opacity: 1; }
	to { opacity: 1; transform: rotate(-2.2deg); }
}
@keyframes th-promo-drift {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -7px; }
}

.th-promo-banner__text {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	gap: 18px;
	align-items: flex-start;
}

.th-promo-banner__eyebrow {
	margin: 0;
	font-size: 1.02rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: #39e7e1;
}

.th-promo-banner__headline {
	margin: 0;
	font-size: 2.8rem;
	line-height: 1.16;
	font-weight: 800;
	color: #fff;
}

.th-promo-banner__slam {
	display: inline-block;
	background: #fb5622;
	color: #fff;
	padding: 0 0.3em;
	border-radius: 6px;
	transform: rotate(-1.2deg);
}

.th-promo-banner__line {
	width: 84px;
	height: 5px;
	background: #39e7e1;
	border-radius: 3px;
}

.th-promo-banner__body {
	margin: 0;
	font-size: 1.42rem;
	line-height: 1.58;
	color: rgba(255, 255, 255, 0.93);
}

.th-promo-banner__cta {
	display: inline-block;
	background: #fb5622;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 1.4rem;
	padding: 18px 44px;
	border-radius: 999px;
	position: relative;
	overflow: hidden;
	margin-top: 0.5rem;
	animation: th-promo-pulse 2s ease-in-out infinite;
}

.th-promo-banner__cta::after {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 55%;
	height: 100%;
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	animation: th-promo-shine 3.2s ease-in-out infinite;
}

@keyframes th-promo-pulse {
	0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(251, 86, 34, 0.5); }
	50% { transform: scale(1.045); box-shadow: 0 0 0 16px rgba(251, 86, 34, 0); }
}
@keyframes th-promo-shine {
	0%, 55% { left: -80%; }
	85%, 100% { left: 130%; }
}

@media (prefers-reduced-motion: reduce) {
	.th-promo-banner .th-promo-banner__pol { opacity: 1; animation: none; }
	.th-promo-banner.is-play .th-promo-banner__pol--front,
	.th-promo-banner.is-play .th-promo-banner__pol--back { animation: none; }
	.th-promo-banner__cta,
	.th-promo-banner__cta::after { animation: none; }
}

@media (max-width: 991px) {
	.th-promo-banner__headline { font-size: 2.2rem; }
	.th-promo-banner__split { padding: 36px 30px; gap: 28px; }
}

@media (max-width: 767px) {
	.th-promo-banner { margin: 2.5rem 0; }
	.th-promo-banner__split { flex-direction: column; gap: 38px; padding: 26px 20px 32px; }
	.th-promo-banner__stack { flex-basis: auto; width: 82%; align-self: center; }
	.th-promo-banner__headline { font-size: 1.9rem; }
	.th-promo-banner__body { font-size: 1.18rem; }
	.th-promo-banner__cta { font-size: 1.15rem; padding: 14px 32px; }
}
