/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/** PDP */

.woocommerce-product-gallery__image.flex-active-slide {
  position: relative;
  overflow: hidden;
  width: 470px;
  margin-right: 0px;
  float: left;
  display: block;
}

.woocommerce-product-gallery__image.flex-active-slide a {
  padding-bottom: 100%;
  height: 0;
  display: block;
  object-fit: cover;
}

.woocommerce-product-gallery__image.flex-active-slide a img {
  height: 100% !important;
  width: auto;
  object-fit: cover;
  display: block;
  position: absolute;
}

.woocommerce div.product div.images .flex-control-thumbs {
  margin-top: 20px !important;
}

table.woocommerce-product-attributes {
  text-align: left;
}


/** Product Archive */
.wpfFilterButton.wpfButton,
.wpfClearButton.wpfButton {
  border-radius: 0 !important;
}

.product-loop-card .elementor-widget-image a {
  display: block;
}

.product-loop-card .elementor-widget-image .elementor-widget-container {
  position: relative;
  width: 100%; /* Or any specific width */
  padding-bottom: 100% !important; /* Equal to width to maintain 1:1 aspect ratio */
  overflow: hidden;
}

.product-loop-card .elementor-widget-image .elementor-widget-container a {
  display: block; /* To make sure the anchor tag takes the full width and height of the parent container */
  height: 100%;
  position: absolute; /* To place it over the padding space */
  width: 100%;
}

.product-loop-card .elementor-widget-image .elementor-widget-container img {
  object-fit: cover; /* To make sure your image covers the area */
  height: 100%;
  width: 100%;
  display: block;
}

/** cart */

.shop_table .product-price,
.shop_table .product-quantity,
.shop_table .product-subtotal {
  display: none;
}

.shop_table .cart-subtotal,
.shop_table .order-total {
  display: none;
}
.shop_table .product-total {
  display: none;
}

/* Clean information tables  */
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes tr,
body.single-product .woocommerce-product-attributes td {
  border: 0;
  font-size: 0.94em;
  padding-left: 10px;
  margin-left: 0;
}

body.single-product .woocommerce-product-attributes th {
  width: 200px;
}
body.single-product
  .elementor-widget-woocommerce-product-additional-information
  h2 {
  margin: 10px 0 0;
  padding: 10px;
}

.woocommerce table.shop_attributes tr:nth-child(odd) {
  background-color: hsla(0, 0%, 50.2%, 0.0705882353);
}

.woocommerce table.shop_attributes tr:nth-child(even) td,
.woocommerce table.shop_attributes tr:nth-child(even) th,
.woocommerce table.shop_attributes tr:nth-child(odd) td,
.woocommerce table.shop_attributes tr:nth-child(odd) th {
  background-color: unset;
}

/* Responsiveness */

@media (max-width: 767px) {
  body.single-product .woocommerce-product-attributes tr,
  body.single-product .woocommerce-product-attributes th,
  body.single-product .woocommerce-product-attributes td {
    width: 100%;
    display: block;
    font-size: 1em;
  }
  body.single-product .woocommerce-product-attributes th {
    margin-bottom: -5px;
    padding-bottom: 0;
  }
}

/* Variable products */

.colorbox {
  display: block;
  width: 25px;
  height: 25px;
  margin-left: 5px;
}

.variable_colors {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 999;
  display: flex;
  opacity: 0;
  transition: all 0.4s;
}

.variable_colors_described {
  position: absolute;
  bottom: 0px;
  left: 0;
  right: 0;
  z-index: 99;
  font-size: 0.6em;
  padding: 20px;
  text-align: left;
  color: #fff;
  font-weight: 600;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0;
  transition: all 0.4s;
}

img.atmospheric {
  opacity: 0;
  transition: all 0.45s;
  position: absolute;
  z-index: 99;
  left: 0;
  top: 0;
}

body.tax-product_cat .elementor-widget-image:hover .atmospheric,
body.post-type-archive .elementor-widget-image:hover .atmospheric {
  opacity: 1;
}

body.tax-product_cat .elementor-widget-image:hover .variable_colors_described,
body.tax-product_cat .elementor-widget-image:hover .variable_colors {
  opacity: 1;
}

body.single-product .single_add_to_cart_button,
body.single-product .single_variation_wrap,
body.single-product .quantity {
  margin: 0 !important;
}

