/*
Theme Name:   JP Fisioterapia
Description:  Tema hijo de Astra para personalizaciones de JP Fisioterapia.
Author:       JP Fisioterapia
Template:     astra
Version:      1.5.5
License:      GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: jpfisioterapia-child
*/

/* Añade aquí CSS personalizado que sobrescriba o amplíe Astra. */

img.attachment-large.size-large.wp-post-image {
	object-fit: cover;
}

.jpf-favorite,
.jpf-exercise-log,
.jpf-session-feedback,
.jpf-curso-peso {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #d9d9df;
	border-radius: 10px;
	background: #fff;
}

.jpf-curso-peso__title {
	margin: 0 0 0.75rem;
	font-weight: 600;
}

.jpf-curso-peso__actions-top {
	margin-bottom: 1rem;
}

.jpf-curso-peso__toggle {
	display: inline-block;
	border: 2px solid #1f5fbf;
	border-radius: 8px;
	padding: 0.6rem 1rem;
	background: #fff;
	color: #1f5fbf;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
}

.jpf-curso-peso__toggle:hover {
	background: #f0f5ff;
}

.jpf-curso-peso__toggle.is-pressed,
.jpf-curso-peso__toggle[aria-pressed='true'] {
	background: #1f5fbf;
	color: #fff;
}

.jpf-curso-peso__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.jpf-curso-peso__field--date {
	max-width: 220px;
}

.jpf-curso-peso__field span {
	display: block;
	font-size: 0.9rem;
	margin-bottom: 0.35rem;
}

.jpf-curso-peso__field input {
	width: 100%;
	margin: 0;
}

.jpf-curso-peso__actions-bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.jpf-curso-peso__save {
	border: 0;
	border-radius: 8px;
	padding: 0.55rem 0.9rem;
	background: #1f5fbf;
	color: #fff;
	cursor: pointer;
	font: inherit;
}

.jpf-curso-peso__save:disabled {
	opacity: 0.65;
	cursor: not-allowed;
}

.jpf-curso-peso__msg {
	font-size: 0.9rem;
}

.jpf-curso-peso__msg--error {
	color: #b42318;
}

.jpf-curso-peso__history {
	margin-top: 1rem;
	overflow-x: auto;
}

.jpf-curso-peso__history-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
}

.jpf-curso-peso__history-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.jpf-curso-peso__history-table th,
.jpf-curso-peso__history-table td {
	border: 1px solid #e5e5eb;
	padding: 0.45rem 0.55rem;
	text-align: left;
}

.jpf-curso-peso__history-table th {
	background: #f4f5fb;
	font-weight: 600;
}

@media (max-width: 600px) {
	.jpf-curso-peso__fields {
		grid-template-columns: 1fr;
	}

	.jpf-curso-peso__field--date {
		max-width: none;
	}
}

.jpf-favorite__btn,
.jpf-exercise-log__save,
.jpf-session-feedback__save {
	border: 0;
	border-radius: 8px;
	padding: 0.55rem 0.9rem;
	background: #1f5fbf;
	color: #fff;
	cursor: pointer;
}

.jpf-favorite__msg,
.jpf-exercise-log__msg,
.jpf-session-feedback__msg {
	display: inline-block;
	margin-left: 0.65rem;
	font-size: 0.9rem;
}

.jpf-log-msg--error,
.jpf-favorite__msg--error {
	color: #b42318;
}

.jpf-exercise-log__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}

.jpf-exercise-log input,
.jpf-exercise-log textarea,
.jpf-session-feedback input,
.jpf-session-feedback textarea,
.jpf-session-feedback select {
	width: 100%;
	margin-top: 0.35rem;
}

.jpf-exercise-log__title,
.jpf-session-feedback__title {
	margin: 0 0 0.5rem;
	font-weight: 600;
}

.jpf-exercise-log__row--date {
	grid-template-columns: minmax(0, 1fr);
	max-width: 220px;
}

.jpf-exercise-log__history {
	margin-top: 1rem;
	overflow-x: auto;
}

