/*
Theme Name:        Fake Wizard
Theme URI:         https://fakewizard.com
Author:            Real Life Fake Wizard
Description:       A one-page, phone-first link-in-bio theme for fakewizard.com. Pairs with the Fake Wizard Links plugin, which supplies the links. Night-navy background with pixel sparkles, Inter type.
Version:           1.0.1
Requires at least: 6.4
Requires PHP:      7.4
License:           GPL-2.0-or-later
Text Domain:       fakewizard
*/

@font-face {
	font-family: "Inter FW";
	src: url("fonts/inter-latin-wght.woff2") format("woff2");
	font-weight: 500 900;
	font-style: normal;
	font-display: swap;
}

:root {
	--fw-night: #05092B;
	--fw-hat: #0E1250;
	--fw-blue: #0A9AF2;
	--fw-red: #E3262E;
	--fw-gold: #F2C230;
	--fw-ice: #CFE6FF;
	--fw-font: "Inter FW", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*,
*::before,
*::after { box-sizing: border-box; }

html { background: var(--fw-night); }

body {
	margin: 0;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
	font-family: var(--fw-font);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.5;
	color: #fff;
	background-color: var(--fw-night);
	/* Pixel sparkles (from the avatar's hat) over a navy glow. */
	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240' shape-rendering='crispEdges'%3E%3Cg fill='%23F2C230'%3E%3Cpath d='M30 20h4v4h-4zM26 24h4v4h-4zM34 24h4v4h-4zM30 28h4v4h-4z' opacity='.55'/%3E%3Cpath d='M180 60h3v3h-3z' opacity='.5'/%3E%3Cpath d='M120 140h4v4h-4zM116 144h4v4h-4zM124 144h4v4h-4zM120 148h4v4h-4z' opacity='.35'/%3E%3Cpath d='M60 190h3v3h-3z' opacity='.45'/%3E%3C/g%3E%3Cg fill='%23CFE6FF'%3E%3Cpath d='M210 170h3v3h-3zM90 90h2v2h-2zM200 220h2v2h-2zM150 30h2v2h-2z' opacity='.4'/%3E%3C/g%3E%3C/svg%3E"),
		radial-gradient(ellipse 90% 60% at 50% 0%, var(--fw-hat) 0%, rgba(14, 18, 80, 0) 70%),
		linear-gradient(180deg, #071040 0%, var(--fw-night) 60%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

a { color: var(--fw-blue); }
a:hover { color: var(--fw-gold); }

:focus-visible {
	outline: 3px solid var(--fw-gold);
	outline-offset: 3px;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 8px;
	z-index: 10;
	padding: 8px 14px;
	border-radius: 8px;
	background: #fff;
	color: var(--fw-night);
	font-weight: 800;
}
.skip-link:focus { left: 8px; }

.site-main {
	flex: 1;
	width: 100%;
	padding: 48px 16px 32px;
}

/* Plugin variables: match the brand kit (body prefix beats the plugin's own .fwl defaults). */
body .fwl {
	--fwl-font-head: var(--fw-font);
	--fwl-font-body: var(--fw-font);
	--fwl-btn-color: var(--fw-blue);
	--fwl-accent: var(--fw-gold);
	--fwl-muted: var(--fw-ice);
}

.site-footer {
	padding: 8px 16px 28px;
	text-align: center;
	font-size: 13px;
	color: rgba(207, 230, 255, .6);
}
.site-footer a { color: inherit; }
.site-footer a:hover { color: var(--fw-gold); }
.site-footer__wordmark {
	display: inline-block;
	margin-bottom: 6px;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
}
.site-footer__wordmark em {
	font-style: normal;
	color: var(--fw-red);
}

/* ---------- Plain pages (privacy policy, etc.) ---------- */

.entry {
	max-width: 680px;
	margin: 0 auto;
	padding: 28px 24px;
	border-radius: 18px;
	background: rgba(14, 18, 80, .55);
	box-shadow: inset 0 0 0 1px rgba(207, 230, 255, .15);
}
.entry + .entry { margin-top: 20px; }
.entry-title {
	margin: 0 0 16px;
	font-size: clamp(26px, 6vw, 36px);
	font-weight: 900;
	line-height: 1.15;
}
.entry-title a { color: #fff; text-decoration: none; }
.entry-content { color: var(--fw-ice); font-weight: 500; }
.entry-content h2,
.entry-content h3 { color: #fff; font-weight: 800; }
.entry-content img { max-width: 100%; height: auto; border-radius: 10px; }
.back-home {
	display: block;
	max-width: 680px;
	margin: 0 auto 16px;
	font-weight: 800;
	text-decoration: none;
}

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