/*
Theme Name: KumbhMela.info
Theme URI: https://kumbhmela.info/
Author: TravNext Tech Private Limited
Description: Accessible, bilingual, Elementor-compatible hybrid theme for KumbhMela.info.
Version: 0.1.1
Requires at least: 6.9
Requires PHP: 8.1
Text Domain: kumbhmela-info
*/

:root {
  --kmi-color-primary: #e14503;
  --kmi-color-primary-dark: #d34200;
  --kmi-color-primary-hover: #c93d00;
  --kmi-color-primary-soft: #ffede6;
  --kmi-color-ink: #0f0a08;
  --kmi-color-cream: #fff9f3;
  --kmi-color-white: #fff;
  --kmi-color-neutral-700: #4a433f;
  --kmi-color-neutral-250: #d7d1cd;
  --kmi-color-neutral-150: #eae5e1;
  --kmi-color-neutral-75: #f6f2ef;
  --kmi-color-info-700: #235a85;
  --kmi-font-sans: "Noto Sans", "Noto Sans Devanagari", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --kmi-container-wide: 1280px;
  --kmi-container-default: 1160px;
  --kmi-container-reading: 760px;
  --kmi-radius-sm: 8px;
  --kmi-radius-md: 12px;
  --kmi-radius-lg: 18px;
  --kmi-border-default: 1px solid #eae5e1;
  --kmi-shadow-sm: 0 1px 2px rgba(15, 10, 8, 0.06);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--kmi-color-ink); background: var(--kmi-color-white); font: 400 17px/1.65 var(--kmi-font-sans); }
body.admin-bar .kmi-site-header { top: 32px; }
img { max-width: 100%; height: auto; }
a { color: var(--kmi-color-primary-dark); text-underline-offset: 0.18em; }
a:hover { color: var(--kmi-color-primary-hover); }
:focus-visible { outline: 3px solid var(--kmi-color-info-700); outline-offset: 3px; }
h1, h2, h3, h4 { line-height: 1.25; letter-spacing: -0.015em; }
h1 { font-size: clamp(2rem, 5vw, 2.5rem); }
h2 { font-size: clamp(1.625rem, 4vw, 1.875rem); }
h3 { font-size: clamp(1.375rem, 3vw, 1.5rem); }
p, ul, ol { margin-block: 0 1.15em; }

