/*
Theme Name: Dersimo
Template: twentytwentyfive
*/

:root {
	--warm-grey: #414241;          /* text / header / footer */
	--sand: #d8c6b4;               /* text / icons */
	--light-grey-bg: #eceeec;      /* background */
	--light-grey-circle: #e0e3e0;  /* parallax bg + HOME icon */
	--green-grey-bg: #bfc6bf;      /* background */
	--green-grey-circle: #b8bfb8;  /* parallax bg */
	--warm-grey-bg: #e5e2db;       /* background */
	--warm-grey-circle: #dddad3;   /* parallax bg */
	--common-grey: #f5f5f5;        /* banner background */
}

body {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.6;
}

h1, h2, h3, h4 {
	font-weight: 600;
	line-height: 1.2;
}

h1 { font-size: 47px; }
h2 { font-size: 34px; }
h3 { font-size: 22px; }
h4 { font-size: 16px; }

.button,
button,
.wp-block-button__link {
	font-size: 18px;
	font-weight: 700;
}

.custom-drop-shadow {
	h1 {
		text-shadow: 5px 5px 10px #aaaaaa !important;
	}
}

.woocommerce-breadcrumb {
	text-transform: lowercase;
	font-size: 12px !important;
	color: var(--warm-grey) !important;
}

.remove-padding {
	.wp-block-media-text__content {
		padding: 0;
	}
}

.increase-z-index {
	position: relative;
	z-index: 20;
}



.half-circle {
	position: relative;
	overflow: hidden;
}

.half-circle::before {
	content: "";
	position: absolute;
	width: 60vw;
	height: 60vw;
	background: var(--warm-grey);
	border-radius: 50%;
	transform: translateY(-50%);
	z-index: 0;
	opacity: 0.07;
}

.half-circle > * {
	position: relative;
	z-index: 1;
}

.half-circle.left::before {
	left: 0;
	transform: translate(
			-50%,
			calc(-50% + var(--scroll-offset, 0px))
	);
}

.half-circle.right::before {
	right: 0;
	transform: translate(
			50%,
			calc(-50% + var(--scroll-offset, 0px))
	);

}


/*max-sliders*/
.simple-image-slider .n2-ss-slider {
	.n2-ss-slider-controls {
		flex-flow: row-reverse;
		gap: 12px;
	}

	img {
		border-radius: 15px !important;
	}
}

.nextend-arrow img {
	display: none !important;
}

.custom-gallery-nav {
	display: flex;
	gap: 20px;
	position: relative;
	top: -140px;

	.nextend-arrow-next, .nextend-arrow-previous {
		height: 45px;
		width: 45px;
		background-repeat: no-repeat;
		cursor: pointer;
	}

	.nextend-arrow-next {
		background-image: url("/wp-content/themes/dersimo/assets/images/arrow-right.svg") !important;

	}

	.nextend-arrow-previous {
		background-image: url("/wp-content/themes/dersimo/assets/images/arrow-left.svg") !important;
	}
}

