/* =========================
   GLOBAL CSS
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


.navbar-brand img{
	margin-top: -65px;
}

html{
    scroll-behavior:smooth;
}

body{
    background:#fff9f7;
    font-family:'Poppins',sans-serif;
    overflow-x:hidden;
    color:#222;
}

a{
    text-decoration:none;
}

img{
    max-width:100%;
    display:block;
}

ul{
    list-style:none;
    padding:0;
    margin:0;
}

.container{
    max-width:1320px;
}
/* =========================
   TOPBAR
========================= */

.topbar{
    background:#fff;
    padding: 5px 0;
    /* border-bottom:1px solid #f3f3f3; */
}

.topbar-flex{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.top-contact{
    display:flex;
    align-items:center;
    gap: 15px;
    padding: 6px 15px;
    border:1.5px solid #f3b4c2;
    border-radius:50px;
    background:#fff;
}

.top-contact span{
    font-size:14px;
    color:#555;
    display:flex;
    align-items:center;
}

.top-contact i{
    color:#ef5a7b;
    margin-right:8px;
    font-size:14px;
}

/* Divider */
.top-contact span{
    position:relative;
    padding-right:18px;
}

.top-contact span::after{
    content:'';
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:1px;
    height:18px;
    background:#e5e5e5;
}

/* =========================
   SOCIAL ICONS
========================= */

.top-social{
    display:flex;
    align-items:center;
    gap:10px;
}

.top-social a{
    width:34px;
    height:34px;
    border-radius:50%;
    background:#ef5a7b;
    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;
    transition:0.3s ease;
}

.top-social a i{
    margin:0;
    color:#fff;
    font-size:14px;
}

.top-social a:hover{
    background:#d94868;
    transform:translateY(-2px);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:768px){

    .topbar-flex{
        justify-content:center;
    }

    .top-contact{
        flex-wrap:wrap;
        justify-content:center;
        gap:15px;
        border-radius:20px;
        padding:15px;
    }

    .top-contact span::after{
        display:none;
    }
}

/* =========================
   NAVBAR
========================= */

.navbar{
    background:#fff;
    padding: 5px 0;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 5px 20px rgba(0,0,0,.04);
}

.navbar-brand img{
    width: 100px;
}

.navbar-nav{
    align-items:center;
    margin-right: 0px !important;
}

.nav-link{
    color:#222 !important;
    font-weight:600;
    margin:0 14px;
    position:relative;
    transition:.4s;
    font-size:17px;
}

.nav-link::before{
    content:'';
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:2px;
    background:#ef5a7b;
    transition:.4s;
}

.nav-link:hover::before,
.nav-link.active::before{
    width:100%;
}

.nav-link:hover,
.nav-link.active{
    color:#ef5a7b !important;
}

/* =========================
   DROPDOWN
========================= */

.dropdown-toggle{
    display:flex;
    align-items:center;
    gap:6px;
}

.dropdown-toggle::after{
    content:"\f107";
    font-family:"Font Awesome 6 Free";
    font-weight:900;
    border:none !important;
    color:#ef5a7b;
    font-size:12px;
    transition:.4s;
    margin-top:2px;
}

/* DESKTOP */

@media(min-width:992px){

    .navbar .dropdown-menu{
        display:block;
        opacity:0;
        visibility:hidden;
        transform:translateY(20px);
        transition:.4s;
        margin-top:0;
        border:none;
        border-radius:20px;
        padding:15px;
        min-width:250px;
        box-shadow:0 15px 40px rgba(0,0,0,.08);
    }

    .navbar .dropdown:hover .dropdown-menu{
        opacity:1;
        visibility:visible;
        transform:translateY(0);
    }

    .navbar .dropdown:hover .dropdown-toggle::after{
        transform:rotate(180deg);
    }

}

/* MOBILE */

@media(max-width:991px){

    .navbar-collapse{
        background:#fff;
        padding:30px;
        margin-top:20px;
        border-radius:20px;
        box-shadow:0 10px 30px rgba(0,0,0,.06);
        text-align:center;
    }

    .navbar-nav{
        gap:15px;
    }

    .navbar .dropdown-menu{
        display:none;
        opacity:1;
        visibility:visible;
        transform:none;
        border:none;
        box-shadow:none;
        background:#fff5f8;
        margin-top:10px;
        border-radius:15px;
        padding:10px;
        width:100%;
        text-align:center;
    }

    .navbar .dropdown-menu.show{
        display:block;
    }

    .dropdown-item{
        padding:12px 15px;
        border-radius:10px;
    }

}

/* =========================
   DROPDOWN ITEM
========================= */

.dropdown-item{
    padding:12px 18px;
    border-radius:12px;
    transition:.4s;
    font-weight:500;
}

.dropdown-item:hover{
    background:#ffe8ef;
    color:#ef5a7b;
    padding-left:24px;
}

/* =========================
   TOGGLER
========================= */

.navbar-toggler{
    border:1px solid #ddd;
    padding:10px 14px;
    box-shadow:none !important;
}

.navbar-toggler:focus{
    box-shadow:none;
}

.navbar-toggler-icon{
    background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2850,50,50,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* =========================
   BUTTONS
========================= */

.quote-btn,
.main-btn{
    background:linear-gradient(to right,#ff5c8a,#ef5a7b);
    color:#fff;
    padding:14px 32px;
    border-radius:50px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.4s;
}

.quote-btn:hover,
.main-btn:hover{
    transform:translateY(-5px);
    color:#fff;
}

.gallery-btn{
    border:2px solid #222;
    color:#222;
    padding:14px 30px;
    border-radius:50px;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    gap:10px;
    transition:.4s;
}

.gallery-btn:hover{
    background:#222;
    color:#fff;
}
/* HERO */
.hero{
    position:relative;
    height:650px;
    overflow:hidden;
}

.hero-img{
    width:100%;
    height:650px;
    object-fit:cover;
}

/* OVERLAY */
.hero-overlay{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:linear-gradient(to right,
    rgba(0,0,0,.65),
    rgba(0,0,0,.30),
    rgba(0,0,0,.10));
    
    z-index:1;   /* IMPORTANT */
}

/* HERO CONTENT */
.hero-content{
    position:absolute;
    top:50%;
    left:8%;
    transform:translateY(-50%);
    z-index:5;   /* IMPORTANT */
    max-width:600px;
    color:#fff;
}

.hero-subtitle{
    font-family:'Great Vibes',cursive;
    font-size:42px;
    color:#ffd6e2;
}

.hero-content h1{
    font-size:75px;
    line-height:1.1;
    margin:20px 0;
    font-family:'Cormorant Garamond',serif;
    color:#fff;
}

.hero-content h1 span{
    color:#ff5c8a;
}

.hero-content p{
    color:#f1f1f1;
    margin-bottom:35px;
    font-size:17px;
}

/* BUTTONS */
.hero-buttons{
    display:flex;
    gap:20px;
}

/* SOCIAL ICONS */
.social-icons{
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    z-index:6;
    background:#fff;
    padding:12px 10px;
    border-radius:25px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
}

/* SLIDER BUTTON */
.slider-btn{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#222;
    font-size:20px;
}

/* INDICATORS */
.carousel-indicators{
    z-index:7;
}

.carousel-indicators button{
    width:12px !important;
    height:12px !important;
    border-radius:50%;
}

/* MOBILE */
@media(max-width:991px){

    .hero{
        height:520px;
    }

    .hero-img{
        height:520px;
    }

    .hero-content{
        left:5%;
        right:5%;
    }

    .hero-content h1{
        font-size:50px;
    }

    .social-icons{
        display:none;
    }
}

@media(max-width:576px){

    .hero{
        height:480px;
    }

    .hero-img{
        height:480px;
    }

    .hero-content h1{
        font-size:38px;
    }

    .hero-subtitle{
        font-size:30px;
    }

    .hero-content p{
        font-size:14px;
    }

    .hero-buttons{
        flex-direction:column;
        gap:15px;
    }

}

/* =========================
   SLIDER BUTTONS
========================= */

.slider-btn{
    width:58px;
    height:58px;
    border-radius:50%;
    background: #ffffff63;
    color:#222;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:20px;
}

/* =========================
   ABOUT SECTION
========================= */
/* =========================
   LUXURY ABOUT SECTION
========================= */

.about-section{
    position:relative;
    padding: 45px 0;
    background: #fff5e9c2;
    overflow:hidden;
}

/* Decorative Floral Background */

.about-section::before{
    content:'';
    position:absolute;
    left:-40px;
    top:50%;
    transform:translateY(-50%);
    width:260px;
    height:500px;
    background:url("../images/leaf_left.png") no-repeat center;
    background-size:contain;
   opacity: 0.4;
    animation:floatSide 7s ease-in-out infinite;
}

.about-section::after{
    content:'';
    position:absolute;
    right:-40px;
    top:50%;
    transform:translateY(-50%);
    width:260px;
    height:500px;
    background:url("../images/leaf_right.png") no-repeat center;
    background-size:contain;
    opacity: 0.4;
    animation:floatSide 9s ease-in-out infinite;
}

/* LEFT CONTENT */

.section-subtitle{
    font-family:'Great Vibes',cursive;
    font-size:42px;
    color:#ef5a7b;
    display:inline-block;
    margin-bottom:10px;
    animation:fadeUp 1s ease;
}

.section-title-new{
    font-size: 48px;
    line-height:1.1;
    font-family:'Cormorant Garamond',serif;
    color:#222;
    margin-bottom:20px;
    animation:fadeUp 1.2s ease;
}

.title-divider1{
    width:150px;
    height:2px;
    background:#f0d0d8;
    margin:20px 0 30px;
    position:relative;
}

.title-divider1::before{
      content: "\f004"; /* Heart Icon */
    font-family: "Font Awesome 6 Free";
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    background:#f7f3f1;
    padding:0 12px;
    color:#ef5a7b;
    font-size:15px;
}

.about-section p{
    color:#555;
    line-height:38px;
    font-size:18px;
    max-width:520px;
    margin-bottom:35px;
    animation:fadeUp 1.4s ease;
}

/* BUTTON */

.main-btn{
    display:inline-flex;
    align-items:center;
    gap:12px;
    padding:16px 34px;
    border-radius:50px;
    background:linear-gradient(135deg,#ef5a7b,#ff7f9d);
    color:#fff;
    text-decoration:none;
    font-weight:600;
    box-shadow:0 10px 30px rgba(239,90,123,.25);
    transition:.4s ease;
    animation:fadeUp 1.6s ease;
}

.main-btn:hover{
    transform:translateY(-6px);
    color:#fff;
    box-shadow:0 18px 40px rgba(239,90,123,.35);
}

/* GALLERY */

.about-gallery{
    position:relative;
    min-height:520px;
    animation:fadeRight 1.5s ease;
}

/* MAIN IMAGE */

.main-about{
    width:78%;
    border-radius:24px;
    position:absolute;
    top:0;
    border: 8px solid #fff;
    left:50%;
    transform:translateX(-50%);
    object-fit:cover;
    box-shadow:0 25px 60px rgba(0,0,0,.18);
    transition:.5s ease;
    animation:mainFloat 6s ease-in-out infinite;
}

.main-about:hover{
    transform:translateX(-50%) scale(1.03);

}

/* SMALL IMAGES */

.small-about{
    width:220px;
    border-radius:16px;
    border:8px solid #fff;
    position:absolute;
    object-fit:cover;
    box-shadow:0 15px 40px rgba(0,0,0,.15);
    transition:.4s ease;
}

.small-about:hover{
    transform:scale(1.06) rotate(0deg);
}

/* LEFT IMAGE */

.img-one{
    left:0;
    top:170px;
    transform:rotate(-5deg);
    animation:floating 5s ease-in-out infinite;
}

/* RIGHT IMAGE */

.img-two{
    right:0;
    top:150px;
    transform:rotate(6deg) !important;
    animation:floating 6s ease-in-out infinite;
}

/* GLOW EFFECT */

.about-gallery::before{
    content:'';
    position:absolute;
    width:260px;
    height:260px;
    background:rgba(239,90,123,.15);
    border-radius:50%;
    filter:blur(90px);
    top:100px;
    left:50%;
    transform:translateX(-50%);
    z-index:-1;
}

/* =========================
   ANIMATIONS
========================= */

@keyframes floating{
    0%{
        transform:translateY(0px) rotate(-5deg);
    }
    50%{
        transform:translateY(-18px) rotate(-3deg);
    }
    100%{
        transform:translateY(0px) rotate(-5deg);
    }
}

@keyframes mainFloat{
    0%{
        transform:translateX(-50%) translateY(0px);
    }
    50%{
        transform:translateX(-50%) translateY(-12px);
    }
    100%{
        transform:translateX(-50%) translateY(0px);
    }
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

@keyframes fadeRight{
    from{
        opacity:0;
        transform:translateX(60px);
    }
    to{
        opacity:1;
        transform:translateX(0);
    }
}

@keyframes floatSide{
    0%{
        transform:translateY(-50%) translateX(0);
    }
    50%{
        transform:translateY(-52%) translateX(10px);
    }
    100%{
        transform:translateY(-50%) translateX(0);
    }
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .about-section{
        padding:90px 0;
    }

    .section-title-new{
        font-size:46px;
    }

    .about-gallery{
        margin-top:70px;
        min-height:480px;
    }

    .small-about{
        width:170px;
    }
}

@media(max-width:767px){

    .section-title-new{
        font-size:38px;
    }

    .section-subtitle{
        font-size:34px;
    }

    .about-section p{
        line-height:32px;
        font-size:16px;
    }

    .about-gallery{
        min-height:380px;
    }

    .main-about{
        width:100%;
    }

    .small-about{
        width:120px;
        border-width:5px;
    }

    .img-one{
        top:170px;
        left:-10px;
    }

    .img-two{
        top:170px;
        right:-10px;
    }
}
/* =========================
   FEATURES
========================= */

.features-section{
    padding-bottom:100px;
    background-color: #fef5eb;
    padding-top: 40px;
}

.section-heading{
    margin-bottom:60px;
}

.center-title{
    max-width:700px;
    margin:auto;
}

.feature-box{
    background:#fff;
    border:1px solid #f3dddd;
    border-radius:25px;
    padding:40px 20px;
    text-align:center;
    transition:.4s;
    height:100%;
}

.feature-box:hover{
    transform:translateY(-10px);
}

.feature-icon{
    width:90px;
    height:90px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    margin:auto auto 25px;
    font-size:32px;
}

.pink{background:#ffe8ef;color:#ef5a7b;}
.green{background:#e8fff7;color:#11b88c;}
.purple{background:#efe8ff;color:#7b42f4;}
.orange{background:#fff1e2;color:#ff9a2f;}
.red{background:#ffe8ec;color:#ff5f78;}
.blue{background:#e8fbff;color:#00a8ca;}

/* =========================
   SERVICES
========================= */
/* =========================
   SERVICES SECTION
========================= */

.services-section{

    padding:120px 0;
    background:#fff;
    position:relative;
    overflow:hidden;
}

.service-subtitle{
    font-family:'Great Vibes',cursive;
    font-size:42px;
    color:#ef5a7b;
    display:block;
    margin-bottom:10px;
}

.center-title{
    font-size: 45px;
    font-family:'Cormorant Garamond',serif;
    color:#222;
    margin-bottom: 10px;
}

/* =========================
   SERVICE CARD
========================= */

.service-card{
    position:relative;
    border-radius:28px;
    overflow:hidden;
    height:520px;
    cursor:pointer;
    transition:.5s ease;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.service-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:1s ease;
}

.service-card:hover img{
    transform:scale(1.1);
}

/* OVERLAY */

.service-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(to top,
    rgba(0,0,0,.85),
    rgba(0,0,0,.15),
    transparent);
}

/* CONTENT */

.service-content{
    position:absolute;
    left:35px;
    bottom:35px;
    color:#fff;
    z-index:2;
    transition:.4s ease;
}

.service-card:hover .service-content{
    transform:translateY(-10px);
}

.service-icon{
    width:75px;
    height:75px;
    border-radius:50%;
    background:rgba(255,255,255,.18);
    backdrop-filter:blur(8px);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:28px;
    margin-bottom:22px;
    border:1px solid rgba(255,255,255,.25);
    transition:.4s ease;
}

.service-card:hover .service-icon{
    background:#ef5a7b;
    transform:rotate(360deg);
}

.service-content h4{
    font-size:30px;
    margin-bottom:14px;
    font-family:'Cormorant Garamond',serif;
}

.service-content p{
    font-size:16px;
    line-height:30px;
    max-width:280px;
    opacity:.9;
}

/* =========================
   SLIDER BUTTONS
========================= */

.service-arrow{
    width:65px;
    height:65px;
    border-radius:50%;
    background:#fff;
    color:#222;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:22px;
    transition:.4s ease;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.carousel-control-prev,
.carousel-control-next{
    width:auto;
    opacity:1;
}

.carousel-control-prev{
    left:-15px;
}

.carousel-control-next{
    right:-15px;
}

.service-arrow:hover{
    background:#ef5a7b;
    color:#fff;
    transform:scale(1.1);
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .services-section{
        padding:90px 0;
    }

    .center-title{
        font-size:46px;
    }

    .service-card{
        height:450px;
    }
}

@media(max-width:767px){

    .service-subtitle{
        font-size:34px;
    }

    .center-title{
        font-size:38px;
        margin-bottom:50px;
    }

    .service-card{
        height:400px;
    }

    .service-content{
        left:25px;
        bottom:25px;
    }

    .service-content h4{
        font-size:24px;
    }

    .service-icon{
        width:60px;
        height:60px;
        font-size:22px;
    }

    .carousel-control-prev{
        left:5px;
    }

    .carousel-control-next{
        right:5px;
    }
}

/* =========================
   TESTIMONIAL
========================= */
/* =========================
   TESTIMONIAL SECTION
========================= */

.testimonial-section{
    padding:120px 0;
    background:#fdf9f7;
    position:relative;
    overflow:hidden;
}

/* TITLE */

.section-title span{
    font-family:'Great Vibes',cursive;
    font-size:40px;
    color:#ef5a7b;
    display:block;
    margin-bottom:8px;
}

.section-title h2{
    font-size:56px;
    font-family:'Cormorant Garamond',serif;
    color:#222;
    margin-bottom:15px;
}
.section-title{
    position:relative;
}

.section-title::after{
    content:'';
    width:160px;
    height:2px;
    background:#f3c8d2;
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-30px;
}

.section-title::before{
       content: "\f004"; /* Heart Icon */
    font-family: "Font Awesome 6 Free";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    bottom:-42px;
    background:#fdf9f7;
    padding:0 14px;
    color:#ef5a7b;
    font-size:18px;
    z-index:2;
}
/* =========================
   TESTIMONIAL CARD
========================= */

.testimonial-card{
    background:#fff;
    border:1px solid #f5dede;
    border-radius:22px;
    padding:28px;
    transition:.4s ease;
    height:100%;
    position:relative;
    overflow:hidden;
}

.testimonial-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.08);
}

/* TOP */

.testimonial-top{
    display:flex;
    align-items:flex-start;
    gap:18px;
}

/* IMAGE */

.testimonial-top img{
    width:95px;
    height:95px;
    border-radius:50%;
    object-fit:cover;
    border:5px solid #fff;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
    flex-shrink:0;
}

/* STARS */

.stars{
    color:#f5a623;
    margin-bottom:14px;
    font-size:15px;
}

.stars i{
    margin-right:2px;
}

/* TEXT */

.testimonial-card p{
    color:#444;
    line-height:32px;
    font-size:16px;
    margin-bottom:14px;
}

/* NAME */

.testimonial-card h5{
    color:#ef5a7b;
    font-size:18px;
    margin:0;
    font-weight:600;
}

/* =========================
   SLIDER BUTTONS
========================= */

.testimonial-btn{
    width:auto;
    opacity:1;
    top:50%;
    transform:translateY(-50%);
}

.testimonial-btn span{
    width:58px;
    height:58px;
    border-radius:50%;
    background:#ef5a7b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    box-shadow:0 10px 25px rgba(239,90,123,.35);
    transition:.4s ease;
}

.testimonial-btn span:hover{
    background:#222;
    transform:scale(1.08);
}

.carousel-control-prev{
    left:-15px;
}

.carousel-control-next{
    right:-15px;
}

/* =========================
   ANIMATION
========================= */

.testimonial-card{
    animation:fadeUp .8s ease;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .testimonial-section{
        padding:90px 0;
    }

    .section-title h2{
        font-size:44px;
    }

    .carousel-control-prev{
        left:0;
    }

    .carousel-control-next{
        right:0;
    }
}

@media(max-width:767px){

    .section-title span{
        font-size:32px;
    }

    .section-title h2{
        font-size:36px;
    }

    .testimonial-top{
        flex-direction:column;
        text-align:center;
        align-items:center;
    }

    .testimonial-card{
        padding:24px;
    }

    .testimonial-card p{
        line-height:28px;
    }

    .testimonial-btn{
        display:none;
    }
}
/* =========================
   FOOTER
========================= */
/* =========================
   FOOTER SECTION
========================= */

.footer-section{
    position:relative;
    background:#fff;
    padding:90px 0 20px;
    border-top:1px solid #f3dede;
    overflow:hidden;
}

/* FLORAL LEFT */

.footer-section::before{
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:180px;
    height:100%;
    background:url('images/footer-flower-left.png') no-repeat left top;
    background-size:contain;
    opacity:.22;
    pointer-events:none;
}

/* FLORAL RIGHT */

.footer-section::after{
    content:'';
    position:absolute;
    right:0;
    top:0;
    width:180px;
    height:100%;
    background:url('images/footer-flower-right.png') no-repeat right top;
    background-size:contain;
    opacity:.22;
    pointer-events:none;
}

/* =========================
   LOGO
========================= */

.footer-logo{
    text-align: center;
}

.footer-logo img{
    width:130px;
    margin-bottom:18px;
    margin-left: 78px;
}

.footer-logo p{
    color:#666;
    line-height:32px;
    font-size:16px;
    max-width:260px;
    margin:auto;
}

/* =========================
   SOCIAL ICONS
========================= */

.footer-social{
    display:flex;
    justify-content:center;
    gap:14px;
    margin-top:28px;
}

.footer-social a{
    width:45px;
    height:45px;
    border-radius:50%;
    background:#fff;
    border:1px solid #f3dede;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#ef5a7b;
    font-size:16px;
    transition:.4s ease;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
}

.footer-social a:hover{
    background:#ef5a7b;
    color:#fff;
    transform:translateY(-5px);
}

/* =========================
   HEADINGS
========================= */

.footer-links h4,
.footer-gallery h4{
    margin-bottom:28px;
    font-size:26px;
    font-family:'Cormorant Garamond',serif;
    color:#222;
    font-weight:700;
}

/* =========================
   LINKS
========================= */

.footer-links ul{
    padding:0;
    margin:0;
}

.footer-links ul li{
    list-style:none;
    margin-bottom:15px;
}

.footer-links ul li a{
    color:#666;
    text-decoration:none;
    transition:.4s ease;
    font-size:16px;
}

.footer-links ul li a:hover{
    color:#ef5a7b;
    padding-left:6px;
}

/* =========================
   CONTACT
========================= */

.contact-footer li{
    display:flex;
    align-items:flex-start;
    gap:12px;
    color:#666;
    line-height:28px;
    font-size:15px;
}

.contact-footer i{
    color:#ef5a7b;
    margin-top:6px;
    font-size:15px;
}

/* =========================
   GALLERY
========================= */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.gallery-grid img{
    width:100%;
    height:72px;
    border-radius:12px;
    object-fit:cover;
    transition:.4s ease;
    cursor:pointer;
}

.gallery-grid img:hover{
    transform:scale(1.08);
}

/* =========================
   FOOTER BOTTOM
========================= */

.footer-bottom{
    margin-top:55px;
    border-top:1px solid #f3dede;
    padding-top:22px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    gap:15px;
}

.footer-bottom p{
    color:#666;
    margin:0;
    font-size:15px;
}

.footer-bottom span{
    color:#ef5a7b;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .footer-section{
        padding:80px 0 20px;
    }

    .footer-logo{
        text-align:left;
    }

    .footer-logo p{
        margin:0;
    }

    .footer-social{
        justify-content:flex-start;
    }
}

@media(max-width:767px){

    .footer-section{
        padding:70px 0 20px;
    }

    .footer-links h4,
    .footer-gallery h4{
        margin-bottom:18px;
        font-size:24px;
    }

    .footer-bottom{
        text-align:center;
        justify-content:center;
    }

    .gallery-grid img{
        height:65px;
    }

    .footer-section::before,
    .footer-section::after{
        width:100px;
        opacity:.12;
    }
}

/* =========================
   WHATSAPP BUTTON
========================= */

.whatsapp-btn{
    position:fixed;
    right:25px;
    bottom:25px;
    width:72px;
    height:72px;
    border-radius:50%;
    background:linear-gradient(135deg,#25d366,#1ebc57);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:36px;
    z-index:999;
    box-shadow:0 10px 30px rgba(37,211,102,.35);
    animation:pulse 2s infinite;
}

.whatsapp-btn:hover{
    color:#fff;
    transform:scale(1.08);
}

@keyframes pulse{

    0%{
        box-shadow:0 0 0 0 rgba(37,211,102,.5);
    }

    70%{
        box-shadow:0 0 0 20px rgba(37,211,102,0);
    }

    100%{
        box-shadow:0 0 0 0 rgba(37,211,102,0);
    }

}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .hero{
        height:700px;
    }

    .hero-img{
        height:700px;
    }

    .hero-overlay{
        background:rgba(255,255,255,.85);
    }

    .hero-content{
        left:5%;
        right:5%;
    }

    .hero-content h1{
        font-size:52px;
    }

    .hero-buttons{
        flex-direction:column;
    }

    .social-icons{
        display:none;
    }

    .img-one,
    .img-two{
        display:none;
    }

}

@media(max-width:576px){

    .topbar{
        display:none;
    }

    .hero{
        height:650px;
    }

    .hero-img{
        height:650px;
    }

    .hero-content h1{
        font-size:42px;
    }

    .section-title{
        font-size:40px;
    }

    .testimonial-top{
        flex-direction:column;
        text-align:center;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-bottom{
        justify-content:center;
        text-align:center;
    }

}

/* =========================================================
   RESPONSIVE CSS FIX
   MOBILE + TABLET PERFECT RESPONSIVE
========================================================= */

/* =========================
   TABLET
========================= */

@media(max-width:991px){

    /* NAVBAR */

    .navbar{
        padding:12px 0;
    }

    .navbar-brand img{
        width:95px;
        margin-top:0;
    }

    .navbar-collapse{
        background:#fff;
        padding:25px;
        margin-top:15px;
        border-radius:20px;
        box-shadow:0 10px 30px rgba(0,0,0,.08);
    }

    .navbar-nav{
        align-items:flex-start;
        gap:5px;
    }

    .nav-link{
        margin:0;
        padding:14px 10px !important;
        width:100%;
        text-align:left;
        border-bottom:1px solid #f5e3e3;
    }

    .quote-btn{
        margin-top:20px;
        width:100%;
        justify-content:center;
    }

    /* DROPDOWN */

    .navbar .dropdown-menu{
        position:static !important;
        transform:none !important;
        width:100%;
        margin-top:10px;
        border-radius:15px;
        background:#fff5f8;
        border:none;
        padding:10px;
        box-shadow:none;
    }

    .dropdown-item{
        padding:12px 15px;
        font-size:15px;
    }

    /* HERO */

    .hero{
        height:560px;
    }

    .hero-img{
        height:560px;
    }

    .hero-overlay{
        background:linear-gradient(to right,
        rgba(0,0,0,.70),
        rgba(0,0,0,.45));
    }

    .hero-content{
        left:5%;
        right:5%;
        max-width:100%;
        text-align:center;
    }

    .hero-subtitle{
        font-size:34px;
    }

    .hero-content h1{
        font-size:52px;
        line-height:1.2;
    }

    .hero-content p{
        font-size:16px;
    }

    .hero-buttons{
        justify-content:center;
        flex-wrap:wrap;
    }

    .social-icons{
        display:none;
    }

    .slider-btn{
        width:48px;
        height:48px;
        font-size:16px;
    }

    /* ABOUT */

    .about-section{
        padding:80px 0;
    }

    .section-title{
        font-size:46px;
    }

    .about-gallery{
        margin-top:50px;
    }

    .img-one,
    .img-two{
        display:none;
    }

    /* FEATURES */

    .feature-box{
        padding:30px 20px;
    }

    /* TESTIMONIAL */

    .testimonial-card{
        padding:25px;
    }

    .testimonial-top{
        flex-direction:column;
        align-items:center;
        text-align:center;
    }

    /* FOOTER */

    .footer-section{
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }

    .contact-footer li{
        justify-content:center;
    }

    .footer-bottom{
        justify-content:center;
        text-align:center;
    }

}

/* =========================
   MOBILE
========================= */

@media(max-width:576px){

    /* TOPBAR */

    .topbar{
        display: block;
    }

    /* NAVBAR */

    .navbar{
        padding:10px 0;
    }

    .navbar-brand img{
        width:80px;
    }

    .navbar-toggler{
        padding:8px 12px;
    }

    .navbar-collapse{
        padding:20px;
        border-radius:15px;
    }

    .nav-link{
        font-size:15px;
        padding:12px 5px !important;
    }

    .dropdown-item{
        font-size:14px;
        padding:10px 12px;
    }

    /* HERO */

    .hero{
        height:500px;
    }

    .hero-img{
        height:500px;
    }

    .hero-content{
        top:52%;
        left:20px;
        right:20px;
        text-align:center;
    }

    .hero-subtitle{
        font-size:28px;
    }

    .hero-content h1{
        font-size:34px;
        margin:12px 0;
    }

    .hero-content p{
        font-size:14px;
        margin-bottom:20px;
    }

    .hero-buttons{
        flex-direction:column;
        gap:12px;
    }

    .main-btn,
    .gallery-btn{
        width:100%;
        justify-content:center;
        padding:13px 20px;
        font-size:14px;
    }

    .slider-btn{
        width:42px;
        height:42px;
        font-size:14px;
    }

    .carousel-control-prev{
        left:5px;
    }

    .carousel-control-next{
        right:5px;
    }

    /* ABOUT */

  /* ABOUT SECTION */
.about-section{
    padding:80px 0;
    position: relative;
    overflow: hidden;
    background: #fff;
}

/* LEFT LEAF */
.about-section::before{
    content: "";
    position: absolute;
    left: -20px;
    top: 80px;
    width: 180px;
    height: 220px;
    background: url("../images/leaf.png") no-repeat center;
    background-size: contain;
    opacity: 0.35;
    z-index: 1;
}

/* RIGHT LEAF */
.about-section::after{
    content: "";
    position: absolute;
    right: -20px;
    top: 80px;
    width: 180px;
    height: 220px;
    background: url("../images/leaf.png") no-repeat center;
    background-size: contain;
    opacity: 0.35;
    transform: scaleX(-1);
    z-index: 1;
}

/* CONTENT ABOVE LEAF */
.about-section .container{
    position: relative;
    z-index: 2;
}
	
	@media(max-width:768px){
    .about-section::before,
    .about-section::after{
        width:100px;
        height:140px;
        opacity:0.25;
    }

    .small-about{
        width:110px;
    }

    .img-one{
        left:10px;
    }

    .img-two{
        right:10px;
    }
}

    .section-subtitle{
        font-size:28px;
    }

    .section-title{
        font-size:34px;
        line-height:1.2;
    }

    .about-section p{
        font-size:14px;
        line-height:28px;
    }

    /* FEATURES */

    .features-section{
        padding-bottom:60px;  
        background-color: #fff;
    }

    .feature-box{
        padding:25px 15px;
    }

    .feature-icon{
        width:75px;
        height:75px;
        font-size:26px;
    }

    .feature-box h4{
        font-size:18px;
    }

    /* SERVICES */

    .services-section{
        padding-bottom:60px;
    }

    .service-card img{
        height:200px;
    }

    .service-content{
        padding:20px 15px;
    }

    .service-content h4{
        font-size:18px;
    }

    .service-content p{
        font-size:14px;
        line-height:24px;
    }

    /* TESTIMONIAL */

    .testimonial-section{
        padding:60px 0;
    }

    .testimonial-card{
        padding:20px;
    }

    .testimonial-top img{
        width:75px;
        height:75px;
        margin:auto;
    }

    .testimonial-card p{
        font-size:14px;
        line-height:24px;
    }

    .testimonial-btn span{
        width:42px;
        height:42px;
        font-size:14px;
    }

    /* FOOTER */

    .footer-section{
        padding:60px 0 20px;
    }

    .footer-logo img{
        margin:auto auto 20px;
    }

    .footer-links h4,
    .footer-gallery h4{
        margin-top:25px;
        font-size:20px;
    }

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .footer-bottom{
        margin-top:30px;
    }

    .footer-bottom p{
        font-size:14px;
    }

    /* WHATSAPP */

    .whatsapp-btn{
        width:58px;
        height:58px;
        font-size:28px;
        right:15px;
        bottom:15px;
    }

}


/* =========================================================
   COUNTER / HAPPY CLIENT SECTION
========================================================= */

.counter-section{
    padding:80px 0;
    background:linear-gradient(to right,#fff7f9,#fff);
}

.counter-wrapper{
    background:#fff;
    border-radius:30px;
    padding:50px 40px;

    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:25px;

    align-items:center;

    box-shadow:0 10px 35px rgba(0,0,0,.05);
}

/* LOGO */

.counter-logo{
    text-align:center;
}

.counter-logo img{
    width:140px;
    margin:auto;
}

/* COUNTER BOX */

.counter-box{
    background:#fff;
    border:1px solid #f4dede;
    border-radius:25px;

    padding:35px 20px;

    text-align:center;

    transition:.4s;

    height:100%;
}

.counter-box:hover{
    transform:translateY(-8px);
    box-shadow:0 10px 30px rgba(0,0,0,.06);
}

/* ICON */

.counter-icon{
    width:85px;
    height:85px;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    margin:auto auto 20px;

    font-size:30px;
}

/* ICON COLORS */

.yellow{
    background:#fff4df;
    color:#f7a600;
}

.green{
    background:#e8fff5;
    color:#11b67a;
}

.purple{
    background:#f1e8ff;
    color:#8c52ff;
}

.red{
    background:#ffe9ec;
    color:#ff5c7c;
}

/* TEXT */

.counter-box h2{
    font-size:42px;
    font-weight:700;
    color:#222;
    margin-bottom:10px;
}

.counter-box p{
    font-size:16px;
    color:#666;
    margin:0;
    font-weight:500;
}

/* =========================================================
   TABLET
========================================================= */

@media(max-width:991px){

    .counter-wrapper{

        grid-template-columns:repeat(2,1fr);

        padding:35px 25px;
    }

    .counter-logo{
        grid-column:1/-1;
        margin-bottom:10px;
    }

    .counter-logo img{
        width:110px;
    }

    .counter-box h2{
        font-size:36px;
    }

}

/* =========================================================
   MOBILE
========================================================= */

@media(max-width:576px){

    .counter-section{
        padding:55px 0;
    }

    .counter-wrapper{

        grid-template-columns:1fr;

        gap:18px;

        padding:25px 18px;

        border-radius:22px;
    }

    .counter-logo img{
        width:90px;
    }

    .counter-box{
        padding:28px 18px;
        border-radius:20px;
    }

    .counter-icon{
        width:70px;
        height:70px;
        font-size:24px;
    }

    .counter-box h2{
        font-size:32px;
    }

    .counter-box p{
        font-size:14px;
    }

}






/* =========================
   ABOUT PAGE BANNER
========================= */

.inner-banner{
    position:relative;
    height: 300px;
    background:url("../images/about-banner.jpg") center center/cover;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}

.inner-banner::before{
    content:'';
    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(0,0,0,.65),
        rgba(0,0,0,.45)
    );
}

.banner-content{
    position:relative;
    z-index:2;
    text-align:center;
    color:#fff;
}

.banner-content h1{
    font-size:70px;
    font-family:'Cormorant Garamond',serif;
    margin-bottom:15px;
}

.banner-content p{
    font-size:20px;
    letter-spacing:1px;
}

/* =========================
   ABOUT PAGE SECTION
========================= */

.about-page-section{
    padding:100px 0;
    background:#fff;
}

.about-page-img{
    width:100%;
    max-width:500px;
    height:600px;
    object-fit:cover;
    border-radius:25px;
    box-shadow:0 20px 50px rgba(0,0,0,.12);
    display:block;
    margin:auto;
}

.about-page-img{
    animation:floatImage 4s ease-in-out infinite;
}

@keyframes floatImage{
    0%{
        transform:translateY(0px);
    }
    50%{
        transform:translateY(-15px);
    }
    100%{
        transform:translateY(0px);
    }
}		
.about-page-section p{
    color:#666;
    font-size:17px;
    line-height:32px;
    margin-bottom:20px;
}
/* =========================
   WHY COUPLES TRUST US
========================= */

.trust-section{
    padding:100px 0;
    background:#fff8f4;
    position:relative;
    overflow:hidden;
}

.trust-card{
    background:#fff;
    padding:45px 25px;
    border-radius:25px;
    text-align:center;
    border:1px solid #f4dede;
    transition:.4s ease;
    height:100%;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.trust-card:hover{
    transform:translateY(-12px);
    box-shadow:0 20px 50px rgba(239,90,123,.12);
    border-color:#ef5a7b;
}

.trust-card h3{
    font-size:58px;
    font-weight: 600;
    color:#ef5a7b;
    margin-bottom:12px;
    font-family: 'Poppins';
    line-height:1;
}

.trust-card p{
    margin:0;
    color:#666;
    font-size:17px;
    font-weight:500;
}

/* Decorative Line */

.trust-section .section-heading{
    margin-bottom:70px;
}

/* Responsive */

@media(max-width:991px){

    .trust-section{
        padding:80px 0;
    }

    .trust-card h3{
        font-size:48px;
    }

}

@media(max-width:576px){

    .trust-section{
        padding:60px 0;
    }

    .trust-card{
        padding:35px 20px;
    }

    .trust-card h3{
        font-size:40px;
    }

    .trust-card p{
        font-size:15px;
    }

}

/* =========================
   MISSION SECTION
========================= */

.mission-section{
    padding:100px 0;
    background:#fff;
}

.mission-card{
    background:#fff8fa;
    border:1px solid #f4d9df;
    border-radius:25px;
    padding:50px 35px;
    text-align:center;
    transition:.4s;
    height:100%;
}

.mission-card:hover{
    transform:translateY(-10px);
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.mission-card i{
    width:90px;
    height:90px;
    line-height:90px;
    border-radius:50%;
    background:#ef5a7b;
    color:#fff;
    font-size:35px;
    margin-bottom:25px;
}

.mission-card h3{
    font-size:32px;
    font-family:'Cormorant Garamond',serif;
    margin-bottom:15px;
}

.mission-card p{
    color:#666;
    line-height:30px;
}

/* =========================
   TEAM SECTION
========================= */

.team-section{
    padding:100px 0;
    background:#fff8f4;
}

.team-card{
    background:#fff;
    border-radius:25px;
    overflow:hidden;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.06);
    transition:.4s;
}

.team-card:hover{
    transform:translateY(-10px);
}

.team-card img{
    width:100%;
    height:350px;
    object-fit:cover;
}

.team-card h4{
    margin-top:25px;
    font-size:28px;
    font-family:'Cormorant Garamond',serif;
}

.team-card span{
    display:block;
    margin-bottom:25px;
    color:#ef5a7b;
    font-weight:600;
}

/* =========================
   WHY CHOOSE US
========================= */

.about-feature{
    padding:100px 0;
    background:#fff;
}

.about-feature-card{
    background:#fff;
    border:1px solid #f4dede;
    border-radius:20px;
    padding:35px 25px;
    text-align:center;
    transition:.4s;
    height:100%;
}

.about-feature-card:hover{
    transform:translateY(-8px);
}

.about-feature-card i{
    font-size:40px;
    color:#ef5a7b;
    margin-bottom:20px;
}

.about-feature-card h4{
    margin-bottom:12px;
    font-size:22px;
}

.about-feature-card p{
    color:#666;
    line-height:28px;
}

/* =========================
   CTA SECTION
========================= */

.about-cta{
    padding:100px 0;
    background:linear-gradient(
        135deg,
        #ef5a7b,
        #ff7f9d
    );
    text-align:center;
    color:#fff;
}

.about-cta h2{
    font-size:55px;
    font-family:'Cormorant Garamond',serif;
    margin-bottom:20px;
}

.about-cta p{
    font-size:18px;
    max-width:700px;
    margin:auto auto 30px;
}

.about-cta .main-btn{
    background:#fff;
    color:#ef5a7b;
}

.about-cta .main-btn:hover{
    color:#ef5a7b;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:991px){

    .banner-content h1{
        font-size:50px;
    }

    .story-box{
        flex-direction:column;
        text-align:center;
    }

    .year{
        width:100px;
        height:100px;
        font-size:24px;
    }

    .about-cta h2{
        font-size:42px;
    }
}

@media(max-width:576px){

    .inner-banner{
        height:280px;
    }

    .banner-content h1{
        font-size:38px;
    }

    .banner-content p{
        font-size:15px;
    }

    .about-page-section,
    .story-section,
    .mission-section,
    .team-section,
    .about-feature,
    .about-cta{
        padding:60px 0;
    }

    .team-card img{
        height:260px;
    }

    .about-cta h2{
        font-size:32px;
    }

    .about-cta p{
        font-size:15px;
    }
}

/* =========================================================
   CONTACT PAGE CSS
========================================================= */

.contact-banner{
    background:url("../images/about-banner.jpg") center center/cover;
}

.banner-subtitle{
    font-family:'Great Vibes',cursive;
    font-size:36px;
    color:#ffd6e2;
    display:block;
    margin-bottom:8px;
}

.contact-page-section{
    padding:100px 0 90px;
    background:linear-gradient(180deg,#fff9f7 0%,#fff 100%);
    position:relative;
    overflow:hidden;
}

.contact-page-section::before{
    content:'';
    position:absolute;
    left:-60px;
    top:130px;
    width:230px;
    height:420px;
    background:url("../images/leaf_left.png") no-repeat center;
    background-size:contain;
    opacity:.22;
    pointer-events:none;
    animation:floatSide 8s ease-in-out infinite;
}

.contact-page-section::after{
    content:'';
    position:absolute;
    right:-60px;
    top:260px;
    width:230px;
    height:420px;
    background:url("../images/leaf_right.png") no-repeat center;
    background-size:contain;
    opacity:.22;
    pointer-events:none;
    animation:floatSide 9s ease-in-out infinite;
}

.contact-page-section .container{
    position:relative;
    z-index:2;
}

.contact-intro{
    max-width:650px;
    margin: 0px auto 0;
    color:#666;
    font-size:17px;
    line-height:30px;
}

.contact-info-row{
    margin-bottom:70px;
}

.contact-info-card{
    height:100%;
    background:#fff;
    border:1px solid #f4dede;
    border-radius:28px;
    padding:38px 28px;
    text-align:center;
    box-shadow:0 12px 35px rgba(0,0,0,.05);
    transition:.4s ease;
}

.contact-info-card:hover{
    transform:translateY(-10px);
    border-color:#ef5a7b;
    box-shadow:0 22px 50px rgba(239,90,123,.13);
}

.contact-icon{
    width:88px;
    height:88px;
    border-radius:50%;
    background:#ffe8ef;
    color:#ef5a7b;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 24px;
    font-size:32px;
    transition:.4s ease;
}

.contact-info-card:hover .contact-icon{
    background:#ef5a7b;
    color:#fff;
    transform:rotate(360deg);
}

.contact-info-card h4{
    font-family:'Cormorant Garamond',serif;
    font-size:30px;
    font-weight:700;
    color:#222;
    margin-bottom:10px;
}

.contact-info-card p{
    color:#666;
    margin-bottom:12px;
    line-height:28px;
}

.contact-info-card a{
    color:#ef5a7b;
    font-weight:600;
}

.contact-main-row{
    margin-top:10px;
}

.contact-form-box,
.contact-detail-box{
    height:100%;
    background:#fff;
    border:1px solid #f4dede;
    border-radius:30px;
    padding:50px;
    box-shadow:0 18px 50px rgba(0,0,0,.06);
}

.contact-form-box h3,
.contact-detail-box h3{
    font-family:'Cormorant Garamond',serif;
    font-size:44px;
    line-height:1.15;
    color:#222;
    margin-bottom:25px;
}

.contact-form .form-group{
    position:relative;
}

.contact-form .form-group i{
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    color:#ef5a7b;
    font-size:15px;
    z-index:2;
}

.contact-form .textarea-group i{
    top:24px;
    transform:none;
}

.contact-form input,
.contact-form select,
.contact-form textarea{
    width:100%;
    border:1px solid #f2d9df;
    background:#fff8fa;
    border-radius:16px;
    padding:17px 18px 17px 50px;
    font-size:15px;
    color:#444;
    outline:none;
    transition:.3s ease;
}

.contact-form textarea{
    resize:none;
    min-height:145px;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
    border-color:#ef5a7b;
    background:#fff;
    box-shadow:0 10px 25px rgba(239,90,123,.10);
}

.contact-submit-btn{
    border:none;
    cursor:pointer;
    margin-top:6px;
}

.contact-detail-box{
    background:linear-gradient(145deg,#fff,#fff5f8);
    position:relative;
    overflow:hidden;
}

.contact-detail-box::after{
       content: "\f004"; /* Heart Icon */
    font-family: "Font Awesome 6 Free";
    position:absolute;
    right:34px;
    top:30px;
    font-size:70px;
    color:rgba(239,90,123,.08);
}

.contact-detail-box p{
    color:#666;
    font-size:17px;
    line-height:32px;
    margin-bottom:28px;
}

.contact-feature-list{
    display:grid;
    gap:15px;
    margin-bottom:30px;
}

.contact-feature-item{
    display:flex;
    gap:13px;
    align-items:center;
    color:#444;
    font-weight:500;
}

.contact-feature-item i{
    width:28px;
    height:28px;
    border-radius:50%;
    background:#ef5a7b;
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:13px;
    flex-shrink:0;
}

.contact-timing-card{
    display:flex;
    gap:18px;
    align-items:center;
    background:#fff;
    border:1px solid #f4dede;
    border-radius:20px;
    padding:22px;
    margin-bottom:28px;
}

.contact-timing-card > i{
    width:62px;
    height:62px;
    border-radius:50%;
    background:#ffe8ef;
    color:#ef5a7b;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:25px;
    flex-shrink:0;
}

.contact-timing-card h5{
    font-size:22px;
    font-family:'Cormorant Garamond',serif;
    font-weight:700;
    margin-bottom:4px;
}

.contact-timing-card p{
    margin:0;
    font-size:15px;
    line-height:26px;
}

.whatsapp-contact-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:#25d366;
    color:#fff;
    border-radius:50px;
    padding:15px 28px;
    font-weight:600;
    transition:.4s ease;
}

.whatsapp-contact-btn:hover{
    color:#fff;
    transform:translateY(-5px);
    box-shadow:0 15px 35px rgba(37,211,102,.25);
}

.map-section{
    padding:0 0 100px;
    background:#fff;
}

.map-box{
    border-radius:30px;
    overflow:hidden;
    box-shadow:0 18px 50px rgba(0,0,0,.08);
    border:8px solid #fff;
}

.map-box iframe{
    width:100%;
    height:420px;
    border:0;
    display:block;
}

@media(max-width:991px){
    .contact-page-section{
        padding:80px 0;
    }

    .contact-intro{
        margin:-35px auto 0;
    }

    .contact-form-box,
    .contact-detail-box{
        padding:38px 28px;
    }

    .contact-form-box h3,
    .contact-detail-box h3{
        font-size:38px;
    }

    .map-section{
        padding-bottom:80px;
    }
}

@media(max-width:576px){
    .banner-subtitle{
        font-size:28px;
    }

    .contact-page-section{
        padding:60px 0;
    }

    .contact-page-section::before,
    .contact-page-section::after{
        width:120px;
        height:220px;
        opacity:.16;
    }

    .contact-intro{
        margin:-30px auto 0;
        font-size:15px;
        line-height:27px;
    }

    .contact-info-row{
        margin-bottom:45px;
    }

    .contact-info-card{
        padding:30px 20px;
        border-radius:22px;
    }

    .contact-icon{
        width:72px;
        height:72px;
        font-size:26px;
    }

    .contact-info-card h4{
        font-size:26px;
    }

    .contact-form-box,
    .contact-detail-box{
        padding:30px 20px;
        border-radius:22px;
    }

    .contact-form-box h3,
    .contact-detail-box h3{
        font-size:31px;
    }

    .contact-form input,
    .contact-form select,
    .contact-form textarea{
        padding:15px 15px 15px 45px;
        font-size:14px;
    }

    .contact-timing-card{
        align-items:flex-start;
        padding:18px;
    }

    .contact-timing-card > i{
        width:50px;
        height:50px;
        font-size:20px;
    }

    .whatsapp-contact-btn,
    .contact-submit-btn{
        width:100%;
        justify-content:center;
    }

    .map-section{
        padding-bottom:60px;
    }

    .map-box{
        border-radius:20px;
        border-width:5px;
    }

    .map-box iframe{
        height:320px;
    }
}

.gallery-section{
    padding:80px 0;
}

.gallery-section .container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:25px;
}

.gallery-item{
    display:block;
    overflow:hidden;
    border-radius:20px;
}

.gallery-item img{
    width:100%;
    height:320px;
    object-fit:cover;
    transition:.5s;
}

.gallery-item:hover img{
    transform:scale(1.08);
}

/* POPUP */

.popup{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.9);
    display:flex;
    justify-content:center;
    align-items:center;
    opacity:0;
    visibility:hidden;
    transition:.4s;
    z-index:99999;
}

.popup:target{
    opacity:1;
    visibility:visible;
}

.popup img{
    max-width:90%;
    max-height:85vh;
    border-radius:20px;
}

.close{
    position:absolute;
    top:20px;
    right:35px;
    font-size:50px;
    color:#fff;
    text-decoration:none;
}

@media(max-width:768px){
    .gallery-section .container{
        grid-template-columns:repeat(2,1fr);
    }

    .gallery-item img{
        height:220px;
    }
}

@media(max-width:576px){
    .gallery-section .container{
        grid-template-columns:1fr;
    }
}
.lightbox{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    z-index:999999;
    justify-content:center;
    align-items:center;
    padding:70px 110px;
}

.lightbox-img{
    max-width:100%;
    max-height:82vh;
    border-radius:18px;
    object-fit:contain;
}

.close-lightbox{
    position:absolute;
    top:25px;
    right:35px;
    color:#fff;
    font-size:48px;
    cursor:pointer;
    z-index:1000000;
}

.lightbox-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:55px;
    height:55px;
    border-radius:50%;
    background:#ef5a7b;
    color:#fff;
    font-size:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:1000000;
}

.prev{ left:35px; }
.next{ right:35px; }

@media(max-width:768px){
    .lightbox{
        padding:70px 20px;
    }

    .lightbox-arrow{
        width:42px;
        height:42px;
        font-size:24px;
    }

    .prev{ left:10px; }
    .next{ right:10px; }
}







.cities-section{
    padding:100px 0;
    background:#fff8f4;
}

.city-card{
    position:relative;
    overflow:hidden;
    border-radius:25px;
    height:350px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.city-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.6s;
}

.city-card:hover img{
    transform:scale(1.1);
}

.city-content{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    padding:25px;
    background:linear-gradient(to top,rgba(0,0,0,.85),transparent);
    color:#fff;
}

.city-content h3{
    font-size:32px;
    margin-bottom:12px;
    font-family:'Cormorant Garamond',serif;
}



@media(max-width:576px){
    .city-card{
        height:280px;
    }

    .city-content h3{
        font-size:26px;
    }
}






.wedding-planning-section{
    padding:100px 0;
    background:#fff;
}

.planning-img img{
    width:100%;
    height:560px;
    object-fit:cover;
    border-radius:30px;
    box-shadow:0 20px 50px rgba(0,0,0,.12);
}

.wedding-planning-section p{
    color:#666;
    font-size:17px;
    line-height:32px;
    margin-bottom:18px;
}

.planning-list{
    margin:25px 0 35px;
}

.planning-list li{
    margin-bottom:14px;
    color:#444;
    font-size:16px;
    font-weight:500;
}

.planning-list li i{
    color:#ef5a7b;
    margin-right:10px;
}

.planning-features{
    padding:100px 0;
    background:#fff8f5;
}

.planning-card{
    background:#fff;
    border:1px solid #f4dede;
    border-radius:25px;
    padding:40px 28px;
    text-align:center;
    height:100%;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.planning-card:hover{
    transform:translateY(-10px);
    border-color:#ef5a7b;
}

.planning-card i{
    width:80px;
    height:80px;
    line-height:80px;
    border-radius:50%;
    background:#ffe8ef;
    color:#ef5a7b;
    font-size:30px;
    margin-bottom:22px;
}

.planning-card h3{
    font-size:30px;
    font-family:'Cormorant Garamond',serif;
    margin-bottom:14px;
}

.planning-card p{
    color:#666;
    line-height:28px;
    margin:0;
}

@media(max-width:768px){
    .wedding-planning-section,
    .planning-features{
        padding:60px 0;
    }

    .planning-img img{
        height:350px;
    }
}