.gm-bedroom-configurator {
	padding: var(--gm-space-2xl) var(--gm-container-padding);
	background: var(--gm-color-background-soft);
	font-family: var(--gm-font-family);
}

.gm-bedroom-configurator__inner {
	width: min(100%, var(--gm-container-width));
	margin: 0 auto;
}

.gm-bedroom-configurator__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--gm-space-xl);
	margin-bottom: var(--gm-space-xl);
}

.gm-bedroom-configurator__header h2,
.gm-bedroom-configurator__header p { margin: 0; }
.gm-bedroom-configurator__header h2 { color: var(--gm-color-text); font-size: var(--gm-font-size-2xl); line-height: var(--gm-line-height-tight); }
.gm-bedroom-configurator__header p { margin-top: var(--gm-space-xs); color: var(--gm-color-text-light); font-size: var(--gm-font-size-sm); }

.gm-bedroom-configurator__total {
	display: grid;
	gap: var(--gm-space-2xs);
	text-align: right;
	white-space: nowrap;
}
.gm-bedroom-configurator__total span { color: var(--gm-color-text-light); font-size: var(--gm-font-size-xs); }
.gm-bedroom-configurator__total strong { color: var(--gm-color-text); font-size: var(--gm-font-size-xl); }

.gm-bedroom-configurator__groups { display: grid; gap: var(--gm-space-md); }
.gm-bedroom-configurator__group { overflow: hidden; background: var(--gm-color-white); border: 1px solid var(--gm-color-border); border-radius: var(--gm-card-radius); transition: border-color var(--gm-motion-fast) var(--gm-motion-smooth), box-shadow var(--gm-motion-fast) var(--gm-motion-smooth); }
.gm-bedroom-configurator__group[open] { border-color: rgba(245, 130, 32, .28); box-shadow: var(--gm-shadow-xs); }
.gm-bedroom-configurator__group > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--gm-space-md);
	padding: var(--gm-space-lg);
	color: var(--gm-color-text);
	font-size: var(--gm-font-size-lg);
	font-weight: var(--gm-font-weight-semibold);
	cursor: pointer;
	list-style: none;
}
.gm-bedroom-configurator__group > summary::-webkit-details-marker { display: none; }
.gm-bedroom-configurator__group > summary:focus-visible { outline: var(--gm-focus-ring); outline-offset: calc(-1 * var(--gm-focus-ring-offset)); }
.gm-bedroom-configurator__group-meta { display: inline-flex; align-items: center; gap: var(--gm-space-sm); }
.gm-bedroom-configurator__group-count { color: var(--gm-color-text-light); font-size: var(--gm-font-size-xs); font-weight: var(--gm-font-weight-regular); }
.gm-bedroom-configurator__chevron { width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform var(--gm-motion-fast) var(--gm-motion-smooth); }
.gm-bedroom-configurator__group[open] .gm-bedroom-configurator__chevron { transform: rotate(225deg); }
.gm-bedroom-configurator__list { padding: 0 var(--gm-space-lg) var(--gm-space-lg); }
.gm-bedroom-configurator__columns,
.gm-bedroom-configurator__row { display: grid; grid-template-columns: minmax(220px, 1.7fr) minmax(130px, .8fr) minmax(150px, .8fr) minmax(140px, .8fr); align-items: center; gap: var(--gm-space-md); }
.gm-bedroom-configurator__columns { padding: var(--gm-space-sm) var(--gm-space-md); color: var(--gm-color-text-light); font-size: var(--gm-font-size-xs); }
.gm-bedroom-configurator__row { min-height: 78px; padding: var(--gm-space-md); border-top: 1px solid var(--gm-color-border-light); }
.gm-bedroom-configurator__component strong,
.gm-bedroom-configurator__line strong { color: var(--gm-color-text); font-size: var(--gm-font-size-sm); }
.gm-bedroom-configurator__unit { color: var(--gm-color-text-light); font-size: var(--gm-font-size-sm); }
.gm-bedroom-configurator__mobile-label { display: none; }

