/* ################################################## */
/* Misc */
/* ################################################## */

@font-face {
	font-family: "Geist - Local";
	src: url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/geist-v4-latin_latin-ext-regular.woff2")
		format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Geist - Local";
	src: url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/geist-v4-latin_latin-ext-500.woff2")
		format("woff2");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Geist - Local";
	src: url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/geist-v4-latin_latin-ext-600.woff2")
		format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

body {
	font-family: "Geist - Local", sans-serif;
	background-color: var(--color-white-600);
	color: var(--color-gray-500);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.5;
	font-size: var(--fz-sm);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background-color: var(--color-primary-400);
	color: var(--color-black-500);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--color-black-500);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.25;
	text-wrap: balance;
}

h1 {
	font-size: var(--fz-4xl);
	/* text-wrap: pretty; */
}

h2 {
	font-size: var(--fz-2xl);
}

h3 {
	font-size: var(--fz-xl);
}

p {
	font-size: var(--fz-sm);
	text-wrap: pretty;
}

a {
	text-decoration: none;
}

/* ################################################## */
/* Helpers */
/* ################################################## */

.color-primary {
	color: var(--color-primary-500);
}

.text-bold {
	color: var(--color-black-500);
	font-weight: 500;
}

/* ################################################## */
/* Grid container (wrapper) */
/* ################################################## */

.grid-container {
	display: grid;
	grid-template-columns:
		[full-start] 1fr [wrapper-start] minmax(0, 80rem)
		[wrapper-end] 1fr [full-end];
	grid-column-gap: var(--spacing-md);
	/* overflow: hidden; */
	contain: paint;
}

.grid-container > * {
	grid-column: wrapper;
	/* border-left: 1px solid var(--color-gray); */
	/* border-right: 1px solid var(--color-gray); */
	/* border: none; */
}

.grid-container--fill {
	grid-column: full;
}

/* ################################################## */
/* Custom link */
/* ################################################## */

.custom-link {
	color: var(--color-black-500);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--color-primary-500);
	transition:
		color 0.3s,
		text-decoration-color 0.3s;
}

.custom-link:hover {
	color: var(--color-primary-400);
	text-decoration-color: var(--color-primary-400);
}

/* ################################################## */
/* Custom button */
/* ################################################## */

.btn {
	padding: 0.75rem 1.5rem;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-primary-500);
	border-radius: var(--border-radius-button);
	color: var(--color-black-500);
	user-select: none;
	transition:
		background-color 0.3s,
		border-color 0.3s;
}

.btn:has(svg) {
	padding-right: 1.125rem;
	gap: 0.5625rem;
}

.btn:hover {
	cursor: pointer;
	background-color: var(--color-primary-400);
}

.btn span {
	font-size: var(--fz-sm);
	font-weight: 500;
	transition: color 0.3s;
}

.btn svg {
	transition: color 0.3s;
}

.btn .oxy-svg-icon svg,
.btn svg {
	width: 1.25rem !important;
	height: 1.25rem !important;
	/* stroke-width: 4 !important; */
}

/* Disabled */

.btn--disabled {
	pointer-events: none;
	opacity: 0.5;
}

/* ######################### */
/* Variants */
/* ######################### */

.btn--variant-secondary {
	background-color: var(--color-white-500);
	border: 1px solid var(--color-primary-500);
}

.btn--variant-secondary:hover {
	/* background-color: var(--color-primary-500); */
	border-color: var(--color-primary-400);
}

.btn--variant-secondary span,
.btn--variant-secondary svg {
	color: var(--color-primary-500);
}

.btn--variant-secondary:hover span,
.btn--variant-secondary:hover svg {
	color: var(--color-black-500);
}

/* ######################### */
/* Sizes */
/* ######################### */

/* Large */

.btn--size-lg {
	padding: 1rem 2.25rem;
}

.btn--size-lg:has(svg) {
	padding-right: 1.6875rem;
	gap: 0.75rem;
}

.btn--size-lg span {
	font-size: var(--fz-md);
}

.btn--size-lg .oxy-svg-icon svg,
.btn--size-lg svg {
	width: 1.5rem !important;
	height: 1.5rem !important;
	/* stroke-width: 4 !important; */
}

/* Small */

.btn--size-sm {
	padding: 0.5rem 1rem;
}

.btn--size-sm:has(svg) {
	padding-right: 0.75rem;
	gap: 0.375rem;
}

.btn--size-sm span {
	font-size: var(--fz-xs);
}

.btn--size-sm .oxy-svg-icon svg,
.btn--size-sm svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	/* stroke-width: 4 !important; */
}

/* ######################### */
/* Ghost button */
/* ######################### */

