/*
Theme Name: Minimog Child
Theme URI: http://minimog.thememove.com/
Author: ThemeMove
Author URI: http://thememove.com/
Version: 1.0.1
Template: minimog
Text Domain:  minimog-child
Tags: editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
*/

/* Theme Styling */

.my-custom-grid-wrapper {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  gap: 20px;
  margin: 0 0 20px;
  overflow: hidden;
  align-items: stretch;
  box-sizing: border-box;
  position: static;
  left: auto;
  transform: none;
}
.my-grid-item {
  display: flex;
  align-items: stretch;
  position: relative;
  width: 100%;
  height: 520px;
  border-radius: 6px;
  overflow: hidden;
  background-color: #f7f7f7;
}
.my-grid-item figure {
  width: 100%;
  height: 100%;
  position: relative;
}
.my-grid-item img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.shop-now-text {
  font-size: .9em;
  font-weight: 500;
}
@media screen and (max-width: 1023px) {
  .my-custom-grid-wrapper {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    margin: 10px 0 20px;
    position: relative;
    left: 38%;
    transform: translateX(-50%);
    width: 140vw;
    overflow: hidden;
  }
  .my-grid-item {
    height: auto;
    aspect-ratio: 1/2;
    flex-shrink: 0;
    max-height: 350px;
  }
  .my-custom-grid-wrapper .my-grid-item:first-child {
    flex-basis: 40vw;
    transform: scale(.9);
  }
  .my-custom-grid-wrapper .my-grid-item:nth-child(2) {
    flex-basis: 75vw;
  }
  .my-custom-grid-wrapper .my-grid-item:nth-child(3) {
    flex-basis: 40vw;
    transform: scale(.9);
  }
}


.woocommerce-product-attributes th {
    color: #000 !important;
}

.header-06 {
    --header-nav-item-hoz-padding: 20px !important;
}

.page-content {
  margin-bottom: 0;
}

.menu-item-35226:after {
    content: "Binnenkort";
    position: absolute;
    top: 10px;
    right: 18px;
    background: #ff3b00;
    padding: 2px 8px;
    color: #FFFFFF;
    font-size: 0.6em;
    line-height: 1.2em;
    border-radius: 4px;
}
.menu-item-35632:after {
    content: "Binnenkort";
    position: absolute;
    top: 10px;
    right: 18px;
    background: #ff3b00;
    padding: 2px 8px;
    color: #FFFFFF;
    font-size: 0.6em;
    line-height: 1.2em;
    border-radius: 4px;
}

@media screen and (max-width: 768px) {
.menu-item-35632:after,
.menu-item-35226:after {
	position: relative;
    top: -17px;
    right: 0px;
}
}

a.page-open-popup-search.hint--bounce.hint--bottom.header-icon.icon-set-05.icon-display--icon.show-sm {
    display: none;
}

.header-dark img, .dark-logo img, .header-light img, .light-logo img {
    border-radius: 0 !important;
}

.m-img-loaded img {
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-animation-name: none !important;
    animation-name: none !important;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

@media screen and (min-width: 767px) {
.elementor-page.page-has-sidebar .page-content>.container {
    max-width: 1380px;
    padding-left: 50px;
    padding-right: 50px;
}
.woocommerce-cart-form {
    max-width: 1380px;
    margin: 0 auto;
    margin-bottom: 20px;
    padding-left: var(--bs-gutter-x, .9375rem);
    padding-right: var(--bs-gutter-x, .9375rem);
}
.woocommerce-account .page-content>.container, .woocommerce-cart .page-content>.container, .woocommerce-checkout .page-content>.container {
    max-width: 1380px !important;
    padding-left: var(--bs-gutter-x, .9375rem) !important;
    padding-right: var(--bs-gutter-x, .9375rem) !important;
}
}

.archive-product-info {
    line-height: 1;
    color: #000000;
}

/*.minimog-product .woocommerce-loop-product__title {
    min-height: 48px;
} */
.minimog-product .thumbnail img {
border-radius: 5px;
}


#xl-selection label[for^="uni_cpo_ladderbandhout_50mm"] {
    width: 50%;
}

