/**
 * Avanta Course Manager - Course Detail design system (ported from the
 * reference course-detail.html). Scoped under .acm-cd so it never fights the
 * theme. Applied to the single-course template output.
 */
.acm-cd{
	--navy:#00003c;
  --navy-bg:#00003C;--navy2:#0A0A5C;--navy3:#1A1A8A;
	--blue:#001ed2;--blue-light:#E9ECFF;--blue-mid:#C6CEFB;
	--orange:#F46B1B;--orange-light:#FEF0E6;
	--green:#0B9E6E;--green-bg:#E6F8F3;--green-dark:#087A55;
	--gold:#F5A623;--gold-bg:#FEF8EC;
	/* The notice box's amber, now shared with the Highlights cards so the
	   two cannot drift apart. A per-course colour set in the Course Builder
	   is an inline style and still wins over these, token or not. */
	--notice-bg:#fff8ec;--notice-border:#f4d79b;--notice-ink:#7a5b12;
	--red:#C62828;--red-bg:#FDECEA;
	--text:#0A1024;--text2:#3D4767;--text3:#7B84AA;--text4:#A8AECC;
	--bg:#F5F6FB;--bg2:#EDEFF8;--white:#fff;
	--border:rgba(0,0,60,0.09);--border2:rgba(0,0,60,0.05);
	--r:10px;--r-sm:6px;--r-lg:14px;--r-pill:100px;
	--shadow:0 1px 8px rgba(0,0,60,0.07);
	--shadow-md:0 4px 20px rgba(0,0,60,0.10);
	--shadow-lg:0 8px 40px rgba(0,0,60,0.14);
	font-family:'Poppins',sans-serif;color:var(--text);font-size:14px;line-height:1.6;
}
.acm-cd *,.acm-cd *::before,.acm-cd *::after{box-sizing:border-box}
.acm-cd .container{max-width:1200px;margin:0 auto;padding:0 24px}

