/* DBR Mix & Match — frontend pakke-bygger */
.dbrmm-builder {
	--dbrmm-primary: #327039;
	--dbrmm-primary-light: #EEF5EC;
	margin: 18px 0 20px;
	font-family: inherit;
}
.dbrmm-heading {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 12px;
}
.dbrmm-heading .dbrmm-count { color: #6B7280; font-weight: 500; }

.dbrmm-slots { display: flex; flex-direction: column; gap: 14px; }

/* Side om side (som en klassisk 3-pak) — jævne kolonner, stakker på små skærme */
.dbrmm-slots--inline {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	align-items: start;
}
@media (max-width: 560px) {
	.dbrmm-slots--inline { grid-template-columns: 1fr; }
}

/* Uden boks (kompakt) — dropper ramme/baggrund/padding om hver vælger */
.dbrmm-slots--nobox .dbrmm-slot {
	border: 0;
	background: transparent;
	padding: 0;
	border-radius: 0;
}
.dbrmm-slot {
	border: 1px solid #E5E7EB;
	border-radius: 10px;
	padding: 12px 14px;
	background: #fff;
}
.dbrmm-slot-label {
	font-size: .82rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #6B7280;
	margin-bottom: 8px;
}
.dbrmm-options { display: flex; flex-wrap: wrap; gap: 8px; }

/* Fælles option */
.dbrmm-option {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	cursor: pointer;
	border: 2px solid #E5E7EB;
	border-radius: 8px;
	background: #fff;
	transition: border-color .12s, background .12s, box-shadow .12s;
	user-select: none;
}
.dbrmm-option input { position: absolute; opacity: 0; pointer-events: none; }
.dbrmm-option:hover { border-color: #CBD5E1; }
.dbrmm-option.is-selected {
	border-color: var(--dbrmm-primary);
	background: var(--dbrmm-primary-light);
	box-shadow: 0 0 0 1px var(--dbrmm-primary) inset;
}
.dbrmm-option.is-disabled,
.dbrmm-option.is-soldout {
	opacity: .4;
	cursor: not-allowed;
	pointer-events: none;
}

/* Knap-stil */
.dbrmm-options--button .dbrmm-option { padding: 8px 14px; font-weight: 600; font-size: .9rem; }

/* Billed-stil */
.dbrmm-options--image .dbrmm-option { flex-direction: column; gap: 4px; padding: 8px; width: 92px; text-align: center; }
.dbrmm-options--image .dbrmm-option img { width: 100%; height: 64px; object-fit: contain; border-radius: 4px; }
.dbrmm-options--image .dbrmm-option-label { font-size: .8rem; font-weight: 600; }

.dbrmm-soldout {
	font-size: .68rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: #b91c1c;
	font-weight: 700;
}

/* Opsummering */
.dbrmm-summary {
	margin-top: 14px;
	border: 1px dashed #CBD5E1;
	border-radius: 10px;
	padding: 12px 14px;
	background: #F9FAFB;
}
.dbrmm-summary-title { font-weight: 700; margin-bottom: 6px; }
.dbrmm-summary-list { list-style: none; margin: 0 0 8px; padding: 0; }
.dbrmm-summary-list li { display: flex; align-items: center; gap: 6px; font-size: .9rem; padding: 2px 0; }
.dbrmm-summary-list li::before { content: "✓"; color: var(--dbrmm-primary); font-weight: 700; }
.dbrmm-summary-total { font-size: 1.05rem; font-weight: 700; }
.dbrmm-summary-total .dbrmm-total-amount { color: var(--dbrmm-primary); }

.dbrmm-notice { margin: 10px 0 0; font-size: .85rem; color: #6B7280; }
.dbrmm-notice.is-ok { color: var(--dbrmm-primary); font-weight: 600; }
.dbrmm-error { color: #b91c1c; font-weight: 600; }

.dbrmm-from-label { font-size: .7em; font-weight: 500; opacity: .7; text-transform: lowercase; margin-right: 2px; }

/* Dropdown-stil */
.dbrmm-select {
	width: 100%;
	padding: 10px 12px;
	font-size: .95rem;
	border: 2px solid #E5E7EB;
	border-radius: 8px;
	background: #fff;
	color: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 38px;
}
.dbrmm-select:focus {
	outline: none;
	border-color: var(--dbrmm-primary);
	box-shadow: 0 0 0 3px rgba(50,112,57,.15);
}

/* Add-to-cart deaktiveret indtil pakken er komplet */
.dbrmm-incomplete .single_add_to_cart_button {
	opacity: .5;
	cursor: not-allowed;
	pointer-events: none;
}

@media (max-width: 480px) {
	.dbrmm-options--image .dbrmm-option { width: calc(33.333% - 6px); }
}