.ghost-btn {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.ghost-btn-text {
	color: var(--color-black-500);
	font-size: var(--fz-md);
	font-weight: 500;
	transition: color 0.3s;
}

.ghost-btn:hover .ghost-btn-text {
	color: var(--color-primary-400);
}

.ghost-btn-icon {
	color: var(--color-primary-500);
	transition:
		transform 0.3s,
		color 0.3s;
}

.ghost-btn:hover .ghost-btn-icon {
	transform: translateX(4px);
	color: var(--color-primary-400);
}

.oxy-svg-icon.ghost-btn-icon svg {
	width: 1.25rem !important;
	height: 1.25rem !important;
	/* stroke-width: 4 !important; */
}

/* ######################### */
/* Eyebrow text */
/* ######################### */

.eyebrow {
	margin-bottom: var(--spacing-md);
	display: flex;
	/* align-items: center; */
	gap: var(--spacing-2xs);
}

.eyebrow__separator {
	margin-top: calc(var(--fz-eyebrow-text) / 2);
	width: 1.5rem;
	height: 0.125rem;
	background-color: var(--color-primary-500);
	border-radius: 9999px;
}

.eyebrow__text {
	/* color: red; */
	font-weight: 500;
	line-height: normal;
	text-transform: uppercase;
	font-size: var(--fz-eyebrow-text);
}

/* ################################################## */
/* Heading container */
/* ################################################## */

/* ######################### */
/* Default */
/* ######################### */

.heading-container {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.heading-container__heading {
	margin-bottom: var(--spacing-2xl);
	width: 60%;
	font-size: var(--fz-2xl);
	text-align: center;
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.heading-container__heading {
		width: 75%;
	}
}

@media (max-width: 1023px) {
	.heading-container__heading {
		width: 85%;
	}
}

@media (max-width: 767px) {
	.heading-container {
		align-items: start;
	}

	.heading-container .eyebrow__separator:last-child {
		display: none;
	}

	.heading-container__heading {
		width: 100%;
		text-align: left;
	}
}

/* @media (max-width: 479px) {} */

/* ######################### */
/* Secondary */
/* ######################### */

.heading-container--secondary {
	margin-bottom: var(--spacing-2xl);
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	align-items: end;
}

.heading-container--secondary__first-container {
	grid-column: 1 / 7;
}

.heading-container--secondary__ghost-btn {
	grid-column: 9 / 13;
	justify-self: end;
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.heading-container--secondary__ghost-btn-text {
	color: var(--color-black-500);
	font-size: var(--fz-md);
	font-weight: 500;
	transition: color 0.3s;
}

.heading-container--secondary__ghost-btn:hover
	.heading-container--secondary__ghost-btn-text {
	color: var(--color-primary-400);
}

.heading-container--secondary__ghost-btn-icon {
	color: var(--color-primary-500);
	transition:
		transform 0.3s,
		color 0.3s;
}

.heading-container--secondary__ghost-btn:hover
	.heading-container--secondary__ghost-btn-icon {
	transform: translateX(4px);
	color: var(--color-primary-400);
}

.heading-container--secondary
	.heading-container--secondary__ghost-btn-icon
	svg {
	width: 1.25rem !important;
	height: 1.25rem !important;
	/* stroke-width: 4 !important; */
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

@media (max-width: 1023px) {
	.heading-container--secondary {
		display: flex;
		flex-direction: column;
		align-items: start;
		gap: var(--spacing-md);
	}

	/* .heading-container--secondary__ghost-btn {
		display: none;
	} */
}

/* @media (max-width: 767px) {} */

/* @media (max-width: 479px) {} */

/* ######################### */
/* Breadcrumbs */
/* ######################### */

.breadcrumbs {
	display: flex;
	align-items: center;
	gap: var(--spacing-3xs);
	flex-wrap: wrap;
}

.breadcrumbs__item {
	color: var(--color-gray-500);
}

.breadcrumbs__item:hover {
	text-decoration: underline;
}

.breadcrumbs svg {
	width: 1rem !important;
	height: 1rem !important;
}

.breadcrumbs__current-item {
	color: var(--color-primary-500);
}

/* ######################### */
/* Nav */
/* ######################### */

.nav {
	z-index: 3000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: var(--color-white-500);
	border-bottom: 1px solid var(--color-gray-400);
}

.nav__top-container {
	background-color: var(--color-primary-500);
	contain: unset;
}

.nav__top-container-inner {
	padding: var(--spacing-3xs) 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nav__top-container-box-wrapper {
	display: flex;
	align-items: center;
	gap: var(--spacing-md);
}

.nav__top-container-box {
	display: flex;
	align-items: center;
	gap: var(--spacing-3xs);
}

.nav__top-container-box .oxy-svg-icon svg {
	width: 1rem !important;
	height: 1rem !important;
	color: var(--color-black-500);
}

.nav__top-container-box a {
	color: var(--color-black-500);
	font-size: var(--fz-sm);
	/* font-weight: 500; */
}

.nav__top-container-box a:hover {
	text-decoration: underline;
}

.lang-switch {
	position: relative;
	display: inline-block;
	font-family: inherit;
}

.lang-switch__toggle {
	display: flex;
	align-items: center;
	gap: 0.5625rem;
	background-color: var(--color-black-500);
	color: var(--color-white-500);
	border: none;
	padding: 0.25rem 0.5625rem 0.25rem 0.75rem;
	border-radius: var(--border-radius-button);
	cursor: pointer;
	transition: color 0.3s;
}

.lang-switch__toggle:hover {
	color: var(--color-primary-500);
}

.lang-switch__code {
	font-size: var(--fz-xs);
	font-weight: 500;
	line-height: 1;
}

.lang-switch__flag {
	width: 1.25rem;
	height: auto;
	border: 1px solid var(--color-gray-400);
	border-radius: var(--border-radius-xs);
	display: block;
	transition: border-color 0.3s;
}

.lang-switch__toggle:hover .lang-switch__flag {
	border-color: var(--color-primary-500);
}

.lang-switch__chevron {
	display: flex;
	align-items: center;
	transition: transform 0.3s;
}

.lang-switch__chevron svg {
	width: 1.125rem;
	height: 1.125rem;
}

.lang-switch.--open .lang-switch__chevron {
	transform: rotate(180deg);
}

.lang-switch__dropdown {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	width: 100%;
	background-color: var(--color-black-500);
	border-radius: var(--border-radius-sm);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition:
		opacity 0.3s,
		transform 0.3s;
	z-index: 100;
}

.lang-switch.--open .lang-switch__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.lang-switch__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lang-switch__link {
	display: flex;
	align-items: center;
	justify-content: center;
	/* gap: 0.5rem; */
	/* padding: 0.25rem 0.5rem; */
	gap: 0.5625rem;
	padding: 0.75rem;
	color: var(--color-white-500);
	text-decoration: none;
	transition: color 0.3s;
}

.lang-switch__link:hover {
	color: var(--color-primary-500);
}

.lang-switch__link:hover .lang-switch__flag {
	border-color: var(--color-primary-500);
}

.nav__middle-container {
	contain: unset;
}

.nav__middle-container-inner {
	padding: var(--spacing-2xs) 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.nav__middle-container-inner > a {
	display: inline-flex;
	align-items: center;
}

.nav__logo {
	height: 3rem;
}

.nav-search {
	position: relative;
	width: 32rem;
	/* max-width: 400px; */
}

.nav-search--mobile {
	display: none;
	width: 100%;
}

.nav-search--mobile .nav-search {
	width: 100%;
}

.nav-search__field {
	position: relative;
	display: flex;
	align-items: center;
}

.nav-search__input {
	width: 100%;
	padding: 0.75rem 1.5rem 0.75rem 1.5rem;
	background-color: var(--color-white-500);
	border: 1px solid var(--color-gray-400);
	border-radius: 999px;
	font-size: var(--fz-xs);
	transition: border-color 0.3s;
}

.nav-search__input::placeholder {
	color: var(--color-gray-500);
}

.nav-search__input:focus {
	outline: none;
	border-color: var(--color-primary-500);
}

.nav-search__icon {
	position: absolute;
	right: 0.75rem;
	color: var(--color-gray-500);
	display: flex;
	pointer-events: none;
}

.nav-search__icon svg {
	width: 1.25rem;
	height: 1.25rem;
}

.nav-search__results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: 100%;
	background: var(--color-white-500);
	border-radius: var(--border-radius-sm);
	border: 1px solid var(--color-gray-400);
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition:
		opacity 0.3s,
		transform 0.3s;
	overflow: hidden;
}

.nav-search__results.--active {
	opacity: 1;
	transform: translateY(0);
	visibility: visible;
}

.nav-search__result-item {
	display: flex;
	align-items: center;
	gap: var(--spacing-3xs);
	padding: var(--spacing-3xs);
	text-decoration: none;
	color: var(--color-gray-500);
	transition: background-color 0.3s;
}

.nav-search__result-item:not(:last-child) {
	border-bottom: 1px solid var(--color-gray-400);
}

.nav-search__result-item:hover {
	background-color: var(--color-white-600);
}

.nav-search__result-img {
	width: 2rem;
	height: 2rem;
	object-fit: cover;
	/* border-radius: var(-); */
	/* background: #; */
}

.nav-search__result-title {
	font-size: var(--fz-xs);
	font-weight: 500;
}

.nav__selected-products {
	/* padding: 0.5rem 1rem; */
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
	background-color: transparent;
	/* border-radius: var(--border-radius-button); */
	/* border: 1px solid transparent; */
	/* transition: background-color 0.3s, border-color 0.3s; */
}

.nav__selected-products:hover {
	/* background-color: var(--color-white-600); */
	/* border-color: var(--color-primary-400); */
	cursor: pointer;
}

.nav__selected-products-icon {
	position: relative;
}

.nav__selected-products-icon .oxy-svg-icon svg {
	width: 1.75rem !important;
	height: 1.75rem !important;
	color: var(--color-gray-500);
	stroke-width: 1.5 !important;
	transition: color 0.3s;
}

.nav__selected-products:hover .nav__selected-products-icon .oxy-svg-icon svg {
	color: var(--color-primary-500);
}

.nav__selected-products-icon-qty-box {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(37.5%, -37.5%);
	width: 1.25rem;
	height: 1.25rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-primary-500);
	border-radius: 9999px;
}

.nav__selected-products-icon-qty {
	color: var(--color-white-500);
	font-size: 0.875rem;
	font-weight: 500;
}

.nav__selected-products > span {
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
	font-weight: 500;
	transition: color 0.3s;
}

.nav__selected-products:hover > span {
	color: var(--color-primary-500);
}

.nav__selected-products-menu {
	/* display: none; */
	position: fixed;
	z-index: 3001;
	top: 0;
	right: 0;
	width: 90vw;
	max-width: 40rem;
	height: 100dvh;
	display: grid;
	grid-template-rows: auto 1fr auto;
	/* gap: var(--spacing-md); */
	/* padding: var(--spacing-md); */
	background-color: var(--color-white-500);
	border-left: 1px solid var(--color-gray-400);
	transform: translateX(100%);
	transition: transform 0.3s;
}

.nav__menu-active-bg {
	z-index: 3000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transform: opacity 0.3s;
	pointer-events: none;
}

.nav__menu-active-bg--active {
	opacity: 1;
	pointer-events: auto;
}

.nav__selected-products-menu--active {
	transform: translateX(0);
	/* box-shadow: 0px 0px 0px 100vw rgba(0, 0, 0, 0.5); */
}

.nav__selected-products-menu-heading {
	padding: var(--spacing-md);
	font-size: var(--fz-xl);
}

.nav__selected-products-menu > .oxy-shortcode {
	min-height: 0;
	overflow-y: auto;
}

.nav__selected-products-menu .inquiry-list-menu {
	padding: var(--spacing-md);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xs);
}

.nav__selected-products-menu-btn-container {
	/* display: flex; */
	/* justify-content: stretch; */
	/* align-items: center; */
	padding: var(--spacing-md);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--spacing-xs);
	border-top: 1px solid var(--color-gray-400);
	box-shadow:
		0px 0px 1px rgba(18, 18, 18, 0.02),
		0px 0px 4px rgba(18, 18, 18, 0.03),
		0px 0px 9px rgba(18, 18, 18, 0.05),
		0px 0px 15px rgba(18, 18, 18, 0.06),
		0px 0px 24px rgba(18, 18, 18, 0.08);
	z-index: 1;
}

.nav__selected-products-menu-btn-container .btn:first-of-type {
	width: 100%;
}

.nav__bottom-container {
	contain: unset;
}

.nav__bottom-container-inner {
	padding: var(--spacing-xs) 0;
	display: flex;
	align-items: center;
	justify-content: center;
	/* gap: var(--spacing-lg); */
}

.nav__bottom-container-link {
	padding: 0 var(--spacing-sm);
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
	font-weight: 500;
	transition: color 0.3s;
}

.nav__bottom-container-link:hover {
	color: var(--color-primary-500);
}

/* isufajbnsfnsdfonsfdiohnfdsoindsfofsdnodsfnoidsfbnoidfsbiosfdbsfdoibfdsiobfdsoibsfdoifbsd */

.nav__burger-menu-icon {
	padding: var(--spacing-3xs);
	width: 2.5rem;
	height: 3rem;
	/* display: flex; */
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: var(--spacing-3xs);
	cursor: pointer;
}

.nav__burger-menu-icon-line {
	width: 100%;
	height: 3px;
	background-color: var(--color-primary-500);
	border-radius: 9999px;
	will-change: transform, opacity;
	transition:
		transform 0.3s,
		opacity 0.3s;
	transform-origin: center center;
}

.nav__burger-menu-icon--active .nav__burger-menu-icon-line:nth-of-type(1) {
	transform: translateY(calc(3px + var(--spacing-3xs))) rotate(45deg);
}

.nav__burger-menu-icon--active .nav__burger-menu-icon-line:nth-of-type(2) {
	opacity: 0;
	transform: translateX(10px);
}

.nav__burger-menu-icon--active .nav__burger-menu-icon-line:nth-of-type(3) {
	transform: translateY(calc(-3px - var(--spacing-3xs))) rotate(-45deg);
}

.nav__burger-menu-container {
	position: fixed;
	top: 0;
	left: 0;
	width: fit-content;
	max-width: 90vw;
	height: 100dvh;
	display: grid;
	grid-template-rows: 1fr auto;
	background-color: var(--color-white-500);
	border-right: 1px solid var(--color-gray-400);
	transform: translateX(-100%);
	transition: transform 0.3s;
	z-index: 3002;
}

.nav__burger-menu-container--active {
	transform: translateX(0);
}

.nav__burger-menu-container-top-wrapper {
	padding: var(--spacing-md);
	/* padding: calc(env(safe-area-inset-top) + 32px) var(--spacing-md)
		var(--spacing-md) var(--spacing-md); */
	background-color: var(--color-white-500);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	overflow-y: auto;
}

.nav__burger-menu-container-top-wrapper .nav__bottom-container-link {
	padding: 0;
	font-size: var(--fz-md);
}

.nav__burger-menu-container-bottom-wrapper {
	padding: var(--spacing-md);
	/* padding: var(--spacing-md) var(--spacing-md)
		calc(env(safe-area-inset-top) + 32px) var(--spacing-md); */
	background-color: var(--color-primary-500);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
}

.nav__burger-menu-container-bottom-wrapper .nav__top-container-box {
	gap: var(--spacing-xs);
}

.nav__burger-menu-container-bottom-wrapper
	.nav__top-container-box
	.oxy-svg-icon
	svg {
	width: 1.25rem !important;
	height: 1.25rem !important;
}

.nav__burger-menu-container-bottom-wrapper .nav__top-container-box a {
	font-size: var(--fz-sm);
	font-weight: 500;
	word-break: break-word;
}

/* @media (max-width: 1279px) {
	.nav {
		background-color: var(--color-white-500);
		border-color: var(--color-gray-300);
	}
} */

@media (max-width: 1119px) {
	.nav__top-container {
		display: none;
	}

	.nav__burger-menu-icon {
		display: flex;
	}

	.nav__middle-container .nav-search {
		display: none;
	}

	.nav__middle-container-inner {
		padding: var(--spacing-sm) 0;
	}

	.nav-search--mobile {
		display: block;
	}

	.nav__bottom-container .nav__bottom-container-link {
		display: none;
	}

	.nav__bottom-container-inner {
		padding: 0 0 var(--spacing-2xs) 0;
		gap: var(--spacing-sm);
	}

	.lang-switch__dropdown {
		top: auto;
		bottom: calc(100% + 0.5rem);
	}

	.lang-switch__chevron {
		transform: rotate(180deg);
	}

	.lang-switch.--open .lang-switch__chevron {
		transform: rotate(0);
	}
}

/* @media (max-width: 1023px) {} */

@media (max-width: 767px) {
	.nav__logo {
		height: 2rem;
	}

	.nav__selected-products-menu-btn-container {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-xs);
	}
}

@media (max-width: 479px) {
	.nav__selected-products > span {
		display: none;
	}
}

/* ######################### */
/* Hero section */
/* ######################### */

.hero {
	position: relative;
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	background-image:
		linear-gradient(
			to left,
			rgba(250, 250, 250, 0) 40%,
			rgba(250, 250, 250, 1) 60%
		),
		linear-gradient(
			to bottom,
			rgba(250, 250, 250, 0) 85%,
			rgba(250, 250, 250, 1) 100%
		),
		url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/hero3.png");
	background-position:
		center,
		center,
		right center;
	background-size: cover, cover, 100%;
	background-repeat: no-repeat, no-repeat, no-repeat;
	/* background-position: -30% 0; */
}

/* .hero__inner {} */

.hero__main-container {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

.hero__text-container {
	grid-column: 1 / 7;
}

.hero__heading {
	margin-bottom: var(--spacing-lg);
}

.hero__bullet-point-container {
	margin-bottom: var(--spacing-xl);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xs);
	width: 75%;
}

.hero__bullet-point {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.hero__bullet-point-icon {
	background-color: var(--color-primary-500);
	width: 1.5rem;
	height: 1.5rem;
	border-radius: var(--border-radius-sm);
	flex-shrink: 0;
}

.hero .hero__bullet-point-icon svg {
	width: 0.875rem !important;
	height: 0.875rem !important;
	stroke-width: 4 !important;
}

.hero__bullet-point-text {
	font-weight: 500;
}

.hero__btn-container {
	margin-bottom: var(--spacing-xl);
	display: flex;
	gap: var(--spacing-sm);
	flex-wrap: wrap;
}

.hero__partners {
	display: flex;
	align-items: center;
	width: 100%;
	overflow: hidden;
}

.hero__partners-text {
	margin-right: var(--spacing-md);
	font-size: var(--fz-md);
	font-weight: 500;
	flex-shrink: 0;
}

.hero__partners-swiper {
	width: 100%;
	overflow: hidden;
	mask-image: linear-gradient(
		to right,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 1) 5%,
		rgba(0, 0, 0, 1) 95%,
		rgba(0, 0, 0, 0) 100%
	);
}

.hero__partners-swiper .swiper-wrapper {
	transition-timing-function: linear;
}

.hero__partners-swiper .swiper-slide {
	width: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 var(--spacing-sm);
}

.hero__partners-swiper .swiper-slide img {
	height: 2rem;
	width: auto;
	object-fit: contain;
	filter: grayscale(100%);
	opacity: 0.5;
	transition:
		filter 0.3s,
		opacity 0.3s;
}

.hero__partners-swiper .swiper-slide:hover img {
	filter: none;
	opacity: 1;
}

@media (max-width: 1279px) {
	.hero {
		background-image: none;
	}

	.hero__main-container {
		display: block;
	}

	.hero__bullet-point-container {
		width: 100%;
	}
}

/* @media (max-width: 1119px) {} */

/* @media (max-width: 1023px) {} */

/* @media (max-width: 767px) {} */

@media (max-width: 479px) {
	.hero__partners {
		flex-direction: column;
		align-items: start;
		gap: var(--spacing-md);
	}

	.hero__partners-text {
		margin-right: 0;
	}
}

/* ######################### */
/* Categories section */
/* ######################### */

.categories {
	padding: var(--spacing-section-md) 0 0 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--spacing-md);
}

