/*
Theme Name: navestad-oceanwp-child
Theme URI: https://www.navestad.no/
Description: Update-safe child theme for Navestad AS. Keeps custom WooCommerce supplier/product functionality separate from OceanWP updates.
Author: Navestad AS
Template: oceanwp
Version: 1.0.8
Text Domain: navestad-oceanwp-child
WPVibe: yes
*/

/* OceanWP's top bar is enabled in theme settings but contains no content.
 * On mobile it still reserves vertical space above the Elementor header. */
#top-bar-wrap {
	display: none !important;
}

/* Single products: remove the default blog sidebar and use the full content width. */
.single-product #right-sidebar {
	display: none !important;
}
.single-product #primary,
.single-product .content-area {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	border: 0 !important;
	padding-right: 0 !important;
}

/* --------------------------------------------------------------------------
 * Våre produkter archive
 * -------------------------------------------------------------------------- */
.elementor-page-1725 .side-menu-shop-page > .elementor-container {
	align-items: flex-start !important;
}

@media (min-width: 1025px) {
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-7a589c4 {
		width: 27% !important;
		flex: 0 0 27% !important;
		max-width: 27% !important;
	}
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-bf732e6 {
		width: 73% !important;
		flex: 0 0 73% !important;
		max-width: 73% !important;
	}
}

.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap {
	padding-right: 28px !important;
}

.elementor-page-1725 .woof_container_inner h4,
.elementor-page-1725 .woo-products-name-filter + * {
	margin-top: 0;
}

.elementor-page-1725 .woof_list,
.elementor-page-1725 .woo-products {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.elementor-page-1725 .woof_list li,
.elementor-page-1725 .woo-products li {
	list-style: none !important;
	margin: 0 !important;
	padding: 8px 0 !important;
	line-height: 1.45 !important;
}

.elementor-page-1725 .woo-products label,
.elementor-page-1725 .woof_list label {
	display: flex !important;
	align-items: flex-start !important;
	gap: 8px !important;
	cursor: pointer;
}

.elementor-page-1725 .woo-products input,
.elementor-page-1725 .woof_list input[type="checkbox"] {
	flex: 0 0 auto;
	margin-top: 4px !important;
}

.navestad-products-loop {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px 24px;
	margin: 0;
	padding: 0;
}

.navestad-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100%;
	background: #fff;
	border: 1px solid #e9edf2;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 8px 28px rgba(18, 48, 79, 0.09);
	transition: transform .2s ease, box-shadow .2s ease;
}

.navestad-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 34px rgba(18, 48, 79, 0.14);
}

.navestad-product-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 250px;
	padding: 22px;
	background: #fff;
	border-bottom: 1px solid #eef1f4;
}

.navestad-product-card__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.navestad-product-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 18px 18px 20px;
}

.navestad-product-card__supplier {
	display: inline-block;
	margin-bottom: 7px;
	font-size: 13px;
	font-style: italic;
	line-height: 1.3;
	color: #7a8794;
}

.navestad-product-card__title {
	margin: 0 0 10px !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	word-break: normal !important;
	overflow-wrap: anywhere;
}

.navestad-product-card__title a {
	color: #1d2732 !important;
}

.navestad-product-card__description {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	margin: 0 0 18px !important;
	font-size: 14px;
	line-height: 1.55;
	color: #5f6b76;
}

.navestad-product-card__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 9px 15px;
	border: 1px solid #134078;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .02em;
	color: #134078 !important;
	background: #fff;
}

.navestad-product-card__button:hover {
	background: #134078;
	color: #fff !important;
}

.navestad-products-empty {
	padding: 18px 20px;
	border: 1px solid #e4e8ed;
	border-radius: 8px;
	background: #f8fafc;
}

/* --------------------------------------------------------------------------
 * Leverandører page
 * -------------------------------------------------------------------------- */
.page-id-526 .elementor-element-c98a921 > .elementor-container,
.page-id-526 .elementor-element-7d7dded > .elementor-container {
	align-items: flex-start !important;
}

@media (min-width: 1025px) {
	.page-id-526 .elementor-element-c98a921 > .elementor-container > .elementor-element-7248fb8,
	.page-id-526 .elementor-element-7d7dded > .elementor-container > .elementor-element-be779c7 {
		width: 27% !important;
		flex: 0 0 27% !important;
		max-width: 27% !important;
	}
	.page-id-526 .elementor-element-c98a921 > .elementor-container > .elementor-element-b0259e1,
	.page-id-526 .elementor-element-7d7dded > .elementor-container > .elementor-element-91d262a {
		width: 73% !important;
		flex: 0 0 73% !important;
		max-width: 73% !important;
	}
}

.page-id-526 .elementor-element-be779c7 > .elementor-widget-wrap {
	padding-right: 30px !important;
}

