/* CourseTron unified design system — loaded after legacy theme layers. */
:root {
  --ct-brand: #0b63ce;
  --ct-brand-hover: #084fa6;
  --ct-brand-soft: #eaf3ff;
  --ct-ink: #17181b;
  --ct-muted: #656a73;
  --ct-subtle: #8a9099;
  --ct-canvas: #f7f8fa;
  --ct-panel: #ffffff;
  --ct-line: #e2e5e9;
  --ct-line-strong: #cfd4da;
  --ct-success: #147d64;
  --ct-radius-sm: 8px;
  --ct-radius: 14px;
  --ct-radius-lg: 22px;
  --ct-shadow-menu: 0 18px 50px rgba(23, 24, 27, .14);
  --ct-shadow-card: 0 1px 2px rgba(23, 24, 27, .04), 0 8px 24px rgba(23, 24, 27, .06);
  --ct-content: 1240px;
  --ct-reading: 760px;
  --ct-ease: 180ms cubic-bezier(.2, .8, .2, 1);
}

/* Reviewed real subject photography used across discovery and course surfaces. */
body.ct-theme.ct-premium .ct-domain-art {
  width: 94px;
  height: 74px;
  overflow: hidden;
  border-radius: 18px;
  background: #e8edf4;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
}
body.ct-theme.ct-premium .ct-domain-art img,
body.ct-theme.ct-premium .ct-product-art img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}
body.ct-theme.ct-premium .ct-domain:hover .ct-domain-art img,
body.ct-theme.ct-premium .ct-product:hover .ct-product-art img {
  transform: scale(1.045);
}
body.ct-theme.ct-premium .ct-product-art {
  height: 168px;
  margin: 22px -26px 18px;
  overflow: hidden;
  background: #e8edf4;
}
body.ct-theme.ct-premium .ct-real-hero {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  background: #dfe6ee;
}
body.ct-theme.ct-premium .ct-real-hero img {
  width: 100%;
  height: 100%;
  min-height: 470px;
  display: block;
  object-fit: cover;
}
body.ct-theme.ct-premium .ct-real-hero::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(6, 16, 28, .72));
}
body.ct-theme.ct-premium .ct-real-hero figcaption {
  position: absolute;
  z-index: 1;
  right: 28px;
  bottom: 24px;
  left: 28px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
}
body.ct-theme.ct-premium .courses-card-image > img,
body.ct-theme.ct-premium .courses-list-view-card .courses-card-image > img,
body.ct-theme.ct-premium .courses-details .course-preview img,
body.ct-theme.ct-premium .ct-learning-course > img {
  object-fit: cover;
  object-position: center;
}
@media (max-width: 600px) {
  body.ct-theme.ct-premium .ct-domain-art { width: 78px; height: 62px; border-radius: 15px; }
  body.ct-theme.ct-premium .ct-real-hero,
  body.ct-theme.ct-premium .ct-real-hero img { min-height: 300px; }
}

html { scroll-behavior: smooth; }
body.ct-theme.ct-premium {
  background: var(--ct-canvas);
  color: var(--ct-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.55;
}
body.ct-theme.ct-premium :is(h1,h2,h3,h4,h5,h6) {
  color: var(--ct-ink);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: -.025em;
}
body.ct-theme.ct-premium a { color: var(--ct-brand); }
body.ct-theme.ct-premium .container,
body.ct-theme.ct-premium .container-lg { max-width: var(--ct-content); }
body.ct-theme.ct-premium :focus-visible {
  outline: 3px solid rgba(11, 99, 206, .28);
  outline-offset: 3px;
}

/* Header and Coursera/Udemy-style course discovery. */
body.ct-theme.ct-premium header,
body.ct-theme.ct-premium .header-area,
body.ct-theme.ct-premium .navbar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--ct-line);
  box-shadow: none;
  backdrop-filter: saturate(140%) blur(16px);
}
body.ct-theme.ct-premium .navbar { min-height: 74px; padding: 10px 0; }
body.ct-theme.ct-premium .navbar-brand img { height: 36px !important; max-width: 150px; object-fit: contain; }
body.ct-theme.ct-premium .navbar-collapse { align-items: center; gap: 14px; }
body.ct-theme.ct-premium .ct-market-nav-search {
  max-width: 620px;
  min-height: 48px;
  background: #f5f6f8;
  border: 1px solid var(--ct-line-strong);
  border-radius: 999px;
  transition: border-color var(--ct-ease), box-shadow var(--ct-ease), background var(--ct-ease);
}
body.ct-theme.ct-premium .ct-market-nav-search:focus-within {
  background: #fff;
  border-color: var(--ct-brand);
  box-shadow: 0 0 0 4px rgba(11,99,206,.10);
}
body.ct-theme.ct-premium .ct-market-nav-search input { font-size: 15px; padding: 12px 20px; }
body.ct-theme.ct-premium .ct-market-nav-search button { min-width: 52px; color: var(--ct-ink); }
body.ct-theme.ct-premium .right-menubar { align-items: center; }
body.ct-theme.ct-premium .right-menubar > li > a,
body.ct-theme.ct-premium .right-menubar > a { color: var(--ct-ink); font-weight: 600; }

