/* Remedycell — Widget Política de Privacidad
   Basado en el home y /remedyclub: títulos peso normal + negrita, barra turquesa,
   tarjetas blancas con sombra suave, filas grises tipo FAQ, botones redondeados 30px. */
.rcp {
	--rcp-primary: #3fd3c4;
	--rcp-dark: #000;
	--rcp-text: #141414;
	--rcp-muted: #4a4a4a;
	--rcp-gray: #F3F3F3;
	--rcp-row: #F7F7F7;
	--rcp-soft: #E8F9F7;
	--rcp-shadow: 0 0 10px rgba(0, 0, 0, .09);
	--rcp-radius: 50px;
	--rcp-radius-md: 30px;
	--rcp-offset: 130px;
	max-width: 1450px; margin: 0 auto;
	font-family: "Montserrat", sans-serif; color: var(--rcp-text);
	font-size: 16px; line-height: 1.6;
}
.rcp *, .rcp *::before, .rcp *::after { box-sizing: border-box; }
.rcp p { margin: 0 0 14px; }
.rcp strong { font-weight: 700; }
.rcp a { color: var(--rcp-text); font-weight: 600; text-decoration: underline; text-decoration-color: var(--rcp-primary); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.rcp a:hover { color: var(--rcp-primary); }
.rcp-ico { width: 44px; height: 44px; color: var(--rcp-primary); flex: 0 0 auto; stroke-width: 1.8; }

/* Barra turquesa bajo títulos (como en el sitio) */
.rcp-divider { display: block; width: 60px; height: 4px; background: var(--rcp-primary); margin: 0 0 26px; }

.rcp-eyebrow { font-size: 15px; font-weight: 600; color: var(--rcp-primary); margin-bottom: 10px !important; }

/* ---------- Hero ---------- */
.rcp-hero {
	position: relative; overflow: hidden;
	background: var(--rcp-gray); border-radius: var(--rcp-radius);
	padding: 72px 64px 64px; margin-bottom: 56px;
}
.rcp-hero::after {
	content: ""; position: absolute; right: -60px; bottom: -120px; width: 380px; height: 380px; border-radius: 50%;
	border: 40px solid var(--rcp-primary); opacity: .14;
}
.rcp-hero__title {
	position: relative; z-index: 1; max-width: 720px; margin: 0 0 20px;
	font-size: clamp(30px, 3.6vw, 48px); font-weight: 400; line-height: 1.08; color: var(--rcp-text);
}
.rcp-hero__title strong { font-weight: 700; }
.rcp-hero__lead { position: relative; z-index: 1; max-width: 640px; font-size: 16px; }
.rcp-hero__meta { position: relative; z-index: 1; display: inline-block; margin: 8px 0 0 !important; padding: 10px 22px; background: #fff; border-radius: 30px; font-size: 14px; }

/* ---------- Resumen (tarjetas tipo RemedyClub) ---------- */
.rcp-summary { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; margin-bottom: 80px; }
.rcp-summary__item {
	background: #fff; border-radius: var(--rcp-radius); box-shadow: var(--rcp-shadow);
	padding: 40px 28px 36px; text-align: center; transition: transform .25s, box-shadow .25s;
}
.rcp-summary__item:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); }
.rcp-summary__item p { font-size: 15px; line-height: 1.5; margin: 0; }
.rcp-summary__item .rcp-summary__t { font-size: 20.8px; font-weight: 600; line-height: 1.1; margin: 16px 0 10px; }

