/* Perfil v13 · segunda pasada visual: menos peso, menos ruido y mejor ritmo. */

.cp-profile-page {
	--cpp-font-3xl: clamp(2rem, 3.2vw, 2.8rem);
	--cpp-weight-medium: 500;
	--cpp-weight-semibold: 600;
	--cpp-weight-bold: 700;
	--cpp-radius-sm: 12px;
	--cpp-radius-md: 18px;
	--cpp-radius-lg: 24px;
	--cpp-shadow: 0 12px 34px rgba(11, 32, 55, .055);
	--cpp-shadow-soft: 0 6px 18px rgba(11, 32, 55, .045);
	background: #f5f8f7 !important;
	font-weight: 400;
}

.cp-profile-page :is(h1, h2, h3, h4, h5, strong, b) {
	font-weight: 600 !important;
	letter-spacing: -.018em !important;
}

body.cp-profile-page .cp-layout .cp-main :is(h1, h2, h3, h4, h5, strong, b),
body.cp-profile-page :is(.cp-sidebar-card, [role="dialog"]) :is(h1, h2, h3, strong, b),
body.cp-profile-page .cp-name {
	font-weight: 600 !important;
}

#cp6Main#cp6Main :is(h1, h2, h3, h4, h5, strong, b),
html body.cp-profile-page > aside.cp-drawer .cp-sidebar-head .cp-sidebar-identity .cp-name:not(#cp-minimal-name):not(#cp-minimal-name-2) {
	font-weight: 600 !important;
}

.cp-profile-page :is(p, small, label, input, select, textarea, button, a) {
	letter-spacing: -.006em;
}

.cp-profile-page :is(button, [role="button"], .cp-button, .cp-btn, .cp-action) {
	font-weight: 600 !important;
}

.cp-profile-page .cp-title-row {
	margin-bottom: 22px !important;
}

.cp-profile-page .cp-title-row h1 {
	font-size: var(--cpp-font-3xl) !important;
	font-weight: 600 !important;
	letter-spacing: -.035em !important;
	line-height: 1.04;
}

body.cp-profile-page .cp-layout .cp-main .cp-title-row h1 {
	font-weight: 600 !important;
	letter-spacing: -.035em !important;
}

.cp-profile-page .cp-title-row .cp-muted {
	font-size: 14px;
	line-height: 1.55;
	margin-top: 7px;
}

.cp-profile-page .cp-profile-topbar {
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(11, 32, 55, .045);
}

.cp-profile-page .cp-profile-topbar-title :is(span, strong) {
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
}

.cp-profile-page .cp-sidebar {
	border-radius: 22px;
	box-shadow: 0 10px 32px rgba(11, 32, 55, .055);
}

.cp-profile-page .cp-sidebar :is(strong, a, span) {
	font-weight: 500 !important;
}

.cp-profile-page .cp-sidebar .is-active,
.cp-profile-page .cp-sidebar a[aria-current="page"] {
	font-weight: 600 !important;
}

/* Las portadas siguen usando navy, pero ya no compiten con todo el contenido. */
.cp-profile-page :is(
	.cp-home4-hero,
	.cp-activity6-hero,
	.cp-social5-hero,
	.cp-benefits7-hero,
	.rw7-hero,
	.cp-settings8-hero,
	.cp-support9-hero,
	.cp-claims9-hero
) {
	background: radial-gradient(circle at 96% 8%, rgba(42, 199, 176, .16), transparent 15rem), #0b2238 !important;
	border: 1px solid rgba(70, 207, 187, .18) !important;
	border-radius: 22px !important;
	box-shadow: 0 10px 30px rgba(7, 29, 43, .09) !important;
}

body.cp-profile-page .cp-layout .cp-main :is(
	.cp-home4-identity h2,
	.cp-activity6-hero h2,
	.cp-social5-hero-copy h2,
	.cp-benefits7-hero h2,
	.rw7-hero h2,
	.cp-settings8-hero h2,
	.cp-support9-hero h2,
	.cp-claims9-hero h2
) {
	font-weight: 600 !important;
	letter-spacing: -.03em !important;
}

