*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial,sans-serif;
}

body{
padding-top:115px;
font-family:Arial,Helvetica,sans-serif;

}

/*======================
TOPBAR
======================*/

.topbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:40px;
    background:#d81b60;
    color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    z-index:1000;
}

/*======================
NAVBAR
======================*/

.topbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:40px;
    background:#d81b60;
    color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:0 30px;
    z-index:1000;
}

.navbar.scrolled{

box-shadow:0 10px 25px rgba(0,0,0,.15);

}

/* Logo */

.logo{

display:flex;

align-items:center;

gap:8px;

font-size:24px;

font-weight:bold;

color:#d81b60;

white-space:nowrap;

}

.logo i{

font-size:26px;

}

/* Menu */

#navbarMenu{

display:flex;

align-items:center;

list-style:none;

gap:5px;

}

#navbarMenu li{

list-style:none;

}

#navbarMenu li a{

display:block;

padding:10px 12px;

text-decoration:none;

color:#333;

font-weight:600;

font-size:14px;

border-radius:25px;

transition:.3s;

}

#navbarMenu li a:hover{

background:#d81b60;

color:#fff;

}

.register-btn{

background:#d81b60;

color:#fff !important;

}

.logout-btn{

background:#ff3b3b;

color:#fff !important;

}

/* Toggle */

.nav-toggle{

display:none;

background:#d81b60;

border:none;

color:#fff;

font-size:22px;

padding:8px 12px;

border-radius:5px;

cursor:pointer;

}

/*======================
MOBILE
======================*/

@media(max-width:768px){

.topbar{
display:none;
}

body{
padding-top:60px;
}

.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:60px;
    padding:0 15px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    box-shadow:0 2px 10px rgba(0,0,0,.1);
    z-index:9999;
}

.nav-toggle{

display:block;

}

#navbarMenu{
    display:none;
    position:absolute;
    top:60px;
    left:0;
    width:100%;
    flex-direction:column;
    background:#fff;
}

#navbarMenu.show{
    display:flex;
}

#navbarMenu li{
    list-style:none;
}

#navbarMenu li a{
    display:block;
    padding:10px 12px;
    color:#333;
    text-decoration:none;
    font-size:14px;
    font-weight:600;
    border-radius:20px;
}

#navbarMenu li a:hover{
    background:#d81b60;
    color:#fff;
}

.logo{
    display:flex;
    align-items:center;
    gap:22px;
    color:#d81b60;
    font-size:26px;
    font-weight:700;
    white-space:nowrap;
}

.logo i{
    font-size:28px;
}

}
/* desktop only */
@media(min-width:992px){

.nav-toggle{
    display:none;
}

#navbarMenu{
    display:flex !important;
    position:static;
    flex-direction:row;
    background:none;
    box-shadow:none;
}

}

/* Footer */

footer{

background:#222;

color:white;

margin-top:0px;

}

.footer-container{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:20px;

padding:40px;

}

.footer-container h3{

margin-bottom:15px;

}

.footer-container a{

display:block;

color:white;

text-decoration:none;

margin-bottom:8px;

}

.footer-container a:hover{

color:#ff99bb;

}

.copyright{

text-align:center;

padding:15px;

background:#111;

}

/* Responsive */
@media(max-width:991px){

.topbar{
    display:none;
}

body{
    padding-top:75px;
}

.navbar{
    top:0;
    height:70px;
}

.logo{
    font-size:20px;
}

.logo i{
    font-size:22px;
}

.nav-toggle{
    display:block;
    border:none;
    background:#d81b60;
    color:#fff;
    width:42px;
    height:42px;
    border-radius:5px;
    cursor:pointer;
    font-size:20px;
}

#navbarMenu{

    display:none;

    position:absolute;

    top:70px;

    left:0;

    width:100%;

    background:#fff;

    flex-direction:column;

    box-shadow:0 5px 20px rgba(0,0,0,.15);

}

#navbarMenu.show{
    display:flex;
}

#navbarMenu li{
    width:100%;
}

#navbarMenu li a{
    width:100%;
    text-align:center;
    padding:15px;
    border-bottom:1px solid #eee;
}

}
/*=========================
HERO
=========================*/

.hero{

height:100vh;
 background:
linear-gradient(rgba(0,0,0,.45),
rgba(0,0,0,.45)),
url("../images/banner.jpg");
background-size:cover;
background-position:center;

display:flex;
align-items:center;
justify-content:center;

color:#fff;

text-align:center;


}

.hero-overlay{

width:100%;

padding:20px;

}

.hero h4{

font-size:20px;

margin-bottom:20px;

letter-spacing:1px;

color:#ffd6e5;
margin-top:10%;
}

.hero h1{

font-size:70px;

font-weight:700;

line-height:1.2;

margin-bottom:50px;
margin-top:4%;
}

.hero h1 span{

color:white;

}

.hero p{

font-size:22px;

max-width:700px;

margin:auto;

margin-bottom:40px;

line-height:1.7;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

}

.hero-btn{

background:#ff2e6e;

color:#fff;

padding:16px 38px;

border-radius:40px;

font-size:18px;

font-weight:bold;

text-decoration:none;

transition:.3s;

}

.hero-btn:hover{

background:#d81b60;

transform:translateY(-4px);

}

.hero-btn-outline{

border:2px solid #fff;

padding:16px 38px;

border-radius:40px;

color:#fff;

font-weight:bold;

text-decoration:none;

transition:.3s;

}

.hero-btn-outline:hover{

background:#fff;

color:#e91e63;

}

.hero-stats{

display:flex;

justify-content:center;

gap:60px;

margin-top:60px;

flex-wrap:wrap;

}

.hero-stats h2{

font-size:30px;

margin-bottom:5px;

}

.hero-stats span{

font-size:18px;

color:#eee;

}

.btn{

display:inline-block;

background:#e91e63;

color:#fff;

padding:14px 30px;

border-radius:40px;

font-weight:bold;

transition:.3s;

text-decoration:none;

}

.btn:hover{

background:#d81b60;

transform:translateY(-3px);

}

.section{

padding:80px 8%;

}

/*section heading*/
.section-title{

text-align:center;

font-size:42px;

font-weight:700;

margin-bottom:60px;

position:relative;


}

.section-title:after{

content:"";

width:80px;

height:4px;

background:#e91e63;

display:block;

margin:15px auto;

border-radius:20px;

}

/* why choose us */
.features{
display:grid;

grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

gap:30px;

}

.feature-card{

background:#fff;

padding:45px 30px;

border-radius:20px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

transition:.35s;

text-align:center;


}

.feature-card:hover{

transform:translateY(-10px);


}

.feature-card i{

font-size:55px;

color:#e91e63;

margin-bottom:20px;

}

.feature-card h3{

margin-bottom:15px;

}

/* featured profiles */

.profile-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(270px,1fr));

gap:35px;

}

.profile-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 10px 35px rgba(0,0,0,.08);

transition:.3s;

}

.profile-card:hover{

transform:translateY(-10px);

}

.profile-card img{

width:100%;

height:320px;

object-fit:cover;

}

.profile-info{

padding:25px;

text-align:center;

}

.profile-info h3{

font-size:24px;

margin-bottom:12px;

}

.profile-info p{

color:#666;

line-height:1.7;

margin-bottom:20px;

}


/* statistics */

.stats{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:30px;

}

.stat{

background:linear-gradient(135deg,#ff4d88,#d81b60);

color:#fff;

padding:40px;

border-radius:20px;

text-align:center;
}

.stat h2{

font-size:52px;

margin-bottom:10px;

}

/* membership */
.plan-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

gap:35px;

}

.plan{

background:#fff;

padding:40px;

border-radius:22px;

box-shadow:0 15px 40px rgba(0,0,0,.08);

text-align:center;

transition:.3s;

position:relative;

overflow:hidden;

}

