/* Perfil 2026 · un único sistema visual para todas las rutas de cuenta. */
:root {
	/* Marca y colores semánticos */
	--cpp-ink: #0b2037;
	--cpp-ink-2: #17334b;
	--cpp-accent: #12bea1;
	--cpp-accent-strong: #07977f;
	--cpp-accent-soft: #e1f8f3;
	--cpp-accent-pale: #f0fbf8;
	--cpp-bg: #f3f7f6;
	--cpp-surface: #ffffff;
	--cpp-surface-2: #f8fbfa;
	--cpp-line: #dce7e4;
	--cpp-line-strong: #c9d9d5;
	--cpp-muted: #667988;
	--cpp-success: #087c69;
	--cpp-success-soft: #e4f7f1;
	--cpp-info: #17659e;
	--cpp-info-soft: #eaf5ff;
	--cpp-danger: #ad3f4b;
	--cpp-danger-strong: #8e2f3a;
	--cpp-danger-soft: #fff0f2;
	--cpp-warning: #9a6817;
	--cpp-warning-soft: #fff7e6;
	--cpp-disabled: #a8b4bc;
	--cpp-disabled-bg: #edf1f2;
	--cpp-focus: rgba(18, 190, 161, .24);

	/* Tipografía */
	--cpp-font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--cpp-font-2xs: .6875rem;
	--cpp-font-xs: .75rem;
	--cpp-font-sm: .8125rem;
	--cpp-font-md: .9375rem;
	--cpp-font-lg: 1.0625rem;
	--cpp-font-xl: 1.3125rem;
	--cpp-font-2xl: 1.625rem;
	--cpp-font-3xl: clamp(2.125rem, 4vw, 3.25rem);
	--cpp-leading-tight: 1.08;
	--cpp-leading-title: 1.18;
	--cpp-leading-body: 1.55;
	--cpp-weight-medium: 600;
	--cpp-weight-semibold: 700;
	--cpp-weight-bold: 800;

	/* Ritmo y layout */
	--cpp-space-1: 4px;
	--cpp-space-2: 8px;
	--cpp-space-3: 12px;
	--cpp-space-4: 16px;
	--cpp-space-5: 20px;
	--cpp-space-6: 24px;
	--cpp-space-8: 32px;
	--cpp-space-10: 40px;
	--cpp-space-12: 48px;
	--cpp-space-16: 64px;
	--cpp-page-max: 1280px;
	--cpp-content-max: 920px;
	--cpp-readable-max: 680px;
	--cpp-sidebar-width: 252px;
	--cpp-control-height: 48px;
	--cpp-target-min: 44px;

	/* Forma, elevación y movimiento */
	--cpp-radius-xs: 10px;
	--cpp-radius-sm: 14px;
	--cpp-radius-md: 20px;
	--cpp-radius-lg: 28px;
	--cpp-radius-full: 999px;
	--cpp-shadow: 0 16px 40px rgba(11, 32, 55, .07);
	--cpp-shadow-soft: 0 8px 22px rgba(11, 32, 55, .055);
	--cpp-shadow-focus: 0 0 0 4px var(--cpp-focus);
	--cpp-motion-fast: 140ms;
	--cpp-motion-base: 200ms;
	--cpp-ease: cubic-bezier(.2, .8, .2, 1);
}

.cp-profile-page {
	background: var(--cpp-bg) !important;
	color: var(--cpp-ink) !important;
	font-family: var(--cpp-font-family);
	font-size: var(--cpp-font-md);
	line-height: var(--cpp-leading-body);
	overflow-x: clip;
}

.cp-profile-page *,
.cp-profile-page *::before,
.cp-profile-page *::after {
	box-sizing: border-box;
}

.cp-profile-page h1,
.cp-profile-page h2,
.cp-profile-page h3,
.cp-profile-page h4,
.cp-profile-page h5,
.cp-profile-page strong,
.cp-profile-page b {
	color: inherit;
	font-weight: 750;
	line-height: var(--cpp-leading-title);
	margin-top: 0;
}

.cp-profile-page h1,
.cp-profile-page h2,
.cp-profile-page h3,
.cp-profile-page p {
	text-wrap: pretty;
}

.cp-profile-page .cp-muted {
	color: var(--cpp-muted) !important;
}

.cp-profile-page p {
	line-height: var(--cpp-leading-body);
}

.cp-profile-page :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	box-shadow: var(--cpp-shadow-focus) !important;
	outline: 2px solid var(--cpp-accent-strong) !important;
	outline-offset: 2px !important;
}

.cp-profile-page :where(a, button, summary) {
	-webkit-tap-highlight-color: transparent;
}

.cp-profile-page .cp-layout {
	display: grid;
	gap: var(--cpp-space-8);
	grid-template-columns: var(--cpp-sidebar-width) minmax(0, var(--cpp-content-max));
	justify-content: center;
	margin: 0 auto;
	max-width: var(--cpp-page-max);
	min-height: 100vh;
	padding: 28px 28px var(--cpp-space-16);
}

.cp-profile-page .cp-main {
	min-width: 0;
	width: 100%;
}

.cp-profile-page .cp-sidebar {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-lg) !important;
	box-shadow: var(--cpp-shadow-soft) !important;
	max-height: calc(100vh - 40px);
	overflow: auto;
	padding: 14px !important;
	position: sticky;
	top: 20px;
}

.cp-profile-page .cp-sidebar-head {
	align-items: center;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cpp-line) !important;
	border-radius: 0 !important;
	display: flex;
	gap: 11px;
	margin: 0 0 10px !important;
	padding: 10px 8px 17px !important;
}

.cp-profile-page .cp-sidebar-head .cp-avatar {
	border: 3px solid #bdeee5;
	height: 46px;
	width: 46px;
}

.cp-profile-page .cp-sidebar-head .cp-name {
	font-size: 14px;
	font-weight: 800;
}

.cp-profile-page .cp-sidebar-head .cp-muted {
	font-size: 11px;
	margin-top: 2px;
}

.cp-profile-page .cp-menu {
	display: grid;
	gap: 3px;
}

.cp-profile-page .cp-menu-link {
	align-items: center;
	border-radius: 15px !important;
	color: #566b7c !important;
	display: flex;
	font-size: 13px;
	font-weight: 700;
	gap: 10px;
	min-height: 44px;
	padding: 8px 10px !important;
}

.cp-profile-page .cp-menu-link:hover {
	background: #edf7f4 !important;
}

.cp-profile-page .cp-menu-link.is-active {
	background: var(--cpp-accent-soft) !important;
	color: #087c69 !important;
}

.cp-profile-page .cp-menu-icon {
	align-items: center;
	background: #edf6f3 !important;
	border-radius: 10px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 29px;
	justify-content: center;
	width: 29px;
}

.cp-profile-page .cp-menu-link.is-active .cp-menu-icon {
	background: var(--cpp-surface) !important;
}

.cp-profile-page .cp-menu-logout {
	border-top: 1px solid var(--cpp-line);
	margin-top: 8px;
	padding-top: 13px !important;
}

.cp-profile-page .cp-profile-topbar {
	align-items: center;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 48px;
	margin-bottom: 28px;
	min-height: 52px;
}

.cp-profile-page .cp-profile-nav-button,
.cp-profile-page .cp-profile-avatar-button,
.cp-profile-page .cp-drawer-close {
	align-items: center;
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--cpp-ink) !important;
	display: flex;
	height: 46px;
	justify-content: center;
	min-height: 46px;
	padding: 0 !important;
	width: 46px;
}

.cp-profile-page .cp-profile-avatar-button {
	border: 3px solid #bdeee5 !important;
	overflow: hidden;
}

.cp-profile-page .cp-profile-avatar-button img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cp-profile-page .cp-profile-topbar-title {
	text-align: center;
}

.cp-profile-page .cp-profile-topbar-title span {
	color: var(--cpp-muted);
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cp-profile-page .cp-profile-topbar-title strong {
	font-size: 16px;
	font-weight: 800;
}

.cp-profile-page .cp-title-row {
	align-items: end;
	display: flex;
	gap: var(--cpp-space-6);
	justify-content: space-between;
	margin: 0 0 var(--cpp-space-6) !important;
}

.cp-profile-page .cp-title-row h1 {
	color: var(--cpp-ink);
	font-size: var(--cpp-font-3xl) !important;
	font-weight: var(--cpp-weight-bold) !important;
	letter-spacing: -.055em !important;
	line-height: .98;
}

.cp-profile-page .cp-title-row .cp-muted {
	font-size: var(--cpp-font-md);
	line-height: var(--cpp-leading-body);
	margin: 10px 0 0;
}

.cp-profile-page .cp-desktop-back {
	align-items: center;
	color: var(--cpp-accent-strong);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	margin-bottom: 13px;
}

.cp-profile-page .cp-page-kicker {
	display: none !important;
}

.cp-profile-page .cp-card,
.cp-profile-page .cp-item,
.cp-profile-page .cp-order-card,
.cp-profile-page .cp-activity-card,
.cp-profile-page .cp-config-card,
.cp-profile-page .cp-wallet-v2-status-panel {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	box-shadow: none !important;
	min-width: 0;
	transition: border-color var(--cpp-motion-base) var(--cpp-ease), box-shadow var(--cpp-motion-base) var(--cpp-ease), transform var(--cpp-motion-base) var(--cpp-ease);
}

.cp-profile-page .cp-card,
.cp-profile-page .cp-config-card {
	padding: var(--cpp-space-6);
}

.cp-profile-page .cp-content-grid {
	display: grid;
	gap: var(--cpp-space-4);
}

.cp-profile-page .cp-section-title {
	font-size: var(--cpp-font-2xl);
	font-weight: var(--cpp-weight-bold);
	letter-spacing: -.035em;
	margin: var(--cpp-space-8) 0 var(--cpp-space-3);
}

.cp-profile-page .cp-config-head,
.cp-profile-page .cp-card-head,
.cp-profile-page .cp-home-card-head,
.cp-profile-page .cp-wallet-v2-status-head,
.cp-profile-page .cp-wallet-v2-section-head {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.cp-profile-page .cp-config-head > .cp-icon,
.cp-profile-page .cp-config-head > svg,
.cp-profile-page .cp-card-head > .cp-icon {
	background: var(--cpp-accent-soft) !important;
	border-radius: 12px;
	color: var(--cpp-accent-strong) !important;
	flex: 0 0 auto;
	height: 40px;
	padding: 10px;
	width: 40px;
}

.cp-profile-page .cp-config-head > div {
	flex: 1;
	min-width: 0;
}

.cp-profile-page .cp-config-head h2,
.cp-profile-page .cp-home-card-head h2,
.cp-profile-page .cp-wallet-v2-status-head h2,
.cp-profile-page .cp-wallet-v2-section-head h2 {
	font-size: var(--cpp-font-xl);
	font-weight: var(--cpp-weight-bold);
	letter-spacing: -.025em;
}

.cp-profile-page .cp-config-head p,
.cp-profile-page .cp-home-card-head p,
.cp-profile-page .cp-wallet-v2-status-head p,
.cp-profile-page .cp-wallet-v2-section-head p {
	font-size: var(--cpp-font-xs);
	line-height: var(--cpp-leading-body);
	margin: 4px 0 0;
}

.cp-profile-page .cp-form {
	display: grid;
	gap: var(--cpp-space-4);
	margin-top: var(--cpp-space-5);
}

.cp-profile-page .cp-field {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.cp-profile-page .cp-field label,
.cp-profile-page .cp-activity-select span {
	color: #455a6b;
	font-size: var(--cpp-font-2xs);
	font-weight: var(--cpp-weight-bold);
	letter-spacing: .02em;
}

.cp-profile-page .cp-field input,
.cp-profile-page .cp-field textarea,
.cp-profile-page .cp-field select,
.cp-profile-page .cp-activity-search,
.cp-profile-page .cp-favorite-search-label,
.cp-profile-page .cp-activity-select select {
	background: var(--cpp-surface-2) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-sm) !important;
	box-shadow: none !important;
	color: var(--cpp-ink);
	font: inherit;
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), border-color var(--cpp-motion-fast) var(--cpp-ease), box-shadow var(--cpp-motion-fast) var(--cpp-ease);
	width: 100%;
}

.cp-profile-page .cp-field input,
.cp-profile-page .cp-field select {
	min-height: var(--cpp-control-height);
	padding: 0 14px;
}

.cp-profile-page .cp-field textarea {
	line-height: var(--cpp-leading-body);
	min-height: 104px;
	padding: 13px 14px;
	resize: vertical;
}

.cp-profile-page .cp-field small,
.cp-profile-page .cp-consent-option small {
	color: var(--cpp-muted);
	font-size: var(--cpp-font-2xs);
	line-height: var(--cpp-leading-body);
}

.cp-profile-page .cp-field input::placeholder,
.cp-profile-page .cp-field textarea::placeholder,
.cp-profile-page .cp-activity-search input::placeholder,
.cp-profile-page .cp-favorite-search::placeholder {
	color: #8898a3;
	opacity: 1;
}

.cp-profile-page .cp-field input:hover:not(:disabled):not([readonly]),
.cp-profile-page .cp-field textarea:hover:not(:disabled):not([readonly]),
.cp-profile-page .cp-field select:hover:not(:disabled) {
	border-color: var(--cpp-line-strong) !important;
}

.cp-profile-page .cp-field input:focus,
.cp-profile-page .cp-field textarea:focus,
.cp-profile-page .cp-field select:focus {
	background: #fff !important;
	border-color: var(--cpp-accent) !important;
	box-shadow: var(--cpp-shadow-focus) !important;
	outline: 2px solid var(--cpp-accent-strong) !important;
	outline-offset: 0 !important;
}

.cp-profile-page .cp-field input[readonly],
.cp-profile-page .cp-field textarea[readonly],
.cp-profile-page .cp-field input:disabled,
.cp-profile-page .cp-field textarea:disabled,
.cp-profile-page .cp-field select:disabled {
	background: var(--cpp-disabled-bg) !important;
	border-color: var(--cpp-line) !important;
	color: #71818c;
	cursor: not-allowed;
	opacity: 1;
}

.cp-profile-page .cp-field.is-invalid input,
.cp-profile-page .cp-field.is-invalid textarea,
.cp-profile-page .cp-field.is-invalid select,
.cp-profile-page .cp-field :is(input, textarea, select)[aria-invalid="true"] {
	background: var(--cpp-danger-soft) !important;
	border-color: var(--cpp-danger) !important;
}

.cp-profile-page .cp-field-error {
	color: var(--cpp-danger);
	font-size: var(--cpp-font-2xs);
	font-weight: var(--cpp-weight-semibold);
}

.cp-profile-page .cp-button,
.cp-profile-page button.cp-button,
.cp-profile-page a.cp-button {
	align-items: center;
	background: var(--cpp-accent) !important;
	border: 1px solid var(--cpp-accent) !important;
	border-radius: var(--cpp-radius-sm) !important;
	box-shadow: none !important;
	color: #062f2a !important;
	display: inline-flex;
	cursor: pointer;
	font-family: var(--cpp-font-family);
	font-size: var(--cpp-font-sm);
	font-weight: var(--cpp-weight-bold);
	gap: var(--cpp-space-2);
	justify-content: center;
	min-height: var(--cpp-control-height);
	padding: 0 18px;
	text-decoration: none;
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), border-color var(--cpp-motion-fast) var(--cpp-ease), box-shadow var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease), transform var(--cpp-motion-fast) var(--cpp-ease);
}

