@charset "UTF-8";
/* Website Template 
 *  - nav, header, footer
 *  - search boxes
 *  - breadcrumbs
 */
nav {
  color: #2a2c2c;
  text-align: center;
  position: relative;
  z-index: 2;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

nav ul {
  justify-content: center;
  padding: 0;
  list-style: none;
  margin: 0;
  width: 100%;
}

nav > ul > li {
  padding: 0 0.9em;
  line-height: 2em;
  position: relative;
  display: inline-block;
}

nav a {
  color: #2a2c2c;
}

nav .sub-menu {
  display: none;
  background: #111;
  width: 20em;
  position: absolute;
  top: 2em;
  left: 0;
  text-align: left;
  z-index: 2;
}

nav ul li:hover > .sub-menu {
  display: block;
}

nav .sub-menu li {
  padding: 0.6em;
  position: relative;
}

nav.site-navigation {
  padding-top: 5px;
}

nav.site-navigation li.reservation-center {
  padding-left: 2em;
  padding: 10px;
}

nav.site-navigation .reservation-center a {
  background: #2E3D5D;
  color: #fff;
  font-size: 1.1em;
  position: relative;
  padding: 7px 2.5em 7px 10px;
}

nav.site-navigation .reservation-center a:after {
  content: " " " " " " "〉";
  content: "»";
  background: #326db1;
  text-align: center;
  font-size: 1.2em;
  display: block;
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 2px;
  width: 1.4em;
}

header {
  padding-top: 0px;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

header:after {
  content: " ";
  display: block;
  width: 100%;
  height: 0;
  clear: both;
}

header .logo {
  float: left;
  padding-top: 5px;
}

header .logo a {
  display: block;
}

header .logo img {
  display: block;
}

header .top-level-navigation {
  float: right;
}

#searchButton {
  width: 100%;
  background-color: rgb(255, 180, 0);
  color: #fff;
  margin-top: -1px;
}

.searchbar-top {
  background-color: #a2b0bf;
  border-top: 2px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
  padding: 15px 5px 0px 0px;
  margin: 5px auto 0 auto;
}

.searchbar-input {
  width: 100% !important;
  display: block !important;
  margin-top: -5px;
}

.inside-search-box {
  margin-top: 25px;
}

/* HOMEPAGE */
.twitter-typeahead {
  display: block !important;
}

.typeahead-header-locations {
  text-align: left;
  background-color: #fff;
  border-bottom: 1px solid #666;
  padding: 5px 0 5px 10px;
  color: #666;
}

.typeahead-header-managers {
  text-align: left;
  border-top: 1px solid #efefef;
  background-color: #fff;
  font-weight: 600;
  padding: 10px 0 0 10px;
  color: #2E3D5D;
}

.tt-container {
  font-family: "Inter";
  margin-top: -2px;
}

.tt-hint {
  display: block;
  color: #e0e0e0;
}

.tt-input {
  border: 1px solid #F7F7F7;
  font-size: 15px;
}

/*
.tt-hint, .tt-input {
  padding-left: 10px;
  height: 2.8em;
}
*/
.tt-selectable {
  padding: 5px 10em 5px 10px;
  background-color: #fff;
  cursor: pointer;
}

.tt-selectable:hover {
  background-color: #efefef;
}

.tt-suggestion {
  font-family: "Inter";
  font-size: 16px;
  text-align: left;
}

.tt-input-small {
  font-size: 15px;
}

.tt-menu {
  border-right: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
  border-bottom: 1px solid #dfdfdf;
}

.tt-cursor {
  cursor: pointer;
  background-color: #efefef;
}

.typeahead-activities .twitter-typeahead .tt-menu {
  margin-top: 45px;
}

.twitter-typeahead, .tt-hint, .tt-input, .tt-dropdown-menu, .tt-suggestion, .tt-selectable {
  width: 100% !important;
  white-space: nowrap;
}

@media only screen and (max-width: 575px) {
  .tt-input {
    font-size: 15px;
  }
}
#searchContainer {
  background-color: #1F303A;
  display: table;
  margin-top: 25px;
  padding-left: 10px;
  margin-left: 20px;
  width: 1200px;
}

.search-checkinout-width {
  width: 140px;
}

.p-item-search {
  padding: 0.25rem 0.25rem 0.4rem 0.25rem;
}

.dropdown-menu-guests {
  width: 300px;
}

@media only screen and (max-width: 575px) {
  .search-checkinout-width {
    width: 50%;
  }
  #searchButton {
    width: 100%;
    font-size: 18px;
    padding-top: 7px;
    padding-bottom: 7px;
  }
  #dd-sort {
    left: -100px;
  }
  #dd-type {
    left: 130px;
    width: 250px;
  }
  .dropdown-filter {
    margin: 0;
    font-size: 11px;
  }
}
.breadcrumb {
  font-family: Roboto;
}

.breadcrumb, .breadcrumb li, .breadcrumb li a {
  color: #337ab7;
  font-size: 15px;
}

.breadcrumb > li + li:before {
  content: "»";
}

/* Website Template */
@media only screen and (min-width: 992px) {
  .tpl_header_container {
    background-color: #fff;
  }
}
.tpl_mobile_header_container {
  text-align: center;
  color: #FEB326;
  background-color: #337ab7;
  padding: 10px;
  cursor: pointer;
}

.tpl_toplinks_links {
  margin: 0;
  text-align: right;
}

.tpl_toplinks_links a {
  font-family: "Inter";
  margin: 0 15px;
  font-size: 1rem;
}

@media only screen and (max-width: 991px) {
  .tpl_toplinks_links {
    text-align: center;
  }
  /*
    .tpl_toplinks_links span {
      font-size: 12px;
      padding: 0 4px;
    }
  */
}
.tpl_bookdirect_msg {
  padding: 10px 15px 0 0;
  color: orange;
  font-size: 22px;
  font-family: "Inter";
}

.tpl_container_search, #searchContainerForm {
  background: none;
  /*
  background-color: $fr-blue;
  background-image: url("https://www.findrentals.com/images/bg-arch.png");
  */
}

.tpl_container_thanks {
  background-color: #198754;
  background-image: url("https://www.findrentals.com/images/bg-arch.png");
}

@media only screen and (max-width: 991px) {
  .tpl_container_search {
    margin-top: 5px;
    border: 0;
    margin-top: 10px;
  }
}
img .rounded {
  border-radius: 5px;
}

.bg-sidebar {
  background-color: #f7f7f7;
}

.homepg_hero_banner {
  position: relative;
  padding-bottom: 20px;
  box-shadow: 0px 2px 4px #2E3D5D;
}

.homepg_hero_banner .banner {
  background-size: cover;
  background-position: 50%;
}

.homepg_hero_banner .banner .banner-wrapper {
  position: relative;
  align-items: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
}

.homepg_hero_banner .banner span a {
  color: #fff;
  padding: 0 15px;
}

.homepg_hero_picture {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
}

.homepg_hero_image {
  height: inherit;
  width: inherit;
  -o-object-position: 50% 50%;
     object-position: 50% 50%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover; object-position: center center;";
}

.homepg_logo {
  text-align: center;
  padding-top: 20px;
}

.homepg_toplinks {
  text-align: center;
  font-weight: 500;
  padding-top: 10px;
}

@media only screen and (min-width: 1024px) {
  .homepg_toplinks {
    text-align: right;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .homepg_hero_banner .banner span {
    text-align: center;
  }
  .homepg_hero_banner .banner span a {
    padding: 0 5px;
  }
  .homepg_hero_banner .banner span a {
    padding: 0 8px;
    font-size: 0.85em;
  }
}
.homepg_toplinks span, .homepg_toplinks span a {
  color: #fff;
}

.homepg_tagline {
  font-size: 1.5rem;
  color: #337ab7;
  margin: 10px 0 25px 0;
  padding-top: 15px;
  text-align: center;
  font-weight: 300;
  font-family: "inter";
}

.homepg_section_even {
  padding-top: 10px;
  padding-bottom: 15px;
  background-color: #fff;
}

.homepg_section_odd {
  padding-top: 10px;
  padding-bottom: 15px;
}

.homepg_search_container {
  max-width: 1020px;
  padding: 5px 10px;
  border-radius: 10px;
}

.homepg_search_box_container {
  flex-direction: column;
  align-items: center;
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .homepg_search_container {
    margin: 10px;
  }
}
@media (min-width: 768px) {
  .homepg_search_box_container {
    display: flex;
  }
}
.homepg_search_box {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background-color: transparent;
  width: 100%;
  border-radius: 3px;
  border: none;
  position: relative;
  text-overflow: ellipsis;
  white-space: nowrap;
  box-shadow: none;
  height: 100%;
}

.homepg_search_form {
  height: 100%;
  display: flex;
  flex-direction: column;
  width: 100%;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
}

.homepg_search_form .homepg_search_input_search {
  width: 100%;
  padding: 3px 0;
}

.homepg_search_form .homepg_search_input_dates {
  width: 100%;
  padding: 3px 0;
}

.homepg_search_input_dates_left {
  padding-right: 3px;
}

.homepg_search_input_dates_right {
  padding-left: 2px;
}

.homepg_search_form .homepg_search_input_guests {
  width: 100%;
  padding: 3px 0;
}

.homepg_search_form .homepg_search_input_search_button {
  display: flex;
  flex: 1;
  align-items: flex-end;
  width: 100%;
  bottom: 0;
  padding: 3px 0;
}

@media (min-width: 768px) {
  .homepg_search_form {
    flex-direction: row;
  }
  .homepg_search_container {
    max-width: 692px;
  }
  .homepg_search_form .homepg_search_input_dates {
    width: 47%;
  }
  .homepg_search_input_dates_left {
    padding-right: 2px;
  }
  .homepg_search_input_dates_right {
    padding-left: 1px;
  }
  .homepg_search_form .homepg_search_input_guests {
    width: 28%;
  }
  .homepg_search_form .homepg_search_input_search_button {
    flex: 0;
    flex-basis: 24%;
    position: relative;
  }
}
@media (min-width: 1200px) {
  .homepg_search_form {
    flex-wrap: nowrap;
  }
  .homepg_search_container {
    max-width: 1020px;
  }
  .homepg_search_form .homepg_search_input_search {
    width: 37%;
  }
  .homepg_search_form .homepg_search_input_dates {
    width: 31%;
  }
  .homepg_search_input_dates_left {
    padding-right: 5px;
  }
  .homepg_search_input_dates_right {
    padding-left: 5px;
  }
  .homepg_search_form .homepg_search_input_guests {
    width: 15%;
  }
  .homepg_search_form .homepg_search_input_search_button {
    flex-basis: 14%;
    margin-left: 0;
  }
}
.homepg_header_title {
  margin: 0;
  text-transform: uppercase;
  color: #2E3D5D;
  border-bottom: 0;
  padding-top: 25px;
  padding-bottom: 10px;
}

.homepg_featured_box {
  border: 1px solid #dfdfdf;
  color: #fff;
  text-align: center;
  box-shadow: 2px 2px 5px #666;
  background-size: cover;
  background-position: center;
  height: 200px;
}

.homepg_featured_box:hover {
  border: 1px solid #337ab7;
  box-shadow: 2px 2px 5px #337ab7;
}

@media only screen and (max-width: 767px) {
  .homepg_featured_box {
    margin-bottom: 20px;
  }
}
.homepg_featured_title {
  background: rgba(37, 37, 37, 0.4);
  padding-top: 10px;
  padding-bottom: 10px;
}

.homepg_layover_text {
  font-weight: 500;
  text-shadow: 0 0 1px #000;
}

.homepg_layover_title {
  color: #feb327;
  font-size: 1.45rem;
  font-weight: 500;
  text-shadow: 0 0 2px #040402;
}

.homepg_layover_text a {
  color: #003c83;
}

.homepg_image_price_box {
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  margin-top: 95px;
}

.property-title {
  margin-top: 10px;
  margin-bottom: 10px;
}

.property-title-sidebar {
  margin-bottom: 0;
  margin-top: 0;
  font-size: 22px;
  color: #666;
}

@media (max-width: 1199px) {
  .property-title-sidebar {
    font-size: 14px;
  }
}
.property-block {
  margin: 0;
}

.rates-range-box {
  font-family: "Inter";
  font-size: 15px;
  padding: 10px;
  background-color: #f7f7f7;
  border: 1px solid #efefef;
}

.more-property-details {
  margin: 0px 0 15px 7px;
  cursor: pointer;
}

.detail-overview-hidden {
  display: none;
}

#more-details-content {
  margin-bottom: 10px;
}

.image-price-container {
  display: block;
  text-align: center;
  position: relative;
}

.image-price-box {
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.2);
}

.image-price-text {
  font-family: "Inter";
  font-size: 1.4em;
  color: #fff;
  font-weight: 600;
}

.interlink-inline-item {
  margin-top: 20px;
  font-size: 16px;
  font-family: "Inter";
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.table-rates-details {
  font-size: 0.85rem;
}

.img-carousel {
  height: 250px;
  margin: auto;
}

@media (min-width: 768px) {
  .img-carousel {
    height: 400px;
  }
}
@media (min-width: 1024px) {
  .img-carousel {
    height: 500px;
  }
}
.carousel-caption {
  bottom: 0;
  padding: 0;
  color: #fff;
  font-size: 18px;
  font-family: "Inter";
}

.carousel-control.left, .carousel-control.right {
  background: none;
}

#mobileFiltersModal .modal-dialog {
  margin: 0;
  min-height: 100%;
}

#mobileFiltersModal .modal-content {
  min-height: 100vh;
  border: 0;
  border-radius: 0;
}

#mobileFiltersModal .modal-header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: #fff;
  border-bottom: 1px solid #e5e5e5;
}

#mobileFiltersModal .modal-title {
  font-size: 20px;
}

.mobile-filter-section {
  border-bottom: 8px solid #f4f5f6;
}

.mobile-filter-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 15px;
  padding: 14px 16px;
  background: #fff;
  border-bottom: 1px solid #ececec;
}

.mobile-filter-options {
  padding: 10px;
  background: #fff;
}

.mobile-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.mobile-filter-option {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 9px 10px;
  margin: 0;
  border: 1px solid #dedede;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  font-size: 14px;
  line-height: 1.2;
}

.mobile-filter-option:hover {
  background: #f7f9fb;
}

.mobile-filter-option.active {
  color: #1f5f99;
  background: #e8f2fb;
  border-color: #99c6e8;
}

.mobile-filter-option input {
  margin: 0;
  flex: 0 0 auto;
}

.mobile-guest-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 14px 16px;
  background: #fff;
}

.mobile-guest-row + .mobile-guest-row {
  border-top: 1px solid #ececec;
}

.mobile-guest-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mobile-guest-button {
  width: 36px;
  height: 36px;
  padding: 0;
  border-radius: 50%;
  font-weight: 700;
}

.mobile-guest-input {
  width: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
}

.mobile-guest-input::-webkit-inner-spin-button,
.mobile-guest-input::-webkit-outer-spin-button {
  margin: 0;
  -webkit-appearance: none;
          appearance: none;
}

#mobileFiltersModal .modal-footer {
  position: sticky;
  bottom: 0;
  z-index: 10;
  background: #fff;
  border-top: 1px solid #e5e5e5;
}

@media (min-width: 576px) {
  #mobileFiltersModal .modal-dialog {
    max-width: 600px;
    margin: 1.75rem auto;
    min-height: auto;
  }
  #mobileFiltersModal .modal-content {
    min-height: auto;
    max-height: calc(100vh - 3.5rem);
    border-radius: 8px;
  }
}
.filter-dropdown-menu {
  border-radius: 10px;
  border: 1px solid #d8d8d8;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.filter-dropdown-header {
  padding: 12px 14px;
  border-bottom: 1px solid #eee;
  background: #f8f9fa;
}

.filter-dropdown-body {
  padding: 8px;
  max-height: 320px;
  overflow-y: auto;
}

.filter-dropdown-body input[type=number] {
  height: 36px;
}

.filter-dropdown-body input[type=radio] {
  margin: 0;
}

.filter-check-row {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 9px 10px;
  margin: 0;
  border-radius: 7px;
  cursor: pointer;
  font-weight: 500;
}

.filter-check-row:hover {
  background: #f5f8fb;
}

.filter-check-row.active {
  background: #e8f2fb;
  color: #1f5f99;
}

.filter-check-row input {
  margin: 0;
}

.filter-dropdown-menu .row {
  margin-left: -4px;
  margin-right: -4px;
}

.filter-dropdown-menu .row > [class*=col-] {
  padding-left: 4px;
  padding-right: 4px;
}

.filter-dropdown-footer {
  padding: 10px;
  border-top: 1px solid #eee;
  background: #fff;
}

.filter-active-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.filter-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-radius: 20px;
  background: #eef5fb;
  border: 1px solid #b9d8f0;
  color: #1f5f99;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.filter-badge:hover {
  background: #dceefb;
  color: #174d7c;
  text-decoration: none;
}

.filter-badge span {
  font-size: 16px;
  line-height: 1;
  font-weight: 700;
}

.filter-clear-all {
  font-size: 13px;
  font-weight: 600;
  color: #666;
  text-decoration: underline;
  margin-left: 4px;
}

.guest-counter-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding: 12px 4px;
}

.guest-counter-row + .guest-counter-row {
  border-top: 1px solid #eee;
}

.guest-counter-controls {
  display: flex;
  align-items: center;
  gap: 7px;
}

.guest-counter-btn {
  width: 32px;
  height: 32px;
  padding: 0;
  font-weight: 700;
  border-radius: 50%;
}

.guest-counter-input {
  width: 34px;
  border: 0;
  background: transparent;
  text-align: center;
  font-weight: 700;
}

.property-sort-select {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  padding: 5px;
  background-color: #fff;
  color: #243b64;
  font-weight: 600;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.property-sort-select:focus {
  border-color: #337ab7;
  box-shadow: 0 0 0 0.2rem rgba(51, 122, 183, 0.15);
}

/* Property detail redesign */
.property-detail-page {
  --property-border: #e2e7ec;
  --property-muted: #657183;
  --property-heading: #334261;
  --property-blue: #337ab7;
  --property-blue-dark: #245f91;
  --property-soft-blue: #f3f8fc;
  --property-soft-gray: #f7f8fa;
  --property-success: #198754;
  --property-danger: #c5392f;
  padding-bottom: 24px;
}

.property-detail-mobile-breadcrumb {
  margin-bottom: 8px;
}

.property-detail-heading {
  margin-bottom: 18px;
}

.property-detail-heading__title {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(1.8rem, 3vw, 2.2rem);
  line-height: 1.12;
}

.property-detail-heading__subtitle {
  margin: 8px 0 0;
  color: #5e6875;
  font-size: 1rem;
  font-style: italic;
  line-height: 1.45;
  padding: 10px 10px 0 10px;
}

.property-detail-heading__location {
  margin: 8px 0 0;
  color: var(--property-muted);
  font-size: 1rem;
  font-weight: 600;
}

.property-for-sale-alert {
  border-radius: 12px;
}

.property-for-sale-alert__detail {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 6px 10px;
  border: 1px solid rgba(51, 122, 183, 0.2);
  border-radius: 999px;
  background: #fff;
}

.property-gallery {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 0.9fr);
  gap: 8px;
  height: 420px;
  min-height: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #eef1f4;
}

.property-gallery--single {
  grid-template-columns: 1fr;
}

.property-gallery figure,
.property-gallery picture {
  margin: 0;
}

.property-gallery__main,
.property-gallery__thumb,
.property-gallery__link,
.property-gallery picture {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
}

.property-gallery__modal-trigger {
  padding: 0;
  border: 0;
  background: transparent;
}

.property-gallery__main,
.property-gallery__thumb {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: #e7ebef;
}

.property-gallery__side {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
  min-height: 0;
  height: 100%;
}

.property-gallery__side > * {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}

.property-gallery__side--single {
  grid-template-rows: 1fr;
}

.property-gallery__image,
.property-gallery picture img,
.property-gallery__main img,
.property-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.property-gallery__image {
  cursor: pointer;
  transition: transform 0.2s ease;
}

.property-gallery__link:hover .property-gallery__image,
.property-gallery__image.property-gallery__link:hover {
  transform: scale(1.015);
}

.property-gallery__all-photos {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 2;
}

.property-gallery__all-photos .btn {
  border: 1px solid rgba(0, 0, 0, 0.35);
  box-shadow: 0 2px 9px rgba(0, 0, 0, 0.18);
}

.property-conversion-panel {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #d9e5ef;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbfe 0%, #eef6fc 100%);
  box-shadow: 0 7px 22px rgba(35, 73, 107, 0.08);
}

.property-conversion-panel__eyebrow,
.property-section__eyebrow {
  margin-bottom: 4px;
  color: var(--property-blue);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.property-conversion-panel__manager-name {
  color: var(--property-heading);
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.25;
}

.property-conversion-panel__subtext,
.property-conversion-panel__fee-note,
.property-conversion-panel__dates {
  margin-top: 3px;
  color: var(--property-muted);
  font-size: 0.84rem;
}

.property-availability-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 8px;
  color: #fff;
  font-weight: 700;
  line-height: 1.25;
}

.property-availability-badge--available {
  background: var(--property-success);
}

.property-availability-badge--warning {
  background: var(--property-danger);
}

.property-availability-badge--contact {
  background: var(--property-blue);
}

.property-conversion-panel__rates {
  padding-left: 16px;
  border-left: 1px solid #d8e2eb;
}

.property-conversion-panel__rate-label {
  color: var(--property-muted);
  font-size: 0.82rem;
  font-weight: 600;
}

.property-conversion-panel__rate-value {
  color: var(--property-heading);
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.25;
}

.property-conversion-panel__rate-value small,
.property-sticky-conversion__rate small {
  color: var(--property-muted);
  font-size: 0.72rem;
  font-weight: 600;
}

.property-conversion-panel__contact-rate {
  color: var(--property-heading);
  font-size: 0.95rem;
  font-weight: 600;
}

.property-conversion-panel__actions,
.property-manager-section__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.property-btn-primary,
.property-btn-secondary,
.property-btn-tertiary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 8px;
  font-weight: 700;
}

.property-btn-primary {
  color: #fff;
  background: var(--property-blue);
  border: 1px solid var(--property-blue);
}

.property-btn-primary:hover,
.property-btn-primary:focus {
  color: #fff;
  background: var(--property-blue-dark);
  border-color: var(--property-blue-dark);
}

.property-btn-secondary {
  color: var(--property-blue);
  background: #fff;
  border: 1px solid var(--property-blue);
}

.property-btn-secondary:hover,
.property-btn-secondary:focus {
  color: #fff;
  background: var(--property-blue);
}

.property-btn-tertiary {
  grid-column: 1/-1;
  color: #435062;
  background: #f4f6f8;
  border: 1px solid #d8dee5;
}

.property-btn-tertiary:hover,
.property-btn-tertiary:focus {
  color: #2d3847;
  background: #e9edf1;
}

.property-conversion-panel__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 24px;
  margin-top: 16px;
  padding-top: 13px;
  border-top: 1px solid #d9e5ef;
}

.property-conversion-panel__manager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  min-width: 0;
  color: var(--property-muted);
  font-size: 0.9rem;
}

.property-conversion-panel__manager-logo-link {
  display: inline-flex;
  align-items: center;
}

.property-conversion-panel__manager-logo {
  max-width: 120px;
  max-height: 36px;
  -o-object-fit: contain;
     object-fit: contain;
}

.property-conversion-panel__rentals-link {
  padding-left: 12px;
  border-left: 1px solid #ccd7e0;
}

.property-conversion-panel__jump-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  font-size: 0.88rem;
}

.property-conversion-panel__jump-links a {
  white-space: nowrap;
}

.property-section {
  margin-top: 26px;
  padding: 24px;
  border: 1px solid var(--property-border);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(30, 48, 67, 0.04);
}

.property-section__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.property-section__title {
  margin: 0;
  padding: 0;
  border: 0;
  color: var(--property-heading);
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  line-height: 1.2;
}

.property-section__title small {
  color: var(--property-muted);
  font-size: 0.68em;
  font-weight: 600;
}

.property-highlight-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
}

.property-highlight {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 66px;
  padding: 12px 14px;
  border: 1px solid #dfe6ec;
  border-radius: 11px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(35, 57, 76, 0.035);
}

.property-highlight__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 9px;
  color: var(--property-blue);
  background: var(--property-soft-blue);
  font-size: 1.05rem;
}

.property-highlight--destination {
  border-color: #cbddea;
  background: #f7fbfe;
}

.property-highlight--destination .property-highlight__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  color: var(--property-blue-dark) !important;
  background: #e1eef8;
  font-size: 1.05rem;
}

.property-highlight > div {
  min-width: 0;
}

.property-highlight strong,
.property-highlight span {
  display: block;
}

.property-highlight strong {
  color: #2f3c4c;
  font-size: 0.96rem;
  line-height: 1.3;
}

.property-highlight span {
  margin-top: 2px;
  color: var(--property-muted);
  font-size: 0.76rem;
}

.property-sleeping-arrangements {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 14px;
  padding: 14px 16px;
  border: 1px solid #dce5ec;
  border-radius: 10px;
  background: #fff;
}

.property-sleeping-arrangements__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 8px;
  color: var(--property-blue);
  background: var(--property-soft-blue);
  font-size: 1.05rem;
}

.property-sleeping-arrangements__copy {
  min-width: 0;
}

.property-sleeping-arrangements__copy strong,
.property-sleeping-arrangements__copy span {
  display: block;
}

.property-sleeping-arrangements__copy strong {
  margin-bottom: 3px;
  color: var(--property-heading);
  font-size: 0.86rem;
}

.property-sleeping-arrangements__copy span {
  color: #465566;
  line-height: 1.45;
}

.property-detail-list {
  border-top: 1px solid var(--property-border);
}

.property-detail-list__item {
  display: grid;
  grid-template-columns: minmax(150px, 0.75fr) minmax(0, 1.6fr);
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--property-border);
}

.property-detail-list__item strong {
  color: #3c4958;
}

.property-overview-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin-top: 14px;
}

.property-overview-footer .property-sleeping-arrangements {
  margin-top: 0;
}

.property-overview-footer .property-share {
  align-self: start;
  padding: 2px 0 0;
  text-align: left;
}

.property-location-card {
  height: auto;
  min-height: 0;
  overflow: hidden;
  border: 1px solid #dfe5eb;
  border-radius: 12px;
  background: var(--property-soft-gray);
}

.property-location-card__heading,
.property-location-card__address,
.property-location-card__no-map {
  padding: 12px 14px;
}

.property-location-card__heading {
  color: var(--property-heading);
  border-bottom: 1px solid #dfe5eb;
  background: #fff;
}

.property-location-card__address {
  border-bottom: 1px solid #dfe5eb;
  font-size: 0.9rem;
}

.property-location-card__map {
  width: 100%;
  height: 285px;
  min-height: 285px;
}

.property-location-card__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.property-share {
  color: var(--property-muted);
}

.property-rate-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 14px;
  margin-bottom: 22px;
}

.property-rate-overview__price,
.property-rate-overview__availability {
  min-height: 122px;
  border: 1px solid #dce4eb;
  border-radius: 12px;
  background: #fff;
}

.property-rate-overview__price {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 20px 22px;
  border-left: 4px solid var(--property-blue);
}

.property-rate-overview__label {
  margin-bottom: 2px;
  color: var(--property-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.property-rate-overview__amount {
  color: var(--property-heading);
  font-size: 2rem;
  font-weight: 750;
  line-height: 1.15;
}

.property-rate-overview__amount small {
  color: var(--property-muted);
  font-size: 0.9rem;
  font-weight: 500;
}

.property-rate-overview__meta {
  margin-top: 9px;
  color: var(--property-muted);
  font-size: 0.85rem;
}

.property-rate-overview__availability {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 18px 20px;
  background: #f8fbfd;
}

.property-rate-overview__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--property-blue);
  background: #eaf3fa;
  font-size: 1.1rem;
}

.property-rate-overview__availability-copy strong {
  display: block;
  color: var(--property-heading);
  font-size: 0.98rem;
}

.property-rate-overview__availability-copy p {
  margin: 4px 0 0;
  color: var(--property-muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.property-rate-overview__availability .btn {
  white-space: nowrap;
}

.property-calendar-card {
  overflow: hidden;
  border: 1px solid #dce4eb;
  border-radius: 12px;
  background: #fff;
}

.property-calendar-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 20px;
  border-bottom: 1px solid #e5e9ee;
  background: #fbfcfd;
}

.property-calendar-card__header h3 {
  margin: 0 0 3px;
  color: var(--property-heading);
  font-size: 1rem;
}

.property-calendar-card__header p {
  margin: 0;
  color: var(--property-muted);
  font-size: 0.8rem;
}

.property-calendar-card__body {
  padding: 18px 20px 20px;
}

.property-calendar-legend {
  display: flex;
  flex: 0 0 auto;
  gap: 14px;
  color: var(--property-muted);
  font-size: 0.78rem;
  white-space: nowrap;
}

.property-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.property-calendar-legend__swatch {
  display: inline-block;
  width: 11px;
  height: 11px;
  border: 1px solid #ccd4dc;
  border-radius: 3px;
}

.property-calendar-legend__swatch--available {
  background: #fff;
}

.property-calendar-legend__swatch--unavailable {
  border-color: #e7c8c5;
  background: #ffcbc7;
}

.property-calendar-card #availabilityCalendar {
  width: 100%;
  max-width: 920px;
  height: 470px;
  margin: 0 auto;
}

.property-calendar-card .datetimepicker {
  padding: 0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}

.property-calendar-card .datetimepicker .paging {
  padding: 8px 42px 14px;
  color: var(--property-heading);
}

.property-calendar-card .datetimepicker .paging .month-name {
  color: var(--property-heading);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.property-calendar-card .datetimepicker .paging i,
.property-calendar-card .datetimepicker .paging svg {
  color: var(--property-blue);
}

.property-calendar-card .datetimepicker table {
  height: calc(100% - 42px);
  color: #344154;
  font-size: 0.92rem;
}

.property-calendar-card .datetimepicker table thead td {
  padding-bottom: 9px;
  color: #556170;
  border-bottom: 1px solid #dfe5ea;
  font-size: 0.82rem;
}

.property-calendar-card .datetimepicker table td {
  border-color: #e7ebef;
}

.property-calendar-card .datetimepicker table td.near-month {
  color: #bdc4cb;
  background: #fafbfc !important;
}

.property-calendar-card .datetimepicker table td.cur-date.cur-month {
  background: #edf5fb;
}

.property-calendar-card .datetimepicker table tbody td.available {
  background: #fff;
}

.property-calendar-card .datetimepicker table td.unavailable {
  color: #82443e;
  background: #ffcbc7;
}

.property-calendar-card .datetimepicker table tbody td:hover {
  background: #f1f5f8;
}

.property-calendar-card .datetimepicker table tbody td:hover.unavailable {
  background: #ecd8d5;
}

.property-calendar-embed {
  overflow: hidden;
}

.property-calendar-embed iframe {
  max-width: 100%;
}

.property-subsection {
  margin-top: 24px;
  padding-top: 20px;
  border-top: 1px solid var(--property-border);
}

.property-subsection h3,
.property-amenity-category h3,
.property-section h3 {
  margin-top: 0;
  color: var(--property-heading);
  font-size: 1.05rem;
}

.property-description-copy {
  max-width: 980px;
  color: #3d4753;
  font-size: 1rem;
  line-height: 1.72;
}

.property-description-copy > :last-child {
  margin-bottom: 0;
}

/* Long free-form content: only collapses when JavaScript confirms it overflows. */
.property-expandable {
  --property-expandable-height: 240px;
  --property-expandable-fade: #fff;
  --property-expandable-fade-transparent: rgba(255, 255, 255, 0);
  position: relative;
  overflow: visible;
  transition: max-height 0.3s ease;
}

.property-expandable--large {
  --property-expandable-height: 320px;
}

.property-expandable--compact {
  --property-expandable-height: 128px;
}

.property-expandable.is-collapsible {
  overflow: hidden;
}

.property-expandable.is-collapsible.is-collapsed::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 72px;
  background: linear-gradient(to bottom, var(--property-expandable-fade-transparent), var(--property-expandable-fade) 88%);
  content: "";
  pointer-events: none;
}

.property-expandable-toggle {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-top: 8px;
  padding: 5px 11px;
  border: 1px solid #cbd8e5;
  border-radius: 999px;
  color: var(--property-blue);
  background: #fff;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1.25;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}

.property-expandable-toggle:hover,
.property-expandable-toggle:focus {
  border-color: #9ebbd5;
  color: #245d91;
  background: #f5f9fc;
}

.property-expandable-toggle:focus-visible {
  outline: 2px solid rgba(51, 122, 183, 0.28);
  outline-offset: 2px;
}

.property-expandable-toggle .fa {
  transition: transform 0.2s ease;
}

.property-expandable-toggle[aria-expanded=true] .fa {
  transform: rotate(180deg);
}

.property-policy-item .property-expandable {
  --property-expandable-fade: var(--property-soft-gray);
  --property-expandable-fade-transparent: rgba(247, 248, 250, 0);
}

.property-special-card .property-expandable {
  --property-expandable-fade: #fff;
}

.property-policy-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.property-policy-item {
  padding: 14px;
  border: 1px solid #e5e9ee;
  border-radius: 10px;
  background: var(--property-soft-gray);
}

.property-policy-item strong {
  display: block;
  margin-bottom: 6px;
  color: var(--property-heading);
}

.property-policy-item p:last-child {
  margin-bottom: 0;
}

.property-tag-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 14px;
}

.property-tag-item {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  padding: 7px 0;
  color: #485565;
}

.property-tag-item .fa {
  margin-top: 3px;
  color: var(--property-blue);
}

.property-amenity-category + .property-amenity-category {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid var(--property-border);
}

.property-testimonials {
  line-height: 1.65;
}

.property-specials-section {
  border-color: #efddbc;
  background: #fffdf8;
}

.property-special-card {
  height: 100%;
  padding: 14px;
  border: 1px solid #efe2c8;
  border-radius: 10px;
  background: #fff;
}

.property-special-card__dates {
  margin: 4px 0 8px;
  color: var(--property-muted);
  font-size: 0.85rem;
}

.property-manager-section {
  overflow: hidden;
  padding: 0;
  border-color: #d6e1ea;
  background: #fff;
}

.property-manager-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.65fr);
}

