/*
Theme Name: BTInfosec Consultancy
Theme URI: https://btinfosec.com.ng
Author: BTInfosec
Author URI: https://btinfosec.com.ng
Description: A services-first block theme for BTInfosec — a Nigerian B2B cybersecurity consultancy. Turns the site from an academy brochure into a consulting shop front: services-first home page, compliance-led sections, a clear free-assessment funnel and a clean editorial blog. Fully editable in the WordPress Site Editor.
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: btinfosec-consultancy
Tags: business, blog, portfolio, one-column, two-columns, block-patterns, block-styles, wide-blocks, full-site-editing, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, threaded-comments, accessibility-ready
*/

/* ---------------------------------------------------------------- base */
html { scroll-behavior: smooth; }

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

/* Sticky, slightly translucent masthead */
.bt-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background-color: color-mix(in srgb, var(--wp--preset--color--base) 88%, transparent);
	backdrop-filter: saturate(160%) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

/* ---------------------------------------------------------------- logo
   The BTInfosec mark is a single dark navy (#001f3f), so on navy surfaces it
   is inverted to white. This also keeps any logo the client uploads later
   legible against the footer. */
.bt-logo-on-dark img,
.bt-band--navy .custom-logo {
	filter: brightness(0) invert(1);
	opacity: .96;
}

.bt-header .custom-logo-link,
.bt-header .wp-block-site-logo a {
	display: inline-flex;
	align-items: center;
}

.bt-header .custom-logo { max-width: 170px; height: auto; }

/* ---------------------------------------------------------------- eyebrow */
.bt-eyebrow {
	margin: 0 0 .25rem;
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.bt-eyebrow--onDark { color: #7fd8ea; }

/* ---------------------------------------------------------------- sections */
.bt-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.bt-section--tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }

/* ---------------------------------------------------------------- cards */
.bt-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	padding: var(--wp--preset--spacing--30);
	box-shadow: var(--wp--preset--shadow--card);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.bt-card:hover {
	transform: translateY(-3px);
	border-color: color-mix(in srgb, var(--wp--preset--color--accent) 45%, var(--wp--preset--color--line));
	box-shadow: var(--wp--preset--shadow--raised);
}

.bt-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	margin-bottom: 1rem;
	border-radius: 12px;
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--primary);
}

.bt-card__icon svg { width: 24px; height: 24px; }

.bt-card__link {
	margin: 0;
	font-size: .875rem;
	font-weight: 600;
	letter-spacing: .01em;
}

.bt-card__link a { text-decoration: none; }
.bt-card__link a::after { content: " \2192"; }

/* ---------------------------------------------------------------- stats */
.bt-stat {
	padding: var(--wp--preset--spacing--30);
	border-left: 3px solid var(--wp--preset--color--accent);
	background: var(--wp--preset--color--surface);
	border-radius: 0 12px 12px 0;
}

.bt-stat__value {
	margin: 0;
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: var(--wp--preset--color--primary);
}

.bt-stat__label {
	margin: .35rem 0 0;
	font-size: .875rem;
	color: var(--wp--preset--color--muted);
}

/* ---------------------------------------------------------------- chips */
.bt-chip {
	display: inline-block;
	padding: .5rem .95rem;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	background: var(--wp--preset--color--base);
	font-size: .875rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

/* On navy sections */
.bt-chip--onDark {
	background: rgba(255, 255, 255, .07);
	border-color: rgba(255, 255, 255, .18);
	color: #eaf3fa;
}

/* ---------------------------------------------------------------- checklist */
.bt-check { list-style: none; padding-left: 0; margin: 0; }

.bt-check li {
	position: relative;
	padding-left: 1.9rem;
	margin-bottom: .55rem;
}

.bt-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .45em;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--base);
}

.bt-check li::after {
	content: "";
	position: absolute;
	left: .34rem;
	top: .66em;
	width: .32rem;
	height: .17rem;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-45deg);
}

/* ---------------------------------------------------------------- hero visual */
.bt-visual {
	position: relative;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: var(--wp--preset--shadow--raised);
	background: linear-gradient(135deg, #0e2a47 0%, #123a5e 55%, #1b4a75 100%);
}

.bt-visual img { display: block; width: 100%; height: auto; }

/* Soft accent halo behind the hero */
.bt-hero-halo::before {
	content: "";
	position: absolute;
	inset: auto -10% -30% 40%;
	height: 60%;
	background: radial-gradient(closest-side, rgba(0, 169, 206, .18), transparent 70%);
	pointer-events: none;
	z-index: 0;
}

/* ---------------------------------------------------------------- band */
.bt-band { border-top: 1px solid var(--wp--preset--color--line); }
.bt-band--navy { border-top: 0; }

.bt-band--navy a { color: #cfe6f2; }
.bt-band--navy a:hover { color: #ffffff; }

/* Footer link lists: no underline, softer tone */
.bt-footer-links { list-style: none; padding-left: 0; margin: 0; }
.bt-footer-links li { margin-bottom: .5rem; }
.bt-footer-links a { text-decoration: none; color: #cfe6f2; font-size: .9375rem; }
.bt-footer-links a:hover { color: #ffffff; text-decoration: underline; }

/* ---------------------------------------------------------------- misc */
.bt-badge {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .35rem .8rem;
	border-radius: 999px;
	background: var(--wp--preset--color--accent-soft);
	color: var(--wp--preset--color--primary);
	font-size: .8125rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.bt-muted { color: var(--wp--preset--color--muted); }

.bt-lead { font-size: 1.125rem; line-height: 1.6; color: var(--wp--preset--color--muted); }

/* Give archive / index loops a readable rhythm */
.bt-loop article + article {
	margin-top: var(--wp--preset--spacing--40);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid var(--wp--preset--color--line);
}

/* ---------------------------------------------------------------- a11y */
:where(a, button, input, select, textarea):focus-visible {
	outline: 2px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
	border-radius: 4px;
}

.wp-site-blocks > * + * { margin-block-start: 0; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.bt-card, .bt-card:hover { transition: none; transform: none; }
}

@media (max-width: 782px) {
	.bt-header { position: static; }
	.bt-section { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
}