.cp-profile-page :is(
	.cp-home4-identity h2,
	.cp-activity6-hero h2,
	.cp-social5-hero-copy h2,
	.cp-benefits7-hero h2,
	.rw7-hero h2,
	.cp-settings8-hero h2,
	.cp-support9-hero h2,
	.cp-claims9-hero h2
) {
	font-size: clamp(1.75rem, 3vw, 2.15rem) !important;
	font-weight: 600 !important;
	letter-spacing: -.03em !important;
	line-height: 1.12 !important;
}

.cp-profile-page :is(
	.cp-home4-hero,
	.cp-activity6-hero,
	.cp-social5-hero,
	.cp-benefits7-hero,
	.rw7-hero,
	.cp-settings8-hero,
	.cp-support9-hero,
	.cp-claims9-hero
) :is(p, small) {
	line-height: 1.55;
}

.cp-profile-page :is(
	.cp-home4-hero,
	.cp-activity6-hero,
	.cp-social5-hero,
	.cp-benefits7-hero,
	.rw7-hero,
	.cp-settings8-hero,
	.cp-support9-hero,
	.cp-claims9-hero
) :is(.cp-home4-private, div > span:first-child) {
	font-weight: 600 !important;
	letter-spacing: .045em !important;
}

.cp-profile-page .cp-home4-intro > strong {
	font-size: 19px;
	font-weight: 600 !important;
}

.cp-profile-page :is(.cp-home4-stats, .cp-social5-stats, .cp-benefits7-stats, .rw7-hero aside) strong {
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
}

.cp-profile-page :is(.cp-home4-shortcuts, .cp-settings8-index-list, .cp-support9-faqs, .cp-claims9-times) {
	box-shadow: none !important;
}

/* Superficies más planas y radios menos decorativos. */
.cp-profile-page :is(
	.cp-card,
	.cp-home4-shortcuts,
	.cp-home4-rail,
	.cp-home4-empty,
	.cp-social5-publish-state,
	.cp-social5-card,
	.cp-social5-empty,
	.cp-activity6-feed,
	.cp-activity6-filter-card,
	.cp-benefits7-next,
	.cp-benefits7-jump,
	.cp-benefits7-card,
	.cp-benefits7-summary,
	.cp-benefits7-history,
	.rw7-notifications,
	.rw7-local,
	.cp-settings8-index-list,
	.cp-settings8-index-card,
	.cp-settings8-form,
	.cp-address-intro,
	.cp-address-card,
	.cp-support9-search,
	.cp-support9-faqs,
	.cp-support9-side article,
	.cp-claims9-create,
	.cp-claims9-history,
	.cp-claims9-times,
	.cp-claims9-trust
) {
	border-color: #dbe5e3 !important;
	border-radius: 18px !important;
	box-shadow: none !important;
}

.cp-profile-page :is(.cp-settings8-index-card, .cp-home4-shortcuts > a) strong,
.cp-profile-page :is(.cp-support9-faqs summary, .cp-benefits7-card, .rw7-local > summary) strong,
.cp-profile-page :is(.cp-claims9-create, .cp-settings8-form) label {
	font-weight: 600 !important;
}

.cp-profile-page :is(.cp-settings8-group > header h2, .cp-benefits7-section > header h2, .cp-home4-section-head h2) {
	font-weight: 600 !important;
	letter-spacing: -.025em !important;
}

/* El h1 de la página ya nombra la tarea; evitamos repetir el mismo título. */
#cp6Main .cp-settings8-page-intro h2 {
	display: none;
}

#cp6Main .cp-settings8-page-intro p {
	margin-top: 5px;
}

.cp-profile-page :is(.cp-benefits7-next, .cp-benefits7-card, .rw7-next, .rw7-balance, .rw7-available) {
	border-radius: 16px !important;
}

