/*
Theme Name: Full Spectrum Intelligence
Theme URI: https://example.com/
Author: Full Spectrum Intelligence Ltd.
Author URI: https://example.com/
Description: Custom block theme for Full Spectrum Intelligence — enterprise Wi-Fi, RF and network security consulting. Lightweight, dependency-free, portable to shared hosting. All URLs resolve through WordPress core functions; nothing host-specific is hardcoded.
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: fsi
*/

/*
 * Block themes are styled primarily through theme.json and the Site Editor.
 * This file carries only supplemental rules that theme.json cannot express.
 * Keep it small.
 */

/* --- Self-hosted variable fonts (no external requests) --- */
@font-face {
	font-family: "Space Grotesk";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url("assets/fonts/spacegrotesk-var.woff2") format("woff2");
}
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("assets/fonts/inter-var.woff2") format("woff2");
}

/* --- Skip link (accessibility) --- */
.skip-link:focus {
	position: fixed;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	padding: 0.75rem 1rem;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--contrast);
	border-radius: 6px;
	text-decoration: none;
}

/* --- Sticky, translucent site header --- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 999;
	backdrop-filter: saturate(180%) blur(8px);
	-webkit-backdrop-filter: saturate(180%) blur(8px);
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* --- Spectrum hairline used under hero / section dividers --- */
.fsi-spectrum-rule {
	height: 4px;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--gradient--spectrum);
}

/* --- Header CTA: redundant on mobile (Contact is in the menu + hero has its own) --- */
@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part .wp-block-buttons {
		display: none;
	}
}

/* --- Navigation: underline-on-hover, current page marked --- */
.wp-block-navigation a:where(:hover, :focus) {
	text-decoration: underline;
	text-underline-offset: 0.3em;
}
.wp-block-navigation .current-menu-item > a {
	text-decoration: underline;
	text-underline-offset: 0.3em;
	text-decoration-thickness: 2px;
}

/* Card styling lives in assets/css/fsi.css under .is-style-fsi-card — the class
   the registered block style actually emits. Don't duplicate it here. */

/* --- Buttons: keep the CTA legible on the amber fill --- */
.wp-block-button.is-style-fill .wp-block-button__link {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	letter-spacing: 0.01em;
}

/* --- Constrain very wide screens gracefully --- */
@media (min-width: 1400px) {
	body {
		font-size: 1.02rem;
	}
}

/* --- Respect reduced motion --- */
@media (prefers-reduced-motion: reduce) {
	.wp-block-button__link {
		transition: none;
	}
}
