small{
    font-size: .75em;
}


.mt-3 {
    margin-top: 1rem;
}
.mb-3 {
    margin-bottom: 1rem;
}
.align-items-end{
    align-items: flex-end;
}


.input-error{
	float: left;
	width: 100%;
	padding: 0px 12px;
	background: #C2292e;
	color: #fff;
	font-size: 12px;
	border-radius: 5px;
}


input:read-only,
input.readonly{
	background-color: #f1f1f1;
	cursor: default;
}

input.readonly::-webkit-outer-spin-button,
input.readonly::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}



.fancybox-slide--iframe .fancybox-content.fancybox__content{
    height: 75vh !important;
}


/* Cart item custom data styling for 2 columns */
.wc-block-components-product-details,
.wc-block-components-cart-item__metadata,
.spq-cart-item-data-wrapper,
.shop_table.cart .variation {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 2px 40px !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-top: 15px !important;
}

/* Metadata items in WooCommerce Blocks */
.wc-block-components-product-details > span,
.spq-cart-item-data-row {
    flex: 0 0 calc(50% - 20px) !important;
    margin: 0 0 5px 0 !important;
    padding: 0 !important;
    font-size: 14px !important;
    line-height: 1.4;
    box-sizing: border-box;
    display: block !important;
    color: #000 !important;
}

/* Ensure labels are bold as requested */
.wc-block-components-product-details__name {
    display: inline-block !important;
    font-weight: bold !important;
    margin-right: 5px !important;
}

/* Specific styling for the metadata values */
.wc-block-components-product-details__value {
    display: inline-block !important;
}

/* Hide separators in Blocks */
.wc-block-components-product-details [aria-hidden="true"] {
    display: none !important;
}

/* Pricing layout adjustments based on design.png */
.wc-block-cart-item__prices {
    display: block !important;
    margin-bottom: 10px !important;
    float: left !important;
    text-align: left !important;
}

.wc-block-components-product-price {
    font-weight: bold !important;
    font-size: 1.2em !important;
    color: #000 !important;
}

/* Ensure the description is really hidden */
.wc-block-components-product-metadata__description {
    display: none !important;
}

/* Hide empty price blocks in cart if they are set to empty string by our filter */
.wc-block-components-product-price:empty,
.wc-block-cart-item__prices:has(.wc-block-components-product-price:empty) {
    display: none !important;
}

/* Hide unit price for kozijn items (marked via JS data attribute) */
.wc-block-cart-item__wrap[data-spq-price-hidden="1"] .wc-block-cart-item__prices {
    display: none !important;
}

/* Fallback: If price is just a symbol or empty span, hide it */
.wc-block-components-product-price__value:empty {
    display: none !important;
}

/* Quantity selector positioning */
.wc-block-cart-item__quantity {
    display: flex !important;
    align-items: center !important;
    gap: 15px !important;
    margin-top: 10px !important;
    justify-content: flex-end !important;
    float: left !important;
    clear: both !important;
    width: auto !important;
}

.wc-block-cart-item__wrap {
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
}

.wc-block-cart-item__quantity .wc-block-components-quantity-selector {
    margin: 0 !important;
    background: #f1f1f1 !important;
    border-radius: 4px !important;
    padding: 2px !important;
    display: flex !important;
}

.wc-block-cart-item__quantity .wc-block-components-quantity-selector__input {
    width: 40px !important; /* More compact */
    background: transparent !important;
    border: none !important;
    text-align: center !important;
    flex: 1 !important;
}

.wc-block-cart-item__remove-link {
    margin: 0 !important;
    padding: 0 !important;
}

/* Hide quotation button and form for non-logged in users as extra security layer */
body:not(.logged-in) .cart_to_quotation_button,
body:not(.logged-in) #kozijn-samenstellen-offerte-form,
body:not(.logged-in) #cart-to-quotation-error {
    display: none !important;
}

@media (max-width: 600px) {
    .wc-block-components-product-details > span,
    .spq-cart-item-data-row {
        flex: 0 0 100% !important;
    }
}