/*
Theme Name: OceanWP Child
Template: oceanwp
*/

/* Product highlights */

/* Full-width dynamic product sfeerbeeld. */
.tile-catalog-product-hero {
	position: relative;
	width: 100vw;
	height: var(--shop-hero-height, 600px);
	margin-left: calc(50% - 50vw);
	overflow: hidden;
	background: #e9e9e9;
}

.tile-catalog-product-hero__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--shop-hero-image-position, center center);
}

.tile-catalog-product-hero__overlay {
	position: absolute;
	inset: 0;
	background: var(--shop-hero-overlay-color, rgba(0, 0, 0, 0));
	pointer-events: none;
}

.tile-catalog-product-hero__title {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	width: min(90%, 1200px);
	margin: 0;
	color: var(--shop-hero-current-title-color, var(--shop-hero-title-color, #fff)) !important;
	font-size: var(--shop-hero-title-size, 48px) !important;
	font-weight: var(--shop-hero-title-weight, 700) !important;
	line-height: 1.2;
	text-align: center;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
	transform: translate(-50%, -50%);
}

/* Header cart link and live item count. */
.tile-catalog-header-cart {
	display: none;
}

#site-header .elementor-location-header .tile-catalog-header-cart {
	position: relative;
	z-index: 10;
	display: inline-flex;
	align-items: center;
	align-self: center;
	justify-content: center;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	margin: var(--shop-cart-margin-top, 0px) 12px 0 var(--shop-cart-margin-left, -8px);
	color: var(--shop-cart-icon-color, #333) !important;
	text-decoration: none;
	transform-origin: center;
}

.tile-catalog-header-cart:hover,
.tile-catalog-header-cart:focus {
	color: var(--shop-cart-icon-color, #333) !important;
}

.tile-catalog-header-cart__icon {
	display: block;
	width: var(--shop-cart-icon-size, 27px);
	height: var(--shop-cart-icon-size, 27px);
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.tile-catalog-header-cart__count {
	position: absolute;
	top: -1px;
	right: -2px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--shop-cart-count-background, #8f2430) !important;
	color: var(--shop-cart-count-color, #fff) !important;
	font-size: var(--shop-cart-count-font-size, 12px) !important;
	font-weight: 700;
	line-height: 1;
}

.tile-catalog-header-cart.is-item-added {
	animation: tile-catalog-cart-pulse .9s ease-out !important;
}

@keyframes tile-catalog-cart-pulse {
	0%, 100% { transform: scale(1); }
	25% { transform: scale(1.45); }
	50% { transform: scale(.88); }
	75% { transform: scale(1.22); }
}

@media (prefers-reduced-motion: reduce) {
	.tile-catalog-header-cart.is-item-added {
		animation: none;
	}
}

.tile-catalog-product-highlights {
	margin: 28px 0 0;
	padding: 24px 0;
	border-top: 1px solid var(--shop-section-border-color, #d5d5d5);
	border-bottom: 1px solid var(--shop-section-border-color, #d5d5d5);
}

.tile-catalog-product-highlights__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tile-catalog-product-highlights__item {
	position: relative;
	margin: 0 0 12px;
	padding-left: 32px;
	line-height: 1.4;
}

.tile-catalog-product-highlights__item:last-child {
	margin-bottom: 0;
}

.tile-catalog-product-highlights__item::before {
	content: "";
	position: absolute;
	top: 0.25em;
	left: 8px;
	width: 0;
	height: 0;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 10px solid var(--shop-accent-color, #7D1C29);
}

/* Colour selector */

.tile-catalog-colour-selector {
	padding: 22px 0 26px;
	border-bottom: 1px solid var(--shop-section-border-color, #d5d5d5);
}

.tile-catalog-colour-selector__title {
	margin: 0 0 18px;
	font-size: var(--shop-option-title-size, 21px);
	font-weight: var(--shop-option-title-weight, 400);
}

.tile-catalog-colour-selector__items {
	display: flex;
	flex-wrap: wrap;
	gap: var(--shop-colour-gap, 20px);
}

.tile-catalog-colour-selector__item {
	display: block;
	width: var(--shop-colour-thumbnail-size, 82px);
	color: inherit;
	text-decoration: none;
}

.tile-catalog-colour-selector__image {
	position: relative;
	display: block;
	width: var(--shop-colour-thumbnail-size, 82px);
	height: var(--shop-colour-thumbnail-size, 82px);
	overflow: hidden;
	border: 2px solid transparent;
	background: var(--shop-colour-thumbnail-background, #f4f4f4);
}

.tile-catalog-colour-selector__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tile-catalog-colour-selector__item:hover .tile-catalog-colour-selector__image {
	border-color: var(--shop-colour-border-hover, #999);
}

.tile-catalog-colour-selector__item.is-current .tile-catalog-colour-selector__image {
	border-color: var(--shop-colour-border-active, #222);
	box-shadow: 0 0 0 var(--shop-option-active-border-width, 3px) var(--shop-colour-border-active, #222);
}

.tile-catalog-colour-selector__name {
	display: block;
	margin-top: 7px;
	font-size: var(--shop-colour-name-size, 13px);
	line-height: 1.3;
	text-align: center;
}

/* Format selector */

.tile-catalog-format-selector {
	padding: 22px 0 26px;
	border-bottom: 1px solid var(--shop-section-border-color, #d5d5d5);
}

.tile-catalog-format-selector__title {
	margin: 0 0 18px;
	font-size: var(--shop-option-title-size, 21px);
	font-weight: var(--shop-option-title-weight, 400);
}

.tile-catalog-format-selector__items {
	display: flex;
	flex-wrap: wrap;
	gap: var(--shop-format-gap, 10px);
}

.tile-catalog-format-selector__item {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 90px;
	min-height: 42px;
	padding: 9px 16px;
	border: 1px solid var(--shop-control-border-color, #c8c8c8);
	background: var(--shop-control-background, #fff);
	color: var(--shop-control-text-color, #333);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition:
		border-color 0.2s ease,
		background-color 0.2s ease;
}

.tile-catalog-format-selector__item:hover {
	border-color: var(--shop-control-border-hover, #777);
	color: var(--shop-control-text-color, #333);
}

.tile-catalog-format-selector__item.is-current {
	border-color: var(--shop-colour-border-active, #222);
	background: var(--shop-control-background, #fff);
	color: var(--shop-control-text-color, #333);
	box-shadow: 0 0 0 var(--shop-option-active-border-width, 3px) var(--shop-colour-border-active, #222);
	cursor: default;
}

/* Order calculator */

.tile-catalog-order-calculator {
	padding: 24px 0;
	border-bottom: 1px solid var(--shop-section-border-color, #d5d5d5);
}

.tile-catalog-order-calculator__quantity {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--shop-calculator-horizontal-gap, 20px);
	margin-bottom: 22px;
}

.tile-catalog-order-calculator__label {
	margin: 0;
	font-size: var(--shop-calculator-label-size, 21px);
	font-weight: var(--shop-calculator-label-weight, 400);
	white-space: nowrap;
}

.tile-catalog-order-calculator__input-wrapper {
	display: flex;
	align-items: stretch;
	max-width: 280px;
}

.tile-catalog-order-calculator__button {
	appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	min-width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--shop-control-border-color, #c8c8c8);
	background: var(--shop-control-background, #fff);
	color: var(--shop-control-text-color, #333);
	font-family: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.tile-catalog-order-calculator__button:hover {
	border-color: var(--shop-control-border-hover, #777);
}

.tile-catalog-order-calculator__button:disabled {
	opacity: .45;
	cursor: not-allowed;
	border-color: var(--shop-control-disabled-border, #ddd);
	background: var(--shop-control-disabled-background, #f5f5f5);
}

.tile-catalog-order-calculator__button:disabled:hover {
	border-color: var(--shop-control-disabled-border, #ddd);
}

.tile-catalog-order-calculator__input {
	width: 100px;
	height: 44px;
	margin: 0;
	padding: 8px 10px;
	border-top: 1px solid var(--shop-control-border-color, #c8c8c8);
	border-right: 0;
	border-bottom: 1px solid var(--shop-control-border-color, #c8c8c8);
	border-left: 0;
	background: var(--shop-control-background, #fff);
	color: var(--shop-control-text-color, #333);
	font-size: 16px;
	text-align: center;
	-moz-appearance: textfield;
}

.tile-catalog-order-calculator__input::-webkit-inner-spin-button,
.tile-catalog-order-calculator__input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.tile-catalog-order-calculator__input:focus {
	outline: none;
	border-color: var(--shop-control-border-hover, #777);
}

.tile-catalog-order-calculator__unit {
	display: inline-flex;
	align-items: center;
	height: 44px;
	padding: 0 14px;
	border-top: 1px solid var(--shop-control-border-color, #c8c8c8);
	border-right: 1px solid var(--shop-control-border-color, #c8c8c8);
	border-bottom: 1px solid var(--shop-control-border-color, #c8c8c8);
	background: var(--shop-control-unit-background, #f5f5f5);
	font-size: var(--shop-calculator-unit-size, 15px);
}

.tile-catalog-order-calculator__price-row,
.tile-catalog-order-calculator__total-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--shop-calculator-horizontal-gap, 20px);
}

.tile-catalog-order-calculator__price-row {
	margin-bottom: 12px;
	font-size: var(--shop-calculator-price-size, 15px) !important;
	font-weight: var(--shop-calculator-price-weight, 600) !important;
}

.tile-catalog-order-calculator__total-row {
	border-top: 1px solid var(--shop-calculator-total-border, #e1e1e1);
	padding-top: var(--shop-calculator-total-padding-top, 16px) !important;
	padding-bottom: var(--shop-calculator-total-padding-bottom, 16px) !important;
}

.tile-catalog-order-calculator__total-label {
	font-size: var(--shop-calculator-total-label-size, 18px);
	font-weight: 600;
}

.tile-catalog-order-calculator__total {
	font-size: var(--shop-calculator-total-size, 22px);
	font-weight: 600;
}

/* The calculator owns tile quantity; WooCommerce supplies only the cart form. */
.woocommerce div.product form.cart {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

/* Global WooCommerce button colours.
   Covers classic WooCommerce markup and Cart/Checkout block buttons. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce-cart .wp-element-button,
.woocommerce-checkout .wp-element-button,
.woocommerce-cart .wc-block-components-button,
.woocommerce-checkout .wc-block-components-button {
	background-color: var(--shop-button-background, #747e8a) !important;
	color: var(--shop-button-text-color, #fff) !important;
	border-color: var(--shop-button-border-color, #747e8a) !important;
}

.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce #respond input#submit:hover,
.woocommerce #respond input#submit:focus,
.woocommerce-page a.button:hover,
.woocommerce-page a.button:focus,
.woocommerce-page button.button:hover,
.woocommerce-page button.button:focus,
.woocommerce-page input.button:hover,
.woocommerce-page input.button:focus,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page #respond input#submit:focus,
.woocommerce-cart .wp-element-button:hover,
.woocommerce-cart .wp-element-button:focus,
.woocommerce-checkout .wp-element-button:hover,
.woocommerce-checkout .wp-element-button:focus,
.woocommerce-cart .wc-block-components-button:hover,
.woocommerce-cart .wc-block-components-button:focus,
.woocommerce-checkout .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-components-button:focus {
	background-color: var(--shop-button-background-hover, #626c78) !important;
	color: var(--shop-button-text-color-hover, #fff) !important;
	border-color: var(--shop-button-border-color-hover, #626c78) !important;
}

.tile-catalog-tile-purchase-controls form.cart {
	display: block;
	margin: 20px 0 0;
}

.tile-catalog-tile-purchase-controls form.cart .quantity {
	display: none !important;
}

.tile-catalog-tile-purchase-controls form.cart .single_add_to_cart_button {
	float: none;
	width: 100%;
	margin: 0;
}

/* Standard unit price shown above the Benodigdheden purchase controls. */
.tile-catalog-accessory-purchase-controls__price {
	margin: 0 0 18px;
	color: var(--shop-accessory-price-color, #55bd6a);
	font-size: var(--shop-accessory-price-size, 22px);
	font-weight: 500;
	line-height: 1.3;
}

.tile-catalog-accessory-purchase-controls__price .amount {
	color: inherit;
}

.tile-catalog-accessory-purchase-controls__price del {
	opacity: .65;
}

.tile-catalog-accessory-purchase-controls__price ins {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

@media (max-width: 767px) {
	.tile-catalog-colour-selector__items {
		gap: 14px;
	}

	.tile-catalog-colour-selector__item,
	.tile-catalog-colour-selector__image {
		width: var(--shop-colour-thumbnail-size, 70px);
	}

	.tile-catalog-colour-selector__image {
		height: var(--shop-colour-thumbnail-size, 70px);
	}
}

@media (max-width: 480px) {
	.tile-catalog-order-calculator__quantity,
	.tile-catalog-order-calculator__price-row,
	.tile-catalog-order-calculator__total-row {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.tile-catalog-order-calculator__input-wrapper {
		max-width: 100%;
	}
}

/* Breadcrumb */

.tile-catalog-breadcrumb {
	margin: 0 0 24px;
	font-size: 14px;
	line-height: 1.5;
}

.tile-catalog-breadcrumb__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tile-catalog-breadcrumb__item {
	display: inline-flex;
	align-items: center;
}

.tile-catalog-breadcrumb__item:not(:last-child)::after {
	content: "›";
	margin: 0 10px;
	color: var(--shop-breadcrumb-separator-color, #888);
}

.tile-catalog-breadcrumb__link {
	color: inherit;
	text-decoration: none;
}

.tile-catalog-breadcrumb__link:hover {
	text-decoration: underline;
}

.tile-catalog-breadcrumb__current {
	color: var(--shop-muted-text-color, #666);
}

@media (max-width: 767px) {
	.tile-catalog-breadcrumb {
		font-size: 13px;
	}

	.tile-catalog-breadcrumb__item:not(:last-child)::after {
		margin: 0 7px;
	}
}
/* Compact long WooCommerce attribute filters. */
.single-product .owp-floating-bar {
	display: none !important;
}

/* Remove OceanWP Quick View from product archive images. */
.woocommerce .products .owp-quick-view,
.woocommerce .products .product-inner:hover .owp-quick-view {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

/* Remove the blue sidebar-title marker and all filter count badges. */
.woocommerce .sidebar-box .widget-title,
.woocommerce .widget-area .widget-title {
	padding-left: 0 !important;
	border-left: 0 !important;
	font-size: var(--shop-filter-title-font-size, 20px) !important;
	font-weight: var(--shop-filter-title-font-weight, 700) !important;
}

.woocommerce .sidebar-box.widget_block .wp-block-heading {
	font-size: var(--shop-filter-title-font-size, 20px) !important;
	font-weight: var(--shop-filter-title-font-weight, 700) !important;
}

.woocommerce .widget_product_categories li a,
.woocommerce .widget_layered_nav li a,
.woocommerce .woocommerce-widget-layered-nav-list li a {
	font-size: var(--shop-filter-item-font-size, 16px) !important;
}

.woocommerce .sidebar-box .widget-title::before,
.woocommerce .sidebar-box .widget-title::after,
.woocommerce .widget-area .widget-title::before,
.woocommerce .widget-area .widget-title::after {
	display: none !important;
	content: none !important;
}

.woocommerce .sidebar-box .count,
.woocommerce .widget-area .count,
.woocommerce .woocommerce-widget-layered-nav-list .count {
	display: none !important;
}

/* Ceramic archive cards: Merk, title without dimensions, then dimensions. */
.woocommerce ul.products .tile-catalog-archive-identity {
	margin-bottom: 12px;
}

.woocommerce ul.products .tile-catalog-archive-identity > a {
	display: flex;
	flex-direction: column;
	align-items: inherit;
	gap: var(--shop-archive-identity-gap, 5px);
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products .tile-catalog-archive-identity__brand,
.woocommerce ul.products .tile-catalog-archive-identity__title,
.woocommerce ul.products .tile-catalog-archive-identity__size {
	display: block;
}

.woocommerce ul.products .tile-catalog-archive-identity__brand {
	color: var(--shop-archive-brand-color, #999) !important;
	font-size: var(--shop-archive-brand-size, 14px) !important;
	font-style: italic;
	font-weight: 300;
}

.woocommerce ul.products .tile-catalog-archive-identity__title {
	color: var(--shop-archive-title-color, #222) !important;
	font-size: var(--shop-archive-title-size, 16px) !important;
}

.woocommerce ul.products .tile-catalog-archive-identity__size {
	color: var(--shop-archive-size-color, #222) !important;
	font-size: var(--shop-archive-size-size, 15px) !important;
}

/*
 * Give every archive card the same square image stage. Rectangular source
 * images keep their natural ratio, remain uncropped and rest at the bottom,
 * so the product information below every card starts on the same line.
 */
.woocommerce ul.products li.product .image-wrap {
	display: flex !important;
	align-items: flex-end !important;
	width: 100%;
	aspect-ratio: 1 / 1;
}

.woocommerce ul.products li.product .image-wrap > .woo-entry-image,
.woocommerce ul.products li.product .image-wrap > .woo-entry-image-swap,
.woocommerce ul.products li.product .image-wrap > .product-entry-slider-wrap,
.woocommerce ul.products li.product .product-entry-slider,
.woocommerce ul.products li.product .oceanwp-slider-slide,
.woocommerce ul.products li.product .woo-entry-image > a,
.woocommerce ul.products li.product .woo-entry-image-swap > a {
	display: flex !important;
	align-items: flex-end !important;
	width: 100%;
	height: 100% !important;
}

.woocommerce ul.products li.product .woo-entry-image img,
.woocommerce ul.products li.product .woo-entry-image-swap img,
.woocommerce ul.products li.product .product-entry-slider-wrap img,
.woocommerce ul.products li.product .oceanwp-slider-slide img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center bottom !important;
}

.woocommerce ul.products li.product .woo-entry-image-swap .woo-entry-image-secondary {
	top: auto !important;
	bottom: 0 !important;
	height: 100% !important;
	object-fit: contain !important;
	object-position: center bottom !important;
}

/* WooCommerce/OceanWP accent controls that otherwise retain theme blue. */
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"] {
	accent-color: var(--shop-accent-color, #7D1C29);
}

/* OceanWP 7.0 hard-codes #13aff0 on its custom checkbox tick. */
.woocommerce input[type="checkbox"]:checked::before,
.woocommerce-page input[type="checkbox"]:checked::before {
	color: var(--shop-accent-color, #7D1C29) !important;
}

/* OceanWP/filter widgets draw selected states on list pseudo-elements. */
.woocommerce .widget_product_categories .product-categories li.current-cat::before,
.woocommerce .widget_product_categories .product-categories li.current-cat-parent::before,
.woocommerce .widget_product_categories .product-categories li.current-cat-ancestor::before,
.woocommerce .widget_layered_nav li.chosen::before,
.woocommerce .woocommerce-widget-layered-nav-list li.chosen::before,
.woocommerce .woocommerce-widget-layered-nav-list li.woocommerce-widget-layered-nav-list__item--chosen::before {
	border-color: var(--shop-filter-active-color, #7D1C29) !important;
	background-color: var(--shop-filter-active-color, #7D1C29) !important;
}

.woocommerce .widget_product_categories a:hover,
.woocommerce .widget_layered_nav a:hover,
.woocommerce .woocommerce-widget-layered-nav-list a:hover {
	color: var(--shop-accent-hover-color, #7D1C29) !important;
}

/*
 * OceanWP 7.0 WooCommerce stylesheet contains direct #13aff0 values which do
 * not read the theme's --owp-* variables. Keep all shop accent states under
 * the child-theme variables without editing the parent theme files.
 */
.woocommerce .widget_product_categories li.current-cat > a::before,
.woocommerce .widget_layered_nav li.chosen > a::before,
.woocommerce .woocommerce-widget-layered-nav-list li.chosen > a::before,
.woocommerce .woocommerce-widget-layered-nav-list li.woocommerce-widget-layered-nav-list__item--chosen > a::before {
	background-color: var(--shop-filter-active-color, #7D1C29) !important;
	border-color: var(--shop-filter-active-color, #7D1C29) !important;
}

.woocommerce .widget_product_categories li.current-cat > a ~ .count,
.woocommerce .widget_layered_nav li.chosen > a ~ .count,
.woocommerce .woocommerce-widget-layered-nav-list li.chosen > a ~ .count,
.woocommerce .woocommerce-widget-layered-nav-list li.woocommerce-widget-layered-nav-list__item--chosen > a ~ .count,
.woocommerce .wcmenucart-details.count,
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle,
.woocommerce .widget_price_filter .ui-slider .ui-slider-range,
.wcmenucart-details.count {
	background-color: var(--shop-accent-color, #7D1C29) !important;
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

.wcmenucart-details.count::before {
	border-right-color: var(--shop-accent-color, #7D1C29) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .product-inner .added_to_cart:hover,
.woocommerce .oceanwp-grid-list a.active,
.woocommerce .oceanwp-grid-list a:hover,
.woocommerce .oceanwp-off-canvas-filter:hover,
.owp-product-nav li a.owp-nav-link:hover {
	color: var(--shop-accent-color, #7D1C29) !important;
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

.woocommerce ul.products li.product li.category a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover,
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce-checkout .woocommerce-info a,
.woocommerce-checkout #payment .payment_method_paypal .about_paypal,
.product_meta .posted_in a:hover,
.product_meta .tagged_as a:hover,
.woocommerce-MyAccount-navigation ul li a::before,
.woocommerce-checkout #payment ul.payment_methods .wc_payment_method > input[type="radio"]:first-child:checked + label::before,
.woocommerce-MyAccount-content #payment ul.payment_methods .woocommerce-PaymentMethod > input[type="radio"]:first-child:checked + label::before {
	color: var(--shop-accent-color, #7D1C29) !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

.woocommerce div.product.owp-tabs-layout-vertical .woocommerce-tabs ul.tabs li a::after,
.owp-product-nav li a.owp-nav-link:hover,
.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a:not(.showcoupon):not(.showlogin) {
	background-color: var(--shop-accent-color, #7D1C29) !important;
}

.current-shop-items-dropdown {
	border-top-color: var(--shop-accent-color, #7D1C29) !important;
}

.woocommerce select:focus,
.woocommerce input:focus,
.woocommerce textarea:focus,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--single,
.woocommerce .select2-container--default.select2-container--open .select2-selection--single,
.woocommerce .select2-container--default.select2-container--focus .select2-selection--multiple,
.woocommerce .select2-container--default.select2-container--open .select2-selection--multiple {
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected],
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: var(--shop-accent-color, #7D1C29) !important;
	color: var(--shop-on-accent-color, #fff) !important;
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

.widget_product_categories li a:hover ~ .count,
.widget_layered_nav li a:hover ~ .count,
.woocommerce-widget-layered-nav-list li a:hover ~ .count {
	background-color: transparent !important;
	color: var(--shop-accent-color, #7D1C29) !important;
	border-color: var(--shop-accent-color, #7D1C29) !important;
}

/* Remove OceanWP's native page-title strip throughout the frontend. */
.page-header {
	display: none !important;
}

.tile-catalog-filter-item--collapsible[hidden] {
	display: none !important;
}

.tile-catalog-filter-toggle {
	display: inline-flex;
	align-items: center;
	margin: 7px 0 0;
	padding: 2px 0;
	border: 0;
	background: transparent;
	color: var(--shop-muted-text-color, #555);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.tile-catalog-filter-toggle:hover,
.tile-catalog-filter-toggle:focus {
	background: transparent;
	color: var(--shop-accent-hover-color, #7D1C29);
}

.tile-catalog-filter-toggle::after {
	margin-left: 6px;
	content: "+";
	font-size: 15px;
	line-height: 1;
}

.tile-catalog-filter-toggle[aria-expanded="true"]::after {
	content: "−";
}

/* Visually retain the active parent when an accessory child is selected. */
.widget_product_categories .product-categories li.current-cat-parent > a,
.widget_product_categories .product-categories li.current-cat-ancestor > a {
	color: var(--shop-text-color, #222);
	font-weight: 700;
}

.widget_product_categories .product-categories li.current-cat-parent::before,
.widget_product_categories .product-categories li.current-cat-ancestor::before {
	border-color: var(--shop-filter-active-color, #7D1C29);
	background-color: var(--shop-filter-active-color, #7D1C29);
}

.widget_product_categories .product-categories li.current-cat-parent > .count,
.widget_product_categories .product-categories li.current-cat-ancestor > .count {
	background: var(--shop-filter-active-color, #7D1C29);
	color: var(--shop-on-accent-color, #fff);
}

/* ================================================================
   Product information and FAQ accordion
   Shortcode: [tile_catalog_product_info_faq]
   ================================================================ */

.tile-catalog-info-faq {
	width: 100%;
}

.tile-catalog-info-faq__grid {
	display: flex;
	align-items: flex-start;
	flex-flow: row nowrap;
	gap: var(--shop-faq-column-gap, 30px);
	width: 100%;
	min-width: 0;
}

.tile-catalog-info-faq__column {
	box-sizing: border-box;
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
	flex-basis: calc((100% - 30px) / 2) !important;
	width: calc((100% - 30px) / 2) !important;
	min-width: calc((100% - 30px) / 2) !important;
	max-width: calc((100% - 30px) / 2) !important;
	overflow: hidden;
}

.tile-catalog-info-faq__item {
	border-top: 1px solid var(--shop-faq-border-color, #ddd);
}

.tile-catalog-info-faq__item:last-child {
	border-bottom: 1px solid var(--shop-faq-border-color, #ddd);
}

.tile-catalog-info-faq__heading {
	margin: 0;
	font-size: inherit;
}

.tile-catalog-info-faq__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--shop-faq-trigger-gap, 20px);
	width: 100%;
	padding: 18px 0;
	border: 0;
	background: transparent;
	color: var(--shop-faq-title-color, #333);
	font: inherit;
	font-size: var(--shop-faq-title-size, 16px);
	font-weight: 600;
	line-height: 1.35;
	text-align: left;
	cursor: pointer;
}

.tile-catalog-info-faq__trigger:hover,
.tile-catalog-info-faq__trigger:focus {
	color: var(--shop-accent-hover-color, #7D1C29);
	background: transparent;
}

.tile-catalog-info-faq__trigger:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.tile-catalog-info-faq__icon {
	position: relative;
	flex: 0 0 18px;
	width: 18px;
	height: 18px;
}

.tile-catalog-info-faq__icon::before,
.tile-catalog-info-faq__icon::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12px;
	height: 2px;
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
	transition: transform .2s ease;
}

.tile-catalog-info-faq__icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.tile-catalog-info-faq__trigger[aria-expanded="true"] .tile-catalog-info-faq__icon::after {
	transform: translate(-50%, -50%) rotate(0deg);
}

.tile-catalog-info-faq__panel[hidden] {
	display: none;
}

.tile-catalog-info-faq__panel {
	overflow: hidden;
}

.tile-catalog-info-faq__content {
	padding: 0 0 22px;
	color: var(--shop-faq-text-color, #555);
	line-height: var(--shop-faq-line-height, 1.7);
	overflow-wrap: anywhere;
	word-break: normal;
}

.tile-catalog-info-faq__content > :first-child {
	margin-top: 0;
}

.tile-catalog-info-faq__content > :last-child {
	margin-bottom: 0;
}

/* Preserve lists entered in the WordPress product description editor. */
.tile-catalog-info-faq__content ul,
.tile-catalog-info-faq__content ol {
	margin: 0 0 1em 1.4em;
	padding: 0;
}

.tile-catalog-info-faq__content ul {
	display: block !important;
	list-style: none !important;
}

.tile-catalog-info-faq__content ol {
	list-style: decimal outside;
}

.tile-catalog-info-faq__content li {
	position: relative;
	display: list-item !important;
	margin: 0 0 .35em;
	padding: 0;
}

.tile-catalog-info-faq__content ul > li {
	display: block !important;
	padding-left: 1.1em;
}

.tile-catalog-info-faq__content ul > li::before {
	position: absolute;
	top: 0;
	left: 0;
	color: currentColor;
	content: "\2022";
	font-size: 1em;
	line-height: inherit;
}

.tile-catalog-info-faq__table-wrap {
	overflow-x: auto;
}

.tile-catalog-info-faq__table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}

.tile-catalog-info-faq__table th,
.tile-catalog-info-faq__table td {
	padding: 12px 16px;
	border: 0;
	border-right: 1px solid var(--shop-faq-table-border-color, #b8b8b8);
	border-bottom: 1px solid var(--shop-faq-table-border-color, #b8b8b8);
	text-align: left;
	vertical-align: top;
}

.tile-catalog-info-faq__table tr:nth-child(odd) th,
.tile-catalog-info-faq__table tr:nth-child(odd) td {
	background: var(--shop-faq-table-alt-background, #c6c6c6);
}

.tile-catalog-info-faq__table tr:nth-child(even) th,
.tile-catalog-info-faq__table tr:nth-child(even) td {
	background: #fff;
}

.tile-catalog-info-faq__table th:last-child,
.tile-catalog-info-faq__table td:last-child {
	border-right: 0;
}

.tile-catalog-info-faq__table th {
	width: 52%;
	color: #333;
	font-weight: 600;
}

.tile-catalog-info-faq__document {
	display: inline-flex;
	align-items: center;
	font-weight: 600;
}

.tile-catalog-info-faq__document::before {
	margin-right: 8px;
	content: "PDF";
	font-size: var(--shop-faq-document-label-size, 11px);
	font-weight: 700;
	letter-spacing: .04em;
}

@media (max-width: 767px) {
	.tile-catalog-info-faq__grid {
		flex-direction: column;
		gap: var(--shop-faq-column-gap, 28px);
	}

	.tile-catalog-info-faq__column {
		flex-basis: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
}
/* Hide the complete editable Elementor Benodigdheden section on accessories. */
.tile-catalog-is-accessory-product .tile-catalog-accessories-section {
	display: none !important;
}

/* ================================================================
   Benodigdheden product slider
   Shortcode: [tile_catalog_accessories_slider]
   ================================================================ */

.tile-catalog-accessories-slider {
	--accessories-gap: var(--shop-accessories-gap, 18px);
	--accessories-visible: 4;
	width: 100%;
	min-width: 0;
}

.tile-catalog-accessories-slider__viewport {
	position: relative;
	width: 100%;
	min-width: 0;
	padding: 0 50px;
}

.tile-catalog-accessories-slider__track {
	display: flex;
	align-items: stretch;
	gap: var(--accessories-gap);
	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	overflow-y: hidden;
	list-style: none;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.tile-catalog-accessories-slider__track::-webkit-scrollbar {
	display: none;
}

.tile-catalog-accessories-slider__slide {
	box-sizing: border-box;
	flex: 0 0 calc(
		(100% - (var(--accessories-gap) * (var(--accessories-visible) - 1)))
		/ var(--accessories-visible)
	);
	width: calc(
		(100% - (var(--accessories-gap) * (var(--accessories-visible) - 1)))
		/ var(--accessories-visible)
	);
	min-width: 0;
	margin: 0;
	scroll-snap-align: start;
}

.tile-catalog-accessories-slider__card,
.tile-catalog-accessories-slider__link {
	height: 100%;
}

.tile-catalog-accessories-slider__card {
	margin: 0;
	border: 1px solid var(--shop-card-border-color, #bbb);
	background: var(--shop-card-background, #fff);
}

.tile-catalog-accessories-slider__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

.tile-catalog-accessories-slider__link:hover,
.tile-catalog-accessories-slider__link:focus {
	color: inherit;
}

.tile-catalog-accessories-slider__link:focus-visible {
	outline: 2px solid var(--shop-accent-hover-color, #7D1C29);
	outline-offset: -3px;
}

.tile-catalog-accessories-slider__text {
	display: block;
	min-height: 118px;
	padding: 18px 20px 12px;
}

.tile-catalog-accessories-slider__name,
.tile-catalog-accessories-slider__description {
	display: block;
}

.tile-catalog-accessories-slider__name {
	margin-bottom: 10px;
	color: var(--shop-card-title-color, #333);
	font-size: var(--shop-card-title-size, 18px);
	font-weight: 500;
	line-height: 1.35;
}

.tile-catalog-accessories-slider__description {
	color: var(--shop-card-description-color, #666);
	font-size: var(--shop-card-description-size, 15px);
	line-height: 1.5;
}

.tile-catalog-accessories-slider__media {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 0;
	margin-top: auto;
	padding: 12px 18px 28px;
	aspect-ratio: 1 / 1;
}

.tile-catalog-accessories-slider__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.tile-catalog-accessories-slider__arrow {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 60px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--shop-slider-arrow-color, #111);
	font-size: var(--shop-slider-arrow-size, 48px);
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
}

.tile-catalog-accessories-slider__arrow--previous {
	left: 0;
}

.tile-catalog-accessories-slider__arrow--next {
	right: 0;
}

.tile-catalog-accessories-slider__arrow:hover,
.tile-catalog-accessories-slider__arrow:focus {
	background: transparent;
	color: var(--shop-accent-hover-color, #7D1C29);
}

.tile-catalog-accessories-slider__arrow:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 0;
}

.tile-catalog-accessories-slider__arrow:disabled {
	opacity: .25;
	cursor: default;
}

@media (max-width: 1024px) {
	.tile-catalog-accessories-slider {
		--accessories-visible: 2;
	}
}

@media (max-width: 767px) {
	.tile-catalog-accessories-slider {
		--accessories-gap: var(--shop-accessories-gap, 14px);
		--accessories-visible: 1;
	}

	.tile-catalog-accessories-slider__viewport {
		padding: 0;
	}

	.tile-catalog-accessories-slider__track {
		padding: 0 38px 4px 0;
	}

	.tile-catalog-accessories-slider__slide {
		flex-basis: calc(100% - 38px);
		width: calc(100% - 38px);
	}

	.tile-catalog-accessories-slider__arrow {
		display: none;
	}

	.tile-catalog-accessories-slider__text {
		min-height: 0;
	}
}
/* ================================================================
   Recently viewed products
   Shortcode: [tile_catalog_recently_viewed]
   ================================================================ */

.tile-catalog-recently-viewed[hidden] {
	display: none !important;
}

.tile-catalog-recently-viewed {
	width: 100%;
	min-width: 0;
}

.tile-catalog-recently-viewed__title {
	margin: 0 0 28px;
	color: var(--shop-recent-title-color, #222);
	font-size: var(--shop-recent-title-size, 26px);
	font-weight: 500;
	line-height: 1.3;
}

.tile-catalog-recently-viewed__products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--shop-recent-gap, 28px);
}

.tile-catalog-recently-viewed__card {
	display: flex;
	min-width: 0;
	height: 100%;
	margin: 0;
	flex-direction: column;
	background: var(--shop-recent-card-background, #eee);
}

.tile-catalog-recently-viewed__image-link {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #f5f5f5;
}

.tile-catalog-recently-viewed__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.tile-catalog-recently-viewed__details {
	flex: 1 1 auto;
	min-height: 142px;
	padding: 20px 16px 16px;
	text-align: center;
}

.tile-catalog-recently-viewed__name {
	margin: 0 0 14px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.35;
}

.tile-catalog-recently-viewed__name a {
	color: var(--shop-recent-name-color, #20293a);
	text-decoration: none;
}

.tile-catalog-recently-viewed__name a:hover,
.tile-catalog-recently-viewed__name a:focus {
	color: var(--shop-accent-color, #7D1C29);
}

.tile-catalog-recently-viewed__meta {
	margin: 0;
	color: var(--shop-recent-meta-color, #30394a);
	font-size: 15px;
	line-height: 1.35;
}

.tile-catalog-recently-viewed__price {
	padding: 10px 12px;
	background: var(--shop-accent-color, #7D1C29);
	color: var(--shop-on-accent-color, #fff);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
}

.tile-catalog-recently-viewed__price del {
	opacity: .72;
}

.tile-catalog-recently-viewed__price ins {
	background: transparent;
	color: inherit;
	text-decoration: none;
}

.tile-catalog-recently-viewed__button {
	display: block;
	padding: 12px;
	background: var(--shop-button-background, #747e8a);
	color: var(--shop-button-text-color, #fff);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
}

.tile-catalog-recently-viewed__button:hover,
.tile-catalog-recently-viewed__button:focus {
	background: var(--shop-button-background-hover, #626c78);
	color: var(--shop-button-text-color, #fff);
}

.tile-catalog-recently-viewed__button:focus-visible,
.tile-catalog-recently-viewed__image-link:focus-visible {
	outline: 2px solid var(--shop-accent-color, #7D1C29);
	outline-offset: 3px;
}

@media (max-width: 1024px) {
	.tile-catalog-recently-viewed__products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--shop-recent-gap, 22px);
	}
}

@media (max-width: 767px) {
	.tile-catalog-recently-viewed__title {
		margin-bottom: 20px;
		font-size: var(--shop-recent-title-size, 22px);
	}

	.tile-catalog-recently-viewed__products {
		display: flex;
		gap: var(--shop-recent-gap, 14px);
		padding: 0 38px 4px 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.tile-catalog-recently-viewed__products::-webkit-scrollbar {
		display: none;
	}

	.tile-catalog-recently-viewed__card {
		flex: 0 0 calc(100% - 38px);
		width: calc(100% - 38px);
		scroll-snap-align: start;
	}
}
/* ================================================================
   Product detail visual alignment - stage 1
   Breadcrumb, gallery and tile information panel
   ================================================================ */

/* The target breadcrumb is compact and sits close to the product content. */
.single-product .tile-catalog-breadcrumb {
	margin: 0;
	font-size: var(--shop-breadcrumb-size, 12px) !important;
	line-height: 1.45;
}

.single-product .tile-catalog-breadcrumb__item:not(:last-child)::after {
	margin: 0 7px;
	color: var(--shop-breadcrumb-separator-color, #999) !important;
}

/* Keep both product columns structurally stable without changing Elementor's
   external container spacing. */
.single-product .elementor-element-0247618,
.single-product .elementor-element-e29878a {
	box-sizing: border-box;
	min-width: 0;
}

/* Product gallery: each main image and thumbnail keeps its source ratio. */
.single-product .elementor-widget-woocommerce-product-images,
.single-product .elementor-widget-woocommerce-product-images .elementor-widget-container,
.single-product .woocommerce-product-gallery {
	width: 100%;
	min-width: 0;
}

.single-product .woocommerce-product-gallery__image > a,
.single-product .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
	display: block;
	width: 100%;
	height: auto;
}

.single-product .woocommerce-product-gallery__image > a > img:not(.zoomImg) {
	object-fit: contain;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--shop-gallery-thumbnail-gap, 10px);
	margin: 10px 0 0;
	padding: 0;
}

/* OceanWP clearfix elements must not occupy cells in the thumbnail grid. */
.single-product .woocommerce-product-gallery .flex-control-thumbs::before,
.single-product .woocommerce-product-gallery .flex-control-thumbs::after {
	content: none !important;
	display: none !important;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs li {
	float: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
	margin: 0;
	object-fit: contain;
	opacity: 1;
}

.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active {
	outline: 1px solid var(--shop-gallery-active-border-color, #555) !important;
	outline-offset: -1px;
}

.single-product .woocommerce-product-gallery__trigger {
	display: none !important;
}

.single-product .woocommerce-product-gallery__image > a {
	cursor: pointer;
}

/* WooCommerce PhotoSwipe is the only product lightbox. */
.pswp__bg {
	background: var(--shop-gallery-lightbox-background, rgba(0, 0, 0, .86)) !important;
}

.pswp__button--zoom,
.pswp__button--fs,
.pswp__button--share {
	display: none !important;
}

.pswp__button--close,
.pswp__button--arrow--left,
.pswp__button--arrow--right {
	color: var(--shop-gallery-lightbox-control-color, #fff) !important;
}

/* Product images do not use attachment captions (which can contain EXIF text). */
.pswp__caption {
	display: none !important;
}

/* Larger inset navigation controls with a high-contrast translucent panel. */
.pswp__button--arrow--left,
.pswp__button--arrow--right {
	display: block !important;
	visibility: visible !important;
	position: absolute !important;
	top: 50% !important;
	z-index: 10002 !important;
	width: var(--shop-gallery-lightbox-arrow-size, 58px) !important;
	height: var(--shop-gallery-lightbox-arrow-size, 58px) !important;
	margin-top: calc(var(--shop-gallery-lightbox-arrow-size, 58px) / -2) !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: var(--shop-gallery-lightbox-arrow-background, rgba(255, 255, 255, .82)) !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	transition: background-color 180ms ease, transform 180ms ease !important;
}

.pswp__button--arrow--left {
	left: var(--shop-gallery-lightbox-arrow-inset, 28px) !important;
}

.pswp__button--arrow--right {
	right: var(--shop-gallery-lightbox-arrow-inset, 28px) !important;
}

.pswp__button--arrow--left:hover,
.pswp__button--arrow--right:hover {
	background: rgba(255, 255, 255, .96) !important;
	transform: scale(1.06);
}

.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
	display: block !important;
	visibility: visible !important;
	position: absolute !important;
	top: 50% !important;
	box-sizing: border-box !important;
	width: 17px !important;
	height: 17px !important;
	margin-top: -9px !important;
	background: none !important;
	border-style: solid;
	content: "";
	opacity: 1 !important;
	pointer-events: none !important;
}

.pswp__button--arrow--left::before {
	left: 22px !important;
	border-width: 0 0 3px 3px;
	transform: rotate(45deg);
}

.pswp__button--arrow--right::before {
	right: 22px !important;
	border-width: 3px 3px 0 0;
	transform: rotate(45deg);
}

/* Match the product-page gallery with a visible horizontal image transition. */
.pswp--open .pswp__container {
	transition: transform var(--shop-gallery-lightbox-slide-duration, 520ms) cubic-bezier(.25, .8, .25, 1) !important;
	will-change: transform;
}

.pswp--dragging .pswp__container {
	transition-duration: 0ms !important;
}

.pswp__zoom-wrap {
	will-change: transform;
}

@media (max-width: 767px) {
	.pswp__button--arrow--left,
	.pswp__button--arrow--right {
		width: 48px !important;
		height: 48px !important;
		margin-top: -24px !important;
	}

	.pswp__button--arrow--left {
		left: 10px !important;
	}

	.pswp__button--arrow--right {
		right: 10px !important;
	}

	.pswp__button--arrow--left::before {
		left: 18px !important;
	}

	.pswp__button--arrow--right::before {
		right: 18px !important;
	}
}

/* Right information panel. */
body.single-product .elementor-widget-woocommerce-product-title h1.product_title {
	margin: 0;
	color: var(--shop-text-color, #222) !important;
	font-size: var(--shop-product-title-size, 23px) !important;
	font-weight: var(--shop-product-title-weight, 500) !important;
	line-height: 1.3;
	letter-spacing: 0;
}

body.single-product .entry-title {
	border-bottom: var(--shop-product-title-border, 1px solid #f1f1f1) !important;
}

body.single-product .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description {
	margin-top: var(--shop-product-description-margin-top, 0px) !important;
	margin-bottom: var(--shop-product-description-margin-bottom, 0px) !important;
	color: var(--shop-text-color, #222) !important;
	font-size: var(--shop-product-description-size, 14px) !important;
	line-height: var(--shop-product-description-line-height, 1.48) !important;
}

body.single-product .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description > :first-child {
	margin-top: 0;
}

body.single-product .elementor-widget-woocommerce-product-short-description .woocommerce-product-details__short-description > :last-child {
	margin-bottom: 0;
}

.single-product .tile-catalog-product-highlights {
	margin-top: var(--shop-highlights-margin-top, 18px);
	margin-bottom: var(--shop-highlights-margin-bottom, 18px);
	padding: var(--shop-highlights-padding, 16px) 0;
}

.single-product .tile-catalog-product-highlights__item {
	margin-bottom: var(--shop-highlight-item-gap, 7px);
	padding-left: calc(
		5px + var(--shop-highlight-bullet-size, 7px) + 1px + var(--shop-highlight-bullet-text-gap, 10px)
	);
	font-size: var(--shop-highlight-text-size, 14px);
	line-height: 1.35;
}

.single-product .tile-catalog-product-highlights__item::before {
	top: .23em;
	left: 5px;
	border-top-width: var(--shop-highlight-bullet-size, 7px);
	border-bottom-width: var(--shop-highlight-bullet-size, 7px);
	border-left-width: calc(var(--shop-highlight-bullet-size, 7px) + 1px);
}

.single-product .tile-catalog-colour-selector,
.single-product .tile-catalog-format-selector {
	padding: var(--shop-option-padding-top, 16px) 0 var(--shop-option-padding-bottom, 18px);
}

.single-product .tile-catalog-colour-selector__title,
.single-product .tile-catalog-format-selector__title {
	margin-bottom: var(--shop-option-title-gap, 13px);
	font-size: var(--shop-option-title-size, 16px);
	line-height: 1.35;
}

.single-product .tile-catalog-colour-selector__items {
	gap: var(--shop-colour-gap, 12px);
}

.single-product .tile-catalog-colour-selector__item,
.single-product .tile-catalog-colour-selector__image {
	width: var(--shop-colour-thumbnail-size, 70px);
}

.single-product .tile-catalog-colour-selector__image {
	height: var(--shop-colour-thumbnail-size, 70px);
	border-width: 1px;
}

.single-product .tile-catalog-colour-selector__name {
	margin-top: 4px;
	font-size: var(--shop-colour-name-size, 11px);
}

.single-product .tile-catalog-format-selector__items {
	gap: var(--shop-format-gap, 9px);
}

.single-product .tile-catalog-format-selector__item {
	min-width: var(--shop-format-min-width, 86px);
	min-height: var(--shop-format-height, 36px);
	padding: 7px 13px;
	font-size: var(--shop-format-text-size, 12px);
}

.single-product .tile-catalog-order-calculator {
	padding: var(--shop-calculator-padding, 16px) 0;
}

.single-product .tile-catalog-order-calculator__quantity {
	margin-bottom: var(--shop-calculator-row-gap, 14px);
}

.single-product .tile-catalog-order-calculator__label {
	font-size: var(--shop-calculator-label-size, 16px);
}

.single-product .tile-catalog-order-calculator__input-wrapper {
	max-width: 210px;
}

.single-product .tile-catalog-order-calculator__button {
	width: var(--shop-calculator-control-height, 36px);
	min-width: var(--shop-calculator-control-height, 36px);
	height: var(--shop-calculator-control-height, 36px);
	font-size: var(--shop-calculator-button-size, 17px);
}

.single-product .tile-catalog-order-calculator__input {
	width: var(--shop-calculator-input-width, 70px);
	height: var(--shop-calculator-control-height, 36px);
	padding: 6px 8px;
	font-size: var(--shop-calculator-input-size, 14px);
}

.single-product .tile-catalog-order-calculator__unit {
	height: var(--shop-calculator-control-height, 36px);
	padding: 0 11px;
	font-size: var(--shop-calculator-unit-size, 13px);
}

.single-product .tile-catalog-order-calculator__price-row {
	margin-bottom: 8px;
	font-size: var(--shop-calculator-price-size, 13px);
}

.single-product .tile-catalog-order-calculator__total-row {
	padding-top: 11px;
}

.single-product .tile-catalog-order-calculator__total-label {
	font-size: var(--shop-calculator-total-label-size, 15px);
}

.single-product .tile-catalog-order-calculator__total {
	font-size: var(--shop-calculator-total-size, 18px);
}

.single-product .tile-catalog-tile-purchase-controls form.cart {
	display: flex !important;
	align-items: stretch;
	flex: 1 1 0;
	width: auto;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
}

.single-product .tile-catalog-purchase-actions {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin-top: 12px;
	padding: var(--shop-container-add-to-cart-padding, 16px) 0 var(--shop-container-add-to-cart-padding, 16px) 0 !important;
	margin-top: var(--shop-container-add-to-cart-margin-top, 12px) !important;
	margin-bottom: var(--shop-container-add-to-cart-margin-bottom, 12px) !important;
}

.single-product .tile-catalog-tile-purchase-controls form.cart .single_add_to_cart_button {
	min-height: var(--shop-button-height, 42px);
	height: var(--shop-button-height, 42px);
	padding: 11px 18px;
	border: 0;
	background: var(--shop-button-background, #747e8a) !important;
	color: var(--shop-button-text-color, #fff) !important;
	font-size: var(--shop-button-font-size, 12px) !important;
	font-weight: var(--shop-button-font-weight, 12px) !important;
	line-height: var(--shop-button-line-height, 1.2) !important;
	letter-spacing: 0;
	text-transform: none;
}

.single-product .tile-catalog-garden-preview-button {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	min-height: var(--shop-button-height, 42px);
	height: var(--shop-button-height, 42px);
	padding: 11px 18px;
	background: var(--shop-button-background, #747e8a) !important;
	color: var(--shop-button-text-color, #fff) !important;
	font-size: var(--shop-button-font-size, 12px) !important;
	font-weight: var(--shop-button-font-weight, 12px) !important;
	line-height: var(--shop-button-line-height, 1.2) !important;
	text-align: center;
	text-decoration: none;
}

.single-product .tile-catalog-garden-preview-button:hover,
.single-product .tile-catalog-garden-preview-button:focus {
	background: var(--shop-button-background-hover, #626c78) !important;
	color: var(--shop-button-text-color, #fff) !important;
}

.single-product .tile-catalog-garden-preview-button.is-disabled {
	cursor: default;
	opacity: .65;
	pointer-events: none;
}

.single-product .tile-catalog-tile-purchase-controls form.cart .single_add_to_cart_button:hover,
.single-product .tile-catalog-tile-purchase-controls form.cart .single_add_to_cart_button:focus {
	background: var(--shop-button-background-hover, #626c78) !important;
	color: var(--shop-button-text-color, #fff) !important;
}

@media (max-width: 767px) {
	.single-product .tile-catalog-purchase-actions {
		flex-direction: column;
	}

	.single-product .woocommerce-product-gallery .flex-control-thumbs {
		gap: var(--shop-gallery-thumbnail-gap, 7px);
	}

	body.single-product .elementor-widget-woocommerce-product-title h1.product_title {
		font-size: var(--shop-product-title-size, 21px) !important;
	}
}

/* Keep inactive product-gallery thumbnails unchanged on hover. */
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img:not(.flex-active),
.woocommerce div.product .woocommerce-product-gallery .flex-control-thumbs li img:not(.flex-active):hover {
    opacity: var(--shop-gallery-thumbnail-opacity, 1) !important;
}

/* Hide the unused OceanWP top bar. */
#top-bar-wrap {
	display: none !important;
}

/* Place the archive filter sidebar before the product list on mobile only. */
@media (max-width: 959px) {
	body.woocommerce.archive #content-wrap {
		display: flex;
		flex-direction: column;
	}

	body.woocommerce.archive #right-sidebar,
	body.woocommerce.archive .widget-area.sidebar-primary {
		order: -1;
		width: 100% !important;
		margin-top: 0 !important;
	}

	body.woocommerce.archive #primary {
		order: 0;
		width: 100% !important;
	}
}
