/* style.css */
*{box-sizing:border-box}
body{margin:0;color:var(--ink);font:16px/1.5 Arial,sans-serif;background:var(--c-surface)}
a{color:inherit;text-decoration:none}
a:hover{color:var(--c-primary)}
button,input,select{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:20px;top:10px;background:var(--c-surface);z-index:10}
header{display:flex;align-items:center;gap:36px;padding:20px 4%;border-bottom:1px solid var(--line)}
.logo{font-size:30px;font-weight:800;letter-spacing:-1.4px}
.mark{color:var(--blue);font-size:40px;line-height:.8;display:inline-block;transform:rotate(8deg);margin-left:3px}
.header-label{color:var(--muted);font-size:var(--fs-ui)}
.nav-current{margin-left:auto;border:1px solid var(--ink);border-radius:var(--r-md);padding:7px 19px;font-weight:600}
.lang{font-size:var(--fs-ui);font-weight:bold}
.categories{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;background:var(--c-surface-alt);padding:12px 4%}
.categories a,.chips a{background:var(--c-surface);border:1px solid var(--line);border-radius:28px;padding:7px 17px;font-size:var(--fs-ui)}
.categories a.active{background:var(--ink);color:white}
.search-area{background:var(--pale);padding:25px 5% 38px}
.breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:var(--fs-ui);color:var(--muted);margin-bottom:18px}
.breadcrumb a{text-decoration:underline}
h1{font-size:clamp(28px,3.2vw,44px);line-height:1.15;letter-spacing:-1.2px;margin:16px 0 28px;font-weight:750}
h2,.dialog-title{font-size:var(--fs-xl);line-height:1.3;margin:0 0 20px}
.dialog-title{font-weight:bold}
h3{font-size:var(--fs-xl);line-height:1.25;margin:3px 0 10px}
.search{display:flex;align-items:stretch;background:var(--c-surface);border:1px solid var(--c-line);border-radius:40px;padding:7px;max-width:1040px}
.search label{display:flex;flex-direction:column;padding:3px 22px}
.search label>span{font-size:var(--fs-xs);color:var(--muted)}
.search-field{flex:1;min-width:100px}
.city-field{width:260px;border-left:1px solid var(--line)}
input,select{border:0;background:var(--c-surface);min-width:0;width:100%;padding:3px 0;color:var(--ink)}
button,.button{border:0;background:var(--c-primary);color:white;padding:12px 22px;border-radius:var(--r-md);cursor:pointer;font-weight:600}
button span{margin-left:18px}
button:hover,.button:hover{background:var(--c-primary-strong);color:#fff}
.results{display:grid;grid-template-columns:235px 1fr;gap:38px;padding:32px 5% 60px;max-width:1600px;margin:auto}
aside>a{display:flex;justify-content:space-between;gap:10px;padding:9px 0;font-size:var(--fs-ui)}
aside>a span{color:var(--muted)}
aside{min-width:0}
aside h2{font-size:var(--fs-lg)}
.results-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:20px}
.results-heading h2{margin:0;font-size:var(--fs-lg)}
.results-heading>span{font-size:var(--fs-ui);color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.card{border:1px solid var(--line);border-radius:var(--r-lg);transition:border-color .2s;background:var(--c-surface);min-width:0}
.card:hover{border-color:var(--blue)}
.card-link{display:flex;align-items:flex-start;gap:16px;padding:22px;min-height:230px}
.card-link:hover{color:inherit}
.avatar{width:78px;height:78px;flex-shrink:0;display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);border-radius:var(--r-lg);font-size:38px;font-weight:bold}
.card:nth-child(3n+2) .avatar{background:var(--c-surface-muted);color:var(--c-muted)}
.card-copy{min-width:0}
.city{color:var(--muted);font-size:var(--fs-ui);margin:0 0 5px}
.address{font-size:var(--fs-ui);margin:0;color:var(--c-text)}
.rating{font-size:var(--fs-ui);margin:14px 0}
.rating>span:first-child{color:var(--c-primary)}
.muted{color:var(--muted)}
.details-link{font-size:var(--fs-ui);color:var(--c-primary);font-weight:600}
.pagination{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:28px;font-size:var(--fs-ui)}
.pagination a{border:1px solid var(--line);padding:10px 16px;border-radius:25px}
.empty{padding:60px 20px;text-align:center;grid-column:1/-1}
.empty a{text-decoration:underline;color:var(--c-primary)}
.profile{max-width:1280px;margin:auto;padding:30px 5% 60px}
.profile-head{display:flex;align-items:center;gap:30px;padding:24px 0 38px}
.big{width:150px;height:150px;font-size:70px;border-radius:25px}
.profile-head h1{margin:5px 0 15px}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:30px;align-items:start}
.panel{border:1px solid var(--line);padding:28px;border-radius:var(--r-lg);margin-bottom:22px}
.description{white-space:pre-line;overflow-wrap:anywhere;line-height:1.75}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips a{background:var(--c-surface-alt)}
.contact{position:sticky;top:24px}
.contact .phone{display:block;font-size:var(--fs-lg);font-weight:600;color:var(--c-primary)}
.contact .button{display:block;text-align:center;font-size:var(--fs-ui);margin-top:16px}
.back-link{margin-top:20px}
.review{border-bottom:1px solid var(--line);padding:15px 0;overflow-wrap:anywhere}
.review:last-child{border:0}
.amenities{padding-left:20px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
footer{border-top:1px solid var(--line);padding:32px 5%;display:flex;align-items:center;gap:32px}
footer p,footer>span{color:var(--muted);font-size:var(--fs-ui)}
footer>span{margin-left:auto}
@media(max-width:1100px){
 .cards{grid-template-columns:1fr}
 .card-link{min-height:175px}
 .results{grid-template-columns:210px 1fr;gap:24px}
}
@media(max-width:700px){
 header{gap:18px;padding:16px 5%}
 .header-label{display:none}
 .logo{font-size:25px}
 .lang{display:none}
 .categories{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding:10px 5%}
 .categories a{white-space:nowrap}
 .search-area{padding:20px 5% 25px}
 .search{flex-wrap:wrap;border-radius:var(--r-lg);padding:12px;gap:12px}
 .search label{padding:0 8px}
 .search-field{flex-basis:100%}
 .city-field{width:auto;flex:1;border:0}
 .search button{padding:12px 20px}
 .results{display:block;padding:25px 5%}
 .results>aside{display:none}
 .results-heading{align-items:start}
 .results-heading>span{white-space:nowrap}
 .avatar{width:64px;height:64px;font-size:30px}
 .card-link{padding:18px;gap:14px}
 .profile-head{gap:18px;align-items:start}
 .big{width:80px;height:80px;font-size:40px}
 .profile-head h1{font-size:var(--fs-h1)}
 .profile-grid{display:flex;flex-direction:column}
 .contact{position:static;order:-1;width:100%}
 .panel{padding:22px}
 .amenities{grid-template-columns:1fr}
 footer{flex-wrap:wrap;gap:10px 25px}
 footer>span{margin-left:0}
 footer p{width:100%}
}
.schedule-heading{margin-top:28px}
.schedule{font-size:var(--fs-ui)}
.schedule div{display:flex;justify-content:space-between;gap:12px;margin:5px 0}
.schedule dd{margin:0}
.card-copy,.profile-head>div{min-width:0;overflow-wrap:anywhere}
.portal-hero{background:var(--c-primary);color:white;padding:60px 6%;display:grid;grid-template-columns:1.5fr 1fr;gap:60px;align-items:center}
.portal-hero h1{font-size:clamp(38px,5.2vw,72px);line-height:1.08;letter-spacing:-2px;max-width:850px;margin:0 0 28px}
.hero-link{display:inline-block;background:#111;color:white;border-radius:30px;padding:13px 24px}
.hero-link:hover{color:white;background:var(--c-primary-strong)}
.hero-topics{display:grid;gap:0}
.hero-topics a{display:block;padding:18px 0;border-bottom:1px solid #ffffff66;color:white}
.hero-topics strong{display:block;font-size:var(--fs-h2);margin-bottom:5px}
.hero-topics span{display:block;max-width:380px;font-size:var(--fs-base);line-height:1.5}
.editorial-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:50px;padding:45px 6% 65px;max-width:1600px;margin:auto}
.section-line{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:24px;gap:20px}
.section-line h2{margin:0;font-size:var(--fs-h2)}
.section-line a{font-size:var(--fs-ui);color:var(--c-primary)}
.editorial-empty{padding:45px 0 60px;max-width:560px}
.editorial-empty h2{font-size:var(--fs-h1);margin-bottom:12px}
.editorial-empty p{color:var(--muted);margin-bottom:20px}
.editorial-empty>a{color:var(--c-primary);text-decoration:underline}
.catalog-spot{background:var(--c-surface-alt);padding:26px;border-radius:var(--r-lg);align-self:start}
.catalog-spot p{color:var(--c-text)}
.catalog-spot .button{display:block;text-align:center;font-size:var(--fs-ui);padding:13px 15px;margin:23px 0}
.catalog-shortcuts{display:flex;flex-wrap:wrap;gap:8px}
.catalog-shortcuts a{background:var(--c-surface);border:1px solid var(--line);padding:5px 12px;border-radius:var(--r-lg);font-size:var(--fs-ui)}
.story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.story{padding:20px 0;border-top:1px solid var(--line);min-width:0;overflow-wrap:anywhere}
.story h2{font-size:var(--fs-h2);line-height:1.25;margin:15px 0}
.story p,.lead-story p{color:var(--c-text)}
.story>.muted{font-size:var(--fs-ui)}
.story-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:var(--fs-ui);color:var(--muted)}
.story-meta a{color:var(--c-primary);font-weight:600}
.lead-story{padding:8px 0 30px}
.lead-story h2{font-size:var(--fs-display-md);line-height:1.2;margin:18px 0}
.section-intro{padding:32px 6%;background:var(--pale)}
.section-intro h1{margin-bottom:16px}
.section-intro>p{margin:0;max-width:620px;color:var(--c-text)}
.news-list{padding:30px 6% 60px;max-width:1300px;margin:auto;min-height:350px}
.article-page{padding:35px 6% 50px;max-width:1150px;margin:auto}
.article-heading{padding:20px 0 28px;border-bottom:1px solid var(--line)}
.article-heading h1{font-size:clamp(32px,4.5vw,54px);line-height:1.15;overflow-wrap:anywhere}
.article-summary{font-size:var(--fs-h3);line-height:1.5}
.byline{font-size:var(--fs-ui)}
.byline span{color:var(--muted)}
.article-body{max-width:740px;margin:35px auto 0;font-size:var(--fs-lg);line-height:1.85;overflow-wrap:anywhere}
.article-body h2{font-size:var(--fs-h1);margin:35px 0 15px}
.sources{border-top:1px solid var(--line);margin-top:40px;padding-top:10px;font-size:var(--fs-md)}
.sources a{text-decoration:underline;color:var(--c-primary)}
.related{padding:20px 6% 60px;max-width:1300px;margin:auto}
footer>a:last-child{font-size:var(--fs-ui);color:var(--muted);margin-left:auto}
@media(max-width:900px){
 .portal-hero{gap:35px;padding:40px 5%}
 .editorial-layout{grid-template-columns:minmax(0,1fr) 255px;gap:25px;padding:30px 5%}
 .hero-topics span{font-size:var(--fs-ui)}
}
@media(max-width:700px){
 header{flex-wrap:wrap;gap:12px}
 .portal-hero{grid-template-columns:1fr;gap:24px;padding:35px 5%}
 .portal-hero h1{letter-spacing:-1px}
 .hero-topics{grid-template-columns:1fr}
 .hero-topics a{padding:12px 0}
 .hero-topics strong{font-size:var(--fs-xl)}
 .editorial-layout{grid-template-columns:1fr}
 .story-grid{grid-template-columns:1fr;gap:10px}
 .editorial-empty{padding:25px 0}
 .lead-story h2{font-size:var(--fs-h1)}
 .article-summary{font-size:var(--fs-lg)}
 .article-body{font-size:var(--fs-md)}
 .section-line h2{font-size:var(--fs-h3)}
 footer>a:last-child{margin-left:0}
}
/* Under both columns of the list (UX2-03): about 72 characters a line instead of 30 in the 420 px column. */
.landing-description{box-sizing:border-box;margin:36px 28px 48px;padding:28px 30px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--c-surface-alt);max-width:calc(72ch + 62px)}
@media(min-width:1700px){
 .landing-description{margin-left:40px;margin-right:40px}
}
@media(max-width:1000px){
 .landing-description{margin-left:18px;margin-right:18px}
}
@media(max-width:700px){
 .landing-description{margin:28px 16px 32px;padding:22px 18px;border-radius:var(--r-lg)}
 .landing-description h2{font-size:var(--fs-h3)}
}
.landing-description h2{font-size:var(--fs-h2);line-height:1.25;margin:0 0 16px}
.landing-description .description{display:grid;gap:12px;color:var(--c-text);line-height:1.7}
.landing-description .description p{margin:0}
.catalog-facts{margin-top:32px;padding:24px 28px;border:1px solid var(--line);border-radius:var(--r-lg);max-width:780px;background:var(--c-surface)}
.catalog-facts h2{font-size:var(--fs-h3);line-height:1.25;margin:0 0 14px}
.catalog-facts h3{font-size:var(--fs-md);margin:20px 0 10px}
.facts-list{padding-left:20px;margin:0;line-height:1.7;color:var(--c-text)}
.facts-top{padding-left:20px;margin:0;line-height:1.8}
.facts-top a{color:var(--c-primary)}
.facts-links{display:flex;flex-wrap:wrap;gap:8px}
.facts-links a{border:1px solid var(--line);border-radius:var(--r-lg);padding:6px 12px;font-size:var(--fs-ui);background:var(--c-surface)}
@media(max-width:700px){
 .catalog-facts{padding:18px 16px}
}
.empty a.button,.empty a.button:visited{color:#fff;text-decoration:none;display:inline-block}
.catalog-intro{margin:10px 0 0;max-width:780px;font-size:var(--fs-base);line-height:1.55;color:var(--c-text)}
.catalog-parent-link{margin:16px 0 0;font-size:var(--fs-base)}
.catalog-popular h2,.catalog-single h2{font-size:var(--fs-xl)}
/* eastman.css */
@font-face{font-family:Eastman;src:url("/static/brand/eastman-300.woff2") format("woff2");font-weight:300;font-style:normal;font-display:optional;ascent-override:90%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:Eastman;src:url("/static/brand/eastman-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;ascent-override:90%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:Eastman;src:url("/static/brand/eastman-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:optional;ascent-override:90%;descent-override:22%;line-gap-override:0%}
@font-face{font-family:Eastman;src:url("/static/brand/eastman-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap;ascent-override:90%;descent-override:22%;line-gap-override:0%}
/* tokens.css */
/* Design tokens of aidentyka.com.ua (batch 18, 03.10.2026): the one place for colours, radii, spacing and type sizes.
   The public stylesheets refer to these variables; literal colours left in them are transparencies, shadows and the
   accents of the deals section. New rules use only the variables below.
   Contrast with white / --c-surface-alt / --c-surface-muted is given for the text colours; all keep 4.5:1 except
   --c-success on --c-surface-muted (4.4:1): use it on white or --c-surface-alt. */
:root{
 /* text */
 --c-ink:#17222c;            /* headings and body text: 16.1 / 15.0 / 14.2 */
 --c-text:#33404a;           /* long copy and secondary text: 10.6 / 9.9 / 9.4 */
 --c-muted:#5f6b76;          /* captions, counts, dates: 5.5 / 5.1 / 4.8 */
 /* brand */
 --c-primary:#1a66c9;        /* links, primary buttons, focus ring: 5.5 / 5.2 / 4.9; white text on it 5.5 */
 --c-primary-strong:#0b4f9c; /* hover/pressed, the active map marker; white text on it 8.0 */
 --c-primary-soft:#eef5fd;   /* selected chips, tinted panels */
 --c-primary-line:#9fbfe2;   /* borders of tinted controls */
 --c-navy:#24285e;           /* the «Все» menu control */
 --c-sky:#9ed5f7;            /* portal blocks: footer, hero */
 --c-on-primary:#fff;
 /* surfaces and lines */
 --c-surface:#fff;
 --c-surface-alt:#f5f7fa;    /* panels and cards on white */
 --c-surface-muted:#eef1f4;  /* map placeholder, quiet canvas */
 --c-canvas:#f3f3f3;         /* the portal's grey canvas */
 --c-line:#e1e7ee;           /* dividers and card borders */
 --c-line-strong:#c9d6e4;    /* field and button borders */
 /* status */
 --c-success:#17803d;        /* «Відчинено»: 5.0 / 4.7 / 4.4 */
 --c-success-soft:#eef8f1;
 --c-danger:#a12a33;         /* «Зачинено», errors: 7.3 / 6.8 / 6.4 */
 --c-danger-soft:#fbeeee;
 --c-warning:#8a4b00;
 --c-star:#f0872e;
 /* radii */
 --r-sm:6px;
 --r-md:12px;
 --r-lg:20px;
 --r-pill:999px;
 /* spacing */
 --s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;
 /* type scale; nothing on the site is smaller than --fs-xs */
 --fs-xs:12px;
 --fs-sm:13px;
 --fs-ui:14px;
 --fs-base:15px;
 --fs-md:16px;
 --fs-lg:18px;
 --fs-xl:20px;
 --fs-h3:22px;
 --fs-h2:24px;
 --fs-h1:28px;
 --fs-display:32px;
 --fs-display-md:36px;
 --fs-display-lg:40px;
 /* controls */
 --control-h:44px;
 --control-h-sm:36px;
 --shadow-sm:0 1px 4px #0000001f;
 --shadow-md:0 8px 24px #17222c1f;
 /* legacy names still used here and there; they point at the tokens */
 --ink:var(--c-ink);
 --line:var(--c-line);
 --blue:var(--c-primary);
 --muted:var(--c-muted);
 --pale:var(--c-primary-soft);
}
/* catalog.css */
/* Catalog layout, list cards, map and the basic business-card frame (batch 18, 03.10.2026).
   Moved unchanged from the former layout stylesheet, which is no longer loaded; rules that nothing on the site can match were left behind
   (the old filter drawer, mobile search panel, profile map, «service-more», portal hero). Tokens: tokens.css. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.catalog-site{font-family:Arial,sans-serif;font-size:var(--fs-base);line-height:1.5}
.site-menu{position:relative}
.site-menu summary{list-style:none;width:32px;height:36px;display:flex;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}
.site-menu summary::-webkit-details-marker{display:none}
.site-menu summary span{height:1.5px;background:var(--blue);width:25px}
.site-menu nav{position:absolute;right:0;top:44px;width:225px;background:var(--c-surface);box-shadow:0 12px 32px #0002;border:1px solid var(--line);padding:12px;border-radius:var(--r-md)}
.site-menu nav a{display:block;padding:10px 14px}
.catalog-site .categories{padding:8px 20px;gap:8px;background:var(--c-surface-alt);flex-wrap:nowrap;justify-content:center;overflow:auto;margin:0;height:49px;border-bottom:1px solid var(--c-line)}
.catalog-site .categories a{display:flex;align-items:center;gap:7px;white-space:nowrap;border:1px solid var(--c-line);background:var(--c-surface);color:var(--c-ink);font-size:var(--fs-xs);text-transform:uppercase;padding:5px 11px;border-radius:var(--r-lg)}
.catalog-site .categories a.active{border-color:var(--c-primary);background:var(--c-primary-soft)}
.category-icon{font-size:18px;line-height:1}
.directory-layout{display:grid;grid-template-columns:clamp(440px,42vw,640px) minmax(0,1fr);align-items:start}
.directory-list{padding:0 28px 40px;min-width:0;background:var(--c-surface)}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:64px;font-size:var(--fs-xs)}
.list-toolbar>span{white-space:nowrap;color:var(--c-text)}
.filter-drawer summary{border:1px solid #333;border-radius:var(--r-lg);padding:6px 10px;cursor:pointer;list-style:none}
.filter-drawer[open] summary{background:var(--c-primary-soft);border-color:var(--c-primary)}
.list-heading{padding:0 0 19px}
.list-heading .breadcrumb{font-size:var(--fs-xs);margin:0 0 10px;gap:8px}
.list-heading h1{font-size:var(--fs-h2);line-height:1.15;letter-spacing:-.35px;margin:0 0 10px;font-weight:750}
.result-count{font-size:var(--fs-xs);color:var(--c-muted);margin:0}
/* List card (batch 18, №139, UX-19/UX-21): compact, the photo or initial on the left; the whole card stays one link with
   the name, address, rating, reviews and the number of its map marker. ~130 px on phones instead of 391 px. */
.catalog-site .cards{grid-template-columns:1fr;gap:12px}
.catalog-site .card{border-radius:var(--r-lg);border:1px solid var(--c-line);overflow:hidden}
.catalog-site .card-link{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:start;gap:16px;padding:14px;min-height:0}
.catalog-site .card-avatar{width:112px;height:112px;margin:0;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary);font-size:40px;font-weight:600}
.catalog-site .card:nth-child(3n+2) .avatar{background:var(--c-surface-muted);color:var(--c-muted)}
.catalog-site .card-title{margin:2px 0 6px;font-size:var(--fs-lg);line-height:1.3;font-weight:600;letter-spacing:-.2px}
.catalog-site .address{margin:0;font-size:var(--fs-ui);color:var(--c-text);line-height:1.45}
.catalog-site .card-copy .member-muted{margin:4px 0 0}
.catalog-site .rating{display:flex;flex-wrap:wrap;align-items:center;gap:2px 12px;margin:8px 0 0;font-size:var(--fs-ui)}
.catalog-site .details-link{display:inline-flex;align-items:center;gap:2px;margin-top:8px;padding:0;border-radius:0;background:none;color:var(--c-primary);font-size:var(--fs-sm);font-weight:600;text-align:left}
.catalog-site .details-link .icon{width:16px;height:16px}
.catalog-site .card:hover{border-color:var(--c-primary)}
.catalog-site .card.is-highlighted{outline:2px solid var(--c-primary)}
.catalog-site .pagination{gap:12px;font-size:var(--fs-sm)}
.catalog-site .pagination a{padding:8px 10px}
.map-panel{position:sticky;top:0;height:100dvh;max-height:none;min-width:0;background:var(--c-surface-muted);overflow:hidden;border-left:1px solid var(--c-line)}
.business-map{width:100%;height:100%;z-index:0;background:var(--c-surface-muted)}
.map-caption{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:800;background:var(--c-surface);border:1px solid var(--c-primary);border-radius:var(--r-md);padding:9px 15px;font-size:var(--fs-xs);white-space:nowrap}
.map-status{position:absolute;bottom:35px;left:18px;right:18px;margin:0;font-size:var(--fs-xs);background:var(--c-surface);padding:8px 12px;border-radius:var(--r-md);z-index:800}
.map-status:empty{display:none}
.map-toggle{display:none}
.map-pin{background:none;border:0}
.map-pin>span{display:grid;place-items:center;width:30px;height:36px;border-radius:50% 50% 50% 3px;transform:rotate(-45deg);background:var(--c-primary);border:2px solid #fff;box-shadow:0 2px 4px #0003}
.map-pin b{transform:rotate(45deg);color:white;font:600 12px Arial}
.map-pin-dot b{width:10px;height:10px;border-radius:50%;background:#fff;display:block}
.leaflet-popup-content{font:14px/1.5 Arial;max-width:225px}
.leaflet-popup-content a{font-weight:bold;color:var(--c-primary)}
.leaflet-popup-content p{margin:8px 0}
.leaflet-control-attribution a{font-size:var(--fs-xs)}
.catalog-site .profile{max-width:1440px;padding:30px 40px 60px}
.catalog-site .profile-head{padding:8px 0 28px;gap:25px;align-items:center}
.catalog-site .profile-head h1{font-size:var(--fs-display);letter-spacing:-.5px;margin:0 0 12px}
.catalog-site .profile-head .big{width:150px;height:150px;border-radius:var(--r-lg);background:var(--c-surface-muted);color:var(--c-muted)}
.profile-tabs{display:flex;gap:30px;border-bottom:1px solid var(--c-line);margin-bottom:30px;overflow:auto}
.profile-tabs a{white-space:nowrap;padding:14px 0;font-size:var(--fs-base)}
.profile-tabs a:first-child{border-bottom:2px solid var(--c-primary)}
.catalog-site .profile-grid{grid-template-columns:minmax(0,1fr) 350px;gap:45px}
.catalog-site .profile-main .panel{border:0;border-bottom:1px solid var(--c-line);border-radius:0;padding:0 0 28px;margin:0 0 28px;scroll-margin-top:20px}
.catalog-site .profile-main h2{font-size:var(--fs-h3)}
.catalog-site .contact{border-radius:var(--r-lg);padding:22px;top:20px}
.catalog-site .contact .button{border-radius:var(--r-md);background:var(--c-primary)}
.catalog-site .chips a{font-size:var(--fs-xs);text-transform:uppercase;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:6px 12px}
.catalog-site footer{padding:30px 40px;background:var(--c-surface-alt)}
.catalog-site .description{max-width:75ch;line-height:1.7}
@media(min-width:1700px){
 .directory-layout{grid-template-columns:720px minmax(0,1fr)}
 .directory-list{padding-left:40px;padding-right:40px}
}
@media(max-width:1000px){
 .catalog-site .categories{justify-content:flex-start}
 .directory-layout{grid-template-columns:380px minmax(0,1fr)}
 .catalog-site .card-link{grid-template-columns:96px minmax(0,1fr);gap:14px}
 .catalog-site .card-avatar{width:96px;height:96px;font-size:34px}
 .directory-list{padding:0 18px 30px}
 .catalog-site .profile-grid{grid-template-columns:minmax(0,1fr) 300px;gap:25px}
 .catalog-site .profile{padding:24px}
}
@media(max-width:700px){
 .site-menu{margin-left:auto}
 .catalog-site .categories{height:47px;padding:7px 16px}
 .catalog-site .categories a{font-size:var(--fs-xs)}
 .directory-layout{display:block}
 .directory-list{padding:0 16px 30px}
 .list-toolbar{height:48px;min-height:48px;border-bottom:1px solid var(--c-line);margin:0 -16px 20px;padding:0 16px;font-size:var(--fs-xs)}
 .filter-drawer summary{padding:5px 0;border:0}
 .map-toggle{display:block;background:transparent;color:var(--c-primary);border:0;border-radius:0;padding:8px;font-size:var(--fs-xs)}
 .list-heading h1{font-size:var(--fs-lg);line-height:1.25;margin-bottom:8px}
 .list-heading .breadcrumb{display:none}
 .list-heading{padding-bottom:16px}
 .result-count{font-size:var(--fs-xs)}
 .catalog-site .card-link{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px}
 .catalog-site .card-avatar{width:88px;height:88px;font-size:32px}
 .catalog-site .card-title{font-size:var(--fs-md)}
 .catalog-site .rating{margin-top:6px}
 .catalog-site .details-link{display:none}
 .map-panel{display:none;height:calc(100dvh - 153px);position:relative;border:0;min-height:400px}
 .directory-layout.map-visible .map-panel{display:block}
 .directory-layout.map-visible .cards,.directory-layout.map-visible .pagination,.directory-layout.map-visible .landing-description,.directory-layout.map-visible~.landing-description,.directory-layout.map-visible .catalog-facts,.directory-layout.map-visible .list-heading{display:none}
 .directory-layout.map-visible .directory-list{padding-bottom:0}
 .directory-layout.map-visible .list-toolbar{margin-bottom:0}
 .map-caption{font-size:var(--fs-xs);padding:8px}
 .catalog-site .profile{padding:20px 16px}
 .catalog-site .profile .breadcrumb{font-size:var(--fs-xs)}
 .catalog-site .profile-head{gap:18px;align-items:flex-start;padding:4px 0 22px}
 .catalog-site .profile-head .big{width:82px;height:82px;font-size:38px;border-radius:var(--r-md)}
 .catalog-site .profile-head h1{font-size:var(--fs-h2);line-height:1.15}
 .catalog-site .profile-head p{font-size:var(--fs-sm);margin:8px 0}
 .profile-tabs{gap:25px;margin-bottom:24px}
 .profile-tabs a{font-size:var(--fs-sm);padding:12px 0}
 .catalog-site .profile-grid{display:flex;flex-direction:column;gap:0}
 .catalog-site .contact{width:100%;order:-1;padding:20px}
 .catalog-site .profile-main{width:100%}
 .catalog-site .profile-main h2{font-size:var(--fs-xl)}
 .catalog-site footer{padding:25px 16px}
 .site-menu summary{height:40px}
 .catalog-site .filter-drawer summary:focus-visible,.site-menu summary:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
}
@media(prefers-reduced-motion:reduce){
 *{scroll-behavior:auto!important;transition:none!important}
}
.map-toggle:hover{background:transparent;color:var(--c-primary)}
.mobile-search{display:none}
.profile-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:16px}
.profile-actions .button{background:var(--c-primary);border-radius:var(--r-md);padding:10px 22px;font-size:var(--fs-ui)}
.contact-shortcut{font-size:var(--fs-ui);color:var(--c-primary)}
.profile-tabs a:first-child{border-bottom:0}
.profile-tabs a[aria-current=location]{border-bottom:2px solid var(--c-primary);color:var(--c-primary)}
.catalog-site .profile .pagination{flex-wrap:wrap;justify-content:flex-start}
.profile .pagination>span{color:var(--c-muted)}
.profile .review{line-height:1.7}
.mobile-search summary:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
@media(max-width:700px){
 .mobile-search{display:block;margin-left:auto}
 .mobile-search summary{width:40px;height:40px;display:grid;place-items:center;list-style:none;cursor:pointer;color:var(--c-primary)}
 .mobile-search summary::-webkit-details-marker{display:none}
 .site-menu{margin-left:0}
 .catalog-site .profile-head .big{width:64px;height:64px;font-size:32px}
 .catalog-site .profile-head{gap:14px}
 .profile-actions{gap:12px}
 .profile-actions .button{padding:10px 14px;font-size:var(--fs-sm);border-radius:var(--r-md)}
 .contact-shortcut{font-size:var(--fs-sm)}
 .catalog-site .profile-head>div:last-child{flex:1}
 .catalog-site .profile-head h1{font-size:var(--fs-h2);overflow-wrap:anywhere}
 .catalog-site .profile-tabs a{min-height:44px}
}
body,.catalog-site{font-family:Eastman,Arial,sans-serif}
.category-icon{width:22px;height:22px;object-fit:contain}
.catalog-site .profile-head h1,.list-heading h1{font-weight:700}
.leaflet-popup-content{font-family:Eastman,Arial,sans-serif}
.avatar{overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.catalog-site .card-link:focus-visible{outline:3px solid var(--c-primary);outline-offset:-3px;border-radius:var(--r-lg)}
.site-menu nav a:hover,.site-menu nav a:focus-visible{background:var(--c-surface-alt);border-radius:var(--r-md)}
.contact .back-link{display:block;padding:12px 0 0}
.catalog-site .contact .phone{padding:5px 0;overflow-wrap:anywhere}
.catalog-site .profile-tabs{gap:24px}
.catalog-site .profile-tabs a{font-size:var(--fs-ui)}
@media(max-width:700px){
 .catalog-site .profile-tabs{gap:16px;justify-content:space-between}
 .catalog-site .profile-tabs a{font-size:var(--fs-xs)}
 .catalog-site .profile-head h1{font-size:var(--fs-h2)}
 .catalog-site .categories{scrollbar-width:none}
 .catalog-site .categories::-webkit-scrollbar{display:none}
}
.directory-layout.is-empty{display:block;max-width:900px;margin:auto}
.directory-layout.is-empty .directory-list{padding-bottom:60px}
.directory-layout.is-empty .empty{border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface-alt);margin-top:12px}
.site-menu nav a[aria-current=page]{color:var(--c-primary);background:var(--c-primary-soft)}
.category-icon{flex-shrink:0}
@media(max-width:700px){
 .editorial-empty h2{font-size:var(--fs-h2);line-height:1.25}
 .article-heading h1{font-size:var(--fs-h1);letter-spacing:-.6px}
 .article-body h2{font-size:var(--fs-h2)}
}
/* Registered SEO refinements, kept within the existing catalog hierarchy. */
.selection-refinements{display:flex;gap:8px;flex-wrap:wrap;padding:12px 20px;border-bottom:1px solid var(--c-line)}
.selection-refinements a{display:block;padding:7px 12px;border:1px solid #badbe9;border-radius:var(--r-lg);background:#eff8fc;color:#197897;font-size:var(--fs-ui);text-decoration:none}
.selection-refinements a:hover,.selection-refinements a:focus-visible{background:#d9f0fb}
.selection-groups{border-bottom:1px solid var(--c-line)}
.selection-groups summary{padding:12px 20px;color:#197897;cursor:pointer;font-size:var(--fs-ui)}
.selection-groups .selection-refinements{border-bottom:0}
.selection-refinements a{max-width:100%;overflow-wrap:anywhere}
.metro-directory{padding:24px 16px;max-width:1200px;margin:auto;box-sizing:border-box}
.metro-service-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin:24px 0}
.metro-service-links a{display:block;padding:16px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:#24749a;text-decoration:none}
.metro-service-links a:hover{background:var(--c-primary-soft)}
.metro-service-links a:focus-visible{outline:2px solid #24749a;outline-offset:3px}
.metro-station-pin{display:grid;place-items:center;background:var(--c-surface);border:3px solid #007e9f;border-radius:50%;color:#007e9f;font-weight:700;box-shadow:0 2px 8px #0004}
.metro-station-pin span{font-size:var(--fs-lg);line-height:1}
#metro-filter{display:block;width:100%;max-width:100%;padding:12px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface);font:inherit;margin:8px 0}
.pagination-pages{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px}
.pagination-pages a,.pagination-pages>span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0 6px;border-radius:var(--r-md);box-sizing:border-box;font-size:var(--fs-sm)}
.pagination-pages a{border:1px solid var(--c-line);color:var(--c-ink);text-decoration:none}
.pagination-pages a:hover{border-color:var(--c-primary);color:var(--c-primary)}
.pagination-pages span[aria-current]{background:#17222c;color:#fff;font-weight:600}
.pagination-pages .pagination-gap{min-width:16px;color:var(--c-muted)}
.pagination .pagination-compact{display:none}
/* the list column next to the map: compact pages in one row (owner 05.10.2026) */
.directory-list .pagination{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:8px}
.directory-list .pagination .pagination-pages{display:none}
.directory-list .pagination .pagination-pages.pagination-compact{display:flex;flex:1 1 auto;flex-wrap:nowrap;justify-content:center;gap:6px;min-width:0}
.directory-list .pagination>a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--c-line);border-radius:var(--r-md);box-sizing:border-box;white-space:nowrap}
.directory-list .pagination>a:hover{border-color:var(--c-primary);color:var(--c-primary);text-decoration:none}
.directory-list .pagination-pages a,.directory-list .pagination-pages>span{min-width:44px;min-height:44px;padding:0 8px;border-radius:var(--r-md)}
@media(max-width:700px){
 .directory-list .pagination{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px}
 .directory-list .pagination .pagination-pages{display:none}
 .directory-list .pagination .pagination-pages.pagination-compact{display:flex;order:1;flex:1 1 100%;flex-wrap:nowrap;justify-content:center;gap:6px}
 .directory-list .pagination>a{order:2;flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 12px;border:1px solid var(--c-line);border-radius:var(--r-md);box-sizing:border-box;text-align:center}
}
.map-gesture-hint{position:absolute;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(23,34,44,.5);color:#fff;font-size:var(--fs-base);font-weight:600;line-height:1.4;text-align:center;opacity:0;pointer-events:none;transition:opacity .2s}
.map-gesture-hint.is-visible{opacity:1}
/* List cards carry the number of their map marker where the map stands beside the list (UX-20, 03.10.2026). */
.catalog-site .card-link{position:relative}
.card-pin{position:absolute;top:6px;left:6px;z-index:1;display:grid;place-items:center;min-width:28px;height:28px;padding:0 6px;box-sizing:border-box;border:2px solid #fff;border-radius:var(--r-pill);background:var(--c-primary);color:#fff;font:600 13px/1 Arial,sans-serif;box-shadow:0 1px 4px #0003}
.catalog-site .card:hover .card-pin,.catalog-site .card.is-highlighted .card-pin,.catalog-site .card:focus-within .card-pin{background:var(--c-primary-strong)}
.map-pin.is-active>span{background:var(--c-primary-strong);box-shadow:0 0 0 4px #177bd040}
.catalog-site .map-caption{border-color:#fff;box-shadow:0 1px 6px #0000001f}
@media(max-width:700px){
 .card-pin{display:none}
}
/* Search mode (batch 18, №138): the query and the town/category as removable chips under «Результати за «…»». */
.search-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.search-chip{display:inline-flex;align-items:center;gap:2px;min-height:36px;margin:0;padding:0 2px 0 12px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);font-size:var(--fs-ui);color:var(--c-ink);max-width:100%}
.search-chip-query{border-color:var(--c-primary-line);background:var(--c-primary-soft)}
.search-chip-label{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow-wrap:anywhere}
.search-chip-label .icon{width:16px;height:16px;color:var(--c-muted)}
.search-chip button,.search-chip a{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:transparent;color:var(--c-muted);text-decoration:none}
.search-chip button:hover,.search-chip a:hover{background:var(--c-surface-muted);color:var(--c-ink)}
.search-chip .icon-x{width:18px;height:18px}
.search-chip :is(button,a):focus-visible{outline:3px solid var(--c-primary);outline-offset:1px}

/* Town page with categories (owner decision 02.10.2026): /catalog/<town>/ shows the categories, the list is one link away. */
.directory-layout.is-hub{max-width:1180px}
.city-hub{margin:6px 0 30px}
.city-hub-all{margin:0 0 28px}
.city-hub-title{font-size:var(--fs-h2);margin:0 0 14px}
.city-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.city-hub-card{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:18px 20px 10px}
.city-hub-head{display:flex;align-items:center;gap:14px;color:var(--c-ink);text-decoration:none}
.city-hub-head img{width:44px;height:44px;object-fit:contain;flex-shrink:0}
.city-hub-head>div{flex:1;min-width:0}
.city-hub-head h3{margin:0;font-size:var(--fs-xl);line-height:1.25}
.city-hub-head small{display:block;margin-top:3px;color:var(--c-muted);font-size:var(--fs-sm)}
.city-hub-head>.icon{flex-shrink:0;width:20px;height:20px;color:var(--c-primary)}
.city-hub-head:hover h3{color:var(--c-primary)}
.city-hub-links{display:flex;flex-direction:column;margin:14px 0 0;padding:4px 0 0;border-top:1px solid var(--c-line)}
.city-hub-links a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:6px 0;color:var(--c-text);font-size:var(--fs-ui);text-decoration:none}
.city-hub-links a:hover{color:var(--c-primary)}
.city-hub-links a span{flex-shrink:0;color:var(--c-muted);font-variant-numeric:tabular-nums}
.city-hub-links a.city-hub-more{justify-content:flex-start;color:var(--c-primary)}
.hub-back{margin:6px 0 0}
.hub-back a{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:var(--c-primary);font-size:var(--fs-ui);text-decoration:none}
.hub-back a .icon{width:16px;height:16px}
@media(max-width:700px){
 .city-hub-all .btn{width:100%}
 .city-hub-grid{grid-template-columns:1fr;gap:10px}
 .city-hub-card{padding:14px 16px 6px}
 .city-hub-head img{width:38px;height:38px}
}
/* «Усі напрями: N» unfolds the remaining groups in place (owner 02.10.2026). */
.city-hub-rest>summary{display:flex;align-items:center;gap:6px;min-height:42px;padding:6px 0;color:var(--c-primary);font-size:var(--fs-ui);cursor:pointer;list-style:none}
.city-hub-rest>summary::-webkit-details-marker{display:none}
.city-hub-rest>summary .icon{width:16px;height:16px;transition:transform .15s}
.city-hub-rest[open]>summary .icon{transform:rotate(180deg)}
.city-hub-rest[open]>summary .expand-label,.city-hub-rest:not([open])>summary .collapse-label{display:none}
.city-hub-rest>summary:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.city-hub-rest>summary .icon{transition:none}}
/* audit 19: on phones the service and subcategory pages had 256 px of strips before the H1; the categories strip is in the «Все» menu */
@media(max-width:700px){body.tax-service nav.categories,body.tax-subcategory nav.categories,body.tax-category nav.categories{display:none}.city-hub-title{font-size:var(--fs-lg)}.hub-all{margin:-4px 0 12px}}
.hub-all{margin:-6px 0 14px;font-size:var(--fs-sm)}.hub-all a{color:var(--c-primary);font-weight:600}
/* The heading that opens the list gets air under the category pills (owner 05.10.2026: «відступ Н1 більший»). */
.directory-list>.list-heading:first-child{padding-top:36px}
@media(max-width:700px){
 .directory-list>.list-heading:first-child{padding-top:22px}
}

/* 05.10.2026: cards of internet shops */
.shop-note{margin:0 0 var(--s-4);padding:10px 14px;border:1px solid #ecd58a;border-radius:var(--r-md);background:#fff7dc;color:var(--c-ink);font-size:var(--fs-ui);line-height:1.45}
.shop-disclosure{margin:var(--s-4) 0 0;color:var(--c-muted);font-size:var(--fs-sm);line-height:1.5}
.shop-disclosure a{color:inherit;text-decoration:underline}
.shop-site{margin:0 0 var(--s-3);font-size:var(--fs-lg);font-weight:600;color:var(--c-ink)}
.profile.business-profile>.shop-note{margin:var(--s-4) 0 0}
/* Internet shops: the list has no map, so on a wide screen its cards stand in two columns (owner 05.10.2026: «Зробити 2 колонки в дизайні») */
.directory-layout.is-empty.is-shops{max-width:1180px}
@media(min-width:761px){.directory-layout.is-shops .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.directory-layout.is-shops .card,.directory-layout.is-shops .card-link{height:100%;box-sizing:border-box}}
/* the number of a shop's deals in force on its list card: the thing a visitor comes for, so it reads stronger than the grey notes */
.catalog-site .rating .shop-deals{color:var(--c-ink);font-weight:600}
/* The «Магазин» panel of a shop's card: the phone, the networks or the hours stand under the button «Перейти до магазину» */
.contact.panel .website-link+.contact-label,.contact.panel .website-link+.business-socials,.contact.panel .website-link+.business-hours{margin-top:var(--s-4)}
.contact.panel .shop-disclosure+.contact-label,.contact.panel .shop-disclosure+.business-socials,.contact.panel .shop-disclosure+.business-hours{margin-top:var(--s-4)}
/* vendor/leaflet/leaflet.css */
/* required styles */

.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
	position: absolute;
	left: 0;
	top: 0;
	}
.leaflet-container {
	overflow: hidden;
	}
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
	-webkit-user-select: none;
	   -moz-user-select: none;
	        user-select: none;
	  -webkit-user-drag: none;
	}
/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
	background: transparent;
}
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
	image-rendering: -webkit-optimize-contrast;
	}
/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
	width: 1600px;
	height: 1600px;
	-webkit-transform-origin: 0 0;
	}
.leaflet-marker-icon,
.leaflet-marker-shadow {
	display: block;
	}
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
	max-width: none !important;
	max-height: none !important;
	}
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
	max-width: none !important;
	max-height: none !important;
	width: auto;
	padding: 0;
	}

.leaflet-container img.leaflet-tile {
	/* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
	mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
	-ms-touch-action: pan-x pan-y;
	touch-action: pan-x pan-y;
	}
.leaflet-container.leaflet-touch-drag {
	-ms-touch-action: pinch-zoom;
	/* Fallback for FF which doesn't support pinch-zoom */
	touch-action: none;
	touch-action: pinch-zoom;
}
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
	-ms-touch-action: none;
	touch-action: none;
}
.leaflet-container {
	-webkit-tap-highlight-color: transparent;
}
.leaflet-container a {
	-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}
.leaflet-tile {
	filter: inherit;
	visibility: hidden;
	}
.leaflet-tile-loaded {
	visibility: inherit;
	}
.leaflet-zoom-box {
	width: 0;
	height: 0;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	z-index: 800;
	}
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
	-moz-user-select: none;
	}

