/* Inline plant companion selector: visually part of the purchase, never a detour. */
.single-product .vlc-purchase-box form.cart:has(.vlc-kit-builder) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.65rem;
}
.single-product .vlc-purchase-box form.cart:has(.vlc-kit-builder) .quantity { flex: 0 0 4.25rem; }
.single-product .vlc-purchase-box form.cart:has(.vlc-kit-builder) button.single_add_to_cart_button { flex: 1 1 10rem; min-width: 0; }
.single-product .vlc-purchase-box .vlc-kit-builder {
	flex: 0 0 100%;
	min-width: 0;
	margin: 0 0 0.4rem;
	color: #26372d;
}
.single-product .vlc-kit-builder h2 {
	margin: 0 0 0.85rem;
	font-family: var(--vlc-font-sans, Inter, sans-serif);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.35;
}
.single-product .vlc-kit-group {
	margin: 0.6rem 0;
	border: 1px solid #cdd8cd;
	border-radius: 0.75rem;
	background: #fff;
}
.single-product .vlc-kit-group[hidden],
.single-product .vlc-kit-option[hidden] { display: none !important; }
.single-product .vlc-kit-group[open],
.single-product .vlc-kit-group.is-picked { border-color: #9cb9a4; }
.single-product .vlc-kit-group > summary {
	display: block;
	min-height: 3.25rem;
	padding: 0.8rem 0.95rem;
	cursor: pointer;
	list-style: none;
}
.single-product .vlc-kit-group > summary::-webkit-details-marker { display: none; }
.single-product .vlc-kit-group > summary:focus-visible { outline: 2px solid #285640; outline-offset: 3px; border-radius: 0.75rem; }
.single-product .vlc-kit-group__head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.single-product .vlc-kit-group__label {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
}
.single-product .vlc-kit-group__action {
	flex: 0 0 auto;
	color: #285640;
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.35;
}
.single-product .vlc-kit-group__action::after { content: ' +'; font-size: 1.1em; }
.single-product .vlc-kit-group.is-picked .vlc-kit-group__action::after { content: ' ↗'; }
.single-product .vlc-kit-group__selected {
	display: grid;
	grid-template-columns: 4.5rem minmax(0, 1fr) 1.5rem;
	align-items: center;
	gap: 0.85rem;
	margin-top: 0.7rem;
	padding-top: 0.7rem;
	border-top: 1px solid #e4ebe2;
}
.single-product .vlc-kit-group__selected[hidden] { display: none; }
.single-product .vlc-kit-group__selected-media,
.single-product .vlc-kit-option__media {
	display: block;
	width: 4.5rem;
	height: 4.5rem;
	overflow: hidden;
	border-radius: 0.5rem;
	background: #f4f4ef;
}
.single-product .vlc-kit-group__selected-media img,
.single-product .vlc-kit-option__media img { display: block; width: 100%; height: 100%; object-fit: contain; }
.single-product .vlc-kit-group__selected-media img[hidden] { display: none; }
.single-product .vlc-kit-group__selected-media[data-image-focus="cemento-premium"] img,
.single-product .vlc-kit-option__media[data-image-focus="cemento-premium"] img {
	transform: scale(2.2);
	transform-origin: 50% 78%;
}
.single-product .vlc-kit-group__selected-copy { display: grid; gap: 0.15rem; min-width: 0; }
.single-product .vlc-kit-group__selected-copy strong { font-size: 0.975rem; line-height: 1.35; font-weight: 650; }
.single-product .vlc-kit-group__selected-copy > span { font-size: 0.9375rem; line-height: 1.35; font-weight: 700; }
.single-product .vlc-kit-group__check { display: grid; place-items: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; background: #285640; color: #fff; font-size: 0.875rem; font-weight: 700; }
.single-product .vlc-kit-group__options {
	display: grid;
	gap: 0;
	padding: 0.25rem 0.65rem 0.5rem;
	border-top: 1px solid #e4ebe2;
}
.single-product .vlc-kit-option {
	display: grid;
	grid-template-columns: 1.2rem 4.5rem minmax(0, 1fr);
	align-items: center;
	gap: 0.8rem;
	min-height: 5.35rem;
	padding: 0.5rem 0.45rem;
	border-bottom: 1px solid #edf0eb;
	background: transparent;
	cursor: pointer;
}
.single-product .vlc-kit-option:last-child { border-bottom: 0; }
@media (hover: hover) { .single-product .vlc-kit-option:hover { background: #f7faf6; } }
.single-product .vlc-kit-option:has(input:checked) { background: #eff6ef; }
.single-product .vlc-kit-option:has(input:focus-visible) { outline: 2px solid #285640; outline-offset: 2px; }
.single-product .vlc-kit-option input { accent-color: #285640; width: 1.1rem; height: 1.1rem; margin: 0; }
.single-product .vlc-kit-option__copy { display: grid; gap: 0.2rem; min-width: 0; }
.single-product .vlc-kit-option__text { min-width: 0; font-size: 0.9375rem; line-height: 1.35; font-weight: 550; overflow-wrap: anywhere; }
.single-product .vlc-kit-option strong { font-size: 0.9375rem; line-height: 1.35; font-weight: 700; }
.single-product .vlc-kit-option--none { grid-template-columns: 1.2rem minmax(0, 1fr); min-height: 3rem; }
.single-product .vlc-kit-group__hint { margin: 0.35rem 0.45rem 0.15rem; color: #506057; font-size: 0.875rem; line-height: 1.45; }
.single-product .vlc-kit-total {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	margin: 0.8rem 0 0;
	padding: 0.8rem 0 0;
	border-top: 1px solid #d8dfd7;
	font-size: 1rem;
	line-height: 1.4;
}
.single-product .vlc-kit-total[hidden] { display: none; }
.single-product .vlc-kit-total strong { white-space: nowrap; }
@media (max-width: 480px) {
	.single-product .vlc-kit-group__selected { grid-template-columns: 3.75rem minmax(0, 1fr) 1.5rem; gap: 0.6rem; }
	.single-product .vlc-kit-group__selected-media,
	.single-product .vlc-kit-option__media { width: 3.75rem; height: 3.75rem; }
	.single-product .vlc-kit-option { grid-template-columns: 1.2rem 3.75rem minmax(0, 1fr); gap: 0.6rem; min-height: 4.9rem; }
	.single-product .vlc-kit-option--none { grid-template-columns: 1.2rem minmax(0, 1fr); }
}
@media (max-width: 359px) {
	.single-product .vlc-purchase-box form.cart:has(.vlc-kit-builder) button.single_add_to_cart_button,
	.single-product .vlc-purchase-box .vlc-product-whatsapp-cta { padding-inline: 0.6rem; }
}

.single-product .vlc-protection-discovery {
	box-sizing: border-box;
	margin: 1.25rem 0;
	border: 1px solid #d2dbd1;
	border-radius: 0.85rem;
	background: #f7faf5;
	color: #26372d;
}
.single-product .vlc-protection-discovery summary { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; padding: 0.95rem 1.1rem; cursor: pointer; list-style: none; }
.single-product .vlc-protection-discovery summary::-webkit-details-marker { display: none; }
.single-product .vlc-protection-discovery summary:focus-visible { outline: 2px solid #285640; outline-offset: 2px; }
.single-product .vlc-protection-discovery summary span { color: #285640; font-size: 0.875rem; font-weight: 700; white-space: nowrap; }
.single-product .vlc-protection-discovery h2 { margin: 0; font-family: var(--vlc-font-sans, Inter, sans-serif); font-size: 1.1rem; line-height: 1.35; }
.single-product .vlc-protection-discovery__body { padding: 0 1.1rem 1.1rem; }
.single-product .vlc-protection-discovery__body > p { margin: 0 0 0.9rem; font-size: 0.9375rem; line-height: 1.45; }
.single-product .vlc-protection-discovery__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.single-product .vlc-protection-discovery__fields label { display: grid; gap: 0.35rem; min-width: 0; font-size: 0.875rem; font-weight: 700; }
.single-product .vlc-protection-discovery__fields select { box-sizing: border-box; width: 100%; min-height: 2.85rem; padding: 0.6rem 0.7rem; border: 1px solid #bbcabb; border-radius: 0.5rem; background: #fff; color: #26372d; font: inherit; font-size: 0.9375rem; }
.single-product .vlc-protection-discovery__fields select:focus-visible { outline: 2px solid #285640; outline-offset: 2px; }
.single-product .vlc-protection-discovery .vlc-protection-discovery__status { margin: 0.85rem 0; color: #3c5544; }
.single-product .vlc-protection-discovery__results { display: grid; gap: 0.7rem; }
.single-product .vlc-protection-discovery__card[hidden] { display: none !important; }
.single-product .vlc-protection-discovery__card { padding: 0.7rem; border: 1px solid #d2dbd1; border-radius: 0.65rem; background: #fff; }
.single-product .vlc-protection-discovery__card > a { display: grid; grid-template-columns: 4.75rem minmax(0, 1fr) auto; align-items: center; gap: 0.75rem; color: #26372d; text-decoration: none; }
.single-product .vlc-protection-discovery__card img { width: 4.75rem; height: 4.75rem; object-fit: contain; border-radius: 0.4rem; background: #f5f5f1; }
.single-product .vlc-protection-discovery__card > a > span:nth-child(2) { display: grid; gap: 0.2rem; font-size: 0.9375rem; }
.single-product .vlc-protection-discovery__card > a strong { line-height: 1.35; }
.single-product .vlc-protection-discovery__card > p { margin: 0.65rem 0 0; font-size: 0.875rem; line-height: 1.45; }
.single-product .vlc-protection-discovery .vlc-protection-discovery__caution { margin: 0.85rem 0; color: #526155; font-size: 0.875rem; }
.single-product .vlc-protection-discovery__help { display: inline-block; font-size: 0.9375rem; font-weight: 700; color: #285640; text-underline-offset: 0.2rem; }
@media (max-width: 560px) {
	.single-product .vlc-protection-discovery__fields { grid-template-columns: minmax(0, 1fr); }
}
