/* NOLINKDABIO — página pública do comediante. Cores e fontes vêm das variáveis --nlb-* do perfil escolhido. */
html, body.nlb-body { margin: 0; padding: 0; min-height: 100%; }
body.nlb-body {
	background: var(--nlb-bg);
	color: var(--nlb-txt);
	font-family: var(--nlb-fb), system-ui, sans-serif;
	-webkit-font-smoothing: antialiased;
	line-height: 1.35;
}
.nlb-perfil { position: relative; max-width: 520px; margin: 0 auto; padding: 28px 22px 40px; padding-top: max(28px, env(safe-area-inset-top)); }
.nlb-perfil::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background: radial-gradient(60% 40% at 50% 0%, color-mix(in srgb, var(--nlb-acc) 28%, transparent), transparent 70%), var(--nlb-bg);
}
.nlb-perfil * { box-sizing: border-box; }
.nlb-perfil a { color: inherit; text-decoration: none; }

/* Cabeçalho */
.nlb-cab { text-align: center; }
.nlb-avatar { width: 108px; height: 108px; border-radius: 50%; margin: 0 auto 12px; border: 3px solid var(--nlb-acc); overflow: hidden; background: color-mix(in srgb, var(--nlb-acc) 30%, var(--nlb-card)); display: flex; align-items: center; justify-content: center; }
.nlb-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; display: block; }
.nlb-avatar-ini { font-family: var(--nlb-fd), sans-serif; font-size: 46px; color: var(--nlb-acc); }
.nlb-nome { font-family: var(--nlb-fd), sans-serif; font-weight: 400; font-size: 42px; line-height: 1; margin: 0; text-transform: uppercase; letter-spacing: .02em; word-break: break-word; }
.nlb-bio { color: var(--nlb-mut); font-size: 15px; margin: 8px 0 0; }
.nlb-url { margin: 4px 0 0; font-size: 14px; font-weight: 700; }
.nlb-url a { color: var(--nlb-acc); }

/* Redes */
.nlb-redes { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; margin: 22px 0 8px; }
.nlb-redes a { width: 50px; height: 50px; border-radius: 50%; background: var(--nlb-card); border: 1px solid var(--nlb-line); display: flex; align-items: center; justify-content: center; color: var(--nlb-acc); transition: transform .15s; }
.nlb-redes a:active { transform: scale(.94); }
.nlb-redes svg { width: 22px; height: 22px; fill: currentColor; }

/* Seções */
.nlb-secao { margin-top: 26px; }
.nlb-titulo { font-family: var(--nlb-fd), sans-serif; font-weight: 400; font-size: 26px; color: var(--nlb-acc); text-transform: uppercase; letter-spacing: .02em; margin: 0 0 10px; display: flex; align-items: center; gap: 10px; }
.nlb-titulo::after { content: ""; flex: 1; height: 1px; background: var(--nlb-line); }

/* Shows */
.nlb-show { display: flex; align-items: center; gap: 12px; background: var(--nlb-card); border: 1px solid var(--nlb-line); border-radius: 14px; padding: 10px 12px; margin-bottom: 10px; }
.nlb-data { width: 58px; flex: none; text-align: center; background: var(--nlb-acc); color: var(--nlb-acc-txt); border-radius: 10px; padding: 6px 0 7px; font-family: var(--nlb-fd), sans-serif; line-height: 1; }
.nlb-data b { display: block; font-size: 30px; font-weight: 400; }
.nlb-data small { display: block; font-size: 12px; letter-spacing: .06em; margin-top: 2px; }
.nlb-show-info { flex: 1; min-width: 0; }
.nlb-show-info b { display: block; font-size: 15px; line-height: 1.2; }
.nlb-show-info span { display: block; font-size: 12px; color: var(--nlb-mut); margin-top: 2px; }
.nlb-btn { display: inline-block; font-weight: 700; font-size: 12px; padding: 10px 13px; border-radius: 9px; white-space: nowrap; flex: none; }
.nlb-perfil .nlb-btn-acc { background: var(--nlb-acc); color: var(--nlb-acc-txt); }
.nlb-perfil .nlb-btn-off { background: var(--nlb-off); color: var(--nlb-mut); }
.nlb-esgotado .nlb-data { opacity: .55; }

/* Data vazada: fundo transparente, contorno e número na cor de destaque */
.nlb-data-vazada .nlb-data { background: transparent; color: var(--nlb-acc); box-shadow: inset 0 0 0 2px var(--nlb-acc); }

