/* The original site relied on the slidesjs jQuery plugin to reveal the slider
   after initialization; the React slider renders ready-made markup instead. */
.slides {
  display: block;
}
.slides picture.slide-hidden {
  display: none;
}
/* Обёртка <picture> тоже должна иметь размеры: у img стоит height:100%, а эти
   100% считаются от <picture>, а не от .office__image. Инлайновый <picture>
   высоты не даёт — Blink это прощает, WebKit нет, и в Safari миниатюра
   кадрировалась от собственного размера файла (сильный зум). */
.slides picture { display: block; width: 100%; height: 100%; }
.slides img.image__content {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slidesjs-previous.slidesjs-navigation,
.slidesjs-next.slidesjs-navigation {
  display: block;
}

/* State classes replacing the inline styles the legacy jQuery code toggled */
.ui.flowing.popup.popup-open {
  display: block;
}
@media only screen and (max-width: 768px) {
  .description__search.search-open {
    display: block;
  }
}

/* Mapbox canvas fills the map panel */
.map-canvas {
  width: 100%;
  height: 100%;
}

/* FormSubmit honeypot field */
.honey-field {
  display: none;
}

/* Justified copy in the SEO text block (was inline style="text-align:justify") */
.first-page-text-block__text h1,
.first-page-text-block__text h2,
.first-page-text-block__text h3,
.first-page-text-block__text h4,
.first-page-text-block__text h5,
.first-page-text-block__text p {
  text-align: justify;
}

/* ---- Building page (one_office) additions ---- */
.open-office__picture .slides picture,
.open-office__picture .slides img.slider-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.open-office__picture .slides picture.slide-hidden {
  display: none;
}
.picture__dots-wrapper {
  position: absolute;
  bottom: 17px;
  width: 100%;
  text-align: center;
  z-index: 1000;
}
.picture__dots .dots__image {
  display: inline-block;
  background: grey;
  border-radius: 50%;
  height: 9px;
  width: 9px;
  margin: 5px 7px;
  opacity: 0.75;
  cursor: pointer;
  font-size: 0;
}
.picture__dots .dots__image.active {
  background: #fff;
}
/* map block under the building info */
.building-page-map .description__map-wrapper {
  position: relative;
  top: auto;
  right: auto;
  bottom: auto;
  width: 100%;
  height: 480px;
  min-height: 480px;
}
.building-page-map .description__map {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.building-page-map .search_buildings {
  top: 12px;
  left: 12px;
}

/* ---- Address / building autocomplete suggestions ---- */
.search_buildings__result {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  max-height: 320px;
  overflow-y: auto;
  text-align: left;
}
.search_buildings__result_item {
  padding: 9px 12px;
  cursor: pointer;
  border-bottom: 1px solid #eee;
}
.search_buildings__result_item:hover {
  background: #f5f5f5;
}
.search_buildings__result_item_title {
  display: block;
  font-weight: 700;
  color: #252729;
}
.search_buildings__result_item_address {
  display: block;
  font-size: 13px;
  color: #777;
}

/* intl-tel-input inside semantic ui input */
.feedback__item .ui.input .iti {
  width: 100%;
}

/* ---- Header tagline (replaces "Commission 0%") ---- */
.commission_info__text.header__tagline {
  display: inline-block;
  max-width: 620px;
  white-space: normal;
  font-size: 12px;
  line-height: 1.4;
  text-align: right;
}
@media only screen and (max-width: 768px) {
  .commission_info__text.header__tagline {
    display: none;
  }
}

/* ---- Office type filter popup ---- */
.office-type-popup {
  min-width: 265px;
}
.office-type-options {
  display: block;
  text-align: left;
}
.office-type-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 4px;
  cursor: pointer;
  font-size: 14px;
  color: #252729;
}
.office-type-option:hover {
  background: #f5f5f5;
}
.office-type-option input {
  accent-color: #f0b64c;
}

/* ---- Brand-gold agreement links ---- */
.feedback__agreement a,
.form__agreement_text a,
.contact-block__agreement-link a {
  color: #f0b64c;
}
.feedback__agreement a:hover,
.form__agreement_text a:hover,
.contact-block__agreement-link a:hover {
  color: #f5c96e;
}

/* ---- Homepage-style footer: contact block ---- */
.footer.footer-home {
  background: #fff;
  color: #313131;
  padding: 0;
}
.contact-block {
  background: #fff;
  padding: 56px 15px 40px;
  text-align: center;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}
.contact-block .wrapper {
  max-width: 1200px;
  margin: 0 auto;
}
.contact-block h6 {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #313131;
  margin: 0 0 18px;
}
.contact-block__agreement {
  font-size: 14px;
  color: #555;
}
.contact-block__agreement-link {
  font-size: 14px;
  margin: 4px 0 26px;
}
.contact-block .feedback__form {
  display: flex;
  align-items: stretch;
  justify-content: center;
  max-width: 1060px;
  margin: 0 auto;
  border: 2px solid #f0b64c;
}
.contact-block .feedback__item {
  flex: 1 1 0;
  margin: 0;
  background: #f0b64c;
  border-right: 1px solid rgba(255, 255, 255, 0.55);
}
.contact-block .feedback__item.feedback__buttom {
  flex: 0 0 170px;
  background: #4a4a4a;
  border-right: none;
}
.contact-block .feedback__item .ui.input {
  width: 100%;
  height: 100%;
}
.contact-block .feedback__item input.item__content {
  width: 100%;
  height: 56px;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-align: center;
  text-transform: uppercase;
}
.contact-block .feedback__item input.item__content::placeholder {
  color: rgba(255, 255, 255, 0.95);
  text-transform: uppercase;
}
.contact-block .feedback__buttom button.ui.black.button {
  width: 100%;
  height: 56px;
  margin: 0;
  border-radius: 0;
  background: #4a4a4a;
  color: #fff;
  font-size: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.contact-block .feedback__buttom button.ui.black.button:hover {
  background: #3a3a3a;
}
/* intl-tel-input inside the yellow bar */
.contact-block .feedback__item .iti {
  width: 100%;
  height: 56px;
  display: flex;
  align-items: center;
}
.contact-block .feedback__item .iti input.item__content {
  height: 56px;
  text-align: left;
  padding-left: 8px;
}
.contact-block .feedback__item .iti__selected-dial-code,
.contact-block .feedback__item .iti__selected-country {
  color: #fff;
}
.contact-block .feedback__item .iti__dropdown-content {
  color: #313131;
  text-align: left;
}
@media only screen and (max-width: 900px) {
  .contact-block .feedback__form {
    flex-direction: column;
    border: none;
  }
  .contact-block .feedback__item {
    border-right: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.55);
  }
  .contact-block .feedback__item.feedback__buttom {
    flex-basis: auto;
  }
}

/* ---- Homepage-style footer: popular cities ---- */
.footer-block {
  background: #fff;
  padding: 30px 20px 24px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  text-align: left;
}
.footer-block .grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 10px 26px;
  max-width: 1420px;
  margin: 0 auto;
}
.footer-block .country {
  color: #f0b64c;
  font-size: 17px;
  font-weight: 700;
  margin: 22px 0 12px;
}
.footer-block .card-city {
  display: inline-block;
  color: #5a5a5a;
  font-size: 13.5px;
  line-height: 1.95;
  text-decoration: none;
}
.footer-block .card-city:hover {
  color: #f0b64c;
}
.copyright-home {
  max-width: 1420px;
  margin: 34px auto 0;
  text-align: center;
  color: #f0b64c;
  font-size: 12.5px;
  line-height: 1.5;
}
@media only screen and (max-width: 1100px) {
  .footer-block .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 640px) {
  .footer-block .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* phone field inside the dark building-page form keeps its height */
.form__inner .feedback__item .iti {
  width: 100%;
}
.form__inner .feedback__item .iti input.item__content {
  width: 100%;
}

/* show the suggestions dropdown when it has matches (original CSS hides it) */
.search_buildings__result.result-open {
  display: block;
}

/* ---- Search filters: equal-width grid so rows line up ---- */
.description__search .ui.form.flex-align {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 14px;
  align-items: stretch;
}
.description__search .ui.form.flex-align .filter__item {
  width: 100%;
  margin: 0;
  padding: 0;
}
.description__search .ui.form.flex-align .filter__item .ui.input,
.description__search .ui.form.flex-align .filter__item .ui.input > button {
  width: 100%;
}
.description__search .ui.form.flex-align .filter__buttom {
  grid-column: 1 / -1;
}
.description__search .ui.form.flex-align .filter__buttom .submit-search-form {
  width: 100%;
}
@media only screen and (max-width: 480px) {
  .description__search .ui.form.flex-align {
    grid-template-columns: 1fr;
  }
}

/* ---- CTA banner under the office list ---- */
.contact-block.search-banner {
  padding: 34px 0 10px;
  border-top: 1px solid #eee;
  margin-top: 10px;
}
.contact-block.search-banner h6 {
  font-size: 21px;
}
.contact-block.search-banner .feedback__form {
  max-width: 100%;
}
.contact-block.search-banner .feedback__item input.item__content {
  font-size: 12.5px;
}

/* ---- Business articles block ---- */
.news-block {
  background: #fff;
  padding: 48px 20px 20px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}
.news-block .wrapper {
  max-width: 1420px;
  margin: 0 auto;
}
.news-block h2 {
  text-align: center;
  font-size: 26px;
  color: #313131;
  margin: 0 0 28px;
}
.news-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 20px;
}
.card-news {
  display: block;
  text-decoration: none;
  color: #313131;
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}
.card-news img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  display: block;
}
.card-news .news-wrap {
  padding: 12px 14px 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}
