
*{
box-sizing:border-box;
}

html,body{
overflow-x:hidden;
}

/*.header{
padding:15px 16px;
}*/

.header-right{
gap:10px;
}

.service-search input{
flex:1;
min-width:0;
}

.cities{
overflow-wrap:break-word;
}

body{
background:#f5f7fb;
font-family:'Segoe UI',sans-serif;
padding-top:110px;
}

/* HEADER */

.header{
background:#fff;
padding:10px 40px;
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;

position:fixed;
top:0;
left:0;
width:100%;
z-index:1000;
box-shadow:0 2px 10px rgba(0,0,0,0.08);

flex-wrap:nowrap;   /* important */
}

.logo img{
width:120px;
}


.header-right{
display:flex;
align-items:center;
gap:10px;
flex-shrink:0;
}

.join-btn{
border:1px solid #3b5fe2;
color:#3b5fe2;
padding:6px 18px;
border-radius:25px;
background:#fff;
font-weight:500;
}

.icon-circle{
width:36px;
height:36px;
border:1px solid #2b6ccd;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
cursor:pointer;
color: #2b6ccd;
}

@media (max-width:768px){

.join-btn{
padding:5px 12px;
font-size:13px;
}

.logo img{
width:90px;
}

.icon-circle{
width:32px;
height:32px;
}

}

/* HERO */

.hero{
padding:70px 10px 40px;
text-align:center;
}

.hero h1{
font-size:40px;
font-weight:700;
color:#3d4b5f;
}

/* SEARCH */

.search-area{
margin-top:35px;
}

.location-box{
background:#fff;
border-radius:10px;
padding:13px 15px;
display:flex;
align-items:center;
gap:10px;
border:1px solid #e5e5e5;
}

.location-box select{
border:none;
outline:none;
width:100%;
background:none;
}

.service-search{
background:#fff;
border-radius:10px;
padding:10px 15px;
display:flex;
align-items:center;
justify-content:space-between;
border:1px solid #e5e5e5;
}

.service-search input{
border:none;
outline:none;
width:100%;
}

/* SERVICES */

.services{
margin-top:30px;
}

.service-card{
background:#fff;
border-radius:12px;
padding:20px;
text-align:center;
border:1px solid #eee;
transition:.3s;
height:100%;
}

.service-card:hover{
transform:translateY(-6px);
box-shadow:0 8px 20px rgba(0,0,0,.08);
}

.service-card img{
width:45px;
margin-bottom:10px;
}

/* FOOTER */

.footer{
background:#f3f4f6;
padding:60px 0 30px;
/*margin-top:60px;*/
}

.footer-logo img{
/*height:50px;*/
margin-bottom:30px;
width:140px;
}

.footer-heading{
font-weight:600;
font-size:18px;
color:#222;
margin-bottom:15px;
position:relative;
}

.footer-heading:after{
content:"";
position:absolute;
left:0;
bottom:-6px;
width:40px;
height:3px;
background:#4c7ef3;
border-radius:3px;
}

.footer-links{
list-style:none;
padding:0;
margin-top:18px;
}

.footer-links li{
margin-bottom:10px;
}

.footer-links a{
text-decoration:none;
color:#2e2f32;
font-size:15px;
}

.footer-links a:hover{
color:#3f63d3;
}

.social-icons i{
font-size:22px;
margin-right:16px;
cursor:pointer;
}

.cities{
margin-top:35px;
font-size:14px;
color:#6b7280;
line-height:1.8;
}
.cities{
max-width:900px;
margin:auto;
/*text-align:center;*/
}

.footer-bottom{
margin-top:25px;
border-top:1px solid #ddd;
padding-top:15px;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
font-size:14px;
color:#444;
}

/* RESPONSIVE */

@media (max-width:992px){

.hero h1{
font-size:32px;
}

}

@media (max-width:768px){

.header{
padding:15px;
}

.hero{
padding:0px 10px 40px;
}

.hero h1{
font-size:26px;
}

.header-right{
margin-top:10px;
}

.footer-bottom{
flex-direction:column;
gap:10px;
}

.services {
    margin-top: 10px;
}

}


/* SERVICES SLIDER */

.services-slider{
position:relative;
}