body.single-product .single_add_to_cart_button {
  margin: 20px 0 !important;
}

body.single-product span.price,
body.single-product .stock {
  color: #707070 !important;
  font-weight: bold;
}

body.single-product .reset_variations {
  display: none !important;
}

.added_to_cart.wc-forward {
  display: block;
}


.hover-img {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
}

/* Table fixes   */

body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes tr,
body.single-product .woocommerce-product-attributes td {
  display: flex;
  align-items: center;
}

@media (max-width: 767px) {
  body.single-product .woocommerce-product-attributes th,
  body.single-product .woocommerce-product-attributes tr,
  body.single-product .woocommerce-product-attributes td {
    display: block;
  }
}

.woocommerce table.shop_attributes {
  margin-bottom: 0;
}

body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes tr,
body.single-product .woocommerce-product-attributes th {
  min-width: 200px;
}

.product-category-container {
  display: grid;
  grid-column-gap: var(--grid-column-gap, 20px);
  grid-row-gap: var(--grid-row-gap, 20px);
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  max-width: 100%;
}

@media (max-width: 767px) {
  .product-category-container {
    display: grid;
    grid-column-gap: var(--grid-column-gap, 20px);
    grid-row-gap: var(--grid-row-gap, 20px);
    grid-template-columns: repeat(1, 1fr);
    align-items: stretch;
  }
}

.product-img,
.hover-img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  width: 100%;
  height: auto;
  opacity: 1;
  transition: all 0.45s;
  aspect-ratio: 1;
}
.hover-img {
  opacity: 0;
}

.product-img:hover .hover-img {
  opacity: 1;
}

.product-container {
  /* display: flex; */
  /* height: 500px; */
  padding: 10px;
}

.product-container ul {
  margin: 0 0 20px 20px;
  padding: 0;
  font-size: 0.8em;

  line-height: 115%;
}

.product-img-container {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
}

.elementor-widget-container {
  position: relative;
}

.advanced-product-filter {
  display: none;
  position: absolute;
  left: -200px;
  top: 21px;
  bottom: 0;
  width: 200px;
  border: 1px solid #ccc;
  padding: 10px;
  height: 600px;
  z-index: 999;
}

/* VUE JS */
#filter-results {
  /*display: grid;*/
  /*grid-template-columns: auto auto auto;*/
  /*grid-gap: 20px;*/
}
.object {
  display: flex;
  flex-direction: column;
  width: 33.333%;
  padding: 15px;
  box-sizing: border-box;
}
@media (max-width: 991px) {
  #filter-results {
    min-height: unset;
    /*grid-template-columns: auto auto;*/
  }
  .object {
    width: 100%;
    padding: 0;
    margin-bottom: 20px;
  }
}

#filter-results .wrapper {
  width: 300px;
  /* padding: 10px; */
  /* background-color: #fff; */
  /* box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.2); */
  box-sizing: border-box;
  cursor: pointer;
}

#filter-results .img-wrapper {
  position: relative;
  width: 300px;
  height: 300px;
  max-width: 100% !important;
}

#filter-results img {
  max-width: 100% !important;
  aspect-ratio: 1;
}
#filter-results .img-wrapper:hover .sfeer-img {
  opacity: 1;
}

#filter-results .price_per_square_meter {
  margin-top: 10px;
}

#filter-results .sfeer-img {
  transition: all 0.3s ease-in-out;
  aspect-ratio: 1;
  opacity: 0;
  display: block;
  width: 100%;
  background-size: cover;
  position: absolute;
  top: 0;
}

#filter-results .features {
  font-size: 0.9em;
  line-height: 1.2;
}

#filter-container,
#filter-toggle-btn {
  /*   display: none !important; */
}

/* HIDE PRICE SYMBOL $  */
.woocommerce-Price-currencySymbol {
  /* 	display: none !important; */
}


body.single-product .shop_attributes:nth-child(3) {
  display: none !important;
}

/*  GRID TO 2 on mobile */

#app {
  overflow: hidden;
}

@media (max-width: 991px) {
  #app #filter-results .wrapper,
  #app #filter-results .img-wrapper {
    max-width: 100%;
    /* 	width: 100%; */
    height: auto;
  }

  #app #filter-results .wrapper .title {
    font-size: 18px;
  }
  #app #filter-results .wrapper .features {
    font-size: 0.8em;
  }
}