.gm-bedroom-modes { display: grid; gap: var(--gm-space-xs); }
.gm-bedroom-modes__label { color: var(--gm-color-text); font-size: var(--gm-font-size-sm); font-weight: var(--gm-font-weight-semibold); }
.gm-bedroom-modes__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gm-space-xs); }
.gm-bedroom-modes__option {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-direction: column;
	gap: var(--gm-space-xs);
	min-width: 0;
	min-height: 88px;
	margin: 0;
	padding: var(--gm-space-sm);
	border: 1px solid var(--gm-color-border);
	border-radius: var(--gm-radius-md);
	background: var(--gm-color-white);
	color: var(--gm-color-text);
	font-family: var(--gm-font-family);
	text-align: left;
	cursor: pointer;
	appearance: none;
	transition: border-color var(--gm-motion-fast) var(--gm-motion-smooth), background-color var(--gm-motion-fast) var(--gm-motion-smooth), box-shadow var(--gm-motion-fast) var(--gm-motion-smooth);
}
.gm-bedroom-modes__option strong { font-size: var(--gm-font-size-xs); line-height: 1.35; }
.gm-bedroom-modes__option span { color: var(--gm-color-text-light); font-size: 11px; line-height: 1.35; }
.gm-bedroom-modes__option:hover:not(:disabled) { border-color: var(--gm-color-primary); background: var(--gm-color-background-soft); }
.gm-bedroom-modes__option.is-selected { border-color: var(--gm-color-primary); background: rgba(245, 130, 32, .06); box-shadow: inset 0 0 0 1px rgba(245, 130, 32, .12); }
.gm-bedroom-modes__option.is-selected span { color: var(--gm-color-primary-dark); }
.gm-bedroom-modes__option:focus-visible { outline: var(--gm-focus-ring); outline-offset: var(--gm-focus-ring-offset); }
.gm-bedroom-modes__option:disabled { opacity: .45; cursor: not-allowed; }

.gm-bedroom-purchase__form { display: grid; gap: var(--gm-space-sm); }
.gm-bedroom-purchase__button { width: 100%; }
.gm-bedroom-purchase__note { margin: 0; color: var(--gm-color-text-light); font-size: var(--gm-font-size-xs); line-height: var(--gm-line-height-normal); }

@media (max-width: 767px) {
	.gm-bedroom-configurator { padding: var(--gm-space-xl) var(--gm-space-md); }
	.gm-bedroom-configurator__header { align-items: flex-start; flex-direction: column; gap: var(--gm-space-md); }
	.gm-bedroom-configurator__total { text-align: left; }
	.gm-bedroom-configurator__group > summary { padding: var(--gm-space-md); font-size: var(--gm-font-size-md); }
	.gm-bedroom-configurator__group-meta { gap: var(--gm-space-xs); }
	.gm-bedroom-configurator__list { padding: 0 var(--gm-space-sm) var(--gm-space-sm); }
	.gm-bedroom-configurator__columns { display: none; }
	.gm-bedroom-configurator__row {
		grid-template-columns: minmax(0, 1fr) minmax(66px, auto) auto;
		gap: var(--gm-space-xs);
		min-height: 60px;
		padding: 10px 0;
	}
	.gm-bedroom-configurator__component { min-width: 0; }
	.gm-bedroom-configurator__component strong {
		display: block;
		font-size: var(--gm-font-size-xs);
		line-height: 1.35;
	}
	.gm-bedroom-configurator__unit {
		justify-self: end;
		white-space: nowrap;
		font-size: var(--gm-font-size-xs);
		font-variant-numeric: tabular-nums;
	}
	.gm-bedroom-configurator__quantity { justify-self: end; }
	.gm-bedroom-configurator__line,
	.gm-bedroom-configurator__mobile-label { display: none; }
	.gm-bedroom-modes__grid { grid-template-columns: 1fr; }
	.gm-bedroom-modes__option { min-height: 58px; padding: 10px var(--gm-space-sm); flex-direction: row; align-items: center; }
	.gm-bedroom-modes__option strong { max-width: 68%; }
	.gm-bedroom-modes__option span { text-align: right; }
}

@media (min-width: 768px) and (max-width: 1023px) {
	.gm-bedroom-modes__grid { grid-template-columns: 1fr; }
	.gm-bedroom-modes__option { min-height: 64px; flex-direction: row; align-items: center; }
	.gm-bedroom-configurator__columns,
	.gm-bedroom-configurator__row { grid-template-columns: minmax(180px, 1.4fr) minmax(115px, .7fr) minmax(145px, .8fr) minmax(125px, .7fr); }
}