.services-wrapper{
display:flex;
gap:20px;
overflow-x:auto;
scroll-behavior:smooth;
padding-bottom:10px;
}

.services-wrapper::-webkit-scrollbar{
display:none;
}

.service-card2{
min-width:230px;
background:#fff;
border-radius:10px;
padding:20px;
text-align:center;
box-shadow:0 2px 10px rgba(0,0,0,0.05);
}

.service-card2 img{
width:120px;
height:120px;
border-radius:50%;
object-fit:cover;
margin-bottom:10px;
}

/* arrows */

.slide-btn{
position:absolute;
top:40%;
transform:translateY(-50%);
width:40px;
height:40px;
border:none;
border-radius:50%;
background:#fff;
box-shadow:0 2px 10px rgba(0,0,0,0.2);
cursor:pointer;
}

.slide-btn.left{
left:-15px;
}

.slide-btn.right{
right:-15px;
}



/* SECTION BG */

.why-section{
background:#ffffff;
padding:40px 0;
}

/* TITLE */

.why-title{
font-size:26px;
font-weight:700;
color:#1f4e94;   /* exact blue */
margin-bottom:25px;
}

/* WRAPPER */

.why-wrapper{
display:flex;
justify-content:space-between;
align-items:center;
border-top:1px solid #e6e6e6;
border-bottom:1px solid #e6e6e6;
}

/* ITEM */

.why-item{
flex:1;
text-align:center;
padding:18px 10px;
position:relative;
}

/* DIVIDER LINE */

.why-item:not(:last-child)::after{
content:"";
position:absolute;
right:0;
top:25%;
height:50%;
width:1px;
background:#e6e6e6;
}

/* ICON */

.why-item img{
width:42px;
margin-bottom:10px;
}

/* TEXT */

.why-item p{
font-size:14px;
font-weight:600;
color:#222;
margin:0;
}

/* RESPONSIVE */

@media(max-width:768px){

.why-wrapper{
flex-wrap:wrap;
border:none;
}

.why-item{
width:50%;
padding:15px 5px;
}

.why-item::after{
display:none;
}

.why-title{
font-size:20px;
}

}

@media(max-width:480px){

.why-item{
width:100%;
}

}



/* HOW IT WORKS */
.how-it-works{
    /*padding: 40px 0;*/
    padding-bottom: 40px;
}
.how-box{
background:#ffffff;
padding:30px 20px;
box-shadow: 0 1px 3px 0 rgba(0,0,0,.1);
border-radius: 15px;
}

.how-box h2{
    font-weight: 600;
    color: #222;
    font-size: 24px;
}

.how-item img{
width:50px;
margin-bottom:15px;
}

.how-item h5{
font-weight:600;
color:#222;
font-size: 16px;
text-transform: capitalize;
margin: 0;
}

/* spacing like screenshot */

.how-item{
padding:0px 10px;
}

/* MOBILE */

@media(max-width:768px){

.how-box{
padding:30px 15px;
}

.how-item img{
width:60px;
}

}


/* STATS SECTION */

.stats-section{
background:#f26a00;
padding:70px 0;
}

/* CARD */

.stat-card{
background:#f3f3f3; /* light grey like screenshot */
border-radius:12px;
padding:35px 20px;
text-align:center;
transition:all .3s ease;
height:100%;
cursor:pointer;
}

/* ICON */

.stat-card img{
width:65px;
margin-bottom:15px;
filter: grayscale(100%);
transition:0.3s;
}

/* NUMBER */

.stat-card h2{
font-size:44px;
font-weight:800;
color:#1d1d1f;
margin-bottom:5px;
}

/* TEXT */

.stat-card p{
font-size:16px;
color:#8a8a8a;
margin:0;
font-weight:500;
}

/* 🔥 HOVER EFFECT (YELLOW LIKE YOU WANT) */

.stat-card:hover{
background:#ed7830; /* yellow */
transform:translateY(-6px);
border: 1px solid #fff;
}

.stat-card:hover img{
filter: grayscale(0%);
}

.stat-card:hover h2,
.stat-card:hover p{
color:#fff;
}

/* MOBILE */

@media(max-width:768px){

.stat-card{
padding:25px 15px;
}

.stat-card h2{
font-size:32px;
}

.stat-card img{
width:55px;
}

}


/* TESTIMONIAL */