.jpf-exercise-log__history-title {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	font-weight: 600;
}

.jpf-exercise-log__history-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.jpf-exercise-log__history-table th,
.jpf-exercise-log__history-table td {
	border: 1px solid #e5e5eb;
	padding: 0.45rem 0.55rem;
	text-align: left;
	vertical-align: top;
}

.jpf-exercise-log__history-table th {
	background: #f4f5fb;
	font-weight: 600;
}

/* Estilos jpf-student-dash y jpf-saas-dashboard: ver assets/member-panel-design.css */

.jpf-student-dash {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
}

.jpf-student-dash__header {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
}

.jpf-student-dash__title {
	margin: 0;
}

.jpf-saas-dashboard {
	margin: 0;
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

.jpf-saas-dashboard--guest {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #e4e7ef;
	border-radius: 10px;
	background: #fff;
}

.jpf-saas-dashboard__hero {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1rem;
}

.jpf-saas-dashboard__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0 0 0.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #334b9d;
}

.jpf-saas-dashboard__title {
	margin: 0;
	font-size: clamp(1.25rem, 2.8vw, 1.9rem);
	line-height: 1.2;
}

.jpf-saas-dashboard__subtitle {
	margin: 0.3rem 0 0;
	color: #5f6275;
}

.jpf-saas-dashboard__hero-user {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	border: 1px solid #d9dff0;
	background: #fff;
}

.jpf-saas-dashboard__avatar {
	border-radius: 999px;
}

.jpf-saas-dashboard__user-name {
	margin: 0;
	font-weight: 600;
}

.jpf-saas-dashboard__user-meta {
	margin: 0.1rem 0 0;
	font-size: 0.85rem;
	color: #6b7280;
}

.jpf-saas-dashboard__quick-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.65rem;
	margin-bottom: 0.9rem;
}

.jpf-saas-dashboard__quick-card {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.55rem 0.65rem;
	border: 1px solid #d9dff0;
	border-radius: 10px;
	background: #fff;
	color: #1f2c5b;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.jpf-saas-dashboard__quick-card:hover {
	border-color: #afbbdf;
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(25, 38, 74, 0.12);
}

