/* Base: fonts, reset, typography, accessibility helpers */

@font-face { font-family: "Hind Siliguri"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/HindSiliguri-Regular.woff2") format("woff2"); }
@font-face { font-family: "Hind Siliguri"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/HindSiliguri-Medium.woff2") format("woff2"); }
@font-face { font-family: "Hind Siliguri"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/HindSiliguri-SemiBold.woff2") format("woff2"); }
@font-face { font-family: "Hind Siliguri"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/HindSiliguri-Bold.woff2") format("woff2"); }

*, *::before, *::after { box-sizing: border-box; }

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--baa-header-h) + 1rem);
}

body {
	margin: 0;
	font-family: var(--baa-font);
	font-size: var(--baa-fs-base);
	line-height: 1.75;               /* Bengali needs generous leading for matras */
	color: var(--baa-dark);
	background: var(--baa-bg);
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
}

img, svg, video, iframe { max-width: 100%; }
img, video { height: auto; }

h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.4; font-weight: 700; color: var(--baa-green); }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; }

a { color: var(--baa-green-700); text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--baa-red); }

button { font: inherit; }

/* Keyboard focus: always visible */
:focus-visible { outline: 3px solid var(--baa-green-700); outline-offset: 3px; border-radius: 4px; }
.baa-hero :focus-visible,
.baa-footer :focus-visible { outline-color: var(--baa-gold); }

/* Screen-reader-only text (WordPress standard) */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	white-space: nowrap;
}
.screen-reader-text:focus {
	position: fixed !important;
	top: .75rem; left: .75rem;
	width: auto; height: auto; margin: 0;
	padding: .75rem 1.25rem;
	clip: auto; clip-path: none;
	z-index: 100000;
	background: var(--baa-white);
	color: var(--baa-green);
	font-weight: 700;
	border-radius: var(--baa-radius-sm);
	box-shadow: var(--baa-shadow-lg);
}

.baa-main:focus { outline: none; }

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