/* Tasty Promo Slider for Elementor – v1.0.0 */

.tps-slider {
	--tps-speed: 700ms;
	position: relative;
	width: 100%;
	padding: 0 58px;
	box-sizing: border-box;
	outline: none;
	-webkit-tap-highlight-color: transparent;
}
.tps-slider *,
.tps-slider *::before,
.tps-slider *::after { box-sizing: border-box; }

.tps-slider:focus-visible .tps-frame { outline: 2px solid rgba(247, 147, 30, .8); outline-offset: 4px; }

.tps-slider .tps-stage { position: relative; }

/* ---------------- Frame ---------------- */
.tps-slider .tps-frame {
	position: relative;
	padding: 14px;
	border-radius: 24px;
	background-color: var(--tps-f2, #FF7B0A);
	background-image: linear-gradient(var(--tps-f-angle, 90deg), var(--tps-f1, #C9340C) 0%, var(--tps-f2, #FF7B0A) 50%, var(--tps-f3, #FFA420) 100%);
	box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .5);
}
.tps-slider .tps-frame::before {
	content: "";
	display: none;
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	border-radius: inherit;
	pointer-events: none;
	background-image:
		repeating-linear-gradient(45deg, var(--tps-pat-c, rgba(255, 255, 255, .28)) 0 1px, transparent 1px var(--tps-pat-s, 40px)),
		repeating-linear-gradient(-45deg, var(--tps-pat-c, rgba(255, 255, 255, .28)) 0 1px, transparent 1px var(--tps-pat-s, 40px));
}
.tps-pattern-yes .tps-slider .tps-frame.is-builtin::before { display: block; }

.tps-slider .tps-frame.is-image {
	background-color: transparent;
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% 100%;
	border-radius: 0;
	box-shadow: none;
}
.tps-slider .tps-frame.is-none {
	padding: 0;
	background: none;
	box-shadow: none;
	border-radius: 0;
}

/* ---------------- Viewport / track ---------------- */
.tps-slider .tps-viewport {
	--tps-fade-c: #000;
	position: relative;
	z-index: 1;
	overflow: hidden;
	border: 2px solid rgba(110, 25, 0, .65);
	border-radius: 16px;
	background-color: #000;
	touch-action: pan-y;
	isolation: isolate;
	-webkit-mask-image: -webkit-radial-gradient(white, black); /* Safari rounded-corner clip fix */
}
.tps-slider.tps-draggable .tps-viewport { cursor: grab; -webkit-user-select: none; user-select: none; }
.tps-slider.is-dragging .tps-viewport { cursor: grabbing; }

.tps-slider .tps-track {
	position: relative;
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
.tps-slider .tps-slide {
	position: relative;
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
}

/* Fade effect */
.tps-slider.tps-effect-fade .tps-track { display: grid; }
.tps-slider.tps-effect-fade .tps-slide {
	grid-area: 1 / 1 / 2 / 2;
	opacity: 0;
	visibility: hidden;
	z-index: 0;
	transition: opacity var(--tps-speed) ease, visibility 0s linear var(--tps-speed);
}
.tps-slider.tps-effect-fade .tps-slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
	transition: opacity var(--tps-speed) ease, visibility 0s linear 0s;
}

/* ---------------- Slide layout ---------------- */
.tps-slider .tps-slide-inner {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	min-height: 300px;
	height: 100%;
}
.tps-img-right .tps-slider .tps-slide-inner { flex-direction: row-reverse; }

.tps-slider .tps-media {
	position: relative;
	flex: 0 0 55%;
	max-width: 55%;
	overflow: hidden;
}
.tps-slider .tps-media img {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	object-fit: cover;
	object-position: center center;
	-webkit-user-drag: none;
	-webkit-user-select: none;
	user-select: none;
	transform: scale(1);
	transition: transform 7s cubic-bezier(.22, .61, .36, 1);
}
.tps-zoom-yes .tps-slider.is-ready .tps-slide.is-active .tps-media img { transform: scale(1.07); }

.tps-fade-yes .tps-slider .tps-media::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	pointer-events: none;
	background: linear-gradient(to right, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
}
.tps-fade-yes.tps-img-right .tps-slider .tps-media::after {
	background: linear-gradient(to left, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
}

/* ---------------- Content ---------------- */
.tps-slider .tps-content {
	position: relative;
	z-index: 1;
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 20px 22px;
	color: #fff;
}
.tps-slider .tps-content > * { max-width: 100%; }
.tps-slider .tps-content > .tps-deco { max-width: none; }
.tps-slider .tps-content { overflow: hidden; }

.tps-slider .tps-heading { display: block; width: 100%; margin-bottom: 12px; }

.tps-slider .tps-title-wrap { display: block; line-height: 0; margin-bottom: -10px; }
.tps-slider .tps-title {
	display: inline-block;
	margin: 0;
	padding: .06em .2em .22em;
	font-family: 'Kaushan Script', 'Brush Script MT', cursive;
	font-size: 76px;
	font-weight: 400;
	font-style: normal;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	color: #F5B731;
	-webkit-text-fill-color: currentColor;
	transform: rotate(var(--tps-t-rot, -5deg));
	filter: drop-shadow(var(--tps-ts-d, 3px) var(--tps-ts-d, 3px) var(--tps-ts-b, 0px) var(--tps-ts-c, rgba(45, 15, 0, .9)));
}
.tps-title-fill-gradient .tps-slider .tps-title {
	background-image: linear-gradient(var(--tps-tg-a, 180deg), var(--tps-tg1, #FFE9A0) 0%, var(--tps-tg2, #F5B731) 50%, var(--tps-tg3, #C8780F) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.tps-slider .tps-subtitle {
	display: block;
	margin: 0 0 2px;
	font-family: 'Cinzel', 'Times New Roman', serif;
	font-size: 34px;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 2px;
	color: #F4F4F4;
	max-width: 100%;
	overflow-wrap: break-word;
}
.tps-slider .tps-tagline {
	display: block;
	margin: 0;
	font-family: 'Playfair Display', Georgia, serif;
	font-size: 12px;
	font-style: italic;
	line-height: 1.3;
	color: #fff;
}
.tps-slider .tps-logo {
	display: inline-block;
	width: 100%;
	max-width: 230px;
	height: auto;
	margin: 0;
}

.tps-slider .tps-menu {
	width: 100%;
	margin-bottom: 6px;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 13px;
	line-height: 1.45;
	color: #fff;
}
.tps-slider .tps-menu p,
.tps-slider .tps-menu ul,
.tps-slider .tps-menu ol { margin: 0 0 .25em; padding: 0; color: inherit; font: inherit; }
.tps-slider .tps-menu ul,
.tps-slider .tps-menu ol { list-style-position: inside; }
.tps-slider .tps-menu > :last-child { margin-bottom: 0; }
.tps-slider .tps-menu a { color: inherit; }

.tps-slider .tps-highlight {
	margin-bottom: 8px;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: .5px;
	color: #fff;
}

.tps-slider .tps-btn-wrap { width: 100%; }
.tps-slider .tps-btn {
	display: inline-block;
	padding: 7px 20px;
	border: 0 solid transparent;
	border-radius: 0;
	background-color: #F7931E;
	color: #fff;
	font-family: 'Montserrat', Arial, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
}
.tps-slider .tps-btn:hover,
.tps-slider .tps-btn:focus-visible {
	background-color: #FFA93A;
	color: #fff;
	text-decoration: none;
}
.tps-btn-lift-yes .tps-slider .tps-btn:hover,
.tps-btn-lift-yes .tps-slider .tps-btn:focus-visible { transform: translateY(-2px); }
.tps-slider .tps-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

/* Text entrance (only once JS is running, so nothing is ever hidden without JS) */
.tps-anim-yes .tps-slider.is-ready .tps-content > :not(.tps-deco) {
	opacity: 0;
	transform: translate3d(0, 16px, 0);
	transition: opacity .55s ease, transform .6s cubic-bezier(.22, .61, .36, 1);
}
.tps-anim-yes .tps-slider.is-ready .tps-slide.is-active .tps-content > :not(.tps-deco) { opacity: 1; transform: none; }
.tps-anim-yes .tps-slider.is-ready .tps-slide.is-active .tps-content > :nth-child(1) { transition-delay: .12s; }
.tps-anim-yes .tps-slider.is-ready .tps-slide.is-active .tps-content > :nth-child(2) { transition-delay: .22s; }
.tps-anim-yes .tps-slider.is-ready .tps-slide.is-active .tps-content > :nth-child(3) { transition-delay: .32s; }
.tps-anim-yes .tps-slider.is-ready .tps-slide.is-active .tps-content > :nth-child(4) { transition-delay: .42s; }

/* ---------------- Arrows ---------------- */
.tps-slider .tps-arrow {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 3px solid #E3860C;
	border-radius: 50%;
	background-color: #F7A21B;
	background-image: radial-gradient(circle at 35% 30%, rgba(255, 255, 255, .28), rgba(255, 255, 255, 0) 60%);
	color: #3A2410;
	font-size: 0;
	line-height: 0;
	text-decoration: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .25), 0 4px 12px rgba(0, 0, 0, .28);
	transform: translateY(-50%);
	transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease, opacity .3s ease;
}
.tps-slider .tps-prev { left: -54px; }
.tps-slider .tps-next { right: -54px; }
.tps-slider .tps-arrow svg { display: block; width: 24px; height: 24px; pointer-events: none; }
.tps-slider .tps-arrow svg path { stroke-width: var(--tps-arrow-sw, 3.6); }
.tps-slider .tps-arrow:hover,
.tps-slider .tps-arrow:focus-visible {
	background-color: #FFB636;
	color: #2A1808;
	transform: translateY(-50%) scale(1.08);
}
.tps-slider .tps-arrow:active { transform: translateY(-50%) scale(.95); }
.tps-slider .tps-arrow:focus { outline: none; }
.tps-slider .tps-arrow:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.tps-slider .tps-arrow[disabled] { opacity: .45; cursor: default; pointer-events: none; }

/* ---------------- Dots ---------------- */
.tps-slider .tps-dots {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 14px;
}
.tps-slider .tps-dot {
	width: 10px;
	height: 10px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background-color: #FFD29A;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .3s ease, transform .3s ease;
}
.tps-slider .tps-dot:hover { transform: scale(1.2); }
.tps-slider .tps-dot.is-active { background-color: #F7931E; transform: scale(1.3); }

/* ---------------- Mobile ---------------- */
@media (max-width: 767px) {
	.tps-slider { padding-left: 0; padding-right: 0; }
	.tps-slider .tps-prev { left: 8px; }
	.tps-slider .tps-next { right: 8px; }
	.tps-slider .tps-arrow { width: 36px; height: 36px; }
	.tps-slider .tps-arrow svg { width: 17px; height: 17px; }
	.tps-slider .tps-title { font-size: 54px; }
	.tps-slider .tps-subtitle { font-size: 28px; }

	.tps-stack-mobile-yes .tps-slider .tps-slide-inner { flex-direction: column !important; min-height: 0 !important; }
	.tps-stack-mobile-yes .tps-slider .tps-media {
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
		height: var(--tps-mh, 220px);
	}
	.tps-fade-yes.tps-stack-mobile-yes .tps-slider .tps-media::after {
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
	}
	/* Arrows sit over the image area when stacked */
	.tps-stack-mobile-yes .tps-slider .tps-arrow { top: calc(var(--tps-mh, 220px) / 2 + 10px); }
}

@media (prefers-reduced-motion: reduce) {
	.tps-slider .tps-media img,
	.tps-slider .tps-content > *,
	.tps-slider .tps-arrow,
	.tps-slider .tps-btn { transition-duration: .01ms !important; transition-delay: 0s !important; }
}


/* ---------------- Per-slide layout (1.0.4) ---------------- */
.tps-slider .tps-slide.tps-pos-left .tps-slide-inner { flex-direction: row; }
.tps-slider .tps-slide.tps-pos-right .tps-slide-inner { flex-direction: row-reverse; }
.tps-fade-yes .tps-slider .tps-slide.tps-pos-left .tps-media::after {
	background: linear-gradient(to right, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
}
.tps-fade-yes .tps-slider .tps-slide.tps-pos-right .tps-media::after {
	background: linear-gradient(to left, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
}

.tps-slider .tps-content-bg {
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: -1;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	pointer-events: none;
}
.tps-slider .tps-content-bg::after {
	content: "";
	position: absolute;
	top: 0; right: 0; bottom: 0; left: 0;
	background: #000;
	opacity: var(--tps-cbg-o, .45);
}

.tps-slider .tps-accent {
	position: absolute;
	z-index: -1;
	width: 110px;
	height: auto;
	margin: 0;
	pointer-events: none;
	-webkit-user-drag: none;
	user-select: none;
}
.tps-slider .tps-accent-bottom-right { right: 10px; bottom: 0; }
.tps-slider .tps-accent-bottom-left  { left: 10px; bottom: 0; }
.tps-slider .tps-accent-top-right    { right: 10px; top: 0; }
.tps-slider .tps-accent-top-left     { left: 10px; top: 0; }

@media (max-width: 767px) {
	.tps-stack-mobile-yes .tps-slider .tps-slide.tps-pos-left .tps-slide-inner,
	.tps-stack-mobile-yes .tps-slider .tps-slide.tps-pos-right .tps-slide-inner { flex-direction: column !important; }
	.tps-fade-yes.tps-stack-mobile-yes .tps-slider .tps-slide.tps-pos-left .tps-media::after,
	.tps-fade-yes.tps-stack-mobile-yes .tps-slider .tps-slide.tps-pos-right .tps-media::after {
		background: linear-gradient(to bottom, rgba(0, 0, 0, 0) calc(100% - var(--tps-fade-w, 30%)), var(--tps-fade-c, #000) 100%);
	}
	.tps-slider .tps-accent { width: 70px; opacity: .6; }
}