body.single-product .variations {
  width: 100% !important;
}

body.single-product .product_title {
  margin-bottom: 10px;
}


body.single-product .variations_button {
  flex-direction: column;
  display: inline-flex !important;
}

body.single-product .single_add_sample_to_cart_button {
  margin-bottom: 10px !important;
}

body.single-product a.added_to_cart {
  border-radius: 0px 0px 0px 0px;
  color: #fff;
  background-color: #a9b8b77d;
  transition: all 0.2s;
  padding: 8px 1em;
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 !important;
}

.show-more-btn {
  display: block;
  border: 0;
  text-align: left;
  font-size: 0.9em;
  margin-top: 10px;
  cursor: pointer;
  text-decoration: underline;
}
.filter-item main {
  padding: 10px;
}
.filter-item main span {
  display: flex;
}
.filter-item main input {
  margin-right: 10px;
  margin-top: 0;
}
.filter-item main span {
  display: flex;
  align-items: center;
}
.filter-item main span label {
  padding: 2px 0;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.price-range-container[data-v-a73f3003] {
  padding-top: 20px;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: -20px;
}
.price-display[data-v-a73f3003] {
  display: flex;
  justify-content: space-between;
  margin-bottom: 10px;
  font-size: 14px;
}
.slider-container[data-v-a73f3003] {
  position: relative;
  width: 100%;
  height: 40px;
}
.slider[data-v-a73f3003] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-appearance: none;
  pointer-events: none;
  background: none;
}
.slider[data-v-a73f3003]::-webkit-slider-thumb {
  -webkit-appearance: none;
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #000;
  cursor: pointer;
  border: none;
  margin-top: -6px;
}
.slider[data-v-a73f3003]::-moz-range-thumb {
  pointer-events: auto;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #000;
  cursor: pointer;
  border: none;
}
.slider-track[data-v-a73f3003] {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 4px;
  width: 100%;
  background: #ddd;
}
.slider-track[data-v-a73f3003]:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 100%;
  background: #666;
}
input[type="range"][data-v-a73f3003] {
  position: absolute;
  width: 100%;
}
input[type="range"][data-v-a73f3003]::-webkit-slider-runnable-track {
  width: 100%;
  height: 4px;
  background: transparent;
  border: none;
}
input[type="range"][data-v-a73f3003]::-moz-range-track {
  width: 100%;
  height: 4px;
  background: transparent;
  border: none;
}
#mobile-filter-btn[data-v-68e30148] {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
  border: 0;
  background-color: #000;
  color: #fff;
  padding: 10px 20px;
  cursor: pointer;
  display: flex;
}
#mobile-filter-btn svg[data-v-68e30148] {
  width: 25px;
}
#mobile-filter-btn svg path[data-v-68e30148] {
  fill: #fff;
}
.outer-wrapper[data-v-68e30148] {
  width: 200px;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  padding: 20px;
  min-height: 100vh;
  max-height: 100vh;
  overflow-y: auto;
  box-shadow: 0 0 10px #ccc;
}
@media (max-width: 991px) {
  .outer-wrapper[data-v-68e30148] {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    box-sizing: border-box;
    width: 100%;
    bottom: 0;
    overflow-y: auto;
    z-index: 99999;
    padding-bottom: 100px;
    padding-top: 40px;
  }
}
.filter-item[data-v-68e30148] {
  margin-bottom: 10px;
}
.filter-item label[data-v-68e30148] {
  border-bottom: 1px solid #ccc;
  padding: 5px 0 10px;
  display: flex;
  cursor: pointer;
  justify-content: space-between;
}
.collapse-btn[data-v-68e30148] {
  border: 0;
  background-color: transparent;
}
.collapse-btn svg[data-v-68e30148] {
  width: 14px;
  height: 14px;
  fill: #000;
  transition: all 0.3s;
  transform: rotate(0);
}
.collapse-btn svg.turned[data-v-68e30148] {
  transform: rotate(180deg);
}
#reset-btn svg[data-v-68e30148] {
  width: 15px;
  margin-right: 10px;
}
#reset-btn[data-v-68e30148] {
  background-color: #000;
  color: #fff;
  border: 0;
  width: auto !important;
  padding: 8px 10px !important;
  left: unset;
  right: 0;
  display: flex;
  justify-content: center;
  cursor: pointer;
  margin-bottom: 20px;
}
#mobile-footer-actions[data-v-68e30148] {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
}
#mobile-footer-actions button[data-v-68e30148] {
  width: 100%;
  padding: 10px 0;
}
.show-results-btn[data-v-68e30148] {
  background-color: #000;
  border: 0;
  color: #fff;
  cursor: pointer;
  padding: 20px 40px !important;
  margin: 20px;
  box-sizing: border-box;
  width: calc(100% - 40px) !important;
}
.group-selected-count[data-v-68e30148] {
  border-radius: 100%;
  background-color: #00f;
  color: #fff;
  font-size: 0.8em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}