.page-id-526 ul.product-categories,
.page-id-526 ul.product-categories ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.page-id-526 ul.product-categories > li.category {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	border-bottom: 1px solid #e7ebef;
}

.page-id-526 ul.product-categories .cat-link-co {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 0;
}

.page-id-526 ul.product-categories .cat-link-co .cat-link {
	min-width: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.35;
}

.page-id-526 ul.product-categories .plus-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	cursor: pointer;
}

.page-id-526 ul.product-categories .all-products {
	display: none;
	padding: 0 0 12px 14px !important;
	border-left: 2px solid #eef2f5;
}

.page-id-526 ul.product-categories li.category.active > .all-products {
	display: block;
}

.page-id-526 ul.product-categories .all-products li {
	margin: 0 !important;
	padding: 5px 0 5px 12px !important;
	list-style: none !important;
	font-size: 14px;
	line-height: 1.45;
}

.page-id-526 .cat-column {
	width: 100%;
	margin: 0;
	padding: 0;
}

.page-id-526 .cat-column .cat-inner {
	display: grid !important;
	grid-template-columns: 280px minmax(0, 1fr);
	align-items: center !important;
	gap: 30px;
	width: 100%;
	padding: 30px 0;
	border-top: 1px solid #e7ebef;
}

.page-id-526 .cat-column:first-child .cat-inner {
	border-top: 0;
	padding-top: 0;
}

.page-id-526 .cat-image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 280px !important;
	height: 220px !important;
	margin: 0 !important;
	padding: 18px !important;
	float: none !important;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid #edf0f3;
	border-radius: 14px !important;
	box-shadow: 0 8px 26px rgba(18, 48, 79, 0.10) !important;
	overflow: hidden !important;
}

.page-id-526 .cat-image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.page-id-526 .cat-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
}

.page-id-526 .cat_content {
	min-width: 0;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.page-id-526 .cat_name {
	display: flex;
	align-items: center;
	gap: 20px;
	min-width: 0;
	margin-bottom: 12px;
}

.page-id-526 .cat_name .c-title {
	flex: 0 0 auto;
}

.page-id-526 .cat_name .c-title h2 {
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
}

.page-id-526 .logo_img_t {
	display: flex;
	align-items: center;
	min-width: 0;
	margin: 0 !important;
}

.page-id-526 .logo_img_t img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 190px !important;
	max-height: 58px !important;
	object-fit: contain;
	margin: 0 !important;
}

.page-id-526 .cat-description p {
	margin: 0 !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	color: #4d5863;
}

.page-id-526 .cat-description .cat-link a {
	white-space: nowrap;
	font-weight: 600;
	color: #134078 !important;
}

@media (max-width: 1024px) {
	.navestad-products-loop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap,
	.page-id-526 .elementor-element-be779c7 > .elementor-widget-wrap {
		padding-right: 15px !important;
	}

	.page-id-526 .cat-column .cat-inner {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: 24px;
	}

	.page-id-526 .cat-image {
		width: 240px !important;
		height: 200px !important;
	}
}

@media (max-width: 767px) {
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-column,
	.page-id-526 .elementor-element-c98a921 > .elementor-container > .elementor-column,
	.page-id-526 .elementor-element-7d7dded > .elementor-container > .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap,
	.page-id-526 .elementor-element-be779c7 > .elementor-widget-wrap {
		padding-right: 0 !important;
	}

	.navestad-products-loop {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}

	.navestad-product-card__image {
		height: 220px;
	}

	.page-id-526 .cat-column .cat-inner {
		display: block !important;
		padding: 26px 0;
	}

	.page-id-526 .cat-image {
		width: 100% !important;
		height: 230px !important;
		margin: 0 0 22px !important;
	}

	.page-id-526 .cat_name {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}

	.page-id-526 .logo_img_t img {
		max-width: 170px !important;
		max-height: 52px !important;
	}
}

