/**
 * Dr. Alka Vashishtha — Luxury Academic Brand System
 * Typography, contrast, section sizing — production ready
 */

:root {
  --alka-bg: #FAF8F4;
  --alka-primary: #4A302A;
  --alka-primary-dark: #3D2722;
  --alka-secondary: #83644B;
  --alka-accent: #B8893A;
  --alka-text: #2C2C2C;
  --alka-text-muted: #5C534C;
  --alka-border: #E8DFD6;
  --alka-card: #FFFFFF;
  --alka-cream: #F4EFE5;

  /* Light text on dark surfaces */
  --alka-on-dark: #FFFFFF;
  --alka-on-dark-muted: rgba(255, 255, 255, 0.82);
  --alka-on-dark-subtle: rgba(255, 255, 255, 0.65);

  --alka-font-heading: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --alka-font-subheading: "Libre Baskerville", Georgia, serif;
  --alka-font-body: "Source Sans 3", system-ui, -apple-system, sans-serif;
  --alka-font-hindi: "Noto Serif Devanagari", "Mangal", serif;

  /* Type scale */
  --alka-text-xs: 0.75rem;
  --alka-text-sm: 0.875rem;
  --alka-text-base: 1.0625rem;
  --alka-text-lg: 1.1875rem;
  --alka-h-section-label: 0.8125rem;
  --alka-h3: clamp(1.375rem, 2.2vw, 1.75rem);
  --alka-h2: clamp(1.75rem, 3vw, 2.625rem);
  --alka-h1: clamp(2.125rem, 4.5vw, 3.75rem);

  /* Section rhythm */
  --alka-section-y: clamp(3rem, 5vw, 4.75rem);
  --alka-section-x: clamp(1.25rem, 4vw, 2rem);
  --alka-content-max: 42rem;
  --alka-wide-max: 72rem;
  --alka-header-h: 72px;
}

/* ── Elementor global kit ── */
.elementor-kit-8 {
  --e-global-color-primary: var(--alka-primary);
  --e-global-color-secondary: var(--alka-secondary);
  --e-global-color-text: var(--alka-text);
  --e-global-color-accent: var(--alka-border);
  --e-global-color-870ef80: var(--alka-primary);
  --e-global-color-bf890a9: var(--alka-primary-dark);
  --e-global-color-b70a650: var(--alka-secondary);
  --e-global-color-f184fe1: #C4B5A8;
  --e-global-color-6dc5f57: var(--alka-bg);
  --e-global-color-1e38924: var(--alka-card);
  --e-global-color-5bd60dc: var(--alka-on-dark);
  --e-global-color-4e87b42: #02010100;
  --e-global-typography-primary-font-family: var(--alka-font-heading);
  --e-global-typography-5d11618-font-family: var(--alka-font-heading);
  --e-global-typography-c0c00e9-font-family: var(--alka-font-heading);
  --e-global-typography-973c7a1-font-family: var(--alka-font-heading);
  --e-global-typography-2a9a9cf-font-family: var(--alka-font-subheading);
  --e-global-typography-8e643e6-font-family: var(--alka-font-subheading);
  --e-global-typography-ed1c829-font-family: var(--alka-font-subheading);
  --e-global-typography-secondary-font-family: var(--alka-font-subheading);
  --e-global-typography-text-font-family: var(--alka-font-body);
  --e-global-typography-accent-font-family: var(--alka-font-body);
  --e-global-typography-63ff56c-font-family: var(--alka-font-body);
  --e-global-typography-dbc0204-font-family: var(--alka-font-body);
  --e-global-typography-0c74ed6-font-family: var(--alka-font-body);
  --e-global-typography-f12db44-font-family: var(--alka-font-body);
  --e-global-typography-text-font-size: var(--alka-text-base);
  --e-global-typography-text-line-height: 1.75em;
  background-color: var(--alka-bg) !important;
  background-image: none !important;
  color: var(--alka-text);
  font-size: var(--alka-text-base);
}

body {
  font-family: var(--alka-font-body);
  font-size: var(--alka-text-base);
  color: var(--alka-text);
  background-color: var(--alka-bg);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
  max-width: 100%;
  margin: 0;
}

/* Site logo image (transparent PNG) */
.alka-site-logo-link {
  display: inline-block;
  line-height: 0;
  text-decoration: none !important;
}

.alka-site-logo {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: left center;
  background: transparent !important;
}

header .hfe-site-logo img.alka-site-logo--header,
header .alka-site-logo--header {
  height: 56px !important;
  width: auto !important;
  max-width: min(190px, 44vw) !important;
  max-height: 56px !important;
}

.alka-site-logo--footer {
  height: 54px;
  max-width: 210px;
}

header .hfe-site-logo-container,
header .hfe-site-logo-set {
  display: inline-flex;
  align-items: center;
  background: transparent !important;
}

header .hfe-site-logo a.elementor-clickable {
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
  line-height: 0;
  background: transparent !important;
}

.elementor-27 .elementor-element.elementor-element-f4a48d3,
.elementor-27 .elementor-element.elementor-element-27ba3d8 {
  flex: 0 0 auto !important;
  max-width: min(180px, 44vw) !important;
  width: auto !important;
}

