/* ==========================================================================
   Bluena – WooCommerce in de donkere huisstijl
   ========================================================================== */

/* ---------- Knoppen ---------- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce input.button.alt, .wc-block-components-button:not(.is-link) {
	display: inline-flex; align-items: center; justify-content: center; gap: .5em;
	min-height: 46px; padding: 0 22px; border-radius: 999px; border: 0;
	background: var(--surface-2); color: var(--text); font-weight: 600; font-family: var(--font-body);
	line-height: 1.2; transition: background-color .2s, transform .2s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover {
	background: var(--line); color: #fff; transform: translateY(-1px);
}
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce .checkout-button,
.woocommerce #place_order, .wc-block-components-button.contained, .wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background: var(--blue-strong) !important; color: #fff !important;
}
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce .checkout-button:hover, .woocommerce #place_order:hover {
	background: var(--blue-deep) !important;
}
.woocommerce a.button.added::after { margin-left: .4em; }
.woocommerce a.added_to_cart { display: inline-block; margin-top: 8px; font-size: .9rem; font-weight: 600; }

/* ---------- Productoverzicht ---------- */
.woocommerce .woocommerce-breadcrumb { color: var(--muted); font-size: .85rem; margin-bottom: 20px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--muted); }
.woocommerce-products-header__title { font-size: clamp(1.8rem, 5vw, 3rem); }
.woocommerce .woocommerce-result-count { color: var(--muted); margin: 0 0 20px; }
.woocommerce .woocommerce-ordering { margin: 0 0 24px; }
.woocommerce .woocommerce-ordering select { min-width: 220px; }

.woocommerce ul.products {
	display: grid; gap: 16px; margin: 0; padding: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
@media (min-width: 900px) {
	.woocommerce ul.products { gap: 22px; }
	.woocommerce ul.products.columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.woocommerce ul.products.columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.woocommerce ul.products li.product {
	position: relative; display: flex; flex-direction: column;
	width: auto !important; margin: 0 !important; float: none !important; padding: 10px 10px 16px;
	background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
	transition: transform .25s var(--ease), border-color .25s;
}
.woocommerce ul.products li.product:hover { transform: translateY(-4px); border-color: rgba(59,130,246,.55); }
.woocommerce ul.products li.product a img {
	margin: 0 0 14px; border-radius: 12px; aspect-ratio: 1 / 1; object-fit: cover; background: var(--surface-2);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--font-body); font-weight: 600; font-size: 1rem; color: var(--heading);
	padding: 0 6px; margin-bottom: 6px;
}
.woocommerce ul.products li.product .price { color: var(--text); font-weight: 700; padding: 0 6px; font-size: 1.05rem; margin-bottom: 12px; }
.woocommerce ul.products li.product .button { margin: auto 6px 0; width: calc(100% - 12px); }
.woocommerce ul.products li.product .woocommerce-LoopProduct-link { text-decoration: none; }
@media (max-width: 480px) {
	.woocommerce ul.products li.product .button { padding: 0 12px; font-size: .9rem; }
}

.woocommerce span.onsale {
	top: 18px; left: 18px; right: auto; min-width: 0; min-height: 0; margin: 0; padding: 4px 12px;
	border-radius: 999px; background: var(--coral); color: #111; font-weight: 700; font-size: .8rem; line-height: 1.6;
}
.woocommerce .price del { color: var(--muted); opacity: 1; font-weight: 400; }
.woocommerce .price ins { text-decoration: none; color: var(--coral); }

.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 6px; justify-content: center; margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span {
	min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center;
	border-radius: 12px; background: var(--surface); color: var(--text);
}
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--blue-strong); color: #fff; }