/* Base arrow styling */
.nextend-arrow {
	width: 45px;
	height: 45px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.nextend-arrow-next {
	background-image: url("/wp-content/themes/dersimo/assets/images/arrow-right-white.svg") !important;
}

.nextend-arrow-previous {
	background-image: url("/wp-content/themes/dersimo/assets/images/arrow-left-white.svg") !important;
}

.custom-carousel {
	.n2-ss-slider-pane-single {
		max-width: 100% !important;
		-webkit-mask-image: linear-gradient(to right, black 85%, transparent 100%);
		mask-image: linear-gradient(to right, black 85%, transparent 100%);

		.n2-ss-slider-pipeline {
			margin-left: -22.5px !important;
		}
	}


	.n2-ss-slider-controls.n2-ss-slider-controls-above {
		flex-flow: row-reverse;
		gap: 12px;
		margin-bottom: 15px;
		margin-top: -35px;
	}

	.nextend-arrow {
		background-repeat: no-repeat !important;
		padding: 0 !important;
	}
}

.home-carousel {
	.nextend-arrow-next {
		background-image: url("/wp-content/themes/dersimo/assets/images/arrow-right.svg") !important;
	}

	.nextend-arrow-previous {
		background-image: url("/wp-content/themes/dersimo/assets/images/arrow-left.svg") !important;
	}
}

.full-width-slider {
	.n2-ss-section-main-content, .n2-ss-slider-controls {
		max-width: 1140px !important;
		margin-left: auto;
		margin-right: auto;
	}

	.n2-ss-slider-controls {
		width: 1140px;
		left: 50%;
		transform: translateX(-50%);
	}
}


/*Header*/
#mega-menu-wrap-max_mega_menu_1
#mega-menu-max_mega_menu_1.mega-menu
> li.mega-menu-megamenu
> ul.mega-sub-menu {
	padding-left: max(20px, calc((100vw - 1140px) / 2));
	padding-right: max(20px, calc((100vw - 1140px) / 2));
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
	font-weight: 500;
}

.top-menu-logo {
	position: absolute;
	top: 25px;
}

.top-menu-search .wp-block-search__inside-wrapper {
	background-color: #efeef4;
	height: 50px;

	 .wp-block-search__input {
		 background-color: #efeef4;
	 }

	button {
		background-color: #efeef4;
		padding: 0 10px;

		svg {
			color: #d2cfdf;
			transform: scaleX(-1);
			scale: 1.5;
		}
	}
}

.dashicons-admin-home::before {
	content: "";
	width: 15px !important;
	height: 18px !important;
	background-image: url("/wp-content/themes/dersimo/assets/images/ico_CORE_home.svg") !important;
	vertical-align: sub !important;
}

#mega-menu-item-95, #mega-menu-item-91 , #mega-menu-item-90, #mega-menu-item-101, #mega-menu-item-102 {
	> .mega-menu-link::before {
		content: "";
		width: 100% !important;
		height: 40px !important;
		margin-bottom: 8px !important;
		background-size: contain !important;
		background-repeat: no-repeat !important;
	}
}

#mega-menu-item-95 > .mega-menu-link::before {
	background-image: url("/wp-content/themes/dersimo/assets/images/ecolife.png") !important;
}




.pill-block-container {
	flex-wrap: wrap !important;


	.wp-block-column {
		min-width: 180px;
		max-width: 180px;
	}

	.wp-block-group {
		height: 100%;
	}

	p {
		width: 100%;
	}
}





/*Product pages*/
.woocommerce .woocommerce-breadcrumb {
	margin: 0;
}

.product-pattern-icon-wrapper {
	width: 65px;
	margin-left: auto !important;
	margin-bottom: auto !important;
}

.product-specifications {
	p {
		margin: 0;
	}

	th, td {
		border: 0;
		border-bottom: 2px solid var(--light-grey-bg);
		padding-left: 0;
		padding-right: 0;
	}

	tr:last-child th,
	tr:last-child td {
		border-bottom: 0;
	}

	td {
		text-align: right;
	}

	th {
		font-weight: normal;
	}
}

.wc-block-product-gallery-thumbnails__thumbnail__image {
	border-radius: 8px;
}

.wc-block-product-gallery-large-image {
	border-radius: 15px;
}

.wc-block-product-gallery-thumbnails__scrollable {
	width: 400px;
	margin-left: auto;
	scrollbar-width: none;
}

.wc-block-product-gallery-large-image__inner-blocks {
	display: none;
}




.category-row {
	display: flex;
	align-items: center;
}

.category-row__image img {
	max-width: 100%;
	height: auto;
	display: block;
}


.sub-categories-grid {
	.sub-category__title {
		font-size: 22px;
		margin-top: 50px;
	}

	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
}

.sub-category {
	flex: 1 1 300px;
	margin-top: 30px;
}

.sub-category__image img {
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: 8px;
}

.sub-category__title {
	margin-top: 0.5rem;
	font-weight: 600;
	font-size: 16px;
	color: #414140;
}

.category-title {
	color: #414140;
}

.sub-category p {
	margin-top: 0;
	margin-bottom: 0;
}