.kmi-container { width: min(100% - 32px, var(--kmi-container-default)); margin-inline: auto; }
.kmi-reading { width: min(100%, var(--kmi-container-reading)); }
.kmi-skip-link { position: fixed; z-index: 1000; left: 16px; top: 8px; padding: 10px 16px; color: #fff; background: var(--kmi-color-ink); transform: translateY(-150%); }
.kmi-skip-link:focus { transform: translateY(0); }
.kmi-site-header { position: sticky; z-index: 100; top: 0; border-bottom: var(--kmi-border-default); background: rgba(255,255,255,.98); }
.kmi-header-inner { min-height: 76px; display: flex; align-items: center; gap: 24px; }
.kmi-brand { display: inline-flex; align-items: center; color: var(--kmi-color-ink); font-weight: 700; text-decoration: none; }
.kmi-brand img { max-height: 48px; width: auto; }
.kmi-primary-nav { margin-left: auto; }
.kmi-primary-nav ul { display: flex; align-items: center; gap: 22px; padding: 0; margin: 0; list-style: none; }
.kmi-primary-nav a { color: var(--kmi-color-ink); font-weight: 600; text-decoration: none; }
.kmi-primary-nav .sub-menu { display: none; position: absolute; min-width: 240px; padding: 12px; border: var(--kmi-border-default); border-radius: var(--kmi-radius-md); background: #fff; box-shadow: var(--kmi-shadow-sm); }
.kmi-primary-nav li { position: relative; }
.kmi-primary-nav li:hover > .sub-menu, .kmi-primary-nav li:focus-within > .sub-menu { display: block; }
.kmi-mobile-tools { display: none; }
.kmi-menu-toggle { display: none; min-width: 44px; min-height: 44px; margin-left: auto; border: var(--kmi-border-default); border-radius: var(--kmi-radius-sm); background: #fff; font: inherit; }
.kmi-main { min-height: 55vh; }
.kmi-page-shell { padding-block: 48px 80px; }
.kmi-page-header { padding-block: 32px; background: var(--kmi-color-cream); border-bottom: var(--kmi-border-default); }
.kmi-entry-content > * { max-width: var(--kmi-container-reading); }
.kmi-entry-content > .alignwide { max-width: var(--kmi-container-default); }
.kmi-entry-content > .alignfull { max-width: none; }
.kmi-entry-content table { width: 100%; border-collapse: collapse; }
.kmi-entry-content th, .kmi-entry-content td { padding: 12px 14px; border: var(--kmi-border-default); text-align: start; }
.kmi-entry-content th { background: var(--kmi-color-neutral-75); }
.kmi-site-footer { padding-block: 48px 24px; color: #fff; background: var(--kmi-color-ink); }
.kmi-site-footer a { color: #fff; }
.kmi-footer-menu ul { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 0; list-style: none; }
.kmi-independent { max-width: 760px; color: #eae5e1; }
.kmi-search-form { display: flex; gap: 8px; max-width: 620px; }
.kmi-search-form label { flex: 1; }
.kmi-search-form input { width: 100%; min-height: 48px; padding-inline: 14px; border: 1px solid var(--kmi-color-neutral-250); border-radius: 10px; font: inherit; }
.kmi-button, .kmi-search-form button { min-height: 48px; padding-inline: 22px; border: 0; border-radius: var(--kmi-radius-md); color: #fff; background: var(--kmi-color-primary-dark); font: 600 1rem var(--kmi-font-sans); cursor: pointer; }
.kmi-button:hover, .kmi-search-form button:hover { background: var(--kmi-color-primary-hover); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.kmi-breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; color: var(--kmi-color-neutral-700); font-size: 15px; }
.kmi-breadcrumbs a { color: inherit; }
.kmi-elementor-breadcrumbs { padding-block: 24px 0; }
.kmi-post-summary + .kmi-post-summary { margin-top: 40px; padding-top: 32px; border-top: var(--kmi-border-default); }
.kmi-post-date { color: var(--kmi-color-neutral-700); font-size: 15px; }

@media (max-width: 1023px) {
  body.kmi-menu-open { overflow: hidden; }
  .kmi-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .kmi-primary-nav { display: none; position: absolute; inset: 76px 0 auto; max-height: calc(100vh - 76px); padding: 20px 16px; overflow-y: auto; overscroll-behavior: contain; border-bottom: var(--kmi-border-default); background: #fff; }
  .kmi-primary-nav.is-open { display: block; }
  .kmi-primary-nav ul { display: block; }
	.kmi-primary-nav .sub-menu { display: block; position: static; padding: 0 0 0 16px; border: 0; box-shadow: none; }
  .kmi-primary-nav li + li { margin-top: 8px; }
  .kmi-primary-nav a { display: block; min-height: 44px; padding: 9px 4px; }
	.kmi-mobile-tools { display: block; padding-top: 16px; border-top: var(--kmi-border-default); }
	.kmi-mobile-tools .kmi-search-form { margin-bottom: 12px; }
  .kmi-entry-content { overflow-wrap: anywhere; }
  .kmi-entry-content table { display: block; max-width: 100%; overflow-x: auto; }
}

@media (max-width: 782px) { body.admin-bar .kmi-site-header { top: 46px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }

@media print {
	.kmi-site-header, .kmi-site-footer, .kmi-skip-link, .kmi-search-form, .kmi-button { display: none !important; }
	body { color: #000; background: #fff; font-size: 12pt; }
	a { color: #000; text-decoration: underline; }
	.kmi-page-shell { padding-block: 0; }
}
