/* public/css/weekly.css — Weekly Learning Program (v10.343) */
.wk{ --wk-ink:#1B2A4A; --wk-mut:#5E5873; --wk-line:rgba(27,42,74,.14); color:var(--wk-ink); }
.wk-page{ max-width:1100px; margin:0 auto; padding:14px 16px 56px; }
.wk-hero{ background:linear-gradient(135deg,#EAF8F8,#FFF6FA); border:1px solid var(--wk-line); border-radius:24px; padding:22px; }
.wk-hero h1{ margin:4px 0 8px; font-size:clamp(28px,5vw,42px); color:#00838F !important; -webkit-text-fill-color:#00838F !important; }
.wk-eyebrow{ margin:0; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#C4005A; }
.wk-lede{ margin:0 0 10px; color:var(--wk-mut); line-height:1.6; max-width:60ch; }
.wk-note{ margin:0 0 10px; font-size:14px; }
.wk-note a{ color:#00838F; font-weight:700; }
.wk-progress{ font-size:14px; }
.wk-bar{ height:10px; background:#fff; border:1px solid var(--wk-line); border-radius:10px; overflow:hidden; margin-top:6px; max-width:420px; }
.wk-bar span{ display:block; height:100%; background:linear-gradient(90deg,#00838F,#5DE3DC); }
.wk-weeks{ display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.wk-weeks a{ min-width:44px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid var(--wk-line);
  background:#fff; color:var(--wk-ink); font-weight:800; text-decoration:none; }
.wk-weeks a.is-done{ background:#E6F7EE; border-color:#8FD6AE; color:#0B6B33; }
.wk-weeks a.is-current{ outline:3px solid #00838F; outline-offset:1px; }
.wk-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.wk-sec{ margin:26px 0; }
.wk-sec h2{ font-size:clamp(20px,3vw,26px); margin:0 0 12px; }
.wk-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr)); gap:14px; }
.wk-grid-subjects{ grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); align-items:stretch; }
.wk-card{ background:#fff; border:1px solid var(--wk-line); border-radius:18px; padding:16px 18px; display:flex; flex-direction:column; }
.wk-card h3{ margin:0 0 6px; font-size:18px; }
.wk-card p{ margin:0; color:var(--wk-mut); font-size:14px; line-height:1.5; }
.wk-card-ic{ font-size:26px !important; color:var(--wk-ink) !important; margin:0 0 4px !important; }
.wk-obj{ margin:0 0 8px; padding-left:18px; font-size:14px; line-height:1.55; color:var(--wk-ink); }
.wk-pages{ margin-top:auto !important; font-weight:700; }
.wk-card-actions{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.wk-btns,.wk-done{ display:flex; flex-wrap:wrap; gap:10px; }
.wk-btn{ display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border-radius:100px; border:0; cursor:pointer;
  background:#00838F; color:#fff !important; font-weight:800; font-size:14.5px; text-decoration:none; }
.wk-btn-ghost{ background:#fff; color:#006C76 !important; border:1.5px solid #9ED8DC; }
.wk-how ol{ margin:0; padding-left:20px; line-height:1.9; }
[data-theme="dark"] .wk{ --wk-ink:#ECE8F7; --wk-mut:#C9C1E0; --wk-line:rgba(255,255,255,.14); }
[data-theme="dark"] .wk-hero{ background:linear-gradient(135deg,#10262A,#231A36); }
[data-theme="dark"] .wk-hero h1{ color:#5DE3DC !important; -webkit-text-fill-color:#5DE3DC !important; }
[data-theme="dark"] .wk-card,[data-theme="dark"] .wk-weeks a{ background:#1C1830; }
[data-theme="dark"] .wk-weeks a.is-done{ background:#12391F; color:#B8F0CF; }
[data-theme="dark"] .wk-btn-ghost{ background:#1C1830; color:#9FEAEA !important; border-color:#2A5A61; }
[data-theme="dark"] .wk-note a{ color:#5DE3DC; } [data-theme="dark"] .wk-eyebrow{ color:#FF8FC0; }
/* v10.350: colourful subject cards (overview + week) */
.wk-subj{ padding:0 !important; overflow:hidden; border:2px solid color-mix(in srgb, var(--subj) 22%, #fff); border-radius:20px; }
.wk-subj-img{ display:block; width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; }
.wk-subj > h3,.wk-subj > p,.wk-subj > ul,.wk-subj > .wk-card-actions{ margin-left:18px !important; margin-right:18px !important; }
.wk-subj > h3{ margin-top:14px !important; font-size:1.45rem !important; line-height:1.2; color:var(--subj); font-family:'Playfair Display','Cormorant Garamond',Georgia,serif; }
.wk-subj-tag{ font-weight:800 !important; font-size:1.05rem !important; color:#3B1F5C !important; line-height:1.4 !important; margin-top:4px !important; }
.wk-subj > p:last-child{ margin-bottom:18px !important; }
.wk-subj .wk-obj{ font-size:15.5px; }
.wk-subj .wk-card-actions{ margin-bottom:18px !important; }
.wk-subj .wk-card-actions .wk-btn:first-child{ background:var(--subj); }
[data-theme="dark"] .wk-subj{ border-color:rgba(255,255,255,.14); }
[data-theme="dark"] .wk-subj > h3{ color:#fff !important; }
[data-theme="dark"] .wk-subj-tag{ color:#F3EEFE !important; }

/* v10.374: five subjects in one row on desktop (was 4 + 1); 3 + 2 centred on tablets */
/* v10.376: six subjects → 3 × 2 (balanced) */
@media (min-width:1024px){ .wk-grid-subjects,.wk-grid:has(> .wk-subj){ grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
@media (min-width:620px) and (max-width:1023px){
  .wk-grid-subjects,.wk-grid:has(> .wk-subj){ display:flex !important; flex-wrap:wrap; justify-content:center; }
  .wk-grid-subjects > *,.wk-grid:has(> .wk-subj) > *{ flex:0 1 calc((100% - 28px) / 3); min-width:0; }
}

/* ===== v10.379 Kids Pass in the Weekly Program ===== */
.wk-pass-note{ background:#FFF3F8; border-color:#F7B5D2 !important; } .wk-pass-note a{ color:#D6005E; }
.wk-pass-on{ background:#EAF8F0; }
.wk-btn-pass{ background:linear-gradient(135deg,#D6005E,#A8004A) !important; color:#fff !important; border-color:transparent !important; }
.wk-weeks a.is-locked{ position:relative; opacity:.72; }
.wk-weeks a.is-locked::after{ content:'🔒'; position:absolute; top:-7px; right:-7px; font-size:11px; }
[data-theme="dark"] .wk-pass-note{ background:#2A1220; } [data-theme="dark"] .wk-pass-note a{ color:#FF6FB4; }
[data-theme="dark"] .wk-pass-on{ background:#10291C; }

/* v10.474 — the week's Why & How big question */
.wk-bq{ background:linear-gradient(135deg,#FFF1F7,#FFF8EE); border:1.5px solid #F3B6D2; border-left:6px solid #D6006E; border-radius:20px; padding:18px 20px; }
.wk-bq-k{ margin:0; font-size:.8rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#B5005E; }
.wk-bq-q{ margin:6px 0 2px; font-size:clamp(1.3rem,3.4vw,1.75rem); font-weight:800; color:#7A0C45; line-height:1.25; }
.wk-bq-hi{ margin:0 0 10px; font-size:1.05rem; color:#5A4152; }
.wk-bq-steps{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; counter-reset:bq; }
.wk-bq-steps li{ counter-increment:bq; background:#fff; border:1px solid #F3C7DB; border-radius:999px; padding:6px 12px 6px 8px; font-size:.92rem; color:#3B2433; }
.wk-bq-steps li::before{ content:counter(bq); display:inline-grid; place-items:center; width:20px; height:20px; margin-right:6px; border-radius:50%; background:#D6006E; color:#fff; font-size:.75rem; font-weight:800; }
.wk-bq-note{ margin:10px 0 0; font-size:.9rem; color:#6E4F66; }
.wk-bq-mini{ margin:4px 0 12px; color:#5A4152; }
.wk-bq-mini b{ color:#7A0C45; }
[data-theme="dark"] .wk-bq{ background:linear-gradient(135deg,#2A1626,#231A36); border-color:#5A2E48; border-left-color:#FF5BA8; }
[data-theme="dark"] .wk-bq-k{ color:#FF8FC4; } [data-theme="dark"] .wk-bq-q, [data-theme="dark"] .wk-bq-mini b{ color:#FFD1E6; }
[data-theme="dark"] .wk-bq-hi, [data-theme="dark"] .wk-bq-note, [data-theme="dark"] .wk-bq-mini{ color:#D8C8D8; }
[data-theme="dark"] .wk-bq-steps li{ background:#1F1830; border-color:#4A3150; color:#EDE3F0; }

/* v10.477 — age sets */
.wk-ages{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:18px 0 6px; }
.wk-ages-k{ font-weight:800; font-size:.9rem; color:#5A4152; margin-right:4px; }
.wk-age{ display:flex; flex-direction:column; align-items:flex-start; gap:0; padding:7px 12px; border-radius:14px; text-decoration:none; color:#2B1530;
  background:#fff; border:1.5px solid color-mix(in srgb, var(--age) 35%, #fff); line-height:1.2; }
.wk-age b{ font-size:.92rem; } .wk-age small{ font-size:.75rem; color:#6E4F66; }
.wk-age:hover{ border-color:var(--age); }
.wk-age.is-on{ background:var(--age); border-color:var(--age); color:#fff; } .wk-age.is-on small{ color:#fff; opacity:.9; }
.wk-set-blurb{ margin:6px 0 0; color:#5A4152; }
[data-theme="dark"] .wk-age{ background:#1F1830; color:#EDE3F0; border-color:#4A3150; } [data-theme="dark"] .wk-age small{ color:#C8C0D8; }
[data-theme="dark"] .wk-age.is-on{ background:var(--age); color:#fff; } [data-theme="dark"] .wk-ages-k, [data-theme="dark"] .wk-set-blurb{ color:#D8C8D8; }
@media (max-width:640px){ .wk-age{ padding:6px 10px; } .wk-age b{ font-size:.85rem; } }

/* v10.479 — a little sparkle on the weekly pages; off for reduced motion */
.wk-age{transition:transform .15s, box-shadow .15s}
.wk-age:hover{transform:translateY(-3px);box-shadow:0 10px 22px -14px rgba(60,40,120,.6)}
.wk-age.is-on{animation:wkPop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes wkPop{0%{transform:scale(.85)}100%{transform:scale(1)}}
@media (prefers-reduced-motion: reduce){ .wk-age.is-on{animation:none} .wk-age:hover{transform:none} }
