.header .phone {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  font-size: 18px;
  line-height: 1;
  letter-spacing: 0.15px;
  padding-bottom: 0;
  white-space: nowrap;
}

.header .header-actions {
  align-items: stretch;
}

.chip[data-filter="all"] sup {
  display: none;
}

.home-page footer {
  margin-top: 0;
}

.messengers,
.messenger {
  border: 0;
}

@media (min-width: 901px) {
  .header {
    padding-left: max(6vw, calc((100vw - 1180px) / 2));
    padding-right: max(6vw, calc((100vw - 1180px) / 2));
  }

  .hero-content {
    width: min(1180px, 88vw);
  }

  .hero .search {
    width: 100%;
    max-width: none;
  }
}

.benefits {
  width: min(1180px, 88vw);
  margin: 0 auto;
  padding: 54px clamp(34px, 5vw, 64px);
  gap: clamp(54px, 7vw, 92px);
}

.benefits .benefit-grid article {
  padding: 6px 28px 24px;
}

.benefits .benefit-grid article:nth-child(n + 3) {
  padding-top: 24px;
}

.destinations {
  padding-top: 76px;
  padding-bottom: 76px;
}

.destinations .section-head {
  width: 100%;
  margin-bottom: 0;
  gap: clamp(40px, 8vw, 130px);
}

.destinations .compact h2 {
  flex: 1;
}

.destinations .compact p {
  width: auto;
  max-width: 440px;
  margin-left: auto;
}

