/*
Theme Name: Delhi Lakshmi
Theme URI: https://delhilakshmi.in/
Author: DelhiLakshmi.in Editorial Team
Author URI: https://delhilakshmi.in/about/
Description: A fast, accessible, SEO-first WordPress theme for DelhiLakshmi.in, an INDEPENDENT informational website about the Delhi Lakshmi Yojana. This theme is not affiliated with, operated by, or endorsed by the Government of NCT of Delhi. It includes clearly-labelled, client-side demo tools (eligibility, registration, status, payment, beneficiary), centralized scheme facts, structured data, and Core Web Vitals optimizations.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: delhilakshmi
Tags: blog, news, government-information, one-column, two-columns, right-sidebar, custom-menu, custom-logo, featured-images, footer-widgets, translation-ready, accessibility-ready, block-styles, wide-blocks
*/

/* =========================================================================
   DELHI LAKSHMI — DESIGN TOKENS & BASE
   style.css holds the design system tokens, reset and base typography.
   Component/layout/responsive styles live in assets/css/main.css.
   ========================================================================= */

:root {
	/* Brand palette (original — intentionally different from dly.delhi.gov.in) */
	--dl-brand:        #7a1f5c; /* deep magenta/plum */
	--dl-brand-600:    #932472;
	--dl-brand-700:    #641a4c;
	--dl-brand-050:    #f7edf3;
	--dl-accent:       #0f766e; /* teal — used for trust/info accents */
	--dl-accent-600:   #0d675f;
	--dl-accent-050:   #e6f4f2;
	--dl-gold:         #b8860b; /* muted gold for highlights, never for gov buttons */

	/* Neutrals */
	--dl-ink:          #1a1a22;
	--dl-body:         #33333d;
	--dl-muted:        #5c5c68;
	--dl-line:         #e4e4ea;
	--dl-line-2:       #eeeef2;
	--dl-bg:           #ffffff;
	--dl-bg-soft:      #f7f7fa;
	--dl-bg-softer:    #fbfbfd;

	/* Semantic status colours (demo tools & notices) */
	--dl-ok:           #1a7f47;
	--dl-ok-bg:        #e8f6ee;
	--dl-warn:         #9a6a00;
	--dl-warn-bg:      #fff6e0;
	--dl-danger:       #b3261e;
	--dl-danger-bg:    #fdeceb;
	--dl-info:         #1155cc;
	--dl-info-bg:      #e8f0fe;
	--dl-demo:         #6b21a8; /* distinct "DEMO" identity, unlike official UI */
	--dl-demo-bg:      #f3e8ff;
	--dl-demo-line:    #d8b4fe;

	/* Typography — system font stack (no web fonts for performance) */
	--dl-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans Devanagari", sans-serif;
	--dl-font-head: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Devanagari", sans-serif;
	--dl-fs-base: 1.0625rem;   /* 17px */
	--dl-lh-base: 1.7;

	/* Spacing scale */
	--dl-sp-1: 0.25rem;
	--dl-sp-2: 0.5rem;
	--dl-sp-3: 0.75rem;
	--dl-sp-4: 1rem;
	--dl-sp-5: 1.5rem;
	--dl-sp-6: 2rem;
	--dl-sp-7: 3rem;
	--dl-sp-8: 4rem;

	/* Layout */
	--dl-maxw: 1160px;
	--dl-maxw-narrow: 760px;
	--dl-radius: 12px;
	--dl-radius-sm: 8px;
	--dl-radius-lg: 18px;

	/* Elevation */
	--dl-shadow-sm: 0 1px 2px rgba(20, 20, 40, 0.06), 0 1px 1px rgba(20, 20, 40, 0.04);
	--dl-shadow:    0 4px 14px rgba(20, 20, 40, 0.08);
	--dl-shadow-lg: 0 12px 34px rgba(20, 20, 40, 0.12);

	/* Focus ring */
	--dl-focus: 0 0 0 3px rgba(15, 118, 110, 0.45);
}

/* -------- Reset -------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

body {
	margin: 0;
	font-family: var(--dl-font);
	font-size: var(--dl-fs-base);
	line-height: var(--dl-lh-base);
	color: var(--dl-body);
	background: var(--dl-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--dl-font-head);
	color: var(--dl-ink);
	line-height: 1.25;
	margin: 0 0 var(--dl-sp-4);
	font-weight: 700;
	letter-spacing: -0.01em;
}
h1 { font-size: clamp(1.9rem, 1.3rem + 2.6vw, 2.9rem); }
h2 { font-size: clamp(1.5rem, 1.15rem + 1.5vw, 2.05rem); margin-top: var(--dl-sp-6); }
h3 { font-size: clamp(1.2rem, 1.05rem + 0.7vw, 1.45rem); margin-top: var(--dl-sp-5); }
h4 { font-size: 1.12rem; }

p { margin: 0 0 var(--dl-sp-4); }
ul, ol { margin: 0 0 var(--dl-sp-4); padding-left: 1.35rem; }
li { margin-bottom: var(--dl-sp-2); }

a {
	color: var(--dl-brand-600);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}
a:hover { color: var(--dl-brand-700); }

img { max-width: 100%; height: auto; }
figure { margin: 0 0 var(--dl-sp-4); }

strong, b { font-weight: 700; color: var(--dl-ink); }
small { font-size: 0.85em; }
code, kbd, pre { font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace; }

hr { border: 0; border-top: 1px solid var(--dl-line); margin: var(--dl-sp-6) 0; }

/* -------- Accessibility helpers -------- */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
	word-wrap: normal !important;
}
.skip-link {
	position: absolute; left: -999px; top: 0; z-index: 100000;
	background: var(--dl-ink); color: #fff; padding: 0.75rem 1.1rem;
	border-radius: 0 0 var(--dl-radius-sm) 0; text-decoration: none; font-weight: 600;
}
.skip-link:focus { left: 0; color: #fff; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: none;
	box-shadow: var(--dl-focus);
	border-radius: 4px;
}

/* -------- Base layout container -------- */
.dl-container { width: 100%; max-width: var(--dl-maxw); margin-inline: auto; padding-inline: var(--dl-sp-4); }
.dl-narrow { max-width: var(--dl-maxw-narrow); }

/* Selection */
::selection { background: var(--dl-brand); color: #fff; }
