/* 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)}
/* 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}
}
/* editorial-public.css */
/* Editorial pages share the Eastman font, blue accents and restrained rounded surfaces. */
.portal-site{--news-navy:var(--c-primary);--news-blue:var(--c-primary);--news-width:1240px;color:var(--c-ink)}
.portal-site .logo{font-size:30px;font-weight:700}
.portal-site .language-switch>span{font-size:var(--fs-xs);color:var(--c-muted);padding:0 7px}
.portal-site #content{min-height:60vh}
.news-shell{max-width:var(--news-width);margin:auto;padding:0 24px 64px}
.portal-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:46px 0 40px;margin-bottom:32px;border-bottom:1px solid var(--line)}
.portal-intro h1{font-size:clamp(32px,3.5vw,48px);line-height:1.12;letter-spacing:-1.3px;margin:0;max-width:780px}
.portal-intro>p{max-width:270px;font-size:var(--fs-md);line-height:1.6;color:var(--c-muted);margin:0 0 3px}
.home-highlights{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:36px;align-items:start}
.home-highlights:has(>.lead-story:only-child){grid-template-columns:1fr}
.highlight-secondary{display:grid;gap:24px}
.home-highlights>.lead-story{padding:0}
.portal-site .lead-story{padding:0;min-width:0}
.portal-site .lead-copy{padding-top:22px}
.portal-site .lead-story h2{font-size:var(--fs-display);line-height:1.22;letter-spacing:-.65px;margin:14px 0}
.portal-site .lead-story p{font-size:var(--fs-md);line-height:1.65;color:var(--c-text);margin:0 0 22px}
.lead-image,.story-image{display:block;overflow:hidden;border-radius:var(--r-md);background:var(--c-surface-alt)}
.portal-site .lead-cover,.portal-site .story-cover{display:block;aspect-ratio:16/9;width:100%;height:auto;object-fit:cover;margin:0;border-radius:0}
.portal-site .story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 26px;align-items:start}
.portal-site .story{border:0;padding:0;min-width:0;overflow-wrap:anywhere}
.portal-site .story-copy{padding:18px 0 0}
.portal-site .story h2{font-size:var(--fs-h3);font-weight:700;line-height:1.3;letter-spacing:-.3px;margin:12px 0}
.portal-site .story p{font-size:var(--fs-ui);line-height:1.65;color:var(--c-text);margin:0 0 18px}
.portal-site .story-meta{gap:12px;font-size:var(--fs-xs);line-height:1.5;color:var(--c-muted)}
.portal-site .story-meta a{color:var(--news-blue);font-weight:500}
.story-bottom{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px 16px;color:var(--c-muted);font-size:var(--fs-xs);line-height:1.5}
.story-bottom>span:first-child{max-width:70%;overflow-wrap:anywhere}
.portal-site .story-text{background:var(--c-surface-alt);border-radius:var(--r-md);padding:24px;min-height:270px}
.portal-site .story-text .story-copy{padding:0}
.portal-site .story-text h2{margin:22px 0 14px}
.portal-site .lead-text{background:var(--c-surface-alt);border-radius:var(--r-md);padding:32px!important;min-height:360px;display:flex;align-items:center}
.portal-site .lead-text .lead-copy{padding:0}
.highlight-secondary .story{display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.highlight-secondary .story-image{align-self:start}
.highlight-secondary .story-cover{aspect-ratio:1}
.highlight-secondary .story-copy{padding:0}
.highlight-secondary .story h2{font-size:var(--fs-h3);margin:10px 0 12px}
.highlight-secondary .story p{display:none}
.highlight-secondary .story-text{display:block;padding:22px;border:0;min-height:220px}
.home-latest,.home-section{margin-top:56px}
.portal-site .section-line{border-bottom:1px solid var(--line);padding:0 0 18px;margin:0 0 28px;gap:20px}
.portal-site .section-line h2{font-size:var(--fs-h1);letter-spacing:-.45px;line-height:1.2}
.portal-site .section-line>a{font-size:var(--fs-sm);flex-shrink:0;color:var(--news-blue);padding:8px 0}
.caught-up{color:var(--c-muted);font-size:var(--fs-ui)}
.topic-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.topic-link{display:flex;flex-direction:column;align-items:flex-start;padding:28px;border:1px solid var(--line);border-radius:var(--r-md);min-width:0}
.topic-link:hover{color:inherit;border-color:var(--c-primary-line);background:var(--c-surface-alt)}
.topic-symbol{display:grid;place-items:center;width:60px;height:60px;border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--news-blue);margin-bottom:28px}
.topic-symbol svg{width:38px;height:38px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.topic-link h2{font-size:var(--fs-h1);margin:0 0 12px}
.topic-link p{font-size:var(--fs-base);color:var(--c-muted);line-height:1.65;max-width:28ch;margin:0 0 28px}
.topic-open{margin-top:auto;display:flex;width:100%;justify-content:space-between;color:var(--news-blue);font-size:var(--fs-sm)}
.portal-site .editorial-empty{display:flex;align-items:center;gap:26px;background:var(--c-surface-alt);border:1px solid var(--c-line);border-radius:var(--r-md);max-width:none;padding:36px;margin:0}
.portal-site .editorial-empty h2{font-size:var(--fs-h2);letter-spacing:-.3px;margin:0 0 10px}
.portal-site .editorial-empty p{margin:0;color:var(--c-muted);font-size:var(--fs-ui);max-width:52ch}
.empty-mark{color:#aac6dd;font-size:50px;line-height:1;font-weight:700;letter-spacing:-4px;flex-shrink:0}
.portal-site .editorial-empty>a{margin-left:auto;flex-shrink:0;text-decoration:none}
.news-button,.portal-site .editorial-empty>.news-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:var(--news-navy);color:white;border:1px solid var(--news-navy);border-radius:var(--r-md);padding:14px 20px;font-size:var(--fs-ui);font-weight:500;text-decoration:none;line-height:1.4}
.news-button:hover{background:var(--c-primary-strong);color:white}
.news-button.secondary,.portal-site .editorial-empty>.news-button.secondary{background:var(--c-surface);color:var(--news-navy);border-color:var(--c-line)}
.news-button.secondary:hover{border-color:var(--news-blue);color:var(--news-blue)}
.catalog-banner{display:flex;justify-content:space-between;align-items:center;gap:35px;padding:36px;margin-top:60px;border-radius:var(--r-md);background:var(--c-primary-soft)}
.catalog-banner h2{font-size:var(--fs-h1);margin:0 0 12px}
.catalog-banner p{color:var(--c-muted);font-size:var(--fs-base);margin:0 0 20px}
.catalog-banner>.news-button{flex-shrink:0}
.catalog-banner .catalog-shortcuts{gap:8px}
.catalog-banner .catalog-shortcuts a{font-size:var(--fs-xs);background:transparent;border-color:var(--c-line);padding:6px 12px}
.portal-site .section-intro{padding:32px 0 30px;background:var(--c-surface)}
.portal-site .breadcrumb{font-size:var(--fs-xs);gap:10px;color:var(--c-muted);margin:0 0 26px}
.portal-site .breadcrumb a{text-decoration:none}
.portal-site .breadcrumb a:hover{text-decoration:underline}
.portal-site .section-intro h1{font-size:48px;margin:0 0 14px;letter-spacing:-1px}
.portal-site .section-intro>p{max-width:670px;font-size:var(--fs-md);color:var(--c-muted);line-height:1.6}
.news-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 24px;margin-bottom:32px}
.news-tabs a{display:block;padding:11px 21px;border:1px solid var(--line);border-radius:var(--r-lg);font-size:var(--fs-sm);line-height:1.5}
.news-tabs a[aria-current]{background:var(--news-navy);border-color:var(--news-navy);color:white}
.news-tabs a:hover{border-color:var(--news-blue)}
.portal-site .news-list{padding:0;max-width:none;min-height:280px}
.section-feature{margin-bottom:38px}
.section-feature .lead-story{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;background:var(--c-surface-alt);border-radius:var(--r-md);overflow:hidden}
.section-feature .lead-image{border-radius:0;align-self:stretch}
.section-feature .lead-cover{height:100%;min-height:320px}
.section-feature .lead-copy{padding:30px}
.section-feature .lead-story h2{font-size:var(--fs-h1)}
.section-feature .lead-text{display:block;min-height:260px}
.section-feature .lead-text .lead-copy{max-width:900px;padding:0}
.portal-site .pagination{margin:46px 0 10px;gap:16px}
.portal-site .pagination a{border-radius:var(--r-md);min-height:44px;padding:11px 18px;color:var(--news-navy)}
.portal-site .article-page{max-width:1120px;padding:32px 24px 50px;margin:auto}
.portal-site .article-heading{border:0;padding:6px 0 32px;max-width:940px}
.portal-site .article-heading h1{font-size:clamp(32px,4vw,50px);line-height:1.18;letter-spacing:-1px;margin:18px 0 22px;text-wrap:pretty}
.portal-site .article-summary{font-size:var(--fs-xl);line-height:1.6;color:var(--c-text);max-width:780px;margin:0 0 28px}
.portal-site .byline{display:flex;gap:12px;align-items:center;font-size:var(--fs-sm);margin:0}
.byline-initial{display:grid;place-items:center;width:42px;height:42px;background:var(--c-primary-soft);border-radius:50%;color:var(--news-blue)!important;font-size:17px;font-weight:500}
.portal-site .byline a{color:var(--news-blue)}
.reading-time{display:block;font-size:var(--fs-xs);color:var(--c-muted);margin-top:4px}
.portal-site .article-cover{margin:0 0 38px;max-width:none}
.portal-site .article-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-md)}
.article-reading-layout{display:grid;grid-template-columns:minmax(0,740px) minmax(160px,1fr);gap:54px;align-items:start}
.portal-site .article-body{margin:0;max-width:740px;font-size:var(--fs-lg);line-height:1.85;overflow-wrap:anywhere}
.portal-site .article-body>p{margin:0 0 25px;white-space:pre-line}
.portal-site .article-body h2{font-size:var(--fs-h1);line-height:1.3;letter-spacing:-.3px;margin:38px 0 18px;scroll-margin-top:24px}
.portal-site .article-body>h2:first-child{margin-top:0}
.article-contents{position:sticky;top:28px;border-left:1px solid var(--line);padding:0 0 0 22px}
.article-contents summary{font-size:var(--fs-ui);font-weight:500;cursor:pointer;padding:0 0 15px}
.article-contents nav{display:flex;flex-direction:column;gap:15px}
.article-contents a{font-size:var(--fs-xs);color:var(--c-muted);line-height:1.6;overflow-wrap:anywhere}
.article-contents a:hover{color:var(--news-blue)}
.portal-site .sources{margin-top:40px;padding-top:4px;font-size:var(--fs-ui)}
.portal-site .sources h2{font-size:var(--fs-h3);margin:24px 0 16px}
.sources ul{padding:0;list-style:none}
.sources li{margin-bottom:10px}
.portal-site .sources a{color:var(--news-blue);text-decoration:none}
.portal-site .sources a:hover{text-decoration:underline}
.article-back{display:inline-block;margin-top:22px;font-size:var(--fs-ui);color:var(--news-blue);border:1px solid var(--line);border-radius:var(--r-md);padding:12px 18px}
.portal-site .related{max-width:var(--news-width);padding:12px 24px 70px;margin:auto}
.author-page{max-width:var(--news-width);margin:auto;padding:32px 24px 64px}
.author-heading{display:flex;gap:26px;align-items:flex-start;margin:35px 0 50px;max-width:800px}
.author-monogram{width:90px;height:90px;display:grid;place-items:center;background:var(--c-primary-soft);color:var(--news-blue);border-radius:50%;font-size:var(--fs-display-lg);flex-shrink:0}
.author-heading h1{margin:5px 0 15px}
.author-bio{font-size:var(--fs-md);line-height:1.7;white-space:pre-line}
.preview-banner{padding:16px 24px;background:#fff1cc;color:#715622;display:flex;justify-content:center;gap:25px;flex-wrap:wrap;font-size:var(--fs-sm)}
.portal-site .news-footer{display:grid;grid-template-columns:1fr auto;gap:24px 50px;padding:38px max(24px,calc((100% - var(--news-width))/2));background:var(--c-surface-alt);border-top:1px solid var(--line)}
.news-footer .footer-brand p{color:var(--c-muted);font-size:var(--fs-sm);margin:16px 0 0;max-width:290px}
.news-footer nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:var(--fs-sm)}
.news-footer .footer-note{grid-column:1/-1;font-size:var(--fs-xs);color:var(--c-muted);margin:0;padding-top:24px;border-top:1px solid var(--line)}
@media(min-width:1400px){
 .news-shell{padding-left:0;padding-right:0}
}
@media(max-width:1000px){
 .portal-site .logo{font-size:27px}
 .portal-intro{gap:30px}
 .portal-intro h1{font-size:var(--fs-display-lg)}
 .portal-intro>p{max-width:220px;font-size:var(--fs-ui)}
 .home-highlights{gap:26px;grid-template-columns:1.4fr 1fr}
 .highlight-secondary .story{grid-template-columns:1fr}
 .highlight-secondary .story-image{display:none}
 .highlight-secondary .story h2{font-size:var(--fs-h3)}
 .portal-site .story-grid{gap:30px 22px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .portal-site .story h2{font-size:var(--fs-h3)}
 .section-feature .lead-copy{padding:25px}
 .section-feature .lead-story h2{font-size:var(--fs-h2)}
 .article-reading-layout{gap:30px;grid-template-columns:minmax(0,1fr) 190px}
 .portal-site .editorial-empty{padding:28px;gap:20px;flex-wrap:wrap}
 .topic-link{padding:24px}
 .topic-link h2{font-size:var(--fs-h2)}
 .topic-link p{font-size:var(--fs-ui)}
 .news-footer nav{gap:20px}
}
@media(max-width:700px){
 .news-shell{padding:0 20px 40px}
 .portal-intro{display:block;padding:30px 0 26px;margin-bottom:26px}
 .portal-intro h1{font-size:var(--fs-display);letter-spacing:-.75px}
 .portal-intro>p{max-width:32ch;margin:18px 0 0;font-size:var(--fs-ui)}
 .home-highlights{grid-template-columns:1fr;gap:28px}
 .portal-site .lead-story h2{font-size:var(--fs-h1);letter-spacing:-.4px;margin:12px 0}
 .portal-site .lead-copy{padding-top:18px}
 .portal-site .lead-story p{font-size:var(--fs-base);margin-bottom:18px}
 .highlight-secondary{gap:20px}
 .highlight-secondary .story{display:block;padding:0 0 22px}
 .highlight-secondary .story h2{font-size:var(--fs-h3)}
 .highlight-secondary .story-text{padding:22px;border:0;min-height:0}
 .portal-site .story-grid{grid-template-columns:1fr;gap:30px}
 .portal-site .story h2{font-size:var(--fs-h3)}
 .portal-site .story p{font-size:var(--fs-base)}
 .portal-site .story-copy{padding-top:16px}
 .portal-site .story-text{padding:24px;min-height:0}
 .portal-site .lead-text{padding:26px!important;min-height:0}
 .story-bottom{font-size:var(--fs-xs)}
 .home-latest,.home-section{margin-top:38px}
 .portal-site .section-line{margin-bottom:24px;padding-bottom:13px;gap:12px}
 .portal-site .section-line h2{font-size:var(--fs-h2)}
 .portal-site .section-line>a{font-size:var(--fs-xs)}
 .topic-directory{grid-template-columns:1fr;gap:12px}
 .topic-link{display:grid;grid-template-columns:52px 1fr;gap:8px 18px;padding:22px}
 .topic-symbol{width:52px;height:52px;border-radius:var(--r-md);grid-row:1/3;margin:0}
 .topic-link h2{font-size:var(--fs-h2);margin:0}
 .topic-link p{grid-column:2;margin:0;max-width:none;font-size:var(--fs-ui)}
 .topic-open{grid-column:2;margin-top:8px;font-size:var(--fs-xs)}
 .portal-site .editorial-empty{display:grid;grid-template-columns:1fr;padding:26px;gap:22px}
 .empty-mark{font-size:var(--fs-display-lg)}
 .portal-site .editorial-empty h2{font-size:var(--fs-h3);line-height:1.25}
 .portal-site .editorial-empty>a{margin:0;justify-self:start}
 .catalog-banner{display:block;padding:26px;margin-top:40px}
 .catalog-banner h2{font-size:var(--fs-h2)}
 .catalog-banner>.news-button{margin-top:26px}
 .catalog-banner p{font-size:var(--fs-ui)}
 .portal-site .section-intro{padding:26px 0 24px}
 .portal-site .breadcrumb{margin-bottom:22px;font-size:var(--fs-xs)}
 .portal-site .section-intro h1{font-size:var(--fs-display-md)}
 .portal-site .section-intro>p{font-size:var(--fs-base)}
 .news-tabs{gap:8px;padding-bottom:24px;margin-bottom:26px}
 .news-tabs a{padding:10px 15px;font-size:var(--fs-xs)}
 .portal-site .news-list{min-height:300px}
 .section-feature{margin-bottom:30px}
 .section-feature .lead-story{display:block}
 .section-feature .lead-cover{min-height:0;height:auto}
 .section-feature .lead-copy{padding:24px}
 .section-feature .lead-story h2{font-size:var(--fs-h2)}
 .section-feature .lead-text .lead-copy{padding:0}
 .portal-site .pagination{gap:10px}
 .portal-site .pagination a{font-size:var(--fs-xs);padding:11px 13px}
 .portal-site .article-page{padding:24px 20px 36px}
 .portal-site .article-heading{padding:4px 0 26px}
 .portal-site .article-heading h1{font-size:var(--fs-display);line-height:1.2;letter-spacing:-.65px;margin:16px 0 20px}
 .portal-site .article-summary{font-size:var(--fs-lg);line-height:1.65;margin:0 0 24px}
 .portal-site .article-cover{margin:0 0 28px}
 .portal-site .article-cover img{border-radius:var(--r-md)}
 .article-reading-layout{display:flex;flex-direction:column;gap:28px}
 .article-contents{order:-1;position:static;border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;width:100%}
 .article-contents summary{font-size:var(--fs-ui);padding:0}
 .article-contents nav{gap:12px;padding-top:16px}
 .article-contents a{font-size:var(--fs-sm)}
 .portal-site .article-body{font-size:var(--fs-md);line-height:1.85;width:100%}
 .portal-site .article-body h2{font-size:var(--fs-h2);margin:30px 0 16px}
 .portal-site .article-body>p{margin-bottom:22px}
 .portal-site .related{padding:0 20px 44px}
 .portal-site .sources h2{font-size:var(--fs-h3)}
 .author-page{padding:24px 20px 44px}
 .author-heading{gap:16px;margin:25px 0 35px}
 .author-monogram{width:55px;height:55px;font-size:var(--fs-h1)}
 .author-heading h1{font-size:var(--fs-h1)}
 .author-bio{font-size:var(--fs-base)}
 .preview-banner{gap:6px;padding:12px 16px}
 .portal-site .news-footer{grid-template-columns:1fr;padding:30px 20px;gap:25px}
 .news-footer nav{gap:20px 24px;font-size:var(--fs-sm)}
 .news-footer .footer-brand p{margin-top:14px}
 .news-footer .footer-note{padding-top:20px}
}
@media(max-width:359px){
 .news-shell{padding-left:16px;padding-right:16px}
 .portal-intro h1{font-size:var(--fs-h1)}
 .topic-link{padding:20px;gap:8px 12px;grid-template-columns:40px 1fr}
 .topic-symbol{width:40px;height:40px}
 .topic-symbol svg{width:30px;height:30px}
 .topic-link h2{font-size:var(--fs-h3)}
 .topic-link p{font-size:var(--fs-sm)}
 .portal-site .section-line h2{font-size:var(--fs-h3)}
 .news-tabs a{padding:9px 12px}
 .portal-site .article-heading h1{font-size:var(--fs-h1)}
 .portal-site .article-page{padding-left:16px;padding-right:16px}
 .portal-site .editorial-empty{padding:22px}
}
.catalog-banner>.news-button span{color:inherit}
@media(max-width:700px){
 .home-section .story-grid{gap:20px}
 .home-section .story{display:grid;grid-template-columns:90px minmax(0,1fr);gap:16px;padding-bottom:20px;border-bottom:1px solid var(--line)}
 .home-section .story-image{align-self:start;border-radius:var(--r-md)}
 .home-section .story-cover{aspect-ratio:1}
 .home-section .story-copy{padding:0}
 .home-section .story h2{font-size:var(--fs-lg);line-height:1.35;margin:10px 0}
 .home-section .story p{display:none}
 .home-section .story-bottom>span:first-child{display:none}
 .home-section .story-text{display:block;padding:20px;border:0}
 .home-section .story-text .story-copy{padding:0}
}
.portal-site .section-line h2 a{font:inherit;color:inherit}
.portal-site .section-line h2 a:hover{color:var(--news-blue)}
/* feed.css */
.feed-shell{padding-bottom:64px}
.feed-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:38px 0 30px}
.feed-heading h1{font-size:var(--fs-display-lg);letter-spacing:-.8px;margin:0 0 10px}
.feed-heading p{font-size:var(--fs-base);color:var(--c-muted);margin:0}
.feed-catalog-link{font-size:var(--fs-sm);color:var(--c-primary)}
.feed-layout{display:grid;grid-template-columns:minmax(0,820px) minmax(230px,1fr);gap:44px;align-items:start}
.feed-main{min-width:0}
.feed-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:22px;background:var(--c-surface);position:sticky;top:0;z-index:5}
.feed-tabs a{padding:16px 3px;font-size:var(--fs-base);font-weight:500;border-bottom:3px solid transparent}
.feed-tabs a[aria-current]{border-color:var(--c-primary);color:var(--c-primary)}
.feed-demo-notice{font-size:var(--fs-xs);line-height:1.6;color:var(--c-muted);margin:0 0 24px;max-width:640px}
.mixed-feed{display:grid;gap:24px}
.feed-news{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:var(--c-surface)}
.feed-news .story{display:grid;grid-template-columns:minmax(170px,31%) minmax(0,1fr);gap:24px;padding:24px!important;background:var(--c-surface);min-height:0;border-radius:0}
.feed-news .story-image{align-self:start;border-radius:var(--r-md)}
.feed-news .story-cover{aspect-ratio:4/3}
.feed-news .story-copy{padding:0!important}
.feed-news .story h2{font-size:var(--fs-h2);line-height:1.28;margin:12px 0}
.feed-news .story p{font-size:var(--fs-ui);line-height:1.65;margin-bottom:16px}
.feed-news .story-text{display:block}
.feed-news-featured .story{display:block;padding:0!important}
.feed-news-featured .story-image{border-radius:0}
.feed-news-featured .story-copy{padding:26px!important}
.feed-news-featured .story h2{font-size:var(--fs-h1);letter-spacing:-.5px}
.feed-news-featured .story p{font-size:var(--fs-md);max-width:65ch}
.feed-news-featured .story-cover{aspect-ratio:16/8}
.feed-news-featured .demo-art{aspect-ratio:16/8}
.feed-business{border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-alt);padding:24px}
.business-feed-label{display:flex;justify-content:space-between;gap:20px;font-size:var(--fs-xs);color:var(--c-muted);margin-bottom:22px}
.business-feed-label>span:first-child{color:var(--c-primary)}
.feed-business-main{display:flex;gap:22px;align-items:center}
.feed-business-main img{display:block;width:96px;height:96px;object-fit:cover;border-radius:var(--r-md);flex-shrink:0}
.feed-business-main>div{min-width:0}
.feed-business-main .feed-business-title{font-size:var(--fs-h2);line-height:1.3;margin:0 0 9px;overflow-wrap:break-word;hyphens:auto}  /* audit 29: no breaks inside a word */
.feed-business-main p{font-size:var(--fs-ui);color:var(--c-muted);margin:0;overflow-wrap:anywhere}
.feed-business-main .feed-rating{display:flex;gap:12px;align-items:center;margin-top:12px;font-size:var(--fs-xs)}
.feed-rating>span:first-child{font-weight:500;color:var(--c-primary);background:var(--c-primary-soft);border-radius:var(--r-sm);padding:3px 7px}
.feed-business-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:20px;margin-top:22px;border-top:1px solid var(--c-line);font-size:var(--fs-xs)}
.feed-business-bottom>span{color:var(--c-muted)}
.feed-business-bottom>a{color:var(--c-primary);font-weight:500;padding:8px 0}
.feed-sidebar{position:sticky;top:28px;padding-top:12px}
.feed-sidebar>section{margin-bottom:28px;border:1px solid var(--line);padding:24px;border-radius:var(--r-md)}
.feed-sidebar h2{font-size:var(--fs-h3);margin:0 0 16px;letter-spacing:-.25px}
.feed-sidebar nav{display:flex;flex-direction:column}
.feed-sidebar nav a{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:var(--fs-ui)}
.feed-sidebar nav a:last-child{border:0}
.feed-sidebar nav a>span:last-child{color:var(--c-primary)}
.feed-sidebar .feed-directory{background:var(--c-surface-alt);border:0}
.feed-sidebar p{font-size:var(--fs-ui);line-height:1.7;color:var(--c-muted)}
.feed-category-links{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}
.feed-category-links a{padding:6px 11px;border:1px solid var(--c-line);border-radius:var(--r-lg);font-size:var(--fs-xs);background:var(--c-surface)}
.feed-directory .news-button{display:flex;font-size:var(--fs-sm);padding:12px}
.feed-sidebar .feed-sidebar-note{font-size:var(--fs-xs);line-height:1.7;padding:0 5px;max-width:32ch}
.demo-badge{font-size:var(--fs-xs);line-height:1.5;color:#7b652d;background:#fff5dc;border:1px solid #f0e3bd;border-radius:var(--r-sm);padding:2px 5px}
.article-demo-notice{padding:12px 16px;background:#fff7e6;border:1px solid #f0e3bd;border-radius:var(--r-md);color:#715b2b;font-size:var(--fs-sm);line-height:1.6;margin:0 0 22px}
.demo-art{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--c-primary-soft);color:var(--c-primary)}
.demo-art svg{display:block;width:100%;height:100%}
.demo-art>span{position:absolute;bottom:16px;left:20px;color:currentColor;font-size:var(--fs-sm);font-weight:500}
.demo-art .art-soft{fill:#b9d5ed}
.demo-art .art-strong{fill:#357bbb}
.demo-art-technology{background:var(--c-surface-muted);color:#626599}
.demo-art-technology .art-soft{fill:#c5c6e3}
.demo-art-technology .art-strong{fill:#555d96}
.demo-art-ai{background:var(--c-surface-alt);color:#477e71}
.demo-art-ai .art-soft{fill:#b5d9cb}
.demo-art-ai .art-strong{fill:#428b77}
.article-cover .demo-art{border-radius:var(--r-md)}
.section-feature .lead-image .demo-art{height:100%;min-height:320px}
.feed-news:not(.feed-news-featured) .demo-art{aspect-ratio:4/3}
.feed-news:not(.feed-news-featured) .demo-art>span{display:none}
@media(max-width:1000px){
 .feed-layout{grid-template-columns:minmax(0,1fr) 240px;gap:26px}
 .feed-sidebar>section{padding:20px}
 .feed-news .story{grid-template-columns:1fr;padding:24px!important}
 .feed-news .story-image{max-width:none}
 .feed-news .demo-art{aspect-ratio:16/9!important}
 .feed-news-featured .story{padding:0!important}
 .feed-news-featured .story h2{font-size:var(--fs-h1)}
 .feed-business-bottom{align-items:flex-start;flex-direction:column;gap:4px}
}
@media(max-width:700px){
 .feed-heading{display:block;padding:28px 0 18px}
 .feed-heading h1{font-size:var(--fs-h1);letter-spacing:-.5px}
 .feed-heading p{font-size:var(--fs-ui)}
 .feed-catalog-link{display:none}
 .feed-layout{display:block}
 .feed-tabs{gap:28px;margin-bottom:18px}
 .feed-tabs a{font-size:var(--fs-ui);padding:14px 3px}
 .feed-demo-notice{font-size:var(--fs-xs);margin-bottom:20px}
 .mixed-feed{gap:20px}
 .feed-news .story{padding:20px!important;gap:18px}
 .feed-news .story h2{font-size:var(--fs-h3)}
 .feed-news .story p{font-size:var(--fs-ui)}
 .feed-news-featured .story{padding:0!important}
 .feed-news-featured .story-copy{padding:22px!important}
 .feed-news-featured .story h2{font-size:var(--fs-h1);line-height:1.25}
 .feed-news-featured .story p{font-size:var(--fs-base)}
 .feed-business{padding:20px}
 .business-feed-label{margin-bottom:18px;gap:10px;font-size:var(--fs-xs)}
 .feed-business-main{gap:15px;align-items:flex-start}
 .feed-business-main img{width:70px;height:70px;border-radius:var(--r-md)}
 .feed-business-main .feed-business-title{font-size:var(--fs-h3)}
 .feed-business-main p{font-size:var(--fs-sm)}
 .feed-business-main .feed-rating{flex-wrap:wrap;gap:7px;font-size:var(--fs-xs)}
 .feed-business-bottom{margin-top:18px;padding-top:14px}
 .feed-business-bottom>a{font-size:var(--fs-sm)}
 .feed-sidebar{position:static;padding-top:40px}
 .feed-sidebar>section{padding:24px}
 .feed-sidebar .feed-sidebar-note{max-width:none}
 .demo-art>span{font-size:var(--fs-xs);bottom:12px;left:16px}
 .section-feature .lead-image .demo-art{min-height:0}
 .feed-shell{padding-bottom:40px}
}
@media(max-width:359px){
 .feed-heading h1{font-size:var(--fs-h1)}
 .feed-news-featured .story h2{font-size:var(--fs-h2)}
 .feed-news .story{padding:18px!important}
 .feed-news-featured .story{padding:0!important}
 .feed-news-featured .story-copy{padding:20px!important}
 .feed-business-main{flex-direction:column}
 .feed-business-main img{width:74px;height:74px}
}
.discovery-city{min-width:290px}
.discovery-city>label{display:block;font-size:var(--fs-xs);color:var(--c-muted);margin-bottom:7px}
.discovery-city>div{display:flex;gap:8px}
.discovery-city select{width:220px;border:1px solid var(--c-line);border-radius:var(--r-md);padding:11px 12px;font-size:var(--fs-ui);min-height:44px}
.discovery-city button{background:var(--c-primary);border-radius:var(--r-md);padding:10px 16px;font-size:var(--fs-sm)}
.business-picks{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.business-picks a{padding:8px 13px;border:1px solid var(--line);border-radius:var(--r-pill);font-size:var(--fs-xs);min-height:36px}
.business-picks a[aria-current]{background:var(--c-primary-soft);color:var(--c-primary);border-color:var(--c-primary-line)}
.discovery-explanation{font-size:var(--fs-xs);color:var(--c-muted);line-height:1.7;margin:0 0 20px}
.discovery-explanation strong{font-weight:500}
.discovery-sidebar{position:static}
.discovery-group-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.discovery-group-heading h2{font-size:var(--fs-h3);margin:0}
.discovery-group-heading>a{font-size:var(--fs-xs);color:var(--c-primary);padding:7px 0}
.feed-sidebar .discovery-caption{font-size:var(--fs-xs);margin:4px 0 15px}
.discovery-mini{display:flex;align-items:flex-start;gap:12px;padding:16px 0!important;justify-content:flex-start!important;border-bottom:1px solid var(--c-line)}
.discovery-mini:last-child{border:0;padding-bottom:0!important}
.discovery-mini img,.discovery-initial{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0}
.discovery-initial{display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary)!important;font-size:23px}
.discovery-mini>span:last-child{min-width:0;flex:1;color:inherit}
.discovery-mini strong{display:block;font-size:var(--fs-ui);line-height:1.35;font-weight:500;overflow-wrap:anywhere}
.discovery-mini small{display:block;font-size:var(--fs-xs);color:var(--c-muted);margin-top:5px}
.discovery-mini .discovery-score{color:var(--c-primary)}
.feed-sidebar .discovery-empty{font-size:var(--fs-sm);line-height:1.7;margin:15px 0 0}
.feed-sidebar .discovery-premium{background:#fffcf4;border-color:#e9dfc5}
.feed-business.is-premium{background:#fffcf4;border-color:#e9dfc5}
.feed-business.is-premium .business-feed-label>span:first-child{color:#8d6c22}
.feed-business-initial{width:96px;height:96px;flex-shrink:0;background:var(--c-primary-soft);color:var(--c-primary);border-radius:var(--r-md);display:grid;place-items:center;font-size:42px}
.feed-business-main .feed-added{font-size:var(--fs-xs);color:var(--c-muted);margin-top:10px}
.discovery-catalog{width:100%}
.discovery-sidebar>.news-button span{color:inherit}
@media(max-width:1000px){
 .feed-heading{gap:20px}
 .discovery-city{min-width:230px}
 .discovery-city select{width:165px}
 .discovery-group-heading h2{font-size:var(--fs-xl)}
 .discovery-mini{gap:9px}
 .discovery-mini img,.discovery-initial{width:40px;height:40px}
 .discovery-mini strong{font-size:var(--fs-sm)}
}
@media(max-width:700px){
 .discovery-city{margin-top:22px;min-width:0}
 .discovery-city>div{width:100%}
 .discovery-city select{flex:1;min-width:0;width:100%;font-size:var(--fs-ui)}
 .discovery-city button{padding:11px 18px}
 .business-picks a{padding:9px 12px;font-size:var(--fs-xs)}
 .discovery-explanation{font-size:var(--fs-xs)}
 .feed-business-initial{width:70px;height:70px;font-size:32px}
 .discovery-group-heading h2{font-size:var(--fs-h3)}
 .discovery-mini img,.discovery-initial{width:48px;height:48px}
 .discovery-mini strong{font-size:var(--fs-base)}
 .discovery-sidebar{padding-top:30px}
}
/* about-inspired.css */
/* About us: Eastman medium, sky-blue sections, quiet grey canvas. */
.portal-site{--about-sky:#9ed5f7;--about-grey:#f3f3f3;--about-ink:#161616;--about-muted:#59636a;background:var(--c-surface);color:var(--about-ink)}
.portal-site h1,.portal-site h2,.portal-site h3{font-weight:500}
.portal-site .story h2 a,.portal-site .lead-story h2 a{font-weight:500}
.portal-site a:focus-visible,.portal-site button:focus-visible,.portal-site select:focus-visible,.portal-site summary:focus-visible{outline:3px solid var(--c-primary);outline-offset:4px}
.portal-site .feed-shell{padding-top:14px}
.portal-site .about-hero{position:relative;display:grid;grid-template-columns:1fr .85fr;align-items:center;gap:40px;min-height:320px;padding:36px 64px;margin:0 0 36px;background:var(--about-sky);border-radius:30px;overflow:hidden}
.portal-site .about-hero h1{font-size:var(--fs-display-lg);line-height:1.17;letter-spacing:-.8px;max-width:15ch;margin:0 0 20px}
.about-sticker{display:inline-block;transform:rotate(-6deg);background:var(--c-primary);color:white;border-radius:var(--r-lg);padding:10px 19px;font-size:var(--fs-sm);line-height:1.4;margin:0 0 22px 32px}
.portal-site .about-hero p{color:var(--c-text);font-size:var(--fs-base);line-height:1.65;max-width:32ch;margin:0}
.about-hero-art{display:block;width:100%;height:auto;max-height:245px;object-fit:contain;border-radius:var(--r-lg)}
.portal-site .feed-layout{grid-template-columns:minmax(0,850px) minmax(240px,1fr);gap:30px;background:var(--about-grey);border-radius:28px;padding:28px;align-items:start}
.portal-site .feed-tabs{position:static;display:flex;flex-wrap:nowrap;gap:30px;border:0;border-bottom:1px solid var(--c-line-strong);padding:0;background:transparent;margin:0 0 22px}
.portal-site .feed-tabs a{position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:52px;padding:14px 3px;border:0;border-radius:0;background:transparent;color:var(--c-text);font-size:var(--fs-base);font-weight:400;line-height:1.4;white-space:nowrap}
.portal-site .feed-tabs a[aria-current]{background:transparent;color:var(--c-primary);font-weight:500}
.portal-site .feed-tabs a[aria-current]::after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;background:var(--c-primary)}
.portal-site .feed-tabs a:hover:not([aria-current]){color:var(--c-primary)}
.feed-tab-short{display:none}
.portal-site .feed-demo-notice,.feed-section-note{color:var(--about-muted);font-size:var(--fs-xs);line-height:1.6;margin:0 0 22px;max-width:70ch}
.portal-site .mixed-feed{gap:18px}
.feed-ad{min-width:0;padding:10px 0;background:transparent}
.feed-ad-label{display:block;margin:0 0 8px;font-size:var(--fs-xs);color:var(--c-muted)}
.feed-ad-placeholder{display:grid;place-items:center;aspect-ratio:3/1;padding:24px;border:1px dashed var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface-muted);text-align:center}
.feed-ad-placeholder>span{font-size:var(--fs-lg);font-weight:400;color:var(--c-muted)}
@media(max-width:700px){
 .feed-ad-placeholder{aspect-ratio:2/1;padding:20px}
 .feed-ad-placeholder>span{font-size:var(--fs-md);max-width:22ch}
}
.portal-site .feed-news{background:var(--c-surface);border:0;border-radius:var(--r-lg);overflow:hidden}
.portal-site .feed-news .story{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:24px;padding:26px!important;min-height:0;background:var(--c-surface)}
.portal-site .feed-news .story-image{order:2;align-self:center;border-radius:var(--r-md);width:100%;max-width:none}
.portal-site .feed-news .story-copy{order:1;padding:0!important}
.portal-site .feed-news .story h2{font-size:var(--fs-h2);line-height:1.3;letter-spacing:-.35px;margin:12px 0}
.portal-site .feed-news .story p{font-size:var(--fs-ui);line-height:1.7;margin-bottom:20px}
.portal-site .feed-news .story-cover,.portal-site .feed-news .demo-art{aspect-ratio:1!important}
.portal-site .feed-news .demo-art>span{display:none}
.portal-site .feed-news .story-text{display:block}
.portal-site .story-meta{flex-wrap:wrap;gap:8px 12px;font-size:var(--fs-xs)}
.portal-site .story-meta>a{color:var(--c-primary)}
.portal-site .demo-badge{border:0;background:#f5eedf;color:#6c5324;font-size:var(--fs-xs)}
.portal-site .feed-business{border:0;background:var(--c-primary-soft);border-radius:var(--r-lg);padding:26px}
.portal-site .feed-business-main .feed-business-title{font-size:var(--fs-h2);line-height:1.3}
.portal-site .feed-business-bottom{border-color:var(--c-line)}
.portal-site .feed-business-main img,.portal-site .feed-business-initial{width:76px;height:76px;border-radius:var(--r-md);font-size:32px}
.portal-site .business-feed-label{margin-bottom:18px}
.portal-site .feed-sidebar{padding:0}
.portal-site .feed-sidebar>section{padding:22px;border:0;border-radius:var(--r-lg);background:var(--c-surface);margin-bottom:18px}
.portal-site .feed-sidebar h2{font-size:var(--fs-h3);line-height:1.25}
.portal-site .feed-sidebar .discovery-premium,.portal-site .feed-business.is-premium{background:#fbf3dc}
.portal-site .discovery-mini{gap:10px}
.portal-site .discovery-mini strong{font-size:var(--fs-sm)}
.portal-site .discovery-mini img,.portal-site .discovery-initial{width:42px;height:42px}
.portal-site .discovery-catalog{background:transparent;border:1px solid #161616;border-radius:25px;color:var(--c-ink);font-size:var(--fs-sm)}
.business-controls{background:var(--c-surface);border-radius:var(--r-lg);padding:22px;margin-bottom:20px}
.portal-site .discovery-city{margin:0 0 20px;min-width:0;max-width:440px}
.portal-site .discovery-city>label{color:var(--c-ink);margin-bottom:9px;font-size:var(--fs-sm)}
.portal-site .discovery-city select{flex:1;min-width:0;width:100%;border-radius:var(--r-md);border-color:var(--c-line-strong);background:var(--c-surface);color:var(--c-ink)}
.portal-site .discovery-city button{background:#161616;color:white}
.portal-site .business-picks{margin-bottom:14px}
.portal-site .business-picks a{min-height:42px;display:flex;align-items:center;border-color:var(--c-line-strong)}
.portal-site .business-picks a[aria-current]{background:var(--about-sky);color:var(--c-ink);border-color:var(--about-sky)}
.portal-site .discovery-explanation{margin:0;color:var(--about-muted)}
.feed-review{background:var(--c-surface);border-radius:var(--r-lg);padding:28px;min-width:0}
.feed-review-meta{display:flex;justify-content:space-between;gap:16px;font-size:var(--fs-xs);color:var(--about-muted)}
.feed-review-rating{display:flex;gap:12px;align-items:center;margin:20px 0 14px;font-size:var(--fs-sm)}
.feed-review-rating>span{font-size:var(--fs-h3);letter-spacing:2px;color:var(--c-primary)}
.feed-review-rating strong{font-weight:500;color:var(--c-text)}
.feed-review blockquote{font-size:var(--fs-md);line-height:1.75;margin:0 0 24px;padding:0;border:0;white-space:pre-line;overflow-wrap:anywhere;color:var(--c-ink)}
.feed-review-company{display:flex;align-items:center;gap:12px;padding-top:20px;margin-top:20px;border-top:1px solid var(--c-line)}
.feed-review-company img{width:42px;height:42px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0}
.feed-review-company>span:not(.discovery-initial){min-width:0}
.feed-review-company strong{display:block;font-size:var(--fs-ui);line-height:1.4;font-weight:500;overflow-wrap:anywhere}
.feed-review-company small{display:block;margin-top:5px;font-size:var(--fs-xs);color:var(--about-muted)}
.feed-review-company .review-open{margin-left:auto;flex-shrink:0;font-size:var(--fs-xs);color:var(--c-primary)}
.review[id]{scroll-margin-top:24px}
/* News sections use the same card vocabulary, with room for actual covers. */
.portal-site .section-intro{background:var(--about-sky);border-radius:28px;padding:32px 40px;margin:14px 0 28px}
.portal-site .section-intro h1{font-size:var(--fs-display-lg);line-height:1.2;margin:0 0 12px}
.portal-site .section-intro>p{font-size:var(--fs-md);color:var(--c-text);margin:0;max-width:60ch}
.portal-site .section-intro .breadcrumb{margin-bottom:20px;color:var(--c-text)}
.portal-site .news-tabs{border:0;padding:0;margin-bottom:28px}
.portal-site .news-tabs a{border-color:var(--c-line-strong);color:var(--c-ink)}
.portal-site .news-tabs a[aria-current]{background:#161616;color:white;border-color:#161616}
.portal-site .section-feature .lead-story{border-radius:var(--r-lg);background:var(--about-grey);grid-template-columns:1fr 1.2fr}
.portal-site .section-feature .lead-image{padding:24px;border-radius:0;background:transparent;align-self:center}
.portal-site .section-feature .lead-image>*{border-radius:var(--r-md);min-height:0;height:auto;aspect-ratio:4/3;object-fit:cover}
.portal-site .section-feature .lead-copy{padding:32px}
.portal-site .section-feature .lead-story h2{font-size:var(--fs-h1);line-height:1.28;font-weight:500}
.portal-site .story-grid{gap:24px}
.portal-site .story-grid .story{border-radius:var(--r-lg);background:var(--about-grey);overflow:hidden;height:100%}
.portal-site .story-grid .story-image{margin:14px 14px 0;border-radius:var(--r-md)}
.portal-site .story-grid .story-copy{padding:22px 24px 24px}
.portal-site .story-grid .story h2{font-size:var(--fs-h3);font-weight:500}
.portal-site .story-grid .story-text{padding:0;min-height:0}
.portal-site .story-grid .demo-art>span{display:none}
/* Article introduction balances title and illustration; body stays narrow. */
.portal-site .article-page{max-width:1240px;padding-top:26px}
.article-intro{display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:36px;background:var(--about-grey);border-radius:28px;padding:40px;margin-bottom:42px}
.article-intro:not(:has(.article-cover)){grid-template-columns:1fr}
.portal-site .article-heading{padding:0;max-width:850px}
.portal-site .article-heading h1{font-size:var(--fs-display-lg);font-weight:500;line-height:1.22;letter-spacing:-.7px;margin:18px 0 20px}
.portal-site .article-summary{font-size:var(--fs-md);line-height:1.7;margin-bottom:24px;color:var(--c-text)}
.portal-site .article-intro .article-cover{margin:0;width:100%;min-width:0}
.portal-site .article-intro .article-cover img,.portal-site .article-intro .demo-art{aspect-ratio:4/3;border-radius:var(--r-lg)}
.portal-site .article-intro .demo-art>span{display:none}
.portal-site .byline-initial{background:var(--about-sky);color:var(--c-text)!important}
.portal-site .article-reading-layout{grid-template-columns:minmax(0,720px) minmax(180px,1fr);gap:64px;padding:0 40px}
.portal-site .article-body{font-size:var(--fs-lg);line-height:1.9;color:var(--c-ink)}
.portal-site .article-body h2{font-size:var(--fs-h1);font-weight:500;line-height:1.35;color:var(--c-ink)}
.portal-site .article-contents{background:var(--c-canvas);border:0;border-radius:var(--r-lg);padding:22px}
.portal-site .article-contents a{color:var(--c-text);font-size:var(--fs-sm)}
.portal-site .article-back{border-color:var(--c-line-strong);border-radius:var(--r-lg);color:var(--c-ink)}
.portal-site .news-footer{max-width:1240px;margin:0 auto 26px;padding:42px;background:var(--about-sky);border:0;border-radius:28px}
.portal-site .news-footer .footer-brand p{color:var(--c-text)}
@media(max-width:1100px){
 .portal-site .about-hero{padding:34px 40px;gap:26px}
 .portal-site .about-hero h1{font-size:var(--fs-display-md)}
 .portal-site .feed-layout{grid-template-columns:minmax(0,1fr) 235px;gap:22px;padding:22px}
 .portal-site .feed-news .story{grid-template-columns:minmax(0,1fr) 125px;gap:18px;padding:22px!important}
 .portal-site .feed-news .story h2{font-size:var(--fs-h3)}
 .portal-site .feed-tabs{gap:22px}
 .portal-site .feed-tabs a{font-size:var(--fs-ui)}
 .portal-site .feed-sidebar>section{padding:18px}
 .portal-site .feed-sidebar h2{font-size:var(--fs-xl)}
 .article-intro{padding:30px;gap:26px}
 .portal-site .article-heading h1{font-size:var(--fs-display)}
 .portal-site .article-reading-layout{padding:0 24px;gap:36px}
 .portal-site .news-footer{margin:0 24px 24px}
}
@media(max-width:850px){
 .portal-site .feed-layout{grid-template-columns:1fr}
 .portal-site .feed-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
 .portal-site .feed-sidebar>section{margin:0}
 .portal-site .feed-sidebar .discovery-catalog{align-self:start}
 .portal-site .feed-news .story{grid-template-columns:minmax(0,1fr) 180px}
 .article-intro{grid-template-columns:1fr}
 .portal-site .article-intro .article-cover{max-width:600px}
 .portal-site .article-intro .article-cover img,.portal-site .article-intro .demo-art{aspect-ratio:16/7}
}
@media(max-width:700px){
 .portal-site .feed-shell{padding:14px 14px 30px}
 .portal-site .about-hero{display:block;min-height:0;padding:28px 24px;margin-bottom:22px;border-radius:var(--r-lg)}
 .portal-site .about-hero h1{font-size:var(--fs-h1);max-width:16ch;margin-bottom:19px}
 .about-sticker{font-size:var(--fs-xs);padding:8px 14px;margin:0 0 22px 12px}
 .portal-site .about-hero p{font-size:var(--fs-sm);max-width:19ch;min-height:80px}
 .about-hero-art{position:absolute;right:10px;bottom:18px;width:130px;height:105px;object-fit:contain;border-radius:var(--r-md)}
 .portal-site .feed-layout{padding:14px;border-radius:var(--r-lg);gap:24px}
 .portal-site .feed-tabs{gap:8px;justify-content:space-between;margin-bottom:20px}
 .portal-site .feed-tabs a{font-size:var(--fs-ui);padding:14px 2px;min-height:50px}
 .feed-tab-full{display:none}
 .feed-tab-short{display:inline}
 .portal-site .feed-news .story{grid-template-columns:minmax(0,1fr) 85px;gap:14px;padding:20px!important}
 .portal-site .feed-news .story-image{align-self:start;margin-top:4px}
 .portal-site .feed-news .story h2{font-size:var(--fs-h3);line-height:1.3;margin:12px 0}
 .portal-site .feed-news .story p{font-size:var(--fs-ui);line-height:1.65;margin-bottom:15px}
 .portal-site .feed-news .story-copy{display:contents}
 .portal-site .feed-news .story-meta{grid-column:1;grid-row:1;align-content:center}
 .portal-site .feed-news .story h2{grid-column:1/-1;grid-row:2;margin:0}
 .portal-site .feed-news .story-image{grid-column:2;grid-row:1}
 .portal-site .feed-news .story p{grid-column:1/-1;grid-row:3;margin:0}
 .portal-site .feed-news .story-bottom{grid-column:1/-1;grid-row:4}
 .portal-site .feed-news .story-text .story-copy{display:block}
 .portal-site .feed-news .story-text h2{margin:14px 0}
 .portal-site .feed-news .story-text p{margin-bottom:18px}
 .portal-site .feed-sidebar{display:block}
 .portal-site .feed-sidebar>section{margin-bottom:16px;padding:22px}
 .portal-site .feed-sidebar h2{font-size:var(--fs-h3)}
 .portal-site .discovery-mini strong{font-size:var(--fs-ui)}
 .portal-site .feed-business{padding:20px}
 .portal-site .feed-business-main .feed-business-title{font-size:var(--fs-h3)}
 .portal-site .feed-business-main img,.portal-site .feed-business-initial{width:60px;height:60px;font-size:27px}
 .portal-site .business-controls{padding:18px}
 .portal-site .business-picks{gap:6px}
 .portal-site .business-picks a{font-size:var(--fs-xs);padding:8px 10px}
 .feed-review{padding:22px 20px}
 .feed-review blockquote{font-size:var(--fs-md);line-height:1.75}
 .feed-review-meta{font-size:var(--fs-xs)}
 .feed-review-company{flex-wrap:wrap}
 .feed-review-company>span:nth-child(2){flex:1}
 .feed-review-company .review-open{margin-left:54px;flex-basis:calc(100% - 54px);min-height:30px;display:flex;align-items:center}
 .portal-site .section-intro{padding:26px;border-radius:var(--r-lg)}
 .portal-site .section-intro h1{font-size:var(--fs-display)}
 .portal-site .section-feature .lead-story{display:block}
 .portal-site .section-feature .lead-image{padding:16px 16px 0}
 .portal-site .section-feature .lead-image>*{aspect-ratio:16/8}
 .portal-site .section-feature .lead-copy{padding:24px}
 .portal-site .section-feature .lead-story h2{font-size:var(--fs-h2)}
 .portal-site .story-grid{gap:20px}
 .portal-site .article-page{padding:24px 16px 36px}
 .article-intro{padding:24px;border-radius:var(--r-lg);gap:24px;margin-bottom:28px}
 .portal-site .article-heading h1{font-size:var(--fs-h1);line-height:1.25;letter-spacing:-.5px}
 .portal-site .article-summary{font-size:var(--fs-md);line-height:1.7}
 .portal-site .article-intro .demo-art{aspect-ratio:16/9}
 .portal-site .article-reading-layout{display:flex;padding:0 6px;gap:26px}
 .portal-site .article-body{font-size:var(--fs-md);line-height:1.85}
 .portal-site .article-body h2{font-size:var(--fs-h2)}
 .portal-site .article-contents{padding:20px}
 .portal-site .article-contents details:not([open]) nav{display:none}
 .portal-site .news-footer{margin:0 14px 14px;padding:30px 26px;border-radius:var(--r-lg)}
}
@media(max-width:359px){
 .portal-site .about-hero{padding:24px 20px}
 .portal-site .about-hero h1{font-size:var(--fs-h1)}
 .about-hero-art{width:105px;right:8px;bottom:24px}
 .portal-site .about-hero p{font-size:var(--fs-xs);max-width:18ch}
 .portal-site .feed-layout{padding:10px}
 .portal-site .feed-tabs{gap:6px}
 .portal-site .feed-tabs a{padding:14px 1px;font-size:var(--fs-sm)}
 .portal-site .feed-news .story{padding:18px!important;grid-template-columns:minmax(0,1fr) 66px;gap:12px}
 .portal-site .feed-news .story h2{font-size:var(--fs-xl)}
 .portal-site .feed-business-main{flex-direction:row;gap:12px}
 .portal-site .feed-business-main .feed-business-title{font-size:var(--fs-xl)}
 .article-intro{padding:20px}
 .portal-site .article-heading h1{font-size:var(--fs-h1)}
}
.about-page{max-width:920px;margin:40px auto;padding:0 24px 60px}
.about-page header{background:var(--c-sky);border-radius:32px;padding:48px;margin-bottom:28px}
.about-page header h1{font-size:clamp(36px,7vw,68px);line-height:1;margin:12px 0}
.about-page header p:last-child{font-size:var(--fs-xl);line-height:1.55;max-width:680px}
.about-page section{background:var(--c-surface-alt);border-radius:var(--r-lg);padding:30px;margin:18px 0}
.about-page section h2{margin-top:0}
.about-page section p{font-size:var(--fs-md);line-height:1.7}
.about-page .eyebrow{text-transform:uppercase;font-size:var(--fs-sm);font-weight:700;letter-spacing:.08em}
@media(max-width:600px){
 .about-page{margin:20px auto;padding:0 16px 40px}
 .about-page header{padding:30px 24px;border-radius:var(--r-lg)}
 .about-page section{padding:24px}
}
.legal-page .legal-body{max-width:820px;line-height:1.7}
.legal-page .legal-body h2{font-size:var(--fs-h3);margin:30px 0 12px}
.legal-page .legal-body h3{font-size:var(--fs-lg);margin:22px 0 10px}
.legal-page .legal-body p,.legal-page .legal-body li{margin:0 0 12px}
.legal-page .legal-body ul{padding-left:22px}
/* 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)}
/* 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}
/* deals-public.css */
.deals-hero{max-width:1440px;margin:34px auto 0;padding:54px 6%;border-radius:28px;background:var(--c-primary-soft);display:flex;justify-content:space-between;align-items:flex-end;gap:30px}
.deals-hero>div{max-width:760px}
.deals-eyebrow{display:inline-block;margin-bottom:13px;font-size:var(--fs-sm);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--c-primary)}
.deals-hero h1{max-width:18ch;margin:0 0 15px;font-size:clamp(38px,5vw,68px);letter-spacing:-2px}
.deals-hero p{max-width:620px;margin:0;color:var(--c-muted);font-size:var(--fs-lg)}
.deals-how{flex-shrink:0;padding:13px 19px;border:1px solid #151718;border-radius:var(--r-pill);font-size:var(--fs-ui);font-weight:700}
.deals-how span{margin-left:14px}
.deals-shell,.deal-page{max-width:1440px;margin:auto;padding:26px 5% 80px}
.deal-filters{display:grid;grid-template-columns:1.15fr 1.15fr .72fr .68fr .78fr auto auto;gap:12px;align-items:end;margin:14px 0 22px;padding:18px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface)}
.deal-filters>label{display:grid;gap:5px}
.deal-filters label>span{font-size:var(--fs-xs);color:var(--c-muted)}
.deal-filters select{height:44px;padding:0 11px;border:1px solid var(--c-line);border-radius:var(--r-md)}
.deal-filter-checks{display:grid;gap:5px;padding-bottom:3px}
.deal-filter-checks label{white-space:nowrap;font-size:var(--fs-sm)}
.deal-filter-checks input{width:auto;margin-right:5px}
.deal-filters button{height:44px;border-radius:var(--r-md);padding:0 18px;background:var(--c-primary)}
.deal-sort{display:flex;gap:7px;overflow:auto;padding:2px 0 20px;scrollbar-width:none}
.deal-sort::-webkit-scrollbar{display:none}
.deal-sort a{white-space:nowrap;padding:9px 14px;border:1px solid var(--c-line);border-radius:var(--r-pill);font-size:var(--fs-sm)}
.deal-sort a[aria-current=page]{background:#151718;border-color:#151718;color:#fff}
.deals-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:10px 0 20px}
.deals-heading h2{margin:0 0 3px;font-size:var(--fs-h2)}
.deals-heading p{margin:0;color:var(--c-muted);font-size:var(--fs-sm)}
.deals-heading>a{font-size:var(--fs-sm);color:var(--c-primary)}
.deals-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.deal-card{min-width:0;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.deal-card:hover{transform:translateY(-3px);border-color:var(--c-line-strong);box-shadow:0 16px 36px #18394c12}
.deal-card-cover{position:relative;display:block;aspect-ratio:16/10;background:var(--c-surface-muted);overflow:hidden}
.deal-card-cover img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.deal-card:hover .deal-card-cover img{transform:scale(1.02)}
.deal-discount{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:var(--r-md);background:#ff623d;color:#fff;font-size:var(--fs-sm)}
.deal-card-body{padding:18px}
.deal-card-expired{display:inline-block;margin-bottom:8px;padding:4px 7px;border-radius:var(--r-sm);background:#fff0e7;color:#874520;font-size:var(--fs-xs);font-weight:700}
.deal-card-meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.deal-card-meta a,.deal-card-meta span{padding:5px 8px;border-radius:var(--r-sm);background:var(--c-primary-soft);color:#286b82;font-size:var(--fs-xs)}
.deal-card h2{margin:14px 0 9px;font-size:var(--fs-xl);line-height:1.24}
.deal-card h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.deal-card-body>p{display:-webkit-box;margin:0 0 16px;color:var(--c-muted);font-size:var(--fs-ui);line-height:1.55;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deal-card-bottom{display:flex;align-items:center;gap:12px;min-height:39px}
.deal-score{display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:var(--r-md);background:#eff8ed;color:#247841}
.deal-score span{font-size:var(--fs-xs)}
.deal-score span:last-child{color:var(--c-muted)}
.deal-prices{display:flex;align-items:baseline;gap:7px;min-width:0}
.deal-prices strong{font-size:var(--fs-lg);white-space:nowrap}
.deal-prices del{color:var(--c-muted);font-size:var(--fs-xs);white-space:nowrap}
.deal-comments{margin-left:auto;color:var(--c-muted);font-size:var(--fs-xs);white-space:nowrap}
.deal-ending{display:block;margin-top:12px;color:var(--c-muted);font-size:var(--fs-xs)}
.deals-empty{padding:75px 24px;text-align:center;border:1px dashed var(--c-line-strong);border-radius:var(--r-lg);background:var(--c-surface-alt)}
.deals-empty strong{font-size:var(--fs-h3)}
.deals-empty p{color:var(--c-muted)}
.deals-empty a{display:inline-block;margin-top:10px;padding:11px 18px;border-radius:var(--r-md);background:var(--c-primary);color:#fff}
.deal-pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:32px}
.deal-pagination a{padding:10px 14px;border:1px solid var(--c-line);border-radius:var(--r-md)}
.deal-page{padding-top:30px}
.deal-expired-note{margin:10px 0 22px;padding:13px 16px;border-radius:var(--r-md);background:#fff0e7;color:#874520;font-size:var(--fs-ui)}
.deal-page-header{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:60px;align-items:center;padding:30px 0 50px;border-bottom:1px solid var(--c-line)}
.deal-page-copy h1{max-width:19ch;margin:18px 0;font-size:clamp(38px,5vw,66px);letter-spacing:-1.8px}
.deal-page-copy>p{max-width:690px;color:var(--c-muted);font-size:var(--fs-lg);line-height:1.65}
.deal-page-header figure{margin:0}
.deal-page-header figure img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--r-lg);background:var(--c-surface-muted)}
.deal-page-prices{display:flex;align-items:center;gap:12px;margin:25px 0 18px}
.deal-page-prices strong{font-size:var(--fs-display)}
.deal-page-prices del{color:var(--c-muted);font-size:var(--fs-md)}
.deal-page-prices span{padding:6px 9px;border-radius:var(--r-sm);background:#ff623d;color:#fff;font-size:var(--fs-sm);font-weight:700}
.deal-promo{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.deal-promo span{font-size:var(--fs-sm);color:var(--c-muted)}
.deal-promo code{padding:8px 11px;border:1px dashed #4f88a0;border-radius:var(--r-md);background:var(--c-primary-soft);font:700 15px/1.2 Eastman,Arial,sans-serif}
.deal-outbound{display:inline-block;padding:15px 22px;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font-weight:700}
.deal-outbound:hover{color:#fff;background:var(--c-primary-strong)}
.deal-outbound.is-disabled{background:#d8dde2;color:var(--c-muted)}
.deal-page-copy>.deal-ending{margin-top:14px}
.deal-page-layout{display:grid;grid-template-columns:260px minmax(0,760px);gap:60px;align-items:start;padding-top:40px}
.deal-community-card{position:sticky;top:24px;padding:20px;border-radius:var(--r-lg);background:#eef8ec}
.deal-community-card>span,.deal-community-card>small{display:block;color:var(--c-muted);font-size:var(--fs-xs)}
.deal-community-card>div{display:flex;align-items:center;justify-content:space-between;margin:14px 0}
.deal-community-card strong{font-size:var(--fs-display)}
.deal-community-card b{font-size:var(--fs-ui);color:#2f854c}
.deal-community-card b:last-child{color:var(--c-muted)}
.deal-page-content section{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid var(--c-line)}
.deal-page-content h2{font-size:var(--fs-h1)}
.deal-page-content p{white-space:pre-line;font-size:var(--fs-md);line-height:1.8;color:var(--c-text)}
.deal-terms{padding:24px!important;border:0!important;border-radius:var(--r-lg);background:var(--c-surface-alt)}
.deal-business span{font-size:var(--fs-xs);color:var(--c-muted)}
.deal-business h2{margin:7px 0 12px}
.deal-business a{color:var(--c-primary);font-weight:700}
@media(max-width:1050px){
 .deal-filters{grid-template-columns:repeat(3,1fr)}
 .deal-filter-checks{display:flex;gap:16px}
 .deals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .deal-page-header{gap:32px}
 .deal-page-layout{gap:35px}
}
@media(max-width:700px){
 .deals-hero{margin:0;border-radius:0;padding:34px 18px;display:block}
 .deals-hero h1{font-size:var(--fs-display-lg);letter-spacing:-1px}
 .deals-hero p{font-size:var(--fs-md)}
 .deals-how{display:none}
 .deals-shell,.deal-page{padding:18px 16px 60px}
 .deal-filters{grid-template-columns:1fr 1fr;padding:14px}
 .deal-filters>label:nth-child(3),.deal-filters>label:nth-child(4){grid-column:auto}
 .deal-filter-checks{grid-column:1/-1}
 .deal-filters button{grid-column:1/-1}
 .deal-sort{margin:0 -16px;padding-left:16px;padding-right:16px}
 .deals-grid{grid-template-columns:1fr;gap:14px}
 .deal-card{display:grid;grid-template-columns:116px minmax(0,1fr);border-radius:var(--r-lg)}
 .deal-card-cover{height:100%;aspect-ratio:auto}
 .deal-card-body{padding:14px}
 .deal-card h2{font-size:var(--fs-lg);margin:9px 0}
 .deal-card-body>p{display:none}
 .deal-card-meta a,.deal-card-meta span{font-size:var(--fs-xs);padding:4px 6px}
 .deal-card-bottom{flex-wrap:wrap;gap:7px}
 .deal-score{padding:5px 7px}
 .deal-prices strong{font-size:var(--fs-md)}
 .deal-comments{display:none}
 .deal-discount{left:8px;top:8px;font-size:var(--fs-xs)}
 .deal-ending{margin-top:7px}
 .deal-page-header{display:flex;flex-direction:column-reverse;align-items:stretch;gap:22px;padding:16px 0 34px}
 .deal-page-header figure img{border-radius:var(--r-lg)}
 .deal-page-copy h1{font-size:var(--fs-display-md);letter-spacing:-.8px}
 .deal-page-copy>p{font-size:var(--fs-md)}
 .deal-page-prices strong{font-size:var(--fs-h1)}
 .deal-outbound{display:block;text-align:center}
 .deal-page-layout{display:flex;flex-direction:column;gap:28px;padding-top:28px}
 .deal-community-card{position:static;width:100%}
 .deal-page-content h2{font-size:var(--fs-h2)}
 .deal-page-content p{font-size:var(--fs-md)}
 .deal-terms{padding:20px!important}
}
@media(max-width:380px){
 .deal-filters{grid-template-columns:1fr}
 .deal-filters>*,.deal-filter-checks,.deal-filters button{grid-column:1}
 .deal-card{grid-template-columns:96px minmax(0,1fr)}
 .deal-card-body{padding:12px}
 .deal-card h2{font-size:var(--fs-md)}
 .deal-prices del{display:none}
}
@media(prefers-reduced-motion:reduce){
 .deal-card,.deal-card-cover img{transition:none}
}
.deal-vote{min-width:0}
.deal-vote form,.deal-vote-guest,.deal-vote-static{display:grid;grid-template-columns:40px minmax(42px,auto) 40px;align-items:center;justify-content:center;gap:5px}
.deal-vote button,.deal-vote a,.deal-vote-static>span{display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:#4f6d59;font-size:var(--fs-sm)}
.deal-vote button:hover,.deal-vote a:hover{border-color:#31844c;color:#287443;background:var(--c-surface-alt)}
.deal-vote button[aria-pressed=true]{border-color:#2d874c;background:#2d874c;color:#fff}
.deal-vote button[data-vote="-1"][aria-pressed=true]{border-color:#cc674f;background:#cc674f}
.deal-vote output{display:block;text-align:center;font-size:var(--fs-h1);font-weight:700;color:var(--c-ink)}
.deal-vote-status{display:block;min-height:17px;margin-top:7px;color:#4f6d59;font-size:var(--fs-xs);line-height:1.35;text-align:center}
.deal-vote.is-compact form,.deal-vote.is-compact .deal-vote-guest,.deal-vote.is-compact .deal-vote-static{grid-template-columns:27px minmax(24px,auto) 27px;gap:2px}
.deal-vote.is-compact button,.deal-vote.is-compact a,.deal-vote.is-compact .deal-vote-static>span{width:27px;height:31px;border:0;border-radius:var(--r-sm);background:#eff8ed}
.deal-vote.is-compact output{font-size:var(--fs-base)}
.deal-vote.is-compact .deal-vote-status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.deal-community-card>.deal-vote{margin:14px 0}
.deal-community-card>.deal-vote form,.deal-community-card>.deal-vote .deal-vote-guest,.deal-community-card>.deal-vote .deal-vote-static{justify-content:stretch;grid-template-columns:44px 1fr 44px}
.deal-community-card>.deal-vote button,.deal-community-card>.deal-vote a,.deal-community-card>.deal-vote .deal-vote-static>span{width:44px;height:44px}
.deal-comments-section{max-width:1180px;margin:48px auto;padding:0 24px}
.deal-comment-form,.deal-comments-login,.deal-comment,.deal-report-offer{display:block;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);padding:20px;margin:14px 0}
.deal-comment-form label{display:block;font-weight:700;margin-bottom:8px}
.deal-comment-form textarea,.deal-comment details textarea,.deal-comment details select,.deal-report-offer textarea,.deal-report-offer select{box-sizing:border-box;width:100%;border:1px solid var(--c-line-strong);border-radius:var(--r-md);padding:12px;font:inherit;margin:8px 0}
.deal-comment-form button,.deal-comment details button,.deal-report-offer button{border:0;border-radius:var(--r-md);background:var(--c-primary);color:#fff;padding:11px 16px;font-weight:700}
.deal-comment header{display:flex;gap:12px;justify-content:space-between}
.deal-comment time{color:var(--c-muted)}
.deal-comment>p{white-space:pre-wrap}
.deal-comment-actions{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}
.deal-comment-actions form{margin:0}
.deal-comment-actions button,.deal-comment-reaction button{border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-primary);border-radius:var(--r-pill);padding:7px 12px}
.deal-comment-actions button.is-active,.deal-comment-reaction button.is-active{background:var(--c-primary-soft);border-color:var(--c-primary)}
.deal-comment details summary,.deal-report-offer summary{cursor:pointer;color:var(--c-primary)}
.deal-comment.reply{margin:16px 0 0 32px;background:var(--c-surface-alt)}
.deal-comment-reaction{margin:8px 0 0}
@media(max-width:680px){
 .deal-comments-section{padding:0 16px;margin-top:32px}
 .deal-comment.reply{margin-left:14px}
 .deal-comment{padding:16px}
}
.deal-save-form{margin:0}
.deal-save-form button,.deal-page-save{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--c-primary-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-primary);padding:9px 14px;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.deal-save-form button[aria-pressed="true"],.deal-page-save button[aria-pressed="true"]{background:var(--c-primary-soft);border-color:var(--c-primary)}
.deal-page-save{margin-top:12px}
.deal-page-save button{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}
.member-saved-deals{margin:0}
.member-saved-deals .deal-card{min-width:0}
/* Compact offer discovery: Eastman, sky blue and the Aidentyka navy. */
.deals-discovery{max-width:1320px;padding-top:18px}
.deals-discovery-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0 30px}
.deals-discovery-heading h1{font-size:clamp(28px,3.5vw,46px);line-height:1.12;letter-spacing:-1px;margin:0 0 10px;max-width:28ch}
.deals-discovery-heading p{margin:0;color:var(--c-muted);font-size:var(--fs-md)}
.deals-saved-nav{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--c-line);border-radius:var(--r-md);padding:12px 16px;color:var(--c-primary);white-space:nowrap;font-size:var(--fs-ui);font-weight:600}
.deal-hubs{display:flex;gap:8px;margin:0 0 10px;overflow-x:auto;scrollbar-width:none}
.deal-hubs::-webkit-scrollbar{display:none}
.deal-hubs a{display:inline-flex;align-items:center;gap:7px;flex:none;padding:10px 15px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-ui);font-weight:650;white-space:nowrap}
.deal-hubs a span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--c-primary-soft);color:var(--c-primary);font-weight:800}
.deal-hubs a[aria-current=page]{border-color:var(--c-primary);background:var(--c-primary);color:#fff}
.deal-hubs a[aria-current=page] span{background:var(--c-surface);color:var(--c-primary)}
.deal-types{display:flex;gap:26px;border-bottom:1px solid var(--c-line);margin-bottom:20px;overflow:auto}
.deal-types a{flex-shrink:0;padding:12px 2px 16px;border-bottom:3px solid transparent;color:var(--c-muted);font-size:var(--fs-md);font-weight:600}
.deal-types a[aria-current=page]{color:var(--c-primary);border-color:var(--c-primary)}
.deal-discovery-tools{position:relative;min-width:0}
.deal-discovery-tools .deal-sort{margin:0;padding:0 150px 4px 0;gap:6px}
.deal-discovery-tools .deal-sort a{padding:12px 15px;border:0;background:var(--c-surface-alt);color:var(--c-text);border-radius:var(--r-md);font-size:var(--fs-ui);min-height:44px;box-sizing:border-box}
.deal-discovery-tools .deal-sort a[aria-current=page]{background:var(--c-primary);color:#fff}
.deal-filter-panel>summary{position:absolute;right:0;top:0;display:flex;align-items:center;gap:9px;list-style:none;cursor:pointer;min-height:44px;padding:0 15px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background:var(--c-surface);color:var(--c-primary);font-weight:600;font-size:var(--fs-ui);box-sizing:border-box}
.deal-filter-panel>summary::-webkit-details-marker{display:none}
.deal-filter-panel>summary b{background:var(--c-primary);color:#fff;border-radius:50%;min-width:22px;height:22px;display:grid;place-items:center;font-size:var(--fs-xs)}
.deal-filter-panel[open]>summary{background:var(--c-primary-soft);border-color:var(--c-primary)}
.deal-filter-panel .deal-filters{grid-template-columns:repeat(3,minmax(0,1fr));padding:24px;margin:16px 0 20px;background:var(--c-surface-alt);border:1px solid var(--c-line);border-radius:var(--r-lg);gap:20px}
.deal-filter-panel .deal-filters label>span{color:var(--c-text);font-size:var(--fs-sm);font-weight:600}
.deal-filter-panel .deal-filters select{width:100%;min-width:0;height:48px;background:var(--c-surface);color:var(--c-ink);font:inherit;font-size:var(--fs-ui);border-color:var(--c-line-strong)}
.deal-filter-panel .deal-filter-checks{display:flex;align-items:center;flex-wrap:wrap;gap:16px;grid-column:1/-1;padding:0}
.deal-filter-panel .deal-filter-checks label{display:flex;align-items:center;gap:8px;font-size:var(--fs-ui);min-height:36px}
.deal-filter-panel .deal-filter-checks input{width:19px;height:19px;accent-color:var(--c-primary);margin:0}
.deal-filter-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:24px;padding-top:16px;border-top:1px solid var(--c-line)}
.deal-filter-actions a{font-size:var(--fs-ui);color:var(--c-text)}
.deal-filter-panel .deal-filter-actions button{color:#fff;height:48px;padding:0 24px;background:var(--c-primary);font-weight:600;grid-column:auto}
.deal-active-filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.deal-active-filters a{display:inline-flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-primary-soft);color:var(--c-text);font-size:var(--fs-sm);min-height:40px;box-sizing:border-box}
.deal-active-filters span{font-size:var(--fs-xl);line-height:1}
.deals-discovery .deals-heading{margin:26px 0 18px;align-items:center}
.deals-discovery .deals-heading>div{display:flex;align-items:baseline;gap:14px}
.deals-discovery .deals-heading h2{font-size:var(--fs-h3);margin:0}
.deals-discovery :is(a,button,select,input,summary):focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
.deal-card-bottom{flex-wrap:wrap}
@media(max-width:700px){
 .deals-discovery-heading{margin:16px 0 18px;gap:12px;align-items:flex-start}
 .deals-discovery-heading h1{font-size:var(--fs-h1);letter-spacing:-.6px}
 .deals-discovery-heading p{font-size:var(--fs-ui);line-height:1.5}
 .deals-saved-nav{padding:10px;font-size:var(--fs-xs)}
 .deal-hubs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0 0 10px;padding:0;overflow:visible}
 .deal-hubs a{justify-content:center;min-width:0;padding:9px 6px;font-size:var(--fs-xs);line-height:1.15;text-align:center;white-space:normal}
 .deal-hubs a span{flex:0 0 20px;width:20px;height:20px}
 .deal-types{gap:24px;margin-bottom:14px}
 .deal-types a{font-size:var(--fs-base);padding:10px 0 13px}
 .deal-discovery-tools .deal-sort{padding:0 0 10px;margin:0;gap:6px}
 .deal-discovery-tools .deal-sort a{font-size:var(--fs-sm);padding:12px;min-height:44px}
 .deal-filter-panel>summary{position:static;width:fit-content;margin-top:4px}
 .deal-filter-panel .deal-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:16px;margin-top:12px}
 .deal-filter-panel .deal-filters>label{grid-column:auto}
 .deal-filter-actions{justify-content:space-between;gap:12px}
 .deal-filter-panel .deal-filter-actions button{padding:0 15px;font-size:var(--fs-sm)}
 .deals-discovery .deals-heading{margin-top:22px}
 .deals-discovery .deals-heading h2{font-size:var(--fs-xl)}
 .deals-discovery .deals-heading>div{gap:8px;flex-wrap:wrap}
}
@media(max-width:380px){
 .deal-filter-panel .deal-filters{grid-template-columns:minmax(0,1fr)}
 .deal-filter-panel .deal-filters>*{grid-column:1}
 .deals-discovery-heading{flex-wrap:wrap}
}
.deals-discovery-heading{padding:0;background:transparent;border:0;box-shadow:none;position:static}
/* Offer discovery: visible location and compact topic navigation. */
.deal-topic-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 0 16px;margin-bottom:8px;scrollbar-width:thin}
.deal-topic-nav a{flex:none;padding:10px 15px;border:1px solid var(--c-line);border-radius:var(--r-md);font-size:var(--fs-sm);white-space:nowrap;background:var(--c-surface);color:var(--c-text)}
.deal-topic-nav a[aria-current=page]{background:var(--c-primary-soft);color:var(--c-primary);border-color:var(--c-primary-line);font-weight:700}
.deal-discovery-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start}
.deal-discovery-tools .deal-sort{grid-column:1/-1;padding-right:0}
.deal-city-control{grid-column:1;display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;margin:0;padding:0 8px 0 12px;border:1px solid var(--c-primary-line);border-radius:var(--r-md);background:var(--c-primary-soft);min-height:46px}
.deal-city-control label{display:flex;align-items:center;gap:8px;min-width:0;color:var(--c-primary)}
.deal-city-control select{min-width:0;max-width:240px;width:100%;height:44px;padding:0 18px 0 0;border:0;background:transparent;color:var(--c-text);font:inherit;font-size:var(--fs-ui);text-overflow:ellipsis}
.deal-city-control svg{flex-shrink:0}
.deal-city-control button{border:0;background:transparent;color:var(--c-primary);padding:8px;min-width:32px;font-size:var(--fs-xl)}
.deal-filter-panel{display:contents}
.deal-filter-panel>summary{position:static;grid-column:2;grid-row:2;margin:0;min-height:46px}
.deal-filter-panel[open]>.deal-filters{grid-column:1/-1;margin:4px 0 0}
.deal-card-bottom{display:grid;grid-template-columns:1fr auto;gap:12px}
.deal-card-bottom .deal-prices{grid-column:1/-1;grid-row:1;flex-wrap:wrap;gap:8px}
.deal-card-bottom .deal-comments{grid-column:2;grid-row:2;margin:0;text-align:right}
.deal-card-bottom .deal-save-form,.deal-card-bottom .deal-save-link{grid-column:1/-1;justify-self:start;margin:0}
@media(max-width:700px){
 .deals-grid{grid-template-columns:minmax(0,1fr);gap:20px}
 .deal-card{display:flex;flex-direction:column;border-radius:var(--r-lg)}
 .deal-card .deal-card-cover{width:100%;height:auto;aspect-ratio:16/9;max-height:none;min-height:0}
 .deal-card .deal-card-cover img{width:100%;height:100%;object-fit:cover}
 .deal-card .deal-card-body{padding:17px}
 .deal-card h2{font-size:var(--fs-xl);line-height:1.3;margin:12px 0}
 .deal-card-meta{gap:5px}
 .deal-card-meta a,.deal-card-meta span{font-size:var(--fs-xs);padding:5px 7px}
 .deal-card .deal-discount{left:12px;top:12px;font-size:var(--fs-sm);padding:7px 10px}
 .deal-card-bottom .deal-prices strong{font-size:var(--fs-h3)}
 .deal-card-bottom .deal-prices del{font-size:var(--fs-sm)}
 .deal-card-bottom{padding-top:3px}
 .deal-discovery-tools{grid-template-columns:minmax(0,1fr) auto;gap:8px}
 .deal-city-control{width:100%;box-sizing:border-box}
 .deal-city-control label{flex:1}
 .deal-city-control select{max-width:100%;font-size:var(--fs-sm)}
 .deal-filter-panel>summary{font-size:var(--fs-sm);padding:11px;gap:6px}
}
@media(min-width:701px){
 .deal-city-control{justify-self:end}
}
@media(max-width:380px){
 .deal-city-control{padding-left:8px;padding-right:3px}
 .deal-city-control label{gap:4px}
 .deal-city-control select{font-size:var(--fs-xs);padding-right:0}
 .deal-city-control button{min-width:24px;padding:5px}
 .deal-filter-panel>summary{padding:11px 8px}
 .deal-filter-panel>summary svg{width:15px}
}
/* Compact offer cards: voting and image rail alongside the offer details. */
.deals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.deal-card.deal-card-compact{display:grid;grid-template-columns:150px minmax(0,1fr);border-radius:var(--r-md);transform:none;box-shadow:none}
.deal-card-rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:14px;padding:14px 10px;background:var(--c-surface-alt);min-width:0}
.deal-card-compact .deal-card-cover{width:100%;height:auto;aspect-ratio:1;min-height:0;border-radius:var(--r-md);background:var(--c-surface)}
.deal-card-compact .deal-card-cover img{object-fit:contain;width:100%;height:100%;transform:none}
.deal-card-compact .deal-card-body{display:flex;flex-direction:column;align-items:stretch;padding:14px;min-width:0;gap:8px}
.deal-card-compact h2{font-size:var(--fs-lg);line-height:1.35;margin:0;overflow-wrap:anywhere}
.deal-card-compact h2 a{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.deal-card-compact .deal-card-meta{margin:0;min-height:22px}
.deal-card-compact .deal-card-meta a,.deal-card-compact .deal-card-meta span{padding:0;background:none;border-radius:0;color:var(--c-muted);font-size:var(--fs-xs)}
.deal-card-compact .deal-card-meta .deal-card-promo-badge{padding:3px 6px;border-radius:var(--r-pill);background:#fff0e8;color:#b34824;font-weight:700}
.deals-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.deal-contribution-cta{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:9px 15px;border-radius:var(--r-md);background:var(--c-primary);color:#fff;font-size:var(--fs-sm);font-weight:700}
.deal-contribution-cta:hover{background:var(--c-primary-strong);color:#fff}
.deal-contribution-cta span{font-size:var(--fs-lg);line-height:1}
.deal-contribution-cta.is-owner{background:var(--c-primary)}
.deal-contribution-cta.is-owner:hover{background:var(--c-primary)}
.deal-suggestion-history{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;padding:15px 0;border-top:1px solid var(--c-line)}
.deal-suggestion-history:first-of-type{border-top:0}
.deal-suggestion-history span{color:var(--c-muted);font-size:var(--fs-sm)}
.deal-suggestion-history p{grid-column:1/-1;margin:0;color:var(--c-muted)}
.deal-suggestion-intro{background:var(--c-primary-soft);border-color:var(--c-line)}
@media(max-width:700px){
 .deals-discovery-heading{align-items:flex-start}
 .deals-heading-actions{width:100%;justify-content:flex-start}
 .deal-contribution-cta{flex:1;justify-content:center}
 .deals-saved-nav{flex:none}
 .deal-suggestion-history{grid-template-columns:1fr}
 .deal-suggestion-history p{grid-column:1}
}
.deal-card-compact .deal-prices{display:flex;flex-wrap:wrap;gap:4px 7px;align-items:center}
.deal-card-compact .deal-prices strong{font-size:var(--fs-h3);color:var(--c-primary);line-height:1.25}
.deal-card-compact .deal-prices del{font-size:var(--fs-xs)}
.deal-card-saving{font-size:var(--fs-xs);color:#197443;background:#e9f6ed;padding:3px 5px;border-radius:var(--r-sm);font-weight:700}
.deal-card-seller,.deal-card-location{font-size:var(--fs-xs);color:var(--c-muted);line-height:1.35;overflow-wrap:anywhere}
.deal-card-seller{color:var(--c-text)}
.deal-card-business{display:inline-flex;align-items:center;gap:5px;width:fit-content;font-weight:700;text-decoration:none}
.deal-card-business:hover{text-decoration:underline}
.deal-card-compact .deal-card-cta{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 8px;margin-top:auto;min-height:42px;box-sizing:border-box;background:var(--c-primary);color:white;border-radius:var(--r-md);font-size:var(--fs-ui);font-weight:700}
.deal-card-compact .deal-save-form,.deal-card-compact .deal-save-link{margin:0;align-self:center;font-size:var(--fs-xs)}
.deal-card-compact .deal-save-form button{font-size:var(--fs-xs);min-height:30px;padding:4px 9px}
.deal-card-rail-actions{align-self:stretch;display:flex;justify-content:center;min-height:30px}
.deal-card-rail .deal-comments{display:flex;align-items:center;gap:6px;margin:0;font-size:var(--fs-xs);padding:4px 8px}
.deal-card-rail .deal-vote{max-width:100%;margin:0}
.deal-card-rail .deal-vote form,.deal-card-rail .deal-vote-guest{gap:3px;padding:0}
.deal-card-rail .deal-vote button,.deal-card-rail .deal-vote a{width:30px;height:34px;min-width:0;padding:0}
.deal-card-rail .deal-vote output{font-size:var(--fs-ui);min-width:20px}
.deal-card-rail .deal-vote-status{font-size:var(--fs-xs);white-space:normal}
.deal-discovery-tools{display:block;position:relative}
.deal-discovery-tools .deal-sort{margin-bottom:10px}
.deal-city-control{width:calc(100% - 125px);max-width:315px}
.deal-filter-panel{display:block}
.deal-filter-panel>summary{float:right;margin-top:-46px;position:static}
.deal-filter-panel[open]>.deal-filters{clear:both;width:100%;max-width:none;box-sizing:border-box;margin-top:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){
 .deals-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 .deal-card.deal-card-compact{grid-template-columns:112px minmax(0,1fr)}
 .deal-card-rail{padding:10px 7px;gap:12px}
 .deal-card-compact .deal-card-body{padding:12px;gap:7px}
 .deal-card-compact h2{font-size:var(--fs-md);line-height:1.35}
 .deal-card-compact .deal-prices strong{font-size:var(--fs-xl)}
 .deal-card-compact .deal-card-cta{font-size:var(--fs-sm)}
 .deal-filter-panel[open]>.deal-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){
 .deal-card.deal-card-compact{grid-template-columns:98px minmax(0,1fr)}
 .deal-card-compact .deal-card-body{padding:10px}
 .deal-card-rail{padding:10px 5px}
 .deal-card-rail .deal-vote button,.deal-card-rail .deal-vote a{width:27px}
 .deal-filter-panel .deal-filters>label{grid-column:auto}
 .deal-filter-panel .deal-filter-checks,.deal-filter-panel .deal-filter-actions{grid-column:1/-1}
}
.deal-city-control{justify-self:auto;margin-left:0;margin-right:125px}
@media(min-width:701px){
 .deal-city-control{margin-left:auto}
}
/* Compact detail header and explicit voting invitation. */
.deal-page-header.deal-detail-compact{position:static;background:transparent;box-shadow:none;border:0;border-bottom:1px solid var(--c-line);border-radius:0;padding:15px 0 24px;gap:28px;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}
.deal-detail-compact .deal-page-copy h1{font-size:var(--fs-display);line-height:1.22;letter-spacing:-.6px;max-width:none;margin:12px 0}
.deal-detail-compact figure img{max-height:320px;object-fit:contain;background:var(--c-surface-alt);border-radius:var(--r-md)}
.deal-detail-compact .deal-page-prices{margin:12px 0;gap:8px;flex-wrap:wrap}
.deal-detail-compact .deal-page-prices strong{font-size:var(--fs-h1);color:var(--c-primary)}
.deal-detail-compact .deal-page-prices del{font-size:var(--fs-base)}
.deal-detail-compact .deal-detail-seller{font-size:var(--fs-ui);margin:10px 0;line-height:1.4}
.deal-detail-compact .deal-outbound{padding:12px 18px;font-size:var(--fs-base);text-align:center;box-sizing:border-box}
.deal-detail-compact .deal-page-save{font-size:var(--fs-xs);margin:10px 0 0}
.deal-detail-compact .deal-ending{margin-top:8px}
.deal-vote-prompt{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;margin:20px 0;background:var(--c-primary-soft);border:1px solid var(--c-line);border-radius:var(--r-md)}
.deal-vote-prompt h2{font-size:var(--fs-h3);margin:0 0 6px}
.deal-vote-prompt p{font-size:var(--fs-ui);color:var(--c-muted);margin:0;line-height:1.45}
.deal-vote.is-cta form,.deal-vote.is-cta .deal-vote-guest{grid-template-columns:1fr auto 1fr;gap:10px}
.deal-vote.is-cta button,.deal-vote.is-cta a{width:auto;min-width:112px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-ui);white-space:nowrap;height:44px}
.deal-vote.is-cta output{font-size:var(--fs-lg);min-width:24px}
.deal-vote.is-cta .deal-vote-status:empty{display:none}
.deal-page .deal-page-layout{display:block;padding-top:4px}
@media(max-width:700px){
 .deal-page{padding:16px 4% 48px}
 .deal-page-header.deal-detail-compact{display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:6px 0 18px}
 .deal-detail-compact figure{order:-1;margin:0}
 .deal-detail-compact figure img{width:100%;height:210px;aspect-ratio:auto;max-height:210px}
 .deal-detail-compact .deal-page-copy h1{font-size:var(--fs-h2);line-height:1.25;letter-spacing:-.3px;margin:10px 0}
 .deal-detail-compact .deal-card-meta{gap:5px}
 .deal-detail-compact .deal-card-meta>*{font-size:var(--fs-xs);padding:4px 6px}
 .deal-detail-compact .deal-page-prices strong{font-size:var(--fs-h2)}
 .deal-detail-compact .deal-outbound{display:block;width:100%;min-height:44px}
 .deal-vote-prompt{display:block;padding:18px 14px;margin:16px 0}
 .deal-vote-prompt h2{font-size:var(--fs-xl)}
 .deal-vote-prompt .deal-vote{margin-top:14px}
 .deal-vote.is-cta button,.deal-vote.is-cta a{min-width:0;font-size:var(--fs-sm);padding:0 10px}
 .deal-page-content section{margin-bottom:22px}
 .deal-page-content h2{font-size:var(--fs-h3)}
}
.deal-vote-total{display:block;text-align:center;font-size:var(--fs-xs);color:var(--c-muted);margin-top:7px}
.deal-card-proof{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:var(--fs-xs);line-height:1.25}
.deal-card-proof span{color:#34634a}
.deal-card-proof strong{padding:3px 5px;border-radius:var(--r-sm);background:#e8f5ec;color:#216c3d}
.deal-price-proof{margin:20px 0;padding:22px;border:1px solid var(--c-line);border-left:6px solid var(--c-primary);border-radius:var(--r-sm) var(--r-lg) var(--r-lg) var(--r-sm);background:var(--c-surface-alt)}
.deal-price-proof-intro{display:flex;align-items:flex-start;gap:14px}
.deal-proof-mark{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:var(--fs-xl);font-weight:800}
.deal-price-proof h2{margin:2px 0 7px;font-size:var(--fs-h3)}
.deal-price-proof-intro p{max-width:760px;margin:0;color:var(--c-text);line-height:1.55;white-space:pre-line}
.deal-proof-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:20px 0;background:#dbeaf0;border:1px solid var(--c-line);border-radius:var(--r-md);overflow:hidden}
.deal-proof-summary>div{display:grid;gap:4px;padding:14px;background:var(--c-surface)}
.deal-proof-summary span{font-size:var(--fs-xs);color:var(--c-muted)}
.deal-proof-summary strong{font-size:var(--fs-base);color:var(--c-text)}
.deal-proof-verdict{margin:16px 0 0;padding:11px 14px;border-radius:var(--r-md);background:#e5f4e9;color:#235f39}
.deal-price-checks{margin-top:20px}
.deal-price-checks h3{margin:0 0 9px;font-size:var(--fs-base)}
.deal-price-checks>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 4px;border-top:1px solid var(--c-line);color:var(--c-text)}
.deal-price-checks>a:hover strong{text-decoration:underline}
.deal-price-checks>a>span{display:grid;gap:3px}
.deal-price-checks small{font-size:var(--fs-xs);color:var(--c-muted)}
.deal-check-price{text-align:right}
.deal-check-price>strong{font-size:var(--fs-md)}
.deal-price-proof :focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
@media(max-width:700px){
 .deal-price-proof{padding:17px 14px;border-left-width:4px}
 .deal-price-proof h2{font-size:var(--fs-xl)}
 .deal-proof-summary{grid-template-columns:1fr}
 .deal-price-checks>a{align-items:flex-start}
 .deal-check-price{min-width:112px}
}

/* Deal page v2 (05.10.2026, owner: «Дизайн нужно улучшить»): title + cover + text on the left, a sticky panel on the right */
.deal-page.dp2{max-width:1200px;padding-top:18px}
.dp2-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"head panel" "cover panel" "vote panel" "body panel";column-gap:48px;align-items:start;margin-top:8px}
.dp2-head{grid-area:head;min-width:0}
.dp2-head h1{margin:14px 0 8px;font-size:clamp(28px,3.1vw,40px);line-height:1.18;letter-spacing:-.6px;font-weight:600}
.dp2-by{margin:0 0 20px;color:var(--c-muted);font-size:var(--fs-base)}
.dp2-by a{font-weight:600}
.dp2-cover{grid-area:cover;margin:0 0 12px;min-width:0}
.dp2-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg);background:var(--c-surface-muted)}
.dp2-panel{grid-area:panel;position:sticky;top:20px;display:grid;gap:14px;padding:22px;border:1px solid var(--c-line);border-radius:var(--r-lg);background:var(--c-surface);box-shadow:0 6px 24px rgba(23,34,44,.06);margin-top:6px}
.dp2-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}
.dp2-price strong{font-size:34px;line-height:1.05;letter-spacing:-.6px;color:var(--c-ink)}
.dp2-price del{color:var(--c-muted);font-size:var(--fs-md)}
.dp2-discount{align-self:center;padding:5px 9px;border-radius:var(--r-pill);background:#ff623d;color:#fff;font-size:var(--fs-sm);font-weight:700}
.dp2-ends{display:flex;align-items:center;gap:8px;margin:0;color:var(--c-text);font-size:var(--fs-ui)}
.dp2-ends .icon{width:18px;height:18px;color:var(--c-muted);flex:0 0 auto}
.dp2-ends.is-soon b{color:#c2410c}
.dp2-promo>span{display:block;margin-bottom:6px;color:var(--c-muted);font-size:var(--fs-sm)}
.dp2-promo>div{display:flex;align-items:stretch;border:1px dashed #4f88a0;border-radius:var(--r-md);background:var(--c-primary-soft);overflow:hidden}
.dp2-promo code{flex:1 1 auto;min-width:0;padding:11px 14px;font:700 17px/1.2 Eastman,Arial,sans-serif;letter-spacing:.5px;overflow-wrap:anywhere;background:none}
.dp2-promo button{flex:0 0 auto;min-height:44px;padding:0 14px;border:0;border-left:1px dashed #4f88a0;background:transparent;color:var(--c-primary);font:inherit;font-weight:700;font-size:var(--fs-sm);cursor:pointer}
.dp2-promo button:hover{background:rgba(255,255,255,.6)}
.dp2 .dp2-cta{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 18px;border-radius:var(--r-md);font-size:var(--fs-base);text-align:center;box-sizing:border-box;text-decoration:none}
.dp2 .dp2-save{display:flex;justify-content:center;align-items:center;margin:0;min-height:44px;padding:0 14px;box-sizing:border-box;font-size:var(--fs-sm)}
.dp2 .dp2-save button{min-height:40px}
.dp2-biz{margin-top:6px;padding-top:16px;border-top:1px solid var(--c-line);display:grid;gap:10px}
.dp2-biz-head{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}
.dp2-biz-head:hover strong{color:var(--c-primary)}
.dp2-biz-avatar{flex:0 0 48px;width:48px;height:48px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--c-primary-soft);color:var(--c-primary);font-weight:700;font-size:20px}
.dp2-biz-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.dp2-biz-head>span:last-child{display:grid;gap:2px;min-width:0}
.dp2-biz-head strong{font-size:var(--fs-base);line-height:1.3}
.dp2-biz-head small{color:var(--c-muted);font-size:var(--fs-sm);line-height:1.35}
.dp2-biz-rating{margin:0;font-size:var(--fs-sm);color:var(--c-text)}
.dp2-biz-rating span{color:#f5a524}
.dp2-biz-links{display:grid;gap:8px}
.dp2-biz-links .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px}
.dp2-biz-links .btn .icon{width:18px;height:18px}
.dp2-biz-more{font-weight:600;font-size:var(--fs-sm)}
.dp2-body{grid-area:body;min-width:0}
.dp2-section{margin:0 0 28px}
.dp2-section h2{margin:0 0 12px;font-size:var(--fs-h2);letter-spacing:-.3px}
.dp2-section p{margin:0 0 12px;white-space:pre-line;font-size:var(--fs-md);line-height:1.75;color:var(--c-text)}
.dp2-terms{padding:20px 22px;border-radius:var(--r-lg);background:var(--c-surface-alt)}
.dp2-terms h2{font-size:var(--fs-h3)}
.dp2-terms p{font-size:var(--fs-base);line-height:1.65}
.dp2-terms p:last-child{margin-bottom:0}
.dp2 .dp2-vote{margin:8px 0 0;padding:18px 20px}
.dp2 .dp2-comments{max-width:none;margin:40px 0 0;padding:28px 0 0;border-top:1px solid var(--c-line)}
.dp2 .deal-price-proof{margin:0 0 28px}
@media(max-width:960px){
 .dp2-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"head" "cover" "vote" "panel" "body";column-gap:0}
 .dp2-panel{position:static;margin:0 0 28px;box-shadow:none}
 .dp2-cover{margin-bottom:10px}
}
@media(max-width:700px){
 .deal-page.dp2{padding:12px 16px 48px}
 .dp2-head h1{font-size:26px;letter-spacing:-.3px}
 .dp2-by{margin-bottom:14px;font-size:var(--fs-ui)}
 .dp2-cover img{border-radius:var(--r-md)}
 .dp2-panel{padding:18px 16px}
 .dp2-price strong{font-size:30px}
 .dp2 .dp2-vote{flex-direction:column;align-items:stretch}
 .dp2-terms{padding:16px}
}
/* «Вигідна пропозиція?» — one slim row under the cover (05.10.2026: «Компактніше і відразу під фото») */
.dp2-voterow{grid-area:vote;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 14px;margin:0 0 28px;padding:8px 8px 8px 16px;border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-surface-alt);min-width:0}
.dp2-voterow h2{margin:0;font-size:var(--fs-ui);font-weight:600;letter-spacing:0}
.dp2-voterow .deal-vote{display:flex;align-items:center;gap:10px}
.dp2-voterow .deal-vote.is-cta form,.dp2-voterow .deal-vote.is-cta .deal-vote-guest{gap:6px}
.dp2-voterow .deal-vote.is-cta button,.dp2-voterow .deal-vote.is-cta a{height:36px;min-width:0;padding:0 12px;font-size:var(--fs-sm)}
.dp2-voterow .deal-vote.is-cta output{font-size:var(--fs-base);min-width:18px}
.dp2-voterow .deal-vote-total{color:var(--c-muted);font-size:var(--fs-xs);white-space:nowrap}
.dp2-voterow .deal-vote-status{margin:0;min-height:0}
.dp2-voterow .deal-vote-status:empty{display:none}
@media(max-width:700px){.dp2-voterow{flex-wrap:nowrap;gap:8px;padding:6px 6px 6px 10px;margin-bottom:18px}.dp2-voterow h2{font-size:13px;line-height:1.25}.dp2-voterow .deal-vote.is-cta form,.dp2-voterow .deal-vote.is-cta .deal-vote-guest{gap:4px}.dp2-voterow .deal-vote.is-cta button,.dp2-voterow .deal-vote.is-cta a{height:34px;padding:0 9px;font-size:13px}.dp2-voterow .deal-vote-total{display:none}}
/* deals toolbar (05.10.2026): the city field and «Фільтри» side by side, nothing overlaps */
.deal-discovery-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;position:relative}
.deal-discovery-tools .deal-sort{flex:1 1 100%;margin:0 0 4px}
.deal-discovery-tools .deal-city-control{flex:0 1 320px;width:auto;max-width:none;min-width:0;margin:0 0 0 auto;padding-right:0;overflow:hidden;box-sizing:border-box;min-height:46px}
.deal-discovery-tools .deal-city-control label{flex:1 1 auto;min-width:0}
.deal-discovery-tools .deal-city-control select{max-width:none}
.deal-discovery-tools .deal-city-control button{flex:0 0 auto;align-self:stretch;min-width:40px;margin:0 0 0 4px;padding:0 10px;border-left:1px solid var(--c-primary-line);border-radius:0 var(--r-md) var(--r-md) 0;font-size:var(--fs-lg);cursor:pointer}
.deal-discovery-tools .deal-city-control button:hover{background:var(--c-primary-soft)}
.deal-discovery-tools .deal-filter-panel{display:block;flex:0 0 auto;position:static;margin:0}
.deal-discovery-tools .deal-filter-panel>summary{float:none;position:static;margin:0;min-height:46px;box-sizing:border-box;white-space:nowrap}
.deal-discovery-tools .deal-filter-panel[open]>.deal-filters{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:30;width:auto;margin:0;box-shadow:0 14px 36px rgba(23,34,44,.16)}
@media(max-width:700px){.deal-discovery-tools .deal-city-control{flex:1 1 0;margin-left:0}.deal-discovery-tools .deal-filter-panel>summary{padding:0 12px}}
/* a deal without a picture (05.10.2026) and «Отримати знижку в Telegram» */
.deal-card-noimg{display:grid;place-items:center;width:100%;height:100%;min-height:96px;border-radius:inherit;background:linear-gradient(135deg,var(--c-primary-soft),#fff1e8);color:var(--c-primary);font-weight:700;font-size:24px;letter-spacing:-.5px}
.deal-card-noimg .icon{width:34px;height:34px}
.dp2-tg{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;border-radius:var(--r-md);background:#229ed9;color:#fff;font-weight:700;font-size:var(--fs-ui);text-align:center;text-decoration:none;box-sizing:border-box}
.dp2-tg:hover{background:#1b8bc0;color:#fff;text-decoration:none}
.dp2-tg .icon{width:18px;height:18px;flex:0 0 auto}
/* «Пропозиції» by source (05.10.2026) */
.deal-channels{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:6px 0 14px;border-bottom:1px solid var(--c-line)}
.deal-channels::-webkit-scrollbar{display:none}
.deal-channels a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:46px;padding:0 14px;margin-bottom:-1px;border-bottom:3px solid transparent;color:var(--c-muted);font-weight:600;font-size:var(--fs-ui);text-decoration:none;white-space:nowrap}
.deal-channels a:hover{color:var(--c-ink);text-decoration:none}
.deal-channels a[aria-current]{color:var(--c-primary);border-bottom-color:var(--c-primary)}
.deal-channels small{padding:1px 7px;border-radius:var(--r-pill);background:var(--c-surface-alt);color:var(--c-muted);font-size:var(--fs-xs);font-weight:500}
.deal-channels a[aria-current] small{background:var(--c-primary-soft);color:var(--c-primary)}
.deal-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 14px;padding:2px 0}
.deal-chips::-webkit-scrollbar{display:none}
.deal-chips a{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 14px;border:1px solid var(--c-line);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-text);font-size:var(--fs-sm);text-decoration:none;white-space:nowrap}
.deal-chips a:hover{border-color:var(--c-primary-line);text-decoration:none}
.deal-chips a[aria-current]{border-color:var(--c-primary);background:var(--c-primary-soft);color:var(--c-primary);font-weight:600}
.deal-chip-promo span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#ff623d;color:#fff;font-weight:700;font-size:12px}
.deal-discovery-tools .deal-sort-control{flex:0 0 auto;margin:0}
.deal-sort-control select{height:46px;max-width:230px;padding:0 34px 0 14px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);background-color:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-ui)}
@media(max-width:700px){
 .deal-discovery-tools .deal-city-control{order:1;flex:1 1 100%}
 .deal-discovery-tools .deal-sort-control{order:2;flex:1 1 0;min-width:0}
 .deal-sort-control select{width:100%;max-width:none;font-size:var(--fs-sm)}
 .deal-discovery-tools .deal-filter-panel{order:3}
 .deal-channels a{padding:0 11px;font-size:var(--fs-sm)}
}
/* the deal panel is an <aside>: keep the global «aside > a span» muted colour off its buttons (05.10.2026) */
.dp2 .dp2-panel>a span,.dp2 .dp2-tg span{color:inherit}

/* ===== «Пропозиції» v2 (05.10.2026, owner: «Краще дизайн. Проаналізуй UX UI») ===== */
/* header: a smaller title; «Поділитися акцією» is a business action — secondary, not the page's main blue */
.deals-discovery .deals-discovery-heading{margin:14px 0 18px;align-items:flex-end}
.deals-discovery .deals-discovery-heading h1{font-size:clamp(28px,3vw,40px);line-height:1.15;margin:0 0 6px}
.deals-discovery .deal-contribution-cta,.deals-discovery .deal-contribution-cta.is-owner{min-height:44px;background:var(--c-surface);color:var(--c-primary);border:1px solid var(--c-primary-line,var(--c-line-strong));box-sizing:border-box}
.deals-discovery .deal-contribution-cta:hover,.deals-discovery .deal-contribution-cta.is-owner:hover{background:var(--c-primary-soft);color:var(--c-primary)}
.deals-discovery .deals-saved-nav{min-height:44px;padding:0 14px;box-sizing:border-box}
/* controls: chips + sort + city + filters in one row */
.deals-discovery .deal-discovery-tools{margin:0 0 6px}
.deals-discovery .deal-discovery-tools .deal-chips{flex:1 1 260px;min-width:0;margin:0}
.deals-discovery .deal-discovery-tools .deal-city-control{flex:0 1 280px;margin:0}
.has-autosubmit .deal-discovery-tools .deal-city-control button{display:none}
.has-autosubmit .deal-discovery-tools .deal-city-control{padding-right:10px}
.deals-discovery .deal-sort-control select{max-width:200px}
.deals-discovery .deal-channels{margin:0 0 14px}
.deals-discovery .deals-heading{margin:18px 0 14px}
.deals-discovery .deals-heading h2{font-size:var(--fs-base);font-weight:600;color:var(--c-muted);margin:0}
/* the grid */
.deals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
@media(max-width:1050px){.deals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.deals-grid{grid-template-columns:minmax(0,1fr);gap:12px}}
/* the card */
.dc2{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.dc2:hover{border-color:var(--c-line-strong);box-shadow:0 10px 28px rgba(23,34,44,.08)}
.dc2:focus-within{border-color:var(--c-primary)}
.dc2.is-expired{opacity:.72}
.dc2-media{position:relative;display:block;aspect-ratio:16/9;background:var(--c-surface-muted);overflow:hidden}
.dc2-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.dc2:hover .dc2-media img{transform:scale(1.03)}
.dc2-badge{position:absolute;left:12px;top:12px;padding:5px 10px;border-radius:var(--r-pill);background:#ff623d;color:#fff;font-weight:700;font-size:var(--fs-sm);line-height:1.2;box-shadow:0 2px 8px rgba(0,0,0,.12)}
.dc2-promo{position:absolute;right:12px;top:12px;padding:5px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.94);color:#b34824;font-weight:700;font-size:var(--fs-xs);line-height:1.2}
.dc2-body{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0;padding:14px 16px 12px}
.dc2-meta{display:flex;align-items:baseline;gap:6px;margin:0;min-width:0;font-size:var(--fs-sm);color:var(--c-muted);white-space:nowrap}
.dc2-meta a,.dc2-seller{position:relative;z-index:2;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--c-text);font-weight:600;text-decoration:none}
.dc2-meta a:hover{color:var(--c-primary)}
.dc2-place{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.dc2-meta a+.dc2-place::before,.dc2-seller+.dc2-place::before{content:"· "}
.dc2-title{margin:0;font-size:var(--fs-lg);line-height:1.3;font-weight:600;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dc2-title a{color:var(--c-ink);text-decoration:none}
.dc2-title a::after{content:"";position:absolute;inset:0;z-index:1}
.dc2-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:2px 0 0}
.dc2-price strong{font-size:22px;line-height:1.1;color:var(--c-primary);letter-spacing:-.3px}
.dc2-price del{color:var(--c-muted);font-size:var(--fs-sm)}
.dc2-proof{margin:0;font-size:var(--fs-xs);color:#2d6a43}
.dc2-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:10px;border-top:1px solid var(--c-line)}
.dc2-body>.dc2-foot{margin-top:auto}
.dc2-ends{min-width:0;font-size:var(--fs-xs);color:var(--c-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc2-ends.is-soon{color:#c2410c;font-weight:600}
.dc2-actions{position:relative;z-index:2;display:flex;align-items:center;gap:6px;flex:0 0 auto}
.dc2-actions .deal-vote{min-width:0}
.dc2-actions .deal-vote .deal-vote-status{display:none}
.dc2-comments{display:inline-flex;align-items:center;gap:4px;min-height:32px;padding:0 6px;color:var(--c-muted);font-size:var(--fs-xs);text-decoration:none}
.dc2-save{margin:0}
.dc2-save button,.dc2-save-link{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid var(--c-line);border-radius:50%;background:var(--c-surface);color:var(--c-primary);font:inherit;font-size:16px;line-height:1;cursor:pointer;text-decoration:none;box-sizing:border-box}
.dc2-save button:hover,.dc2-save-link:hover{border-color:var(--c-primary);text-decoration:none}
.dc2-save button[aria-pressed=true]{background:var(--c-primary-soft);border-color:var(--c-primary)}
.dc2-save .dc2-save-text{width:auto;padding:0 12px;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600}
@media(max-width:600px){
 .dc2{flex-direction:row;align-items:stretch}
 .dc2-media{flex:0 0 112px;aspect-ratio:auto;min-height:132px}
 .dc2-badge{left:6px;top:6px;padding:3px 7px;font-size:var(--fs-xs)}
 .dc2-promo{left:6px;right:auto;top:auto;bottom:6px;padding:3px 7px;font-size:11px}
 .dc2-body{padding:10px 12px 8px;gap:4px}
 .dc2-title{font-size:var(--fs-base);line-height:1.3}
 .dc2-price strong{font-size:18px}
 .dc2-foot{padding-top:8px}
 .dc2-save button,.dc2-save-link{width:32px;height:32px}
}
/* phones: the title with the two header buttons on one line, the controls in two rows */
@media(max-width:700px){
 .deals-discovery .deals-discovery-heading{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:6px 0 12px}
 .deals-discovery .deals-discovery-heading>div:first-child{display:contents}
 .deals-discovery .deals-discovery-heading h1{order:1;flex:1 1 auto;margin:0;font-size:26px}
 .deals-discovery .deals-heading-actions{order:2;width:auto;flex:0 0 auto;gap:6px}
 .deals-discovery .deals-discovery-heading p{order:3;flex:1 1 100%;font-size:var(--fs-sm)}
 .deals-discovery .deal-contribution-cta{flex:0 0 auto;width:44px;padding:0;justify-content:center;font-size:0}
 .deals-discovery .deal-contribution-cta span{font-size:22px}
 .deals-discovery .deals-saved-nav{padding:0 10px;font-size:var(--fs-xs)}
 .deals-discovery .deal-discovery-tools{gap:8px}
 .deals-discovery .deal-discovery-tools .deal-chips{order:0;flex:1 1 100%}
 .deals-discovery .deal-discovery-tools .deal-city-control{order:1;flex:1 1 0;min-width:0}
 .deals-discovery .deal-discovery-tools .deal-sort-control{order:2;flex:0 0 auto}
 .deals-discovery .deal-sort-control select{width:122px;max-width:122px;padding:0 26px 0 10px;font-size:13px;text-overflow:ellipsis}
 .deals-discovery .deal-discovery-tools .deal-filter-panel{order:3}
 .deals-discovery .deal-filter-panel>summary{width:46px;padding:0;justify-content:center;font-size:0;gap:0;position:relative}
 .deals-discovery .deal-filter-panel>summary svg{width:20px;height:20px}
 .deals-discovery .deal-filter-panel>summary b{position:absolute;top:-6px;right:-6px;font-size:11px;min-width:18px;height:18px}
 .deals-discovery .deals-heading{margin:12px 0 10px}
}
/* tablets: the chips on their own row, then the city, the sort and the filters */
@media(min-width:701px) and (max-width:1050px){
 .deals-discovery .deal-discovery-tools .deal-chips{order:0;flex:1 1 100%}
 .deals-discovery .deal-discovery-tools .deal-city-control{order:1;flex:1 1 0;min-width:0;max-width:none}
 .deals-discovery .deal-discovery-tools .deal-sort-control{order:2}
 .deals-discovery .deal-discovery-tools .deal-filter-panel{order:3}
}
/* the hidden promo code (05.10.2026) */
.dp2-promo code[data-promo-code]{letter-spacing:2px}
.dp2-promo button[data-promo-reveal]{white-space:nowrap}
.dp2-promo-status{display:block;margin-top:6px;color:#c2410c;font-size:var(--fs-xs)}
.dp2-promo-status:empty{display:none}
/* the promo code: a third visible, the full one for members (05.10.2026) */
.dp2-promo .dp2-promo-login{flex:0 0 auto;display:flex;align-items:center;min-height:44px;padding:0 14px;border-left:1px dashed #4f88a0;color:var(--c-primary);font-weight:700;font-size:var(--fs-sm);white-space:nowrap;text-decoration:none}
.dp2-promo .dp2-promo-login:hover{background:rgba(255,255,255,.6);text-decoration:none}
.dp2-promo-note{display:block;margin-top:6px;color:var(--c-muted);font-size:var(--fs-xs);line-height:1.4}

/* 05.10.2026: drafts on the front for the editor, shop logos of deals without a business card */
.deal-draft-note,.deals-draft-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}
.dc2-draft{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:var(--r-pill);background:var(--c-ink);color:#fff;font-weight:700;font-size:var(--fs-xs);line-height:1.2}
.dp2-shop .dp2-shop-logo{flex-basis:64px;width:64px;height:64px;border:1px solid var(--c-line);background:#fff}
.dp2-shop .dp2-shop-logo img{object-fit:contain}
@media(max-width:720px){.dc2-draft{right:6px;bottom:auto;top:6px;padding:3px 7px;font-size:11px}}
/* audit 29: the vote row fits a 375 px phone without clipping «Не дуже» */
@media(max-width:420px){.dp2-voterow h2{flex:1 1 auto;min-width:0}.dp2-voterow .deal-vote{flex:none}.dp2-voterow .deal-vote.is-cta button,.dp2-voterow .deal-vote.is-cta a{flex:none;width:auto;padding:0 9px;white-space:nowrap}}
/* audit 29 (DES29-08/09/10) */
:root{--c-deal:#c4361a}
.dc2-badge{background:var(--c-deal)}
.dp2-discount,.deal-discount{background:var(--c-deal)}
.dc2-vote button,.dc2-save button,.dc2-save-link{position:relative}
.dc2-vote button::after,.dc2-save button::after,.dc2-save-link::after{content:"";position:absolute;inset:-6px}
@media(max-width:700px){
 .dc2-promo{font-size:var(--fs-xs)}
 .dp2-cover img[src*="/static/brand/deal-cover-"]{aspect-ratio:16/5;max-height:120px;object-fit:cover;object-position:center}
 .dc2-media img[src*="/static/brand/deal-cover-"]{object-fit:contain;background:#fdebf1}
}
/* 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}
