/**
 * FEWAS Ayurveda Theme - Root Variables & Global Resets
 * Pure Vanilla CSS - Zero Framework Dependencies
 */

:root {
	/* Brand Colors */
	--fewas-emerald-dark: #0B2F2E;
	--fewas-emerald-deep: #061B1B;
	--fewas-emerald-card: #0F3B3A;
	--fewas-emerald-light: #145A56;
	
	--fewas-gold-accent: #B98A65;
	--fewas-gold-glow: rgba(185, 138, 101, 0.35);
	--fewas-gold-hover: #D4A37D;
	
	--fewas-cream-bg: #FAF9F5;
	--fewas-cream-card: #F3EFE6;
	--fewas-cream-text: #EEE2D1;
	--fewas-white: #FFFFFF;
	
	--fewas-border-emerald: rgba(11, 47, 46, 0.15);
	--fewas-border-gold: rgba(185, 138, 101, 0.35);
	--fewas-border-glass: rgba(255, 255, 255, 0.15);

	/* Typography */
	--font-serif: 'Playfair Display', Georgia, serif;
	--font-sans: 'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

	/* Transitions & Radius */
	--fewas-transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
	--fewas-radius-sm: 8px;
	--fewas-radius: 16px;
	--fewas-radius-lg: 24px;
	--fewas-radius-pill: 9999px;
}

.font-playfair {
	font-family: var(--font-serif);
}

.font-lato {
	font-family: var(--font-sans);
}

.fewas-h1 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.15;
	font-size: clamp(26px, 5.5vw, 56px);
}

.fewas-h2 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.2;
	font-size: clamp(22px, 3.8vw, 42px);
}

.fewas-h3 {
	font-family: var(--font-serif);
	font-weight: 400;
	line-height: 1.25;
	font-size: clamp(17px, 2.2vw, 22px);
}

.fewas-p {
	font-family: var(--font-sans);
	font-weight: 400;
	line-height: 1.6;
	font-size: clamp(13px, 1.1vw, 16px);
}

/* Global Scope */
html {
	scroll-behavior: smooth;
	box-sizing: border-box;
}

*, *::before, *::after {
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

body.fewas-theme-body {
	font-family: var(--font-sans);
	background-color: var(--fewas-emerald-dark);
	color: var(--fewas-cream-text);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

a {
	color: inherit;
	text-decoration: none;
	transition: var(--fewas-transition);
}

button {
	font-family: inherit;
	cursor: pointer;
	border: none;
	background: none;
	transition: var(--fewas-transition);
}

img, video {
	max-width: 100%;
	height: auto;
	display: block;
}

/* Layout Utilities */
.fewas-container {
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 20px;
}

@media (min-width: 768px) {
	.fewas-container {
		padding: 0 32px;
	}
}

.fewas-container-fluid {
	width: 100%;
	max-width: 1540px;
	margin: 0 auto;
	padding: 0 20px;
}

@media (min-width: 768px) {
	.fewas-container-fluid {
		padding: 0 40px;
	}
}

/* Reusable Section Headers */
.fewas-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
}

.fewas-kicker-dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: var(--fewas-gold-accent);
}

.fewas-kicker-txt {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--fewas-gold-accent);
}

.fewas-section-title-large {
	font-family: var(--font-serif);
	font-size: 2.25rem;
	font-weight: 400;
	color: var(--fewas-white);
	line-height: 1.2;
}

@media (min-width: 768px) {
	.fewas-section-title-large {
		font-size: 3rem;
	}
}

.fewas-section-sub {
	font-size: 1.05rem;
	color: rgba(227, 227, 196, 0.8);
	max-width: 680px;
	margin-top: 12px;
}

.fewas-section-header-centered {
	text-align: center;
	margin-bottom: 48px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Reusable Buttons */
.fewas-btn-gold-fill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: var(--fewas-gold-accent);
	color: var(--fewas-white);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 14px 28px;
	border-radius: var(--fewas-radius-pill);
	box-shadow: 0 8px 25px rgba(185, 138, 101, 0.35);
}

.fewas-btn-gold-fill:hover {
	background-color: var(--fewas-gold-hover);
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(185, 138, 101, 0.5);
}

.fewas-btn-translucent-outline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background-color: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--fewas-border-glass);
	backdrop-filter: blur(8px);
	color: var(--fewas-white);
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	padding: 14px 28px;
	border-radius: var(--fewas-radius-pill);
}

.fewas-btn-translucent-outline:hover {
	background-color: rgba(255, 255, 255, 0.18);
	border-color: var(--fewas-white);
}

.fewas-btn-gold-sm {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background-color: var(--fewas-gold-accent);
	color: var(--fewas-white);
	font-weight: 600;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 18px;
	border-radius: var(--fewas-radius-pill);
}

.fewas-btn-gold-sm:hover {
	background-color: var(--fewas-gold-hover);
}

.fewas-btn-gold-outline {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid var(--fewas-gold-accent);
	color: var(--fewas-gold-accent);
	font-weight: 600;
	font-size: 0.75rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 10px 20px;
	border-radius: var(--fewas-radius-pill);
}

.fewas-btn-gold-outline:hover {
	background-color: var(--fewas-gold-accent);
	color: var(--fewas-white);
}

/* Scroll Reveal Animations (Mirrors Framer Motion ScrollReveal) */
.fewas-scroll-reveal {
	opacity: 1; /* Default visible to ensure no hidden content if JS is slow */
	transform: translateY(0);
	transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: opacity, transform;
}

@media (prefers-reduced-motion: no-preference) {
	.fewas-js-ready .fewas-scroll-reveal:not(.is-visible) {
		opacity: 0;
		transform: translateY(28px);
	}
	.fewas-js-ready .fewas-scroll-reveal.is-visible {
		opacity: 1;
		transform: translateY(0);
	}
}