.minimog-product .woocommerce-loop-product__title {
    font-size: 16px;
    font-weight: 700 !important;
    color: #000000;
    font-weight: var(--minimog-typography-headings-font-weight-secondary);
    line-height: 1.5;
    margin-bottom: 0;
}

/*
.grid-item.product-type-simple {
    border: 1px solid #eee;
    border-radius: 3px;
    padding: 10px;
}
*/

.containerpx {
    width: calc(100% - 15px) !important;
    margin: 0 auto !important;
}

.sample-selector-link  .icon svg {
    display: none; /* Hide the existing SVG */
}

.header-icon svg {
    width: 1.4em;
    height: 1.4em;
}

.sample-selector-link  .icon {
    background-image: url('https://xlblinds.nl/wp-content/uploads/2025/03/material_13969721.png');
    background-repeat: no-repeat;
    background-size: contain;
    width: 1.4em; /* Match the SVG size */
    height: 1.4em;
}

@media (min-width: 768px) {
    .header-icon-badge-large .header-icon .icon-badge {
        font-weight: 700;
        top: -7px;
        right: -6px;
    }
	.header-icon {
    padding-right: 6px !important;
	padding-left: 6px !important;
}
}
@media (max-width: 767px) {
    .header-icon .icon-badge {
        right: -8px;
    }
	.header-icon {
    padding-right: 8px !important;
	padding-left: 8px !important;
}

	.header-icon .icon-badge {
    min-width: 17px;
    height: 17px;
    border-radius: 17px;
    line-height: 17px;
    font-size: 10px;
}
}

h3.entry-product-section-heading.product-information-heading {
    display: none;
}

.minimog-wc-account-wrap {
    box-shadow: none !important;
}

.woocommerce-account .page-title-bar-minimal-01 {
    display: none;
}
.single-product .page-title-bar-minimal-01 {
    margin: 10px 0px !important;
}
td.woocommerce-table__product-name.product-name ul {
    list-style: none;
}

@media (min-width: 992px) {
.woocommerce-order .row .col-lg-7 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
.woocommerce-order .col-lg-5 {
    margin-top: 20px;
    flex: 0 0 100% !important;
    max-width: 100% !important;
}
}

.woocommerce-order-received .page-title-bar-minimal-01 {
    display: none;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
    font-size: 2em;
    text-align: center;
    margin-top: 20px;
    font-weight: var(--minimog-typography-headings-font-weight-secondary);
    line-height: 1.5;
}
.checkout-order-review-heading, .woocommerce-order-details__title, .woocommerce-order-downloads__title {
    font-size: 2em;
    text-align: center;
    margin-bottom: 20px;
    font-weight: var(--minimog-typography-headings-font-weight-secondary);
    line-height: 1.5;
}
.woocommerce-order-received .woocommerce-column--shipping-address, .woocommerce-order-received .woocommerce-column--billing-address {
    min-height: 250px;
}
.woocommerce-order-overview__order .order-overview-value {
    background: #ff5c35 !important;
    color: #fff;
    padding: 0px 3px;
    font-size: 1.2em;
}

button.show-password-input.display-password, button.show-password-input, button.show-password-input {
    display: none;
}

.single-product .woo-single-gallery .minimog-thumbs-swiper .swiper-slide.swiper-slide-thumb-active .swiper-thumbnail-wrap img, .single-product .woo-single-gallery .minimog-thumbs-swiper .swiper-slide:hover .swiper-thumbnail-wrap img {
    -webkit-transform: scale3d(.95, .95, .95) !important;
    transform: scale3d(.95, .95, .95) !important;
}
.single-product .woo-single-gallery .minimog-thumbs-swiper .swiper-slide .swiper-thumbnail-wrap:before {
    border: 1px solid #666666 !important;
    border-radius: 0 !important;
}