.wrapper[data-v-ea828339] {
  cursor: pointer;
  position: relative;
}
.wrapper:hover img[data-v-ea828339] {
  opacity: 0;
}
.wrapper:hover .sfeer-img[data-v-ea828339] {
  opacity: 1;
}
picture[data-v-ea828339] {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
}
img[data-v-ea828339] {
  transition: all 0.3s;
}
.sfeer-img[data-v-ea828339] {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-size: cover;
  transition: all 0.3s;
  opacity: 0;
  z-index: 9;
}
#wrapper[data-v-040fe030] {
  width: 80%;
  display: flex;
  flex-direction: column;
  position: fixed;
  left: 15%;
  top: 0;
  bottom: 0;
  overflow-y: auto;
  box-sizing: border-box;
  padding: 40px 0 40px 100px;
}
@media (max-width: 991px) {
  #wrapper[data-v-040fe030] {
    width: calc(100% - 20px);
    left: 0;
    padding: 20px;
  }
}
@media (max-width: 991px) {
  .count-header[data-v-040fe030] {
    display: none;
  }
}
#filter-results[data-v-040fe030] {
  /*display: grid;*/
  /*grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;*/
  /*grid-gap: 20px;*/
  /*padding: 40px 0;*/
}
@media (max-width: 991px) {
  #filter-results[data-v-040fe030] {
    position: absolute;
    top: 0;
    min-height: unset;
    /*grid-template-columns: 1fr 1fr;*/
  }
}
.active-items[data-v-1f4db095] {
  font-size: 0.9em;
  color: #000;
  display: flex;
}
#filter-app {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}

#filter-app .outer-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 250px;
  z-index: 999;
  padding-top: 60px;
}

#filter-app #filter-container {
  font-size: 0.7em;
}
#filter-app .collapse-btn {
  padding: 0;
  margin: 0;
  line-height: 1;
}

.count-header {
  padding: 0 10px;
}

#filter-app #wrapper {
  position: relative;
}

#filter-app #reset-btn {
  font-size: 10px;
  max-width: 100%;
}

#filter-app #filter-results {
  /*grid-template-columns: 1fr 1fr 1fr 1fr !important;*/
}

#filter-app #filter-results .object
/* #filter-app #filter-results .wrapper */ {
  width: 100%;
}

#filter-results .img-wrapper {
  width: auto;
  height: auto;
}

@media (max-width: 991px) {
  #filter-app #wrapper {
    position: inherit;
    /* 		width: 100%; */
    padding: 0;
  }

  #app {
    /* 		    height: 100vh; */
    overflow: inherit;
  }

  #filter-app .outer-wrapper {
    width: 100%;
  }
  #filter-app #filter-results {
    position: relative;
    /*grid-template-columns: 1fr !important;*/
  }
}



/* Remove left padding from WooCommerce product attributes table */
body.single-product .woocommerce-product-attributes th,
body.single-product .woocommerce-product-attributes tr,
body.single-product .woocommerce-product-attributes td {
  padding-left: 0;
}

canvas {
  max-width: 100%;
}

/* Leonie CSS */

.wp-block-jetpack-slideshow li figure img {
  width: 100% !important;
  object-fit: cover !important;
  object-position: bottom;
  height: 300px !important;
}

.wp-block-column figure img {
  object-fit: cover;
  width: 100% !important;
  height: 400px !important;
  object-position: bottom;
}

.title {
  font-size: 25px !important;
}

.show-more-btn {
  font-size: 12px !important;
}

.elementor-sub-item {
  color: var(--e-global-color-secondary) !important;
}