/* --------------------------------------------------------------------------
 * Responsive/filter refinements - keep these scoped to the two rebuilt pages
 * -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-7a589c4 {
		width: 25% !important;
		flex: 0 0 25% !important;
		max-width: 25% !important;
	}
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-bf732e6 {
		width: 75% !important;
		flex: 0 0 75% !important;
		max-width: 75% !important;
	}
}

@media (min-width: 1025px) and (max-width: 1199px) {
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-7a589c4 {
		width: 30% !important;
		flex: 0 0 30% !important;
		max-width: 30% !important;
	}
	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-element-bf732e6 {
		width: 70% !important;
		flex: 0 0 70% !important;
		max-width: 70% !important;
	}
	.navestad-products-loop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap {
	padding: 20px !important;
	background: #fbfcfd;
	border: 1px solid #e7ebef;
	border-radius: 14px;
	box-sizing: border-box;
}

.elementor-page-1725 .woof_container_inner h4,
.elementor-page-1725 .elementor-element-3a61f25 h4 {
	margin: 0 0 10px !important;
	padding: 0 0 10px !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	border-bottom: 1px solid #e7ebef !important;
}

.elementor-page-1725 .elementor-element-3a61f25 {
	margin-top: 18px !important;
	margin-bottom: 0 !important;
}

.elementor-page-1725 .woof_list li,
.elementor-page-1725 .woo-products li {
	min-width: 0;
	min-height: 42px;
	box-sizing: border-box;
	border-bottom: 1px solid #e8edf1 !important;
	font-size: 16px !important;
}

.elementor-page-1725 .woof_list li:not(.all) {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center;
	column-gap: 10px;
	padding: 8px 0 !important;
}

.elementor-page-1725 .woof_list li:not(.all) > .icheckbox_square-blue,
.elementor-page-1725 .woof_list li:not(.all) > .icheckbox_square,
.elementor-page-1725 .woof_list li:not(.all) > .icheckbox_flat-blue,
.elementor-page-1725 .woof_list li:not(.all) > .icheckbox_minimal-blue {
	grid-column: 1;
	margin: 0 !important;
	transform: scale(.88);
	transform-origin: center;
}

.elementor-page-1725 .woof_list li:not(.all) > label {
	grid-column: 2;
	display: flex !important;
	align-items: baseline !important;
	justify-content: flex-start !important;
	gap: 5px !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

.elementor-page-1725 .woof_list li:not(.all) > input[type="hidden"] {
	display: none !important;
}

.elementor-page-1725 .woof_list li.all {
	padding: 8px 0 !important;
}

.elementor-page-1725 .woof_list li.all > label,
.elementor-page-1725 .woo-products li > label {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr);
	align-items: center !important;
	column-gap: 10px !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
}

.elementor-page-1725 .woof_list li.all input[type="checkbox"],
.elementor-page-1725 .woo-products input[type="checkbox"] {
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	accent-color: #134078;
}

.elementor-page-1725 .woof_checkbox_count {
	margin-left: 2px;
	font-size: .92em;
	color: #687684;
}

.elementor-page-1725 .woo-products .product-title,
.elementor-page-1725 .woof_list .product-title {
	min-width: 0;
	line-height: 1.35;
}

.elementor-page-1725 .woo-products li {
	padding: 7px 0 !important;
}

.navestad-product-card__image {
	height: 235px;
	padding: 20px;
}

.navestad-product-card__body {
	padding: 18px 20px 20px;
}

.navestad-product-card__title {
	font-size: 17px !important;
	overflow-wrap: break-word !important;
}

@media (max-width: 1024px) {
	.elementor-page-1725 .side-menu-shop-page > .elementor-container,
	.page-id-526 .elementor-element-7d7dded > .elementor-container {
		flex-wrap: wrap !important;
	}

	.elementor-page-1725 .side-menu-shop-page > .elementor-container > .elementor-column,
	.page-id-526 .elementor-element-7d7dded > .elementor-container > .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto 1fr;
		column-gap: 28px;
		row-gap: 0;
		margin-bottom: 28px;
		padding: 20px !important;
	}

	.elementor-page-1725 .elementor-element-4cb1be9 {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin-bottom: 0 !important;
	}

	.elementor-page-1725 .elementor-element-3a61f25 {
		grid-column: 2;
		grid-row: 1;
		margin-top: 0 !important;
	}

	.elementor-page-1725 .elementor-element-39be898 {
		grid-column: 2;
		grid-row: 2;
	}

	.navestad-products-loop {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}

	.page-id-526 .elementor-element-c98a921 > .elementor-container > .elementor-element-7248fb8 {
		display: none !important;
	}

	.page-id-526 .elementor-element-c98a921 > .elementor-container > .elementor-element-b0259e1 {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.page-id-526 .elementor-element-be779c7 > .elementor-widget-wrap {
		padding-right: 0 !important;
		margin-bottom: 26px;
	}

	.page-id-526 ul.product-categories {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 24px;
	}
}

@media (max-width: 767px) {
	.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap {
		display: block;
		margin-bottom: 24px;
		padding: 16px !important;
	}

	.elementor-page-1725 .elementor-element-3a61f25 {
		margin: 20px 0 0 !important;
	}

	/* Keep the mobile Products filter heading and first checkbox row clearly
	   separated. The old Elementor/global list styles could visually pull the
	   first product into the heading divider on narrow screens. */
	.elementor-page-1725 .elementor-element-3a61f25 h4 {
		margin: 0 !important;
		padding: 0 0 12px !important;
		border-bottom: 1px solid #dfe5ea !important;
	}

	.elementor-page-1725 .elementor-element-39be898,
	.elementor-page-1725 .elementor-element-39be898 .elementor-widget-container,
	.elementor-page-1725 .elementor-element-39be898 .elementor-shortcode {
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-page-1725 .elementor-element-39be898 .woo-products {
		margin: 0 !important;
		padding: 0 !important;
	}

	.elementor-page-1725 .elementor-element-39be898 .woo-products li {
		display: block !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border-bottom: 1px solid #e3e8ed !important;
	}

	.elementor-page-1725 .elementor-element-39be898 .woo-products li > label {
		display: grid !important;
		grid-template-columns: 24px minmax(0, 1fr) !important;
		align-items: start !important;
		column-gap: 12px !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 14px 0 !important;
		box-sizing: border-box;
	}

	.elementor-page-1725 .elementor-element-39be898 .woo-products input[type="checkbox"] {
		width: 20px !important;
		height: 20px !important;
		margin: 1px 0 0 !important;
	}

	.elementor-page-1725 .elementor-element-39be898 .woo-products .product-title {
		display: block;
		min-width: 0;
		font-size: 16px !important;
		line-height: 1.4 !important;
		overflow-wrap: anywhere;
		word-break: normal;
	}

	.navestad-products-loop {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.navestad-product-card__image {
		height: 210px;
		padding: 16px;
	}

	.navestad-product-card__body {
		padding: 16px 16px 18px;
	}

	.page-id-526 ul.product-categories {
		display: block !important;
	}
}

@media (max-width: 420px) {
	.elementor-page-1725 .side-menu-shop-page .elementor-element-7a589c4 > .elementor-widget-wrap {
		padding: 14px !important;
	}

	.navestad-product-card {
		border-radius: 12px;
	}

	.navestad-product-card__image {
		height: 190px;
	}

	.navestad-product-card__title {
		font-size: 16px !important;
	}
}

/* --------------------------------------------------------------------------
 * Supplier category pages - stable category header + product list
 * -------------------------------------------------------------------------- */
.tax-product_cat .category-landing-page-head > .elementor-container {
	align-items: center !important;
}

.tax-product_cat .category-landing-page-head .c-main-img,
.tax-product_cat .category-landing-page-head .category-description,
.tax-product_cat .category-landing-page-head .elementor-element-ac2fa0b {
	min-width: 0;
}

/* Elementor's legacy 33/33/33 column widths can allow the supplier logo
   column to intrude into a long description. Give each region an explicit,
   non-overlapping flex allocation on desktop while keeping the description
   fluid. */
@media (min-width: 1025px) {
	.tax-product_cat .category-landing-page-head > .elementor-container {
		display: flex !important;
		flex-wrap: nowrap !important;
		column-gap: 34px !important;
	}

	.tax-product_cat .category-landing-page-head > .elementor-container > .c-main-img {
		width: 26% !important;
		max-width: 26% !important;
		flex: 0 0 26% !important;
	}

	.tax-product_cat .category-landing-page-head > .elementor-container > .category-description {
		width: auto !important;
		max-width: none !important;
		flex: 1 1 0 !important;
	}

	.tax-product_cat .category-landing-page-head > .elementor-container > .elementor-element-ac2fa0b {
		width: 22% !important;
		max-width: 22% !important;
		flex: 0 0 22% !important;
		align-self: center !important;
	}

	.tax-product_cat .category-landing-page-head .elementor-element-ac2fa0b > .elementor-widget-wrap {
		position: static !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}

.tax-product_cat .category-landing-page-head .c-main-img img {
	display: block !important;
	width: 100% !important;
	height: 280px !important;
	object-fit: contain !important;
	padding: 22px !important;
	background: #fff;
	border: 1px solid #e7ebef;
	border-radius: 14px;
	box-shadow: 0 8px 24px rgba(18, 48, 79, 0.08);
	box-sizing: border-box;
}

.tax-product_cat .category-description .elementor-heading-title {
	margin-bottom: 14px !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #1d2732 !important;
}

.tax-product_cat .category-description .elementor-widget-text-editor,
.tax-product_cat .category-description .elementor-widget-text-editor p {
	font-size: 15px !important;
	line-height: 1.7 !important;
	color: #48545f !important;
}

.tax-product_cat .cate-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	margin: 0 !important;
	padding: 18px !important;
	background: #fff;
	border: 1px solid #e7ebef;
	border-radius: 14px;
	box-sizing: border-box;
}

.tax-product_cat .cate-logo img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 220px !important;
	max-height: 110px !important;
	object-fit: contain !important;
	margin: 0 auto !important;
}

