/*
Theme Name: ll-theme
Template: qorntix
Version: 1.0.1785744262
Updated: 2026-08-03 08:04:22

*/

:root {
  /* Palette A — "Local" (green / coral / honey on soft white) */
  --lml-ink:       #1f2a24;  /* headings, body text   */
  --lml-bg:        #f4f6f2;  /* soft page background   */
  --lml-primary:   #2f7d6b;  /* teal-green            */
  --lml-accent:    #e2674a;  /* warm coral            */
  --lml-highlight: #edb94a;  /* honey                 */

  /* Derived tints */
  --lml-ink-soft: #52605a;
  --lml-line:     #dde3dc;
  --lml-zebra:    #eef2ec;

  /* Base font size for main elements (paragraphs, lists, tables) */
  --lml-fs-base: 1.0625rem;   /* ~17px */
  --lml-lh-base: 1.7;

  /* Heading scale (independent of base size) */
  --lml-fs-h1: clamp(1.9rem, 1.3rem + 2.6vw, 2.8rem);
  --lml-fs-h2: clamp(1.35rem, 1.1rem + 1.1vw, 1.7rem);
  --lml-fs-h3: 1.15rem;
  --lml-fs-small: 0.875rem;   /* source notes, captions */

  --lml-radius: 8px;
  --lml-shadow: 0 10px 26px -16px rgba(31, 42, 36, 0.35);
}

/* ---------- Base ---------- */
.lml-page { color: var(--lml-ink); }
.lml-page p,
.lml-page li,
.lml-page td,
.lml-page th {
  font-size: var(--lml-fs-base);
  line-height: var(--lml-lh-base);
}
.lml-page a {
  color: var(--lml-primary);
  text-underline-offset: 3px;
}
.lml-page a:hover { color: var(--lml-accent); }

/* ---------- Headings ---------- */
.lml-page h1,
.lml-page h2,
.lml-page h3 {
  color: var(--lml-ink);
  line-height: 1.2;
}
.lml-page h1 { font-size: var(--lml-fs-h1); font-weight: 800; margin-bottom: 0.4rem; }
.lml-page h2 {
  font-size: var(--lml-fs-h2);
  font-weight: 700;
  margin-top: 2.2rem;
  padding-bottom: 0.4rem;
  border-bottom: 2px solid var(--lml-line);
}
.lml-page h3 { font-size: var(--lml-fs-h3); font-weight: 700; margin-top: 1.5rem; }

/* Small published line under the H1 */
.lml-published { color: var(--lml-primary); font-weight: 700; margin-top: 0; }
.lml-lede {
  font-size: clamp(1.08rem, 1rem + 0.4vw, 1.22rem) !important;
  color: var(--lml-ink-soft);
  /*max-width: 62ch;*/
}

/* ---------- Tables ---------- */
.lml-page .wp-block-table {
  border: 1px solid var(--lml-line);
  border-radius: var(--lml-radius);
  overflow: hidden;
  box-shadow: var(--lml-shadow);
}
.lml-page .wp-block-table table {
  border-collapse: collapse;
  width: 100%;
  font-variant-numeric: tabular-nums;
}
.lml-page .wp-block-table thead th {
  background: var(--lml-primary);
  color: #fff;
  text-align: left;
  font-weight: 650;
  padding: 0.75rem 0.95rem;
}
.lml-page .wp-block-table td {
  padding: 0.7rem 0.95rem;
  border-bottom: 1px solid var(--lml-line);
  vertical-align: top;
}
.lml-page .wp-block-table tbody tr:nth-child(even) { background: var(--lml-zebra); }
.lml-page .wp-block-table td:first-child { font-weight: 650; }

/* ---------- Lists ---------- */
.lml-page ul { padding-left: 1.15rem; }
.lml-page ul li { margin-bottom: 0.45rem; }
.lml-page ul li::marker { color: var(--lml-accent); }

/* ---------- Source notes / captions ---------- */
.lml-source,
.lml-page .wp-element-caption {
  font-size: var(--lml-fs-small);
  color: var(--lml-ink-soft);
}

/* Responsible-play helpline note */
.lml-note {
  background: #fbf6ec;
  border-left: 4px solid var(--lml-highlight);
  border-radius: var(--lml-radius);
  padding: 0.9rem 1.1rem;
}

/* ---------- Images ---------- */
.lml-page .wp-block-image img {
  border-radius: var(--lml-radius);
  box-shadow: var(--lml-shadow);
  display: block;
  /*width: 100%;*/
  height: auto;
  margin: 0 auto;
}
.lml-figure { margin: 1.8rem 0; }
.lml-figure figcaption { text-align: center; font-style: italic; margin-top: 0.6rem; }

/* ---------- Mobile ---------- */
@media (max-width: 600px) {
  .lml-page .wp-block-table { overflow-x: auto; }
}