/* Frontend output for Plattio Builder. No builder JavaScript is loaded here. */
.plattio-builder-page .plattio-template-full-width,
.plattio-builder-page .plattio-template-fullscreen,
.plattio-builder-page .plattio-template-no-title,
.plattio-builder-page .plattio-template-blank,
.plattio-builder-page .plattio-template-landing,
.plattio-builder-page .wp-block-post-content,
.plattio-builder-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.plattio-builder-content { overflow: clip; }
.ptb-section {
	position: relative;
	display: flex;
	width: 100%;
	min-height: var(--ptb-section-min, 0);
	align-items: flex-start;
	padding-block: min(var(--ptb-section-pt, 64px), 56px) min(var(--ptb-section-pb, 64px), 56px);
	background: var(--ptb-section-bg, transparent);
	color: var(--ptb-section-color, inherit);
}
.ptb-section.is-align-center { align-items: center; }
.ptb-section.is-align-end { align-items: flex-end; }
.ptb-section.is-fullscreen { min-height: max(560px, 100svh); }
.ptb-section__inner {
	width: 100%;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}
.ptb-section.is-content-content .ptb-section__inner { max-width: var(--plattio-content, 760px); }
.ptb-section.is-content-wide .ptb-section__inner { max-width: var(--plattio-container, 1280px); }
.ptb-section.is-content-full .ptb-section__inner { max-width: none; }
.ptb-section.is-section-content { max-width: var(--plattio-content, 760px); margin-inline: auto; }
.ptb-section.is-section-wide { max-width: var(--plattio-container, 1280px); margin-inline: auto; }
.ptb-columns { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: inherit; }
.ptb-column { min-width: 0; }
.ptb-column > * + * { margin-top: 1.25rem; }