.jpf-saas-dashboard__modules {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.jpf-saas-dashboard__module {
	padding: 0.8rem;
	border: 1px solid #dfe4f2;
	border-radius: 12px;
	background: #fff;
}

.jpf-saas-dashboard__module-head h3 {
	margin: 0 0 0.55rem;
	font-size: 1rem;
}

@media (max-width: 900px) {
	.jpf-saas-dashboard__quick-grid {
		grid-template-columns: 1fr;
	}
}

.jpf-student-dash__subtitle {
	margin: 0.25rem 0 0;
	color: #5f6275;
}

.jpf-student-dash__user {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.jpf-student-dash__cards {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
}

.jpf-student-dash__card {
	border: 1px solid #ececf3;
	border-radius: 10px;
	padding: 0.8rem;
	background: #fafafe;
}

.jpf-student-dash__card-label {
	margin: 0;
	font-size: 0.85rem;
	color: #5f6275;
}

.jpf-student-dash__card-value {
	margin: 0.2rem 0 0;
	font-size: 1.4rem;
	font-weight: 700;
}

.jpf-student-dash__progress {
	margin-top: 1rem;
	width: 100%;
	height: 10px;
	border-radius: 999px;
	background: #ebedf5;
	overflow: hidden;
}

.jpf-student-dash__progress-fill {
	height: 100%;
	background: #1f5fbf;
}

.jpf-student-dash__progress-label {
	margin-top: 0.5rem;
	font-size: 0.92rem;
}

.jpf-student-dash__progress-meta {
	margin: 0.35rem 0 0;
	font-size: 0.85rem;
	color: #64748b;
	line-height: 1.45;
}

.jpf-student-dash__row--locked td {
	color: #64748b;
}

.jpf-student-dash__program-title {
	font-weight: 600;
}

.jpf-program-single-auto {
	margin-top: 1.5rem;
}

.jpf-student-dash__programs {
	margin-top: 1.2rem;
}

.jpf-student-dash__table-wrap {
	margin-top: 0.55rem;
	overflow-x: auto;
}

.jpf-student-dash__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.92rem;
}

.jpf-student-dash__table th,
.jpf-student-dash__table td {
	padding: 0.52rem 0.58rem;
	border: 1px solid #e8eaf2;
	text-align: left;
	vertical-align: top;
}

.jpf-student-dash__table th {
	background: #f4f5fb;
	font-weight: 600;
}

.jpf-student-dash__history-list {
	margin: 0;
	padding-left: 1rem;
}

.jpf-student-dash__history-list li {
	margin: 0 0 0.2rem;
}

.jpf-favorite--table {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.jpf-favorite--table .jpf-favorite__btn {
	padding: 0.35rem 0.55rem;
	font-size: 0.82rem;
}

.jpf-favorite--table .jpf-favorite__msg {
	margin-left: 0.35rem;
	font-size: 0.8rem;
}

@media (max-width: 900px) {
	.jpf-student-dash__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.jpf-pricing-grid {
	margin: 1rem 0;
	padding: 1rem;
	border: 1px solid #e7e8ef;
	border-radius: 14px;
	background: #fff;
}

.jpf-pricing-grid__header h2 {
	margin: 0;
}

.jpf-pricing-grid__header p {
	margin: 0.35rem 0 0;
	color: #5f6275;
}

.jpf-pricing-grid__cards {
	margin-top: 1rem;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.85rem;
}

.jpf-pricing-grid__card {
	border: 1px solid #e3e5ef;
	border-radius: 12px;
	background: #fff;
	padding: 1rem;
	box-shadow: 0 8px 20px rgba(28, 35, 66, 0.06);
}

.jpf-pricing-grid__card.is-featured {
	border-color: #245ac0;
	box-shadow: 0 12px 24px rgba(36, 90, 192, 0.14);
}

.jpf-pricing-grid__card.is-selected {
	border-color: var(--ast-global-color-0, #1f5fbf);
	box-shadow: 0 0 0 1px var(--ast-global-color-0, #1f5fbf);
}

.jpf-pricing-grid__card.is-featured.is-selected {
	box-shadow: 0 0 0 1px var(--ast-global-color-0, #1f5fbf), 0 12px 24px rgba(36, 90, 192, 0.12);
}

.jpf-pricing-grid__plan {
	margin: 0;
	font-weight: 700;
}

.jpf-pricing-grid__price {
	margin: 0.45rem 0 0;
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1.1;
}

.jpf-pricing-grid__period {
	margin: 0.35rem 0 0;
	color: #5f6275;
}

.jpf-pricing-grid__desc {
	margin: 0.8rem 0 0;
	font-size: 0.92rem;
	color: #2f3347;
}

.jpf-pricing-grid__cta-wrap {
	margin-top: 0.9rem;
}

.jpf-pricing-grid__cta {
	display: inline-block;
	padding: 0.5rem 0.85rem;
	border-radius: 8px;
	background: var(--ast-global-color-0, #1f5fbf);
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.jpf-pricing-grid__cta:hover {
	background: #174a9e;
	color: #fff;
}

.jpf-pricing-grid__card.is-selected .jpf-pricing-grid__cta {
	background: #fff;
	color: var(--ast-global-color-0, #1f5fbf);
	box-shadow: inset 0 0 0 2px var(--ast-global-color-0, #1f5fbf);
}

.jpf-pricing-grid__card.is-selected .jpf-pricing-grid__cta:hover {
	background: #f4f7fd;
	color: var(--ast-global-color-0, #1f5fbf);
}

.jpf-pricing-grid__form-help {
	margin: 1.25rem 0 0;
	font-size: 0.92rem;
	color: #5f6275;
}

.jpf-rcp-register-wrap {
	margin-top: 1.25rem;
	padding: 1.5rem 1.35rem 1.75rem;
	border: 1px solid #eef0f5;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 42px -28px rgba(15, 23, 42, 0.12);
	scroll-margin-top: 1.5rem;
}

.jpf-rcp-register-wrap__title {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #1e293b;
}

/*
 * Estilos RCP: bloque del shortcode del tema (.jpf-rcp-register-wrap) y páginas con [register_form]
 * suelto en el contenido (.site-main .entry-content), p. ej. /registro/.
 */
.jpf-rcp-register-wrap .rcp_header,
.site-main .entry-content > .rcp_header {
	margin: 0 0 1rem;
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: #1e293b;
}

/* Cabecera + formulario: una sola tarjeta ligera (Registro en contenido clásico). */
.site-main .entry-content .rcp_header {
	margin-left: auto;
	margin-right: auto;
	max-width: min(100%, 32rem);
}

.site-main .entry-content > .rcp_header {
	margin-bottom: 0;
	padding: 1.35rem 1.5rem 1rem;
	border: 1px solid #eef0f5;
	border-bottom: 0;
	border-radius: 12px 12px 0 0;
	background: #fff;
	box-shadow: none;
}

.site-main .entry-content > form.rcp_form {
	margin: 0 auto 1.75rem;
	max-width: min(100%, 32rem);
	padding: 1.25rem 1.5rem 1.75rem;
	border: 1px solid #eef0f5;
	border-top: 1px solid #f1f5f9;
	border-radius: 0 0 12px 12px;
	background: #fff;
	box-shadow: 0 18px 48px -32px rgba(15, 23, 42, 0.14);
}

/*
 * Astra usa a veces --ast-global-color-0 en verde (#bcf33c); dentro del registro RCP forzamos azul marca.
 */
#rcp_registration_form.rcp_form {
	--ast-global-color-0: #1f5fbf;
	--ast-global-color-1: #174a9e;
}

.jpf-rcp-register-wrap .rcp_form,
.site-main .entry-content .rcp_form {
	font-family: inherit;
}

.jpf-rcp-register-wrap .rcp_form input[type="text"],
.jpf-rcp-register-wrap .rcp_form input[type="email"],
.jpf-rcp-register-wrap .rcp_form input[type="password"],
.jpf-rcp-register-wrap .rcp_form input[type="url"],
.jpf-rcp-register-wrap .rcp_form select,
.jpf-rcp-register-wrap .rcp_form textarea,
.site-main .entry-content .rcp_form input[type="text"],
.site-main .entry-content .rcp_form input[type="email"],
.site-main .entry-content .rcp_form input[type="password"],
.site-main .entry-content .rcp_form input[type="url"],
.site-main .entry-content .rcp_form select,
.site-main .entry-content .rcp_form textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-top: 0.28rem;
	padding: 0.62rem 0.75rem;
	border: 1px solid #e8eaef;
	border-radius: 8px;
	font-family: inherit;
	font-size: 0.9375rem;
	background: #fafbfc;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

.jpf-rcp-register-wrap .rcp_form input:focus,
.jpf-rcp-register-wrap .rcp_form select:focus,
.jpf-rcp-register-wrap .rcp_form textarea:focus,
.site-main .entry-content .rcp_form input:focus,
.site-main .entry-content .rcp_form select:focus,
.site-main .entry-content .rcp_form textarea:focus {
	outline: none;
	background: #fff;
	border-color: #1f5fbf;
	box-shadow: 0 0 0 2px rgba(31, 95, 191, 0.12);
}

.jpf-rcp-register-wrap .rcp_form label,
.site-main .entry-content .rcp_form label {
	font-weight: 500;
	font-size: 0.8125rem;
	color: #64748b;
	letter-spacing: 0.01em;
}

.jpf-rcp-register-wrap .rcp_submit_wrap,
.jpf-rcp-register-wrap #rcp_submit_wrap,
.site-main .entry-content .rcp_submit_wrap,
.site-main .entry-content #rcp_submit_wrap {
	margin-top: 1.35rem;
}

.site-main .entry-content .rcp_discounts_fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.jpf-rcp-register-wrap .rcp-button,
.jpf-rcp-register-wrap .rcp_button,
.jpf-rcp-register-wrap #rcp_submit,
.jpf-rcp-register-wrap input[type="submit"].rcp-button,
.site-main .entry-content .rcp-button,
.site-main .entry-content .rcp_button,
.site-main .entry-content #rcp_submit,
.site-main .entry-content input[type="submit"].rcp-button {
	padding: 0.55rem 1.1rem;
	border: 0;
	border-radius: 8px;
	background: #1f5fbf;
	color: #fff;
	font-family: inherit;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s ease;
}

.jpf-rcp-register-wrap .rcp-button:hover,
.jpf-rcp-register-wrap .rcp_button:hover,
.jpf-rcp-register-wrap #rcp_submit:hover,
.site-main .entry-content .rcp-button:hover,
.site-main .entry-content .rcp_button:hover,
.site-main .entry-content #rcp_submit:hover {
	background: #174a9e;
}

.jpf-rcp-register-wrap .rcp_description,
.site-main .entry-content .rcp_description {
	margin-bottom: 1rem;
	font-size: 0.95rem;
	color: #5f6275;
}

.jpf-rcp-register-wrap .rcp_description p,
.site-main .entry-content .rcp_description p {
	margin: 0 0 0.5rem;
}

/* [register_form] con varios niveles: tarjetas suaves, poco ruido visual. */
.site-main .entry-content .rcp_subscription_fieldset {
	border: 0;
	padding: 0;
	margin: 1.25rem 0 0;
}

.site-main .entry-content .rcp_subscription_message {
	margin: 0 0 0.75rem;
	font-weight: 600;
	font-size: 0.75rem;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #94a3b8;
}

.site-main .entry-content #rcp_subscription_levels {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.5rem;
}

.site-main .entry-content .rcp_subscription_level {
	position: relative;
	margin: 0;
	padding: 0.85rem 0.9rem 0.85rem 2.4rem;
	border: 1px solid transparent;
	border-radius: 10px;
	background: #f8fafc;
	transition: border-color 0.15s ease, background 0.15s ease;
}

.site-main .entry-content .rcp_subscription_level:has(.rcp_level:checked) {
	background: #fff;
	border-color: #1f5fbf;
	box-shadow: none;
}

.site-main .entry-content .rcp_subscription_level .rcp_level {
	float: none;
	position: absolute;
	left: 0.9rem;
	top: 1rem;
	margin: 0;
	width: auto;
	accent-color: #1f5fbf;
}

.site-main .entry-content .rcp_form input[type="checkbox"] {
	accent-color: #1f5fbf;
}

.site-main .entry-content .rcp_subscription_level label {
	display: block;
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.site-main .entry-content .rcp_level_description {
	font-size: 0.875rem;
	color: #64748b;
	font-weight: 400;
	margin-top: 0.45rem;
	line-height: 1.45;
}

.site-main .entry-content .rcp_subscription_level_name,
.site-main .entry-content .rcp_price {
	color: #1e293b;
	font-weight: 600;
}

.site-main .entry-content .rcp_login_link {
	margin-bottom: 1.1rem;
	font-size: 0.875rem;
	color: #64748b;
	line-height: 1.5;
}

.site-main .entry-content .rcp_login_link a {
	color: #1f5fbf;
	text-decoration: none;
	font-weight: 500;
}

.site-main .entry-content .rcp_login_link a:hover {
	text-decoration: underline;
}

.site-main .entry-content .rcp_registration_total {
	margin-top: 1rem;
}

.site-main .entry-content .rcp_gateway_fields {
	margin-top: 1.35rem;
	padding-top: 1.35rem;
	border-top: 1px solid #f1f5f9;
}

.site-main .entry-content .rcp_user_fieldset p {
	margin: 0 0 0.72rem;
}

/* Resumen de totales RCP: tabla ligera. */
.site-main .entry-content .rcp_registration_total .rcp_registration_total_details,
.site-main .entry-content table.rcp_registration_total_details {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	font-size: 0.875rem;
	color: #475569;
	border: 1px solid #f1f5f9;
	border-radius: 10px;
	overflow: hidden;
	background: #fafbfc;
}

.site-main .entry-content .rcp_registration_total_details td,
.site-main .entry-content .rcp_registration_total_details th {
	border: none;
	border-bottom: 1px solid #f1f5f9;
	padding: 0.65rem 0.85rem;
	vertical-align: top;
}

.site-main .entry-content .rcp_registration_total_details tr:last-child td {
	border-bottom: none;
}

.site-main .entry-content .rcp_registration_total_details td:first-child {
	color: #64748b;
	font-weight: 500;
	width: 42%;
}

/* Stripe / campo tarjeta: mismo lenguaje que el resto del formulario. */
.site-main .entry-content .rcp_card_fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}

.site-main .entry-content #rcp_card_name_wrap {
	margin-bottom: 0.85rem;
}

.site-main .entry-content #rcp_card_wrap {
	min-height: 44px;
	margin-bottom: 0.85rem;
	box-sizing: border-box;
}

.site-main .entry-content #rcp_auto_renew_wrap {
	margin-top: 1rem;
	font-size: 0.875rem;
	color: #64748b;
}

.site-main .entry-content #rcp_auto_renew_wrap label {
	font-size: 0.875rem;
	color: #475569;
}

/* Enlaces dentro del formulario: azul marca (no el verde del personalizador Astra). */
.site-main .entry-content .rcp_form a:not(.rcp-button):not(#rcp_apply_discount) {
	color: #1f5fbf;
}

.site-main .entry-content .rcp_subscription_fieldset::after {
	content: "";
	display: table;
	clear: both;
}

.site-main .entry-content #rcp_apply_discount.rcp_button,
.site-main .entry-content #rcp_apply_discount.rcp-button {
	background: #f1f5f9;
	color: #334155;
	font-weight: 600;
	border: 1px solid #e2e8f0;
}

.site-main .entry-content #rcp_apply_discount.rcp_button:hover,
.site-main .entry-content #rcp_apply_discount.rcp-button:hover {
	background: #e8eef4;
	color: #1e293b;
}

/* Registro RCP: forzar una sola columna (ancho cómodo, centrado). */
.site-main .entry-content #rcp_registration_form.rcp_form {
	display: block !important;
	max-width: min(100%, 32rem);
	margin-left: auto;
	margin-right: auto;
}

