html,
body {
	min-height: 100%;
}

body.cartao-public-body {
	margin: 0;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	color: var(--card-text-main, #1f2430);
}

a,
a:hover,
a:focus {
	text-decoration: none;
}

.public-card-shell {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 24px 12px;
}

.public-card {
	width: min(100%, 390px);
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .10);
	border-radius: 30px;
	background: var(--card-body-bg, #ffffff);
	box-shadow: 0 28px 70px rgba(15, 23, 42, .20);
}

.public-card-footer {
	width: min(100%, 390px);
	margin: 10px auto 0;
	padding: 6px 16px;
	border-radius: 999px;
	background: rgba(20, 0, 46, .24);
	backdrop-filter: blur(10px);
	text-align: center;
}

.public-card-footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #ffffff !important;
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	opacity: .86;
}

.public-card-footer img {
	display: block;
	width: auto !important;
	max-width: 62px !important;
	height: 14px !important;
	object-fit: contain;
}

.card-cover {
	position: relative;
	z-index: 1;
	height: 150px;
	background-position: center;
	background-size: cover;
}

.card-cover-height-compact .card-cover {
	height: 120px;
}

.card-cover-height-high .card-cover {
	height: 190px;
}

.card-content {
	position: relative;
	z-index: 2;
	display: flow-root;
	min-height: 420px;
	padding: 0 22px 24px;
	background-color: var(--card-body-bg, #ffffff);
	background-position: center;
	background-size: cover;
	text-align: center;
}

.card-avatar-wrap {
	position: relative;
	z-index: 4;
	display: flex;
	justify-content: center;
	margin-top: -72px;
	margin-bottom: 10px;
}

.card-avatar {
	position: relative;
	z-index: 5;
	width: 132px;
	height: 132px;
	border: 6px solid var(--card-body-bg, #ffffff);
	border-radius: 999px;
	background: #eef1f7;
	object-fit: cover;
	box-shadow: 0 18px 36px rgba(15, 23, 42, .20);
}

.card-avatar-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--card-button-text, #ffffff);
	background: linear-gradient(135deg, var(--card-gradient-1, #5b32b4), var(--card-gradient-2, #c400ff));
	font-size: 44px;
	font-weight: 700;
}

.card-content h1 {
	margin: 0 0 6px;
	color: var(--card-text-main, #1f2430);
	font-size: 28px;
	line-height: 1.14;
	font-weight: 750;
}

.card-role,
.card-company,
.card-location,
.card-bio {
	color: var(--card-text-secondary, #647084);
}

.card-role,
.card-company {
	margin: 0 0 4px;
	font-size: 15px;
	line-height: 1.35;
}

.card-bio {
	margin: 12px 0 0;
	font-size: 14px;
	line-height: 1.55;
}

.card-location {
	margin: 10px 0 0;
	font-size: 13px;
}

.card-save-contact,
.classic-save-contact {
	margin-top: 16px;
}

.card-link-stack {
	display: grid;
	gap: 11px;
	margin-top: 18px;
}

.card-link-button {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	width: 100%;
	min-height: 54px;
	padding: 14px 18px;
	border: 1px solid rgba(91, 50, 180, .12);
	border-radius: 18px;
	background: var(--card-button-bg, #ffffff);
	color: var(--card-button-text, var(--card-text-main, #1f2430)) !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	text-align: left;
	box-shadow: 0 12px 26px rgba(15, 11, 36, .08);
	transition: transform .16s ease, box-shadow .16s ease;
}

.card-link-button > span {
	display: block;
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;
}

.card-link-button:not(.card-link-button--with-image):not(:has(img)):not(:has(i)) {
	padding-left: 62px;
}

.card-save-contact {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 48px;
	padding: 12px 18px;
	border-radius: 16px;
	background: var(--card-button-bg, #5b32b4);
	color: var(--card-button-text, #ffffff) !important;
	font-weight: 600;
	box-shadow: 0 12px 26px rgba(15, 11, 36, .08);
}

.card-link-button:hover,
.card-link-button:focus,
.card-featured-link:hover,
.card-featured-link:focus {
	transform: translateY(-1px);
	box-shadow: 0 16px 34px rgba(15, 11, 36, .15);
}

.card-link-button--with-image {
	justify-content: flex-start;
	text-align: left;
	padding-left: 16px;
	padding-right: 18px;
}

.card-link-button--with-image span {
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
	white-space: normal;
}

.card-link-button img {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #ffffff;
	object-fit: cover;
	filter: none;
	mix-blend-mode: normal;
	flex: 0 0 auto;
}

.card-link-button.link,
.card-featured-link.link,
.comum-link.link {
	border-radius: 8px;
}

.card-link-button.link2,
.card-featured-link.link2,
.comum-link.link2 {
	border-radius: 12px;
	box-shadow: 0 16px 28px rgba(15, 11, 36, .16);
}

.card-link-button.link3,
.card-featured-link.link3,
.comum-link.link3 {
	border-radius: 999px;
}

.card-link-button.link4,
.card-featured-link.link4,
.comum-link.link4 {
	background: transparent;
	border: 1.5px solid currentColor;
	box-shadow: none;
}

.card-link-button.link5,
.card-featured-link.link5,
.comum-link.link5 {
	border-radius: 12px;
	box-shadow: 9px 9px 0 rgba(15, 23, 42, .22);
}

.card-link-button.link6,
.card-featured-link.link6,
.comum-link.link6 {
	box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 0 22px rgba(91, 50, 180, .32);
}

.card-link-button.link7,
.card-featured-link.link7,
.comum-link.link7 {
	background: rgba(255,255,255,.18);
	backdrop-filter: blur(14px);
	border-color: rgba(255,255,255,.26);
}

.card-link-button.link8,
.card-featured-link.link8,
.comum-link.link8 {
	border-radius: 999px;
	box-shadow: 0 10px 0 rgba(15, 23, 42, .18);
}

.card-link-button.link9,
.card-featured-link.link9,
.comum-link.link9 {
	background: linear-gradient(135deg, var(--card-gradient-1, #5b32b4), var(--card-gradient-2, #c400ff));
}

.card-featured-link {
	display: grid;
	grid-template-columns: 58px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	width: 100%;
	padding: 14px;
	border: 1px solid color-mix(in srgb, var(--card-button-bg, #111827) 82%, #000000);
	border-radius: 20px;
	background: var(--card-link-bg, var(--card-button-bg, #111827));
	color: var(--card-link-text, var(--card-button-text, #ffffff)) !important;
	text-align: left;
	box-shadow: 0 14px 30px rgba(15, 11, 36, .14);
	transition: transform .16s ease, box-shadow .16s ease;
}

.card-featured-link > strong,
.card-featured-link > small {
	grid-column: 2;
	min-width: 0;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

.card-featured-link span {
	grid-row: 1 / span 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--card-gradient-1, #5b32b4), var(--card-gradient-2, #c400ff));
	color: var(--card-link-text, var(--card-button-text, #ffffff));
	font-size: 22px;
	overflow: hidden;
}

.card-featured-link img,
.card-banner-link img {
	width: 58px;
	height: 58px;
	border-radius: 14px;
	background: #ffffff;
	object-fit: cover;
}

.card-featured-link strong,
.card-featured-link small {
	display: block;
}

.card-featured-link strong {
	color: var(--card-link-text, var(--card-button-text, #ffffff));
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	white-space: normal;
}

.card-featured-link small {
	margin-top: 3px;
	color: color-mix(in srgb, var(--card-link-text, var(--card-button-text, #ffffff)) 74%, transparent);
	font-weight: 500;
	line-height: 1.35;
}

.card-banner-link {
	min-height: 132px;
	grid-template-columns: 58px minmax(0, 1fr);
	align-items: center;
	align-content: end;
	justify-items: start;
	background-color: var(--card-link-bg, #111827);
	background-position: center;
	background-size: cover;
	color: var(--card-link-text, #ffffff) !important;
	text-align: left;
}

.card-banner-link > span {
	background: rgba(255,255,255,.18);
	color: var(--card-link-text, #ffffff);
	backdrop-filter: blur(8px);
}

.card-banner-link > strong,
.card-banner-link > small {
	width: 100%;
	text-align: left;
}

.card-store-link {
	background: linear-gradient(135deg, #111827, #32135f);
}

.card-social-icons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 16px;
}

.card-social-icons a,
.comum-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: var(--card-button-bg, #111827);
	color: var(--card-button-text, #ffffff) !important;
	font-size: 18px;
	overflow: hidden;
	box-shadow: 0 10px 24px rgba(15, 11, 36, .12);
}

.card-social-icons a.social2,
.comum-social.social2 {
	border-radius: 10px;
}

.card-social-icons a.social3,
.comum-social.social3 {
	border-radius: 14px;
}

.card-social-icons a.social4,
.comum-social.social4 {
	background: transparent;
	border: 1.5px solid currentColor;
	box-shadow: none;
}

.card-social-icons a.social5,
.comum-social.social5 {
	background: transparent;
	box-shadow: none;
}

.card-social-icons a.social6,
.comum-social.social6 {
	box-shadow: 8px 8px 0 rgba(15, 23, 42, .20);
}

.card-social-icons a.social7,
.comum-social.social7 {
	background: rgba(255,255,255,.18);
	backdrop-filter: blur(14px);
}

.card-social-icons a.social8,
.comum-social.social8 {
	width: 36px;
	height: 36px;
	font-size: 15px;
}

.card-social-icons a.social9,
.comum-social.social9 {
	background: #ffffff;
	color: var(--card-button-bg, #111827) !important;
}

.card-social-icons a.social10,
.comum-social.social10 {
	box-shadow: 8px 8px 0 rgba(15, 23, 42, .20);
}

.card-social-icons img,
.comum-social img {
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #ffffff;
	object-fit: cover;
	filter: none;
	mix-blend-mode: normal;
}

.card-youtube-fake {
	display: block;
	width: 100%;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .12);
	border-radius: 18px;
	background: #0f1117;
	color: #ffffff !important;
	text-align: left;
	box-shadow: 0 14px 30px rgba(15, 11, 36, .14);
}

.card-youtube-fake__thumb {
	position: relative;
	aspect-ratio: 16 / 9;
	background-position: center;
	background-size: cover;
}

.card-youtube-fake__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, .18);
}

.card-youtube-fake__play {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 40px;
	border-radius: 12px;
	background: #ff0033;
	color: #fff;
	font-size: 18px;
}

.card-youtube-fake__body {
	padding: 12px 14px 14px;
}

.card-youtube-fake__body strong {
	display: block;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.cartao-empty-public {
	display: grid;
	gap: 8px;
	margin: 18px 0;
	padding: 18px;
	border: 1px solid rgba(91, 50, 180, .16);
	border-radius: 18px;
	background: rgba(255,255,255,.72);
	color: var(--card-text-main, #1f2430);
}

.cartao-empty-public strong {
	font-weight: 700;
}

.cartao-empty-public a {
	color: #5b32b4;
	font-weight: 700;
}

.layout-classic-v1 .classic-profile-wrap {
	border-radius: 24px;
	background: rgba(255,255,255,.88);
	padding: 18px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, .12);
}

.layout-classic-v1 .img-perfil {
	display: block;
	width: 120px;
	height: 120px;
	margin: 0 auto;
	border-radius: 999px;
	object-fit: cover;
}

.comum-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 52px;
	margin: 8px 0;
	padding: 12px 16px;
	border-radius: 16px;
	background: var(--card-button-bg, #5b32b4);
	color: var(--card-button-text, #ffffff) !important;
	font-weight: 600;
	text-align: center;
	box-shadow: 0 12px 26px rgba(15, 11, 36, .10);
}

.classic-link--with-image {
	justify-content: flex-start;
	text-align: left;
}

.classic-link-image {
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: #ffffff;
	object-fit: cover;
}

.img-perfil2,
.img-perfil4,
.img-perfil5 {
	object-fit: cover;
}

.img-perfil4 {
	border-radius: 18px !important;
}

.shake-link {
	animation: destaque-shake 3.6s ease-in-out infinite;
}

@keyframes destaque-shake {
	0%, 86%, 100% { transform: translateX(0) rotate(0); }
	89% { transform: translateX(-1px) rotate(-.35deg); }
	92% { transform: translateX(1px) rotate(.35deg); }
	95% { transform: translateX(-1px) rotate(-.2deg); }
	98% { transform: translateX(0) rotate(0); }
}

@media (prefers-reduced-motion: reduce) {
	.shake-link {
		animation: none;
	}
}

@media (max-width: 575px) {
	.public-card-shell {
		padding: 0;
	}

	.public-card {
		border: 0;
		border-radius: 0;
		box-shadow: none;
		width: 100%;
	}

	.public-card-footer {
		width: 100%;
		padding: 9px 16px 12px;
		border-radius: 0;
		background: transparent;
		opacity: .72;
	}

	.public-card-footer a {
		font-size: 11px;
		font-weight: 500;
	}

	.public-card-footer img {
		max-width: 58px !important;
		height: 13px !important;
	}

	.card-content {
		padding: 0 16px 20px;
	}

	.card-cover {
		height: 132px;
	}

	.card-avatar {
		width: 116px;
		height: 116px;
	}

	.card-avatar-wrap {
		margin-top: -62px;
	}

	.card-content h1 {
		font-size: 24px;
	}
}