/* Text logo (fallback) */
.alka-text-logo {
  display: inline-flex;
  flex-direction: column;
  line-height: 1.2;
  text-decoration: none !important;
  font-family: var(--alka-font-heading);
  font-size: 1.35rem;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.alka-text-logo-name {
  display: block;
}

.alka-text-logo-tagline {
  display: block;
  font-family: var(--alka-font-body);
  font-size: 0.58em;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 0.15em;
  opacity: 0.85;
}

/* ── Base typography (light sections) ── */
.elementor-kit-8 h1,
.elementor-kit-8 h2,
.elementor-kit-8 h3,
.elementor-heading-title {
  font-family: var(--alka-font-heading);
  color: var(--alka-primary);
  font-weight: 500;
  letter-spacing: 0.01em;
}

.elementor-kit-8 h1,
.elementor-widget-heading h1.elementor-heading-title {
  font-size: var(--alka-h1) !important;
  line-height: 1.12 !important;
  letter-spacing: 0.015em;
}

.elementor-kit-8 h2,
.elementor-widget-heading h2.elementor-heading-title {
  font-size: var(--alka-h2) !important;
  line-height: 1.2 !important;
}

.elementor-kit-8 h3,
.elementor-widget-heading h3.elementor-heading-title {
  font-size: var(--alka-h3) !important;
  line-height: 1.25 !important;
}

.elementor-kit-8 h4,
.elementor-kit-8 h5,
.elementor-kit-8 h6 {
  font-family: var(--alka-font-subheading);
  color: var(--alka-primary);
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p {
  font-family: var(--alka-font-body);
  font-size: var(--alka-text-base);
  color: var(--alka-text);
  line-height: 1.75;
}

.elementor-widget-text-editor p {
  margin-block-end: 0.85em;
}

.elementor-widget-text-editor p:last-child {
  margin-block-end: 0;
}

/* Hindi / Devanagari in titles and book names */
.elementor-heading-title:lang(hi),
h1:has(+ *),
.entry-title a,
.lang-hindi,
.alka-expertise-list {
  font-family: var(--alka-font-hindi), var(--alka-font-heading);
}

/* Detect Devanagari in headings via unicode range fallback */
.elementor-heading-title {
  font-feature-settings: "kern" 1;
}

/* Section intro width */
.elementor-element-1efacc8,
.elementor-element-8ef98a6,
.elementor-element-89650e0,
.elementor-element-4c6d8c4,
.elementor-element-128d806,
.elementor-element-147f067 {
  max-width: var(--alka-content-max);
}

/* Section vertical padding (homepage — exclude hero & CTA) */
.elementor-66 > .e-con-boxed.e-parent:not(.elementor-element-cf86a20):not(.elementor-element-d871e3e) > .e-con-inner {
  padding-top: var(--alka-section-y) !important;
  padding-bottom: var(--alka-section-y) !important;
}

/* ── Section labels (small caps above titles) ── */
.alka-section-label .elementor-heading-title,
.elementor-element-411a66c .elementor-heading-title,
.elementor-element-1dea3ba .elementor-heading-title,
.elementor-element-28948b2 .elementor-heading-title,
.elementor-element-60ef279 .elementor-heading-title,
.elementor-element-cf0a80c .elementor-heading-title,
.elementor-element-06b9d95 .elementor-heading-title,
.elementor-element-9e0545c .elementor-heading-title,
.elementor-element-ac2ad59 .elementor-heading-title {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-h-section-label) !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--alka-accent) !important;
  line-height: 1.4 !important;
  margin-bottom: 0.75rem;
}

/* Secondary heading under label — slightly smaller than default h2 where paired */
.elementor-element-3656ef7 .elementor-heading-title,
.elementor-element-9b8b631 .elementor-heading-title,
.elementor-element-e958491 .elementor-heading-title,
.elementor-element-8f78139 .elementor-heading-title,
.elementor-element-8de4437 .elementor-heading-title,
.elementor-element-c53027d .elementor-heading-title,
.elementor-element-91ade18 .elementor-heading-title {
  font-size: clamp(1.5rem, 2.8vw, 2.25rem) !important;
  line-height: 1.25 !important;
  color: var(--alka-primary) !important;
}

.alka-expertise-list {
  margin-top: 1.25em;
  font-family: var(--alka-font-subheading);
  font-size: var(--alka-text-sm);
  color: var(--alka-secondary);
  line-height: 1.85;
}

/* ══════════════════════════════════════
   DARK SURFACES — contrast fixes
   ══════════════════════════════════════ */

/* ── HEADER ── */
header#masthead,
.ehf-header #masthead {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 100%;
  pointer-events: none;
}

header#masthead a,
header#masthead button {
  pointer-events: auto;
}

.elementor-27 .elementor-element.elementor-element-0d74e8a,
header#masthead .elementor-element-0d74e8a {
  background-color: rgba(61, 39, 34, 0.88) !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  min-height: var(--alka-header-h);
}

.elementor-27 .elementor-element.elementor-element-0d74e8a > .e-con-inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center !important;
  gap: 1rem 2rem;
  width: 100%;
  max-width: var(--alka-wide-max);
  min-height: var(--alka-header-h);
  margin-inline: auto;
  padding: 0.65rem var(--alka-section-x) !important;
  box-sizing: border-box;
}

.elementor-27 .elementor-element.elementor-element-f4a48d3 {
  width: auto !important;
  max-width: none !important;
  --width: auto !important;
  order: unset !important;
}

.elementor-27 .elementor-element.elementor-element-27ba3d8 {
  width: auto !important;
  max-width: none !important;
  --container-widget-width: auto !important;
}

.elementor-27 .elementor-element.elementor-element-27ba3d8 > .elementor-widget-container {
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-27 .elementor-element.elementor-element-9d68bac {
  width: auto !important;
  max-width: none !important;
  --width: auto !important;
  align-items: center !important;
  justify-content: flex-end !important;
  order: unset !important;
}

.elementor-27 .elementor-element.elementor-element-86c0157 {
  width: auto !important;
}

.elementor-27 .ekit-wid-con {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}

.elementor-27 .elementor-element.elementor-element-86c0157 .elementskit-menu-container {
  height: auto !important;
}

header .hfe-site-logo,
header .hfe-site-logo-container,
header .hfe-site-logo-set {
  display: block;
  line-height: 1;
}

header .alka-text-logo {
  display: inline-block;
  font-size: 1.15rem;
  line-height: 1.15;
  white-space: nowrap;
}

header .alka-text-logo-tagline {
  display: none;
}

header .alka-text-logo,
header .alka-text-logo-name {
  color: var(--alka-on-dark) !important;
}

/* Hero / banners: remove old -80px pull — header is fixed now */
.elementor-66 .elementor-element.elementor-element-cf86a20,
.elementor-element-12031c3,
.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget) {
  margin-top: 0 !important;
}

.elementor-element-cf86a20 > .e-con-inner {
  min-height: min(640px, 82vh) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  gap: 1.25rem !important;
  padding-top: calc(var(--alka-header-h) + 2rem) !important;
  padding-bottom: 2.5rem !important;
  box-sizing: border-box !important;
}

.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget) > .e-con-inner {
  padding-top: calc(var(--alka-header-h) + clamp(2rem, 4vw, 3rem)) !important;
  padding-bottom: clamp(2rem, 4vw, 3rem) !important;
}

/* Desktop nav */
@media (min-width: 1025px) {
  .elementor-27 button.elementskit-menu-hamburger {
    display: none !important;
  }

  .elementor-27 .elementskit-menu-container.elementskit-menu-offcanvas-elements {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    overflow: visible !important;
    box-shadow: none !important;
    padding: 0 !important;
    background: transparent !important;
    transform: none !important;
  }

  .elementor-27 .elementskit-menu-container {
    background-color: transparent !important;
    display: block !important;
  }

  .elementor-27 .elementskit-navbar-nav.elementskit-menu-po-center {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 0.1rem;
    margin: 0 !important;
  }

  .elementor-27 .elementskit-navbar-nav > li > a {
    white-space: nowrap;
    padding: 0.4rem 0.75rem !important;
    font-size: 0.8125rem !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
  }

  .elementor-27 .elementskit-menu-overlay {
    display: none !important;
  }
}

.elementor-27 .elementskit-navbar-nav > li > a,
.elementor-27 .elementskit-navbar-nav > li > a .elementskit-submenu-indicator {
  color: var(--alka-on-dark-muted) !important;
  fill: var(--alka-on-dark-muted) !important;
}

