/* =================================================================
 * Flagship Funded — Global header & footer restyle
 * Loaded site-wide. Brings Astra's Header-Footer-Builder header/nav
 * and footer in line with flagshipfunded.com (dark, glassy, accent).
 * ================================================================= */

:root {
	--ffg-bg:       #090313;
	--ffg-surface:  #0c0717;
	--ffg-text:     #f5f5f5;
	--ffg-muted:    #8a8a8a;
	--ffg-accent:   #FFF627;
	--ffg-border:   rgba(255, 255, 255, 0.08);
}

body { font-family: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif; }

/* ===================== HEADER (custom — replaces Astra's) ===================== */
/* Hide Astra's header; ours is printed on wp_body_open() (see functions.php). */
#masthead,
.site-header,
.ast-above-header-wrap,
.ast-below-header-wrap,
.ast-mobile-header-wrap { display: none !important; }
/* Drop any transparent-header content offset Astra may add. */
.ast-theme-transparent-header #page { padding-top: 0 !important; }

.ff-site-header {
	position: sticky;
	top: 0;
	z-index: 9990;
	background: rgba(13, 8, 26, 0.85);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-bottom: 1px solid var(--ffg-border);
}
/* Sit below the WP admin bar when logged in (otherwise it covers the header). */
body.admin-bar .ff-site-header { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .ff-site-header { top: 46px; }
}
.ff-head-inner {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 14px 24px;
}
.ff-head-logo { display: inline-flex; flex-shrink: 0; }
.ff-head-logo img { height: 48px; width: auto; display: block; }
.ff-head-nav { display: flex; align-items: center; gap: 28px; }
.ff-head-nav a {
	color: var(--ffg-text);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	transition: color 0.15s;
}
.ff-head-nav a:hover { color: var(--ffg-accent); }
.ff-head-actions { display: flex; align-items: center; gap: 18px; }
.ff-head-login {
	color: var(--ffg-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.15s;
}
.ff-head-login:hover { color: var(--ffg-accent); }
.ff-head-cta {
	background: var(--ffg-accent);
	color: #000;
	font-weight: 800;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 11px 24px;
	border-radius: 9999px;
	text-decoration: none;
	white-space: nowrap;
	transition: filter 0.15s;
}
.ff-head-cta:hover { filter: brightness(0.95); color: #000; }

@media (max-width: 880px) {
	.ff-head-nav,
	.ff-head-login { display: none; }
}

/* ===================== FOOTER (custom — replaces Astra's) ===================== */
/* Hide Astra's footer entirely; ours is printed on wp_footer() (see
   functions.php) so it sits at the very bottom of the page. */
#colophon,
.site-footer,
.site-primary-footer-wrap,
.site-below-footer-wrap { display: none !important; }

.ff-site-footer {
	background: var(--ffg-surface);
	border-top: 1px solid var(--ffg-border);
	color: var(--ffg-muted);
}
.ff-foot-container {
	width: 100%;
	max-width: 1152px;
	margin: 0 auto;
	padding: 56px 24px;
}
.ff-foot-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 36px;
}
@media (min-width: 480px) { .ff-foot-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 900px) { .ff-foot-grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; } }

.ff-foot-logo { height: 50px; width: auto; display: block; }
.ff-foot-desc {
	margin: 16px 0 0;
	max-width: 320px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--ffg-muted);
}
.ff-foot-socials { display: flex; gap: 12px; margin-top: 18px; }
.ff-foot-socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	border: 1px solid var(--ffg-border);
	transition: border-color 0.15s;
}
.ff-foot-socials a:hover { border-color: var(--ffg-accent); }
.ff-foot-socials img { width: 16px; height: 16px; opacity: 0.8; }

.ff-foot-col h3 {
	margin: 0 0 14px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ffg-text);
}
.ff-foot-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ff-foot-col a { color: var(--ffg-muted); font-size: 14px; text-decoration: none; transition: color 0.15s; }
.ff-foot-col a:hover { color: var(--ffg-accent); }

.ff-foot-disclaimer { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--ffg-border); }
.ff-foot-disclaimer > h3 {
	margin: 0 0 20px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--ffg-text);
}
.ff-foot-legal {
	display: flex;
	flex-direction: column;
	gap: 18px;
	max-width: 900px;
	font-size: 11px;
	line-height: 1.65;
	color: var(--ffg-muted);
}
.ff-foot-legal h4 {
	margin: 0 0 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(245, 245, 245, 0.8);
}
.ff-foot-legal p { margin: 0 0 8px; }
.ff-foot-legal ul { margin: 0 0 8px; padding-left: 20px; list-style: disc; display: flex; flex-direction: column; gap: 4px; }
.ff-foot-strong { color: var(--ffg-text); font-weight: 600; }

.ff-foot-copy {
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid var(--ffg-border);
	font-size: 12px;
	color: var(--ffg-muted);
}
.ff-foot-copy p { margin: 0; }