.custom-sub-category__content {
	border: solid 4px white;
	height: 465px;
	margin-top: 16px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 25px;
	border-radius: 150px;
	margin-left: auto;
	margin-right: auto;
	width: 210px;
	text-align: center;
	gap: 50px;

	.sub-category__title {
		margin-top: 0;
	}

	.find-dealer-btn {
		background-color: #38383d;
		color: white;
	}
}




.category-row__content h4, h1 {
	margin: 0;
}

.category-products-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 45px;

	.product-card {
		text-align: left;

		p {
			margin: 0;
		}

	}
	.product-card img {
		width: 100%;
		height: auto;
		border-radius: 10px;
	}

	.category__title-container {
		display: flex;
		justify-content: space-between;
	}

	img.product-pattern-icon {
		width: 40px;
		border-radius: 0;
	}

	.collection-image-wrapper {
		position: relative;
		margin-bottom: 20px;
	}

	.collection-image-wrapper img {
		display: block;
		transition: opacity 0.3s ease;
	}

	.collection-image-wrapper .image-hover {
		position: absolute;
		top: 0;
		left: 0;
		opacity: 0;
	}

	.collection-image-wrapper:hover .image-hover {
		opacity: 1;
	}

	.collection-image-wrapper:hover .image-default {
		opacity: 0;
	}

}

.product-card {
	.hover-button {
		position: relative;
		background: white;
		color: var(--warm-grey);
		font-weight: 600;
		padding: 10px 18px;
		font-size: 16px;
		border-radius: 100px;
		opacity: 0;
		pointer-events: none;
		transition: all 0.3s ease;
		bottom: 190px;
		left: 50px;
	}

	.category-card-link:hover .hover-button {
		opacity: 1;
	}
}



.category-products-grid-pagination {
	display: flex;
	gap: 5px;
}


.flair-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 1em;

	.sub-category__title, h2 {
		margin: 0;
	}
}

.flair-header-right {
	margin-left: auto;
}

.flair-buttons {
	display: flex;
	gap: 10px;
}

.find-dealer-btn {
	background-color: white;
	padding: 12px 40px;
	text-decoration: none;
	border-radius: 25px;
	font-weight: bold;
	box-shadow: 5px 5px 10px #aaaaaa;
	display: inline-block;
}

.category-header-section {
	background-color: #e4e1db;

	.woocommerce-breadcrumb {
		padding-top: 20px;
	}
}

.pattern-container {
	display: flex;
	margin-left: auto;
	margin-bottom: auto;
	gap: 7px;
}


/*Dealer-locator*/
.wpgmza_infowindow_categories {
	display: none;
}

.wpgmza-inner-stack .grouping.visible {
	padding: 30px;
}

.wpgmza-search, .wpgmza-reset {
	font-family: Poppins, sans-serif;
	font-size: 16px !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	font-weight: 600;
	background-color: var(--sand); !important;
	color: var(--warm-grey) !important;
	border-radius: 35px;
	height: 45px !important;
	margin-right: 15px !important;
}

.wpgmza-reset {
	background-color: #e9e9ed !important;
}

.wpgmza-standalone-component {
	display: flex;
	margin-bottom: 100px;
	width: 1140px !important;

	input, select {
		height: 45px !important;
		padding: 0 10px !important;
		margin-right: 15px !important;
		font-family: Poppins, sans-serif;
	}

	.wpgmza-marker-listing-category-filter {
		display: flex;
		flex-direction: column;
		label {
			width: 96%;
		}
	}

	.addressInput {
		background-color: #e9e9ed;
	}

}

.wpgmza-inner-stack {
	font-family: Poppins, sans-serif;

	.wpgmza-title,
	[data-custom-field-name="place"] {
		text-transform: capitalize;
	}

	[data-custom-field-name="zipcode"],
	[data-custom-field-name="place"],
	[data-custom-field-name="email"],
	[data-custom-field-name="phone"],
	.wpgmza-address {
		margin-bottom: 0 !important;

		.custom-field-label {
			display: none;
		}
	}

	[data-custom-field-name="natuurlijke vloeren"] {
		margin-bottom: 0 !important;
	}

	.wpgmza-categories, [data-custom-field-name="phone"] {
		margin-bottom: 40px !important;
	}

	.wpgmza-mark {
		display: none;
	}

	.wpgmza-panel-info-window {
		user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
	}

	.wpgmza-panel-info-window .wpgmza-distance-from-location {
		order: 0;
		margin-bottom: 40px !important;
	}
	.wpgmza-address {
		order: 1;
	}
	.wpgmza-custom-fields {
		order: 2;
	}
}