.elementor-27 .elementskit-navbar-nav > li > a:hover,
.elementor-27 .elementskit-navbar-nav > li > a:focus,
.elementor-27 .elementskit-navbar-nav > li.current-menu-item > a,
.elementor-27 .elementskit-navbar-nav > li > a.active {
  color: var(--alka-accent) !important;
}

.elementor-27 .elementskit-navbar-nav .elementskit-submenu-panel {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  box-shadow: 0 8px 24px rgba(74, 48, 34, 0.12) !important;
}

.elementor-27 .elementskit-navbar-nav .elementskit-submenu-panel > li > a {
  color: var(--alka-text) !important;
  background-color: transparent !important;
}

.elementor-27 .elementskit-navbar-nav .elementskit-submenu-panel > li > a:hover {
  color: var(--alka-primary) !important;
  background-color: var(--alka-cream) !important;
}

.elementor-27 button.elementskit-menu-hamburger {
  float: none !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

.elementor-27 button.elementskit-menu-hamburger > .ekit-menu-icon {
  color: var(--alka-on-dark) !important;
  font-size: 1.35rem !important;
}

.elementor-27 button.elementskit-menu-hamburger .elementskit-menu-hamburger-icon {
  background-color: var(--alka-on-dark) !important;
}

.elementor-27 button.elementskit-menu-close {
  color: var(--alka-primary) !important;
}

/* Mobile / tablet offcanvas */
@media (max-width: 1024px) {
  :root {
    --alka-header-h: 64px;
  }

  .elementor-27 .elementor-element.elementor-element-0d74e8a > .e-con-inner {
    grid-template-columns: 1fr auto;
    padding-inline: 1.15rem !important;
  }

  .elementor-27 .elementskit-menu-container {
    background-color: var(--alka-card) !important;
  }

  .elementor-27 .elementskit-navbar-nav > li > a {
    color: var(--alka-text) !important;
    font-size: var(--alka-text-sm) !important;
    padding: 12px 16px !important;
    text-transform: none !important;
  }

  .elementor-27 .elementskit-navbar-nav > li > a:hover,
  .elementor-27 .elementskit-navbar-nav > li > a.active {
    color: var(--alka-primary) !important;
  }

  .elementor-27 .elementskit-dropdown .dropdown-item {
    color: var(--alka-text-muted) !important;
  }
}

/* ── HERO (image visible + soft gradient overlay) ── */
.elementor-66 .elementor-element.elementor-element-cf86a20 {
  --overlay-opacity: 0.55;
}

.elementor-66 .elementor-element.elementor-element-cf86a20:not(.elementor-motion-effects-element-type-background),
.elementor-66 .elementor-element.elementor-element-cf86a20 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--alka-primary) !important;
  background-image: url("../images/alka/banner.png") !important;
  background-position: 55% center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.elementor-66 .elementor-element.elementor-element-cf86a20::before,
.elementor-66 .elementor-element.elementor-element-cf86a20 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  background-color: transparent !important;
  background-image: linear-gradient(
    105deg,
    rgba(61, 39, 34, 0.82) 0%,
    rgba(61, 39, 34, 0.45) 45%,
    rgba(61, 39, 34, 0.2) 100%
  ) !important;
  opacity: 1 !important;
}

.elementor-element-cf86a20 .elementor-heading-title,
.elementor-element-cf86a20 .elementor-widget-text-editor,
.elementor-element-cf86a20 .elementor-widget-text-editor p {
  color: var(--alka-on-dark) !important;
}

.elementor-element-cf86a20 .elementor-element-411a66c .elementor-heading-title {
  color: var(--alka-accent) !important;
  font-size: var(--alka-h-section-label) !important;
}

