/* A compact contact card, shared by every locale and page. */
html.vj-contact-open { overflow: hidden; }
body .vj-contact-dialog {
	box-sizing: border-box;
	position: fixed;
	inset: 0;
	margin: auto;
	width: min(400px, calc(100% - 32px));
	max-width: none;
	max-height: calc(100dvh - 32px);
	overflow: auto;
	padding: 36px 32px 20px;
	border: 1px solid #343638;
	border-top: 3px solid #ff4b00;
	border-radius: 12px;
	background: #111416;
	color: #fff;
	box-shadow: 0 24px 100px #0008;
	font-family: var(--vj-reading-font, Arial, "PingFang SC", "Microsoft YaHei", sans-serif);
	text-align: start;
}
body .vj-contact-dialog:not([open]) { display: none; }
.vj-contact-dialog::backdrop { background: #050709b8; backdrop-filter: blur(6px); }
body .vj-contact-dialog button { font: inherit; cursor: pointer; text-transform: none; letter-spacing: normal; }
body .vj-contact-dialog__close { position: absolute; top: 10px; inset-inline-end: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 12px; border: 0; border-radius: 50%; background: transparent; color: #afb3b6; }
body .vj-contact-dialog__close:hover { background: #ffffff0d; color: white; }
.vj-contact-dialog__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.vj-contact-dialog__brand { display: flex; align-items: center; gap: 14px; padding-inline-end: 22px; }
.vj-contact-dialog__icon { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 34px; color: #fff; }
.vj-contact-dialog__icon :is(svg,i) { width: 32px; height: 32px; font-size: 32px; fill: currentColor; }
body .vj-contact-dialog h2 { margin: 0; font-family: inherit; font-size: 22px; font-weight: 600; line-height: 1.4; letter-spacing: 0; color: #fff; }
.vj-contact-dialog__account { margin-top: 28px; padding: 24px 0; border-top: 1px solid #ffffff1c; border-bottom: 1px solid #ffffff1c; }
body .vj-contact-dialog #vj-contact-label { margin: 0 0 9px; color: #a9afb3; font-size: 14px; line-height: 1.5; }
body .vj-contact-dialog #vj-contact-id { width: fit-content; max-width: 100%; margin: 0; font-family: Arial, sans-serif; color: white; font-size: clamp(32px, 10vw, 46px); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; user-select: all; overflow-wrap: anywhere; }
body .vj-contact-dialog__copy { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 48px; margin: 24px 0 0; padding: 12px 18px; background: #ff4b00; border: 1px solid #ff4b00; border-radius: 5px; color: #fff; font-size: 16px; font-weight: 600; line-height: 1.5; }
body .vj-contact-dialog__copy:hover { background: #ff4b00; border-color: #ff4b00; box-shadow: 0 0 0 2px #ff4b00; }
.vj-contact-dialog__copy svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
body .vj-contact-dialog__status { min-height: 21px; margin: 10px 0 0; text-align: center; font-size: 14px; line-height: 1.5; color: #c9cecf; }
body .vj-contact-dialog button:focus-visible, [data-vj-contact-platform]:focus-visible { outline: 2px solid #ff4b00; outline-offset: 4px; }
@media(max-width: 480px) { body .vj-contact-dialog { padding: 32px 24px 16px; } }
@media(prefers-reduced-motion: no-preference) { .vj-contact-dialog[open] { animation: vj-contact-appear .18s ease-out; } @keyframes vj-contact-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } }
