/* Anokha Prayas theme — clean NGO layout. Brand: navy #1E252F, orange #EB5310, amber #FAA019, cream #FFF9F4. */

:root {
	--ap-navy: #1E252F;
	--ap-orange: #EB5310;
	--ap-amber: #FAA019;
	--ap-cream: #FFF9F4;
	--ap-cream-2: #FFE9C8;
	--ap-text: #434343;
	--ap-muted: #6b6b6b;
	--ap-border: #e6e6e6;
	--ap-grad: linear-gradient(90deg, #EB5310 0%, #FAA019 100%);
	--ap-radius: 14px;
	--ap-max: 1200px;
}

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

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: "Manrope", "Noto Sans Devanagari", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-size: 16px;
	line-height: 1.65;
	color: var(--ap-text);
	background: #fff;
}

body {
	position: relative;
	min-height: 100vh;
	background: linear-gradient(-45deg, #FFF9F4, #FFE9C8, #FFF3E6, #FCE3CF);
	background-size: 400% 400%;
	animation: ap-bg-shift 22s ease infinite;
}
@keyframes ap-bg-shift {
	0% { background-position: 0% 50%; }
	50% { background-position: 100% 50%; }
	100% { background-position: 0% 50%; }
}
@keyframes ap-fade-up {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}
.ap-section, .ap-hero-grid, .ap-page-body {
	animation: ap-fade-up .7s ease both;
}
.ap-step, .ap-registration-form, .ap-login-form, .ap-cert-verify-form,
.ap-result-search-form, .ap-student-dashboard, .ap-exam-card, .ap-registration-confirmation {
	transition: transform .25s ease, box-shadow .25s ease;
}
.ap-step:hover, .ap-exam-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 30px rgba(235, 83, 16, .18);
}
.ap-btn, .ap-registration-form button, .ap-login-form button,
.ap-cert-verify-form button, .ap-result-search-form button {
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.ap-btn:hover, .ap-registration-form button:hover, .ap-login-form button:hover,
.ap-cert-verify-form button:hover, .ap-result-search-form button:hover {
	transform: translateY(-2px) scale(1.02);
	box-shadow: 0 10px 22px rgba(235, 83, 16, .3);
}
.ap-nav a:not(.ap-nav-cta) { position: relative; }
.ap-nav a:not(.ap-nav-cta)::after {
	content: "";
	position: absolute;
	left: 12px;
	right: 12px;
	bottom: 4px;
	height: 2px;
	background: var(--ap-grad);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s ease;
}
.ap-nav a:not(.ap-nav-cta):hover::after { transform: scaleX(1); }
@media (prefers-reduced-motion: reduce) {
	body, .ap-section, .ap-hero-grid, .ap-page-body { animation: none; }
	.ap-step:hover, .ap-exam-card:hover, .ap-btn:hover { transform: none; }
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	background: var(--ap-logo-bg) no-repeat center 45% / min(70vw, 720px) auto;
	opacity: .07;
	pointer-events: none;
	z-index: 0;
}
main, .ap-footer { position: relative; z-index: 1; }

img { max-width: 100%; height: auto; display: block; }
a { color: var(--ap-orange); text-decoration: none; }
a:hover { color: var(--ap-amber); }
h1, h2, h3, h4 { color: var(--ap-navy); line-height: 1.25; margin: 0 0 .5em; }
p { margin: 0 0 1em; }

.ap-container { max-width: var(--ap-max); margin: 0 auto; padding: 0 20px; }

/* ---------- Header ---------- */
.ap-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: #fff;
	box-shadow: 0 2px 14px rgba(30, 37, 47, .08);
}
.ap-header-inner {
	max-width: var(--ap-max);
	margin: 0 auto;
	padding: 12px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.ap-logo img { height: 64px; width: auto; }
.ap-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.ap-nav a {
	color: var(--ap-navy);
	font-weight: 600;
	font-size: 15px;
	padding: 8px 12px;
	border-radius: 8px;
	text-decoration: none;
}
.ap-nav a:hover,
.ap-nav a:focus { color: var(--ap-orange); background: var(--ap-cream); }
.ap-nav a.ap-nav-cta {
	background: var(--ap-grad);
	color: #fff;
	padding: 9px 18px;
	margin-left: 6px;
}
.ap-nav a.ap-nav-cta:hover { color: #fff; opacity: .92; }

/* ---------- Buttons ---------- */
.ap-btn {
	display: inline-block;
	background: var(--ap-grad);
	color: #fff !important;
	font-weight: 700;
	padding: 13px 26px;
	border-radius: 999px;
	text-decoration: none;
	border: 0;
	cursor: pointer;
	box-shadow: 0 6px 16px rgba(235, 83, 16, .25);
	margin: 4px 8px 4px 0;
}
.ap-btn:hover { opacity: .92; }
.ap-btn-ghost {
	background: #fff;
	color: var(--ap-orange) !important;
	box-shadow: none;
	border: 2px solid var(--ap-orange);
}

/* ---------- Hero ---------- */
.ap-hero {
	background: linear-gradient(135deg, var(--ap-cream) 0%, var(--ap-cream-2) 100%);
	padding: 72px 0;
}
.ap-hero-grid {
	max-width: var(--ap-max);
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.ap-eyebrow {
	display: inline-block;
	color: var(--ap-orange);
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	font-size: 13px;
	margin-bottom: 12px;
}
.ap-hero h1 { font-size: 46px; font-weight: 800; margin-bottom: 18px; }
.ap-hero-lead { font-size: 18px; color: var(--ap-text); max-width: 540px; }
.ap-hero-media img {
	border-radius: 24px;
	box-shadow: 0 24px 50px rgba(30, 37, 47, .18);
	border: 6px solid #fff;
}

/* ---------- Sections ---------- */
.ap-section { padding: 72px 0; }
.ap-section-alt { background: var(--ap-cream); }
.ap-section-title { text-align: center; margin-bottom: 40px; }
.ap-section-title h2 { font-size: 34px; font-weight: 800; }
.ap-section-title p { color: var(--ap-muted); max-width: 620px; margin: 8px auto 0; }

.ap-about-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: center;
}
.ap-about-grid h2 { font-size: 32px; font-weight: 800; }
.ap-about-grid p { font-size: 17px; }

.ap-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
.ap-step {
	background: #fff;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);
	padding: 28px 22px;
	box-shadow: 0 6px 18px rgba(30, 37, 47, .05);
}
.ap-step-num {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--ap-grad);
	color: #fff;
	font-weight: 800;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 14px;
}
.ap-step h3 { font-size: 18px; font-weight: 700; }
.ap-step p { font-size: 15px; color: var(--ap-muted); margin: 0; }

.ap-band {
	background: var(--ap-navy);
	color: #fff;
	text-align: center;
	padding: 56px 20px;
}
.ap-band h2 { color: #fff; font-size: 30px; font-weight: 800; }
.ap-band p { color: #d7dbe3; max-width: 600px; margin: 0 auto 22px; }

/* ---------- Inner page ---------- */
.ap-page-header {
	background: linear-gradient(135deg, var(--ap-cream) 0%, var(--ap-cream-2) 100%);
	padding: 44px 0;
	border-bottom: 1px solid var(--ap-border);
}
.ap-page-header h1 { font-size: 36px; font-weight: 800; margin: 0 0 6px; }
.ap-crumbs { font-size: 14px; color: var(--ap-muted); }
.ap-crumbs a { color: var(--ap-muted); }
.ap-page-body { padding: 48px 0 72px; }
.ap-page-body .ap-container { max-width: 880px; }

/* ---------- Plugin shortcode output (forms, tables, cards) ---------- */
.ap-registration-form, .ap-login-form, .ap-cert-verify-form, .ap-result-search-form,
.ap-student-dashboard, .ap-registration-confirmation {
	max-width: 760px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid var(--ap-border);
	border-radius: var(--ap-radius);
	padding: 28px;
	box-shadow: 0 8px 22px rgba(30, 37, 47, .05);
}
.ap-registration-form h3, .ap-registration-form h4 { color: var(--ap-navy); margin-top: 22px; }
.ap-registration-form label, .ap-login-form label, .ap-cert-verify-form label, .ap-result-search-form label {
	display: block; font-weight: 600; margin-bottom: 4px; color: var(--ap-navy); font-size: 15px;
}
.ap-registration-form input, .ap-registration-form textarea, .ap-registration-form select,
.ap-login-form input, .ap-cert-verify-form input, .ap-result-search-form input {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #d4d7dd;
	border-radius: 10px;
	margin-bottom: 14px;
	font: inherit;
	background: #fff;
}
.ap-registration-form input:focus, .ap-login-form input:focus, .ap-cert-verify-form input:focus,
.ap-result-search-form input:focus, .ap-registration-form textarea:focus, .ap-registration-form select:focus {
	outline: none;
	border-color: var(--ap-orange);
	box-shadow: 0 0 0 3px rgba(235, 83, 16, .15);
}
.ap-registration-form button, .ap-login-form button, .ap-cert-verify-form button, .ap-result-search-form button {
	background: var(--ap-grad);
	color: #fff;
	border: 0;
	padding: 13px 28px;
	border-radius: 999px;
	font-weight: 700;
	cursor: pointer;
}
.ap-student-dashboard h3 { color: var(--ap-navy); }
.ap-student-dashboard table { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
.ap-student-dashboard td { padding: 8px; border-bottom: 1px solid var(--ap-border); }
.ap-student-dashboard td:first-child { color: var(--ap-muted); width: 170px; }
.ap-exam-card {
	border: 1px solid var(--ap-border) !important;
	border-radius: var(--ap-radius);
	background: var(--ap-cream) !important;
	padding: 20px !important;
	margin-bottom: 18px !important;
}
.ap-error {
	color: #9b1c1c; background: #fdecec; border: 1px solid #f3c2c2;
	border-radius: 10px; padding: 10px 14px;
}
.ap-student-dashboard a.ap-doc-link, .ap-exam-card a {
	display: inline-block;
	background: var(--ap-grad);
	color: #fff !important;
	padding: 8px 16px;
	border-radius: 999px;
	font-weight: 600;
	font-size: 14px;
	margin-top: 4px;
}

/* ---------- Footer ---------- */
.ap-footer { background: var(--ap-navy); color: #c9ced8; padding: 56px 0 0; }
.ap-footer-grid {
	max-width: var(--ap-max);
	margin: 0 auto;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 40px;
}
.ap-footer h4 { color: #fff; font-size: 17px; font-weight: 700; margin-bottom: 14px; }
.ap-footer p, .ap-footer li { font-size: 15px; }
.ap-footer ul { list-style: none; padding: 0; margin: 0; }
.ap-footer li { margin-bottom: 8px; }
.ap-footer a { color: #c9ced8; }
.ap-footer a:hover { color: var(--ap-amber); }
.ap-footer-logo img { height: 60px; width: auto; margin-bottom: 14px; }
.ap-footer-bottom {
	margin-top: 40px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	padding: 18px 20px;
	text-align: center;
	font-size: 14px;
}

/* ---------- Responsive ---------- */
@media (max-width: 960px) {
	.ap-hero-grid, .ap-about-grid { grid-template-columns: 1fr; }
	.ap-steps { grid-template-columns: repeat(2, 1fr); }
	.ap-footer-grid { grid-template-columns: 1fr 1fr; }
	.ap-hero h1 { font-size: 36px; }
}
@media (max-width: 600px) {
	.ap-steps { grid-template-columns: 1fr; }
	.ap-footer-grid { grid-template-columns: 1fr; }
	.ap-hero { padding: 40px 0; }
	.ap-section { padding: 48px 0; }
	.ap-logo img { height: 52px; }
	.ap-nav a { padding: 7px 9px; font-size: 14px; }
	.ap-section-title h2, .ap-about-grid h2 { font-size: 26px; }
}