.ptb-heading { margin: 0; text-wrap: balance; }
.ptb-heading.is-size-medium { font-size: clamp(1.25rem, 2vw, 1.65rem); }
.ptb-heading.is-size-large { font-size: clamp(1.6rem, 3vw, 2.6rem); }
.ptb-heading.is-size-x-large { font-size: clamp(2rem, 5vw, 4.5rem); }
.ptb-heading.is-size-display { max-width: 16ch; font-size: clamp(2.65rem, 8vw, 7rem); letter-spacing: -.055em; line-height: .97; }
.ptb-eyebrow { margin: 0; color: var(--plattio-primary); font-size: .78rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ptb-text { margin: 0; }
.ptb-text.is-size-small { font-size: .875rem; }
.ptb-text.is-size-large { max-width: 65ch; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
.ptb-align-left, .has-text-left { text-align: left; }
.ptb-align-center, .has-text-center { text-align: center; }
.ptb-align-right, .has-text-right { text-align: right; }
.ptb-button-wrap { display: flex; }
.ptb-button-wrap.ptb-align-center, .ptb-button-wrap.has-text-center { justify-content: center; }
.ptb-button-wrap.ptb-align-right, .ptb-button-wrap.has-text-right { justify-content: flex-end; }
.ptb-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	border: 1px solid transparent;
	border-radius: var(--plattio-button-radius, 10px);
	font-weight: 750;
	line-height: 1.2;
	padding: .78rem 1.25rem;
	text-decoration: none;
}
.ptb-button.is-primary { background: var(--plattio-primary); color: #fff; }
.ptb-button.is-secondary { border-color: currentColor; background: transparent; color: inherit; }
.ptb-button.is-link { min-height: auto; background: transparent; color: var(--plattio-primary); padding-inline: 0; }
.ptb-image { margin: 0; overflow: hidden; border-radius: var(--ptb-image-radius, 0); background: var(--plattio-surface); aspect-ratio: var(--ptb-image-ratio, auto); }
.ptb-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ptb-image.is-ratio-1-1 { aspect-ratio: 1 / 1; }
.ptb-image.is-ratio-4-5 { aspect-ratio: 4 / 5; }
.ptb-image.is-ratio-3-4 { aspect-ratio: 3 / 4; }
.ptb-image.is-ratio-16-9 { aspect-ratio: 16 / 9; }
.ptb-image__placeholder { display: grid; min-height: 260px; place-items: center; border: 1px dashed var(--plattio-border); color: var(--plattio-muted); }
.ptb-divider { width: var(--ptb-divider-width, 100%); height: 1px; margin-inline: auto; background: var(--ptb-divider-color, var(--plattio-border)); }
.ptb-spacer { height: var(--ptb-spacer, 40px); }
.ptb-icon-box { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 1rem; align-items: start; }
.ptb-icon-box__icon { display: grid; width: 46px; height: 46px; place-items: center; border-radius: 12px; background: color-mix(in srgb, var(--plattio-accent) 25%, transparent); color: var(--plattio-primary); font-weight: 800; }
.ptb-icon-box h3 { margin: 0 0 .35rem; font-size: 1.1rem; }
.ptb-icon-box p { margin: 0; color: color-mix(in srgb, currentColor 72%, transparent); }
.ptb-category-grid { display: grid; grid-template-columns: repeat(var(--ptb-category-columns, 3), minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.ptb-category-card { position: relative; display: grid; min-height: 240px; overflow: hidden; border-radius: var(--plattio-radius, 14px); background: var(--plattio-surface); color: var(--plattio-text); text-decoration: none; }
.ptb-category-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.ptb-category-card::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, rgba(0,0,0,.62)); }
.ptb-category-card span { z-index: 1; align-self: end; padding: 1.15rem; color: #fff; font-size: 1.1rem; font-weight: 750; }
.ptb-category-card:hover img { transform: scale(1.025); }

.plattio-template-fullscreen > .wp-block-post-content,
.plattio-template-fullscreen > .wp-block-post-content > .plattio-builder-content,
.plattio-template-fullscreen > .wp-block-post-content > .plattio-builder-content > .ptb-section:first-child {
	min-height: calc(100svh - var(--plattio-header-height, 72px));
}

@media (min-width: 782px) {
	.ptb-section { padding-block: var(--ptb-section-pt, 64px) var(--ptb-section-pb, 64px); }
	.ptb-columns { grid-template-columns: repeat(100, minmax(0, 1fr)); }
	.ptb-column { grid-column: span var(--ptb-column-width, 100); }
}

@media (max-width: 680px) {
	.ptb-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ptb-section.is-fullscreen { min-height: max(540px, 100svh); }
}

/* Plattio template and header builder output. */
.plattio-builder-header {
	position: relative;
	z-index: 90;
	width: 100%;
	background: #fff;
}
.plattio-builder-header .ptb-section {
	min-height: var(--ptb-section-min, 0);
	padding-block: var(--ptb-section-pt, 0) var(--ptb-section-pb, 0);
}
.plattio-builder-header .ptb-column {
	display: flex;
	align-items: center;
	gap: clamp(.55rem, 1.4vw, 1.25rem);
}
.plattio-builder-header .ptb-column > * + * { margin-top: 0; }
.ptb-header-row.is-sticky {
	position: sticky;
	top: var(--ptb-sticky-offset, 0px);
	z-index: 95;
	border-bottom: 1px solid color-mix(in srgb, currentColor 12%, transparent);
	box-shadow: 0 1px 0 rgba(0,0,0,.025);
}
.admin-bar .ptb-header-row.is-sticky { --ptb-admin-offset: 32px; }
.ptb-site-logo { display: flex; align-items: center; }
.ptb-site-logo a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.ptb-site-logo__image { display: block; width: auto; max-height: 72px; object-fit: contain; }
.ptb-site-logo__text { font-size: 1.3rem; font-weight: 800; letter-spacing: -.025em; }
.ptb-navigation { display: flex; min-width: 0; flex: 1; }
.ptb-navigation.has-align-center { justify-content: center; }
.ptb-navigation.has-align-right { justify-content: flex-end; }
.ptb-navigation__menu,
.ptb-navigation__menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.ptb-navigation.is-horizontal .ptb-navigation__menu { display: flex; align-items: center; flex-wrap: wrap; gap: clamp(.75rem, 2vw, 1.5rem); }
.ptb-navigation.is-vertical .ptb-navigation__menu { display: grid; gap: .75rem; }
.ptb-navigation__menu li { position: relative; margin: 0; }
.ptb-navigation__menu a { color: inherit; font-weight: 650; text-decoration: none; }
.ptb-navigation__menu .sub-menu {
	position: absolute;
	top: calc(100% + .75rem);
	left: -.85rem;
	display: none;
	min-width: 220px;
	border: 1px solid var(--plattio-border);
	border-radius: 10px;
	background: var(--plattio-bg);
	box-shadow: 0 16px 40px rgba(17,24,23,.12);
	padding: .65rem;
}
.ptb-navigation__menu li:hover > .sub-menu,
.ptb-navigation__menu li:focus-within > .sub-menu { display: grid; gap: .25rem; }
.ptb-navigation__menu .sub-menu a { display: block; border-radius: 7px; padding: .55rem .7rem; }
.ptb-navigation__menu .sub-menu a:hover { background: var(--plattio-surface); }
.ptb-header-search { position: relative; min-width: min(310px, 28vw); }
.ptb-header-search form,
form.ptb-header-search { display: flex; align-items: center; margin: 0; }
.ptb-header-search label { flex: 1; margin: 0; }
.ptb-header-search input[type="search"] { width: 100%; min-height: 42px; border: 1px solid var(--plattio-border); border-radius: var(--plattio-button-radius); background: var(--plattio-bg); padding: .65rem 2.75rem .65rem .85rem; }
.ptb-header-search button { position: absolute; right: .35rem; display: inline-grid; width: 34px; height: 34px; place-items: center; border: 0; background: transparent; color: inherit; padding: 0; }
.ptb-header-icon-link,
.ptb-mobile-menu-button { position: relative; display: inline-flex; min-height: 40px; align-items: center; gap: .4rem; border: 0; background: transparent; color: inherit; font-weight: 650; padding: .35rem; text-decoration: none; }
.ptb-mini-cart__count { position: absolute; top: 0; right: -2px; display: inline-grid; min-width: 18px; height: 18px; place-items: center; border-radius: 999px; background: var(--plattio-primary); color: #fff; font-size: .68rem; font-weight: 800; padding: 0 4px; }
.ptb-mobile-menu-button { display: none; cursor: pointer; }
.plattio-builder-header__mobile-panel { display: none; }

.plattio-context-template,
.plattio-template-cart .wp-block-post-content,
.plattio-template-checkout .wp-block-post-content,
.plattio-template-my-account .wp-block-post-content,
.plattio-template-thankyou .wp-block-post-content { width: 100%; max-width: none; margin: 0; padding: 0; }
.ptb-woo-native { min-width: 0; }
.ptb-product-title { margin: 0; font-size: clamp(2rem, 4vw, 4rem); line-height: 1.04; letter-spacing: -.04em; }
.ptb-product-rating { display: flex; align-items: center; }
.ptb-product-price { font-size: clamp(1.35rem, 2vw, 2rem); font-weight: 800; }
.ptb-product-short-description { font-size: 1.05rem; line-height: 1.7; }
.ptb-product-gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; }
.ptb-product-add-to-cart form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
.ptb-product-add-to-cart .single_add_to_cart_button { min-height: 48px; }
.ptb-product-tabs .woocommerce-tabs { width: 100%; }
.ptb-related-products > h2 { margin-bottom: 1.5rem; }
.ptb-thankyou-preview { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: center; border: 1px solid var(--plattio-border); border-radius: var(--plattio-radius); background: var(--plattio-surface); padding: 1.25rem; }
.ptb-thankyou-preview > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: var(--plattio-primary); color: #fff; font-size: 1.5rem; }
.ptb-thankyou-preview h2,
.ptb-thankyou-preview p { margin: 0; }
.ptb-html > :first-child { margin-top: 0; }
.ptb-html > :last-child { margin-bottom: 0; }
@media (max-width: 1100px) {
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-columns { grid-template-columns: minmax(0, 1fr) auto; }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column { grid-column: auto; }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column:nth-child(2) { display: none; }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column:last-child { justify-content: flex-end; }
	.ptb-header-search { display: none; }
	.ptb-mobile-menu-button { display: inline-flex; }
	.plattio-builder-header .ptb-navigation.is-mobile-collapsible { display: none; }
	.plattio-builder-header__mobile-panel {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		width: 100%;
		max-height: min(75vh, 640px);
		overflow: auto;
		border-top: 1px solid var(--plattio-border);
		background: var(--plattio-bg);
		box-shadow: 0 18px 36px rgba(0,0,0,.12);
		padding: 1.25rem clamp(1rem, 4vw, 2rem);
	}
	.plattio-builder-header.is-mobile-open .plattio-builder-header__mobile-panel { display: block; }
	.plattio-builder-header__mobile-panel .ptb-navigation { display: block; }
	.plattio-builder-header__mobile-panel .ptb-navigation__menu { display: grid; gap: 0; }
	.plattio-builder-header__mobile-panel .ptb-navigation__menu a { display: block; border-bottom: 1px solid var(--plattio-border); padding: .85rem 0; }
	.plattio-builder-header__mobile-panel .sub-menu { position: static; display: grid; border: 0; box-shadow: none; padding: 0 0 0 1rem; }
}

@media (max-width: 781px) {
	.admin-bar .ptb-header-row.is-sticky { --ptb-admin-offset: 46px; }
	.plattio-builder-header .ptb-header-row.is-role-topbar .ptb-column:last-child { display: none; }
	.plattio-builder-header .ptb-header-row.is-role-bottom { display: none; }
	.plattio-builder-header .ptb-section__inner { padding-inline: 1rem; }
	.ptb-header-icon-link > span:not(:first-child):not(.ptb-mini-cart__count) { display: none; }
	.ptb-category-grid { grid-template-columns: 1fr; }
}

/* Responsive builder output — schema 3 / Plattio Theme 1.3.0. */
.ptb-section {
	isolation: isolate;
	min-height: var(--ptb-section-min, 0);
	align-items: flex-start;
	padding-block: var(--ptb-section-pt, 64px) var(--ptb-section-pb, 64px);
	background-color: var(--ptb-section-bg, transparent);
	background-image: var(--ptb-section-image, none);
	background-position: var(--ptb-bg-position, center center);
	background-size: var(--ptb-bg-size, cover);
	background-repeat: no-repeat;
}
.ptb-section.has-background-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: #000;
	opacity: var(--ptb-overlay, 0);
	pointer-events: none;
}
.ptb-section.is-align-start { align-items: flex-start; }
.ptb-section.is-align-center { align-items: center; }
.ptb-section.is-align-end { align-items: flex-end; }
.ptb-section.is-fullscreen { min-height: max(var(--ptb-section-min, 0px), 100svh); }
.ptb-columns {
	display: grid;
	grid-template-columns: repeat(100, minmax(0, 1fr));
	column-gap: var(--ptb-column-gap, 34px);
	row-gap: var(--ptb-row-gap, 24px);
	align-items: inherit;
}
.ptb-column {
	display: flex;
	min-width: 0;
	grid-column: span var(--ptb-column-width, 100);
	align-items: flex-start;
	flex-direction: column;
	padding: var(--ptb-column-pt, 0) var(--ptb-column-pr, 0) var(--ptb-column-pb, 0) var(--ptb-column-pl, 0);
}
.ptb-column.is-v-align-start { justify-content: flex-start; }
.ptb-column.is-v-align-center { justify-content: center; }
.ptb-column.is-v-align-end { justify-content: flex-end; }
.ptb-column.is-v-align-stretch { align-items: stretch; }
.ptb-column > .ptb-responsive-element { width: 100%; }
.ptb-column > .ptb-responsive-element + .ptb-responsive-element { margin-top: 0; }
.ptb-responsive-element {
	min-width: 0;
	margin-top: var(--ptb-el-mt, 0);
	margin-bottom: var(--ptb-el-mb, 0);
}
.ptb-responsive-element.has-align-left { text-align: left; }
.ptb-responsive-element.has-align-center { text-align: center; }
.ptb-responsive-element.has-align-right { text-align: right; }
.ptb-responsive-element .ptb-heading,
.ptb-responsive-element .ptb-text {
	font-size: var(--ptb-el-font-size);
	line-height: var(--ptb-el-line-height);
	font-weight: var(--ptb-el-font-weight);
	letter-spacing: var(--ptb-el-letter-spacing);
}
.ptb-responsive-element.has-align-left .ptb-button-wrap { justify-content: flex-start; }
.ptb-responsive-element.has-align-center .ptb-button-wrap { justify-content: center; }
.ptb-responsive-element.has-align-right .ptb-button-wrap { justify-content: flex-end; }
.ptb-responsive-element.is-full-width .ptb-button-wrap,
.ptb-responsive-element.is-full-width .ptb-button { width: 100%; }
.ptb-button {
	gap: .45rem;
	border-radius: var(--ptb-el-radius, var(--plattio-button-radius, 10px));
	padding: var(--ptb-el-padding-y, .78rem) var(--ptb-el-padding-x, 1.25rem);
	text-align: center;
}
.ptb-button__icon,
.ptb-button__icon svg,
.ptb-header-search button svg,
.ptb-header-icon-link > span:first-child,
.ptb-mini-cart__icon,
.ptb-mobile-menu-button > span:first-child {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	flex: 0 0 auto;
}
.ptb-button__icon svg,
.ptb-header-search button svg,
.ptb-header-icon-link svg,
.ptb-mini-cart__icon svg { display: block; }
.ptb-image {
	aspect-ratio: var(--ptb-image-ratio, auto);
	border-radius: var(--ptb-image-radius, 0);
}
.is-element-spacer .ptb-spacer { height: var(--ptb-el-height, 40px); }
.is-element-divider .ptb-divider { width: var(--ptb-el-width, 100%); }
.is-element-products .plattio-products-grid,
.is-element-products .wc-block-product-template,
.is-element-products ul.products {
	grid-template-columns: repeat(var(--ptb-el-columns, var(--plattio-products-desktop, 4)), minmax(0, 1fr));
}
.is-element-categories .ptb-category-grid { grid-template-columns: repeat(var(--ptb-el-columns, 3), minmax(0, 1fr)); }
.ptb-site-logo,
.ptb-site-logo a { max-width: 100%; }
.ptb-site-logo__image { max-width: var(--ptb-el-width, 180px) !important; }
.ptb-navigation.has-align-left { justify-content: flex-start; }
.ptb-navigation.has-align-center { justify-content: center; }
.ptb-navigation.has-align-right { justify-content: flex-end; }
.ptb-navigation.is-horizontal .ptb-navigation__menu { display: flex; }
.ptb-navigation.is-vertical .ptb-navigation__menu { display: grid; }

/* Visibility is evaluated only inside the corresponding breakpoint. */
@media (min-width: 1101px) {
	.ptb-section.is-hidden-desktop,
	.ptb-column.is-hidden-desktop,
	.ptb-responsive-element.is-hidden-desktop { display: none !important; }
}

@media (min-width: 782px) and (max-width: 1100px) {
	.ptb-section {
		min-height: var(--ptb-section-min-tablet, var(--ptb-section-min, 0));
		padding-block: var(--ptb-section-pt-tablet, var(--ptb-section-pt, 64px)) var(--ptb-section-pb-tablet, var(--ptb-section-pb, 64px));
		background-position: var(--ptb-bg-position-tablet, var(--ptb-bg-position, center center));
		background-size: var(--ptb-bg-size-tablet, var(--ptb-bg-size, cover));
	}
	.ptb-section.has-background-image::before { opacity: var(--ptb-overlay-tablet, var(--ptb-overlay, 0)); }
	.ptb-section.is-tablet-align-start { align-items: flex-start; }
	.ptb-section.is-tablet-align-center { align-items: center; }
	.ptb-section.is-tablet-align-end { align-items: flex-end; }
	.ptb-section.is-tablet-fullscreen { min-height: max(var(--ptb-section-min-tablet, 0px), 100svh); }
	.ptb-section.is-tablet-content-content .ptb-section__inner { max-width: var(--plattio-content, 760px); }
	.ptb-section.is-tablet-content-wide .ptb-section__inner { max-width: var(--plattio-container, 1280px); }
	.ptb-section.is-tablet-content-full .ptb-section__inner { max-width: none; padding-inline: 0; }
	.ptb-columns {
		column-gap: var(--ptb-column-gap-tablet, var(--ptb-column-gap, 34px));
		row-gap: var(--ptb-row-gap-tablet, var(--ptb-row-gap, 24px));
	}
	.ptb-column {
		grid-column: span var(--ptb-column-width-tablet, var(--ptb-column-width, 100));
		padding: var(--ptb-column-pt-tablet, var(--ptb-column-pt, 0)) var(--ptb-column-pr-tablet, var(--ptb-column-pr, 0)) var(--ptb-column-pb-tablet, var(--ptb-column-pb, 0)) var(--ptb-column-pl-tablet, var(--ptb-column-pl, 0));
	}
	.ptb-column.is-tablet-v-align-start { justify-content: flex-start; }
	.ptb-column.is-tablet-v-align-center { justify-content: center; }
	.ptb-column.is-tablet-v-align-end { justify-content: flex-end; }
	.ptb-column.is-tablet-v-align-stretch { align-items: stretch; }
	.ptb-responsive-element {
		margin-top: var(--ptb-el-mt-tablet, var(--ptb-el-mt, 0));
		margin-bottom: var(--ptb-el-mb-tablet, var(--ptb-el-mb, 0));
	}
	.ptb-responsive-element.is-tablet-align-left { text-align: left; }
	.ptb-responsive-element.is-tablet-align-center { text-align: center; }
	.ptb-responsive-element.is-tablet-align-right { text-align: right; }
	.ptb-responsive-element .ptb-heading,
	.ptb-responsive-element .ptb-text {
		font-size: var(--ptb-el-font-size-tablet, var(--ptb-el-font-size));
		line-height: var(--ptb-el-line-height-tablet, var(--ptb-el-line-height));
		font-weight: var(--ptb-el-font-weight-tablet, var(--ptb-el-font-weight));
		letter-spacing: var(--ptb-el-letter-spacing-tablet, var(--ptb-el-letter-spacing));
	}
	.ptb-responsive-element.is-tablet-align-left .ptb-button-wrap { justify-content: flex-start; }
	.ptb-responsive-element.is-tablet-align-center .ptb-button-wrap { justify-content: center; }
	.ptb-responsive-element.is-tablet-align-right .ptb-button-wrap { justify-content: flex-end; }
	.ptb-responsive-element.is-tablet-full-width .ptb-button-wrap,
	.ptb-responsive-element.is-tablet-full-width .ptb-button { width: 100%; }
	.ptb-button {
		border-radius: var(--ptb-el-radius-tablet, var(--ptb-el-radius, var(--plattio-button-radius, 10px)));
		padding: var(--ptb-el-padding-y-tablet, var(--ptb-el-padding-y, .78rem)) var(--ptb-el-padding-x-tablet, var(--ptb-el-padding-x, 1.25rem));
	}
	.ptb-image {
		aspect-ratio: var(--ptb-image-ratio-tablet, var(--ptb-image-ratio, auto));
		border-radius: var(--ptb-image-radius-tablet, var(--ptb-image-radius, 0));
	}
	.is-element-spacer .ptb-spacer { height: var(--ptb-el-height-tablet, var(--ptb-el-height, 40px)); }
	.is-element-divider .ptb-divider { width: var(--ptb-el-width-tablet, var(--ptb-el-width, 100%)); }
	.is-element-products .plattio-products-grid,
	.is-element-products .wc-block-product-template,
	.is-element-products ul.products { grid-template-columns: repeat(var(--ptb-el-columns-tablet, var(--ptb-el-columns, 3)), minmax(0, 1fr)); }
	.is-element-categories .ptb-category-grid { grid-template-columns: repeat(var(--ptb-el-columns-tablet, var(--ptb-el-columns, 3)), minmax(0, 1fr)); }
	.ptb-site-logo__image { max-width: var(--ptb-el-width-tablet, var(--ptb-el-width, 180px)) !important; }
	.ptb-navigation.has-tablet-align-left { justify-content: flex-start; }
	.ptb-navigation.has-tablet-align-center { justify-content: center; }
	.ptb-navigation.has-tablet-align-right { justify-content: flex-end; }
	.ptb-navigation.is-tablet-horizontal .ptb-navigation__menu { display: flex; flex-direction: row; }
	.ptb-navigation.is-tablet-vertical .ptb-navigation__menu { display: grid; }
	.ptb-section.is-hidden-tablet,
	.ptb-column.is-hidden-tablet,
	.ptb-responsive-element.is-hidden-tablet { display: none !important; }

	/* Do not impose a hard-coded header layout over the user's builder choices. */
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-columns { grid-template-columns: repeat(100, minmax(0, 1fr)); }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column { grid-column: span var(--ptb-column-width-tablet, var(--ptb-column-width, 100)); }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column:nth-child(2) { display: flex; }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column:last-child { justify-content: inherit; }
	.ptb-header-search { display: flex; }
}

@media (max-width: 781px) {
	.ptb-section {
		min-height: var(--ptb-section-min-mobile, var(--ptb-section-min-tablet, var(--ptb-section-min, 0)));
		padding-block: var(--ptb-section-pt-mobile, var(--ptb-section-pt-tablet, var(--ptb-section-pt, 48px))) var(--ptb-section-pb-mobile, var(--ptb-section-pb-tablet, var(--ptb-section-pb, 48px)));
		background-position: var(--ptb-bg-position-mobile, var(--ptb-bg-position-tablet, var(--ptb-bg-position, center center)));
		background-size: var(--ptb-bg-size-mobile, var(--ptb-bg-size-tablet, var(--ptb-bg-size, cover)));
	}
	.ptb-section.has-background-image::before { opacity: var(--ptb-overlay-mobile, var(--ptb-overlay-tablet, var(--ptb-overlay, 0))); }
	.ptb-section.is-mobile-align-start { align-items: flex-start; }
	.ptb-section.is-mobile-align-center { align-items: center; }
	.ptb-section.is-mobile-align-end { align-items: flex-end; }
	.ptb-section.is-mobile-fullscreen { min-height: max(var(--ptb-section-min-mobile, 0px), 100svh); }
	.ptb-section.is-mobile-content-content .ptb-section__inner { max-width: var(--plattio-content, 760px); }
	.ptb-section.is-mobile-content-wide .ptb-section__inner { max-width: var(--plattio-container, 1280px); }
	.ptb-section.is-mobile-content-full .ptb-section__inner { max-width: none; padding-inline: 0; }
	.ptb-columns {
		column-gap: var(--ptb-column-gap-mobile, var(--ptb-column-gap-tablet, var(--ptb-column-gap, 20px)));
		row-gap: var(--ptb-row-gap-mobile, var(--ptb-row-gap-tablet, var(--ptb-row-gap, 20px)));
	}
	.ptb-column {
		grid-column: span var(--ptb-column-width-mobile, var(--ptb-column-width-tablet, var(--ptb-column-width, 100)));
		padding: var(--ptb-column-pt-mobile, var(--ptb-column-pt-tablet, var(--ptb-column-pt, 0))) var(--ptb-column-pr-mobile, var(--ptb-column-pr-tablet, var(--ptb-column-pr, 0))) var(--ptb-column-pb-mobile, var(--ptb-column-pb-tablet, var(--ptb-column-pb, 0))) var(--ptb-column-pl-mobile, var(--ptb-column-pl-tablet, var(--ptb-column-pl, 0)));
	}
	.ptb-column.is-mobile-v-align-start { justify-content: flex-start; }
	.ptb-column.is-mobile-v-align-center { justify-content: center; }
	.ptb-column.is-mobile-v-align-end { justify-content: flex-end; }
	.ptb-column.is-mobile-v-align-stretch { align-items: stretch; }
	.ptb-responsive-element {
		margin-top: var(--ptb-el-mt-mobile, var(--ptb-el-mt-tablet, var(--ptb-el-mt, 0)));
		margin-bottom: var(--ptb-el-mb-mobile, var(--ptb-el-mb-tablet, var(--ptb-el-mb, 0)));
	}
	.ptb-responsive-element.is-mobile-align-left { text-align: left; }
	.ptb-responsive-element.is-mobile-align-center { text-align: center; }
	.ptb-responsive-element.is-mobile-align-right { text-align: right; }
	.ptb-responsive-element .ptb-heading,
	.ptb-responsive-element .ptb-text {
		font-size: var(--ptb-el-font-size-mobile, var(--ptb-el-font-size-tablet, var(--ptb-el-font-size)));
		line-height: var(--ptb-el-line-height-mobile, var(--ptb-el-line-height-tablet, var(--ptb-el-line-height)));
		font-weight: var(--ptb-el-font-weight-mobile, var(--ptb-el-font-weight-tablet, var(--ptb-el-font-weight)));
		letter-spacing: var(--ptb-el-letter-spacing-mobile, var(--ptb-el-letter-spacing-tablet, var(--ptb-el-letter-spacing)));
	}
	.ptb-responsive-element.is-mobile-align-left .ptb-button-wrap { justify-content: flex-start; }
	.ptb-responsive-element.is-mobile-align-center .ptb-button-wrap { justify-content: center; }
	.ptb-responsive-element.is-mobile-align-right .ptb-button-wrap { justify-content: flex-end; }
	.ptb-responsive-element.is-mobile-full-width .ptb-button-wrap,
	.ptb-responsive-element.is-mobile-full-width .ptb-button { width: 100%; }
	.ptb-button {
		border-radius: var(--ptb-el-radius-mobile, var(--ptb-el-radius-tablet, var(--ptb-el-radius, var(--plattio-button-radius, 10px))));
		padding: var(--ptb-el-padding-y-mobile, var(--ptb-el-padding-y-tablet, var(--ptb-el-padding-y, .78rem))) var(--ptb-el-padding-x-mobile, var(--ptb-el-padding-x-tablet, var(--ptb-el-padding-x, 1.25rem)));
	}
	.ptb-image {
		aspect-ratio: var(--ptb-image-ratio-mobile, var(--ptb-image-ratio-tablet, var(--ptb-image-ratio, auto)));
		border-radius: var(--ptb-image-radius-mobile, var(--ptb-image-radius-tablet, var(--ptb-image-radius, 0)));
	}
	.is-element-spacer .ptb-spacer { height: var(--ptb-el-height-mobile, var(--ptb-el-height-tablet, var(--ptb-el-height, 40px))); }
	.is-element-divider .ptb-divider { width: var(--ptb-el-width-mobile, var(--ptb-el-width-tablet, var(--ptb-el-width, 100%))); }
	.is-element-products .plattio-products-grid,
	.is-element-products .wc-block-product-template,
	.is-element-products ul.products { grid-template-columns: repeat(var(--ptb-el-columns-mobile, var(--ptb-el-columns-tablet, var(--ptb-el-columns, 2))), minmax(0, 1fr)); }
	.is-element-categories .ptb-category-grid { grid-template-columns: repeat(var(--ptb-el-columns-mobile, var(--ptb-el-columns-tablet, var(--ptb-el-columns, 2))), minmax(0, 1fr)); }
	.ptb-site-logo__image { max-width: var(--ptb-el-width-mobile, var(--ptb-el-width-tablet, var(--ptb-el-width, 180px))) !important; }
	.ptb-navigation.has-mobile-align-left { justify-content: flex-start; }
	.ptb-navigation.has-mobile-align-center { justify-content: center; }
	.ptb-navigation.has-mobile-align-right { justify-content: flex-end; }
	.ptb-navigation.is-mobile-horizontal .ptb-navigation__menu { display: flex; flex-direction: row; }
	.ptb-navigation.is-mobile-vertical .ptb-navigation__menu { display: grid; }
	.ptb-section.is-hidden-mobile,
	.ptb-column.is-hidden-mobile,
	.ptb-responsive-element.is-hidden-mobile { display: none !important; }

	.plattio-builder-header .ptb-header-row.is-role-main .ptb-columns { grid-template-columns: repeat(100, minmax(0, 1fr)); }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column { grid-column: span var(--ptb-column-width-mobile, var(--ptb-column-width, 100)); }
	.plattio-builder-header .ptb-header-row.is-role-main .ptb-column:nth-child(2),
	.plattio-builder-header .ptb-header-row.is-role-topbar .ptb-column:last-child,
	.plattio-builder-header .ptb-header-row.is-role-bottom { display: flex; }
	.ptb-header-search { display: flex; }
}

@media (min-width: 782px) and (max-width: 1100px) {
	.ptb-section.is-tablet-section-content { max-width: var(--plattio-content, 760px); margin-inline: auto; }
	.ptb-section.is-tablet-section-wide { max-width: var(--plattio-container, 1280px); margin-inline: auto; }
	.ptb-section.is-tablet-section-full { max-width: none; margin-inline: 0; }
}
@media (max-width: 781px) {
	.ptb-section.is-mobile-section-content { max-width: var(--plattio-content, 760px); margin-inline: auto; }
	.ptb-section.is-mobile-section-wide { max-width: var(--plattio-container, 1280px); margin-inline: auto; }
	.ptb-section.is-mobile-section-full { max-width: none; margin-inline: 0; }
}


/* Explicit responsive off states and responsive preset typography. */
@media (min-width: 782px) and (max-width: 1100px) {
	.ptb-section.is-tablet-not-fullscreen { min-height: var(--ptb-section-min-tablet, var(--ptb-section-min, 0)) !important; }
	.ptb-responsive-element.is-tablet-not-full-width .ptb-button-wrap,
	.ptb-responsive-element.is-tablet-not-full-width .ptb-button { width: auto; }

	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-heading.is-tablet-size-medium { max-width: none; font-size: clamp(1.25rem, 2vw, 1.65rem); }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-heading.is-tablet-size-large { max-width: none; font-size: clamp(1.6rem, 3vw, 2.6rem); }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-heading.is-tablet-size-x-large { max-width: none; font-size: clamp(2rem, 5vw, 4.5rem); }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-heading.is-tablet-size-display { max-width: 16ch; font-size: clamp(2.65rem, 8vw, 7rem); }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-text.is-tablet-size-small { max-width: none; font-size: .875rem; }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-text.is-tablet-size-medium { max-width: none; font-size: 1rem; }
	.ptb-responsive-element.uses-tablet-preset-font-size .ptb-text.is-tablet-size-large { max-width: 65ch; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
}
@media (max-width: 781px) {
	.ptb-section.is-mobile-not-fullscreen { min-height: var(--ptb-section-min-mobile, var(--ptb-section-min-tablet, var(--ptb-section-min, 0))) !important; }
	.ptb-responsive-element.is-mobile-not-full-width .ptb-button-wrap,
	.ptb-responsive-element.is-mobile-not-full-width .ptb-button { width: auto; }

	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-heading.is-mobile-size-medium { max-width: none; font-size: clamp(1.25rem, 2vw, 1.65rem); }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-heading.is-mobile-size-large { max-width: none; font-size: clamp(1.6rem, 3vw, 2.6rem); }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-heading.is-mobile-size-x-large { max-width: none; font-size: clamp(2rem, 5vw, 4.5rem); }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-heading.is-mobile-size-display { max-width: 16ch; font-size: clamp(2.65rem, 8vw, 7rem); }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-text.is-mobile-size-small { max-width: none; font-size: .875rem; }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-text.is-mobile-size-medium { max-width: none; font-size: 1rem; }
	.ptb-responsive-element.uses-mobile-preset-font-size .ptb-text.is-mobile-size-large { max-width: 65ch; font-size: clamp(1.05rem, 1.5vw, 1.3rem); }
}