.elementor-element-cf86a20 .elementor-element-9bda25e .elementor-heading-title {
  color: var(--alka-on-dark) !important;
  font-size: var(--alka-h1) !important;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

.elementor-element-cf86a20 .elementor-element-1efacc8 p {
  color: var(--alka-on-dark-muted) !important;
  font-size: var(--alka-text-lg);
  max-width: 38rem;
}

.elementor-element-cf86a20 .elementor-element-3fb05a6 p {
  color: var(--alka-on-dark-subtle) !important;
  font-size: var(--alka-text-sm);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

/* Hero buttons on dark bg */
.elementor-element-cf86a20 .elementor-element-4b1dbf7 .elementor-button {
  background-color: var(--alka-on-dark) !important;
  color: var(--alka-primary) !important;
  border-color: var(--alka-on-dark) !important;
}

.elementor-element-cf86a20 .elementor-element-4b1dbf7 .elementor-button:hover {
  background-color: transparent !important;
  color: var(--alka-on-dark) !important;
  border-color: var(--alka-on-dark) !important;
}

.elementor-element-cf86a20 .elementor-element-2934452 .elementor-button,
.elementor-element-cf86a20 .elementor-element-alka-contact .elementor-button {
  background-color: transparent !important;
  color: var(--alka-on-dark) !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
}

.elementor-element-cf86a20 .elementor-element-2934452 .elementor-button:hover,
.elementor-element-cf86a20 .elementor-element-alka-contact .elementor-button:hover {
  background-color: var(--alka-on-dark) !important;
  color: var(--alka-primary) !important;
  border-color: var(--alka-on-dark) !important;
}

.elementor-element-b6d7599 {
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 0.5rem;
}

/* ── CTA band (dark brown) ── */
.elementor-66 .elementor-element.elementor-element-d871e3e:not(.elementor-motion-effects-element-type-background),
.elementor-66 .elementor-element.elementor-element-d871e3e > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.elementor-element-d871e3e {
  background-color: var(--alka-primary-dark) !important;
}

.elementor-element-d871e3e .elementor-heading-title,
.elementor-element-d871e3e .elementor-widget-text-editor,
.elementor-element-d871e3e .elementor-widget-text-editor p {
  color: var(--alka-on-dark) !important;
}

.elementor-element-d871e3e .elementor-element-9e0545c .elementor-heading-title {
  color: var(--alka-accent) !important;
}

.elementor-element-d871e3e .elementor-element-8de4437 .elementor-heading-title {
  color: var(--alka-on-dark) !important;
}

.elementor-element-d871e3e .elementor-element-147f067 p {
  color: var(--alka-on-dark-muted) !important;
}

.elementor-element-d871e3e .elementor-element-b658620 .elementor-button {
  background-color: var(--alka-on-dark) !important;
  color: var(--alka-primary) !important;
  border-color: var(--alka-on-dark) !important;
}

.elementor-element-d871e3e .elementor-element-f21b0a2 .elementor-button {
  background-color: transparent !important;
  color: var(--alka-on-dark) !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.elementor-element-d871e3e .elementor-element-b658620 .elementor-button:hover {
  background-color: var(--alka-accent) !important;
  color: var(--alka-on-dark) !important;
  border-color: var(--alka-accent) !important;
}

.elementor-element-d871e3e .elementor-element-f21b0a2 .elementor-button:hover {
  background-color: var(--alka-on-dark) !important;
  color: var(--alka-primary) !important;
}

/* ── FOOTER (dark) ── */
.elementor-34 .elementor-element.elementor-element-5d73471,
footer .elementor-element-5d73471 {
  background-color: var(--alka-primary) !important;
  --padding-bottom: 1.5rem !important;
  padding-bottom: 1.5rem !important;
}

.elementor-34 .elementor-heading-title,
.elementor-34 h2.elementor-heading-title {
  color: var(--alka-on-dark) !important;
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-sm) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.elementor-34 .elementor-widget-text-editor,
.elementor-34 .elementor-widget-text-editor p,
.elementor-34 .elementor-icon-list-text,
.elementor-34 .elementor-icon-list-item a,
.elementor-34 .elementor-element-b0869dc,
.elementor-34 .elementor-element-b0869dc p {
  color: var(--alka-on-dark-muted) !important;
  font-size: var(--alka-text-sm);
  line-height: 1.7;
}

.elementor-34 .elementor-icon-list-item a:hover .elementor-icon-list-text {
  color: var(--alka-accent) !important;
}

.elementor-34 .alka-text-logo,
.elementor-34 .alka-text-logo-name {
  color: var(--alka-on-dark) !important;
}

.elementor-34 .elementor-element.elementor-element-4108940 {
  width: auto !important;
  max-width: 200px !important;
  --container-widget-width: auto !important;
  flex: 0 0 auto !important;
}

.elementor-34 .elementskit-btn {
  color: var(--alka-on-dark-muted) !important;
}

.elementor-34 .elementskit-btn:hover {
  color: var(--alka-accent) !important;
}

.elementor-34 .elementor-social-icon {
  background-color: rgba(255, 255, 255, 0.12) !important;
}

.elementor-34 .elementor-social-icon i,
.elementor-34 .elementor-social-icon svg {
  color: var(--alka-on-dark) !important;
  fill: var(--alka-on-dark) !important;
}

.elementor-34 .elementor-social-icon:hover {
  background-color: var(--alka-accent) !important;
}

.elementor-34 .elementor-divider-separator {
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.elementor-34 em.lang-hindi {
  color: var(--alka-on-dark-subtle) !important;
  font-family: var(--alka-font-hindi);
  font-style: normal;
}

/* ══════════════════════════════════════
   LIGHT SECTIONS
   ══════════════════════════════════════ */

/* Alternating soft section backgrounds */
.elementor-element-78c4087,
.elementor-element-05ceb46,
.elementor-element-964aaa2 {
  background-color: var(--alka-cream) !important;
}

.elementor-element-d21ad5f,
.elementor-element-1e7bf69,
.elementor-element-050a1fe {
  background-color: var(--alka-bg) !important;
}

/* Stats / legacy cards */
.elementor-element-95e5122,
.elementor-element-3b0cf74 {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
  padding: 1.75rem 1.5rem !important;
}

.elementor-counter-number {
  font-family: var(--alka-font-heading) !important;
  font-size: clamp(2.5rem, 4vw, 3.25rem) !important;
  color: var(--alka-accent) !important;
  font-weight: 600;
  line-height: 1;
}

.elementor-counter-title {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-xs) !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--alka-secondary) !important;
  margin-top: 0.5rem;
}

.elementor-element-4e4dd7f p,
.elementor-element-3a3040c p,
.elementor-element-8c16209 p {
  font-size: var(--alka-text-sm);
  color: var(--alka-text-muted);
  line-height: 1.65;
}

/* Book cards */
.elementor-element-a1e0775,
.elementor-element-5990aad,
.elementor-element-aa8e1d0,
.elementor-element-57d60a5,
.elementor-element-d68afd5,
.elementor-element-96f20ee {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
  overflow: hidden;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}

.elementor-element-a1e0775:hover,
.elementor-element-5990aad:hover,
.elementor-element-aa8e1d0:hover,
.elementor-element-57d60a5:hover,
.elementor-element-d68afd5:hover,
.elementor-element-96f20ee:hover {
  border-color: var(--alka-accent) !important;
  box-shadow: 0 4px 24px rgba(74, 48, 42, 0.07);
}

.elementor-element-77a557b p,
.elementor-element-fb63927 p,
.elementor-element-c4c5265 p,
.elementor-element-3b2bbb8 p,
.elementor-element-79709f5 p,
.elementor-element-1b38f87 p {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-xs) !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--alka-accent) !important;
  font-weight: 400;
}

/* Book card titles — Hindi */
.elementor-element-42747d9 .elementor-heading-title,
.elementor-element-e473049 .elementor-heading-title,
.elementor-element-49969f8 .elementor-heading-title,
.elementor-element-bc1ab36 .elementor-heading-title,
.elementor-element-32be9c7 .elementor-heading-title,
.elementor-element-f434c6c .elementor-heading-title {
  font-family: var(--alka-font-hindi), var(--alka-font-heading) !important;
  font-size: clamp(1.125rem, 1.8vw, 1.375rem) !important;
  line-height: 1.35 !important;
  color: var(--alka-primary) !important;
}

.elementor-element-eabec2b p,
.elementor-element-1fe754e p,
.elementor-element-a06a81d p,
.elementor-element-e2b1cdc p,
.elementor-element-375a5b4 p,
.elementor-element-5c5de0f p {
  font-size: var(--alka-text-sm);
  color: var(--alka-text-muted);
  line-height: 1.65;
}

/* Academic journey event cards */
.elementor-element-b4438a9,
.elementor-element-1c4d991,
.elementor-element-13ab878 {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
}

.elementor-element-021dd68 .elementor-heading-title,
.elementor-element-9495d0e .elementor-heading-title,
.elementor-element-090a2e5 .elementor-heading-title {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-lg) !important;
  color: var(--alka-primary) !important;
}

.elementor-element-e9cdbc5 p,
.elementor-element-d9553c6 p,
.elementor-element-2c6c1e1 p {
  font-size: var(--alka-text-sm);
  color: var(--alka-text-muted);
}

.elementor-icon-list-text {
  font-size: var(--alka-text-sm) !important;
  color: var(--alka-text-muted) !important;
}

/* Testimonials */
.elementskit-single-testimonial-slider {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
  padding: 1.5rem !important;
}

.elementskit-commentor-content p {
  font-size: var(--alka-text-base);
  color: var(--alka-text);
  line-height: 1.75;
  font-style: italic;
}

