/* =============================================================================
   MSM — Centro de soporte (template-soporte.php). Ver inc/msm-soporte.php.
   ============================================================================= */

body.msm-support .site-content > .container { max-width: 100%; padding: 0; }
.msm-support-wrap { width: 100%; max-width: 100%; flex: 1 1 100%; padding: 0; }

.msm-sup {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 64px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: 80px var(--msm-gutter, 48px) 110px;
	color: var(--msm-fg);
}

/* Intro */
.msm-sup__kicker { display: block; font: 500 11px var(--msm-mono); letter-spacing: .14em; color: var(--msm-gold); }
.msm-sup__title { margin: 16px 0 0; font: 800 clamp(40px, 5.4vw, 64px)/1 var(--msm-display); letter-spacing: -.03em; color: var(--msm-fg); }
.msm-sup__title em { font: italic 500 1em var(--msm-serif); color: var(--msm-gold); }
.msm-sup__lead { margin: 24px 0 0; max-width: 460px; font: 300 17px/1.7 var(--msm-display); color: var(--msm-muted); }
.msm-sup__tips { margin: 40px 0 0; padding: 0; list-style: none; display: grid; gap: 12px; max-width: 460px; }
.msm-sup__tips li { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px solid var(--msm-line); border-radius: var(--msm-r-md); background: var(--msm-surface-1); }
.msm-sup__tips strong { font: 700 15px var(--msm-display); color: var(--msm-fg); }
.msm-sup__tips span { font: 300 14px/1.5 var(--msm-display); color: var(--msm-muted); }

/* Tarjeta del formulario */
.msm-sup__card {
	position: relative;
	padding: 36px;
	border: 1px solid var(--msm-line-2);
	border-radius: var(--msm-r-xl);
	background: radial-gradient(110% 120% at 100% 0%, rgba(94, 44, 201, .22), transparent 55%), var(--msm-surface-1);
	box-shadow: var(--msm-shadow-card);
	scroll-margin-top: 120px;
}
.msm-sup__form { display: flex; flex-direction: column; gap: 20px; }
.msm-sup__row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.msm-sup__form label { display: flex; flex-direction: column; gap: 8px; font: 500 14px var(--msm-display); color: var(--msm-fg); }
body.msm-ui .msm-sup__form input,
body.msm-ui .msm-sup__form select,
body.msm-ui .msm-sup__form textarea {
	width: 100%;
	padding: 13px 14px;
	border: 1px solid var(--msm-line-2);
	border-radius: 10px;
	background: var(--msm-bg);
	color: var(--msm-fg);
	font: 400 16px var(--msm-display);
	box-shadow: none;
}
body.msm-ui .msm-sup__form textarea { resize: vertical; min-height: 150px; }
body.msm-ui .msm-sup__form input:focus,
body.msm-ui .msm-sup__form select:focus,
body.msm-ui .msm-sup__form textarea:focus { outline: none; border-color: var(--msm-gold-hover); }
.msm-sup__form ::placeholder { color: var(--msm-muted-3); }
.msm-sup__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.msm-sup__btn {
	display: inline-block;
	width: 100%;
	padding: 16px 28px;
	border: none;
	border-radius: var(--msm-r-pill);
	background: var(--msm-gold);
	color: var(--msm-bg) !important;
	font: 700 15px var(--msm-display);
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background .2s;
}
.msm-sup__btn:hover { background: var(--msm-gold-hover); }
.msm-sup__error { margin: 0; padding: 12px 14px; border: 1px solid #e0705f; border-radius: 10px; color: #ffb4a8; font: 400 14px/1.5 var(--msm-display); }
.msm-sup__legal { margin: 0; text-align: center; font: 400 13px var(--msm-display); color: var(--msm-muted-2); }
.msm-sup__legal a { color: var(--msm-gold); }

/* Confirmación */
.msm-sup__done { text-align: center; padding: 20px 0; }
.msm-sup__check { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: rgba(var(--msm-gold-rgb), .15); color: var(--msm-gold-hover); font: 700 24px var(--msm-display); }
.msm-sup__done h2 { margin: 18px 0 10px; font: 800 28px/1.1 var(--msm-display); color: var(--msm-fg); }
.msm-sup__done p { margin: 0 auto 26px; max-width: 380px; font: 300 16px/1.6 var(--msm-display); color: var(--msm-muted); }
.msm-sup__done .msm-sup__btn { width: auto; }

@media (max-width: 900px) {
	.msm-sup { grid-template-columns: 1fr; gap: 40px; padding-top: 48px; padding-bottom: 72px; }
	.msm-sup__tips { display: none; }
}
@media (max-width: 600px) {
	.msm-sup__card { padding: 24px 20px; }
	.msm-sup__row { grid-template-columns: 1fr; }
}