.property-manager-identity {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 28px;
  border-right: 1px solid #dfe6ec;
  background: linear-gradient(145deg, #f8fbfd 0%, #eef5fa 100%);
}

.property-manager-identity__brand {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  margin-top: 18px;
}

.property-manager-section__logo {
  display: block;
  max-width: 256px;
  -o-object-fit: contain;
     object-fit: contain;
}

.property-manager-identity__name {
  color: var(--property-heading);
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.3;
}

.property-manager-identity__meta {
  margin-top: 14px;
  color: #586778;
  font-size: 0.84rem;
}

.property-manager-identity__meta .fa {
  color: var(--property-success);
}

.property-manager-identity__profile-link {
  margin-top: 14px;
  font-size: 0.86rem;
  font-weight: 700;
}

.property-manager-booking-card {
  padding: 28px;
}

.property-manager-booking-card__header h3 {
  margin: 0;
  color: var(--property-heading);
  font-size: 1.15rem;
}

.property-manager-booking-card__header p {
  max-width: 680px;
  margin: 6px 0 0;
  color: var(--property-muted);
  line-height: 1.5;
}

.property-manager-booking-card .property-manager-section__actions {
  grid-template-columns: repeat(2, minmax(0, 210px));
  justify-content: start;
  margin-top: 18px;
}

.property-manager-booking-card .property-btn-tertiary {
  grid-column: auto;
}

.property-manager-contact-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #e3e8ed;
}

.property-manager-contact-row__label {
  flex: 0 0 auto;
}

.property-manager-contact-row__label span,
.property-manager-reference > span {
  display: block;
  color: var(--property-muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.property-manager-contact-row__label strong {
  display: block;
  margin-top: 2px;
  color: var(--property-heading);
}

.property-manager-contact-row__phones {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.property-manager-section .phone_track.property-manager-phone {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin: 0;
  padding: 8px 11px;
  border: 1px solid #cbdbe8;
  border-radius: 7px;
  color: var(--property-blue);
  background: #f8fbfd;
  font-size: 0.8rem;
  font-weight: 700;
  white-space: nowrap;
}

.property-manager-section .phone_track.property-manager-phone:hover,
.property-manager-section .phone_track.property-manager-phone:focus,
.property-manager-section .phone_track.property-manager-phone:active {
  color: #fff;
  background: var(--property-blue);
}

.property-manager-reference {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-top: 16px;
  color: #4b5968;
  font-size: 0.83rem;
}

.property-manager-reference > span {
  flex: 0 0 auto;
}

.property-manager-reference strong {
  color: var(--property-heading);
  white-space: nowrap;
}

.property-interlink-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.property-interlink-list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--property-border);
}

.property-interlink-list small {
  display: block;
  margin-top: 2px;
  color: var(--property-muted);
}

.property-more-info-section {
  padding: 0;
  overflow: hidden;
}

.property-more-info-section .accordion-item {
  border: 0;
}

.property-more-info-section .accordion-button {
  padding: 18px 20px;
  color: var(--property-heading);
  font-weight: 700;
}

.property-sticky-conversion {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1035;
  transform: translateY(-110%);
  opacity: 0;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid #dce2e8;
  box-shadow: 0 4px 16px rgba(28, 48, 68, 0.13);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.property-sticky-conversion.is-visible {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.property-sticky-conversion__inner {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 9px 20px;
}

.property-sticky-conversion__summary {
  flex: 1 1 auto;
  min-width: 0;
  flex-direction: column;
}

.property-sticky-conversion__name {
  overflow: hidden;
  color: var(--property-heading);
  font-weight: 700;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.property-sticky-conversion__meta {
  color: var(--property-muted);
  font-size: 0.78rem;
}

.property-sticky-conversion__rate {
  flex: 0 0 auto;
  color: var(--property-heading);
  font-size: 1.1rem;
  font-weight: 700;
  white-space: nowrap;
}

.property-sticky-conversion__actions {
  display: flex;
  flex: 0 0 auto;
  gap: 8px;
}

.property-sticky-conversion__actions .btn {
  min-width: 130px;
  min-height: 42px;
}

/* Editorial / AI-enhanced property content */
.property-editorial-overview {
  background: linear-gradient(135deg, #ffffff 0%, #f7fbfe 100%);
}

.property-editorial-overview__summary {
  color: #34465a;
  font-size: 1rem;
  line-height: 1.72;
}

.property-editorial-overview__summary p {
  margin: 0 0 1rem;
}

.property-editorial-overview__summary p:last-child {
  margin-bottom: 0;
}

.property-editorial-fit {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.property-editorial-fit__label {
  color: var(--property-muted);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.property-editorial-fit__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.property-editorial-fit__tags span {
  padding: 6px 10px;
  border: 1px solid #cddfeb;
  border-radius: 999px;
  color: var(--property-blue-dark);
  background: var(--property-soft-blue);
  font-size: 0.78rem;
  font-weight: 700;
}

.property-editorial-highlights {
  display: grid;
  gap: 9px;
}

.property-editorial-highlight {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid #dce6ed;
  border-radius: 10px;
  background: #fff;
}

.property-editorial-highlight__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  border-radius: 50%;
  color: #fff;
  background: var(--property-blue);
  font-size: 0.75rem;
}

.property-editorial-highlight strong,
.property-editorial-highlight span {
  display: block;
}

.property-editorial-highlight strong {
  margin-bottom: 2px;
  color: var(--property-heading);
  font-size: 0.9rem;
}

.property-editorial-highlight span {
  color: #58697a;
  font-size: 0.82rem;
  line-height: 1.4;
}

.property-ai-description .property-description-copy {
  color: #394a5c;
  line-height: 1.75;
}

.property-source-description {
  padding: 0;
  overflow: hidden;
}

.property-source-description .accordion-item,
.property-faq .accordion-item {
  border: 0;
}

.property-source-description .accordion-button,
.property-faq .accordion-button {
  color: var(--property-heading);
  background: #fff;
  box-shadow: none;
  font-weight: 700;
}

.property-source-description .accordion-button:not(.collapsed),
.property-faq .accordion-button:not(.collapsed) {
  color: var(--property-blue-dark);
  background: var(--property-soft-blue);
}

.property-source-description__copy {
  color: #465566;
  line-height: 1.7;
}

/* Compact location context sits below the map in the right-hand highlights column. */
.property-location-nearby {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #dce5ec;
  border-radius: 12px;
  background: #fff;
}

.property-location-nearby__heading {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 12px;
}

.property-location-nearby__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 9px;
  color: var(--property-blue-dark);
  background: var(--property-soft-blue);
}

.property-location-nearby__heading span,
.property-location-nearby__heading strong {
  display: block;
}

.property-location-nearby__heading span {
  margin-bottom: 1px;
  color: var(--property-muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.property-location-nearby__heading strong {
  color: var(--property-heading);
  font-size: 0.96rem;
}

.property-location-nearby__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 13px;
}

.property-location-nearby__content--single {
  grid-template-columns: minmax(0, 1fr);
}

.property-location-nearby__summary {
  margin: 0;
  color: #526375;
  font-size: 0.86rem;
  line-height: 1.55;
}

.property-location-nearby__links {
  display: grid;
  gap: 1px;
  overflow: hidden;
  border: 1px solid #e4eaf0;
  border-radius: 9px;
}

.property-location-nearby__links a {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) 16px;
  align-items: center;
  gap: 8px;
  padding: 10px 11px;
  color: #315c80;
  background: #fff;
  font-size: 0.82rem;
  font-weight: 600;
  text-decoration: none;
}

.property-location-nearby__links a + a {
  border-top: 1px solid #e8edf2;
}

.property-location-nearby__links a:hover {
  color: var(--property-blue-dark);
  background: #f7fafc;
}

.property-location-nearby__arrow {
  color: #9babb9;
  font-size: 0.7rem;
}

.property-faq .accordion-item + .accordion-item {
  border-top: 1px solid #e4e9ee;
}

.property-faq .accordion-button {
  padding: 15px 16px;
  font-size: 0.92rem;
}

.property-faq .accordion-body {
  padding: 2px 16px 16px;
  color: #506174;
  line-height: 1.6;
}

.property-similar-rentals__intro {
  margin: -4px 0 16px;
  color: var(--property-muted);
  font-size: 0.88rem;
}

.property-similar-rentals__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.property-similar-rental-card {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) 18px;
  align-items: stretch;
  gap: 0;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe6ec;
  border-radius: 10px;
  color: inherit;
  background: #fff;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.property-similar-rental-card:hover {
  border-color: #b8cee0;
  box-shadow: 0 4px 12px rgba(37, 66, 92, 0.08);
  transform: translateY(-1px);
}

.property-similar-rental-card__media {
  display: block;
  min-height: 104px;
  overflow: hidden;
  background: #eef4f8;
}

.property-similar-rental-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 104px;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.2s ease;
}

.property-similar-rental-card:hover .property-similar-rental-card__media img {
  transform: scale(1.025);
}

.property-similar-rental-card__image-fallback {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 104px;
  color: var(--property-blue);
  background: var(--property-soft-blue);
  font-size: 1.35rem;
}

.property-similar-rental-card__copy {
  align-self: center;
  min-width: 0;
  padding: 13px 12px;
}

.property-similar-rental-card__copy strong,
.property-similar-rental-card__copy small,
.property-similar-rental-card__copy span {
  display: block;
}

.property-similar-rental-card__copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--property-heading);
  font-size: 0.9rem;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.property-similar-rental-card__copy small {
  margin-top: 3px;
  color: var(--property-muted);
  font-size: 0.74rem;
}

.property-similar-rental-card__copy span {
  margin-top: 3px;
  color: #3578ad;
  font-size: 0.78rem;
  font-weight: 700;
}

.property-similar-rental-card__arrow {
  align-self: center;
  margin-right: 10px;
  color: #a6b3bf;
  font-size: 0.75rem;
}

@media (max-width: 1399.98px) {
  .property-manager-contact-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
  }
  .property-manager-contact-row__label {
    width: 100%;
    min-width: 0;
  }
  .property-manager-contact-row__phones {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (max-width: 991.98px) {
  .property-gallery {
    height: auto;
    min-height: 430px;
  }
  .property-conversion-panel__rates {
    padding-left: 0;
    border-left: 0;
  }
  .property-manager-layout {
    grid-template-columns: 1fr;
  }
  .property-manager-identity {
    border-right: 0;
    border-bottom: 1px solid #dfe6ec;
  }
  .property-tag-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .property-location-nearby__content {
    grid-template-columns: minmax(0, 1fr);
  }
  .property-sticky-conversion {
    top: auto;
    bottom: 0;
    transform: translateY(110%);
    border-top: 1px solid #dce2e8;
    border-bottom: 0;
    box-shadow: 0 -4px 16px rgba(28, 48, 68, 0.13);
  }
  .property-sticky-conversion.is-visible {
    transform: translateY(0);
  }
  .property-sticky-conversion__inner {
    justify-content: space-between;
    padding-bottom: max(9px, env(safe-area-inset-bottom));
  }
  .property-detail-page {
    padding-bottom: 78px;
  }
}
@media (max-width: 767.98px) {
  .property-gallery {
    display: block;
    min-height: 0;
    aspect-ratio: 4/3;
    border-radius: 10px;
  }
  .property-gallery__side {
    display: none;
  }
  .property-gallery__all-photos {
    right: 10px;
    bottom: 10px;
  }
  .property-conversion-panel,
  .property-section {
    padding: 18px;
    border-radius: 11px;
  }
  .property-manager-section {
    padding: 0;
  }
  .property-manager-identity,
  .property-manager-booking-card {
    padding: 20px;
  }
  .property-manager-booking-card .property-manager-section__actions {
    grid-template-columns: 1fr;
  }
  .property-manager-booking-card .property-btn-tertiary {
    grid-column: auto;
  }
  .property-manager-contact-row {
    align-items: flex-start;
    flex-direction: column;
  }
  .property-manager-contact-row__phones {
    justify-content: flex-start;
  }
  .property-manager-reference {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
  .property-rate-overview {
    grid-template-columns: 1fr;
  }
  .property-rate-overview__availability {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .property-rate-overview__availability .btn {
    grid-column: 1/-1;
    width: 100%;
  }
  .property-calendar-card__header {
    align-items: flex-start;
    flex-direction: column;
  }
  .property-calendar-card__body {
    padding: 12px;
  }
  .property-calendar-card #availabilityCalendar {
    height: 400px;
    margin: 0 auto;
  }
  .property-conversion-panel__actions {
    grid-template-columns: 1fr 1fr;
  }
  .property-conversion-panel__footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .property-conversion-panel__manager-logo {
    max-width: 100px;
    max-height: 32px;
  }
  .property-conversion-panel__rentals-link {
    padding-left: 0;
    border-left: 0;
  }
  .property-highlight-grid,
  .property-policy-grid,
  .property-interlink-list {
    grid-template-columns: 1fr;
  }
  .property-similar-rentals__grid {
    grid-template-columns: 1fr;
  }
  .property-overview-footer {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .property-overview-footer .property-share {
    text-align: left;
  }
  .property-location-card__map {
    height: 240px;
    min-height: 240px;
  }
  .property-availability-callout {
    align-items: stretch;
    flex-direction: column;
  }
  .property-availability-callout .btn {
    width: 100%;
  }
  .property-sticky-conversion__inner {
    padding: 8px 10px max(8px, env(safe-area-inset-bottom));
  }
  .property-sticky-conversion__actions {
    flex: 1 1 auto;
    width: 100%;
  }
  .property-sticky-conversion__actions .btn {
    flex: 1 1 0;
    min-width: 0;
    padding-right: 10px;
    padding-left: 10px;
  }
}
@media (max-width: 575.98px) {
  .property-expandable {
    --property-expandable-height: 210px;
  }
  .property-expandable--large {
    --property-expandable-height: 260px;
  }
  .property-expandable--compact {
    --property-expandable-height: 112px;
  }
  .property-expandable-toggle {
    min-height: 36px;
    padding: 7px 12px;
  }
  .property-similar-rental-card {
    grid-template-columns: 104px minmax(0, 1fr) 16px;
  }
  .property-similar-rental-card__copy {
    padding: 11px 9px;
  }
  .property-similar-rental-card__arrow {
    margin-right: 7px;
  }
  .property-detail-heading__subtitle {
    font-size: 0.92rem;
  }
  .property-conversion-panel__actions {
    grid-template-columns: 1fr;
  }
  .property-highlight-grid,
  .property-tag-grid {
    grid-template-columns: 1fr;
  }
  .property-detail-list__item {
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .property-section {
    margin-top: 18px;
  }
  .property-manager-section__actions {
    grid-template-columns: 1fr;
  }
  .property-btn-tertiary {
    grid-column: auto;
  }
}
.mgr_block {
  padding: 5px;
  padding-top: 20px;
  margin: 20px 0 20px 0;
  display: table;
  width: 100%;
  height: 179px;
  border-top: 8px solid #efefef;
}

.mgr_title a {
  color: #337ab7;
  font-size: 28px;
  font-weight: 500;
  font-family: "Inter";
}

footer {
  color: #fff;
  background-color: #337ab7;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

footer .ftr_nav {
  padding-top: 1em;
}

footer .ftr_blocks {
  padding: 0.5em 20px;
  border-top: 1px solid #e6e6e6;
}

footer .ftr_blocks a {
  color: #fff;
}

footer .ftr_blocks .blocks:after {
  content: "";
  clear: both;
  display: block;
  width: 100%;
  height: 0;
}

footer .ftr_blocks ul.blocks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: table;
  table-layout: fixed;
}

footer .ftr_blocks .blocks > li {
  width: 25%;
  box-sizing: border-box;
  border-right: solid 1px #d0d1d1;
  padding: 1em;
  display: table-cell;
  vertical-align: top;
}

footer .ftr_blocks .blocks > li:first-child {
  padding-left: 0;
}

footer .ftr_blocks .blocks > li:last-child {
  border-right: 0;
  padding-right: 0;
}

footer .ftr_blocks .blocks > ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

footer .ftr_blocks .ftr_link_headers {
  color: rgb(255, 180, 0);
  font-weight: 500;
  font-family: "Inter";
  margin: 5px 0;
  font-size: 1.2rem;
}

.ftr_list_item {
  padding: 5px;
  position: relative;
  display: block;
}

.ftr_links_title {
  font-size: 18px;
  font-family: "Inter";
  color: #666;
  padding-right: 20px;
  text-align: right;
}

.ftr_newsletter_signup {
  background-color: #0088de;
}

.ftr_newsletter_signup_header {
  color: #fff;
  margin: 15px 0 0 0;
  font-weight: 300;
  padding-bottom: 10px;
  font-family: "Inter";
  font-size: 28px;
}

.ftr_newsletter_signup_block {
  background-color: #0088de;
  color: #fff;
}

.ftr_top_travel_header {
  margin-top: 20px;
  padding: 10px;
  text-align: center;
  font-weight: 500;
  background-color: #efefef;
  border: 1px solid #dfdfdf;
  border-radius: 10px;
}

.ftr_navigation {
  padding-top: 5px;
  background-color: #5C5D5F;
  text-align: center;
}

.ftr_navigation li {
  padding: 0 0.5em;
  margin: 0;
  border-right: solid 1px #aaacae;
  line-height: 1em;
  color: #aaacae;
}

.ftr_navigation li a {
  color: inherit;
}

.ftr_navigation li:last-child {
  border-right: 0;
}

.ftr_copyright {
  text-align: center;
  background: #5C5D5F;
  color: #fff;
  font-size: 0.8em;
  padding-bottom: 1em;
}

.ftr_copyright a {
  color: #fff;
}

html {
  -ms-overflow-style: scrollbar;
  color-scheme: only light;
  background-color: #fff;
}

body {
  font-weight: 350;
  overflow-x: hidden;
}

@media (max-width: 979px) {
  body {
    margin-bottom: 55px;
  }
}
h1 {
  margin: 20px 0 20px 0;
  padding-bottom: 10px;
  padding-top: 10px;
  color: #334261;
  font-weight: 700;
  font-size: 2.2em;
}

h1.page-header {
  background-color: #fff;
  border-radius: 10px;
  padding-left: 15px;
  padding-right: 15px;
}

h2.page-header {
  background-color: #fff;
  border-radius: 10px;
  padding-left: 15px;
  padding-right: 15px;
}

h3 {
  margin: 20px 0 10px 0;
}

h2, h3, h4 {
  font-weight: 700;
  margin-top: 25px;
  color: #334261;
}

a {
  color: #337ab7;
  text-decoration: none;
  font-weight: 500;
}

p {
  margin: 0 0 15px 0;
}

p a {
  font-weight: 600;
}

input.form-control, select.form-control {
  border: 1px solid #efefef;
  background-color: #fff;
  box-shadow: none;
}

input.form-control-search {
  font-size: 1rem;
  padding-left: 35px;
}

input.form-control-focused {
  border-color: #66afe9;
  outline: 0;
  outline: thin dotted \9 ;
  box-shadow: 0 0 8px rgba(82, 168, 236, 0.6) !important;
}

.search-btn-inline {
  width: 100%;
}

@media (min-width: 576px) {
  .search-btn-inline {
    width: auto;
    margin-top: 0;
  }
}
label {
  font-weight: 500;
}

li.active a {
  color: #fff;
}

/* v3 */
.box-shadow {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.directory-block {
  padding: 5px;
  padding-top: 20px;
  margin: 20px 0 20px 0;
  display: table;
  width: 100%;
  border-top: 8px solid #efefef;
}

.property-block-footer-description {
  padding: 5px;
  font-size: 12px;
}

.property-block-sleeps {
  font-weight: normal;
  font-size: 13px;
  float: right;
}

.property-directory-thumb {
  width: 100%;
  height: 193px;
}

.property-detail-image {
  width: 100%;
  height: 169px;
}

@media (max-width: 1199px) {
  .property-detail-image {
    max-height: none;
  }
}
.sidebar-grey {
  padding: 10px 20px;
  background-color: #fdfdfd;
  border: 1px solid #efefef;
}

.panel-heading-light {
  background-color: #f3f3f3 !important;
}

.property-title-reservation {
  margin-bottom: 0;
  font-size: 17px;
}

.propertybox-content {
  padding-left: 5px;
}

.propertybox-title {
  overflow: hidden;
  font-size: 14px;
  font-weight: 500;
}

.rentals-header {
  padding: 8px 8px 0 8px;
  border: 1px solid #c3c3c5;
  font-size: 18px;
  background-color: #dfdfdf;
}

.phone_track {
  font-size: 14px;
  color: #fff;
  display: inline-block;
  padding: 0.5em;
  margin: 0.5em;
  cursor: pointer;
  background-color: #FEB326;
}

/* containers */
.container {
  background-color: #fff;
}

/*
@media (min-width: 1430px) {
	.container {
		width: 1407px;
	}
}
*/
@media only screen and (max-width: 991px) {
  .container-header {
    border-bottom: 1px solid #f9f9f9;
  }
}
.container-page-content {
  border: 1px solid #efefef;
  padding-top: 15px;
  border-top: 0;
  border-bottom: 0;
}

.container-page-wrapper {
  background-color: #fcfcfc;
}

.container-tabs {
  background-color: #efefef;
}

.container-fluid {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}

.propertyResultsFilterContainer {
  padding: 0 0 10px 20px;
}

.inline-block {
  display: inline-block;
}

.fr-light-blue {
  color: #217ca3;
}

.fr-blue {
  color: #337ab7;
}

.fr-dark-blue {
  color: #334261;
}

.fr-orange {
  color: rgb(255, 180, 0);
}

.fr-avail-blue {
  color: #fff;
  font-weight: 400;
  padding: 5px;
  background-color: #337ab7;
}

.fr-avail-green {
  color: #fff;
  font-weight: 400;
  padding: 5px;
  background-color: #00c500;
}

.fr-avail-red {
  color: #fff;
  font-weight: 400;
  padding: 5px;
  background-color: #ff0000;
}

/* buttons */
.btn {
  font-weight: 700;
  font-family: "Inter";
  font-size: 1rem;
}

.btn-addminus {
  font-size: 16px;
  width: 40px;
}

.btn-booknow {
  background-color: #FFB400;
  border-color: #efefef;
  color: #fff;
  text-transform: capitalize;
  width: 100%;
  margin-top: 10px;
}

.btn-internal-search {
  background-color: #FFB400;
  border-color: #efefef;
  color: #fff;
  text-transform: capitalize;
  width: 100%;
}

.btn-fr {
  color: #fff;
  background-color: #337ab7;
  font-weight: 700;
}

.btn-fr:hover, .btn-fr:focus, .btn-fr:active {
  color: #fff;
  background-color: #5786af;
  border-color: #666;
}

.btn-outline-fr {
  --bs-btn-color: #337ab7;
  --bs-btn-border-color: #337ab7;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #337ab7;
  --bs-btn-hover-border-color: #337ab7;
  --bs-btn-focus-shadow-rgb: 33, 37, 41;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #337ab7;
  --bs-btn-active-border-color: #337ab7;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(33, 37, 41, 0.125);
  --bs-btn-disabled-color: #337ab7;
  --bs-btn-disabled-bg: transparent;
  --bs-btn-disabled-border-color: #337ab7;
  --bs-gradient: none;
}

.btn-nav {
  border: 1px solid #dfdfdf;
  background-color: #f7f7fc;
  font-size: 13px;
}

.btn-orange {
  background-color: #FFB400 !important;
  color: #fff !important;
}

.btn-warning {
  background-image: radial-gradient(circle, #fcff5b 80%, #faff00 81%);
}

@media (max-width: 768px) {
  .btn-responsive {
    padding: 10px 4px;
    margin-top: 5px;
    font-size: 90%;
    line-height: 1;
    border-radius: 3px;
  }
}
.inside-search-button {
  border-width: 0px 0px 0em;
  border-style: none none solid;
  background: #FFB400 none repeat scroll 0% 0%;
  color: #FFF;
  padding: 8px 20px;
  margin-left: 0px;
  border-radius: 0.5em;
}

.inside-search-button:hover, .inside-search-button:focus, .inside-search-button:active,
.btn-booknow:hover, .btn-booknow:focus, .btn-booknow:active,
.phone_track:hover, .phone_track:focus, .phone_track:active {
  color: #fff;
  background-color: #e7a300;
}

.input-group {
  margin: 5px 0;
}

.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
  background-color: #fff;
}

.inner-addon {
  position: relative;
}

.inner-addon .addicon {
  position: absolute;
  margin-left: 10px;
  margin-top: 14px;
  pointer-events: none;
}

.inner-addon .searchicon {
  margin-left: 10px;
}

.left-addon .addicon {
  left: 0px;
}

.right-addon .addicon {
  right: 0px;
}

.left-addon input {
  padding-left: 30px;
}

.right-addon input {
  padding-right: 30px;
}

.pagination > .active > a, .pagination > .active > span, .pagination > .active > a:hover, .pagination > .active > span:hover, .pagination > .active > a:focus, .pagination > .active > span:focus {
  color: #ffffff;
  cursor: default;
  z-index: 2;
}

.pagination .page-item {
  padding: 0;
}

/* icons */
.fa-fw {
  vertical-align: middle;
}

.fa-star, .fa-star-o {
  color: #FFB400;
}

.fa-map-marker, .fa-map-marker-alt {
  color: #FFB400;
}

/* jQuery tools override */
.datepicker {
  font-family: "Inter";
}

.datepicker {
  width: 17em;
  padding: 0.2em 0.2em 0;
  display: none;
}

.datepicker .datepicker-header {
  position: relative;
  padding: 0.2em 0;
}

.datepicker .datepicker-prev,
.datepicker .datepicker-next {
  position: absolute;
  top: 2px;
  width: 1.8em;
  height: 1.8em;
}

.datepicker .datepicker-prev-hover,
.datepicker .datepicker-next-hover {
  top: 1px;
}

.datepicker .datepicker-prev {
  left: 2px;
}

.datepicker .datepicker-next {
  right: 2px;
}

.datepicker .datepicker-prev-hover {
  left: 1px;
}

.datepicker .datepicker-next-hover {
  right: 1px;
}

.datepicker .datepicker-prev span,
.datepicker .datepicker-next span {
  display: block;
  position: absolute;
  left: 50%;
  margin-left: -8px;
  top: 50%;
  margin-top: -8px;
}

.datepicker .datepicker-switch {
  margin: 0 2.3em;
  line-height: 1.8em;
  text-align: center;
  font-size: 16px;
  color: #337ab7;
}

.datepicker .datepicker-switch select {
  font-size: 1em;
  margin: 1px 0;
}

.datepicker span.month,
.datepicker span.year {
  width: 45%;
  display: block;
}

.datepicker table {
  width: 100%;
  font-size: 0.9em;
  border-collapse: collapse;
  margin: 0 0 0.4em;
}

.datepicker th {
  background-color: #efefef;
  text-align: center;
  font-weight: bold;
  border: 0;
}

.datepicker td {
  border: 0;
  padding: 8px;
  text-align: center;
}

.datepicker td span,
.datepicker td a {
  display: block;
  padding: 0.2em;
  text-align: right;
  text-decoration: none;
}

.datepicker .datepicker-buttonpane {
  background-image: none;
  margin: 0.7em 0 0 0;
  padding: 0 0.2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.datepicker .datepicker-buttonpane button {
  float: right;
  margin: 0.5em 0.2em 0.4em;
  cursor: pointer;
  padding: 0.2em 0.6em 0.3em 0.6em;
  width: auto;
  overflow: visible;
}

.datepicker .datepicker-buttonpane button.datepicker-current {
  float: left;
}

/* with multiple calendars */
.datepicker.datepicker-multi {
  width: auto;
}

.datepicker-multi .datepicker-group {
  float: left;
}

.datepicker-multi .datepicker-group table {
  width: 95%;
  margin: 0 auto 0.4em;
}

.datepicker-multi-2 .datepicker-group {
  width: 50%;
}

.datepicker-multi-3 .datepicker-group {
  width: 33.3%;
}

.datepicker-multi-4 .datepicker-group {
  width: 25%;
}

.datepicker-multi .datepicker-group-last .datepicker-header,
.datepicker-multi .datepicker-group-middle .datepicker-header {
  border-left-width: 0;
}

.datepicker-multi .datepicker-buttonpane {
  clear: left;
}

.datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0;
}

/* RTL support */
.datepicker-rtl {
  direction: rtl;
}

.datepicker-rtl .datepicker-prev {
  right: 2px;
  left: auto;
}

.datepicker-rtl .datepicker-next {
  left: 2px;
  right: auto;
}

.datepicker-rtl .datepicker-prev:hover {
  right: 1px;
  left: auto;
}

.datepicker-rtl .datepicker-next:hover {
  left: 1px;
  right: auto;
}

.datepicker-rtl .datepicker-buttonpane {
  clear: right;
}

.datepicker-rtl .datepicker-buttonpane button {
  float: left;
}

.datepicker-rtl .datepicker-buttonpane button.datepicker-current,
.datepicker-rtl .datepicker-group {
  float: right;
}

.datepicker-rtl .datepicker-group-last .datepicker-header,
.datepicker-rtl .datepicker-group-middle .datepicker-header {
  border-right-width: 0;
  border-left-width: 1px;
}

/* Icons */
.datepicker .ui-icon {
  display: block;
  text-indent: -99999px;
  overflow: hidden;
  background-repeat: no-repeat;
  left: 0.5em;
  top: 0.3em;
}

td.day {
  cursor: pointer;
}

.disabled.day {
  cursor: default;
  color: #b3b3b3;
}

/* property filter dropdown */
.filter-titles-container {
  background-color: #337ab7;
  color: #fff;
  background-image: url(https://www.findrentals.com/images/bg-arch.png);
  padding: 5px 15px;
}

.filter-titles {
  font-family: "Inter";
  font-size: 17px;
}

.filter-titles-subitem {
  font-weight: 600;
  font-family: "Inter";
  font-size: 15px;
}

.nav > li > a:focus, .nav > li > a:hover, .nav .open > a, .nav .open > a:hover, .nav .open > a:focus {
  background-color: #fff;
  background-image: none;
}

.dropdown-filter {
  font-size: 14px;
  margin: 5px 5px 0 0;
  background-color: #fff;
}

.dropdown-filter a {
  text-align: left;
  color: #666;
  font-size: 14px;
}

.dropdown-filter-menu {
  margin-top: 5px;
  width: 845px;
}

@media only screen and (max-width: 1199px) {
  .dropdown-filter-menu {
    width: 700px;
  }
}
@media only screen and (max-width: 991px) {
  .dropdown-filter-menu {
    width: 715px;
  }
}
@media only screen and (max-width: 767px) {
  .dropdown-filter-menu {
    width: 345px;
  }
}
.dropdown-filter-menu-sortby {
  width: 215px;
  padding: 8px;
}

.dropdown-filter-menu li {
  padding: 5px;
}

.dropdown-filter-chosen {
  color: #2E3D5D;
}

.filtersLoadingContainer {
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

#dd-filters {
  background-color: #f5f5f5;
}

h4.filter-categories {
  margin: 0 0 10px 5px;
  padding: 0;
  border-bottom: 1px solid #efefef;
  font-family: "Lato";
}

.clearfilters-link {
  margin-top: 20px;
}

.clearfilters-link a {
  font-size: 12px;
}

/* locations browser */
.locations-browser {
  width: 100%;
  border: 1px solid #efefef;
  display: table;
  padding: 2px;
}

.locations-browser-title {
  padding: 15px;
  background-color: #0389de;
  color: #fff;
  font-family: "Inter";
  font-size: 18px;
  text-align: center;
}

.locations-browser-parent-location {
  padding: 10px 0 2px 5px;
  font-weight: bold;
  color: #666;
}

.locations-browser-location {
  margin-left: 5px;
}

.locations-browser-location a {
  font-size: 11px;
  font-family: "verdana";
  color: #666;
}

.locations-browser-type-title {
  background-color: #f7f7f7;
  font-size: 14px;
  font-family: "Source Sans Pro";
  color: #2E3D5D;
  color: #666;
  padding: 5px;
  margin: 5px 0;
}

.locations-browser-hr {
  margin: 5px;
}

.content-separator {
  height: 8px;
  background-color: #efefef;
}

.signup-banner {
  width: 100%;
  padding: 20px;
  margin-top: 0;
  border-bottom: 1px solid #efefef;
}

.signup-banner-content {
  text-align: center;
  font-size: 1.3em;
  color: #337AB7;
}

.signup-padded-columns {
  padding: 0 5px;
}

.signup-banner-content h1 {
  font-family: "Inter";
  font-size: 3em;
  font-weight: 300;
}

.signup-testimonial-quote {
  font-size: 18px;
  font-family: "Inter";
}

.signup-testimonial-owner {
  font-size: 16px;
  font-family: "Inter";
}

.signup-supporting-content {
  font-family: "Inter";
  font-size: 18px;
}

.property-block-header {
  font-family: "Inter";
  font-size: 13px;
  overflow: hidden;
  padding: 5px;
  background-color: #fdfdfd;
}

.testimonial {
  padding: 25px 75px;
  background-color: #FFFFFF;
}

.testimonial p {
  padding: 5px;
}

#websiteLabel, #websiteInput, #websiteLabelDyn, #websiteInputDyn {
  display: none;
}

h3.property-amenities {
  font-size: 17px;
  font-weight: 400;
  border: 1px solid #efefef;
  background-color: #f7f7f7;
  padding: 2px 5px;
}

.availability-calendar-container {
  font-size: 11px;
  font-family: "Inter";
}

.availability-calendar-available {
  background-color: #f9fff8;
  border: 1px solid #d2d2d2;
  padding: 5px;
  display: inline;
}

.availability-calendar-unavailable {
  background-color: #ffb402;
  color: #fff;
  border: 1px solid #d2d2d2;
  padding: 5px;
  display: inline;
}

/* Forgot Password */
.forgot-password {
  font-size: 13px;
  font-family: "Inter";
  padding: 10px;
}

.forgot-password-remember {
  font-size: 13px;
  font-family: "Inter";
  padding: 10px;
  text-align: right;
}

/* Facebook Widget Iframe */
.fb_iframe_widget span {
  vertical-align: baseline !important;
}

/* Bootstrap Modal */
.modal-header {
  background-color: #f7f7f7;
}

.modal-title {
  font-weight: 400;
  margin-top: 0;
}

.modal-body {
  padding-top: 0;
}

@media (max-width: 768px) {
  .modal-dialog {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0 auto;
  }
  .modal-content {
    height: 100%;
    min-height: 100%;
    height: auto;
    border-radius: 0;
  }
}
.review-star-description {
  margin-left: 15px;
  font-family: "Inter";
  font-size: 22px;
  font-weight: 300;
  color: #2E3D5D;
}

/* Advertising / List Your Property */
.pricing-panel {
  border-top: 5px solid #0a6bb8;
  border-radius: 10px;
}

.pricing-panel-body {
  padding: 0;
  margin: 0;
}

.pricing-title {
  font-family: "Inter";
  font-size: 24px;
  color: #0a6bb8;
  margin-top: 20px;
}

.pricing-dark-blue {
  color: #0a6bb8;
}

.pricing-text {
  font-family: "Inter";
  font-size: 48px;
  color: #474d51;
  margin-top: 10px;
}

.pricing-currency {
  font-size: 18px;
  vertical-align: text-top;
}

.pricing-break {
  width: 150px;
  height: 2px;
  margin: 10px 0;
  background-color: #fff;
}

.pricing-subtext {
  font-family: "Inter";
  font-size: 14px;
}

.pricing-list {
  padding: 0;
  margin-bottom: 0;
}

.pricing-list > li {
  display: block;
  text-align: center;
  font-family: "Inter";
  font-size: 14px;
  padding: 10px 10px;
  margin-bottom: -1px;
  border-bottom: 1px solid #efefef;
}

.pricing-moreinfo {
  text-align: center;
  font-family: "Inter";
  font-size: 26px;
  margin: 15px 0 40px 0;
}

.pricing-highlighted {
  border-top: 3px solid #0a6bb8;
}

.pricing-popup-box {
  border: 1px solid #0b93d5;
  text-align: center;
  font-family: "Inter";
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
}

.pricing-popup-box-active {
  background-color: #0a6bb8;
  color: #fff;
}

/* Sticky Navigation */
#sticky-nav.sticky {
  position: fixed;
  top: 10px;
  z-index: 99;
  background-color: #fff;
}

#sticky-nav-reservations.sticky {
  position: fixed;
  top: 15px;
  z-index: 100;
}

.pricing-moreinfo {
  text-align: center;
  font-family: "Inter";
  font-size: 18px;
  margin: 15px 0 10px 0;
}

.local-events ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.success-box {
  padding: 15px 10px;
  font-size: 18px;
  color: #fff;
  border: 1px solid #666;
  border-radius: 5px;
}

.pmbox-top {
  display: inline-block;
  vertical-align: top;
  font-size: 11px;
  background-color: #fff;
  margin: 0px 2.5px 3px 2.5px;
  padding: 0 0 5px 0;
  border: solid 1px #ccc;
  border-radius: 5px;
  /* IE7 fix */
  zoom: 1;
  *display: inline;
  *margin: 0 4px;
  overflow: hidden;
}

.pm-name {
  font-size: 20px;
  border-bottom: 1px solid #efefef;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
  padding: 0 7px;
}

@media only screen and (max-width: 575px) {
  .pm-name {
    font-size: 20px;
  }
}
.nowrap {
  white-space: nowrap;
  overflow: hidden;
}

.img-responsive {
  max-width: 100%;
  height: auto;
  margin: auto;
}

.pm-ad-sized-window {
  font-size: 0.85rem;
  height: 105px;
}

/* NEW */
.table-rates-details {
  font-size: 0.85rem;
}

.nav-pills > li > a {
  cursor: pointer;
}

.row-flex {
  display: flex;
  flex-wrap: wrap;
}

.flex-content {
  height: 100%;
}

.click-hover-bg:hover {
  text-decoration: none;
}

.list-group-item {
  padding: 0.75rem 1rem 0.75rem 1.25rem;
}

.list-group-item.active {
  background-color: #337ab7;
  border-color: #c19e72;
}

.list-group-horizontal .list-group-item {
  margin-bottom: 5px;
}

.list-group-box {
  display: inline-block;
  margin: 0 6px 12px 0;
}

.clear {
  clear: both;
}

.dropdown-menu {
  font-size: 14px;
}

.img-layover {
  position: relative;
}

.img-title-layover {
  position: absolute;
  bottom: 0;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
}

#search-suggest, .tt-hint, .tt-input {
  font-family: "Inter";
}

@media (max-width: 768px) {
  #search-suggest-managers {
    font-size: 13px !important;
  }
  .scroll-wrapper {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .scroll-wrapper .scroll-horizontal {
    flex: 0 0 auto;
    width: 90%;
  }
}
.btn-filters-more {
  cursor: pointer;
}

.content-search-box {
  border-top: 1px solid #dee2e6 !important;
  border-left: 1px solid #dee2e6 !important;
  border-right: 1px solid #dee2e6 !important;
  background-color: #337ab7;
  color: #fff;
}

.content-search-toolbar {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.65rem;
  background: #fff;
  border: 1px solid #dce5ef;
  border-radius: 0.5rem;
  box-shadow: 0 3px 10px rgba(20, 45, 75, 0.06);
}

.content-search-bar {
  flex: 1 1 auto;
  min-width: 0;
}

.content-search-form {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.content-search-icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eef5fb;
  color: #337ab7;
  font-size: 0.9rem;
}

.content-search-input {
  height: 42px;
  border: 1px solid #d5e0eb;
  border-radius: 0.45rem !important;
  box-shadow: none;
  font-size: 1rem;
}
.content-search-input:focus {
  border-color: #337ab7;
  box-shadow: 0 0 0 0.15rem rgba(51, 122, 183, 0.12);
}

.content-search-submit {
  height: 42px;
  padding: 0 1.25rem;
  border-radius: 0.45rem;
  background: #337ab7;
  border-color: #337ab7;
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}
.content-search-submit:hover, .content-search-submit:focus {
  background: #286090;
  border-color: #286090;
  color: #fff;
}

.content-search-sort {
  flex: 0 0 190px;
}
.content-search-sort .form-select {
  height: 42px;
  border: 1px solid #d5e0eb;
  border-radius: 0.45rem;
  font-weight: 600;
  color: #183b63;
  box-shadow: 0 2px 5px rgba(20, 45, 75, 0.05);
}
.content-search-sort .form-select:focus {
  border-color: #337ab7;
  box-shadow: 0 0 0 0.15rem rgba(51, 122, 183, 0.12);
}

@media (max-width: 767.98px) {
  .content-search-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .content-search-sort {
    flex-basis: auto;
    width: 100%;
  }
}
@media (max-width: 575.98px) {
  .content-search-icon {
    display: none;
  }
  .content-search-submit {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
.topleft-margin {
  margin-left: 15px;
  margin-top: 15px;
}

.grecaptcha-badge {
  visibility: hidden;
  display: none;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 ratio */
  height: 0;
  overflow: hidden;
}

.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 8px; /* optional: rounded corners */
  border: none;
}

.text-collapse {
  position: relative;
  max-width: 100%;
}

.text-collapse__content {
  line-height: 1.6;
}

.text-collapse__fade {
  pointer-events: none;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2.5rem;
  height: 3.5rem;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.85), rgb(255, 255, 255));
  display: none;
}

.text-collapse__toggle {
  background: none;
  border: none;
  padding: 0;
  margin-top: 0.5rem;
  font-weight: 600;
  color: #337ab7;
  cursor: pointer;
  display: none;
}

.text-collapse__toggle:hover {
  text-decoration: underline;
}

@media (max-width: 767.98px) {
  .text-collapse__content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }
  .text-collapse__fade {
    display: block;
  }
  .text-collapse__toggle {
    display: inline-block;
  }
  .text-collapse[data-collapsed=false] .text-collapse__content {
    -webkit-line-clamp: unset;
  }
  .text-collapse[data-collapsed=false] .text-collapse__fade {
    display: none;
  }
}
/* ==========================================================================
   FIND RENTALS DESIGN
   --------------------------------------------------------------------------
   Keep this LAST. This replaces the old temp.css include and intentionally
   loads after all legacy website styles above.
   ========================================================================== */
/* ==========================================================================
   FIND RENTALS DESIGN
   --------------------------------------------------------------------------
   Migrated from temp.css. Keep this import order intact: it mirrors the
   original temp.css cascade so the design continues to override legacy
   web.scss styles exactly as it did when temp.css loaded after web.css.
   ========================================================================== */
:root {
  --fr-navy: #0d2b4d;
  --fr-navy-deep: #071f39;
  --fr-blue: #337ab7;
  --fr-blue-dark: #1f619b;
  --fr-teal: #0a8f95;
  --fr-ink: #10243b;
  --fr-muted: #5e6b79;
  --fr-line: #e4e9ee;
  --fr-soft: #f6f8fa;
  --fr-sand: #f8f5ef;
  --fr-white: #fff;
  --fr-heading-font: 'Lora', Georgia, serif;
  color-scheme: only light;
}

body {
  color: var(--fr-ink);
  font-family: "Inter", Arial, sans-serif;
  background: #fff;
}

.fr-site-header {
  position: relative;
  z-index: 100;
  background: rgba(255, 255, 255, 0.98);
  border-bottom: 1px solid rgba(13, 43, 77, 0.08);
}

.fr-header-row {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 2rem;
}

.fr-brand {
  display: block;
  flex: 0 0 auto;
  background-color: #fff;
}

.fr-brand img {
  display: block;
  width: 275px;
  height: auto;
  padding: 10px 0;
}

.fr-desktop-nav {
  margin-left: auto;
  align-items: center;
  gap: 1.8rem;
}

.fr-desktop-nav a,
.fr-header-actions a {
  position: relative;
  color: var(--fr-ink);
  font-size: 0.93rem;
  font-weight: 600;
  text-decoration: none;
  transition: color 0.2s ease;
}

.fr-desktop-nav a {
  padding: 1.8rem 0;
}

.fr-desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 18px;
  height: 2px;
  background: var(--fr-blue);
  transition: right 0.2s ease;
}

.fr-desktop-nav a:hover,
.fr-header-actions a:hover {
  color: var(--fr-blue);
}

.fr-desktop-nav a:hover::after {
  right: 0;
}

.fr-header-actions {
  align-items: center;
  gap: 1rem;
}

.fr-mobile-actions {
  margin-left: auto;
  align-items: center;
  gap: 4px;
}

.fr-header-action {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--fr-navy);
  font-size: 1.15rem;
  line-height: 1;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.fr-header-action:hover,
.fr-header-action:focus,
.fr-header-action[aria-expanded=true] {
  background: #edf5fb;
  color: var(--fr-blue);
  outline: none;
}

.fr-header-action:active {
  transform: scale(0.96);
}

.fr-action-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.fr-action-icon-open {
  display: none;
}

.fr-header-action[aria-expanded=true] .fr-action-icon-closed {
  display: none;
}

.fr-header-action[aria-expanded=true] .fr-action-icon-open {
  display: inline-flex;
}

.fr-menu-toggle {
  margin-left: 0;
}

.fr-mobile-menu {
  padding: 0;
  border-top: 1px solid var(--fr-line);
  background: #fff;
}

.fr-mobile-menu > .container {
  padding-top: 0.5rem;
  padding-bottom: 1rem;
}

.fr-mobile-nav {
  display: block;
}

.fr-mobile-nav a {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0 0.25rem;
  color: var(--fr-navy);
  border-bottom: 1px solid #edf1f4;
  font-size: 0.94rem;
  font-weight: 650;
  text-decoration: none;
  transition: color 0.18s ease, padding-left 0.18s ease, background 0.18s ease;
}

.fr-mobile-nav a > span {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}

.fr-mobile-nav a > span > i {
  width: 22px;
  color: var(--fr-blue);
  text-align: center;
  font-size: 0.9rem;
}

.fr-mobile-nav a:hover {
  padding-left: 0.55rem;
  color: var(--fr-blue);
  background: #fbfcfd;
}

.fr-mobile-nav-arrow {
  color: #a7b3bf;
  font-size: 0.63rem;
}

.fr-mobile-menu-message {
  margin-top: 1rem;
  padding: 0.9rem 1rem;
  border-radius: 11px;
  background: #f3f7fa;
}

.fr-mobile-menu-message strong,
.fr-mobile-menu-message span {
  display: block;
}

.fr-mobile-menu-message strong {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1rem;
}

.fr-mobile-menu-message span {
  margin-top: 0.2rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

/* Internal-page search. Homepage search remains controlled by .fr-home-search. */
.fr-header-search-panel {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  background-color: #337ab7;
}

.fr-header-search-inner {
  padding: 0.65rem 0;
}

.fr-header-search-panel form {
  margin: 0;
}

.fr-header-search-panel .input-group {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.45rem;
  max-width: 900px;
  margin: 0 auto;
  padding: 0.38rem;
  border: 1px solid rgba(13, 43, 77, 0.08) !important;
  border-radius: 12px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 8px 24px rgba(7, 31, 57, 0.12) !important;
}

.fr-header-search-panel input[type=text],
.fr-header-search-panel input[type=search],
.fr-header-search-panel .form-control {
  min-width: 0;
  min-height: 48px !important;
  padding-left: 0.9rem !important;
  padding-right: 0.9rem !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--fr-ink) !important;
  box-shadow: none !important;
}

.fr-header-search-panel input[type=text]:focus,
.fr-header-search-panel input[type=search]:focus,
.fr-header-search-panel .form-control:focus {
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.12) !important;
}

