/*
  TEMPLATE STYLES: These styles are used as a base template.
  AI is allowed to modify these styles as needed.
*/




body {
  font-family: "DM Sans", system-ui, -apple-system, sans-serif;
  overflow-x: clip;
}

.font-display {
  font-family: 'Archivo', Arial, sans-serif;
}

.font-body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
}

/*
  ---break---
*/

@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 240 10% 3.9%;
    --card: 0 0% 100%;
    --card-foreground: 240 10% 3.9%;
    --popover: 0 0% 100%;
    --popover-foreground: 240 10% 3.9%;
    --primary: 240 5.9% 10%;
    --primary-foreground: 0 0% 98%;
    --secondary: 240 4.8% 95.9%;
    --secondary-foreground: 240 5.9% 10%;
    --muted: 240 4.8% 95.9%;
    --muted-foreground: 240 3.8% 46.1%;
    --accent: 240 4.8% 95.9%;
    --accent-foreground: 240 5.9% 10%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 0 0% 98%;
    --border: 240 5.9% 90%;
    --input: 240 5.9% 90%;
    --ring: 240 5.9% 10%;
    --radius: 0.5rem;
    --sidebar-background: 0 0% 98%;
    --sidebar-foreground: 240 5.3% 26.1%;
    --sidebar-primary: 240 5.9% 10%;
    --sidebar-primary-foreground: 0 0% 98%;
    --sidebar-accent: 240 4.8% 95.9%;
    --sidebar-accent-foreground: 240 5.9% 10%;
    --sidebar-border: 220 13% 91%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
  .dark {
    --background: 240 10% 3.9%;
    --foreground: 0 0% 98%;
    --card: 240 10% 3.9%;
    --card-foreground: 0 0% 98%;
    --popover: 240 10% 3.9%;
    --popover-foreground: 0 0% 98%;
    --primary: 0 0% 98%;
    --primary-foreground: 240 5.9% 10%;
    --secondary: 240 3.7% 15.9%;
    --secondary-foreground: 0 0% 98%;
    --muted: 240 3.7% 15.9%;
    --muted-foreground: 240 5% 64.9%;
    --accent: 240 3.7% 15.9%;
    --accent-foreground: 0 0% 98%;
    --destructive: 0 62.8% 30.6%;
    --destructive-foreground: 0 0% 98%;
    --border: 240 3.7% 15.9%;
    --input: 240 3.7% 15.9%;
    --ring: 240 4.9% 83.9%;
    --sidebar-background: 240 5.9% 10%;
    --sidebar-foreground: 240 4.8% 95.9%;
    --sidebar-primary: 224.3 76.3% 48%;
    --sidebar-primary-foreground: 0 0% 100%;
    --sidebar-accent: 240 3.7% 15.9%;
    --sidebar-accent-foreground: 240 4.8% 95.9%;
    --sidebar-border: 240 3.7% 15.9%;
    --sidebar-ring: 217.2 91.2% 59.8%;
  }
}

:root {
	/* Grid / flex change point (max-width for mobile) */
	--media-mobile: 920px;
	/* Desktop layout editor width */
	--media-desktop-editor: 1224px;
	/* Mobile layout editor width */
	--media-mobile-editor: 360px;
	/* Tablet upper bound used by layout-element button wrap */
	--media-tablet: 1191px;
	--media-sm-mobile: 576px;
	--media-md-mobile: 768px;
}



.page .block {
	position: relative;
	display: grid;
	grid-template-rows: 100%;
	grid-template-columns: 100%;
	width: 100%;
}

.page .block--desktop-first-visible,
.page .block:first-child {
	padding-top: var(--header-height, 0);
	margin-top: calc(-1 * var(--header-height, 0));
}

.page .block--desktop-hidden {
	@media screen and (min-width: 921px) {
		display: none;
	}
}

@media screen and (max-width: 920px) {
	.page .block--desktop-first-visible,
	.page .block:first-child {
		padding-top: unset;
		margin-top: unset;
	}

	.page .block--mobile-first-visible,
	.page .block:first-child {
		padding-top: var(--header-height-mobile, var(--header-height, 0));
		margin-top: calc(-1 * var(--header-height-mobile, var(--header-height, 0)));
	}

	.page .block--mobile-hidden {
		display: none;
	}
}

.page .block-layout {
	position: relative;
	z-index: 14;
	display: grid;
	grid-template-rows: var(--grid-template-rows);
	grid-template-columns: var(--grid-template-columns);
	width: 100%;
	max-width: 1224px;
	min-height: var(--block-min-height);
	margin: 0 auto;
}

.page .block-layout--forcedOnTop {
	z-index: 15;
}

@media screen and (max-width: 920px) {
	.page .block-layout--layout {
		grid-template-rows: var(--m-grid-template-rows);
		grid-template-columns: var(--m-grid-template-columns);
		max-width: 360px;
		min-height: var(--m-block-min-height);
		padding: 0 calc((16 * 100) / 360 * 1vw);
	}

	.page .block-layout--legacy {
		display: flex;
		flex-direction: column;
		grid-gap: 0;
		min-height: auto;
		padding: var(--m-block-padding);
	}
}

@media screen and (min-width: 920px) and (max-width: 1224px) {
	.page .block-layout--layout {
		grid-template-rows: var(--small-desktop-grid-template-rows);
		min-height: var(--small-desktop-block-min-height);
	}
}

@media screen and (min-width: 361px) and (max-width: 920px) {
	.page .block-layout--layout {
		grid-template-rows: var(--t-grid-template-rows);
		min-height: var(--t-block-min-height);
		padding: 0 16px;
	}
}

.layout-element {
	position: relative;
	left: var(--rotation-element-left, var(--left));
	top: var(--rotation-element-top, auto);
	z-index: var(--hidden-element-z-index, var(--z-index));
	display: grid;
	grid-template-columns: 100%;
	grid-row: var(--grid-row);
	grid-column: var(--grid-column);
	width: var(--rotation-element-width, var(--element-width, 100%));
	height: var(--rotation-element-height, var(--element-height, 100%));
	min-width: 0;
	min-height: 0;
	text-align: var(--text);
	rotate: var(--element-rotation, 0deg);
}

.layout-element:has(.grid-image) {
	overflow: hidden;
}

.layout-element--rotation-frame {
	rotate: none;
}

.layout-element__rotation-frame {
	position: absolute;
	left: var(--rotation-left, 0);
	top: var(--rotation-top, 0);
	display: grid;
	grid-template-columns: 100%;
	width: var(--rotation-width, 100%);
	height: var(--rotation-height, 100%);
	rotate: var(--element-rotation, 0deg);
}

.layout-element__component {
	grid-area: 1 / 1 / -1 / -1;
	align-self: start;
}

.layout-element__component--GridImage {
	align-self: stretch;
	justify-self: stretch;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
}

.layout-element__component--GridRunningText {
	align-self: stretch;
}

.layout-element__component--GridButton,
.layout-element__component--GridEcommerceButton,
.layout-element__component--GridAffiliateFind {
	display: flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-width: 100%;
	min-height: 100%;
	text-overflow: clip;
	white-space: nowrap;
}

.layout-element--fluid-height {
	height: fit-content;
}

.layout-element--desktop-element-hidden {
	@media screen and (min-width: 921px) {
		display: none;
	}
}

@media screen and (max-width: 1191px) {
	.layout-element__component--GridButton,
	.layout-element__component--GridEcommerceButton,
	.layout-element__component--GridAffiliateFind {
		white-space: normal;
	}
}

@media screen and (max-width: 920px) {
	.layout-element {
		top: var(--m-rotation-element-top, auto);
		left: var(--m-rotation-element-left, var(--left));
		z-index: var(--m-hidden-element-z-index, var(--z-index));
		text-align: var(--m-text, var(--text));
		rotate: var(--m-element-rotation, 0deg);
		width: var(--m-rotation-element-width, var(--element-width, 100%));
		height: var(--m-rotation-element-height, var(--element-height, 100%));
	}

	.layout-element--rotation-frame {
		rotate: none;
	}

	.layout-element__rotation-frame {
		left: var(--m-rotation-left, 0);
		top: var(--m-rotation-top, 0);
		width: var(--m-rotation-width, 100%);
		height: var(--m-rotation-height, 100%);
		rotate: var(--m-element-rotation, 0deg);
	}

	.layout-element--layout {
		grid-row: var(--m-grid-row);
		grid-column: var(--m-grid-column);
	}

	.layout-element--legacy {
		align-items: var(--m-align, var(--align));
		align-self: var(--m-align-self);
		width: var(--m-width, 100%);
		max-width: 100%;
		height: auto;
		margin: var(--m-element-margin);
		text-align: var(--m-text, var(--text));
	}

	.layout-element--legacy:last-of-type {
		margin-bottom: 0;
	}

	.layout-element--mobile-element-hidden {
		display: none;
	}
}

.block-background {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 13;
	overflow: hidden;
	backface-visibility: hidden;
}

.block-background--fixed {
	bottom: -1px;
	clip-path: inset(0);
	pointer-events: none;
}

.block-background__media {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	display: block;
	width: 100%;
	height: 101%;
	object-fit: cover;
	object-position: center;
}

.block-background__media--fixed {
	position: fixed;
	height: 100vh;
	height: 100lvh;
}

.block-background__overlay {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: #1d1e20;
}

