/*
Theme Name:     Qojo Media
Theme URI:
Description:    Qojo Media standalone theme. Carries the Qojo Media global design system.
Author:         Qojo Media
Author URI:
Version:        0.3.1
Text Domain:    qojo-media
*/

/* ============================================================
   QOJO MEDIA GLOBAL DESIGN SYSTEM
   Headings: Space Grotesk | Body: Inter
   Primary: #1A25FF | Secondary: #08092B
   ============================================================ */

:root {
	/* Brand colors */
	--qojo-primary: #1A25FF;
	--qojo-primary-dark: #1219c4;
	--qojo-primary-light: #e8eaff;
	--qojo-secondary: #08092B;
	--qojo-secondary-light: #14163f;

	/* Neutrals */
	--qojo-white: #ffffff;
	--qojo-off-white: #f6f7fb;
	--qojo-grey-100: #eef0f6;
	--qojo-grey-300: #c9cede;
	--qojo-grey-500: #8a90a8;
	--qojo-grey-700: #3c4157;
	--qojo-ink: #101230;

	/* Typography */
	--qojo-font-heading: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--qojo-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

	/* Spacing scale */
	--qojo-space-xs: 8px;
	--qojo-space-sm: 16px;
	--qojo-space-md: 24px;
	--qojo-space-lg: 40px;
	--qojo-space-xl: 64px;
	--qojo-space-2xl: 96px;

	/* Radii */
	--qojo-radius-sm: 6px;
	--qojo-radius-md: 12px;
	--qojo-radius-lg: 20px;
	--qojo-radius-pill: 999px;
}

/* ---------- Reset ---------- */

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

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

body {
	margin: 0;
	overflow-x: clip;
	font-family: var(--qojo-font-body);
	color: var(--qojo-ink);
	background: var(--qojo-white);
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: var(--qojo-font-heading);
	color: var(--qojo-secondary);
	letter-spacing: -0.01em;
}

a {
	color: var(--qojo-primary);
}

a:hover {
	color: var(--qojo-primary-dark);
}

/* ---------- Layout ---------- */

/* Global site container: 1250px. Every page and section uses this. */
.qojo-container {
	max-width: 1250px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* ---------- Utility classes ---------- */

.qojo-section-label {
	font-family: var(--qojo-font-heading);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--qojo-primary);
}

/* Byline meta: 12px uppercase, used under cards across all templates. */
.qojo-meta {
	font-family: var(--qojo-font-body);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--qojo-grey-500);
	margin: 10px 0 0;
}

.qojo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--qojo-font-heading);
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	padding: 14px 28px;
	border-radius: var(--qojo-radius-pill);
	background: var(--qojo-primary);
	color: var(--qojo-white);
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.2s ease, transform 0.2s ease;
}

.qojo-btn:hover {
	background: var(--qojo-primary-dark);
	color: var(--qojo-white);
}

.qojo-btn--outline {
	background: transparent;
	color: var(--qojo-primary);
	border: 2px solid var(--qojo-primary);
}

.qojo-btn--outline:hover {
	background: var(--qojo-primary);
	color: var(--qojo-white);
}

.qojo-card {
	background: var(--qojo-white);
	border: 1px solid var(--qojo-grey-100);
	border-radius: var(--qojo-radius-md);
	overflow: hidden;
}

.qojo-kicker {
	display: inline-block;
	font-family: var(--qojo-font-heading);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.qojo-kicker--blue { color: var(--qojo-primary); }
.qojo-kicker--red { color: #e5484d; }
.qojo-kicker--green { color: #7de89b; }
