/* =============================================================================
   NF Tooltip System
   Sitewide reusable — loaded on every page.
   
   Trigger markup:
     <button type="button" class="nf-tooltip-trigger" data-nf-tooltip="Help text" aria-label="More info">
       <svg>...</svg>  OR just ?
     </button>

   Rich HTML (via adjacent template):
     <span data-nf-tooltip-wrap>
       <button type="button" class="nf-tooltip-trigger" data-nf-tooltip-trigger aria-label="More info">?</button>
       <template data-nf-tooltip-content><strong>Bold</strong> help text</template>
     </span>
   ============================================================================= */

/* ── Singleton tooltip bubble ─────────────────────────────────────────────── */

#nf-tooltip-singleton {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99999;
	max-width: 280px;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition:
		opacity 0.15s ease,
		transform 0.15s ease,
		visibility 0s linear 0.15s;
	display: block;
}

#nf-tooltip-singleton.is-visible {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
	transition:
		opacity 0.15s ease,
		transform 0.15s ease,
		visibility 0s linear 0s;
}

/* Flip animation when placed below */
#nf-tooltip-singleton[data-placement="below"] {
	transform: translateY(-4px);
}

#nf-tooltip-singleton[data-placement="below"].is-visible {
	transform: translateY(0);
}

.nf-tooltip__inner {
	background: color-mix(in srgb, var(--nf-theme-surface, #1a2035) 96%, transparent);
	color: var(--nf-theme-text, #f0f4ff);
	border: 1px solid color-mix(in srgb, var(--nf-theme-border, #89a9ff) 35%, transparent);
	border-radius: 10px;
	padding: 10px 13px;
	font-size: 12.5px;
	line-height: 1.55;
	font-family: inherit;
	box-shadow:
		0 4px 24px rgba(0, 0, 0, 0.45),
		0 1px 4px rgba(0, 0, 0, 0.25),
		inset 0 1px 0 rgba(137, 169, 255, 0.08);
	word-break: break-word;
}

/* Arrow — pseudo-element on the inner div */
.nf-tooltip__inner::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	border: 6px solid transparent;
}

/* Arrow points down when tooltip is above the trigger */
#nf-tooltip-singleton[data-placement="above"] .nf-tooltip__inner::before {
	bottom: -12px;
	top: auto;
	border-top-color: color-mix(in srgb, var(--nf-theme-border, #89a9ff) 35%, transparent);
}

/* Arrow points up when tooltip is below the trigger */
#nf-tooltip-singleton[data-placement="below"] .nf-tooltip__inner::before {
	top: -12px;
	bottom: auto;
	border-bottom-color: color-mix(in srgb, var(--nf-theme-border, #89a9ff) 35%, transparent);
}

/* Rich content inside tooltip */
.nf-tooltip__inner strong {
	color: var(--nf-theme-border, #89a9ff);
	font-weight: 600;
}

.nf-tooltip__inner a {
	color: var(--nf-theme-border, #89a9ff);
	text-decoration: underline;
}

.nf-tooltip__inner p {
	margin: 0 0 6px;
}

.nf-tooltip__inner p:last-child {
	margin-bottom: 0;
}

/* ── Trigger button — the ? icon ──────────────────────────────────────────── */

.nf-tooltip-trigger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 1.5px solid color-mix(in srgb, var(--nf-theme-border, #89a9ff) 45%, transparent);
	border-radius: 50%;
	background: color-mix(in srgb, var(--nf-theme-surface, #1a2035) 70%, transparent);
	color: color-mix(in srgb, var(--nf-theme-border, #89a9ff) 80%, transparent);
	font-size: 10px;
	font-weight: 700;
	font-family: inherit;
	line-height: 1;
	cursor: pointer;
	flex-shrink: 0;
	vertical-align: middle;
	transition:
		border-color 0.15s ease,
		color 0.15s ease,
		background 0.15s ease;
	user-select: none;
	/* Reset any inherited button styles */
	appearance: none;
	-webkit-appearance: none;
	outline-offset: 3px;
}

.nf-tooltip-trigger:hover,
.nf-tooltip-trigger:focus-visible,
.nf-tooltip-trigger[aria-expanded="true"] {
	border-color: var(--nf-theme-border, #89a9ff);
	color: var(--nf-theme-border, #89a9ff);
	background: color-mix(in srgb, var(--nf-theme-border, #89a9ff) 12%, transparent);
}

.nf-tooltip-trigger svg {
	pointer-events: none;
	width: 10px;
	height: 10px;
}

/* Slightly larger variant */
.nf-tooltip-trigger--lg {
	width: 22px;
	height: 22px;
	font-size: 12px;
}

/* Inline label helper: wraps a label + trigger nicely */
.nf-label-with-tip {
	display: inline-flex;
	align-items: center;
	gap: 5px;
}
