/* ==============================
   DTF 4x4 Services Grid
================================ */

.dtf-services-grid {
  background: #ffffff;
}

.dtf-services-grid .section-title span {
  color: #0d6efd;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.dtf-service-card {
  height: 100%;
  background: #fff;
  border: 1px solid #e6eaf0;
  border-radius: 14px;
  padding: 35px 28px;
  transition: all 0.35s ease;
  position: relative;
  overflow: hidden;
}

.dtf-service-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(13, 110, 253, 0.08),
    transparent
  );
  opacity: 0;
  transition: 0.35s ease;
}

.dtf-service-card i {
  font-size: 42px;
  color: #0d6efd;
  margin-bottom: 22px;
  display: inline-block;
}

.dtf-service-card h3 {
  font-size: 17px;
  font-weight: 700;
  margin-bottom: 12px;
  color: #0b1c39;
  line-height: 1.4;
}

.dtf-service-card p {
  font-size: 14px;
  color: #000219;
  line-height: 1.6;
  margin-bottom: 0;
}

/* Hover Effects */
.dtf-service-card:hover {
  transform: translateY(-8px);
  border-color: #0d6efd;
  box-shadow: 0 18px 45px rgba(13, 110, 253, 0.18);
}

.dtf-service-card:hover::before {
  opacity: 1;
}

.dtf-service-card:hover i {
  transform: scale(1.08);
}

/* Responsive refinement */
@media (max-width: 767px) {
  .dtf-service-card {
    padding: 28px 22px;
  }
}

/* ===== Services uses same Education UI ===== */
.service-card .course-content h3 {
  font-size: 0.95rem;
}

.service-card .duration {
  font-size: 0.85rem;
  color: #0d6efd;
}

/* 4 cards per row on large screens */
@media (min-width: 1200px) {
  .course-container {
    justify-content: space-between;
  }
  .course-card {
    flex: 0 0 23%;
  }
}

/* =====================================
   DTF SERVICES – ICON BULLET FIX (FINAL)
===================================== */

.dtf-service-card {
  background: transparent;
  padding: 30px 22px;
  border: 1px solid rgba(255,255,255,0.12);
  transition: all 0.3s ease;
  height: 100%;
}

.dtf-service-card:hover {
  transform: translateY(-6px);
  border-color: #0d6efd;
}

/* Service Title */
.dtf-service-card h6 {
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  margin-bottom: 10px;
}

/* ICON LIST RESET */
.dtf-icon-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* EACH BULLET */
.dtf-icon-list li {
  position: relative;
  padding-left: 22px;          /* EXACT icon spacing */
  margin-bottom: 6px;
  font-size: 14px;
  line-height: 1.5;
  color: #e6e6e6;
}

/* ICON ITSELF */
.dtf-icon-list li::before {
  content: "\f058";            /* check-circle */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 2px;
  font-size: 13px;
  color: #0d6efd;
}

/* REMOVE LAST GAP */
.dtf-icon-list li:last-child {
  margin-bottom: 0;
}

/* MOBILE TUNING */
@media (max-width: 767px) {
  .dtf-service-card {
    margin-bottom: 25px;
  }
}

/* ===== PREMIUM PENALTY SECTION ===== */

.penalty-risk-section {
    /* background: linear-gradient(135deg, #071a3c 0%, #0b2a5b 100%); */
    color: #fff;
    position: relative;
}

/* HEADER */

.risk-header h2 {
    font-weight: 800;
    letter-spacing: 1px;
    color: #fff;
}

.risk-header h2 span {
    color: #0d6efd;
}

.risk-header p {
    max-width: 820px;
    margin: 15px auto 0;
    opacity: 0.9;
}

/* CARDS */

.risk-card {
    background: #ffffff;
    color: #222;
    padding: 30px 26px;
    border-radius: 16px;
    height: 100%;
    position: relative;
    overflow: hidden;
    transition: all .35s ease;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
    border: 1px solid rgba(13,110,253,0.08);
    border: 2px solid #0d6efd;
}

/* hover glow */
.risk-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 25px 60px rgba(13,110,253,0.18);
}

/* ICON */

.risk-icon {
    width: 52px;
    height: 52px;
    background: rgba(13,110,253,0.1);
    color: #0d6efd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 16px;
}

/* TITLE */

.risk-card h4 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}

/* PENALTY */

.penalty {
    font-weight: 700;
    color: #0d6efd;
    margin-bottom: 12px;
    font-size: 15px;
}

/* TEXT */

.risk-card p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}

/* FEATURED CARD */

.risk-card.featured {
    border: 2px solid #0d6efd;
}

.risk-card.featured::after {
    content: "HIGH RISK";
    position: absolute;
    top: 14px;
    right: -35px;
    background: #0d6efd;
    color: #fff;
    padding: 4px 40px;
    font-size: 11px;
    transform: rotate(45deg);
}


/* ===== REGULATORY FRAMEWORK ===== */

.regulatory-framework-section {
    /* background: linear-gradient(135deg, #061a3a 0%, #0b2f63 100%); */
    color: #fff;
}

/* HEADER */

.framework-header h2 {
    font-weight: 800;
    letter-spacing: 1px;
}

.title-line {
    width: 120px;
    height: 3px;
    background: #0d6efd;
    margin: 14px auto 18px;
    border-radius: 10px;
}

.framework-header p {
    max-width: 820px;
    margin: auto;
    opacity: 0.9;
}

/* CARDS */

.framework-card {
    background: #ffffff;
    color: #222;
    padding: 30px 26px;
    border-radius: 16px;
    height: 100%;
    transition: all .35s ease;
    box-shadow: 0 20px 50px rgba(0,0,0,0.08);
    border: 1px solid rgba(13,110,253,0.08);
    position: relative;
    border: 2px solid #0d6efd;
}

/* hover */

.framework-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 28px 65px rgba(13,110,253,0.18);
}

/* ICON */

.framework-icon {
    width: 52px;
    height: 52px;
    background: rgba(13,110,253,0.12);
    color: #0d6efd;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    margin-bottom: 16px;
}

/* TITLE */

.framework-card h4 {
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 12px;
}

/* TEXT */

.framework-card p {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* PENALTY BOX */

.penalty-box {
    margin-top: 16px;
    padding: 12px 14px;
    background: rgba(13,110,253,0.08);
    border-left: 4px solid #0d6efd;
    border-radius: 6px;
    font-size: 14px;
}

/* FEATURED CARD */



.framework-card.featured::after {
    content: "CRITICAL";
    position: absolute;
    top: 14px;
    right: -38px;
    background: #0d6efd;
    color: #fff;
    padding: 4px 42px;
    font-size: 11px;
    transform: rotate(45deg);
}