/* ---------- Productpagina ---------- */
.woocommerce div.product { display: grid; gap: 32px; }
@media (min-width: 900px) { .woocommerce div.product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 56px; } }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width: 100% !important; float: none !important; margin: 0; }
.woocommerce div.product div.images img { border-radius: var(--radius); background: var(--surface); }
.woocommerce div.product div.images .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-top: 8px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 10px; }
.woocommerce div.product .product_title { font-size: clamp(1.6rem, 4vw, 2.4rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--heading); font-size: 1.6rem; font-weight: 700; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--muted); }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0; }
.woocommerce div.product form.cart .variations { width: 100%; margin-bottom: 8px; }
.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th { padding: 6px 0; display: block; }
.woocommerce .quantity .qty { width: 88px; min-height: 46px; text-align: center; border-radius: 999px; }
.woocommerce div.product .single_add_to_cart_button { flex: 1; min-width: 200px; min-height: 50px; }
.woocommerce div.product .product_meta { color: var(--muted); font-size: .9rem; display: grid; gap: 4px; }
.woocommerce div.product .stock { color: #4ADE80; font-weight: 600; }
.woocommerce div.product .out-of-stock { color: var(--coral); }

.woocommerce div.product .woocommerce-tabs { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin: 0 0 24px; display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 999px; background: transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--muted); padding: 10px 18px; font-weight: 600; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--surface); border-color: var(--blue); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--text); }
.woocommerce .related.products, .woocommerce .upsells.products { grid-column: 1 / -1; margin-top: 24px; }
.woocommerce .related.products > h2, .woocommerce .upsells.products > h2 { font-size: 1.5rem; }

.woocommerce .star-rating span::before, .woocommerce p.stars a { color: #FBBF24; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { border-color: var(--line); border-radius: 12px; }

/* ---------- Meldingen ---------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments,
.wc-block-components-notice-banner {
	background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--line) !important;
	border-left: 4px solid var(--blue) !important; border-radius: 12px; padding: 14px 18px 14px 48px;
}
.woocommerce-error { border-left-color: var(--coral) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--blue); }
.woocommerce-error::before { color: var(--coral); }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin-left: 12px; }

/* ---------- Winkelwagen & afrekenen (klassiek) ---------- */
.woocommerce table.shop_table { border: 1px solid var(--line); border-radius: var(--radius); border-collapse: separate; background: var(--surface); }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--line); color: var(--text); }
.woocommerce table.shop_table img { width: 64px; border-radius: 8px; }
.woocommerce a.remove { color: var(--coral) !important; }
.woocommerce a.remove:hover { background: var(--coral); color: #111 !important; }
.woocommerce .cart-collaterals .cart_totals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-shipping-fields h3 { font-size: 1.3rem; }
.woocommerce form .form-row label { color: var(--heading); }
.woocommerce form .form-row .required { color: var(--coral); text-decoration: none; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment div.payment_box { background: var(--surface); border-radius: var(--radius); color: var(--text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--surface); }
.woocommerce-checkout #payment ul.payment_methods { border-color: var(--line); }
.select2-container--default .select2-selection--single { background: var(--ink); border: 1.5px solid var(--line); border-radius: 12px; min-height: 48px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--text); line-height: 46px; }
.select2-dropdown { background: var(--surface); border-color: var(--line); color: var(--text); }

/* ---------- Winkelwagen & afrekenen (blokken) ---------- */
.wc-block-components-text-input input, .wc-block-components-text-input input[type],
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-select-input select, .wc-blocks-components-select select,
.wc-block-components-textarea, .wc-block-components-form .wc-block-components-text-input input {
	background: var(--ink) !important; color: var(--text) !important; border-color: var(--line) !important;
}
.wc-block-components-text-input label, .wc-blocks-components-select__label { color: var(--muted) !important; }
.wc-block-components-sidebar-layout .wc-block-components-main, .wc-block-components-totals-wrapper { border-color: var(--line) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-color: var(--line) !important; }
.wc-block-cart, .wc-block-checkout { color: var(--text); }
.wc-block-components-product-name { color: var(--heading) !important; }

/* ---------- Account ---------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: grid; gap: 4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--text); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--surface); color: #fff; }