.elementskit-author-name {
  font-family: var(--alka-font-subheading) !important;
  color: var(--alka-primary) !important;
  font-size: var(--alka-text-sm) !important;
}

.elementskit-author-des {
  font-family: var(--alka-font-body) !important;
  color: var(--alka-secondary) !important;
  font-size: var(--alka-text-xs) !important;
}

.elementskit-stars svg {
  fill: var(--alka-accent) !important;
}

/* FAQ accordion */
.elementskit-card {
  background-color: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
  margin-bottom: 0.75rem !important;
}

.ekit-accordion-title {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-base) !important;
  color: var(--alka-primary) !important;
  font-weight: 400;
  padding: 1rem 0 !important;
}

.elementskit-card-body p {
  color: var(--alka-text-muted);
  font-size: var(--alka-text-sm);
  line-height: 1.75;
}

/* Blog / article cards on homepage */
.elementskit-post-body .entry-title a {
  font-family: var(--alka-font-hindi), var(--alka-font-heading) !important;
  font-size: clamp(1.125rem, 1.6vw, 1.3rem) !important;
  color: var(--alka-primary) !important;
  line-height: 1.35;
}

.elementskit-post-body p {
  font-size: var(--alka-text-sm);
  color: var(--alka-text-muted);
}

.post-meta-list,
.meta-date-text {
  font-size: var(--alka-text-xs) !important;
  color: var(--alka-secondary) !important;
}

.post-cat a {
  font-size: var(--alka-text-xs) !important;
  color: var(--alka-accent) !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* ── Buttons (default light sections) ── */
.elementor-kit-8 .elementor-button,
.elementor-kit-8 button[type="submit"] {
  background-color: var(--alka-primary) !important;
  color: var(--alka-on-dark) !important;
  font-family: var(--alka-font-body) !important;
  font-weight: 600;
  font-size: var(--alka-text-xs) !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.8rem 1.6rem !important;
  border-radius: 2px !important;
  border: 1px solid var(--alka-primary) !important;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.elementor-kit-8 .elementor-button:hover,
.elementor-kit-8 .elementor-button:focus {
  background-color: var(--alka-primary-dark) !important;
  color: var(--alka-on-dark) !important;
  border-color: var(--alka-primary-dark) !important;
}

/* Outline buttons in light sections */
.elementor-element-d2a4c8f .elementor-button,
.elementor-element-c7c821d .elementor-button,
.elementor-element-d242edd .elementor-button,
.elementor-element-0024978 .elementor-button {
  background-color: var(--alka-primary) !important;
  color: var(--alka-on-dark) !important;
}

/* Book detail arrow buttons */
.elementor-button .elementor-button-icon i {
  font-size: 0.75em;
}

/* ── Forms ── */
.elementor-kit-8 input:not([type="button"]):not([type="submit"]),
.elementor-kit-8 textarea,
.elementor-kit-8 .elementor-field-textual,
.mf-input {
  border: 1px solid var(--alka-border) !important;
  border-radius: 2px !important;
  font-family: var(--alka-font-body) !important;
  font-size: var(--alka-text-sm) !important;
  color: var(--alka-text) !important;
  background: var(--alka-card) !important;
  padding: 0.75rem 1rem !important;
}

.elementor-kit-8 input:focus,
.elementor-kit-8 textarea:focus {
  border-color: var(--alka-accent) !important;
  outline: none;
  box-shadow: 0 0 0 2px rgba(184, 137, 58, 0.15);
}

.elementor-kit-8 label,
.mf-label {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-xs) !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--alka-secondary) !important;
}

/* Footer newsletter on dark bg */
.elementor-34 input[type="email"],
.elementor-34 .mf-input {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  color: var(--alka-on-dark) !important;
}

.elementor-34 input[type="email"]::placeholder {
  color: var(--alka-on-dark-subtle) !important;
}

/* ── Links ── */
.elementor-kit-8 a:not(.elementor-button):not(.ekit-menu-nav-link):not(.dropdown-item) {
  color: var(--alka-primary);
}

.elementor-kit-8 a:not(.elementor-button):hover {
  color: var(--alka-accent);
}

/* ── Breadcrumbs (inner pages) ── */
.hfe-breadcrumbs-text {
  font-size: var(--alka-text-sm);
  color: var(--alka-text-muted);
}

.hfe-breadcrumbs-item a .hfe-breadcrumbs-text {
  color: var(--alka-secondary);
}

/* ── Publisher logos strip ── */
.elementskit-client-slider .single-client img {
  opacity: 0.5;
  filter: grayscale(100%) brightness(1.1);
}

.elementor-element-cf86a20 .elementskit-client-slider .single-client img {
  opacity: 0.7;
  filter: grayscale(100%) brightness(2);
}

/* ══════════════════════════════════════
   INNER PAGES — banners & layout
   ══════════════════════════════════════ */

/* Page banners — keep photo visible, soft overlay only */
.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget) {
  --overlay-opacity: 0.45;
}

.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget):not(.elementor-motion-effects-element-type-background),
.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget) > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--alka-primary) !important;
  background-image: url("../images/alka/banner.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

.e-con.e-parent:has(> .e-con-inner > .elementor-widget-hfe-breadcrumbs-widget)::before {
  background-color: var(--alka-primary-dark) !important;
  background-image: none !important;
  opacity: 0.45 !important;
}

.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) .elementor-heading-title,
.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) h1.elementor-heading-title {
  color: var(--alka-on-dark) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.15 !important;
}

.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) .hfe-breadcrumbs-text,
.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) .hfe-breadcrumbs-item a .hfe-breadcrumbs-text {
  color: var(--alka-on-dark-muted) !important;
  font-size: var(--alka-text-sm);
}

.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) .hfe-breadcrumbs-item:last-child .hfe-breadcrumbs-text {
  color: var(--alka-on-dark) !important;
}

.e-con.e-parent:has(.elementor-widget-hfe-breadcrumbs-widget) .hfe-breadcrumbs-separator-icon svg {
  fill: var(--alka-on-dark-subtle) !important;
}

/* Inner page content sections spacing */
[class*="elementor-"]:not(.elementor-66):not(.elementor-27):not(.elementor-34) .e-con-boxed.e-parent:not(:has(.elementor-widget-hfe-breadcrumbs-widget)) > .e-con-inner {
  padding-top: var(--alka-section-y);
  padding-bottom: var(--alka-section-y);
}

/* 404 full-screen dark hero */
.elementor-element-12031c3:not(.elementor-motion-effects-element-type-background),
.elementor-element-12031c3 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: var(--alka-primary) !important;
  background-image: url("../images/alka/office-desk.png") !important;
  background-size: cover !important;
  background-position: center center !important;
}

.elementor-element-12031c3 .elementor-heading-title,
.elementor-element-12031c3 .elementor-widget-text-editor,
.elementor-element-12031c3 .elementor-widget-text-editor p {
  color: var(--alka-on-dark) !important;
}