/* Buttons + tags */
.acm-cd .btn{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:var(--r-pill);font-size:13px;font-weight:700;cursor:pointer;border:none;transition:all .18s;font-family:inherit;text-decoration:none;white-space:nowrap;justify-content:center}
.acm-cd .btn-primary{background:var(--blue);color:#fff}
.acm-cd .btn-primary:hover{background:#0018a8;box-shadow:0 4px 16px rgba(0,30,210,.3);color:#fff}
.acm-cd .btn-orange{background:var(--orange);color:#fff}
.acm-cd .btn-orange:hover{background:#D4570E;box-shadow:0 4px 16px rgba(244,107,27,.3);color:#fff}
.acm-cd .btn-white{background:#fff;color:var(--navy);font-weight:700}
.acm-cd .btn-white:hover{background:rgba(255,255,255,.9);color:var(--navy)}
.acm-cd .tag{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:var(--r-pill);font-size:10px;font-weight:700;letter-spacing:.04em}
.acm-cd .tag-blue{background:var(--blue-light);color:var(--blue)}
.acm-cd .tag-green{background:var(--green-bg);color:var(--green-dark)}
.acm-cd .tag-gold{background:var(--gold-bg);color:#9A6200}
.acm-cd .tag-navy{background:rgba(255,255,255,.15);color:#fff}

/* Hero */
.acm-cd .course-header{position:relative;overflow:hidden;padding:56px 0 60px;background:linear-gradient(135deg,#00003c 0%,#050542 46%,#0c0c66 100%)}
.acm-cd .course-header::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.07) 1px,transparent 0);background-size:26px 26px;-webkit-mask-image:radial-gradient(ellipse 85% 80% at 55% 25%,#000 22%,transparent 74%);mask-image:radial-gradient(ellipse 85% 80% at 55% 25%,#000 22%,transparent 74%);pointer-events:none}
.acm-cd .course-header::after{content:'';position:absolute;right:-170px;top:-150px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(0,30,210,.6),transparent 62%);pointer-events:none}
.acm-cd .ch-glow{position:absolute;left:-130px;bottom:-180px;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(60,83,230,.32),transparent 60%);filter:blur(24px);pointer-events:none;z-index:0}
.acm-cd .ch-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:3.2rem;align-items:center;position:relative;z-index:2}
.acm-cd .ch-tags{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:16px}
.acm-cd .ch-title{font-family:'DM Sans',sans-serif;font-size:clamp(1.9rem,3.6vw,2.7rem);font-weight:800;color:#fff;line-height:1.12;letter-spacing:-.6px;margin-bottom:8px}
.acm-cd .ch-sub-title{display:block;font-family:'DM Sans',sans-serif;font-weight:600;font-size:clamp(1rem,1.9vw,1.35rem);margin-top:12px;letter-spacing:-.2px;background:linear-gradient(90deg,#9FB0FF,#cdd6ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#9FB0FF}
.acm-cd .ch-sub{font-size:14.5px;color:rgba(255,255,255,.68);line-height:1.75;margin:18px 0 22px;max-width:600px}
.acm-cd .ch-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.acm-cd .ch-meta-item{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.13);padding:9px 15px;border-radius:var(--r-pill);font-size:12.5px;color:rgba(255,255,255,.72)}
.acm-cd .ch-meta-item strong{color:#fff;font-weight:600}
.acm-cd .ch-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:4px}
.acm-cd .ch-media{position:relative;align-self:center}
.acm-cd .ch-media::before{content:'';position:absolute;inset:-16px;border-radius:28px;background:radial-gradient(circle at 55% 45%,rgba(0,30,210,.55),transparent 68%);filter:blur(26px);z-index:-1}
.acm-cd .ch-media img{width:100%;height:auto;display:block;border-radius:20px;border:1px solid rgba(255,255,255,.14);box-shadow:0 34px 80px -34px rgba(0,0,0,.65)}
.acm-cd .ch-ph{width:100%;aspect-ratio:16/11;border-radius:20px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);display:grid;place-items:center;color:rgba(255,255,255,.5);font-size:13px}

/* Clients marquee */
.acm-cd .clients{padding:34px 0}
.acm-cd .clients-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 0 24px;box-shadow:var(--shadow);overflow:hidden}
.acm-cd .clients-title{text-align:center;font-family:'DM Sans',sans-serif;font-size:1.25rem;font-weight:700;color:var(--navy);margin-bottom:22px;padding:0 24px}
.acm-cd .marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.acm-cd .marquee-track{display:flex;align-items:center;gap:72px;width:max-content;animation:acm-marquee 38s linear infinite}
.acm-cd .clients-card:hover .marquee-track{animation-play-state:paused}
.acm-cd .marquee-track img{height:100px;width:auto;object-fit:contain;transition:transform .25s}
.acm-cd .marquee-track img:hover{transform:scale(1.06)}
@keyframes acm-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* Page tabs */
.acm-cd .page-tabs{background:var(--bg2);border-bottom:1px solid var(--border);position:sticky;top:64px;z-index:100;box-shadow:0 4px 14px rgba(0,0,60,.05)}
.acm-cd .pt-inner{display:flex;gap:0;overflow-x:auto}
.acm-cd .pt-tab{padding:14px 20px;font-size:13px;font-weight:600;color:var(--text3);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s;white-space:nowrap;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}
.acm-cd .pt-tab:hover{color:var(--text);background:var(--bg)}
.acm-cd .pt-tab.active{color:var(--blue);border-bottom-color:var(--blue)}

/* Body layout */
.acm-cd .page-body{display:grid;grid-template-columns:1fr 340px;gap:24px;padding:32px 0 64px;align-items:start}
/* Grid items default to min-width:auto, which lets wide children (e.g. the
   schedule table's min-width) blow the column past the viewport and scroll the
   whole page on mobile. min-width:0 lets the column shrink; wide tables then
   scroll inside their own .acm-sched-scroll / overflow-x containers. */
.acm-cd .page-body > main, .acm-cd .page-body > aside{min-width:0}
.acm-cd .content-section{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;margin-bottom:20px;min-width:0}
/* Long unbroken text in course content - typically a pasted URL - must wrap
   inside its box instead of running off the side on a phone.
   Scoped to the editor text and links only, so tables that are meant to
   scroll sideways (the schedule) keep their column widths. */
.acm-cd .cs-rte,.acm-cd .cs-rte *,.acm-cd .content-section a{overflow-wrap:anywhere;word-break:break-word}
.acm-cd .cs-rte img{max-width:100%;height:auto}
.acm-cd .cs-title{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:700;color:var(--navy);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.acm-cd .tab-panel{display:block;scroll-margin-top:124px}
.acm-cd .tab-panel+.tab-panel{margin-top:40px;padding-top:36px;border-top:1px solid var(--border2)}
.acm-cd .alert-bar{background:var(--red-bg);border:1px solid rgba(198,40,40,.15);border-radius:var(--r-sm);padding:10px 14px;display:flex;gap:10px;align-items:flex-start;font-size:12px;color:var(--red);margin-bottom:18px;line-height:1.6}
.acm-cd .cs-rte{font-size:13.5px;color:var(--text2);line-height:1.75}
.acm-cd .cs-rte p{margin:0 0 14px}.acm-cd .cs-rte strong{color:var(--navy)}
.acm-cd .cs-rte ul,.acm-cd .cs-rte ol{margin:0 0 14px 20px}.acm-cd .cs-rte li{margin-bottom:6px}
.acm-cd .cs-rte a{color:var(--blue)}

/* Outcomes / modules / assessment / requirements */
.acm-cd .outcomes-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.acm-cd .outcome-item{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text2);line-height:1.55}
.acm-cd .outcome-check{width:20px;height:20px;border-radius:50%;background:var(--green-bg);border:1px solid rgba(11,158,110,.2);display:flex;align-items:center;justify-content:center;font-size:9px;color:var(--green-dark);flex-shrink:0;margin-top:1px;font-weight:800}
.acm-cd .assess-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.acm-cd .assess-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-sm);padding:14px}
.acm-cd .assess-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3);margin-bottom:6px}
.acm-cd .assess-val{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:3px}
.acm-cd .assess-note{font-size:11px;color:var(--text3)}

/* Sticky sidebar */
.acm-cd .sticky-sidebar{position:sticky;top:80px;display:flex;flex-direction:column;gap:16px}
.acm-cd .reg-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-md)}
.acm-cd .rc-header{background:var(--navy-bg);padding:18px 20px}
.acm-cd .rc-fee-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.45);margin-bottom:6px}
.acm-cd .rc-fee{font-family:'DM Sans',sans-serif;font-size:2rem;font-weight:700;color:#fff;line-height:1}
.acm-cd .rc-fee-strike{font-size:13px;color:rgba(255,255,255,.3);text-decoration:line-through;margin-left:6px;font-weight:400}
.acm-cd .rc-fee-sub{font-size:12px;color:#4ECDA4;font-weight:600;margin-top:4px}
/* V3 funding-conditional sidebar fee display */
.acm-cd .rc-header--funding .rc-fee-block{margin-bottom:14px}
.acm-cd .rc-header--funding .rc-fee-block:last-of-type{margin-bottom:0}
.acm-cd .rc-fee--hl{color:#4ECDA4}
.acm-cd .rc-fee--muted{font-size:1.15rem;color:rgba(255,255,255,.75)}
.acm-cd .rc-fee-star{color:#4ECDA4;font-weight:700;margin-left:2px}
.acm-cd .rc-fee-gst{font-size:12px;font-weight:600;color:rgba(255,255,255,.55);letter-spacing:.02em}
/* V7 #2: the SkillsFuture Credit card now sits in the white body below the blue
   header - render it as a light-green card with dark text. */
.acm-cd .rc-sfec{background:#EAF7F1;border:1px solid #BFE6D6;border-radius:var(--r-sm);padding:12px 14px;margin:0 0 16px}
.acm-cd .rc-sfec__badge{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:var(--green-dark)}
.acm-cd .rc-sfec__note{margin:6px 0 0;font-size:11.5px;line-height:1.55;color:var(--text2)}
/* Second funding point (SkillsFuture Enterprise Credit) sits directly under the first. */
.acm-cd .rc-sfec+.rc-sfec--ent{margin-top:-8px}
/* Fee header keeps the highlighted blue/navy background of the original design
   (no white background, no separator line under it). The base .rc-header styles
   above provide the coloured background + light text; the nett fee, star and
   "After Funding" use the brand blue accent. */
.acm-cd .rc-header--funding{background:linear-gradient(150deg,var(--navy) 0%,var(--navy2) 55%,var(--navy3) 100%)}
.acm-cd .rc-header--funding .rc-fee--hl{color:#fff}
.acm-cd .rc-header--funding .rc-fee-sub{color:#fff}
.acm-cd .rc-header--funding .rc-fee-star{color:#fff}
.acm-cd .rc-body{padding:18px 20px}
.acm-cd .rc-detail{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;font-size:13px;color:var(--text2)}
.acm-cd .rc-icon{width:20px;font-size:14px;flex-shrink:0;text-align:center}
.acm-cd .rc-detail strong{color:var(--navy);display:block;font-size:12px}
.acm-cd .rc-divider{border:none;border-top:1px solid var(--border);margin:14px 0}
.acm-cd .rc-actions{display:flex;flex-direction:column;gap:8px}
.acm-cd .rc-primary{width:100%;padding:13px;border-radius:var(--r-sm);background:var(--orange);color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;transition:background .15s;text-align:center;text-decoration:none;display:block}
.acm-cd .rc-primary:hover{background:#D4570E;color:#fff}
.acm-cd .rc-secondary{width:100%;padding:10px;border-radius:var(--r-sm);background:var(--blue-light);color:var(--blue);border:none;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .15s;text-align:center;text-decoration:none;display:block}
.acm-cd .rc-secondary:hover{background:var(--blue-mid);color:var(--blue)}
.acm-cd .rc-note{font-size:11px;color:var(--text3);text-align:center;margin-top:10px;line-height:1.5}

/* Related marquee */
.acm-cd .related-strip{background:var(--bg2);border-top:1px solid var(--border);padding:46px 0 44px}
.acm-cd .related-head{margin-bottom:22px}
.acm-cd .related-kicker{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue);background:var(--blue-light);padding:5px 12px;border-radius:var(--r-pill);margin-bottom:10px}
.acm-cd .related-h2{font-family:'DM Sans',sans-serif;font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:700;color:var(--navy);letter-spacing:-.3px}
.acm-cd .related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
.acm-cd .rel-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;transition:all .22s;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.acm-cd .rel-card:hover{box-shadow:var(--shadow-md);border-color:rgba(0,30,210,.28);transform:translateY(-4px)}
.acm-cd .rel-card__media{position:relative;display:block;aspect-ratio:16/10;background:var(--bg2);overflow:hidden}
.acm-cd .rel-card__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.acm-cd .rel-card:hover .rel-card__media img{transform:scale(1.05)}
.acm-cd .rel-card__ov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(0,0,40,.55))}
.acm-cd .rel-card__cat{position:absolute;left:14px;bottom:12px;z-index:2;display:inline-flex;align-items:center;gap:9px;color:#fff;font-family:'DM Sans',sans-serif;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.acm-cd .rel-card__cat::before{content:"";width:20px;height:3px;border-radius:2px;background:var(--green);flex-shrink:0}
.acm-cd .rel-card__body{display:flex;flex:1;flex-direction:column;gap:10px;padding:16px 16px 18px}
.acm-cd .rel-card__tags{display:flex;flex-wrap:wrap;gap:6px}
.acm-cd .rel-card__tags .tag-accr{background:var(--bg2);color:var(--text2);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.03em}
.acm-cd .rel-card__title{font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.4;margin:0}
.acm-cd .rel-card__title a{color:inherit;text-decoration:none}
.acm-cd .rel-card__title a:hover{color:var(--blue)}
.acm-cd .rel-card__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--text3)}
.acm-cd .rel-card__meta span{display:inline-flex;align-items:center;gap:5px}
.acm-cd .rel-card__next{color:var(--blue);font-weight:600}
.acm-cd .rel-card__subsidy{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:2px}
.acm-cd .rel-card__subsidy span{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:600;color:var(--text2)}
.acm-cd .rel-card__subsidy i{color:var(--green);font-size:11px}
.acm-cd .rel-card__foot{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;border-top:1px solid var(--border2);padding-top:14px;margin-top:auto}
.acm-cd .rel-card__price{display:flex;flex-direction:column;gap:1px;line-height:1.2}
.acm-cd .rel-card__price b{font-family:'DM Sans',sans-serif;font-size:20px;font-weight:800;color:var(--navy)}
.acm-cd .rc-plabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text3)}
.acm-cd .rc-star{color:var(--green)}
.acm-cd .rc-gst{font-size:11px;font-weight:600;color:var(--text3)}
.acm-cd .rc-after{font-size:12px;color:var(--text3)}
.acm-cd .rc-after s{color:var(--text4);margin-right:4px}
.acm-cd .rel-card__btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:10px;background:var(--blue);color:#fff;font-size:12px;font-weight:700;text-decoration:none;transition:background .15s,transform .15s;flex-shrink:0}
.acm-cd .rel-card__btn:hover{background:#0018a8;transform:translateX(2px)}

/* WhatsApp CTA + floating */
.acm-cd .wa-cta{background:var(--green-bg);border:1px solid rgba(11,158,110,.25);border-radius:var(--r-lg);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:24px 0}
.acm-cd .wa-cta-h{font-family:'DM Sans',sans-serif;font-size:1.15rem;font-weight:700;color:var(--green-dark);margin-bottom:4px}
.acm-cd .wa-cta-p{font-size:13.5px;color:var(--text2);margin:0;max-width:640px;line-height:1.55}
.acm-cd .wa-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;padding:12px 22px;border-radius:var(--r-pill);font-weight:700;text-decoration:none;box-shadow:0 5px 16px rgba(37,211,102,.32)}
.acm-cd .wa-cta-btn:hover{background:#1db955;color:#fff}
.acm-cd .float-wa{position:fixed;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:11px;height:56px;padding:0 20px 0 8px;border-radius:var(--r-pill);background:#25D366;color:#fff;box-shadow:0 10px 28px rgba(37,211,102,.42);z-index:500;text-decoration:none;transition:all .22s}
.acm-cd .float-wa:hover{background:#1db955;transform:translateY(-2px);color:#fff}
/* V3: stack the global back-to-top ABOVE the floating WhatsApp on course pages
   (both were pinned bottom-right and overlapped). */
body.single-course .avanta-top{right:24px;bottom:74px}
.acm-cd .float-wa .fw-ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;flex-shrink:0;font-size:20px}
.acm-cd .float-wa .fw-label{font-family:'DM Sans',sans-serif;font-weight:700;font-size:14px;white-space:nowrap}
.acm-cd .go-top{position:fixed;right:24px;bottom:92px;width:48px;height:48px;border-radius:50%;background:var(--blue);color:#fff;border:none;display:grid;place-items:center;font-size:20px;cursor:pointer;box-shadow:0 8px 22px rgba(0,30,210,.4);z-index:500;opacity:0;visibility:hidden;transform:translateY(12px);transition:all .3s}
.acm-cd .go-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.acm-cd .go-top:hover{background:#0018a8}

@media(max-width:920px){
	.acm-cd .ch-inner{grid-template-columns:1fr;gap:2rem}
	.acm-cd .page-body{grid-template-columns:1fr}
	.acm-cd .sticky-sidebar{position:static}
	/* V5: show the registration sidebar first (at the top) on mobile/tablet. */
	.acm-cd .page-body > aside{order:-1}
	.acm-cd .page-body > main{order:0}
	.acm-cd .outcomes-grid,.acm-cd .assess-grid{grid-template-columns:1fr}
	.acm-cd .related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:640px){.acm-cd .related-grid{grid-template-columns:1fr}}
/* Mobile density: tighter padding so content isn't cramped inside the narrow column. */
@media(max-width:640px){
	.acm-cd .container{padding-left:16px;padding-right:16px}
	.acm-cd .page-body{padding:20px 0 48px;gap:16px}
	.acm-cd .content-section{padding:18px 16px;margin-bottom:16px}
	.acm-cd .course-header{padding:36px 0 40px}
	.acm-cd .ch-title{font-size:1.6rem;line-height:1.22}
	.acm-cd .acm-section{padding:18px 16px}
	.acm-cd .acm-sched-table th,.acm-cd .acm-sched-table td{padding:10px}
	.acm-cd .wa-cta{padding:18px;flex-direction:column;align-items:flex-start}
	.acm-cd .wa-cta-btn{width:100%;justify-content:center}
}
@media(max-width:560px){.acm-cd .float-wa{padding:0;width:56px;justify-content:center}.acm-cd .float-wa .fw-label{display:none}.acm-cd .marquee-track img{height:56px}.acm-cd .marquee-track{gap:48px}}

/* ---- Section fidelity: existing partials adapted into the reference design ---- */
/* Each content partial becomes a white card with a DM Sans section title */
.acm-cd .acm-fees,.acm-cd .acm-sfec,.acm-cd .acm-schedule,.acm-cd .acm-assess{
	background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;margin-bottom:20px;
}
.acm-cd .acm-section__title{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:700;color:var(--navy);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.acm-cd .acm-fees__intro,.acm-cd .acm-sfec__intro,.acm-cd .acm-schedule__intro{font-size:13.5px;color:var(--text2);margin:-4px 0 16px}
/* The intro is a WYSIWYG field now, so it holds its own <p> tags. Their
   default margins would fight the spacing set above. */
.acm-schedule__intro > p{margin:0 0 8px}
.acm-schedule__intro > p:last-child{margin-bottom:0}

/* What You Will Learn - RTE list becomes the two-column check grid */
.acm-cd .acm-cd-learn .cs-rte ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.acm-cd .acm-cd-learn .cs-rte li{position:relative;padding-left:30px;font-size:13px;color:var(--text2);line-height:1.55}
.acm-cd .acm-cd-learn .cs-rte li::before{content:'✓';position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--green-bg);border:1px solid rgba(11,158,110,.2);color:var(--green-dark);display:grid;place-items:center;font-size:9px;font-weight:800}
@media(max-width:920px){.acm-cd .acm-cd-learn .cs-rte ul{grid-template-columns:1fr}}

/* Course Content - RTE ordered/unordered list becomes numbered module rows */
.acm-cd .acm-cd-modules .cs-rte ol,.acm-cd .acm-cd-modules .cs-rte ul{list-style:none;margin:0;padding:0;counter-reset:acm-mod;display:flex;flex-direction:column;gap:8px}
.acm-cd .acm-cd-modules .cs-rte li{counter-increment:acm-mod;position:relative;padding:11px 14px 11px 50px;border:1px solid var(--border2);border-radius:var(--r-sm);background:var(--bg);font-size:13px;color:var(--text2)}
.acm-cd .acm-cd-modules .cs-rte li::before{content:counter(acm-mod,decimal-leading-zero);position:absolute;left:13px;top:10px;width:24px;height:24px;border-radius:6px;background:var(--blue-light);color:var(--blue);display:grid;place-items:center;font-size:11px;font-weight:700}

/* Assessment cards → reference assess-grid */
.acm-cd .acm-assess__grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.acm-cd .acm-assess__card{background:var(--bg);border:1px solid var(--border);border-left:1px solid var(--border);border-radius:var(--r-sm);padding:14px;box-shadow:none}
.acm-cd .acm-assess__icon{color:var(--blue);font-size:16px}
.acm-cd .acm-assess__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text3)}
.acm-cd .acm-assess__value{font-size:14px;font-weight:700;color:var(--navy)}
.acm-cd .acm-assess__desc{font-size:11px;color:var(--text3)}
/* Code / Validity rows inside a Points card.
   These sized themselves from the theme's body text (~15px) and were bold,
   because the detail page scaled the card down — label 10px, value 14px,
   description 11px — but never touched .acm-meta-list, which frontend.css
   leaves without a font-size at all. The result inverted the hierarchy: the
   course code shouted louder than the points value above it.
   Sized under the value deliberately, so "10" stays the biggest thing in
   the card. */
/* The points figure is the point of the card, so it reads as a figure rather
   than as body text. Scoped to .acm-points (the class points.php adds) — the
   Assessment cards share .acm-assess__value and are left at 14px, where the
   value is a phrase like "Written + Practical", not a number. */
.acm-cd .acm-points .acm-assess__value{font-size:19px;line-height:1.15}

.acm-cd .acm-assess__meta{margin:10px 0 0}
.acm-cd .acm-assess__meta li{gap:12px;padding:6px 0;font-size:11.5px}
.acm-cd .acm-assess__meta span{color:var(--text3)}
.acm-cd .acm-assess__meta strong{
  font-size:12px;font-weight:700;color:var(--navy);text-align:right;
  /* Codes like CPD/114/T2.0/262627 have no spaces to break at, and the card
     is a third of the row wide. */
  overflow-wrap:anywhere;
}
.acm-cd .acm-assess__warn{margin-top:14px;background:var(--gold-bg);border:1px solid rgba(245,166,35,.25);color:#9A6200;border-radius:var(--r-sm);font-size:12px}
@media(max-width:920px){.acm-cd .acm-assess__grid{grid-template-columns:1fr}}

/* Downloads (Details tab) — pill buttons that wrap onto as many rows as the
   course needs. Sized by their own label rather than laid out on a grid: the
   labels are wildly uneven ("Brochure" next to "Download - Self Assessment
   form *required*") and equal columns would leave the short ones mostly
   empty. */
.acm-cd .acm-cd-dl__row{display:flex;flex-wrap:wrap;gap:10px}
.acm-cd .acm-cd-dl{
  display:inline-flex;align-items:center;gap:9px;
  padding:10px 18px;border-radius:999px;text-decoration:none;
  background:var(--navy);color:#fff;
  font-size:12.5px;font-weight:700;line-height:1.35;
  transition:background .18s ease,transform .18s ease;
}
.acm-cd .acm-cd-dl:hover{background:var(--blue);transform:translateY(-1px)}
.acm-cd .acm-cd-dl:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.acm-cd .acm-cd-dl__icon{font-size:14px;line-height:1;flex-shrink:0;opacity:.85}
/* A long label wraps inside the pill instead of forcing the row wider than
   the tab. */
.acm-cd .acm-cd-dl__label{min-width:0}

/* Notice box (Details tab).
   Colours match the SFEC notice in frontend.css so the two read as the same
   component, and all three are overridable per course from the Course Builder
   — which is why they are plain values here rather than var()s the inline
   style could not beat. The icon sits in its own column so a notice running to
   several lines stays aligned under its first line, not under the icon. */
.acm-cd .acm-cd-notice{
  display:flex;gap:12px;align-items:flex-start;
  margin:0 0 18px;padding:14px 18px;
  background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--notice-ink);
  border-radius:10px;
}
.acm-cd .acm-cd-notice__icon{font-size:15px;line-height:1.5;flex-shrink:0}
.acm-cd .acm-cd-notice__text{font-size:13px;line-height:1.6;min-width:0}
/* wpautop() supplies the paragraphs; their outer margins would otherwise
   fight the box padding. */
.acm-cd .acm-cd-notice__text > :first-child{margin-top:0}
.acm-cd .acm-cd-notice__text > :last-child{margin-bottom:0}

/* Highlights (Details tab) — same card shell as the assessment/points cards
   above, so the Details tab does not introduce a third card style. The icon
   is optional, hence a flex column rather than a fixed slot: a card with no
   icon closes up instead of leaving a gap where one would have been. */
/* Highlights sit INSIDE the Details box, under the About copy rather than in
   a card of their own.

   No heading and no rule above them any more: both were removed on the
   client's note. The cards already name themselves, so a "Highlights" label
   and a divider were announcing a section break that the reader does not need
   — the cards are part of the About copy, and now look like it.

   Only the gap is left, and it stays on the --after modifier so a
   Highlights-only box does not open with blank space above the first card. */
.acm-cd .acm-hl--after{margin-top:18px}
/* the RTE's trailing paragraph margin would double up against that gap */
.acm-cd .acm-cd-about .cs-rte>:last-child{margin-bottom:0}
/* Full-width boxes stacked one per row, not a three-up grid of cards.
   The client's reference is the notice block above — same width, same 10px
   radius, same 14px/18px padding — so the two read as one family rather than
   the Details tab carrying two different box shapes. Three-across also gave
   each highlight about 150px on a laptop, which is why the descriptions were
   set at 11.5px to fit; at full width they can take the body size. */
.acm-cd .acm-hl__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
/* The same amber as the notice box above, on the client's reference: the two
   blocks sit in one Details box and now read as one component rather than a
   grey-blue card under an amber one. */
.acm-cd .acm-hl__card{
  background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:10px;
  padding:14px 18px;
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:start;
}
/* The icon spans both rows so the title and description share one text column
   and align to each other, exactly as the label and copy do in the notice. */
/* A fixed slot, not an auto one. Font Awesome glyphs are not all the same
   width — a coin is wider than a clock — so an auto column moved the text
   left edge by a few pixels per row and the stack looked ragged. */
.acm-cd .acm-hl__icon{
  grid-row:1 / span 2;width:18px;text-align:center;
  color:var(--notice-ink);font-size:15px;line-height:1.45;
}
/* One ink for the whole card, exactly as the notice prints its bold label
   and its copy in the same colour. A navy title on amber would be the only
   place on the page where those two meet. */
.acm-cd .acm-hl__title{grid-column:2;font-size:14px;font-weight:700;color:var(--notice-ink);line-height:1.45}
.acm-cd .acm-hl__desc{grid-column:2;font-size:13px;color:var(--notice-ink);line-height:1.6}
/* A card with a description but no title must not leave the first row empty. */
.acm-cd .acm-hl__icon + .acm-hl__desc{grid-row:1 / span 2;align-self:center}
/* No icon: the whole card collapses to one column so the title and its
   description share a left edge. Spanning only the title across both columns
   left the title at the padding edge and the description indented under a slot
   that was not there. */
.acm-cd .acm-hl__card:not(:has(.acm-hl__icon)){grid-template-columns:minmax(0,1fr)}
.acm-cd .acm-hl__card:not(:has(.acm-hl__icon)) > *{grid-column:1}
@media(max-width:560px){.acm-cd .acm-hl__card{padding:13px 15px}}

/* Fee table → reference navy header + green highlight look */
.acm-cd .acm-fees__scroll{border:1px solid var(--border);border-radius:var(--r-sm);overflow-x:auto;overflow-y:hidden}
.acm-cd .acm-fees__scroll.is-scrollable{overflow-x:auto}
.acm-cd .acm-fees__table{width:100%;border-collapse:collapse;font-size:12px}
.acm-cd .acm-fees__table thead th{background:var(--navy-bg);color:rgba(255,255,255,.85);padding:9px 12px;font-weight:600;font-size:11px;border-color:rgba(255,255,255,.08)}
.acm-cd .acm-fees__group{background:var(--navy2)!important;font-size:10px;letter-spacing:.05em;color:rgba(255,255,255,.7)!important}
.acm-cd .acm-fees__group-desc{font-weight:400;opacity:.8}
.acm-cd .acm-fees__table td{padding:9px 12px;border-bottom:1px solid var(--border2);color:var(--text2);font-size:12px;text-align:center}
.acm-cd .acm-fees__cat{text-align:left;background:var(--bg);color:var(--navy);font-weight:600}
.acm-cd thead .acm-fees__cat{background:var(--navy-bg);color:rgba(255,255,255,.85)}
.acm-cd .acm-fees__cat-desc{font-weight:400;font-size:11px;color:var(--text3)}
.acm-cd .acm-fees__cell.is-highlight{background:var(--green-bg);color:var(--green-dark);font-weight:700}
.acm-cd .acm-fees__foot{margin-top:14px;background:var(--gold-bg);border:1px solid rgba(245,166,35,.2);color:#9A6200;border-radius:var(--r-sm);font-size:11px;line-height:1.6;padding:10px 12px}

/* Schedule run cards inside the schedule card */
.acm-cd .acm-runs{display:grid;gap:14px}
.acm-cd .acm-run{border:1px solid var(--border);border-radius:var(--r);padding:18px;background:#fff}
.acm-cd .acm-run.is-featured{border-color:rgba(0,30,210,.28);box-shadow:var(--shadow)}
.acm-cd .acm-run__name{font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;color:var(--navy)}
.acm-cd .acm-run__summary{color:var(--text3);font-weight:600;font-size:12px}
.acm-cd .acm-run__date-time{color:var(--blue);font-weight:700}

/* Course Content - numbered module cards (V3: cleaner, mobile-friendly) */
.acm-cd .content-modules{display:flex;flex-direction:column;gap:12px}
.acm-cd .module-item{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border:1px solid var(--border2);border-radius:14px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.045);transition:box-shadow .16s ease,transform .16s ease}
.acm-cd .module-item:hover{box-shadow:0 10px 26px rgba(15,23,42,.09);transform:translateY(-1px)}
.acm-cd .module-num{width:36px;height:36px;border-radius:10px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;flex-shrink:0}
.acm-cd .module-body{min-width:0}
.acm-cd .module-title{display:block;color:var(--navy);font-weight:700;font-size:15px;line-height:1.4}
.acm-cd .module-desc{display:block;margin-top:5px;font-size:13.5px;color:var(--text2);line-height:1.65}
@media(max-width:640px){
  .acm-cd .module-item{padding:14px 15px;gap:12px}
  .acm-cd .module-num{width:32px;height:32px}
  .acm-cd .module-title{font-size:14.5px}
}

/* Corporate Enquiry - contact form + talk-to-us card (reference contact-sec) */
.acm-cd .contact-sec{padding:8px 0 8px}
.acm-cd .contact-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:24px;align-items:start}
.acm-cd .contact-form-card{background:var(--navy-bg);border-radius:var(--r-lg);padding:30px 30px 32px;color:#fff;position:relative;overflow:hidden}
.acm-cd .contact-form-card::before{content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;background:rgba(0,30,210,.28)}
.acm-cd .cfc-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:18px;position:relative}
.acm-cd .cfc-title{font-family:'DM Sans',sans-serif;font-size:1.55rem;font-weight:700;color:#fff;letter-spacing:-.3px}
.acm-cd .reply-badge{display:inline-flex;align-items:center;gap:7px;background:rgba(11,158,110,.16);border:1px solid rgba(11,158,110,.4);color:#4ECDA4;padding:6px 14px;border-radius:var(--r-pill);font-size:12px;font-weight:600}
.acm-cd .reply-dot{width:7px;height:7px;border-radius:50%;background:#2ecc71;box-shadow:0 0 0 3px rgba(46,204,113,.25)}
.acm-cd .cfc-tabs{display:flex;border-bottom:1px solid rgba(255,255,255,.16);margin-bottom:22px;position:relative}
.acm-cd .cfc-tab{flex:1;padding:12px;text-align:center;font-size:14px;font-weight:600;color:rgba(255,255,255,.6);cursor:pointer;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit;transition:all .15s;margin-bottom:-1px}
.acm-cd .cfc-tab.active{color:#fff;border-bottom-color:#fff}
.acm-cd .cf-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.acm-cd .cf-field{margin-bottom:16px;position:relative}
.acm-cd .cf-label{display:block;font-size:13px;font-weight:600;color:rgba(255,255,255,.88);margin-bottom:7px}
.acm-cd .cf-label span{color:#ff9a9a}
.acm-cd .cf-input,.acm-cd .cf-select,.acm-cd .cf-textarea{width:100%;padding:12px 14px;border-radius:8px;border:1px solid transparent;font-family:inherit;font-size:14px;color:var(--text);background:#fff;outline:none;transition:box-shadow .15s}
.acm-cd .cf-input:focus,.acm-cd .cf-select:focus,.acm-cd .cf-textarea:focus{box-shadow:0 0 0 3px rgba(0,30,210,.35)}
.acm-cd .cf-textarea{min-height:120px;resize:vertical}
.acm-cd .cf-check{display:flex;gap:11px;align-items:flex-start;font-size:12.5px;color:rgba(255,255,255,.78);margin-bottom:12px;line-height:1.65}
.acm-cd .cf-check input{margin-top:2px;width:17px;height:17px;flex-shrink:0;accent-color:var(--blue);cursor:pointer}
.acm-cd .cf-check a{color:#9FB0FF;font-weight:600;text-decoration:underline}
.acm-cd .cf-readmore{display:inline-block;font-size:13px;color:#fff;text-decoration:underline;font-weight:600;margin:2px 0 18px}
.acm-cd .cf-captcha{background:#f9f9f9;border:1px solid #d3d3d3;border-radius:4px;padding:12px 14px;display:flex;align-items:center;gap:12px;width:302px;max-width:100%;margin-bottom:20px}
.acm-cd .cf-captcha .cbox{width:28px;height:28px;border:2px solid #c1c1c1;border-radius:3px;background:#fff;flex-shrink:0}
.acm-cd .cf-captcha .clabel{font-size:14px;color:#3c4043}
.acm-cd .cf-captcha .clogo{margin-left:auto;text-align:center;color:#9aa4b0;line-height:1.1}
.acm-cd .cf-captcha .clogo b{display:block;font-size:15px;color:#5b6472;font-weight:800}
.acm-cd .cf-submit{width:100%;padding:15px;border-radius:8px;background:var(--gold);color:#3a2a00;border:none;font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;transition:all .18s}
.acm-cd .cf-submit:hover{background:#e0921a;box-shadow:0 6px 18px rgba(245,166,35,.35)}
.acm-cd .talk-card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:26px 24px;box-shadow:var(--shadow)}
.acm-cd .talk-title{font-family:'DM Sans',sans-serif;font-size:1.3rem;font-weight:700;color:var(--navy);margin-bottom:16px}
.acm-cd .talk-wa{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;border-radius:12px;background:#25D366;color:#fff;text-decoration:none;transition:all .18s;box-shadow:0 5px 16px rgba(37,211,102,.32)}
.acm-cd .talk-wa:hover{background:#1db955;color:#fff}
.acm-cd .talk-wa .wa-ic{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;flex-shrink:0}
.acm-cd .talk-wa .wa-txt b{display:block;font-family:'DM Sans',sans-serif;font-size:15px;font-weight:700;line-height:1.2}
.acm-cd .talk-wa .wa-txt small{font-size:11.5px;opacity:.9}
.acm-cd .talk-btn{width:100%;padding:12px;border-radius:11px;background:#fff;color:var(--navy);border:1.5px solid var(--border);font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-family:inherit;margin-top:10px;text-decoration:none;transition:all .15s}
.acm-cd .talk-btn:hover{border-color:var(--blue);color:var(--blue);background:var(--blue-light)}
.acm-cd .talk-list{margin:22px 0 4px;display:flex;flex-direction:column;gap:14px}
.acm-cd .talk-item{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--text2);line-height:1.5}
.acm-cd .talk-check{width:20px;height:20px;border-radius:50%;background:var(--blue-light);color:var(--blue);display:grid;place-items:center;font-size:10px;font-weight:900;flex-shrink:0;margin-top:1px}
.acm-cd .talk-img{width:100%;border-radius:var(--r);overflow:hidden;margin-top:18px;aspect-ratio:16/10}
.acm-cd .talk-img img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:920px){.acm-cd .contact-grid{grid-template-columns:1fr}.acm-cd .cf-row{grid-template-columns:1fr}}

/* ============================================================
   Auto-calculated Fee & Funding tables (SSG model) + schedule type
   ============================================================ */
.acm-cd .acm-feecalc__scroll{margin:0;overflow-x:auto;-webkit-overflow-scrolling:touch}
.acm-cd .acm-feecalc__scroll.is-scrollable{overflow-x:auto;-webkit-overflow-scrolling:touch}
.acm-cd .acm-feecalc,.acm-cd .acm-fundtable{width:100%;border-collapse:collapse;background:#fff;font-size:12.5px}
.acm-cd .acm-feecalc th,.acm-cd .acm-feecalc td,
.acm-cd .acm-fundtable th,.acm-cd .acm-fundtable td{border:1px solid #b9c2d6;padding:8px 12px;text-align:center;vertical-align:middle}
.acm-cd .acm-feecalc__title{caption-side:top;background:#f7d8ab;color:#3a2c0a;font-weight:700;font-size:13px;padding:9px 12px;border:1px solid #b9c2d6;border-bottom:0;text-align:center}
.acm-cd .acm-feecalc thead th{background:#123fd0;color:#fff;font-weight:700;font-size:12px;line-height:1.3}
.acm-cd .acm-feecalc__sub{background:#1b49dd}
.acm-cd .acm-feecalc__cat{text-align:left;font-weight:600;color:#0b1527;background:#fff}
.acm-cd thead .acm-feecalc__cat{background:#123fd0;color:#fff}
.acm-cd .acm-feecalc tbody td{color:#1a2233;white-space:nowrap;font-variant-numeric:tabular-nums}
.acm-cd .acm-feecalc__note{font-size:12px;color:var(--text2,#374766);margin:10px 0 0}
/* Numbered footnotes under the fee table (markers match the first column). */
.acm-cd .acm-feecalc__notes{margin:10px 0 0;padding-left:18px;list-style:decimal}
.acm-cd .acm-feecalc__notes .acm-feecalc__note{margin:2px 0}
/* The marker is a reference, not emphasis: it inherits the bold row heading, so
   it is reset to normal weight explicitly. */
.acm-cd .acm-feecalc__fnref{font-size:10px;font-weight:400;margin-left:2px;vertical-align:super;line-height:0}
.acm-cd .acm-feecalc__fundhead{font-weight:700;font-size:16px;color:#0b1527;margin:28px 0 10px}
.acm-cd .acm-fundtable th,.acm-cd .acm-fundtable td{text-align:left}
.acm-cd .acm-fundtable thead th{background:#fff;color:#0b1527;font-weight:700}
.acm-cd .acm-fundtable tbody th{font-weight:600;color:#0b1527;background:#fff}
.acm-cd .acm-fund__pct{display:block;font-weight:700;color:#123fd0}
.acm-cd .acm-fund__nett{display:block;font-size:11px;color:var(--text3,#6B7FA0);margin-top:2px}
.acm-cd .acm-feecalc__legend{font-size:12px;color:var(--text2,#374766);margin:12px 0 0;line-height:1.7}
.acm-cd .acm-feecalc__legend br+*{margin-top:2px}

/* Schedule type pill */
.acm-cd .acm-run__type{display:inline-block;margin-left:8px;padding:2px 10px;border-radius:100px;font-size:11px;font-weight:700;letter-spacing:.02em;vertical-align:middle}
.acm-cd .acm-run__type--weekday{background:#EBF0FD;color:#1A3ED8}
.acm-cd .acm-run__type--weekend{background:#FEF0E6;color:#B84000}
.acm-cd .acm-run__type--holiday{background:#E6F8F3;color:#087A55}
.acm-cd .acm-run__type--evening{background:#F0EBFE;color:#7A3FF2}

/* ============================================================
   Schedule - reference "Upcoming course runs" table design
   ============================================================ */
.acm-cd .acm-sched-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.acm-cd .acm-sched-table{width:100%;border-collapse:collapse;min-width:560px}
.acm-cd .acm-sched-table th{background:var(--bg2);color:var(--text3);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 12px;text-align:left;border-bottom:1px solid var(--border)}
.acm-cd .acm-sched-table td{padding:13px 12px;border-bottom:1px solid var(--border2);font-size:13px;color:var(--text2);vertical-align:middle}
.acm-cd .acm-sched-table tr:last-child td{border-bottom:none}
.acm-cd .acm-sched-table tbody tr:hover td{background:var(--bg)}
/* V3: header + Register button in the same column must share alignment. The base
   `th` rule out-specified the old class rule, so the "ACTION" label stayed left
   while the button sat right. Centre both with a matching-specificity selector. */
.acm-cd .acm-sched-table th.acm-sched-table__action,
.acm-cd .acm-sched-table td.acm-sched-table__action{text-align:center}
.acm-cd .acm-sched__dates strong{color:var(--navy);font-weight:700;font-size:13.5px;display:block}
.acm-cd .acm-sched__loc{font-size:11px;color:var(--text3);margin-top:3px;display:block}
.acm-cd .acm-sched__lang{white-space:nowrap}

/* Availability badge */
.acm-cd .acm-avail{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 11px;border-radius:var(--r-pill);white-space:nowrap;line-height:1}
.acm-cd .acm-avail__dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.acm-cd .acm-avail--yes{background:var(--green-bg);color:var(--green-dark)}
.acm-cd .acm-avail--few{background:var(--gold-bg);color:#9A6407}
.acm-cd .acm-avail--no{background:var(--red-bg);color:var(--red)}

/* Register action */
.acm-cd .acm-sched__reg{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:var(--r-pill);background:var(--blue);color:#fff;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;transition:background .15s,transform .15s}
.acm-cd .acm-sched__reg:hover{background:var(--navy3);transform:translateY(-1px)}
.acm-cd .acm-sched__closed{font-size:11.5px;font-weight:700;color:var(--text3);white-space:nowrap}

/* Dedicated-run banner */
.acm-cd .acm-sched-corp{margin-top:18px;padding:16px 18px;background:var(--navy-bg);border-radius:var(--r-lg);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.acm-cd .acm-sched-corp__title{font-size:14px;font-weight:700;color:#fff}
.acm-cd .acm-sched-corp__sub{font-size:12.5px;color:rgba(255,255,255,.6);margin-top:3px}
.acm-cd .acm-sched-corp__btn{display:inline-flex;align-items:center;gap:6px;padding:9px 18px;border-radius:var(--r-pill);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:12.5px;font-weight:700;text-decoration:none;white-space:nowrap;transition:all .15s}
.acm-cd .acm-sched-corp__btn:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.6)}

/* ============================================================
   Batch 2: logo strip (borderless), venue, certification,
   schedule filters, mobile tab bar
   ============================================================ */
/* Logo strip - remove the boxed card (v2 look). White band so it reads as its
   own section, distinct from the tinted tab bar below it. */
.acm-cd .clients{padding:30px 0;background:#fff}
.acm-cd .clients-card{background:transparent;border:0;box-shadow:none;padding:0}
.acm-cd .clients-title{text-align:center;color:var(--navy)}

/* Venue & training mode */
.acm-cd .venue-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.acm-cd .venue-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px}
.acm-cd .venue-lbl{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}
.acm-cd .venue-name{font-size:16px;font-weight:700;color:var(--navy);margin-top:8px}
.acm-cd .venue-addr{font-size:13.5px;color:var(--text2);margin-top:8px;line-height:1.6}

/* Certification & renewal */
.acm-cd .cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px}
.acm-cd .cert-card{border-radius:var(--r-lg);padding:20px 22px;border:1px solid transparent}
.acm-cd .cert-card--issued{background:var(--green-bg);border-color:#bfe9dc}
.acm-cd .cert-card--renewal{background:#f0ebfe;border-color:#d9ccfa}
.acm-cd .cert-lbl{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.acm-cd .cert-card--issued .cert-lbl{color:var(--green-dark)}
.acm-cd .cert-card--renewal .cert-lbl{color:#6d3bd6}
.acm-cd .cert-title{font-size:16px;font-weight:700;color:var(--navy);margin-top:8px}
.acm-cd .cert-desc{font-size:13.5px;color:var(--text2);margin-top:8px;line-height:1.6}

/* Schedule filter pills */
.acm-cd .acm-sched-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.acm-cd .acm-sched-filter{border:1.5px solid var(--border);background:#fff;color:var(--text2);font-weight:700;font-size:12.5px;padding:7px 16px;border-radius:var(--r-pill);cursor:pointer;transition:all .15s;font-family:inherit}
.acm-cd .acm-sched-filter:hover{border-color:var(--blue);color:var(--blue)}
.acm-cd .acm-sched-filter.is-active{background:var(--navy-bg);border-color:var(--navy);color:#fff}

/* Mobile bottom tab bar (course sections) */
.acm-cd .mobile-tabbar{display:none}
@media (max-width:768px){
	.acm-cd .page-tabs{display:none}
	.acm-cd .tab-panel{scroll-margin-top:78px}
	.acm-cd .venue-grid,.acm-cd .cert-grid{grid-template-columns:1fr}
	.acm-cd .mobile-tabbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid var(--border);box-shadow:0 -4px 18px rgba(0,0,60,.08);overflow-x:auto;-webkit-overflow-scrolling:touch;padding:6px 8px;gap:4px}
	.acm-cd .mtb-tab{flex:0 0 auto;border:0;background:transparent;color:var(--text3);font-weight:700;font-size:12px;padding:9px 14px;border-radius:10px;white-space:nowrap;cursor:pointer;font-family:inherit}
	.acm-cd .mtb-tab.active{background:var(--blue);color:#fff}
	.acm-course{padding-bottom:64px}
	/* Floating WhatsApp (Click to Chat) and back-to-top buttons sit above the
	   fixed tab bar instead of covering its first and last tabs. */
	body:has(.acm-cd .mobile-tabbar) #ht-ctc-chat{bottom:76px !important}
	body:has(.acm-cd .mobile-tabbar) .avanta-top{bottom:136px !important}
}

/* Sidebar detail icons (Font Awesome) */
.acm-cd .rc-icon i{color:var(--blue);font-size:14px;width:16px;text-align:center}

/* Sidebar - Accreditations */
.acm-cd .acm-accred{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px}
.acm-cd .acm-accred__title{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:14px}
.acm-cd .acm-accred__list{display:flex;flex-direction:column;gap:12px}
.acm-cd .acm-accred__item{display:flex;gap:12px;align-items:center}
.acm-cd .acm-accred__badge{flex:0 0 auto;min-width:44px;height:30px;padding:0 8px;border-radius:8px;background:var(--blue-light);color:var(--blue);font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.acm-cd .acm-accred__text{font-size:13px;color:var(--text2);line-height:1.5}

/* Sidebar - Enrolling a team card */
.acm-cd .acm-teamcard{background:linear-gradient(135deg,#00003c,#0c0c66);color:#fff;border-radius:var(--r-lg);padding:22px}
.acm-cd .acm-teamcard__title{font-family:'DM Sans',sans-serif;font-size:16px;font-weight:700;color:#fff}
.acm-cd .acm-teamcard__desc{font-size:13px;color:rgba(255,255,255,.72);margin:8px 0 16px;line-height:1.6}
.acm-cd .acm-teamcard__cta{display:block;text-align:center;background:#fff;color:var(--navy);font-weight:700;font-size:13px;padding:11px 16px;border-radius:var(--r-pill);text-decoration:none;transition:.15s}
.acm-cd .acm-teamcard__cta:hover{background:rgba(255,255,255,.9);color:var(--navy)}
.acm-cd .acm-teamcard__alt{display:block;text-align:center;margin-top:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:13px;padding:11px 16px;border-radius:var(--r-pill);text-decoration:none;transition:.15s}
.acm-cd .acm-teamcard__alt:hover{background:rgba(255,255,255,.16);color:#fff}

/* Schedule header: title left, filters right */
.acm-cd .acm-sched-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.acm-cd .acm-sched-head .acm-section__title{margin:0}
.acm-cd .acm-sched-head .acm-sched-filters{margin:0}
@media (max-width:560px){.acm-cd .acm-sched-head{align-items:flex-start;flex-direction:column}}

/* Train Your Team enquiry (V3). The inner card is now flush inside its
   .content-section wrapper - the duplicated card border/padding was the
   "double border" reported in the corrections doc. */
.acm-cd .corp-enq{background:transparent;border:0;border-radius:0;padding:0;margin:0}
.acm-cd .corp-enq__title{font-family:'DM Sans',sans-serif;font-size:17px;font-weight:700;color:var(--navy);margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.acm-cd .corp-enq__intro{font-size:13.5px;color:var(--text2);line-height:1.75;margin:0 0 18px}
.acm-cd .corp-tiers{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.acm-cd .corp-tier{background:var(--bg);border:1px solid var(--border);border-radius:var(--r);padding:18px}
.acm-cd .corp-tier b{display:block;color:var(--navy);font-size:14px;margin-bottom:6px}
.acm-cd .corp-tier p{margin:0;font-size:13px;color:var(--text2);line-height:1.6}
.acm-cd .corp-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acm-cd .corp-quote{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;font-weight:700;font-size:13.5px;padding:14px 20px;border-radius:var(--r-pill);text-decoration:none;transition:.15s}
.acm-cd .corp-quote:hover{background:#0018a8;color:#fff}
.acm-cd .corp-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;border:1.5px solid var(--border);color:var(--navy);font-weight:700;font-size:13.5px;padding:14px 20px;border-radius:var(--r-pill);text-decoration:none;transition:.15s}
.acm-cd .corp-call:hover{border-color:var(--blue);color:var(--blue)}
.acm-cd .corp-call i{color:var(--red)}
.acm-cd .corp-email{text-align:center;font-size:12.5px;color:var(--text3);margin:16px 0 0}
.acm-cd .corp-email a{color:var(--blue);font-weight:700}
/* Embedded enquiry form on the "Get Quotation" blue background (V3). */
.acm-cd .corp-enq__form{background:var(--blue);border-radius:var(--r-lg);padding:26px}
.acm-cd .corp-enq__form,
.acm-cd .corp-enq__form label,
.acm-cd .corp-enq__form .ff-el-input--label label,
.acm-cd .corp-enq__form h1,.acm-cd .corp-enq__form h2,.acm-cd .corp-enq__form h3,
.acm-cd .corp-enq__form p{color:#fff}
.acm-cd .corp-enq__form input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.acm-cd .corp-enq__form select,
.acm-cd .corp-enq__form textarea{background:#fff;border:1px solid rgba(255,255,255,.4);border-radius:10px;color:var(--navy)}
.acm-cd .corp-enq__form .ff-btn-submit,
.acm-cd .corp-enq__form button[type=submit],
.acm-cd .corp-enq__form input[type=submit]{background:#fff;color:var(--blue);font-weight:700;border:0}
.acm-cd .corp-enq__form .ff-btn-submit:hover,
.acm-cd .corp-enq__form button[type=submit]:hover{background:#eef1ff}
@media(max-width:640px){.acm-cd .corp-tiers,.acm-cd .corp-actions{grid-template-columns:1fr}.acm-cd .corp-enq__form{padding:18px}}

/* ============================================================
   In-page booking drawer (hosts the Quick Registration form)
   ============================================================ */
html.acm-bd-lock{overflow:hidden}
.acm-bd{position:fixed;inset:0;z-index:1000}
.acm-bd[hidden]{display:none}
/* The admin bar is position:fixed at the top of the viewport with a z-index
   of 99999, which no drawer is going to out-stack. WordPress keeps content
   clear of it with html{margin-top:32px}, and a fixed element does not see
   that margin — so the drawer started under the bar and the "Enquire now"
   eyebrow was cut in half for every signed-in visitor.

   inset:0 already pins the bottom, so moving top down also shortens the
   panel and nothing runs off the foot of the screen.

   These two values are WordPress's own bar heights and are the fallback.
   On the FRONT END the bar is position:absolute on desktop, so it scrolls
   away and a reader who opened the drawer further down the page would get
   a 32px strip of nothing at the top. frontend.js measures where the bar
   actually ends and writes --acm-bd-top, which covers both cases; the
   fallback is what applies before it runs. */
body.admin-bar .acm-bd{top:var(--acm-bd-top,32px)}
@media screen and (max-width:782px){body.admin-bar .acm-bd{top:var(--acm-bd-top,46px)}}

.acm-bd__overlay{position:absolute;inset:0;background:rgba(6,12,30,.55);opacity:0;transition:opacity .3s ease;backdrop-filter:saturate(120%) blur(1px)}
.acm-bd.is-open .acm-bd__overlay{opacity:1}
/* V3: full-width panel on desktop (was a 480px right drawer). Inner content is
   capped + centred so the form/schedule stays readable on wide screens. */
.acm-bd__panel{position:absolute;top:0;right:0;height:100%;width:100%;background:var(--bg,#fff);transform:translateX(100%);transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:-14px 0 44px rgba(0,0,30,.20);overflow:hidden;outline:none}
.acm-bd.is-open .acm-bd__panel{transform:none}
.acm-bd__head,.acm-bd__summary,.acm-bd__body{width:100%;max-width:1080px;margin-left:auto;margin-right:auto}
.acm-bd__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px 22px 16px;border-bottom:1px solid var(--border)}
.acm-bd__eyebrow{display:inline-block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:5px}
.acm-bd__title{margin:0;font-family:'DM Sans',sans-serif;font-size:1.15rem;font-weight:800;color:var(--navy);line-height:1.3}
/* V3: high-visibility close button (filled dark circle). */
.acm-bd__close{flex:0 0 auto;width:44px;height:44px;border-radius:50%;border:0;background:var(--navy-bg);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:background .15s,transform .15s;box-shadow:0 4px 14px rgba(0,0,30,.18)}
.acm-bd__close:hover{background:var(--blue);color:#fff;transform:rotate(90deg)}
/* V3: align the selected-run summary card with the form content below (960px). */
.acm-bd__summary{display:flex;align-items:center;gap:12px;max-width:960px;margin:16px auto 0;padding:12px 14px;border-radius:12px;background:var(--green-bg);border:1px solid rgba(11,158,110,.25)}
.acm-bd__head{max-width:960px}
.acm-bd__summary[hidden]{display:none}
.acm-bd__sum-ic{width:34px;height:34px;border-radius:50%;background:#fff;color:var(--green-dark);display:grid;place-items:center;flex:0 0 auto}
.acm-bd__sum-dates{font-weight:800;color:var(--navy);font-size:14px}
.acm-bd__sum-meta{font-size:12px;color:var(--text2);margin-top:2px}
/* V7 #16: overflow-x:hidden stops the drawer from scrolling sideways on mobile. */
.acm-bd__body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:18px 22px 26px}
.acm-bd .aqr-radios{max-width:100%}

/* Compact the embedded Quick Registration app inside the drawer */
.acm-bd .aqr-lockedhead{display:none}
.acm-bd .aqr{padding:0}
.acm-bd .aqr-grid{grid-template-columns:1fr}
/* Locked mode hides the schedule list; in the drawer we show it so the user can
   pick / confirm a run (the clicked run is pre-selected). */
.acm-bd .aqr-locked #aqr-schedule{display:block !important}
/* V3: full-width drawer shows the class list in 3 columns (was forced to 1). */
.acm-bd .aqr-clslist--grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.acm-bd .aqr-clslist--grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.acm-bd .aqr-clslist--grid{grid-template-columns:1fr}}
.acm-bd .aqr-radios{grid-template-columns:repeat(3,1fr)}
.acm-bd .aqr-note{font-size:12.5px}

@media(max-width:560px){
  .acm-bd__panel{width:100%}
  .acm-bd .aqr-radios{grid-template-columns:1fr}
}

/* ============================================================
   Schedule -> stacked cards on mobile (no horizontal scroll)
   ============================================================ */
@media(max-width:600px){
	.acm-cd .acm-sched-scroll{overflow:visible}
	.acm-cd .acm-sched-table{min-width:0;display:block}
	.acm-cd .acm-sched-table thead{display:none}
	.acm-cd .acm-sched-table tbody{display:block}
	/* Each run becomes a left-aligned stacked card */
	.acm-cd .acm-sched-table tr{display:flex;flex-direction:column;align-items:stretch;text-align:left;background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 2px 10px rgba(15,23,42,.05)}
	.acm-cd .acm-sched-table tbody tr:hover td{background:transparent}
	.acm-cd .acm-sched-table td{display:block;width:100%;border:none;padding:0;text-align:left}
	.acm-cd .acm-sched-table tr:last-child td{border:none}
	/* Dates cell: type pill on top, then bold dates, then the day-count meta */
	.acm-cd .acm-sched__dates{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:13px}
	.acm-cd .acm-sched__dates strong{order:2;font-size:16px;line-height:1.3}
	.acm-cd .acm-sched__loc{order:3;margin-top:0}
	.acm-cd .acm-run__type{order:1;margin-left:0}
	/* Language line */
	.acm-cd .acm-sched__lang{margin-bottom:13px;font-size:13px;color:var(--text2)}
	.acm-cd .acm-sched__lang::before{content:"Language: ";color:var(--text3);font-weight:600}
	/* Availability badge cell (3rd) */
	.acm-cd .acm-sched-table td:nth-child(3){margin-bottom:16px}
	/* Action cell -> full-width button */
	.acm-cd .acm-sched-table__action{text-align:left}
	.acm-cd .acm-sched__reg{display:flex;justify-content:center;width:100%;padding:13px 15px;font-size:13.5px}
	.acm-cd .acm-sched__closed{display:inline-block}
}

/* ============================================================
   Trusted Logos scroll — same section as the home page
   (rendered by the theme's avanta_clients_section()).
   ============================================================ */
.acm-cd .clients-section{background:#fff;border-top:1px solid var(--border);padding:52px 0;overflow:hidden}
.acm-cd .clients-heading{text-align:center;font-size:clamp(1.05rem,2vw,1.4rem);font-weight:600;color:var(--text2);max-width:780px;margin:0 auto 36px;line-height:1.55}
.acm-cd .clients-heading b,.acm-cd .clients-heading strong{color:var(--navy);font-weight:700}
.acm-cd .logo-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.acm-cd .logo-track{display:flex;align-items:center;gap:66px;width:max-content;animation:acm-logoscroll 46s linear infinite}
.acm-cd .clients-section:hover .logo-track{animation-play-state:paused}
.acm-cd .logo-track img{height:56px;width:auto;object-fit:contain;flex-shrink:0;transition:transform .25s}
.acm-cd .logo-track img:hover{transform:scale(1.08)}
@keyframes acm-logoscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:600px){.acm-cd .logo-track img{height:40px}.acm-cd .logo-track{gap:46px}}

/* ============================================================
   V4 corrections
   ============================================================ */
/* #5: Remove the horizontal divider lines on the course detail page — the
   rule between content sections and the underline beneath section titles.
   Spacing is preserved; only the visible lines are removed. */
.acm-cd .tab-panel + .tab-panel{border-top:0;padding-top:0;margin-top:28px}
.acm-cd .cs-title{border-bottom:0;padding-bottom:0}
.acm-cd .acm-section__title{border-bottom:0;padding-bottom:0}
.acm-cd .corp-enq__title{border-bottom:0;padding-bottom:0}

/* #7: "Trusted by" logo strip on course pages — larger logos + tinted band. */
.acm-cd .clients-section.clients-strip{padding:30px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#fff}
.acm-cd .clients-strip__row{display:flex;align-items:center;gap:34px}
.acm-cd .clients-strip__label{flex:none;font-size:13px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--text2);white-space:nowrap}
.acm-cd .clients-strip .logo-marquee{flex:1;min-width:0}
.acm-cd .clients-strip .logo-track{gap:56px}
.acm-cd .clients-strip .logo-track img{height:52px;filter:none}
@media(max-width:600px){.acm-cd .clients-section.clients-strip{padding:22px 0}.acm-cd .clients-strip__row{gap:18px}.acm-cd .clients-strip .logo-track img{height:40px}}

/* Trusted-by band below the hero: static "TRUSTED BY" label + uppercase partner
   names, evenly spaced (reference design). */
.acm-cd .acm-trusted{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.acm-cd .acm-trusted__row{display:flex;align-items:center;gap:30px;padding-top:15px;padding-bottom:15px;flex-wrap:wrap}
.acm-cd .acm-trusted__label{flex:none;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--text3);white-space:nowrap}
.acm-cd .acm-trusted__names{display:flex;align-items:center;flex-wrap:wrap;gap:12px 34px;flex:1 1 auto;min-width:0}
.acm-cd .acm-trusted__name{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text2);white-space:nowrap}
@media(max-width:600px){.acm-cd .acm-trusted__row{gap:14px}.acm-cd .acm-trusted__names{gap:9px 20px}.acm-cd .acm-trusted__name{font-size:11px;letter-spacing:.06em}}

/* #6: left-align every column in the Upcoming Course Runs (Course Dates) table
   (the Action column was centred; all others are already left). */
.acm-cd .acm-sched-table th,
.acm-cd .acm-sched-table td,
.acm-cd .acm-sched-table th.acm-sched-table__action,
.acm-cd .acm-sched-table td.acm-sched-table__action{text-align:left}

/* #6b: the Weekday/Holiday pill in the Course Dates table sits flush-LEFT
   (it had an 8px left indent from .acm-run__type that read as off-centre). */
.acm-cd .acm-sched-table .acm-sched__dates{text-align:left}
.acm-cd .acm-sched-table .acm-run__type{margin-left:0}

/* #2 / V7 #16: Registration Type (Attendee Category) — 3 columns in the course
   popup, 2 on tablets, and ONE-PER-ROW on mobile so the three types list one by
   one (no horizontal scroll). The tablet rule is bounded to >560px so it can't
   override the mobile single-column rule (equal specificity, later in source). */
@media(min-width:561px) and (max-width:900px){.acm-bd .aqr-radios{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.acm-bd .aqr-radios{grid-template-columns:1fr}}
/* Highlight descriptions accept HTML: keep paragraphs and lists compact in the card. */
.acm-cd .acm-hl__desc p{margin:0 0 6px}
.acm-cd .acm-hl__desc p:last-child,.acm-cd .acm-hl__desc ul:last-child,.acm-cd .acm-hl__desc ol:last-child{margin-bottom:0}
.acm-cd .acm-hl__desc ul,.acm-cd .acm-hl__desc ol{margin:4px 0 6px;padding-left:18px}
.acm-cd .acm-hl__desc a{color:inherit;text-decoration:underline}
/* Long unbroken strings (pasted URLs such as https://avanta.com.sg/page/...)
   have no spaces to wrap at, so on a phone they ran out of the card. Let them
   break anywhere; normal words still wrap at spaces as before. */
.acm-cd .acm-hl__title,.acm-cd .acm-hl__desc,.acm-cd .acm-cd-notice__text,.acm-cd .cs-rte{overflow-wrap:anywhere;word-break:break-word}