.fr-header-search-panel button[type=submit],
.fr-header-search-panel input[type=submit],
.fr-header-search-panel .inside-search-button,
.fr-header-search-panel .btn-primary {
  flex: 0 0 auto;
  width: auto !important;
  min-width: 92px;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0.7rem 1.2rem !important;
  border: 1px solid var(--fr-navy) !important;
  border-radius: 8px !important;
  background: var(--fr-navy) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

.fr-header-search-panel button[type=submit]:hover,
.fr-header-search-panel input[type=submit]:hover,
.fr-header-search-panel .inside-search-button:hover,
.fr-header-search-panel .btn-primary:hover {
  border-color: var(--fr-navy-deep) !important;
  background: var(--fr-navy-deep) !important;
  color: #fff !important;
}

.fr-header-search-label {
  margin-bottom: 0.55rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-header-search-label i {
  margin-right: 0.35rem;
  color: var(--fr-blue);
}

.fr-header-search-help {
  margin-top: 0.45rem;
  color: #718091;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.fr-homepage h1,
.fr-homepage h2,
.fr-homepage h3,
.fr-footer-destinations h2 {
  color: var(--fr-navy);
}

.fr-hero {
  position: relative;
  min-height: 500px;
  background: var(--fr-sand);
}

.fr-hero-image,
.fr-hero-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.fr-hero-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

.fr-hero-overlay {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.83) 32%, rgba(255, 255, 255, 0.25) 58%, rgba(7, 31, 57, 0.05) 100%);
}

.fr-hero-content {
  position: relative;
  z-index: 2;
  min-height: 500px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 3.7rem;
  padding-bottom: 3.7rem;
}

.fr-hero-copy h1 {
  margin: 0 0 0.5rem;
  font-size: clamp(2.7rem, 5vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
  font-weight: 600;
}

.fr-hero-subhead {
  max-width: 640px;
  color: #0a7178;
  font-family: var(--fr-heading-font);
  font-size: clamp(1.55rem, 2.7vw, 2.4rem);
  line-height: 1.2;
}

.fr-hero-copy p {
  max-width: 590px;
  margin: 1.25rem 0 0;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #24384d;
}

/* =========================================================
   HOMEPAGE SEARCH
   ========================================================= */
.fr-home-search {
  margin-top: 2rem;
  max-width: 900px;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 14px;
  box-shadow: 0 18px 55px rgba(7, 31, 57, 0.2);
}

.fr-search-bar {
  display: flex !important;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.fr-search-field {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
}

.fr-search-field .twitter-typeahead {
  display: block !important;
  width: 100% !important;
}

.fr-search-field-icon {
  position: absolute;
  z-index: 5;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fr-blue);
  font-size: 0.9rem;
  pointer-events: none;
}

.fr-search-field input,
.fr-search-field .form-control,
.fr-search-field .tt-input,
.fr-search-field .tt-hint {
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 16px 0 44px !important;
  border: 1px solid #d7e0e8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--fr-ink) !important;
  font-size: 1rem !important;
  box-shadow: none !important;
}

.fr-search-field input:focus,
.fr-search-field .form-control:focus {
  border-color: var(--fr-blue) !important;
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.12) !important;
}

.fr-search-submit {
  flex: 0 0 auto;
  min-width: 105px;
  min-height: 54px;
  padding: 0 20px;
  border: 0;
  border-radius: 9px;
  background: var(--fr-blue);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  transition: background 0.18s ease, transform 0.18s ease;
}

.fr-search-submit:hover {
  background: var(--fr-blue-dark);
}

.fr-search-submit:active {
  transform: scale(0.98);
}

.fr-benefit-strip {
  border-bottom: 1px solid var(--fr-line);
  background: #fff;
}

.fr-benefit-item {
  min-height: 118px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 1.35rem;
}

.fr-benefit-item:last-child {
  border-right: 0;
}

.fr-benefit-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #edf5fb;
  color: var(--fr-blue) !important;
  font-size: 1.35rem;
}

.fr-benefit-item strong,
.fr-benefit-item span {
  display: block;
}

.fr-benefit-item strong {
  color: var(--fr-navy);
  font-size: 0.94rem;
  margin-bottom: 0.25rem;
}

.fr-benefit-item span {
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.fr-signature-section {
  padding: 5.2rem 0;
  background: var(--fr-navy);
  color: #fff;
}

.fr-signature-section h2 {
  color: #fff !important;
  font-size: clamp(2rem, 3.5vw, 3.4rem);
  line-height: 1.15;
  margin: 0.6rem 0 0;
}

.fr-eyebrow {
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fr-eyebrow.light {
  color: #a8dce0;
}

.fr-signature-lead {
  margin: 0;
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
  line-height: 1.75;
  color: #f3f7fa !important;
}

.fr-direct-path {
  margin-top: 2rem;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.fr-direct-path > div {
  flex: 1 1 0;
}

.fr-direct-path > div > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin-bottom: 0.6rem;
  border-radius: 50%;
  background: var(--fr-teal);
  color: #fff;
  font-weight: 700;
  font-size: 0.8rem;
}

.fr-direct-path strong,
.fr-direct-path small {
  display: block;
}

.fr-direct-path strong {
  color: #fff;
  font-size: 0.92rem;
}

.fr-direct-path small {
  margin-top: 0.2rem;
  color: #bfcbd5;
  line-height: 1.45;
}

.fr-direct-path > i {
  color: #7190aa;
}

.fr-since {
  margin-top: 1.7rem;
  color: #a8bac8;
  font-size: 0.875rem;
}

.fr-section {
  padding: 4.7rem 0;
}

.fr-section-soft {
  background: var(--fr-soft);
}

.fr-section-heading {
  margin-bottom: 1.7rem;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
}

.fr-section-heading.centered {
  justify-content: center;
  text-align: center;
}

.fr-section-heading h2,
.fr-newsletter-copy h2 {
  margin: 0.35rem 0 0;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  line-height: 1.15;
  font-weight: 600;
}

.fr-section-intro {
  max-width: 800px;
  margin: -1rem 0 2rem;
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-text-link {
  color: var(--fr-blue);
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
}

.fr-scroll-row {
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.fr-scroll-row::-webkit-scrollbar {
  display: none;
}

.fr-destination-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fr-destination-card {
  position: relative;
  min-height: 285px;
  overflow: hidden;
  border-radius: 13px;
  color: #fff;
  text-decoration: none;
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.1);
}

.fr-destination-card > img,
.fr-card-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.fr-destination-card > img {
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}

.fr-destination-card:hover > img {
  transform: scale(1.035);
}

.fr-card-shade {
  background: linear-gradient(180deg, rgba(5, 24, 43, 0) 32%, rgba(5, 24, 43, 0.88) 100%);
}

.fr-destination-content {
  position: absolute;
  left: 1.25rem;
  right: 3rem;
  bottom: 1.2rem;
  z-index: 2;
}

.fr-destination-content h3 {
  margin: 0 0 0.45rem;
  color: #fff;
  font-size: 1.35rem;
}

.fr-destination-content div {
  font-size: 0.875rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
}

.fr-card-arrow {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  width: 35px;
  height: 35px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--fr-navy);
}

.fr-interest-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}

.fr-interest-link {
  min-height: 128px;
  padding: 1.25rem 0.85rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  text-align: center;
  color: var(--fr-navy);
  text-decoration: none;
  border-right: 1px solid var(--fr-line);
}

.fr-interest-link:last-child {
  border-right: 0;
}

.fr-interest-icon {
  color: var(--fr-teal);
  font-size: 1.6rem;
}

.fr-manager-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fr-manager-card {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 13px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(13, 43, 77, 0.05);
}

.fr-manager-image {
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--fr-soft);
}

.fr-manager-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fr-manager-copy h3 {
  margin: 0;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.92rem;
  font-weight: 700;
}

.fr-manager-copy span,
.fr-manager-copy small {
  display: block;
}

.fr-manager-copy span {
  margin-top: 0.25rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

.fr-manager-copy small {
  margin-top: 0.55rem;
  color: var(--fr-blue);
  font-weight: 700;
}

.fr-book-direct-section {
  padding: 4.4rem 0;
  background: linear-gradient(115deg, var(--fr-navy-deep), #0a5968);
  color: #fff;
}

.fr-book-direct-heading {
  max-width: 680px;
  margin: 0 auto 2.5rem auto;
  text-align: center;
}

.fr-book-direct-heading h2 {
  margin: 0.35rem 0 0.65rem;
  color: #fff;
  font-size: clamp(2rem, 3.5vw, 3rem);
}

.fr-book-direct-heading p {
  margin: 0;
  color: #d7e3ea;
}

.fr-direct-benefit {
  text-align: center;
}

.fr-direct-benefit > i {
  display: block;
  margin-bottom: 0.8rem;
  font-size: 1.65rem;
  color: #84d5da;
}

.fr-direct-benefit strong,
.fr-direct-benefit span {
  display: block;
}

.fr-direct-benefit strong {
  color: #fff;
  font-size: 0.9rem;
}

.fr-direct-benefit span {
  margin-top: 0.4rem;
  color: #c7d6df;
  font-size: 0.875rem;
  line-height: 1.5;
}

.fr-newsletter-section {
  padding: 3.6rem 0;
  background: #fff;
}

.fr-newsletter-card {
  min-height: 190px;
  display: grid;
  grid-template-columns: 260px 1fr auto;
  align-items: center;
  gap: 2.2rem;
  overflow: hidden;
  padding-right: 2rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: linear-gradient(90deg, #f7fafc, #fff);
}

.fr-newsletter-image {
  align-self: stretch;
}

.fr-newsletter-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fr-newsletter-copy p {
  margin: 0.75rem 0 0;
  max-width: 620px;
  color: var(--fr-muted);
  line-height: 1.6;
}

.fr-btn-primary,
.fr-btn-secondary {
  border-radius: 8px;
  font-weight: 700;
  padding: 0.82rem 1.3rem;
}

.fr-btn-primary {
  background: var(--fr-blue);
  color: #fff;
  border: 1px solid var(--fr-blue);
}

.fr-btn-primary:hover {
  background: var(--fr-blue-dark);
  border-color: var(--fr-blue-dark);
  color: #fff;
}

.fr-btn-secondary {
  background: #fff;
  color: var(--fr-blue);
  border: 1px solid var(--fr-blue);
}

/* =========================================================
   FEATURED VACATION RENTALS
   ========================================================= */
.fr-property-wrap {
  display: flex;
}

.fr-property-wrap > * {
  height: 100%;
}

.fr-property-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background: #fff;
  color: var(--fr-ink);
  border: 1px solid #e3e9ef;
  border-radius: var(--bs-border-radius);
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(13, 43, 77, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-property-card:hover {
  color: var(--fr-ink);
  transform: translateY(-4px);
  border-color: #d4e0ea;
  box-shadow: 0 12px 28px rgba(13, 43, 77, 0.14);
}

/* IMAGE */
.fr-property-image {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #edf1f4 url("https://www.findrentals.com/images/property-placeholder.jpg") center/cover no-repeat;
}

.fr-property-image > img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.fr-property-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to bottom, rgba(7, 31, 57, 0) 55%, rgba(7, 31, 57, 0.18) 100%);
}

/* RATE BADGE */
.fr-property-rate {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 7px 11px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--fr-navy);
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.fr-property-rate span {
  color: #687788;
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-right: 3px;
}

/* CONTENT */
.fr-property-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 15px 16px 14px;
}

.fr-property-location {
  margin-bottom: 5px;
  color: #667586;
  font-size: 0.8125rem;
  font-weight: 500;
}

.fr-property-location i {
  color: var(--fr-blue);
  margin-right: 4px;
}

.fr-property-name {
  color: var(--fr-navy);
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.25;
  margin-bottom: 5px;
}

/* BOTTOM ROW */
.fr-property-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf1f4;
}

.fr-property-bedrooms {
  color: #536171;
  font-size: 0.875rem;
  font-weight: 600;
}

.fr-property-bedrooms i {
  color: var(--fr-blue);
  margin-right: 5px;
}

.fr-property-view {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-property-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 25px;
  background: #edf5fb;
  border-radius: 50%;
  transition: background 0.2s ease, transform 0.2s ease;
}

.fr-property-card:hover .fr-property-arrow {
  color: #fff;
  background: var(--fr-blue);
  transform: translateX(2px);
}

/* MOBILE */
/* =========================================================
   FEATURED VACATION RENTAL MANAGER
   ========================================================= */
.fr-featured-manager-section {
  background: var(--fr-soft);
}

.fr-featured-manager-card {
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  box-shadow: 0 8px 28px rgba(13, 43, 77, 0.09);
}

.fr-featured-manager-media {
  display: block;
  overflow: hidden;
}

.fr-featured-manager-image {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease;
}

.fr-featured-manager-card:hover .fr-featured-manager-image {
  transform: scale(1.01);
}

.fr-featured-manager-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 18px 22px;
}

.fr-featured-manager-label {
  color: var(--fr-navy);
  font-weight: 700;
  font-size: 0.95rem;
}

.fr-featured-manager-text {
  margin-top: 2px;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

.fr-featured-manager-link {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-featured-manager-link:hover {
  color: var(--fr-blue-dark);
}

.fr-circle-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: var(--fr-blue);
  color: #fff;
  transition: background 0.2s ease, transform 0.2s ease;
}

/* =========================================================
   LATEST TRAVEL INSPIRATION
   ========================================================= */
.fr-articles-section {
  background: #fff;
}

.fr-section-subtitle {
  /* max-width: 650px; */
  color: var(--fr-muted);
  font-size: 0.9rem;
}

.fr-article-wrap {
  display: flex;
}

.fr-article-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  background: #fff;
  border: 1px solid var(--fr-line);
  border-radius: var(--bs-border-radius);
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(13, 43, 77, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fr-article-card:hover {
  color: var(--fr-ink);
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(13, 43, 77, 0.13);
}

.fr-article-image {
  position: relative;
  aspect-ratio: 16/9;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.fr-article-type {
  position: absolute;
  left: 14px;
  top: 14px;
  padding: 6px 10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.fr-article-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 17px 18px 16px;
}

.fr-article-location {
  margin-bottom: 6px;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 500;
}

.fr-article-location i {
  margin-right: 4px;
  color: var(--fr-blue);
}

.fr-article-title {
  margin: 0 0 18px;
  color: var(--fr-navy);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
}

.fr-article-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #edf1f4;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-article-card:hover .fr-circle-arrow {
  background: var(--fr-blue-dark);
  transform: translateX(2px);
}

/* =========================================================
   HOMEPAGE — PROPERTY MANAGER CTA
   ========================================================= */
.fr-manager-cta-section {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--fr-line);
  background: linear-gradient(90deg, rgba(244, 249, 253, 0.99) 0%, rgba(244, 249, 253, 0.96) 43%, rgba(244, 249, 253, 0.66) 66%, rgba(244, 249, 253, 0.1) 100%), url("/images/homepage/footer-direct-bookings.jpg") center right/cover no-repeat;
}

.fr-manager-cta-section .fr-section-intro {
  max-width: 700px;
  color: #30455a;
}

.fr-manager-cta-action {
  display: flex;
  justify-content: center;
}

.fr-manager-cta-action .fr-btn-primary {
  min-width: 240px;
}

/* =========================================================
   SITE-WIDE FOOTER INFO STRIP
   ========================================================= */
.fr-footer-info-section {
  padding: 2.3rem 0;
  border-top: 1px solid var(--fr-line);
  border-bottom: 1px solid var(--fr-line);
  background: #fffdfa;
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .fr-footer-info-section .fr-footer-info-item {
    flex: 0 0 100%;
    width: 100%;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
    max-width: 100%;
    padding: 0 0 15px 0;
    margin-bottom: 20px;
  }
}
.fr-footer-info-item {
  height: 100%;
  padding: 0 2rem;
  border-right: 1px solid #dddfe2;
}

.fr-footer-info-item:first-child {
  padding-left: 0;
}

.fr-footer-info-item:last-child {
  padding-right: 0;
  border-right: 0;
}

.fr-footer-info-inner {
  display: flex;
  align-items: flex-start;
  gap: 1.15rem;
}

.fr-footer-info-icon {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  display: grid;
  place-items: center;
  border: 1px solid var(--fr-blue);
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 1.3rem;
}

.fr-footer-info-title {
  margin: 0.3rem 0 0.45rem;
  color: var(--fr-navy);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.fr-footer-info-copy {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-footer-info-section .fr-text-link {
  display: inline-flex;
  margin-top: 0.8rem;
}

.fr-footer-subscribe {
  margin-top: 1rem;
}

.fr-footer-subscribe .form-control {
  min-height: 48px;
  padding: 0.7rem 0.9rem;
  border: 1px solid #d7e0e8;
  border-radius: 8px 0 0 8px;
  background: #fff;
  color: var(--fr-ink);
  box-shadow: none;
}

.fr-footer-subscribe .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.12);
}

.fr-footer-subscribe .fr-btn-primary {
  min-height: 48px;
  border-radius: 0 8px 8px 0;
}

.fr-footer-destinations {
  padding: 2.8rem 0;
  border-top: 1px solid var(--fr-line);
  background: var(--fr-soft);
}

.fr-footer-destinations h2 {
  margin: 0 0 1.5rem;
  font-size: 1.6rem;
}

.fr-footer-location-group {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 1.5rem;
  padding: 1rem 0;
  border-top: 1px solid #e0e5e9;
}

.fr-footer-location-group > strong {
  color: var(--fr-navy);
}

.fr-footer-location-links,
.fr-footer-featured-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 1.2rem;
}

.fr-footer-location-links a,
.fr-footer-featured-grid a {
  color: #526476;
  font-size: 0.84rem;
  text-decoration: none;
}

.fr-site-footer {
  padding: 3.5rem 0 1.4rem;
  background: var(--fr-navy-deep);
  color: #c6d2dc;
}

.fr-footer-brand img {
  width: 230px;
  max-width: 100%;
}

.fr-site-footer p {
  max-width: 300px;
  margin: 1.1rem 0;
  font-size: 0.875rem;
  line-height: 1.7;
}

