 :root {
     --primary-color: #2c3e50;
     --secondary-color: #e8b4cb;
     --accent-color: #f8f9fa;
     --text-dark: #2c3e50;
     --text-light: #6c757d;
     --gold-accent: #d4af37;
 }

 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 body {
     font-family: "Josefin Sans", sans-serif;
     line-height: 1.6;
     color: var(--text-dark);
 }

 .playfair {
     /* font-family: 'Playfair Display', serif; */
     font-family: "Josefin Sans", sans-serif;
 }
 p{
    
     font-family: "Inter", sans-serif !important;
 }
 .navbar-nav .nav-link{
    font-weight: 700 !important;
    padding: 0px !important;
 }

 /* Navigation */
 .navbar {
     background: #fff;
     backdrop-filter: blur(10px);
     padding: 1rem 0;
     box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
 }

 .navbar-brand {
     font-weight: 700;
     font-size: 1.5rem;
     color: var(--primary-color) !important;
 }

 .navbar-nav .nav-link {
     color: var(--text-dark) !important;
     font-weight: 500;
     margin: 0 1rem;
     transition: color 0.3s ease;
 }

 .navbar-nav .nav-link:hover {
     color: var(--secondary-color) !important;
 }

 /* Hero Section */
 .hero-section {
     /* background: linear-gradient(135deg, rgba(232, 180, 203, 0.9), rgba(44, 62, 80, 0.7)),
         url('https://images.pexels.com/photos/57980/pexels-photo-57980.jpeg'); */
     background: url('../images/banner.webp');
     background-size: cover;
     background-position: center;
     min-height: 100vh;
     display: flex;
     align-items: center;
     position: relative;
     overflow: hidden;
     padding: 150px 0px;
 }

 .hero-section::before {
  content: "";
  position: absolute;
  inset: 0; /* top: 0; right: 0; bottom: 0; left: 0 */
  background: rgba(0, 0, 0, 0.21); /* overlay color */
  z-index: 1;
}

