/* Pali Hero Grid v1.9.6 - independent image/title toggles, white fallback ALT text, ten-post pools, cache-safe random selection, and viewport-safe slides */
:root {
  --pali-green: #034f4f;
  --pali-gold: #FFC000;
  --pali-white: #ffffff;
}

.pali-feature-grid,
.pali-feature-grid *,
.pali-feature-grid *::before,
.pali-feature-grid *::after {
  box-sizing: border-box !important;
}

/*
 * Do not use 100vw or left:50% here. In Elementor/theme containers those
 * rules make the section wider than the real content area and push it right.
 */
body:not(.wp-admin) .pali-feature-grid#pali-hero {
  position: relative !important;
  left: var(--pali-hero-shift-x, 0px) !important;
  right: auto !important;
  transform: none !important;
  display: block !important;
  width: var(--pali-hero-safe-width, 100%) !important;
  min-width: 0 !important;
  max-width: var(--pali-hero-safe-width, 100%) !important;
  margin: 0 !important;
  padding: 48px clamp(14px, 2.4vw, 28px) !important;
  overflow: hidden !important;
  background: var(--pali-green) !important;
  border-top: 4px solid var(--pali-gold) !important;
  border-bottom: 4px solid var(--pali-gold) !important;
  font-family: "Sarabun", sans-serif !important;
}

/*
 * Elementor can retain a desktop min-width on one of several nested wrappers.
 * Reset every wrapper that actually contains this Hero at tablet/phone sizes.
 * This is intentionally scoped with :has(#pali-hero), so unrelated Elementor
 * sections keep their original sizing.
 */
