/**
 * Standalone layout + colors when Tailwind (main.css / CDN) is unavailable.
 * Active only when <html> has class lsd-no-tailwind.
 *
 * @package Local_SEO_Dominate
 */

html.lsd-no-tailwind {
	--lsd-bg: #0d1511;
	--lsd-surface: #19211d;
	--lsd-surface-high: #242c27;
	--lsd-surface-low: #151d19;
	--lsd-surface-lowest: #08100c;
	--lsd-text: #dce5de;
	--lsd-text-muted: #bdcbb7;
	--lsd-primary: #5fe067;
	--lsd-tertiary: #87dd00;
	--lsd-outline: #879483;
	--lsd-container: 1280px;
	--lsd-gutter: 24px;
	--lsd-margin-mobile: 16px;
	--lsd-margin-desktop: 64px;
}

html.lsd-no-tailwind *,
html.lsd-no-tailwind *::before,
html.lsd-no-tailwind *::after {
	box-sizing: border-box;
}

html.lsd-no-tailwind body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background-color: var(--lsd-bg);
	color: var(--lsd-text);
	font-family: Inter, system-ui, -apple-system, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
}

html.lsd-no-tailwind main {
	flex: 1 1 auto;
	padding-top: 72px;
}

html.lsd-no-tailwind a {
	color: inherit;
}

html.lsd-no-tailwind img,
html.lsd-no-tailwind video {
	max-width: 100%;
	height: auto;
}

