/* ============================================================
   Bundle-layout (enkel op productpagina met componenten)
   ============================================================ */
body.etr-bc-has-components form.cart {
	display: grid;
    grid-template-columns: auto 1fr;
    gap: .75rem 1rem;
    align-items: center;
    padding: 1.25rem;
    border: 1px solid var(--primary_color);
    border-radius: 2px;
    max-width: 560px;
}
/* Rij 1: qty-input (kolom 1) + hoofdproduct-naam (kolom 2) */
body.etr-bc-has-components form.cart > .quantity { grid-column: 1; grid-row: 1; margin: 0; }
body.etr-bc-has-components .etr-bc-main-product-label {
	grid-column: 2;
	grid-row: 1;
	font-weight: 600;
	font-size: 1.05em;
}
/* Rij 2: componenten (volledige breedte) */
body.etr-bc-has-components form.cart > .etr-bc-components { grid-column: 1 / -1; grid-row: 2; margin: 0; }
/* Rij 3: bestel-knop (volledige breedte) */
body.etr-bc-has-components form.cart > .single_add_to_cart_button { grid-column: 1 / -1; grid-row: 3; justify-self: stretch; }

/* ============================================================
   Componenten-lijst (rijen onder elkaar, qty + naam binnen rij)
   ============================================================ */
.etr-bc-components { margin: 1.5rem 0; display: block; width: 100%; clear: both; }
.etr-bc-components h4 { margin: 0 0 .5rem; font-size: 1rem; }
.etr-bc-components ul { list-style: none; padding: 0; margin: 0; display: block; }
.etr-bc-components li {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: .75rem;
	padding: .5rem 0;
	border-bottom: 1px solid #eee;
	width: 100%;
}

/* Required (readonly rij met qty-prefix) */
.etr-bc-components__required .etr-bc-components__qty { min-width: 2.5rem; color: #666; font-variant-numeric: tabular-nums; }
.etr-bc-components__required .etr-bc-components__name { flex: 1; }
.etr-bc-components__required .etr-bc-components__price { color: #2a8f2a; font-weight: 400; }

/* Optional (qty-widget links, naam + prijs rechts) */
.etr-bc-components__qty-wrap { flex: 0 0 auto; }
.etr-bc-components__qty-wrap .quantity { margin: 0; }
.etr-bc-components__qty-wrap input.qty { width: 3.5rem; text-align: center; }
.etr-bc-components__info { flex: 1; display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; }
.etr-bc-components__name { flex: 1 1 auto; font-weight: 500; }
.etr-bc-components__price { font-weight: 600; }
.etr-bc-components__hint { color: #888; font-size: .85em; }

.etr-bc-components__modal[hidden] { display: none; }
.etr-bc-components__modal { position: fixed; inset: 0; background: rgba(0,0,0,.5); display: flex; align-items: center; justify-content: center; z-index: 99999; }
.etr-bc-components__modal-inner { background: #fff; padding: 1.5rem; max-width: 480px; width: 90%; max-height: 80vh; overflow: auto; border-radius: 4px; }

.woocommerce-cart-form .etr-bc-component-item td.product-name { padding-left: 2rem; }
.etr-bc-component-arrow { color: #999; }
.etr-bc-component-label { color: #2a8f2a; }