.leaflet-pane         { z-index: 400; }

.leaflet-tile-pane    { z-index: 200; }
.leaflet-overlay-pane { z-index: 400; }
.leaflet-shadow-pane  { z-index: 500; }
.leaflet-marker-pane  { z-index: 600; }
.leaflet-tooltip-pane   { z-index: 650; }
.leaflet-popup-pane   { z-index: 700; }

.leaflet-map-pane canvas { z-index: 100; }
.leaflet-map-pane svg    { z-index: 200; }

.leaflet-vml-shape {
	width: 1px;
	height: 1px;
	}
.lvml {
	behavior: url(#default#VML);
	display: inline-block;
	position: absolute;
	}


/* control positioning */

.leaflet-control {
	position: relative;
	z-index: 800;
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}
.leaflet-top,
.leaflet-bottom {
	position: absolute;
	z-index: 1000;
	pointer-events: none;
	}
.leaflet-top {
	top: 0;
	}
.leaflet-right {
	right: 0;
	}
.leaflet-bottom {
	bottom: 0;
	}
.leaflet-left {
	left: 0;
	}
.leaflet-control {
	float: left;
	clear: both;
	}
.leaflet-right .leaflet-control {
	float: right;
	}
.leaflet-top .leaflet-control {
	margin-top: 10px;
	}
.leaflet-bottom .leaflet-control {
	margin-bottom: 10px;
	}
.leaflet-left .leaflet-control {
	margin-left: 10px;
	}
.leaflet-right .leaflet-control {
	margin-right: 10px;
	}


/* zoom and fade animations */

.leaflet-fade-anim .leaflet-popup {
	opacity: 0;
	-webkit-transition: opacity 0.2s linear;
	   -moz-transition: opacity 0.2s linear;
	        transition: opacity 0.2s linear;
	}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
	opacity: 1;
	}