.page {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.page__blocks {
	display: flex;
	flex-direction: column;
}

.top-blocks {
	position: relative;
	z-index: 18;
	width: 100%;
	background-color: transparent;
	transition: background-color 0.3s ease-in-out, box-shadow 0.15s linear;
}

.top-blocks--sticky {
	position: sticky;
	top: 0;
}

.top-blocks.top-blocks--opaque {
	background-color: var(--nav-bg, #ffffff);
}

.top-blocks--with-shadow {
	box-shadow: 0 1px 3px rgb(0 0 0 / 12%);
}

.sticky-trigger {
	position: relative;
	top: 0;
	z-index: -1;
	height: 1px;
	margin-bottom: -1px;
	pointer-events: none;
}

.block-sticky-bar {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: var(--sticky-bar-min-height, 40px);
	padding: var(--block-padding, 0);
	overflow: hidden;
	background-color: var(--sticky-bar-background, transparent);
}

.block-sticky-bar__item {
	width: auto;
	text-align: center;
}

@media screen and (min-width: 921px) {
	.block-sticky-bar--hidden-desktop {
		display: none;
	}
}

@media screen and (max-width: 920px) {
	.block-sticky-bar {
		min-height: var(--sticky-bar-m-min-height, var(--sticky-bar-min-height, 40px));
		padding: var(--m-block-padding, var(--block-padding, 0));
	}

	.block-sticky-bar--hidden-mobile {
		display: none;
	}
}

.slideshow {
	position: relative;
	z-index: 1;
	width: 100%;
	/* Match site-modules: extend under transparent header via --header-height */
	min-height: calc(var(--slideshow-min-height, 400px) + var(--header-height, 0px));
	margin-top: calc(-1 * var(--header-height, 0px));
	overflow: hidden;
	overflow-anchor: none;
	background-color: rgb(128 128 128 / 20%);
}

.slideshow__slide {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	transition: opacity 0.45s ease;
	pointer-events: none;
}

.slideshow__slide--current {
	opacity: 1;
	pointer-events: auto;
}

.slideshow__nav {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	padding: 0 56px;
	color: var(--slideshow-arrow-color, rgb(255 255 255));
	cursor: pointer;
	background: transparent;
	border: none;
}

.slideshow__nav--left {
	left: 0;
	transform: rotate(180deg);
}

.slideshow__nav--right {
	right: 0;
}

.slideshow__nav:hover {
	opacity: 0.8;
}

.slideshow__dots {
	position: absolute;
	bottom: 32px;
	left: 50%;
	z-index: 2;
	display: flex;
	gap: 8px;
	transform: translateX(-50%);
}

.slideshow__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	cursor: pointer;
	background-color: var(--slideshow-dot-color, rgb(255 255 255));
	border: none;
	border-radius: 50px;
	opacity: 0.5;
}

.slideshow__dot--current {
	opacity: 1;
}

@media screen and (max-width: 920px) {
	.slideshow {
		min-height: calc(
			var(--slideshow-m-min-height, var(--slideshow-min-height, 300px))
			+ var(--header-height-mobile, var(--header-height, 0px))
		);
		margin-top: calc(-1 * var(--header-height-mobile, var(--header-height, 0px)));
	}

	.slideshow__nav {
		padding: 28px;
	}
}

.whats-app-bubble {
	position: fixed;
	right: 20px;
	bottom: 24px;
	z-index: 19;
	display: flex;
	cursor: pointer;
	border-radius: 100px;
	box-shadow: rgb(0 0 0 / 15%) 0 4px 12px 0;
}

.block-navigation {
	width: 100%;
}

.block-navigation__inner {
	display: grid;
	align-items: center;
	grid-template-columns: min-content auto max-content;
	grid-template-areas: "logo nav right-side";
	width: 100%;
	max-width: var(--width, 1224px);
	margin: 0 auto;
	padding: var(--padding, 24px 16px);
	box-sizing: border-box;
}

.block-navigation__end {
	display: contents;
}

.block-navigation__right-side {
	grid-area: right-side;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--element-spacing, 16px);
	margin-left: 16px;
}

.block-navigation__right-side:empty {
	display: none;
}

.block-navigation__cart {
	display: flex;
	align-items: center;
}

.block-navigation__cart--mobile {
	display: none;
}

@media screen and (min-width: 921px) {
	.block-navigation__inner--desktop-2 .block-navigation__logo {
		margin-right: var(--element-spacing, 16px);
	}

	.block-navigation__inner--desktop-2 .block-navigation__links {
		justify-content: flex-start;
	}

	.block-navigation__inner--desktop-3 {
		grid-template-columns: 1fr auto 1fr;
	}

	.block-navigation__inner--desktop-3 .block-navigation__links {
		justify-content: center;
	}

	.block-navigation__inner--desktop-4 {
		grid-template-columns: 1fr auto 1fr;
		grid-template-areas: "nav logo right-side";
	}

	.block-navigation__inner--desktop-4 .block-navigation__logo {
		margin-right: 0;
	}

	.block-navigation__inner--desktop-4 .block-navigation__links {
		justify-content: flex-start;
		margin-right: 16px;
	}

	.block-navigation__inner--desktop-5 {
		grid-template-columns: 1fr auto 1fr;
		grid-template-areas:
			"logo logo logo"
			"social-icons nav right-side";
		gap: var(--element-spacing, 16px);
	}

	.block-navigation__inner--desktop-5 .block-navigation__logo {
		justify-self: center;
		margin-right: 0;
	}

	.block-navigation__inner--desktop-5 .block-navigation__links {
		justify-content: center;
	}

	.block-navigation__inner--desktop-5 .block-navigation__right-side {
		margin-left: 0;
	}

	.block-navigation__social-slot {
		grid-area: social-icons;
		margin-right: 16px;
	}
}

.block-header-cart-wrapper {
	display: flex;
	align-items: center;
	text-align: left;
	text-decoration: none;
	flex-shrink: 0;
}

.block-header-cart__button {
	position: relative;
	align-self: center;
	font-family: var(--nav-link-font-family);
	font-size: var(--nav-link-font-size, 14px);
	font-style: var(--nav-link-font-style, normal);
	font-weight: var(--nav-link-font-weight, 500);
	line-height: var(--nav-link-line-height, 1.5);
	color: var(--nav-link-text-color, var(--nav-link-color, inherit));
	cursor: pointer;
	background: transparent;
	border: 0;
	padding: 0;
}

.block-header-cart__icon-container {
	display: flex;
	align-items: center;
	color: inherit;
	white-space: nowrap;
}

.block-header-cart__icon-wrapper {
	position: relative;
}

.block-header-cart__icon {
	display: block;
}

.block-header-cart__item-amount {
	position: absolute;
	display: inline-block;
	bottom: 0;
	right: -7%;
	min-width: 1.5em;
	height: 1.4em;
	padding: 0.1em 0.3em;
	font-size: 0.7em;
	line-height: 1.4em;
	text-align: center;
	border-radius: 9999px;
	background-color: var(--contrastBackgroundColor, #c6cfdb);
	color: #111;
}

.block-header-cart__cart-text {
	margin-left: 6px;
}

.block-header-cart__button:hover,
.block-header-cart__button:focus-visible {
	color: var(--nav-link-text-color-hover, var(--nav-link-text-color, inherit));
}

.ecommerce-cart {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	display: flex;
	flex-direction: column;
	width: min(360px, 100vw);
	height: 100vh;
	padding: 16px;
	background: #fff;
	box-shadow: -4px 0 24px rgb(0 0 0 / 12%);
	box-sizing: border-box;
}

.ecommerce-cart__header {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.ecommerce-cart__list {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	overflow: auto;
	list-style: none;
}

.ecommerce-cart__item {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	align-items: flex-start;
}

.ecommerce-cart__item-main {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.ecommerce-cart__thumb {
	width: 48px;
	height: 48px;
	object-fit: cover;
	border-radius: 4px;
	flex-shrink: 0;
}

.ecommerce-cart__meta {
	font-size: 12px;
	opacity: 0.7;
}

.ecommerce-cart__empty {
	flex: 1;
}

.ecommerce-cart__footer {
	margin-top: 16px;
}

.ecommerce-cart__checkout {
	width: 100%;
	padding: 12px 16px;
	border: 0;
	border-radius: 4px;
	background: #111;
	color: #fff;
	cursor: pointer;
}

.ecommerce-cart__checkout:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.ecommerce-cart__error {
	margin: 0 0 8px;
	color: #b00020;
	font-size: 13px;
}

.ecommerce-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgb(0 0 0 / 50%);
}

.ecommerce-modal {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 400px;
	padding: 32px;
	border-radius: 8px;
	background: #fff;
	text-align: center;
}

.ecommerce-modal__title {
	margin: 0;
	font-size: 20px;
}

.ecommerce-modal__text {
	margin: 0;
	color: #4a4a4a;
}

.ecommerce-modal__button {
	align-self: center;
	padding: 12px 24px;
	border-radius: 4px;
	background: #111;
	color: #fff;
	cursor: pointer;
}

.block-product-list__inner,
.block-product-list__wrapper {
	width: 100%;
	max-width: var(--content-width, 1224px);
	margin: 0 auto;
	padding: var(--block-padding, 32px 16px);
	box-sizing: border-box;
}

.product-list__header {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.product-list__header-item {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}

.product-list__total-count {
	margin: 0;
	flex-grow: 1;
	font-size: 14px;
	color: var(--body-color, inherit);
}

.product-list-sorting {
	display: flex;
	align-items: center;
	gap: 8px;
}

.product-list-sorting__label {
	font-size: 14px;
	white-space: nowrap;
}

.product-list-sorting__select-wrapper {
	position: relative;
}

.product-list-sorting__select {
	appearance: none;
	padding: 8px 32px 8px 12px;
	border: 1px solid rgb(0 0 0 / 15%);
	border-radius: 4px;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23111' stroke-width='1.5' fill='none'/%3E%3C/svg%3E") no-repeat right 10px center;
	font: inherit;
	cursor: pointer;
}

.block-product-list__status {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 400px;
}

.product-list-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	max-width: 200px;
	margin: 0 auto;
	text-align: center;
}

.product-list-empty-state__icon {
	margin-bottom: 16px;
	color: var(--h6-color, inherit);
}

.product-list-empty-state__message {
	margin: 0;
}

.block-product-list__grid,
.product-list__content {
	display: grid;
	grid-template-columns: repeat(var(--product-list-columns, var(--column-count, 4)), minmax(0, 1fr));
	gap: var(--product-list-gap, 24px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.block-product-list__card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	cursor: pointer;
}

.block-product-list__card-link {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}

.block-product-list__image-wrap {
	position: relative;
	display: flex;
	width: 100%;
	height: 0;
	overflow: hidden;
	background: #f0f0f0;
	border-radius: var(--image-border-radius, 0);
	transition: height 0.2s ease-in;
}

.block-product-list__image-wrap--portrait {
	padding-bottom: 125%;
}

.block-product-list__image-wrap--landscape {
	padding-bottom: 56.25%;
}

.block-product-list__image-wrap--cover,
.block-product-list__image-wrap--contain {
	padding-bottom: 100%;
}

.block-product-list__image-wrap--contain {
	border: 1px solid #dadce0;
}

/* Oversized by the border width on each axis, working around a Chrome bleed at the image edge. */
.block-product-list__image-wrap--contain .block-product-list__image {
	left: 50%;
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	margin: -1px;
	transform: scale(1) translateX(-50%);
}

.block-product-list__image-wrap--contain.block-product-list__image-wrap--zoom:hover .block-product-list__image {
	transform: scale(1.2) translateX(calc(-50% / 1.2 + 1px));
}

.block-product-list__image {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: var(--image-object-fit, cover);
	object-position: center;
	transform: scale(1);
	transition: 0.1s transform;
}

.block-product-list__image-wrap--zoom:hover .block-product-list__image {
	transform: scale(1.2);
}

.block-product-list__image-placeholder {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ececec;
}

.block-product-list__title {
	margin: 20px 0 8px;
	word-break: break-word;
}

.product-list-item__details {
	display: flex;
	flex-direction: column;
}

.product-list-item__button-wrapper {
	display: flex;
	width: 100%;
	padding-top: 8px;
	transition: opacity 0.3s ease-in;
}

.product-list-item--center {
	align-items: center;
	text-align: center;
}

.product-list-item--center .block-product-list__price-wrapper,
.product-list-item--center .product-list-item__button-wrapper,
.product-list-item--center .block-product-list__rating-below-title {
	justify-content: center;
}

.product-list-item--outlined {
	border: 1px solid #dadce0;
}

.product-list-item--outlined .product-list-item__details {
	padding: 0 10px 10px;
}

.product-list-item--outlined .product-list-item__button-wrapper {
	padding: 8px 10px 10px;
	margin-top: -10px;
}

.product-list-item--outlined .block-product-list__image-wrap--contain {
	border: none;
	border-bottom: 1px solid #dadce0;
}

.block-product-list__price-wrapper {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

.block-product-list__price--old {
	margin-right: 8px;
	text-decoration: line-through;
	opacity: 0.4;
}

.block-product-list__duration::before {
	margin-right: 8px;
	margin-left: 8px;
	content: "|";
}

.block-product-list__sold-out {
	text-transform: uppercase;
	opacity: 0.6;
}

.grid-affiliate-find {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	border: var(--card-border-width) solid var(--card-border-color);
	border-radius: var(--card-border-radius);
	background-color: var(--card-background-color);
}

.grid-affiliate-find__inner {
	display: grid;
	gap: 16px;
	width: 100%;
	padding: var(--card-padding);
}

.grid-affiliate-find__title {
	background-color: var(--title-background-color, transparent);
	color: var(--title-color);
	font-family: var(--title-font-family);
	font-size: var(--title-font-size);
	font-weight: var(--title-font-weight);
	text-align: var(--title-text-align, center);
}

.grid-affiliate-find__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	justify-self: stretch;
	padding: 10px 16px;
	border: var(--button-border-width) solid var(--button-border-color);
	border-radius: var(--button-border-radius);
	background: var(--button-bg);
	color: var(--button-color);
	cursor: pointer;
	text-decoration: none;
}

.grid-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	padding: var(--form-padding, 0);
	border: var(--form-border-width, 0) solid var(--form-border-color, transparent);
	border-radius: var(--form-border-radius, 0);
	background: var(--form-bg, transparent);
	font-family: var(--form-font-family, inherit);
	font-weight: var(--form-font-weight, inherit);
}

.grid-form__label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--label-text, inherit);
}