/* Layout utilities */
html.lsd-no-tailwind .flex { display: flex; }
html.lsd-no-tailwind .inline-flex { display: inline-flex; }
html.lsd-no-tailwind .grid { display: grid; }
html.lsd-no-tailwind .hidden { display: none !important; }
html.lsd-no-tailwind .block { display: block; }
html.lsd-no-tailwind .inline-block { display: inline-block; }
html.lsd-no-tailwind .flex-col { flex-direction: column; }
html.lsd-no-tailwind .flex-grow { flex-grow: 1; }
html.lsd-no-tailwind .flex-wrap { flex-wrap: wrap; }
html.lsd-no-tailwind .items-center { align-items: center; }
html.lsd-no-tailwind .items-start { align-items: flex-start; }
html.lsd-no-tailwind .justify-center { justify-content: center; }
html.lsd-no-tailwind .justify-between { justify-content: space-between; }
html.lsd-no-tailwind .shrink-0 { flex-shrink: 0; }
html.lsd-no-tailwind .w-full { width: 100%; }
html.lsd-no-tailwind .h-full { height: 100%; }
html.lsd-no-tailwind .relative { position: relative; }
html.lsd-no-tailwind .fixed { position: fixed; }
html.lsd-no-tailwind .absolute { position: absolute; }
html.lsd-no-tailwind .top-0 { top: 0; }
html.lsd-no-tailwind .inset-0 { inset: 0; }
html.lsd-no-tailwind .z-50 { z-index: 50; }
html.lsd-no-tailwind .-z-10 { z-index: -10; }
html.lsd-no-tailwind .overflow-hidden { overflow: hidden; }
html.lsd-no-tailwind .text-center { text-align: center; }
html.lsd-no-tailwind .no-underline { text-decoration: none; }
html.lsd-no-tailwind .m-0 { margin: 0; }
html.lsd-no-tailwind .mx-auto { margin-left: auto; margin-right: auto; }
html.lsd-no-tailwind .mb-4 { margin-bottom: 1rem; }
html.lsd-no-tailwind .mt-auto { margin-top: auto; }
html.lsd-no-tailwind .space-y-4 > * + * { margin-top: 1rem; }
html.lsd-no-tailwind .space-y-6 > * + * { margin-top: 1.5rem; }
html.lsd-no-tailwind .gap-8 { gap: 2rem; }
html.lsd-no-tailwind .rounded { border-radius: 0.125rem; }
html.lsd-no-tailwind .rounded-xl { border-radius: 0.75rem; }
html.lsd-no-tailwind .rounded-full { border-radius: 9999px; }
html.lsd-no-tailwind .border { border: 1px solid var(--lsd-outline); }
html.lsd-no-tailwind .border-t { border-top: 1px solid rgba(135, 148, 131, 0.15); }
html.lsd-no-tailwind .shadow-sm { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
html.lsd-no-tailwind .p-2 { padding: 0.5rem; }
html.lsd-no-tailwind .px-4 { padding-left: 1rem; padding-right: 1rem; }
html.lsd-no-tailwind .px-8 { padding-left: 2rem; padding-right: 2rem; }
html.lsd-no-tailwind .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
html.lsd-no-tailwind .py-4 { padding-top: 1rem; padding-bottom: 1rem; }
html.lsd-no-tailwind .py-10 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
html.lsd-no-tailwind .pt-8 { padding-top: 2rem; }
html.lsd-no-tailwind .pb-10 { padding-bottom: 2.5rem; }
html.lsd-no-tailwind .max-w-4xl { max-width: 56rem; }
html.lsd-no-tailwind .max-w-2xl { max-width: 42rem; }
html.lsd-no-tailwind .max-w-3xl { max-width: 48rem; }
html.lsd-no-tailwind .max-w-md { max-width: 28rem; }
html.lsd-no-tailwind .leading-tight { line-height: 1.25; }
html.lsd-no-tailwind .leading-relaxed { line-height: 1.625; }
html.lsd-no-tailwind .font-bold { font-weight: 700; }
html.lsd-no-tailwind .font-semibold { font-weight: 600; }
html.lsd-no-tailwind .uppercase { text-transform: uppercase; }
html.lsd-no-tailwind .tracking-tight { letter-spacing: -0.025em; }
html.lsd-no-tailwind .tracking-wider { letter-spacing: 0.05em; }

/* Theme colors */
html.lsd-no-tailwind .bg-background,
html.lsd-no-tailwind body.bg-background { background-color: var(--lsd-bg); }
html.lsd-no-tailwind .bg-surface-container { background-color: var(--lsd-surface); }
html.lsd-no-tailwind .bg-surface-container-highest { background-color: #2e3732; }
html.lsd-no-tailwind .bg-surface-container-lowest { background-color: var(--lsd-surface-lowest); }
html.lsd-no-tailwind .bg-primary { background-color: var(--lsd-primary); }
html.lsd-no-tailwind .text-on-background,
html.lsd-no-tailwind .text-on-background { color: var(--lsd-text); }
html.lsd-no-tailwind .text-on-surface-variant { color: var(--lsd-text-muted); }
html.lsd-no-tailwind .text-primary { color: var(--lsd-primary); }
html.lsd-no-tailwind .text-secondary { color: #abcfbb; }
html.lsd-no-tailwind .text-tertiary,
html.lsd-no-tailwind .text-tertiary-fixed-dim { color: var(--lsd-tertiary); }
html.lsd-no-tailwind .text-on-primary { color: #00390b; }
html.lsd-no-tailwind .border-outline { border-color: var(--lsd-outline); }
html.lsd-no-tailwind .border-outline-variant\/10,
html.lsd-no-tailwind .border-outline-variant\/20,
html.lsd-no-tailwind .border-outline-variant\/30 {
	border-color: rgba(135, 148, 131, 0.2);
}

/* Typography scale */
html.lsd-no-tailwind .font-display-lg,
html.lsd-no-tailwind .font-headline-lg { font-family: Montserrat, Inter, sans-serif; }
html.lsd-no-tailwind .text-display-lg,
html.lsd-no-tailwind h1 { font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; }
html.lsd-no-tailwind .text-headline-lg,
html.lsd-no-tailwind h2 { font-size: clamp(1.5rem, 3vw, 2rem); line-height: 1.25; }
html.lsd-no-tailwind .text-headline-md { font-size: 1.25rem; line-height: 1.4; }
html.lsd-no-tailwind .text-body-lg { font-size: 1.125rem; line-height: 1.55; }
html.lsd-no-tailwind .text-body-md,
html.lsd-no-tailwind p { font-size: 1rem; line-height: 1.5; }
html.lsd-no-tailwind .text-label-md { font-size: 0.875rem; font-weight: 600; }
html.lsd-no-tailwind .text-label-sm { font-size: 0.75rem; font-weight: 500; }

/* Container + spacing */
html.lsd-no-tailwind .max-w-container-max {
	max-width: var(--lsd-container);
	margin-left: auto;
	margin-right: auto;
}
html.lsd-no-tailwind .px-margin-mobile {
	padding-left: var(--lsd-margin-mobile);
	padding-right: var(--lsd-margin-mobile);
}
html.lsd-no-tailwind .gap-gutter { gap: var(--lsd-gutter); }
html.lsd-no-tailwind .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); }

/* Nav */
html.lsd-no-tailwind #lsd-nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	background: rgba(13, 21, 17, 0.92);
	border-bottom: 1px solid rgba(135, 148, 131, 0.12);
	backdrop-filter: blur(12px);
}

html.lsd-no-tailwind #lsd-nav > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: var(--lsd-container);
	margin: 0 auto;
	padding: 0.75rem var(--lsd-margin-mobile);
}

