/*
 * Site Builder front-end styles.
 * Responsive values arrive as custom properties: --x (desktop), --x-t (<= 991px), --x-m (<= 767px).
 * Theme-level tokens (overridable by the theme): --sb-container, --sb-gutter, --sb-side, --sb-side-m,
 * --sb-accent, --sb-heading-font, --sb-body-font, --sb-heading-color, --sb-text-color.
 */

:root {
	--sb-container: 1300px;
	--sb-side: 70px;
	--sb-side-m: 20px;
	--sb-gutter: 15px;
	--sb-accent: #77b79a;
	--sb-heading-color: #333;
	--sb-text-color: #8b8d94;
	--sb-heading-font: "Raleway", Helvetica, Arial, Verdana, sans-serif;
	--sb-body-font: "Open Sans", Helvetica, Arial, Verdana, sans-serif;
	--sb-el-gap: 35px;
}

/* Visibility per device */
@media (min-width: 992px) { .sb-hide-d { display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) { .sb-hide-t { display: none !important; } }
@media (max-width: 767px) { .sb-hide-m { display: none !important; } }

/* ---------- Section ---------- */
.sb-section {
	position: relative;
	box-sizing: border-box;
	margin-top: var(--sb-s-mt, 0);
	margin-bottom: var(--sb-s-mb, 0);
	padding: var(--sb-s-pt, 0) var(--sb-s-pr, 0) var(--sb-s-pb, 0) var(--sb-s-pl, 0);
	min-height: var(--sb-s-minh, 0);
	background-repeat: no-repeat;
}
.sb-section.has-overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sb-overlay);
	pointer-events: none;
}
.sb-section__inner {
	position: relative;
	box-sizing: border-box;
	max-width: var(--sb-container);
	margin: 0 auto;
	padding: 0 var(--sb-side);
}
.sb-section--full > .sb-section__inner {
	max-width: none;
	padding: 0;
}
.sb-row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 calc(-1 * var(--sb-gutter));
	column-gap: var(--sb-s-gap, 0);
}
.sb-section--full > .sb-section__inner > .sb-row { margin: 0; }
.sb-section--equal > .sb-section__inner > .sb-row { align-items: stretch; }
.sb-section--v-middle > .sb-section__inner > .sb-row { align-items: center; }
.sb-section--v-bottom > .sb-section__inner > .sb-row { align-items: flex-end; }

/* ---------- Column ---------- */
.sb-col {
	box-sizing: border-box;
	flex: 0 0 var(--sb-c-w, 100%);
	max-width: var(--sb-c-w, 100%);
	min-width: 0;
	padding: var(--sb-c-pt, 0) var(--sb-c-pr, var(--sb-gutter)) var(--sb-c-pb, 0) var(--sb-c-pl, var(--sb-gutter));
}
.sb-col__inner { height: 100%; box-sizing: border-box; }
.sb-col__inner > * { margin-top: 0; margin-bottom: var(--sb-el-gap); }
.sb-col__inner > .sb-heading,
.sb-col__inner > .sb-posts,
.sb-col__inner > .sb-gallery,
.sb-col__inner > .sb-slider,
.sb-col__inner > .sb-spacer,
.sb-col__inner > .sb-social { margin-bottom: var(--sb-mb, 0); }
.sb-col__inner > .sb-form { margin-bottom: var(--sb-mb, 16px); }
.sb-col__inner > .sb-text,
.sb-col__inner > .sb-dual,
.sb-col__inner > .sb-ig,
.sb-col__inner > .sb-button { margin-bottom: var(--sb-mb, var(--sb-el-gap)); }

@media (max-width: 991px) {
	.sb-section { margin-top: var(--sb-s-mt-t, var(--sb-s-mt, 0)); margin-bottom: var(--sb-s-mb-t, var(--sb-s-mb, 0)); padding: var(--sb-s-pt-t, var(--sb-s-pt, 0)) var(--sb-s-pr-t, var(--sb-s-pr, 0)) var(--sb-s-pb-t, var(--sb-s-pb, 0)) var(--sb-s-pl-t, var(--sb-s-pl, 0)); }
	.sb-col { flex-basis: var(--sb-c-w-t, var(--sb-c-w, 100%)); max-width: var(--sb-c-w-t, var(--sb-c-w, 100%)); }
	.sb-col__inner > .sb-heading, .sb-col__inner > .sb-posts, .sb-col__inner > .sb-gallery, .sb-col__inner > .sb-slider, .sb-col__inner > .sb-spacer, .sb-col__inner > .sb-social { margin-bottom: var(--sb-mb-t, var(--sb-mb, 0)); }
	.sb-col__inner > .sb-text, .sb-col__inner > .sb-dual, .sb-col__inner > .sb-ig, .sb-col__inner > .sb-button { margin-bottom: var(--sb-mb-t, var(--sb-mb, var(--sb-el-gap))); }
	.sb-col__inner > .sb-form { margin-bottom: var(--sb-mb-t, var(--sb-mb, 16px)); }
}
@media (max-width: 778px) {
	.sb-section__inner { padding: 0 var(--sb-side-m); }
	.sb-section--full > .sb-section__inner { padding: 0; }
}
@media (max-width: 767px) {
	.sb-section { margin-top: var(--sb-s-mt-m, var(--sb-s-mt-t, var(--sb-s-mt, 0))); margin-bottom: var(--sb-s-mb-m, var(--sb-s-mb-t, var(--sb-s-mb, 0))); padding: var(--sb-s-pt-m, var(--sb-s-pt-t, var(--sb-s-pt, 0))) var(--sb-s-pr-m, var(--sb-s-pr-t, var(--sb-s-pr, 0))) var(--sb-s-pb-m, var(--sb-s-pb-t, var(--sb-s-pb, 0))) var(--sb-s-pl-m, var(--sb-s-pl-t, var(--sb-s-pl, 0))); }
	.sb-col { flex-basis: var(--sb-c-w-m, 100%); max-width: var(--sb-c-w-m, 100%); }
	.sb-col__inner > .sb-heading, .sb-col__inner > .sb-posts, .sb-col__inner > .sb-gallery, .sb-col__inner > .sb-slider, .sb-col__inner > .sb-spacer, .sb-col__inner > .sb-social { margin-bottom: var(--sb-mb-m, var(--sb-mb-t, var(--sb-mb, 0))); }
	.sb-col__inner > .sb-text, .sb-col__inner > .sb-dual, .sb-col__inner > .sb-ig, .sb-col__inner > .sb-button { margin-bottom: var(--sb-mb-m, var(--sb-mb-t, var(--sb-mb, var(--sb-el-gap)))); }
	.sb-col__inner > .sb-form { margin-bottom: var(--sb-mb-m, var(--sb-mb-t, var(--sb-mb, 16px))); }
}

/* ---------- Text block ---------- */
.sb-text { padding-top: var(--sb-t-pt, 0); }
.sb-text > :last-child { margin-bottom: 0; }
.sb-text.has-text-align-center { text-align: center; }

