.acadame .c-hero { background:var(--primary); color:#fff; padding:32px 0 40px; position:relative; overflow:hidden; } .acadame .c-hero::before { content:""; position:absolute; right:-160px; top:-160px; width:520px; height:520px; border-radius:50%; border:70px solid rgba(255,255,255,.04); pointer-events:none; } .acadame .c-hero-in { display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:start; } .acadame .c-hero h1 { color:#fff !important; font-size:clamp(24px,2.6vw,32px) !important; max-width:none; margin:10px 0 10px !important; } .acadame .c-hero .lede { color:#D9E3F5; font-size:15px !important; max-width:62ch; margin-bottom:14px !important; } .acadame .crumbs { display:flex; flex-wrap:wrap; gap:6px; font-size:12.5px; color:#B9C6DD; margin-bottom:6px; } .acadame .crumbs a { color:#D9E3F5; } .acadame .crumbs span::after { content:"›"; margin-left:6px; } .acadame .c-meta { display:flex; flex-wrap:wrap; gap:8px 14px; align-items:center; margin-bottom:8px; font-size:13px; color:#D9E3F5; } .acadame .c-meta .stars { color:#F5A623; letter-spacing:1px; } .acadame .modes-row { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; } .acadame .modes-row span { display:inline-flex; align-items:center; gap:6px; padding:5px 11px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.22); font-size:12.5px; font-weight:600; } .acadame .modes-row span::before { content:"✓"; color:var(--red); font-weight:800; } .acadame .facts { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(255,255,255,.18); border-radius:12px; overflow:hidden; margin-bottom:14px; } .acadame .facts div { padding:11px 14px; border-right:1px solid rgba(255,255,255,.18); } .acadame .facts div:last-child { border:0; } .acadame .facts em { display:block; font-style:normal; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:#B9C6DD; margin-bottom:2px; } .acadame .facts strong { font-size:14px; color:#fff; line-height:1.25; display:block; } .acadame .partner { display:flex; gap:14px; align-items:center; margin-bottom:16px; } /* The scheme badge. A logo the library says can be reversed is recoloured to solid white and sits straight on the navy: the artwork is one colour on transparency, so brightness(0) whitens every opaque pixel and invert(1) leaves the knocked out detail showing the hero through it. A logo with several colours, or white inside the mark, would be destroyed by that, so those keep a white plate. Both rules live here, next to .partner, because info.css is not loaded on a course page when the CSS bundle is switched off - which is how the live site runs. */
.acadame .partner { align-items:flex-start; }
.acadame .partner img { flex:0 0 auto; height:58px; width:auto; max-height:58px; background:#fff; border:1px solid rgba(255,255,255,.85); border-radius:8px; padding:7px 12px; }
.acadame .partner img.rev { background:transparent; border:0; padding:0; border-radius:0; box-shadow:none; filter:brightness(0) invert(1); }
/* The slot keeps its place even with no text beside it. */
.acadame .partner.logo-only { margin-bottom:16px; } .acadame .partner strong { display:block; font-size:14px; color:#fff; } .acadame .partner span { font-size:13px; color:#D9E3F5; } .acadame .study { background:#fff; border-radius:var(--radius); box-shadow:var(--sh); color:var(--primary); padding:18px; } .acadame .study h2 { font-size:17px !important; text-align:center; margin-bottom:12px !important; } .acadame .opt { display:grid; grid-template-columns:18px 1fr auto; gap:6px 10px; align-items:center; padding:11px 12px; border:1px solid var(--border); border-radius:11px; margin-bottom:8px; text-align:left; width:100%; background:#fff; color:var(--primary); transition:.15s; } .acadame .opt:hover, .acadame .opt.sel { border-color:var(--red); background:var(--lr); } .acadame .opt i { width:16px; height:16px; border-radius:50%; border:2px solid var(--border); display:block; } .acadame .opt.sel i { border-color:var(--red); box-shadow:inset 0 0 0 3px #fff; background:var(--red); } .acadame .opt strong { font-size:14px; } .acadame .opt b { font-size:13px; color:var(--red); white-space:nowrap; } .acadame .opt small { grid-column:2/4; font-size:12.5px; color:var(--text); } .acadame .opt .tagp { display:inline-block; margin-top:4px; padding:2px 8px; border-radius:999px; background:var(--lb); color:var(--primary); font-size:11px; font-weight:700; } .acadame .perks { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:12px 0; text-align:center; font-size:11.5px; font-weight:600; color:var(--primary); } .acadame .perks svg { width:20px; height:20px; color:var(--red); display:block; margin:0 auto 4px; } .acadame .pay-row { display:flex; align-items:center; justify-content:center; gap:10px; font-size:12px; color:var(--text); margin-top:10px; } .acadame .pay-row img { height:16px; width:auto; vertical-align:middle; } .acadame .pay-row img[alt="Klarna"] { height:10px; } .acadame .study .btn { width:100%; } .acadame .study .btn + .btn { margin-top:8px; } .acadame .two-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; } .acadame .ticks.red li::before { background:var(--red); } .acadame .ticks.blue li::before { background:var(--blue); } .acadame .card h2 { font-size:20px !important; margin-bottom:10px !important; } .acadame .card.navy { background:var(--primary); color:#fff; border-color:var(--primary); } .acadame .card.navy h2, .acadame .card.navy h3 { color:#fff !important; } .acadame .card.navy p { color:#D9E3F5; } .acadame .card .who { display:flex; gap:14px; } .acadame .card .who .pi { flex:0 0 44px; width:44px; height:44px; border-radius:50%; background:#fff; color:var(--red); display:grid; place-items:center; font-size:22px; box-shadow:var(--sh); } .acadame .units { display:grid; grid-template-columns:1fr 1.4fr; gap:12px; } .acadame .unit { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:12px; padding:18px; } .acadame .unit em { display:block; font-style:normal; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--red); font-weight:700; margin-bottom:4px; } .acadame .unit h3 { font-size:17px !important; margin-bottom:8px !important; } .acadame .unit ul { columns:var(--cols,1); column-gap:20px; } .acadame .unit li { position:relative; padding-left:14px; font-size:13.5px; margin-bottom:5px; break-inside:avoid; } .acadame .unit li::before { content:""; position:absolute; left:0; top:8px; width:6px; height:6px; border-radius:50%; background:var(--red); } .acadame .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; } .acadame .step { position:relative; background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:12px; padding:26px 18px 18px; } .acadame .step b { position:absolute; top:-14px; left:18px; width:28px; height:28px; border-radius:50%; background:var(--primary); color:#fff; display:grid; place-items:center; font-size:13px; } .acadame .step h3 { font-size:16px !important; margin-bottom:6px !important; } .acadame .step p { font-size:14px !important; margin:0 !important; } .acadame .booking { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:var(--radius); padding:18px; } .acadame .tabs { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; } .acadame .tab { padding:9px 14px; border-radius:9px; background:var(--light); color:var(--primary); font-weight:600; font-size:13.5px; border:1px solid transparent; } .acadame .tab[aria-selected="true"] { background:var(--red); color:#fff; } .acadame .tpanel { display:none; } .acadame .tpanel.on { display:block; } .acadame .dfilters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:12px; } .acadame .dfilters select { height:38px; padding:0 10px; border:1px solid var(--border); border-radius:8px; background:#fff; color:var(--primary); font-size:13.5px; } .acadame .dates { display:grid; gap:8px; } .acadame .date { display:grid; grid-template-columns:1fr auto auto; gap:8px 16px; align-items:center; padding:12px 14px; border:1px solid var(--border); border-radius:11px; } .acadame .date strong { font-size:14.5px; color:var(--primary); display:block; } .acadame .date small { font-size:12.5px; color:var(--text); } .acadame .date .pr { font-weight:700; color:var(--primary); font-size:14.5px; } .acadame .date .pr small { font-weight:500; }  .acadame .date .btn { min-height:36px; padding:6px 14px !important; font-size:13px !important; } .acadame .dates .empty { padding:18px; border:1px dashed var(--border); border-radius:11px; text-align:center; font-size:14px; color:var(--text); } .acadame .resit { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid var(--border); font-size:14px; } .acadame .resit b { color:var(--primary); } .acadame .oform { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .acadame .oform .full { grid-column:1/-1; } .acadame .oform label { display:block; font-size:12.5px; font-weight:600; margin-bottom:5px; color:var(--primary); } .acadame .oform input, .acadame .oform select, .acadame .oform textarea { width:100%; padding:10px 12px; border:1px solid var(--border); border-radius:8px; font-size:14px; background:#fff; color:#1a2740; } .acadame .oform textarea { min-height:90px; } .acadame .rel { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; } .acadame .rel a { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:12px; overflow:hidden; color:var(--primary); transition:.15s; display:flex; flex-direction:column; } .acadame .rel a:hover { border-color:var(--red); transform:translateY(-2px); box-shadow:var(--sh); } .acadame .rel .top { background:var(--lb); height:80px; display:grid; place-items:center; font-size:30px; color:var(--primary); } .acadame .rel .bd { padding:14px 16px 16px; } .acadame .rel em { display:block; font-style:normal; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--red); font-weight:700; margin-bottom:4px; } .acadame .rel strong { display:block; font-size:15px; line-height:1.3; margin-bottom:6px; } .acadame .rel span { font-size:13px; color:var(--text); } .acadame .rel .go { margin-top:auto; padding:0 16px 14px; color:var(--red); font-weight:600; font-size:13px; } .acadame .sticky-cta { display:none; } @media (max-width:1024px) { .acadame .c-hero-in, .acadame .two-col, .acadame .units, .acadame .oform { grid-template-columns:1fr; } .acadame .steps, .acadame .rel { grid-template-columns:1fr; } } @media (max-width:640px) { .acadame .facts { grid-template-columns:1fr 1fr; } .acadame .facts div:nth-child(2) { border-right:0; } .acadame .facts div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.18); } .acadame .date { grid-template-columns:1fr; } .acadame .perks { grid-template-columns:1fr 1fr 1fr; font-size:11px; } .acadame .sticky-cta { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:90; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--border); box-shadow:0 -8px 24px rgba(15,48,105,.12); } .acadame .sticky-cta .btn { flex:1; } }
/* ---- Ways to learn ---- */
.acadame .wtl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:16px; }
.acadame .wtl { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:14px; padding:22px; display:flex; flex-direction:column; gap:8px; box-shadow:var(--sh); }
.acadame .wtl.soft { background:#FBFCFE; }
.acadame .wtl .pi { width:40px; height:40px; border-radius:10px; background:var(--lb); color:var(--primary); display:grid; place-items:center; }
.acadame .wtl .pi svg { width:20px; height:20px; }
.acadame .wtl h3 { margin:4px 0 0 !important; font-size:17px; color:var(--primary); }
.acadame .wtl p { margin:0 !important; font-size:14px; }
.acadame .wtl .wtl-meta { margin-top:6px !important; padding-top:10px; border-top:1px solid var(--border); font-size:14px; }
.acadame .wtl .wtl-meta b { color:var(--primary); display:block; font-size:15px; }
.acadame .wtl .wtl-meta span { display:block; color:var(--text); font-size:13px; margin-top:2px; }
.acadame .wtl-go { margin-top:auto; padding-top:12px; font-weight:700; font-size:14px; color:var(--red-ink); text-decoration:none; }
.acadame .wtl-go:hover { text-decoration:underline; }

/* ---- Dates board ---- */
.acadame .chips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.acadame .chip { font:inherit; font-size:13.5px; font-weight:600; color:var(--primary); background:#fff; border:1px solid var(--border); border-radius:999px; padding:9px 15px; min-height:40px; cursor:pointer; }
.acadame .chip b { font-weight:700; color:var(--text); margin-left:4px; }
.acadame .chip.on { background:var(--primary); border-color:var(--primary); color:#fff; }
.acadame .chip.on b { color:#C9DAF7; }
.acadame .chip:focus-visible { outline:3px solid rgba(50,128,250,.4); outline-offset:2px; }
.acadame .drows { display:flex; flex-direction:column; gap:10px; }
.acadame .drow { display:grid; grid-template-columns:1.1fr 1.3fr .7fr auto; gap:16px; align-items:center;
  background:#fff; border:1px solid var(--border); border-radius:12px; padding:14px 18px; }
.acadame .drow[hidden] { display:none; }
.acadame .dwhen strong { display:block; color:var(--primary); font-size:15.5px; }
.acadame .dwhen span { font-size:12.5px; color:var(--text); }
.acadame .dwhere { display:flex; flex-wrap:wrap; align-items:center; gap:8px; font-size:14px; }
.acadame .tagm { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; padding:3px 9px; border-radius:999px; background:var(--light); color:var(--text); }
.acadame .tagm.online { background:var(--lb); color:var(--primary); }
.acadame .few { display:inline-flex; align-items:center; gap:5px; font-style:normal; font-size:11.5px; font-weight:800; line-height:1; color:#fff; background:var(--red); border-radius:999px; padding:4px 9px; white-space:nowrap; }
.acadame .few::before { content:''; width:6px; height:6px; border-radius:50%; background:#fff; opacity:.9; }
.acadame .date .few, .acadame .dwhere .few { color:#fff; font-weight:800; }
.acadame .btn.is-full { opacity:1; pointer-events:none; background:#fff; color:var(--text); border:1px solid var(--border); }
.acadame .dprice { font-weight:700; color:var(--primary); font-size:16px; }
.acadame .dprice small { display:block; font-weight:500; font-size:12px; color:var(--text); }
.acadame .dgo .btn { min-height:42px; padding:10px 20px; }

.acadame .dnone { margin-top:14px !important; font-weight:600; color:var(--primary); }
.acadame .dates-empty { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:14px; padding:26px; text-align:center; }
.acadame .dates-empty .acts { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
@media (max-width:820px) {
  .acadame .drow { grid-template-columns:1fr 1fr; row-gap:12px; }
  .acadame .dgo { grid-column:1/-1; }
  .acadame .dgo .btn { width:100%; text-align:center; }
}
.acadame .wtl-mb { font-size:13px; font-weight:600; color:var(--primary); text-decoration:underline; padding-top:6px; }
.acadame .wtl-go { margin-top:auto; }
.acadame .wtl:has(.wtl-mb) .wtl-go { margin-top:auto; padding-bottom:0; }

/* Pay-by logos are white artwork; on the white study panel they vanished. */
.acadame .pay-row img { filter:invert(1); opacity:.82; }

/* Initial assessment (qualification pages) */
.acadame .ia { max-width:820px; margin:0 auto; }
.acadame .ia-card { position:relative; background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:var(--radius); padding:26px 26px 18px; box-shadow:var(--sh); }
.acadame .ia-bar { height:4px; border-radius:4px; background:var(--light); overflow:hidden; margin:-8px 0 18px; }
.acadame .ia-bar i { display:block; height:100%; background:var(--red); transition:width .25s; }
.acadame .ia-card h3 { font-size:clamp(18px,2vw,22px) !important; margin:4px 0 8px !important; text-wrap:balance; }
.acadame .ia-card h4 { font-size:16px !important; margin:22px 0 10px !important; }
.acadame .ia-sub { font-size:14.5px; color:var(--text); margin:0 0 14px !important; max-width:68ch; }
.acadame .ia-ev { font-size:13px; color:var(--text); background:var(--light); border-radius:10px; padding:10px 12px; margin:0 0 14px !important; }
.acadame .ia-ev b { color:var(--primary); }
.acadame .ia-opts, .acadame .ia-want { display:grid; gap:8px; }
.acadame .ia-want { grid-template-columns:1fr 1fr; margin:12px 0 14px; }
.acadame .ia-opt { display:grid; grid-template-columns:18px 1fr; gap:12px; align-items:start; width:100%; text-align:left; padding:13px 14px; border:1px solid var(--border); border-radius:12px; background:#fff; color:var(--primary); cursor:pointer; transition:.15s; font:inherit; }
.acadame .ia-opt:hover, .acadame .ia-opt.sel { border-color:var(--red); background:var(--lr); }
.acadame .ia-opt:focus-visible { outline:3px solid var(--blue); outline-offset:2px; }
.acadame .ia-opt i { width:16px; height:16px; border-radius:50%; border:2px solid var(--border); display:block; margin-top:2px; }
.acadame .ia-opt.sel i { border-color:var(--red); box-shadow:inset 0 0 0 3px #fff; background:var(--red); }
.acadame .ia-opt strong { display:block; font-size:14.5px; line-height:1.35; }
.acadame .ia-opt small { display:block; font-size:12.5px; color:var(--text); margin-top:3px; }
.acadame .ia-foot { display:flex; justify-content:space-between; align-items:center; margin-top:16px; padding-top:12px; border-top:1px solid var(--border); }
.acadame .ia-back, .acadame .ia-restart { background:none; border:0; color:var(--primary); font-weight:600; font-size:13px; cursor:pointer; padding:6px 2px; font-family:inherit; }
.acadame .ia-restart { color:var(--text); font-weight:500; }
.acadame .ia-level { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:12px 14px; border-radius:12px; background:var(--lb); margin:0 0 12px; }
.acadame .ia-level strong { font-size:14.5px; color:var(--primary); }
.acadame .ia-level b { color:var(--red); white-space:nowrap; }
.acadame .ia-h.ok { color:var(--primary) !important; }
.acadame .ia-h.warn { color:var(--red-ink) !important; }
.acadame .ia-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.acadame .ia-chips span { display:inline-flex; flex-direction:column; padding:8px 12px; border-radius:10px; background:var(--light); font-size:13.5px; font-weight:600; color:var(--primary); }
.acadame .ia-chips em { font-style:normal; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--text); font-weight:600; }
.acadame .ia-note { font-size:13px; color:var(--text); margin:0 0 12px !important; }
.acadame .ia-callout { background:var(--lb); border-radius:12px; padding:14px 16px; margin:0 0 6px; }
.acadame .ia-callout strong { display:block; color:var(--primary); font-size:14px; margin-bottom:4px; }
.acadame .ia-callout p { font-size:13.5px; color:var(--text); margin:0 !important; }
.acadame .ia-evl { display:grid; gap:6px; }
.acadame .ia-g { border:1px solid var(--border); border-radius:11px; padding:0 12px; }
.acadame .ia-g summary { display:grid; grid-template-columns:12px 1fr auto; gap:10px; align-items:center; padding:11px 0; cursor:pointer; font-weight:600; font-size:14px; color:var(--primary); list-style:none; }
.acadame .ia-g summary::-webkit-details-marker { display:none; }
.acadame .ia-g summary i { width:10px; height:10px; border-radius:50%; background:#1B8A44; display:block; }
.acadame .ia-g.part summary i { background:#F5A623; }
.acadame .ia-g.no summary i { background:var(--red); }
.acadame .ia-g summary b { font-size:12px; font-weight:600; color:var(--text); white-space:nowrap; }
.acadame .ia-g ul { margin:0 0 10px 22px; padding:0; }
.acadame .ia-g li { font-size:13.5px; color:var(--text); margin-bottom:4px; }
.acadame .ia-gnote { font-size:13px; color:var(--red-ink); margin:0 0 12px 22px !important; }
.acadame .ia-form { margin-top:18px; padding-top:6px; border-top:1px solid var(--border); }
/* The expanded initial assessment: tick lists, the day to day screen, the gap warning and the level
   below. Everything inherits the card's existing option styling; only what is new is set here. */
.acadame .ia-opts.ia-cols { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; }
.acadame .ia-opts.ia-cols .ia-opt { padding:10px 12px; }
.acadame .ia-opts.ia-cols .ia-opt strong { font-size:13.5px; font-weight:600; }
.acadame .ia-dh { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--red-ink); margin:16px 0 7px !important; }
.acadame .ia-dh:first-of-type { margin-top:8px !important; }
.acadame .ia-g li.got { color:var(--primary); font-weight:600; }
.acadame .ia-g li.got em { font-style:normal; font-size:11.5px; font-weight:600; color:#1B8A44; white-space:nowrap; }
.acadame .ia-callout.ia-warn { background:var(--lr); border:1px solid #F6C9CF; }
.acadame .ia-callout.ia-warn strong { color:var(--red-ink); }
.acadame .ia-down { border:1px solid var(--border); border-radius:12px; padding:16px 18px; margin:14px 0; background:var(--light); }
.acadame .ia-down h4 { margin-bottom:6px !important; text-transform:none !important; letter-spacing:normal !important; font-size:16px !important; color:var(--primary) !important; }
.acadame .ia-down p { font-size:13.5px; margin:0 0 8px !important; }
.acadame .ia-h.gap { color:var(--red-ink) !important; }
.acadame .ia-grid label.ia-wide { grid-column:1 / -1; }
.acadame .ia-prev { display:block; grid-column:1 / -1; margin-top:10px; }
.acadame .ia-prev textarea { width:100%; font:inherit; font-size:14px; color:var(--primary); border:1px solid var(--border); border-radius:10px; padding:10px 12px; resize:vertical; }
.acadame .ia-prev small { display:block; font-size:12.5px; color:var(--text); margin-top:5px; }

/* Register now, shown only when the check has just said there is nothing to build in. */
.acadame .ia-reg { margin-top:16px; padding:16px 18px; border:1px solid var(--border); border-left:3px solid var(--red); border-radius:11px; background:var(--lb); }
.acadame .ia-reg h4 { margin:0 0 4px !important; font-size:16px !important; }
.acadame .ia-reg .ia-sub { margin-bottom:12px !important; }
.acadame .ia-reg .acts { margin:0; }
.acadame .ia-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 12px; }
.acadame .ia-grid label { display:block; font-size:12.5px; font-weight:600; color:var(--primary); }
.acadame .ia-grid input { display:block; width:100%; margin-top:5px; padding:10px 12px; border:1px solid var(--border); border-radius:8px; font-size:14px; background:#fff; color:#1a2740; font-family:inherit; }
.acadame .ia-err { color:var(--red-ink); font-size:13px; margin:8px 0 0 !important; min-height:1em; }
@media (max-width:640px) { .acadame .ia-card { padding:18px 16px 14px; } .acadame .ia-grid, .acadame .ia-want { grid-template-columns:1fr; } }
.acadame .ia-multi i { border-radius:4px; }
.acadame .ia-multi.sel i { box-shadow:inset 0 0 0 2px #fff; }
.acadame .ia-card .btn[disabled] { opacity:.45; cursor:not-allowed; }

/* Five key facts fit on one row on desktop; on phones they wrap in pairs with the odd one across the bottom. */
.acadame .facts.n5 { grid-template-columns:repeat(5,1fr); }
.acadame .facts.n3 { grid-template-columns:repeat(3,1fr); }
@media (max-width:640px) { .acadame .facts.n5, .acadame .facts.n3 { grid-template-columns:1fr 1fr; } .acadame .facts.n5 div:nth-child(-n+4), .acadame .facts.n3 div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.18); } .acadame .facts.n5 div:nth-child(2), .acadame .facts.n5 div:nth-child(4), .acadame .facts.n3 div:nth-child(2) { border-right:0; } .acadame .facts.n5 div:last-child, .acadame .facts.n3 div:last-child { grid-column:1/-1; } }
.acadame .ia-g.optout summary i { background:#B9C6DD; }
.acadame .ia-g summary small { font-size:11px; color:var(--text); font-weight:500; margin-left:6px; }
.acadame .nb { max-width:900px; margin:0 auto; }
.acadame .nb-card { background:var(--card-bg,#fff); border:1px solid var(--border); border-radius:var(--radius); box-shadow:var(--sh); padding:22px 22px 18px; }
.acadame .nb-types { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:12px; }
.acadame .nb-type { border:1px solid var(--border); border-radius:12px; padding:14px 14px 12px; transition:.15s; display:flex; flex-direction:column; }
.acadame .nb-who { flex:1 0 auto; }
.acadame .nb-type.on { border-color:var(--red); background:var(--lr); }
.acadame .nb-th { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:2px 8px; margin-bottom:5px; }
/* The name must never be split around the badge. It keeps its own line and shrinks; a badge that
   will not fit beside it drops underneath instead. */
.acadame .nb-th strong { flex:1 1 auto; min-width:0; }
.acadame .nb-th b { flex:0 1 auto; }
.acadame .nb-th strong { font-size:15px; color:var(--primary); }
.acadame .nb-th b { font-size:12.5px; color:var(--red); white-space:nowrap; font-weight:700; }
.acadame .nb-type p { font-size:13px; color:var(--text); margin:0 0 10px; }
.acadame .nb-count { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.acadame .nb-btn { width:34px; height:34px; border-radius:9px; border:1px solid var(--border); background:#fff; color:var(--primary); font-size:19px; line-height:1; cursor:pointer; display:grid; place-items:center; }
.acadame .nb-btn:hover { border-color:var(--red); color:var(--red); }
.acadame .nb-n { min-width:26px; text-align:center; font-size:17px; font-weight:700; color:var(--primary); font-variant-numeric:tabular-nums; }
.acadame .nb-count em { font-style:normal; font-size:11.5px; color:var(--text); }
.acadame .nb-note { font-size:12px !important; color:var(--text); margin:8px 0 0 !important; }
.acadame .nb-out { margin-top:18px; padding-top:16px; border-top:1px solid var(--border); }
.acadame .nb-out.empty .nb-lead { color:var(--text); }
.acadame .nb-h { font-size:21px !important; color:var(--primary); margin:2px 0 8px !important; }
.acadame .nb-lead { font-size:14.5px !important; color:var(--text); margin:0 0 12px !important; }
.acadame .nb-warn { border:1px solid var(--border); border-left:3px solid var(--red); border-radius:9px; padding:11px 13px; margin:0 0 12px; background:var(--lr); }
.acadame .nb-warn strong { display:block; font-size:13.5px; color:var(--primary); margin-bottom:3px; }
.acadame .nb-warn p { font-size:13px !important; color:var(--text); margin:0 !important; }
/* The hero aside on an NPORS page. There is nothing to choose and no price to show, so it says how the
   course runs and hands over to the builder below. */
.acadame .nb-side { list-style:none; margin:0 0 12px; padding:0; }
.acadame .nb-side li { position:relative; padding:0 0 10px 22px; border-bottom:1px solid var(--border); margin-bottom:10px; }
.acadame .nb-side li:last-child { border-bottom:0; padding-bottom:0; margin-bottom:0; }
.acadame .nb-side li::before { content:""; position:absolute; left:2px; top:6px; width:8px; height:8px; border-radius:50%; background:var(--red); }
.acadame .nb-side strong { display:block; font-size:13.5px; color:var(--primary); line-height:1.3; margin-bottom:2px; }
.acadame .nb-side span { display:block; font-size:12.5px; color:var(--text); line-height:1.45; }
.acadame .nb-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 14px; }
.acadame .nb-chips span { display:inline-block; padding:7px 12px; border-radius:9px; background:var(--light); font-size:13px; color:var(--primary); font-weight:600; }
.acadame .nb-chips em { display:block; font-style:normal; font-size:10.5px; text-transform:uppercase; letter-spacing:.07em; color:var(--text); font-weight:600; margin-bottom:1px; }
@media (max-width:640px) { .acadame .nb-card { padding:16px 14px 14px; } .acadame .nb-types { grid-template-columns:1fr; } }
/* Card and price pills. Desktop keeps the facts grid, so the pills are hidden there and the grid cells
   stay; on a phone the grid drops those two cells and the pills carry them instead. */
.acadame .fact-pills { display:none; }
@media (max-width:640px) {
  .acadame .fact-pills { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 12px; }
  .acadame .fpill { display:inline-flex; flex-direction:column; gap:1px; padding:8px 14px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.1); }
  .acadame .fpill em { font-style:normal; font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:#B9C6DD; }
  .acadame .fpill strong { font-size:13.5px; color:#fff; line-height:1.2; }
  .acadame .fpill-card.is-blue   { background:#1B62C4; border-color:#1B62C4; }
  .acadame .fpill-card.is-gold   { background:#C08A1E; border-color:#C08A1E; }
  .acadame .fpill-card.is-black  { background:#14192B; border-color:rgba(255,255,255,.4); }
  .acadame .fpill-card.is-red    { background:var(--red-ink); border-color:var(--red-ink); }
  .acadame .fpill-card.is-green  { background:#1B8A44; border-color:#1B8A44; }
  .acadame .fpill-card.is-white  { background:#fff; border-color:#fff; }
  .acadame .fpill-card.is-white em { color:#5b6b86; }
  .acadame .fpill-card.is-white strong { color:#14192B; }
  .acadame .fpill-card.is-gold em, .acadame .fpill-card.is-blue em, .acadame .fpill-card.is-green em, .acadame .fpill-card.is-red em { color:rgba(255,255,255,.82); }
  .acadame .fpill-price { background:rgba(255,255,255,.12); }
  .acadame .facts .f-dup { display:none; }
  .acadame .facts { grid-template-columns:1fr 1fr; }
  .acadame .facts div { border-bottom:1px solid rgba(255,255,255,.18); }
  .acadame .facts div:nth-last-child(-n+2) { border-bottom:0; }
}
.acadame .ia-also { border:1px solid var(--border); border-left:3px solid var(--primary); border-radius:11px; padding:14px 16px; margin:0 0 14px; background:var(--lb); }
.acadame .ia-also h4 { font-size:16px !important; color:var(--primary); margin:2px 0 6px !important; }
.acadame .ia-also p { font-size:13.5px !important; color:var(--text); margin:0 0 10px !important; }
.acadame .ia-also-foot { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.acadame .ia-also-foot span { font-size:13.5px; font-weight:700; color:var(--primary); }
.acadame .ia-also-sm { font-size:12.5px !important; color:var(--text); margin:10px 0 0 !important; }