html.lsd-no-tailwind #lsd-nav .menu,
html.lsd-no-tailwind #lsd-nav ul {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}

html.lsd-no-tailwind #lsd-nav .lsd-btn-primary {
	display: none;
}

html.lsd-no-tailwind .lsd-mobile-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	color: var(--lsd-primary);
	cursor: pointer;
}

/* Hero section */
html.lsd-no-tailwind section {
	padding-left: var(--lsd-margin-mobile);
	padding-right: var(--lsd-margin-mobile);
}

html.lsd-no-tailwind .pt-\[72px\] { padding-top: 72px; }

/* Buttons */
html.lsd-no-tailwind .bg-primary.text-on-primary,
html.lsd-no-tailwind a.bg-primary {
	background-color: var(--lsd-primary);
	color: #00390b;
	font-weight: 600;
	padding: 1rem 2rem;
	border-radius: 0.125rem;
	text-decoration: none;
	display: inline-block;
	text-align: center;
}

html.lsd-no-tailwind a.bg-primary:hover {
	background-color: var(--lsd-tertiary);
}

/* Footer */
html.lsd-no-tailwind footer {
	background: var(--lsd-surface-lowest);
	border-top: 1px solid rgba(135, 148, 131, 0.12);
	margin-top: auto;
}

html.lsd-no-tailwind footer > div {
	max-width: var(--lsd-container);
	margin: 0 auto;
	padding: 2.5rem var(--lsd-margin-mobile);
}

html.lsd-no-tailwind footer a:hover {
	color: var(--lsd-tertiary);
}

/* Grid sections */
html.lsd-no-tailwind .md\:col-span-3 { grid-column: span 1; }

@media (min-width: 640px) {
	html.lsd-no-tailwind .sm\:flex-row { flex-direction: row; }
	html.lsd-no-tailwind .sm\:w-auto { width: auto; }
	html.lsd-no-tailwind .sm\:space-y-0 > * + * { margin-top: 0; }
	html.lsd-no-tailwind .sm\:space-x-6 > * + * { margin-left: 1.5rem; }
}

@media (min-width: 768px) {
	html.lsd-no-tailwind .md\:block { display: block; }
	html.lsd-no-tailwind .md\:hidden { display: none !important; }
	html.lsd-no-tailwind .md\:flex-row { flex-direction: row; }
	html.lsd-no-tailwind .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	html.lsd-no-tailwind .md\:col-span-3 { grid-column: span 3; }
	html.lsd-no-tailwind .md\:px-margin-desktop {
		padding-left: var(--lsd-margin-desktop);
		padding-right: var(--lsd-margin-desktop);
	}
	html.lsd-no-tailwind .md\:py-12 { padding-top: 3rem; padding-bottom: 3rem; }
	html.lsd-no-tailwind .md\:py-16 { padding-top: 4rem; padding-bottom: 4rem; }
	html.lsd-no-tailwind .md\:pt-12 { padding-top: 3rem; }
	html.lsd-no-tailwind .md\:pb-12 { padding-bottom: 3rem; }
	html.lsd-no-tailwind .md\:mb-10 { margin-bottom: 2.5rem; }
	html.lsd-no-tailwind .md\:text-display-lg { font-size: 3rem; }
	html.lsd-no-tailwind #lsd-nav > div { padding-left: var(--lsd-margin-desktop); padding-right: var(--lsd-margin-desktop); }
	html.lsd-no-tailwind #lsd-nav .menu,
	html.lsd-no-tailwind #lsd-nav ul:not(.lsd-sidebar-nav) {
		display: flex;
		align-items: center;
	}
	html.lsd-no-tailwind #lsd-nav .lsd-btn-primary { display: inline-block; }
	html.lsd-no-tailwind .lsd-mobile-toggle { display: none !important; }
	html.lsd-no-tailwind section {
		padding-left: var(--lsd-margin-desktop);
		padding-right: var(--lsd-margin-desktop);
	}
}

@media (min-width: 1024px) {
	html.lsd-no-tailwind .lg\:flex-row { flex-direction: row; }
	html.lsd-no-tailwind .lg\:gap-gutter { gap: var(--lsd-gutter); }
}
