/* FASE 5 — Rejilla de dos columnas y formulario lateral pegajoso.
   Misma tarjeta que el simulador de hipotecas: #1B1710, filete dorado, 13 px. */

.mg-graella {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 26px;
	align-items: start;
}

/* minmax(0,1fr) y no 1fr: 1fr no encoge por debajo del contenido mínimo
   y un input desborda la columna en móvil. */
@media (min-width: 1024px) {
	.mg-graella--amb-lateral {
		grid-template-columns: minmax(0, 1fr) 370px;
		gap: 30px;
	}
}

.mg-graella__principal,
.mg-graella__lateral {
	min-width: 0;
}

@media (min-width: 1024px) {
	.mg-graella__lateral {
		position: sticky;
		top: 24px;
	}
}

/* --- La tarjeta de contacto --- */
.mg-contacte {
	background: var(--mg-noir-raised, #1B1710);
	border: var(--mg-hair, 1px solid rgba(212, 175, 55, .26));
	border-radius: var(--mg-radi, 13px);
	padding: 24px 22px 26px;
}

.mg-contacte h3.mg-contacte__titol {
	margin: 0 0 6px;
	color: var(--mg-cream, #F4EFE4);
	font-family: var(--mg-tipo, sans-serif);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: .01em;
}

.mg-contacte p.mg-contacte__entrada {
	margin: 0 0 18px;
	color: var(--mg-gold-soft, #997C21);
	font-family: var(--mg-tipo, sans-serif);
	font-size: 14px;
	line-height: 1.5;
}

/* --- El formulario de Estatik, vestido de oscuro ---
   Especificidad extra a propósito: el tema pisa los estilos si no. --- */
.mg-contacte .es-request-form__fields {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.mg-contacte input.es-field__input,
.mg-contacte textarea.es-field__input,
.mg-contacte .es-field input[type="text"],
.mg-contacte .es-field input[type="email"],
.mg-contacte .es-field input[type="tel"],
.mg-contacte .es-field textarea {
	width: 100%;
	min-width: 0;
	padding: 12px 14px;
	background: var(--mg-noir, #14110E);
	border: 1px solid rgba(212, 175, 55, .30);
	border-radius: var(--mg-radi-s, 4px);
	color: var(--mg-cream, #F4EFE4);
	font-family: var(--mg-tipo, sans-serif);
	font-size: 15px;
	box-shadow: none;
	transition: border-color 250ms var(--mg-ease, ease);
}

.mg-contacte input.es-field__input:focus,
.mg-contacte textarea.es-field__input:focus,
.mg-contacte .es-field input:focus,
.mg-contacte .es-field textarea:focus {
	outline: none;
	border-color: var(--mg-gold, #D4AF37);
	background: var(--mg-noir, #14110E);
	color: var(--mg-cream, #F4EFE4);
}

.mg-contacte input.es-field__input::placeholder,
.mg-contacte textarea.es-field__input::placeholder,
.mg-contacte .es-field textarea::placeholder {
	color: rgba(244, 239, 228, .42);
}

.mg-contacte .es-field__label,
.mg-contacte label {
	color: var(--mg-gold-soft, #997C21);
	font-family: var(--mg-tipo, sans-serif);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .04em;
	text-transform: uppercase;
}

/* --- Botón de envío --- */
.mg-contacte button[type="submit"],
.mg-contacte input[type="submit"],
.mg-contacte .es-btn,
.mg-contacte button.es-btn {
	display: block;
	width: 100%;
	margin-top: 4px;
	padding: 13px 20px;
	background: var(--mg-degradat, linear-gradient(135deg, #F1DB95 0%, #D4AF37 48%, #997C21 100%));
	border: 0;
	border-radius: var(--mg-radi-s, 4px);
	color: #1B1710;
	font-family: var(--mg-tipo, sans-serif);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .02em;
	cursor: pointer;
	box-shadow: var(--mg-ombra, 0 6px 20px rgba(212, 175, 55, .22));
	transition: filter 250ms var(--mg-ease, ease), transform 250ms var(--mg-ease, ease);
}

.mg-contacte button[type="submit"]:hover,
.mg-contacte input[type="submit"]:hover,
.mg-contacte .es-btn:hover {
	color: #1B1710;
	filter: brightness(1.06);
	transform: translateY(-1px);
}

/* Avisos del propio formulario (errores, gracias). */
.mg-contacte .es-request-form__message,
.mg-contacte .es-alert {
	color: var(--mg-cream, #F4EFE4);
	font-family: var(--mg-tipo, sans-serif);
	font-size: 14px;
}

@media (max-width: 1023px) {
	.mg-contacte { padding: 20px 16px 22px; }
}

/* --- Desbordamiento del prefijo telefónico ---
   Medido en el navegador: el <select> del prefijo va con
   `position:absolute; left:49px; right:-49px`, lo que lo hace 49 px más ancho
   que su campo. Se sale de la pantalla y provoca scroll horizontal en toda la
   página: 49 px en móvil y 55 px en el lateral de escritorio.
   Es un defecto del propio plugin, no de nuestro maquetado, pero cae dentro de
   la ficha. Se acota sin tocar su posición de inicio. */
.es-field.es-field__code select,
.mg-contacte .es-field__code select {
	right: 0 !important;
	max-width: 100% !important;
}
