:root {
	--itp-ink: #101828;
	--itp-muted: #667085;
	--itp-line: #e4e7ec;
	--itp-soft: #f6f8fb;
	--itp-card: #ffffff;
	--itp-primary: #004582;
	--itp-primary-strong: #00315f;
	--itp-accent: #ffc21f;
	--itp-success: #078b55;
	--itp-danger: #df2f2f;
	--itp-radius: 8px;
	--itp-shadow: 0 10px 30px rgba(16, 24, 40, .08);
	--theme-primary-color: var(--itp-primary);
	--theme-primary-color-RGB: 0, 69, 130;
	--theme-secondary-color: var(--itp-accent);
	--theme-secondary-color-RGB: 255, 194, 31;
	--theme-radius-base: 8px;
	--theme-radius-form: 8px;
	--theme-body-letter-spacing: 0;
	--theme-heading-letter-spacing: 0;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #fff;
	color: var(--itp-ink);
	text-rendering: optimizeLegibility;
}

a {
	text-underline-offset: 3px;
}

.container,
.site-container,
.elementor-section .elementor-container {
	max-width: 1240px;
}

.site-header,
header.site-header,
.header-wrapper,
.header-main,
.header-mobile {
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid var(--itp-line);
	box-shadow: 0 6px 22px rgba(16, 24, 40, .05);
	backdrop-filter: blur(10px);
}

.site-header .header-main,
.header-main .container,
.header-wrapper .container {
	min-height: 74px;
}

.site-header .site-brand img,
.site-header .custom-logo,
.header-main .site-brand img {
	max-height: 42px;
	width: auto;
}

.header-search,
.site-header form.search-form,
.site-header .search-form,
.header-search-form {
	border-radius: var(--itp-radius);
	box-shadow: 0 0 0 1px var(--itp-line);
	overflow: hidden;
}

.header-search input,
.site-header input[type="search"],
.header-search-form input {
	min-height: 44px;
	font-size: 15px;
}

.header-search button,
.site-header .search-submit,
.header-search-form button {
	background: var(--itp-primary) !important;
	color: #fff !important;
	min-width: 52px;
}

.site-menu,
.primary-menu,
.main-navigation {
	font-weight: 650;
}

.topbar,
.header-top,
.site-header-top {
	background: #0b1625;
	color: #f8fafc;
	font-size: 13px;
}

.topbar a,
.header-top a,
.site-header-top a {
	color: #fff;
}

.site-module,
.elementor-widget-container,
.banner,
.slider-item,
.klb-slider-wrapper,
.home .woocommerce,
.woocommerce .content-wrapper {
	border-radius: var(--itp-radius);
}

.home .site-primary,
.home main,
.woocommerce-shop main,
.archive.woocommerce main {
	background:
		linear-gradient(180deg, #f7faff 0, #fff 360px),
		#fff;
}

.home .klb-slider-wrapper,
.home .slider-item,
.home .banner,
.elementor .banner {
	background-color: #f0f4f8;
	border: 1px solid #edf1f5;
	box-shadow: var(--itp-shadow);
	overflow: hidden;
}

.home .slider-item h1,
.home .slider-item h2,
.banner h1,
.banner h2,
.elementor h1,
.elementor h2 {
	color: var(--itp-ink);
	line-height: 1.08;
	letter-spacing: 0;
}

.home .slider-item p,
.banner p,
.elementor p {
	color: var(--itp-muted);
}

.button,
button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.single_add_to_cart_button,
.checkout-button,
.elementor-button {
	border-radius: var(--itp-radius) !important;
	font-weight: 750 !important;
	letter-spacing: 0;
	min-height: 42px;
	box-shadow: none;
	transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
.elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(0, 69, 130, .18);
}

.woocommerce a.button,
.woocommerce button.button,
.single_add_to_cart_button,
.checkout-button,
.elementor-button {
	background: var(--itp-primary) !important;
	color: #fff !important;
}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
.checkout-button {
	background: var(--itp-primary) !important;
}

.itp-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0 0 22px;
	padding: 14px;
	background: #fff;
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	box-shadow: 0 6px 18px rgba(16, 24, 40, .05);
}

.itp-trust-strip div,
.itp-single-trust span {
	position: relative;
	padding-left: 28px;
}

.itp-trust-strip div::before,
.itp-single-trust span::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--itp-success);
	box-shadow: inset 0 0 0 5px #dff8ed;
}

.itp-trust-strip strong {
	display: block;
	color: var(--itp-ink);
	font-size: 14px;
	line-height: 1.2;
}

.itp-trust-strip span {
	display: block;
	color: var(--itp-muted);
	font-size: 13px;
	margin-top: 2px;
}

.woocommerce ul.products,
.products {
	gap: 18px;
}

