/**
 * Lamar Theme — main.css (Heritage Tech v2)
 *
 * Component styles live in components.css.
 * This file contains ONLY: reset, base typography, layout primitives, utilities, animations.
 * Legacy v1 styles archived in main-legacy.css.bak.
 */

/* ════════════════════════════════════════════════════════════
   RESET & BASE
   ════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }
body, h1, h2, h3, h4, h5, h6, p, ul, ol, figure, blockquote, dl, dd { margin: 0; }
ul[role="list"], ol[role="list"], ul.menu, ol.menu { padding: 0; list-style: none; }
img, picture, svg, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color var(--dur-base, 250ms) var(--ease-out, ease); }
button { font: inherit; cursor: pointer; border: 0; background: none; padding: 0; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }
html,
body {
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	/* clip (not hidden) — prevents horizontal overflow WITHOUT breaking position: sticky on children */
	overflow-x: clip !important;
}
html {
	scroll-behavior: smooth;
	-webkit-text-size-adjust: 100%;
}
body {
	font-family: var(--font-body, system-ui), sans-serif;
	font-size: var(--text-base, 16px);
	line-height: var(--leading-arabic-body, 1.75);
	color: var(--color-text-body, #28251A);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	min-height: 100vh;
	position: relative;
}
.site-main, main, footer, header, section, article {
	max-width: 100%;
	overflow-x: clip;
}

/* Custom scrollbar — subtle and themed */
html { scrollbar-width: thin; scrollbar-color: rgba(192, 148, 94, 0.35) transparent; }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
	background: rgba(192, 148, 94, 0.35);
	border-radius: 8px;
	border: 2px solid transparent;
	background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover { background: rgba(192, 148, 94, 0.6); background-clip: content-box; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-display, var(--font-body));
	font-weight: 700;
	line-height: var(--leading-arabic-display, 1.3);
	color: var(--color-text, #1E1B14);
}

/* ════════════════════════════════════════════════════════════
   LAYOUT PRIMITIVES
   ════════════════════════════════════════════════════════════ */
.container {
	max-width: var(--container, 1280px);
	margin: 0 auto;
	padding: 0 var(--space-6, 24px);
}
.container--tight { max-width: var(--container-tight, 1080px); }
.container--prose { max-width: var(--container-prose, 720px); }
.text-center { text-align: center; }
.text-start  { text-align: start; }
.text-end    { text-align: end; }

/* ════════════════════════════════════════════════════════════
   ACCESSIBILITY UTILITIES
   ════════════════════════════════════════════════════════════ */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	margin: -1px; padding: 0;
	overflow: hidden;
	position: absolute !important;
	word-wrap: normal !important;
}

/* ════════════════════════════════════════════════════════════
   AOS SCROLL REVEAL (used with [data-aos] attribute)
   ════════════════════════════════════════════════════════════ */
[data-aos] {
	opacity: 0;
	transform: translateY(24px);
	transition:
		opacity var(--dur-slow, 400ms) var(--ease-out, ease),
		transform var(--dur-slow, 400ms) var(--ease-out, ease);
}
[data-aos="fade-up"]    { transform: translateY(24px); }
[data-aos="fade-down"]  { transform: translateY(-24px); }
[data-aos="fade-left"]  { transform: translateX(24px); }
[data-aos="fade-right"] { transform: translateX(-24px); }
[data-aos="zoom-in"]    { transform: scale(.92); }

[data-aos].aos-animate { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	[data-aos] { opacity: 1; transform: none; transition: none; }
	html { scroll-behavior: auto; }
}

/* ════════════════════════════════════════════════════════════
   SAFE FALLBACK: ensure main wrapper has padding-top to clear sticky header
   ════════════════════════════════════════════════════════════ */
.site-main { display: block; }

/* Selection */
::selection {
	background: var(--gold-300, #D7B355);
	color: var(--ink-900, #0F0D08);
}
