 /* Custom CSS Variables for consistent branding */
 :root {
   --bs-primary: #4e54c8;
   /* Bootstrap primary color override */
   --bs-secondary: #8f94fb;
   /* Bootstrap secondary color override */
   --bs-dark: #1a1a2e;
   /* Bootstrap dark color override */
   --bs-light-bg-subtle: #f9fafb;
   /* Custom light background for sections */
   --bs-body-color: #333;
   /* Default text color */
   --bs-heading-color: #222;
   /* Heading text color */
   --bs-card-bg: #ffffff;
   /* Card background */
   --bs-border-color: #e0e0e0;
   /* Custom border color */
   --primary-purple: #6a0dad;
   --secondary-purple: #8a2be2;
   --light-purple: #e6d7ff;
   --dark-purple: #4b0082;
   --gradient: linear-gradient(135deg, #6a0dad 0%, #8a2be2 100%);
 }

 body {
   font-family: 'Inter', sans-serif;
   color: var(--bs-body-color);
   background-color: var(--bs-light-bg-subtle);
   padding-top: 76px;
   /* Space for fixed navbar */
 }

 /* Navbar styles - mostly Bootstrap, with custom brand color */
 .navbar {
   background: rgba(255, 255, 255, 0.98);
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
   transition: all 0.3s ease;
 }

 .navbar-brand {
   font-weight: 700;
   color: var(--bs-primary) !important;
   /* Use !important to override Bootstrap's default link color */
   display: flex;
   align-items: center;
 }

 .navbar-brand i {
   font-size: 1.5rem;
   margin-right: 0.5rem;
 }

 .nav-link {
   font-weight: 500;
   color: var(--bs-dark) !important;
   transition: color 0.3s;
   padding: 0.5rem 1rem;
 }

 .nav-link:hover {
   color: var(--bs-primary) !important;
 }

 /* Event Header - now a container for background images */
 .event-header {
   position: relative;
   height: 400px;
   /* Fixed height for the header section */
   margin-bottom: 2.5rem;
   border-bottom-left-radius: 20px;
   border-bottom-right-radius: 20px;
   overflow: hidden;
   /* Ensures image corners are rounded */
   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
 }

 .event-header-bg {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background-position: center;
   background-repeat: no-repeat;
 }

 /* Desktop background image */
 .event-header-desktop-bg {
   background-image: url('bannerDesk.png');
   background-size: cover;
   /* Placeholder for desktop image */
 }

 /* Mobile background image */
 .event-header-mobile-bg {
   background-image: url('bannerMobile.png');
   background-size: 99%;
   /* Placeholder for mobile image */
 }

 .event-header-overlay {
   padding: 1rem;
 }

 .event-header h1 {
   font-size: 3.5rem;
   font-weight: 700;
   margin-bottom: 0.5rem;
   text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
 }

 .event-header p {
   font-size: 1.25rem;
   opacity: 0.9;
   text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
 }

 /* Section Title - custom underline */
 .section-title {
   font-weight: 700;
   color: var(--bs-primary);
   margin-bottom: 2rem;
   position: relative;
   padding-bottom: 0.5rem;
   font-size: 1.5rem;
 }

 .section-title::after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   width: 70px;
   height: 4px;
   background: linear-gradient(to right, var(--bs-primary), var(--bs-secondary));
   border-radius: 3px;
 }

 /* Card Styling - mostly Bootstrap, with custom shadow/hover */
 .card {
   border: none;
   border-radius: 15px;
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   margin-bottom: 2rem;
   background-color: var(--bs-card-bg);
 }

 .card:hover {
   transform: translateY(-8px);
   box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
 }

 .card-body {
   padding: 2.5rem;
 }

 /* Buttons - custom gradient and shadow */
 .btn-primary {
   background: linear-gradient(135deg, var(--bs-primary), var(--bs-secondary));
   border: none;
   border-radius: 10px;
   padding: 0.75rem 2rem;
   font-weight: 600;
   transition: all 0.3s ease;
   box-shadow: 0 4px 10px rgba(78, 84, 200, 0.2);
 }

 .btn-primary:hover {
   background: linear-gradient(135deg, var(--bs-secondary), var(--bs-primary));
   transform: translateY(-3px);
   box-shadow: 0 8px 20px rgba(78, 84, 200, 0.4);
 }

 /* Copy Link Container - custom background/border */
 .copy-link-container {
   background-color: var(--bs-light-bg-subtle);
   border-radius: 12px;
   padding: 1.5rem;
   margin: 1.5rem 0;
   border: 1px solid var(--bs-border-color);
 }

 .copy-link {
   background: var(--bs-white);
   border-radius: 8px;
   padding: 0.5rem;
   border: 1px solid var(--bs-border-color);
   box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05);
 }

 .copy-link input {
   border: none;
   outline: none;
   flex-grow: 1;
   padding: 0.75rem;
   font-size: 1rem;
   background-color: transparent;
 }

 .copy-link button {
   border: none;
   background: var(--bs-primary);
   color: var(--bs-white);
   border-radius: 6px;
   padding: 0.75rem 1.25rem;
   cursor: pointer;
   transition: background 0.3s ease, transform 0.2s ease;
   font-weight: 500;
 }

 .copy-link button:hover {
   background: var(--bs-secondary);
   transform: translateY(-1px);
 }

 /* Alerts - using Bootstrap's alert classes */
 .alert {
   border-radius: 10px;
   padding: 1rem 1.5rem;
   font-size: 0.95rem;
   display: flex;
   align-items: center;
 }

 .alert i {
   margin-right: 0.75rem;
   font-size: 1.2rem;
 }

 /* Table Styling - custom border-radius and shadow for container */
 .table-container {
   overflow-x: auto;
   border-radius: 12px;
   box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
 }

 table {
   width: 100%;
   border-collapse: separate;
   border-spacing: 0;
   margin: 0;
   background-color: var(--bs-white);
   border-radius: 12px;
   overflow: hidden;
 }

 th,
 td {
   padding: 1rem 1.25rem;
   text-align: left;
   border-bottom: 1px solid #f0f0f0;
 }

 th {
   background-color: var(--bs-primary);
   color: var(--bs-white);
   font-weight: 600;
   position: sticky;
   top: 0;
   z-index: 1;
 }

 th:first-child {
   border-top-left-radius: 12px;
 }

 th:last-child {
   border-top-right-radius: 12px;
 }

 tr:last-child td {
   border-bottom: none;
 }

 tr:nth-child(even) {
   background-color: #fcfcfc;
 }

 tr:hover {
   background-color: #f5f5f5;
 }

 /* Certificate Download Section - custom background/border */
 .certificate-download {
   background-color: var(--bs-light-bg-subtle);
   border-radius: 12px;
   padding: 2rem;
   border: 1px solid var(--bs-border-color);
 }

 /* Gallery Section - custom overlay and hover effects */
 .gallery-item {
   position: relative;
   overflow: hidden;
   border-radius: 12px;
   margin-bottom: 1.5rem;
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
   transition: transform 0.3s ease, box-shadow 0.3s ease;
 }

 .gallery-item:hover {
   transform: translateY(-5px);
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
 }

 .gallery-img {
   width: 100%;
   height: 220px;
   object-fit: cover;
   display: block;
   transition: transform 0.5s ease;
 }

 .gallery-item:hover .gallery-img {
   transform: scale(1.08);
 }

 .gallery-overlay {
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.3));
   color: var(--bs-white);
   padding: 1.25rem;
   transform: translateY(100%);
   transition: transform 0.4s ease;
   border-bottom-left-radius: 12px;
   border-bottom-right-radius: 12px;
 }

 .gallery-item:hover .gallery-overlay {
   transform: translateY(0);
 }

 .gallery-overlay h6 {
   font-weight: 600;
   margin-bottom: 0.25rem;
   font-size: 1.1rem;
 }

 .gallery-overlay p {
   font-size: 0.9rem;
   opacity: 0.9;
 }

 /* Footer - custom background and icon sizing */
 .footer {
   background: #ffffff;
   padding: 40px 0 20px;
 }

 .social-icons a {
   display: inline-block;
   width: 40px;
   height: 40px;
   background: var(--gradient);
   color: white;
   text-align: center;
   line-height: 40px;
   border-radius: 50%;
   margin: 0 5px;
   transition: all 0.3s ease;
   font-size: 1.5rem;
 }

 .social-icons a:hover {
   transform: translateY(-3px);
   box-shadow: 0 5px 15px rgba(106, 13, 173, 0.3);
 }

 /* Scroll animations */
 .fade-in {
   opacity: 0;
   transform: translateY(30px);
   transition: all 0.6s ease;
 }

 .fade-in.visible {
   opacity: 1;
   transform: translateY(0);
 }

 /* Responsive Adjustments - using Bootstrap breakpoints */
 @media (max-width: 991.98px) {
   .navbar-collapse {
     background-color: rgba(255, 255, 255, 0.98);
     border-top: 1px solid rgba(0, 0, 0, 0.1);
     padding-bottom: 1rem;
   }

   .nav-link {
     padding: 0.75rem 1rem;
   }

   .event-header {
     height: 300px;
     /* Adjust height for tablets */
   }

   .event-header h1 {
     font-size: 2.5rem;
   }

   .event-header p {
     font-size: 1rem;
   }

   .section-title {
     font-size: 1.5rem;
   }

   .card-body {
     padding: 1.5rem;
   }

   .copy-link input {
     padding: 0.5rem;
     font-size: 0.9rem;
   }

   .copy-link button {
     padding: 0.6rem 1rem;
     font-size: 0.9rem;
   }

   .gallery-img {
     height: 180px;
   }

   .gallery-overlay {
     padding: 1rem;
   }

   .gallery-overlay h6 {
     font-size: 1rem;
   }

   .gallery-overlay p {
     font-size: 0.8rem;
   }

   .certificate-download .col-md-4 {
     margin-top: 1rem !important;
   }
 }

 @media (max-width: 767.98px) {
   body {
     padding-top: 66px;
   }

   .event-header {
     height: 250px;
     /* Adjust height for mobile */
     margin-bottom: 2rem;
   }

   .event-header h1 {
     font-size: 2rem;
   }

   .event-header p {
     font-size: 0.9rem;
   }

   .section-title {
     font-size: 1.5rem;
     margin-bottom: 1.5rem;
   }

   .section-title::after {
     width: 50px;
     height: 3px;
   }

   .card-body {
     padding: 1.25rem;
   }

   .btn-primary {
     padding: 0.6rem 1.5rem;
     font-size: 0.9rem;
   }

   .copy-link {
     flex-direction: column;
     align-items: stretch;
   }

   .copy-link input {
     margin-bottom: 0.75rem;
     text-align: center;
   }

   .copy-link button {
     width: 100%;
   }

   .certificate-download {
     padding: 1.5rem;
   }

   .social-icons a {
     font-size: 1.5rem;
     margin: 0 0.5rem;
   }
 }