/* =========================================================
   BoG2026 CPD and eGEOReg Online v4.4.0
   ========================================================= */

.cpd-menu-online{
  font-weight:850!important;
}

.cpd-online-panel{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:23px;
  border:1px solid #a8cbd7;
  border-radius:22px;
  background:
    radial-gradient(circle at 92% 12%,rgba(239,127,26,.12),transparent 28%),
    linear-gradient(135deg,#eef8fa,#fff);
  box-shadow:0 15px 34px rgba(6,58,102,.075);
}

.cpd-online-icon,
.cpd-section-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:1px solid #c7dfe7;
  border-radius:17px;
  background:#fff;
  color:var(--navy);
  font-size:1.3rem;
}

.cpd-online-copy h2,
.cpd-definition-card h2,
.cpd-requirement-card h2,
.cpd-provider-card h2,
.cpd-renewal-card h2{
  margin:5px 0 7px;
  color:var(--navy);
}

.cpd-online-copy p,
.cpd-definition-card p,
.cpd-requirement-card p,
.cpd-provider-card p,
.cpd-renewal-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
}

.cpd-online-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:210px;
}

.cpd-online-actions .btn,
.cpd-provider-card .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

.cpd-intro-grid,
.cpd-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
  margin-top:17px;
}

.cpd-definition-card,
.cpd-requirement-card,
.cpd-provider-card,
.cpd-renewal-card{
  padding:21px;
  border:1px solid #d8e5eb;
  border-radius:19px;
  background:#fff;
  box-shadow:0 9px 22px rgba(6,58,102,.045);
}

.cpd-target-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:11px;
  margin:11px 0 14px;
}

.cpd-target-grid > div{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-height:78px;
  padding:13px;
  border:1px solid #d9e7ed;
  border-radius:14px;
  background:#f7fbfc;
}

.cpd-target-grid strong{
  color:var(--orange);
  font-size:1.65rem;
  line-height:1;
}

.cpd-target-grid span{
  color:#4e6577;
  font-size:.9rem;
  font-weight:720;
  line-height:1.38;
}

.cpd-guidance-strip,
.cpd-manual-note{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-top:16px;
  padding:14px 16px;
  border-left:4px solid var(--teal);
  border-radius:0 14px 14px 0;
  background:#eef8fa;
  color:#526879;
}

.cpd-guidance-strip > i,
.cpd-manual-note > i{
  margin-top:2px;
  color:var(--teal);
}

.cpd-guidance-strip strong,
.cpd-manual-note strong{
  color:var(--navy);
}

.cpd-guidance-strip p,
.cpd-manual-note p{
  margin:4px 0 0;
  font-size:.9rem;
  line-height:1.48;
}

.cpd-activities,
.cpd-documents{
  margin-top:30px;
}

.cpd-activity-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
}

.cpd-activity-grid article{
  padding:18px;
  border:1px solid #d8e5eb;
  border-radius:17px;
  background:#fff;
  box-shadow:0 8px 20px rgba(6,58,102,.04);
}

.cpd-activity-icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:13px;
  background:#edf6fa;
  color:var(--navy);
  font-size:1rem;
}

.cpd-activity-grid small{
  display:block;
  margin-top:12px;
  color:var(--orange);
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cpd-activity-grid h3{
  margin:5px 0 6px;
  color:var(--navy);
  font-size:.9rem;
  line-height:1.35;
}

.cpd-activity-grid p{
  margin:0;
  color:#607385;
  font-size:.9rem;
  line-height:1.47;
}

.cpd-document-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.cpd-document-card{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) 20px;
  align-items:center;
  gap:13px;
  min-height:122px;
  padding:16px;
  border:1px solid #d8e5eb;
  border-radius:16px;
  background:#fff;
  color:inherit;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(6,58,102,.04);
}

.cpd-document-card:hover{
  border-color:#9fc3d1;
  box-shadow:0 12px 25px rgba(6,58,102,.07);
}

.cpd-document-card.primary{
  border-color:#a8cbd7;
  background:#f4fafc;
}

.cpd-document-icon{
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:14px;
  background:#fff0f0;
  color:#a53030;
  font-size:1.08rem;
}

.cpd-document-icon.word{
  background:#eef4ff;
  color:#2458a4;
}

.cpd-document-icon.excel{
  background:#edf8f1;
  color:#197344;
}

.cpd-document-card small{
  display:block;
  color:var(--orange);
  font-size:.9rem;
  font-weight:850;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.cpd-document-card strong{
  display:block;
  margin-top:5px;
  color:var(--navy);
  font-size:.9rem;
  line-height:1.36;
}

.cpd-document-card em{
  display:block;
  margin-top:5px;
  color:#687b8b;
  font-size:.9rem;
  font-style:normal;
  line-height:1.42;
}

.cpd-document-card > i{
  color:var(--orange);
}

.cpd-provider-card,
.cpd-renewal-card{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  align-items:start;
  gap:15px;
}

.cpd-provider-card .check-list{
  margin:12px 0 15px;
}

@media(max-width:960px){
  .cpd-online-panel{
    grid-template-columns:58px minmax(0,1fr);
  }

  .cpd-online-actions{
    grid-column:1/-1;
    flex-direction:row;
  }

  .cpd-activity-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .cpd-online-panel{
    grid-template-columns:1fr;
    padding:18px;
  }

  .cpd-online-actions{
    grid-column:auto;
    flex-direction:column;
    min-width:0;
  }

  .cpd-online-actions .btn{
    width:100%;
  }

  .cpd-intro-grid,
  .cpd-bottom-grid,
  .cpd-document-grid,
  .cpd-activity-grid{
    grid-template-columns:1fr;
  }

  .cpd-target-grid{
    grid-template-columns:1fr;
  }

  .cpd-provider-card,
  .cpd-renewal-card{
    grid-template-columns:1fr;
  }
}


/* Flaticon alignment safeguard v4.5.0 */
.cpd-online-icon .fi,
.cpd-section-icon .fi,
.cpd-activity-icon .fi,
.cpd-document-icon .fi,
.cpd-online-actions .fi,
.cpd-document-card > .fi{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
