/* ShareNivo frontend design tokens and bundled local typography. */
@font-face {
	font-family: "ShareNivo Instrument Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/InstrumentSans-Regular.ttf") format("truetype");
}
@font-face {
	font-family: "ShareNivo Instrument Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/InstrumentSans-Bold.ttf") format("truetype");
}

.sharenivo-share,
.sharenivo-follow {
	--sn-button: 44px;
	--sn-label-width: 120px;
	--sn-radius: 10px;
	--sn-widget-font: "ShareNivo Instrument Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-family: var(--sn-widget-font);
	font-size: 14px;
	line-height: 1.4;
	box-sizing: border-box;
}

.sharenivo-share *,
.sharenivo-follow * {
	box-sizing: border-box;
}

.sharenivo-share__primary,
.sharenivo-share__more {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sn-gap, 8px);
}

.sharenivo-share__more {
	margin-top: var(--sn-gap, 8px);
}

.sharenivo-share__more[hidden] {
	display: none;
}

.sharenivo-button {
	--sn-network: #3a1f4f;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--sn-button);
	height: var(--sn-button);
	min-width: var(--sn-button);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--sn-radius);
	background: var(--sn-network);
	box-shadow: 0 7px 18px rgba(15, 23, 42, .13);
	color: var(--sn-icon, #fff);
	cursor: pointer;
	font: 600 14px/1.2 var(--sn-widget-font);
	line-height: 1;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, filter .18s ease;
}