/* ---------- Layout con índice ---------- */
.rcp-layout { display: block; }
.rcp-layout.has-index { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 64px; align-items: start; }
.rcp-index { position: sticky; top: var(--rcp-offset); }
.rcp-index__box summary {
	list-style: none; cursor: default; pointer-events: none;
	font-size: 20.8px; font-weight: 600; color: var(--rcp-text); margin-bottom: 4px;
}
.rcp-index__box summary::-webkit-details-marker { display: none; }
.rcp-index__box summary::after { content: ""; display: block; width: 60px; height: 4px; background: var(--rcp-primary); margin: 12px 0 16px; }
.rcp-index ol { list-style: none; counter-reset: rcp; margin: 0; padding: 0; display: grid; gap: 6px; }
.rcp-index li { counter-increment: rcp; }
.rcp-index a {
	display: flex; gap: 10px; padding: 10px 18px; border-radius: 25px; background: var(--rcp-row);
	font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--rcp-text); text-decoration: none;
	transition: color .2s, background .2s;
}
.rcp-index a::before { content: counter(rcp, decimal-leading-zero); font-weight: 700; color: var(--rcp-primary); font-size: 12px; padding-top: 1px; }
.rcp-index a:hover { color: var(--rcp-primary); }
.rcp-index a.is-active { color: #fff; font-weight: 600; background: var(--rcp-primary); }
.rcp-index a.is-active::before { color: #fff; }

/* ---------- Secciones ---------- */
.rcp-sec { scroll-margin-top: var(--rcp-offset); padding-bottom: 64px; }
.rcp-sec h2 { margin: 0 0 24px; font-size: clamp(24px, 2.5vw, 32px); font-weight: 700; line-height: 1.3; color: var(--rcp-text); }
.rcp-sec h2 span { display: block; font-size: 15px; font-weight: 600; color: var(--rcp-primary); line-height: 1; margin-bottom: 8px; }
.rcp-sec h2::after { content: ""; display: block; width: 60px; height: 4px; background: var(--rcp-primary); margin-top: 18px; }
.rcp-sec h3 { margin: 14px 0 8px; font-size: 20.8px; font-weight: 600; color: var(--rcp-text); line-height: 1.1; }

.rcp-card {
	background: #fff; border-radius: var(--rcp-radius-md); box-shadow: var(--rcp-shadow);
	padding: 32px 28px; text-align: center; transition: transform .25s, box-shadow .25s;
}
.rcp-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0, 0, 0, .1); }
.rcp-card p { font-size: 15px; line-height: 1.5; margin: 0; }
.rcp-card--accent { background: var(--rcp-dark); }
.rcp-card--accent h3 { color: #fff; }
.rcp-card--accent p { color: rgba(255, 255, 255, .85); }
.rcp-card--accent a { color: var(--rcp-primary); }

.rcp-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin: 24px 0 28px; }