.categories--catalog {
	padding: 0;
}

.categories__box {
	height: 20rem;
	padding: var(--spacing-md);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: var(--border-radius-md);
	position: relative;
	overflow: hidden;
	z-index: 1;
}

.categories__box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 1) 0%,
			rgba(0, 0, 0, 0) 50%,
			rgba(0, 0, 0, 1) 100%
		),
		url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/accessories.jpg");
	background-position:
		center,
		center top;
	background-size: cover;
	transition: transform 0.3s;
}

.categories__box:nth-child(1)::before {
	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 1) 0%,
			rgba(0, 0, 0, 0) 50%,
			rgba(0, 0, 0, 0.5) 100%
		),
		url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/pulsed-lasers.png");
}

.categories__box:nth-child(2)::before {
	background-image:
		linear-gradient(
			to bottom,
			rgba(0, 0, 0, 1) 0%,
			rgba(0, 0, 0, 0) 50%,
			rgba(0, 0, 0, 0.5) 100%
		),
		url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/continuous-wave-lasers.png");
}

.categories__box:hover::before {
	transform: scale(1.1);
}

.categories__box-heading {
	color: var(--color-white-500);
	font-size: var(--fz-lg);
}

.categories__box .btn {
	align-self: end;
}

.categories__box:hover .btn {
	background-color: var(--color-primary-400);
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

@media (max-width: 1023px) {
	.categories {
		grid-template-columns: repeat(2, 1fr);
		/* display: flex; */
		/* flex-wrap: wrap; */
	}

	.categories--catalog {
		order: 5;
	}

	.categories__box {
		/* grid-column: span 6; */
		/* width: 100%; */
		height: 18rem;
	}
}

@media (max-width: 767px) {
	.categories {
		grid-template-columns: 1fr;
	}

	.categories__box {
		height: 16rem;
	}
}

@media (max-width: 479px) {
	.categories__box {
		height: 14rem;
	}
}

/* ######################### */
/* Featured products section */
/* ######################### */

.featured {
	padding: var(--spacing-section-md) 0;
}

.featured > div:last-child,
.featured .featured-proposed-list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing-md);
}

.featured .featured-proposed-list {
	grid-column: 1 / -1;
}

.featured .featured-proposed-list .product-card {
	grid-row: span 6;
}

.featured .product-card .product-card__btn-container {
	grid-row: 6 / 7;
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.featured > div:last-child,
	.featured .featured-proposed-list {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* @media (max-width: 1023px) {} */

@media (max-width: 767px) {
	.featured > div:last-child,
	.featured .featured-proposed-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 479px) {
	.featured > div:last-child,
	.featured .featured-proposed-list {
		grid-template-columns: 1fr;
	}

	.featured > div:last-child .product-card:nth-child(n + 3),
	.featured .featured-proposed-list .product-card:nth-child(n + 3) {
		display: none !important;
	}
}

/* ######################### */
/* Product card */
/* ######################### */

.product-card {
	padding: var(--spacing-sm);
	/* background-color: var(--color-white-500); */
	/* border: 1px solid var(--color-gray-400); */
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(
				45deg,
				rgba(25, 161, 13, 1) 0%,
				rgba(25, 161, 13, 0) 50%,
				rgba(25, 161, 13, 1) 100%
			)
			border-box,
		linear-gradient(#dadada, #dadada) border-box;
	border: 1px solid var(--color-gray-400);
	border-radius: var(--border-radius-md);
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 5;
	gap: 0;
	transition:
		transform 0.3s,
		border-color 0.3s;
}

.product-card:has(.product-card__parameters) {
	grid-row: span 6;
}

.product-card:hover {
	transform: translateY(-4px);
	border-color: transparent;
}

.product-card__img-container {
	margin-bottom: var(--spacing-sm);
	position: relative;
	display: block;
	width: 100%;
	height: 12.25rem;
	overflow: hidden;
	background-color: var(--color-white-500);
}

.product-card__img-container::before {
	pointer-events: none;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image:
		linear-gradient(
			to right,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0) 5%,
			rgba(255, 255, 255, 0) 95%,
			rgba(255, 255, 255, 1) 100%
		),
		linear-gradient(
			to bottom,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0) 5%,
			rgba(255, 255, 255, 0) 95%,
			rgba(255, 255, 255, 1) 100%
		);
	z-index: 1;
}

.product-card__img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/* width: 100%; */
	height: 100%;
	transition: transform 0.3s;
	will-change: transform;
}

