/*
Theme Name: Cirtech Academy
Theme URI: https://cirtech-electronics.com/academy
Author: Cirtech Electronics
Author URI: https://cirtech-electronics.com
Description: A lightweight, full-width theme for the Cirtech Academy LMS. LMS pages (dashboard, lessons, quizzes, certificates, verification) render as a standalone app with no theme chrome; regular pages get a clean, brand-matched header and footer. Pairs with the Cirtech Academy LMS plugin and shares its design tokens.
Version: 1.0.4
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cirtech-academy
*/

/* -------------------------------------------------------------------------
 * Brand tokens — shared with the LMS plugin so theme + app read as one system.
 * ----------------------------------------------------------------------- */
:root {
	--ca-brand:      #16854F;
	--ca-brand-d:    #0F6B3F;
	--ca-brand-dd:   #0C5433;
	--ca-brand-tint: #EAF3EE;
	--ca-accent:     #E8B136;
	--ca-ink:        #17201B;
	--ca-muted:      #5C665F;
	--ca-faint:      #8A938C;
	--ca-line:       #E7EAE7;
	--ca-bg:         #F6F7F6;
	--ca-surface:    #ffffff;
	--ca-font:       'Poppins', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;
	--ca-wrap:       1360px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
	font-family: var(--ca-font);
	color: var(--ca-ink);
	background: var(--ca-bg);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden; /* absorb the LMS full-bleed's viewport-width sliver */
}
a { color: var(--ca-brand); text-decoration: none; }
a:hover { color: var(--ca-brand-d); }
img { max-width: 100%; height: auto; }

/* -------------------------------------------------------------------------
 * App pages — the LMS renders full-bleed with its own chrome, so the theme
 * gets out of the way entirely.
 * ----------------------------------------------------------------------- */
body.ca-app-page { background: var(--ca-bg); }
body.ca-app-page .ca-app { width: 100%; }

/* -------------------------------------------------------------------------
 * Site header (regular pages)
 * ----------------------------------------------------------------------- */
.ca-site-header {
	background: var(--ca-surface);
	border-bottom: 1px solid var(--ca-line);
	position: sticky; top: 0; z-index: 30;
}
.ca-site-header__inner {
	max-width: var(--ca-wrap);
	margin: 0 auto;
	padding: 0 28px;
	height: 66px;
	display: flex;
	align-items: center;
	gap: 20px;
}
.ca-brand { display: flex; align-items: center; gap: 11px; }
.ca-brand img { height: 36px; width: auto; display: block; }
.ca-brand__name { font-size: 17px; font-weight: 600; letter-spacing: -.01em; color: var(--ca-ink); white-space: nowrap; }
.ca-brand__name b { color: var(--ca-brand); font-weight: 600; }
.ca-nav { margin-left: auto; }
.ca-nav ul { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; }
.ca-nav a { display: block; padding: 9px 14px; border-radius: 8px; font-size: 14.5px; font-weight: 500; color: var(--ca-muted); }
.ca-nav a:hover { background: var(--ca-brand-tint); color: var(--ca-brand-dd); }
.ca-nav .current-menu-item > a { color: var(--ca-brand-dd); background: var(--ca-brand-tint); }
.ca-login-link { font-size: 14px; font-weight: 600; color: var(--ca-brand); }

/* -------------------------------------------------------------------------
 * Content (regular pages)
 * ----------------------------------------------------------------------- */
.ca-main { max-width: var(--ca-wrap); margin: 0 auto; padding: 48px 28px 80px; }
.ca-article__header { margin-bottom: 26px; }
.ca-article__title { font-size: 34px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 8px; }
.ca-article__meta { font-size: 13.5px; color: var(--ca-faint); }
.ca-content { font-size: 17px; line-height: 1.75; color: #2A342E; max-width: 72ch; }
.ca-content h2 { font-size: 24px; font-weight: 600; margin: 34px 0 12px; letter-spacing: -.01em; color: var(--ca-ink); }
.ca-content h3 { font-size: 19px; font-weight: 600; margin: 26px 0 10px; }
.ca-content p { margin: 0 0 18px; }
.ca-content ul, .ca-content ol { margin: 0 0 20px; padding-left: 24px; }
.ca-content li { margin-bottom: 8px; }
.ca-content img { border-radius: 12px; }
.ca-content blockquote { border-left: 3px solid var(--ca-brand); margin: 0 0 20px; padding: 4px 0 4px 18px; color: var(--ca-muted); }
.ca-btn { display: inline-flex; align-items: center; gap: 8px; background: var(--ca-brand); color: #fff; border: none; border-radius: 10px; padding: 12px 22px; font: 600 15px var(--ca-font); cursor: pointer; }
.ca-btn:hover { background: var(--ca-brand-d); color: #fff; }

/* -------------------------------------------------------------------------
 * Footer
 * ----------------------------------------------------------------------- */
.ca-site-footer {
	background: #12211A;
	color: rgba(255,255,255,.72);
	margin-top: 60px;
}
.ca-site-footer__inner {
	max-width: var(--ca-wrap);
	margin: 0 auto;
	padding: 40px 28px;
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 13.5px;
}
.ca-site-footer img { height: 30px; width: auto; filter: brightness(0) invert(1); opacity: .9; }
.ca-site-footer a { color: var(--ca-accent); }
.ca-site-footer__badges { margin-left: auto; display: flex; gap: 22px; color: rgba(255,255,255,.5); }

/* -------------------------------------------------------------------------
 * 404 / misc
 * ----------------------------------------------------------------------- */
.ca-notice { text-align: center; padding: 80px 20px; }
.ca-notice h1 { font-size: 40px; font-weight: 700; letter-spacing: -.02em; margin: 0 0 10px; }
.ca-notice p { color: var(--ca-muted); font-size: 16px; }

@media (max-width: 720px) {
	.ca-site-header__inner { padding: 0 16px; gap: 12px; }
	.ca-nav a { padding: 8px 10px; }
	.ca-main { padding: 32px 16px 60px; }
	.ca-article__title { font-size: 28px; }
	.ca-site-footer__badges { margin-left: 0; width: 100%; }
}
