/* 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;
}

/* 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: #fff;
}
.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: #fff;
  -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;
}

/* Подвал: районы и метро вместо синих ссылок городов */
.footer .card-city { color: #444; }
.footer .card-city:hover { color: #f0b64c; }
.footer .country { color: #121212; }

/* ===== Только оранжевый фокус/подсветка, синее убрано ===== */
:focus, :focus-visible { outline-color: #f0b64c !important; }
.ui.input.focus > input, .ui.input > input:focus,
input:focus, textarea:focus, select:focus,
.item__content:focus, .hub-hero__field:focus, .mms__search:focus {
  border-color: #f0b64c !important;
  box-shadow: 0 0 0 1px rgba(237,174,73,.35) !important;
  outline: none !important;
}
/* Синие ссылки крошек/секций → оранжевый */
.ui.breadcrumb a, .ui.breadcrumb a.section, a.section { color: #f0b64c !important; }
.ui.breadcrumb a:hover, a.section:hover { color: #f0b64c !important; }
/* Пагинация: текущая страница — оранжевая, не синяя */
.description__pagination_controls_current,
.pagination_controls_current { border-bottom-color: #f0b64c !important; color: #313131 !important; }
.description__pagination_controls_page:hover { color: #f0b64c !important; }
/* Semantic UI синие акценты → оранжевые */
.ui.button:focus, .ui.button:active { background-color: #f5c96e; }
.ui.input.focus > input, .ui.input > input:focus { border-color: #f0b64c !important; }
a { }

/* ---- Почта в подвале (перенесена из шапки, 22.07.2026) ---- */
.footer__contacts { text-align: center; padding: 18px 0 0; }
.footer__contacts-mail { color: #ffb020; font-size: 15px; font-weight: 600; text-decoration: none; }
.footer__contacts-mail:hover { color: #ffc94d; text-decoration: underline; }


/* ==== Поисковая форма как в Нью-Йорке (24.07.2026): поповеры + ползунок цены ==== */
.hub-hero__pop { position: relative; }
.hub-hero__field.hub-hero__pop { padding: 0; border: 0; background: transparent; min-height: 0; }
.hub-hero__popbtn {
  width: 100%; height: 44px; min-height: 44px;
  background: #fff; border: 2px solid #fff; border-radius: 4px;
  padding: 0 14px; font-size: 15px; color: #333;
  text-align: left; cursor: pointer;
  font-family: inherit; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hub-hero__popbtn:hover { color: #000; }
.hub-hero__popup {
  /* попап ровно по ширине своей кнопки */
  position: absolute; z-index: 60; top: calc(100% + 8px); left: 0; right: 0;
  width: auto; min-width: 0; background: #fff; border-radius: 10px;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24); padding: 14px; text-align: left;
}
.hub-hero__popup--wide { right: auto; width: 320px; min-width: 100%; }
@media (max-width: 768px) {
  .hub-hero__popup,
  .hub-hero__popup--wide { left: 0; right: 0; width: auto; min-width: 0; padding: 14px; }
  .hub-hero__popup .phk-price__num { min-width: 0; }
}
/* ==== Диапазон цены: двойной ползунок ==== */
.phk-price__inputs { display: flex; align-items: center; gap: 8px; }
.phk-price__num {
  flex: 1; min-width: 0; padding: 9px 10px; border: 1.5px solid #e4dcc9;
  border-radius: 8px; font-size: 14px; outline: none;
}
.phk-price__num:focus { border-color: #f0b64c; }
.phk-price__dash, .phk-price__unit { color: #999; font-size: 14px; white-space: nowrap; }
.phk-price__slider { position: relative; height: 26px; margin: 16px 2px 4px; }
.phk-price--compact .phk-price__slider { 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;
}
.phk-price__range::-webkit-slider-thumb {
  -webkit-appearance: none; pointer-events: auto;
  width: 20px; height: 20px; border-radius: 50%;
  background: #fff; border: 3px solid #ffb020; 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 #ffb020; cursor: pointer;
}
.phk-price__legend { display: flex; justify-content: space-between; font-size: 13px; color: #8a8a8a; }
.price-popup .phk-price { margin-top: 6px; }

/* ==== Попапы фильтров листинга — прижаты к ЛЕВОМУ краю своей кнопки ==== */
/* (24.07.2026) Все выпадающие формы фильтров (Size, Workplaces, Office type,
   Price) выравниваем по левому краю .ui.input, откуда они выпадают. Матчим по
   стабильным js-* классам: у Price семантик ставил bottom/right и он уезжал влево. */
.filter__item .ui.input { position: relative; }
.description__search .filter__item .ui.flowing.popup.js-square-popup,
.description__search .filter__item .ui.flowing.popup.js-people-popup,
.description__search .filter__item .ui.flowing.popup.js-office-type-popup,
.description__search .filter__item .ui.flowing.popup.js-price-popup {
  left: 0 !important;
  right: auto !important;
  margin: 0 !important;
  transform: none !important;
}
/* Поля «От/До» в hero-попапах — шире, чтобы плейсхолдер From/Preis влезал (24.07.2026) */
.hub-hero__popup { min-width: 300px; }
.hub-hero__popup--wide { width: 360px; }
.hub-hero__popup .phk-price__num { min-width: 86px; }
@media (max-width: 768px) {
  .hub-hero__popup { min-width: 0; }
  .hub-hero__popup .phk-price__num { min-width: 0; }
}


/* ==== Поиск по названию/адресу в hero-форме (24.07.2026) ==== */
.hub-hero__field.hub-hero__query {
  position: relative; padding: 0; border: 0; background: transparent; min-height: 0;
}
.hub-hero__query-input {
  width: 100%; height: 44px; min-height: 44px;
  background: #fff; border: 2px solid #fff; border-radius: 4px;
  padding: 0 14px; font-size: 15px; color: #333; font-family: inherit; outline: none;
}
.hub-hero__query-input::placeholder { color: #9a9a9a; }
.hub-hero__query-input:focus { border-color: #ffb020; }
.hub-hero__suggest {
  /* шире поля, чтобы адрес не ломался на три строки; прижат к правому краю */
  position: absolute; z-index: 60; top: calc(100% + 6px); left: auto; right: 0;
  min-width: 320px;
  background: #fff; border-radius: 10px; box-shadow: 0 12px 34px rgba(0, 0, 0, 0.24);
  overflow: hidden; text-align: left; max-height: 320px; overflow-y: auto;
}
.hub-hero__suggest .query-suggest__item {
  display: block; padding: 10px 14px; color: #333; text-decoration: none;
  border-bottom: 1px solid #f1eee7;
}
.hub-hero__suggest .query-suggest__item:last-child { border-bottom: none; }
.hub-hero__suggest .query-suggest__item:hover { background: #fdf6e8; }
.hub-hero__suggest .query-suggest__name { display: block; font-weight: 700; font-size: 14px; }
.hub-hero__suggest .query-suggest__addr { display: block; font-size: 12px; color: #8a8a8a; }


/* ==== Ползунок цены: перебиваем стили input из offices.css (24.07.2026) ====
   В попапе листинга нативный input[type=range] получал рамку/фон от общих
   правил старого сайта (виден синий контур), а верхний ползунок перехватывал
   клики у нижнего — левый бегунок «from» не двигался. */
.phk-price__range,
.price-popup .phk-price__range,
.hub-hero__popup .phk-price__range {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  height: 26px !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  pointer-events: none;           /* клики ловит только сам бегунок */
}
.phk-price__range:focus { outline: none !important; box-shadow: none !important; }
/* дорожка внутри нативного range — прозрачная, свою рисуем сами */
.phk-price__range::-webkit-slider-runnable-track { background: transparent; border: 0; height: 26px; }
.phk-price__range::-moz-range-track { background: transparent; border: 0; height: 26px; }
/* бегунки кликабельны; левый выше правого, иначе «from» не поймать */
.phk-price__range::-webkit-slider-thumb { pointer-events: auto; }
.phk-price__range::-moz-range-thumb { pointer-events: auto; }
.phk-price__range--lo { z-index: 4; }
.phk-price__range--hi { z-index: 3; }
.phk-price__slider { position: relative; }

/* Поле поиска по названию/адресу шире соседних (плейсхолдер длинный),
   шрифт мельче, чтобы фраза помещалась целиком (24.07.2026) */
.hub-hero__form .hub-hero__field.hub-hero__query {
  flex: 1.7 1 260px;
  max-width: 330px;
}
.hub-hero__query-input,
.hub-hero__query-input::placeholder {
  font-size: 13px;
  letter-spacing: 0.1px;
}
@media (max-width: 768px) {
  .hub-hero__form .hub-hero__field.hub-hero__query { flex-basis: 100%; max-width: 100%; }
}

/* Кнопка «Найти» — отдельной строкой по центру под полями (24.07.2026) */
@media (min-width: 880px) {
  /* [find-under 12.08.2026] Кнопка «Найти» строго под полями Size и Price
     (решение Дарьи). Форма переведена на grid: колонки = поля ряда, кнопка
     занимает ровно колонки Size..Price. Через flex-доли не выходило — у части
     форков поля упираются в min-width и реальные ширины расходятся с расчётом. */
  .hub-hero__form.hub-hero__form {
    display: grid;
    grid-template-columns: repeat(4, minmax(120px, 1fr)) minmax(180px, 2fr);
    gap: 8px;
    align-items: stretch;
  }
  .hub-hero__form.hub-hero__form > * {
    min-width: 0 !important; max-width: none !important; margin: 0 !important; width: auto !important;
  }
  /* распорка старой flex-раскладки в гриде создавала бы пустую ячейку */
  .hub-hero__form::after { display: none !important; }
  .hub-hero__form.hub-hero__form > .hub-hero__find {
    grid-column: 3 / 5 !important;
    grid-row: 2 !important;
    width: auto !important; min-width: 0 !important; max-width: none !important;
    margin: 0 !important; flex: none !important;
  }
}

/* Единый вид подписей во всех полях hero-формы — как у «District»:
   14px, #757575, Avenir Next; выбранное значение темнеет (24.07.2026) */
.hub-hero__form .hub-hero__popbtn,
.hub-hero__form .hub-hero__query-input,
.hub-hero__form .hub-hero__query-input::placeholder,
.hub-hero__form .mms .mms__button {
  font-size: 14px;
  color: #757575;
  letter-spacing: normal;
}
.hub-hero__form .hub-hero__popbtn--active,
.hub-hero__form .hub-hero__query-input:not(:placeholder-shown) {
  color: #121212;
}

/* Значки-типы офисов над поиском (как в Берлине) */
.hub-types {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 auto 18px;
  max-width: 760px;
}
.hub-type {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  width: 100px;
  padding: 12px 6px;
  border: 1.5px solid rgba(255, 255, 255, 0.55);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-family: inherit;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.hub-type:hover { background: rgba(255, 255, 255, 0.2); }
.hub-type--active {
  border-color: #f0b64c;
  background: rgba(240, 182, 76, 0.22);
  color: #f0b64c;
}
.hub-type__icon { display: block; line-height: 0; }
.hub-type__icon svg { width: 30px; height: 30px; display: block; }
.hub-type__label { font-size: 12.5px; font-weight: 600; line-height: 1.2; }

@media (max-width: 768px) {
  .hub-types {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .hub-types::-webkit-scrollbar { display: none; }
  .hub-type { flex: 0 0 auto; width: 84px; padding: 10px 5px; }
  .hub-type__icon svg { width: 26px; height: 26px; }
  .hub-type__label { font-size: 11.5px; }
}


/* ── Featured selections: единый горизонтальный слайдер с ползунком (как метро) ── */
.pop-searches__slider {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 14px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
  scrollbar-color: #f0b64c #eee;
  scrollbar-width: thin;
}
.pop-searches__slider::-webkit-scrollbar { height: 6px; }
.pop-searches__slider::-webkit-scrollbar-track { background: #eee; border-radius: 3px; }
.pop-searches__slider::-webkit-scrollbar-thumb { background: #f0b64c; border-radius: 3px; }
.pop-searches__slider .pop-searches__card {
  flex: 0 0 300px;
  height: 190px;
  scroll-snap-align: start;
}
@media only screen and (max-width: 640px) {
  .pop-searches__slider .pop-searches__card { flex-basis: 240px; height: 160px; }
}



/* 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; }
}

/* ── Сеть датских сайтов в футере (перекрёстная перелинковка) ── */
.footer-links--network { margin-top: 6px; }
.footer-links--network .footer-links__grid { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
/* ---- Фото карточек листинга: заполняют блок целиком и не искажаются ----
   В 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 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 22px;
  row-gap: 6px;
  text-align: center;
  padding: 16px 12px 4px;
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 18px;
}
.rot-legal-links a {
    color: #9a9a9a;
    font-size: 12.5px;
    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;
  }
}

/* [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) {
/* [mob-head2 18.08.2026] отступ убран: распорка .header__background_opacity
     уже компенсирует фиксированную шапку, 52px давали двойной зазор */
  main { padding-top: 0; }
}

/* [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;
  }
}

/* [lead-popup] 05.08.2026: расширенный попап заявки — строка «бесплатно для
   арендатора», блок объекта, поля компании/команды/даты и сообщение. */
.promo-free {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  margin: 0 0 18px;
  font-size: 14px;
  color: #55595d;
}
.promo-free i {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #f0b64c;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  font-size: 13px;
  flex: 0 0 22px;
}
.promo-object {
  background: #f7f7f6;
  border-left: 3px solid #f0b64c;
  border-radius: 6px;
  padding: 10px 12px;
  font-size: 13px;
  color: #55595d;
  margin: 0 0 16px;
  line-height: 1.45;
}
.promo-object b {
  color: #252729;
  font-weight: 600;
}
.promo-modal textarea.promo-input {
  min-height: 74px;
  resize: vertical;
  line-height: 1.45;
  font-family: inherit;
}
.promo-modal .promo-input:focus {
  outline: none;
  border-color: #f0b64c;
  box-shadow: 0 0 0 3px rgba(240, 182, 76, 0.18);
}
.promo-modal select.promo-input {
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' stroke='%23f0b64c' stroke-width='2' fill='none' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 13px center;
}
@media only screen and (max-width: 520px) {
  .promo-modal .promo-row {
    flex-direction: column;
    gap: 0;
  }
}

/* [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;
}

/* [popup-lock] 05.08.2026: скролл внутри попапа не передаётся странице */
.promo-overlay {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

/* [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; }
}

/* Окно поиска по карте (06.08.2026): контейнер карты на десктопе 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;
  }
}


/* Кнопки «Подробнее»/«Получить предложение» прижаты к низу карточки (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; }

/* ==========================================================================
   Шапка: сердечко избранного налезало на логотип [Дарья 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;
}


/* [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;
}

/* [brand-highlight 11.08.2026] Синяя системная подсветка заменена на нашу охру.
   Повод: при нажатии на кнопку попапа текст выделялся синим (Дарья, скриншот
   мюнхенского brand-попапа). Три разных механизма красят по-своему, поэтому
   правила тоже три: выделение текста, тап-хайлайт на тач-устройствах и
   кольцо фокуса с клавиатуры. Кнопки текст выделять не должны вовсе. */
::selection { background: #f0b64c; color: #fff; }
::-moz-selection { background: #f0b64c; color: #fff; }
html { -webkit-tap-highlight-color: rgba(240, 182, 76, 0.35); }
a, button, [role='button'], input, select, textarea, label,
.promo-submit, .cw-modal__btn, .promo-close, .office__request, .brand-popup__cta {
  -webkit-tap-highlight-color: rgba(240, 182, 76, 0.35);
}
button, [role='button'], .promo-submit, .cw-modal__btn, .promo-close,
.office__request, .brand-popup__cta {
  -webkit-user-select: none;
  user-select: none;
}
:focus-visible {
  outline: 2px solid #f0b64c;
  outline-offset: 2px;
}
a:focus, button:focus, .promo-submit:focus, .cw-modal__btn:focus { outline-color: #f0b64c; }

/* [consent 14.08.2026] Согласие на обработку данных под кнопкой отправки.
   В подвале фон тёмный, поэтому текст светло-серый; в попапах уже есть
   .promo-agree, тут — только контактная форма. */
.feedback__agree {
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.6);
  text-align: left;
}
.search-banner .feedback__agree,
.contact-block .feedback__agree { color: rgba(255, 255, 255, 0.6); }
/* [consent-fix 14.08.2026] Согласие на обработку данных — своя строка под полями.
   Прямой ребёнок flex-строки формы вставал колонкой и перекрывал поля. */
.feedback__form,
.contact-block .feedback__form,
.search-banner .feedback__form {
  flex-wrap: wrap;
}
.feedback__form > .feedback__agree,
.contact-block .feedback__form > .feedback__agree,
.search-banner .feedback__form > .feedback__agree,
.feedback__row > .feedback__agree,
form > .feedback__agree {
  flex: 0 0 100% !important;
  width: 100%;
  order: 99;
  margin: 10px 0 0;
  font-size: 12px;
  line-height: 1.4;
  text-align: left;
}
/* в баннере фон — фотография, поэтому подпись светлее и с тенью */
.search-banner .feedback__agree,
.contact-block.search-banner .feedback__agree {
  color: rgba(255, 255, 255, .85);
  text-shadow: 0 1px 3px rgba(0, 0, 0, .7);
}
@media only screen and (max-width: 640px) {
  .feedback__form > .feedback__agree,
  .feedback__row > .feedback__agree { font-size: 11px; margin-top: 8px; }
}


/* [consent-links 14.08.2026] Ссылки на правовые страницы внутри строки согласия:
   подчёркнуты, цвет наследуется — на светлом фоне тёмные, на фотографии белые. */
.feedback__agree a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.feedback__agree a:hover { color: #f0b64c; }
/* [consent-final 14.08.2026] Строка согласия: рамка формы убрана, подпись по центру
   под полями, цвет берётся от родителя (жёстко белый пропадал на светлом фоне). */
.contact-block .feedback__form,
.feedback__row form,
.feedback__form {
  border: none !important;
  box-shadow: none !important;
}
.feedback__agree,
.contact-block .feedback__agree,
.feedback__row .feedback__agree {
  position: static !important;
  flex: 0 0 100% !important;
  width: 100%;
  order: 99;
  margin: 12px 0 0 !important;
  text-align: center !important;
  font-size: 12px;
  line-height: 1.4;
  color: inherit !important;
  opacity: .65;
}
.feedback__row { padding-bottom: 0; }
/* в баннере фон — фотография, наследовать нечего: светлый текст с тенью */
.search-banner .feedback__agree,
.contact-block.search-banner .feedback__agree {
  color: rgba(255, 255, 255, .9) !important;
  opacity: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .75);
}
@media only screen and (max-width: 640px) {
  .feedback__agree { font-size: 11px; margin-top: 10px !important; }
}


/* [currency 15.08.2026] Переключатель валют в фильтре бюджета: узкие кнопки
   с одним символом, вид тот же, что у переключателя периода. */
.phk-price__cur { display: flex; gap: 6px; margin-bottom: 12px; }
.phk-cur {
  flex: 1;
  padding: 7px 0;
  border: 1.5px solid #f0dbb0;
  background: #fff;
  border-radius: 8px;
  font-size: 15px;
  font-weight: 700;
  color: #666;
  cursor: pointer;
}
.phk-cur--on { background: #f0b64c; border-color: #f0b64c; color: #fff; }
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.search-cur {
  width: 100% !important;
  margin: 0 0 8px;
  display: flex;
  gap: 8px;
}
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.search-cur .ui.button {
  flex: 1 1 0;
  width: auto;
  min-width: 0;
  padding: 7px 0;
  font-size: 15px;
  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.search-cur .ui.button:hover {
  background: rgba(240, 182, 76, .16);
  color: #252729;
}
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.search-cur .ui.button.active,
.ui.input .ui.flowing.popup .popup-inputs .ui.buttons.search-cur .ui.button.active:hover {
  background-color: #f0b64c;
  border-color: #f0b64c;
  color: #252729;
  box-shadow: 0 0 0 3px rgba(240, 182, 76, .28);
}

/* [sort-pill 15.08.2026] Сортировка в выдаче — в стиле соседней кнопки «Избранное»:
   охряная рамка и скругление вместо серой рамки браузерного селекта. */
.listing-sort__select {
  border: 1.5px solid #f0b64c !important;
  border-radius: 18px !important;
  padding: 7px 32px 7px 14px !important;
  color: #303030;
  background: #fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23f0b64c' d='M0 0h10L5 6z'/%3E%3C/svg%3E") no-repeat right 12px center;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: box-shadow .15s, background-color .15s;
}
.listing-sort__select:hover { background-color: rgba(240, 182, 76, .1); }
.listing-sort__select:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(240, 182, 76, .28);
}

/* [bridge-gap 16.08.2026] Белая полоса между шапкой и фото здания: пока виден
   языковой мост, он сам отжимает контент ниже фиксированной шапки — паддинг
   main под шапку в этот момент лишний и вылезал белым полем. Мост закрыли —
   элемент уходит из DOM, паддинг возвращается. */
.rot-bridge ~ main { padding-top: 0 !important; }
/* [consent-visible 17.08.2026] Подпись согласия читаема на любом фоне: серая по
   умолчанию (в т.ч. в .contact-block на белом), светлая с тенью — только поверх
   фотографии баннера. Раньше белый цвет стоял на всём .contact-block и подпись
   пропадала на страницах зданий. */
.feedback__agree,
.contact-block .feedback__agree,
.feedback__form > .feedback__agree,
.contact-block .feedback__form > .feedback__agree,
.feedback__row > .feedback__agree,
form > .feedback__agree {
  color: #6b6b6b !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.feedback__agree a,
.contact-block .feedback__agree a { color: #6b6b6b !important; text-decoration: underline; }
.feedback__agree a:hover { color: #f0b64c !important; }
.search-banner .feedback__agree,
.contact-block.search-banner .feedback__agree,
.search-banner .feedback__form > .feedback__agree {
  color: rgba(255, 255, 255, .9) !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .75) !important;
}
.search-banner .feedback__agree a,
.contact-block.search-banner .feedback__agree a { color: rgba(255, 255, 255, .95) !important; }
/* [consent-grey 17.08.2026] Подпись согласия: серая на любом светлом блоке,
   включая .search-banner (у него нет фонового фото — только белый фон).
   Светлой она остаётся исключительно в тёмном подвале. */
.feedback__agree,
.contact-block .feedback__agree,
.contact-block.search-banner .feedback__agree,
.search-banner .feedback__agree,
.search-banner .feedback__form > .feedback__agree,
.contact-block.search-banner .feedback__form > .feedback__agree {
  color: #6b6b6b !important;
  text-shadow: none !important;
  opacity: 1 !important;
}
.feedback__agree a,
.search-banner .feedback__agree a,
.contact-block.search-banner .feedback__agree a { color: #6b6b6b !important; }
.footer .contact-block .feedback__agree,
.footer-home .contact-block .feedback__agree {
  color: rgba(255, 255, 255, .75) !important;
}
.footer .contact-block .feedback__agree a,
.footer-home .contact-block .feedback__agree a { color: rgba(255, 255, 255, .9) !important; }

/* [sortpills 19.08.2026] Строка сортировки — как на Пхукете: капсулы вместо
   широкого селекта, «Очистить» текстовой ссылкой. Рамки фирменной охрой.
   Своя стрелка у select: родная в Safari прижимается к краю капсулы. */
.listing-sort {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.listing-sort .listing-sort__label {
  font-size: 13px;
  color: #666;
  flex: 0 0 auto;
}
.listing-sort .listing-sort__select {
  appearance: none;
  -webkit-appearance: none;
  border: 1.5px solid #f0b64c !important;
  border-radius: 18px !important;
  background: #fff;
  color: #666;
  font-size: 13px !important;
  min-height: 34px;
  height: 34px !important;
  padding: 6px 30px 6px 14px !important;
  max-width: 190px;
  flex: 0 1 auto;
  box-sizing: border-box;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23f0b64c' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.listing-sort .listing-sort__select:focus { outline: none; border-color: #f0b64c; }
.listing-sort .rot-fav-toggle {
  border: 1.5px solid #f0b64c !important;
  background: #fff;
  color: #666 !important;
  border-radius: 18px !important;
  padding: 6px 14px !important;
  font-size: 13px !important;
  min-height: 34px;
  height: 34px !important;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  white-space: nowrap;
  cursor: pointer;
  flex: 0 0 auto;
}
.listing-sort .rot-fav-toggle:hover { background: rgba(240, 182, 76, .12); }
.listing-sort .rot-fav-toggle--on {
  background: #f0b64c !important;
  border-color: #f0b64c !important;
  color: #fff !important;
  font-weight: 700;
}
/* «Очистить» — не капсула, а ссылка: это действие второго плана и не должно
   спорить с «Избранным». */
.listing-sort .rot-fav-clear {
  border: none !important;
  background: none !important;
  color: #888 !important;
  font-size: 13px !important;
  padding: 0 2px !important;
  height: auto !important;
  min-height: 0 !important;
  text-decoration: underline;
  cursor: pointer;
  flex: 0 0 auto;
}
.listing-sort .rot-fav-clear:hover { color: #f0b64c !important; }

/* [sortfit 19.08.2026] Узкий экран: «Сортировка», селект и «Избранное» — одной
   строкой на любом языке. Русские подписи длиннее английских, поэтому ужимаем
   кегль и ширину селекта, а не полагаемся на перенос. */
@media only screen and (max-width: 760px) {
  .listing-sort { gap: 8px; flex-wrap: nowrap; }
  .listing-sort .listing-sort__label { font-size: 12px !important; }
  .listing-sort .listing-sort__select {
    font-size: 12px !important;
    max-width: 132px;
    padding: 6px 26px 6px 10px !important;
    min-width: 0;
  }
  .listing-sort .rot-fav-toggle { font-size: 12px !important; padding: 6px 10px !important; }
  .listing-sort .rot-fav-clear { font-size: 12px !important; }
}
@media only screen and (max-width: 380px) {
  /* совсем узкие: подпись «Сортировка» уступает место кнопкам */
  .listing-sort .listing-sort__label { display: none; }
  .listing-sort .listing-sort__select { max-width: 150px; }
}

/* ---- Избранное: сердечко на карточке, счётчик в шапке, фильтр в листинге ----
   [favport 19.08.2026] Порт с берлинского эталона. Имена классов менять нельзя:
   под них уже написан сетевой блок строки сортировки. */
.office__picture { position: relative; }
.rot-fav-btn {
  position: absolute; top: 10px; right: 12px; z-index: 3;
  width: 34px; height: 34px; border-radius: 50%; line-height: 1;
  background: #fff; border: 1.5px solid #e2e2e2; color: #ccc;
  font-size: 16px; cursor: pointer; transition: color .15s, border-color .15s, background .15s;
}
.rot-fav-btn:hover { color: #f0b64c; border-color: #f0b64c; }
.rot-fav-btn--on:hover { color: #fff; } /* [fav-stick 22.08.2026] тап на iOS оставлял :hover — сердечко сливалось с заливкой */
.rot-fav-btn--on { color: #fff; background: #f0b64c; border-color: #f0b64c; }
.rot-fav-toggle {
  margin-left: 14px; padding: 4px 12px; border-radius: 16px; cursor: pointer;
  background: #fff; border: 1.5px solid #e2e2e2; color: #666; font-size: 13px;
}
.rot-fav-toggle:hover { border-color: #f0b64c; color: #f0b64c; }
.rot-fav-toggle--on { background: #f0b64c; border-color: #f0b64c; color: #fff; }
.rot-fav-link {
  display: inline-flex; align-items: center; gap: 5px; margin-right: 16px;
  color: #f0b64c; text-decoration: none; font-size: 18px; line-height: 1;
}
.rot-fav-link:hover { color: #f5c96e; }
.rot-fav-link__n {
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
  background: #f0b64c; color: #fff; font-size: 11px; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
/* [ui-std] кнопка очистки избранного */
.rot-fav-clear {
  margin-left: 8px; padding: 4px 12px; border-radius: 16px; cursor: pointer;
  background: #fff; border: 1.5px solid #e2e2e2; color: #666; font-size: 13px;
}
.rot-fav-clear:hover { border-color: #f0b64c; color: #f0b64c; }
/* В строке сортировки расстояния держит flex-gap, поэтому базовый margin-left
   кнопки гасим — иначе к зазору прибавились бы лишние 14px. */
.listing-sort .rot-fav-toggle { flex: 0 0 auto; white-space: nowrap; margin: 0; }
.listing-sort .rot-fav-clear { flex: 0 0 auto; }

/* hub.css на мобильном раскладывает .header__right в column-reverse — сердечко
   уезжало второй строкой под шапку. Возвращаем строку. */
@media only screen and (max-width: 760px) {
  .header__right { flex-direction: row; align-items: center; gap: 0; }
}

/* Мобильная шапка: сердечко — в кружочке, счётчик пузырьком (подпись рядом
   скрывается правилом .rot-fav-link__label выше, места на неё нет) */
@media only screen and (max-width: 700px) {
  .rot-fav-link {
    position: relative;
    width: 32px; height: 32px;
    border: 1.5px solid #f0b64c;
    border-radius: 50%;
    justify-content: center;
    gap: 0;
    margin-right: 10px;
    font-size: 15px;
  }
  .rot-fav-link__n {
    position: absolute;
    top: -6px; right: -8px;
    min-width: 16px; height: 16px;
    font-size: 10px;
  }
}

/* [pill-center 19.08.2026] Текст в капсулах строки сортировки — строго по
   центру. Причина перекоса: line-height 34px при высоте 38 и padding 6+6
   давал 46px содержимого в 38-пиксельном блоке. Высоту держим одну (34px),
   вертикальные отступы обнуляем, центрирование — флексом. */
.listing-sort .listing-sort__select,
.listing-sort .rot-fav-toggle {
  height: 34px !important;
  min-height: 34px !important;
  line-height: 1 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
.listing-sort .rot-fav-clear { line-height: 1 !important; }


/* [sort-dd 19.08.2026] Свой список сортировки: кнопка-капсула + всплывающий
   список. Системный <select> на телефоне открывал колесо iOS — оно не
   стилизуется и выбивалось из вёрстки. Список позиционируем от кнопки,
   поверх карточек выдачи. */
.rot-sortdd { position: relative; display: inline-flex; flex: 0 1 auto; }
.rot-sortdd__btn {
  height: 34px;
  min-height: 34px;
  line-height: 1;
  padding: 0 30px 0 14px;
  border: 1.5px solid #f0b64c;
  border-radius: 18px;
  background: #fff;
  color: #666;
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
  white-space: nowrap;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%23f0b64c' stroke-width='1.6' stroke-linecap='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
.rot-sortdd__btn:hover { background-color: rgba(240, 182, 76, .1); }
.rot-sortdd__menu {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  z-index: 70;
  min-width: 100%;
  width: max-content;
  max-width: min(280px, calc(100vw - 32px));
  background: #fff;
  border: 1.5px solid #f0b64c;
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, .16);
  padding: 4px;
  margin: 0;
  list-style: none;
  overflow: hidden;
}
.rot-sortdd__opt {
  display: block;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  border-radius: 8px;
  padding: 9px 12px;
  font-size: 13px;
  color: #303030;
  cursor: pointer;
  white-space: nowrap;
}
.rot-sortdd__opt:hover { background: #fff6e6; }
.rot-sortdd__opt--on { background: #f0b64c; color: #fff; font-weight: 600; }

/* [range-row 19.08.2026, переделано] Поля «от» и «до» — одной строкой.
   Первая версия ставила контейнеру nowrap и сломала попап цены: там в том же
   .popup-inputs лежат ещё переключатель валют, ползунок и периоды — всё это
   вжалось в одну строку. Теперь перенос разрешён, в строке держится только
   пара полей (по половине ширины), остальные блоки уходят на свои строки.
   Дефис между полями убран — подписи «от/до» и так всё объясняют. */
.popup-inputs,
.ui.input .ui.flowing.popup .popup-inputs,
.price-popup .popup-inputs,
.square-popup .popup-inputs {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.popup-inputs > .rot-numfield { flex: 1 1 calc(50% - 6px); min-width: 0; }
.popup-inputs > *:not(.rot-numfield):not(.popup-inputs__text) { flex: 1 1 100%; }
.popup-inputs .rot-numfield > input,
.popup-inputs__square,
.popup-inputs__price { width: 100% !important; min-width: 0 !important; box-sizing: border-box; }
.popup-inputs .popup-inputs__text,
.ui.input .ui.flowing.popup .popup-inputs .popup-inputs__text,
.price-popup .popup-inputs .popup-inputs__text,
.square-popup .popup-inputs .popup-inputs__text { display: none !important; }
@media only screen and (max-width: 420px) {
  .popup-inputs .rot-numfield { flex-direction: column; align-items: flex-start; gap: 2px; }
  .popup-inputs .rot-numfield__cap { font-size: 11px; }
}

/* [popup-fit 19.08.2026] Всплывающие окна фильтров — по ширине своей кнопки:
   раньше попап жил своей шириной и выпирал за поле, из которого открывался. */
.description__search .filter__item { position: relative; }
.description__search .filter__item .ui.flowing.popup,
.description__search .filter__item .ui.flowing.popup.js-square-popup,
.description__search .filter__item .ui.flowing.popup.js-price-popup,
.description__search .filter__item .square-popup,
.description__search .filter__item .price-popup {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: auto !important;
  box-sizing: border-box;
}

/* [sort-nolabel 19.08.2026] Подпись «Сортировка» перед кнопкой убрана: кнопка
   и так показывает текущий порядок, а на узком экране слово съедало место и
   выталкивало «Очистить» из строки. Прячем визуально, но оставляем для
   скринридеров — у select'а это его подпись. */
.listing-sort .listing-sort__label {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}


/* [types-mobile 20.08.2026] Мобильная: прячем «переговорную», «медицину» и
   «бьюти». Скрываем по data-type, а не по номеру в ряду — порядок типов у
   разных городов отличается. На десктопе все семь остаются. */
@media only screen and (max-width: 760px) {
  .hub-types .hub-type[data-type="meeting"],
  .hub-types .hub-type[data-type="medical"],
  .hub-types .hub-type[data-type="beauty"] { display: none !important; }
}

/* ==== [fork-wave 22.08.2026] ==== */
/* Clear — снова капсула в охряной рамке, как «Избранное» (решение Дарьи 22.08:
   рамка как на апексе; отмена вида «ссылка второго плана»). */
.listing-sort .rot-fav-clear {
  border: 1.5px solid #f0b64c !important;
  background: #fff !important;
  color: #303030 !important;
  height: 38px !important;
  min-height: 38px !important;
  border-radius: 18px !important;
  padding: 0 14px !important;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  line-height: 1 !important;
  font-size: 13px !important;
  cursor: pointer;
}
.listing-sort .rot-fav-clear:hover { background: rgba(240, 182, 76, .12) !important; color: #303030 !important; }
/* Пункты списка языков — всегда по левому краю (ширину кнопки не трогаем) */
.header .container .header__language .ui.selection.dropdown .menu > .item,
.header .container .header__language .ui.selection.dropdown .menu > .item .header__language__link {
  text-align: left !important;
}

/* [popup-fix-x 22.08.2026] iOS: у input[type=date] системный вид со своей
   внутренней шириной — поле выпирало и попап ездил вбок (перенос волны 06.08). */
.promo-overlay { overflow-x: hidden !important; }
.promo-modal { overflow-x: hidden; }
.promo-modal .promo-row, .promo-modal .promo-field, .promo-modal .iti { min-width: 0; max-width: 100%; }
.promo-modal input[type="date"].promo-input { -webkit-appearance: none; appearance: none; min-width: 0; max-width: 100%; }
.promo-modal input[type="date"].promo-input::-webkit-date-and-time-value { text-align: left; min-height: 1.2em; }

/* [lang-fit 22.08.2026] Пункты списка языков не влезали: меню было прибито к
   ширине кнопки, а кнопка на мобильном ужата до содержимого. Меню — по
   содержимому, прижато к правому краю, не шире экрана. */
.header .container .header__language .ui.selection.dropdown .menu {
  width: max-content !important;
  min-width: 100% !important;
  max-width: min(240px, calc(100vw - 16px)) !important;
  left: auto !important;
  right: 0 !important;
}

/* [lang-fit-v2 23.08.2026] Дарья: меню НЕ шире самой кнопки. Пункты ужаты
   (11.5px, поджатые поля), длинное имя обрезается многоточием — но меню
   всегда ровно по ширине кнопки. */
.header .container .header__language .ui.selection.dropdown .menu {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  left: auto !important;
  right: 0 !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 11.5px !important;
  padding: 8px 8px !important;
  text-align: left !important;
}

/* ==== [bld-quote 23.08.2026] CTA на странице здания (как на апексе) ==== */
.bld-quote {
  border-left: 4px solid #f0b64c;
  background: #fffdf7;
  border-radius: 12px;
  padding: 16px;
  margin: 14px 0 18px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}
.bld-quote__text { margin: 0 0 12px; font-size: 15px; color: #303030; }
.bld-quote__btn {
  display: block; width: 100%; min-height: 46px;
  background: #f0b64c; border: none; border-radius: 10px;
  color: #fff; font-size: 16px; font-weight: 600; cursor: pointer;
  transition: background .15s;
}
.bld-quote__btn:hover { background: #f5c96e; }

/* ==== [invalid-ochre 23.08.2026] Подсветка незаполненных полей форм — охрой ==== */
.promo-form input:user-invalid,
.promo-form textarea:user-invalid,
.promo-form select:user-invalid,
form input.rot-field-error {
  border-color: #f0b64c !important;
  box-shadow: 0 0 0 1.5px #f0b64c !important;
  outline: none;
}

/* ==== [hub-query-size 23.08.2026] Поле адреса — тот же кегль, что у соседей ==== */
.hub-hero__query-input,
.hub-hero__query-input::placeholder,
.filter__query-input,
.filter__query-input::placeholder {
  font-size: 1rem !important;
}

/* ==== [lang-left-v3 23.08.2026] Пункты меню языков — жёстко влево: у ссылки
   внутри item свой отступ/выравнивание прижимали текст вправо (Дубай). ==== */
.header .container .header__language .ui.selection.dropdown .menu > .item,
.header .container .header__language .ui.selection.dropdown .menu > .item > a,
.header .container .header__language .menu .header__language__link {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: left !important;
  padding: 8px 10px !important;
  margin: 0 !important;
}

/* ==== [lang-menu-top 25.08.2026] Меню языков перекрывалось языковым баннером
   «Продолжить на …»: у баннера свой слой поверх шапки. Поднимаем меню и его
   контейнер выше баннера. ==== */
.header .container .header__language { position: relative; z-index: 1200; }
.header .container .header__language .ui.selection.dropdown,
.header .container .header__language .ui.selection.dropdown .menu {
  z-index: 1201 !important;
}
.rot-bridge, .lang-bridge, .rot-lang-bridge { z-index: 1000 !important; }

/* ==== [agree-contrast 25.08.2026] Строка согласия под формой была белой
   (наследие тёмной формы донора) и на светлом фоне становилась невидимой —
   Дарья: «под формой ничего нет». Красим по фактическому фону секции. ==== */
.feedback__agree { color: #6b6b6b; }
.feedback__agree a { color: #b8860b; text-decoration: underline; }
.feedback__agree a:hover { color: #f0b64c; }
/* тёмные секции (форма на тёмной подложке) — оставляем светлый текст */
.feedback--dark .feedback__agree,
.footer .feedback__agree,
.video-wrapper .feedback__agree,
.open-office__feedback--dark .feedback__agree { color: rgba(255, 255, 255, .75); }
.footer .feedback__agree a,
.video-wrapper .feedback__agree a { color: #f0b64c; }


/* [clearfit 26.08.2026] Узкий экран: счётчик «Найдено N офисов» — своей
   строкой, капсулы (сортировка, избранное, «Очистить») — под ним во всю
   ширину. До этого ряд делил строку с плавающим заголовком и «Очистить»
   обрезалось за краем экрана на любом языке с длинными подписями. */
@media only screen and (max-width: 760px) {
  .description__content .description__header .description__title {
    float: none !important;
    display: block;
    margin-bottom: 2px;
  }
  .description__header .listing-sort {
    clear: both;
    width: 100%;
    flex-wrap: wrap;
    row-gap: 8px;
    margin-bottom: 8px;
  }
}


/* [lang-same 26.08.2026] Меню языков — ровно по ширине кнопки. Отменяет
   width:max-content из [lang-fit 22.08]: тот расширял список, потому что
   названия резались двойным отступом (10px у пункта + 10px у ссылки внутри).
   Отступ оставляем только у пункта — тогда всё влезает и без расширения. */
.header .container .header__language .ui.selection.dropdown .menu {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  left: 0 !important;
  right: 0 !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item {
  padding: 8px 10px !important;
}
.header .container .header__language .ui.selection.dropdown .menu > .item > a,
.header .container .header__language .menu .header__language__link {
  padding: 0 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* [faq 27.08.2026] вопрос-ответ по району: короткие ответы с живыми цифрами
   каталога — то, что цитируют ассистенты и AI-выдача */
.district-faq { margin-top: 28px; }
.district-faq__title { font-size: 22px; margin: 0 0 14px; }
.district-faq__item { margin-bottom: 14px; }
.district-faq__q { font-size: 16px; font-weight: 600; margin: 0 0 4px; line-height: 1.35; }
.district-faq__a { margin: 0; line-height: 1.55; }
@media (max-width: 767px) {
  .district-faq__title { font-size: 19px; }
  .district-faq__q { font-size: 15px; }
}

/* [sent-toast 27.08.2026] Тост «заявка отправлена»: шире и «Спасибо!» первой
   строкой (просьба Дарьи 27.08.2026, скрин One Canada Square). */
.thankyou-toast {
  width: calc(100% - 28px);
  max-width: 560px;
  border-radius: 12px;
  padding: 16px 20px;
}
.thankyou-toast__text { display: block; line-height: 1.45; }
.thankyou-toast__text strong {
  display: block;
  font-size: 17px;
  margin-bottom: 2px;
}

/* [sort-nolabel 28.08.2026] Подпись «Sort by» скрыта ТОЛЬКО на мобильных —
   на десктопе остаётся (уточнение Дарьи 28.08.2026); был глобальный display:none. */
@media only screen and (max-width: 640px) {
  .listing-sort__label,
  .listing-sort .listing-sort__label { display: none !important; }
}