/* Produtos */
.nlb-produtos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nlb-produto { background: var(--nlb-card); border: 1px solid var(--nlb-line); border-radius: 14px; overflow: hidden; display: block; }
.nlb-produto-img { aspect-ratio: 1 / 1; background: color-mix(in srgb, var(--nlb-line) 60%, var(--nlb-card)); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.nlb-produto-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nlb-produto-img span { font-family: var(--nlb-fd), sans-serif; font-size: 40px; color: var(--nlb-mut); }
.nlb-produto-t { padding: 10px; font-size: 13px; font-weight: 700; line-height: 1.25; }
.nlb-produto-t small { display: block; color: var(--nlb-acc); margin-top: 3px; font-size: 13px; }

/* Rodapé */
.nlb-rodape { text-align: center; font-size: 11px; color: var(--nlb-mut); opacity: .7; margin-top: 30px; }
.nlb-rodape a { text-decoration: underline; }
.nlb-perfil .nlb-editar-flutuante { position: fixed; right: 14px; bottom: 14px; background: var(--nlb-acc); color: var(--nlb-acc-txt); font-weight: 700; font-size: 13px; padding: 10px 14px; border-radius: 999px; box-shadow: 0 6px 20px rgba(0,0,0,.35); }

@media (min-width: 600px) {
	.nlb-nome { font-size: 48px; }
}

/* Banner de publicidade no fim da agenda. */
.nlb-banner { position: relative; background: var(--nlb-card); border: 1px solid var(--nlb-line); border-radius: 14px; padding: 26px 14px 14px; margin-top: 14px; }
.nlb-banner-selo { position: absolute; top: 9px; left: 14px; font-size: 9px; letter-spacing: .18em; text-transform: uppercase; color: var(--nlb-mut); }
.nlb-banner-corpo { display: flex; gap: 12px; align-items: center; }
.nlb-banner-img { width: 54px; flex: none; border-radius: 8px; overflow: hidden; background: var(--nlb-bg); }
.nlb-banner-img img { width: 100%; height: auto; display: block; }
.nlb-banner-txt { flex: 1; min-width: 0; }
.nlb-banner-txt b { display: block; font-size: 15px; color: var(--nlb-txt); margin-bottom: 3px; }
.nlb-banner-txt span { display: block; font-size: 13px; line-height: 1.35; color: var(--nlb-mut); }
.nlb-perfil .nlb-banner-btn { flex: none; align-self: center; margin: 0; background: var(--nlb-acc); color: var(--nlb-acc-txt); font-size: 11px; padding: 6px 14px; border-radius: 7px; text-decoration: none; font-weight: 700; white-space: nowrap; }

/* Seletor de agenda (quem tem mais de uma faceta). */
.nlb-hub-pergunta { text-align: center; color: var(--nlb-mut); font-size: 14px; margin: 24px 0 14px; }
.nlb-hub-opcoes { display: flex; flex-direction: column; gap: 12px; }
.nlb-perfil .nlb-hub-op { display: flex; align-items: center; gap: 14px; background: var(--nlb-card); border: 1px solid var(--nlb-line); border-left: 4px solid var(--nlb-acc); border-radius: 14px; padding: 14px 16px; }
.nlb-hub-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.nlb-hub-op b { font-family: var(--nlb-fd), sans-serif; font-size: 26px; line-height: 1.1; text-transform: uppercase; letter-spacing: .10em; color: var(--nlb-txt); }
.nlb-hub-txt span { font-size: 13px; color: var(--nlb-mut); }
.nlb-hub-foto { flex: none; width: 72px; height: 72px; border-radius: 50%; overflow: hidden; border: 2px solid var(--nlb-acc); background: var(--nlb-bg); display: flex; align-items: center; justify-content: center; }
.nlb-hub-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nlb-hub-foto i { font-family: var(--nlb-fd), sans-serif; font-style: normal; font-size: 28px; color: var(--nlb-acc); }

/* Barra para trocar de agenda dentro de uma delas. */
.nlb-trocar { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; margin: 0 0 22px; }
.nlb-perfil .nlb-trocar-op { font-size: 12px; font-weight: 700; padding: 7px 14px; border-radius: 999px; background: var(--nlb-card); border: 1px solid var(--nlb-line); color: var(--nlb-mut); }
.nlb-perfil .nlb-trocar-op.on { background: var(--nlb-acc); color: var(--nlb-acc-txt); border-color: var(--nlb-acc); }

/* Parceiros do show na página pública. */
.nlb-show-com { display: block; font-size: 12px; color: var(--nlb-acc); }

/* Linha com as páginas legais no rodapé (obrigatória em páginas com publicidade). */
.nlb-rodape-legais { display: block; margin-top: 6px; opacity: .8; }
.nlb-perfil .nlb-rodape-legais a { text-decoration: underline; }

/* Seção "Parceiros": vídeos, parcerias e links avulsos. */
.nlb-extras { display: flex; flex-direction: column; gap: 10px; }
.nlb-extra {
	display: flex; align-items: center; gap: 14px; padding: 14px 16px;
	background: var(--nlb-card); border: 1px solid var(--nlb-line); border-radius: 16px;
}
.nlb-extra-ico {
	flex: none; width: 44px; height: 44px; border-radius: 12px;
	display: flex; align-items: center; justify-content: center;
	background: var(--nlb-acc); color: var(--nlb-acc-txt);
}
.nlb-extra-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nlb-extra-txt b { font-size: 15px; line-height: 1.25; }
.nlb-extra-txt span { font-size: 12px; color: var(--nlb-mut); text-transform: uppercase; letter-spacing: .06em; }
.nlb-perfil .nlb-extra-seta { flex: none; color: var(--nlb-mut); font-size: 18px; }

/* Banner de arte pronta e banner de código (HTML/AdSense). */
.nlb-banner-arte img { width: 100%; height: auto; display: block; border-radius: 8px; }
.nlb-banner-img-tipo { padding: 26px 10px 10px; }
.nlb-banner-codigo { padding: 26px 10px 10px; }
.nlb-banner-slot { min-height: 1px; text-align: center; }
.nlb-banner-codigo-area { max-width: 100%; overflow: hidden; }
.nlb-banner-codigo-area img, .nlb-banner-codigo-area iframe { max-width: 100%; }