.tax-product_cat .category-products-section {
	margin-top: 34px;
}

.tax-product_cat .elementor-element-e940a58 > .elementor-container {
	max-width: 1140px;
}

.tax-product_cat .product-list-main {
	display: grid !important;
	grid-template-columns: minmax(260px, 310px) minmax(0, 1fr);
	gap: 28px;
	align-items: stretch;
	width: 100% !important;
	margin: 0 0 28px !important;
	padding: 0 !important;
	float: none !important;
	background: #fff;
	border: 1px solid #e7ebef;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(18, 48, 79, 0.08);
	overflow: hidden;
	box-sizing: border-box;
}

.tax-product_cat .product-list-main .image-column,
.tax-product_cat .product-list-main .text-description-column {
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
	margin: 0 !important;
}

.tax-product_cat .product-list-main .image-column {
	display: flex;
	align-items: stretch;
}

.tax-product_cat .product-list-main .image-container {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 255px;
	margin: 0 !important;
	padding: 22px !important;
	background: #fbfcfd;
	border-right: 1px solid #eef1f4;
	box-sizing: border-box;
}

.tax-product_cat .product-list-main .image-container a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.tax-product_cat .product-list-main .image-container img {
	display: block !important;
	width: 100% !important;
	height: 220px !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.tax-product_cat .product-list-main .text-description-column {
	display: flex;
	align-items: stretch;
}

.tax-product_cat .product-list-main .inner-text {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
	padding: 26px 28px 26px 0;
}

.tax-product_cat .product-list-main .product-title {
	display: flex !important;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	min-width: 0;
	margin: 0 0 14px !important;
}

.tax-product_cat .product-list-main .p-title {
	min-width: 0;
	flex: 1 1 auto;
}

.tax-product_cat .product-list-main .p-title h3 {
	margin: 0 !important;
	font-size: 22px !important;
	font-weight: 650 !important;
	line-height: 1.35 !important;
	color: #1d2732 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

.tax-product_cat .product-list-main .w-icon {
	display: flex !important;
	align-items: center;
	justify-content: flex-end;
	flex: 0 0 105px;
	width: 105px !important;
	min-width: 105px;
	margin: 0 !important;
	padding: 0 !important;
}

.tax-product_cat .product-list-main .w-icon img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 100px !important;
	max-height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
	border: 0 !important;
	box-shadow: none !important;
}

.tax-product_cat .product-list-main .p-description {
	margin: 0 0 20px !important;
	font-size: 15px !important;
	line-height: 1.65 !important;
	color: #5f6b76 !important;
}

.tax-product_cat .product-list-main .read-more-button {
	margin-top: auto;
}

.tax-product_cat .product-list-main .read-more-button a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 16px;
	border: 1px solid #134078;
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	color: #134078 !important;
	background: #fff;
}

