/* ============================================================
   nxlex Theme — Custom CSS Overrides
   Add your custom styles below without editing style.css
   ============================================================ */

/* Smooth page load fade-in */
body {
	animation: pageFade 0.4s ease;
}

@keyframes pageFade {
	from { opacity: 0; }
	to   { opacity: 1; }
}

/* WordPress menu active state */
#primary-menu .current-menu-item > a,
#primary-menu .current-page-ancestor > a,
#primary-menu .current-menu-ancestor > a {
	color: var(--gold);
	background: rgba(212,168,83,0.08);
}

/* WP default alignment overrides */
.alignwide {
	width: calc(100% + 4rem);
	max-width: calc(100% + 4rem);
	margin-left: -2rem;
}

/* Gutenberg button block colors */
.wp-block-button__link {
	background: var(--teal);
	border-radius: var(--radius-sm);
}

.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent;
	border-color: var(--teal);
	color: var(--teal);
}

/* Blog card read more link */
.blog-card h3 a {
	color: var(--navy);
	text-decoration: none;
}

.blog-card h3 a:hover { color: var(--teal); }

/* Pricing card featured border glow */
.pricing-card.featured::after {
	content: '';
	position: absolute;
	inset: -1px;
	border-radius: var(--radius-lg);
	border: 1px solid var(--teal);
	pointer-events: none;
}

/* Form field focus ring accessibility */
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--teal);
	outline-offset: 2px;
}

/* Skip to content */
.skip-link {
	position: absolute;
	top: -100px;
	left: 1rem;
	z-index: 9999;
	padding: 0.5rem 1rem;
	background: var(--teal);
	color: white;
	border-radius: var(--radius-sm);
	font-weight: 600;
	transition: top 0.2s;
}

.skip-link:focus {
	top: 1rem;
}

/* Screen reader only */
.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
	white-space: nowrap;
}

/* WP pagination override */
.nav-links {
	display: flex;
	gap: 0.5rem;
	justify-content: center;
	margin-top: 4rem;
}

.nav-links .page-numbers {
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--radius-sm);
	border: 1.5px solid rgba(0,0,0,0.12);
	color: var(--navy);
	font-size: 0.9rem;
	font-weight: 600;
	transition: all var(--transition);
	text-decoration: none;
}

.nav-links .page-numbers:hover,
.nav-links .page-numbers.current {
	background: var(--teal);
	border-color: var(--teal);
	color: var(--white);
}

/* Service link in cards */
.service-link {
	display: inline-block;
	margin-top: 0.75rem;
	color: var(--teal);
	font-weight: 600;
	font-size: 0.875rem;
	transition: all var(--transition);
}

.service-link:hover {
	color: var(--gold);
	transform: translateX(4px);
}

/* Success form notice */
.form-notice.error {
	background: rgba(239,68,68,0.08);
	border: 1px solid #ef4444;
	color: #dc2626;
	display: block;
}

/* Loading spinner for buttons */
.btn[disabled] {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Blog card thumb img fill */
.blog-card-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