/* ---------- Heading ---------- */
.sb-heading { text-align: center; margin-top: var(--sb-mt, 0); }
@media (max-width: 991px) { .sb-heading { margin-top: var(--sb-mt-t, var(--sb-mt, 0)); } }
@media (max-width: 767px) { .sb-heading { margin-top: var(--sb-mt-m, var(--sb-mt-t, var(--sb-mt, 0))); } }
.sb-heading--left { text-align: left; }
.sb-heading--right { text-align: right; }
.sb-heading__title {
	margin: 0 0 var(--sb-tmb, 10px);
	font-family: var(--sb-heading-font);
	font-size: var(--sb-ts, 34px);
	line-height: var(--sb-tlh, 44px);
	color: var(--sb-tc, var(--sb-heading-color));
	font-weight: var(--sb-tw, 700);
	text-transform: var(--sb-tt, none);
	letter-spacing: var(--sb-tls, normal);
}
.sb-heading--font-body .sb-heading__title { font-family: var(--sb-body-font); }
.sb-heading__line {
	display: flex;
	justify-content: center;
	margin: 0 0 var(--sb-lmb, 40px);
	height: var(--sb-lh, 5px);
}
.sb-heading--left .sb-heading__line { justify-content: flex-start; }
.sb-heading--right .sb-heading__line { justify-content: flex-end; }
.sb-heading__line span {
	display: block;
	width: var(--sb-lw, 120px);
	max-width: 100%;
	height: var(--sb-lh, 5px);
	background: var(--sb-lc, var(--sb-accent));
}
.sb-heading__sub {
	margin: 0 0 var(--sb-smb, 0);
	font-family: var(--sb-body-font);
	font-size: var(--sb-ss, 18px);
	line-height: var(--sb-slh, 28px);
	color: var(--sb-sc, var(--sb-heading-color));
}
.sb-heading--sub-italic .sb-heading__sub { font-style: italic; }
.sb-heading__sub p { margin: 0 0 10px; font: inherit; color: inherit; }
.sb-heading__sub p:last-child { margin-bottom: 0; }
@media (max-width: 991px) {
	.sb-heading__title { font-size: var(--sb-ts-t, var(--sb-ts, 34px)); line-height: var(--sb-tlh-t, var(--sb-tlh, 44px)); }
	.sb-heading__sub { font-size: var(--sb-ss-t, var(--sb-ss, 18px)); line-height: var(--sb-slh-t, var(--sb-slh, 28px)); margin-bottom: var(--sb-smb-t, var(--sb-smb, 0)); }
}
@media (max-width: 767px) {
	.sb-heading__title { font-size: var(--sb-ts-m, var(--sb-ts-t, var(--sb-ts, 34px))); line-height: var(--sb-tlh-m, var(--sb-tlh-t, var(--sb-tlh, 44px))); }
	.sb-heading__sub { font-size: var(--sb-ss-m, var(--sb-ss-t, var(--sb-ss, 18px))); line-height: var(--sb-slh-m, var(--sb-slh-t, var(--sb-slh, 28px))); margin-bottom: var(--sb-smb-m, var(--sb-smb-t, var(--sb-smb, 0))); }
}

