/* ===============================
GLOBAL
================================ */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
background:#ffffff;
color:#1f2937;
line-height:1.6;
overflow-x:hidden;
}

a{
text-decoration:none;
color:inherit;
}

img{
max-width:100%;
display:block;
}


/* ===============================
TOPBAR
================================ */

.topbar{
background:#1e3a8a;
color:white;
font-size:14px;
}

.top-container{
max-width:1200px;
margin:auto;
padding:8px 20px;
display:flex;
justify-content:space-between;
align-items:center;
}

.top-left,
.top-right{
display:flex;
align-items:center;
gap:20px;
}

.top-left a{
display:flex;
align-items:center;
gap:6px;
}

.social-icons{
display:flex;
gap:10px;
}

.social-icons a{
width:30px;
height:30px;
background:rgba(255,255,255,0.15);
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
transition:.3s;
}

.social-icons a:hover{
background:#2563eb;
}


/* ===============================
HEADER
================================ */

.header{
background:white;
position:sticky;
top:0;
z-index:1000;
box-shadow:0 2px 15px rgba(0,0,0,0.08);
}

.nav-container{
max-width:1200px;
margin:auto;
padding:15px 20px;
display:flex;
align-items:center;
justify-content:space-between;
}

.logo{
font-size:26px;
font-weight:700;
color:#111827;
}

.logo span{
color:#2563eb;
}

nav{
display:flex;
align-items:center;
gap:25px;
z-index:1001;
}

nav a{
font-weight:500;
color:#374151;
transition:.3s;
}

nav a:hover{
color:#2563eb;
}

nav a.active{
color:#2563eb;
font-weight:600;
}

.track-btn{
background:#2563eb;
color:white;
padding:8px 18px;
border-radius:25px;
display:flex;
align-items:center;
gap:6px;
}

/* Mobile menu logo hide on desktop */

.mobile-menu-logo{
display:none;
}

/* Show only in mobile menu */

@media (max-width:900px){

.mobile-menu-logo{
display:block;
font-size:22px;
font-weight:700;
margin-bottom:20px;
}

.mobile-menu-logo span{
color:#2b6ef5;
}

}
.mobile-menu-logo{
text-align:center;
padding-bottom:15px;
border-bottom:1px solid #eee;
}

/* USER DROPDOWN */

.user-dropdown{
position:relative;
display:flex;
align-items:center;
margin-left:15px;
}

/* BUTTON FIX */

.user-btn{
display:flex;
align-items:center;
gap:8px;
background:transparent;
border:none;
outline:none;
cursor:pointer;
font-family:'Poppins',sans-serif;
font-size:14px;
color:#333;
padding:5px 10px;
}

/* REMOVE DEFAULT BUTTON BORDER */

.user-btn:focus{
outline:none;
}

/* SMALL AVATAR */

.user-avatar-header{
width:32px;
height:32px;
border-radius:50%;
background:#5f7cff;
color:#fff;
display:flex;
align-items:center;
justify-content:center;
font-weight:600;
font-size:14px;
}

/* DROPDOWN MENU */

.user-menu{
position:absolute;
right:0;
top:45px;
width:230px;
background:#fff;
border-radius:10px;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
display:none;
overflow:hidden;
z-index:999;
}

/* SHOW MENU */

.user-dropdown:hover .user-menu{
display:block;
}

/* USER INFO */

.user-info{
display:flex;
align-items:center;
gap:10px;
padding:15px;
}

.user-avatar-large{
width:40px;
height:40px;
border-radius:50%;
background:#5f7cff;
color:white;
display:flex;
align-items:center;
justify-content:center;
font-weight:600;
}

/* MENU LINKS */

.user-menu a{
display:flex;
align-items:center;
gap:10px;
padding:12px 15px;
text-decoration:none;
color:#333;
font-size:14px;
}

.user-menu a:hover{
background:#f5f7ff;
}

/* LOGOUT */

.logout{
color:#e74c3c;
}

.user-menu hr{
border:none;
border-top:1px solid #eee;
margin:5px 0;
}

/* Awatar */
.avatar-img{
width:32px;
height:32px;
border-radius:50%;
object-fit:cover;
}

.avatar-img-large{
width:40px;
height:40px;
border-radius:50%;
object-fit:cover;
}


/* ===============================
MOBILE MENU
================================ */

.menu-toggle{
display:none;
flex-direction:column;
gap:5px;
cursor:pointer;
}

.menu-toggle span{
width:26px;
height:3px;
background:#111;
border-radius:2px;
}

.nav-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
opacity:0;
visibility:hidden;
transition:.3s;
z-index:999;
}

.nav-overlay.show{
opacity:1;
visibility:visible;
}

nav a{
cursor:pointer;
}
/* ===============================
BANNER SLIDER
================================ */

.medical-slider{
position:relative;
overflow:hidden;
}

.banner-slide{
display:none;
position:relative;
}

.banner-slide.active{
display:block;
}

.banner-slide img{
width:100%;
height:520px;
object-fit:cover;
}

.banner-slide::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}

.banner-content{
position:absolute;
top:50%;
right:8%;
transform:translateY(-50%);
max-width:420px;
z-index:2;
}

.banner-content h2{
font-size:42px;
margin-bottom:10px;
}

.banner-content p{
margin-bottom:20px;
}

.banner-btn{
background:#2563eb;
padding:12px 26px;
border-radius:8px;
color:white;
display:inline-flex;
align-items:center;
gap:8px;
}