.fr-site-footer h3 {
  margin: 0 0 0.9rem;
  color: #fff;
  font-family: "Inter", Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.fr-site-footer .col-6 > a,
.fr-site-footer .col-lg-2 > a {
  display: block;
  margin: 0.55rem 0;
  color: #c6d2dc;
  font-size: 0.875rem;
  text-decoration: none;
}

.fr-site-footer a:hover {
  color: #fff;
}

.fr-social-links {
  display: flex;
  gap: 0.7rem;
}

.fr-social-links a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.fr-footer-bottom {
  margin-top: 2.7rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: 0.8125rem;
  color: #94a9ba;
}

/* =========================================================
   LEGACY CSS COMPATIBILITY
   This stylesheet loads after vendor.css / web.css.
   ========================================================= */
.fr-homepage .fr-hero > .container,
.fr-homepage .fr-benefit-strip > .container,
.fr-homepage .fr-signature-section > .container,
.fr-homepage .fr-section > .container,
.fr-homepage .fr-book-direct-section > .container,
.fr-homepage .fr-newsletter-section > .container,
.fr-manager-cta-section > .container,
.fr-footer-destinations > .container,
.fr-footer-info-section > .container,
.fr-site-footer > .container {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.fr-benefit-icon > i {
  color: var(--fr-blue) !important;
}

.fr-signature-section .fr-eyebrow {
  color: #8fc9e8 !important;
}

/* =========================================================
   RESPONSIVE — TABLET / MOBILE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-site-header {
    z-index: 1000;
  }
  .fr-site-header > .container {
    background: #fff !important;
  }
  .fr-header-row {
    min-height: 70px;
    gap: 0.75rem;
  }
  .fr-brand img {
    width: 200px;
    max-height: 52px;
    padding: 5px 0 3px;
  }
  .fr-mobile-actions {
    gap: 2px;
  }
  .fr-header-action {
    width: 42px;
    height: 42px;
  }
  .fr-mobile-menu,
  .fr-header-search-panel {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    z-index: 1001;
  }
  .fr-mobile-menu {
    border-top: 1px solid var(--fr-line);
    box-shadow: 0 18px 38px rgba(7, 31, 57, 0.16);
  }
  .fr-mobile-menu > .container {
    padding-top: 0.45rem;
    padding-bottom: 1rem;
    background: #fff !important;
  }
  .fr-mobile-nav a {
    min-height: 52px;
  }
  .fr-header-search-panel {
    border-top: 1px solid var(--fr-line);
    background: #fff;
    box-shadow: 0 18px 38px rgba(7, 31, 57, 0.16);
  }
  .fr-header-search-panel #searchContainerForm {
    background: #fff !important;
  }
  .fr-header-search-inner {
    padding: 1rem 0 0.9rem;
  }
  .fr-header-search-panel .input-group {
    max-width: none;
    margin: 0;
    padding: 0.3rem;
    gap: 0.35rem;
    border: 1px solid #d9e3eb !important;
    border-radius: 11px !important;
    background: #fff !important;
    box-shadow: 0 4px 14px rgba(13, 43, 77, 0.07) !important;
  }
  .fr-header-search-panel input[type=text],
  .fr-header-search-panel input[type=search],
  .fr-header-search-panel .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    min-height: 46px !important;
    padding: 0 0.75rem !important;
    border: 0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: var(--fr-ink) !important;
    font-size: 0.875rem !important;
    box-shadow: none !important;
  }
  .fr-header-search-panel input::-moz-placeholder, .fr-header-search-panel .form-control::-moz-placeholder {
    color: #718091 !important;
    opacity: 1;
  }
  .fr-header-search-panel input::placeholder,
  .fr-header-search-panel .form-control::placeholder {
    color: #718091 !important;
    opacity: 1;
  }
  .fr-header-search-panel button[type=submit],
  .fr-header-search-panel input[type=submit],
  .fr-header-search-panel .inside-search-button,
  .fr-header-search-panel .btn-primary {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 78px;
    min-height: 46px !important;
    padding: 0.55rem 0.95rem !important;
    border: 1px solid var(--fr-blue) !important;
    border-radius: 8px !important;
    background: var(--fr-blue) !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }
  .fr-header-search-panel button[type=submit]:hover,
  .fr-header-search-panel input[type=submit]:hover,
  .fr-header-search-panel .inside-search-button:hover,
  .fr-header-search-panel .btn-primary:hover {
    border-color: var(--fr-blue-dark) !important;
    background: var(--fr-blue-dark) !important;
  }
  .fr-hero,
  .fr-hero-content {
    min-height: 500px;
  }
  .fr-benefit-item:nth-child(2) {
    border-right: 0;
  }
  .fr-benefit-item:nth-child(-n+2) {
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-destination-grid,
  .fr-manager-grid {
    display: flex;
    overflow-x: auto;
    padding-bottom: 0.4rem;
  }
  .fr-destination-card {
    min-width: 310px;
  }
  .fr-manager-card {
    min-width: 320px;
  }
  .fr-interest-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .fr-interest-link:nth-child(3) {
    border-right: 0;
  }
  .fr-interest-link:nth-child(-n+3) {
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-newsletter-card {
    grid-template-columns: 210px 1fr;
  }
  .fr-newsletter-action {
    grid-column: 2;
    padding-bottom: 1.5rem;
  }
  .fr-manager-cta-section {
    background: linear-gradient(rgba(244, 249, 253, 0.92), rgba(244, 249, 253, 0.92)), url("/images/homepage/footer-direct-bookings.jpg") center/cover no-repeat;
  }
  .fr-footer-info-item {
    padding: 1.8rem 0;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-footer-info-item:first-child {
    padding-top: 0;
  }
  .fr-footer-info-item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
  }
}
@media (max-width: 767.98px) {
  .fr-hero {
    min-height: 420px;
  }
  .fr-hero-image {
    -o-object-position: center;
       object-position: center;
  }
  .fr-hero-overlay {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.76) 45%, rgba(255, 255, 255, 0.2) 73%, rgba(7, 31, 57, 0.1) 100%);
  }
  .fr-hero-content {
    min-height: 420px;
    justify-content: flex-start;
    padding-top: 2.2rem;
    padding-bottom: 1.5rem;
  }
  .fr-hero-copy h1 {
    /* max-width: 330px; */
    font-size: 2.25rem;
  }
  .fr-hero-subhead {
    max-width: 340px;
    font-size: 1.45rem;
  }
  .fr-hero-copy p {
    max-width: 340px;
    font-size: 0.9rem;
    line-height: 1.6;
  }
  .fr-home-search {
    width: 100%;
    max-width: none;
    margin-top: auto !important;
    margin-bottom: 18px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }
  .fr-home-search form {
    margin: 0 !important;
  }
  .fr-home-search .fr-search-bar {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: 6px;
    width: 100%;
    padding: 6px;
    border: 1px solid rgba(13, 43, 77, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: 0 8px 24px rgba(7, 31, 57, 0.16), 0 1px 2px rgba(7, 31, 57, 0.08);
  }
  .fr-home-search .fr-search-field {
    flex: 1 1 auto;
    min-width: 0;
  }
  .fr-home-search .fr-search-field .twitter-typeahead {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .fr-home-search .fr-search-field-icon {
    left: 14px;
    font-size: 0.82rem;
  }
  .fr-home-search .fr-search-field input,
  .fr-home-search .fr-search-field .form-control,
  .fr-home-search .fr-search-field .tt-input,
  .fr-home-search .fr-search-field .tt-hint {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
    height: 48px !important;
    padding: 0 10px 0 37px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: #fff !important;
    color: var(--fr-ink) !important;
    font-size: 0.875rem !important;
    box-shadow: none !important;
  }
  .fr-home-search .fr-search-field input:focus,
  .fr-home-search .fr-search-field .form-control:focus {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0;
  }
  .fr-home-search .fr-search-submit {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 76px;
    min-height: 48px !important;
    height: 48px;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 9px !important;
    background: var(--fr-blue) !important;
    color: #fff !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }
  .fr-home-search .fr-search-submit:hover,
  .fr-home-search .fr-search-submit:focus {
    background: var(--fr-blue-dark) !important;
    color: #fff !important;
  }
  .fr-benefit-item {
    min-height: auto;
    padding: 1rem 0.4rem;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-benefit-item:last-child {
    border-bottom: 0;
  }
  .fr-benefit-icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .fr-signature-section,
  .fr-section {
    padding: 3.4rem 0;
  }
  .fr-signature-section h2 {
    font-size: 2.1rem;
  }
  .fr-signature-lead {
    font-size: 1.05rem;
  }
  .fr-direct-path {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }
  .fr-direct-path > div {
    display: grid;
    grid-template-columns: 34px 1fr;
    -moz-column-gap: 0.7rem;
         column-gap: 0.7rem;
  }
  .fr-direct-path > div > span {
    grid-row: span 2;
    margin: 0;
  }
  .fr-direct-path small {
    margin: 0.1rem 0 0;
  }
  .fr-section-heading {
    align-items: start;
  }
  .fr-destination-card {
    min-width: 82vw;
    min-height: 245px;
  }
  .fr-interest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-interest-link {
    min-height: 108px;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-interest-link:nth-child(odd) {
    border-right: 1px solid var(--fr-line);
  }
  .fr-interest-link:nth-child(even) {
    border-right: 0;
  }
  .fr-interest-link:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .fr-property-content {
    padding: 13px 14px;
  }
  .fr-property-name {
    font-size: 1rem;
  }
  .fr-property-view {
    font-size: 0;
  }
  .fr-property-arrow {
    font-size: 0.75rem;
  }
  .fr-featured-manager-footer {
    display: block;
    padding: 16px;
  }
  .fr-featured-manager-link {
    margin-top: 14px;
    justify-content: space-between;
  }
  .fr-book-direct-section {
    padding: 3.4rem 0;
  }
  .fr-direct-benefit {
    text-align: left;
  }
  .fr-direct-benefit > i {
    margin-bottom: 0.55rem;
  }
  .fr-newsletter-section {
    padding: 2rem 0 3rem;
  }
  .fr-newsletter-card {
    display: block;
    padding: 1.5rem;
  }
  .fr-newsletter-action {
    margin-top: 1.2rem;
    padding: 0;
  }
  .fr-newsletter-action .btn {
    width: 100%;
  }
  .fr-manager-cta-action .fr-btn-primary {
    width: 100%;
    min-width: 0;
  }
  .fr-footer-location-group {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .fr-footer-bottom {
    flex-direction: column;
  }
}
@media (max-width: 575.98px) {
  .fr-footer-info-inner {
    display: block;
    text-align: center;
  }
  .fr-footer-info-icon {
    margin: 0 auto 1rem;
  }
  .fr-footer-subscribe .input-group {
    display: block;
  }
  .fr-footer-subscribe .form-control,
  .fr-footer-subscribe .fr-btn-primary {
    width: 100%;
    border-radius: 8px;
  }
  .fr-footer-subscribe .fr-btn-primary {
    margin-top: 0.6rem;
  }
}
@media (max-width: 374.98px) {
  .fr-brand img {
    width: 142px;
  }
  .fr-header-action {
    width: 39px;
    height: 39px;
  }
  .fr-header-search-panel button[type=submit],
  .fr-header-search-panel input[type=submit],
  .fr-header-search-panel .inside-search-button,
  .fr-header-search-panel .btn-primary {
    min-width: 70px;
    padding-left: 0.75rem !important;
    padding-right: 0.75rem !important;
  }
  .fr-header-search-panel input[type=text],
  .fr-header-search-panel input[type=search],
  .fr-header-search-panel .form-control {
    font-size: 0.875rem !important;
  }
  .fr-home-search .fr-search-field input,
  .fr-home-search .fr-search-field .form-control,
  .fr-home-search .fr-search-field .tt-input,
  .fr-home-search .fr-search-field .tt-hint {
    font-size: 0.875rem !important;
  }
  .fr-home-search .fr-search-submit {
    min-width: 70px;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}
/* =========================================================
   HOMEPAGE SEARCH — DESKTOP LEGACY OVERRIDES
   ========================================================= */
@media (min-width: 768px) {
  .fr-home-search {
    width: 100%;
    max-width: 900px;
    padding: 0.55rem !important;
    background: rgba(255, 255, 255, 0.97) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 55px rgba(7, 31, 57, 0.2) !important;
  }
  .fr-home-search .fr-search-bar {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .fr-home-search .fr-search-field {
    display: flex !important;
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .fr-home-search .fr-search-field .twitter-typeahead {
    display: block !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .fr-home-search .fr-search-field input,
  .fr-home-search .fr-search-field .form-control,
  .fr-home-search .fr-search-field .tt-input,
  .fr-home-search .fr-search-field .tt-hint {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 16px 0 44px !important;
    border: 1px solid #d7e0e8 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: var(--fr-ink) !important;
    font-size: 1rem !important;
    box-shadow: none !important;
  }
  .fr-home-search .fr-search-submit,
  .fr-home-search #searchButton {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 112px !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    height: 54px !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 18px !important;
    border: 1px solid var(--fr-blue) !important;
    border-radius: 9px !important;
    background: var(--fr-blue) !important;
    color: #fff !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    box-shadow: none !important;
  }
  .fr-home-search .fr-search-submit:hover,
  .fr-home-search #searchButton:hover {
    border-color: var(--fr-blue-dark) !important;
    background: var(--fr-blue-dark) !important;
    color: #fff !important;
  }
}
/* =========================================================
   VACATION RENTAL MANAGER CARDS
   ========================================================= */
.fr-manager-logo {
  height: 155px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 2rem;
  background: #fff;
  border-bottom: 1px solid var(--fr-line);
}

.fr-manager-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 105px;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
   VACATION RENTAL MANAGER DIRECTORY
   ========================================================= */
.fr-manager-directory-card {
  overflow: hidden;
  margin-bottom: 2.5rem;
  border: 1px solid #d8e2ea;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(13, 43, 77, 0.07);
}

.fr-manager-directory-card:hover {
  border-color: #d2dee8;
  box-shadow: 0 13px 32px rgba(13, 43, 77, 0.1);
}

/* =========================================================
   MANAGER OVERVIEW
   ========================================================= */
.fr-manager-directory-overview {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 1.65rem;
  padding: 1.65rem;
  background: radial-gradient(circle at 92% 5%, rgba(51, 122, 183, 0.1), transparent 30%), linear-gradient(135deg, #fff 0%, #fbfdff 55%, #f2f7fb 100%);
}

/* =========================================================
   LOGO
   ========================================================= */
.fr-manager-directory-brand {
  min-width: 0;
}

.fr-manager-directory-logo {
  width: 150px;
  height: 125px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 13px;
  background: #fff;
}

.fr-manager-directory-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 92px;
  -o-object-fit: contain;
     object-fit: contain;
}

.fr-manager-directory-logo-placeholder {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.25rem;
}

/* =========================================================
   COMPANY INFO
   ========================================================= */
.fr-manager-directory-info {
  min-width: 0;
}

/*
.fr-manager-directory-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}
*/
.fr-manager-directory-title {
  margin: 0 0 0.5rem;
  font-size: 1.65rem;
  font-weight: 600;
  line-height: 1.2;
}

.fr-manager-directory-title a {
  color: var(--fr-navy);
  text-decoration: none;
}

.fr-manager-directory-title a:hover {
  color: var(--fr-blue);
}

.fr-manager-directory-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 1rem;
}

.fr-manager-directory-meta > span,
.fr-manager-directory-meta > a {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-decoration: none;
}

.fr-manager-directory-meta i {
  color: var(--fr-blue);
}

.fr-manager-directory-meta > a:hover {
  color: var(--fr-blue);
}

.fr-manager-directory-meta strong {
  color: var(--fr-navy);
}

.fr-manager-directory-description {
  max-width: 900px;
  margin: 1rem 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.7;
}

/* =========================================================
   TOOLBAR / ACTIONS
   ========================================================= */
.fr-manager-directory-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  margin-top: 1.1rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--fr-line);
}

.fr-manager-directory-profile-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-manager-directory-profile-link:hover {
  color: var(--fr-blue-dark);
}

.fr-manager-directory-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.55rem;
}

.fr-manager-directory-actions .btn {
  min-height: 42px;
  padding: 0.6rem 1rem;
  font-size: 0.875rem;
  white-space: nowrap;
}

.fr-manager-directory-rentals-button {
  border: 1px solid #d6e1e9;
  background: #f7fafc;
  color: var(--fr-navy);
  border-radius: 8px;
  font-weight: 700;
}

.fr-manager-directory-rentals-button:hover {
  border-color: var(--fr-blue);
  background: #edf5fb;
  color: var(--fr-blue);
}

/* =========================================================
   FEATURED RENTALS AREA
   ========================================================= */
.fr-manager-directory-rentals {
  border-top: 1px solid #dce5ec;
  background: #f5f8fa;
  padding: 15px;
}

.fr-manager-directory-rentals-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1rem;
}

.fr-manager-directory-rentals-heading h3 {
  margin: 0.2rem 0 0;
  color: var(--fr-navy);
  font-size: 1.2rem;
}

.fr-manager-directory-rentals-heading > a {
  flex: 0 0 auto;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-manager-directory-rentals-heading > a:hover {
  color: var(--fr-blue-dark);
}

/* =========================================================
   RENTAL GRID
   ========================================================= */
.fr-manager-directory-rental-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

/* =========================================================
   MINI PROPERTY CARD
   ========================================================= */
.fr-manager-rental-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dfe6ec;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 3px 11px rgba(13, 43, 77, 0.05);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.fr-manager-rental-card:hover {
  transform: translateY(-2px);
  border-color: #ccdbe6;
  box-shadow: 0 8px 18px rgba(13, 43, 77, 0.1);
}

/* Image */
.fr-manager-rental-image {
  position: relative;
  display: block;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: #edf1f4 url("/images/property-placeholder.jpg") center/cover no-repeat;
}

.fr-manager-rental-image > img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.3s ease;
}

.fr-manager-rental-card:hover .fr-manager-rental-image > img {
  transform: scale(1.025);
}

/* Rate */
.fr-manager-rental-rate {
  position: absolute;
  left: 0.65rem;
  bottom: 0.65rem;
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  padding: 0.42rem 0.6rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--fr-navy);
  box-shadow: 0 4px 12px rgba(7, 31, 57, 0.16);
}

.fr-manager-rental-rate small {
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
}

.fr-manager-rental-rate strong {
  font-size: 1rem;
}

.fr-manager-rental-rate strong span {
  font-size: 0.8125rem;
  font-weight: 600;
}

/* Content */
.fr-manager-rental-content {
  padding: 0.8rem 0.85rem 0.85rem;
}

.fr-manager-rental-name {
  display: -webkit-box;
  overflow: hidden;
  min-height: 2.55em;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.fr-manager-rental-name:hover {
  color: var(--fr-blue);
}

.fr-manager-rental-location {
  overflow: hidden;
  margin-top: 0.35rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fr-manager-rental-location i {
  margin-right: 0.25rem;
  color: var(--fr-blue);
}

.fr-manager-rental-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.75rem;
  margin-top: 0.65rem;
  padding-top: 0.65rem;
  border-top: 1px solid var(--fr-line);
  color: var(--fr-ink);
  font-size: 0.8125rem;
}

.fr-manager-rental-specs span + span::before {
  margin-right: 0.75rem;
  color: #a3b1bd;
  content: "•";
}

/* Availability */
.fr-manager-rental-availability {
  margin-top: 0.65rem;
  padding: 0.45rem 0.55rem;
  border-radius: 7px;
  font-size: 0.8125rem;
  line-height: 1.35;
}

.fr-manager-rental-availability.available {
  background: #eaf7f1;
  color: #28745a;
}

.fr-manager-rental-availability.flexible {
  background: #edf5fb;
  color: var(--fr-blue-dark);
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-manager-directory-rental-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-manager-directory-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .fr-manager-directory-actions {
    justify-content: flex-start;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .fr-manager-directory-card {
    border-radius: 14px;
  }
  .fr-manager-directory-overview {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem;
  }
  .fr-manager-directory-logo {
    width: 110px;
    height: 100px;
    padding: 0.65rem;
  }
  .fr-manager-directory-logo img {
    max-height: 74px;
  }
  .fr-manager-directory-title {
    font-size: 1.35rem;
  }
  .fr-manager-directory-description {
    grid-column: 1/-1;
  }
  .fr-manager-directory-toolbar {
    grid-column: 1/-1;
  }
  .fr-manager-directory-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .fr-manager-directory-actions .btn {
    width: 100%;
  }
  .fr-manager-directory-rentals-button {
    grid-column: 1/-1;
  }
  .fr-manager-directory-rentals {
    padding: 1.1rem;
  }
  .fr-manager-directory-rentals-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.45rem;
  }
  .fr-manager-directory-rental-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
  }
  .fr-manager-rental-content {
    padding: 0.7rem;
  }
}
/* =========================================================
   SMALL MOBILE
   ========================================================= */
@media (max-width: 479.98px) {
  .fr-manager-directory-overview {
    grid-template-columns: 1fr;
  }
  .fr-manager-directory-brand {
    display: flex;
    justify-content: center;
  }
  .fr-manager-directory-logo {
    width: 145px;
    height: 100px;
  }
  .fr-manager-directory-info {
    text-align: center;
  }
  .fr-manager-directory-meta {
    justify-content: center;
  }
  .fr-manager-directory-description {
    text-align: left;
  }
  .fr-manager-directory-toolbar {
    align-items: stretch;
  }
  .fr-manager-directory-profile-link {
    justify-content: center;
  }
  .fr-manager-directory-actions {
    grid-template-columns: 1fr;
  }
  .fr-manager-directory-rental-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-manager-rental-name {
    min-height: 0;
    font-size: 0.8125rem;
  }
  .fr-manager-rental-location {
    display: none;
  }
  .fr-manager-rental-rate {
    left: 0.45rem;
    bottom: 0.45rem;
  }
  .fr-manager-rental-rate small {
    display: none;
  }
  .fr-manager-rental-rate strong {
    font-size: 0.9rem;
  }
}
/* =========================================================
   VACATION RENTAL MANAGER DIRECT BOOKING PROMO
   ========================================================= */
.fr-manager-direct-booking-card {
  overflow: hidden;
  border: 1px solid #d8e2ea;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(13, 43, 77, 0.07);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.fr-manager-direct-booking-card:hover {
  border-color: #d2dee8;
  box-shadow: 0 13px 32px rgba(13, 43, 77, 0.1);
}

/* =========================================================
   LAYOUT
   ========================================================= */
.fr-manager-direct-booking-layout {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.65rem;
  padding: 1.5rem;
  background: radial-gradient(circle at 92% 5%, rgba(51, 122, 183, 0.08), transparent 28%), linear-gradient(135deg, #fff 0%, #fbfdff 58%, #f4f8fb 100%);
}

/* =========================================================
   LOGO
   ========================================================= */
.fr-manager-direct-booking-brand {
  min-width: 0;
}

.fr-manager-direct-booking-logo {
  width: 180px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 13px;
  background: #fff;
}

.fr-manager-direct-booking-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 88px;
  -o-object-fit: contain;
     object-fit: contain;
}

.fr-manager-direct-booking-logo-placeholder {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.25rem;
}

/* =========================================================
   MANAGER INFO
   ========================================================= */
.fr-manager-direct-booking-info {
  min-width: 0;
}

.fr-manager-direct-booking-label {
  margin-bottom: 0.35rem;
  color: var(--fr-blue);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.fr-manager-direct-booking-title {
  margin: 0 0 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}

.fr-manager-direct-booking-title a {
  color: var(--fr-navy);
  text-decoration: none;
}

.fr-manager-direct-booking-title a:hover {
  color: var(--fr-blue);
}

.fr-manager-direct-booking-description {
  max-width: 700px;
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

/* =========================================================
   META
   ========================================================= */
.fr-manager-direct-booking-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 1rem;
  margin-top: 0.8rem;
}

.fr-manager-direct-booking-meta > span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-manager-direct-booking-meta i {
  color: var(--fr-blue);
}

.fr-manager-direct-booking-meta strong {
  color: var(--fr-navy);
}

/* =========================================================
   ACTIONS
   ========================================================= */
.fr-manager-direct-booking-actions {
  min-width: 190px;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.fr-manager-direct-booking-actions .btn {
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 0.6rem 1rem;
  font-size: 0.875rem;
  white-space: nowrap;
}

.fr-manager-direct-booking-rentals-button {
  border: 1px solid #d6e1e9;
  border-radius: 8px;
  background: #f7fafc;
  color: var(--fr-navy);
  font-weight: 700;
}

.fr-manager-direct-booking-rentals-button:hover {
  border-color: var(--fr-blue);
  background: #edf5fb;
  color: var(--fr-blue);
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-manager-direct-booking-layout {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .fr-manager-direct-booking-logo {
    width: 150px;
  }
  .fr-manager-direct-booking-actions {
    grid-column: 1/-1;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .fr-manager-direct-booking-card {
    border-radius: 14px;
  }
  .fr-manager-direct-booking-layout {
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.15rem;
  }
  .fr-manager-direct-booking-brand {
    display: flex;
    justify-content: center;
  }
  .fr-manager-direct-booking-logo {
    width: 100%;
    height: 105px;
    padding: 0.75rem 1rem;
  }
  .fr-manager-direct-booking-logo img {
    max-height: 76px;
  }
  .fr-manager-direct-booking-info {
    text-align: center;
  }
  .fr-manager-direct-booking-title {
    font-size: 1.35rem;
  }
  .fr-manager-direct-booking-description {
    margin-left: auto;
    margin-right: auto;
  }
  .fr-manager-direct-booking-meta {
    justify-content: center;
  }
  .fr-manager-direct-booking-actions {
    grid-column: auto;
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .fr-manager-direct-booking-actions .btn {
    width: 100%;
    min-height: 46px;
  }
}
/* =========================================================
   VACATION RENTALS GATEWAY
   /vacation-rentals
   Namespace: fr-vrhub-*
   ========================================================= */
/* =========================================================
   HERO
   ========================================================= */
.fr-vrhub-page .fr-vrhub-hero {
  min-height: 540px;
}

.fr-vrhub-page .fr-vrhub-hero .fr-hero-content {
  min-height: 540px;
}

.fr-vrhub-page .fr-vrhub-hero .fr-hero-copy {
  max-width: 570px;
}

.fr-vrhub-page .fr-vrhub-hero .fr-hero-copy h1 {
  margin-top: 0.35rem;
  font-size: clamp(2.8rem, 4.6vw, 4.5rem);
}

.fr-vrhub-hero-message {
  margin-top: 1rem;
}

.fr-vrhub-hero-message strong,
.fr-vrhub-hero-message span {
  display: block;
}

.fr-vrhub-hero-message strong {
  color: var(--fr-blue);
  font-size: 0.95rem;
  font-weight: 700;
}

.fr-vrhub-hero-message span {
  margin-top: 0.15rem;
  color: var(--fr-navy);
  font-size: 0.88rem;
}

/* =========================================================
   SEARCH SHELL
   ========================================================= */
.fr-vrhub-search {
  position: relative;
  z-index: 30;
  width: 100%;
  margin-top: 2rem;
}

.fr-vrhub-search form {
  margin: 0 !important;
}

.fr-vrhub-search-form {
  display: grid;
  grid-template-columns: minmax(270px, 2fr) minmax(135px, 0.85fr) minmax(135px, 0.85fr) minmax(145px, 0.9fr) auto;
  align-items: stretch;
  width: 100%;
  padding: 7px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 14px 40px rgba(7, 31, 57, 0.18), 0 1px 3px rgba(7, 31, 57, 0.08);
}

/* =========================================================
   SEARCH FIELD
   ========================================================= */
.fr-vrhub-search-field {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 62px;
  padding: 0.35rem 0.85rem;
  border-right: 1px solid var(--fr-line);
  background: transparent;
}

.fr-vrhub-search-icon {
  width: 24px;
  flex: 0 0 24px;
  color: var(--fr-blue) !important;
  font-size: 0.92rem;
  text-align: center;
}

.fr-vrhub-search-icon i {
  color: var(--fr-blue) !important;
}

.fr-vrhub-search-field-inner {
  min-width: 0;
  flex: 1;
  padding-left: 0.45rem;
}

.fr-vrhub-search-field-inner label {
  display: block !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  color: var(--fr-navy) !important;
  /* font-size: .8125rem !important; */
  font-weight: 700 !important;
  line-height: 1.15 !important;
}

/* =========================================================
   SEARCH INPUTS
   Aggressive overrides intentionally scoped to this page.
   ========================================================= */
.fr-vrhub-search .fr-vrhub-search-field input[type=text],
.fr-vrhub-search .fr-vrhub-search-field input[type=search],
.fr-vrhub-search .fr-vrhub-search-field .form-control,
.fr-vrhub-search .fr-vrhub-search-field .tt-input,
.fr-vrhub-search .fr-vrhub-search-field .tt-hint {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--fr-ink) !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
  box-shadow: none !important;
  outline: none !important;
}

.fr-vrhub-search .fr-vrhub-search-field input:focus,
.fr-vrhub-search .fr-vrhub-search-field .form-control:focus,
.fr-vrhub-search .fr-vrhub-search-field .tt-input:focus {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.fr-vrhub-search .fr-vrhub-search-field input::-moz-placeholder, .fr-vrhub-search .fr-vrhub-search-field .form-control::-moz-placeholder {
  color: #7b8794 !important;
  opacity: 1 !important;
}

.fr-vrhub-search .fr-vrhub-search-field input::placeholder,
.fr-vrhub-search .fr-vrhub-search-field .form-control::placeholder {
  color: #7b8794 !important;
  opacity: 1 !important;
}

/* =========================================================
   BLOODHOUND / TYPEAHEAD
   ========================================================= */
.fr-vrhub-search .twitter-typeahead {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.fr-vrhub-search .tt-menu {
  position: absolute !important;
  z-index: 1500 !important;
  width: 390px !important;
  max-width: calc(100vw - 40px) !important;
  margin-top: 18px !important;
  padding: 0.35rem 0 !important;
  overflow: hidden;
  border: 1px solid var(--fr-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 14px 34px rgba(7, 31, 57, 0.16) !important;
}

.fr-vrhub-search .tt-suggestion {
  padding: 0.65rem 0.9rem !important;
  color: var(--fr-ink) !important;
  font-size: 0.875rem !important;
}

.fr-vrhub-search .tt-suggestion:hover,
.fr-vrhub-search .tt-suggestion.tt-cursor {
  background: #edf5fb !important;
}

/* =========================================================
   SEARCH BUTTON
   ========================================================= */
.fr-vrhub-search-action {
  display: flex;
  align-items: stretch;
  padding-left: 7px;
}

.fr-vrhub-search .fr-vrhub-search-action button,
.fr-vrhub-search .fr-vrhub-search-action .btn,
.fr-vrhub-search .fr-vrhub-search-action .fr-btn-primary {
  width: auto !important;
  min-width: 155px !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 0.75rem 1.25rem !important;
  border: 1px solid var(--fr-blue) !important;
  border-radius: 9px !important;
  background: var(--fr-blue) !important;
  color: #fff !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.fr-vrhub-search .fr-vrhub-search-action button:hover,
.fr-vrhub-search .fr-vrhub-search-action .btn:hover {
  border-color: var(--fr-blue-dark) !important;
  background: var(--fr-blue-dark) !important;
  color: #fff !important;
}

/* =========================================================
   GUEST DROPDOWN
   ========================================================= */
.fr-vrhub-search-guests {
  position: relative;
}

.fr-vrhub-guests-dropdown {
  width: 285px !important;
  margin-top: 12px !important;
  padding: 1rem !important;
  border: 1px solid var(--fr-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 15px 35px rgba(7, 31, 57, 0.16) !important;
}

.fr-vrhub-guests-heading {
  margin-bottom: 0.6rem;
  color: var(--fr-navy);
  font-size: 0.9rem;
  font-weight: 700;
}

.fr-vrhub-guests-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid var(--fr-line);
}

.fr-vrhub-guests-row strong,
.fr-vrhub-guests-row small {
  display: block;
}

.fr-vrhub-guests-row strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-vrhub-guests-row small {
  margin-top: 0.1rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-vrhub-guests-controls {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.fr-vrhub-search .fr-vrhub-guests-controls input {
  width: 32px !important;
  min-height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--fr-navy) !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.fr-vrhub-guest-button {
  width: 30px !important;
  height: 30px !important;
  min-width: 30px !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #cbd7e1 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--fr-blue) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
}

.fr-vrhub-guest-button:hover {
  border-color: var(--fr-blue) !important;
  background: #edf5fb !important;
}

/* =========================================================
   DESTINATION GATEWAY
   Reuses .fr-destination-card
   ========================================================= */
.fr-vrhub-destination-card {
  min-height: 245px;
}

.fr-vrhub-destination-card .fr-destination-content {
  left: 1rem;
  right: 2.7rem;
  bottom: 1rem;
}

.fr-vrhub-destination-card .fr-destination-content h3 {
  font-size: 1.12rem;
}

/* =========================================================
   TRUST SECTION
   Reuses .fr-benefit-item / .fr-benefit-icon
   ========================================================= */
.fr-vrhub-trust-grid {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
}

.fr-vrhub-trust-grid .fr-benefit-item {
  min-height: 140px;
  border-right: 1px solid var(--fr-line);
}

.fr-vrhub-trust-grid .fr-benefit-item:last-child {
  border-right: 0;
}

/* =========================================================
   BOOK DIRECT CTA
   ========================================================= */
.fr-vrhub-book-direct-cta {
  border-top: 1px solid var(--fr-line);
  background: linear-gradient(115deg, #edf6fc 0%, #f7fbfd 52%, #fff 100%);
}

.fr-vrhub-book-direct-cta h2 {
  margin: 0.35rem 0 0.65rem;
  font-size: clamp(1.8rem, 3vw, 2.55rem);
}

.fr-vrhub-book-direct-cta p {
  max-width: 760px;
  margin: 0;
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-vrhub-cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.75rem;
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-vrhub-search-form {
    grid-template-columns: minmax(220px, 1.5fr) minmax(125px, 0.8fr) minmax(125px, 0.8fr);
  }
  .fr-vrhub-search-guests {
    border-top: 1px solid var(--fr-line);
  }
  .fr-vrhub-search-action {
    grid-column: span 2;
    padding-top: 7px;
  }
  .fr-vrhub-search .fr-vrhub-search-action button,
  .fr-vrhub-search .fr-vrhub-search-action .btn {
    width: 100% !important;
  }
  .fr-vrhub-trust-grid .fr-benefit-item:nth-child(2) {
    border-right: 0;
  }
  .fr-vrhub-trust-grid .fr-benefit-item:nth-child(-n+2) {
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-vrhub-cta-actions {
    justify-content: flex-start;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .fr-vrhub-page .fr-vrhub-hero {
    min-height: auto;
  }
  .fr-vrhub-page .fr-vrhub-hero .fr-hero-content {
    min-height: 610px;
    padding-top: 2.1rem;
    padding-bottom: 1.25rem;
  }
  .fr-vrhub-page .fr-vrhub-hero .fr-hero-copy h1 {
    max-width: 330px;
    font-size: 2.45rem;
  }
  .fr-vrhub-page .fr-vrhub-hero .fr-hero-copy p {
    margin-top: 0.9rem;
  }
  .fr-vrhub-hero-message {
    margin-top: 0.75rem;
  }
  /* SEARCH */
  .fr-vrhub-search {
    width: 100%;
    margin-top: auto;
    margin-bottom: 10px;
  }
  .fr-vrhub-search-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 6px;
    overflow: visible;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 24px rgba(7, 31, 57, 0.16), 0 1px 2px rgba(7, 31, 57, 0.08);
  }
  .fr-vrhub-search-destination {
    grid-column: 1/-1;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-vrhub-search-field {
    min-height: 57px;
    padding: 0.35rem 0.6rem;
  }
  .fr-vrhub-search-field:nth-of-type(3) {
    border-right: 0;
  }
  .fr-vrhub-search-guests {
    grid-column: 1/-1;
    border-top: 1px solid var(--fr-line);
    border-right: 0;
  }
  .fr-vrhub-search-action {
    grid-column: 1/-1;
    padding: 5px 0 0;
  }
  .fr-vrhub-search .fr-vrhub-search-action button,
  .fr-vrhub-search .fr-vrhub-search-action .btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 48px !important;
  }
  .fr-vrhub-search-field-inner label {
    /* font-size: .8125rem !important; */
  }
  .fr-vrhub-search .fr-vrhub-search-field input[type=text],
  .fr-vrhub-search .fr-vrhub-search-field .form-control,
  .fr-vrhub-search .fr-vrhub-search-field .tt-input,
  .fr-vrhub-search .fr-vrhub-search-field .tt-hint {
    font-size: 0.875rem !important;
  }
  .fr-vrhub-search .tt-menu {
    width: 100% !important;
    max-width: none !important;
  }
  .fr-vrhub-guests-dropdown {
    width: 100% !important;
    min-width: 265px;
  }
  /* DESTINATIONS */
  .fr-vrhub-destination-card {
    min-height: 235px;
  }
  /* TRUST */
  .fr-vrhub-trust-grid .fr-benefit-item {
    min-height: auto;
    border-right: 0;
  }
  .fr-vrhub-trust-grid .fr-benefit-item:nth-child(-n+3) {
    border-bottom: 1px solid var(--fr-line);
  }
  /* CTA */
  .fr-vrhub-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .fr-vrhub-cta-actions .btn {
    width: 100%;
  }
}
.fr-vrhub-destination-eyebrow {
  margin-bottom: 0.25rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* =========================================================
   CONTACT PAGE
   ========================================================= */
.fr-contact-page {
  background: #fff;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-contact-hero {
  position: relative;
  overflow: hidden;
  padding: 4.5rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 20%, rgba(51, 122, 183, 0.13), transparent 28%), linear-gradient(120deg, #f5f9fc 0%, #fff 58%, #edf5fb 100%);
}

.fr-contact-hero h1 {
  max-width: 760px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.7rem, 5vw, 4.4rem);
  line-height: 1.05;
}

.fr-contact-hero-intro {
  max-width: 760px;
  margin: 0;
  color: var(--fr-muted);
  font-size: 1.05rem;
  line-height: 1.75;
}

.fr-contact-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

.fr-contact-quick-card {
  display: flex;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(51, 122, 183, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 30px rgba(13, 43, 77, 0.08);
  backdrop-filter: blur(8px);
}

.fr-contact-quick-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.25rem;
}

.fr-contact-quick-card h2 {
  margin: 0.25rem 0 0.5rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
}

.fr-contact-quick-card p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* =========================================================
   PURPOSE CARDS
   ========================================================= */
.fr-contact-purpose-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(13, 43, 77, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-contact-purpose-card:hover {
  transform: translateY(-3px);
  border-color: rgba(51, 122, 183, 0.28);
  box-shadow: 0 10px 26px rgba(13, 43, 77, 0.1);
}

.fr-contact-purpose-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-contact-purpose-card h3 {
  margin: 0 0 0.65rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.2rem;
  line-height: 1.3;
}

.fr-contact-purpose-card p {
  flex: 1;
  margin: 0 0 1rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-contact-purpose-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
}

/* =========================================================
   FORM
   ========================================================= */
.fr-contact-form-card {
  padding: 2rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.07);
}

.fr-contact-form-card h2 {
  margin: 0.35rem 0 0.65rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 2rem;
}

.fr-contact-form-intro {
  max-width: 720px;
  margin-bottom: 1.5rem;
  color: var(--fr-muted);
  line-height: 1.65;
}

.fr-contact-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
}

.fr-contact-form .form-control {
  min-height: 48px;
  padding: 0.7rem 0.8rem;
  border: 1px solid #d6e0e8;
  border-radius: 9px;
  background: #fff;
  color: var(--fr-ink);
  box-shadow: none;
}

.fr-contact-form textarea.form-control {
  min-height: 150px;
  resize: vertical;
}

.fr-contact-form .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-contact-submit {
  min-width: 170px;
}

/* =========================================================
   CONTACT DETAILS
   ========================================================= */
.fr-contact-details-card {
  padding: 1.75rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.07);
}

.fr-contact-details-card h2 {
  margin: 0.35rem 0 1.25rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
}

.fr-contact-detail {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.fr-contact-detail-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-contact-detail small,
.fr-contact-detail strong,
.fr-contact-detail a {
  display: block;
}

.fr-contact-detail small {
  margin-bottom: 0.1rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fr-contact-detail strong,
.fr-contact-detail a {
  color: var(--fr-navy);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-contact-detail a:hover {
  color: var(--fr-blue);
}

.fr-contact-office-divider {
  margin: 1.25rem 0;
  border-top: 1px solid var(--fr-line);
}

.fr-contact-offices-title {
  margin-bottom: 0.7rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-contact-office {
  margin-bottom: 0.5rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

.fr-contact-office i {
  width: 20px;
  color: var(--fr-blue);
}

.fr-contact-details-help strong,
.fr-contact-details-help span {
  display: block;
}

.fr-contact-details-help strong {
  margin-bottom: 0.3rem;
  color: var(--fr-navy);
}

.fr-contact-details-help span {
  margin-bottom: 0.75rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

/* =========================================================
   SOCIAL
   ========================================================= */
.fr-contact-social-card {
  min-height: 92px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid var(--fr-line);
  border-radius: 13px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 3px 14px rgba(13, 43, 77, 0.05);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-contact-social-card:hover {
  transform: translateY(-2px);
  border-color: rgba(51, 122, 183, 0.3);
  color: var(--fr-ink);
  box-shadow: 0 8px 22px rgba(13, 43, 77, 0.09);
}

.fr-contact-social-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.1rem;
}

.fr-contact-social-x {
  font-size: 1rem;
  font-weight: 800;
}

.fr-contact-social-card strong,
.fr-contact-social-card small {
  display: block;
}

.fr-contact-social-card strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-contact-social-card small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-contact-social-card > i {
  color: var(--fr-blue);
}

/* =========================================================
   BOTTOM LINKS
   ========================================================= */
.fr-contact-bottom {
  padding: 1.25rem 0;
  border-top: 1px solid var(--fr-line);
  background: var(--fr-navy);
}

.fr-contact-bottom-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fr-contact-bottom-grid > a {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 1.25rem;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  text-decoration: none;
}

.fr-contact-bottom-grid > a:last-child {
  border-right: 0;
}

.fr-contact-bottom-grid > a:hover {
  background: rgba(255, 255, 255, 0.05);
}

.fr-contact-bottom-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.fr-contact-bottom-grid small,
.fr-contact-bottom-grid strong {
  display: block;
}

.fr-contact-bottom-grid small {
  margin-bottom: 0.1rem;
  color: rgba(255, 255, 255, 0.65);
  font-size: 0.8125rem;
}

.fr-contact-bottom-grid strong {
  color: #fff;
  font-size: 0.875rem;
}

.fr-contact-bottom-grid > a > i {
  color: rgba(255, 255, 255, 0.8);
}

/* =========================================================
   TABLET / MOBILE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-contact-hero {
    padding: 3.5rem 0;
  }
  .fr-contact-hero .col-lg-4 {
    max-width: 620px;
  }
  .fr-contact-bottom-grid {
    grid-template-columns: 1fr;
  }
  .fr-contact-bottom-grid > a {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }
  .fr-contact-bottom-grid > a:last-child {
    border-bottom: 0;
  }
}
@media (max-width: 767.98px) {
  .fr-contact-hero {
    padding: 2.75rem 0;
  }
  .fr-contact-hero h1 {
    font-size: 2.5rem;
  }
  .fr-contact-hero-intro {
    font-size: 0.92rem;
  }
  .fr-contact-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-contact-hero-actions .btn {
    width: 100%;
  }
  .fr-contact-quick-card {
    padding: 1.15rem;
  }
  .fr-contact-form-card,
  .fr-contact-details-card {
    padding: 1.25rem;
    border-radius: 13px;
  }
  .fr-contact-submit {
    width: 100%;
  }
  .fr-contact-social-card {
    min-height: 82px;
  }
}
/* =========================================================
   INCREASE DIRECT BOOKINGS
   Integrated Find Rentals design system
   ========================================================= */
#fr-growth-page {
  --fr-growth-green: #198754;
  --fr-growth-red: #c94f5a;
  --fr-growth-shadow: 0 8px 28px rgba(13,43,77,.08);
  background: #fff;
  color: var(--fr-ink);
}

#fr-growth-page,
#fr-growth-page * {
  box-sizing: border-box;
}

#fr-growth-page img {
  display: block;
  max-width: 100%;
}

#fr-growth-page section {
  scroll-margin-top: 90px;
}

#fr-growth-page a {
  color: var(--fr-blue);
}

#fr-growth-page h1,
#fr-growth-page h2,
#fr-growth-page h3 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

#fr-growth-page .fr-growth-section {
  padding: 10px 0 0;
}

#fr-growth-page .fr-growth-section-sm {
  padding: 22.5px 0 0;
}

#fr-growth-page .fr-growth-bg-light {
  background: var(--fr-soft);
}

#fr-growth-page .fr-growth-container-wide {
  max-width: 1320px;
}

#fr-growth-page .fr-growth-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 10px;
  color: var(--fr-blue);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.25;
  text-transform: uppercase;
}

#fr-growth-page .fr-growth-title {
  margin: 0 0 14px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  font-weight: 600;
  letter-spacing: -0.025em;
  line-height: 1.15;
}

#fr-growth-page .fr-growth-accent {
  color: var(--fr-blue);
}

#fr-growth-page .fr-growth-copy {
  max-width: 780px;
  margin-bottom: 0;
  color: var(--fr-muted);
  font-size: 0.98rem;
  line-height: 1.7;
}

/* BUTTONS */
#fr-growth-page .fr-growth-btn-primary,
#fr-growth-page .fr-growth-btn-secondary,
#fr-growth-page .fr-growth-btn-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0.82rem 1.3rem;
  border: 1px solid transparent;
  border-radius: 8px;
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

#fr-growth-page .fr-growth-btn-primary {
  border-color: var(--fr-blue);
  background: var(--fr-blue);
  color: #fff;
}

#fr-growth-page .fr-growth-btn-primary:hover,
#fr-growth-page .fr-growth-btn-primary:focus {
  border-color: var(--fr-blue-dark);
  background: var(--fr-blue-dark);
  color: #fff;
}

#fr-growth-page .fr-growth-btn-secondary,
#fr-growth-page .fr-growth-btn-soft {
  border-color: var(--fr-blue);
  background: #fff;
  color: var(--fr-blue);
}

#fr-growth-page .fr-growth-btn-secondary:hover,
#fr-growth-page .fr-growth-btn-secondary:focus,
#fr-growth-page .fr-growth-btn-soft:hover,
#fr-growth-page .fr-growth-btn-soft:focus {
  border-color: var(--fr-blue-dark);
  background: #edf5fb;
  color: var(--fr-blue-dark);
}

/* =========================================================
   HERO
   ========================================================= */
#fr-growth-page .fr-growth-hero {
  position: relative;
  padding: 0;
  background: #fff;
}

