/* The established palette and local Hebrew font remain the book's visual base. */
.book-lesson {
  --lesson-ink: #21372f;
  --lesson-teal: #0c665c;
  --lesson-sage: #e4ede8;
  --lesson-amber: #e0b65b;
  margin: 32px -36px 40px;
  padding: 28px 32px;
  color: var(--lesson-ink);
  border: 1px solid #b9ccc3;
  border-block-start: 4px solid var(--lesson-teal);
  border-radius: 8px;
  background: #fff;
  font-size: 17px;
  line-height: 1.7;
  scroll-margin-top: 120px;
}
.book-lesson h3 { margin: 0 0 18px; font-size: clamp(23px, 4vw, 28px); color: var(--lesson-ink); line-height: 1.4; }
.book-lesson h4 { font-size: 19px; line-height: 1.5; margin: 0 0 12px; }
.book-lesson p { margin: 0 0 15px; }
.book-lesson p:last-child { margin-bottom: 0; }
.book-lesson .lesson-note { font-size: 14px; color: #4b6057; line-height: 1.65; }
.book-lesson .lesson-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin-block: 16px; align-items: start; }
.book-lesson button, .book-lesson input, .book-lesson select, .book-lesson textarea { font: inherit; }
.book-lesson button {
  border: 1px solid #7a9688;
  border-radius: 5px;
  min-height: 44px;
  max-width: 100%;
  padding: 10px 14px;
  color: var(--lesson-teal);
  background: #fff;
  line-height: 1.5;
  text-align: start;
  cursor: pointer;
  touch-action: manipulation;
}
.book-lesson button:hover:not(:disabled) { background: #edf5f0; }
.book-lesson button:disabled { opacity: .5; cursor: default; }
.book-lesson .lesson-primary { color: #fff; background: var(--lesson-teal); font-weight: 700; }
.book-lesson .lesson-primary:hover:not(:disabled) { background: #084e46; }
.book-lesson button[aria-pressed="true"] { background: #edf1ff; color: #193cb8; border-color: #193cb8; box-shadow: inset 0 -3px #193cb8; }
.book-lesson button:focus-visible, .book-lesson input:focus-visible, .book-lesson textarea:focus-visible, .book-lesson select:focus-visible { outline: 3px solid #193cb8; outline-offset: 4px; }
.book-lesson fieldset { min-width: 0; border: 0; margin: 0 0 22px; padding: 0; }
.book-lesson legend { font-weight: 700; margin-bottom: 8px; max-width: 100%; }
.book-lesson label { display: block; font-weight: 700; margin-bottom: 7px; }
.book-lesson input:not([type="checkbox"]), .book-lesson select, .book-lesson textarea { width: 100%; min-width: 0; max-width: 100%; display: block; padding: 10px 12px; background: #fff; color: var(--lesson-ink); border: 1px solid #7a9688; border-radius: 4px; line-height: 1.6; margin-bottom: 16px; }
.book-lesson textarea { resize: vertical; overflow-wrap: anywhere; }
.book-lesson textarea[readonly] { background: #f7faf8; }
.book-lesson input::placeholder, .book-lesson textarea::placeholder { color: #61746b; opacity: 1; }
.book-lesson .lesson-check { display: flex; align-items: center; gap: 12px; min-height: 44px; font-weight: 400; cursor: pointer; }
.book-lesson input[type="checkbox"] { width: 22px; height: 22px; flex-shrink: 0; margin: 0; accent-color: var(--lesson-teal); }
.book-lesson .lesson-panel { padding: 22px; background: var(--lesson-sage); border-radius: 5px; min-width: 0; margin-block: 18px; overflow-wrap: anywhere; }
.book-lesson .lesson-screen { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.book-lesson .lesson-screen > div { min-width: 0; }
.book-lesson .lesson-screen .lesson-panel { margin: 0; }
.book-lesson blockquote { font-size: 17px; margin: 18px 0; padding: 12px 16px; }
.book-lesson .lesson-status { color: var(--lesson-teal); border-inline-start: 3px solid #8daf9d; padding-inline-start: 12px; margin-block: 20px 0; }
.book-lesson .lesson-status:empty { display: none; }
.book-lesson .lesson-number { font-size: 29px; color: var(--lesson-teal); font-weight: 700; line-height: 1.5; font-variant-numeric: tabular-nums; }
.book-lesson .lesson-steps { padding-inline-start: 28px; margin-block: 16px 24px; }
.book-lesson .lesson-steps li { padding-inline-start: 5px; margin-block: 12px; }
.book-lesson .lesson-presentation { text-align: center; padding-block: 18px; }
.book-lesson .lesson-quarters { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); width: min(230px, 100%); aspect-ratio: 1; border: 2px solid var(--lesson-teal); margin: 0 auto 20px; gap: 3px; padding: 3px; }
.book-lesson .lesson-quarters span { border: 1px solid #a4b8ad; background: #fff; }
.book-lesson .lesson-quarters span[data-filled="true"] { background: var(--lesson-teal); }
.book-lesson .lesson-audience-preview { border: 2px solid #9fb9aa; padding: 22px; margin-block: 20px; width: 100%; overflow-wrap: anywhere; background: #f4f8f5; }
.book-lesson .lesson-checks { margin-block: 24px; }
.book-lesson .lesson-checks fieldset { border-block-start: 1px solid #b9ccc3; padding: 16px 0 6px; }
.book-lesson .lesson-checks legend { padding-inline-end: 14px; font-size: 19px; }
.book-lesson .lesson-saved { list-style: none; padding: 0; margin-block: 18px; }
.book-lesson .lesson-saved li { border-inline-start: 3px solid #8daf9d; padding: 14px 18px; margin-block: 14px; background: #f4f8f5; }
.book-lesson .lesson-saved strong { display: block; margin-bottom: 8px; }
.book-lesson .lesson-saved button { font-size: 15px; }
.book-lesson .lesson-worksheet-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 24px; margin-block: 20px; }
.book-lesson .lesson-worksheet-fields > div { min-width: 0; }
.book-lesson hr { border: 0; border-block-start: 1px solid #b9ccc3; margin-block: 30px; }
.book-lesson [hidden] { display: none !important; }
.book-practice-nav { background: #edf4ef; padding: 22px 26px; margin-block: 30px 40px; border-inline-start: 4px solid #0c665c; scroll-margin-top: 110px; }
.book-practice-nav summary { color: #0c665c; font-size: 22px; font-weight: 700; min-height: 44px; cursor: pointer; }
.book-practice-nav summary:focus-visible { outline: 3px solid #193cb8; outline-offset: 4px; }
.book-practice-nav p { margin-block: 12px; }
.book-practice-nav ol { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 36px; }
.book-practice-nav li { padding-inline-start: 4px; }
@media (max-width: 700px) {
  .book-lesson { margin-inline: -7px; padding: 23px 16px; }
  .book-lesson .lesson-screen, .book-lesson .lesson-worksheet-fields { grid-template-columns: 1fr; gap: 18px; }
  .book-lesson .lesson-panel { padding: 18px; }
  .book-lesson select { font-size: 16px; }
  .book-practice-nav { padding: 18px; }
  .book-practice-nav ol { grid-template-columns: 1fr; }
}
@media print {
  .book-practice-nav { display: none; }
  .book-lesson { margin: 20px 0; padding: 15px; background: white; font-size: 11pt; break-inside: auto; }
  .book-lesson .lesson-live { display: none !important; }
  .book-lesson .lesson-static[hidden] { display: block !important; }
  .book-lesson h3 { font-size: 17pt; }
  .book-lesson .lesson-note { font-size: 10pt; }
}
