 :root {
     --primary-blue: #2563eb;
     --primary-dark: #0f172a;
     --secondary-orange: #f59e0b;
     --bg-light: #f5f7fc;
     --gradient-btn: linear-gradient(90deg, #1d4ed8, #3b82f6);
     --gradient-blue-panel: linear-gradient(135deg, #1e3a8a, #3b82f6);
 }

 body {
     font-family: 'Poppins', sans-serif;
     background-color: #ffffff;
     color: var(--primary-dark);
     overflow-x: hidden;
 }

 /* Typography & Utilities */
 .text-blue {
     color: var(--primary-blue) !important;
 }

 .text-orange {
     color: var(--secondary-orange) !important;
 }

 .text-dark-navy {
     color: var(--primary-dark) !important;
 }

 .fw-medium {
     font-weight: 500 !important;
 }

 .fw-semibold {
     font-weight: 600 !important;
 }

 .fw-bold {
     font-weight: 700 !important;
 }

 .fw-extrabold {
     font-weight: 800 !important;
 }

 /* =========================================
           1. NAVBAR
           ========================================= */
 .navbar {
     padding: 0.2rem 0 !important;
     background-color: transparent;
 }
 
 .header-top {
	position: absolute!important;
    width: 100%;
    top: 0;
    z-index: 1020;
 }

 .search-bar-wrapper {
     background-color: #ffffff;
     border: 1px solid #e2e8f0;
     border-radius: 50rem;
     padding: 0.5rem 1.2rem;
     display: flex;
     align-items: center;
     width: 300px;
     box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
 }

 .search-bar-wrapper input {
     border: none;
     background: transparent;
     outline: none;
     width: 100%;
     font-size: 0.9rem;
     color: var(--primary-dark);
 }

 .search-bar-wrapper i {
     color: #94a3b8;
     font-weight: bold;
     cursor: pointer;
 }

 .quiz_navbar {
     box-shadow: none;
 }


 .nav-link:hover {
     color: var(--primary-blue);
 }

 .nav-link.active-link {
     font-weight: 700;
     color: var(--primary-dark);
 }

 .btn-login {
     background: var(--gradient-btn);
     color: white;
     border: none;
     padding: 0.6rem 2.5rem;
     border-radius: 50rem;
     font-weight: 500;
     box-shadow: 0 4px 15px rgb(39 63 115);
     transition: transform 0.2s, box-shadow 0.2s;
     text-decoration: none;;
 }

 .btn-login:hover {
     transform: translateY(-2px);
     box-shadow: 0 6px 20px rgba(37, 99, 235, 0.3);
     color: white;
 }

 /* =========================================
           2. HERO SECTION
           ========================================= */
 .hero-section {
     background-color: var(--bg-light);
     padding: 5rem 0 3rem;
     position: relative;
 }

 .hero-bg-shapes {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
     overflow: hidden;
     z-index: 0;
     pointer-events: none;
 }

 .hero-bg-shape1 {
     position: absolute;
     top: -10%;
     left: -5%;
     width: 40%;
     height: 60%;
     background: radial-gradient(circle, rgba(37, 99, 235, 0.04) 0%, rgba(255, 255, 255, 0) 70%);
 }

 .hero-bg-shape2 {
     position: absolute;
     bottom: 10%;
     right: -10%;
     width: 50%;
     height: 70%;
     background: radial-gradient(circle, rgba(245, 158, 11, 0.04) 0%, rgba(255, 255, 255, 0) 70%);
 }

 .hero-content {
     position: relative;
     z-index: 1;
 }

 .badge-olympiad {
     background-color: #ffffff;
     color: var(--primary-blue);
     padding: 0.6rem 1.2rem;
     border-radius: 50rem;
     font-size: 0.85rem;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: 0.5rem;
     margin-bottom: 2rem;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
     border: 1px solid #eef2ff;
 }

 .hero-title {
     font-size: 45px;
     line-height: 1.15;
     letter-spacing: -1px;
     margin-bottom: 0.5rem;
 }

 .hero-title .text-blue {
     display: block;
     margin: 0.2rem 0;
 }

 .title-underline {
     width: 80px;
     height: 5px;
     background-color: var(--secondary-orange);
     border-radius: 5rem;
     margin-bottom: 1.5rem;
     margin-top: 0.5rem;
 }

 .hero-subtitle {
     font-size: 1.5rem;
     font-weight: 700;
     margin-bottom: 1rem;
     display: flex;
     align-items: center;
     gap: 0.4rem;
 }

 .hero-desc {
     color: #475569;
     font-size: 1.1rem;
     line-height: 1.6;
     margin-bottom: 2.5rem;
     max-width: 90%;
 }

 .btn-primary-custom {
     background: var(--gradient-btn);
     color: white;
     border: none;
     padding: 0.9rem 1.8rem;
     border-radius: 50rem;
     font-weight: 500;
     display: inline-flex;
     align-items: center;
     gap: 0.8rem;
     box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
     transition: all 0.3s ease;
 }

 .btn-primary-custom:hover {
     transform: translateY(-3px);
     box-shadow: 0 15px 25px rgba(37, 99, 235, 0.3);
     color: white;
 }

 .btn-secondary-custom {
     background: white;
     color: var(--primary-blue);
     border: none;
     padding: 0.9rem 1.8rem;
     border-radius: 50rem;
     font-weight: 500;
     display: inline-flex;
     align-items: center;
     gap: 0.8rem;
     box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
     transition: all 0.3s ease;
 }

 .btn-secondary-custom:hover {
     transform: translateY(-3px);
     box-shadow: 0 15px 25px rgba(0, 0, 0, 0.08);
     color: var(--primary-blue);
 }

 /* =========================================
           3. RIGHT HERO AREA
           ========================================= */
 .hero-right-container {
     position: relative;
     height: 100%;
     min-height: 500px;
     display: flex;
     align-items: center;
     justify-content: flex-end;
 }

 .hero-image-placeholder {
     width: 590px;
     display: flex;
     align-items: center;
     justify-content: center;
     position: relative;
     overflow: hidden;
 }

 .floating-stats {
     position: absolute;
     left: -5%;
     top: 50%;
     transform: translateY(-50%);
     display: flex;
     flex-direction: column;
     gap: 1.2rem;
     z-index: 2;
 }

 .stat-card {
     width: 215px;
     height: 110px;
     background: white;
     padding: 1rem 1.5rem;
     border-radius: 1.2rem;
     box-shadow: 0 15px 35px rgba(0, 0, 0, 0.08);
     display: flex;
     align-items: center;
     gap: 1.2rem;
 }

 .stat-icon {
     width: 55px;
     height: 55px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 1.5rem;
 }

 .stat-icon.blue {
     background-color: #2563eb;
     color: #fff;
 }

 .stat-icon.green {
     background-color: #16a34a;
     color: #fff;
 }

 .stat-icon.orange {
     background-color: #ea580c;
     color: #fff;
 }

 .stat-text {
     display: flex;
     flex-direction: column;
 }

 .stat-val {
     font-size: 1.4rem;
     font-weight: 700;
     line-height: 1;
     color: var(--primary-dark);
     position: relative;
     padding-bottom: 6px;
     margin-bottom: 4px;
 }

 .stat-val::after {
     content: '';
     position: absolute;
     left: 0;
     bottom: 0;
     width: 24px;
     height: 3px;
     border-radius: 2px;
 }

 .stat-card:nth-child(1) .stat-val::after {
     background-color: #2563eb;
 }

 .stat-card:nth-child(2) .stat-val::after {
     background-color: #16a34a;
 }

 .stat-card:nth-child(3) .stat-val::after {
     background-color: #ea580c;
 }

 .stat-label {
     font-size: 0.8rem;
     color: #64748b;
     font-weight: 500;
 }

 /* =========================================
           4. PARTICIPATE SECTION
           ========================================= */
 .participate-section {
     margin-top: -80px;
     position: relative;
     z-index: 10;
 }

 .participate-card {
     background: white;
     border-radius: 1.5rem;
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.06);
     overflow: hidden;
     display: flex;
 }

 .participate-left {
     background: var(--gradient-blue-panel);
     color: white;
     padding: 1rem 2.5rem;
     width: 280px;
     flex-shrink: 0;
     display: flex;
     flex-direction: row;
     justify-content: center;
     align-items: center;
     gap: 20px;
     position: relative;
     border-top-right-radius: 2rem;
     border-bottom-right-radius: 2rem;
 }

 .participate-left i {
     font-size: 3.5rem;
     margin-bottom: 0.5rem;
     color: rgba(255, 255, 255, 0.9);
 }

 .participate-left h3 {
     font-weight: 700;
     font-size: 1.8rem;
     line-height: 1.3;
     margin: 0;
 }

 .participate-left .line {
     width: 40px;
     height: 4px;
     background-color: var(--secondary-orange);
     border-radius: 2px;
     margin-top: 1rem;
 }

 .participate-right {
     flex-grow: 1;
     padding: 0.5rem 1rem;
 }

 .participate-col {
     text-align: center;
     padding: 0 1.5rem;
     position: relative;
 }

 .participate-col:not(:last-child)::after {
     content: '';
     position: absolute;
     right: 0;
     top: 10%;
     height: 80%;
     width: 1px;
     background-color: #e2e8f0;
 }

 .p-icon-wrapper {
     width: 70px;
     height: 70px;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 0.4rem;
     font-size: 1.8rem;
     transition: transform 0.3s;
 }

 .participate-col:hover .p-icon-wrapper {
     transform: scale(1.1);
 }

 .bg-soft-blue {
     background-color: #eff6ff;
     color: #2563eb;
 }

 .bg-soft-green {
     background-color: #f0fdf4;
     color: #16a34a;
 }

 .bg-soft-orange {
     background-color: #fff7ed;
     color: #ea580c;
 }

 .bg-soft-purple {
     background-color: #faf5ff;
     color: #9333ea;
 }

 .p-title {
     font-size: 0.95rem;
     font-weight: 600;
     color: var(--primary-dark);
     line-height: 1.5;
     margin: 0;
 }

 /* =========================================
           5. AWARD SECTION
           ========================================= */

 .step_card {
     display: flex;
     gap: 50px;
 }

 .award-section {
     padding: 6rem 0;
     background-color: #ffffff;
 }

 .section-header {
     text-align: center;
     margin-bottom: 4rem;
 }

 .section-title {
     font-size: 2.5rem;
     font-weight: 800;
     color: var(--primary-dark);
 }

 .section-subtitle {
     font-size: 1.1rem;
     color: #475569;
     margin-top: 1rem;
 }

 .award-card {
     background: white;
     border: 1px solid #f1f5f9;
     border-radius: 1rem;
     padding: 1.5rem 1rem;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03);
     transition: all 0.3s ease;
     height: 100%;
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 1rem;
     cursor: pointer;
 }

 .award-card:hover {
     box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08);
     transform: translateY(-5px);
 }

 .award-icon {
     font-size: 2.2rem;
 }

 .award-title {
     font-size: 1.1rem;
     font-weight: 600;
     margin: 0;
 }

 .card-yellow {
     background-color: #fffbeb;
     border-color: #fef3c7;
 }

 .card-yellow .award-icon,
 .card-yellow .award-title {
     color: #d97706;
 }

 .card-blue {
     background-color: #eff6ff;
     border-color: #dbeafe;
 }

 .card-blue .award-icon,
 .card-blue .award-title {
     color: #2563eb;
 }

 .card-green {
     background-color: #f0fdf4;
     border-color: #dcfce7;
 }

 .card-green .award-icon,
 .card-green .award-title {
     color: #16a34a;
 }

 .card-orange {
     background-color: #fff7ed;
     border-color: #ffedd5;
 }

 .card-orange .award-icon,
 .card-orange .award-title {
     color: #ea580c;
 }

 /* =========================================
           RESPONSIVE ADJUSTMENTS
           ========================================= */
 @media (max-width: 1200px) {
     .hero-title {
         font-size: 3rem;
     }

     .floating-stats {
         left: 0;
     }
 }

 @media (max-width: 991px) {
     .hero-title {
         font-size: 2.5rem;
     }

     .search-bar-wrapper {
         width: 100%;
         margin-bottom: 1rem;
     }

     .navbar-nav {
         margin-bottom: 1rem;
     }

     .hero-right-container {
         margin-top: 4rem;
         justify-content: center;
     }

     .hero-image-placeholder {
         width: 100%;
     }

     .floating-stats {
         left: 0;
         right: 0;
         flex-direction: row;
         top: -30px;
         transform: none;
         justify-content: center;
         flex-wrap: wrap;
     }

     .stat-card {
         padding: 0.8rem 1.2rem;
     }

     .participate-card {
         flex-direction: column;
     }

     .participate-left {
         width: 100%;
         text-align: center;
         padding: 2rem;
         border-radius: 1.5rem 1.5rem 0 0;
         align-items: center;
     }

     .participate-col:not(:last-child)::after {
         display: none;
     }

     .participate-col {
         margin-bottom: 2rem;
     }

     .participate-col:last-child {
         margin-bottom: 0;
     }
 }

 @media (max-width: 768px) {
     .hero-title {
         font-size: 2.2rem;
     }

     .hero-section {
         padding: 3rem 0;
     }

     .award-card {
         margin-bottom: 1rem;
         justify-content: flex-start;
         padding-left: 2rem;
     }

     .participate-section {
         margin-top: 2rem;
     }
 }

 .process-section {
     padding: 80px 0;
 }

 .step-card {
     position: relative;
     background: #fff;
     border-radius: 22px;
     padding: 35px 25px;
     text-align: center;
     height: 100%;
     transition: 0.4s ease;
     box-shadow: 0 10px 30px rgba(98, 0, 255, 0.08);
 }

 .step-card:hover {
     transform: translateY(-10px);
     box-shadow: 0 20px 40px rgba(98, 0, 255, 0.18);
 }

 .step-card::before {
     content: "";
     position: absolute;
     inset: 0;
     padding: 2px;
     border-radius: 22px;
     background: linear-gradient(135deg, #1e3a8a, #3b82f6);
     -webkit-mask:
         linear-gradient(#fff 0 0) content-box,
         linear-gradient(#fff 0 0);
     -webkit-mask-composite: xor;
     mask-composite: exclude;
 }

 .step-number {
     position: relative;
     z-index: 999;
     width: 50px;
     height: 50px;
     background: linear-gradient(135deg, #1e3a8a, #3b82f6);
     color: #fff;
     font-size: 20px;
     font-weight: 700;
     border-radius: 14px;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: -60px auto 25px;
     box-shadow: 0 10px 20px rgba(111, 0, 255, 0.25);
 }

 .step-icon {
     width: 85px;
     height: 85px;
     background: rgb(239 246 255);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     margin: 0 auto 25px;
 }

 .step-icon i {
     font-size: 38px;
     background: linear-gradient(135deg, #6f00ff, #00c6ff);
     -webkit-background-clip: text;
     -webkit-text-fill-color: transparent;
 }

 .step-title {
     font-size: 22px;
     font-weight: 700;
     color: #1d1d1d;
     margin-bottom: 15px;
 }

 .step-text {
     color: #777;
     font-size: 15px;
     line-height: 1.7;
 }

 .step-arrow {
     position: absolute;
     top: 50%;
     right: -35px;
     transform: translateY(-50%);
     font-size: 40px;
     color: #4a42ff;
     z-index: 10;
 }

 @media(max-width:991px) {
     .step-arrow {
         display: none;
     }

     .step-card {
         margin-bottom: 40px;
     }
 }

 .important-dates-section {
     padding: 1rem 0 2rem;
     background-color: #ffffff;
 }

 .section-header-centered {
     text-align: center;
     max-width: 700px;
     margin: 0 auto 3.5rem;
 }

 .section-header-centered h2 {
     font-size: 2.5rem;
     font-weight: 800;
     color: var(--primary-dark);
     margin-bottom: 0.8rem;
 }

 .section-header-centered .subtitle-text {
     font-size: 0.95rem;
     color: #64748b;
     line-height: 1.6;
 }

 .date-card {
     background-color: #f8fafc;
     border: 1px solid #f1f5f9;
     border-radius: 1.5rem;
     padding: 2.5rem 3rem;
     display: flex;
     align-items: center;
     gap: 3rem;
     max-width: 850px;
     margin: 0 auto;
     box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .date-card:hover {
     transform: translateY(-5px);
     box-shadow: 0 15px 50px rgba(0, 0, 0, 0.06);
 }

 .date-icon-box {
     width: 110px;
     height: 110px;
     background: var(--gradient-blue-panel);
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     flex-shrink: 0;
     position: relative;
 }

 .date-icon-box i {
     font-size: 3rem;
     color: #ffffff;
 }

 /* Vertical divider */
 .date-card-content {
     position: relative;
     padding-left: 3rem;
     border-left: 2px solid #e2e8f0;
     flex-grow: 1;
 }

 .date-label {
     font-size: 0.95rem;
     color: #475569;
     font-weight: 600;
     margin-bottom: 0.4rem;
     display: block;
 }

 .date-main {
     font-size: 1.8rem;
     font-weight: 800;
     color: var(--primary-dark);
     margin-bottom: 0.5rem;
     line-height: 1.2;
 }

 .date-mode {
     font-size: 1.1rem;
     font-weight: 700;
     color: var(--primary-blue);
     margin: 0;
 }

 /* =========================================
       NEW SECTION: CTA CARD
       ========================================= */
 .cta-section {
     padding: 3rem 0 6rem;
     background-color: #ffffff;
 }

 .cta-card {
     background: linear-gradient(135deg, #fffdf7 0%, #fff6e0 100%);
     border-radius: 1.5rem;
     padding: 0;
     display: flex;
     align-items: center;
     justify-content: space-between;
     box-shadow: 0 15px 40px rgba(245, 158, 11, 0.08);
     position: relative;
     margin: 0 auto;
     overflow: visible;
     min-height: 250px;
 }

 .cta-left {
     padding: 2rem;
     width: 250px;
     flex-shrink: 0;
     display: flex;
     align-items: flex-end;
     justify-content: center;
 }

 .trophy-placeholder {
     width: 140px;
     height: 180px;
     border-radius: 12px;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     color: #d97706;
     font-size: 0.85rem;
     font-weight: 600;
     padding: 1rem;
 }

 .trophy-placeholder img {
     width: 160px;
 }

 .cta-center {
     flex-grow: 1;
     padding: 2.5rem 2rem;
 }

 .cta-title {
     font-size: 2rem;
     font-weight: 800;
     color: #1e293b;
     margin-bottom: 1rem;
 }

 .cta-desc {
     color: #475569;
     font-size: 0.95rem;
     line-height: 1.6;
     margin-bottom: 2rem;
 }

 .btn-orange-gradient {
     background: linear-gradient(90deg, #f97316, #ea580c);
     color: white;
     border: none;
     padding: 0.8rem 2.2rem;
     border-radius: 50rem;
     font-weight: 600;
     display: inline-flex;
     align-items: center;
     gap: 0.8rem;
     box-shadow: 0 10px 20px rgba(234, 88, 12, 0.25);
     transition: all 0.3s ease;
 }

 .btn-orange-gradient:hover {
     transform: translateY(-3px);
     box-shadow: 0 15px 25px rgba(234, 88, 12, 0.35);
     color: white;
 }

 .cta-right {
     width: 300px;
     flex-shrink: 0;
     position: relative;
     display: flex;
     justify-content: center;
     align-items: center;
 }

 .student-placeholder-wrapper {
     position: absolute;
     right: 1rem;
     width: 250px;
     height: 250px;
     background-color: rgba(255, 255, 255, 0.5);
     border: 2px dashed #fcd34d;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     z-index: 5;
 }

 .student-placeholder-wrapper img {
     width: 250px;
 }

 /* Responsive Styles */
 @media (max-width: 991px) {
     .date-card {
         padding: 2rem;
         gap: 1.5rem;
     }

     .date-card-content {
         padding-left: 1.5rem;
     }

     .date-main {
         font-size: 1.5rem;
     }

     .cta-card {
         flex-direction: column;
         text-align: center;
         padding: 3rem 2rem;
         overflow: hidden;
         border-radius: 1.5rem;
     }

     .cta-left {
         width: 100%;
         padding: 0 0 2rem;
         justify-content: center;
     }

     .cta-center {
         padding: 0 0 2rem;
     }

     .cta-desc {
         margin: 0 auto 2rem;
     }

     .cta-right {
         width: 100%;
         height: 250px;
         position: relative;
     }

     .student-placeholder-wrapper {
         position: relative;
         right: auto;
         bottom: auto;
         margin: 0 auto;
     }
 }

 @media (max-width: 768px) {
     .section-header-centered h2 {
         font-size: 2rem;
     }

     .date-card {
         flex-direction: column;
         text-align: center;
         padding: 2.5rem 1.5rem;
     }

     .date-card-content {
         padding-left: 0;
         border-left: none;
         border-top: 2px solid #e2e8f0;
         padding-top: 1.5rem;
     }

     .date-main {
         font-size: 1.3rem;
     }

     .cta-title {
         font-size: 1.8rem;
     }
 }

 /* =========================================
   REGISTRATION PAGE SECTION
   ========================================= */
 .registration-section {
     position: relative;
     padding: 1rem 0 5rem;
     background-color: #f4f8fb;
     font-family: 'Poppins', sans-serif;
     min-height: 100vh;
 }

 /* Background gradient area */
 .reg-bg-top {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     height: 350px;
     background: linear-gradient(135deg, #1e3a8a, #3b82f6);
     border-bottom-left-radius: 40% 30px;
     border-bottom-right-radius: 40% 30px;
     z-index: 0;
 }

 .reg-container {
     position: relative;
     z-index: 1;
     max-width: 1400px;
     margin: 0 auto;
     padding: 0 1rem;
 }

 .reg-title {
     text-align: center;
     color: #ffffff;
     font-size: 2.2rem;
     font-weight: 600;
     margin-bottom: 2rem;
 }

 .reg-layout {
     display: flex;
     gap: 2rem;
     justify-content: center;
 }

 .reg-tabs button {
     color: #000;
     font-weight: 600;
 }

 /* ---------------------------------
   LEFT SIDEBAR
   --------------------------------- */
 .reg-sidebar {
     position: sticky;
     top: 150px;
     width: 280px;
     flex-shrink: 0;
     z-index: 999;
 }

 .sidebar-card {
     background: linear-gradient(135deg, #3471dd, #23469c);
     color: #ffffff;
     border-radius: 1rem;
     padding: 15px 25px;
     margin-bottom: 1.5rem;
     box-shadow: 2px 2px 8px #643930;
 }

 .sidebar-card.white-card {
     background: #ffffff;
     color: var(--primary-dark);
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
 }

 .sidebar-title {
     font-size: 1.1rem;
     font-weight: 700;
     margin-bottom: 1rem;
 }

 .sidebar-text {
     font-size: 0.9rem;
     line-height: 1.5;
     margin-bottom: 0.5rem;
 }

 .sidebar-link {
     color: #ffffff;
     text-decoration: underline;
     font-size: 0.85rem;
 }

 .sidebar-list {
     list-style: none;
     padding: 0;
     margin: 0;
 }

 .sidebar-list li {
     display: flex;
     align-items: center;
     gap: 0.5rem;
     font-size: 0.9rem;
     margin-bottom: 4px;
     color: #475569;
 }

 .sidebar-list li i {
     color: #196bb0;
     font-size: 1.1rem;
 }

 .sidebar-illustration {
     display: flex;
     align-items: center;
     justify-content: center;
     color: #64748b;
     font-weight: 600;
     text-align: center;
     font-size: 0.9rem;
     margin-top: 60px;
 }

 .sidebar-illustration img {
     width: 300px;
 }

 /* ---------------------------------
   CENTER MAIN REGISTRATION CARD
   --------------------------------- */
 .register_header{
    display: flex;
    gap: 2rem;
    justify-content: center;
    align-items: center;
 }

 .register_heading {
     margin-left:auto;
 }
 .register_heading h1{
     font-size: 30px;
    color: #fff;
}

 .go_home {
     margin-left: auto;
 }

 .reg-main-card {
     flex-grow: 1;
     background: #ffffff;
     border-radius: 10px;
     box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
     overflow: hidden;
 }

 .nav-pills .nav-link.reg-tab.active,
 .reg-tab.active {
     background: linear-gradient(90deg, #1d4ed8, #3b82f6) !important;
     color: #ffffff !important;
 }

 /* Options */
 .reg-options {
     display: flex;
     gap: 1rem;
     padding: 1rem 1rem 0;
     flex-wrap: wrap;
     justify-content: center;
 }

 .reg-opt {
     padding: 0.8rem 1.2rem;
     background: #ffffff;
     border: 1px solid #e2e8f0;
     border-radius: 0.8rem;
     font-weight: 600;
     color: #475569;
     font-size: 0.9rem;
     display: flex;
     align-items: center;
     gap: 0.5rem;
     cursor: pointer;
     transition: all 0.2s;
 }

 .reg-opt.active {
     border-color: #3b82f6;
     color: #1d4ed8;
     background: #eff6ff;
 }

 /* Form Styles */
 .reg-form-body {
     padding: 1rem 2rem;
 }

 .form-select:focus {
    border-color: transparent!important;
    outline: 0;
    box-shadow: none!important;
}

 .form-label-custom {
     font-size: 12px;
     font-weight: 600;
     color: #1e293b;
     margin-bottom: 0.4rem;
 }

 .input-wrapper {
     background: #f8fafc;
     border: 1px solid #e2e8f0;
     border-radius: 10px;
     display: flex;
     align-items: center;
     transition: border-color 0.2s;
 }

 .input-wrapper:focus-within {
     border-color: #3b82f6;
 }

 .input-wrapper i {
    color: #64748b;
    font-size: 15px;
    margin-left: 10px;
    margin-right: 10px;
 }

 .reg-main-card .alert {
    position: relative;
    padding: 1rem 1rem;
    margin-bottom: 0rem;
    margin-top: 2rem;
    border: 1px solid transparent;
    border-radius: .25rem;
}

 .input-wrapper input,
 .input-wrapper select {
     border: none;
     background: transparent;
     width: 100%;
     padding: 10px 10px;
     outline: none;
     color: #334155;
     font-size: 14px;
 }

 /* Radio Buttons */
 .radio-group {
     display: flex;
     gap: 1.5rem;
     flex-wrap: wrap;
 }

 .form-check-custom {
     display: flex;
     align-items: center;
     gap: 0.4rem;
 }

 .form-check-custom input[type="radio"] {
     width: 18px;
     height: 18px;
     accent-color: #3b82f6;
     cursor: pointer;
 }

 .form-check-custom label {
     font-size: 14px;
     color: #475569;
     cursor: pointer;
     margin: 0;
 }

 /* Price Box */
 .price-box {
     background: #eff6ff;
     padding: 10px 18px;
     border-radius: 10px;
     box-shadow: 0 4px 10px rgba(0, 0, 0, 0.03);
     width: fit-content;
     border: 1px solid #bfdbfe;
 }

 .price-box span {
     color: #1d4ed8;
     font-weight: 700;
     font-size: 1rem;
 }

 /* Submit Button */
 .btn-proceed {
     background: linear-gradient(90deg, #1d4ed8, #3b82f6);
     color: #ffffff;
     border: none;
     padding: 10px 30px;
     border-radius: 50rem;
     font-size: 1.1rem;
     font-weight: 700;
     display: flex;
     align-items: center;
     gap: 0.8rem;
     margin: 2rem auto 1rem;
     box-shadow: 0 10px 20px rgba(37, 99, 235, 0.2);
     transition: transform 0.2s;
 }

 .btn-proceed:hover {
     transform: translateY(-2px);
     color: #ffffff;
 }

 /* ---------------------------------
   RIGHT SIDE ILLUSTRATIONS
   --------------------------------- */
 .reg-right {
     position: sticky;
     top: 150px;
     flex-shrink: 0;
     display: flex;
     flex-direction: column;
     gap: 2rem;
 }

 .illustration-box {
     width: 100%;
     display: flex;
     align-items: center;
     justify-content: center;

 }

 .ill-bottom {
     position: relative;
     display: block;
     width: 100%;
     margin-top: 46%;
 }

 .ill-top img {
     width: 300px;
 }

 .ill-bottom img {
     width: 300px;
 }

 .page-footer {
    background: #fff;
    left: 0px;
    right: 0;
    bottom: 0;
    position: relative;
    text-align: center;
    padding: 0px;
    font-size: 14px;
    border-top: 1px solid #e4e4e4;
    z-index: 3;
}

.page-footer p {
    margin: 10px 0px;
}

 /* ---------------------------------
   RESPONSIVE DESIGN
   --------------------------------- */
 @media (max-width: 1200px) {
     .reg-right {
         display: none;
         /* Hide right illustrations on smaller screens */
     }
 }

 @media (max-width: 991px) {
     .reg-layout {
         flex-direction: column;
         align-items: center;
     }

     .reg-sidebar {
         width: 100%;
         max-width: 850px;
         display: flex;
         gap: 1rem;
         flex-wrap: wrap;
     }

     .sidebar-card {
         flex: 1;
         min-width: 250px;
         margin-bottom: 0;
     }

     .sidebar-illustration {
         display: none;
     }
 }

 @media (max-width: 768px) {
     .reg-sidebar {
         flex-direction: column;
     }

     .reg-tabs {
         flex-direction: column;
         padding: 1rem;
     }

     .reg-tab {
         border-radius: 0.5rem;
         margin-bottom: 0.5rem;
     }

     .reg-options {
         flex-direction: column;
         padding: 1rem 1rem 0;
     }

     .reg-form-body {
         padding: 1rem;
     }

     .btn-proceed {
         width: 100%;
         justify-content: center;
     }
 }

/* =========================================
   BOOTSTRAP NAV-TABS OVERRIDE FOR CUSTOM UI
   ========================================= */
.nav-tabs.reg-tabs .nav-link.reg-tab {
    border: none !important;
    background: transparent;
    color: #475569;
    margin-bottom: 0 !important;
}
.nav-tabs.reg-tabs .nav-link.reg-tab.active {
    background: linear-gradient(90deg, #1d4ed8, #3b82f6) !important;
    color: #ffffff !important;
}


.otp-wrapper {
    width: 100%;
    max-width: 650px;
    text-align: center;
}

/* Phone Icon */
.phone-box {
    width: 60px;
    height: 100px;
    border: 2px solid #3563ff;
    border-radius: 10px;
    margin: auto;
    position: relative;
}

.phone-box::before,
.phone-box::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 15px;
    height: 2px;
    background: #3563ff;
    border-radius: 10px;
}

.phone-box::before {
    top: 8px;
}

.phone-box::after {
    bottom: 8px;
}

.message-box {
    position: absolute;
    right: -60px;
    top: 25px;
    background: #dfeaff;
    padding: 5px 22px;
    border-radius: 10px;
    font-size: 28px;
    font-weight: bold;
    color: #3563ff;
}

.message-box::after {
    content: "";
    position: absolute;
    left: 12px;
    bottom: -10px;
    border-width: 10px 10px 0 0;
    border-style: solid;
    border-color: #dfeaff transparent transparent transparent;
}

.otp-wrapper  h1 {
    margin-top: 25px;
    font-size: 20px;
    color: #22314d;
    font-weight: 700;
}

.subtitle {
    margin-top: 15px;
    color: #707070;
    font-size: 16px;
    line-height: 30px;
}

.subtitle span {
    color: #3563ff;
    font-weight: 500;
}

/* OTP Inputs */
.otp-inputs {
    margin-top: 55px;
    display: flex;
    justify-content: center;
    gap: 18px;
}

.otp-inputs input {
    width: 50px;
    height: 55px;
    border: 2px solid #d6d6d6;
    border-radius: 10px;
    text-align: center;
    font-size: 22px;
    outline: none;
    background: #fff;
}

.otp-inputs input:focus {
    border-color: #3563ff;
    box-shadow: 0 0 5px rgba(53, 99, 255, 0.3);
}

.resend {
    margin-top: 35px;
    font-size: 16px;
    color: #777;
}

.resend a {
    color: #3563ff;
    text-decoration: none;
    font-weight: 600;
}


#sticky-mastermind {
    position: fixed;
    bottom: -120px;
    left: 0;
    width: 100%;
    background: rgb(34 68 154 / 84%);
    backdrop-filter: blur(10px);
    color: #fff;
    z-index: 9999;
    transition: bottom 0.4s ease;
    border-top: 3px solid rgb(255 255 255);
  }
  
  #sticky-mastermind.active {
    bottom: 0; /* visible on scroll */
  }
  
  .sticky-content {
    max-width: 1200px;
    margin: auto;
    padding: 16px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  
  .sticky-content h3 {
    margin: 0;
    font-size: 20px;
  }
  
  .sticky-content p {
    margin: 4px 0 0;
    font-size: 14px;
    opacity: 0.85;
  }
  
  .cta-btn {
    background: #b6f21d;
    color: #000;
    padding: 12px 22px;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    margin-right: 15px;
  }
  
  .price {
    font-size: 14px;
  }
  
  .price del {
    opacity: 0.6;
    margin-right: 6px;
  }
  
  .sticky-content .right {
    display: flex;
    align-items: center;
  }
  
  .sticky-content .right .price_sec {
    display: flex;
    flex-direction: column;
    margin-left: 25px;
  }
  
  /* Mobile */
  @media (max-width: 768px) {
    .sticky-content {
      flex-direction: column;
      gap: 12px;
      text-align: center;
    }
  }
 

  .table-card {
    background: #fff;
    border-radius: 18px;
    border: 1px solid #dce4ff;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
    margin-top: 25px;
}

.card-header-custom {
    padding: 24px 30px;
    border-bottom: 1px solid #e9efff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
}

.title-area {
    display: flex;
    align-items: center;
    gap: 15px;
}

.title-icon {
    width: 50px;
    height: 50px;
    background: #edf2ff;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2152ff;
    font-size: 22px;
}

.card-header-custom h3 {
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    color: #1f2937;
}

.add-btn {
    background: linear-gradient(90deg, #2152ff, #4d7dff);
    color: #fff;
    border: none;
    padding: 12px 22px;
    border-radius: 10px;
    font-weight: 600;
    transition: 0.3s;
}

.add-btn:hover {
    color: #fff;
    transform: translateY(-2px);
}

.table-responsive{
    overflow-x:auto;
    scrollbar-width: thin;
}

table.dataTable {
    border-collapse: collapse !important;
    width: 100% !important;
}

.table thead th {
    background: linear-gradient(90deg, #2152ff, #2966ff);
    color: #fff;
    border: 1px solid #4b74ff !important;
    padding: 16px !important;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.table tbody td {
    padding: 16px !important;
    border: 1px solid #e6ecff !important;
    font-size: 14px;
    color: #374151;
    vertical-align: middle;
}

.table tbody tr:hover {
    background: #f8faff;
}

.action-btn {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    border: 1px solid #d9e2ff;
    background: #fff;
    color: #2152ff;
    transition: 0.3s;
}

.action-btn:hover {
    background: #2152ff;
    color: #fff;
}

/* DataTable Custom */

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 20px;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #dce4ff;
    border-radius: 10px;
    height: 42px;
    padding: 6px 14px;
    margin-left: 10px;
    outline: none;
}

.dataTables_wrapper .dataTables_length select {
    border: 1px solid #dce4ff;
    border-radius: 10px;
    height: 42px;
    padding: 5px 10px;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    border-radius: 8px !important;
    margin: 0 3px;
    border: 1px solid #dce4ff !important;
    background: #fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    background: #2152ff !important;
    color: #fff !important;
    border-color: #2152ff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: #2152ff !important;
    color: #fff !important;
}

@media(max-width:768px) {

    body {
        padding: 15px;
    }

    .card-header-custom {
        padding: 20px;
    }

    .table-wrapper {
        padding: 20px;
    }
}

/* Registration Card */
.registration_tab{
    background: linear-gradient(180deg, #0c3dbf 0%, #072a82 100%);
    border-radius: 20px;
    padding: 12px;
    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    overflow: hidden;
    margin-bottom: 20px;
}

/* Remove Bootstrap Border */
.reg-tabs{
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Nav Item */
.reg-tabs .nav-item{
    width: 100%;
}

/* Tab Button */
.reg-tab{
    width: 100%;
    border: none !important;
    border-radius: 14px !important;
    background: transparent !important;
    padding: 18px 18px !important;
    display: flex;
    align-items: center;
    position: relative;
    transition: .3s;
    text-align: left;
    color: #fff !important;
}

/* Divider Line */
.reg-tabs .nav-item:not(:last-child){
    border-bottom: 1px solid rgba(255,255,255,0.12);
}

/* Icon Circle */
.reg-tab::before{
    content: "\f234";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(180deg,#2f6dff,#1f56eb);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    margin-right: 16px;
    font-size: 16px;
    flex-shrink: 0;
}

/* Different Icons */
#payment-tab::before{
    content: "\f53a";
}

#status-tab::before{
    content: "\f46d";
}

/* Text Styling */
.reg-tab{
    flex-direction: row;
}

.reg-tab .tab-content-wrap{
    display: flex;
    flex-direction: column;
}

/* Title */
.reg-tab{
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
}


/* Active Tab */
.reg-tab.active{
    background: linear-gradient(90deg,#2b63ff,#2760ff,#3c87ff) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.15);
}

/* Active Right Highlight */
.reg-tab.active span{
    position: absolute;
    right: 10px;
    top: 14px;
    width: 4px;
    height: calc(100% - 28px);
    background: #62f3ff;
    border-radius: 10px;
}

/* Hover */
.reg-tab:hover{
    background: rgba(255,255,255,0.04) !important;
}

/* Mobile */
@media(max-width:768px){

    .reg-tab{
        font-size: 16px;
        padding: 16px !important;
    }

    .reg-tab::before{
        width: 38px;
        height: 38px;
        margin-right: 12px;
        font-size: 14px;
    }

    #register-tab::after,
    #payment-tab::after,
    #status-tab::after{
        left: 66px;
        font-size: 11px;
    }
}

.reg-options{
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    margin-bottom: 35px !important;
}

/* Each Tab */
.reg-options .nav-item{
    flex: 1;
    min-width: 250px;
}

/* Hover */
.reg-opt:hover{
    transform: translateY(-4px);
    box-shadow: 0 14px 35px rgba(37,99,235,0.12);
}

/* Icon Circle */
.reg-opt {
    position: relative;
    width: 100%;
    border-radius: 22px !important;
    border: 1px solid #dfe6ff !important;
    background: #fff !important;
    padding: 15px 15px !important;
    display: flex;
    align-items: center;
    gap: 15px;
    transition: all .35s ease;
    text-align: left;
}

/* Text */
.reg-opt{
    font-size: 16px;
    font-weight: 700;
    color: #1e293b !important;
}

.reg-opt i {
    width: 45px;
    height: 45px;
    min-width: 45px;
    border-radius: 50%;
    background: #eef3ff;
    color: #2563eb;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: .3s;
}

/* Active Tab */
.reg-opt.active{
    background: linear-gradient(135deg,#1145ff 0%,#2563eb 55%,#4f8cff 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 18px 40px rgba(37,99,235,0.28);
}

/* Active Text */
.reg-opt.active{
    color: #fff !important;
}

/* Active Icon */
.reg-opt.active i{
    background: rgba(255,255,255,0.16);
    color: #fff;
}

/* Active Subtitle */
.reg-opt.active::before{
    color: rgba(255,255,255,0.88);
}

/* Bottom Pointer */
.reg-opt.active::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: -12px;
    transform: translateX(-50%) rotate(45deg);
    width: 24px;
    height: 24px;
    background: #2563eb;
    border-radius: 4px;
}

/* Top Right Tick */
.reg-opt.active span{
    position: absolute;
    top: -2px;
    right: -2px;
    width: 42px;
    height: 42px;
    background: #0f4fff;
    border-radius: 50%;
    border: 4px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 18px rgba(0,0,0,0.18);
}

.reg-opt.active span::before{
    content: "\f00c";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    color: #fff;
    font-size: 16px;
}

/* Mobile */
@media(max-width:992px){

    .reg-options{
        gap: 16px;
    }

    .reg-options .nav-item{
        min-width: 100%;
    }

    .reg-opt{
        min-height: 105px;
        padding: 20px !important;
    }

    .reg-opt i{
        width: 50px;
        height: 50px;
        min-width: 50px;
        font-size: 20px;
    }

    .reg-opt{
        font-size: 16px;
    }

    .reg-opt::before{
        left: 88px;
        font-size: 13px;
        bottom: 20px;
    }
}

.success_page {
    width: 70%;
    margin:auto;
    margin-top: 110px;
    margin-bottom: 50px;
}