.special-temp-block .button-1-temp,
.special-temp-block .button-2-temp,
.special-temp-block .button-3-temp {
  width: 100% !important;
}

.elementor-47364 .elementor-element.elementor-element-ce80156 a {
  color: #d6ebfb;
  text-decoration: underline;
}

.card-container {
  display: flex;
  flex-wrap: no-wrap;
  column-gap: 50px;
  margin-top: 30px;
  margin-bottom: 20px !important;
}

.vanhuus-tegel-header {
  padding: 0 !important;
}

..vanhuus-tegel-knop {
  margin: 0 !important;
}

.vanhuus-tegel-naam {
  font-family: "Asap", "Sans-Serif" !important;
  font-size: 25px !important;
  padding: 0 !important;
}

.vanhuus-tegel-content {
  padding: 0;
}

.vanhuus-tegel-beschrijving {
  padding-right: 40px !important;
}

.vanhuus-tegel-afbeelding {
  width: 25% !important;
  height: 200px !important;
}

/* .elementor-location-single {
	top:-100px;
	position: relative;
} */

div.elementor-menu-toggle svg {
  fill: white !important;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container
  #menu-2-29c9cc1
  li.menu-item
  a {
  color: #54595f !important;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container
  .elementor-nav-menu
  .sub-arrow
  .e-font-icon-svg {
  fill: #54595f !important;
}

.content-blok {
  width: 44%;
}

.elementor-912604 .elementor-element.elementor-element-65e05b2 .image-caption {
  font-size: 14px !important;
  color: black !important;
  font-style: italic !important;
  background-color: #fafafaa1 !important;
  padding: 5px 40px !important;
}

@media screen and (max-width: 1024px) {
  .content-blok {
    width: 100%;
  }
  .elementor-nav-menu--dropdown.elementor-nav-menu__container
    #menu-2-29c9cc1
    li.menu-item
    a {
    color: #54595f !important;
  }
}



/* Loading Spinner Styles */
.loading-overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
  transition: all 0.3s ease-in-out;
  animation: fadeIn 0.3s ease-in-out;
}

.spinner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}

.spinner {
  position: relative;
  width: 60px;
  height: 60px;
}

.spinner-ring {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 3px solid transparent;
  border-radius: 50%;
  animation: spin 1.5s linear infinite;
}

.spinner-ring:nth-child(1) {
  border-top-color: #B0C9DC;
  animation-delay: 0s;
}

.spinner-ring:nth-child(2) {
  border-top-color: #7FB3D3;
  animation-delay: -0.5s;
  width: 80%;
  height: 80%;
  top: 10%;
  left: 10%;
}

.spinner-ring:nth-child(3) {
  border-top-color: #4F9ACF;
  animation-delay: -1s;
  width: 60%;
  height: 60%;
  top: 20%;
  left: 20%;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.loading-text {
  font-size: 14px;
  color: #666;
  font-weight: 500;
  text-align: center;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% {
    opacity: 0.7;
  }
  50% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}



/* Orientation switch styles */
.orientation-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  color: #333;
}

.orientation-label {
  font-weight: 500;
  white-space: nowrap;
}

/* MUI-style switch */
.switch {
  position: relative;
  display: inline-block;
  width: 44px;
  height: 24px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.3s;
  border-radius: 12px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: 0.3s;
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

input:checked + .slider {
  background-color: #b0c9dd;
}

input:focus + .slider {
  box-shadow: 0 0 1px #b0c9dd;
}

input:checked + .slider:before {
  transform: translateX(20px);
}

.action-link{
    color: #54595f;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    display: block;
    cursor: pointer;
    transition: color .2s 
ease;
    background-color: #e9e6ed;
    padding: 5px 10px;
}

.canvas-actions-below{
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    z-index: 999;
    position: relative;
    margin: 5px 0 0;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .canvas-actions-below {
    flex-direction: column;
    gap: 15px;
           align-items: flex-end;
  }

  .orientation-switch {
    order: -1; /* Show orientation switch first on mobile */
  }
  
  .color-swatches{
      flex-wrap: wrap;
  }
}

/* Download button for canvas */
.action-link{

}


.woocommerce-product-attributes-item__label{
  text-transform: capitalize;
}


/*  Mobile modal positioning */
@media (max-width: 600px) {
  .modal,.modal-content
	{
    top: unset !important;
    width: 100vw !important;
    max-width: 100vw !important;
	max-height: 50vh !important;
	overflow-y: auto !important; 
  }
	
	.specifications-sidebar,
	.specifications-sidebar.open,
	.goed-om-te-weten-sidebar,
	.goed-om-te-weten-sidebar.open
	{
		max-height: 50vh !important;
		top: unset;
		bottom:0;
		    width: 100vw !important;
    max-width: 100vw !important;
			overflow-y: auto !important; 
	}
}


body.single-product .wvg-single-gallery-image-container,
body.single-product .woo-variation-gallery-thumbnail-wrapper
{
		display: none !important;
}
	

#filter-app #filter-results .object{
	padding: 0 !important;
}


