/* ArrowCPD2026 - Course Showcase */

.arrowCpd2026-courseShowcase * { box-sizing: border-box; }

.arrowCpd2026-courseFilter{
  margin:14px 0 18px;
}

.arrowCpd2026-courseSearch{
  width:100%;
  max-width:520px;
  padding:12px 14px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  font-size:15px;
}

.arrowCpd2026-courseGroup{
  margin:18px 0 26px;
}

.arrowCpd2026-courseGroupTitle{
  margin:0 0 12px;
  font-size:18px;
}

.arrowCpd2026-noResults{
  margin:10px 0 0;
  font-size:15px;
  opacity:.85;
}

.arrowCpd2026-courseGrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}

@media (max-width:1024px){
  .arrowCpd2026-courseGrid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:640px){
  .arrowCpd2026-courseGrid{ grid-template-columns:1fr; }
}

.arrowCpd2026-courseCard{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  display:flex;
  flex-direction:column;
  min-height:100%;
}

.arrowCpd2026-courseMedia{
  width:100%;
  aspect-ratio:16/9;
  background:#f2f2f2;
  position:relative;
  overflow:hidden;
}

.arrowCpd2026-courseMedia img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.arrowCpd2026-courseMediaPlaceholder{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  opacity:.7;
}

.arrowCpd2026-courseBody{
  padding:14px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  flex:1;
}

.arrowCpd2026-courseTitle{
  font-size:16px;
  line-height:1.25;
  margin:0;
}

.arrowCpd2026-courseExcerpt{
  margin:0;
  font-size:14px;
  opacity:.9;
}

.arrowCpd2026-courseActions{
  margin-top:auto;
  padding-top:6px;
}

.arrowCpd2026-courseBtn{
  display:inline-block;
  padding:10px 14px;
  border-radius:10px;
  border:1px solid rgba(0,0,0,.15);
  text-decoration:none !important;
  font-weight:600;
}
.arrowCpd2026-course-sidebar_block{
    border: 1px solid #e3e2e2;
    padding: 4%;
    border-radius: 8px;
    margin-bottom: 4px;
    background-color: #0080000f;
}

.arrowCpd2026-course-sidebar_block h6{
	background-color: #022d5a;
    padding: 4px;
    color: white;
    border-radius: 4px;
    margin-bottom: 4px;
}
.arrowCpd2026-course-sidebar_block_stick{
  position: sticky;
  top: 20px;
  z-index: 50;
  align-self: flex-start;
}

.arrowCpd2026-courseTypeFilter{
  margin-top: 12px;
}

.arrowCpd2026-courseTypeChips{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.arrowCpd2026-chip{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
  user-select: none;
}

.arrowCpd2026-chip input{
  width: 16px;
  height: 16px;
}

.arrowCpd2026-chipLabel{
  font-size: 14px;
  line-height: 1;
}

.arrowCpd2026-clearFilters{
  margin-top: 10px;
  padding: 8px 10px;
  border-radius: 10px;
  border: 1px solid rgba(0,0,0,.12);
  background: #fff;
  cursor: pointer;
}
.arrowCpd2026-courseProgressMini{
	margin: 10px 0 0;
    font-size: 10px;
    background-color: #022e57;
    padding: 4px;
    color: #fff;
    border-radius: 4px;
}
/* ===== Fixed login banner ===== */
.arrowCpd-login-banner{
	position:fixed;
	left:0;
	bottom:0;
	width:100%;
	z-index:9999;

	background:linear-gradient(90deg,#1d2327,#2c3338);
	color:#fff;
	box-shadow:0 -4px 18px rgba(0,0,0,0.15);

	padding:14px 20px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.arrowCpd-login-banner-inner{
	font-size:15px;
	display:flex;
	gap:10px;
	align-items:center;
}

.arrowCpd-login-banner a{
	background:#2271b1;
	color:#fff;
	text-decoration:none;
	padding:6px 14px;
	border-radius:4px;
	font-weight:600;
}

.arrowCpd-login-banner a:hover{
	background:#135e96;
}
/* Top strip */
.arrowCpd2026-user-strip{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:10px 14px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:8px;
  background:#fff;
  margin:12px 0 14px;
}
.arrowCpd2026-user-strip__meta{
  margin-left:10px;
  opacity:.75;
  font-weight:500;
}
.arrowCpd2026-btn-link{
  text-decoration:none;
  font-weight:600;
}

/* Floating dashboard */
.arrowCpd2026-floatDash{
  position:fixed;
  right:18px;
  bottom:18px;
  width:360px;
  max-width:calc(100vw - 36px);
  background:#fff;
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.18);
  z-index:9999;
  overflow:hidden;
  font-family:inherit;
}

.arrowCpd2026-floatDash__toggle{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:12px 14px;
  background:linear-gradient(90deg, rgb(3 43 87) 0%, rgba(87,199,133,1) 50%, rgb(8 127 48) 100%);
  color:#fff;
  border:0;
  cursor:pointer;
  font-weight:700;
}

.arrowCpd2026-floatDash__chev{ opacity:.9; }

.arrowCpd2026-floatDash__body{
  padding:12px 14px;
}

.arrowCpd2026-floatDash[data-open="0"] .arrowCpd2026-floatDash__body{
  display:none;
}
.arrowCpd2026-floatDash[data-open="0"] .arrowCpd2026-floatDash__chev{
  transform:rotate(-90deg);
}

.arrowCpd2026-floatDash__row{
  display:flex;
  gap:10px;
}
.arrowCpd2026-floatDash__stat{
  flex:1;
  padding:10px 10px;
  background:rgba(0,0,0,.035);
  border-radius:10px;
  text-align:center;
}
.arrowCpd2026-floatDash__num{
  font-size:18px;
  font-weight:800;
}
.arrowCpd2026-floatDash__lbl{
  font-size:12px;
  opacity:.75;
  margin-top:2px;
}

.arrowCpd2026-floatDash__bar{
  height:10px;
  background:rgba(0,0,0,.08);
  border-radius:999px;
  overflow:hidden;
  margin:10px 0 12px;
}
.arrowCpd2026-floatDash__bar span{
  display:block;
  height:100%;
  background:rgb(8 127 48);
  width:0;
}

.arrowCpd2026-floatDash__links{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}
.arrowCpd2026-floatDash__links a{
  text-decoration:none;
  font-weight:700;
}

.arrowCpd2026-floatDash__certsTitle{
  font-weight:800;
  margin:6px 0 6px;
}
.arrowCpd2026-floatDash__certs ul{
  margin:0;
  padding-left:18px;
}
.arrowCpd2026-floatDash__certs li{
  margin:4px 0;
  font-size:12px;
}