.testimonial-section{
background:#f5f6f8;
/*padding:70px 0;*/
padding-top: 45px;
}

.testi-top{
color:#f26a00;
letter-spacing:2px;
font-weight:600;
font-size:14px;
margin-bottom:10px;
}

.testi-heading{
font-size:36px;
font-weight:700;
color:#222;
}

/* CARD */

.testi-card{
background:#fff;
border-radius:15px;
padding:25px;
text-align:left;
height:100%;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
position:relative;
}

/* IMAGE */

.testi-card img{
width:70px !important;
height:70px;
border-radius:5px;
object-fit:cover;
}

/* TEXT */

.testi-card p{
font-size:16px;
color:#555;
line-height:1.7;
}

/* NAME */

.testi-card h5{
font-weight:700;
margin-top:10px;
margin-bottom:0;
}

/* ROLE */

.testi-card span{
font-size:14px;
color:#888;
}

/* QUOTE ICON */

.testi-card::after{
content:"“";
position:absolute;
bottom:10px;
right:20px;
font-size:60px;
color:#eee;
}

/* NAV */

.owl-nav button{
position:absolute;
top:40%;
transform:translateY(-50%);
background:#e0e7ff !important;
width:45px;
height:45px;
border-radius:50% !important;
}

.owl-nav .owl-prev{
left:-60px;
}

.owl-nav .owl-next{
right:-60px;
}

/* DOTS */

.owl-dots{
margin-top:20px;
}

.owl-dot span{
background:#ccc !important;
}

.owl-dot.active span{
background:#3b5fe2 !important;
}

/* MOBILE */

@media(max-width:768px){

.testi-heading{
font-size:24px;
}

.owl-nav{
display:none;
}

}

.owl-dots{
display:block !important;
text-align:center;
margin-top:20px;
}

.owl-dot span{
width:10px;
height:10px;
background:#ccc !important;
display:block;
border-radius:50%;
margin:5px;
}

.owl-dot.active span{
background:#3b5fe2 !important;
}

.owl-carousel{
position:relative;
padding-bottom:30px;
}


/* CTA SECTION */