.product-card__img:hover {
	transform: translate(-50%, -50%) scale(1.05);
}

/* .product-card__text-container <--- NOT USING {} */

.product-card__category {
	margin-bottom: var(--spacing-4xs);
	width: fit-content;
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
	transition: color 0.3s;
}

.product-card__category:hover {
	color: var(--color-primary-400);
}

.product-card__title {
	margin-bottom: var(--spacing-2xs);
	color: var(--color-black-500);
	font-size: var(--fz-md);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.25;
	text-wrap: balance;
}

.product-card__title:hover {
	text-decoration: underline;
}

.product-card__price {
	margin-bottom: var(--spacing-sm);
	color: var(--color-gray-500);
	font-weight: 500;
}

.price-excl-vat {
	/* color: var(--color-gray-500); */
	/* display: block; */
	font-size: 0.75rem;
}

.price-config-available {
	display: block;
	font-size: 0.75rem;
}

.product-single-add-mobile-container-wrapper .price-config-available {
	display: none;
}

.product-card__parameters {
	margin-bottom: var(--spacing-sm);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xs);
}

.product-card__parameters-item {
	display: flex;
	align-items: center;
	gap: var(--spacing-3xs);
}

.product-card__parameters-item svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--color-primary-500);
	stroke-width: 1.5;
}

.product-card__parameters-item span {
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
}

.product-card__btn-container {
	/* grid-row: ; */
	display: flex;
	flex-direction: column;
	gap: var(--spacing-2xs);
}

.product-qty {
	align-self: start;
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--color-primary-500);
	border-radius: var(--border-radius-button);
	background-color: var(--color-white-500);
	/* height: 38px; */
	padding: 0.25rem;
	box-sizing: border-box;
	flex-shrink: 0;
}

.product-qty__btn {
	background: none;
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem;
	color: var(--color-gray-500);
	border-radius: 9999px;
	transition: background-color 0.3s;
}

.product-qty__btn:hover {
	background-color: var(--color-white-600);
}

.product-qty__btn svg {
	width: 1.25rem;
	height: 1.25rem;
	transition: color 0.3s;
}

.product-qty__btn:hover svg {
	color: var(--color-primary-500);
}

.product-qty__input {
	width: 2.5rem;
	text-align: center;
	border: none;
	font-weight: 500;
	line-height: auto;
	/* vertical-align: middle; */
	/* font-size: 16px; */
	color: var(--color-black-500);
	padding: 0;
	-moz-appearance: textfield;
	background: transparent;
}

.product-qty__input::-webkit-outer-spin-button,
.product-qty__input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.product-qty__input:focus {
	outline: none;
}

/* ######################### */
/* Product card menu */
/* ######################### */

.product-card-menu {
	position: relative;
	padding: var(--spacing-sm);
	/* background-color: var(--color-white-500); */
	/* border: 1px solid var(--color-gray-400); */
	background-color: transparent;
	border-radius: var(--border-radius-md);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: center;
	gap: var(--spacing-sm);
}

.product-card-menu::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--color-white-600);
	border-radius: var(--border-radius-md);
	filter: opacity(0);
	transition: filter 0.3s;
	z-index: 1;
}

.product-card-menu:hover.product-card-menu::before {
	/* background-color: var(--color-white-600); */
	filter: opacity(0.75);
}

.product-card-menu__img-container {
	position: relative;
	display: block;
	/* width: 100%; */
	height: 12.25rem;
}

.product-card-menu__img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/* width: 100%; */
	height: 100%;
	object-fit: contain;
}

.product-card-menu__text-container {
	display: flex;
	flex-direction: column;
}

.product-card-menu__category {
	margin-bottom: var(--spacing-4xs);
	width: fit-content;
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
}

.product-card-menu__title {
	margin-bottom: var(--spacing-2xs);
	color: var(--color-black-500);
	font-size: var(--fz-md);
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.25;
	text-wrap: balance;
}

.product-card-menu__price {
	margin-bottom: var(--spacing-sm);
	color: var(--color-gray-500);
	font-weight: 500;
}

.product-card-menu__parameters {
	margin-bottom: var(--spacing-sm);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xs);
}

.product-card-menu__parameters-item {
	display: flex;
	align-items: center;
	gap: var(--spacing-3xs);
}

.product-card-menu__parameters-item svg {
	width: 1.25rem;
	height: 1.25rem;
	color: var(--color-primary-500);
	stroke-width: 1.5;
}

.product-card-menu__parameters-item span {
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
}

.product-card-menu__btn-container {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	/* flex-direction: column; */
	gap: var(--spacing-2xs);
	filter: opacity(0);
	transition: filter 0.3s;
}

.product-card-menu:hover .product-card-menu__btn-container {
	filter: opacity(1);
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

/* @media (max-width: 1023px) {} */

/* @media (max-width: 767px) {} */

@media (max-width: 479px) {
	.product-card-menu {
		display: flex;
		flex-direction: column;
		align-items: start;
		/* justify-content: start; */
		gap: var(--spacing-sm);
	}

	.product-card-menu::before {
		content: unset;
	}

	.product-card-menu__img-container {
		display: none;
	}

	.product-card-menu__btn-container {
		position: static;
		transform: translate(0);
		display: flex;
		align-items: center;
		justify-content: start;
		flex-wrap: wrap;
		/* flex-direction: column; */
		gap: var(--spacing-2xs);
		filter: opacity(1);
		transition: filter 0.3s;
	}
}

/* ######################### */
/* Applications section */
/* ######################### */

.applications {
	padding: var(--spacing-section-md) 0;
}

.applications__carousel {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-lg);
	width: 100%;
}

.applications__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-sm);
	width: 100%;
}

.applications__nav {
	flex: 1;
	min-width: 0;
	overflow: hidden;
}

.applications__nav .swiper-wrapper {
	align-items: center;
}

.applications__tab {
	width: max-content !important;
	flex-shrink: 0;
}

.applications__arrow {
	background: transparent;
	border: none;
	/* padding: 8px; */
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	color: var(--color-primary-500);
	transition: opacity 0.3s;
	flex-shrink: 0;
}

.applications__arrow.swiper-button-disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.applications__nav .btn {
	background-color: var(--color-white-500);
	border: 1px solid var(--color-gray-400);
}

.applications__nav .btn:hover {
	border-color: var(--color-primary-400);
}

.applications__nav .btn--active {
	background-color: var(--color-primary-500);
	border-color: var(--color-primary-500);
}

.applications__nav .btn span {
	color: var(--color-gray-500);
}

.applications__nav .btn--active span {
	color: var(--color-black-500);
}

.applications__main {
	width: 100%;
	overflow: hidden;
}

.applications__slide {
	box-sizing: border-box;
}

.applications__main .swiper-slide .applications__inner {
	opacity: 0;
	transform: translateY(16px);
	transition:
		opacity 0.3s,
		transform 0.3s;
}

.applications__main .swiper-slide-active .applications__inner {
	opacity: 1;
	transform: translateY(0);
}

.applications__main .swiper-slide {
	pointer-events: none !important;
}

.applications__main .swiper-slide-active {
	pointer-events: auto !important;
}

.applications__inner {
	display: flex;
	gap: var(--spacing-2xl);
	align-items: flex-start;
}

.applications__image-wrapper {
	flex: 1;
	/* max-width: 50%; */
	/* background-color: #f5f5f5; */
	border-radius: var(--border-radius-md);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;

	/* min-height: 320px; */
}

.applications__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.applications__content {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.applications__content::before {
	content: "";
	position: absolute;
	bottom: calc(var(--spacing-sm) + 1rem + (var(--fz-xs) * 1.5));
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(
		to bottom,
		rgba(250, 250, 250, 0) 50%,
		rgba(250, 250, 250, 1) 100%
	);
	/* background-color: red; */
}

/* .applications__content--visible-all {} */

.applications__content.applications__content--visible-all::before {
	content: unset;
}

.applications__content:not(.applications__content--visible-all)
	> *:nth-child(n + 7):not(.applications__read-more-btn) {
	display: none;
}

.applications__content h3 {
	margin-bottom: var(--spacing-md);
}

.applications__content p {
	margin-bottom: var(--spacing-sm);
}

.applications__content p:has(+ ul) {
	margin-bottom: var(--spacing-2xs);
}

.applications__content ul,
.applications__content ol {
	margin-bottom: var(--spacing-sm);
}

.applications__read-more-btn {
	margin-top: calc(var(--spacing-sm) + 1rem + (var(--fz-xs) * 1.5));
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

@media (max-width: 1023px) {
	/* .applications__arrow { */
	/* display: none; */
	/* } */

	.applications__arrow svg {
		/* width: 1.75rem !important; */
		/* height: 1.75rem !important; */
		stroke-width: 3;
	}

	.swiper-slide .btn {
		padding: 0.375rem 0.75rem;
	}

	.swiper-slide .btn span {
		font-size: var(--fz-xs);
	}

	.applications__header {
		gap: 0;
	}

	.applications__inner {
		flex-direction: column-reverse;
		gap: var(--spacing-md);
	}

	.applications__content {
		max-width: 80ch;
	}
}

/* @media (max-width: 767px) {} */

/* @media (max-width: 479px) {} */

/* ######################### */
/* Accessories section */
/* ######################### */

.accessories {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--spacing-md);
}

.accessories__text-container {
	grid-column: 1 / 6;
}

.accessories__heading {
	margin-bottom: var(--spacing-lg);
}

.accessories__text {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-md);
}