.plan h2{

color:#d81b60;

margin-bottom:15px;

}

.plan:before{

content:"POPULAR";

position:absolute;

top:15px;

right:-35px;

background:#e91e63;

color:#fff;

padding:8px 40px;

transform:rotate(45deg);

font-size:12px;

}

.plan:hover{

transform:translateY(-12px);

}



.price{

font-size:48px;

font-weight:bold;

color:#e91e63;

margin:20px 0;

}

/* responsive */
@media(max-width:768px){

.hero h1{

font-size:40px;

}

.hero p{

font-size:18px;

}

.section-title{

font-size:30px;

}

}

/*=========================
REGISTER
=========================*/


/* register.php more attractive */
.register-container{
display:flex;
justify-content:center;
align-items:center;
padding:60px 15px;
background:#fff4f8;
min-height:80vh;
}

.register-box{
width:100%;
max-width:520px;
background:#fff;
padding:40px;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,.12);
transition:.3s;
}

.register-box:hover{
transform:translateY(-5px);
}

.register-icon{
text-align:center;
font-size:50px;
color:#e91e63;
margin-bottom:10px;
}

.register-box h2{
text-align:center;
font-size:38px;
margin-bottom:8px;
color:#e91e63;
font-weight:700;
}

.register-subtitle{
text-align:center;
color:#777;
margin-bottom:30px;
line-height:24px;
}

.form-group{
margin-bottom:18px;
}

.form-group label{
display:block;
font-weight:600;
margin-bottom:8px;
color:#333;
}

.input-box{
display:flex;
align-items:center;
border:1px solid #ddd;
border-radius:10px;
overflow:hidden;
background:#fff;
}

.input-box i:first-child{
width:50px;
text-align:center;
color:#e91e63;
font-size:18px;
}

.input-box input,
.input-box select{
flex:1;
border:none;
padding:14px;
font-size:15px;
outline:none;
background:transparent;
}

.input-box:focus-within{
border-color:#e91e63;
box-shadow:0 0 8px rgba(233,30,99,.2);
}

.toggle-password{
padding:0 15px;
cursor:pointer;
color:#e91e63;
}

.register-btn{
width:100%;
padding:14px;
border:none;
border-radius:40px;
background:linear-gradient(90deg,#e91e63,#ff4081);
color:#fff;
font-size:17px;
font-weight:600;
cursor:pointer;
transition:.3s;

}

.register-btn:hover{
background:linear-gradient(90deg,#d81b60,#e91e63);
transform:translateY(-2px);
}

.login-text{
text-align:center;
margin-top:20px;
font-size:15px;
}

.login-text a{
color:#e91e63;
font-weight:600;
text-decoration:none;
}

.login-text a:hover{
text-decoration:underline;
}

.terms{
text-align:center;
margin-top:15px;
font-size:13px;
color:#666;
}

.success{
background:#d4edda;
color:#155724;
padding:12px;
border-radius:8px;
margin-bottom:20px;
}

.error{
background:#f8d7da;
color:#721c24;
padding:12px;
border-radius:8px;
margin-bottom:20px;
}

@media(max-width:768px){

.register-container{
padding:30px 15px;
}

.register-box{
padding:25px;
}

.register-box h2{
font-size:30px;
}

.register-icon{
font-size:42px;
}

}

/*=========================
LOGIN
=========================*/

.login-container{

display:flex;

justify-content:center;

align-items:center;

padding:60px 20px;

}

.login-box{

background:white;

width:100%;

max-width:450px;

padding:35px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.login-box h2{

text-align:center;

margin-bottom:25px;

color:#d81b60;

}

/*=========================
DASHBOARD
=========================*/
/* reccommendedpartner */
.modern-profiles{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
    gap:25px;
    margin-top:25px;
}

.modern-card{
    background:#fff;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
    position:relative;
}

.modern-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(0,0,0,.15);
}

.profile-image{
    width:100%;
    height:270px;
    object-fit:cover;
}

.match-badge{
    position:absolute;
    top:15px;
    right:15px;
    background:#ff3d71;
    color:#fff;
    padding:8px 14px;
    border-radius:50px;
    font-weight:600;
    font-size:14px;
}

.profile-info{
    padding:20px;
}

.profile-info h3{
    margin:0;
    font-size:22px;
    font-weight:700;
}

.verified{
    display:inline-block;
    margin-top:6px;
    color:#28a745;
    font-size:14px;
    font-weight:600;
}

.details{
    display:grid;
    gap:10px;
    margin-top:18px;
}

.details span{
    background:#f6f7fb;
    padding:10px 14px;
    border-radius:10px;
    font-size:14px;
    color:#555;
}

.card-buttons{
    display:flex;
    gap:12px;
    padding:20px;
}

.view-btn,
.interest-btn{
    flex:1;
    text-align:center;
    padding:12px;
    border-radius:10px;
    text-decoration:none;
    font-weight:600;
    transition:.3s;
}

.view-btn{
    background:#0d6efd;
    color:#fff;
}

.view-btn:hover{
    background:#084ec1;
}

.interest-btn{
    background:#ff4d6d;
    color:#fff;
}

.interest-btn:hover{
    background:#e63757;
}

.empty-box{
    grid-column:1/-1;
    text-align:center;
    background:#fff;
    padding:60px;
    border-radius:20px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
}

.dashboard-banner{
display:flex;
justify-content:space-between;
align-items:center;
background:linear-gradient(135deg,#d63384,#6f42c1);
padding:30px;
border-radius:18px;
color:#fff;
margin-bottom:30px;
}

.membership-badge{
display:inline-block;
background:#fff;
color:#d63384;
padding:8px 18px;
border-radius:30px;
margin-top:15px;
font-weight:bold;
}

.completion-box{
width:250px;
}

.progress{
height:10px;
background:#ffffff55;
border-radius:30px;
margin:15px 0;
overflow:hidden;
}

.progress-bar{
height:10px;
background:#fff;
border-radius:30px;
}

.cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
margin:35px 0;
}

.card{
background:#fff;
padding:25px;
border-radius:16px;
text-align:center;
box-shadow:0 8px 25px rgba(0,0,0,.08);
transition:.3s;
}

.card:hover{
transform:translateY(-6px);
}

.card .icon{
font-size:35px;
margin-bottom:10px;
}

.section-title{
margin:35px 0 20px;
font-size:28px;
}

.profiles{
display:grid;
grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
gap:25px;
}

.profile-card{
background:#fff;
padding:25px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,.08);
text-align:center;
position:relative;
transition:.3s;
}

.profile-card:hover{
transform:translateY(-8px);
}

.profile-card img{
width:120px;
height:120px;
border-radius:50%;
object-fit:cover;
border:4px solid #eee;
margin-bottom:15px;
}

.match{
position:absolute;
top:15px;
right:15px;
background:#28a745;
color:#fff;
padding:6px 12px;
border-radius:30px;
font-size:12px;
}

.buttons{
display:flex;
justify-content:center;
gap:10px;
margin-top:15px;
}

.interest{
background:#fff;
color:#d63384;
border:2px solid #d63384;
}

.interest:hover{
background:#d63384;
color:#fff;
}

.empty{
grid-column:1/-1;
background:#fff;
padding:60px;
text-align:center;
border-radius:18px;
}
/*end */
.container{

width:90%;

max-width:1200px;

margin:auto;

padding:40px 0;

}

.dashboard-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:20px;

margin-top:30px;

}

.dashboard-card{

background:white;

padding:25px;

border-radius:10px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

text-align:center;

transition:.3s;

}

.dashboard-card:hover{

transform:translateY(-6px);

}

.dashboard-card h2{

margin-bottom:15px;

color:#d81b60;

}

