/* lesson.css — shared components for Family Bible Study lesson pages.
   Loads AFTER site.css and reuses its tokens (--brand, --accent, --ink, etc.). */

/* Lesson hero meta line (passage, date, series) */
.lesson-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:14px;font-size:14px;color:var(--muted);font-weight:600}
.lesson-meta .pill{background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;color:var(--brand)}

/* Big-picture callout */
.big-idea{background:linear-gradient(120deg,#235448,#2f6f5e);color:#fff;border-radius:18px;padding:30px 32px;margin:0 0 8px}
.big-idea .eyebrow{color:var(--accent)}
.big-idea h2{font-size:24px;font-weight:800;margin-bottom:8px}
.big-idea p{font-size:17px;color:rgba(255,255,255,.9);max-width:54em}

/* Scripture block — serif, accent rule */
.scripture{background:#fff;border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:14px;padding:26px 30px;font-family:Georgia,serif;font-size:19px;line-height:1.8;color:var(--ink)}
.scripture .ref{display:block;margin-top:14px;font-family:inherit;font-style:normal;font-weight:700;color:var(--brand);font-size:15px;letter-spacing:.03em}
.scripture sup{color:var(--muted);font-size:.7em;font-weight:700;margin-right:3px}

/* Key-word dashed underline inside scripture/prose */
.kw{border-bottom:2px dashed var(--brand);font-weight:600;cursor:help}

/* Inductive marking (Kay Arthur style). Marks are always present but only
   "light up" when body has class "ind-on", so the toggle needs no styling rebuild. */
.mk{border-radius:4px;padding:0 2px;transition:background .15s ease,box-shadow .15s ease}
body.ind-on .mk-god{background:#fdecc8;box-shadow:inset 0 -2px 0 #e8b04b}      /* God / Yahweh / LORD */
body.ind-on .mk-jesus{background:#e9def7;box-shadow:inset 0 -2px 0 #8b5cf6}    /* Jesus / Son / Messiah */
body.ind-on .mk-spirit{background:#d7f0e6;box-shadow:inset 0 -2px 0 #2f6f5e}   /* Holy Spirit */
body.ind-on .mk-sin{background:#fbdcdc;box-shadow:inset 0 -2px 0 #c0392b}      /* sin / blood / sacrifice */
body.ind-on .mk-place{box-shadow:inset 0 -6px 0 -3px #2f9e6e}                  /* geography / time */
body.ind-on .mk-person{background:#d6e4fb;box-shadow:inset 0 -2px 0 #2563eb}   /* key people */
body.ind-on .mk-key{outline:1.5px solid var(--brand);outline-offset:1px;border-radius:3px} /* repeated key word */

/* Shape icons on each mark — so categories are readable without relying on color.
   Icons only appear when marking is toggled on. */
body.ind-on .mk::after{font-size:.72em;vertical-align:.4em;margin-left:2px;line-height:0;font-family:"Segoe UI Symbol","Apple Color Emoji","Noto Color Emoji",sans-serif}
body.ind-on .mk-god::after{content:"▲";color:#c08a1e}        /* God / LORD / Father */
body.ind-on .mk-jesus::after{content:"♔";color:#7a52c9}      /* Jesus / Son / Messiah */
body.ind-on .mk-spirit::after{content:"🕊"}                  /* Holy Spirit */
body.ind-on .mk-person::after{content:"◆";color:#2563eb}     /* key people */
body.ind-on .mk-place::after{content:"📍"}                   /* geography / time */
body.ind-on .mk-sin::after{content:"✕";color:#c0392b}        /* sin / blood / fire / destroy */
body.ind-on .mk-key::after{content:"✦";color:#2f6f5e}        /* repeated key word */

.ind-bar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin:0 0 16px}
.ind-toggle{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;cursor:pointer}
.ind-toggle .dot{width:34px;height:20px;border-radius:999px;background:var(--line);position:relative;transition:background .15s ease}
.ind-toggle .dot::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}
body.ind-on .ind-toggle .dot{background:var(--brand)}
body.ind-on .ind-toggle .dot::after{transform:translateX(14px)}
.ind-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--muted);align-items:center}
.ind-legend span{display:inline-flex;align-items:center;gap:6px}
.ind-legend b{font-size:16px;line-height:1;font-weight:400;font-family:"Segoe UI Symbol","Apple Color Emoji","Noto Color Emoji",sans-serif}
.ind-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}

/* Word-study (philology) cards */
.word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.word-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;position:relative;scroll-margin-top:84px;transition:border-color .15s ease,box-shadow .15s ease}
.word-card:target{border-color:var(--brand);box-shadow:0 0 0 3px rgba(47,111,94,.16)}
.word-card .vref{display:inline-block;font-size:12px;font-weight:700;color:var(--brand);background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:3px 11px;margin-bottom:10px}
.word-card .orig{font-family:Georgia,serif;font-size:22px;font-weight:700;color:var(--brand)}
.word-card .translit{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:10px}
.word-card .lit{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--accent)}
.word-card p{font-size:15px;color:var(--ink);margin-top:6px}
.word-card .backlink{display:inline-block;margin-top:14px;font-size:13px;font-weight:600;color:var(--muted)}
.word-card .backlink:hover{color:var(--brand)}

/* Key word in the passage that links down to its original-language card */
.wordlink{color:var(--brand);border-bottom:1px dotted var(--brand);cursor:pointer}
.wordlink:hover{border-bottom-style:solid}
#passage{scroll-margin-top:84px}

/* Accordions — the depth-on-demand pattern */
.acc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0 20px;margin-bottom:12px}
.acc>summary{list-style:none;cursor:pointer;padding:18px 0;font-weight:700;font-size:16px;display:flex;align-items:center;gap:10px}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"+";margin-left:auto;font-size:22px;color:var(--brand);font-weight:400}
.acc[open]>summary::after{content:"\2212"}
.acc>summary:hover{color:var(--brand)}
.acc .acc-body{padding:0 0 20px;color:var(--ink);font-size:15px;line-height:1.7}
.acc .acc-body img{border-radius:10px;border:1px solid var(--line);margin:10px 0}
.acc .acc-body figcaption{font-size:13px;color:var(--muted);margin-top:4px}

/* Chart container (Chart.js renders on load — keep heights capped) */
.chart-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;max-width:760px;margin:0 auto}
.chart-box .chart-wrap{position:relative;width:100%;height:42vh;max-height:380px;margin:0 auto}

/* Embedded media (maps, videos) — visible inline for teaching from the page */
.embed-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px}
figure.media{margin:0}
.embed{position:relative;width:100%;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 2px 10px rgba(31,39,51,.05)}
.embed iframe{display:block;width:100%;border:0}
.embed img{display:block;width:100%;height:auto}
.embed-16x9{aspect-ratio:16/9}
.embed-16x9 iframe{position:absolute;inset:0;width:100%;height:100%}
.embed-map iframe{height:360px}
.embed-cap{font-size:13px;color:var(--muted);margin-top:8px;line-height:1.5}
.embed-cap .credit{display:block;margin-top:3px;font-size:12px;opacity:.85}

/* Pure-CSS narrative flow (no SVG) */
.flow{display:flex;flex-direction:column;gap:8px;max-width:520px}
.flow .step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px 18px;font-size:15px}
.flow .arrow{align-self:center;color:var(--brand);font-size:20px;line-height:1}

/* Cross-reference / data table */
.xref{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.xref th,.xref td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line)}
.xref th{background:var(--soft);font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.xref tr:last-child td{border-bottom:none}

/* Discussion questions */
.questions{list-style:none;counter-reset:q;display:grid;gap:12px}
.questions li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px 16px 52px;position:relative;font-size:16px}
.questions li::before{counter-increment:q;content:counter(q);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--brand);color:#fff;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}

/* Mental-model lens (e.g. inversion) — a thinking tool that opens the text.
   Use only where the passage genuinely invites it; keep it visible, not hidden. */
.model{background:#fff;border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:14px;padding:24px 26px}
.model .tag{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brand);margin-bottom:8px}
.model h3{font-size:19px;margin-bottom:8px}
.model p{font-size:16px;color:var(--ink);margin-bottom:10px}
.model p:last-child{margin-bottom:0}
.model .flip{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:stretch;margin:16px 0}
.model .flip .side{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:15px}
.model .flip .side .lab{display:block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:5px}
.model .flip .arrow{align-self:center;color:var(--brand);font-size:24px;font-weight:700;text-align:center}
@media(max-width:640px){
  .model .flip{grid-template-columns:1fr}
  .model .flip .arrow{transform:rotate(90deg)}
}

/* Cross-link callout — connect a lesson to a related study (e.g. an OT deep-dive) */
.crosslink{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;background:var(--soft);border:1px solid var(--line);border-left:5px solid var(--brand);border-radius:14px;padding:18px 22px}
.crosslink .cl-text{flex:1;min-width:240px}
.crosslink .cl-text b{display:block;font-size:15px;color:var(--ink);margin-bottom:2px}
.crosslink .cl-text span{font-size:14px;color:var(--muted)}
.crosslink .btn{white-space:nowrap}

/* Resource cards (videos, maps & places, study tools) */
.res-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.res-col{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}
.res-col h3{font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.res-col h3 .ic{font-size:18px;line-height:1;font-family:"Segoe UI Symbol","Apple Color Emoji","Noto Color Emoji",sans-serif}
.res-col ul{list-style:none;display:grid;gap:12px}
.res-col li a{color:var(--brand);font-weight:700;font-size:14px}
.res-col li a:hover{text-decoration:underline}
.res-col li .d{display:block;color:var(--muted);font-weight:400;font-size:13px;margin-top:2px}

/* Lesson footer nav (prev / next / all) */
.lesson-nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}

/* ── Grasping God's Word components ─────────────────────────────── */
/* Observation box: "observe before you interpret" (GGW chs. 3–5) */
.observe{background:#fbf7ec;border:1px solid #f0e2bd;border-radius:14px;padding:18px 20px;margin:18px 0 0}
.observe h3{margin:0 0 8px;font-size:16px;color:#7a5a12}
.observe ul{margin:0;padding-left:20px}
.observe li{margin:5px 0;line-height:1.55}

/* Gospel question callout: "what is this episode telling us about Jesus?" */
.gospel-q{background:#eef4f1;border-left:4px solid var(--brand);border-radius:10px;padding:14px 18px;margin:18px 0 0}
.gospel-q strong{color:var(--brand-dark)}

/* The Interpretive Journey: their town → river → bridge → map → our town */
.ij{counter-reset:ijstep;margin:8px 0 4px}
.ij-intro{color:var(--muted);max-width:52em;margin:0 0 22px}
.ij-step{position:relative;padding:0 0 26px 64px;border-left:3px solid #d9e6e1;margin-left:22px}
.ij-step:last-child{border-left-color:transparent;padding-bottom:0}
.ij-step::before{counter-increment:ijstep;content:counter(ijstep);position:absolute;left:-22px;top:-4px;
  width:44px;height:44px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;
  font-size:19px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(35,84,72,.25)}
.ij-step.bridge::before{background:var(--accent);color:#3a2c08}
.ij-tag{display:inline-block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  font-weight:700;color:var(--brand-dark);background:#e7f1ed;border-radius:999px;padding:3px 11px;margin-bottom:7px}
.ij-step.bridge .ij-tag{color:#7a5a12;background:#fbf0d6}
.ij-step h3{margin:2px 0 7px;font-size:19px;color:var(--ink)}
.ij-step p{margin:0;color:var(--ink);line-height:1.62}
.ij-step .q{display:block;color:var(--muted);font-style:italic;font-size:14px;margin:0 0 6px}

@media(max-width:820px){
  .scripture{font-size:17px;padding:20px 22px}
  .big-idea{padding:24px}
}
@media(max-width:520px){
  .ij-step{padding-left:54px;margin-left:18px}
  .ij-step::before{width:38px;height:38px;font-size:16px;left:-20px}
}
