/* Business card (batch 18, 03.10.2026): moved unchanged from profile-kamon.css, which is no longer loaded; three rules
   that nothing can match were left behind (profile map inside contacts, .review-top, .review-symbol). */
.catalog-site .business-profile{max-width:1200px;margin:auto;padding:0 28px 48px}
.business-profile .profile-tabs{position:sticky;top:0;z-index:30;display:flex;justify-content:flex-start;gap:32px;margin:0 -28px 28px;padding:0 28px;background:var(--c-surface-alt);border:0;scrollbar-width:none}
.catalog-site .business-profile .profile-tabs a{font-size:var(--fs-base);color:var(--c-ink);padding:15px 0;border-bottom:2px solid transparent;min-height:50px}
.catalog-site .business-profile .profile-tabs a[aria-current]{color:var(--c-primary);border-color:var(--c-primary)}
.catalog-site .business-profile .profile-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-bottom:36px;padding:0;align-items:center}
.catalog-site .business-profile .profile-head .big{width:100%;height:320px;border-radius:var(--r-lg);font-size:100px;background:var(--c-surface-muted)}
.catalog-site .business-profile .profile-head .big img{object-fit:cover}
.catalog-site .business-profile .profile-head h1{font-size:var(--fs-h1);font-weight:500;line-height:1.2;margin:8px 0 16px}
.business-profile .profile-head .city{font-size:var(--fs-ui);color:var(--c-muted);margin:0}
.business-profile .profile-head p{font-size:var(--fs-base);line-height:1.5}
.business-profile .profile-actions{margin:20px 0 14px}
.business-profile .member-company-actions{display:flex;gap:16px;flex-wrap:wrap}
.business-profile .member-company-actions>a,.business-profile .member-company-actions button{background:transparent;color:var(--c-primary);border:0;border-radius:0;padding:4px 0;min-height:40px;font-size:var(--fs-sm);box-shadow:none}
.catalog-site .business-profile .profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:32px;align-items:start}
.business-profile .profile-main{grid-column:1;grid-row:1}
.business-profile .business-sidebar{grid-column:2;grid-row:1 / span 2;order:initial;scroll-margin-top:70px}
.business-profile .profile-reviews{grid-column:1;min-width:0}
.catalog-site .business-profile h2{font-size:var(--fs-h2);font-weight:500;line-height:1.3}
.catalog-site .business-profile .profile-main .panel{margin:0 0 28px;padding:0 0 24px;scroll-margin-top:70px}
.profile-service-categories{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 12px}
.profile-service-categories a{padding:8px 13px;border:1px solid var(--c-primary);border-radius:var(--r-sm);color:var(--c-ink);font-size:var(--fs-ui)}
.profile-service-list{display:grid}
.profile-service-list a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--c-line);color:var(--c-ink);font-size:var(--fs-md);line-height:1.5}
.profile-service-list a>span:last-child{color:var(--c-primary);font-size:var(--fs-h3)}
.catalog-site .business-profile .business-sidebar .panel{background:var(--c-surface-alt);border:0;border-radius:var(--r-md);padding:24px}
.catalog-site .business-profile .contact .phone{background:var(--c-surface);border:1px solid var(--c-line);font-size:var(--fs-base);padding:14px 12px}
.catalog-site .business-profile .contact .website-link{background:var(--c-surface);color:var(--c-primary);border:1px solid var(--c-line-strong)}
.catalog-site .business-profile .profile-reviews>.panel{scroll-margin-top:70px;border:0;border-radius:var(--r-lg);background:var(--c-surface-alt);padding:24px}
.business-profile .profile-write-review{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:11px 14px;border-radius:var(--r-md);background:var(--c-primary);color:white;font-size:var(--fs-ui);line-height:1.35;font-weight:600;min-height:var(--control-h)}
.business-profile .review-overview{padding:20px 0;background:transparent;border:0;border-radius:0;border-top:1px solid var(--c-line);border-bottom:1px solid var(--c-line);gap:20px;margin-bottom:24px}
.catalog-site .business-profile .review{padding:22px 0;margin:0;border:0!important;border-bottom:1px solid var(--c-line-strong)!important;border-radius:0;background:transparent}
.business-profile .review-rating{background:transparent;border:0;color:var(--c-star);font-size:var(--fs-md);padding:0}
.business-profile .score-stars{color:var(--c-star)}
.business-profile .review p{font-size:var(--fs-base);line-height:1.65}
.business-profile .reviews-empty{border:0;background:transparent;padding:22px 0}
.business-profile .profile-owner{margin-top:44px;background:var(--c-sky);border-radius:var(--r-lg);display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;padding:32px 40px;text-align:center}
.business-profile .profile-owner h2{font-size:var(--fs-h1);font-weight:700;margin:0 0 8px}
.business-profile .profile-owner p{font-size:var(--fs-lg);line-height:1.35;margin:0 auto 22px;max-width:340px}
.business-profile .profile-owner a{display:inline-flex;align-items:center;justify-content:center;padding:16px 26px;background:var(--c-primary);color:#fff;border-radius:var(--r-md);font-size:var(--fs-md);font-weight:600;min-height:48px}
.business-profile .profile-owner img{display:block;max-width:100%;width:360px;height:auto;margin:auto}
.profile-mobile-contact{display:none}
.business-profile a:focus-visible,.profile-mobile-contact .button:focus-visible{outline:2px solid var(--c-primary);outline-offset:4px}
@media(max-width:700px){
 .catalog-site:has(.business-profile){padding-bottom:88px}
 .catalog-site .business-profile{padding:0 16px 30px}
 .business-profile .profile-tabs{margin:0 -16px;padding:0 16px;gap:25px;justify-content:flex-start}
 .catalog-site .business-profile .profile-tabs a{font-size:var(--fs-ui);flex-shrink:0}
 .catalog-site .business-profile .profile-head{display:flex;flex-direction:column;align-items:stretch;gap:20px;margin:0 0 32px}
 .catalog-site .business-profile .profile-head .big{width:calc(100% + 32px);height:260px;margin:0 -16px;border-radius:0;flex:none}
 .catalog-site .business-profile .profile-head h1{font-size:var(--fs-h2);line-height:1.25;margin:8px 0 14px}
 .catalog-site .business-profile .profile-head p{font-size:var(--fs-base);margin:8px 0}
 .catalog-site .business-profile .profile-grid{display:flex;flex-direction:column;gap:0}
 .business-profile .profile-main,.business-profile .profile-reviews,.business-profile .business-sidebar{width:100%;min-width:0}
 .business-profile .business-sidebar{margin-bottom:28px}
 .catalog-site .business-profile .profile-reviews>.panel{padding:22px 18px}
 .catalog-site .business-profile .block-heading h2{font-size:var(--fs-h3)}
 .business-profile .profile-owner{grid-template-columns:1fr;padding:26px 20px 20px;gap:30px;margin-top:34px}
 .business-profile .profile-owner h2{font-size:var(--fs-h2)}
 .business-profile .profile-owner p{font-size:var(--fs-md)}
 .business-profile .profile-owner img{width:100%;max-width:350px}
 .profile-mobile-contact{position:fixed;bottom:0;left:0;right:0;z-index:40;display:block;padding:12px 16px max(12px,env(safe-area-inset-bottom));background:var(--c-surface);box-shadow:0 -3px 14px #0000000a}
 .catalog-site .profile-mobile-contact .button{display:flex;width:100%;align-items:center;justify-content:center;background:var(--c-primary);color:white;border:0;border-radius:var(--r-md);min-height:48px;font-size:var(--fs-md);font-weight:600;padding:12px 16px;text-align:center}
}
@media(prefers-reduced-motion:reduce){
 .business-profile *{scroll-behavior:auto}
}
.location-card{border:1px solid var(--c-line);border-radius:var(--r-lg);overflow:hidden;background:var(--c-surface);margin-bottom:24px}
.location-illustration{position:relative;min-height:270px;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;gap:22px;padding:44px 20px 24px;box-sizing:border-box;background:linear-gradient(0deg,var(--c-surface) 0%,#ffffff00 48%),repeating-linear-gradient(0deg,transparent 0 31px,#dce5ef 32px,transparent 33px),repeating-linear-gradient(90deg,transparent 0 31px,#dce5ef 32px,transparent 33px),var(--c-primary-soft)}
.location-city{position:absolute;top:16px;left:16px;padding:9px 13px;border-radius:var(--r-md);background:#ffffffed;color:var(--c-ink);font-size:var(--fs-ui);font-weight:600}
.location-pin{display:block;width:80px;height:99px;filter:drop-shadow(12px 12px 12px #247ff225);margin-top:34px}
.location-route{display:inline-flex;align-items:center;justify-content:center;max-width:100%;min-height:44px;padding:10px 16px;box-sizing:border-box;background:var(--c-surface);border:1px solid var(--c-line-strong);border-radius:var(--r-md);color:var(--c-primary);text-decoration:none;font-size:var(--fs-base);font-weight:600;text-align:center}
.location-route:hover{background:var(--c-primary-soft);border-color:var(--c-primary-line)}
.location-route:focus-visible{outline:3px solid var(--c-primary);outline-offset:3px}
.location-information{padding:22px 24px 28px}
.catalog-site .business-profile .location-address{display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-base);line-height:1.6;margin:0 0 26px;color:var(--c-text)}
.location-address svg{flex-shrink:0;margin-top:2px}
.location-information h3{font-size:var(--fs-md);line-height:1.5;margin:0 0 12px;font-weight:600}
.location-information h3 span{color:var(--c-primary)}
.location-hours-short{font-size:var(--fs-base);color:var(--c-text);line-height:1.5;margin:0}
.location-hours{font-size:var(--fs-ui);margin:0;color:var(--c-text)}
.location-hours>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}
.location-hours dd{margin:0}
@media(max-width:700px){
 .business-profile .member-company-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .location-illustration{min-height:270px}
 .location-information{padding:24px}
 .location-pin{width:86px;height:106px}
}
.profile-more-services summary{cursor:pointer;color:var(--c-primary);font-size:var(--fs-ui);padding:18px 0;min-height:44px}
.profile-more-services summary:focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}
.business-profile .member-company-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 4px}
.business-profile .member-company-actions form{margin:0;display:flex}
.catalog-site .business-profile .member-company-actions>a,.catalog-site .business-profile .member-company-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--c-line-strong);border-radius:var(--r-md);padding:10px 12px;min-height:42px;background:var(--c-surface);color:var(--c-primary);font-size:var(--fs-ui);font-weight:600;line-height:1.25;text-decoration:none;transition:background .15s,border-color .15s}
.catalog-site .business-profile .member-company-actions>a:hover,.catalog-site .business-profile .member-company-actions button:hover{background:var(--c-primary-soft);border-color:var(--c-primary-line)}
.member-company-actions svg{width:17px;height:17px;flex-shrink:0;color:var(--c-primary)}
.catalog-site .profile-mobile-contact .phone-call{font-size:var(--fs-ui)}
@media(max-width:700px){
 .business-profile .member-company-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 .catalog-site .business-profile .member-company-actions>a,.catalog-site .business-profile .member-company-actions button{flex-direction:column;width:100%;box-sizing:border-box;padding:9px 5px;min-height:65px;text-align:center;font-size:var(--fs-ui);gap:6px;border:1px solid var(--c-line-strong);background:var(--c-surface);color:var(--c-primary);border-radius:var(--r-md);font-weight:600}
}
.catalog-site .business-profile .profile-summary h1{font-size:var(--fs-h1);font-weight:600;line-height:1.23;margin:0 0 16px;overflow-wrap:anywhere}
.profile-rating-line{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin:0 0 12px;font-size:var(--fs-md);font-weight:600;color:var(--c-ink)}
.profile-rating-score{display:inline-flex;align-items:center;gap:8px}
.profile-rating-score>span{color:var(--c-star)}
.profile-rating-line>a{display:inline-flex;align-items:center;gap:9px;color:var(--c-ink);min-height:32px}
.profile-rating-line svg{color:var(--c-primary)}
.profile-hours summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;cursor:pointer;list-style:none;min-height:38px;font-size:var(--fs-md);color:var(--c-ink)}
.profile-hours summary::-webkit-details-marker{display:none}
.profile-hours summary strong{color:var(--c-primary);font-weight:600}
.hours-chevron{margin-left:2px;transition:transform .15s}
.profile-hours[open] .hours-chevron{transform:rotate(180deg)}
.profile-hours dl{max-width:370px;background:var(--c-surface-alt);border-radius:var(--r-md);margin:8px 0;padding:12px 16px;font-size:var(--fs-base)}
.profile-hours dl>div{display:flex;justify-content:space-between;gap:20px;padding:5px 0}
.profile-hours dd{margin:0}
.catalog-site .business-profile .profile-hours>p{font-size:var(--fs-xs);color:var(--c-muted);margin:8px 0}
.catalog-site .business-profile .profile-address{font-size:var(--fs-md);line-height:1.45;margin:3px 0 0;color:var(--c-text)}
.profile-address strong{font-weight:600}
.profile-hours summary:focus-visible{outline:2px solid var(--c-primary);outline-offset:3px}
@media(max-width:700px){
 .catalog-site .business-profile .profile-head{gap:24px}
 .catalog-site .business-profile .profile-summary h1{font-size:var(--fs-h2);margin:0 0 12px}
 .profile-rating-line{font-size:var(--fs-md);gap:22px;margin-bottom:8px}
 .profile-hours summary,.catalog-site .business-profile .profile-address{font-size:var(--fs-md)}
 .business-profile .profile-actions{margin:16px 0 8px}
 .business-profile .member-company-actions{gap:12px}
}
.profile-brand-badge{display:inline-flex;margin-bottom:8px;padding:6px 10px;border-radius:var(--r-pill);background:var(--c-primary-soft);color:var(--c-primary);font-size:var(--fs-xs);font-weight:700}
.profile-offers>a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--c-line)}
.profile-offers>a:first-of-type{border-top:0}
.profile-offers>a>span:first-child{display:grid;gap:5px}
.profile-offers small{color:#b44c28;font-size:var(--fs-xs)}
.profile-offers>a>span:last-child{white-space:nowrap;color:var(--c-primary);font-weight:700}
.profile-hours summary strong.is-open,.location-information h3 span.is-open{color:var(--c-success)}
.profile-hours summary strong.is-closed,.location-information h3 span.is-closed{color:var(--c-danger)}
/* ---- Business card, batch 16 of the repeat audit (03.10.2026) ---- */
/* №118/119: on phones the tabs pin only after the head (catalog.js adds .is-managed/.is-pinned and keeps the slot's height);
   the phone bar is shown by catalog.js while the inline contacts are off screen; both drop under an open dialog. */
.profile-tabs-slot{display:contents}
html.dialog-open .business-profile .profile-tabs,html.dialog-open .profile-mobile-contact{z-index:0}
@keyframes profile-tabs-in{from{transform:translateY(-100%)}to{transform:none}}
@media(max-width:700px){
 .profile-tabs-slot{display:block}
 .business-profile .profile-tabs.is-managed{position:relative}
 .business-profile .profile-tabs.is-managed.is-pinned{position:fixed;top:0;left:0;right:0;margin:0;box-shadow:0 2px 10px #0000000f;animation:profile-tabs-in .18s ease-out}
 .profile-mobile-contact{transform:translateY(110%);visibility:hidden;transition:transform .2s ease,visibility 0s linear .2s}
 .profile-mobile-contact.is-visible{transform:none;visibility:visible;transition:transform .2s ease,visibility 0s}
 html.dialog-open .profile-mobile-contact{visibility:hidden}
}
@media(max-width:700px) and (scripting:none){
 .profile-mobile-contact{transform:none;visibility:visible}
}
@media(prefers-reduced-motion:reduce){
 .business-profile .profile-tabs.is-pinned{animation:none}
 .profile-mobile-contact,.profile-mobile-contact.is-visible{transition:none}
}
/* №120: «Прокласти маршрут» under the map */
.location-route-row{padding:16px 24px 0}
.location-route-row .location-route{display:flex;width:100%}
/* №121: targets of at least 24 px, 44 px for the contact links */
.business-profile .profile-actions .contact-shortcut{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-size:var(--fs-ui);color:var(--c-primary)}
.catalog-site .business-profile .phone-list .phone-reveal .phone-action{font-size:var(--fs-sm);font-weight:600;color:var(--c-primary)}
.catalog-site .business-profile .business-sidebar>.back-link{display:flex;align-items:center;min-height:44px;padding:0 0 8px;font-size:var(--fs-ui)}
.phone-inline-note{align-self:center;font-size:var(--fs-sm);line-height:1.4;color:var(--c-danger)}
/* №122: type and town under the name */
.catalog-site .business-profile .profile-head .profile-kind{display:flex;flex-wrap:wrap;align-items:center;gap:0 8px;margin:-8px 0 12px;font-size:var(--fs-md);line-height:1.4;color:var(--c-muted)}
.profile-kind a{display:inline-flex;align-items:center;min-height:28px;color:var(--c-primary);text-decoration:none}
.profile-kind a:hover{text-decoration:underline}
/* №123: the 250 px photo at most ×1.5 */
@media(min-width:701px){
 .catalog-site .business-profile .profile-head{grid-template-columns:minmax(0,340px) minmax(0,1fr)}
 .catalog-site .business-profile .profile-head .big{height:auto;max-width:340px;aspect-ratio:1/1}
}
.catalog-site .business-profile .profile-head .big img{max-width:375px;max-height:375px;margin:auto}
/* №124: the services list opens catalog lists */
.business-profile .profile-service-list a>.service-go{flex-shrink:0;display:inline-flex;align-items:center;gap:6px;color:var(--c-primary);font-size:var(--fs-sm);white-space:nowrap}
.business-profile .profile-service-list a>.service-go span{font-size:var(--fs-h3);line-height:1}
/* №125: «Графік роботи» as a button with a chevron */
.profile-hours summary{min-height:44px}
.hours-toggle{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:4px 10px 4px 14px;box-sizing:border-box;border:1px solid var(--c-line-strong);border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-primary);font-size:var(--fs-base);font-weight:600}
.profile-hours summary:hover .hours-toggle,.profile-hours[open] .hours-toggle{background:var(--c-primary-soft);border-color:var(--c-primary-line)}
.profile-hours .hours-chevron{flex-shrink:0;margin:0}
/* №129: «Це мій бізнес» next to «Зберегти» and «Написати відгук» */
@media(max-width:700px){
 .catalog-site .business-profile .member-company-actions>a.profile-claim{grid-column:1/-1;flex-direction:row;min-height:48px}
}