.leaflet-marker-icon {
	height: 43px;
	--wpgmza-leaflet-icon-width: 27px !important;
	--wpgmza-leaflet-icon-height: 43px !important;
}



/*posts*/
.latest-press-releases-container.wp-block-latest-posts.columns-3  {
	gap: 45px;

	li {
		width: calc(33.33333% - 45px);
	}

	.wp-block-latest-posts__featured-image {

		a {
			width: 100%;
		}

		img {
			border-radius: 10px;
			width: 100%;
			margin-bottom: 30px;
		}

	}

	.wp-block-latest-posts__post-title {
		font-size: 25px;
		font-weight: 600;
	}

	.wp-block-latest-posts__post-excerpt {
		margin-top: 30px;
	}
}

.all-posts-container {
	gap: 45px;

}

.downloads-table {
	width: 100%;
}

.downloads-table td {
	border: none;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 12px 12px 12px 0;
}

.downloads-table td:empty::after {
	content: "\00a0";
}

.article-container img {
	border-radius: 15px;
}




.contact-form {
	font-family: Poppins, sans-serif;
	font-size: 16px;

	input {
		font-family: Poppins, sans-serif;
		font-size: 16px;
		border: none;
		padding-left: 20px;
		padding-right: 20px;

		height: 45px;
	}

	.wpcf7-acceptance {
		.wpcf7-list-item {
			margin-left: 0;
		}

		input {
			height: unset;
		}
	}

	.wpcf7-textarea {
		font-family: Poppins, sans-serif;
		font-size: 16px;
		border: none;
		padding: 20px;
		width: calc(100% - 40px);
	}

	.wpcf7-submit {
		font-family: Poppins, sans-serif;
		font-size: 16px;
		padding-left: 40px;
		padding-right: 40px;
		font-weight: 600;
		background-color: white;
		color: black;
		border-radius: 20px;
		margin-top: 25px;
	}
}


@media (max-width: 1200px) {
	.outer-group {
		padding: 20px;
	}

	.outer-group-big-pills {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.hide-on-mobile {
		display: none;
	}

	.mobile-top-top-menu {
		gap: 10px;
		.wp-block-navigation__container {
			justify-content: space-evenly;
			.wp-block-navigation-item {
				font-size: 12px !important;
			}
		}
	}

	.half-circle.right::before, .half-circle.left::before{
		display: none;
	}

	#mega-menu-wrap-max_mega_menu_1 .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {
		margin-right: 20px !important;
	}
	.top-menu-logo {
		position: relative;
		top: unset;

		img {
			width: 70px !important;
			margin-left: 20px;
			margin-top: -10px;
		}
	}
	
	.wp-block-search__inside-wrapper {
		width: 250px !important;
	}

	.header-search-container {
		min-height: 100px !important;
		padding-right: 20px;
	}
	
	.custom-carousel {
		margin-top: 50px;
	}

	.pill-block-container {
		gap: 20px;
		justify-content: center;
	}

	.contact-container {
		max-width: 100%;

		.wpcf7, input, textarea {
			max-width: 100%;
			box-sizing: border-box;
		}
	}

	.wpgmza-store-locator {
		padding-left: 20px;
		padding-right: 20px;
	}

	.wpgmza-search {
		margin-top: 10px !important;
	}

	.wpgmza-address-container {
		max-width: 300px;
	}

	.flair-header {
		flex-direction: column;
	}

	.flair-header-left {
		margin-right: auto;
	}

	.flair-buttons {
		flex-direction: column;
	}

	.category-products-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.wc-block-product-gallery-thumbnails__scrollable {
		width: unset;
	}

}

@media (max-width: 768px) {
	.about-us-container {
		display: flex;
		flex-direction: column;
	}
}