.leaflet-zoom-animated {
	-webkit-transform-origin: 0 0;
	    -ms-transform-origin: 0 0;
	        transform-origin: 0 0;
	}
svg.leaflet-zoom-animated {
	will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
	}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
	-webkit-transition: none;
	   -moz-transition: none;
	        transition: none;
	}

.leaflet-zoom-anim .leaflet-zoom-hide {
	visibility: hidden;
	}


/* cursors */

.leaflet-interactive {
	cursor: pointer;
	}
.leaflet-grab {
	cursor: -webkit-grab;
	cursor:    -moz-grab;
	cursor:         grab;
	}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
	cursor: crosshair;
	}
.leaflet-popup-pane,
.leaflet-control {
	cursor: auto;
	}
.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
	cursor: move;
	cursor: -webkit-grabbing;
	cursor:    -moz-grabbing;
	cursor:         grabbing;
	}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
	pointer-events: none;
	}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
	pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
	pointer-events: auto;
	}

/* visual tweaks */

.leaflet-container {
	background: #ddd;
	outline-offset: 1px;
	}
.leaflet-container a {
	color: #0078A8;
	}
.leaflet-zoom-box {
	border: 2px dotted #38f;
	background: rgba(255,255,255,0.5);
	}


/* general typography */
.leaflet-container {
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 1.5;
	}


/* general toolbar styles */

.leaflet-bar {
	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
	border-radius: 4px;
	}
.leaflet-bar a {
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	width: 26px;
	height: 26px;
	line-height: 26px;
	display: block;
	text-align: center;
	text-decoration: none;
	color: black;
	}
.leaflet-bar a,
.leaflet-control-layers-toggle {
	background-position: 50% 50%;
	background-repeat: no-repeat;
	display: block;
	}
.leaflet-bar a:hover,
.leaflet-bar a:focus {
	background-color: #f4f4f4;
	}
.leaflet-bar a:first-child {
	border-top-left-radius: 4px;
	border-top-right-radius: 4px;
	}
.leaflet-bar a:last-child {
	border-bottom-left-radius: 4px;
	border-bottom-right-radius: 4px;
	border-bottom: none;
	}
.leaflet-bar a.leaflet-disabled {
	cursor: default;
	background-color: #f4f4f4;
	color: #bbb;
	}

.leaflet-touch .leaflet-bar a {
	width: 30px;
	height: 30px;
	line-height: 30px;
	}
.leaflet-touch .leaflet-bar a:first-child {
	border-top-left-radius: 2px;
	border-top-right-radius: 2px;
	}
.leaflet-touch .leaflet-bar a:last-child {
	border-bottom-left-radius: 2px;
	border-bottom-right-radius: 2px;
	}

/* zoom control */

.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
	font: bold 18px 'Lucida Console', Monaco, monospace;
	text-indent: 1px;
	}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out  {
	font-size: 22px;
	}


/* layers control */

.leaflet-control-layers {
	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
	background: #fff;
	border-radius: 5px;
	}
.leaflet-control-layers-toggle {
	background-image: url("/static/vendor/leaflet/images/layers.png");
	width: 36px;
	height: 36px;
	}
.leaflet-retina .leaflet-control-layers-toggle {
	background-image: url("/static/vendor/leaflet/images/layers-2x.png");
	background-size: 26px 26px;
	}
.leaflet-touch .leaflet-control-layers-toggle {
	width: 44px;
	height: 44px;
	}
.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
	display: none;
	}
.leaflet-control-layers-expanded .leaflet-control-layers-list {
	display: block;
	position: relative;
	}
.leaflet-control-layers-expanded {
	padding: 6px 10px 6px 6px;
	color: #333;
	background: #fff;
	}
.leaflet-control-layers-scrollbar {
	overflow-y: scroll;
	overflow-x: hidden;
	padding-right: 5px;
	}
.leaflet-control-layers-selector {
	margin-top: 2px;
	position: relative;
	top: 1px;
	}
.leaflet-control-layers label {
	display: block;
	font-size: 13px;
	font-size: 1.08333em;
	}
.leaflet-control-layers-separator {
	height: 0;
	border-top: 1px solid #ddd;
	margin: 5px -10px 5px -6px;
	}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
	background-image: url("/static/vendor/leaflet/images/marker-icon.png");
	}


/* attribution and scale controls */

.leaflet-container .leaflet-control-attribution {
	background: #fff;
	background: rgba(255, 255, 255, 0.8);
	margin: 0;
	}
.leaflet-control-attribution,
.leaflet-control-scale-line {
	padding: 0 5px;
	color: #333;
	line-height: 1.4;
	}
.leaflet-control-attribution a {
	text-decoration: none;
	}
.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
	text-decoration: underline;
	}
.leaflet-attribution-flag {
	display: inline !important;
	vertical-align: baseline !important;
	width: 1em;
	height: 0.6669em;
	}
.leaflet-left .leaflet-control-scale {
	margin-left: 5px;
	}
.leaflet-bottom .leaflet-control-scale {
	margin-bottom: 5px;
	}
.leaflet-control-scale-line {
	border: 2px solid #777;
	border-top: none;
	line-height: 1.1;
	padding: 2px 5px 1px;
	white-space: nowrap;
	-moz-box-sizing: border-box;
	     box-sizing: border-box;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: 1px 1px #fff;
	}
.leaflet-control-scale-line:not(:first-child) {
	border-top: 2px solid #777;
	border-bottom: none;
	margin-top: -2px;
	}
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
	border-bottom: 2px solid #777;
	}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	box-shadow: none;
	}
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
	border: 2px solid rgba(0,0,0,0.2);
	background-clip: padding-box;
	}


/* popup */

.leaflet-popup {
	position: absolute;
	text-align: center;
	margin-bottom: 20px;
	}
.leaflet-popup-content-wrapper {
	padding: 1px;
	text-align: left;
	border-radius: 12px;
	}
.leaflet-popup-content {
	margin: 13px 24px 13px 20px;
	line-height: 1.3;
	font-size: 13px;
	font-size: 1.08333em;
	min-height: 1px;
	}
.leaflet-popup-content p {
	margin: 17px 0;
	margin: 1.3em 0;
	}
.leaflet-popup-tip-container {
	width: 40px;
	height: 20px;
	position: absolute;
	left: 50%;
	margin-top: -1px;
	margin-left: -20px;
	overflow: hidden;
	pointer-events: none;
	}
.leaflet-popup-tip {
	width: 17px;
	height: 17px;
	padding: 1px;

	margin: -10px auto 0;
	pointer-events: auto;

	-webkit-transform: rotate(45deg);
	   -moz-transform: rotate(45deg);
	    -ms-transform: rotate(45deg);
	        transform: rotate(45deg);
	}
.leaflet-popup-content-wrapper,
.leaflet-popup-tip {
	background: white;
	color: #333;
	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
	}
.leaflet-container a.leaflet-popup-close-button {
	position: absolute;
	top: 0;
	right: 0;
	border: none;
	text-align: center;
	width: 24px;
	height: 24px;
	font: 16px/24px Tahoma, Verdana, sans-serif;
	color: #757575;
	text-decoration: none;
	background: transparent;
	}
.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
	color: #585858;
	}
.leaflet-popup-scrolled {
	overflow: auto;
	}

.leaflet-oldie .leaflet-popup-content-wrapper {
	-ms-zoom: 1;
	}
.leaflet-oldie .leaflet-popup-tip {
	width: 24px;
	margin: 0 auto;

	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
	}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
	border: 1px solid #999;
	}


/* div icon */

.leaflet-div-icon {
	background: #fff;
	border: 1px solid #666;
	}


/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
	position: absolute;
	padding: 6px;
	background-color: #fff;
	border: 1px solid #fff;
	border-radius: 3px;
	color: #222;
	white-space: nowrap;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	pointer-events: none;
	box-shadow: 0 1px 3px rgba(0,0,0,0.4);
	}
.leaflet-tooltip.leaflet-interactive {
	cursor: pointer;
	pointer-events: auto;
	}
.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	position: absolute;
	pointer-events: none;
	border: 6px solid transparent;
	background: transparent;
	content: "";
	}

/* Directions */

.leaflet-tooltip-bottom {
	margin-top: 6px;
}
.leaflet-tooltip-top {
	margin-top: -6px;
}
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
	left: 50%;
	margin-left: -6px;
	}
.leaflet-tooltip-top:before {
	bottom: 0;
	margin-bottom: -12px;
	border-top-color: #fff;
	}
.leaflet-tooltip-bottom:before {
	top: 0;
	margin-top: -12px;
	margin-left: -6px;
	border-bottom-color: #fff;
	}
.leaflet-tooltip-left {
	margin-left: -6px;
}
.leaflet-tooltip-right {
	margin-left: 6px;
}
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
	top: 50%;
	margin-top: -6px;
	}
.leaflet-tooltip-left:before {
	right: 0;
	margin-right: -12px;
	border-left-color: #fff;
	}
.leaflet-tooltip-right:before {
	left: 0;
	margin-left: -12px;
	border-right-color: #fff;
	}

/* Printing */

@media print {
	/* Prevent printers from removing background-images of controls. */
	.leaflet-control {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
		}
	}
