/* Kids skin: everything is scoped under .theme-kids so nothing leaks to the rest of the site. */
.theme-kids {
  --kid-pink: #F4C6DA;
  --kid-butter: #FBE7A8;
  --kid-mint: #BFE8DC;
  --kid-sky: #C4DEF6;
  --kid-accent: #B8467E;
  --kid-accent-dark: #9C3568;
  --kid-ink: #3A2A44;
  --kid-ink-2: #6B5A75;
  --kid-line: #F0D3E0;
  --kid-soft: #FDF1F6;
}

.theme-kids .font-display {
  font-family: "Fredoka", "Inter", system-ui, sans-serif;
  letter-spacing: 0;
}
.theme-kids h1, .theme-kids h2, .theme-kids h3 { color: var(--kid-ink); }

/* Page header */
.theme-kids .cb-page-header {
  background: var(--kid-soft);
  border-bottom: 1px solid var(--kid-line);
}
.theme-kids .cb-page-header .text-gradient {
  background: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: var(--kid-accent);
  color: var(--kid-accent);
}
.theme-kids .cb-page-header p { color: var(--kid-ink-2); }

/* Chips and sort select */
.theme-kids .cb-chip {
  background: var(--kid-soft);
  border: 1px solid var(--kid-line);
  color: #7A2D52;
  font-weight: 500;
}
.theme-kids .cb-chip:hover { border-color: var(--kid-accent); color: var(--kid-accent-dark); }
.theme-kids .cb-chip[data-active="true"] {
  background: var(--kid-accent);
  border-color: var(--kid-accent);
  color: #fff;
  box-shadow: none;
}
.theme-kids .cb-chip:focus-visible { outline: 2px solid var(--kid-accent); }
.theme-kids .cb-select { border-color: var(--kid-line); color: var(--kid-ink); }

/* Cards */
.theme-kids .cb-kid-card:hover { border-color: var(--kid-accent); }

/* Call to action */
.theme-kids .cb-cta {
  background: var(--kid-soft);
  background-image: none;
}
.theme-kids .cb-cta h2 { color: var(--kid-ink); }
.theme-kids .cb-cta p { color: var(--kid-ink-2); }
.theme-kids .cb-cta a,
.theme-kids .cb-cta button {
  background: var(--kid-accent);
  color: #fff;
  border-radius: 9999px;
  box-shadow: none;
}

/* Course page */
.theme-kids .cb-badge { background: var(--kid-butter); color: #6B4E00; }
.theme-kids .cb-meta-chip {
  background: var(--kid-soft);
  border-color: var(--kid-line);
  color: #7A2D52;
}
.theme-kids .cb-step-num { background: var(--kid-mint); color: #1F5F52; border-radius: 9999px; }
.theme-kids .cb-price-card {
  border-color: var(--kid-line);
  border-radius: 20px;
  box-shadow: none;
}
.theme-kids .cb-price-card [data-open-enroll-modal] {
  background: var(--kid-accent);
  border-radius: 9999px;
  box-shadow: none;
}
.theme-kids .cb-price-card [data-open-enroll-modal]:hover { background: var(--kid-accent-dark); }

/* Soft wave under the page header */
.theme-kids .cb-page-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 18px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 18' preserveAspectRatio='none'><path d='M0 18V8c100 10 200 10 300 0s200-10 300 0 200 10 300 0 200-10 300 0v10z' fill='white'/></svg>") center / 100% 100% no-repeat;
}

@media (prefers-reduced-motion: reduce) {
  .theme-kids .cb-kid-card { transition: none; }
  .theme-kids .cb-kid-card:hover { transform: none; }
}

/* Keep the footer enroll modal out of the kids theme */
.theme-kids #cb-enroll-modal .font-display { font-family: "Space Grotesk", sans-serif; }
.theme-kids #cb-enroll-modal h2, .theme-kids #cb-enroll-modal h3 { color: #0f172a; }

/* Visible keyboard focus */
.theme-kids .cb-cta a:focus-visible, .theme-kids .cb-cta button:focus-visible, .theme-kids .cb-kid-card:focus-visible { outline: 2px solid var(--kid-accent); outline-offset: 2px; }
