.bpc-root{--bpc-rotate:13deg;--bpc-horizontal-spacing:0px;position:relative;width:100%;overflow:hidden;padding:20px 0 6px}.bpc-root *{box-sizing:border-box}.bpc-stage{position:relative;overflow:hidden;padding:28px 70px 38px;perspective:1100px}.bpc-track{position:relative;min-height:calc(var(--bpc-card-width,300px)*1.25);transform-style:preserve-3d;touch-action:pan-y;user-select:none}.bpc-slide{--bpc-card-width:300px;position:absolute;left:50%;top:50%;width:var(--bpc-card-width);max-width:82vw;opacity:0;pointer-events:none;transform-style:preserve-3d;transition:transform var(--bpc-speed,750ms) cubic-bezier(.2,.75,.22,1),opacity var(--bpc-speed,750ms),filter var(--bpc-speed,750ms);will-change:transform,opacity}.bpc-slide[data-visible=true]{opacity:1;pointer-events:auto}.bpc-card{position:relative;display:block;width:100%;height:100%;overflow:hidden;border:2px solid rgba(255,255,255,.88);border-radius:12px;background:#111;box-shadow:0 20px 46px rgba(0,0,0,.55);text-decoration:none}.bpc-image{display:block;width:100%;height:100%;object-fit:cover}.bpc-label{position:absolute;top:14px;right:14px;z-index:2;padding:7px 11px;border-radius:4px;background:#f05a18;color:#fff;font-size:12px;font-weight:800;line-height:1;text-transform:uppercase;box-shadow:0 5px 15px rgba(0,0,0,.25);transform:rotate(-2deg)}.bpc-arrow{position:absolute;top:50%;z-index:20;display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin:0;padding:0!important;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.58);color:#fff;line-height:1;cursor:pointer;transform:translateY(-50%);appearance:none;-webkit-appearance:none}.bpc-arrow svg{display:block;width:25px;height:25px;overflow:visible;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.bpc-prev{left:10px}.bpc-next{right:10px}.bpc-dots{display:flex;justify-content:center;gap:12px;padding:3px 16px}.bpc-dot{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.bpc-dot[aria-current=true]{background:#ff7a1a;transform:scale(1.15)}@media(max-width:767px){.bpc-stage{padding-inline:18px}.bpc-arrow{display:none}.bpc-track{min-height:calc(var(--bpc-card-width,76vw)*1.25)}}@media(prefers-reduced-motion:reduce){.bpc-slide{transition-duration:1ms!important}}
.bpc-slide { aspect-ratio: var(--bpc-aspect-ratio, 4 / 5); }


.bpc-lightbox{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:28px}
.bpc-lightbox[aria-hidden="false"]{display:flex}
.bpc-lightbox-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.bpc-lightbox-dialog{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;width:min(94vw,1500px);height:min(90vh,1000px)}
.bpc-lightbox-figure{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;margin:0}
.bpc-lightbox-image{display:block;max-width:100%;max-height:calc(90vh - 64px);width:auto;height:auto;object-fit:contain;border-radius:8px;box-shadow:0 25px 90px rgba(0,0,0,.75)}
.bpc-lightbox-caption{margin-top:14px;color:#fff;font-size:15px;line-height:1.4;text-align:center}
.bpc-lightbox-close,.bpc-lightbox-arrow{position:absolute;z-index:3;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(0,0,0,.58);color:#fff;cursor:pointer}
.bpc-lightbox-close{top:0;right:0;width:46px;height:46px}
.bpc-lightbox-arrow{top:50%;width:52px;height:52px;transform:translateY(-50%)}
.bpc-lightbox-prev{left:0}.bpc-lightbox-next{right:0}
.bpc-lightbox-close svg,.bpc-lightbox-arrow svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.bpc-lightbox-close:hover,.bpc-lightbox-close:focus-visible{background:rgba(255,255,255,.14);transform:scale(1.06)}
.bpc-lightbox-arrow:hover,.bpc-lightbox-arrow:focus-visible{background:rgba(255,255,255,.14);transform:translateY(-50%) scale(1.06)}
body.bpc-lightbox-open{overflow:hidden}
@media(max-width:767px){
.bpc-lightbox{padding:18px}.bpc-lightbox-dialog{width:100%;height:92vh}.bpc-lightbox-arrow{width:44px;height:44px}.bpc-lightbox-prev{left:4px}.bpc-lightbox-next{right:4px}.bpc-lightbox-close{top:4px;right:4px}
}


.bpc-lightbox[aria-hidden="true"] {
	display: none !important;
}

.bpc-lightbox[aria-hidden="false"] {
	display: flex !important;
	visibility: visible !important;
	opacity: 1 !important;
}

.bpc-lightbox .bpc-lightbox-image {
	visibility: visible !important;
	opacity: 1 !important;
}


/* Version 1.3.2 runtime lightbox */
.bpc-lightbox-runtime {
	position: fixed !important;
	inset: 0 !important;
	z-index: 2147483000 !important;
	width: 100vw !important;
	height: 100vh !important;
	margin: 0 !important;
	padding: 28px !important;
	transform: none !important;
	overflow: hidden !important;
}

.bpc-lightbox-runtime[aria-hidden="true"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.bpc-lightbox-runtime[aria-hidden="false"],
.bpc-lightbox-runtime.bpc-lightbox-is-open {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.bpc-lightbox-runtime .bpc-lightbox-backdrop {
	position: fixed !important;
	inset: 0 !important;
}

.bpc-lightbox-runtime .bpc-lightbox-dialog {
	position: relative !important;
	z-index: 2 !important;
	transform: none !important;
}

.bpc-lightbox-runtime .bpc-lightbox-image {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* Version 1.4.0 */
.bpc-root{--bpc-depth-strength:65;--bpc-reflection-opacity:28%;--bpc-reflection-height:38%;--bpc-reflection-gap:8px;--bpc-click-animation-duration:275ms}
.bpc-card{position:relative}
.bpc-card.bpc-click-opening{animation:bpc-center-click-open var(--bpc-click-animation-duration) cubic-bezier(.2,.8,.2,1) both;z-index:1000}
@keyframes bpc-center-click-open{0%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.045);filter:brightness(1.08)}100%{transform:scale(1.015);filter:brightness(1.02)}}

@media(prefers-reduced-motion:reduce){.bpc-card.bpc-click-opening{animation:none}}


/* Version 1.4.2: corrected fade direction and dynamic reflection space */
.bpc-reflection-enabled .bpc-stage {
	overflow: hidden;
}

.bpc-reflection-enabled .bpc-track,
.bpc-reflection-enabled .bpc-slide {
	overflow: visible;
}

.bpc-reflection-enabled .bpc-slide {
	isolation: isolate;
}

.bpc-reflection-enabled .bpc-card {
	position: relative;
	z-index: 2;
}

/*
 * The reflection sits outside and below the card. The mask looks reversed
 * in the source because the complete pseudo-element is flipped vertically.
 * After the flip, it is strongest at the top and fades toward the bottom.
 */
.bpc-reflection-enabled .bpc-slide::after {
	content: "";
	position: absolute;
	z-index: 1;
	left: 0;
	top: calc(100% + var(--bpc-reflection-gap));
	width: 100%;
	height: var(--bpc-reflection-height);
	border-radius: 12px;
	background-image: var(--bpc-reflection-image);
	background-position: center bottom;
	background-size: 100% auto;
	background-repeat: no-repeat;
	transform: scaleY(-1);
	transform-origin: top center;
	opacity: var(--bpc-reflection-opacity);
	pointer-events: none;
	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0%,
		rgba(0, 0, 0, 0.38) 58%,
		rgba(0, 0, 0, 0.92) 100%
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0%,
		rgba(0, 0, 0, 0.38) 58%,
		rgba(0, 0, 0, 0.92) 100%
	);
}

/* Use the same orange accent as the active carousel dot. */
.bpc-lightbox-runtime .bpc-lightbox-close,
.bpc-lightbox-close {
	background: #ff7a1a !important;
	border-color: #ff7a1a !important;
	color: #ffffff !important;
	box-shadow: 0 6px 20px rgba(255, 122, 26, 0.35);
}

.bpc-lightbox-runtime .bpc-lightbox-close:hover,
.bpc-lightbox-runtime .bpc-lightbox-close:focus-visible,
.bpc-lightbox-close:hover,
.bpc-lightbox-close:focus-visible {
	background: #f05a18 !important;
	border-color: #f05a18 !important;
	transform: scale(1.06);
}


/* Version 1.4.7: mobile width and edge-gap correction */
@media (max-width: 767px) {
	/*
	 * Break the carousel out of any Elementor container side padding so the
	 * black carousel background reaches both edges of the mobile viewport.
	 */
	.bpc-root {
		width: 100vw;
		max-width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
		padding-left: 0;
		padding-right: 0;
		overflow: hidden;
	}

	.bpc-stage {
		width: 100%;
		padding-left: 0;
		padding-right: 0;
	}

	/*
	 * Keep the active card comfortably smaller than the phone screen.
	 * The Elementor responsive Card Width control can still make it smaller.
	 */
	.bpc-slide {
		max-width: 68vw;
	}

	.bpc-track {
		width: 100%;
	}
}