.tax-product_cat .product-list-main .read-more-button a:hover {
	background: #134078;
	color: #fff !important;
}

@media (max-width: 1024px) {
	.tax-product_cat .category-landing-page-head > .elementor-container {
		flex-wrap: wrap !important;
	}

	.tax-product_cat .category-landing-page-head > .elementor-container > .elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.tax-product_cat .category-landing-page-head .c-main-img,
	.tax-product_cat .category-landing-page-head .category-description,
	.tax-product_cat .category-landing-page-head .elementor-element-ac2fa0b {
		margin-bottom: 20px;
	}

	.tax-product_cat .category-landing-page-head .c-main-img img {
		height: 320px !important;
	}

	.tax-product_cat .cate-logo {
		justify-content: flex-start;
	}

	.tax-product_cat .product-list-main {
		grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
		gap: 22px;
	}

	.tax-product_cat .product-list-main .inner-text {
		padding: 22px 22px 22px 0;
	}

	.tax-product_cat .product-list-main .p-title h3 {
		font-size: 20px !important;
	}
}

@media (max-width: 767px) {
	.tax-product_cat .category-landing-page-head .c-main-img img {
		height: 245px !important;
		padding: 16px !important;
	}

	.tax-product_cat .category-description .elementor-heading-title {
		font-size: 26px !important;
	}

	.tax-product_cat .product-list-main {
		display: block !important;
		margin-bottom: 22px !important;
	}

	.tax-product_cat .product-list-main .image-container {
		min-height: 220px;
		padding: 18px !important;
		border-right: 0;
		border-bottom: 1px solid #eef1f4;
	}

	.tax-product_cat .product-list-main .image-container img {
		height: 200px !important;
	}

	.tax-product_cat .product-list-main .inner-text {
		padding: 20px !important;
	}

	.tax-product_cat .product-list-main .product-title {
		gap: 14px;
	}

	.tax-product_cat .product-list-main .w-icon {
		flex-basis: 90px;
		width: 90px !important;
		min-width: 90px;
	}

	.tax-product_cat .product-list-main .w-icon img {
		max-width: 86px !important;
		max-height: 42px !important;
	}

	.tax-product_cat .product-list-main .p-title h3 {
		font-size: 19px !important;
	}
}