body.ct-theme.ct-premium .main-nav-wrap { position: relative; }
body.ct-theme.ct-premium .main-nav-wrap .header-dropdown {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  border-radius: 10px;
  color: var(--ct-ink);
  font-weight: 600;
}
body.ct-theme.ct-premium .main-nav-wrap .header-dropdown:hover { background: #f2f4f7; }
body.ct-theme.ct-premium .navbar .navbarHover {
  width: 316px;
  max-height: min(620px, calc(100vh - 96px));
  overflow-y: auto;
  padding: 14px;
  background: rgba(255,255,255,.99);
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius-lg);
  box-shadow: var(--ct-shadow-menu);
  z-index: 1050;
}
body.ct-theme.ct-premium .navbar .navbarHover > li > a {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--ct-ink);
  font-size: 14px;
  font-weight: 550;
}
body.ct-theme.ct-premium .navbar .navbarHover > li > a:hover,
body.ct-theme.ct-premium .navbar .navbarHover > li:focus-within > a { background: var(--ct-brand-soft); color: var(--ct-brand); }
body.ct-theme.ct-premium .navbar .navbarHover .icons { width: 22px; color: var(--ct-muted); text-align: center; }
body.ct-theme.ct-premium .navbar .navbarHover .sub-category-menu {
  left: calc(100% + 10px);
  top: -14px;
  min-width: 280px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius-lg);
  box-shadow: var(--ct-shadow-menu);
}

/* Shared page rhythm and cards. */
body.ct-theme.ct-premium .bread-crumb { background: #fff; border-bottom: 1px solid var(--ct-line); padding: 30px 0; }
body.ct-theme.ct-premium .bread-crumb h1,
body.ct-theme.ct-premium .bread-crumb .breadcrumb-page-title { font-size: clamp(30px,4vw,46px); max-width: 900px; }
body.ct-theme.ct-premium .grid-view,
body.ct-theme.ct-premium .wish-list-body,
body.ct-theme.ct-premium .blog-body { padding-top: 42px; }
body.ct-theme.ct-premium .courses-card-body,
body.ct-theme.ct-premium .ct-learning-course,
body.ct-theme.ct-premium .course-right-section .course-card,
body.ct-theme.ct-premium .right-section,
body.ct-theme.ct-premium .ct-account-nav {
  background: var(--ct-panel);
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius);
  box-shadow: none;
  transition: transform var(--ct-ease), box-shadow var(--ct-ease), border-color var(--ct-ease);
}
body.ct-theme.ct-premium a.courses-card-body:hover,
body.ct-theme.ct-premium .ct-learning-course:hover {
  transform: translateY(-3px);
  border-color: var(--ct-line-strong);
  box-shadow: var(--ct-shadow-card);
}
body.ct-theme.ct-premium .courses-card-image { aspect-ratio: 16/10; background: #edf0f3; overflow: hidden; }
body.ct-theme.ct-premium .courses-card-image img { width: 100%; height: 100%; object-fit: cover; }
body.ct-theme.ct-premium .courses-text { padding: 20px; }
body.ct-theme.ct-premium .courses-text > h5 { min-height: 2.7em; font-size: 17px; font-weight: 700; line-height: 1.35; }
body.ct-theme.ct-premium .courses-text > p { color: var(--ct-muted); }
body.ct-theme.ct-premium .courses-price-border { margin-top: 18px; padding-top: 16px; border-color: var(--ct-line); }
body.ct-theme.ct-premium .ct-availability { color: var(--ct-success); font-weight: 650; }
body.ct-theme.ct-premium :is(.btn-primary,.ct-store-button,.message-btn) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--ct-brand) !important;
  border: 1px solid var(--ct-brand) !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: 650;
  padding: 10px 22px;
  transition: background var(--ct-ease), transform var(--ct-ease);
}
body.ct-theme.ct-premium :is(.btn-primary,.ct-store-button,.message-btn):hover { background: var(--ct-brand-hover) !important; transform: translateY(-1px); }

