/* ==========================================================================
   Unified course pages — one design system for every course page.
   Loaded last, only on pages with .wp-page--unified.
   Brand theme: orange / gray / navy (logo colours). Kids theme: purple.
   Presentation only: no content is hidden permanently.
   ========================================================================== */

.ec-page.wp-page--unified {
  --u-accent: #f97316;
  --u-accent-deep: #ea580c;
  --u-accent-soft: #fff7ed;
  --u-accent-line: #fed7aa;
  --u-ink: #16325c;
  --u-ink-deep: #0f172a;
  --u-text: #334155;
  --u-muted: #64748b;
  --u-line: #e2e8f0;
  --u-band: #f8fafc;
  --u-band-strong: #f1f5f9;
  --u-card: #ffffff;
  --u-shadow: 0 10px 30px -18px rgba(15, 23, 42, 0.28);
  --u-shadow-hover: 0 18px 40px -20px rgba(15, 23, 42, 0.35);
  --u-radius: 18px;
  --u-wrap: 72rem;
  --u-space: clamp(40px, 5.2vw, 76px);
  /* Type scale */
  --u-h1: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);
  --u-h2: clamp(1.32rem, 1.05rem + 1.05vw, 1.9rem);
  --u-h3: clamp(1rem, 0.95rem + 0.25vw, 1.12rem);
  --u-body: clamp(0.95rem, 0.92rem + 0.12vw, 1.03rem);
  --u-small: 0.88rem;
  /* Existing course rules pick these up, so both themes stay consistent. */
  --course-ink: var(--u-ink-deep);
  --course-muted: var(--u-text);
  --course-line: var(--u-line);
  --course-soft: var(--u-band);
  --course-navy: var(--u-ink);
  --course-navy-deep: var(--u-ink-deep);
  --course-orange: var(--u-accent);
  --course-orange-deep: var(--u-accent-deep);
  background: #fff;
  color: var(--u-text);
}

.ec-page.wp-page--unified.wp-theme--kids {
  --u-accent: #7c3aed;
  --u-accent-deep: #6d28d9;
  --u-accent-soft: #f5f3ff;
  --u-accent-line: #ddd6fe;
  --u-ink: #3b0764;
  --u-ink-deep: #2e1065;
  --u-text: #3f3a52;
  --u-muted: #6b6480;
  --u-line: #e9e3f7;
  --u-band: #faf7ff;
  --u-band-strong: #f3edff;
  --u-shadow: 0 10px 30px -18px rgba(76, 29, 149, 0.3);
  --u-shadow-hover: 0 18px 40px -20px rgba(76, 29, 149, 0.38);
}

