/* F-Net Labs — small additions theme.json can't express */

::selection { background: var(--wp--preset--color--signal); color: var(--wp--preset--color--ink); }

/* Mono kicker / label */
.is-style-kicker,
.fnet-kicker {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--x-small);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Signal dot before kickers */
.fnet-kicker.has-dot::before {
	content: "";
	display: inline-block;
	width: 0.6em;
	height: 0.6em;
	margin-right: 0.6em;
	background: var(--wp--preset--color--signal);
	border-radius: 50%;
	vertical-align: 0.05em;
}

/* Italic accent word inside big headings */
.fnet-hero-title em,
.wp-block-heading em { font-style: italic; color: var(--wp--preset--color--signal); }

/* Outline button style */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 2px solid var(--wp--preset--color--ink);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--paper);
}

/* Arrow on links with this class */
.fnet-arrow a::after,
a.fnet-arrow::after { content: " →"; transition: margin 0.2s ease; }
.fnet-arrow a:hover::after,
a.fnet-arrow:hover::after { margin-left: 0.25em; }

/* Ticker band */
.fnet-ticker { overflow: hidden; white-space: nowrap; }
.fnet-ticker p { display: inline-block; margin: 0 !important; padding-right: 2rem; }
@media (prefers-reduced-motion: no-preference) {
	.fnet-ticker .fnet-ticker__track { display: inline-block; animation: fnet-scroll 38s linear infinite; }
}
@keyframes fnet-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Service cards */
.fnet-service { transition: background-color 0.25s ease, color 0.25s ease; height: 100%; }
.fnet-service:hover { background-color: var(--wp--preset--color--ink); color: var(--wp--preset--color--paper); }
.fnet-service:hover .fnet-num { color: var(--wp--preset--color--signal); }
.fnet-service:hover a { color: var(--wp--preset--color--paper); }
.fnet-num { font-variant-numeric: tabular-nums; }

/* Post cards in query loops */
.fnet-card .wp-block-post-title a { background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size 0.3s ease; }
.fnet-card:hover .wp-block-post-title a { background-size: 100% 2px; }
.fnet-card .wp-block-post-featured-image img { filter: grayscale(1) contrast(1.05); transition: filter 0.35s ease; }
.fnet-card:hover .wp-block-post-featured-image img { filter: none; }

/* Sticky header */
.fnet-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .fnet-header { top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { .admin-bar .fnet-header { top: 0; } }

/* Columns: remove gaps between bordered grid cells */
.fnet-grid.wp-block-columns { gap: 0 !important; }
.fnet-grid > .wp-block-column + .wp-block-column { border-left: 2px solid var(--wp--preset--color--ink); }
@media (max-width: 781px) {
	.fnet-grid > .wp-block-column + .wp-block-column { border-left: 0; border-top: 2px solid var(--wp--preset--color--ink); }
}

/* Big footer wordmark */
.fnet-wordmark { line-height: 0.85 !important; letter-spacing: -0.05em !important; }

/* Focus visibility */
a:focus-visible, button:focus-visible { outline: 2px solid var(--wp--preset--color--signal); outline-offset: 3px; }

/* Buttons sitting on the signal-coloured band */
.has-signal-background-color .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--paper) !important;
	color: var(--wp--preset--color--ink) !important;
	border-color: var(--wp--preset--color--ink) !important;
}