.cp-profile-page :is(.cp-benefits7-hero-actions a, .cp-social5-hero-actions a, .cp-social5-hero-actions button, .cp-support9-hero > a) {
	border-radius: 12px !important;
	font-weight: 600 !important;
}

.cp-profile-page :is(input, select, textarea) {
	font-weight: 400 !important;
}

.cp-profile-page label {
	font-weight: 600 !important;
}

.cp-profile-page .cp-mobile-nav {
	border: 1px solid rgba(11, 32, 55, .08);
	box-shadow: 0 8px 26px rgba(11, 32, 55, .09);
}

.cp-profile-page .cp-mobile-nav a {
	font-weight: 500 !important;
}

.cp-profile-page .cp-mobile-nav a:is(.is-active, [aria-current="page"]) {
	background: #e6f7f3 !important;
	color: #087c69 !important;
	font-weight: 600 !important;
}

.cp-profile-page .cp-mobile-nav a:is(.is-active, [aria-current="page"]) i {
	color: #087c69 !important;
}

@media (min-width: 921px) {
	.cp-profile-page :is(
		.cp-home4-hero,
		.cp-activity6-hero,
		.cp-social5-hero,
		.cp-benefits7-hero,
		.rw7-hero,
		.cp-settings8-hero,
		.cp-support9-hero,
		.cp-claims9-hero
	) {
		padding: 24px 26px !important;
	}
}

@media (max-width: 920px) {
	.cp-profile-page .cp-title-row {
		margin-bottom: 18px !important;
	}

	.cp-profile-page .cp-title-row h1 {
		font-size: clamp(1.9rem, 9vw, 2.2rem) !important;
		line-height: 1.08;
	}

	.cp-profile-page :is(
		.cp-home4-hero,
		.cp-activity6-hero,
		.cp-social5-hero,
		.cp-benefits7-hero,
		.rw7-hero,
		.cp-settings8-hero,
		.cp-support9-hero,
		.cp-claims9-hero
	) {
		border-radius: 20px !important;
		padding: 20px !important;
	}

	.cp-profile-page :is(
		.cp-home4-identity h2,
		.cp-activity6-hero h2,
		.cp-social5-hero-copy h2,
		.cp-benefits7-hero h2,
		.rw7-hero h2,
		.cp-settings8-hero h2,
		.cp-support9-hero h2,
		.cp-claims9-hero h2
	) {
		font-size: clamp(1.55rem, 7vw, 1.85rem) !important;
	}

	.cp-profile-page .cp-mobile-nav {
		border-radius: 18px;
		min-height: 66px;
		padding: 5px;
	}

	.cp-profile-page .cp-mobile-nav a {
		border-radius: 13px !important;
		min-height: 54px !important;
	}

	.cp-profile-page .cp-mobile-nav a i {
		font-size: 20px;
	}
}

@media (max-width: 420px) {
	.cp-profile-page .cp-layout {
		padding-left: 16px;
		padding-right: 16px;
	}

	.cp-profile-page .cp-home4-hero {
		margin-left: -16px;
		margin-right: -16px;
		border-left: 0 !important;
		border-radius: 0 0 22px 22px !important;
		border-right: 0 !important;
		border-top: 0 !important;
	}

	.cp-profile-page .cp-support9-faqs summary {
		min-height: 62px;
	}

	.cp-profile-page .cp-support9-faqs > header {
		align-items: flex-start;
		flex-direction: column;
		gap: 4px;
	}
}

/* Keep every profile surface scrollable without exposing native browser rails. */
html,
body,
.cp-profile-page,
.cp-profile-page * {
	-ms-overflow-style: none;
	scrollbar-color: transparent transparent;
	scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
.cp-profile-page::-webkit-scrollbar,
.cp-profile-page *::-webkit-scrollbar {
	display: none;
	height: 0;
	width: 0;
}
