/* PMS Registration Wizard — mobile first, escritorio desde 900px */

.pmsw {
	--pmsw-c1: #3b82f6;
	--pmsw-c2: #8b5cf6;
	--pmsw-bg: #070b16;
	--pmsw-offset: 84px;
	--pmsw-line: rgba(120, 140, 210, .22);
	--pmsw-card: rgba(255, 255, 255, .035);
	--pmsw-text: #eef1fb;
	--pmsw-mute: #9aa3bd;
	box-sizing: border-box;
	width: 100%;
	max-width: 460px;
	margin: var(--pmsw-offset) auto 40px;
	padding: 0 18px;
	color: var(--pmsw-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	position: relative;
}
.pmsw *, .pmsw *::before, .pmsw *::after { box-sizing: border-box; }
.pmsw svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.pmsw [hidden] { display: none !important; }
.pmsw ul, .pmsw ol { list-style: none; margin: 0; padding: 0; }
.pmsw .pmsw-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: -1px; }

/* ---------- cabecera de marca ---------- */
.pmsw-top { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.pmsw .pmsw-back {
	width: 36px; height: 36px; padding: 0 !important; border-radius: 50% !important;
	display: grid; place-items: center; background: transparent !important; color: var(--pmsw-text) !important;
	border: 1px solid var(--pmsw-line) !important; cursor: pointer; box-shadow: none !important;
}
.pmsw .pmsw-back:hover { border-color: var(--pmsw-c1) !important; }
.pmsw-brand { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 17px; color: #fff; }
.pmsw-brand img { max-height: 30px; width: auto; }
.pmsw-logo { display: grid; color: var(--pmsw-c1); }
.pmsw-logo svg { width: 28px; height: 28px; }

/* ---------- pasos ---------- */
.pmsw-steps { display: flex; align-items: center; margin-bottom: 26px; }
.pmsw-step { display: flex; align-items: center; flex: 1; min-width: 0; }
.pmsw-step:last-child { flex: 0 0 auto; }
.pmsw-step:not(:last-child)::after { content: ""; flex: 1; height: 2px; margin: 0 6px; background: var(--pmsw-line); border-radius: 2px; }
.pmsw-dot {
	width: 30px; height: 30px; flex: none; border-radius: 50%; display: grid; place-items: center;
	font-size: 13px; font-weight: 600; color: var(--pmsw-mute);
	background: rgba(255, 255, 255, .04); border: 1px solid var(--pmsw-line);
}
.pmsw-lbl { display: none; margin-left: 8px; font-size: 13px; color: var(--pmsw-mute); white-space: nowrap; }
.pmsw-step.is-done .pmsw-dot { font-size: 0; background: rgba(59, 130, 246, .16); border-color: var(--pmsw-c1); color: var(--pmsw-c1); }
.pmsw-step.is-done .pmsw-dot::after { content: "\2713"; font-size: 14px; }
.pmsw-step.is-done:not(:last-child)::after { background: linear-gradient(90deg, var(--pmsw-c1), var(--pmsw-c2)); }
.pmsw-step.is-now .pmsw-dot { color: #fff; border-color: transparent; background: linear-gradient(135deg, var(--pmsw-c1), var(--pmsw-c2)); box-shadow: 0 0 0 4px rgba(99, 120, 255, .18); }
.pmsw-step.is-now .pmsw-lbl { color: #fff; }

/* ---------- título ---------- */
.pmsw-head h2 { margin: 0 0 8px !important; font-size: 27px !important; line-height: 1.15 !important; font-weight: 700 !important; letter-spacing: -.02em; color: #fff !important; }
.pmsw-head p { margin: 0 0 20px !important; color: var(--pmsw-mute) !important; font-size: 14.5px; }

.pmsw-alert {
	margin-bottom: 16px; padding: 12px 14px; border-radius: 12px; font-size: 13.5px;
	color: #ffb8c6; background: rgba(255, 80, 110, .08); border: 1px solid rgba(255, 90, 120, .45);
}

/* ---------- visibilidad por etapa ---------- */
.pmsw-on .pmsw-s1, .pmsw-on .pmsw-s2, .pmsw-on .pmsw-sum { display: none !important; }
.pmsw-on[data-step="1"] .pmsw-s1, .pmsw-on[data-step="2"] .pmsw-s2, .pmsw-on[data-step="4"] .pmsw-sum { display: block !important; }
.pmsw-on:not([data-step="3"]) .pmsw-s3 {
	position: absolute !important; left: 0; top: 0; width: 100%; height: 0 !important; overflow: hidden !important;
	visibility: hidden; pointer-events: none; margin: 0 !important; padding: 0 !important; border: 0 !important;
}
.pmsw-on .pms-form-submit, .pmsw-on input[name="pms_new_subscription"], .pmsw-on input[name="pms_register"], .pmsw-on #pms-submit-button-loading-placeholder-text {
	position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; overflow: hidden;
}
.pmsw-on .pms-field-type-heading, .pmsw-on .pmsw-hide { display: none !important; }
.pmsw-success > :not(.pmsw-keep) { display: none !important; }

.pmsw-on form.pms-form { margin: 0; padding: 0; background: none; border: 0; }
.pmsw-on .pms-form-fields-wrapper { margin: 0 !important; padding: 0 !important; }

/* ---------- campos ---------- */
.pmsw .pms-field { list-style: none; margin: 0 0 12px !important; padding: 0 !important; }
.pmsw .pms-account-section-wrapper { display: block; }
.pmsw-inw { position: relative; }
.pmsw-ii { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: #a5b0d6; display: grid; pointer-events: none; }
.pmsw .pmsw-inw input {
	width: 100% !important; height: 50px !important; margin: 0 !important; padding: 0 46px 0 46px !important;
	color: #fff !important; font-size: 15px !important; font-family: inherit;
	background: rgba(255, 255, 255, .04) !important; border: 1px solid var(--pmsw-line) !important;
	border-radius: 12px !important; outline: none !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s;
}
.pmsw .pmsw-inw input::placeholder { color: #737d99 !important; opacity: 1; }
.pmsw .pmsw-inw input:focus { border-color: var(--pmsw-c1) !important; box-shadow: 0 0 0 3px rgba(59, 130, 246, .18) !important; }
.pmsw .pms-field.is-invalid input { border-color: #ff5b7f !important; }
.pmsw .pmsw-eye {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%); width: 38px; height: 38px; padding: 0 !important;
	display: grid; place-items: center; background: transparent !important; border: 0 !important; color: #a5b0d6 !important; cursor: pointer; box-shadow: none !important;
}
.pmsw-err, .pmsw-on li.pms-field [class*="pms"][class*="error"]:not([class*="pmsw"]) { margin-top: 6px; font-size: 12.5px; color: #ff8ea8; }
.pmsw-on li.pms-field [class*="pms"][class*="error"]:not([class*="pmsw"]) p { margin: 0; }

/* términos */
.pmsw-terms { margin: 14px 0 6px; font-size: 13px; color: #c3c9de; }
.pmsw-terms label { display: flex; align-items: flex-start; gap: 10px; cursor: pointer; margin: 0; }
.pmsw-terms input { position: absolute; opacity: 0; pointer-events: none; }
.pmsw-cb { flex: none; width: 20px; height: 20px; margin-top: 1px; display: grid; place-items: center; border-radius: 6px; border: 1.5px solid var(--pmsw-c1); color: transparent; transition: background .15s; }
.pmsw-cb svg { width: 14px; height: 14px; stroke-width: 3; }
.pmsw-terms input:checked + .pmsw-cb { background: var(--pmsw-c1); color: #fff; }
.pmsw-terms input:focus-visible + .pmsw-cb { box-shadow: 0 0 0 3px rgba(59, 130, 246, .35); }
.pmsw-terms a, .pmsw-lk { color: #79a6ff; text-decoration: underline; }

/* ---------- planes ---------- */
.pmsw .pmsw-plan { margin: 0 0 12px !important; padding: 0 !important; list-style: none; }
.pmsw .pmsw-plan .pms-subscription-plan-description { display: none !important; }
.pmsw-card {
	display: grid; grid-template-columns: 22px 40px 1fr; gap: 12px; align-items: start; padding: 16px 14px;
	border-radius: 16px; cursor: pointer; background: var(--pmsw-card); border: 1px solid var(--pmsw-line);
	transition: border-color .2s, box-shadow .2s, background .2s;
}
.pmsw-card:hover { border-color: rgba(140, 160, 240, .5); }
.pmsw-card:focus-visible { outline: 2px solid var(--pmsw-c1); outline-offset: 2px; }
.pmsw-card.is-on { border-color: var(--pmsw-c2); background: linear-gradient(145deg, rgba(99, 102, 241, .16), rgba(59, 130, 246, .06)); box-shadow: 0 0 0 1px var(--pmsw-c2), 0 10px 30px rgba(99, 102, 241, .18); }
.pmsw-rad { width: 22px; height: 22px; margin-top: 8px; border-radius: 50%; border: 2px solid #56607c; transition: .2s; }
.pmsw-card.is-on .pmsw-rad { border-color: #fff; background: radial-gradient(circle, #fff 0 38%, var(--pmsw-c1) 42%); }
.pmsw-ico { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; color: #f7c948; background: rgba(247, 201, 72, .1); border: 1px solid rgba(247, 201, 72, .35); }
.pmsw-cm { min-width: 0; }
.pmsw-ct { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 15px; color: #fff; }
.pmsw-pop { font-style: normal; font-size: 11px; padding: 3px 9px; border-radius: 99px; background: linear-gradient(90deg, var(--pmsw-c1), var(--pmsw-c2)); color: #fff; white-space: nowrap; }
.pmsw-cp { display: flex; align-items: baseline; gap: 3px; margin-top: 2px; }
.pmsw-cp strong { font-size: 21px; font-weight: 700; color: #fff; }
.pmsw-cp small { font-size: 13px; color: var(--pmsw-mute); }
.pmsw-tr { display: inline-block; margin-top: 4px; font-size: 12px; color: #7fe0a8; }
.pmsw-ft { margin-top: 10px !important; display: grid; gap: 5px; font-size: 13px; color: #c3c9de; }
.pmsw-ft li { position: relative; padding-left: 14px; }
.pmsw-ft li::before { content: ""; position: absolute; left: 2px; top: .6em; width: 4px; height: 4px; border-radius: 50%; background: #8590b3; }
.pmsw .pms-subscription-plan-auto-renew label { display: flex; gap: 8px; align-items: center; font-size: 13px; color: #c3c9de; }

/* ---------- pago (Stripe) ---------- */
/* 1.4.0 · Tarjeta de pago oscura, acorde al resto de la interfaz.
   El formulario de Stripe se crea con tema oscuro (ver el script de <head>: html.pmsw-night). Si por cualquier motivo
   Stripe se creó sin ese tema, el iframe (claro) se invierte con un filtro para que no desentone. */
.pmsw .pms-paygates-holder { padding: 16px; border-radius: 16px; color: var(--pmsw-text); border: 1px solid var(--pmsw-line);
	background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)); color-scheme: dark; }
.pmsw .pms-paygates-holder label { color: var(--pmsw-text); }
html:not(.pmsw-night) .pmsw .pms-paygates-holder iframe { filter: invert(.93) hue-rotate(180deg); }
.pmsw .pms-paygates-holder .pms-spinner__holder { color: var(--pmsw-mute); }
.pmsw .pms-paygates-holder ul { margin: 0 !important; padding: 0 !important; }
.pmsw-secure { display: flex !important; align-items: center; gap: 8px; margin-top: 12px; font-size: 12.5px; color: var(--pmsw-mute); }
.pmsw-secure svg { width: 16px; height: 16px; color: var(--pmsw-mute); }
.pmsw-method { display: none; }
.pmsw-hi { display: none; }

/* ---------- resumen / final ---------- */
.pmsw-box { padding: 16px; margin-bottom: 18px; border-radius: 16px; background: var(--pmsw-card); border: 1px solid var(--pmsw-line); text-align: left; }
.pmsw-pc { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; }
.pmsw-pc b { color: #fff; font-size: 15px; }
.pmsw-ck { display: grid; gap: 10px; margin-top: 14px !important; font-size: 13.5px; color: #d3d8ea; }
.pmsw-ck li { display: flex; align-items: center; gap: 10px; }
.pmsw-ck svg { width: 16px; height: 16px; color: #34d399; stroke-width: 2.4; }
.pmsw-sum h4 { margin: 4px 0 10px !important; font-size: 14.5px !important; font-weight: 600 !important; color: #fff !important; }
.pmsw-pay { display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 16px; border-radius: 12px; background: var(--pmsw-card); border: 1px solid var(--pmsw-line); font-size: 14px; word-break: break-all; }
.pmsw-pi { display: grid; color: #a5b0d6; }
.pmsw-change { margin-left: auto; color: #79a6ff; font-size: 13px; text-decoration: underline; word-break: normal; }
.pmsw-total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 16px; margin-top: 4px; border-top: 1px solid var(--pmsw-line); color: #fff; }
.pmsw-total strong { font-size: 20px; }
.pmsw-note { margin: 8px 0 20px !important; font-size: 12.5px; color: var(--pmsw-mute); }

.pmsw-done { text-align: center; padding-top: 6px; }
.pmsw-big { width: 96px; height: 96px; margin: 8px auto 22px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: linear-gradient(135deg, var(--pmsw-c1), var(--pmsw-c2)); box-shadow: 0 0 0 10px rgba(99, 102, 241, .14), 0 16px 40px rgba(99, 102, 241, .35); }
.pmsw-big svg { width: 48px; height: 48px; stroke-width: 2.6; }
.pmsw-done h2 { margin: 0 0 8px !important; font-size: 30px !important; font-weight: 700 !important; color: #fff !important; }
.pmsw-done > p { margin: 0 0 22px !important; color: var(--pmsw-mute); }
.pmsw-done .pmsw-btn { margin-bottom: 12px; }

/* ---------- botones ---------- */
.pmsw-actions { margin-top: 20px; }
.pmsw .pmsw-btn {
	width: 100%; min-height: 52px; padding: 0 18px !important; display: flex !important; align-items: center; justify-content: center; gap: 10px;
	border: 0 !important; border-radius: 14px !important; cursor: pointer; text-decoration: none !important;
	font-family: inherit; font-size: 15px !important; font-weight: 600 !important; color: #fff !important;
	background: linear-gradient(90deg, var(--pmsw-c1), var(--pmsw-c2)) !important;
	box-shadow: 0 10px 26px rgba(79, 99, 240, .32) !important; transition: transform .15s, filter .2s;
}
.pmsw .pmsw-btn:hover { filter: brightness(1.08); transform: translateY(-1px); }
.pmsw .pmsw-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.pmsw .pmsw-btn:disabled { opacity: .75; cursor: wait; transform: none; }
.pmsw .pmsw-btn.is-busy span::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 10px; vertical-align: -2px; border: 2px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: pmsw-spin .7s linear infinite; }
.pmsw .pmsw-ghost { background: transparent !important; box-shadow: none !important; border: 1px solid var(--pmsw-c1) !important; color: #9ec0ff !important; }
.pmsw-login { margin: 16px 0 0 !important; text-align: center; font-size: 13px; color: var(--pmsw-mute); }
.pmsw-login a { color: #79a6ff; text-decoration: underline; }
@keyframes pmsw-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pmsw *, .pmsw *::before, .pmsw *::after { animation: none !important; transition: none !important; } }

.pmsw-actions .pmsw-prev { margin-top: 12px; }

/* =========================================================
   Grupos de planes: Básico (morado + negro) · Estándar (azul eléctrico + negro) · Premium (dorado)
   ========================================================= */
.pmsw .pmsw-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.pmsw .pmsw-grp { --tc: 168, 85, 247; --tct: #d8b4fe; margin: 0 0 14px; border-radius: 20px; overflow: hidden; color: #f5f3ff;
	background: linear-gradient(150deg, rgba(139, 92, 246, .26), rgba(10, 6, 20, .94) 62%);
	border: 1px solid rgba(var(--tc), .42); transition: border-color .2s, box-shadow .2s; }
.pmsw .pmsw-grp.pmsw-t-standard { --tc: 41, 121, 255; --tct: #7cc4ff; background: linear-gradient(150deg, rgba(0, 140, 255, .26), rgba(3, 10, 24, .94) 62%); }
.pmsw .pmsw-grp.pmsw-t-premium  { --tc: 245, 183, 49; --tct: #ffd978; background: linear-gradient(150deg, rgba(245, 183, 49, .24), rgba(24, 16, 3, .95) 62%); }
.pmsw .pmsw-grp.has-sel { border-color: rgba(var(--tc), .9); box-shadow: 0 0 0 1px rgba(var(--tc), .55), 0 12px 32px rgba(var(--tc), .18); }

.pmsw .pmsw-gh { width: 100%; display: flex !important; align-items: center; gap: 12px; padding: 14px 16px !important; margin: 0 !important;
	background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
	color: #fff !important; font-family: inherit; text-align: left; cursor: default; }
.pmsw .pmsw-gi { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 14px;
	background: rgba(var(--tc), .16); border: 1px solid rgba(var(--tc), .5); box-shadow: 0 0 22px rgba(var(--tc), .28); }
.pmsw .pmsw-gi svg { width: 26px; height: 26px; stroke: none; }
.pmsw .pmsw-gt { flex: 1; min-width: 0; display: grid; gap: 1px; }
.pmsw .pmsw-gt b { font-size: 17px; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.pmsw .pmsw-gt small { font-size: 12.5px; color: var(--tct); font-weight: 600; }

.pmsw .pmsw-gb { display: none; gap: 10px; padding: 0 12px 12px; }
.pmsw .pmsw-grp.is-open .pmsw-gb { display: grid; }
.pmsw .pmsw-gb .pmsw-plan { margin: 0 !important; }

/* tarjetas dentro de cada grupo */
.pmsw .pmsw-grp .pmsw-card { grid-template-columns: 22px 1fr; padding: 13px 14px; border-radius: 14px; background: rgba(0, 0, 0, .38); border: 1px solid rgba(var(--tc), .28); }
.pmsw .pmsw-grp .pmsw-card:hover { border-color: rgba(var(--tc), .65); }
.pmsw .pmsw-grp .pmsw-card .pmsw-ico { display: none; }
.pmsw .pmsw-grp .pmsw-card .pmsw-cm { grid-column: 2; }
.pmsw .pmsw-grp .pmsw-card.is-on { border-color: rgb(var(--tc)); background: linear-gradient(145deg, rgba(var(--tc), .22), rgba(0, 0, 0, .42));
	box-shadow: 0 0 0 1px rgb(var(--tc)), 0 8px 24px rgba(var(--tc), .22); }
.pmsw .pmsw-grp .pmsw-rad { margin-top: 2px; border-color: rgba(255, 255, 255, .4); }
.pmsw .pmsw-grp .pmsw-card.is-on .pmsw-rad { border-color: #fff; background: radial-gradient(circle, #fff 0 38%, rgb(var(--tc)) 42%); }
.pmsw .pmsw-grp .pmsw-ct { color: #fff !important; font-size: 15px; font-weight: 700; justify-content: flex-start; flex-wrap: wrap; gap: 8px; }
.pmsw .pmsw-grp .pmsw-cp strong { color: #fff !important; }
.pmsw .pmsw-grp .pmsw-cp small { color: #b8bfd6 !important; }
.pmsw .pmsw-grp .pmsw-tr { color: #7fe0a8; }
.pmsw .pmsw-grp .pmsw-ft { display: none; color: #d3d8ea !important; }
.pmsw .pmsw-grp .pmsw-card.is-on .pmsw-ft { display: grid; }
.pmsw .pmsw-grp .pmsw-ft li::before { background: rgb(var(--tc)); }

/* descuento al lado del nombre */
.pmsw .pmsw-off { font-style: normal; font-size: 11.5px; font-weight: 800; line-height: 1; padding: 4px 8px; border-radius: 99px; white-space: nowrap;
	color: #0b0b10; background: linear-gradient(90deg, rgb(var(--tc)), var(--tct)); box-shadow: 0 0 14px rgba(var(--tc), .35); }
.pmsw .pmsw-grp .pmsw-pop { background: rgba(var(--tc), .2); color: var(--tct); border: 1px solid rgba(var(--tc), .5); }

/* icono del nivel en el resumen / pantalla final */
.pmsw .pmsw-ico[data-t] svg { width: 24px; height: 24px; stroke: none; }
.pmsw .pmsw-ico[data-t="basic"]    { background: rgba(168, 85, 247, .16); border-color: rgba(168, 85, 247, .5); }
.pmsw .pmsw-ico[data-t="standard"] { background: rgba(41, 121, 255, .16); border-color: rgba(41, 121, 255, .5); }
.pmsw .pmsw-ico[data-t="premium"]  { background: rgba(245, 183, 49, .14); border-color: rgba(245, 183, 49, .5); }

/* escritorio: los tres grupos en tres columnas, siempre desplegados */
@media (min-width: 900px) {
	.pmsw .pmsw-grp { margin: 0; }
	.pmsw .pmsw-gh { cursor: default; pointer-events: none; padding: 16px 14px 12px !important; }
	.pmsw .pmsw-gb, .pmsw .pmsw-grp.is-open .pmsw-gb { display: grid; padding: 0 10px 10px; }
}

/* grupos no disponibles (Estándar y Premium): contorno rojo, vibran al tocarlos y no se abren */
.pmsw .pmsw-grp.is-locked { --lk: 239, 68, 68; border: 1.5px solid rgb(var(--lk)); box-shadow: 0 0 0 1px rgba(var(--lk), .35), 0 0 20px rgba(var(--lk), .28); cursor: not-allowed; }
.pmsw .pmsw-grp.is-locked .pmsw-gh { cursor: not-allowed; opacity: .78; }
.pmsw .pmsw-grp.is-locked .pmsw-gb, .pmsw .pmsw-grp.is-locked.is-open .pmsw-gb { display: none !important; }
.pmsw .pmsw-gt small.pmsw-soon { color: #fca5a5; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; font-size: 11.5px; }
.pmsw .pmsw-lock { flex: none; font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; line-height: 1; padding: 6px 9px; border-radius: 99px;
	color: #fff; background: rgba(var(--lk, 239, 68, 68), .9); box-shadow: 0 0 14px rgba(239, 68, 68, .45); }
.pmsw .pmsw-grp.is-shake { animation: pmsw-vibrate .55s cubic-bezier(.36, .07, .19, .97) both; }
@keyframes pmsw-vibrate {
	10%, 90% { transform: translateX(-2px); } 20%, 80% { transform: translateX(4px); }
	30%, 50%, 70% { transform: translateX(-7px); } 40%, 60% { transform: translateX(7px); }
}
@media (min-width: 900px) {
	.pmsw .pmsw-grp.is-locked .pmsw-gh { pointer-events: auto; padding-bottom: 16px !important; }
	.pmsw .pmsw-grp.is-locked .pmsw-gb, .pmsw .pmsw-grp.is-locked.is-open .pmsw-gb { display: none !important; }
}

/* =========================================================
   ESCRITORIO (>= 900px) — 3 etapas: Cuenta y plan · Pago y confirmación · Completado
   ========================================================= */
.pmsw-bar, .pmsw .pmsw-dsteps, .pmsw .pmsw-ptitle { display: none; }

@media (min-width: 900px) {
	.pmsw {
		max-width: 1240px; padding: 0 34px 38px; border-radius: 28px;
		background: radial-gradient(circle at 50% -10%, rgba(99, 102, 241, .14), transparent 40%), var(--pmsw-bg);
		border: 1px solid rgba(139, 92, 246, .28); box-shadow: 0 28px 80px rgba(0, 0, 0, .5);
	}

	/* barra superior */
	.pmsw .pmsw-bar { display: flex; align-items: center; justify-content: space-between; height: 74px; margin: 0 -34px; padding: 0 34px; border-bottom: 1px solid var(--pmsw-line); }
	.pmsw-bb { display: flex; align-items: center; gap: 11px; }
	.pmsw-bb img { max-height: 32px; width: auto; }
	.pmsw-bm { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(135deg, var(--pmsw-c1), var(--pmsw-c2)); box-shadow: 0 8px 22px rgba(59, 130, 246, .28); }
	.pmsw-bm svg { width: 18px; height: 18px; stroke: #fff; stroke-width: 2; }
	.pmsw-bn { font-size: 17px; font-weight: 750; letter-spacing: .01em; text-transform: uppercase; color: var(--pmsw-text); }
	.pmsw-sec { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--pmsw-mute); }
	.pmsw-sec svg { width: 16px; height: 16px; color: #34d399; }

	/* progreso de 3 etapas */
	.pmsw .pmsw-steps:not(.pmsw-dsteps) { display: none; }
	.pmsw .pmsw-dsteps { display: flex; max-width: 850px; margin: 0 auto; padding: 28px 0 10px; }
	.pmsw-dsteps .pmsw-dot { width: 32px; height: 32px; }
	.pmsw-dsteps .pmsw-lbl { display: block; margin-left: 9px; font-size: 12px; }
	.pmsw-dsteps .pmsw-step:not(:last-child)::after { margin: 0 14px; }

	/* títulos */
	.pmsw-head { text-align: center; max-width: 650px; margin: 0 auto; padding-top: 22px; }
	.pmsw-head h2 { font-size: 32px !important; letter-spacing: -.035em; }
	.pmsw-head p { font-size: 14px; margin-bottom: 28px !important; }
	.pmsw-alert { max-width: 650px; margin: 0 auto 18px; width: 100%; }

	/* cuadrícula: barra · progreso · título · alerta · formulario (+ resumen) · botones */
	.pmsw-stage { display: grid; column-gap: 22px; grid-template-columns: minmax(0, 1fr); align-items: start; }
	.pmsw-stage > * { grid-column: 1 / -1; }
	.pmsw-stage > .pmsw-bar { grid-row: 1; }
	.pmsw-stage > .pmsw-dsteps { grid-row: 2; width: 100%; }
	.pmsw-stage > .pmsw-head { grid-row: 3; width: 100%; }
	.pmsw-stage > .pmsw-alert { grid-row: 4; }
	.pmsw-stage > form.pms-form { grid-row: 5; }
	.pmsw-stage > .pmsw-sum { grid-row: 5 / span 2; }
	.pmsw-stage > .pmsw-actions { grid-row: 6; }
	.pmsw-stage[data-step="3"] { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
	.pmsw-stage[data-step="3"] > form.pms-form, .pmsw-stage[data-step="3"] > .pmsw-actions { grid-column: 1; }
	.pmsw-stage[data-step="3"] > .pmsw-sum { grid-column: 2; }

	/* etapa 1: cuenta (izquierda) + planes (derecha) */
	.pmsw-on[data-step="1"] .pmsw-s2 { display: block !important; }
	.pmsw-stage[data-step="1"] .pms-form-fields-wrapper { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; align-items: start; }
	.pmsw .pmsw-ptitle { display: flex; grid-column: 1 / -1; align-items: center; gap: 10px; margin: 0 0 18px !important; padding: 0 !important; font-size: 16px !important; font-weight: 700 !important; line-height: 1.2 !important; letter-spacing: 0 !important; color: var(--pmsw-text) !important; }
	.pmsw-ptitle span { width: 28px; height: 28px; border-radius: 9px; display: grid; place-items: center; background: rgba(59, 130, 246, .13); color: #8ab8ff; font-size: 12px; font-weight: 800; }
	.pmsw .pmsw-panel, .pmsw-on[data-step="1"] .pms-field-subscriptions {
		margin: 0 !important; border-radius: 20px; border: 1px solid var(--pmsw-line);
		background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018));
	}
	.pmsw .pmsw-panel { padding: 22px; }
	.pmsw-on[data-step="1"] .pms-field-subscriptions { padding: 22px !important; display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
	.pmsw-on[data-step="1"] .pms-subscription-plan-auto-renew, .pmsw-on[data-step="1"] input[name="pms_default_recurring"] { grid-column: 1 / -1; }
	.pmsw-panel .pms-field { margin-bottom: 13px !important; }
	.pmsw-panel .pmsw-inw input { height: 46px !important; font-size: 14px !important; border-radius: 11px !important; }
	.pmsw-on[data-step="1"] .pms-account-section-wrapper { display: grid !important; grid-template-columns: 1fr 1fr; column-gap: 14px; }
	.pmsw-on[data-step="1"] .pms-user-email-field, .pmsw-on[data-step="1"] .pms-pass1-field, .pmsw-on[data-step="1"] .pms-pass2-field, .pmsw-on[data-step="1"] .pms-user-login-field { grid-column: 1 / -1; }
	.pmsw-terms { font-size: 12px; }
	.pmsw-noplans.pmsw-on .pms-form-fields-wrapper { grid-template-columns: minmax(0, 520px) !important; justify-content: center; }

	/* etapa 2: pago (izquierda) + resumen (derecha, fijo al hacer scroll) */
	.pmsw-on[data-step="3"] .pmsw-sum { display: block !important; position: sticky; top: 20px; align-self: start; padding: 22px; border-radius: 20px; border: 1px solid var(--pmsw-line); background: linear-gradient(145deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, .018)); }
	.pmsw .pms-paygates-holder { border-radius: 20px; padding: 22px; }
	.pmsw .pms-paygates-holder::before { content: "Método de pago"; display: block; margin: 0 0 16px; font-size: 16px; font-weight: 700; color: var(--pmsw-text); padding-left: 36px; min-height: 28px; line-height: 28px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cbd5e1' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='5' width='19' height='14' rx='3'/%3E%3Cpath d='M2.5 10h19M6.5 15h4'/%3E%3C/svg%3E") no-repeat left center / 24px 24px; }
	.pmsw-sh { display: flex; justify-content: space-between; align-items: center; margin-bottom: 17px; }
	.pmsw-sh h3 { margin: 0 !important; font-size: 16px !important; font-weight: 700 !important; color: var(--pmsw-text) !important; }
	.pmsw-sh .pmsw-change { margin: 0; font-size: 11px; }
	.pmsw-sp { display: flex; align-items: center; gap: 11px; padding: 13px; border-radius: 12px; background: rgba(255, 255, 255, .035); border: 1px solid var(--pmsw-line); }
	.pmsw-sp strong { display: block; font-size: 13px; color: var(--pmsw-text); }
	.pmsw-sp small { font-size: 11px; color: var(--pmsw-mute); }
	.pmsw-sl { display: grid; gap: 10px; margin: 17px 0; }
	.pmsw-row { display: flex; justify-content: space-between; gap: 12px; font-size: 12px; color: var(--pmsw-mute); }
	.pmsw-row strong { font-weight: 650; color: var(--pmsw-text); }
	.pmsw-sum .pmsw-total strong { font-size: 25px; }
	.pmsw-sum .pmsw-confirm { margin-top: 16px; }
	.pmsw-cn { margin: 10px 0 0 !important; text-align: center; font-size: 10.5px; line-height: 1.5; color: var(--pmsw-mute); }

	/* botones: alineados a la derecha, ancho automático */
	.pmsw-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 20px; }
	.pmsw .pmsw-actions .pmsw-btn { width: auto; min-width: 200px; min-height: 44px; border-radius: 11px !important; font-size: 13px !important; }
	.pmsw .pmsw-actions .pmsw-prev { margin-top: 0; order: 1; }
	.pmsw .pmsw-actions .pmsw-btn:not(.pmsw-prev) { order: 2; }
	.pmsw .pmsw-actions .pmsw-login { order: 0; margin: 0 auto 0 0 !important; }

	/* pantalla final */
	.pmsw-done { max-width: 520px; margin: 0 auto; padding: 44px 0 20px; }
	.pmsw-success .pmsw-dsteps { width: 100%; }
}

/* etapa 1 en pantallas anchas: cuenta 25 % + planes 75 % */
@media (min-width: 1100px) {
	.pmsw-stage[data-step="1"] .pms-form-fields-wrapper { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
	.pmsw-on[data-step="1"] .pmsw-panel .pms-account-section-wrapper { display: block !important; }
}

/* [hidden] debe ganar a display:flex de los botones (Atrás en la etapa 1, Continuar en el pago de escritorio) */
.pmsw .pmsw-btn[hidden], .pmsw .pmsw-login[hidden] { display: none !important; }
@media (min-width: 900px) {
	.pmsw-stage[data-step="3"] > .pmsw-actions { justify-content: flex-start; }
	.pmsw .pmsw-grp.is-locked .pmsw-gh { flex-wrap: wrap; row-gap: 8px; }
	.pmsw .pmsw-grp.is-locked .pmsw-gt { flex: 1 1 60px; }
	.pmsw .pmsw-grp.is-locked .pmsw-lock { flex: 1 0 100%; text-align: center; padding: 7px 9px; }
}

/* ---------- 1.5.0 · Escritorio: método de pago y resumen como en el diseño de referencia ---------- */
@media (min-width: 900px) {
	/* cabecera "Tarjeta de crédito o débito" (método activo) */
	.pmsw-on[data-step="3"] .pmsw-method { display: flex; align-items: center; gap: 14px; padding: 13px 16px; margin: 0 0 18px; border-radius: 14px;
		background: rgba(var(--accent-rgb, 59, 130, 246), .07); border: 1px solid var(--accent, var(--pmsw-c1));
		box-shadow: 0 0 0 1px rgba(var(--accent-rgb, 59, 130, 246), .35), 0 8px 26px rgba(var(--accent-rgb, 59, 130, 246), .14); }
	.pmsw-mi { flex: none; display: grid; place-items: center; width: 34px; height: 34px; color: var(--pmsw-text); }
	.pmsw-mi svg { width: 28px; height: 28px; stroke-width: 1.6; }
	.pmsw-mt { display: grid; gap: 2px; min-width: 0; }
	.pmsw-mt b { font-size: 14px; font-weight: 700; color: var(--pmsw-text); }
	.pmsw-mt small { font-size: 12px; color: var(--pmsw-mute); }
	/* resumen */
	.pmsw-sh h3 { display: flex !important; align-items: center; gap: 10px; }
	.pmsw-hi { display: grid; place-items: center; color: var(--pmsw-text); }
	.pmsw-hi svg { width: 22px; height: 22px; stroke-width: 1.7; }
	.pmsw-sl { gap: 0 !important; }
	.pmsw-sl .pmsw-row { padding: 12px 0; border-bottom: 1px solid var(--pmsw-line); }
	.pmsw-sl .pmsw-row:last-child { border-bottom: 0; }
	.pmsw-sum .pmsw-total { border-top: 0; }
	.pmsw-sum .pmsw-confirm svg:last-child { width: 16px; height: 16px; }
	.pmsw .pmsw-actions .pmsw-prev svg { width: 16px; height: 16px; }
	.pmsw-secure svg { flex: none; }
}

/* ---------- 1.6.0 · Bloque de pago de Stripe más cercano al diseño de referencia ---------- */
/* El resplandor de la cabecera de método usaba un azul fijo; ahora sigue el "Color principal" de los ajustes. */
@media (min-width: 900px) {
	.pmsw-on[data-step="3"] .pmsw-method {
		background: color-mix(in srgb, var(--pmsw-c1) 8%, transparent);
		border-color: var(--pmsw-c1);
		box-shadow: 0 0 0 1px color-mix(in srgb, var(--pmsw-c1) 38%, transparent), 0 8px 26px color-mix(in srgb, var(--pmsw-c1) 16%, transparent);
	}
}
/* Contenedor del Payment Element: sin bordes/relleno heredados del tema o de PMS; el aspecto lo da el iframe (appearance). */
.pmsw .pms-paygates-holder .pms-paygate-extra-fields,
.pmsw .pms-paygates-holder #pms-stripe-connect {
	margin: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; box-shadow: none !important; list-style: none;
}
.pmsw .pms-paygates-holder #pms-stripe-payment-elements { margin: 0; padding: 0; background: transparent; }
.pmsw .pms-paygates-holder .__PrivateStripeElement { max-width: 100%; }
.pmsw .pms-paygates-holder iframe { color-scheme: dark; }
/* Aviso "datos protegidos" un poco más cerca del formulario, como en la referencia. */
.pmsw-secure { margin-top: 14px; }

/* =========================================================
   1.7.0 · INTERFAZ PELISANIME (activable en Ajustes → PMS Wizard)
   Mismo aspecto que el formulario "Suscribirme" del plugin PelisAnime · Cabecera y Menú Móvil
   (tarjeta oscura con halo, campos .au-in, botón degradado con destello, pasos y planes).
   Todo cuelga de .pmsw-pa: sin esa clase el asistente conserva el diseño anterior.
   Los tokens (--accent, --accent-grad, --g2-rgb, --font...) los define el plugin de cabecera en :root
   (siguen su paleta azul/violeta o naranja); si no está activo se usan los valores por defecto.
   ========================================================= */
.pmsw.pmsw-pa {
	--pa-bg: #111827; --pa-text: #F8FAFC; --pa-muted: #94A3B8; --pa-line: rgba(148, 163, 184, .16);
	--pa-acc: var(--accent, var(--pmsw-c1, #2563EB)); --pa-acc-rgb: var(--accent-rgb, 37, 99, 235); --pa-acc-t: #8FA8FF;
	--pa-g2: var(--g2-rgb, 99, 102, 241);
	--pa-grad: var(--accent-grad, linear-gradient(135deg, #2563EB 0%, #6366F1 55%, #8B5CF6 100%));
	--pa-on: var(--on-accent, #fff);
	--pa-font: var(--font, "Plus Jakarta Sans", Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	--pmsw-c1: var(--pa-acc); --pmsw-text: var(--pa-text); --pmsw-mute: var(--pa-muted);
	--pmsw-line: rgba(255, 255, 255, .14); --pmsw-card: rgba(255, 255, 255, .04); --pmsw-bg: var(--pa-bg);
	color: var(--pa-text); font-family: var(--pa-font);
}
:root[data-palette="ember"] .pmsw.pmsw-pa { --pa-bg: #0d1016; --pa-text: #f4f6f8; --pa-muted: #8d96a5; --pa-line: rgba(255, 255, 255, .09); --pa-acc-t: #ffb04a; }

/* tarjeta (como .auth-card); dentro del lightbox del plugin de cabecera (.sub-card) no se duplica */
.pmsw.pmsw-pa:not(.pmsw-in-layer) {
	max-width: 440px; padding: 30px 22px 24px; border-radius: 28px;
	background: radial-gradient(120% 55% at 50% -12%, rgba(var(--pa-acc-rgb), .16), transparent 62%), var(--pa-bg);
	border: 1px solid var(--pa-line); box-shadow: 0 34px 90px rgba(0, 0, 0, .65);
}
@media (min-width: 900px) {
	.pmsw.pmsw-pa:not(.pmsw-in-layer) {
		max-width: 1240px; padding: 0 34px 38px;
		background: radial-gradient(120% 40% at 50% -10%, rgba(var(--pa-acc-rgb), .16), transparent 62%), var(--pa-bg);
		border: 1px solid var(--pa-line); box-shadow: 0 34px 90px rgba(0, 0, 0, .65);
	}
}
.pmsw-pa .pmsw-bar { border-bottom-color: var(--pa-line); }
.pmsw-pa .pmsw-bm { background: var(--pa-grad); box-shadow: 0 8px 22px rgba(var(--pa-g2), .34); }
.pmsw-pa .pmsw-bn { font-family: var(--pa-font); font-weight: 800; }

/* pasos */
.pmsw-pa .pmsw-dot { background: rgba(255, 255, 255, .05); border-color: var(--pmsw-line); color: var(--pa-muted); font-weight: 700; }
.pmsw-pa .pmsw-step.is-done .pmsw-dot { background: rgba(var(--pa-acc-rgb), .16); border-color: var(--pa-acc); color: var(--pa-acc-t); }
.pmsw-pa .pmsw-step.is-now .pmsw-dot { color: var(--pa-on); background: var(--pa-grad); box-shadow: 0 0 0 4px rgba(var(--pa-acc-rgb), .20); }
.pmsw-pa .pmsw-step.is-now .pmsw-lbl { color: var(--pa-text); }
.pmsw-pa .pmsw-step.is-done:not(:last-child)::after { background: var(--pa-grad); }

/* títulos (como .au-head) */
.pmsw-pa .pmsw-head { text-align: center; }
.pmsw-pa .pmsw-head h2, .pmsw-pa .pmsw-done h2 { margin: 0 0 9px !important; font: 800 28px/1.15 var(--pa-font) !important; letter-spacing: -.02em; color: var(--pa-text) !important; }
.pmsw-pa .pmsw-head p { margin: 0 0 24px !important; font: 500 14.5px/1.45 var(--pa-font) !important; color: var(--pa-muted) !important; }
.pmsw-pa .pmsw-alert { font: 600 13px/1.4 var(--pa-font); color: #FDA4AF; background: rgba(244, 63, 94, .10); border: 1px solid rgba(244, 63, 94, .28); border-radius: 13px; }

/* campos (como .au-in) */
.pmsw-pa .pms-field { margin: 0 0 14px !important; }
.pmsw-pa .pmsw-ii { left: 14px; color: var(--pa-muted); }
.pmsw-pa .pmsw-ii svg { width: 18px; height: 18px; stroke-width: 1.8; }
.pmsw-pa .pmsw-inw input {
	height: 50px !important; padding: 0 46px 0 44px !important; border-radius: 15px !important;
	background: rgba(255, 255, 255, .04) !important; border: 1px solid var(--pmsw-line) !important;
	color: var(--pa-text) !important; -webkit-text-fill-color: var(--pa-text); font: 500 16px var(--pa-font) !important;
}
.pmsw-pa .pmsw-inw input::placeholder { color: #64748B !important; -webkit-text-fill-color: #64748B; opacity: 1; }
.pmsw-pa .pmsw-inw input:focus { border-color: rgba(var(--pa-acc-rgb), .75) !important; background: rgba(255, 255, 255, .06) !important; box-shadow: 0 0 0 4px rgba(var(--pa-acc-rgb), .14) !important; }
.pmsw-pa .pmsw-inw input:-webkit-autofill { -webkit-text-fill-color: var(--pa-text); box-shadow: 0 0 0 40px var(--pa-bg) inset !important; caret-color: var(--pa-text); }
.pmsw-pa .pms-field.is-invalid input { border-color: rgba(244, 63, 94, .75) !important; box-shadow: 0 0 0 4px rgba(244, 63, 94, .10) !important; }
.pmsw-pa .pmsw-eye { color: var(--pa-muted) !important; }
.pmsw-pa .pmsw-eye:hover { color: var(--pa-text) !important; }
.pmsw-pa .pmsw-err, .pmsw-pa.pmsw-on li.pms-field [class*="pms"][class*="error"]:not([class*="pmsw"]) { color: #FDA4AF; font: 600 12.5px var(--pa-font); }

/* términos y enlaces */
.pmsw-pa .pmsw-terms { color: var(--pa-muted); font: 500 13px/1.45 var(--pa-font); }
.pmsw-pa .pmsw-cb { border-color: rgba(255, 255, 255, .28); background: rgba(255, 255, 255, .03); border-radius: 7px; }
.pmsw-pa .pmsw-terms input:checked + .pmsw-cb { background: var(--pa-acc); border-color: var(--pa-acc); color: var(--pa-on); }
.pmsw-pa .pmsw-terms a, .pmsw-pa .pmsw-lk, .pmsw-pa .pmsw-login a, .pmsw-pa .pmsw-change { color: var(--pa-acc-t); font-weight: 700; text-decoration: none; }
.pmsw-pa .pmsw-terms a:hover, .pmsw-pa .pmsw-login a:hover, .pmsw-pa .pmsw-change:hover { text-decoration: underline; text-underline-offset: 3px; }

/* planes */
.pmsw-pa .pmsw-card { border-radius: 18px; background: var(--pmsw-card); border-color: var(--pmsw-line); }
.pmsw-pa .pmsw-card:hover { border-color: rgba(var(--pa-acc-rgb), .5); }
.pmsw-pa .pmsw-card.is-on { border-color: var(--pa-acc); background: linear-gradient(145deg, rgba(var(--pa-acc-rgb), .16), rgba(var(--pa-g2), .06)); box-shadow: 0 0 0 1px var(--pa-acc), 0 10px 30px rgba(var(--pa-acc-rgb), .18); }
.pmsw-pa .pmsw-rad { border-color: rgba(255, 255, 255, .30); }
.pmsw-pa .pmsw-card.is-on .pmsw-rad { border-color: var(--pa-text); background: radial-gradient(circle, var(--pa-text) 0 38%, var(--pa-acc) 42%); }
.pmsw-pa .pmsw-ct, .pmsw-pa .pmsw-cp strong, .pmsw-pa .pmsw-pc b, .pmsw-pa .pmsw-sum h4, .pmsw-pa .pmsw-total { color: var(--pa-text) !important; }
.pmsw-pa .pmsw-cp small, .pmsw-pa .pmsw-note, .pmsw-pa .pmsw-login, .pmsw-pa .pmsw-done > p { color: var(--pa-muted); }
.pmsw-pa .pmsw-ft, .pmsw-pa .pmsw-ck, .pmsw-pa .pms-subscription-plan-auto-renew label { color: var(--pa-muted); }
.pmsw-pa .pmsw-ft li::before { background: var(--pa-muted); }
.pmsw-pa .pmsw-pop { background: var(--pa-grad); color: var(--pa-on); }
.pmsw-pa .pmsw-pi { color: var(--pa-muted); }
.pmsw-pa .pmsw-box, .pmsw-pa .pmsw-pay { border-radius: 16px; }
.pmsw-pa .pmsw-secure { color: var(--pa-muted); font: 500 12.5px var(--pa-font); }

/* botones (como .au-submit): degradado, brillo superior y destello al pasar el cursor */
.pmsw-pa .pmsw-btn {
	position: relative; overflow: hidden; isolation: isolate;
	height: 52px; min-height: 52px; border-radius: 16px !important; font: 800 15px var(--pa-font) !important; letter-spacing: .1px;
	color: var(--pa-on) !important; background: var(--pa-grad) !important;
	box-shadow: 0 10px 28px rgba(var(--pa-g2), .34), inset 0 1px 0 rgba(255, 255, 255, .24) !important;
}
.pmsw-pa .pmsw-btn svg { width: 18px; height: 18px; }
.pmsw-pa .pmsw-btn::after {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: -1;
	background: linear-gradient(105deg, transparent 35%, rgba(255, 255, 255, .30) 50%, transparent 65%);
	transform: translateX(-130%); transition: transform .8s cubic-bezier(.2, .9, .25, 1);
}
@media (hover: hover) { .pmsw-pa .pmsw-btn:hover::after { transform: translateX(130%); } }
.pmsw-pa .pmsw-ghost { background: transparent !important; box-shadow: none !important; border: 1px solid var(--pmsw-line) !important; color: var(--pa-text) !important; }
.pmsw-pa .pmsw-ghost::after { display: none; }
.pmsw-pa .pmsw-ghost:hover { border-color: rgba(var(--pa-acc-rgb), .6) !important; }
.pmsw-pa .pmsw-login { margin-top: 18px !important; font: 500 13px var(--pa-font); }
.pmsw-pa .pmsw-big { background: var(--pa-grad); color: var(--pa-on); box-shadow: 0 0 0 10px rgba(var(--pa-acc-rgb), .14), 0 16px 40px rgba(var(--pa-acc-rgb), .35); }

/* escritorio */
@media (min-width: 900px) {
	.pmsw-pa .pmsw-head h2 { font-size: 30px !important; }
	.pmsw-pa .pmsw-ptitle span { background: rgba(var(--pa-acc-rgb), .14); color: var(--pa-acc-t); }
	.pmsw-pa .pmsw-panel, .pmsw-pa.pmsw-on[data-step="1"] .pms-field-subscriptions, .pmsw-pa.pmsw-on[data-step="3"] .pmsw-sum { border-radius: 22px; }
	.pmsw-pa .pmsw-panel .pmsw-inw input { height: 46px !important; font-size: 15px !important; }
	.pmsw-pa .pmsw-actions .pmsw-btn { height: 48px; min-height: 48px; border-radius: 14px !important; }
}
@media (prefers-reduced-motion: reduce) { .pmsw-pa .pmsw-btn::after { transition: none !important; } }


/* =========================================================
   1.7.1 · PÁGINA A PANTALLA COMPLETA (igual que el lightbox del botón "Suscribirme")
   En la página del shortcode [pms-register] el asistente se imprime dentro de una capa fija (.pmsw-fs):
   sin barra de marca, con la "x" arriba a la derecha y toda la etapa dentro de la pantalla.
   Las reglas de abajo son las del lightbox de PelisAnime · Cabecera y Menú Móvil (1.10.x), con .sub-card -> .pmsw-fs-card.
   ========================================================= */
.pmsw-fs{position:fixed;inset:0;z-index:999999;display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  font-family:var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);color:var(--text,#F8FAFC)}
.pmsw-fs-scrim{position:fixed;inset:0;
  background:radial-gradient(90% 55% at 50% 0%,rgba(var(--accent-rgb,37,99,235),.20),transparent 65%),radial-gradient(70% 45% at 50% 108%,rgba(var(--accent-rgb,37,99,235),.10),transparent 70%),rgba(6,8,12,.94);
  backdrop-filter:blur(26px) saturate(1.2);-webkit-backdrop-filter:blur(26px) saturate(1.2)}
.pmsw-fs-card{position:relative;width:100%;max-width:none;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;
  padding:calc(env(safe-area-inset-top,0px) + 50px) max(22px,calc((100% - 420px)/2)) calc(env(safe-area-inset-bottom,0px) + 36px);
  border:0;border-radius:0;background:transparent;box-shadow:none}
.pmsw-fs-card *{box-sizing:border-box}
.pmsw-fs-x{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;width:44px;height:44px;z-index:3;display:grid;place-items:center;border:0;border-radius:50%;
  background:rgba(var(--ov,255,255,255),.08);color:#94A3B8;cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.pmsw-fs-x:hover{background:rgba(var(--ov,255,255,255),.14);color:var(--text,#F8FAFC)}
.pmsw-fs-x svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media (min-width:768px){.pmsw-fs-x{top:22px;right:26px}}

/* --- reglas del lightbox adaptadas --- */
/* =========================================================
   1.10.0 · SUSCRIBIRME — lightbox con PMS Registration Wizard
   Reutiliza el lightbox de login/registro (.auth-layer / .auth-card) y adapta el asistente
   (.pmsw) a la paleta, tipografía y controles de los formularios de acceso.
   ========================================================= */
.pmsw-fs-card{padding-left:max(20px,calc((100% - 1240px)/2));padding-right:max(20px,calc((100% - 1240px)/2))}
.pmsw-fs-card .pmsw-fs-body{width:100%}

/* contenedor del asistente: sin margen superior, sin tarjeta propia en escritorio */
.pmsw-fs-card .pmsw{
  --pmsw-c1:var(--accent,#2563EB);--pmsw-c2:rgb(var(--g3-rgb,139,92,246));
  --pmsw-text:var(--text,#F8FAFC);--pmsw-mute:var(--muted,#94A3B8);
  --pmsw-line:rgba(var(--ov,255,255,255),.14);--pmsw-card:rgba(var(--ov,255,255,255),.04);--pmsw-bg:transparent;--pmsw-offset:0px;
  width:100%;max-width:none;margin:0 auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;
  color:var(--text,#F8FAFC);font-family:var(--font,inherit)
}
.pmsw-fs-card .pmsw-on[data-step="1"],.pmsw-fs-card .pmsw-on[data-step="3"],.pmsw-fs-card .pmsw-on[data-step="4"],.pmsw-fs-card .pmsw-success{max-width:440px}
.pmsw-fs-card .pmsw-top{display:none}

/* pasos */
.pmsw-fs-card .pmsw-steps{margin:6px 0 22px}
.pmsw-fs-card .pmsw-dot{background:rgba(var(--ov,255,255,255),.05);border-color:var(--pmsw-line);color:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-step.is-done .pmsw-dot{background:rgba(var(--accent-rgb,37,99,235),.16);border-color:var(--accent,#2563EB);color:var(--accent-t,var(--accent,#2563EB))}
.pmsw-fs-card .pmsw-step.is-now .pmsw-dot{color:var(--on-accent,#fff);background:var(--accent-grad,var(--accent,#2563EB));box-shadow:0 0 0 4px rgba(var(--accent-rgb,37,99,235),.20)}
.pmsw-fs-card .pmsw-step.is-now .pmsw-lbl{color:var(--text,#F8FAFC)}
.pmsw-fs-card .pmsw-step.is-done:not(:last-child)::after{background:var(--accent-grad,var(--accent,#2563EB))}

/* títulos (como .au-head) */
.pmsw-fs-card .pmsw-head{text-align:center;max-width:none;margin:0}
.pmsw-fs-card .pmsw-head h2,.pmsw-fs-card .pmsw-done h2{margin:0 0 9px!important;font:800 28px/1.15 var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)!important;letter-spacing:-.02em;color:var(--text,#F8FAFC)!important}
.pmsw-fs-card .pmsw-head p{margin:0 0 24px!important;font:500 14.5px/1.45 var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)!important;color:var(--muted,#94A3B8)!important}
.pmsw-fs-card .pmsw-alert{font:600 13px/1.4 var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);color:#FDA4AF;background:rgba(244,63,94,.10);border:1px solid rgba(244,63,94,.28);border-radius:13px}

/* campos (como .au-in) */
.pmsw-fs-card .pmsw .pms-field{margin:0 0 14px!important}
.pmsw-fs-card .pmsw-ii{left:14px;color:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-ii svg{width:18px;height:18px;stroke-width:1.8}
.pmsw-fs-card .pmsw .pmsw-inw input{
  height:50px!important;padding:0 46px 0 44px!important;border-radius:15px!important;
  background:rgba(var(--ov,255,255,255),.04)!important;border:1px solid var(--pmsw-line)!important;
  color:var(--text,#F8FAFC)!important;-webkit-text-fill-color:var(--text,#F8FAFC);font:500 16px var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)!important
}
.pmsw-fs-card .pmsw .pmsw-inw input::placeholder{color:#64748B!important;-webkit-text-fill-color:#64748B;opacity:1}
.pmsw-fs-card .pmsw .pmsw-inw input:focus{border-color:rgba(var(--accent-rgb,37,99,235),.75)!important;background:rgba(var(--ov,255,255,255),.06)!important;box-shadow:0 0 0 4px rgba(var(--accent-rgb,37,99,235),.14)!important}
.pmsw-fs-card .pmsw .pmsw-inw input:-webkit-autofill{-webkit-text-fill-color:var(--text,#F8FAFC);box-shadow:0 0 0 40px var(--surface,#111827) inset!important;caret-color:var(--text,#F8FAFC)}
.pmsw-fs-card .pmsw .pms-field.is-invalid input{border-color:rgba(244,63,94,.75)!important;box-shadow:0 0 0 4px rgba(244,63,94,.10)!important}
.pmsw-fs-card .pmsw .pmsw-eye{color:var(--muted,#94A3B8)!important}
.pmsw-fs-card .pmsw .pmsw-eye:hover{color:var(--text,#F8FAFC)!important}
.pmsw-fs-card .pmsw-err,.pmsw-fs-card .pmsw-on li.pms-field [class*="pms"][class*="error"]:not([class*="pmsw"]){color:#FDA4AF;font:600 12.5px var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)}

/* términos */
.pmsw-fs-card .pmsw-terms{color:var(--muted,#94A3B8);font:500 13px/1.45 var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)}
.pmsw-fs-card .pmsw-cb{border-color:rgba(var(--ov,255,255,255),.28);background:rgba(var(--ov,255,255,255),.03)}
.pmsw-fs-card .pmsw-terms input:checked+.pmsw-cb{background:var(--accent,#2563EB);border-color:var(--accent,#2563EB);color:var(--on-accent,#fff)}
.pmsw-fs-card .pmsw-terms a,.pmsw-fs-card .pmsw-lk,.pmsw-fs-card .pmsw-login a,.pmsw-fs-card .pmsw-change{color:var(--accent-t,var(--accent,#2563EB));font-weight:700;text-decoration:none}
.pmsw-fs-card .pmsw-terms a:hover,.pmsw-fs-card .pmsw-login a:hover,.pmsw-fs-card .pmsw-change:hover{text-decoration:underline;text-underline-offset:3px}

/* planes */
.pmsw-fs-card .pmsw-card{border-radius:18px;background:var(--pmsw-card);border-color:var(--pmsw-line)}
.pmsw-fs-card .pmsw-card:hover{border-color:rgba(var(--accent-rgb,37,99,235),.5)}
.pmsw-fs-card .pmsw-card.is-on{border-color:var(--accent,#2563EB);background:linear-gradient(145deg,rgba(var(--accent-rgb,37,99,235),.16),rgba(var(--g2-rgb,99,102,241),.06));box-shadow:0 0 0 1px var(--accent,#2563EB),0 10px 30px rgba(var(--accent-rgb,37,99,235),.18)}
.pmsw-fs-card .pmsw-rad{border-color:rgba(var(--ov,255,255,255),.30)}
.pmsw-fs-card .pmsw-card.is-on .pmsw-rad{border-color:var(--text,#F8FAFC);background:radial-gradient(circle,var(--text,#F8FAFC) 0 38%,var(--accent,#2563EB) 42%)}
.pmsw-fs-card .pmsw-ct,.pmsw-fs-card .pmsw-cp strong,.pmsw-fs-card .pmsw-pc b,.pmsw-fs-card .pmsw-sum h4,.pmsw-fs-card .pmsw-total{color:var(--text,#F8FAFC)!important}
.pmsw-fs-card .pmsw-cp small,.pmsw-fs-card .pmsw-note,.pmsw-fs-card .pmsw-login,.pmsw-fs-card .pmsw-done>p{color:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-ft,.pmsw-fs-card .pmsw-ck,.pmsw-fs-card .pmsw .pms-subscription-plan-auto-renew label{color:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-ft li::before{background:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-pop{background:var(--accent-grad,var(--accent,#2563EB));color:var(--on-accent,#fff)}
.pmsw-fs-card .pmsw-pi{color:var(--muted,#94A3B8)}
.pmsw-fs-card .pmsw-box,.pmsw-fs-card .pmsw-pay{border-radius:16px}

/* botones (como .au-submit) */
.pmsw-fs-card .pmsw .pmsw-btn{
  height:52px;min-height:52px;border-radius:16px!important;font:800 15px var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)!important;letter-spacing:.1px;
  color:var(--on-accent,#fff)!important;background:var(--accent-grad,var(--accent,#2563EB))!important;
  box-shadow:0 10px 28px rgba(var(--accent-rgb,37,99,235),.28),inset 0 1px 0 rgba(255,255,255,.35)!important
}
.pmsw-fs-card .pmsw .pmsw-btn svg{width:18px;height:18px}
.pmsw-fs-card .pmsw .pmsw-ghost{background:transparent!important;box-shadow:none!important;border:1px solid var(--pmsw-line)!important;color:var(--text,#F8FAFC)!important}
.pmsw-fs-card .pmsw .pmsw-ghost:hover{border-color:rgba(var(--accent-rgb,37,99,235),.6)!important}
.pmsw-fs-card .pmsw-login{margin-top:18px!important;font:500 13px var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)}
.pmsw-fs-card .pmsw-secure{color:var(--muted,#94A3B8);font:500 12.5px var(--font,"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif)}
.pmsw-fs-card .pmsw-big{background:var(--accent-grad,var(--accent,#2563EB));color:var(--on-accent,#fff);box-shadow:0 0 0 10px rgba(var(--accent-rgb,37,99,235),.14),0 16px 40px rgba(var(--accent-rgb,37,99,235),.35)}

/* Escritorio (1.10.2): asistente de 3 etapas (Cuenta y plan · Pago y confirmación · Completado).
   El lightbox se ensancha a 1240px y la barra de marca del asistente se oculta (el lightbox ya tiene la suya). */
@media (min-width:900px){
  .pmsw-fs-card .pmsw-on[data-step],.pmsw-fs-card .pmsw-success{max-width:none}
  .pmsw-fs-card .pmsw-on form.pms-form,.pmsw-fs-card .pmsw-sum,.pmsw-fs-card .pmsw-alert{max-width:none}
  .pmsw-fs-card .pmsw .pmsw-bar,.pmsw-fs-card .au-badge{display:none!important}
  /* la interfaz arranca a la altura de la "x" de cerrar (top:22px, 44px de alto): el centro de los pasos coincide con el centro de la "x" */
  .pmsw-fs-card{padding-top:22px}
  .pmsw-fs-card .pmsw .pmsw-dsteps{margin:6px auto 4px;padding:0}
  .pmsw-fs-card .pmsw-head{padding-top:6px}
  .pmsw-fs-card .pmsw-head h2{font-size:30px!important}
  .pmsw-fs-card .pmsw-head p{font-size:14.5px}
  .pmsw-fs-card .pmsw-ptitle span{background:rgba(var(--accent-rgb,37,99,235),.14);color:var(--accent-t,var(--accent,#2563EB))}
  .pmsw-fs-card .pmsw-panel,.pmsw-fs-card .pmsw-on[data-step="1"] .pms-field-subscriptions,.pmsw-fs-card .pmsw-on[data-step="3"] .pmsw-sum{border-radius:22px}
  .pmsw-fs-card .pmsw .pmsw-actions .pmsw-btn{height:48px;min-height:48px;border-radius:14px!important}
  .pmsw-fs-card .pmsw-done{max-width:520px}
}
/* Escritorio · etapa 1 (1.10.5): "01 Crear cuenta" y "02 Elegir plan" con la misma altura y toda la interfaz dentro de la pantalla, sin scroll.
   Solo actúa mientras el asistente está en la etapa 1; el pago (etapa 2) y el final conservan su comportamiento. */
@media (min-width:900px){
  .pmsw-fs-card:has(.pmsw-stage[data-step="1"]){height:100vh;height:100dvh;min-height:0;overflow:hidden;padding-bottom:clamp(10px,2.2vh,22px)}
  .pmsw-fs-card:has(.pmsw-stage[data-step="1"]) .pmsw-fs-body{flex:1 1 auto;min-height:0;display:flex}
  .pmsw-fs-card .pmsw-on[data-step="1"]{--s1g:clamp(8px,1.5vh,16px)}
  .pmsw-fs-card .pmsw:has(.pmsw-stage[data-step="1"]){flex:1 1 auto;min-height:0;height:100%;display:flex;padding-bottom:0}
  .pmsw-fs-card .pmsw-stage[data-step="1"]{flex:1 1 auto;min-height:0;height:100%;grid-template-rows:auto auto auto auto minmax(0,1fr) auto}
  /* títulos y pasos más compactos */
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-dsteps{padding:0 0 var(--s1g)!important;margin:0 auto!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-head{padding-top:0!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-head h2{font-size:clamp(22px,3.6vh,30px)!important;margin:0 0 4px!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-head p{margin:0 0 var(--s1g)!important;font-size:clamp(12.5px,1.8vh,14.5px)!important}
  /* formulario: ocupa todo el alto libre y sus dos contenedores se estiran igual */
  .pmsw-fs-card .pmsw-stage[data-step="1"]>form.pms-form{min-height:0;align-self:stretch;display:flex;flex-direction:column}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-form-fields-wrapper{flex:1 1 auto;min-height:0;align-items:stretch;gap:var(--s1g);grid-template-rows:minmax(0,1fr)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-panel,
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-field-subscriptions{min-height:0;min-width:0;height:100%;padding:clamp(12px,2.2vh,22px)!important;overflow:hidden}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-ptitle{margin:0 0 var(--s1g)!important}
  /* 01: los campos se reparten el alto disponible */
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-panel{display:flex!important;flex-direction:column}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-pl{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;justify-content:space-between}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-panel .pms-field{margin:0 0 clamp(6px,1.2vh,13px)!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-panel .pmsw-inw input{height:clamp(38px,5.4vh,46px)!important}
  /* 02: título arriba y los tres grupos a la misma altura, ocupando el resto */
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-field-subscriptions{grid-template-rows:auto minmax(0,1fr);gap:var(--s1g) clamp(8px,1.2vw,14px);align-items:stretch!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-field-subscriptions>.pmsw-ptitle{grid-row:1}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp{display:flex;flex-direction:column;min-height:0;grid-row:2}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gh{flex:none;padding:clamp(8px,1.6vh,16px) 12px clamp(6px,1.2vh,12px)!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gi{width:clamp(34px,5vh,44px);height:clamp(34px,5vh,44px)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp.is-locked .pmsw-gh{padding-bottom:12px!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-gb{flex:1 1 auto;min-height:0;overflow:hidden;gap:clamp(5px,1vh,10px);padding:0 10px clamp(8px,1.4vh,10px);align-content:start}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-card{padding:clamp(7px,1.2vh,13px) 12px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-ct{font-size:clamp(13px,1.9vh,15px)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-ft{gap:clamp(1px,.4vh,4px);font-size:clamp(11.5px,1.6vh,13px)}
  /* botones y enlace de acceso */
  .pmsw-fs-card .pmsw-stage[data-step="1"]>.pmsw-actions{margin-top:0;padding-top:var(--s1g)}
  .pmsw-fs-card .pmsw .pmsw-stage[data-step="1"] .pmsw-actions .pmsw-btn{height:clamp(40px,5.6vh,48px);min-height:clamp(40px,5.6vh,48px)}
}
/* cada plan pone nombre y precio en una misma línea y las ventajas en dos columnas, para que los planes quepan sin scroll */
@media (min-width:900px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-form-fields-wrapper{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-panel .pms-account-section-wrapper{display:block!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:8px;row-gap:2px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cp strong{font-size:16px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-card.is-on .pmsw-ft{width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:10px;margin-top:4px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-tr{width:100%}
}
/* pantallas estrechas (900–1099 px): columnas de plan más justas */
@media (min-width:900px) and (max-width:1099px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cm{row-gap:0}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-ct{gap:5px;flex-wrap:nowrap}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cp{white-space:nowrap}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cp small{font-size:10.5px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-off{font-size:10.5px;padding:3px 6px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-card{padding:8px 10px;grid-template-columns:20px 1fr}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-ft{grid-template-columns:1fr!important;font-size:11px}
}
/* pantallas muy bajas (≤ 680 px de alto) */
@media (min-width:900px) and (max-height:680px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-head p{display:none}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gi{width:30px;height:30px;border-radius:10px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gi svg{width:18px;height:18px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gt small{font-size:11.5px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-card{padding:6px 10px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-gb{gap:4px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-gh{padding-top:8px!important;padding-bottom:6px!important}
}
/* 1.10.6 · Proporciones del contenedor 02: Básico (con sus 5 planes) más ancho que Estándar/Premium ("Próximamente"),
   planes en dos líneas (nombre + precio / prueba gratis) que se reparten el alto del grupo; el último plan nunca se recorta. */
@media (min-width:900px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-field-subscriptions{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr) minmax(0,1fr)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-gb{display:flex!important;flex-direction:column;overflow-y:auto;scrollbar-width:thin}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-plan{flex:1 1 auto;min-height:0;display:flex;margin:0!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-plan .pmsw-card{flex:1 1 auto;display:grid;align-content:center;align-items:center;min-height:0;padding-top:4px;padding-bottom:4px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;column-gap:8px;row-gap:1px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-ct{flex:0 1 auto;flex-wrap:nowrap;gap:6px;white-space:nowrap}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cp{flex:none;white-space:nowrap;display:flex;align-items:baseline;gap:4px;margin-left:auto}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-tr{flex:0 0 100%;font-size:clamp(11px,1.6vh,12.5px);line-height:1.2}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-rad{align-self:center;margin-top:0}
}
@media (min-width:900px) and (max-height:700px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-card{padding-top:3px;padding-bottom:3px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp:not(.is-locked) .pmsw-gb{gap:3px;padding-bottom:6px}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp .pmsw-cp strong{font-size:15px}
}
@media (min-width:900px) and (max-width:1099px){
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pms-field-subscriptions{grid-template-columns:minmax(0,2.3fr) minmax(0,1fr) minmax(0,1fr)}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp.is-locked .pmsw-gi{display:none}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp.is-locked .pmsw-gh{padding-left:8px!important;padding-right:8px!important}
  .pmsw-fs-card .pmsw-stage[data-step="1"] .pmsw-grp.is-locked .pmsw-lock{font-size:9.5px;letter-spacing:.02em;padding:6px 4px}
}
/* Escritorio · etapa 2 "Pago y confirmación" (1.10.7): "Método de pago" y "Resumen de compra" con la misma altura y todo dentro de la pantalla, sin scroll.
   El formulario de Stripe (tema oscuro, ver PMS Registration Wizard 1.4.0) va en una tarjeta oscura igual que las de la etapa 1. */
@media (min-width:900px){
  .pmsw-fs-card:has(.pmsw-stage[data-step="3"]){height:100vh;height:100dvh;min-height:0;overflow:hidden;padding-bottom:clamp(10px,2.2vh,22px)}
  .pmsw-fs-card:has(.pmsw-stage[data-step="3"]) .pmsw-fs-body{flex:1 1 auto;min-height:0;display:flex}
  .pmsw-fs-card .pmsw-on[data-step="3"]{--s3g:clamp(8px,1.5vh,16px)}
  .pmsw-fs-card .pmsw:has(.pmsw-stage[data-step="3"]){flex:1 1 auto;min-height:0;height:100%;display:flex;padding-bottom:0}
  .pmsw-fs-card .pmsw-stage[data-step="3"]{flex:1 1 auto;min-height:0;height:100%;grid-template-rows:auto auto auto auto minmax(0,1fr) auto}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-dsteps{padding:0 0 var(--s3g)!important;margin:0 auto!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-head{padding-top:0!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-head h2{font-size:clamp(22px,3.6vh,30px)!important;margin:0 0 4px!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-head p{margin:0 0 var(--s3g)!important;font-size:clamp(12.5px,1.8vh,14.5px)!important}
  /* fila principal: pago (izquierda) y resumen (derecha) se estiran a la misma altura */
  .pmsw-fs-card .pmsw-stage[data-step="3"]>.pmsw-sum{grid-row:5!important;position:static!important;align-self:stretch!important;min-height:0;overflow:hidden;
    display:flex!important;flex-direction:column;padding:clamp(14px,2.4vh,22px)!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"]>form.pms-form{grid-row:5;align-self:stretch;min-height:0;position:relative;display:flex;flex-direction:column}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pms-form-fields-wrapper{margin:0!important;padding:0!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pms-paygates-holder{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-width:thin;border-radius:22px;
    padding:clamp(14px,2.4vh,22px) clamp(14px,1.8vw,24px) clamp(40px,6vh,52px)!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pms-paygates-holder::before{margin-bottom:var(--s3g)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-secure{position:absolute;left:clamp(14px,1.8vw,24px);bottom:clamp(10px,1.8vh,16px);margin:0!important}
  .pmsw-fs-card .pmsw-stage[data-step="3"]>.pmsw-actions{grid-row:6;margin-top:0;padding-top:var(--s3g)}
  .pmsw-fs-card .pmsw .pmsw-stage[data-step="3"] .pmsw-actions .pmsw-btn{height:clamp(40px,5.6vh,48px);min-height:clamp(40px,5.6vh,48px)}
  /* resumen: las líneas se reparten el alto libre; total y botón quedan abajo */
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sh{margin-bottom:var(--s3g)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sp{padding:clamp(8px,1.4vh,13px)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sl{flex:1 1 auto;min-height:0;align-content:space-evenly;gap:clamp(4px,1vh,10px);margin:var(--s3g) 0}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-row{font-size:clamp(12px,1.7vh,13.5px)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-total{margin-top:0;padding-top:clamp(8px,1.6vh,16px)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sum .pmsw-total strong{font-size:clamp(20px,3.4vh,26px)}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sum .pmsw-confirm{margin-top:var(--s3g);flex:none}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-cn{font-size:clamp(9.5px,1.35vh,10.5px);margin-top:clamp(6px,1.2vh,10px)!important}
}
@media (min-width:900px) and (max-height:700px){
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-head p{display:none}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sp .pmsw-ico{width:32px;height:32px}
}
/* 1.10.8 · etapa 2: cabecera del método de pago y resumen compactos en pantallas bajas */
@media (min-width:900px){
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-method{margin-bottom:var(--s3g);padding:clamp(8px,1.4vh,13px) 16px}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-sl .pmsw-row{padding:clamp(5px,1.2vh,12px) 0}
}
@media (min-width:900px) and (max-height:780px){
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-mt small{display:none}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-mi{width:26px;height:26px}
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-mi svg{width:22px;height:22px}
}
@media (min-width:900px) and (max-height:640px){
  .pmsw-fs-card .pmsw-stage[data-step="3"] .pmsw-method{display:none}
}
/* la tarjeta de Stripe es clara: se mantiene legible sobre cualquier tema */
.pmsw-fs-card .pmsw .pms-paygates-holder{border-radius:16px}

/* =========================================================
   1.10.9 · MÓVIL
   - Insignia del modal de acceso: icono de "iniciar sesión" o de "registrarse" según el modo (data-mode).
   - Lightbox de suscripción: sin corona; los pasos arrancan a la altura de la "x" de cerrar.
   ========================================================= */

@media (max-width:899px){
  /* "x": top 14px (móvil) / 22px (768+), 44px de alto. Los círculos de los pasos miden 30px: el centro de ambos coincide. */
  .pmsw-fs-card{padding-top:calc(env(safe-area-inset-top,0px) + 21px)}
  .pmsw-fs-card .pmsw-steps:not(.pmsw-dsteps){margin-top:0}
}
@media (min-width:768px) and (max-width:899px){
  .pmsw-fs-card{padding-top:calc(env(safe-area-inset-top,0px) + 29px)}
}
/* En pantallas estrechas los pasos ocupan todo el ancho: se deja libre el hueco de la "x" para que no se solapen. */
@media (max-width:560px){
  .pmsw-fs-card .pmsw-steps:not(.pmsw-dsteps){margin-right:48px}
}