@media (max-width: 900px) {
  body.menu-open {
    overflow: hidden;
  }

  .header .nav {
    position: fixed;
    top: 68px;
    left: 0;
    right: 0;
    z-index: 30;
    max-height: calc(100dvh - 68px);
    overflow: hidden;
    background: rgba(49, 112, 142, 0.98);
    backdrop-filter: blur(14px);
  }

  .header .nav a {
    color: #fff;
    text-shadow: none;
  }

  .benefits {
    width: calc(100% - 40px);
    padding: 54px 34px;
  }

  .destinations {
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

@media (max-width: 600px) {
  html,
  body {
    scrollbar-width: none;
  }

  html::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
  }

  .benefits {
    width: 100%;
    padding: 52px 20px;
  }

  .benefits .benefit-grid article {
    padding: 24px 4px;
  }

  .destinations .section-head {
    gap: 0;
  }

  .destinations .compact p {
    margin-left: 0;
  }
}

/* Main booking bar: dates and guests only; object availability lives on object pages. */
.home-page .booking-search-shell {
  display: block;
  grid-template-columns: none;
  min-height: 86px;
}

.home-page .booking-search-shell > [data-instance-id="search"] {
  width: 100% !important;
}

.home-page .booking-search-shell .search__container {
  width: 100% !important;
  background: #173f4e !important;
}

.home-page .booking-search-shell .search__input-button {
  background-color: #5085a5 !important;
}

.home-page .booking-search-shell{min-height:83px;border-radius:14px;background:transparent;box-shadow:none;overflow:visible}.home-page .booking-search-shell .search{min-height:83px!important;overflow:visible!important}.home-page .booking-search-shell .search__container{min-height:83px!important;border:4px solid #31708e!important;border-radius:14px!important;background:#31708e!important;overflow:visible!important;box-sizing:border-box}.home-page .booking-search-shell .search__input,.home-page .booking-search-shell .select__input{min-height:75px!important;border-right:1px solid #d8d8d8!important}.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button.button-primary.big{flex:0 0 130px!important;min-width:130px!important;min-height:75px!important;margin:0!important;border:0!important;border-radius:0 10px 10px 0!important;background:#31708e!important}.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content{width:auto;height:auto;overflow:visible;color:#fff!important;font:700 18px/1 Arial,sans-serif!important}.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content::before,.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content::after{content:none!important}
.home-page .booking-search-shell .select__input_last{position:relative!important;z-index:20!important}.home-page .booking-search-shell .select__dropdown{z-index:100!important}

.booking-search-shell {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(0, 3fr);
  width: 100%;
  margin-top: 30px;
  border-radius: 5px;
  background: #fff;
  box-shadow: 0 16px 44px rgba(8, 34, 42, 0.2);
}

.booking-place {
  display: flex;
  min-height: 86px;
  flex-direction: column;
  justify-content: center;
  padding: 14px 30px;
  border-right: 1px solid #b9d4e3;
}

.booking-place span {
  color: #766f52;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.booking-place select {
  width: 100%;
  margin-top: 8px;
  border: 0;
  outline: 0;
  color: #276b8e;
  background: transparent;
  font: 700 16px Georgia, serif;
}

.booking-search-shell [data-instance-id="search"],
.booking-search-shell .main-page,
.booking-search-shell .hr-search-container,
.booking-search-shell .search,
.booking-search-shell .search__container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.booking-search-shell .search__container {
  display: flex !important;
  position: absolute !important;
  inset: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 86px !important;
  gap: 0 !important;
  background: #173f4e !important;
}

.booking-search-shell .search {
  position: relative !important;
  min-height: 86px !important;
}

.booking-search-shell .search__calendar {
  display: flex !important;
  flex: 2 1 0 !important;
  width: auto !important;
}

.booking-search-shell .search__input,
.booking-search-shell .select__input {
  flex: 1 1 0 !important;
  width: auto !important;
  min-height: 86px !important;
  border: 0 !important;
  border-right: 1px solid #b9d4e3 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.booking-search-shell .search__input-text {
  color: #766f52 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
}

.booking-search-shell .search__input-value,
.booking-search-shell .select__input-value {
  color: #276b8e !important;
  font-family: Georgia, serif !important;
  font-weight: 700 !important;
}

.booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button.button-primary.big {
  display: flex !important;
  flex: 0 0 88px !important;
  align-self: stretch !important;
  justify-content: center !important;
  min-width: 88px !important;
  min-height: 72px !important;
  margin: 7px !important;
  border: 2px solid #173f4e !important;
  border-radius: 4px !important;
  background-color: #4f89a8 !important;
}

.booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content {
  position: relative;
  display: flex !important;
  overflow: visible;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  font-size: 0 !important;
  color: transparent !important;
}

.booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content::before {
  content: '';
  position: absolute;
  width: 15px;
  height: 15px;
  border: 2px solid #fff;
  border-radius: 50%;
  transform: translate(-3px, -3px);
}

.booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button .button-content::after {
  content: '';
  position: absolute;
  width: 9px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
  transform: translate(7px, 8px) rotate(45deg);
}

.booking-section {
  display: none;
  padding-top: 38px;
  padding-bottom: 28px;
}

.booking-section.has-search {
  display: block;
}

.booking-widget-wrap {
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  padding: 14px;
  box-shadow: 0 18px 55px rgba(28, 56, 63, 0.1);
}

.booking-fallback {
  padding: 28px;
  color: #66776f;
  text-align: center;
}

.booking-widget-wrap [data-instance-id="list"] {
  display: none !important;
}

.booking-widget-wrap.has-search [data-instance-id="list"] {
  display: flex !important;
}

.booking-widget-wrap [data-instance-id="list"] .search {
  display: flex !important;
  width: 100% !important;
  min-height: 138px !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  box-sizing: border-box !important;
}

.booking-widget-wrap [data-instance-id="list"] .search__container {
  width: min(100%, 760px) !important;
  margin: 0 auto !important;
}

@media (max-width: 600px) {
  .booking-search-shell { display: block; margin-top: 24px; }
  .booking-place { min-height: 68px; border-right: 0; border-bottom: 1px solid #b9d4e3; padding: 12px 18px; }
  .booking-search-shell .search__container { min-height: 68px !important; }
  .booking-search-shell .search__input,
  .booking-search-shell .select__input { min-height: 68px !important; }
  .booking-section { padding-top: 24px; padding-bottom: 16px; }
  .booking-widget-wrap { padding: 8px; }
  .booking-widget-wrap [data-instance-id="list"] .search { min-height: 112px !important; padding: 16px 8px !important; }
}

.rc-results[hidden] { display: none; }
.rc-results { padding: 34px 0 28px; background: #f4f4f4; scroll-margin-top: 80px; }
.rc-results-inner { width: min(1280px, calc(100% - 40px)); margin: 0 auto; }
.rc-results .booking-search-shell { width: 100%; max-width: 1280px; margin: 0 auto 30px; }
.rc-results [data-instance-id="list"],
.rc-results [data-instance-id="list"] > .main-page { width: 100% !important; max-width: none !important; }
.rc-results [data-instance-id="list"] .container { width: 100% !important; max-width: none !important; margin: 0 auto !important; }
.rc-results [data-instance-id="list"] .tabs { margin-bottom: 30px !important; }
.rc-results [data-instance-id="list"] .search { display: flex !important; width: 100% !important; max-width: 1280px !important; margin: 0 auto 30px !important; justify-content: center !important; }
.rc-results [data-instance-id="list"] .search__container { display: flex !important; width: 100% !important; max-width: none !important; margin: 0 auto !important; }
.rc-results [data-instance-id="list"] .search__calendar { display: flex !important; flex: 2 1 0 !important; width: auto !important; }
.rc-results [data-instance-id="list"] .search__input,
.rc-results [data-instance-id="list"] .select__input { flex: 1 1 0 !important; width: auto !important; }
.rc-results [data-instance-id="list"] .search__input-button { flex: 0 0 130px !important; min-width: 130px !important; }
.rc-results [data-instance-id="list"] .hotels { width: 100% !important; max-width: 1280px !important; }
.rc-results [data-instance-id="list"] .hotel-card { width: 100% !important; min-height: 250px !important; }

/* Keep Homereserve primary actions in the БроНау brand palette. */
body.home-page :is(#app, #hr-modal, #hr-widget) :is(a, button).button-primary {
  background-color: #31708e !important;
}

body.home-page :is(#app, #hr-modal, #hr-widget) :is(a, button).button-primary:hover {
  background-color: #276b8e !important;
}
.rc-results [data-instance-id="list"] .apartments-list,
.rc-results [data-instance-id="list"] .list { gap: 30px !important; }
@media (max-width: 600px) {
  .rc-results { padding: 20px 0 20px; }
  .rc-results-inner { width: calc(100% - 20px); }
  .rc-results [data-instance-id="list"] .hotel-card { min-height: 0 !important; }
  .rc-results [data-instance-id="list"] .search { margin-bottom: 20px !important; }
}

#stays { padding-top: 56px; }
@media (max-width: 600px) { #stays { padding-top: 44px; } }

/* Stable RC search geometry: one even frame and one shared control plane. */
.home-page .booking-search-shell .search__container {
  padding: 0 !important;
}

.home-page .booking-search-shell .search__input_first {
  border-radius: 9px 0 0 9px !important;
}

.home-page .booking-search-shell .search__input,
.home-page .booking-search-shell .select__input,
.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button.button-primary.big {
  height: 75px !important;
  min-height: 75px !important;
  margin: 0 !important;
  align-self: stretch !important;
  box-sizing: border-box !important;
}

/* Brand-colour frame without the RC wrapper's white rounded edges. */
.home-page .booking-search-shell,
.home-page .booking-search-shell > [data-instance-id="search"],
.home-page .booking-search-shell .main-page,
.home-page .booking-search-shell .hr-search-container,
.home-page .booking-search-shell .search {
  background: transparent !important;
  box-shadow: none !important;
}

.home-page .booking-search-shell .search__container {
  border-color: #31708e !important;
  background-color: #31708e !important;
}

.home-page .booking-search-shell #hr-widget[data-instance-id="search"] .search__input-button.button-primary.big {
  background-color: #31708e !important;
}

/* Hide the white Homereserve strip around the centred post-search bar. */
body.home-page > :is(#app, #hr-modal):has(.search__container) .search {
  background-color: #31708e !important;
}

/* Results view: reuse the home-page search bar without the list widget's
   separate white search strip. The same DOM node is moved here by
   booking-widget.js, so dates, guests and submit behaviour stay intact. */
.rc-results-inner > .booking-search-shell {
  width: 100%;
  max-width: none;
  margin: 0 auto 30px;
  border-radius: 14px;
  background: transparent !important;
  box-shadow: none !important;
}

.rc-results-inner > .booking-search-shell > [data-instance-id="search"],
.rc-results-inner > .booking-search-shell > [data-instance-id="search"] > .main-page,
.rc-results-inner > .booking-search-shell .custom-calendar,
.rc-results-inner > .booking-search-shell .hr-search-container,
.rc-results-inner > .booking-search-shell .search {
  display: block !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  box-sizing: border-box !important;
}

.rc-results-inner > .booking-search-shell .hr-search-container,
.rc-results-inner > .booking-search-shell .search {
  width: 100% !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rc-results-inner > .booking-search-shell .search__container {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
}

/* The list widget creates a second search row with a white background.
   Keep the shared search widget above it and remove only this duplicate. */
.rc-results-inner > [data-instance-id="list"] .hr-search-container {
  display: none !important;
}

@media (max-width: 600px) {
  .rc-results-inner > .booking-search-shell {
    width: 100%;
    margin-bottom: 20px;
  }
}

/* Homereserve mounts the post-search screen in a separate #app root.
   Keep its date bar on the same centered content axis as the results cards. */
.home-page #app,
.home-page #app .main-page,
.home-page #app .hr-search-container,
.home-page #app .search,
.home-page #hr-modal,
.home-page #hr-modal .main-page,
.home-page #hr-modal .hr-search-container,
.home-page #hr-modal .search {
  width: 100% !important;
  max-width: none !important;
  margin-right: auto !important;
  margin-left: auto !important;
  box-sizing: border-box !important;
}

.home-page #app .search,
.home-page #hr-modal .search {
  display: flex !important;
  justify-content: center !important;
}

.home-page #app .search__container,
.home-page #hr-modal .search__container {
  display: flex !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

/* Status feedback is outside the vendor root, so it cannot change the
   approved dimensions of the Homereserve bar. */
.booking-widget-status {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  margin-top: 10px;
  padding: 8px 12px;
  border-radius: 4px;
  background: rgba(23, 79, 105, .92);
  color: #fff;
  font-size: 12px;
  line-height: 1.45;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
}

.booking-widget-status[hidden] { display: none; }
.booking-widget-status button,
.booking-widget-status a {
  border: 0;
  border-bottom: 1px solid currentColor;
  padding: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.booking-widget-status button:disabled { cursor: wait; opacity: .7; }

@media (max-width: 600px) {
  .booking-widget-status { width: 100%; }
}