.card-news:hover .news-wrap {
  color: #f0b64c;
}
@media only screen and (max-width: 1100px) {
  .news-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media only screen and (max-width: 640px) {
  .news-grid {
    grid-template-columns: 1fr;
  }
}

/* ---- FAQ block ---- */
.faq-block {
  background: #fff;
  padding: 40px 20px 56px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}
.faq-block .wrapper {
  max-width: 900px;
  margin: 0 auto;
}
.faq-block h2 {
  text-align: center;
  font-size: 26px;
  color: #313131;
  margin: 0 0 26px;
}
.faq-item {
  border-bottom: 1px solid #e5e5e5;
}
.faq-item__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background: none;
  border: none;
  padding: 16px 4px;
  font-size: 16.5px;
  font-weight: 700;
  color: #313131;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.faq-item__question:hover {
  color: #f0b64c;
}
.faq-item__question .icon {
  transition: transform 0.2s ease;
}
.faq-item--open .faq-item__question .icon {
  transform: rotate(180deg);
}
.faq-item__answer {
  display: none;
  padding: 0 4px 18px;
  color: #555;
  font-size: 15px;
  line-height: 1.6;
}
.faq-item--open .faq-item__answer {
  display: block;
}

/* full-width sections must paint above the fixed map panel */
.news-block,
.faq-block,
.footer.footer-home {
  position: relative;
  z-index: 5;
}

/* ---- Round of design tweaks ---- */
/* header tagline: bigger, brand gold, vertically centered in the header */
.header .container {
  position: relative;
}
.header .header__menu {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  float: none;
  width: 44%;
  text-align: center;
}
.commission_info__text.header__tagline {
  color: #f0b64c;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  max-width: none;
  text-align: center;
  padding-left: 0;
  /* the tagline is two sentences — \n in ui.headerTagline breaks them onto two lines */
  white-space: pre-line;
}

/* CTA banner: full listing width, wider phone cell */
.contact-block.search-banner .wrapper {
  max-width: 100%;
}
.contact-block.search-banner .feedback__form {
  max-width: 100%;
  width: 100%;
}
.contact-block .feedback__item.feedback__phone {
  flex: 1.7 1 0;
}
.contact-block.search-banner .feedback__item.feedback__buttom {
  flex: 0 0 130px;
}