/* ── Section rhythm: alternating bands, one spacing, one width ─────────── */
.ec-page.wp-page--unified .wp-u-band--a { background: #fff; }
.ec-page.wp-page--unified .wp-u-band--b { background: var(--u-band); }

.ec-page.wp-page--unified .wp-u-band > .wp-sec:not(.wp-sec--hero) {
  background: transparent !important;
  padding-block: var(--u-space) !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: inherit;
}
.ec-page.wp-page--unified .wp-u-band > .wp-sec:not(.wp-sec--hero)::before,
.ec-page.wp-page--unified .wp-u-band > .wp-sec:not(.wp-sec--hero)::after { display: none !important; }

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) > .ec-wrap,
.ec-page.wp-page--unified .wp-u-note > .ec-wrap,
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy {
  width: min(100% - 32px, var(--u-wrap)) !important;
  max-width: var(--u-wrap) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* Contrast surfaces read as normal bands so every page has the same rhythm. */
.ec-page.wp-page--unified .wp-u-band .wp-surface--contrast .ec-h2,
.ec-page.wp-page--unified .wp-u-band .wp-surface--contrast .ec-h3,
.ec-page.wp-page--unified .wp-u-band .wp-surface--contrast .wp-typo-heading { color: var(--u-ink) !important; }
.ec-page.wp-page--unified .wp-u-band .wp-surface--contrast .ec-lead,
.ec-page.wp-page--unified .wp-u-band .wp-surface--contrast .wp-typo-desc { color: var(--u-text) !important; }

/* ── Typography ────────────────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-sec--hero .ec-h1 {
  font-size: var(--u-h1) !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  font-weight: 900 !important;
}

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-h2,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-heading.ec-h2 {
  font-size: var(--u-h2) !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  font-weight: 850 !important;
  color: var(--u-ink) !important;
  margin: 0 0 0.85rem !important;
  text-align: start !important;
  max-width: none !important;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-h2::before {
  content: "" !important;
  display: block !important;
  width: 44px !important;
  height: 4px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, var(--u-accent), var(--u-accent-deep)) !important;
  margin: 0 0 0.8rem !important;
  position: static !important;
  transform: none !important;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-h2::after { display: none !important; }

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-h3 {
  font-size: var(--u-h3) !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  font-weight: 800 !important;
  color: var(--u-ink) !important;
  margin: 0 0 0.4rem !important;
}

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-kicker,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-sub {
  color: var(--u-accent-deep) !important;
  font-size: var(--u-small) !important;
  font-weight: 800 !important;
}

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__head {
  max-width: none !important;
  margin-inline: 0 !important;
  margin-bottom: clamp(1.1rem, 2vw, 1.6rem) !important;
  text-align: start !important;
}

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .ec-lead,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro,
.ec-page.wp-page--unified .wp-u-note__text {
  font-size: var(--u-body) !important;
  line-height: 2.05 !important;
  color: var(--u-text) !important;
  font-weight: 400 !important;
  max-width: none !important;
  text-align: start !important;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc p,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro p { margin: 0 0 0.85rem; }
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc > :last-child,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro > :last-child { margin-bottom: 0; }
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc strong { color: var(--u-ink); font-weight: 800; }

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc ul,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro ul,
.ec-page.wp-page--unified .wp-card ul,
.ec-page.wp-page--unified .wp-timeline ul {
  list-style: none;
  padding: 0;
  margin: 0.4rem 0 0.9rem;
  display: grid;
  gap: 0.45rem;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc ul > li,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro ul > li,
.ec-page.wp-page--unified .wp-card ul > li,
.ec-page.wp-page--unified .wp-timeline ul > li {
  position: relative;
  padding-inline-start: 1.35rem;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc ul > li::before,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-sec__outro ul > li::before,
.ec-page.wp-page--unified .wp-card ul > li::before,
.ec-page.wp-page--unified .wp-timeline ul > li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0.2rem;
  top: 0.85em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--u-accent);
  box-shadow: 0 0 0 3px var(--u-accent-soft);
}

.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) a:not([class]),
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc a:not(.ec-btn):not(.wp-card__btn),
.ec-page.wp-page--unified .wp-card__body a:not(.wp-card__btn),
.ec-page.wp-page--unified .wp-faq__body a {
  color: var(--u-accent-deep) !important;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
  text-decoration-color: var(--u-accent-line);
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) a:not([class]):hover { text-decoration-color: currentColor; }

.ec-page.wp-page--unified .wp-en { unicode-bidi: isolate; direction: ltr; }

.ec-page.wp-page--unified .wp-sec__outro {
  margin-top: clamp(1.1rem, 2vw, 1.5rem) !important;
}

/* ── Cards ─────────────────────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-cards { gap: clamp(12px, 1.6vw, 18px) !important; }
.ec-page.wp-page--unified .wp-card {
  background: var(--u-card) !important;
  border: 1px solid var(--u-line) !important;
  border-radius: var(--u-radius) !important;
  box-shadow: var(--u-shadow) !important;
  padding: clamp(1rem, 1.6vw, 1.35rem) !important;
  text-align: start !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.ec-page.wp-page--unified .wp-card:hover {
  transform: translateY(-3px);
  border-color: var(--u-accent-line) !important;
  box-shadow: var(--u-shadow-hover) !important;
}
.ec-page.wp-page--unified .wp-card__icon:not(.wp-card__icon--image) {
  background: var(--u-accent-soft) !important;
  color: var(--u-accent-deep) !important;
  border: 1px solid var(--u-accent-line) !important;
  border-radius: 14px !important;
}
.ec-page.wp-page--unified .wp-card__body,
.ec-page.wp-page--unified .wp-card__body p,
.ec-page.wp-page--unified .wp-card__body li {
  font-size: calc(var(--u-body) - 0.04rem) !important;
  line-height: 1.95 !important;
  color: var(--u-text) !important;
}
.ec-page.wp-page--unified .wp-card,
.ec-page.wp-page--unified .wp-card * { text-align: start !important; }
.ec-page.wp-page--unified .wp-card__body { display: block !important; }
.ec-page.wp-page--unified .wp-card__body p { margin: 0 0 0.6rem !important; }
.ec-page.wp-page--unified .wp-card__body > :last-child { margin-bottom: 0 !important; }
.ec-page.wp-page--unified .wp-card__badge {
  background: var(--u-accent) !important;
  color: #fff !important;
}
.ec-page.wp-page--unified .wp-card__btn {
  background: var(--u-accent) !important;
  border-color: var(--u-accent) !important;
  color: #fff !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}
.ec-page.wp-page--unified .wp-card__btn:hover { background: var(--u-accent-deep) !important; }

/* ── «در یک نگاه» table ───────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-glance {
  background: var(--u-card);
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  box-shadow: var(--u-shadow);
  overflow: hidden;
}
.ec-page.wp-page--unified .wp-glance__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--u-body);
}
.ec-page.wp-page--unified .wp-glance__table th,
.ec-page.wp-page--unified .wp-glance__table td {
  padding: 0.9rem 1.15rem;
  border-bottom: 1px solid var(--u-line);
  text-align: start;
  vertical-align: top;
  line-height: 1.9;
}
.ec-page.wp-page--unified .wp-glance__table th {
  width: 30%;
  background: var(--u-accent-soft);
  color: var(--u-ink);
  font-weight: 800;
  border-inline-end: 3px solid var(--u-accent);
}
.ec-page.wp-page--unified .wp-glance__table td { color: var(--u-text); }
.ec-page.wp-page--unified .wp-glance__table td p { margin: 0; }
.ec-page.wp-page--unified .wp-glance__table tr:last-child > * { border-bottom: 0; }
.ec-page.wp-page--unified .wp-glance__table tr:nth-child(even) td { background: var(--u-band); }

/* Tables inside rich text / table sections share the same look. */
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc table,
.ec-page.wp-page--unified .wp-sec--table table {
  border-collapse: collapse;
  width: 100%;
  background: var(--u-card);
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  overflow: hidden;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc th,
.ec-page.wp-page--unified .wp-sec--table th {
  background: var(--u-ink) !important;
  color: #fff !important;
  font-weight: 800;
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc th,
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc td,
.ec-page.wp-page--unified .wp-sec--table th,
.ec-page.wp-page--unified .wp-sec--table td {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--u-line);
  text-align: start;
  line-height: 1.85;
}

/* ── Timeline ─────────────────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-timeline {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: none;
  display: grid;
  gap: 14px;
  position: relative;
}
.ec-page.wp-page--unified .wp-timeline__step {
  list-style: none !important;
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  background: var(--u-card);
  border: 1px solid var(--u-line);
  border-radius: var(--u-radius);
  box-shadow: var(--u-shadow);
  padding: 1rem 1.1rem;
  position: relative;
}
.ec-page.wp-page--unified .wp-timeline__step::marker { content: none; }
.ec-page.wp-page--unified .wp-timeline__step::before { display: none !important; }
.ec-page.wp-page--unified .wp-timeline__marker {
  position: static !important;
  display: grid !important;
  place-items: center;
  width: 44px !important;
  height: 44px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, var(--u-accent), var(--u-accent-deep)) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 1.05rem !important;
  box-shadow: 0 8px 18px -10px var(--u-accent) !important;
  transform: none !important;
}
.ec-page.wp-page--unified .wp-timeline__body {
  font-size: var(--u-body);
  line-height: 1.95;
  color: var(--u-text);
  padding: 0 !important;
  margin: 0 !important;
}
.ec-page.wp-page--unified .wp-timeline__body p { margin: 0 0 0.5rem; }
.ec-page.wp-page--unified .wp-timeline__body > :last-child { margin-bottom: 0; }

/* ── Split (image + text) ─────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-split__media img {
  border-radius: var(--u-radius) !important;
  box-shadow: var(--u-shadow-hover) !important;
}
.ec-page.wp-page--unified .wp-split { align-items: start !important; gap: clamp(18px, 3vw, 40px) !important; }
.ec-page.wp-page--unified .wp-split__media { position: sticky; top: 96px; }
@media (max-width: 860px) {
  .ec-page.wp-page--unified .wp-split__media { position: static; }
}

/* ── FAQ ──────────────────────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-faq { gap: 10px !important; }
.ec-page.wp-page--unified .wp-faq__item {
  background: var(--u-card) !important;
  border: 1px solid var(--u-line) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden;
}
.ec-page.wp-page--unified .wp-faq__item[open],
.ec-page.wp-page--unified details.wp-faq__item[open] {
  background: var(--u-card) !important;
  background-color: var(--u-card) !important;
  border-color: var(--u-accent-line) !important;
  box-shadow: var(--u-shadow) !important;
}
.ec-page.wp-page--unified .wp-faq-layout { display: block !important; }
.ec-page.wp-page--unified .wp-faq { max-width: none !important; width: 100% !important; margin: 0 !important; }
.ec-page.wp-page--unified .wp-faq__body { background: transparent !important; }
.ec-page.wp-page--unified .wp-faq__item[open] .wp-faq__summary { background: var(--u-accent-soft) !important; }
.ec-page.wp-page--unified .wp-faq__summary {
  color: var(--u-ink) !important;
  font-weight: 800 !important;
  font-size: var(--u-body) !important;
  line-height: 1.8 !important;
  background: transparent !important;
}
.ec-page.wp-page--unified .wp-faq__num {
  background: var(--u-accent) !important;
  color: #fff !important;
}
.ec-page.wp-page--unified .wp-faq__item p,
.ec-page.wp-page--unified .wp-faq__item li {
  font-size: var(--u-body) !important;
  line-height: 2 !important;
  color: var(--u-text) !important;
}

/* ── Hero buttons follow the theme ────────────────────────────────────── */
.ec-page.wp-page--unified .wp-sec--hero .ec-btn--primary {
  background: var(--u-accent) !important;
  border-color: var(--u-accent) !important;
  color: #fff !important;
}
.ec-page.wp-page--unified .wp-sec--hero .ec-btn--primary:hover { background: var(--u-accent-deep) !important; }

/* ── CTA bands ────────────────────────────────────────────────────────── */
html body .ec-page.wp-page--unified .wp-u-cta > .wp-sec.wp-sec--cta,
html body .ec-page.wp-page--unified .wp-u-cta > .wp-sec.wp-sec--cta:has(.cta-action-strip) {
  background:
    radial-gradient(60rem 16rem at 85% 0%, var(--u-accent-soft), transparent 70%),
    var(--u-band-strong) !important;
  border: 0 !important;
  border-block: 1px solid var(--u-line) !important;
  padding: clamp(22px, 3vw, 36px) 0 !important;
  margin: 0 !important;
}
html body .ec-page.wp-page--unified .wp-u-cta--final > .wp-sec.wp-sec--cta,
html body .ec-page.wp-page--unified .wp-u-cta--final > .wp-sec.wp-sec--cta:has(.cta-action-strip) {
  background:
    radial-gradient(50rem 20rem at 80% 0%, var(--u-accent-soft), transparent 70%),
    linear-gradient(180deg, var(--u-band-strong), #fff) !important;
  border-top: 3px solid var(--u-accent) !important;
  border-bottom: 0 !important;
  padding: clamp(34px, 5vw, 64px) 0 clamp(34px, 5vw, 60px) !important;
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy { text-align: center; margin-bottom: 1.25rem !important; }
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .ec-h2 {
  font-size: var(--u-h2) !important;
  line-height: 1.6 !important;
  font-weight: 850 !important;
  color: var(--u-ink) !important;
  margin: 0 0 0.6rem !important;
  text-align: center !important;
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .ec-h2::before {
  content: "" !important;
  display: block !important;
  width: 44px !important;
  height: 4px !important;
  border-radius: 99px !important;
  background: linear-gradient(90deg, var(--u-accent), var(--u-accent-deep)) !important;
  margin: 0 auto 0.8rem !important;
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .wp-typo-desc,
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .wp-typo-desc p {
  font-size: var(--u-body) !important;
  line-height: 2.05 !important;
  color: var(--u-text) !important;
  text-align: center !important;
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .wp-typo-desc {
  max-width: 56rem !important;
  margin-inline: auto !important;
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .wp-typo-desc p { margin: 0 0 0.6rem; }
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy .wp-typo-desc strong { color: var(--u-ink) !important; }
.ec-page.wp-page--unified .wp-u-cta .wp-cta-copy a:not([class]) {
  color: var(--u-accent-deep) !important;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-color: var(--u-accent-line);
}
.ec-page.wp-page--unified .wp-u-cta .wp-cta-note { color: var(--u-text) !important; text-align: center; }

/* Kids theme: CTA strip buttons in purple. */
.ec-page.wp-page--unified.wp-theme--kids .cta-action-strip__btn--blue,
.ec-page.wp-page--unified.wp-theme--kids .cta-action-strip__action--blue .cta-action-strip__btn {
  background: var(--u-accent) !important;
  border-color: var(--u-accent) !important;
  box-shadow: 0 8px 18px -10px rgba(124, 58, 237, 0.7) !important;
}
.ec-page.wp-page--unified.wp-theme--kids .cta-action-strip__action--blue:hover .cta-action-strip__btn--blue {
  background: var(--u-accent-deep) !important;
  border-color: var(--u-accent-deep) !important;
}
.ec-page.wp-page--unified.wp-theme--kids .cta-action-strip__btn--orange,
.ec-page.wp-page--unified.wp-theme--kids .cta-action-strip__action--orange .cta-action-strip__btn {
  border-color: var(--u-accent-line) !important;
  color: var(--u-ink) !important;
}

/* CTA copy kept as a callout (when a CTA is not used as a band). */
.ec-page.wp-page--unified .wp-u-note { padding-block: 0 clamp(14px, 2vw, 22px); background: inherit; }
.ec-page.wp-page--unified .wp-u-note__box {
  background: var(--u-accent-soft);
  border: 1px solid var(--u-accent-line);
  border-inline-start: 4px solid var(--u-accent);
  border-radius: 14px;
  padding: 1rem 1.2rem;
}
.ec-page.wp-page--unified .wp-u-note__title {
  margin: 0 0 0.35rem;
  color: var(--u-ink);
  font-weight: 800;
  font-size: var(--u-body);
}
.ec-page.wp-page--unified .wp-u-note__text { margin: 0; }

/* ── Motion per section type ──────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .ec-page.wp-page--unified [data-wp-motion="rise"] .ec-reveal { transform: translateY(24px) scale(0.985); }
  .ec-page.wp-page--unified [data-wp-motion="slide"] .ec-reveal { transform: translateX(32px); }
  .ec-page.wp-page--unified [data-wp-motion="side"] .wp-split__media.ec-reveal { transform: translateX(-36px); }
  .ec-page.wp-page--unified [data-wp-motion="side"] .wp-split__copy.ec-reveal { transform: translateX(36px); }
  .ec-page.wp-page--unified [data-wp-motion="fade"] .ec-reveal { transform: translateY(10px); }
  .ec-page.wp-page--unified [data-wp-motion="pop"] .ec-reveal { transform: scale(0.96); }
  .ec-page.wp-page--unified .wp-u-m--head.ec-reveal { transform: translateY(14px); }
  .ec-page.wp-page--unified [data-wp-motion] .ec-reveal.is-in,
  .ec-page.wp-page--unified .wp-u-m--head.ec-reveal.is-in { opacity: 1; transform: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ec-page.wp-page--unified .ec-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .ec-page.wp-page--unified .wp-card:hover { transform: none; }
}

/* ── Phone sticky CTA bar ─────────────────────────────────────────────── */
.ec-page.wp-page--unified .wp-u-sticky { display: none; }
@media (max-width: 720px) {
  .ec-page.wp-page--unified .wp-u-sticky {
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    gap: 8px;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    z-index: 998;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(255, 255, 255, 0.94);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border-top: 1px solid var(--u-line);
    box-shadow: 0 -10px 30px -18px rgba(15, 23, 42, 0.35);
    transform: translateY(110%);
    transition: transform 0.28s ease;
  }
  .ec-page.wp-page--unified .wp-u-sticky.is-on { transform: none; }
  .ec-page.wp-page--unified .wp-u-sticky__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 0.9rem;
    text-decoration: none;
    white-space: nowrap;
  }
  .ec-page.wp-page--unified .wp-u-sticky__btn--primary { background: var(--u-accent); color: #fff; }
  .ec-page.wp-page--unified .wp-u-sticky__btn--ghost {
    background: #fff;
    color: var(--u-ink);
    border: 1.5px solid var(--u-line);
  }
  /* WhatsApp bubble sits above the bar and stays small, so it never covers text. */
  body.wp-u-sticky-on .wa-float { bottom: calc(80px + env(safe-area-inset-bottom, 0px)) !important; }
  body:has(.wp-page--unified) .wa-float { width: 46px !important; height: 46px !important; left: 12px !important; transition: bottom 0.28s ease; }
  body:has(.wp-page--unified) .wa-float svg { width: 22px; height: 22px; }

  .ec-page.wp-page--unified .wp-glance__table th { width: 36%; font-size: 0.86rem; padding: 0.75rem 0.8rem; }
  .ec-page.wp-page--unified .wp-glance__table td { font-size: 0.9rem; padding: 0.75rem 0.8rem; }
  .ec-page.wp-page--unified .wp-timeline__step { grid-template-columns: 40px minmax(0, 1fr); padding: 0.9rem; gap: 12px; }
  .ec-page.wp-page--unified .wp-timeline__marker { width: 38px !important; height: 38px !important; border-radius: 12px !important; }
}

/* ── Hero CTA pair (shared partial) follows the theme on kids pages ───── */
html body .ec-page.wp-page--unified.wp-theme--kids .da-hero-cta__btn--primary {
  background: var(--u-accent) !important;
  border-color: var(--u-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 22px -12px rgba(124, 58, 237, 0.8) !important;
}
html body .ec-page.wp-page--unified.wp-theme--kids .da-hero-cta__btn--primary:hover {
  background: var(--u-accent-deep) !important;
  border-color: var(--u-accent-deep) !important;
}

/* Tables written inside section text use the full width. */
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.6rem 0 1rem !important;
  box-shadow: var(--u-shadow);
}
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc td { color: var(--u-text) !important; }
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc tbody tr:nth-child(even) td { background: var(--u-band); }
.ec-page.wp-page--unified .wp-sec:not(.wp-sec--hero) .wp-typo-desc tbody th { background: var(--u-accent-soft) !important; color: var(--u-ink) !important; }

/* Lists of short items sit in columns instead of one long column. */
.ec-page.wp-page--unified ul.wp-u-list--short {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)) !important;
  column-gap: 1rem !important;
}
.ec-page.wp-page--unified ul.wp-u-list--short > li {
  background: var(--u-card);
  border: 1px solid var(--u-line);
  border-radius: 12px;
  padding: 0.55rem 0.9rem !important;
  padding-inline-start: 1.9rem !important;
  line-height: 1.8;
}
.ec-page.wp-page--unified ul.wp-u-list--short > li::before { inset-inline-start: 0.85rem !important; top: 1.15em !important; }
