/********** Template CSS **********/

:root{
    --bs-primary:#E63973;
    --bs-secondary:#6C63FF;
    --bs-dark:#2D3748;
    --bs-light:#FFF9FB;

    --primary-light:#FFE4ED;
    --secondary-light:#F2EFFF;
    --accent:#FFC857;
}




/*** Spinner ***/
#spinner {
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s ease-out, visibility 0s linear .5s;
    z-index: 99999;
}

#spinner.show {
    transition: opacity .5s ease-out, visibility 0s linear 0s;
    visibility: visible;
    opacity: 1;
}

.back-to-top {
    position: fixed !important;
    display: none;
    right: 45px;
    bottom: 45px;
    z-index: 99;
}

/*** Fonts ***/
.font-work-sans {
  font-family: "Work Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.font-playfair-display {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.font-dancing-script {
    font-family: "Dancing Script", cursive;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}


/*** Light BG Color ***/
.bg-primary-light{
    background: var(--primary-light);
}

.bg-secondary-light{
    background: var(--secondary-light);
}

.bg-dark-light{
    background:#F8F9FC;
}


/*** Button ***/
.btn-primary{
    background:#E63973;
    border-color:#E63973;
    color:#fff;
}

.btn-primary:hover{
    background:#C81E5B;
    border-color:#C81E5B;
}

.btn-secondary{
    background:#6C63FF;
    border-color:#6C63FF;
    color:#fff;
}

.btn-secondary:hover{
    background:#5548F5;
    border-color:#5548F5;
}

/*** Top Bar ***/
.top-bar {
    height: 90px;
    padding: 0 90px;
}

.top-bar img {
    max-height: 50px;
}

@media (max-width: 991.98px) {
    .top-bar {
        padding: 0 30px;
    }
}


/*** Nav Bar ***/
/* ===========================
   NAVBAR
=========================== */

.nav-bar{
    background: linear-gradient(90deg,#6C63FF 0%,#8B5CF6 40%,#E63973 100%);
    box-shadow:0 8px 25px rgba(108,99,255,.25);
}

.navbar .navbar-nav .nav-link{
    color:#ffffff;
    font-weight:600;
    letter-spacing:.3px;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active{
    color:#FFD166;
}

.navbar .dropdown-toggle::after{
    color:#ffffff;
}

.navbar-toggler{
    border-color:rgba(255,255,255,.4);
}


/* ===========================
   FOOTER
=========================== */

.footer{
    background:linear-gradient(135deg,#6C63FF 0%,#E63973 100%);
    color:#fff;
}

.footer::after{
    background:rgba(255,255,255,.15);
}

.footer h4{
    color:#ffffff;
    font-weight:700;
}

.footer p,
.footer .btn.btn-link{
    color:rgba(255,255,255,.88);
}

.footer .btn.btn-link::before{
    color:#FFD166;
}

.footer .btn.btn-link:hover{
    color:#FFD166;
    letter-spacing:1px;
}

.footer a{
    color:#ffffff;
}

.footer .btn-square{
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.2);
    color:#ffffff;
}

.footer .btn-square:hover{
    background:#FFD166;
    color:#6C63FF;
}




/*** Service ***/
.service-item .btn-square {
    width: 100px;
    height: 100px;
}


/*** Pricing ***/
.price .price-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, .05);
}


/*** Team ***/
.btn-social {
    display: flex;
    align-items: center;
    color: #6C6C6C;
    background: var(--bs-light);
    border-radius: 30px;
}


.hero-header{
    background:#fff;
    padding:80px 0;
}