/* Business articles: 3 per row, bigger previews, same width as the text block */
.news-block .wrapper {
  width: 80%;
  max-width: 1024px;
}
.news-grid {
  grid-template-columns: repeat(3, 1fr);
}
.card-news img {
  height: 210px;
}
@media only screen and (max-width: 900px) {
  .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media only screen and (max-width: 640px) {
  .news-grid {
    grid-template-columns: 1fr;
  }
}

/* building page feedback form: gray texts -> white */
.form__inner .form__description,
.form__inner .header__title-address {
  color: #fff;
}

/* footer typography matches the listing cards (Roboto) */
.footer.footer-home,
.footer.footer-home h6,
.footer.footer-home input,
.footer.footer-home button,
.footer-block .country,
.footer-block .card-city,
.copyright-home {
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

/* center the tagline precisely: drop the empty menu list stub */
.header .header__menu .menu__list {
  display: none;
}
/* banner form spans the whole listing column */
.search-banner .feedback__row,
.search-banner .feedback__row form {
  width: 100%;
}

/* stronger selector: building form description must be white */
#sticky-form .form__inner .form-contents .form__description,
.form__inner .form__section .form__description {
  color: #fff;
}

/* ---- Footer form: solid white text and placeholders ---- */
.contact-block .feedback__item input.item__content {
  color: #fff;
}
.contact-block .feedback__item input.item__content::placeholder {
  color: #fff;
  opacity: 1;
}
.contact-block .feedback__item input.item__content::-webkit-input-placeholder {
  color: #fff;
  opacity: 1;
}

/* cities and agreement text use the same font as the descriptive text blocks */
.footer-block .card-city,
.contact-block__agreement,
.contact-block__agreement-link {
  font-family: 'Avenir Next', Roboto, Arial, Helvetica, sans-serif;
}

/* ---- intl-tel-input: dropdown as wide as the whole phone cell ---- */
.feedback__item .iti {
  position: relative;
}
.feedback__item .iti .iti__dropdown-content {
  width: 100%;
  min-width: 240px;
}

/* dial code matches the placeholder color in the dark building form */
.form__inner .feedback__item .iti__selected-dial-code {
  color: #c4c3c3;
}

/* footer.css sets gray placeholders with higher specificity — force white
   text and placeholders inside the yellow forms */
.contact-block .feedback__form .feedback__item .ui.input input.item__content {
  color: #fff;
}
.contact-block .feedback__form .feedback__item .ui.input input.item__content::placeholder {
  color: #fff !important;
  opacity: 1;
}
.contact-block .feedback__form .feedback__item .ui.input input.item__content::-webkit-input-placeholder {
  color: #fff !important;
  opacity: 1;
}
.contact-block .feedback__item .iti__selected-dial-code {
  color: #fff;
}

/* typed text in the yellow forms stays on the orange field in white
   (Дарья 04.08.2026: поля не должны белеть при вводе) */
.contact-block .feedback__form .feedback__item .ui.input input.item__content {
  caret-color: #f0b64c;
}
.contact-block .feedback__form .feedback__item .ui.input input.item__content:not(:placeholder-shown) {
  color: #fff;
}
.contact-block .feedback__form .feedback__item .ui.input input.item__content:-webkit-autofill,
.contact-block .feedback__form .feedback__item .ui.input input.item__content:-webkit-autofill:hover,
.contact-block .feedback__form .feedback__item .ui.input input.item__content:-webkit-autofill:focus {
  -webkit-text-fill-color: #f0b64c;
  -webkit-box-shadow: 0 0 0 1000px #f0b64c inset;
  box-shadow: 0 0 0 1000px #f0b64c inset;
}

/* mobile: stacked yellow-form fields take the full width */
@media only screen and (max-width: 900px) {
  .contact-block .feedback__form .feedback__item,
  .contact-block .feedback__form .feedback__item.feedback__buttom {
    width: 100%;
    flex: 0 0 auto;
  }
}

/* ---- Branded "request sent" toast ---- */
.thankyou-toast {
  position: fixed;
  top: 78px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3000;
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 92%;
  background: #303030;
  border: 2px solid #f0b64c;
  color: #fff;
  padding: 14px 22px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 15px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  animation: thankyou-in 0.35s ease;
}
.thankyou-toast__check {
  flex: 0 0 auto;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f0b64c;
  color: #303030;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
@keyframes thankyou-in {
  from {
    opacity: 0;
    transform: translate(-50%, -12px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

/* FAQ uses the same font as the footer city links */
.faq-block,
.faq-block h2,
.faq-item__question,
.faq-item__answer {
  font-family: 'Avenir Next', Roboto, Arial, Helvetica, sans-serif;
}

/* articles block and footer region headings share the same font */
.news-block h2,
.card-news .news-wrap,
.footer-block .country {
  font-family: 'Avenir Next', Roboto, Arial, Helvetica, sans-serif;
}

/* mobile office accordion: content toggling without semantic.js */
.ui.accordion.office-list .content {
  display: none;
}
.ui.accordion.office-list .content.active {
  display: block;
  margin-bottom: 1rem;
}
.ui.accordion.office-list .title {
  cursor: pointer;
}
.ui.accordion.office-list .title .title__column {
  display: table-cell;
  vertical-align: middle;
}
/* detail table styling comes from one_office.css (original) */
.ui.accordion.office-list .card__table {
  width: 100%;
}

/* country search field: keep the caret clear of the magnifier icon */
.iti__search-input {
  padding-left: 34px !important;
}

/* expanded office row: gold background + white circle arrow (as on the
   original site) */
.open-office__content .open-office__info .ui.accordion.office-list .title.active {
  background: #f0b64c;
}
.open-office__content .open-office__info .ui.accordion.office-list .title.active .arrow-icon {
  background-color: #fff;
  border-color: #fff;
  color: #f0b64c;
}
.ui.accordion.office-list .content.active .card {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
  padding: 14px 18px;
}

/* ---- Article page (/news/{slug}/) ---- */
.article-page {
  background: #fff;
  padding: 40px 20px 30px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}
.article-page .wrapper {
  max-width: 1024px;
  width: 90%;
  margin: 0 auto;
  text-align: left;
}
.article-page .ui.breadcrumb {
  margin-bottom: 20px;
}
.article-page__body {
  width: 100% !important;
}
.article-page__body h1 {
  font-size: 30px;
  margin-bottom: 18px;
}
.article-page__body h2,
.article-page__body h3 {
  margin: 22px 0 10px;
}
.article-page__body p {
  margin: 0 0 12px;
  line-height: 1.65;
}
.article-page__body ul,
.article-page__body ol {
  margin: 0 0 12px 22px;
}
.article-page__body ul {
  list-style: disc outside;
}
.article-page__body ol {
  list-style: decimal outside;
}
.article-page__body li {
  margin-bottom: 6px;
  line-height: 1.6;
}
.article-page__banner {
  margin-top: 30px;
}
.news-grid .card-news img {
  height: 210px;
  width: 100%;
  object-fit: cover;
  display: block;
}



/* ---- Почта в подвале (22.07.2026) ---- */
.footer__contacts { text-align: center; padding: 18px 0 0; }
.footer__contacts-mail { color: #f0b64c; font-size: 15px; font-weight: 600; text-decoration: none; }
.footer__contacts-mail:hover { text-decoration: underline; }


/* ==== Поиск как в Нью-Йорке: попапы по ширине кнопки + ползунок цены ==== */
.filter__item .ui.input,
.search__item .ui.input { position: relative; }
.filter__item .ui.flowing.popup,
.search__item .ui.flowing.popup {
  left: 0; right: 0; width: auto; min-width: 0; max-width: none;
}
.price-popup__range { width: 100%; margin-top: 12px; }
.phk-price__slider { position: relative; height: 26px; margin: 10px 2px 2px; }
.phk-price__slider::before {
  content: ''; position: absolute; left: 0; right: 0; top: 11px;
  height: 4px; background: #ece4d3; border-radius: 2px;
}
.phk-price__track { position: absolute; top: 11px; height: 4px; background: #f0b64c; border-radius: 2px; }
.phk-price__range {
  position: absolute; left: 0; width: 100%; top: 0; height: 26px;
  -webkit-appearance: none; appearance: none; background: none; pointer-events: none; margin: 0;
  border: none !important; outline: none !important; box-shadow: none !important; padding: 0 !important;
}
.phk-price__range::-webkit-slider-thumb {
  -webkit-appearance: none; pointer-events: auto;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff; border: 3px solid #f0b64c; cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25);
}
.phk-price__range::-moz-range-thumb {
  pointer-events: auto; width: 20px; height: 20px; border-radius: 50%;
  background: #fff; border: 3px solid #f0b64c; cursor: pointer;
}
.phk-price__legend { display: flex; justify-content: space-between; font-size: 13px; color: #8a8a8a; }

/* попапы фильтров — точно по ширине кнопки (учитываем рамку и padding) */
.filter__item .ui.flowing.popup,
.search__item .ui.flowing.popup { box-sizing: border-box; }

/* ==== Попапы фильтров: все выровнены по своей кнопке, текст слева ==== */
.js-square-popup, .js-people-popup, .js-office-type-popup, .js-price-popup,
.square-popup, .people-popup, .office-type-popup, .price-popup {
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  box-sizing: border-box !important;
  text-align: left !important;
}
/* ==== Ползунок цены: видимая полоса и заметные бегунки ==== */
.phk-price__slider::before { background: #e3dcd0 !important; }
.phk-price__track { background: #f0b64c !important; height: 5px !important; top: 10px !important; }
.phk-price__slider::before { height: 5px !important; top: 10px !important; }
.phk-price__range { background: transparent !important; -webkit-appearance: none !important; }
.phk-price__range::-webkit-slider-runnable-track { background: transparent; height: 26px; }
.phk-price__range::-moz-range-track { background: transparent; height: 26px; }
.phk-price__range::-webkit-slider-thumb {
  -webkit-appearance: none; pointer-events: auto;
  width: 22px; height: 22px; border-radius: 50%;
  background: #f0b64c !important; border: 3px solid #fff !important;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35) !important; cursor: pointer;
}
.phk-price__range::-moz-range-thumb {
  pointer-events: auto; width: 22px; height: 22px; border-radius: 50%;
  background: #f0b64c !important; border: 3px solid #fff !important;
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.35) !important; cursor: pointer;
}

/* ==== Единый шрифт сайта — Avenir Next (решение Дарьи 24.07.2026) ==== */
body,
input, textarea, select, button, optgroup,
h1, h2, h3, h4, h5, h6,
p, a, span, div, li, ul, ol, td, th, label, strong, em, blockquote,
.ui, .ui.button, .ui.input, .ui.header, .ui.menu,
.description__title, .office__link, .first-page-text-block__text {
  font-family: 'Avenir Next', 'Helvetica Neue', Roboto, Arial, Helvetica, sans-serif !important;
}
/* иконочные шрифты Semantic — принудительно 'Icons' (revert их ломал) */
i.icon, i.icon::before, .icon:before, .ui.dropdown > .dropdown.icon:before {
  font-family: 'Icons' !important;
}
/* картовые шрифты и флаги — как есть */
[class^="mapboxgl-"], [class*=" mapboxgl-"], [class^="mapbox-"] {
  font-family: revert !important;
}
/* список типов офиса — чекбокс слева, текст слева */
.office-type-option, .js-office-type-popup .office-type-option {
  display: flex !important; align-items: center; gap: 10px;
  justify-content: flex-start; text-align: left; width: 100%;
}
.office-type-option span { flex: 1; text-align: left; }

/* чекбокс типа офиса — фиксированного размера, не растягивать */
.office-type-option input[type='checkbox'] {
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
}

/* ==== Форма поиска: Find под Price справа, адрес в оранжевой рамке ==== */
.description__search .ui.form.flex-align .filter__buttom { grid-column: auto !important; }
.description__search .ui.form.flex-align .filter__buttom .submit-search-form { width: 100% !important; }
@media (max-width: 700px) {
  .description__search .ui.form.flex-align .filter__buttom { grid-column: 1 / -1 !important; }
}
/* поле «Адрес или название БЦ» — оранжевая рамка как в Нью-Йорке */
.filter__query .item__content.filter__query-input,
.filter__query-input {
  border: 2px solid #f0b64c !important;
  border-radius: 4px !important;
}
.filter__query .ui.input { border: none !important; }
/* попапы From-To — прижать к своей кнопке (гасим смещение Semantic) */
.filter__item .ui.flowing.popup,
.search__item .ui.flowing.popup {
  margin: 8px 0 0 0 !important;
  transform: none !important;
}

/* ==== Попапы фильтров листинга — строго по ширине своей кнопки ====
   перекрываем offices.css (.filter__price .ui.input .price-popup {left:-2%!important})
   селектором большей специфичности */
.description__search .filter__item .ui.input .square-popup,
.description__search .filter__item .ui.input .people-popup,
.description__search .filter__item .ui.input .office-type-popup,
.description__search .filter__item .ui.input .price-popup,
.description__search .filter__item .ui.input .js-square-popup,
.description__search .filter__item .ui.input .js-people-popup,
.description__search .filter__item .ui.input .js-office-type-popup,
.description__search .filter__item .ui.input .js-price-popup {
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin-left: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}


/* ==== Пагинация листинга — как в Нью-Йорке: тонкий светло-оранжевый ==== */
.description__pagination_controls,
.description__pagination_controls a,
.description__pagination_controls_page,
.description__pagination_controls_button,
.description__pagination_controls_next {
  color: #f0b64c !important;
  font-weight: 400 !important;
  font-size: 17px !important;
}
.description__pagination_controls a:hover,
.description__pagination_controls_page:hover,
.description__pagination_controls_next:hover { color: #f5c96e !important; }
.description__pagination_controls_current {
  color: #f0b64c !important;
  border-bottom-color: #f0b64c !important;
  font-weight: 400 !important;
  font-size: 17px !important;
}
.description__pagination_gap { color: #c9a15a !important; cursor: default; font-weight: 400; }



/* Office-type карточки: оранжевая подсветка при наведении (все города) [28.07.2026] */
.hub-type:hover { border-color: #f0b64c; background: rgba(240,182,76,0.20); color: #f0b64c; }

/* Ссылки в тексте описания здания — фирменный оранжевый, не синий (Дарья 28.07.2026) */
.building__description a { color: #f0b64c; }
.building__description a:hover { color: #f5c96e; }

/* Карточки «Другие статьи» с превью + hover заставки статьи (Дарья 28.07.2026) */
.news_article__another_items { display: flex; flex-direction: column; gap: 16px; }
.article-card { display: block; text-decoration: none; border-radius: 8px; overflow: hidden; background: #fff; box-shadow: 0 1px 6px rgba(0,0,0,.10); transition: box-shadow .15s, transform .15s; }
.article-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.16); transform: translateY(-2px); }
.article-card__img { width: 100%; height: 140px; object-fit: cover; display: block; }
.article-card__title { margin: 0; padding: 10px 12px 12px; font-size: 15px; line-height: 1.3; font-weight: 600; color: #252729; transition: color .15s; }
.article-card:hover .article-card__title { color: #f0b64c; }
.news_article__title:hover .news_article__title_text { color: #f0b64c; transition: color .15s; }

/* Перелинковка в тексте статьи — оранжевые ЖИРНЫЕ ссылки (Дарья 28.07.2026) */
.news_article__content a { color: #f0b64c; font-weight: 700; }
.news_article__content a:hover { color: #f5c96e; }

/* Голубые ссылки → наш оранжевый ТОЛЬКО в текстовых блоках: главная, листинг,
   районы (.district-page__seo), метро (.station-page__seo) [Дарья 28.07.2026].
   Карточки/офисы/карта/подвал НЕ затрагиваются. */
.first-page-text-block__text a, .home-seo-block__text a { color: #f0b64c; }
.first-page-text-block__text a:hover, .home-seo-block__text a:hover { color: #f5c96e; }

/* Форма под статьёй — по ширине текстовой колонки, сразу за текстом [Дарья 28.07.2026] */
.news_article__left_column .article-page__banner { margin-top: 28px; }
.news_article__left_column .article-page__banner .contact-block { padding: 24px 0 8px; text-align: left; }
.news_article__left_column .article-page__banner .contact-block .wrapper,
.news_article__left_column .article-page__banner .contact-block .feedback__form { max-width: 100%; }


/* Заставка статьи: по ширине контента (текст + «Другие статьи»), не во всю страницу,
   и выше — меньше обрезки фото. Десктоп. [Дарья 28.07.2026] */
@media (min-width: 900px) {
  .news_article__title { max-width: 1128px; margin: 0 auto; height: 460px; }
}

/* Подписи под фото в статье — обычный вес, не жирный [Дарья 28.07.2026] */
.article-photo figcaption, .article-photo figcaption a { font-weight: 400; }

/* Карточка статьи: заголовок — белый на оранжевой полосе [Дарья 28.07.2026] */
.article-card__title { background: #f0b64c; color: #fff !important; margin: 0; padding: 12px 14px; }
.article-card:hover .article-card__title { background: #f5c96e; color: #fff !important; }

/* Карточки «Другие статьи» — прижаты вправо, правый край вровень с заставкой [Дарья 28.07.2026] */
@media (min-width: 900px) {
  .news_article__right_column { margin-left: auto; margin-right: 0; }
}

/* Карточки «Ausgewählte Angebote» и «Beliebte Suchanfragen» — того же размера,
   что районы и метро: 300×210 в горизонтальном слайдере [Дарья 28.07.2026] */
@media (min-width: 900px) {
  .pop-searches__grid { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 12px; }
  .pop-searches__grid .pop-searches__card { flex: 0 0 300px; height: 210px; scroll-snap-align: start; }
  .pop-searches__grid::-webkit-scrollbar { height: 8px; }
  .pop-searches__grid::-webkit-scrollbar-track { background: #f0f0f0; border-radius: 4px; }
  .pop-searches__grid::-webkit-scrollbar-thumb { background: #f0b64c; border-radius: 4px; }
}


/* ---- SEO-текст: один размер у всего текста, заголовки — фирменным оранжевым ---- */
/* Раньше на блок приходились два конкурирующих правила (15px и 14px), а вложенные
   em/strong/a/td под них не попадали вовсе — отсюда разнобой в размерах. */
.first-page-text-block__text,
.first-page-text-block__text p,
.first-page-text-block__text div,
.first-page-text-block__text li,
.first-page-text-block__text span,
.first-page-text-block__text a,
.first-page-text-block__text em,
.first-page-text-block__text i,
.first-page-text-block__text strong,
.first-page-text-block__text b,
.first-page-text-block__text td,
.first-page-text-block__text th {
    font-size: 14px !important;
    line-height: 1.65 !important;
}
/* внутри заголовков размер не трогаем — его задаёт сам заголовок */
.first-page-text-block__text :is(h1, h2, h3, h4, h5, h6) * {
    font-size: inherit !important;
    line-height: inherit !important;
}
.first-page-text-block__text :is(h1, h2, h3, h4, h5, h6),
.first-page-text-block__text :is(h1, h2, h3, h4, h5, h6) * {
    color: #f0b64c !important;
}

/* ---- Подпись рядом с сердечком в шапке ---- */
.rot-fav-link__label {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: .2px;
    white-space: nowrap;
}
@media only screen and (max-width: 700px) {
    .rot-fav-link__label { display: none; }
}
/* ---- Фото карточек листинга: заполняют блок целиком и не искажаются ----
   В offices.css есть .office__image_not_found .image__content { object-fit: fill } —
   это буквально растягивает кадр под контейнер. Перебиваем на cover, чтобы пропорции
   сохранялись всегда. При обрезке по высоте показываем низ кадра: в интерьерных
   снимках там мебель, а не потолок (заметно на оригиналах MatchOffice 1463×900,
   которые попадают в широкий контейнер карточки). */
.description__list .description__office .office__image .image__content,
.description__list .description__office .office__image_not_found .image__content,
.slides img.image__content {
  width: 100%;
  height: 100%;
  object-fit: cover !important;
  object-position: center 62%;
  background: #eef0f2;
}
/* ---- Мобильная форма обратной связи: текст в полях и кнопке — по левому краю ----
   На узком экране поля во всю ширину, и центрированный плейсхолдер повисает
   в пустоте; слева читается как обычная форма. Перебиваем text-align: center
   из hub.css и базового правила .contact-block выше по файлу. */
@media only screen and (max-width: 768px) {
  .feedback .feedback__item input.item__content,
  .contact-block .feedback__item input.item__content,
  .feedback .feedback__phone .item__content,
  .feedback .feedback__phone input,
  .feedback__phone .iti,
  .feedback__phone .item__content {
    text-align: left !important;
    padding-left: 16px;
  }
  /* у телефона слева флаг и код — отступ даёт сам плагин */
  .feedback .feedback__phone .iti input.item__content,
  .contact-block .feedback__item .iti input.item__content {
    padding-left: 8px;
  }
  .feedback .feedback__buttom .ui.button,
  .contact-block .feedback__buttom .ui.button,
  .feedback .feedback__item button[type='submit'] {
    text-align: left !important;
    padding-left: 16px;
  }
}

/* ---- Правовые ссылки в подвале + модалка Cookie Settings [Дарья 01.08.2026] ---- */
.rot-legal-links {
    text-align: center;
    padding: 16px 0 4px;
    border-top: 1px solid rgba(255,255,255,.08);
    margin-top: 18px;
}
.rot-legal-links a {
    color: #9a9a9a;
    font-size: 12.5px;
    margin: 0 11px;
    text-decoration: none;
    white-space: nowrap;
}
.rot-legal-links a:hover { color: #f0b64c; }
.rot-cookie-modal {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,.55);
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.rot-cookie-modal[hidden] { display: none; }
.rot-cookie-modal__box {
    background: #fff;
    color: #303030;
    max-width: 430px;
    width: 100%;
    border-radius: 8px;
    padding: 22px 24px;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}
.rot-cookie-modal__box h3 { margin: 0 0 10px; font-size: 18px; color: #303030; }
.rot-cookie-modal__row { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; cursor: pointer; }
.rot-cookie-modal__row input { margin-top: 3px; }
.rot-cookie-modal__hint { color: #888; font-size: 12.5px; }
.rot-cookie-modal__actions { text-align: right; margin-top: 14px; }
.rot-cookie-modal__actions button {
    border: none; border-radius: 4px; padding: 8px 18px; margin-left: 8px;
    font-size: 14px; cursor: pointer;
}
.rot-cookie-modal__save { background: #f0b64c; color: #fff; }
.rot-cookie-modal__save:hover { background: #f5c96e; }
.rot-cookie-modal__cancel { background: #eee; color: #555; }

/* Панель выбора страны телефона (intl-tel-input v29, detached) — вид дропдауна */
.iti.iti--detached-country-selector .iti__country-selector {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  overflow: auto;
}

/* ==========================================================================
   Волна мобильной конверсии [Дарья 03.08.2026]
   Повод — разбор Вебвизора (munich /tr/, iPhone, 4:37): человек пролистал
   4 страницы выдачи, не открыл ни одной карточки и ушёл без заявки.
   ========================================================================== */

/* 1. iOS Safari зумит страницу при фокусе в поле с font-size < 16px.
      Именно отсюда «уехавшая вбок» вёрстка после тапа в фильтр. */
@media only screen and (max-width: 991px) {
  input[type='text'],
  input[type='number'],
  input[type='email'],
  input[type='tel'],
  input[type='search'],
  input[type='url'],
  input[type='date'],
  select,
  textarea,
  .item__content,
  .promo-input,
  .popup-inputs__square,
  .popup-inputs__price,
  .filter__query-input,
  .hub-hero__field input,
  .iti input {
    font-size: 16px !important;
  }
}

/* 2. Поп-апы не вылезают за узкий экран, крестик всегда в зоне пальца.
      На зумленном iOS-вьюпорте кнопка закрытия уезжала за правый край. */
.promo-overlay {
  max-width: 100vw;
  overflow-y: auto;
  padding: 12px;
}
.promo-modal,
.cw-modal {
  max-width: min(520px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  overflow-y: auto;
}
.promo-close {
  width: 44px;
  height: 44px;
  top: 2px;
  right: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  z-index: 2;
}

/* 3. H1 листинга — раньше страница открывалась пустым белым блоком. */
.listing-h1 {
  font-family: 'Avenir Next', Roboto, Arial, Helvetica, sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.25;
  color: #222;
  margin: 16px 0 14px;
  text-align: left;
}
@media only screen and (max-width: 640px) {
  .listing-h1 {
    font-size: 21px;
    margin: 10px 0 12px;
  }
}

/* 4. Заявка прямо из карточки выдачи: рядом с «Подробнее» — жёлтая кнопка. */
.office__cta {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.office__cta > a {
  flex: 1;
  min-width: 0;
}
.office__request {
  flex: 1;
  min-width: 0;
  border: 2px solid #f0b64c;
  background-color: #f0b64c;
  color: #fff;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 20px;
  letter-spacing: 1.77px;
  text-align: center;
  padding: 8px;
  cursor: pointer;
  transition: background-color 0.15s;
}
.office__request:hover {
  background-color: #f5c96e;
  border-color: #f5c96e;
}
@media only screen and (max-width: 640px) {
  .office__cta {
    flex-direction: column;
    gap: 8px;
  }
  .office__request {
    min-height: 44px;
    letter-spacing: 1px;
  }
}

/* 5. Сортировка выдачи — вместо перелистывания сотен предложений вручную. */
.listing-sort {
  display: flex;
  align-items: center;
  gap: 8px;
  float: left; /* счётчик «Найдено N офисов» уже прижат вправо */
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 14px;
  color: #666;
}
.listing-sort__label {
  white-space: nowrap;
}
.listing-sort__select {
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background: #fff;
  color: #303030;
  font-size: 14px;
  padding: 7px 10px;
  max-width: 100%;
}
@media only screen and (max-width: 640px) {
  .listing-sort {
    float: none;
    width: 100%;
    margin-top: 8px;
  }
  .listing-sort__select {
    flex: 1;
    min-width: 0;
    min-height: 40px;
  }
}

/* Базовая разметка модалки заявки (в этом форке промо-попапа не было) */
.promo-overlay{position:fixed;inset:0;z-index:9999;background:rgba(20,20,22,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.promo-modal{position:relative;background:#fff;border-radius:14px;max-width:520px;width:100%;padding:30px 28px 24px;box-shadow:0 24px 60px rgba(0,0,0,.35);text-align:left}
.promo-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;color:#999;cursor:pointer;line-height:1}
.promo-close:hover{color:#f0b64c}
.promo-title{font-size:22px;font-weight:700;margin:0 0 8px;color:#1a1a1a;font-family:'Avenir Next',Roboto,sans-serif}
.promo-sub{font-size:14px;color:#666;margin:0 0 18px;line-height:1.5}
.promo-field{margin-bottom:12px}
.promo-input{width:100%;min-height:42px;border:1px solid #d9d9d9;border-radius:8px;padding:10px 12px;font-size:15px;background:#fff}
.promo-input:focus{border-color:#f0b64c;outline:none;box-shadow:0 0 0 2px rgba(255,176,32,.25)}
.promo-submit{width:100%;margin-top:6px;background:#f0b64c;color:#fff;border:none;border-radius:8px;padding:13px;font-size:16px;cursor:pointer}
.promo-submit:hover{background:#f5c96e}
.promo-field .iti{width:100%}
.promo-field .iti input{width:100%;min-height:42px;border:1px solid #d9d9d9;border-radius:8px;padding:10px 12px}

/* [ui-std] переключатель периода */
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period {
  width: 100% !important;
  margin-left: 0;
  margin-right: 0;
  display: flex;
  gap: 8px;
}
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button,
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button.month {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  background: #fff;
  color: #252729;
  border: 1.5px solid #f0b64c;
  border-radius: 8px;
  box-shadow: none;
  transition: background .15s, color .15s, box-shadow .15s;
}
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button:hover {
  background: rgba(240, 182, 76, 0.16);
  color: #252729;
  box-shadow: none;
}
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button.active,
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button.active:hover {
  background-color: #f0b64c;
  border-color: #f0b64c;
  color: #252729;
  box-shadow: 0 0 0 3px rgba(240, 182, 76, 0.28);
}

/* [ui-std] ширина попапов поисковой формы */
/* Попапы кнопок поиска были уже своих кнопок (Москва: 340px при кнопке 371px —
   ширина зашита числом). Приравниваем к кнопке; содержимое проверено, не
   переполняется. */
.ui.input .ui.flowing.popup {
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box;
}

/* [ui-std] ширина списка языков */
.header__language .menu {
  width: max-content !important;
  min-width: 100% !important;
  max-width: 260px !important;
}
.header__language .menu .item { white-space: nowrap !important; }
.header__language .default.text { font-size: 13px; }

/* [ui-std] ширина блока похожих предложений */
/* Карточки «похожих/подходящих предложений» — по ширине нижней формы обратной
   связи (960px), а не листинга: форма — самый широкий блок хвоста страницы,
   и карточки над ней смотрятся единой колонкой (Дарья 04.08.2026). */
@media (min-width: 1101px) {
  .related-offers .related-offers__list {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
  }
}

/* Языковой дропдаун: кнопка вмещает самое длинное название, список ровно
   по ширине кнопки, шрифт пунктов мельче (Дарья 04.08.2026) */
.header .container .header__language { width: auto; min-width: 126px; }
.header .container .header__language .ui.selection.dropdown {
  min-width: 126px !important;
  width: 100% !important;
}
.header .container .header__language .ui.selection.dropdown .menu {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item {
  white-space: nowrap !important;
  font-size: 12px !important;
  padding: 9px 12px !important;
}

/* ==== ROT-MOBILE-20260804c: мобильные фиксы (Дарья 04.08.2026) ==== */
/* Страница не съезжает вбок */
html, body { overflow-x: hidden; }
@media only screen and (max-width: 768px) {
  /* Фото карточки не выползает под название и адрес (перенос фикса Москвы) */
  .description__office .office__image { height: 58vw; max-height: 300px; overflow: hidden; }
  .description__office .office__image .slides { height: 100% !important; min-height: 0 !important; max-height: none; }
  /* Рамка SEND была на контейнере и съезжала относительно кнопки (фикс апекса) */
  .feedback .feedback__item.feedback__buttom,
  .contact-block .feedback__item.feedback__buttom { outline: none !important; }
  .feedback .feedback__buttom .ui.button,
  .contact-block .feedback__buttom .ui.button { border: 1.5px solid #fff !important; border-radius: 2px; }
}
/* Правовые ссылки подвала переносятся, а не распирают строку */
.rot-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 18px; }
.rot-legal-links a { margin: 0; }

/* ==== ROT-CSS-20260804d (Дарья 04.08.2026) ==== */
/* Safari: обёртка <picture> без размеров — миниатюра кадрируется от собственного
   размера файла (сильный зум неба/фрагмента). Фикс Москвы на всю сеть. */
.slides picture { display: block; width: 100%; height: 100%; }
.slides img.image__content { width: 100%; height: 100%; object-fit: cover; }
@media only screen and (max-width: 768px) {
  /* Рамка ОТПРАВИТЬ: тёмный фон контейнера торчал из-под кнопки */
  .feedback .feedback__item.feedback__buttom,
  .contact-block .feedback__item.feedback__buttom {
    background: transparent !important;
    outline: none !important;
  }
  /* Слово на кнопке — по центру */
  .feedback .feedback__buttom .ui.button,
  .contact-block .feedback__buttom .ui.button {
    text-align: center !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* Тайтл страницы не прячется за фиксированной шапкой (высота шапки плавает
     от размера шрифта на телефоне) */
  .description__content { padding-top: 44px; }
}

/* [btn-align] 05.08.2026: кнопка отправки вровень с оранжевыми полями.
   footer.css на мобильных вешает padding-left:5px на ВСЕ .feedback__item;
   у полей это внутри оранжевого фона и незаметно, у кнопки — видимый сдвиг. */
@media only screen and (max-width: 900px) {
  .contact-block .feedback__item.feedback__buttom,
  .contact-block .feedback__form .feedback__item.feedback__buttom,
  .feedback .feedback__row .feedback__item.feedback__buttom {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .contact-block .feedback__buttom .ui.button,
  .feedback .feedback__buttom .ui.button {
    width: 100% !important;
    margin: 0 !important;
  }
}

/* [anchor-offset] 05.08.2026: прилипшая шапка (~86px) накрывала заголовок блока,
   к которому прокручивались по якорю. Отодвигаем цели прокрутки. */
:root { --rot-header-h: 96px; }
.contact-block,
.search-banner,
section[id],
div[id],
h1[id], h2[id], h3[id] {
  scroll-margin-top: var(--rot-header-h);
}
@media only screen and (max-width: 900px) {
  :root { --rot-header-h: 100px; }
}

/* [mob-head] 05.08.2026: заголовок листинга уходил под прилипшую шапку
   (на мобильных она в две строки — 86px против 43px на десктопе). */
@media only screen and (max-width: 900px) {
  main { padding-top: 52px; }
}

/* [mob-head] кегль заголовков SEO-блока на мобильных + отмена выключки по ширине:
   H1 28px/justify давал 4 строки с рваными пробелами. */
@media only screen and (max-width: 600px) {
  .first-page-text-block__text h1 {
    font-size: 21px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }
  .first-page-text-block__text h2 {
    font-size: 17px !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }
  .first-page-text-block__text h3 {
    font-size: 16px !important;
    text-align: left !important;
  }
}

/* [safari-card] 05.08.2026: в WebKit position:relative на display:table-cell не даёт
   containing block, поэтому абсолютный .slides цеплялся за внешний article и
   кадр резался мимо — в превью был виден только потолок. Переводим строку
   карточки на flex: в Blink геометрия не меняется (проверено), в WebKit
   появляется корректная точка отсчёта. Ниже 426px раскладка и так блочная. */
@media only screen and (min-width: 426px) {
  .description__list .description__office .office__image_content {
    display: flex;
    align-items: stretch;
  }
  .description__list .description__office .office__image {
    display: block;
    flex: 0 0 47%;
    width: 47%;
    position: relative;
  }
  .description__list .description__office .office__content {
    display: block;
    flex: 1 1 auto;
  }
}

/* [card-minheight] 05.08.2026: карточки сервисных типов (виртуальный офис и т.п.)
   прячут строки площади/этажа/цены за фут и получались ниже соседей —
   ряд листинга рвался. Подтягиваем до высоты обычной карточки. */
@media only screen and (min-width: 426px) {
  .description__list .description__office .office__image_content {
    min-height: 287px;
  }
}

/* [polish-0508e] кнопка языков: была 126×44 из-за min-width:126px (правило 04.08),
   крупнее поля поиска. Ужимаем до содержимого, центр — по сердцу. */
@media only screen and (max-width: 600px) {
  .header .container .header__language {
    width: auto !important;
    min-width: 0 !important;
  }
  .header .container .header__language .ui.selection.dropdown {
    min-width: 0 !important;
    width: auto !important;
    min-height: 34px !important;
    padding: 8px 26px 8px 10px !important;
    font-size: 12px !important;
  }
  .header .container .header__language .ui.selection.dropdown > .text {
    font-size: 12px !important;
  }
}

/* [polish-0508e] главная: герой рассчитан уходить под полупрозрачную шапку, а отступ
   [mob-head] (нужный листингу) давал белый ремень. */
@media only screen and (max-width: 900px) {
  main:has(.hub-hero) { padding-top: 0 !important; }
}

/* [polish-0508e] iOS красил выбранные значения селектов попапа системным синим:
   color не был задан. */
.promo-modal select.promo-input,
.promo-modal .promo-input {
  color: #252729;
}

/* [lang-center] 05.08.2026: надпись в кнопке языков по центру — поля были
   несимметричными (10px слева против 26px справа под стрелку). */
@media only screen and (max-width: 600px) {
  .header .container .header__language .ui.selection.dropdown {
    padding: 8px 22px !important;
    text-align: center !important;
  }
  .header .container .header__language .ui.selection.dropdown > .text,
  .header .container .header__language .ui.selection.dropdown > .default.text {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
  }
}

/* [fav-align] 05.08.2026: сердечко избранного сваливалось на вторую строку под
   шапкой — у .header__right не было своих стилей: логотип и язык флоты, а
   сердечко строчное. Флекс держит его между логотипом и языками. */
.header__right { float: right; display: flex; align-items: center; }
.header__right .header__language { float: none; width: auto; }
.header__right .rot-fav-link { margin-right: 12px; }
@media only screen and (max-width: 480px) {
  .header__right .rot-fav-link { margin-right: 8px; font-size: 17px; }
}

/* [period-ring] 06.08.2026: активная кнопка периода цены казалась крупнее соседних.
   Ширина и высота у всех трёх совпадали до пикселя (98×42, замер на живом
   Белграде) — «раздувало» её кольцо box-shadow в 3px за рамкой из [ui-std].
   Снимаем: заливка и так отличает активную кнопку от неактивных. */
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button.active,
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.period .ui.button.active:hover {
  box-shadow: none;
}

/* [lang-left2] 06.08.2026: текст кнопки языков по левому краю (Дарья) + список
   перестаёт резать длинные названия. Ограничивали наши же правила [ui-std]:
   max-width:100% + overflow:hidden не давали списку стать шире кнопки —
   на Мюнхене резалось 7 названий из 24 (Nederlands, Українська, Tiếng Việt…).
   Ширина списка теперь по содержимому, а прижат он правым краем к кнопке:
   при выравнивании по левому он вылезал за экран (414px при окне 390). */
.header .container .header__language .ui.selection.dropdown {
  text-align: left !important;
}
.header .container .header__language .ui.selection.dropdown > .text,
.header .container .header__language .ui.selection.dropdown > .default.text {
  text-align: left !important;
  width: auto !important;
  display: inline-block !important;
}
@media only screen and (max-width: 600px) {
  .header .container .header__language .ui.selection.dropdown {
    padding: 8px 26px 8px 12px !important;
  }
}
.header .container .header__language .ui.selection.dropdown .menu {
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  left: auto !important;
  right: 0 !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item {
  width: auto !important;
  white-space: nowrap !important;
  text-align: left !important;
}
.header .container .header__language .ui.selection.dropdown .menu .header__language__link {
  display: block !important;
  width: auto !important;
  white-space: nowrap !important;
}

/* [head-weight] 06.08.2026: заголовки статей рисовались системным шрифтом вместо
   Avenir Next. Причина не в font-family, а в весе: разметка вида
   <h4><span><strong>…</strong></span></h4> даёт strong вес bolder = 900 от
   родительских 700, а у Avenir Next нет начертания тяжелее 700 — на 900
   браузер выпадает из семейства целиком (проверено замером ширины строки).
   Внутри заголовков наследуем вес от самого заголовка. */
.first-page-text-block__text :is(h1, h2, h3, h4, h5, h6) *,
.news_article__content :is(h1, h2, h3, h4, h5, h6) *,
.seo-block :is(h1, h2, h3, h4, h5, h6) * {
  font-weight: inherit !important;
}

/* [lang-menu-eq] 06.08.2026: список языков — ровно по ширине кнопки (Дарья).
   Вчерашний [lang-left2] расширял список по содержимому, чтобы не резались
   длинные названия; теперь запас берём у кнопки. Замер на живом Мюнхене:
   «Nederlands» 65px текста, с полями пункта и рамками нужно 104px — отсюда
   min-width 106px у кнопки (было 80). У absolute-списка width:100%
   разрешается в padding-box кнопки и даёт на 2px меньше, поэтому calc. */
@media only screen and (max-width: 600px) {
  .header .container .header__language,
  .header .container .header__language .ui.selection.dropdown {
    min-width: 106px !important;
  }
}
.header .container .header__language .ui.selection.dropdown .menu {
  width: calc(100% + 2px) !important;
  min-width: calc(100% + 2px) !important;
  max-width: calc(100% + 2px) !important;
  left: auto !important;
  right: 0 !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item {
  white-space: nowrap !important;
}

/* Окно поиска по карте (06.08.2026): на десктопе .description__map-wrapper — fixed; top:0,
   поиск с top:8px попадал ПОД фиксированную шапку и был не виден. Опускаем ниже шапки. */
@media only screen and (min-width: 1025px) {
  /* top: базовое правило ставит окно под фиксированную шапку;
     left: базовый CSS задаёт процент (~16% ширины карты) — прижимаем к левому краю,
     как в берлинском эталоне (07.08.2026, проверено на 1512px). */
  .description__wrapper .description__map-wrapper .search_buildings {
    top: 88px;
    left: 12px;
    right: auto;
  }
}

/* [map-search-left] 06.08.2026: поиск по адресу уезжал в середину карты.
   У .search_buildings position:absolute без left, а у обёртки карты
   text-align:center — блок вставал в статическую позицию по центру
   (замер на Нью-Йорке: left 104.97px при ширине карты 648px).
   Прижимаем влево на те же 10px, что и в Белграде. */
.description__map-wrapper .search_buildings {
  left: 10px !important;
  right: auto !important;
}


/* Кнопки «Подробнее»/«Получить предложение» прижаты к низу карточки (07.08.2026).
   У виртуальных офисов и бизнес-адресов меньше строк (нет площади/этажа/ставки),
   поэтому CTA всплывала вверх и ряд карточек выглядел рвано. */
.office__image_content .office__content { display: flex; flex-direction: column; }
.office__content > .office__cta { margin-top: auto; }

/* Три кнопки периода цены — по центру попапа, равные доли ширины */
.ui.buttons.period { display: flex; justify-content: center; gap: 8px; width: 100%; }
.ui.buttons.period > .button { flex: 1 1 0; min-width: 0; margin: 0; }

/* [hub-types-width] 06.08.2026: ряд карточек типов был уже формы поиска над ним
   (замер на Сингапуре при 1440px: форма 992px, ряд 692px — центрированный
   флекс по содержимому). Растягиваем на всю ширину и раздаём равные доли. */
.hub-types {
  width: 100%;
  max-width: none;
  justify-content: stretch;
}
.hub-types > * {
  flex: 1 1 0;
  min-width: 0;
}
/* на узких экранах равные доли дали бы нечитаемо узкие карточки —
   там оставляем прежний перенос по содержимому */
@media only screen and (max-width: 760px) {
  .hub-types {
    justify-content: center;
  }
  .hub-types > * {
    flex: 0 0 auto;
  }
}

/* [iti-flags-safari] 06.08.2026: в Safari пропали флажки кодов стран. Спрайт и координаты
   были в порядке — не разбиралась сама запись из intl-tel-input v29:
   image-set(var(--iti-path-flags-1x) 1x, var(--iti-path-flags-2x) 2x).
   WebKit не принимает var() внутри image-set, и объявление отпадает целиком.
   Обходимся без image-set, значения берём из тех же переменных библиотеки,
   чтобы хешированные пути сами обновлялись при пересборке. */
.iti__flag {
  background-image: var(--iti-path-flags-1x);
}
@media (min-resolution: 2dppx), (-webkit-min-device-pixel-ratio: 2) {
  .iti__flag {
    background-image: var(--iti-path-flags-2x);
  }
}

/* ==========================================================================
   Шапка: сердечко избранного налезало на логотип [Дарья 09.08.2026]
   Запись Вебвизора 08.08 (Берлин, iOS) + замер на живом сайте: при 390px
   зазор между логотипом и сердечком +5px, при 360px уже −8px.
   Причина не в .header__right, а в том, что шапка осталась float-раскладкой:
   блок логотипа ограничен max-width:75% (192px), но сам текст 212px вылезает
   за свою коробку под плавающий правый блок. Делаем ряд флексом — тогда
   пересечься физически нельзя, а логотип ужимается по доступному месту.
   ========================================================================== */
@media only screen and (max-width: 640px) {
  .header .container {
    display: flex !important;
    align-items: center;
    gap: 8px;
  }
  .header .container .header__logo {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    flex: 1 1 auto;
    min-width: 0;
  }
  .header .container .header__right {
    float: none !important;
    flex: 0 0 auto;
  }
  /* пустой распорка-clearfix во флексе стала бы лишним элементом ряда */
  .header .container > .clearfix {
    display: none;
  }
  .header__logo .logo__link,
  .header__logo .logo__link-text.small-size {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: clip;
  }
  .header__logo .logo__link-text.small-size {
    font-size: clamp(12px, 3.9vw, 17px);
  }
}
/* на совсем узких кнопка языка не должна съедать место у логотипа */
@media only screen and (max-width: 360px) {
  .header .container .header__language .ui.selection.dropdown {
    min-width: 0;
  }
}

/* ==========================================================================
   Safari: пропадал флаг у телефонного кода [Дарья 09.08.2026]
   intl-tel-input задаёт спрайт как image-set(var(--iti-path-flags-1x) 1x, …).
   WebKit не резолвит var() внутри image-set() → фон невалиден, вместо флага
   пустой квадратик (его box-shadow). Chrome работает. Переопределяем фон
   обычным var() — переменные с хешированными путями объявлены на :root
   бандлом, так что правило переживает пересборки и одинаково для всех форков.
   ========================================================================== */
.iti__flag {
  background-image: var(--iti-path-flags-1x) !important;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .iti__flag {
    background-image: var(--iti-path-flags-2x) !important;
  }
}

/* ==========================================================================
   Языковой мост [Дарья 10.08.2026]
   Язык браузера ≠ язык страницы → плашка «Продолжить на …» под шапкой.
   Не редирект (SEO не трогаем) и не попап — тонкая полоса, один клик.
   ========================================================================== */
.rot-bridge {
  position: sticky;
  top: 0;
  z-index: 9998;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #303030;
  border-bottom: 2px solid #f0b64c;
  padding: 9px 44px;
  font-family: Roboto, Arial, Helvetica, sans-serif;
  font-size: 14px;
  line-height: 1.3;
}
.rot-bridge__link {
  color: #f0b64c;
  font-weight: 600;
  text-decoration: none;
}
.rot-bridge__link:hover { color: #fff; text-decoration: underline; }
.rot-bridge__close {
  position: absolute;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: none;
  border: none;
  font-size: 15px;
  color: #9c9c9c;
  cursor: pointer;
}
.rot-bridge__close:hover { color: #fff; }

/* [avenir-heads 11.08.2026] Единый шрифт и иерархия заголовков.
   Avenir Next на маках/iOS, Roboto как сетевой фолбэк; в SEO-тексте
   уровни h2/h3/h4 получают явные ступени вместо слитных 17/16/15px. */
h1,h2,h3,h4,h5,h6{font-family:"Avenir Next",Roboto,Arial,Helvetica,sans-serif}
.description__content h2,.first-page-text-block h2{font-size:22px;font-weight:700;line-height:1.35;margin:1.4em 0 .6em}
.description__content h3,.first-page-text-block h3{font-size:19px;font-weight:700;line-height:1.35;margin:1.2em 0 .5em}
.description__content h4,.first-page-text-block h4{font-size:17px;font-weight:700;line-height:1.35;margin:1.1em 0 .5em}

/* [banner-focus-fix 11.08.2026] SEND-баннер: semantic на :focus делал фон поля белым,
   а текст баннера белый — буквы пропадали. Фон прозрачный и белый текст во всех
   состояниях, как на апексе. */
.contact-block .feedback__form input.item__content,
.contact-block .feedback__form input.item__content:focus,
.search-banner .feedback__form input.item__content,
.search-banner .feedback__form input.item__content:focus,
.feedback__form .ui.input.focus > input.item__content,
.feedback__form .ui.input > input.item__content:focus {
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

/* [filter-height 11.08.2026] Кнопки формы поиска: единая высота на всех движках.
   Safari рисовал левую и правую колонки фильтра разной высоты (жалоба Дарьи) —
   фиксируем высоту явно, а не через padding+line-height. Мобильную гармошку
   «Refine search» (≤640px) не трогаем. */
@media (min-width: 641px) {
  .filter__item .ui.button.form,
  .filter__item .submit-search-form,
  .filter__item .filter__query-input,
  .filter__item .ui.input {
    height: 43px !important;
    box-sizing: border-box !important;
  }
}


/* [zero-results] 11.08.2026: баннер пустой выдачи — ближайшие варианты + сброс */
.zero-results {
  border: 1px solid #f0b64c; border-radius: 8px; background: #fffaf0;
  padding: 16px 18px; margin: 0 0 18px;
}
.zero-results__title { font-weight: 700; font-size: 17px; margin: 0 0 4px; }
.zero-results__sub { margin: 0 0 12px; color: #555; }
.zero-results__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.zero-results__reset {
  display: inline-block; padding: 9px 16px; border: 1px solid #303030;
  border-radius: 4px; color: #303030; text-decoration: none; font-size: 14px;
}
.zero-results__cta {
  padding: 9px 16px; border: 0; border-radius: 4px; background: #f0b64c;
  color: #303030; font-size: 14px; cursor: pointer;
}

/* [range-labels] подписи «от/до» видны всегда, а не только до ввода */
.rot-numfield { display: inline-flex; align-items: center; gap: 6px; flex: 1 1 0; min-width: 0; }
.rot-numfield__cap { font-size: 12px; color: #888; white-space: nowrap; }
.rot-numfield > input { min-width: 0; width: 100%; }

/* [cta-bottom 13.08.2026] Кнопки More / Get offer — по нижнему краю карточки:
   у лотов без Size/Floor/метро контент короче и кнопки подскакивали вверх. */
.description__list .description__office .office__content,
.description__office .office__content {
  display: flex !important;
  flex-direction: column;
  min-height: 100%;
}
.description__office .office__content .go-to-detail,
.description__office .office__content .office__cta {
  margin-top: auto !important;
}

/* [cta-nowrap 13.08.2026] Кнопки карточки: длинный перевод («Запросить
   предложение», «Angebot anfordern») больше не переносится на вторую строку и не
   делает кнопку выше соседней — текст в одну строку, кнопка растёт в ширину. */
.office__cta { align-items: stretch; flex-wrap: wrap; }
.office__cta > a,
.office__cta .button__link,
.office__request {
  white-space: nowrap !important;
  flex: 1 1 auto !important;
  min-width: max-content !important;
}
.office__request { letter-spacing: .6px !important; padding-left: 10px !important; padding-right: 10px !important; }
@media only screen and (max-width: 640px) {
  .office__cta > a, .office__cta .button__link, .office__request { min-width: 0 !important; }
}

/* [h1-fix 13.08.2026] Заголовок SEO-блока понижен до h2 ради единственного H1 на странице.
   Размеры повторяют прежний h1: 28px на десктопе, 21px на мобильных. */
.first-page-text-block__text h2.seo-block__title,
.home-seo-block__text h2.seo-block__title {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 14px;
}
@media only screen and (max-width: 600px) {
  .first-page-text-block__text h2.seo-block__title,
  .home-seo-block__text h2.seo-block__title {
    font-size: 21px !important;
    line-height: 1.25 !important;
    text-align: left !important;
  }
}

/* [fmt-detect 13.08.2026] Страховка к мете format-detection: если iOS Safari всё же
   распознал сумму («56 639 000») как телефон, ссылка не должна синеть и звонить. */
.description__office a[href^="tel:"],
.office__item a[href^="tel:"],
.office__item-bold a[href^="tel:"] {
  color: inherit !important;
  -webkit-text-fill-color: currentColor !important;
  text-decoration: none !important;
  pointer-events: none;
}