.accessories .oxy-rich-text p:has(strong) {
	margin-bottom: var(--spacing-2xs);
}

.accessories__product-container {
	grid-column: 7 / 13;
	display: flex;
	flex-direction: column;
	align-items: end;
	gap: var(--spacing-md);
}

.accessories__product-container > .oxy-shortcode {
	width: 100%;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-md);
}

/* .accessories__product-container > .oxy-shortcode > *:first-child {
	grid-column: 2 / 3;
} */

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.accessories {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-lg);
	}

	.accessories__heading {
		width: 75%;
	}

	.accessories__text {
		width: 60%;
	}

	.accessories__product-container {
		align-items: start;
	}

	.accessories .ghost-btn {
		display: none;
	}

	.accessories__product-container > .oxy-shortcode {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1023px) {
	.accessories__heading {
		width: 85%;
	}

	.accessories__text {
		width: 75%;
	}
}

@media (max-width: 767px) {
	.accessories__heading {
		width: 100%;
	}

	.accessories__text {
		width: 85%;
	}

	.accessories__product-container > .oxy-shortcode {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 479px) {
	.accessories__text {
		width: 100%;
	}

	.accessories__product-container > .oxy-shortcode {
		grid-template-columns: repeat(1, 1fr);
	}

	.accessories__product-container
		> .oxy-shortcode
		.product-card:nth-child(n + 3) {
		display: none !important;
	}
}

/* ######################### */
/* Accessories temporary */
/* ######################### */

.accessories-temp {
	padding: var(--spacing-section-md) var(--spacing-md);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.accessories-temp .heading-container__heading {
	margin-bottom: var(--spacing-lg);
	width: 85%;
}

.accessories-temp__text {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-md);
	text-align: center;
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

/* @media (max-width: 1023px) {} */

@media (max-width: 767px) {
	.accessories-temp {
		align-items: start;
	}

	.accessories-temp__text {
		text-align: left;
	}
}

/* @media (max-width: 479px) {} */

/* ######################### */
/* CTA section */
/* ######################### */

.cta {
	padding: var(--spacing-section-md) var(--spacing-md);
}

.cta__inner {
	position: relative;
	padding: var(--spacing-section-sm) 0;
	background-color: var(--color-white-500);
	border: 1px solid var(--color-primary-500);
	border-radius: var(--border-radius-lg);
	overflow: hidden;
}

.cta__inner::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 40%;
	height: 100%;
	background-image: url("https://fibrolasertechnology.com/wp-content/uploads/2026/05/cta2.png");
	background-size: cover;
	background-repeat: no-repeat;
}

.cta__text-container {
	/* border: 1px solid red; */
	margin-left: clamp(2rem, -30rem + 40vw, 18rem);
	width: 40%;
}

.cta__heading {
	margin-bottom: var(--spacing-md);
	font-size: var(--fz-2xl);
}

.cta__text {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-md);
}

.cta__btn-container-label {
	display: block;
	margin-bottom: var(--spacing-sm);
	color: var(--color-black-500);
	font-weight: 500;
}

.cta__btn-container {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
	flex-wrap: wrap;
}

@media (max-width: 1279px) {
	.cta__text-container {
		width: 50%;
	}
}

/* @media (max-width: 1119px) {} */

@media (max-width: 1023px) {
	.cta__inner {
		margin: calc(var(--spacing-md) * -1);
		padding: var(--spacing-section-sm) var(--spacing-md);
		border: none;
		border-top: 1px solid var(--color-primary-500);
		border-bottom: 1px solid var(--color-primary-500);
		border-radius: 0;
	}

	.cta__inner::before {
		content: unset;
	}

	.cta__text-container {
		margin-left: 0;
		width: 60%;
	}
}

@media (max-width: 767px) {
	.cta__text-container {
		width: 85%;
	}
}

@media (max-width: 479px) {
	.cta__inner {
		padding: var(--spacing-lg) var(--spacing-md);
	}

	.cta__text-container {
		width: 100%;
	}
}

/* ######################### */
/* Footer */
/* ######################### */

/* .footer {} */

.footer__top-container {
	padding: var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: 1fr auto auto auto;
	gap: var(--spacing-2xl);
}

/* .footer__text-container {} */

.footer__text-container > a {
	display: inline-flex;
	align-items: center;
}

.footer__logo {
	margin-bottom: var(--spacing-md);
	/* width: fit-content; */
	height: 3rem;
}

.footer__text {
	margin-bottom: var(--spacing-md);
	font-size: var(--fz-xs);
	width: 85%;
}

.footer__social-media-container {
	display: flex;
	gap: var(--spacing-2xs);
}

.footer__social-media-link {
	width: 3rem;
	height: 3rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-white-500);
	border-radius: 9999px;
	border: 1px solid var(--color-gray-400);
	transition:
		background-color 0.3s,
		border-color 0.3s;
}

.footer__social-media-link:hover {
	/* background-color: ; */
	border-color: transparent;
}

.footer__social-media-link:first-of-type:hover {
	background-color: #ff0069;
}

.footer__social-media-link:last-of-type:hover {
	background-color: #0866ff;
}

.footer__social-media-link .oxy-svg-icon svg {
	width: 1.5rem !important;
	height: 1.5rem !important;
	fill: currentColor !important;
	stroke-width: 0 !important;
	transition: color 0.3s;
}

.footer__social-media-link:first-of-type .oxy-svg-icon svg {
	color: #ff0069;
}

.footer__social-media-link:last-of-type .oxy-svg-icon svg {
	color: #0866ff;
}

.footer__social-media-link:hover .oxy-svg-icon svg {
	color: var(--color-white-500);
}

.footer__link-container {
	display: flex;
	flex-direction: column;
}

.footer__link-heading {
	margin-bottom: var(--spacing-sm);
	color: var(--color-black-500);
	font-weight: 500;
}

.footer__link {
	color: var(--color-gray-500);
	font-size: var(--fz-xs);
	transition: color 0.3s;
}

.footer__link:hover {
	color: var(--color-primary-500);
}

.footer__link-container .footer__link {
	margin-bottom: var(--spacing-2xs);
}

.footer__link-container .footer__link:last-of-type {
	margin-bottom: 0;
}

.footer__bottom-container {
	padding: var(--spacing-md) 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-md);
	/* flex-wrap: wrap; */
}

.footer__bottom-container-text {
	font-size: var(--fz-xs);
}

.footer__bottom-container-link-container {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
	/* flex-wrap: wrap; */
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.footer__top-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1023px) {
	.footer__bottom-container {
		align-items: start;
		flex-direction: column;
		gap: var(--spacing-md);
	}
}

/* @media (max-width: 1023px) {} */

@media (max-width: 767px) {
	.footer__top-container {
		grid-template-columns: 1fr;
	}

	.footer__logo {
		height: 2rem;
	}

	.footer__bottom-container-link-container {
		align-items: start;
		flex-direction: column;
		gap: var(--spacing-2xs);
	}
}

/* @media (max-width: 479px) {} */

/* ######################### */
/* Catalog section */
/* ######################### */

.catalog {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}

/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */
/* faiwubfawiubnfawiubnfaw */

.catalog__top-container {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	align-items: end;
}

.catalog__top-container-item {
	grid-column: 1 / 7;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xs);
}

.catalog__heading {
	font-size: var(--fz-2xl);
}

/* faioubnfiaufbnaiujfbnwiujafw */

.catalog-sort {
	grid-column: 7 / 13;
	justify-self: end;
}

.catalog-sort-container {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.catalog-sort-container > span {
	font-size: var(--fz-sm);
	font-weight: 500;
}

.catalog-sort__select {
	padding: 0.75rem 2.25rem 0.75rem 1.5rem;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--color-white-500);
	border: 1px solid var(--color-primary-500);
	border-radius: var(--border-radius-button);
	user-select: none;
	appearance: none;
	outline: none;
	color: var(--color-primary-500);
	font-size: var(--fz-sm);
	font-weight: 500;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2319a10d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 18px;
	/* transition:
		background-color 0.3s,
		border-color 0.3s,
		color 0.3s; */
}

.catalog-sort__select:hover {
	cursor: pointer;
}

.catalog__grid #cp-catalog-wrapper {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--spacing-md);
	transition: opacity 0.3s;
}

.catalog__grid .product-card {
	grid-row: span 6;
}

.catalog__grid .product-card .product-card__btn-container {
	grid-row: 6 / 7;
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.catalog__grid #cp-catalog-wrapper {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 1023px) {
	.catalog__top-container {
		display: flex;
		flex-direction: column;
		align-items: start;
		gap: var(--spacing-md);
	}
}

@media (max-width: 767px) {
	.catalog__grid #cp-catalog-wrapper {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 479px) {
	.catalog__grid #cp-catalog-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}

	.catalog-sort-container {
		align-items: start;
		flex-direction: column;
		/* gap: var(--spacing-2xs); */
	}
}

