/* progplan_v1 · course pages (Rowan items 8-15). LOCAL BUILD. Loaded after glass_v1.css on the 5 course pages only.
   Rollback: remove the pp-course.css <link> and the pp-names.js/pp-course.js <script> line (or re-copy before/pages/*.html). */
:root{--pp-o:#BF5508;--pp-oh:#A64508;--pp-ink:#14204A;--pp-mute:#3E4866}
/* ITEM 8: even vertical rhythm between bands (one value, all widths) */
main .band{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(48px,6vw,80px)}
main .band .sec-head{margin-bottom:clamp(16px,2vw,24px)}
main .band .sec-head h2{margin-bottom:0}
/* two-line names */
.pp-2l{display:flex;flex-direction:column;gap:2px;margin:0 0 8px}
.pp-2l .pp-k{font:700 12px/1.2 var(--font,inherit);letter-spacing:.1em;text-transform:uppercase;color:var(--pp-mute)}
.pp-2l .pp-n{font:800 clamp(18px,2.2vw,22px)/1.15 var(--font-d,inherit);color:var(--pp-ink)}
h1.pp-h1{gap:6px}
h1.pp-h1 .pp-k{font-size:clamp(13px,1.6vw,16px)}
h1.pp-h1 .pp-n{font-size:inherit;line-height:1.05}
/* ITEM 9: real buttons. 'Fully booked' is a button that opens a dialog; Enroll keeps the orange */
html body a.ri-go.av-open,html body .sbar-go.av-open,.pp-dlg .pp-btn{background:var(--pp-o)!important;color:#fff!important;border-color:var(--pp-o)!important}
html body a.ri-go.av-open:hover,html body .sbar-go.av-open:hover,.pp-dlg .pp-btn:hover{background:var(--pp-oh)!important;border-color:var(--pp-oh)!important}
html body a.ri-go.av-booked[data-pp-booked],html body .sbar-go.av-booked[data-pp-booked],[data-pp-booked]{cursor:pointer!important;pointer-events:auto!important;opacity:1!important;background:#fff!important;color:var(--pp-ink)!important;border:2px solid var(--pp-ink)!important;filter:none!important}
html body a.ri-go.av-booked[data-pp-booked]:hover,html body .sbar-go.av-booked[data-pp-booked]:hover{background:#EEF0F7!important}
[data-pp-booked]:focus-visible,.pp-dlg button:focus-visible,.pp-dlg a:focus-visible,.pp-cal button:focus-visible{outline:3px solid #253679;outline-offset:2px}
.pp-dlg-wrap{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(20,32,74,.45)}
.pp-dlg-wrap[hidden]{display:none}
.pp-dlg{position:relative;background:#FFFDF7;color:var(--pp-ink);border-radius:18px;max-width:440px;width:100%;padding:24px 22px 20px;box-shadow:0 24px 60px rgba(20,32,74,.35);max-height:calc(100vh - 32px);overflow:auto}
.pp-dlg h2{font:800 22px/1.2 var(--font-d,inherit);margin:0 0 10px;padding-right:44px}
.pp-dlg p{margin:0 0 10px;font-size:15px;line-height:1.5;color:var(--pp-ink)}
.pp-dlg .pp-dlg-x{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;border:1.5px solid var(--pp-ink);background:#fff;color:var(--pp-ink);font:700 20px/1 var(--font,inherit);cursor:pointer}
.pp-dlg .pp-dlg-act{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px}
.pp-btn,.pp-btn-o{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border-radius:999px;font:700 15px/1.2 var(--font,inherit);text-decoration:none;border:2px solid var(--pp-o)}
.pp-btn-o{background:var(--pp-o);color:#fff!important}
.pp-btn-o:hover{background:var(--pp-oh);border-color:var(--pp-oh)}
.pp-dlg .pp-sec{font-size:14px;color:#1F3B8F;font-weight:700}
@media (prefers-reduced-motion:no-preference){.pp-dlg{animation:ppDlg .22s ease-out}}
@keyframes ppDlg{from{transform:translateY(10px);opacity:0}to{transform:none;opacity:1}}
/* ITEM 10: group-savings card (Teacher-led only) */
.pp-group-card{margin:14px 0;padding:14px;border-radius:14px;background:#FFF6EE;box-shadow:inset 0 0 0 1px #F2D9C2;color:var(--pp-ink);text-align:left}
.pp-gc-h{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px}
.pp-gc-h .pp-i{flex:0 0 22px;width:22px;height:22px;color:#A64508;margin-top:2px}
.pp-gc-h b{display:block;font-size:16px;color:#7A3505}
.pp-gc-sub{display:block;font-size:13px;color:var(--pp-mute)}
.pp-gc-note{margin:8px 0 0;font-size:12.5px;color:var(--pp-mute)}
/* ITEM 11: free extras */
.pp-incl{margin:18px 0 22px;padding:16px 18px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1px #DCE3EE}
.pp-incl-h{font:800 18px/1.25 var(--font-d,inherit);margin:0 0 10px;color:var(--pp-ink)}
.pp-incl ul,.pp-prob-l{list-style:none;margin:0;padding:0;display:grid;gap:12px}
@media (min-width:900px){.pp-incl ul{grid-template-columns:1fr 1fr}}
.pp-incl li,.pp-prob-l li{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;margin:0;color:var(--pp-ink);font-size:15px;line-height:1.45}
.pp-incl li b,.pp-prob-l li b{display:block}
.pp-incl .pp-i,.pp-prob-l .pp-i{width:36px;height:36px;padding:7px;border-radius:10px;background:#FFF1E4;color:#A64508;box-sizing:border-box}
/* ITEM 13: example projects */
.pp-make{margin-top:28px}
.pp-make-h{font:800 20px/1.25 var(--font-d,inherit);margin:0 0 12px;color:var(--pp-ink)}
.pp-ex-row{display:grid;gap:16px}
@media (min-width:760px){.pp-ex-row{grid-template-columns:1fr 1fr}}
.pp-ex{margin:0;background:#fff;border-radius:16px;padding:12px;box-shadow:0 6px 20px rgba(20,32,74,.08),inset 0 0 0 1px #E1E6F0}
.pp-ex svg{display:block;width:100%;height:auto;border-radius:10px}
.pp-ex figcaption{margin-top:10px;font-size:15px;color:var(--pp-ink)}
.pp-ex figcaption b{display:block}
.pp-ex-tag{display:inline-block;margin:6px 0 0;padding:3px 10px;border-radius:999px;background:#14204A;color:#fff;font-size:12px;font-weight:700;line-height:1.5}
/* ITEM 14: class-times calendar */
.pp-ct-status{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:0 0 14px;color:var(--pp-ink)}
.pp-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-weight:800;font-size:13px}
.pp-full{background:#14204A;color:#fff}
.pp-cal{background:#fff;border-radius:18px;box-shadow:inset 0 0 0 1px #DCE3EE;padding:14px;color:var(--pp-ink)}
.pp-cal-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.pp-cal-top b{font-size:15px;text-align:center}
.pp-cal-nav{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--pp-ink);background:#fff;color:var(--pp-ink);font:700 18px/1 var(--font,inherit);cursor:pointer}
.pp-cal-nav[disabled]{opacity:.45;cursor:default}
.pp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;list-style:none;margin:0;padding:0}
.pp-days li{margin:0}
.pp-day{width:100%;min-height:72px;border-radius:12px;border:1.5px solid #CBD3E2;background:#F7F8FB;color:var(--pp-ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px;font:inherit}
.pp-day .d1{font-size:12px;font-weight:700;color:var(--pp-mute)}
.pp-day .d2{font-size:18px;font-weight:800}
.pp-day .d3{font-size:10.5px;font-weight:700;color:#7A3505;text-transform:uppercase;letter-spacing:.03em}
.pp-day[aria-pressed="true"]{background:#14204A;border-color:#14204A;color:#fff}
.pp-day[aria-pressed="true"] .d1,.pp-day[aria-pressed="true"] .d3{color:#fff}
.pp-day.today{box-shadow:inset 0 0 0 2px #F07A1A}
.pp-cal-det{margin:12px 2px 0;font-size:15px;line-height:1.5}
.pp-cal-det b{display:block}
.pp-ct-act{margin:14px 0 6px}
.pp-ct-note{font-size:13px;color:var(--pp-mute);margin:0}
@media (max-width:420px){.pp-days{gap:3px}.pp-day{min-height:64px;border-radius:9px}.pp-day .d2{font-size:15px}.pp-day .d3{font-size:9px}.pp-day .d1{font-size:11px}}
/* ITEM 12: problems + sample projects (Maths, Business) */
.pp-sub{margin:0 0 14px;color:var(--pp-mute)}
@media (min-width:760px){.pp-prob-l{grid-template-columns:1fr 1fr}}
.pp-samples{margin-top:20px;padding:14px 16px;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 1px #DCE3EE;color:var(--pp-ink)}
.pp-samples h3{margin:0 0 4px;font:800 17px/1.3 var(--font-d,inherit)}
.pp-samples p{margin:0}
/* ITEM 15 */
.pp-faq .faq{max-width:820px}

/* Rowan 14:02: no arrows on older buttons, scoped to this page set (homepage untouched): footer newsletter link ::after arrow */
html body .site-footer .f-title.big + p a::after{content:none}
/* Relay 15:09: per-learner savings line (advert style, no totals). Wraps whole items only; one size per line on phones. */
.pp-gc-save{margin:2px 0 6px;font-size:15px;line-height:1.5;font-weight:700;color:#7A3505;overflow-wrap:anywhere}
.pp-gc-s{white-space:nowrap}
.pp-gc-sep{color:#7A3505}
@media (max-width:760px){.pp-gc-save{font-size:15px}.pp-gc-s{display:block;white-space:normal}.pp-gc-sep{display:none}}