.site-main .entry-content #rcp_registration_form.rcp_form .rcp_registration_total_details,
.site-main .entry-content #rcp_registration_form.rcp_form .rcp-table {
	width: 100%;
}

.site-main .entry-content #rcp_registration_form.rcp_form > #rcp_submit_wrap {
	width: 100%;
	max-width: 100%;
}

.site-main .entry-content #rcp_registration_form.rcp_form > #rcp_submit_wrap .rcp-button,
.site-main .entry-content #rcp_registration_form.rcp_form > #rcp_submit_wrap #rcp_submit {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.site-main .entry-content #rcp_registration_form.rcp_form > .rcp_subscription_fieldset {
	margin-top: 1.25rem;
}

@media (max-width: 640px) {
	.site-main .entry-content .rcp_user_fieldset .inline,
	.site-main .entry-content .rcp_user_fieldset .inline-block {
		display: block;
		width: 100%;
		float: none;
	}
}

/* Un solo plan incrustado con [jpf_registro_plan] (mismos estilos que el bloque de la grid). */
.jpf-rcp-register-wrap--solo {
	margin-top: 1rem;
}

.jpf-pricing-grid__notice {
	margin: 1rem 0;
	color: #8c2d1c;
}

@media (max-width: 980px) {
	.jpf-pricing-grid__cards {
		grid-template-columns: 1fr;
	}
}
