/*
 * Páginas de cuenta y pago de Paid Memberships Pro (módulo Páginas de cuenta y pago).
 * Solo variables del kit «Omnes Kit 2026» (colores y tipografías globales): ningún valor fijo de color ni de familia.
 * Se carga solo en las páginas de PMPro que tengan el estilo encendido (ajustes del módulo).
 *
 * Colores del kit: Verde Profundo 0731c04 · Dorado Premium c3034f4 · Cloud Dancer c9d8e7f · White 4cef510 ·
 * Bordes-New 42a09e1 · Gris Texto a6b7c8d · Texto · Énfasis (accent) · Menta 04d7145.
 * Tipografías del kit: Título categoría f6a7b8c · Título columna c1d2e3f · Texto acceso f4b0d62 ·
 * Antetítulo acceso a1c4e72 · Botones 16b0b1f · Texto (text).
 */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) {
	--aom-verde: var(--e-global-color-0731c04);
	--aom-verde-oscuro: color-mix(in srgb, var(--e-global-color-0731c04) 88%, var(--e-global-color-b57e532));
	--aom-dorado: var(--e-global-color-c3034f4);
	--aom-cloud: var(--e-global-color-c9d8e7f);
	--aom-blanco: var(--e-global-color-4cef510);
	--aom-borde: var(--e-global-color-42a09e1);
	--aom-gris: var(--e-global-color-a6b7c8d);
	--aom-texto: var(--e-global-color-text);
	--aom-enfasis: var(--e-global-color-accent);
	--aom-menta: var(--e-global-color-04d7145);

	/* Variables de PMPro */
	--pmpro--color--base: var(--aom-blanco);
	--pmpro--color--white: var(--aom-blanco);
	--pmpro--color--contrast: var(--aom-texto);
	--pmpro--color--accent: var(--aom-verde);
	--pmpro--color--accent--variation: var(--aom-verde-oscuro);
	--pmpro--color--border: var(--aom-borde);
	--pmpro--color--border--variation: var(--aom-borde);
	--pmpro--base--border-radius: 16px;
	--pmpro--box-shadow: none;
	--pmpro--base--spacing--small: 14px;
	--pmpro--base--spacing--medium: 22px;
	--pmpro--base--spacing--large: 32px;
	/* Avisos: ni rojo ni verde de sistema, solo el kit */
	--pmpro--color--info-background: var(--aom-cloud);
	--pmpro--color--info-border: var(--aom-borde);
	--pmpro--color--info-text: var(--aom-verde);
	--pmpro--color--info-link: var(--aom-verde);
	--pmpro--color--success-background: var(--aom-cloud);
	--pmpro--color--success-border: var(--aom-borde);
	--pmpro--color--success-text: var(--aom-verde);
	--pmpro--color--success-link: var(--aom-verde);
	--pmpro--color--alert-background: var(--aom-blanco);
	--pmpro--color--alert-border: var(--aom-borde);
	--pmpro--color--alert-text: var(--aom-texto);
	--pmpro--color--alert-link: var(--aom-verde);
	--pmpro--color--error-background: var(--aom-blanco);
	--pmpro--color--error-border: var(--aom-borde);
	--pmpro--color--error-text: var(--aom-texto);
	--pmpro--color--error-link: var(--aom-verde);
}

