/* Компании /brands — каталог по макету topstroyka-companies */
#ps-companies.ps-co{
  --ink:#263244;--muted:#606b78;--line:#e2e5e7;--paper:#f5f6f5;--orange:#ef7926;--orange-dark:#a74609;--soft:#fff0e4;--green:#276447;--radius:16px;--shadow:0 8px 32px #2533460b;
  background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;padding:0 0 40px;
}
#ps-companies .ps-co__wrap{max-width:1440px;margin:0 auto;padding:0 24px}
#ps-companies a{color:inherit;text-decoration:none}
#ps-companies a:hover{color:var(--orange-dark)}
#ps-companies button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
#ps-companies .ps-co__icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
#ps-companies .sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
#ps-companies .ps-co__crumbs{padding-top:22px;display:flex;gap:9px;color:var(--muted);font-size:12px;flex-wrap:wrap}
#ps-companies .ps-co__intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 24px}
#ps-companies .ps-co__eyebrow{font-size:10px;letter-spacing:2px;color:var(--orange-dark);font-weight:750;margin-bottom:7px}
#ps-companies h1{font-size:34px;letter-spacing:-1.2px;line-height:1.15;margin:0 0 10px;font-weight:730;color:var(--ink)}
#ps-companies .ps-co__intro p{color:var(--muted);margin:0;font-size:14px}
#ps-companies .ps-co__intro-side{display:flex;align-items:center;gap:12px;max-width:250px;font-size:12px;color:var(--muted)}
#ps-companies .ps-co__intro-side strong{display:block;color:var(--ink);font-size:13px}
#ps-companies .ps-co__symbol{width:42px;height:42px;border:1px solid #d7dfda;border-radius:50%;display:grid;place-items:center;color:var(--green);flex-shrink:0}
#ps-companies .ps-co__filters{background:#fff;padding:18px 20px 16px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
#ps-companies .ps-co__fields{display:grid;grid-template-columns:1fr 1.25fr 1.8fr auto;gap:12px}
#ps-companies .ps-co__field{display:flex;flex-direction:column;gap:5px}
#ps-companies .ps-co__field label{font-size:11px;font-weight:650;color:var(--muted)}
#ps-companies .ps-co__input{position:relative;display:flex;align-items:center}
#ps-companies .ps-co__input>.ps-co__icon{position:absolute;left:13px;color:#6b7683;pointer-events:none;width:18px;height:18px}
#ps-companies .ps-co__field input,#ps-companies .ps-co__field select{width:100%;height:46px;border:1px solid #dfe3e6;background:#fafbfb;padding:0 12px 0 40px;color:var(--ink);border-radius:9px;min-width:0}
#ps-companies .ps-co__btn{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;font-weight:600;border:1px solid var(--line);border-radius:9px;background:#fff}
#ps-companies .ps-co__btn--primary{background:var(--orange);color:#221b13;border-color:var(--orange);align-self:end;height:46px}
#ps-companies .ps-co__btn--primary:hover{background:#ff9346;color:#221b13}
#ps-companies .ps-co__quick{display:flex;gap:7px;margin-top:15px;align-items:center;flex-wrap:wrap}
#ps-companies .ps-co__quick-label{font-size:12px;color:var(--muted);margin-right:4px}
#ps-companies .ps-co__chip{border:1px solid #e5e7e9;background:#fff;padding:6px 12px;font-size:12px;border-radius:7px;display:inline-flex;align-items:center;min-height:32px}
#ps-companies .ps-co__chip:hover,#ps-companies .ps-co__chip.is-active{border-color:#f3b286;background:var(--soft);color:#8b3a07}
#ps-companies .ps-co__extra{display:flex;align-items:center;gap:18px;padding-top:16px;margin-top:15px;border-top:1px solid #eef0f2;flex-wrap:wrap}
#ps-companies .ps-co__check{display:flex;gap:7px;align-items:center;color:#546171;font-size:12px;cursor:pointer}
#ps-companies .ps-co__check input{accent-color:#d66b20;width:16px;height:16px;margin:0}
#ps-companies .ps-co__clear{font-size:12px;color:#6c7683;margin-left:auto;text-decoration:underline}
#ps-companies .ps-co__active{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
#ps-companies .ps-co__active:empty{display:none}
#ps-companies .ps-co__active button{border-radius:6px;padding:4px 9px;background:#eef1f4;font-size:12px;display:flex;align-items:center;gap:5px}
#ps-companies .ps-co__active .ps-co__icon{width:12px;height:12px}
#ps-companies.is-loading{opacity:.72;pointer-events:none}
#ps-companies .ps-co__toolbar{display:flex;align-items:center;gap:15px;margin:23px 0 14px;flex-wrap:wrap}
#ps-companies .ps-co__count{font-size:20px;font-weight:700}
#ps-companies .ps-co__count span{font-weight:400;color:var(--muted)}
#ps-companies .ps-co__sort{margin-left:auto;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}
#ps-companies .ps-co__sort select{background:transparent;border:0;color:var(--ink);padding:5px 0}
#ps-companies .ps-co__views{display:flex;border:1px solid var(--line);background:#e9ecee;padding:3px;border-radius:9px;gap:3px}
#ps-companies .ps-co__views button{display:flex;align-items:center;gap:6px;padding:7px 11px;font-size:12px;border-radius:6px}
#ps-companies .ps-co__views button.is-active{background:#fff;box-shadow:0 2px 5px #29394d12}
/* Карта временно скрыта: только список */
#ps-companies[data-map-off="1"] .ps-co__views{display:none}
#ps-companies[data-map-off="1"] .ps-co__map{display:none!important}
#ps-companies[data-map-off="1"] .ps-co__content{grid-template-columns:1fr}
#ps-companies .ps-co__content{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:22px;align-items:start}
#ps-companies .ps-co__content.is-list{grid-template-columns:1fr}
#ps-companies .ps-co__content.is-list .ps-co__map{display:none}
#ps-companies .ps-co__content.is-list #ps-co-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
#ps-companies .ps-co__content.is-map{grid-template-columns:1fr}
#ps-companies .ps-co__content.is-map .ps-co__list{display:none}
#ps-companies .ps-co__content.is-map .ps-co__map{position:relative;top:0}
#ps-companies .ps-co__content.is-map .ps-co__map-stage{height:620px}
#ps-companies .ps-co__card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:12px;transition:border-color .16s,box-shadow .16s}
#ps-companies .ps-co__content.is-list .ps-co__card{margin:0}
#ps-companies .ps-co__card:hover{border-color:#c0c8cf;box-shadow:0 4px 16px #25334608}
#ps-companies .ps-co__card.is-selected{border-color:#e58a48;box-shadow:0 0 0 1px #e58a4820}
#ps-companies .ps-co__card-head{display:flex;align-items:flex-start;gap:13px}
#ps-companies .ps-co__mark{display:grid;place-items:center;width:47px;height:47px;border-radius:11px;background:#f0f2f5;color:#627081;font-weight:750;letter-spacing:-1px;font-size:17px;flex-shrink:0;overflow:hidden}
#ps-companies .ps-co__mark.is-filled{background:#2c493d;color:#fff}
#ps-companies .ps-co__mark--logo{width:96px;height:48px;padding:0;background:#eef0f3;border:1px solid #e0e4e8;border-radius:10px}
#ps-companies .ps-co__mark--logo img{width:100%;height:100%;object-fit:cover;display:block}
#ps-companies .ps-co__title{min-width:0;flex:1}
#ps-companies .ps-co__title .ps-co__h{margin:0 0 3px;font-size:18px;line-height:1.25;letter-spacing:-.3px;font-weight:700}
#ps-companies .ps-co__title small{color:var(--muted);font-size:12px}
#ps-companies .ps-co__head-actions{display:flex;align-items:center;gap:6px;flex:0 0 auto;margin-left:auto}
#ps-companies .ps-co__verified{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex:0 0 auto;cursor:help;outline:none;border-radius:50%}
#ps-companies .ps-co__verified-icon{width:20px;height:20px;display:block}
#ps-companies .ps-co__verified-icon circle{fill:#2a9df4}
#ps-companies .ps-co__verified:hover .ps-co__verified-icon circle,#ps-companies .ps-co__verified:focus-visible .ps-co__verified-icon circle{fill:#1b8ae0}
#ps-companies .ps-co__verified::before,#ps-companies .ps-co__verified::after{position:absolute;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:20}
#ps-companies .ps-co__verified::before{content:"";top:calc(100% + 4px);left:50%;margin-left:-6px;border:6px solid transparent;border-bottom-color:#2a3a4d;transform:translateY(4px)}
#ps-companies .ps-co__verified::after{content:attr(data-tip);top:calc(100% + 10px);right:0;min-width:150px;max-width:210px;padding:8px 11px;border-radius:8px;background:#2a3a4d;color:#f4f7fa;font-size:12px;font-weight:550;line-height:1.35;letter-spacing:.1px;white-space:normal;text-align:left;box-shadow:0 10px 28px rgba(22,36,52,.22);transform:translateY(4px)}
#ps-companies .ps-co__verified:hover::before,#ps-companies .ps-co__verified:hover::after,#ps-companies .ps-co__verified:focus-visible::before,#ps-companies .ps-co__verified:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#ps-companies .ps-co__verified::before,#ps-companies .ps-co__verified::after{transition:none}}
#ps-companies .ps-co__rating{position:relative;display:inline-flex;align-items:center;gap:4px;padding:4px 8px 4px 9px;border-radius:999px;background:linear-gradient(180deg,#fff8ef 0%,#ffefd8 100%);border:1px solid #f0d2a4;text-decoration:none;line-height:1;white-space:nowrap;cursor:help;outline:none}
#ps-companies .ps-co__rating:hover,#ps-companies .ps-co__rating:focus-visible{border-color:#e5b56a;background:linear-gradient(180deg,#fffaf3 0%,#ffe8c4 100%)}
#ps-companies .ps-co__rating-value{font-size:14px;font-weight:750;color:#8a4d12;letter-spacing:-.2px}
#ps-companies .ps-co__rating-star{font-size:15px;line-height:1;background:linear-gradient(160deg,#ffd36a 0%,#ffb347 45%,#f08a24 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;filter:drop-shadow(0 1px 0 rgba(176,96,20,.18))}
#ps-companies .ps-co__rating::before,#ps-companies .ps-co__rating::after{position:absolute;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:20}
#ps-companies .ps-co__rating::before{content:"";top:calc(100% + 4px);right:14px;border:6px solid transparent;border-bottom-color:#2a3a4d;transform:translateY(4px)}
#ps-companies .ps-co__rating::after{content:attr(data-tip);top:calc(100% + 10px);right:0;min-width:168px;max-width:220px;padding:8px 11px;border-radius:8px;background:#2a3a4d;color:#f4f7fa;font-size:12px;font-weight:550;line-height:1.35;letter-spacing:.1px;white-space:normal;text-align:left;box-shadow:0 10px 28px rgba(22,36,52,.22);transform:translateY(4px)}
#ps-companies .ps-co__rating:hover::before,#ps-companies .ps-co__rating:hover::after,#ps-companies .ps-co__rating:focus-visible::before,#ps-companies .ps-co__rating:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){#ps-companies .ps-co__rating::before,#ps-companies .ps-co__rating::after{transition:none}}
#ps-companies .ps-co__save{padding:5px;color:#7b8591;border-radius:7px;min-width:32px;min-height:32px}
#ps-companies .ps-co__save.is-saved{color:var(--orange-dark);background:var(--soft)}
#ps-companies .ps-co__save.is-saved .ps-co__icon{fill:#fbd9bd}
#ps-companies .ps-co__status{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:12px 0 10px;font-size:11px;color:#647081}
#ps-companies .ps-co__badge{display:inline-flex;gap:5px;align-items:center;padding:3px 7px;background:#eff6f1;border-radius:5px;color:#2b6448;font-size:11px}
#ps-companies .ps-co__badge .ps-co__icon{width:14px;height:14px}
#ps-companies .ps-co__dot{width:5px;height:5px;background:#559470;border-radius:50%;display:inline-block;margin-right:4px}
#ps-companies .ps-co__desc{font-size:13px;line-height:1.55;color:#536171;margin:8px 0 11px}
#ps-companies .ps-co__meta{display:flex;gap:7px;align-items:flex-start;color:#4f5b69;font-size:12px}
#ps-companies .ps-co__meta .ps-co__icon{width:16px;height:16px;margin-top:1px;color:#7b8591}
#ps-companies .ps-co__type{color:#78828d}
#ps-companies .ps-co__bottom{margin-top:15px;padding-top:13px;border-top:1px solid #eef0f2;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#ps-companies .ps-co__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#ps-companies .ps-co__link{display:inline-flex;gap:5px;align-items:center;font-size:12px;font-weight:600;color:var(--orange-dark);padding:0;background:none;border:0}
#ps-companies .ps-co__link .ps-co__icon{width:14px;height:14px}
#ps-companies .ps-co__products{color:var(--orange-dark);background:var(--soft);padding:7px 11px;border-radius:7px;font-size:12px;font-weight:600}
#ps-companies .ps-co__claim{font-size:11px;color:#707b88}
#ps-companies .ps-co__claim:hover{color:var(--orange-dark)}
#ps-companies .ps-co__pager{margin:18px 0;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
#ps-companies .ps-co__pager .pagination{margin:0}
#ps-companies .ps-co__pager button{width:36px;height:36px;border:1px solid var(--line);background:#fff;border-radius:8px}
#ps-companies .ps-co__pager button.is-active{background:var(--ink);color:#fff;border-color:var(--ink)}
#ps-companies .ps-co__pager small{color:var(--muted);margin-left:auto}
#ps-companies .ps-co__empty{padding:55px 20px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:13px}
#ps-companies .ps-co__empty .ps-co__h{font-size:20px;margin:13px 0 7px}
#ps-companies .ps-co__empty p{font-size:13px;color:var(--muted);max-width:360px;margin:0 auto 20px}
#ps-companies .ps-co__map{border-radius:15px;border:1px solid #d9dfe0;overflow:hidden;background:#f1f2ec;position:sticky;top:18px;box-shadow:var(--shadow)}
#ps-companies .ps-co__map-top{height:51px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:10px;border-bottom:1px solid var(--line);font-size:13px}
#ps-companies .ps-co__map-top span{font-size:11px;color:var(--muted)}
#ps-companies .ps-co__map-stage{height:520px;position:relative;overflow:hidden}
#ps-companies .ps-co__leaflet{width:100%;height:100%;z-index:1;background:#e8ece7}
#ps-companies .ps-co-pin-wrap{background:transparent;border:0}
#ps-companies .ps-co-pin{width:32px;height:32px;border-radius:50%;background:#ef7926;color:#fff;font:700 12px/32px Arial,sans-serif;text-align:center;box-shadow:0 2px 8px #28334440;border:2px solid #fff}
#ps-companies .ps-co-pin.is-company{width:28px;height:28px;line-height:28px;font-size:16px}
#ps-companies .ps-co-pin.is-selected{width:38px;height:38px;line-height:38px;background:#a74609}
#ps-companies .leaflet-popup-content{font:13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;margin:10px 12px}
#ps-companies .leaflet-popup-content .ps-co__link{margin-top:6px}
#ps-companies .ps-co__map-key{position:absolute;left:13px;top:15px;z-index:2;background:#ffffffed;border:1px solid #dfe5e2;border-radius:8px;padding:7px 10px;font-size:10px;color:#5e6a71}
#ps-companies .ps-co__map-key i{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:4px}
#ps-companies .ps-co__map-controls{position:absolute;right:13px;top:15px;display:flex;flex-direction:column;gap:8px;z-index:3}
#ps-companies .ps-co__map-controls button{width:36px;height:36px;background:#fff;box-shadow:0 2px 8px #28334420;border:1px solid #dfe4e3;border-radius:9px;display:grid;place-items:center}
#ps-companies .ps-co__map-demo{position:absolute;bottom:6px;right:8px;background:#ffffffd9;padding:2px 5px;border-radius:3px;font-size:9px;color:#586673;z-index:3}
#ps-companies .ps-co__map-empty{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);width:80%;text-align:center;padding:20px;background:#ffffffed;border-radius:12px;z-index:4;font-size:13px;color:var(--muted)}
#ps-companies .ps-co__map-popup{position:absolute;bottom:29px;left:15px;right:15px;z-index:4;box-shadow:0 8px 22px #27354525;border:1px solid #e1e4e5;border-radius:12px;background:#fff;padding:14px 16px}
#ps-companies .ps-co__map-popup-head{display:flex;gap:10px;align-items:center;justify-content:space-between}
#ps-companies .ps-co__map-popup p{font-size:11px;color:var(--muted);margin:8px 0}
#ps-companies .ps-co__map-note{font-size:11px;padding:12px 15px;background:#fff;color:#65717d;display:flex;align-items:flex-start;gap:7px;line-height:1.5;border-top:1px solid var(--line)}
#ps-companies .ps-co__owner{margin-top:28px;padding:25px 30px;border-radius:15px;background:#eaece7;display:flex;flex-direction:column;gap:16px;border:1px solid #e0e3db}
#ps-companies .ps-co__owner-main{display:flex;align-items:center;gap:22px;justify-content:space-between;width:100%}
#ps-companies .ps-co__owner .ps-co__h{font-size:21px;margin:0 0 5px}
#ps-companies .ps-co__owner p{font-size:13px;color:#616e69;margin:0}
#ps-companies .ps-co__find{width:100%;position:relative}
#ps-companies .ps-co__find-box{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #d5dbd3;border-radius:10px;padding:0 14px;min-height:48px;box-shadow:0 1px 0 #fff8}
#ps-companies .ps-co__find-box .ps-co__icon{width:18px;height:18px;color:#6b7683;flex-shrink:0}
#ps-companies .ps-co__find-box input{flex:1;min-width:0;height:46px;border:0;background:transparent;outline:none;font:inherit;color:var(--ink);padding:0}
#ps-companies .ps-co__find-box input::placeholder{color:#8a949c}
#ps-companies .ps-co__find-hint{margin:8px 2px 0;font-size:12px;color:#6d7871}
#ps-companies .ps-co__find-list{position:absolute;left:0;right:0;top:54px;z-index:30;background:#fff;border:1px solid #d7ddd5;border-radius:10px;box-shadow:0 14px 36px rgba(30,42,36,.12);max-height:320px;overflow:auto;padding:6px}
#ps-companies .ps-co__find-list[hidden]{display:none}
#ps-companies .ps-co__find-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:8px;text-decoration:none;color:inherit}
#ps-companies .ps-co__find-item:hover,#ps-companies .ps-co__find-item:focus{background:#f3f5f1;outline:none}
#ps-companies .ps-co__find-item strong{font-size:14px;font-weight:700;color:var(--ink)}
#ps-companies .ps-co__find-item span{font-size:12px;color:#68756e}
#ps-companies .ps-co__find-empty{padding:12px;font-size:13px;color:#68756e}
#ps-companies .ps-co__below{padding:32px 0;display:grid;grid-template-columns:1fr 1fr;gap:50px}
#ps-companies .ps-co__below .ps-co__h{font-size:15px;margin:0 0 14px}
#ps-companies .ps-co__below p{font-size:12px;color:var(--muted);margin:0;line-height:1.8}
#ps-companies .ps-co__city-links{display:flex;gap:8px 17px;flex-wrap:wrap}
#ps-companies .ps-co__city-links a{font-size:12px;color:#596779;border-bottom:1px solid #cbd1d5}
#ps-companies .ps-co__toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;border-radius:10px;padding:12px 18px;z-index:50;font-size:13px;display:none}
#ps-companies .ps-co__toast.is-on{display:block}
@media(max-width:1150px){
  #ps-companies .ps-co__fields{grid-template-columns:1fr 1fr}
  #ps-companies .ps-co__field--search{grid-column:1/-1}
  #ps-companies .ps-co__btn--primary{grid-column:1/-1}
  #ps-companies .ps-co__intro-side{display:none}
}
@media(max-width:850px){
  #ps-companies .ps-co__content{grid-template-columns:1fr}
  #ps-companies .ps-co__map{display:none}
  #ps-companies .ps-co__content.is-map .ps-co__map{display:block}
  #ps-companies .ps-co__views .both-view{display:none}
  #ps-companies .ps-co__content.is-list #ps-co-cards{display:block}
  #ps-companies .ps-co__content.is-list .ps-co__card{margin-bottom:12px}
  #ps-companies h1{font-size:28px}
  #ps-companies .ps-co__below{grid-template-columns:1fr;gap:24px}
  #ps-companies .ps-co__owner-main{flex-direction:column;align-items:flex-start}
  #ps-companies .ps-co__owner-main .ps-co__btn{align-self:stretch}
}
@media(max-width:540px){
  #ps-companies .ps-co__wrap{padding:0 15px}
  #ps-companies .ps-co__fields{grid-template-columns:1fr}
  #ps-companies .ps-co__quick{flex-wrap:nowrap;overflow:auto}
  #ps-companies .ps-co__quick-label{display:none}
}