@media (max-width: 420px) {
	.tax-product_cat .product-list-main .product-title {
		flex-direction: column;
	}

	.tax-product_cat .product-list-main .w-icon {
		justify-content: flex-start;
		width: auto !important;
		min-width: 0;
		flex-basis: auto;
	}

	.tax-product_cat .product-list-main .image-container img {
		height: 180px !important;
	}
}

/* --------------------------------------------------------------------------
 * Single product pages - stable full-width product + related products layout
 * -------------------------------------------------------------------------- */
.single-product #right-sidebar {
	display: none !important;
}

.single-product #content-wrap,
.single-product #primary,
.single-product .content-area {
	width: 100% !important;
	max-width: 1200px !important;
	float: none !important;
	border: 0 !important;
}

.single-product #content-wrap {
	padding-top: 42px !important;
	padding-bottom: 54px !important;
}

.single-product #primary {
	max-width: none !important;
	padding-right: 0 !important;
}

.single-product .owp-floating-bar {
	display: none !important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary {
	box-sizing: border-box;
}

.single-product div.product .woocommerce-product-gallery {
	width: 52% !important;
	margin-right: 4% !important;
}

.single-product div.product .summary {
	width: 44% !important;
}

.single-product div.product .woocommerce-product-gallery__wrapper {
	margin: 0 !important;
}

.single-product div.product .woocommerce-product-gallery__image > a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	min-height: 0;
	padding: 24px;
	background: #fff;
	border: 1px solid #e7ebef;
	border-radius: 16px;
	box-shadow: 0 8px 28px rgba(18, 48, 79, 0.08);
	box-sizing: border-box;
}

.single-product div.product .woocommerce-product-gallery__image img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
}

.single-product div.product .flex-control-thumbs {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-auto-flow: row !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 100% !important;
	clear: both !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
	box-sizing: border-box !important;
}

.single-product div.product .flex-control-thumbs::before,
.single-product div.product .flex-control-thumbs::after {
	content: none !important;
	display: none !important;
}

.single-product div.product .flex-control-thumbs li {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	box-sizing: border-box !important;
}

