.events-section{

  font-family:Arial,sans-serif;
}

.events-card{
  background:#fff;
  border-radius:22px;
  padding:40px;
  box-shadow:0 12px 35px rgba(0,0,0,0.08);
  border-top:6px solid var(--accent-red);
}

.events-title{
  color:var(--primary-blue);
  font-size:36px;
  font-weight:700;
  text-align:center;
  position:relative;
}

.events-title::after{
  content:"";
  width:90px;
  height:4px;
  background:var(--accent-red);
  display:block;
  margin:15px auto 0;
  border-radius:10px;
}

.custom-table{
  margin-bottom:0;
  border-collapse:separate;
  
}

.custom-table thead tr{
  background:var(--primary-blue);
}

.custom-table thead th{
  color:#fff;
  font-size:15px;
  font-weight:700;
  padding:18px 16px;
  border:none;
  text-transform:uppercase;
  letter-spacing:0.5px;
}

.custom-table thead th:first-child{
  border-radius:12px 0 0 12px;
}

.custom-table thead th:last-child{
  border-radius:0 12px 12px 0;
}

.custom-table tbody tr{
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
  transition:0.3s ease;
}

.custom-table tbody tr:hover{
  transform:translateY(-4px);
}

.custom-table tbody td{
  padding:20px 16px;
  vertical-align:middle;
  color:var(--text-black);
  font-size:15px;
  border-top:none;
}

.custom-table tbody td:first-child{
  border-radius:12px 0 0 12px;
  font-weight:700;
  color:var(--primary-blue);
}

.custom-table tbody td:last-child{
  border-radius:0 12px 12px 0;
}

.view-btn{
  display:inline-block;
  background:linear-gradient(135deg,var(--primary-blue),#3145b3);
  color:#fff !important;
  text-decoration:none;
  padding:10px 22px;
  border-radius:50px;
  font-size:14px;
  font-weight:700;
  transition:0.3s ease;
  white-space:nowrap;
}

.view-btn:hover{
  background:linear-gradient(135deg,var(--accent-red),#ff4d55);
  transform:translateY(-2px);
}

@media(max-width:991px){

  .events-card{
    padding:25px 18px;
  }

  .events-title{
    font-size:28px;
  }

  .custom-table thead th,
  .custom-table tbody td{
    font-size:14px;
    padding:14px 12px;
  }

  .view-btn{
    padding:9px 18px;
    font-size:13px;
  }
}