/* ---------- Buttons ---------- */
.sb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	box-sizing: border-box;
	font-family: var(--sb-body-font);
	font-weight: 700;
	text-decoration: none;
	border: 2px solid transparent;
	border-radius: var(--sb-btn-r, 0);
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.sb-btn--s { font-size: 12px; line-height: 14px; padding: 8px 12px; border-width: 0; }
.sb-btn--m { font-size: 14px; line-height: 16px; padding: 13px 18px; }
.sb-btn--l { font-size: 18px; line-height: 20px; padding: 18px 22px; border-width: 0; }
.sb-btn--filled { background: var(--sb-btn-bg, var(--sb-accent)); color: var(--sb-btn-c, #fff); border-color: var(--sb-btn-bg, #fff); }
.sb-btn--filled:hover, .sb-btn--filled:focus-visible { background: var(--sb-btn-hbg, #fff); color: var(--sb-btn-hc, var(--sb-accent)); border-color: var(--sb-btn-hbg, var(--sb-accent)); }
.sb-btn--outline { background: transparent; color: currentColor; border-color: currentColor; }
.sb-btn--outline:hover { background: #fff; color: var(--sb-accent); border-color: var(--sb-accent); }
.sb-btn--link { background: none; padding-left: 0; padding-right: 0; color: var(--sb-accent); }
.sb-button.has-text-align-center { text-align: center; }
.sb-button.has-text-align-right { text-align: right; }

/* ---------- Dual button ---------- */
.sb-dual { text-align: center; padding-bottom: 9px; }
.sb-dual__wrap {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	vertical-align: top;
}
.sb-dual__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 7px 0;
	font-family: var(--sb-body-font);
	font-size: 15px;
	line-height: 15px;
	color: #333;
	text-decoration: none;
	background: transparent;
	transition: background-color .3s, color .3s;
}
.sb-dual__btn--1 { padding-left: 13px; padding-right: 22px; }
.sb-dual__btn--2 { padding-left: 22px; padding-right: 13px; }
.sb-dual__btn:hover, .sb-dual__btn:focus-visible { background: var(--sb-hbg, var(--sb-accent)); color: var(--sb-hc, #fff); }
.sb-dual__divider {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	width: 26px;
	height: 26px;
	margin: -13px 0 0 -13px;
	border-radius: 50%;
	background: #333;
	color: #fff;
	font-family: var(--sb-body-font);
	font-size: 11px;
	line-height: 26px;
	text-align: center;
	pointer-events: none;
}
@media (max-width: 767px) {
	.sb-dual__wrap { flex-direction: column; align-items: center; }
}

/* ---------- Gallery ---------- */
.sb-gallery {
	display: grid;
	grid-template-columns: repeat(var(--sb-cols, 3), minmax(0, 1fr));
	gap: var(--sb-gap, 10px);
}
.sb-gallery__item { margin: 0; overflow: hidden; }
.sb-gallery__item a { display: block; }
.sb-gallery__item img { display: block; width: 100%; height: auto; }
.sb-gallery--grid[style*="--sb-ratio"] .sb-gallery__item img { aspect-ratio: var(--sb-ratio); object-fit: cover; height: auto; }
.sb-gallery--masonry { display: block; }
/* Mosaic: one large square and four small ones, repeated (sizes by grid, images cropped square). */
.sb-gallery--mosaic { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-flow: dense; gap: var(--sb-gap, 0); }
.sb-gallery--mosaic .sb-gallery__item:nth-child(5n + 1) { grid-column: span 2; grid-row: span 2; }
.sb-gallery--mosaic .sb-gallery__item img { aspect-ratio: 1 / 1; object-fit: cover; height: 100%; }
.sb-gallery--mosaic .sb-gallery__item a { height: 100%; }
@media (max-width: 767px) {
	.sb-gallery.sb-gallery--mosaic { grid-template-columns: repeat(var(--sb-cols-m, 2), minmax(0, 1fr)); }
	/* a wide tile in a single column would add an empty implicit column */
	.sb-gallery--mosaic[style*="--sb-cols-m:1"] .sb-gallery__item:nth-child(5n + 1) { grid-column: auto; grid-row: auto; }
}
.sb-gallery__inner { columns: var(--sb-cols, 3); column-gap: var(--sb-gap, 10px); margin-bottom: calc(-1 * var(--sb-gap, 10px)); }
.sb-gallery--masonry .sb-gallery__item { break-inside: avoid; margin-bottom: var(--sb-gap, 10px); }
.sb-gallery__inner.is-js { position: relative; margin-bottom: 0; }
.sb-gallery__inner.is-js > .sb-gallery__item { position: absolute; margin: 0; }
.sb-gallery--hover-zoom .sb-gallery__item img { transition: transform .4s; }
.sb-gallery--hover-zoom .sb-gallery__item a:hover img { transform: scale(1.04); }
@media (max-width: 991px) { .sb-gallery { grid-template-columns: repeat(var(--sb-cols-t, var(--sb-cols, 3)), minmax(0, 1fr)); } .sb-gallery__inner { columns: var(--sb-cols-t, var(--sb-cols, 3)); } }
@media (max-width: 767px) { .sb-gallery { grid-template-columns: repeat(var(--sb-cols-m, 2), minmax(0, 1fr)); } .sb-gallery__inner { columns: var(--sb-cols-m, 2); } }

/* ---------- Lightbox ---------- */
.sb-lightbox { position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .85); color: #fff; font-family: var(--sb-body-font); }
.sb-lightbox[hidden] { display: none; }
.sb-lightbox-open { overflow: hidden; }
.sb-lightbox button { border: 0; background: none; color: inherit; cursor: pointer; padding: 0; }
.sb-lb__bar { position: absolute; left: 0; right: 0; top: 0; z-index: 3; display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 10px; background: rgba(0, 0, 0, .3); }
.sb-lb__count { font-size: 13px; line-height: 44px; opacity: .75; }
.sb-lb__tools { display: flex; gap: 6px; }
.sb-lb__tools button { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; opacity: .75; }
.sb-lb__tools button:hover, .sb-lb__tools button:focus-visible { opacity: 1; }
.sb-lb__prev, .sb-lb__next { position: absolute; top: 50%; z-index: 3; width: 70px; height: 100px; margin-top: -50px; display: flex; align-items: center; justify-content: center; opacity: .75; }
.sb-lb__prev:hover, .sb-lb__next:hover { opacity: 1; }
.sb-lb__prev { left: 10px; }
.sb-lb__next { right: 10px; }
.sb-lb__prev[hidden], .sb-lb__next[hidden], .sb-lightbox.is-single .sb-lb__prev, .sb-lightbox.is-single .sb-lb__next { display: none; }
.sb-lb__stage { position: absolute; inset: 44px 0 51px; display: flex; align-items: center; justify-content: center; overflow: auto; }
.sb-lb__frame { position: relative; max-width: 100%; max-height: 100%; }
.sb-lb__frame > img { display: block; max-width: 100vw; max-height: calc(100vh - 95px); width: auto; height: auto; }
.sb-lightbox.is-zoomed .sb-lb__frame > img { max-width: none; max-height: none; cursor: zoom-out; }
.sb-lightbox.is-zoomed .sb-lb__stage { align-items: flex-start; justify-content: flex-start; }
.sb-lb__caption { position: absolute; left: 0; right: 0; bottom: 0; min-height: 51px; padding: 13px 20px; box-sizing: border-box; background: rgba(0, 0, 0, .5); text-align: center; font: 700 16px/25px var(--sb-heading-font); }
.sb-lb__caption:empty { display: none; }
.sb-lb__ig { display: none; }
/* Instagram look */
.sb-lightbox--ig { background: rgba(0, 0, 0, .9); }
.sb-lightbox--ig .sb-lb__bar, .sb-lightbox--ig .sb-lb__caption { display: none; }
.sb-lightbox--ig .sb-lb__stage { inset: 0; align-items: center; padding: 20px 0; }
.sb-lightbox--ig .sb-lb__frame { width: fit-content; max-width: min(750px, calc(100vw - 20px)); background: #000; }
.sb-lightbox--ig .sb-lb__frame > img { width: auto; height: auto; max-width: min(750px, calc(100vw - 20px)); max-height: min(750px, calc(100vh - 150px)); }
.sb-lightbox--ig .sb-lb__ig { position: relative; display: block; padding: 10px 40px 8px 4px; }
.sb-lb__user { display: flex; align-items: center; gap: 10px; min-height: 30px; }
.sb-lb__avatar img { display: block; width: 30px; height: 30px; border-radius: 50%; object-fit: cover; }
.sb-lb__name { color: #ccc; font-size: 13px; font-weight: 700; text-decoration: none; }
.sb-lb__name:hover { color: #fff; }
.sb-lb__meta { display: flex; align-items: center; gap: 8px; margin-top: 8px; color: #999; font-size: 12px; line-height: 16px; }
.sb-lb__meta a, .sb-lb__share { color: #999; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; font-size: 12px; }
.sb-lb__meta a:hover, .sb-lb__share:hover { color: #fff; }
.sb-lb__sep { opacity: .5; }
.sb-lb__sharewrap { position: relative; }
.sb-lb__sharemenu { position: absolute; left: 0; bottom: 22px; display: flex; flex-direction: column; min-width: 120px; padding: 6px 0; background: #222; }
.sb-lb__sharemenu[hidden] { display: none; }
.sb-lb__sharemenu a { padding: 4px 12px; }
.sb-lb__igclose { position: absolute; right: 4px; top: 10px; width: 30px; height: 30px; color: #aaa !important; font-size: 26px !important; line-height: 30px; }
.sb-lb__igclose:hover { color: #fff !important; }
/* Centred on the photo: the frame is centred and the account bar under the photo is about 74px. */
.sb-lightbox--ig .sb-lb__prev, .sb-lightbox--ig .sb-lb__next { top: 50%; margin-top: -87px; height: 100px; color: #fff; }
.sb-lightbox--ig .sb-lb__prev { left: calc(50% - min(375px, 50vw - 10px) - 70px); }
.sb-lightbox--ig .sb-lb__next { right: calc(50% - min(375px, 50vw - 10px) - 70px); }
@media (max-width: 767px) {
	.sb-lb__prev, .sb-lb__next { display: none; }
	.sb-lb__tools .sb-lb__zoom { display: none; }
}

/* ---------- Post cards ---------- */
.sb-posts__grid {
	display: grid;
	grid-template-columns: repeat(var(--sb-cols, 3), minmax(0, 1fr));
	gap: 30px;
}
.sb-card {
	display: flex;
	flex-direction: column;
	background: #f4f4f4;
	box-shadow: 0 0 10px rgba(0, 0, 0, .05);
	min-width: 0;
}
.sb-card__media { position: relative; display: block; overflow: hidden; }
.sb-card__media img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.sb-card__body { padding: 15px 20px 20px; }
.sb-card__badges { position: absolute; left: 10px; top: 10px; display: flex; flex-direction: column; align-items: flex-start; }
.sb-card__badges a { display: inline-block; margin-bottom: 2px; padding: 2px 9px 1px; background: rgba(0, 0, 0, .75); color: #fff; font: 700 12px/22px Arial, Verdana, sans-serif; text-decoration: none; }
.sb-card__meta { margin: 0 0 15px; font-family: var(--sb-body-font); font-size: 13px; line-height: 23px; color: #adafb3; }
.sb-card__meta > *, .sb-card__meta a, .sb-card__meta time { display: inline-block; }
.sb-card__meta a { color: inherit; text-decoration: none; }
.sb-card__meta a:hover { color: var(--sb-accent); }
.sb-card__meta > * { position: relative; margin-right: 6px; padding-right: 9px; }
.sb-card__meta > :last-child { margin-right: 0; padding-right: 0; }
.sb-card__meta > :not(:last-child)::after { content: ""; position: absolute; right: 0; top: 50%; width: 3px; height: 3px; margin-top: -1px; border-radius: 50%; background: currentColor; }
/* Grid cards (blog overview, tag archive) */
.sb-card--grid .sb-card__body { padding: 25px 30px 30px; }
.sb-card--grid .sb-card__excerpt, .sb-card--carousel .sb-card__excerpt { margin-bottom: 15px; }
.sb-card--grid .sb-card__title { margin-bottom: 5px; }
/* Category archive cards */
.kz-archive--category .sb-posts__grid { gap: 20px; }
.sb-card--archive .sb-card__body { padding: 10px 25px; }
.sb-card--archive .sb-card__cat a { display: inline; }
.sb-card--archive .sb-card__title { padding-top: 10px; margin: 0; }
.sb-card--archive .sb-card__meta { padding-top: 10px; margin: 0; }
.sb-card--archive .sb-card__excerpt { padding-top: 10px; font-size: 16px; line-height: 29px; }
.sb-card__title {
	margin: 0 0 5px;
	font-family: var(--sb-heading-font);
	font-size: 22px;
	line-height: 32px;
	font-weight: 700;
	color: var(--sb-heading-color);
}
.sb-card__title a { color: inherit; text-decoration: none; }
.sb-card__title a:hover { color: var(--sb-accent); }
.sb-card__excerpt { margin: 0 0 10px; font-family: var(--sb-body-font); font-size: 14px; line-height: 26px; color: var(--sb-text-color); }
.sb-card__more {
	display: block;
	width: max-content;
	padding-bottom: 8px;
	margin-bottom: -8px;
	font-family: var(--sb-body-font);
	font-size: 13px;
	line-height: 17px;
	font-weight: 700;
	color: #333;
	text-decoration: none;
}
.sb-card__more:hover { color: var(--sb-accent); }
.sb-card__more .sb-icon { margin-left: 4px; vertical-align: -2px; }
@media (max-width: 991px) { .sb-posts__grid { grid-template-columns: repeat(var(--sb-cols-t, var(--sb-cols, 3)), minmax(0, 1fr)); } }
@media (max-width: 767px) { .sb-posts__grid { grid-template-columns: repeat(var(--sb-cols-m, 1), minmax(0, 1fr)); } }

/* Carousel */
.sb-posts--carousel { position: relative; }
.sb-carousel__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.sb-carousel__viewport::-webkit-scrollbar { display: none; }
.sb-carousel__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - (var(--sb-cols, 3) - 1) * var(--sb-posts-gap, 30px)) / var(--sb-cols, 3));
	column-gap: var(--sb-posts-gap, 30px);
}
.sb-carousel__track > .sb-card, .sb-carousel__track > .sb-ocard { scroll-snap-align: start; }
.sb-carousel__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-top: -18px;
	padding: 0;
	border: 0;
	background: none;
	color: rgba(0, 0, 0, .75);
	cursor: pointer;
}
.sb-carousel__arrow:hover { color: #000; }
.sb-carousel__arrow--prev { left: -45px; }
.sb-carousel__arrow--next { right: -45px; }
.sb-posts--carousel.is-static .sb-carousel__arrow { display: none; }
@media (max-width: 991px) { .sb-carousel__track { grid-auto-columns: calc((100% - (var(--sb-cols-t, var(--sb-cols, 3)) - 1) * var(--sb-posts-gap, 30px)) / var(--sb-cols-t, var(--sb-cols, 3))); } }
@media (max-width: 767px) {
	.sb-carousel__track { grid-auto-columns: calc((100% - (var(--sb-cols-m, 1) - 1) * var(--sb-posts-gap, 30px)) / var(--sb-cols-m, 1)); }
	.sb-carousel__arrow--prev { left: 10px; }
	.sb-carousel__arrow--next { right: 10px; }
}

.sb-pagination { margin-top: 40px; text-align: center; font-family: var(--sb-body-font); }
.sb-pagination .page-numbers { display: inline-block; min-width: 36px; padding: 6px 10px; color: #333; text-decoration: none; }
.sb-pagination .page-numbers.current { color: var(--sb-accent); font-weight: 700; }

/* ---------- Instagram ---------- */
.sb-ig { padding: 12px 0 16px; }
.sb-ig__grid {
	display: grid;
	grid-template-columns: repeat(var(--sb-cols, 4), minmax(0, 1fr));
}
.sb-ig__item { position: relative; display: block; aspect-ratio: 1; padding: calc(var(--sb-gap, 4px) / 2); box-sizing: border-box; overflow: hidden; }
.sb-ig__item img { position: absolute; inset: calc(var(--sb-gap, 4px) / 2); width: calc(100% - var(--sb-gap, 4px)); height: calc(100% - var(--sb-gap, 4px)); object-fit: cover; background: #eee; transition: opacity .25s; }
.sb-ig__item:hover img { opacity: .85; }
.sb-ig--highlight .sb-ig__grid { grid-auto-flow: dense; }
.sb-ig--highlight .sb-ig__item.is-big { grid-column: span 2; grid-row: span 2; }
.sb-ig__viewport { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.sb-ig__viewport::-webkit-scrollbar { display: none; }
.sb-ig__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc(100% / var(--sb-cols, 6));
}
.sb-ig__track > .sb-ig__item { scroll-snap-align: start; }
.sb-ig__dots { margin-top: 5px; padding: 5px 0; text-align: center; line-height: 29px; font-size: 0; }
.sb-ig__dots[hidden] { display: none; }
.sb-ig__dot { display: inline-block; vertical-align: top; width: 26px; height: 17px; margin-top: 6px; padding: 0; border: 0; background: none; cursor: pointer; position: relative; }
.sb-ig__dot::before { content: ""; position: absolute; left: 7px; top: 5px; width: 12px; height: 12px; border-radius: 50%; background: #d6d6d6; }
.sb-ig__dot.is-active::before, .sb-ig__dot:hover::before { background: #333; }
.sb-ig__follow { margin-top: 10px; text-align: center; }
.sb-ig--full { width: 90%; margin-left: auto; margin-right: auto; }
@media (max-width: 991px) {
	.sb-ig__grid { grid-template-columns: repeat(var(--sb-cols-t, var(--sb-cols, 4)), minmax(0, 1fr)); }
	.sb-ig__track { grid-auto-columns: calc(100% / var(--sb-cols-t, var(--sb-cols, 6))); }
}
@media (max-width: 767px) {
	.sb-ig__grid { grid-template-columns: repeat(var(--sb-cols-m, 2), minmax(0, 1fr)); }
	.sb-ig__track { grid-auto-columns: calc(100% / var(--sb-cols-m, 1)); }
}
@media (max-width: 640px) { .sb-ig--full { width: 100%; } }

/* ---------- Social icons ---------- */
.sb-social { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sb-gap, 4px); min-height: 30px; }
.sb-social--center { justify-content: center; }
.sb-social--right { justify-content: flex-end; }
.sb-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--sb-box, 26px);
	height: var(--sb-box, 26px);
	border-radius: var(--sb-rad, 0);
	background: var(--sb-bg, transparent);
	color: var(--sb-color, currentColor);
	transition: background-color .2s, color .2s;
}
.sb-social__link:hover { background: var(--sb-hbg, var(--sb-bg, transparent)); }
.sb-social__link .sb-icon { width: var(--sb-size, 16px); height: var(--sb-size, 16px); }

/* ---------- Spacer ---------- */
.sb-spacer { height: var(--sb-h, 40px); }
@media (max-width: 991px) { .sb-spacer { height: var(--sb-h-t, var(--sb-h, 40px)); } }
@media (max-width: 767px) { .sb-spacer { height: var(--sb-h-m, var(--sb-h-t, var(--sb-h, 40px))); } }

/* ---------- Slider ---------- */
.sb-slider {
	container-type: inline-size;
	position: relative;
	overflow: hidden;
	background: #111;
}
.sb-slider__stage { position: relative; height: min(calc(var(--sb-gh) * 1px), calc(var(--sb-gh) * 100cqw / var(--sb-gw))); }
.sb-slider__slide { position: absolute; inset: 0; opacity: 0; transition: opacity var(--sb-fade, 500ms) linear; }
.sb-slider__slide.is-active { opacity: 1; }
.sb-slider__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sb-slider.has-overlay .sb-slider__slides::after { content: ""; position: absolute; inset: 0; background: var(--sb-overlay); }
.sb-slider__layer { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.sb-slider__l1, .sb-slider__l2, .sb-slider__btn {
	position: absolute;
	left: 50%;
	top: 50%;
	white-space: nowrap;
	text-align: center;
	color: #fff;
}
.sb-slider__l1 {
	font: 400 min(calc(var(--sb-l1) * 1px), calc(var(--sb-l1) * 100cqw / var(--sb-gw))) / 1.2 var(--sb-heading-font);
	transform: translate(-50%, calc(-50% + min(calc(var(--sb-y1) * 1px), calc(var(--sb-y1) * 100cqw / var(--sb-gw)))));
	animation: sb-slider-in 1.5s cubic-bezier(.65, 0, .35, 1) both;
}
.sb-slider__l2 {
	font: 700 min(calc(var(--sb-l2) * 1px), calc(var(--sb-l2) * 100cqw / var(--sb-gw))) / 1.2 var(--sb-heading-font);
	transform: translate(-50%, calc(-50% + min(calc(var(--sb-y2) * 1px), calc(var(--sb-y2) * 100cqw / var(--sb-gw)))));
	animation: sb-slider-in 1.5s cubic-bezier(.65, 0, .35, 1) both;
}
.sb-slider__btn {
	pointer-events: auto;
	box-sizing: border-box;
	padding: min(16px, calc(16 * 100cqw / var(--sb-gw))) min(40px, calc(40 * 100cqw / var(--sb-gw)));
	border: 2px solid var(--sb-accent);
	background: var(--sb-accent);
	font: 700 min(calc(var(--sb-bt) * 1px), calc(var(--sb-bt) * 100cqw / var(--sb-gw))) / 1.4167 var(--sb-body-font);
	text-transform: uppercase;
	text-decoration: none;
	transform: translate(-50%, calc(-50% + min(calc(var(--sb-yb) * 1px), calc(var(--sb-yb) * 100cqw / var(--sb-gw)))));
	transition: background-color .4s ease-out, color .4s ease-out;
	animation: sb-slider-up 1.5s cubic-bezier(.65, 0, .35, 1) both;
}
.sb-slider__btn:hover, .sb-slider__btn:focus-visible { background: #fff; color: var(--sb-accent); }
@keyframes sb-slider-in { from { opacity: 0; scale: .9; } to { opacity: 1; scale: 1; } }
@keyframes sb-slider-up { from { opacity: 0; translate: 0 50px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 767px) {
	.sb-slider__stage { height: min(calc(var(--sb-gh-m, var(--sb-gh)) * 1px), calc(var(--sb-gh-m, var(--sb-gh)) * 100cqw / var(--sb-gw-m, var(--sb-gw)))); }
	.sb-slider__l1 { font-size: min(calc(var(--sb-l1-m, var(--sb-l1)) * 1px), calc(var(--sb-l1-m, var(--sb-l1)) * 100cqw / var(--sb-gw-m, var(--sb-gw)))); transform: translate(-50%, calc(-50% + min(calc(var(--sb-y1-m, var(--sb-y1)) * 1px), calc(var(--sb-y1-m, var(--sb-y1)) * 100cqw / var(--sb-gw-m, var(--sb-gw)))))); }
	.sb-slider__l2 { font-size: min(calc(var(--sb-l2-m, var(--sb-l2)) * 1px), calc(var(--sb-l2-m, var(--sb-l2)) * 100cqw / var(--sb-gw-m, var(--sb-gw)))); transform: translate(-50%, calc(-50% + min(calc(var(--sb-y2-m, var(--sb-y2)) * 1px), calc(var(--sb-y2-m, var(--sb-y2)) * 100cqw / var(--sb-gw-m, var(--sb-gw)))))); }
	.sb-slider__btn {
		font-size: min(calc(var(--sb-bt-m, var(--sb-bt)) * 1px), calc(var(--sb-bt-m, var(--sb-bt)) * 100cqw / var(--sb-gw-m, var(--sb-gw))));
		padding: min(16px, calc(16 * 100cqw / var(--sb-gw-m, var(--sb-gw)))) min(40px, calc(40 * 100cqw / var(--sb-gw-m, var(--sb-gw))));
		border-width: 1px;
		transform: translate(-50%, calc(-50% + min(calc(var(--sb-yb-m, var(--sb-yb)) * 1px), calc(var(--sb-yb-m, var(--sb-yb)) * 100cqw / var(--sb-gw-m, var(--sb-gw))))));
	}
}
@media (prefers-reduced-motion: reduce) {
	.sb-slider__l1, .sb-slider__l2, .sb-slider__btn { animation: none; }
	.sb-slider__slide { transition: none; }
}

/* ---------- Forms ---------- */
.sb-form { margin-top: 16px; }
.sb-form__fields { display: flex; flex-wrap: wrap; margin: 0 -16px 0 0; }
.sb-form__fields > .sb-field:first-child { margin-top: 0; }
.sb-field { box-sizing: border-box; flex: 0 0 100%; margin-top: 16px; padding-right: 16px; }
.sb-field--w50 { flex-basis: 50%; }
.sb-field--w33 { flex-basis: 33.333%; }
.sb-field__label {
	display: inline-block;
	vertical-align: top;
	margin: 0;
	font-family: var(--sb-body-font);
	font-size: 14px;
	line-height: 26px;
	font-weight: 400;
	color: var(--sb-label, inherit);
	padding-top: 2px;
	height: 29px;
}
.sb-field__req { color: var(--sb-accent); margin-left: 4px; }
.sb-field__control { margin-top: 8px; }
.sb-field input[type="text"], .sb-field input[type="email"], .sb-field input[type="tel"], .sb-field input[type="date"], .sb-field input[type="number"], .sb-field select, .sb-field textarea {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 10px;
	padding: 5px 4px;
	min-height: 40px;
	font-family: var(--sb-body-font);
	font-size: 16px;
	line-height: 26px;
	color: var(--sb-text-color);
	background: #fafafa;
	border: 2px solid rgba(0, 0, 0, 0);
	border-radius: 0;
	box-shadow: none;
}
.sb-field select { padding: 6px 10px; height: 41px; appearance: none; background: #fafafa url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%238b8d94'/%3E%3C/svg%3E") no-repeat right 16px center; }
.sb-field textarea { display: block; height: 320px; padding: 6px 8px; resize: vertical; }
@media (max-width: 640px) { .sb-field textarea { height: 160px; } }
.sb-field input:focus, .sb-field select:focus, .sb-field textarea:focus { outline: 0; border-color: var(--sb-accent); }
.sb-field__desc { font-size: 13px; line-height: 20px; color: inherit; opacity: .8; margin-top: -6px; }
.sb-field__desc--above { margin: 0; font-size: 13px; line-height: 29px; opacity: 1; }
.sb-field__error { font-size: 13px; line-height: 20px; color: #b00020; background: #fff; display: inline-block; padding: 2px 6px; margin-top: -6px; }
.sb-field.has-error input, .sb-field.has-error select, .sb-field.has-error textarea { border-color: #b00020; }
.sb-field__choice { display: block; font-size: 14px; line-height: 26px; }
.sb-form__errors { padding: 10px 14px; margin-bottom: 10px; background: #fff; color: #b00020; font-size: 14px; }
.sb-form__footer { margin-top: calc(16px + var(--sb-submit-gap, 0px)); padding: 16px 0 10px; }
.sb-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.sb-form__confirmation { font-family: var(--sb-body-font); font-size: 16px; line-height: 29px; }
@media (max-width: 767px) {
	.sb-field--w50, .sb-field--w33 { flex-basis: 100%; }
	.sb-field input[type="text"], .sb-field input[type="email"], .sb-field input[type="tel"], .sb-field input[type="date"], .sb-field input[type="number"] { min-height: 46px; line-height: 32px; }
}

.sb-notice { padding: 12px 16px; background: #fff8e5; border: 1px solid #dba617; font: 14px/1.5 var(--sb-body-font); color: #333; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* ---------- Editor canvas only ---------- */
@media (min-width: 992px) { .editor-styles-wrapper .sb-hide-d { display: revert !important; opacity: .35; } }
@media (min-width: 768px) and (max-width: 991px) { .editor-styles-wrapper .sb-hide-t { display: revert !important; opacity: .35; } }
@media (max-width: 767px) { .editor-styles-wrapper .sb-hide-m { display: revert !important; opacity: .35; } }
.editor-styles-wrapper .sb-spacer--editor { background: repeating-linear-gradient(45deg, transparent 0 6px, rgba(119, 183, 154, .12) 6px 12px); }
.editor-styles-wrapper .sb-layout-placeholder { padding: 30px; border: 1px dashed #c3c4c7; text-align: center; font: 13px/1.5 system-ui, sans-serif; color: #555; }
.editor-styles-wrapper .sb-layout-placeholder .sb-layout-picker { display: grid; grid-template-columns: repeat(4, 64px); gap: 8px; justify-content: center; }
.editor-styles-wrapper .sb-layout-placeholder .components-button { height: 40px; border: 1px solid #ddd; background: #fff; }
.editor-styles-wrapper .sb-layout-icon { display: flex; gap: 3px; width: 100%; height: 100%; }
.editor-styles-wrapper .sb-layout-icon span { display: block; background: #c3c4c7; border-radius: 2px; }
.editor-styles-wrapper .sb-row > .block-list-appender { display: none; }
.editor-styles-wrapper .sb-col { min-height: 40px; }
.editor-styles-wrapper .sb-ssr > div > * { margin-bottom: 0; }
.editor-styles-wrapper .sb-empty { padding: 20px; background: #f6f7f7; font: 13px system-ui, sans-serif; color: #555; text-align: center; }
.editor-styles-wrapper .sb-field input:disabled, .editor-styles-wrapper .sb-field select:disabled, .editor-styles-wrapper .sb-field textarea:disabled { opacity: 1; }

/* ---------- image ---------- */
.sb-image { margin: 0; display: flex; flex-direction: column; }
.sb-image--center { align-items: center; text-align: center; }
.sb-image--right { align-items: flex-end; text-align: right; }
.sb-image__link { display: block; }
.sb-image__img, .sb-image__link { width: var(--sb-img-w, auto); max-width: 100%; }
.sb-image__img { display: block; height: auto; border-radius: var(--sb-img-r, 0); }
.sb-image__link .sb-image__img { width: 100%; }
.sb-image.has-ratio .sb-image__img { aspect-ratio: var(--sb-img-ratio); object-fit: cover; width: var(--sb-img-w, 100%); }
.sb-image__caption { margin-top: 8px; font-size: .875em; opacity: .8; }
@media (max-width: 991px) { .sb-image__img, .sb-image__link { width: var(--sb-img-w-t, var(--sb-img-w, auto)); } }
@media (max-width: 767px) { .sb-image__img, .sb-image__link { width: var(--sb-img-w-m, var(--sb-img-w-t, var(--sb-img-w, auto))); } }

/* ---------- video ---------- */
.sb-video { position: relative; aspect-ratio: var(--sb-video-ratio, 16 / 9); border-radius: var(--sb-video-r, 0); overflow: hidden; background: #000; }
.sb-video iframe, .sb-video video, .sb-video__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.sb-video video { object-fit: cover; }
.sb-video__play { padding: 0; background: #000; cursor: pointer; display: block; }
.sb-video__play img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .92; transition: opacity .2s; }
.sb-video__play:hover img { opacity: 1; }
.sb-video__icon { position: absolute; left: 50%; top: 50%; width: 68px; height: 68px; margin: -34px 0 0 -34px; border-radius: 50%; background: rgba(0, 0, 0, .6); color: #fff; display: grid; place-items: center; transition: transform .2s, background .2s; }
.sb-video__play:hover .sb-video__icon { transform: scale(1.08); background: rgba(0, 0, 0, .8); }

/* ---------- divider ---------- */
.sb-divider { display: flex; justify-content: center; margin-top: var(--sb-mt, 0); }
.sb-divider--left { justify-content: flex-start; }
.sb-divider--right { justify-content: flex-end; }
.sb-divider__line { margin: 0; border: 0; border-top: var(--sb-hr-weight, 1px) var(--sb-hr-style, solid) var(--sb-hr-color, currentColor); width: var(--sb-hr-w, 100%); opacity: 1; }
@media (max-width: 991px) { .sb-divider { margin-top: var(--sb-mt-t, var(--sb-mt, 0)); } .sb-divider__line { width: var(--sb-hr-w-t, var(--sb-hr-w, 100%)); } }
@media (max-width: 767px) { .sb-divider { margin-top: var(--sb-mt-m, var(--sb-mt-t, var(--sb-mt, 0))); } .sb-divider__line { width: var(--sb-hr-w-m, var(--sb-hr-w-t, var(--sb-hr-w, 100%))); } }

/* ---------- accordion ---------- */
.sb-acc { border-top: 1px solid var(--sb-acc-line, rgba(0, 0, 0, .12)); }
.sb-acc__item { border-bottom: 1px solid var(--sb-acc-line, rgba(0, 0, 0, .12)); }
.sb-acc__q { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 0; cursor: pointer; font-weight: 600; color: var(--sb-acc-title, inherit); }
.sb-acc__q::-webkit-details-marker { display: none; }
.sb-acc__q i { position: relative; flex: none; width: 14px; height: 14px; color: var(--sb-acc-icon, currentColor); }
.sb-acc__q i::before, .sb-acc__q i::after { content: ''; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; background: currentColor; transition: transform .2s; }
.sb-acc__q i::after { transform: rotate(90deg); }
.sb-acc__item[open] .sb-acc__q i::after { transform: rotate(0); }
.sb-acc__a { padding: 0 0 16px; }
.sb-acc__a > :last-child { margin-bottom: 0; }

.sb-col__inner > .sb-image, .sb-col__inner > .sb-video, .sb-col__inner > .sb-divider, .sb-col__inner > .sb-acc { margin-bottom: var(--sb-mb, var(--sb-el-gap)); }
@media (max-width: 991px) { .sb-col__inner > .sb-image, .sb-col__inner > .sb-video, .sb-col__inner > .sb-divider, .sb-col__inner > .sb-acc { margin-bottom: var(--sb-mb-t, var(--sb-mb, var(--sb-el-gap))); } }
@media (max-width: 767px) { .sb-col__inner > .sb-image, .sb-col__inner > .sb-video, .sb-col__inner > .sb-divider, .sb-col__inner > .sb-acc { margin-bottom: var(--sb-mb-m, var(--sb-mb-t, var(--sb-mb, var(--sb-el-gap)))); } }

/* ---------- Section shapes ---------- */
.sb-section.has-shape { overflow: hidden; }
.sb-shape { position: absolute; left: 0; right: 0; z-index: 10; pointer-events: none; line-height: 0; overflow: hidden; background: var(--sb-shape-bg, transparent); }
.sb-shape--top { top: 0; }
.sb-shape--bottom { bottom: 0; }
.sb-shape svg { display: block; width: 100%; height: 140px; fill: var(--sb-shape-color, #fff); }
.sb-shape--small svg { height: 70px; }
.sb-shape--speech { display: flex; }
.sb-shape--speech .sb-shape__l, .sb-shape--speech .sb-shape__r { width: 50%; height: 60px; background: var(--sb-shape-color, #fff); }
.sb-shape--speech.sb-shape--small .sb-shape__l, .sb-shape--speech.sb-shape--small .sb-shape__r { height: 35px; }
.sb-shape--speech.sb-shape--bottom .sb-shape__l { border-top-right-radius: 60px; }
.sb-shape--speech.sb-shape--bottom .sb-shape__r { border-top-left-radius: 60px; }
.sb-shape--speech.sb-shape--top .sb-shape__l { border-bottom-right-radius: 60px; }
.sb-shape--speech.sb-shape--top .sb-shape__r { border-bottom-left-radius: 60px; }
.sb-shape--speech.sb-shape--small.sb-shape--bottom .sb-shape__l { border-top-right-radius: 35px; }
.sb-shape--speech.sb-shape--small.sb-shape--bottom .sb-shape__r { border-top-left-radius: 35px; }
.sb-shape--speech.sb-shape--small.sb-shape--top .sb-shape__l { border-bottom-right-radius: 35px; }
.sb-shape--speech.sb-shape--small.sb-shape--top .sb-shape__r { border-bottom-left-radius: 35px; }
.sb-section > .sb-section__inner { position: relative; z-index: 2; }

.sb-section.has-shape-top { padding-top: calc(var(--sb-s-pt, 0px) + var(--sb-shape-pt, 0px)); }
.sb-section.has-shape-bottom { padding-bottom: calc(var(--sb-s-pb, 0px) + var(--sb-shape-pb, 0px)); }
@media (max-width: 991px) {
	.sb-section.has-shape-top { padding-top: calc(var(--sb-s-pt-t, var(--sb-s-pt, 0px)) + var(--sb-shape-pt, 0px)); }
	.sb-section.has-shape-bottom { padding-bottom: calc(var(--sb-s-pb-t, var(--sb-s-pb, 0px)) + var(--sb-shape-pb, 0px)); }
}
@media (max-width: 767px) {
	.sb-section.has-shape-top { padding-top: calc(var(--sb-s-pt-m, var(--sb-s-pt-t, var(--sb-s-pt, 0px))) + var(--sb-shape-pt, 0px)); }
	.sb-section.has-shape-bottom { padding-bottom: calc(var(--sb-s-pb-m, var(--sb-s-pb-t, var(--sb-s-pb, 0px))) + var(--sb-shape-pb, 0px)); }
}

/* ---------- Icon box ---------- */
.sb-ib { display: flex; gap: 12px; margin-bottom: var(--sb-mb, 20px); }
.sb-ib--top { flex-direction: column; }
.sb-ib--center { text-align: center; align-items: center; }
.sb-ib__icon { flex: 0 0 auto; color: var(--sb-ib-ic, var(--sb-accent)); line-height: 1; padding-top: .2em; }
.sb-ib__icon svg { width: var(--sb-ib-is, 16px); height: var(--sb-ib-is, 16px); }
.sb-ib__title { margin: 0 0 6px; font-family: var(--sb-heading-font); font-size: var(--sb-ib-ts, 18px); font-weight: var(--sb-ib-tw, 700); text-transform: var(--sb-ib-tt, none); color: var(--sb-ib-tc, var(--sb-heading-color)); }
.sb-ib__text { color: var(--sb-ib-xc, inherit); font-size: var(--sb-ib-xs, inherit); }
.sb-ib__text a { color: var(--sb-ib-lc, var(--sb-accent)); }
.sb-ib__text > :last-child { margin-bottom: 0; }

/* ---------- Logos ---------- */
.sb-logos { margin-bottom: var(--sb-mb, 0); overflow: hidden; }
.sb-logos__track { display: grid; grid-template-columns: repeat(var(--sb-cols, 4), minmax(0, 1fr)); gap: var(--sb-gap, 0); }
.sb-logos--carousel .sb-logos__track { display: flex; }
.sb-logos--carousel .sb-logos__item { flex: 0 0 calc((100% - (var(--sb-cols, 4) - 1) * var(--sb-gap, 0px)) / var(--sb-cols, 4)); margin-right: var(--sb-gap, 0); }
.sb-logos__item { display: flex; align-items: center; justify-content: center; height: var(--sb-logo-h, 120px); background: var(--sb-logo-bg, transparent); border: 1px solid var(--sb-logo-bdr, transparent); box-sizing: border-box; }
.sb-logos__item a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; }
.sb-logos__item img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.sb-logos--cover .sb-logos__item img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 991px) {
	.sb-logos__track { grid-template-columns: repeat(var(--sb-cols-t, var(--sb-cols, 4)), minmax(0, 1fr)); }
	.sb-logos--carousel .sb-logos__item { flex-basis: calc((100% - (var(--sb-cols-t, var(--sb-cols, 4)) - 1) * var(--sb-gap, 0px)) / var(--sb-cols-t, var(--sb-cols, 4))); }
}
@media (max-width: 767px) {
	.sb-logos__track { grid-template-columns: repeat(var(--sb-cols-m, 2), minmax(0, 1fr)); }
	.sb-logos--carousel .sb-logos__item { flex-basis: calc((100% - (var(--sb-cols-m, 2) - 1) * var(--sb-gap, 0px)) / var(--sb-cols-m, 2)); }
}

/* ---------- Posts: overlay cards and filter ---------- */
.sb-posts--overlay .sb-posts__grid { gap: var(--sb-posts-gap, 30px); }
.sb-posts__item[hidden] { display: none; }
.sb-ocard__link { position: relative; display: block; overflow: hidden; color: #fff; text-decoration: none; }
.sb-ocard__media { display: block; aspect-ratio: var(--sb-card-ratio, auto); }
.sb-ocard__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.sb-ocard__overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 20px; text-align: center; background: rgba(0, 0, 0, .55); opacity: 0; transition: opacity .3s ease; }
.sb-ocard__link:hover .sb-ocard__overlay, .sb-ocard__link:focus-visible .sb-ocard__overlay { opacity: 1; }
.sb-ocard__link:hover img { transform: scale(1.1); }
.sb-ocard__title { font-family: var(--sb-heading-font); font-weight: 700; font-size: 18px; }
.sb-ocard__terms { font-size: 13px; }
.sb-filter { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 0 30px; padding: 0; }
.sb-filter--center { justify-content: center; }
.sb-filter--right { justify-content: flex-end; }
.sb-filter button { padding: 8px 18px; border: 2px solid var(--sb-filter-color, var(--sb-accent)); background: none; color: var(--sb-filter-color, var(--sb-accent)); font: inherit; cursor: pointer; }
.sb-filter button.is-active, .sb-filter button:hover { background: var(--sb-filter-color, var(--sb-accent)); color: #fff; }
@media (prefers-reduced-motion: reduce) { .sb-ocard__media img, .sb-ocard__overlay { transition: none; } }

/* ---------- Slides ---------- */
.sb-slides { position: relative; overflow: hidden; height: var(--sb-slides-h, 500px); margin-bottom: var(--sb-mb, 0); color: var(--sb-slides-c, #fff); }
@media (max-width: 991px) { .sb-slides { height: var(--sb-slides-h-t, var(--sb-slides-h, 500px)); } }
@media (max-width: 767px) { .sb-slides { height: var(--sb-slides-h-m, var(--sb-slides-h-t, var(--sb-slides-h, 500px))); } }
.sb-slides .sb-slider__slides { position: absolute; inset: 0; }
.sb-slides__slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity var(--sb-fade, .6s) ease, visibility 0s linear var(--sb-fade, .6s); }
.sb-slides__slide.is-active { opacity: 1; visibility: visible; transition: opacity var(--sb-fade, .6s) ease; }
.sb-slides__media, .sb-slides__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sb-slides.has-overlay .sb-slides__media::after { content: ""; position: absolute; inset: 0; background: var(--sb-overlay); }
.sb-slides__caption { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; }
.sb-slides__caption--left { justify-content: flex-start; }
.sb-slides__caption--right { justify-content: flex-end; }
.sb-slides__inner { width: var(--sb-slides-w, 70%); text-align: center; }
.sb-slides__caption--left .sb-slides__inner { text-align: left; }
.sb-slides__caption--right .sb-slides__inner { text-align: right; }
.sb-slides__title { font-size: var(--sb-slides-ts, 50px); font-weight: var(--sb-slides-tw, 300); line-height: 1.2; font-family: var(--sb-heading-font); }
.sb-slides__text { font-size: var(--sb-slides-xs, 18px); margin-top: 10px; }
.sb-slides__text > :last-child { margin-bottom: 0; }
.sb-slides__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 20px; }
.sb-slides__btn { display: inline-block; padding: 10px 24px; border: 2px solid currentColor; border-radius: 3px; color: inherit; text-decoration: none; }
.sb-slides__btn:hover { background: #fff; color: #222; }
.sb-slides__dots { position: absolute; left: 0; right: 0; bottom: 20px; display: flex; justify-content: center; gap: 10px; }
.sb-slides__dot { width: 12px; height: 12px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; }
.sb-slides__dot.is-active { background: #fff; }
@media (max-width: 991px) { .sb-slides__title { font-size: var(--sb-slides-ts-t, var(--sb-slides-ts, 50px)); } .sb-slides__text { font-size: var(--sb-slides-xs-t, var(--sb-slides-xs, 18px)); } }
@media (max-width: 767px) { .sb-slides__title { font-size: var(--sb-slides-ts-m, var(--sb-slides-ts-t, var(--sb-slides-ts, 50px))); } .sb-slides__text { font-size: var(--sb-slides-xs-m, var(--sb-slides-xs-t, var(--sb-slides-xs, 18px))); } }