/* business-details.css */
.block-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.catalog-site .block-heading h2{margin:0;font-size:var(--fs-h3);letter-spacing:-.4px}
.count-pill{font-size:var(--fs-sm);min-width:36px;padding:4px 10px;border-radius:var(--r-lg);background:var(--c-surface-muted);text-align:center;color:var(--c-muted)}
.review-overview{display:grid;grid-template-columns:170px minmax(0,1fr);gap:36px;background:var(--c-surface-alt);border:1px solid var(--c-line);border-radius:var(--r-lg);padding:28px;margin-bottom:30px}
.review-score{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
.review-score strong{font-size:54px;line-height:1.1;letter-spacing:-2px;font-weight:700}
.review-score>span:not(.score-stars){font-size:var(--fs-sm);color:var(--c-muted)}
.review-score small{font-size:var(--fs-xs);color:var(--c-muted);margin-top:4px}
.score-stars{color:#a36812;letter-spacing:3px;font-size:var(--fs-lg)}
.rating-distribution{display:flex;flex-direction:column;justify-content:center;gap:9px}
.rating-bar{display:grid;grid-template-columns:30px minmax(0,1fr) 35px;align-items:center;gap:10px;font-size:var(--fs-xs)}
.rating-bar>span:last-child{text-align:right;color:var(--c-muted)}
.rating-bar>span:first-child span{color:#a36812}
.rating-bar meter{width:100%;height:8px;border:0;border-radius:var(--r-pill);appearance:none;background:#e4e9ee}
.rating-bar meter::-webkit-meter-bar{background:#e4e9ee;border:0;border-radius:var(--r-pill);height:8px}
.rating-bar meter::-webkit-meter-optimum-value{background:var(--c-primary);border-radius:var(--r-md)}
.rating-bar meter::-moz-meter-bar{background:var(--c-primary);border-radius:var(--r-md)}
.review-list-heading{display:flex;justify-content:space-between;gap:16px;margin:0 0 16px;font-size:var(--fs-sm)}
.review-list-heading>span:last-child{color:var(--c-muted);font-size:var(--fs-xs)}
.catalog-site .review{border:1px solid var(--c-line)!important;border-radius:var(--r-lg);padding:22px 24px;margin:0 0 14px;background:var(--c-surface)}
.review-top{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.review-symbol{width:36px;height:36px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);display:grid;place-items:center;flex-shrink:0}
.review-label{font-size:var(--fs-sm);color:var(--c-muted)}
.review-rating{margin-left:auto;font-size:var(--fs-ui);font-weight:500;background:var(--c-surface-alt);color:var(--c-primary);border:1px solid var(--c-line);border-radius:var(--r-md);padding:4px 10px;white-space:nowrap}
.review p{font-size:var(--fs-base);line-height:1.75;margin:0;white-space:pre-line;overflow-wrap:anywhere}
.review .review-no-text{color:var(--c-muted);font-size:var(--fs-ui)}
.review-expand summary{font-size:var(--fs-sm);color:var(--c-primary);cursor:pointer;padding:12px 0 0;list-style:none}
.review-expand summary::-webkit-details-marker{display:none}
.review-expand[open] summary{padding:0 0 14px}
.review-expand .collapse-label{display:none}
.review-expand[open] .collapse-label{display:inline}
.review-expand[open] .expand-label{display:none}
.review:has(.review-expand[open]) .review-excerpt{display:none}
.reviews-empty{background:var(--c-surface-alt);border:1px dashed var(--c-line);border-radius:var(--r-lg);padding:35px 24px;text-align:center}
.reviews-empty>span{display:block;font-size:var(--fs-display-lg);color:var(--c-muted);margin-bottom:12px}
.reviews-empty h3{font-size:var(--fs-lg);margin:0 0 10px}
.reviews-empty p{font-size:var(--fs-ui);color:var(--c-muted);margin:0;max-width:320px;margin-inline:auto}
.business-sidebar{position:sticky;top:20px;min-width:0;scroll-margin-top:20px}
.catalog-site .business-sidebar .panel{padding:24px;border:1px solid var(--c-line);border-radius:var(--r-lg);margin-bottom:18px;background:var(--c-surface)}
.catalog-site .business-sidebar .contact{position:static}
.contact-heading-icon{font-size:20px;color:var(--c-muted)}
.contact-label{display:block;font-size:var(--fs-xs);color:var(--c-muted);margin:0 0 10px}
.phone-list{display:grid;gap:8px}
.catalog-site .contact .phone{display:flex;align-items:center;gap:10px;border:1px solid var(--c-line);background:var(--c-surface-alt);border-radius:var(--r-md);padding:12px 10px;color:#154f89;font-size:var(--fs-base);font-weight:500;line-height:1.3}
.phone>svg{flex-shrink:0}
.phone>span:not(.phone-action){overflow-wrap:anywhere;min-width:0}
.phone-action{font-size:var(--fs-xs);color:var(--c-muted);margin-left:auto}
.catalog-site .contact .phone:hover{background:var(--c-primary-soft);border-color:var(--c-primary-line)}
.contact-address{border-top:1px solid var(--c-line);margin-top:22px;padding-top:20px}
.contact-address p{font-size:var(--fs-ui);line-height:1.65;margin:0 0 8px}
.contact-city{font-size:var(--fs-xs);padding:4px 10px;background:var(--c-surface-alt);border-radius:var(--r-lg);display:inline-block;color:var(--c-muted)}
.catalog-site .contact .website-link{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-sm);border-radius:var(--r-md);padding:12px 16px;margin-top:20px}
.catalog-site .contact .profile-map{height:165px;margin:22px 0 0;border-radius:var(--r-md)}
.catalog-site .contact .profile-map .business-map{height:165px}
.catalog-site .hours-panel .block-heading{margin-bottom:14px}
.hours-panel .block-heading svg{color:var(--c-muted)}
.catalog-site .hours-panel h2{font-size:var(--fs-xl)}
.hours-panel .schedule{margin:0;font-size:var(--fs-sm)}
.hours-panel .schedule>div{margin:0;padding:12px 0;border-bottom:1px solid var(--c-line);align-items:center;gap:12px}
.hours-panel .schedule>div:last-child{border:0}
.hours-panel dt{color:var(--c-muted)}
.hours-panel dd{font-size:var(--fs-sm);font-weight:500;text-align:right;color:var(--c-text);font-variant-numeric:tabular-nums}
.hours-panel .day-closed dd{color:#8a6262}
.hours-panel .weekend dt{color:var(--c-text)}
.hours-note{font-size:var(--fs-xs);color:var(--c-muted);line-height:1.6;border-top:1px solid var(--c-line);padding-top:14px;margin:8px 0 0}
.contact-unavailable{font-size:var(--fs-ui);color:var(--c-muted);margin:0}
.business-sidebar>.back-link{font-size:var(--fs-xs);color:var(--c-muted);display:block;padding:6px 0 14px}
.review-expand summary:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
@media(max-width:1100px){
 .phone-action{display:none}
 .review-overview{grid-template-columns:125px minmax(0,1fr);padding:22px;gap:22px}
 .catalog-site .business-sidebar .panel{padding:20px}
}
@media(max-width:700px){
 .business-sidebar{position:static;order:-1;width:100%;margin-bottom:22px}
 .catalog-site .business-sidebar .panel{padding:22px;border-radius:var(--r-lg)}
 .catalog-site .block-heading h2{font-size:var(--fs-xl)}
 .review-overview{grid-template-columns:105px minmax(0,1fr);gap:18px;padding:20px 16px;border-radius:var(--r-lg);margin-bottom:24px}
 .review-score strong{font-size:46px}
 .review-score>span:not(.score-stars){font-size:var(--fs-xs)}
 .review-score small{font-size:var(--fs-xs)}
 .score-stars{font-size:var(--fs-md);letter-spacing:1px}
 .rating-bar{grid-template-columns:23px minmax(0,1fr) 27px;gap:6px;font-size:var(--fs-xs)}
 .catalog-site .review{padding:18px 16px;border-radius:var(--r-md)}
 .review-label{font-size:var(--fs-xs)}
 .review-rating{font-size:var(--fs-xs);padding:4px 8px}
 .review-symbol{width:32px;height:32px}
 .review-top{gap:9px;margin-bottom:16px}
 .review p{font-size:var(--fs-ui);line-height:1.75}
 .review-list-heading{font-size:var(--fs-xs);gap:8px}
 .review-list-heading>span:last-child{font-size:var(--fs-xs)}
 .phone-action{display:inline}
 .catalog-site .contact .phone{font-size:var(--fs-base);padding:13px 12px}
 .hours-panel .schedule>div{padding:11px 0}
 .hours-note{font-size:var(--fs-xs)}
 .catalog-site .profile-main #reviews{border-bottom:0}
 .catalog-site .reviews-section>.pagination{justify-content:space-between;gap:8px}
 .reviews-section>.pagination a{font-size:var(--fs-xs);padding:9px}
 .reviews-section>.pagination>span{font-size:var(--fs-xs)}
}
.business-sidebar{position:static}
.phone-list .phone>span:not(.phone-action){font-variant-numeric:tabular-nums}
@media(max-width:360px){
 .phone-action{display:none}
 .catalog-site .contact .phone{font-size:var(--fs-ui)}
}
.catalog-site .amenities{list-style:none;padding:0;margin:0;gap:10px 20px}
.amenities li{display:flex;align-items:flex-start;gap:10px;font-size:var(--fs-ui);line-height:1.55;padding:8px 0}
.amenities li::before{content:'✓';color:var(--c-primary);font-weight:700;flex-shrink:0}
.amenities li{overflow-wrap:anywhere}
.phone-reveal{cursor:pointer;font-family:inherit;text-align:left;width:100%}
.profile-actions .phone-reveal{width:auto}
.phone-reveal:disabled{opacity:.65;cursor:wait}
.phone-reveal:focus-visible,.phone-call:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
.contact-status{font-size:var(--fs-xs);line-height:1.5;color:var(--c-muted)}.profile-actions .lead-shortcut{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--c-surface);color:var(--c-primary);border:1px solid var(--c-line-strong);min-height:44px;font-weight:600}.profile-actions .lead-shortcut .icon{width:17px;height:17px}@media(max-width:700px){.profile-actions:has(.lead-shortcut){display:grid;grid-template-columns:1fr 1fr;gap:10px}.profile-actions:has(.lead-shortcut) .button{width:100%;box-sizing:border-box;justify-content:center;text-align:center;padding:12px 10px;min-height:46px;white-space:nowrap}.business-profile .profile-actions:has(.lead-shortcut) .contact-shortcut{display:none}}.bk{position:relative;overflow:hidden}.bk::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--c-primary),#5aa7ff)}
.bk-head{display:flex;gap:12px;align-items:center;margin:0 0 16px}.bk-head-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:var(--c-primary-soft,#e8f0fb);color:var(--c-primary);flex:none}.bk-head-icon .icon{width:20px;height:20px}
.bk-head h2{margin:0;font-size:var(--fs-h3);line-height:1.2}.bk-head p{margin:2px 0 0;font-size:var(--fs-xs);color:var(--c-muted)}
.bk .lead-form{gap:14px}.bk-field{display:grid;gap:6px}.bk-field>span,.bk-label{font-size:var(--fs-sm);font-weight:600}
.bk-days{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}.bk-day{display:grid;justify-items:center;gap:2px;padding:7px 0 6px;border:1px solid var(--c-line-strong);border-radius:10px;background:var(--c-surface);color:var(--c-ink);font:inherit;cursor:pointer;min-height:48px}
.bk-day small{font-size:10px;line-height:1;color:var(--c-muted);text-transform:lowercase}.bk-day b{font-size:var(--fs-base);line-height:1.1}.bk-day.is-on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.bk-day.is-on small{color:#dbe8ff}.bk-day.is-closed{opacity:.4}.bk-day.is-today b{position:relative}.bk-day.is-today b::after{content:'';position:absolute;left:50%;bottom:-5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}.bk-day-more{border-style:dashed}
.bk-slots{display:flex;flex-wrap:wrap;gap:6px;max-height:132px;overflow:auto;padding:1px}.bk-slot{min-width:62px;padding:8px 10px;border:1px solid var(--c-line-strong);border-radius:999px;background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--fs-sm);font-variant-numeric:tabular-nums;cursor:pointer}.bk-slot.is-on{background:var(--c-primary);border-color:var(--c-primary);color:#fff;font-weight:600}
.bk-native{margin-top:6px}.bk-native[hidden]{display:none}
.bk-more{border:1px dashed var(--c-line-strong);border-radius:var(--r-sm);padding:10px 12px}.bk-more summary{cursor:pointer;font-size:var(--fs-sm);font-weight:600;color:var(--c-primary);list-style:none}.bk-more summary::-webkit-details-marker{display:none}.bk-more summary::before{content:"+ ";}.bk-more[open] summary::before{content:"– ";}.bk-more textarea{margin-top:10px}
.bk .lead-submit em{font-style:normal;font-weight:500;opacity:.85}
.bk-person .bk-field{align-content:end}
@media(max-width:420px){.bk-days{grid-template-columns:repeat(4,minmax(0,1fr))}.bk-person{grid-template-columns:1fr}}
.lead-panel .lead-intro{font-size:var(--fs-sm);color:var(--c-muted);margin:0 0 12px}.lead-form{display:grid;gap:10px}.lead-form label{display:grid;gap:4px;font-size:var(--fs-sm);font-weight:600}.lead-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lead-row label{align-content:end}.lead-muted{font-weight:400;color:var(--c-muted)}.lead-form select{width:100%;max-width:100%;border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:11px 12px;font:inherit;font-weight:400;color:var(--c-ink);background:var(--c-surface);min-height:44px}.lead-ok p{margin:0 0 10px}.lead-tg{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font-weight:600}.lead-tg .icon{width:18px;height:18px}.booking-page{max-width:560px;margin:24px auto;padding:0 16px}.booking-panel{padding:24px}.booking-panel h1{font-size:var(--fs-h2);margin:0 0 8px}.booking-company{margin:0 0 16px;color:var(--c-muted)}.booking-facts{display:grid;gap:8px;margin:0 0 16px;padding:0}.booking-facts div{display:flex;gap:10px}.booking-facts dt{color:var(--c-muted);min-width:80px}.booking-facts dd{margin:0;font-weight:600}.booking-status{display:inline-block;padding:8px 12px;border-radius:var(--r-md);background:var(--c-surface-alt,#f2f5f9);font-weight:600;margin:0 0 12px}.booking-status-confirmed{background:#e3f6e8;color:#13713a}.booking-status-declined{background:var(--c-danger-soft);color:var(--c-danger)}.booking-status-proposed{background:#fff3d6;color:#8a5a00}.lead-form input,.lead-form textarea{width:100%;max-width:100%;border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:11px 12px;font:inherit;font-weight:400;color:var(--c-ink);background:var(--c-surface);min-height:44px}.lead-form textarea{resize:vertical;min-height:84px}.lead-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.lead-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px}.lead-submit .icon{width:18px;height:18px}.lead-note{font-size:var(--fs-xs);color:var(--c-muted);margin:0}.lead-hint{font-size:var(--fs-xs);color:var(--c-muted);margin:-4px 0 0;line-height:1.45}.lead-ok{display:block;padding:12px 14px;border-radius:var(--r-md);background:var(--c-primary-soft,#e8f0fb);color:var(--c-ink);font-size:var(--fs-sm);margin:0}.lead-ok .icon{width:18px;height:18px;flex:none;color:var(--c-primary)}.lead-error{font-size:var(--fs-sm);color:var(--c-danger,#b42318);margin:0 0 10px}
.contact-status:empty{display:none}
.phone-list .phone-reveal .phone-action{display:inline;white-space:nowrap}
.phone-number{letter-spacing:.02em}
.business-profile .review-date{color:var(--c-muted);font-size:var(--fs-sm);margin-left:10px}
.review-sort{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin:-6px 0 16px;font-size:var(--fs-sm);color:var(--c-muted)}
.review-sort a{color:var(--c-primary);text-decoration:none;border-bottom:1px dotted currentColor}
.review-sort a:hover{border-bottom-style:solid}
.review-sort [aria-current]{font-weight:600;color:var(--c-ink)}
/* map on the company card */
.location-illustration.has-map{padding:0;min-height:270px;display:block;background:#e9eef3}
.location-illustration.has-map .location-city{z-index:410}
/* «Прокласти маршрут» sits under the map since 03.10.2026 (UX-28), see .location-route-row in business-card.css */
.location-map{position:absolute;inset:0;z-index:1}
.location-map .location-map-fallback{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:10px 14px;background:var(--c-surface);border-radius:var(--r-md);color:var(--c-ink);font-size:var(--fs-ui);text-decoration:none;z-index:0}
.location-map.leaflet-container .location-map-fallback{display:none}
.map-pin-single>span{transform:rotate(-45deg) scale(1.15)}
.map-pin-single b{width:10px;height:10px;border-radius:50%;background:var(--c-surface);display:block}
/* review footer: votes + owner reply */
.review-footer{margin-top:14px;padding-top:12px;border-top:1px solid var(--c-line)}
.review-votes{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
.review-votes-label{font-size:var(--fs-sm);color:var(--c-muted);margin-right:4px}
.review-vote{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 12px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-sm);cursor:pointer}
.review-vote b{font-weight:600;color:var(--c-muted)}
.review-vote:hover{border-color:var(--c-primary);color:var(--c-primary)}
.review-vote.is-active{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary)}
.review-vote.is-active b{color:var(--c-primary)}
.review-vote[value=down].is-active{background:var(--c-danger-soft);border-color:var(--c-danger);color:var(--c-danger)}
.review-vote[value=down].is-active b{color:var(--c-danger)}
.review-reply{margin:14px 0 0 0;padding:14px 16px;border-left:3px solid var(--c-primary);background:var(--c-surface-alt);border-radius:0 var(--r-md) var(--r-md) 0}
.review-reply-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:6px}
.review-reply-badge{font-size:var(--fs-xs);font-weight:600;color:var(--c-primary);background:#dcebf8;padding:3px 9px;border-radius:var(--r-pill)}
.review-reply p{margin:0;font-size:var(--fs-ui);line-height:1.6}
.review-reply-form{margin-top:12px;font-size:var(--fs-ui)}
.review-reply-form summary{cursor:pointer;color:var(--c-primary);font-weight:600}
.review-reply-form label{display:block;margin:10px 0}
.review-reply-form label span{display:block;font-size:var(--fs-sm);color:var(--c-muted);margin-bottom:6px}
.review-reply-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--c-line);border-radius:var(--r-md);padding:10px 12px;font:inherit;font-size:var(--fs-ui)}
.review-reply-actions{display:flex;flex-wrap:wrap;gap:8px}
.review-reply-actions button{font:inherit;font-size:var(--fs-ui);font-weight:600;min-height:40px;padding:8px 16px;border-radius:var(--r-md);border:1px solid var(--c-primary);background:var(--c-primary);color:#fff;cursor:pointer}
.review-reply-actions button[value=delete]{background:var(--c-surface);color:var(--c-danger);border-color:#e3b3b7}
/* Services as rows with price/duration and a book button (03.10.2026) */
.svc-list{display:grid}
.svc-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--c-line)}
.svc-main{min-width:0;flex:1 1 auto}.svc-name{display:block;font-size:var(--fs-md);font-weight:600;color:var(--c-ink);line-height:1.3}
.svc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;font-size:var(--fs-sm);color:var(--c-muted)}.svc-meta b{color:var(--c-ink);font-weight:600}
.svc-others,.business-profile .profile-service-list a.svc-others{display:inline-flex;align-items:center;gap:3px;padding:0;border:0;font-size:var(--fs-sm);line-height:1.4;color:var(--c-primary);white-space:nowrap;justify-content:flex-start}.svc-others .icon{width:14px;height:14px}
.svc-book{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--c-line-strong);border-radius:999px;background:var(--c-surface);color:var(--c-primary);font:inherit;font-size:var(--fs-sm);font-weight:600;cursor:pointer}.svc-book .icon{width:16px;height:16px}
.svc-book:hover{background:var(--c-primary-soft,#e8f0fb)}
@media(max-width:700px){.svc-row{padding:12px 0}.svc-name{font-size:var(--fs-base)}.svc-book span{display:none}.svc-book{width:40px;padding:0;justify-content:center;border-radius:12px}.svc-book .icon{width:18px;height:18px}}
/* the booking panel as a sheet when opened from a service row */
.bk-close{display:none;margin-left:auto;width:36px;height:36px;border:0;border-radius:50%;background:var(--c-surface-alt);color:var(--c-ink);font-size:22px;line-height:1;cursor:pointer}
.lead-panel.is-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:70;max-height:92vh;overflow:auto;margin:0;border-radius:20px 20px 0 0;box-shadow:0 -10px 40px #0004}
.lead-panel.is-sheet .bk-close{display:inline-flex;align-items:center;justify-content:center}
.lead-panel.is-sheet .bk-head{position:sticky;top:0;background:inherit;z-index:1;padding-bottom:6px}
.bk-overlay{position:fixed;inset:0;z-index:69;background:#0006}
html.bk-sheet-open{overflow:hidden}html.bk-sheet-open .profile-mobile-contact{visibility:hidden}
@media(min-width:701px){.lead-panel.is-sheet{left:50%;right:auto;top:50%;bottom:auto;width:min(520px,calc(100% - 32px));transform:translate(-50%,-50%);border-radius:20px;max-height:90vh}}
/* Service tabs (subcategories) as a slider, 03.10.2026 */
.svc-tabs{display:flex;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;margin:14px 0 6px;padding:2px 0 6px;scroll-snap-type:x proximity}.svc-tabs::-webkit-scrollbar{display:none}
.svc-tab{flex:0 0 auto;scroll-snap-align:start;min-height:38px;padding:8px 16px;border:1px solid var(--c-line-strong);border-radius:999px;background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--fs-sm);font-weight:500;white-space:nowrap;cursor:pointer}
.svc-tab.is-on{background:var(--c-ink);border-color:var(--c-ink);color:#fff}
.svc-row[hidden]{display:none}
.svc-more{display:block;width:100%;margin:12px 0 0;padding:12px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-primary);font:inherit;font-weight:600;cursor:pointer}.svc-more[hidden]{display:none}
@media(max-width:700px){.svc-tabs{margin:12px -16px 4px;padding:2px 16px 6px}}
/* audit 19: chevron as CSS (830 inline SVG on a card with 778 services), 44 px targets, no stray gap in «Показати всі (N)» */
.svc-others::after{content:"";width:7px;height:7px;margin-left:4px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg);flex:none}
.business-profile .profile-service-list a.svc-others{min-height:44px;padding:8px 0;margin:-8px 0}
.svc-book{min-height:44px;min-width:44px}
.svc-more span{margin-left:0}
.bk-day small{font-size:12px}
.lead-note{font-size:var(--fs-sm)}
.svc-tab:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
/* owner 03.10.2026: booking — one-row dates with horizontal scroll, time as a dropdown, full-screen sheet on phones, tighter */
.bk-days{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:1px 1px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.bk-days::-webkit-scrollbar{display:none}
.bk-day{flex:0 0 56px;scroll-snap-align:start}
.bk-slots{display:none}.bk-native[data-native-slot]{display:block;margin-top:0}.bk-native[data-native-slot][hidden]{display:block}
.bk .lead-form{gap:10px}.bk-head{margin:0 0 10px}.bk-field{gap:4px}
.bk-person{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bk .lead-note{font-size:var(--fs-xs);line-height:1.35;margin:0}
.lead-panel.is-sheet{z-index:1200}.bk-overlay{z-index:1199}
@media(max-width:700px){
 .lead-panel.is-sheet{top:0;bottom:0;height:100dvh;max-height:none;border-radius:0;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}
 .lead-panel.is-sheet .bk-head{margin:0 0 8px;padding-bottom:4px}.lead-panel.is-sheet .bk-head p{display:none}.bk-head h2{font-size:var(--fs-lg)}
 .bk .lead-form select,.bk .lead-form input{padding:9px 12px;min-height:42px}
 .bk-more summary{padding:6px 0}.bk-more .lead-muted{display:none}
 .bk .lead-submit{margin-top:2px}
}
/* audit 23, visitors: 16 px fields on phones (iOS zooms below 16 px), 44 px targets, one-line booking button */
@media(max-width:700px){.lead-form input,.lead-form select,.lead-form textarea,.bk .lead-form input,.bk .lead-form select{font-size:16px}}
.review-sort a{display:inline-flex;align-items:center;min-height:44px}
.review-vote{min-height:44px}
.bk-close{min-width:44px;min-height:44px}
.reviews-section>.pagination a,.pagination a{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.svc-tab.is-on{background:var(--c-primary);border-color:var(--c-primary)}
.svc-others,.business-profile .profile-service-list a.svc-others{color:var(--c-muted)}.svc-others:hover{color:var(--c-primary)}
.bk .lead-submit{flex-wrap:nowrap;white-space:nowrap}.bk .lead-submit em{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-size:13px}
.lead-note a{color:var(--c-primary);text-decoration:underline;text-underline-offset:2px}
/* Owner 06.10.2026: the «Записатися» label stays readable on hover (the global button:hover made it white) */
.svc-book:hover,.svc-book:focus-visible{background:var(--c-primary-soft);color:var(--c-primary-strong);border-color:var(--c-primary-line)}
.svc-book:hover .icon,.svc-book:focus-visible .icon{color:var(--c-primary-strong)}
/* localization.css */
.language-switch{display:flex;align-items:center;gap:2px;flex-shrink:0;margin-left:8px}
.language-switch a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 7px;color:var(--c-muted);font-size:var(--fs-xs);text-decoration:none;border-radius:var(--r-sm)}
.language-switch a[aria-current]{color:var(--c-primary);background:var(--c-primary-soft);font-weight:700}
.language-switch a:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.site-header .logo{white-space:nowrap;flex-shrink:0}
@media(max-width:700px){
 .language-switch{margin-left:0}
 .language-switch a{padding:0 5px;font-size:var(--fs-xs)}
 .mobile-search summary{width:32px}
}
/* ads.css */
.feed-ad-link,.feed-ad picture{display:block}
.feed-ad-image{display:block;width:100%;height:auto;border-radius:var(--r-md)}
.ad-position-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:38px}
.ad-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin:28px 0 18px}
.ad-section-heading h2{margin:0}
.ad-position-grid h2{font-size:var(--fs-lg)}
.ad-position-form{max-width:650px}
.ad-campaign-form{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:26px;align-items:start}
.ad-campaign-form>*,.ad-position-grid>*{min-width:0}
.ad-manager-image{display:block;width:100%;max-height:300px;object-fit:contain;background:var(--c-surface-alt);border-radius:var(--r-md);margin:0 0 24px}
.ad-manager-image.mobile{max-width:360px}
.ad-manager-thumbnail{width:100%;height:150px;object-fit:contain;background:var(--c-surface-alt);border-radius:var(--r-md);margin-bottom:20px}
.ad-help{font-size:var(--fs-xs);line-height:1.7;color:var(--c-muted);margin:18px 0 0}
.ad-click-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--c-line);padding:8px 0;font-size:var(--fs-xs)}
.ad-preview-surface{max-width:820px;background:var(--c-canvas);padding:24px;border-radius:var(--r-lg);margin:26px 0}
.ad-preview-surface .feed-ad-label{display:block;font-size:var(--fs-xs);color:var(--c-muted);margin-bottom:8px}
.ad-preview-surface .feed-ad-placeholder{padding:60px 20px;text-align:center;border:1px dashed var(--c-line-strong)}
.ad-campaign-form input[type=file]{font-size:var(--fs-xs)}
.ad-campaign-form select{max-width:100%}
.editor .editor-header nav{flex-wrap:wrap}
.ad-position-grid .card-footer{flex-wrap:wrap}
@media(max-width:1050px){
 .ad-position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .ad-campaign-form{grid-template-columns:minmax(0,1fr) 310px}
}
@media(max-width:700px){
 .ad-position-grid{grid-template-columns:1fr}
 .ad-campaign-form{display:block}
 .ad-campaign-form>aside{margin-top:20px}
 .ad-section-heading{flex-wrap:wrap;gap:10px}
 .ad-preview-surface{padding:16px}
 .ad-manager-image{max-height:230px}
}
/* navigation.css */
/* Three destinations; news topics are a contextual filter, not another site menu. */
.feed-content-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 22px;flex-wrap:wrap}
.feed-content-heading h2{font-size:var(--fs-h1);line-height:1.2;margin:0}
.news-topic-filter{position:relative;width:max-content;max-width:100%;margin:0 0 24px;z-index:2}
.feed-content-heading .news-topic-filter{margin:0}
.news-topic-filter summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:48px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);padding:10px 14px;font-size:var(--fs-ui)}
.news-topic-filter summary::-webkit-details-marker{display:none}
.news-topic-filter summary>span{color:var(--c-muted)}
.news-topic-filter summary>strong{font-weight:500}
.news-topic-filter summary>svg{flex-shrink:0}
.news-topic-filter[open] summary>svg{transform:rotate(180deg)}
.news-topic-filter nav{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:190px;padding:6px;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md);box-shadow:0 8px 20px #1616160d}
.news-topic-filter nav a{display:block;padding:12px;min-height:44px;border-radius:var(--r-sm);font-size:var(--fs-base);color:var(--c-ink)}
.news-topic-filter nav a:hover,.news-topic-filter nav a[aria-current]{background:var(--c-primary-soft);color:var(--c-primary)}
.news-topic-filter :is(summary,a):focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
@media(max-width:700px){
 .feed-content-heading{gap:16px;margin-bottom:20px}
 .feed-content-heading h2{font-size:var(--fs-h2)}
 .news-topic-filter summary{font-size:var(--fs-sm);gap:9px}
}
@media(max-width:359px){
}
/* The portal menu scrolls sideways on phones: a fading edge shows there is more (UX2-12, 03.10.2026). */
@media(max-width:700px){
}
/* member-ui.css */
.account-menu-button{border:0;background:transparent;color:var(--c-primary);padding:8px;min-width:44px;min-height:44px;flex-shrink:0}
.account-drawer{position:fixed;inset:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(440px,90vw);max-width:90vw;margin:0;padding:28px;border:0;background:var(--c-surface);color:var(--c-ink);overflow:auto}
dialog::backdrop{background:#173f57a6}
.account-drawer-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.account-drawer-top .logo{font-size:27px}
.account-drawer-top button,.filter-dialog-heading button{background:transparent;color:var(--c-ink);border:0;padding:5px;line-height:1;min-width:44px;min-height:44px;display:inline-grid;place-items:center}
.drawer-language{display:flex;gap:20px;margin:14px 0 24px}
.drawer-language a{font-size:var(--fs-ui);color:var(--c-primary);min-height:40px;display:flex;align-items:center}
.drawer-identity{display:flex;align-items:center;gap:14px;margin:25px 0}
.drawer-identity>span{width:64px;height:64px;display:grid;place-items:center;background:#d9eaff;border-radius:50%;font-size:var(--fs-h1);flex-shrink:0;overflow:hidden}
.drawer-identity>span img{width:64px;height:64px;object-fit:cover;display:block}
.drawer-identity strong,.drawer-identity small{display:block;overflow-wrap:anywhere}
.drawer-identity small{font-size:var(--fs-sm);color:var(--c-muted);margin-top:7px}
.drawer-links{display:flex;flex-direction:column;margin:20px 0}
.drawer-links a{padding:13px 0;font-size:var(--fs-lg);min-height:48px}
.account-drawer h2,.account-drawer .dialog-title{font-size:var(--fs-h2)}
.member-shell{max-width:820px;margin:32px auto 60px;padding:0 22px}
.member-shell>h1{font-size:var(--fs-display);margin:22px 0}
.member-back{color:var(--c-muted);font-size:var(--fs-ui)}
.member-tabs{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 24px;border-bottom:1px solid var(--c-line)}
.member-tabs a{padding:12px 0;font-size:var(--fs-base)}
.member-tabs a[aria-current]{color:var(--c-primary);border-bottom:3px solid var(--c-primary)}
.member-panel{padding:30px;margin-bottom:22px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}
.member-panel h2{font-size:var(--fs-h2);margin:0 0 20px}
.member-panel p{line-height:1.65}
.member-panel label{display:block;margin:17px 0;font-size:var(--fs-base)}
.member-panel input:not([type=checkbox]):not([type=radio]),.member-panel select,.member-panel textarea{display:block;width:100%;max-width:100%;margin-top:8px;border:1px solid var(--c-line-strong);border-radius:var(--r-sm);padding:13px;background:var(--c-surface);font:inherit;color:var(--c-ink);min-height:48px}
.member-panel input[type=file]{padding:10px;font-size:var(--fs-sm)}
.member-panel textarea{resize:vertical}
.member-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.member-avatar{height:150px;width:150px;border-radius:50%;background:var(--c-primary-soft);display:grid;place-items:center;overflow:hidden;font-size:50px;color:var(--c-primary)}
.member-avatar img{width:150px;height:150px;object-fit:cover}
.member-panel button,.member-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:var(--r-md);background:var(--c-primary);color:#fff;padding:14px 22px;font:inherit;font-weight:600;min-height:48px}
.member-panel button:disabled{opacity:.45;cursor:not-allowed}
.member-panel .member-secondary{color:var(--c-primary);background:var(--c-primary-soft)}
.member-panel .member-danger{background:var(--c-danger)}
.member-divider{border-top:1px solid var(--c-line);margin:28px 0}
.member-muted{font-size:var(--fs-sm);color:var(--c-muted)}
.member-notice{padding:16px;background:var(--c-primary-soft);border-radius:var(--r-md);line-height:1.6}
.member-error{padding:16px;background:var(--c-danger-soft);color:var(--c-danger);border-radius:var(--r-md)}
.member-delete{margin-top:22px}
.member-delete summary{color:var(--c-danger);cursor:pointer;min-height:44px;padding:10px 0}
.member-saved{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--c-line)}
.member-saved>a{display:flex;gap:14px;align-items:center;min-width:0}
.member-saved strong,.member-saved small{display:block}
.member-saved small{font-size:var(--fs-sm);color:var(--c-muted);margin-top:5px}
.member-saved img{object-fit:cover;border-radius:var(--r-md)}
.member-text{white-space:pre-wrap;overflow-wrap:anywhere}
.member-company-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}
.member-company-actions button,.member-company-actions a{border:1px solid var(--c-line-strong);border-radius:var(--r-sm);background:var(--c-surface);color:var(--c-primary);padding:10px 14px;min-height:44px;font:inherit;font-size:var(--fs-ui)}
.member-company-actions form{margin:0}
.community-review{padding:20px 0;border-top:1px solid var(--c-line)}
.community-review p{white-space:pre-wrap}
.member-shell a:focus-visible,.member-shell :is(button,input,select,textarea):focus-visible,dialog :is(a,button,input,select):focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
.catalog-filter-dialog{width:min(650px,100vw);max-width:100vw;max-height:100dvh;border:0;padding:0;border-radius:var(--r-lg);background:var(--c-canvas);color:var(--c-ink)}
.filter-dialog-heading{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:var(--c-canvas);border-bottom:1px solid var(--c-line-strong);padding:20px 24px;z-index:2}
.filter-dialog-heading h2,.filter-dialog-heading .dialog-title{font-size:var(--fs-h1);margin:0}
.advanced-filter-form{padding:0 24px 24px}
.advanced-filter-form fieldset{border:0;padding:0;margin:28px 0}
.advanced-filter-form legend{font-size:var(--fs-md);font-weight:500;margin-bottom:14px}
.filter-segments{display:flex;gap:2px;background:#e0e0e0;border-radius:var(--r-sm);overflow:hidden}
.filter-segments label{flex:1;min-width:0;position:relative}
.filter-segments input{position:absolute;opacity:0}
.filter-segments span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 5px;background:var(--c-surface);font-size:var(--fs-sm);text-align:center}
.filter-segments input:checked+span{background:var(--c-primary);color:#fff}
.filter-segments input:focus-visible+span{outline:3px solid #161616;outline-offset:-3px}
.filter-check{display:flex;align-items:center;gap:10px;font-size:var(--fs-md);padding:10px 0;min-height:44px}
.filter-check input{width:20px;height:20px;flex-shrink:0;accent-color:var(--c-primary)}
.taxonomy-filter input[type=search]{width:100%;font:inherit;min-height:48px;border:1px solid #aaa;border-radius:var(--r-sm);padding:12px;background:var(--c-surface)}
.filter-options{max-height:240px;overflow:auto;margin-top:8px}
.filter-options [hidden]{display:none}
.filter-footer{position:sticky;bottom:-24px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;background:var(--c-canvas);border-top:1px solid var(--c-line)}
.filter-footer button{background:var(--c-primary);color:#fff;border:0;border-radius:var(--r-md);padding:0 20px;font:inherit;font-size:var(--fs-ui);font-weight:600;min-height:var(--control-h)}
.filter-footer a{font-size:var(--fs-ui);color:var(--c-primary);display:inline-flex;align-items:center;min-height:var(--control-h);font-weight:600}
.catalog-sort{min-width:0;flex:1;text-align:center}
.catalog-sort select{font:inherit;font-size:var(--fs-sm);border:0;background:var(--c-surface);width:100%;max-width:210px;padding:12px 4px}
.enhanced-toolbar{gap:10px!important}
.enhanced-toolbar .filter-open{background:transparent;border:0;padding:0;color:var(--c-primary);font:inherit;font-size:var(--fs-sm);font-weight:600;display:inline-flex;align-items:center;min-height:var(--control-h)}
.filter-open>span{border-radius:50%;background:var(--c-primary);color:#fff;padding:2px 6px}
.near-controls{padding:16px;background:var(--c-primary-soft);font-size:var(--fs-sm)}
.near-controls button{background:var(--c-primary);color:#fff;border:0;border-radius:var(--r-md);padding:12px;font-weight:600}
.near-controls small{display:block;line-height:1.5;color:var(--c-muted)}
@media(max-width:700px){
 .member-shell{padding:0 16px;margin-top:22px}
 .member-shell>h1{font-size:var(--fs-h1)}
 .member-panel{padding:22px}
 .member-fields{grid-template-columns:1fr}
 .member-tabs{gap:12px}
 .member-tabs a{font-size:var(--fs-sm)}
 .member-saved{align-items:flex-start;flex-direction:column}
 .member-saved button{padding:10px 14px}
 .account-drawer{padding:24px;width:90vw}
 .catalog-filter-dialog{height:100dvh;width:100vw;border-radius:0;margin:0;inset:0}
 .filter-segments span{font-size:var(--fs-xs)}
 .advanced-filter-form{padding-left:16px;padding-right:16px}
 .filter-dialog-heading{padding:20px 16px}
}
@media(max-width:359px){
 .account-drawer-top .logo{font-size:23px}
 .member-panel{padding:18px}
 .filter-segments span{font-size:var(--fs-xs)}
}
.header-search-button{min-width:44px;min-height:44px;border:0;background:transparent;color:var(--c-primary);padding:8px}
.drawer-primary{display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--c-line);padding-bottom:18px}
.drawer-primary a{padding:10px 0}
.drawer-primary a[aria-current]{color:var(--c-primary)}
.search-dialog{width:min(700px,100vw);max-width:100vw;max-height:100dvh;border:0;border-radius:var(--r-lg);padding:28px;background:var(--c-surface);color:var(--c-ink)}
.search-dialog h2{font-size:var(--fs-h2);margin:0}
.search-dialog h3,.search-dialog .dialog-subtitle{font-size:var(--fs-xl);margin:30px 0 16px}
.search-dialog .member-search-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.search-dialog .member-search-form label{flex:1;min-width:150px}
.search-dialog .member-search-form input,.search-dialog .member-search-form select{min-height:48px;width:100%;padding:12px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);font:inherit;font-size:var(--fs-md)}
.search-dialog .member-search-form button{min-height:48px;padding:12px 20px;border:0;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font:inherit;font-weight:600}
.search-dialog .member-search-form .search-near{flex-basis:100%;border:2px solid var(--c-primary);color:var(--c-primary);background:var(--c-surface)}
.search-directions{display:flex;align-items:flex-start;flex-direction:column;gap:8px}
.search-directions a{padding:12px 18px;border:1px solid var(--c-line);border-radius:30px;min-height:44px}
.search-recent>div{display:flex;flex-wrap:wrap;gap:8px}
.search-recent span{display:flex;align-items:center;gap:8px;padding:4px 10px;border:1px solid var(--c-line);border-radius:var(--r-lg)}
.search-recent a{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-ui)}
.search-recent button{border:0;background:transparent;color:var(--c-text);min-width:44px;min-height:44px;display:inline-grid;place-items:center}
@media(max-width:700px){
 .search-dialog{width:100vw;height:100dvh;border-radius:0;margin:0;inset:0;padding:22px}
 .search-dialog .member-search-form label{flex-basis:100%}
}
html.dialog-open{overflow:hidden}
dialog{overscroll-behavior:contain}
/* Keep catalog header actions against the right edge on narrow screens. */
@media(max-width:700px){
}
.business-edit-form{min-width:0}
.business-edit-form h2{margin-top:28px}
.business-hours{display:grid;gap:12px;margin:20px 0 28px}
.business-hours-row{display:grid;grid-template-columns:30px minmax(110px,1fr) minmax(85px,1fr) minmax(85px,1fr);gap:10px;align-items:end}
.business-hours-row>strong{align-self:center}
.business-hours-row label{margin:0;min-width:0}
.business-field-label{font-size:var(--fs-xs);color:var(--c-muted)}
.business-hours-row input,.business-hours-row select{padding:8px!important;min-width:0;width:100%;box-sizing:border-box}
.business-edit-form textarea,.business-edit-form input,.business-edit-form select{max-width:100%;box-sizing:border-box}
@media(max-width:500px){
 .business-hours-row{grid-template-columns:25px minmax(0,1fr) minmax(0,1fr);gap:8px}
 .business-hours-row>label:first-of-type{grid-column:2/4}
 .business-hours-row>label:nth-of-type(2){grid-column:2}
 .business-hours-row>strong{grid-row:1/3}
 .business-edit-form select{width:100%}
}
.business-upload-preview{display:block;object-fit:contain;border:1px solid var(--c-line);border-radius:var(--r-md);margin:12px 0;background:var(--c-surface)}
.business-socials{padding:18px 0}
.business-socials h3{font-size:var(--fs-md);margin:0 0 12px}
.business-socials>div{display:flex;flex-wrap:wrap;gap:8px}
.business-socials a{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--c-line);border-radius:var(--r-md);color:var(--c-primary);font-size:var(--fs-ui);min-height:44px}
.business-socials a:hover{background:var(--c-primary-soft)}
.business-edit-form input[type=file]{font-size:var(--fs-sm);padding:10px;width:100%}
.taxonomy-filter .filter-check[hidden],.taxonomy-filter [data-taxonomy-empty][hidden]{display:none!important}
#catalog-search.search-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;border-radius:0;padding:28px 24px;overflow:auto}
#catalog-search .account-drawer-top{margin-bottom:32px}
#catalog-search .logo{font-size:30px}
#catalog-search .member-search-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:0}
#catalog-search .member-search-form>label:first-child{grid-column:1/-1}
#catalog-search input[name=q]{border-radius:40px;padding:14px 20px;border:2px solid var(--c-line);min-height:52px}
#catalog-search select[name=city]{border-radius:var(--r-pill);min-height:46px;font-size:var(--fs-ui)}
#catalog-search .member-search-form>button{border-radius:var(--r-pill);padding:10px 19px;min-height:46px}
#catalog-search .member-search-form>.search-near{grid-column:1/-1;background:var(--c-surface);border:2px solid var(--c-primary);color:var(--c-ink);text-transform:uppercase;min-height:50px}
#catalog-search h3,#catalog-search .dialog-subtitle{margin-top:36px;font-size:var(--fs-lg)}
#catalog-search .search-directions{gap:9px}
#catalog-search .search-directions a{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:var(--fs-ui);text-transform:uppercase}
#catalog-search .search-directions img{object-fit:contain}
@media(max-width:700px){
 #catalog-search.search-dialog{width:100vw;padding:24px 18px;padding-bottom:max(24px,env(safe-area-inset-bottom))}
}
.member-note{margin:10px 0 12px;padding:10px 14px;border-left:3px solid var(--c-danger);background:var(--c-danger-soft);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-ui)}
/* New town in the business form (owner request 02.10.2026). */
.new-city{margin:0 0 16px;padding:12px 14px;border:1px dashed var(--c-line-strong);border-radius:var(--r-md)}
.new-city summary{cursor:pointer;color:var(--c-primary);font-size:var(--fs-ui);font-weight:600}
.new-city[open] summary{margin-bottom:12px}
.new-city-hint{margin:8px 0 0;font-size:var(--fs-sm);line-height:1.45;color:var(--c-muted)}
/* Settlement suggestions from КАТОТТГ (owner request 02.10.2026). */
.settlement-field{position:relative}
.settlement-list{position:absolute;left:0;right:0;top:100%;z-index:30;margin:4px 0 0;padding:4px 0;list-style:none;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md);box-shadow:0 10px 28px rgba(23,34,44,.16);max-height:330px;overflow:auto}
.settlement-list[hidden]{display:none}
.settlement-list li{display:flex;flex-direction:column;gap:2px;padding:9px 14px;cursor:pointer}
.settlement-list li span{font-size:var(--fs-base);color:var(--c-ink)}
.settlement-list li small{font-size:var(--fs-xs);line-height:1.35;color:var(--c-muted)}
.settlement-list li[aria-selected=true],.settlement-list li:hover{background:var(--c-primary-soft)}
.new-city-chosen{margin:10px 0 0;padding:8px 12px;border-radius:var(--r-md);background:var(--c-success-soft);font-size:var(--fs-ui);line-height:1.45;color:var(--c-success)}
.new-city-chosen[hidden]{display:none}
/* What the editors check, and character counters on the review and business forms (UX-47, UX-48, 03.10.2026). */
.member-checklist{margin:0 0 18px;padding:12px 16px;border-radius:var(--r-md);background:var(--c-surface-alt);font-size:var(--fs-ui);line-height:1.5;color:var(--c-text)}
.member-checklist p{margin:0 0 4px;font-weight:600}
.member-checklist ul{margin:0;padding-left:20px}
.field-counter{display:block;margin:6px 0 0;font-size:var(--fs-sm);color:var(--c-muted);text-align:right}
.field-counter.is-short{color:var(--c-warning)}
/* business form v2 (03.10.2026) */
.bform-lead{margin:0 0 16px;color:var(--c-text)}
.bform-step{padding:20px 22px}
.bform-step-head{display:flex;align-items:center;gap:12px;margin:0 0 6px}
.bform-step-head span{flex:0 0 30px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--c-primary);color:#fff;font-weight:700;font-size:var(--fs-sm)}
.bform-step-head h2{margin:0;font-size:var(--fs-h3)}
.bform-label{margin:16px 0 8px;font-size:var(--fs-base)}
.bform-label small{display:block;margin-top:2px;font-weight:400}
.bform-services-filter{width:100%;margin:0 0 10px}
.bform-chips{display:flex;flex-wrap:wrap;gap:8px;max-height:260px;overflow:auto;padding:2px}
.bform button.bform-chip{min-height:36px;padding:6px 12px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-sm);cursor:pointer}
.bform button.bform-chip.is-on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.bform-choice{border:0;padding:0;margin:14px 0 0}
.bform-choice legend{font-size:var(--fs-base);margin-bottom:6px}
.bform-choice label{display:flex;gap:10px;align-items:center;margin:0;padding:8px 0;font-size:var(--fs-base);cursor:pointer}
.bform-choice input{width:18px;height:18px;margin:0;accent-color:var(--c-primary)}
.bform-map{height:280px;border-radius:var(--r-md);border:1px solid var(--c-line);overflow:hidden;background:var(--c-surface-alt)}
.bform-phones{display:grid;gap:8px}
.bform-phones input{margin:0}
.bform-socials{margin-top:16px}
.bform-socials summary{cursor:pointer;min-height:40px;display:flex;align-items:center;color:var(--c-primary)}
.bform-hours-tools{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}
.bform-photo{display:flex;gap:16px;align-items:flex-start}
.bform-photo .business-upload-preview{flex:0 0 96px;width:96px;height:96px;object-fit:cover;border-radius:var(--r-md)}
.bform-file{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;cursor:pointer}
.bform-file{position:relative;overflow:hidden}.member-panel .bform-file input[type=file]{position:absolute;left:0;top:0;width:1px;height:1px;min-height:0;padding:0;margin:0;opacity:0;pointer-events:none}  /* the hidden file input used to take the cabinet's 100% width and push the page sideways (03.10.2026) */
.bform-file-name{color:var(--c-muted);font-size:var(--fs-sm)}
.bform-check{margin:8px 0 16px}
.bform-submit{display:flex;flex-wrap:wrap;gap:10px;align-items:center;position:sticky;bottom:0;padding:12px 0;background:var(--c-canvas,#fff)}
.bform .member-panel label{margin:12px 0}
@media(max-width:700px){.bform-step{padding:16px}.bform-map{height:240px}.bform-submit .btn-primary{flex:1 1 auto}.bform-photo{flex-direction:column}}
.bform-service-details{margin-top:14px}.bform-svc-rows{display:grid;gap:8px}.bform-svc-row{display:grid;grid-template-columns:minmax(0,1fr) 96px 92px 128px;gap:8px;align-items:center}.bform-svc-name{font-size:var(--fs-sm)}.member-panel .bform-svc-row input,.member-panel .bform-svc-row select{margin:0;min-height:40px;padding:8px 10px;font-size:var(--fs-sm)}
@media(max-width:720px){.bform-svc-row{grid-template-columns:92px minmax(0,1fr) 120px;gap:6px}.bform-svc-name{grid-column:1/-1;margin-top:6px}}
.bform-chip-group{flex-basis:100%;margin:8px 0 2px;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--c-muted)}.bform-chip-group:first-child{margin-top:0}
/* Directions of a card (owner 03.10.2026): up to three removable chips under the category picker */
.bform-dirs{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 14px}.bform-dirs:empty{display:none}
.bform-dir{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:4px 4px 4px 14px;border-radius:var(--r-pill);background:var(--c-primary);color:#fff;font-size:var(--fs-sm);line-height:1.3}
.member-panel button.bform-dir-x{min-height:0;border:0;border-radius:0;background:none;color:inherit;font:inherit;font-size:20px;line-height:1;padding:0 6px;cursor:pointer;opacity:.85}.member-panel button.bform-dir-x:hover{opacity:1}
.bform-dirs-hint{margin:-6px 0 14px}.bform-dirs-field select:disabled{opacity:.6}
.bform-place .new-city{grid-column:1/-1}
@media(max-width:700px){.bform-place .new-city{order:1}.bform-place .bform-dirs-field{order:2}}
.req{color:var(--c-danger,#a12a33);font-weight:700}.bform-legend{margin:0 0 10px;font-size:var(--fs-xs)}
/* The catalog sort looks like the deals sort (owner 05.10.2026: «як ми використовуємо в розділі акцій»). */
.enhanced-toolbar .catalog-sort{flex:0 1 auto;min-width:0;text-align:left}
.enhanced-toolbar .catalog-sort label{display:block}
.catalog-sort select,.deal-sort-control select{-webkit-appearance:none;appearance:none;height:46px;padding:0 38px 0 14px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23555f6d' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center/12px 8px;color:var(--c-text);font:inherit;font-size:var(--fs-ui);line-height:1.2;cursor:pointer;text-overflow:ellipsis;transition:border-color .15s,box-shadow .15s}
.catalog-sort select{width:auto;min-width:190px;max-width:240px}
.catalog-sort select:hover,.deal-sort-control select:hover{border-color:var(--c-primary)}
.catalog-sort select:focus,.deal-sort-control select:focus{outline:0}
.catalog-sort select:focus-visible,.deal-sort-control select:focus-visible{outline:0;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(26,102,201,.22)}
@media(max-width:700px){
 .enhanced-toolbar .catalog-sort{flex:1 1 auto;display:flex;justify-content:center}
 .deals-discovery .deal-sort-control select{background-position:right 9px center}
 .catalog-sort select{height:36px;min-width:0;max-width:200px;padding:0 30px 0 12px;font-size:var(--fs-sm);background-position:right 11px center}
}
/* Owner 06.10.2026: the filter dialog's footer stays fully visible (was bottom:-24px — the button was cut) */
.catalog-filter-dialog .filter-footer{bottom:0;box-shadow:0 -10px 14px -12px rgba(16,24,40,.28)}
/* Owner 06.10.2026: the catalog filters are a drawer at the right edge */
@media(min-width:701px){
 .catalog-filter-dialog[open]{position:fixed;inset:0 0 0 auto;margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(560px,100vw);border-radius:var(--r-lg) 0 0 var(--r-lg);box-shadow:-12px 0 32px rgba(16,24,40,.18);animation:filter-drawer-in .24s cubic-bezier(.2,.8,.2,1)}
 .catalog-filter-dialog::backdrop{background:rgba(16,24,40,.35)}
}
@keyframes filter-drawer-in{from{transform:translateX(100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.catalog-filter-dialog[open]{animation:none}}
/* account.css */
/* Account (personal cabinet) v2, owner 02.10.2026: sidebar + content on desktop, one scrollable row of tabs on phones,
   cards with clear actions and status pills. Shares tokens.css and the buttons of components.css. */
.account{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;max-width:1120px;margin:28px auto 60px;padding:0 24px;box-sizing:border-box}
.account-anon{display:block;max-width:560px}
.account-main{min-width:0}
.account-main>h1{font-size:var(--fs-display);line-height:1.15;margin:8px 0 20px}
.account-crumbs{font-size:var(--fs-sm)}
.account-side{position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:14px}
.account-me{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);color:var(--c-ink);text-decoration:none}
.account-me-avatar{flex:0 0 56px;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-size:var(--fs-xl);font-weight:700}
.account-me-avatar img{width:56px;height:56px;object-fit:cover}
.account-me-text{min-width:0}
.account-me-text strong,.account-me-text small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-me-text strong{font-size:var(--fs-md)}
.account-me-text small{color:var(--c-muted);font-size:var(--fs-sm)}
.account-nav{display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}
.account-nav a{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border-radius:var(--r-md);color:var(--c-text);font-size:var(--fs-base);text-decoration:none;white-space:nowrap}
.account-nav a .icon{flex:0 0 20px;width:20px;height:20px;color:var(--c-muted)}
.account-nav a span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
.account-nav a b{min-width:22px;padding:1px 7px;border-radius:var(--r-pill);background:var(--c-surface-muted);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600;text-align:center}
.account-nav a:hover{background:var(--c-surface-alt);color:var(--c-ink)}
.account-nav a[aria-current]{background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}
.account-nav a[aria-current] .icon{color:var(--c-primary)}
.account-nav a[aria-current] b{background:var(--c-surface);color:var(--c-primary)}
.account-logout{padding:0 8px}
.account-logout .btn .icon{width:18px;height:18px}
/* panels and cards */
.account .member-panel{padding:24px;margin-bottom:16px}
.account .member-panel h2{font-size:var(--fs-h3);margin:0 0 14px}
.account-compact{padding:18px 24px}
.account-subtitle{font-size:var(--fs-h3);margin:28px 0 12px}
.account-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:18px}
.account-actions .btn .icon{width:18px;height:18px}
.account-check{display:flex;gap:10px;align-items:center;margin:14px 0}
.account-head{display:flex;align-items:center;gap:18px;margin-bottom:6px}
.account-head-text h2{margin:0 0 4px}
.account-head-text p{margin:0}
.account-avatar{position:relative;flex:0 0 96px;width:96px;height:96px;cursor:pointer;border-radius:50%}
.account-avatar input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;margin:0}
.account-avatar-pic{display:grid;place-items:center;width:96px;height:96px;border-radius:50%;overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-size:36px;font-weight:700}
.account-avatar-pic img{width:96px;height:96px;object-fit:cover}
.account-avatar-badge{position:absolute;right:-2px;bottom:-2px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary);border:2px solid var(--c-surface);pointer-events:none}
.account-avatar-badge .icon{width:16px;height:16px}
.account-avatar:focus-within{outline:3px solid var(--c-primary);outline-offset:3px}
.account .member-fields{margin-top:8px}
.account .member-panel label{margin:12px 0}
.account-row{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--c-line)}
.account-row:first-of-type{border-top:0;padding-top:4px}
.account-row-icon{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-primary)}
.account-row-icon .icon{width:20px;height:20px}
.account-row-text{flex:1;min-width:0}
.account-row-text strong{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--fs-base);overflow-wrap:anywhere}
.account-row-text small{display:block;margin-top:4px;color:var(--c-muted);font-size:var(--fs-sm);line-height:1.5}
.account-inline{margin-top:12px}
.account-inline summary{color:var(--c-primary);cursor:pointer;min-height:36px;display:flex;align-items:center}
.account-inline form{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-top:6px}
.account-inline form label{flex:1 1 220px;margin:0}
.account-inline .btn{margin:0}
.account-danger{background:transparent;border-style:dashed}
.account-danger .member-delete{margin:0}
.account-danger summary{color:var(--c-danger);padding:4px 0;min-height:32px}
/* pills */
.pill{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--c-surface-muted);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}
.pill-ok,.pill-approved{background:var(--c-success-soft);color:var(--c-success)}
.pill-pending{background:#fff4de;color:#8a5a00}
.pill-rejected{background:var(--c-danger-soft);color:var(--c-danger)}
/* business */
.account-biz-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.account-biz-head h2{margin:0 0 8px}
.account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 8px}
.account-stats div{padding:14px;border-radius:var(--r-md);background:var(--c-surface-alt)}.account-leads{margin-top:18px;padding-top:14px;border-top:1px solid var(--c-line)}.account-leads-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.account-leads-head h3{margin:0;font-size:var(--fs-md)}.account-leads-head form{margin:0}.pill-new{background:var(--c-primary);color:#fff}.pill-booking{font-size:var(--fs-xs)}.pill-confirmed{background:#e3f6e8;color:#13713a}.pill-declined{background:#fde8e6;color:#a33224}.pill-proposed{background:#fff3d6;color:#8a5a00}.pill-new.pill-booking{background:var(--c-surface-alt,#f2f5f9);color:var(--c-ink)}.account-lead-who{font-size:var(--fs-sm);margin-top:4px}.account-lead-who small{color:var(--c-muted)}.account-lead-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.account-lead-actions input{flex:1 1 160px;min-height:36px;margin:0;padding:6px 10px;font-size:var(--fs-sm)}.account-lead-list li.status-confirmed{border-color:#9ad8ad}.account-lead-list li.status-declined{opacity:.75}.account-lead-list{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:8px}.account-lead-list li{padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}.account-lead-list li.is-new{border-color:var(--c-primary);background:var(--c-primary-soft,#e8f0fb)}.account-lead-head{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:baseline;font-size:var(--fs-sm)}.account-lead-head small{color:var(--c-muted)}.account-lead-list p{margin:6px 0 0;white-space:pre-line;font-size:var(--fs-sm)}
.account-stats b{display:block;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.5px}
.account-stats span{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--c-text)}
.account-stats small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--c-muted)}
/* items (reviews, requests) */
.account-item{padding:20px 24px}
.account-item-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px}
.account-item-head h3{margin:0;font-size:var(--fs-md);line-height:1.3}
.account-item-head h3 a{color:var(--c-ink);text-decoration:none}
.account-item-head h3 a:hover{color:var(--c-primary)}
.account-item-meta{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:var(--c-muted);font-size:var(--fs-sm)}
.account-item-meta .rv-stars-row{font-size:var(--fs-md)}
.account-item .member-text{margin:0 0 6px}
.account-item .account-actions{margin-top:12px}
.account-reply{padding:10px 14px;border-left:3px solid var(--c-primary);background:var(--c-primary-soft);border-radius:0 var(--r-md) var(--r-md) 0}
.btn-quiet-danger,a.btn-quiet-danger{color:var(--c-danger)}
.btn-quiet-danger:hover{color:var(--c-danger)}
.btn-danger,a.btn-danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}
/* rating radios */
.account-rating{border:0;padding:0;margin:14px 0 4px}
.account-rating legend{font-size:var(--fs-base);margin-bottom:8px}
.account-rating label{display:flex;align-items:center;gap:10px;margin:0;padding:6px 0;cursor:pointer;font-size:var(--fs-base)}
.account-rating input{width:18px;height:18px;margin:0;accent-color:var(--c-primary)}
.account-rating .rv-stars-row{display:inline-flex;gap:2px;white-space:nowrap;flex:none;font-size:var(--fs-md)}
.account-rating-text{color:var(--c-muted);font-size:var(--fs-sm)}
/* saved list */
.account-list{padding:6px 24px}
.account-saved{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--c-line)}
.account-saved:first-child{border-top:0}
.account-saved-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:var(--c-ink);text-decoration:none}
.account-saved-main:hover strong{color:var(--c-primary)}
.account-saved-pic{flex:0 0 56px;display:grid;place-items:center;width:56px;height:56px;border-radius:var(--r-md);overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary);font-weight:700}
.account-saved-pic img{width:56px;height:56px;object-fit:cover}
.account-saved-main>span{min-width:0;flex:1}
.account-saved-main strong,.account-saved-main small{display:block;overflow-wrap:anywhere}
.account-saved-main strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.account-saved-main small{color:var(--c-muted);font-size:var(--fs-sm)}
.account-saved form .btn .icon{width:18px;height:18px}
/* empty states */
.account-empty{text-align:center;padding:40px 24px}
.account-empty>.icon{width:40px;height:40px;color:var(--c-primary);margin-bottom:10px}
.account-empty h2{margin:0 0 8px}
.account-empty p{max-width:40ch;margin:0 auto 18px;color:var(--c-muted)}
/* login */
.account-login{padding:28px}
.account-code{font-size:28px;letter-spacing:.3em;text-align:center}
.account-benefits{list-style:none;margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--c-line);display:grid;gap:10px}
.account-benefits li{display:flex;gap:10px;align-items:center;color:var(--c-text);font-size:var(--fs-sm)}
.account-benefits .icon{flex:0 0 18px;width:18px;height:18px;color:var(--c-primary)}
@media(max-width:900px){
 .account{display:block;padding:0 16px;margin-top:12px}
 .account-side{position:static;gap:10px;margin-bottom:16px}
 .account-me{padding:10px 12px}
 .account-nav{flex-direction:row;gap:4px;padding:4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
 .account-nav::-webkit-scrollbar{display:none}
 .account-nav a{flex:0 0 auto;min-height:40px;padding:0 12px;font-size:var(--fs-sm);scroll-snap-align:start}
 .account-nav a .icon{width:18px;height:18px}
 .account-logout{display:none}
 .account-me-logout{display:block}
 .account-main>h1{font-size:var(--fs-h1);margin:4px 0 14px}
 .account .member-panel{padding:18px 16px}
 .account-item,.account-list{padding:16px}
 .account-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
 .account-stats div{padding:10px 8px}
 .account-stats b{font-size:var(--fs-h3)}
 .account-stats span{font-size:var(--fs-xs)}
 .account-head{gap:14px}
 .account-avatar,.account-avatar-pic,.account-avatar-pic img{width:80px;height:80px;flex-basis:80px}
 .account-actions .btn{flex:1 1 auto}
 .account-biz-head{flex-direction:column}
 .account-login{padding:20px 16px}
 .account-empty{padding:30px 16px}
}
@media(max-width:900px){.account-main .member-fields{grid-template-columns:1fr}}
/* the generic member-ui button rule (.member-panel button) must not repaint the design-system variants */
.account .member-panel .btn{padding:0 20px;min-height:var(--control-h);border-radius:var(--r-md);font-weight:600;line-height:1.2}
.account .member-panel .btn-secondary{background:var(--c-surface);border-color:var(--c-line-strong);color:var(--c-primary)}
.account .member-panel .btn-secondary:hover{background:var(--c-primary-soft)}
.account .member-panel .btn-quiet{background:transparent;border-color:transparent;color:var(--c-primary);min-height:var(--control-h-sm);padding:0 6px}
.account .member-panel .btn-quiet:hover{text-decoration:underline;text-underline-offset:3px}
.account .member-panel .btn-quiet-danger{color:var(--c-danger)}
.account .member-panel .btn-danger{background:var(--c-danger);border-color:var(--c-danger);color:#fff}
.account .member-panel .btn-sm{min-height:var(--control-h-sm);padding:0 14px}
/* sign in with Telegram / Google (stage E) */
.account-social{display:flex;flex-direction:column;align-items:center;gap:12px;margin:6px 0 4px}
.account-social-tg{min-height:40px}
.account-social .member-muted{margin:0;text-align:center}
.account-or{display:flex;align-items:center;gap:12px;margin:18px 0 4px;color:var(--c-muted);font-size:var(--fs-sm)}
.account-or::before,.account-or::after{content:'';flex:1;border-top:1px solid var(--c-line)}
/* «Вийти» (03.10.2026): an icon button in the member row on phones, a menu item in the site drawer */
.account-me{position:relative}
.account-me-logout{display:none;position:absolute;right:8px;top:50%;transform:translateY(-50%)}
.account-me-logout .btn{min-width:44px;min-height:44px;padding:0;color:var(--c-muted)}
.account-me-logout .btn .icon{width:20px;height:20px}
.account-me-text{padding-right:40px}
.drawer-logout{margin:18px 0 8px}
.drawer-logout .btn .icon{width:20px;height:20px;margin-right:8px}
@media(min-width:901px){.account-me-text{padding-right:0}}
/* online booking: the client's answer on the status page, cancelled state (03.10.2026) */
.pill-cancelled{background:var(--c-surface-muted);color:var(--c-muted)}
.booking-status-cancelled{background:var(--c-surface-muted);color:var(--c-muted)}
.booking-new{margin:0 0 16px}
.booking-new p{margin:0}
.booking-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.booking-actions form{margin:0}
.booking-actions .btn{min-height:44px;padding:0 20px}
.booking-phone{margin:14px 0 0;font-size:var(--fs-sm)}
.booking-phone a{font-weight:600;white-space:nowrap}
.booking-cancel{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--c-line,#e3e8ef)}
.booking-cancel summary{cursor:pointer;color:var(--c-muted);font-size:var(--fs-sm);min-height:32px}
.booking-cancel form{margin:8px 0 0}
.booking-cancel .lead-note{margin:0 0 10px}
.booking-again{margin-top:14px}
/* onboarding and the business landing (03.10.2026) */
.account-onboarding{margin-top:18px;padding:16px 18px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-primary-soft,#eef4fc)}
.account-onboarding-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.account-onboarding-head h3{margin:0;font-size:var(--fs-md)}
.account-progress{height:6px;border-radius:3px;background:#fff;margin:10px 0 14px;overflow:hidden}.account-progress i{display:block;height:100%;background:var(--c-primary);border-radius:3px}
.account-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px}.account-steps li{display:flex;gap:12px;align-items:flex-start}
.account-steps li>span{flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--c-line-strong);font-size:var(--fs-sm);font-weight:700;color:var(--c-primary)}
.account-steps li.is-done>span{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.account-steps li.is-done b{color:var(--c-muted);font-weight:500}
.account-steps li.is-next>span{box-shadow:0 0 0 3px #fff,0 0 0 5px var(--c-primary)}
.account-steps b{display:block;font-size:var(--fs-base)}.account-steps p{margin:2px 0 8px;font-size:var(--fs-sm);color:var(--c-muted)}
.account-onboarding-ok{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:14px 0 0;font-size:var(--fs-sm);color:var(--c-muted)}.account-onboarding-ok .icon{width:18px;height:18px;color:var(--c-primary)}
.account-biz-promo{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;font-size:var(--fs-sm);color:var(--c-text)}.account-biz-promo .icon{width:20px;height:20px;flex:none;color:var(--c-primary);margin-top:2px}
.biz-hero{background:linear-gradient(135deg,var(--c-primary-soft,#eef4fc),#fff)}.biz-hero h2{font-size:var(--fs-h2);margin:6px 0 10px;max-width:640px}.biz-hero>p{font-size:var(--fs-md);max-width:640px}
.biz-kicker{display:inline-block;padding:4px 10px;border-radius:999px;background:var(--c-primary);color:#fff;font-size:var(--fs-xs);font-weight:600;letter-spacing:.02em}
.biz-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}.biz-steps li{display:flex;gap:14px;align-items:flex-start}.biz-steps li>span{flex:0 0 32px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--c-primary);color:#fff;font-weight:700}
.biz-steps b{display:block;font-size:var(--fs-base)}.biz-steps p{margin:2px 0 0;font-size:var(--fs-sm);color:var(--c-muted)}
.biz-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.biz-benefits>div{padding:14px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface)}
.biz-benefits b{display:block;margin:8px 0 4px}.biz-benefits p{margin:0;font-size:var(--fs-sm);color:var(--c-muted)}
.biz-ico{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--c-primary-soft,#eef4fc);color:var(--c-primary)}.biz-ico .icon{width:18px;height:18px}
.biz-faq{padding:10px 0;border-top:1px solid var(--c-line)}.biz-faq summary{cursor:pointer;font-weight:600}.biz-faq p{margin:8px 0 0;font-size:var(--fs-sm);color:var(--c-muted)}
.biz-cta{text-align:left}
@media(max-width:600px){.biz-benefits{grid-template-columns:1fr}}
/* online bookings in the cabinet as an agenda: today / tomorrow / later / past (03.10.2026) */
.account-lead-group{display:flex;align-items:center;gap:8px;margin:18px 0 8px;font-size:var(--fs-sm);font-weight:700;color:var(--c-ink)}
.account-lead-group span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:var(--r-pill);background:var(--c-surface-muted);color:var(--c-muted);font-size:var(--fs-xs);font-weight:600}
.account-lead-group+.account-lead-list{margin-top:0}
.account-leads-sla{margin:0 0 10px;font-size:var(--fs-xs)}
/* Account overview and the owner's deals (05.10.2026) */
.dash-lead{margin:-6px 0 18px;color:var(--c-muted)}
.dash-note a{font-weight:600}
.dash-biz .account-item-head h3{margin:0}
.dash-card-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--fs-sm);white-space:nowrap}
.dash-stats a{display:block;padding:14px;border-radius:var(--r-md);background:var(--c-surface-alt);color:inherit;text-decoration:none;border:1px solid transparent}
.dash-stats a:hover{border-color:var(--c-line-strong,var(--c-line));text-decoration:none}
.dash-stats a.is-alert{background:#fff4de}
.dash-stats a b{display:block;font-size:var(--fs-h2);line-height:1.1;letter-spacing:-.5px}
.dash-stats a span{display:block;margin-top:4px;font-size:var(--fs-sm);color:var(--c-text)}
.dash-stats a small{display:block;margin-top:2px;font-size:var(--fs-xs);color:var(--c-muted)}
.dash-cta{display:flex;gap:16px;align-items:flex-start}
.dash-cta h2{margin:0 0 6px}
.dash-cta p{margin:0}
.dash-booking{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--c-line)}
.dash-booking:last-of-type{border-bottom:0}
.dash-booking>div{display:grid;gap:2px;min-width:0}
.dash-booking .pill{text-decoration:none;white-space:nowrap}
.dash-more{margin:10px 0 0}.dash-more a{display:inline-flex;align-items:center;gap:4px}
.dash-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.dash-tiles a{display:grid;gap:4px;margin:0;color:inherit;text-decoration:none}
.dash-tiles a:hover{border-color:var(--c-line-strong,var(--c-line));text-decoration:none}
.dash-tiles a .icon{width:22px;height:22px;color:var(--c-primary)}
.dash-tiles a b{font-size:var(--fs-h2);line-height:1.1}
.dash-tiles a span{font-size:var(--fs-sm);color:var(--c-muted)}
.dash-intro p{margin:0}
.account .deal-new-form{display:grid;gap:16px}
.account .deal-new-form label{margin:0}
.account .deal-new-form>label,.account .deal-new-row>label{display:grid;gap:6px}
.account .deal-new-form input,.account .deal-new-form textarea,.account .deal-new-form select{font-size:16px}
.account .deal-new-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.account .deal-new-kind{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}
.account .deal-new-kind legend{padding:0;margin-bottom:8px;font-weight:500}
.account .deal-new-form .deal-new-choice{display:flex;align-items:center;gap:10px;margin:0;padding:12px 14px;border:1px solid var(--c-line);border-radius:var(--r-md);cursor:pointer;min-height:44px;box-sizing:border-box;line-height:1.35}
.account .deal-new-form .deal-new-choice input{margin:0;width:18px;height:18px;min-height:0;flex:0 0 auto;accent-color:var(--c-primary)}
.account .deal-new-form .deal-new-choice:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-soft)}
.account .deal-new-kind:has(.deal-new-inline){display:flex;flex-wrap:wrap;gap:8px}
.account .deal-new-kind:has(.deal-new-inline) legend{flex:1 1 100%}
.deal-new-biz{display:flex;align-items:center;gap:8px;margin:0}
.deal-own-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));max-width:640px}
@media(max-width:700px){.dash-tiles{gap:8px}.dash-tiles a{padding:14px 10px}.account .deal-new-row{grid-template-columns:1fr}.dash-cta{display:block}.dash-cta>.account-row-icon{display:none}.dash-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}