body.single-product tr.woocommerce-product-attributes-item.woocommerce-product-attributes-item--attribute_afwerking{
	display: none !important;
}

#filter-app .sort-dropdown{
	max-width: 300px;
    justify-self: flex-end;
}


/* CDN Product Slider */
.cdn-product-slider {
  position: relative;
  width: 100%;
}

.cdn-slider-carousel {
  width: 100%;
}

.cdn-slider-cell {
  width: 100%;
  padding-bottom: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.cdn-slider-fallback {
  padding: 40px 20px;
  text-align: center;
  background-color: #f5f5f5;
  color: #999;
  font-size: 14px;
}

/* Flickity overrides for CDN slider */
.cdn-product-slider .flickity-button {
  background: rgba(255, 255, 255, 0.85);
}

.cdn-product-slider .flickity-button:hover {
  background: #fff;
}

.cdn-product-slider .flickity-page-dots {
  bottom: 10px;
}

.cdn-product-slider .flickity-page-dots .dot {
  background: #333;
}

@media (max-width: 767px) {
  .cdn-product-slider .flickity-prev-next-button {
    width: 30px;
    height: 30px;
  }
}

/* ═══════════════════════════════════════════════════════════════════════════
   Imported from huus.local child theme
   ═══════════════════════════════════════════════════════════════════════════ */

/* ---- Remove odd-row zebra striping from attribute tables ---- */

table tbody > tr:nth-child(odd) > td,
table tbody > tr:nth-child(odd) > th {
    background-color: transparent !important;
}

table tbody tr:hover > td,
table tbody tr:hover > th {
    background-color: transparent !important;
}

/* ---- Add to cart button ---- */

.single_add_to_cart_button,
.woocommerce form.cart .button,
.elementor-widget-woocommerce-product-add-to-cart form.cart .button,
.elementor-widget-wc-add-to-cart form.cart .button {
    background: #f0f0f0 !important;
    color: #111 !important;
    border: 1px solid #d8d8d8 !important;
    border-radius: 4px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    font-size: 0.78rem !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

.single_add_to_cart_button:hover,
.woocommerce form.cart .button:hover,
.elementor-widget-woocommerce-product-add-to-cart form.cart .button:hover,
.elementor-widget-wc-add-to-cart form.cart .button:hover {
    background: #e4e4e4 !important;
    color: #111 !important;
}

:is(.elementor-widget-woocommerce-product-add-to-cart,
    .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
    .elementor-widget-wc-add-to-cart,
    .woocommerce div.product .elementor-widget-wc-add-to-cart)
form.cart .button:where(:not(:first-child)),
:is(.elementor-widget-woocommerce-product-add-to-cart,
    .woocommerce div.product .elementor-widget-woocommerce-product-add-to-cart,
    .elementor-widget-wc-add-to-cart,
    .woocommerce div.product .elementor-widget-wc-add-to-cart)
form.cart button:where(:not(:first-child)) {
    margin-inline-start: 0 !important;
}

/* ── Tileset info block (shortcode [tileset_info]) ──────────────────────── */
.tileset-info {
    background: #fdf6ec;
    border: 1.5px solid #e8c87a;
    border-radius: 8px;
    padding: 14px 16px;
    margin: 1em 0;
}

.tileset-info__summary {
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0 0 .4em;
    font-weight: 600;
    font-size: 1em;
    color: #7a5500;
}

.tileset-info__summary svg.tileset-icon {
    color: #c89a2a;
    opacity: 1;
}

.tileset-info__description {
    margin: 0;
    font-size: .9em;
    color: #5a4000;
    line-height: 1.5;
}
