/* CompanyHub — Stas-Clear. No global theme overrides. */
.companyhub-profile { --ch-border:#d9dfe8; --ch-muted:#566477; --ch-accent:#175ac6; --ch-surface:#fff; overflow-wrap:anywhere; }
.companyhub-profile__header { border:1px solid var(--ch-border); border-radius:12px; background:var(--ch-surface); }
.companyhub-profile__cover { position:relative; height:240px; overflow:hidden; border-radius:11px 11px 0 0; background:#edf1f7; }
.companyhub-profile .companyhub-profile__rating { position:absolute; top:16px; right:16px; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:14px 16px; border:1px solid rgba(217,223,232,.85); border-radius:10px; background:rgba(255,255,255,.78); color:#344358; min-width:190px; max-width:calc(100% - 32px); font:inherit; text-align:left; box-shadow:0 5px 18px rgba(26,39,57,.12); cursor:pointer; transition:transform .18s ease,box-shadow .18s ease; }
.companyhub-profile .companyhub-profile__rating:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(26,39,57,.18); }
.companyhub-profile__rating-main { display:flex; align-items:center; gap:10px; }
.companyhub-profile__rating strong { font-size:24px; line-height:1; }
.companyhub-profile__rating small { color:var(--ch-muted); }
.companyhub-profile__rating-link { color:var(--ch-accent); font-size:.875rem; font-weight:600; }
.companyhub-profile__stars { display:inline-block; position:relative; white-space:nowrap; color:#705000; font-size:20px; line-height:1; }
.companyhub-profile__stars span { position:absolute; left:0; top:0; overflow:hidden; }
.companyhub-profile__cover--empty { height:auto; min-height:180px; aspect-ratio:3/1; padding:16px 16px 48px; background:linear-gradient(135deg,hsl(var(--ch-cover-hue) 34% 28%),hsl(calc(var(--ch-cover-hue) + 34) 38% 45%)); }
.companyhub-profile .companyhub-profile__cover--empty .companyhub-profile__rating { position:relative; top:auto; right:auto; width:fit-content; max-width:100%; margin-left:auto; }
.companyhub-profile__cover-mark { position:absolute; left:34px; bottom:16px; color:rgba(255,255,255,.9); font-size:72px; font-weight:800; line-height:1; }
.companyhub-profile__cover img { width:100%; height:100%; object-fit:cover; }
.companyhub-profile__identity { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:22px; padding:24px; align-items:start; }
.companyhub-profile__intro { min-width:0; }
.companyhub-profile__intro h1 { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:clamp(24px,3vw,34px); line-height:1.18; margin:0 0 12px; }
.companyhub-profile__intro p { margin:0; color:var(--ch-muted); }
.companyhub-profile__intro .companyhub-profile__legal-name { margin-bottom:6px; color:#344358; font-weight:600; }
.companyhub-profile .companyhub-profile__trust { --ch-trust-fill:#7f8b99; --ch-trust-check:#fff; position:relative; display:inline-flex; flex:0 0 23px; width:23px; min-width:23px; max-width:23px; height:23px; min-height:23px; max-height:23px; aspect-ratio:1; padding:0; color:inherit; cursor:help; }
.companyhub-profile .companyhub-profile__trust svg { display:block; flex:none; width:23px; min-width:23px; max-width:23px; height:23px; min-height:23px; max-height:23px; aspect-ratio:1; overflow:visible; }
.companyhub-profile__trust-seal { fill:var(--ch-trust-fill); }
.companyhub-profile__trust-check { fill:none; stroke:var(--ch-trust-check); stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round; }
.companyhub-profile__trust--review { --ch-trust-fill:#1d9bf0; }
.companyhub-profile__trust--verified { --ch-trust-fill:#f4c430; --ch-trust-check:#332800; }
.companyhub-profile__trust::after { content:attr(data-companyhub-tooltip); position:absolute; z-index:40; left:50%; top:calc(100% + 8px); width:max-content; max-width:min(280px,calc(100vw - 32px)); padding:7px 9px; border-radius:6px; background:#202a37; color:#fff; box-shadow:0 6px 18px rgba(26,39,57,.2); font-size:13px; font-weight:500; line-height:1.35; white-space:normal; opacity:0; pointer-events:none; transform:translate(-50%,-3px); transition:opacity .15s ease,transform .15s ease; }
.companyhub-profile__trust:hover::after,.companyhub-profile__trust:focus-visible::after { opacity:1; transform:translate(-50%,0); }
.companyhub-profile__facts { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 10px; }
.companyhub-profile__facts span { display:inline-flex; align-items:center; min-height:30px; padding:4px 9px; border:1px solid #dfe5ed; border-radius:999px; background:#f8fafc; color:#344358; font-size:.875rem; }
.companyhub-profile__logo { display:block; position:relative; margin-top:-64px; margin-bottom:18px; border:4px solid var(--ch-surface); border-radius:12px; background:var(--ch-surface); box-shadow:0 3px 12px rgba(26,39,57,.14); object-fit:contain; }
.companyhub-profile__logo--placeholder { width:96px; height:96px; display:flex; align-items:center; justify-content:center; color:#fff; background:var(--ch-accent); font-size:38px; font-weight:800; }
.companyhub-profile__actions { display:grid; gap:10px; align-items:start; }
.companyhub-profile .companyhub-profile__button { display:flex; align-items:center; justify-content:center; min-height:44px; padding:10px 14px; text-align:center; border:1px solid var(--ch-accent); border-radius:6px; color:var(--ch-accent); text-decoration:none; line-height:1.3; }
.companyhub-profile button.companyhub-profile__button { background:#fff; font:inherit; cursor:pointer; }
.companyhub-profile .companyhub-profile__button--primary { background:var(--ch-accent); color:#fff; }
.companyhub-profile .companyhub-profile__button:hover { text-decoration:underline; }
.companyhub-profile a:focus-visible,.companyhub-profile button:focus-visible,.companyhub-profile summary:focus-visible { outline:3px solid var(--ch-accent); outline-offset:3px; }
.companyhub-profile__nav { display:flex; gap:0 24px; padding:0 24px; border-top:1px solid var(--ch-border); }
.companyhub-profile__nav a,.companyhub-profile__tab { padding:14px 0; color:var(--ch-muted); }
.companyhub-profile__tab { border:0; border-bottom:3px solid transparent; background:transparent; font:inherit; cursor:pointer; }
.companyhub-profile__tab span { display:inline-flex; flex:none; align-items:center; justify-content:center; min-width:18px; height:18px; margin-left:4px; padding:0 5px; border-radius:999px; background:#edf1f7; color:#42516a; font-size:11px; font-weight:400; line-height:1; }
.companyhub-profile__nav a[aria-current],.companyhub-profile__tab[aria-selected="true"] { color:var(--ch-accent); border-bottom:3px solid var(--ch-accent); }
.companyhub-profile__body { display:flex; flex-wrap:wrap; gap:28px; padding:24px 0; }
.companyhub-profile__main { flex:1 1 440px; min-width:0; }
.companyhub-profile__overview { min-width:0; }
.companyhub-profile__section-title { margin:0 0 18px; font-size:24px; line-height:1.3; color:#2d3436; }
.companyhub-profile__overview .f_content .value { white-space:pre-line; line-height:1.65; }
.companyhub-profile__updated { margin-top:18px; padding-top:14px; border-top:1px solid var(--ch-border); color:var(--ch-muted); font-size:.875rem; }
.companyhub-profile__updated time { color:#344358; font-weight:600; }
.companyhub-profile__video { min-width:0; }
.companyhub-profile__video iframe { width:100%; aspect-ratio:16/9; height:auto; margin:0 0 18px; border:0; border-radius:10px; }
.companyhub-news__heading .companyhub-profile__section-title,.companyhub-reviews__heading .companyhub-profile__section-title { margin-bottom:0; }
.companyhub-reviews__summary { display:grid; grid-template-columns:1fr 1fr; margin-bottom:28px; border-radius:12px; background:#f4f5f7; overflow:hidden; }
.companyhub-reviews__score,.companyhub-reviews__rate { min-width:0; min-height:122px; padding:24px 28px; }
.companyhub-reviews__score { display:flex; align-items:center; gap:24px; }
.companyhub-reviews__score>strong { flex:0 0 auto; color:#3f4247; font-size:54px; font-weight:500; line-height:1; }
.companyhub-reviews__score>div { display:flex; flex-direction:column; gap:8px; min-width:0; }
.companyhub-reviews__score .companyhub-profile__stars { color:#c7ccd3; font-size:22px; }
.companyhub-reviews__score .companyhub-profile__stars span { color:#f5b900; }
.companyhub-reviews__score small,.companyhub-reviews__rate small { color:#4d5868; font-size:14px; }
.companyhub-reviews__rate { display:flex; align-items:center; justify-content:space-between; gap:18px; border-left:1px solid #e1e3e7; }
.companyhub-reviews__rate-copy { display:flex; flex-direction:column; gap:3px; line-height:1.25; }
.companyhub-reviews__rating-widget { flex:0 0 auto; }
.companyhub-reviews__rating-widget .companyhub-native-rating { margin:0; }
.companyhub-reviews__rating-widget .companyhub-native-rating>.rating_label,.companyhub-reviews__rating-widget .companyhub-native-rating>small { display:none; }
.companyhub-reviews__heading { display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:8px; padding-top:26px; border-top:1px solid var(--ch-border); }
.companyhub-reviews__heading h2,.companyhub-reviews__heading p { margin:0; }
.companyhub-reviews__heading-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px 16px; flex-wrap:wrap; }
.companyhub-reviews__write { display:inline-flex; align-items:center; justify-content:center; min-height:40px; padding:7px 14px; border:1px solid var(--ch-accent); border-radius:6px; background:var(--ch-accent); color:#fff; font:inherit; text-decoration:none; cursor:pointer; }
.companyhub-reviews__write:hover,.companyhub-reviews__write:focus { color:#fff; text-decoration:none; }
.companyhub-reviews__empty { padding:24px 0; color:var(--ch-muted); }
.companyhub-reviews__composer { padding:18px; margin-top:22px; border:1px solid var(--ch-border); border-radius:10px; background:#f8fafc; }
.companyhub-reviews__composer .cp_toolbar { display:none; }
.companyhub-native-rating { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:14px; }
.companyhub-native-rating .stars { display:flex; gap:2px; }
.companyhub-native-rating .star { width:26px; height:30px; margin:0; padding:4px; border:0; background:transparent; color:#c5cbd4; cursor:default; }
.companyhub-native-rating .star svg { display:block; width:18px; height:22px; fill:currentColor; }
.companyhub-native-rating .stars[data-stars="1"] .star:nth-child(-n+1),.companyhub-native-rating .stars[data-stars="2"] .star:nth-child(-n+2),.companyhub-native-rating .stars[data-stars="3"] .star:nth-child(-n+3),.companyhub-native-rating .stars[data-stars="4"] .star:nth-child(-n+4),.companyhub-native-rating .stars[data-stars="5"] .star:nth-child(-n+5) { color:#d39a00; }
.companyhub-native-rating .is_enabled .star { cursor:pointer; }
.companyhub-native-rating .is_enabled .star:hover,.companyhub-native-rating .is_enabled .star:has(~ .star:hover) { color:#d39a00; }
.companyhub-review { padding:24px 0; border-bottom:1px solid var(--ch-border); }
.companyhub-review__header { display:flex; align-items:flex-start; gap:12px; }
.companyhub-review__avatar { display:block; flex:0 0 42px; width:42px; height:42px; overflow:hidden; border-radius:50%; background:#e8eef8; }
.companyhub-review__avatar>img,.companyhub-review__avatar>.default_avatar { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.companyhub-review__avatar>.default_avatar>img { width:100%; height:100%; object-fit:cover; }
.companyhub-review__author { display:flex; flex-direction:column; gap:5px; min-width:0; }
.companyhub-review__author>strong { font-size:16px; }
.companyhub-review__meta { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.companyhub-review__meta span { color:#d39a00; letter-spacing:1px; }
.companyhub-review__meta time { color:var(--ch-muted); font-size:.875em; }
.companyhub-review>p { margin:14px 0; font-size:16px; line-height:1.55; }
.companyhub-review blockquote { margin:14px 0; padding:14px 16px; border-left:3px solid var(--ch-accent); background:#f5f7fa; }
.companyhub-review blockquote p { margin:6px 0 0; }
.companyhub-review footer { font-size:.875em; }
.companyhub-review footer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.companyhub-review footer button { margin:0; padding:0; border:0; background:transparent; color:var(--ch-accent); font:inherit; cursor:pointer; }
.companyhub-review footer button:hover,.companyhub-review footer button:focus { text-decoration:underline; }
.companyhub-profile [data-companyhub-panel][hidden] { display:none !important; }
.companyhub-profile__empty-offerings { margin-bottom:16px; }
.companyhub-profile__empty-offerings p { margin-bottom:0; }
.companyhub-profile__fill-actions { display:flex; flex-wrap:wrap; gap:0 20px; }
.companyhub-profile__fill-actions a { display:flex; align-items:center; min-height:44px; }
.companyhub-profile__contacts { flex:0 1 290px; min-width:0; align-self:flex-start; position:sticky; top:16px; padding:20px; border:1px solid var(--ch-border); border-radius:10px; background:#f5f9ff; }
.companyhub-profile__contacts h2 { font-size:20px; margin:0 0 12px; }
.companyhub-profile__contacts summary { cursor:pointer; color:var(--ch-accent); min-height:44px; padding:8px 0; }
.companyhub-profile__contacts p { margin:12px 0 0; }
.companyhub-profile__contacts span { color:var(--ch-muted); font-size:.875em; }
.companyhub-profile__contacts a { color:var(--ch-accent); }
.companyhub-profile__socials { margin-top:12px; }
.companyhub-profile__working-hours { margin-top:12px; }
.companyhub-profile__contact-label { display:block; margin-bottom:7px; }
.companyhub-profile__contacts .ch-social-link span { color:inherit; font-size:inherit; }
.companyhub-profile__contacts-empty { padding:12px; border-radius:8px; background:#f3f5f8; color:var(--ch-muted); }
.companyhub-profile__mobile-actions { display:none; }
.companyhub-profile__nav { flex-wrap:wrap; }
.companyhub-products { margin-top:28px; min-width:0; }
.companyhub-products__heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:12px; }
.companyhub-products__heading h2,.companyhub-products__heading h3 { font-size:21px; margin:0; }
.companyhub-profile [data-companyhub-panel="products"] { margin-top:0; }
.companyhub-products__controls { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin-top:14px; }
.companyhub-products__controls[hidden] { display:none; }
.companyhub-products__controls output { min-width:45px; text-align:center; color:var(--ch-muted,#697586); font-size:12px; }
.companyhub-products__controls button { width:36px; height:36px; padding:0; border:1px solid var(--ch-border,#e1e3e7); border-radius:7px; background:#fff; color:var(--ch-ink,#263442); font-size:18px; cursor:pointer; }
.companyhub-products__controls button:disabled { opacity:.35; cursor:default; }
.companyhub-products__controls button:focus-visible,.companyhub-products__track:focus-visible { outline:3px solid var(--ch-accent); outline-offset:3px; }
.companyhub-products__track { display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x proximity; scroll-padding-inline:4px; scrollbar-width:none; padding:4px; }
.companyhub-products__track::-webkit-scrollbar { display:none; }
.companyhub-products__card { flex:0 0 calc(50% - 10px); min-width:0; scroll-snap-align:start; }
.companyhub-products__media { display:block; position:relative; }
.companyhub-products__media img { display:block; }
.companyhub-products__type { position:absolute; top:8px; left:8px; padding:3px 8px; border:1px solid var(--ch-border,#e1e3e7); border-radius:5px; background:rgba(255,255,255,.95); color:var(--ch-ink,#263442); font-size:11px; line-height:1.4; font-weight:500; pointer-events:none; }
.companyhub-products__track:has(> :nth-child(3))>.companyhub-products__card { flex-basis:calc(40% - 16px); }
.companyhub-products__card img,.companyhub-products__placeholder { width:100%; aspect-ratio:1; height:auto; object-fit:contain; background:#f1f3f6; border-radius:8px; }
.companyhub-products__placeholder { display:flex; align-items:center; justify-content:center; color:var(--ch-muted); font-size:14px; }
.companyhub-products__card h3 { font-size:18px; line-height:1.35; margin:12px 0 8px; }
.companyhub-products__card p { font-size:14px; color:var(--ch-muted); margin:0; }
.companyhub-products__fields { display:grid; gap:5px; margin:9px 0 0; font-size:12px; line-height:1.45; }
.companyhub-products__fields div { display:flex; flex-wrap:wrap; gap:3px 6px; min-width:0; }
.companyhub-products__fields dt { color:var(--ch-muted); font-weight:500; }
.companyhub-products__fields dt::after { content:":"; }
.companyhub-products__fields dd { min-width:0; margin:0; color:var(--ch-ink); overflow-wrap:anywhere; }
.companyhub-products__fields ul { display:inline-flex; flex-wrap:wrap; gap:3px 6px; margin:0; padding:0; list-style:none; }
.companyhub-news__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.companyhub-news__heading h2 { margin:0; }
.companyhub-news__actions { display:flex; align-items:center; justify-content:flex-end; gap:16px; }
.companyhub-news__add { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:8px 16px; border-radius:6px; background:var(--ch-accent); color:#fff; text-decoration:none; }
.companyhub-news__add:hover,.companyhub-news__add:focus { color:#fff; text-decoration:none; }
.companyhub-news__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.companyhub-news__card { min-width:0; }
.companyhub-news__card img { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; border-radius:8px; }
.companyhub-news__card h3 { margin:12px 0 8px; font-size:19px; line-height:1.35; }
.companyhub-news__card p { margin:0; color:var(--ch-muted); }
@media(max-width:760px) {
    .companyhub-products__track { gap:12px; }
    .companyhub-products__track>.companyhub-products__card,.companyhub-products__track:has(> :nth-child(3))>.companyhub-products__card { flex-basis:calc(50% - 6px); }
    .companyhub-products__card h3 { font-size:16px; }
    body:has(.companyhub-profile__mobile-actions) { padding-bottom:74px; }
    .companyhub-profile { padding-bottom:74px; }
    .companyhub-profile__cover { height:auto; aspect-ratio:16/9; }
    .companyhub-profile__cover--empty { height:auto; aspect-ratio:16/9; }
    .companyhub-profile__identity { grid-template-columns:minmax(0,1fr); padding:20px; gap:20px; }
    .companyhub-profile__actions>.companyhub-profile__button:not([data-companyhub-share]) { display:none; }
    .companyhub-profile__nav { flex-wrap:nowrap; gap:24px; padding:0 20px; overflow-x:auto; }
    .companyhub-profile__nav a,.companyhub-profile__tab { flex:0 0 auto; }
    .companyhub-profile__body { flex-direction:column; gap:20px; }
    .companyhub-profile__main { order:2; width:100%; }
    .companyhub-profile__contacts { order:1; position:static; width:100%; flex-basis:auto; }
    .companyhub-profile__mobile-actions { position:fixed; z-index:30; left:50%; bottom:0; transform:translateX(-50%); display:flex; width:min(100%,720px); padding:8px max(12px,env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-right)); border-top:1px solid var(--ch-border); background:rgba(255,255,255,.97); box-shadow:0 -6px 18px rgba(26,39,57,.12); }
    .companyhub-profile__mobile-actions a { flex:1 1 0; display:flex; align-items:center; justify-content:center; min-height:44px; padding:8px 6px; color:var(--ch-accent); text-align:center; text-decoration:none; }
    .companyhub-profile__mobile-actions a+a { border-left:1px solid var(--ch-border); }
    .companyhub-news__heading { align-items:flex-start; flex-direction:column; }
    .companyhub-news__actions { align-items:flex-start; flex-direction:column; }
    .companyhub-news__grid { grid-template-columns:minmax(0,1fr); }
    .companyhub-reviews__summary { grid-template-columns:minmax(0,1fr); }
    .companyhub-reviews__score,.companyhub-reviews__rate { min-height:0; padding:20px; }
    .companyhub-reviews__rate { border-top:1px solid #e1e3e7; border-left:0; }
}

/* Compact empty rating: preserve the review action without a large status heading. */
.companyhub-profile .companyhub-profile__rating--empty{min-width:0;padding:10px 12px;gap:4px;border-radius:8px}
.companyhub-profile__rating--empty .companyhub-profile__stars--empty{color:#d5dbe3;font-size:18px;letter-spacing:1px;line-height:1}
.companyhub-profile__stars--empty>span{position:static;display:block;overflow:visible}
.companyhub-profile__rating--empty small{font-size:11px;line-height:1.35}
.companyhub-profile__rating--empty .companyhub-profile__rating-link{font-size:12px;line-height:1.35;font-weight:500}