/* ######################### */
/* Contact section */
/* ######################### */

.contact {
	/* display: block; */
	/* width: 100%; */
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

.contact__text-container {
	grid-column: 1 / 6;
	display: flex;
	flex-direction: column;
}

.contact__heading {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-2xl);
}

.contact__text {
	margin-bottom: var(--spacing-2xl);
	font-size: var(--fz-md);
}

.contact__added-info {
	display: block;
	margin-bottom: var(--spacing-xs);
	font-size: var(--fz-xs);
}

.contact__added-info span {
	color: var(--color-black-500);
	font-weight: 500;
}

.contact__added-heading {
	margin-bottom: var(--spacing-lg);
}

.inquiry-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-md);
}

.inquiry-list .product-card {
	grid-row: span 6;
}

.inquiry-list .product-card .product-card__btn-container {
	grid-row: 6 / 7;
}

.contact__box-container {
	margin-top: auto;
	display: flex;
	flex-direction: column;
	gap: var(--spacing-md);
}

.contact__box {
	display: flex;
	align-items: center;
	gap: var(--spacing-sm);
}

.contact__box-icon {
	width: 4rem;
	height: 4rem;
	background-color: var(--color-primary-500);
	border-radius: var(--border-radius-md);
}

.contact .contact__box-icon svg {
	width: 1.5rem !important;
	height: 1.5rem !important;
	color: var(--color-black-500);
}

.contact__box-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-3xs);
}

.contact__box-heading {
	font-size: var(--fz-lg);
}

.contact__box-link {
	width: fit-content;
	color: var(--color-gray-500);
	transition: color 0.3s;
}

.contact__box-link:hover {
	color: var(--color-primary-500);
}

.contact__social-media-wrapper {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xs);
}

.contact__social-media-label {
	margin-top: var(--spacing-md);
	font-size: var(--fz-lg);
}

.contact__social-media-container {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.contact__form-container {
	grid-column: 7 / 13;
	padding: var(--spacing-md);
	background-color: var(--color-white-500);
	border: 1px solid var(--color-gray-400);
	border-radius: var(--border-radius-md);
}

.contact__form-container--sticky {
	align-self: start;
	position: sticky;
	top: var(--spacing-section-lg);
}

/* .contact__form-container form {
	display: flex;
	flex-direction: column;
} */

.contact__form-heading {
	margin-bottom: var(--spacing-md);
	font-size: var(--fz-xl);
}

.contact__form-container form > p {
	margin-bottom: var(--spacing-md);
	position: relative;
}

.contact__form-container form > p br {
	display: none;
}

.contact__form-container label {
	position: absolute;
	top: 50%;
	left: 1rem;
	transform: translateY(-50%);
	color: var(--color-black-500);
	font-size: var(--fz-sm);
	pointer-events: none;
	z-index: 1;
	/* transition: top 0.3s, padding 0.3s, font-size 0.3s; */
}

.contact__form-container label.label--hidden {
	display: none;
}

.contact__form-container form > p:last-of-type label {
	top: 0.75rem;
	transform: none;
}

.contact__form-container input,
.contact__form-container select,
.contact__form-container textarea {
	padding: 0.75rem;
	width: 100%;
	background-color: var(--color-white-600);
	border: 1px solid var(--color-gray-400);
	border-radius: var(--border-radius-button);
	outline: none;
	color: var(--color-black-500);
	font-size: var(--fz-sm);
	transition: border-color 0.3s;
}

.contact__form-container input:focus,
.contact__form-container select:focus,
.contact__form-container textarea:focus {
	border-color: var(--color-primary-500);
}

.contact__form-container input.wpcf7-not-valid,
.contact__form-container select.wpcf7-not-valid,
.contact__form-container textarea.wpcf7-not-valid {
	border-color: var(--color-red-500);
}

.contact__form-container input.input--valid,
.contact__form-container select.input--valid,
.contact__form-container textarea.input--valid {
	border-color: var(--color-primary-500);
}

.contact__form-container select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 1.2rem;
}

.contact__form-container textarea {
	height: 9rem;
	min-height: 9rem;
	resize: vertical;
	border-radius: var(--border-radius-md);
}

.contact__form-bottom-container {
	display: flex;
	justify-content: space-between;
	align-items: end;
	gap: var(--spacing-sm);
}

/* .contact__form-bottom-container p:first-of-type { */
/* color: var(--color-black-500); */
/* } */

.contact__form-bottom-container p:last-of-type {
	flex-shrink: 0;
}

.contact__form-container
	form.submitting
	.contact__form-bottom-container
	p:last-of-type {
	opacity: 0.5;
	cursor: wait;
}

.contact__form-message {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	/* gap: var(--spacing-2xs); */
	/* background-color: var(--color-gray-500); */
	/* border-radius: var(--border-radius-main); */
	text-align: center;
	text-wrap: balance;
	transform: translateY(-16px);
	opacity: 0;
	will-change: transform, opacity;
	animation: contactFormMessage 0.3s forwards;
}

@keyframes contactFormMessage {
	from {
		transform: translateY(-16px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

.contact__form-message-svg--success,
.contact__form-message-svg--error {
	margin-bottom: var(--spacing-sm);
	width: 3rem;
	height: 3rem;
}

.contact__form-message-svg--success {
	color: var(--color-primary-500);
}

.contact__form-message-svg--error {
	color: var(--color-red);
}

.contact__form-message-heading {
	display: block;
	margin-bottom: var(--spacing-2xs);
}

/* .contact__form-message-text { */
/* display: flex; */
/* flex-direction: column; */
/* justify-content: center; */
/* align-items: center; */
/* color: var(--color-gray-500); */
/* } */

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.contact {
		display: flex !important;
		flex-direction: column;
		gap: var(--spacing-lg);
	}

	.contact__heading {
		width: 75%;
	}

	.contact__text {
		width: 60%;
	}

	.inquiry-list {
		grid-template-columns: repeat(3, 1fr);
	}

	.contact__form-container--sticky {
		position: static;
	}
}

@media (max-width: 1023px) {
	.contact__heading {
		width: 85%;
	}

	.contact__text {
		width: 75%;
	}
}

@media (max-width: 767px) {
	.contact__heading {
		width: 100%;
	}

	.contact__text {
		width: 85%;
	}

	.contact__box-icon {
		width: 3rem;
		height: 3rem;
	}

	.contact .contact__box-icon svg {
		width: 1.25rem !important;
		height: 1.25rem !important;
	}

	.inquiry-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 479px) {
	.contact__text {
		width: 100%;
	}

	.contact__form-bottom-container {
		/* display: flex; */
		flex-direction: column;
		gap: var(--spacing-sm);
	}

	.contact__form-bottom-container {
		align-items: stretch;
	}

	.contact__form-bottom-container .btn {
		width: 100%;
	}

	.inquiry-list {
		grid-template-columns: repeat(1, 1fr);
	}
}

/* ######################### */
/* Inquiry empty */
/* ######################### */

.inquiry-empty {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* ######################### */
/* Classification section */
/* ######################### */

.classification {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.classification h1,
.classification h2 {
	margin-bottom: var(--spacing-lg);
}

.classification__text {
	margin-bottom: var(--spacing-2xl);
	width: 50%;
	font-size: var(--fz-md);
	text-align: center;
}

.classification__box-container {
	width: 100%;
	/* border: 1px solid red; */
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-md);
}

.classification__box {
	padding: var(--spacing-md);
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(
				-45deg,
				rgba(25, 161, 13, 1) 0%,
				rgba(25, 161, 13, 0) 50%,
				rgba(25, 161, 13, 1) 100%
			)
			border-box,
		linear-gradient(#dadada, #dadada) border-box;
	border: 1px solid transparent;
	border-radius: var(--border-radius-md);
	transition: border-color 0.3s;
}

.classification__box-heading {
	margin-bottom: var(--spacing-sm);
	font-size: var(--fz-lg);
}

.classification__box-text {
	margin-bottom: var(--spacing-md);
}

.classification__box .oxy-rich-text,
.classification__box .oxy-rich-text p {
	font-size: var(--fz-xs);
}

.classification__box .oxy-rich-text ul {
	margin-bottom: var(--spacing-md);
}

.classification__box .oxy-rich-text ul:last-of-type {
	margin-bottom: 0;
}

.classification__box .oxy-rich-text p:has(strong) {
	margin-bottom: var(--spacing-2xs);
}

.classification__box .oxy-rich-text a {
	color: var(--color-black-500);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--color-primary-500);
	transition:
		color 0.3s,
		text-decoration-color 0.3s;
}

.classification__box .oxy-rich-text a:hover {
	color: var(--color-primary-400);
	text-decoration-color: var(--color-primary-400);
}

@media (max-width: 1279px) {
	.classification__text {
		width: 60%;
	}
}

/* @media (max-width: 1119px) {} */

@media (max-width: 1023px) {
	.classification__text {
		/* width: 75%; */
		width: 85%;
	}
}

@media (max-width: 767px) {
	.classification {
		align-items: start;
	}

	.classification__text {
		text-align: left;
	}

	.classification__box-container {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 479px) {
	.classification__text {
		width: 100%;
	}
}

/* ######################### */
/* Safety section */
/* ######################### */

.safety {
	padding: var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--spacing-md);
}

.safety__text-container {
	grid-column: 1 / 6;
	align-self: start;
	position: sticky;
	top: var(--spacing-section-lg);
}

.safety h2 {
	margin-bottom: var(--spacing-lg);
}

.safety__text {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-md);
}

.safety .oxy-rich-text p:has(strong) {
	margin-bottom: var(--spacing-2xs);
}

.safety__box-container {
	grid-column: 7 / 13;
	display: grid;
	gap: var(--spacing-md);
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.safety {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-lg);
	}

	.safety__text-container {
		/* grid-column: 1 / 6; */
		/* align-self: start; */
		position: static;
		/* top: var(--spacing-section-lg); */
	}

	.safety__heading {
		width: 75%;
	}

	.safety__text {
		width: 60%;
	}
}

@media (max-width: 1023px) {
	.safety__heading {
		width: 85%;
	}

	.safety__text {
		width: 75%;
	}
}

@media (max-width: 767px) {
	.safety__heading {
		width: 100%;
	}

	.safety__text {
		width: 85%;
	}
}

@media (max-width: 479px) {
	.safety__text {
		width: 100%;
	}
}

/* ######################### */
/* Training section */
/* ######################### */

.training {
	padding: var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: var(--spacing-md);
}

.training__text-container {
	grid-column: 1 / 6;
}

.training h2 {
	margin-bottom: var(--spacing-lg);
}

.training__text {
	margin-bottom: var(--spacing-lg);
	font-size: var(--fz-md);
}

.training .oxy-rich-text p:has(strong) {
	margin-bottom: var(--spacing-2xs);
}

.training .oxy-rich-text ul {
	margin-bottom: var(--spacing-lg);
}

.training .oxy-rich-text ul:last-of-type {
	margin-bottom: 0;
}

.training__box-container {
	grid-column: 7 / 13;
	align-self: start;
	position: sticky;
	top: var(--spacing-section-lg);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-md);
	align-items: start;
}

