/**
 * PSB-PORTAL-CONFIGURADOR-UX-HOTFIX — centro en cuadrícula compacta, sin estiramiento.
 * Scope: .psb-config-visual-shell / .psb-pres-cfg-mother en portal cliente.
 */

/* —— Layout formulario + precio: ancho útil acotado —— */
body.psb-pres-portal-shell .psb-pres-panel__grid--visual-inner > .psb-pres-panel__main {
	align-items: flex-start;
}

body.psb-pres-portal-shell .psb-pres-panel__grid--visual-inner .psb-config-visual-shell__layout {
	width: 100%;
	max-width: min(960px, 100%);
	grid-template-columns: minmax(0, 1fr) minmax(248px, 280px);
	gap: 1.15rem 1.25rem;
	align-items: start;
}

body.psb-pres-portal-shell .psb-config-visual-shell__config-zone {
	max-width: 640px;
	width: 100%;
}

body.psb-pres-portal-shell .psb-config-visual-shell__price-zone {
	min-width: 248px;
	max-width: 280px;
	width: 100%;
}

/* —— Cuadrícula compacta (referencia acabados) —— */
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-form2026__cards .psb-pres-pl-radio-grid,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-grid,
body.psb-pres-portal-shell .psb-pres-cfg-mother.psb-config-visual-shell .psb-pres-pl-radio-grid,
body.psb-pres-portal-shell .psb-pres-cfg-2026.psb-config-visual-shell .psb-pres-pl-radio-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-fp-caras-grid,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-ut-caras-grid,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-ut-formato-grid,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-rega-tipo-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-tr-modalidad-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-option-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

@media (min-width: 720px) {
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-option-grid--acabado,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-st-pelicula-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 900px) {
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-tr-modalidad-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* —— Tarjetas compactas —— */
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-card__inner,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-fp-caras-card__inner,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-st-pelicula-card__inner,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-tr-modalidad-card__inner,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-rega-tipo-card__inner,
body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-option-card__inner {
	min-height: auto;
	padding: 10px 12px;
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-card__icon {
	width: 34px;
	height: 34px;
	flex-shrink: 0;
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-card__title {
	font-size: 13px;
	line-height: 1.3;
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-card__desc {
	font-size: 11px;
	line-height: 1.35;
}

body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-section {
	padding: 0.8rem 0.9rem 0.9rem;
}

/* —— Tablet / móvil —— */
@media (max-width: 767px) {
	body.psb-pres-portal-shell .psb-config-visual-shell__layout {
		max-width: none;
	}

	body.psb-pres-portal-shell .psb-config-visual-shell__config-zone {
		max-width: none;
	}

	body.psb-pres-portal-shell .psb-config-visual-shell__price-zone {
		max-width: none;
		min-width: 0;
	}

	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-form2026__cards .psb-pres-pl-radio-grid,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-pl-radio-grid,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-fp-caras-grid,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-st-pelicula-grid,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-option-grid,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-config-option-grid--acabado,
	body.psb-pres-portal-shell .psb-config-visual-shell .psb-pres-tr-modalidad-grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	body.psb-pres-portal-shell .psb-config-visual-shell__layout {
		grid-template-columns: minmax(0, 1fr) minmax(220px, 260px);
		max-width: min(880px, 100%);
	}

	body.psb-pres-portal-shell .psb-config-visual-shell__config-zone {
		max-width: 560px;
	}
}