/* Learner account: stable sidebar, calm empty state, clear active item. */
body.ct-theme.ct-premium .ct-market-learning { min-height: calc(100vh - 74px); background: var(--ct-canvas); padding: 46px 0 70px; }
body.ct-theme.ct-premium .ct-account-nav { position: sticky; top: 94px; padding: 16px; }
body.ct-theme.ct-premium .ct-account-identity { min-height: 66px; padding: 8px 10px 18px; border-bottom: 1px solid var(--ct-line); margin-bottom: 10px; }
body.ct-theme.ct-premium .ct-account-nav .btn-profile-menu { min-height: 46px; padding: 11px 13px; border-radius: 10px; color: var(--ct-muted); }
body.ct-theme.ct-premium .ct-account-nav .btn-profile-menu:hover { background: #f4f6f8; color: var(--ct-ink); }
body.ct-theme.ct-premium .ct-account-nav .btn-profile-menu.active { background: var(--ct-brand-soft); color: var(--ct-brand); }
body.ct-theme.ct-premium .ct-section-heading { align-items: flex-end; margin-bottom: 28px; }
body.ct-theme.ct-premium .ct-section-heading h1 { font-size: clamp(34px,4vw,52px); line-height: 1.06; }
body.ct-theme.ct-premium .ct-learning-empty { min-height: 440px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 54px 28px; }

/* Blog and AEO-friendly long-form reading. */
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body > .container > h2 { font-size: clamp(28px,3vw,40px); margin-bottom: 8px; }
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body > .container > p { color: var(--ct-muted); margin-bottom: 32px; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body { padding-top: 52px; }
body.ct-theme.ct-premium .ct-article-kicker { color: var(--ct-brand); font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
body.ct-theme.ct-premium .ct-article-title { max-width: 900px; margin: 8px 0 34px; font-size: clamp(36px,5vw,64px); line-height: 1.05; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top { background: #fff; border: 1px solid var(--ct-line); border-radius: var(--ct-radius-lg); padding: clamp(24px,5vw,52px); }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top > h3 { display: none; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top :is(p,li) { font-size: 17px; line-height: 1.78; color: #34383f; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top h2 { margin: 1.8em 0 .65em; font-size: clamp(25px,3vw,34px); line-height: 1.2; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top h3 { margin-top: 1.5em; font-size: 22px; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .right-section { position: sticky; top: 94px; padding: 22px; }

/* Footer stays useful without competing with the page. */
body.ct-theme.ct-premium .maven-footer,
body.ct-theme.ct-premium .ct-market-footer { background: #111318; color: #fff; }
body.ct-theme.ct-premium .maven-footer :is(h4,h5),
body.ct-theme.ct-premium .ct-market-footer :is(h2,.ct-footer-brand) { color: #fff; }
body.ct-theme.ct-premium .maven-footer a,
body.ct-theme.ct-premium .ct-market-footer a { color: #b9bec7; }

@media (max-width: 991px) {
  body.ct-theme.ct-premium .ct-market-nav-search { display: none; }
  body.ct-theme.ct-premium .navbar { min-height: 64px; }
  body.ct-theme.ct-premium .ct-account-nav { position: static; display: flex; gap: 6px; overflow-x: auto; margin-bottom: 24px; }
  body.ct-theme.ct-premium .ct-account-identity { flex: 0 0 auto; border: 0; margin: 0; padding: 7px 12px; }
  body.ct-theme.ct-premium .ct-account-nav .btn-profile-menu { flex: 0 0 auto; }
  body.ct-theme.ct-premium .ct-teaching-menu { display: none; }
}
@media (max-width: 767px) {
  body.ct-theme.ct-premium .container,
  body.ct-theme.ct-premium .container-lg { padding-left: 18px; padding-right: 18px; }
  body.ct-theme.ct-premium .ct-section-heading { align-items: flex-start; }
  body.ct-theme.ct-premium .ct-learning-empty { min-height: 340px; }
  body.ct-theme.ct-premium .courses-text { padding: 18px; }
  body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .top :is(p,li) { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.ct-article-hero-image {
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: center;
  margin-bottom: 1.5rem;
}

/* FIX 18-Oct-2026: /courses category list was capped at 460px (inner scroll looked
   clipped). Extend it to show all categories in full. */
body.ct-premium[data-ct-page="courses_page"] #categoryAccordion{
  max-height:none !important;
  overflow:visible !important;
}

/* 18-Oct-2026 v2: GeeksforGeeks-style SIDEWAYS flyout for course categories.
   Un-clip the parent scroll panel so the sub-panel can sit beside it. */
body.ct-theme.ct-premium .navbar .navbarHover{ overflow:visible !important; max-height:none !important; }
body.ct-theme.ct-premium .navbar .navbarHover li.dropdown-submenu{ position:relative; display:block !important; }
body.ct-theme.ct-premium .navbar .navbarHover li.dropdown-submenu > a{ width:100%; }
body.ct-theme.ct-premium .navbar .navbarHover li.dropdown-submenu > .sub-category-menu{
  position:absolute !important; left:100% !important; top:-6px !important;
  min-width:240px; max-width:300px; width:max-content;
  margin:0; padding:10px;
  background:#fff; border:1px solid var(--ct-line);
  border-radius:var(--ct-radius-lg); box-shadow:var(--ct-shadow-menu);
  z-index:1060; display:none; opacity:0; transform:translateX(4px);
  transition:opacity .14s ease, transform .14s ease;
}
body.ct-theme.ct-premium .navbar .navbarHover li.dropdown-submenu:is(:hover,:focus-within) > .sub-category-menu{
  display:block !important; opacity:1 !important; transform:none !important; visibility:visible !important;
}
body.ct-theme.ct-premium .navbar .navbarHover .sub-category-menu li{ display:block; margin:0; }
body.ct-theme.ct-premium .navbar .navbarHover .sub-category-menu li a{
  display:block; width:auto !important; white-space:normal !important;
  margin:0; padding:7px 12px; border-radius:8px;
  font-size:13.5px; line-height:1.3; min-height:0; color:var(--ct-ink);
}
body.ct-theme.ct-premium .navbar .navbarHover .sub-category-menu li a:hover,
body.ct-theme.ct-premium .navbar .navbarHover .sub-category-menu li a:focus{
  color:var(--ct-brand) !important; background:var(--ct-brand-soft) !important;
}
/* show a right-chevron on categories that have a flyout */
body.ct-theme.ct-premium .navbar .navbarHover li.dropdown-submenu > a .has-sub-category{ margin-left:auto; color:var(--ct-muted); }

/* Editorial surfaces: give blog listings and long-form pages the same calm hierarchy
   as the course marketplace rather than inheriting the legacy course-card layout. */
body.ct-theme.ct-premium[data-ct-page="blogs"] .image-placeholder-2 {
  background: linear-gradient(120deg, rgba(5, 27, 56, .86), rgba(11, 99, 206, .68));
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body > .container-lg:first-child {
  margin-top: 16px;
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-card-body,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .single-blog {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--ct-line);
  border-radius: 18px;
  box-shadow: none;
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-card-body:hover,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .single-blog:hover {
  transform: translateY(-3px);
  border-color: #c7d1dc;
  box-shadow: var(--ct-shadow-card);
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-card-image,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .blog-image {
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background: #edf1f5;
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-card-image img,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .blog-image img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .32s ease;
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-card-body:hover img,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .single-blog:hover img { transform: scale(1.035); }
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .courses-text,
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body .blog-content { padding: 20px 21px 22px; }
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body :is(.courses-text h4,.courses-text h5,.blog-content h3) {
  margin: 0 0 9px; color: var(--ct-ink); font-size: 18px; line-height: 1.34; font-weight: 750;
}
body.ct-theme.ct-premium[data-ct-page="blogs"] .blog-body :is(.courses-text p,.blog-content p) { color: var(--ct-muted); font-size: 14px; line-height: 1.55; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .courses-card { background: transparent; border: 0; box-shadow: none; }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .profile-img {
  display: flex; align-items: center; gap: 10px; margin: 0 0 24px;
}
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .profile-img img {
  width: 36px; height: 36px; border-radius: 50%; object-fit: cover;
}
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .profile-img h6 { margin: 0; font-size: 13px; color: var(--ct-ink); }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .profile-img p { margin: 0; font-size: 12px; color: var(--ct-muted); }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .ct-article-hero-image {
  display: block; width: 100%; border-radius: 14px; margin: 0 0 30px;
}
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .left-tag { margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--ct-line); }
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .left-tag a {
  display: inline-flex; margin: 0 7px 7px 0; padding: 6px 10px; border: 1px solid var(--ct-line);
  border-radius: 999px; color: var(--ct-muted); font-size: 12px; text-decoration: none;
}
body.ct-theme.ct-premium[data-ct-page="blog_details"] .blog-body .left-tag a:hover { border-color: var(--ct-brand); color: var(--ct-brand); }

/* Legacy public templates: use the marketplace visual language without changing
   controllers, form actions, or entitlement/payment behavior. */
body.ct-theme.ct-premium :is(.form-control,.form-select,.select2-selection) {
  min-height: 46px;
  border-color: var(--ct-line-strong);
  border-radius: 10px;
  box-shadow: none;
  color: var(--ct-ink);
}
body.ct-theme.ct-premium textarea.form-control { min-height: 132px; padding-top: 12px; }
body.ct-theme.ct-premium :is(.form-control,.form-select):focus {
  border-color: var(--ct-brand);
  box-shadow: 0 0 0 4px rgba(11,99,206,.10);
}

/* Login and account creation. */
body.ct-theme.ct-premium[data-ct-page="login"] .login-container,
body.ct-theme.ct-premium[data-ct-page="sign_up"] .signup-container {
  padding: clamp(38px,6vw,78px) 0;
  background: linear-gradient(180deg,#fff 0%,var(--ct-canvas) 100%);
}
body.ct-theme.ct-premium[data-ct-page="login"] .login-card,
body.ct-theme.ct-premium[data-ct-page="sign_up"] .signup-card {
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius-lg);
  box-shadow: var(--ct-shadow-card);
}
body.ct-theme.ct-premium[data-ct-page="login"] .login-info-side {
  background: linear-gradient(145deg,#071d3a,#0b63ce) !important;
}
body.ct-theme.ct-premium[data-ct-page="login"] .login-form-side,
body.ct-theme.ct-premium[data-ct-page="sign_up"] .signup-form-side { padding: clamp(28px,5vw,54px); }
body.ct-theme.ct-premium[data-ct-page="login"] :is(.btn-login,.forgot-link,.register-link),
body.ct-theme.ct-premium[data-ct-page="sign_up"] :is(.btn-login,.register-link) { color: var(--ct-brand); }
body.ct-theme.ct-premium[data-ct-page="login"] .btn-login,
body.ct-theme.ct-premium[data-ct-page="sign_up"] .btn-login {
  background: var(--ct-brand) !important;
  color: #fff !important;
  border-radius: 999px;
  min-height: 46px;
  box-shadow: none;
}
body.ct-theme.ct-premium[data-ct-page="login"] .btn-login:hover,
body.ct-theme.ct-premium[data-ct-page="sign_up"] .btn-login:hover { background: var(--ct-brand-hover) !important; }

/* Contact and information pages. */
body.ct-theme.ct-premium[data-ct-page="contact_us"] .contact-page,
body.ct-theme.ct-premium[data-ct-page="custom_page_viewer"] .custom-page { padding: 48px 0 72px; }
body.ct-theme.ct-premium[data-ct-page="contact_us"] :is(.contact-form,.contact-info,.contact-form-area,.contact-address),
body.ct-theme.ct-premium[data-ct-page="custom_page_viewer"] :is(.page-content,.custom-page-content,.ctb-main,.cthub) {
  background: var(--ct-panel);
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius-lg);
  box-shadow: none;
}
body.ct-theme.ct-premium[data-ct-page="custom_page_viewer"] :is(.page-content,.custom-page-content,.ctb-main,.cthub) {
  max-width: var(--ct-reading);
  margin-inline: auto;
  padding: clamp(24px,4vw,48px);
}
body.ct-theme.ct-premium[data-ct-page="custom_page_viewer"] :is(.page-content,.custom-page-content,.ctb-main,.cthub) :is(p,li) {
  color: #3c424b;
  font-size: 16px;
  line-height: 1.76;
}

/* Cart and course comparison have clear selection, summary, and table states. */
body.ct-theme.ct-premium[data-ct-page="shopping_cart"] .cart-page,
body.ct-theme.ct-premium[data-ct-page="compare"] :is(.compare-card,.compare-table) { padding: 44px 0 68px; }
body.ct-theme.ct-premium[data-ct-page="shopping_cart"] :is(.cart-page .card,.cart-page .shopping-cart,.cart-page .cart-items),
body.ct-theme.ct-premium[data-ct-page="compare"] :is(.compare-card .card,.compare-card .empty-card,.compare-2-table) {
  background: var(--ct-panel);
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius);
  box-shadow: none;
}
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-card .card { overflow: hidden; }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-card .card > img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-table { padding-top: 0; }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-2-table { overflow-x: auto; }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-2-table table { min-width: 700px; margin: 0; }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-2-table :is(th,td) { padding: 16px; vertical-align: middle; border-color: var(--ct-line); }
body.ct-theme.ct-premium[data-ct-page="compare"] .compare-2-table th { color: var(--ct-ink); background: #f7f9fc; }

/* Helpful recovery state for invalid public URLs. */
body.ct-theme.ct-premium[data-ct-page="404"] .error-body { padding: clamp(42px,7vw,90px) 0; }
body.ct-theme.ct-premium[data-ct-page="404"] .error-body-text {
  align-self: center;
  padding: clamp(28px,4vw,52px);
  background: var(--ct-panel);
  border: 1px solid var(--ct-line);
  border-radius: var(--ct-radius-lg);
}
body.ct-theme.ct-premium[data-ct-page="404"] .error-body-text a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 10px 20px;
  color: #fff;
  background: var(--ct-brand);
  border-radius: 999px;
  font-weight: 650;
  text-decoration: none;
}
body.ct-theme.ct-premium[data-ct-page="404"] .error-body-text a:hover { background: var(--ct-brand-hover); color: #fff; }

@media (max-width: 767px) {
  body.ct-theme.ct-premium[data-ct-page="login"] .login-container,
  body.ct-theme.ct-premium[data-ct-page="sign_up"] .signup-container,
  body.ct-theme.ct-premium[data-ct-page="contact_us"] .contact-page,
  body.ct-theme.ct-premium[data-ct-page="shopping_cart"] .cart-page,
  body.ct-theme.ct-premium[data-ct-page="compare"] :is(.compare-card,.compare-table) { padding: 28px 0 46px; }
  body.ct-theme.ct-premium[data-ct-page="compare"] .compare-card .row > [class*="col-"] { margin-bottom: 16px; }
  body.ct-theme.ct-premium[data-ct-page="404"] .error-body img { max-width: 300px; margin: 0 auto 22px; display: block; }
}