.hero-card{
    background:linear-gradient(135deg,#6C63FF 0%,#E63973 100%);
    border-radius:30px;
    padding:70px;
    box-shadow:0 25px 60px rgba(108,99,255,.20);
    overflow:hidden;
    position:relative;
}

.hero-card img{
    border-radius:25px;
    box-shadow:0 20px 50px rgba(0,0,0,.18);
}

.hero-card::before{
    content:"";
    position:absolute;
    width:280px;
    height:280px;
    background:rgba(255,255,255,.08);
    border-radius:50%;
    top:-120px;
    right:-100px;
}

.hero-card::after{
    content:"";
    position:absolute;
    width:180px;
    height:180px;
    background:rgba(255,255,255,.08);
    bottom:-80px;
    left:-60px;
    border-radius:50%;
}

.service-item,
.blog-item{
    background:#ffffff;
    border-radius:18px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.service-item:hover,
.blog-item:hover{
    transform:translateY(-6px);
    box-shadow:0 18px 40px rgba(0,0,0,.12);
}

.service-item,.blog-item{min-height:380px}.blog-img img{aspect-ratio:4/3;object-fit:cover}a,.btn{transition:.3s}@media(max-width:991.98px){.top-bar{height:60px;padding:0 20px}.nav-bar{margin:0 20px}}@media(max-width:768px){.hero-card{padding:35px 25px;border-radius:20px}.hero-header{padding:40px 0}.display-1{font-size:2.4rem!important}.hero-card img{margin-top:30px}}


/* =====================================================
   TEXT VISIBILITY IMPROVEMENTS
===================================================== */

.hero-card{
    color:#ffffff;
    text-shadow:0 1px 3px rgba(0,0,0,.15);
}

.hero-card h1,
.hero-card h2,
.hero-card h3,
.hero-card h4,
.hero-card h5,
.hero-card h6{
    color:#ffffff !important;
}

.hero-card .display-3{
    color:#F8D97A !important;
}

.hero-card p{
    color:rgba(255,255,255,.92) !important;
    font-size:1.1rem;
    line-height:1.8;
}

.hero-card .btn-dark{
    background:#000;
    border-color:#000;
    color:#fff;
}

.hero-card .btn-dark:hover{
    background:#222;
    border-color:#222;
    color:#fff;
}

/* About section */

.about{
    background:#000;
    color:#fff;
}

.about h1,
.about h2,
.about h3,
.about h4,
.about h5,
.about h6{
    color:#fff !important;
}

.about p{
    color:#d8d8d8 !important;
    line-height:1.8;
}

.about .fa-check{
    color:#8A7CFF !important;
}

.about .text-primary{
    color:#B79CFF !important;
}



/* =====================================================
   HERO SPACING FIX
===================================================== */

.top-bar{
    margin-bottom:0 !important;
    height:70px;
}

.nav-bar{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

.hero-header{
    background:#fff;
    padding:20px 0 0 !important;
    margin:0 !important;
}

.hero-header .container{
    padding-top:0 !important;
    padding-bottom:0 !important;
}

.hero-card{
    margin-top:0 !important;
    margin-bottom:0 !important;
}

/* FAQ */.accordion-item{border-radius:15px;overflow:hidden}.accordion-button{font-weight:600;padding:20px 25px;box-shadow:none}.accordion-button:not(.collapsed){background:#6C63FF;color:#fff}.accordion-body{padding:20px 25px;line-height:1.8;color:#555}
/* Testimonials */
.testimonial-card{background:#fff;border-radius:24px;padding:40px 35px;box-shadow:0 15px 45px rgba(0,0,0,.08);transition:.35s ease;height:100%;border:1px solid #f3f3f3;position:relative}
.testimonial-card:hover{transform:translateY(-8px);box-shadow:0 25px 60px rgba(0,0,0,.12)}
.testimonial-card:before{content:"❝";position:absolute;top:22px;right:28px;font-size:52px;color:#f3f3f3;font-family:Georgia,serif}
.stars{color:#FFC857;font-size:20px;letter-spacing:3px;margin-bottom:18px}
.testimonial-card p{font-size:17px;line-height:1.9;color:#555;margin-bottom:28px;min-height:145px}
.testimonial-author{display:flex;align-items:center;gap:18px;border-top:1px solid #eee;padding-top:20px}
.testimonial-author img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:center top;border:4px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.15);background:#fff;flex-shrink:0}
.testimonial-author h5{margin-bottom:3px;font-size:18px;font-weight:700}
.testimonial-author small{font-size:14px;color:#888}

html,body{overflow-x:hidden;}img{max-width:100%;height:auto}.btn{min-height:48px;}@media(max-width:991.98px){.navbar-nav .nav-link{padding:16px 20px;font-size:18px}.navbar-toggler{padding:10px 14px}}@media(max-width:768px){.hero-card{padding:28px 22px!important;border-radius:18px}.hero-card h1{font-size:28px!important}.hero-card .display-3{font-size:34px!important;line-height:1.15}.hero-card h2.display-5{font-size:22px!important}.hero-card p{font-size:16px!important}.hero-card .btn,.bg-primary-light .btn,.bg-secondary-light .btn,.bg-dark-light .btn{width:100%;padding:15px}.about img{margin-bottom:30px}.about h1{font-size:30px}.service-item{padding:25px!important;min-height:auto}.service-item .btn-square{width:75px;height:75px}.blog-item{min-height:auto}.blog-img img{height:220px;object-fit:cover}.testimonial-card{padding:28px 22px}.testimonial-card p{min-height:auto}.testimonial-author{gap:12px}.footer{text-align:center}.footer .btn-square{margin:6px}.footer .btn-link{padding:8px 0}h1{font-size:34px}h2{font-size:28px}h3{font-size:24px}p{font-size:16px;line-height:1.8}}

/* ===== Mobile fixes from review ===== */
@media (max-width:768px){
.container{padding-left:20px!important;padding-right:20px!important;}
.hero-card{padding:24px!important;border-radius:18px!important;}
.hero-card p{color:#fff!important;opacity:.96;font-size:17px!important;line-height:1.8!important;}
.hero-card h1,.hero-card h2{color:#fff!important;}
.hero-card img{width:100%;height:240px;object-fit:cover;border-radius:18px;margin-top:24px;}
.hero-card .btn,.about .btn{width:100%;max-width:320px;display:block;margin:20px auto 0;}
.about{padding:55px 0!important;}
.about .row{display:flex;flex-direction:column;}
.about .col-lg-6:first-child{order:1;}
.about .col-lg-6:last-child{order:2;}
.about img{display:block!important;width:100%;height:250px;object-fit:cover;margin-bottom:25px!important;}
.about h2{margin-bottom:8px;}
.about h1{margin-bottom:18px;font-size:30px!important;}
.about p{color:#d9d9d9!important;}
.testimonial-card{padding:24px!important;}
.testimonial-card p{min-height:auto!important;}
.testimonial-author img{width:72px;height:72px;}
.navbar{padding:12px 0;}
}


/* ===== Section Heading Visibility Fix ===== */
.container-fluid.py-5 > .container > .text-center h1{
    color:#2D3748 !important;
}

.container-fluid.py-5 > .container > .text-center h2.font-dancing-script{
    color:#E63973 !important;
}

.container-fluid.py-5 > .container > .text-center h3{
    color:#2D3748 !important;
}


/* ===== Modern Dating Theme ===== */
:root{
    --bs-primary:#0F766E;
    --bs-secondary:#2563EB;
    --bs-dark:#111827;
    --bs-light:#F8FAFC;
    --primary-light:#ECFDF5;
    --secondary-light:#EFF6FF;
    --accent:#EC4899;
}

.nav-bar{
    background:linear-gradient(90deg,#0F766E 0%,#2563EB 100%) !important;
    box-shadow:0 10px 30px rgba(15,118,110,.18);
}

.hero-card{
    background:linear-gradient(135deg,#0F766E 0%,#2563EB 55%,#3B82F6 100%) !important;
    text-shadow:none !important;
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

.hero-card::before,
.hero-card::after{
    background:rgba(255,255,255,.05);
}

.hero-card h1,
.hero-card h2,
.hero-card h3,
.hero-card p,
.hero-card .display-3{
    color:#fff !important;
}

.footer{
    background:linear-gradient(135deg,#111827,#1E3A8A) !important;
}

.btn-primary{
    background:#0F766E !important;
    border-color:#0F766E !important;
}
.btn-primary:hover{
    background:#0D5E58 !important;
    border-color:#0D5E58 !important;
}

.btn-secondary{
    background:#2563EB !important;
    border-color:#2563EB !important;
}
.btn-secondary:hover{
    background:#1D4ED8 !important;
    border-color:#1D4ED8 !important;
}

.navbar .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link.active{
    color:#93C5FD !important;
}

.font-dancing-script{
    color:#EC4899 !important;
}

.service-item,
.blog-item,
.testimonial-card{
    border:1px solid #E5E7EB;
}

.service-item:hover,
.blog-item:hover,
.testimonial-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(37,99,235,.12);
}


/* ===== Logo Size Improvement ===== */
.top-bar{
    height:90px !important;
    display:flex;
    align-items:center;
}

.top-bar .col-lg-4{
    display:flex;
    align-items:center;
}

.top-bar img{
    height:68px !important;
    width:auto !important;
    max-height:68px !important;
    display:block;
}

.navbar-brand img{
    height:68px !important;
    width:auto !important;
    max-height:68px !important;
}

@media (max-width:991.98px){
    .top-bar{
        height:72px !important;
        padding:0 20px !important;
    }

    .top-bar img,
    .navbar-brand img{
        height:54px !important;
        max-height:54px !important;
    }
}


.site-logo{
    height:68px !important;
    width:auto !important;
    max-width:none !important;
}