/* Ensure content stays above overlay */
.hero-section > * {
  position: relative;
  z-index: 2;
}
 .hero-content {
     z-index: 2;
     position: relative;
 }

 .hero-title {
     font-size: 4rem;
     font-weight: 700;
     color: white;
     margin-bottom: 1.5rem;
     text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
 }

 .hero-subtitle {
     font-size: 1.2rem;
     color: rgba(255, 255, 255, 0.9);
     margin-bottom: 2rem;
     max-width: 600px;
 }

 #home .text-end {
     display: flex;
     height: 100%;
     flex-direction: column;
     justify-content: end;
 }

 #home .text-end button {
     width: fit-content;
     margin-left: auto;
 }

 .img-fluid.shapeicon {
     width: 35px;
     position: absolute;
     margin-top: -10px;
 }

 .btn-primary-custom {
     background: #fff;
     border: none;
     padding: 8px 25px;
     font-weight: 600;
     border-radius: 5px;
     transition: all 0.3s ease;
     margin-right: 1rem;
 }

 .btn-primary-custom.two {
     border: 2px solid #000;
 }

 #contact iframe {
     border-radius: 20px 0px 0px 20px;
     border: 3px solid #fff !important;
     max-width: 100%;
 }

 .btn-primary-custom:hover {
     background: #000;
     color: #fff;
     transform: translateY(-2px);
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
 }

 .btn-outline-custom {
     border: 2px solid white;
     color: white;
     padding: 12px 30px;
     font-weight: 600;
     border-radius: 25px;
     background: transparent;
     transition: all 0.3s ease;
 }

 .btn-outline-custom:hover {
     background: white;
     color: var(--primary-color);
     transform: translateY(-2px);
 }

 /* Floating elements */
 .floating-element {
     position: absolute;
     opacity: 0.1;
     animation: float 6s ease-in-out infinite;
 }

 .floating-element.heart {
     top: 20%;
     right: 10%;
     animation-delay: 0s;
 }

 .floating-element.flower {
     bottom: 20%;
     left: 15%;
     animation-delay: 2s;
 }

 @keyframes float {

     0%,
     100% {
         transform: translateY(0px);
     }

     50% {
         transform: translateY(-20px);
     }
 }

 /* About Section */
 .about-section {
     padding: 5rem 0;
     background: #f8f9fa;
     background-image: url('../images/2flowers.png');
     background-size: 30%;
     background-repeat: no-repeat;
 }

 .ml-auto {
     margin-left: auto;
 }

 .section-title {
     font-size: 2.5rem;
     font-weight: 600;
     text-align: center;
     margin-bottom: 3rem;
     color: var(--primary-color);
 }

 .about-content {
     font-size: 1.1rem;
     line-height: 1.8;
     color: var(--text-light);
 }

 .feature-box {
     text-align: center;
     padding: 2rem;
     margin: 1rem 0;
     background: white;
     border-radius: 10px;
     box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease;
 }

 .feature-box:hover {
     transform: translateY(-5px);
 }

 .feature-icon {
     font-size: 3rem;
     color: var(--secondary-color);
     margin-bottom: 1rem;
 }

 /* Weddings Section */
 .weddings-section {
     padding: 5rem 0;
     background: white;
 }

 .wedding-card {
     background: white;
     border-radius: 15px;
     overflow: hidden;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease;
 }

 .wedding-card:hover {
     transform: translateY(-10px);
 }

 .wedding-image {
     height: 300px;
     background: linear-gradient(45deg, var(--secondary-color), var(--primary-color));
     display: flex;
     align-items: center;
     justify-content: center;
     color: white;
     font-size: 1.2rem;
 }

 .wedding-content {
     padding: 2rem;
 }

 /* Services Section */
 .services-section {
     padding: 12rem 0;
     background: url('../images/bandv.jpg');
     background-size: cover;
     background-repeat: no-repeat;
     color: white;
     text-align: center;
     position: relative;
 }
 .services-section::before {
     content: "";
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background: rgba(0, 0, 0, 0.5);
     z-index: 1;
 }
    .services-section .container {
        position: relative;
        z-index: 2;
    }

 .shapeicon2 {
     position: absolute;
     width: 50px;
     height: 50px;
     margin-left: -5%;
     margin-top: -2%;
 }

 .services-title {
     font-size: 2.5rem;
     margin-bottom: 1rem;
 }

 .services-subtitle {
     font-size: 1.1rem;
     opacity: 0.9;
     margin-bottom: 3rem;
 }

 /* Reviews Section */
 .reviews-section {
     padding: 5rem 0;
     background: #f8f9fa;

     background-image: url('../images/fl3.png');
     background-repeat: no-repeat;
     background-size: 150px;
     background-position-x: right;
     background-position-y: bottom;
 }

 .review-card {
     /* background: white; */
     padding: 2rem;
     border-radius: 15px;
     /* box-shadow: 0 5px 15px rsgba(0, 0, 0, 0.1); */
     margin: 1rem 0;
     text-align: center;
 }

 .carousel-control-prev,
 .carousel-control-next {
     background-color: unset !important;
     opacity: 1;
 }

 .review-text {
     font-size: 1.1rem;
     font-style: italic;
     margin-bottom: 1.5rem;
     color: var(--text-light);
 }

 .review-author {
     font-weight: 600;
     color: var(--primary-color);
 }

 .review-rating {
     color: var(--gold-accent);
     margin-bottom: 1rem;
 }

 /* Contact Section */
 .contact-section {
     padding: 5rem 0;
     background: #000;
     color: white;
 }

 .contact-title {
     font-size: 2.5rem;
     margin-bottom: 1rem;
 }

 .contact-info {
     font-size: 1.1rem;
     margin-bottom: 2rem;
 }

 .contact-details {
     margin-bottom: 2rem;
 }

 .contact-details h5 {
     margin-bottom: 1rem;
     color: var(--gold-accent);
 }

 .contact-details p {
     margin-bottom: 0.5rem;
     display: flex;
     align-items: center;
 }

 .contact-details i {
     margin-right: 0.5rem;
     width: 20px;
 }

 .map-placeholder {
     background: rgba(255, 255, 255, 0.1);
     height: 300px;
     border-radius: 10px;
     display: flex;
     align-items: center;
     justify-content: center;
     color: rgba(255, 255, 255, 0.7);
 }

 /* Footer */
 .footer {
     background: #fff;
     color: #000;
     padding: 3rem 0 1rem;
 }

 .footer-content {
     margin-bottom: 2rem;
 }

 .footer-section h5 {
     margin-bottom: 1rem;
     /* color: var(--gold-accent); */
     font-weight: 600;
 }

 .footer-section ul {
     list-style: none;
     padding: 0;
 }

 .footer-section ul li {
     margin-bottom: 0.5rem;
 }

 .footer-section ul li a {
     color: #000;
     text-decoration: none;
     transition: color 0.3s ease;
 }

 .footer-section ul li a:hover {
     color: var(--gold-accent);
 }

 .footer-bottom p {
     color: gray;
     margin-bottom: 0px;
 }

 .footer-bottom .social-links {
     margin-top: 0px;
     width: fit-content;
     margin-left: auto;
 }

 .footer-bottom .col-lg-6.order-lg-1 {
     text-align: left;
 }

 .footer-bottom .col-lg-6.order-lg-2 {
     text-align: right;
 }

 .social-links {
     display: flex;
     gap: 1rem;
     margin-top: 1rem;
 }

 .social-links a {
     color: #000;
     font-size: 1.5rem;
     transition: color 0.3s ease;
 }

 .social-links a:hover {
     color: var(--gold-accent);
 }

 .footer-bottom {
     border-top: 1px solid rgba(255, 255, 255, 0.1);
     padding-top: 1rem;
     text-align: center;
     color: rgba(255, 255, 255, 0.5);
 }

 /* Responsive Design */
 @media (max-width: 768px) {
     .hero-title {
         font-size: 2.5rem;
     }

     .hero-subtitle {
         font-size: 1rem;
     }

     .section-title,
     #contact h2 {
         font-size: 2rem;
         margin-bottom: 10px;
     }

     .btn-primary-custom,
     .btn-outline-custom {
         display: block;
         width: 100%;
         margin: 0.5rem 0;
     }

     #home .hero-buttons button {
         width: 170px;
         margin: 0px auto;
         margin-bottom: 10px;
     }

     #home .col-lg-4 {
         padding-top: 100px;
     }

     .about-section .col-lg-5 img {
         margin-bottom: 50px;
     }

     p,
     .contact-info {
         font-size: 10pt;
     }
      .navbar-nav .nav-link{
    padding: 10px !important;
 }

     .about-section {
         background-size: 50%;
     }

     img[src="images/2stars.png"] {
         max-width: 80px;
     }

     img[src="images/wedding.png"],
     img[src="images/social.png"] {
         margin-top: 50px;
     }

     img[src="images/coorporate.png"] {
         margin-bottom: 50px;
     }

     .shapeicon2 {
         margin-top: -15%;
     }

     #services .btn.btn-primary-custom {
         max-width: 200px;
         margin: 0px auto;
     }

     .footer-section li a,
     .review-text {
         font-size: 10pt;
     }

     .footer-bottom .social-links {
         margin: 10px auto;
     }

     .footer .col-lg-6.order-lg-1 p {
         text-align: center;
     }
     .reviews-section{
        max-width: 100vw;
        overflow: hidden;
     }
 }

 .carousel-control-prev,
 .carousel-control-next {
     width: 50px;
     height: 50px;
     background: rgba(0, 0, 0, 0.7);
     border-radius: 50%;
     top: 50%;
     transform: translateY(-50%);
     transition: all 0.3s ease;
 }

 .carousel-control-prev {
     left: -25px;
 }

 .carousel-control-next {
     right: -25px;
 }

 .carousel-control-prev:hover,
 .carousel-control-next:hover {
     background: rgba(0, 0, 0, 0.9);
     transform: translateY(-50%) scale(1.1);
 }

 .carousel-control-prev-icon,
 .carousel-control-next-icon {
     width: 20px;
     height: 20px;
 }

 /* Custom indicators */
 .carousel-indicators {
     margin-bottom: -50px;
 }

 .carousel-indicators [data-bs-target] {
     width: 12px;
     height: 12px;
     border-radius: 50%;
     background-color: #ddd;
     border: none;
     margin: 0 5px;
     opacity: 1;
 }

 .carousel-indicators .active {
     background-color: #333;
 }

 /* Remove default carousel styling */
 .carousel-item {
     transition: transform 0.6s ease-in-out;
 }

 @media (max-width: 768px) {
     .review-card {
         padding: 30px 20px;
         margin: 0 10px;
     }

     .section-title {
         font-size: 2rem;
     }

     .carousel-control-prev,
     .carousel-control-next {
         width: 40px;
         height: 40px;
     }

     .carousel-control-prev {
         left: -20px;
     }

     .carousel-control-next {
         right: -20px;
     }
 }
 .contact-page {
  background: #d0d0d2;
}
.bg-black .h1 {
  color: #fff;
  font-weight: 800;
  font-size: 3em;
}
.contact-page .btn.btn-primary-custom {
  background: #000;
  color: #fff;
}
.pswp__img{
    object-fit: contain;
}
    .gallery-section {
        background-color: #f8f9fa;
    }

    .gallery-item {
        position: relative;
        overflow: hidden;
        border-radius: 12px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.1);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        cursor: pointer;
        aspect-ratio: 4/3;
    }

    .gallery-item:hover {
        transform: translateY(-8px);
        box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    }

    .gallery-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: transform 0.4s ease;
    }

    .gallery-item:hover .gallery-image {
        transform: scale(1.1);
    }

    .gallery-overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: #000;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .gallery-item:hover .gallery-overlay {
        opacity: 1;
    }

    .gallery-overlay i {
        color: white;
        font-size: 2.5rem;
        transform: scale(0.8);
        transition: transform 0.3s ease;
    }

    .gallery-item:hover .gallery-overlay i {
        transform: scale(1);
    }

    /* PhotoSwipe custom styling */
    .pswp__button {
        background-color: rgba(0,0,0,0.5) !important;
    }

    .pswp__button:hover {
        background-color: rgba(0,0,0,0.7) !important;
    }

    /* Responsive adjustments */
    @media (max-width: 768px) {
        .gallery-hero-section .hero-title {
            font-size: 2.5rem;
        }

        .gallery-hero-section .hero-subtitle {
            font-size: 1.1rem;
        }

        .gallery-item {
            aspect-ratio: 1/1;
        }
    }

    @media (max-width: 576px) {
        .gallery-hero-section .hero-title {
            font-size: 2rem;
        }

        .gallery-overlay i {
            font-size: 2rem;
        }
    }