.deal-own-pills{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
/* audit 29 (DES29-13): 16 px fields on phones, so iOS does not zoom the login form */
@media(max-width:700px){.member-login input,.member-login select,.member-shell input[type=email],.member-shell input[inputmode=numeric]{font-size:16px}}
/* Owner 06.10.2026: instant ways to confirm a claim first; a neutral waiting hint */
.claim-quick{margin:16px 0 8px;padding:16px 18px;border:1px solid var(--c-primary-line);border-radius:var(--r-md);background:var(--c-primary-soft)}
.claim-quick h3,.claim-manual{margin:0 0 10px;font-size:var(--fs-md)}
.claim-quick ul{margin:0 0 14px;padding-left:4px;list-style:none;display:grid;gap:6px}
.claim-manual{margin-top:24px}
.member-hint{margin:10px 0 12px;padding:10px 14px;border-left:3px solid var(--c-primary-line);background:var(--c-surface-alt);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-ui)}
/* direction-strip.css */
.direction-strip{position:relative;min-width:0;margin:0;border-bottom:1px solid var(--c-line);background:var(--c-surface)}
.direction-scroll{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scroll-padding:24px;scrollbar-width:none;padding:5px 64px 5px 24px}
.direction-scroll::-webkit-scrollbar{display:none}
.direction-scroll a{flex:0 0 auto;display:flex;align-items:center;min-height:32px;box-sizing:border-box;padding:5px 12px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-muted);font-size:var(--fs-sm);line-height:20px;white-space:nowrap}
.direction-scroll a:hover{border-color:#6aa5ca;color:var(--c-primary)}
.direction-scroll a[aria-current]{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary)}
.direction-scroll a:focus-visible,.direction-next:focus-visible{outline:3px solid var(--c-primary);outline-offset:-3px}
.direction-next{position:absolute;right:16px;top:5px;display:grid;place-items:center;width:32px;height:32px;min-height:0;border:1px solid var(--c-line);border-radius:50%;background:var(--c-surface);color:var(--c-primary);box-shadow:-8px 0 12px #ffffffeb;padding:0}
.direction-next:hover{background:var(--c-primary-soft);color:var(--c-primary)}
.direction-next[hidden]{display:none}
@media(max-width:700px){
 .direction-scroll{padding-left:16px;padding-right:48px;scroll-padding-left:16px}
 .direction-scroll a{font-size:var(--fs-xs);padding:5px 10px}
 .direction-next{right:8px}
}
/* breadcrumbs.css */
.site-breadcrumbs{margin:18px 0 22px;color:var(--c-muted);font-size:var(--fs-sm);line-height:1.5;text-align:left}
.site-breadcrumbs ol{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px;margin:0;padding:0;list-style:none}
.site-breadcrumbs li{display:inline-flex;align-items:baseline;gap:9px;min-width:0;max-width:100%;margin:0;padding:0}
.site-breadcrumbs a{color:var(--c-muted);text-decoration:none;padding:5px 0;overflow-wrap:anywhere}
.site-breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}
.site-breadcrumbs a:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:2px}
.site-breadcrumbs [aria-current]{color:var(--c-muted);overflow-wrap:anywhere}
.crumb-chevron{color:var(--c-muted);font-size:var(--fs-md);flex:none}
.catalog-breadcrumbs{margin-top:28px;padding:8px 24px 0;border-top:1px solid var(--c-line)}
.catalog-breadcrumbs .site-breadcrumbs{margin-bottom:10px}
@media(max-width:700px){
 .catalog-breadcrumbs{padding-inline:16px}
}
@media(max-width:700px){
 .site-breadcrumbs{font-size:var(--fs-xs);margin:14px 0 18px}
 .site-breadcrumbs ol{gap:2px 7px}
 .site-breadcrumbs li{gap:7px}
 .site-breadcrumbs li:last-child{display:block}
 .site-breadcrumbs [aria-current]{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
}
.catalog-breadcrumbs.catalog-breadcrumbs-top{margin:0;padding:0;border-top:0}
.catalog-breadcrumbs-top .site-breadcrumbs{margin:0 0 12px}
@media(max-width:700px){
 .catalog-breadcrumbs.catalog-breadcrumbs-top{padding-inline:0}
}
/* Business card: breadcrumbs open the card, above the section tabs (owner request 02.10.2026). */
.profile-breadcrumbs .site-breadcrumbs{margin:0 0 6px}
@media(max-width:700px){
 .profile-breadcrumbs .site-breadcrumbs{margin:0 0 4px}
}
.about-page>.site-breadcrumbs{margin:0 0 16px}
.legal-lang-note{margin:0 0 18px;font-size:var(--fs-base);color:var(--c-muted)}
/* A phone: breadcrumbs stay on one line and scroll sideways (owner 03.10.2026). */
@media(max-width:700px){
 .site-breadcrumbs ol{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap;padding-bottom:2px;margin-right:-16px;padding-right:16px}
 .site-breadcrumbs ol::-webkit-scrollbar{display:none}
 .site-breadcrumbs li{flex:0 0 auto;max-width:none}
 .site-breadcrumbs a,.site-breadcrumbs [aria-current]{overflow-wrap:normal;white-space:nowrap}
}
/* Catalog lists: the breadcrumbs close the page (owner 05.10.2026), in line with the list's side padding. */
.catalog-breadcrumbs.catalog-breadcrumbs-bottom{margin:24px 0 0;padding:6px 28px 4px;border-top:1px solid var(--c-line)}
@media(min-width:1700px){
 .catalog-breadcrumbs.catalog-breadcrumbs-bottom{padding-inline:40px}
}
@media(max-width:1000px){
 .catalog-breadcrumbs.catalog-breadcrumbs-bottom{padding-inline:18px}
}
@media(max-width:700px){
 .catalog-breadcrumbs.catalog-breadcrumbs-bottom{margin-top:16px;padding-inline:16px}
 .directory-layout.map-visible~.catalog-breadcrumbs-bottom{display:none}
}
/* all-directions.css */
.all-directions{position:fixed;inset:0 auto 0 0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0 20px 30px;border:0;background:var(--c-surface);color:var(--c-ink);overflow:auto}
.all-directions-heading{position:sticky;top:0;background:var(--c-surface);z-index:1;display:flex;align-items:center;justify-content:space-between;min-height:78px;border-bottom:1px solid var(--c-line)}
.all-directions-heading h2,.all-directions-heading .dialog-title{font-size:var(--fs-xl);margin:0}
.all-directions-heading button{border:0;background:none;min-width:44px;min-height:44px;display:inline-grid;place-items:center}
.all-directions-trigger{flex-shrink:0;align-self:flex-start;border:2px solid var(--c-primary);border-radius:28px;background:transparent;padding:10px 15px;min-height:44px;font:inherit;font-size:var(--fs-ui);color:var(--c-text);cursor:pointer}
.directory-search-compact>.all-directions-trigger{margin-bottom:16px}
.all-directions details{border-bottom:1px solid #bfc4c7}
.all-directions summary{display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 8px;cursor:pointer;font-size:var(--fs-lg);font-weight:500;list-style:none}
.all-directions summary::-webkit-details-marker{display:none}
.all-directions summary::after{content:'+';margin-left:auto;color:var(--c-primary);font-size:26px}
.all-directions details[open]>summary{background:#b9def8;margin:0 -20px;padding-left:28px;padding-right:28px}
.all-directions details[open]>summary::after{content:'−'}
.all-directions summary img{width:28px;height:28px;object-fit:contain}
.all-directions-links{display:flex;flex-direction:column;padding:8px 10px 18px;gap:0}
.all-directions-links a{padding:12px 4px;min-height:44px;font-size:var(--fs-md);color:var(--c-ink)}
.all-directions-links a:first-child{font-weight:500;border-bottom:1px solid var(--c-line-strong);margin-bottom:8px}
.all-directions-status:empty{display:none}
.all-directions :is(a,button,summary):focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
@media(max-width:700px){
 .all-directions{width:100vw}
}
.catalog-site .categories{align-items:center}
.catalog-site .categories .all-directions-trigger{display:inline-flex;align-items:center;justify-content:center;align-self:center;gap:5px;height:32px;min-height:32px;line-height:1;padding:5px 12px;border-width:1px;font-size:var(--fs-xs);white-space:nowrap;background:var(--c-primary-soft);margin:0}
.directory-search-compact>.all-directions-trigger{padding:7px 13px;min-height:36px;font-size:var(--fs-sm)}
.all-directions-heading h2,.all-directions-heading .dialog-title{line-height:1.3;padding:12px 0;overflow-wrap:anywhere}
.all-directions-heading button{flex-shrink:0;display:inline-grid;place-items:center}
/* A distinct menu control, separate from the white direction chips. */
.all-directions-trigger,.catalog-site .categories .all-directions-trigger,.directory-search-compact>.all-directions-trigger{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--c-navy);color:#fff;border:1px solid var(--c-navy);border-radius:var(--r-md);font-weight:500;box-shadow:0 2px 4px #24285e18}
.catalog-site .categories .all-directions-trigger{margin-right:6px;padding:5px 11px}
.all-directions-trigger svg{flex-shrink:0}
.all-directions-trigger:hover,.catalog-site .categories .all-directions-trigger:hover{background:var(--c-primary-strong);border-color:var(--c-primary-strong)}
.all-directions-trigger:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.catalog-site .categories{overflow:hidden;justify-content:flex-start;gap:8px}
.catalog-site .categories .all-directions-trigger{flex:0 0 auto;margin-right:0}
.catalog-site .categories .category-scroll{display:flex;align-items:center;gap:8px;min-width:0;flex:1;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain}
.catalog-site .categories .category-scroll::-webkit-scrollbar{display:none}
.catalog-site .categories .category-scroll>a{flex:0 0 auto;min-height:32px;box-sizing:border-box}
.all-directions-links a:has(.all-directions-child-icon){display:flex;align-items:center;gap:11px}
.all-directions-child-icon{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:var(--r-md);background:var(--c-primary-soft);font-size:19px}
.all-directions-heading button{color:var(--c-ink);cursor:pointer;display:inline-grid;place-items:center}
/* The category row scrolls sideways: its edge fades, the last chip can still scroll fully into view (UX2-12). */
.catalog-site .categories .category-scroll{padding-right:28px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
/* city-picker.css */
#catalog-search .member-search-form{position:relative;display:flex;flex-direction:column;gap:10px}
#catalog-search .member-search-form>label[hidden]{display:none!important}
#catalog-search .member-search-form>label:first-child{width:100%;flex:auto}
#catalog-search .member-search-form input[name=q]{padding-left:48px}
#catalog-search .member-search-form>.search-submit-icon{position:absolute;top:4px;left:5px;width:44px;min-height:44px;height:44px;padding:10px;background:transparent;color:var(--c-ink);border:0}
#catalog-search .member-search-form>.search-near{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;flex-basis:auto;padding:12px 16px}
.search-near svg{color:var(--c-primary);flex-shrink:0}
.search-near small{font-size:var(--fs-xs);color:var(--c-muted);text-transform:none}
.search-near small:empty{display:none}
.city-picker{position:fixed;inset:0 0 0 auto;margin:0;width:min(560px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;padding:24px;border:0;background:var(--c-surface);color:var(--c-ink);overflow:auto}
.city-picker-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}
.city-picker-heading h2,.city-picker-heading .dialog-title{font-size:var(--fs-h1);margin:0}
.city-picker-heading button{min-width:44px;min-height:44px;border:0;background:none;display:inline-grid;place-items:center}
.city-picker-search{display:block}
.city-picker-search input{width:100%;min-height:50px;padding:12px 18px;border:2px solid var(--c-line);border-radius:30px;font:inherit;font-size:var(--fs-md)}
.city-picker-locate{display:block;padding:14px 8px;margin:10px 0;border:0;background:none;color:var(--c-primary);font:inherit;text-align:left;min-height:44px}
.city-picker-status{font-size:var(--fs-ui);color:var(--c-muted);line-height:1.5}
.city-picker-status:empty{display:none}
.city-picker-option{display:block;position:relative;width:100%;padding:18px 14px 18px 36px;min-height:74px;text-align:left;border:0;border-top:1px solid var(--c-line);background:var(--c-surface);font:inherit;color:var(--c-ink)}
.city-picker-option::before{content:'⌖';position:absolute;left:5px;top:19px;font-size:var(--fs-xl);color:var(--c-primary)}
.city-picker-option span,.city-picker-option small{display:block}
.city-picker-option small{font-size:var(--fs-sm);color:var(--c-muted);margin-top:5px}
.city-picker-option[aria-pressed=true]{background:var(--c-primary-soft)}
.city-picker :is(button,input):focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
@media(max-width:700px){
 .city-picker{width:100vw;padding:24px 18px}
}
/* City rows are a flat list, independent of global pill-button styles. */
#city-picker .city-picker-option{display:flex;align-items:center;gap:18px;min-height:68px;width:100%;margin:0;padding:18px 16px 18px 46px;border:0;border-top:1px solid var(--c-line);border-radius:0;box-shadow:none;background:var(--c-surface);color:var(--c-ink);text-align:left;font:inherit;font-size:var(--fs-md);font-weight:400;line-height:1.4;transform:none}
#city-picker .city-picker-option::before{content:"";position:absolute;left:16px;top:50%;width:19px;height:23px;transform:translateY(-50%);background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='black' stroke-width='1.7' d='M12 22S3 13 3 9a9 9 0 0 1 18 0c0 4-9 13-9 13Z'/%3E%3Ccircle cx='12' cy='9' r='3' fill='none' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center/contain no-repeat;color:inherit}
#city-picker .city-picker-option[aria-pressed=true]{background:var(--c-primary-soft);color:var(--c-primary)}
#city-picker .city-picker-option:hover{background:var(--c-surface-alt)}
#city-picker .city-picker-option:focus-visible{outline:2px solid var(--c-primary);outline-offset:-2px}
#city-picker .city-picker-heading button{border-radius:0;box-shadow:none;color:var(--c-ink);padding:0;background:transparent}
/* Oblast under the city name (owner request 02.10.2026). */
#city-picker .city-picker-option:has(small){flex-direction:column;align-items:flex-start;justify-content:center;gap:2px}
#city-picker .city-picker-option small{display:block;margin:0 0 0 18px;font-size:var(--fs-sm);line-height:1.3;color:var(--c-muted)}
/* The remembered city as an offer on a catalog page without a city (UX2-01, 03.10.2026). */
.city-offer{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 16px;padding:10px 12px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-primary-soft);font-size:var(--fs-ui);line-height:1.4;color:var(--c-ink)}
.city-offer[hidden]{display:none}
.city-offer span{flex:1 1 150px}
.city-offer a,.city-offer button{display:inline-flex;align-items:center;min-height:36px;padding:6px 16px;border-radius:var(--r-pill);font:inherit;font-weight:600;cursor:pointer}
.city-offer a{background:var(--c-primary);color:#fff;text-decoration:none}
.city-offer button{border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-ink)}
.city-offer button:hover{background:var(--c-surface-muted);color:var(--c-ink)}
/* phone-sheet.css */
dialog.phone-sheet{inset:auto 0 0;margin:0 auto;width:100%;max-width:520px;box-sizing:border-box;padding:56px 24px max(32px,env(safe-area-inset-bottom));border:0;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--c-surface);color:var(--c-ink);text-align:center;max-height:90dvh;overflow:auto}
.phone-sheet::backdrop{background:#0008}
.phone-sheet .phone-sheet-close{position:absolute;right:12px;top:8px;width:44px;height:44px;background:none;border:0;color:var(--c-muted);padding:0;display:grid;place-items:center}
.phone-sheet h2{font-size:var(--fs-h3);margin:0 0 12px}
.phone-sheet-message{font-size:var(--fs-base);line-height:1.5;color:var(--c-muted)}
.phone-sheet .phone-sheet-number{font-size:var(--fs-h1);font-weight:600;letter-spacing:.3px;margin:26px 0;color:var(--c-ink);overflow-wrap:anywhere}
.phone-sheet .phone-sheet-dial{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;box-sizing:border-box;padding:14px 18px;border:0;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.phone-sheet :focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
@media(min-width:700px){
 dialog.phone-sheet{inset:0;margin:auto;height:fit-content;border-radius:var(--r-lg);padding:56px 32px 32px}
}
/* site-footer.css */
/* Site footer (owner request 02.10.2026): brand, two link groups, legal row. Replaces the flat link stream. */
footer.site-foot{display:block;margin:0;padding:0 0 26px;border:0;background:none;gap:0;color:var(--c-ink)}
.site-foot-inner{max-width:1240px;margin:0 auto;padding:40px 44px 24px;border-radius:28px;background:var(--c-sky)}
.catalog-site footer.site-foot{margin-top:28px}
.catalog-site .site-foot-inner{max-width:1360px;background:var(--c-surface-muted)}
.site-foot-grid{display:grid;grid-template-columns:minmax(240px,1.5fr) 1fr 1fr;gap:28px 48px;align-items:start}
.site-foot .logo{display:inline-block;font-size:34px;line-height:1;color:var(--c-ink)}
.site-foot-brand p{width:auto;max-width:300px;margin:14px 0 0;font-size:var(--fs-base);line-height:1.5;color:var(--c-text)}
.site-foot-title{width:auto;margin:4px 0 10px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text)}
.catalog-site .site-foot-title{color:var(--c-muted)}
.site-foot-col a{display:block;width:max-content;max-width:100%;padding:6px 0;font-size:var(--fs-base);font-weight:400;line-height:1.35;color:var(--c-ink);text-decoration:none}
.site-foot-col a:hover,.site-foot-legal a:hover{color:var(--c-primary);text-decoration:underline;text-underline-offset:3px}
.site-foot a:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px;border-radius:var(--r-sm)}
.site-foot-legal{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 28px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(22,22,22,.15);font-size:var(--fs-sm);line-height:1.4;color:var(--c-text)}
.site-foot-legal nav{display:flex;flex-wrap:wrap;gap:6px 22px}
.site-foot-legal a{color:var(--c-text);text-decoration:none}
@media(max-width:1000px){
 .site-foot-inner{margin:0 24px}
}
@media(max-width:700px){
 footer.site-foot{padding-bottom:14px}
 .site-foot-inner{margin:0 14px;padding:28px 22px 18px;border-radius:var(--r-lg)}
 .site-foot-grid{grid-template-columns:1fr 1fr;gap:24px 16px}
 .site-foot-brand{grid-column:1/-1}
 .site-foot .logo{font-size:30px}
 .site-foot-brand p{margin-top:10px;font-size:var(--fs-ui)}
 .site-foot-col a{padding:8px 0;font-size:var(--fs-base)}
 .site-foot-legal{flex-direction:column;align-items:flex-start;gap:12px;margin-top:22px;padding-top:16px}
 .site-foot-legal nav{flex-direction:column;gap:0}
 .site-foot-legal nav a{padding:5px 0}
 .site-foot-copy{order:2}
}
/* Scraper trap link (owner request 02.10.2026): never visible, never focusable. */
.hp-link{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* header.css */
/* One header for the portal and the catalog (batch 18, 03.10.2026, №136, UX-07/UX-10): logo, one search entry, the
   five sections, language, menu. Wide screens: everything in one row. Below 1240 px the sections take a second row on
   portal pages; catalog pages keep their category row instead and have the sections in the menu (as before).
   Phones: logo, the search button (the search dialog is the search entry there) and the menu. */
.site-header{position:relative;z-index:1100;display:flex;flex-wrap:nowrap;align-items:center;gap:20px;height:auto;min-height:64px;max-width:none;margin:0;padding:8px 40px;border-bottom:1px solid var(--c-line);background:var(--c-surface);box-sizing:border-box}
.site-header>.logo{flex-shrink:0;font-size:29px;font-weight:700;letter-spacing:-1.5px;line-height:1.1;white-space:nowrap;color:var(--c-ink)}
.site-header>.logo:hover{color:var(--c-ink)}
.site-header .header-search{flex:1 1 320px;min-width:0;max-width:540px;width:auto;margin:0}
.site-header .search{display:flex;align-items:center;gap:0;max-width:none;margin:0;padding:3px;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface)}
.site-header .search:focus-within{border-color:var(--c-primary-line)}
.site-header .search label{display:flex;flex-direction:column;min-width:0;padding:0 12px}
.site-header .search .search-field{flex:1 1 auto}
.site-header .search input{width:100%;padding:6px 0;border:0;background:transparent;font-size:var(--fs-ui);color:var(--c-ink)}
.site-header .header-search .city-field{display:flex;flex-direction:row;align-items:center;flex:0 0 150px;width:150px;padding:0 8px;border:1px solid var(--c-primary-line);border-radius:var(--r-pill);background:var(--c-primary-soft)}
.site-header .header-search .city-field select{width:100%;min-height:30px;padding:0;border:0;background:transparent;font-size:var(--fs-sm);color:var(--c-ink);cursor:pointer}
.site-header .search button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-height:0;margin:0 0 0 4px;padding:0;border:0;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary)}
.site-header .search button:hover{background:var(--c-primary-strong);color:var(--c-on-primary)}
.site-header .portal-nav{display:flex;align-items:center;flex-wrap:nowrap;gap:24px;margin:0 0 0 auto;padding:0;border:0;overflow:visible;font-size:var(--fs-base);font-weight:500;-webkit-mask-image:none;mask-image:none}
.site-header .portal-nav a{position:relative;display:flex;align-items:center;min-height:44px;padding:0;color:var(--c-text);font-weight:500;white-space:nowrap;text-decoration:none}
.site-header .portal-nav a:hover,.site-header .portal-nav a[aria-current=page]{color:var(--c-primary)}
.site-header .portal-nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:2px;border-radius:1px;background:var(--c-primary)}
.site-header .language-switch{flex-shrink:0;margin:0}
.site-header .header-search-button{display:none}
.site-header .account-menu-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--c-primary)}
.site-header .header-search-button:hover,.site-header .account-menu-button:hover{background:var(--c-primary-soft);color:var(--c-primary)}
.site-header :is(a,button,input,select):focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
.site-header .search input:focus-visible,.site-header .header-search .city-field select:focus-visible{outline:0}
.site-header .search:has(input:focus-visible),.site-header .header-search .city-field:has(select:focus-visible){outline:3px solid var(--c-primary);outline-offset:2px}
/* The menu lists the five sections on every page, one per row like the account links below them. */
.account-drawer .drawer-primary{display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;margin:20px 0 0;padding:0 0 12px;border-bottom:1px solid var(--c-line)}
.account-drawer .drawer-primary a{display:flex;align-items:center;min-height:48px;padding:10px 0;font-size:var(--fs-lg);color:var(--c-ink)}
.account-drawer .drawer-primary a[aria-current]{color:var(--c-primary)}
@media(max-width:1239px){
 .site-header{flex-wrap:wrap;row-gap:0;padding:8px 24px}
 .site-header>.logo{order:1}
 .site-header .header-search{order:2;flex:1 1 280px}
 .site-header .language-switch{order:3}
 .site-header .header-search-button{order:4}
 .site-header .account-menu-button{order:5}
 .site-header .portal-nav{order:6;flex:1 1 100%;margin:0;gap:28px}
 .catalog-site .site-header .portal-nav{display:none}
}
@media(max-width:700px){
 .site-header{gap:4px;min-height:56px;padding:6px 12px 0 16px}
 .catalog-site .site-header{padding-bottom:6px}
 .site-header>.logo{margin-right:auto;font-size:25px}
 .site-header .header-search,.site-header .language-switch{display:none}
 .site-header .header-search-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-height:0;margin:0;padding:0;border:0;border-radius:var(--r-md);background:transparent;color:var(--c-primary)}
 .site-header .portal-nav{gap:26px;margin:0 -12px 0 -16px;padding:0 28px 0 16px;overflow-x:auto;scrollbar-width:none;font-size:var(--fs-base);border-top:1px solid var(--c-line);-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}
 .site-header .portal-nav::-webkit-scrollbar{display:none}
 .site-header .portal-nav a{min-height:48px}
 .site-header .portal-nav a[aria-current=page]::after{bottom:0}
}
@media(max-width:359px){.site-header>.logo{font-size:23px}.site-header .portal-nav{gap:20px;font-size:var(--fs-ui)}}

