/**
 * PSB-PORTAL-FORMS-UNIFICACION-003 — homologación fina de campos, bloques y cards (canon Plastificados).
 */

/* —— Formulario: ritmo vertical canónico —— */
body.psb-pres-portal-shell .psb-pres-form2026,
body.psb-pres-portal-shell .psb-config-visual-shell__config-zone.psb-pres-form2026 {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

/* —— Bloques config-section: contrato único (todos los presupuestadores) —— */
body.psb-pres-portal-shell .psb-pres-form2026 .psb-config-section {
	border: 1px solid #e7e5e4;
	border-radius: 12px;
	background: #fafaf9;
	padding: 0.85rem 0.95rem 0.95rem;
	margin-bottom: 0;
}

body.psb-pres-portal-shell .psb-pres-form2026 .psb-config-section__head {
	margin-bottom: 0.65rem;
}

body.psb-pres-portal-shell .psb-pres-form2026 .psb-config-section__title {
	margin: 0;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: #57534e;
}

body.psb-pres-portal-shell .psb-pres-form2026 .psb-config-section__body {
	min-width: 0;
	padding: 0;
}

/* —— Trabajo: nombre + pliegos —— */
body.psb-pres-portal-shell .psb-pres-form-topline {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem 1.25rem;
}

body.psb-pres-portal-shell .psb-pres-form-field--title {
	flex: 1 1 280px;
	max-width: min(450px, 100%);
}

body.psb-pres-portal-shell .psb-pres-form-field--short {
	flex: 0 0 auto;
	width: min(150px, 100%);
}

body.psb-pres-portal-shell .psb-pres-form2026__label,
body.psb-pres-portal-shell .psb-pres-fp-medidas-field__label {
	display: block;
	font-size: 12px;
	font-weight: 600;
	color: #57534e;
	margin-bottom: 0.3rem;
}

body.psb-pres-portal-shell .psb-pres-portal-input,
body.psb-pres-portal-shell .psb-pres-portal-input--title,
body.psb-pres-portal-shell .psb-pres-portal-input--short {
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	padding: 0.45rem 0.65rem;
	font-size: 14px;
	color: #1c1917;
	background: #fff;
	box-sizing: border-box;
}

body.psb-pres-portal-shell .psb-pres-portal-input--title {
	max-width: min(450px, 100%);
	width: 100%;
}

body.psb-pres-portal-shell .psb-pres-portal-input:focus,
body.psb-pres-portal-shell .psb-pres-fp-medidas-field__input:focus {
	outline: none;
	border-color: #a8a29e;
	box-shadow: 0 0 0 3px rgba(41, 37, 36, 0.1);
}

/* —— Medidas: fila canónica —— */
body.psb-pres-portal-shell .psb-config-field-row--medidas {
	align-items: flex-end;
}

body.psb-pres-portal-shell .psb-pres-fp-medidas-field__input {
	min-height: 44px;
	max-width: 120px;
	width: 100%;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	padding: 0.45rem 0.55rem;
	font-size: 14px;
	background: #fff;
	box-sizing: border-box;
}

body.psb-pres-portal-shell .psb-pres-fp-medidas-x {
	color: #a8a29e;
	font-weight: 600;
	padding-bottom: 0.55rem;
	line-height: 1;
}

body.psb-pres-portal-shell .psb-pres-form2026__medidas-layout {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 0.75rem 1rem;
}

body.psb-pres-portal-shell .psb-pres-form2026__medidas-layout--diagram .psb-pres-form2026__medidas-diagram {
	flex: 0 0 auto;
	min-width: 90px;
	max-width: 130px;
	opacity: 0.85;
}

body.psb-pres-portal-shell .psb-pres-field-hint {
	margin: 0.45rem 0 0;
	font-size: 12px;
	color: #78716c;
}

/* —— Cards seleccionables: familia única —— */
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-pl-radio-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-fp-caras-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-st-pelicula-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-plegado-escenario-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-tq-modalidad-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-rega-tipo-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-config-option-card__inner {
	display: block;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	background: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	color: #44403c;
	text-align: center;
	min-height: 44px;
	box-sizing: border-box;
	transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-pl-radio-card:hover .psb-pres-pl-radio-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-fp-caras-card:hover .psb-pres-fp-caras-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-st-pelicula-card:hover .psb-pres-st-pelicula-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-plegado-escenario-card:hover .psb-pres-plegado-escenario-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-tq-modalidad-card:hover .psb-pres-tq-modalidad-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-config-option-card:hover .psb-config-option-card__inner {
	border-color: #a8a29e;
}

body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-pl-radio-card__input:checked + .psb-pres-pl-radio-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-fp-caras-card__input:checked + .psb-pres-fp-caras-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-st-pelicula-card__input:checked + .psb-pres-st-pelicula-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-plegado-escenario-card__input:checked + .psb-pres-plegado-escenario-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-tq-modalidad-card__input:checked + .psb-pres-tq-modalidad-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-pres-rega-tipo-card__input:checked + .psb-pres-rega-tipo-card__inner,
body.psb-pres-portal-shell .psb-pres-form2026__cards .psb-config-option-card__input:checked + .psb-config-option-card__inner {
	border-color: #44403c;
	background: #f5f5f4;
	box-shadow: 0 0 0 1px #44403c;
	color: #1c1917;
}

/* —— REGA: campos compactos homologados —— */
body.psb-pres-portal-shell .psb-pres-rega-field__label {
	font-size: 12px;
	font-weight: 600;
	color: #57534e;
	margin-bottom: 0.3rem;
}

body.psb-pres-portal-shell .psb-pres-rega-field__input,
body.psb-pres-portal-shell .psb-pres-rega-field__select {
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	padding: 0.45rem 0.65rem;
	font-size: 14px;
	background: #fff;
}

body.psb-pres-portal-shell .psb-pres-rega-block--medidas .psb-pres-rega-medidas-row {
	padding: 0;
	border: none;
	background: transparent;
}

/* —— Solicitud manual: inputs al sistema —— */
body.psb-pres-portal-shell .psb-sol-v2__label {
	font-size: 12px;
	font-weight: 600;
	color: #57534e;
	margin-bottom: 0.3rem;
}

body.psb-pres-portal-shell .psb-sol-v2__input,
body.psb-pres-portal-shell .psb-sol-v2__select {
	min-height: 44px;
	border-radius: 10px;
	border: 1px solid #d6d3d1;
	padding: 0.45rem 0.65rem;
	font-size: 14px;
	background: #fff;
}

body.psb-pres-portal-shell .psb-sol-v2__card {
	border: 1px solid #e7e5e4;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 2px 14px rgba(28, 25, 23, 0.05);
}

/* —— Resúmenes: contenedor canónico —— */
body.psb-pres-portal-shell .psb-pres-trabajo-col-resumen,
body.psb-pres-portal-shell .psb-config-resumen {
	border: 1px solid #e7e5e4;
	border-radius: 12px;
	background: #fafaf9;
	padding: 0.85rem 0.95rem;
}

body.psb-pres-portal-shell .psb-pres-live-price {
	border-radius: 12px;
	border: 1px solid #d6d3d1;
	background: linear-gradient(180deg, #fafaf9 0%, #fff 100%);
	box-shadow: 0 4px 20px rgba(28, 25, 23, 0.06);
}

@media (max-width: 767px) {
	body.psb-pres-portal-shell .psb-pres-form-topline {
		flex-direction: column;
		align-items: stretch;
	}

	body.psb-pres-portal-shell .psb-pres-form-field--title,
	body.psb-pres-portal-shell .psb-pres-form-field--short {
		max-width: 100%;
		width: 100%;
	}

	body.psb-pres-portal-shell .psb-config-field-row--medidas {
		flex-direction: column;
		align-items: stretch;
	}

	body.psb-pres-portal-shell .psb-pres-fp-medidas-x {
		display: none;
	}

	body.psb-pres-portal-shell .psb-pres-fp-medidas-field__input {
		max-width: 100%;
	}
}
