/* Day 4: directory landing + shared business card. Loaded on templates/business.php,
   category_uslugi and single uslugi (functions/ct-business.php). */
.ct-biz,.ct-biz *{box-sizing:border-box}
.ct-biz{font-family:"Nunito",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#16202b}
.ct-biz a{text-decoration:none}
.ct-biz-box{background:#fff;border:1px solid #dcdeed;border-radius:15px;box-shadow:0 16px 24px rgba(0,72,141,.06),0 2px 6px rgba(0,0,0,.04),0 0 1px rgba(0,0,0,.04);padding:22px 24px;margin:0 0 20px}
.ct-biz-box--top{border-top:3px solid #1a5fb4}
.ct-biz-h1{font-size:30px;font-weight:800;line-height:1.2;margin:0 0 6px;color:#16202b}
.ct-biz-h2{font-size:20px;font-weight:800;line-height:1.25;margin:0;color:#16202b}
.ct-biz-lead{font-size:15px;font-weight:600;color:#5b6577;margin:0 0 16px}
.ct-biz-dot{color:#b0b8c6;margin:0 3px}
.ct-biz-hrow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:12px;margin-bottom:15px;border-bottom:2px solid #16202b}
.ct-biz-hrow__link{font-weight:700;font-size:15px;color:#1a5fb4;cursor:pointer;white-space:nowrap}
.ct-biz-hrow__link:hover{text-decoration:underline}
.ct-biz-hrow__note{font-size:14px;font-weight:600;color:#5b6577;white-space:nowrap}

/* buttons */
.ct-biz-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:0 22px;height:54px;font-weight:700;font-size:16px;white-space:nowrap;border:0;cursor:pointer;line-height:1;transition:background .14s ease,color .14s ease}
.ct-biz-btn--green{background:#0a7f39;color:#fff}
.ct-biz-btn--green:hover{background:#08672e;color:#fff}
.ct-biz-btn--white{background:#fff;color:#1a5fb4}
.ct-biz-btn--white:hover{background:#eef3fb;color:#1a5fb4}
.ct-biz-btn--line{background:#fff;color:#1a5fb4;border:2px solid #1a5fb4;height:50px}
.ct-biz-btn--line:hover{background:#eef3fb}
.ct-biz-plus{font-size:22px;font-weight:800;line-height:1;margin-top:-2px}
.ct-biz-btn__txt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.15;text-align:left}
.ct-biz-btn__txt small{font-size:12px;font-weight:700;opacity:.85;letter-spacing:.01em}

/* search */
.ct-biz-search-row{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.ct-biz-search{position:relative;display:flex;align-items:center;gap:10px;flex:1;min-width:0;border:1px solid #cfd6e4;border-radius:32px;height:54px;padding:0 8px 0 20px;background:#fff;margin:0}
.ct-biz-search:focus-within{border-color:#1a5fb4;box-shadow:0 0 0 3px rgba(26,95,180,.12)}
.ct-biz-search__ico{width:18px;height:18px;stroke:#7a8497;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ct-biz-search__input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:#16202b;height:100%;padding:0}
.ct-biz-search__input::placeholder{color:#7a8497}
.ct-biz-search__go{width:40px;height:40px;border-radius:50%;background:#1a5fb4;border:0;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;padding:0}
.ct-biz-search__go svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct-biz-search__go:hover{background:#134a8c}
.ct-biz-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid #dcdeed;border-radius:12px;box-shadow:0 16px 32px rgba(0,72,141,.14);z-index:60;overflow:hidden;padding:6px 0}
.ct-biz-suggest[hidden]{display:none}
.ct-biz-suggest__i{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer;color:#16202b;font-size:15px}
.ct-biz-suggest__i:hover,.ct-biz-suggest__i.is-on{background:#eef3fb}
.ct-biz-suggest__k{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:#7a8497;border-radius:6px;padding:3px 6px;flex:none;min-width:38px;text-align:center}
.ct-biz-suggest__i--sub .ct-biz-suggest__k{background:#1a5fb4}
.ct-biz-suggest__i--service .ct-biz-suggest__k{background:#0a7f39}
.ct-biz-suggest__t{font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-biz-suggest__s{font-size:13px;color:#5b6577;white-space:nowrap}

/* chips */
.ct-biz-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ct-biz-chips__label{font-size:13px;color:#7a8497;font-weight:700;margin-right:4px;white-space:nowrap}
.ct-biz-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid #d5dbe8;background:#eef3fb;border-radius:20px;padding:6px 14px;font-size:14px;font-weight:600;color:#16202b;white-space:nowrap;line-height:1.2}
.ct-biz-chip b{font-weight:700;color:#5b6577}
a.ct-biz-chip:hover{background:#1a5fb4;border-color:#1a5fb4;color:#fff}
a.ct-biz-chip:hover b{color:#fff}
.ct-biz-chip--lang{background:#f6f7fb;font-size:12px;padding:3px 9px}

/* tiles */
.ct-biz-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ct-cat-tile{position:relative;display:flex;flex-direction:column;gap:8px;border:1px solid #dfe5f0;border-radius:12px;padding:14px;background:#f8faff;min-height:96px;color:#16202b;transition:border-color .14s ease,box-shadow .14s ease}
.ct-cat-tile:hover{border-color:#1a5fb4;box-shadow:0 8px 18px rgba(26,95,180,.12);color:#16202b}
.ct-cat-tile__ico{display:block;width:26px;height:26px;background:#1a5fb4;-webkit-mask:var(--ct-ico) center/contain no-repeat;mask:var(--ct-ico) center/contain no-repeat}
.ct-cat-tile__name{font-weight:700;font-size:15px;line-height:1.2}
.ct-cat-tile__meta{font-size:13px;color:#7a8497;font-weight:600;margin-top:auto}
.ct-cat-tile__meta--empty{color:#0a7f39}
.ct-cat-tile__hover{display:none;position:absolute;left:-1px;right:-1px;top:calc(100% - 6px);z-index:30;background:#fff;border:1px solid #1a5fb4;border-top:0;border-radius:0 0 12px 12px;padding:8px 14px 12px;box-shadow:0 12px 20px rgba(26,95,180,.14);flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:#16202b}
.ct-cat-tile__hover::before{content:"";display:block;height:2px;border-radius:1px;background:#a62b21;margin:6px 0 9px}
.ct-cat-tile__hover b{color:#7a8497;font-weight:600}
@media(hover:hover) and (min-width:992px){.ct-cat-tile:hover .ct-cat-tile__hover{display:flex}.ct-cat-tile:hover{border-radius:12px 12px 0 0}}
.ct-biz-more{display:none;width:100%;margin-top:12px;background:none;border:0;padding:8px;font:inherit;font-weight:700;color:#1a5fb4;font-size:15px;cursor:pointer;text-align:center}

/* card: row + compact */
.ct-biz-list{display:flex;flex-direction:column;gap:12px}
.ct-biz-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ct-biz-card{display:flex;border:1px solid #e3e6ef;border-radius:12px;background:#fff;overflow:hidden;color:#16202b}
.ct-biz-card--pro{border:2px solid #f2a900}
.ct-biz-card--row{gap:16px;padding:12px}
.ct-biz-card--row .ct-biz-card__img{width:150px;height:110px;flex:none;border-radius:10px}
.ct-biz-card--compact{flex-direction:column}
.ct-biz-card--compact .ct-biz-card__img{height:150px;width:100%;border-radius:0}
.ct-biz-card__img{display:block;overflow:hidden;background:#dfe6f2;position:relative}
.ct-biz-card__img img{width:100%;height:100%;object-fit:cover;display:block;margin:0}
.ct-biz-card__img--stub{background:#eef3fb}
.ct-biz-card__img--stub img.ct-biz-card__stub{width:40%;height:40%;max-width:64px;max-height:64px;object-fit:contain;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.55}
.ct-biz-card__body{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}
.ct-biz-card--compact .ct-biz-card__body{padding:12px 14px 14px}
.ct-biz-card__badges{display:flex;flex-wrap:wrap;gap:6px}
.ct-biz-card--compact .ct-biz-card__badges{position:absolute;left:10px;top:116px;z-index:2}
.ct-biz-card--compact{position:relative}
.ct-biz-badge{font-size:11px;font-weight:800;border-radius:6px;padding:3px 7px;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}
.ct-biz-badge--pro{background:#f2a900;color:#16202b}
.ct-biz-badge--verified{background:#2f7d32;color:#fff}
.ct-biz-badge--offer{background:#d93025;color:#fff}
.ct-biz-badge--new{background:#1a5fb4;color:#fff}
.ct-biz-card__title{font-size:16px;font-weight:800;line-height:1.25;margin:0}
.ct-biz-card__title a{color:#16202b}
.ct-biz-card__title a:hover{color:#1a5fb4}
.ct-biz-card__sub{font-size:13px;color:#5b6577;font-weight:600}
.ct-biz-card__sub a{color:#5b6577}
.ct-biz-card__sub a:hover{color:#1a5fb4}
.ct-biz-card__short{font-size:14px;line-height:1.35;margin:0;color:#16202b}
.ct-biz-card__meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;font-weight:700}
.ct-biz-card__rating{color:#16202b}
.ct-biz-card__rec{color:#5b6577}
.ct-biz-card__hours--open{color:#0a7f39}
.ct-biz-card__hours--closed{color:#7a8497}
.ct-biz-card__hours--appointment{color:#5b6577}
.ct-biz-card__price{color:#16202b}
.ct-biz-card__langs{display:flex;flex-wrap:wrap;gap:6px}
.ct-biz-card__acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.ct-biz-act{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border-radius:10px;border:1px solid #d5dbe8;background:#fff;color:#1a5fb4;font:inherit;font-size:13px;font-weight:700;cursor:pointer;line-height:1;white-space:nowrap;transition:background .14s ease,color .14s ease}
.ct-biz-act svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ct-biz-act:hover{background:#eef3fb;color:#134a8c}
.ct-biz-act--wa{color:#25a244}
.ct-biz-act--tg{color:#2aa4e0}
.ct-biz-act--tel.is-shown{background:#eef3fb}
.ct-biz-act--tel a{color:inherit;font-weight:800}
.ct-biz-card--compact .ct-biz-act span{display:none}
.ct-biz-card--compact .ct-biz-act{width:38px;padding:0;justify-content:center}
.ct-biz-card--compact .ct-biz-act--tel.is-shown{width:auto;padding:0 12px}
.ct-biz-card--compact .ct-biz-act--tel.is-shown span{display:inline}

/* offers */
.ct-biz-offers__row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ct-biz-offer{display:flex;flex-direction:column;gap:8px;border:1px solid #f4c7c3;background:#fff6f5;border-radius:12px;padding:14px;color:#16202b}
.ct-biz-offer:hover{border-color:#d93025;color:#16202b}
.ct-biz-offer__t{font-weight:800;font-size:15px;line-height:1.25}
.ct-biz-offer__w{font-size:13px;color:#5b6577}
.ct-biz-offer__d{margin-top:auto;padding-top:2px;font-size:12px;font-weight:800;color:#d93025;text-transform:uppercase;letter-spacing:.04em}
.ct-biz-only-s{display:none}

/* editorial */
.ct-biz-edit__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ct-biz-edit{display:flex;flex-direction:column;border:1px solid #e3e6ef;border-radius:12px;background:#fff;overflow:hidden;color:#16202b}
.ct-biz-edit:hover .ct-biz-edit__t{color:#1a5fb4}
.ct-biz-edit__im{display:block;height:120px;background:#dfe6f2 center/cover no-repeat}
.ct-biz-edit__t{padding:10px 12px 4px;font-weight:700;font-size:14px;line-height:1.3}
.ct-biz-edit__s{padding:0 12px 10px;font-weight:400;font-size:12px;color:#5b6577}

/* owner banner */
.ct-biz-owner{background:#1f5fb5;border-color:#1f5fb5;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:24px}
.ct-biz-owner__t{font-size:22px;font-weight:800;margin-bottom:8px}
.ct-biz-owner__s{font-size:15px;opacity:.9}

/* results, empty, pager */
.ct-biz-empty{padding:8px 0 4px}
.ct-biz-empty__t{font-size:18px;font-weight:800;margin:0 0 10px}
.ct-biz-empty__s{font-size:15px;color:#5b6577;margin:12px 0 8px}
.ct-biz-empty__acts{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}
.ct-biz-pager{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.ct-biz-pager__item{min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #d5dbe8;border-radius:8px;font-weight:700;color:#1a5fb4;font-size:14px}
.ct-biz-pager__item--on{background:#1a5fb4;border-color:#1a5fb4;color:#fff}

/* sticky mobile CTA */
.ct-biz-sticky{display:none}

/* desktop columns as on /news/: 924 + 396 */
@media(min-width:1200px){
  .ct-biz-page .readable-section > .row > .col-xl-9{flex:0 0 70%;max-width:70%}
  .ct-biz-page .readable-section > .row > .col-xl-3{flex:0 0 30%;max-width:30%}
}
/* tablet */
@media(max-width:1199px){
  .ct-biz-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ct-biz-grid,.ct-biz-offers__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-biz-edit__row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-biz-side{margin-bottom:18px}
}
@media(max-width:991px){
  .ct-biz-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ct-biz-side{margin-top:0;margin-bottom:18px}
}
/* mobile */
@media(max-width:767px){
  .ct-biz-box{padding:16px;border-radius:12px;margin-bottom:18px}
  .ct-biz-h1{font-size:22px}
  .ct-biz-h2{font-size:18px}
  .ct-biz-hrow{gap:10px;align-items:flex-start}
  .ct-biz-hrow__link{white-space:normal;text-align:right;font-size:14px}
  .ct-biz-lead{font-size:13px;margin-bottom:12px}
  .ct-biz-search-row{flex-direction:column;align-items:stretch;gap:10px}
  .ct-biz-search{height:48px;padding:0 8px 0 16px}
  .ct-biz-search__ico{display:none}
  .ct-biz-lead__sep{display:none}
  .ct-biz-lead__tail{display:block;margin-top:5px}
  .ct-biz-lead__tail::first-letter{text-transform:uppercase}
  /* The theme back-to-top stays; it is lined up with the sticky button, which leaves room for it. */
  body.ct-biz-page .scrollTop{bottom:19px}
  .ct-biz-only-s{display:inline}
  .ct-biz-hide-s{display:none}
  .ct-biz-search__input{font-size:15px}
  .ct-biz-search__go{width:36px;height:36px}
  .ct-biz-head__add{display:none}
  .ct-biz-chips--scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px}
  .ct-biz-chips--scroll::-webkit-scrollbar{display:none}
  .ct-biz-chips--scroll .ct-biz-chips__label{display:none}
  .ct-biz-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .ct-cat-tile{padding:12px;min-height:72px;gap:6px}
  .ct-cat-tile__name{font-size:14px}
  .ct-cat-tile__hover{display:none!important}
  .ct-biz-tiles:not(.is-open) .ct-cat-tile--more{display:none}
  .ct-biz-more{display:block}
  .ct-biz-grid,.ct-biz-edit__row{grid-template-columns:1fr;gap:10px}
  .ct-biz-card--compact{flex-direction:row;gap:12px;padding:10px}
  .ct-biz-card--compact .ct-biz-card__img{width:84px;height:84px;flex:none;border-radius:10px}
  .ct-biz-card--compact .ct-biz-card__body{padding:0}
  .ct-biz-card--compact .ct-biz-card__badges{position:static}
  .ct-biz-card--row{gap:12px;padding:10px}
  .ct-biz-card--row .ct-biz-card__img{width:84px;height:84px}
  .ct-biz-card__short{display:none}
  .ct-biz-act{height:44px;width:44px;padding:0;justify-content:center}
  .ct-biz-act span{display:none}
  .ct-biz-act--tel.is-shown{width:auto;padding:0 12px}
  .ct-biz-act--tel.is-shown span{display:inline}
  .ct-biz-offers__row{display:flex;overflow-x:auto;gap:10px;margin:0 -16px;padding:0 16px 4px;scrollbar-width:none}
  .ct-biz-offers__row::-webkit-scrollbar{display:none}
  .ct-biz-offer{flex:none;width:250px}
  .ct-biz-offers__row--all{display:grid;grid-template-columns:1fr;gap:10px;margin:0;padding:0}
  .ct-biz-offers__row--all .ct-biz-offer{width:auto}
  .ct-biz-owner{flex-direction:column;align-items:stretch;gap:12px}
  .ct-biz-owner__t{font-size:18px}
  .ct-biz-owner__s{font-size:13px}
  .ct-biz-btn{height:48px;font-size:15px}
  .ct-biz-sticky{display:block;position:fixed;left:0;right:0;bottom:0;padding:10px 68px 12px 12px;background:linear-gradient(rgba(243,245,251,0),#f3f5fb 40%);z-index:90;transform:translateY(110%);transition:transform .2s ease}
  .ct-biz-sticky.is-on{transform:none}
  .ct-biz-sticky .ct-biz-btn{width:100%;height:52px;box-shadow:0 6px 16px rgba(10,127,57,.3)}
  body.ct-biz-has-sticky{padding-bottom:70px}
}

/* ===== Day 5: category / subcategory page ===== */
.ct-biz-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;color:#5b6577;margin-bottom:10px}
.ct-biz-crumbs a{color:#1a5fb4;font-weight:600}
.ct-biz-crumbs a:hover{text-decoration:underline}
.ct-biz-crumbs__sep{color:#b0b8c6}
.ct-biz-cat__head .ct-biz-lead{margin-bottom:14px}
.ct-biz-lead__desc{font-weight:400}
.ct-biz-cat__head .ct-biz-search{height:46px}
.ct-biz-search__all{display:inline-flex;align-items:center;gap:5px;font-size:13px;font-weight:700;color:#1a5fb4;white-space:nowrap;cursor:pointer;margin:0 6px 0 0;user-select:none}
.ct-biz-search__all input{margin:0;accent-color:#1a5fb4}
.ct-biz-chip--on{background:#1a5fb4;border-color:#1a5fb4;color:#fff}
.ct-biz-chip--on b{color:#fff}
.ct-biz-chip--all{background:#fff}
.ct-biz-chip--suggest{background:#fff;color:#7a8497;border-style:dashed;cursor:pointer}
.ct-biz-chip--suggest:hover{color:#1a5fb4;border-color:#1a5fb4}
/* filter panel */
.ct-biz-panel{padding:14px 24px}
.ct-biz-panel__toggle{display:none}
.ct-biz-panel__row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ct-biz-fl{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}
.ct-biz-chip--check,.ct-biz-chip--dd{cursor:pointer;height:36px;padding:0 12px;user-select:none;list-style:none}
.ct-biz-chip--check input{position:absolute;opacity:0;width:0;height:0}
.ct-biz-chip--check{position:relative}
.ct-biz-chip--check:hover,.ct-biz-chip--dd:hover{border-color:#1a5fb4}
.ct-biz-chip--check.is-on,.ct-biz-dd.is-set>.ct-biz-chip--dd{background:#1a5fb4;border-color:#1a5fb4;color:#fff}
.ct-biz-chip--check.is-on b,.ct-biz-dd.is-set>.ct-biz-chip--dd b{color:#fff}
.ct-biz-chip__ico{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ct-biz-chip__ico--red{color:#d93025}
.ct-biz-chip--check.is-on .ct-biz-chip__ico--red{color:#fff}
.ct-biz-dd{position:relative}
.ct-biz-dd>summary::-webkit-details-marker{display:none}
.ct-biz-dd>summary::after{content:"";width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-3px 0 0 4px}
.ct-biz-dd__menu{position:absolute;left:0;top:calc(100% + 6px);z-index:50;min-width:210px;background:#fff;border:1px solid #dcdeed;border-radius:12px;box-shadow:0 16px 32px rgba(0,72,141,.14);padding:8px 6px;display:flex;flex-direction:column;max-height:320px;overflow:auto}
.ct-biz-dd__opt{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.ct-biz-dd__opt:hover{background:#eef3fb}
.ct-biz-dd__opt input{margin:0;accent-color:#1a5fb4}
.ct-biz-sel{display:flex;align-items:center;gap:6px;border:1px solid #cfd6e4;border-radius:10px;height:36px;padding:0 10px;font-size:14px;font-weight:600;background:#fff;white-space:nowrap;flex:none;margin:0}
.ct-biz-sel__l{color:#5b6577}
.ct-biz-sel select{border:0;background:transparent;font:inherit;font-weight:700;color:#16202b;outline:0;cursor:pointer;padding:0}
.ct-biz-panel__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;font-size:13px;color:#5b6577}
.ct-biz-panel__tag{color:#16202b;font-weight:700}
.ct-biz-panel__tag:hover{color:#d93025}
.ct-biz-panel__reset{color:#1a5fb4;font-weight:700}
.ct-biz-panel__reset:hover{text-decoration:underline}
.ct-biz-panel__apply{height:36px;font-size:14px;padding:0 16px;border-width:1px}
.js .ct-biz-panel__apply{display:none}
.ct-biz-cat__list{margin-bottom:20px}
.ct-biz-pager--cat{justify-content:center;margin:0 0 20px}
.ct-biz-pager__gap{display:inline-flex;align-items:center;padding:0 4px;color:#7a8497}
.ct-biz-empty--filters,.ct-biz-empty--term{padding:22px 24px}
/* card: row - keep the actions on the right on desktop as in the artboard */
@media(min-width:992px){
.ct-biz-cat__list .ct-biz-card--row{align-items:stretch}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-card__body{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-auto-rows:min-content;column-gap:16px;row-gap:6px}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-card__body>*{grid-column:1}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-card__acts{grid-column:2;grid-row:1/span 6;flex-direction:column;align-items:flex-end;justify-content:flex-start;margin:0;padding:0}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-act--tel{background:#1a5fb4;color:#fff;border-color:#1a5fb4;height:40px;padding:0 14px;font-size:14px}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-act--tel:hover{background:#134a8c}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-act--tel.is-shown{background:#eef3fb;color:#1a5fb4}
}
@media(max-width:991px){
.ct-biz-panel__row{flex-direction:column;align-items:stretch}
}
@media(max-width:767px){
.ct-biz-panel{padding:12px 16px}
.ct-biz-panel__toggle{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid #cfd6e4;border-radius:10px;background:#fff;font:inherit;font-weight:700;font-size:14px;color:#16202b;cursor:pointer}
.ct-biz-panel__toggle svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ct-biz-panel__toggle b{background:#1a5fb4;color:#fff;border-radius:10px;padding:1px 7px;font-size:12px}
.ct-biz-panel:not(.is-open) .ct-biz-panel__body{display:none}
.ct-biz-panel__body{margin-top:12px}
.ct-biz-panel.is-open .ct-biz-panel__body{position:fixed;left:0;right:0;bottom:0;top:auto;max-height:80vh;overflow:auto;background:#fff;z-index:120;margin:0;padding:16px 16px 20px;border-radius:16px 16px 0 0;box-shadow:0 -12px 32px rgba(0,0,0,.18)}
.ct-biz-panel__foot{flex-direction:column;align-items:stretch;gap:10px}
.js .ct-biz-panel.is-open .ct-biz-panel__apply{display:inline-flex;height:48px;font-size:15px;background:#1a5fb4;color:#fff;border-color:#1a5fb4}
.ct-biz-panel__sum{font-size:13px}
.ct-biz-dd__menu{position:static;box-shadow:none;border:0;padding:4px 0 0 8px;max-height:none}
.ct-biz-dd{width:100%}
.ct-biz-sel{width:100%;justify-content:space-between}
.ct-biz-sel select{flex:1;text-align:right}
.ct-biz-crumbs{font-size:13px}
.ct-biz-cat__chips .ct-biz-chip--suggest{flex:none}
.ct-biz-search__all{display:none}
.ct-biz-cat__head .ct-biz-search{height:44px}
.ct-biz-cat__list .ct-biz-card--row .ct-biz-card__acts{padding-top:4px}
}

/* Day 5, round 2: visible checkboxes in the dropdowns, close button of the mobile sheet */
.ct-biz-dd__opt input{width:16px;height:16px;flex:none;appearance:auto;-webkit-appearance:auto;opacity:1;position:static}
.ct-biz-dd__opt:has(input:checked){background:#eef3fb;color:#1a5fb4}
.ct-biz-panel__close{display:none}
@media(max-width:767px){
.ct-biz-dd{width:auto}
.ct-biz-panel.is-open .ct-biz-panel__body{padding-top:14px}
.ct-biz-panel.is-open .ct-biz-panel__close{display:flex;align-items:center;justify-content:center;position:absolute;right:10px;top:6px;width:36px;height:36px;border:0;background:none;font-size:26px;line-height:1;color:#5b6577;cursor:pointer;padding:0}
.ct-biz-panel.is-open .ct-biz-panel__row{padding-right:36px}
}
/* d5c */
@media(min-width:768px){.ct-biz-cat__list .ct-biz-card--row .ct-biz-card__short{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}}
@media(max-width:767px){.ct-biz-cat__head .ct-biz-lead .ct-biz-dot{display:none}.ct-biz-cat__head .ct-biz-lead__desc{display:block;margin-top:5px;font-weight:400}}



/* ==========================================================================
   Day 6: business card, modals, reviews, sticky action bar.
   Selectors that already exist in the landing / category CSS (ct-biz-box,
   ct-biz-h1, ct-biz-h2, ct-biz-crumbs) are scoped to .ct-biz-single-page:
   an unscoped redefinition here wins by order and repaints the landing.
   Modal / form classes are new names on purpose - the windows also live on
   the landing page ("Как попасть сюда?").
   ========================================================================== */

.ct-biz-single-page .readable-section .col-xl-9 { max-width: 924px; flex: 0 0 924px; }
.ct-biz-single-page .readable-section .col-xl-3 { max-width: 396px; flex: 0 0 396px; }
@media (max-width: 1199px) {
	.ct-biz-single-page .readable-section .col-xl-9,
	.ct-biz-single-page .readable-section .col-xl-3 { max-width: 100%; flex: 0 0 100%; }
}

.ct-biz-single-page .ct-biz-box {
	background: #fff;
	border: 1px solid #e6ebf2;
	border-radius: 14px;
	padding: 22px;
	margin-bottom: 18px;
}
.ct-biz-single-page .ct-biz-h2 { font-size: 20px; font-weight: 800; margin: 0 0 12px; }
.ct-biz-rowhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.ct-biz-single-page .ct-biz-rowhead .ct-biz-h2 { margin: 0; }
.ct-biz-hide { display: none !important; }

.ct-biz-single-page .ct-biz-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: #7a8497; margin-bottom: 10px; }
.ct-biz-single-page .ct-biz-crumbs a { color: #7a8497; border-bottom: 0; }
.ct-biz-single-page .ct-biz-crumbs a:hover { color: #1a5fb4; }
/* The record itself closes the trail and is not a link. */
.ct-biz-crumbs__now { color: #a2abb9; max-width: 320px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.ct-biz-head .ct-biz-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; }
.ct-biz-single-page .ct-biz-h1 { font-size: 32px; line-height: 1.2; font-weight: 800; margin: 0 0 10px; }
@media (max-width: 767px) { .ct-biz-single-page .ct-biz-h1 { font-size: 24px; } }

.ct-biz-subline { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; font-size: 15px; color: #5b6577; }
.ct-biz-subline a { color: #1a5fb4; border-bottom: 0; }
.ct-biz-rate { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: #1c2333; }
.ct-biz-rate--none { font-weight: 400; color: #7a8497; }
.ct-biz-star { width: 16px; height: 16px; display: inline-block; background: #f5a623; clip-path: polygon(50% 0, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }

.ct-biz-abar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; }
.ct-biz-ab {
	display: inline-flex; align-items: center; justify-content: center;
	height: 42px; padding: 0 16px; border-radius: 10px;
	border: 1px solid #cfd9e6; background: #fff; color: #1c2333;
	font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: none;
}
.ct-biz-ab:hover { border-color: #1a5fb4; color: #1a5fb4; }
.ct-biz-ab--call { background: #1a5fb4; border-color: #1a5fb4; color: #fff; }
.ct-biz-ab--call:hover { color: #fff; opacity: .9; }
.ct-biz-ab--wa { background: #25d366; border-color: #25d366; color: #fff; }
.ct-biz-ab--wa:hover { color: #fff; opacity: .9; }
.ct-biz-ab--tg { background: #29a9eb; border-color: #29a9eb; color: #fff; }
.ct-biz-ab--tg:hover { color: #fff; opacity: .9; }
.ct-biz-ab--owner { margin-left: auto; border-color: #1a5fb4; color: #1a5fb4; }
.ct-biz-ab--rec.is-on { background: #fdeceb; border-color: #d93025; color: #d93025; }
.ct-biz-ab[disabled] { opacity: .5; cursor: default; }
@media (max-width: 767px) { .ct-biz-ab--owner { margin-left: 0; width: 100%; } }

/* share: one button in the header, the icon list drops out of it */
.ct-biz-sharewrap { position: relative; }
.ct-biz-sharebox {
	position: absolute; z-index: 30; top: calc(100% + 8px); left: 0;
	min-width: 260px; padding: 10px 12px;
	background: #fff; border: 1px solid #e6ebf2; border-radius: 12px;
	box-shadow: 0 10px 26px rgba(16, 28, 48, .16);
}
.ct-biz-sharebox[hidden] { display: none; }
.ct-biz-sharebox .poll-article-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
@media (max-width: 767px) { .ct-biz-sharebox { left: auto; right: 0; } }

/* gallery: one photo is shown large, several keep the tile grid and zoom on click */
.ct-biz-single-page .ct-biz-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.ct-biz-gallery__it { padding: 0; border: 0; background: none; cursor: zoom-in; display: block; }
.ct-biz-gallery img { width: 100%; height: 180px; object-fit: cover; border-radius: 10px; margin: 0; display: block; }
.ct-biz-single-page .ct-biz-gallery--one { display: block; }
.ct-biz-gallery--one img { height: auto; max-height: 460px; object-fit: contain; background: #f4f7fb; }

.ct-biz-lightbox {
	position: fixed; inset: 0; z-index: 1300;
	background: rgba(10, 16, 28, .88);
	display: flex; align-items: center; justify-content: center; padding: 24px;
	cursor: zoom-out;
}
.ct-biz-lightbox[hidden] { display: none !important; }
.ct-biz-lightbox img { max-width: 100%; max-height: 92vh; border-radius: 10px; margin: 0; }
.ct-biz-lightbox__x { position: absolute; top: 14px; right: 18px; background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; }

.ct-biz-single-page .ct-biz-offerbox { border: 2px solid #d93025; background: #fff8f7; }
.ct-biz-offerbox__top { font-size: 13px; font-weight: 700; color: #d93025; text-transform: uppercase; letter-spacing: .03em; }
.ct-biz-offerbox__text { font-size: 18px; font-weight: 800; margin: 6px 0; }
.ct-biz-offerbox__cond,
.ct-biz-offerbox__promo { font-size: 14px; line-height: 1.5; color: #5b6577; }

.ct-biz-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; }
@media (max-width: 767px) { .ct-biz-facts { grid-template-columns: 1fr; } }
.ct-biz-fact { display: flex; flex-direction: column; gap: 3px; font-size: 14px; line-height: 1.45; }
.ct-biz-fact b { font-size: 12px; font-weight: 700; color: #7a8497; text-transform: uppercase; letter-spacing: .03em; }
.ct-biz-fact a { color: #1a5fb4; border-bottom: 0; }

.ct-biz-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ct-biz-tag { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #eef3fa; font-size: 14px; }

.ct-biz-desc__text { font-size: 16px; line-height: 1.55; }

.ct-biz-reviews__empty { color: #7a8497; margin: 0; }
.ct-biz-review { padding: 14px 0; border-top: 1px solid #eef1f6; }
.ct-biz-review:first-of-type { border-top: 0; }
.ct-biz-review__who { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: #7a8497; }
.ct-biz-review__who b { color: #1c2333; }
.ct-biz-review__stars { font-weight: 700; color: #f5a623; }
.ct-biz-review__text p { margin: 6px 0 0; font-size: 15px; line-height: 1.5; }
.ct-biz-review__reply { margin: 10px 0 0 18px; padding: 10px 12px; border-radius: 10px; background: #f4f7fb; font-size: 14px; line-height: 1.5; }
.ct-biz-review__owner { background: #eef5ff; }
.ct-biz-reply-btn { margin-top: 8px; background: none; border: 0; padding: 0; color: #1a5fb4; font-size: 14px; font-weight: 700; cursor: pointer; }
.ct-biz-reply-form { margin-top: 8px; display: flex; flex-direction: column; gap: 8px; }
.ct-biz-reply-form textarea { width: 100%; min-height: 80px; border: 1px solid #cfd9e6; border-radius: 10px; padding: 10px; font: inherit; }

.ct-biz-similar { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 991px) { .ct-biz-similar { grid-template-columns: 1fr; } }

.ct-biz-single-page .ct-biz-servicebox { padding: 14px 18px; background: #f7f9fc; }
.ct-biz-servicerow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 20px; font-size: 13px; color: #7a8497; }
.ct-biz-servicerow a { color: #7a8497; border-bottom: 1px dashed #c3cbd8; cursor: pointer; }
.ct-biz-servicerow a:hover { color: #d93025; }
.ct-biz-servicerow__right { margin-left: auto; }
@media (max-width: 767px) { .ct-biz-servicerow__right { margin-left: 0; width: 100%; } }

.ct-biz-single-page .ct-biz-map { display: flex; flex-direction: column; gap: 12px; }
.ct-biz-single-page .ct-biz-map .ct-biz-h2 { margin: 0; }
.ct-biz-map iframe { width: 100%; height: 220px; border: 0; border-radius: 10px; display: block; }
.ct-biz-map__addr { font-size: 14px; line-height: 1.5; color: #5b6577; }

/* ---------- fixed action bar (mobile) ---------- */
.ct-biz-fixbar { display: none; }
@media (max-width: 767px) {
	.ct-biz-fixbar {
		display: flex; gap: 8px; align-items: center;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: #fff; box-shadow: 0 -2px 14px rgba(16, 28, 48, .14);
		transform: translateY(110%); transition: transform .18s ease;
	}
	.ct-biz-fixbar.is-on { transform: none; }
	.ct-biz-fixbar .ct-biz-ab { flex: 1; padding: 0 10px; }
	.ct-biz-single-page { padding-bottom: 64px; }
}

/* ---------- modals ---------- */
html.ct-biz-modal-open { overflow: hidden; }
.ct-biz-modal {
	position: fixed; inset: 0; z-index: 1200;
	background: rgba(16, 24, 40, .55);
	display: flex; align-items: center; justify-content: center;
	padding: 20px;
}
.ct-biz-modal[hidden] { display: none !important; }
.ct-biz-modal__box {
	position: relative; width: 100%; max-width: 440px;
	max-height: 90vh; overflow: auto;
	background: #fff; border-radius: 16px; padding: 24px;
	border-top: 4px solid #1a5fb4;
}
.ct-biz-modal__box--red { border-top-color: #d93025; }
.ct-biz-modal__box h3 { font-size: 20px; font-weight: 800; line-height: 1.3; margin: 0 0 12px; }
.ct-biz-modal__x { position: absolute; top: 10px; right: 12px; background: none; border: 0; font-size: 26px; line-height: 1; color: #7a8497; cursor: pointer; }
.ct-biz-modal__who {
	display: block; padding: 12px 14px; border-radius: 10px;
	background: #f1f6ff; font-size: 13px; line-height: 1.55; color: #3b4658;
	margin: 0 0 16px;
}
.ct-biz-modal__who--red { background: #fff6f5; }
@media (max-width: 767px) {
	.ct-biz-modal { align-items: flex-end; padding: 0; }
	.ct-biz-modal__box { max-width: 100%; border-radius: 16px 16px 0 0; max-height: 92vh; }
}

.ct-biz-form { display: flex; flex-direction: column; gap: 14px; }
.ct-biz-form label { display: block; }
.ct-biz-form__lbl { display: block; margin-bottom: 5px; font-size: 13px; font-weight: 700; color: #3b4658; }
.ct-biz-form__lbl em { color: #d93025; font-style: normal; }
.ct-biz-form input[type="text"],
.ct-biz-form input[type="email"],
.ct-biz-form input[type="tel"],
.ct-biz-form input[type="url"],
.ct-biz-form input[type="number"],
.ct-biz-form textarea {
	width: 100%; border: 1px solid #cfd9e6; border-radius: 10px;
	padding: 10px 12px; font: inherit; font-weight: 400; color: #1c2333;
}
.ct-biz-form textarea { resize: vertical; }
.ct-biz-form__msg { margin: 0; font-size: 13px; line-height: 1.45; min-height: 16px; }
.ct-biz-form__msg.is-err { color: #d93025; }
.ct-biz-form__msg.is-ok { color: #2a7a33; }
.ct-biz-form__bar { height: 3px; border-radius: 2px; background: #e6ebf2; overflow: hidden; }
.ct-biz-form__bar[hidden] { display: none; }
.ct-biz-form__bar i { display: block; height: 100%; width: 100%; background: #2a7a33; transform-origin: left center; animation: ctBizBar 3s linear forwards; }
@keyframes ctBizBar { from { transform: scaleX(1); } to { transform: scaleX(0); } }

.ct-biz-mbtn {
	display: inline-flex; align-items: center; justify-content: center;
	height: 42px; padding: 0 16px; border-radius: 10px;
	border: 1px solid transparent; font-size: 14px; font-weight: 700; cursor: pointer;
	text-decoration: none;
}
.ct-biz-mbtn--blue { background: #1a5fb4; color: #fff; }
.ct-biz-mbtn--blue:hover { color: #fff; opacity: .92; }
.ct-biz-mbtn--red { background: #fff; border-color: #d93025; color: #d93025; }
.ct-biz-mbtn--ghost { background: #fff; border-color: #cfd9e6; color: #1c2333; }
.ct-biz-mbtn--wide { width: 100%; }
.ct-biz-mbtn[disabled] { opacity: .55; cursor: default; }

.ct-biz-reasons { display: flex; flex-direction: column; gap: 8px; }
.ct-biz-reason { display: flex !important; align-items: center; gap: 8px; font-weight: 400; font-size: 14px; cursor: pointer; }
/* The theme gives input[type=checkbox] and radio a zero width. */
.ct-biz-reason input[type="radio"] { width: 16px !important; height: 16px !important; min-width: 16px; appearance: auto; -webkit-appearance: radio; margin: 0; }

.ct-biz-starpick { display: flex; gap: 4px; }
.ct-biz-starpick__s { background: none; border: 0; padding: 0 2px; font-size: 30px; line-height: 1; color: #d6dbe4; cursor: pointer; }
.ct-biz-starpick__s.is-on { color: #f5a623; }

/* ---------- landing: "Как попасть сюда?" ---------- */
.ct-biz-howto-link { background: none; border: 0; padding: 0; color: #1a5fb4; font-size: 14px; font-weight: 700; cursor: pointer; }
.ct-biz-howto__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.ct-biz-howto__btns .ct-biz-mbtn { flex: 1; min-width: 150px; }

/* ---------- tariffs window ---------- */
.ct-biz-tariffs { display: flex; flex-direction: column; gap: 10px; margin-bottom: 16px; }
.ct-biz-tariff { border: 1px solid #e6ebf2; border-radius: 12px; padding: 12px 14px; }
.ct-biz-tariff--pro { border-color: #1a5fb4; }
.ct-biz-tariff__h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-weight: 800; font-size: 15px; }
.ct-biz-tariff__p { font-weight: 700; color: #1a5fb4; white-space: nowrap; }
.ct-biz-tariff__l { margin: 6px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.55; color: #5b6577; }

/* ==========================================================================
   Day 6, round 3: header actions ("Рекомендую" with a heart + a share icon),
   one-line share dropdown, short language codes in cards, map spacing.
   ========================================================================== */

/* ---------- header row: title on the left, two actions on the right ------ */
.ct-biz-single-page .ct-biz-hrow { display: flex; align-items: flex-start; gap: 16px; }
.ct-biz-single-page .ct-biz-hmain { min-width: 0; flex: 1 1 auto; }
.ct-biz-single-page .ct-biz-hside {
	display: flex; align-items: center; gap: 8px;
	flex: 0 0 auto; margin-left: auto; padding-top: 2px;
}

.ct-biz-hbtn {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	height: 38px; padding: 0 14px; border-radius: 10px;
	border: 1px solid #cfd9e6; background: #fff; color: #1c2333;
	font-size: 14px; font-weight: 600; line-height: 1; cursor: pointer; text-decoration: none;
	transition: border-color .15s, color .15s, background-color .15s;
}
.ct-biz-hbtn:hover { border-color: #1a5fb4; color: #1a5fb4; }
.ct-biz-hbtn--ico { width: 38px; padding: 0; }
.ct-biz-hbtn[disabled] { opacity: .5; cursor: default; }
.ct-biz-hbtn[disabled]:hover { border-color: #cfd9e6; color: #1c2333; }

.ct-biz-ico { width: 18px; height: 18px; display: block; flex: 0 0 auto; }
.ct-biz-hbtn--rec .ct-biz-ico { fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linejoin: round; }
.ct-biz-hbtn--rec.is-on { background: #fdeceb; border-color: #d93025; color: #d93025; }
.ct-biz-hbtn--rec.is-on .ct-biz-ico { fill: #d93025; stroke: #d93025; }
.ct-biz-hbtn--ico .ct-biz-ico { width: 19px; height: 19px; fill: currentColor; stroke: currentColor; stroke-width: 1.5; }
.ct-biz-hbtn--ico .ct-biz-ico path { fill: none; }

@media (max-width: 767px) {
	.ct-biz-single-page .ct-biz-hrow { flex-direction: column; gap: 12px; }
	.ct-biz-single-page .ct-biz-hside { margin-left: 0; width: 100%; }
	.ct-biz-hbtn--rec { flex: 1 1 auto; }
}

/* ---------- share dropdown: all icons in one row ------------------------- */
.ct-biz-sharebox {
	min-width: 0; width: max-content; max-width: min(92vw, 420px);
	padding: 8px 10px;
}
.ct-biz-sharebox .poll-article-line {
	display: flex; flex-wrap: nowrap; align-items: center; gap: 4px;
	margin: 0; padding: 0; list-style: none; overflow-x: auto;
}
.ct-biz-sharebox .poll-article-line::-webkit-scrollbar { height: 0; }
.ct-biz-sharebox .poll-article-line li {
	margin: 0; padding: 0; border: 0; list-style: none; flex: 0 0 auto;
}
.ct-biz-sharebox .poll-article-line li::before,
.ct-biz-sharebox .poll-article-line li::after { content: none; }
.ct-biz-sharebox .poll-article-line li a {
	display: flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; border-radius: 9px; border: 0; background: none;
	transition: background-color .15s;
}
.ct-biz-sharebox .poll-article-line li a:hover { background: #eef3fa; }
.ct-biz-sharebox .poll-article-line li img,
.ct-biz-sharebox .poll-article-line li svg { width: 22px; height: 22px; margin: 0; display: block; }
/* the dropdown hangs off the right edge of the icon button */
.ct-biz-single-page .ct-biz-sharebox { left: auto; right: 0; }

/* ---------- short language codes in cards -------------------------------- */
.ct-biz-card__langs { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.ct-biz-lang { font-size: 13px; font-weight: 600; color: #5b6577; letter-spacing: .02em; }
.ct-biz-card__langs .ct-biz-lang + .ct-biz-lang::before { content: '· '; color: #b0b8c6; font-weight: 400; }

/* ---------- right column: the map is a block like the others ------------- */
.ct-biz-single-page .ct-biz-map { margin-top: 18px; }

/* ---------- claim window keeps the shared form rhythm -------------------- */
.ct-biz-modal #ct-msg-claim-form textarea { min-height: 84px; }

/* ==========================================================================
   Day 6, round 4: no share counter in the dropdown, hints on "Рекомендую".
   ========================================================================== */
.ct-biz-sharebox .poll-article-line li.share-count { display: none; }
.ct-biz-sharebox .poll-article-line { overflow: visible; }
.ct-biz-hbtn--rec[disabled] { cursor: help; }


/* Day 7, round 2 (15.09): card spacing, language "+" without a dot, social icons in the head */
.ct-biz-card__sub{display:block;line-height:1.5;margin-top:3px}
.ct-biz-card__badges{margin:0 0 8px}
.ct-biz-card--row .ct-biz-card__badges{margin:2px 0 8px}
.ct-biz-card--compact .ct-biz-card__badges{margin:0 0 6px}
.ct-biz-card__title{margin-top:0}
.ct-biz-card__langs .ct-biz-lang--more::before{content:none}
.ct-biz-card__langs .ct-biz-lang--more{margin-left:2px}
.ct-biz-socials{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;justify-content:flex-end}
.ct-biz-social{width:34px;height:34px;border-radius:9px;border:1px solid #dcdeed;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#3b4658}
.ct-biz-social svg{width:18px;height:18px;fill:currentColor}
.ct-biz-social:hover{background:#eef3fb;border-color:#c9d8f0;color:#1a5fb4}
.ct-biz-videobox{margin-top:0}
.ct-biz-servicebox--up{margin-bottom:18px}
@media(max-width:767px){.ct-biz-socials{justify-content:flex-start;margin-top:8px}}


/* Day 7, round 3 (15.09): save button, socials in the facts, offer block */
.ct-biz-hbtn--save.is-on{background:#1a5fb4;border-color:#1a5fb4;color:#fff}
.ct-biz-hbtn--save.is-on .ct-biz-ico{fill:#fff}
.ct-biz-socials--facts{display:inline-flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.ct-biz-facts .ct-biz-social{width:30px;height:30px;border-radius:8px}
.ct-biz-facts .ct-biz-social svg{width:16px;height:16px}
.ct-biz-offerbox__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 14px}
.ct-biz-offerbox__h2{margin:0;font-size:19px}
.ct-biz-offerbox__till{font-size:13px;font-weight:800;color:#b3261e;text-transform:uppercase;letter-spacing:.02em}
.ct-biz-offerbox__grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}
.ct-biz-offerbox .ct-biz-offerbox__text{font-size:18px;font-weight:700;line-height:1.45;color:#16202b;margin:0}
.ct-biz-offerbox__side{background:#fff;border:1px solid #f3b4ae;border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:9px}
.ct-biz-offerbox__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;line-height:1.4}
.ct-biz-offerbox__row b{color:#5b6577;font-weight:700;flex:none}
.ct-biz-offerbox__row span{text-align:right}
.ct-biz-offerbox .ct-biz-offerbox__promo{font-weight:800;letter-spacing:.04em;background:none;padding:0;margin:0;color:#16202b}
.ct-biz-offerbox__cta{height:42px;display:inline-flex;align-items:center;justify-content:center;margin-top:2px}
@media(max-width:767px){.ct-biz-offerbox__grid{grid-template-columns:1fr}.ct-biz-offerbox__row span{text-align:left}}

.ct-biz-offerbox__grid{align-items:center}
.ct-biz-offerbox .ct-biz-offerbox__text{align-self:center}


/* Day 7, round 4 (15.09): gallery "show more", colored socials, offer card in the landing style */
.ct-biz-gallery__it--hid[hidden]{display:none}
.ct-biz-gallery__more{flex:0 0 100%;margin:10px 0 0;border:0;background:none;font:inherit;font-size:14px;font-weight:800;color:#1a5fb4;cursor:pointer;text-align:left;padding:0}
.ct-biz-gallery__more:hover{text-decoration:underline}
.ct-biz-social--instagram{color:#fff;background:radial-gradient(circle at 30% 107%,#fdf497 0,#fd5949 45%,#d6249f 60%,#285AEB 90%);border-color:transparent}
.ct-biz-social--facebook{color:#fff;background:#1877f2;border-color:transparent}
.ct-biz-social--youtube{color:#fff;background:#ff0000;border-color:transparent}
.ct-biz-social--tiktok{color:#fff;background:#010101;border-color:transparent}
.ct-biz-social--linkedin{color:#fff;background:#0a66c2;border-color:transparent}
.ct-biz-social:hover{opacity:.85;color:#fff}
.ct-biz-socials--facts{justify-content:flex-start}
.ct-biz-offerbox{background:#fff;border:1px solid #f0c6c1}
.ct-biz-offerbox__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #edf0f5}
.ct-biz-offerbox__body{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.ct-biz-offerbox .ct-biz-offerbox__text{flex:1 1 320px;min-width:0;font-size:18px;font-weight:700;line-height:1.4;color:#16202b;margin:0}
.ct-biz-offerbox__how{flex:0 1 auto;font-size:14px;line-height:1.45;color:#3b4658}
.ct-biz-offerbox__how b{color:#5b6577}
.ct-biz-offerbox .ct-biz-offerbox__promo{display:inline-block;font-weight:800;letter-spacing:.04em;background:#fdecea;border-radius:8px;padding:2px 8px;margin:0;color:#b3261e}
.ct-biz-offerbox__cta{flex:0 0 auto;height:42px;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:767px){.ct-biz-offerbox__body{gap:10px}.ct-biz-offerbox__cta{width:100%}}


/* ---------- Day 7, round 5: head actions, anchors, brand icons ----------- */
.ct-biz-single-page .ct-biz-hside { flex-direction: column; align-items: stretch; gap: 8px; padding-top: 0; }
.ct-biz-hside__top { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.ct-biz-hside__bot { display: flex; }
.ct-biz-hside__bot .ct-biz-hbtn { flex: 1 1 auto; justify-content: center; }
.ct-biz-hbtn--save.is-on { background: #1a5fb4; border-color: #1a5fb4; color: #fff; }
.ct-biz-hbtn--save.is-on .ct-biz-ico { fill: #fff; }
.ct-biz-hbtn--save:hover { border-color: #1a5fb4; color: #1a5fb4; }
.ct-biz-hbtn--save.is-on:hover { color: #fff; opacity: .92; }
.ct-biz-social svg { fill: currentColor; stroke: none; }
.ct-biz-reviews { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .ct-biz-hrow { align-items: baseline; }
  .ct-biz-single-page .ct-biz-hrow { align-items: flex-start; }
  .ct-biz-single-page .ct-biz-hside { width: 100%; }
  .ct-biz-hside__top { justify-content: flex-start; }
  .ct-biz-hside__top .ct-biz-hbtn--save { flex: 1 1 auto; justify-content: center; }
}


/* ---------- Day 7, round 6: tariff list markers, accent, compact offer ---------- */
.ct-biz-tariff__l{list-style:none;padding-left:0}
.ct-biz-tariff__l li{position:relative;padding-left:15px;margin:4px 0}
.ct-biz-tariff__l li::before{content:'–';position:absolute;left:0;top:0;color:#9aa4b5;font-weight:700}
.ct-biz-tariff--pro{border-color:#e6ebf2}
.ct-biz-tariff--accent{border-color:#1a5fb4;box-shadow:inset 0 0 0 1px #1a5fb4}
.ct-biz-tariff__pick{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#1a5fb4;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;white-space:nowrap}

/* socials: the facts block paints links blue, which killed the white glyphs */
.ct-biz-facts .ct-biz-social,
.ct-biz-socials--facts .ct-biz-social{color:#fff}
.ct-biz-facts .ct-biz-social svg,
.ct-biz-socials--facts .ct-biz-social svg{width:17px;height:17px;fill:#fff;stroke:none}
.ct-biz-facts .ct-biz-social:hover,
.ct-biz-socials--facts .ct-biz-social:hover{color:#fff;opacity:.85}
.ct-biz-socials--facts .ct-biz-social{width:32px;height:32px;border-radius:9px}

.ct-biz-offerbox__head{margin:0 0 10px;padding-bottom:6px}
.ct-biz-offerbox__body{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px}
.ct-biz-offerbox .ct-biz-offerbox__text{flex:1 1 240px;margin:0;font-size:17px;font-weight:800;line-height:1.35;color:#12467f}
.ct-biz-offerbox__how{flex:0 1 auto;font-size:14px;line-height:1.4;color:#5b6577}
.ct-biz-offerbox .ct-biz-offerbox__promo{color:#b3261e}
.ct-biz-offerbox__cta{flex:none;margin-top:0}
@media (max-width:767px){
  .ct-biz-offerbox__body{gap:10px}
  .ct-biz-offerbox__cta{width:100%}
}


/* ---------- Day 7, round 7: compact crumbs instead of the old mobile header ---------- */
@media (max-width:767px){
  .ct-biz-single-page .ct-biz-crumbs{font-size:12px;gap:4px 6px;margin-bottom:8px;flex-wrap:wrap}
  .ct-biz-single-page .ct-biz-crumbs > :last-child,
  .ct-biz-single-page .ct-biz-crumbs > :nth-last-child(2){display:none}
  .ct-biz-single-page .ct-biz-head{padding-top:14px}
}


/* ---------- Day 7, round 7: the paid tier is a star, not a word ---------- */
.ct-biz-badge--pro{background:#f2a900;color:#16202b;font-size:13px;line-height:1;padding:4px 8px;letter-spacing:0}
.ct-biz-card--pro{border:2px solid #f2a900}


/* ---------- Day 7, round 8 ---------- */
/* description keeps the formatting of the old records: the global reset eats list markers */
.ct-biz-desc__text ul{list-style:disc;padding-left:22px;margin:10px 0}
.ct-biz-desc__text ol{list-style:decimal;padding-left:24px;margin:10px 0}
.ct-biz-desc__text li{margin:5px 0;line-height:1.5}
.ct-biz-desc__text p{margin:0 0 10px}
.ct-biz-desc__text p:last-child{margin-bottom:0}
.ct-biz-desc__text h2,.ct-biz-desc__text h3,.ct-biz-desc__text h4{font-size:18px;font-weight:800;line-height:1.3;margin:18px 0 8px}
.ct-biz-desc__text a{color:#1a5fb4;text-decoration:underline}
.ct-biz-desc__text strong,.ct-biz-desc__text b{font-weight:800}

/* badges: same air above and below, bigger star */
.ct-biz-badge{display:inline-flex;align-items:center;padding:5px 8px;line-height:1}
.ct-biz-badge--pro{font-size:16px;padding:3px 9px;line-height:1}

/* cards in lists: air between the description, hours, price and languages */
.ct-biz-card__short{margin-bottom:10px}
.ct-biz-card__meta{gap:9px 14px;margin-top:10px}
.ct-biz-card__langs{margin-top:10px}

/* filter chips: the star sits on the text line */
.ct-biz-chip svg{width:14px;height:14px;flex:none;display:block}

/* reader offers on the landing: the date follows the text, no gap */
.ct-biz-offer__d{margin-top:0}
.ct-biz-offer{gap:6px}


/* ---------- Day 7, round 9 ---------- */
/* "search everywhere" is a button now, but it has to keep reading as a link */
.ct-biz-search__all{background:none;border:0;padding:0;margin:0;font:inherit;color:#1a5fb4;cursor:pointer;white-space:nowrap;text-decoration:none}
.ct-biz-search__all:hover{text-decoration:underline}
/* the filter panel on the search results keeps the same air as on a category page */
.ct-biz-results .ct-biz-panel{margin:0 0 14px}
.ct-biz-results .ct-biz-panel__body{padding-top:0}


/* ---------- Day 7, round 10 ---------- */
/* the floating "add business" bar must not sit on top of the open filter sheet */
body.ct-biz-lock .ct-biz-sticky{display:none}
/* clearing the search field */
.ct-biz-search__clr{background:none;border:0;padding:0 6px;margin:0;font-size:22px;line-height:1;color:#8a94a6;cursor:pointer}
.ct-biz-search__clr:hover{color:#16202b}
/* search results heading: category and "search everywhere" follow the title, the count goes right */
.ct-biz-results .ct-biz-hrow{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.ct-biz-hrow__all,.ct-biz-hrow__clear{font-size:14px;color:#1a5fb4;text-decoration:underline;white-space:nowrap}
.ct-biz-hrow__all:hover,.ct-biz-hrow__clear:hover{color:#123f79}
.ct-biz-hrow__cnt{margin-left:auto}
.ct-biz-hrow__all,.ct-biz-hrow__clear{text-decoration:underline !important;text-underline-offset:2px}


/* ---------- Day 7, round 11 ---------- */
/* empty search result: every step gets its own air, on desktop and on the phone */
.ct-biz-empty{padding-bottom:4px}
.ct-biz-empty__t{margin:0 0 20px}
.ct-biz-empty__s{margin:24px 0 10px}
.ct-biz-empty .ct-biz-chips{gap:8px;margin:0}
.ct-biz-empty__acts{margin-top:18px;gap:12px}
@media (max-width:767px){
.ct-biz-empty__t{margin-bottom:16px}
.ct-biz-empty__s{margin:20px 0 10px}
.ct-biz-empty__acts{margin-top:16px;gap:10px}
}
/* the wide work and poster rows must not stick to the column above them */
.ct-biz-page .ct-wide-row,.ct-biz-page .ct-sec-poster{margin-top:18px}


/* ---------- Day 7, round 12 ---------- */
/* the reader offer: the business name is the second thing you read, the category the third */
.ct-biz-offer__w{display:block;font-size:13px;color:#5b6577}
.ct-biz-offer__b{display:block;font-size:14px;font-weight:700;line-height:1.3;color:#16202b}
.ct-biz-offer__c{display:block;margin-top:3px;font-size:12px;line-height:1.3;color:#5b6577}


/* ---------- Day 7, round 13 ---------- */
/* the discount line of a reader offer, colour picked by the owner */
.ct-biz-offer__t{color:#0769d6}
/* the tariff badge carries a word, not a star: back to the size of every other badge.
   The 16px rule of round 8 was meant for the star glyph on the cards. */
.ct-bf__tariff-h .ct-biz-badge--pro{font-size:11px;padding:3px 7px;letter-spacing:.03em;line-height:1.2}