/* ------------------------------------------------------------------ Base */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro, .pmpro_form) {
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro a:not(.pmpro_btn):not(.elementor-button) {
	color: var(--aom-verde);
	text-decoration: underline;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro a:not(.pmpro_btn):not(.elementor-button):is(:hover, :focus-visible) {
	color: var(--aom-enfasis);
}

/* ---------------------------------------------------------------- Tarjetas */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card {
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-borde);
	border-radius: 16px;
	box-shadow: none;
	margin: 0 0 22px;
	overflow: hidden;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_content {
	padding: 32px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_actions {
	background-color: var(--aom-cloud);
	border-top: 1px solid var(--aom-borde);
	border-bottom: 0;
	padding: 16px 32px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_card_title, .pmpro_form_heading, .pmpro_form_legend h2, .pmpro_form_legend h3) {
	font-family: var(--e-global-typography-c1d2e3f-font-family), Georgia, serif;
	font-size: var(--e-global-typography-c1d2e3f-font-size);
	font-weight: var(--e-global-typography-c1d2e3f-font-weight);
	line-height: var(--e-global-typography-c1d2e3f-line-height);
	letter-spacing: normal;
	text-transform: none;
	color: var(--aom-texto);
	margin: 0;
	padding: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_title {
	padding: 32px 32px 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_fieldset {
	border: 0;
	margin: 0;
	padding: 0;
	min-width: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_legend {
	display: block;
	width: 100%;
	margin: 0 0 20px;
	padding: 0;
	border: 0;
}

/* ---------------------------------------------------------------- Campos */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_fields {
	display: grid;
	gap: 16px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_fields.pmpro_cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_field {
	margin: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_label {
	display: block;
	margin: 0 0 6px;
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_asterisk abbr,
:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_asterisk abbr[title] {
	color: var(--aom-gris);
	text-decoration: none;
	border: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_form_input, select.pmpro_form_input, textarea.pmpro_form_input) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	height: 48px;
	padding: 0 14px;
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-borde);
	border-radius: 10px;
	box-shadow: none;
	color: var(--aom-texto);
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 15px;
	line-height: 1.4;
	transition: border-color .18s ease;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) textarea.pmpro_form_input {
	height: auto;
	min-height: 112px;
	padding: 12px 14px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) select.pmpro_form_input {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 40px;
	background-image: linear-gradient(45deg, transparent 50%, var(--aom-gris) 50%), linear-gradient(135deg, var(--aom-gris) 50%, transparent 50%);
	background-position: calc(100% - 20px) 21px, calc(100% - 15px) 21px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_input::placeholder {
	color: var(--aom-gris);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_input:is(:focus, :focus-visible) {
	border-color: var(--aom-verde);
	outline: 2px solid var(--aom-verde);
	outline-offset: 2px;
	box-shadow: none;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_input.pmpro_form_input-error {
	border-color: var(--aom-dorado);
	background-color: var(--aom-blanco);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_hint {
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: var(--aom-gris);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_field-password-toggle {
	margin-top: 8px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_btn-password-toggle:is(:link, :visited, :hover, :focus, :active) {
	background: none;
	border: 1px solid transparent;
	border-radius: 8px;
	box-shadow: none;
	color: var(--aom-gris);
	font-size: 13px;
	padding: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_btn-password-toggle:focus-visible {
	outline: 2px solid var(--aom-verde);
	outline-offset: 2px;
}

/* Campos de tarjeta de Stripe (los iframes los pinta Stripe dentro de estos contenedores) */
:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(#AccountNumber, #Expiry, #CVV) {
	box-sizing: border-box;
	min-height: 48px;
	padding: 14px;
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-borde);
	border-radius: 10px;
	transition: border-color .18s ease;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .StripeElement--focus {
	border-color: var(--aom-verde);
	outline: 2px solid var(--aom-verde);
	outline-offset: 2px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .StripeElement--invalid {
	border-color: var(--aom-dorado);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_payment-request-button {
	margin-bottom: 20px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) #payment-request-button {
	border-radius: 10px;
	overflow: hidden;
}

/* --------------------------------------------------------------- Botones */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_btn, input[type="submit"]):not(.pmpro_btn-cancel):not(.pmpro_btn-outline) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 24px;
	background-color: var(--aom-verde);
	border: 1px solid var(--aom-verde);
	border-radius: 10px;
	box-shadow: none;
	color: var(--aom-blanco);
	cursor: pointer;
	font-family: var(--e-global-typography-16b0b1f-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-16b0b1f-font-size);
	font-weight: var(--e-global-typography-16b0b1f-font-weight);
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	transition: background-color .18s ease, border-color .18s ease;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_btn, input[type="submit"]):not(.pmpro_btn-cancel):not(.pmpro_btn-outline):is(:hover, :focus, :active) {
	background-color: var(--aom-verde-oscuro) !important;
	border-color: var(--aom-verde-oscuro) !important;
	color: var(--aom-blanco) !important;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_btn-cancel, .pmpro_btn-outline, button[name="cancel"]) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: 48px;
	padding: 0 24px;
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-verde);
	border-radius: 10px;
	box-shadow: none;
	color: var(--aom-verde);
	cursor: pointer;
	font-family: var(--e-global-typography-16b0b1f-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-16b0b1f-font-size);
	font-weight: var(--e-global-typography-16b0b1f-font-weight);
	text-decoration: none;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_btn-cancel, .pmpro_btn-outline, button[name="cancel"]):is(:hover, :focus, :active) {
	background-color: var(--aom-cloud) !important;
	border-color: var(--aom-verde) !important;
	color: var(--aom-verde) !important;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_btn, input[type="submit"], .pmpro_btn-cancel, .pmpro_btn-outline, button[name="cancel"]):focus-visible {
	outline: 2px solid var(--aom-verde);
	outline-offset: 2px;
}

/* ----------------------------------------------------------------- Avisos */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_message {
	box-shadow: none;
	border-radius: 10px;
	padding: 12px 16px;
	margin: 0 0 20px;
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-f4b0d62-font-size);
	line-height: 1.55;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_message:is(.pmpro_error, .pmpro_alert) {
	border-left: 3px solid var(--aom-dorado);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_tag-success {
	background-color: var(--aom-cloud);
	border: 1px solid var(--aom-borde);
	color: var(--aom-verde);
	font-family: var(--e-global-typography-a1c4e72-font-family), ui-sans-serif, system-ui, sans-serif;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_tag-alert, .pmpro_tag-error) {
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-dorado);
	color: var(--aom-texto);
	font-family: var(--e-global-typography-a1c4e72-font-family), ui-sans-serif, system-ui, sans-serif;
}

/* ----------------------------------------------------------------- Tablas */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table th {
	font-family: var(--e-global-typography-a1c4e72-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-a1c4e72-font-size);
	font-weight: var(--e-global-typography-a1c4e72-font-weight);
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--aom-gris);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table :is(th, td) {
	border-bottom: 1px solid var(--aom-borde);
}

@media (max-width: 767px) {
	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table {
		display: block;
		overflow-x: auto;
	}
}

/* ---------------------------------------------------------------- Pago (checkout) */

body.pmpro-checkout #pmpro_form {
	margin: 0;
}

/* Con sesión, PMPro solo pinta aquí el aviso «has iniciado sesión como…»: lo sustituye la tarjeta de cuenta */
body.pmpro-checkout.omnes-co--con-sesion #pmpro_user_fields {
	display: none;
}

body.pmpro-checkout .omnes-co-head {
	margin: 0 0 24px;
}

body.pmpro-checkout .omnes-co-head__eyebrow {
	display: block;
	margin: 0 0 10px;
	font-family: var(--e-global-typography-a1c4e72-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-a1c4e72-font-size);
	font-weight: var(--e-global-typography-a1c4e72-font-weight);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--aom-dorado);
}

body.pmpro-checkout .omnes-co-head__dot {
	display: none;
}

body.pmpro-checkout .omnes-co-head__title {
	margin: 0;
	font-family: var(--e-global-typography-f6a7b8c-font-family), Georgia, serif;
	font-size: var(--e-global-typography-f6a7b8c-font-size);
	font-weight: var(--e-global-typography-f6a7b8c-font-weight);
	line-height: var(--e-global-typography-f6a7b8c-line-height);
	color: var(--aom-verde);
}

/* Tarjeta del plan: Verde Profundo, con el nombre y el precio que da PMPro */
body.pmpro-checkout .omnes-co-plan {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 22px;
	padding: 30px 32px;
	background-color: var(--aom-verde);
	border-radius: 16px;
}

body.pmpro-checkout :is(.omnes-co-plan__info, .omnes-co-plan__precio) {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

body.pmpro-checkout .omnes-co-plan__precio {
	align-items: flex-end;
	text-align: right;
}

body.pmpro-checkout .omnes-co-plan__eyebrow {
	font-family: var(--e-global-typography-a1c4e72-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: var(--e-global-typography-a1c4e72-font-size);
	font-weight: var(--e-global-typography-a1c4e72-font-weight);
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--aom-menta);
}

body.pmpro-checkout :is(.omnes-co-plan__name, .omnes-co-plan__amount) {
	font-family: var(--e-global-typography-c1d2e3f-font-family), Georgia, serif;
	font-weight: 700;
	line-height: 1.2;
	color: var(--aom-blanco);
}

body.pmpro-checkout .omnes-co-plan__name {
	font-size: clamp(22px, 3vw, 30px);
}

body.pmpro-checkout .omnes-co-plan__amount {
	font-size: clamp(24px, 3.2vw, 32px);
	white-space: nowrap;
}

body.pmpro-checkout :is(.omnes-co-plan__period, .omnes-co-plan__nota) {
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 14px;
	font-weight: 500;
	color: var(--aom-menta);
}

body.pmpro-checkout .omnes-co-plan__nota {
	flex: 1 0 100%;
	margin: 6px 0 0;
}

/* Tarjeta de cuenta */
body.pmpro-checkout .omnes-co-cuenta {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 22px;
	padding: 20px 24px;
	background-color: var(--aom-blanco);
	border: 1px solid var(--aom-borde);
	border-radius: 16px;
}

body.pmpro-checkout .omnes-co-cuenta__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background-color: var(--aom-cloud);
	color: var(--aom-verde);
}

body.pmpro-checkout .omnes-co-cuenta__linea {
	margin: 0;
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 16px;
	line-height: 1.4;
	color: var(--aom-texto);
}

body.pmpro-checkout .omnes-co-cuenta__linea strong {
	font-weight: 700;
}

body.pmpro-checkout .omnes-co-cuenta__sub {
	margin: 2px 0 0;
	font-size: 14px;
	line-height: 1.4;
}

body.pmpro-checkout .omnes-co-cuenta__sub a:not(.pmpro_btn) {
	color: var(--aom-gris);
	text-decoration: none;
}

body.pmpro-checkout .omnes-co-cuenta__sub a:not(.pmpro_btn):is(:hover, :focus-visible) {
	color: var(--aom-verde);
	text-decoration: underline;
}

/* Total y botón de pago */
body.pmpro-checkout .omnes-co-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 22px;
	padding: 20px 4px 0;
	border-top: 1px solid var(--aom-borde);
}

body.pmpro-checkout .omnes-co-total__label {
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 17px;
	font-weight: 700;
	color: var(--aom-texto);
}

body.pmpro-checkout .omnes-co-total__amount {
	font-family: var(--e-global-typography-c1d2e3f-font-family), Georgia, serif;
	font-size: clamp(20px, 2.6vw, 26px);
	font-weight: 700;
	color: var(--aom-verde);
	white-space: nowrap;
}

body.pmpro-checkout .pmpro_form_submit {
	display: block;
	margin: 0;
}

body.pmpro-checkout #pmpro_submit_span {
	display: block;
	width: 100%;
}

body.pmpro-checkout :is(#pmpro_btn-submit, .pmpro_btn-submit-checkout) {
	display: block;
	width: 100%;
	height: 48px;
}

body.pmpro-checkout #pmpro_processing_message {
	margin-top: 14px;
	text-align: center;
	font-size: 15px;
	font-weight: 600;
	color: var(--aom-verde);
}

body.pmpro-checkout .omnes-co-seguro {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 16px 0 0;
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 13px;
	color: var(--aom-gris);
}

body.pmpro-checkout #lerox-sl-pmpro-turnstile {
	margin: 0 0 22px;
}

/* Ajustes del pago (observaciones de E1): caducidad y CVC en dos columnas, aire bajo la frase del regalo y sin hueco antes de «Pagar con tarjeta» */
:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_cols-2:not(.pmpro_form_fields) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 20px;
}

body.pmpro-checkout #aom_regalo .pmpro_card_content > p {
	margin: 0 0 20px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) #payment-request-button:empty {
	display: none;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_payment-request-button:has(:is(#payment-request-button:empty, #payment-request-button[style*="display: none"])) {
	margin-bottom: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_payment-request-button .pmpro_form_heading {
	margin: 0;
}

@media (max-width: 767px) {
	body.pmpro-checkout .omnes-co-plan {
		padding: 24px 20px;
	}

	body.pmpro-checkout .omnes-co-plan__precio {
		align-items: flex-start;
		text-align: left;
	}

	body.pmpro-checkout .omnes-co-cuenta {
		padding: 18px 20px;
	}

	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_content {
		padding: 22px 20px 26px;
	}

	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_actions {
		padding: 14px 20px;
	}

	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_form_fields.pmpro_cols-2, .pmpro_cols-2:not(.pmpro_form_fields)) {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------- Páginas de cuenta (facturación, cancelación, confirmación, pedidos y factura, perfil) */

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card > h2.pmpro_card_title {
	padding: 32px 32px 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card > .pmpro_card_title + .pmpro_card_content {
	padding-top: 18px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card_title:has(.pmpro_tag) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_tag {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_section_title {
	margin: 0 0 20px;
	font-family: var(--e-global-typography-c1d2e3f-font-family), Georgia, serif;
	font-size: var(--e-global-typography-c1d2e3f-font-size);
	font-weight: var(--e-global-typography-c1d2e3f-font-weight);
	line-height: var(--e-global-typography-c1d2e3f-line-height);
	letter-spacing: normal;
	text-transform: none;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_list.pmpro_cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 20px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_cols-2 > * {
	width: auto;
	min-width: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_list_item_label {
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 14px;
	color: var(--aom-gris);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_spacer {
	height: 0;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(#pmpro_order_single-items h3, h3.pmpro_font-large) {
	margin: 0 0 16px;
	font-family: var(--e-global-typography-c1d2e3f-font-family), Georgia, serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table thead th {
	border-top: 0;
	text-align: left;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table tbody th {
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: normal;
	text-transform: none;
	text-align: left;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_table td {
	font-family: var(--e-global-typography-text-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 15px;
	color: var(--aom-texto);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_btn-plain {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 0;
	background: none;
	border: 0;
	border-radius: 6px;
	box-shadow: none;
	color: var(--aom-verde);
	cursor: pointer;
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 14px;
	text-decoration: underline;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_btn-plain:is(:hover, :focus-visible) {
	background: none;
	color: var(--aom-enfasis);
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_btn-plain:focus-visible {
	outline: 2px solid var(--aom-verde);
	outline-offset: 2px;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_form_field .pmpro_btn.pmpro_btn-password-toggle:is(:link, :visited, :hover, :focus, :active) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 0;
	height: auto;
	padding: 2px 0;
	background: none !important;
	border: 0 !important;
	border-radius: 6px;
	box-shadow: none;
	color: var(--aom-gris) !important;
	font-family: var(--e-global-typography-f4b0d62-font-family), ui-sans-serif, system-ui, sans-serif;
	font-size: 13px;
	font-weight: 500;
	text-decoration: none;
}

:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_actions_nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px 20px;
	margin-top: 8px;
	font-size: 15px;
}

body.pmpro-billing .pmpro_form_submit {
	margin-top: 24px;
}

@media (prefers-reduced-motion: reduce) {
	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) :is(.pmpro_form_input, #AccountNumber, #Expiry, #CVV, .pmpro_btn, input[type="submit"]) {
		transition: none;
	}
}

/* Móvil de las páginas de cuenta (después de las reglas base para que ganen) */
@media (max-width: 767px) {
	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_list.pmpro_cols-2 {
		grid-template-columns: 1fr;
	}

	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_card > h2.pmpro_card_title {
		padding: 22px 20px 0;
	}

	:is(body.pmpro-checkout, body.pmpro-billing, body.pmpro-cancel, body.pmpro-confirmation, body.pmpro-invoice, body.pmpro-member-profile-edit) .pmpro_actions_nav {
		flex-direction: column;
	}
}