.elementor-element-12031c3::before {
  background-color: var(--alka-primary-dark) !important;
  opacity: 0.5 !important;
}

/* Contact icon boxes & inner page cards */
.elementor-icon-box-title {
  font-family: var(--alka-font-subheading) !important;
  font-size: var(--alka-text-base) !important;
  color: var(--alka-primary) !important;
}

.elementor-icon-box-description {
  font-size: var(--alka-text-sm) !important;
  color: var(--alka-text-muted) !important;
  line-height: 1.65;
}

/* Blog listing / article single content */
.elementor-widget-theme-post-content,
.elementor-widget-theme-post-content p {
  font-size: var(--alka-text-base);
  color: var(--alka-text);
  line-height: 1.8;
  max-width: var(--alka-content-max);
}

.elementor-widget-theme-post-content h2,
.elementor-widget-theme-post-content h3 {
  font-family: var(--alka-font-heading);
  color: var(--alka-primary);
  margin-top: 1.75em;
  margin-bottom: 0.65em;
}

.elementor-widget-theme-post-content h2 {
  font-size: var(--alka-h3);
}

/* Book detail page */
.elementor-widget-rating .elementor-star-rating {
  color: var(--alka-accent) !important;
}

/* ── Hide book star ratings ── */
.elementor-element-733ff54,
.elementor-element-7ab5858,
.elementor-element-aae7f9c,
.elementor-element-8d028eb,
.elementor-element-a35d46c,
.elementor-element-85b7da4 {
  display: none !important;
}

/* ── Accessibility ── */
.hfe-skip-link:focus {
  background: var(--alka-card);
  color: var(--alka-primary);
  outline: 2px solid var(--alka-accent);
}

:focus-visible {
  outline: 2px solid var(--alka-accent);
  outline-offset: 2px;
}

html {
  scroll-behavior: smooth;
  overflow-x: clip;
  max-width: 100%;
}

.elementor-66,
.elementor-27,
.elementor-34,
footer#colophon,
.footer-width-fixer {
  max-width: 100%;
  box-sizing: border-box;
}

img[loading="lazy"] {
  background-color: var(--alka-border);
}

/* ── Responsive type & spacing ── */
@media (max-width: 767px) {
  :root {
    --alka-text-base: 1rem;
    --alka-section-y: 3.25rem;
  }

  .elementor-element-cf86a20 .elementor-element-1efacc8 p {
    font-size: var(--alka-text-base);
  }

  .alka-text-logo {
    font-size: 1.15rem;
    white-space: normal;
  }

  .alka-text-logo-tagline {
    font-size: 0.6em;
    letter-spacing: 0.08em;
  }

  .elementor-element-b6d7599 .elementor-button {
    width: 100%;
    justify-content: center;
  }
}

@media (min-width: 1200px) {
  .e-con-boxed > .e-con-inner {
    max-width: var(--alka-wide-max);
  }
}


/* ── Dr. Alka original photos — no stretch / no compress ── */
.alka-about-photo,
.alka-portrait-img,
.alka-footer-portrait {
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: contain;
  object-position: center center;
  border-radius: 3px;
  display: block;
}

.elementor-element-a6e4489,
.elementor-element-bba2181,
.elementor-element-3caa1a8 {
  background: var(--alka-cream) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 3px;
  border: 1px solid var(--alka-border);
  min-height: unset;
}

.elementor-element-a6e4489 .elementor-widget-container,
.elementor-element-bba2181 .elementor-widget-container,
.elementor-element-alka-contact-img .elementor-widget-container {
  width: 100%;
  line-height: 0;
}

.elementor-element-a6e4489 .alka-about-photo,
.elementor-element-bba2181 .alka-about-photo {
  min-height: unset;
}

.alka-book-cover {
  width: 100%;
  height: auto;
  max-height: 220px;
  aspect-ratio: 3 / 4;
  object-fit: contain;
  object-position: center center;
  display: block;
  background: var(--alka-cream);
  padding: 0.5rem;
  border-radius: 3px 3px 0 0;
  box-sizing: border-box;
}

.elementor-element-25fc2e4,
.elementor-element-6b949fb,
.elementor-element-3cde524,
.elementor-element-34340d1,
.elementor-element-ca0a322,
.elementor-element-be3f6cd,
.elementor-element-e122ff6,
.elementor-element-aea6bcb,
.elementor-element-d00a3a3,
.elementor-element-4064341,
.elementor-element-07e7856,
.elementor-element-9b89069 {
  overflow: hidden;
  min-height: unset;
  background: var(--alka-cream) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.elementor-element-alka-about-img,
.elementor-element-alka-about-page-img,
.elementor-element-alka-contact-img {
  width: 100%;
}

.alka-footer-portrait {
  max-width: 180px;
  margin-inline: auto;
}

.elementskit-testimonial-slider .elementskit-commentor-image img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  object-position: center top;
  border-radius: 50%;
}

.alka-article-banner img {
  width: 100%;
  height: auto;
  max-height: 28rem;
  object-fit: contain;
  object-position: center center;
  display: block;
  background: var(--alka-cream);
}


.alka-resume-scan {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 3px;
  border: 1px solid var(--alka-border);
}

/* Homepage article card thumbnails */
.elementskit-entry-thumb {
  background: var(--alka-cream);
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.elementskit-entry-thumb img,
.elementskit-entry-thumb img.alka-portrait-img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* Category archive thumbnails */
.wp-post-image.alka-blog-thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center center;
  border-radius: 3px;
  display: block;
  margin-bottom: 1rem;
}

/* Publisher association badges */
.alka-publisher-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.75rem;
  align-items: center;
  justify-content: flex-start;
}

/* Language switcher */
.alka-lang-switch .alka-lang-link {
  font-family: var(--alka-font-hindi) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid rgba(196, 181, 168, 0.45);
  border-radius: 4px;
  padding: 0.25rem 0.65rem !important;
  margin-left: 0.35rem;
}

.alka-lang-switch .alka-lang-link:hover,
.alka-lang-switch .alka-lang-link.active {
  border-color: var(--alka-accent);
  color: var(--alka-accent) !important;
}

/* Hindi locale typography */
html[lang="hi"] body,
html[lang="hi"] .elementor-heading-title,
html[lang="hi"] .elementor-widget-text-editor,
html[lang="hi"] .ekit-accordion-title,
html[lang="hi"] .elementor-icon-list-text,
html[lang="hi"] .elementor-button-text,
html[lang="hi"] .hfe-breadcrumbs-text {
  font-family: var(--alka-font-hindi);
}

html[lang="hi"] .elementor-kit-8 {
  --e-global-typography-primary-font-family: var(--alka-font-hindi);
  --e-global-typography-text-font-family: var(--alka-font-hindi);
  --e-global-typography-63ff56c-font-family: var(--alka-font-hindi);
}