/* ===============================
HERO SECTION
================================ */

.hero-dark{
background:#f4f8ff;
padding:100px 8%;
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
gap:60px;
}

.tagline{
background:#e0ecff;
padding:8px 18px;
border-radius:20px;
font-size:14px;
display:inline-flex;
gap:6px;
align-items:center;
margin-bottom:20px;
}

.hero-left h1{
font-size:48px;
margin-bottom:15px;
}

.hero-left h1 span{
color:#2563eb;
}

.hero-left p{
max-width:520px;
color:#4b5563;
margin-bottom:30px;
}

.stats{
display:flex;
gap:40px;
}

.stats strong{
font-size:24px;
display:block;
}


/* ===============================
BOOKING CARD
================================ */

.hero-card{
background:white;
border-radius:20px;
box-shadow:0 20px 50px rgba(0,0,0,0.15);
display:flex;
overflow:hidden;
max-width:520px;
}

.card-left{
padding:30px;
flex:1;
}

.card-left select{
width:100%;
padding:10px;
margin-top:6px;
margin-bottom:15px;
border-radius:8px;
border:1px solid #ddd;
}

.book-btn{
width:100%;
padding:12px;
background:#2563eb;
color:white;
border:none;
border-radius:8px;
cursor:pointer;
}

.card-right{
background:#2563eb;
color:white;
padding:30px;
width:200px;
text-align:center;
}

.price-break p{
display:flex;
justify-content:space-between;
font-size:14px;
margin-top:8px;
}


/* ===============================
SERVICES
================================ */

.services-title h2{
font-size:36px;
margin-bottom:10px;
}

.services-title span{
color:#2563eb;
}

.services-title p{
color:#6b7280;
}

.service-card:hover{
transform:translateY(-6px);
}

.icon-box{
width:65px;
height:65px;
display:flex;
align-items:center;
justify-content:center;
border-radius:14px;
margin:auto;
margin-bottom:18px;
color:white;
font-size:26px;
}

