/* CPTA CPD & Events Portal: scoped so no theme or WooCommerce styles are changed. */
.cpta-cpd{--cpd-blue:#145e98;--cpd-dark:#123956;--cpd-muted:#5b7288;--cpd-line:#dce7f1;--cpd-bg:#f4f9fd;color:var(--cpd-dark);font-family:'Battambang',Arial,sans-serif;max-width:1320px;margin:25px auto 70px;line-height:1.7}
.cpta-cpd *{box-sizing:border-box}
.cpta-cpd h2{font-size:clamp(21px,2.6vw,28px);margin:0 0 18px;color:#123d64}
.cpta-cpd h3{font-size:18px;line-height:1.5;color:#153c61}
.cpta-cpd-hero{background:linear-gradient(120deg,#0d2d4c,#185e96);padding:40px 42px;color:#fff;border-radius:20px;margin-bottom:25px;overflow:hidden}
.cpta-cpd-hero span{font:700 12px/1.5 Arial,sans-serif;letter-spacing:.1em;color:#c4eafd}
.cpta-cpd-hero h2{color:white!important;margin:9px 0!important;font-size:clamp(27px,3.5vw,39px)!important}
.cpta-cpd-hero p{max-width:760px;margin:0!important;color:#edf7ff}
.cpta-cpd-panel{padding:27px;margin:24px 0;background:#fff;border:1px solid var(--cpd-line);border-radius:17px;box-shadow:0 5px 20px rgba(22,65,101,.035)}
.cpta-cpd-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 25px}
.cpta-cpd-kpis>div{background:var(--cpd-bg);border:1px solid #dceaf5;border-radius:13px;padding:17px 20px;display:flex;flex-direction:column}
.cpta-cpd-kpis strong{color:#145e98;font:800 34px/1.2 Arial,sans-serif}
.cpta-cpd-kpis span{font-size:13px;color:var(--cpd-muted)}
.cpta-cpd-table-scroll{overflow-x:auto}
.cpta-cpd table{width:100%;border-collapse:collapse;font-size:13px;min-width:560px;margin:0}
.cpta-cpd th{text-align:left;background:#eaf4fc;padding:12px;color:#143f60}
.cpta-cpd td{border-bottom:1px solid var(--cpd-line);padding:12px}
.cpta-cpd-eventgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.cpta-cpd-event{border:1px solid var(--cpd-line);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 3px 11px rgba(10,47,75,.04)}
.cpta-cpd-cover{height:160px;background-position:center;background-size:cover}
.cpta-cpd-eventbody{padding:20px}
.cpta-cpd-eventmeta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:var(--cpd-muted);font-size:12px}
.cpta-cpd-pill{background:#e4f2fc;color:#145e98;border-radius:99px;padding:3px 10px;font-weight:700}
.cpta-cpd-eventbody h3{margin:12px 0!important}
.cpta-cpd-eventbody h3 a{color:#153d63;text-decoration:none}
.cpta-cpd-muted{font-size:13px;color:var(--cpd-muted);margin:4px 0!important}
.cpta-cpd-eventbody p{font-size:13px}
.cpta-cpd-link{color:var(--cpd-blue);font-size:13px;font-weight:700;text-decoration:none}
.cpta-cpd-primary{display:inline-block;background:var(--cpd-blue);color:#fff!important;padding:10px 20px;border-radius:9px;text-decoration:none}
.cpta-cpd-policy{padding:18px 23px;background:#eef6fc;border-left:4px solid var(--cpd-blue);border-radius:11px;font-size:13px}
.cpta-cpd-policy p{margin:4px 0 0!important}
.cpta-cpd-empty{color:var(--cpd-muted);padding:20px;background:var(--cpd-bg);border:1px dashed var(--cpd-line);border-radius:12px}
@media(max-width:640px){.cpta-cpd-hero{padding:29px 20px}.cpta-cpd-panel{padding:19px}.cpta-cpd-eventgrid{grid-template-columns:1fr}.cpta-cpd-kpis{gap:10px}}
.cpta-cpd-filters{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:0 0 20px}
.cpta-cpd-filters label{font-size:13px;color:var(--cpd-muted);display:flex;align-items:center;gap:8px}
.cpta-cpd-filters select{border:1px solid var(--cpd-line);background:#fff;border-radius:8px;padding:8px 12px;max-width:100%;color:var(--cpd-dark)}
.cpta-cpd [hidden]{display:none!important}
.cpta-cpd-cat{font-size:12px;color:#47708e;font-weight:700}
.cpta-cpd-filter-empty{color:var(--cpd-muted);padding:15px;background:var(--cpd-bg);border-radius:8px}

.cpta-cpd-unavailable{display:inline-block;margin:5px 0 9px!important;padding:7px 10px;background:#fff4e5;border:1px solid #f1d6ac;color:#86581e;font-size:12px;border-radius:7px}
.cpta-cpd-admin-tip{margin:9px 0 0!important;padding:9px 12px;background:#fff5da;border:1px solid #eed49d;border-radius:8px;color:#82531d;font-size:12px;overflow-wrap:anywhere}
.cpta-cpd-event-register{max-width:920px;margin:32px auto 50px}
.cpta-cpd-event-register .cpta-cpd-panel{margin:0}

/* 0.2.3: lightweight homepage upcoming-event preview and clear back navigation. */
.cpta-cpd-home-upcoming{margin:44px auto 54px;max-width:none}
.cpta-cpd-sectionheader{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 20px}
.cpta-cpd-sectionheader h2{margin:3px 0!important}
.cpta-cpd-eyebrow{display:block;color:#16719d;font-size:12px;font-weight:700;letter-spacing:.09em}
.cpta-cpd-viewall,.cpta-cpd-back{display:inline-flex;align-items:center;gap:6px;border:1px solid #cddfea;border-radius:10px;padding:9px 14px;background:#fff;color:#155d92!important;font-weight:700;text-decoration:none!important;font-size:13px}
.cpta-cpd-viewall:hover,.cpta-cpd-back:hover{background:#eaf5fd;border-color:#a8cee8;color:#114c76!important}
.cpta-cpd-card-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:14px}
.cpta-cpd-home-upcoming .cpta-cpd-eventgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cpta-cpd-event-topnav,.cpta-cpd-portal-nav{margin:16px auto 22px;max-width:1320px}
.cpta-cpd-event-register .cpta-cpd-back{margin-bottom:18px}
.cpta-cpd-bottomnav{margin-top:20px}
@media(max-width:960px){.cpta-cpd-home-upcoming .cpta-cpd-eventgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cpta-cpd-home-upcoming .cpta-cpd-eventgrid{grid-template-columns:1fr}.cpta-cpd-home-upcoming{margin:28px auto 40px}}
