/* IIDMS Blog — "Featured on The CPD Certification Service" (loaded only with that section) */
.iidms-cpd { position:relative; background: linear-gradient(135deg, #0d2c63 0%, #08214d 100%); border-radius:14px; padding:28px 26px 22px; margin:0 0 36px; color:#dfe6f3; overflow:hidden; }
.iidms-cpd::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background: var(--iidms-gold, #c9a24a); }
.iidms-cpd::after { content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background: radial-gradient(circle, rgba(201,162,74,.18) 0%, rgba(201,162,74,0) 70%); pointer-events:none; }
.iidms-cpd__head { position:relative; margin-bottom:20px; max-width:620px; }
.iidms-cpd__eyebrow { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color: var(--iidms-gold, #c9a24a); }
.iidms-cpd__title { color:#fff; font-size: clamp(21px, 2.4vw, 26px); line-height:1.3; margin:8px 0 8px; font-weight:700; }
.iidms-cpd__lead { margin:0; font-size:15px; line-height:1.6; color:#c9d3e6; }

.iidms-cpd__carousel { position:relative; }
/* Native scroll-snap track: swipe on touch, scroll/keys on desktop. Desktop shows 2 cards, mobile 1. */
.iidms-cpd__track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - 16px) / 2); gap:16px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:4px 0; margin:-4px 0; border-radius:12px; }
.iidms-cpd__track::-webkit-scrollbar { display:none; }
.iidms-cpd__track:focus-visible { outline:2px solid var(--iidms-gold, #c9a24a); outline-offset:4px; }
.iidms-cpd__track > .iidms-cpd-card { scroll-snap-align:start; scroll-snap-stop:always; }

/* Controls (shown by blog-cpd.js only when there is more than one view) */
.iidms-cpd__controls { display:flex; align-items:center; justify-content:center; gap:14px; margin-top:16px; }
.iidms-cpd__controls[hidden] { display:none; }
.iidms-cpd__nav { width:36px; height:36px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(255,255,255,.35); background:transparent; color:#fff; font-size:20px; line-height:1; cursor:pointer; transition: background .2s, border-color .2s, opacity .2s; }
.iidms-cpd__nav:hover:not(:disabled) { background: var(--iidms-gold, #c9a24a); border-color: var(--iidms-gold, #c9a24a); color: var(--iidms-navy, #0d2c63); }
.iidms-cpd__nav:disabled { opacity:.35; cursor:default; }
.iidms-cpd__nav:focus-visible, .iidms-cpd__dot:focus-visible { outline:2px solid var(--iidms-gold, #c9a24a); outline-offset:2px; }
.iidms-cpd__dots { display:flex; align-items:center; gap:6px; }
.iidms-cpd__dot { width:8px; height:8px; padding:0; border:0; border-radius:8px; background: rgba(255,255,255,.35); cursor:pointer; transition: width .25s, background .25s; }
.iidms-cpd__dot[aria-current="true"] { width:22px; background: var(--iidms-gold, #c9a24a); }
.iidms-cpd__count { min-width:44px; text-align:center; font-size:13px; font-weight:600; letter-spacing:.04em; color:#c9d3e6; font-variant-numeric: tabular-nums; }
.iidms-cpd-card { display:flex; flex-direction:column; background:#fff; border-radius:12px; padding:18px 20px 18px; border-top:3px solid var(--iidms-gold, #c9a24a); transition: box-shadow .2s; }
.iidms-cpd-card:hover { box-shadow: 0 10px 24px rgba(0,0,0,.22); }
.iidms-cpd-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; font-size:13px; color: var(--iidms-muted, #5b6475); }
.iidms-cpd-card__badge { display:inline-flex; align-items:center; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color: var(--iidms-navy, #0d2c63); background:#f6eedb; border:1px solid #ecdcb4; border-radius:20px; padding:3px 10px; }
.iidms-cpd-card__title { font-size:17px; line-height:1.4; margin:0 0 8px; font-weight:700; }
.iidms-cpd-card__title a { color: var(--iidms-navy, #0d2c63); }
.iidms-cpd-card__title a:hover { color: var(--iidms-blue, #1f5fc4); }
.iidms-cpd-card__summary { font-size:14px; line-height:1.6; color: var(--iidms-muted, #5b6475); margin:0 0 12px; }
.iidms-cpd-card__topics { list-style:none; display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0 0 14px; }
.iidms-cpd-card__topics li { font-size:12px; color: var(--iidms-navy, #0d2c63); background: var(--iidms-soft, #f5f7fb); border-radius:20px; padding:2px 10px; }
.iidms-cpd-card__actions { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; padding-top:12px; border-top:1px solid var(--iidms-line, #e4e8f0); }
.iidms-cpd-card__read { display:inline-flex; align-items:center; gap:6px; font-weight:700; font-size:14px; color: var(--iidms-navy, #0d2c63) !important; background: var(--iidms-gold, #c9a24a); padding:8px 14px; border-radius:6px; }
.iidms-cpd-card__read:hover { filter: brightness(1.05); text-decoration:none; }
.iidms-cpd-card__related { font-size:13px; font-weight:600; color: var(--iidms-blue, #1f5fc4); }
.iidms-cpd-card__related i { margin-left:4px; transition: margin .2s; }
.iidms-cpd-card__related:hover i { margin-left:8px; }
.iidms-cpd__foot { position:relative; margin:16px 0 0; font-size:14px; }
.iidms-cpd__foot a { color:#fff; font-weight:600; border-bottom:1px solid rgba(201,162,74,.6); }
.iidms-cpd__foot a:hover { color: var(--iidms-gold, #c9a24a); text-decoration:none; }
.iidms-cpd__foot i { margin-left:4px; font-size:12px; }

@media (max-width: 767px) {
  .iidms-cpd { padding:24px 18px 18px; border-radius:12px; }
  .iidms-cpd__track { grid-auto-columns:100%; gap:12px; }
  .iidms-cpd__controls { margin-top:14px; gap:12px; }
}
@media (prefers-reduced-motion: reduce) { .iidms-cpd-card, .iidms-cpd-card__related i, .iidms-cpd__dot, .iidms-cpd__nav { transition:none; } .iidms-cpd__track { scroll-behavior:auto; } }