.icon-1{background:#3b82f6;}
.icon-2{background:#10b981;}
.icon-3{background:#6366f1;}
.icon-4{background:#f59e0b;}

.service-card h3{
margin-bottom:10px;
}


/* ===============================
FOOTER
================================ */

.lux-footer{
background:#081226;
color:#dbeafe;
padding:80px 8% 0;
}

.lux-footer-container{
max-width:1200px;
margin:auto;
display:grid;
grid-template-columns:2fr 1fr 1fr 1.5fr;
gap:40px;
}

.footer-logo{
font-size:24px;
margin-bottom:10px;
}

.footer-logo span{
color:#3b82f6;
}

.lux-links a{
display:block;
margin-bottom:8px;
font-size:14px;
}

.lux-contact p{
display:flex;
gap:10px;
margin-bottom:10px;
}

.lux-social{
display:flex;
gap:12px;
margin-top:15px;
}

.lux-social a{
width:34px;
height:34px;
border-radius:50%;
background:#0f172a;
display:flex;
align-items:center;
justify-content:center;
transition:.3s;
}

.lux-social a:hover{
background:#2563eb;
}

.lux-bottom{
text-align:center;
padding:18px;
border-top:1px solid rgba(255,255,255,0.1);
margin-top:40px;
font-size:13px;
}

/* ===============================
TABLET
================================ */

@media(max-width:1000px){

.services-grid{
grid-template-columns:repeat(2,1fr);
}

.hero-dark{
flex-direction:column;
text-align:center;
}

.hero-card{
width:100%;
}

.lux-footer-container{
grid-template-columns:1fr 1fr;
}

}


/* ===============================
MOBILE
================================ */

@media(max-width:900px){

.menu-toggle{
display:flex;
cursor:pointer;
}


/* ===============================
BANNER
================================ */

.banner-slide{
position:relative;
}

.banner-slide img{
height:320px;
}

.banner-content{
position:absolute;
top:40%;
right:15px;
left:15px;
transform:translateY(-40%);
max-width:100%;
text-align:left;
}

.banner-content h2{
font-size:22px;
}

.banner-content p{
font-size:14px;
}

.banner-btn{
margin-top:10px;
padding:10px 18px;
font-size:14px;
}


/* ===============================
MOBILE MENU
================================ */

nav{
position:fixed;
top:0;
right:-100%;
width:260px;
height:100%;
background:white;

flex-direction:column;
align-items:flex-start;

padding:80px 25px 20px;

gap:10px;

transition:.4s;

box-shadow:-5px 0 25px rgba(0,0,0,0.15);

z-index:1001;
}

nav.open{
right:0;
}


/* MENU LINKS */

nav a{
width:100%;
padding:12px 0;
border-bottom:1px solid #eee;
font-size:16px;
display:flex;
align-items:center;
gap:10px;
}

.track-btn{
width:100%;
justify-content:center;
margin-top:10px;
}


/* OVERLAY */

.nav-overlay{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.4);
opacity:0;
visibility:hidden;
transition:.3s;
}

.nav-overlay.show{
opacity:1;
visibility:visible;
}

}


/* ===============================
Services grid
================================ */
.services-section{
padding:80px 8%;
background:#f8fbff;
text-align:center;
}

.section-title{
font-size:32px;
margin-bottom:10px;
color:#0a2a4a;
}

.section-subtitle{
color:#666;
margin-bottom:50px;
}

.services-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.service-card{
background:#fff;
border-radius:12px;
padding:20px;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
position:relative;
transition:0.3s;
}

.service-card:hover{
transform:translateY(-8px);
}

.service-card img{
width:100%;
height:170px;
object-fit:cover;
border-radius:8px;
margin-bottom:15px;
}

.service-card h3{
font-size:18px;
margin-bottom:8px;
}

.service-card p{
font-size:14px;
color:#666;
margin-bottom:12px;
}

.badge{
position:absolute;
top:10px;
left:10px;
background:#ff3b30;
color:#fff;
padding:5px 10px;
font-size:12px;
border-radius:6px;
font-weight:600;
}

.price-box{
margin-bottom:15px;
}

.old-price{
text-decoration:line-through;
color:#999;
margin-right:10px;
}

.new-price{
color:#0a84ff;
font-weight:700;
font-size:20px;
}

.book-btn{
display:inline-block;
padding:10px 18px;
background:#0a84ff;
color:#fff;
border-radius:6px;
text-decoration:none;
font-size:14px;
}

.book-btn:hover{
background:#0056b3;
}

@media(max-width:600px){
.services-grid{
grid-template-columns:1fr;
}
}

/* ==== Cart Count Badge */
.cart-btn{
position:relative;
padding:8px 14px;
border-radius:6px;
text-decoration:none;
font-size:14px;
margin-left:10px;
display:inline-flex;
align-items:center;
gap:6px;
}


/* cart count badge */

#cart-count{
position:absolute;
top:-6px;
right:-6px;
background:#ff3b30;
color:#fff;
font-size:11px;
padding:2px 6px;
border-radius:50px;
font-weight:600;
}

/* ===============================
SMALL MOBILE
================================ */

@media(max-width:600px){

.services-grid{
grid-template-columns:1fr;
}

.services-title h2{
font-size:28px;
}

.lux-footer-container{
grid-template-columns:1fr;
text-align:center;
}

.lux-contact p{
justify-content:center;
}

}


/* ===================================
BETTER MOBILE LAYOUT
=================================== */

@media(max-width:768px){

/* TOPBAR FIX */

.top-container{
flex-direction:column;
gap:6px;
text-align:center;
padding:10px;
}

.top-left,
.top-right{
flex-wrap:wrap;
justify-content:center;
gap:10px;
}

.social-icons{
margin-top:4px;
}


/* HEADER */

.nav-container{
padding:12px 16px;
}

.logo{
font-size:22px;
}


/* MOBILE MENU */

nav{
padding:80px 25px 20px;
gap:10px;
}


/* SLIDER */

.banner-slide img{
height:300px;
}

.banner-content{
top:45%;
right:15px;
left:15px;
transform:translateY(-45%);
max-width:100%;
text-align:left;
}

.banner-content h2{
font-size:24px;
}

.banner-content p{
font-size:14px;
}

.banner-btn{
padding:10px 18px;
font-size:14px;
margin-top:8px;
}


/* HERO */

.hero-dark{
padding:60px 20px;
flex-direction:column;
text-align:center;
gap:30px;
}

.hero-left{
max-width:100%;
}

.hero-left h1{
font-size:30px;
}

.stats{
flex-direction:column;
gap:10px;
align-items:center;
}


/* BOOKING CARD */

.hero-card{
flex-direction:column;
width:100%;
}

.card-right{
width:100%;
padding:20px;
}


/* SERVICES */

.services-section{
padding:70px 20px;
}

.services-grid{
grid-template-columns:1fr;
gap:20px;
}

.service-card{
padding:30px 20px;
}


/* FOOTER */

.lux-footer{
padding:60px 20px 0;
}

.lux-footer-container{
grid-template-columns:1fr;
gap:30px;
text-align:center;
}

.lux-contact p{
justify-content:center;
}

.lux-social{
justify-content:center;
}

}


/* ===============================
EXTRA SMALL MOBILE
================================ */

@media(max-width:480px){

.banner-slide img{
height:260px;
}

.banner-content{
top:45%;
right:12px;
left:12px;
max-width:100%;
}

.hero-left h1{
font-size:26px;
}

.services-title h2{
font-size:24px;
}

.banner-btn{
font-size:13px;
}

}


/* ===============================
SLIDER DOTS
================================ */

.slider-dots{
position:absolute;
bottom:55px;
left:50%;
transform:translateX(-50%);
display:flex;
gap:8px;
z-index:6;
}

.slider-dots span{
width:10px;
height:10px;
background:rgba(255,255,255,0.6);
border-radius:50%;
cursor:pointer;
transition:.3s;
}

.slider-dots span.active{
background:#2563eb;
width:22px;
border-radius:6px;
}

/* ===============================
SLIDER PROGRESS BAR
================================ */

.slider-progress{
position:absolute;
bottom:0;
left:0;
width:100%;
height:4px;
background:rgba(255,255,255,0.4);
z-index:5;
}

.slider-progress span{
display:block;
height:100%;
width:0%;
background:#2563eb;
animation:progressSlide 4s linear infinite;
}

@keyframes progressSlide{

0%{width:0%;}
100%{width:100%;}

}


/* =================== Cart Page =================== */

.cart-page{
padding:60px 8%;
background:#f5f8ff;
}

.cart-wrapper{
display:grid;
grid-template-columns:2fr 1fr;
gap:30px;
}

/* LEFT */

.cart-left{
background:#fff;
padding:25px;
border-radius:10px;
box-shadow:0 8px 20px rgba(0,0,0,0.06);
}

.cart-heading{
background:#0a4bd9;
color:#fff;
padding:14px 16px;
border-radius:8px;
margin-bottom:20px;
font-weight:600;
}

.cart-item{
display:flex;
align-items:center;
gap:20px;
border-bottom:1px solid #eee;
padding:18px 0;
}

.cart-img{
width:70px;
height:70px;
object-fit:cover;
border-radius:8px;
border:1px solid #eee;
}

.cart-info{
flex:1;
}

.cart-info h3{
font-size:16px;
margin-bottom:6px;
font-weight:600;
}

/* CONTROLS */

.cart-controls{
display:flex;
align-items:center;
gap:20px;
margin-bottom:6px;
}

/* BOOK FOR */

.book-for{
display:flex;
align-items:center;
gap:6px;
font-size:14px;
}

/* QTY */

.qty-box{
display:flex;
align-items:center;
gap:6px;
font-size:14px;
}

/* DROPDOWN */

.book-for select,
.qty-box select{
padding:6px 10px;
border-radius:6px;
border:1px solid #ddd;
font-size:13px;
background:#fff;
cursor:pointer;
transition:0.2s;
}

.book-for select:hover,
.qty-box select:hover{
border-color:#0a4bd9;
}

/* PRICE */

.price{
color:#0a4bd9;
font-weight:600;
font-size:15px;
}

/* REMOVE BUTTON */

.remove-btn{
background:#ff4d4d;
border:none;
color:#fff;
width:36px;
height:36px;
border-radius:8px;
cursor:pointer;
display:flex;
align-items:center;
justify-content:center;
transition:0.2s;
}

.remove-btn:hover{
background:#e03b3b;
}

/* RIGHT */

.cart-right{
display:flex;
flex-direction:column;
gap:20px;
}

/* COUPON */

.coupon-box{
border:2px dashed #0a4bd9;
padding:20px;
border-radius:10px;
background:#fff;
}

.coupon-box h3{
margin-bottom:10px;
}

.coupon-input{
display:flex;
gap:10px;
margin-top:10px;
}

.coupon-input input{
flex:1;
padding:10px;
border-radius:6px;
border:1px solid #ddd;
}

.coupon-input button{
background:#0a4bd9;
color:#fff;
border:none;
padding:10px 16px;
border-radius:6px;
cursor:pointer;
}

.coupon-input button:hover{
background:#083bb3;
}

/* SUMMARY */

.order-summary{
background:#fff;
padding:20px;
border-radius:10px;
box-shadow:0 6px 15px rgba(0,0,0,0.05);
}

.summary-row{
display:flex;
justify-content:space-between;
margin:10px 0;
font-size:14px;
}

.total{
font-weight:700;
font-size:18px;
}

/* CHECKOUT */

.checkout-btn{
display:block;
text-align:center;
margin-top:20px;
padding:12px;
background:#249b00;
color:#fff;
border-radius:8px;
text-decoration:none;
font-weight:600;
transition:0.2s;
}

.checkout-btn:hover{
background:#2dbb01;
}
/* ================= CART RESPONSIVE ================= */

@media(max-width:900px){

.cart-page{
padding:40px 20px;
}

.cart-wrapper{
grid-template-columns:1fr;
gap:20px;
}

/* cart item */

.cart-item{
flex-direction:column;
align-items:flex-start;
gap:12px;
}

/* image */

.cart-img{
width:100%;
max-width:120px;
}

/* controls */

.cart-controls{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

/* price */

.price{
font-size:16px;
}

/* remove button */

.remove-btn{
align-self:flex-end;
}

}


/* ================= SMALL MOBILE ================= */

@media(max-width:600px){

.cart-heading{
font-size:15px;
padding:12px;
}

.cart-info h3{
font-size:15px;
}

.book-for,
.qty-box{
width:100%;
justify-content:space-between;
}

/* coupon box */

.coupon-box{
padding:15px;
}

.coupon-input{
flex-direction:column;
}

.coupon-input input{
width:100%;
}

.coupon-input button{
width:100%;
}

/* summary */

.order-summary{
padding:16px;
}

.summary-row{
font-size:13px;
}

/* checkout button */

.checkout-btn{
width:100%;
font-size:15px;
}

}

/* =================================================
ULTRA PREMIUM DASHBOARD
================================================= */

.dashboard-section{
min-height:80vh;
}


/* =================================================
WELCOME BANNER
================================================= */

.dashboard-banner{
background:linear-gradient(120deg,#4e73ff,#7a4bd9);
padding:35px 6%;
color:#fff;
position:relative;
overflow:hidden;
}

.dashboard-banner::after{
content:"";
position:absolute;
right:-100px;
top:-80px;
width:320px;
height:320px;
background:rgba(255,255,255,0.08);
border-radius:50%;
}

.banner-container{
max-width:1300px;
margin:auto;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
}

.banner-left{
display:flex;
align-items:center;
gap:15px;
}

.user-avatar{
width:60px;
height:60px;
border-radius:50%;
background:#fff;
color:#4e73ff;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
font-size:22px;
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

.banner-btn:hover{
transform:translateY(-3px);
box-shadow:0 10px 20px rgba(0,0,0,0.2);
}

.banner-btn.logout{
background:#ff4b5c;
color:#fff;
}


/* =================================================
DASHBOARD WRAPPER
================================================= */

.dash-wrapper{
max-width:1350px;
margin:auto;
display:flex;
gap:30px;
margin-top:30px;
}


/* =================================================
FULL HEIGHT SIDEBAR
================================================= */

.dash-sidebar{
width:250px;
min-height:100%;
background:linear-gradient(180deg,#0a4bd9,#0e6bff);
padding:30px 20px;
border-radius:16px;
color:#fff;
box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

.dash-sidebar a{
display:flex;
align-items:center;
gap:12px;
padding:14px 16px;
margin-bottom:12px;
border-radius:10px;
color:#fff;
font-weight:500;
transition:all .3s;
}

.dash-sidebar a:hover{
background:rgba(255,255,255,0.15);
transform:translateX(6px);
}

.dash-sidebar a.active{
background:#fff;
color:#0a4bd9;
font-weight:600;
box-shadow:0 6px 12px rgba(0,0,0,0.1);
}


/* =================================================
MAIN CONTENT
================================================= */

.dash-main{
flex:1;
}

.dash-main h2{
font-size:28px;
margin-bottom:30px;
}


/* =================================
COLORFUL STATS GRID
================================ */

.stats-grid{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
margin-bottom:30px;
}


/* CARD BASE */

.stat-card{
position:relative;
padding:30px;
border-radius:18px;
color:#fff;
overflow:hidden;
box-shadow:0 10px 30px rgba(0,0,0,0.15);
transition:.3s;
}

.stat-card:hover{
transform:translateY(-6px);
}


/* ICON */

.stat-card i{
font-size:20px;
margin-bottom:10px;
}


/* NUMBER */

.stat-card h2{
font-size:32px;
margin-bottom:4px;
font-weight:700;
}


/* TEXT */

.stat-card p{
font-size:14px;
margin-bottom:2px;
}

.stat-card span{
font-size:13px;
opacity:.8;
}


/* GRADIENT COLORS */

.stat-card.purple{
background:linear-gradient(135deg,#7a5cff,#6a4bff);
}

.stat-card.green{
background:linear-gradient(135deg,#2ecc71,#27ae60);
}

.stat-card.blue{
background:linear-gradient(135deg,#00c6ff,#0072ff);
}

.stat-card.red{
background:linear-gradient(135deg,#ff6a6a,#ff3e3e);
}


/* GRAPHIC CIRCLES */

.stat-card::after{
content:"";
position:absolute;
top:-40px;
right:-40px;
width:140px;
height:140px;
background:rgba(255,255,255,0.15);
border-radius:50%;
}

.stat-card::before{
content:"";
position:absolute;
top:-10px;
right:40px;
width:80px;
height:80px;
background:rgba(255,255,255,0.1);
border-radius:50%;
}


/* RESPONSIVE */

@media(max-width:900px){

.stats-grid{
grid-template-columns:repeat(2,1fr);
}

}

@media(max-width:500px){

.stats-grid{
grid-template-columns:1fr;
}

}

/* =================================================
BOTTOM GRID
================================================= */

.dashboard-bottom{
display:grid;
grid-template-columns:2fr 1fr;
gap:25px;
}


/* =================================================
ORDER CARD
================================================= */

.order-tracking-card{
background:#fff;
padding:30px;
border-radius:16px;
box-shadow:0 15px 30px rgba(0,0,0,0.06);
}

.order-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:20px;
}

.refresh-btn{
background:#eef2ff;
border:none;
padding:8px 10px;
border-radius:6px;
cursor:pointer;
}

.order-empty{
text-align:center;
padding:40px;
}

.order-empty i{
font-size:42px;
color:#bbb;
margin-bottom:10px;
}


/* =================================================
RIGHT PANELS
================================================= */

.dashboard-side{
display:flex;
flex-direction:column;
gap:20px;
}

.quick-actions,
.recent-reports{
background:#fff;
padding:25px;
border-radius:16px;
box-shadow:0 15px 30px rgba(0,0,0,0.05);
}

.quick-btn{
display:block;
text-align:center;
padding:12px;
border-radius:8px;
margin-bottom:10px;
border:1px solid #ddd;
transition:.3s;
}

.quick-btn.primary{
background:#0a4bd9;
color:#fff;
border:none;
}

.quick-btn.light{
background:#f5f7ff;
}

.quick-btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(0,0,0,0.1);
}


/* =================================================
BUTTON
================================================= */

.dash-btn{
display:inline-block;
background:linear-gradient(135deg,#0a4bd9,#6f7cff);
color:#fff;
padding:10px 20px;
border-radius:8px;
text-decoration:none;
font-weight:500;
transition:.3s;
}

.dash-btn:hover{
transform:translateY(-2px);
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

.dash-sidebar{
display:flex;
flex-direction:column;
justify-content:space-between;
height:auto;
}

.sidebar-top a{
display:flex;
align-items:center;
gap:10px;
padding:12px 15px;
margin-bottom:10px;
color:white;
text-decoration:none;
border-radius:8px;
}

.sidebar-bottom{
margin-top:60px;
}

.logout-btn{
display:flex;
align-items:center;
gap:10px;
padding:12px 15px;
background:#ff4d4d;
color:white;
text-decoration:none;
border-radius:8px;
font-weight:600;
}
/* =================================================
ANIMATION
================================================= */

@keyframes fadeUp{

from{
opacity:0;
transform:translateY(25px);
}

to{
opacity:1;
transform:translateY(0);
}

}


/* =================================================
TABLET RESPONSIVE
================================================= */

@media(max-width:1000px){

.dash-wrapper{
flex-direction:column;
}

.dash-sidebar{
width:100%;
display:flex;
flex-wrap:wrap;
gap:10px;
}

.dash-sidebar a{
flex:1;
justify-content:center;
}

.dash-cards{
grid-template-columns:repeat(2,1fr);
}

.dashboard-bottom{
grid-template-columns:1fr;
}

}


/* =================================================
MOBILE RESPONSIVE
================================================= */

@media(max-width:600px){

.banner-container{
flex-direction:column;
align-items:flex-start;
gap:15px;
}

.dash-cards{
grid-template-columns:1fr;
}

}

/* ====== Profile Page ====== */

.dashboard-container{
max-width:1200px;
margin:auto;
padding:30px 20px;
}

/* CARD */

.profile-card{
background:white;
padding:25px;
border-radius:10px;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.profile-card h3{
margin-bottom:20px;
font-size:20px;
font-weight:600;
}

/* FORM */

.profile-card label{
display:block;
margin-bottom:6px;
font-size:14px;
font-weight:500;
}

.profile-card input,
.profile-card textarea{
width:100%;
padding:10px 12px;
margin-bottom:15px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
transition:0.3s;
}

.profile-card input:focus,
.profile-card textarea:focus{
border-color:#0c3c78;
outline:none;
}

/* ====== TABLET ====== */

@media(max-width:1000px){

.profile-grid{
grid-template-columns:1fr;
}

.profile-card{
padding:20px;
}

}

/* ====== MOBILE ====== */

@media(max-width:600px){

.dashboard-container{
padding:20px 15px;
}

.profile-card{
padding:18px;
}

.profile-card h3{
font-size:18px;
}

.profile-card input,
.profile-card textarea{
font-size:13px;
padding:9px;
}

.btn-primary{
width:100%;
text-align:center;
}

}

/* =================================================
PROFILE MANAGEMENT PAGE
================================================= */

/* PROFILE GRID */

.profile-grid{

display:grid;

grid-template-columns:2fr 1fr;

gap:30px;

margin-top:20px;

}


/* PROFILE CARD */

.profile-card{

background:#fff;

padding:28px;

border-radius:14px;

box-shadow:0 10px 30px rgba(0,0,0,0.05);

transition:0.3s;

}

.profile-card:hover{

transform:translateY(-3px);

}

.profile-card h3{

font-size:20px;

margin-bottom:20px;

color:#222;

}


/* PROFILE PHOTO */

.profile-preview{

width:110px;

height:110px;

border-radius:50%;

object-fit:cover;

display:block;

margin:10px auto 15px auto;

border:4px solid #eef1ff;

box-shadow:0 6px 18px rgba(0,0,0,0.08);

}


/* FILE INPUT */

.profile-card input[type="file"]{

margin-bottom:18px;

}


/* =================================================
FORM GRID
================================================= */

.profile-form-grid{

display:grid;

grid-template-columns:1fr 1fr;

gap:18px;

margin-top:10px;

}


/* FORM GROUP */

.form-group{

display:flex;

flex-direction:column;

}


/* FULL WIDTH FIELD */

.form-group.full{

grid-column:span 2;

}


/* LABEL */

.profile-card label{

font-size:14px;

font-weight:600;

margin-bottom:6px;

color:#333;

}


/* INPUT */

.profile-card input,

.profile-card textarea{

width:100%;

padding:11px 14px;

border:1px solid #ddd;

border-radius:8px;

font-size:14px;

transition:0.3s;

}


/* INPUT FOCUS */

.profile-card input:focus,

.profile-card textarea:focus{

border-color:#4e73ff;

box-shadow:0 0 0 3px rgba(78,115,255,0.12);

outline:none;

}


/* TEXTAREA */

.profile-card textarea{

min-height:90px;

resize:vertical;

}


/* SMALL TEXT */

.profile-form-grid small{

font-size:12px;

color:#888;

margin-top:3px;

}


/* DISABLED EMAIL */

.profile-card input:disabled{

background:#f4f6fb;

color:#777;

}


/* BUTTON */

.btn-primary:hover{

transform:translateY(-2px);

box-shadow:0 10px 20px rgba(0,0,0,0.15);

}


/* =================================================
TABLET RESPONSIVE
================================================= */

@media(max-width:1000px){

.profile-grid{

grid-template-columns:1fr;

}

}


/* =================================================
MOBILE RESPONSIVE
================================================= */

@media(max-width:700px){

.profile-form-grid{

grid-template-columns:1fr;

}

.form-group.full{

grid-column:span 1;

}

.profile-card{

padding:22px;

}

.profile-preview{

width:90px;

height:90px;

}

.btn-primary{

width:100%;

}

}


/* ================= RESET ================= */
*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:'Segoe UI',sans-serif;
}

body{
  background:#f4f6fb;
  color:#333;
}

/* ================= BUTTONS ================= */
.btn-primary{
  background:#4e73ff;
  color:#fff;
  border:none;
  padding:10px 18px;
  border-radius:8px;
  cursor:pointer;
  transition:0.2s;
}

.btn-primary:hover{
  background:#2e59ff;
}

.btn-secondary{
  background:#eee;
  border:none;
  padding:10px 18px;
  border-radius:8px;
  cursor:pointer;
}

/* ================= ALERT ================= */
.alert{
  padding:12px;
  margin-bottom:15px;
  border-radius:6px;
  font-size:14px;
}

.alert.success{
  background:#e6ffed;
  color:#2e7d32;
}

.alert.error{
  background:#ffe6e6;
  color:#c62828;
}

/* ================= DASHBOARD ================= */
.dashboard-section{
  padding:30px 5%;
}


/* ================= MAIN ================= */
.dash-main{
  flex:1;
}

/* ================= TOP BAR ================= */
.top-bar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:20px;
}

/* ================= ADDRESS GRID ================= */
.address-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:20px;
  margin-top:20px;
}

/* ================= CARD ================= */
.address-card p strong{
  display:block;
  margin-bottom:5px;
  color:#000;
  font-size:14px;
}


.address-card h4{
  margin-bottom:8px;
  font-size:16px;
}

.address-card p{
  font-size:13px;
  line-height:1.6;
  color:#555;
}

.address-card small{
  display:block;
  margin-top:5px;
  color:#888;
}

/* DEFAULT CARD SPECIAL */
.address-card.default-active{
  border:2px solid #4e73ff;
  box-shadow:0 10px 30px rgba(78,115,255,0.2);
  animation:glowPulse 2s infinite;
}

/* BADGE */
.default-badge{
  background:#4e73ff;
  color:#fff;
  padding:4px 10px;
  font-size:11px;
  border-radius:20px;
}

/* ANIMATION */
@keyframes glowPulse{
  0%{ box-shadow:0 0 0 rgba(78,115,255,0.2); }
  50%{ box-shadow:0 0 20px rgba(78,115,255,0.5); }
  100%{ box-shadow:0 0 0 rgba(78,115,255,0.2); }
}

/* PREMIUM HOVER */
.address-card{
   background:linear-gradient(145deg,#ffffff,#f3f6ff);
  transition:all 0.3s ease;
  cursor:pointer;
}

.address-card:hover{
  transform:translateY(-8px) scale(1.02);
  box-shadow:0 20px 40px rgba(0,0,0,0.15);
}

/* BUTTON HOVER */
.edit-btn:hover{
  background:#009443;
}

.delete-btn:hover{
  background:#c50000;
}

/* TEXT SMOOTH */
.address-card p{
  transition:0.3s;
}

.address-card:hover p{
  color:#000;
}

/* DEFAULT BADGE */
.default-badge{
  position:absolute;
  top:10px;
  right:10px;
  background:#4e73ff;
  color:#fff;
  padding:3px 8px;
  font-size:11px;
  border-radius:6px;
}

/* ACTION BUTTONS */
.card-actions{
  margin-top:12px;
  display:flex;
  gap:10px;
}

.edit-btn{
  background:#f1f5ff;
  border:none;
  padding:6px 10px;
  border-radius:6px;
  cursor:pointer;
}

.delete-btn{
  background:#ffecec;
  color:#c62828;
  padding:6px 10px;
  border-radius:6px;
  text-decoration:none;
}

/* EMPTY */
.empty-box{
  text-align:center;
  padding:40px;
  background:#fff;
  border-radius:12px;
}


/* ================= MODAL BOX ================= */
.modal-content{
  background:#fff;
  width:100%;
  max-width:480px;
  border-radius:16px;
  padding:25px 22px;
  box-shadow:0 15px 50px rgba(0,0,0,0.2);
  animation:fadeIn 0.3s ease;
  max-height:90vh;
  overflow-y:auto;
}

/* HEADER */
.modal-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:15px;
}

.modal-header h3{
  font-size:20px;
}

.close-btn{
  font-size:22px;
  cursor:pointer;
  color:#888;
}

/* ================= FORM ================= */
.form-group{
  display:flex;
  flex-direction:column;
  margin-bottom:14px;
}

.form-group label{
  font-size:13px;
  margin-bottom:6px;
  color:#444;
}

/* INPUT STYLE */
.form-group input,
.form-group select{
  padding:12px;
  border-radius:10px;
  border:1px solid #ddd;
  font-size:14px;
  outline:none;
  transition:0.2s;
  background:#fafafa;
}

.form-group input:focus,
.form-group select:focus{
  border-color:#4e73ff;
  background:#fff;
  box-shadow:0 0 0 2px rgba(78,115,255,0.1);
}

/* ROW (CITY + STATE) */
.form-row{
  display:flex;
  gap:12px;
}

.form-row .form-group{
  flex:1;
}

/* CHECKBOX */
.checkbox-label{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13px;
  margin-top:8px;
}

/* BUTTON AREA */
.modal-btns{
  display:flex;
  justify-content:space-between;
  margin-top:18px;
  gap:10px;
}

.modal-btns button{
  flex:1;
}

/* ================= ANIMATION ================= */
@keyframes fadeIn{
  from{
    opacity:0;
    transform:translateY(30px) scale(0.95);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* ================= MOBILE ================= */
@media(max-width:600px){

  .modal-content{
    padding:20px 15px;
  }

  .form-row{
    flex-direction:column;
  }

}

/* ================= MOBILE ================= */
@media(max-width:768px){

  .dash-wrapper{
    flex-direction:column;
  }

  .dash-sidebar{
    width:100%;
    flex-direction:row;
    overflow-x:auto;
    height:auto;
  }

  .dash-sidebar a{
    white-space:nowrap;
  }

  .form-row{
    flex-direction:column;
  }

}

/* ================= SMALL MOBILE ================= */
@media(max-width:480px){

  .top-bar{
    flex-direction:column;
    gap:10px;
    align-items:flex-start;
  }

  .btn-primary{
    width:100%;
  }

}


/* ============ Orders Page ============ */

.dash-main{
flex:1;
}

/* ===== FILTER ===== */

.order-filters{
display:flex;
gap:10px;
margin:20px 0;
flex-wrap:wrap;
}

.filter-btn{
background:#eef1ff;
border:none;
padding:8px 16px;
border-radius:20px;
cursor:pointer;
}

.filter-btn.active{
background:#4e73ff;
color:#fff;
}

/* ===== CARDS ===== */

.orders-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:20px;
}

.order-card{
background:rgba(255,255,255,0.8);
backdrop-filter:blur(12px);
padding:20px;
border-radius:18px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
transition:0.3s;
}

.order-card:hover{
transform:translateY(-5px);
}

/* ===== STATUS ===== */

.status{
padding:5px 12px;
border-radius:20px;
font-size:12px;
}

.status.pending{
background:#fff3cd;
color:#856404;
}

.status.completed{
background:#d4edda;
color:#155724;
}

/* ===== TRACKING ===== */

.tracking{
display:flex;
justify-content:space-between;
margin:20px 0;
position:relative;
}

.tracking::before{
content:'';
position:absolute;
top:50%;
left:0;
width:100%;
height:4px;
background:#eee;
}

.tracking::after{
content:'';
position:absolute;
top:50%;
left:0;
height:4px;
background:linear-gradient(90deg,#4e73ff,#7a4bd9);
transition:0.5s;
}

.order-card[data-status="pending"] .tracking::after{width:25%;}
.order-card[data-status="completed"] .tracking::after{width:100%;}

.step{
width:28px;
height:28px;
border-radius:50%;
background:#ddd;
display:flex;
align-items:center;
justify-content:center;
z-index:1;
}

.step.active{
background:#4e73ff;
color:#fff;
}


/* ===== EMPTY ===== */

.empty-box{
text-align:center;
padding:40px;
background:#fff;
border-radius:15px;
}

/* ===== MOBILE ===== */

@media(max-width:768px){

.dash-wrapper{
flex-direction:column;
}

.dash-sidebar{
width:100%;
display:flex;
overflow-x:auto;
}

.dash-sidebar a{
flex:1;
text-align:center;
font-size:13px;
}

.order-filters{
position:sticky;
top:0;
background:#f4f7ff;
padding:10px 0;
}

}


/* ================ Family-Members Page ================ */

.dashboard-section{
background:#f4f6fb;
min-height:80vh;
}

.dash-wrapper{
display:flex;
gap:25px;
}

/* ================= SIDEBAR ================= */
.center-box{
display:flex;
justify-content:center;
align-items:center;
height:60vh;
text-align:center;
}

.empty-content i{
font-size:55px;
color:#999;
margin-bottom:15px;
}

.empty-content h3{
font-size:24px;
margin-bottom:10px;
}

.empty-content p{
color:#666;
margin-bottom:15px;
}


/* ================= CARD ================= */

.address-card h4{
margin-bottom:10px;
}

.address-card p{
color:#555;
font-size:14px;
}

.card-actions{
margin-top:10px;
display:flex;
justify-content:space-between;
}

/* ================= MODAL ================= */
.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.5);
z-index:9999;
justify-content:center;
align-items:center;
}

.modal-content{
background:#fff;
width:650px;
max-width:95%;
padding:25px;
border-radius:12px;
position:relative;
animation:fadeIn 0.3s ease;
}

@keyframes fadeIn{
from{opacity:0;transform:scale(0.9);}
to{opacity:1;transform:scale(1);}
}

.close{
position:absolute;
right:15px;
top:10px;
font-size:22px;
cursor:pointer;
}

/* ================= FORM ================= */
.form-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
margin-top:15px;
}

.form-grid input,
.form-grid select,
.form-grid textarea{
width:100%;
padding:10px;
border:1px solid #ddd;
border-radius:6px;
}

.form-grid textarea{
grid-column:span 2;
height:80px;
}

/* SEARCH */
.search-input{
width: 250px;
padding: 10px 15px;
border-radius: 30px;
border: 1px solid #ddd;
outline: none;
margin-top: 10px;
}


/* CARD */
.address-card{
background: #fff;
border-radius: 16px;
padding: 20px;
box-shadow: 0 5px 20px rgba(0,0,0,0.05);
transition: 0.3s;
position: relative;
}

.address-card:hover{
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

/* ACTION BUTTONS */
.card-actions{
display: flex;
justify-content: space-between;
margin-top: 15px;
}

.edit-btn, .delete-btn{
border: none;
padding: 8px 12px;
border-radius: 8px;
cursor: pointer;
font-size: 14px;
}

.edit-btn{ background: #4CAF50; color:#fff; }
.delete-btn{ background: #ff4d4d; color:#fff; }

/* ================= RESPONSIVE ================= */

@media(max-width:900px){

.dash-wrapper{
flex-direction:column;
}

.dash-sidebar{
width:100%;
}

.form-grid{
grid-template-columns:1fr;
}

}

@media(max-width:500px){

.top-bar{
flex-direction:column;
gap:10px;
align-items:flex-start;
}

.center-box{
height:auto;
padding:40px 0;
}

}