.training__box-container > *:last-of-type {
	background:
		linear-gradient(#fff, #fff) padding-box,
		linear-gradient(
				-45deg,
				rgba(239, 59, 44, 1) 0%,
				rgba(239, 59, 44, 0) 50%,
				rgba(239, 59, 44, 1) 100%
			)
			border-box,
		linear-gradient(#dadada, #dadada) border-box;
}

.training__bullet-point-container {
	display: flex;
	flex-direction: column;
	gap: var(--spacing-xs);
}

.training__bullet-point {
	display: flex;
	align-items: center;
	gap: var(--spacing-2xs);
}

.training__bullet-point-icon {
	background-color: var(--color-primary-500);
	width: 1.5rem;
	height: 1.5rem;
	border-radius: var(--border-radius-sm);
	flex-shrink: 0;
}

.training__box-container > *:last-of-type .training__bullet-point-icon {
	background-color: var(--color-red-500);
}

.training .training__bullet-point-icon svg {
	width: 0.875rem !important;
	height: 0.875rem !important;
	stroke-width: 4 !important;
}

.training__bullet-point-text {
	font-weight: 500;
}

/* @media (max-width: 1279px) {} */

@media (max-width: 1119px) {
	.training {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-lg);
	}

	.training__heading {
		width: 75%;
	}

	.training__text {
		width: 60%;
	}

	.training__box-container {
		position: static;
	}
}

@media (max-width: 1023px) {
	.training__heading {
		width: 85%;
	}

	.training__text {
		width: 75%;
	}
}

@media (max-width: 767px) {
	.training__heading {
		width: 100%;
	}

	.training__text {
		width: 85%;
	}
}

@media (max-width: 479px) {
	.training__text {
		width: 100%;
	}

	.training__box-container {
		grid-template-columns: 1fr;
	}
}

/* ######################### */
/* Additional information section */
/* ######################### */

.additional-info .classification__box {
	align-self: start;
}

.additional-info .classification__box:nth-of-type(1) {
	align-self: start;
	position: sticky;
	top: var(--spacing-section-lg);
}

.additional-info
	.classification__box:nth-of-type(2)
	.classification__box-heading {
	margin-bottom: var(--spacing-sm);
}

/* @media (max-width: 1279px) {} */

/* @media (max-width: 1119px) {} */

/* @media (max-width: 1023px) {} */

@media (max-width: 767px) {
	.additional-info .classification__box:nth-of-type(1) {
		position: static;
	}
}

/* @media (max-width: 479px) {} */

/* ######################### */
/* Alert */
/* ######################### */

.cp-toast-wrapper {
	position: fixed;
	bottom: var(--spacing-md);
	right: var(--spacing-md);
	display: flex;
	flex-direction: column;
	gap: var(--spacing-sm);
	z-index: 9999;
	pointer-events: none;
}

.cp-toast {
	position: relative;
	background: var(--color-white-500);
	padding: 1rem 1rem;
	border: 1px solid var(--color-gray-400);
	border-radius: var(--border-radius-sm);
	overflow: hidden;
	pointer-events: auto;
	opacity: 0;
	transform: translateY(32px);
	animation: cp-toast-enter 0.3s ease-in forwards;
}

.cp-toast.--closing {
	animation: cp-toast-exit 0.3s ease-out forwards;
}

.cp-toast__progress-bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: var(--color-gray-400);
}

.cp-toast__progress-bar {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	background-color: var(--color-primary-500);
	animation: cp-toast-progress 3s linear forwards;
}

.cp-toast__content {
	display: flex;
	align-items: center;
	gap: 1rem;
	color: var(--color-black-500);
	font-size: var(--fz-xs);
	font-weight: 500;
}

.cp-toast__content svg {
	color: var(--color-primary-500);
	flex-shrink: 0;
}

@keyframes cp-toast-enter {
	from {
		opacity: 0;
		transform: translateY(32px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes cp-toast-exit {
	from {
		opacity: 1;
		transform: translateX(0);
	}
	to {
		opacity: 0;
		transform: translateX(32px);
	}
}

@keyframes cp-toast-progress {
	from {
		width: 100%;
	}
	to {
		width: 0%;
	}
}

/* ######################### */
/* Product subpage */
/* ######################### */

.product {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--spacing-2xl);
	align-items: start;
}

/* .product__first-col { */
/* border: 1px solid red; */
/* } */

.product-gallery {
	display: flex;
	gap: var(--spacing-sm);
	width: 100%;
}

.product-gallery__left {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	/* padding: 56px 0; */
	width: 8rem;
	flex-shrink: 0;
}

.swiper-product-thumbs {
	height: calc((8rem * 3) + (var(--spacing-sm) * 2));
	width: 100%;
}

.product-gallery__thumb {
	width: 8rem;
	height: 8rem;
	border-radius: var(--border-radius-md);
	border: 1px solid var(--color-gray-400);
	cursor: pointer;
	background: var(--color-white-500);
	transition: border-color 0.3s;
	overflow: hidden;
}

.product-gallery__thumb.--active {
	border-color: var(--color-primary-500);
}

.product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-gallery__arrow {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translate(-50%, -50%);
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary-500);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	z-index: 10;
	transition: background-color 0.3s;
}

.product-gallery__arrow svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	color: var(--color-black-500);
}

.product-gallery__arrow:hover {
	background-color: var(--color-primary-400);
}

/* .product-gallery__arrow--up {} */

.product-gallery__arrow--down {
	top: auto;
	bottom: 0;
	transform: translate(-50%, 50%);
}

.product-gallery__main {
	flex-grow: 1;
	width: 100%;
	aspect-ratio: 1 / 1;
	position: relative;
	border-radius: var(--border-radius-md);
	background: var(--color-white-500);
	border: 1px solid var(--color-gray-400);
	overflow: hidden;
	cursor: pointer;
}

.product-gallery__main-img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-gallery__zoom {
	position: absolute;
	top: var(--spacing-sm);
	right: var(--spacing-sm);
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary-500);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	z-index: 10;
	opacity: 0;
	transition:
		background-color 0.3s,
		opacity 0.3s;
}

.product-gallery__zoom svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	color: var(--color-black-500);
}

.product-gallery__main:hover .product-gallery__zoom {
	opacity: 1;
}

.product-gallery__zoom:hover {
	background-color: var(--color-primary-400);
}

.product-lightbox__active-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 5000;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s;
}

.product-lightbox__active-bg.--active {
	opacity: 1;
	pointer-events: auto;
}

.product-lightbox {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: calc(100vw - (var(--spacing-md) * 2));
	height: calc(100vh - (var(--spacing-md) * 2));
	max-width: 80rem;
	z-index: 5001;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-lightbox.--open {
	pointer-events: auto;
	opacity: 1;
}

.product-lightbox__close {
	position: absolute;
	top: 0;
	right: 0;
	transform: translate(-50%, 50%);
	width: 2rem;
	height: 2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-primary-500);
	border: none;
	border-radius: 9999px;
	cursor: pointer;
	z-index: 5002;
	transition:
		background-color 0.3s,
		opacity 0.3s;
}

.product-lightbox__close:hover {
	background-color: var(--color-primary-400);
}

.product-lightbox__close svg {
	width: 1.125rem !important;
	height: 1.125rem !important;
	color: var(--color-black-500);
}