.single-product div.product .flex-control-thumbs img {
	display: block !important;
	width: 100% !important;
	height: 86px !important;
	object-fit: contain !important;
	padding: 8px !important;
	margin: 0 !important;
	background: #fff;
	border: 1px solid #e7ebef !important;
	border-radius: 8px !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	opacity: .68 !important;
	transition: opacity .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.single-product div.product .flex-control-thumbs img.flex-active,
.single-product div.product .flex-control-thumbs img:hover {
	opacity: 1 !important;
	border-color: #134078 !important;
	box-shadow: 0 0 0 1px rgba(19, 64, 120, .08) !important;
}

.single-product div.product .summary .product_title {
	margin-bottom: 18px !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: #1d2732 !important;
}

.single-product div.product .woocommerce-product-details__short-description,
.single-product div.product .woocommerce-product-details__short-description p {
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.75 !important;
	color: #3f4a55 !important;
}

.single-product div.product .product_meta {
	margin-top: 24px !important;
	padding-top: 18px;
	border-top: 1px solid #e7ebef;
	font-size: 14px;
	line-height: 1.7;
}

.single-product .woocommerce-tabs {
	clear: both;
	padding-top: 44px;
}

.single-product .woocommerce-tabs ul.tabs,
.single-product .woocommerce-tabs ul.tabs li {
	list-style: none !important;
}

/* Reset the legacy global `.woocommerce ul { list-style: disc; ... }` only
   where OceanWP uses lists as product-card layout wrappers. */
.single-product section.related.products ul.products,
.single-product section.related.products ul.woo-entry-inner,
.single-product section.related.products ul.products li,
.single-product section.related.products ul.woo-entry-inner li {
	list-style: none !important;
}

.single-product section.related.products ul.products,
.single-product section.related.products ul.woo-entry-inner {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

.single-product section.related.products {
	clear: both;
	margin-top: 54px !important;
	padding-top: 34px;
	border-top: 1px solid #e7ebef;
}

.single-product section.related.products > h2 {
	margin: 0 0 24px !important;
	font-size: 25px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: #1d2732;
}

.single-product section.related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 26px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product section.related.products ul.products::before,
.single-product section.related.products ul.products::after {
	content: none !important;
	display: none !important;
}

.single-product section.related.products ul.products > li.product {
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	float: none !important;
	clear: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #e7ebef !important;
	border-radius: 15px !important;
	box-shadow: 0 8px 26px rgba(18, 48, 79, 0.08) !important;
	overflow: hidden !important;
}

/* OceanWP currently outputs a duplicate image block before .woo-entry-inner.
   Keep the structured image-wrap version and hide only that duplicate. */
.single-product section.related.products .product-inner > .woo-entry-image {
	display: none !important;
}

.single-product section.related.products .product-inner,
.single-product section.related.products .woo-entry-inner {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product section.related.products .woo-entry-inner > li {
	width: 100% !important;
	margin: 0 !important;
	box-sizing: border-box;
}

.single-product section.related.products .woo-entry-inner > li.image-wrap {
	order: 0;
	padding: 0 !important;
}

.single-product section.related.products .image-wrap .woo-entry-image {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
}

.single-product section.related.products .image-wrap .woocommerce-LoopProduct-link {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 245px;
	padding: 22px;
	background: #fff;
	border-bottom: 1px solid #eef1f4;
	box-sizing: border-box;
}

.single-product section.related.products img.woo-entry-image-main {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.single-product section.related.products img.woo-entry-image-secondary {
	display: none !important;
}

.single-product section.related.products .woo-entry-inner > li.category {
	order: 1;
	padding: 16px 18px 4px !important;
	font-size: 13px !important;
	font-style: italic;
	line-height: 1.3 !important;
	color: #7a8794 !important;
}

.single-product section.related.products .woo-entry-inner > li.category a {
	color: #7a8794 !important;
}

.single-product section.related.products .woo-entry-inner > li.title {
	order: 2;
	padding: 0 18px 10px !important;
}

.single-product section.related.products .woo-entry-inner > li.title h2,
.single-product section.related.products .woo-entry-inner > li.title a {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	color: #1d2732 !important;
	word-break: normal !important;
	overflow-wrap: break-word !important;
}

.single-product section.related.products .woo-entry-inner > li.price-wrap,
.single-product section.related.products .woo-entry-inner > li.rating {
	display: none !important;
}

.single-product section.related.products .woo-entry-inner > li.btn-wrap {
	order: 5;
	margin-top: auto !important;
	padding: 8px 18px 20px !important;
}

.single-product section.related.products .btn-wrap .button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	float: none !important;
	min-height: 40px;
	padding: 9px 15px !important;
	border: 1px solid #134078 !important;
	border-radius: 5px !important;
	background: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
	color: #134078 !important;
}

.single-product section.related.products .btn-wrap .button:hover {
	background: #134078 !important;
	color: #fff !important;
}

@media (max-width: 1024px) {
	.single-product #content-wrap {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.single-product section.related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.single-product section.related.products .image-wrap .woocommerce-LoopProduct-link {
		height: 230px;
	}
}

@media (max-width: 767px) {
	.single-product #content-wrap {
		padding-top: 28px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary {
		width: 100% !important;
		float: none !important;
		margin-right: 0 !important;
	}

	.single-product div.product .summary {
		margin-top: 28px !important;
	}

	.single-product div.product .woocommerce-product-gallery__image > a {
		aspect-ratio: 4 / 3;
		min-height: 0;
		padding: 18px;
	}

	.single-product div.product .woocommerce-product-gallery__image img {
		max-height: 100% !important;
	}

	.single-product div.product .flex-control-thumbs {
		gap: 8px !important;
	}

	.single-product div.product .flex-control-thumbs img {
		height: 72px !important;
		padding: 6px !important;
	}

	.single-product div.product .summary .product_title {
		font-size: 25px !important;
	}

	.single-product .woocommerce-tabs {
		padding-top: 32px;
	}

	.single-product section.related.products {
		margin-top: 38px !important;
		padding-top: 28px;
	}

	.single-product section.related.products ul.products {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 20px !important;
	}

	.single-product section.related.products .image-wrap .woocommerce-LoopProduct-link {
		height: 225px;
	}
}

@media (max-width: 420px) {
	.single-product #content-wrap {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.single-product div.product .woocommerce-product-gallery__image > a {
		aspect-ratio: 4 / 3;
		min-height: 0;
		padding: 14px;
	}

	.single-product div.product .flex-control-thumbs {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 6px !important;
	}

	.single-product div.product .flex-control-thumbs img {
		height: 60px !important;
		padding: 5px !important;
	}

	.single-product section.related.products .image-wrap .woocommerce-LoopProduct-link {
		height: 200px;
		padding: 16px;
	}
}

/* --------------------------------------------------------------------------
 * QA pass: neutralize legacy responsive offsets and stabilize contact forms
 * -------------------------------------------------------------------------- */
.tax-product_cat .category-landing-page-head .c-main-img .elementor-widget-container {
	margin: 0 !important;
	background: transparent !important;
}

.tax-product_cat .elementor-873 .elementor-element.elementor-element-c812119 > .elementor-container > .elementor-column > .elementor-widget-wrap {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.kontakt-form {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px 20px;
	width: 100% !important;
	max-width: 1100px;
	margin: 0 auto;
	box-sizing: border-box;
}

.kontakt-form .first-line {
	grid-column: span 2;
}

.kontakt-form .second-line {
	grid-column: span 3;
}

.kontakt-form .message-field,
.kontakt-form .text-center {
	grid-column: 1 / -1;
}

.kontakt-form .first-line,
.kontakt-form .second-line,
.kontakt-form .message-field {
	width: auto !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-sizing: border-box;
}

.kontakt-form label {
	display: block;
	width: 100%;
}

.kontakt-form input:not([type="submit"]),
.kontakt-form textarea {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.kontakt-form textarea.wpcf7-form-control.wpcf7-textarea {
	height: 160px !important;
	min-height: 160px !important;
	resize: vertical;
}

.kontakt-form .text-center {
	margin-top: 4px;
}

.kontakt-form input[type="submit"] {
	width: auto !important;
}

@media (max-width: 1024px) {
	.tax-product_cat .elementor-873 .elementor-element.elementor-element-c812119 > .elementor-container > .elementor-column > .elementor-widget-wrap {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width: 767px) {
	.kontakt-form {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
		padding: 0 4px;
	}

	.kontakt-form .first-line,
	.kontakt-form .second-line,
	.kontakt-form .message-field,
	.kontakt-form .text-center {
		grid-column: auto;
		width: 100% !important;
	}

	.kontakt-form textarea.wpcf7-form-control.wpcf7-textarea {
		height: 150px !important;
		min-height: 150px !important;
	}
}

/* Search results: replace legacy fixed thumbnail offsets with a stable layout. */
.search-results .elementor-2187 .elementor-posts-container {
	grid-template-columns: minmax(0, 1fr) !important;
	row-gap: 28px !important;
}

.search-results .elementor-2187 article.elementor-post {
	display: grid !important;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
	width: 100% !important;
	min-width: 0;
	padding: 0 0 28px !important;
	border-bottom: 1px solid #e7ebef;
	box-sizing: border-box;
}

.search-results .elementor-2187 .elementor-post__thumbnail__link {
	display: block !important;
	width: 250px !important;
	max-width: 100%;
	margin: 0 !important;
}

.search-results .elementor-2187 .elementor-post__thumbnail {
	position: relative !important;
	width: 250px !important;
	height: 210px !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 18px rgb(0 0 0 / 10%) !important;
	background: #fff;
	overflow: hidden !important;
}

.search-results .elementor-2187 .elementor-post__thumbnail img {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 16px !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
	box-sizing: border-box;
}

.search-results .elementor-2187 .elementor-post__text {
	min-width: 0;
	margin: 0 !important;
}

.search-results .elementor-2187 .elementor-post__title {
	margin: 0 0 8px !important;
	line-height: 1.35;
}

.search-results .elementor-2187 .elementor-post__excerpt p {
	margin: 0 0 12px !important;
	line-height: 1.65 !important;
}

@media (max-width: 767px) {
	.search-results .content-area {
		padding-right: 0 !important;
	}

	.search-results .elementor-2187 article.elementor-post {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.search-results .elementor-2187 .elementor-post__thumbnail__link,
	.search-results .elementor-2187 .elementor-post__thumbnail {
		width: 100% !important;
	}

	.search-results .elementor-2187 .elementor-post__thumbnail {
		height: 220px !important;
	}
}

/* QA pass: remove legacy footer offsets that can push content off-center. */
@media (max-width: 991px) {
	.elementor-location-footer .elementor-icon-box-wrapper,
	.elementor-location-footer .elementor-36 .elementor-element.elementor-element-989bbc6 {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.elementor-location-footer span.sal {
		margin-left: 0 !important;
	}
}

/* Utility WooCommerce pages: keep the account UI clean and full-width. */
.woocommerce-account #primary {
	width: 100% !important;
	padding-right: 0 !important;
	border-right: 0 !important;
}

.woocommerce-account #right-sidebar {
	display: none !important;
}

.woocommerce-account #content-wrap {
	max-width: 960px;
	padding-top: 40px;
	padding-bottom: 60px;
}

.woocommerce-account .oceanwp-loginform-wrap {
	max-width: 620px;
	margin: 0 auto;
	padding: 28px;
	background: #fff;
	border: 1px solid #e6ebef;
	border-radius: 12px;
	box-shadow: 0 8px 28px rgb(0 0 0 / 7%);
	box-sizing: border-box;
}

.woocommerce-account .woocommerce-form-login .input-text {
	width: 100% !important;
	box-sizing: border-box;
}

.woocommerce-account .woocommerce-form-login__submit {
	min-height: 42px;
	padding: 10px 20px !important;
}

.kontakt-form p {
	margin: 0 !important;
}

.kontakt-form .wpcf7-form-control-wrap {
	display: block;
	margin-top: 6px;
}

@media (max-width: 767px) {
	.woocommerce-account #content-wrap {
		padding-top: 24px;
		padding-bottom: 40px;
	}

	.woocommerce-account .oceanwp-loginform-wrap {
		padding: 20px 16px;
	}
}
