/* «Майстри поруч» — класичний каталог: синя шапка, біле тло, щільні списки, профіль з контактами збоку */
:root{--brand:#0e3a66;--brand2:#14518c;--link:#1663b5;--y:#ffcc00;--y2:#f5c000;--g:#14a44d;--bg:#f2f4f7;--card:#fff;--ink:#1d2329;--mute:#68717d;--line:#dde2e8;--soft:#f6f8fa;--r:8px}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;display:block}
.ic{width:18px;height:18px;flex:0 0 auto;vertical-align:-3px}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
h1{font-size:26px;line-height:1.2;margin:0;letter-spacing:-.01em}
h2{font-size:19px;margin:0 0 12px}h3{margin:0}
.h2{margin:30px 0 12px}.mut{color:var(--mute)}.sm{font-size:13px}
/* header */
.hd{background:var(--brand);color:#fff;position:sticky;top:0;z-index:40;box-shadow:0 1px 0 rgba(0,0,0,.15)}
.hd__in{display:flex;align-items:center;gap:16px;height:64px}
.logo{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none!important;flex:0 0 auto}
.logo__mark{width:34px;height:34px;border-radius:7px;background:var(--y);color:var(--brand);display:grid;place-items:center;font-weight:900;font-size:19px}
.logo__t{font-weight:700;font-size:17px;line-height:1}.logo__t b{display:block;font-weight:800;color:var(--y);font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}
.sb{flex:1;display:flex;height:44px;background:#fff;border-radius:6px;overflow:hidden;max-width:720px}
.sb label{display:flex;align-items:center;gap:8px;color:var(--mute);padding:0 12px}.sb__q{flex:1;min-width:0}.sb__c{border-left:1px solid var(--line);flex:0 0 200px}
.sb input,.sb select{border:0;outline:0;font:inherit;color:var(--ink);background:transparent;width:100%;min-width:0;height:44px}
.sb select{cursor:pointer;-webkit-appearance:none;appearance:none}
.sb .btn{border-radius:0;height:44px;padding:0 22px}
.hd__add{display:flex;align-items:center;gap:6px;color:#fff;font-weight:600;white-space:nowrap;padding:9px 14px;border:1px solid rgba(255,255,255,.35);border-radius:6px;text-decoration:none!important}
.hd__add:hover{background:rgba(255,255,255,.08)}
@media (max-width:860px){.hd{position:static}.hd__in{flex-wrap:wrap;height:auto;padding:10px 0;gap:10px}.sb{order:3;flex:0 0 100%;max-width:none}.sb__c{flex:0 0 140px}.hd__add{margin-left:auto;padding:7px 10px;font-size:14px}.sb .btn{padding:0 14px}}
@media (max-width:420px){.sb__c{flex:0 0 112px;padding:0 8px!important}.sb__c .ic{display:none}.hd__add span{display:none}}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:40px;padding:0 16px;border-radius:6px;border:1px solid transparent;font:600 15px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap;text-decoration:none!important;color:var(--ink)}
.btn--y{background:var(--y);color:#1a1a1a}.btn--y:hover{background:var(--y2)}
.btn--g{background:var(--g);color:#fff}.btn--g:hover{filter:brightness(1.06)}.btn--g small{font-weight:500;opacity:.85;font-size:12px;margin-left:2px;text-decoration:underline}
.btn--g.shown small{display:none}
.btn--o{background:#fff;border-color:var(--line);color:var(--ink)}.btn--o:hover{border-color:#b9c2cd;background:var(--soft)}
.btn--sm{height:36px;padding:0 12px;font-size:14px}.btn--lg{height:50px;font-size:17px;width:100%}
.lnk{background:none;border:0;color:var(--link);font:inherit;cursor:pointer;display:inline-flex;gap:6px;align-items:center;padding:0}
/* intro (home) */
.intro{background:#fff;border-bottom:1px solid var(--line);padding:26px 0 18px}
.intro h1{font-size:28px}.intro p{color:var(--mute);margin:6px 0 14px;max-width:640px}
.pop{display:flex;gap:8px;flex-wrap:wrap}
.pop a{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-weight:500;background:var(--soft);text-decoration:none!important}
.pop a:hover{border-color:var(--brand2);color:var(--brand2)}.pop .ic{color:var(--brand2)}
@media (max-width:640px){.pop{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.pop::-webkit-scrollbar{display:none}.pop a{flex:0 0 auto}}
.intro--pro{background:var(--brand);color:#fff;border:0;padding:34px 0}.intro--pro p{color:#cfdbe8}
.price{display:inline-flex;align-items:baseline;gap:10px;background:rgba(255,255,255,.1);border-radius:8px;padding:10px 16px}.price b{font-size:30px;color:var(--y)}.price span{color:#cfdbe8}
/* category menu (Hotline/Yelp style) */
.menu{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media (max-width:1000px){.menu{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.menu{grid-template-columns:1fr}}
.grp{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.grp h3{display:flex;align-items:center;gap:10px;font-size:16px;margin-bottom:8px}
.grp a{display:flex;justify-content:space-between;padding:4px 0;color:var(--ink)}.grp a:hover{color:var(--link)}
.grp a span,.cities a span,.slinks a span{color:var(--mute);font-size:13px}.grp a.z{color:var(--mute)}
.ph{width:34px;height:34px;border-radius:7px;display:grid;place-items:center;flex:0 0 34px;color:#fff}
.ph .ic{width:19px;height:19px}
.ph--avto{background:#e8590c}.ph--pereviz{background:#1c7ed6}.ph--remont{background:#c08a00}.ph--dim{background:#2b8a3e}
.ph--tekh{background:#6741d9}.ph--chyst{background:#0c8599}.ph--krasa{background:#c2255c}.ph--inshe{background:#495057}
.cities{display:flex;flex-wrap:wrap;gap:6px 8px}
.cities a{display:inline-flex;gap:6px;align-items:baseline;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:6px;color:var(--ink)}
.cities a:hover{border-color:var(--brand2);text-decoration:none}
/* rows (lists) */
.rows{display:flex;flex-direction:column;gap:10px}
.row{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.row:hover{border-color:#c3ccd6;box-shadow:0 2px 10px rgba(16,24,40,.06)}
.row__img{position:relative;flex:0 0 132px;height:100px;border-radius:6px;overflow:hidden;background:var(--soft)}
.row__img img{width:100%;height:100%;object-fit:cover}.row__img .ph{width:100%;height:100%;border-radius:0}.row__img .ph .ic{width:34px;height:34px}
.row__n{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;border-radius:4px;padding:1px 6px;display:flex;gap:4px;align-items:center}.row__n .ic{width:13px;height:13px}
.row__b{flex:1;min-width:0}
.row__name{font-size:17px;font-weight:700;color:var(--link);line-height:1.25}
.row__meta,.row__tr{display:flex;align-items:center;flex-wrap:wrap;gap:4px;color:var(--mute);font-size:14px;margin-top:3px}
.row__meta i,.row__tr i{width:3px;height:3px;border-radius:50%;background:#aab3bd;margin:0 6px}
.row__meta .ic,.row__tr .ic{width:15px;height:15px}.row__tr{font-size:13px;color:#2b7a3f}.row__tr .ic{color:#2b7a3f}
.row__tr i+.ic,.row__tr i~*{color:var(--mute)}
.row__svc{margin:6px 0 0;font-size:14px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row__act{display:flex;flex-direction:column;gap:8px;justify-content:center;flex:0 0 190px}
@media (max-width:720px){.row{flex-wrap:wrap}.row__img{flex:0 0 92px;height:92px}.row__act{flex:1 1 100%;flex-direction:row}.row__act .btn{flex:1}}
.tag{font-style:normal;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;margin-left:8px;text-transform:uppercase;letter-spacing:.03em}
.tag--new{background:#e7f5ff;color:#1864ab}
/* page title, columns, sidebar */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:var(--mute);margin:14px 0 10px}.crumbs .ic{width:13px;height:13px}.crumbs a{color:var(--mute)}
.ttl{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 16px}.ttl span{color:var(--mute)}
.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px;align-items:start}
@media (max-width:900px){.cols{grid-template-columns:1fr}}
.side{display:flex;flex-direction:column;gap:12px}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.box>b{display:block;margin-bottom:8px}.box label{display:flex;gap:8px;align-items:center;padding:3px 0;cursor:pointer}.box label span{color:var(--mute);font-size:13px;margin-left:auto}
.slinks a{display:flex;justify-content:space-between;padding:4px 0;color:var(--ink)}.slinks a.on{font-weight:700;color:var(--brand2)}
.dl{margin-top:8px;border-top:1px solid var(--line);padding-top:8px}
.bar2{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.fl{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:6px;padding:0 10px;color:var(--mute)}
.fl input{border:0;outline:0;height:36px;font:inherit;min-width:190px}
.join{background:#fffbe6;border:1px solid #f3e3a1;border-radius:var(--r);padding:14px 16px;margin-top:20px}.join b{display:block}.join p{margin:4px 0 10px;color:#5c5530;font-size:14px}
.side .join{margin-top:0}
.empty{background:#fff;border:1px dashed #c5ccd5;border-radius:var(--r);padding:22px;display:flex;gap:16px;align-items:flex-start}
.empty__ic{width:42px;height:42px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--mute);flex:0 0 42px}.empty p{margin:0}
/* request form (Thumbtack/Bark) */
.req{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-top:20px}
.req p{color:var(--mute);margin:-6px 0 12px;font-size:14px}
.req form{display:grid;gap:10px}
.req input,.req textarea,.req select{width:100%;border:1px solid #c9d1da;border-radius:6px;padding:10px 12px;font:inherit;background:#fff;color:var(--ink)}
.req input:focus,.req textarea:focus,.req select:focus{outline:2px solid #9cc3f0;border-color:var(--brand2)}
.req__r{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}@media (max-width:640px){.req__r{grid-template-columns:1fr}}
.side .req{margin:0}.side .req form{gap:8px}
.msg{margin:0!important;font-weight:600;font-size:14px}.msg.ok{color:var(--g)}.msg.err{color:#c92a2a}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
/* steps & pro banner */
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}
@media (max-width:760px){.steps3{grid-template-columns:1fr}}
.steps3>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px}.steps3 .ic{width:26px;height:26px;color:var(--brand2)}
.steps3 b{display:block;margin:8px 0 2px}.steps3 p{margin:0;color:var(--mute);font-size:14px}
.pro{margin:24px 0 0;background:var(--brand);color:#fff;border-radius:var(--r);padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.pro p{margin:6px 0 0;color:#cfdbe8;max-width:700px}.pro b{color:var(--y)}
/* profile */
.prof{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px;align-items:start}
@media (max-width:900px){.prof{grid-template-columns:1fr}}
.prof__hd{margin-bottom:14px}.prof__hd h1{margin:4px 0 8px}
.facts{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--mute)}.facts li{display:flex;gap:6px;align-items:center}
.prof__side--d{position:sticky;top:80px}.prof__side--m{display:none;margin-top:14px}
@media (max-width:900px){.prof__side--d{display:none}.prof__side--m{display:block}}
.ctc{display:flex;flex-direction:column;gap:10px}.ctc__name{font-weight:700;font-size:17px}
.ctc__2{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px}.ctc__2 .btn{padding:0 8px}
.ctc__tr{list-style:none;margin:2px 0;padding:10px 0 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--mute)}
.ctc__tr li{display:flex;gap:8px;align-items:center}.ctc__tr li:first-child{color:#2b7a3f}
.gal{position:relative;border-radius:var(--r);overflow:hidden;background:#000}
.gal__strip{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.gal__strip::-webkit-scrollbar{display:none}
.gal__strip img{flex:0 0 100%;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;scroll-snap-align:start;max-height:520px}
.gal__n{position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.6);color:#fff;font-size:13px;border-radius:4px;padding:2px 8px}
.nophoto{border-radius:var(--r);height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#fff;font-weight:600}
.nophoto .ic{width:54px;height:54px}
.sec{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-top:16px}.sec p{margin:0}
.svc{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px 18px}
.svc li{display:flex;gap:8px;align-items:flex-start}.svc .ic{color:var(--g);margin-top:2px}.svc--1{grid-template-columns:1fr}
.facts1{display:flex;gap:6px;align-items:center;color:var(--mute)}
.map{margin-top:12px}.map button{display:flex;gap:8px;align-items:center;width:100%;height:120px;justify-content:center;border:1px dashed #c5ccd5;border-radius:6px;background:var(--soft);font:inherit;color:var(--link);cursor:pointer}
.map iframe{width:100%;height:300px;border:0;border-radius:6px}
.ol{margin:0;padding-left:20px}.ol li{margin:6px 0}
.draft{background:#fff8db;border-bottom:1px solid #f0dc8c;font-size:14px}.draft .wrap{display:flex;gap:14px;align-items:center;padding-top:12px;padding-bottom:12px}
@media (max-width:640px){.draft .wrap{flex-direction:column;align-items:stretch}}
.prose{max-width:780px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 24px;margin-top:20px}.prose h2{margin-top:18px}
/* mobile call bar */
.mbar{display:none}
@media (max-width:900px){.has-mbar .mbar{display:grid;grid-template-columns:1.4fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.06)}.mbar .btn{height:46px}.has-mbar .ft{padding-bottom:90px}}
/* footer */
.ft{margin-top:44px;background:#1f2933;color:#c3cbd4;padding:30px 0 26px;font-size:14px}
.ft__cols{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}@media (max-width:900px){.ft__cols{grid-template-columns:repeat(2,1fr)}}
.ft__cols div{display:flex;flex-direction:column;gap:5px}.ft__cols b{color:#fff;margin-bottom:4px}.ft__cols a{color:#c3cbd4}
.ft__note{margin:22px 0 0;color:#8a96a3;font-size:13px}
.btn--g .pc{display:none}
@media (pointer:coarse),(max-width:720px){.btn--g .pn,.btn--g small{display:none}.btn--g .pc{display:inline}}
.prof__side .btn--g .pn{display:inline}.prof__side .btn--g .pc{display:none}
@media (max-width:720px){.row__act .btn--o{flex:0 0 auto}}

/* v3 */
.req__s{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:560px){.req__s{grid-template-columns:1fr}}
.req__ok{font-size:12px!important;margin:0!important}.req details summary{cursor:pointer;color:var(--link);font-size:14px;margin:2px 0 8px}.req details{display:grid;gap:8px}
.req details[open]>*:not(summary){margin-bottom:8px}
.pop button,.grp button{font:inherit;cursor:pointer}
.pop button{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;color:var(--ink);font-weight:500;background:var(--soft)}
.pop button:hover{border-color:var(--brand2);color:var(--brand2)}.pop button .ic{color:var(--brand2)}
@media (max-width:640px){.pop button{flex:0 0 auto}}
.grp button{display:block;width:100%;text-align:left;background:none;border:0;padding:4px 0;color:var(--mute)}.grp button:hover{color:var(--link)}
.cols--home{margin-top:6px}.cols--home .req{margin-top:16px}
.ft__cols span{color:#7f8b97}
.draft .wrap{align-items:flex-start}.draft__t{flex:1}.draft__f{margin:8px 0 0;padding-left:18px}.draft__f li{margin:2px 0}
.draft__pay{display:flex;flex-direction:column;gap:8px;min-width:230px}.draft__pay .msg{max-width:260px}
.mbar--1{grid-template-columns:1fr!important}
@media (max-width:900px){.has-mbar .mbar--1{display:grid}}
