/* Content pages — newDesign overrides (lesson, quiz, hubs, expressions, troubleshooting) */

/* ——— Page masthead — video/listening/expressions/help (*.dc.html) ——— */

.lesson-masthead::before,
.lesson-masthead::after {
  display: none;
}

.lesson-masthead.page-masthead.lesson-masthead--no-num,
.page-masthead.lesson-masthead--no-num {
  max-width: none;
  margin: 0;
  padding: 44px 0 24px;
  overflow: visible;
  background: transparent;
  color: #211c16;
  border: none;
  border-radius: 0;
  box-shadow: none;
}

.lesson-masthead--no-num .lesson-masthead__row {
  display: block;
}

.lesson-masthead--no-num .lesson-masthead__main {
  display: flex;
  flex-direction: column;
}

.lesson-masthead--no-num .lesson-masthead__level {
  order: 1;
}

.lesson-masthead--no-num .lesson-masthead__title {
  order: 2;
}

.lesson-masthead--no-num .lesson-masthead__lesson {
  order: 3;
}

.lesson-masthead--no-num .lesson-masthead__num {
  display: none;
}

.lesson-masthead--no-num .lesson-masthead__level {
  font: 600 12px/1 'Public Sans', var(--font-sans);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #c8562f;
  margin: 0 0 14px;
}

.lesson-masthead--no-num .lesson-masthead__title {
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 800;
  font-size: var(--masthead-title-size, 42px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: #211c16;
  margin: 0 0 12px;
}

.lesson-masthead--no-num .lesson-masthead__lesson {
  font-family: 'Public Sans', var(--font-sans);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.6;
  color: #5f594f;
  margin: 0;
  max-width: 640px;
  text-wrap: pretty;
}

/* Colored lesson mast — lesson.dc.html approximate */
.lesson-masthead:not(.lesson-masthead--no-num) {
  margin-bottom: var(--space-xl);
  padding: 1.75rem 2rem;
  overflow: visible;
  background: var(--accent-level, var(--bg-dark));
  color: var(--text-inverse);
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: none;
}

.lesson-masthead__row {
  align-items: start;
}

.lesson-masthead__num {
  width: 3rem;
  height: 3rem;
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--accent-level, var(--level-blue));
  background: rgb(255 255 255 / 18%);
  border-radius: 6px;
  box-shadow: none;
}