#fr-growth-page .fr-growth-hero-shell {
  overflow: hidden;
  border: 1px solid rgba(51, 122, 183, 0.32);
  border-radius: 16px;
  background: var(--fr-navy-deep);
  box-shadow: 0 18px 48px rgba(7, 31, 57, 0.2);
}

#fr-growth-page .fr-growth-hero-content {
  display: flex;
  min-height: 570px;
  flex-direction: column;
  justify-content: center;
  padding: 58px 48px 54px;
  background: radial-gradient(circle at 12% 12%, rgba(51, 122, 183, 0.22), transparent 30%), linear-gradient(145deg, var(--fr-navy-deep) 0%, var(--fr-navy) 58%, #0b4168 100%);
}

#fr-growth-page .fr-growth-hero .fr-growth-eyebrow {
  margin-bottom: 18px;
  color: #9dcbea;
}

#fr-growth-page .fr-growth-hero h1 {
  max-width: 620px;
  margin: 0 0 22px;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2.7rem, 4.55vw, 4.45rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.03;
}

#fr-growth-page .fr-growth-hero-lead {
  max-width: 605px;
  margin-bottom: 27px;
  color: #d3e0e8;
  font-size: 1.02rem;
  font-weight: 400;
  line-height: 1.72;
}

#fr-growth-page .fr-growth-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-bottom: 23px;
}

#fr-growth-page .fr-growth-hero .fr-growth-btn-secondary {
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

#fr-growth-page .fr-growth-hero .fr-growth-btn-secondary:hover,
#fr-growth-page .fr-growth-hero .fr-growth-btn-secondary:focus {
  border-color: #fff;
  background: #fff;
  color: var(--fr-navy);
}

#fr-growth-page .fr-growth-hero-note {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 19px;
  margin: 0;
  padding: 0;
  color: #b9cad6;
  font-size: 0.875rem;
  font-weight: 600;
  list-style: none;
}

#fr-growth-page .fr-growth-hero-note i {
  margin-right: 5px;
  color: #7bd0b2;
}

#fr-growth-page .fr-growth-hero-photo,
#fr-growth-page .fr-growth-hero-visual {
  position: relative;
  min-height: 570px;
  height: 100%;
  overflow: hidden;
}

#fr-growth-page .fr-growth-hero-photo {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#fr-growth-page .fr-growth-hero-photo::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(7, 31, 57, 0.36), rgba(7, 31, 57, 0.04) 60%);
  content: "";
}

#fr-growth-page .fr-growth-hero-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 54px;
  background: radial-gradient(circle at 82% 18%, rgba(51, 122, 183, 0.26), transparent 28%), radial-gradient(circle at 14% 82%, rgba(10, 143, 149, 0.14), transparent 26%), linear-gradient(145deg, #0a2c4d 0%, #0d3c67 55%, #10527a 100%);
}

#fr-growth-page .fr-growth-hero-visual::before,
#fr-growth-page .fr-growth-hero-visual::after {
  position: absolute;
  border: 1px solid rgba(157, 203, 234, 0.18);
  border-radius: 50%;
  content: "";
}

#fr-growth-page .fr-growth-hero-visual::before {
  width: 360px;
  height: 360px;
  top: -120px;
  right: -100px;
}

#fr-growth-page .fr-growth-hero-visual::after {
  width: 250px;
  height: 250px;
  bottom: -105px;
  left: -70px;
}

#fr-growth-page .fr-growth-visual-dashboard {
  position: relative;
  z-index: 2;
  width: min(100%, 520px);
  padding: 18px;
  border: 1px solid rgba(157, 203, 234, 0.28);
  border-radius: 14px;
  background: rgba(7, 31, 57, 0.78);
  box-shadow: 0 24px 55px rgba(1, 17, 36, 0.34);
  backdrop-filter: blur(8px);
}

#fr-growth-page .fr-growth-visual-browser-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 13px;
  border-bottom: 1px solid rgba(157, 203, 234, 0.18);
}

#fr-growth-page .fr-growth-visual-browser-bar span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #6f99b8;
}

#fr-growth-page .fr-growth-visual-browser-bar strong {
  margin-left: 8px;
  color: #dceaf2;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
}

#fr-growth-page .fr-growth-visual-body {
  padding: 22px 5px 5px;
}

#fr-growth-page .fr-growth-visual-kicker {
  margin-bottom: 5px;
  color: #9dcbea;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

#fr-growth-page .fr-growth-visual-heading {
  margin-bottom: 18px;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
  font-weight: 600;
  line-height: 1.15;
}

#fr-growth-page .fr-growth-visual-chart {
  display: flex;
  height: 150px;
  align-items: flex-end;
  gap: 12px;
  padding: 16px 16px 8px;
  border: 1px solid rgba(157, 203, 234, 0.18);
  border-radius: 11px;
  background: rgba(3, 20, 37, 0.44);
}

#fr-growth-page .fr-growth-visual-chart span {
  flex: 1;
  min-width: 22px;
  border-radius: 6px 6px 2px 2px;
  background: linear-gradient(180deg, #5aa5dc 0%, var(--fr-blue) 65%, var(--fr-teal) 100%);
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(1) {
  height: 28%;
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(2) {
  height: 44%;
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(3) {
  height: 39%;
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(4) {
  height: 62%;
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(5) {
  height: 74%;
}

#fr-growth-page .fr-growth-visual-chart span:nth-child(6) {
  height: 92%;
}

#fr-growth-page .fr-growth-visual-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-top: 12px;
}

#fr-growth-page .fr-growth-visual-metric {
  padding: 11px 9px;
  border: 1px solid rgba(157, 203, 234, 0.2);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.06);
  text-align: center;
}

#fr-growth-page .fr-growth-visual-metric i {
  display: block;
  margin-bottom: 5px;
  color: #9dcbea;
  font-size: 1rem;
}

#fr-growth-page .fr-growth-visual-metric strong {
  display: block;
  color: #fff;
  font-size: 0.8125rem;
}

#fr-growth-page .fr-growth-visual-metric span {
  display: block;
  margin-top: 2px;
  color: #a9becd;
  font-size: 0.8125rem;
}

#fr-growth-page .fr-growth-floating-card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 10px;
  max-width: 215px;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, 0.78);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 12px 28px rgba(7, 31, 57, 0.18);
}

#fr-growth-page .fr-growth-floating-card i {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

#fr-growth-page .fr-growth-floating-card strong {
  display: block;
  color: var(--fr-navy);
  font-size: 0.8125rem;
}

#fr-growth-page .fr-growth-floating-card span {
  display: block;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.35;
}

#fr-growth-page .fr-growth-floating-card-top {
  top: 15px;
  right: 25px;
}

#fr-growth-page .fr-growth-floating-card-bottom {
  bottom: 15px;
  left: 22px;
}

/* =========================================================
   PROOF
   ========================================================= */
#fr-growth-page .fr-growth-proof-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--fr-growth-shadow);
}

#fr-growth-page .fr-growth-proof-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 100px;
  padding: 18px;
  border-right: 1px solid var(--fr-line);
}

#fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:last-child {
  border-right: 0;
}

#fr-growth-page .fr-growth-proof-item i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.1rem;
}

#fr-growth-page .fr-growth-proof-item strong {
  display: block;
  color: var(--fr-navy);
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

#fr-growth-page .fr-growth-proof-item span {
  display: block;
  margin-top: 4px;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.2;
}

/* =========================================================
   OUTCOME CARDS
   ========================================================= */
#fr-growth-page .fr-growth-outcome-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

#fr-growth-page .fr-growth-outcome-card {
  min-height: 190px;
  padding: 22px 16px;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(13, 43, 77, 0.06);
  text-align: center;
}

#fr-growth-page .fr-growth-outcome-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 13px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.3rem;
}

#fr-growth-page .fr-growth-outcome-card:nth-child(even) .fr-growth-outcome-icon {
  background: #e8f6f5;
  color: var(--fr-teal);
}

#fr-growth-page .fr-growth-outcome-card h3 {
  margin: 0 0 8px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.25;
}

#fr-growth-page .fr-growth-outcome-card p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

/* =========================================================
   AUTHORITY
   ========================================================= */
#fr-growth-page .fr-growth-authority-shell {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--fr-growth-shadow);
}

#fr-growth-page .fr-growth-authority-card {
  height: 100%;
  padding: 30px;
  border-right: 1px solid var(--fr-line);
  text-align: center;
}

#fr-growth-page .fr-growth-authority-col:last-child .fr-growth-authority-card {
  border-right: 0;
}

#fr-growth-page .fr-growth-authority-visual {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  margin: 0 auto 17px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 2rem;
}

#fr-growth-page .fr-growth-authority-col:nth-child(2n) .fr-growth-authority-visual {
  background: #e8f6f5;
  color: var(--fr-teal);
}

#fr-growth-page .fr-growth-authority-card h3 {
  margin: 0 0 9px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-authority-card p {
  max-width: 340px;
  margin: 0 auto;
  color: var(--fr-muted);
  font-size: 0.88rem;
  line-height: 1.6;
}

/* =========================================================
   TESTIMONIALS
   ========================================================= */
#fr-growth-page .fr-growth-testimonial {
  height: 100%;
  padding: 24px;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(13, 43, 77, 0.06);
}

#fr-growth-page .fr-growth-testimonial blockquote {
  margin: 0 0 17px;
  color: var(--fr-ink);
  font-size: 0.88rem;
  line-height: 1.6;
}

#fr-growth-page .fr-growth-testimonial strong {
  display: block;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

#fr-growth-page .fr-growth-testimonial span {
  color: var(--fr-muted);
  font-size: 0.875rem;
}

#fr-growth-page .fr-growth-testimonial a {
  display: inline-block;
  margin-top: 0.45rem;
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

#fr-growth-page .fr-growth-quote-icon {
  margin-bottom: 12px;
  color: var(--fr-blue);
  font-size: 1.3rem;
}

/* =========================================================
   PLAYBOOK VIDEO
   ========================================================= */
#fr-growth-page .fr-growth-playbook-video {
  display: grid;
  grid-template-columns: minmax(280px, 0.78fr) minmax(420px, 1.22fr);
  gap: 26px;
  align-items: center;
  padding: 26px;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: linear-gradient(135deg, #edf5fb 0%, #fff 72%);
  box-shadow: var(--fr-growth-shadow);
}

#fr-growth-page .fr-growth-video-copy h3 {
  margin: 0 0 10px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.65rem, 3vw, 2.25rem);
  font-weight: 600;
  line-height: 1.15;
}

#fr-growth-page .fr-growth-video-copy p {
  margin-bottom: 16px;
  color: var(--fr-muted);
  line-height: 1.65;
}

#fr-growth-page .fr-growth-video-copy ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#fr-growth-page .fr-growth-video-copy li {
  display: flex;
  gap: 8px;
  margin-bottom: 9px;
  color: var(--fr-ink);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
}

#fr-growth-page .fr-growth-video-copy li i {
  margin-top: 3px;
  color: var(--fr-teal);
}

#fr-growth-page .fr-growth-video-wrap {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 56.25%;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #edf5fb;
  box-shadow: 0 8px 22px rgba(13, 43, 77, 0.1);
}

#fr-growth-page .fr-growth-video-wrap iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* =========================================================
   PLAYBOOK STEPS
   ========================================================= */
#fr-growth-page .fr-growth-playbook {
  position: relative;
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0;
  padding: 30px 4px 24px;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
}

#fr-growth-page .fr-growth-playbook::before {
  position: absolute;
  top: 24px;
  right: 6.5%;
  left: 6.5%;
  border-top: 2px dashed #c9d5df;
  content: "";
}

#fr-growth-page .fr-growth-step {
  position: relative;
  z-index: 2;
  padding: 0 8px;
  text-align: center;
}

#fr-growth-page .fr-growth-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-bottom: 15px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--fr-blue);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 700;
}

#fr-growth-page .fr-growth-step:nth-child(even) .fr-growth-step-number {
  background: var(--fr-teal);
}

#fr-growth-page .fr-growth-step-icon {
  display: block;
  margin-bottom: 9px;
  color: var(--fr-navy);
  font-size: 1.6rem;
}

#fr-growth-page .fr-growth-step h3 {
  min-height: 38px;
  margin: 0 0 7px;
  color: var(--fr-navy);
  font-family: "Inter", Arial, sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
}

#fr-growth-page .fr-growth-step p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   AI + PMS
   ========================================================= */
#fr-growth-page .fr-growth-feature-strip {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 22px;
  align-items: center;
  padding: 20px 22px;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

#fr-growth-page .fr-growth-feature-strip + .fr-growth-feature-strip {
  margin-top: 15px;
}

#fr-growth-page .fr-growth-feature-strip h3 {
  margin: 0 0 5px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.18rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-feature-strip p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

#fr-growth-page .fr-growth-feature-pair .fr-growth-feature-strip {
  min-height: 150px;
  justify-content: space-between;
  gap: 22px;
  border-color: rgba(51, 122, 183, 0.32);
  background: linear-gradient(145deg, var(--fr-navy-deep) 0%, var(--fr-navy) 62%, #0d4169 100%);
  box-shadow: 0 12px 28px rgba(7, 31, 57, 0.15);
}

#fr-growth-page .fr-growth-feature-pair .fr-growth-feature-strip + .fr-growth-feature-strip {
  margin-top: 0;
}

#fr-growth-page .fr-growth-feature-pair h3 {
  color: #fff;
}

#fr-growth-page .fr-growth-feature-pair p {
  color: #b9cad6;
  font-size: 0.88rem;
}

#fr-growth-page .fr-growth-chip-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 9px;
}

#fr-growth-page .fr-growth-feature-pair .fr-growth-chip-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#fr-growth-page .fr-growth-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 9px 11px;
  border: 1px solid rgba(157, 203, 234, 0.42);
  border-radius: 9px;
  background: #edf5fb;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
  text-align: center;
}

#fr-growth-page .fr-growth-pms-logo-panel {
  display: flex;
  min-height: 126px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(157, 203, 234, 0.42);
  border-radius: 10px;
  background: #fff;
}

#fr-growth-page .fr-growth-pms-image {
  display: block;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
   COMPARISON
   ========================================================= */
#fr-growth-page .fr-growth-comparison-shell {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 22px;
  align-items: center;
  padding: 22px;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

#fr-growth-page .fr-growth-comparison-shell h3 {
  margin: 0 0 6px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-comparison-shell p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

#fr-growth-page .fr-growth-comparison {
  overflow-x: auto;
  border: 1px solid var(--fr-line);
  border-radius: 8px;
}

#fr-growth-page .fr-growth-comparison .table {
  margin: 0;
}

#fr-growth-page .fr-growth-comparison th,
#fr-growth-page .fr-growth-comparison td {
  padding: 7px 10px;
  border-color: var(--fr-line);
  color: var(--fr-ink);
  font-size: 0.8125rem;
  vertical-align: middle;
}

#fr-growth-page .fr-growth-comparison thead th {
  background: #edf5fb;
  color: var(--fr-navy);
  font-weight: 700;
}

#fr-growth-page .fr-growth-comparison tbody th {
  color: var(--fr-navy);
  font-weight: 700;
}

#fr-growth-page .fr-growth-yes {
  color: var(--fr-growth-green);
  font-size: 1rem;
}

#fr-growth-page .fr-growth-no {
  color: var(--fr-growth-red);
  font-size: 1rem;
}

#fr-growth-page .fr-growth-limited {
  color: #8a671d;
  font-weight: 700;
}

/* =========================================================
   PRICING
   ========================================================= */
#fr-growth-page .fr-growth-pricing-bar {
  padding: 22px;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: linear-gradient(90deg, #edf5fb 0%, #fff 100%);
  box-shadow: var(--fr-growth-shadow);
}

#fr-growth-page .fr-growth-pricing-label h3 {
  margin: 0 0 5px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.22rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-pricing-label p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

#fr-growth-page .fr-growth-price {
  color: var(--fr-navy);
  font-size: 3.25rem;
  font-weight: 800;
  letter-spacing: -0.06em;
  line-height: 0.9;
  text-align: center;
}

#fr-growth-page .fr-growth-price span {
  display: block;
  margin-top: 9px;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
}

#fr-growth-page .fr-growth-pricing-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#fr-growth-page .fr-growth-pricing-benefits li {
  display: flex;
  gap: 7px;
  color: var(--fr-ink);
  font-size: 0.8125rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-pricing-benefits i {
  margin-top: 2px;
  color: var(--fr-teal);
}

#fr-growth-page .fr-growth-calculator {
  margin-top: 20px;
  padding: 20px 22px;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #fff;
}

#fr-growth-page .fr-growth-calculator h3 {
  margin: 0 0 4px;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.05rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-calculator-copy {
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

#fr-growth-page .fr-growth-calculator-label {
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
}

#fr-growth-page .fr-growth-calculator .form-control {
  border-color: #d6e0e8;
  border-radius: 8px;
  color: var(--fr-ink);
  box-shadow: none;
}

#fr-growth-page .fr-growth-calculator .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

#fr-growth-page .fr-growth-total-box {
  min-height: 48px;
  padding: 8px 14px;
  border: 1px solid #c7d9e6;
  border-radius: 8px;
  background: #edf5fb;
}

#fr-growth-page .fr-growth-total-box span:first-child {
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 600;
}

#fr-growth-page .fr-growth-total-value {
  display: block;
  color: var(--fr-navy);
  font-size: 1.45rem;
  font-weight: 800;
  line-height: 1.1;
}

#fr-growth-page .fr-growth-total-detail {
  color: var(--fr-muted);
}

#fr-growth-page .fr-growth-services {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}

#fr-growth-page .fr-growth-service {
  padding: 6px 10px;
  border: 1px solid #d6e0e8;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 600;
}

/* =========================================================
   FINAL CTA
   ========================================================= */
#fr-growth-page .fr-growth-final {
  padding: 20px 0;
}

#fr-growth-page .fr-growth-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 32px 36px;
  border: 1px solid rgba(51, 122, 183, 0.32);
  border-radius: 14px;
  background: radial-gradient(circle at 88% 30%, rgba(51, 122, 183, 0.23), transparent 27%), linear-gradient(135deg, var(--fr-navy-deep) 0%, var(--fr-navy) 72%, #0d4169 100%);
  box-shadow: 0 16px 38px rgba(7, 31, 57, 0.18);
}

#fr-growth-page .fr-growth-final .fr-growth-eyebrow {
  color: #9dcbea;
}

#fr-growth-page .fr-growth-final h2 {
  max-width: 850px;
  margin: 0 0 9px;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(1.75rem, 3vw, 2.55rem);
  font-weight: 600;
  line-height: 1.15;
}

#fr-growth-page .fr-growth-final p {
  margin: 0;
  color: #b9cad6;
  font-size: 0.92rem;
  font-weight: 500;
}

#fr-growth-page .fr-growth-final-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

#fr-growth-page .fr-growth-final .fr-growth-btn-secondary {
  border-color: rgba(255, 255, 255, 0.65);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

#fr-growth-page .fr-growth-final .fr-growth-btn-secondary:hover,
#fr-growth-page .fr-growth-final .fr-growth-btn-secondary:focus {
  border-color: #fff;
  background: #fff;
  color: var(--fr-navy);
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1199.98px) {
  #fr-growth-page .fr-growth-proof-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(3) {
    border-right: 0;
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(-n+3) {
    border-bottom: 1px solid var(--fr-line);
  }
  #fr-growth-page .fr-growth-playbook {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 28px;
  }
  #fr-growth-page .fr-growth-playbook::before {
    display: none;
  }
}
@media (max-width: 991.98px) {
  #fr-growth-page .fr-growth-hero-content,
  #fr-growth-page .fr-growth-hero-photo,
  #fr-growth-page .fr-growth-hero-visual {
    min-height: auto;
  }
  #fr-growth-page .fr-growth-hero-content {
    padding: 42px;
  }
  #fr-growth-page .fr-growth-hero-visual {
    min-height: 440px;
  }
  #fr-growth-page .fr-growth-section {
    padding: 56px 0;
  }
  #fr-growth-page .fr-growth-outcome-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #fr-growth-page .fr-growth-authority-card {
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  #fr-growth-page .fr-growth-authority-col:last-child .fr-growth-authority-card {
    border-bottom: 0;
  }
  #fr-growth-page .fr-growth-playbook-video,
  #fr-growth-page .fr-growth-feature-strip,
  #fr-growth-page .fr-growth-comparison-shell {
    grid-template-columns: 1fr;
  }
  #fr-growth-page .fr-growth-final-card {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media (max-width: 767.98px) {
  #fr-growth-page .fr-growth-hero {
    padding-top: 12px;
  }
  #fr-growth-page .fr-growth-hero-content {
    padding: 38px 25px 34px;
  }
  #fr-growth-page .fr-growth-hero h1 {
    font-size: 2.65rem;
    line-height: 1.04;
  }
  #fr-growth-page .fr-growth-hero-actions,
  #fr-growth-page .fr-growth-final-actions {
    width: 100%;
    flex-direction: column;
  }
  #fr-growth-page .fr-growth-hero-actions > *,
  #fr-growth-page .fr-growth-final-actions > * {
    width: 100%;
  }
  #fr-growth-page .fr-growth-section {
    padding: 46px 0;
  }
  #fr-growth-page .fr-growth-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item {
    border-right: 1px solid var(--fr-line);
    border-bottom: 1px solid var(--fr-line);
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(3) {
    border-right: 1px solid var(--fr-line);
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(even) {
    border-right: 0;
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:last-child {
    grid-column: 1/-1;
    border-right: 0;
    border-bottom: 0;
  }
  #fr-growth-page .fr-growth-outcome-card {
    min-height: 185px;
  }
  #fr-growth-page .fr-growth-playbook-video {
    padding: 20px;
  }
  #fr-growth-page .fr-growth-playbook {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #fr-growth-page .fr-growth-feature-pair .fr-growth-chip-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  #fr-growth-page .fr-growth-pricing-benefits {
    grid-template-columns: 1fr 1fr;
  }
  #fr-growth-page .fr-growth-price {
    text-align: left;
  }
  #fr-growth-page .fr-growth-comparison th,
  #fr-growth-page .fr-growth-comparison td {
    min-width: 112px;
  }
  #fr-growth-page .fr-growth-final-card {
    padding: 25px;
  }
}
@media (max-width: 479.98px) {
  #fr-growth-page .fr-growth-outcome-grid,
  #fr-growth-page .fr-growth-playbook,
  #fr-growth-page .fr-growth-pricing-benefits,
  #fr-growth-page .fr-growth-proof-grid,
  #fr-growth-page .fr-growth-feature-pair .fr-growth-chip-grid {
    grid-template-columns: 1fr;
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item,
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(3),
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:nth-child(even),
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:last-child {
    grid-column: auto;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  #fr-growth-page .fr-growth-proof-grid .fr-growth-proof-item:last-child {
    border-bottom: 0;
  }
}
/* =========================================================
   RESERVATION & SERVICE CENTER
   ========================================================= */
.fr-res-page {
  background: #fff;
}

.fr-res-page .container {
  background-color: transparent !important;
}

.fr-res-page .fr-section-heading {
  margin-bottom: 2rem;
}

.fr-res-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-res-page .fr-section-heading.centered > div {
  width: 100%;
  text-align: center;
}

.fr-res-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-weight: 600;
}

.fr-res-page .fr-section-heading.centered h2 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.fr-res-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-res-hero {
  position: relative;
  overflow: hidden;
  padding: 4.4rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 85% 20%, rgba(51, 122, 183, 0.12), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 56%, #edf5fb 100%);
}

.fr-res-hero h1 {
  max-width: 760px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.9rem, 5vw, 4.6rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -0.035em;
}

.fr-res-hero-lead {
  max-width: 720px;
  margin: 0;
  color: #34485d;
  font-size: 1.02rem;
  line-height: 1.75;
}

.fr-res-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.55rem;
}

.fr-res-hero-note {
  max-width: 700px;
  display: flex;
  align-items: flex-start;
  gap: 0.6rem;
  margin-top: 1.3rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

.fr-res-hero-note i {
  margin-top: 0.15rem;
  color: var(--fr-blue);
}

.fr-res-hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.75);
  box-shadow: 0 20px 50px rgba(13, 43, 77, 0.13);
}

.fr-res-hero-visual > img {
  width: 100%;
  aspect-ratio: 4/3;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
}

.fr-res-hero-visual-card {
  position: absolute;
  left: -28px;
  bottom: 28px;
  max-width: 300px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.16);
}

.fr-res-hero-visual-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-res-hero-visual-card > div strong,
.fr-res-hero-visual-card > div span {
  display: block;
}

.fr-res-hero-visual-card .fr-res-hero-visual-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-res-hero-visual-card .fr-res-hero-visual-icon i {
  margin: 0;
  font-size: 1.15rem;
  line-height: 1;
}

.fr-res-hero-visual-card strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-res-hero-visual-card span {
  margin-top: 0.12rem;
  color: var(--fr-muted);
  font-size: 0.88rem;
}

/* =========================================================
   BENEFIT STRIP
   ========================================================= */
.fr-res-benefits {
  border-bottom: 1px solid var(--fr-line);
  background: #fff;
}

.fr-res-benefit {
  min-height: 120px;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 1.5rem;
  border-right: 1px solid var(--fr-line);
}

.fr-res-benefit:last-child {
  border-right: 0;
}

.fr-res-benefit-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-res-benefit .fr-res-benefit-icon i {
  margin: 0;
  font-size: 1.35rem !important;
  line-height: 1;
}

.fr-res-benefit strong,
.fr-res-benefit > div > span {
  display: block;
}

.fr-res-benefit strong {
  margin-bottom: 0.2rem;
  color: var(--fr-navy);
  font-size: 0.9rem;
}

.fr-res-benefit span {
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.5;
}

/* =========================================================
   FORM
   ========================================================= */
.fr-res-form-card {
  height: 100%;
  padding: 2rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.07);
}

.fr-res-form label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
}

.fr-res-form .form-control {
  min-height: 49px;
  padding: 0.72rem 0.85rem;
  border: 1px solid #d6e0e8;
  border-radius: 9px;
  background: #fff;
  color: var(--fr-ink);
  box-shadow: none;
}

.fr-res-form textarea.form-control {
  min-height: 165px;
  resize: vertical;
}

.fr-res-form .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-res-submit {
  min-width: 185px;
}

/* =========================================================
   HELP PANEL
   ========================================================= */
