/* --- DR Mobile App Polish: curriculum lists, full-width content, contained media --- */
/* Full-width Astra/Elementor content canvas for pages and posts */
.site-content > .ast-container,
body.page .site-content > .ast-container,
body.single-post .site-content > .ast-container,
body.archive .site-content > .ast-container,
body.blog .site-content > .ast-container {
  width: 100% !important;
  max-width: 1280px !important;
  padding-left: clamp(12px, 3vw, 28px) !important;
  padding-right: clamp(12px, 3vw, 28px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.single-post.ast-narrow-container .site-content > .ast-container,
body.single-post.ast-separate-container .site-content > .ast-container,
body.single-post.ast-plain-container .site-content > .ast-container {
  max-width: 1280px !important;
}

body.home.elementor-template-full-width .site-content > .ast-container,
body.page.elementor-template-full-width .site-content > .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.site-content .elementor,
.site-content .elementor-section,
.site-content .elementor-section .elementor-container,
.site-content .elementor-container,
.site-content .e-con,
.site-content .e-con.e-con-boxed > .e-con-inner {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

body.page .entry-content,
body.single-post .entry-content,
body.page .site-main,
body.single-post .site-main,
body.page article,
body.single-post article {
  max-width: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Curriculum quick links: remove card grids and turn topic links into an app-like list */
.site-content .grid:has(.topic-link),
.entry-content .grid:has(.topic-link) {
  display: flex !important;
  grid-template-columns: 1fr !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0.55rem !important;
  width: min(100%, 940px) !important;
  max-width: 940px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-content .topic-link,
.entry-content .topic-link {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 0.82rem 1rem !important;
  margin: 0 !important;
  border: 1px solid rgba(124, 58, 237, 0.14) !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.055) !important;
  color: #334155 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

.site-content .topic-link::before,
.entry-content .topic-link::before {
  content: "" !important;
  width: 0.48rem !important;
  height: 0.48rem !important;
  border-radius: 999px !important;
  background: #7c3aed !important;
  margin-right: 0.75rem !important;
  flex: 0 0 auto !important;
}

.site-content .topic-link:hover,
.entry-content .topic-link:hover {
  border-color: rgba(124, 58, 237, 0.28) !important;
  background: #faf7ff !important;
  color: #5b21b6 !important;
  transform: translateY(-1px) !important;
}

/* Global media containment inside real content only; leaves logo/admin avatars alone */
.site-content img:not(.emoji):not(.avatar):not(.custom-logo),
.entry-content img:not(.emoji):not(.avatar):not(.custom-logo),
.site-content picture,
.entry-content picture {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  box-sizing: border-box !important;
}

.site-content img:not(.emoji):not(.avatar):not(.custom-logo),
.entry-content img:not(.emoji):not(.avatar):not(.custom-logo) {
  display: block !important;
}

.site-content figure,
.entry-content figure,
.site-content .wp-caption,
.entry-content .wp-caption,
.site-content .wp-block-image,
.entry-content .wp-block-image,
.site-content .elementor-widget-image,
.entry-content .elementor-widget-image {
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.site-content iframe,
.entry-content iframe,
.site-content video,
.entry-content video,
.site-content canvas,
.entry-content canvas,
.site-content svg,
.entry-content svg,
.site-content table,
.entry-content table,
.site-content pre,
.entry-content pre {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.site-content pre,
.entry-content pre,
.site-content .table-scroll,
.entry-content .table-scroll {
  overflow-x: auto !important;
}

/* Header active state: Exams is no longer permanently highlighted; only JS/current class should highlight */
.dr-header a.nav-cta:not(.dr-current),
.elementor-location-header a.nav-cta:not(.dr-current) {
  background: transparent !important;
  color: #374151 !important;
  box-shadow: none !important;
  border-color: transparent !important;
}

.dr-header a.nav-cta:not(.dr-current):hover,
.elementor-location-header a.nav-cta:not(.dr-current):hover {
  background: rgba(124, 58, 237, 0.08) !important;
  color: #6d28d9 !important;
}

.dr-header a.dr-current,
.elementor-location-header a.dr-current,
.dr-header .desktop-nav a.dr-current,
.dr-header .mobile-menu-overlay a.dr-current {
  background: linear-gradient(135deg, #7c3aed, #9333ea) !important;
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(124, 58, 237, 0.24) !important;
}

@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  #content,
  .site-content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
  }

  body.page .site-content > .ast-container,
  body.single-post .site-content > .ast-container,
  body.archive .site-content > .ast-container,
  body.blog .site-content > .ast-container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.home .site-content > .ast-container,
  body.page.elementor-template-full-width .site-content > .ast-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-content .elementor-section,
  .site-content .elementor-section .elementor-container,
  .site-content .elementor-container,
  .site-content .e-con,
  .site-content .e-con.e-con-boxed > .e-con-inner {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .site-content .container,
  .site-content .full-width-container,
  .site-content .prose,
  .site-content [class~="max-w-7xl"],
  .site-content [class~="max-w-6xl"],
  .site-content [class~="max-w-5xl"],
  .site-content [class~="max-w-4xl"],
  .site-content [class~="max-w-3xl"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .site-content .full-width-container,
  .site-content .prose {
    padding-left: 14px !important;
    padding-right: 14px !important;
    border-radius: 16px !important;
  }

  body.home .site-content .container,
  body.home .site-content .max-w-7xl,
  body.home .site-content .max-w-6xl,
  body.home .site-content .max-w-5xl,
  body.home .site-content [class~="max-w-7xl"],
  body.home .site-content [class~="max-w-6xl"],
  body.home .site-content [class~="max-w-5xl"] {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .site-content .grid:has(.topic-link),
  .entry-content .grid:has(.topic-link) {
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.5rem !important;
  }

  .site-content .topic-link,
  .entry-content .topic-link {
    min-height: 48px !important;
    padding: 0.86rem 0.92rem !important;
    border-radius: 13px !important;
    font-size: 0.96rem !important;
  }
}
/* --- End DR Mobile App Polish --- */