.alka-publisher-badge {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  font-family: var(--alka-font-body);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--alka-on-dark-muted);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.06);
  white-space: nowrap;
}

/* ══════════════════════════════════════
   HOMEPAGE POLISH — spacing, alignment, no stretch
   ══════════════════════════════════════ */

/* Override Elementor post-66 excessive hero / CTA heights */
.elementor-66 .elementor-element.elementor-element-cf86a20 {
  --min-height: auto !important;
  --margin-top: 0 !important;
  --padding-top: 0 !important;
  --padding-bottom: 0 !important;
  min-height: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.elementor-66 .elementor-element.elementor-element-d871e3e {
  --min-height: auto !important;
  min-height: 0 !important;
}

.elementor-66 .elementor-element.elementor-element-d871e3e > .e-con-inner {
  padding-top: clamp(3rem, 5vw, 4.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.5rem) !important;
}

/* Hero publisher strip */
.elementor-66 .elementor-element.elementor-element-63cf611 {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;
  width: 100% !important;
}

.elementor-66 .elementor-element.elementor-element-3fb05a6 p {
  margin: 0 !important;
}

/* Tighten default widget gaps on homepage */
.elementor-66 .elementor-widget {
  --kit-widget-spacing: 0px;
  margin-block-end: 0 !important;
}

.elementor-66 .elementor-widget-heading + .elementor-widget-heading {
  margin-top: 0.4rem !important;
}

.elementor-66 .elementor-widget-heading + .elementor-widget-text-editor {
  margin-top: 0.85rem !important;
}

/* Section intro rows */
.elementor-66 .elementor-element-2fb2e71,
.elementor-66 .elementor-element-b6fd4c9,
.elementor-66 .elementor-element-31b02ec {
  margin-bottom: 1.5rem !important;
  gap: 0.75rem !important;
  align-items: flex-end !important;
}

/* About row */
.elementor-66 .elementor-element.elementor-element-91f152a {
  align-items: stretch !important;
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

.elementor-66 .elementor-element.elementor-element-1aba920 {
  justify-content: center !important;
}

.elementor-66 .elementor-element-a6e4489 .alka-about-photo {
  max-height: 400px;
  width: 100%;
  object-fit: cover;
  object-position: center 15%;
}

/* Stats cards row */
.elementor-66 .elementor-element.elementor-element-497bbbf {
  gap: 1rem !important;
  margin-top: 1.25rem !important;
  align-items: stretch !important;
}

.elementor-66 .elementor-element-95e5122,
.elementor-66 .elementor-element-3b0cf74,
.elementor-66 .elementor-element-64d5288 {
  flex: 1 1 0 !important;
  min-width: 0 !important;
}

/* Featured books grid */
.elementor-66 .elementor-element.elementor-element-9aeb184 {
  --grid-row-gap: 1.25rem !important;
  --grid-column-gap: 1.25rem !important;
  --e-con-grid-template-rows: auto !important;
  align-items: stretch !important;
}

.elementor-66 .elementor-element-9aeb184 > .e-con.e-child {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
}

.elementor-66 .elementor-element-9aeb184 > .e-con.e-child > .e-con.e-child:nth-child(2) {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0.85rem 1rem 1rem !important;
  gap: 0.35rem !important;
}

.elementor-66 .elementor-element-9aeb184 > .e-con.e-child > .e-con.e-child:nth-child(2) > .e-con.e-child:last-child {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

.elementor-66 .elementor-element-9aeb184 .elementor-widget-button {
  margin-top: auto !important;
  padding-top: 0.65rem !important;
}

.elementor-66 .elementor-element-9aeb184 .elementor-button {
  width: 100%;
  justify-content: center;
}

/* Academic journey cards — hide empty spacer columns */
.elementor-element-b1edef7:empty,
.elementor-element-a37f547:empty,
.elementor-element-6f4eb8f:empty,
.elementor-element-e80ef91:empty,
.elementor-element-6b35dfe:empty,
.elementor-element-faeb1a4:empty {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.elementor-66 .elementor-element-b4438a9,
.elementor-66 .elementor-element-1c4d991,
.elementor-66 .elementor-element-13ab878 {
  padding: 1.25rem 1.35rem !important;
  gap: 0.75rem !important;
  align-items: center !important;
}

.elementor-66 .elementor-element-b4438a9 .elementor-icon-list-item,
.elementor-66 .elementor-element-1c4d991 .elementor-icon-list-item,
.elementor-66 .elementor-element-13ab878 .elementor-icon-list-item {
  align-items: flex-start !important;
}

/* Testimonials equal height */
.elementor-66 .elementskit-testimonial-slider .swiper-slide,
.elementor-66 .elementskit-testimonial-slider .swiper-slide-inner {
  height: auto !important;
}

.elementor-66 .elementskit-single-testimonial-slider {
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

.elementor-66 .elementskit-commentor-content {
  flex: 1 1 auto !important;
}

.elementor-66 .elementskit-commentor-content p {
  margin-bottom: 0 !important;
}

/* FAQ section */
.elementor-66 .elementor-element.elementor-element-050a1fe {
  --gap: 2rem 2rem !important;
  --row-gap: 2rem !important;
  --column-gap: 2rem !important;
  align-items: flex-start !important;
}

.elementor-66 .elementor-element.elementor-element-68db8b5 {
  gap: 0.5rem !important;
}

.elementor-66 .elementor-element-128d806 p {
  color: var(--alka-text-muted) !important;
  margin: 0 !important;
  line-height: 1.65 !important;
}

.elementor-66 .elementor-element.elementor-element-7cfa435 {
  gap: 0 !important;
}

.elementor-66 .elementskit-accordion {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.elementor-66 .elementskit-card {
  margin-bottom: 0 !important;
}

.elementor-66 .elementskit-card-header {
  padding: 0 !important;
}

.elementor-66 .ekit-accordion--toggler {
  padding: 0.85rem 1rem !important;
  color: var(--alka-primary) !important;
  text-decoration: none !important;
}

.elementor-66 .ekit-accordion-title {
  color: var(--alka-primary) !important;
  font-size: var(--alka-text-sm) !important;
  line-height: 1.45 !important;
  padding: 0 !important;
}

.elementor-66 .elementskit-card-body.ekit-accordion--content {
  padding: 0 1rem 1rem !important;
}

.elementor-66 .elementskit-card-body p {
  margin: 0 !important;
  color: var(--alka-text-muted) !important;
}

/* Blog cards on homepage */
.elementor-66 .elementskit-post-image-card {
  background: var(--alka-card) !important;
  border: 1px solid var(--alka-border) !important;
  border-radius: 3px !important;
  overflow: hidden;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.elementor-66 .elementskit-post-body {
  padding: 1rem 1.1rem 1.15rem !important;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
}

.elementor-66 .elementskit-post-body .entry-title {
  margin: 0 !important;
}

.elementor-66 .elementskit-post-body p {
  margin: 0 !important;
  flex: 1 1 auto;
}

.elementor-66 .post-meta-list {
  margin-bottom: 0 !important;
}

.elementor-66 #post-items--b9a7e33 {
  row-gap: 1.25rem !important;
}

/* Footer breathing room */
.elementor-34 .elementor-element.elementor-element-5d73471 > .e-con-inner {
  gap: 2rem !important;
  padding-bottom: 0 !important;
}

.elementor-34 .elementor-element.elementor-element-c92a220 {
  gap: 1.5rem !important;
}

/* Hindi text readability */
.lang-hindi,
.elementor-heading-title:lang(hi),
.elementskit-post-body .entry-title a {
  font-family: var(--alka-font-hindi), var(--alka-font-heading) !important;
}

@media (max-width: 1024px) {
  .elementor-element-cf86a20 > .e-con-inner {
    min-height: min(560px, 78vh) !important;
    padding-top: calc(var(--alka-header-h) + 1.5rem) !important;
    padding-left: var(--alka-section-x) !important;
    padding-right: var(--alka-section-x) !important;
    box-sizing: border-box !important;
  }

  .elementor-66 .elementor-element.elementor-element-ac80f6c {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
  }

  .elementor-66 .elementor-element.elementor-element-050a1fe {
    --gap: 1.5rem 1.5rem !important;
    --row-gap: 1.5rem !important;
    flex-direction: column !important;
  }

  .elementor-66 .elementor-element.elementor-element-9aeb184 {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  :root {
    --alka-section-y: 2.75rem;
    --alka-section-x: 1.15rem;
    --alka-header-h: 60px;
  }

  /* Elementor post-66 mobile hero overrides */
  .elementor-66 .elementor-element.elementor-element-cf86a20 {
    --margin-top: 0 !important;
    --padding-top: 0 !important;
    --padding-bottom: 0 !important;
    --padding-left: 0 !important;
    --padding-right: 0 !important;
    --align-items: stretch !important;
    margin-top: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element-cf86a20 > .e-con-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: min(520px, 88svh) !important;
    padding: calc(var(--alka-header-h) + 1rem) var(--alka-section-x) 1.5rem !important;
    gap: 0.85rem !important;
    box-sizing: border-box !important;
  }

  .elementor-66 .elementor-element.elementor-element-ac80f6c,
  .elementor-66 .elementor-element.elementor-element-63cf611 {
    width: 100% !important;
    max-width: 100% !important;
    --width: 100% !important;
    align-items: flex-start !important;
    --align-items: flex-start !important;
  }

  .elementor-element-cf86a20 .elementor-element-411a66c,
  .elementor-element-cf86a20 .elementor-element-9bda25e,
  .elementor-element-cf86a20 .elementor-element-1efacc8 {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element-cf86a20 .elementor-element-9bda25e .elementor-heading-title {
    font-size: clamp(1.6rem, 7.2vw, 2.1rem) !important;
    line-height: 1.18 !important;
  }

  .elementor-element-cf86a20 .elementor-element-411a66c .elementor-heading-title {
    font-size: 0.68rem !important;
    letter-spacing: 0.09em !important;
    line-height: 1.55 !important;
  }

  .elementor-element-cf86a20 .elementor-element-1efacc8 p {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
  }

  .elementor-66 .elementor-element.elementor-element-b6d7599 {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    gap: 0.6rem !important;
    margin-top: 0.25rem !important;
  }

  .elementor-66 .elementor-element-b6d7599 .elementor-widget-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-element-cf86a20 .elementor-element-b6d7599 .elementor-button {
    width: 100%;
    justify-content: center;
  }

  .elementor-66 .elementor-element.elementor-element-63cf611 {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem !important;
    padding-top: 0.5rem !important;
  }

  .elementor-66 .elementor-element.elementor-element-3fb05a6 {
    text-align: left !important;
    width: 100% !important;
  }

  .alka-publisher-badges {
    width: 100%;
    justify-content: flex-start;
  }

  .elementor-66 > .e-con-boxed.e-parent > .e-con-inner {
    padding-left: var(--alka-section-x) !important;
    padding-right: var(--alka-section-x) !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .elementor-66 .e-con.e-child,
  .elementor-66 .e-con.e-parent {
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Blog cards — single column */
  .elementor-66 #post-items--b9a7e33 .ekit-col-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-66 .ekit-row.post-items {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .elementor-66 .elementskit-testimonial-slider,
  .elementor-66 .ekit-main-swiper,
  .elementor-66 .elementskit-testimonial-slider .swiper {
    overflow: hidden !important;
    max-width: 100% !important;
  }

  .elementor-66 .elementor-element.elementor-element-9aeb184 {
    --e-con-grid-template-columns: 1fr !important;
  }

  .elementor-66 .elementor-element.elementor-element-497bbbf {
    flex-direction: column !important;
  }

  header .hfe-site-logo img.alka-site-logo--header,
  header .alka-site-logo--header {
    height: 48px !important;
    max-width: min(168px, 56vw) !important;
    max-height: 48px !important;
  }

  .elementor-27 .elementor-element.elementor-element-0d74e8a > .e-con-inner {
    padding-inline: 1rem !important;
    gap: 0.75rem !important;
  }

  /* Footer — tighter bottom spacing */
  .elementor-34 .elementor-element.elementor-element-5d73471 {
    --padding-top: 2.5rem !important;
    --padding-bottom: 0.85rem !important;
    --gap: 1.5rem 1.5rem !important;
    --row-gap: 1.5rem !important;
    padding-top: 2.5rem !important;
    padding-bottom: 0.85rem !important;
  }

  .elementor-34 .elementor-element.elementor-element-5d73471 > .e-con-inner {
    gap: 1.5rem !important;
    padding-bottom: 0 !important;
  }

  footer#colophon,
  .footer-width-fixer {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }

  .elementor-34 .elementor-element.elementor-element-c92a220 {
    gap: 1.25rem !important;
  }

  .elementor-34 .elementor-element.elementor-element-7f9857a {
    flex-direction: column !important;
    align-items: flex-start !important;
    --width: 100% !important;
    width: 100% !important;
  }

  .elementor-34 .elementor-element.elementor-element-4108940 {
    width: auto !important;
    max-width: 175px !important;
    --container-widget-width: auto !important;
  }

  .elementor-34 .elementor-element.elementor-element-2b7306f {
    gap: 0.75rem !important;
    align-items: flex-start !important;
  }

  .elementor-34 .mf-form-wrapper:empty,
  .elementor-34 [id^="metform-wrap-"]:empty {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}