.swiper-product-lightbox {
	width: 100%;
	height: 100%;
	background: var(--color-white-500);
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.swiper-product-lightbox .swiper-slide {
	display: flex;
	align-items: center;
	justify-content: center;
}

.swiper-product-lightbox img {
	max-width: 100%;
	max-height: 100%;
	object-fit: cover;
}

.product__first-col > .oxy-shortcode:first-of-type {
	margin-bottom: var(--spacing-2xl);
}

.product__first-col > h2 {
	font-size: var(--fz-xl);
	margin-bottom: var(--spacing-md);
}

.product__first-col .bde-themeless-template-content-area h3 {
	font-size: var(--fz-lg);
	margin-bottom: var(--spacing-xs);
}

.product__first-col .bde-themeless-template-content-area h4 {
	font-size: var(--fz-md);
	margin-bottom: var(--spacing-xs);
}

.product__first-col .bde-themeless-template-content-area h5 {
	font-size: var(--fz-sm);
	margin-bottom: var(--spacing-xs);
}

.product__first-col .bde-themeless-template-content-area h6 {
	font-size: var(--fz-xs);
	margin-bottom: var(--spacing-xs);
}

.product__first-col .bde-themeless-template-content-area ul {
	margin-bottom: var(--spacing-md);
}

.product-specs-container {
	width: 100%;
	margin-bottom: var(--spacing-2xl);
}

.product-specs-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background-color: var(--color-white-500);
	border: 1px solid var(--color-primary-500);
	border-radius: var(--border-radius-md);
	overflow: hidden;
}

.product-specs-table tr {
	border: none;
}

.product-specs-table tr:not(:last-child) td {
	width: 50%;
	border-bottom: 1px solid var(--color-primary-500);
}

.product-specs-table td {
	padding: 1rem 1.5rem;
	vertical-align: middle;
}

.product-specs-table td:first-child {
	width: 50%;
	border-right: 1px solid var(--color-primary-500);
	color: var(--color-black-500);
	font-weight: 500;
}

/* .product__second-col {} */

.product__second-col--desktop {
	position: sticky;
	top: var(--spacing-section-lg);
}

.product__second-col--mobile {
	margin-bottom: var(--spacing-2xl);
	display: none;
}

.product__title {
	margin-top: var(--spacing-xs);
	margin-bottom: var(--spacing-md);
	font-size: var(--fz-2xl);
}

.product__price {
	display: block;
	margin-bottom: var(--spacing-md);
	font-size: var(--fz-lg);
	font-weight: 500;
}

.product__add-to-cart-container {
	margin-bottom: var(--spacing-md);
}

.product__add-to-cart-container .product-single-add,
.product-single-add-mobile-container .product-single-add {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: var(--spacing-xs);
}

.product__add-to-cart-container .product-single-add .product-qty,
.product-single-add-mobile-container .product-single-add .product-qty {
	height: 100%;
}

.product__add-to-cart-container .product-single-add .product-single-add-btn,
.product-single-add-mobile-container
	.product-single-add
	.product-single-add-btn {
	width: 100%;
}

/* .product__categories-list {} */

.product__categories-list span {
	font-weight: 500;
	color: var(--color-black-500);
}

.product__categories-list a {
	color: var(--color-gray-500);
	transition: color 0.3s;
}

.product__categories-list a:hover {
	color: var(--color-primary-500);
}

.product-single-add-mobile-container {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100vw;
	padding: var(--spacing-md);
	/* display: flex; */
	display: none;
	flex-direction: column;
	gap: var(--spacing-md);
	background-color: var(--color-white-500);
	border-top: 1px solid var(--color-primary-500);
	z-index: 50;
	border-top: 1px solid var(--color-gray-400);
	box-shadow:
		0px 0px 1px rgba(18, 18, 18, 0.02),
		0px 0px 4px rgba(18, 18, 18, 0.03),
		0px 0px 9px rgba(18, 18, 18, 0.05),
		0px 0px 15px rgba(18, 18, 18, 0.06),
		0px 0px 24px rgba(18, 18, 18, 0.08);
	transform: translateY(150%);
	transition: transform 0.3s;
}

.product-single-add-mobile-container--active {
	transform: translateY(0);
}

.product-single-add-mobile-container-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--spacing-md);
}

.product-single-add-mobile-container-title {
	font-size: var(--fz-md);
}

.product-single-add-mobile-container-price .product__price {
	font-size: var(--fz-sm);
	margin-bottom: 0;
	text-align: right;
}

.product-single-add-mobile-container
	.product-single-add
	.btn--variant-secondary {
	display: none;
}

@media (max-width: 1279px) {
	.product__add-to-cart-container .product-single-add .btn--variant-secondary,
	.product-single-add-mobile-container
		.product-single-add
		.btn--variant-secondary {
		grid-row: 2 / 3;
		grid-column: 1 / -1;
		width: calc(100% - var(--spacing-xs));
	}
}

@media (max-width: 1119px) {
	.product {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-lg);
	}

	.product-gallery {
		flex-direction: column;
	}

	.product-gallery__left {
		order: 5;
		width: calc(100vw - (var(--spacing-md)) * 2);
		height: 8rem;
	}

	.product-gallery__thumb {
		width: auto;
		height: auto;
	}

	.product-gallery__arrow {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translate(-50%, -50%);
	}

	.product-gallery__arrow--down {
		left: auto;
		right: 0;
		transform: translate(50%, -50%);
	}

	.product-gallery__arrow svg {
		transform: rotate(-90deg);
	}

	.product-gallery__main {
		width: 100%;
	}

	.product-gallery__zoom {
		opacity: 1;
	}

	.product-gallery__main-img {
		object-fit: contain;
	}

	.product__second-col--desktop {
		/* width: 100%; */
		/* order: -1; */
		/* position: static; */
		display: none;
	}

	.product__second-col--mobile {
		display: block;
		width: 100%;
	}

	.product-single-add-mobile-container {
		display: flex;
	}
}

@media (max-width: 1023px) {
	.product__add-to-cart-container .product-single-add,
	.product-single-add-mobile-container .product-single-add {
		/* grid-template-columns: auto; */
		display: flex;
		flex-direction: column;
	}

	.product__add-to-cart-container .product-single-add .product-qty,
	.product-single-add-mobile-container .product-single-add .product-qty {
		width: 100%;
		justify-content: space-between;
	}

	.product__add-to-cart-container .product-single-add .btn--variant-secondary,
	.product-single-add-mobile-container
		.product-single-add
		.btn--variant-secondary {
		width: 100%;
	}
}

/* @media (max-width: 767px) {} */

/* @media (max-width: 479px) {} */

/* ######################### */
/* Privacy policy */
/* ######################### */

.privacy-policy__content {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
}

.privacy-policy__subheading {
	margin-bottom: var(--spacing-2xl);
}

.privacy-policy__content h1 {
	font-size: var(--fz-2xl);
}

.privacy-policy__content h2 {
	font-size: var(--fz-xl);
	margin: var(--spacing-xl) 0 var(--spacing-sm) 0;
}

.privacy-policy__content a {
	color: var(--color-black-500);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--color-primary-500);
	transition:
		color 0.3s,
		text-decoration-color 0.3s;
}

.privacy-policy__content a:hover {
	color: var(--color-primary-400);
	text-decoration-color: var(--color-primary-400);
}

/* ######################### */
/* Cookies policy subpage */
/* ######################### */

.cookie-policy__content {
	padding: var(--spacing-section-lg) 0 var(--spacing-section-md) 0;
}

/* ######################### */
/* Complianz banner */
/* ######################### */

.cmplz-cookiebanner,
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header,
.cmplz-cookiebanner .cmplz-buttons,
.cmplz-cookiebanner .cmplz-links {
	grid-gap: 12px !important;
	gap: 12px !important;
}

.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner
	.cmplz-categories
	.cmplz-category
	.cmplz-category-header
	.cmplz-category-title,
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn,
#cmplz-manage-consent .cmplz-manage-consent {
	font-size: var(--fz-md);
	font-weight: 600;
	transition: color 0.3s;
}

.cmplz-cookiebanner {
	padding: var(--spacing-sm) !important;
}

@media (max-width: 768px) {
	.cmplz-cookiebanner {
		width: auto !important;
	}
}

@media (min-width: 768px) {
	.cmplz-cookiebanner {
		left: var(--spacing-md) !important;
		bottom: var(--spacing-md) !important;
		min-width: var(--cmplz_banner_width) !important;
		max-width: 100% !important;
	}
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category {
	background-color: var(--cmplz_button_settings_background_color) !important;
	border: 1px solid var(--color-gray-300) !important;
	border-radius: var(--border-radius-main) !important;
}

.cmplz-cookiebanner .cmplz-message {
	margin-bottom: 0 !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category:first-child {
	margin-top: var(--spacing-sm) !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category:not(:last-child) {
	margin-bottom: var(--spacing-2xs) !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header {
	padding: var(--spacing-2xs) !important;
}

.cmplz-cookiebanner
	.cmplz-categories
	.cmplz-category
	.cmplz-category-header
	.cmplz-category-title {
	font-size: var(--fz-xs) !important;
}

.cmplz-cookiebanner
	.cmplz-categories
	.cmplz-category
	.cmplz-category-header
	.cmplz-always-active {
	color: var(--color-primary-500) !important;
}

.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-description {
	padding: 0 var(--spacing-2xs) var(--spacing-2xs) var(--spacing-2xs) !important;
}

.cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	height: auto !important;
	/* padding: 0.6em 1.6em !important; */
	/* line-height: 1.5 !important; */
}

#cmplz-manage-consent .cmplz-manage-consent {
	padding: 0.6em 1.6em !important;
	background-color: var(--color-primary-500) !important;
	border-radius: 12px 12px 0 0 !important;
	color: var(--color-black-500) !important;
	font-size: var(--fz-xs) !important;
}

#cmplz-manage-consent .cmplz-manage-consent:hover {
	animation: mc_slideIn 0.3s forwards !important;
}

.cmplz-category-title,
.cmplz-description {
	color: var(--color-gray-500) !important;
}

.screen-reader-text {
	display: none;
}
