/**
 * PSB-PRESUPUESTADORES-ARMONIA-001 — formularios 2026 alineados con «Presupuesto en construcción».
 * Solo presentación; sin cambios de lógica.
 */

/* Tarjeta principal del configurador */
body.psb-pres-portal-shell .psb-pres-panel__main > .psb-pres-portal-card.psb-pres-cfg-2026-shell,
body.psb-pres-portal-shell .psb-pres-panel__surface--form .psb-pres-portal-card.psb-pres-cfg-2026-shell {
	border: 1px solid #e7e5e4;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 1px 3px rgba(28, 25, 23, 0.04);
}

body.psb-pres-portal-shell .psb-pres-panel__surface--form {
	padding: 24px 24px 20px;
	border-radius: 14px;
	border: 1px solid #e7e5e4;
	background: #fff;
}

body.psb-pres-portal-shell .psb-pres-panel__surface--form .psb-pres-portal-card.psb-pres-cfg-2026-shell {
	border: 0;
	box-shadow: none;
	padding: 0;
}

/* Cabecera trabajo + formulario */
body.psb-pres-portal-shell .psb-pres-trabajo-cabecera + .psb-pres-panel__grid,
body.psb-pres-portal-shell .psb-pres-trabajo-cabecera + .psb-pres-portal-msg + .psb-pres-panel__grid,
body.psb-pres-portal-shell .psb-pres-trabajo-hero + .psb-pres-panel__grid,
body.psb-pres-portal-shell .psb-pres-trabajo-hero + .psb-pres-portal-msg + .psb-pres-panel__grid {
	margin-top: 0.25rem;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl,
body.psb-pres-portal-shell .psb-pres-cfg-2026.psb-pres-portal-form > .psb-pres-fp-form__dl {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin: 0;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl dt {
	margin: 0;
	padding: 0;
	font-size: 12px;
	font-weight: 650;
	line-height: 1.35;
	color: #44403c;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl dd {
	margin: 0.35rem 0 0;
	padding: 0;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl input[type="text"],
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl input[type="number"],
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl select {
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	padding: 10px 14px;
	font-size: 15px;
	background: #fff;
	max-width: 100%;
	box-sizing: border-box;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl input:focus,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dl select:focus {
	outline: none;
	border-color: #78716c;
	box-shadow: 0 0 0 3px rgba(41, 37, 36, 0.08);
}

/* Bloques de selección visual y medidas */
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dd--cards,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-form__dd--medidas,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-escenario-block,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-tr-modalidad-group {
	padding: 0.95rem 1rem 1rem;
	border-radius: 12px;
	border: 1px solid #e7e5e4;
	background: #fafaf9;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-escenario-group__title,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-tr-modalidad-group__legend {
	font-size: 11px;
	font-weight: 650;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #57534e;
	margin-bottom: 0.65rem;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-medidas-row {
	gap: 0.65rem 0.85rem;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-medidas-field__label {
	font-size: 12px;
	font-weight: 600;
	color: #44403c;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-fp-medidas-field__input {
	min-height: 44px;
	border-radius: 10px;
}

/* Rail lateral — menos contraste duro (legacy 2 cols; shell3 redefine borde) */
body.psb-pres-portal-shell .psb-pres-panel__grid:not(.psb-pres-panel__grid--shell3) .psb-pres-rail-d1d {
	border-left: 1px solid #e7e5e4;
	padding-left: 1.25rem;
}

@media (max-width: 900px) {
	body.psb-pres-portal-shell .psb-pres-panel__grid:not(.psb-pres-panel__grid--shell3) .psb-pres-rail-d1d {
		border-left: 0;
		padding-left: 0;
		margin-top: 1rem;
		padding-top: 1rem;
		border-top: 1px solid #e7e5e4;
	}
}

/* REGA — secciones al mismo ritmo visual */
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-rega-section {
	border-radius: 12px;
	border-color: #e7e5e4;
	background: #fafaf9;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-rega-block {
	border-radius: 10px;
}

/* Hover tarjetas bajo armonía */
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-radio-card:hover .psb-pres-pl-radio-card__inner {
	border-color: #a8a29e;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-radio-card__input:disabled + .psb-pres-pl-radio-card__inner,
body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-radio-card__input[disabled] + .psb-pres-pl-radio-card__inner {
	opacity: 0.55;
	cursor: not-allowed;
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-radio-card__input:checked + .psb-pres-pl-radio-card__inner {
	border-color: #57534e;
	background: #f5f5f4;
	box-shadow: 0 4px 14px rgba(28, 25, 23, 0.08);
}

body.psb-pres-portal-shell .psb-pres-cfg-2026 .psb-pres-pl-radio-card__input:checked + .psb-pres-pl-radio-card__inner::after {
	border-color: #44403c;
	background: #44403c;
}