@media (max-width: 1279px) {
  body:not(.wp-admin) .pali-hero-viewport-ancestor,
  body:not(.wp-admin) .elementor-element:has(#pali-hero),
  body:not(.wp-admin) .elementor-widget-container:has(> #pali-hero),
  body:not(.wp-admin) .e-con:has(#pali-hero),
  body:not(.wp-admin) .e-con-inner:has(#pali-hero) {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/*
 * Elementor can keep a desktop-width parent (for example 1000px) while the
 * emulated device is only 820-912px wide. The inline script supplies both
 * variables above from the section's real viewport position. `contain` also
 * prevents wide descendants from changing the page's horizontal layout.
 */
body:not(.wp-admin) .pali-feature-grid#pali-hero {
  isolation: isolate !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  gap: 22px 26px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px 12px 0 !important;
  overflow: hidden !important;
  background: var(--pali-white) !important;
  border: 3px solid var(--pali-gold) !important;
  border-radius: 15px !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .14) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
  position: absolute !important;
  z-index: 8 !important;
  top: clamp(78px, 28%, 150px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 48px !important;
  min-width: 38px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: translateY(-50%) !important;
  border: 0 !important;
  border-radius: 7px !important;
  outline: 0 !important;
  background: rgba(3, 79, 79, .88) !important;
  box-shadow: 0 2px 9px rgba(0, 0, 0, .25) !important;
  color: #fff !important;
  font-family: Arial, sans-serif !important;
  font-size: 25px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  opacity: .96 !important;
  transition: background-color .2s ease, opacity .2s ease !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-prev {
  left: 16px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-next {
  right: 16px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible {
  background: #FFC000 !important;
  color: #034f4f !important;
  opacity: 1 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
  display: none !important;
  grid-template-rows: auto minmax(90px, 1fr) 44px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: 100% !important;
  background: var(--pali-white) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  display: grid !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.pali-feature-title-hidden {
  grid-template-rows: auto 44px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.pali-feature-image-hidden {
  grid-template-rows: minmax(90px, 1fr) 44px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.pali-feature-image-hidden.pali-feature-title-hidden {
  grid-template-rows: 44px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card-image-hidden .pali-feature-nav {
  top: 50% !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #102d2d !important;
  text-decoration: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #102d2d !important;
  color: var(--pali-white) !important;
  font-family: "Sarabun", sans-serif !important;
  font-size: clamp(14px, 1.45vw, 18px) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  transform: none !important;
  transition: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card:hover .pali-feature-image img {
  transform: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-placeholder {
  display: flex !important;
  width: 100% !important;
  height: 100% !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--pali-white) !important;
  background: linear-gradient(135deg, #0b6664, #023b3b) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
  display: flex !important;
  align-items: flex-start !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 90px !important;
  padding: 10px 0 8px !important;
  overflow: hidden !important;
  background: var(--pali-white) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image-hidden .pali-feature-body {
  align-items: center !important;
  justify-content: center !important;
  min-height: 180px !important;
  padding: 24px clamp(18px, 4vw, 42px) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image-hidden .pali-feature-title {
  text-align: center !important;
  -webkit-line-clamp: 5 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
  display: -webkit-box !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  color: #181818 !important;
  font-size: clamp(16px, 1.55vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:hover {
  color: #181818 !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 4px 6px !important;
  overflow: hidden !important;
  border-top: 3px solid var(--pali-gold) !important;
  background: var(--pali-white) !important;
  text-align: center !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:hover {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  color: #171717 !important;
  text-decoration: none !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-hero-empty-front {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 1020px !important;
  min-height: 280px !important;
  margin: auto !important;
  color: var(--pali-white) !important;
  text-align: center !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-hero-empty-front strong {
  font-size: 34px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-hero-empty-front span {
  font-size: 17px !important;
}

/* Large desktop */
@media (min-width: 1280px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding-top: 64px !important;
    padding-bottom: 64px !important;
  }
}

/* iPad Pro 1024px: same two-column/four-card arrangement as desktop. */
@media (min-width: 1024px) and (max-width: 1279px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding: 30px 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

/* Tablet 768-1023px: two columns, including 820x1180. */
@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding: 26px 14px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
    padding: 10px 10px 0 !important;
    border-radius: 13px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    grid-template-rows: auto minmax(82px, 1fr) 42px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
    min-height: 82px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image-hidden .pali-feature-body {
    min-height: 150px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a {
    font-size: 14px !important;
  }
}

/* Phones: one column and no viewport-width/full-bleed offset. */
@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    left: var(--pali-hero-shift-x, 0px) !important;
    width: var(--pali-hero-safe-width, 100%) !important;
    min-width: 0 !important;
    max-width: var(--pali-hero-safe-width, 100%) !important;
    margin: 0 !important;
    padding: 16px 8px 20px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
    top: clamp(70px, 26%, 125px) !important;
    width: 34px !important;
    height: 44px !important;
    min-width: 34px !important;
    font-size: 22px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-prev {
    left: 10px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-next {
    right: 10px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    gap: 14px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 8px 8px 0 !important;
    border-width: 2px !important;
    border-radius: 11px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    grid-template-rows: auto minmax(76px, 1fr) 40px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
    min-height: 76px !important;
    padding: 9px 2px 7px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image-hidden .pali-feature-body {
    min-height: 130px !important;
    padding: 20px 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 16px !important;
    line-height: 1.38 !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
    border-top-width: 2px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a {
    font-size: 14px !important;
  }
}

/* Extra-small phones such as 344x882. */
@media (max-width: 374px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 15px !important;
  }
}

/* v1.10.1 - Final image-only override. Keep this block last. */
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid #c8c8c8 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 1fr !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
  display: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  display: block !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  display: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
  top: 50% !important;
}

@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    min-height: 0 !important;
  }
}

/* v1.10.4 final guard - keep the circled dark-purple lesson badges/buttons at #580095. */
body:not(.wp-admin) .pali-feature-grid#pali-hero,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
body:not(.wp-admin) .pali-home-bottom,
body:not(.wp-admin) .pali-latest-lessons,
body:not(.wp-admin) .pali-news-grid,
body:not(.wp-admin) .pali-lesson-grid {
  --pali-news-purple: #580095 !important;
  --pali-news-purple-dark: #580095 !important;
  --pali-card-purple: #580095 !important;
  --pali-primary-purple: #580095 !important;
  --pali-primary: #580095 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible,
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="badge"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="episode"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="lesson-no"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="chapter"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="watch"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="study"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[href*="lesson"],
body:not(.wp-admin) .pali-home-bottom [class*="badge"],
body:not(.wp-admin) .pali-home-bottom [class*="episode"],
body:not(.wp-admin) .pali-home-bottom a[class*="button"],
body:not(.wp-admin) .pali-home-bottom button[class*="button"],
body:not(.wp-admin) .pali-home-bottom a[class*="btn"],
body:not(.wp-admin) .pali-home-bottom button[class*="btn"],
body:not(.wp-admin) .pali-home-bottom a[class*="watch"],
body:not(.wp-admin) .pali-home-bottom a[class*="study"],
body:not(.wp-admin) .pali-home-bottom a[href*="lesson"] {
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}

/* v1.10.5 - The homepage lesson cards use these exact classes. */
body:not(.wp-admin) .pali-lesson-card .pali-lesson-no,
body:not(.wp-admin) .pali-lesson-list .pali-lesson-no,
body:not(.wp-admin) .pali-lesson-no,
body:not(.wp-admin) .pali-lesson-card .pali-lesson-go,
body:not(.wp-admin) .pali-lesson-list .pali-lesson-go,
body:not(.wp-admin) .pali-lesson-go {
  background: #580095 !important;
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}

body:not(.wp-admin) .pali-lesson-card .pali-lesson-go:hover,
body:not(.wp-admin) .pali-lesson-card .pali-lesson-go:focus-visible,
body:not(.wp-admin) .pali-lesson-go:hover,
body:not(.wp-admin) .pali-lesson-go:focus-visible {
  background: #580095 !important;
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}

/* v1.10.4 final guard - keep the circled dark-purple lesson badges/buttons at #580095. */
body:not(.wp-admin) .pali-feature-grid#pali-hero,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
body:not(.wp-admin) .pali-home-bottom,
body:not(.wp-admin) .pali-latest-lessons,
body:not(.wp-admin) .pali-news-grid,
body:not(.wp-admin) .pali-lesson-grid {
  --pali-news-purple: #580095 !important;
  --pali-news-purple-dark: #580095 !important;
  --pali-card-purple: #580095 !important;
  --pali-primary-purple: #580095 !important;
  --pali-primary: #580095 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible,
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="badge"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="episode"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="lesson-no"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="chapter"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="watch"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="study"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[href*="lesson"],
body:not(.wp-admin) .pali-home-bottom [class*="badge"],
body:not(.wp-admin) .pali-home-bottom [class*="episode"],
body:not(.wp-admin) .pali-home-bottom a[class*="button"],
body:not(.wp-admin) .pali-home-bottom button[class*="button"],
body:not(.wp-admin) .pali-home-bottom a[class*="btn"],
body:not(.wp-admin) .pali-home-bottom button[class*="btn"],
body:not(.wp-admin) .pali-home-bottom a[class*="watch"],
body:not(.wp-admin) .pali-home-bottom a[class*="study"],
body:not(.wp-admin) .pali-home-bottom a[href*="lesson"] {
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}

/* v1.10.4 - Match requested dark purple buttons/badges to #580095 only. */
body:not(.wp-admin) .pali-feature-grid#pali-hero,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide,
body:not(.wp-admin) .pali-home-bottom,
body:not(.wp-admin) .pali-latest-lessons,
body:not(.wp-admin) .pali-news-grid,
body:not(.wp-admin) .pali-lesson-grid {
  --pali-news-purple: #580095 !important;
  --pali-news-purple-dark: #580095 !important;
  --pali-card-purple: #580095 !important;
  --pali-primary-purple: #580095 !important;
  --pali-primary: #580095 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible {
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="badge"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="label"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="episode"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="lesson-no"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="chapter"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="watch"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="study"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[href*="lesson"],
body:not(.wp-admin) .pali-home-bottom [class*="badge"],
body:not(.wp-admin) .pali-home-bottom [class*="episode"],
body:not(.wp-admin) .pali-home-bottom a[class*="button"],
body:not(.wp-admin) .pali-home-bottom button[class*="button"],
body:not(.wp-admin) .pali-home-bottom a[class*="btn"],
body:not(.wp-admin) .pali-home-bottom button[class*="btn"],
body:not(.wp-admin) .pali-home-bottom a[class*="watch"],
body:not(.wp-admin) .pali-home-bottom a[class*="study"],
body:not(.wp-admin) .pali-home-bottom a[href*="lesson"] {
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}


/* v1.10.0 - Image-only cards with the same neutral border as the cards above. */
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  min-height: 0 !important;
  aspect-ratio: 16 / 9 !important;
  border: 2px solid #c8c8c8 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card:hover {
  border-color: #a8a8a8 !important;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .10) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 1fr !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  display: none !important;
}

@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    min-height: 0 !important;
  }
}

/* v1.9.7 - News layout: white section, four equal cards, mobile-safe. */
body:not(.wp-admin) .pali-feature-grid#pali-hero {
  background: #ffffff !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding: clamp(22px, 3vw, 42px) clamp(12px, 2vw, 24px) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  max-width: 1440px !important;
  gap: clamp(14px, 1.5vw, 22px) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  padding: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 1px solid #ece8f5 !important;
  border-radius: 12px !important;
  box-shadow: 0 10px 24px rgba(45, 24, 86, .10) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
  grid-template-rows: auto minmax(78px, 1fr) 42px !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.pali-feature-title-hidden {
  grid-template-rows: auto 42px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  aspect-ratio: 16 / 9 !important;
  background: #f5f2fb !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image img {
  object-fit: cover !important;
  background: #f5f2fb !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
  min-height: 78px !important;
  padding: 10px 12px 8px !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
  -webkit-line-clamp: 3 !important;
  color: #191421 !important;
  font-size: clamp(14px, 1.05vw, 17px) !important;
  font-weight: 600 !important;
  line-height: 1.38 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:hover {
  color: #191421 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  min-height: 42px !important;
  padding: 5px 10px !important;
  border-top: 1px solid #eee8f7 !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:hover {
  color: #5b2097 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
  top: 34% !important;
  width: 30px !important;
  height: 38px !important;
  min-width: 30px !important;
  border-radius: 8px !important;
  background: rgba(91, 32, 151, .86) !important;
  color: #ffffff !important;
  font-size: 20px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible {
  background: #580095 !important;
  color: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-prev {
  left: 8px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-next {
  right: 8px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-hero-empty-front {
  color: #4b168c !important;
}

@media (min-width: 1024px) and (max-width: 1279px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 14px !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding: 18px 10px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
    border-radius: 11px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 16px !important;
  }
}

/* v1.9.9 - News cards: real admin-selected content, white/purple 4-2-1 layout. */
body:not(.wp-admin) .pali-feature-grid#pali-hero {
  --pali-news-purple: #5b1aa4;
  --pali-news-purple-dark: #3f1178;
  --pali-news-text: #222222;
  --pali-news-muted: #444444;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 32px 20px !important;
  overflow-x: clip !important;
  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 24px !important;
  width: 100% !important;
  max-width: 1440px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 340px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border: 3px solid var(--pali-news-purple) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card:hover {
  border-color: var(--pali-news-purple-dark) !important;
  box-shadow: 0 10px 22px rgba(91, 26, 164, .14) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
  display: none !important;
  min-height: 340px !important;
  grid-template-rows: auto minmax(82px, 1fr) 46px !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  display: grid !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 82px !important;
  padding: 14px 14px 10px !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--pali-news-muted) !important;
  font-family: "Sarabun", sans-serif !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-overflow: clip !important;
  white-space: normal !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title a:hover {
  color: var(--pali-news-muted) !important;
  text-decoration: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 8px 12px 18px !important;
  background: #ffffff !important;
  border: 0 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:visited,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a:hover {
  display: block !important;
  color: var(--pali-news-text) !important;
  font-family: "Sarabun", sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-decoration: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
  top: 50% !important;
  width: 28px !important;
  height: 34px !important;
  min-width: 28px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(91, 26, 164, .86) !important;
  color: #ffffff !important;
  transform: translateY(-50%) !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-prev {
  left: 6px !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-next {
  right: 6px !important;
}

@media (min-width: 768px) and (max-width: 1023px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding: 28px 18px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
    max-width: 760px !important;
  }
}

@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding: 24px 14px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-grid-inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    max-width: 430px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
    min-height: 320px !important;
    border-width: 3px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    min-height: 320px !important;
    grid-template-rows: auto minmax(82px, 1fr) 44px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body {
    min-height: 82px !important;
    padding: 14px 14px 10px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 16px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a {
    font-size: 17px !important;
  }
}

@media (max-width: 374px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-title {
    font-size: 15px !important;
  }

  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer a {
    font-size: 16px !important;
  }
}

/* v1.10.2 FINAL - Taller images with no cropping. */
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card {
  display: block !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 16 / 10 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 2px solid #c8c8c8 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
  display: none !important;
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  grid-template-rows: 1fr !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide.is-active {
  display: block !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #f2f2f2 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #ffffff !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-body,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-footer {
  display: none !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav {
  top: 50% !important;
}

@media (max-width: 767px) {
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
  body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-slide {
    min-height: 0 !important;
  }
}

/* v1.10.4 final guard - keep the circled dark-purple lesson badges/buttons at #580095. */
body:not(.wp-admin) .pali-feature-grid#pali-hero,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-card,
body:not(.wp-admin) .pali-home-bottom,
body:not(.wp-admin) .pali-latest-lessons,
body:not(.wp-admin) .pali-news-grid,
body:not(.wp-admin) .pali-lesson-grid {
  --pali-news-purple: #580095 !important;
  --pali-news-purple-dark: #580095 !important;
  --pali-card-purple: #580095 !important;
  --pali-primary-purple: #580095 !important;
  --pali-primary: #580095 !important;
}

body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:hover,
body:not(.wp-admin) .pali-feature-grid#pali-hero .pali-feature-nav:focus-visible,
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="badge"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="episode"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="lesson-no"],
body:not(.wp-admin) .pali-feature-grid#pali-hero [class*="chapter"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="button"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero button[class*="btn"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="watch"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[class*="study"],
body:not(.wp-admin) .pali-feature-grid#pali-hero a[href*="lesson"],
body:not(.wp-admin) .pali-home-bottom [class*="badge"],
body:not(.wp-admin) .pali-home-bottom [class*="episode"],
body:not(.wp-admin) .pali-home-bottom a[class*="button"],
body:not(.wp-admin) .pali-home-bottom button[class*="button"],
body:not(.wp-admin) .pali-home-bottom a[class*="btn"],
body:not(.wp-admin) .pali-home-bottom button[class*="btn"],
body:not(.wp-admin) .pali-home-bottom a[class*="watch"],
body:not(.wp-admin) .pali-home-bottom a[class*="study"],
body:not(.wp-admin) .pali-home-bottom a[href*="lesson"] {
  background-color: #580095 !important;
  border-color: #580095 !important;
  color: #ffffff !important;
}