.rcp-dl { text-align: left; margin: 24px 0; padding: 12px 36px; }
.rcp-dl:hover { transform: none; }
.rcp-dl div { display: grid; grid-template-columns: 190px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #ECECEC; }
.rcp-dl div:last-child { border-bottom: 0; }
.rcp-dl dt { font-size: 15px; font-weight: 600; color: var(--rcp-primary); }
.rcp-dl dd { margin: 0; font-weight: 600; }

.rcp-note { background: var(--rcp-row); border-radius: 25px; padding: 18px 30px; font-size: 15px; }

.rcp-highlight { background: var(--rcp-gray); border-radius: var(--rcp-radius-md); padding: 32px 36px; margin-bottom: 28px; }
.rcp-highlight p { margin: 0; }
.rcp-highlight .rcp-highlight__t { display: flex; align-items: center; gap: 12px; font-weight: 700; font-size: 20.8px; line-height: 1.2; margin-bottom: 12px; }
.rcp-highlight .rcp-ico { width: 34px; height: 34px; }

.rcp-list { list-style: none; margin: 0 0 20px; padding: 0; }
.rcp-list li { position: relative; padding: 0 0 14px 28px; }
.rcp-list li::before { content: ""; position: absolute; left: 4px; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--rcp-primary); }
.rcp-list--check li { padding-left: 34px; }
.rcp-list--check li::before { content: "✓"; display: grid; place-items: center; width: 22px; height: 22px; left: 0; top: .1em; color: #fff; font-size: 12px; font-weight: 700; }

/* Tablas: filas grises redondeadas como el FAQ del sitio */
.rcp-table-wrap { overflow-x: auto; margin: 20px 0 24px; -webkit-overflow-scrolling: touch; }
.rcp-table { width: 100%; border-collapse: separate; border-spacing: 0 8px; font-size: 15px; line-height: 1.45; }
.rcp-table th { text-align: left; font-size: 14px; font-weight: 600; color: var(--rcp-primary); padding: 0 22px 2px; }
.rcp-table td { padding: 16px 22px; background: var(--rcp-row); vertical-align: top; }
.rcp-table td:first-child { border-radius: 25px 0 0 25px; font-weight: 600; }
.rcp-table td:last-child { border-radius: 0 25px 25px 0; }
.rcp-table code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; background: #fff; padding: 3px 10px; border-radius: 30px; word-break: break-word; }

/* Derechos */
.rcp-grid--rights .rcp-right { background: #fff; border-radius: var(--rcp-radius-md); box-shadow: var(--rcp-shadow); padding: 30px 24px; text-align: center; transition: transform .25s; }
.rcp-grid--rights .rcp-right:hover { transform: translateY(-4px); }
.rcp-right p { font-size: 15px; line-height: 1.5; margin: 0; }

/* Pasos: banda gris como "Ser parte es tan fácil como cuidarte" */
.rcp-steps { background: var(--rcp-gray); border-radius: var(--rcp-radius); padding: 48px 40px 36px; margin-top: 16px; text-align: center; }
.rcp-steps__t { font-size: clamp(22px, 2.3vw, 28px); font-weight: 400; line-height: 1.3; margin: 0 !important; }
.rcp-steps__t::after { content: ""; display: block; width: 60px; height: 4px; background: var(--rcp-primary); margin: 16px auto 28px; }
.rcp-steps__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.rcp-step { background: #fff; border-radius: var(--rcp-radius); box-shadow: var(--rcp-shadow); padding: 34px 26px; }
.rcp-step p { font-size: 15px; line-height: 1.5; margin: 0; }
.rcp-steps__foot { margin: 26px 0 0 !important; font-size: 14px; }

/* Cookies */
.rcp-cookie-cat { display: flex; align-items: center; gap: 12px; margin-top: 32px !important; }
.rcp-cookie-cat span { font-size: 12px; font-weight: 600; background: var(--rcp-primary); color: #fff; padding: 5px 14px; border-radius: 30px; }
.rcp-cookie-desc { font-size: 15px; }

/* Botones del sitio: radio 30px, texto normal, 15px/600, con › */
.rcp .rcp-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer;
	padding: 15px 35px; border: 0; border-radius: 30px;
	background: var(--rcp-primary); color: #fff; text-decoration: none;
	font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1.2; letter-spacing: 0; text-transform: none;
	transition: background .2s, color .2s;
}
.rcp .rcp-btn span { font-size: 20px; line-height: .8; }
.rcp .rcp-btn:hover { background: var(--rcp-dark); color: #fff; }

/* CTA final */
.rcp-cta {
	display: flex; align-items: center; justify-content: space-between; gap: 28px;
	background: var(--rcp-dark); color: #fff; padding: 48px 56px; border-radius: var(--rcp-radius); position: relative; overflow: hidden;
}
.rcp-cta::before { content: ""; position: absolute; right: 22%; top: -90px; width: 220px; height: 220px; border-radius: 50%; border: 30px solid var(--rcp-primary); opacity: .25; }
.rcp-cta > * { position: relative; }
.rcp-cta p { margin: 0; color: rgba(255, 255, 255, .85); font-size: 16px; }
.rcp-cta .rcp-cta__t { font-size: clamp(22px, 2.3vw, 30px); font-weight: 400; color: #fff; margin-bottom: 8px; line-height: 1.2; }
.rcp .rcp-cta .rcp-btn:hover { background: #fff; color: var(--rcp-dark); }

/* ---------- Responsive ---------- */
@media (max-width: 1024px) {
	.rcp-summary { grid-template-columns: repeat(2, 1fr); }
	.rcp-layout.has-index { grid-template-columns: 1fr; gap: 0; }
	.rcp-index { position: relative; top: 0; margin-bottom: 48px; }
	.rcp-index__box { background: var(--rcp-row); border-radius: 25px; padding: 16px 24px; }
	.rcp-index__box summary { pointer-events: auto; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 16px; margin: 0; color: var(--rcp-primary); }
	.rcp-index__box summary::after { content: "⌄"; width: auto; height: auto; background: none; margin: 0; font-size: 20px; line-height: 1; transition: transform .2s; }
	.rcp-index__box[open] summary::after { transform: rotate(180deg); }
	.rcp-index__box[open] ol { margin-top: 14px; }
	.rcp-index a { background: #fff; }
	.rcp-grid, .rcp-steps__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
	.rcp { font-size: 15px; --rcp-radius: 30px; --rcp-radius-md: 25px; }
	.rcp-hero { padding: 44px 26px 40px; margin-bottom: 36px; }
	.rcp-hero::after { width: 220px; height: 220px; border-width: 26px; right: -80px; bottom: -90px; }
	.rcp-summary { grid-template-columns: 1fr; gap: 16px; margin-bottom: 56px; }
	.rcp-summary__item { padding: 30px 24px; }
	.rcp-grid, .rcp-steps__grid { grid-template-columns: 1fr; gap: 16px; }
	.rcp-sec { padding-bottom: 48px; }
	.rcp-dl { padding: 8px 24px; }
	.rcp-dl div { grid-template-columns: 1fr; gap: 2px; }
	.rcp-highlight { padding: 26px 24px; }
	.rcp-steps { padding: 36px 18px 28px; }
	.rcp-cta { flex-direction: column; align-items: flex-start; padding: 36px 28px; }
	.rcp .rcp-btn { width: 100%; }

	/* Tablas como tarjetas en móvil */
	.rcp-table, .rcp-table tbody, .rcp-table tr, .rcp-table td { display: block; width: 100%; }
	.rcp-table thead { display: none; }
	.rcp-table tr { background: var(--rcp-row); border-radius: 25px; padding: 14px 22px; margin-bottom: 10px; }
	.rcp-table td, .rcp-table td:first-child, .rcp-table td:last-child { padding: 4px 0; background: none; border-radius: 0; }
	.rcp-table--cookies td { display: grid; grid-template-columns: 90px 1fr; gap: 10px; padding: 6px 0; }
	.rcp-table--cookies td::before { content: attr(data-label); font-size: 13px; font-weight: 600; color: var(--rcp-primary); }
}

/* =========================================================================
   Blindaje contra estilos del tema (Astra / kit de Elementor) + tamaños más contenidos
   ========================================================================= */
.rcp, .rcp * { font-family: "Montserrat", sans-serif !important; }
.rcp { font-size: 15px !important; line-height: 1.6 !important; }
.rcp p, .rcp li, .rcp td, .rcp dd { font-size: inherit; letter-spacing: 0 !important; text-transform: none !important; }
.rcp h1, .rcp h2, .rcp h3 { letter-spacing: 0 !important; text-transform: none !important; color: var(--rcp-text) !important; }

.rcp .rcp-eyebrow { font-size: 14px !important; line-height: 1.3 !important; }
.rcp .rcp-hero { padding: 56px 56px 48px; margin-bottom: 44px; }
.rcp .rcp-hero__title { font-size: clamp(28px, 3vw, 40px) !important; font-weight: 400 !important; line-height: 1.12 !important; margin: 0 0 18px !important; }
.rcp .rcp-hero__title strong { font-weight: 700 !important; }
.rcp .rcp-hero__lead { font-size: 15px !important; }
.rcp .rcp-hero__meta { font-size: 13px !important; padding: 8px 18px; }

.rcp .rcp-summary { gap: 20px; margin-bottom: 64px; }
.rcp .rcp-summary__item { padding: 32px 24px 28px; }
.rcp .rcp-summary__item .rcp-ico { width: 36px; height: 36px; }
.rcp .rcp-summary__item p { font-size: 14px !important; }
.rcp .rcp-summary__item .rcp-summary__t { font-size: 17px !important; font-weight: 600 !important; margin: 12px 0 8px !important; }

.rcp .rcp-index__box summary { font-size: 17px !important; font-weight: 600 !important; }
.rcp .rcp-index a { font-size: 13px !important; padding: 9px 16px; }

.rcp .rcp-sec { padding-bottom: 52px; }
.rcp .rcp-sec h2 { font-size: clamp(22px, 2vw, 26px) !important; font-weight: 700 !important; line-height: 1.25 !important; margin: 0 0 20px !important; }
.rcp .rcp-sec h2 span { font-size: 13px !important; font-weight: 600 !important; color: var(--rcp-primary) !important; margin-bottom: 6px; }
.rcp .rcp-sec h2::after { margin-top: 14px; }
.rcp .rcp-sec h3 { font-size: 17px !important; font-weight: 600 !important; line-height: 1.2 !important; margin: 12px 0 8px !important; }

.rcp .rcp-card, .rcp .rcp-grid--rights .rcp-right { padding: 26px 22px; }
.rcp .rcp-ico { width: 36px; height: 36px; }
.rcp .rcp-card p, .rcp .rcp-right p, .rcp .rcp-step p { font-size: 14px !important; }
.rcp .rcp-grid { gap: 18px; }

.rcp .rcp-highlight { padding: 26px 30px; }
.rcp .rcp-highlight .rcp-highlight__t { font-size: 17px !important; }
.rcp .rcp-highlight .rcp-ico { width: 28px; height: 28px; }

.rcp .rcp-table { font-size: 14px !important; }
.rcp .rcp-table th { font-size: 13px !important; }
.rcp .rcp-table td { padding: 13px 20px; }
.rcp .rcp-table code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace !important; font-size: 12px !important; }

.rcp .rcp-steps { padding: 40px 32px 30px; }
.rcp .rcp-steps__t { font-size: clamp(20px, 2vw, 24px) !important; font-weight: 400 !important; }
.rcp .rcp-steps__t strong { font-weight: 700 !important; }
.rcp .rcp-step { padding: 28px 22px; }
.rcp .rcp-steps__foot { font-size: 13px !important; }

.rcp .rcp-cookie-cat { font-size: 17px !important; }
.rcp .rcp-cookie-cat span { font-size: 11px !important; }

/* Botones: radio 30px, texto normal, sin mayúsculas */
.rcp .rcp-btn, .rcp button.rcp-btn, .rcp a.rcp-btn {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
	border: 0 !important; border-radius: 30px !important; padding: 12px 28px !important;
	background: var(--rcp-primary) !important; color: #fff !important;
	font-size: 14px !important; font-weight: 600 !important; line-height: 1.2 !important;
	letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important;
	box-shadow: none !important; min-height: 0 !important; width: auto;
}
.rcp .rcp-btn span { font-size: 18px !important; line-height: .8 !important; }
.rcp .rcp-btn:hover, .rcp button.rcp-btn:hover, .rcp a.rcp-btn:hover { background: var(--rcp-dark) !important; color: #fff !important; }
.rcp .rcp-cta .rcp-btn:hover { background: #fff !important; color: var(--rcp-dark) !important; }

.rcp .rcp-cta { padding: 40px 48px; }
.rcp .rcp-cta .rcp-cta__t { font-size: clamp(20px, 2vw, 26px) !important; font-weight: 400 !important; color: #fff !important; }
.rcp .rcp-cta .rcp-cta__t strong { font-weight: 700 !important; }
.rcp .rcp-cta p { font-size: 15px !important; }

@media (max-width: 767px) {
	.rcp { font-size: 14px !important; }
	.rcp .rcp-hero { padding: 38px 24px 34px; }
	.rcp .rcp-btn, .rcp button.rcp-btn, .rcp a.rcp-btn { width: 100%; }
	.rcp .rcp-cta { padding: 32px 24px; }
	.rcp .rcp-steps { padding: 32px 16px 24px; }
}

/* Subrayados: el tema subraya todos los enlaces. Por defecto sin subrayado;
   solo los enlaces dentro del texto llevan línea turquesa. */
.rcp a, .rcp a:hover, .rcp a:focus, .rcp a::before, .rcp a::after { text-decoration: none !important; }
.rcp .rcp-content p a, .rcp .rcp-content .rcp-list li a, .rcp .rcp-content dd a {
	text-decoration: underline !important; text-decoration-color: var(--rcp-primary) !important;
	text-decoration-thickness: 2px !important; text-underline-offset: 3px !important;
}
.rcp .rcp-index a, .rcp .rcp-index a:hover, .rcp .rcp-index a.is-active { text-decoration: none !important; box-shadow: none !important; }
.rcp .rcp-index a { color: var(--rcp-text) !important; }
.rcp .rcp-index a:hover { color: var(--rcp-primary) !important; }
.rcp .rcp-index a.is-active { color: #fff !important; }
.rcp .rcp-card--accent a { color: var(--rcp-primary) !important; }
.rcp .rcp-card--accent h3 { color: #fff !important; }

/* Márgenes laterales en tablet y móvil */
.rcp { box-sizing: border-box !important; width: 100%; }
@media (max-width: 1500px) { .rcp { padding-left: 24px !important; padding-right: 24px !important; } }
@media (max-width: 1024px) { .rcp { padding-left: 32px !important; padding-right: 32px !important; } }
@media (max-width: 767px)  { .rcp { padding-left: 20px !important; padding-right: 20px !important; } }

/* ===== Versión resumida ===== */
.rcp table, .rcp th, .rcp td { border: 0 !important; }
.rcp .rcp-content p a.rcp-btn { text-decoration: none !important; }
.rcp .rcp-small { font-size: 13px !important; color: var(--rcp-muted); }
.rcp .rcp-summary__item { padding: 26px 18px; }
.rcp .rcp-summary__item .rcp-summary__t { margin: 10px 0 0 !important; }
.rcp .rcp-sec { padding-bottom: 44px; }
.rcp .rcp-hero { padding: 48px 56px 44px; }

.rcp .rcp-chips { list-style: none !important; margin: 0 0 16px !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.rcp .rcp-chips li { list-style: none !important; margin: 0 !important; padding: 8px 18px; background: var(--rcp-row); border-radius: 30px; font-size: 14px; font-weight: 500; }

.rcp .rcp-highlight { margin-bottom: 0; }

.rcp .rcp-more { margin-top: 6px; }
.rcp .rcp-more summary { cursor: pointer; list-style: none; display: inline-block; font-size: 14px; font-weight: 600; color: var(--rcp-primary); }
.rcp .rcp-more summary::-webkit-details-marker { display: none; }
.rcp .rcp-more summary::after { content: " ›"; display: inline-block; transition: transform .2s; }
.rcp .rcp-more[open] summary::after { transform: rotate(90deg); }
.rcp .rcp-more__cat { margin: 16px 0 6px !important; font-size: 14px !important; font-weight: 700; }
.rcp .rcp-more__list { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.rcp .rcp-more__list li { list-style: none !important; margin: 0 0 6px !important; padding: 10px 18px; background: var(--rcp-row); border-radius: 25px; font-size: 13px; }

@media (max-width: 767px) {
	.rcp .rcp-hero { padding: 36px 24px 32px; }
	.rcp .rcp-summary { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.rcp .rcp-summary__item { display: block; padding: 20px 12px; text-align: center; }
	.rcp .rcp-summary__item .rcp-summary__t { font-size: 14px !important; }
}

/* Círculo del logo Remedycell como decoración (reemplaza los círculos genéricos) */
.rcp .rcp-hero::after, .rcp .rcp-cta::before {
	content: ""; position: absolute; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
	background: var(--rcp-ring) center / contain no-repeat; opacity: 1;
}
.rcp .rcp-hero::after { width: 420px; height: 420px; right: -60px; top: 50%; bottom: auto; transform: translateY(-50%); }
.rcp .rcp-cta::before { width: 230px; height: 230px; left: auto; right: 22%; top: -70px; bottom: auto; opacity: .35; }
@media (max-width: 1024px) { .rcp .rcp-hero::after { width: 300px; height: 300px; right: -90px; opacity: .6; } }
@media (max-width: 767px) {
	.rcp .rcp-hero::after { width: 200px; height: 200px; right: -70px; top: 0; transform: none; opacity: .5; }
	.rcp .rcp-cta::before { width: 160px; height: 160px; right: -40px; top: -50px; }
}
/* Anillo completo y visible dentro del hero */
.rcp .rcp-hero::after { width: 280px; height: 280px; right: 70px; }
@media (max-width: 1024px) { .rcp .rcp-hero::after { width: 220px; height: 220px; right: 30px; opacity: .55; } }
@media (max-width: 767px) { .rcp .rcp-hero::after { width: 170px; height: 170px; right: -50px; top: -40px; transform: none; opacity: .45; } }