.lesson-masthead__level {
  color: rgb(255 255 255 / 85%);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lesson-masthead__lesson {
  color: rgb(255 255 255 / 80%);
  font-size: var(--masthead-lesson-label-size, 0.9375rem);
  font-weight: 500;
  line-height: 1.5;
  margin: 0 0 0.35rem;
}

.lesson-masthead:not(.lesson-masthead--no-num) .lesson-masthead__title {
  color: inherit;
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 800;
  font-size: var(--masthead-title-size, 42px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin: 0 0 10px;
}

/*
 * Lesson / exercise / quiz share the coloured banner.
 * Section hubs (video, listening, expressions) keep --no-num orange eyebrow.
 */
.lesson-page .lesson-masthead.lesson-masthead--no-num,
.quiz-page .lesson-masthead.lesson-masthead--no-num {
  max-width: none;
  margin-bottom: var(--space-xl);
  padding: 1.75rem 2rem;
  overflow: visible;
  background: var(--accent-level, var(--bg-dark));
  color: var(--text-inverse);
  border: none;
  border-radius: var(--radius-lg);
  box-shadow: none;
}

.lesson-page .lesson-masthead--no-num .lesson-masthead__level,
.quiz-page .lesson-masthead--no-num .lesson-masthead__level {
  order: unset;
  margin: 0 0 0.4rem;
  font-family: var(--font-sans, 'Public Sans', sans-serif);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgb(255 255 255 / 85%);
}

.lesson-page .lesson-masthead--no-num .lesson-masthead__title,
.quiz-page .lesson-masthead--no-num .lesson-masthead__title {
  order: unset;
  margin: 0 0 10px;
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 800;
  font-size: var(--masthead-title-size, 42px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  color: inherit;
}

.lesson-page .lesson-masthead--no-num .lesson-masthead__lesson,
.quiz-page .lesson-masthead--no-num .lesson-masthead__lesson {
  order: unset;
  margin: 0;
  max-width: none;
  font-family: var(--font-sans, 'Public Sans', sans-serif);
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  color: rgb(255 255 255 / 80%);
}

.page-masthead__extra {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgb(255 255 255 / 20%);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgb(255 255 255 / 90%);
}

.lesson-masthead--no-num .page-masthead__extra {
  border-top: none;
  padding-top: 0;
  margin-top: 0;
  color: #5f594f;
}

.page-masthead__checklist a {
  color: inherit;
  font-weight: 700;
}

/* ——— Lesson body ——— */

.lesson-page {
  max-width: none;
  width: 100%;
}

.lesson-block {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: none;
}

.lesson-block__icon {
  color: var(--accent-level, var(--level-blue));
  background: #eaf1f9;
}

.lesson-block h2,
.lesson-block__title {
  font-weight: 700;
}

.lesson-tip {
  background: var(--bg-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

/* Soft speaker badges — A and B both readable (B was dark fill from patterns) */
.lesson-dialogue {
  width: 100%;
}

.lesson-dialogue__line {
  width: 100%;
  box-sizing: border-box;
}

.lesson-dialogue__who {
  background: color-mix(in srgb, var(--accent-level, var(--level-blue)) 12%, var(--bg-page));
  color: var(--accent-level, var(--level-blue));
}

.lesson-dialogue__line--b .lesson-dialogue__who {
  background: color-mix(in srgb, var(--accent-level, var(--level-blue)) 12%, var(--bg-page));
  color: var(--accent-level, var(--level-blue));
}

.lesson-next__link {
  display: inline-block;
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  color: #fff;
  background: var(--accent-level, #2f6db5);
  padding: 14px 22px;
  border-radius: 6px;
  text-decoration: none;
}

.lesson-next__link:hover {
  filter: brightness(0.95);
  text-decoration: none;
}

/* ——— Quiz ——— */

.quiz-page {
  position: relative;
  width: 100%;
  max-width: min(100%, 1180px);
  margin: 0 auto;
  padding-inline: clamp(0.75rem, 2vw, 1.25rem);
  box-sizing: border-box;
}

.quiz-page > .lesson-masthead,
.quiz-page > .page-masthead {
  padding-right: 5.75rem;
  margin-bottom: 1.5rem;
}

.quiz-page .lesson-masthead__title,
.quiz-page .lesson-masthead--no-num .lesson-masthead__title {
  font-size: var(--masthead-title-size, 42px);
}

/* Kill lesson prose caps inside quizzes (40rem lists / hero h3). */
.quiz-page .lae-lesson-shell__inner {
  width: 100%;
  max-width: none;
  margin: 0;
  text-align: left;
}

.quiz-page .lae-lesson-shell__inner .wp-block-list,
.quiz-page .lae-lesson-shell__inner ol,
.quiz-page .lae-lesson-shell__inner ul,
.quiz-page .lae-lesson-shell__inner .quiz-question-list {
  max-width: none !important;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}.quiz-page .lae-lesson-shell__inner > h2,
.quiz-page .lae-lesson-shell__inner > h3,
.quiz-page .lae-lesson-shell__inner > h3.wp-block-heading{
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
  text-align: left;
  color: var(--accent-level, var(--level-blue));
}.quiz-page .lae-lesson-shell__inner > p:not(.lae-exercise-footer-link):not(.lae-exercise-footer-or),
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph:not(.lae-exercise-footer-link):not(.lae-exercise-footer-or){
  max-width: none;
  margin-left: 0;
  margin-right: 0;
  text-align: left;
  font-size: 1rem;
  line-height: 1.55;
}

/* Quiz fill-in cards — match design quiz-part (full width, clean border). */
.quiz-page .lae-lesson-shell__inner > .lae-exercise-card,
.quiz-page .lae-lesson-shell__inner > .wp-block-group.lae-exercise-card {
  width: 100%;
  max-width: none;
  margin: 0 0 1.25rem;
  padding: 1.5rem 1.75rem;
  border-radius: 12px;
  border: 1px solid var(--border, #eae2d4);
  box-shadow: none;
  background: #fff;
}

.quiz-page .lae-exercise-card > p,
.quiz-page .lae-exercise-card .wp-block-group__inner-container > p,
.quiz-page .lae-exercise-card .wp-block-paragraph {
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}

/* Brand line under masthead — quiet, centered */
.quiz-page .lae-lesson-shell__inner > p.has-text-align-center:first-child {
  margin: 0 0 1.25rem;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted, #8a8377);
  text-align: center !important;
}

/* Answers CTA — quiz-footer card + link (not left-ragged plain text). */
.quiz-page .lae-lesson-shell__inner > p.lae-exercise-footer-link,
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph.lae-exercise-footer-link {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem 0.5rem;
  width: 100%;
  max-width: none;
  margin: 0.25rem 0 0 !important;
  padding: clamp(1rem, 2.5vw, 1.35rem) clamp(1.25rem, 3vw, 1.75rem) !important;
  box-sizing: border-box;
  font-family: var(--font-sans, 'Public Sans', sans-serif);
  font-size: 0.975rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: right !important;
  color: var(--text-secondary, #5f594f);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent-level, var(--level-blue)) 6%, var(--bg-page, #f7f4ef)) 0%,
    var(--bg-page, #f7f4ef) 72%
  );
  border: 1px solid color-mix(in srgb, var(--accent-level, var(--level-blue)) 16%, var(--border, #eae2d4));
  border-radius: var(--radius-lg, 12px);
  box-shadow:
    0 1px 2px rgb(28 25 23 / 4%),
    0 10px 28px color-mix(in srgb, var(--accent-level, var(--level-blue)) 7%, transparent);
}

.quiz-page .lae-lesson-shell__inner > p.lae-exercise-footer-link a,
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph.lae-exercise-footer-link a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.45rem;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-weight: 600 !important;
  color: var(--accent-level, var(--level-blue)) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.quiz-page .lae-lesson-shell__inner > p.lae-exercise-footer-link a::after {
  content: '→';
  font-size: 0.875rem;
  opacity: 0.55;
}

.quiz-page .lae-lesson-shell__inner > p.lae-exercise-footer-link a:hover {
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
  color: color-mix(in srgb, var(--accent-level, var(--level-blue)) 82%, #000) !important;
  background: transparent !important;
  border: none !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .quiz-page .lae-lesson-shell__inner > p.lae-exercise-footer-link,
  .quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph.lae-exercise-footer-link {
    justify-content: flex-start;
    text-align: left !important;
  }
}

/* Write-by-hand → top-right like design quiz-masthead__write */
.quiz-page .lae-lesson-shell__inner > .wp-block-image.lesson-decor-image:first-child {
  position: absolute;
  top: 0.35rem;
  right: clamp(0.75rem, 2vw, 1.25rem);
  z-index: 2;
  display: block;
  margin: 0;
  padding: 0.375rem;
  background: var(--bg-page, #f7f4ef);
  border: 1px solid color-mix(in srgb, var(--accent-level, var(--level-blue)) 14%, var(--border));
  border-radius: var(--radius, 8px);
  box-shadow: var(--shadow-sm, 0 1px 2px rgb(0 0 0 / 6%));
}

/* Long titles must not collide with the floating write-by-hand badge. */
.quiz-page:has(.lesson-decor-image) .lesson-masthead__main,
.quiz-page:has(.lesson-decor-image) .lesson-masthead__title {
  padding-right: calc(73px + 2.25rem);
  box-sizing: border-box;
}
.quiz-page .lae-lesson-shell__inner > .wp-block-image.lesson-decor-image:first-child img{
  display: block;
  width: 73px;
  max-width: 73px;
  height: auto;
}

/* Single-column sheet — full content width, stacked parts */
.quiz-page .wp-block-group.quiz-sheet,
.quiz-page .quiz-sheet {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  max-width: none;
}

.quiz-page .wp-block-group.quiz-row,
.quiz-page .quiz-row,
.quiz-sheet .quiz-row {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
  max-width: none;
}

.quiz-page .wp-block-group.quiz-part,
.quiz-page .quiz-part {
  min-width: 0;
  width: 100%;
  padding: 1.35rem 1.6rem 1.5rem;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 14px;
  box-sizing: border-box;
  box-shadow: 0 1px 3px rgb(0 0 0 / 5%);
}

.quiz-page .quiz-part__label {
  margin: 0 0 0.65rem;
  padding: 0 0 0.65rem;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--accent-level, var(--level-blue));
  border-bottom: 1px solid var(--border);
}

.quiz-page .quiz-part__directions {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-secondary);
}

.quiz-page .quiz-question-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  width: 100%;
  max-width: none;
}

.quiz-page .quiz-question {
  margin: 0;
  padding: 0.9rem 1.15rem;
  font-size: 1.02rem;
  line-height: 1.55;
  border-radius: 10px;
  background: var(--bg-muted);
  border: 1px solid color-mix(in srgb, var(--border) 65%, transparent);
}

.quiz-page .quiz-question:nth-child(even) {
  background: color-mix(in srgb, var(--accent-level, var(--level-blue)) 7%, var(--bg-muted));
}

.quiz-page .quiz-answer-blank {
  display: block;
  margin-top: 0.45rem;
  padding-top: 0.15rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.6;
  color: var(--text-secondary);
  border-bottom: 1.5px solid color-mix(in srgb, var(--text-primary) 18%, var(--border));
}

.quiz-page .quiz-part__note {
  margin: 0.75rem 0 0;
  font-size: 0.875rem;
  font-style: italic;
  color: var(--text-secondary);
}

/*
 * Fallback for quizzes still on flat Gutenberg (no quiz-sheet groups yet).
 * Live Hostinger until re-apply: h3 + p + ol inside .lae-lesson-shell__inner.
 */
.quiz-page .lae-lesson-shell__inner > .wp-block-image.lesson-decor-image:not(:first-child) {
  display: flex;
  justify-content: center;
  margin: 0.75rem auto 1.5rem;
}

.quiz-page .lae-lesson-shell__inner > h3.wp-block-heading {
  margin: 1.15rem 0 0;
  padding: 1.25rem 1.5rem 0.7rem;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--accent-level, var(--level-blue));
  background: #fff;
  border: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  border-radius: 14px 14px 0 0;
  box-sizing: border-box;
  width: 100%;
}

.quiz-page .lae-lesson-shell__inner > h3.wp-block-heading + p.wp-block-paragraph {
  margin: 0;
  padding: 0.75rem 1.5rem 1rem;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-secondary);
  background: #fff;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  border-bottom: none;
  box-sizing: border-box;
  width: 100%;
}

.quiz-page .lae-lesson-shell__inner > ol.wp-block-list,
.quiz-page .lae-lesson-shell__inner > ul.wp-block-list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0.35rem 1.25rem 1.35rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  background: #fff;
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 14px 14px;
  box-sizing: border-box;
  width: 100%;
  max-width: none !important;
}

.quiz-page .lae-lesson-shell__inner > ol.wp-block-list > li,
.quiz-page .lae-lesson-shell__inner > ul.wp-block-list > li {
  margin: 0;
  padding: 0.9rem 1.15rem;
  font-size: 1.02rem;
  line-height: 1.55;
  border-radius: 10px;
  background: var(--bg-muted);
  border: 1px solid color-mix(in srgb, var(--border) 65%, transparent);
  box-sizing: border-box;
}

.quiz-page .lae-lesson-shell__inner > ol.wp-block-list > li:nth-child(even),
.quiz-page .lae-lesson-shell__inner > ul.wp-block-list > li:nth-child(even) {
  background: color-mix(in srgb, var(--accent-level, var(--level-blue)) 7%, var(--bg-muted));
}

.quiz-page .lae-lesson-shell__inner > h4.wp-block-heading {
  margin: 0;
  padding: 0.5rem 1.5rem 0.75rem;
  font-family: var(--font-display);
  font-size: 1.0625rem;
  font-weight: 700;
  text-align: left;
  background: #fff;
  border-left: 1px solid var(--border);
  border-right: 1px solid var(--border);
  width: 100%;
  box-sizing: border-box;
}

.quiz-page .lae-lesson-shell__inner > h3.wp-block-heading + h4.wp-block-heading {
  padding-top: 0.35rem;
  border-top: none;
}

.quiz-page .lae-lesson-shell__inner > .lae-grid-table,
.quiz-page .lae-lesson-shell__inner > figure.lae-grid-table {
  margin: 0 0 1.5rem;
  padding: 0.25rem 1.25rem 1.35rem;
  background: #fff;
  border: 1px solid var(--border);
  border-top: none;
  border-radius: 0 0 12px 12px;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
}

.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph:not(.quiz-part__directions):not(.quiz-footer__link):not(.quiz-footer__total):not(.quiz-footer__score) {
  margin: 0.65rem 0;
}

.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a {
  display: inline-block;
  box-sizing: border-box;
  margin: 0.25rem 0.35rem 0.25rem 0;
  padding: 0.55rem 1.05rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  vertical-align: middle;
  color: #4a443b;
  text-decoration: none;
}

.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a:hover {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
}

/* Inline PDF / “printable PDF” in a sentence — not a pill chip.
 * (:only-child ignores text siblings, so we key off the href.) */
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a[href*='.pdf'],
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a[href*='.PDF'] {
  display: inline !important;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  font-weight: 600;
  line-height: inherit;
  text-align: inherit;
  vertical-align: baseline;
  color: var(--accent-level, var(--level-blue, #2f6db5));
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a[href*='.pdf']:hover,
.quiz-page .lae-lesson-shell__inner > p.wp-block-paragraph a[href*='.PDF']:hover {
  color: color-mix(in srgb, var(--accent-level, var(--level-blue, #2f6db5)) 82%, #000);
  border: none;
  background: transparent;
}

/* Free-write lines inside Part D */
.quiz-page .quiz-free-write,
.quiz-page .wp-block-group.quiz-free-write {
  display: grid;
  gap: 1rem;
  width: 100%;
  margin: 0.35rem 0 0.25rem;
}

.quiz-page .quiz-free-write__item,
.quiz-page p.quiz-free-write__item {
  display: grid;
  grid-template-columns: 1.75rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: end;
  margin: 0;
  padding: 0;
  min-height: 2.75rem;
  font-size: 1.02rem;
  font-weight: 600;
  background: transparent;
  border: none;
  width: 100%;
}

.quiz-page .quiz-free-write__num {
  line-height: 1;
  padding-bottom: 0.35rem;
  color: var(--text-primary);
}

.quiz-page .quiz-free-write__line {
  display: block;
  width: 100%;
  min-height: 2.5rem;
  border: none;
  border-bottom: 1.5px solid color-mix(in srgb, var(--text-primary) 22%, var(--border));
}

.quiz-page .wp-block-group.quiz-footer,
.quiz-page .quiz-footer {
  margin-top: 1rem;
  width: 100%;
}

.quiz-page .quiz-footer__card,
.quiz-page .wp-block-group.quiz-footer__card {
  display: grid;
  gap: 1.25rem;
  width: 100%;
  padding: clamp(1.1rem, 2.5vw, 1.5rem) clamp(1.25rem, 3vw, 1.85rem);
  background: linear-gradient(
    135deg,
    color-mix(in srgb, var(--accent-level, var(--level-blue)) 7%, var(--bg-page, #f7f4ef)) 0%,
    var(--bg-page, #f7f4ef) 70%
  );
  border: 1px solid color-mix(in srgb, var(--accent-level, var(--level-blue)) 16%, var(--border));
  border-radius: var(--radius-lg, 14px);
  box-shadow:
    0 1px 2px rgb(28 25 23 / 4%),
    0 10px 28px color-mix(in srgb, var(--accent-level, var(--level-blue)) 7%, transparent);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .quiz-page .quiz-footer__card,
  .quiz-page .wp-block-group.quiz-footer__card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.75rem;
  }
}

.quiz-page .quiz-footer__score-block,
.quiz-page .wp-block-group.quiz-footer__score-block {
  display: grid;
  gap: 0.65rem;
  min-width: 0;
}

.quiz-page .quiz-footer__total {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--text-primary);
}

.quiz-page .quiz-footer__score {
  margin: 0;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-secondary);
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius, 8px);
}

.quiz-page .quiz-footer__links,
.quiz-page .wp-block-group.quiz-footer__links {
  display: grid;
  gap: 0.55rem;
  justify-items: start;
}

@media (min-width: 768px) {
  .quiz-page .quiz-footer__links,
  .quiz-page .wp-block-group.quiz-footer__links {
    justify-items: end;
    text-align: right;
  }
}

/* Whole footer row is the link — do not pill only “Click here”. */
.quiz-page .quiz-footer__link,
.quiz-page p.quiz-footer__link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  font-size: 0.975rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--accent-level, var(--level-blue));
  background: transparent;
  border: none;
}

.quiz-page .quiz-footer__link a,
.quiz-page .quiz-footer__link a:hover,
.quiz-page .lae-lesson-shell__inner .quiz-footer__link a,
.quiz-page .lae-lesson-shell__inner .quiz-footer__link a:hover {
  display: inline;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-weight: inherit;
  text-decoration: none;
}

.quiz-page .quiz-footer__link:not(.quiz-footer__link--back)::after {
  content: '→';
  font-size: 0.875rem;
  opacity: 0.55;
}

.quiz-page .quiz-footer__link--back {
  color: var(--text-secondary);
}

.quiz-page .quiz-footer__link--back::before {
  content: '←';
  font-size: 0.875rem;
  opacity: 0.55;
}

.quiz-page .quiz-footer__link:hover,
.quiz-page .quiz-footer__link:hover a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.quiz-masthead__write {
  background: rgb(255 255 255 / 15%);
  border-color: rgb(255 255 255 / 25%);
}

.quiz-part {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: none;
  width: 100%;
}

.quiz-part__label {
  font-weight: 700;
  color: var(--accent-level, var(--level-blue));
  border-bottom-color: var(--border);
}

.quiz-question:nth-child(even) {
  background: color-mix(in srgb, var(--accent-level, var(--level-blue)) 6%, var(--bg-muted));
}

.quiz-page .quiz-part__content,
.quiz-page .quiz-question-list {
  width: 100%;
  max-width: none;
  align-self: stretch;
}

/* ——— Section hubs (video, listening) ——— */

.hub-section {
  max-width: none;
  margin: 0 0 1.25rem;
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 8px 0;
}

.hub-section h2,
.hub-section__title {
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: #211c16;
  border-bottom: none;
  margin: 0 0 16px;
}

.topic-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: none;
  transition: border-color 0.15s, background 0.15s;
}

.topic-card:hover {
  transform: none;
  border-color: var(--accent);
  background: #f7fafd;
  box-shadow: none;
}

.topic-card h3 {
  font-weight: 700;
}

.link-list a {
  font-weight: 500;
}

.link-list a:hover {
  color: var(--accent);
}

.listening-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
}

.listening-grid > li {
  display: flex;
}

.listening-tile {
  flex: 1;
  width: 100%;
  height: 100%;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--bg-card);
}

@media (max-width: 1100px) {
  .listening-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .listening-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .listening-grid {
    grid-template-columns: 1fr;
  }
}

.listening-tile:hover {
  border-color: var(--accent);
  background: #f7fafd;
}

.listening-tile__num {
  font-family: var(--font-display);
  font-weight: 800;
  color: var(--accent);
  background: var(--accent-soft);
}

.listening-featured {
  background: var(--bg-muted);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
}

.hub-nav a {
  display: inline-block;
  font-family: 'Bricolage Grotesque', var(--font-display);
  font-weight: 700;
  font-size: 15px;
  line-height: normal;
  text-decoration: none;
  padding: 14px 22px;
  border-radius: 6px;
  background: #efe7d6;
  color: #211c16;
}

.hub-nav a:hover {
  filter: brightness(0.97);
  text-decoration: none;
}

/* ——— Expressions ——— */

.alphabet-chips a {
  font-weight: 600;
  border-radius: var(--radius-pill);
}

.alphabet-chips a.is-active {
  background: var(--bg-dark);
  color: var(--text-inverse);
}

.expression-card {
  border: 1px solid var(--border);
  border-radius: 10px;
  background: var(--bg-card);
  box-shadow: none;
}

.expression-card__term {
  font-family: var(--font-display);
  font-weight: 700;
  color: var(--text-primary);
}

/* ——— Troubleshooting ——— */

.troubleshooting-page {
  width: 100%;
  max-width: 820px;
  margin: 0 auto;
}

.troubleshooting-tip {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-left: 4px solid var(--accent);
  border-radius: var(--radius-lg);
  box-shadow: none;
}

.troubleshooting-intro {
  color: var(--text-secondary);
  line-height: 1.6;
}

@media (max-width: 720px) {
  .lesson-masthead.page-masthead.lesson-masthead--no-num,
  .page-masthead.lesson-masthead--no-num {
    padding-left: 0;
    padding-right: 0;
  }

  .lesson-page .lesson-masthead.lesson-masthead--no-num,
  .quiz-page .lesson-masthead.lesson-masthead--no-num,
  .lesson-masthead:not(.lesson-masthead--no-num) {
    padding: 1.25rem 1rem;
  }

  .quiz-masthead__row {
    grid-template-columns: auto 1fr;
  }

  .quiz-masthead__write {
    grid-column: 1 / -1;
    justify-self: start;
  }
}

/* Quiz — single column stack (no A|C pairing) */
.quiz-page .quiz-row > .quiz-part,
.quiz-sheet .quiz-row > .quiz-part,
.quiz-page .quiz-sheet > .quiz-part {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: auto;
}/* ——— Converted lessons (all curriculum levels) ———
 * Accent comes from html[data-level] → --accent-level (tokens.css).
 * --blue-lesson* names kept for backwards-compatible rule bodies.
 */
.lesson-page,
.quiz-page {
  --blue-lesson: var(--accent-level, var(--level-blue));
  --blue-lesson-soft: color-mix(in srgb, var(--accent-level, var(--level-blue)) 12%, var(--bg-page, #f7f4ef));
  --blue-lesson-line: color-mix(in srgb, var(--accent-level, var(--level-blue)) 22%, var(--border, #e8e0d4));
}
.lae-lesson-shell__inner{
  width: min(100%, 920px);
  margin-inline: auto;
  color: var(--text-primary);
  text-align: left;
}

/* All levels: keep lesson body column centered (CPT templates). */
.lae-lesson-shell__inner {
  width: min(100%, 920px);
  max-width: 920px;
  margin-left: auto;
  margin-right: auto;
  --grid-table-image-size: 140px;
  text-align: left;
}

/* Lists (Answers:) — markers + text share the same left edge */
.lae-lesson-shell__inner .wp-block-list,
.lae-lesson-shell__inner ol,
.lae-lesson-shell__inner ul {
  text-align: left;
  max-width: 40rem;
  margin: 0.75rem auto 1.25rem;
  padding-left: 1.5rem;
}

.lae-lesson-shell__inner .wp-block-list li,
.lae-lesson-shell__inner ol li,
.lae-lesson-shell__inner ul li {
  text-align: left;
}.lae-lesson-shell__inner > h2,
.lae-lesson-shell__inner > h3{
  margin: 2.5rem 0 1rem;
  font-family: var(--font-display);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: var(--ls-tight);
  color: var(--blue-lesson);
  text-align: center;
}.lae-lesson-shell__inner > h3{
  /* Grammar formula / section subtitle under masthead (client: 22–24px, lighter) */
  margin: 1.25rem auto 0.85rem;
  max-width: 40rem;
  font-family: var(--font-sans, 'Public Sans', sans-serif);
  font-size: var(--masthead-subtitle-size, 23px);
  font-weight: var(--masthead-subtitle-weight, 500);
  line-height: 1.35;
  letter-spacing: 0;
  color: var(--text-secondary, #5f594f);
}.lae-lesson-shell__inner > p{
  max-width: 760px;
  margin: 0.75rem auto;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-secondary);
  text-align: center;
}.lae-lesson-shell__inner > p.has-text-align-left{
  text-align: left;
}

/* Example captions under lesson photos (R19 possessive, etc.) */
.lae-lesson-shell__inner > p.has-text-align-center {
  max-width: 36rem;
  margin: 0.4rem auto;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--text-primary, #211c16);
  text-wrap: pretty;
}

.lae-lesson-shell__inner > figure.wp-block-image + p.has-text-align-center {
  margin-top: 0.75rem;
}

.lae-lesson-shell__inner > p.has-text-align-center strong,
.lae-lesson-shell__inner > p.has-text-align-center b {
  color: var(--blue-lesson, #2f6db5);
  font-weight: 750;
}

.lae-lesson-shell__inner > p.has-text-align-center:has(+ figure.wp-block-image),
.lae-lesson-shell__inner > p.has-text-align-center:has(+ .lae-grid-table),
.lae-lesson-shell__inner > p.has-text-align-center:has(+ .wp-block-lae-grid-table) {
  margin-bottom: 1.35rem;
}

/* ——— Exercise prose card (after table / embed) ——— */
.lae-lesson-shell__inner > .lae-exercise-card,
.lae-lesson-shell__inner > .wp-block-group.lae-exercise-card {
  width: min(100%, 40rem);
  max-width: 40rem;
  margin: 2rem auto 1.5rem;
  padding: clamp(1.35rem, 3.5vw, 2rem) clamp(1.15rem, 3vw, 1.75rem);
  background: var(--bg-card, #fff);
  border: 1px solid var(--blue-lesson-line, var(--border, #e8e0d4));
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow, 0 8px 28px rgb(33 28 22 / 6%));
  text-align: left;
  box-sizing: border-box;
  overflow: hidden;
}

.lae-exercise-card > .wp-block-group__inner-container {
  display: block;
  width: 100%;
  max-width: 100%;
  columns: auto;
  column-count: 1;
  float: none;
}

.lae-exercise-card > p,
.lae-exercise-card .wp-block-group__inner-container > p,
.lae-exercise-card .wp-block-paragraph {
  max-width: 36rem;
  margin: 0.55rem auto;
  text-align: left;
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-primary, #211c16);
}

/* Honor Gutenberg align classes — never force left → center (R27 stair-step). */
.lae-exercise-card > p.has-text-align-left,
.lae-exercise-card .wp-block-group__inner-container > p.has-text-align-left,
.lae-exercise-card .wp-block-paragraph.has-text-align-left,
.lae-exercise-card .has-text-align-left {
  text-align: left !important;
}

.lae-exercise-card > p.has-text-align-center,
.lae-exercise-card .wp-block-group__inner-container > p.has-text-align-center,
.lae-exercise-card .wp-block-paragraph.has-text-align-center {
  text-align: center !important;
}

.lae-exercise-card .wp-block-list,
.lae-exercise-card ol,
.lae-exercise-card ul {
  max-width: 36rem;
  margin: 0.55rem auto 1rem;
  padding-left: 1.35rem;
  text-align: left;
}

.lae-exercise-card .wp-block-list li,
.lae-exercise-card ol li,
.lae-exercise-card ul li {
  margin: 0.35rem 0;
  line-height: 1.55;
  color: var(--text-primary, #211c16);
}

/* Neutralize leftover legacy color spans inside the card — keep weight so
   helping-verb / simple-form highlights (style40 / style42) stay readable. */
.lae-exercise-card .style7,
.lae-exercise-card .style3,
.lae-exercise-card .style12,
.lae-exercise-card .style26,
.lae-exercise-card .style38 {
  color: inherit;
  font-weight: inherit;
}

.lae-exercise-card .style40 {
  color: var(--blue-lesson, #1a5fb4);
  font-weight: 750;
}

.lae-exercise-card .style42 {
  color: var(--text-primary, #211c16);
  font-weight: 650;
}

/* Example lines under a lead-in (questions / negatives) — stack as a clean list. */
.lae-exercise-card p.style34:not(.has-text-align-left):not(.has-text-align-center) {
  margin: 0.35rem auto;
  max-width: 34rem;
  font-size: 1.05rem;
  line-height: 1.55;
}

.lae-exercise-card p.has-text-align-left.style34 {
  margin: 1.15rem 0 0.55rem;
  font-size: 1.05rem;
  font-weight: 650;
  line-height: 1.5;
  text-align: left !important;
  color: var(--text-primary, #211c16);
}

.lae-exercise-card .wp-block-group__inner-container > p.has-text-align-left.style34:first-child {
  margin-top: 0;
}

.lae-exercise-card > p.style25,
.lae-exercise-card p.style25 {
  margin: 0.35rem 0 0.85rem;
  font-size: 0.9375rem;
  color: var(--text-muted, #8a8377);
}

/* Exercise-card links are normal text links by default (How To Learn, Privacy,
 * Write singles, etc.). Pill buttons only via .lae-lesson-cta:has(> a:only-child). */
.lae-exercise-card p:not(.lae-exercise-footer-link):not(.lae-lesson-cta) > a {
  display: inline !important;
  min-height: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  letter-spacing: normal;
  text-align: inherit;
  vertical-align: baseline;
  color: var(--blue-lesson, #2f6db5) !important;
  background: none !important;
  border: none !important;
  border-radius: 0;
  text-decoration: underline !important;
  transform: none;
}

.lae-exercise-card p:not(.lae-exercise-footer-link):not(.lae-lesson-cta) > a:hover {
  background: none !important;
  border: none !important;
  transform: none;
  text-decoration: underline !important;
  color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 80%, #000) !important;
}

.lae-exercise-card p:not(.lae-exercise-footer-link):not(.lae-lesson-cta) > a u {
  text-decoration: underline;
}

/* Exercise footer nav — plain text links (prod-style back / return / answers).
 * Must beat card button styles + mobile full-width anchors. */
.lae-exercise-card p.lae-exercise-footer-link,
.lae-lesson-shell__inner > p.lae-exercise-footer-link,
.lae-lesson-shell__inner .wp-block-group__inner-container > p.lae-exercise-footer-link {
  display: block !important;
  flex-direction: unset !important;
  align-items: unset !important;
  justify-content: unset !important;
  gap: 0 !important;
  margin: 0.45rem auto 0;
  max-width: 36rem;
  padding: 0 !important;
  font-family: var(--font-sans, 'Public Sans', sans-serif);
  font-size: 0.975rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: center;
  color: var(--text-secondary, #5f594f);
}

.lae-exercise-card p.lae-exercise-footer-link a,
.lae-lesson-shell__inner > p.lae-exercise-footer-link a,
.lae-lesson-shell__inner .wp-block-group__inner-container > p.lae-exercise-footer-link a {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 500 !important;
  line-height: inherit !important;
  color: var(--blue-lesson, #2f6db5) !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  text-decoration: underline !important;
  text-underline-offset: 0.12em;
  transform: none !important;
  white-space: normal !important;
  box-shadow: none !important;
}

.lae-exercise-card p.lae-exercise-footer-link a u,
.lae-lesson-shell__inner > p.lae-exercise-footer-link a u,
.lae-lesson-shell__inner .wp-block-group__inner-container > p.lae-exercise-footer-link a u {
  font-weight: inherit !important;
  text-decoration: inherit !important;
}

.lae-exercise-card p.lae-exercise-footer-link a:hover,
.lae-lesson-shell__inner > p.lae-exercise-footer-link a:hover,
.lae-lesson-shell__inner .wp-block-group__inner-container > p.lae-exercise-footer-link a:hover {
  background: transparent !important;
  border: none !important;
  transform: none !important;
  color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 82%, #000) !important;
}

.lae-exercise-card p.lae-exercise-footer-or,
.lae-lesson-shell__inner > p.lae-exercise-footer-or {
  margin: 0.2rem auto;
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--text-muted, #8a8377);
  text-align: center;
}

/* ——— Lesson body typography / tips / CTAs / practice (all levels) ——— */

.lae-lesson-shell__inner .style7,
.lae-lesson-shell__inner .style10,
.lae-lesson-shell__inner .style12,
.lae-lesson-shell__inner .style20,
.lae-lesson-shell__inner .fc0000FF {
  color: var(--blue-lesson, var(--level-blue, #2f6db5));
}

/* Pedagogical highlight (was inline color:#ff0000 on prod) */
.lae-lesson-shell__inner .lae-text-accent--warn,
.lae-exercise-card .lae-text-accent--warn {
  color: #c63b34;
}

.lae-lesson-shell__inner .style16 {
  /* Dreamweaver empty class on prod — use as body weight cue */
  font-weight: 500;
}

.lae-lesson-shell__inner .lae-lesson-lead,
.lae-lesson-shell__inner p.style39,
.lae-lesson-shell__inner p.style44,
.lae-lesson-shell__inner p.style46,
.lae-exercise-card .lae-lesson-lead,
.lae-exercise-card p.style39,
.lae-exercise-card p.style44,
.lae-exercise-card p.style46 {
  margin: 1.35rem auto 0.7rem;
  max-width: 38rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: clamp(1.08rem, 2.1vw, 1.28rem);
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: var(--ls-tight, -0.01em);
  color: var(--blue-lesson, var(--level-blue, #2f6db5));
  text-align: center;
  text-wrap: pretty;
}

.lae-exercise-card .wp-block-group__inner-container > .lae-lesson-lead:first-child,
.lae-exercise-card .wp-block-group__inner-container > p.style39:first-child,
.lae-exercise-card .wp-block-group__inner-container > p.style44:first-child,
.lae-exercise-card .wp-block-group__inner-container > p.style46:first-child {
  margin-top: 0;
}

.lae-lesson-shell__inner .wp-block-list li,
.lae-lesson-shell__inner ol li,
.lae-lesson-shell__inner ul li {
  margin: 0.55rem 0;
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--text-primary, #211c16);
}

.lae-exercise-card .wp-block-list li,
.lae-exercise-card ol li,
.lae-exercise-card ul li {
  margin: 0.55rem 0;
  font-size: 1.05rem;
  line-height: 1.7;
}

.lae-exercise-card .wp-block-list,
.lae-exercise-card ol,
.lae-exercise-card ul {
  margin: 0.65rem auto 1.15rem;
  padding-left: 1.4rem;
  max-width: 34rem;
}

/* Practice → answers bridge (R26 / R27) */
.lae-exercise-card ul.wp-block-list + p,
.lae-exercise-card .wp-block-list + p {
  margin-top: 1.35rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--blue-lesson-line, var(--border, #e8e0d4));
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text-secondary, #5f594f);
  text-align: center !important;
}

.lae-exercise-card ul.wp-block-list + p + p.has-text-align-center,
.lae-exercise-card .wp-block-list + p + p.has-text-align-center {
  margin-top: 0.35rem;
  font-size: 1.02rem;
  font-weight: 550;
  color: var(--text-primary, #211c16);
}

.lae-exercise-card p.has-text-align-left + ul.wp-block-list,
.lae-exercise-card p.has-text-align-center + ul.wp-block-list {
  margin-top: 0.85rem;
}

/* "Possible Answers:" / section label before answer list */
.lae-exercise-card p.has-text-align-left:has(+ ul.wp-block-list),
.lae-exercise-card p.has-text-align-left:has(+ .wp-block-list) {
  margin: 1.15rem auto 0.35rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center !important;
  color: var(--text-primary, #211c16);
}

/* Reading-numbers catalog (R21): underlined-only paras = section titles;
 * other centered lines = left-aligned data with roomy line-height. */
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center:has(> u:only-child),
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:first-child:last-child)
  .wp-block-group__inner-container > p.has-text-align-center:has(> u:first-child:last-child) {
  margin: 1.65rem auto 0.55rem;
  max-width: 34rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: clamp(1.02rem, 2vw, 1.15rem);
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--blue-lesson, #2f6db5);
  text-align: center !important;
}

.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center:has(> u:only-child):first-child,
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:first-child:last-child)
  .wp-block-group__inner-container > p.has-text-align-center:has(> u:first-child:last-child):first-child {
  margin-top: 0;
}

.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center > u:only-child,
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:first-child:last-child)
  .wp-block-group__inner-container > p.has-text-align-center > u:first-child:last-child {
  text-decoration: none;
  border-bottom: 2px solid color-mix(in srgb, var(--blue-lesson, #2f6db5) 35%, transparent);
  padding-bottom: 0.12em;
}

.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center:not(:has(> u)),
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:first-child:last-child)
  .wp-block-group__inner-container > p.has-text-align-center:not(:has(> u)) {
  max-width: 28rem;
  margin: 0.28rem auto;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.75;
  font-variant-numeric: tabular-nums;
  text-align: left !important;
  color: var(--text-primary, #211c16);
}

/* Subheads without <u> ("large numbers — hundreds") */
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center:not(:has(> u)):not(:has(> span)):has(+ p.has-text-align-center:not(:has(> u))) {
  margin-top: 1rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--text-secondary, #5f594f);
}

/* Tip sentences with nested spans */
.lae-exercise-card:has(.wp-block-group__inner-container > p.has-text-align-center > u:only-child)
  .wp-block-group__inner-container > p.has-text-align-center:has(> span):not(:has(> u)):not(:has(> span:only-child)) {
  margin: 0.65rem auto 1rem;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-secondary, #5f594f);
}

/* Numbered fill-in paragraphs → answers bridge (R27) */
.lae-exercise-card p.has-text-align-left:has(+ p.has-text-align-center) {
  margin-top: 1.35rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--blue-lesson-line, var(--border, #e8e0d4));
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.55;
  color: var(--text-secondary, #5f594f);
  text-align: center !important;
}

.lae-exercise-card p.has-text-align-left + p.has-text-align-center {
  margin-top: 0.35rem;
  font-size: 1.02rem;
  font-weight: 550;
  color: var(--text-primary, #211c16);
}

/* Remember: tip callout */
.lae-lesson-shell__inner p.lae-lesson-tip,
.lae-exercise-card p.lae-lesson-tip {
  margin: 0.85rem auto;
  max-width: 36rem;
  padding: 0.85rem 1rem;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: left !important;
  color: var(--text-primary, #211c16);
  background: color-mix(in srgb, var(--blue-lesson, #2f6db5) 8%, var(--bg-card, #fff));
  border: 1px solid color-mix(in srgb, var(--blue-lesson, #2f6db5) 22%, var(--border, #e8e0d4));
  border-left: 4px solid var(--blue-lesson, #2f6db5);
  border-radius: var(--radius, 8px);
}

.lae-lesson-shell__inner > .lae-lesson-tip-card,
.lae-lesson-shell__inner > .wp-block-group.lae-lesson-tip-card {
  background: color-mix(in srgb, var(--blue-lesson, #2f6db5) 5%, var(--bg-card, #fff));
  border-color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 28%, var(--border, #e8e0d4));
}

.lae-lesson-tip-card p.lae-lesson-tip {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin: 0 0 0.65rem;
}

/* Quiz / PDF / extra-exercise CTA rows */
.lae-lesson-shell__inner p.lae-lesson-cta,
.lae-exercise-card p.lae-lesson-cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem 0.55rem;
  margin: 1.15rem auto;
  max-width: 40rem;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.45;
  color: var(--text-secondary, #5f594f);
  text-align: center;
}

/* Stacked "Click here …" rows (R19 Additional Resources): shared left
 * edge, whole stack centered (grid max-content column). */
.lae-exercise-card .wp-block-group__inner-container:has(> p.lae-lesson-cta + p.lae-lesson-cta) {
  display: grid;
  grid-template-columns: max-content;
  justify-content: center;
  justify-items: start;
}

.lae-exercise-card .wp-block-group__inner-container:has(> p.lae-lesson-cta + p.lae-lesson-cta) > p:not(.lae-lesson-cta) {
  justify-self: center;
  width: max-content;
  max-width: min(100%, 34rem);
  text-align: center;
}

.lae-exercise-card .wp-block-group__inner-container:has(> p.lae-lesson-cta + p.lae-lesson-cta) > p.lae-lesson-cta {
  display: block;
  width: auto;
  max-width: min(100%, 34rem);
  margin: 0.45rem 0;
  padding: 0;
  text-align: left;
  justify-content: unset;
  gap: 0;
}

/*
 * Sentence CTAs ("Click here to go to …") — normal underlined links, not pills.
 * Note: CSS :only-child ignores text nodes, so "<a>Click here</a> to go…" still
 * matches :has(> a:only-child). Prefer --inline / default text; pills need --button.
 */
.lae-lesson-shell__inner p.lae-lesson-cta:not(.lae-lesson-cta--button) a,
.lae-exercise-card p.lae-lesson-cta:not(.lae-lesson-cta--button) a {
  display: inline !important;
  min-height: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 600;
  letter-spacing: normal;
  text-align: inherit;
  vertical-align: baseline;
  color: var(--blue-lesson, #2f6db5) !important;
  background: none !important;
  border: none !important;
  border-radius: 0;
  text-decoration: underline !important;
  transform: none;
}

.lae-lesson-shell__inner p.lae-lesson-cta:not(.lae-lesson-cta--button) a:hover,
.lae-exercise-card p.lae-lesson-cta:not(.lae-lesson-cta--button) a:hover {
  background: none !important;
  border: none !important;
  transform: none;
  text-decoration: underline !important;
  color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 80%, #000) !important;
}

/* Explicit standalone CTA chip (converter sets lae-lesson-cta--button). */
.lae-lesson-shell__inner p.lae-lesson-cta.lae-lesson-cta--button a,
.lae-exercise-card p.lae-lesson-cta.lae-lesson-cta--button a,
.lae-lesson-shell__inner > p.lae-lesson-cta.lae-lesson-cta--button a {
  /* inline-block (not flex): whitespace after <u>Click here</u> must stay
   * ("here for", not "herefor"). */
  display: inline-block;
  box-sizing: border-box;
  min-height: 2.6rem;
  padding: 0.55rem 1.05rem;
  margin: 0 0.1rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 0.92rem;
  font-weight: 750;
  line-height: 1.35;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  text-align: center;
  vertical-align: middle;
  color: var(--blue-lesson, #2f6db5) !important;
  background: var(--blue-lesson-soft, #eaf1f9);
  border: 1px solid var(--blue-lesson-line, #d7e3f1);
  border-radius: var(--radius, 8px);
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease;
}

.lae-lesson-shell__inner p.lae-lesson-cta.lae-lesson-cta--button a:hover,
.lae-exercise-card p.lae-lesson-cta.lae-lesson-cta--button a:hover {
  background: color-mix(in srgb, var(--blue-lesson, #2f6db5) 14%, var(--bg-card, #fff));
  border-color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 40%, var(--border, #e8e0d4));
  transform: translateY(-1px);
  text-decoration: none !important;
}

/* Never flex content anchors that mix <u>Click here</u> + trailing text —
 * flex drops the whitespace text node → "herefor". */
.lae-lesson-shell__inner p:not(.lae-lesson-cta) a:has(> u),
.lae-exercise-card p:not(.lae-lesson-cta) a:has(> u),
.lae-lesson-shell__inner p.lae-lesson-cta.lae-lesson-cta--button a,
.lae-exercise-card p.lae-lesson-cta.lae-lesson-cta--button a {
  display: inline-block !important;
}

.lae-lesson-shell__inner p.lae-lesson-cta:not(.lae-lesson-cta--button) a u,
.lae-exercise-card p.lae-lesson-cta:not(.lae-lesson-cta--button) a u {
  text-decoration: underline;
}

.lae-lesson-shell__inner p.lae-lesson-cta.lae-lesson-cta--button a u,
.lae-exercise-card p.lae-lesson-cta.lae-lesson-cta--button a u,
.lae-lesson-shell__inner p:not(.lae-lesson-cta) a:has(> u) > u,
.lae-exercise-card p:not(.lae-lesson-cta) a:has(> u) > u {
  text-decoration: none;
}

/* Practice blanks — stable left edge, no staircase */
.lae-exercise-card ul.lae-practice-list,
.lae-lesson-shell__inner ul.lae-practice-list {
  list-style: none;
  margin: 0.75rem auto 1rem;
  padding: 0;
  max-width: 34rem;
  text-align: left;
}

.lae-exercise-card .lae-practice-list li,
.lae-lesson-shell__inner .lae-practice-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.4rem;
  margin: 0.7rem 0;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.7;
  font-variant-numeric: tabular-nums;
  color: var(--text-primary, #211c16);
}

.lae-exercise-card .lae-practice-list .lae-exercise-blank,
.lae-lesson-shell__inner .lae-practice-list .lae-exercise-blank {
  min-width: 5.25rem;
  margin-inline: 0.1em;
}

/* Answers key */
.lae-lesson-shell__inner > .lae-exercise-card.lae-exercise-answers,
.lae-lesson-shell__inner > .wp-block-group.lae-exercise-answers {
  padding: 1.15rem 1.35rem 1.25rem;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-secondary, #5f594f);
  background: color-mix(in srgb, var(--bg-muted, #f4eee1) 55%, var(--bg-card, #fff));
  border: 1px dashed color-mix(in srgb, var(--blue-lesson, #2f6db5) 35%, var(--border, #e8e0d4));
  opacity: 1;
  text-align: left;
}

.lae-exercise-answers p,
.lae-exercise-answers .wp-block-paragraph {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.65;
  color: var(--text-secondary, #5f594f);
  text-align: center;
}

.lae-exercise-answers .lae-answers-label,
.lae-exercise-answers p.lae-answers-label {
  margin: 0 0 0.65rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 0.92rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  color: var(--text-primary, #211c16);
}

.lae-exercise-answers .lae-answers-label strong {
  color: inherit;
  font-weight: inherit;
}

.lae-exercise-answers ul.lae-answers-list,
.lae-exercise-answers .lae-answers-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: 28rem;
  text-align: left;
}

.lae-exercise-answers .lae-answers-list li {
  display: grid;
  grid-template-columns: 1.75rem 1fr;
  gap: 0.15rem 0.55rem;
  align-items: baseline;
  margin: 0.35rem 0;
  padding: 0.2rem 0;
  font-size: 1.02rem;
  font-weight: 500;
  line-height: 1.55;
  font-variant-numeric: tabular-nums;
  color: var(--text-primary, #211c16);
  border-bottom: 1px solid color-mix(in srgb, var(--border, #e8e0d4) 70%, transparent);
}

.lae-exercise-answers .lae-answers-list li:last-child {
  border-bottom: 0;
}

/* "1. answer" → number column + answer text */
.lae-exercise-answers .lae-answers-list li {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
}

.lae-exercise-answers .style37,
.lae-exercise-answers .style49 {
  color: var(--text-secondary, #5f594f);
  font-weight: 500;
}

/* Fill-in blanks / numbered practice inside exercise cards */
.lae-exercise-card ul.lae-practice-list,
.lae-exercise-card .lae-practice-list {
  list-style: none;
  margin: 0.85rem auto 0.35rem;
  padding: 0;
  max-width: 34rem;
  columns: auto;
  column-count: 1;
}

.lae-exercise-card .lae-practice-list > li {
  display: block;
  float: none;
  width: 100%;
  margin: 0.55rem 0;
  padding: 0.15rem 0;
  font-size: 1.05rem;
  line-height: 1.65;
  color: var(--text-primary, #211c16);
  border-bottom: 1px solid color-mix(in srgb, var(--border, #e8e0d4) 65%, transparent);
}

.lae-exercise-card .lae-practice-list > li:last-child {
  border-bottom: 0;
}

.lae-exercise-card p.has-text-align-center:has(+ .lae-practice-list),
.lae-exercise-card p.has-text-align-center:has(+ ul.lae-practice-list) {
  margin: 0.35rem auto 1rem;
  padding: 0.55rem 0.85rem;
  max-width: 28rem;
  border-radius: 10px;
  background: color-mix(in srgb, var(--blue-lesson, #2f6db5) 8%, var(--bg-card, #fff));
  border: 1px solid var(--blue-lesson-line, var(--border, #e8e0d4));
  font-weight: 650;
  letter-spacing: 0.02em;
}

/* write: label above practice */
.lae-lesson-shell__inner > p.has-text-align-center.style12:has(> span.style12),
.lae-lesson-shell__inner > p.write-label {
  margin: 1.75rem auto 0.35rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 0.95rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  color: var(--blue-lesson, #2f6db5);
}

/* Picture card questions — readable, not link-blue */
.lae-grid-table td li.style12,
.lae-grid-table th li.style12,
.lae-grid-table td ul .style12,
.lae-grid-table th ul .style12 {
  color: var(--text-primary, #211c16) !important;
  font-weight: 500;
  line-height: 1.55;
}

.lae-grid-table td:has(> ul),
.lae-grid-table th:has(> ul),
.lae-grid-table td:has(ul),
.lae-grid-table th:has(ul) {
  text-align: left !important;
  font-family: var(--font-sans);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.5;
}

.lae-grid-table td ul,
.lae-grid-table th ul {
  margin: 0.55rem auto 0.25rem;
  padding-left: 1.25rem;
  max-width: 28rem;
  text-align: left;
}

.lae-grid-table td ul li,
.lae-grid-table th ul li {
  margin: 0.4rem 0;
}

.lesson-next__link span {
  margin-left: 0.28em;
}

@media (max-width: 600px) {
  .lae-lesson-shell__inner p.lae-lesson-cta,
  .lae-exercise-card p.lae-lesson-cta {
    flex-direction: column;
    align-items: stretch;
  }

  .lae-lesson-shell__inner p.lae-lesson-cta a,
  .lae-exercise-card p.lae-lesson-cta a {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .lae-lesson-shell__inner > .lae-exercise-card,
  .lae-lesson-shell__inner > .wp-block-group.lae-exercise-card {
    margin-inline: 0;
    width: 100%;
    max-width: 100%;
    padding: 1.15rem 1rem;
  }

  .lae-exercise-card > p:has(> a):not(.lae-exercise-footer-link):not(.lae-exercise-footer-or),
  .lae-exercise-card p:has(> a):not(.lae-exercise-footer-link):not(.lae-exercise-footer-or) {
    flex-direction: column;
    align-items: stretch;
  }

  .lae-exercise-card p:not(.lae-exercise-footer-link):not(.lae-exercise-footer-or) > a {
    width: 100%;
  }
}.lae-lesson-shell__inner > p:empty,
.lae-lesson-shell__inner > p:has(> br:only-child){
  display: none;
}.lae-lesson-shell__inner > p strong,
.lae-grid-table strong{
  color: var(--blue-lesson);
  font-weight: 750;
}

/* In example lists, bold phrases stay accent but readable (not electric #00f). */
.lae-exercise-card li strong,
.lae-lesson-shell__inner .wp-block-list li strong {
  color: var(--blue-lesson, #2f6db5);
  font-weight: 750;
}/* Explicit legacy color classes win over the blue strong default (B5 Close/Far). */
.lae-lesson-shell__inner [class*='fc'] strong,
/* Explicit legacy color classes win over the blue strong default (B5 Close/Far). */
.lae-lesson-shell__inner [class*='fc'] strong,
.lae-lesson-shell__inner .fcFF0000,
.lae-lesson-shell__inner .fcFF0000 strong{
  color: inherit;
}.lae-lesson-shell__inner .fcFF0000,
.lae-lesson-shell__inner .fcFF0000 strong{
  color: #ff0000;
}.lae-grid-table{
  width: min(100%, 820px);
  margin: 1.25rem auto 2rem !important;
  overflow: hidden;
  background: var(--bg-card);
  border: 1px solid var(--blue-lesson-line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}.lae-grid-table--media-card{
  width: min(100%, 880px);
}.lae-grid-table--media-card th,
.lae-grid-table--media-card td{
  padding: clamp(1.15rem, 2.8vw, 1.75rem);
  vertical-align: middle;
  font-size: clamp(1.05rem, 2.1vw, 1.2rem);
  line-height: 1.55;
  font-weight: 500;
}.lae-grid-table--media-card th:first-child,
.lae-grid-table--media-card td:first-child{
  text-align: left !important;
}.lae-grid-table--media-card img{
  max-width: min(100%, 220px);
  max-height: 240px;
  margin: 0 auto;
}
/* Compact title | photo headers (Conversation Questions topics, etc.) */
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child):has(> .lae-grid-table__scroll > table > tbody > tr > :nth-child(2):last-child img) {
  width: min(100%, 720px);
  margin-bottom: 1.25rem !important;
}
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child) th,
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child) td {
  padding: clamp(0.75rem, 1.8vw, 1.1rem) clamp(0.9rem, 2vw, 1.25rem);
  height: auto;
  vertical-align: middle;
}
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child) tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)) > :first-child {
  width: auto;
  max-width: none;
  font-family: var(--font-display);
  font-size: clamp(1.15rem, 2.4vw, 1.45rem);
  font-weight: 750;
  text-align: left !important;
}
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child) tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)) > :last-child {
  width: auto;
  padding: clamp(0.55rem, 1.4vw, 0.85rem) !important;
  text-align: center !important;
}
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr:only-child) tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)) > :last-child img {
  display: block;
  width: auto;
  height: auto;
  max-width: min(100%, 160px);
  max-height: 140px;
  margin: 0 auto;
  object-fit: contain;
}
.lae-grid-table__scroll{
  width: 100%;
  overflow-x: auto;
}.lae-grid-table table{
  width: 100%;
  margin: 0;
  table-layout: fixed;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  background: transparent;
}.lae-grid-table tr + tr{
  border-top: 1px solid var(--blue-lesson-line);
}.lae-grid-table th,
.lae-grid-table td{
  height: auto;
  padding: clamp(1rem, 2.4vw, 1.5rem);
  vertical-align: middle;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.2rem);
  line-height: 1.5;
  color: var(--text-primary);
  border: 0;
  box-sizing: border-box;
}

/* Default cell fill — skip explicit legacy bg + logical col striping (rowspan-safe col classes). */
.lae-grid-table th:not([class*='lae-grid-table__cell--bg-']):not(.lae-grid-table__cell--col-even),
.lae-grid-table th:not([class*='lae-grid-table__cell--bg-']):not(.lae-grid-table__cell--col-even),
.lae-grid-table td:not([class*='lae-grid-table__cell--bg-']):not(.lae-grid-table__cell--col-even){
  background: var(--bg-card) !important;
}

/* Cell align from JSON attrs (replaces inline text-align). */
.lae-grid-table .has-text-align-left {
  text-align: left !important;
}
.lae-grid-table .has-text-align-center {
  text-align: center !important;
}
.lae-grid-table .has-text-align-right {
  text-align: right !important;
}

/* Empty spacer cells (Practice Sheets letter boards, etc.) — no hollow boxes */
.lae-grid-table td:empty,
.lae-grid-table th:empty {
  padding-block: 0.35rem;
  background: transparent !important;
  pointer-events: none;
}
.lae-grid-table td:empty.lae-grid-table__cell--col-even,
.lae-grid-table th:empty.lae-grid-table__cell--col-even {
  background: transparent !important;
}

/* Compact 5-col letter / sound link grids (Practice Sheets consonants) */
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr > :nth-child(5)) td,
.lae-lesson-shell__inner > .lae-grid-table:has(tbody > tr > :nth-child(5)) th {
  padding: 0.7rem 0.45rem;
  font-size: clamp(0.95rem, 1.8vw, 1.1rem);
}
.lae-lesson-shell__inner > p.has-text-align-center:has(+ .lae-grid-table) {
  margin-bottom: 0.55rem;
}

/* Cell backgrounds from legacy / editor (replaces inline background-color). */
.lae-grid-table .lae-grid-table__cell--bg-ffffff {
  background: #ffffff !important;
}
/* Legacy #eee full-row bands → same column rhythm as apple row
 * (white text col + pale stripe image col), not a solid grey slab. */
.lae-grid-table .lae-grid-table__cell--bg-eeeeee {
  background: #ffffff !important;
}
.lae-grid-table .lae-grid-table__cell--col-even.lae-grid-table__cell--bg-eeeeee{
  background: color-mix(in srgb, var(--blue-lesson) 5%, var(--bg-card)) !important;
}
/* Even columns: white / grey legacy fills → design pink stripe
 * (R20 itself,
R6 object-pronoun col 2). Odd cols keep white. */
.lae-grid-table .lae-grid-table__cell--col-even.lae-grid-table__cell--bg-ffffff,
.lae-grid-table .lae-grid-table__cell--col-even.lae-grid-table__cell--bg-ffffff,
.lae-grid-table .lae-grid-table__cell--col-even.lae-grid-table__cell--bg-cccccc{
  background: color-mix(in srgb, var(--blue-lesson) 5%, var(--bg-card)) !important;
}
.lae-grid-table .lae-grid-table__cell--col-0.lae-grid-table__cell--bg-cccccc,
.lae-grid-table .lae-grid-table__cell--col-2.lae-grid-table__cell--bg-cccccc{
  background: #ffffff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ffffcc {
  background: #ffffcc !important;
}

/* Aqua lessons — soften legacy yellow headers into level tint */
[data-level='aqua'] .lae-grid-table .lae-grid-table__cell--bg-ffffcc {
  background: color-mix(in srgb, var(--level-aqua, #0d9488) 12%, #fff) !important;
  color: var(--text-primary, #211c16) !important;
}
[data-level='aqua'] .lae-grid-table tr:first-child > th.lae-grid-table__cell--bg-ffffcc {
  font-weight: 750;
  letter-spacing: 0.01em;
}
.lae-grid-table .lae-grid-table__cell--bg-666666 {
  background: #666666 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-cccccc {
  background: #cccccc !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ccccff {
  background: #ccccff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ffcc66 {
  background: #ffcc66 !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ccffff {
  background: #ccffff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-cccc99 {
  background: #cccc99 !important;
}
.lae-grid-table .lae-grid-table__cell--bg-99ccff {
  background: #99ccff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ffccff {
  background: #ffccff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-99cc99 {
  background: #99cc99 !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ff9933 {
  background: #ff9933 !important;
}
.lae-grid-table .lae-grid-table__cell--bg-f4f9ff {
  background: #f4f9ff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-efffff {
  background: #efffff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-f2f9fe {
  background: #f2f9fe !important;
}
.lae-grid-table .lae-grid-table__cell--bg-f2f3fb {
  background: #f2f3fb !important;
}
.lae-grid-table .lae-grid-table__cell--bg-cc0000 {
  background: #cc0000 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-339933 {
  background: #339933 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-0000ff {
  background: #0000ff !important;
  color: #fff !important;
}
/* Stuff for Teachers → Quizzes header row (prod level colors). */
.lae-grid-table .lae-grid-table__cell--bg-003399 {
  background: #003399 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-cc3300 {
  background: #cc3300 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ffcc00 {
  background: #ffcc00 !important;
  color: #211c16 !important;
}
.lae-grid-table .lae-grid-table__cell--bg-009900 {
  background: #009900 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-df73ff {
  background: #df73ff !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-ff6600 {
  background: #ff6600 !important;
  color: #fff !important;
}
.lae-grid-table .lae-grid-table__cell--bg-cc66ff {
  background: #cc66ff !important;
  color: #fff !important;
}

/* Column striping by logical index (rowspan-safe; see grid-table/render.php col classes).
 * Skip cells with an explicit legacy bg class — that color wins. */
.lae-grid-table .lae-grid-table__cell--col-even:not([class*='lae-grid-table__cell--bg-']),
.lae-grid-table .lae-grid-table__cell--col-even:not([class*='lae-grid-table__cell--bg-']){
  background: color-mix(in srgb, var(--blue-lesson) 5%, var(--bg-card)) !important;
}
/* Legacy tableHtml fallback when col classes are absent */
.lae-grid-table:not(:has([class*='lae-grid-table__cell--col-'])) tr > :nth-child(even),
.lae-grid-table:not(:has([class*='lae-grid-table__cell--col-'])) tr > :nth-child(even){
  background: color-mix(in srgb, var(--blue-lesson) 5%, var(--bg-card)) !important;
}.lae-grid-table tr:first-child > td,
.lae-grid-table tr:first-child > th{
  font-family: var(--font-display);
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  font-weight: 750;
  line-height: 1.35;
  text-align: center !important;
  vertical-align: middle;
}/* Single-col prose (Note / intro) — logical col 0 only; skip rowspan continuation rows. */
.lae-grid-table tr:has(> .lae-grid-table__cell--col-0:only-child) > th,
/* Single-col prose (Note / intro) — logical col 0 only; skip rowspan continuation rows. */
.lae-grid-table tr:has(> .lae-grid-table__cell--col-0:only-child) > th,
.lae-grid-table tr:has(> .lae-grid-table__cell--col-0:only-child) > td{
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 500;
  line-height: 1.55;
  text-align: center !important;
  text-wrap: pretty;
}
.lae-grid-table:not(:has([class*='lae-grid-table__cell--col-'])) tr:has(> :only-child) > th,
.lae-grid-table:not(:has([class*='lae-grid-table__cell--col-'])) tr:has(> :only-child) > td{
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  font-weight: 500;
  line-height: 1.55;
  text-align: center !important;
  text-wrap: pretty;
}.lae-grid-table td p{
  margin: 0.35rem 0;
}.lae-grid-table td img,
.lae-grid-table th img{
  display: block;
  width: auto;
  max-width: min(100%, 230px);
  max-height: 245px;
  margin: 0 auto;
  object-fit: contain;
  border-radius: var(--radius);
}

/* Multi-image cells (e.g. B1 “We are people”: teacher+I / Karol+you) — keep
 * img + label on one line like prod, not stacked block images. */
.lae-lesson-shell__inner .lae-grid-table td:has(img ~ img),
.lae-lesson-shell__inner .lae-grid-table th:has(img ~ img) {
  text-align: center !important;
  line-height: 1.45;
}
.lae-lesson-shell__inner .lae-grid-table td:has(img ~ img) img,
.lae-lesson-shell__inner .lae-grid-table th:has(img ~ img) img {
  display: inline-block;
  vertical-align: middle;
  max-width: min(42%, 150px);
  max-height: 120px;
  margin: 0.2rem 0.35rem;
}.lae-grid-table td .fs_5,
.lae-grid-table td .style38{
  font-size: clamp(1.05rem, 2.2vw, 1.3rem);
  line-height: 1.5;
}

/* Two-column text | image only (exclude img|img continuation under rowspan).
 * Skip rows with colspan/rowspan on a cell — 58/42 + display:flex collapses
 * multi-line question cells (3aRL colspan, 2aRL rowspan question|photo). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child {
  width: 58%;
  max-width: 58%;
  overflow: visible;
  font-weight: 400;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  vertical-align: middle;
}

/* text | image[colspan] under a wider grid (exercise sheets like 3aRL) */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child[colspan] img):not(:has(> :first-child img)) > :first-child {
  display: table-cell;
  overflow: visible;
  vertical-align: middle;
  text-align: left !important;
  font-weight: 400;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.5;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child[colspan] img):not(:has(> :first-child img)) > :last-child {
  vertical-align: middle;
  text-align: center;
}

/* question[rowspan] | photo (2aRL / 2bRL want-exercises) */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :first-child[rowspan]):has(> :last-child img):not(:has(> :first-child img)) > :first-child {
  display: table-cell;
  overflow: visible;
  vertical-align: middle;
  text-align: left !important;
  font-weight: 400;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.15rem);
  line-height: 1.5;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :first-child[rowspan]):has(> :last-child img):not(:has(> :first-child img)) > :last-child {
  vertical-align: middle;
  text-align: center;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child {
  width: 42%;
  vertical-align: middle;
  text-align: right;
  padding-right: clamp(0.85rem, 2vw, 1.35rem);
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > div,
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > p {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
  text-align: right;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child img {
  display: block;
  flex: 0 0 auto;
  width: var(--grid-table-image-size);
  height: var(--grid-table-image-size);
  max-width: var(--grid-table-image-size);
  max-height: var(--grid-table-image-size);
  margin-left: auto;
  margin-right: 0;
  object-fit: contain;
  object-position: center right;
  border-radius: var(--radius);
}

/* Aqua / pronoun picture tables — center media column (prod layout is centered cards). */
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child {
  width: auto;
  text-align: center !important;
  padding: 0.85rem 1rem !important;
}
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > div,
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > p {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 0.4rem;
  margin: 0 auto;
  text-align: center;
}
/* Portrait column only — do not force every aqua table img to block+center
 * (breaks Teacher/Maria dialogue lines with img beside text). */
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child img {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  object-position: center !important;
}
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table td:has(img ~ img),
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table th:has(img ~ img) {
  text-align: left !important;
  line-height: 1.5;
}
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table td:has(img ~ img) img,
[data-level='aqua'] .lae-lesson-shell__inner .lae-grid-table th:has(img ~ img) img {
  display: inline-block !important;
  vertical-align: middle;
  width: auto;
  height: auto;
  max-width: min(28%, 110px);
  max-height: 100px;
  margin: 0.25rem 0.45rem 0.25rem 0 !important;
  object-position: center !important;
}

/* Multi-image right cell — override single-thumb block sizing (B1 We are people). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child) > :last-child:has(img ~ img) {
  text-align: center !important;
  padding-right: clamp(0.85rem, 2vw, 1.35rem);
}
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child) > :last-child:has(img ~ img) img {
  display: inline-block;
  width: auto;
  height: auto;
  max-width: min(42%, 150px);
  max-height: 120px;
  margin: 0.2rem 0.35rem;
  object-position: center;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child p,
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child div,
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child span.style13 {
  max-width: 100%;
}.lae-grid-table td img,
.lae-grid-table th img{
  max-width: min(100%, var(--grid-table-image-size, 140px));
  height: auto;
}

/* Text + 2 image cols only (exactly 3 cells: prose | img | img).
 * Do NOT match vocabulary photo grids (Fruit etc. = img|gap|img|gap… ≥5 cells). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(3):last-child) > :first-child {
  width: 50%;
  max-width: 50%;
  vertical-align: middle;
  text-align: left !important;
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: clamp(1rem, 2vw, 1.15rem);
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(3):last-child) > :nth-child(n + 2) {
  width: 25%;
  vertical-align: middle;
  text-align: center;
  padding: 0.5rem;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(3):last-child) > :nth-child(n + 2) img {
  margin-inline: auto;
}

/* Vocabulary Images leaves (Fruit, People…): photo grids without lesson striping. */

/* Legacy blank spacer rows (colspan + empty/&nbsp;) between photo blocks — Fruit (7-col)
 * and People (4-col). Do not require :nth-child(5) — People never matches that. */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :only-child[colspan]):not(:has(img)):not(:has(a)):not(:has(iframe)) {
  display: none;
}

/* Fruit-style: img | spacer | img | … (7 cols) — narrow transparent spacers, equal content. */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(7):last-child) > .lae-grid-table__cell--col-even:not(:has(img)) {
  width: 1.5%;
  max-width: 12px;
  padding-left: 0;
  padding-right: 0;
  background: transparent !important;
  border: 0 !important;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(7):last-child) > :not(.lae-grid-table__cell--col-even),
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(7):last-child) > .lae-grid-table__cell--col-even:has(img) {
  width: 23.5%;
  max-width: none;
  vertical-align: middle;
  text-align: center !important;
  padding: clamp(0.55rem, 1.4vw, 0.9rem) clamp(0.35rem, 1vw, 0.65rem);
  background: #fff !important;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(7):last-child) img {
  max-width: min(100%, 128px);
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

/* People-style: 4 equal photo columns (no spacer cols). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(4):last-child):not(:has(> :nth-child(5))) > * {
  width: 25%;
  vertical-align: middle;
  text-align: center !important;
  padding: clamp(0.55rem, 1.4vw, 0.9rem) clamp(0.35rem, 1vw, 0.65rem);
  background: #fff !important;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(4):last-child):not(:has(> :nth-child(5))) img {
  max-width: min(100%, 160px);
  max-height: 140px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

/* Label rows under photos — tight, centered captions (prod bodyText). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(4)):not(:has(img)) > * {
  padding-top: 0.2rem;
  padding-bottom: 0.55rem;
  font-size: clamp(0.95rem, 1.8vw, 1.1rem);
  line-height: 1.35;
  font-weight: 500;
}

/* img|img continuation under rowspan */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :first-child img) > td {
  width: 50%;
  text-align: center;
  vertical-align: middle;
  padding: 0.5rem;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :first-child img) img {
  margin-inline: auto;
}

.lae-lesson-shell__inner .lae-grid-table .lae-exercise-blank {
  display: inline-block;
  flex: 1 1 12rem;
  min-width: min(12rem, 70%);
  width: 70%;
  max-width: 100%;
  height: 0;
  margin: 0 0.15em;
  border-bottom: 2px solid color-mix(in srgb, var(--text-primary) 55%, var(--blue-lesson-line));
  vertical-align: baseline;
  transform: translateY(-0.12em);
}

.lae-exercise-card .lae-exercise-blank,
.lae-lesson-shell__inner .lae-exercise-blank {
  display: inline-block;
  min-width: 4.5rem;
  height: 0;
  margin: 0 0.15em;
  border-bottom: 2px solid color-mix(in srgb, var(--text-primary) 55%, var(--blue-lesson-line));
  vertical-align: baseline;
  transform: translateY(-0.12em);
}

/* Words-that-rhyme games — prompt cards (image + letter blanks) */
.lae-lesson-shell__inner > .lae-exercise-card.lae-rhyme-lead,
.lae-lesson-shell__inner > .wp-block-group.lae-rhyme-lead {
  text-align: center;
}

.lae-rhyme-lead .wp-block-image,
.lae-rhyme-lead figure.wp-block-image {
  margin: 0.35rem auto 0.85rem;
  text-align: center;
}

.lae-rhyme-lead .wp-block-image img,
.lae-rhyme-lead figure.wp-block-image img {
  display: inline-block;
  width: auto;
  max-width: min(100%, 14rem);
  height: auto;
  border-radius: 10px;
}

.lae-lesson-shell__inner > .lae-exercise-card.lae-rhyme-prompt,
.lae-lesson-shell__inner > .wp-block-group.lae-rhyme-prompt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  width: min(100%, 36rem);
  max-width: 36rem;
  margin: 1.35rem auto;
  padding: 1.25rem 1.15rem 1.35rem;
  text-align: center;
}

.lae-rhyme-prompt > .wp-block-group__inner-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  gap: 0.45rem;
}

.lae-rhyme-prompt .lae-rhyme-prompt__num,
.lae-rhyme-prompt p.lae-rhyme-prompt__num {
  margin: 0 !important;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--blue-lesson, #2f6db5) 75%, var(--text-secondary, #5f594f));
}

.lae-rhyme-prompt .lae-rhyme-prompt__media,
.lae-rhyme-prompt figure.lae-rhyme-prompt__media,
.lae-rhyme-prompt .wp-block-image {
  margin: 0.15rem auto 0.55rem !important;
  text-align: center;
}

.lae-rhyme-prompt .wp-block-image img,
.lae-rhyme-prompt figure.wp-block-image img {
  display: inline-block;
  width: auto;
  max-width: min(100%, 16rem);
  max-height: 12rem;
  height: auto;
  object-fit: contain;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgb(33 28 22 / 8%);
}

.lae-rhyme-prompt .lae-rhyme-prompt__text,
.lae-rhyme-prompt p.lae-rhyme-prompt__text {
  max-width: 28rem;
  margin: 0.15rem auto 0 !important;
  text-align: center !important;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.75;
}

.lae-rhyme-prompt .lae-exercise-blank {
  min-width: 1.15rem;
  margin-inline: 0.12em;
  border-bottom-width: 2px;
}

.lae-lesson-shell__inner > .lae-exercise-card.lae-exercise-answers,
.lae-lesson-shell__inner > .wp-block-group.lae-exercise-answers {
  background: color-mix(in srgb, var(--bg-muted, #f4eee1) 55%, var(--bg-card, #fff));
  border-style: dashed;
  opacity: 1;
  font-size: 1rem;
}

/* Notebook line + picture rows: make the blank stretch (cell may have no <p>/<div> wrapper). */
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child:has(.lae-exercise-blank):not(:has(br)),
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child p:has(.lae-exercise-blank):not(:has(br)),
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child div:has(.lae-exercise-blank):not(:has(br)),
.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child > span.style13:has(.lae-exercise-blank):not(:has(br)) {
  display: flex;
  flex-wrap: nowrap;
  align-items: baseline;
  gap: 0.2rem 0.35rem;
  max-width: 100%;
  text-align: left !important;
}

.lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child {
  text-align: left !important;
  vertical-align: middle;
  width: 55%;
}.lae-lesson-shell__inner > .wp-block-image{
  width: fit-content;
  max-width: 100%;
  margin: 1rem auto 1.5rem;
}.lae-lesson-shell__inner > .wp-block-image img{
  display: block;
  margin-inline: auto;
  max-width: min(100%, 520px);
  height: auto;
  border-radius: var(--radius);
}.lae-lesson-shell__inner > .wp-block-image.lesson-decor-image img{
  max-width: min(100%, 240px);
}

/* Dictation lead: "Listen [ear] and" — one centered inline row (client AU55JIziZgzl). */
.lae-lesson-shell__inner > p.lae-dictation-listen,
.lae-lesson-shell__inner > p.has-text-align-center:has(img[alt='ear']) {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.35rem 0.45rem;
  width: fit-content;
  max-width: 100%;
  margin: 0.35rem auto 0.15rem;
  text-align: center;
}
.lae-lesson-shell__inner > p.lae-dictation-listen img,
.lae-lesson-shell__inner > p.has-text-align-center:has(img[alt='ear']) img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: 76px;
  max-height: 70px;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
}
.lae-lesson-shell__inner > p.lae-dictation-write {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.35rem 0.5rem;
  width: fit-content;
  max-width: 100%;
  margin: 0.15rem auto 1rem;
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.8vw, 1.75rem);
  font-weight: 750;
  line-height: 1.2;
  color: var(--text-primary);
}
.lae-lesson-shell__inner > p.lae-dictation-write img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: 73px;
  max-height: 51px;
  margin: 0;
  border-radius: 0;
  object-fit: contain;
}
.lae-lesson-shell__inner > p.has-text-align-center:has(img[alt='ear']) + .wp-block-image.lesson-decor-image {
  margin: 0.1rem auto 1rem;
}
.lae-lesson-shell__inner > p.has-text-align-center:has(img[alt='ear']) + .wp-block-image.lesson-decor-image img {
  max-width: 73px;
  max-height: 51px;
  border-radius: 0;
}

/* Dictation answer apples — small clickable icons (prod ~69px). */
.lae-lesson-shell__inner > .wp-block-image.lae-dictation-apple,
.lae-lesson-shell__inner > .wp-block-image:has(a img[alt='apple']),
.lae-lesson-shell__inner > .wp-block-image:has(img[alt='apple']) {
  margin: 0.45rem auto 0.2rem;
  width: fit-content;
}
.lae-lesson-shell__inner > .wp-block-image.lae-dictation-apple img,
.lae-lesson-shell__inner > .wp-block-image:has(a img[alt='apple']) img,
.lae-lesson-shell__inner > .wp-block-image:has(img[alt='apple']) img {
  max-width: 69px;
  max-height: 80px;
  width: auto;
  height: auto;
  border-radius: 0;
  object-fit: contain;
}
/* Prod portrait + caption in one <p> (Aqua A1 “I am a teacher…”) */
.lae-lesson-shell__inner > p:has(> img),
.lae-lesson-shell__inner .lae-exercise-card > p:has(> img),
.lae-lesson-shell__inner .lae-exercise-card .wp-block-group__inner-container > p:has(> img) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  margin: 0.85rem 0;
  line-height: 1.45;
}
.lae-lesson-shell__inner > p:has(> img) img,
.lae-lesson-shell__inner .lae-exercise-card p:has(> img) img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  max-width: min(32%, 120px);
  max-height: 110px;
  margin: 0;
  object-fit: contain;
  border-radius: var(--radius);
}
.lae-lesson-shell__inner > .wp-block-embed{
  display: block;
  width: 100%;
  max-width: min(100%, 720px);
  margin: 1.5rem auto !important;
  text-align: center;
}.lae-lesson-shell__inner > .wp-block-embed .wp-block-embed__wrapper{
  /* Must be block+100%: inline-block collapses when only child is .lae-yt-lite
     (absolute play button) → 0×0 “missing” videos on Video Lessons hub. */
  display: block;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}.lae-lesson-shell__inner > .wp-block-embed .lae-yt-lite{
  display: block;
  width: 100%;
}.lae-lesson-shell__inner > .wp-block-embed iframe{
  display: block;
  margin-inline: auto;
  max-width: 100%;
}/* Demo / section labels (Close / Far / This / That sentences). */
.lae-lesson-shell__inner > p.style48,
/* Demo / section labels (Close / Far / This / That sentences). */
.lae-lesson-shell__inner > p.style48,
.lae-lesson-shell__inner > p.style12,
.lae-lesson-shell__inner > p.style7,
.lae-lesson-shell__inner > p:has(> span.style12),
.lae-lesson-shell__inner > p:has(> span.style7){
  text-align: center;
}.lae-lesson-shell__inner > p.has-text-align-left,
.lae-lesson-shell__inner > p[style*='text-align:left'],
.lae-lesson-shell__inner > p[style*='text-align: left']{
  text-align: left;
}.lae-lesson-shell__inner .ezoic-ad,
.lae-lesson-shell__inner [class*='adtester-container']{
  display: block;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden;
}.lae-lesson-shell__inner > p:has(a[href*='Exercise']),
.lae-lesson-shell__inner > p:has(a[href$='.pdf']){
  width: fit-content;
  max-width: min(100%, 820px);
  margin: 1rem auto;
  text-align: center;
}.lae-lesson-shell__inner > p:has(a[href*='Exercise']) a,
.lae-lesson-shell__inner > p:has(a[href$='.pdf']) a{
  /* inline-block — flex collapses the space after <u>Click here</u> ("herefor"). */
  display: inline-block;
  box-sizing: border-box;
  min-height: 48px;
  padding: 0.8rem 1.25rem;
  font-family: var(--font-display);
  font-size: 0.975rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
  vertical-align: middle;
  color: var(--blue-lesson);
  background: var(--blue-lesson-soft);
  border: 1px solid var(--blue-lesson-line);
  border-radius: var(--radius);
  text-decoration: none;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}.lae-lesson-shell__inner > p:has(a[href*='Exercise']) a:hover,
.lae-lesson-shell__inner > p:has(a[href$='.pdf']) a:hover{
  background: color-mix(in srgb, var(--blue-lesson) 14%, var(--bg-card));
  border-color: color-mix(in srgb, var(--blue-lesson) 45%, var(--border));
  text-decoration: none;
  transform: translateY(-1px);
}.lesson-next{
  width: min(100%, 920px);
  margin: 1rem auto 0;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border);
}

@media (max-width: 720px) {
  .lesson-masthead__row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .lesson-masthead__num {
    width: 2.75rem;
    height: 2.75rem;
    font-size: 1.125rem;
  }
  .lesson-masthead:not(.lesson-masthead--no-num) .lesson-masthead__title {
    font-size: clamp(1.6rem, 8vw, 2.15rem);
  }
  .lae-grid-table th,
  .lae-grid-table td {
    padding: 0.875rem 0.75rem;
    font-size: 0.9375rem;
  }
  .lae-grid-table td img {
    max-width: min(100%, 230px);
    max-height: 245px;
  }

  .lae-lesson-shell__inner {
    --grid-table-image-size: 112px;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child {
    width: 54%;
    max-width: 54%;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child {
    width: 46%;
  }
  .lae-grid-table td .fs_5,
  .lae-grid-table td .style38 {
    font-size: 1rem;
  }
}

/* ——— All-level / block chrome (responsive) ——— */

/* Grid tables: scroll + contain on every level (not only blue) */
.lae-lesson-shell__inner .lae-grid-table,
.lae-content-shell .lae-grid-table {
  max-width: 100%;
}

.lae-lesson-shell__inner .lae-grid-table__scroll,
.lae-content-shell .lae-grid-table__scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.lae-lesson-shell__inner .lae-grid-table table,
.lae-content-shell .lae-grid-table table {
  width: 100%;
  max-width: 100%;
}

/* Images + embeds — all levels */
.lae-lesson-shell__inner > .wp-block-image,
.lae-content-shell > .wp-block-image {
  width: fit-content;
  max-width: 100%;
  margin: 1rem auto 1.5rem;
}

.lae-lesson-shell__inner > .wp-block-image img,
.lae-content-shell > .wp-block-image img {
  display: block;
  margin-inline: auto;
  max-width: min(100%, 520px);
  height: auto;
}

.lae-lesson-shell__inner > .wp-block-embed,
.lae-content-shell > .wp-block-embed {
  display: block;
  width: 100%;
  max-width: min(100%, 720px);
  margin: 1.5rem auto !important;
}

.lae-lesson-shell__inner > .wp-block-embed iframe,
.lae-content-shell > .wp-block-embed iframe,
.lae-lesson-shell__inner > .wp-block-embed .lae-yt-lite,
.lae-content-shell > .wp-block-embed .lae-yt-lite {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-inline: auto;
}

.lae-lesson-shell__inner > .wp-block-embed .wp-block-embed__wrapper,
.lae-content-shell > .wp-block-embed .wp-block-embed__wrapper {
  display: block;
  width: 100%;
}

.lae-speakpipe-embed,
.lae-lesson-shell__inner .lae-speakpipe-embed,
.wp-block-embed-speakpipe .lae-speakpipe-embed {
  display: block;
  width: 100%;
  max-width: min(100%, 720px);
  margin: 0.5rem auto 1.25rem;
}

.lae-speakpipe-embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 180px;
  border: 0;
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg-muted, #f4eee1) 55%, #fff);
}

/* Google Form / Level Test embeds (legacy spreadsheet + modern forms) */
.lae-google-form-embed,
.lae-lesson-shell__inner .lae-google-form-embed,
.wp-block-embed-google-forms .lae-google-form-embed {
  display: block;
  width: 100%;
  max-width: min(100%, 760px);
  margin: 1rem auto 1.5rem;
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e5e0d6);
  border-radius: var(--radius-lg, 14px);
  overflow: hidden;
  box-shadow: var(--shadow, 0 1px 2px rgb(0 0 0 / 6%));
}

.lae-google-form-embed iframe,
.wp-block-embed-google-forms iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 1800px;
  height: 2200px;
  border: 0;
  background: #fff;
}

.wp-block-embed-google-forms {
  margin: 1rem auto 1.5rem !important;
  max-width: min(100%, 760px);
}

.wp-block-embed-google-forms .wp-block-embed__wrapper {
  display: block;
  width: 100%;
}

/* Reading singles — template back / next (prod “back … next”) */
.reading-pager {
  display: flex;
  justify-content: center;
  margin: 1.75rem auto 0.5rem;
  padding: 0.5rem 0 1rem;
  max-width: min(100%, 720px);
}

.reading-pager__row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;
  gap: 1.75rem 2.5rem;
}

.reading-pager--solo .reading-pager__row {
  justify-content: center;
}

.reading-pager__link {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 3.5rem;
  text-decoration: none;
  color: var(--text-primary, #211c16);
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.2;
}

.reading-pager__link:hover {
  color: var(--accent-level, var(--accent, #2f6db5));
  text-decoration: none;
}

.reading-pager__arrow {
  display: block;
  font-size: 1.35rem;
  line-height: 1;
  color: var(--accent-level, var(--level-green, #1f6b4a));
  font-weight: 700;
}

.reading-pager__label {
  text-transform: lowercase;
}

.reading-pager__link--placeholder {
  visibility: hidden;
  pointer-events: none;
  min-width: 3.5rem;
}

/* Lesson nav: wrap prev / quiz / next */
.lesson-next {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.75rem 1.25rem;
}

.lesson-next__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}

/* Two columns + sidebar */
.lae-two-columns {
  width: 100%;
  max-width: 100%;
}

.lae-two-columns .wp-block-columns {
  gap: 1.5rem;
}

.lae-two-columns .wp-block-column {
  min-width: 0;
}

.lae-lesson-sidebar {
  padding: 1.15rem 1.25rem 1.35rem;
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e8e0d4);
  border-radius: var(--radius-lg, 12px);
  box-shadow: var(--shadow, 0 8px 28px rgb(33 28 22 / 6%));
}

.lae-lesson-sidebar__title {
  margin: 0 0 0.85rem;
  padding-bottom: 0.65rem;
  border-bottom: 1px solid var(--border, #e8e0d4);
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: 1.125rem;
  font-weight: 750;
  letter-spacing: -0.01em;
  color: var(--text-primary, #211c16);
}

.lae-lesson-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr));
  gap: 0.3rem 0.65rem;
}

.lae-lesson-sidebar__item a {
  display: block;
  padding: 0.45rem 0.55rem;
  font-size: 0.9375rem;
  line-height: 1.35;
  color: var(--text-secondary, #5f594f);
  text-decoration: none;
  border-radius: 8px;
  transition: background 0.15s ease, color 0.15s ease;
}

.lae-lesson-sidebar__item a:hover {
  color: var(--text-primary, #211c16);
  background: color-mix(in srgb, var(--accent, #c45c26) 10%, transparent);
  text-decoration: none;
}

.lae-lesson-sidebar__empty {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-muted, #8a8377);
}

/* SiteOrigin hubs (Prepositions / Aqua): title + two columns of lists */
.lae-two-columns .lae-two-columns__main > h1.wp-block-heading,
.lae-two-columns .wp-block-column.lae-two-columns__main > h1.wp-block-heading {
  margin: 0 0 0.35rem;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: clamp(1.85rem, 3.5vw, 2.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.15;
  color: var(--text-primary, #211c16);
}

.lae-two-columns .lae-two-columns__main > p.wp-block-paragraph,
.lae-two-columns .wp-block-column.lae-two-columns__main > p.wp-block-paragraph {
  margin: 0 0 1.25rem;
  font-size: 1.05rem;
  color: var(--text-secondary, #5f594f);
}

.lae-two-columns .wp-block-columns {
  align-items: start;
  gap: 1.25rem 1.5rem;
}

.lae-two-columns .lae-two-columns__aside .lae-lesson-sidebar__list {
  grid-template-columns: 1fr;
}

@media (max-width: 781px) {
  .lae-lesson-sidebar__list {
    grid-template-columns: repeat(auto-fill, minmax(9rem, 1fr));
  }
}

/* Video Lessons hub: title/date clusters read as entries above players */
.lae-lesson-shell__inner > .wp-block-group.lae-exercise-card:has(+ .wp-block-embed) {
  width: min(100%, 720px);
  max-width: 720px;
  margin: 2rem auto 0.75rem;
  padding: 1rem 1.15rem;
  text-align: center;
}

.lae-lesson-shell__inner > .wp-block-group.lae-exercise-card:has(+ .wp-block-embed)
  .wp-block-paragraph {
  margin: 0.2rem auto;
  text-align: center;
  max-width: none;
}

.lae-lesson-shell__inner > p.has-text-align-center + p.has-text-align-center + .wp-block-embed,
.lae-lesson-shell__inner > p.has-text-align-center + .wp-block-embed {
  margin-top: 0.65rem !important;
}

/* Section shell (non-hub banner) */
.lae-section-shell {
  width: 100%;
  max-width: 100%;
}

.lae-section-shell__header {
  margin: 0 0 1.25rem;
  padding: 1.25rem 1.35rem;
  border-radius: var(--radius-lg, 10px);
  background: var(--bg-card, #fff);
  border: 1px solid var(--border, #e8e0d4);
}

.lae-section-shell__level {
  margin: 0 0 0.35rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted, #8a8377);
}

.lae-section-shell__title {
  margin: 0;
  font-family: var(--font-display, 'Bricolage Grotesque', sans-serif);
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--text-primary, #211c16);
}

.lae-section-shell__body {
  min-width: 0;
}

@media (max-width: 781px) {
  .lae-two-columns .wp-block-columns {
    flex-direction: column !important;
  }

  .lae-two-columns .wp-block-column {
    flex-basis: 100% !important;
    width: 100% !important;
  }
}

@media (max-width: 600px) {
  /* Stack text | image exercise rows instead of cramped 54/46 */
  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) {
    display: block;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :first-child,
  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 0.75rem !important;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child {
    text-align: center !important;
    border-top: 1px solid var(--border, #e8e0d4);
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > div,
  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child > p {
    justify-content: center;
    text-align: center;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(2):last-child):has(> :last-child img):not(:has(> :first-child img)):not(:has(> [colspan])):not(:has(> [rowspan])) > :last-child img {
    margin-inline: auto;
    width: min(100%, var(--grid-table-image-size, 140px));
    height: auto;
    max-height: none;
  }

  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(3)) > :first-child,
  .lae-lesson-shell__inner .lae-grid-table tr:has(> :nth-child(3)) > :nth-child(n + 2) {
    width: auto;
    max-width: none;
  }

  .lae-lesson-shell__inner .lae-grid-table .lae-exercise-blank {
    min-width: 4.5rem;
    flex-basis: 5rem;
  }

  .lesson-next {
    flex-direction: column;
    align-items: stretch;
  }

  .lesson-next__link {
    width: 100%;
  }

  .lae-section-shell__header {
    padding: 1rem;
  }
}

/* ——— Basic English Dictionary (Word of the Day index) ———
 * Prod stores each letter as a 1-col grid-table. Restyle as a compact
 * 4–5 column word chip grid so A–Z is scannable without endless scroll.
 * Guard: only short letter headers (no paragraphs/lists) — never lesson
 * “Questions” / title rows with yellow #ffffcc.
 */
.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ),
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) {
  --dict-accent: #3d5a6c;
  --dict-accent-soft: #eef3f6;
  --dict-line: color-mix(in srgb, var(--dict-accent) 14%, #e8e2d8);
  width: min(100%, 960px);
  margin: 0.85rem auto !important;
  border-color: var(--dict-line);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--dict-accent) 8%, transparent);
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) .lae-grid-table__scroll,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) .lae-grid-table__scroll {
  overflow: visible;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) table,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) table {
  display: block;
  table-layout: auto;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tbody,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tbody {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px 8px;
  padding: 10px 12px 14px;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tr,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tr {
  display: contents;
  border: 0;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tr + tr,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) tr + tr {
  border-top: 0;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) th.lae-grid-table__cell--bg-ffffcc,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) th.lae-grid-table__cell--bg-ffffcc {
  grid-column: 1 / -1;
  margin: 0 0 2px;
  padding: 0.7rem 1rem !important;
  border-radius: 10px;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--dict-accent) 92%, #1a2a33) 0%,
      var(--dict-accent) 55%,
      color-mix(in srgb, var(--dict-accent) 75%, #6b8a9a) 100%
    ) !important;
  color: #fff !important;
  font-family: var(--font-display, 'Bricolage Grotesque', Georgia, serif) !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em;
  text-align: left !important;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.12);
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) th.lae-grid-table__cell--bg-ffffcc span,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) th.lae-grid-table__cell--bg-ffffcc span {
  color: inherit;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td {
  min-width: 0;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 0.95rem !important;
  line-height: 1.25 !important;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td a,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.4rem 0.45rem;
  border: 1px solid var(--dict-line);
  border-radius: 9px;
  background: linear-gradient(180deg, #fff 0%, var(--dict-accent-soft) 100%);
  color: #24343c;
  font-weight: 600;
  text-decoration: none !important;
  text-align: center;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.15s ease,
    background 0.15s ease;
}

.lae-lesson-shell__inner > .lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td a:hover,
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
  ) td a:hover {
  border-color: var(--dict-accent);
  background: #fff;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--dict-accent) 14%, transparent);
  transform: translateY(-1px);
  color: var(--dict-accent);
}

/* Intro card above the A–Z lists — single frame only (no pill around link buttons). */
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:first-of-type {
  --dict-accent: #3d5a6c;
  --dict-accent-soft: #eef3f6;
  --dict-line: color-mix(in srgb, var(--dict-accent) 14%, #e8e2d8);
  width: min(100%, 960px);
  margin-left: auto;
  margin-right: auto;
  border-color: var(--dict-line);
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:first-of-type
  p:has(> a):not(.lae-lesson-cta) {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0.35rem auto 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  line-height: 1.5;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:first-of-type
  p:has(> a):not(.lae-lesson-cta)
  > a {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--dict-accent, #3d5a6c) !important;
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  text-decoration: underline !important;
  transform: none;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:first-of-type
  p:has(> a):not(.lae-lesson-cta)
  > a:hover {
  background: transparent;
  border: 0;
  transform: none;
  color: color-mix(in srgb, var(--dict-accent, #3d5a6c) 80%, #000) !important;
}

/* X / Z orphans: single-link paragraphs between letter tables (not grid-tables). */
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  ) {
  --dict-accent: #3d5a6c;
  --dict-accent-soft: #eef3f6;
  --dict-line: color-mix(in srgb, var(--dict-accent) 14%, #e8e2d8);
}

/* Letter band before X words (W table → loose paragraphs). */
.lae-lesson-shell__inner > figure.lae-grid-table:has(
    + p.wp-block-paragraph > a:only-child
  )
  + p.wp-block-paragraph:has(> a:only-child) {
  display: block;
  width: min(100%, 960px);
  max-width: none;
  margin: 0.85rem auto 0.25rem;
  padding: 0 !important;
}

.lae-lesson-shell__inner > figure.lae-grid-table:has(
    + p.wp-block-paragraph > a:only-child
  )
  + p.wp-block-paragraph:has(> a:only-child)::before {
  content: 'X';
  display: block;
  margin: 0 0 8px;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--dict-accent) 92%, #1a2a33) 0%,
      var(--dict-accent) 55%,
      color-mix(in srgb, var(--dict-accent) 75%, #6b8a9a) 100%
    );
  color: #fff;
  font-family: var(--font-display, 'Bricolage Grotesque', Georgia, serif);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: left;
}

.lae-lesson-shell__inner > figure.lae-grid-table:has(
    + p.wp-block-paragraph > a:only-child
  )
  + p.wp-block-paragraph:has(> a:only-child)
  > a {
  display: inline-flex;
  width: calc((100% - 2.5rem) / 5);
  max-width: 11.5rem;
  margin: 0.2rem 0.25rem 0 0;
  box-sizing: border-box;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > p.wp-block-paragraph:has(> a:only-child):not(.lae-lesson-cta):not(.lae-exercise-footer-link) {
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  width: calc((100% - 2.5rem) / 5);
  max-width: 11.5rem;
  margin: 0.2rem 0.25rem;
  padding: 0 !important;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > p.wp-block-paragraph:has(> a:only-child):not(.lae-lesson-cta):not(.lae-exercise-footer-link)
  > a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.4rem 0.45rem;
  border: 1px solid var(--dict-line);
  border-radius: 9px;
  background: linear-gradient(180deg, #fff 0%, var(--dict-accent-soft) 100%);
  color: #24343c !important;
  font-weight: 600;
  text-decoration: none !important;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > p.wp-block-paragraph:has(> a:only-child):not(.lae-lesson-cta):not(.lae-exercise-footer-link)
  > a:hover {
  border-color: var(--dict-accent);
  background: #fff;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--dict-accent) 14%, transparent);
  transform: translateY(-1px);
  color: var(--dict-accent) !important;
}

/* Z-card (and similar): word chips only — strip nested p+a frames. */
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type) {
  width: min(100%, 960px);
  margin: 0.85rem auto !important;
  border-color: var(--dict-line);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--dict-accent) 8%, transparent);
  padding-top: 0;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)::before {
  content: 'Z';
  display: block;
  margin: 12px 12px 0;
  padding: 0.7rem 1rem;
  border-radius: 10px;
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--dict-accent) 92%, #1a2a33) 0%,
      var(--dict-accent) 55%,
      color-mix(in srgb, var(--dict-accent) 75%, #6b8a9a) 100%
    );
  color: #fff;
  font-family: var(--font-display, 'Bricolage Grotesque', Georgia, serif);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  > .wp-block-group__inner-container {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px 8px;
  padding: 10px 12px 14px;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a:only-child):not(.lae-lesson-cta) {
  display: block;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a:only-child):not(.lae-lesson-cta)
  > a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 2.35rem;
  padding: 0.4rem 0.45rem;
  border: 1px solid var(--dict-line);
  border-radius: 9px;
  background: linear-gradient(180deg, #fff 0%, var(--dict-accent-soft) 100%);
  color: #24343c !important;
  font-family: var(--font-sans, 'Public Sans', system-ui, sans-serif);
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none !important;
  transform: none;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a:only-child):not(.lae-lesson-cta)
  > a:hover {
  border-color: var(--dict-accent);
  background: #fff;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--dict-accent) 14%, transparent);
  transform: translateY(-1px);
  color: var(--dict-accent) !important;
}

/* Thank-you / membership line spans full width, plain text link. */
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a[href*='Membership']):not(.lae-lesson-cta),
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a > u):not(.lae-lesson-cta) {
  grid-column: 1 / -1;
  margin-top: 0.5rem !important;
  text-align: center;
}

.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a[href*='Membership']):not(.lae-lesson-cta)
  > a,
.lae-lesson-shell__inner:has(
    > .lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      ),
    > figure.lae-grid-table:has(
        tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
      )
  )
  > .wp-block-group.lae-exercise-card:not(:first-of-type)
  p:has(> a > u):not(.lae-lesson-cta)
  > a {
  display: inline;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--dict-accent, #3d5a6c) !important;
  font-weight: 600;
  text-decoration: underline !important;
  box-shadow: none;
  transform: none;
}

@media (max-width: 900px) {
  .lae-lesson-shell__inner > .lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    tbody,
  .lae-lesson-shell__inner > figure.lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    tbody,
  .lae-lesson-shell__inner:has(
      > .lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        ),
      > figure.lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        )
    )
    > .wp-block-group.lae-exercise-card:not(:first-of-type)
    > .wp-block-group__inner-container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .lae-lesson-shell__inner:has(
      > .lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        ),
      > figure.lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        )
    )
    > p.wp-block-paragraph:has(> a:only-child):not(.lae-lesson-cta):not(.lae-exercise-footer-link) {
    width: calc((100% - 2rem) / 4);
  }
}

@media (max-width: 640px) {
  .lae-lesson-shell__inner > .lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    tbody,
  .lae-lesson-shell__inner > figure.lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    tbody,
  .lae-lesson-shell__inner:has(
      > .lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        ),
      > figure.lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        )
    )
    > .wp-block-group.lae-exercise-card:not(:first-of-type)
    > .wp-block-group__inner-container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: 8px 8px 12px;
    gap: 5px 6px;
  }

  .lae-lesson-shell__inner > .lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    td
    a,
  .lae-lesson-shell__inner > figure.lae-grid-table:has(
      tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
    )
    td
    a {
    min-height: 2.15rem;
    font-size: 0.88rem;
    padding: 0.35rem 0.3rem;
  }

  .lae-lesson-shell__inner:has(
      > .lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        ),
      > figure.lae-grid-table:has(
          tbody > tr:first-child > th.lae-grid-table__cell--bg-ffffcc:only-child:not(:has(p)):not(:has(ul)):not(:has(ol)):not(:has(div)):not(:has(br))
        )
    )
    > p.wp-block-paragraph:has(> a:only-child):not(.lae-lesson-cta):not(.lae-exercise-footer-link) {
    width: calc((100% - 1.5rem) / 3);
  }
}
