
:root{
  --navy:#061a34;
  --blue:#174f95;
  --blue2:#0c2f60;
  --green:#1a7a6a;
  --green2:#0a5a4d;
  --gold:#f1c365;
  --orange:#f27b42;
  --ink:#0d2033;
  --muted:#617386;
  --paper:#fffdf8;
  --cream:#fbf5e9;
  --line:rgba(13,32,51,.12);
  --soft-blue:#eaf3ff;
  --shadow:0 24px 72px rgba(14,58,102,.16);
  --deep:0 34px 120px rgba(5,33,64,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink);line-height:1.45}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
.container{width:min(1200px,92vw);margin:auto}
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.navin{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.logo img{height:52px}
.links,.actions{display:flex;align-items:center;gap:8px}
.links a{font-weight:900;font-size:14px;padding:10px 12px;border-radius:999px}
.links a:hover,.links a.active{background:var(--soft-blue);color:var(--blue)}
.menu{display:none;border:0;border-radius:14px;background:var(--soft-blue);color:var(--blue);padding:10px 13px;font-weight:900}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:13px 20px;font-weight:950;cursor:pointer;transition:.2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.primary{background:var(--blue);color:white;box-shadow:0 12px 28px rgba(23,79,149,.25)}
.green{background:var(--green);color:white}
.gold{background:var(--gold);color:#352500}
.soft{background:var(--soft-blue);color:var(--blue)}
.line{background:white;border:1px solid var(--line);color:var(--blue)}
.hero{min-height:calc(100vh - 74px);display:grid;grid-template-columns:46% 54%;overflow:hidden;background:linear-gradient(135deg,#265ea6 0%,#113f7f 48%,#0d5e55 100%)}
.hero-left{position:relative;background:linear-gradient(160deg,rgba(18,72,141,.96) 0%,rgba(12,92,84,.92) 100%);padding:0 8%;display:flex;flex-direction:column;justify-content:center;min-height:650px;color:white}
.hero-left:after{content:"";position:absolute;left:0;right:0;bottom:0;height:110px;background:url('assets/london-silhouette.svg') bottom center / cover no-repeat;opacity:.08;pointer-events:none}
.hero-right{background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.02));display:grid;grid-template-rows:41% 59%;min-height:650px;padding:18px 18px 18px 0}
.photo-panel{position:relative;overflow:hidden;border-radius:24px 24px 18px 18px;border:1px solid rgba(255,255,255,.16);box-shadow:0 14px 40px rgba(4,24,49,.22)}
.photo-panel img{width:100%;height:100%;object-fit:cover;display:block}
.photo-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,26,52,.07),transparent 35%),linear-gradient(0deg,rgba(6,26,52,.1),transparent 45%)}
.hero-kicker{display:inline-flex;align-items:center;gap:10px;color:#d8e9ff;font-weight:950;font-size:17px;margin-bottom:18px}
.pin{color:var(--gold)}
.hero h1{font-family:Georgia,serif;font-size:clamp(42px,5.3vw,72px);line-height:.96;letter-spacing:-.045em;margin:0 0 18px;color:white;text-shadow:0 2px 10px rgba(0,0,0,.08);max-width:620px}
.hero h1 span{color:var(--gold)}
.hero p{font-size:18px;color:rgba(255,255,255,.92);max-width:575px;margin:0 0 24px}
.search{position:relative;z-index:2;background:rgba(255,255,255,.98);color:var(--ink);border-radius:22px;padding:10px;display:grid;grid-template-columns:1.25fr 1fr auto;gap:10px;box-shadow:0 14px 42px rgba(4,24,49,.16);max-width:700px}
.field{background:#fbf6ec;border:1px solid rgba(13,32,51,.08);border-radius:16px;padding:12px 14px;min-height:72px}
.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:950;color:#687988;margin-bottom:5px}
.field input,.field select,.field textarea{width:100%;border:0;background:transparent;outline:0;font-weight:850;color:var(--ink)}
.trust-row{position:relative;z-index:2;display:flex;gap:24px;flex-wrap:wrap;margin-top:26px}
.trust-item{display:flex;align-items:flex-start;gap:9px;color:rgba(255,255,255,.9);font-size:13px;max-width:170px}
.trust-icon{width:28px;height:28px;border-radius:999px;background:rgba(255,255,255,.15);color:var(--gold);display:grid;place-items:center;flex:0 0 auto}
.service-area{padding:16px 0 0 0;display:flex;align-items:stretch}
.service-grid{width:100%;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;background:rgba(255,255,255,.05);padding:14px;border-radius:0 0 24px 24px;border:1px solid rgba(255,255,255,.12);border-top:0;box-shadow:0 14px 40px rgba(4,24,49,.2)}
.service-card{min-height:146px;background:linear-gradient(145deg,rgba(105,138,176,.94),rgba(102,146,154,.94));border:1px solid rgba(255,255,255,.16);border-radius:20px;box-shadow:0 12px 28px rgba(20,55,85,.12);padding:18px;text-align:left;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;transition:.25s ease}
.service-card:hover,.service-card.active{transform:translateY(-4px);background:linear-gradient(145deg,rgba(115,148,186,.98),rgba(111,156,164,.98));box-shadow:0 18px 36px rgba(20,55,85,.16)}
.service-card .icon{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.9);display:grid;place-items:center;font-size:28px;animation:floatIcon 3.4s ease-in-out infinite}
.service-card b{display:block;font-size:19px;color:white;font-weight:900;line-height:1.2}
.service-card small{display:block;color:rgba(255,255,255,.92);max-width:220px;font-size:14px;line-height:1.35}
.service-card .arrow{color:var(--gold);font-size:22px;margin-top:2px}
.badge{display:inline-flex;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:950}
.Available{background:#e6f7ed;color:#0b6738}.Busy{background:#fff0cb;color:#7a5300}.Limited{background:#e9f4ff;color:#0f5d9c}.Free{background:#eef2f6;color:#405160}.Founding,.Featured,.Pro,.Premium{background:#fff0cb;color:#6d4d00}
.section{padding:52px 0}.alt{background:#f3f7fb}.head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:24px}.head h2{font-family:Georgia,serif;font-size:clamp(32px,4vw,56px);line-height:.98;letter-spacing:-.045em;margin:0}.head p{color:var(--muted);max-width:660px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{background:white;border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 12px 28px rgba(14,58,102,.1);transition:.22s ease}.card:hover{transform:translateY(-3px)}.card h3{font-size:22px;margin:8px 0}.meta{display:flex;gap:8px;flex-wrap:wrap}.actions2{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.provider-card{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.avatar{width:58px;height:58px;border-radius:18px;background:var(--soft-blue);display:grid;place-items:center;font-weight:950;color:var(--blue)}
.pagehero{background:linear-gradient(135deg,#eef5ff,#eff8f4);padding:38px 0}.pagehero h1{font-family:Georgia,serif;font-size:clamp(36px,5vw,64px);line-height:.95;margin:0 0 8px}.pagehero p{color:var(--muted)}
.directory{display:grid;grid-template-columns:300px 1fr;gap:18px;padding:28px 0}.results{display:grid;gap:14px}.result{display:grid;grid-template-columns:1fr auto;gap:14px}
.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.footer{background:#102033;color:white;padding:30px 0 94px}.footer a{display:block;color:rgba(255,255,255,.78);margin-top:8px}.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:18px}.mobilebar{display:none;position:fixed;left:12px;right:12px;bottom:12px;background:#102033;color:white;border-radius:22px;z-index:60;box-shadow:var(--deep)}.mobilebar a{flex:1;text-align:center;padding:14px 6px;font-weight:900;font-size:13px}
@media (prefers-reduced-motion:no-preference){
  .hero-left > *, .photo-panel, .service-card, .card{animation:rise .65s ease both}
  .service-card:nth-child(2){animation-delay:.05s}.service-card:nth-child(3){animation-delay:.1s}.service-card:nth-child(4){animation-delay:.15s}.service-card:nth-child(5){animation-delay:.2s}.service-card:nth-child(6){animation-delay:.25s}
  .photo-panel:before{content:"";position:absolute;left:-25%;top:0;height:100%;width:12%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transform:skewX(-14deg);z-index:2;animation:sweep 10s ease-in-out infinite}
  .Available{animation:availablePulse 3s ease-in-out infinite}
}
@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes floatIcon{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes sweep{0%,65%{left:-25%}100%{left:120%}}
@keyframes availablePulse{0%,100%{box-shadow:0 0 0 0 rgba(11,103,56,.18)}50%{box-shadow:0 0 0 8px rgba(11,103,56,0)}}
@media(max-width:1080px){.hero{grid-template-columns:1fr}.hero-left,.hero-right{min-height:auto}.hero-right{grid-template-rows:250px auto;padding:0}.service-grid{grid-template-columns:repeat(2,1fr)}.grid3,.grid4,.dashboard-grid{grid-template-columns:repeat(2,1fr)}.directory,.foot{grid-template-columns:1fr}.links,.actions{display:none}.menu{display:block}.navin.open .links,.navin.open .actions{display:flex;position:absolute;left:4vw;right:4vw;top:74px;background:white;border:1px solid var(--line);border-radius:24px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.navin.open .actions{top:auto;margin-top:260px}.navin{position:relative}.mobilebar{display:flex}}
@media(max-width:640px){.hero-left{padding:42px 6% 120px}.hero h1{font-size:40px}.search{grid-template-columns:1fr}.service-area{padding:0}.service-grid,.grid3,.grid4,.dashboard-grid{grid-template-columns:1fr}.service-card{min-height:128px}.result{grid-template-columns:1fr}.btn{width:100%}.foot{grid-template-columns:1fr}}

/* v2.9 world class hybrid homepage rebuild */
.hero-v29{min-height:calc(100vh - 74px);display:block;position:relative;overflow:hidden;background:radial-gradient(circle at 84% 20%,rgba(241,195,101,.18),transparent 26%),radial-gradient(circle at 6% 78%,rgba(255,255,255,.12),transparent 22%),linear-gradient(135deg,#1154a2 0%,#0b3770 48%,#0b6055 100%);padding:42px 0 54px;color:white}
.hero-v29:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,21,45,.18),transparent 45%),url('assets/london-silhouette.svg') bottom left/55% auto no-repeat;opacity:.28;pointer-events:none}
.hero-shell{position:relative;display:grid;grid-template-columns:minmax(420px,0.92fr) minmax(570px,1.08fr);gap:48px;align-items:center;min-height:calc(100vh - 170px)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:22px 0 34px;min-width:0}
.hero-kicker{width:max-content;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.13);border-radius:999px;padding:8px 13px;color:#e8f4ff;font-weight:950;font-size:14px;margin-bottom:20px;box-shadow:inset 0 1px 0 rgba(255,255,255,.12)}
.hero-v29 h1{font-family:Georgia,serif;font-size:clamp(54px,6.6vw,96px);line-height:.9;letter-spacing:-.065em;margin:0 0 22px;color:#fff;text-shadow:0 12px 42px rgba(4,21,45,.22);max-width:720px}
.hero-v29 h1 span{color:var(--gold);font-style:normal}
.hero-v29 p{font-size:20px;line-height:1.48;color:rgba(255,255,255,.88);max-width:690px;margin:0 0 28px}
.premium-search{grid-template-columns:1.15fr .95fr auto;border-radius:28px;padding:12px;max-width:720px;box-shadow:0 28px 78px rgba(3,22,48,.32);border:1px solid rgba(255,255,255,.18)}
.premium-search .field{background:#fbf7ef;border-radius:20px;min-height:76px}
.premium-search .btn{border-radius:21px;padding-inline:26px;font-size:18px}
.compact-trust{margin-top:32px;gap:26px;max-width:720px}
.compact-trust .trust-item{max-width:190px;font-size:14px;color:rgba(255,255,255,.91)}
.compact-trust .trust-icon{width:42px;height:42px;border:1px solid rgba(241,195,101,.38);background:rgba(3,60,66,.34);font-size:17px;color:var(--gold)}
.product-device{align-self:center;justify-self:stretch;min-width:0}
.device-screen{position:relative;border-radius:42px;padding:16px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(255,255,255,.08));border:1px solid rgba(255,255,255,.22);box-shadow:0 42px 120px rgba(3,22,48,.42),inset 0 1px 0 rgba(255,255,255,.22);backdrop-filter:blur(10px)}
.device-screen:before{content:"";position:absolute;inset:8px;border-radius:36px;border:1px solid rgba(255,255,255,.16);pointer-events:none}
.real-image-stage{height:268px;border-radius:30px 30px 18px 18px;position:relative;overflow:hidden;background:#f0f4f8;box-shadow:inset 0 -18px 35px rgba(5,31,51,.15)}
.real-image-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.96) contrast(1.02)}
.image-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,253,248,.04) 0%,rgba(255,253,248,.18) 54%,rgba(6,26,52,.08) 100%),linear-gradient(90deg,rgba(6,26,52,.12),transparent 35%,rgba(10,91,80,.1))}
.orbit-line{position:absolute;border-top:2px dashed rgba(241,195,101,.45);height:96px;border-radius:50%;pointer-events:none;filter:drop-shadow(0 5px 8px rgba(6,26,52,.08))}
.orbit-line.one{left:70px;right:95px;top:55px;transform:rotate(-4deg)}
.orbit-line.two{left:210px;right:30px;top:85px;transform:rotate(5deg);opacity:.6}
.floating-service{position:absolute;width:66px;height:66px;border:0;border-radius:50%;background:rgba(255,255,255,.94);display:grid;place-items:center;font-size:28px;box-shadow:0 18px 35px rgba(6,26,52,.17);cursor:pointer;transition:.25s ease;z-index:3}
.floating-service:hover{transform:translateY(-7px) scale(1.04);box-shadow:0 26px 45px rgba(6,26,52,.22)}
.fs-clean{left:68px;top:66px}.fs-fix{right:80px;top:50px}.fs-move{right:175px;bottom:48px}.fs-rent{left:48%;top:106px}
.service-panel{background:rgba(255,255,255,.97);border-radius:0 0 30px 30px;margin-top:12px;padding:20px;color:var(--ink);box-shadow:0 22px 48px rgba(3,22,48,.16)}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 2px 14px;color:var(--ink)}
.panel-head strong{font-size:18px}.panel-head span{font-size:13px;color:var(--green);font-weight:950}
.service-grid-v29{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid-v29 .service-card{position:relative;min-height:118px;background:#fff;border:1px solid rgba(13,32,51,.1);border-radius:22px;padding:16px 48px 16px 18px;color:var(--ink);box-shadow:0 12px 30px rgba(14,58,102,.08);overflow:hidden;transform:translateZ(0)}
.service-grid-v29 .service-card:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,rgba(241,195,101,.34),rgba(23,79,149,.13),rgba(10,91,80,.18));opacity:0;transition:.25s ease;z-index:0}
.service-grid-v29 .service-card > *{position:relative;z-index:1}
.service-grid-v29 .service-card:hover,.service-grid-v29 .service-card.active{transform:translateY(-5px);background:#fff;box-shadow:0 22px 42px rgba(14,58,102,.14);border-color:rgba(241,195,101,.55)}
.service-grid-v29 .service-card:hover:before,.service-grid-v29 .service-card.active:before{opacity:.9}
.service-grid-v29 .service-card .icon{width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,#fff6e4,#eef6ff);box-shadow:0 10px 22px rgba(14,58,102,.1);font-size:26px;margin:0 0 2px;color:inherit;animation:serviceBreath 3.4s ease-in-out infinite}
.service-grid-v29 .service-card b{font-size:18px;color:var(--ink);letter-spacing:-.02em}
.service-grid-v29 .service-card small{color:#56697b;font-size:13px;line-height:1.34;max-width:220px}
.service-grid-v29 .service-card .arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--blue);transition:.22s ease;font-size:23px}
.service-grid-v29 .service-card:hover .arrow,.service-grid-v29 .service-card.active .arrow{right:14px;color:var(--green)}
.service-grid-v29 .service-card:hover .icon,.service-grid-v29 .service-card.active .icon{animation:servicePop .7s ease both}
.category-detail{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(13,32,51,.08);border-radius:22px;padding:15px;background:linear-gradient(135deg,#f7fbff,#f6fbf5)}
.category-detail h3{margin:3px 0 2px;font-size:20px}.category-detail p{margin:0;color:var(--muted);font-size:14px}.detail-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:var(--green)}
.available-strip{margin-top:14px;border-top:1px solid rgba(13,32,51,.08);padding-top:14px}.strip-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.strip-title a{font-size:13px;color:var(--green);font-weight:950}
.mini-providers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mini-providers article{background:#fff;border:1px solid rgba(13,32,51,.08);border-radius:18px;padding:11px;display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center;box-shadow:0 8px 18px rgba(14,58,102,.07)}
.mini-providers span{grid-row:1/4;width:40px;height:40px;border-radius:14px;background:var(--soft-blue);display:grid;place-items:center;font-weight:950;color:var(--blue);font-size:13px}.mini-providers b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-providers small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-providers em{width:max-content;font-style:normal;background:#e6f7ed;color:#0b6738;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:950}.mini-providers em.busy{background:#fff0cb;color:#7a5300}
@keyframes serviceBreath{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-4px) scale(1.03)}}
@keyframes servicePop{0%{transform:scale(1)}45%{transform:scale(1.13) rotate(-3deg)}100%{transform:scale(1)}}
@media(max-width:1180px){.hero-shell{grid-template-columns:1fr;gap:30px}.hero-copy{padding-top:10px}.product-device{max-width:820px;width:100%;justify-self:center}.hero-v29{padding-top:34px}.hero-v29 h1{max-width:760px}.real-image-stage{height:260px}}
@media(max-width:720px){.hero-v29{padding:24px 0 40px}.hero-shell{min-height:auto}.hero-v29 h1{font-size:48px}.hero-v29 p{font-size:17px}.premium-search{grid-template-columns:1fr;border-radius:24px}.compact-trust{display:grid;grid-template-columns:1fr;gap:14px}.device-screen{border-radius:30px;padding:10px}.real-image-stage{height:210px;border-radius:24px 24px 16px 16px}.service-panel{padding:14px;border-radius:0 0 24px 24px}.service-grid-v29{grid-template-columns:1fr}.category-detail{align-items:stretch;flex-direction:column}.mini-providers{grid-template-columns:1fr}.floating-service{width:52px;height:52px;font-size:22px}.fs-clean{left:26px;top:48px}.fs-fix{right:28px;top:42px}.fs-move{right:76px;bottom:40px}.fs-rent{left:43%;top:96px}}

/* v3 refinement: restore v1.9 device proportions and calm down screen animation */
.hero-v29{padding:34px 0 42px;}
.hero-shell{grid-template-columns:1fr .95fr;gap:34px;min-height:calc(100vh - 150px);align-items:center;}
.hero-v29 h1{font-size:clamp(48px,6.1vw,84px);line-height:.91;max-width:650px;}
.hero-v29 p{font-size:19px;max-width:650px;}
.product-device{justify-self:end;width:min(100%,620px);}
.device-screen{border-radius:38px;padding:14px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);box-shadow:0 36px 110px rgba(2,32,62,.38);backdrop-filter:blur(12px);}
.device-screen:before{inset:7px;border-radius:32px;}
.real-image-stage{height:250px;border-radius:28px;background:#f0f4f8;box-shadow:inset 0 -14px 28px rgba(5,31,51,.11);}
.real-image-stage img{filter:saturate(.98) contrast(1.03);}
.image-wash{background:linear-gradient(180deg,rgba(255,253,248,.05),rgba(255,253,248,.11) 62%,rgba(6,26,52,.13));}
.orbit-line,.floating-service{display:none!important;}
.real-image-stage:after{content:"";position:absolute;left:28px;right:28px;bottom:18px;height:52px;border-radius:20px;background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.58));box-shadow:0 18px 38px rgba(6,26,52,.13);opacity:.78;}
.service-panel{margin-top:12px;padding:14px;border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 18px 42px rgba(3,22,48,.15);}
.panel-head{margin:0 2px 10px;}
.panel-head strong{font-size:16px;}
.service-grid-v29{gap:10px;}
.service-grid-v29 .service-card{min-height:88px;border-radius:18px;padding:12px 34px 12px 13px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;background:#fff;}
.service-grid-v29 .service-card:before{display:none;}
.service-grid-v29 .service-card .icon{grid-row:1/3;width:38px;height:38px;border-radius:14px;font-size:21px;margin:0;animation:none;background:#f2f7ff;}
.service-grid-v29 .service-card b{font-size:15px;line-height:1.1;}
.service-grid-v29 .service-card small{font-size:12px;line-height:1.25;max-width:170px;}
.service-grid-v29 .service-card .arrow{right:12px;font-size:18px;}
.service-grid-v29 .service-card:hover,.service-grid-v29 .service-card.active{transform:translateY(-3px);border-color:rgba(241,195,101,.55);box-shadow:0 18px 32px rgba(14,58,102,.12);}
.service-grid-v29 .service-card:hover .icon,.service-grid-v29 .service-card.active .icon{animation:neatIcon .55s ease both;background:#fff6e4;}
.category-detail{display:none;margin-top:10px;border-radius:18px;padding:12px;}
.category-detail.open{display:flex;}
.category-detail h3{font-size:17px;margin:2px 0;}
.category-detail p{font-size:12px;}
.category-detail .btn{padding:10px 14px;font-size:13px;}
.available-strip{margin-top:11px;padding-top:11px;}
.strip-title{margin-bottom:8px;}
.mini-providers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
.mini-providers article{border-radius:15px;padding:9px;grid-template-columns:auto 1fr;}
.mini-providers span{width:34px;height:34px;border-radius:12px;font-size:11px;}
.mini-providers b{font-size:12px;}
.mini-providers small{font-size:10px;}
.mini-providers em{font-size:10px;padding:3px 7px;}
@keyframes neatIcon{0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}}
@media(max-width:1180px){.hero-shell{grid-template-columns:1fr;}.product-device{justify-self:center;max-width:620px}.real-image-stage{height:250px}}
@media(max-width:720px){.product-device{width:100%;}.device-screen{border-radius:30px;padding:10px}.real-image-stage{height:210px}.service-grid-v29 .service-card{min-height:82px}.mini-providers{grid-template-columns:1fr}.available-strip{display:none}.category-detail.open{display:flex}.hero-v29 h1{font-size:46px}}

/* v3.1 homepage polish: v1.9 device size, meaningful motion rail, category providers */
.product-device{width:min(100%,620px);justify-self:end;}
.device-screen{padding:12px;border-radius:34px;box-shadow:0 26px 70px rgba(1,20,44,.36), inset 0 0 0 1px rgba(255,255,255,.22);}
.real-image-stage{height:250px;border-radius:28px 28px 18px 18px;position:relative;}
.real-image-stage:after{display:none;}
.image-wash{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02) 48%,rgba(4,31,49,.16));pointer-events:none;}
.service-motion-rail{position:absolute;left:26px;right:26px;bottom:18px;height:56px;border-radius:22px;background:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,.54));box-shadow:0 18px 38px rgba(6,26,52,.13);backdrop-filter:blur(8px);overflow:hidden;z-index:4;}
.service-motion-rail:before{content:"";position:absolute;inset:50% 18px auto 18px;height:1px;background:linear-gradient(90deg,transparent,rgba(26,83,142,.3),rgba(12,112,92,.28),transparent);}
.rail-service{position:absolute;top:8px;width:40px;height:40px;border:0;border-radius:15px;background:#fff;box-shadow:0 10px 20px rgba(12,43,76,.13);display:grid;place-items:center;font-size:20px;cursor:pointer;transition:transform .2s ease, box-shadow .2s ease;animation:railDrift 14s linear infinite;}
.rail-service:hover,.rail-service:focus{transform:translateY(-5px) scale(1.06);box-shadow:0 16px 28px rgba(12,43,76,.2);outline:2px solid rgba(244,194,95,.6);}
.rail-clean{animation-delay:-1s}.rail-fix{animation-delay:-3.2s}.rail-move{animation-delay:-5.6s}.rail-property{animation-delay:-7.8s}.rail-shortlet{animation-delay:-10.2s}.rail-rent{animation-delay:-12.4s}
@keyframes railDrift{0%{left:-46px}100%{left:calc(100% + 46px)}}
.service-grid-v29 .service-card{min-height:88px;border-radius:18px;padding:12px 34px 12px 13px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;background:#fff;}
.service-grid-v29 .service-card .icon{grid-row:1/3;width:38px;height:38px;border-radius:14px;font-size:21px;margin:0;animation:none;background:#f2f7ff;}
.service-grid-v29 .service-card:hover .icon,.service-grid-v29 .service-card.active .icon{animation:neatIcon .55s ease both;background:#fff6e4;}
.available-strip{padding-top:12px;}
.mini-providers article{transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;}
.mini-providers article:hover{transform:translateY(-3px);border-color:rgba(241,195,101,.6);box-shadow:0 14px 28px rgba(14,58,102,.12);}

@media(max-width:1180px){.product-device{justify-self:center;max-width:620px}.hero-shell{grid-template-columns:1fr;}.real-image-stage{height:250px}}
@media(max-width:720px){
  .hero-v29{padding:22px 0 78px;}
  .product-device{width:100%;}
  .device-screen{border-radius:28px;padding:9px;}
  .real-image-stage{height:200px;border-radius:24px 24px 16px 16px;}
  .service-motion-rail{left:16px;right:16px;bottom:14px;height:50px;border-radius:18px;}
  .rail-service{width:36px;height:36px;border-radius:13px;font-size:18px;top:7px;animation-duration:12s;}
  .service-panel{padding:13px;}
  .service-grid-v29{grid-template-columns:1fr;gap:10px;}
  .service-grid-v29 .service-card{min-height:78px;}
  .available-strip{display:block;}
  .mini-providers{grid-template-columns:1fr;}
  .hero-v29 h1{font-size:44px;}
}
@media(prefers-reduced-motion:reduce){.rail-service{animation:none;position:static;margin:8px 4px;display:inline-grid}.service-motion-rail{display:flex;justify-content:center;gap:4px}}

/* v3.2: calmer swipe rail, sharper housing image and linked preview behaviour */
.real-image-stage img{filter:saturate(1.02) contrast(1.06);object-position:center 48%;}
.service-motion-rail{
  left:24px;right:24px;bottom:18px;height:64px;border-radius:24px;
  background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.72);
  box-shadow:0 16px 36px rgba(6,26,52,.16);backdrop-filter:blur(10px);
  overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none;
}
.service-motion-rail:active{cursor:grabbing;}
.service-motion-rail:before{display:none;}
.rail-track{
  display:flex;gap:12px;align-items:center;height:100%;width:max-content;padding:8px 10px;
  will-change:transform;animation:railCruise 28s linear infinite;
}
.service-motion-rail:hover .rail-track,.service-motion-rail:focus-within .rail-track{animation-duration:44s;}
.service-motion-rail.swiping .rail-track{animation:none;transition:transform .55s cubic-bezier(.18,.78,.24,1);}
.rail-service{
  position:static;animation:none;width:auto;min-width:116px;height:48px;border-radius:17px;
  display:flex;align-items:center;gap:8px;padding:7px 12px;background:#fff;border:1px solid rgba(20,50,84,.08);
  color:#102542;box-shadow:0 9px 22px rgba(12,43,76,.12);font-weight:900;
}
.rail-service span{width:30px;height:30px;border-radius:11px;background:#f6f8fd;display:grid;place-items:center;font-size:17px;transition:transform .2s ease, background .2s ease;}
.rail-service b{font-size:12px;letter-spacing:.01em;}
.rail-service:hover,.rail-service:focus,.rail-service.active{transform:translateY(-3px);outline:0;border-color:rgba(244,194,95,.7);box-shadow:0 15px 32px rgba(12,43,76,.2);}
.rail-service:hover span,.rail-service:focus span,.rail-service.active span{transform:scale(1.08) rotate(-4deg);background:#fff3d6;}
@keyframes railCruise{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.service-card.rail-hover{border-color:rgba(244,194,95,.95);box-shadow:0 18px 38px rgba(26,83,142,.14);transform:translateY(-4px);}
.mini-providers{transition:opacity .18s ease, transform .18s ease;}
.mini-providers.is-updating{opacity:.25;transform:translateY(8px);}
@media(max-width:720px){
  .real-image-stage{height:202px;}
  .service-motion-rail{left:14px;right:14px;bottom:13px;height:58px;border-radius:20px;}
  .rail-track{gap:9px;padding:7px 8px;}
  .rail-service{min-width:104px;height:44px;border-radius:15px;padding:6px 10px;}
  .rail-service span{width:28px;height:28px;font-size:16px;}
  .rail-service b{font-size:11px;}
}
@media(prefers-reduced-motion:reduce){.rail-track{animation:none}.service-motion-rail{overflow-x:auto}.rail-service{flex:0 0 auto}}

/* v3.3: clean unboxed looping icon rail, no labels until hover */
.service-motion-rail{
  left:22px!important;right:22px!important;bottom:18px!important;height:72px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;
  overflow:hidden!important;cursor:grab;touch-action:pan-y;user-select:none;z-index:5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);
}
.service-motion-rail:active{cursor:grabbing;}
.rail-track{
  display:flex!important;align-items:center!important;gap:28px!important;height:100%!important;width:max-content!important;
  padding:10px 20px!important;will-change:transform;animation:railCruiseClean 26s linear infinite!important;
}
.service-motion-rail:hover .rail-track,.service-motion-rail:focus-within .rail-track{animation-play-state:paused;}
.service-motion-rail.swiping .rail-track{animation:none!important;}
.rail-service{
  position:relative!important;flex:0 0 auto!important;width:50px!important;min-width:50px!important;height:50px!important;
  padding:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 14px 26px rgba(6,26,52,.18)!important;color:#102542!important;
  display:grid!important;place-items:center!important;transform:translateY(0);transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.rail-service span{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;font-size:22px!important;line-height:1!important;transition:transform .18s ease!important;}
.rail-service b{
  position:absolute;left:50%;bottom:-26px;transform:translateX(-50%) translateY(4px);
  opacity:0;pointer-events:none;white-space:nowrap;background:#102542;color:white;border-radius:999px;
  padding:5px 9px;font-size:11px!important;line-height:1;font-weight:900;box-shadow:0 10px 20px rgba(6,26,52,.2);transition:.18s ease;
}
.rail-service:hover,.rail-service:focus,.rail-service.active{transform:translateY(-6px) scale(1.06)!important;background:#fff!important;box-shadow:0 22px 36px rgba(6,26,52,.24)!important;outline:0!important;}
.rail-service:hover span,.rail-service:focus span,.rail-service.active span{transform:scale(1.12) rotate(-5deg)!important;background:transparent!important;}
.rail-service:hover b,.rail-service:focus b,.rail-service.active b{opacity:1;transform:translateX(-50%) translateY(0);}
@keyframes railCruiseClean{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.service-card.rail-hover,.service-grid-v29 .service-card.rail-hover{border-color:rgba(244,194,95,.95)!important;box-shadow:0 18px 38px rgba(26,83,142,.15)!important;transform:translateY(-4px)!important;}
@media(max-width:720px){
  .service-motion-rail{left:12px!important;right:12px!important;bottom:12px!important;height:66px!important;}
  .rail-track{gap:22px!important;padding:8px 16px!important;}
  .rail-service{width:46px!important;min-width:46px!important;height:46px!important;}
  .rail-service span{font-size:20px!important;}
  .rail-service b{bottom:-24px;font-size:10px!important;}
}


/* v3.4: proper smooth icon rail, no CSS marquee jump */
.service-motion-rail{
  left:20px!important;right:20px!important;bottom:14px!important;height:86px!important;
  background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;
  overflow:hidden!important;cursor:grab;touch-action:pan-y;user-select:none;z-index:5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent 100%);
}
.service-motion-rail:active{cursor:grabbing;}
.rail-track{
  display:flex!important;align-items:flex-start!important;gap:34px!important;height:100%!important;width:max-content!important;
  padding:8px 22px!important;will-change:transform;animation:none!important;transition:none!important;
}
.service-motion-rail:hover .rail-track,.service-motion-rail:focus-within .rail-track{animation:none!important;}
.service-motion-rail.swiping .rail-track{animation:none!important;transition:none!important;}
.rail-service{
  position:relative!important;flex:0 0 auto!important;width:52px!important;min-width:52px!important;height:52px!important;
  padding:0!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.94)!important;
  box-shadow:0 14px 26px rgba(6,26,52,.18)!important;color:#102542!important;
  display:grid!important;place-items:center!important;transform:translateY(0);
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease!important;
}
.rail-service span{width:auto!important;height:auto!important;border-radius:0!important;background:transparent!important;font-size:22px!important;line-height:1!important;transition:transform .18s ease!important;}
.rail-service b{
  position:absolute;left:50%;top:58px;transform:translateX(-50%) translateY(3px);
  opacity:0;pointer-events:none;white-space:nowrap;background:#102542;color:white;border-radius:999px;
  padding:5px 9px;font-size:11px!important;line-height:1;font-weight:900;box-shadow:0 10px 20px rgba(6,26,52,.22);transition:.18s ease;
}
.rail-service:hover,.rail-service:focus,.rail-service.active{transform:translateY(-5px) scale(1.06)!important;background:#fff!important;box-shadow:0 22px 36px rgba(6,26,52,.24)!important;outline:0!important;}
.rail-service:hover span,.rail-service:focus span,.rail-service.active span{transform:scale(1.12) rotate(-5deg)!important;background:transparent!important;}
.rail-service:hover b,.rail-service:focus b,.rail-service.active b{opacity:1;transform:translateX(-50%) translateY(0);}
.service-card.rail-hover,.service-grid-v29 .service-card.rail-hover{border-color:rgba(244,194,95,.95)!important;box-shadow:0 18px 38px rgba(26,83,142,.15)!important;transform:translateY(-4px)!important;}
@media(max-width:720px){
  .service-motion-rail{left:10px!important;right:10px!important;bottom:10px!important;height:80px!important;}
  .rail-track{gap:28px!important;padding:7px 18px!important;}
  .rail-service{width:48px!important;min-width:48px!important;height:48px!important;}
  .rail-service span{font-size:20px!important;}
  .rail-service b{top:54px;font-size:10px!important;}
}

/* v3.5: single top label for icon rail. No duplicate labels on icons. */
.service-motion-rail{height:92px!important;overflow:visible!important;}
.service-motion-rail .rail-floating-label{
  position:absolute;left:50%;top:0;transform:translateX(-50%) translateY(-4px);
  opacity:0;pointer-events:none;white-space:nowrap;background:#102542;color:#fff;border-radius:999px;
  padding:6px 12px;font-size:11px;font-weight:950;letter-spacing:.01em;line-height:1;
  box-shadow:0 12px 24px rgba(6,26,52,.22);transition:opacity .16s ease, transform .16s ease;z-index:10;
}
.service-motion-rail .rail-floating-label.show{opacity:1;transform:translateX(-50%) translateY(0);}
.rail-service b{display:none!important;}
.rail-track{padding-top:30px!important;align-items:flex-start!important;}
@media(max-width:720px){
  .service-motion-rail{height:86px!important;}
  .rail-track{padding-top:28px!important;}
  .service-motion-rail .rail-floating-label{font-size:10px;padding:6px 10px;}
}


/* v3.6: label sits above hovered icon only, and image is more middle-upper London terrace. */
.service-motion-rail .rail-floating-label{
  left:50%;top:0;transform:translateX(-50%) translateY(-4px);
}
.service-motion-rail .rail-floating-label.show{transform:translateX(-50%) translateY(0);}
.real-image-stage img{filter:saturate(1.03) contrast(1.02)!important;}

/* v3.7 final hero image lock */
.real-image-stage img{object-position:center 54%;}
.real-image-stage:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(to bottom, rgba(3,28,61,.04), rgba(3,28,61,.24));
  pointer-events:none;
}

/* v3.9: increase the image window and use the sides better on desktop */
.hero-v29 .container{
  width:min(1500px,94vw);
}
.hero-shell{
  grid-template-columns:minmax(520px,1fr) minmax(640px,700px) !important;
  gap:56px !important;
}
.hero-copy{
  padding-left:clamp(0px,1.8vw,28px);
}
.hero-v29 h1{
  max-width:720px !important;
}
.hero-v29 p{
  max-width:720px !important;
}
.product-device{
  width:min(100%,700px) !important;
  justify-self:end !important;
}
.device-screen{
  padding:13px !important;
}
.real-image-stage{
  height:330px !important;
  border-radius:30px 30px 19px 19px !important;
}
.real-image-stage img{
  object-position:center 52% !important;
  filter:saturate(1.04) contrast(1.04) brightness(.98) !important;
}
.real-image-stage:after{
  display:block !important;
  background:linear-gradient(to bottom, rgba(6,26,52,.02), rgba(6,26,52,.16)) !important;
}
.service-motion-rail{
  bottom:16px !important;
}
.service-panel{
  padding:16px !important;
}
.service-grid-v29 .service-card{
  min-height:86px !important;
}
@media(min-width:1500px){
  .hero-v29{
    padding-top:30px;
    padding-bottom:36px;
  }
}
@media(max-width:1180px){
  .hero-v29 .container{width:min(760px,92vw);}
  .hero-shell{grid-template-columns:1fr !important;gap:30px !important;}
  .product-device{justify-self:center !important;width:100% !important;max-width:700px !important;}
  .real-image-stage{height:315px !important;}
}
@media(max-width:720px){
  .hero-v29 .container{width:92vw;}
  .hero-copy{padding-left:0;}
  .real-image-stage{height:235px !important;border-radius:24px 24px 16px 16px !important;}
  .service-panel{padding:13px !important;}
}
@media(max-width:420px){
  .real-image-stage{height:215px !important;}
}

/* v3.10: make the product tab use the screen height better without going edge to edge */
@media(min-width:1181px){
  .hero-v29{
    padding-top:22px !important;
    padding-bottom:24px !important;
  }
  .hero-v29 .container{
    width:min(1540px,95vw) !important;
  }
  .hero-shell{
    min-height:calc(100vh - 120px) !important;
    grid-template-columns:minmax(560px,1fr) minmax(600px,660px) !important;
    gap:58px !important;
    align-items:center !important;
  }
  .product-device{
    width:min(100%,660px) !important;
    min-height:calc(100vh - 145px) !important;
    max-height:860px !important;
    justify-self:end !important;
    display:flex !important;
    align-items:stretch !important;
  }
  .device-screen{
    width:100% !important;
    min-height:100% !important;
    display:flex !important;
    flex-direction:column !important;
    padding:14px !important;
  }
  .real-image-stage{
    height:clamp(350px,40vh,410px) !important;
    flex:0 0 auto !important;
  }
  .service-panel{
    flex:1 1 auto !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    padding:18px !important;
  }
  .service-grid-v29{
    gap:13px !important;
  }
  .service-grid-v29 .service-card{
    min-height:92px !important;
  }
  .available-strip{
    margin-top:12px !important;
  }
}
@media(min-width:1500px){
  .product-device{max-height:900px !important;}
  .real-image-stage{height:clamp(380px,42vh,440px) !important;}
}
@media(max-width:1180px){
  .product-device{max-width:680px !important;}
}

/* v3.11: desktop frame fit, visible breathing room, no first-fold scrollbar */
@media(min-width:1181px){
  html,body{overflow-x:hidden;}
  .hero-v29{
    min-height:calc(100dvh - 74px) !important;
    height:calc(100dvh - 74px) !important;
    padding:0 !important;
    overflow:hidden !important;
  }
  .hero-v29 .container{
    width:min(1500px,94vw) !important;
    height:100% !important;
  }
  .hero-shell{
    height:100% !important;
    min-height:0 !important;
    grid-template-columns:minmax(540px,1fr) minmax(590px,650px) !important;
    gap:54px !important;
    align-items:center !important;
  }
  .hero-copy{
    justify-content:center !important;
    padding:0 0 0 clamp(0px,1.4vw,22px) !important;
  }
  .hero-v29 h1{
    font-size:clamp(52px,5.3vw,82px) !important;
    line-height:.91 !important;
    margin-bottom:20px !important;
  }
  .hero-v29 p{
    font-size:18px !important;
    margin-bottom:24px !important;
  }
  .premium-search{margin-bottom:24px !important;}
  .compact-trust{gap:18px 24px !important;}
  .product-device{
    width:min(100%,650px) !important;
    height:calc(100dvh - 116px) !important;
    min-height:660px !important;
    max-height:820px !important;
    justify-self:end !important;
    display:flex !important;
    align-items:center !important;
  }
  .device-screen{
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    padding:13px !important;
  }
  .real-image-stage{
    height:clamp(280px,34vh,345px) !important;
    flex:0 0 auto !important;
    border-radius:30px 30px 18px 18px !important;
  }
  .real-image-stage img{
    object-position:center 55% !important;
  }
  .service-panel{
    flex:1 1 auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:space-between !important;
    padding:16px !important;
  }
  .service-grid-v29{
    gap:12px !important;
  }
  .service-grid-v29 .service-card{
    min-height:82px !important;
    padding:14px !important;
  }
  .available-strip{margin-top:10px !important;}
  .mini-providers{gap:10px !important;}
  .mini-provider{min-height:58px !important;padding:10px !important;}
}
@media(min-width:1500px){
  .product-device{height:calc(100dvh - 118px) !important;max-height:840px !important;}
  .real-image-stage{height:clamp(300px,35vh,365px) !important;}
}
@media(max-width:1180px){
  .hero-v29{height:auto !important;min-height:auto !important;overflow:visible !important;padding:28px 0 46px !important;}
  .hero-shell{height:auto !important;min-height:auto !important;}
  .product-device{height:auto !important;min-height:0 !important;max-height:none !important;display:block !important;align-items:unset !important;}
  .device-screen{height:auto !important;min-height:0 !important;display:block !important;}
  .service-panel{flex:unset !important;min-height:0 !important;display:block !important;justify-content:unset !important;}
}
@media(max-width:720px){
  .hero-v29{padding:22px 0 88px !important;}
  .real-image-stage{height:225px !important;}
  .service-panel{padding:13px !important;}
  .service-grid-v29 .service-card{min-height:82px !important;}
}

/* v3.13 calm polish: keep clear icons, clean the surrounding UI and fix preview spacing */
@media(min-width:1181px){
  .hero-v29{
    background:
      radial-gradient(circle at 83% 18%,rgba(241,195,101,.13),transparent 24%),
      linear-gradient(135deg,#1c58a4 0%,#0c3771 50%,#0b5f55 100%) !important;
  }
  .hero-v29:before{
    background:
      linear-gradient(90deg,rgba(4,21,45,.13),transparent 48%),
      url('assets/london-silhouette.svg') bottom left/64% auto no-repeat !important;
    opacity:.31 !important;
  }
  .product-device{
    height:calc(100dvh - 128px) !important;
    min-height:650px !important;
    max-height:795px !important;
  }
  .device-screen{
    padding:12px !important;
    border-radius:36px !important;
    background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(255,255,255,.08)) !important;
  }
  .real-image-stage{
    height:clamp(292px,35vh,348px) !important;
    border-radius:28px 28px 18px 18px !important;
  }
  .real-image-stage img{
    object-position:center 57% !important;
  }
  .service-panel{
    margin-top:10px !important;
    padding:13px 14px 14px !important;
    border-radius:0 0 27px 27px !important;
    box-shadow:0 16px 38px rgba(3,22,48,.12) !important;
  }
  .panel-head{margin-bottom:10px !important;}
  .service-grid-v29{
    gap:10px !important;
  }
  .service-grid-v29 .service-card{
    min-height:76px !important;
    padding:11px 34px 11px 13px !important;
    border-color:rgba(13,32,51,.075) !important;
    box-shadow:0 8px 18px rgba(14,58,102,.055) !important;
  }
  .service-grid-v29 .service-card:hover,
  .service-grid-v29 .service-card.active,
  .service-grid-v29 .service-card.rail-hover{
    box-shadow:0 14px 26px rgba(14,58,102,.11) !important;
  }
  .service-grid-v29 .service-card .icon{
    width:40px !important;
    height:40px !important;
    font-size:22px !important;
  }
  .available-strip{
    margin-top:9px !important;
    padding-top:10px !important;
  }
  .strip-title{margin-bottom:8px !important;}
  .mini-providers{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .mini-providers article{
    min-height:56px !important;
    padding:9px !important;
    border-radius:16px !important;
    box-shadow:0 7px 16px rgba(14,58,102,.055) !important;
  }
  .mini-providers span{width:34px !important;height:34px !important;}
  .mini-providers b{font-size:12px !important;}
  .mini-providers small{font-size:10px !important;}
  .mini-providers em{font-size:10px !important;padding:3px 7px !important;}

  .premium-search{
    padding:9px !important;
    gap:8px !important;
    border-radius:26px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 48px rgba(3,22,48,.2) !important;
  }
  .premium-search .field{
    min-height:66px !important;
    border-radius:18px !important;
    background:rgba(251,247,239,.72) !important;
    border-color:rgba(13,32,51,.055) !important;
  }
  .premium-search .btn{
    border-radius:19px !important;
    box-shadow:0 12px 26px rgba(174,116,15,.18) !important;
  }
  .compact-trust{margin-top:28px !important;}
}

@media(max-width:1180px){
  .premium-search{
    background:rgba(255,255,255,.96) !important;
    box-shadow:0 18px 48px rgba(3,22,48,.2) !important;
  }
  .service-panel{box-shadow:0 16px 38px rgba(3,22,48,.12) !important;}
  .mini-providers{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}

@media(max-width:720px){
  .hero-v29:before{background:url('assets/london-silhouette.svg') bottom left/110% auto no-repeat !important;opacity:.22 !important;}
  .premium-search .field{min-height:62px !important;}
  .premium-search .btn{min-height:58px !important;}
  .service-grid-v29 .service-card .icon{width:40px !important;height:40px !important;font-size:22px !important;}
  .available-strip{display:block !important;}
  .mini-providers{grid-template-columns:1fr !important;}
  .mini-providers article:nth-child(n+3){display:none;}
}


/* v3.13: lock provider preview cards so they do not shake when category changes */
.mini-providers,
.mini-providers *,
.mini-providers article,
.mini-providers article:hover{
  transition:none !important;
  animation:none !important;
}
.mini-providers{
  align-items:stretch !important;
  transform:none !important;
  opacity:1 !important;
}
.mini-providers.is-updating{
  opacity:1 !important;
  transform:none !important;
}
.mini-providers article,
.mini-providers article:hover{
  transform:none !important;
  min-height:62px !important;
  height:62px !important;
  padding:10px 12px !important;
  border-radius:18px !important;
  box-shadow:0 8px 18px rgba(14,58,102,.06) !important;
  border:1px solid rgba(13,32,51,.08) !important;
}
.mini-providers span{
  width:36px !important;
  height:36px !important;
  border-radius:13px !important;
}
.mini-providers b,
.mini-providers small{
  display:block !important;
  max-width:100% !important;
}
.mini-providers em{
  margin-top:2px !important;
}
@media(max-width:720px){
  .available-strip{display:block !important;}
  .mini-providers article{height:auto !important;min-height:60px !important;}
}

/* v3.14: clean postcode and address finder */
.location-finder-wrap{position:relative;}
.location-finder-wrap .field{position:relative;}
.loc-actions{display:flex;gap:8px;align-items:center;margin-top:8px;}
.loc-chip{border:0;border-radius:999px;padding:7px 10px;font-weight:900;font-size:12px;cursor:pointer;background:rgba(27,92,170,.08);color:#18569f;white-space:nowrap;}
.loc-chip:hover{background:rgba(27,92,170,.14);}
.loc-chip.goldish{background:rgba(241,195,101,.25);color:#7a5108;}
.loc-suggest{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid rgba(13,32,51,.1);box-shadow:0 22px 46px rgba(3,22,48,.18);border-radius:18px;padding:8px;display:none;max-height:310px;overflow:auto;color:var(--ink);}
.loc-suggest.open{display:block;}
.loc-suggest button{width:100%;border:0;background:transparent;text-align:left;border-radius:13px;padding:11px 12px;display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:center;cursor:pointer;color:var(--ink);}
.loc-suggest button:hover,.loc-suggest button.active{background:#f7f3ea;}
.loc-suggest i{width:34px;height:34px;border-radius:13px;background:#edf5ff;display:grid;place-items:center;font-style:normal;}
.loc-suggest b{display:block;font-size:14px;}
.loc-suggest small{display:block;color:#62758a;font-weight:750;margin-top:2px;}
.loc-note{font-size:11px;color:#708298;font-weight:800;margin-top:7px;display:none;}
.loc-note.show{display:block;}
.field.has-loc-icon input{padding-right:30px;}
.loc-pin{position:absolute;right:12px;bottom:18px;color:#1f66b7;opacity:.75;font-weight:900;}
.directory .loc-actions{margin-bottom:10px;flex-wrap:wrap;}
.directory .loc-suggest{top:auto;margin-top:6px;}
@media(max-width:720px){.loc-actions{flex-wrap:wrap}.loc-chip{font-size:11px;padding:7px 9px}.loc-suggest{position:fixed;left:14px;right:14px;top:auto;bottom:76px;max-height:42vh;border-radius:20px}.premium-search .location-finder-wrap{display:block}.loc-pin{bottom:14px}}

/* v3.15 sharper finder polish */
.premium-search{
  align-items:stretch;
  gap:10px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 22px 54px rgba(3,22,48,.24);
  backdrop-filter:blur(10px);
}
.premium-search .field,
.location-finder-wrap .field{
  background:#fbf8f1 !important;
  border:1px solid rgba(15,35,60,.08) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75) !important;
}
.premium-search input,
.directory input,
.directory select{
  color:#15243a;
  font-weight:800;
}
.premium-search input::placeholder{color:#6f7480;opacity:.9}
.field-service{position:relative;cursor:pointer}
.service-picker input{cursor:pointer;padding-right:38px !important}
.service-drop-btn{
  position:absolute;
  right:13px;
  bottom:16px;
  width:28px;
  height:28px;
  border:0;
  border-radius:999px;
  background:#eef4ff;
  color:#1f63c7;
  font-weight:900;
  cursor:pointer;
}
.service-suggest{
  position:absolute;
  z-index:60;
  left:0;
  right:0;
  top:calc(100% + 10px);
  display:none;
  padding:8px;
  border-radius:20px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(18,42,77,.1);
  box-shadow:0 24px 52px rgba(7,24,54,.22);
}
.service-suggest.open{display:grid;gap:6px}
.service-suggest button,
.loc-suggest button{
  appearance:none;
  width:100%;
  border:0;
  background:transparent;
  border-radius:14px;
  display:grid;
  grid-template-columns:34px 1fr;
  align-items:center;
  gap:10px;
  padding:10px;
  text-align:left;
  cursor:pointer;
}
.service-suggest button:hover,
.loc-suggest button:hover{background:#f4f8ff}
.service-suggest i,
.loc-suggest i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:#eef4ff;
  font-style:normal;
}
.service-suggest b,
.loc-suggest b{display:block;color:#12243d;font-size:14px;line-height:1.15}
.service-suggest small,
.loc-suggest small{display:block;color:#52637a;font-size:11px;line-height:1.25;margin-top:2px}
.location-finder-wrap{position:relative;min-width:0}
.loc-actions{margin-top:8px;gap:7px}
.loc-chip{
  box-shadow:none !important;
  border:1px solid rgba(30,80,140,.08) !important;
}
.loc-suggest{
  top:calc(100% + 10px);
  border-radius:20px;
  box-shadow:0 24px 52px rgba(7,24,54,.22);
}
.loc-note{display:none !important}
.hero-v29 .search .btn.gold{box-shadow:0 16px 30px rgba(211,151,30,.28)}
.directory .service-picker{position:relative}
.directory .service-suggest{top:calc(100% + 8px)}
@media(max-width:720px){
  .premium-search{gap:8px;padding:10px}
  .service-suggest{position:fixed;left:14px;right:14px;top:auto;bottom:76px;max-height:48vh;overflow:auto}
  .premium-search .field{min-height:64px !important}
  .service-drop-btn{bottom:15px}
}


/* v3.16: clean search area, remove oversized dropdown overlap, keep Postcodes.io finder */
.clean-service-select{position:relative;}
.clean-service-select:after{
  content:"⌄";
  position:absolute;
  right:14px;
  bottom:17px;
  width:26px;
  height:26px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:#eef4ff;
  color:#1d5fb4;
  font-weight:950;
  pointer-events:none;
}
.clean-service-select select{
  appearance:none;
  -webkit-appearance:none;
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  color:#16263b;
  font-weight:900;
  font-size:16px;
  padding-right:42px;
  cursor:pointer;
}
.service-suggest,
.service-drop-btn{display:none !important;}

@media(min-width:721px){
  .premium-search{
    grid-template-columns:minmax(210px,1fr) minmax(270px,1.15fr) 154px !important;
    gap:8px !important;
    padding:8px !important;
    border-radius:26px !important;
    max-width:780px !important;
    align-items:stretch !important;
    overflow:visible !important;
  }
  .premium-search .field,
  .premium-search .location-finder-wrap{
    min-height:72px !important;
    border-radius:18px !important;
    background:#fbf8f1 !important;
    border:1px solid rgba(15,35,60,.075) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.8) !important;
  }
  .premium-search .field{
    padding:11px 14px !important;
  }
  .premium-search .location-finder-wrap{
    padding:10px 12px 8px !important;
  }
  .premium-search .location-finder-wrap .field{
    min-height:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
  }
  .premium-search label{
    font-size:10px !important;
    letter-spacing:.13em !important;
    margin-bottom:3px !important;
  }
  .premium-search input,
  .premium-search select{
    font-size:16px !important;
    line-height:1.2 !important;
  }
  .premium-search .btn{
    min-height:72px !important;
    border-radius:19px !important;
    padding:0 22px !important;
    font-size:18px !important;
  }
  .loc-actions{
    margin-top:5px !important;
    gap:5px !important;
    flex-wrap:nowrap !important;
    overflow:hidden !important;
  }
  .loc-chip{
    padding:5px 8px !important;
    font-size:10.5px !important;
    line-height:1 !important;
    background:rgba(27,92,170,.07) !important;
  }
  .loc-chip.goldish{background:rgba(241,195,101,.22) !important;}
  .loc-pin{right:2px !important;bottom:5px !important;font-size:13px !important;}
  .loc-suggest{
    top:calc(100% + 8px) !important;
    max-height:260px !important;
    border-radius:18px !important;
  }
}

@media(max-width:720px){
  .premium-search{
    grid-template-columns:1fr !important;
    padding:10px !important;
    gap:9px !important;
    border-radius:24px !important;
  }
  .premium-search .location-finder-wrap{
    background:#fbf8f1 !important;
    border:1px solid rgba(15,35,60,.075) !important;
    border-radius:18px !important;
    padding:11px 13px 9px !important;
  }
  .premium-search .location-finder-wrap .field{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    min-height:0 !important;
  }
  .loc-actions{margin-top:7px !important;gap:6px !important;}
  .loc-chip{font-size:11px !important;padding:7px 9px !important;}
  .premium-search .btn{min-height:58px !important;}
  .clean-service-select select{font-size:16px;}
}

.directory .clean-service-select:after{bottom:14px;}
.directory .clean-service-select select{font-size:15px;}

/* v3.17: postcode-to-vendor map result inside device */
.service-panel.local-mode{
  padding-bottom:14px !important;
}
.service-panel.local-mode .service-grid-v29{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
.local-map-card,
.local-list-card{
  background:#fff;
  border:1px solid rgba(18,45,72,.08);
  border-radius:18px;
  box-shadow:0 12px 28px rgba(14,36,62,.08);
  overflow:hidden;
}
.map-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px 8px;
  color:#687589;
  font-size:12px;
  font-weight:900;
}
.map-top b{color:#0d5c4b;font-size:13px;}
.mini-map{
  position:relative;
  height:142px;
  margin:0 12px 10px;
  border-radius:16px;
  overflow:hidden;
  background:
    radial-gradient(circle at 20% 20%, rgba(244,195,95,.2), transparent 18%),
    radial-gradient(circle at 76% 78%, rgba(31,111,204,.13), transparent 22%),
    linear-gradient(135deg,#ecf5f2,#dcebf1 52%,#f8f3e8);
  border:1px solid rgba(18,45,72,.07);
}
.road{position:absolute;background:rgba(255,255,255,.72);box-shadow:0 0 0 1px rgba(22,43,69,.04);}
.r1{height:22px;width:150%;left:-22%;top:54%;transform:rotate(-18deg);}
.r2{height:18px;width:130%;left:-15%;top:36%;transform:rotate(22deg);}
.r3{height:16px;width:105%;left:3%;top:70%;transform:rotate(6deg);}
.home-dot,.map-pin{
  position:absolute;
  z-index:2;
  width:38px;height:38px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:12px;
  font-weight:950;
  background:#fff;
  color:#0c3156;
  border:3px solid #f0c45e;
  box-shadow:0 10px 22px rgba(9,28,48,.18);
}
.home-dot{left:13%;top:49%;font-size:10px;background:#143f76;color:#fff;border-color:#fff;}
.map-pin{background:#fff;color:#1f61ae;}
.map-pin:after,.home-dot:after{content:"";position:absolute;inset:-8px;border-radius:inherit;border:1px solid rgba(31,97,174,.2);animation:pulseMap 2.4s ease-out infinite;}
.map-pin.p1{left:50%;top:28%;}
.map-pin.p2{left:67%;top:57%;}
.map-pin.p3{left:33%;top:69%;}
@keyframes pulseMap{0%{transform:scale(.78);opacity:.85}100%{transform:scale(1.45);opacity:0}}
.map-summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 12px 12px;
}
.map-summary b{font-size:15px;color:#13243b;}
.map-summary small{font-size:12px;color:#66758a;text-align:right;}
.local-list-card{padding:8px;display:grid;grid-template-columns:1fr;gap:7px;}
.local-vendor-card{
  min-height:58px;
  border-radius:14px;
  display:grid;
  grid-template-columns:40px 1fr auto;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  text-decoration:none;
  color:#13243b;
  background:#fbfbfa;
  border:1px solid rgba(18,45,72,.055);
}
.local-vendor-card .avatar{
  width:36px;height:36px;border-radius:13px;background:#edf5ff;color:#1f5da8;display:grid;place-items:center;font-weight:950;font-size:12px;
}
.local-vendor-card b{font-size:13px;line-height:1.1;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:210px;}
.local-vendor-card small{display:block;color:#66758a;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;}
.local-vendor-card em{font-style:normal;font-size:10px;font-weight:950;color:#0a7d55;background:#dff5e9;padding:5px 8px;border-radius:999px;}
.local-vendor-card em.busy{color:#986500;background:#fff0cc;}
.no-local-result{padding:12px;display:grid;gap:8px;color:#13243b;}
.no-local-result small{color:#66758a;line-height:1.35;}
.no-local-result .btn{width:max-content;padding:9px 12px;font-size:12px;}
@media(max-width:720px){
  .mini-map{height:128px;}
  .local-vendor-card b,.local-vendor-card small{max-width:180px;}
  .map-summary{align-items:flex-start;flex-direction:column;gap:3px;}
  .map-summary small{text-align:left;}
}

/* v3.18: local map replaces the photo area after postcode search */
.real-image-stage.map-active > img,
.real-image-stage.map-active .image-wash,
.real-image-stage.map-active .service-motion-rail{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.top-local-map{
  position:absolute;
  inset:0;
  z-index:8;
  border-radius:inherit;
  overflow:hidden;
  background:linear-gradient(135deg,#eaf5f2 0%,#dbeaf1 52%,#fbf4e7 100%);
  color:#13243b;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.map-top-bar,
.map-bottom-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 16px;
  font-weight:950;
  background:rgba(255,255,255,.7);
  backdrop-filter:blur(8px);
}
.map-top-bar span,
.map-bottom-bar small{color:#617287;font-size:12px;font-weight:900;}
.map-top-bar b{color:#0d5c4b;font-size:14px;}
.map-bottom-bar b{font-size:15px;color:#13243b;}
.top-map-canvas{position:relative;overflow:hidden;}
.top-map-canvas .road{position:absolute;background:rgba(255,255,255,.76);box-shadow:0 0 0 1px rgba(22,43,69,.04);}
.top-map-canvas .r1{height:30px;width:150%;left:-22%;top:48%;transform:rotate(-17deg);}
.top-map-canvas .r2{height:25px;width:130%;left:-13%;top:34%;transform:rotate(23deg);}
.top-map-canvas .r3{height:22px;width:112%;left:-4%;top:67%;transform:rotate(5deg);}
.top-map-canvas .r4{height:20px;width:92%;left:18%;top:18%;transform:rotate(-5deg);opacity:.58;}
.top-local-map .home-dot,
.top-local-map .map-pin{
  position:absolute;
  z-index:2;
  width:48px;height:48px;
  border-radius:50%;
  display:grid;place-items:center;
  font-size:13px;
  font-weight:950;
  background:#fff;
  color:#0c3156;
  border:3px solid #f0c45e;
  box-shadow:0 12px 28px rgba(9,28,48,.2);
}
.top-local-map .home-dot{left:15%;top:52%;font-size:11px;background:#143f76;color:#fff;border-color:#fff;}
.top-local-map .map-pin{background:#fff;color:#1f61ae;}
.top-local-map .map-pin:after,.top-local-map .home-dot:after{content:"";position:absolute;inset:-9px;border-radius:inherit;border:1px solid rgba(31,97,174,.22);animation:pulseMap 2.4s ease-out infinite;}
.top-local-map .map-pin.p1{left:50%;top:27%;}
.top-local-map .map-pin.p2{left:70%;top:55%;}
.top-local-map .map-pin.p3{left:34%;top:69%;}
.service-panel.local-mode .service-grid-v29{grid-template-columns:1fr !important;}
.service-panel.local-mode .local-list-card{box-shadow:none;background:transparent;border:0;padding:0;gap:9px;}
.service-panel.local-mode .local-vendor-card{min-height:66px;border-radius:16px;background:#fff;box-shadow:0 10px 24px rgba(14,36,62,.07);}
.clean-service-select{cursor:pointer;}
.clean-service-select select{min-height:38px;}
@media(max-width:720px){
  .top-local-map .home-dot,.top-local-map .map-pin{width:40px;height:40px;font-size:11px;}
  .map-top-bar,.map-bottom-bar{padding:10px 12px;}
  .map-bottom-bar{align-items:flex-start;flex-direction:column;gap:2px;}
}

/* v3.19: snazzier real-map locator and fuller local provider list */
.top-local-map{
  background:#0d2442;
}
.gps-map-shell{
  position:relative;
  width:100%;
  height:100%;
  overflow:hidden;
  border-radius:inherit;
  background:#dfeaf0;
  display:grid;
  grid-template-rows:auto 1fr auto;
}
.osm-map{
  position:absolute;
  inset:-20px;
  width:calc(100% + 40px);
  height:calc(100% + 40px);
  border:0;
  filter:saturate(.75) contrast(.96) brightness(1.05);
  opacity:.72;
  pointer-events:none;
}
.map-glass{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 58%,rgba(31,97,174,.22),transparent 24%),
    radial-gradient(circle at 62% 34%,rgba(240,196,94,.18),transparent 22%),
    linear-gradient(135deg,rgba(238,248,248,.72),rgba(255,249,235,.56));
  z-index:1;
  pointer-events:none;
}
.map-gridlines{
  position:absolute;
  inset:0;
  z-index:2;
  opacity:.24;
  background-image:
    linear-gradient(rgba(15,54,92,.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15,54,92,.18) 1px, transparent 1px);
  background-size:48px 48px;
  pointer-events:none;
}
.map-route{
  position:absolute;
  left:18%;
  top:43%;
  width:58%;
  height:4px;
  z-index:3;
  background:linear-gradient(90deg,rgba(31,97,174,.05),rgba(31,97,174,.75),rgba(240,196,94,.9));
  border-radius:999px;
  transform:rotate(-13deg);
  box-shadow:0 0 22px rgba(31,97,174,.28);
}
.top-local-map .map-top-bar,
.top-local-map .map-bottom-bar{
  position:relative;
  z-index:7;
  background:rgba(255,255,255,.83);
  backdrop-filter:blur(12px);
}
.top-map-canvas{position:relative;z-index:6;overflow:hidden;}
.scanner-ring{
  position:absolute;
  left:15%;
  top:51%;
  width:64px;
  height:64px;
  border-radius:50%;
  border:1px solid rgba(31,97,174,.22);
  transform:translate(-50%,-50%);
  animation:gpsPulse 2.8s ease-out infinite;
}
@keyframes gpsPulse{
  0%{transform:translate(-50%,-50%) scale(.6);opacity:.7;}
  100%{transform:translate(-50%,-50%) scale(2.2);opacity:0;}
}
.top-local-map .home-dot,
.top-local-map .map-pin{
  z-index:8;
  transition:transform .18s ease, box-shadow .18s ease;
}
.top-local-map .map-pin{
  width:54px;
  height:54px;
  border:3px solid #f0c45e;
  color:#13243b;
  cursor:pointer;
}
.top-local-map .map-pin span{font-size:21px;line-height:1;}
.top-local-map .map-pin small{
  position:absolute;
  left:50%;
  top:calc(100% + 5px);
  transform:translateX(-50%);
  background:rgba(19,36,59,.92);
  color:white;
  border-radius:999px;
  padding:3px 7px;
  font-size:9px;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(9,28,48,.18);
}
.top-local-map .map-pin:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 16px 36px rgba(9,28,48,.28);}
.service-panel.local-mode .local-list-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}
.service-panel.local-mode .local-vendor-card{
  min-height:72px;
  padding:12px;
  align-items:center;
  border:1px solid rgba(16,46,79,.08);
}
.service-panel.local-mode .local-vendor-card .avatar{
  width:40px;
  height:40px;
  border-radius:14px;
  flex:0 0 auto;
}
.service-panel.local-mode .local-vendor-card b{max-width:170px;font-size:13px;}
.service-panel.local-mode .local-vendor-card small{max-width:190px;font-size:10.5px;}
.service-panel.local-mode .local-vendor-card em{margin-left:auto;}
@media(max-width:720px){
  .service-panel.local-mode .local-list-card{grid-template-columns:1fr;}
  .top-local-map .map-pin{width:44px;height:44px;}
  .top-local-map .map-pin span{font-size:18px;}
  .top-local-map .map-pin small{font-size:8px;}
}

/* v3.20 real map + cleaner search behaviour */
.real-gps-shell{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:auto 1fr auto;
  overflow:hidden;
  background:#eef5f5;
  border-radius:28px 28px 14px 14px;
}
.real-live-map{
  position:relative;
  width:100%;
  min-height:225px;
  background:#dcebef;
  z-index:1;
}
.real-live-map .leaflet-container{
  width:100%;
  height:100%;
  font:inherit;
}
.real-live-map .leaflet-tile-pane{
  filter:saturate(.92) contrast(.98) brightness(1.02);
}
.real-live-map:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(3,42,72,.08));
  z-index:400;
}
.map-top-bar,
.map-bottom-bar{
  position:relative !important;
  inset:auto !important;
  z-index:600;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:rgba(255,255,255,.94);
  color:#0d1f36;
  border:0;
  box-shadow:none;
  padding:12px 16px;
}
.map-top-bar span{font-weight:900;color:#64738a;font-size:12px;}
.map-top-bar b,.map-bottom-bar b,.map-bottom-bar span{font-weight:950;color:#075f4d;font-size:15px;}
.map-bottom-bar{border-top:1px solid rgba(10,42,68,.08);}
.map-bottom-bar small{font-size:12px;font-weight:850;color:#64738a;text-align:right;}
.nila-user-pin,
.nila-provider-pin{background:transparent;border:0;}
.nila-user-pin span,
.nila-provider-pin span{
  width:46px;
  height:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#123d74;
  color:#fff;
  border:4px solid #fff;
  box-shadow:0 12px 30px rgba(5,30,55,.32),0 0 0 8px rgba(18,61,116,.12);
  font-weight:950;
  font-size:12px;
}
.nila-provider-pin span{
  background:#fff;
  color:#0c2d5a;
  border-color:#f3c75e;
  font-size:22px;
}
.nila-provider-pin small{
  position:absolute;
  left:50%;
  top:47px;
  transform:translateX(-50%);
  white-space:nowrap;
  background:#fff;
  color:#0d1f36;
  border-radius:999px;
  padding:4px 7px;
  box-shadow:0 8px 20px rgba(8,28,50,.14);
  font-weight:900;
  font-size:9px;
}
.map-fallback{
  height:100%;
  display:grid;
  place-items:center;
  text-align:center;
  color:#123d74;
  background:radial-gradient(circle at 50% 50%,#f7fbff,#dcebef);
}
.map-fallback small{display:block;color:#65758b;margin-top:4px;max-width:260px;}
.service-panel.local-mode{
  grid-template-rows:auto 1fr;
}
.service-panel.local-mode .service-grid-v29{
  display:block;
}
.service-panel.local-mode .local-list-card{
  height:100%;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  align-content:start;
  padding-top:8px;
  background:transparent;
  box-shadow:none;
}
.service-panel.local-mode .local-vendor-card{
  min-height:72px;
  border:1px solid rgba(13,31,54,.07);
}
.premium-search .field,
.premium-search .location-finder-wrap{
  position:relative;
}
.premium-search select{
  cursor:pointer;
}
.loc-suggest button{
  transition:background .15s ease,transform .15s ease;
}
.loc-suggest button:hover{
  background:#f4f8ff;
  transform:translateX(2px);
}
@media(max-width:900px){
  .service-panel.local-mode .local-list-card{grid-template-columns:1fr;}
  .real-live-map{min-height:205px;}
}
@media(max-width:720px){
  .real-gps-shell{border-radius:24px 24px 14px 14px;}
  .real-live-map{min-height:210px;}
  .map-top-bar,.map-bottom-bar{padding:10px 12px;}
  .map-bottom-bar{align-items:flex-start;flex-direction:column;gap:2px;}
}

/* v3.21: local providers become a clean column with right-side detail preview */
.service-panel.local-mode .service-grid-v29{
  padding:10px 14px 14px;
  overflow:hidden;
}
.local-results-layout{
  height:100%;
  min-height:250px;
  display:grid;
  grid-template-columns: minmax(220px, .95fr) minmax(230px, 1.05fr);
  gap:12px;
  align-items:stretch;
}
.local-provider-column{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  overflow:auto;
  padding-right:2px;
  scrollbar-width:thin;
}
.service-panel.local-mode .local-provider-column .local-vendor-card{
  width:100%;
  min-height:62px;
  grid-template-columns:38px 1fr auto;
  padding:9px 10px;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 18px rgba(13,31,54,.055);
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.service-panel.local-mode .local-provider-column .local-vendor-card:hover,
.service-panel.local-mode .local-provider-column .local-vendor-card:focus,
.service-panel.local-mode .local-provider-column .local-vendor-card.selected{
  outline:none;
  background:#f8fbff;
  border-color:rgba(243,199,94,.75);
  box-shadow:0 10px 24px rgba(13,31,54,.09);
  transform:translateY(-1px);
}
.service-panel.local-mode .local-provider-column .local-vendor-card .avatar{
  width:34px;
  height:34px;
  font-size:18px;
  border-radius:13px;
  background:#f1f6ff;
}
.service-panel.local-mode .local-provider-column .local-vendor-card b{
  max-width:145px;
  font-size:12.5px;
}
.service-panel.local-mode .local-provider-column .local-vendor-card small{
  max-width:150px;
  font-size:10.5px;
}
.local-provider-detail{
  min-width:0;
  border:1px solid rgba(13,31,54,.08);
  border-radius:20px;
  background:linear-gradient(180deg,#ffffff,#fbfaf7);
  box-shadow:0 12px 30px rgba(13,31,54,.065);
  padding:14px;
  color:#13243b;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}
.local-detail-top{
  display:grid;
  grid-template-columns:46px 1fr auto;
  gap:10px;
  align-items:center;
}
.local-detail-top .avatar.big{
  width:44px;
  height:44px;
  border-radius:16px;
  background:#edf5ff;
  color:#1f5da8;
  display:grid;
  place-items:center;
  font-size:13px;
  font-weight:950;
}
.local-detail-top b{
  display:block;
  font-size:14px;
  line-height:1.12;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.local-detail-top small{
  display:block;
  margin-top:3px;
  color:#64738a;
  font-size:11px;
  font-weight:850;
}
.local-detail-top em{
  font-style:normal;
  font-size:10px;
  font-weight:950;
  color:#0a7d55;
  background:#dff5e9;
  padding:6px 9px;
  border-radius:999px;
}
.local-detail-top em.busy{color:#986500;background:#fff0cc;}
.local-provider-detail p{
  margin:0;
  color:#4b5f76;
  font-size:12px;
  line-height:1.4;
}
.local-detail-meta{
  display:grid;
  gap:5px;
  color:#66758a;
  font-size:11px;
  font-weight:850;
}
.local-detail-services{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.local-detail-services small{
  color:#0b5f4f;
  background:#e7f6ef;
  border-radius:999px;
  padding:5px 8px;
  font-weight:900;
  font-size:10px;
}
.local-detail-actions{
  margin-top:auto;
  display:flex;
  gap:8px;
}
.local-detail-actions .btn{
  padding:9px 10px;
  font-size:11px;
  border-radius:13px;
  flex:1;
  justify-content:center;
}
@media(max-width:900px){
  .local-results-layout{grid-template-columns:1fr;min-height:auto;}
  .local-provider-column{max-height:255px;overflow:auto;}
  .local-provider-detail{display:none;}
}
@media(max-width:720px){
  .service-panel.local-mode .service-grid-v29{padding:10px;}
  .service-panel.local-mode .local-provider-column .local-vendor-card b,
  .service-panel.local-mode .local-provider-column .local-vendor-card small{max-width:190px;}
}


/* v3.22: cleaner search copy, summary wording, and map-to-detail interaction */
.clean-service-select label::after{content:"";}
.map-top-bar b{font-size:12px;text-transform:none;color:#64738a;}
.map-bottom-bar span{color:#075f4d;font-size:15px;font-weight:950;}
.map-bottom-bar small{text-align:right;}
.service-panel.local-mode .panel-head span{color:#0d5c4b;font-weight:950;}
.service-panel.local-mode .local-provider-column .local-vendor-card{
  appearance:none;
  border:1px solid rgba(13,31,54,.07);
  text-align:left;
  font:inherit;
  color:inherit;
  cursor:pointer;
}
.service-panel.local-mode .local-provider-column .local-vendor-card:active{transform:translateY(0) scale(.995);}
.local-provider-detail.detail-pop{animation:detailPop .22s ease both;}
@keyframes detailPop{from{opacity:.72;transform:translateY(3px);}to{opacity:1;transform:none;}}
.nila-provider-pin{cursor:pointer;}
.nila-provider-pin span{transition:transform .16s ease, box-shadow .16s ease;}
.nila-provider-pin:hover span{transform:translateY(-2px) scale(1.05);box-shadow:0 14px 32px rgba(5,30,55,.25),0 0 0 8px rgba(243,199,94,.16);}
@media(max-width:720px){
  .map-bottom-bar small{text-align:left;}
}


/* v3.24: cleaner map pin selection and live postcode mapping */
.local-results-layout.single-map-pick{
  grid-template-columns:1fr;
}
.local-results-layout.single-map-pick .local-provider-column{
  max-height:none;
  overflow:visible;
}
.local-results-layout.single-map-pick .local-provider-detail{
  display:flex;
}
.map-pick-note{
  color:#0b5f4f;
  font-weight:950;
  font-size:12px;
  padding:0 2px 2px;
}
.show-all-providers{
  appearance:none;
  border:1px solid rgba(13,31,54,.08);
  background:#f6f9ff;
  color:#1e5da8;
  border-radius:14px;
  padding:10px 12px;
  font-weight:950;
  cursor:pointer;
}
.show-all-providers:hover{background:#eef5ff;}
.nila-provider-pin.active span,
.nila-provider-pin span:focus{
  transform:translateY(-2px) scale(1.08);
  box-shadow:0 16px 34px rgba(5,30,55,.28),0 0 0 10px rgba(243,199,94,.18);
}
@media(max-width:900px){
  .local-results-layout.single-map-pick .local-provider-detail{display:flex;}
}


/* v3.25: clean provider detail so the local finder does not feel like an epistle */
.service-panel.local-mode{
  padding-bottom:10px !important;
}
.local-results-layout{
  align-items:start;
}
.local-provider-column{
  max-height:250px;
  overflow:auto;
  padding-right:4px;
}
.local-provider-column::-webkit-scrollbar{width:5px;}
.local-provider-column::-webkit-scrollbar-thumb{background:rgba(31,97,174,.18);border-radius:999px;}
.local-provider-detail{
  min-height:0 !important;
  max-height:252px;
  overflow:hidden;
  padding:15px !important;
}
.local-detail-top.compact{
  grid-template-columns:42px 1fr !important;
  gap:10px !important;
  align-items:center !important;
}
.local-detail-top.compact .avatar.big{
  width:40px !important;
  height:40px !important;
  border-radius:14px !important;
  font-size:18px !important;
}
.local-detail-top.compact b{
  font-size:14px !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:210px;
}
.local-detail-top.compact small{
  font-size:11px !important;
  color:#66758a;
}
.local-status-pills{
  display:flex;
  align-items:center;
  gap:7px;
  margin:10px 0 8px;
  flex-wrap:wrap;
}
.local-status-pills em,
.local-status-pills small{
  font-style:normal;
  font-size:10px;
  font-weight:950;
  border-radius:999px;
  padding:6px 9px;
  line-height:1;
}
.local-status-pills em{color:#0a7d55;background:#dff5e9;}
.local-status-pills em.busy{color:#986500;background:#fff0cc;}
.local-status-pills small{color:#1f5da8;background:#edf5ff;}
.local-provider-detail p{
  margin:8px 0 10px !important;
  font-size:14px !important;
  line-height:1.35 !important;
  color:#40506a !important;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.local-detail-meta.compact{
  margin:0 0 9px !important;
  display:block !important;
  font-size:11px !important;
  color:#66758a !important;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.local-detail-services{
  margin-top:4px !important;
  gap:5px !important;
}
.local-detail-services small{
  padding:5px 8px !important;
  font-size:10px !important;
}
.local-detail-actions{
  margin-top:10px !important;
  gap:8px !important;
}
.local-detail-actions .btn{
  min-height:36px !important;
  padding:9px 11px !important;
  font-size:11px !important;
}
@media(max-width:720px){
  .local-provider-column{max-height:none;overflow:visible;padding-right:0;}
  .local-provider-detail{max-height:none;overflow:visible;}
  .local-detail-top.compact b{max-width:100%;}
}


/* v3.26: live postcode flow and vendor accept/decline cards */
.clean-service-select select{
  cursor:pointer;
  appearance:auto !important;
}
.clean-service-select:focus-within{
  box-shadow:0 0 0 4px rgba(31,97,174,.08);
}
.vendor-live-card .muted-copy{color:var(--muted);margin-top:-4px;}
.vendor-request-list{display:grid;gap:12px;margin-top:14px;}
.vendor-request-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid rgba(13,32,51,.08);
  border-radius:20px;
  background:#fff;
  box-shadow:0 12px 30px rgba(9,28,48,.06);
}
.vendor-request-card h3{margin:7px 0 4px;font-size:18px;}
.vendor-request-card p{margin:0 0 4px;color:#40536a;font-weight:800;}
.vendor-request-card small{color:var(--muted);font-weight:700;}
.vendor-request-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.vendor-request-card.accepted{border-color:rgba(42,181,117,.38);background:#f4fff8;}
.vendor-request-card.declined{border-color:rgba(159,111,0,.25);background:#fff9ec;opacity:.86;}
@media(max-width:720px){
  .vendor-request-card{grid-template-columns:1fr;}
  .vendor-request-actions{justify-content:flex-start;}
}

/* v3.28 search polish */
.service-combo{position:relative;}
.service-combo input{cursor:pointer;background:#fff;}
.service-toggle{position:absolute;right:12px;bottom:13px;border:0;background:transparent;font-size:20px;color:var(--muted);cursor:pointer;}
.compact-service-menu{position:absolute;z-index:60;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid rgba(15,23,42,.12);box-shadow:0 20px 50px rgba(15,23,42,.16);border-radius:20px;padding:8px;display:none;max-height:320px;overflow:auto;}
.compact-service-menu.open{display:block;}
.compact-service-menu button{width:100%;border:0;background:transparent;text-align:left;border-radius:14px;padding:10px 12px;display:flex;gap:10px;align-items:center;cursor:pointer;}
.compact-service-menu button:hover{background:#f4faf8;}
.compact-service-menu i{font-style:normal;font-size:20px;width:28px;text-align:center;}
.compact-service-menu b{display:block;color:#102033;font-size:14px;}
.compact-service-menu small{display:block;color:var(--muted);font-size:12px;line-height:1.2;}
.local-loading-shell{height:100%;min-height:260px;display:flex;flex-direction:column;}
.location-pulse{flex:1;display:grid;place-items:center;text-align:center;background:radial-gradient(circle at center, rgba(31,184,138,.18), transparent 45%), linear-gradient(135deg,#eef9ff,#f7fff8);}
.location-pulse span{width:82px;height:82px;border-radius:999px;border:2px solid rgba(31,184,138,.35);position:relative;display:block;animation:nilaPulse 1.35s ease-in-out infinite;}
.location-pulse span:after{content:'⌖';position:absolute;inset:12px;border-radius:999px;background:#0a74b9;color:white;display:grid;place-items:center;font-size:28px;box-shadow:0 16px 36px rgba(10,116,185,.28);}
.location-pulse b{display:block;margin-top:14px;color:#102033;}
.location-pulse small{display:block;color:var(--muted);margin-top:4px;}
@keyframes nilaPulse{0%{box-shadow:0 0 0 0 rgba(31,184,138,.35)}70%{box-shadow:0 0 0 24px rgba(31,184,138,0)}100%{box-shadow:0 0 0 0 rgba(31,184,138,0)}}
@media(max-width:720px){.compact-service-menu{position:fixed;left:14px;right:14px;top:auto;bottom:88px;max-height:58vh}.service-toggle{bottom:11px}}

/* v3.30 calm search flow: stop jumbled dropdowns and keep menus tidy */
.premium-search{position:relative;overflow:visible !important;z-index:20;}
.service-combo,.location-finder-wrap{position:relative;z-index:25;}
.service-combo:focus-within{z-index:80;}
.location-finder-wrap:focus-within{z-index:70;}
.compact-service-menu.open,.loc-suggest.open{display:block !important;}
.compact-service-menu{left:0;right:0;top:calc(100% + 8px);max-height:260px;overflow:auto;}
.loc-suggest{left:0;right:0;top:calc(100% + 8px);max-height:260px;overflow:auto;}
.compact-service-menu button,.loc-suggest button{min-height:48px;}
@media(max-width:720px){
  .premium-search{z-index:40;}
  .compact-service-menu,.loc-suggest{position:fixed !important;left:14px !important;right:14px !important;top:auto !important;bottom:88px !important;max-height:50vh !important;}
}

/* ── OSM live data label ─────────────────────────────────────────── */
.osm-note {
  font-size: 0.78rem;
  color: var(--muted, #888);
  font-style: italic;
  align-self: center;
}
.badge.Local {
  background: #e8f4fd;
  color: #2a7ab5;
  font-size: 0.72rem;
}

/* ── v3.44 stability fixes ─────────────────────────────────────────── */
/* No shape-shifting — panel height locked */
.service-panel{ transition:none !important; min-height:320px; }
.real-image-stage{ transition:none !important; }
.device-screen{ contain:layout; }
/* Lock the service grid height so swapping content never reshapes the panel */
#serviceGrid{ min-height:240px; }

/* Results layout — fixed height, list scrolls */
.local-results-layout{
  height:230px !important;
  min-height:230px !important;
  max-height:230px !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  overflow:hidden !important;
}
.local-provider-column{
  height:100% !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  display:flex !important;
  flex-direction:column !important;
  gap:5px !important;
  padding:2px 4px 2px 0 !important;
  scrollbar-width:thin !important;
}
.local-provider-detail{
  height:100% !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
}

/* Map pins — small and clean, no overlapping labels */
.nila-user-pin span{
  width:30px !important; height:30px !important; font-size:10px !important;
  background:#123d74 !important; color:#fff !important;
  border:2px solid #fff !important; border-radius:50% !important;
  display:grid !important; place-items:center !important;
  box-shadow:0 4px 12px rgba(5,30,55,.35) !important;
}
.nila-provider-pin span{
  width:28px !important; height:28px !important; font-size:15px !important;
  background:#fff !important; border:2px solid #f3c75e !important;
  border-radius:50% 50% 50% 0 !important;
  display:grid !important; place-items:center !important;
  box-shadow:0 4px 10px rgba(5,30,55,.25) !important;
}
.nila-provider-pin small{ display:none !important; }

/* ── City picker panel ────────────────────────────────────────────── */
.city-picker-panel{
  position:absolute;
  left:0;right:0;top:calc(100% + 6px);
  background:#fff;
  border:1px solid rgba(13,32,51,.1);
  border-radius:18px;
  box-shadow:0 22px 46px rgba(3,22,48,.18);
  z-index:50;
  display:none;
  overflow:hidden;
}
.city-picker-panel.open{ display:block; }
.city-picker-search{
  display:flex;
  align-items:center;
  padding:10px 14px;
  border-bottom:1px solid rgba(13,32,51,.07);
  gap:8px;
}
.city-picker-search input{
  flex:1;border:0;outline:none;font-size:13px;
  background:transparent;color:var(--ink);
}
.city-picker-search span{ font-size:15px;color:#9aacbe; }
.city-picker-list{
  max-height:220px;
  overflow-y:auto;
  padding:6px;
  scrollbar-width:thin;
}
.city-picker-list button{
  width:100%;border:0;background:transparent;
  text-align:left;border-radius:12px;
  padding:9px 12px;
  display:grid;grid-template-columns:28px 1fr;
  gap:8px;align-items:center;
  cursor:pointer;color:var(--ink);font-size:13px;
}
.city-picker-list button:hover,.city-picker-list button.active{
  background:#f7f3ea;
}
.city-picker-list button i{ font-style:normal;font-size:15px; }
.city-picker-list button small{
  display:block;color:#62758a;font-size:11px;margin-top:1px;
}
@keyframes nilaSpin{to{transform:rotate(360deg)}}

/* ── Clean location dropdown ─────────────────────────────────────── */
.loc-wrap{ position:relative; }
.loc-dropdown{
  display:none;
  position:absolute;
  left:0; right:0; top:calc(100% + 6px);
  background:#fff;
  border:1px solid rgba(13,32,51,.12);
  border-radius:18px;
  box-shadow:0 24px 50px rgba(3,22,48,.22);
  z-index:200;
  overflow:visible;
  min-width:300px;
}
.loc-dropdown.open{ display:block; }
.loc-gps-btn{
  width:100%; border:0;
  background:linear-gradient(135deg,#1a3f74,#1f61ae);
  color:#fff;
  border-radius:14px 14px 0 0;
  padding:14px 18px;
  display:grid; grid-template-columns:32px 1fr;
  gap:8px; align-items:center;
  cursor:pointer; text-align:left;
}
.loc-gps-btn span{ font-size:20px; }
.loc-gps-btn b{ display:block; font-size:14px; font-weight:700; color:#fff; }
.loc-gps-btn small{
  display:block; font-size:11px;
  color:rgba(255,255,255,.75);
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.loc-gps-btn:hover{ background:linear-gradient(135deg,#153060,#1a4f92); }
.loc-search-row{
  padding:10px 14px;
  border-bottom:1px solid rgba(13,32,51,.07);
  display:flex; align-items:center; gap:8px;
}
.loc-search-row:before{ content:'🔍'; font-size:13px; }
.loc-search-row input{
  flex:1; border:0; outline:none;
  font-size:13px; background:transparent; color:var(--ink);
}
.loc-list{
  max-height:260px; overflow-y:auto;
  padding:6px;
  scrollbar-width:thin;
  border-radius:0 0 18px 18px;
}
.loc-list button{
  width:100%; border:0; background:transparent;
  text-align:left; border-radius:12px;
  padding:10px 12px; cursor:pointer; color:var(--ink);
  display:grid; grid-template-columns:26px 1fr; gap:8px;
  align-items:center;
}
.loc-list button:hover{ background:#f7f3ea; }
.loc-list button i{ font-style:normal; font-size:15px; }
.loc-list button b{ display:block; font-size:13px; }
.loc-list button small{ display:block; color:#667; font-size:11px; margin-top:1px; }
.loc-note{ font-size:12px; color:#c04; padding:4px 2px; }

/* v3.57 mobile and location picker cleanup — overflow scoped to avoid hero bleed */
.hero-copy{overflow:visible !important;}
.premium-search{overflow:visible !important;}
.loc-dropdown.open{
  display:block !important;
  overflow:hidden !important;
  z-index:9999 !important;
  box-shadow:0 26px 70px rgba(3,22,48,.30) !important;
}
.loc-dropdown .loc-list{
  max-height:calc(100% - 118px) !important;
  overflow-y:auto !important;
}
.loc-dropdown .loc-search-row input{font-size:16px !important;}
.top-local-map .leaflet-container{font-family:inherit;}
.real-image-stage.map-active{height:300px !important;}
.local-results-layout{height:250px !important;min-height:250px !important;max-height:250px !important;}

@media(max-width:720px){
  .hero-v29{padding:18px 0 28px !important;overflow:visible !important;}
  .hero-shell{display:flex !important;flex-direction:column !important;gap:18px !important;align-items:stretch !important;}
  .premium-search{margin-bottom:0 !important;}
  .hero-copy > .product-device{margin-top:14px !important;margin-bottom:14px !important;}
  .compact-trust{}
  .product-device{width:100% !important;max-width:100% !important;}
  .device-screen{padding:8px !important;border-radius:24px !important;}
  .real-image-stage{height:220px !important;border-radius:20px 20px 14px 14px !important;}
  .real-image-stage.map-active{height:320px !important;}
  .top-local-map{border-radius:20px 20px 14px 14px !important;}
  .gps-map-shell{grid-template-rows:36px 1fr 42px !important;}
  .map-top-bar,.map-bottom-bar{padding:8px 10px !important;}
  .service-panel{padding:12px !important;}
  .service-panel.local-mode{min-height:auto !important;}
  .local-results-layout{height:auto !important;min-height:0 !important;max-height:none !important;display:block !important;overflow:visible !important;}
  .local-provider-column{max-height:260px !important;height:auto !important;overflow-y:auto !important;}
  .local-provider-detail{display:flex !important;max-height:none !important;margin-top:10px !important;}
  .loc-dropdown.open{
    left:12px !important;
    right:12px !important;
    width:auto !important;
    bottom:14px !important;
    top:auto !important;
    max-height:66vh !important;
    border-radius:20px !important;
  }
  .loc-gps-btn{border-radius:18px 18px 0 0 !important;}
  .loc-list{max-height:38vh !important;}
  .leaflet-control-zoom{transform:scale(.88);transform-origin:top left;}
}

/* v3.58: calm controlled location dropdown, no full-page curtain */
.location-finder-wrap,
.loc-wrap{
  position:relative !important;
  overflow:visible !important;
}
.loc-dropdown{
  position:absolute !important;
  top:calc(100% + 10px) !important;
  left:0 !important;
  right:auto !important;
  width:min(360px, calc(100vw - 32px)) !important;
  min-width:0 !important;
  max-height:390px !important;
  overflow:hidden !important;
  border-radius:18px !important;
  z-index:1200 !important;
}
.location-finder-wrap .loc-dropdown{
  left:0 !important;
}
.loc-gps-btn{
  padding:12px 14px !important;
  min-height:62px !important;
}
.loc-search-row{
  padding:9px 12px !important;
}
.loc-search-row input{
  font-size:14px !important;
}
.loc-dropdown .loc-list,
.loc-list{
  max-height:240px !important;
  overflow-y:auto !important;
  overscroll-behavior:contain !important;
}
.loc-list button{
  padding:9px 10px !important;
}
.loc-list button b{font-size:13px !important;}
.loc-list button small{font-size:10.5px !important;}

@media(max-width:720px){
  .loc-dropdown.open{
    position:absolute !important;
    top:calc(100% + 10px) !important;
    left:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-height:330px !important;
    border-radius:18px !important;
  }
  .loc-dropdown .loc-list,
  .loc-list{
    max-height:190px !important;
  }
  .loc-gps-btn{
    min-height:58px !important;
  }
}

/* v3.59: mobile GPS locator polish + tighter desktop result use */
.service-panel.local-mode{
  min-height:0 !important;
  padding-top:12px !important;
}
.service-panel.local-mode #serviceGrid{
  min-height:0 !important;
  height:auto !important;
}
.service-panel.local-mode .panel-head{
  margin-bottom:8px !important;
}
.local-results-layout{
  height:270px !important;
  min-height:270px !important;
  max-height:270px !important;
  align-items:start !important;
  align-content:start !important;
}
.local-provider-column{
  justify-content:flex-start !important;
  align-content:flex-start !important;
  padding-top:0 !important;
}
.local-provider-detail{
  max-height:270px !important;
}
.real-image-stage.map-active{
  height:315px !important;
}
.gps-map-shell{
  grid-template-rows:38px 1fr 38px !important;
}
.map-top-bar,
.map-bottom-bar{
  padding:9px 14px !important;
}

@media(max-width:720px){
  html{-webkit-text-size-adjust:100%;}
  input,select,textarea,button{font-size:16px;}
  .hero-v29{
    padding-top:14px !important;
    padding-bottom:22px !important;
  }
  .premium-search{
    position:relative !important;
    z-index:90 !important;
  }
  .premium-search .field input,
  .loc-search-row input{
    font-size:16px !important;
  }
  .product-device{
    margin-top:12px !important;
  }
  .real-image-stage.map-active{
    height:390px !important;
    min-height:390px !important;
  }
  .gps-map-shell{
    grid-template-rows:40px 1fr 46px !important;
  }
  .real-live-map{
    min-height:300px !important;
  }
  .map-top-bar,
  .map-bottom-bar{
    padding:9px 10px !important;
    gap:6px !important;
  }
  .map-bottom-bar{
    flex-direction:row !important;
    align-items:center !important;
  }
  .map-bottom-bar small{
    max-width:46%;
    text-align:right !important;
    font-size:11px !important;
    line-height:1.15 !important;
  }
  .service-panel.local-mode{
    padding:10px !important;
    min-height:0 !important;
  }
  .service-panel.local-mode .panel-head{
    margin-bottom:8px !important;
  }
  .local-results-layout{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    display:block !important;
    overflow:visible !important;
  }
  .local-provider-column{
    max-height:230px !important;
    height:auto !important;
    overflow-y:auto !important;
    gap:7px !important;
  }
  .local-provider-detail{
    margin-top:9px !important;
    max-height:none !important;
    height:auto !important;
  }
  .loc-dropdown.open{
    width:min(100%, 360px) !important;
    max-height:300px !important;
  }
  .loc-dropdown .loc-list,
  .loc-list{
    max-height:168px !important;
  }
}

@media(max-width:420px){
  .real-image-stage.map-active{
    height:365px !important;
    min-height:365px !important;
  }
  .real-live-map{min-height:280px !important;}
  .map-top-bar span,
  .map-top-bar b,
  .map-bottom-bar b,
  .map-bottom-bar span{font-size:12px !important;}
}


/* v3.60 mobile cleanup: provider images and compact plan selector */
.mobile-provider-showcase{display:none;background:#fbfaf6;padding:22px 0 8px;}
.mobile-mini-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:950;color:var(--ink)}
.mobile-mini-head a{color:var(--green);font-weight:950;font-size:13px}
.mobile-provider-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.mobile-provider-tile{background:#fff;border:1px solid rgba(13,32,51,.08);border-radius:18px;overflow:hidden;box-shadow:0 12px 28px rgba(14,58,102,.08);min-width:0;}
.mobile-provider-tile img{display:block;width:100%;height:86px;object-fit:cover;background:#eef5ff;}
.mobile-provider-tile .mp-body{padding:9px;}
.mobile-provider-tile b{display:block;font-size:12px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-provider-tile small{display:block;font-size:10px;color:#637184;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mobile-provider-tile span{display:inline-flex;margin-top:6px;font-size:9px;font-weight:950;border-radius:999px;padding:4px 7px;background:#dff5e9;color:#087249;}
.plan-toggle-strip{display:none;gap:8px;overflow-x:auto;padding:2px 0 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
.plan-chip{appearance:none;border:1px solid rgba(13,32,51,.12);background:#fff;border-radius:999px;padding:10px 13px;font-weight:950;color:var(--ink);white-space:nowrap;box-shadow:0 8px 18px rgba(14,58,102,.07);scroll-snap-align:start;}
.plan-chip.active{background:var(--blue);border-color:var(--blue);color:#fff;}
.plan-card-mobile{position:relative;}
.plan-card-mobile .mobile-plan-summary{display:none;align-items:center;justify-content:space-between;gap:10px;}
.plan-card-mobile .mobile-plan-details{display:block;}
.plan-card-mobile .plan-caret{font-weight:950;color:var(--blue)}
@media(max-width:720px){
  .mobile-provider-showcase{display:block;}
  .plan-section{padding-top:28px;}
  .plan-head{display:block;margin-bottom:14px;}
  .plan-head h2{font-size:34px;line-height:1.02;}
  .plan-head p{font-size:14px;line-height:1.45;margin-bottom:14px;}
  .plan-head .btn{display:none;}
  .plan-toggle-strip{display:flex;}
  #planCards.grid4{display:block;}
  #planCards .card{display:none;margin-bottom:10px;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(14,58,102,.08);}
  #planCards .card.active{display:block;}
  #planCards .card:hover{transform:none;}
  .plan-card-mobile .mobile-plan-summary{display:flex;}
  .plan-card-mobile .mobile-plan-summary strong{font-size:16px;}
  .plan-card-mobile .mobile-plan-summary small{display:block;color:var(--muted);font-weight:800;margin-top:2px;}
  .plan-card-mobile .mobile-plan-details{display:none;margin-top:12px;padding-top:12px;border-top:1px solid rgba(13,32,51,.08);}
  .plan-card-mobile.open .mobile-plan-details{display:block;}
  .plan-card-mobile.open .plan-caret{transform:rotate(180deg);display:inline-block;}
  .plan-card-mobile h3{font-size:20px;margin:4px 0 6px;}
  .plan-card-mobile p{font-size:14px;margin:0 0 10px;}
  .plan-card-mobile .actions2 .btn{width:100%;}
  .alt .head h2{font-size:34px;}
  #featuredProviders.grid3{grid-template-columns:1fr;}
  #featuredProviders .provider-card:nth-child(n+4){display:none;}
}
@media(max-width:390px){.mobile-provider-row{gap:8px}.mobile-provider-tile img{height:76px}.mobile-provider-tile .mp-body{padding:8px}.plan-chip{padding:9px 11px;font-size:12px}}


/* v3.61: mobile provider cards now use real profile/logo treatment */
.mobile-provider-tile{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px;
  min-height:96px;
}
.mobile-provider-tile > img{display:none;}
.mp-avatar-wrap{
  position:relative;
  width:58px;
  height:58px;
  flex:0 0 58px;
}
.mobile-provider-tile .mp-avatar{
  display:block;
  width:58px;
  height:58px;
  border-radius:999px;
  object-fit:cover;
  background:#eef5ff;
  border:3px solid #fff;
  box-shadow:0 8px 18px rgba(14,58,102,.14);
}
.mp-logo{
  position:absolute;
  right:-3px;
  bottom:-3px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#0b6b5f;
  color:#fff;
  border:2px solid #fff;
  font-size:8px;
  font-weight:950;
  letter-spacing:.02em;
}
.mobile-provider-tile .mp-body{padding:0;min-width:0;}
.mobile-provider-tile b{font-size:12.5px;}
.mobile-provider-tile small{font-size:10.5px;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.mobile-provider-tile span:not(.mp-logo){font-size:9px;}
@media(max-width:390px){
  .mobile-provider-tile{padding:9px;gap:8px;min-height:88px;}
  .mp-avatar-wrap,.mobile-provider-tile .mp-avatar{width:52px;height:52px;flex-basis:52px;}
}


/* v3.62: mobile search tab dark treatment + service-only Find Help uses live location */
@media(max-width:720px){
  .premium-search{
    background:linear-gradient(145deg,#102033,#163b68) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 24px 54px rgba(3,18,38,.34) !important;
    padding:12px !important;
  }
  .premium-search .field{
    background:rgba(255,255,255,.96) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:none !important;
  }
  .premium-search label{
    color:#13263b !important;
  }
  .premium-search .btn.gold{
    margin-top:2px !important;
    box-shadow:0 16px 30px rgba(0,0,0,.18) !important;
  }
  .loc-note{
    color:#ffe3a0 !important;
    padding:5px 2px 0 !important;
  }
  .loc-dropdown.open{
    z-index:99999 !important;
  }
}

/* v3.64: mobile home flow correction
   Mobile order: blue hero copy -> NILA device -> search -> trust/rest.
   Also removes bottom sticky nav overlap and improves mobile device sizing. */
.mobilebar{display:none !important;}

@media(max-width:720px){
  body{overflow-x:hidden !important;background:#fbfaf6;}
  .nav{position:relative !important;z-index:2000 !important;}
  .navin{height:78px !important;padding:0 18px !important;}
  .logo img{height:58px !important;}
  .menu{display:block !important;border:0;background:#edf4ff;color:#17457a;border-radius:18px;padding:14px 16px;font-size:17px;font-weight:950;}

  .hero-v29{padding:18px 0 26px !important;min-height:auto !important;background:linear-gradient(128deg,#24539a 0%,#12386f 54%,#076452 100%) !important;}
  .hero-shell{display:flex !important;flex-direction:column !important;gap:18px !important;width:100% !important;padding-inline:16px !important;}
  .hero-kicker{align-self:flex-start !important;margin-top:6px !important;margin-bottom:0 !important;font-size:12px !important;}
  .hero-copy h1{margin:0 !important;font-size:clamp(44px,13vw,70px) !important;line-height:.92 !important;letter-spacing:-.055em !important;max-width:100% !important;}
  .hero-copy p{margin:0 0 2px !important;font-size:16px !important;line-height:1.42 !important;max-width:98% !important;color:rgba(255,255,255,.9) !important;}

  .product-device{width:100% !important;max-width:100% !important;margin:2px auto 2px !important;border-radius:30px !important;box-shadow:0 24px 54px rgba(3,18,38,.28) !important;}
  .device-screen{padding:9px !important;border-radius:27px !important;background:rgba(255,255,255,.12) !important;}
  .real-image-stage{height:255px !important;border-radius:22px 22px 14px 14px !important;overflow:hidden !important;}
  .real-image-stage img{width:100% !important;height:100% !important;object-fit:cover !important;object-position:center 52% !important;transform:none !important;filter:saturate(1.02) contrast(1.02) !important;}
  .service-motion-rail{bottom:16px !important;}
  .rail-service{width:64px !important;height:64px !important;min-width:64px !important;font-size:26px !important;box-shadow:0 14px 26px rgba(6,34,64,.18) !important;}
  .service-panel{padding:13px !important;border-radius:0 0 22px 22px !important;max-height:none !important;}
  .service-grid-v29{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
  .service-card{min-height:86px !important;padding:14px !important;border-radius:20px !important;}
  .service-card .service-icon{width:54px !important;height:54px !important;font-size:28px !important;}
  .available-strip{margin-top:11px !important;}
  .mini-providers{grid-template-columns:1fr !important;gap:8px !important;}
  .mini-providers article:nth-child(n+3){display:none !important;}

  .premium-search{margin:0 !important;width:100% !important;display:grid !important;grid-template-columns:1fr !important;gap:11px !important;border-radius:30px !important;padding:13px !important;background:linear-gradient(145deg,#102033,#163b68) !important;border:1px solid rgba(255,255,255,.14) !important;box-shadow:0 22px 50px rgba(3,18,38,.30) !important;overflow:visible !important;position:relative !important;z-index:1500 !important;}
  .premium-search .field,.premium-search .loc-wrap{width:100% !important;min-width:0 !important;}
  .premium-search .field{min-height:100px !important;border-radius:22px !important;background:#fbfaf6 !important;border:1px solid rgba(13,32,51,.08) !important;}
  .premium-search label{font-size:12px !important;letter-spacing:.16em !important;color:#25364b !important;}
  .premium-search input{font-size:22px !important;line-height:1.15 !important;color:#132033 !important;}
  .premium-search .btn.gold{width:100% !important;min-height:74px !important;border-radius:23px !important;margin:0 !important;font-size:22px !important;}
  .service-toggle{width:46px !important;height:46px !important;right:12px !important;bottom:18px !important;}
  .loc-pin{right:18px !important;bottom:25px !important;font-size:22px !important;}
  .loc-dropdown.open{position:absolute !important;top:calc(100% + 10px) !important;left:0 !important;right:0 !important;width:100% !important;max-height:330px !important;border-radius:20px !important;z-index:5000 !important;box-shadow:0 22px 60px rgba(3,18,38,.32) !important;}
  .loc-dropdown .loc-list,.loc-list{max-height:190px !important;overflow-y:auto !important;}
  .compact-service-menu.open,.service-suggest.open{position:absolute !important;top:calc(100% + 10px) !important;left:0 !important;right:0 !important;width:100% !important;max-height:330px !important;overflow-y:auto !important;border-radius:20px !important;z-index:5200 !important;box-shadow:0 22px 60px rgba(3,18,38,.32) !important;}

  .compact-trust{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin-top:0 !important;}
  .trust-item{background:rgba(255,255,255,.08) !important;border:1px solid rgba(255,255,255,.12) !important;border-radius:18px !important;padding:10px 12px !important;}

  .mobile-provider-showcase{padding-top:18px !important;}
  .section{padding:34px 0 !important;}

  .real-image-stage.map-active{height:430px !important;min-height:430px !important;}
  .real-live-map{min-height:335px !important;}
  .local-provider-column{max-height:250px !important;}
  .local-provider-card{min-height:74px !important;}
}

@media(max-width:390px){
  .hero-shell{padding-inline:14px !important;}
  .hero-copy h1{font-size:48px !important;}
  .hero-copy p{font-size:15px !important;}
  .real-image-stage{height:235px !important;}
  .rail-service{width:58px !important;height:58px !important;min-width:58px !important;font-size:24px !important;}
  .premium-search .field{min-height:92px !important;}
  .premium-search input{font-size:20px !important;}
  .premium-search .btn.gold{min-height:68px !important;font-size:21px !important;}
  .real-image-stage.map-active{height:395px !important;min-height:395px !important;}
  .real-live-map{min-height:305px !important;}
}


/* v3.65: mobile page order and provider-card polish
   Flow: hero text -> device -> search -> start/free plans -> Good providers.
   No separate provider strip before Start free. Good providers gets image/logo style cards on mobile. */
@media(max-width:720px){
  .mobile-provider-showcase{display:none !important;}
  .alt{background:#fbfaf6 !important;padding-top:18px !important;}
  .alt .head{margin-bottom:14px !important;}
  .alt .head h2{font-size:32px !important;line-height:1.04 !important;letter-spacing:-.04em !important;}
  .alt .head p{font-size:14px !important;line-height:1.45 !important;}
  #featuredProviders.grid3{display:grid !important;grid-template-columns:1fr !important;gap:12px !important;}
  #featuredProviders .provider-card{display:none !important;}
  #featuredProviders .provider-card:nth-child(-n+3){
    display:grid !important;
    grid-template-columns:72px 1fr !important;
    gap:13px !important;
    align-items:center !important;
    padding:14px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(13,32,51,.08) !important;
    box-shadow:0 14px 34px rgba(14,58,102,.08) !important;
  }
  #featuredProviders .provider-card .avatar{
    width:66px !important;
    height:66px !important;
    border-radius:22px !important;
    display:grid !important;
    place-items:center !important;
    font-size:18px !important;
    font-weight:950 !important;
    color:#0b4fb3 !important;
    background:linear-gradient(145deg,#eaf3ff,#fff7e2) !important;
    border:3px solid #fff !important;
    box-shadow:0 12px 24px rgba(14,58,102,.12) !important;
    position:relative !important;
    overflow:hidden !important;
  }
  #featuredProviders .provider-card .avatar::after{
    content:"";
    position:absolute;
    right:-8px;
    bottom:-8px;
    width:34px;
    height:34px;
    border-radius:999px;
    background:rgba(10,107,95,.12);
  }
  #featuredProviders .provider-card .meta{gap:5px !important;margin:0 0 5px !important;display:flex !important;flex-wrap:wrap !important;}
  #featuredProviders .provider-card .meta .badge:nth-child(n+3){display:none !important;}
  #featuredProviders .provider-card h3{font-size:17px !important;line-height:1.12 !important;margin:3px 0 4px !important;}
  #featuredProviders .provider-card p{font-size:12px !important;line-height:1.35 !important;margin:0 0 7px !important;display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
  #featuredProviders .provider-card p:nth-of-type(1){font-size:11px !important;color:#66758b !important;-webkit-line-clamp:1 !important;}
  #featuredProviders .provider-card .actions2{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;margin-top:8px !important;}
  #featuredProviders .provider-card .btn{padding:10px 8px !important;border-radius:14px !important;font-size:12px !important;min-height:auto !important;}
  .plan-section{padding-bottom:20px !important;}
}

/* v3.66: final mobile home flow tidy
   Mobile flow: copy -> larger device -> search -> providers near you -> collapsed plans.
   Removes mobile clutter under category grid and keeps the visual screen large enough. */
@media(max-width:720px){
  main{display:flex !important;flex-direction:column !important;}
  .hero{order:1 !important;}
  .alt{order:2 !important;}
  .plan-section{order:3 !important;}

  .hero-v29{padding:18px 0 24px !important;}
  .hero-shell{gap:16px !important;padding-inline:14px !important;}
  .hero-copy p{margin-top:0 !important;margin-bottom:4px !important;}

  .product-device{
    order:4 !important;
    width:100% !important;
    max-width:100% !important;
    margin:4px auto 0 !important;
    border-radius:34px !important;
    border-width:1px !important;
  }
  .device-screen{padding:10px !important;border-radius:31px !important;}
  .real-image-stage{
    height:330px !important;
    min-height:330px !important;
    border-radius:25px 25px 16px 16px !important;
    overflow:hidden !important;
  }
  .real-image-stage img{
    object-fit:cover !important;
    object-position:center 56% !important;
    transform:none !important;
  }
  .service-motion-rail{
    bottom:28px !important;
    left:8px !important;
    right:8px !important;
    height:76px !important;
    overflow:visible !important;
  }
  .rail-track{align-items:center !important;gap:16px !important;}
  .rail-service{
    width:66px !important;
    min-width:66px !important;
    height:66px !important;
    font-size:27px !important;
    transform:translateZ(0) !important;
  }

  .service-panel{padding:13px !important;overflow:visible !important;}
  .panel-head{margin-bottom:10px !important;}
  .panel-head strong{font-size:19px !important;}
  #panelHint{font-size:14px !important;}
  .service-grid-v29{gap:9px !important;}
  .service-card{
    min-height:84px !important;
    padding:13px 14px !important;
    border-radius:20px !important;
    box-shadow:0 8px 20px rgba(13,32,51,.055) !important;
  }
  .service-card .icon,.service-card .service-icon,.service-card .service-emoji{
    width:54px !important;height:54px !important;font-size:28px !important;
  }
  .service-card.active,.service-card.rail-hover{
    background:linear-gradient(145deg,#fff6df,#ffffff) !important;
    border-color:rgba(241,195,101,.78) !important;
    box-shadow:0 14px 30px rgba(241,195,101,.18) !important;
  }
  .category-detail,.category-detail.open,.available-strip{display:none !important;}

  .premium-search{
    order:5 !important;
    margin-top:0 !important;
    padding:13px !important;
    border-radius:30px !important;
  }
  .premium-search .field{min-height:96px !important;}
  .premium-search .btn.gold{min-height:72px !important;}

  .compact-trust{
    order:6 !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:8px !important;
    margin-top:0 !important;
  }
  .trust-item{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:5px !important;
    padding:9px !important;
    border-radius:16px !important;
    font-size:11px !important;
    min-width:0 !important;
  }
  .trust-item small{display:none !important;}
  .trust-icon{width:28px !important;height:28px !important;font-size:13px !important;}

  .alt{padding-top:28px !important;}
  .alt .head h2::before{content:"Service providers near you";display:block;font-family:inherit;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--green);margin-bottom:8px;}
  .alt .head h2{font-size:30px !important;}
  .plan-section{padding-top:28px !important;}
}

@media(max-width:390px){
  .real-image-stage{height:305px !important;min-height:305px !important;}
  .rail-service{width:60px !important;min-width:60px !important;height:60px !important;font-size:25px !important;}
  .service-motion-rail{bottom:24px !important;height:70px !important;}
  .service-card{min-height:80px !important;}
  .compact-trust{gap:6px !important;}
  .trust-item{padding:8px !important;font-size:10.5px !important;}
}

/* v3.67: fix mobile icon clipping, even image shade, and desktop card overlap */
@media (min-width:721px){
  .service-panel{overflow:visible !important;}
  .service-grid-v29{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:9px !important;}
  .service-grid-v29 .service-card{min-height:70px !important;padding:9px 30px 9px 12px !important;border-radius:17px !important;}
  .service-grid-v29 .service-card .icon{width:38px !important;height:38px !important;font-size:21px !important;}
  .service-grid-v29 .service-card b{font-size:14.5px !important;line-height:1.08 !important;}
  .service-grid-v29 .service-card small{font-size:11.2px !important;line-height:1.18 !important;max-width:190px !important;}
  .available-strip{display:none !important;}
}

@media (max-width:720px){
  .hero-v29{padding-top:12px !important;}
  .hero-shell{gap:14px !important;}
  .product-device{margin-top:6px !important;}
  .device-screen{background:rgba(255,255,255,.10) !important;overflow:visible !important;}
  .real-image-stage{height:390px !important;min-height:390px !important;overflow:hidden !important;}
  .real-image-stage img{object-position:center 58% !important;filter:saturate(1.04) contrast(1.02) brightness(.99) !important;}
  .real-image-stage::after{background:linear-gradient(to bottom,rgba(6,26,52,.02),rgba(6,26,52,.07)) !important;}
  .image-wash{background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02) 60%,rgba(6,26,52,.04)) !important;}
  .service-motion-rail{bottom:52px !important;height:82px !important;left:10px !important;right:10px !important;overflow:visible !important;}
  .rail-track{gap:18px !important;padding:8px 18px !important;align-items:center !important;}
  .rail-service{width:66px !important;min-width:66px !important;height:66px !important;line-height:1 !important;}
  .rail-service span{font-size:27px !important;line-height:1 !important;display:block !important;}
  .service-panel{margin-top:0 !important;border-radius:0 0 26px 26px !important;}
  .compact-trust{display:none !important;}
  .premium-search{margin-top:4px !important;}
}

@media (max-width:390px){
  .real-image-stage{height:360px !important;min-height:360px !important;}
  .service-motion-rail{bottom:46px !important;height:78px !important;}
  .rail-service{width:62px !important;min-width:62px !important;height:62px !important;}
  .rail-service span{font-size:25px !important;}
}


/* v3.68: desktop centering + mobile visual flow cleanup */
@media (min-width:721px){
  .service-panel{
    min-height:320px !important;
    display:grid !important;
    grid-template-rows:auto 1fr !important;
    align-content:center !important;
    padding:18px 18px 20px !important;
  }
  .service-panel .panel-head{
    margin-bottom:12px !important;
  }
  .service-grid-v29{
    align-self:center !important;
    margin:auto 0 !important;
    transform:translateY(-4px) !important;
  }
  #serviceGrid{min-height:0 !important;}
  .service-grid-v29 .service-card:nth-child(7){grid-column:1 / span 1 !important;}
  .service-card.active[data-category="Cleaning"], .service-card.rail-hover[data-category="Cleaning"]{background:linear-gradient(145deg,#fff2fa,#ffffff) !important;border-color:rgba(245,93,180,.34) !important;}
  .service-card.active[data-category="Electrical"], .service-card.rail-hover[data-category="Electrical"]{background:linear-gradient(145deg,#f2f7ff,#ffffff) !important;border-color:rgba(86,125,219,.32) !important;}
  .service-card.active[data-category="Plumbing"], .service-card.rail-hover[data-category="Plumbing"]{background:linear-gradient(145deg,#edf9ff,#ffffff) !important;border-color:rgba(33,154,201,.28) !important;}
  .service-card.active[data-category="Moving"], .service-card.rail-hover[data-category="Moving"]{background:linear-gradient(145deg,#fff5e7,#ffffff) !important;border-color:rgba(217,147,48,.32) !important;}
  .service-card.active[data-category="Property Support"], .service-card.rail-hover[data-category="Property Support"]{background:linear-gradient(145deg,#effaf5,#ffffff) !important;border-color:rgba(31,151,101,.32) !important;}
  .service-card.active[data-category="Shortlet Support"], .service-card.rail-hover[data-category="Shortlet Support"]{background:linear-gradient(145deg,#f3f0ff,#ffffff) !important;border-color:rgba(104,86,200,.32) !important;}
  .service-card.active[data-category="Rentals"], .service-card.rail-hover[data-category="Rentals"]{background:linear-gradient(145deg,#fff8e4,#ffffff) !important;border-color:rgba(226,174,54,.34) !important;}
  .service-card.active[data-category="Beauty"], .service-card.rail-hover[data-category="Beauty"]{background:linear-gradient(145deg,#fff1f4,#ffffff) !important;border-color:rgba(225,83,116,.32) !important;}
}

@media (max-width:720px){
  .hero-v29{padding-top:12px !important;}
  .hero-copy p{
    display:block !important;
    margin:2px 0 8px !important;
    padding:0 2px !important;
    font-size:15.5px !important;
    line-height:1.42 !important;
    color:rgba(255,255,255,.92) !important;
  }
  .product-device{margin-top:6px !important;}
  .device-screen{padding:9px !important;border-radius:30px !important;}
  .real-image-stage{
    height:410px !important;
    min-height:410px !important;
    border-radius:25px 25px 16px 16px !important;
    background:#163b68 !important;
  }
  .real-image-stage img{
    object-fit:cover !important;
    object-position:center 55% !important;
    filter:saturate(1.05) contrast(1.02) brightness(1) !important;
  }
  .image-wash,
  .real-image-stage::after{
    background:linear-gradient(180deg,rgba(6,26,52,.02),rgba(6,26,52,.03) 72%,rgba(6,26,52,.05)) !important;
  }
  .service-motion-rail{
    bottom:24px !important;
    left:8px !important;
    right:8px !important;
    height:86px !important;
    overflow:visible !important;
    z-index:8 !important;
  }
  .rail-track{padding:8px 18px !important;gap:18px !important;align-items:center !important;}
  .rail-service{
    width:68px !important;
    min-width:68px !important;
    height:68px !important;
    font-size:28px !important;
  }
  .rail-service span{font-size:28px !important;line-height:1 !important;}
  .service-panel{padding:13px !important;border-radius:0 0 26px 26px !important;background:#ffffff !important;}
  .panel-head strong{font-size:19px !important;}
  .panel-head strong::before{content:"Choose area you need help with";font-size:0;}
  .service-grid-v29{gap:10px !important;}
  .service-card.active[data-category="Cleaning"], .service-card.rail-hover[data-category="Cleaning"]{background:linear-gradient(145deg,#fff2fa,#ffffff) !important;border-color:rgba(245,93,180,.34) !important;}
  .service-card.active[data-category="Electrical"], .service-card.rail-hover[data-category="Electrical"]{background:linear-gradient(145deg,#f2f7ff,#ffffff) !important;border-color:rgba(86,125,219,.32) !important;}
  .service-card.active[data-category="Plumbing"], .service-card.rail-hover[data-category="Plumbing"]{background:linear-gradient(145deg,#edf9ff,#ffffff) !important;border-color:rgba(33,154,201,.28) !important;}
  .service-card.active[data-category="Moving"], .service-card.rail-hover[data-category="Moving"]{background:linear-gradient(145deg,#fff5e7,#ffffff) !important;border-color:rgba(217,147,48,.32) !important;}
  .service-card.active[data-category="Property Support"], .service-card.rail-hover[data-category="Property Support"]{background:linear-gradient(145deg,#effaf5,#ffffff) !important;border-color:rgba(31,151,101,.32) !important;}
  .service-card.active[data-category="Shortlet Support"], .service-card.rail-hover[data-category="Shortlet Support"]{background:linear-gradient(145deg,#f3f0ff,#ffffff) !important;border-color:rgba(104,86,200,.32) !important;}
  .service-card.active[data-category="Rentals"], .service-card.rail-hover[data-category="Rentals"]{background:linear-gradient(145deg,#fff8e4,#ffffff) !important;border-color:rgba(226,174,54,.34) !important;}
  .service-card.active[data-category="Beauty"], .service-card.rail-hover[data-category="Beauty"]{background:linear-gradient(145deg,#fff1f4,#ffffff) !important;border-color:rgba(225,83,116,.32) !important;}
  .premium-search{margin-top:8px !important;}
}

@media (max-width:390px){
  .real-image-stage{height:385px !important;min-height:385px !important;}
  .service-motion-rail{bottom:22px !important;height:80px !important;}
  .rail-service{width:62px !important;min-width:62px !important;height:62px !important;font-size:25px !important;}
  .rail-service span{font-size:25px !important;}
}


/* v3.69: mobile intro placement, icon rail breathing space, desktop card centering */
@media (min-width:721px){
  .service-panel{
    min-height:0 !important;
    padding:16px 18px 18px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }
  .service-panel .panel-head{margin-bottom:10px !important;}
  .service-grid-v29{
    margin:0 !important;
    transform:none !important;
    align-self:stretch !important;
    gap:10px !important;
  }
  .service-grid-v29 .service-card{
    min-height:76px !important;
    padding:11px 32px 11px 13px !important;
  }
}

@media (max-width:720px){
  .hero-v29{padding-top:18px !important;}
  .hero-shell{gap:12px !important;}
  .hero-kicker{margin-bottom:4px !important;}
  .hero-copy h1{margin-bottom:10px !important;}
  .hero-copy p{
    margin:0 0 12px !important;
    padding:0 2px !important;
    font-size:18px !important;
    line-height:1.45 !important;
    max-width:100% !important;
    color:rgba(255,255,255,.92) !important;
  }
  .product-device{margin-top:0 !important;}
  .device-screen{padding:10px !important;background:rgba(255,255,255,.11) !important;}
  .real-image-stage{
    height:395px !important;
    min-height:395px !important;
    border-radius:26px !important;
    margin-bottom:12px !important;
    overflow:hidden !important;
  }
  .real-image-stage img{
    object-position:center 56% !important;
    transform:none !important;
  }
  .service-motion-rail{
    bottom:38px !important;
    left:10px !important;
    right:10px !important;
    height:84px !important;
    overflow:visible !important;
    z-index:12 !important;
  }
  .rail-track{padding:8px 18px !important;gap:18px !important;}
  .rail-service{
    width:66px !important;
    min-width:66px !important;
    height:66px !important;
    border-radius:999px !important;
  }
  .service-panel{
    margin-top:0 !important;
    border-radius:26px !important;
    background:#ffffff !important;
    padding:14px !important;
  }
  .panel-head strong{font-size:20px !important;line-height:1.1 !important;}
  .panel-head strong::before{content:none !important;}
  .panel-head strong{font-size:0 !important;}
  .panel-head strong:after{content:"Choose area you need help with";font-size:20px !important;}
  .premium-search{}
}

@media (max-width:390px){
  .hero-copy p{font-size:16.5px !important;line-height:1.45 !important;}
  .real-image-stage{height:365px !important;min-height:365px !important;margin-bottom:10px !important;}
  .service-motion-rail{bottom:34px !important;height:78px !important;}
  .rail-service{width:62px !important;min-width:62px !important;height:62px !important;}
}


/* v3.70: live polish, cleaner picture, customer-facing badge, final mobile ordering */
.hero-kicker{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.22) !important;
  font-size:13px !important;
  padding:8px 14px !important;
}
.hero-kicker .pin{color:#f3c75e !important;}
@media (min-width:721px){
  .service-panel{
    justify-content:center !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
  }
  .service-grid-v29{
    margin:auto 0 !important;
  }
  .real-image-stage img{
    object-position:center 48% !important;
  }
}
@media (max-width:720px){
  .hero-kicker{
    order:1 !important;
    font-size:12px !important;
    padding:7px 12px !important;
    margin:4px 0 0 !important;
  }
  .hero-copy h1{
    order:2 !important;
    margin-bottom:8px !important;
  }
  .hero-copy p{
    margin:0 0 14px !important;
    padding:0 2px !important;
  }
  .product-device{}
  .real-image-stage{
    height:400px !important;
    min-height:400px !important;
  }
  .real-image-stage img{
    object-position:center 50% !important;
  }
  .service-motion-rail{
    bottom:30px !important;
  }
  .premium-search{}
  .alt{order:2 !important;}
  .plan-section{order:3 !important;}
}
@media (max-width:390px){
  .real-image-stage{height:372px !important;min-height:372px !important;}
  .service-motion-rail{bottom:28px !important;}
}

/* v3.71: requested mobile ordering and final visual cleanup
   Mobile flow: badge -> heading -> NILA device -> intro copy -> search.
   Keep rail icons at the bottom of the image without clipping.
   Remove cramped provider preview from the device and centre service cards. */
.available-strip{display:none !important;}
@media (min-width:721px){
  .service-panel{
    min-height:360px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:18px 18px 20px !important;
  }
  .service-panel .panel-head{margin-bottom:14px !important;}
  .service-grid-v29{
    margin:0 !important;
    align-self:stretch !important;
    transform:none !important;
  }
}
@media (max-width:720px){
  .hero-v29{padding-top:16px !important;}
  .hero-shell{gap:14px !important;}
  .hero-kicker{}
  .hero-copy h1{margin-bottom:4px !important;}
  .product-device{margin-top:4px !important;margin-bottom:0 !important;}
  .hero-copy p{
    display:block !important;
    margin:2px 0 2px !important;
    padding:0 2px !important;
    font-size:16.5px !important;
    line-height:1.45 !important;
    color:rgba(255,255,255,.92) !important;
    max-width:100% !important;
  }
  .premium-search{margin-top:4px !important;}
  .device-screen{padding:10px !important;border-radius:30px !important;overflow:visible !important;}
  .real-image-stage{
    height:400px !important;
    min-height:400px !important;
    border-radius:26px 26px 18px 18px !important;
    margin-bottom:14px !important;
    overflow:hidden !important;
  }
  .real-image-stage img{
    object-fit:cover !important;
    object-position:center 52% !important;
    transform:none !important;
  }
  .image-wash,
  .real-image-stage::after{
    background:linear-gradient(180deg,rgba(4,20,42,.01),rgba(4,20,42,.02) 70%,rgba(4,20,42,.04)) !important;
  }
  .service-motion-rail{
    bottom:14px !important;
    left:8px !important;
    right:8px !important;
    height:82px !important;
    overflow:hidden !important;
    z-index:12 !important;
  }
  .rail-track{padding:6px 16px !important;gap:17px !important;align-items:center !important;}
  .rail-service{
    width:66px !important;
    min-width:66px !important;
    height:66px !important;
    border-radius:999px !important;
  }
  .rail-service span{font-size:27px !important;line-height:1 !important;}
  .service-panel{
    margin-top:0 !important;
    border-radius:26px !important;
    padding:14px !important;
    background:#ffffff !important;
  }
  .panel-head strong{font-size:0 !important;}
  .panel-head strong:after{content:"Choose area you need help with";font-size:20px !important;line-height:1.15 !important;}
  .compact-trust{display:none !important;}
}
@media (max-width:390px){
  .real-image-stage{height:372px !important;min-height:372px !important;}
  .service-motion-rail{bottom:12px !important;height:78px !important;}
  .rail-service{width:62px !important;min-width:62px !important;height:62px !important;}
  .rail-service span{font-size:25px !important;}
  .hero-copy p{font-size:15.8px !important;}
}


/* v3.75: intro text shows under heading on mobile, device screen below */
@media (max-width:720px){
  .service-motion-rail{bottom:12px !important;}
}

/* MOBILE HERO ORDER */
@media (max-width:720px){
  .hero-shell{display:flex !important;flex-direction:column !important;gap:0 !important;}
  .hero-copy{display:contents !important;}
  .hero-kicker{order:1 !important;}
  .hero-copy h1{order:2 !important;}
  .hero-intro-p{order:3 !important;display:block !important;}
  .product-device{order:4 !important;}
  .premium-search{order:5 !important;margin-top:16px !important;}
  .compact-trust{order:6 !important;}
  /* Hide service picker on mobile — categories already shown in device screen above */
  .field-service{display:none !important;}
}

/* ── Scroll to top ─────────────────────────────────────────────────── */
#nilaScrollTop{
  position:fixed;bottom:84px;right:20px;z-index:1200;
  width:48px;height:48px;border-radius:50%;
  background:#FDC02E;color:#04306F;border:none;
  cursor:pointer;
  box-shadow:0 4px 18px rgba(253,192,46,.45);
  opacity:0;transform:translateY(12px);pointer-events:none;
  transition:opacity .25s,transform .25s;
  display:flex;align-items:center;justify-content:center;
  touch-action:manipulation;-webkit-tap-highlight-color:transparent;
}
#nilaScrollTop.visible{opacity:1;transform:translateY(0);pointer-events:auto;}
#nilaScrollTop:hover{background:#f5b800;}
@media(max-width:720px){
  #nilaScrollTop{bottom:148px;right:14px;z-index:1200;}
}


/* ── Chat widget ───────────────────────────────────────────────────── */
.nila-chat-widget{position:fixed;bottom:20px;right:20px;z-index:1000;}
@media(max-width:720px){.nila-chat-widget{bottom:82px;right:12px;z-index:1100;}}

.nila-chat-toggle{
  width:54px;height:54px;border-radius:50%;
  background:#04306F;
  color:#FDC02E;border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 6px 24px rgba(2,20,60,.38);
  transition:transform .2s,box-shadow .2s;
}
.nila-chat-toggle:hover{transform:scale(1.08);box-shadow:0 10px 32px rgba(2,20,60,.44);}
.nila-chat-toggle.open{background:#2C3690;}
.chat-label{display:none;}
.chat-icon{font-size:0;width:34px;height:34px;display:block;}
.chat-icon svg{width:34px;height:34px;fill:#FDC02E;}

.nila-chat-box{
  position:absolute;bottom:64px;right:0;
  width:380px;height:620px;max-height:80vh;
  background:white;border-radius:20px;
  box-shadow:0 16px 60px rgba(2,20,60,.28);
  display:flex;flex-direction:column;
  opacity:0;transform:translateY(8px);pointer-events:none;
  transition:opacity .2s,transform .2s;
  overflow:hidden;
}
.nila-chat-box.open{opacity:1;transform:translateY(0);pointer-events:auto;}
@media(max-width:720px){
  .nila-chat-box{
    display:none !important;
  }
  .nila-chat-box.open{
    display:flex !important;
    flex-direction:column !important;
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    height:calc(var(--vh, 1vh) * 100) !important;
    overflow:hidden !important;
    touch-action:none !important;
    z-index:2000 !important;
    background:#fff !important;
  }
  /* Header never moves */
  .nila-chat-box .nila-chat-header{
    flex-shrink:0 !important;
    position:relative !important;
    z-index:2 !important;
  }
  /* Tab panel fills remaining space */
  .nila-chat-box .nila-tab-panel{
    flex:1 !important;
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
  }
  /* Messages scroll freely inside their box */
  .nila-chat-box .nila-chat-messages{
    flex:1 !important;
    min-height:0 !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
  }
  /* Input ALWAYS at bottom, never moves */
  .nila-chat-box .nila-chat-input-row{
    flex-shrink:0 !important;
    background:#fff !important;
    border-top:1px solid #edf0f5 !important;
    padding:10px 16px env(safe-area-inset-bottom,8px) !important;
    touch-action:none !important;
  }
}

.nila-chat-header{
  display:flex;align-items:center;gap:10px;
  background:#2C3690;color:white;
  padding:12px 14px;flex-shrink:0;
  position:sticky;top:0;z-index:10;
}
.nila-chat-logo{
  width:40px;height:40px;border-radius:12px;
  flex-shrink:0;object-fit:contain;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.nila-chat-header b{font-size:13px;display:block;line-height:1.2;}
.nila-chat-header small{font-size:11px;opacity:.78;}
.nila-chat-header > div:nth-child(2){flex:1;}

.nila-chat-header-actions{display:flex;align-items:center;gap:2px;margin-left:auto;}
.nila-chat-header-actions button{
  background:none;border:none;color:white;
  width:30px;height:30px;border-radius:6px;
  cursor:pointer;opacity:.8;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  transition:opacity .15s,background .15s;
}
.nila-chat-header-actions button:hover{opacity:1;background:rgba(255,255,255,.15);}
#nilaChatMinimise{font-size:22px;padding-bottom:4px;}

.nila-tab-panel{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;}
.nila-tab-hidden{display:none;}

.nila-chat-messages{
  flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 12px;
  display:flex;flex-direction:column;gap:10px;
  min-height:0;
  overscroll-behavior:contain;
}
.nila-msg{display:flex;}
.nila-msg-bot{flex-direction:column;align-items:flex-start;}
.nila-msg-user{flex-direction:column;align-items:flex-end;}
.nila-bubble{
  max-width:88%;padding:11px 15px;border-radius:16px;
  font-size:15px;line-height:1.5;
}
.nila-msg-bot .nila-bubble{background:#f0f3f8;color:#1a2a40;border-bottom-left-radius:4px;}
.nila-msg-user .nila-bubble{background:#2C3690;color:white;border-bottom-right-radius:4px;}
.nila-bubble a{color:#2C3690;font-weight:700;}
.nila-msg-user .nila-bubble a{color:#aec8ff;}

.nila-typing{display:flex;align-items:center;gap:5px;padding:10px 14px;}
.nila-typing span{
  width:7px;height:7px;border-radius:50%;background:#9ab0cc;display:block;
  animation:nilaBounce .9s infinite;
}
.nila-typing span:nth-child(2){animation-delay:.15s;}
.nila-typing span:nth-child(3){animation-delay:.3s;}
@keyframes nilaBounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-6px);}}

.nila-options{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;max-width:100%;}
.nila-opt-btn{
  background:white;color:#2C3690;border:1.5px solid #2C3690;
  padding:8px 14px;border-radius:999px;font-size:14px;font-weight:700;cursor:pointer;
  transition:background .15s,color .15s;
}
.nila-opt-btn:hover{background:#2C3690;color:white;}
.nila-opt-btn:disabled{opacity:.45;cursor:default;}

.nila-result-card{
  background:#f5f7fb;border-radius:10px;padding:11px 13px;
  margin-bottom:8px;font-size:14px;line-height:1.5;
}
.nila-result-card b{display:block;font-size:15px;color:#1a2a40;margin-bottom:3px;}
.nila-result-meta{display:block;color:#667;margin-bottom:4px;}
.nila-result-status{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;margin-bottom:4px;}
.nila-result-status.avail{background:#e6f9ee;color:#0a6640;}
.nila-result-status.busy{background:#fff0f0;color:#b91c1c;}
.nila-result-status.limited{background:#fff8e6;color:#92590a;}
.nila-result-link{display:inline-block;color:#2C3690;font-weight:700;font-size:12px;}

.nila-chat-input-row{
  display:flex;gap:8px;padding:10px 12px;
  border-top:1px solid #edf0f5;flex-shrink:0;
  background:white;
}
@media(max-width:720px){
  .nila-chat-input-row{padding:12px 16px 28px;}
}
#nilaChatInput{
  flex:1;border:1.5px solid #dde3ef;border-radius:999px;
  padding:10px 16px;font-size:15px;outline:none;
}
#nilaChatInput:focus{border-color:#2C3690;}
#nilaChatSend{
  background:#2C3690;color:white;border:none;
  padding:10px 20px;border-radius:999px;font-size:15px;font-weight:700;cursor:pointer;
}
#nilaChatSend:hover{background:#04306F;}

/* FAQ panel */
.nila-faq-list{flex:1;overflow-y:auto;padding:10px 12px;}
.nila-faq-item{border-bottom:1px solid #edf0f5;}
.nila-faq-q{
  width:100%;background:none;border:none;text-align:left;
  padding:10px 4px;font-size:13px;font-weight:700;color:#1a2a40;
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;
}
.nila-faq-q span{font-size:16px;color:#2C3690;transition:transform .2s;flex-shrink:0;}
.nila-faq-item.open .nila-faq-q span{transform:rotate(45deg);}
.nila-faq-a{
  display:none;font-size:12px;color:#445;line-height:1.5;
  padding:0 4px 10px;
}
.nila-faq-item.open .nila-faq-a{display:block;}

/* FAQ desktop only */
@media (max-width:720px){
  .desktop-faq{display:none !important;}
  .mobile-faq-link{display:block !important;}
}
@media (min-width:721px){
  .mobile-faq-link{display:none !important;}
}

/* ── Page FAQ section ──────────────────────────────────────────────── */
.faq-grid{max-width:740px;}
.page-faq-item{border-bottom:1px solid #e8edf4;}
.page-faq-q{
  width:100%;background:none;border:none;text-align:left;
  padding:18px 4px;font-size:16px;font-weight:700;color:#1a2a40;
  cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;
}
.page-faq-q span{
  font-size:22px;color:#2C3690;flex-shrink:0;
  transition:transform .2s;line-height:1;
}
.page-faq-item.open .page-faq-q span{transform:rotate(45deg);}
.page-faq-a{
  display:none;font-size:15px;color:#445;line-height:1.6;
  padding:0 4px 18px;max-width:640px;
}
.page-faq-item.open .page-faq-a{display:block;}

/* Increase device screen on mobile */
@media(max-width:720px){
  .real-image-stage{height:310px !important;min-height:310px !important;}
}

/* Hide floating buttons when chat is open fullscreen on mobile */
@media(max-width:720px){
  body.chat-open #nilaScrollTop{display:none !important;}
  body.chat-open .mobilebar{display:none !important;}
}

/* Chat fullscreen mobile — absolute solid cover, nothing bleeds through */
@media(max-width:720px){
  .nila-chat-box{
    background:#ffffff !important;
    isolation:isolate !important;
  }
  body.chat-open{
    overflow:hidden !important;
    position:fixed !important;
    width:100% !important;
  }
  body.chat-open .hero-shell,
  body.chat-open .premium-search,
  body.chat-open section,
  body.chat-open footer,
  body.chat-open .mobilebar,
  body.chat-open #nilaScrollTop{
    visibility:hidden !important;
  }
  body.chat-open .nila-chat-widget{
    visibility:visible !important;
  }
  body.chat-open #nilaChatBox{
    visibility:visible !important;
  }
}

/* Postcode input in chat */
.nila-postcode-wrap{
  display:flex;gap:8px;margin-top:8px;padding:0 4px;
}
.nila-postcode-input{
  flex:1;border:1.5px solid #2C3690;border-radius:999px;
  padding:10px 16px;font-size:15px;outline:none;
  background:#f5f7fb;
}
.nila-postcode-input:focus{
  background:white;border-color:#04306F;
}
.nila-postcode-btn{
  background:#2C3690;color:white;border:none;
  padding:10px 18px;border-radius:999px;
  font-size:14px;font-weight:700;cursor:pointer;
  white-space:nowrap;
}
.nila-postcode-btn:hover{background:#04306F;}

/* Service hint bar — simple line under the category grid */
.service-hint-bar{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;padding:10px 4px 2px;
  border-top:1px solid rgba(13,32,51,.08);
  margin-top:10px;
}
#serviceHintText{
  font-size:13px;color:#445;line-height:1.3;flex:1;
  transition:all .2s;
}
.service-hint-link{
  font-size:12px;font-weight:700;color:#2C3690;
  white-space:nowrap;text-decoration:none;flex-shrink:0;
}
.service-hint-link:hover{color:#04306F;}

/* Service pills above results */
.svc-pill-row{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:8px 0 10px;border-bottom:1px solid rgba(13,32,51,.08);
  margin-bottom:10px;
}
.svc-pill{
  background:white;color:#2C3690;
  border:1.5px solid #dde3ef;border-radius:999px;
  padding:5px 12px;font-size:12px;font-weight:700;
  cursor:pointer;transition:all .15s;white-space:nowrap;
}
.svc-pill:hover,.svc-pill.active{
  background:#2C3690;color:white;border-color:#2C3690;
}


/* v3.73 fixes: mobile chat visibility, 3-mile local results, and active category switching */
@media(max-width:720px){
  .nila-chat-widget{
    position:fixed !important;
    right:14px !important;
    bottom:calc(14px + env(safe-area-inset-bottom,0px)) !important;
    z-index:99999 !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
  .nila-chat-toggle{
    width:58px !important;
    height:58px !important;
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .nila-chat-box.open{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
    z-index:100000 !important;
    display:flex !important;
    background:#fff !important;
    transform:none !important;
  }
  @supports not (height:100dvh){
    .nila-chat-box.open{height:calc(var(--vh, 1vh) * 100) !important;max-height:calc(var(--vh, 1vh) * 100) !important;}
  }
  .nila-chat-box.open .nila-chat-header{
    padding-top:calc(12px + env(safe-area-inset-top,0px)) !important;
    min-height:calc(64px + env(safe-area-inset-top,0px)) !important;
    display:flex !important;
    visibility:visible !important;
  }
  .nila-chat-header-actions,
  .nila-chat-header-actions button{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
  }
  .nila-chat-box.open .nila-chat-input-row{
    padding-bottom:calc(12px + env(safe-area-inset-bottom,0px)) !important;
  }
  body.chat-open .nila-chat-toggle{display:none !important;}
  body.chat-open .nav{visibility:hidden !important;}
}
.svc-pill-row{
  display:flex;
  gap:8px;
  margin:0 0 12px;
  padding:2px 2px 10px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:thin;
}
.svc-pill{
  border:1px solid rgba(13,32,51,.10);
  background:#fff;
  color:#13243b;
  border-radius:999px;
  padding:9px 12px;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(13,31,54,.055);
}
.svc-pill.active{background:#102033;color:#fff;border-color:#102033;}
.no-local-results b{font-size:15px;color:#102033;}
@media(max-width:720px){
  .real-image-stage.map-active{height:430px !important;min-height:430px !important;}
  .service-panel.local-mode{padding-top:10px !important;}
  .service-panel.local-mode .svc-pill-row{margin-bottom:10px !important;}
  .service-panel.local-mode .local-results-layout{display:flex !important;flex-direction:column !important;height:auto !important;min-height:0 !important;max-height:none !important;gap:10px !important;}
  .service-panel.local-mode .local-provider-detail{order:-1 !important;display:flex !important;min-height:auto !important;}
  .service-panel.local-mode .local-provider-column{order:1 !important;max-height:240px !important;overflow:auto !important;}
}


/* v3.74 urgent mobile flow fixes */
.loc-empty-help{padding:14px 16px;color:#536176;font-size:13px;line-height:1.45;background:#fff}
@media(max-width:720px){
  html,body{max-width:100%;overflow-x:hidden;}
  .nila-chat-box.open{
    width:100% !important;
    height:100svh !important;
    max-height:100svh !important;
    min-height:100svh !important;
    left:0 !important;right:0 !important;top:0 !important;bottom:auto !important;
    border-radius:0 !important;
    transform:none !important;
    zoom:1 !important;
  }
  .nila-chat-logo{cursor:pointer;}
  .nila-chat-box input,.nila-chat-box textarea{font-size:16px !important;}
  .nila-chat-box.open .nila-chat-messages{padding-bottom:8px !important;}
  .nila-chat-box.open .nila-chat-input-row{position:relative !important;bottom:auto !important;padding-bottom:max(14px,env(safe-area-inset-bottom)) !important;}
  .service-panel.local-mode .local-provider-detail{order:-1 !important;margin-top:0 !important;}
  .service-panel.local-mode .local-provider-column{display:grid !important;grid-template-columns:1fr !important;gap:8px !important;}
}
@media(min-width:721px){
  .service-panel.local-mode .local-results-layout{display:grid !important;grid-template-columns:minmax(220px,.9fr) minmax(260px,1fr) !important;gap:12px !important;align-items:start !important;}
  .service-panel.local-mode .local-provider-column{display:grid !important;grid-template-columns:1fr !important;gap:8px !important;max-height:330px !important;overflow:auto !important;}
  .service-panel.local-mode .local-provider-detail{position:sticky !important;top:0 !important;}
}


/* v3.76 hard fix: remove the old location dropdown/popover completely */
#locDropdown,
#locDropdown.open,
.loc-dropdown,
.loc-dropdown.open{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
.loc-pin{
  border:0 !important;
  background:transparent !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
}
.field-location input{
  padding-right:44px !important;
}
.service-panel.local-mode .svc-pill-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
  padding:0 0 12px !important;
  margin:0 0 14px !important;
  border-bottom:1px solid rgba(13,32,51,.08) !important;
}
.service-panel.local-mode .local-provider-column{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important;
  gap:10px !important;
  max-height:320px !important;
  overflow:auto !important;
}
.service-panel.local-mode .local-vendor-card{
  display:grid !important;
  grid-template-columns:auto 1fr !important;
  align-items:center !important;
  min-height:74px !important;
}
@media(max-width:720px){
  .service-panel.local-mode .svc-pill-row{
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .service-panel.local-mode .local-provider-column{
    grid-template-columns:1fr !important;
    max-height:none !important;
    overflow:visible !important;
  }
}

/* v3.77: remove old location dropdown completely */
#locDropdown,.loc-dropdown{display:none!important;visibility:hidden!important;pointer-events:none!important;}
#locDropdown.open,.loc-dropdown.open{display:none!important;}
.local-results-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;}
.local-provider-column{display:grid;grid-template-columns:1fr;gap:8px;}
@media(min-width:721px){.local-results-layout{grid-template-columns:minmax(0,1fr);}.local-provider-detail{display:block;}.svc-pill-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-bottom:12px!important;}}
@media(max-width:720px){.local-provider-column{max-height:none!important;}.local-vendor-card:first-of-type{order:-1;}.chat-panel{transform:none!important;zoom:1!important;}}


/* v3.78: manual-only location dropdown */
.loc-dropdown,
#locDropdown{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
#locWrap #locDropdown.open,
.loc-wrap .loc-dropdown.open{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
.loc-dropdown.open{
  background:#fff !important;
  border:1px solid rgba(13,32,51,.12) !important;
  box-shadow:0 18px 45px rgba(10,25,50,.20) !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.loc-gps-btn{width:100%;border:0;background:#244f96;color:#fff;display:grid;grid-template-columns:auto 1fr;gap:8px 12px;text-align:left;padding:16px 18px;cursor:pointer;}
.loc-gps-btn small{grid-column:2;color:rgba(255,255,255,.82);font-weight:600;}
.loc-search-row{padding:10px 12px;border-bottom:1px solid rgba(13,32,51,.08);background:#fff;}
.loc-search-row input{width:100%;border:0;outline:0;font-size:16px;font-weight:700;color:#17243b;}
.loc-list{max-height:210px;overflow:auto;background:#fff;}
.loc-list button{width:100%;border:0;background:#fff;text-align:left;display:flex;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid rgba(13,32,51,.06);}
.loc-list button:hover{background:#f5f8ff;}
.loc-list small{display:block;color:#5f6c80;margin-top:2px;}
@media(max-width:720px){
  #locWrap #locDropdown.open,
  .loc-wrap .loc-dropdown.open{left:12px!important;right:12px!important;bottom:calc(14px + env(safe-area-inset-bottom))!important;top:auto!important;max-height:58vh!important;}
}


/* v3.79 mobile chat modal fix: no zoom, controls not cut off */
@media (max-width:720px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    -webkit-text-size-adjust:100% !important;
    text-size-adjust:100% !important;
  }
  body.chat-open{
    overflow:hidden !important;
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
    max-height:100dvh !important;
  }
  body.chat-open .nila-chat-widget{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    height:100dvh !important;
    z-index:2147483000 !important;
    display:block !important;
    transform:none !important;
    zoom:1 !important;
  }
  body.chat-open #nilaChatBox,
  .nila-chat-box.open{
    position:fixed !important;
    inset:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
    transform:none !important;
    zoom:1 !important;
    scale:1 !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    background:#fff !important;
  }
  @supports not (height:100dvh){
    body.chat-open .nila-chat-widget,
    body.chat-open #nilaChatBox,
    .nila-chat-box.open{
      height:calc(var(--nila-vh, 1vh) * 100) !important;
      min-height:calc(var(--nila-vh, 1vh) * 100) !important;
      max-height:calc(var(--nila-vh, 1vh) * 100) !important;
    }
  }
  .nila-chat-box.open .nila-chat-header{
    min-height:72px !important;
    padding:calc(12px + env(safe-area-inset-top,0px)) 14px 12px !important;
    gap:10px !important;
    box-sizing:border-box !important;
    flex-shrink:0 !important;
    overflow:visible !important;
  }
  .nila-chat-box.open .nila-chat-logo{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    border-radius:12px !important;
  }
  .nila-chat-box.open .nila-chat-header b{
    font-size:15px !important;
    line-height:1.15 !important;
  }
  .nila-chat-box.open .nila-chat-header small{
    font-size:12px !important;
    line-height:1.2 !important;
  }
  .nila-chat-box.open .nila-chat-header-actions{
    display:flex !important;
    align-items:center !important;
    gap:8px !important;
    margin-left:auto !important;
    flex-shrink:0 !important;
  }
  .nila-chat-box.open .nila-chat-header-actions button{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    min-height:42px !important;
    padding:0 !important;
    border-radius:14px !important;
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
    opacity:1 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    line-height:1 !important;
    overflow:visible !important;
  }
  .nila-chat-box.open .nila-chat-header-actions svg{
    width:22px !important;
    height:22px !important;
    display:block !important;
    flex:0 0 auto !important;
  }
  .nila-chat-box.open .nila-tab-panel{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:hidden !important;
  }
  .nila-chat-box.open .nila-chat-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow-y:auto !important;
    padding:14px 12px 10px !important;
  }
  .nila-chat-box.open .nila-chat-input-row{
    flex-shrink:0 !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px)) !important;
    background:#fff !important;
  }
  .nila-chat-box.open #nilaChatInput{
    min-width:0 !important;
    font-size:16px !important;
  }
  .nila-chat-box.open #nilaChatSend{
    padding:10px 16px !important;
    min-width:68px !important;
    font-size:15px !important;
  }
  body.chat-open .nila-chat-toggle{display:none !important;}
}


/* v3.80 desktop/mobile results and location panel fixes */
.panel-location-box{padding:16px;border:1px solid #edf0f4;background:#fff;border-radius:18px;box-shadow:0 10px 24px rgba(9,35,66,.06);font-size:13px;color:#344;line-height:1.45;margin-top:10px;}
.panel-location-box b{display:block;margin-bottom:4px;color:#142033;font-size:15px;}
.panel-location-box p{margin:0 0 12px;color:#647084;}
.panel-location-row{display:grid;grid-template-columns:minmax(160px,1fr) auto auto;gap:8px;align-items:center;}
.panel-location-input{height:44px;border:1px solid #e2e8f0;border-radius:14px;padding:0 12px;font-weight:800;color:#13233b;background:#f8fafc;outline:none;}
.panel-location-input:focus{border-color:#1f61ae;box-shadow:0 0 0 3px rgba(31,97,174,.12);background:#fff;}
#panelLocationNote{display:block;margin-top:8px;color:#758295;}
.service-panel.local-mode .local-results-layout{display:grid!important;grid-template-columns:minmax(250px,.95fr) minmax(300px,1.05fr)!important;gap:14px!important;align-items:start!important;height:auto!important;max-height:none!important;}
.service-panel.local-mode .local-provider-column{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;max-height:360px!important;overflow:auto!important;padding-right:4px!important;}
.service-panel.local-mode .local-vendor-card{min-height:78px!important;border:1px solid #e8edf3!important;border-radius:18px!important;background:#fff!important;box-shadow:0 10px 22px rgba(11,35,64,.07)!important;}
.service-panel.local-mode .local-provider-detail{display:flex!important;flex-direction:column!important;gap:8px!important;border:1px solid #e8edf3!important;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 28px rgba(11,35,64,.08)!important;position:sticky!important;top:8px!important;}
.service-panel.local-mode .svc-pill-row{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0 0 14px!important;}
.service-panel.local-mode .svc-pill{border-radius:999px!important;padding:10px 14px!important;background:#fff!important;border:1px solid #e8edf3!important;font-weight:900!important;box-shadow:0 6px 16px rgba(11,35,64,.06)!important;}
.service-panel.local-mode .svc-pill.active{background:#10233d!important;color:#fff!important;border-color:#10233d!important;}
@media(max-width:720px){
  .panel-location-row{grid-template-columns:1fr;}
  .panel-location-row .btn{width:100%;justify-content:center;}
  .service-panel.local-mode .local-results-layout{display:flex!important;flex-direction:column!important;gap:10px!important;}
  .service-panel.local-mode .local-provider-detail{order:2!important;position:static!important;display:flex!important;width:100%!important;}
  .service-panel.local-mode .local-provider-column{order:1!important;max-height:none!important;overflow:visible!important;width:100%!important;}
}


/* v3.81 clean layout rebuild: hard stop mobile chat overflow/zoom and keep nav visible */
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  overscroll-behavior-x:none;
}
*,*::before,*::after{box-sizing:border-box;}
img,svg,video,canvas{max-width:100%;}
input,select,textarea,button{font:inherit;max-width:100%;}

@media(max-width:720px){
  body.chat-open{
    position:fixed !important;
    overflow:hidden !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-height:100svh !important;
    height:100svh !important;
    touch-action:none;
  }
  body.chat-open .nila-chat-widget{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:100vw !important;
    max-width:100vw !important;
    height:100svh !important;
    max-height:100svh !important;
    margin:0 !important;
    padding:0 !important;
    z-index:2147483600 !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    zoom:1 !important;
    overflow:hidden !important;
  }
  body.chat-open #nilaChatBox,
  body.chat-open .nila-chat-box.open{
    position:fixed !important;
    left:0 !important;
    top:0 !important;
    right:auto !important;
    bottom:auto !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:0 !important;
    height:100svh !important;
    min-height:100svh !important;
    max-height:100svh !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    zoom:1 !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    background:#fff !important;
  }
  @supports(height:100dvh){
    body.chat-open,
    body.chat-open .nila-chat-widget,
    body.chat-open #nilaChatBox,
    body.chat-open .nila-chat-box.open{
      height:100dvh !important;
      min-height:100dvh !important;
      max-height:100dvh !important;
    }
  }
  body.chat-open .nila-chat-header{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    width:100% !important;
    max-width:100vw !important;
    flex:0 0 auto !important;
    min-height:calc(64px + env(safe-area-inset-top,0px)) !important;
    padding:calc(10px + env(safe-area-inset-top,0px)) 12px 10px !important;
    display:flex !important;
    align-items:center !important;
    gap:10px !important;
    overflow:visible !important;
    background:#2c3690 !important;
    color:#fff !important;
    z-index:10 !important;
  }
  body.chat-open .nila-chat-logo{
    width:42px !important;
    height:42px !important;
    min-width:42px !important;
    display:block !important;
    opacity:1 !important;
  }
  body.chat-open .nila-chat-header > div:nth-child(2){
    min-width:0 !important;
    flex:1 1 auto !important;
    display:block !important;
    color:#fff !important;
  }
  body.chat-open .nila-chat-header b,
  body.chat-open .nila-chat-header small{
    display:block !important;
    color:#fff !important;
    opacity:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  body.chat-open .nila-chat-header b{font-size:15px !important;line-height:1.1 !important;}
  body.chat-open .nila-chat-header small{font-size:12px !important;line-height:1.2 !important;opacity:.84 !important;}
  body.chat-open .nila-chat-header-actions{
    flex:0 0 auto !important;
    margin-left:auto !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    min-width:96px !important;
    position:relative !important;
    z-index:20 !important;
  }
  body.chat-open .nila-chat-header-actions button{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    min-height:44px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    background:rgba(255,255,255,.18) !important;
    color:#fff !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    overflow:visible !important;
  }
  body.chat-open .nila-chat-header-actions svg{
    display:block !important;
    width:23px !important;
    height:23px !important;
    stroke:currentColor !important;
    flex:0 0 auto !important;
  }
  body.chat-open .nila-tab-panel{
    flex:1 1 auto !important;
    min-height:0 !important;
    height:auto !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
  }
  body.chat-open .nila-chat-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
    width:100% !important;
    max-width:100vw !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    padding:14px 12px 10px !important;
    overscroll-behavior:contain !important;
  }
  body.chat-open .nila-chat-messages > *{
    max-width:100% !important;
  }
  body.chat-open .nila-chat-input-row{
    position:relative !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:100% !important;
    max-width:100vw !important;
    flex:0 0 auto !important;
    display:flex !important;
    gap:8px !important;
    align-items:center !important;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px)) !important;
    background:#fff !important;
    border-top:1px solid rgba(15,23,42,.08) !important;
  }
  body.chat-open #nilaChatInput{
    min-width:0 !important;
    width:auto !important;
    flex:1 1 auto !important;
    font-size:16px !important;
  }
  body.chat-open #nilaChatSend{
    flex:0 0 auto !important;
    min-width:72px !important;
    padding:12px 15px !important;
    font-size:16px !important;
  }
  body.chat-open .nila-chat-toggle{display:none !important;}
}

/* v3.81 results panel should always expose postcode/GPS and a tidy grid */
.local-results-layout{
  display:grid !important;
  grid-template-columns:minmax(210px,.85fr) minmax(240px,1.15fr) !important;
  gap:14px !important;
  align-items:start !important;
}
.local-provider-column{
  display:grid !important;
  gap:10px !important;
  max-height:350px;
  overflow:auto;
  padding-right:2px;
}
.local-vendor-card{
  width:100% !important;
  text-align:left !important;
  border:1px solid #e8edf5 !important;
  border-radius:18px !important;
  background:#fff !important;
  padding:12px !important;
  box-shadow:0 8px 20px rgba(2,20,60,.06) !important;
}
.local-vendor-card.selected{border-color:#2c3690 !important;box-shadow:0 10px 26px rgba(44,54,144,.16) !important;}
.local-provider-detail{border:1px solid #e8edf5 !important;border-radius:20px !important;background:#fff !important;padding:14px !important;box-shadow:0 10px 26px rgba(2,20,60,.07) !important;}
.panel-location-row{grid-template-columns:minmax(0,1fr) auto auto !important;}
@media(max-width:720px){
  .local-results-layout{display:flex !important;flex-direction:column !important;gap:12px !important;}
  .local-provider-column{max-height:none !important;overflow:visible !important;width:100% !important;}
  .local-provider-detail{width:100% !important;}
  .panel-location-row{display:flex !important;flex-direction:column !important;align-items:stretch !important;}
  .panel-location-row .btn{width:100% !important;justify-content:center !important;}
}


/* v3.83 mobile fit rebuild: absolute no sideways crop or zoom on iPhone */
html{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  -webkit-text-size-adjust:100% !important;
  text-size-adjust:100% !important;
}
body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  position:relative;
}
body *{min-width:0;}
img,svg,video,canvas,iframe{max-width:100% !important;}

@media(max-width:720px){
  html,body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  .container,
  .hero-v29 .container,
  .hero-shell,
  .hero-copy,
  .product-device,
  .device-screen,
  .service-panel,
  .premium-search,
  .compact-trust,
  .nav,
  .navin,
  main,
  section,
  footer{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow-x:hidden !important;
  }
  .hero-v29{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .hero-v29 .container{padding-left:16px !important;padding-right:16px !important;}
  .hero-shell{display:block !important;}
  .hero-copy{padding-left:0 !important;padding-right:0 !important;}
  .hero-v29 h1{font-size:clamp(43px,12vw,56px) !important;max-width:100% !important;overflow-wrap:normal !important;}
  .hero-v29 p{max-width:100% !important;}
  .premium-search{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .premium-search .field,
  .premium-search .location-finder-wrap,
  .premium-search .btn{
    width:100% !important;
    max-width:100% !important;
  }
  .product-device{margin-top:22px !important;}
  .device-screen{padding:10px !important;}
  .service-pill-row,
  .panel-category-pills,
  .category-pills,
  .service-tabs{
    max-width:100% !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
  }

  body.chat-open{
    position:fixed !important;
    inset:0 auto auto 0 !important;
    width:100% !important;
    max-width:100% !important;
    height:calc(var(--nila-vh, 1vh) * 100) !important;
    max-height:calc(var(--nila-vh, 1vh) * 100) !important;
    overflow:hidden !important;
    touch-action:none !important;
  }
  body.chat-open .nila-chat-widget,
  body.chat-open #nilaChatBox,
  body.chat-open .nila-chat-box.open{
    position:fixed !important;
    inset:0 auto auto 0 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:calc(var(--nila-vh, 1vh) * 100) !important;
    min-height:calc(var(--nila-vh, 1vh) * 100) !important;
    max-height:calc(var(--nila-vh, 1vh) * 100) !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    transform:none !important;
    translate:none !important;
    scale:1 !important;
    zoom:1 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }
  body.chat-open #nilaChatBox,
  body.chat-open .nila-chat-box.open{display:flex !important;flex-direction:column !important;background:#fff !important;}
  body.chat-open .nila-chat-header{
    position:sticky !important;
    top:0 !important;
    flex:0 0 auto !important;
    width:100% !important;
    max-width:100% !important;
    min-height:calc(62px + env(safe-area-inset-top,0px)) !important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px !important;
    gap:8px !important;
    overflow:hidden !important;
    z-index:9999 !important;
  }
  body.chat-open .nila-chat-logo{width:40px !important;height:40px !important;min-width:40px !important;}
  body.chat-open .nila-chat-header-actions{min-width:92px !important;gap:6px !important;}
  body.chat-open .nila-chat-header-actions button{width:42px !important;height:42px !important;min-width:42px !important;}
  body.chat-open .nila-tab-panel{flex:1 1 auto !important;min-height:0 !important;overflow:hidden !important;}
  body.chat-open .nila-chat-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
    width:100% !important;
    max-width:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    padding:14px 12px 10px !important;
    -webkit-overflow-scrolling:touch !important;
  }
  body.chat-open .nila-msg,
  body.chat-open .nila-bubble,
  body.chat-open .nila-chat-messages > div{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
  body.chat-open .nila-bubble{max-width:calc(100vw - 48px) !important;}
  body.chat-open .nila-msg-user .nila-bubble{max-width:calc(100vw - 76px) !important;}
  body.chat-open .nila-chat-messages button,
  body.chat-open .nila-chat-messages .btn,
  body.chat-open .nila-chat-messages input{
    max-width:100% !important;
    white-space:normal !important;
  }
  body.chat-open .nila-chat-messages input[type="text"],
  body.chat-open .nila-chat-messages input:not([type]){
    width:100% !important;
    min-width:0 !important;
    flex:1 1 100% !important;
  }
  body.chat-open .nila-chat-input-row{
    flex:0 0 auto !important;
    position:sticky !important;
    bottom:0 !important;
    width:100% !important;
    max-width:100% !important;
    padding:10px 12px calc(12px + env(safe-area-inset-bottom,0px)) !important;
    gap:8px !important;
    overflow:hidden !important;
  }
  body.chat-open #nilaChatInput{min-width:0 !important;flex:1 1 auto !important;width:auto !important;}
  body.chat-open #nilaChatSend{flex:0 0 auto !important;min-width:64px !important;padding:12px 12px !important;}
}


/* v3.87 mobile fit + proper live map guard */
html, body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  -webkit-text-size-adjust:100% !important;
}
*, *::before, *::after{box-sizing:border-box !important;}
img, svg, canvas, video, iframe{max-width:100% !important;}
@media(max-width:720px){
  body{min-width:0 !important;touch-action:manipulation;}
  .site-header,.hero-v29,.hero-shell,.hero-copy,.product-device,.device-screen,.service-panel,.premium-search,.nila-chat-box,.nila-chat-panel{
    width:100% !important;
    max-width:100vw !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }
  .hero-shell{padding-left:14px !important;padding-right:14px !important;}
  .device-screen{padding:8px !important;}
  .service-panel{border-radius:0 0 22px 22px !important;}
  .real-image-stage.map-active{height:min(72vh,430px) !important;min-height:340px !important;}
  .top-local-map{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;border-radius:20px 20px 14px 14px !important;overflow:hidden !important;background:#e8f0ea !important;}
  .top-local-map .gps-map-shell{height:100% !important;min-height:100% !important;}
  .top-local-map #_mm{width:100% !important;height:100% !important;min-height:260px !important;}
  .top-local-map .leaflet-container{width:100% !important;height:100% !important;background:#dfeee7 !important;}
  .local-results-layout{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;height:auto !important;min-height:0 !important;max-height:none !important;overflow:visible !important;}
  .local-provider-column{display:grid !important;grid-template-columns:1fr !important;gap:8px !important;max-height:none !important;overflow:visible !important;}
  .local-provider-detail{display:block !important;width:100% !important;max-height:none !important;}
  .svc-pill-row{position:sticky !important;top:0 !important;z-index:5 !important;background:rgba(255,255,255,.94) !important;backdrop-filter:blur(10px);padding-bottom:8px !important;}
}
.top-local-map.proper-map,
.real-gps-shell.proper-leaflet-map{
  background:#e6efe8 !important;
}
.top-local-map .home-dot,
.top-local-map .map-pin{
  display:none !important;
}
.nila-user-pin span{
  display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:#123b70;color:#fff;border:3px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.25);font-size:11px;font-weight:900;
}
.nila-provider-pin span{
  display:grid;place-items:center;width:36px;height:36px;border-radius:14px 14px 14px 4px;background:#fff;color:#0f345e;border:2px solid #1f61ae;box-shadow:0 8px 24px rgba(0,0,0,.2);font-size:18px;transform:rotate(-45deg);
}
.nila-provider-pin span::first-letter{transform:rotate(45deg);}
.map-top-bar,.map-bottom-bar{
  background:rgba(255,255,255,.92) !important;
  backdrop-filter:blur(12px) !important;
  border-color:rgba(15,52,94,.12) !important;
}
.local-vendor-card{
  border:1px solid rgba(15,52,94,.12) !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(7,25,50,.08) !important;
}
.local-vendor-card.selected{
  border-color:#1f61ae !important;
  box-shadow:0 14px 34px rgba(31,97,174,.18) !important;
}


/* v3.88 desktop GPS stability and live results layout */
.panel-location-box{background:#fffdf8;border:1px solid rgba(21,48,96,.14);border-radius:22px;padding:16px;box-shadow:0 12px 30px rgba(16,32,55,.08);}
.panel-location-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;margin:12px 0 8px;}
.panel-location-input{width:100%;min-height:46px;border:1px solid rgba(21,48,96,.18);border-radius:14px;padding:0 14px;font:inherit;background:#fff;}
#panelLocationNote,.loc-note{display:block;color:#37506d;font-size:12px;line-height:1.35;margin-top:6px;}
.local-results-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(240px,.8fr);gap:14px;align-items:start;}
.local-provider-column{display:grid;grid-template-columns:1fr;gap:10px;}
.local-vendor-card{width:100%;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid rgba(21,48,96,.14);background:#fff;border-radius:18px;padding:12px;cursor:pointer;}
.local-vendor-card.selected{outline:2px solid rgba(31,97,174,.35);background:#f7fbff;}
.local-provider-detail{background:#fff;border:1px solid rgba(21,48,96,.14);border-radius:20px;padding:14px;position:sticky;top:92px;}
@media(max-width:720px){.panel-location-row{grid-template-columns:1fr;}.local-results-layout{grid-template-columns:1fr;}.local-provider-detail{position:relative;top:auto;}.local-vendor-card{grid-template-columns:auto 1fr;}.local-vendor-card em{grid-column:2;}}


/* v3.91: keep old bottom service hint hidden whenever the live locator panel is active */
.service-panel.local-mode ~ .available-strip,
.service-panel.local-mode #serviceHintBar,
.service-panel.local-mode .service-hint-bar,
.service-panel.local-mode + .available-strip,
body:has(.service-panel.local-mode) #serviceHintBar,
body:has(.service-panel.local-mode) .service-hint-bar {
  display:none !important;
}
.local-provider-column{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;align-content:start;}
.local-vendor-card{min-height:74px;text-align:left;}
.local-results-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:start;}
.local-provider-detail{min-height:150px;}
@media(max-width:720px){.local-results-layout{grid-template-columns:1fr}.local-provider-column{grid-template-columns:1fr}.local-provider-detail{order:2}}

/* v3.92 vendor db */
.local-vendor-card small { line-height: 1.25; }
.local-provider-detail .osm-note { color:#64748b; font-weight:800; font-size:12px; }
.panel-head span { white-space: nowrap; }


/* v3.93 vendor signup database */
.vendor-signup-form{max-width:980px;margin:0 auto;border:1px solid rgba(19,58,88,.12)}
.vendor-signup-form h2{margin:0 0 6px;color:#10283f}.form-note{grid-column:1/-1;margin-top:12px;padding:12px 14px;border-radius:16px;background:#f3f8fb;color:#24465f;font-size:14px;line-height:1.45}.form-note:empty{display:none}
.vendor-signup-form button[disabled]{opacity:.65;cursor:wait}.empty-note{padding:14px;border-radius:16px;background:#f6f8fb;color:#52677a}.vendor-request-card .btn{white-space:nowrap}
@media(max-width:760px){.vendor-signup-form{padding:18px}.vendor-signup-form .grid3{display:block}.vendor-signup-form .field{margin-bottom:12px}#adminRows td{min-width:120px}}

/* v3.96 portal layout */
.auth-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:22px;align-items:start;}
.auth-card{border-radius:24px;}
.empty-note{padding:16px;border-radius:18px;background:#f7f7fb;color:#42526a;}
@media(max-width:760px){.auth-wrap{grid-template-columns:1fr}.auth-card{border-radius:18px}html,body{width:100%;max-width:100%;overflow-x:hidden}.container{max-width:100%;}.nav,.pagehero,main,section{max-width:100vw;overflow-x:hidden}}

.supabase-setup-banner{position:relative;z-index:9999;background:#fff7d6;color:#3b2f00;border-bottom:1px solid #ead58a;padding:12px 18px;font-size:14px;line-height:1.45;text-align:center}.supabase-setup-banner code{background:#fff;padding:2px 6px;border-radius:8px}.auth-wrap{align-items:start}

/* Admin role navigation */
.admin-tabs a { font-weight: 800; }
.admin-tabs a[href="admin-dashboard.html"] { color: #04306F; }
@media (max-width: 760px){ .admin-tabs { display:flex; gap:8px; overflow-x:auto; white-space:nowrap; padding:6px 0; } }

/* v4.00 admin login security and layout cleanup */
.admin-login-only{grid-template-columns:minmax(280px,720px);justify-content:center;}
.auth-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px;}
.password-wrap{display:flex;align-items:center;width:100%;border:1px solid rgba(12,30,52,.12);border-radius:18px;background:#fffaf0;overflow:hidden;}
.password-wrap input{border:0!important;box-shadow:none!important;background:transparent!important;flex:1;min-width:0;}
.password-eye{border:0;background:#eef4ff;color:#183466;font-weight:800;padding:10px 14px;border-radius:14px;margin-right:8px;cursor:pointer;white-space:nowrap;}
.btn.ghost{background:transparent;border:0;color:#244f9b;font-weight:800;padding:8px 0;margin-top:8px;cursor:pointer;}
.password-confirm-field .muted-copy{font-size:12px;font-weight:700;letter-spacing:0;text-transform:none;}
@media(max-width:760px){.admin-login-only{display:block}.auth-actions .btn{width:100%;justify-content:center}.password-eye{padding:9px 12px}}

/* v4.01 admin first-time password flow */
.auth-mode-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0 16px}
.auth-mode{border:1px solid rgba(13,31,57,.16);background:#fff;border-radius:999px;padding:11px 16px;font-weight:800;color:#22324d;cursor:pointer}
.auth-mode.active{background:#173c91;color:#fff;border-color:#173c91;box-shadow:0 10px 24px rgba(23,60,145,.18)}
.admin-email-lock{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#f8f4ea;border:1px solid rgba(13,31,57,.12);border-radius:18px;padding:15px 16px;margin-bottom:15px;flex-wrap:wrap}
.admin-email-lock span{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#66758d;font-weight:900}
.admin-email-lock b{color:#102033;word-break:break-word}
.admin-auth-panel.hidden{display:none!important}
.password-wrap{display:flex;gap:8px;align-items:center}
.password-wrap input{flex:1;min-width:0}
.password-eye{border:1px solid rgba(13,31,57,.16);background:#fff;border-radius:999px;padding:9px 12px;font-weight:800;color:#173c91;cursor:pointer}
@media(max-width:640px){.auth-mode-tabs{flex-direction:column}.auth-mode{width:100%}.admin-email-lock{display:block}.password-wrap{align-items:stretch}.password-eye{min-width:68px}}


/* v4.02 clean portals */
.clean-provider-login{max-width:760px;margin-left:auto;margin-right:auto;}
.clean-provider-login .auth-card{max-width:560px;margin:0 auto;}
.auth-small-actions{margin-top:14px;font-weight:800;}
.auth-small-actions a{color:#244b91;text-decoration:none;}
.auth-mode-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;}
.auth-mode{border:1px solid #dde3ee;background:#fff;border-radius:999px;padding:10px 14px;font-weight:900;color:#122033;cursor:pointer;}
.auth-mode.active{background:#244b91;color:#fff;border-color:#244b91;}
.password-wrap{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #dde3ee;border-radius:16px;padding-right:8px;}
.password-wrap input{border:0!important;background:transparent!important;flex:1;min-width:0;}
.password-eye{border:0;background:#eef3fb;color:#244b91;border-radius:999px;padding:8px 10px;font-weight:900;cursor:pointer;}
.hidden{display:none!important;}
.admin-email-lock{border:1px solid #dde3ee;background:#f8fbff;border-radius:16px;padding:12px 14px;margin:12px 0;display:grid;gap:4px;}
.admin-email-lock span{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:#667085;font-weight:900;}

.build-marker{position:fixed;right:8px;bottom:8px;font-size:10px;color:#64748b;background:rgba(255,255,255,.75);padding:3px 6px;border-radius:999px;z-index:9999}


/* v4.08 admin metrics */
.admin-report-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.metric-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#f2f6ff;color:#234;font-size:12px;font-weight:700}.metric-score{font-size:22px;font-weight:900;color:#0b2341}.feedback-form{margin-top:14px;padding:14px;border:1px solid rgba(11,35,65,.12);border-radius:18px;background:#fbfdff}.feedback-form .grid3{align-items:end}.admin-metrics-small{font-size:12px;color:#52606d;line-height:1.45}.export-note{font-size:12px;color:#52606d;margin-top:8px}


/* v4.09 trial clocks and feedback */
.trial-clock{display:inline-flex;flex-direction:column;gap:2px;padding:7px 10px;border-radius:14px;background:#fff8e7;border:1px solid rgba(180,126,24,.18);font-size:12px;font-weight:800;color:#6b4300}.trial-clock.expired{background:#fff1f0;color:#9a3412;border-color:rgba(180,50,24,.2)}.trial-clock small{font-weight:700;color:inherit;opacity:.75}.provider-feedback-box{margin-top:12px;padding:12px;border-radius:18px;background:#f8fbff;border:1px solid rgba(11,35,65,.1)}.provider-feedback-box h4{margin:0 0 8px;font-size:13px}.provider-feedback-box .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.provider-feedback-box input,.provider-feedback-box textarea,.provider-feedback-box select{width:100%;border:1px solid rgba(11,35,65,.14);border-radius:12px;padding:9px 10px;font:inherit}.provider-feedback-box textarea{grid-column:1/-1}.provider-feedback-note{font-size:12px;margin-top:6px;color:#315b3b}.local-provider-detail[data-provider-id]{scroll-margin-top:90px}@media(max-width:720px){.provider-feedback-box .row{grid-template-columns:1fr}.trial-clock{width:100%;align-items:flex-start}}

/* v4.11 hide public build marker, keep admin version visible */
.admin-version-note{display:inline-flex;margin-top:10px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;font-weight:800}


/* v4.12 rating and clean admin details */
.rating-stars{letter-spacing:1px;color:#111827;font-weight:800;white-space:nowrap}.rating-muted{color:var(--muted)}
.provider-feedback-box select[name="rating"]{font-weight:800}.admin-rating-note{font-size:12px;color:var(--muted)}

/* v4.13 admin feedback table controls */
.admin-table-tools{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;align-items:end;margin:16px 0;padding:14px;border:1px solid rgba(11,35,65,.1);border-radius:18px;background:#f8fbff}.admin-table-tools .field{margin:0}.admin-table-tools input,.admin-table-tools select{width:100%;border:1px solid rgba(11,35,65,.14);border-radius:12px;padding:10px 11px;font:inherit;background:#fff}.admin-table-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0 14px;color:#52606d;font-size:13px}.admin-table-summary b{color:#0b2341}.admin-data-table{width:100%;border-collapse:separate;border-spacing:0;min-width:980px}.admin-data-table th{position:sticky;top:0;background:#f2f6ff;color:#0b2341;text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;padding:12px;border-bottom:1px solid rgba(11,35,65,.12);z-index:2}.admin-data-table td{padding:12px;border-bottom:1px solid rgba(11,35,65,.08);vertical-align:top}.admin-data-table tbody tr:hover{background:#fbfdff}.admin-data-table th[data-feedback-sort]{cursor:pointer}.admin-rating-stars{white-space:nowrap;font-weight:900;color:#0b2341}.admin-status-select{border:1px solid rgba(11,35,65,.14);border-radius:999px;padding:7px 9px;background:#fff;font-weight:800}.admin-comment-cell{max-width:360px;white-space:normal;line-height:1.35}.admin-contact-cell small{display:block;color:#52606d;margin-top:3px}.feedback-empty-row{text-align:center;color:#52606d;padding:22px!important}@media(max-width:900px){.admin-table-tools{grid-template-columns:1fr 1fr}.admin-table-tools button{grid-column:1/-1}.admin-feedback-card{padding:14px}}


/* v4.14 admin charts dashboard */
.admin-charts-card{overflow:hidden}.admin-chart-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 16px}.admin-charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-chart-box{border:1px solid rgba(11,35,65,.1);background:#fbfdff;border-radius:20px;padding:16px;min-height:230px}.admin-chart-box.wide{grid-column:1/-1}.admin-chart-box h4{margin:0 0 12px;color:#0b2341}.chart-bars{display:grid;gap:10px}.chart-row{display:grid;grid-template-columns:minmax(150px,.9fr) minmax(140px,2fr) minmax(42px,.2fr);gap:10px;align-items:center}.chart-label b{display:block;font-size:13px;color:#0b2341;line-height:1.2}.chart-label small{display:block;color:#637083;font-size:11px;margin-top:2px}.chart-track{height:12px;border-radius:999px;background:#e9eef7;overflow:hidden}.chart-track span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#0b2341,#4b8dff)}.chart-value{text-align:right;font-weight:900;color:#0b2341}.chart-bars.mini .chart-row{grid-template-columns:minmax(120px,.8fr) minmax(110px,1.6fr) 42px}.chart-trend{height:210px}.trend-svg{width:100%;height:170px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid rgba(11,35,65,.08);border-radius:18px;padding:10px}.trend-svg polyline{fill:none;stroke:#0b2341;stroke-width:3;vector-effect:non-scaling-stroke}.trend-svg circle{fill:#4b8dff;stroke:#fff;stroke-width:1.2;vector-effect:non-scaling-stroke}.trend-labels{display:flex;justify-content:space-between;color:#637083;font-size:12px;margin-top:8px}.admin-version-note::after{content:' · charts dashboard';}
@media(max-width:900px){.admin-charts-grid{grid-template-columns:1fr}.chart-row,.chart-bars.mini .chart-row{grid-template-columns:1fr}.chart-value{text-align:left}.chart-track{height:14px}}

/* v4.19 Owner Cockpit and provider onboarding polish */
.owner-cockpit-hero,.provider-cockpit-hero{background:linear-gradient(135deg,#071f2b,#123f48 55%,#d8a84f);color:#fff}.owner-cockpit-hero .admin-version-note{display:inline-flex;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);padding:8px 12px;border-radius:999px}.cockpit-switcher,.cockpit-sticky-return{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.cockpit-sticky-return{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);padding:12px;border:1px solid #e9e2d2;border-radius:18px;margin-bottom:16px;box-shadow:0 10px 30px rgba(0,0,0,.06)}.cockpit-panel{border:1px solid #eadfcb;border-radius:22px;background:#fff;margin:16px 0;box-shadow:0 18px 45px rgba(11,31,42,.07);overflow:hidden}.cockpit-panel>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:18px 20px;font-weight:800;color:#0b1f2a;background:#fffaf1}.cockpit-panel>summary::-webkit-details-marker{display:none}.cockpit-panel>summary:after{content:'▾';font-size:18px}.cockpit-panel:not([open])>summary:after{content:'▸'}.cockpit-panel>summary small{font-weight:500;color:#6a5d49}.cockpit-panel>.card,.cockpit-panel>.dashboard-grid,.cockpit-panel>div:not(summary){margin:18px}.provider-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.provider-tabs button{border:1px solid #e5dcc9;background:#fff;border-radius:999px;padding:10px 14px;font-weight:800;color:#19313b}.provider-tabs button.active{background:#0b1f2a;color:#fff;border-color:#0b1f2a}.provider-tab-panel{display:none}.provider-tab-panel.active{display:block}.locked-preview{position:relative;overflow:hidden}.locked-preview:before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.58);backdrop-filter:blur(3px);pointer-events:none}.locked-preview>*{position:relative}.provider-notice{padding:12px 14px;border:1px solid #eadfcb;border-radius:14px;margin:8px 0;background:#fffaf1}.provider-notice b{display:block}.owner-action-stack{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.owner-mini-select{width:100%;max-width:170px;padding:8px;border-radius:10px;border:1px solid #e5dcc9;background:#fff}.cockpit-return-float{position:fixed;right:16px;bottom:82px;z-index:999;background:#0b1f2a;color:#fff!important;border-radius:999px;padding:12px 16px;text-decoration:none;box-shadow:0 14px 35px rgba(0,0,0,.22);font-weight:800}.public-owner-mode{outline:3px solid rgba(216,168,79,.25);outline-offset:-3px}@media(max-width:760px){.cockpit-sticky-return{top:0;border-radius:0;margin-left:-16px;margin-right:-16px}.cockpit-switcher .btn,.cockpit-sticky-return .btn{width:100%;justify-content:center}.cockpit-panel>summary{display:block}.cockpit-return-float{left:12px;right:12px;text-align:center;bottom:72px}}

/* v4.21 sticky backend, digital services and payment readiness */
.checkline{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:.95rem}.checkline input{margin-top:3px}.premium-brief-card{border:1px solid rgba(199,162,76,.35);box-shadow:0 18px 50px rgba(15,23,42,.08)}select[multiple]{min-height:150px}.locked-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}.locked-feature{border:1px solid rgba(15,23,42,.1);border-radius:18px;padding:14px;background:rgba(255,255,255,.7)}.locked-feature small{color:var(--muted)}.provider-upgrade-card{border:1px dashed rgba(199,162,76,.55)}



/* NILA v4.26 MVP mobile/order fixes */
.form-note.nila-continue-draft{
  border:1px solid rgba(26,122,106,.22);
  background:#f0fbf7;
  color:#0d3b35;
  padding:14px;
  border-radius:18px;
  margin:0 0 14px;
}
.mini-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.vendor-signup-form .btn.line[data-nila-save-later],
#adminAddVendorForm .btn.line[data-nila-save-later]{
  margin-right:10px;
  margin-top:10px;
}
select[multiple]{
  min-height:160px;
}
.form-note b{font-weight:900}
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .container{width:min(100%,92vw)}
  .hero-v29 .hero-shell{
    display:flex !important;
    flex-direction:column !important;
    gap:18px !important;
  }
  .hero-v29 .hero-copy{order:1 !important}
  .hero-v29 .product-device{order:2 !important;width:100% !important;margin:0 auto !important}
  .hero-v29 .trust-row{order:5 !important}
  .premium-search{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }
  .premium-search .field-service{order:4 !important}
  .premium-search .loc-wrap{order:3 !important}
  .premium-search .btn.gold{order:7 !important;width:100% !important;min-height:52px}
  .product-device .device-screen{max-width:100% !important}
  .service-panel{width:100% !important}
  .service-grid,.service-grid-v29{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important}
  .service-grid button,.rail-service{min-height:54px}
  .directory{
    display:flex !important;
    flex-direction:column !important;
    gap:16px !important;
  }
  .directory aside{order:1 !important;width:100% !important;position:relative !important;top:auto !important}
  .directory #results,.directory .results{order:2 !important;width:100% !important}
  .loc-actions,.actions,.links{flex-wrap:wrap}
  .btn,.loc-chip,button{min-height:44px}
  .grid3{grid-template-columns:1fr !important}
  .field[style*="grid-column"]{grid-column:auto !important}
}



/* NILA v4.27 Mobile Layout Fix */
@media (max-width: 760px) {
  html, body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .container {
    width: min(100%, 92vw);
  }

  /* Reordering sections for mobile */
  .hero-v29 .hero-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 18px !important;
  }

  /* Making sure the map and display appear before services list */
  .hero-v29 .hero-copy {
    order: 1 !important;
  }

  .hero-v29 .product-device {
    order: 2 !important;
    width: 100% !important;
    margin: 0 auto !important;
  }

  /* Fix buttons position */
  .premium-search {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }

  .premium-search .field-service {
    order: 4 !important;
  }

  .premium-search .loc-wrap {
    order: 3 !important;
  }

  .premium-search .btn.gold {
    order: 7 !important;
    width: 100% !important;
    min-height: 52px;
  }

  .service-grid,
  .service-grid-v29 {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .service-grid button,
  .rail-service {
    min-height: 54px;
  }

  .directory {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }

  .directory aside {
    order: 1 !important;
    width: 100% !important;
    position: relative !important;
    top: auto !important;
  }

  .directory #results,
  .directory .results {
    order: 2 !important;
    width: 100% !important;
  }

  .loc-actions,
  .actions,
  .links {
    flex-wrap: wrap;
  }

  .btn,
  .loc-chip,
  button {
    min-height: 44px;
  }

  .grid3 {
    grid-template-columns: 1fr !important;
  }

  .field[style*="grid-column"] {
    grid-column: auto !important;
  }
}


/* NILA v4.38 free pill position fixed
   Final hero order on web and mobile:
   Free listings open pill
   Get trusted help nearby
   Supporting paragraph
   Screen/display
*/
.hero-copy {
  display: flex;
  flex-direction: column;
}
.hero-copy > .hero-kicker {
  order: 1 !important;
  align-self: flex-start;
}
.hero-copy > .nila-main-hero-title,
.hero-copy > h1 {
  order: 2 !important;
}
.hero-copy > .nila-hero-description {
  order: 3 !important;
}
.hero-v29 .product-device,
.product-device,
.display-screen,
.map-section,
.map-wrap,
.map-preview,
#map,
#mapView,
.screen-preview,
.device-preview {
  order: 4;
}
@media (max-width: 760px) {
  .hero-copy {
    display: flex !important;
    flex-direction: column !important;
  }
  .hero-copy > .hero-kicker {
    order: 1 !important;
  }
  .hero-copy > .nila-main-hero-title,
  .hero-copy > h1 {
    order: 2 !important;
  }
  .hero-copy > .nila-hero-description {
    order: 3 !important;
  }
  .hero-v29 .hero-shell,
  .hero-shell {
    display: flex !important;
    flex-direction: column !important;
  }
  .hero-v29 .hero-copy {
    order: 1 !important;
  }
  .hero-v29 .product-device,
  .product-device,
  .display-screen,
  .map-section,
  .map-wrap,
  .map-preview,
  #map,
  #mapView,
  .screen-preview,
  .device-preview {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* NILA v4.41 mobile hero final lock
   Required mobile order:
   1. Free listings open pill
   2. Get trusted help nearby headline
   3. For home services paragraph
   4. Display screen
   5. Search form
   This must not be changed with JavaScript or CSS reorder hacks elsewhere.
*/
@media (max-width: 760px) {
  .hero-v29 .hero-shell {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
  }

  .hero-v29 .hero-copy {
    display: contents !important;
  }

  .hero-v29 .hero-copy > .hero-kicker {
    order: 1 !important;
    display: inline-flex !important;
    align-self: flex-start !important;
    margin: 0 0 2px 0 !important;
  }

  .hero-v29 .hero-copy > .nila-main-hero-title,
  .hero-v29 .hero-copy > h1 {
    order: 2 !important;
    margin: 0 !important;
  }

  .hero-v29 .hero-copy > .nila-hero-description {
    order: 3 !important;
    display: block !important;
    margin: 0 0 4px 0 !important;
  }

  .hero-v29 .product-device {
    order: 4 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }

  .hero-v29 .premium-search {
    order: 5 !important;
    width: 100% !important;
    margin: 2px 0 0 0 !important;
  }

  .hero-v29 .compact-trust {
    order: 6 !important;
  }
}

/* NILA v4.42 desktop hero repair + service overflow guard
   Desktop order: hero text first, search underneath, trust row in the middle, screen on the right.
   Mobile v4.41 hero lock remains untouched below 760px.
*/
@media (min-width: 761px) {
  .hero-v29 .hero-shell {
    display: grid !important;
    grid-template-columns: minmax(460px, 0.96fr) minmax(520px, 0.9fr) !important;
    gap: 54px !important;
    align-items: center !important;
  }

  .hero-v29 .hero-copy {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-self: center !important;
  }

  .hero-v29 .hero-kicker { order: 1 !important; }
  .hero-v29 .nila-main-hero-title,
  .hero-v29 .hero-copy > h1 { order: 2 !important; }
  .hero-v29 .nila-hero-description { order: 3 !important; }
  .hero-v29 .premium-search {
    order: 4 !important;
    margin-top: 30px !important;
    margin-bottom: 0 !important;
  }
  .hero-v29 .compact-trust {
    order: 5 !important;
    margin-top: 34px !important;
  }
  .hero-v29 .product-device {
    order: 2 !important;
    align-self: center !important;
    justify-self: stretch !important;
    max-width: 760px !important;
  }

  .hero-v29 .device-screen {
    overflow: hidden !important;
  }

  .hero-v29 .real-image-stage {
    height: 255px !important;
  }

  .hero-v29 .service-panel {
    max-height: 430px !important;
    overflow: hidden !important;
    padding: 16px !important;
  }

  .hero-v29 .service-grid-v29 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .hero-v29 .service-grid-v29 .service-card {
    min-height: 82px !important;
    padding: 12px 36px 12px 14px !important;
    border-radius: 18px !important;
  }

  .hero-v29 .service-grid-v29 .service-card .icon {
    width: 38px !important;
    height: 38px !important;
    font-size: 21px !important;
  }

  .hero-v29 .service-grid-v29 .service-card b {
    font-size: 15.5px !important;
    line-height: 1.08 !important;
  }

  .hero-v29 .service-grid-v29 .service-card small {
    font-size: 11.5px !important;
    line-height: 1.18 !important;
  }

  .hero-v29 .service-grid-v29 .service-card:nth-child(n+7) {
    display: none !important;
  }
}

@media (max-width: 760px) {
  .hero-v29 .device-screen {
    overflow: hidden !important;
  }

  .hero-v29 .service-panel {
    max-height: 390px !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-grid-v29 .service-card:nth-child(n+5) {
    display: none !important;
  }
}

/* NILA v4.43 mockup device size revert only
   Restores the device sizing from v4.41 on web and mobile.
   Do not change hero order or any other layout behavior here.
*/
@media (min-width: 761px) {
  .hero-v29 .product-device {
    width: min(100%, 620px) !important;
    max-width: 620px !important;
    justify-self: end !important;
  }

  .hero-v29 .real-image-stage {
    height: 250px !important;
  }
}

@media (max-width: 760px) {
  .hero-v29 .product-device {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
  }
}

/* NILA v4.44 inner mockup size revert only
   The outside device frame stays as it is.
   This restores only the inner screen/service-card proportions from the old working mockup.
*/
@media (min-width: 1181px) {
  .hero-v29 .device-screen {
    padding: 12px !important;
    border-radius: 36px !important;
  }
  .hero-v29 .real-image-stage {
    height: clamp(292px, 35vh, 348px) !important;
    border-radius: 28px 28px 18px 18px !important;
  }
  .hero-v29 .service-panel {
    margin-top: 10px !important;
    padding: 13px 14px 14px !important;
    border-radius: 0 0 27px 27px !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  .hero-v29 .service-grid-v29 {
    gap: 10px !important;
  }
  .hero-v29 .service-grid-v29 .service-card {
    min-height: 76px !important;
    padding: 11px 34px 11px 13px !important;
    border-radius: 18px !important;
  }
  .hero-v29 .service-grid-v29 .service-card .icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 22px !important;
  }
  .hero-v29 .service-grid-v29 .service-card b {
    font-size: 15px !important;
    line-height: 1.1 !important;
  }
  .hero-v29 .service-grid-v29 .service-card small {
    font-size: 12px !important;
    line-height: 1.25 !important;
    max-width: 170px !important;
  }
}

@media (max-width: 1180px) {
  .hero-v29 .device-screen {
    padding: 12px !important;
  }
  .hero-v29 .real-image-stage {
    height: 250px !important;
  }
  .hero-v29 .service-panel {
    padding: 13px !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  .hero-v29 .service-grid-v29 .service-card {
    min-height: 82px !important;
  }
}

@media (max-width: 720px) {
  .hero-v29 .device-screen {
    border-radius: 28px !important;
    padding: 9px !important;
  }
  .hero-v29 .real-image-stage {
    height: 225px !important;
    border-radius: 24px 24px 16px 16px !important;
  }
  .hero-v29 .service-panel {
    padding: 13px !important;
    max-height: none !important;
    overflow: hidden !important;
  }
  .hero-v29 .service-grid-v29 .service-card {
    min-height: 82px !important;
  }
  .hero-v29 .service-grid-v29 .service-card .icon {
    width: 40px !important;
    height: 40px !important;
    font-size: 22px !important;
  }
}

/* v4.48: lower sections locked clean without touching hero or mockup */
#featuredProviders{
  align-items:stretch;
}
#featuredProviders.grid3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
#featuredProviders .provider-card,
#featuredProviders .provider-empty-card{
  min-width:0;
  overflow:hidden;
}
#featuredProviders .provider-card{
  grid-template-columns:auto minmax(0,1fr);
}
#featuredProviders .provider-card h3,
#featuredProviders .provider-card p,
#featuredProviders .provider-card .meta{
  min-width:0;
  overflow-wrap:anywhere;
}
.provider-empty-card{
  grid-column:1/-1;
  text-align:left;
}
.mobile-provider-empty{
  width:100%;
  background:#fff;
  border:1px solid rgba(13,32,51,.1);
  border-radius:18px;
  padding:14px;
  color:#40536a;
  font-weight:850;
  line-height:1.35;
  box-shadow:0 10px 24px rgba(14,58,102,.08);
}
.plan-section .container,
.section.alt .container{
  max-width:1180px;
}
#planCards.grid4{
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
}
#planCards .card{
  min-width:0;
  overflow:hidden;
}
#planCards .card h3,
#planCards .card p,
#planCards .meta,
#planCards .badge{
  min-width:0;
  overflow-wrap:anywhere;
}
#planCards .meta{
  align-items:flex-start;
}
#planCards .badge{
  max-width:100%;
  white-space:normal;
  line-height:1.25;
}
.plan-toggle-strip{
  grid-column:1/-1;
  max-width:100%;
}
.plan-chip{
  flex:0 0 auto;
  max-width:82vw;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media(max-width:1080px){
  #featuredProviders.grid3,
  #planCards.grid4{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:720px){
  .section.alt,
  .plan-section{padding-left:0;padding-right:0;overflow:hidden;}
  #featuredProviders.grid3,
  #planCards.grid4{grid-template-columns:1fr;}
  #featuredProviders .provider-card:nth-child(n),
  #planCards .card:nth-child(n){display:block;}
  #featuredProviders .provider-card{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:15px;border-radius:20px;}
  #featuredProviders .provider-card .actions2 .btn{width:100%;}
  .plan-toggle-strip{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 12px;margin:0 0 2px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  #planCards .card{display:none;margin-bottom:10px;border-radius:20px;padding:14px;box-shadow:0 10px 24px rgba(14,58,102,.08);}
  #planCards .card.active{display:block;}
  #planCards .card:hover{transform:none;}
  .plan-card-mobile .mobile-plan-summary{display:flex;width:100%;border:0;background:transparent;padding:0;text-align:left;}
  .plan-card-mobile .mobile-plan-details{display:none;margin-top:12px;padding-top:12px;border-top:1px solid rgba(13,32,51,.08);}
  .plan-card-mobile.open .mobile-plan-details{display:block;}
}
@media(max-width:390px){
  .plan-chip{font-size:12px;padding:9px 10px;}
  #featuredProviders .provider-card{grid-template-columns:1fr;}
}

/* v4.49: mobile-only containment for the two sections below hero. Do not touch hero or mockup. */
@media (max-width:720px){
  .section.alt,
  .plan-section{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .section.alt > .container,
  .plan-section > .container{
    width:calc(100% - 32px) !important;
    max-width:420px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    overflow:hidden !important;
  }
  .section.alt .head,
  .plan-section .head,
  .plan-head{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:12px !important;
    width:100% !important;
    margin-bottom:16px !important;
  }
  .section.alt .head > div,
  .plan-section .head > div{
    width:100% !important;
    min-width:0 !important;
  }
  .section.alt .head h2,
  .plan-section .head h2{
    max-width:100% !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  .section.alt .head p,
  .plan-section .head p{
    max-width:100% !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  .plan-head .btn{
    width:auto !important;
    max-width:190px !important;
    padding:11px 18px !important;
    min-height:44px !important;
  }
  #featuredProviders.grid3,
  #planCards.grid4{
    width:100% !important;
    max-width:100% !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    overflow:hidden !important;
  }
  #featuredProviders .provider-card,
  #featuredProviders .provider-empty-card,
  #planCards .card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
  }
  #featuredProviders .provider-card *,
  #featuredProviders .provider-empty-card *,
  #planCards .card *{
    max-width:100% !important;
    min-width:0 !important;
  }
  #featuredProviders .provider-card h3,
  #featuredProviders .provider-card p,
  #featuredProviders .provider-empty-card h3,
  #featuredProviders .provider-empty-card p,
  #planCards .card h3,
  #planCards .card p{
    overflow-wrap:normal !important;
    word-break:normal !important;
    hyphens:none !important;
  }
  #featuredProviders .meta,
  #planCards .meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    max-width:100% !important;
  }
  #featuredProviders .badge,
  #planCards .badge{
    max-width:100% !important;
    white-space:normal !important;
    line-height:1.25 !important;
  }
  .plan-toggle-strip{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    gap:8px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    padding:2px 2px 12px !important;
    margin:0 !important;
    -webkit-overflow-scrolling:touch !important;
  }
  .plan-chip{
    flex:0 0 auto !important;
    max-width:74vw !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}


/* v4.52 public vendor entry and clickable mobile controls lock */
.public-vendor-entry{
  position:relative;z-index:3;margin-top:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:14px 16px;border-radius:22px;background:rgba(255,255,255,.94);color:#102033;border:1px solid rgba(255,255,255,.55);
  box-shadow:0 16px 34px rgba(3,18,38,.16);max-width:700px;
}
.public-vendor-entry b{display:block;font-size:15px;color:#102033;}
.public-vendor-entry span{display:block;font-size:13px;color:#526070;line-height:1.35;margin-top:2px;}
.public-vendor-actions{display:flex;gap:8px;align-items:center;flex-shrink:0;}
.public-vendor-actions .btn{min-height:44px;padding:10px 14px;font-size:13px;width:auto;}
@media(max-width:720px){
  .public-vendor-entry{display:grid;grid-template-columns:1fr;gap:10px;margin-top:10px;padding:13px;border-radius:22px;}
  .public-vendor-entry b{font-size:16px;}
  .public-vendor-entry span{font-size:13px;}
  .public-vendor-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .public-vendor-actions .btn{width:100% !important;min-height:48px !important;font-size:13px !important;border-radius:17px !important;}
  .mobilebar{display:none !important;visibility:hidden !important;}
  .mobilebar a{display:flex !important;align-items:center !important;justify-content:center !important;min-height:52px !important;color:#fff !important;text-decoration:none !important;font-size:12px !important;font-weight:900 !important;padding:7px 4px !important;}
  .mobilebar a:nth-child(3){background:#f1c365 !important;color:#102033 !important;}
  body{padding-bottom:78px;}
  .navin.open .links,.navin.open .actions{z-index:2147482500 !important;pointer-events:auto !important;}
  .navin.open .actions{position:absolute !important;left:4vw !important;right:4vw !important;top:250px !important;margin-top:0 !important;background:white !important;border:1px solid var(--line) !important;border-radius:22px !important;padding:12px !important;box-shadow:var(--shadow) !important;display:flex !important;flex-direction:column !important;}
}
/* Undo old hidden dropdown lock so search/location buttons can be used */
#locDropdown.open,.loc-dropdown.open{display:block !important;visibility:visible !important;pointer-events:auto !important;}
.compact-service-menu.open,.service-suggest.open{display:block !important;visibility:visible !important;pointer-events:auto !important;}
button,.btn,a[href],input,select,textarea{pointer-events:auto;}

/* v4.56 global mobile containment lock - stops lower pages/sections bursting past the screen */
@media (max-width: 760px){
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  .section,
  .pagehero,
  .footer,
  main{
    overflow-x:hidden;
  }

  .container{
    width:calc(100% - 32px);
    max-width:calc(100% - 32px);
    margin-left:auto;
    margin-right:auto;
  }

  .head,
  .card,
  .provider-card,
  .result,
  .dashboard-grid,
  .grid3,
  .grid4,
  .directory,
  .results,
  .actions2,
  .meta{
    min-width:0;
    max-width:100%;
  }

  .grid3,
  .grid4,
  .dashboard-grid,
  .directory{
    grid-template-columns:1fr!important;
  }

  .card,
  .provider-card,
  .result{
    overflow-wrap:anywhere;
    word-break:normal;
  }

  img,
  video,
  canvas,
  svg{
    max-width:100%;
  }

  input,
  select,
  textarea,
  button,
  .btn{
    max-width:100%;
  }

  table{
    display:block;
    max-width:100%;
    overflow-x:auto;
  }
}


/* v4.57 hard mobile containment and clean journey lock
   Keep hero/mockup sizing untouched. This controls all sections below and all inner pages. */
@media (max-width:760px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:hidden !important;
  }
  body{
    position:relative !important;
  }
  main,
  footer,
  .nav,
  .pagehero,
  section:not(.hero-v29),
  .section:not(.hero-v29){
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow-x:clip !important;
    box-sizing:border-box !important;
  }
  .container,
  section.container,
  .section.container,
  main > .container,
  .pagehero > .container,
  section:not(.hero-v29) > .container,
  footer .container{
    width:min(100% - 28px, 430px) !important;
    max-width:min(100% - 28px, 430px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    overflow-x:clip !important;
  }
  .hero-v29 > .container,
  .hero-v29 .hero-shell{
    overflow-x:hidden !important;
  }
  .card,
  .result,
  .provider-card,
  .provider-empty-card,
  .price-card,
  .auth-card,
  .vendor-signup-form,
  .premium-brief-card,
  .cockpit-panel,
  .dashboard-grid,
  .directory,
  .results,
  .grid3,
  .grid4,
  .field,
  .actions2,
  .meta,
  .head,
  .plan-head,
  .footer .foot,
  table,
  form{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .grid3,
  .grid4,
  .dashboard-grid,
  .directory,
  .auth-wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
  }
  .card,
  .result,
  .provider-card,
  .provider-empty-card,
  .price-card,
  .auth-card,
  .premium-brief-card{
    width:100% !important;
    overflow:hidden !important;
    border-radius:20px !important;
  }
  .provider-card{
    display:grid !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
  }
  .provider-card .avatar{
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
  }
  .provider-card h3,
  .provider-card p,
  .provider-empty-card h3,
  .provider-empty-card p,
  .card h2,
  .card h3,
  .card p,
  .head h2,
  .head p,
  .pagehero h1,
  .pagehero p{
    max-width:100% !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
  }
  .meta,
  .actions2{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
  }
  .badge{
    max-width:100% !important;
    white-space:normal !important;
    line-height:1.25 !important;
  }
  input,
  select,
  textarea,
  button,
  .btn{
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  img,
  svg,
  video,
  iframe,
  canvas{
    max-width:100% !important;
  }
  table{
    display:block !important;
    overflow-x:auto !important;
    width:100% !important;
  }
  [style*="grid-column:1/-1"]{
    grid-column:auto !important;
  }
  .mobile-provider-showcase{
    display:none !important;
  }
}

/* v4.57 homepage provider results only: no second search, no extra lower buttons */
.section.alt .head{
  margin-bottom:16px;
}
#featuredProviders .provider-card .actions2 .btn.green{
  display:none !important;
}
#featuredProviders .provider-card .actions2 .btn.soft{
  width:auto;
}
@media (max-width:760px){
  .section.alt{
    padding-top:30px !important;
  }
  #featuredProviders .provider-card .actions2 .btn.soft{
    width:100% !important;
    justify-content:center !important;
  }
}


/* v4.59 approved-only mobile cleanup: no sticky mobile bar, contained pages, no horizontal bursting. */
.mobilebar{display:none !important;}
@media(max-width:720px){
  html,body{width:100% !important;max-width:100% !important;overflow-x:hidden !important;}
  *,*::before,*::after{box-sizing:border-box;}
  body > *, main, section, footer, nav{max-width:100vw !important;}
  .container,.hero-shell,.section > .container,.pagehero .container,.footer .container{
    width:min(100% - 28px, 680px) !important;
    max-width:680px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .section,.pagehero,.plan-section,.alt{
    overflow-x:hidden !important;
  }
  .grid3,.grid4,.service-grid,.service-grid-v29,#featuredProviders,#planCards{
    max-width:100% !important;
  }
  img,svg,video,canvas,iframe{max-width:100%;}
  .card,.trust-item,.field,.premium-search,.product-device,.device-screen{
    max-width:100% !important;
  }
}


/* v4.60: remove unrequested sticky mobile bottom bar everywhere */
.mobilebar, .mobilebar *, nav.mobilebar, div.mobilebar, .bottom-mobile-nav, .sticky-mobile-nav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media(max-width:1080px){
  .mobilebar, .mobilebar * { display:none !important; visibility:hidden !important; }
}
.footer{padding-bottom:30px !important;}


/* v4.61 lock: no sticky mobile bottom navigation. Requested removal. */
.mobilebar,
.mobilebar *,
.bottom-mobile-nav,
.bottom-mobile-nav *,
.mobile-bottom-nav,
.mobile-bottom-nav *,
.sticky-mobile-nav,
.sticky-mobile-nav *,
[data-mobilebar],
[data-mobilebar] * {
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}
@media(max-width:1080px){
  .mobilebar, .mobilebar * {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
}


/* v4.62 final mobile cleanup: no unrequested bottom sticky bar, no extra bottom gap. */
.mobilebar,
.mobilebar *,
.bottom-mobile-nav,
.bottom-mobile-nav *,
.mobile-bottom-nav,
.mobile-bottom-nav *,
.sticky-mobile-nav,
.sticky-mobile-nav *,
[data-mobilebar],
[data-mobilebar] *{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
}
@media(max-width:1080px){
  body{padding-bottom:0 !important;}
}


/* v4.64 mobile map and result-card lock: real light map, 3 visible pins, cards below. */
.top-local-map,
.top-local-map.proper-map,
.real-gps-shell,
.real-gps-shell.proper-leaflet-map,
.proper-leaflet-map{
  background:#e8f1ed !important;
}
.real-live-map,
.real-live-map .leaflet-container,
.top-local-map .leaflet-container,
.top-local-map #_mm{
  background:#e8f1ed !important;
  opacity:1 !important;
  filter:none !important;
}
.real-live-map .leaflet-tile,
.real-live-map .leaflet-tile-pane,
.top-local-map .leaflet-tile,
.top-local-map .leaflet-tile-pane{
  opacity:1 !important;
  visibility:visible !important;
  filter:saturate(.95) contrast(.98) brightness(1.02) !important;
}
.real-live-map:after{display:none !important;}
.empty-provider-results{
  grid-column:1/-1;
  padding:18px;
  border:1px solid rgba(11,35,65,.10);
  border-radius:20px;
  background:#fff;
  color:#52606d;
  font-weight:800;
}
@media(max-width:720px){
  .real-image-stage.map-active{height:min(68vh,460px) !important;min-height:360px !important;}
  .top-local-map{background:#e8f1ed !important;}
  .top-local-map #_mm{min-height:300px !important;}
  #featuredProviders.grid3{grid-template-columns:1fr !important;gap:12px !important;}
  #featuredProviders .provider-card{width:100% !important;max-width:100% !important;}
}


/* v4.66: mobile-only map and results journey fix */
@media(max-width:720px){
  .mobilebar{display:none !important;visibility:hidden !important;pointer-events:none !important;}
  .real-image-stage.map-active{height:430px !important;min-height:430px !important;background:#eef5f5 !important;overflow:hidden !important;}
  .top-local-map,.gps-map-shell{background:#eef5f5 !important;overflow:hidden !important;}
  .real-live-map,#_mm{display:block !important;width:100% !important;height:100% !important;min-height:335px !important;background:#dcebef !important;z-index:1 !important;}
  #_mm.leaflet-container,.real-live-map.leaflet-container{background:#dcebef !important;touch-action:pan-x pan-y pinch-zoom !important;}
  .leaflet-pane,.leaflet-map-pane,.leaflet-tile-pane,.leaflet-layer{z-index:auto !important;}
  .leaflet-tile{opacity:1 !important;visibility:visible !important;filter:none !important;}
  .leaflet-container img.leaflet-tile{max-width:none !important;max-height:none !important;}
  .leaflet-control-zoom{transform:scale(1.12) !important;transform-origin:top left !important;margin:12px !important;}
  .leaflet-control-zoom a{width:36px !important;height:36px !important;line-height:36px !important;font-size:22px !important;}
  .service-panel.local-mode .mobile-service-collapse{display:block !important;margin:0 0 10px !important;border:1px solid rgba(13,32,51,.10) !important;border-radius:16px !important;background:#fff !important;overflow:hidden !important;}
  .service-panel.local-mode .mobile-service-collapse summary{list-style:none;cursor:pointer;padding:12px 14px;font-weight:950;color:#102033;display:flex;justify-content:space-between;align-items:center;}
  .service-panel.local-mode .mobile-service-collapse summary::-webkit-details-marker{display:none;}
  .service-panel.local-mode .mobile-service-collapse summary:after{content:'⌄';font-size:18px;color:#1f61ae;}
  .service-panel.local-mode .mobile-service-collapse[open] summary:after{content:'⌃';}
  .service-panel.local-mode .mobile-service-collapse .svc-pill-row{border-top:1px solid rgba(13,32,51,.08) !important;padding:10px !important;margin:0 !important;display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;}
  .service-panel.local-mode .local-results-layout{display:flex !important;flex-direction:column !important;gap:10px !important;}
  .service-panel.local-mode .local-provider-column{order:1 !important;display:grid !important;grid-template-columns:1fr !important;gap:8px !important;max-height:none !important;overflow:visible !important;}
  .service-panel.local-mode .local-provider-detail{order:2 !important;position:static !important;display:block !important;min-height:auto !important;max-height:none !important;}
  .service-panel.local-mode .local-vendor-card{width:100% !important;min-height:74px !important;}
}
@media(min-width:721px){
  .mobile-service-collapse{display:block;border:0;background:transparent;margin:0 0 12px;}
  .mobile-service-collapse summary{display:none;}
  .mobile-service-collapse .svc-pill-row{display:flex !important;flex-wrap:wrap !important;gap:8px !important;}
}


/* v4.68 provider cards and map selection polish - approved change only */
.service-panel.local-mode .local-provider-column .local-vendor-card.selected{
  border-color:#16a36a !important;
  box-shadow:0 0 0 3px rgba(22,163,106,.16),0 14px 30px rgba(11,35,64,.10) !important;
  background:#f7fffb !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  overflow:visible !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card b,
.service-panel.local-mode .local-provider-column .local-vendor-card small{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-width:none !important;
  line-height:1.25 !important;
}
.local-provider-detail,
.local-provider-detail *{min-width:0;}
.local-provider-detail p{
  display:block !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
}
.local-detail-actions{display:flex !important;flex-wrap:wrap !important;gap:8px !important;}
.local-detail-actions .btn{flex:1 1 auto !important;min-width:92px !important;text-align:center !important;justify-content:center !important;}
#featuredProviders .provider-card{overflow:visible !important;}
#featuredProviders .provider-card-body{min-width:0 !important;}
#featuredProviders .provider-card h3,
#featuredProviders .provider-card p{
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
}
#featuredProviders .provider-card-actions{display:flex !important;flex-wrap:wrap !important;gap:8px !important;}
#featuredProviders .provider-card-actions .btn{flex:1 1 96px !important;justify-content:center !important;text-align:center !important;}
@media(max-width:720px){
  #featuredProviders .provider-card p{display:block !important;-webkit-line-clamp:unset !important;}
  #featuredProviders .provider-card .actions2{grid-template-columns:1fr 1fr !important;}
  #featuredProviders .provider-card .actions2 .btn:nth-child(3){grid-column:1/-1 !important;}
}


/* v4.69 mobile category/result flow lock: category selector collapses after choice, results stay in same view */
@media (max-width: 720px){
  .mobile-service-collapse{
    display:block !important;
    width:100% !important;
    margin:0 0 12px !important;
    border:1px solid rgba(13,32,51,.10) !important;
    border-radius:16px !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .mobile-service-collapse summary{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:44px !important;
    padding:12px 14px !important;
    font-weight:850 !important;
    color:#123 !important;
    cursor:pointer !important;
    list-style:none !important;
  }
  .mobile-service-collapse summary::-webkit-details-marker{display:none !important;}
  .mobile-service-collapse summary:after{content:"⌄";font-size:16px;color:var(--green);}
  .mobile-service-collapse[open] summary:after{content:"⌃";}
  .mobile-service-collapse .svc-pill-row{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    padding:0 10px 10px !important;
    max-height:260px !important;
    overflow:auto !important;
  }
  .mobile-service-collapse .svc-pill{
    min-height:42px !important;
    padding:9px 10px !important;
    border-radius:13px !important;
    white-space:normal !important;
    line-height:1.15 !important;
    text-align:left !important;
  }
  .service-panel.local-mode #serviceGrid{
    display:block !important;
  }
  .local-results-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    width:100% !important;
  }
  .local-provider-column{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
  }
  .local-vendor-card{
    width:100% !important;
    max-width:100% !important;
    min-height:58px !important;
    white-space:normal !important;
    overflow:visible !important;
  }
  .local-vendor-card b,
  .local-vendor-card small{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }
  .local-provider-detail{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
}


/* v4.71 approved mobile-only flow: real map visibility, smoother results focus, horizontal category chooser */
@media (max-width:720px){
  .real-image-stage.map-active,
  .top-local-map,
  .gps-map-shell,
  .proper-leaflet-map{
    background:#e7f0ec !important;
  }
  .real-image-stage.map-active{
    height:420px !important;
    min-height:420px !important;
  }
  .top-local-map{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    overflow:hidden !important;
  }
  .gps-map-shell{
    height:100% !important;
    min-height:100% !important;
    display:grid !important;
    grid-template-rows:42px minmax(300px,1fr) 40px !important;
  }
  .real-live-map,
  #_mm,
  #_mm.leaflet-container,
  .real-live-map.leaflet-container{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:300px !important;
    background:#e6efe8 !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  .leaflet-container{background:#e6efe8 !important;}
  .leaflet-map-pane{z-index:400 !important;}
  .leaflet-tile-pane{z-index:200 !important;}
  .leaflet-overlay-pane{z-index:400 !important;}
  .leaflet-marker-pane{z-index:600 !important;}
  .leaflet-tooltip-pane{z-index:650 !important;}
  .leaflet-popup-pane{z-index:700 !important;}
  .leaflet-tile,
  .leaflet-container img.leaflet-tile{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    max-width:none !important;
    max-height:none !important;
    filter:none !important;
  }
  .mobile-category-strip{
    border:1px solid rgba(13,32,51,.10) !important;
    border-radius:16px !important;
    background:#fff !important;
    overflow:hidden !important;
    margin:0 0 10px !important;
  }
  .mobile-category-strip summary{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    min-height:46px !important;
    padding:11px 13px !important;
    cursor:pointer !important;
    list-style:none !important;
  }
  .mobile-category-strip summary span{
    min-width:0 !important;
    font-size:12px !important;
    color:#667 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .mobile-category-strip summary b{
    flex:0 0 auto !important;
    font-size:12px !important;
    color:#12693f !important;
    background:#e9f8ef !important;
    padding:7px 10px !important;
    border-radius:999px !important;
  }
  .mobile-category-strip summary:after{content:none !important;}
  .mobile-category-strip .svc-pill-row{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    padding:0 10px 10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    max-height:none !important;
    border-top:0 !important;
  }
  .mobile-category-strip .svc-pill{
    flex:0 0 auto !important;
    min-width:max-content !important;
    max-width:170px !important;
    min-height:40px !important;
    padding:9px 12px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    scroll-snap-align:start !important;
    text-align:center !important;
  }
  .mobile-category-strip .svc-pill.active{
    background:#123f48 !important;
    color:#fff !important;
    border-color:#123f48 !important;
  }
  .service-panel.local-mode #serviceGrid{
    scroll-margin-top:74px !important;
  }
  .service-panel.local-mode .local-results-layout,
  .service-panel.local-mode .local-provider-column{
    scroll-margin-top:74px !important;
  }
}


/* v4.72 approved fix: web can switch category after results, contact actions are real links */
.service-change-strip{margin:0 0 12px;border:1px solid rgba(11,35,65,.10);border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(11,35,65,.06);overflow:hidden;}
.service-change-strip summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;font-size:13px;color:#334;}
.service-change-strip summary::-webkit-details-marker{display:none;}
.service-change-strip summary b{color:#0b6b52;font-size:12px;white-space:nowrap;}
.service-change-strip .svc-pill-row{display:flex;gap:8px;overflow-x:auto;padding:0 12px 12px;scrollbar-width:thin;}
.service-change-strip .svc-pill{flex:0 0 auto;border:1px solid rgba(11,35,65,.12);border-radius:999px;background:#f8fbff;padding:9px 12px;font-weight:800;font-size:12px;color:#123;cursor:pointer;}
.service-change-strip .svc-pill.active{background:#eaf8f0;border-color:rgba(27,135,86,.35);color:#116343;}
.local-detail-actions .btn{pointer-events:auto;}
@media(min-width:721px){
  .service-change-strip{display:block !important;}
  .service-change-strip summary{padding:10px 14px;}
  .service-change-strip .svc-pill-row{flex-wrap:wrap;overflow:visible;}
}
@media(max-width:720px){
  .service-change-strip .svc-pill-row{flex-wrap:nowrap;}
}

/* v4.73 mobile soft premium polish only: subtle Apple-style surfaces for category and selected keypad/results area */
@media(max-width:720px){
  .mobile-category-strip,
  .service-change-strip{
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(246,249,252,.92)) !important;
    border:1px solid rgba(15,38,61,.10) !important;
    box-shadow:0 10px 28px rgba(15,38,61,.08), inset 0 1px 0 rgba(255,255,255,.92) !important;
    backdrop-filter:blur(10px) !important;
    -webkit-backdrop-filter:blur(10px) !important;
  }
  .mobile-category-strip summary,
  .service-change-strip summary{
    background:linear-gradient(180deg,rgba(255,255,255,.62),rgba(248,251,253,.36)) !important;
  }
  .mobile-category-strip summary b,
  .service-change-strip summary b{
    background:linear-gradient(180deg,#effaf4,#e5f5ee) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 4px 12px rgba(17,99,67,.08) !important;
  }
  .mobile-category-strip .svc-pill,
  .service-change-strip .svc-pill{
    background:linear-gradient(180deg,#ffffff,#f5f8fb) !important;
    box-shadow:0 5px 14px rgba(15,38,61,.06), inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
  .mobile-category-strip .svc-pill.active,
  .service-change-strip .svc-pill.active{
    background:linear-gradient(180deg,#173f46,#0f333a) !important;
    box-shadow:0 8px 18px rgba(15,51,58,.18), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  .local-results-layout,
  .local-provider-column,
  .mini-providers,
  .local-detail-card,
  .provider-card,
  .local-card{
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(247,250,252,.94)) !important;
    border-color:rgba(15,38,61,.09) !important;
    box-shadow:0 12px 30px rgba(15,38,61,.07), inset 0 1px 0 rgba(255,255,255,.88) !important;
  }
}


/* v4.74 approved mobile-only polish: shorter postcode tab, visible map tiles, softer Apple-style mockup surface */
@media (max-width:720px){
  /* Make the postcode tab feel like a partner to Find help, not a huge block */
  .hero-v29 .premium-search{
    gap:10px !important;
  }
  .hero-v29 .premium-search .field,
  .hero-v29 .premium-search .loc-wrap .field{
    min-height:74px !important;
    height:74px !important;
    border-radius:20px !important;
    padding:10px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }
  .hero-v29 .premium-search .btn.gold{
    min-height:74px !important;
    height:74px !important;
    border-radius:20px !important;
  }
  .hero-v29 .premium-search label{
    font-size:10px !important;
    letter-spacing:.12em !important;
    margin-bottom:4px !important;
  }
  .hero-v29 .premium-search input{
    font-size:18px !important;
    line-height:1.15 !important;
  }
  .hero-v29 .loc-pin{
    right:14px !important;
    bottom:20px !important;
    font-size:18px !important;
  }

  /* Real map visibility on mobile: no blank/black background */
  .real-image-stage.map-active{
    background:#e9f1ec !important;
    isolation:isolate !important;
  }
  .real-image-stage.map-active > img,
  .real-image-stage.map-active .image-wash,
  .real-image-stage.map-active .service-motion-rail{
    display:none !important;
  }
  .top-local-map,
  .top-local-map *{
    box-sizing:border-box !important;
  }
  .top-local-map{
    z-index:60 !important;
    background:#e9f1ec !important;
  }
  .proper-leaflet-map,
  .gps-map-shell{
    background:#e9f1ec !important;
    border-radius:22px !important;
  }
  #_mm,
  .real-live-map,
  #_mm.leaflet-container,
  .real-live-map.leaflet-container{
    position:relative !important;
    z-index:1 !important;
    width:100% !important;
    height:100% !important;
    min-height:318px !important;
    background:#e9f1ec !important;
    transform:translateZ(0) !important;
  }
  #_mm .leaflet-pane,
  #_mm .leaflet-tile-pane,
  #_mm .leaflet-map-pane,
  #_mm .leaflet-marker-pane,
  #_mm .leaflet-overlay-pane,
  #_mm .leaflet-popup-pane{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
  }
  #_mm img.leaflet-tile,
  .leaflet-container img.leaflet-tile{
    display:block !important;
    opacity:1 !important;
    visibility:visible !important;
    width:256px !important;
    height:256px !important;
    max-width:none !important;
    max-height:none !important;
    filter:none !important;
    mix-blend-mode:normal !important;
  }

  /* Make the mockup keypad/results area actually feel premium, not flat white */
  .device-screen{
    background:linear-gradient(180deg,#f7f9fb 0%,#eef4f2 100%) !important;
  }
  .service-panel{
    background:
      radial-gradient(circle at 18% 0%, rgba(255,255,255,.98), rgba(255,255,255,0) 34%),
      linear-gradient(180deg, rgba(255,255,255,.94), rgba(242,247,245,.96)) !important;
    border:1px solid rgba(15,38,61,.08) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.96), 0 -1px 0 rgba(15,38,61,.04) !important;
  }
  .service-panel.local-mode{
    background:
      radial-gradient(circle at 20% 0%, rgba(255,255,255,1), rgba(255,255,255,0) 32%),
      linear-gradient(180deg,#fbfcfd 0%,#eef5f2 100%) !important;
  }
  .service-change-strip,
  .mobile-category-strip,
  .panel-location-box,
  .local-provider-column,
  .local-provider-detail{
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,249,.96)) !important;
    border:1px solid rgba(14,38,60,.10) !important;
    box-shadow:0 12px 28px rgba(14,38,60,.08), inset 0 1px 0 rgba(255,255,255,.95) !important;
  }
}

/* v4.75 cards and map pins match. See more loads the next batch. */
.local-see-more{
  width:100%;
  justify-content:center;
  margin-top:4px;
}
.local-see-more-note{
  display:block;
  text-align:center;
  color:#6b7787;
  font-size:11px;
  line-height:1.3;
  margin-top:-2px;
}
@media(max-width:720px){
  .local-see-more{min-height:42px;border-radius:16px;font-size:13px;}
  .local-see-more-note{font-size:10.5px;padding:0 6px;}
}


/* v4.76 mobile controls: compact postcode/category area, results stay visible */
@media(max-width:720px){
  .premium-search{
    gap:8px !important;
    padding:10px !important;
  }
  .premium-search .field{
    min-height:56px !important;
    padding:9px 12px !important;
    border-radius:17px !important;
  }
  .premium-search .field label{
    font-size:9.5px !important;
    letter-spacing:.08em !important;
    margin-bottom:3px !important;
    line-height:1 !important;
  }
  .premium-search .field input{
    font-size:14px !important;
    min-height:24px !important;
    line-height:1.1 !important;
  }
  .premium-search .btn.gold{
    min-height:50px !important;
    padding:12px 16px !important;
    border-radius:17px !important;
  }
  .panel-location-box,
  .panel-location-box.compact-mobile-locator{
    margin-top:6px !important;
    padding:10px !important;
    border-radius:16px !important;
    box-shadow:0 8px 18px rgba(9,35,66,.055) !important;
  }
  .panel-location-box b{
    font-size:13px !important;
    margin-bottom:2px !important;
  }
  .panel-location-box p{
    font-size:11.5px !important;
    line-height:1.25 !important;
    margin:0 0 8px !important;
  }
  .panel-location-row{
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }
  .panel-location-input{
    grid-column:1 / -1 !important;
    height:38px !important;
    min-height:38px !important;
    padding:0 11px !important;
    border-radius:13px !important;
    font-size:13px !important;
  }
  .panel-location-row .btn{
    min-height:38px !important;
    padding:9px 10px !important;
    border-radius:13px !important;
    font-size:12px !important;
    width:100% !important;
  }
  #panelLocationNote{
    margin-top:5px !important;
    font-size:10.5px !important;
  }
  .service-panel.local-mode .local-results-layout{
    gap:7px !important;
  }
  .service-panel.local-mode .local-provider-column{
    margin-top:0 !important;
    gap:8px !important;
  }
  .service-panel.local-mode .local-vendor-card{
    min-height:66px !important;
    padding:10px !important;
    border-radius:16px !important;
  }
  .mobile-category-strip summary{
    min-height:38px !important;
    padding:8px 10px !important;
    border-radius:14px !important;
  }
  .mobile-category-strip summary span,
  .mobile-category-strip summary b{
    font-size:12px !important;
  }
}


/* v4.77: remove duplicate bottom provider list on mobile only.
   Mobile results now live inside the main screen/map flow above. */
@media (max-width:720px){
  body.home-page section.alt:has(#featuredProviders){
    display:none !important;
  }
}

/* Provider profile page */
.provider-profile-main{background:linear-gradient(180deg,#f7fbff 0%,#ffffff 42%);}
.provider-profile-wrap{max-width:980px;margin:0 auto;padding:42px 20px 70px;}
.provider-profile-hero{background:rgba(255,255,255,.92);border:1px solid rgba(13,32,51,.08);border-radius:30px;padding:24px;box-shadow:0 22px 60px rgba(14,58,102,.10);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:start;}
.provider-profile-kicker{display:inline-flex;gap:8px;align-items:center;background:#e9f7ef;color:#0b6738;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;margin-bottom:10px;}
.provider-profile-hero h1{font-size:clamp(32px,5vw,56px);line-height:.98;margin:0 0 10px;color:#09213f;letter-spacing:-.045em;}
.provider-profile-hero p{margin:0;color:#52647a;line-height:1.55;max-width:640px;}
.provider-profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.provider-profile-avatar{width:74px;height:74px;border-radius:24px;background:linear-gradient(135deg,#eaf5ff,#fff4d9);display:grid;place-items:center;font-weight:950;color:#04306F;font-size:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85);}
.provider-profile-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-top:18px;}
.provider-profile-card{background:#fff;border:1px solid rgba(13,32,51,.08);border-radius:24px;padding:20px;box-shadow:0 14px 34px rgba(14,58,102,.07);}
.provider-profile-card h2{font-size:18px;margin:0 0 10px;color:#09213f;}
.provider-profile-card p,.provider-profile-card li{color:#52647a;line-height:1.55;font-size:14px;}
.provider-profile-card ul{margin:8px 0 0;padding-left:18px;}
.provider-profile-meta{display:grid;gap:10px;}
.provider-profile-meta div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(13,32,51,.07);padding-bottom:9px;font-size:14px;color:#52647a;}
.provider-profile-meta b{color:#09213f;}
.provider-profile-empty{text-align:center;background:#fff;border:1px solid rgba(13,32,51,.08);border-radius:26px;padding:36px;box-shadow:0 14px 34px rgba(14,58,102,.07);}
@media(max-width:720px){
  .provider-profile-wrap{padding:22px 14px 86px;}
  .provider-profile-hero{grid-template-columns:1fr;padding:18px;border-radius:24px;}
  .provider-profile-avatar{width:58px;height:58px;border-radius:19px;font-size:20px;order:-1;}
  .provider-profile-grid{grid-template-columns:1fr;}
  .provider-profile-actions{display:grid;grid-template-columns:1fr 1fr;}
  .provider-profile-actions .btn{justify-content:center;padding:12px 10px;font-size:13px;}
  .provider-mobile-actions{position:fixed;left:10px;right:10px;bottom:10px;z-index:40;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid rgba(13,32,51,.10);border-radius:20px;padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:8px;box-shadow:0 14px 44px rgba(14,58,102,.18);}
  .provider-mobile-actions .btn{padding:12px 10px;justify-content:center;}
}

/* v4.79: make the Free listings open badge clickable without changing layout */
.hero-kicker-link{
  text-decoration:none !important;
  cursor:pointer;
}
.hero-kicker-link:focus-visible{
  outline:3px solid rgba(243,199,94,.85);
  outline-offset:4px;
}

/* v4.80: footer logo is a home link */
.footer-logo-home{display:inline-flex;align-items:center;text-decoration:none;line-height:0;border-radius:18px}
.footer-logo-home:focus-visible{outline:3px solid rgba(62,123,97,.35);outline-offset:4px}


/* v4.81 mobile category + selected pin polish */
.nila-provider-pin.active span{
  transform:translateY(-4px) scale(1.12) !important;
  box-shadow:0 18px 38px rgba(5,30,55,.28),0 0 0 9px rgba(35,190,116,.22),0 0 0 16px rgba(35,190,116,.10) !important;
  border-color:#23be74 !important;
}
@media(max-width:720px){
  .mobile-category-strip{margin-bottom:8px !important;}
  .mobile-category-strip summary{min-height:42px !important;padding:9px 12px !important;}
  .mobile-category-strip summary span{font-size:14px !important;font-weight:950 !important;color:#102033 !important;}
  .mobile-category-strip summary b{font-size:11px !important;padding:6px 9px !important;}
  .mobile-category-strip:not([open]) .svc-pill-row{display:none !important;}
  .mobile-category-strip[open] .svc-pill-row{display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;padding:0 10px 10px !important;}
  .mobile-category-strip .svc-pill{min-height:36px !important;padding:8px 11px !important;}
  .service-panel.local-mode .local-results-layout{margin-top:4px !important;}
  .service-panel.local-mode .local-provider-column{gap:8px !important;}
}


/* v4.83 category switcher reliability: no dead pill, no half-cut tabs */
.service-change-strip.mobile-category-strip{
  overflow:visible !important;
}
.service-change-strip.mobile-category-strip:not([open]) .svc-pill-row{
  display:none !important;
}
.service-change-strip.mobile-category-strip[open] .svc-pill-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  gap:8px !important;
  padding:8px 10px 10px !important;
  border-top:1px solid rgba(14,38,60,.08) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,249,.98)) !important;
  border-radius:0 0 16px 16px !important;
}
.service-change-strip.mobile-category-strip summary{
  user-select:none !important;
}
.service-change-strip.mobile-category-strip summary b{
  cursor:pointer !important;
  white-space:nowrap !important;
}
.service-change-strip.mobile-category-strip .svc-pill{
  cursor:pointer !important;
}
@media(min-width:721px){
  .service-change-strip.mobile-category-strip{
    max-width:100% !important;
  }
  .service-change-strip.mobile-category-strip summary{
    min-height:42px !important;
    padding:9px 14px !important;
  }
  .service-change-strip.mobile-category-strip summary span{
    font-weight:900 !important;
    color:#142135 !important;
  }
  .service-change-strip.mobile-category-strip[open] .svc-pill-row{
    padding:10px 12px 12px !important;
  }
}

/* v4.84 fix: main hero service picker must open cleanly on mobile */
@media (max-width: 720px){
  .hero .premium-search,
  .hero .field-service,
  .hero .service-combo{
    overflow: visible !important;
    position: relative !important;
  }
  .hero .field-service .compact-service-menu.open,
  .hero .field-service .service-suggest.open,
  .premium-search .compact-service-menu.open,
  .premium-search .service-suggest.open{
    position: fixed !important;
    left: 14px !important;
    right: 14px !important;
    top: 104px !important;
    bottom: auto !important;
    width: auto !important;
    max-height: calc(100vh - 150px) !important;
    overflow-y: auto !important;
    display: grid !important;
    gap: 8px !important;
    padding: 10px !important;
    z-index: 2147483000 !important;
    background: rgba(255,255,255,.98) !important;
    border: 1px solid rgba(15,23,42,.14) !important;
    border-radius: 22px !important;
    box-shadow: 0 26px 80px rgba(3,18,38,.38) !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .hero .field-service .compact-service-menu.open button,
  .hero .field-service .service-suggest.open button,
  .premium-search .compact-service-menu.open button,
  .premium-search .service-suggest.open button{
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 12px 14px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: #f8fafc !important;
    color: #102033 !important;
    text-align: left !important;
    pointer-events: auto !important;
  }
  .hero .field-service .compact-service-menu.open button:active,
  .hero .field-service .service-suggest.open button:active,
  .premium-search .compact-service-menu.open button:active,
  .premium-search .service-suggest.open button:active{
    background:#eef8f3 !important;
  }
  .hero .field-service .compact-service-menu.open i,
  .hero .field-service .service-suggest.open i,
  .premium-search .compact-service-menu.open i,
  .premium-search .service-suggest.open i{
    width: 34px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: white !important;
    font-size: 20px !important;
    font-style: normal !important;
  }
  .hero .field-service .compact-service-menu.open b,
  .hero .field-service .service-suggest.open b,
  .premium-search .compact-service-menu.open b,
  .premium-search .service-suggest.open b{
    display:block !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
  }
  .hero .field-service .compact-service-menu.open small,
  .hero .field-service .service-suggest.open small,
  .premium-search .compact-service-menu.open small,
  .premium-search .service-suggest.open small{
    display:block !important;
    font-size: 12px !important;
    color: #667085 !important;
    line-height: 1.25 !important;
    margin-top: 3px !important;
  }
}


/* v4.85 mobile results category rail: no redundant header, no clunky dropdown */
@media (max-width:720px){
  .service-panel.local-mode .panel-head{
    display:none !important;
  }
  .mobile-category-marquee.service-change-strip{
    margin:0 0 8px !important;
    padding:8px 0 9px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,249,.96)) !important;
    border:1px solid rgba(14,38,60,.10) !important;
    box-shadow:0 10px 24px rgba(14,38,60,.07), inset 0 1px 0 rgba(255,255,255,.94) !important;
  }
  .mobile-category-marquee .category-rail-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    padding:0 11px 7px !important;
    border-bottom:1px solid rgba(14,38,60,.06) !important;
  }
  .mobile-category-marquee .category-rail-title strong{
    font-size:14px !important;
    line-height:1.1 !important;
    color:#102033 !important;
    font-weight:950 !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }
  .mobile-category-marquee .category-rail-title span{
    flex:0 0 auto !important;
    font-size:10.5px !important;
    color:#0b6b52 !important;
    background:#e9f8ef !important;
    border-radius:999px !important;
    padding:5px 8px !important;
    font-weight:850 !important;
  }
  .mobile-category-marquee .category-rail{
    display:flex !important;
    flex-wrap:nowrap !important;
    gap:8px !important;
    padding:9px 11px 0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scroll-snap-type:x proximity !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
    background:transparent !important;
    border:0 !important;
  }
  .mobile-category-marquee .category-rail::-webkit-scrollbar{display:none !important;}
  .mobile-category-marquee .svc-pill{
    flex:0 0 auto !important;
    display:inline-flex !important;
    align-items:center !important;
    gap:7px !important;
    min-height:38px !important;
    max-width:none !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    border:1px solid rgba(14,38,60,.10) !important;
    background:linear-gradient(180deg,#fff,#f6f8fb) !important;
    color:#102033 !important;
    box-shadow:0 6px 14px rgba(14,38,60,.06), inset 0 1px 0 rgba(255,255,255,.95) !important;
    font-size:12px !important;
    font-weight:900 !important;
    white-space:nowrap !important;
    scroll-snap-align:start !important;
  }
  .mobile-category-marquee .svc-pill span{font-size:16px !important;line-height:1 !important;}
  .mobile-category-marquee .svc-pill b{font-size:12px !important;line-height:1 !important;}
  .mobile-category-marquee .svc-pill.active{
    background:linear-gradient(180deg,#143f46,#0f333a) !important;
    color:#fff !important;
    border-color:#143f46 !important;
    box-shadow:0 10px 20px rgba(15,51,58,.18), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  .service-panel.local-mode .local-results-layout{
    margin-top:4px !important;
  }
  .service-panel.local-mode .local-provider-column{
    margin-top:0 !important;
  }
}

/* v4.88 approved fix: category chooser is a smooth marquee/carousel, no clunky dropdown text */
.category-marquee-shell{
  border:1px solid rgba(13,32,51,.10) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff,#f8fbfb) !important;
  box-shadow:0 10px 28px rgba(13,32,51,.07) !important;
  overflow:hidden !important;
  margin:0 0 10px !important;
}
.category-rail-title{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
  padding:11px 12px 8px !important;
  border-bottom:1px solid rgba(13,32,51,.06) !important;
}
.category-rail-title strong{
  min-width:0 !important;
  font-size:15px !important;
  color:#0d2033 !important;
  font-weight:950 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.category-rail-title span{display:none !important;}
.category-rail-action{
  border:0 !important;
  background:#e8f7ef !important;
  color:#0c7145 !important;
  border-radius:999px !important;
  padding:8px 11px !important;
  font-weight:900 !important;
  font-size:12px !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.category-marquee-window{
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:none !important;
  padding:10px 0 12px !important;
  mask-image:linear-gradient(90deg, transparent, #000 26px, #000 calc(100% - 26px), transparent) !important;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 26px, #000 calc(100% - 26px), transparent) !important;
}
.category-marquee-window::-webkit-scrollbar{display:none !important;}
.category-marquee-window .marquee-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  width:max-content !important;
  padding:0 12px !important;
  animation:nilaCategoryMarquee 42s linear infinite !important;
  will-change:transform !important;
}
.category-marquee-shell.user-open .marquee-track,
.category-marquee-window:hover .marquee-track,
.category-marquee-window:focus-within .marquee-track{
  animation-play-state:paused !important;
}
.category-marquee-window .svc-pill{
  flex:0 0 auto !important;
  min-width:max-content !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:7px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  border:1px solid rgba(13,32,51,.10) !important;
  background:#fff !important;
  color:#0d2033 !important;
  font-weight:900 !important;
  box-shadow:0 6px 16px rgba(13,32,51,.06) !important;
  white-space:nowrap !important;
  cursor:pointer !important;
}
.category-marquee-window .svc-pill b{font-size:13px !important;}
.category-marquee-window .svc-pill span{font-size:17px !important;}
.category-marquee-window .svc-pill.active{
  background:#102846 !important;
  color:#fff !important;
  border-color:#102846 !important;
  box-shadow:0 10px 22px rgba(16,40,70,.20) !important;
}
@keyframes nilaCategoryMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
@media (prefers-reduced-motion: reduce){
  .category-marquee-window .marquee-track{animation:none !important;}
}
@media(max-width:720px){
  .category-marquee-shell{border-radius:17px !important;margin-bottom:8px !important;}
  .category-rail-title{padding:10px 11px 7px !important;}
  .category-rail-title strong{font-size:14px !important;}
  .category-rail-action{font-size:11px !important;padding:7px 10px !important;}
  .category-marquee-window{padding:9px 0 11px !important;}
  .category-marquee-window .svc-pill{height:40px !important;padding:0 13px !important;}
  .category-marquee-window .svc-pill b{font-size:12px !important;}
}


/* v4.91 cleanup: working category dropdown, no marquee/ugly rail, restore see-more, mobile collapse. */
.category-marquee-shell,.category-marquee-window,.marquee-track{animation:none !important;}
.service-picker-dropdown{border:1px solid rgba(13,32,51,.10);border-radius:18px;background:linear-gradient(180deg,#ffffff,#f6faf8);box-shadow:0 12px 30px rgba(13,32,51,.08);margin:8px 0 12px;overflow:hidden;}
.service-picker-dropdown summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-height:48px;}
.service-picker-dropdown summary::-webkit-details-marker{display:none;}
.service-picker-dropdown summary span{display:flex;flex-direction:column;gap:2px;min-width:0;}
.service-picker-dropdown summary b{font-size:15px;color:#102033;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.service-picker-dropdown summary small{font-size:11px;color:#65778a;}
.service-picker-dropdown summary em{font-style:normal;font-weight:900;font-size:12px;color:#0d6b57;background:#eaf7ef;border:1px solid rgba(39,145,94,.18);border-radius:999px;padding:8px 10px;white-space:nowrap;}
.service-picker-dropdown .svc-options{display:none;padding:8px;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));}
.service-picker-dropdown[open] .svc-options{display:grid;}
.svc-option{border:1px solid rgba(13,32,51,.10);background:#fff;border-radius:14px;padding:10px;text-align:left;display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;min-height:58px;cursor:pointer;color:#102033;}
.svc-option span{font-size:20px;line-height:1;}
.svc-option b{display:block;font-size:13px;line-height:1.15;}
.svc-option small{display:block;font-size:10px;color:#68798a;line-height:1.15;margin-top:2px;}
.svc-option.active{border-color:rgba(32,139,91,.45);box-shadow:0 0 0 3px rgba(32,139,91,.10);background:#f3fbf6;}
.local-see-more{display:inline-flex !important;align-items:center;justify-content:center;margin:10px auto 4px;width:100%;max-width:260px;}
.local-see-more-note{display:block;text-align:center;color:#718092;font-size:11px;margin:0 auto 8px;}
@media(max-width:720px){
  .service-picker-dropdown{border-radius:16px;margin:6px 0 10px;}
  .service-picker-dropdown summary{min-height:42px !important;padding:9px 10px !important;}
  .service-picker-dropdown summary b{font-size:14px !important;}
  .service-picker-dropdown summary em{font-size:11px !important;padding:7px 9px !important;}
  .service-picker-dropdown .svc-options{grid-template-columns:1fr;max-height:280px;overflow:auto;-webkit-overflow-scrolling:touch;}
  .svc-option{min-height:48px;padding:8px 9px;grid-template-columns:26px 1fr;}
  .svc-option small{font-size:10px;}
}


/* v4.92 correction: mobile keeps the category marquee, web uses the clean dropdown. */
.mobile-category-marquee{display:none !important;}
.desktop-service-picker{display:block !important;}
@media(max-width:720px){
  .desktop-service-picker{display:none !important;}
  .mobile-category-marquee{display:block !important;}
  .mobile-category-marquee.service-change-strip{
    margin:0 0 8px !important;
    padding:8px 0 9px !important;
    border-radius:18px !important;
    overflow:hidden !important;
    background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(246,250,249,.96)) !important;
    border:1px solid rgba(14,38,60,.10) !important;
    box-shadow:0 10px 24px rgba(14,38,60,.07), inset 0 1px 0 rgba(255,255,255,.94) !important;
  }
  .mobile-category-marquee .category-rail-title{
    display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;
    padding:0 11px 7px !important;border-bottom:1px solid rgba(14,38,60,.06) !important;
  }
  .mobile-category-marquee .category-rail-title strong{font-size:14px !important;color:#102033 !important;font-weight:950 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
  .mobile-category-marquee .category-rail-title span{font-size:10.5px !important;color:#0b6b52 !important;background:#e9f8ef !important;border-radius:999px !important;padding:5px 8px !important;font-weight:850 !important;white-space:nowrap !important;}
  .mobile-category-marquee .category-rail{display:flex !important;flex-wrap:nowrap !important;gap:8px !important;padding:9px 11px 0 !important;overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x proximity !important;-webkit-overflow-scrolling:touch !important;scrollbar-width:none !important;background:transparent !important;border:0 !important;}
  .mobile-category-marquee .category-rail::-webkit-scrollbar{display:none !important;}
  .mobile-category-marquee .svc-pill{flex:0 0 auto !important;display:inline-flex !important;align-items:center !important;gap:7px !important;min-height:38px !important;padding:8px 12px !important;border-radius:999px !important;border:1px solid rgba(14,38,60,.10) !important;background:linear-gradient(180deg,#fff,#f6f8fb) !important;color:#102033 !important;box-shadow:0 6px 14px rgba(14,38,60,.06), inset 0 1px 0 rgba(255,255,255,.95) !important;font-size:12px !important;font-weight:900 !important;white-space:nowrap !important;scroll-snap-align:start !important;}
  .mobile-category-marquee .svc-pill span{font-size:16px !important;line-height:1 !important;}
  .mobile-category-marquee .svc-pill b{font-size:12px !important;line-height:1 !important;}
  .mobile-category-marquee .svc-pill.active{background:linear-gradient(180deg,#143f46,#0f333a) !important;color:#fff !important;border-color:#143f46 !important;box-shadow:0 10px 20px rgba(15,51,58,.18), inset 0 1px 0 rgba(255,255,255,.12) !important;}
  .local-see-less-top{margin:0 0 8px !important;max-width:none !important;width:100% !important;position:sticky !important;top:0 !important;z-index:2 !important;background:#fff !important;}
}
@media(min-width:721px){
  .service-picker-dropdown.desktop-service-picker .svc-options{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .local-see-less-top{display:none !important;}
}


/* v4.94 final: clean app category controls without breaking map/provider logic */
/* Web results category selector: real dropdown, no marquee strip */
@media (min-width:721px){
  .mobile-category-marquee{display:none !important;}
  .desktop-service-picker{display:block !important;max-width:720px !important;margin:10px 0 14px !important;}
  .service-picker-dropdown summary{min-height:54px !important;padding:12px 16px !important;}
  .service-picker-dropdown .svc-options{display:none !important;}
  .service-picker-dropdown[open] .svc-options{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
/* Mobile results category selector: compact header first, marquee opens only when changing */
@media (max-width:720px){
  .desktop-service-picker{display:none !important;}
  .mobile-category-marquee{display:block !important;}
  .mobile-category-marquee .category-rail-title{
    width:100% !important;border:0 !important;background:transparent !important;cursor:pointer !important;
    display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;
    padding:8px 11px !important;text-align:left !important;
  }
  .mobile-category-marquee .category-rail-title strong{font-size:15px !important;line-height:1.1 !important;color:#102033 !important;}
  .mobile-category-marquee .category-rail-title span{font-size:11px !important;color:#0b6b52 !important;background:#e9f8ef !important;border-radius:999px !important;padding:6px 9px !important;font-weight:900 !important;white-space:nowrap !important;}
  .mobile-category-marquee.is-collapsed .category-rail{display:none !important;}
  .mobile-category-marquee.is-open .category-rail{display:flex !important;}
  .mobile-category-marquee.service-change-strip{margin:0 0 8px !important;padding:0 !important;border-radius:18px !important;overflow:hidden !important;}
  .mobile-category-marquee .category-rail{padding:8px 10px 10px !important;gap:8px !important;overflow-x:auto !important;scrollbar-width:none !important;-webkit-overflow-scrolling:touch !important;}
  .mobile-category-marquee .category-rail::-webkit-scrollbar{display:none !important;}
  .mobile-category-marquee .svc-pill{min-height:38px !important;padding:8px 12px !important;border-radius:999px !important;}
}
/* Hero picker mobile: make the dropdown actually tappable and above everything */
@media (max-width:720px){
  .hero .field-service,
  .premium-search .field-service{position:relative !important;z-index:9000 !important;overflow:visible !important;}
  .hero .field-service .compact-service-menu.open,
  .hero .field-service .service-suggest.open,
  .premium-search .compact-service-menu.open,
  .premium-search .service-suggest.open{
    position:fixed !important;left:14px !important;right:14px !important;top:auto !important;bottom:92px !important;
    max-height:58vh !important;overflow:auto !important;background:#fff !important;border-radius:22px !important;
    border:1px solid rgba(13,32,51,.12) !important;box-shadow:0 26px 70px rgba(3,18,38,.35) !important;z-index:99999 !important;
    display:block !important;visibility:visible !important;pointer-events:auto !important;
  }
  .hero .field-service .compact-service-menu.open button,
  .hero .field-service .service-suggest.open button,
  .premium-search .compact-service-menu.open button,
  .premium-search .service-suggest.open button{min-height:54px !important;width:100% !important;}
}

/* v4.95 global page fit + category control fix */
html, body{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
}
.nav{
  top:0 !important;
  overflow:visible !important;
}
.logo, .brand, .footer-logo-home{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
}
.logo img, .brand img{
  display:block;
  max-height:52px;
  width:auto;
}
.service-picker-dropdown summary{
  user-select:none;
  -webkit-user-select:none;
}
.service-picker-dropdown:not([open]) .svc-options{
  display:none !important;
}
.service-picker-dropdown[open] .svc-options{
  display:grid !important;
  position:relative !important;
  z-index:5 !important;
}

@supports (padding-top: env(safe-area-inset-top)){
  .nav{
    padding-top:env(safe-area-inset-top) !important;
  }
}

@media(max-width:720px){
  body{
    min-width:0 !important;
    padding-top:0 !important;
  }
  .nav{
    position:relative !important;
    width:100% !important;
    max-width:100vw !important;
    min-height:calc(68px + env(safe-area-inset-top, 0px)) !important;
  }
  .navin{
    width:100% !important;
    max-width:100% !important;
    min-height:68px !important;
    height:auto !important;
    padding:8px 14px !important;
    gap:10px !important;
    overflow:visible !important;
  }
  .logo img, .brand img{
    height:46px !important;
    max-height:46px !important;
    width:auto !important;
  }
  .brand span{
    font-size:14px !important;
    line-height:1.1 !important;
  }
  .menu{
    min-width:52px !important;
    min-height:44px !important;
    padding:10px 13px !important;
    flex:0 0 auto !important;
  }
  .navin.open .links{
    top:calc(68px + env(safe-area-inset-top, 0px)) !important;
  }
  .navin.open .actions{
    top:calc(250px + env(safe-area-inset-top, 0px)) !important;
  }
  main, section, footer, .pagehero, .container{
    max-width:100vw !important;
    overflow-x:hidden !important;
  }
  .mobile-category-marquee.is-collapsed .category-rail{
    display:none !important;
  }
  .mobile-category-marquee.is-open .category-rail{
    display:flex !important;
  }
}

/* v4.96 hard fix: web category is now a real native select, so it cannot get stuck open or drop upward. */
@media (min-width:721px){
  .mobile-category-marquee{display:none !important;}
  .desktop-category-select-wrap{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:14px !important;
    width:100% !important;
    max-width:720px !important;
    margin:10px 0 14px !important;
    padding:10px 12px 10px 16px !important;
    border:1px solid rgba(13,32,51,.12) !important;
    border-radius:18px !important;
    background:linear-gradient(180deg,#ffffff,#f6faf8) !important;
    box-shadow:0 12px 30px rgba(13,32,51,.08) !important;
  }
  .desktop-category-select-wrap span{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-weight:950 !important;
    color:#102033 !important;
  }
  .desktop-category-select{
    appearance:auto !important;
    -webkit-appearance:menulist !important;
    min-width:240px !important;
    max-width:320px !important;
    height:42px !important;
    border:1px solid rgba(32,139,91,.22) !important;
    border-radius:999px !important;
    background:#eaf7ef !important;
    color:#0d6b57 !important;
    font-weight:900 !important;
    padding:0 12px !important;
    cursor:pointer !important;
  }
  .service-picker-dropdown.desktop-service-picker{display:none !important;}
}
@media (max-width:720px){
  .desktop-category-select-wrap{display:none !important;}
}


/* v4.97 clean category select and global top clipping fix */
html{
  width:100% !important;
  max-width:100% !important;
  overflow-x:hidden !important;
  -webkit-text-size-adjust:100% !important;
}
body{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  padding-top:0 !important;
}
.nav{
  position:sticky !important;
  top:0 !important;
  z-index:5000 !important;
  overflow:visible !important;
  padding-top:env(safe-area-inset-top, 0px) !important;
}
.navin{
  box-sizing:border-box !important;
  overflow:visible !important;
}
.logo, .brand, .footer-logo-home{
  cursor:pointer !important;
}
.logo img, .brand img{
  display:block !important;
  object-fit:contain !important;
}
/* One category control only: a real dropdown. No pill rail or old details dropdown anywhere. */
.mobile-category-marquee,
.category-rail,
.service-picker-dropdown.desktop-service-picker,
.service-change-strip.mobile-category-strip{
  display:none !important;
}
.desktop-category-select-wrap,
.desktop-service-picker,
.nila-category-select-only{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  max-width:720px !important;
  margin:10px 0 14px !important;
  padding:11px 12px 11px 16px !important;
  border:1px solid rgba(13,32,51,.12) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#ffffff,#f7faf8) !important;
  box-shadow:0 12px 30px rgba(13,32,51,.08) !important;
}
.desktop-category-select-wrap span,
.nila-category-select-only span{
  min-width:0 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  font-weight:950 !important;
  color:#102033 !important;
}
.desktop-category-select{
  appearance:auto !important;
  -webkit-appearance:menulist !important;
  display:block !important;
  min-width:240px !important;
  max-width:330px !important;
  height:44px !important;
  border:1px solid rgba(32,139,91,.26) !important;
  border-radius:999px !important;
  background:#eaf7ef !important;
  color:#0d6b57 !important;
  font-weight:900 !important;
  padding:0 12px !important;
  cursor:pointer !important;
}
@media(max-width:720px){
  .nav{
    min-height:calc(66px + env(safe-area-inset-top, 0px)) !important;
  }
  .navin{
    min-height:66px !important;
    height:auto !important;
    padding:8px 14px !important;
    gap:10px !important;
  }
  .logo img, .brand img{
    height:44px !important;
    max-height:44px !important;
    width:auto !important;
  }
  .menu{
    min-height:42px !important;
    min-width:52px !important;
    padding:9px 13px !important;
  }
  main, section, footer, .pagehero, .container{
    max-width:100vw !important;
    overflow-x:hidden !important;
  }
  .desktop-category-select-wrap,
  .desktop-service-picker,
  .nila-category-select-only{
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin:8px 0 12px !important;
    padding:12px !important;
    max-width:100% !important;
  }
  .desktop-category-select{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:46px !important;
  }
}


/* v4.98 mobile category collapse control only */
@media (max-width:720px){
  .mobile-category-marquee.service-change-strip{
    display:block !important;
    width:100% !important;
  }
  .mobile-category-marquee .category-rail-title{
    width:100% !important;
    border:0 !important;
    background:transparent !important;
    cursor:pointer !important;
  }
  .mobile-category-marquee.is-collapsed .category-rail,
  .mobile-category-marquee.is-collapsed .mobile-category-collapse{
    display:none !important;
  }
  .mobile-category-marquee.is-open .category-rail{
    display:flex !important;
  }
  .mobile-category-marquee.is-open .mobile-category-collapse{
    display:block !important;
    width:calc(100% - 20px) !important;
    margin:0 10px 10px !important;
    min-height:38px !important;
    border:1px solid rgba(14,38,60,.12) !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#123f48 !important;
    font-size:12px !important;
    font-weight:950 !important;
    box-shadow:0 6px 14px rgba(14,38,60,.06) !important;
  }
}
@media (min-width:721px){
  .mobile-category-collapse{display:none !important;}
}

/* v4.99 mobile category collapse hard fix */
@media (max-width:720px){
  .desktop-category-select-wrap.nila-category-select-only,
  .desktop-service-picker.nila-category-select-only{
    display:none !important;
  }
  .mobile-category-marquee.service-change-strip[data-mobile-category-chooser]{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    border:1px solid rgba(13,32,51,.12) !important;
    border-radius:18px !important;
    background:#fff !important;
    margin:8px 0 12px !important;
  }
  .mobile-category-marquee .category-rail-title{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:10px !important;
    width:100% !important;
    min-height:46px !important;
    padding:10px 12px !important;
    border:0 !important;
    background:#fff !important;
    color:#102033 !important;
    cursor:pointer !important;
    text-align:left !important;
  }
  .mobile-category-marquee .category-rail-title strong,
  .mobile-category-marquee .category-rail-title span{
    display:block !important;
    line-height:1.1 !important;
  }
  .mobile-category-marquee .category-rail-title span{
    flex:0 0 auto !important;
    border:1px solid rgba(32,139,91,.22) !important;
    background:#eaf7ef !important;
    color:#0d6b57 !important;
    border-radius:999px !important;
    padding:8px 11px !important;
    font-size:12px !important;
    font-weight:950 !important;
  }
  .mobile-category-marquee.is-open .category-rail-title span{
    background:#fff3e1 !important;
    color:#8a5412 !important;
    border-color:rgba(215,132,26,.28) !important;
  }
  .mobile-category-marquee.is-collapsed .category-rail,
  .mobile-category-marquee.is-collapsed .mobile-category-collapse{
    display:none !important;
  }
  .mobile-category-marquee.is-open .category-rail{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    padding:0 10px 10px !important;
    max-height:220px !important;
    overflow:auto !important;
  }
  .mobile-category-marquee.is-open .mobile-category-collapse{
    display:block !important;
    position:sticky !important;
    bottom:0 !important;
    width:calc(100% - 20px) !important;
    margin:0 10px 10px !important;
    min-height:42px !important;
    border:1px solid rgba(14,38,60,.14) !important;
    border-radius:999px !important;
    background:#102033 !important;
    color:#fff !important;
    font-size:13px !important;
    font-weight:950 !important;
  }
}


/* v5.00 exact mobile category collapse placement fix */
@media (max-width:720px){
  /* Results category strip: no big Hide Categories button here. The top chip remains just a category control. */
  .mobile-category-marquee .mobile-category-collapse{display:none !important;}
  .mobile-category-marquee.is-open .category-rail-title span{font-size:0 !important;}
  .mobile-category-marquee.is-open .category-rail-title span::after{
    content:'View more categories';
    font-size:12px !important;
  }

  /* Hero dropdown: the collapse control belongs at the bottom of the rolled-out category list. */
  .hero .field-service .compact-service-menu.open .hero-category-collapse,
  .hero .field-service .service-suggest.open .hero-category-collapse,
  .premium-search .compact-service-menu.open .hero-category-collapse,
  .premium-search .service-suggest.open .hero-category-collapse{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    min-height:54px !important;
    margin:10px 0 0 !important;
    border:0 !important;
    border-radius:18px !important;
    background:#102033 !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:950 !important;
    text-align:center !important;
    box-shadow:0 10px 24px rgba(14,38,60,.18) !important;
  }
  .hero .field-service .compact-service-menu.open .hero-category-collapse i,
  .hero .field-service .service-suggest.open .hero-category-collapse i,
  .hero .field-service .compact-service-menu.open .hero-category-collapse span,
  .hero .field-service .service-suggest.open .hero-category-collapse span{display:none !important;}
}


/* v5.02 NILA difference positioning polish. Safe visual/copy layer only. */
.section-eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:6px 10px;border-radius:999px;background:#eaf7f1;color:#0b6b49;font-weight:800;font-size:12px;letter-spacing:.02em;}
.nila-difference-section{background:linear-gradient(180deg,#fff 0%,#f7fbf8 100%);}
.nila-difference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.nila-difference-card{position:relative;overflow:hidden;}
.nila-difference-card span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:12px;background:#0b1e3a;color:#fff;font-weight:900;margin-bottom:10px;}
.nila-difference-card h3{margin:0 0 7px;}
.nila-difference-card p{color:var(--muted);margin:0;line-height:1.55;}
.provider-match-label,.mini-match-label{display:inline-flex;width:max-content;max-width:100%;align-items:center;gap:5px;margin:0 0 5px;padding:4px 8px;border-radius:999px;background:#fff8df;color:#6d4d00;font-size:11px;font-weight:900;font-style:normal;line-height:1;}
.mini-match-label{background:#eaf7f1;color:#0b6b49;margin-bottom:4px;}
.why-result-line{font-size:11px;color:#516276;background:#f5f8fb;border:1px solid rgba(10,30,60,.06);border-radius:12px;padding:8px 10px;margin:6px 0 8px;}
.nila-search-note{font-size:13px;margin:0 0 12px;}
.local-detail-actions .btn.green,.provider-card-actions .btn.green{font-weight:900;}
@media(max-width:720px){.nila-difference-grid{grid-template-columns:1fr;gap:12px}.nila-difference-card{padding:18px}.section-eyebrow{font-size:11px}.provider-match-label{font-size:10px}.why-result-line{font-size:10.5px}.local-see-more{font-weight:900}}


/* v5.03 clean UI: remove pitch-section spacing and calm provider tiles */
.nila-difference-section{display:none !important;}
#featuredProviders{align-items:stretch;}
#featuredProviders .provider-card{overflow:hidden !important;min-width:0 !important;}
#featuredProviders .provider-card-body{min-width:0 !important;overflow:hidden !important;}
#featuredProviders .provider-card h3{max-width:100% !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
#featuredProviders .provider-card p{max-width:100% !important;overflow:hidden !important;display:-webkit-box !important;-webkit-box-orient:vertical !important;-webkit-line-clamp:2 !important;}
#featuredProviders .provider-card .meta{max-width:100% !important;overflow:hidden !important;display:flex !important;flex-wrap:nowrap !important;}
#featuredProviders .provider-card .meta .badge{white-space:nowrap !important;flex:0 1 auto !important;max-width:50% !important;overflow:hidden !important;text-overflow:ellipsis !important;}
#featuredProviders .provider-card .actions2{display:flex !important;gap:8px !important;flex-wrap:wrap !important;}
#featuredProviders .provider-card .actions2 .btn{min-width:0 !important;white-space:nowrap !important;}
.service-panel.local-mode .local-vendor-card, .local-vendor-card{overflow:hidden !important;min-width:0 !important;}
.service-panel.local-mode .local-vendor-card b, .service-panel.local-mode .local-vendor-card small, .local-vendor-card b, .local-vendor-card small{min-width:0 !important;max-width:100% !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;}
.service-panel.local-mode .local-vendor-card em, .local-vendor-card em{white-space:nowrap !important;justify-self:end !important;}
@media(max-width:720px){
  .service-panel.local-mode .local-vendor-card, .local-vendor-card{grid-template-columns:auto minmax(0,1fr) auto !important;}
  .service-panel.local-mode .local-vendor-card em, .local-vendor-card em{grid-column:auto !important;font-size:10px !important;padding:5px 8px !important;}
  #featuredProviders .provider-card{width:100% !important;}
}


/* v5.04 targeted cleanup: stop overflow, remove dead top badges, smooth map corners, click-only selection handled in app.js */
.local-provider-detail .local-status-pills{display:none !important;}
.local-provider-detail .local-detail-top,
.local-detail-top.compact{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:10px !important;
  align-items:start !important;
  overflow:hidden !important;
}
.local-provider-detail .local-detail-copy,
.local-detail-top.compact > div{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}
.local-provider-detail .local-detail-copy b,
.local-detail-top.compact b{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.16 !important;
}
.local-provider-detail .local-detail-copy small,
.local-detail-top.compact small{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.local-provider-column .local-vendor-card{
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  overflow:hidden !important;
}
.local-provider-column .local-vendor-card > span:nth-child(2){
  min-width:0 !important;
  overflow:hidden !important;
}
.local-provider-column .local-vendor-card b,
.local-provider-column .local-vendor-card small{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.local-provider-column .local-vendor-card em{
  align-self:center !important;
  justify-self:end !important;
  max-width:86px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
/* Keep the map box clipped cleanly at every corner so it matches the lower mockup curve */
.top-local-map,
.top-local-map.proper-map,
.top-local-map .gps-map-shell,
.top-local-map #_mm,
.top-local-map .leaflet-container{
  border-radius:22px !important;
  overflow:hidden !important;
  clip-path:inset(0 round 22px) !important;
}
.top-local-map .leaflet-pane,
.top-local-map .leaflet-map-pane,
.top-local-map .leaflet-tile-pane{
  border-radius:22px !important;
  overflow:hidden !important;
}
@media(max-width:720px){
  .local-provider-column .local-vendor-card{grid-template-columns:auto minmax(0,1fr) auto !important;}
  .local-provider-column .local-vendor-card em{font-size:10px !important;max-width:74px !important;padding:5px 7px !important;}
  .local-provider-detail .mini-match-label{font-size:10px !important;max-width:100% !important;}
  .top-local-map,
  .top-local-map.proper-map,
  .top-local-map .gps-map-shell,
  .top-local-map #_mm,
  .top-local-map .leaflet-container{border-radius:20px !important;clip-path:inset(0 round 20px) !important;}
}


/* v5.15 safe rollback: keep old working map code; polish web dropdown and action placement only */
@media (min-width:721px){
  .desktop-category-select-wrap.nila-category-select-only,
  .desktop-category-select-wrap,
  .desktop-service-picker.nila-category-select-only{
    position:relative !important;
    grid-template-columns:minmax(0,1fr) minmax(260px,360px) !important;
    align-items:center !important;
    gap:18px !important;
    padding:13px 15px 13px 18px !important;
    border-radius:24px !important;
    border:1px solid rgba(18,42,77,.10) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,253,250,.96)) !important;
    box-shadow:0 18px 44px rgba(6,26,52,.10), inset 0 1px 0 rgba(255,255,255,.85) !important;
  }
  .desktop-category-select-wrap span,
  .nila-category-select-only span{
    font-size:18px !important;
    letter-spacing:-.02em !important;
    color:#102033 !important;
  }
  .desktop-category-select-wrap::after,
  .nila-category-select-only::after{
    content:"⌄" !important;
    position:absolute !important;
    right:25px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:28px !important;
    height:28px !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#fff8e8 !important;
    color:#0f6f5a !important;
    font-weight:950 !important;
    pointer-events:none !important;
    box-shadow:inset 0 0 0 1px rgba(224,174,70,.25) !important;
  }
  .desktop-category-select{
    appearance:none !important;
    -webkit-appearance:none !important;
    width:100% !important;
    min-width:260px !important;
    max-width:360px !important;
    height:54px !important;
    border:1px solid rgba(22,139,101,.22) !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,#effbf4,#ffffff) !important;
    color:#0b6b55 !important;
    font-size:16px !important;
    font-weight:950 !important;
    letter-spacing:-.01em !important;
    padding:0 52px 0 18px !important;
    cursor:pointer !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 10px 22px rgba(10,105,82,.08) !important;
    outline:none !important;
  }
  .desktop-category-select:hover{
    border-color:rgba(22,139,101,.36) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 14px 28px rgba(10,105,82,.11) !important;
  }
  .desktop-category-select:focus{
    border-color:rgba(15,111,90,.55) !important;
    box-shadow:0 0 0 4px rgba(15,111,90,.10), inset 0 1px 0 rgba(255,255,255,.9) !important;
  }
}
.local-detail-actions{
  display:flex !important;
  width:100% !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
}
.local-detail-actions .btn{
  flex:1 1 0 !important;
  min-width:0 !important;
  max-width:100% !important;
  padding:10px 8px !important;
  font-size:12px !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card.selected,
.local-vendor-card.selected{
  outline:none !important;
  border-color:#1eb980 !important;
  box-shadow:inset 4px 0 0 #1eb980, 0 8px 20px rgba(14,58,102,.07) !important;
  background:#f8fffc !important;
}
@media(max-width:720px){
  .local-detail-actions{display:grid !important;grid-template-columns:1fr 1fr !important;}
}


/* v5.16 hard map pin restore: visible overlay pins, no blank/bare map */
.top-local-map #_mm,
.real-live-map{
  position:relative !important;
  overflow:hidden !important;
}
.nila-visible-pin-layer{
  position:absolute !important;
  inset:0 !important;
  z-index:9999 !important;
  pointer-events:none !important;
}
.nila-visible-pin{
  position:absolute !important;
  transform:translate(-50%,-100%) !important;
  border:0 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
  display:grid !important;
  place-items:center !important;
  font-family:inherit !important;
  line-height:1 !important;
  background:#fff !important;
  color:#0f345e !important;
  border:2px solid #f3c75e !important;
  box-shadow:0 8px 22px rgba(5,30,55,.22) !important;
  z-index:10000 !important;
}
.nila-visible-pin.provider{
  width:34px !important;
  height:34px !important;
  border-radius:16px 16px 16px 4px !important;
  font-size:18px !important;
}
.nila-visible-pin.provider.active{
  border-color:#23be74 !important;
  box-shadow:0 12px 30px rgba(5,30,55,.28),0 0 0 7px rgba(35,190,116,.18) !important;
}
.nila-visible-pin.user{
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  background:#123d74 !important;
  color:#fff !important;
  border:3px solid #fff !important;
  font-size:10px !important;
  font-weight:950 !important;
  transform:translate(-50%,-50%) !important;
}
.top-local-map .leaflet-marker-pane,
.top-local-map .leaflet-overlay-pane,
.top-local-map .leaflet-popup-pane{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
}
.top-local-map .leaflet-pane,
.top-local-map .leaflet-map-pane,
.top-local-map .leaflet-tile-pane{
  overflow:visible !important;
}
@media(max-width:720px){
  .nila-visible-pin.provider{width:31px !important;height:31px !important;font-size:16px !important;}
  .nila-visible-pin.user{width:31px !important;height:31px !important;font-size:9px !important;}
}


/* v5.18 map recovery: built-in clean map fallback with clickable pins */
.top-local-map #_mm,
.real-live-map{position:relative !important;overflow:hidden !important;background:#e7f0ea !important;}
.nila-map-fallback-layer{
  position:absolute !important;inset:0 !important;z-index:650 !important;pointer-events:none !important;
  background:
    radial-gradient(circle at 22% 28%,rgba(255,255,255,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 62%,rgba(255,255,255,.9) 0 2px,transparent 3px),
    linear-gradient(35deg,transparent 0 43%,rgba(255,255,255,.88) 44% 47%,transparent 48%),
    linear-gradient(130deg,transparent 0 36%,rgba(255,255,255,.82) 37% 40%,transparent 41%),
    linear-gradient(0deg,rgba(36,146,110,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(31,97,174,.07) 1px,transparent 1px),
    linear-gradient(135deg,#eaf5ee,#dcece7) !important;
  background-size:auto,auto,auto,auto,42px 42px,42px 42px,auto !important;
}
.nila-fallback-roads span{position:absolute !important;border-radius:999px !important;background:rgba(255,255,255,.92) !important;box-shadow:0 1px 0 rgba(18,42,77,.08) !important;}
.nila-fallback-roads span:nth-child(1){left:-8%;top:28%;width:118%;height:12px;transform:rotate(-10deg);}
.nila-fallback-roads span:nth-child(2){left:8%;top:63%;width:92%;height:10px;transform:rotate(16deg);}
.nila-fallback-roads span:nth-child(3){left:44%;top:-8%;width:11px;height:116%;transform:rotate(9deg);}
.nila-fallback-roads span:nth-child(4){left:7%;top:8%;width:10px;height:100%;transform:rotate(-23deg);}
.nila-fallback-label{position:absolute !important;left:12px !important;top:10px !important;padding:6px 9px !important;border-radius:999px !important;background:rgba(255,255,255,.88) !important;color:#173b63 !important;font-size:11px !important;font-weight:900 !important;box-shadow:0 8px 18px rgba(10,35,64,.10) !important;}
.nila-fallback-road-label{position:absolute !important;color:rgba(38,76,96,.45) !important;font-size:10px !important;font-weight:800 !important;background:rgba(255,255,255,.55) !important;border-radius:999px !important;padding:3px 7px !important;}
.nila-fallback-road-label.r1{left:52%;top:23%;transform:rotate(-10deg);}.nila-fallback-road-label.r2{left:25%;top:68%;transform:rotate(16deg);}
.nila-fallback-pin{position:absolute !important;transform:translate(-50%,-100%) !important;pointer-events:auto !important;cursor:pointer !important;border:0 !important;display:grid !important;place-items:center !important;font-family:inherit !important;line-height:1 !important;z-index:700 !important;}
.nila-fallback-pin.provider{width:34px !important;height:34px !important;border-radius:16px 16px 16px 4px !important;background:#fff !important;border:2px solid #f3c75e !important;box-shadow:0 10px 24px rgba(5,30,55,.22) !important;color:#0f345e !important;font-size:18px !important;}
.nila-fallback-pin.provider.active{border-color:#21b879 !important;box-shadow:0 12px 28px rgba(5,30,55,.26),0 0 0 6px rgba(33,184,121,.16) !important;}
.nila-fallback-pin.user{width:34px !important;height:34px !important;border-radius:999px !important;background:#123d74 !important;color:#fff !important;border:3px solid #fff !important;box-shadow:0 10px 22px rgba(5,30,55,.22) !important;transform:translate(-50%,-50%) !important;font-size:10px !important;font-weight:950 !important;}
.top-local-map .leaflet-marker-pane{z-index:760 !important;}.top-local-map .leaflet-popup-pane{z-index:900 !important;}


/* v5.20: cleaner fallback map grid + selected provider detail card fix */
.nila-map-fallback-layer{
  background:
    linear-gradient(0deg,rgba(20,72,104,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,72,104,.11) 1px,transparent 1px),
    linear-gradient(0deg,rgba(20,72,104,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(20,72,104,.05) 1px,transparent 1px),
    radial-gradient(circle at 22% 28%,rgba(255,255,255,.95) 0 2px,transparent 3px),
    radial-gradient(circle at 72% 62%,rgba(255,255,255,.9) 0 2px,transparent 3px),
    linear-gradient(35deg,transparent 0 43%,rgba(255,255,255,.92) 44% 47%,transparent 48%),
    linear-gradient(130deg,transparent 0 36%,rgba(255,255,255,.88) 37% 40%,transparent 41%),
    linear-gradient(135deg,#eaf5ee,#dcece7) !important;
  background-size:42px 42px,42px 42px,14px 14px,14px 14px,auto,auto,auto,auto,auto !important;
}
.nila-fallback-roads span{box-shadow:0 0 0 1px rgba(18,42,77,.08), 0 5px 16px rgba(18,42,77,.05) !important;}
.local-provider-detail{padding:14px !important;overflow:hidden !important;}
.local-detail-inner{height:100%;display:flex;flex-direction:column;gap:9px;min-width:0;overflow:hidden;}
.local-detail-copy{min-width:0;overflow:hidden;}
.local-detail-top{grid-template-columns:44px minmax(0,1fr) !important;gap:10px !important;}
.local-detail-top b{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.local-detail-top small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.local-detail-summary{margin:0 !important;color:#4b5f76 !important;font-size:12px !important;line-height:1.35 !important;}
.local-detail-address{font-size:11px;color:#66758a;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.local-detail-actions{margin-top:auto !important;display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;width:100% !important;min-width:0 !important;}
.local-detail-actions .btn{min-width:0 !important;width:100% !important;padding:10px 8px !important;font-size:11px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;border-radius:14px !important;}
.service-panel.local-mode .local-provider-column .local-vendor-card.selected{box-shadow:0 9px 20px rgba(13,31,54,.08) !important;border-color:rgba(20,184,116,.65) !important;background:#fbfffd !important;transform:none !important;}
@media(max-width:720px){.nila-map-fallback-layer{background-size:36px 36px,36px 36px,12px 12px,12px 12px,auto,auto,auto,auto,auto !important;}}


/* v5.20: clean map interaction and simpler provider list */
.real-live-map,
.top-local-map #_mm{
  cursor:grab !important;
  touch-action:pan-x pan-y !important;
}
.real-live-map:active,
.top-local-map #_mm:active{cursor:grabbing !important;}
/* Keep the fallback grid as a soft backing only, so the real Leaflet map can be dragged. */
.real-live-map.leaflet-live-ready .nila-map-fallback-layer{
  z-index:1 !important;
  opacity:.28 !important;
  pointer-events:none !important;
}
.real-live-map.leaflet-live-ready .nila-fallback-pin,
.real-live-map.leaflet-live-ready .nila-fallback-label,
.real-live-map.leaflet-live-ready .nila-fallback-road-label{
  display:none !important;
}
.top-local-map .leaflet-pane,
.top-local-map .leaflet-map-pane,
.top-local-map .leaflet-tile-pane,
.top-local-map .leaflet-overlay-pane,
.top-local-map .leaflet-marker-pane,
.top-local-map .leaflet-popup-pane{
  visibility:visible !important;
  opacity:1 !important;
}
.top-local-map .leaflet-control-zoom{
  transform:none !important;
  margin:0 12px 12px 0 !important;
  border:0 !important;
  box-shadow:0 10px 24px rgba(10,35,64,.16) !important;
}
.top-local-map .leaflet-control-zoom a{
  width:34px !important;
  height:34px !important;
  line-height:34px !important;
  font-size:20px !important;
  border:1px solid rgba(12,40,70,.12) !important;
}
/* Reduce clutter in the selected vendor area. */
.service-panel.local-mode .local-provider-column .local-vendor-card,
.local-vendor-card{
  grid-template-columns:38px minmax(0,1fr) !important;
  gap:10px !important;
  min-height:64px !important;
  padding:10px 11px !important;
  align-items:center !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card em,
.local-vendor-card em{display:none !important;}
.service-panel.local-mode .local-provider-column .local-vendor-card .mini-match-label{
  max-width:max-content !important;
  padding:3px 7px !important;
  font-size:10px !important;
  margin:0 0 3px !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card:not(:first-of-type) .mini-match-label{display:none !important;}
.service-panel.local-mode .local-provider-column .local-vendor-card b,
.service-panel.local-mode .local-provider-column .local-vendor-card small{
  display:block !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.service-panel.local-mode .local-provider-column .local-vendor-card.selected,
.local-vendor-card.selected{
  border-color:rgba(20,184,116,.72) !important;
  box-shadow:0 8px 18px rgba(13,31,54,.07) !important;
  outline:none !important;
  background:#fbfffd !important;
}
.local-provider-detail{padding:13px !important;}
.local-detail-inner{gap:8px !important;}
.local-detail-top{grid-template-columns:40px minmax(0,1fr) !important;}
.local-detail-top .avatar.big{width:38px !important;height:38px !important;border-radius:14px !important;font-size:18px !important;}
.local-provider-detail .mini-match-label{font-size:10px !important;padding:3px 7px !important;margin-bottom:4px !important;}
.local-detail-summary{font-size:12px !important;line-height:1.35 !important;}
.local-detail-address{font-size:11px !important;}
.local-detail-actions{
  margin-top:auto !important;
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
}
.local-detail-actions .btn{
  min-width:0 !important;
  width:100% !important;
  padding:10px 8px !important;
  font-size:11px !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
@media(max-width:720px){
  .top-local-map .leaflet-control-zoom{margin:0 10px 10px 0 !important;}
  .service-panel.local-mode .local-provider-column .local-vendor-card,
  .local-vendor-card{grid-template-columns:36px minmax(0,1fr) !important;min-height:62px !important;}
}


/* v5.22 clean web see-more, category note, green profile buttons, font lock */
:root{
  --nila-font-body: Inter, Arial, sans-serif;
  --nila-font-display: Georgia, serif;
}
html, body, button, input, select, textarea, a, small, p, span, div{
  font-family:var(--nila-font-body) !important;
}
h1, h2, .hero h1, .head h2, .pagehero h1, .hero-v29 h1{
  font-family:var(--nila-font-display) !important;
}
.local-see-more-wrap{
  display:flex !important;
  flex-direction:column !important;
  gap:6px !important;
  width:100% !important;
  margin-top:8px !important;
}
.local-see-more{
  width:100% !important;
  min-height:46px !important;
  border-radius:18px !important;
  border:1px solid rgba(28,125,88,.16) !important;
  background:linear-gradient(180deg,#f2f8ff,#edf6ff) !important;
  color:#164a78 !important;
  font-size:14px !important;
  font-weight:950 !important;
  letter-spacing:-.01em !important;
  box-shadow:none !important;
  text-decoration:none !important;
}
.local-see-more:hover{
  transform:none !important;
  background:linear-gradient(180deg,#eef7ff,#e7f2ff) !important;
  border-color:rgba(31,104,174,.22) !important;
}
.local-see-more-note{
  display:block !important;
  padding:0 8px !important;
  color:#617286 !important;
  font-size:12px !important;
  line-height:1.35 !important;
  text-align:center !important;
  white-space:normal !important;
}
.local-detail-actions .btn.primary,
.local-provider-detail a.btn.primary,
a.btn.primary[data-provider-id],
a[href^="provider.html"].btn.primary{
  background:linear-gradient(180deg,#4fc58b,#2ba873) !important;
  color:#ffffff !important;
  border:1px solid rgba(17,132,86,.28) !important;
  box-shadow:0 10px 22px rgba(37,158,105,.18) !important;
}
.local-detail-actions .btn.primary:hover,
.local-provider-detail a.btn.primary:hover,
a.btn.primary[data-provider-id]:hover,
a[href^="provider.html"].btn.primary:hover{
  background:linear-gradient(180deg,#5bd096,#31b77e) !important;
  transform:none !important;
}
@media(max-width:720px){
  .local-see-more{min-height:52px !important;border-radius:20px !important;font-size:15px !important;}
  .local-see-more-note{font-size:12px !important;max-width:92%;margin:0 auto !important;}
}


/* v5.23 mobile selected provider and focus polish only */
@media(max-width:720px){
  .service-panel.local-mode .local-provider-column .local-vendor-card.selected,
  .local-vendor-card.selected{
    background:linear-gradient(180deg,#f0fff7,#e9fbf2) !important;
    border-color:rgba(22,163,104,.62) !important;
    box-shadow:0 14px 34px rgba(31,177,114,.18), 0 1px 0 rgba(255,255,255,.95) inset !important;
  }
  .service-panel.local-mode .local-provider-column .local-vendor-card.selected::after,
  .local-vendor-card.selected::after{
    content:'';
    position:absolute;
    inset:-1px;
    border-radius:inherit;
    pointer-events:none;
    box-shadow:0 0 0 5px rgba(45,190,124,.08);
  }
  .top-local-map{scroll-margin-top:10px !important;}
  .service-panel.local-mode{scroll-margin-top:10px !important;}
}


/* v5.24: mobile selected vendor detail stays above Not right and has a clear soft green panel */
@media(max-width:720px){
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more{
    display:block !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-provider-column{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-provider-detail{
    order:4 !important;
    display:block !important;
    position:static !important;
    width:100% !important;
    margin:2px 0 0 !important;
    padding:16px !important;
    border-radius:22px !important;
    border:1px solid rgba(24,170,108,.34) !important;
    background:linear-gradient(180deg,#f2fff8 0%,#e9fbf2 100%) !important;
    box-shadow:0 16px 38px rgba(24,170,108,.16), 0 1px 0 rgba(255,255,255,.95) inset !important;
    overflow:hidden !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-detail-inner{
    background:transparent !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-see-more-wrap{
    order:5 !important;
    margin-top:4px !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-vendor-card.selected{
    background:linear-gradient(180deg,#f1fff8,#e8fbf1) !important;
    border-color:rgba(24,170,108,.72) !important;
    box-shadow:0 12px 28px rgba(24,170,108,.17), 0 1px 0 rgba(255,255,255,.96) inset !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-detail-summary,
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-detail-address{
    color:#315f4b !important;
  }
}


/* v5.25: mobile refocus leaves a little blue space above the mockup screen */
@media(max-width:720px){
  .product-device,.real-image-stage{scroll-margin-top:28px !important;}
}


/* v5.26: final profile button, selected accent and mobile focus polish only */
.provider-card-actions a[href^="provider.html"],
.provider-profile-btn,
.nila-result-link.provider-profile-btn,
a.btn.soft.provider-profile-btn,
a[href^="provider.html"].btn.soft,
a[href^="provider.html"].btn.primary,
.local-detail-actions a[href^="provider.html"]{
  background:linear-gradient(180deg,#55c98d,#2faa74) !important;
  color:#ffffff !important;
  border:1px solid rgba(18,130,86,.24) !important;
  box-shadow:0 10px 20px rgba(36,160,104,.16) !important;
}
.provider-card-actions a[href^="provider.html"]:hover,
.provider-profile-btn:hover,
.nila-result-link.provider-profile-btn:hover,
a.btn.soft.provider-profile-btn:hover,
a[href^="provider.html"].btn.soft:hover,
a[href^="provider.html"].btn.primary:hover,
.local-detail-actions a[href^="provider.html"]:hover{
  background:linear-gradient(180deg,#63d99b,#35b97d) !important;
  color:#ffffff !important;
  transform:none !important;
}
@media(max-width:720px){
  .product-device,.real-image-stage{scroll-margin-top:10px !important;}
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-provider-detail{
    border-color:rgba(238,139,49,.48) !important;
    background:linear-gradient(180deg,#fff7ee 0%,#fff1df 100%) !important;
    box-shadow:0 16px 38px rgba(228,126,38,.18), 0 1px 0 rgba(255,255,255,.95) inset !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-vendor-card.selected,
  .service-panel.local-mode .local-provider-column .local-vendor-card.selected,
  .local-vendor-card.selected{
    background:linear-gradient(180deg,#fff8ee,#fff0df) !important;
    border-color:rgba(236,133,38,.68) !important;
    box-shadow:0 12px 28px rgba(226,123,35,.18), 0 1px 0 rgba(255,255,255,.96) inset !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-vendor-card.selected::after,
  .service-panel.local-mode .local-provider-column .local-vendor-card.selected::after,
  .local-vendor-card.selected::after{
    box-shadow:0 0 0 5px rgba(240,145,45,.10) !important;
  }
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-detail-summary,
  .service-panel.local-mode .local-results-layout.mobile-detail-before-more .local-detail-address{
    color:#71502b !important;
  }
}


/* v5.28: fix web see-more, profile/directions buttons, and best-match clutter only */
#featuredProviders .provider-match-label{display:none !important;}
#featuredProviders .provider-card:first-child .provider-match-label{display:inline-flex !important;}
#featuredProviders .provider-card .meta .badge:nth-child(2),
#featuredProviders .provider-card .meta .badge:nth-child(3){display:none !important;}
#featuredProviders .provider-card .meta{gap:8px !important;min-width:0 !important;}
#featuredProviders .provider-card .meta .badge{max-width:100% !important;}
#featuredProviders .provider-card-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  align-items:center !important;
  width:100% !important;
}
#featuredProviders .provider-card-actions .btn{
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  padding:11px 12px !important;
  border-radius:15px !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.provider-directions-btn,
a.provider-directions-btn,
.local-detail-actions .provider-directions-btn{
  background:linear-gradient(180deg,#eef5ff,#e5efff) !important;
  color:#194f8f !important;
  border:1px solid rgba(31,93,165,.18) !important;
  box-shadow:none !important;
}
.local-detail-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  align-items:center !important;
  width:100% !important;
  margin-top:12px !important;
}
.local-detail-actions .btn{
  min-width:0 !important;
  width:100% !important;
  min-height:44px !important;
  padding:11px 10px !important;
  border-radius:14px !important;
  justify-content:center !important;
  text-align:center !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.local-see-more-wrap{
  width:100% !important;
  max-width:100% !important;
  padding:0 4px 8px !important;
  box-sizing:border-box !important;
}
.local-see-more{
  max-width:100% !important;
  width:100% !important;
  min-height:42px !important;
  padding:10px 12px !important;
  border-radius:15px !important;
  background:linear-gradient(180deg,#f4f8ff,#edf5ff) !important;
  color:#16507e !important;
  white-space:normal !important;
  line-height:1.15 !important;
  overflow:visible !important;
}
.local-see-more-note{
  max-width:100% !important;
  padding:0 8px !important;
  line-height:1.35 !important;
  overflow-wrap:anywhere !important;
}
@media(max-width:720px){
  .local-detail-actions{grid-template-columns:1fr 1fr !important;gap:8px !important;}
  .local-detail-actions .btn{min-height:42px !important;font-size:12.5px !important;}
  #featuredProviders .provider-card-actions{grid-template-columns:1fr 1fr !important;}
}


/* v5.29: button fit and vendor value badge refresh only */
.local-detail-inner,
.local-detail-copy,
.local-detail-summary,
.local-detail-address{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.local-detail-inner{overflow:hidden !important;}
.local-detail-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
.local-detail-actions .btn,
.local-detail-actions a.btn{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  min-height:42px !important;
  padding:10px 6px !important;
  border-radius:14px !important;
  font-size:12px !important;
  line-height:1.05 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
#featuredProviders .provider-card-actions{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:10px !important;
  width:100% !important;
}
#featuredProviders .provider-card-actions .btn{
  min-width:0 !important;
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
#featuredProviders .provider-card-actions .provider-profile-btn{
  display:flex !important;
  visibility:visible !important;
}
#featuredProviders .provider-card-actions .provider-directions-btn{
  display:flex !important;
  visibility:visible !important;
}
.plan-section .head.plan-head{
  align-items:end !important;
}
#planCards.grid4{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.vendor-badge-card{
  position:relative;
  display:grid;
  grid-template-columns:48px 1fr;
  gap:14px;
  align-items:start;
  padding:18px;
  border:1px solid rgba(14,74,58,.12);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,253,249,.94));
  box-shadow:0 18px 42px rgba(15,23,42,.07);
  min-height:150px;
  overflow:hidden;
}
.vendor-badge-card::after{
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:110px;
  height:110px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,190,56,.22),rgba(255,190,56,0) 66%);
  pointer-events:none;
}
.vendor-badge-icon{
  width:48px;
  height:48px;
  border-radius:17px;
  display:grid;
  place-items:center;
  background:#fff7df;
  border:1px solid rgba(255,190,56,.38);
  box-shadow:0 12px 26px rgba(15,23,42,.08);
}
.vendor-badge-icon img{width:30px;height:30px;display:block;}
.vendor-badge-card h3{margin:0 0 6px;font-size:21px;line-height:1.08;color:#0f1f33;}
.vendor-badge-card p{margin:0;color:#506177;line-height:1.42;font-size:14px;}
.vendor-badge-link{
  grid-column:1 / -1;
  justify-self:start;
  align-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 14px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none;
  color:#086049;
  background:#eaf8f1;
  border:1px solid rgba(27,159,111,.18);
}
.vendor-badge-link:hover{background:#def4ea;color:#064b39;}
@media(max-width:1080px){
  #planCards.grid4{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:640px){
  #planCards.grid4{grid-template-columns:1fr !important;}
  .vendor-badge-card{min-height:auto;}
}

/* v5.30: restore web see-more, fix cut-off provider buttons only */
.service-panel.local-mode .local-results-layout{
  grid-template-columns:minmax(210px,.9fr) minmax(295px,1.1fr) !important;
  gap:12px !important;
  overflow:visible !important;
  min-width:0 !important;
}
.service-panel.local-mode .local-provider-column{
  min-width:0 !important;
  overflow-x:hidden !important;
  padding-right:6px !important;
  box-sizing:border-box !important;
}
.service-panel.local-mode .local-provider-detail{
  min-width:0 !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  padding:14px !important;
}
.local-detail-inner,
.local-detail-top,
.local-detail-copy,
.local-detail-summary,
.local-detail-address{
  min-width:0 !important;
  max-width:100% !important;
  overflow-wrap:break-word !important;
  box-sizing:border-box !important;
}
.local-detail-actions{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:8px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.local-detail-actions .btn,
.local-detail-actions a.btn,
.local-detail-actions .provider-profile-btn,
.local-detail-actions .provider-directions-btn{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
  padding:10px 6px !important;
  font-size:11px !important;
  letter-spacing:-.01em !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.local-see-more-wrap{
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  padding:0 2px 8px !important;
  margin:8px 0 0 !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.local-see-more{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  min-height:40px !important;
  padding:9px 10px !important;
  font-size:12.5px !important;
  line-height:1.15 !important;
  white-space:normal !important;
  text-align:center !important;
  overflow:visible !important;
  border-radius:14px !important;
}
.local-see-more-note{
  width:100% !important;
  max-width:100% !important;
  padding:0 4px !important;
  margin-top:5px !important;
  font-size:11px !important;
  line-height:1.3 !important;
  text-align:center !important;
  color:#5d6f85 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
@media(max-width:720px){
  .service-panel.local-mode .local-results-layout{display:block !important;}
  .local-detail-actions .btn,
  .local-detail-actions a.btn{font-size:12px !important;padding:11px 8px !important;}
}

/* v5.31: centre selected provider panel and make mockup feel less like a dev layout */
@media (min-width:721px){
  .service-panel.local-mode .local-provider-detail{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:18px 22px !important;
    background:linear-gradient(180deg,#ffffff,#fbfdfc) !important;
  }
  .service-panel.local-mode .local-provider-detail .local-detail-inner{
    width:min(100%,360px) !important;
    max-width:360px !important;
    margin:0 auto !important;
    transform:translateX(10px) !important;
    justify-content:center !important;
    gap:12px !important;
  }
  .service-panel.local-mode .local-provider-detail .local-detail-top{
    align-items:center !important;
  }
  .service-panel.local-mode .local-provider-detail .local-detail-summary{
    max-width:96% !important;
  }
  .service-panel.local-mode .local-provider-detail .local-detail-actions{
    margin-top:4px !important;
    gap:10px !important;
  }
  .service-panel.local-mode .local-provider-detail .local-detail-actions .btn,
  .service-panel.local-mode .local-provider-detail .local-detail-actions a.btn{
    min-height:44px !important;
    border-radius:16px !important;
    font-size:12px !important;
  }
}
.service-panel.local-mode .local-results-layout{
  border-radius:26px !important;
}
.service-panel.local-mode .local-provider-column,
.service-panel.local-mode .local-provider-detail{
  border-radius:22px !important;
}
.service-panel.local-mode .local-vendor-card{
  border-radius:18px !important;
}






/* ===== NILA FINAL FIXES ===== */
/* Hamburger menu */
button.menu { font-size: 22px !important; line-height: 1 !important; }

/* Mobile back button */
.mobile-back-btn { display: none; }
@media(max-width: 1080px) {
  .mobile-back-btn {
    display: flex;
    align-items: center;
    gap: 5px;
    background: none;
    border: none;
    color: #082142;
    font-size: 14px;
    font-weight: 600;
    padding: 10px 16px 0;
    cursor: pointer;
    text-decoration: none;
  }
}

/* Hide cockpit button from public */
.cockpit-sticky-return { display: none !important; }
body.is-owner .cockpit-sticky-return { display: flex !important; }

/* Service Provider login button - cleaner */
a.btn.line[href*="provider-login"] {
  font-size: 13px !important;
  padding: 8px 14px !important;
  border-radius: 10px !important;
}

/* Mockup category cards - add border and shadow */
.service-grid-v29 .service-card {
  border: 1px solid rgba(8,33,66,0.1) !important;
  box-shadow: 0 2px 8px rgba(8,33,66,0.08) !important;
}

/* Search bar text visibility fix */
.premium-search .field label {
  color: rgba(8,33,66,0.5) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.premium-search .field input,
.premium-search .field select,
.premium-search [data-service-input] {
  color: #082142 !important;
}
.premium-search .field input::placeholder {
  color: rgba(8,33,66,0.45) !important;
}

/* NILA v5.40 surgical laptop fix only
   Restored original uploaded design. Only prevents the desktop/laptop hero search from crossing into the mockup and removes the leaking mockup footer line. Mobile below 760px is untouched. */
@media (min-width: 761px) {
  .hero-v29,.hero-v29 .hero-shell,.hero-v29 .hero-copy,.hero-v29 .product-device,.hero-v29 .device-screen,.hero-v29 .service-panel{min-width:0 !important;}
  .hero-v29 .hero-shell{grid-template-columns:minmax(0,1fr) minmax(430px,.88fr) !important;column-gap:clamp(22px,3vw,54px) !important;}
  .hero-v29 .premium-search{width:100% !important;max-width:min(720px,100%) !important;box-sizing:border-box !important;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr) max-content !important;}
  .hero-v29 .premium-search .field,.hero-v29 .premium-search .location-finder-wrap,.hero-v29 .premium-search .btn.gold{min-width:0 !important;box-sizing:border-box !important;}
  .hero-v29 .premium-search .btn.gold{white-space:nowrap !important;padding-left:clamp(18px,2vw,26px) !important;padding-right:clamp(18px,2vw,26px) !important;}
  .hero-v29 .service-panel{overflow:hidden !important;}
  .hero-v29 .category-detail,.hero-v29 .category-detail.open,.hero-v29 .available-strip{display:none !important;}
  .hero-v29 .service-grid-v29 .service-card{overflow:hidden !important;}
  .hero-v29 .service-grid-v29 .service-card small{display:-webkit-box !important;-webkit-line-clamp:2 !important;-webkit-box-orient:vertical !important;overflow:hidden !important;}
}
@media (min-width:761px) and (max-width:1240px){
  .hero-v29 .hero-shell{grid-template-columns:minmax(0,1fr) minmax(390px,.74fr) !important;gap:22px !important;}
  .hero-v29 .product-device{max-width:520px !important;}
  .hero-v29 .premium-search{max-width:100% !important;gap:8px !important;padding:10px !important;}
  .hero-v29 .premium-search .field{min-height:66px !important;padding-left:12px !important;padding-right:12px !important;}
  .hero-v29 .premium-search input,.hero-v29 .premium-search select{font-size:16px !important;}
  .hero-v29 .premium-search .btn.gold{font-size:16px !important;padding-left:16px !important;padding-right:16px !important;}
}

/* v5.50 exact repair from user screenshot
   Keep the original design. Fix only the homepage hero collision and mockup overflow.
   1. On narrow laptop/browser widths the hero stacks instead of forcing two columns.
   2. On real desktop/laptop widths the tablet has breathing room below the nav.
   3. The mockup bottom hint text stays visible and contained inside the tablet frame. */
@media (min-width: 761px) {
  .hero-v29,
  .hero-v29 .container,
  .hero-v29 .hero-shell,
  .hero-v29 .hero-copy,
  .hero-v29 .product-device,
  .hero-v29 .device-screen,
  .hero-v29 .service-panel {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .hero-v29 {
    height: auto !important;
    min-height: calc(100vh - 74px) !important;
    overflow: visible !important;
    padding-top: 34px !important;
    padding-bottom: 62px !important;
  }

  .hero-v29 .container,
  .hero-v29 .hero-shell {
    height: auto !important;
    min-height: 0 !important;
  }

  .hero-v29 .premium-search {
    width: 100% !important;
    max-width: 720px !important;
    box-sizing: border-box !important;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) max-content !important;
  }

  .hero-v29 .premium-search .field,
  .hero-v29 .premium-search .loc-wrap,
  .hero-v29 .premium-search .location-finder-wrap,
  .hero-v29 .premium-search .btn.gold {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .hero-v29 .premium-search .btn.gold {
    white-space: nowrap !important;
  }

  .hero-v29 .device-screen {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: hidden !important;
    padding: 13px !important;
    border-radius: 36px !important;
  }

  .hero-v29 .device-screen::before {
    inset: 7px !important;
    border-radius: 31px !important;
  }

  .hero-v29 .service-panel {
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    overflow: hidden !important;
    margin-top: 10px !important;
    padding: 14px 14px 18px !important;
    border-radius: 0 0 28px 28px !important;
  }

  .hero-v29 .service-hint-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 10px 4px 0 !important;
    border-top: 1px solid rgba(13,32,51,.08) !important;
    position: relative !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .hero-v29 #serviceHintText {
    display: block !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .hero-v29 .service-hint-link {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .hero-v29 .available-strip {
    display: none !important;
  }
}

@media (min-width: 1181px) {
  .hero-v29 .hero-shell {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) minmax(520px,650px) !important;
    gap: clamp(34px,4vw,58px) !important;
    align-items: start !important;
  }

  .hero-v29 .hero-copy {
    padding-top: 0 !important;
  }

  .hero-v29 .product-device {
    width: min(100%,650px) !important;
    max-width: 650px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    justify-self: end !important;
    align-self: start !important;
    margin-top: 28px !important;
    overflow: visible !important;
  }

  .hero-v29 .real-image-stage {
    height: clamp(255px,19vw,330px) !important;
    flex: none !important;
  }

  .hero-v29 .service-grid-v29 {
    gap: 10px !important;
  }

  .hero-v29 .service-grid-v29 .service-card {
    min-height: 76px !important;
    padding: 11px 34px 11px 13px !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-grid-v29 .service-card small {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .hero-v29 {
    padding-top: 30px !important;
    padding-bottom: 54px !important;
  }

  .hero-v29 .hero-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 26px !important;
    align-items: start !important;
  }

  .hero-v29 .hero-copy {
    width: 100% !important;
    padding-left: 0 !important;
  }

  .hero-v29 .premium-search {
    max-width: 720px !important;
    margin-right: auto !important;
  }

  .hero-v29 .product-device {
    width: 100% !important;
    max-width: 680px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    display: block !important;
    justify-self: center !important;
    align-self: start !important;
    margin: 8px auto 0 !important;
    overflow: visible !important;
  }

  .hero-v29 .real-image-stage {
    height: clamp(220px,28vw,290px) !important;
    flex: none !important;
  }

  .hero-v29 .service-grid-v29 {
    gap: 10px !important;
  }

  .hero-v29 .service-grid-v29 .service-card {
    min-height: 76px !important;
    padding: 11px 34px 11px 13px !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-grid-v29 .service-card small {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .hero-v29 .premium-search {
    grid-template-columns: 1fr 1fr !important;
  }
  .hero-v29 .premium-search .btn.gold {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-height: 58px !important;
  }
}


/* v5.51: preserve v5.50 layout, stop web search/mockup shrinking, keep web mockup to 3 vendors */
@media (min-width: 721px){
  .service-panel.local-mode{
    min-height: 380px !important;
  }
  .service-panel.local-mode #serviceGrid{
    min-height: 285px !important;
  }
  .service-panel.local-mode .local-searching-state{
    min-height: 270px !important;
  }
  .service-panel.local-mode .local-results-layout{
    height: 270px !important;
    min-height: 270px !important;
    max-height: 270px !important;
  }
}
@media (max-width: 720px){
  .service-panel.local-mode,
  .service-panel.local-mode #serviceGrid,
  .service-panel.local-mode .local-searching-state{
    min-height: 0 !important;
  }
}

/* v5.52: restore original provider mockup scroll behaviour only.
   Web/tablet mockup shows first provider cards inside a fixed results window.
   The provider column scrolls inside the mockup so the "Not finding what you need?" row stays reachable.
   Mobile selection scroll behaviour is left untouched. */
@media (min-width: 721px){
  .hero-v29 .service-panel.local-mode{
    min-height: 380px !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-panel.local-mode #serviceGrid{
    min-height: 0 !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-panel.local-mode .local-searching-state{
    min-height: 285px !important;
  }

  .hero-v29 .service-panel.local-mode .local-results-layout{
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
    display: grid !important;
    grid-template-columns: minmax(220px,.95fr) minmax(270px,1.05fr) !important;
    gap: 12px !important;
    align-items: stretch !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column{
    height: 285px !important;
    min-height: 0 !important;
    max-height: 285px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding-right: 6px !important;
    align-content: start !important;
    box-sizing: border-box !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card{
    flex: 0 0 auto !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-wrap{
    display: grid !important;
    gap: 6px !important;
    margin: 2px 0 0 !important;
    padding-bottom: 2px !important;
  }

  .hero-v29 .service-panel.local-mode .show-all-providers,
  .hero-v29 .service-panel.local-mode .local-see-more{
    width: 100% !important;
    white-space: normal !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-note{
    display: block !important;
    line-height: 1.3 !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-detail{
    height: 285px !important;
    min-height: 0 !important;
    max-height: 285px !important;
    overflow: auto !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 721px) and (max-width: 900px){
  .hero-v29 .service-panel.local-mode .local-results-layout{
    grid-template-columns: 1fr !important;
  }
  .hero-v29 .service-panel.local-mode .local-provider-detail{
    display: none !important;
  }
}

/* v5.53: web-only provider mockup list fix.
   Keep mobile untouched. On desktop/web the provider list scrolls inside the mockup,
   shows roughly the first three vendors at rest, then reveals extra vendors and the
   Not finding row. Also keeps the selected vendor card fully rounded. */
@media (min-width: 721px){
  .hero-v29 .service-panel.local-mode .local-results-layout{
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column{
    height: 285px !important;
    min-height: 0 !important;
    max-height: 285px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 4px 7px 18px 4px !important;
    margin: -4px 0 0 -4px !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card{
    flex: 0 0 auto !important;
    min-height: 66px !important;
    border-radius: 17px !important;
    border: 1px solid rgba(13,31,54,.08) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card.selected{
    border-color: rgba(28,184,112,.74) !important;
    background: linear-gradient(180deg,#fffdf8,#fff7ec) !important;
    box-shadow: 0 0 0 1px rgba(28,184,112,.14), 0 10px 24px rgba(13,31,54,.08) !important;
    border-radius: 17px !important;
    transform: none !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card:hover,
  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card:focus{
    border-radius: 17px !important;
    outline: none !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-wrap{
    flex: 0 0 auto !important;
    display: grid !important;
    gap: 5px !important;
    margin: 2px 0 0 !important;
    padding: 0 0 6px !important;
    box-sizing: border-box !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more{
    min-height: 42px !important;
    border-radius: 16px !important;
    white-space: normal !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-note{
    display: block !important;
    line-height: 1.28 !important;
    padding: 0 4px !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-detail{
    height: 285px !important;
    min-height: 0 !important;
    max-height: 285px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
}

/* v5.54: WEB ONLY mockup provider list repair.
   Do not touch mobile. Fixes clipped selected-card glow and makes the desktop
   provider list a real internal scroll area with the Not finding row reachable. */
@media (min-width: 721px){
  .hero-v29 .service-panel.local-mode{
    overflow: hidden !important;
  }

  .hero-v29 .service-panel.local-mode .local-results-layout{
    height: 285px !important;
    min-height: 285px !important;
    max-height: 285px !important;
    overflow: hidden !important;
    align-items: stretch !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column{
    height: 285px !important;
    min-height: 0 !important;
    max-height: 285px !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 12px 8px 30px 10px !important;
    margin: 0 !important;
    gap: 9px !important;
    box-sizing: border-box !important;
    scroll-behavior: smooth !important;
    scrollbar-width: thin !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column::-webkit-scrollbar{
    width: 6px !important;
  }
  .hero-v29 .service-panel.local-mode .local-provider-column::-webkit-scrollbar-thumb{
    background: rgba(13,31,54,.32) !important;
    border-radius: 999px !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card{
    position: relative !important;
    flex: 0 0 auto !important;
    min-height: 64px !important;
    border-radius: 17px !important;
    border: 1px solid rgba(13,31,54,.08) !important;
    background: #fff !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    transform: none !important;
    box-shadow: 0 8px 18px rgba(13,31,54,.055) !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card.selected{
    border-color: rgba(24,184,112,.78) !important;
    background: linear-gradient(180deg,#fbfffd,#f5fff9) !important;
    box-shadow: 0 0 0 1px rgba(24,184,112,.18), 0 12px 26px rgba(13,31,54,.10) !important;
    outline: none !important;
    border-radius: 17px !important;
    transform: none !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card.selected::after{
    content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 18px !important;
    border: 1px solid rgba(24,184,112,.18) !important;
    box-shadow: 0 0 0 6px rgba(24,184,112,.08) !important;
    pointer-events: none !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-wrap{
    flex: 0 0 auto !important;
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 4px 0 0 !important;
    padding: 0 0 10px !important;
    box-sizing: border-box !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 16px !important;
    white-space: normal !important;
  }

  .hero-v29 .service-panel.local-mode .local-see-more-note{
    display: block !important;
    padding: 0 4px !important;
    line-height: 1.28 !important;
  }
}


/* v5.55: web only, keep existing scrollbar and selected glow.
   Make the "Not finding what you need?" row part of the internal provider scroll content. */
@media (min-width: 721px){
  .hero-v29 .service-panel.local-mode .local-provider-column{
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    padding-bottom: 34px !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column .local-vendor-card{
    flex: 0 0 auto !important;
  }

  .hero-v29 .service-panel.local-mode .web-mockup-not-finding,
  .hero-v29 .service-panel.local-mode .local-provider-column > .local-see-more-wrap{
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-height: 68px !important;
    margin: 8px 0 18px !important;
    padding: 0 2px 18px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .hero-v29 .service-panel.local-mode .web-mockup-not-finding .local-see-more,
  .hero-v29 .service-panel.local-mode .local-provider-column > .local-see-more-wrap .local-see-more{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 42px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .hero-v29 .service-panel.local-mode .web-mockup-not-finding .local-see-more-note,
  .hero-v29 .service-panel.local-mode .local-provider-column > .local-see-more-wrap .local-see-more-note{
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .hero-v29 .service-panel.local-mode .local-provider-column::after{
    content: '' !important;
    display: block !important;
    flex: 0 0 10px !important;
  }
}


/* v5.59 global back arrow for all inner pages, mobile only */
.nila-page-back-arrow{display:none}
@media(max-width:760px){.nila-page-back-arrow{position:fixed;top:calc(env(safe-area-inset-top,0px) + 78px);left:14px;z-index:9999;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 13px;border-radius:999px;border:1px solid rgba(8,33,66,.12);background:rgba(255,255,255,.96);box-shadow:0 8px 20px rgba(8,33,66,.12);color:#082142;font:700 13px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent}.nila-page-back-arrow:active{transform:translateY(1px)}}
/* END v5.59 global back arrow */