p.elementor-heading-title.elementor-size-default {
    margin: -4px 0;
}


/* XL Product Archive Styling START */

.xl_archivetitle {
    min-height: 2lh;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* XL Product Archive Styling END */

/* XL Product Styling MAIN START */

.entry-product .entry-product-badges.product-badges.product-badges-label,
.entry-product .product-title-wrap,
.entry-product .entry-price-wrap {
	display: none;
}

.entry-product-section.entry-product-content-section {
	display: none;
}

.woocommerce-tabs.woocommerce-main-tabs {
    display: none;
}

.single-product .entry-summary form.cart {
	margin: 0;
}

@media only screen and (max-width: 768px) {
.single-product .entry-summary form.cart {
	margin: 22px 0 0;
}
}

.entry-product-quantity-wrapper .quantity-button-wrapper>label {
    margin: 6px 0px 6px;
    text-align: center;
}

/* XL Product Styling MAIN END */

/* XL Product Styling CPO START */

img.uni-cpo-option-label__image {
    height: 100%;
    width: 100%;
}

.uni-module .uni_cpo_field_required:after {
    opacity: 0;
}

.uni-module-text_input input {
  -moz-appearance: textfield;
}

.uni-cpo-tooltip {
    position: relative;
    display: inline-block;
    top: 0px;
    left: 4px;
    width: 14px;
    height: 14px;
    background: url(https://xlblinds.nl/wp-content/uploads/2025/06/question-xlblinds.svg) no-repeat center center;
    background-size: contain;
    cursor: pointer;
    vertical-align: middle;
}

.uni-cpo-tooltip::after {
    content: " uitleg";
    display: inline-block;
    vertical-align: middle;
    margin-left: 18px;
    font-size: 0.8em;
    color: #ff3b00;
    white-space: nowrap;
    position: relative;
    top: -9px;
}

.xlunicolors .uni-cpo-tooltip::after,
.xlunicolors2 .uni-cpo-tooltip::after {
    content: " Meetinstructies";
    display: inline-block;
    vertical-align: middle;
    margin-left: 18px;
    font-size: 0.7em;
    line-height: 22px;
    color: #ffffff;
	background: #ff3b00;
	border-radius: 4px;
	max-height: 22px;
    padding: 0px 5px;
    white-space: nowrap;
    position: relative;
    top: -9px;
}
.xlunioptions .uni-cpo-tooltip::after,
.xluniselect .uni-cpo-tooltip::after {
    content: " Extra info";
    display: inline-block;
    vertical-align: middle;
    margin-left: 18px;
    font-size: 0.7em;
    line-height: 22px;
    color: #ffffff;
	background: #ff3b00;
	border-radius: 4px;
	max-height: 22px;
    padding: 0px 5px;
    white-space: nowrap;
    position: relative;
    top: -9px;
}

.uni-module-radio label.uni-cpo-module-radio-label, .uni-module-checkbox label.uni-cpo-module-checkbox-label {
	margin-left: 5px;
	margin-bottom: 5px;
	margin-top: 5px;
}

.uni-module-radio.uni-module-radio-image-mode label.uni-cpo-option-label .uni-cpo-option-label__image-wrap, .uni-module-checkbox.uni-module-checkbox-image-mode label.uni-cpo-option-label .uni-cpo-option-label__image-wrap {
    border-radius: 5px;
    border: 1px solid #333333 !important;
}

.XLCPOROW {
    background: #f9f9f9;
    border: 1px solid #e4e4e4;
    padding: 15px;
    margin-bottom: 20px;
	border-radius: 5px;
}

.xlunicolors,
.xlunicolors2,
.xluniselect,
.xlunioptions {
    margin-top: 12px;
}

.xluniselect label.uni-cpo-option-label {
    box-sizing: border-box;
    width: calc(50% - 10px);
    margin: 5px;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	border-radius: 5px;
}

.xlunicolors label.uni-cpo-option-label,
.xlunicolors2 label.uni-cpo-option-label,
.xlunioptions label.uni-cpo-option-label {
  box-sizing: border-box;
  margin: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  width: calc(50% - 10px);
  border-radius: 5px;
  background: white;
  padding: 12px;
  border: 1px solid #d9d9d9;
}

.xluniselect .uni-cpo-option-label__text-content {
    font-size: 0.8em;
    font-weight: 600;
    color: #444;
}
.xlunicolors .uni-cpo-option-label__description,
.xlunicolors2 .uni-cpo-option-label__description,
.xlunioptions .uni-cpo-option-label__description {
    font-weight: 400 !important;
    font-size: 0.7em !important;
}

@media (min-width: 768px) {
	.xlunioptions label.uni-cpo-option-label,
	.xlunicolors label.uni-cpo-option-label,
	.xlunicolors2 label.uni-cpo-option-label {
    width: calc(33.333% - 10px);
	}
}

@media (min-width: 1024px) {
	.xlunioptions label.uni-cpo-option-label,
	.xlunicolors label.uni-cpo-option-label {
    width: calc(25% - 10px);
  }
	.xlunicolors2 label.uni-cpo-option-label {
    width: calc(16.67% - 10px);
	}
}

input:checked + label .uni-cpo-option-label__image-wrap,
input:checked + label .uni-cpo-option-label__text-content {
	border-radius: 5px;
}

.xlunicolors input:checked + label.uni-cpo-option-label,
.xlunicolors2 input:checked + label.uni-cpo-option-label,
.xlunioptions input:checked + label.uni-cpo-option-label {
    border: 1px solid #ff3b00 !important;
    background-color: rgb(255 59 0 / 6%) !important;
}

.xlunicolors .uni-cpo-option-label__image-wrap,
.xlunicolors2 .uni-cpo-option-label__image-wrap,
.xlunioptions .uni-cpo-option-label__image-wrap {
    border-width: 0px !important;
}

.xluniselect input:checked + label.uni-cpo-option-label {
    border: 1px solid #ff3b00 !important;
}

.xluniselect input:checked + label .uni-cpo-option-label__text-content {
    background-color: rgb(255 59 0 / 6%) !important;
	border-width: 0px !important;
}

.xluniselect .uni-cpo-option-label__text-content {
	border-width: 1px !important;
	border: 1px solid #d9d9d9;
	border-radius: 5px;
}

span.uni-cpo-option-label__description {
    font-size: 0.7em;
    color: #000;
    font-weight: 400;
}

.in3column {
  display: flex; /* Make the column a flex container */
  align-items: center; /* Center the items vertically */
  width: 100%;
  margin: 20px 0 0 0;
}
.in3column .uni-col-content.uni-node-content {
    width: 100%;
}
.in3text {
    display: flex;
    align-items: center;
    justify-content: right;
    padding: 10px 20px;
    background-color: #fbfbfb;
    border: 1px solid #f4f4f4;
    color: black;
    border-radius: 5px;
    font-size: 16px;
}

.in3text::before {
    content: "";
    width: 60px; /*width should be double the width of one image */
    height: 60px;
    background-image: url('https://xlblinds.nl/wp-content/uploads/2025/08/iDEAL_in3_RGB_oncolor_compact_tr.webp');
    background-repeat: no-repeat;
    background-position: left top, right top; /* position the first image on the left and the second one on the right*/
	background-size: auto 60px; /* auto width, 20px height */
    margin-right: 10px;
	position: absolute;
	left: 15px;
}
@media (max-width: 767px) {
  
.in3text::before {
    width: 90px; /*width should be double the width of one image */
}
.in3text-wrapper {
text-align: left; /* Change alignment back to left when screen width is below 767px */
}
.uni_cpo_in3-field, .in3text .js-uni-cpo-field-dynamic_notice {	
font-size: 11px !important;
line-height: 21px;
padding-left: 20%;
}
}
.in3text .separator {
  margin: 0 10px; /* Space between separator and logos/text */
}

/* XL Product Styling CPO END */

/* Product Sticky Bar - Main Container */
.product-sticky-bar {
    position: fixed;
    bottom: 0;
    /* Left and width will be set by JavaScript to match #uni_cpo_options */
    left: auto;
    width: auto;

    background-color: #f8f8f8;
    border: 1px solid #e4e4e4;
    padding: 10px 20px; /* Padding inside the bar (default for all sizes) */
    z-index: 1000;

    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, visibility 0.3s ease-in-out;
    transform: translateY(0);
    box-sizing: border-box; /* Crucial: Ensures padding is included in the JS-set width */
}

.product-sticky-bar:not(.is-visible) {
    opacity: 0;
    visibility: hidden;
    transform: translateY(100%);
}

/* --- UPDATED: Product Sticky Bar - Content Alignment and Spacing (Applies universally) --- */
.product-sticky-bar-content {
    display: flex;
    flex-direction: row; /* Keep content in a row */
    justify-content: space-between; /* Pushes image/title to left, price to right */
    align-items: center;
    width: 100%; /* Content will fill the width of its parent (.product-sticky-bar) */
    flex-wrap: wrap; /* Allow wrapping of items if content gets too wide on ANY screen */
    gap: 5px 10px; /* Vertical gap 5px, horizontal gap 10px (default for all sizes) */

    /* REMOVED: max-width and margin: 0 auto; for this element, as you want it fluid */
}

/* --- UPDATED: Styles for Product Info (Image + Title group - Applies universally) --- */
.sticky-product-info {
    display: flex;
    align-items: center;
    gap: 8px; /* Slightly smaller gap between image and title (default for all sizes) */
    flex-grow: 1; /* Allow to grow */
    flex-shrink: 1; /* Allow to shrink */
    min-width: 0; /* Ensures content can shrink within flex item */
}

/* --- UPDATED: Styles for Product Image (Applies universally) --- */
.sticky-product-image {
    width: 40px; /* Smaller image size (default for all sizes) */
    height: 40px;
    object-fit: cover;
    border-radius: 5px;
    flex-shrink: 0;
}

/* --- UPDATED: Styles for Product Title (Applies universally) --- */
.sticky-product-title {
    font-size: 1.05em; /* Adjusted font size (default for all sizes) */
    font-weight: 600;
    color: #555;
    margin: 0;
    max-width: calc(100% - 40px - 8px - 10px); /* Dynamic max-width based on image width + gap */
    white-space: normal; /* **ALWAYS ALLOW TITLE TEXT TO WRAP** */
    overflow: hidden; /* Hide overflow if max-width is hit after wrapping */
    text-overflow: ellipsis; /* Add "..." if title is still too long after wrap */
    line-height: 1.3;
    flex-grow: 1;
    flex-shrink: 1;
}

/* --- UPDATED: Styles for Product Price (Applies universally) --- */
.sticky-product-price {
    font-size: 1.6em; /* Adjusted font size (default for all sizes) */
    font-weight: bold;
    color: #333;
    white-space: nowrap; /* Keep price on one line */
    flex-shrink: 0;
    margin-left: auto; /* Pushes price to the far right */
    text-align: right; /* Ensure text is right-aligned */
}

/* --- REMOVED: All @media (max-width: 767px) blocks --- */
/* The styles previously inside here are now the default styles above. */

/* Optional: If you *still* need to fine-tune for very tiny screens */
@media (max-width: 420px) {
    .product-sticky-bar {
        padding: 5px 10px; /* Slightly less padding for very small screens */
    }
    .sticky-product-image {
        width: 35px; /* Even smaller image */
        height: 35px;
    }
    .sticky-product-title {
        font-size: 0.95em; /* Even smaller title */
        max-width: calc(100% - 35px - 8px - 10px); /* Adjust max-width for new image size + gap */
    }
    .sticky-product-price {
        font-size: 1.4em; /* Even smaller price */
    }
}

.button:hover, button:hover, input[type=button]:hover, input[type=reset]:hover, input[type=submit]:hover {
	border: none;
	border-color: none;
	box-shadow: none;
}

@media (max-width: 420px) {
.entry-product-quantity-wrapper .button {
    font-size: 0.7em;
}
.entry-product-meta-shipping .item {
    font-size: 0.75em;
}
}

/* WooCommerce Product Attributes Styling */
.woocommerce-product-attributes.shop_attributes {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 0.9em !important;
  border: 0;
  overflow: hidden !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.02) !important;
}

.woocommerce-product-attributes.shop_attributes tbody {
  width: 100% !important;
}

/* Row styling with alternating colors */
.woocommerce-product-attributes-item {
  border: none !important;
  border-bottom: 1px solid #e8e8e8 !important;
}

.woocommerce-product-attributes-item:nth-child(even) {
  background-color: #ffffff !important;
}

.woocommerce-product-attributes-item:nth-child(odd) {
  background-color: #fafafa !important;
}

.woocommerce-product-attributes-item:last-child {
  border-bottom: none !important;
}

/* Label styling (left side) */
.woocommerce-product-attributes-item__label {
  font-family: 'Sora', sans-serif !important;
  font-size: 0.9em !important;
  font-weight: 600 !important;
  color: #000000 !important;
  text-align: left !important;
  padding: 8px 24px !important;
  vertical-align: top !important;
  width: 40% !important;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
}

/* Value styling (right side) */
.woocommerce-product-attributes-item__value {
  font-family: 'Sora', sans-serif !important;
  font-size: 0.8em !important;
  font-weight: 400 !important;
  color: #333333 !important;
  text-align: right !important;
  padding: 8px 24px !important;
  vertical-align: top !important;
  width: 60% !important;
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
}

/* Remove default paragraph margins inside values */
.woocommerce-product-attributes-item__value p {
  margin: 0 !important;
  padding: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
}

/* Mobiel responsive aanpassingen (geen stacking) */
@media (max-width: 768px) {
  .woocommerce-product-attributes-item__label,
  .woocommerce-product-attributes-item__value {
    /* Alleen de padding wordt aangepast, het 'table-like' gedrag blijft */
    padding: 8px 8px !important;
  }
}

/* Optional: Add hover effect */
.woocommerce-product-attributes-item:hover {
  background-color: #f0f0f0 !important;
  transition: background-color 0.2s ease !important;
}

.wc-item-meta li {
    line-height: 1.33em !important;
}

.xldimension .uni-cpo-module-text_input-label {
    font-size: 0.9em !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    margin: 0;
}

@media (max-width: 768px) {
  .dimensionsub {
    font-size: 0.6em;
  }
}

.uni-builderius-container .parsley-errors-list li {
    background-color: #ff3b00 !important;
    color: #fff !important;
    border-radius: 4px;
}

@media (max-width: 768px) {
    .col-md-3.top-bar-left {
        width: 25% !important;
        min-width: 121px;
        justify-items: left;
    }
    .col-md-6.top-bar-center {
        width: 65%;
        justify-items: center;
		overflow: hidden;
    }
    .col-md-3.top-bar-right {
        width: 0%;
		display: none;
    }
    .page-top-bar.top-bar-has-collapsible-toggle {
        padding-right: 0;
    }
    .page-top-bar.top-bar-has-collapsible-toggle .top-bar-collapsible-toggle {
        display: none;
    }
}

@media (min-width: 768px) {
	.col-md-3.top-bar-left {
        flex: 0 0 8%;
        max-width: 8%;
        min-width: 130px;
    }
    .col-md-6.top-bar-center {
        flex: 0 0 83%;
        max-width: 83%;
		overflow: hidden;
    }
	.col-md-3.top-bar-right {
        width: 0%;
		display: none;
    }
}