/* Search in the middle of the header (owner request 02.10.2026, «пошук по центру»). From 1240 px the header is three
   columns with equal sides, so the search field sits in the centre of the page. From 1880 px the sections, language and
   menu share the right column (all in one row; the Russian sections fit from 1869 px). 1240–1879 px: the right column
   keeps language and menu, the sections take a centred row of their own on portal pages; catalog pages have the
   category row and keep the sections in the menu, as below 1240 px. Below 1240 px nothing changes (the wrappers are
   display:contents there). */
.site-header .header-end,.site-header .header-tools{display:contents}
@media(min-width:1240px){
 .site-header{display:grid;grid-template-columns:1fr minmax(360px,520px) 1fr;align-items:center;column-gap:24px;row-gap:0}
 .site-header>.logo{grid-column:1;grid-row:1;justify-self:start}
 .site-header .header-search{grid-column:2;grid-row:1;width:100%;max-width:none;flex:none}
 .site-header .header-tools{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:12px}
 .site-header .portal-nav{grid-column:1/-1;grid-row:2;justify-content:center;margin:0;gap:28px}
 .catalog-site .site-header .portal-nav{display:none}
}
@media(min-width:1880px){
 /* Both sides are at least as wide as the sections + language + menu (measured 638 px uk, 659 px ru with the web
    font), so the search narrows (down to 360 px) instead of moving off-centre on 1880–1990 px screens. */
 .site-header{--hdr-side:650px;grid-template-columns:minmax(var(--hdr-side),1fr) minmax(360px,520px) 1fr}
 html[lang="ru"] .site-header{--hdr-side:672px}
 .site-header .header-end{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:20px;min-width:var(--hdr-side);white-space:nowrap}
 .site-header .header-tools{grid-column:auto;grid-row:auto}
 .site-header .portal-nav,.catalog-site .site-header .portal-nav{display:flex;grid-column:auto;grid-row:auto;gap:20px}
}
/* 1240–1879 px: one row again (owner 05.10.2026: «Пошук і меню повинні бути в одну строку як і було до цього») */
@media(min-width:1240px) and (max-width:1879.98px){
 .site-header{display:flex;flex-wrap:nowrap;align-items:center;gap:20px}
 .site-header>.logo,.site-header .header-search,.site-header .header-tools,.site-header .portal-nav{grid-column:auto;grid-row:auto}
 .site-header .header-search{flex:1 1 320px;min-width:220px;max-width:520px;margin:0 auto}
 .site-header .portal-nav,.catalog-site .site-header .portal-nav{display:flex;flex:0 0 auto;margin:0;gap:22px}
 .site-header .header-tools{display:flex;align-items:center;gap:12px;flex:0 0 auto}
}
@media(min-width:1240px) and (max-width:1439.98px){
 .site-header{padding-left:28px;padding-right:28px;gap:16px}
 .site-header .portal-nav,.catalog-site .site-header .portal-nav{gap:18px}
}
/* components.css */
/* Shared components of the design system (batch 18, 03.10.2026): icons, the three button kinds, chips.
   Loaded after the other stylesheets of <head>; colours and sizes come from tokens.css. */