.cp-profile-page .cp-button:hover {
	background: #0eaa90 !important;
	border-color: #0eaa90 !important;
	transform: translateY(-1px);
}

.cp-profile-page .cp-button:active {
	transform: translateY(0) scale(.985);
}

.cp-profile-page .cp-button.cp-button-dark,
.cp-profile-page a.cp-button.cp-button-dark,
.cp-profile-page button.cp-button.cp-button-dark {
	background: var(--cpp-ink) !important;
	border-color: var(--cpp-ink) !important;
	color: #fff !important;
}

.cp-profile-page .cp-button.cp-button-dark:hover,
.cp-profile-page a.cp-button.cp-button-dark:hover,
.cp-profile-page button.cp-button.cp-button-dark:hover {
	background: var(--cpp-ink-2) !important;
	border-color: var(--cpp-ink-2) !important;
}

.cp-profile-page .cp-button.cp-button-soft,
.cp-profile-page a.cp-button.cp-button-soft,
.cp-profile-page button.cp-button.cp-button-soft,
.cp-profile-page .cp-small-action {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line-strong) !important;
	border-radius: var(--cpp-radius-sm) !important;
	color: var(--cpp-ink) !important;
}

.cp-profile-page .cp-button.cp-button-soft:hover,
.cp-profile-page a.cp-button.cp-button-soft:hover,
.cp-profile-page button.cp-button.cp-button-soft:hover,
.cp-profile-page .cp-small-action:hover {
	background: var(--cpp-accent-pale) !important;
	border-color: var(--cpp-accent) !important;
	color: var(--cpp-accent-strong) !important;
}

.cp-profile-page .cp-button.cp-button-danger,
.cp-profile-page a.cp-button.cp-button-danger,
.cp-profile-page button.cp-button.cp-button-danger {
	background: var(--cpp-danger) !important;
	border-color: var(--cpp-danger) !important;
	color: #fff !important;
}

.cp-profile-page .cp-button.cp-button-danger:hover,
.cp-profile-page a.cp-button.cp-button-danger:hover,
.cp-profile-page button.cp-button.cp-button-danger:hover {
	background: var(--cpp-danger-strong) !important;
	border-color: var(--cpp-danger-strong) !important;
}

.cp-profile-page .cp-button.cp-button-text,
.cp-profile-page a.cp-button.cp-button-text,
.cp-profile-page button.cp-button.cp-button-text {
	background: transparent !important;
	border-color: transparent !important;
	color: var(--cpp-accent-strong) !important;
	min-height: var(--cpp-target-min);
	padding: 0 var(--cpp-space-2);
}

.cp-profile-page .cp-button.cp-button-text:hover,
.cp-profile-page a.cp-button.cp-button-text:hover,
.cp-profile-page button.cp-button.cp-button-text:hover {
	background: var(--cpp-accent-pale) !important;
	transform: none;
}

.cp-profile-page .cp-button:disabled,
.cp-profile-page .cp-button[aria-disabled="true"],
.cp-profile-page .cp-button-disabled,
.cp-profile-page .cp-small-action:disabled {
	background: var(--cpp-disabled-bg) !important;
	border-color: var(--cpp-disabled-bg) !important;
	box-shadow: none !important;
	color: var(--cpp-disabled) !important;
	cursor: not-allowed;
	pointer-events: none;
	transform: none !important;
}

.cp-profile-page .cp-button.is-loading,
.cp-profile-page .cp-button[aria-busy="true"] {
	color: transparent !important;
	pointer-events: none;
	position: relative;
}

.cp-profile-page .cp-button.is-loading::after,
.cp-profile-page .cp-button[aria-busy="true"]::after {
	animation: cpp-spin .75s linear infinite;
	border: 2px solid rgba(11, 32, 55, .2);
	border-top-color: var(--cpp-ink);
	border-radius: var(--cpp-radius-full);
	content: "";
	height: 18px;
	left: 50%;
	margin: -9px 0 0 -9px;
	position: absolute;
	top: 50%;
	width: 18px;
}

.cp-profile-page .cp-small-action {
	align-items: center;
	display: inline-flex;
	font-size: 12px;
	font-weight: 750;
	justify-content: center;
	min-height: 42px;
	padding: 0 14px;
}

.cp-profile-page .cp-consent-option {
	align-items: flex-start;
	background: var(--cpp-surface-2) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-sm) !important;
	display: grid;
	gap: 11px;
	grid-template-columns: auto minmax(0, 1fr);
	padding: 13px;
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), border-color var(--cpp-motion-fast) var(--cpp-ease), box-shadow var(--cpp-motion-fast) var(--cpp-ease);
}

.cp-profile-page .cp-consent-option input[type="checkbox"] {
	accent-color: var(--cpp-accent-strong);
	cursor: pointer;
	height: 20px;
	margin: 1px 0 0;
	min-height: 20px;
	width: 20px;
}

.cp-profile-page .cp-consent-option span {
	display: grid;
	gap: 3px;
}

.cp-profile-page .cp-consent-option:hover {
	border-color: var(--cpp-line-strong) !important;
}

.cp-profile-page .cp-consent-option:has(input:checked) {
	background: var(--cpp-accent-pale) !important;
	border-color: rgba(18, 190, 161, .42) !important;
}

.cp-profile-page .cp-consent-option:has(input:focus-visible) {
	box-shadow: var(--cpp-shadow-focus);
	outline: 2px solid var(--cpp-accent-strong);
	outline-offset: 2px;
}

.cp-profile-page .cp-consent-option:has(input:disabled) {
	background: var(--cpp-disabled-bg) !important;
	color: var(--cpp-disabled);
	cursor: not-allowed;
	opacity: .8;
}

.cp-profile-page .cp-switch input {
	accent-color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-username-input {
	background: var(--cpp-surface-2) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-sm) !important;
}

.cp-profile-page .cp-username-prefix {
	background: var(--cpp-accent-soft) !important;
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-username-link,
.cp-profile-page .cp-public-favorites-note,
.cp-profile-page .cp-birthday-setting,
.cp-profile-page .cp-restaurant-photo-preview,
.cp-profile-page .cp-claims-form-note,
.cp-profile-page .cp-activity-limit {
	background: var(--cpp-accent-pale) !important;
	border: 1px solid #d6eee9 !important;
	border-radius: var(--cpp-radius-sm) !important;
	color: var(--cpp-ink);
}

.cp-profile-page .cp-username-link,
.cp-profile-page .cp-public-favorites-note,
.cp-profile-page .cp-birthday-setting,
.cp-profile-page .cp-restaurant-photo-preview {
	padding: 14px;
}

.cp-profile-page .cp-grid-2 {
	display: grid;
	gap: 13px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Configuración: cuatro bloques comprensibles, no una pared de controles. */
.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 18px !important;
	box-shadow: none !important;
	display: flex;
	gap: 5px;
	margin: 0 0 18px;
	overflow-x: auto;
	padding: 5px;
	scrollbar-width: none;
}

.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs::-webkit-scrollbar {
	display: none;
}

.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs a {
	background: transparent !important;
	border: 0 !important;
	border-radius: 13px !important;
	color: #596d7c;
	flex: 0 0 auto;
	align-items: center;
	display: inline-flex;
	font-size: var(--cpp-font-2xs);
	font-weight: var(--cpp-weight-semibold);
	min-height: var(--cpp-target-min);
	padding: 0 13px;
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease);
	white-space: nowrap;
}

.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs a.is-active,
.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs a:hover {
	background: var(--cpp-ink) !important;
	color: #fff !important;
}

.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs a:focus-visible {
	box-shadow: 0 0 0 3px rgba(18, 190, 161, .28);
	outline: 2px solid var(--cpp-accent-strong);
	outline-offset: 1px;
}

.cp-profile-page #perfil-publico,
.cp-profile-page #datos-personales,
.cp-profile-page #seguridad,
.cp-profile-page #facturacion {
	scroll-margin-top: 96px;
}

.cp-profile-page #perfil-publico:focus-visible,
.cp-profile-page #datos-personales:focus-visible,
.cp-profile-page #seguridad:focus-visible,
.cp-profile-page #facturacion:focus-visible {
	outline: 3px solid rgba(18, 190, 161, .45);
	outline-offset: 4px;
}

.cp-profile-page .cp-settings-grid {
	align-items: start;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.cp-profile-page .cp-settings-card--public {
	grid-row: span 2;
}

.cp-profile-page .cp-settings-card--security {
	align-self: stretch;
}

.cp-profile-page [data-profile-section="configuracion"] > .cp-card,
.cp-profile-page .cp-profile-tools {
	margin-top: 16px;
}

.cp-profile-page .cp-profile-tools > .cp-help-grid {
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 16px;
	display: grid;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 16px;
	overflow: hidden;
}

.cp-profile-page .cp-profile-tools .cp-item {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid var(--cpp-line) !important;
	border-radius: 0 !important;
	min-height: 82px;
	padding: 17px !important;
}

.cp-profile-page .cp-profile-tools .cp-item:nth-child(odd) {
	border-right: 1px solid var(--cpp-line) !important;
}

.cp-profile-page .cp-profile-tools .cp-item h3 {
	font-size: 14px;
}

.cp-profile-page .cp-profile-tools .cp-item p {
	font-size: 11px;
	line-height: 1.4;
	margin: 4px 0 0;
}

/* Listas y estados vacíos comparten el patrón de las referencias: una sola superficie. */
.cp-profile-page .cp-list {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	display: grid;
	gap: 0 !important;
	overflow: hidden;
}

.cp-profile-page .cp-list > .cp-item,
.cp-profile-page .cp-list > .cp-activity-card,
.cp-profile-page .cp-list > .cp-order-card {
	border: 0 !important;
	border-bottom: 1px solid var(--cpp-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.cp-profile-page .cp-list > :last-child {
	border-bottom: 0 !important;
}

.cp-profile-page .cp-empty {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	box-shadow: none !important;
	padding: 28px !important;
	text-align: center;
}

.cp-profile-page .cp-empty h3 {
	font-size: 17px;
}

.cp-profile-page .cp-empty p {
	font-size: 12px;
	line-height: 1.5;
	margin: 7px auto 0;
	max-width: 430px;
}

/* Primitivas compartidas: superficies, banners, estados, chips e iconos. */
.cp-profile-page .cp-card--elevated {
	box-shadow: var(--cpp-shadow-soft) !important;
}

.cp-profile-page .cp-card--interactive {
	cursor: pointer;
}

.cp-profile-page .cp-card--interactive:hover {
	border-color: var(--cpp-line-strong) !important;
	box-shadow: var(--cpp-shadow-soft) !important;
	transform: translateY(-2px);
}

.cp-profile-page .cp-banner,
.cp-profile-page .cp-alert {
	align-items: flex-start;
	background: var(--cpp-info-soft) !important;
	border: 1px solid #cce5f7 !important;
	border-radius: var(--cpp-radius-sm) !important;
	color: var(--cpp-ink) !important;
	display: flex;
	font-size: var(--cpp-font-sm);
	gap: var(--cpp-space-3);
	line-height: var(--cpp-leading-body);
	margin-bottom: var(--cpp-space-4);
	padding: 14px var(--cpp-space-4) !important;
}

.cp-profile-page .cp-alert-success,
.cp-profile-page .cp-banner--success {
	background: var(--cpp-success-soft) !important;
	border-color: #bee9dc !important;
	color: #075f51 !important;
}

.cp-profile-page .cp-alert-error,
.cp-profile-page .cp-banner--danger {
	background: var(--cpp-danger-soft) !important;
	border-color: #f1cbd0 !important;
	color: var(--cpp-danger-strong) !important;
}

.cp-profile-page .cp-banner--warning {
	background: var(--cpp-warning-soft) !important;
	border-color: #f0ddb2 !important;
	color: #765013 !important;
}

.cp-profile-page .cp-status,
.cp-profile-page .cp-chip {
	align-items: center;
	background: var(--cpp-surface-2) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-full) !important;
	color: #526674 !important;
	display: inline-flex;
	font-size: var(--cpp-font-2xs);
	font-weight: var(--cpp-weight-bold);
	gap: 6px;
	justify-content: center;
	line-height: 1.2;
	min-height: 30px;
	padding: 5px 10px;
	white-space: nowrap;
}

.cp-profile-page .cp-status.is-success,
.cp-profile-page .cp-status-success,
.cp-profile-page .cp-chip.is-active,
.cp-profile-page .cp-chip[aria-pressed="true"] {
	background: var(--cpp-success-soft) !important;
	border-color: #bee9dc !important;
	color: var(--cpp-success) !important;
}

.cp-profile-page .cp-status.is-warning,
.cp-profile-page .cp-status-warning {
	background: var(--cpp-warning-soft) !important;
	border-color: #f0ddb2 !important;
	color: var(--cpp-warning) !important;
}

.cp-profile-page .cp-status.is-danger,
.cp-profile-page .cp-status-danger {
	background: var(--cpp-danger-soft) !important;
	border-color: #f1cbd0 !important;
	color: var(--cpp-danger) !important;
}

.cp-profile-page .cp-status.is-info,
.cp-profile-page .cp-status-info {
	background: var(--cpp-info-soft) !important;
	border-color: #cce5f7 !important;
	color: var(--cpp-info) !important;
}

.cp-profile-page .cp-address-action-danger {
	color: var(--cpp-danger) !important;
}

.cp-profile-page .cp-address-action-danger:hover {
	background: var(--cpp-danger-soft) !important;
	border-color: #f1cbd0 !important;
	color: var(--cpp-danger-strong) !important;
}

.cp-profile-page button.cp-chip {
	cursor: pointer;
	min-height: var(--cpp-target-min);
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), border-color var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease);
}

