/*
Theme Name: HomePack Solutions
Theme URI: https://homepacksolutions.com
Author: Nelka Digital
Description: Professional Home Services WordPress Theme
Version: 2.1.0
License: GNU General Public License v2 or later
Text Domain: homepack
*/

/* ==================================================
   ROOT & RESET
   ================================================== */
:root {
  --pr:#2563eb;--pr-dk:#1d4ed8;--dark:#0f172a;--text:#1e293b;
  --muted:#64748b;--bdr:#e8e8e8;--bg:#f7f7f7;--w:#ffffff;
  --green:#1ab64f;--yel:#fde047;--hh:60px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{overflow-x:hidden;scroll-behavior:smooth;}
body{font-family:'Poppins',-apple-system,sans-serif;background:#fff;color:var(--text);overflow-x:hidden;max-width:100vw;-webkit-font-smoothing:antialiased;}
img{display:block;max-width:100%;}
a{text-decoration:none;color:inherit;}
button{font-family:inherit;cursor:pointer;}

/* ==================================================
   TOAST
   ================================================== */
.toast{position:fixed;top:-100px;left:14px;right:14px;background:var(--dark);color:#fff;padding:14px 18px;border-radius:12px;z-index:99999;transition:top .45s cubic-bezier(.34,1.56,.64,1);font-size:13px;font-weight:600;}
.toast.show{top:14px;}

/* ==================================================
   TEASER BAR
   ================================================== */
.teaser-section{height:30px;background:var(--dark);position:relative;overflow:hidden;display:flex;align-items:center;}
.car-group{position:absolute;display:flex;align-items:center;left:-600px;animation:drive 12s linear infinite;}
.teaser-text{color:#fff;font-size:10px;font-weight:700;white-space:nowrap;}
.highlight{color:var(--yel);}
@keyframes drive{0%{left:-600px;}100%{left:110%;}}

/* ==================================================
   LOGO
   ================================================== */
.homepack-logo-wrap{display:flex;align-items:center;flex-shrink:0;}
.homepack-logo-wrap .custom-logo-link{display:flex;align-items:center;text-decoration:none;}
.homepack-logo-wrap .custom-logo{width:120px;max-height:42px;height:auto;object-fit:contain;}
.logo-text-link{text-decoration:none;}
.logo-text{font-size:18px;font-weight:800;color:var(--pr);}

/* ==================================================
   LOCATION BAR
   ================================================== */
.location-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#fff;border-bottom:1px solid #f1f5f9;position:sticky;top:var(--hh);z-index:990;}
.loc-left{display:flex;align-items:center;gap:5px;cursor:pointer;}
.loc-text{font-size:13px;font-weight:700;color:var(--text);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.loc-detect-btn{background:#eff6ff;color:var(--pr);border:1px solid #bfdbfe;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;font-family:inherit;}

/* ==================================================
   LOCATION MODAL
   ================================================== */
.location-modal{position:fixed;bottom:-100%;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;z-index:10001;transition:bottom .4s cubic-bezier(0,0,.2,1);padding:20px;max-height:85vh;overflow-y:auto;}
.location-modal.active{bottom:0;}
.location-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;display:none;}
.location-modal-bg.active{display:block;}
.location-modal-content{max-width:500px;margin:0 auto;}
.city-chips{display:flex;flex-wrap:wrap;gap:8px;}
.city-chip{background:#f8faff;border:1.5px solid var(--bdr);border-radius:20px;padding:8px 16px;font-size:12px;font-weight:700;cursor:pointer;color:var(--text);transition:all .15s;}
.city-chip:hover,.city-chip.selected{background:var(--pr);color:#fff;border-color:var(--pr);}
.city-chips-scroll{display:flex;flex-wrap:wrap;gap:8px;max-height:200px;overflow-y:auto;padding-right:4px;}
.city-chips-scroll::-webkit-scrollbar{width:4px;}
.city-chips-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px;}

/* ==================================================
   PAGE BODY — mobile: single column
   ================================================== */
.hp-page-body{width:100%;max-width:100%;display:block;overflow-x:hidden;}
.hp-sidebar{display:none;}
.hp-sb-flyout{display:none;}
.hp-sb-flyout-overlay{display:none;}
.hp-main-col{width:100%;max-width:100%;overflow-x:hidden;display:block;}

/* ==================================================
   FESTIVAL HERO
   ================================================== */
.festival-hero{width:100%;overflow:hidden;position:relative;}
.festival-bunting{background:rgba(0,0,0,.12);text-align:center;padding:4px;font-size:13px;letter-spacing:2px;}
.festival-inner{padding:0 14px 14px;}
.festival-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-bottom:4px;}
.fql-card{background:rgba(255,255,255,.15);border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.2);cursor:pointer;text-align:center;}
.fql-img{height:75px;background-size:cover;background-position:center;}
.fql-card span{display:block;color:#fff;font-size:10px;font-weight:700;padding:6px 4px;line-height:1.3;}
/* Custom image hero */
.custom-hero-banner{position:relative;min-height:200px;background:linear-gradient(135deg,#1e3a8a,var(--pr));background-size:cover;background-position:center;display:flex;align-items:center;overflow:hidden;width:100%;}
.custom-hero-banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1;}
.custom-hero-overlay{position:relative;z-index:2;padding:28px 18px;width:100%;}
.custom-hero-title{color:#fff;font-size:22px;font-weight:900;margin-bottom:8px;line-height:1.2;text-shadow:0 2px 8px rgba(0,0,0,.3);}
.custom-hero-subtitle{color:rgba(255,255,255,.9);font-size:13px;margin-bottom:16px;}
.custom-hero-btn{background:var(--yel);color:#000;border:none;padding:12px 24px;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;}
/* Basic fallback hero */
.hero{height:240px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#fff;text-align:center;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;filter:brightness(.4);background-image:url('https://images.unsplash.com/photo-1584622650111-993a426fbf0a?q=80&w=1200');}
.hero-content{display:flex;flex-direction:column;align-items:center;gap:10px;z-index:10;position:relative;}
.hero-title{font-size:24px;font-weight:700;opacity:0;animation:glowPop .8s ease-out forwards;}
@keyframes glowPop{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);text-shadow:0 0 10px rgba(255,255,255,.5);}}
.discount-tag{background:var(--yel);color:#000;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:800;}

/* ==================================================
   SEARCH
   ================================================== */
.festival-search-wrap{padding:10px 0 4px;position:relative;z-index:10000;}
.festival-search-box{display:flex;align-items:center;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 20px rgba(0,0,0,.25);height:46px;width:100%;}
.festival-search-box input{flex:1;border:none;outline:none;padding:0 14px;font-size:13px;font-family:inherit;color:var(--text);background:transparent;}
.festival-search-box button{background:var(--pr);border:none;width:48px;height:46px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}
.home-search-bar{padding:10px 14px;position:relative;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.05);z-index:10000;}
.home-search-bar .search-box{background:#f8faff;border-radius:10px;padding:4px 4px 4px 14px;display:flex;border:1.5px solid var(--bdr);height:44px;align-items:center;}
.home-search-bar .search-box input{border:none;outline:none;flex:1;font-size:13px;color:#333;background:transparent;font-family:inherit;}
.home-search-bar .search-box button{background:var(--pr);color:#fff;border:none;padding:8px 14px;border-radius:8px;cursor:pointer;display:flex;align-items:center;height:36px;}
#suggestions{position:absolute!important;bottom:calc(100% + 4px)!important;top:auto!important;left:0!important;right:0!important;background:#fff!important;border-radius:12px!important;box-shadow:0 -8px 30px rgba(0,0,0,.14)!important;z-index:99999!important;display:none;max-height:260px!important;overflow-y:auto!important;overflow-x:hidden!important;border:1.5px solid var(--bdr)!important;}
#suggestions div{padding:11px 16px;cursor:pointer;font-size:13px;font-family:inherit;color:var(--text);border-bottom:1px solid #f8faff;transition:background .1s;line-height:1.4;}
#suggestions div:last-child{border-bottom:none;}
#suggestions div:hover,#suggestions div.hp-sugg-active{background:#eff6ff;}
#suggestions div strong{color:var(--pr);font-weight:700;}

/* ==================================================
   OFFER STRIP
   ================================================== */
.offer-strip{background:var(--pr);color:#fff;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:600;width:100%;}
.offer-strip strong{font-weight:900;}

/* ==================================================
   FILTER TABS
   ================================================== */
.service-filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:10px 14px;scrollbar-width:none;background:#fff;border-bottom:1px solid #f1f5f9;-webkit-overflow-scrolling:touch;}
.service-filter-tabs::-webkit-scrollbar{display:none;}
.sft-btn{border:1.5px solid var(--bdr);background:#fff;border-radius:20px;padding:6px 14px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit;flex-shrink:0;}
.sft-btn.active{background:var(--dark);color:#fff;border-color:var(--dark);}

/* ==================================================
   SECTION HEADER
   ================================================== */
.section-header{padding:18px 14px 10px;display:flex;justify-content:space-between;align-items:center;}
.section-header h2{font-size:16px;font-weight:800;color:var(--text);position:relative;}
.section-header h2::after{content:'';display:block;width:34px;height:3px;background:var(--pr);margin-top:4px;border-radius:2px;}
.section-tag{font-size:10px;font-weight:800;padding:4px 10px;border-radius:20px;flex-shrink:0;}
.section-tag.green{color:#166534;background:#dcfce7;}
.section-tag.blue{color:var(--pr);background:#dbeafe;}

/* ==================================================
   CATEGORY GRID
   ================================================== */
.hp-cat-section{padding:16px 14px 12px;background:#fff;width:100%;}
.hp-cat-header{margin-bottom:13px;}
.hp-cat-title{font-size:16px;font-weight:800;color:var(--dark);}
.hp-cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(min-width:400px){.hp-cat-grid{grid-template-columns:repeat(4,1fr);}}
@media(min-width:600px){.hp-cat-grid{grid-template-columns:repeat(5,1fr);}}
.hp-cat-card{border-radius:12px;padding:12px 8px 10px;cursor:pointer;position:relative;transition:box-shadow .15s,transform .15s;text-align:center;border:1.5px solid rgba(0,0,0,.06);}
.hp-cat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,.1);transform:translateY(-2px);}
.hp-cat-card-img-wrap{width:62px;height:62px;border-radius:50%;background:rgba(255,255,255,.85);margin:0 auto 8px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hp-cat-card-img-wrap img{width:100%;height:100%;object-fit:cover;}
.hp-cat-placeholder{width:38px;height:38px;background:#e2e8f0;border-radius:50%;}
.hp-cat-card-name{font-size:11px;font-weight:700;color:var(--text);line-height:1.3;}
.hp-cat-badge{position:absolute;top:5px;right:5px;background:#ef4444;color:#fff;font-size:9px;font-weight:800;padding:2px 5px;border-radius:4px;text-transform:uppercase;}
/* Sub-cat popup */
.hp-subcat-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9000;backdrop-filter:blur(2px);}
.hp-subcat-overlay.open{display:block;}
.hp-subcat-popup{position:fixed;bottom:-100%;left:0;right:0;background:#fff;border-radius:24px 24px 0 0;z-index:9001;max-height:88vh;overflow-y:auto;transition:bottom .35s cubic-bezier(.34,1.56,.64,1);box-shadow:0 -8px 40px rgba(0,0,0,.15);}
.hp-subcat-popup.open{bottom:0;}
.hp-subcat-header{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 12px;position:sticky;top:0;background:#fff;z-index:2;border-bottom:1px solid #f1f5f9;border-radius:24px 24px 0 0;}
.hp-subcat-title{font-size:18px;font-weight:800;color:var(--dark);}
.hp-subcat-close{background:#f1f5f9;border:none;border-radius:50%;width:34px;height:34px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--muted);}
.hp-subcat-body{padding:14px 16px 80px;}
.hp-subcat-loading{text-align:center;padding:30px;color:#94a3b8;font-size:14px;}
.hp-subcat-group{margin-bottom:20px;}
.hp-subcat-group-title{font-size:14px;font-weight:800;color:#374151;margin-bottom:12px;}
.hp-subcat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(min-width:420px){.hp-subcat-grid{grid-template-columns:repeat(4,1fr);}}
.hp-sub-card{background:#f8fafc;border:1.5px solid var(--bdr);border-radius:10px;overflow:hidden;cursor:pointer;text-decoration:none;color:inherit;display:block;transition:border-color .15s,box-shadow .15s;text-align:center;padding:10px 6px;position:relative;}
.hp-sub-card:hover{border-color:var(--pr);box-shadow:0 3px 12px rgba(37,99,235,.1);}
.hp-sub-card-img{width:58px;height:58px;border-radius:50%;object-fit:cover;display:block;background:#e2e8f0;margin:0 auto 7px;}
.hp-sub-card-placeholder{width:58px;height:58px;border-radius:50%;background:#e2e8f0;margin:0 auto 7px;}
.hp-sub-card-name{font-size:11px;font-weight:700;color:var(--text);line-height:1.3;}
.hp-sub-card-price{font-size:10px;color:var(--pr);font-weight:700;margin-top:3px;}
.hp-sub-badge{position:absolute;top:4px;left:4px;background:#ef4444;color:#fff;font-size:9px;font-weight:800;padding:2px 5px;border-radius:3px;text-transform:uppercase;}
.hp-sub-badge.sale{background:#16a34a;}

/* ==================================================
   KITCHEN BANNER CARD
   ================================================== */
.kitchen-banner-card{margin:0 14px 14px;background:linear-gradient(135deg,#1e3a8a 0%,var(--pr) 100%);border-radius:14px;padding:16px 14px;cursor:pointer;color:#fff;width:calc(100% - 28px);box-sizing:border-box;}
.kb-badge{display:inline-block;background:var(--yel);color:#78350f;font-size:10px;font-weight:800;padding:3px 10px;border-radius:20px;margin-bottom:10px;}
.kitchen-banner-card h3{margin:0 0 5px;font-size:17px;font-weight:800;}
.kitchen-banner-card p{margin:0 0 12px;font-size:11px;opacity:.85;}
.kb-prices{display:flex;gap:8px;flex-wrap:wrap;}
.kb-price-chip{background:rgba(255,255,255,.15);border-radius:8px;padding:7px 10px;text-align:center;min-width:62px;border:1px solid rgba(255,255,255,.15);}
.kb-price{display:block;font-size:14px;font-weight:800;color:var(--yel);}
.kb-price-chip span:last-child{font-size:9px;opacity:.85;display:block;margin-top:1px;}

/* ==================================================
   KITCHEN GRID — 2 col mobile
   ================================================== */
.kitchen-grid-new{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 14px;width:100%;box-sizing:border-box;}
.kitchen-card-new{background:#fff;border-radius:12px;overflow:hidden;border:1.5px solid #f1f5f9;box-shadow:0 2px 8px rgba(0,0,0,.06);cursor:pointer;transition:transform .15s;}
.kitchen-card-new:active{transform:scale(.97);}
.kc-img-wrap{position:relative;height:88px;overflow:hidden;}
.kc-img-wrap img{width:100%;height:100%;object-fit:cover;}
.kc-icon{position:absolute;top:6px;right:8px;font-size:16px;}
.kc-info{padding:8px 10px 10px;}
.kc-info p{margin:0 0 3px;font-size:11px;font-weight:700;color:var(--text);line-height:1.3;}
.kc-price{font-size:11px;color:var(--pr);font-weight:700;}

/* ==================================================
   APPLIANCE GRID — 2 col mobile
   ================================================== */
.appliance-grid-new{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 14px;width:100%;box-sizing:border-box;}
.appliance-card-new{background:#f0f9ff;border-radius:12px;overflow:hidden;border:1.5px solid #e0f2fe;box-shadow:0 2px 8px rgba(0,0,0,.05);cursor:pointer;transition:transform .15s;display:block;color:inherit;text-decoration:none;}
.appliance-card-new:active{transform:scale(.97);}
.ac-img-wrap{position:relative;height:85px;overflow:hidden;}
.ac-img-wrap img{width:100%;height:100%;object-fit:cover;}
.ac-icon{position:absolute;top:6px;right:8px;font-size:14px;}
.ac-info{padding:8px 10px 10px;}
.ac-info p{margin:0 0 3px;font-size:11px;font-weight:700;color:var(--text);line-height:1.3;}
.ac-price{font-size:11px;color:#0369a1;font-weight:700;}

/* ==================================================
   MAINTENANCE GRID — 2 col, full bleed
   ================================================== */
.maintenance-grid-new{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;padding:0 0 14px;background:#f1f5f9;width:100%;box-sizing:border-box;}
.maintenance-card-new{background:#fff;cursor:pointer;overflow:hidden;transition:transform .15s;display:block;color:inherit;text-decoration:none;}
.maintenance-card-new:active{transform:scale(.98);}
.mc-img-wrap{height:110px;overflow:hidden;}
.mc-img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .3s;}
.maintenance-card-new:hover .mc-img-wrap img{transform:scale(1.04);}
.maintenance-card-new p{font-size:11px;font-weight:700;text-align:center;padding:9px 8px 11px;color:var(--text);line-height:1.3;}

/* ==================================================
   MOST BOOKED — horizontal scroll mobile
   ================================================== */
.manual-slider{display:flex;overflow-x:auto;gap:12px;padding:8px 14px 28px;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:100%;box-sizing:border-box;}
.manual-slider::-webkit-scrollbar{display:none;}
.booked-card{min-width:185px;flex-shrink:0;background:#fff;border-radius:12px;box-shadow:0 2px 10px rgba(0,0,0,.08);overflow:hidden;border:1px solid #f1f5f9;cursor:pointer;display:block;color:inherit;text-decoration:none;}
.booked-card .img-box{position:relative;height:115px;overflow:hidden;}
.booked-card .img-box img{width:100%;height:100%;object-fit:cover;}
.booked-card .info-box{padding:9px 10px 11px;}
.booked-card .rating{font-size:11px;font-weight:700;color:#f59e0b;}
.booked-card .rating span{color:#94a3b8;font-weight:400;}
.booked-card h3{font-size:12px;font-weight:700;margin:4px 0;color:var(--text);line-height:1.3;}
.booked-card .pricing{font-size:12px;margin:4px 0;}
.old-price{text-decoration:line-through;color:#94a3b8;}
.new-price{color:var(--pr);font-weight:800;}
.black-btn{background:var(--dark);color:#fff;border:none;padding:7px 14px;border-radius:7px;font-size:10px;font-weight:700;cursor:pointer;width:100%;margin-top:6px;font-family:inherit;}
.discount-tag{position:absolute;top:8px;left:8px;background:var(--yel);color:#000;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:800;}
.discount-tag.free{background:#dcfce7;color:#166534;}
.big-green-tag{position:absolute;top:8px;left:8px;background:#16a34a;color:#fff;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:800;}

/* ==================================================
   PROMO BANNER
   ================================================== */
.promo-container{padding:14px;width:100%;box-sizing:border-box;}
.promo-wrapper{position:relative;border-radius:14px;overflow:hidden;height:185px;cursor:pointer;}
.promo-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.5);}
.promo-overlay{position:relative;z-index:2;padding:18px;height:100%;display:flex;flex-direction:column;justify-content:space-between;}
.promo-top-content .new-tag{background:var(--yel);color:#000;padding:3px 8px;border-radius:4px;font-size:10px;font-weight:800;}
.promo-top-content h2{color:#fff;font-size:20px;margin:8px 0;}
.price-badge{color:var(--yel);font-size:13px;font-weight:700;}
.price-badge span{font-size:18px;}
.book-now-float{background:#fff;color:#000;border:none;padding:10px 22px;border-radius:8px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;}
/* Seasonal */
.seasonal-promo-container{padding:0 14px 14px;}
.seasonal-wrapper{position:relative;border-radius:14px;overflow:hidden;height:230px;}
.seasonal-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45);}
.seasonal-overlay{position:relative;z-index:2;padding:18px;height:100%;display:flex;justify-content:space-between;}
.fixed-tags-container{display:flex;flex-direction:column;gap:7px;padding-top:8px;}
.step-tag{background:rgba(255,255,255,.15);color:#fff;padding:7px 10px;border-radius:7px;font-size:10px;font-weight:700;backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);}
.seasonal-content-box{text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:10px;}
.seasonal-badge{background:var(--yel);color:#000;padding:4px 10px;border-radius:4px;font-size:9px;font-weight:800;display:inline-block;}
.glow-text-container{position:relative;height:55px;}
.glow-msg{display:none;color:#fff;}
.glow-msg.active{display:block;}
.glow-msg h1{font-size:15px;margin:0;}
.glow-msg p{font-size:10px;margin:4px 0 0;opacity:.8;}
.seasonal-btn-final{background:var(--pr);color:#fff;border:none;padding:10px 18px;border-radius:8px;font-weight:800;font-size:12px;cursor:pointer;font-family:inherit;}

/* ==================================================
   CLEANING GRID — 4 col
   ================================================== */
.cleaning-grid-fixed{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 14px 14px;width:100%;box-sizing:border-box;}
.clean-item{text-align:center;cursor:pointer;}
.clean-box{width:100%;aspect-ratio:1;border-radius:10px;overflow:hidden;border:1px solid #f1f5f9;}
.clean-box img{width:100%;height:100%;object-fit:cover;}
.clean-item p{font-size:10px;font-weight:700;margin:5px 0 1px;color:var(--text);line-height:1.3;}
.clean-item span{font-size:9px;color:#16a34a;font-weight:600;}

/* ==================================================
   SALON / BEAUTY
   ================================================== */
.salon-container{padding:0 14px 14px;width:100%;box-sizing:border-box;}
.salon-tabs{display:flex;gap:10px;margin-bottom:14px;}
.tab-btn{padding:8px 20px;border-radius:20px;border:1.5px solid var(--bdr);font-size:12px;font-weight:700;cursor:pointer;background:#fff;font-family:inherit;transition:all .15s;}
.tab-btn.active{background:var(--dark);color:#fff;border-color:var(--dark);}
.salon-content{display:none;}
.salon-content.active{display:block;}
.salon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.salon-card{border-radius:12px;overflow:hidden;border:1px solid #f1f5f9;position:relative;padding-bottom:14px;cursor:pointer;background:#fff;}
.s-img-container{height:110px;overflow:hidden;}
.s-img-container img{width:100%;height:100%;object-fit:cover;}
.s-info{padding:8px 10px 0;}
.s-info h4{font-size:12px;font-weight:700;margin:0;}
.s-info p{font-size:11px;color:var(--pr);font-weight:700;margin:3px 0;}
.salon-card .add-btn{position:absolute;bottom:8px;right:10px;background:#fff;color:var(--pr);border:1.5px solid #d1d5db;padding:4px 14px;border-radius:6px;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:inherit;}

/* ==================================================
   VERTICAL BOOK ROWS
   ================================================== */
.vertical-book-container{padding:8px 14px 22px;display:flex;flex-direction:column;gap:12px;width:100%;box-sizing:border-box;}
.book-row{display:flex;gap:12px;align-items:center;background:#f8faff;border-radius:12px;padding:12px;border:1px solid #e2e8f0;cursor:pointer;}
.book-row.reverse{flex-direction:row-reverse;}
.book-img{width:80px;height:80px;border-radius:10px;overflow:hidden;flex-shrink:0;}
.book-img img{width:100%;height:100%;object-fit:cover;}
.book-details h3{font-size:13px;font-weight:700;margin:0 0 4px;}
.book-details p{font-size:11px;color:var(--muted);margin:0 0 8px;}
.book-now-small{background:var(--pr);color:#fff;border:none;padding:7px 16px;border-radius:7px;font-size:11px;font-weight:700;cursor:pointer;font-family:inherit;}

/* ==================================================
   CIRCLE SLIDER (category)
   ================================================== */
.slider-container{overflow-x:auto;white-space:nowrap;cursor:grab;scrollbar-width:none;touch-action:pan-y;padding:8px 0;width:100%;}
.slider-container::-webkit-scrollbar{display:none;}
.slider-track{display:flex;gap:14px;width:max-content;padding:0 14px;}
.cat{text-align:center;width:76px;flex-shrink:0;}
.circle-outer{width:60px;height:60px;border-radius:50%;border:2px solid #f1f5f9;display:flex;justify-content:center;align-items:center;background:#fff;box-shadow:0 3px 6px rgba(0,0,0,.05);margin:0 auto;}
.circle{width:48px;height:48px;border-radius:50%;overflow:hidden;}
.circle img{width:100%;height:100%;object-fit:cover;}
.cat p{font-size:10px;margin-top:7px;font-weight:600;color:var(--muted);white-space:normal;}

/* ==================================================
   CARDS GRID
   ================================================== */
.cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px 14px 22px;width:100%;box-sizing:border-box;}
.card{background:#fff;border-radius:10px;overflow:hidden;border:1.5px solid #f1f5f9;transition:all .3s;position:relative;cursor:pointer;}
.card img{width:100%;height:85px;object-fit:cover;}
.card p{padding:7px 8px;font-size:11px;font-weight:600;text-align:center;margin:0;color:#333;}
.active-pop{transform:scale(1.07);border-color:var(--pr);box-shadow:0 8px 20px rgba(37,99,235,.3);z-index:5;}

/* ==================================================
   KHAAS SERVICES
   ================================================== */
.khaas-section{background:#f8faff;width:100%;}
.khaas-services-tabs{display:flex;overflow-x:auto;gap:8px;padding:0 14px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.khaas-services-tabs::-webkit-scrollbar{display:none;}
.ks-tab{border:1.5px solid var(--bdr);background:#fff;border-radius:20px;padding:7px 16px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit;flex-shrink:0;}
.ks-tab.active{background:var(--dark);color:#fff;border-color:var(--dark);}
.ks-panel{display:none;padding:0 14px 14px;}
.ks-panel.active{display:block;}
.khaas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
@media(min-width:500px){.khaas-grid{grid-template-columns:repeat(4,1fr);}}
.khaas-card{background:#fff;border-radius:12px;overflow:hidden;border:1.5px solid #f1f5f9;cursor:pointer;transition:all .15s;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.khaas-card:active{transform:scale(.97);}
.kc-img{height:64px;overflow:hidden;}
.kc-img img{width:100%;height:100%;object-fit:cover;}
.kc-body{padding:7px 8px 8px;}
.kc-body h4{font-size:10px;font-weight:800;color:var(--text);margin:2px 0 4px;line-height:1.3;}
.kc-price{font-size:10px;color:var(--pr);font-weight:700;}

/* ==================================================
   WHY CHOOSE US
   ================================================== */
.why-section{background:#f8faff;width:100%;}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 14px 18px;width:100%;box-sizing:border-box;}
.why-card{background:#fff;border:1.5px solid var(--bdr);border-radius:14px;padding:14px;text-align:center;}
.why-card.highlight-card{background:linear-gradient(135deg,var(--pr),var(--pr-dk));color:#fff;border-color:var(--pr);grid-column:1/-1;}
.why-icon{font-size:26px;margin-bottom:7px;}
.why-card h4{font-size:12px;font-weight:800;margin:0 0 4px;color:var(--text);}
.why-card.highlight-card h4{color:#fff;}
.why-card p{font-size:10px;color:var(--muted);margin:0;line-height:1.5;}
.why-card.highlight-card p{color:rgba(255,255,255,.85);}
.why-book-btn{margin-top:10px;background:#fff;color:var(--pr);border:none;padding:8px 20px;border-radius:8px;font-weight:800;font-size:12px;cursor:pointer;font-family:inherit;}

/* ==================================================
   CITY COVERAGE
   ================================================== */
.city-coverage-section{background:#fff;padding-bottom:14px;width:100%;}
.cov-city-tabs{display:flex;gap:0;overflow-x:auto;padding:0 14px;border-bottom:2px solid #f1f5f9;margin-bottom:13px;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.cov-city-tabs::-webkit-scrollbar{display:none;}
.cov-tab{border:none;background:none;padding:11px 16px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s;font-family:inherit;}
.cov-tab.active{color:var(--pr);border-bottom-color:var(--pr);}
.cov-panel{display:none;padding:0 14px;}
.cov-panel.active{display:block;}
.cov-intro{margin-bottom:12px;}
.cov-intro h3{font-size:15px;font-weight:800;margin:0 0 4px;color:var(--text);}
.cov-intro p{font-size:12px;color:var(--muted);margin:0;line-height:1.5;}
.cov-zones{display:flex;flex-direction:column;gap:12px;}
.cov-zone-title{font-size:10px;font-weight:800;color:var(--text);margin-bottom:7px;text-transform:uppercase;letter-spacing:.5px;padding-bottom:4px;border-bottom:1px solid #f1f5f9;}
.cov-areas{display:flex;flex-wrap:wrap;gap:6px;}
.area-tag{background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:20px;padding:5px 12px;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;}
.area-tag:active,.area-tag:hover{background:var(--pr);color:#fff;border-color:var(--pr);}
.area-tag.area-upcoming{background:#f0fdf4;color:#166534;border-color:#bbf7d0;}
.area-tag.area-upcoming small{font-size:9px;font-weight:800;background:#166534;color:#fff;padding:1px 5px;border-radius:3px;margin-left:4px;}
.cov-cta{background:linear-gradient(135deg,#1e3a5f,var(--pr));border-radius:12px;padding:14px;margin:14px 0 0;text-align:center;}
.cov-cta p{color:rgba(255,255,255,.9);font-size:12px;margin:0 0 10px;line-height:1.5;}
.cov-cta strong{color:var(--yel);}
.cov-cta-btn{padding:10px 18px;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;border:none;font-family:inherit;display:inline-block;}
.cov-cta-btn.call-btn{background:var(--yel);color:#000;}
.cov-cta-btn.book-btn{background:rgba(255,255,255,.15);color:#fff;border:1.5px solid rgba(255,255,255,.4);}

/* City hub (alt) */
.city-hub-tabs{display:flex;gap:6px;padding:0 14px 10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
.city-hub-tabs::-webkit-scrollbar{display:none;}
.chub-btn{border:1.5px solid var(--bdr);background:#fff;border-radius:20px;padding:7px 16px;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:inherit;}
.chub-btn.active{background:var(--pr);color:#fff;border-color:var(--pr);}
.city-hub-panel{display:none;margin:0 14px 14px;}
.city-hub-panel.active{display:block;}
.city-hub-hero{height:115px;border-radius:14px 14px 0 0;overflow:hidden;position:relative;}
.chub-overlay{position:absolute;inset:0;background:rgba(15,23,42,.55);display:flex;flex-direction:column;justify-content:flex-end;padding:14px;}
.chub-overlay h3{color:#fff;font-size:17px;font-weight:800;margin:0 0 2px;}
.chub-overlay p{color:rgba(255,255,255,.8);font-size:11px;margin:0;}
.area-chips-wrap{background:#fff;border:1px solid var(--bdr);border-top:none;padding:12px 14px;}
.area-label{font-size:10px;font-weight:800;color:var(--muted);margin:0 0 6px;letter-spacing:.5px;}
.area-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.area-chip{background:#f0f4ff;color:var(--pr);font-size:10px;font-weight:700;padding:5px 10px;border-radius:20px;cursor:pointer;border:1px solid #dbeafe;transition:all .15s;}
.area-chip:hover{background:var(--pr);color:#fff;}
.chub-cta{display:flex;gap:8px;padding:11px;background:#f8faff;border:1px solid var(--bdr);border-top:none;border-radius:0 0 14px 14px;}
.chub-call-btn{flex:1;background:var(--dark);color:#fff;text-decoration:none;padding:11px;border-radius:9px;font-weight:700;font-size:12px;text-align:center;display:flex;align-items:center;justify-content:center;gap:5px;}
.chub-book-btn{flex:1;background:var(--pr);color:#fff;border:none;padding:11px;border-radius:9px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit;}

/* ==================================================
   SPECIAL OFFER STRIP
   ================================================== */
.special-offer-strip{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,var(--yel),#f59e0b);margin:14px;border-radius:12px;padding:13px 14px;cursor:pointer;}
.sos-icon{font-size:26px;flex-shrink:0;}
.sos-text{flex:1;}
.sos-text strong{font-size:13px;color:#000;font-weight:800;}
.sos-text .sos-sub{display:block;font-size:10px;color:#78350f;font-weight:600;margin-top:2px;}
.sos-btn{background:#000;color:var(--yel);border:none;border-radius:8px;padding:8px 13px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;font-family:inherit;}

/* ==================================================
   WHY US (grid variant)
   ================================================== */
.why-us-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 14px 14px;width:100%;box-sizing:border-box;}
.wu-item{background:#fff;border:1.5px solid var(--bdr);border-radius:12px;padding:12px;display:flex;gap:10px;align-items:flex-start;}
.wu-icon{font-size:20px;flex-shrink:0;line-height:1;}
.wu-item strong{font-size:11px;font-weight:800;color:var(--text);display:block;margin-bottom:2px;}
.wu-item p{font-size:10px;color:var(--muted);margin:0;line-height:1.4;}

/* ==================================================
   REVIEWS
   ================================================== */
.reviews-container{overflow-x:auto;scrollbar-width:none;width:100%;}
.reviews-container::-webkit-scrollbar{display:none;}
.reviews-wrapper{display:flex;gap:12px;padding:8px 14px 18px;width:max-content;}
.review-card{min-width:205px;background:#fff;border:1px solid var(--bdr);border-radius:12px;padding:14px;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.google-header{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.g-brand-logo{height:20px;}
.r-top{display:flex;align-items:center;gap:7px;margin-bottom:7px;}
.r-avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;}
.r-name-box b{font-size:12px;display:block;}
.r-badge{font-size:9px;color:#3b82f6;font-weight:600;}
.g-icon-card{height:15px;margin-left:auto;}
.r-stars{color:#f59e0b;font-size:12px;}
.r-text{font-size:11px;color:var(--muted);line-height:1.5;margin:4px 0 0;}

/* ==================================================
   REFERRAL
   ================================================== */
.referral-section{padding:10px 14px 18px;width:100%;box-sizing:border-box;}
.ref-card{background:linear-gradient(135deg,#1e40af,#3b82f6);border-radius:14px;padding:18px;text-align:center;color:#fff;}
.ref-gift-icon{font-size:30px;}
.ref-card h3{font-size:15px;margin:7px 0 4px;}
.ref-card p{font-size:12px;opacity:.9;margin:0 0 12px;}
.ref-now-btn{background:var(--yel);color:#000;border:none;padding:10px 22px;border-radius:8px;font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;}

/* ==================================================
   SEO FOOTER
   ================================================== */
.seo-footer-content{background:#f8faff;padding:20px 14px;width:100%;box-sizing:border-box;}
.seo-footer-content h2{font-size:15px;font-weight:800;margin:0 0 10px;color:var(--text);}
.seo-footer-content p{font-size:12px;color:var(--muted);line-height:1.7;margin:0 0 12px;}
.seo-service-links{display:flex;flex-wrap:wrap;gap:7px;}
.seo-service-links a{font-size:10px;color:var(--pr);text-decoration:none;background:#dbeafe;padding:4px 10px;border-radius:20px;font-weight:600;}
.seo-service-links a:hover{background:var(--pr);color:#fff;}

/* ==================================================
   FOOTER
   ================================================== */
.site-footer{background:var(--dark);color:#fff;padding:22px 14px 68px;width:100%;box-sizing:border-box;}
.footer-logo-text{font-size:18px;font-weight:800;color:var(--yel);margin:0 0 10px;}
.footer-about{font-size:11px;color:#94a3b8;line-height:1.7;margin:0 0 18px;}
.footer-contact-grid{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
.f-contact-item{font-size:12px;color:#cbd5e1;}
.f-contact-item a{color:#60a5fa;text-decoration:none;font-weight:600;}
.footer-legal{border-top:1px solid #1e293b;padding-top:13px;font-size:10px;color:#64748b;}
.dev-credits{color:#475569;margin-top:4px;}
.dev-credits span{color:var(--pr);font-weight:700;}
.admin-link{color:#475569;font-size:10px;text-decoration:none;}

/* ==================================================
   STICKY BOTTOM BAR
   ================================================== */
.sleek-bar-container{position:fixed!important;bottom:0!important;left:0!important;right:0!important;width:100%!important;display:flex!important;height:54px!important;z-index:99999!important;box-shadow:0 -2px 12px rgba(0,0,0,.1)!important;border-top:1px solid var(--bdr)!important;background:#fff!important;transition:transform .3s ease;}
.sleek-bar-container.bar-hidden{transform:translateY(110%);}
.sleek-btn{flex:1 1 50%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-weight:800!important;font-size:13px!important;letter-spacing:.3px!important;text-decoration:none!important;padding:0!important;min-width:0!important;font-family:inherit!important;transition:opacity .15s;text-transform:uppercase;gap:6px;}
.sleek-btn:active{opacity:.85;}
.enq-btn{background:#fff!important;color:#000!important;border-right:1.5px solid var(--bdr)!important;}
.booking-blue-btn{background:var(--pr)!important;color:#fff!important;border:none!important;}
.ws-icon{width:16px;height:16px;object-fit:contain;}
.mob-book-btn{display:none!important;}

/* ==================================================
   BOOKING MODAL
   ================================================== */
.booking-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);display:none;justify-content:center;align-items:flex-end;z-index:99998;}
.booking-modal.active{display:flex;}
.booking-modal-content{background:#fff;width:100%;max-width:500px;padding:24px;border-radius:24px 24px 0 0;animation:slideUp .4s cubic-bezier(0,0,.2,1);max-height:92vh;overflow-y:auto;}
@keyframes slideUp{from{transform:translateY(100%);}to{transform:translateY(0);}}
.booking-modal-content h3{font-size:17px;font-weight:800;margin:0 0 4px;}
.booking-modal-content .bm-service-name{font-size:13px;color:var(--pr);font-weight:700;margin-bottom:16px;}
.booking-modal-content input,.booking-modal-content select,.booking-modal-content textarea{width:100%;padding:13px;margin-bottom:10px;border:1.5px solid #e5e7eb;border-radius:10px;background:#f9fafb;font-size:14px;font-family:inherit;outline:none;box-sizing:border-box;}
.booking-modal-content input:focus,.booking-modal-content textarea:focus{border-color:var(--pr);background:#fff;}
.booking-submit-btn{width:100%;padding:15px;background:#000;color:#fff;border:none;border-radius:12px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;}
.booking-modal-close{float:right;font-size:22px;cursor:pointer;color:var(--muted);background:none;border:none;padding:0;}

/* ==================================================
   PRODUCT SHEET
   ================================================== */
.ps-back-btn{position:relative;z-index:10;pointer-events:all;}
.ps-img-wrap img{width:100%;height:100%;object-fit:cover;}
.ps-rating span:first-child{font-weight:800;color:#f59e0b;}
.ps-includes h4,#psIncludesList{margin:0;padding:0 0 0 5px;list-style:none;}
#psIncludesList li{font-size:13px;color:#374151;padding:7px 0;border-bottom:1px solid #f8faff;display:flex;align-items:flex-start;gap:8px;line-height:1.5;}
.ps-related-item span{font-size:10px;font-weight:700;display:block;margin-top:5px;padding:0 4px;color:var(--text);line-height:1.3;}

/* ==================================================
   CITY PAGES
   ================================================== */
.city-hero{background:linear-gradient(135deg,#1e40af 0%,#3b82f6 100%);padding:48px 18px 28px;text-align:center;color:#fff;}
.city-hero h1{font-size:24px;font-weight:800;margin:0 0 10px;}
.city-hero p{font-size:13px;opacity:.9;margin:0;}
.city-services-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 14px;}
.city-service-card{border:1.5px solid var(--bdr);border-radius:12px;overflow:hidden;text-decoration:none;color:inherit;}
.city-service-card img{width:100%;height:75px;object-fit:cover;}
.city-service-card .cs-info{padding:8px;}
.city-service-card .cs-name{font-size:12px;font-weight:700;}
.city-service-card .cs-price{font-size:11px;color:var(--pr);font-weight:600;}
.city-seo-content{padding:18px 14px;}
.city-seo-content h2{font-size:17px;font-weight:700;color:var(--text);}
.city-seo-content p{font-size:13px;line-height:1.8;color:var(--muted);}
.city-seo-content ul{padding-left:18px;}
.city-seo-content ul li{font-size:13px;color:var(--muted);margin-bottom:6px;line-height:1.6;}

/* ==================================================
   SINGLE SERVICE PAGE
   ================================================== */
.service-hero{position:relative;height:210px;overflow:hidden;}
.service-hero img{width:100%;height:100%;object-fit:cover;}
.service-hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,.7));display:flex;align-items:flex-end;padding:18px;}
.service-hero-overlay h1{color:#fff;font-size:21px;font-weight:800;margin:0;}
.service-back{position:absolute;top:14px;left:14px;background:#fff;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#000;font-size:16px;box-shadow:0 2px 8px rgba(0,0,0,.2);z-index:10;}
.package-card{display:flex;justify-content:space-between;align-items:flex-start;padding:18px;border-bottom:1px solid #f3f4f6;}
.pkg-left{flex:1;padding-right:14px;}
.pkg-title{font-size:15px;font-weight:700;margin-bottom:4px;}
.pkg-meta{font-size:12px;color:#6b7280;display:flex;gap:10px;margin-bottom:7px;}
.pkg-price{font-size:15px;font-weight:800;color:#000;display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.pkg-price .strike{text-decoration:line-through;color:#9ca3af;font-weight:400;font-size:13px;}
.pkg-desc{font-size:12px;color:#6b7280;line-height:1.5;}
.pkg-right{width:95px;height:95px;flex-shrink:0;position:relative;}
.pkg-right img{width:100%;height:100%;border-radius:10px;object-fit:cover;}
.pkg-add-btn{position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);background:#fff;color:var(--pr);border:1.5px solid #d1d5db;padding:5px 18px;border-radius:8px;font-weight:800;font-size:13px;box-shadow:0 4px 12px rgba(0,0,0,.1);cursor:pointer;white-space:nowrap;font-family:inherit;}

/* ==================================================
   MISC
   ================================================== */
.mini-call-float{position:fixed;bottom:64px;right:14px;background:#16a34a;border-radius:50px;padding:8px 13px;display:flex;align-items:center;gap:7px;cursor:pointer;z-index:900;box-shadow:0 4px 15px rgba(22,163,74,.4);}
.care-tag{font-size:10px;font-weight:700;color:#fff;}
.call-icon-circle{width:22px;height:22px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;}
.kitchen-banner{margin:0 14px 14px;border-radius:16px;background:linear-gradient(135deg,#1e3a5f 0%,var(--pr) 100%);padding:16px;position:relative;overflow:hidden;}
.kb-content{position:relative;z-index:2;}
.kitchen-banner h3{color:#fff;font-size:16px;font-weight:800;margin:0 0 5px;}
.kitchen-banner p{color:rgba(255,255,255,.8);font-size:11px;margin:0 0 12px;}
.services-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:0 14px 14px;width:100%;box-sizing:border-box;}
.svc-card-4{background:#fff;border:1.5px solid var(--bdr);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .15s;}
.sc4-img{height:58px;overflow:hidden;}
.sc4-img img{width:100%;height:100%;object-fit:cover;}
.sc4-name{font-size:9px;font-weight:800;color:var(--text);padding:5px 6px 2px;line-height:1.3;}
.sc4-price{font-size:9px;color:var(--pr);font-weight:700;padding:0 6px 7px;}
.mobile-repair-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;padding:0 14px 14px;width:100%;box-sizing:border-box;}
.mobile-card{background:#fff;border:1.5px solid var(--bdr);border-radius:12px;overflow:hidden;cursor:pointer;display:flex;flex-direction:column;transition:all .15s;}
.mob-icon{font-size:18px;padding:9px 10px 0;line-height:1;}
.mob-img{height:72px;overflow:hidden;}
.mob-img img{width:100%;height:100%;object-fit:cover;}
.mob-info{padding:7px 9px 9px;}
.mob-info h4{font-size:10px;font-weight:800;margin:0 0 3px;color:var(--text);line-height:1.3;}
.mob-price{font-size:12px;color:var(--pr);font-weight:800;margin:0 0 7px;}

/* ==================================================
   SIDEBAR FLYOUT (desktop)
   ================================================== */
.hp-sidebar-item{display:flex;align-items:center;gap:10px;padding:11px 14px;cursor:pointer;font-size:13px;font-weight:600;color:#3d3d3d;border-bottom:1px solid #f5f5f5;transition:background .12s,color .12s;user-select:none;}
.hp-sidebar-item:last-child{border-bottom:none;}
.hp-sidebar-item:hover{background:#f8fafc;color:var(--text);}
.hp-sidebar-item.active{color:var(--pr);background:#eff6ff;border-left:3px solid var(--pr);}
.hp-sidebar-icon{width:32px;height:32px;border-radius:7px;background:#f1f5f9;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.hp-sidebar-icon img{width:100%;height:100%;object-fit:cover;border-radius:7px;}
.sb-arrow{margin-left:auto;opacity:.3;flex-shrink:0;}
.sb-badge{background:#ef4444;color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:4px;margin-left:auto;}
.hp-sb-flyout{display:none;position:fixed;top:var(--hh);left:0;right:0;z-index:800;background:#fff;box-shadow:0 8px 30px rgba(0,0,0,.12);border-top:1px solid var(--bdr);}
.hp-sb-flyout.open{display:block;}
.hp-sb-flyout-header{font-size:15px;font-weight:800;padding:16px 24px 10px;color:var(--dark);border-bottom:1px solid #f1f5f9;}
.hp-sb-flyout-body{padding:16px 24px;max-height:60vh;overflow-y:auto;}
.hp-sb-flyout-loading{text-align:center;padding:20px;color:#94a3b8;font-size:13px;}
.hp-sbf-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.hp-sbf-card{display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;text-decoration:none;color:inherit;padding:8px;border-radius:10px;transition:background .15s;position:relative;}
.hp-sbf-card:hover{background:#f8fafc;}
.hp-sbf-img{width:70px;height:70px;border-radius:50%;object-fit:cover;display:block;margin-bottom:8px;background:#e2e8f0;}
.hp-sbf-placeholder{width:70px;height:70px;border-radius:50%;background:#e2e8f0;margin-bottom:8px;}
.hp-sbf-name{font-size:12px;font-weight:600;color:var(--text);line-height:1.3;}
.hp-sbf-price{font-size:11px;color:var(--muted);margin-top:3px;}
.hp-sbf-badge{position:absolute;top:4px;right:4px;background:#ef4444;color:#fff;font-size:9px;font-weight:800;padding:2px 5px;border-radius:3px;text-transform:uppercase;}
.hp-sbf-badge.sale{background:#16a34a;}
.hp-sb-flyout-overlay{display:none;position:fixed;inset:0;z-index:799;}
.hp-sb-flyout-overlay.open{display:block;}

/* ==================================================
   RESPONSIVE — TABLET 640px+
   ================================================== */
@media(min-width:640px){
  .kitchen-grid-new{grid-template-columns:repeat(3,1fr);}
  .appliance-grid-new{grid-template-columns:repeat(3,1fr);}
  .salon-grid{grid-template-columns:repeat(3,1fr);}
  .cards-grid{grid-template-columns:repeat(4,1fr);}
  .cleaning-grid-fixed{grid-template-columns:repeat(5,1fr);}
  .maintenance-grid-new{grid-template-columns:repeat(4,1fr);}
  .mobile-repair-grid{grid-template-columns:repeat(3,1fr);}
  .why-grid{grid-template-columns:repeat(3,1fr);}
  .why-card.highlight-card{grid-column:auto;}
  .why-us-grid{grid-template-columns:repeat(3,1fr);}
  .services-grid-4{grid-template-columns:repeat(5,1fr);}
  .fql-img{height:90px;}
}

/* ==================================================
   DESKTOP 1024px+ — Urban Company Style
   ================================================== */
@media(min-width:1024px){
  body{background:#f7f7f7;}

  /* Location bar */
  .location-bar{max-width:1100px;margin:0 auto;padding:8px 24px;top:var(--hh);}

  /* Teaser hidden */
  .teaser-section{display:none!important;}

  /* Page: 2-column grid */
  .hp-page-body{max-width:1100px!important;margin:0 auto!important;padding:20px 24px 100px!important;display:grid!important;grid-template-columns:220px 1fr!important;gap:20px!important;align-items:start!important;box-sizing:border-box!important;overflow-x:visible!important;}

  /* Sidebar */
  .hp-sidebar{display:block!important;position:sticky!important;top:calc(var(--hh) + 44px)!important;background:#fff!important;border-radius:10px!important;border:1px solid var(--bdr)!important;overflow:hidden!important;max-height:calc(100vh - 120px)!important;overflow-y:auto!important;scrollbar-width:thin!important;z-index:100!important;}
  .hp-sidebar::-webkit-scrollbar{width:3px;}
  .hp-sidebar::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:4px;}

  /* Main col */
  .hp-main-col{display:flex!important;flex-direction:column!important;gap:0!important;min-width:0!important;width:100%!important;overflow:hidden!important;}

  /* Wrap each section in white card */
  .hp-main-col > *{background:#fff!important;border-radius:10px!important;overflow:hidden!important;border:1px solid var(--bdr)!important;margin-bottom:16px!important;width:100%!important;box-sizing:border-box!important;}

  /* Festival hero */
  .festival-hero{border-radius:10px!important;overflow:hidden!important;}
  .festival-inner{padding:0 20px 16px!important;}
  .festival-bunting{font-size:11px!important;}
  .festival-cards{gap:10px!important;}
  .fql-img{height:110px!important;}
  .fql-card span{font-size:11px!important;padding:7px 5px!important;}
  .festival-search-wrap{padding:12px 0 4px!important;}
  .festival-search-box{max-width:520px!important;margin:0 auto!important;}

  /* Offer strip */
  .offer-strip{padding:10px 18px!important;font-size:13px!important;}

  /* Filter tabs */
  .service-filter-tabs{padding:10px 18px!important;}

  /* Section header */
  .section-header{padding:16px 18px 10px!important;}
  .section-header h2{font-size:16px!important;}

  /* Kitchen banner */
  .kitchen-banner-card{margin:0 18px 14px!important;width:calc(100% - 36px)!important;}

  /* Kitchen grid — 5 cols UC style */
  .kitchen-grid-new{grid-template-columns:repeat(5,1fr)!important;gap:0!important;padding:0!important;background:#f0f0f0!important;border-top:1px solid #eee!important;}
  .kitchen-card-new{background:#fff!important;border-radius:0!important;border:none!important;box-shadow:none!important;padding:14px 10px!important;border-left:1px solid #f0f0f0!important;}
  .kitchen-card-new:first-child{border-left:none!important;}
  .kc-img-wrap{height:82px!important;border-radius:7px!important;}
  .kc-info p{font-size:12px!important;}
  .kc-price{color:var(--muted)!important;}

  /* Appliance grid */
  .appliance-grid-new{grid-template-columns:repeat(5,1fr)!important;gap:0!important;padding:0!important;background:#f0f0f0!important;}
  .appliance-card-new{background:#fff!important;border-radius:0!important;border:none!important;box-shadow:none!important;padding:14px 10px!important;border-left:1px solid #f0f0f0!important;}
  .appliance-card-new:first-child{border-left:none!important;}
  .ac-img-wrap{height:82px!important;border-radius:7px!important;}
  .ac-info p{font-size:12px!important;}
  .ac-price{color:var(--muted)!important;}

  /* Maintenance */
  .maintenance-grid-new{grid-template-columns:repeat(4,1fr)!important;gap:0!important;padding:0!important;background:#f0f0f0!important;}
  .maintenance-card-new{border:none!important;border-radius:0!important;border-left:1px solid #f0f0f0!important;}
  .maintenance-card-new:first-child{border-left:none!important;}
  .mc-img-wrap{height:120px!important;}
  .maintenance-card-new p{font-size:12px!important;}

  /* Most booked — 4 col */
  .manual-slider{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:0!important;padding:0!important;overflow:visible!important;white-space:normal!important;background:#f0f0f0!important;cursor:default!important;}
  .booked-card{min-width:unset!important;flex-shrink:unset!important;width:100%!important;border-radius:0!important;border:none!important;box-shadow:none!important;background:#fff!important;border-left:1px solid #f0f0f0!important;}
  .booked-card:first-child{border-left:none!important;}
  .booked-card .img-box img{height:120px!important;}
  .booked-card .info-box{padding:10px 12px 14px!important;}
  .booked-card h3{font-size:12px!important;}

  /* Cleaning */
  .cleaning-grid-fixed{grid-template-columns:repeat(5,1fr)!important;gap:0!important;padding:0!important;background:#f0f0f0!important;}
  .clean-item{padding:12px 8px!important;background:#fff!important;border-left:1px solid #f0f0f0!important;}
  .clean-item:first-child{border-left:none!important;}
  .clean-box{height:95px!important;}

  /* Salon */
  .salon-container{padding:0!important;}
  .salon-tabs{padding:14px 18px 0!important;border-bottom:1px solid #f1f5f9!important;margin-bottom:0!important;}
  .salon-grid{grid-template-columns:repeat(4,1fr)!important;gap:0!important;background:#f0f0f0!important;}
  .salon-card{border-radius:0!important;border:none!important;border-left:1px solid #f0f0f0!important;}
  .salon-card:first-child{border-left:none!important;}
  .s-img-container{height:130px!important;}

  /* Promo */
  .promo-container{padding:0!important;}
  .promo-wrapper{border-radius:0!important;height:195px!important;}

  /* Cat grid */
  .hp-cat-section{padding:16px 18px 12px!important;}
  .hp-cat-grid{grid-template-columns:repeat(5,1fr)!important;}

  /* Why */
  .why-grid{padding:0 18px 18px!important;grid-template-columns:repeat(3,1fr)!important;}
  .why-card.highlight-card{grid-column:auto!important;}

  /* City */
  .city-hub-tabs{padding:0 18px 10px!important;}
  .city-hub-panel{margin:0 18px 16px!important;}
  .cov-city-tabs{padding:0 18px!important;}
  .cov-panel{padding:0 18px!important;}

  /* Reviews */
  .reviews-wrapper{padding:10px 18px 20px!important;}

  /* Referral */
  .referral-section{padding:10px 18px 18px!important;}

  /* SEO */
  .seo-footer-content{padding:20px 18px!important;}

  /* Footer */
  .site-footer{padding:32px 24px 70px!important;}
  .footer-contact-grid{flex-direction:row!important;gap:28px!important;}
  .footer-top{max-width:1100px;margin:0 auto;}

  /* Sticky bar full width */
  .sleek-bar-container{max-width:100%!important;left:0!important;right:0!important;transform:none!important;border-radius:0!important;border-left:none!important;border-right:none!important;}

  /* Modal adjustments */
  .booking-modal{align-items:center!important;}
  .booking-modal-content{border-radius:16px!important;max-width:460px!important;}
  .location-modal{max-width:480px!important;left:50%!important;transform:translateX(-50%)!important;border-radius:16px 16px 0 0!important;}
  .location-modal.active{transform:translateX(-50%)!important;}

  /* Logo */
  .homepack-logo-wrap .custom-logo{width:150px!important;}
  .header .top-bar{max-width:1100px;margin:0 auto;width:100%;}

  /* Padding consistency */
  .section-header,.hp-cat-section,.vertical-book-container,.referral-section,.why-us-grid,.khaas-section .section-header,.city-coverage-section .section-header{padding-left:18px!important;padding-right:18px!important;}
  .khaas-services-tabs{padding:0 18px 10px!important;}
  .ks-panel{padding:0 18px 14px!important;}
  .kitchen-banner,.special-offer-strip{margin-left:18px!important;margin-right:18px!important;}
  .seasonal-promo-container{padding:0!important;}
  .seasonal-wrapper{border-radius:0!important;}
}

/* ==================================================
   XL 1440px+
   ================================================== */
@media(min-width:1440px){
  .hp-page-body{max-width:1280px!important;grid-template-columns:240px 1fr!important;}
  .header .top-bar,.location-bar{max-width:1280px!important;}
}

/* ==================================================
   MOBILE OVERRIDE — force clean single column
   ================================================== */
@media(max-width:1023px){
  .hp-sidebar{display:none!important;}
  .hp-sb-flyout{display:none!important;}
  .hp-sb-flyout-overlay{display:none!important;}
  .hp-page-body{display:block!important;padding:0!important;margin:0!important;max-width:100vw!important;overflow-x:hidden!important;}
  .hp-main-col{display:block!important;width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  /* Remove card wrapper from sections on mobile */
  .hp-main-col > *{border:none!important;border-radius:0!important;box-shadow:none!important;margin-bottom:0!important;}
}
