/* Tech with Glory: base theme styles */
:root {
	color-scheme: dark;
	/* Brand palette */
	--twg-midnight: #050a13;
	--twg-black: #03060c;
	--twg-paper: #f4f7ff;
	--twg-white: #ffffff;
	--twg-blue: #3e68e8;
	--twg-blue-hover: #5079f0;
	--twg-blue-soft: #7599ff;
	--twg-cursor: #47d3a0;
	/* Neutrals (cool, biased to the brand blue) */
	--twg-ink: #f4f7ff;
	--twg-ink-2: #c4cad6;
	--twg-muted: #8b93a5;
	--twg-subtle: #5f6779;
	--twg-line: rgba(244, 247, 255, .09);
	--twg-line-strong: rgba(244, 247, 255, .16);
	--twg-surface: rgba(244, 247, 255, .035);
	--twg-surface-2: #0b111c;
	--twg-ink-dark: #0a0f1a;
	--twg-muted-dark: #4b5366;
	--twg-line-dark: #dbe1ee;
	/* Type */
	--twg-font-body: "Poppins", sans-serif;
	--twg-font-display: "Poppins", sans-serif;
	--twg-font-logo: "Poppins", sans-serif;
	--twg-shell: 1200px;
	--twg-radius: 14px;
	--twg-radius-lg: 28px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body.twg-site {
	margin: 0;
	min-height: 100vh;
	position: relative;
	isolation: isolate;
	font-family: var(--twg-font-body);
	font-size: 15px;
	line-height: 1.7;
	color: var(--twg-ink);
	overflow-x: hidden;
	background-color: var(--twg-midnight);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.twg-site ::selection { background: var(--twg-blue); color: var(--twg-white); }
/* Zero-specificity resets so plugin styles (Tutor LMS, Fluent Forms) can always override them */
:where(body.twg-site) a { color: inherit; }
:where(body.twg-site) :where(button, input, select, textarea) { font: inherit; }
:where(body.twg-site) :where(h1, h2, h3, h4, h5, h6) {
	margin-top: 0;
	font-family: var(--twg-font-display);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -.02em;
	color: var(--twg-ink);
}
:where(body.twg-site) :where(p) { margin-top: 0; }

.twg-shell {
	width: min(var(--twg-shell), calc(100% - 48px));
	margin-left: auto;
	margin-right: auto;
}

/* Fallback content (non-Elementor pages and posts) */
.twg-main:not(.twg-main--elementor) { padding: clamp(48px, 7vw, 96px) 0 72px; }
.twg-content { max-width: 760px; }
.twg-content__title { font-size: clamp(2.2rem, 5vw, 3.6rem); margin-bottom: 28px; }
.twg-entry + .twg-entry { margin-top: 40px; padding-top: 40px; border-top: 1px solid var(--twg-line); }
.twg-entry__title { font-size: 1.6rem; margin-bottom: 10px; }
.twg-entry__title a { text-decoration: none; }
.twg-entry__title a:hover { color: var(--twg-blue-soft); }
.twg-entry__body { color: var(--twg-ink-2); }
.twg-entry__body a { color: var(--twg-blue-soft); }
.twg-entry__body :where(p, ul, ol) { margin: 0 0 1.1em; line-height: 1.75; }
.twg-entry__body :where(ul, ol) { padding-left: 1.3em; }
.twg-entry__body li { margin-bottom: .45em; }
.twg-entry__body li::marker { color: var(--twg-blue-soft); }
.twg-entry__body strong { color: var(--twg-ink); font-weight: 600; }
.twg-entry__body h2 { font-size: clamp(1.3rem, 2.2vw, 1.6rem); margin: 2.2em 0 .7em; padding-top: 1.4em; border-top: 1px solid var(--twg-line); }
.twg-entry__body h3 { font-size: 1.08rem; margin: 1.6em 0 .5em; color: var(--twg-ink); }
.twg-entry__body .twg-legal-meta { color: var(--twg-muted); font-size: .9rem; }
.twg-entry__body a { text-underline-offset: 3px; }

.twg-main--elementor { padding: 0; }

@media (max-width: 600px) {
	.twg-shell { width: min(100% - 32px, var(--twg-shell)); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
