/* presupuestaIA · estilos de los bloques.
 * Todo sale de la paleta y los botones del tema (variables de Kadence), con
 * valores de reserva por si el tema es otro: cambia el estilo del sector en el
 * personalizador y los formularios lo siguen solos. */

.pia-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.pia-form { display: flex; flex-direction: column; gap: 1rem; }
.pia-form__titulo { font-weight: 700; font-size: 1.25rem; margin: 0; }
.pia-campos { display: flex; flex-wrap: wrap; gap: 1rem; }
.pia-campo { flex: 1 1 14rem; display: flex; flex-direction: column; gap: .35rem; margin: 0; }
.pia-campo--ancho { flex-basis: 100%; }
.pia-campo label { font-weight: 600; font-size: .95rem; }
.pia-opcional { font-weight: 400; opacity: .75; }
.pia-campo input,
.pia-campo select,
.pia-campo textarea {
	font: inherit;
	width: 100%;
	box-sizing: border-box;
	min-height: 48px;
	padding: .7rem .85rem;
	border: 1px solid var(--global-gray-400, #b5aea2);
	border-radius: var(--pia-radio, 0);
	background: var(--global-palette9, #fff);
	color: var(--global-palette3, #1d2125);
}
.pia-campo input:focus,
.pia-campo select:focus,
.pia-campo textarea:focus { outline: 3px solid var(--global-palette1, #b9441a); outline-offset: 1px; }

.pia-boton { align-self: flex-start; min-height: 48px; cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
.pia-legal, .pia-ayuda { font-size: .9rem; opacity: .85; margin: 0; }

.pia-aviso { padding: .85rem 1rem; margin: 0; border-left: 4px solid; background: var(--global-palette8, #f5f2ec); color: var(--global-palette3, #1d2125); }
.pia-aviso--ok { border-color: #1f7a3d; }
.pia-aviso--error { border-color: #b3261e; }

.pia-resultado { margin-top: 2rem; display: flex; flex-direction: column; gap: 1rem; }
.pia-resultado__titulo { font-weight: 700; margin: 0; }
.pia-resultado__cifra { font-size: clamp(1.8rem, 4vw, 2.6rem); font-weight: 800; margin: 0; color: var(--global-palette3, #1d2125); }
.pia-tabla { width: 100%; border-collapse: collapse; }
.pia-tabla th, .pia-tabla td { text-align: left; padding: .5rem .25rem; border-bottom: 1px solid var(--global-gray-400, #ddd7cc); }
.pia-tabla td:not(:first-child), .pia-tabla th:not(:first-child) { text-align: right; }
.pia-form--guardar { padding: 1.5rem; background: var(--global-palette8, #f5f2ec); }

.pia-planes { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: stretch; }
.pia-plan {
	flex: 1 1 16rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	padding: 2rem;
	border: 1px solid var(--global-gray-400, #dce7ee);
	border-radius: var(--pia-radio, 0);
	background: var(--global-palette9, #fff);
}
.pia-plan > * { margin: 0; }
.pia-plan__nombre { font-weight: 700; font-size: 1.3rem; }
.pia-plan__para { opacity: .85; font-size: .95rem; }
.pia-plan__precio span { font-size: 2.6rem; font-weight: 800; line-height: 1; }
.pia-plan__incluye { padding-left: 1.2rem; flex-grow: 1; font-size: .95rem; }
.pia-plan--destacado { background: var(--global-palette3, #0b2545); color: var(--global-palette9, #fff); border-color: transparent; }
.pia-plan--destacado .pia-plan__nombre,
.pia-plan--destacado .pia-plan__precio { color: var(--global-palette9, #fff); }

.pia-zonas { list-style: none; margin: 0 !important; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.pia-zonas a, .pia-zonas span {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding: .55rem 1.1rem;
	border: 1px solid currentColor;
	border-radius: var(--pia-radio, 0);
	text-decoration: none;
	color: var(--global-palette3, #1d2125);
}
.pia-zonas a:hover { background: var(--global-palette3, #1d2125); color: var(--global-palette9, #fff); }

.pia-demo { font-size: .85rem; text-align: center; padding: .4rem 1rem; background: #fff3c4; color: #3d3000; }