.cp-profile-page button.cp-chip:hover {
	border-color: var(--cpp-accent) !important;
	color: var(--cpp-accent-strong) !important;
}

.cp-profile-page .cp-icon,
.cp-profile-page .cp-icon-button {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	justify-content: center;
}

.cp-profile-page .cp-icon {
	background: var(--cpp-accent-soft);
	border-radius: var(--cpp-radius-xs);
	color: var(--cpp-accent-strong);
	height: 40px;
	width: 40px;
}

.cp-profile-page .cp-icon--sm {
	height: 32px;
	width: 32px;
}

.cp-profile-page .cp-icon--lg {
	border-radius: var(--cpp-radius-sm);
	height: 48px;
	width: 48px;
}

.cp-profile-page .cp-icon-button {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-full) !important;
	color: var(--cpp-ink) !important;
	cursor: pointer;
	height: var(--cpp-target-min);
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), border-color var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease);
	width: var(--cpp-target-min);
}

.cp-profile-page .cp-icon-button:hover {
	background: var(--cpp-accent-pale) !important;
	border-color: var(--cpp-accent) !important;
	color: var(--cpp-accent-strong) !important;
}

.cp-profile-page .cp-skeleton,
.cp-profile-page [data-loading="true"] .cp-skeleton-line {
	animation: cpp-skeleton 1.35s ease-in-out infinite;
	background: linear-gradient(90deg, #e8efed 20%, #f6f9f8 40%, #e8efed 60%);
	background-size: 240% 100%;
	border-radius: var(--cpp-radius-xs);
	color: transparent !important;
	min-height: 16px;
	pointer-events: none;
}

.cp-profile-page .cp-skeleton--control {
	min-height: var(--cpp-control-height);
}

.cp-profile-page .cp-skeleton--card {
	border-radius: var(--cpp-radius-md);
	min-height: 180px;
}

@keyframes cpp-spin {
	to { transform: rotate(360deg); }
}

@keyframes cpp-skeleton {
	0% { background-position: 100% 0; }
	100% { background-position: -100% 0; }
}

/* Favoritos: colección editorial, filtros compactos y acciones consistentes. */
.cp-profile-page .cp-favorite-passport,
.cp-profile-page .cp-activity-summary,
.cp-profile-page .cp-wallet-v2-hero,
.cp-profile-page .cp-claims-hero,
.cp-profile-page .rw4-intro {
	background: var(--cpp-ink) !important;
	background-image: none !important;
	border: 1px solid rgba(18, 190, 161, .42) !important;
	border-radius: var(--cpp-radius-lg) !important;
	box-shadow: var(--cpp-shadow) !important;
	color: #fff !important;
}

.cp-profile-page .cp-favorite-passport::after,
.cp-profile-page .cp-wallet-v2-hero::after,
.cp-profile-page .cp-claims-hero::after,
.cp-profile-page .rw4-intro::after {
	display: none !important;
}

.cp-profile-page .cp-favorite-passport p,
.cp-profile-page .cp-activity-summary p,
.cp-profile-page .cp-wallet-v2-hero p,
.cp-profile-page .cp-claims-hero p,
.cp-profile-page .rw4-intro p {
	color: rgba(255, 255, 255, .72) !important;
}

.cp-profile-page .cp-favorite-tabs,
.cp-profile-page .cp-activity-filters {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 16px !important;
	display: flex;
	gap: 4px;
	padding: 4px;
}

.cp-profile-page .cp-favorite-tab,
.cp-profile-page .cp-activity-chip {
	background: transparent !important;
	border: 0 !important;
	border-radius: 12px !important;
	color: #607382 !important;
	cursor: pointer;
	font-size: var(--cpp-font-2xs);
	font-weight: var(--cpp-weight-semibold);
	min-height: var(--cpp-target-min);
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease), box-shadow var(--cpp-motion-fast) var(--cpp-ease);
}

.cp-profile-page .cp-favorite-tab.is-active,
.cp-profile-page .cp-activity-chip.is-active {
	background: var(--cpp-ink) !important;
	color: #fff !important;
}

.cp-profile-page .cp-favorite-tab:hover:not(.is-active),
.cp-profile-page .cp-activity-chip:hover:not(.is-active) {
	background: var(--cpp-accent-pale) !important;
	color: var(--cpp-accent-strong) !important;
}

.cp-profile-page .cp-favorite-tab:disabled,
.cp-profile-page .cp-activity-chip:disabled {
	color: var(--cpp-disabled) !important;
	cursor: not-allowed;
	opacity: .65;
}

.cp-profile-page details > summary {
	border-radius: inherit;
	transition: background-color var(--cpp-motion-fast) var(--cpp-ease), color var(--cpp-motion-fast) var(--cpp-ease);
}

.cp-profile-page details > summary:hover {
	background-color: var(--cpp-accent-pale) !important;
}

.cp-profile-page details[open] > summary {
	color: var(--cpp-ink);
}

.cp-profile-page .cp-favorite-card--passport {
	border-radius: 24px !important;
	overflow: hidden;
}

.cp-profile-page .cp-favorite-passport-media img {
	display: block;
	min-height: 230px;
	object-fit: cover;
	width: 100%;
}

.cp-profile-page .cp-favorite-visibility {
	background: var(--cpp-accent-pale) !important;
	border-color: #d3eee8 !important;
}

.cp-profile-page .cp-favorite-visibility.is-public {
	background: var(--cpp-accent-soft) !important;
}

/* Beneficios: tarjetas tipo billetera, sin efectos decorativos ajenos a la marca. */
.cp-profile-page .cp-wallet-v2,
.cp-profile-page .cp-claims,
.cp-profile-page .rw4-local-list {
	display: grid;
	gap: 16px;
}

.cp-profile-page .cp-wallet-v2-identity,
.cp-profile-page .cp-progress-v2-identity {
	display: none !important;
}

.cp-profile-page .cp-wallet-v2-hero {
	padding: 26px !important;
}

.cp-profile-page .cp-wallet-v2-counts {
	background: rgba(255, 255, 255, .08) !important;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 18px !important;
}

.cp-profile-page .cp-wallet-v2-counts > div + div {
	border-color: rgba(255, 255, 255, .12) !important;
}

.cp-profile-page .cp-wallet-v2-counts span,
.cp-profile-page .cp-wallet-v2-icon,
.cp-profile-page .cp-wallet-v2-wallet-icon,
.cp-profile-page .cp-wallet-v2-movement-icon {
	background: var(--cpp-accent-soft) !important;
	color: var(--cpp-accent-strong) !important;
}

.cp-profile-page .cp-wallet-v2-empty {
	background: rgba(255, 255, 255, .08) !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 16px !important;
}

.cp-profile-page .cp-wallet-v2-status-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-wallet-v2-status-panel {
	padding: 20px !important;
}

.cp-profile-page .cp-wallet-v2-status-empty,
.cp-profile-page .cp-wallet-v2-wallet-list,
.cp-profile-page .cp-wallet-v2-ledger {
	background: var(--cpp-surface-2) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 16px !important;
}

.cp-profile-page .cp-wallet-v2-wallet-item,
.cp-profile-page .cp-wallet-v2-movement {
	border-color: var(--cpp-line) !important;
}

.cp-profile-page .cp-wallet-v2-local-details {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	box-shadow: none !important;
	overflow: hidden;
}

.cp-profile-page .cp-wallet-v2-local-details > summary {
	min-height: 76px;
	padding: 18px 20px !important;
}

.cp-profile-page .cp-wallet-v2-local-details > summary > i,
.cp-profile-page [data-toggle-form] > i {
	transition: transform .2s ease;
}

.cp-profile-page .cp-wallet-v2-local-details[open] > summary > i,
.cp-profile-page [data-toggle-form].is-expanded > i {
	transform: rotate(180deg);
}

/* Recompensas por local: resumen primero; QR, reglas e historial bajo demanda. */
.cp-profile-page .rw4-intro {
	align-items: end;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 28px !important;
}

.cp-profile-page .rw4-eyebrow {
	color: #66e2cc !important;
}

.cp-profile-page .rw4-summary {
	background: rgba(255, 255, 255, .09) !important;
	border: 1px solid rgba(255, 255, 255, .12) !important;
	border-radius: 18px !important;
}

.cp-profile-page .rw4-summary div + div {
	border-color: rgba(255, 255, 255, .13) !important;
}

.cp-profile-page details.rw4-local {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 24px !important;
	box-shadow: none !important;
	overflow: hidden;
}

.cp-profile-page .rw4-local-head {
	align-items: center;
	background: var(--cpp-surface) !important;
	border: 0 !important;
	cursor: pointer;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(0, 1fr) auto auto;
	list-style: none;
	min-height: 92px;
	padding: 17px 19px !important;
}

.cp-profile-page .rw4-local-head::-webkit-details-marker {
	display: none;
}

.cp-profile-page .rw4-local-head > i {
	color: var(--cpp-muted);
	font-size: 18px;
	transition: transform .2s ease;
}

.cp-profile-page details.rw4-local[open] .rw4-local-head > i {
	transform: rotate(180deg);
}

.cp-profile-page .rw4-local-body {
	border-top: 1px solid var(--cpp-line);
	display: grid;
	gap: 14px;
	padding: 16px;
}

.cp-profile-page .rw4-balances {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .rw4-balance,
.cp-profile-page .rw4-state-panel,
.cp-profile-page .rw4-nearest,
.cp-profile-page .rw4-redeem,
.cp-profile-page .rw4-program,
.cp-profile-page .rw4-no-reward,
.cp-profile-page .rw4-ready-banner,
.cp-profile-page .rw4-available {
	background: var(--cpp-surface-2) !important;
	background-image: none !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 17px !important;
	box-shadow: none !important;
}

.cp-profile-page .rw4-balance--points {
	background: var(--cpp-ink) !important;
	border-color: var(--cpp-ink) !important;
	color: #fff !important;
}

.cp-profile-page .rw4-balance--points p,
.cp-profile-page .rw4-balance--points small {
	color: rgba(255, 255, 255, .7) !important;
}

.cp-profile-page .rw4-balance--stamps {
	background: #fffaf0 !important;
}

.cp-profile-page .rw4-progress,
.cp-profile-page .cp-wallet-v2-mini-progress {
	background: #e3ebe9 !important;
}

.cp-profile-page .rw4-progress > span,
.cp-profile-page .cp-wallet-v2-mini-progress > span {
	background: var(--cpp-accent) !important;
	background-image: none !important;
}

.cp-profile-page .rw4-redeem {
	grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr) !important;
}

.cp-profile-page .rw4-local-logo,
.cp-profile-page .rw4-local-initial {
	border-radius: 14px !important;
}

/* Reclamos, ayuda, direcciones y reservas usan el mismo ritmo. */
.cp-profile-page .cp-claims-hero {
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 28px !important;
}

.cp-profile-page .cp-claims-sla-grid {
	display: grid;
	gap: 0 !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	overflow: hidden;
}

.cp-profile-page .cp-claims-sla {
	background: transparent !important;
	border: 0 !important;
	border-right: 1px solid var(--cpp-line) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 17px !important;
}

.cp-profile-page .cp-claims-sla:last-child {
	border-right: 0 !important;
}

.cp-profile-page [data-profile-section="ayuda"] .cp-help-grid {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
	overflow: hidden;
}

.cp-profile-page [data-profile-section="ayuda"] .cp-help-grid .cp-item {
	border: 0 !important;
	border-bottom: 1px solid var(--cpp-line) !important;
	border-radius: 0 !important;
	min-height: 82px;
	padding: 18px 20px !important;
}

.cp-profile-page [data-profile-section="ayuda"] .cp-help-grid .cp-item:last-child {
	border-bottom: 0 !important;
}

.cp-profile-page [data-profile-section="ayuda"] .cp-help-grid .cp-item {
	position: relative;
}

.cp-profile-page [data-profile-section="ayuda"] .cp-help-grid .cp-item[hidden] {
	display: none !important;
}

.cp-profile-page .cp-help-result-count {
	color: var(--cpp-muted);
	font-size: 12px;
	margin: 9px 3px 12px;
}

.cp-profile-page .cp-help-search-empty {
	background: var(--cpp-surface) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-md) !important;
	margin-top: 12px;
	padding: 28px 20px !important;
}

.cp-profile-page .cp-help-search-empty[hidden] {
	display: none !important;
}

.cp-profile-page .cp-activity-search {
	align-items: center;
	display: grid;
	gap: 9px;
	grid-template-columns: auto minmax(0, 1fr);
	min-height: 50px;
	padding: 0 14px;
}

.cp-profile-page .cp-activity-search input {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	min-height: 46px;
	outline: 0 !important;
	width: 100%;
}

.cp-profile-page .cp-reservation-hero {
	background: var(--cpp-ink) !important;
	background-image: none !important;
	border: 1px solid rgba(18, 190, 161, .42) !important;
	border-radius: var(--cpp-radius-lg) !important;
	color: #fff;
}

.cp-profile-page .cp-address-form-card {
	background: #fff !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: var(--cpp-radius-lg) !important;
	box-shadow: 0 28px 80px rgba(11, 32, 55, .2) !important;
	box-sizing: border-box;
	max-width: min(760px, calc(100vw - 32px));
	overflow-x: hidden !important;
	overscroll-behavior: contain;
	z-index: 61 !important;
}

.cp-profile-page .cp-address-alias-grid input[type="radio"] {
	height: 1px !important;
	width: 1px !important;
}

.cp-profile-page .cp-address-backdrop {
	background: rgba(6, 25, 42, .58);
	inset: 0;
	position: fixed;
	z-index: 60;
}

.cp-profile-page .cp-address-backdrop[hidden] {
	display: none !important;
}

body.cp-address-dialog-open {
	overflow: hidden !important;
}

.cp-profile-page .cp-claims-form-card {
	scroll-margin-bottom: 120px;
	scroll-margin-top: 96px;
}

.cp-profile-page .cp-claims-form-head {
	align-items: flex-start;
	display: flex;
	gap: 16px;
	justify-content: space-between;
}

.cp-profile-page .cp-claims-form-head h2 {
	font-size: 24px;
	margin: 5px 0 0;
}

.cp-profile-page [data-toggle-form] {
	align-items: center;
	display: inline-flex;
	gap: 8px;
	justify-content: center;
}

/* Portada y navegación inferior: misma familia visual que el resto. */
.cp-profile-page .cp-personal-hero {
	background: var(--cpp-ink) !important;
	background-image: none !important;
	border-color: rgba(18, 190, 161, .42) !important;
	box-shadow: var(--cpp-shadow) !important;
}