/* Icons: one SVG sprite (static/icons.svg) instead of text glyphs; size follows the text, colour follows currentColor. */
.icon{display:inline-block;flex-shrink:0;width:1em;height:1em;vertical-align:-.125em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.icon-star{fill:currentColor;stroke:none}
.icon-x{stroke-width:2}

/* Buttons. Primary: the one main action of a block. Secondary: other actions. Quiet: actions that read as links.
   One radius, two heights (44 px default, 36 px small); text never smaller than 14 px. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-h);padding:0 20px;border:1px solid transparent;border-radius:var(--r-md);background:none;font:inherit;font-size:var(--fs-ui);font-weight:600;line-height:1.25;text-align:center;text-decoration:none;cursor:pointer;box-sizing:border-box}
a.btn{text-decoration:none}
.btn-primary,a.btn-primary,a.btn-primary:visited{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}
.btn-primary:hover{background:var(--c-primary-strong);border-color:var(--c-primary-strong);color:var(--c-on-primary)}
.btn-secondary,a.btn-secondary{background:var(--c-surface);border-color:var(--c-line-strong);color:var(--c-primary)}
.btn-secondary:hover{background:var(--c-primary-soft);border-color:var(--c-primary-line);color:var(--c-primary)}
.btn-quiet,a.btn-quiet{min-height:var(--control-h-sm);padding:0 4px;background:transparent;border-color:transparent;color:var(--c-primary)}
.btn-quiet:hover{background:transparent;color:var(--c-primary-strong);text-decoration:underline;text-underline-offset:3px}
.btn-sm{min-height:var(--control-h-sm);padding:0 14px}
.btn .icon{width:18px;height:18px}
.btn:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}

/* Close buttons of dialogs and sheets: the same 44 px target with an SVG cross. */
[data-close-dialog] .icon,.auth-sheet-close .icon,.phone-sheet-close .icon,.search-recent button .icon{width:24px;height:24px}

/* Glyphs that became icons */
.filter-open .icon{width:18px;height:18px;margin-right:6px}
.city-picker-locate .icon{width:18px;height:18px;margin-right:6px}
.crumb-chevron .icon{width:14px;height:14px;vertical-align:-1px}
.service-go .icon{width:18px;height:18px}
.profile-rating-score .icon{width:22px;height:22px;color:var(--c-star)}
.rating .icon-star,.feed-rating .icon-star,.discovery-score .icon-star,.facts-top .icon-star,.rating-bar .icon-star{width:14px;height:14px;color:var(--c-star);vertical-align:-2px}
.reviews-empty .icon{width:40px;height:40px;stroke-width:1.5}
.business-socials .icon,.website-link .icon{width:16px;height:16px}
.business-sidebar>.back-link{justify-content:flex-start;gap:6px}
.back-link .icon{width:16px;height:16px;vertical-align:-3px}
.fc-all .icon,.fc-more .icon,.feed-business-bottom .icon,.discovery-sidebar nav .icon,.profile-offers .icon{width:16px;height:16px;margin-left:4px;vertical-align:-3px}

/* Stars (owner 02.10.2026 «поправ зірочки в дизайні»): the score, review and feed stars are drawn with the star of the
   icon set (CSS mask) instead of the ★/☆ font glyphs, which look different on every phone; half stars still work.
   In components.css because the reviews feed of the home page does not load reviews-v2.css. */
.score-stars,.rv-stars-row,.feed-review-stars{--star-shape:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='2.4 2.4 19.2 19.2'%3E%3Cpath d='m12 2.8 2.8 5.8 6.3.9-4.6 4.4 1.1 6.3L12 17.2l-5.6 3 1.1-6.3-4.6-4.4 6.3-.9Z'/%3E%3C/svg%3E")}
.score-stars i,.score-stars i.on,.score-stars i.half,.rv-stars-row i,.rv-stars-row i.on,.rv-stars-row i.half,.feed-review-stars i{display:inline-block;flex:none;width:1em;height:1em;overflow:hidden;color:transparent;font-style:normal;line-height:1;letter-spacing:0;background:#d9dee4;-webkit-background-clip:border-box;background-clip:border-box;-webkit-mask:var(--star-shape) center/contain no-repeat;mask:var(--star-shape) center/contain no-repeat}
.score-stars i.on,.rv-stars-row i.on,.feed-review-stars i.on{background:var(--c-star)}
.score-stars i.half,.rv-stars-row i.half{background:linear-gradient(90deg,var(--c-star) 50%,#d9dee4 50%)}
.business-profile .score-stars{gap:3px;align-items:center}
.rv-stars-row{gap:2px;align-items:center}
.feed-review-rating>span.feed-review-stars{display:inline-flex;gap:3px;align-items:center;font-size:var(--fs-lg);letter-spacing:0}
.brand-card small .icon-star{width:13px;height:13px;color:var(--c-star);vertical-align:-2px}
/* Telegram bot on the site (stage B, 03.10.2026) */
.tg-link{margin-top:12px}
.tg-link span .icon{width:18px;height:18px;margin-right:8px;vertical-align:-3px}
.phone-sheet-telegram{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;box-sizing:border-box;margin:10px 0 0;padding:12px 16px;border:1px solid var(--c-primary);border-radius:var(--r-md);background:var(--c-primary-soft,#e8f0fb);color:var(--c-primary);font-weight:600;font-size:var(--fs-sm);text-decoration:none;text-align:center}
.phone-inline-tg{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--c-primary);font-size:var(--fs-sm);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.contact-ask-note{margin:8px 0 0;font-size:var(--fs-xs);color:var(--c-muted);line-height:1.4}
.review-sent{border-color:var(--c-primary-line);background:var(--c-primary-soft)}.review-sent h2{margin:0 0 6px;font-size:var(--fs-lg)}.review-sent p{margin:0 0 12px}.review-sent .btn .icon{width:18px;height:18px;margin-right:8px}
.tg-panel{display:flex;gap:16px;align-items:flex-start;margin:24px 0;padding:18px 20px;border:1px solid var(--c-primary-line);border-radius:var(--r-lg);background:var(--c-primary-soft)}
.tg-panel>div:first-child{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--c-primary);color:var(--c-on-primary)}
.tg-panel>div:first-child .icon{width:20px;height:20px}
.tg-panel strong{display:block;font-size:var(--fs-md);margin-bottom:4px}
.tg-panel p{margin:0 0 12px;color:var(--c-text);font-size:var(--fs-sm);line-height:1.5}
.drawer-telegram .icon{width:20px;height:20px;margin-right:10px;color:var(--c-primary)}
@media(max-width:700px){.tg-panel{padding:16px}.tg-panel .btn{width:100%}}
/* analytics consent panel (audit 19) */
.consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:500;max-width:560px;margin:0 auto;padding:14px 16px;border:1px solid var(--c-line-strong,#c9d6e6);border-radius:var(--r-md,12px);background:var(--c-surface,#fff);box-shadow:0 8px 24px rgba(16,24,40,.14);font-size:var(--fs-sm,14px);color:var(--c-text,#1b2430)}
.consent p{margin:0 0 10px}.consent a{color:var(--c-primary,#1a66c9)}
.consent-actions{display:flex;gap:10px;flex-wrap:wrap}
.consent-actions button{min-height:40px;padding:8px 16px;border-radius:999px;border:1px solid var(--c-primary,#1a66c9);font:inherit;font-weight:600;cursor:pointer}
.consent-ok{background:var(--c-primary,#1a66c9);color:#fff}.consent-no{background:var(--c-surface,#fff);color:var(--c-primary,#1a66c9)}
.legal-updated{margin:0 0 16px;color:var(--c-muted,#5f6b76);font-size:var(--fs-sm,14px)}
@media(max-width:700px){.consent{left:8px;right:8px;bottom:8px}}
/* growth plan 21 (03.10.2026): the «Топ-5 у Telegram» panel on service × city pages floats at the bottom of a phone screen while the list scrolls, then settles into the flow */
@media(max-width:700px){.tg-panel.tg-sticky{position:sticky;bottom:8px;z-index:300;margin:16px 0;padding:10px 12px;gap:10px;align-items:center;background:var(--c-surface);box-shadow:0 6px 20px rgba(16,24,40,.16)}.tg-panel.tg-sticky>div:first-child{flex-basis:32px;width:32px;height:32px}.tg-panel.tg-sticky>div:first-child .icon{width:16px;height:16px}.tg-panel.tg-sticky>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}.tg-panel.tg-sticky strong{flex:1 1 140px;margin:0;font-size:var(--fs-sm);line-height:1.3}.tg-panel.tg-sticky p{display:none}.tg-panel.tg-sticky .btn{width:auto;flex:none;padding:8px 12px;font-size:var(--fs-sm);min-height:36px}}
/* audit 23: the consent panel above the card's sticky bar on phones, and off the booking widget (right column) on desktop */
@media(max-width:700px){body:has(.profile-mobile-contact) .consent{bottom:calc(84px + env(safe-area-inset-bottom))}}
@media(min-width:701px){.consent{left:16px;right:auto;margin:0;max-width:420px}}
.phone-sheet-more{display:block;margin:10px 0 0;text-align:center;color:var(--c-primary);font-size:var(--fs-sm);text-decoration:underline;text-underline-offset:3px;padding:8px 0}
/* audit 23: home search with a town */
.fc-search .fc-city{display:flex}.fc-search .fc-city select{min-height:50px;padding:0 12px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);font:inherit;font-size:16px;background:var(--c-surface);max-width:220px}
.search-dialog .search-dialog-city{display:block;flex-basis:100%;margin-top:10px}.search-dialog .search-dialog-city select{width:100%;min-height:46px;padding:0 12px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);font-size:16px;background:var(--c-surface)}
@media(max-width:700px){.fc-search .fc-city select{max-width:none;width:100%}}
/* the Telegram login widget: transparent on a light page even when the phone is in dark mode (owner 04.10.2026) */
iframe[id^="telegram-login"]{color-scheme:light dark;background:transparent}
/* «Мої записи» in the cabinet (owner 04.10.2026) */
.mybk-when{margin:4px 0;font-size:var(--fs-lg,18px);font-weight:700}.mybk-when::first-letter{text-transform:uppercase}
.mybk-pill{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:var(--fs-xs,12px);font-weight:600;white-space:nowrap}
.mybk-wait{background:#fff6e0;color:#7a4b00}.mybk-ok{background:#e3f6e9;color:#1f6b3a}.mybk-bad{background:var(--c-danger-soft);color:var(--c-danger)}.mybk-off{background:var(--c-surface-muted,#f2f4f7);color:var(--c-muted,#5f6b76)}
/* booking status page v2 (owner 04.10.2026) */
.bkp{max-width:560px;margin:20px auto 40px;padding:0 16px}
.bkp-card{background:var(--c-surface,#fff);border:1px solid var(--c-line,#e3e8ef);border-radius:var(--r-lg,20px);overflow:hidden;box-shadow:0 6px 24px rgba(16,24,40,.06)}
.bkp-head{display:flex;align-items:center;gap:14px;padding:18px 20px}
.bkp-head h1{margin:0;font-size:var(--fs-xl,22px);line-height:1.2}
.bkp-kicker{margin:0 0 2px;font-size:var(--fs-xs,12px);text-transform:uppercase;letter-spacing:.06em;opacity:.8}
.bkp-icon{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fff;font-size:22px;font-weight:700}
.bkp-icon .icon{width:22px;height:22px}
.bkp-wait{background:#fff6e0;color:#7a4b00}.bkp-wait .bkp-icon{color:#b26b00}
.bkp-ok{background:#e3f6e9;color:#1f6b3a}.bkp-ok .bkp-icon{color:#1f6b3a}
.bkp-bad{background:var(--c-danger-soft);color:var(--c-danger)}.bkp-bad .bkp-icon{color:var(--c-danger)}
.bkp-off{background:var(--c-surface-muted,#f2f4f7);color:var(--c-muted,#5f6b76)}
.bkp-sent{margin:0;padding:12px 20px;background:var(--c-primary-soft,#eef5fd);font-size:var(--fs-sm,14px);border-bottom:1px solid var(--c-line,#e3e8ef)}
.bkp-visit{padding:20px 20px 4px}
.bkp-when{margin:0 0 6px;font-size:26px;font-weight:700;line-height:1.2;color:var(--c-ink,#17222c)}
.bkp-when::first-letter{text-transform:uppercase}
.bkp-proposal{margin:0 0 12px;font-size:var(--fs-md,16px)}
.bkp-place{display:block;margin:12px 0;padding:12px 14px;border-radius:var(--r-md,12px);background:var(--c-surface-alt,#f6f8fb);color:inherit;text-decoration:none}
.bkp-place strong{display:block;font-size:var(--fs-md,16px)}.bkp-place span{display:block;margin-top:2px;font-size:var(--fs-sm,14px);color:var(--c-muted,#5f6b76)}
.bkp-place:hover strong{color:var(--c-primary,#1a66c9)}
.bkp-facts{margin:0;display:grid;gap:6px}.bkp-facts div{display:flex;gap:12px;font-size:var(--fs-sm,14px)}
.bkp-facts dt{min-width:72px;color:var(--c-muted,#5f6b76)}.bkp-facts dd{margin:0;font-weight:600}
.bkp-next{padding:8px 20px 4px}.bkp-next p{margin:8px 0;color:var(--c-text,#2b3640);font-size:var(--fs-sm,14px);line-height:1.5}
.bkp-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0 4px}.bkp-actions form{margin:0;flex:1 1 140px}.bkp-actions .btn{width:100%;min-height:48px}
.bkp-tg{margin:12px 20px 0;padding:14px;border-radius:var(--r-md,12px);background:var(--c-primary-soft,#eef5fd)}
.bkp-tg p{margin:0 0 10px;font-size:var(--fs-sm,14px)}
.bkp-tg-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;box-sizing:border-box;padding:12px 16px;border-radius:var(--r-md,12px);background:var(--c-primary,#1a66c9);color:#fff;font-weight:600;text-decoration:none;text-align:center;line-height:1.25}
.bkp-tg-btn .icon{width:20px;height:20px;flex:none}
.bkp-tg-on{display:flex;align-items:center;gap:8px;margin:12px 20px 0;font-size:var(--fs-sm,14px);color:#1f6b3a}.bkp-tg-on .icon{width:18px;height:18px}
.bkp-call{padding:16px 20px 0}.bkp-label{margin:0 0 8px;font-size:var(--fs-xs,12px);color:var(--c-muted,#5f6b76);text-transform:uppercase;letter-spacing:.06em}
.bkp-call-btn{display:flex;align-items:center;gap:10px;min-height:48px;margin:0 0 8px;padding:0 16px;border:1px solid var(--c-line-strong,#c9d6e6);border-radius:var(--r-md,12px);color:var(--c-ink,#17222c);font-weight:600;text-decoration:none;white-space:nowrap}
.bkp-call-btn svg{color:var(--c-primary,#1a66c9)}.bkp-call-btn:hover{border-color:var(--c-primary,#1a66c9)}
.bkp-foot{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;margin-top:16px;padding:14px 20px 18px;border-top:1px solid var(--c-line,#e3e8ef);font-size:var(--fs-sm,14px)}
.bkp-foot>a{color:var(--c-primary,#1a66c9);font-weight:600;min-height:32px;display:inline-flex;align-items:center}
.bkp-cancel summary{cursor:pointer;color:var(--c-muted,#5f6b76);min-height:32px;display:flex;align-items:center}
.bkp-cancel form{margin:8px 0 0}.bkp-cancel p{margin:0 0 10px}
.bkp-save{margin:12px 4px 0;text-align:center;font-size:var(--fs-xs,12px);color:var(--c-muted,#5f6b76)}
@media(max-width:700px){.bkp{margin-top:12px;padding:0 12px}.bkp-when{font-size:23px}.bkp-head{padding:16px}.bkp-visit,.bkp-next,.bkp-call{padding-left:16px;padding-right:16px}.bkp-tg{margin-left:16px;margin-right:16px}.bkp-foot{padding-left:16px;padding-right:16px}}
/* MGID blocks inserted by its site script (05.10.2026): never squeezed into a grid cell; on a business card after the reviews */
[data-type="_mgwidget"],[data-mg-gpt]{grid-column:1/-1;max-width:100%;box-sizing:border-box;min-width:0}
.business-profile .profile-grid>[data-type="_mgwidget"],.business-profile .profile-grid>[data-mg-gpt]{order:99;grid-row:auto;margin-top:24px}
.dp2-grid>[data-type="_mgwidget"],.dp2-grid>[data-mg-gpt]{grid-area:auto;grid-column:1/-1;order:99}
/* Owner 06.10.2026 (audit 29): no full-screen ad formats; one ad place on the business card (the banner, not the feed) */
[data-widget-id="2091153"],[data-widget-id="2091154"]{display:none!important}
.business-profile [data-widget-id="2091156"]{display:none!important}