.grid-form__fieldset {
	margin: 0;
	padding: 0;
	border: none;
}

.grid-form__legend {
	margin-bottom: 4px;
	padding: 0;
}

.grid-form__option {
	display: flex;
	align-items: center;
	gap: 8px;
}

.grid-form__input {
	padding: 8px 12px;
	border: var(--input-border-width, 1px) solid var(--input-border, #ccc);
	border-radius: var(--input-radius, 4px);
	background: var(--input-fill, #fff);
	color: var(--input-text, #111);
}

.grid-form__input:hover {
	border-color: var(--input-border-hover, var(--input-border, #ccc));
	background: var(--input-fill-hover, var(--input-fill, #fff));
	color: var(--input-text-hover, var(--input-text, #111));
}

.grid-form__submit {
	align-self: var(--submit-align, stretch);
	padding: 10px 16px;
	border: var(--submit-border-width, 1px) solid var(--submit-border, transparent);
	border-radius: var(--submit-radius, 4px);
	background: var(--submit-bg, #000);
	color: var(--submit-color, #fff);
	font-family: var(--submit-font-family, inherit);
	font-weight: var(--submit-font-weight, inherit);
	cursor: pointer;
}

.grid-form__submit:hover {
	border-color: var(--submit-border-hover, var(--submit-border, transparent));
	background: var(--submit-bg-hover, var(--submit-bg, #000));
	color: var(--submit-color-hover, var(--submit-color, #fff));
}

/* Styled from the site's own tokens: the Reach template's CSS does not survive conversion. */
.grid-reach-form {
	display: flex;
	flex-direction: column;
	gap: 12px;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	font-family: var(--body-font-family, inherit);
	font-size: var(--body-font-size, inherit);
	line-height: var(--body-line-height, 1.5em);
}

.grid-reach-form__label {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.grid-reach-form__input {
	padding: 8px 12px;
	font-family: inherit;
	font-size: inherit;
	border: 1px solid #ccc;
	border-radius: var(--grid-button-primary-border-radius, 4px);
	background: #fff;
	color: #111;
}

.grid-reach-form__submit {
	padding: var(--grid-button-primary-padding-y, 10px) var(--grid-button-primary-padding-x, 16px);
	font-family: var(--grid-button-primary-font-family, inherit);
	font-size: var(--grid-button-primary-font-size, inherit);
	font-weight: var(--grid-button-primary-font-weight, inherit);
	text-transform: var(--grid-button-primary-text-transform, none);
	letter-spacing: var(--grid-button-primary-letter-spacing, normal);
	color: var(--grid-button-primary-color, #fff);
	background: var(--grid-button-primary-background-color, #000);
	border: 1px solid var(--grid-button-primary-border-color, transparent);
	border-radius: var(--grid-button-primary-border-radius, 4px);
	cursor: pointer;
}

.grid-reach-form__submit:hover {
	color: var(--grid-button-primary-color-hover, var(--grid-button-primary-color, #fff));
	background: var(--grid-button-primary-background-color-hover, var(--grid-button-primary-background-color, #000));
	border-color: var(--grid-button-primary-border-color-hover, var(--grid-button-primary-border-color, transparent));
}

.block-product-list--with-categories .block-product-list__wrapper {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}

.block-product-list__content-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.block-product-list__wrapper--full-width {
	max-width: none;
	width: 100%;
}

.block-product-list__grid--centered {
	justify-content: center;
}

.category-list {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 200px;
	color: var(--body-color);
}

.category-list__title {
	margin-bottom: 16px;
	padding-bottom: 16px;
	border-bottom: 1px solid;
	border-color: inherit;
}

/* The sidebar lives outside the block's scoped styles, so its heading keeps browser defaults. */
.page .category-list__title {
	font-family: inherit;
	font-size: 1.5em;
	font-style: normal;
	font-weight: bold;
	line-height: normal;
	color: inherit;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
}

.category-list__list {
	max-height: 100%;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	list-style-type: none;
}

.category-list__list li {
	margin-bottom: 8px;
}

.category-list__link {
	font-size: 16px;
	color: inherit;
	text-decoration: none;
	word-break: break-all;
	cursor: pointer;
	background-color: transparent;
}

.category-list__link:hover,
.category-list__link:focus,
.category-list__link--active {
	text-decoration: underline;
}

.category-list__mobile {
	display: none;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	max-width: unset;
}

.category-list__mobile-select-wrapper {
	display: flex;
	gap: 10px;
	align-items: center;
}

.category-list__mobile-label {
	font-size: 14px;
	white-space: nowrap;
}

.category-list__mobile-select {
	color: inherit;
}

@media screen and (max-width: 920px) {
	.category-list {
		display: none;
	}

	.category-list__mobile {
		display: flex;
	}

	.block-product-list--with-categories .block-product-list__wrapper {
		flex-direction: column;
	}

	.block-product-list__category:not(.show-title) {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	.category-list__mobile {
		flex-direction: column;
		align-items: flex-start;
	}

	.category-list__mobile-select-wrapper {
		flex: 1;
		width: 100%;
		justify-content: space-between;
	}
}

.block-product-list__scroll-to-top {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background-color: var(--scroll-to-top-background-color, #000);
	color: var(--scroll-to-top-icon-color, #fff);
	cursor: pointer;
	transition: opacity 0.2s ease-in;
}

.block-product-list__scroll-to-top--hidden {
	opacity: 0;
	pointer-events: none;
}

.quantity-picker {
	display: flex;
	height: var(--size, 48px);
	border: 1px solid #dadce0;
	background-color: #fff;
}

.quantity-picker__control {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--size, 48px);
	border: 0;
	background: none;
	font-size: 16px;
	cursor: pointer;
}

.quantity-picker__control:first-child {
	border-right: 1px solid #dadce0;
}

.quantity-picker__control:last-child {
	border-left: 1px solid #dadce0;
}

.quantity-picker__control:disabled {
	background-color: #dadce0;
	cursor: inherit;
}

.quantity-picker__amount {
	width: var(--size, 48px);
	border: 0;
	font-size: var(--font-size, 16px);
	text-align: center;
}

.quantity-picker__amount:focus-visible {
	outline: none;
}

.block-product__quantity-wrapper {
	display: flex;
	margin-top: 32px;
}

.block-product__quantity-wrapper--disabled {
	pointer-events: none;
	filter: opacity(0.4);
}

/* Thumbnails beside the image rather than under it, as galleryPlacement 'left'. */
.product-carousel--left {
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
	justify-content: flex-end;
	gap: 12px;
}

.product-carousel--left .product-carousel__thumbnails {
	flex-direction: column;
}

/* Two classes so the card's layout survives grid-button.css, imported after this file. */
.grid-button.block-product-list__add {
	align-self: flex-start;
	width: auto;
	padding-right: 16px;
	padding-left: 16px;
}

.grid-button.block-product-list__add--full-width {
	align-self: stretch;
	width: 100%;
	justify-content: center;
	text-align: center;
}

.pagination,
.product-list-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 32px;
}

.pagination__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: var(--button-color, var(--body-color, inherit));
	font: inherit;
	cursor: pointer;
}

.pagination__button:disabled {
	opacity: 0.35;
	cursor: default;
}

.pagination__trigger--current {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 6px;
}

.block-product-wrapper {
	width: 100%;
	padding: var(--block-padding, 100px 16px);
	background: var(--background-color, transparent);
	box-sizing: border-box;
}

.block-product {
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: var(--content-width, 1224px);
	margin: 0 auto;
	color: var(--body-color, inherit);
	text-align: left;
}

.page .block-product p,
.page .block-product__input-field-wrapper,
.page .block-product__description,
.page .block-product__additional-info-item > div {
	font-family: var(--body-font-family);
	font-size: var(--body-font-size);
	font-style: var(--body-font-style);
	font-weight: var(--body-font-weight);
	line-height: var(--body-line-height);
	color: var(--body-color, inherit);
	text-decoration: var(--body-text-decoration);
	text-transform: var(--body-text-transform);
	letter-spacing: var(--body-letter-spacing);
}

.block-product__empty {
	max-width: var(--content-width, 1224px);
	margin: 0 auto;
	padding: 48px 16px;
}

.block-product__main-info {
	display: flex;
	width: 100%;
	gap: 0;
	align-items: flex-start;
}

.product-content-layout {
	position: relative;
}

.product-content-layout--description-below-image {
	min-height: var(--product-content-min-height);
}

.product-content-layout--description-below-image .product-content-layout__description {
	position: absolute;
	top: var(--product-gallery-height);
	inset-inline-start: 0;
	width: var(--product-description-width);
	max-width: var(--max-width-description, 600px);
}

.block-product__image-content-wrapper {
	flex: 1 1 50%;
	width: 100%;
	min-width: 0;
}

.block-product__content-wrapper {
	flex: 1 1 50%;
	max-width: 624px;
	padding-left: 80px;
	box-sizing: border-box;
	word-break: break-word;
}

.product-carousel {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: var(--image-max-width);
	overflow: hidden;
}

/* Height comes from padding-bottom so the box keeps its ratio before the image loads. */
.product-carousel__image-wrapper {
	position: relative;
	display: flex;
	width: 100%;
	height: 0;
	overflow: hidden;
	transition: height 0.2s ease-in;
}

.product-carousel__image-wrapper::after {
	display: block;
	padding-bottom: 100%;
	content: "";
}

.product-carousel__image-wrapper--portrait {
	padding-bottom: 133.3%;
}

.product-carousel__image-wrapper--portrait-left {
	padding-bottom: 116%;
}

.product-carousel__image-wrapper--landscape {
	padding-bottom: 75%;
}

.product-carousel__image-wrapper--landscape-left {
	padding-bottom: 66%;
}

.product-carousel__image-wrapper--cover,
.product-carousel__image-wrapper--contain {
	padding-bottom: 100%;
}

.product-carousel__image-wrapper--cover-left,
.product-carousel__image-wrapper--contain-left {
	padding-bottom: 87.33%;
}

.product-carousel__image-wrapper--contain,
.product-carousel__image-wrapper--contain-left {
	border: 1px solid #dadce0;
}

.product-carousel__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-carousel__main-image {
	position: absolute;
	top: 0;
	left: 0;
	cursor: pointer;
	border-radius: var(--image-border-radius, 0);
	object-fit: var(--image-object-fit, cover);
	object-position: center;
}

.product-carousel__thumbnails {
	display: flex;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
}

.product-carousel__thumbnail {
	padding: 0;
	border: 1px solid transparent;
	background: transparent;
	cursor: pointer;
}

.product-carousel__thumbnail--active {
	border-color: #111;
}

.product-carousel__thumbnail img {
	display: block;
	width: 64px;
	height: 64px;
	object-fit: cover;
}

.block-product__price-data-wrapper {
	display: flex;
	flex-direction: column;
	align-items: baseline;
	justify-content: flex-start;
	width: 100%;
}

/* The title is an h1 for document outline, but carries h3 typography. */
.page .block-product__title {
	margin: 0 0 8px;
	font-family: var(--h3-font-family);
	font-size: var(--h3-font-size);
	font-style: var(--h3-font-style);
	font-weight: var(--h3-font-weight);
	line-height: var(--h3-line-height);
	color: var(--h3-color, inherit);
	text-decoration: var(--h3-text-decoration);
	text-transform: var(--h3-text-transform);
	letter-spacing: var(--h3-letter-spacing);
}

.page .block-product__subtitle {
	margin: 0 0 16px;
	font-family: var(--h5-font-family);
	font-size: var(--h5-font-size);
	font-style: var(--h5-font-style);
	font-weight: var(--h5-font-weight);
	line-height: var(--h5-line-height);
	color: var(--h5-color, inherit);
	text-decoration: var(--h5-text-decoration);
	text-transform: var(--h5-text-transform);
	letter-spacing: var(--h5-letter-spacing);
}

@media screen and (max-width: 920px) {
	.page .block-product__title {
		font-family: var(--h3-m-font-family, var(--h3-font-family));
		font-size: var(--h3-m-font-size, var(--h3-font-size));
		font-weight: var(--h3-m-font-weight, var(--h3-font-weight));
		line-height: var(--h3-m-line-height, var(--h3-line-height));
		color: var(--h3-m-color, var(--h3-color, inherit));
	}

	.page .block-product__subtitle {
		font-family: var(--h5-m-font-family, var(--h5-font-family));
		font-size: var(--h5-m-font-size, var(--h5-font-size));
		font-weight: var(--h5-m-font-weight, var(--h5-font-weight));
		line-height: var(--h5-m-line-height, var(--h5-line-height));
		color: var(--h5-m-color, var(--h5-color, inherit));
	}
}

.block-product__price-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 8px;
	margin: 0;
}

.page .block-product .body-large {
	font-family: var(--body-large-font-family);
	font-size: var(--body-large-font-size);
	font-style: var(--body-large-font-style);
	font-weight: var(--body-large-font-weight);
	line-height: var(--body-large-line-height);
	color: var(--body-large-color, inherit);
	text-decoration: var(--body-large-text-decoration);
	text-transform: var(--body-large-text-transform);
	letter-spacing: var(--body-large-letter-spacing);
}

@media screen and (max-width: 920px) {
	.page .block-product .body-large {
		font-family: var(--body-large-m-font-family, var(--body-large-font-family));
		font-size: var(--body-large-m-font-size, var(--body-large-font-size));
		font-weight: var(--body-large-m-font-weight, var(--body-large-font-weight));
		line-height: var(--body-large-m-line-height, var(--body-large-line-height));
		color: var(--body-large-m-color, var(--body-large-color, inherit));
	}
}

.block-product__price-wrapper--with-duration {
	margin-bottom: 8px;
}

.block-product__price {
	margin-bottom: 0;
}

.block-product__price--sale {
	margin-right: 8px;
	opacity: 0.4;
	text-decoration: line-through;
}

.block-product__duration::before {
	margin: 0 8px;
	content: "|";
}

.block-product__location {
	opacity: 0.6;
}

.block-product__rating-below-title {
	display: flex;
	margin-bottom: 16px;
}

.block-product__rating {
	margin-right: 8px;
}

.block-product__rating-count {
	margin: 0;
}

.block-product__button-wrapper {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	margin-top: 32px;
}

/* Overrides the full-width grid-button, which is sized by its grid cell. */
.grid-button.block-product__button {
	width: auto;
}

.block-product__button {
	position: relative;
	display: flex;
	align-items: center;
	height: var(--button-height);
}

.block-product__primary-buttons {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
}

.block-product__primary-buttons--with-whatsapp {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
}

.block-product__button--whatsapp:not(._) {
	border-color: #4aa461;
	color: #4aa461;
	background-color: #fafafa;
	white-space: break-spaces;
}

.block-product__button--whatsapp:not(._):hover,
.block-product__button--whatsapp:not(._):focus {
	border-color: #3f8b52;
	color: #3f8b52;
	background-color: #f2f2f2;
}

/* Negative margin matching the border keeps hover from shifting surrounding content. */
.block-product__button--primary {
	margin: calc(-1 * var(--grid-button-primary-border-null, var(--grid-button-primary-border-width, 0)));
}

.block-product__button--primary:focus,
.block-product__button--primary:hover {
	margin: calc(-1 * var(--grid-button-primary-border-null-hover, var(--grid-button-primary-border-width-hover, 0)));
}

.block-product__button:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.block-product__checkout-error {
	margin: 8px 0 0;
	color: #b00020;
	font-size: 13px;
}

.block-product__booking {
	width: 100%;
	margin-top: 32px;
}

.block-product__booking-group:not(:last-child) {
	margin-bottom: 24px;
}

.block-product__booking-label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
}

.block-product__booking-options {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.block-product__booking-option {
	padding: 8px 12px;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 4px;
	background: transparent;
	font-size: 14px;
	cursor: pointer;
}

.block-product__booking-option--selected {
	border-color: currentcolor;
	background: rgb(0 0 0 / 8%);
}

.block-product__booking-status {
	margin: 0;
	font-size: 14px;
	opacity: 0.6;
}

.block-product__booking-timezone {
	margin: 8px 0 0;
	font-size: 12px;
	opacity: 0.6;
}

.block-product__description {
	width: 100%;
	margin-top: 56px;
	word-break: break-word;
	white-space: pre-line;
}

.block-product__description p {
	margin-bottom: 8px;
}

.block-product__description img,
.block-product__description iframe {
	width: 100%;
	max-width: var(--max-width-description, 600px);
}

.block-product__description ul,
.block-product__description ol {
	padding-left: 1em;
	list-style-position: inside;
}

.block-product__description ul p,
.block-product__description ol p {
	display: inline;
}

.block-product__description blockquote {
	position: relative;
	display: block;
	padding-inline-start: 1em;
	padding-left: 16px;
}

.block-product__description blockquote::before {
	content: "";
	position: absolute;
	inset: 0;
	background: inherit;
	border-inline-start: 0.25em solid var(--body-color);
	opacity: 0.2;
}

.block-product__description blockquote * {
	font-style: italic;
	font-size: 1.05em;
	opacity: 0.8;
}

.block-product__description table {
	width: 100%;
	min-width: 50%;
	margin: 0;
	border-collapse: collapse;
	table-layout: fixed;
	overflow: hidden;
}

.block-product__additional-info {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.block-product__additional-info-item {
	border-top: 1px solid rgb(0 0 0 / 10%);
	padding: 12px 0;
}

.block-product__additional-info-item summary {
	cursor: pointer;
	font-weight: 600;
}

@media screen and (max-width: 920px) {
	.block-navigation__end {
		gap: var(--m-link-spacing, 20px);
	}

	.block-header-cart__cart-text {
		display: none;
	}

	.block-product-list__grid,
	.product-list__content {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.block-product__main-info {
		flex-direction: column;
	}

	.block-product__content-wrapper {
		max-width: none;
		padding-left: 0;
		padding-top: 32px;
	}

	.product-content-layout--description-below-image {
		min-height: unset;
	}

	.product-content-layout--description-below-image .product-content-layout__description {
		position: static;
		width: 100%;
		max-width: none;
	}

	.block-product-wrapper {
		padding: var(--m-block-padding, 56px 16px);
	}
}

.block-navigation__logo {
	grid-area: logo;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	margin-right: 16px;
	color: var(--logo-text-color, var(--nav-link-text-color, inherit));
	text-decoration: none;
}

.block-navigation__logo:has(.block-navigation__logo-image) {
	width: var(--logo-width);
	height: var(--logo-height);
}

.block-navigation__logo-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: left center;
}

.block-navigation__logo-text {
	font-family: var(--logo-text-font-family, var(--font-primary, inherit));
	font-size: var(--logo-text-font-size, 24px);
	font-weight: var(--logo-text-font-weight, 400);
	line-height: 1.2;
	color: inherit;
	white-space: nowrap;
}

.block-navigation__links {
	grid-area: nav;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-end;
	column-gap: var(--link-spacing, 40px);
	row-gap: 16px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.block-navigation__item {
	position: relative;
	user-select: none;
	list-style: none;
}

.block-navigation__item-label {
	display: block;
	cursor: pointer;
}

.block-navigation__mobile-dropdown-trigger {
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}

.block-navigation__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: center;
	font-family: var(--nav-link-font-family, var(--font-secondary, var(--body-font-family, inherit)));
	font-size: var(--nav-link-font-size, 14px);
	font-style: var(--nav-link-font-style, normal);
	font-weight: var(--nav-link-font-weight, 500);
	line-height: var(--nav-link-line-height, 1.5);
	color: var(--nav-link-text-color, var(--nav-link-color, inherit));
	text-decoration: var(--nav-link-text-decoration, none);
	text-transform: var(--nav-link-text-transform, none);
	letter-spacing: var(--nav-link-letter-spacing, normal);
	white-space: pre-wrap;
	cursor: pointer;
}

.block-navigation__chevron {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.block-navigation__dropdown-area {
	position: absolute;
	z-index: 20;
	display: none;
	top: 100%;
	left: 0;
	padding-top: 8px;
	padding-right: 16px;
	padding-bottom: 48px;
}

.block-navigation__sublinks {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 8px;
	min-width: 180px;
	max-height: 400px;
	overflow: auto;
	padding: 16px 24px;
	margin: 0;
	list-style: none;
	background-color: var(--background-color, #fff);
	border-radius: 4px;
	box-shadow: 0 4px 16px rgb(0 0 0 / 12%);
}

.block-navigation__item--has-dropdown:hover > .block-navigation__item-label > .block-navigation__dropdown-area,
.block-navigation__item-label:hover > .block-navigation__dropdown-area,
.block-navigation__item-label:focus-within > .block-navigation__dropdown-area {
	display: block;
}

.block-navigation__item--has-dropdown:hover > .block-navigation__item-label .block-navigation__chevron,
.block-navigation__item-label:hover .block-navigation__chevron,
.block-navigation__item-label:focus-within .block-navigation__chevron {
	transform: rotate(180deg);
}

.block-navigation__links > .block-navigation__item:hover > .block-navigation__link,
.block-navigation__links > .block-navigation__item:hover > .block-navigation__item-label > .block-navigation__link,
.block-navigation__link:hover,
.block-navigation__link--active,
.block-navigation__item--active > .block-navigation__link,
.block-navigation__item--active > .block-navigation__item-label > .block-navigation__link {
	color: var(--nav-link-text-color-hover, var(--nav-link-text-color, inherit));
	text-decoration: underline;
	text-decoration-line: underline;
	text-underline-offset: 7px;
}

.block-navigation__hamburger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 40px;
	height: 40px;
	padding: 8px;
	border: 0;
	background: transparent;
	cursor: pointer;
	flex-shrink: 0;
}

.block-navigation__hamburger-line {
	display: block;
	width: 100%;
	height: 2px;
	background: var(--nav-link-text-color, var(--nav-link-color, currentColor));
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.block-navigation__hamburger--open .block-navigation__hamburger-line:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.block-navigation__hamburger--open .block-navigation__hamburger-line:nth-child(2) {
	opacity: 0;
}

.block-navigation__hamburger--open .block-navigation__hamburger-line:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.block-navigation__component {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

/* Match site-modules BlockHeader social icons: start justify, fixed 16px gap, no cell padding */
.block-navigation__social-icons {
	--space-between-icons: 16px;
	--icon-spacing: start;
	padding: 0;
	width: auto;
	height: auto;
	max-height: none;
}

.social-icons {
	display: flex;
	flex-direction: var(--icon-direction, row);
	justify-content: var(--icon-spacing, start);
	max-height: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	box-sizing: border-box;
}

.social-icons__link {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	color: var(--icon-color, black);
	transition: color 0.2s ease;
}

.social-icons__link:not(:last-child) {
	padding-right: var(--icon-padding-horizontal, 0);
	padding-bottom: var(--icon-padding-vertical, 0);
}

.social-icons__link:hover {
	color: var(--icon-color-hover, #6e7072);
}

.social-icons__svg {
	display: flex;
	line-height: 0;
}

.social-icons__svg svg {
	width: var(--icon-size, 25px);
	height: var(--icon-size, 25px);
	object-fit: contain;
}

@media screen and (max-width: 920px) {
	.social-icons {
		flex-direction: var(--m-icon-direction, var(--icon-direction, row));
	}

	.social-icons__link:not(:last-child) {
		padding-right: var(--m-icon-padding-horizontal, var(--icon-padding-horizontal, 0));
		padding-bottom: var(--m-icon-padding-vertical, var(--icon-padding-vertical, 0));
	}
}

.grid-embed {
	width: 100%;
	height: var(--embed-height, 100%);
}

@media screen and (max-width: 920px) {
	.grid-embed {
		height: var(--m-embed-height, var(--embed-height, 100%));
	}
}

.language-switcher {
	position: relative;
	flex-shrink: 0;
}

.language-switcher__button {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 4px 0;
	font-family: var(--nav-link-font-family, var(--font-secondary, var(--body-font-family, inherit)));
	font-size: var(--nav-link-font-size, 14px);
	font-weight: var(--nav-link-font-weight, 500);
	color: var(--nav-link-text-color, var(--nav-link-color, inherit));
	cursor: pointer;
}

.language-switcher__flag {
	width: 20px;
	height: 15px;
	object-fit: cover;
	border-radius: 2px;
}

.language-switcher__icon {
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.language-switcher:hover .language-switcher__icon,
.language-switcher:focus-within .language-switcher__icon {
	transform: rotate(180deg);
}

.language-switcher__dropdown-area {
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 19;
	display: none;
	padding-top: 8px;
}

.language-switcher:hover .language-switcher__dropdown-area,
.language-switcher:focus-within .language-switcher__dropdown-area {
	display: block;
}

.language-switcher__dropdown {
	min-width: 160px;
	padding: 8px 0;
	margin: 0;
	list-style: none;
	background-color: #fff;
	border-radius: 8px;
	box-shadow: 0 6px 14px rgb(0 0 0 / 15%);
}

.language-switcher__dropdown-link {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 16px;
	color: #1d1e20;
	text-decoration: none;
	white-space: nowrap;
}

.language-switcher__dropdown-link:hover {
	background-color: rgb(0 0 0 / 6%);
}

@media screen and (max-width: 920px) {
	.block-navigation__logo:has(.block-navigation__logo-image) {
		width: var(--m-logo-width);
		height: var(--m-logo-height);
	}

	.block-navigation__logo-text {
		font-size: var(--m-logo-text-font-size, var(--logo-text-font-size, 24px));
	}

	.block-navigation__inner {
		grid-template-columns: auto minmax(0, max-content) max-content;
		grid-template-areas: "logo cart hamburger-menu";
		padding: var(--m-padding, var(--padding, 24px 16px));
	}

	.block-navigation__inner--mobile-2 {
		grid-template-columns: max-content max-content auto;
		grid-template-areas: "hamburger-menu logo cart";
		justify-items: end;
	}

	.block-navigation__inner--mobile-3 {
		grid-template-columns: 1fr auto 1fr;
		grid-template-areas: "hamburger-menu logo cart";
	}

	.block-navigation__logo {
		margin-right: 0;
	}

	.block-navigation__hamburger {
		grid-area: hamburger-menu;
		display: flex;
		margin-left: var(--m-element-spacing, var(--element-spacing, 16px));
	}

	.block-navigation__inner--mobile-2 .block-navigation__hamburger {
		margin-left: 0;
		margin-right: var(--m-element-spacing, var(--element-spacing, 16px));
	}

	.block-navigation__inner--mobile-3 .block-navigation__hamburger {
		margin-left: 0;
	}

	.block-navigation__cart--mobile {
		grid-area: cart;
		display: flex;
		overflow: hidden;
	}

	.block-navigation__inner--mobile-3 .block-navigation__cart--mobile {
		justify-self: end;
	}

	.block-navigation__cart--desktop {
		display: none;
	}

	.block-navigation__right-side {
		display: contents;
	}

	.block-navigation__end {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 30;
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--m-link-spacing, 20px);
		max-height: 0;
		overflow: hidden;
		visibility: hidden;
		padding: 0 16px;
		background: var(--nav-bg, var(--background-color, #fff));
		box-shadow: 0 8px 24px rgb(0 0 0 / 12%);
		transition: max-height 0.25s ease, visibility 0.25s ease, padding 0.25s ease;
	}

	.block-navigation__end--open {
		max-height: 70vh;
		overflow: auto;
		visibility: visible;
		padding: 16px;
	}

	.block-navigation__links {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		column-gap: 0;
		row-gap: 12px;
		width: 100%;
	}

	.block-navigation__end--align-left,
	.block-navigation__end--align-left .block-navigation__links {
		align-items: flex-start;
	}

	.block-navigation__end--align-center,
	.block-navigation__end--align-center .block-navigation__links {
		align-items: center;
	}

	.block-navigation__end--align-right,
	.block-navigation__end--align-right .block-navigation__links {
		align-items: flex-end;
	}

	.block-navigation__link {
		font-size: var(--nav-link-m-font-size, var(--nav-link-font-size, 16px));
	}

	.block-navigation__dropdown-area {
		position: static;
		display: none;
		padding: 8px 0 0 12px;
	}

	.block-navigation__item-label:hover > .block-navigation__dropdown-area,
	.block-navigation__item--has-dropdown:hover > .block-navigation__item-label > .block-navigation__dropdown-area {
		display: none;
	}

	.block-navigation__mobile-dropdown-trigger {
		pointer-events: auto;
	}

	.block-navigation__mobile-dropdown-trigger:checked ~ .block-navigation__dropdown-area {
		display: block;
	}

	.block-navigation__mobile-dropdown-trigger:checked ~ .block-navigation__link .block-navigation__chevron,
	.block-navigation__mobile-dropdown-trigger:checked ~ .block-navigation__link-text + .block-navigation__chevron {
		transform: rotate(180deg);
	}

	.block-navigation__item-label:has(.block-navigation__mobile-dropdown-trigger:checked) .block-navigation__chevron {
		transform: rotate(180deg);
	}

	.block-navigation__sublinks {
		min-width: 0;
		width: 100%;
		max-height: none;
		box-shadow: none;
		padding: 8px 0 0;
		background: transparent;
	}
}

.block-product-list__image-wrap {
	position: relative;
}

.block-product-list__image--secondary {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity 0.2s ease;
}

.block-product-list__card:hover .block-product-list__image--secondary {
	opacity: 1;
}

.ecommerce-product-ribbon {
	position: absolute;
	z-index: 1;
	display: flex;
	max-height: calc(100% - 16px);
	padding: 6px 12px;
	margin: 8px 8px 8px 0;
	font-family: var(--body-small-font-family);
	font-size: var(--body-small-font-size);
	font-style: var(--body-small-font-style);
	font-weight: var(--body-small-font-weight);
	line-height: var(--body-small-line-height);
	color: var(--body-small-color);
	text-align: left;
	text-decoration: var(--body-small-text-decoration);
	text-transform: var(--body-small-text-transform);
	letter-spacing: var(--body-small-letter-spacing);
	background-color: var(--ribbon-background-color, #1d1e20);
}

.page .ecommerce-product-ribbon .ecommerce-product-ribbon__text {
	overflow: hidden;
	font-family: var(--body-small-font-family);
	font-size: var(--body-small-font-size);
	font-style: var(--body-small-font-style);
	font-weight: var(--body-small-font-weight);
	line-height: var(--body-small-line-height);
	color: var(--ribbon-color, #fff);
	text-decoration: var(--body-small-text-decoration);
	text-transform: var(--body-small-text-transform);
	letter-spacing: var(--body-small-letter-spacing);
	word-break: break-word;
}

@media screen and (max-width: 920px) {
	.ecommerce-product-ribbon,
	.page .ecommerce-product-ribbon .ecommerce-product-ribbon__text {
		font-family: var(--body-small-m-font-family, var(--body-small-font-family));
		font-size: var(--body-small-m-font-size, var(--body-small-font-size));
		font-weight: var(--body-small-m-font-weight, var(--body-small-font-weight));
		line-height: var(--body-small-m-line-height, var(--body-small-line-height));
	}
}

.block-product-list__rating {
	display: block;
	font-size: 14px;
}

.block-product-list__price--old {
	margin-right: 4px;
	text-decoration: line-through;
	opacity: 0.6;
}

.block-product__options,
.block-product__input-field-wrapper {
	width: 100%;
	margin-top: 32px;
}

.block-product__option,
.block-product__input-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.block-product__option:not(:last-child),
.block-product__input-field:not(:last-child) {
	margin-bottom: 24px;
}

.block-product__option select,
.block-product__input-field input {
	padding: 8px;
	border: 1px solid rgb(0 0 0 / 20%);
	border-radius: 4px;
}

.block-product__stock-text {
	display: flex;
	align-items: center;
	margin-left: 24px;
}

.block-product__related-products {
	margin-top: 80px;
}

.block-product-list__category {
	margin-bottom: 32px;
	word-break: break-all;
}

.block-product__reviews-title {
	margin-top: 80px;
	margin-bottom: 48px;
}

.block-product__reviews {
	margin-top: 40px;
}

.product-review-analytics {
	display: flex;
	gap: 16px;
	padding-bottom: 80px;
	color: var(--body-color);
}

.product-review-analytics__left-column {
	margin-right: 100px;
}

.product-review-analytics__right-column {
	width: 100%;
	max-width: 526px;
}

.product-review-analytics__total-reviews-wrapper {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}

.product-review-analytics__rating-stars {
	display: block;
	margin-bottom: 4px;
}

.product-review-analytics__grid {
	display: grid;
	gap: 8px;
}

.product-review-analytics__row {
	display: grid;
	grid-template-columns: 1fr 1fr 12fr 1fr 8fr;
	align-items: center;
	gap: 8px;
}

.product-review-analytics__star {
	display: flex;
	align-items: center;
}

.product-review-analytics__rating-label,
.product-review-analytics__rating-count {
	margin: 0;
	text-align: center;
}

.product-review-analytics__bar-container {
	width: 100%;
	max-width: 238px;
	height: 16px;
	overflow: hidden;
	background-color: #f4f5f6;
	border: 1px solid #dadce0;
	border-radius: 4px;
}

.product-review-analytics__rating-bar {
	height: 100%;
	transition: width 0.3s ease;
}

@media screen and (max-width: 920px) {
	.block-product__reviews-title {
		margin-top: 40px;
		margin-bottom: 24px;
	}

	.product-review-analytics {
		flex-direction: column;
	}

	.product-review-analytics__left-column {
		margin-right: 0;
	}
}

.ecommerce-cart__variant,
.ecommerce-cart__custom-field {
	font-size: 13px;
	opacity: 0.7;
}

.ecommerce-cart__subtotal {
	display: flex;
	justify-content: space-between;
	margin-bottom: 12px;
}

.grid-button {
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: 100%;
	width: 100%;
	height: min-content;
	min-height: var(--grid-button-primary-min-height, auto);
	padding:
		calc(var(--grid-button-primary-padding-y, 12px) - var(--border-width, 0px))
		calc(var(--grid-button-primary-padding-x, 24px) - var(--border-width, 0px));
	overflow: hidden;
	font-family: var(--font-family, var(--grid-button-primary-font-family, inherit));
	font-size: var(--font-size-desktop, var(--grid-button-primary-font-size, 16px));
	font-style: var(--grid-button-primary-font-style, normal);
	font-weight: var(--font-weight, var(--grid-button-primary-font-weight, 500));
	line-height: var(--grid-button-primary-line-height, 1.2);
	color: var(--font-color, var(--grid-button-primary-color, #fff));
	text-align: center;
	text-decoration: none;
	text-overflow: ellipsis;
	text-transform: var(--grid-button-primary-text-transform, none);
	letter-spacing: var(--grid-button-primary-letter-spacing, normal);
	white-space: nowrap;
	cursor: pointer;
	background-color: var(--background-color, var(--grid-button-primary-background-color, #000));
	border: var(--border-width, 0px) solid var(--border-color, var(--grid-button-primary-border-color, transparent));
	border-radius: var(--border-radius, var(--grid-button-primary-border-radius, 4px));
	transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.grid-button:hover {
	color: var(--font-color-hover, var(--grid-button-primary-color-hover, var(--font-color, #fff)));
	background-color: var(--background-color-hover, var(--grid-button-primary-background-color-hover, var(--background-color, #000)));
	border-color: var(--border-color-hover, var(--grid-button-primary-border-color-hover, var(--border-color, transparent)));
}

.grid-button--secondary {
	min-height: var(--grid-button-secondary-min-height, auto);
	padding:
		calc(var(--grid-button-secondary-padding-y, 12px) - var(--border-width, 0px))
		calc(var(--grid-button-secondary-padding-x, 24px) - var(--border-width, 0px));
	font-family: var(--font-family, var(--grid-button-secondary-font-family, inherit));
	font-size: var(--font-size-desktop, var(--grid-button-secondary-font-size, 16px));
	font-weight: var(--font-weight, var(--grid-button-secondary-font-weight, 500));
	color: var(--font-color, var(--grid-button-secondary-color, #000));
	background-color: var(--background-color, var(--grid-button-secondary-background-color, transparent));
	border-color: var(--border-color, var(--grid-button-secondary-border-color, currentColor));
	border-radius: var(--border-radius, var(--grid-button-secondary-border-radius, 4px));
}

.grid-button--secondary:hover {
	color: var(--font-color-hover, var(--grid-button-secondary-color-hover, var(--font-color, #000)));
	background-color: var(--background-color-hover, var(--grid-button-secondary-background-color-hover, var(--background-color, transparent)));
	border-color: var(--border-color-hover, var(--grid-button-secondary-border-color-hover, var(--border-color, currentColor)));
}

.grid-button--empty::after {
	content: '\00A0';
}

.grid-button:disabled,
.grid-button.loading {
	cursor: default;
	opacity: 0.4;
	pointer-events: none;
}

@media screen and (max-width: 920px) {
	.grid-button {
		width: var(--m-width, 100%);
		height: var(--m-height, min-content);
		font-size: var(--font-size-mobile, var(--grid-button-primary-m-font-size, var(--grid-button-primary-font-size, 16px)));
	}

	.grid-button--secondary {
		font-size: var(--font-size-mobile, var(--grid-button-secondary-m-font-size, var(--grid-button-secondary-font-size, 16px)));
	}
}

.text-box {
	width: 100%;
	padding: 0;
	margin: 0;
	overflow-wrap: break-word;
	white-space: var(--white-space, break-spaces);
	outline: none;
}

.text-box h1,
.text-box h2,
.text-box h3,
.text-box h4,
.text-box h5,
.text-box h6,
.text-box p {
	margin: 0 0 0.5em;
}

.text-box h1:last-child,
.text-box h2:last-child,
.text-box h3:last-child,
.text-box h4:last-child,
.text-box h5:last-child,
.text-box h6:last-child,
.text-box p:last-child {
	margin-bottom: 0;
}

.text-box a {
	color: var(--link-color, inherit);
	text-decoration: var(--link-text-decoration, underline);
}

/*
 * Per-element typography overrides. Builder content HTML carries inline
 * --fontSizeDesktop/--fontSizeMobile/--lineHeightDesktop/--lineHeightMobile
 * variables on headings and spans (same as site-modules GridTextBox.vue).
 * Scoped under .page so these rules win the cascade over the base
 * .page h1..h6 rules defined after this file is imported.
 */
.page .text-box h1 {
	font-size: var(--fontSizeDesktop, var(--h1-font-size));
	line-height: var(--lineHeightDesktop, var(--h1-line-height));
}

.page .text-box h2 {
	font-size: var(--fontSizeDesktop, var(--h2-font-size));
	line-height: var(--lineHeightDesktop, var(--h2-line-height));
}

.page .text-box h3 {
	font-size: var(--fontSizeDesktop, var(--h3-font-size));
	line-height: var(--lineHeightDesktop, var(--h3-line-height));
}

.page .text-box h4 {
	font-size: var(--fontSizeDesktop, var(--h4-font-size));
	line-height: var(--lineHeightDesktop, var(--h4-line-height));
}

.page .text-box h5 {
	font-size: var(--fontSizeDesktop, var(--h5-font-size));
	line-height: var(--lineHeightDesktop, var(--h5-line-height));
}

.page .text-box h6 {
	font-size: var(--fontSizeDesktop, var(--h6-font-size));
	line-height: var(--lineHeightDesktop, var(--h6-line-height));
}

.page .text-box .body-large {
	font-family: var(--body-large-font-family);
	font-size: var(--fontSizeDesktop, var(--body-large-font-size));
	font-style: var(--body-large-font-style);
	font-weight: var(--body-large-font-weight);
	line-height: var(--lineHeightDesktop, var(--body-large-line-height));
	text-decoration: var(--body-large-text-decoration);
	text-transform: var(--body-large-text-transform);
	letter-spacing: var(--body-large-letter-spacing);
}

.page .text-box .body {
	font-family: var(--body-font-family);
	font-size: var(--fontSizeDesktop, var(--body-font-size));
	font-style: var(--body-font-style);
	font-weight: var(--body-font-weight);
	line-height: var(--lineHeightDesktop, var(--body-line-height));
	text-decoration: var(--body-text-decoration);
	text-transform: var(--body-text-transform);
	letter-spacing: var(--body-letter-spacing);
}

.page .text-box .body-small {
	font-family: var(--body-small-font-family);
	font-size: var(--fontSizeDesktop, var(--body-small-font-size));
	font-style: var(--body-small-font-style);
	font-weight: var(--body-small-font-weight);
	line-height: var(--lineHeightDesktop, var(--body-small-line-height));
	text-decoration: var(--body-small-text-decoration);
	text-transform: var(--body-small-text-transform);
	letter-spacing: var(--body-small-letter-spacing);
}

.page .text-box span {
	font-size: var(--fontSizeDesktop);
}

@media screen and (max-width: 920px) {
	.text-box {
		white-space: var(--white-space-mobile, var(--white-space, break-spaces));
	}

	.page .text-box h1 {
		font-size: var(--fontSizeMobile, var(--h1-m-font-size, var(--h1-font-size)));
		line-height: var(--lineHeightMobile, var(--h1-line-height));
	}

	.page .text-box h2 {
		font-size: var(--fontSizeMobile, var(--h2-m-font-size, var(--h2-font-size)));
		line-height: var(--lineHeightMobile, var(--h2-line-height));
	}

	.page .text-box h3 {
		font-size: var(--fontSizeMobile, var(--h3-m-font-size, var(--h3-font-size)));
		line-height: var(--lineHeightMobile, var(--h3-line-height));
	}

	.page .text-box h4 {
		font-size: var(--fontSizeMobile, var(--h4-m-font-size, var(--h4-font-size)));
		line-height: var(--lineHeightMobile, var(--h4-line-height));
	}

	.page .text-box h5 {
		font-size: var(--fontSizeMobile, var(--h5-m-font-size, var(--h5-font-size)));
		line-height: var(--lineHeightMobile, var(--h5-line-height));
	}

	.page .text-box h6 {
		font-size: var(--fontSizeMobile, var(--h6-m-font-size, var(--h6-font-size)));
		line-height: var(--lineHeightMobile, var(--h6-line-height));
	}

	.page .text-box .body-large {
		font-size: var(--fontSizeMobile, var(--body-large-m-font-size, var(--body-large-font-size)));
		line-height: var(--lineHeightMobile, var(--body-large-line-height));
	}

	.page .text-box .body {
		font-size: var(--fontSizeMobile, var(--body-m-font-size, var(--body-font-size)));
		line-height: var(--lineHeightMobile, var(--body-line-height));
	}

	.page .text-box .body-small {
		font-size: var(--fontSizeMobile, var(--body-small-m-font-size, var(--body-small-font-size)));
		line-height: var(--lineHeightMobile, var(--body-small-line-height));
	}

	.page .text-box span {
		font-size: var(--fontSizeMobile);
	}
}

.font-primary {
	font-family: var(--font-primary, var(--h1-font-family, inherit));
	font-size: 24px;
	font-style: normal;
	font-weight: bold;
	line-height: 1.3;
}

.font-secondary {
	font-family: var(--font-secondary, var(--body-font-family, inherit));
	font-size: 16px;
	font-style: normal;
	font-weight: normal;
	line-height: 1.3;
}

.block-blog-header {
	z-index: 14;
	display: flex;
	flex-direction: column;
	align-items: var(--align, flex-start);
	grid-area: 1/1 / -1/-1;
	width: 100%;
	max-width: var(--content-width, 1224px);
	padding: var(--block-padding, 45px 30px);
	margin: 0 auto;
	text-align: var(--text-align, center);
	position: relative;
}

.block-blog-header__content {
	width: 100%;
	color: var(--blog-post-header-text-color, inherit);
}

.block-blog-header__description {
	margin-bottom: 12px;
	opacity: 0.8;
}

.block-blog-header__title {
	margin-bottom: 12px;
}

.blog-categories {
	margin-bottom: 16px;
}

.blog-categories__item {
	color: var(--blog-post-header-text-color, inherit);
	cursor: pointer;
	opacity: 0.8;
}

.blog-categories__item:not(:first-child)::before {
	margin: 0 16px;
	content: "· ";
}

.blog-list-item-meta {
	color: var(--blog-post-header-text-color, inherit);
	opacity: 0.8;
}

.blog-list-item-meta__author-name {
	margin-bottom: 4px;
}

.blog-list-item-meta__subtitle span:nth-of-type(2)::before {
	content: " · ";
}

.block-blog-list {
	z-index: 14;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	grid-area: 1/1 / -1/-1;
	width: 100%;
	height: 100%;
	padding: var(--block-padding, 8px) 46px;
	box-sizing: border-box;
}

.block-blog-list__list {
	display: grid;
	grid-template-columns: repeat(var(--blog-list-columns, 3), 1fr);
	grid-gap: var(--grid-gap-size, 24px);
	width: var(--content-width, 1224px);
	max-width: 100%;
}

.block-blog-list__list--one-col {
	grid-template-columns: 1fr;
	width: calc(var(--content-width, 1224px) / 2);
}

.block-blog-list__header {
	display: flex;
	width: var(--content-width, 1224px);
	max-width: 100%;
	margin-bottom: 24px;
}

.block-blog-list__search {
	width: var(--blog-search-width, 250px);
	max-width: 100%;
	padding: 10px 12px;
	color: var(--blog-search-text, rgb(0, 0, 0));
	background: var(--blog-search-fill, rgb(255, 255, 255));
	border: 1px solid var(--blog-search-border, rgb(218, 220, 224));
	border-radius: var(--blog-search-radius, 4px);
	font: inherit;
}

.block-blog-list__search--left {
	margin-right: auto;
}

.block-blog-list__search--center {
	margin: 0 auto;
}

.block-blog-list__search--right {
	margin-left: auto;
}

.block-blog-list__no-results {
	width: 100%;
	text-align: center;
	color: var(--blog-post-header-text-color, inherit);
}

.block-blog-list__filter {
	display: flex;
	flex-direction: column;
	text-align: center;
	color: var(--blog-post-header-text-color, inherit);
}

.block-blog-list__filter-button {
	font-size: 14px;
	font-weight: normal;
	line-height: 1.43;
	text-decoration: underline;
	text-transform: none;
	letter-spacing: 0;
	background-color: transparent;
	margin: 16px 0;
	color: inherit;
	cursor: pointer;
}

.block-blog-list__pagination {
	align-self: center;
}

.block-blog-list__empty-block {
	display: flex;
	flex-direction: column;
	place-content: center;
	place-items: center;
	width: 100%;
	min-height: 80px;
	pointer-events: none;
}

.block-blog-list-item {
	position: relative;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	border-radius: 5px;
}

.block-blog-list-item__cover-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: none;
}

.block-blog-list-item__cover-image-wrapper {
	position: relative;
	padding-bottom: 60%;
}

.block-blog-list-item__cover-image-container {
	padding-bottom: 20px;
	display: block;
	text-decoration: none;
}

.block-blog-list-item__content {
	color: var(--blog-post-header-text-color, inherit);
	text-decoration: none;
}

.block-blog-list-item__description {
	margin-bottom: 12px;
	text-decoration: none;
	opacity: 0.8;
}

.block-blog-list-item__title {
	margin-bottom: 12px;
	word-break: break-word;
}

@media screen and (max-width: 920px) {
	.block-blog-header {
		padding: var(--m-block-padding, 16px);
	}

	.block-blog-list {
		padding: var(--block-padding, 8px) 16px;
	}

	.block-blog-list__list,
	.block-blog-list__list--one-col {
		grid-template-columns: 1fr;
		grid-gap: var(--m-grid-gap-size, var(--grid-gap-size, 16px));
		width: 100%;
	}

	.block-blog-list__header {
		width: 100%;
	}

	.block-blog-list__search {
		width: 100%;
	}
}

/* Port of site-modules _user-site-animations.scss (plain CSS). */

.transition.transition--fade:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: opacity;
}

.transition.transition--fade:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--slide:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(0%, 20%);
}

.transition.transition--slide:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: translate(0%, 0%);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--scale:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity;
	transform: scale(0.9);
}

.transition.transition--scale:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: scale(1);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--slide-left:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(-8%, 0%);
}

.transition.transition--slide-left:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: translate(0%, 0%);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--slide-right:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(8%, 0%);
}

.transition.transition--slide-right:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: translate(0%, 0%);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--blur:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity, filter;
	transform: translate(0%, 6%);
	filter: blur(12px);
}

.transition.transition--blur:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: translate(0%, 0%);
	filter: blur(0);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--rise:not(.transition--root-hidden) {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(0%, 32%) scale(0.98);
}

.transition.transition--rise:not(.transition--root-hidden)[data-animation-state="active"] {
	opacity: 1;
	transform: translate(0%, 0%) scale(1);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.transition.transition--root-hidden.transition--fade [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--fade [data-animation-role="image"] {
	opacity: 0;
	transition-property: opacity;
}

.transition.transition--root-hidden.transition--slide [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--slide [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(0%, 20%);
}

.transition.transition--root-hidden.transition--scale [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--scale [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity;
	transform: scale(0.9);
}

.transition.transition--root-hidden.transition--slide-left [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--slide-left [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(-8%, 0%);
}

.transition.transition--root-hidden.transition--slide-right [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--slide-right [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(8%, 0%);
}

.transition.transition--root-hidden.transition--blur [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--blur [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity, filter;
	transform: translate(0%, 6%);
	filter: blur(12px);
}

.transition.transition--root-hidden.transition--rise [data-animation-role="block-element"],
.transition.transition--root-hidden.transition--rise [data-animation-role="image"] {
	opacity: 0;
	transition-property: transform, opacity;
	transform: translate(0%, 32%) scale(0.98);
}

.transition.transition--root-hidden [data-animation-role="block-element"][data-animation-state="active"],
.transition.transition--root-hidden [data-animation-role="image"][data-animation-state="active"].loaded {
	opacity: 1;
	transform: translate(0%, 0%) scale(1);
	filter: blur(0);
	transition-delay: var(--user-animation-delay, 0.1s);
	transition-timing-function: ease;
	transition-duration: 0.65s;
}

.hover--lift,
.hover--grow,
.hover--glow {
	transition:
		translate 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		scale 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1),
		filter 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.hover--glow {
	border-radius: var(--u-hover-border-radius, 0);
}

.hover--shine {
	position: relative;
}

.hover--shine::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--u-hover-border-radius, inherit);
	pointer-events: none;
	background: linear-gradient(100deg, transparent 30%, rgb(255 255 255 / 35%) 50%, transparent 70%);
	background-size: 220% 100%;
	background-position: 150% 0;
	opacity: 0;
	transition: background-position 0.7s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease;
}

.hover--border {
	border-radius: var(--u-hover-border-radius, 0);
	transition: box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes user-hover-border-glow {
	0%,
	100% {
		box-shadow:
			0 0 0 var(--u-hover-border-width, 2px) var(--u-hover-border-color, currentcolor),
			0 0 calc(var(--u-hover-border-width, 2px) * 4) var(--u-hover-border-color, currentcolor);
	}

	50% {
		box-shadow:
			0 0 0 var(--u-hover-border-width, 2px) var(--u-hover-border-color, currentcolor),
			0 0 calc(var(--u-hover-border-width, 2px) * 9) var(--u-hover-border-color, currentcolor);
	}
}

@media (hover: hover) {
	.hover--lift:hover {
		translate: 0 -6px;
		box-shadow: 0 18px 38px -18px rgb(0 0 0 / 45%);
	}

	.hover--grow:hover {
		scale: 1.04;
	}

	.hover--glow:hover {
		box-shadow: 0 8px 30px -6px rgb(0 0 0 / 35%);
		filter: brightness(1.03);
	}

	.hover--shine:hover::after {
		background-position: -50% 0;
		opacity: 1;
	}

	.hover--border:hover {
		box-shadow: 0 0 0 var(--u-hover-border-width, 2px) var(--u-hover-border-color, currentcolor);
	}

	.hover--border-glow:hover {
		box-shadow:
			0 0 0 var(--u-hover-border-width, 2px) var(--u-hover-border-color, currentcolor),
			0 0 calc(var(--u-hover-border-width, 2px) * 6) var(--u-hover-border-color, currentcolor);
		animation: user-hover-border-glow 1.8s ease-in-out infinite;
	}
}

@keyframes user-loop-float {
	0%, 100% { translate: 0 0; }
	50% { translate: 0 -8px; }
}

@keyframes user-loop-pulse {
	0%, 100% { scale: 1; }
	50% { scale: 1.04; }
}

@keyframes user-loop-wobble {
	0%, 100% { rotate: 0deg; }
	25% { rotate: -3deg; }
	75% { rotate: 3deg; }
}

.loop--float { animation: user-loop-float 3.4s ease-in-out infinite; }
.loop--pulse { animation: user-loop-pulse 2.6s ease-in-out infinite; }
.loop--wobble { animation: user-loop-wobble 3s ease-in-out infinite; }

@keyframes user-text-shimmer {
	from { background-position: 0 0; }
	to { background-position: 100% 0; }
}

.text-shimmer .text-box :is(h1, h2, h3, h4, h5, h6, p, a, li, blockquote, span, strong, em, b, i, u, mark, small, code) {
	background-image: linear-gradient(
		100deg,
		currentcolor 42%,
		var(--u-text-shimmer-highlight, rgb(255 255 255 / 85%)) 50%,
		currentcolor 58%
	);
	background-repeat: no-repeat;
	background-size: 250% 100%;
	background-position: 0 0;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	animation: user-text-shimmer 2.6s ease-in-out 0.35s 1 both;
}

.text-shimmer--loop .text-box :is(h1, h2, h3, h4, h5, h6, p, a, li, blockquote, span, strong, em, b, i, u, mark, small, code) {
	animation: user-text-shimmer 3s linear 0.35s infinite both;
}

@media (prefers-reduced-motion: reduce) {
	.loop--float,
	.loop--pulse,
	.loop--wobble,
	.hover--border-glow:hover {
		animation: none;
	}

	.text-shimmer .text-box :is(h1, h2, h3, h4, h5, h6, p, a, li, blockquote, span, strong, em, b, i, u, mark, small, code) {
		animation: none;
		background-image: none;
		-webkit-text-fill-color: currentcolor;
	}

	.hover--lift,
	.hover--grow,
	.hover--glow,
	.hover--border {
		transition: none;
	}

	.hover--lift:hover,
	.hover--grow:hover,
	.hover--glow:hover {
		translate: none;
		scale: none;
		box-shadow: none;
		filter: none;
	}

	.hover--shine::after {
		transition: none;
	}

	.hover--shine:hover::after {
		background-position: 150% 0;
		opacity: 0;
	}
}

@media screen and (max-width: 920px) {
	.hover--border,
	.hover--glow {
		border-radius: var(--u-hover-border-radius-m, var(--u-hover-border-radius, 0));
	}

	.hover--shine::after {
		border-radius: var(--u-hover-border-radius-m, var(--u-hover-border-radius, inherit));
	}
}


:root {
	--color-success-dark: #008361;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	padding: 0;
	margin: 0;
	color: inherit;
}

html,
body,
#root,
#app {
	min-height: 100%;
}

body {
	font-family: var(--body-font-family, system-ui, sans-serif);
	font-size: var(--body-font-size, 16px);
	font-style: var(--body-font-style, normal);
	font-weight: var(--body-font-weight, 400);
	line-height: var(--body-line-height, 1.5);
	color: var(--body-color, #1d1e20);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.page {
	font-family: var(--body-font-family, inherit);
}

button {
	font-family: var(--button-font-family, var(--grid-button-primary-font-family, var(--body-font-family, inherit)));
	font-size: var(--button-font-size, var(--grid-button-primary-font-size, inherit));
	font-weight: var(--button-font-weight, var(--grid-button-primary-font-weight, inherit));
	color: var(--button-color, inherit);
	background: transparent;
	border: none;
	outline: none;
	box-shadow: none;
	cursor: pointer;
}

label[for] {
	cursor: pointer;
}

iframe {
	border-width: 0;
}

img {
	max-width: 100%;
	height: auto;
}

.layout-element img {
	max-width: none;
}

a {
	color: inherit;
}

.page h1 {
	font-family: var(--h1-font-family);
	font-size: var(--h1-font-size);
	font-style: var(--h1-font-style);
	font-weight: var(--h1-font-weight);
	line-height: var(--h1-line-height);
	color: var(--h1-color, inherit);
	text-decoration: var(--h1-text-decoration);
	text-transform: var(--h1-text-transform);
	letter-spacing: var(--h1-letter-spacing);
}

.page h2 {
	font-family: var(--h2-font-family);
	font-size: var(--h2-font-size);
	font-style: var(--h2-font-style);
	font-weight: var(--h2-font-weight);
	line-height: var(--h2-line-height);
	color: var(--h2-color, inherit);
	text-decoration: var(--h2-text-decoration);
	text-transform: var(--h2-text-transform);
	letter-spacing: var(--h2-letter-spacing);
}

.page h3 {
	font-family: var(--h3-font-family);
	font-size: var(--h3-font-size);
	font-style: var(--h3-font-style);
	font-weight: var(--h3-font-weight);
	line-height: var(--h3-line-height);
	color: var(--h3-color, inherit);
	text-decoration: var(--h3-text-decoration);
	text-transform: var(--h3-text-transform);
	letter-spacing: var(--h3-letter-spacing);
}

.page h4 {
	font-family: var(--h4-font-family);
	font-size: var(--h4-font-size);
	font-style: var(--h4-font-style);
	font-weight: var(--h4-font-weight);
	line-height: var(--h4-line-height);
	color: var(--h4-color, inherit);
	text-decoration: var(--h4-text-decoration);
	text-transform: var(--h4-text-transform);
	letter-spacing: var(--h4-letter-spacing);
}

.page h5 {
	font-family: var(--h5-font-family);
	font-size: var(--h5-font-size);
	font-style: var(--h5-font-style);
	font-weight: var(--h5-font-weight);
	line-height: var(--h5-line-height);
	color: var(--h5-color, inherit);
	text-decoration: var(--h5-text-decoration);
	text-transform: var(--h5-text-transform);
	letter-spacing: var(--h5-letter-spacing);
}

.page h6 {
	font-family: var(--h6-font-family);
	font-size: var(--h6-font-size);
	font-style: var(--h6-font-style);
	font-weight: var(--h6-font-weight);
	line-height: var(--h6-line-height);
	color: var(--h6-color, inherit);
	text-decoration: var(--h6-text-decoration);
	text-transform: var(--h6-text-transform);
	letter-spacing: var(--h6-letter-spacing);
}

@media screen and (max-width: 920px) {
	body {
		font-family: var(--body-m-font-family, var(--body-font-family, system-ui, sans-serif));
		font-size: var(--body-m-font-size, var(--body-font-size, 16px));
		font-weight: var(--body-m-font-weight, var(--body-font-weight, 400));
		line-height: var(--body-m-line-height, var(--body-line-height, 1.5));
		color: var(--body-m-color, var(--body-color, #1d1e20));
	}

	.page h1 {
		font-family: var(--h1-m-font-family, var(--h1-font-family));
		font-size: var(--h1-m-font-size, var(--h1-font-size));
		font-weight: var(--h1-m-font-weight, var(--h1-font-weight));
		line-height: var(--h1-m-line-height, var(--h1-line-height));
		color: var(--h1-m-color, var(--h1-color, inherit));
	}

	.page h2 {
		font-family: var(--h2-m-font-family, var(--h2-font-family));
		font-size: var(--h2-m-font-size, var(--h2-font-size));
		font-weight: var(--h2-m-font-weight, var(--h2-font-weight));
		line-height: var(--h2-m-line-height, var(--h2-line-height));
		color: var(--h2-m-color, var(--h2-color, inherit));
	}

	.page h3 {
		font-family: var(--h3-m-font-family, var(--h3-font-family));
		font-size: var(--h3-m-font-size, var(--h3-font-size));
		font-weight: var(--h3-m-font-weight, var(--h3-font-weight));
		line-height: var(--h3-m-line-height, var(--h3-line-height));
		color: var(--h3-m-color, var(--h3-color, inherit));
	}

	.page h4 {
		font-family: var(--h4-m-font-family, var(--h4-font-family));
		font-size: var(--h4-m-font-size, var(--h4-font-size));
		font-weight: var(--h4-m-font-weight, var(--h4-font-weight));
		line-height: var(--h4-m-line-height, var(--h4-line-height));
		color: var(--h4-m-color, var(--h4-color, inherit));
	}

	.page h5 {
		font-family: var(--h5-m-font-family, var(--h5-font-family));
		font-size: var(--h5-m-font-size, var(--h5-font-size));
		font-weight: var(--h5-m-font-weight, var(--h5-font-weight));
		line-height: var(--h5-m-line-height, var(--h5-line-height));
		color: var(--h5-m-color, var(--h5-color, inherit));
	}

	.page h6 {
		font-family: var(--h6-m-font-family, var(--h6-font-family));
		font-size: var(--h6-m-font-size, var(--h6-font-size));
		font-weight: var(--h6-m-font-weight, var(--h6-font-weight));
		line-height: var(--h6-m-line-height, var(--h6-line-height));
		color: var(--h6-m-color, var(--h6-color, inherit));
	}
}

.grid-image {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: var(--grid-image-overflow, hidden);
	border-radius: var(--grid-image-border-radius, 0);
	-webkit-mask-image: var(--grid-image-mask, none);
	-webkit-mask-size: cover;
	mask-image: var(--grid-image-mask, none);
	mask-size: 100% 100%;
	mask-repeat: no-repeat;
}

.grid-image__image {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: var(--grid-image-object-fit, cover);
	object-position: center;
}

@media screen and (max-width: 920px) {
	.grid-image {
		border-radius: var(--grid-image-border-radius-m, var(--grid-image-border-radius, 0));
	}
}