.cp-profile-page .cp-personal-hero::before,
.cp-profile-page .cp-personal-hero::after {
	display: none !important;
}

.cp-profile-page .cp-home-utilities > a {
	box-shadow: var(--cpp-shadow) !important;
}

.cp-profile-page .cp-mobile-nav {
	align-items: center;
	background: rgba(255, 255, 255, .98) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 25px !important;
	box-shadow: 0 16px 42px rgba(11, 32, 55, .18) !important;
	display: none;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 6px !important;
}

.cp-profile-page .cp-mobile-nav a {
	align-items: center;
	background: transparent !important;
	border-radius: 19px !important;
	color: #74848f !important;
	display: grid;
	font-size: 9px;
	font-weight: 750;
	gap: 3px;
	justify-items: center;
	min-height: 58px;
	padding: 6px 4px !important;
}

.cp-profile-page .cp-mobile-nav a.is-primary {
	background: var(--cpp-ink) !important;
	color: #fff !important;
}

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

@media (min-width: 921px) {
	.cp-profile-page .cp-profile-topbar:not(.cp-profile-topbar--passport) {
		display: none;
	}

	.cp-profile-page .cp-main--passport .cp-profile-topbar {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.cp-profile-page [data-profile-section="configuracion"] > .cp-card:not(.cp-profile-tools) {
		max-width: 100%;
	}
}

@media (max-width: 920px) {
	.cp-profile-page {
		padding-bottom: calc(124px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.cp-profile-page .cp-layout {
		display: block;
		max-width: 430px !important;
		padding: 0 16px calc(54px + env(safe-area-inset-bottom, 0px)) !important;
	}

	.cp-profile-page .cp-sidebar {
		display: none !important;
	}

	.cp-profile-page .cp-profile-topbar {
		background: var(--cpp-bg) !important;
		border: 0 !important;
		border-bottom: 1px solid var(--cpp-line) !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		grid-template-columns: 46px minmax(0, 1fr) 46px !important;
		margin: 0 -16px 24px !important;
		min-height: 78px !important;
		padding: 12px 16px !important;
		position: sticky;
		top: 0;
		z-index: 15;
	}

	.cp-profile-page .cp-profile-topbar-title {
		background-image: url('/images/logo_sticky.png');
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		height: 32px;
	}

	.cp-profile-page .cp-profile-topbar-title span,
	.cp-profile-page .cp-profile-topbar-title strong {
		clip: rect(0 0 0 0);
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}

	.cp-profile-page .cp-profile-topbar--passport {
		background: var(--cpp-ink) !important;
		border-bottom: 0 !important;
		grid-template-columns: minmax(0, 1fr) 46px !important;
		margin-bottom: 0 !important;
	}

	.cp-profile-page .cp-profile-topbar--passport .cp-profile-brand-link img {
		content: url('/images/logo.svg');
		max-width: 170px;
	}

	.cp-profile-page .cp-title-row {
		display: block !important;
		margin: 0 4px 20px !important;
	}

	.cp-profile-page .cp-desktop-back {
		display: none !important;
	}

	.cp-profile-page .cp-main--passport .cp-title-row {
		display: none !important;
	}

	.cp-profile-page .cp-title-row h1 {
		font-size: 34px !important;
	}

	.cp-profile-page .cp-title-row .cp-muted {
		font-size: 13px;
		margin-top: 8px;
	}

	.cp-profile-page .cp-card,
	.cp-profile-page .cp-config-card {
		padding: 18px !important;
	}

	.cp-profile-page .cp-settings-grid,
	.cp-profile-page .cp-wallet-v2-status-grid,
	.cp-profile-page .rw4-intro,
	.cp-profile-page .rw4-balances,
	.cp-profile-page .rw4-redeem,
	.cp-profile-page .cp-claims-hero,
	.cp-profile-page .cp-claims-sla-grid,
	.cp-profile-page .cp-grid-2 {
		grid-template-columns: 1fr !important;
	}

	.cp-profile-page .cp-settings-card--public {
		grid-row: auto;
	}

	.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs {
		flex-wrap: nowrap !important;
		margin-left: -2px;
		margin-right: -2px;
		position: sticky;
		top: 86px;
		z-index: 14;
	}

	.cp-profile-page [data-profile-section="configuracion"] .cp-config-tabs a {
		min-height: 44px;
	}

	.cp-profile-page #perfil-publico,
	.cp-profile-page #datos-personales,
	.cp-profile-page #seguridad,
	.cp-profile-page #facturacion {
		scroll-margin-top: 108px;
	}

	.cp-profile-page .cp-profile-tools > .cp-help-grid {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-profile-tools .cp-item,
	.cp-profile-page .cp-profile-tools .cp-item:nth-child(odd) {
		border-right: 0 !important;
	}

	.cp-profile-page .cp-username-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-username-actions .cp-button,
	.cp-profile-page .cp-config-card > .cp-button,
	.cp-profile-page .cp-config-card form > .cp-button {
		width: 100% !important;
	}

	.cp-profile-page .cp-favorite-passport,
	.cp-profile-page .cp-wallet-v2-hero,
	.cp-profile-page .cp-claims-hero,
	.cp-profile-page .rw4-intro {
		border-radius: 26px !important;
		padding: 22px !important;
	}

	.cp-profile-page .cp-favorite-passport h2,
	.cp-profile-page .cp-claims-hero h2,
	.cp-profile-page .rw4-intro h2 {
		font-size: 27px !important;
		line-height: 1.05;
	}

	.cp-profile-page .cp-claims-sla-grid {
		gap: 0 !important;
	}

	.cp-profile-page .cp-claims-sla,
	.cp-profile-page .cp-claims-sla:last-child {
		border-bottom: 1px solid var(--cpp-line) !important;
		border-right: 0 !important;
	}

	.cp-profile-page .cp-claims-sla:last-child {
		border-bottom: 0 !important;
	}

	.cp-profile-page .rw4-local-head {
		grid-template-columns: minmax(0, 1fr) auto;
		padding: 15px !important;
	}

	.cp-profile-page .rw4-local-head .rw4-state {
		display: none;
	}

	.cp-profile-page .rw4-local-body {
		padding: 12px;
	}

	.cp-profile-page .cp-address-form-card {
		border-radius: 22px !important;
		bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
		left: 8px !important;
		max-height: calc(100dvh - max(16px, env(safe-area-inset-bottom, 0px))) !important;
		max-width: none !important;
		right: 8px !important;
		top: 8px !important;
		transform: none !important;
		width: auto !important;
	}

	.cp-profile-page .cp-address-map {
		touch-action: pan-y;
	}

	.cp-profile-page .cp-address-form-actions {
		background: #fff;
		bottom: -18px;
		margin: 18px -18px -18px;
		padding: 14px 18px calc(14px + env(safe-area-inset-bottom, 0px));
		position: sticky;
		z-index: 3;
	}

	.cp-profile-page .cp-claims-form-card {
		scroll-margin-bottom: 132px;
		scroll-margin-top: 106px;
	}

	.cp-profile-page .cp-mobile-nav {
		bottom: 10px;
		display: grid !important;
		left: max(12px, calc((100vw - 430px) / 2 + 12px));
		position: fixed;
		right: max(12px, calc((100vw - 430px) / 2 + 12px));
		z-index: 40;
	}
}

@media (max-width: 370px) {
	.cp-profile-page .cp-layout {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.cp-profile-page .cp-profile-topbar {
		margin-left: -12px !important;
		margin-right: -12px !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.cp-profile-page .cp-title-row h1 {
		font-size: 31px !important;
	}

	.cp-profile-page .cp-card,
	.cp-profile-page .cp-config-card {
		padding: 16px !important;
	}
}

/* Fase 3 · cascarón, orientación y navegación compartidos. */
.cp-profile-page .cp-sidebar-brand {
	align-items: center;
	display: flex;
	height: 46px;
	justify-content: center;
	margin: 0 6px 8px;
	padding: 7px 10px;
}

.cp-profile-page .cp-sidebar-brand img {
	display: block;
	height: auto;
	max-height: 30px;
	max-width: 156px;
	width: 100%;
}

.cp-profile-page .cp-sidebar-head {
	margin-bottom: 8px !important;
	padding: 12px 8px 14px !important;
}

.cp-profile-page .cp-sidebar-identity {
	min-width: 0;
}

.cp-profile-page .cp-sidebar-eyebrow {
	color: var(--cpp-accent-strong);
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1.2;
	margin-bottom: 3px;
	text-transform: uppercase;
}

.cp-profile-page .cp-sidebar-identity .cp-name,
.cp-profile-page .cp-sidebar-identity .cp-muted {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-public-profile-link {
	align-items: center;
	background: var(--cpp-accent-pale);
	border: 1px solid #cbece5;
	border-radius: 14px;
	color: var(--cpp-accent-strong);
	display: flex;
	font-size: 12px;
	font-weight: 800;
	gap: 8px;
	justify-content: center;
	margin: 0 2px 10px;
	min-height: 40px;
	padding: 8px 10px;
}

.cp-profile-page .cp-public-profile-link:hover {
	background: var(--cpp-accent-soft);
}

.cp-profile-page .cp-menu-group {
	color: #82919c;
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .11em;
	padding: 13px 10px 5px;
	text-transform: uppercase;
}

.cp-profile-page .cp-menu-link {
	position: relative;
}

.cp-profile-page .cp-menu-link > span:nth-child(2) {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-menu-current {
	font-size: 15px;
	margin-left: auto;
}

.cp-profile-page .cp-menu-logout {
	color: var(--cpp-danger) !important;
}

.cp-profile-page .cp-menu-logout .cp-menu-icon {
	background: var(--cpp-danger-soft) !important;
	color: var(--cpp-danger) !important;
}

.cp-profile-page .cp-drawer-top {
	align-items: center;
	border-bottom: 1px solid var(--cpp-line);
	display: flex;
	justify-content: space-between !important;
	margin: 0 2px 8px !important;
	min-height: 52px;
	padding: 0 2px 8px;
}

.cp-profile-page .cp-drawer-top strong {
	font-size: 14px;
	font-weight: 800;
}

.cp-profile-page .cp-profile-topbar:not(.cp-profile-topbar--passport) {
	background: rgba(255, 255, 255, .94) !important;
	border: 1px solid var(--cpp-line) !important;
	border-radius: 20px !important;
	box-shadow: var(--cpp-shadow-soft) !important;
	padding: 8px 10px !important;
}

.cp-profile-page .cp-breadcrumb {
	align-items: center;
	color: var(--cpp-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 12px;
	font-weight: 700;
	gap: 6px;
	margin-bottom: 13px;
}

.cp-profile-page .cp-breadcrumb a {
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-breadcrumb a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.cp-profile-page .cp-breadcrumb span[aria-current="page"] {
	color: var(--cpp-muted);
}

.cp-profile-page .cp-breadcrumb i {
	color: #a7b4bc;
	font-size: 12px;
}

.cp-profile-page .cp-mobile-nav {
	grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

@media (min-width: 921px) {
	.cp-profile-page .cp-profile-topbar:not(.cp-profile-topbar--passport) {
		display: grid !important;
		grid-template-columns: 46px minmax(0, 1fr) 46px !important;
		margin-bottom: 26px;
		min-height: 64px;
	}

	.cp-profile-page .cp-profile-topbar-title span {
		font-size: 9px;
	}

	.cp-profile-page .cp-profile-topbar-title strong {
		font-size: 15px;
	}

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

@media (max-width: 920px) {
	.cp-profile-page .cp-profile-topbar:not(.cp-profile-topbar--passport) {
		border-left: 0 !important;
		border-radius: 0 !important;
		border-right: 0 !important;
		box-shadow: none !important;
	}

	.cp-profile-page .cp-breadcrumb {
		display: none;
	}

	.cp-profile-page .cp-mobile-nav a {
		font-size: 8px;
		min-width: 0;
		padding-left: 2px !important;
		padding-right: 2px !important;
	}

	.cp-profile-page .cp-mobile-nav a > span:last-child {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.cp-profile-page .cp-drawer .cp-sidebar-brand {
		margin-top: 2px;
	}
}

/* Fase 4 · inicio del perfil: identidad, colección y utilidad sin ruido. */
.cp-profile-page .cp-home4 {
	display: grid;
	gap: 26px;
	margin: 0 auto;
	max-width: 940px;
	padding: 0 0 44px;
	width: 100%;
}

.cp-profile-page .cp-home4-hero {
	background: var(--cpp-ink);
	border: 1px solid rgba(18, 190, 161, .42);
	border-radius: 30px;
	color: #fff;
	display: grid;
	gap: 20px 30px;
	grid-template-columns: minmax(0, 1fr) 250px;
	grid-template-rows: auto 1fr;
	min-height: 268px;
	overflow: hidden;
	padding: 28px;
	position: relative;
}

.cp-profile-page .cp-home4-hero::after {
	background: var(--cpp-accent);
	border-radius: 999px;
	content: "";
	filter: blur(1px);
	height: 150px;
	opacity: .1;
	position: absolute;
	right: -52px;
	top: -58px;
	width: 150px;
}

.cp-profile-page .cp-home4-identity {
	align-items: center;
	display: flex;
	gap: 16px;
	min-width: 0;
	position: relative;
	z-index: 1;
}

.cp-profile-page .cp-home4-avatar {
	background: #fff;
	border: 4px solid rgba(255, 255, 255, .9);
	border-radius: 22px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
	height: 72px;
	object-fit: cover;
	width: 72px;
}

.cp-profile-page .cp-home4-identity > div {
	min-width: 0;
}

.cp-profile-page .cp-home4-visibility {
	align-items: center;
	color: #74e2cf;
	display: flex;
	font-size: 10px;
	font-weight: 800;
	gap: 6px;
	letter-spacing: .07em;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.cp-profile-page .cp-home4-identity h2 {
	color: #fff;
	font-size: 32px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1.05;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-identity p {
	color: rgba(255, 255, 255, .66);
	font-size: 13px;
	margin: 5px 0 0;
}

.cp-profile-page .cp-home4-intro {
	align-self: end;
	max-width: 560px;
	position: relative;
	z-index: 1;
}

.cp-profile-page .cp-home4-intro > strong {
	display: block;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.02em;
}

.cp-profile-page .cp-home4-intro > p {
	color: rgba(255, 255, 255, .68);
	font-size: 13px;
	line-height: 1.5;
	margin: 6px 0 16px;
	max-width: 490px;
}

.cp-profile-page .cp-home4-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.cp-profile-page .cp-home4-actions a {
	align-items: center;
	border-radius: 14px;
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 7px;
	justify-content: center;
	min-height: 42px;
	padding: 9px 14px;
}

.cp-profile-page .cp-home4-action-primary {
	background: var(--cpp-accent);
	color: #052e2a !important;
}

.cp-profile-page .cp-home4-action-primary:hover {
	background: #36d4b9;
}

.cp-profile-page .cp-home4-action-secondary {
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .18);
	color: #fff !important;
}

.cp-profile-page .cp-home4-stats {
	align-self: stretch;
	background: rgba(255, 255, 255, .075);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 22px;
	display: grid;
	grid-column: 2;
	grid-row: 1 / span 2;
	grid-template-rows: repeat(3, minmax(0, 1fr));
	padding: 5px 16px;
	position: relative;
	z-index: 1;
}

.cp-profile-page .cp-home4-stats > div {
	align-items: center;
	display: grid;
	gap: 0 12px;
	grid-template-columns: 48px minmax(0, 1fr);
	padding: 10px 2px;
}

.cp-profile-page .cp-home4-stats > div + div {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.cp-profile-page .cp-home4-stats strong {
	color: #fff;
	font-size: 30px;
	font-weight: 800;
	grid-row: 1 / span 2;
	letter-spacing: -.05em;
	line-height: 1;
}

.cp-profile-page .cp-home4-stats span {
	color: rgba(255, 255, 255, .76);
	font-size: 12px;
	font-weight: 750;
}

.cp-profile-page .cp-home4-stats small {
	color: #72ddca;
	font-size: 9px;
	font-weight: 700;
}

.cp-profile-page .cp-home4-shortcuts {
	background: var(--cpp-surface);
	border: 1px solid var(--cpp-line);
	border-radius: 22px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	overflow: hidden;
}

.cp-profile-page .cp-home4-shortcuts > a {
	align-items: center;
	color: var(--cpp-ink);
	display: grid;
	gap: 11px;
	grid-template-columns: 40px minmax(0, 1fr) auto;
	min-height: 82px;
	padding: 14px 16px;
}

.cp-profile-page .cp-home4-shortcuts > a + a {
	border-left: 1px solid var(--cpp-line);
}

.cp-profile-page .cp-home4-shortcuts > a:hover {
	background: var(--cpp-accent-pale);
}

.cp-profile-page .cp-home4-shortcut-icon {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 13px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 40px;
	justify-content: center;
	width: 40px;
}

.cp-profile-page .cp-home4-shortcut-icon i {
	font-size: 18px;
}

.cp-profile-page .cp-home4-shortcuts > a > span:nth-child(2) {
	display: grid;
	min-width: 0;
}

.cp-profile-page .cp-home4-shortcuts strong {
	font-size: 14px;
	font-weight: 800;
}

.cp-profile-page .cp-home4-shortcuts small {
	color: var(--cpp-muted);
	font-size: 10px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-shortcuts > a > i {
	color: #97a6af;
	font-size: 15px;
}

.cp-profile-page .cp-home4-content {
	align-items: start;
	display: grid;
	gap: 26px;
	grid-template-columns: minmax(0, 1.45fr) minmax(265px, .7fr);
}

.cp-profile-page .cp-home4-favorites {
	display: grid;
	gap: 17px;
	min-width: 0;
}

.cp-profile-page .cp-home4-section-head {
	align-items: end;
	display: flex;
	gap: 20px;
	justify-content: space-between;
}

.cp-profile-page .cp-home4-section-head > div {
	min-width: 0;
}

.cp-profile-page .cp-home4-section-head span,
.cp-profile-page .cp-home4-rail-section header span {
	color: var(--cpp-accent-strong);
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .1em;
	margin-bottom: 4px;
	text-transform: uppercase;
}

.cp-profile-page .cp-home4-section-head h2 {
	font-size: 27px;
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 0;
}

.cp-profile-page .cp-home4-section-head p {
	color: var(--cpp-muted);
	font-size: 12px;
	line-height: 1.45;
	margin: 7px 0 0;
}

.cp-profile-page .cp-home4-section-head > a {
	align-items: center;
	color: var(--cpp-accent-strong);
	display: inline-flex;
	font-size: 12px;
	font-weight: 800;
	gap: 6px;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-favorite-grid {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-home4-favorite {
	background: #dbe5e2;
	border: 1px solid var(--cpp-line-strong);
	border-radius: 21px;
	color: #fff;
	height: 190px;
	overflow: hidden;
	position: relative;
}

.cp-profile-page .cp-home4-favorite::after {
	background: linear-gradient(180deg, rgba(5, 25, 39, .02) 28%, rgba(5, 25, 39, .82) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cp-profile-page .cp-home4-favorite:hover {
	border-color: var(--cpp-accent);
	transform: translateY(-2px);
}

.cp-profile-page .cp-home4-favorite > img {
	height: 100%;
	object-fit: cover;
	transition: transform var(--cpp-motion-base) var(--cpp-ease);
	width: 100%;
}

.cp-profile-page .cp-home4-favorite:hover > img {
	transform: scale(1.025);
}

.cp-profile-page .cp-home4-favorite-type,
.cp-profile-page .cp-home4-favorite-state {
	backdrop-filter: blur(8px);
	background: rgba(11, 32, 55, .8);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	font-size: 9px;
	font-weight: 800;
	padding: 6px 8px;
	position: absolute;
	top: 10px;
	z-index: 2;
}

.cp-profile-page .cp-home4-favorite-type {
	left: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cp-profile-page .cp-home4-favorite-state {
	align-items: center;
	display: flex;
	gap: 5px;
	right: 10px;
}

.cp-profile-page .cp-home4-favorite-state.is-public {
	background: rgba(7, 151, 127, .9);
}

.cp-profile-page .cp-home4-favorite-copy {
	bottom: 14px;
	display: grid;
	left: 15px;
	max-width: calc(100% - 30px);
	position: absolute;
	z-index: 2;
}

.cp-profile-page .cp-home4-favorite-copy strong,
.cp-profile-page .cp-home4-favorite-copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-favorite-copy strong {
	font-size: 16px;
	font-weight: 800;
}

.cp-profile-page .cp-home4-favorite-copy small {
	color: rgba(255, 255, 255, .76);
	font-size: 11px;
}

.cp-profile-page .cp-home4-empty {
	align-items: center;
	background: var(--cpp-surface);
	border: 1px dashed var(--cpp-line-strong);
	border-radius: 22px;
	display: grid;
	gap: 16px;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	min-height: 150px;
	padding: 22px;
}

.cp-profile-page .cp-home4-empty > span {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 15px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.cp-profile-page .cp-home4-empty strong {
	font-size: 16px;
}

.cp-profile-page .cp-home4-empty p {
	color: var(--cpp-muted);
	font-size: 12px;
	line-height: 1.5;
	margin: 5px 0 0;
}

.cp-profile-page .cp-home4-empty > a {
	background: var(--cpp-ink);
	border-radius: 13px;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	min-height: 42px;
	padding: 12px 14px;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-rail {
	background: var(--cpp-surface);
	border: 1px solid var(--cpp-line);
	border-radius: 24px;
	overflow: hidden;
}

.cp-profile-page .cp-home4-rail-section {
	display: grid;
	gap: 15px;
	padding: 20px;
}

.cp-profile-page .cp-home4-rail-section + .cp-home4-rail-section {
	border-top: 1px solid var(--cpp-line);
}

.cp-profile-page .cp-home4-rail-section > header {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.cp-profile-page .cp-home4-rail-section header h2 {
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -.025em;
	margin: 0;
}

.cp-profile-page .cp-home4-rail-section header > a {
	align-items: center;
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 12px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.cp-profile-page .cp-home4-recent {
	align-items: center;
	display: grid;
	gap: 11px;
	grid-template-columns: 44px minmax(0, 1fr);
}

.cp-profile-page .cp-home4-local-logo {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 13px;
	color: var(--cpp-accent-strong);
	display: flex;
	font-size: 16px;
	font-weight: 800;
	height: 44px;
	justify-content: center;
	overflow: hidden;
	width: 44px;
}

.cp-profile-page .cp-home4-local-logo img {
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.cp-profile-page .cp-home4-recent > div {
	display: grid;
	min-width: 0;
}

.cp-profile-page .cp-home4-recent strong {
	font-size: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-home4-recent span,
.cp-profile-page .cp-home4-recent small {
	color: var(--cpp-muted);
	font-size: 10px;
}

.cp-profile-page .cp-home4-recent small {
	color: var(--cpp-ink);
	font-weight: 800;
	margin-top: 3px;
}

.cp-profile-page .cp-home4-inline-actions {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-home4-inline-actions a {
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 11px;
	color: var(--cpp-ink);
	font-size: 10px;
	font-weight: 800;
	min-height: 38px;
	padding: 10px;
	text-align: center;
}

.cp-profile-page .cp-home4-inline-actions a:last-child {
	background: var(--cpp-accent-soft);
	border-color: #c9ece5;
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-home4-benefit {
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 17px;
	display: grid;
	padding: 15px;
}

.cp-profile-page .cp-home4-benefit.is-ready {
	background: var(--cpp-accent-pale);
	border-color: #bfe9e1;
}

.cp-profile-page .cp-home4-benefit-status {
	color: var(--cpp-accent-strong);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .07em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.cp-profile-page .cp-home4-benefit > strong {
	font-size: 14px;
}

.cp-profile-page .cp-home4-benefit > span:not(.cp-home4-benefit-status),
.cp-profile-page .cp-home4-benefit > p {
	color: var(--cpp-muted);
	font-size: 10px;
}

.cp-profile-page .cp-home4-benefit > p {
	line-height: 1.45;
	margin: 5px 0 10px;
}

.cp-profile-page .cp-home4-benefit progress {
	accent-color: var(--cpp-accent);
	height: 7px;
	margin: 2px 0 12px;
	width: 100%;
}

.cp-profile-page .cp-home4-benefit > a {
	align-items: center;
	color: var(--cpp-accent-strong);
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	gap: 6px;
}

.cp-profile-page .cp-home4-rail-empty {
	display: grid;
	justify-items: start;
}

.cp-profile-page .cp-home4-rail-empty > i {
	color: var(--cpp-accent-strong);
	font-size: 21px;
	margin-bottom: 9px;
}

.cp-profile-page .cp-home4-rail-empty strong {
	font-size: 13px;
}

.cp-profile-page .cp-home4-rail-empty p {
	color: var(--cpp-muted);
	font-size: 10px;
	line-height: 1.5;
	margin: 5px 0 10px;
}

.cp-profile-page .cp-home4-rail-empty a {
	color: var(--cpp-accent-strong);
	font-size: 10px;
	font-weight: 800;
}

@media (max-width: 920px) {
	.cp-profile-page .cp-home4 {
		gap: 20px;
		padding-bottom: 24px;
	}

	.cp-profile-page .cp-home4-hero {
		border-left: 0;
		border-radius: 0 0 28px 28px;
		border-right: 0;
		gap: 20px;
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		margin: 0 -16px;
		min-height: 0;
		padding: 24px 20px 26px;
	}

	.cp-profile-page .cp-home4-avatar {
		border-radius: 18px;
		height: 60px;
		width: 60px;
	}

	.cp-profile-page .cp-home4-identity h2 {
		font-size: 27px;
	}

	.cp-profile-page .cp-home4-intro > strong {
		font-size: 20px;
	}

	.cp-profile-page .cp-home4-stats {
		grid-column: auto;
		grid-row: auto;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: auto;
		padding: 7px 5px;
	}

	.cp-profile-page .cp-home4-stats > div {
		align-content: center;
		gap: 2px;
		grid-template-columns: 1fr;
		justify-items: center;
		padding: 8px 5px;
		text-align: center;
	}

	.cp-profile-page .cp-home4-stats > div + div {
		border-left: 1px solid rgba(255, 255, 255, .12);
		border-top: 0;
	}

	.cp-profile-page .cp-home4-stats strong {
		font-size: 26px;
		grid-row: auto;
	}

	.cp-profile-page .cp-home4-stats span {
		font-size: 10px;
	}

	.cp-profile-page .cp-home4-stats small {
		font-size: 8px;
	}

	.cp-profile-page .cp-home4-shortcuts {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-home4-shortcuts > a {
		min-height: 70px;
		padding: 12px 14px;
	}

	.cp-profile-page .cp-home4-shortcuts > a + a {
		border-left: 0;
		border-top: 1px solid var(--cpp-line);
	}

	.cp-profile-page .cp-home4-content {
		gap: 22px;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-home4-section-head {
		align-items: start;
	}

	.cp-profile-page .cp-home4-section-head h2 {
		font-size: 24px;
	}

	.cp-profile-page .cp-home4-favorite {
		height: 175px;
	}

	.cp-profile-page .cp-home4-empty {
		grid-template-columns: 44px minmax(0, 1fr);
		padding: 18px;
	}

	.cp-profile-page .cp-home4-empty > a {
		grid-column: 1 / -1;
		text-align: center;
		width: 100%;
	}

	.cp-profile-page .cp-home4-rail {
		border-radius: 22px;
	}
}

@media (max-width: 370px) {
	.cp-profile-page .cp-home4-hero {
		margin-left: -12px;
		margin-right: -12px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.cp-profile-page .cp-home4-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-home4-favorite-grid {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-home4-favorite {
		height: 190px;
	}
}

/* Fase 5 · favoritos como colección social. */
.cp-profile-page .cp-social5-hero {
	background: var(--cpp-ink);
	border: 1px solid rgba(18, 190, 161, .42);
	border-radius: 28px;
	color: #fff;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) 300px;
	margin-bottom: 14px;
	padding: 28px;
}

.cp-profile-page .cp-social5-hero-copy > span {
	align-items: center;
	color: #64dfc9;
	display: flex;
	font-size: 10px;
	font-weight: 800;
	gap: 7px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.cp-profile-page .cp-social5-hero-copy h2 {
	font-size: 30px;
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1.08;
	margin: 10px 0 0;
	max-width: 610px;
}

.cp-profile-page .cp-social5-hero-copy > p {
	color: rgba(255, 255, 255, .68);
	font-size: 13px;
	line-height: 1.5;
	margin: 11px 0 18px;
	max-width: 590px;
}

.cp-profile-page .cp-social5-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cp-profile-page .cp-social5-hero-actions a,
.cp-profile-page .cp-social5-hero-actions button {
	align-items: center;
	background: rgba(255, 255, 255, .09);
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 13px;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	font-size: 11px;
	font-weight: 800;
	gap: 7px;
	min-height: 40px;
	padding: 8px 12px;
}

.cp-profile-page .cp-social5-hero-actions button {
	background: var(--cpp-accent);
	border-color: var(--cpp-accent);
	color: #062e2a;
}

.cp-profile-page .cp-social5-stats {
	background: rgba(255, 255, 255, .075);
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 21px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	padding: 6px;
}

.cp-profile-page .cp-social5-stats > div {
	align-content: center;
	display: grid;
	justify-items: center;
	min-height: 76px;
	padding: 9px;
	text-align: center;
}

.cp-profile-page .cp-social5-stats > div:nth-child(even) {
	border-left: 1px solid rgba(255, 255, 255, .12);
}

.cp-profile-page .cp-social5-stats > div:nth-child(n+3) {
	border-top: 1px solid rgba(255, 255, 255, .12);
}

.cp-profile-page .cp-social5-stats strong {
	color: #fff;
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -.04em;
	line-height: 1;
}

.cp-profile-page .cp-social5-stats span {
	color: rgba(255, 255, 255, .66);
	font-size: 9px;
	font-weight: 750;
	margin-top: 5px;
}

.cp-profile-page .cp-social5-stats > .cp-social5-private-count {
	align-self: end;
	background: rgba(255, 255, 255, .09);
	border-radius: 999px;
	color: #9aeee0;
	font-size: 9px;
	grid-column: 1 / -1;
	justify-self: center;
	margin: 5px 0 2px;
	padding: 5px 9px;
}

.cp-profile-page .cp-social5-stats > .cp-social5-private-count strong {
	font-size: inherit;
	letter-spacing: 0;
}

.cp-profile-page .cp-social5-publish-state {
	align-items: center;
	background: #fff8ea;
	border: 1px solid #ead9ad;
	border-radius: 18px;
	display: grid;
	gap: 12px;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	margin-bottom: 18px;
	padding: 13px 15px;
}

.cp-profile-page .cp-social5-publish-state.is-published {
	background: var(--cpp-accent-pale);
	border-color: #c5eae3;
}

.cp-profile-page .cp-social5-publish-state > span {
	align-items: center;
	background: #fff;
	border-radius: 12px;
	color: var(--cpp-warning);
	display: flex;
	height: 42px;
	justify-content: center;
	width: 42px;
}

.cp-profile-page .cp-social5-publish-state.is-published > span {
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-social5-publish-state strong {
	font-size: 13px;
}

.cp-profile-page .cp-social5-publish-state p {
	color: var(--cpp-muted);
	font-size: 10px;
	line-height: 1.45;
	margin: 3px 0 0;
}

.cp-profile-page .cp-social5-publish-state > a {
	background: #fff;
	border: 1px solid var(--cpp-line);
	border-radius: 12px;
	color: var(--cpp-ink);
	font-size: 10px;
	font-weight: 800;
	min-height: 38px;
	padding: 10px 12px;
	white-space: nowrap;
}

.cp-profile-page .cp-social5-view {
	display: grid;
	gap: 27px;
}

.cp-profile-page .cp-social5-toolbar {
	background: var(--cpp-surface);
	border: 1px solid var(--cpp-line);
	border-radius: 21px;
	display: grid;
	gap: 12px;
	grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
	padding: 12px;
}

.cp-profile-page .cp-social5-search-wrap {
	align-items: center;
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 14px;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	min-width: 0;
}

.cp-profile-page .cp-social5-search-wrap label {
	align-items: center;
	display: grid;
	gap: 9px;
	grid-template-columns: auto minmax(0, 1fr);
	padding-left: 12px;
}

.cp-profile-page .cp-social5-search-wrap label > i {
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-social5-search-wrap input {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	font-size: 12px;
	min-height: 46px;
	outline: 0 !important;
	padding: 0 !important;
	width: 100%;
}

.cp-profile-page .cp-social5-search-wrap > button {
	background: transparent;
	border: 0;
	color: var(--cpp-accent-strong);
	font-size: 10px;
	font-weight: 800;
	min-height: 44px;
	padding: 0 11px;
}

.cp-profile-page .cp-social5-search-wrap > button[hidden] {
	display: none;
}

.cp-profile-page .cp-social5-filters {
	display: flex;
	gap: 5px;
	overflow-x: auto;
	scrollbar-width: thin;
}

.cp-profile-page .cp-social5-filters button {
	align-items: center;
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 12px;
	color: var(--cpp-muted);
	display: flex;
	font-size: 10px;
	font-weight: 800;
	gap: 6px;
	min-height: 46px;
	padding: 7px 10px;
	white-space: nowrap;
}

.cp-profile-page .cp-social5-filters button span {
	align-items: center;
	background: #fff;
	border-radius: 999px;
	display: flex;
	font-size: 8px;
	height: 20px;
	justify-content: center;
	min-width: 20px;
	padding: 0 5px;
}

.cp-profile-page .cp-social5-filters button.is-active {
	background: var(--cpp-ink);
	border-color: var(--cpp-ink);
	color: #fff;
}

.cp-profile-page .cp-social5-filters button.is-active span {
	color: var(--cpp-ink);
}

.cp-profile-page .cp-social5-result-count {
	color: var(--cpp-muted);
	font-size: 9px;
	grid-column: 1 / -1;
	margin: -5px 3px 0;
}

.cp-profile-page .cp-social5-group {
	display: grid;
	gap: 13px;
}

.cp-profile-page .cp-social5-group[hidden] {
	display: none !important;
}

.cp-profile-page .cp-social5-group > header {
	align-items: end;
	display: flex;
	justify-content: space-between;
}

.cp-profile-page .cp-social5-group > header span {
	color: var(--cpp-accent-strong);
	display: block;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .1em;
	margin-bottom: 3px;
	text-transform: uppercase;
}

.cp-profile-page .cp-social5-group > header h2 {
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -.03em;
	margin: 0;
}

.cp-profile-page .cp-social5-group > header > strong {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 999px;
	color: var(--cpp-accent-strong);
	display: flex;
	font-size: 11px;
	height: 30px;
	justify-content: center;
	min-width: 30px;
}

.cp-profile-page .cp-social5-grid {
	display: grid;
	gap: 13px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-social5-card {
	background: var(--cpp-surface);
	border: 1px solid var(--cpp-line);
	border-radius: 22px;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
}

.cp-profile-page .cp-social5-card.is-public {
	border-color: #90d8ca;
}

.cp-profile-page .cp-social5-card[data-favorite-card][hidden] {
	display: none !important;
}

.cp-profile-page .cp-social5-card-media {
	background: #dce5e3;
	display: block;
	height: 180px;
	overflow: hidden;
	position: relative;
}

.cp-profile-page .cp-social5-card-media::after {
	background: linear-gradient(180deg, rgba(8, 28, 42, .02), rgba(8, 28, 42, .28));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.cp-profile-page .cp-social5-card-media > img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cp-profile-page .cp-social5-card-kind,
.cp-profile-page .cp-social5-card-public {
	backdrop-filter: blur(8px);
	background: rgba(11, 32, 55, .84);
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 999px;
	color: #fff;
	font-size: 8px;
	font-weight: 800;
	padding: 6px 8px;
	position: absolute;
	top: 10px;
	z-index: 2;
}

.cp-profile-page .cp-social5-card-kind {
	left: 10px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.cp-profile-page .cp-social5-card-public {
	align-items: center;
	display: flex;
	gap: 5px;
	right: 10px;
}

.cp-profile-page .cp-social5-card-public.is-public {
	background: rgba(7, 151, 127, .92);
}

.cp-profile-page .cp-social5-card-body {
	display: grid;
	gap: 11px;
	padding: 15px;
}

.cp-profile-page .cp-social5-card-heading {
	align-items: start;
	display: flex;
	gap: 10px;
	justify-content: space-between;
}

.cp-profile-page .cp-social5-card-heading > div {
	min-width: 0;
}

.cp-profile-page .cp-social5-card-heading h3 {
	font-size: 17px;
	font-weight: 800;
	margin: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-social5-card-heading p {
	color: var(--cpp-muted);
	font-size: 11px;
	margin: 4px 0 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-social5-card-heading > strong {
	font-size: 12px;
	white-space: nowrap;
}

.cp-profile-page .cp-social5-availability {
	color: var(--cpp-muted);
	font-size: 9px;
	font-weight: 800;
}

.cp-profile-page .cp-social5-availability.is-ok {
	color: var(--cpp-success);
}

.cp-profile-page .cp-social5-visibility {
	align-items: center;
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 15px;
	color: var(--cpp-ink);
	display: grid;
	gap: 9px;
	grid-template-columns: 34px minmax(0, 1fr) auto;
	min-height: 60px;
	padding: 8px 10px;
	text-align: left;
	width: 100%;
}

.cp-profile-page .cp-social5-visibility.is-public {
	background: var(--cpp-accent-pale);
	border-color: #bce8df;
}

.cp-profile-page .cp-social5-visibility > span:first-child {
	align-items: center;
	background: #fff;
	border-radius: 10px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 34px;
	justify-content: center;
	width: 34px;
}

.cp-profile-page .cp-social5-visibility strong,
.cp-profile-page .cp-social5-visibility small {
	display: block;
}

.cp-profile-page .cp-social5-visibility strong {
	font-size: 11px;
}

.cp-profile-page .cp-social5-visibility small {
	color: var(--cpp-muted);
	font-size: 9px;
	line-height: 1.35;
	margin-top: 2px;
}

.cp-profile-page .cp-social5-visibility > i {
	color: #9ba9b1;
	font-size: 14px;
}

.cp-profile-page .cp-social5-card-actions {
	border-top: 1px solid var(--cpp-line);
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: auto;
	padding: 11px 13px 13px;
}

.cp-profile-page .cp-social5-card-actions a,
.cp-profile-page .cp-social5-card-actions button {
	align-items: center;
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 11px;
	color: var(--cpp-ink);
	display: flex;
	font-size: 9px;
	font-weight: 800;
	gap: 5px;
	justify-content: center;
	min-height: 38px;
	padding: 7px 6px;
}

.cp-profile-page .cp-social5-card-actions button[data-share-ready="si"] {
	background: var(--cpp-accent-soft);
	border-color: #c4ebe3;
	color: var(--cpp-accent-strong);
}

.cp-profile-page .cp-social5-card-actions .is-danger {
	color: var(--cpp-danger);
}

.cp-profile-page .cp-social5-no-results,
.cp-profile-page .cp-social5-empty {
	align-items: center;
	background: var(--cpp-surface);
	border: 1px dashed var(--cpp-line-strong);
	border-radius: 22px;
	display: grid;
	justify-items: center;
	padding: 32px 20px;
	text-align: center;
}

.cp-profile-page .cp-social5-no-results[hidden] {
	display: none !important;
}

.cp-profile-page .cp-social5-no-results > span,
.cp-profile-page .cp-social5-empty > span {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 15px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.cp-profile-page .cp-social5-no-results h3,
.cp-profile-page .cp-social5-empty h3 {
	font-size: 18px;
	margin: 12px 0 0;
}

.cp-profile-page .cp-social5-no-results p,
.cp-profile-page .cp-social5-empty p {
	color: var(--cpp-muted);
	font-size: 11px;
	line-height: 1.5;
	margin: 6px 0 14px;
	max-width: 470px;
}

.cp-profile-page .cp-social5-no-results button,
.cp-profile-page .cp-social5-empty > a {
	background: var(--cpp-ink);
	border: 0;
	border-radius: 12px;
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	min-height: 40px;
	padding: 10px 14px;
}

.cp-profile-page .cp-social5-empty {
	grid-template-columns: 54px minmax(0, 1fr) auto;
	justify-items: start;
	text-align: left;
}

.cp-profile-page .cp-social5-empty h3 {
	margin-top: 0;
}

.cp-profile-page .cp-social5-empty p {
	margin-bottom: 0;
}

.cp-profile-page .cp-social5-confirm {
	inset: 0;
	position: fixed;
	z-index: 100;
}

.cp-profile-page .cp-social5-confirm[hidden] {
	display: none !important;
}

.cp-profile-page .cp-social5-confirm-backdrop {
	background: rgba(5, 24, 39, .62);
	inset: 0;
	position: absolute;
}

.cp-profile-page .cp-social5-confirm > section {
	background: #fff;
	border: 1px solid var(--cpp-line);
	border-radius: 24px;
	box-shadow: 0 30px 90px rgba(5, 24, 39, .28);
	left: 50%;
	max-width: 430px;
	padding: 25px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: calc(100% - 28px);
}

.cp-profile-page .cp-social5-confirm-icon {
	align-items: center;
	background: var(--cpp-accent-soft);
	border-radius: 15px;
	color: var(--cpp-accent-strong);
	display: flex;
	height: 48px;
	justify-content: center;
	width: 48px;
}

.cp-profile-page .cp-social5-confirm h2 {
	font-size: 21px;
	margin: 15px 0 0;
}

.cp-profile-page .cp-social5-confirm p {
	color: var(--cpp-muted);
	font-size: 12px;
	line-height: 1.5;
	margin: 7px 0 20px;
}

.cp-profile-page .cp-social5-confirm section > div {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-social5-confirm section button {
	background: var(--cpp-surface-2);
	border: 1px solid var(--cpp-line);
	border-radius: 12px;
	color: var(--cpp-ink);
	font-size: 11px;
	font-weight: 800;
	min-height: 44px;
}

.cp-profile-page .cp-social5-confirm section button:last-child {
	background: var(--cpp-ink);
	border-color: var(--cpp-ink);
	color: #fff;
}

body.cp-favorite-confirm-open {
	overflow: hidden !important;
}

@media (max-width: 920px) {
	.cp-profile-page .cp-social5-hero {
		border-radius: 24px;
		grid-template-columns: 1fr;
		padding: 22px;
	}

	.cp-profile-page .cp-social5-stats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.cp-profile-page .cp-social5-stats > div {
		min-height: 66px;
	}

	.cp-profile-page .cp-social5-stats > div:nth-child(n+3) {
		border-top: 0;
	}

	.cp-profile-page .cp-social5-stats > div + div {
		border-left: 1px solid rgba(255, 255, 255, .12);
	}

	.cp-profile-page .cp-social5-toolbar {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-social5-grid {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-social5-card-media {
		height: 210px;
	}
}

@media (max-width: 560px) {
	.cp-profile-page .cp-social5-hero-copy h2 {
		font-size: 26px;
	}

	.cp-profile-page .cp-social5-hero-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-social5-hero-actions a,
	.cp-profile-page .cp-social5-hero-actions button {
		justify-content: center;
		width: 100%;
	}

	.cp-profile-page .cp-social5-stats strong {
		font-size: 21px;
	}

	.cp-profile-page .cp-social5-stats span {
		font-size: 8px;
	}

	.cp-profile-page .cp-social5-publish-state {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.cp-profile-page .cp-social5-publish-state > a {
		grid-column: 1 / -1;
		text-align: center;
	}

	.cp-profile-page .cp-social5-empty {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.cp-profile-page .cp-social5-card-actions .is-danger span {
		display: none;
	}
}

/* Fase 6 · actividad útil, agenda y seguimiento. */
.cp-profile-page .cp-activity6-shell,
.cp-profile-page .cp-reservation6-shell,
.cp-profile-page .cp-activity6-detail {
	display: grid;
	gap: 16px;
}

.cp-profile-page .cp-activity6-switch {
	align-items: center;
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 18px;
	display: inline-flex;
	gap: 5px;
	justify-self: start;
	padding: 5px;
}

.cp-profile-page .cp-activity6-switch a {
	align-items: center;
	border-radius: 13px;
	color: var(--cp-muted);
	display: inline-flex;
	font-size: 12px;
	font-weight: 850;
	gap: 7px;
	min-height: 42px;
	padding: 0 14px;
}

.cp-profile-page .cp-activity6-switch a.is-active {
	background: var(--cp-navy);
	color: #fff;
}

.cp-profile-page .cp-activity6-hero,
.cp-profile-page .cp-reservation6-hero {
	background:
		radial-gradient(circle at 92% 12%, rgba(95, 224, 199, .25), transparent 15rem),
		linear-gradient(135deg, #071d2b 0%, #0c3341 100%);
	border: 1px solid rgba(95, 224, 199, .2);
	border-radius: 28px;
	box-shadow: 0 22px 54px rgba(7, 29, 43, .14);
	color: #fff;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax(0, 1fr) auto;
	padding: 27px;
}

.cp-profile-page .cp-activity6-hero > div:first-child > span,
.cp-profile-page .cp-reservation6-hero > div:first-child > span {
	align-items: center;
	color: #6fe0cc;
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	gap: 7px;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-hero h2,
.cp-profile-page .cp-reservation6-hero h2 {
	color: #fff;
	font-size: clamp(25px, 3vw, 36px);
	letter-spacing: -.04em;
	line-height: 1.08;
	margin: 9px 0 0;
	max-width: 650px;
}

.cp-profile-page .cp-activity6-hero > div:first-child > p,
.cp-profile-page .cp-reservation6-hero > div:first-child > p {
	color: rgba(255, 255, 255, .7);
	font-size: 13px;
	line-height: 1.5;
	margin: 10px 0 0;
	max-width: 660px;
}

.cp-profile-page .cp-activity6-stats {
	align-self: stretch;
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(90px, 1fr));
}

.cp-profile-page .cp-activity6-stats span,
.cp-profile-page .cp-reservation6-hero aside span {
	align-items: center;
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 15px;
	color: rgba(255, 255, 255, .66);
	display: flex;
	flex-direction: column;
	font-size: 9px;
	font-weight: 800;
	justify-content: center;
	min-height: 76px;
	padding: 10px;
	text-align: center;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-stats strong,
.cp-profile-page .cp-reservation6-hero aside strong {
	color: #fff;
	font-size: 23px;
	letter-spacing: -.03em;
	line-height: 1;
	margin-bottom: 5px;
}

.cp-profile-page .cp-activity6-quick {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-activity6-quick article {
	align-items: center;
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 20px;
	display: grid;
	gap: 12px;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	padding: 12px;
}

.cp-profile-page .cp-activity6-avatar {
	align-items: center;
	background: var(--cp-teal-soft);
	border: 1px solid rgba(19, 169, 141, .18);
	border-radius: 14px;
	color: #087d6a;
	display: flex;
	font-size: 16px;
	font-weight: 900;
	height: 44px;
	justify-content: center;
	overflow: hidden;
	width: 44px;
}

.cp-profile-page .cp-activity6-avatar.has-image {
	background: #fff;
	padding: 3px;
}

.cp-profile-page .cp-activity6-avatar img {
	border-radius: 10px;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.cp-profile-page .cp-activity6-quick small,
.cp-profile-page .cp-activity6-quick strong,
.cp-profile-page .cp-activity6-quick div > span {
	display: block;
}

.cp-profile-page .cp-activity6-quick small {
	color: #087d6a;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-quick strong {
	font-size: 13px;
	margin-top: 2px;
}

.cp-profile-page .cp-activity6-quick div > span {
	color: var(--cp-muted);
	font-size: 10px;
	margin-top: 3px;
}

.cp-profile-page .cp-activity6-quick article > a {
	background: var(--cp-teal-soft);
	border-radius: 999px;
	color: #087d6a;
	font-size: 10px;
	font-weight: 900;
	padding: 10px 12px;
	white-space: nowrap;
}

.cp-profile-page .cp-activity6-tools {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 22px;
	display: grid;
	gap: 11px;
	grid-template-columns: minmax(260px, 1fr) auto;
	padding: 11px;
}

.cp-profile-page .cp-activity6-search {
	align-items: center;
	background: var(--cp-surface-soft);
	border: 1px solid transparent;
	border-radius: 14px;
	display: flex;
	min-height: 46px;
	padding: 0 11px;
}

.cp-profile-page .cp-activity6-search:focus-within {
	border-color: var(--cp-teal);
	box-shadow: 0 0 0 3px rgba(19, 169, 141, .12);
}

.cp-profile-page .cp-activity6-search label {
	align-items: center;
	display: flex;
	flex: 1;
	gap: 8px;
}

.cp-profile-page .cp-activity6-search input {
	background: transparent;
	border: 0;
	color: var(--cp-text);
	font-size: 12px;
	min-width: 0;
	outline: 0;
	width: 100%;
}

.cp-profile-page .cp-activity6-search button {
	background: transparent;
	border: 0;
	color: #087d6a;
	font-size: 10px;
	font-weight: 900;
}

.cp-profile-page .cp-activity6-filters {
	display: flex;
	gap: 5px;
	grid-column: 1 / -1;
	overflow-x: auto;
	scrollbar-width: none;
}

.cp-profile-page .cp-activity6-filters::-webkit-scrollbar {
	display: none;
}

.cp-profile-page .cp-activity6-filters button {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 999px;
	color: var(--cp-muted);
	font-size: 10px;
	font-weight: 850;
	min-height: 38px;
	padding: 0 12px;
	white-space: nowrap;
}

.cp-profile-page .cp-activity6-filters button span {
	color: #087d6a;
	margin-left: 4px;
}

.cp-profile-page .cp-activity6-filters button.is-active {
	background: var(--cp-navy);
	border-color: var(--cp-navy);
	color: #fff;
}

.cp-profile-page .cp-activity6-filters button.is-active span {
	color: #6fe0cc;
}

.cp-profile-page .cp-activity6-selects {
	display: flex;
	gap: 8px;
}

.cp-profile-page .cp-activity6-selects label {
	display: grid;
	gap: 4px;
}

.cp-profile-page .cp-activity6-selects label > span {
	color: var(--cp-muted);
	font-size: 9px;
	font-weight: 850;
	padding-left: 5px;
}

.cp-profile-page .cp-activity6-selects select {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 13px;
	color: var(--cp-text);
	font-size: 10px;
	min-height: 42px;
	padding: 0 30px 0 11px;
}

.cp-profile-page .cp-activity6-tools > p {
	align-self: center;
	color: var(--cp-muted);
	font-size: 10px;
	grid-column: 1 / -1;
	margin: 0;
}

.cp-profile-page .cp-activity6-list {
	display: grid;
	gap: 11px;
}

.cp-profile-page .cp-activity6-card {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-left: 4px solid #d6e2e3;
	border-radius: 22px;
	box-shadow: 0 9px 28px rgba(7, 29, 43, .05);
	overflow: hidden;
}

.cp-profile-page .cp-activity6-card[hidden] {
	display: none;
}

.cp-profile-page .cp-activity6-card.is-proximos {
	border-left-color: var(--cp-teal);
}

.cp-profile-page .cp-activity6-card.is-completados {
	border-left-color: #5f8f82;
}

.cp-profile-page .cp-activity6-card.is-cancelados {
	border-left-color: #d96c74;
}

.cp-profile-page .cp-activity6-card-head {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	padding: 15px 16px 10px;
}

.cp-profile-page .cp-activity6-type {
	color: var(--cp-muted);
	font-size: 9px;
	font-weight: 800;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-card-head h3 {
	font-size: 16px;
	letter-spacing: -.02em;
	margin: 3px 0 0;
}

.cp-profile-page .cp-activity6-state {
	align-items: center;
	background: #f0f4f5;
	border-radius: 999px;
	color: #536570;
	display: inline-flex;
	font-size: 9px;
	font-weight: 900;
	gap: 5px;
	padding: 7px 9px;
	white-space: nowrap;
}

.cp-profile-page .cp-activity6-state.is-proximos {
	background: var(--cp-teal-soft);
	color: #087d6a;
}

.cp-profile-page .cp-activity6-state.is-completados {
	background: #edf5f1;
	color: #477668;
}

.cp-profile-page .cp-activity6-state.is-cancelados {
	background: #fff0f1;
	color: #a33e48;
}

.cp-profile-page .cp-activity6-card-content {
	align-items: center;
	display: grid;
	gap: 18px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-height: 58px;
	padding: 0 16px 14px 72px;
}

.cp-profile-page .cp-activity6-products {
	display: grid;
	gap: 3px;
}

.cp-profile-page .cp-activity6-products span,
.cp-profile-page .cp-activity6-main-copy p,
.cp-profile-page .cp-activity6-reservation-data span {
	color: var(--cp-muted);
	font-size: 11px;
	line-height: 1.45;
}

.cp-profile-page .cp-activity6-products small {
	color: #087d6a;
	font-size: 9px;
	font-weight: 850;
}

.cp-profile-page .cp-activity6-total {
	text-align: right;
}

.cp-profile-page .cp-activity6-total span {
	color: var(--cp-muted);
	display: block;
	font-size: 9px;
}

.cp-profile-page .cp-activity6-total strong,
.cp-profile-page .cp-activity6-amount {
	display: block;
	font-size: 15px;
	margin-top: 2px;
}

.cp-profile-page .cp-activity6-amount.is-positive {
	color: #087d6a;
}

.cp-profile-page .cp-activity6-main-copy strong {
	display: block;
	font-size: 12px;
}

.cp-profile-page .cp-activity6-main-copy p {
	margin: 4px 0 0;
}

.cp-profile-page .cp-activity6-reservation-data {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.cp-profile-page .cp-activity6-reservation-data span {
	align-items: center;
	background: var(--cp-surface-soft);
	border-radius: 10px;
	display: inline-flex;
	gap: 6px;
	padding: 8px 9px;
}

.cp-profile-page .cp-activity6-actions {
	align-items: center;
	border-top: 1px solid var(--cp-border);
	display: flex;
	gap: 6px;
	justify-content: flex-end;
	padding: 9px 12px;
}

.cp-profile-page .cp-activity6-actions a {
	align-items: center;
	border-radius: 999px;
	color: var(--cp-muted);
	display: inline-flex;
	font-size: 9px;
	font-weight: 900;
	gap: 6px;
	min-height: 34px;
	padding: 0 11px;
}

.cp-profile-page .cp-activity6-actions a:hover {
	background: var(--cp-surface-soft);
	color: var(--cp-navy);
}

.cp-profile-page .cp-activity6-actions a.is-primary {
	background: var(--cp-teal-soft);
	color: #087d6a;
}

.cp-profile-page .cp-activity6-pagination {
	align-items: center;
	display: flex;
	gap: 12px;
	justify-content: center;
}

.cp-profile-page .cp-activity6-pagination a,
.cp-profile-page .cp-activity6-pagination span {
	align-items: center;
	display: inline-flex;
	font-size: 10px;
	gap: 6px;
}

.cp-profile-page .cp-activity6-pagination a {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 999px;
	font-weight: 850;
	padding: 9px 12px;
}

.cp-profile-page .cp-activity6-pagination span {
	color: var(--cp-muted);
}

.cp-profile-page .cp-activity6-empty {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 22px;
	padding: 30px 20px;
	text-align: center;
}

.cp-profile-page .cp-activity6-empty[hidden] {
	display: none;
}

.cp-profile-page .cp-activity6-empty > span {
	align-items: center;
	background: var(--cp-teal-soft);
	border-radius: 999px;
	color: #087d6a;
	display: flex;
	height: 50px;
	justify-content: center;
	margin: 0 auto 12px;
	width: 50px;
}

.cp-profile-page .cp-activity6-empty h3 {
	font-size: 18px;
	margin: 0;
}

.cp-profile-page .cp-activity6-empty p {
	color: var(--cp-muted);
	font-size: 11px;
	line-height: 1.5;
	margin: 7px auto 0;
	max-width: 480px;
}

.cp-profile-page .cp-activity6-empty button,
.cp-profile-page .cp-activity6-empty a {
	background: var(--cp-navy);
	border: 0;
	border-radius: 999px;
	color: #fff;
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	margin-top: 14px;
	padding: 10px 13px;
}

.cp-profile-page .cp-activity6-empty.is-first > div {
	display: flex;
	gap: 7px;
	justify-content: center;
}

.cp-profile-page .cp-reservation6-hero {
	grid-template-columns: minmax(0, 1fr) minmax(270px, auto);
}

.cp-profile-page .cp-reservation6-hero > div:first-child > div {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 18px;
}

.cp-profile-page .cp-reservation6-hero > div:first-child > div a {
	align-items: center;
	background: #fff;
	border-radius: 999px;
	color: var(--cp-navy);
	display: inline-flex;
	font-size: 10px;
	font-weight: 900;
	gap: 6px;
	padding: 10px 12px;
}

.cp-profile-page .cp-reservation6-hero aside {
	display: grid;
	gap: 7px;
	grid-template-columns: repeat(3, minmax(76px, 1fr));
}

.cp-profile-page .cp-reservation6-group {
	display: grid;
	gap: 10px;
}

.cp-profile-page .cp-reservation6-group > header {
	align-items: end;
	display: flex;
	justify-content: space-between;
	padding: 8px 2px 0;
}

.cp-profile-page .cp-reservation6-group > header span {
	color: #087d6a;
	display: block;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.cp-profile-page .cp-reservation6-group > header h2 {
	font-size: 20px;
	margin: 3px 0 0;
}

.cp-profile-page .cp-reservation6-group > header > strong {
	align-items: center;
	background: var(--cp-teal-soft);
	border-radius: 999px;
	color: #087d6a;
	display: flex;
	font-size: 10px;
	height: 32px;
	justify-content: center;
	min-width: 32px;
}

.cp-profile-page .cp-reservation6-list {
	display: grid;
	gap: 10px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cp-profile-page .cp-reservation6-card {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 21px;
	box-shadow: 0 8px 24px rgba(7, 29, 43, .045);
	overflow: hidden;
}

.cp-profile-page .cp-reservation6-card > header {
	align-items: center;
	display: grid;
	gap: 11px;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	padding: 14px;
}

.cp-profile-page .cp-reservation6-card > header > div > span {
	color: #087d6a;
	font-size: 8px;
	font-weight: 900;
	text-transform: uppercase;
}

.cp-profile-page .cp-reservation6-card h3 {
	font-size: 14px;
	margin: 3px 0 0;
}

.cp-profile-page .cp-reservation6-facts {
	display: grid;
	gap: 6px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 0 14px 14px;
}

.cp-profile-page .cp-reservation6-facts span {
	align-items: center;
	background: var(--cp-surface-soft);
	border-radius: 11px;
	color: var(--cp-muted);
	display: flex;
	font-size: 9px;
	gap: 6px;
	min-width: 0;
	padding: 9px;
}

.cp-profile-page .cp-reservation6-facts strong {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cp-profile-page .cp-reservation6-card > footer {
	border-top: 1px solid var(--cp-border);
	display: flex;
	gap: 4px;
	padding: 8px 10px;
}

.cp-profile-page .cp-reservation6-card > footer a {
	border-radius: 999px;
	color: var(--cp-muted);
	font-size: 8px;
	font-weight: 900;
	padding: 8px 9px;
}

.cp-profile-page .cp-reservation6-card > footer a.is-primary {
	background: var(--cp-teal-soft);
	color: #087d6a;
}

.cp-profile-page .cp-reservation6-empty {
	align-items: center;
	background: #fff;
	border: 1px dashed #cddddd;
	border-radius: 19px;
	display: grid;
	gap: 12px;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	padding: 15px;
}

.cp-profile-page .cp-reservation6-empty > i {
	align-items: center;
	background: var(--cp-teal-soft);
	border-radius: 13px;
	color: #087d6a;
	display: flex;
	height: 42px;
	justify-content: center;
}

.cp-profile-page .cp-reservation6-empty strong {
	display: block;
	font-size: 12px;
}

.cp-profile-page .cp-reservation6-empty p {
	color: var(--cp-muted);
	font-size: 10px;
	margin: 3px 0 0;
}

.cp-profile-page .cp-reservation6-empty a {
	background: var(--cp-navy);
	border-radius: 999px;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	padding: 9px 11px;
}

.cp-profile-page .cp-activity6-detail-hero {
	align-items: center;
	background: linear-gradient(135deg, #071d2b, #0d3946);
	border-radius: 28px;
	color: #fff;
	display: grid;
	gap: 24px;
	grid-template-columns: minmax(0, 1fr) minmax(210px, auto);
	padding: 27px;
}

.cp-profile-page .cp-activity6-detail-hero > div:first-child > span {
	align-items: center;
	color: #6fe0cc;
	display: inline-flex;
	font-size: 9px;
	font-weight: 900;
	gap: 6px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-detail-hero h2 {
	color: #fff;
	font-size: 31px;
	letter-spacing: -.04em;
	margin: 7px 0 0;
}

.cp-profile-page .cp-activity6-detail-hero p {
	color: rgba(255, 255, 255, .65);
	font-size: 11px;
	line-height: 1.45;
	margin: 7px 0 0;
}

.cp-profile-page .cp-activity6-detail-hero > div:last-child {
	text-align: right;
}

.cp-profile-page .cp-activity6-detail-hero .cp-activity6-state {
	background: rgba(111, 224, 204, .14);
	border: 1px solid rgba(111, 224, 204, .23);
	color: #aaf5e7;
}

.cp-profile-page .cp-activity6-detail-actions {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 18px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 8px;
}

.cp-profile-page .cp-activity6-detail-actions a {
	align-items: center;
	border-radius: 999px;
	color: var(--cp-muted);
	display: inline-flex;
	font-size: 9px;
	font-weight: 900;
	gap: 6px;
	min-height: 38px;
	padding: 0 12px;
}

.cp-profile-page .cp-activity6-detail-actions a.is-primary {
	background: var(--cp-teal);
	color: #062f31;
}

.cp-profile-page .cp-activity6-detail-grid {
	display: grid;
	gap: 13px;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
}

.cp-profile-page .cp-activity6-detail-stack {
	align-content: start;
	display: grid;
	gap: 13px;
}

.cp-profile-page .cp-activity6-panel {
	background: #fff;
	border: 1px solid var(--cp-border);
	border-radius: 22px;
	box-shadow: 0 8px 24px rgba(7, 29, 43, .045);
	padding: 18px;
}

.cp-profile-page .cp-activity6-panel > header {
	align-items: start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.cp-profile-page .cp-activity6-panel > header > div > span {
	color: #087d6a;
	display: block;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.cp-profile-page .cp-activity6-panel h3 {
	font-size: 17px;
	margin: 3px 0 0;
}

.cp-profile-page .cp-activity6-timeline {
	display: grid;
	margin-top: 17px;
}

.cp-profile-page .cp-activity6-timeline > div {
	display: grid;
	gap: 11px;
	grid-template-columns: 15px minmax(0, 1fr);
	min-height: 55px;
	position: relative;
}

.cp-profile-page .cp-activity6-timeline > div::before {
	background: #dce8e7;
	content: "";
	left: 6px;
	position: absolute;
	top: 14px;
	bottom: -1px;
	width: 2px;
}

.cp-profile-page .cp-activity6-timeline > div:last-child::before {
	display: none;
}

.cp-profile-page .cp-activity6-timeline > div > span {
	background: #6f9189;
	border: 3px solid #eef5f3;
	border-radius: 999px;
	height: 14px;
	position: relative;
	width: 14px;
	z-index: 1;
}

.cp-profile-page .cp-activity6-timeline > div.is-current > span {
	background: var(--cp-teal);
	box-shadow: 0 0 0 4px rgba(19, 169, 141, .13);
}

.cp-profile-page .cp-activity6-timeline > div.is-danger > span {
	background: #c94b56;
}

.cp-profile-page .cp-activity6-timeline p,
.cp-profile-page .cp-activity6-timeline strong,
.cp-profile-page .cp-activity6-timeline small {
	display: block;
	margin: 0;
}

.cp-profile-page .cp-activity6-timeline strong {
	font-size: 11px;
}

.cp-profile-page .cp-activity6-timeline small {
	color: var(--cp-muted);
	font-size: 9px;
	margin-top: 3px;
}

.cp-profile-page .cp-activity6-notice {
	align-items: start;
	background: #fff8dc;
	border: 1px solid #eadb9f;
	border-radius: 15px;
	color: #6d5814;
	display: flex;
	font-size: 10px;
	gap: 9px;
	margin-top: 12px;
	padding: 12px;
}

.cp-profile-page .cp-activity6-notice p {
	line-height: 1.45;
	margin: 3px 0 0;
}

.cp-profile-page .cp-activity6-fact-grid {
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 15px;
}

.cp-profile-page .cp-activity6-fact-grid > div,
.cp-profile-page .cp-activity6-owner {
	background: var(--cp-surface-soft);
	border-radius: 13px;
	display: grid;
	gap: 3px;
	padding: 11px;
}

.cp-profile-page .cp-activity6-fact-grid span,
.cp-profile-page .cp-activity6-owner span {
	color: var(--cp-muted);
	font-size: 8px;
	font-weight: 800;
}

.cp-profile-page .cp-activity6-fact-grid strong,
.cp-profile-page .cp-activity6-owner strong {
	font-size: 10px;
}

.cp-profile-page .cp-activity6-note {
	border-top: 1px solid var(--cp-border);
	margin-top: 14px;
	padding-top: 13px;
}

.cp-profile-page .cp-activity6-note strong {
	font-size: 10px;
}

.cp-profile-page .cp-activity6-note p,
.cp-profile-page .cp-activity6-helper {
	color: var(--cp-muted);
	font-size: 9px;
	line-height: 1.5;
	margin: 5px 0 0;
}

.cp-profile-page .cp-activity6-code {
	background: var(--cp-navy);
	border-radius: 15px;
	color: #fff;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: .12em;
	margin-top: 14px;
	padding: 16px;
	text-align: center;
}

.cp-profile-page .cp-activity6-owner {
	margin-top: 12px;
}

.cp-profile-page .cp-activity6-panel form {
	display: grid;
	gap: 7px;
	margin-top: 13px;
}

.cp-profile-page .cp-activity6-panel form label,
.cp-profile-page .cp-activity6-danger label {
	font-size: 9px;
	font-weight: 850;
}

.cp-profile-page .cp-activity6-panel textarea,
.cp-profile-page .cp-activity6-danger textarea {
	border: 1px solid var(--cp-border);
	border-radius: 13px;
	font: inherit;
	font-size: 10px;
	min-height: 82px;
	padding: 11px;
	resize: vertical;
}

.cp-profile-page .cp-activity6-panel form button {
	background: var(--cp-navy);
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	justify-self: start;
	padding: 10px 13px;
}

.cp-profile-page .cp-activity6-danger {
	background: #fff;
	border: 1px solid #f0c9cd;
	border-radius: 18px;
	overflow: hidden;
}

.cp-profile-page .cp-activity6-danger summary {
	color: #a33e48;
	cursor: pointer;
	font-size: 10px;
	font-weight: 900;
	padding: 14px 16px;
}

.cp-profile-page .cp-activity6-danger > div {
	border-top: 1px solid #f3d9dc;
	padding: 14px 16px;
}

.cp-profile-page .cp-activity6-danger p {
	color: var(--cp-muted);
	font-size: 9px;
	line-height: 1.45;
	margin: 0 0 10px;
}

.cp-profile-page .cp-activity6-danger form {
	display: grid;
	gap: 7px;
}

.cp-profile-page .cp-activity6-danger button {
	background: #a33e48;
	border: 0;
	border-radius: 999px;
	color: #fff;
	font-size: 9px;
	font-weight: 900;
	justify-self: start;
	padding: 9px 12px;
}

/* Los detalles de pedido existentes adoptan la misma jerarquía. */
.cp-profile-page .cp-order-detail-hero {
	background: linear-gradient(135deg, #071d2b, #0d3946) !important;
	border-radius: 28px !important;
	box-shadow: 0 20px 50px rgba(7, 29, 43, .13) !important;
}

.cp-profile-page .cp-order-detail-grid {
	gap: 13px !important;
}

.cp-profile-page .cp-order-card {
	border-radius: 22px !important;
	box-shadow: 0 8px 24px rgba(7, 29, 43, .045) !important;
}

.cp-profile-page .cp-order-detail-button.is-primary {
	background: var(--cp-teal) !important;
	color: #062f31 !important;
}

@media (max-width: 920px) {
	.cp-profile-page .cp-activity6-hero,
	.cp-profile-page .cp-reservation6-hero,
	.cp-profile-page .cp-activity6-detail-hero,
	.cp-profile-page .cp-activity6-detail-grid {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-activity6-hero,
	.cp-profile-page .cp-reservation6-hero {
		padding: 22px;
	}

	.cp-profile-page .cp-activity6-quick,
	.cp-profile-page .cp-reservation6-list {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-activity6-tools {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-activity6-selects {
		grid-row: auto;
	}

	.cp-profile-page .cp-activity6-selects label,
	.cp-profile-page .cp-activity6-selects select {
		width: 100%;
	}

	.cp-profile-page .cp-activity6-detail-hero > div:last-child {
		text-align: left;
	}
}

@media (max-width: 560px) {
	.cp-profile-page .cp-activity6-switch {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-self: stretch;
	}

	.cp-profile-page .cp-activity6-switch a {
		justify-content: center;
		padding: 0 8px;
	}

	.cp-profile-page .cp-activity6-stats,
	.cp-profile-page .cp-reservation6-hero aside {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.cp-profile-page .cp-activity6-stats span,
	.cp-profile-page .cp-reservation6-hero aside span {
		font-size: 7px;
		min-height: 65px;
		padding: 7px 3px;
	}

	.cp-profile-page .cp-activity6-stats strong,
	.cp-profile-page .cp-reservation6-hero aside strong {
		font-size: 19px;
	}

	.cp-profile-page .cp-activity6-quick article {
		grid-template-columns: 40px minmax(0, 1fr);
	}

	.cp-profile-page .cp-activity6-quick article > a {
		grid-column: 1 / -1;
		text-align: center;
	}

	.cp-profile-page .cp-activity6-selects {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-activity6-card-head {
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 13px;
	}

	.cp-profile-page .cp-activity6-card-head > .cp-activity6-state {
		grid-column: 2;
		justify-self: start;
	}

	.cp-profile-page .cp-activity6-card-content {
		grid-template-columns: 1fr;
		padding: 0 13px 13px 67px;
	}

	.cp-profile-page .cp-activity6-total {
		text-align: left;
	}

	.cp-profile-page .cp-activity6-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		justify-content: stretch;
	}

	.cp-profile-page .cp-activity6-actions a {
		justify-content: center;
		text-align: center;
	}

	.cp-profile-page .cp-reservation6-card > header {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.cp-profile-page .cp-reservation6-card > header > .cp-activity6-state {
		grid-column: 2;
		justify-self: start;
	}

	.cp-profile-page .cp-reservation6-facts {
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-reservation6-card > footer {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-reservation6-card > footer a {
		text-align: center;
	}

	.cp-profile-page .cp-reservation6-empty {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.cp-profile-page .cp-reservation6-empty a {
		grid-column: 1 / -1;
		text-align: center;
	}

	.cp-profile-page .cp-activity6-detail-hero {
		padding: 21px;
	}

	.cp-profile-page .cp-activity6-detail-hero h2 {
		font-size: 27px;
	}

	.cp-profile-page .cp-activity6-detail-actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.cp-profile-page .cp-activity6-detail-actions a {
		justify-content: center;
	}

	.cp-profile-page .cp-activity6-fact-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cp-profile-page *,
	.cp-profile-page *::before,
	.cp-profile-page *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
