/**
 * Suv Page Builder — front end.
 * Breakpoints: tablet ≤ 991px, mobile ≤ 767px.
 */

/* Rows & columns ---------------------------------------------------- */
.spb-row {
	--spb-gap: 30px;
	position: relative;
	box-sizing: border-box;
}
.spb-row-inner {
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--spb-gap);
	margin-left: calc(var(--spb-gap) / -2);
	margin-right: calc(var(--spb-gap) / -2);
}
.spb-row + .spb-row {
	margin-top: var(--spb-row-gap, 0);
}
.spb-row-stretch {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.spb-row-stretch:not(.spb-row-full-content) > .spb-row-inner {
	max-width: calc(var(--spb-container, 1140px) + var(--spb-gap));
	margin-left: auto;
	margin-right: auto;
}
.spb-row-full-content > .spb-row-inner {
	margin-left: 0;
	margin-right: 0;
}
.spb-row-v-top > .spb-row-inner { align-items: flex-start; }
.spb-row-v-middle > .spb-row-inner { align-items: center; }
.spb-row-v-bottom > .spb-row-inner { align-items: flex-end; }

.spb-col {
	box-sizing: border-box;
	flex: 0 0 100%;
	max-width: 100%;
	min-width: 0;
	padding-left: calc(var(--spb-gap) / 2);
	padding-right: calc(var(--spb-gap) / 2);
	display: flex;
	flex-direction: column;
}
.spb-col-inner {
	box-sizing: border-box;
	flex: 1 1 auto;
}
.spb-row-v-top .spb-col-inner,
.spb-row-v-middle .spb-col-inner,
.spb-row-v-bottom .spb-col-inner {
	flex: 0 0 auto;
}
.spb-col-inner > * + * {
	margin-top: var(--spb-el-gap, 24px);
}
.spb-col-inner > style + * {
	margin-top: 0;
}
.spb-col-inner > * + style + * {
	margin-top: var(--spb-el-gap, 24px);
}

.spb-w-1{flex:0 0 8.3333%;max-width:8.3333%}
.spb-w-2{flex:0 0 16.6667%;max-width:16.6667%}
.spb-w-3{flex:0 0 25%;max-width:25%}
.spb-w-4{flex:0 0 33.3333%;max-width:33.3333%}
.spb-w-5{flex:0 0 41.6667%;max-width:41.6667%}
.spb-w-6{flex:0 0 50%;max-width:50%}
.spb-w-7{flex:0 0 58.3333%;max-width:58.3333%}
.spb-w-8{flex:0 0 66.6667%;max-width:66.6667%}
.spb-w-9{flex:0 0 75%;max-width:75%}
.spb-w-10{flex:0 0 83.3333%;max-width:83.3333%}
.spb-w-11{flex:0 0 91.6667%;max-width:91.6667%}
.spb-w-12{flex:0 0 100%;max-width:100%}

@media (max-width: 991px) {
.spb-md-w-1{flex:0 0 8.3333%;max-width:8.3333%}
.spb-md-w-2{flex:0 0 16.6667%;max-width:16.6667%}
.spb-md-w-3{flex:0 0 25%;max-width:25%}
.spb-md-w-4{flex:0 0 33.3333%;max-width:33.3333%}
.spb-md-w-5{flex:0 0 41.6667%;max-width:41.6667%}
.spb-md-w-6{flex:0 0 50%;max-width:50%}
.spb-md-w-7{flex:0 0 58.3333%;max-width:58.3333%}
.spb-md-w-8{flex:0 0 66.6667%;max-width:66.6667%}
.spb-md-w-9{flex:0 0 75%;max-width:75%}
.spb-md-w-10{flex:0 0 83.3333%;max-width:83.3333%}
.spb-md-w-11{flex:0 0 91.6667%;max-width:91.6667%}
.spb-md-w-12{flex:0 0 100%;max-width:100%}
}

@media (max-width: 767px) {
.spb-sm-w-1{flex:0 0 8.3333%;max-width:8.3333%}
.spb-sm-w-2{flex:0 0 16.6667%;max-width:16.6667%}
.spb-sm-w-3{flex:0 0 25%;max-width:25%}
.spb-sm-w-4{flex:0 0 33.3333%;max-width:33.3333%}
.spb-sm-w-5{flex:0 0 41.6667%;max-width:41.6667%}
.spb-sm-w-6{flex:0 0 50%;max-width:50%}
.spb-sm-w-7{flex:0 0 58.3333%;max-width:58.3333%}
.spb-sm-w-8{flex:0 0 66.6667%;max-width:66.6667%}
.spb-sm-w-9{flex:0 0 75%;max-width:75%}
.spb-sm-w-10{flex:0 0 83.3333%;max-width:83.3333%}
.spb-sm-w-11{flex:0 0 91.6667%;max-width:91.6667%}
.spb-sm-w-12{flex:0 0 100%;max-width:100%}
	.spb-row-reverse-sm > .spb-row-inner { flex-wrap: wrap-reverse; }
}

/* Responsive visibility --------------------------------------------- */
@media (min-width: 992px) {
	.spb-hide-lg { display: none !important; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.spb-hide-md { display: none !important; }
}
@media (max-width: 767px) {
	.spb-hide-sm { display: none !important; }
}

/* Elements ---------------------------------------------------------- */
.spb-el { box-sizing: border-box; }
.spb-align-left { text-align: left; }
.spb-align-center { text-align: center; }
.spb-align-right { text-align: right; }

.spb-text > :first-child { margin-top: 0; }
.spb-text > :last-child { margin-bottom: 0; }

.spb-heading { margin: 0; }
.spb-heading a { color: inherit; text-decoration: none; }

.spb-image { margin: 0; }
.spb-image img { max-width: 100%; height: auto; vertical-align: middle; }
.spb-image figcaption { margin-top: .5em; font-size: .875em; opacity: .75; }

.spb-btn {
	--spb-btn-bg: #1e293b;
	--spb-btn-color: #fff;
	display: inline-block;
	box-sizing: border-box;
	border: 2px solid var(--spb-btn-bg);
	border-radius: 6px;
	background: var(--spb-btn-bg);
	color: var(--spb-btn-color);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: opacity .2s, background-color .2s, color .2s;
}
.spb-btn:hover,
.spb-btn:focus { opacity: .85; color: var(--spb-btn-color); text-decoration: none; }
.spb-btn-outline { background: transparent; color: var(--spb-btn-bg); }
.spb-btn-outline:hover,
.spb-btn-outline:focus { background: var(--spb-btn-bg); color: var(--spb-btn-color); opacity: 1; }
.spb-btn-text { background: transparent; border-color: transparent; color: var(--spb-btn-bg); padding-left: 0 !important; padding-right: 0 !important; text-decoration: underline; }
.spb-btn-text:hover,
.spb-btn-text:focus { color: var(--spb-btn-bg); }
.spb-btn-sm { padding: .5em 1em; font-size: .875rem; }
.spb-btn-md { padding: .75em 1.5em; font-size: 1rem; }
.spb-btn-lg { padding: 1em 2em; font-size: 1.125rem; }
.spb-btn-block { display: block; width: 100%; }

.spb-spacer { height: var(--spb-h, 40px); }
@media (max-width: 991px) {
	.spb-spacer { height: var(--spb-h-md, var(--spb-h, 40px)); }
}
@media (max-width: 767px) {
	.spb-spacer { height: var(--spb-h-sm, var(--spb-h-md, var(--spb-h, 40px))); }
}

.spb-separator { line-height: 0; }
.spb-separator span { display: inline-block; vertical-align: middle; }

.spb-video { position: relative; aspect-ratio: 16 / 9; }
.spb-video.spb-ratio-4-3 { aspect-ratio: 4 / 3; }
.spb-video.spb-ratio-1-1 { aspect-ratio: 1 / 1; }
.spb-video.spb-ratio-21-9 { aspect-ratio: 21 / 9; }
.spb-video.spb-ratio-9-16 { aspect-ratio: 9 / 16; }
.spb-video iframe,
.spb-video video,
.spb-video .wp-video,
.spb-video .mejs-container {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
}

/* Entrance animations (only when JS runs; respects reduced motion) --- */
.spb-js .spb-animate {
	opacity: 0;
	transition: opacity .7s ease, transform .7s ease;
	will-change: opacity, transform;
}
.spb-js .spb-anim-fade-in-up { transform: translateY(40px); }
.spb-js .spb-anim-fade-in-down { transform: translateY(-40px); }
.spb-js .spb-anim-fade-in-left { transform: translateX(-40px); }
.spb-js .spb-anim-fade-in-right { transform: translateX(40px); }
.spb-js .spb-anim-zoom-in { transform: scale(.9); }
.spb-js .spb-animate.spb-in-view { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.spb-js .spb-animate { opacity: 1; transform: none; transition: none; }
}

/* Tabs --------------------------------------------------------------- */
.spb-tabs { --spb-accent: #2563eb; }
.spb-tabs-nav { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 20px; }
.spb-tabs-nav-center .spb-tabs-nav { justify-content: center; }
.spb-tabs-nav-right .spb-tabs-nav { justify-content: flex-end; }
.spb-tabs-nav-stretch .spb-tabs-btn { flex: 1 1 0; justify-content: center; }
.spb-tabs-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	padding: 10px 18px;
	border: 0;
	border-radius: 0;
	background: none;
	color: inherit;
	font: inherit;
	line-height: 1.3;
	cursor: pointer;
	opacity: .7;
}
.spb-tabs-btn:hover,
.spb-tabs-btn.is-active { opacity: 1; }
.spb-tabs-btn:focus-visible { outline: 2px solid var(--spb-accent); outline-offset: 2px; }
.spb-tabs-underline .spb-tabs-nav { gap: 0; border-bottom: 1px solid rgba(0, 0, 0, .12); }
.spb-tabs-underline .spb-tabs-btn { margin-bottom: -1px; border-bottom: 2px solid transparent; }
.spb-tabs-underline .spb-tabs-btn.is-active { border-bottom-color: var(--spb-accent); color: var(--spb-accent); }
.spb-tabs-boxed .spb-tabs-nav { gap: 0; margin-bottom: 0; border-bottom: 1px solid rgba(0, 0, 0, .12); }
.spb-tabs-boxed .spb-tabs-btn { margin-bottom: -1px; border: 1px solid transparent; border-radius: 6px 6px 0 0; }
.spb-tabs-boxed .spb-tabs-btn.is-active { border-color: rgba(0, 0, 0, .12); border-bottom-color: transparent; background: #fff; }
.spb-tabs-boxed .spb-tabs-panels { padding: 20px; border: 1px solid rgba(0, 0, 0, .12); border-top: 0; }
.spb-tabs-pills .spb-tabs-btn { border-radius: 999px; }
.spb-tabs-pills .spb-tabs-btn.is-active { background: var(--spb-accent); color: #fff; }
.spb-tabs-icon { font-size: 18px; width: 18px; height: 18px; }
.spb-js .spb-tabs-panel:not(.is-active) { display: none; }
.spb-tabs-panel:focus-visible { outline: 2px solid var(--spb-accent); outline-offset: 4px; }
.spb-tabs-panel > * + * { margin-top: var(--spb-el-gap, 24px); }

/* Accordion ---------------------------------------------------------- */
.spb-acc-item { margin: 0; }
.spb-acc-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 0;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.spb-acc-title::-webkit-details-marker { display: none; }
.spb-acc-title:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.spb-acc-icon { position: relative; flex: 0 0 14px; width: 14px; height: 14px; }
.spb-acc-icon::before,
.spb-acc-icon::after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: currentColor; transition: transform .2s; }
.spb-acc-icon::after { transform: rotate(90deg); }
.spb-acc-item[open] .spb-acc-icon::after { transform: rotate(0); }
.spb-acc-body { padding: 0 0 16px; }
.spb-acc-body > * + * { margin-top: var(--spb-el-gap, 24px); }
.spb-accordion-lines .spb-acc-item { border-bottom: 1px solid rgba(0, 0, 0, .12); }
.spb-accordion-lines .spb-acc-item:first-child { border-top: 1px solid rgba(0, 0, 0, .12); }
.spb-accordion-boxed .spb-acc-item { margin-bottom: 10px; border: 1px solid rgba(0, 0, 0, .12); border-radius: 6px; }
.spb-accordion-boxed .spb-acc-title { padding: 14px 18px; }
.spb-accordion-boxed .spb-acc-body { padding: 0 18px 16px; }
.spb-accordion-minimal .spb-acc-title { padding: 10px 0; }

/* Carousel ----------------------------------------------------------- */
.spb-carousel { position: relative; }
.spb-carousel-track {
	display: flex;
	gap: var(--spb-igap, 20px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
}
.spb-carousel-track::-webkit-scrollbar { display: none; }
.spb-carousel-track:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.spb-carousel-slide {
	flex: 0 0 calc((100% - (var(--spb-per) - 1) * var(--spb-igap, 20px)) / var(--spb-per));
	min-width: 0;
	scroll-snap-align: start;
}
.spb-carousel-slide > * + * { margin-top: var(--spb-el-gap, 24px); }
.spb-carousel-arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-top: -21px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .15);
	color: #111;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}
.spb-carousel-prev { left: 10px; }
.spb-carousel-next { right: 10px; }
.spb-carousel.is-static .spb-carousel-arrow,
.spb-carousel.is-static .spb-carousel-dots { display: none; }
.spb-carousel-dots { display: flex; justify-content: center; gap: 8px; margin-top: 14px; }
.spb-carousel-dot { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: currentColor; opacity: .25; cursor: pointer; }
.spb-carousel-dot.is-active { opacity: .85; }

/* Items-per-view responsive variables (carousel + gallery) */
@media (max-width: 991px) {
	.spb-carousel, .spb-gallery { --spb-per: var(--spb-per-md) !important; }
}
@media (max-width: 767px) {
	.spb-carousel, .spb-gallery { --spb-per: var(--spb-per-sm) !important; }
}

/* Gallery ------------------------------------------------------------ */
.spb-gallery-item { margin: 0; }
.spb-gallery-item img { display: block; width: 100%; height: auto; }
.spb-gallery-item figcaption { margin-top: 6px; font-size: .875em; opacity: .75; }
.spb-gallery-grid { align-items: start; display: grid; grid-template-columns: repeat(var(--spb-per, 3), minmax(0, 1fr)); gap: var(--spb-igap, 20px); }
.spb-gallery-masonry { column-count: var(--spb-per, 3); column-gap: var(--spb-igap, 20px); }
.spb-gallery-masonry .spb-gallery-item { break-inside: avoid; margin-bottom: var(--spb-igap, 20px); }
.spb-crop .spb-gallery-item img { aspect-ratio: 1 / 1; object-fit: cover; }
.spb-crop-4-3 .spb-gallery-item img { aspect-ratio: 4 / 3; }
.spb-crop-3-4 .spb-gallery-item img { aspect-ratio: 3 / 4; }
.spb-crop-16-9 .spb-gallery-item img { aspect-ratio: 16 / 9; }
.spb-lightbox-link { display: block; overflow: hidden; }
.spb-lightbox-link img { transition: transform .4s ease; }
.spb-lightbox-link:hover img { transform: scale(1.04); }

/* Lightbox */
.spb-lb-open { overflow: hidden; }
.spb-lightbox {
	position: fixed;
	inset: 0;
	z-index: 999999;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .9);
}
.spb-lightbox.is-open { display: flex; }
.spb-lb-figure { margin: 0; max-width: 90vw; text-align: center; color: #fff; }
.spb-lb-figure img { display: block; max-width: 90vw; max-height: 82vh; margin: 0 auto; object-fit: contain; }
.spb-lb-figure figcaption { margin-top: 10px; font-size: 14px; }
.spb-lightbox button { position: absolute; padding: 0 14px; border: 0; background: none; color: #fff; font-size: 40px; line-height: 1; cursor: pointer; }
.spb-lightbox button:focus-visible { outline: 2px solid #fff; }
.spb-lb-close { top: 14px; right: 10px; }
.spb-lb-prev { left: 6px; top: 50%; transform: translateY(-50%); }
.spb-lb-next { right: 6px; top: 50%; transform: translateY(-50%); }
.spb-lightbox.is-single .spb-lb-prev,
.spb-lightbox.is-single .spb-lb-next { display: none; }

/* Icons -------------------------------------------------------------- */
.spb-icon.dashicons {
	box-sizing: content-box;
	width: 1em;
	height: 1em;
	font-size: var(--spb-icon-size, 48px);
	line-height: 1;
	color: var(--spb-icon-color, currentColor);
	vertical-align: middle;
}
.spb-icon-circle,
.spb-icon-square,
.spb-icon-ring { padding: .45em; background: var(--spb-icon-bg, rgba(0, 0, 0, .06)); }
.spb-icon-circle,
.spb-icon-ring { border-radius: 50%; }
.spb-icon-square { border-radius: 18%; }
.spb-icon-ring { background: transparent; border: 2px solid var(--spb-icon-bg, currentColor); }
.spb-icon-link { display: inline-block; text-decoration: none; }

.spb-icon-box-top .spb-icon-box-icon { margin-bottom: 16px; }
.spb-icon-box-left { display: flex; gap: 18px; align-items: flex-start; }
.spb-icon-box-left .spb-icon-box-icon { flex: 0 0 auto; }
.spb-icon-box-title { margin: 0 0 8px; }
.spb-icon-box-title a { color: inherit; text-decoration: none; }
.spb-icon-box-text > :first-child { margin-top: 0; }
.spb-icon-box-text > :last-child { margin-bottom: 0; }

/* Counter ------------------------------------------------------------ */
.spb-counter-num { font-size: 48px; font-weight: 700; line-height: 1.1; font-variant-numeric: tabular-nums; }
.spb-counter-title { margin-top: 6px; opacity: .8; }

/* Map ---------------------------------------------------------------- */
.spb-map { position: relative; height: 400px; }
.spb-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Post grid ---------------------------------------------------------- */
.spb-grid-items.spb-grid-grid { display: grid; grid-template-columns: repeat(var(--spb-per, 3), minmax(0, 1fr)); gap: var(--spb-igap, 20px); align-items: stretch; }
.spb-grid-items.spb-grid-masonry { column-count: var(--spb-per, 3); column-gap: var(--spb-igap, 20px); }
.spb-grid-items.spb-grid-masonry .spb-grid-item { break-inside: avoid; margin-bottom: var(--spb-igap, 20px); }
.spb-grid-items.spb-grid-list { display: flex; flex-direction: column; gap: var(--spb-igap, 20px); }
.spb-grid-item[hidden] { display: none !important; }
.spb-grid-item > * + * { margin-top: 12px; }
@media (max-width: 991px) {
	.spb-grid-items { --spb-per: var(--spb-per-md) !important; }
}
@media (max-width: 767px) {
	.spb-grid-items { --spb-per: var(--spb-per-sm) !important; }
}

.spb-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid rgba(0, 0, 0, .1); border-radius: 8px; background: #fff; }
.spb-card-body { display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; padding: 18px; }
.spb-card .spb-btn-wrap { margin-top: auto; }
.spb-grid-list .spb-card { flex-direction: row; }
.spb-grid-list .spb-card .spb-post-image { flex: 0 0 34%; }
@media (max-width: 767px) {
	.spb-grid-list .spb-card { flex-direction: column; }
}

.spb-post-title { margin: 0; line-height: 1.25; }
.spb-post-title a { color: inherit; text-decoration: none; }
.spb-post-title a:hover { text-decoration: underline; }
.spb-post-image img { display: block; width: 100%; height: auto; }
.spb-post-image.spb-crop img { aspect-ratio: 1 / 1; object-fit: cover; }
.spb-post-image.spb-crop-4-3 img { aspect-ratio: 4 / 3; }
.spb-post-image.spb-crop-3-4 img { aspect-ratio: 3 / 4; }
.spb-post-image.spb-crop-16-9 img { aspect-ratio: 16 / 9; }
.spb-post-excerpt { opacity: .85; }
.spb-post-meta { font-size: .8125em; opacity: .7; }
.spb-post-meta a { color: inherit; }
.spb-post-meta-sep { margin: 0 .4em; }

.spb-grid-filter { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-bottom: 20px; }
.spb-grid-filter button { padding: 6px 14px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 999px; background: transparent; color: inherit; font: inherit; font-size: .875em; cursor: pointer; }
.spb-grid-filter button.is-active { color: #fff; background: #1e293b; border-color: #1e293b; }
.spb-grid-more-wrap { margin-top: 24px; text-align: center; }
.spb-grid-more.is-loading { opacity: .6; cursor: progress; }
.spb-grid-empty { opacity: .7; }

/* WooCommerce wrappers: let WooCommerce templates control product markup. */
.spb-wc .woocommerce { margin: 0; }
.spb-wc-add-to-cart .add_to_cart_inline { margin: 0; }
.spb-carousel-slide > .spb-grid-item,
.spb-carousel-slide > .spb-grid-item > .spb-card { height: 100%; }

/* Theme builder parts ------------------------------------------------- */
.spb-tt-part { position: relative; z-index: 50; }
.spb-tt-sticky { position: sticky; top: 0; z-index: 100; background: var(--wp--preset--color--base, #fff); }
.admin-bar .spb-tt-sticky { top: 32px; }
@media (max-width: 782px) { .admin-bar .spb-tt-sticky { top: 46px; } }
.spb-tt-main { display: block; }

/* Site logo */
.spb-site-logo a { display: inline-block; text-decoration: none; color: inherit; }
.spb-logo-img { display: block; height: auto; }
.spb-logo-text { font-size: 1.375rem; font-weight: 700; }

/* Navigation menu */
.spb-nav { --spb-nav-color: inherit; --spb-nav-hover: #2563eb; position: relative; }
.spb-nav-menu { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; padding: 0; list-style: none; }
.spb-nav-align-center .spb-nav-menu { justify-content: center; }
.spb-nav-align-right .spb-nav-menu { justify-content: flex-end; }
.spb-nav-vertical .spb-nav-menu { flex-direction: column; gap: 6px; }
.spb-nav-menu li { position: relative; margin: 0; }
.spb-nav-menu a { display: block; padding: 8px 0; color: var(--spb-nav-color); text-decoration: none; }
.spb-nav-menu a:hover,
.spb-nav-menu a:focus-visible,
.spb-nav-menu .current-menu-item > a,
.spb-nav-menu .current-menu-ancestor > a { color: var(--spb-nav-hover); }
.spb-nav-menu .sub-menu { margin: 0; padding: 6px 0; list-style: none; }
.spb-nav-horizontal .sub-menu {
	position: absolute;
	top: 100%;
	left: -14px;
	z-index: 60;
	min-width: 200px;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility .15s;
}
.spb-nav-horizontal .sub-menu a { padding: 8px 16px; color: #1e293b; }
.spb-nav-horizontal .sub-menu .sub-menu { top: 0; left: 100%; }
.spb-nav-horizontal li:hover > .sub-menu,
.spb-nav-horizontal li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.spb-nav-horizontal .menu-item-has-children > a::after { content: ""; display: inline-block; width: 5px; height: 5px; margin-left: 6px; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg) translateY(-3px); }
.spb-nav-vertical .sub-menu { padding-left: 14px; }
.spb-nav-toggle { display: none; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid currentColor; border-radius: 6px; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.spb-nav-bars, .spb-nav-bars::before, .spb-nav-bars::after { display: block; width: 18px; height: 2px; background: currentColor; transition: transform .2s; }
.spb-nav-bars { position: relative; }
.spb-nav-bars::before, .spb-nav-bars::after { content: ""; position: absolute; left: 0; }
.spb-nav-bars::before { top: -6px; }
.spb-nav-bars::after { top: 6px; }
.spb-nav.is-open .spb-nav-bars { background: transparent; }
.spb-nav.is-open .spb-nav-bars::before { transform: translateY(6px) rotate(45deg); }
.spb-nav.is-open .spb-nav-bars::after { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 767px) {
	.spb-nav-collapsible { text-align: right; }
	.spb-nav-align-left.spb-nav-collapsible { text-align: left; }
	.spb-nav-collapsible .spb-nav-toggle { display: inline-flex; }
	.spb-nav-collapsible .spb-nav-menu { display: none; flex-direction: column; gap: 0; margin-top: 10px; text-align: left; }
	.spb-nav-collapsible.is-open .spb-nav-menu { display: flex; }
	.spb-nav-collapsible .spb-nav-menu a { padding: 10px 0; border-bottom: 1px solid rgba(0, 0, 0, .08); }
	.spb-nav-collapsible .sub-menu { position: static; min-width: 0; padding: 0 0 0 14px; background: none; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
	.spb-nav-collapsible .sub-menu a { padding: 10px 0; color: var(--spb-nav-color); }
}

/* Search form */
.spb-search { display: flex; gap: 6px; }
.spb-search input[type="search"] { flex: 1 1 auto; min-width: 0; padding: 8px 12px; border: 1px solid rgba(0, 0, 0, .2); border-radius: 6px; font: inherit; }
.spb-search button { padding: 8px 16px; border: 0; border-radius: 6px; background: #1e293b; color: #fff; font: inherit; cursor: pointer; }

/* Copyright, archive header, breadcrumbs, pagination */
.spb-copyright { margin: 0; font-size: .875em; opacity: .8; }
.spb-archive-title { margin: 0; }
.spb-archive-desc { margin-top: 8px; opacity: .8; }
.spb-breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: .875em; }
.spb-breadcrumbs.spb-align-center ol { justify-content: center; }
.spb-breadcrumbs.spb-align-right ol { justify-content: flex-end; }
.spb-breadcrumbs li + li::before { content: "›"; margin-right: 6px; opacity: .5; }
.spb-breadcrumbs a { color: inherit; }
.spb-breadcrumbs [aria-current] { opacity: .7; }
.spb-grid-pages { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 24px; }
.spb-grid-pages .page-numbers { min-width: 38px; padding: 8px 12px; border: 1px solid rgba(0, 0, 0, .15); border-radius: 6px; color: inherit; text-align: center; text-decoration: none; }
.spb-grid-pages .page-numbers.current { background: #1e293b; border-color: #1e293b; color: #fff; }
.spb-wc-single .product { margin: 0; }

/* Theme-builder templates own the whole page width: row backgrounds span it,
   row content is boxed to the content width (Settings → Suv Page Builder). */
.spb-tt-main > .spb-row,
.spb-tt-part > .spb-row { padding-left: 20px; padding-right: 20px; }
.spb-tt-main > .spb-row:not(.spb-row-full-content) > .spb-row-inner,
.spb-tt-part > .spb-row:not(.spb-row-full-content) > .spb-row-inner {
	max-width: calc(var(--spb-container, 1140px) + var(--spb-gap));
	margin-left: auto;
	margin-right: auto;
}
.spb-tt-main > .spb-row-stretch,
.spb-tt-part > .spb-row-stretch { width: auto; max-width: none; margin-left: 0 !important; margin-right: 0 !important; }
.spb-tt-main > .spb-row + .spb-row { margin-top: 30px; }

/* Click-to-load embeds (privacy) ----------------------------------------- */
.spb-consent {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	min-height: 180px;
	padding: 20px;
	background: #f1f5f9;
	color: #334155;
	text-align: center;
}
.spb-video .spb-consent,
.spb-map .spb-consent { position: absolute; inset: 0; min-height: 0; }
.spb-consent-box { max-width: 420px; }
.spb-consent-box p { margin: 0 0 12px; font-size: 14px; line-height: 1.5; }
.spb-consent-box a { color: inherit; text-decoration: underline; }
.spb-consent-load {
	padding: 10px 18px;
	border: 0;
	border-radius: 6px;
	background: #0f172a;
	color: #fff;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
}
.spb-consent-load:hover,
.spb-consent-load:focus-visible { background: #334155; }