.cta-section{
background:linear-gradient(90deg,#1f4c8f,#2f6fd6);
padding:50px 0;
color:#fff;
}

/* TITLE */

.cta-section h2{
font-size:34px;
font-weight:700;
margin-bottom:10px;
}

/* PHONE */

.cta-phone{
font-size:28px;
font-weight:600;
display:flex;
align-items:center;
justify-content:center;
gap:10px;
margin-bottom:20px;
}

.cta-phone i{
font-size:24px;
}

/* BUTTONS */

.cta-buttons{
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.call-btn{
background:#ff8c00;
color:#fff;
padding:12px 30px;
border-radius:8px;
font-weight:600;
}

.whatsapp-btn{
background:#28a745;
color:#fff;
padding:12px 30px;
border-radius:8px;
font-weight:600;
}

/* HOVER */

.call-btn:hover{
background:#e67e00;
color:#fff;
}

.whatsapp-btn:hover{
background:#218838;
color:#fff;
}

/* MOBILE */

@media(max-width:768px){

.cta-section h2{
font-size:22px;
}

.cta-phone{
font-size:20px;
}

.cta-buttons{
flex-direction:column;
}

.call-btn,
.whatsapp-btn{
width:100%;
}

}

.cta-section{
box-shadow: inset 0 1px rgba(255,255,255,0.2);
}

.header a{
text-decoration:none;
color:inherit;
}

.location-chip{
border:1px solid #2b6ccd;
color:#2b6ccd;
background:#fff;
border-radius:25px;
height:36px;
align-items:center;
gap:7px;
padding:0 13px;
font-size:14px;
}

.cart-badge{
position:absolute;
top:-7px;
right:-7px;
background:#f26a00;
color:#fff;
border-radius:50%;
min-width:18px;
height:18px;
font-size:11px;
display:flex;
align-items:center;
justify-content:center;
font-weight:700;
padding:0 5px;
}

.page-section{
padding:28px 0 48px;
}

.soft-card{
background:#fff;
border:1px solid #e6e8ef;
border-radius:14px;
box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 3px rgba(16,24,40,0.06);
}

.aaru-primary{
color:#2563eb;
}

.aaru-btn{
background:#3b82f6;
border:1px solid #3b82f6;
color:#fff;
border-radius:10px;
font-weight:600;
padding:10px 18px;
}

.aaru-btn:hover{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

.aaru-outline-btn{
background:#fff;
border:1px solid #2563eb;
color:#2563eb;
border-radius:10px;
font-weight:600;
padding:9px 18px;
}

.aaru-outline-btn:hover{
background:#2563eb;
color:#fff;
}

.qty-btn{
width:30px;
height:30px;
border:1px solid #2563eb;
background:#fff;
color:#2563eb;
border-radius:8px;
font-weight:700;
line-height:1;
}

.qty-btn:hover{
background:#2563eb;
color:#fff;
}

.modal-fullscreen-search .modal-body{
background:#f5f7fb;
}

.search-result-row{
padding:14px;
border-bottom:1px solid #f0f0f0;
display:flex;
justify-content:space-between;
align-items:center;
cursor:pointer;
}

.search-result-row:hover{
background:#f5f7ff;
}

.service-search-modal .modal-backdrop,
.modal-backdrop.show{
opacity:.45;
}

.service-search-dialog{
max-width:790px;
margin:24px auto;
}

.service-search-dialog .modal-content{
border:0;
border-radius:10px;
overflow:hidden;
box-shadow:0 24px 70px rgba(15,23,42,.28);
}

.search-modal-top{
display:flex;
align-items:center;
gap:14px;
padding:24px 18px 18px;
background:#fff;
border-bottom:1px solid #e5e7eb;
}

.search-modal-input{
height:56px;
border:1px solid #cfd6e3;
border-radius:7px;
display:flex;
align-items:center;
gap:14px;
padding:0 16px;
flex:1;
}

.search-modal-input i{
color:#64748b;
font-size:18px;
}

.search-modal-input input{
border:0;
outline:0;
width:100%;
height:100%;
font-size:18px;
color:#334155;
}

.search-modal-input input::placeholder{
color:#98a2b3;
}

.search-modal-close{
border:0;
background:transparent;
color:#6b7280;
font-size:28px;
line-height:1;
padding:6px;
}

.search-modal-close:hover{
color:#111827;
}

.search-modal-body{
height:min(620px, calc(100vh - 130px));
overflow-y:auto;
background:#fff;
scrollbar-width:thin;
}

.search-modal-body::-webkit-scrollbar{
width:8px;
}

.search-modal-body::-webkit-scrollbar-thumb{
background:#9ca3af;
border-radius:999px;
}

.search-category-row,
.search-service-title,
.search-package-row{
width:100%;
border:0;
background:#fff;
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
text-align:left;
border-bottom:1px solid #e5e7eb;
}

.search-category-row{
padding:17px 18px;
}

.search-category-row strong,
.search-service-title span,
.search-package-row strong{
display:block;
font-size:16px;
font-weight:800;
color:#0f172a;
}

.search-category-row small,
.search-package-row small{
display:block;
font-size:13px;
color:#64748b;
margin-top:3px;
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
max-width:620px;
}

.search-category-row i,
.search-service-title i,
.search-package-row > i{
color:#475569;
font-size:18px;
}

.search-category-row:hover,
.search-service-title:hover,
.search-package-row:hover{
background:#f8fafc;
}

.search-back-btn{
border:0;
background:transparent;
color:#2563eb;
font-size:15px;
padding:18px 18px 10px;
}

.search-step-title{
font-size:18px;
font-weight:800;
color:#0f172a;
padding:12px 18px 8px;
margin:0;
}

.search-service-block{
border-top:1px solid #eef2f7;
}

.search-service-title{
padding:17px 18px;
}

.search-package-list{
background:#fff;
}

.search-package-row{
padding:15px 18px 15px 34px;
}

.search-package-row strong{
font-size:15px;
font-weight:700;
color:#475569;
}

.search-package-meta{
display:flex;
flex-direction:column;
align-items:flex-end;
gap:2px;
font-size:13px;
font-weight:800;
color:#0f172a;
min-width:92px;
}

.search-package-meta em{
font-style:normal;
font-weight:500;
color:#64748b;
}

@media(max-width:768px){
.service-search-dialog{
max-width:calc(100% - 24px);
margin:12px auto;
}

.search-modal-top{
padding:14px 12px 12px;
}

.search-modal-input{
height:48px;
}

.search-modal-input input{
font-size:15px;
}

.search-modal-body{
height:min(620px, calc(100vh - 92px));
}

.search-package-row{
padding-left:18px;
align-items:flex-start;
}

.search-package-meta{
min-width:76px;
}
}

.breadcrumb a{
color:#2563eb;
text-decoration:none;
}

.service-grid-link{
text-decoration:none;
color:#343f52;
display:block;
height:100%;
}

.service-grid .service-card1{
margin-bottom:4px;
}

.service-card1 p{
color:#343f52;
margin:0;
}

.service-card1 .service-icon-fallback{
height:160px;
display:flex;
align-items:center;
justify-content:center;
background:#eef4ff;
color:#2563eb;
font-size:42px;
border-radius:10px;
}

.service-card1 img{
border-radius:10px;
}

.checkout-step h6,
.cart-summary h6{
font-weight:700;
}

.step-dot{
display:inline-flex;
align-items:center;
justify-content:center;
width:22px;
height:22px;
background:#2563eb;
color:#fff;
border-radius:50%;
font-size:12px;
font-weight:700;
margin-right:6px;
}

.date-tab,.slot-btn{
padding:10px 14px;
border:1px solid #d1d5db;
background:#fff;
border-radius:10px;
cursor:pointer;
font-size:13px;
}

.date-tab{
min-width:74px;
text-align:center;
}

.date-tab.selected,
.slot-btn.selected{
background:#2563eb;
border-color:#2563eb;
color:#fff;
}

.status-badge{
padding:4px 10px;
border-radius:20px;
font-size:11px;
font-weight:700;
text-transform:uppercase;
}

.status-pending{background:#fef3c7;color:#92400e;}
.status-confirmed,.status-assigned{background:#dbeafe;color:#1e40af;}
.status-in_progress{background:#e0e7ff;color:#3730a3;}
.status-completed{background:#d1fae5;color:#065f46;}
.status-cancelled{background:#fee2e2;color:#991b1b;}

@media(max-width:768px){
.page-section{
padding-top:10px;
}

.header{
align-items:center;
}

.header-right{
margin-top:0;
}

.join-btn{
display:none;
}
}

/* Location and city picker modals */
.location-sheet .modal-content{
border:0;
border-radius:10px;
overflow:hidden;
box-shadow:0 24px 70px rgba(15,23,42,.28);
}

.location-dialog-sm{
max-width:563px;
}

.location-dialog-lg{
max-width:956px;
}

.location-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:18px;
padding:24px 22px 20px;
background:#fff;
}

.location-head h5,
.location-head strong{
font-size:20px;
font-weight:800;
color:#111827;
margin:0;
}

.location-link{
border:0;
background:transparent;
color:#2563eb;
font-size:13px;
font-weight:700;
text-decoration:underline;
padding:0 0 0 6px;
}

.location-close{
width:42px;
height:42px;
border:0;
border-radius:50%;
background:#f8fafc;
color:#64748b;
font-size:24px;
display:flex;
align-items:center;
justify-content:center;
}

.location-close:hover{
background:#eef2f7;
color:#0f172a;
}

.location-body{
padding:0 22px 18px;
background:#fff;
}

.location-search{
height:56px;
border:1px solid #cfd6e3;
border-radius:6px;
display:flex;
align-items:center;
gap:12px;
padding:0 16px;
background:#fff;
}

.location-search input{
border:0;
outline:0;
height:100%;
width:100%;
font-size:16px;
font-weight:600;
color:#334155;
}

.location-search input::placeholder{
color:#98a2b3;
}

.location-search.with-icon i{
color:#64748b;
font-size:18px;
}

.detect-btn{
border:0;
background:transparent;
color:#3478f6;
font-size:15px;
font-weight:800;
display:inline-flex;
align-items:center;
gap:8px;
padding:22px 0 0;
}

.detect-btn:hover{
color:#155eef;
}

.saved-address-panel{
border-top:4px solid #eef0f4;
padding:24px 22px 18px;
background:#fff;
}

.saved-address-panel h5{
font-size:20px;
font-weight:800;
color:#374151;
margin:0 0 18px;
}

.saved-address-row{
width:100%;
border:0;
background:#fff;
display:flex;
align-items:flex-start;
gap:14px;
text-align:left;
padding:6px 0;
}

.saved-address-row.empty{
cursor:default;
}

.saved-address-icon{
width:28px;
height:28px;
border-radius:50%;
background:#f1f5f9;
display:flex;
align-items:center;
justify-content:center;
color:#64748b;
font-size:13px;
flex:0 0 28px;
}

.saved-address-row strong{
display:block;
font-size:14px;
font-weight:800;
color:#374151;
margin-bottom:4px;
}

.saved-address-row small{
display:block;
font-size:12px;
color:#64748b;
line-height:1.45;
}

.city-body-top{
border-bottom:1px solid #e5e7eb;
padding-bottom:22px;
}

.city-picker-body{
background:#fff;
padding:30px 44px 42px;
}

.top-city-grid{
display:grid;
grid-template-columns:repeat(8,1fr);
gap:24px 20px;
margin-bottom:48px;
}

.city-icon-item{
border:0;
background:#fff;
display:flex;
flex-direction:column;
align-items:center;
gap:8px;
color:#111827;
font-size:14px;
}

.city-icon-item i{
font-size:27px;
color:#6b7280;
}

.city-icon-item:hover,
.other-city-item:hover{
color:#2563eb;
}

.city-picker-body h6{
text-align:center;
font-size:16px;
font-weight:800;
color:#111827;
margin:0 0 22px;
}

.other-city-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:16px 42px;
}

.other-city-item{
border:0;
background:#fff;
text-align:left;
font-size:14px;
color:#475569;
padding:0;
}

@media(max-width:768px){
.location-dialog-sm,
.location-dialog-lg{
max-width:calc(100% - 24px);
}

.location-head{
padding:18px 18px 16px;
}

.location-body{
padding:0 18px 16px;
}

.city-picker-body{
padding:24px 22px 30px;
}

.top-city-grid{
grid-template-columns:repeat(4,1fr);
gap:18px 12px;
}

.other-city-grid{
grid-template-columns:repeat(2,1fr);
gap:14px 24px;
}
}

/* Service detail page */
.service-detail{
padding-top:26px;
}

.service-detail .box{
background:#fff;
border:1px solid #e6e8ef;
border-radius:16px;
padding:20px;
margin-bottom:20px;
box-shadow:0 1px 2px rgba(16,24,40,0.04),0 1px 3px rgba(16,24,40,0.06);
}

.service-detail .top-box{
padding:22px;
}

.service-detail .loc{
display:flex;
gap:12px;
align-items:flex-start;
margin-bottom:16px;
}

.service-detail .loc i{
color:#6b7280;
font-size:18px;
margin-top:3px;
}

.service-detail .loc h6{
margin:0;
font-weight:700;
color:#111827;
}

.service-detail .loc p{
margin:4px 0 0;
font-size:14px;
color:#6b7280;
}

.service-detail .loc p i{
font-size:12px;
margin-left:5px;
cursor:pointer;
}

.service-detail .top-box h2{
font-size:30px;
font-weight:800;
line-height:1.25;
color:#111827;
margin:10px 0 10px;
}

.service-detail .rating{
display:flex;
align-items:center;
gap:7px;
color:#111827;
}

.service-detail .rating i{
color:#2563eb;
font-size:15px;
}

.service-detail .rating span{
font-weight:700;
}

.service-detail .rating small{
color:#6b7280;
}

.service-detail .banner-box{
padding:0;
overflow:hidden;
}

.service-detail .banner-box > img{
width:100%;
height:330px;
object-fit:cover;
display:block;
}

.service-detail .banner-box h5{
font-size:18px;
font-weight:700;
padding:22px 20px 8px;
margin:0;
color:#111827;
}

.service-detail .types{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:16px;
padding:0 20px 22px;
margin-top:12px;
}

.service-detail .type{
width:auto;
text-align:center;
color:#111827;
}

.service-detail .type img{
width:100%;
aspect-ratio:1;
object-fit:cover;
border-radius:12px;
background:#f3f4f6;
}

.service-detail .type p{
font-size:13px;
font-weight:600;
line-height:1.3;
margin:8px 0 0;
}

.service-detail .service-list h4{
font-weight:700;
font-size:21px;
color:#111827;
margin-bottom:6px;
}

.service-detail .service-item{
display:flex;
justify-content:space-between;
gap:22px;
padding:22px 0;
border-bottom:1px solid #e6e8ef;
}

.service-detail .service-item:last-child{
border-bottom:none;
padding-bottom:0;
}

.service-detail .left{
width:68%;
min-width:0;
}

.service-detail .left h5{
font-weight:700;
font-size:18px;
color:#111827;
margin-bottom:7px;
}

.service-detail .rating-row{
display:flex;
align-items:center;
gap:6px;
margin:5px 0;
}

.service-detail .rating-row i{
color:#f59e0b;
font-size:13px;
}

.service-detail .rating-row span{
color:#6b7280;
font-size:14px;
}

.service-detail .price-time{
font-weight:700;
color:#111827;
margin:8px 0;
}

.service-detail .price-time span{
margin:0 7px;
color:#9ca3af;
}

.service-detail .divider{
border-bottom:1px dashed #e5e7eb;
margin:12px 0;
}

.service-detail .left ul{
padding-left:18px;
color:#374151;
margin-bottom:0;
}

.service-detail .left ul li{
margin:6px 0;
font-size:14px;
line-height:1.45;
}

.service-detail .right{
width:145px;
text-align:center;
flex:0 0 145px;
}

.service-detail .right img{
width:130px;
height:130px;
object-fit:cover;
border-radius:12px;
background:#f3f4f6;
}

.service-detail .add-btn{
margin-top:12px;
padding:8px 24px;
border:1px solid #2563eb;
color:#2563eb;
background:#fff;
border-radius:10px;
font-size:14px;
font-weight:700;
transition:.2s;
}

.service-detail .add-btn:hover,
.service-detail .add-btn.active-btn{
background:#2563eb;
color:#fff;
}

.service-detail .sticky-side{
position:relative;
}

.service-detail .empty-cart{
text-align:center;
}

.service-detail .empty-cart i{
font-size:38px;
color:#9ca3af;
}

.service-detail .empty-cart p{
margin:10px 0 14px;
color:#6b7280;
}

.service-detail .service-mini-cart{
padding:0;
overflow:hidden;
position:sticky;
top:96px;
z-index:20;
}

.service-detail .service-mini-cart .empty-cart{
padding:24px 20px 18px;
}

.service-detail .mini-cart-items{
padding:10px 20px 0;
}

.service-detail .mini-cart-row{
display:flex;
justify-content:space-between;
align-items:center;
gap:14px;
padding:16px 0;
border-bottom:1px solid #e6e8ef;
}

.service-detail .mini-cart-row:last-child{
border-bottom:none;
}

.service-detail .mini-cart-name{
font-size:15px;
font-weight:600;
color:#374151;
}

.service-detail .mini-cart-sub{
font-size:13px;
color:#6b7280;
margin-top:4px;
}

.service-detail .mini-cart-actions{
display:flex;
align-items:center;
gap:18px;
flex-shrink:0;
}

.service-detail .mini-cart-price{
font-size:14px;
font-weight:800;
color:#111827;
min-width:78px;
text-align:right;
}

.service-detail .qty-control{
display:inline-flex;
align-items:center;
gap:12px;
border:1px solid #d6deeb;
border-radius:8px;
height:38px;
padding:0 12px;
background:#fff;
color:#374151;
}

.service-detail .qty-control button{
border:0;
background:transparent;
color:#2563eb;
font-weight:800;
font-size:16px;
line-height:1;
padding:0;
}

.service-detail .qty-control span{
min-width:14px;
text-align:center;
font-weight:600;
}

.service-detail .variant-summary-pill{
cursor:pointer;
}

.service-detail .variant-summary-pill .qty-symbol{
color:#2563eb;
font-weight:800;
}

.service-detail .variant-summary-pill:hover{
border-color:#2563eb;
color:#2563eb;
}

.service-detail .mini-cart-footer{
border-top:1px solid #e6e8ef;
padding:18px 28px 26px;
}

.service-detail .proceed-details{
width:100%;
height:50px;
border:0;
border-radius:12px;
background:#3b82f6;
color:#fff;
font-weight:800;
font-size:16px;
}

.service-detail .proceed-details:disabled{
background:#bfdbfe;
cursor:not-allowed;
}

.service-detail .proceed-details:not(:disabled):hover{
background:#2563eb;
}

.service-detail .offer-item{
display:flex;
align-items:center;
gap:12px;
margin:16px 0;
font-size:15px;
color:#111827;
}

.service-detail .offer-item:first-child{
margin-top:0;
}

.service-detail .offer-item:last-child{
margin-bottom:0;
}

.service-detail .icon{
width:38px;
height:38px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
flex:0 0 38px;
}

.service-detail .blue{background:#dbeafe;color:#2563eb;}
.service-detail .yellow{background:#fef3c7;color:#d97706;}
.service-detail .green{background:#dcfce7;color:#16a34a;}

.service-detail .why h5{
font-weight:700;
font-size:20px;
margin-bottom:16px;
color:#111827;
}

.service-detail .why .why-item{
display:flex;
align-items:center;
gap:12px;
width:auto;
padding:10px 0;
font-size:15px;
font-weight:500;
color:#111827;
text-align:left;
position:static;
}

.service-detail .why .why-item::after{
display:none;
}

.service-detail .why .why-item i{
color:#2563eb;
font-size:20px;
width:24px;
text-align:center;
}

@media(max-width:992px){
.service-detail .service-mini-cart{
position:static;
}

.service-detail .banner-box > img{
height:280px;
}
}

@media(max-width:768px){
.service-detail .top-box h2{
font-size:24px;
}

.service-detail .banner-box > img{
height:210px;
}

.service-detail .types{
grid-template-columns:repeat(2,1fr);
gap:14px;
}

.service-detail .service-item{
gap:12px;
}

.service-detail .left{
width:auto;
flex:1;
}

.service-detail .right{
width:34%;
flex:0 0 34%;
}

.service-detail .right img{
width:100%;
height:92px;
}

.service-detail .add-btn{
width:86%;
padding:7px 10px;
}

.service-detail .left h5{
font-size:15px;
}

.service-detail .price-time,
.service-detail .left ul li{
font-size:13px;
}
}


/* Category cards now use <button>, remove default button look */
.service-card-btn,
.service-card2-btn {
    background: none;
    border: none;
    padding: 0;
    text-align: inherit;
    color: inherit;
    cursor: pointer;
}

.service-card-btn:focus,
.service-card2-btn:focus { outline: none; }

/* Modal — wider and clean white */
.category-popup .modal-dialog {
    max-width: 820px;
}

.category-popup .modal-content {
    border: none;
    border-radius: 14px;
    box-shadow: 0 30px 60px rgba(0, 0, 0, 0.18);
}

.category-popup .modal-header {
    border-bottom: 1px solid #f1f1f4;
    padding: 18px 24px;
}

.category-popup .modal-title {
    font-size: 20px;
    font-weight: 600;
    color: #2f3a4a;
    text-align: center;
    flex: 1;
}

.category-popup .modal-header .btn-close {
    margin-right: 0;
}

.category-popup .modal-body {
    padding: 22px 26px;
    max-height: 70vh;
}

/* Group title — "Maintenance" / "Installation" */
.cat-group {
    margin-bottom: 26px;
}

.cat-group:last-child { margin-bottom: 0; }

.cat-group-title {
    font-size: 17px;
    font-weight: 600;
    color: #303a4a;
    margin-bottom: 14px;
}

/* Each service tile inside modal */
.cat-service-tile {
    display: block;
    text-align: center;
    text-decoration: none;
    color: #2c2c2c;
    padding: 6px 4px 12px;
    border-radius: 10px;
    transition: transform .15s ease, background-color .15s ease;
}

.cat-service-tile:hover {
    background: #f7f9ff;
    color: #2c2c2c;
    transform: translateY(-2px);
}

.cat-service-img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 10px;
    overflow: hidden;
    background: #f1f3f8;
    margin-bottom: 8px;
}

.cat-service-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cat-service-name {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    color: #444a55;
    line-height: 1.3;
}

.cat-modal-loading .spinner-border {
    width: 2.2rem;
    height: 2.2rem;
}

/* Mobile */
@media (max-width: 575.98px) {
    .category-popup .modal-body { padding: 16px; }
    .cat-service-name { font-size: 13px; }
}