.sharenivo-button:hover,
.sharenivo-button:focus-visible {
	background: var(--sn-brand-hover, #ff5a4f);
	box-shadow: 0 10px 24px rgba(15, 23, 42, .2);
	color: var(--sn-icon, #fff);
}

.sharenivo-button:focus-visible,
.sharenivo-prompt__close:focus-visible,
.sharenivo-follow__link:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--sn-brand, #3a1f4f) 38%, transparent);
	outline-offset: 3px;
}

.sharenivo-button__icon,
.sharenivo-button__icon svg {
	display: block;
	width: 21px;
	height: 21px;
}

.sharenivo-button__icon svg,
.sharenivo-follow svg,
.sharenivo-prompt__close svg {
	fill: currentColor;
}

.sharenivo-button__label {
	display: none;
	margin-left: var(--sn-gap, 8px);
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.sharenivo-share--labels .sharenivo-button {
	width: var(--sn-label-width);
	min-width: var(--sn-label-width);
	padding: 0 15px;
}

.sharenivo-share--labels .sharenivo-button__label {
	display: inline;
}

.sharenivo-size--small { --sn-button: 36px; --sn-label-width: 104px; }
.sharenivo-size--large { --sn-button: 52px; --sn-label-width: 136px; }
.sharenivo-size--small .sharenivo-button__icon,
.sharenivo-size--small .sharenivo-button__icon svg { width: 18px; height: 18px; }
.sharenivo-size--large .sharenivo-button__icon,
.sharenivo-size--large .sharenivo-button__icon svg { width: 25px; height: 25px; }
.sharenivo-shape--circle { --sn-radius: 999px; }
.sharenivo-shape--square { --sn-radius: 0; }
.sharenivo-shape--pill { --sn-radius: 999px; }
.sharenivo-shape--soft { --sn-radius: 17px; }
.sharenivo-shape--leaf { --sn-radius: 17px 5px 17px 5px; }

.sharenivo-button--facebook { --sn-network: #1877f2; }
.sharenivo-button--x,
.sharenivo-button--threads { --sn-network: #111; }
.sharenivo-button--linkedin { --sn-network: #0a66c2; }
.sharenivo-button--whatsapp { --sn-network: #25d366; }
.sharenivo-button--pinterest { --sn-network: #e60023; }
.sharenivo-button--bluesky { --sn-network: #1185fe; }
.sharenivo-button--telegram { --sn-network: #229ed9; }
.sharenivo-button--reddit { --sn-network: #ff4500; }
.sharenivo-button--line { --sn-network: #00b900; }
.sharenivo-button--snapchat { --sn-network: #fffc00; }
.sharenivo-button--email { --sn-network: #64748b; }
.sharenivo-button--copy,
.sharenivo-button--more { --sn-network: var(--sn-brand, #3a1f4f); }
.sharenivo-button--instagram { --sn-network: #e1306c; }
.sharenivo-button--youtube { --sn-network: #f00; }
.sharenivo-button--tiktok { --sn-network: #111; }
.sharenivo-button--github { --sn-network: #24292f; }

.sharenivo-color--brand .sharenivo-button {
	background: var(--sn-brand, #3a1f4f);
}

.sharenivo-color--minimal .sharenivo-button {
	border: 1px solid #d7d9e3;
	background: #fff;
	box-shadow: none;
	color: #202331;
}

.sharenivo-color--minimal .sharenivo-button:hover,
.sharenivo-color--minimal .sharenivo-button:focus-visible {
	border-color: var(--sn-brand, #3a1f4f);
	background: #fff7f5;
	color: var(--sn-brand, #3a1f4f);
}

.sharenivo-color--network .sharenivo-button--line,
.sharenivo-color--network .sharenivo-button--snapchat {
	--sn-icon: #171717;
}

.sharenivo-color--outline .sharenivo-button {
	border: 1px solid var(--sn-network);
	background: transparent;
	box-shadow: none;
	color: var(--sn-network);
}
.sharenivo-color--outline .sharenivo-button:hover,
.sharenivo-color--outline .sharenivo-button:focus-visible {
	background: color-mix(in srgb, var(--sn-network) 12%, transparent);
	color: var(--sn-network);
}
.sharenivo-color--contrast .sharenivo-button {
	background: #111827;
	color: #fff;
}
.sharenivo-color--contrast .sharenivo-button:hover,
.sharenivo-color--contrast .sharenivo-button:focus-visible {
	background: #fff;
	color: #111827;
}
.sharenivo-hover-colors--individual .sharenivo-button:hover,
.sharenivo-hover-colors--individual .sharenivo-button:focus-visible {
	border-color: var(--sn-network);
	background: var(--sn-network);
	color: #fff;
}
.sharenivo-color--brand.sharenivo-hover-colors--individual .sharenivo-button:hover,
.sharenivo-color--brand.sharenivo-hover-colors--individual .sharenivo-button:focus-visible {
	border-color: var(--sn-brand-hover, #ff5a4f);
	background: var(--sn-brand-hover, #ff5a4f);
	color: var(--sn-icon, #fff);
}
.sharenivo-color--network.sharenivo-hover-colors--individual .sharenivo-button--line:hover,
.sharenivo-color--network.sharenivo-hover-colors--individual .sharenivo-button--line:focus-visible,
.sharenivo-color--network.sharenivo-hover-colors--individual .sharenivo-button--snapchat:hover,
.sharenivo-color--network.sharenivo-hover-colors--individual .sharenivo-button--snapchat:focus-visible {
	color: #171717;
}
.sharenivo-color--outline .sharenivo-button--line,
.sharenivo-color--outline .sharenivo-button--snapchat {
	border-color: #171717;
	color: #171717;
}
.sharenivo-color--outline .sharenivo-button--line:hover,
.sharenivo-color--outline .sharenivo-button--line:focus-visible,
.sharenivo-color--outline .sharenivo-button--snapchat:hover,
.sharenivo-color--outline .sharenivo-button--snapchat:focus-visible {
	background: #171717;
	color: #fff;
}

.sharenivo-hover--lift .sharenivo-button:hover { transform: translateY(-3px); }
.sharenivo-hover--grow .sharenivo-button:hover { transform: scale(1.08); }
.sharenivo-hover--slide .sharenivo-button:hover .sharenivo-button__icon { transform: translateX(2px); }
.sharenivo-hover--glow .sharenivo-button:hover { filter: brightness(1.08) drop-shadow(0 0 8px var(--sn-network)); }
.sharenivo-color--brand.sharenivo-hover--glow .sharenivo-button:hover,
.sharenivo-color--minimal.sharenivo-hover--glow .sharenivo-button:hover { filter: brightness(1.08) drop-shadow(0 0 8px var(--sn-brand, #3a1f4f)); }
.sharenivo-hover--tilt .sharenivo-button:hover { transform: translateY(-2px) rotate(-4deg); }
.sharenivo-hover--pulse .sharenivo-button:hover { animation: sharenivo-hover-pulse .48s ease both; }
.sharenivo-hover--twist .sharenivo-button:hover .sharenivo-button__icon { transform: rotate(14deg) scale(1.08); }
.sharenivo-button__icon { transition: transform .18s ease; }
.sharenivo-button.is-copied { background: #138a63; }

@keyframes sharenivo-hover-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.1); }
}

.sharenivo-entrance--fade { animation: sharenivo-fade .36s ease both; }
.sharenivo-entrance--slide { animation: sharenivo-slide .38s ease both; }
.sharenivo-entrance--zoom { animation: sharenivo-zoom .32s ease both; }
@keyframes sharenivo-fade { from { opacity: 0; } }
@keyframes sharenivo-slide { from { opacity: 0; transform: translateY(14px); } }
@keyframes sharenivo-zoom { from { opacity: 0; transform: scale(.94); } }

.sharenivo-share--inline {
	clear: both;
	margin: 24px 0;
}
.sharenivo-align--center .sharenivo-share__primary { justify-content: center; }
.sharenivo-align--right .sharenivo-share__primary { justify-content: flex-end; }

.sharenivo-share--floating {
	position: fixed;
	top: var(--sn-floating-y, 50%);
	z-index: 99990;
	transform: translateY(-50%);
}
.sharenivo-side--left { left: 14px; }
.sharenivo-side--right { right: 14px; }
.sharenivo-share--floating .sharenivo-share__primary,
.sharenivo-share--floating .sharenivo-share__more {
	flex-direction: column;
	align-items: stretch;
}
.sharenivo-share--floating .sharenivo-share__more {
	position: absolute;
	top: 0;
	left: calc(100% + var(--sn-gap, 8px));
	margin: 0;
	padding: 9px;
	border: 1px solid #e6e7ed;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 15px 40px rgba(15, 23, 42, .18);
}
.sharenivo-share--floating .sharenivo-share__more[hidden] { display: none; }
.sharenivo-share--floating .sharenivo-share__more:not([hidden]) { display: flex; }
.sharenivo-side--right .sharenivo-share__more { right: calc(100% + var(--sn-gap, 8px)); left: auto; }
.sharenivo-share--floating.sharenivo-mobile--top {
	top: 12px;
	transform: none;
}
.sharenivo-share--floating.sharenivo-mobile--bottom {
	top: auto;
	bottom: 12px;
	transform: none;
}

.sharenivo-share--sticky {
	--sn-sticky-min: var(--sn-button);
	display: none;
	position: fixed;
	right: 10px;
	bottom: 0;
	left: 10px;
	z-index: 99991;
	width: max-content;
	max-width: calc(100vw - 20px);
	margin-inline: auto;
	padding: 9px max(10px, env(safe-area-inset-right)) calc(9px + env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
	border: 1px solid rgba(15, 23, 42, .09);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 -8px 24px rgba(15, 23, 42, .12);
	backdrop-filter: blur(12px);
}
.sharenivo-share--sticky .sharenivo-share__primary { flex-wrap: nowrap; }
.sharenivo-sticky-align--left { right: auto; margin-inline: 0; }
.sharenivo-sticky-align--right { left: auto; margin-inline: 0; }
.sharenivo-sticky--full {
	right: 0;
	left: 0;
	width: auto;
	max-width: none;
	margin-inline: 0;
	border-right: 0;
	border-left: 0;
	border-radius: 0;
}
.sharenivo-share--labels.sharenivo-share--sticky { --sn-sticky-min: 92px; }
.sharenivo-share--labels.sharenivo-size--small.sharenivo-share--sticky { --sn-sticky-min: 80px; }
.sharenivo-share--labels.sharenivo-size--large.sharenivo-share--sticky { --sn-sticky-min: 104px; }
.sharenivo-sticky--full .sharenivo-share__primary {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(var(--sn-sticky-min), 1fr));
	width: 100%;
}
.sharenivo-sticky--full .sharenivo-button,
.sharenivo-sticky--full.sharenivo-share--labels .sharenivo-button {
	width: 100%;
	min-width: 0;
	max-width: none;
}
.sharenivo-sticky--full.sharenivo-share--labels .sharenivo-button { padding-inline: clamp(8px, 2.5vw, 15px); }
.sharenivo-sticky--full .sharenivo-button__label {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sharenivo-share--sticky .sharenivo-share__more {
	position: absolute;
	right: 10px;
	bottom: calc(100% + 8px);
	left: 10px;
	justify-content: center;
	margin: 0;
	padding: 10px;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 -10px 30px rgba(15, 23, 42, .16);
}

.sharenivo-copy-status {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.sharenivo-prompt[hidden] { display: none; }
.sharenivo-prompt--popup {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: 20px;
	opacity: 0;
	transition: opacity .22s ease;
}
.sharenivo-prompt--popup.is-visible { opacity: 1; }
.sharenivo-prompt__backdrop { position: absolute; inset: 0; background: rgba(11, 14, 25, .65); backdrop-filter: blur(3px); }
.sharenivo-prompt__dialog,
.sharenivo-prompt--flyin {
	position: relative;
	width: min(100%, 520px);
	padding: 34px;
	border: 1px solid rgba(58, 31, 79, .18);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(12, 16, 30, .28);
	color: #202331;
}
.sharenivo-prompt__dialog { transform: translateY(12px) scale(.98); transition: transform .22s ease; }
.is-visible .sharenivo-prompt__dialog { transform: none; }
.sharenivo-prompt h2 { margin: 0 38px 7px 0; color: #181a25; font-size: 25px; line-height: 1.2; }
.sharenivo-prompt p { margin: 0 0 22px; color: #606477; }
.sharenivo-prompt__accent { position: absolute; top: 0; left: 30px; width: 72px; height: 5px; border-radius: 0 0 8px 8px; background: linear-gradient(90deg, var(--sn-brand, #3a1f4f), var(--sn-brand-hover, #ff5a4f)); }
.sharenivo-prompt__close {
	position: absolute;
	top: 15px;
	right: 15px;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #f1f2f7;
	color: #434657;
	cursor: pointer;
}
.sharenivo-prompt__close svg { width: 18px; height: 18px; }

.sharenivo-prompt--flyin {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 99992;
	width: min(calc(100% - 32px), 420px);
	padding: 28px;
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .22s ease, transform .22s ease;
}
.sharenivo-prompt--flyin.sharenivo-prompt--left { right: auto; left: 22px; }
.sharenivo-prompt--flyin.is-visible { opacity: 1; transform: none; }

.sharenivo-media-host { position: relative !important; }
.sharenivo-media-tools {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 4;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity .18s ease, transform .18s ease;
}
.sharenivo-media-tools--top-left { top: 12px; right: auto; left: 12px; }
.sharenivo-media-tools--top-right { top: 12px; right: 12px; bottom: auto; left: auto; }
.sharenivo-media-tools--bottom-left { top: auto; right: auto; bottom: 12px; left: 12px; }
.sharenivo-media-tools--bottom-right { top: auto; right: 12px; bottom: 12px; left: auto; }
.sharenivo-media-host:hover .sharenivo-media-tools,
.sharenivo-media-host:focus-within .sharenivo-media-tools { opacity: 1; transform: none; }
.sharenivo-share--media { --sn-button: 36px; }
.sharenivo-share--media .sharenivo-share__primary { padding: 6px; border-radius: 13px; background: rgba(255, 255, 255, .94); box-shadow: 0 8px 24px rgba(15, 23, 42, .17); }
.sharenivo-share--media .sharenivo-button { box-shadow: none; }
.sharenivo-share--media .sharenivo-share__more { position: absolute; top: 100%; right: 0; min-width: 48px; padding: 6px; border-radius: 12px; background: #fff; box-shadow: 0 8px 24px rgba(15, 23, 42, .17); }

.sharenivo-quote {
	clear: both;
	margin: 28px 0;
	padding: 22px 24px;
	border-radius: 16px;
	background: #f8f7fb;
	color: #202331;
}
.sharenivo-quote blockquote { margin: 0; }
.sharenivo-quote blockquote p {
	margin: 0;
	font-size: clamp(18px, 2.2vw, 24px);
	font-weight: 650;
	line-height: 1.45;
}
.sharenivo-quote figcaption { margin-top: 18px; }
.sharenivo-quote figcaption a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 13px;
	border-radius: 999px;
	background: #111;
	color: #fff !important;
	font-size: 13px;
	font-weight: 650;
	text-decoration: none !important;
	transition: transform .18s ease, background-color .18s ease;
}
.sharenivo-quote figcaption a:hover,
.sharenivo-quote figcaption a:focus-visible { transform: translateY(-2px); background: #3a1f4f; }
.sharenivo-quote__icon,
.sharenivo-quote__icon svg { display: block; width: 18px; height: 18px; fill: currentColor; }
.sharenivo-quote--minimal { padding: 12px 0; border-radius: 0; border-left: 4px solid #3a1f4f; background: transparent; }
.sharenivo-quote--accent { background: linear-gradient(135deg, #3a1f4f, #5d376f); color: #fff; }
.sharenivo-quote--accent figcaption a { background: #ff5a4f; }
.sharenivo-quote--bordered { border: 1px solid #d9d6e4; background: #fff; }

.sharenivo-follow { margin: 24px 0; }
.sharenivo-follow__heading { margin: 0 0 14px; font-size: 20px; }
.sharenivo-follow__links { display: flex; flex-wrap: wrap; gap: 9px; }
.sharenivo-follow__link {
	--sn-network: #3a1f4f;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 8px 13px;
	border-radius: 999px;
	background: var(--sn-network);
	color: #fff !important;
	font-size: 13px;
	text-decoration: none !important;
	transition: transform .18s ease, opacity .18s ease;
}
.sharenivo-follow__link:hover { transform: translateY(-2px); opacity: .9; }
.sharenivo-follow__link:focus-visible { outline: 3px solid #3a1f4f; outline-offset: 3px; }
.sharenivo-follow__link.sharenivo-button--snapchat,
.sharenivo-follow__link.sharenivo-button--line,
.sharenivo-follow__link.sharenivo-button--patreon,
.sharenivo-follow__link.sharenivo-button--vimeo,
.sharenivo-follow__link.sharenivo-button--substack { color: #171717 !important; }
.sharenivo-follow__link.sharenivo-button--mastodon { color: #000 !important; }
.sharenivo-follow__link span,
.sharenivo-follow__link svg { display: block; width: 18px; height: 18px; }
.sharenivo-follow__link b { font-weight: 650; }

@media (max-width: 782px) {
	.sharenivo-share--sticky { display: block; }
	.sharenivo-sticky--compact .sharenivo-share__primary {
		flex-wrap: wrap;
		justify-content: center;
		max-width: calc(100vw - 40px);
		overflow: visible;
		padding: 3px 2px 6px;
	}
	.sharenivo-sticky--full .sharenivo-share__primary {
		max-width: none;
		overflow: visible;
		padding: 3px 2px 6px;
	}
	.sharenivo-share--sticky .sharenivo-button { flex: 0 0 auto; }
	.sharenivo-hide-mobile { display: none; }
	.sharenivo-share--floating.sharenivo-mobile--top,
	.sharenivo-share--floating.sharenivo-mobile--bottom {
		left: max(12px, env(safe-area-inset-left));
		right: max(12px, env(safe-area-inset-right));
		width: auto;
		max-width: none;
		padding: 7px;
		border: 1px solid rgba(45, 24, 56, .12);
		border-radius: 13px;
		background: rgba(255, 255, 255, .97);
		box-shadow: 0 5px 18px rgba(45, 24, 56, .12);
		backdrop-filter: blur(10px);
	}
	.sharenivo-share--floating.sharenivo-mobile--top { top: max(12px, env(safe-area-inset-top)); bottom: auto; }
	.sharenivo-share--floating.sharenivo-mobile--bottom { top: auto; bottom: max(12px, env(safe-area-inset-bottom)); }
	.sharenivo-share--floating.sharenivo-mobile--top .sharenivo-share__primary,
	.sharenivo-share--floating.sharenivo-mobile--bottom .sharenivo-share__primary {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--sn-gap, 8px);
	}
	.sharenivo-share--floating.sharenivo-mobile--top .sharenivo-share__more,
	.sharenivo-share--floating.sharenivo-mobile--bottom .sharenivo-share__more {
		position: static;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: var(--sn-gap, 8px);
		margin: var(--sn-gap, 8px) 0 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}
	.sharenivo-share--floating.sharenivo-mobile--bottom .sharenivo-share__more { margin: 0 0 var(--sn-gap, 8px); }
	.sharenivo-share--floating.sharenivo-mobile--top .sharenivo-share__more[hidden],
	.sharenivo-share--floating.sharenivo-mobile--bottom .sharenivo-share__more[hidden] { display: none; }
	.sharenivo-prompt--flyin { right: 16px; bottom: calc(76px + env(safe-area-inset-bottom)); }
	.sharenivo-prompt--flyin.sharenivo-prompt--left { left: 16px; }
	.sharenivo-prompt__dialog { padding: 28px 22px; }
}

/* Preserve the selected shape against theme button rules at every viewport. */
.sharenivo-share.sharenivo-shape--circle .sharenivo-button { border-radius: 999px; }
.sharenivo-share.sharenivo-shape--rounded .sharenivo-button { border-radius: 10px; }
.sharenivo-share.sharenivo-shape--square .sharenivo-button { border-radius: 0; }
.sharenivo-share.sharenivo-shape--pill .sharenivo-button { border-radius: 999px; }
.sharenivo-share.sharenivo-shape--soft .sharenivo-button { border-radius: 17px; }
.sharenivo-share.sharenivo-shape--leaf .sharenivo-button { border-radius: 17px 5px 17px 5px; }

@media (hover: none) {
	.sharenivo-media-tools { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.sharenivo-share,
	.sharenivo-share *,
	.sharenivo-prompt,
	.sharenivo-prompt * {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}
