 *, *::before, *::after {
            box-sizing: border-box;
        }



/* Galary CSS*/
    #event-gallery {


 /*background: linear-gradient(180deg, #fefcfb 50%, #f5f9fc 50%);
 background: linear-gradient(180deg, #f3ffe6 0%, #e0f7da 100%);*/
 background: linear-gradient(180deg, #f0fff4 0%, #e8f9e9 100%);


  padding: 80px 20px;
  text-align: center;
  border-top: 3px solid #e74c3c1a; /* thin translucent accent line */
  border-bottom: 3px solid #1a52761a;

      
    }

    #event-gallery h2 {
      color: #1a5276;
      margin-bottom: 30px;
      font-size: 2.2em;
    }

    .gallery-container {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 25px;
      max-width: 1200px;
      margin: 0 auto;
    }

    .gallery-item {
      background: white;
      border-radius: 12px;
     /* box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);*/
      /* Unified, modern shadow */
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.08), 0 5px 10px rgba(0, 0, 0, 0.03);
      overflow: hidden;
      transition: transform 0.3s ease, box-shadow 0.3s ease;
      cursor: pointer;
    }

    .gallery-item:hover {
      transform: translateY(-5px);
      box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
    }

    .gallery-item img {
      width: 100%;
      height: 250px;
      object-fit: cover;
      transition: transform 0.3s ease;
    }

    .gallery-item figcaption {
      padding: 15px;
      background-color: #fff;
      color: #333;
      font-size: 1em;
      line-height: 1.5;
    }

    .gallery-item .desc {
      color: #777;
      font-size: 0.9em;
    }

    @media (max-width: 900px) {
      .gallery-container {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    @media (max-width: 600px) {
      .gallery-container {
        grid-template-columns: 1fr;
      }
    }

    /* ===== LIGHTBOX STYLES ===== */
    .lightbox {
      display: none;
      position: fixed;
      z-index: 1000;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0, 0, 0, 0.9);
      align-items: center;
      justify-content: center;
      flex-direction: column;
    }

    .lightbox-content {
      max-width: 80%;
      max-height: 80%;
      border-radius: 10px;
      opacity: 0;
      transform: scale(0.95);
      transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .lightbox-content.show {
      opacity: 1;
      transform: scale(1);
    }

    .lightbox-caption {
      color: white;
      font-size: 18px;
      margin-top: 15px;
      text-align: center;
    }

    .close,
    .prev,
    .next {
      position: absolute;
      color: white;
      font-size: 40px;
      cursor: pointer;
      padding: 10px;
      user-select: none;
      transition: 0.3s;
    }

    .close {
      top: 20px;
      right: 40px;
    }

    .close:hover {
      color: #f44336;
    }

    .prev {
      left: 40px;
      top: 50%;
      transform: translateY(-50%);
    }

    .next {
      right: 40px;
      top: 50%;
      transform: translateY(-50%);
    }

    .prev:hover,
    .next:hover {
      color: #f44336;
    }


.site-footer {
    text-align: center; 
}

        body {
            font-family: 'Helvetica Neue', Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f8f8f8;
            color: #333;
            line-height: 1.6;
        }

        h2, h3 {
            color: #1a5276; /* Dark Blue */
            margin-bottom: 20px;
        }

        /* Section Styling */
        section {
            padding: 80px 20px;
            text-align: center;
            scroll-margin-top: 60px; /* Offset for sticky header */
            min-height: 80vh;
            max-width: 1400px;
            margin: 0 auto;
        }

        /* New styles for the logo image */
        .logo-link {
            /* Override existing navbar link styles for the logo */
            padding: 0 !important; 
        }
        .logo-img {
            height: 60px; /* Set a fixed height for the logo */
            width: auto;
            vertical-align: middle;
        }

        /* --- Navigation Bar (Beautified) --- */
        .navbar {
  background-color: #ffffff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  width: 100%;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.navbar-container {
  max-width: 1300px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.logo-img {
  height: 60px;
  width: auto;
  border-radius: 8px;
}

/* Center title */
.navbar-title {
  flex: 1;
  text-align: center;
}

.navbar-title h1 {
  font-family: 'Georgia', serif;
  font-size: 1.6em;
  font-weight: 600;
  color: #1a5276;
  margin: 0;
  letter-spacing: 1px;
  position: relative;
}

.navbar-title h1 span {
  color: #e74c3c;
  font-weight: 700;
}

/* Decorative underline */
.navbar-title h1::after {
  content: '';
  display: block;
  width: 80px;
  height: 3px;
  background-color: #e74c3c;
  margin: 6px auto 0;
  border-radius: 2px;
}

.nav-links {
  display: flex;
  gap: 25px;
}

.nav-links a {
  color: #1a5276;
  text-decoration: none;
  font-size: 1.05em;
  font-weight: 600;
  padding: 8px 0;
  position: relative;
  transition: color 0.3s ease;
}

.nav-links a:hover {
  color: #e74c3c;
}

.nav-links a::after {
  content: '';
  position: absolute;
  width: 0;
  height: 3px;
  bottom: -5px;
  left: 0;
  background-color: #e74c3c;
  transition: width 0.3s ease;
}

.nav-links a:hover::after {
  width: 100%;
}

/* Responsive */
@media (max-width: 900px) {
  .navbar-container {
    flex-direction: column;
  }
  .navbar-title {
    margin: 10px 0;
  }
  .nav-links {
    flex-wrap: wrap;
    justify-content: center;
  }
}


        /* Style for all navigation links */
      
        
        /* --- Hero Section (Home) --- */
        #home {
            /* CORRECTED: Path updated to use .jpeg extension */
            background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('./images/fest.jpg') center/cover no-repeat;
            color: white;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            /* Override for full-width background image */
            max-width: none;
            margin: 0;
        }
        #home h1 {
            font-size: 4em;
            margin-bottom: 10px;
            text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
        }
        #home p {
            font-size: 1.5em;
            margin-bottom: 40px;
            max-width: 800px;
        }
        .cta-button {
            background-color: #e74c3c; /* Red CTA */
            color: white;
            padding: 15px 30px;
            text-decoration: none;
            border-radius: 5px;
            font-size: 1.2em;
            transition: background-color 0.3s;
        }
        .cta-button:hover {
            background-color: #c0392b;
        }

        /* --- Guests Section (Gallery) - BEAUTIFIED --- */
        #guests {
            background-color: #ecf0f1; /* Light gray background, slightly lighter than before */
            padding: 80px 20px;
        }

        /* Title style consistency */
        #guests h2 {
            color: #1a5276; 
            margin-bottom: 5px;
        }
        #guests p {
            font-size: 1.1em;
            color: #555;
            margin-bottom: 50px;
        }

        /* The Grid Layout */
        .guest-grid {
            display: grid; /* Use CSS Grid for superior layout control */
            /* Creates columns that fit 280px cards, up to a maximum of 4 per row */
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
            gap: 35px; /* Spacing between cards */
            margin-top: 40px;
            max-width: 1400px; /* Match your main section max-width */
            margin: 0 auto;
        }

        /* The Guest Card Styling */
        .guest-card {
            background-color: white;
            padding: 25px;
            border-radius: 12px;
            box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08); /* More noticeable, refined shadow */
            text-align: center;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .guest-card:hover {
            transform: translateY(-5px); /* Slight lift on hover */
            box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); /* Stronger shadow on hover */
        }

        /* Photo Styling */
        .guest-photo {
            width: 140px; /* Slightly smaller photo, but more refined */
            height: 140px;
            border-radius: 50%;
            margin: 0 auto 20px auto;
            border: 4px solid #1a5276; /* Dark Blue ring around the photo */
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
        }
        
        .guest-photo img { 
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }
        
        .guest-card:hover .guest-photo img {
            transform: scale(1.05); /* Slight zoom on image hover */
        }
        
        /* Text Details */
        .guest-card h4 {
            margin: 5px 0 2px 0;
            color: #1a5276; /* Dark Blue title */
            font-size: 1.3em;
        }
        .guest-card p {
            font-size: 1em;
            color: #7f8c8d;
            margin: 5px 0;
        }


        /* --- SCHEDULE TAB STYLES --- */
        #schedule {
            background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.2)), url('./images/EB2.jpeg') center/cover no-repeat;
            color: white;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            /* Override for full-width background image */
            max-width: none;
            margin: 0;
        }
        #schedule h2 {
            color: white; /* H2 color change for dark background */
        }
        .schedule-tabs-container {
            max-width: 1000px;
            margin: 0 auto;
            text-align: left;
        }
        /* Tab Buttons */
        .tab-buttons {
            display: flex;
            margin-bottom: 20px;
            border-bottom: 2px solid #555;
        }
        .tab-button {
            background-color: #555;
            color: white;
            border: none;
            padding: 10px 20px;
            cursor: pointer;
            font-size: 1.1em;
            transition: background-color 0.3s;
            border-radius: 5px 5px 0 0;
            opacity: 0.7;
        }
        .tab-button.active {
            background-color: #e74c3c; /* Red highlight for active tab */
            opacity: 1;
            font-weight: bold;
        }
        /* Tab Content */
        .tab-content {
            display: none;
            padding: 20px 0;
            background-color: #333;
        }
        .tab-content.active {
            display: block;
        }
        /* Schedule Details Styling */
        .session {
            margin-bottom: 30px;
            padding-left: 15px;
            border-left: 3px solid #3498db; /* Blue accent line */
        }
        .session-title {
            color: #3498db;
            font-size: 1.3em;
            font-weight: bold;
            margin-top: 0;
            margin-bottom: 15px;
        }
        .session-day-title {
            color: #2ecc71; /* Green for DAY title */
            font-size: 1.5em;
            font-weight: bold;
            margin-bottom: 20px;
        }
        .session ul {
            list-style-type: none;
            padding-left: 0;
        }
        .session ul li {
            margin-bottom: 10px;
            padding-left: 20px;
            position: relative;
        }
        .session ul li::before {
            content: '•';
            color: #e74c3c; /* Red bullet points */
            font-weight: bold;
            display: inline-block;
            width: 1em;
            margin-left: -1em;
        }
        .tea-break {
            color: #f1c40f; /* Yellow/Gold for breaks */
            font-style: italic;
            font-weight: bold;
            margin: 25px 0;
            text-align: center;
            border: 1px dashed #f1c40f;
            padding: 10px;
        }


        /* --- Registration/Contact Section --- */
        #contact {
            background: linear-gradient(180deg, #e6faf5 0%, #f1e6fa 100%);


  padding: 80px 20px;
  text-align: center;
  border-top: 3px solid #e74c3c1a; /* thin translucent accent line */
  border-bottom: 3px solid #1a52761a;

        }
        #contact h2 {
            color: white;
        }
        
        /* Contact Flexbox Layout */
        .contact-container {
            display: flex;
            gap: 50px; /* Space between the two columns */
            padding: 20px 0;
            max-width: 1200px;
            margin: 0 auto;
            text-align: left; /* Ensure text aligns left in info column */
        }
        .contact-info {
            flex: 1;
            min-width: 300px;
            padding: 20px;
        }
        .contact-info h3 {
            color: rgba(19, 1, 1, 0.959);
            border-bottom: 2px solid #5d8aa8; /* Lighter blue border */
            padding-bottom: 10px;
            margin-bottom: 25px;
        }
        .contact-info p {
            margin-bottom: 15px;
        }
        .contact-info a {
            color: #f1c40f; /* Gold/yellow link color */
            text-decoration: none;
        }
        .contact-info a:hover {
            text-decoration: underline;
        }
        .contact-map {
            flex: 2; /* Map takes up more space */
        }
        .contact-map iframe {
            width: 100%;
            height: 450px;
            min-height: 350px; 
            border-radius: 8px; /* Slightly rounded map */
        }
        
        /* Contact Form inside the contact-info block (if you add it back) */
        .contact-form {
            max-width: 500px;
            margin: 20px auto;
            text-align: left;
            padding: 30px;
            background-color: #2c6e91;
            border-radius: 8px;
        }
        .contact-form label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
        }
        .contact-form input, .contact-form textarea {
            width: 100%;
            padding: 10px;
            margin-bottom: 20px;
            border: none;
            border-radius: 4px;
            box-sizing: border-box;
        }
        .contact-form button {
            background-color: #e74c3c;
            color: white;
            padding: 12px 20px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
            font-size: 1em;
            transition: background-color 0.3s;
        }
        .contact-form button:hover {
            background-color: #c0392b;
        }


        /* Mobile Responsiveness for Navigation (Revised) */
        @media (max-width: 768px) {
            .navbar-container {
                /* Stack logo and links vertically */
                flex-direction: column; 
                align-items: flex-start;
            }
            
            /* Logo takes full width and centers itself */
            .logo-link {
                width: 100%;
                text-align: center;
                margin-bottom: 10px;
            }

            /* Stack links vertically and make them full width on mobile */
            .nav-links {
                flex-direction: column;
                width: 100%;
                gap: 0;
            }
            
            .nav-links a {
                padding: 10px 0;
                text-align: center;
                border-top: 1px solid #f0f0f0;
            }
            
            .nav-links a::after {
                /* Remove the underline animation on mobile for cleaner look */
                display: none; 
            }
            
            /* Contact Section Mobile Styles */
            .contact-container {
                flex-direction: column; /* Stack contact info and map vertically */
                gap: 20px;
            }

            .contact-info, .contact-map {
                width: 100%;
                min-width: auto;
            }
        }

        /* ===== GLOBAL THEME UNIFIER ===== */
section h2 {
  font-family: 'Playfair Display', serif;
  font-size: 2.4em;
  margin-bottom: 10px;
  color: #1a5276;
}

section p.section-subtitle {
  font-size: 1.15em;
  color: #555;
  margin-bottom: 45px;
}

/* Soft divider line between sections */
section {
  border-top: 2px solid rgba(26, 82, 118, 0.08);
}

/* Guest + Gallery + Contact background tone same family */
#guests,
#event-gallery,
#contact {
  background: linear-gradient(180deg, #f9fcff 0%, #eef6ff 100%);
}

/* Footer unify */
.site-footer {
  background: #1a5276;
  color: white;
  padding: 25px;
}
.site-footer a {
  color: #f1c40f;
  font-weight: 600;
}