.dashboard-layout{

display:flex;

min-height:100vh;

}

.sidebar{
    width:250px;
    flex-shrink:0;
    background:#d81b60;
    padding:30px;
    color:#fff;
}

.sidebar h2{

margin-bottom:30px;

}

.sidebar ul{

list-style:none;

}

.sidebar li{

margin:20px 0;

}

.sidebar a{

color:white;

text-decoration:none;

font-size:18px;

}

.main-content{

flex:1;
min-width:0;
padding:30px;
background:#f5f5f5;

}

.top-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.cards{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(220px,1fr));

gap:20px;

}

.card{

background:white;

padding:30px;

text-align:center;

border-radius:10px;

box-shadow:0 5px 10px rgba(0,0,0,.08);

}

.profiles{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:20px;

margin-top:20px;

}

.profile{

background:white;

padding:20px;

border-radius:10px;

text-align:center;

box-shadow:0 5px 10px rgba(0,0,0,.08);

}

.profile img{

width:100%;

height:250px;

object-fit:cover;

border-radius:8px;

}

/* ==========================
   Responsive Dashboard Sidebar
========================== */

/* Mobile Sidebar */
.menu-toggle{
    display:none;
    position:fixed;
    top:15px;
    left:15px;
    width:45px;
    height:45px;
    border:none;
    border-radius:8px;
    background:#d81b60;
    color:#fff;
    font-size:22px;
    cursor:pointer;
    z-index:2000;
}

.sidebar-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.5);
    z-index:998;
}

@media(max-width:768px){

    .menu-toggle{
        display:block;
    }

    .dashboard-layout{
        display:block;
    }

    .sidebar{
        position:fixed;
        top:0;
        left:-260px;
        width:250px;
        height:100vh;
		flex-shrink:0;
        transition:.3s;
        z-index:999;
        overflow-y:auto;
    }

    .sidebar.active{
        left:0;
    }

    .sidebar-overlay.active{
        display:block;
    }

    .main-content{
         margin-left:0 !important;
        width:100%;
        max-width:100%;
        padding:70px 15px 20px;
        overflow-x:hidden;
    }
	 body{
        overflow-x:hidden;
    }
}

/*=========================
PROFILE
=========================*/

.profile-container{

display:flex;

justify-content:center;

padding:40px 20px;

}

.profile-box{

background:white;

width:100%;

max-width:700px;

padding:30px;

border-radius:10px;

box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.profile-box h2{

text-align:center;

margin-bottom:25px;

color:#d81b60;

}

.profile-box label{

display:block;

margin-top:15px;

font-weight:bold;

}

.profile-box input,
.profile-box textarea{

width:100%;

padding:12px;

margin-top:5px;

border:1px solid #ddd;

border-radius:6px;

font-size:16px;

}

.profile-box textarea{

resize:vertical;

}

.profile-box input:focus,
.profile-box textarea:focus{

outline:none;

border-color:#d81b60;

}

/*=========================
PROFILE IMAGE
=========================*/

.profile-image{

text-align:center;

margin-bottom:20px;

}

.profile-image img{

width:180px;

height:180px;

border-radius:50%;

object-fit:cover;

border:5px solid #d81b60;

}

.search-form{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(180px,1fr));

gap:15px;

margin:30px 0;

}

.search-form input,
.search-form select{

padding:12px;

border:1px solid #ddd;

border-radius:6px;

font-size:16px;

}

.search-form button{

padding:12px;

}

.profile-view{
display:flex;
gap:40px;
background:#fff;
padding:30px;
border-radius:15px;
box-shadow:0 5px 20px rgba(0,0,0,.1);
margin:30px auto;
}

.profile-view .left{
width:35%;
}

.profile-view .left img{
width:100%;
height:450px;
object-fit:cover;
border-radius:12px;
}

.profile-view .right{
width:65%;
}

.profile-view table{
margin:20px 0;
width:100%;
}

.profile-view td{
padding:10px;
}

.profile-view .btn{
margin-right:10px;
}

@media(max-width:768px){

.profile-view{
flex-direction:column;
}

.profile-view .left,
.profile-view .right{
width:100%;
}

.profile-view .left img{
height:350px;
}

}

.page-title{
text-align:center;
margin:30px 0;
font-size:34px;
font-weight:bold;
}

.interest-card{

display:flex;
align-items:center;
gap:25px;

background:#fff;

padding:20px;

margin-bottom:20px;

border-radius:15px;

box-shadow:0 4px 15px rgba(0,0,0,.1);

}

.interest-image{

width:140px;

}

.interest-image img{

width:140px;

height:140px;

border-radius:50%;

object-fit:cover;

}

.interest-info{

flex:1;

}

.interest-info h3{

margin-bottom:10px;

}

.interest-info p{

margin:6px 0;

}

@media(max-width:768px){

.interest-card{

flex-direction:column;

text-align:center;

}

.interest-image{

width:100%;

}

.interest-image img{

width:180px;

height:180px;

}

}

.chat-users{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:20px;

margin-top:20px;

}

.chat-user{

background:white;

padding:20px;

text-align:center;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.chat-user img{

width:120px;

height:120px;

border-radius:50%;

object-fit:cover;

}

.chat-box{

max-width:800px;

margin:30px auto;

background:white;

padding:20px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.1);

}

.mymsg{

background:#d81b60;

color:white;

padding:12px;

margin:10px 0;

border-radius:10px;

text-align:right;

}

.othermsg{

background:#eee;

padding:12px;

margin:10px 0;

border-radius:10px;

text-align:left;

}

.chat-box input{

width:80%;

padding:12px;

}

.chat-box button{

width:18%;

}

/*=========================
ADMIN
=========================*/

.admin-sidebar{

width:250px;

background:#222;

color:#fff;

padding:25px;

min-height:100vh;

}

.admin-sidebar h2{

margin-bottom:25px;

}

.admin-sidebar ul{

list-style:none;

padding:0;

}

.admin-sidebar li{

margin:15px 0;

}

.admin-sidebar a{

color:#fff;

text-decoration:none;

}

.admin-sidebar a:hover{

color:#ffd700;

}

/* Admin Login */

.login-page{
    background:#f4f6fb;
}

.login-container{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;
}

.login-box{
    width:420px;
    background:#fff;
    padding:35px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,.12);
}

.login-box h2{
    text-align:center;
    color:#d81b60;
    margin-bottom:25px;
}

.login-box .btn{
    width:100%;
    margin-top:10px;
}

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    margin-bottom:6px;
    font-weight:600;
}

.form-control{
    width:100%;
    padding:12px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:15px;
}

.form-control:focus{
    outline:none;
    border-color:#d81b60;
}

/*=========================
ADMIN PANEL dashboard
=========================*/

.admin-wrapper{
display:flex;
min-height:100vh;
background:#f5f6fa;
}

.admin-sidebar{
width:250px;
background:#1f2937;
color:#fff;
padding:20px;
min-height:100vh;
}

.admin-sidebar h2{
text-align:center;
margin-bottom:30px;
}

.admin-sidebar ul{
list-style:none;
padding:0;
margin:0;
}

.admin-sidebar li{
margin:10px 0;
}

.admin-sidebar a{
display:block;
padding:12px;
color:#fff;
text-decoration:none;
border-radius:6px;
transition:.3s;
}

.admin-sidebar a:hover{
background:#d81b60;
}

.admin-sidebar i{
margin-right:10px;
}

.admin-content{
flex:1;
padding:30px;
}

.admin-topbar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.admin-cards{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:20px;
}

.admin-card{
background:#fff;
padding:25px;
border-radius:10px;
text-align:center;
box-shadow:0 5px 15px rgba(0,0,0,.08);
transition:.3s;
}

.admin-card:hover{
transform:translateY(-5px);
}