.fr-res-help-card {
  padding: 2rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: linear-gradient(145deg, #edf6fc 0%, #f9fcfe 72%, #fff 100%);
}

.fr-res-help-card h3 {
  margin: 0.4rem 0 0.8rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
  line-height: 1.2;
}

.fr-res-help-card > p {
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-res-help-call {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-top: 1.3rem;
}

.fr-res-help-call > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  border-radius: 50%;
  background: var(--fr-blue);
  color: #fff;
}

.fr-res-help-call small,
.fr-res-help-call a {
  display: block;
}

.fr-res-help-call small {
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fr-res-help-call a {
  margin-top: 0.1rem;
  color: var(--fr-navy);
  font-size: 1.05rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-res-help-divider {
  margin: 1.5rem 0;
  border-top: 1px solid var(--fr-line);
}

.fr-res-help-title {
  display: block;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-res-help-small {
  margin: 0.3rem 0 0.7rem !important;
  font-size: 0.875rem !important;
}

/* =========================================================
   BOOK DIRECT SECTION
   ========================================================= */
.fr-res-section-title {
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
  line-height: 1.15;
}

.fr-res-book-image {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 18px;
  box-shadow: 0 12px 32px rgba(13, 43, 77, 0.1);
}

.fr-res-book-image img {
  display: block;
  width: 100%;
  min-height: 330px;
  -o-object-fit: cover;
     object-fit: cover;
}

.fr-res-page .fr-section p {
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-res-book-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1.1rem;
  margin-top: 1.25rem;
}

.fr-res-book-points span {
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-res-book-points i {
  margin-right: 0.35rem;
  color: var(--fr-teal);
}

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.fr-res-testimonial {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0;
  padding: 1.6rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
}

.fr-res-testimonial > i {
  margin-bottom: 0.8rem;
  color: #9cc9e7;
  font-size: 1.2rem;
}

.fr-res-testimonial p {
  margin: 0 0 1rem !important;
  color: var(--fr-ink) !important;
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-res-testimonial-author {
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

/* =========================================================
   FEATURED MANAGERS
   ========================================================= */
.fr-res-feature-banner {
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}

.fr-res-feature-banner img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
  border-radius: 12px;
}

/* =========================================================
   FINAL CTA
   ========================================================= */
.fr-res-final {
  padding: 2.25rem 0 3rem;
  background: #fff;
}

.fr-res-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 2.25rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: linear-gradient(115deg, #edf6fc 0%, #f8fbfd 60%, #fff 100%);
  box-shadow: 0 8px 24px rgba(13, 43, 77, 0.07);
}

.fr-res-final-card h2 {
  margin: 0.35rem 0 0.55rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
}

.fr-res-final-card p {
  max-width: 760px;
  margin: 0;
  color: var(--fr-muted);
  line-height: 1.6;
}

.fr-res-final-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-res-hero {
    padding: 3.4rem 0;
  }
  .fr-res-hero-visual {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-res-final-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-res-final-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-res-hero {
    padding: 2.7rem 0;
  }
  .fr-res-hero h1 {
    font-size: 2.55rem;
  }
  .fr-res-hero-lead {
    font-size: 0.91rem;
  }
  .fr-res-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-res-hero-actions .btn {
    width: 100%;
  }
  .fr-res-hero-visual {
    padding: 8px;
    border-radius: 15px;
  }
  .fr-res-hero-visual > img {
    border-radius: 10px;
  }
  .fr-res-hero-visual-card {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin: -30px 12px 0;
  }
  .fr-res-benefit {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-res-benefit:last-child {
    border-bottom: 0;
  }
  .fr-res-form-card,
  .fr-res-help-card {
    padding: 1.25rem;
    border-radius: 13px;
  }
  .fr-res-submit {
    width: 100%;
  }
  .fr-res-book-image img {
    min-height: 240px;
  }
  .fr-res-final-card {
    padding: 1.4rem;
  }
  .fr-res-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-res-final-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   MEDIA CENTER
   ========================================================= */
.fr-media-page {
  background: #fff;
}

.fr-media-page .container {
  background-color: transparent !important;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-media-hero {
  position: relative;
  overflow: hidden;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 87% 18%, rgba(51, 122, 183, 0.13), transparent 29%), linear-gradient(120deg, #f5f9fc 0%, #fff 58%, #edf5fb 100%);
}

.fr-media-hero h1 {
  max-width: 800px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3rem, 5vw, 4.7rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -0.035em;
}

.fr-media-hero-lead {
  max-width: 790px;
  margin: 0;
  color: #34485d;
  font-size: 1.03rem;
  line-height: 1.75;
}

.fr-media-hero-panel {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid rgba(51, 122, 183, 0.16);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 12px 34px rgba(13, 43, 77, 0.09);
  backdrop-filter: blur(8px);
}

.fr-media-hero-panel-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.2rem;
}

.fr-media-hero-panel h2 {
  margin: 0.25rem 0 0.5rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
  line-height: 1.25;
}

.fr-media-hero-panel p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* =========================================================
   SECTION HEADINGS
   ========================================================= */
.fr-media-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-media-page .fr-section-heading.centered > div {
  width: 100%;
}

.fr-media-page .fr-section-heading h2 {
  font-family: var(--fr-heading-font);
  color: var(--fr-navy);
}

.fr-media-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   FEATURE CARDS
   ========================================================= */
.fr-media-feature-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-media-feature-card:hover {
  color: var(--fr-ink);
  transform: translateY(-4px);
  border-color: #d2dee8;
  box-shadow: 0 13px 30px rgba(13, 43, 77, 0.13);
}

.fr-media-feature-image {
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--fr-soft);
}

.fr-media-feature-image img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s ease;
}

.fr-media-feature-card:hover .fr-media-feature-image img {
  transform: scale(1.035);
}

.fr-media-feature-badge {
  position: absolute;
  left: 14px;
  bottom: 14px;
  padding: 0.38rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.96);
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  box-shadow: 0 4px 12px rgba(13, 43, 77, 0.1);
}

.fr-media-feature-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}

.fr-media-feature-copy h3 {
  margin: 0 0 0.6rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.18rem;
  line-height: 1.25;
}

.fr-media-feature-copy p {
  flex: 1;
  margin: 0 0 1rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-media-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
}

/* =========================================================
   RECENT ARTICLES
   ========================================================= */
.fr-media-articles-card {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.07);
}

.fr-media-card-heading {
  padding: 1.75rem 1.75rem 1.25rem;
  border-bottom: 1px solid var(--fr-line);
}

.fr-media-card-heading h2 {
  margin: 0.35rem 0 0.4rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.8rem;
}

.fr-media-card-heading p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

.fr-media-article-list {
  padding: 0 1.75rem;
}

.fr-media-article-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  min-height: 82px;
  padding: 1rem 0;
  border-bottom: 1px solid var(--fr-line);
  color: var(--fr-ink);
  text-decoration: none;
  transition: padding-left 0.18s ease, color 0.18s ease;
}

.fr-media-article-row:last-child {
  border-bottom: 0;
}

.fr-media-article-row:hover {
  padding-left: 0.35rem;
  color: var(--fr-blue);
}

.fr-media-article-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-media-article-copy {
  min-width: 0;
}

.fr-media-article-copy strong,
.fr-media-article-copy span {
  display: block;
}

.fr-media-article-copy strong {
  overflow: hidden;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.4;
  text-overflow: ellipsis;
}

.fr-media-article-copy span {
  margin-top: 0.2rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-media-article-arrow {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.72rem;
}

.fr-media-article-row:hover .fr-media-article-arrow {
  background: var(--fr-blue);
  color: #fff;
}

/* =========================================================
   MEDIA RESOURCE CARD
   ========================================================= */
.fr-media-resource-card,
.fr-media-topics-card {
  padding: 1.6rem;
  border: 1px solid var(--fr-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
}

.fr-media-resource-card {
  margin-bottom: 1rem;
  background: linear-gradient(145deg, #edf6fc 0%, #fafcfe 70%, #fff 100%);
}

.fr-media-resource-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 1.15rem;
  box-shadow: 0 5px 14px rgba(13, 43, 77, 0.08);
}

.fr-media-resource-card h2,
.fr-media-topics-card h2 {
  margin: 0.35rem 0 0.65rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.4rem;
}

.fr-media-resource-card p {
  margin-bottom: 1.25rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

/* =========================================================
   TOPICS
   ========================================================= */
.fr-media-topic-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.fr-media-topic-list a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.42rem 0.7rem;
  border: 1px solid #d8e2ea;
  border-radius: 999px;
  background: #f8fbfd;
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.fr-media-topic-list a:hover {
  border-color: var(--fr-blue);
  background: var(--fr-blue);
  color: #fff;
}

/* =========================================================
   BOTTOM CTA
   ========================================================= */
.fr-media-bottom {
  padding: 2.25rem 0 3rem;
}

.fr-media-bottom-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 2.25rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: linear-gradient(115deg, #edf6fc 0%, #f8fbfd 60%, #fff 100%);
  box-shadow: 0 8px 24px rgba(13, 43, 77, 0.07);
}

.fr-media-bottom-card h2 {
  margin: 0.35rem 0 0.55rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
}

.fr-media-bottom-card p {
  max-width: 760px;
  margin: 0;
  color: var(--fr-muted);
  line-height: 1.6;
}

.fr-media-bottom-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-media-hero {
    padding: 3.5rem 0;
  }
  .fr-media-hero-panel {
    max-width: 620px;
  }
  .fr-media-bottom-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-media-bottom-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-media-hero {
    padding: 2.7rem 0;
  }
  .fr-media-hero h1 {
    font-size: 2.6rem;
  }
  .fr-media-hero-lead {
    font-size: 0.91rem;
  }
  .fr-media-feature-copy {
    padding: 1.1rem;
  }
  .fr-media-card-heading {
    padding: 1.25rem 1.25rem 1rem;
  }
  .fr-media-article-list {
    padding: 0 1.25rem;
  }
  .fr-media-article-row {
    grid-template-columns: auto 1fr auto;
    gap: 0.75rem;
  }
  .fr-media-article-icon {
    width: 38px;
    height: 38px;
  }
  .fr-media-resource-card,
  .fr-media-topics-card {
    padding: 1.25rem;
  }
  .fr-media-bottom-card {
    padding: 1.4rem;
  }
  .fr-media-bottom-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-media-bottom-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   ABOUT FIND RENTALS
   ========================================================= */
.fr-about-page {
  background: #fff;
}

.fr-about-page .container {
  background-color: transparent !important;
}

.fr-about-page p {
  color: var(--fr-muted);
  line-height: 1.7;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-about-hero {
  position: relative;
  overflow: hidden;
  padding: 2.6rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 16%, rgba(51, 122, 183, 0.13), transparent 30%), linear-gradient(120deg, #f4f9fc 0%, #fff 56%, #edf5fb 100%);
}

.fr-about-hero h1 {
  max-width: 760px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3.1rem, 5.5vw, 5rem);
  font-weight: 600;
  line-height: 1;
  letter-spacing: -0.04em;
}

.fr-about-hero-lead {
  max-width: 760px;
  margin: 0;
  color: #2d4358 !important;
  font-size: 1.05rem;
  line-height: 1.75 !important;
}

.fr-about-hero-copy {
  max-width: 720px;
  margin: 0.8rem 0 0;
  font-size: 0.88rem;
}

.fr-about-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

.fr-about-hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: 0 20px 50px rgba(13, 43, 77, 0.13);
}

.fr-about-hero-visual img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
}

.fr-about-hero-badge {
  position: absolute;
  right: -18px;
  bottom: 24px;
  padding: 0.9rem 1.15rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.15);
}

.fr-about-hero-badge strong,
.fr-about-hero-badge span {
  display: block;
}

.fr-about-hero-badge strong {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.05rem;
}

.fr-about-hero-badge span {
  margin-top: 0.15rem;
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
}

/* =========================================================
   MISSION
   ========================================================= */
.fr-about-mission {
  padding: 4.6rem 0 0;
  background: linear-gradient(120deg, var(--fr-navy-deep), var(--fr-navy));
  color: #fff;
}

.fr-about-mission-heading {
  max-width: 850px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.fr-about-mission-heading h2 {
  margin: 0.4rem 0 0.8rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1.15;
}

.fr-about-mission-heading p {
  margin: 0;
  color: #d5e1ea !important;
}

.fr-about-mission-grid {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 0;
  border-radius: 16px 16px 0 0;
  background: rgba(255, 255, 255, 0.05);
}

.fr-about-mission-item {
  min-height: 210px;
  padding: 2rem 1.6rem;
  border-right: 1px solid rgba(255, 255, 255, 0.13);
  text-align: center;
}

.fr-about-mission-grid > div:last-child .fr-about-mission-item {
  border-right: 0;
}

.fr-about-mission-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin: 0 auto 1rem;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #90d8dc;
  font-size: 1.25rem;
}

.fr-about-mission-item strong {
  display: block;
  color: #fff;
  font-size: 0.95rem;
}

.fr-about-mission-item p {
  max-width: 320px;
  margin: 0.55rem auto 0;
  color: #bfd0dc !important;
  font-size: 0.875rem;
  line-height: 1.6 !important;
}

/* =========================================================
   COMMON ABOUT HEADINGS
   ========================================================= */
.fr-about-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-about-page .fr-section-heading.centered > div {
  width: 100%;
}

.fr-about-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

.fr-about-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.fr-about-section-title {
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 2.9rem);
  line-height: 1.15;
}

/* =========================================================
   RENT / MANAGE / BUY / SELL
   ========================================================= */
.fr-about-paths {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1.6rem;
}

.fr-about-paths > div {
  padding: 1rem 0.8rem;
  border: 1px solid var(--fr-line);
  border-radius: 11px;
  background: #fff;
}

.fr-about-paths > div > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin-bottom: 0.7rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-about-paths strong,
.fr-about-paths small {
  display: block;
}

.fr-about-paths strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.fr-about-paths small {
  margin-top: 0.35rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   FOUNDER QUOTE
   ========================================================= */
.fr-about-founder-quote {
  position: relative;
  margin: 0;
  padding: 2rem;
  border: 1px solid var(--fr-line);
  border-radius: 17px;
  background: linear-gradient(145deg, #edf6fc 0%, #fafcfe 70%, #fff 100%);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.08);
}

.fr-about-founder-quote > i {
  margin-bottom: 1rem;
  color: #9cc9e7;
  font-size: 1.5rem;
}

.fr-about-founder-quote p {
  margin: 0 0 1.25rem;
  color: #34485d !important;
  font-family: var(--fr-heading-font);
  font-size: 1.02rem;
  line-height: 1.7 !important;
}

.fr-about-founder-quote strong,
.fr-about-founder-quote span {
  display: block;
}

.fr-about-founder-quote strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-about-founder-quote span {
  margin-top: 0.1rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

/* =========================================================
   HOW WE ARE DIFFERENT
   ========================================================= */
.fr-about-difference-card {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(13, 43, 77, 0.07);
}

.fr-about-difference-copy {
  height: 100%;
  padding: 2rem;
}

.fr-about-difference-copy p:last-child {
  margin-bottom: 0;
}

.fr-about-network {
  height: 100%;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2rem;
  background: radial-gradient(circle at 50% 45%, rgba(51, 122, 183, 0.12), transparent 34%), linear-gradient(145deg, #eef6fb, #f8fbfd);
}

.fr-about-network-center {
  width: 130px;
  height: 130px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin: 0 auto 1.5rem;
  border: 1px solid #cfdfe9;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-navy);
  box-shadow: 0 8px 24px rgba(13, 43, 77, 0.08);
}

.fr-about-network-center i {
  color: var(--fr-blue);
  font-size: 1.6rem;
}

.fr-about-network-center strong {
  font-family: var(--fr-heading-font);
}

.fr-about-network-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

.fr-about-network-items span {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--fr-line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-about-network-items i {
  width: 18px;
  color: var(--fr-blue);
  text-align: center;
}

/* =========================================================
   RESOURCE CARDS
   ========================================================= */
.fr-about-resource-card {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-about-resource-card:hover {
  color: var(--fr-ink);
  transform: translateY(-3px);
  border-color: rgba(51, 122, 183, 0.28);
  box-shadow: 0 11px 26px rgba(13, 43, 77, 0.1);
}

.fr-about-resource-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.05rem;
}

.fr-about-resource-card h3 {
  margin: 0.25rem 0 0.5rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
}

.fr-about-resource-card p {
  margin: 0 0 0.8rem;
  font-size: 0.875rem;
  line-height: 1.55;
}

/* =========================================================
   MANAGER CTA
   ========================================================= */
.fr-about-manager-cta {
  padding: 3rem 0;
  background: var(--fr-navy);
}

.fr-about-manager-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-about-manager-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.fr-about-manager-card p {
  margin: 0;
  color: #c7d6df !important;
}

.fr-about-manager-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-about-btn-light,
.fr-about-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-about-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-about-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-about-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-about-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-about-hero {
    padding: 3.6rem 0;
  }
  .fr-about-hero-visual {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-about-paths {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-about-manager-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-about-manager-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-about-hero {
    padding: 2.8rem 0;
  }
  .fr-about-hero h1 {
    font-size: 2.7rem;
  }
  .fr-about-hero-lead {
    font-size: 0.92rem;
  }
  .fr-about-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-about-hero-actions .btn {
    width: 100%;
  }
  .fr-about-hero-badge {
    position: relative;
    right: auto;
    bottom: auto;
    margin: -24px 12px 0;
  }
  .fr-about-mission {
    padding-top: 3.4rem;
  }
  .fr-about-mission-item {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.13);
  }
  .fr-about-mission-grid > div:last-child .fr-about-mission-item {
    border-bottom: 0;
  }
  .fr-about-paths {
    grid-template-columns: 1fr 1fr;
  }
  .fr-about-difference-copy,
  .fr-about-network,
  .fr-about-founder-quote {
    padding: 1.3rem;
  }
  .fr-about-resource-card {
    padding: 1.2rem;
  }
  .fr-about-manager-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-about-manager-actions .btn {
    width: 100%;
  }
}
@media (max-width: 479.98px) {
  .fr-about-paths {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   PARTNERS
   ========================================================= */
.fr-partners-page {
  background: #fff;
}

.fr-partners-page .container {
  background-color: transparent !important;
}

.fr-partners-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

.fr-partners-page .fr-section-subtitle {
  max-width: 780px;
  color: var(--fr-muted);
  line-height: 1.6;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-partners-hero {
  position: relative;
  overflow: hidden;
  padding: 2.6rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 18%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-partners-hero h1 {
  max-width: 900px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.8rem, 4.8vw, 4.6rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -0.035em;
}

.fr-partners-hero-lead {
  max-width: 770px;
  margin: 0;
  color: #34485d;
  font-size: 1.02rem;
  line-height: 1.75;
}

.fr-partners-hero-copy {
  max-width: 720px;
  margin: 0.85rem 0 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-partners-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

/* =========================================================
   HERO PANEL
   ========================================================= */
.fr-partners-hero-panel {
  padding: 1.6rem;
  border: 1px solid rgba(51, 122, 183, 0.17);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 38px rgba(13, 43, 77, 0.1);
}

.fr-partners-hero-panel h2 {
  margin: 0.35rem 0 1.25rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.6rem;
  line-height: 1.2;
}

.fr-partners-relationship-panel {
  position: relative;
  padding: 1.8rem;
}

.fr-partners-relationship-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 1.1rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.35rem;
}

.fr-partners-relationship-panel h2 {
  margin: 0.35rem 0 0.75rem;
}

.fr-partners-relationship-panel > p {
  margin: 0 0 1.4rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-partners-relationship-list {
  border-top: 1px solid var(--fr-line);
}

.fr-partners-relationship-list > div {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--fr-line);
}

.fr-partners-relationship-list > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.fr-partners-relationship-list > div > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partners-relationship-list strong,
.fr-partners-relationship-list small {
  display: block;
}

.fr-partners-relationship-list strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-partners-relationship-list small {
  margin-top: 0.12rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   PARTNER TYPE CARDS
   ========================================================= */
.fr-partners-type-card {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-partners-type-card:hover {
  color: var(--fr-ink);
  transform: translateY(-3px);
  border-color: rgba(51, 122, 183, 0.28);
  box-shadow: 0 11px 27px rgba(13, 43, 77, 0.1);
}

.fr-partners-type-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  flex: 0 0 50px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.12rem;
}

.fr-partners-type-card h3 {
  margin: 0 0 0.45rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
}

.fr-partners-type-card p {
  margin: 0 0 0.75rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

/* =========================================================
   PARTNER SECTIONS
   ========================================================= */
.fr-partners-section {
  scroll-margin-top: 100px;
}

.fr-partners-section .fr-section-heading {
  margin-bottom: 2rem;
}

/* =========================================================
   PARTNER CARDS
   ========================================================= */
.fr-partner-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.07);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-partner-card:hover {
  transform: translateY(-3px);
  border-color: #d2dee8;
  box-shadow: 0 12px 28px rgba(13, 43, 77, 0.11);
}

/* Handles user-uploaded logos of wildly different sizes */
.fr-partner-logo {
  height: 145px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at center, #fff 0%, #fff 58%, #f8fafc 100%);
}

.fr-partner-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/* =========================================================
   PARTNER CARD BODY
   ========================================================= */
.fr-partner-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}

.fr-partner-card-body h3 {
  margin: 0 0 0.6rem;
  font-family: var(--fr-heading-font);
  font-size: 1.18rem;
  line-height: 1.25;
}

.fr-partner-card-body h3 a {
  color: var(--fr-navy);
  text-decoration: none;
}

.fr-partner-card-body h3 a:hover {
  color: var(--fr-blue);
}

.fr-partner-description {
  flex: 1;
  margin-bottom: 1.1rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-partner-description p {
  margin-bottom: 0.5rem;
}

.fr-partner-description p:last-child {
  margin-bottom: 0;
}

/* =========================================================
   PARTNER CARD ACTIONS
   ========================================================= */
.fr-partner-actions {
  display: flex;
  gap: 0.55rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fr-line);
}

.fr-partner-actions .btn {
  flex: 1 1 0;
  padding: 0.62rem 0.8rem;
  font-size: 0.875rem;
}

/* =========================================================
   CTA
   ========================================================= */
.fr-partners-cta {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-partners-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-partners-cta-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.fr-partners-cta-card p {
  max-width: 760px;
  margin: 0;
  color: #c7d6df;
  line-height: 1.6;
}

.fr-partners-cta-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-partners-btn-light,
.fr-partners-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-partners-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-partners-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partners-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-partners-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-partners-hero {
    padding: 3.6rem 0;
  }
  .fr-partners-hero-panel {
    max-width: 680px;
  }
  .fr-partners-cta-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-partners-cta-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-partners-hero {
    padding: 2.8rem 0;
  }
  .fr-partners-hero h1 {
    font-size: 2.55rem;
  }
  .fr-partners-hero-lead {
    font-size: 0.91rem;
  }
  .fr-partners-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-partners-hero-actions .btn {
    width: 100%;
  }
  .fr-partners-hero-stats {
    grid-template-columns: 1fr;
  }
  .fr-partners-hero-stats a {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 0.75rem;
    padding: 0.8rem 1rem;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
    text-align: left;
  }
  .fr-partners-hero-stats a:last-child {
    border-bottom: 0;
  }
  .fr-partners-hero-stats span {
    margin: 0;
  }
  .fr-partners-hero-stats strong {
    font-size: 1.15rem;
  }
  .fr-partners-hero-stats small {
    margin: 0;
    font-size: 0.8125rem;
  }
  .fr-partner-logo {
    height: 130px;
  }
  .fr-partner-card-body {
    padding: 1.1rem;
  }
  .fr-partners-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-partners-cta-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   PARTNER DETAIL
   ========================================================= */
.fr-partner-detail-page {
  background: #fff;
}

.fr-partner-detail-page .container {
  background-color: transparent !important;
}

.fr-partner-detail-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-partner-detail-page .fr-section-heading.centered > div {
  width: 100%;
}

.fr-partner-detail-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

.fr-partner-detail-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-partner-detail-hero {
  position: relative;
  overflow: hidden;
  padding: 2.5rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 87% 18%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-partner-detail-back {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 1.2rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-partner-detail-back:hover {
  color: var(--fr-blue);
}

.fr-partner-detail-hero h1 {
  max-width: 820px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.8rem, 5vw, 4.6rem);
  font-weight: 600;
  line-height: 1.03;
  letter-spacing: -0.035em;
}

.fr-partner-detail-lead {
  max-width: 760px;
  color: #34485d;
  font-size: 1rem;
  line-height: 1.75;
}

.fr-partner-detail-lead p {
  margin-bottom: 0.75rem;
}

.fr-partner-detail-lead p:last-child {
  margin-bottom: 0;
}

.fr-partner-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

/* =========================================================
   SOCIAL LINKS
   ========================================================= */
.fr-partner-detail-social {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1.35rem;
}

.fr-partner-detail-social > span:first-child {
  margin-right: 0.25rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-partner-detail-social a {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #d6e1e9;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 0.85rem;
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.fr-partner-detail-social a:hover {
  border-color: var(--fr-blue);
  background: var(--fr-blue);
  color: #fff;
}

.fr-partner-detail-x {
  font-size: 0.75rem;
  font-weight: 800;
}

/* =========================================================
   LOGO CARD
   ========================================================= */
.fr-partner-detail-logo-card {
  overflow: hidden;
  max-width: 500px;
  margin-left: auto;
  border: 1px solid var(--fr-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(13, 43, 77, 0.12);
}

.fr-partner-detail-logo-card > img {
  width: 100%;
  height: 260px;
  display: block;
  padding: 2.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  background: radial-gradient(circle at center, #fff 0%, #fff 55%, #f7fafc 100%);
}

.fr-partner-detail-logo-footer {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 1rem 1.2rem;
  border-top: 1px solid var(--fr-line);
  background: #fbfcfd;
}

.fr-partner-detail-logo-footer > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partner-detail-logo-footer strong,
.fr-partner-detail-logo-footer small {
  display: block;
}

.fr-partner-detail-logo-footer strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-partner-detail-logo-footer small {
  margin-top: 0.12rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   CONTENT
   ========================================================= */
.fr-partner-detail-title {
  margin: 0.4rem 0 1.1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.3vw, 2.75rem);
  line-height: 1.15;
}

.fr-partner-detail-description {
  color: var(--fr-muted);
  line-height: 1.75;
}

.fr-partner-detail-description h2,
.fr-partner-detail-description h3,
.fr-partner-detail-description h4 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

.fr-partner-detail-description p {
  margin-bottom: 1rem;
}

.fr-partner-detail-description img {
  max-width: 100%;
  height: auto;
}

/* =========================================================
   INFORMATION CARD
   ========================================================= */
.fr-partner-detail-info-card {
  padding: 1.6rem;
  border: 1px solid var(--fr-line);
  border-radius: 15px;
  background: linear-gradient(145deg, #edf6fc 0%, #fafcfe 72%, #fff 100%);
  box-shadow: 0 6px 20px rgba(13, 43, 77, 0.06);
}

.fr-partner-detail-info-card h3 {
  margin: 0.35rem 0 1.25rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.4rem;
}

.fr-partner-detail-info-row {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.fr-partner-detail-info-row > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  box-shadow: 0 3px 10px rgba(13, 43, 77, 0.06);
}

.fr-partner-detail-info-row small,
.fr-partner-detail-info-row strong,
.fr-partner-detail-info-row a {
  display: block;
}

.fr-partner-detail-info-row small {
  margin-bottom: 0.12rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.fr-partner-detail-info-row strong,
.fr-partner-detail-info-row a {
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-partner-detail-info-row a:hover {
  color: var(--fr-blue);
}

.fr-partner-detail-info-divider {
  margin: 1.25rem 0;
  border-top: 1px solid var(--fr-line);
}

/* =========================================================
   ONBOARDING
   ========================================================= */
.fr-partner-detail-onboarding {
  scroll-margin-top: 100px;
}

.fr-partner-detail-onboarding-card {
  position: relative;
  max-width: 1050px;
  margin: 0 auto;
  padding: 2rem 2rem 2rem 5.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 7px 24px rgba(13, 43, 77, 0.07);
}

.fr-partner-detail-onboarding-icon {
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.1rem;
}

.fr-partner-detail-onboarding-content {
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-partner-detail-onboarding-content h2,
.fr-partner-detail-onboarding-content h3,
.fr-partner-detail-onboarding-content h4 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

.fr-partner-detail-onboarding-content img {
  max-width: 100%;
  height: auto;
}

/* =========================================================
   CTA
   ========================================================= */
.fr-partner-detail-cta {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-partner-detail-cta-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-partner-detail-cta-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.fr-partner-detail-cta-card p {
  max-width: 760px;
  margin: 0;
  color: #c7d6df;
  line-height: 1.6;
}

.fr-partner-detail-cta-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-partner-detail-btn-light,
.fr-partner-detail-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-partner-detail-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-partner-detail-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partner-detail-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-partner-detail-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-partner-detail-hero {
    padding: 3.5rem 0;
  }
  .fr-partner-detail-logo-card {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-partner-detail-info-card {
    max-width: 650px;
  }
  .fr-partner-detail-cta-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-partner-detail-cta-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-partner-detail-hero {
    padding: 2.7rem 0;
  }
  .fr-partner-detail-hero h1 {
    font-size: 2.55rem;
  }
  .fr-partner-detail-lead {
    font-size: 0.9rem;
  }
  .fr-partner-detail-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-partner-detail-actions .btn {
    width: 100%;
  }
  .fr-partner-detail-logo-card > img {
    height: 210px;
    padding: 2rem;
  }
  .fr-partner-detail-onboarding-card {
    padding: 1.35rem;
  }
  .fr-partner-detail-onboarding-icon {
    position: static;
    margin-bottom: 1rem;
  }
  .fr-partner-detail-cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-partner-detail-cta-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   VACATION RENTAL MANAGERS HUB
   ========================================================= */
.fr-vrmhub-page {
  background: #fff;
}

.fr-vrmhub-page .container {
  background-color: transparent !important;
}

.fr-vrmhub-page p {
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-vrmhub-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-vrmhub-page .fr-section-heading.centered > div {
  width: 100%;
  text-align: center;
}

.fr-vrmhub-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-weight: 600;
}

.fr-vrmhub-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  color: var(--fr-muted);
  line-height: 1.65;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-vrmhub-hero {
  position: relative;
  overflow: hidden;
  padding: 4.6rem 0 5.5rem;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 16%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-vrmhub-hero h1 {
  max-width: 820px;
  margin: 0.4rem 0 0.45rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3rem, 5.3vw, 4.8rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.fr-vrmhub-hero-subhead {
  max-width: 780px;
  margin-bottom: 1.15rem;
  color: var(--fr-teal);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
  line-height: 1.25;
}

.fr-vrmhub-hero-lead {
  max-width: 760px;
  margin-bottom: 0.85rem;
  color: #2d4358 !important;
  font-size: 1.02rem;
  line-height: 1.75 !important;
}

.fr-vrmhub-hero p:not(.fr-vrmhub-hero-lead) {
  max-width: 740px;
  margin-bottom: 0.65rem;
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-vrmhub-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.45rem;
}

/* Hero image */
.fr-vrmhub-hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 50px rgba(13, 43, 77, 0.13);
}

.fr-vrmhub-hero-visual > img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
}

.fr-vrmhub-hero-badge {
  position: absolute;
  left: -22px;
  bottom: 25px;
  max-width: 330px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.16);
}

.fr-vrmhub-hero-badge > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-vrmhub-hero-badge strong,
.fr-vrmhub-hero-badge small {
  display: block;
}

.fr-vrmhub-hero-badge strong {
  color: var(--fr-navy);
  font-size: 0.8125rem;
}

.fr-vrmhub-hero-badge small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

/* =========================================================
   SEARCH
   ========================================================= */
.fr-vrmhub-search-section {
  position: relative;
  z-index: 3;
  margin-top: -2.7rem;
  padding-bottom: 1.5rem;
}

.fr-vrmhub-search-card {
  padding: 1.4rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(13, 43, 77, 0.13);
}

.fr-vrmhub-search-heading {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin-bottom: 1rem;
}

.fr-vrmhub-search-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.05rem;
}

.fr-vrmhub-search-heading h2 {
  margin: 0.15rem 0 0.1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.45rem;
}

.fr-vrmhub-search-heading p {
  margin: 0;
  font-size: 0.875rem;
}

/* Clean up legacy manager search styling inside our wrapper */
.fr-vrmhub-search form {
  margin: 0;
}

.fr-vrmhub-search .form-control,
.fr-vrmhub-search input[type=text],
.fr-vrmhub-search input[type=search],
.fr-vrmhub-search select {
  min-height: 50px !important;
  border: 1px solid #d7e0e8 !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--fr-ink) !important;
  box-shadow: none !important;
}

.fr-vrmhub-search .form-control:focus,
.fr-vrmhub-search input:focus,
.fr-vrmhub-search select:focus {
  border-color: var(--fr-blue) !important;
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1) !important;
}

.fr-vrmhub-search button,
.fr-vrmhub-search .btn,
.fr-vrmhub-search input[type=submit] {
  min-height: 50px;
  border: 1px solid var(--fr-blue) !important;
  border-radius: 9px !important;
  background: var(--fr-blue) !important;
  color: #fff !important;
  font-weight: 700 !important;
}

.fr-vrmhub-search button:hover,
.fr-vrmhub-search .btn:hover,
.fr-vrmhub-search input[type=submit]:hover {
  border-color: var(--fr-blue-dark) !important;
  background: var(--fr-blue-dark) !important;
}

/* =========================================================
   VALUE STRIP
   ========================================================= */
.fr-vrmhub-value-strip {
  border-bottom: 1px solid var(--fr-line);
  background: #fff;
}

.fr-vrmhub-value-item {
  min-height: 112px;
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1.25rem;
  border-right: 1px solid var(--fr-line);
}

.fr-vrmhub-value-strip .col-lg-3:last-child .fr-vrmhub-value-item {
  border-right: 0;
}

.fr-vrmhub-value-item > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-vrmhub-value-item strong,
.fr-vrmhub-value-item small {
  display: block;
}

.fr-vrmhub-value-item strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-vrmhub-value-item small {
  margin-top: 0.2rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   WHY BOOK DIRECT
   ========================================================= */
.fr-vrmhub-copy-card,
.fr-vrmhub-benefits-card,
.fr-vrmhub-comparison-card,
.fr-vrmhub-manager-brings {
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.06);
}

.fr-vrmhub-copy-card {
  padding: 1.8rem;
}

.fr-vrmhub-copy-card p {
  margin-bottom: 1rem;
  font-size: 0.875rem;
}

/* Benefits card */
.fr-vrmhub-benefits-card {
  padding: 1.65rem;
  background: linear-gradient(145deg, #edf6fc 0%, #fafcfe 72%, #fff 100%);
}

.fr-vrmhub-benefits-card h3 {
  margin: 0.35rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.5rem;
}

.fr-vrmhub-benefits-card ul {
  display: grid;
  gap: 0.63rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fr-vrmhub-benefits-card li {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  color: var(--fr-ink);
  font-size: 0.875rem;
  line-height: 1.45;
}

.fr-vrmhub-benefits-card li i {
  margin-top: 0.18rem;
  color: var(--fr-teal);
}

/* Comparison */
.fr-vrmhub-comparison-card {
  overflow: hidden;
}

.fr-vrmhub-comparison-heading {
  padding: 1.3rem 1.4rem 0.6rem;
}

.fr-vrmhub-comparison-heading h3 {
  margin: 0.25rem 0 0;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.45rem;
}

.fr-vrmhub-comparison-card > img {
  display: block;
  width: 100%;
  height: auto;
  padding: 0.5rem 1.2rem 1.2rem;
  -o-object-fit: contain;
     object-fit: contain;
}

/* What a manager brings */
.fr-vrmhub-manager-brings {
  padding: 1.6rem;
}

.fr-vrmhub-manager-brings-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-vrmhub-manager-brings h3 {
  margin: 0.35rem 0 0.7rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.4rem;
  line-height: 1.25;
}

.fr-vrmhub-manager-brings p {
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-vrmhub-manager-brings-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin-top: 1rem;
}

.fr-vrmhub-manager-brings-list span {
  padding: 0.42rem 0.65rem;
  border: 1px solid #d9e3eb;
  border-radius: 999px;
  background: #f8fbfd;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
}

/* =========================================================
   BOOK DIRECT STATEMENT
   ========================================================= */
.fr-vrmhub-direct-statement {
  padding: 2.4rem 0;
  background: var(--fr-navy);
}

.fr-vrmhub-direct-statement-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  max-width: 1050px;
  margin: 0 auto;
}

.fr-vrmhub-direct-statement-inner > span {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  color: #91d7dc;
  font-size: 1.3rem;
}

.fr-vrmhub-direct-statement p {
  margin: 0;
  color: #eef4f7 !important;
  font-family: var(--fr-heading-font);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.55 !important;
}

/* =========================================================
   CONTENT SECTIONS
   ========================================================= */
.fr-vrmhub-section-title {
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
  line-height: 1.15;
}

.fr-vrmhub-content-image {
  position: relative;
  overflow: visible;
  max-width: 560px;
  margin: 0 auto;
}

.fr-vrmhub-content-image > img {
  display: block;
  width: 100%;
  border: 1px solid var(--fr-line);
  border-radius: 17px;
  -o-object-fit: cover;
     object-fit: cover;
  box-shadow: 0 11px 30px rgba(13, 43, 77, 0.09);
}

.fr-vrmhub-content-image-badge {
  position: absolute;
  right: -16px;
  bottom: 20px;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.8rem 0.95rem;
  border: 1px solid var(--fr-line);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 8px 22px rgba(13, 43, 77, 0.12);
}

.fr-vrmhub-content-image-badge > i {
  color: var(--fr-blue);
  font-size: 1.05rem;
}

.fr-vrmhub-content-image-badge strong,
.fr-vrmhub-content-image-badge small {
  display: block;
}

.fr-vrmhub-content-image-badge strong {
  color: var(--fr-navy);
  font-size: 0.8125rem;
}

.fr-vrmhub-content-image-badge small {
  margin-top: 0.1rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-vrmhub-support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.25rem;
}

/* =========================================================
   DEEP-DIVE BENEFITS
   ========================================================= */
.fr-vrmhub-detail {
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(13, 43, 77, 0.04);
}

.fr-vrmhub-detail summary {
  position: relative;
  padding: 1.1rem 3rem 1.1rem 1.15rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.fr-vrmhub-detail summary::-webkit-details-marker {
  display: none;
}

.fr-vrmhub-detail summary::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  transform: translateY(-50%);
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  content: "+";
  font-family: Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.fr-vrmhub-detail[open] summary::after {
  content: "−";
}

.fr-vrmhub-detail[open] summary {
  border-bottom: 1px solid var(--fr-line);
}

.fr-vrmhub-detail p {
  margin: 0;
  padding: 1rem 1.15rem 1.2rem;
  font-size: 0.875rem;
  line-height: 1.65;
}

/* =========================================================
   FEATURED MANAGERS
   ========================================================= */
.fr-vrmhub-page .fr-section-heading.centered + .row {
  margin-top: 0.25rem;
}

/* =========================================================
   FAQ
   ========================================================= */
.fr-vrmhub-faq-intro h2 {
  margin: 0.35rem 0 0.7rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3vw, 2.6rem);
}

.fr-vrmhub-faq-intro p {
  font-size: 0.875rem;
}

.fr-vrmhub-faq-list {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
}

.fr-vrmhub-faq {
  border-bottom: 1px solid var(--fr-line);
}

.fr-vrmhub-faq:last-child {
  border-bottom: 0;
}

.fr-vrmhub-faq summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.25rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}

.fr-vrmhub-faq summary::-webkit-details-marker {
  display: none;
}

.fr-vrmhub-faq summary > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.65rem;
}

.fr-vrmhub-faq[open] summary > span {
  transform: rotate(45deg);
}

.fr-vrmhub-faq p {
  margin: 0;
  padding: 0 1.25rem 1.2rem;
  font-size: 0.875rem;
  line-height: 1.65;
}

/* =========================================================
   FINAL CTA
   ========================================================= */
.fr-vrmhub-final {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-vrmhub-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-vrmhub-final-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
}

.fr-vrmhub-final-card p {
  max-width: 760px;
  margin: 0;
  color: #c7d6df !important;
  line-height: 1.6;
}

.fr-vrmhub-final-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-vrmhub-btn-light,
.fr-vrmhub-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-vrmhub-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-vrmhub-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-vrmhub-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-vrmhub-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-vrmhub-hero {
    padding: 3.6rem 0 5rem;
  }
  .fr-vrmhub-hero-visual {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-vrmhub-value-strip .col-sm-6:nth-child(2) .fr-vrmhub-value-item {
    border-right: 0;
  }
  .fr-vrmhub-value-strip .col-sm-6:nth-child(-n+2) .fr-vrmhub-value-item {
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-vrmhub-final-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-vrmhub-final-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-vrmhub-hero {
    padding: 2.8rem 0 4.8rem;
  }
  .fr-vrmhub-hero h1 {
    font-size: 2.65rem;
  }
  .fr-vrmhub-hero-subhead {
    font-size: 1.3rem;
  }
  .fr-vrmhub-hero-lead {
    font-size: 0.92rem;
  }
  .fr-vrmhub-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-vrmhub-hero-actions .btn {
    width: 100%;
  }
  .fr-vrmhub-hero-badge {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin: -28px 12px 0;
  }
  .fr-vrmhub-search-section {
    margin-top: -2rem;
  }
  .fr-vrmhub-search-card {
    padding: 1rem;
  }
  .fr-vrmhub-search-heading {
    align-items: flex-start;
  }
  .fr-vrmhub-value-item {
    min-height: auto;
    border-right: 0 !important;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-vrmhub-value-strip .col-sm-6:last-child .fr-vrmhub-value-item {
    border-bottom: 0;
  }
  .fr-vrmhub-copy-card,
  .fr-vrmhub-benefits-card,
  .fr-vrmhub-manager-brings {
    padding: 1.25rem;
  }
  .fr-vrmhub-direct-statement-inner {
    align-items: flex-start;
  }
  .fr-vrmhub-content-image-badge {
    position: relative;
    right: auto;
    bottom: auto;
    margin: -22px 12px 0;
  }
  .fr-vrmhub-support-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-vrmhub-support-actions .btn {
    width: 100%;
  }
  .fr-vrmhub-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-vrmhub-final-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   AUTHORS
   ========================================================= */
.fr-authors-page {
  background: #fff;
}

.fr-authors-page .container {
  background-color: transparent !important;
}

.fr-authors-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-authors-page .fr-section-heading.centered > div {
  width: 100%;
  text-align: center;
}

.fr-authors-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-weight: 600;
}

.fr-authors-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  color: var(--fr-muted);
  line-height: 1.65;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-authors-hero {
  position: relative;
  overflow: hidden;
  padding: 2.6rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 18%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-authors-hero h1 {
  max-width: 820px;
  margin: 0.4rem 0 0.4rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3rem, 5.3vw, 4.8rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.fr-authors-hero-subhead {
  margin-bottom: 1rem;
  color: var(--fr-teal);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.4rem, 2.3vw, 1.9rem);
  line-height: 1.25;
}

.fr-authors-hero-lead {
  max-width: 780px;
  margin: 0;
  color: #34485d;
  font-size: 1.02rem;
  line-height: 1.75;
}

/* =========================================================
   HERO PANEL
   ========================================================= */
.fr-authors-hero-panel {
  max-width: 500px;
  margin-left: auto;
  padding: 1.75rem;
  border: 1px solid rgba(51, 122, 183, 0.17);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 14px 38px rgba(13, 43, 77, 0.1);
}

.fr-authors-hero-icon {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-authors-hero-icon i {
  margin: 0;
  font-size: 1.3rem;
  line-height: 1;
}

.fr-authors-hero-panel h2 {
  margin: 0.35rem 0 0.7rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.55rem;
  line-height: 1.25;
}

.fr-authors-hero-panel p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-authors-hero-topics {
  display: grid;
  gap: 0.5rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--fr-line);
}

.fr-authors-hero-topics span {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-authors-hero-topics i {
  width: 19px;
  color: var(--fr-blue);
  text-align: center;
}

/* =========================================================
   AUTHOR CARDS
   ========================================================= */
.fr-author-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 22px rgba(13, 43, 77, 0.07);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fr-author-card:hover {
  transform: translateY(-3px);
  border-color: #d1dde6;
  box-shadow: 0 13px 30px rgba(13, 43, 77, 0.11);
}

/* =========================================================
   AUTHOR HEADER
   ========================================================= */
.fr-author-card-top {
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 1.25rem;
  align-items: center;
  padding: 1.35rem;
  border-bottom: 1px solid var(--fr-line);
  background: linear-gradient(135deg, #f7fafc 0%, #fff 70%);
}

.fr-author-photo {
  overflow: hidden;
  width: 170px;
  height: 150px;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: var(--fr-soft);
}

.fr-author-photo img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.fr-author-heading {
  min-width: 0;
}

.fr-author-heading h2 {
  margin: 0.25rem 0 0.3rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
  line-height: 1.15;
}

.fr-author-title {
  color: var(--fr-muted);
  font-size: 0.875rem;
  font-weight: 600;
}

/* =========================================================
   SOCIAL
   ========================================================= */
.fr-author-social {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 0.8rem;
}

.fr-author-social a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #d7e1e9;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.fr-author-social a:hover {
  border-color: var(--fr-blue);
  background: var(--fr-blue);
  color: #fff;
}

.fr-author-social a i {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1;
}

.fr-author-x {
  font-size: 0.72rem;
  font-weight: 800;
}

/* =========================================================
   BIO
   ========================================================= */
.fr-author-description {
  flex: 1;
  padding: 1.35rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.7;
}

.fr-author-description p {
  margin-bottom: 0.85rem;
}

.fr-author-description p:last-child {
  margin-bottom: 0;
}

.fr-author-description h2,
.fr-author-description h3,
.fr-author-description h4 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
}

/* =========================================================
   LATEST ARTICLES
   ========================================================= */
.fr-author-articles {
  margin-top: auto;
  border-top: 1px solid var(--fr-line);
  background: #fbfcfd;
}

.fr-author-articles-heading {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 1rem 1.25rem 0.65rem;
}

.fr-author-articles-heading > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-author-articles-heading > span i {
  margin: 0;
  font-size: 0.72rem;
}

.fr-author-articles-heading strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-author-article-list {
  padding: 0 1.25rem 0.85rem;
}

.fr-author-article-list a {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.68rem 0;
  border-bottom: 1px solid var(--fr-line);
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.fr-author-article-list a:last-child {
  border-bottom: 0;
}

.fr-author-article-list a:hover {
  color: var(--fr-blue);
}

.fr-author-article-list a i {
  color: var(--fr-blue);
  font-size: 0.65rem;
}

/* =========================================================
   EDITORIAL CTA
   ========================================================= */
.fr-authors-editorial {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-authors-editorial-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-authors-editorial-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.4vw, 2.8rem);
}

.fr-authors-editorial-card p {
  max-width: 780px;
  margin: 0;
  color: #c7d6df;
  line-height: 1.65;
}

.fr-authors-editorial-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-authors-btn-light,
.fr-authors-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-authors-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-authors-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-authors-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-authors-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-authors-hero {
    padding: 3.6rem 0;
  }
  .fr-authors-hero-panel {
    max-width: 680px;
    margin-left: 0;
  }
  .fr-authors-editorial-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-authors-editorial-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-authors-hero {
    padding: 2.8rem 0;
  }
  .fr-authors-hero h1 {
    font-size: 2.65rem;
  }
  .fr-authors-hero-lead {
    font-size: 0.92rem;
  }
  .fr-author-card-top {
    grid-template-columns: 120px 1fr;
    gap: 1rem;
    padding: 1rem;
  }
  .fr-author-photo {
    width: 120px;
    height: 120px;
  }
  .fr-author-heading h2 {
    font-size: 1.35rem;
  }
  .fr-author-description {
    padding: 1.1rem;
  }
  .fr-authors-editorial-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-authors-editorial-actions .btn {
    width: 100%;
  }
}
@media (max-width: 479.98px) {
  .fr-author-card-top {
    grid-template-columns: 1fr;
  }
  .fr-author-photo {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
}
/* =========================================================
   ACTIVITIES & INTERESTS HUB
   ========================================================= */
.fr-aihub-page {
  background: #fff;
}

.fr-aihub-page .container {
  background-color: transparent !important;
}

.fr-aihub-page p {
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-aihub-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-aihub-page .fr-section-heading.centered > div {
  width: 100%;
  text-align: center;
}

.fr-aihub-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-weight: 600;
}

.fr-aihub-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
  color: var(--fr-muted);
  line-height: 1.65;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-aihub-hero {
  position: relative;
  overflow: hidden;
  padding: 4.6rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 16%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-aihub-hero h1 {
  max-width: 820px;
  margin: 0.4rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3rem, 5.3vw, 4.8rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.fr-aihub-hero-lead {
  max-width: 760px;
  margin-bottom: 0.8rem;
  color: #2d4358 !important;
  font-size: 1.02rem;
  line-height: 1.75 !important;
}

.fr-aihub-hero p:not(.fr-aihub-hero-lead) {
  max-width: 740px;
  margin-bottom: 0;
  font-size: 0.875rem;
}

.fr-aihub-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.5rem;
}

.fr-aihub-hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 50px rgba(13, 43, 77, 0.13);
}

.fr-aihub-hero-visual > img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
}

.fr-aihub-hero-badge {
  position: absolute;
  left: -22px;
  bottom: 25px;
  max-width: 330px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.16);
}

.fr-aihub-hero-badge > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-aihub-hero-badge strong,
.fr-aihub-hero-badge small {
  display: block;
}

.fr-aihub-hero-badge strong {
  color: var(--fr-navy);
  font-size: 0.8125rem;
}

.fr-aihub-hero-badge small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

/* =========================================================
   FEATURED INTERESTS
   ========================================================= */
.fr-aihub-feature-card {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.45rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  color: var(--fr-ink);
  text-decoration: none;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.fr-aihub-feature-card:hover {
  color: var(--fr-ink);
  transform: translateY(-3px);
  border-color: rgba(51, 122, 183, 0.28);
  box-shadow: 0 11px 27px rgba(13, 43, 77, 0.1);
}

.fr-aihub-feature-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  flex: 0 0 52px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-aihub-feature-icon i {
  margin: 0;
  font-size: 1.25rem;
  line-height: 1;
}

.fr-aihub-feature-card h3 {
  margin: 0 0 0.45rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.22rem;
}

.fr-aihub-feature-card p {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.55;
}

/* =========================================================
   DIRECTORY FILTER
   ========================================================= */
.fr-aihub-filter {
  position: relative;
  max-width: 680px;
  margin: 0 auto 2rem;
}

.fr-aihub-filter > span {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--fr-blue);
}

.fr-aihub-filter .form-control {
  min-height: 54px;
  padding-left: 2.8rem;
  border: 1px solid #d5e0e8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-aihub-filter .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

/* =========================================================
   COMPLETE DIRECTORY
   ========================================================= */
.fr-aihub-directory {
  display: grid;
  gap: 1.25rem;
}

.fr-aihub-directory-group {
  padding: 1.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-aihub-directory-group h3 {
  margin: 0 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
}

.fr-aihub-interest-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.fr-aihub-interest {
  min-width: 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.65rem;
  min-height: 58px;
  padding: 0.65rem 0.75rem;
  border: 1px solid #dde5eb;
  border-radius: 9px;
  background: #fbfcfd;
  color: var(--fr-navy);
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.fr-aihub-interest:hover {
  color: var(--fr-blue);
  border-color: rgba(51, 122, 183, 0.35);
  background: #f3f8fc;
  transform: translateY(-1px);
}

.fr-aihub-interest > span {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-aihub-interest > span i {
  /* margin: 0; */
  font-size: 1.1rem;
}

.fr-aihub-interest strong {
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.3;
}

.fr-aihub-interest-arrow {
  color: #9eb3c3;
  font-size: 0.6rem;
}

.fr-aihub-interest:hover .fr-aihub-interest-arrow {
  color: var(--fr-blue);
}

.fr-aihub-no-results {
  padding: 2rem;
  text-align: center;
  color: var(--fr-muted);
}

.fr-aihub-no-results i,
.fr-aihub-no-results strong,
.fr-aihub-no-results span {
  display: block;
}

.fr-aihub-no-results i {
  margin-bottom: 0.7rem;
  color: var(--fr-blue);
  font-size: 1.4rem;
}

.fr-aihub-no-results strong {
  color: var(--fr-navy);
}

.fr-aihub-no-results span {
  margin-top: 0.2rem;
  font-size: 0.875rem;
}

/* =========================================================
   RENTALS BY INTEREST
   ========================================================= */
.fr-aihub-rental-group {
  padding: 2rem 0;
  border-bottom: 1px solid var(--fr-line);
}

.fr-aihub-rental-group:first-of-type {
  padding-top: 0;
}

.fr-aihub-rental-group:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.fr-aihub-rental-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.2rem;
}

.fr-aihub-rental-heading > div {
  max-width: 850px;
}

.fr-aihub-rental-heading h3 {
  margin: 0.3rem 0 0.45rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.6rem, 2.5vw, 2.15rem);
}

.fr-aihub-rental-heading p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-aihub-rental-heading > a {
  flex: 0 0 auto;
  margin-bottom: 0.1rem;
}

/* =========================================================
   FINAL CTA
   ========================================================= */
.fr-aihub-final {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-aihub-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-aihub-final-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
}

.fr-aihub-final-card p {
  max-width: 760px;
  margin: 0;
  color: #c7d6df !important;
  line-height: 1.6;
}

.fr-aihub-final-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-aihub-btn-light,
.fr-aihub-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-aihub-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-aihub-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-aihub-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-aihub-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 1199.98px) {
  .fr-aihub-interest-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .fr-aihub-hero {
    padding: 3.6rem 0;
  }
  .fr-aihub-hero-visual {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-aihub-interest-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-aihub-rental-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.5rem;
  }
  .fr-aihub-final-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-aihub-final-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-aihub-hero {
    padding: 2.8rem 0;
  }
  .fr-aihub-hero h1 {
    font-size: 2.65rem;
  }
  .fr-aihub-hero-lead {
    font-size: 0.92rem;
  }
  .fr-aihub-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-aihub-hero-actions .btn {
    width: 100%;
  }
  .fr-aihub-hero-badge {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin: -28px 12px 0;
  }
  .fr-aihub-feature-card {
    display: block;
    padding: 1rem;
  }
  .fr-aihub-feature-icon {
    width: 46px;
    height: 46px;
    margin-bottom: 0.7rem;
  }
  .fr-aihub-feature-card h3 {
    font-size: 1rem;
  }
  .fr-aihub-feature-card p {
    display: none;
  }
  .fr-aihub-directory-group {
    padding: 1rem;
  }
  .fr-aihub-interest-grid {
    grid-template-columns: 1fr;
  }
  .fr-aihub-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-aihub-final-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   VACATION RENTALS — RENTAL TYPE IMAGE GRID
   ========================================================= */
.fr-vrhub-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.fr-vrhub-type-card {
  position: relative;
  min-height: 205px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--fr-navy);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 7px 22px rgba(13, 43, 77, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.fr-vrhub-type-card:hover {
  color: #fff;
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(13, 43, 77, 0.16);
}

.fr-vrhub-type-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.35s ease;
}

.fr-vrhub-type-card:hover > img {
  transform: scale(1.035);
}

.fr-vrhub-type-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 31, 57, 0.02) 25%, rgba(7, 31, 57, 0.18) 52%, rgba(7, 31, 57, 0.88) 100%);
}

.fr-vrhub-type-content {
  position: absolute;
  z-index: 2;
  left: 1.2rem;
  right: 1rem;
  bottom: 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.fr-vrhub-type-content strong {
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.fr-vrhub-type-arrow {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  flex: 0 0 36px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--fr-navy);
  font-size: 0.875rem;
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.fr-vrhub-type-card:hover .fr-vrhub-type-arrow {
  background: var(--fr-blue);
  color: #fff;
  transform: translateX(2px);
}

@media (max-width: 991.98px) {
  .fr-vrhub-type-card {
    min-height: 180px;
  }
}
@media (max-width: 767.98px) {
  .fr-vrhub-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
  .fr-vrhub-type-card {
    min-height: 155px;
  }
  .fr-vrhub-type-content {
    left: 0.9rem;
    right: 0.75rem;
    bottom: 0.8rem;
  }
  .fr-vrhub-type-content strong {
    font-size: 1.05rem;
  }
  .fr-vrhub-type-arrow {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }
}
@media (max-width: 479.98px) {
  .fr-vrhub-type-card {
    min-height: 135px;
  }
  .fr-vrhub-type-content strong {
    font-size: 0.95rem;
  }
}
/* =========================================================
   NEWSLETTER
   ========================================================= */
.fr-news-page {
  background: #fff;
}

.fr-news-page .container {
  background-color: transparent !important;
}

.fr-news-page p {
  color: var(--fr-muted);
  line-height: 1.7;
}

.fr-news-page .fr-section-heading.centered {
  display: block;
  width: 100%;
  text-align: center;
}

.fr-news-page .fr-section-heading.centered > div {
  width: 100%;
  text-align: center;
}

.fr-news-page .fr-section-heading h2 {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-weight: 600;
}

.fr-news-page .fr-section-heading.centered .fr-section-subtitle {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-news-hero {
  position: relative;
  overflow: hidden;
  padding: 4.6rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: radial-gradient(circle at 88% 16%, rgba(51, 122, 183, 0.14), transparent 30%), linear-gradient(120deg, #f5f9fc 0%, #fff 57%, #edf5fb 100%);
}

.fr-news-hero h1 {
  max-width: 820px;
  margin: 0.4rem 0 0.35rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(3rem, 5.3vw, 4.8rem);
  font-weight: 600;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.fr-news-hero-subhead {
  margin-bottom: 1rem;
  color: var(--fr-teal);
  font-family: var(--fr-heading-font);
  font-size: clamp(1.4rem, 2.3vw, 1.9rem);
  line-height: 1.25;
}

.fr-news-hero-lead {
  max-width: 760px;
  margin-bottom: 0.7rem;
  color: #2d4358 !important;
  font-size: 1.02rem;
  line-height: 1.75 !important;
}

.fr-news-hero p:not(.fr-news-hero-lead) {
  max-width: 750px;
  margin-bottom: 0.7rem;
  font-size: 0.9rem;
}

.fr-news-hero-tagline {
  color: var(--fr-navy) !important;
  font-weight: 700;
}

.fr-news-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  margin-top: 1.45rem;
}

.fr-news-hero-visual {
  position: relative;
  max-width: 500px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid rgba(13, 43, 77, 0.1);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 50px rgba(13, 43, 77, 0.13);
}

.fr-news-hero-visual > img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 14px;
}

.fr-news-hero-badge {
  position: absolute;
  left: -22px;
  bottom: 25px;
  max-width: 330px;
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.97);
  box-shadow: 0 10px 28px rgba(13, 43, 77, 0.16);
}

.fr-news-hero-badge > span {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.1rem;
}

.fr-news-hero-badge strong,
.fr-news-hero-badge small {
  display: block;
}

.fr-news-hero-badge strong {
  color: var(--fr-navy);
  font-size: 0.9rem;
}

.fr-news-hero-badge small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

/* =========================================================
   SIGNUP
   ========================================================= */
.fr-news-signup-section {
  padding: 2.2rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: #fff;
}

.fr-news-signup-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.8fr);
  align-items: center;
  gap: 2rem;
  padding: 1.6rem 1.75rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: linear-gradient(115deg, #edf6fc 0%, #f8fbfd 62%, #fff 100%);
  box-shadow: 0 8px 25px rgba(13, 43, 77, 0.07);
}

.fr-news-signup-copy {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.fr-news-signup-icon {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  flex: 0 0 54px;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 1.25rem;
  box-shadow: 0 5px 14px rgba(13, 43, 77, 0.08);
}

.fr-news-signup-copy h2 {
  margin: 0.25rem 0 0.35rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
}

.fr-news-signup-copy p {
  max-width: 650px;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
}

.fr-news-signup-form {
  display: flex;
  align-items: stretch;
  gap: 0.55rem;
}

.fr-news-signup-input {
  position: relative;
  flex: 1 1 auto;
}

.fr-news-signup-input > i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--fr-blue);
}

.fr-news-signup-input .form-control {
  min-height: 52px;
  padding-left: 2.8rem;
  border: 1px solid #d4dfe7;
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}

.fr-news-signup-input .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-news-signup-form .btn {
  min-height: 52px;
  flex: 0 0 auto;
}

/* =========================================================
   BENEFITS
   ========================================================= */
.fr-news-benefits {
  border-bottom: 1px solid var(--fr-line);
  background: #fff;
}

.fr-news-benefit {
  min-height: 125px;
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 1.35rem;
  border-right: 1px solid var(--fr-line);
}

.fr-news-benefits .col-md-4:last-child .fr-news-benefit {
  border-right: 0;
}

.fr-news-benefit > span {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  flex: 0 0 50px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.15rem;
}

.fr-news-benefit strong,
.fr-news-benefit small {
  display: block;
}

.fr-news-benefit strong {
  color: var(--fr-navy);
  font-size: 0.9rem;
}

.fr-news-benefit small {
  margin-top: 0.2rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* =========================================================
   FEATURED NEWSLETTER
   ========================================================= */
.fr-news-featured {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 280px;
  align-items: center;
  gap: 1.5rem;
  padding: 1.7rem;
  border: 1px solid var(--fr-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 25px rgba(13, 43, 77, 0.07);
}

.fr-news-featured-mark {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.6rem;
}

.fr-news-date {
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fr-news-featured-copy h3 {
  margin: 0.25rem 0 0.45rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.65rem;
}

.fr-news-featured-copy p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-news-featured-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1rem;
}

.fr-news-featured-manager {
  padding: 1.1rem 1.2rem;
  border-left: 1px solid var(--fr-line);
}

.fr-news-featured-manager strong {
  display: block;
  margin: 0.3rem 0 0.65rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.15rem;
}

/* =========================================================
   ARCHIVE TOOLS
   ========================================================= */
.fr-news-archive-tools {
  margin-bottom: 1.6rem;
}

.fr-news-search {
  position: relative;
  max-width: 760px;
  margin: 0 auto 1rem;
}

.fr-news-search > i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--fr-blue);
}

.fr-news-search .form-control {
  min-height: 54px;
  padding-left: 2.8rem;
  border: 1px solid #d4dfe7;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-news-search .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-news-year-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.45rem;
}

.fr-news-year-filter button {
  min-height: 38px;
  padding: 0.45rem 0.8rem;
  border: 1px solid #d6e1e9;
  border-radius: 999px;
  background: #fff;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.fr-news-year-filter button:hover,
.fr-news-year-filter button.active {
  border-color: var(--fr-blue);
  background: var(--fr-blue);
  color: #fff;
}

.fr-news-results-count {
  margin-top: 0.8rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-align: center;
}

/* =========================================================
   ARCHIVE CARDS
   ========================================================= */
.fr-news-card {
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 1.35rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.06);
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.fr-news-card:hover {
  transform: translateY(-3px);
  border-color: #d1dde6;
  box-shadow: 0 11px 27px rgba(13, 43, 77, 0.1);
}

.fr-news-card-head {
  min-height: 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.55rem;
}

.fr-news-latest-badge {
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  background: #e9f6f6;
  color: var(--fr-teal);
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
}

.fr-news-card h3 {
  margin: 0 0 0.55rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
  line-height: 1.25;
}

.fr-news-card > p {
  flex: 1;
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.6;
}

.fr-news-card-resources {
  display: grid;
  gap: 0.45rem;
  margin-top: auto;
  padding-top: 0.85rem;
  border-top: 1px solid var(--fr-line);
}

.fr-news-card-resources:empty {
  display: none;
}

.fr-news-card-resources a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.fr-news-card-resources a:hover {
  color: var(--fr-blue);
}

.fr-news-card-resources i {
  width: 17px;
  color: var(--fr-blue);
  text-align: center;
}

.fr-news-card-footer {
  margin-top: 1rem;
}

.fr-news-card-footer > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-news-card-footer > a > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  transition: background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.fr-news-card:hover .fr-news-card-footer > a > span {
  background: var(--fr-blue);
  color: #fff;
  transform: translateX(2px);
}

.fr-news-no-results {
  padding: 3rem 1rem;
  text-align: center;
}

.fr-news-no-results i,
.fr-news-no-results strong,
.fr-news-no-results span {
  display: block;
}

.fr-news-no-results i {
  margin-bottom: 0.75rem;
  color: var(--fr-blue);
  font-size: 1.5rem;
}

.fr-news-no-results strong {
  color: var(--fr-navy);
  font-size: 1rem;
}

.fr-news-no-results span {
  margin-top: 0.25rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
}

.fr-news-load-more-wrap {
  margin-top: 2rem;
  text-align: center;
}

/* =========================================================
   FINAL CTA
   ========================================================= */
.fr-news-final {
  padding: 3.2rem 0;
  background: var(--fr-navy);
}

.fr-news-final-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.fr-news-final-card h2 {
  margin: 0.35rem 0 0.5rem;
  color: #fff;
  font-family: var(--fr-heading-font);
  font-size: clamp(2rem, 3.5vw, 2.85rem);
}

.fr-news-final-card p {
  max-width: 760px;
  margin: 0;
  color: #c7d6df !important;
  line-height: 1.6;
}

.fr-news-final-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}

.fr-news-btn-light,
.fr-news-btn-outline {
  padding: 0.82rem 1.3rem;
  border-radius: 8px;
  font-weight: 700;
}

.fr-news-btn-light {
  border: 1px solid #fff;
  background: #fff;
  color: var(--fr-navy);
}

.fr-news-btn-light:hover {
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-news-btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.65);
  background: transparent;
  color: #fff;
}

.fr-news-btn-outline:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-news-hero {
    padding: 3.6rem 0;
  }
  .fr-news-hero-visual {
    max-width: 650px;
    margin: 1rem auto 0;
  }
  .fr-news-signup-card {
    grid-template-columns: 1fr;
  }
  .fr-news-featured {
    grid-template-columns: auto 1fr;
  }
  .fr-news-featured-manager {
    grid-column: 1/-1;
    padding: 1rem 0 0;
    border-top: 1px solid var(--fr-line);
    border-left: 0;
  }
  .fr-news-final-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .fr-news-final-actions {
    width: 100%;
  }
}
@media (max-width: 767.98px) {
  .fr-news-hero {
    padding: 2.8rem 0;
  }
  .fr-news-hero h1 {
    font-size: 2.65rem;
  }
  .fr-news-hero-lead {
    font-size: 0.95rem;
  }
  .fr-news-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-news-hero-actions .btn {
    width: 100%;
  }
  .fr-news-hero-badge {
    position: relative;
    left: auto;
    bottom: auto;
    max-width: none;
    margin: -28px 12px 0;
  }
  .fr-news-signup-card {
    padding: 1.2rem;
  }
  .fr-news-signup-copy {
    align-items: flex-start;
  }
  .fr-news-signup-form {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-news-signup-form .btn {
    width: 100%;
  }
  .fr-news-benefit {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
  .fr-news-benefits .col-md-4:last-child .fr-news-benefit {
    border-bottom: 0;
  }
  .fr-news-featured {
    grid-template-columns: 1fr;
    padding: 1.25rem;
  }
  .fr-news-featured-mark {
    width: 58px;
    height: 58px;
    font-size: 1.3rem;
  }
  .fr-news-featured-manager {
    grid-column: auto;
  }
  .fr-news-year-filter {
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.25rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .fr-news-year-filter::-webkit-scrollbar {
    display: none;
  }
  .fr-news-year-filter button {
    flex: 0 0 auto;
  }
  .fr-news-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .fr-news-final-actions .btn {
    width: 100%;
  }
}
/* =========================================================
   SITE FLASH / THANKS MESSAGE
   ========================================================= */
.fr-flash-wrap {
  position: relative;
  z-index: 20;
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--fr-line);
  background: #f7fafc;
}

.fr-flash-wrap .container {
  background: transparent !important;
}

.fr-flash {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.9rem 1rem;
  border: 1px solid var(--fr-line);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 5px 16px rgba(13, 43, 77, 0.06);
}

.fr-flash-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 50%;
  font-size: 1rem;
}

.fr-flash-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.fr-flash-copy strong,
.fr-flash-copy span {
  display: block;
}

.fr-flash-copy strong {
  margin-bottom: 0.12rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-flash-copy span {
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.5;
  white-space: pre-line;
}

.fr-flash-success {
  border-color: #cfe5dc;
  background: linear-gradient(90deg, #f4fbf8 0%, #fff 75%);
}

.fr-flash-success .fr-flash-icon {
  background: #dff3ea;
  color: #177552;
}

.fr-flash-error {
  border-color: #efd3d3;
  background: linear-gradient(90deg, #fff5f5 0%, #fff 75%);
}

.fr-flash-error .fr-flash-icon {
  background: #f9dfdf;
  color: #b53a3a;
}

.fr-flash-errors {
  margin: 0.45rem 0 0;
  padding-left: 1.2rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

.fr-flash-errors li + li {
  margin-top: 0.25rem;
}

@media (max-width: 767.98px) {
  .fr-flash-wrap {
    padding: 0.65rem 0;
  }
  .fr-flash {
    align-items: flex-start;
    padding: 0.8rem;
  }
  .fr-flash-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
}
/* =========================================================
   LOGIN
   ========================================================= */
.fr-login-page {
  background: #fff;
}

.fr-login-page .container {
  background: transparent !important;
}

.fr-login-section {
  min-height: 650px;
  padding: 2.5rem 0;
  background: radial-gradient(circle at 88% 12%, rgba(51, 122, 183, 0.12), transparent 27%), linear-gradient(120deg, #f6f9fc 0%, #fff 58%, #edf5fb 100%);
}

/* =========================================================
   LOGIN SHELL
   ========================================================= */
.fr-login-shell {
  max-width: 980px;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr);
  overflow: hidden;
  margin: 0 auto;
  border: 1px solid var(--fr-line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 48px rgba(13, 43, 77, 0.11);
}

.fr-login-main {
  padding: 2.5rem;
}

.fr-login-heading {
  margin-bottom: 1.75rem;
}

.fr-login-heading h1 {
  margin: 0.35rem 0 0.55rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.2rem, 4vw, 3rem);
  font-weight: 600;
  line-height: 1.1;
}

.fr-login-heading p {
  max-width: 540px;
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.9375rem;
  line-height: 1.6;
}

/* =========================================================
   FORM
   ========================================================= */
.fr-login-form {
  display: grid;
  gap: 1rem;
}

.fr-login-field label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-login-input {
  position: relative;
}

.fr-login-input > i {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  color: var(--fr-blue);
  font-size: 0.9rem;
}

.fr-login-input .form-control {
  min-height: 52px;
  padding: 0.7rem 1rem 0.7rem 2.8rem;
  border: 1px solid #d6e0e8;
  border-radius: 9px;
  background: #fff;
  color: var(--fr-ink);
  box-shadow: none;
}

.fr-login-input .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 0.15rem 0 0.3rem;
}

.fr-login-remember {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  cursor: pointer;
}

.fr-login-remember input {
  width: 16px;
  height: 16px;
  accent-color: var(--fr-blue);
}

.fr-login-options > a {
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-login-options > a:hover {
  color: var(--fr-blue-dark);
}

.fr-login-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 0.2rem;
}

/* =========================================================
   NEW ACCOUNT
   ========================================================= */
.fr-login-new-account {
  text-align: center;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--fr-line);
}

.fr-login-new-account > span {
  color: var(--fr-muted);
  font-size: 0.875rem;
}

/* =========================================================
   MEMBER PANEL
   ========================================================= */
.fr-login-side {
  padding: 2.5rem 2rem;
  border-left: 1px solid var(--fr-line);
  background: linear-gradient(145deg, #edf6fc 0%, #f7fbfd 68%, #fff 100%);
}

.fr-login-side-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  margin-bottom: 1.1rem;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 1.3rem;
  box-shadow: 0 5px 15px rgba(13, 43, 77, 0.08);
}

.fr-login-side h2 {
  margin: 0.35rem 0 0.65rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.75rem;
}

.fr-login-side > p {
  margin: 0 0 1.35rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.65;
}

.fr-login-side-list {
  border-top: 1px solid var(--fr-line);
}

.fr-login-side-list > div {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding: 0.9rem 0;
  border-bottom: 1px solid var(--fr-line);
}

.fr-login-side-list > div > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
}

.fr-login-side-list strong,
.fr-login-side-list small {
  display: block;
}

.fr-login-side-list strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-login-side-list small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.4;
}

.fr-login-help {
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  margin-top: 1.25rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.fr-login-help i {
  margin-top: 0.15rem;
  color: var(--fr-blue);
}

/* =========================================================
   PARTNER SPOTLIGHT
   ========================================================= */
.fr-login-partner {
  max-width: 980px;
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: center;
  gap: 1.5rem;
  margin: 1.25rem auto 0;
  padding: 1.35rem 1.5rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-login-partner-logo {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem;
  border-right: 1px solid var(--fr-line);
}

.fr-login-partner-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 150px;
  max-height: 80px;
  -o-object-fit: contain;
     object-fit: contain;
}

.fr-login-partner-copy h2 {
  margin: 0.2rem 0 0.15rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
}

.fr-login-partner-copy > strong {
  display: block;
  color: var(--fr-ink);
  font-size: 0.875rem;
}

.fr-login-partner-copy p {
  margin: 0.5rem 0 0.65rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-login-section {
    padding: 3.5rem 0;
  }
  .fr-login-shell {
    grid-template-columns: 1fr;
    max-width: 700px;
  }
  .fr-login-side {
    border-top: 1px solid var(--fr-line);
    border-left: 0;
  }
  .fr-login-partner {
    max-width: 700px;
  }
}
@media (max-width: 767.98px) {
  .fr-login-section {
    padding: 2rem 0;
  }
  .fr-login-main,
  .fr-login-side {
    padding: 1.4rem;
  }
  .fr-login-heading h1 {
    font-size: 2.25rem;
  }
  .fr-login-options {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.65rem;
  }
  .fr-login-new-account {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }
  .fr-login-partner {
    grid-template-columns: 1fr;
    padding: 1.2rem;
  }
  .fr-login-partner-logo {
    height: 90px;
    justify-content: flex-start;
    border-right: 0;
    border-bottom: 1px solid var(--fr-line);
  }
}
/* =========================================================
   PASSWORD RESET
   ========================================================= */
.fr-password-shell {
  max-width: 900px;
}

.fr-password-side {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.fr-password-back {
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--fr-line);
  text-align: center;
}

.fr-password-back a {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--fr-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-decoration: none;
}

.fr-password-back a:hover {
  color: var(--fr-blue-dark);
}

.fr-password-help-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.3rem;
  padding: 1rem;
  border: 1px solid #d5e3eb;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.8);
}

.fr-password-help-card > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1rem;
}

.fr-password-help-card strong {
  display: block;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-password-help-card p {
  margin: 0.25rem 0 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.5;
}

.fr-password-help-card a {
  color: var(--fr-blue);
  font-weight: 700;
  text-decoration: none;
}

@media (max-width: 991.98px) {
  .fr-password-shell {
    max-width: 700px;
  }
}
/* =========================================================
   RENTAL FILTER TOOLBAR
   ========================================================= */
.fr-rental-filters {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  padding: 0.65rem 0.75rem;
}

.fr-rental-filter-label {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex: 0 0 auto;
  padding-right: 0.25rem;
  color: var(--fr-navy);
  font-size: 0.8125rem;
}

.fr-rental-filter-label > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.8rem;
}

.fr-rental-filter-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

/* =========================================================
   FILTER BUTTONS
   ========================================================= */
.fr-rental-filter-trigger {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.7rem 0.35rem 0.4rem;
  border: 1px solid #d7e1e9;
  border-radius: 10px;
  background: #fff;
  color: var(--fr-navy);
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 2px 5px rgba(13, 43, 77, 0.03);
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.fr-rental-filter-trigger:hover,
.fr-rental-filter-trigger[aria-expanded=true] {
  border-color: #a9c8df;
  background: #f8fbfd;
  color: var(--fr-blue-dark);
  box-shadow: 0 4px 10px rgba(13, 43, 77, 0.07);
}

.fr-rental-filter-trigger.active {
  border-color: #a9cce3;
  background: #edf6fc;
  color: var(--fr-blue-dark);
}

.fr-rental-filter-trigger-icon {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 30px;
  border-radius: 8px;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.8rem;
}

.fr-rental-filter-trigger.active .fr-rental-filter-trigger-icon,
.fr-rental-filter-trigger[aria-expanded=true] .fr-rental-filter-trigger-icon {
  background: var(--fr-blue);
  color: #fff;
}

.fr-rental-filter-chevron {
  margin-left: 0.1rem;
  color: #8295a7;
  font-size: 0.6rem;
}

.fr-rental-filter-count {
  min-width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: var(--fr-blue);
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 700;
}

/* =========================================================
   FILTER DROPDOWN
   ========================================================= */
.filter-dropdown-menu {
  overflow: hidden;
  margin-top: 0.55rem !important;
  border: 1px solid #d8e2e9;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 42px rgba(13, 43, 77, 0.16);
}

.filter-dropdown-header {
  padding: 1rem 1.1rem 0.9rem;
  border-bottom: 1px solid var(--fr-line);
  background: linear-gradient(135deg, #f7fafc 0%, #edf6fc 100%);
}

.filter-dropdown-header .fw-bold {
  color: var(--fr-navy);
  font-size: 0.9375rem;
}

.filter-dropdown-header .small {
  margin-top: 0.15rem;
  color: var(--fr-muted) !important;
  font-size: 0.8125rem;
}

.filter-dropdown-body {
  max-height: 310px;
  overflow-y: auto;
  padding: 0.8rem 0.9rem;
}

/* =========================================================
   OPTION ROWS
   ========================================================= */
.filter-check-row {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0.55rem 0.65rem;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--fr-ink);
  font-size: 0.875rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}

.filter-check-row:hover {
  background: #f5f8fa;
}

.filter-check-row.active {
  border-color: #c8dfef;
  background: #edf6fc;
  color: var(--fr-navy);
}

.filter-check-row input {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 0;
  accent-color: var(--fr-blue);
}

.filter-check-row span {
  line-height: 1.3;
}

/* =========================================================
   FOOTER
   ========================================================= */
.filter-dropdown-footer {
  padding: 0.75rem 0.9rem;
  border-top: 1px solid var(--fr-line);
  background: #f8fafc;
}

.filter-dropdown-footer .btn {
  min-height: 40px;
  border-radius: 8px;
  font-size: 0.875rem;
}

/* =========================================================
   GUEST COUNTERS
   ========================================================= */
.guest-counter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.8rem 0;
}

.guest-counter-row + .guest-counter-row {
  border-top: 1px solid var(--fr-line);
}

.guest-counter-controls {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.guest-counter-btn {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #cfdae2;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
  font-size: 1rem;
}

.guest-counter-btn:hover {
  border-color: var(--fr-blue);
  background: #edf5fb;
}

.guest-counter-input {
  width: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--fr-navy);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
}

/* =========================================================
   SCROLLBAR
   ========================================================= */
.filter-dropdown-body::-webkit-scrollbar {
  width: 7px;
}

.filter-dropdown-body::-webkit-scrollbar-track {
  background: transparent;
}

.filter-dropdown-body::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #bdc9d2;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-rental-filters {
    padding: 0.55rem;
  }
  .fr-rental-filter-label {
    display: none;
  }
}
/* =========================================================
   RENTAL FILTERS - XXL FIT
   ========================================================= */
/*
 * XL is already laid out correctly. On XXL the surrounding page layout
 * leaves less usable room for this toolbar, so reserve the Sort control's
 * space and tighten only the filter buttons at this breakpoint.
 */
@media (min-width: 1400px) {
  .fr-rental-filters {
    width: calc(100% - 190px);
    gap: 0.5rem;
    padding: 0.6rem;
  }
  .fr-rental-filter-label {
    gap: 0.35rem;
    padding-right: 10px;
    font-size: 1em;
  }
  .fr-rental-filter-controls {
    min-width: 0;
    flex-wrap: nowrap;
    gap: 0.35rem;
  }
  .fr-rental-filter-trigger {
    min-height: 40px;
    gap: 0.35rem;
    padding: 0.35rem 0.55rem 0.35rem 0.35rem;
    border-radius: 9px;
    font-size: 0.84375rem;
  }
  .fr-rental-filter-trigger-icon {
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    font-size: 0.75rem;
  }
  .fr-rental-filter-chevron {
    margin-left: 0;
  }
}
/* =========================================================
   CURRENT TRAVEL FILTER SET
   ========================================================= */
.fr-rental-date-dropdown {
  min-width: 390px;
}

.fr-rental-binary-dropdown {
  min-width: 250px;
}

.fr-rental-date-fields,
.fr-mobile-date-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.fr-rental-date-label {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--fr-navy);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.fr-rental-date-fields .form-control,
.fr-mobile-date-fields .form-control {
  min-height: 44px;
  border-color: #d2dee7;
  border-radius: 8px;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-rental-date-fields .form-control:focus,
.fr-mobile-date-fields .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 0.15rem rgba(51, 122, 183, 0.12);
}

.fr-rental-filter-toggle {
  margin: 0;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.fr-rental-filter-toggle input:focus-visible + .fr-rental-filter-trigger-icon {
  outline: 2px solid var(--fr-blue);
  outline-offset: 2px;
}

.fr-rental-filter-check {
  margin-left: 0.05rem;
  color: var(--fr-teal);
  font-size: 0.7rem;
}

.fr-mobile-filter-full {
  width: 100%;
}

.fr-mobile-filter-grid-three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fr-mobile-filter-grid-three .mobile-filter-option {
  justify-content: center;
}

@media (max-width: 575.98px) {
  .fr-mobile-date-fields {
    grid-template-columns: 1fr;
  }
}
/* =========================================================
   PARTNER SIGNUP
   ========================================================= */
.fr-partner-signup-page {
  background: #fff;
}

.fr-partner-signup-page .container {
  background: transparent !important;
}

/* =========================================================
   HERO
   ========================================================= */
.fr-partner-signup-hero {
  position: relative;
  overflow: hidden;
  padding: 4.75rem 0;
  background: radial-gradient(circle at 88% 15%, rgba(51, 122, 183, 0.18), transparent 29%), linear-gradient(120deg, #f5f9fc 0%, #fff 56%, #edf6fc 100%);
}

.fr-partner-signup-hero::after {
  position: absolute;
  right: -130px;
  bottom: -200px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(51, 122, 183, 0.1);
  border-radius: 50%;
  content: "";
}

.fr-partner-signup-hero-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.75fr);
  align-items: center;
  gap: 4rem;
}

.fr-partner-signup-hero-copy h1 {
  max-width: 760px;
  margin: 0.45rem 0 1rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: clamp(2.65rem, 5vw, 4.5rem);
  font-weight: 600;
  line-height: 1.03;
}

.fr-partner-signup-lead {
  max-width: 760px;
  margin-bottom: 0.8rem;
  color: var(--fr-ink);
  font-size: 1.05rem;
  line-height: 1.65;
}

.fr-partner-signup-hero-copy > p:not(.fr-partner-signup-lead) {
  max-width: 730px;
  color: var(--fr-muted);
  font-size: 0.9375rem;
  line-height: 1.7;
}

.fr-partner-signup-hero-points {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem 1.2rem;
  margin: 1.25rem 0 1.5rem;
}

.fr-partner-signup-hero-points span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: var(--fr-navy);
  font-size: 0.875rem;
  font-weight: 700;
}

.fr-partner-signup-hero-points i {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #dff3ea;
  color: #177552;
  font-size: 0.65rem;
}

.fr-partner-signup-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

/* =========================================================
   PARTNER VISUAL
   ========================================================= */
.fr-partner-signup-hero-visual {
  padding: 3px;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(51, 122, 183, 0.35), rgba(10, 143, 149, 0.2));
  box-shadow: 0 22px 50px rgba(13, 43, 77, 0.13);
}

.fr-partner-signup-partner-card {
  padding: 1.5rem;
  border-radius: 17px;
  background: #fff;
}

.fr-partner-signup-partner-label {
  margin-bottom: 1rem;
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-align: center;
  text-transform: uppercase;
}

.fr-partner-signup-logo {
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  border: 1px solid var(--fr-line);
  border-radius: 13px;
  background: #fff;
}

.fr-partner-signup-logo img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 115px;
  -o-object-fit: contain;
     object-fit: contain;
}

.fr-partner-signup-plus {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0.9rem 0;
}

.fr-partner-signup-plus span {
  height: 1px;
  flex: 1;
  background: var(--fr-line);
}

.fr-partner-signup-plus strong {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1rem;
}

.fr-partner-signup-findrentals {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
}

.fr-partner-signup-fr-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  border-radius: 50%;
  background: var(--fr-navy);
  color: #fff;
}

.fr-partner-signup-findrentals small,
.fr-partner-signup-findrentals strong {
  display: block;
}

.fr-partner-signup-findrentals small {
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-partner-signup-findrentals strong {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.35rem;
}

.fr-partner-signup-partner-footer {
  margin-top: 1.1rem;
  padding-top: 0.9rem;
  border-top: 1px solid var(--fr-line);
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-align: center;
}

/* =========================================================
   HEADINGS
   ========================================================= */
.fr-partner-signup-section-heading p {
  color: var(--fr-muted);
  line-height: 1.65;
}

/* =========================================================
   BENEFITS
   ========================================================= */
.fr-partner-signup-benefit-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.fr-partner-signup-benefit {
  padding: 1.45rem;
  border: 1px solid var(--fr-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-partner-signup-benefit > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 1.05rem;
}

.fr-partner-signup-benefit h3 {
  margin: 0 0 0.5rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.15rem;
}

.fr-partner-signup-benefit p {
  margin: 0;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

/* =========================================================
   FORM AREA
   ========================================================= */
.fr-partner-signup-form-shell {
  display: grid;
  grid-template-columns: minmax(280px, 0.65fr) minmax(0, 1.35fr);
  gap: 2rem;
  align-items: start;
}

.fr-partner-signup-form-intro {
  padding: 1rem 0.75rem 1rem 0;
}

.fr-partner-signup-form-intro h2 {
  margin: 0.35rem 0 0.7rem;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 2rem;
}

.fr-partner-signup-form-intro > p {
  color: var(--fr-muted);
  font-size: 0.9375rem;
  line-height: 1.65;
}

.fr-partner-signup-steps {
  margin-top: 1.5rem;
}

.fr-partner-signup-steps > div {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-top: 1px solid var(--fr-line);
}

.fr-partner-signup-steps > div > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  border-radius: 50%;
  background: var(--fr-blue);
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 800;
}

.fr-partner-signup-steps strong,
.fr-partner-signup-steps small {
  display: block;
}

.fr-partner-signup-steps strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-partner-signup-steps small {
  margin-top: 0.15rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* Hostfully */
.fr-partner-signup-connect {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 1.2rem;
  padding: 1rem;
  border: 1px solid #cfe1ee;
  border-radius: 11px;
  background: #edf6fc;
}

.fr-partner-signup-connect > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 50%;
  background: #fff;
  color: var(--fr-blue);
}

.fr-partner-signup-connect strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-partner-signup-connect p {
  margin: 0.2rem 0 0.35rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.fr-partner-signup-connect a {
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
}

/* Form card */
.fr-partner-signup-form-card {
  padding: 1.75rem;
  border: 1px solid var(--fr-line);
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 12px 34px rgba(13, 43, 77, 0.09);
}

.fr-partner-signup-form-heading {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1.4rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid var(--fr-line);
}

.fr-partner-signup-form-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 48px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partner-signup-form-heading h2 {
  margin: 0;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.45rem;
}

.fr-partner-signup-form-heading p {
  margin: 0.1rem 0 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

.fr-partner-signup-form label {
  display: block;
  margin-bottom: 0.4rem;
  color: var(--fr-navy);
  font-size: 0.8125rem;
  font-weight: 700;
}

.fr-partner-signup-form .form-control {
  min-height: 48px;
  border: 1px solid #d6e0e8;
  border-radius: 9px;
  background: #fff;
  color: var(--fr-ink);
  font-size: 0.875rem;
  box-shadow: none;
}

.fr-partner-signup-form .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.1);
}

.fr-partner-signup-submit {
  width: 100%;
  min-height: 50px;
  margin: 1.3rem 0 0 !important;
  padding: 0.7rem 1rem;
  border: 0;
  border-radius: 9px;
  background: var(--fr-blue);
  color: #fff;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 800;
}

.fr-partner-signup-submit:hover {
  background: var(--fr-blue-dark);
}

.fr-partner-signup-disclaimer {
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
  margin: 0.75rem 0 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

.fr-partner-signup-disclaimer i {
  margin-top: 0.15rem;
  color: var(--fr-blue);
}

/* Success */
.fr-partner-signup-success {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid #cfe5dc;
  border-radius: 10px;
  background: #f4fbf8;
}

.fr-partner-signup-success > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 50%;
  background: #dff3ea;
  color: #177552;
}

.fr-partner-signup-success strong {
  display: block;
  color: var(--fr-navy);
  font-size: 0.875rem;
}

.fr-partner-signup-success p {
  margin: 0.1rem 0 0;
  color: var(--fr-muted);
  font-size: 0.8125rem;
}

/* =========================================================
   VALUE CARDS
   ========================================================= */
.fr-partner-signup-value-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: 980px;
  margin: 0 auto;
}

.fr-partner-signup-value-card {
  padding: 1.6rem;
  border: 1px solid var(--fr-line);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 5px 18px rgba(13, 43, 77, 0.05);
}

.fr-partner-signup-value-card-blue {
  border-color: #d1e3ef;
  background: linear-gradient(145deg, #edf6fc, #fff);
}

.fr-partner-signup-value-heading {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1rem;
}

.fr-partner-signup-value-heading > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 50%;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-partner-signup-value-heading h3 {
  margin: 0;
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.25rem;
}

.fr-partner-signup-value-card ul {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.fr-partner-signup-value-card li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--fr-muted);
  font-size: 0.875rem;
  line-height: 1.45;
}

.fr-partner-signup-value-card li i {
  margin-top: 0.2rem;
  color: var(--fr-teal);
  font-size: 0.7rem;
}

.fr-partner-signup-book-direct {
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid #d5e3ec;
}

.fr-partner-signup-book-direct strong,
.fr-partner-signup-book-direct span {
  display: block;
}

.fr-partner-signup-book-direct strong {
  color: var(--fr-navy);
  font-family: var(--fr-heading-font);
  font-size: 1.05rem;
}

.fr-partner-signup-book-direct span {
  margin-top: 0.15rem;
  color: var(--fr-blue);
  font-size: 0.8125rem;
  font-weight: 700;
}

/* =========================================================
   LG
   ========================================================= */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .fr-partner-signup-hero {
    padding: 3.75rem 0;
  }
  .fr-partner-signup-hero-grid {
    grid-template-columns: minmax(0, 1.1fr) 320px;
    gap: 2.5rem;
  }
  .fr-partner-signup-hero-copy h1 {
    font-size: 3.15rem;
  }
  .fr-partner-signup-benefit-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-partner-signup-form-shell {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 1.5rem;
  }
}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-partner-signup-hero {
    padding: 3.5rem 0;
  }
  .fr-partner-signup-hero-grid,
  .fr-partner-signup-form-shell {
    grid-template-columns: 1fr;
  }
  .fr-partner-signup-hero-grid {
    gap: 2rem;
  }
  .fr-partner-signup-hero-visual {
    max-width: 520px;
  }
  .fr-partner-signup-benefit-grid,
  .fr-partner-signup-value-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fr-partner-signup-form-intro {
    padding: 0;
  }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .fr-partner-signup-hero {
    padding: 2.5rem 0;
  }
  .fr-partner-signup-hero-copy h1 {
    font-size: 2.55rem;
  }
  .fr-partner-signup-hero-actions {
    display: grid;
  }
  .fr-partner-signup-hero-actions .btn {
    width: 100%;
  }
  .fr-partner-signup-benefit-grid,
  .fr-partner-signup-value-grid {
    grid-template-columns: 1fr;
  }
  .fr-partner-signup-form-card {
    padding: 1.2rem;
  }
  .fr-partner-signup-form-heading {
    align-items: flex-start;
  }
}
.fr-partner-signup-section-heading {
  width: 100%;
  max-width: none;
  margin: 0 0 2rem;
  text-align: center;
}

.fr-partner-signup-section-heading .fr-eyebrow {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.fr-partner-signup-section-heading .fr-section-heading {
  width: 100%;
  max-width: none;
  margin: 0.35rem 0 0;
  text-align: center;
}

.fr-partner-signup-section-heading p {
  max-width: 760px;
  margin: 0.65rem auto 0;
  text-align: center;
}

/* =========================================================
   LOCATION BROWSER
   ========================================================= */
.fr-browse-nav {
  position: relative;
  margin-bottom: 2rem;
}

.fr-browse-panel {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: var(--bs-border-radius);
  background: #fff;
  box-shadow: 0 7px 22px rgba(13, 43, 77, 0.07);
}

.fr-browse-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1rem 1rem 0.75rem;
}

.fr-browse-heading > div {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}

.fr-browse-heading strong {
  color: var(--fr-navy);
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.fr-browse-heading-icon {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  border-radius: 9px;
  background: #edf5fb;
  color: var(--fr-blue);
}

/* Search */
.fr-browse-search {
  position: relative;
  margin: 0 0.9rem 0.9rem;
}

.fr-browse-search > i {
  position: absolute;
  top: 50%;
  left: 0.8rem;
  transform: translateY(-50%);
  color: #8295a7;
  font-size: 0.75rem;
}

.fr-browse-search-input {
  width: 100%;
  min-height: 39px;
  padding: 0.55rem 0.75rem 0.55rem 2.15rem;
  border: 1px solid #d7e1e9;
  border-radius: 8px;
  background: #fff;
  color: var(--fr-ink);
  font-family: inherit;
  font-size: 0.8125rem;
  outline: 0;
}

.fr-browse-search-input:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 3px rgba(51, 122, 183, 0.09);
}

/* =========================================================
   SECTIONS
   ========================================================= */
.fr-browse-sections {
  display: grid;
  gap: 0.75rem;
  padding: 0 0.75rem 0.75rem;
}

.fr-browse-section {
  overflow: hidden;
  border: 1px solid #dce4ea;
  border-radius: 11px;
  background: #fff;
}

.fr-browse-section-heading {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.75rem 0.8rem;
  border-bottom: 1px solid #edf1f4;
  background: linear-gradient(135deg, #fbfdff, #f5f9fc);
}

.fr-browse-section-heading > span {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  flex: 0 0 25px;
  border-radius: 7px;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.7rem;
}

.fr-browse-section-heading strong {
  min-width: 0;
  color: var(--fr-navy);
  line-height: 1.25;
}

/* =========================================================
   LINKS
   ========================================================= */
.fr-browse-item + .fr-browse-item {
  border-top: 1px solid #edf1f4;
}

.fr-browse-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  min-height: 42px;
  padding: 0.55rem 0.75rem 0.55rem 0.9rem;
  color: var(--fr-ink);
  font-size: 0.8125rem;
  line-height: 1.3;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.fr-browse-link:hover {
  background: #f5f9fc;
  color: var(--fr-blue);
}

.fr-browse-link > span {
  min-width: 0;
}

.fr-browse-link small {
  min-width: 27px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0 0.4rem;
  border-radius: 999px;
  background: #edf1f4;
  color: #566879;
  font-size: 0.6875rem;
  font-weight: 700;
}

/* =========================================================
   SHOW MORE
   ========================================================= */
.fr-browse-more {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.65rem 0.9rem;
  border: 0;
  border-top: 1px solid #edf1f4;
  background: #fff;
  color: var(--fr-blue);
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
}

.fr-browse-more:hover {
  background: #f8fbfd;
}

.fr-browse-more i {
  font-size: 0.55rem;
}

/* =========================================================
   EMPTY
   ========================================================= */
.fr-browse-empty,
.fr-browse-no-results {
  padding: 1rem;
  color: var(--fr-muted);
  font-size: 0.8125rem;
  text-align: center;
}

.fr-browse-no-results i {
  margin-right: 0.3rem;
  color: var(--fr-blue);
}

/* =========================================================
   MOBILE TRIGGER
   ========================================================= */
.fr-browse-mobile-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.75rem 0.85rem;
  border: 1px solid #d7e1e9;
  border-radius: 11px;
  background: #fff;
  color: var(--fr-navy);
  font-family: inherit;
  text-align: left;
  box-shadow: 0 4px 13px rgba(13, 43, 77, 0.07);
}

.fr-browse-mobile-trigger > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  flex: 0 0 38px;
  border-radius: 9px;
  background: #edf5fb;
  color: var(--fr-blue);
}

.fr-browse-mobile-trigger strong,
.fr-browse-mobile-trigger small {
  display: block;
}

.fr-browse-mobile-trigger strong {
  font-size: 0.875rem;
}

.fr-browse-mobile-trigger small {
  margin-top: 0.1rem;
  color: var(--fr-muted);
  font-size: 0.75rem;
  font-weight: 400;
}

.fr-browse-mobile-trigger > i {
  color: #8a9aa9;
  font-size: 0.7rem;
}

/* =========================================================
   MOBILE DRAWER
   ========================================================= */
.fr-browse-mobile-handle {
  width: 42px;
  height: 4px;
  margin: 0.55rem auto 0.15rem;
  border-radius: 999px;
  background: #a7b2bc;
}

.fr-browse-close {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--fr-navy);
}

.fr-browse-backdrop {
  position: fixed;
  z-index: 1054;
  inset: 0;
  background: rgba(7, 31, 57, 0.42);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.22s ease;
}

body.fr-browse-open {
  overflow: hidden;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width: 991.98px) {
  .fr-browse-nav {
    margin-bottom: 1rem;
  }
  .fr-browse-panel {
    position: fixed;
    z-index: 1055;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: 86vh;
    overflow-y: auto;
    border: 0;
    border-radius: 20px 20px 0 0;
    box-shadow: 0 -12px 40px rgba(7, 31, 57, 0.2);
    transform: translateY(105%);
    transition: transform 0.25s ease;
  }
  .fr-browse-nav.is-open .fr-browse-panel {
    transform: translateY(0);
  }
  .fr-browse-nav.is-open .fr-browse-backdrop {
    opacity: 1;
    pointer-events: auto;
  }
  .fr-browse-heading {
    position: sticky;
    z-index: 3;
    top: 0;
    padding: 0.65rem 1rem;
    background: #fff;
  }
  .fr-browse-heading-icon {
    display: none;
  }
  .fr-browse-heading strong {
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
  }
  .fr-browse-search {
    position: sticky;
    z-index: 2;
    top: 55px;
    margin: 0;
    padding: 0.5rem 1rem 0.8rem;
    background: #fff;
  }
  .fr-browse-search > i {
    left: 1.8rem;
  }
  .fr-browse-search-input {
    padding-left: 2.25rem;
  }
  .fr-browse-sections {
    padding: 0.1rem 1rem 1.25rem;
  }
  .fr-browse-section-heading {
    padding: 0.8rem;
  }
  .fr-browse-link {
    min-height: 46px;
    padding: 0.7rem 0.8rem;
  }
}
/* =========================================================
   LOCATION CONTENT NAVIGATION
   ========================================================= */
.fr-content-nav {
  overflow: hidden;
  margin-bottom: 2.5rem;
  border: 1px solid var(--fr-line);
  border-radius: var(--bs-border-radius);
  background: #fff;
  box-shadow: 0 7px 22px rgba(13, 43, 77, 0.07);
}

.fr-content-nav-heading {
  padding: 0.95rem 1rem;
  border-bottom: 1px solid #dce4ea;
  background: linear-gradient(135deg, #fbfdff, #f5f9fc);
}

.fr-content-nav-heading strong {
  display: block;
  color: var(--fr-navy);
  font-size: 1.25rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.fr-content-nav-list {
  display: block;
}

.fr-content-nav-link {
  min-height: 48px;
  display: flex;
  align-items: center;
  text-align: left;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.7rem 1rem;
  border-bottom: 1px solid #edf1f4;
  background: #fff;
  color: var(--fr-ink);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}

.fr-content-nav-link:last-child {
  border-bottom: 0;
}

.fr-content-nav-link:hover {
  background: #f5f9fc;
  color: var(--fr-blue);
}

.fr-content-nav-link small {
  min-width: 30px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: #edf1f4;
  color: #566879;
  font-size: 0.75rem;
  font-weight: 700;
}

/* Active */
.fr-content-nav-link.active {
  background: var(--fr-blue);
  color: #fff;
}

.fr-content-nav-link.active:hover {
  background: var(--fr-blue-dark);
  color: #fff;
}

.fr-content-nav-link.active small {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* Mobile */
@media (max-width: 991.98px) {
  .fr-content-nav {
    margin-bottom: 1rem;
  }
  .fr-content-nav-link {
    min-height: 50px;
    padding: 0.75rem 1rem;
    font-size: 0.9375rem;
  }
}
/* =========================================================
   CONTENT SEARCH + NAVIGATION
   ========================================================= */
.fr-content-navigation-search {
  padding: 1.15rem;
  border: 1px solid var(--fr-line);
  border-radius: var(--bs-border-radius);
  background: linear-gradient(135deg, #fff 0%, #f8fbfd 55%, #eef6fb 100%);
  box-shadow: 0 6px 18px rgba(13, 43, 77, 0.06);
}

.fr-content-navigation-search-label {
  margin-bottom: 0.3rem;
  color: var(--fr-blue);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fr-content-navigation-search-title {
  margin-bottom: 0.85rem;
  color: var(--fr-navy);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.fr-content-navigation-search-input {
  position: relative;
}

.fr-content-navigation-search-input i {
  position: absolute;
  top: 50%;
  left: 0.9rem;
  z-index: 2;
  color: #8ca0b0;
  transform: translateY(-50%);
}

.fr-content-navigation-search-input .form-control {
  height: 44px;
  padding-left: 2.5rem;
  border-color: #cedce6;
  border-radius: 8px;
  background: #fff;
  font-size: 0.875rem;
}

.fr-content-navigation-search-input .form-control:focus {
  border-color: var(--fr-blue);
  box-shadow: 0 0 0 0.15rem rgba(51, 122, 183, 0.12);
}

/* =========================================================
   NAVIGATION LINKS
   ========================================================= */
.fr-content-navigation {
  overflow: hidden;
  border: 1px solid var(--fr-line);
  border-radius: var(--bs-border-radius);
  background: #fff;
  box-shadow: 0 6px 18px rgba(13, 43, 77, 0.06);
}

.fr-content-navigation-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.95rem 1rem;
  border-bottom: 1px solid #e7edf2;
  color: inherit;
  text-decoration: none;
  transition: background 0.18s ease, padding-left 0.18s ease;
}

.fr-content-navigation-item:last-child {
  border-bottom: 0;
}

.fr-content-navigation-item:hover {
  padding-left: 1.15rem;
  background: #f7fafc;
  text-decoration: none;
}

.fr-content-navigation-item-content {
  min-width: 0;
  flex: 1;
}

.fr-content-navigation-item-title {
  margin-bottom: 0.15rem;
  color: var(--fr-navy);
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.3;
}

.fr-content-navigation-item:hover .fr-content-navigation-item-title {
  color: var(--fr-blue);
}

.fr-content-navigation-item-description {
  color: var(--fr-muted);
  font-size: 0.78rem;
  line-height: 1.45;
}

.fr-content-navigation-item-arrow {
  flex-shrink: 0;
  color: #a7b7c4;
  font-size: 0.7rem;
  transition: color 0.18s ease, transform 0.18s ease;
}

.fr-content-navigation-item:hover .fr-content-navigation-item-arrow {
  color: var(--fr-blue);
  transform: translateX(2px);
}

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 767.98px) {
  .fr-content-navigation-search {
    padding: 1rem;
  }
  .fr-content-navigation-search-title {
    font-size: 0.95rem;
  }
  .fr-content-navigation-item {
    padding: 0.9rem;
  }
  .fr-content-navigation-item-description {
    font-size: 0.8rem;
  }
}
/* =========================================================
   SEARCH AUTOCOMPLETE
   Shared by homepage, header, manager hub and rental hub.
   ========================================================= */
.fr-search-autocomplete {
  position: relative;
  min-width: 0;
}

.fr-search-autocomplete .twitter-typeahead {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}

.fr-search-autocomplete .tt-menu {
  z-index: 2500 !important;
  width: 100% !important;
  min-width: 360px !important;
  max-width: min(520px, 100vw - 32px) !important;
  max-height: 430px;
  margin-top: 8px !important;
  padding: 0 !important;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid #d8e2ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 16px 38px rgba(7, 31, 57, 0.16) !important;
}

.fr-search-autocomplete .tt-dataset + .tt-dataset {
  border-top: 1px solid var(--fr-line);
}

.fr-search-suggestion-heading {
  padding: 0.65rem 0.85rem 0.45rem;
  background: #f8fafc;
  color: #718091;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.fr-search-autocomplete .tt-suggestion {
  padding: 0 0 0 5px !important;
  background: #fff !important;
  color: var(--fr-ink) !important;
  font-size: 0.9375rem !important;
  cursor: pointer;
}

.fr-search-suggestion {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 48px;
  padding: 0.55rem 0.8rem;
  transition: background 0.15s ease, color 0.15s ease;
}

.fr-search-suggestion-icon {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  flex: 0 0 32px;
  border-radius: 9px;
  background: #edf5fb;
  color: var(--fr-blue);
  font-size: 0.8rem;
}

.fr-search-suggestion-icon.manager {
  background: #eef6f6;
  color: var(--fr-teal);
}

.fr-search-suggestion-icon.property {
  background: #f3f5f7;
  color: var(--fr-navy);
}

.fr-search-suggestion-name {
  min-width: 0;
  overflow: hidden;
  color: var(--fr-ink);
  font-weight: 600;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.fr-search-autocomplete .tt-suggestion:hover .fr-search-suggestion,
.fr-search-autocomplete .tt-suggestion.tt-cursor .fr-search-suggestion {
  background: #edf5fb;
}

.fr-search-autocomplete .tt-suggestion:hover .fr-search-suggestion-name,
.fr-search-autocomplete .tt-suggestion.tt-cursor .fr-search-suggestion-name {
  color: var(--fr-blue-dark);
}

.fr-search-autocomplete .tt-highlight {
  color: var(--fr-navy);
  font-weight: 800;
}

@media (max-width: 767.98px) {
  .fr-search-autocomplete .tt-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: none !important;
    max-height: 55vh;
  }
  .fr-search-suggestion {
    min-height: 50px;
    padding: 0.6rem 0.75rem;
  }
}
