/*
Theme Name: Nexora
Theme URI: https://example.com/nexora
Author: Nexora
Author URI: https://example.com
Description: Nexora is a custom WordPress block theme for a modern B2B SaaS customer support platform. It ships a complete design-token system in theme.json, a sticky responsive header, a multi-column footer and a set of marketing patterns (hero with product preview, trust row, feature grid and closing call to action). Nexora is a fictional product built as a portfolio project.
Version: 1.0.0
Update URI: false
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: nexora
Tags: block-theme, full-site-editing, business, portfolio, one-column, custom-colors, custom-logo, custom-menu, editor-style, block-patterns, wide-blocks, accessibility-ready

Nexora is distributed under the terms of the GNU GPL v2 or later.
*/

/*
 * This file intentionally carries only the base layer.
 *
 * - Design tokens (color, typography, spacing, shadow, radius) live in theme.json.
 * - Component styles live in assets/css/theme.css.
 *
 * Nothing here hard-codes a colour: every value is read from a theme.json token.
 */

/* -------------------------------------------------------------------------- *
 * Base
 * -------------------------------------------------------------------------- */

html {
	scroll-behavior: smooth;
	/* Keep anchored sections clear of the sticky header. */
	scroll-padding-top: calc( var( --wp--custom--header--height ) + 1rem );
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

/* Avoid orphaned words in display type. */
h1,
h2,
h3 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

img,
svg,
video {
	max-width: 100%;
	height: auto;
}

/* -------------------------------------------------------------------------- *
 * Focus visibility — a single, consistent ring across every interactive element
 * -------------------------------------------------------------------------- */

:where( a, button, input, select, textarea, summary, [ tabindex ] ):focus-visible {
	outline: 2px solid var( --wp--preset--color--accent );
	outline-offset: 3px;
	border-radius: var( --wp--custom--radius--xs );
}

/* Never remove the ring for keyboard users; only suppress it for pointer input. */
:where( a, button ):focus:not( :focus-visible ) {
	outline: none;
}

/* WordPress renders a skip link automatically for block themes. */
.skip-link:focus {
	background-color: var( --wp--preset--color--base );
	color: var( --wp--preset--color--contrast );
	box-shadow: var( --wp--preset--shadow--lifted );
	border-radius: var( --wp--custom--radius--sm );
	font-size: var( --wp--preset--font-size--small );
	font-weight: 600;
	z-index: 200;
}

/* -------------------------------------------------------------------------- *
 * Accessible-but-hidden text
 * -------------------------------------------------------------------------- */

.screen-reader-text {
	border: 0;
	clip-path: inset( 50% );
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.screen-reader-text:focus {
	clip-path: none;
	height: auto;
	margin: 0;
	overflow: visible;
	position: static;
	white-space: normal;
	width: auto;
}