.admin-card i{
font-size:35px;
color:#d81b60;
margin-bottom:15px;
}

.admin-card h2{
font-size:32px;
margin-bottom:10px;
}

.admin-card p{
font-size:17px;
}

@media(max-width:768px){

.admin-wrapper{
flex-direction:column;
}

.admin-sidebar{
width:100%;
}

.admin-topbar{
flex-direction:column;
gap:15px;
}

}

.admin-table{
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    margin-top:25px;
    background:#fff;
    border-radius:16px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

/* Header */

.admin-table th{
    background:linear-gradient(90deg,#ff2d78,#5b57ff);
    color:#fff;
    padding:16px;
    font-size:15px;
    font-weight:700;
    text-align:center;
    white-space:nowrap;
    letter-spacing:.3px;
}

.admin-table th:first-child{
    border-top-left-radius:16px;
}

.admin-table th:last-child{
    border-top-right-radius:16px;
}

/* Body */

.admin-table td{
    padding:16px;
    text-align:Left;
    border-bottom:1px solid #f1f1f1;
    vertical-align:middle;
    color:#444;
    transition:.25s;
}

.admin-table tr:nth-child(even){
    background:#fafbff;
}

.admin-table tbody tr:hover{
    background:#fff3f8;
}

/* Images */

.admin-table img{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #f3f3f3;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
}

/* Buttons */

.btn-small,
.btn-danger{
    display:inline-block;
    padding:8px 14px;
    border-radius:8px;
    color:#fff;
    text-decoration:none;
    font-size:13px;
    font-weight:600;
    margin:3px;
    transition:.25s;
}

.btn-small{
    background:linear-gradient(135deg,#28a745,#44d36d);
}

.btn-danger{
    background:linear-gradient(135deg,#dc3545,#ff5f6d);
}

.btn-small:hover,
.btn-danger:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 18px rgba(0,0,0,.15);
}

/* Mobile */

@media(max-width:768px){

.admin-table{
    display:block;
    overflow-x:auto;
    white-space:nowrap;
}

.admin-table th,
.admin-table td{
    padding:14px;
    font-size:14px;
}

}

.plan-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(280px,1fr));

gap:25px;

margin-top:30px;

}

.plan-card{

background:white;

padding:30px;

border-radius:12px;

text-align:center;

box-shadow:0 5px 20px rgba(0,0,0,.08);

transition:.3s;

}

.plan-card:hover{

transform:translateY(-5px);

}

.plan-card h1{

color:#d81b60;

margin:15px 0;

}

.page-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.form-card{
background:#fff;
padding:30px;
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
max-width:700px;
}

.form-group{
margin-bottom:18px;
}

.form-group label{
display:block;
font-weight:600;
margin-bottom:6px;
}

.form-group input,
.form-group textarea,
.form-group select{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:8px;
font-size:15px;
outline:none;
box-sizing:border-box;
}

.form-group input:focus,
.form-group textarea:focus{
border-color:#e91e63;
outline:none;
}

.btn{
background:#e91e63;
color:#fff;
padding:12px 24px;
border:none;
border-radius:8px;
cursor:pointer;
font-weight:bold;
text-decoration:none;
display:inline-block;
}

.btn:hover{
background:#c2185b;
}

.table-card{

background:#fff;

padding:20px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

overflow:auto;

}

table{

width:100%;

border-collapse:collapse;

}

table th{

background:#e91e63;

color:white;

padding:12px;

text-align:left;

}

table td{

padding:12px;

border-bottom:1px solid #eee;

}

table tr:hover{

background:#fafafa;

}

.profile-card{

background:#fff;

padding:30px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

display:flex;

gap:30px;

flex-wrap:wrap;

}

.profile-left{

width:250px;

}

.profile-left img{

width:100%;

border-radius:12px;

object-fit:cover;

border:3px solid #e91e63;

}

.profile-right{

flex:1;

}

.profile-right table{

width:100%;

border-collapse:collapse;

}

.profile-right th{

width:180px;

background:#fafafa;

padding:12px;

text-align:left;

}

.profile-right td{

padding:12px;

border-bottom:1px solid #eee;

}

@media(max-width:768px){

.profile-card{

flex-direction:column;

}

.profile-left{

width:100%;

text-align:center;

}

.profile-left img{

max-width:250px;

}

}

.user-profile-card{
    max-width:1200px;
    margin:20px auto;
    background:#fff;
    border-radius:15px;
    padding:30px;
    display:flex;
    gap:35px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.user-left{
    width:320px;
    text-align:center;
}

.user-left img{
    width:280px;
    height:340px;
    object-fit:cover;
    border-radius:15px;
    border:4px solid #e91e63;
}

.user-right{
    flex:1;
}

.user-right table{
    width:100%;
    border-collapse:collapse;
}

.user-right table td{
    padding:14px;
    border-bottom:1px solid #eee;
    font-size:16px;
}

.user-right table td:first-child{
    width:180px;
    font-weight:bold;
    color:#555;
}

.about-box{
    margin-top:20px;
    padding:18px;
    background:#fafafa;
    border-radius:10px;
    line-height:28px;
}

.action-buttons{
    margin-top:25px;
    display:flex;
    gap:15px;
}

.action-buttons a{
    text-decoration:none;
    color:#fff;
    padding:12px 25px;
    border-radius:8px;
    font-weight:bold;
    transition:.3s;
}

.btn-green{
    background:#28a745;
}

.btn-red{
    background:#dc3545;
}

.btn-dark{
    background:#343a40;
}

.btn-green:hover,
.btn-red:hover,
.btn-dark:hover{
    transform:translateY(-2px);
}

/* messages.php deletemessages.php */
.table-container{

background:#fff;

padding:25px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

overflow-x:auto;

margin-top:20px;

}

.admin-table{

width:100%;

border-collapse:collapse;

}

.admin-table th{

background:#e91e63;

color:#fff;

padding:14px;

text-align:left;

}

.admin-table td{

padding:14px;

border-bottom:1px solid #eee;

}

.admin-table tr:hover{

background:#fafafa;

}

.btn-danger{

background:#dc3545;

color:#fff;

padding:8px 15px;

border-radius:6px;

text-decoration:none;

font-weight:bold;

display:inline-block;

}

.btn-danger:hover{

opacity:.9;

}

.table-top{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
flex-wrap:wrap;
gap:10px;
}

.table-top form{
display:flex;
gap:10px;
flex-wrap:wrap;
}

.table-top input{
padding:10px;
width:320px;
border:1px solid #ddd;
border-radius:8px;
font-size:15px;
}

.stat-card{
width:220px;
background:#fff;
padding:20px;
border-radius:12px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
margin-bottom:20px;
text-align:center;
}

.stat-card h2{
font-size:36px;
color:#e91e63;
margin:0;
}

.stat-card p{
margin-top:8px;
font-weight:600;
}

.btn-danger{
background:#e53935;
}

.btn-danger:hover{
background:#c62828;
}

.report-icon{

font-size:40px;

color:#e91e63;

margin-bottom:15px;

}

.report-summary{

background:#fff;

padding:25px;

border-radius:15px;

margin-top:30px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.report-summary h2{

margin-bottom:20px;

}

/* for settings.php */
.form-box{

background:#fff;

padding:30px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

max-width:900px;

}

.form-box h2{

margin-bottom:25px;

}

.settings-form{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.form-group{

display:flex;

flex-direction:column;

}

.form-group label{

font-weight:600;

margin-bottom:8px;

}

.form-group input,

.form-group textarea{

padding:12px;

border:1px solid #ddd;

border-radius:8px;

font-size:15px;

}

.form-group textarea{

height:90px;

resize:none;

}

.settings-form button{

grid-column:1/3;

width:220px;

} /* end */

/* Contact Page */

.contact-box{

max-width:900px;

margin:40px auto;

background:#fff;

padding:35px;

border-radius:12px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.contact-form{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.contact-form .form-group{

display:flex;

flex-direction:column;

}

.contact-form label{

font-weight:600;

margin-bottom:8px;

}

.contact-form input,

.contact-form textarea{

padding:12px;

font-size:15px;

border:1px solid #ddd;

border-radius:8px;

outline:none;

}

.contact-form textarea{

height:140px;

resize:none;

}

.full-width{

grid-column:1/3;

}

.contact-form .btn{

width:220px;

}

@media(max-width:768px){

.contact-form{

grid-template-columns:1fr;

}

.full-width{

grid-column:1;

}

}
/* end */

.profile-table{

width:100%;

border-collapse:collapse;

}

.profile-table th{

width:180px;

padding:15px;

background:white;
color:black;
text-align:left;

}

.profile-table td{

padding:15px;

border-bottom:1px solid #eee;

}

/* admin / stories */
.form-box img{
max-width:150px;
border-radius:10px;
margin-top:10px;
margin-bottom:10px;
}

.admin-table img{
border-radius:8px;
object-fit:cover;
}
/* end */

/* addstory.php */
.form-box{
    max-width:800px;
    margin:auto;
    background:#fff;
    padding:30px;
    border-radius:12px;
    box-shadow:0 4px 10px rgba(0,0,0,.1);
}

.form-group{
    margin-bottom:18px;
}

.form-group label{
    display:block;
    font-weight:600;
    margin-bottom:8px;
}

.form-group input,
.form-group textarea{
    width:100%;
    padding:12px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
    box-sizing:border-box;
}

.form-group textarea{
    resize:vertical;
    min-height:140px;
}

.form-box .btn{
    margin-top:10px;
} 
/* end addstory.php */
.notification-badge{
    background:#ff1744;
    color:#fff;
    padding:2px 8px;
    border-radius:50px;
    font-size:12px;
    font-weight:bold;
    margin-left:8px;
}


/* profile visitors */
.back-btn{
    display:inline-block;
    padding:8px 16px;
    background:#4CAF50;
    color:#fff;
    text-decoration:none;
    border-radius:6px;
    font-weight:600;
    transition:.3s;
}

.back-btn:hover{
    background:#b31352;
}

.member-card{
display:flex;
gap:20px;
padding:20px;
margin-bottom:20px;
background:#fff;
border-radius:10px;
box-shadow:0 2px 10px rgba(0,0,0,.08);
align-items:center;
}

.member-photo img{
width:120px;
height:120px;
border-radius:50%;
object-fit:cover;
}

.member-details{
flex:1;
}

.visitors-page{
     width:100%;
    max-width:1000px;
    margin:0 auto;
    padding:0;
}

.page-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.page-header h2{
    margin:0;
    color:#333;
}

.visitor-count{
    background:#4CAF50;
    color:#fff;
    padding:8px 16px;
    border-radius:30px;
    font-weight:bold;
}

.visitor-card{
    display:flex;
    align-items:center;
    gap:20px;
    background:#fff;
    border-radius:15px;
    padding:18px;
    margin-bottom:18px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
    transition:.3s;
}

.visitor-card:hover{
    transform:translateY(-4px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.visitor-number{
    width:45px;
    height:45px;
    background:#ff4d6d;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
}

.visitor-photo img{
    width:90px;
    height:90px;
    border-radius:50%;
    object-fit:cover;
    border:4px solid #eee;
}

.visitor-info{
    flex:1;
}

.visitor-info h3{
    margin:0 0 8px;
    color:#222;
}

.visitor-info p{
    margin:4px 0;
    color:#666;
}

.badge{
    display:inline-block;
    padding:5px 12px;
    border-radius:20px;
    color:#fff;
    font-size:13px;
    margin-top:8px;
}

.online{
    background:#28a745;
}

.offline{
    background:#6c757d;
}

.last-seen{
    margin-top:10px;
    color:#666;
    font-size:14px;
}

.view-date{
    margin-top:12px;
    color:#0d6efd;
    font-weight:600;
}

.btn-view{
    background:#ff4d6d;
    color:#fff;
    text-decoration:none;
    padding:10px 20px;
    border-radius:30px;
    transition:.3s;
}

.btn-view:hover{
    background:#e6004c;
}

.empty-box{
    text-align:center;
    background:#fff;
    padding:50px;
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.empty-icon{
    font-size:70px;
    margin-bottom:15px;
}

@media(max-width:768px){

.visitor-card{
    flex-direction:column;
    text-align:center;
}

.visitor-action{
    width:100%;
}

.btn-view{
    display:block;
}

}

/* profile gallery */
/* ===== Gallery ===== */

.gallery-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin:30px 0 20px;
}

.gallery-header h3{
    margin:0;
    font-size:24px;
    color:#444;
}

.gallery-count{
    background:#ff4f8b;
    color:#fff;
    padding:8px 16px;
    border-radius:20px;
    font-size:14px;
    font-weight:bold;
}

/* Grid */

.gallery-grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
    gap:25px;
}

/* Card */

.gallery-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 5px 18px rgba(0,0,0,.15);
    transition:.3s;
}

.gallery-card:hover{
    transform:translateY(-6px);
    box-shadow:0 10px 25px rgba(0,0,0,.25);
}

/* Image */

.gallery-card img{
    width:100%;
    height:280px;
    display:block;
    object-fit:cover;
}

/* Buttons */

.gallery-buttons{
    padding:15px;
    display:flex;
    justify-content:space-between;
    gap:10px;
}

.gallery-buttons a{
    flex:1;
    text-align:center;
    padding:10px;
    text-decoration:none;
    border-radius:8px;
    color:white;
    font-weight:600;
    transition:.3s;
}

.profile-btn{
    background:#ff4f8b;
}

.profile-btn:hover{
    background:#e13b76;
}

.delete-btn{
    background:#dc3545;
}

.delete-btn:hover{
    background:#b02a37;
}

/* ---------- Forgot Password ---------- */

body{
    margin:0;
    padding:0;
    font-family:'Segoe UI',sans-serif;
    
}

.forgot-container{
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:100vh;
}

.forgot-box{

    width:420px;

    background:#fff;

    padding:40px;

    border-radius:18px;

    box-shadow:0 10px 30px rgba(0,0,0,.2);

    text-align:center;
}

.icon{

    width:80px;
    height:80px;

    margin:auto;

    background:#ff5f6d;

    color:white;

    border-radius:50%;

    display:flex;
    justify-content:center;
    align-items:center;

    font-size:32px;

    margin-bottom:20px;
}

.forgot-box h2{

    color:#ff3366;

    margin-bottom:10px;
}

.subtitle{

    color:#666;

    font-size:14px;

    margin-bottom:25px;
}

.forgot-box label{

    display:block;

    text-align:left;

    font-weight:600;

    margin-bottom:8px;
}

.input-group{

    display:flex;

    align-items:center;

    border:1px solid #ddd;

    border-radius:10px;

    overflow:hidden;

    margin-bottom:20px;
}

.input-group i{

    padding:14px;

    color:#ff3366;
}

.input-group input{

    border:none;

    outline:none;

    width:100%;

    padding:14px;

    font-size:15px;
}

.forgot-box button{

    width:100%;

    padding:14px;

    border:none;

    border-radius:10px;

    background:#ff3366;

    color:#fff;

    font-size:16px;

    cursor:pointer;

    transition:.3s;
}

.forgot-box button:hover{

    background:#e91e63;

    transform:translateY(-2px);
}

.back-link{

    display:inline-block;

    margin-top:20px;

    color:#ff3366;

    text-decoration:none;

    font-weight:600;
}

.back-link:hover{

    color:#d81b60;
}

//resset Password
.password-strength{

    margin-bottom:15px;

    text-align:left;

    font-weight:bold;

    font-size:14px;
}

.show-password{

    text-align:left;

    margin-bottom:20px;

    font-size:14px;
}

.show-password input{

    margin-right:8px;
}

/* ==========================
   Mobile Sidebar
========================== */

.menu-toggle{
    display:none;
    position:fixed;
    top:15px;
    left:15px;
    width:45px;
    height:45px;
    border:none;
    border-radius:8px;
    background:#e91e63;
    color:#fff;
    font-size:24px;
    cursor:pointer;
    z-index:2000;
    line-height:45px;
    text-align:center;
    padding:0;
}

.sidebar-overlay{
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,.5);
    z-index:999;
}

@media(max-width:768px){

.sidebar{

    position:fixed;
    top:0;
    left:-260px;
    width:250px;
    height:100%;
    transition:.3s;
    z-index:1000;
    overflow-y:auto;
}

.sidebar.active{
    left:0;
}

.sidebar-overlay.active{
    display:block;
}

.menu-toggle{
    display:block;
}

.main-content{
    margin-left:0 !important;
    width:100%;
    padding-top:70px;
}

}

/* my-shortlists.php */
.shortlist-container{
    margin-left:280px;
    padding:40px;
}

.shortlist-title{
    font-size:42px;
    font-weight:bold;
    margin-bottom:30px;
}

.shortlist-card{
    background:#fff;
    border-radius:20px;
    padding:25px;
    margin-bottom:25px;
    display:flex;
    align-items:center;
    gap:25px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.shortlist-card img{
    width:120px;
    height:120px;
    border-radius:50%;
    object-fit:cover;
}

.shortlist-info h3{
    margin:0 0 10px;
}

.btn{
    display:inline-block;
    padding:10px 18px;
    background:#e91e63;
    color:#fff;
    text-decoration:none;
    border-radius:8px;
    margin-right:10px;
}

.btn-danger{
    background:#dc3545;
}

/* Mobile */
@media (max-width:768px){

.sidebar{
    position: fixed;
    top: 0;
    left: -280px;      /* Hide it on the LEFT */
    width: 280px;
    height: 100vh;
    transition: left .3s ease;
    z-index: 1000;
}

.sidebar.active{
    left: 0;           /* Slide in from LEFT */
}

.sidebar-overlay{
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 999;
}

.sidebar-overlay.active{
    display: block;
}

.dashboard-content,
.shortlist-container{
    margin-left: 0;
    width: 100%;
	 padding: 80px 20px 20px;   /* Top Right/Left Bottom */
}
}

/* preferance.php */
.preference-container{
    margin-left:280px;
    padding:40px;
}

.preference-box{
    background:#fff;
    max-width:800px;
    padding:30px;
    border-radius:20px;
    box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

.preference-title{
    font-size:42px;
    margin-bottom:25px;
    font-weight:bold;
}

.form-group{
    margin-bottom:15px;
}

.form-group label{
    display:block;
    margin-bottom:5px;
    font-weight:bold;
}

.form-control{
    width:100%;
    padding:12px;
    border:1px solid #ddd;
    border-radius:8px;
}

.btn-save{
    background:#e91e63;
    color:white;
    border:none;
    padding:12px 25px;
    border-radius:8px;
    cursor:pointer;
}

.success{
    background:#d4edda;
    color:#155724;
    padding:12px;
    margin-bottom:15px;
    border-radius:8px;
}

@media (max-width:768px){

.preference-container{
    width: 100%;
    max-width: 100%;
    margin: 80px auto 20px;
    padding: 20px;
}

.preference-card{
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}

.preference-title{
    text-align: center;
    margin-bottom: 25px;
}

.preference-card input,
.preference-card select,
.preference-card textarea{
    width: 100%;
    box-sizing: border-box;
}

.btn-save{
    width: 100%;
}
}

/* success-stories.php */
.page-title{
    text-align:center;
    margin:30px 0;
    color:#222;
}

.story-card{
    display:flex;
    align-items:center;
    gap:30px;
    background:#fff;
    padding:25px;
    margin-bottom:25px;
    border-radius:15px;
    box-shadow:0 2px 10px rgba(0,0,0,.1);
}

.story-image img{
    width:250px;
    height:250px;
    object-fit:cover;
    border-radius:15px;
}

.story-content{
    flex:1;
}

.story-content h2{
    color:#e91e63;
    margin-bottom:10px;
}

.marriage-date{
    font-weight:bold;
    margin-bottom:15px;
}

/* Back button */
.btn{
    display:inline-block;
    background:#e91e63;
    color:#fff;
    padding:10px 18px;
    border-radius:8px;
    text-decoration:none;
}

/* Mobile */
@media(max-width:768px){

.story-card{
    flex-direction:column;
    text-align:center;
    padding:20px;
}

.story-image img{
    width:100%;
    max-width:300px;
    height:auto;
}

.story-content{
    width:100%;
}

.page-title{
    font-size:32px;
}

.btn{
    width:auto;
}
} 

/* ---------- Navbar ---------- */


.navbar{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:78px;
    padding:0 60px;
    background:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 4px 18px rgba(0,0,0,.08);
    z-index:9999;
    transition:.3s;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    font-size:28px;
    font-weight:600;
    color:#d81b60;
    letter-spacing:.5px;
}

.logo i{
    font-size:34px;
    color:#ff4d79;
}

.logo span{
    color:#d81b60;
}

/* Navbar Menu */

.navbar ul{
    display:flex;
    align-items:center;
    gap:22px;
    list-style:none;
    margin:0;
    padding:0;
}

.navbar ul li a{
    font-size:16px;
    font-weight:600;
    color:#444;
    text-decoration:none;
    transition:.3s;
}

.navbar ul li a:hover{
    color:#e91e63;
}

/* Simple Hover */

.navbar ul li a:hover{

    color:#e91e63;

}

/* Underline Animation */

.navbar ul li a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-5px;

    width:0;

    height:2px;

    background:#e91e63;

    transition:0.3s;

}

.navbar ul li a:hover::after{

    width:100%;

}

/* Login Button */

.navbar ul li:last-child a{

    border:2px solid #e91e63;

    color:#e91e63;

    padding:9px 22px;

    border-radius:25px;

}

.navbar ul li:last-child a:hover{

    background:#e91e63;

    color:#fff;

}

.navbar ul li:last-child a::after{

    display:none;

}

.nav-toggle{
    display:none;
    background:#e91e63;
    color:#fff;
    border:none;
    font-size:20px;
    padding:8px 12px;
    border-radius:6px;
    cursor:pointer;
}

/* ---------- Mobile ---------- */

@media (max-width:768px){

.topbar{
    display:none;
}

.navbar{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
    padding:15px;
}

.logo{
    width:100%;
    text-align:center;
    font-size:20px;
    font-weight:bold;
}

.nav-toggle{
    display:block;
    position:absolute;
    top:10px;
    left:10px;
    transform:none;
    background:#e91e63;
    color:#fff;
    border:none;
    padding:8px 10px;
    border-radius:6px;
    cursor:pointer;
    font-size:18px;
    line-height:1;
}

.navbar ul{
    display:none;
    width:100%;
    flex-direction:column;
    margin:10px 0 0;
    padding:0;
    list-style:none;
    background:#fff;
}

.navbar ul.show{
    display:flex;
}

.navbar ul li{
    margin:0;
    padding:0;
    border-bottom:1px solid #eee;
}

.navbar ul li:last-child{
    border-bottom:none;
}

.navbar ul li a{
    display:block;
    padding:12px 15px;
    text-align:center;
    font-size:16px;
    font-weight:700;
    color:#333;
    text-decoration:none;
}

.navbar ul li a:hover{
    background:#f8f8f8;
    color:#e91e63;
}

/* for reducing gap above toggle button on home page */
@media(max-width:768px){
html,
body{
    margin:0 !important;
    padding:0 !important;
}

body{
    padding-top:0px !important;
}

header{
    margin:0 !important;
    padding:0 !important;
}

.navbar{
    margin:0 !important;
    top:0 !important;
}

.hero,
.banner,
.slider,
.carousel,
.main-banner{
    margin-top:0 !important;
    padding-top:0 !important;
}
}

/* for admin responsive toggle */
@media(max-width:768px){

.menu-toggle{

display:flex;
align-items:center;
justify-content:center;

position:fixed;
top:15px;
left:15px;

width:40px;
height:40px;

border:none;
border-radius:10px;

background:#e91e63;
color:#fff;

font-size:25px;
line-height:0.9;

padding:0;

cursor:pointer;

z-index:10001;

}

.admin-sidebar{
    position:fixed;
    left:-270px;
    top:0;
    width:270px;
    height:100vh;
    transition:.3s;
    z-index:10000;
}

.admin-sidebar.active{
    left:0;
}

.sidebar-overlay{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:9999;
}

.sidebar-overlay.active{
    display:block;
}

.admin-content{
    margin-left:0 !important;
    width:100%;
}

}

/* for admin/messages.php for more attractive*/
.chat-list{

display:flex;

flex-direction:column;

gap:18px;

margin-top:25px;

}

.chat-card{

display:flex;

align-items:center;

justify-content:space-between;

padding:20px;

background:#fff;

border-radius:18px;

box-shadow:0 8px 25px rgba(0,0,0,.08);

transition:.3s;

}

.chat-card:hover{

transform:translateY(-4px);

}

.chat-users{

display:flex;

align-items:center;

}

.chat-users img{
    width:60px !important;
    height:60px !important;
    min-width:60px;
    min-height:60px;
    max-width:60px;
    max-height:60px;
    border-radius:50%;
    object-fit:cover;
    display:block;
    border:3px solid #fff;
    box-shadow:0 5px 15px rgba(0,0,0,.15);
}

.heart{

margin:0 12px;

color:#ff2d78;

font-size:22px;

}

.chat-info{

flex:1;

padding-left:20px;

}

.chat-info h3{

margin:0;

font-size:20px;

}

.chat-info p{

margin:8px 0;

color:#777;

}

.chat-right{
 text-align:left;
  
}

.chat-right .btn{
 width:60px;
 display:flex;
 justify-content:center;
}

.badge{

display:inline-block;

background:#eef4ff;

color:#0d6efd;

padding:8px 15px;

border-radius:20px;

font-weight:bold;

}



/* admin/chat.php */
.chat-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:25px;

}

.users{

display:flex;

align-items:center;

}

.users img{

width:60px;

height:60px;

border-radius:50%;

object-fit:cover;

border:3px solid #fff;

box-shadow:0 5px 15px rgba(0,0,0,.12);

}

.users i{

margin:0 15px;

font-size:26px;

color:#ff2d78;

}

.chat-box{

background:#f8f9fb;

padding:30px;

border-radius:20px;

max-height:700px;

overflow-y:auto;

box-shadow:0 10px 30px rgba(0,0,0,.08);

}

.message{

display:flex;

margin-bottom:18px;

}

.left{

justify-content:flex-start;

}

.right{

justify-content:flex-end;

}

.bubble{

max-width:70%;

padding:16px 20px;

border-radius:18px;

background:#fff;

box-shadow:0 5px 15px rgba(0,0,0,.08);

line-height:1.7;

}

.right .bubble{

background:linear-gradient(135deg,#ff2d78,#6a5cff);

color:#fff;

}

.bubble small{

display:block;

margin-top:8px;

opacity:.8;

font-size:12px;

}

.delete-link{

display:inline-block;

margin-top:8px;

font-size:12px;

color:#dc3545;

text-decoration:none;

font-weight:bold;

}

.right .delete-link{

color:#fff;

}

@media(max-width:768px){

.bubble{

max-width:90%;

}

.chat-header{

flex-direction:column;

gap:15px;

}

}

/* about page */
/*=========================
ABOUT PAGE
==========================*/

.about-hero{

height:70vh;

background:
linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
url("../images/about-banner.jpg");

background-size:cover;
background-position:center;

display:flex;
align-items:center;
justify-content:center;

text-align:center;

color:#fff;

}

.about-overlay{
width:100%;
padding:30px;
}

.about-hero h4{

color:#ffd4e3;
font-size:22px;
margin-bottom:15px;

}

.about-hero h1{

font-size:60px;
margin-bottom:20px;
font-weight:700;

}

.about-hero h1 span{

color:#ff5d8f;

}

.about-hero p{

max-width:700px;
margin:auto;
font-size:20px;
line-height:1.8;
margin-bottom:35px;

}

.about-btn{

background:#ff2d6f;
color:#fff;
padding:16px 40px;
border-radius:40px;
text-decoration:none;
font-weight:bold;
display:inline-block;
transition:.3s;

}

.about-btn:hover{

background:#d81b60;
transform:translateY(-4px);

}

.about-section{

padding:90px 8%;

}

.about-grid{

display:grid;
grid-template-columns:1fr 1fr;
gap:60px;
align-items:center;

}

.about-image{

width:100%;
border-radius:20px;
box-shadow:0 20px 50px rgba(0,0,0,.15);

}

.about-grid h2{

font-size:42px;
margin-bottom:25px;

}

.about-grid p{

line-height:1.9;
margin-bottom:20px;
color:#666;

}

.about-points{

display:grid;
grid-template-columns:repeat(2,1fr);
gap:20px;
margin-top:30px;

}

.about-points div{

background:#fff;
padding:18px;
border-radius:12px;
box-shadow:0 10px 25px rgba(0,0,0,.08);

}

.about-points i{

color:#e91e63;
margin-right:8px;

}

.why-section{

padding:90px 8%;
background:#fff8fb;

}

.why-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:30px;

}

.why-card{

background:#fff;
padding:35px;
border-radius:18px;
text-align:center;
box-shadow:0 15px 35px rgba(0,0,0,.08);
transition:.3s;

}

.why-card:hover{

transform:translateY(-8px);

}

.why-card i{

font-size:55px;
color:#e91e63;
margin-bottom:20px;

}

.steps-section{

padding:90px 8%;

}

.steps-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;

}

.step{

background:#fff;
padding:35px;
border-radius:18px;
text-align:center;
box-shadow:0 15px 35px rgba(0,0,0,.08);

}

.step-number{

width:70px;
height:70px;
background:#e91e63;
color:#fff;
border-radius:50%;
margin:auto;
line-height:70px;
font-size:28px;
font-weight:bold;
margin-bottom:20px;

}

.about-stats{

padding:80px 8%;

display:grid;
grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
gap:30px;

background:linear-gradient(135deg,#ff5a92,#d81b60);

}

.stat-box{

text-align:center;
color:#fff;

}

.stat-box h2{

font-size:52px;

}

.testimonial-section{

padding:90px 8%;

}

.testimonial-grid{

display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;

}

.testimonial{

background:#fff;
padding:35px;
text-align:center;
border-radius:20px;
box-shadow:0 15px 40px rgba(0,0,0,.08);

}

.testimonial img{

width:100px;
height:100px;
border-radius:50%;
object-fit:cover;
margin-bottom:20px;

}

.testimonial p{

line-height:1.8;
color:#666;

}

.about-cta{

padding:100px 20px;

background:linear-gradient(135deg,#ff4d88,#d81b60);

text-align:center;
color:#fff;

}

.about-cta h2{

font-size:48px;
margin-bottom:20px;

}

.about-cta p{

font-size:20px;
margin-bottom:35px;

}

@media(max-width:768px){

.about-grid{

grid-template-columns:1fr;

}

.about-hero h1{

font-size:40px;

}

.about-points{

grid-template-columns:1fr;

}

.about-cta h2{

font-size:34px;

}

}

/*==============================
MODERN CHAT UI
===============================*/

.chat-container{
    max-width:1000px;
    margin:120px auto 40px;
    background:#fff;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 15px 45px rgba(0,0,0,.12);
}

.chat-header{
    background:linear-gradient(135deg,#e91e63,#c2185b);
    color:#fff;
    padding:18px 25px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
}

.chat-user{
    display:flex;
    align-items:center;
    gap:15px;
}

.chat-user img{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid #fff;
}

.chat-user h3{
    margin:0;
    font-size:22px;
}

.chat-user small{
    opacity:.9;
}

.chat-actions{
    display:flex;
    gap:10px;
}

.chat-icon{
    width:45px;
    height:45px;
    border-radius:50%;
    background:rgba(255,255,255,.15);
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    text-decoration:none;
    transition:.3s;
}

.chat-icon:hover{
    background:#fff;
    color:#e91e63;
    transform:scale(1.1);
}

.chat-wallpaper{
    background:url("../images/chat-bg.png");
    background-size:cover;
    background-position:center;
    padding:25px;
}

.chat-messages{
    height:500px;
    overflow-y:auto;
    padding:10px;
}

.message-row{
    display:flex;
    margin-bottom:18px;
}

.message-row.me{
    justify-content:flex-end;
}

.message-row.friend{
    justify-content:flex-start;
}

.chat-bubble{
    max-width:70%;
    padding:14px 18px;
    border-radius:18px;
    position:relative;
    animation:fadeIn .25s ease;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.message-row.me .chat-bubble{
    background:#dcf8c6;
    border-bottom-right-radius:5px;
}

.message-row.friend .chat-bubble{
    background:#fff;
    border-bottom-left-radius:5px;
}

.chat-time{
    display:block;
    margin-top:8px;
    text-align:right;
    font-size:11px;
    color:#777;
}

.chat-footer{
    background:#fafafa;
    padding:18px;
    border-top:1px solid #eee;
}

.chat-form{
    display:flex;
    align-items:center;
    gap:10px;
}

.chat-input{
    flex:1;
    border:none;
    background:#fff;
    border-radius:40px;
    padding:15px 22px;
    font-size:15px;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.chat-input:focus{
    outline:none;
}

.chat-send{
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:#e91e63;
    color:#fff;
    font-size:20px;
    cursor:pointer;
    transition:.3s;
}

.chat-send:hover{
    transform:scale(1.1);
    background:#c2185b;
}

.chat-alert{
    background:#fff8e1;
    color:#8a6d3b;
    padding:15px;
    text-align:center;
    border-bottom:1px solid #f2d28b;
    font-weight:600;
}

@keyframes fadeIn{

from{
opacity:0;
transform:translateY(15px);
}

to{
opacity:1;
transform:none;
}

}

@media(max-width:768px){

.chat-container{
margin:90px 10px 20px;
}

.chat-user h3{
font-size:18px;
}

.chat-user img{
width:50px;
height:50px;
}

.chat-messages{
height:400px;
}

.chat-bubble{
max-width:90%;
}

}

/* end of chat new css*/
  
  #callPopup{

position:fixed;

left:0;
top:0;

width:100%;
height:100%;

background:rgba(0,0,0,.45);

display:none;

justify-content:center;
align-items:center;

z-index:999999;

backdrop-filter:blur(8px);

}

.call-card{

width:420px;

background:#fff;

border-radius:25px;

padding:40px;

text-align:center;

box-shadow:0 20px 60px rgba(0,0,0,.35);

animation:popup .35s;

}

@keyframes popup{

from{

transform:scale(.7);

opacity:0;

}

to{

transform:scale(1);

opacity:1;

}

}

.call-card img{

width:150px;

height:150px;

border-radius:50%;

object-fit:cover;

border:5px solid #e91e63;

animation:ring 1s infinite;

}

@keyframes ring{

0%{transform:scale(1);}
50%{transform:scale(1.05);}
100%{transform:scale(1);}

}

.call-card h2{

margin-top:25px;

font-size:28px;

}

.call-card p{

margin-top:10px;

font-size:18px;

color:#777;

}

.call-buttons{

margin-top:35px;

display:flex;

justify-content:center;

gap:30px;

}

.call-buttons button{

width:80px;

height:80px;

border:none;

border-radius:50%;

font-size:30px;

cursor:pointer;

color:#fff;

transition:.3s;

}

.call-buttons button:hover{

transform:scale(1.1);

}

#acceptCall{

background:#4CAF50;

}

#rejectCall{

background:#F44336;

}

/* new css for navbar.php */
/* ================= NAVBAR ================= */

.header{
    width:100%;
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
}

.navbar{
    height:75px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 50px;
    box-shadow:0 2px 15px rgba(0,0,0,.08);
}

/* Logo */

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    text-decoration:none;
    color:#e91e63;
    font-size:30px;
    font-weight:800;
}

.logo i{
    font-size:34px;
}

.logo span{
    color:#e91e63;
}

/* Menu */

.navbar ul{
    display:flex;
    align-items:center;
    list-style:none;
    gap:10px;
    margin:0;
    padding:0;
}

.navbar ul li{
    margin:0;
}

.navbar ul li a{
    text-decoration:none;
    color:#555;
    font-size:15px;
    font-weight:600;
    padding:10px 16px;
    border-radius:30px;
    transition:.3s;
}

.navbar ul li a:hover{
    color:#e91e63;
    background:#fff1f6;
}

/* Login Button */

.login-btn{
    display:inline-block;
    padding:10px 28px !important;
    border:1px solid #dcdcdc;
    border-radius:30px;
    background:#fff;
    color:#444 !important;
    text-decoration:none;
    font-weight:600;
    transition:all .25s ease;
}

.login-btn:hover{
    border-color:#cfcfcf;
    background:#fafafa;
    color:#222 !important;
    box-shadow:0 4px 12px rgba(0,0,0,.08);
}
/* Logout Button */

.logout-btn{
    background:#e91e63;
    color:#fff !important;
    border-radius:30px;
    padding:10px 22px !important;
}

.logout-btn:hover{
    background:#c2185b !important;
    color:#fff !important;
}

/* Toggle Button */

.nav-toggle{
    display:none;
    border:none;
    background:none;
    font-size:24px;
    color:#e91e63;
    cursor:pointer;
}

/* ================= MOBILE ================= */

@media(max-width:768px){

.navbar{
    padding:0 20px;
    height:70px;
}

.logo{
    font-size:22px;
}

.logo i{
    font-size:28px;
}

/* Guest User (Not Logged In) */

body:not(.logged-in) .nav-toggle{
    display:none;
}

body:not(.logged-in) #navbarMenu{
    display:flex !important;
    width:auto;
    position:static;
    background:none;
    box-shadow:none;
}

body:not(.logged-in) #navbarMenu li{
    display:none;
}

body:not(.logged-in) #navbarMenu li:last-child{
    display:block;
}

.login-btn{
    padding:8px 18px !important;
    font-size:14px;
}

/* Logged In */

body.logged-in .nav-toggle{
    display:block;
}

body.logged-in #navbarMenu{
    display:none;
    position:absolute;
    top:70px;
    left:0;
    width:100%;
    background:#fff;
    flex-direction:column;
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}

body.logged-in #navbarMenu.show{
    display:flex;
}

body.logged-in #navbarMenu li{
    width:100%;
}

body.logged-in #navbarMenu li a{
    display:block;
    padding:15px;
    border-radius:0;
    text-align:center;
}

}