.woocommerce ul.products li.product,
.products .product,
.product-wrapper,
.product-card,
.klb-product {
	background: var(--itp-card);
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	box-shadow: 0 4px 18px rgba(16, 24, 40, .05);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.woocommerce ul.products li.product:hover,
.products .product:hover,
.product-wrapper:hover,
.product-card:hover,
.klb-product:hover {
	border-color: rgba(0, 69, 130, .22);
	box-shadow: var(--itp-shadow);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a img,
.products .product img,
.product-wrapper img,
.product-card img,
.klb-product img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #f8fafc;
	padding: 12px;
}

.woocommerce-loop-product__title,
.product-title,
.product-name,
.products .product h2,
.products .product h3 {
	color: var(--itp-ink);
	font-size: 15px !important;
	line-height: 1.35;
	font-weight: 700;
	min-height: 40px;
}

.woocommerce .price,
.products .price,
.product-price,
.summary .price {
	color: var(--itp-primary) !important;
	font-weight: 800 !important;
}

.woocommerce span.onsale,
.onsale,
.product-badge,
.badge {
	background: var(--itp-danger) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 800;
	min-height: auto;
	line-height: 1;
	padding: 7px 9px;
}

.woocommerce .star-rating,
.star-rating {
	color: #f7b500;
}

.woocommerce-ordering select,
.woocommerce-result-count,
.woocommerce .woocommerce-ordering,
.woocommerce .woocommerce-result-count {
	color: var(--itp-muted);
	font-size: 14px;
}

.woocommerce .widget,
.shop-sidebar .widget,
.sidebar .widget {
	background: #fff;
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	padding: 16px;
	box-shadow: 0 3px 14px rgba(16, 24, 40, .04);
}

.woocommerce .widget-title,
.sidebar .widget-title {
	font-size: 15px;
	font-weight: 800;
	color: var(--itp-ink);
	margin-bottom: 12px;
}

.woocommerce div.product {
	background: #fff;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	background: #fff;
	border-radius: var(--itp-radius);
}

.woocommerce div.product div.images img {
	background: #f8fafc;
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	object-fit: contain;
}

.woocommerce div.product .product_title {
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.05;
	letter-spacing: 0;
	color: var(--itp-ink);
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	font-size: 28px;
}

.itp-single-trust {
	display: grid;
	gap: 8px;
	margin-top: 16px;
	padding: 14px;
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	background: #f8fafc;
	color: var(--itp-muted);
	font-size: 14px;
}

.woocommerce-tabs,
.related.products,
.upsells.products {
	margin-top: 38px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--itp-line);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border-radius: var(--itp-radius) var(--itp-radius) 0 0;
}

.woocommerce-cart table.cart,
.woocommerce-checkout-review-order,
.woocommerce form.checkout,
.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--itp-line);
	border-radius: var(--itp-radius);
	background: #fff;
	box-shadow: var(--itp-shadow);
	overflow: hidden;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	min-height: 46px;
	border: 1px solid #cfd8e3;
	border-radius: var(--itp-radius);
	background: #fff;
	color: var(--itp-ink);
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.select2-container--default.select2-container--focus .select2-selection--single {
	border-color: var(--itp-primary);
	box-shadow: 0 0 0 3px rgba(0, 69, 130, .12);
	outline: none;
}

.site-footer,
footer.site-footer,
.footer-wrapper,
.footer-main {
	background: #0b1625;
	color: #d0d5dd;
	border-top: 0;
	padding-top: 34px;
}

.site-footer a,
footer.site-footer a,
.footer-wrapper a {
	color: #f8fafc;
}

.site-footer .widget-title,
footer.site-footer .widget-title,
.footer-wrapper .widget-title {
	color: #fff;
	font-size: 15px;
	font-weight: 800;
}

.site-footer input[type="email"],
.footer-wrapper input[type="email"],
.newsletter input[type="email"] {
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: var(--itp-radius);
	min-height: 44px;
}

.newsletter,
.newsletter-wrapper,
.site-newsletter {
	background: #f3f6fa;
	border-top: 1px solid var(--itp-line);
	border-bottom: 1px solid var(--itp-line);
}

.gdpr-content,
.cookie-notice,
.klb-cookie,
.newsletter-popup {
	border-radius: var(--itp-radius) !important;
	box-shadow: var(--itp-shadow) !important;
}

.gtranslate_wrapper,
.gt_switcher,
.gt_float_switcher {
	font-size: 13px;
}

.itp-image-missing {
	background-image: linear-gradient(135deg, #f8fafc, #eef2f6);
}

.itp-image-missing img {
	visibility: hidden;
}

.itp-image-missing::after {
	content: "Image coming soon";
	display: grid;
	place-items: center;
	min-height: 180px;
	color: var(--itp-muted);
	font-size: 13px;
	font-weight: 700;
}

@media (max-width: 1024px) {
	.container,
	.site-container,
	.elementor-section .elementor-container {
		max-width: calc(100% - 28px);
	}

	.site-header .header-main,
	.header-main .container,
	.header-wrapper .container {
		min-height: 64px;
	}
}

@media (max-width: 768px) {
	.itp-trust-strip {
		grid-template-columns: 1fr;
	}

	.woocommerce ul.products,
	.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.woocommerce-loop-product__title,
	.product-title,
	.product-name,
	.products .product h2,
	.products .product h3 {
		font-size: 13px !important;
		min-height: 36px;
	}

	.woocommerce div.product .product_title {
		font-size: 28px;
	}

	.site-footer,
	footer.site-footer,
	.footer-wrapper,
	.footer-main {
		padding-top: 24px;
	}
}

@media (max-width: 480px) {
	.container,
	.site-container,
	.elementor-section .elementor-container {
		max-width: calc(100% - 20px);
	}

	.woocommerce ul.products,
	.products {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.woocommerce a.button,
	.woocommerce button.button,
	.single_add_to_cart_button,
	.checkout-button {
		width: 100%;
	}
}

