/* ===========================================================
   BellaVanti — brand layer
   Restyles the existing pages. Adds no markup and removes no
   functionality: search, filters and booking stay exactly as they are.
   =========================================================== */
:root{
  --bv-gold:        #b8924f;
  --bv-gold-soft:   #d4b887;
  --bv-ink:         #15171b;
  --bv-ink-soft:    #3f454e;
  --bv-paper:       #faf8f5;   /* warm ivory, not white */
  --bv-hair:        rgba(21,23,27,.13);
  --bv-serif: 'Playfair Display', Georgia, serif;
  --bv-sans:  'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
}

/* ================= PAGE ================= */
body, .bravo_wrap{
  background: var(--bv-paper);
  font-family: var(--bv-sans);
  font-weight:400;
  font-size: 17px;
  line-height: 1.7;
  letter-spacing: 0;
  color: #23272e;
}
.bravo_wrap p{ margin:0 0 1.35em; line-height:1.82; font-weight:400; }
.bravo_wrap p:last-child{ margin-bottom:0; }

/* ================= HEADER — white, so the logo is used as supplied ========= */
.bravo_header,
.bravo_header.t-fixed-header,
.bravo_header#BackgroundHeader,
#bravo-header{
  background: #ffffff !important;
  border-bottom: 1px solid var(--bv-hair);
  box-shadow: none !important;
}
.bravo_header#BackgroundHeader{ box-shadow: 0 1px 18px rgba(21,23,27,.07) !important; }

/* nav: dark, light weight, wide tracking — the logo's own tagline treatment */
.bravo_header .bravo-menu ul li a,
.bravo_header .content .header-left .bravo-menu ul li a,
.bravo_wrap .bravo_header .bravo-menu > ul > li > a{
  color: var(--bv-ink) !important;
  font-family: var(--bv-sans) !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  letter-spacing: .1em !important;
  text-transform: uppercase;
  line-height: 1.6;
}
.bravo_header .bravo-menu ul li a:hover,
.bravo_header .bravo-menu ul li.current-menu-item > a{ color: var(--bv-gold) !important; }
.bravo_header .bravo-menu ul li ul{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  margin:0 !important; padding:0 !important; list-style:none;
}
.bravo_header .bravo-menu ul li ul li a{ font-size:14.5px !important; letter-spacing:.07em !important; padding-top:11px !important; padding-bottom:11px !important; }
.bravo_header i, .bravo_header .fa, .bravo_header .icon{ color: var(--bv-ink); }

/* logo at its supplied proportions — never stretched */
/* Header sits in normal flow and sticks on scroll, so it can never overlap
   the page content the way a fixed/transparent header did. */
.bravo_header, .bravo_header.t-fixed-header, #bravo-header{
  position: sticky !important;
  top: 0;
  z-index: 1000;
  background:#fff !important;
}
.bravo_header .t-header-content, .bravo_header .content{ padding-top:4px; padding-bottom:4px; }

/* one logo only: the nav-centred mark. The second copy is for mobile. */
/* Client's file (bellavantologofinal.jpg) used exactly as supplied — the file
   itself is untouched. Only a display height is set; width stays auto so the
   browser keeps its own aspect ratio. */
.header-logo-item img{
  height:84px !important;
  width:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain;
  display:block;
}
.header-logo-item{ display:flex; align-items:center; }
@media (min-width:992px){ .header-left1 .t-header-mobile-logo{ display:none !important; } }
@media (max-width:991px){ .t-header-mobile-logo{ height:56px !important; width:auto !important; max-width:none !important; } }

/* the banner no longer needs to clear an overlaid header */
.full-height-custom-banner{ padding-top:0; }

/* the hero sits under a solid header now, so give it clearance */


/* ================= TYPE ================= */
/* NOTE: deliberately no `color` here. Several blocks sit on dark photographic
   backgrounds with their own light text; setting a colour globally painted
   those headings near-black on dark brown. Shape the type, leave colour alone. */
.bravo_wrap h1,.bravo_wrap h2,.bravo_wrap h3,.bravo_wrap h4,.bravo_wrap h5{
  font-family: var(--bv-serif);
  font-weight: 400;
  letter-spacing: .004em;
  line-height: 1.2;
  margin: 0 0 .55em;
  text-transform: none;
}

/* Blocks laid over dark imagery — keep their text light and legible. */
.main-home-block-style_1 .home-block-title,
.main-home-block-style_1 .home-block-subtitle,
.main-home-block-style_2 .home-block-title,
.main-home-block-style_2 .home-block-subtitle,
.bravo-call-to-action .context .title,
.bravo-call-to-action .context .sub_title,
.full-height-custom-banner h1,
.full-height-custom-banner h2{ color:#fff !important; }

.main-home-block-style_1 .home-block-subtitle,
.main-home-block-style_2 .home-block-subtitle,
.bravo-call-to-action .context .sub_title{
  color: var(--bv-gold-soft) !important;
  font-family: var(--bv-sans) !important;
  font-weight:400;
  font-size: 11.5px !important;
  letter-spacing: .32em;
  text-transform: uppercase;
  margin-bottom: 16px;
}
/* dark blocks need a scrim or the photo eats the text */
.main-home-block-style_1 .home-block-2-background,
.main-home-block-style_2 .home-block-2-background{ position:relative; }
.main-home-block-style_2 .home-block-2-bottom-content-wrapper,
.main-home-block-style_1 .home-block-2-bottom-content-wrapper{ position:relative; z-index:2; }
.main-home-block-style_2 .home-block-2-wrapper::before,
.main-home-block-style_1 .home-block-2-wrapper::before{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(10,9,7,.58) 0%, rgba(10,9,7,.30) 45%, rgba(10,9,7,.66) 100%);
}
.main-home-block-style_2 .home-block-2-wrapper,
.main-home-block-style_1 .home-block-2-wrapper{ position:relative; }
.bravo_wrap h1{ font-size: clamp(34px,4.4vw,58px); }
.bravo_wrap h2{ font-size: clamp(27px,3.2vw,42px); }
.bravo_wrap h3{ font-size: clamp(21px,2.1vw,28px); }

/* section eyebrow + title */
.custom-text.sub-heading{
  font-family: var(--bv-sans) !important; font-weight:400;
  text-transform:uppercase; letter-spacing:.34em; font-size:11px !important;
  color: var(--bv-gold); margin:0 0 10px !important;
  line-height:1.6 !important;   /* site.css forces 35px, which opens a hole */
}
.custom-text.text-heading{
  font-family: var(--bv-serif) !important; font-weight:400;
  text-transform:none !important; letter-spacing:.004em; line-height:1.16;
  margin:0 !important;
}
/* Section headings: the eyebrow and the title are two sibling .custom-text
   elements, so any padding here applies to BOTH and pushes them apart.
   Space the section once, on the wrapper. */
.bravo_wrap .custom-text{ padding-top:0 !important; }
.bravo_wrap .container .bravo-text{ margin-top:72px !important; margin-bottom:0 !important; }
.bravo_wrap .t-offer-slider-title{ padding-top:0 !important; }
.bravo_wrap .custom-text + *{ margin-top:26px; }
/* a gold hairline under each section title */

/* ================= HERO ================= */
.full-height-custom-banner{ position:relative; background-position:center 38% !important; background-size:cover !important; }
.full-height-custom-banner::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(8,10,13,.42) 0%, rgba(8,10,13,.14) 40%, rgba(8,10,13,.72) 100%);
}
.full-height-custom-banner .home-banner-table,
.full-height-custom-banner .bravo_form,
.full-height-custom-banner .t-home-search-form{ position:relative; z-index:3; }
.full-height-custom-banner .sub-heading{
  font-family:var(--bv-sans); font-weight:200; text-transform:uppercase;
  letter-spacing:.4em; font-size:12px; color:var(--bv-gold-soft); margin:0 0 20px; line-height:1.6;
}
.full-height-custom-banner .text-heading,
.full-height-custom-banner #custom-banner-title{
  font-family:var(--bv-serif); font-weight:400; color:#fff;
  font-size:clamp(40px,5.6vw,80px); line-height:1.08; letter-spacing:.003em;
  text-transform:none; margin:0 0 30px;
}

/* Search bar: left exactly as the platform ships it — not restyled. */

/* ================= BUTTONS ================= */
.bravo_wrap .bravo-call-to-action .btn, .bravo_wrap .btn-bookmark-submit{
  border-radius: 2px !important;
  background: var(--bv-gold) !important;
  border: 1px solid var(--bv-gold) !important;
  color:#fff !important;
  font-family: var(--bv-sans);
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: .2em;
  font-size: 12px;
  padding: 15px 34px;
  line-height: 1.4;
  box-shadow: none;
  transition: background .3s ease, color .3s ease, border-color .3s ease;
}
.bravo_wrap .bravo-call-to-action .btn:hover, .bravo_wrap .btn-bookmark-submit:hover{
  background: var(--bv-ink) !important; border-color: var(--bv-ink) !important; color:#fff !important;
}

/* Photo rules removed: they forced aspect-ratio and height:100% onto the
   services/offer tiles and collapsed them. The property card styles its own
   image under .bv-pcard__media and needs nothing here. */

/* Legacy card rules removed. They reached into the services tiles
   (.t-offer-block-item) and news items (.item-news) and stripped their
   background, border and shadow. The property card is .bv-pcard and is
   styled on its own further down. */

.t-home-house-location{
  font-family: var(--bv-sans); font-weight:400; font-size:10.5px;
  letter-spacing:.24em; text-transform:uppercase; color: var(--bv-ink-soft);
}
/* price in brand gold, serif */
.text-price, .price, .onsale_price, .t-home-house-price{
  font-family: var(--bv-serif) !important;
  color: var(--bv-gold) !important;
  font-weight: 400 !important;
  letter-spacing: .01em;
}

/* ================= FOOTER ================= */
.bravo_footer h3,.bravo_footer h4,.bravo_footer .title{
  font-family:var(--bv-serif); font-weight:400; letter-spacing:.004em; line-height:1.3;
}
.bravo_footer, .bravo_footer p, .bravo_footer a, .bravo_footer li{
  font-family:var(--bv-sans); font-weight:400; line-height:1.9; letter-spacing:.012em;
}
.bravo_footer a:hover{ color: var(--bv-gold); }

/* ================= ARABIC ================= */
html[lang="egy"] body, body.is-rtl, .is-rtl p, .is-rtl a, .is-rtl span{
  font-family:'Noto Sans Arabic', var(--bv-sans) !important;
}

/* ================= MOBILE ================= */
@media (max-width:767px){
  body, .bravo_wrap{ font-size:16px; line-height:1.78; }
  
  .bravo_wrap .custom-text{ padding-top:58px; }
  .full-height-custom-banner .sub-heading{ letter-spacing:.26em; font-size:11px; }
  
}

/* ===== Dropdowns: the originals are #1E1E1E with white 700-weight text,
   which disappears on a white header. Re-set them for the light header. ===== */
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu,
.bravo_wrap .bravo_header#BackgroundHeader .content .header-left .bravo-menu ul li > .menu,
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown{
  background:#fff !important;
  margin-top:0 !important;
  border:1px solid var(--bv-hair);
  box-shadow:0 14px 34px rgba(21,23,27,.10);
  padding:8px 0 !important;
  min-width:220px;
}
/* one plain list inside one plain panel: the legacy sheet set the row padding
   to 100px on the right and let the inner ul size itself, which is what made
   the panel look like two boxes nested. */
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown ul{
  width:100% !important; text-align:left;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown li{
  padding:0 !important; margin:0 !important; width:100%; float:none; display:block;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown li a::after{
  display:none !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown li a,
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu li a{
  color: var(--bv-ink) !important;
  font-family: var(--bv-sans) !important;
  font-weight: 400 !important;
  font-size: 14.5px !important;
  letter-spacing: .07em !important;
  text-transform: uppercase;
  padding: 10px 22px !important;
  display:block; white-space:nowrap; border:0 !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown li a:hover,
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu li a:hover{
  color: var(--bv-gold) !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown li:hover a::after{
  background: var(--bv-gold) !important;
}

/* the header must paint over page content while sticking */
.bravo_wrap .bravo_header.t-fixed-header{ max-height:none !important; }
.bravo_header .t-header-container{ background:#fff; }

/* general.css forces `color: white !important` on menu hover — invisible on a
   white header. Same specificity, loaded later, so this wins. */
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li:hover a{
  color: var(--bv-gold) !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li:hover > .menu-dropdown a,
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li:hover > .menu a{
  color: var(--bv-ink) !important;
}
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu-dropdown a:hover,
.bravo_wrap .bravo_header .content .header-left .bravo-menu ul li > .menu a:hover{
  color: var(--bv-gold) !important;
}

/* ===========================================================
   Property card — vertical: image above, details beneath.
   Replaces the wide image-left / text-right split.
   =========================================================== */
.bv-pcard{
  /* The gutter is PADDING, not margin. Slick writes an inline width onto each
     slide, so a margin gets absorbed by its width maths and no gap appears.
     Padding sits inside that width, so the gap always shows. */
  box-sizing:border-box !important;
  padding:0 26px !important;
  margin:0 !important;
  background:transparent;
  text-align:left;
  transition:transform .4s ease;
}
.bv-pcard:hover{ transform:translateY(-5px); }
.bv-pcard__media, .bv-pcard__body{ background:#fff; }
.bv-pcard:hover .bv-pcard__media{ box-shadow:0 18px 40px rgba(21,23,27,.14); }

.bv-pcard__media{
  position:relative;
  overflow:hidden;
  aspect-ratio:4/3;
  background:#eceae6;
}
.bv-pcard__media a{ display:block; width:100%; height:100%; }
.bv-pcard__media img{
  width:100% !important; height:100% !important;
  object-fit:cover; display:block; border-radius:0 !important;
  transition:transform 1.15s cubic-bezier(.2,.7,.3,1);
}
.bv-pcard:hover .bv-pcard__media img{ transform:scale(1.06); }

.bv-pcard__ref{
  position:absolute; left:0; bottom:0; z-index:2;
  background:rgba(21,23,27,.78); color:#fff;
  font-family:var(--bv-sans); font-weight:400; font-size:10px;
  letter-spacing:.2em; text-transform:uppercase; padding:8px 14px;
}
.bv-pcard__fav{
  position:absolute; right:14px; top:14px; z-index:3;
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.92);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:background .25s ease, transform .25s ease;
}
.bv-pcard__fav:hover{ background:#fff; transform:scale(1.07); }
.bv-pcard__fav i{ font-size:15px; color:var(--bv-ink); }
.bv-pcard__fav.active i, .bv-pcard__fav.active-wishlist i{ color:var(--bv-gold); }

.bv-pcard__body{ padding:24px 0 6px; }
.bv-pcard__loc{
  font-family:var(--bv-sans); font-weight:400; font-size:10.5px;
  letter-spacing:.26em; text-transform:uppercase; color:var(--bv-ink-soft);
  margin:0 0 10px;
}
.bv-pcard__title{
  font-family:var(--bv-serif); font-weight:400; font-size:21px;
  line-height:1.32; margin:0 0 12px; letter-spacing:.004em;
  /* two lines, so cards in a row stay level */
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:2.64em;
}
.bv-pcard__title a{ color:var(--bv-ink); text-decoration:none; transition:color .25s ease; }
.bv-pcard:hover .bv-pcard__title a{ color:var(--bv-gold); }

.bv-pcard__price{
  font-family:var(--bv-serif); font-size:22px; color:var(--bv-gold);
  margin:0 0 16px; line-height:1.3;
}

.bv-pcard__specs{
  list-style:none; margin:0; padding:16px 0 0;
  border-top:1px solid var(--bv-hair);
  display:flex; flex-wrap:wrap; align-items:center; gap:0;
}
.bv-pcard__specs li{
  font-family:var(--bv-sans); font-weight:400; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--bv-ink-soft);
  padding:0 16px; line-height:1.5;
  border-left:1px solid var(--bv-hair);
}
.bv-pcard__specs li:first-child{ padding-left:0; border-left:0; }
.bv-pcard__specs li span{ color:var(--bv-ink); font-weight:400; }

.bv-pcard__review{
  font-family:var(--bv-sans); font-weight:400; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--bv-ink-soft);
  margin:14px 0 0;
}

/* the slider track must allow equal-height slides */
.t-home-house-slider .slick-track{ display:flex; align-items:stretch; }
.t-home-house-slider .slick-dots{ margin-top:46px; }
.t-home-house-slider .slick-slide{ height:auto; }
.t-home-house-slider .slick-slide > div{ height:100%; }

@media (max-width:767px){
  .bv-pcard{ padding:0 10px !important; }
  .bv-pcard__title{ font-size:19px; }
  .bv-pcard__price{ font-size:20px; }
  .bv-pcard__specs li{ padding:0 12px; font-size:10px; letter-spacing:.14em; }
}

/* Hero text: general.css sizes these by ID (#custom-banner-title 75px,
   #custom-banner-subtitle 50px), which outranks any class selector. My
   letter-spacing applied but my font-size did not, so the 50px subtitle
   wrapped across the headline. Match the ID specificity here. */
.full-height-custom-banner #custom-banner-title{
  font-size: clamp(40px, 5.4vw, 76px) !important;
  line-height: 1.08 !important;
  margin: 0 0 22px !important;
}
.full-height-custom-banner #custom-banner-subtitle{
  font-size: 13px !important;
  letter-spacing: .34em !important;
  line-height: 1.7 !important;
  font-weight:400 !important;
  margin: 0 !important;
}
@media (max-width: 767px){
  .full-height-custom-banner #custom-banner-title{ font-size: 34px !important; }
  .full-height-custom-banner #custom-banner-subtitle{ font-size: 11px !important; letter-spacing:.24em !important; }
}

/* ===========================================================
   About block (home_blocks style_1) — rebuilt.
   Asymmetric: text column on a dark field, image bleeding off
   the right edge. Three labelled lines instead of one long
   paragraph of adjectives.
   =========================================================== */
.bvab{
  background:#15171b !important;
  color:#fff;
  margin:0 !important;
  overflow:hidden;
}
.bvab__inner{
  /* geometry comes from the site's own .container class (added in the blade),
     so this block always lines up with every other section */
  display:grid; grid-template-columns:1fr 1fr; gap:84px; align-items:center;
}
.bvab__text{ padding:150px 0; max-width:680px; }

.bvab__eyebrow{
  font-family:var(--bv-sans); font-weight:400; font-size:11px;
  letter-spacing:.34em; text-transform:uppercase; color:var(--bv-gold-light,#d4b186);
  margin:0 0 20px; line-height:1.6;
}
.bvab__eyebrow::after{
  content:''; display:block; width:54px; height:1px;
  background:var(--bv-gold); margin-top:20px;
}
.bvab__title{
  font-family:var(--bv-serif); font-weight:400; color:#fff;
  /* big type carries the section now that the copy is three lines long */
  font-size:clamp(40px,5.2vw,78px); line-height:1.05; letter-spacing:-.004em;
  margin:0 0 34px; max-width:13ch;
}
.bvab__lead p{
  font-family:var(--bv-sans); font-weight:400;
  /* !important: .page-template-content p pins paragraphs at 16px */
  color:rgba(255,255,255,.8); margin:0 0 20px;
}
.bvab__lead p:last-child{ margin-bottom:0; }

/* three labelled lines */
.bvab__points{ margin:40px 0 0; }
.bvab__points ul{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(255,255,255,.16); }
.bvab__points li{
  display:grid; grid-template-columns:168px 1fr; gap:26px; align-items:baseline;
  padding:20px 0; border-bottom:1px solid rgba(255,255,255,.16);
  font-family:var(--bv-sans); font-weight:400; font-size:16px; line-height:1.85;
  color:rgba(255,255,255,.66);
}
.bvab__points li strong{
  font-family:var(--bv-sans); font-weight:400; font-size:11px;
  letter-spacing:.24em; text-transform:uppercase; color:var(--bv-gold-light,#d4b186);
}

.bvab__btn{
  display:inline-block; margin-top:40px;
  font-family:var(--bv-sans); font-weight:400; font-size:12px;
  letter-spacing:.22em; text-transform:uppercase;
  padding:17px 42px; border:1px solid var(--bv-gold);
  background:var(--bv-gold); color:#fff !important; text-decoration:none;
  transition:background .3s ease, color .3s ease;
}
.bvab__btn:hover{ background:transparent; color:var(--bv-gold-light,#d4b186) !important; text-decoration:none; }

/* image bleeds off the right edge */
.bvab__media{ position:relative; align-self:stretch; min-height:660px; }
.bvab__img{
  position:absolute; top:0; bottom:0; left:0; right:-50vw;
  background-size:cover; background-position:center;
}

@media (max-width:1024px){
  .bvab__inner{ grid-template-columns:1fr; gap:0; }
  .bvab__text{ padding:80px 0 56px; max-width:none; }
  .bvab__media{ min-height:420px; }
  .bvab__img{ left:-50vw; right:-50vw; }
  .bvab__points li{ grid-template-columns:140px 1fr; gap:18px; }
}
@media (max-width:767px){

  .bvab__text{ padding:58px 0 40px; }
  .bvab__title{ max-width:none; }
  .bvab__media{ min-height:300px; }
  .bvab__img{ left:-20px; right:-20px; }
  .bvab__points li{ grid-template-columns:1fr; gap:4px; padding:16px 0; }
  .bvab__btn{ width:100%; text-align:center; }
}

/* One body size across the homepage. The legacy sheets set paragraph sizes
   per block (14px, 16px, 18px, 20px), which is what makes the page look like
   several different documents stitched together. */
.bravo_wrap .page-template-content p,
.bravo_wrap .page-template-content li,
.bravo_wrap .home-block-description p,
.bravo_wrap .home-block-2-description p{
  font-size:16px !important;
  line-height:1.85 !important;
}

/* ===========================================================
   Beyond Expectations (home_blocks style_2) — the two long
   paragraphs of adjectives are gone; what is left is one short
   line per row, set large enough to carry the row on its own.
   =========================================================== */
.bravo_wrap .home-block-2-bottom-content-wrapper{
  padding:86px 0 96px !important; background-color:var(--bv-ink) !important;
}
.bravo_wrap .home-block-2-bottom-content-wrapper .home-block-title{
  margin-bottom:54px !important;
}
.bravo_wrap .home-block-style-2-left-col,
.bravo_wrap .home-block-style-2-col{
  padding:0 15px !important;
}
.bravo_wrap .home-block-2-bottom-content-wrapper .row + .row{ margin-top:30px; }
.bravo_wrap .home-block-2-image{ min-height:420px; }
.bravo_wrap .home-block-description-2{ width:100% !important; padding:0 24px; }
.bravo_wrap .home-block-description-2 p{
  font-family:var(--bv-sans) !important; font-weight:400;
  font-size:18px !important; line-height:1.72 !important;
  color:rgba(255,255,255,.8) !important; margin:0; max-width:44ch;
}
.bravo_wrap .main-home-block-style_2 .home-block-subtitle,
.bravo_wrap .home-block-2-bottom-content-wrapper .home-block-subtitle{
  font-size:11px !important; letter-spacing:.34em !important;
}

/* The card gutter is padding inside each slide, so the first card's image sat
   26px right of every other section. Pull the whole slider back by exactly the
   gutter: image left edge then matches the section titles. Measured, not guessed. */
.t-home-house-slider{ margin-left:-26px; margin-right:-26px; }
@media (max-width:767px){
  .t-home-house-slider{ margin-left:-10px; margin-right:-10px; }
}

/* ===========================================================
   Services — real grid, caption under the image
   =========================================================== */
.bvsv{ padding:0 0 40px; }
.bvsv__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:64px 40px; }
.bvsv__item{ display:block; text-decoration:none; }
.bvsv__media{ position:relative; overflow:hidden; aspect-ratio:4/3; background:#eceae6; }
.bvsv__media::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:38%;
  background:linear-gradient(to top, rgba(0,0,0,.5), rgba(0,0,0,0));
}
.bvsv__media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform 1.15s cubic-bezier(.2,.7,.3,1);
}
.bvsv__item:hover .bvsv__media img{ transform:scale(1.06); }
.bvsv__foot{
  display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:16px;
  padding:0; margin-top:14px;
}
.bvsv__no{
  position:absolute; left:28px; bottom:20px; z-index:2;
  font-family:var(--bv-serif); font-weight:400; font-size:46px; line-height:1;
  color:#fff;
}
.bvsv__name{
  font-family:var(--bv-serif); font-weight:400; font-size:22px; line-height:1.3;
  color:var(--bv-ink); margin:0; text-transform:none;
}
.bvsv__item:hover .bvsv__name{ color:var(--bv-gold); }
.bvsv__go{ color:rgba(21,23,27,.28); transition:color .3s ease, transform .3s ease; }
.bvsv__item:hover .bvsv__go{ color:var(--bv-gold); transform:translateX(5px); }

/* ===========================================================
   Booking, Simplified — three tall photographs. Portrait on
   purpose: the Services grid above is landscape, so the two
   rows do not read as the same component twice.
   =========================================================== */
.bvst{ background:var(--bv-paper); padding:96px 0 104px; margin-top:76px; }
.bvst__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:46px; }
.bvst__step{ display:block; text-decoration:none; }
.bvst__media{
  position:relative; overflow:hidden; aspect-ratio:3/4; background:#e6e3de;
}
.bvst__img{
  position:absolute; top:0; right:0; bottom:0; left:0;
  background-size:cover; background-position:center;
  transition:transform 1.3s cubic-bezier(.2,.7,.3,1);
}
.bvst__step:hover .bvst__img{ transform:scale(1.05); }
/* scrim so the numeral stays legible on a light photograph */
.bvst__media::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:42%;
  background:linear-gradient(to top, rgba(0,0,0,.52), rgba(0,0,0,0));
}
.bvst__no{
  position:absolute; left:28px; bottom:20px; z-index:2;
  font-family:var(--bv-serif); font-weight:400; font-size:46px; line-height:1;
  color:#fff;
}
.bvst__foot{ padding-top:16px; }
.bvst__title{
  font-family:var(--bv-serif); font-weight:400; font-size:30px; line-height:1.2;
  color:var(--bv-ink); margin:0 0 12px; text-transform:none;
}
.bvst__desc{
  font-family:var(--bv-sans); font-weight:400;
  font-size:16px !important; line-height:1.8 !important;
  color:var(--bv-ink-soft); margin:0; max-width:34ch;
}
.bvst__step:hover .bvst__title{ color:var(--bv-gold); }

@media (max-width:1024px){
  .bvsv__grid{ grid-template-columns:1fr 1fr; gap:56px 28px; }
  .bvst__grid{ grid-template-columns:1fr 1fr; gap:56px 34px; }
  .bvst{ padding:70px 0 76px; margin-top:56px; }
}
@media (max-width:767px){
  .bvsv__grid{ grid-template-columns:1fr; gap:66px; }
  .bvsv__name{ font-size:20px; }
  .bvst__grid{ grid-template-columns:1fr; gap:66px; }
  .bvst__no{ font-size:38px; left:20px; }
  .bvst__title{ font-size:25px; }
}


/* ===========================================================
   Header: menu set at reading size and spread across the same
   container as the page sections; the floating gold login icon
   (carried over from the original site) replaced by a plain
   text link at the end of the menu row.
   =========================================================== */
.rightFloat, #bravo_notify{ display:none !important; }

@media (min-width:992px){
  /* the header row carried bootstrap's negative margins plus extra padding, so
     the menu row was 56px wider than .container and could not line up with the
     page sections. Pin it to the same 15px gutter the sections use. */
  .bravo_wrap .bravo_header .t-main-header-row{ margin-left:0 !important; margin-right:0 !important; }
  .bravo_wrap .bravo_header .t-main-header-row > .t-header-col{
    padding-left:0 !important; padding-right:0 !important;
  }
  .bravo_wrap .bravo_header .content .header-left{
    display:flex !important; align-items:center; width:100%; min-width:0 !important;
  }
  .bravo_wrap .bravo_header .content .header-left .bravo-menu{
    flex:1 1 auto; min-width:0; margin:0 !important;
  }
  .bravo_wrap .bravo_header .content .header-left .bravo-menu > ul.main-menu{
    display:flex !important; align-items:center; justify-content:flex-end;
    width:100%; margin:0 !important; padding:0 !important;
    gap:clamp(10px,1.4vw,26px);
  }
  .bravo_wrap .bravo_header .content .header-left .bravo-menu > ul.main-menu > li{
    margin:0 !important; padding:0 !important;
  }
  /* the menu walker injects the logo in the middle of the list; pull it out to
     the far left and let the auto margin push every other item to the right */
  .bravo_wrap .bravo_header .content .header-left .bravo-menu > ul.main-menu > li.header-logo-item{
    order:-1; margin-right:auto !important;
  }
  .bv-account{ flex:0 0 auto; display:flex; align-items:center; gap:26px; padding-left:38px; }
}
.bv-account__link{
  font-family:var(--bv-sans); font-weight:400; font-size:13px;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--bv-ink) !important; text-decoration:none; white-space:nowrap;
  transition:color .25s ease;
}
.bv-account__link:hover{ color:var(--bv-gold) !important; text-decoration:none; }
@media (max-width:991px){ .bv-account{ display:none; } }

/* ===========================================================
   The Collection slider: plain rectangles. general.css rotates
   the dots 45deg into diamonds, which was the original site's
   motif — overridden here, not edited there.
   =========================================================== */
.t-home-house-slider .slick-dots{ bottom:-48px; right:26px; align-items:center; }
.t-home-house-slider .slick-dots li{ margin:0 8px 0 0; line-height:0; }
.t-home-house-slider .slick-dots li:last-child{ margin-right:0; }
.t-home-house-slider .slick-dots button,
.t-home-house-slider .slick-dots .slick-active button{
  width:36px !important; height:2px !important;
  transform:none !important; border-radius:0 !important;
  margin:0 !important; padding:0 !important;
}
.t-home-house-slider .slick-dots button{ background:rgba(21,23,27,.2) !important; }
.t-home-house-slider .slick-dots .slick-active button{ background:var(--bv-gold) !important; }

/* ===========================================================
   About block type — raised specificity. .page-template-content p
   and the theme's heading rules both carry !important, so the
   class-only selectors above were losing.
   =========================================================== */
.bravo_wrap .bvab .bvab__title{
  font-size:clamp(38px,4.6vw,68px) !important; line-height:1.07 !important;
  max-width:16ch;
}
.bravo_wrap .page-template-content .bvab__lead p,
.bravo_wrap .bvab .bvab__lead p{
  font-size:18px !important; line-height:1.72 !important;
}
.bravo_wrap .bvab .bvab__lead{ max-width:46ch; }


/* ===========================================================
   Footer: one solid colour. The original had a blurred
   photograph behind a 60% black overlay, a dark green panel and
   a separate black copyright strip — three tones for one block.
   =========================================================== */
.bravo_wrap .bravo_footer{ background:var(--bv-ink) !important; }
.bravo_wrap .bravo_footer .main-footer{
  background:var(--bv-ink) !important; padding:78px 0 64px;
}
.bravo_wrap .bravo_footer .main-footer::before,
.bravo_wrap .bravo_footer .main-footer::after{ display:none !important; }
.bravo_wrap .bravo_footer .copy-right{
  background:var(--bv-ink) !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  padding:26px 0;
}
.bravo_wrap .bravo_footer .FirstFooterItem{ text-align:left !important; }
.bravo_wrap .bravo_footer .main-footer .nav-footer .title{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:19px !important; line-height:1.4 !important; margin-bottom:22px !important;
  color:#fff !important;
}

/* Narrower desktops: six top-level labels plus the logo plus the account link
   need ~1256px at 17px, so below ~1600 the row has to step down. Font, logo
   height and gap all shrink together; every breakpoint below was measured in
   the browser, not estimated. */
.bravo_wrap .bravo_header .bravo-menu > ul.main-menu > li > a{ white-space:nowrap; }
@media (min-width:1400px) and (max-width:1599px){
  .bravo_header .bravo-menu ul li a,
  .bravo_header .content .header-left .bravo-menu ul li a,
  .bravo_wrap .bravo_header .bravo-menu > ul > li > a{
    font-size:15px !important; letter-spacing:.07em !important;
  }
  .header-logo-item img{ height:72px !important; }
  .bv-account__link{ font-size:12px; letter-spacing:.16em; }
  .bv-account{ padding-left:26px; gap:20px; }
}
@media (min-width:1250px) and (max-width:1399px){
  .bravo_header .bravo-menu ul li a,
  .bravo_header .content .header-left .bravo-menu ul li a,
  .bravo_wrap .bravo_header .bravo-menu > ul > li > a{
    font-size:13px !important; letter-spacing:.05em !important;
  }
  .header-logo-item img{ height:62px !important; }
  .bv-account__link{ font-size:11px; letter-spacing:.13em; }
  .bv-account{ padding-left:20px; gap:16px; }
}
@media (min-width:1080px) and (max-width:1249px){
  .bravo_header .bravo-menu ul li a,
  .bravo_header .content .header-left .bravo-menu ul li a,
  .bravo_wrap .bravo_header .bravo-menu > ul > li > a{
    font-size:11.5px !important; letter-spacing:.03em !important;
  }
  .header-logo-item img{ height:52px !important; }
  .bv-account__link{ font-size:10px; letter-spacing:.1em; }
  .bv-account{ padding-left:14px; gap:12px; }
}

/* Smallest desktop band: the account link is dropped here (it is still in the
   burger menu) so the six labels keep a readable size. */
@media (min-width:992px) and (max-width:1079px){
  .bravo_header .bravo-menu ul li a,
  .bravo_header .content .header-left .bravo-menu ul li a,
  .bravo_wrap .bravo_header .bravo-menu > ul > li > a{
    font-size:11px !important; letter-spacing:.02em !important;
  }
  .header-logo-item img{ height:48px !important; }
  .bv-account{ display:none !important; }
}

/* ===========================================================================
   ONE SYSTEM FOR THE HOMEPAGE
   Everything below replaces the per-section patches above. Three rules only:

     RAIL      every section's content starts and ends on the same vertical
               line: the .container box plus its 15px gutter.
     TYPE      one size for every section heading, one size for item titles,
               one size for body copy. No block invents its own.
     RHYTHM    one space above a heading, one space below it, and item gaps
               that are always smaller than the space above the next heading.

   Measured at 1600 and 430 after every change, not eyeballed.
   =========================================================================== */

/* ---------- RAIL --------------------------------------------------------- */
/* Offenders found by measuring: .bravo-text pulled -15px left on mobile, the
   news and collection containers dropped their gutter on mobile, and the news
   sub-title carried a -3px nudge at every width. */
.bravo_wrap .page-template-content .container,
.bravo_wrap .bravo-list-news .container,
.bravo_wrap .bravo_footer .container{
  padding-left:15px !important; padding-right:15px !important;
}
.bravo_wrap .page-template-content .container > .bravo-text{
  margin-left:0 !important; margin-right:0 !important;
}
.bravo_wrap .bravo-list-news .sub-title{ margin-left:0 !important; }

/* ---------- TYPE --------------------------------------------------------- */
/* One section heading size, everywhere: The Collection, Services, Booking
   Simplified, Beyond Expectations, Our Blog and the About statement. */
.bravo_wrap .page-template-content .custom-text.text-heading,
.bravo_wrap .home-block-2-bottom-content-wrapper .home-block-title,
.bravo_wrap .bvab .bvab__title,
.bravo_wrap .page-template-content .bravo-list-news .title .sub-title{
  font-family:var(--bv-serif) !important;
  font-weight:400 !important;
  font-size:clamp(30px,3.4vw,48px) !important;
  line-height:1.12 !important;
  letter-spacing:.002em !important;
  text-transform:none !important;
  margin:0 !important;
}
/* "Stay Up-To-Date With" is the last floating eyebrow on the page. */
.bravo_wrap .bravo-list-news .container > .title{ font-size:0 !important; }
.bravo_wrap .bravo-list-news .container > .title > *{ font-size:initial; }
.bravo_wrap .bravo-list-news .ViewAll{
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:12px !important; letter-spacing:.2em; text-transform:uppercase;
  color:var(--bv-ink) !important;
}
.bravo_wrap .bravo-list-news .ViewAll:hover{ color:var(--bv-gold) !important; }

/* one item-title size: property card, service name, step name, news headline */
.bravo_wrap .bv-pcard__title,
.bravo_wrap .bvsv__name,
.bravo_wrap .bvst__title,
.bravo_wrap .news-item .item-news .title,
.bravo_wrap .news-item .item-news h3{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:24px !important; line-height:1.28 !important; text-transform:none !important;
}

/* ---------- RHYTHM ------------------------------------------------------- */
.bravo_wrap .page-template-content .container .bravo-text{
  margin-top:110px !important; margin-bottom:0 !important;
}
.bravo_wrap .page-template-content .custom-text + *{ margin-top:0; }
.bravo_wrap .t-offer-slider-title + *{ margin-top:44px !important; }
.bravo_wrap .t-offer-slider-title{ margin-bottom:0 !important; }
@media (max-width:767px){
  .bravo_wrap .page-template-content .container .bravo-text{ margin-top:72px !important; }
  .bravo_wrap .t-offer-slider-title + *{ margin-top:32px !important; }
}

/* The "Booking, Simplified" heading is its own page-builder block and sits
   above the step row, so the ivory band started below its own title. One
   background for the whole page instead. */
.bvst{ background:transparent !important; padding:0 0 24px !important; }

/* ---------- HEADER: login reads as a button ------------------------------ */
.bv-account__link.login-button{
  background:var(--bv-ink); color:#fff !important;
  padding:11px 26px; line-height:1;
  transition:background .25s ease, color .25s ease;
}
.bv-account__link.login-button:hover{ background:var(--bv-gold); color:#fff !important; }

/* ---------- RAIL, remaining offenders found by measuring ------------------ */
/* right-hand controls must end on the rail, not 10-16px short of it */
.bravo_wrap .bravo-list-news .ViewAll{ right:0 !important; margin-right:0 !important; }
@media (max-width:767px){
  /* the slider is pulled out by its own gutter at each breakpoint; the dots
     have to be pushed back in by the same amount or they float mid-row */
  .t-home-house-slider .slick-dots{ right:10px !important; }
  .bvsv__no, .bvst__no{ left:20px; bottom:16px; font-size:38px; }
}

/* The Beyond columns are col-lg-6, so they stack below 992 — not 768. Their
   side gutter has to go at the same breakpoint or the image overhangs the rail. */
@media (max-width:991px){
  .bravo_wrap .home-block-style-2-left-col,
  .bravo_wrap .home-block-style-2-col{ padding:0 !important; }
  .bravo_wrap .home-block-2-bottom-content-wrapper .row{
    margin-left:0 !important; margin-right:0 !important;
  }
  .bravo_wrap .home-block-2-bottom-content-wrapper .row + .row{ margin-top:34px; }
  .bravo_wrap .home-block-description-2{ padding:0 !important; }
}

/* ---------- RHYTHM inside the two feature blocks ------------------------- */
/* The TYPE rule above zeroes every heading margin, so the space under these
   two block headings has to be restated here, on the same scale as the
   section headings (44 / 32). */
.bravo_wrap .home-block-2-bottom-content-wrapper .home-block-title{ margin-bottom:44px !important; }
.bravo_wrap .bvab .bvab__title{ margin-bottom:34px !important; }
@media (max-width:991px){
  .bravo_wrap .home-block-2-bottom-content-wrapper .home-block-title{ margin-bottom:32px !important; }
  .bravo_wrap .home-block-2-bottom-content-wrapper .home-block-description-2{ margin-top:26px; }
  .bravo_wrap .bvab .bvab__title{ margin-bottom:26px !important; }
  /* stacked: the image sat edge-to-edge 20px outside the rail */
  .bvab__img{ left:0 !important; right:0 !important; }
  .bvab__media{ margin-top:14px; }
}

/* ===========================================================================
   Beyond Expectations: the banner photograph above the block is gone, so the
   wrapper's scrim goes with it, and the copy is set heavier — it was grey-on-
   charcoal at body size, which read as a caption rather than a statement.
   =========================================================================== */
.main-home-block-style_2 .home-block-2-background{ display:none !important; }
.main-home-block-style_2 .home-block-2-wrapper::before{ display:none !important; }
.main-home-block-style_2 .home-block-2-wrapper{ margin-top:110px !important; }
.bravo_wrap .home-block-description-2 p{
  font-size:22px !important; line-height:1.6 !important;
  color:rgba(255,255,255,.94) !important; font-weight:400 !important;
  max-width:40ch;
}
@media (max-width:991px){
  .main-home-block-style_2 .home-block-2-wrapper{ margin-top:72px !important; }
  .bravo_wrap .home-block-description-2 p{ font-size:19px !important; }
}

/* ===========================================================================
   Our Blog cards: same anatomy as every other card on the page — photograph,
   then a small eyebrow, then a serif title beneath it, all starting on the
   rail. The theme stacked the caption on top of the photo in centred caps.
   =========================================================================== */
.bravo_wrap .bravo-list-news .news-item{ padding:0 20px; box-sizing:border-box; }
.bravo_wrap .bravo-list-news .news-slider{ margin-left:-20px; margin-right:-20px; }
.bravo_wrap .bravo-list-news .item-news{
  position:static !important; background:transparent !important;
  height:auto !important; padding:0 !important; text-align:left !important;
}
.bravo_wrap .bravo-list-news .item-news::before,
.bravo_wrap .bravo-list-news .item-news::after,
.bravo_wrap .bravo-list-news .thumb-image::before,
.bravo_wrap .bravo-list-news .thumb-image::after{ display:none !important; }
.bravo_wrap .bravo-list-news .thumb-image{
  position:relative !important; overflow:hidden; aspect-ratio:4/3;
  height:auto !important; margin:0 !important; background:#eceae6;
}
.bravo_wrap .bravo-list-news .thumb-image img{
  width:100% !important; height:100% !important; object-fit:cover; display:block;
  transition:transform 1.15s cubic-bezier(.2,.7,.3,1);
}
.bravo_wrap .bravo-list-news .item-news:hover .thumb-image img{ transform:scale(1.05); }
.bravo_wrap .bravo-list-news .home-news-caption-table,
.bravo_wrap .bravo-list-news .home-news-caption-table-cell{
  position:static !important; display:block !important; height:auto !important;
  padding:0 !important; vertical-align:baseline !important; text-align:left !important;
  background:transparent !important; transform:none !important;
}
.bravo_wrap .bravo-list-news .home-news-caption-table{
  padding-top:18px !important;
  /* the theme centred this at 70% width, so every caption sat ~103px right of
     its own photograph */
  width:100% !important; max-width:none !important; margin:0 !important;
}
.bravo_wrap .bravo-list-news .item-date{
  display:flex; align-items:baseline; gap:8px; margin:0 0 10px !important;
}
.bravo_wrap .bravo-list-news .item-date,
.bravo_wrap .bravo-list-news .item-date *{
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:11px !important; letter-spacing:.2em !important; text-transform:uppercase !important;
  color:var(--bv-gold) !important; text-shadow:none !important; line-height:1.4 !important;
}
.bravo_wrap .bravo-list-news .item-title,
.bravo_wrap .bravo-list-news .item-title a{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:24px !important; line-height:1.28 !important;
  text-transform:none !important; text-align:left !important;
  color:var(--bv-ink) !important; text-shadow:none !important; margin:0 !important;
}
.bravo_wrap .bravo-list-news .item-title a:hover{ color:var(--bv-gold) !important; }

/* View All: a text link. LOGIN is the only button on the page. */
.bravo_wrap .bravo-list-news .ViewAll{
  background:transparent !important; padding:0 0 6px !important;
  border-bottom:1px solid var(--bv-hair); top:auto !important; bottom:auto !important;
  color:var(--bv-ink) !important;
}
.bravo_wrap .bravo-list-news .ViewAll:hover{
  color:var(--bv-gold) !important; border-color:var(--bv-gold);
}
.bravo_wrap .bravo-list-news .slick-dots{ margin-top:34px; }

/* the news heading is not a .t-offer-slider-title block, so it needs the same
   44 / 32 space under it explicitly */
.bravo_wrap .bravo-list-news .container > .title{ margin-bottom:44px !important; }
@media (max-width:767px){
  .bravo_wrap .bravo-list-news .container > .title{ margin-bottom:32px !important; }
}

/* ---------- RAIL: the two carousels --------------------------------------
   Measured right edges: the collection track ran 490px past the rail because
   general.css gives the slider clip-path:inset(... 0) and .slick-list
   overflow:inherit, so a partial 4th card bled to the window edge. The blog
   card stopped 14px short because .item-news carries a 98% width.           */
.t-home-house-slider{ clip-path:none !important; }
.t-home-house-slider .slick-list{ overflow:hidden !important; }
.bravo_wrap .bravo-list-news .item-news{ width:100% !important; }

/* ---------- RAIL: the last four offenders, all measured ------------------
   - the logo artwork was centred inside its menu item, 22px right of the rail
   - the collection carousel overran by ~2px on the 1/3 slide rounding
   - the About photograph bled 800px past the rail to the window edge
   - the blog dots were centred while the collection dots are right-aligned  */
.bravo_wrap .bravo_header .header-logo-item{ display:flex; justify-content:flex-start; }
.bravo_wrap .bravo_header .header-logo-item a{ display:block; }

.t-home-house-slider .slick-list{ clip-path:inset(0 26px 0 26px); }
@media (max-width:767px){
  .t-home-house-slider .slick-list{ clip-path:inset(0 10px 0 10px); }
}

.bvab__img{ right:0 !important; }

.bravo_wrap .bravo-list-news .slick-dots{
  display:flex !important; justify-content:flex-end; padding:0; list-style:none;
}
.bravo_wrap .bravo-list-news .slick-dots li{ margin:0 8px 0 0; line-height:0; }
.bravo_wrap .bravo-list-news .slick-dots li:last-child{ margin-right:0; }
.bravo_wrap .bravo-list-news .slick-dots button,
.bravo_wrap .bravo-list-news .slick-dots .slick-active button{
  width:36px !important; height:2px !important; transform:none !important;
  border-radius:0 !important; margin:0 !important; padding:0 !important;
}
.bravo_wrap .bravo-list-news .slick-dots button{ background:rgba(21,23,27,.2) !important; }
.bravo_wrap .bravo-list-news .slick-dots .slick-active button{ background:var(--bv-gold) !important; }

/* the logo sat 22px in because the menu gives every top-level <a> that padding */
.bravo_wrap .bravo_header .bravo-menu ul li.header-logo-item > a{
  padding-left:0 !important; padding-right:0 !important;
}
/* blog dots live inside the slider's negative gutter */
.bravo_wrap .bravo-list-news .slick-dots{ padding-right:20px !important; }

/* mobile header row: the burger overhung the rail by 15px */
.bravo_wrap .bravo_header .t-mobile-header-row{ margin-left:0 !important; margin-right:0 !important; }
.bravo_wrap .bravo_header .t-mobile-header-row > [class*="col-"]{ padding-left:0 !important; padding-right:0 !important; }

/* ===========================================================================
   HERO — rebuilt. Was centred text over a centred scrim; now the copy sits on
   the page rail at the left, over the darker sky side of the photograph, with
   the scrim weighted left instead of top-to-bottom. The search form below is
   untouched.
   =========================================================================== */
.full-height-custom-banner{
  background-position:center 62% !important;
  /* short enough that the search form below it is in view on a laptop */
  height:76vh !important; min-height:560px;
}
/* scrim: heavy on the left where the words are, light over the villa */
.full-height-custom-banner::after{
  background:
    linear-gradient(to right, rgba(8,10,13,.76) 0%, rgba(8,10,13,.50) 36%,
                              rgba(8,10,13,.14) 64%, rgba(8,10,13,.10) 100%),
    linear-gradient(to bottom, rgba(8,10,13,.26) 0%, rgba(8,10,13,0) 40%,
                               rgba(8,10,13,.40) 100%) !important;
}
.full-height-custom-banner .home-banner-table{ text-align:left !important; }
.full-height-custom-banner .home-banner-table-cell{ vertical-align:middle; }

/* eyebrow now sits above the headline */
.full-height-custom-banner .sub-heading,
.full-height-custom-banner #custom-banner-subtitle{
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:12px !important; letter-spacing:.3em !important;
  text-transform:uppercase; color:var(--bv-gold-soft) !important;
  margin:0 0 26px !important; line-height:1.6 !important;
}
.full-height-custom-banner #custom-banner-subtitle::after{
  content:''; display:block; width:64px; height:1px;
  background:var(--bv-gold); margin-top:26px;
}
.full-height-custom-banner .text-heading,
.full-height-custom-banner #custom-banner-title{
  font-size:clamp(38px,5vw,74px) !important;
  line-height:1.06 !important; letter-spacing:-.004em !important;
  margin:0 !important; max-width:19ch; text-wrap:balance;
  text-shadow:0 2px 28px rgba(0,0,0,.35);
}
@media (max-width:991px){
  .full-height-custom-banner{ height:auto !important; min-height:560px; padding:120px 0 90px; }
  .full-height-custom-banner #custom-banner-title{ font-size:clamp(32px,7vw,46px) !important; max-width:none; }
  .full-height-custom-banner::after{
    background:linear-gradient(to bottom, rgba(8,10,13,.50) 0%, rgba(8,10,13,.28) 40%,
                                          rgba(8,10,13,.62) 100%) !important;
  }
}

/* ===========================================================================
   SEARCH BAR — restyled, not rebuilt. No markup, class or JS change: the
   bootstrap tabs, smart-search inputs, budget dropdowns and the GET form all
   work exactly as before. Only paint.

   Was: a black/dark-green block of eight filled icon tiles over a grey strip
   of boxed inputs with a gold magnifier tile.
   Now: a white card lifted onto the hero, plain text tabs with a gold rule on
   the active one, hairline-separated fields, and a black submit matching the
   LOGIN button.
   =========================================================================== */
.bravo_wrap .page-template-content .searchContainer.bravo-form-search-all{
  margin-top:-104px; position:relative; z-index:5;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control{
  background:#fff !important; border:1px solid var(--bv-hair);
  box-shadow:0 26px 60px rgba(21,23,27,.14);
  padding:0 !important; border-radius:0 !important;
}

/* ---- tabs ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
  display:flex !important; flex-wrap:wrap; gap:0; margin:0 !important;
  padding:0 26px !important; border-bottom:1px solid var(--bv-hair) !important;
  background:#fff !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li{
  margin:0 !important; flex:0 0 auto;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; border-bottom:2px solid transparent !important;
  border-radius:0 !important; width:auto !important; height:auto !important;
  display:block !important; padding:20px 20px 17px !important;
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:12px !important; letter-spacing:.18em !important;
  text-transform:uppercase !important; color:var(--bv-ink-soft) !important;
  transition:color .25s ease, border-color .25s ease;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a:hover{
  color:var(--bv-ink) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a.active{
  background:transparent !important; background-color:transparent !important;
  color:var(--bv-ink) !important; border-bottom-color:var(--bv-gold) !important;
}
/* the icons were the loudest thing in the bar */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a i{
  display:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .searchTextContainer{
  display:block !important; font-size:inherit !important; line-height:1.2 !important;
  text-transform:uppercase; white-space:nowrap;
}

/* ---- field row ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .tab-content{ background:#fff; }
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{
  display:flex; align-items:stretch; background:#fff;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search{
  flex:1 1 auto; min-width:0; padding:0 !important; background:#fff !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row{
  margin:0 !important; align-items:stretch;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
  padding:22px 26px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]:first-child{
  border-left:0;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-group,
.bravo_wrap .page-template-content .bravo-form-search-all .form-content,
.bravo_wrap .page-template-content .bravo-form-search-all .filter-item{
  background:transparent !important; border:0 !important; padding:0 !important; margin:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all label{
  display:block; font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:10.5px !important; letter-spacing:.2em !important;
  text-transform:uppercase !important; color:var(--bv-gold) !important;
  margin:0 0 8px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; padding:0 !important; height:auto !important;
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:15px !important; color:var(--bv-ink) !important; line-height:1.5 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control::placeholder{
  color:rgba(21,23,27,.38) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper{ margin:0 !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col{ padding:0 18px 0 0 !important; }

/* ---- submit ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit{
  flex:0 0 auto; display:flex; align-items:stretch; padding:0 !important; margin:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button{
  background:var(--bv-ink) !important; border:0 !important; border-radius:0 !important;
  color:#fff !important; width:96px; height:auto; align-self:stretch;
  font-size:16px; transition:background .25s ease;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button:hover{
  background:var(--bv-gold) !important;
}

@media (max-width:991px){
  .bravo_wrap .page-template-content .searchContainer.bravo-form-search-all{ margin-top:-56px; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{ padding:0 14px !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
    padding:15px 12px 12px !important; font-size:11px !important; letter-spacing:.12em !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{ display:block; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
    border-left:0; border-top:1px solid var(--bv-hair); padding:16px 20px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]:first-child{
    border-top:0;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button{
    width:100%; padding:18px 0 !important;
  }
}

/* search bar, second pass — measured from the render:
   the grey behind each tab sits on the <li>, not the <a>, and the field row
   uses col-md-3/3/4 so it stopped 10/12 of the way across the card. */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li.active{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; box-shadow:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
  flex:1 1 0 !important; max-width:none !important; width:auto !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col{
  flex:1.5 1 0 !important;
}
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
    flex:1 1 100% !important;
  }
}

/* the theme caps the field strip at 85% and the submit at 15%, which left a
   white gap between the last field and the right edge of the card */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search{
  max-width:none !important; width:auto !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit{
  max-width:none !important; width:auto !important; flex:0 0 120px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button{
  width:100% !important;
}
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit{ flex:1 1 100% !important; }
}

/* …and it was being centred in the leftover space, so pin it to grow */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{
  justify-content:flex-start !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search{
  flex:1 1 auto !important; margin:0 !important;
}

/* the form wraps by default, which put the submit on its own line */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{
  flex-wrap:nowrap !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search{
  flex:1 1 0 !important; min-width:0 !important;
}
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{ flex-wrap:wrap !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search{ flex:1 1 100% !important; }
}

/* ---- search bar, readability pass -------------------------------------
   Gold 10.5px caps on white is the lowest-contrast text on the page, the
   label sat ~35px above its own input, and the cells were uneven. Darker
   labels, tighter pairs, equal cells, shorter bar.                        */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
  font-size:13px !important; letter-spacing:.1em !important;
  color:rgba(21,23,27,.5) !important; padding:19px 22px 16px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a:hover{
  color:var(--bv-ink) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a.active{
  color:var(--bv-ink) !important; font-weight:500 !important;
}

.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
  padding:18px 24px !important;
  display:flex !important; flex-direction:column; justify-content:center;
}
.bravo_wrap .page-template-content .bravo-form-search-all label{
  font-size:11px !important; letter-spacing:.14em !important;
  color:rgba(21,23,27,.5) !important; margin:0 0 7px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control{
  font-size:16px !important; color:var(--bv-ink) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control::placeholder{
  color:rgba(21,23,27,.5) !important;
}
/* the two budget fields are one cell: keep their internals on the same
   baseline as the single-field cells */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col{
  padding:0 20px 0 0 !important; display:flex; flex-direction:column; justify-content:center;
}
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper{
  margin:0 !important; flex-wrap:nowrap;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col{
  flex:1.45 1 0 !important;
}

/* ---- search bar, mobile pass ------------------------------------------
   1. every tab anchor carried `box-shadow: 0 4px 30px rgba(0,0,0,.1)`.
      On one line it read as a faint edge; wrapped onto three lines the
      shadows overlapped into the grey staircase behind the labels.
   2. only the two outermost fields got a divider, because the rest are
      nested deeper than `.g-field-search > .row > .col-*`. Put the rule on
      .form-group, which every field has.
   3. the budget pair stayed side by side and ran off the right edge.      */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
  box-shadow:none !important;
}
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control{ overflow:hidden; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
    padding:6px 8px !important; gap:0;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
    border-top:0 !important; padding:0 !important; display:block !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .form-group{
    padding:14px 20px !important; border-top:1px solid var(--bv-hair) !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search .form-group .form-group{
    padding:0 !important; border-top:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper{
    display:block !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col{
    padding:0 !important; width:100% !important; max-width:100% !important; flex:1 1 100% !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col + .budget-inner-col{
    margin-top:16px;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all label{
    font-size:10px !important; letter-spacing:.16em !important; margin:0 0 5px !important;
  }
}

/* ---- search bar, tab strip -------------------------------------------
   The grey staircase behind the mobile tabs was NOT a background and not a
   shadow: customv2.css puts `backdrop-filter: blur(25px) brightness(.5)` on
   every tab anchor (it was built for white tabs over a photo). On the white
   card, brightness(.5) darkens the card through each anchor box — which is
   why the grey matched the anchors exactly while every computed background
   read transparent. Kill the filter, and stop the seven tabs wrapping into
   a ragged stack on phones: one scrollable line instead.                  */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a.active{
  -webkit-backdrop-filter:none !important; backdrop-filter:none !important;
}

@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
    flex-wrap:nowrap !important; overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    padding:0 14px !important;
    -webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent 100%);
            mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent 100%);
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs::-webkit-scrollbar{
    display:none;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li{
    flex:0 0 auto !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
    white-space:nowrap; padding:17px 13px 14px !important;
    font-size:11px !important; letter-spacing:.12em !important;
  }
}

/* the two budget inputs were the only fields carrying an underline, so the
   cell read as a different kind of control from Location / Category. */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper .form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col .form-control{
  border:0 !important; border-bottom:0 !important; box-shadow:none !important;
}

/* The "underline" under the two budget inputs was the empty autocomplete
   list: .search-field-options carries a 1px box and width:calc(100% - 30px),
   so with no <li> inside it painted a short grey rule. Hide it until the
   script fills it, and give the filled list the card's own styling. */
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options:empty{
  display:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options{
  width:100% !important; border:1px solid var(--bv-hair) !important; border-radius:0 !important;
  box-shadow:0 18px 40px rgba(21,23,27,.12); padding:0 !important; margin:6px 0 0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options li{
  font-size:14px; color:var(--bv-ink);
}
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options li:hover{
  background:var(--bv-sand, #f6f4f0);
}
/* that 12px top padding put the budget labels 12px below every other label */
.bravo_wrap .page-template-content .bravo-form-search-all .t-homepage-search-budget-form{
  padding:0 !important;
}

/* desktop: seven tabs on one line, never a second ragged row */
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
    flex-wrap:nowrap !important; overflow-x:auto; scrollbar-width:none;
    padding:0 22px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs::-webkit-scrollbar{
    display:none;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li{
    flex:0 0 auto !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
    white-space:nowrap; padding:19px 14px 16px !important;
    font-size:12px !important; letter-spacing:.08em !important;
  }
}

/* every cell centred its own content, so cells whose markup is one wrapper
   deeper (budget / bedrooms / bathrooms) sat 15px lower than Location and
   Category. Top-align them all off one padding instead. */
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
    justify-content:flex-start !important; padding-top:24px !important; padding-bottom:24px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search .form-group{
    margin-bottom:0 !important;
  }
}

/* ---- search bar: one box per field ------------------------------------
   Hairline dividers could not tie a label to its own control, and the seven
   service forms are built on three different nestings (flat cells for Real
   Estate, a sub-grid for Short Term Rental, two levels for VIP). The one
   unit they all share is .form-group — one per field — so the box goes
   there, and the bootstrap gutters become the spacing between boxes.      */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{
  padding:10px !important; align-items:stretch !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .row{
  margin:0 !important; align-items:stretch !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form [class*="col-"]{
  padding:4px !important; min-width:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group{
  border:1px solid var(--bv-hair) !important; background:#fff !important;
  padding:13px 15px !important; margin:0 !important; height:100% !important;
  overflow:hidden;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-content{
  padding:0 !important;
}
/* the budget cell is one .form-group holding two fields, so the box moves
   down a level onto each of them */
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-group{
  border:0 !important; padding:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper{
  display:flex !important; height:100%; margin:0 !important;
}

.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-inner-col + .budget-inner-col{
  margin-left:8px;
}
/* bedrooms / bathrooms reuse that wrapper for a single field */
.bravo_wrap .page-template-content .bravo-form-search-all :not(.t-Budget-col) > * > .budget-input-wrapper > .budget-inner-col{
  border:0 !important; padding:0 !important; width:100% !important; max-width:100% !important;
}

/* Short Term Rental buries six fields in a col-md-8 sub-grid and VIP buries
   everything in a col-md-12: hoist those wrappers so every field sits in the
   same row as the rest and gets the same box. */
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .g-field-search > .row > .col-md-8,
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields,
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12{
  display:contents !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .g-field-search > .row,
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row{
  flex-wrap:wrap !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"]{
  flex:1 1 190px !important; max-width:none !important;
}

/* the two dates wrapped onto three lines and spilled past the card edge */
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper{
  display:flex !important; align-items:baseline; gap:6px; white-space:nowrap;
  padding:0 !important; background-image:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
.bravo_wrap .page-template-content .bravo-form-search-all .check-out-render{
  font-size:15px !important; color:var(--bv-ink) !important; display:inline-block !important;
  width:auto !important; padding:0 !important; line-height:1.3 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-wrapper span{
  position:static !important; top:auto !important; color:rgba(21,23,27,.45) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .date-wrapper,
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-wrapper{
  max-height:none !important; height:auto !important;
}
/* nothing may run over its own border */
.bravo_wrap .page-template-content .bravo-form-search-all .form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .render,
.bravo_wrap .page-template-content .bravo-form-search-all select{
  width:100% !important; max-width:100% !important;
  text-overflow:ellipsis; overflow:hidden; white-space:nowrap;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Location-col{ flex:1.25 1 0 !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Category-col{ flex:1.2 1 0 !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col{ flex:1.9 1 0 !important; }

@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form{ padding:8px !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .row{ flex-wrap:wrap !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form [class*="col-"]{
    flex:1 1 100% !important; max-width:100% !important; padding:4px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit{
    flex:1 1 100% !important; max-width:100% !important; padding:4px !important;
  }
}

/* ...and the reset for bedrooms/bathrooms was wiping the budget boxes too,
   because .form-content sits between them. Reset every inner col, then put
   the box back on the budget pair only. */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col{
  border:0 !important; padding:0 !important; width:100% !important; max-width:100% !important;
}

.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col + .budget-inner-col{
  margin-left:8px;
}
/* a touch tighter so the longest placeholders fit their boxes */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col{
  padding:12px 14px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .render{
  font-size:15px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Location-col{ flex:1.45 1 0 !important; }

/* equal box heights across the row, and enough width that no placeholder
   ellipsises */
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-content,
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .filter-item{
  height:100% !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .render{
  font-size:14px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Location-col{ flex:1.8 1 0 !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Category-col{ flex:1.5 1 0 !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col{ flex:2.2 1 0 !important; }
/* the generic .form-group padding had crept back onto the budget wrapper,
   leaving its two boxes 24px shorter than the rest of the row */
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-group{
  padding:0 !important; border:0 !important;
}

/* older passes still padded the cells (22/26, then 24 top and bottom), which
   left a 48px trench between boxes and only 8px inside the budget pair. The
   box carries the padding now; the cell only carries the 8px gutter. */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
  padding:4px !important;
}
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]{
    padding:4px !important;
  }
}

/* the Short Term Rental form puts its budget pair outside .t-Budget-col, so
   the box there has to be found by shape rather than by class */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group:has(> .form-content > .budget-input-wrapper > .budget-inner-col.col-6){
  border:0 !important; padding:0 !important;
}

.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6 + .budget-inner-col.col-6{
  margin-left:8px;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group:has(.budget-inner-col.col-6) .form-content{
  height:100% !important;
}
/* VIP: let the hoisted column groups fill the row instead of leaving a void */
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"]{
  flex:1 1 190px !important; max-width:none !important;
}

/* phones: one field per line, in every tab */
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Location-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Category-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"]{
    flex:1 1 100% !important; max-width:100% !important; padding:4px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6{
    flex:1 1 0 !important;
  }
}
/* an earlier mobile pass stacked the budget pair with a 16px top margin on
   the second one; they sit side by side now, so it only knocked Max down */
@media (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper{
    flex-wrap:wrap !important; align-items:stretch !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col{
    flex:1 1 100% !important; max-width:100% !important; margin-left:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6 + .budget-inner-col.col-6,
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col + .budget-inner-col{
    margin-top:8px !important;
  }
}

/* ---- search bar: compact boxes, and wrap instead of squeeze -------------
   Two problems with the boxed version: every field was 104px tall because
   the controls carry a 48px height from the theme, and the forms with many
   fields (Short Term Rental, VIP) tried to fit them all on one line. Each
   box is now one line of label over one line of value, and a field never
   goes below ~300px — past that the row wraps and the bar grows downwards. */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col{
  padding:9px 14px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all label{
  font-size:10px !important; letter-spacing:.14em !important; margin:0 0 3px !important;
  line-height:1.3 !important; display:block !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control,
.bravo_wrap .page-template-content .bravo-form-search-all .render,
.bravo_wrap .page-template-content .bravo-form-search-all select,
.bravo_wrap .page-template-content .bravo-form-search-all .form-content > input,
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-input{
  height:auto !important; min-height:0 !important; padding:0 !important;
  line-height:1.45 !important; font-size:14px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .input-number-group,
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .page-template-content .bravo-form-search-all .date-wrapper,
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-wrapper,
.bravo_wrap .page-template-content .bravo-form-search-all .filter-item{
  padding:0 !important; margin:0 !important; min-height:0 !important;
}

/* no field narrower than ~300px: the row wraps rather than squeezing */
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .row{
    flex-wrap:wrap !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"]{
    flex:1 1 300px !important; max-width:none !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Location-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Category-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col{
    flex:1 1 300px !important;
  }
}
/* several controls are not .form-control (the location autocomplete input,
   the select2 renders), and carried 15px of their own vertical padding */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .dropdown-toggle{
  padding:0 !important; height:auto !important; min-height:0 !important;
  line-height:1.45 !important; font-size:14px !important;
  border:0 !important; background-color:transparent !important; box-shadow:none !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search .parent_text{
  padding:0 !important; height:auto !important; min-height:0 !important;
  line-height:1.45 !important; font-size:14px !important;
}

/* general.css sizes these controls by ID with !important (22px of padding,
   15px under 1520), which no class selector can reach. Scoped to the home
   search bar only, so the search-results filters keep their own sizing. */
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-BudgetAttr,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Age,
html body .bravo-form-search-all #t-search-Rating,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  padding:0 24px 0 0 !important;
  height:auto !important; min-height:0 !important;
  font-size:14px !important; line-height:1.45 !important;
  background-color:transparent !important;
  background-position:right center !important; background-size:14px !important;
  border:0 !important; border-radius:0 !important;
}

/* one grid for the field area: every box the same width, rows that line up,
   and a new row whenever the next field would go under ~260px */
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row{
    display:grid !important; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:8px; align-items:stretch !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"]{
    padding:0 !important; max-width:none !important; width:auto !important; flex:none !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row{
    display:contents !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"] > .row{
    display:contents !important;
  }
}

/* every box the same height, content centred in it, whatever the field is */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col{
  min-height:56px; display:flex !important; flex-direction:column; justify-content:center;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-group{
  display:block !important;
}
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"] > *,
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"] > *,
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_VipTransportation .g-field-search > .row .col-12 > *{
    height:100% !important;
  }
}

/* =========================================================================
   INNER PAGES — the search, detail, news and contact pages still carried the
   old chrome: a 540px stock-photo banner with a centred serif ALL-CAPS title
   and a gold line above it, a cream page, gold buttons and gold prices. They
   now run on the same system as the homepage: one rail, Playfair sentence
   case on the left, ink and a single gold hairline, white paper.
   ========================================================================= */

/* --- paper ------------------------------------------------------------- */
body.frontend-page,
body.frontend-page .bravo_wrap,
.bravo_wrap .bravo_search_space,
.bravo_wrap .bravo-news,
.bravo_wrap .bravo_detail_house,
.bravo_wrap .page-content{
  background:#fff !important;
}

/* --- the page banner --------------------------------------------------- */
.bravo_wrap .bravo_banner.t-main-page-banner{
  padding:0 !important;
  min-height:420px; height:46vh; max-height:560px;
  display:flex !important; align-items:flex-end;
  background-size:cover !important; background-position:center 58% !important;
  background-repeat:no-repeat !important;
}
.bravo_wrap .bravo_banner.t-main-page-banner::after{
  opacity:1 !important;
  background:
    linear-gradient(to right, rgba(8,10,13,.74) 0%, rgba(8,10,13,.48) 38%,
                              rgba(8,10,13,.14) 68%, rgba(8,10,13,.10) 100%),
    linear-gradient(to bottom, rgba(8,10,13,.24) 0%, rgba(8,10,13,0) 42%,
                               rgba(8,10,13,.38) 100%) !important;
}
.bravo_wrap .bravo_banner .container.t-main-page-container{
  display:flex; flex-direction:column-reverse; align-items:flex-start;
  padding-top:0; padding-bottom:52px;
}
.bravo_wrap .bravo_banner .t-main-page-title{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:clamp(34px,4.2vw,58px) !important; line-height:1.07 !important;
  letter-spacing:-.004em !important; text-transform:none !important;
  text-align:left !important; width:auto !important; max-width:19ch;
  margin:0 !important; color:#fff !important;
  text-shadow:0 2px 26px rgba(0,0,0,.32);
}
.bravo_wrap .bravo_banner .t-main-page-subtitle{
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:17px !important; line-height:1.55 !important; letter-spacing:0 !important;
  text-align:left !important; width:auto !important; max-width:56ch;
  margin:16px 0 0 !important; color:rgba(255,255,255,.86) !important;
  text-shadow:0 1px 18px rgba(0,0,0,.32);
}
@media (max-width:767px){
  .bravo_wrap .bravo_banner.t-main-page-banner{ min-height:320px; height:38vh; }
  .bravo_wrap .bravo_banner .container.t-main-page-container{ padding-bottom:34px; }
  .bravo_wrap .bravo_banner .t-main-page-subtitle{ font-size:15px !important; margin-top:12px !important; }
}

/* --- the listing watermark --------------------------------------------- */
/* every listing photo carried the old company's emblem, centred at 30% and
   50% opacity. The photographs are the product; nothing sits on top. */
.watermark::after{ display:none !important; content:none !important; }

/* --- the filter bar under the banner ----------------------------------- */
.bravo_wrap .bravo_form_search{ background:#fff !important; padding:28px 0 0 !important; }
.bravo_wrap .bravo_form_search .bravo_form{
  background:#fff !important; border:1px solid var(--bv-hair) !important;
  box-shadow:none !important; border-radius:0 !important;
  padding:10px !important; display:flex; align-items:stretch; gap:0;
}
.bravo_wrap .bravo_form_search .g-field-search{ flex:1 1 0 !important; max-width:none !important; }
.bravo_wrap .bravo_form_search .g-field-search > .row{
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:8px; margin:0 !important;
}
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]{
  padding:0 !important; max-width:none !important; flex:none !important;
}
.bravo_wrap .bravo_form_search .form-group{
  border:1px solid var(--bv-hair) !important; background:#fff !important;
  padding:9px 14px !important; margin:0 !important; height:100% !important;
  min-height:56px; display:flex !important; flex-direction:column; justify-content:center;
  overflow:hidden;
}
.bravo_wrap .bravo_form_search .form-content{ padding:0 !important; }
.bravo_wrap .bravo_form_search label{
  font-family:var(--bv-sans) !important; font-size:10px !important; font-weight:500 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:rgba(21,23,27,.5) !important; margin:0 0 3px !important; line-height:1.3 !important;
}
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render,
html body .bravo_wrap .bravo_form_search .smart-search .parent_text{
  padding:0 24px 0 0 !important; height:auto !important; min-height:0 !important;
  border:0 !important; border-radius:0 !important; background-color:transparent !important;
  font-size:14px !important; line-height:1.45 !important; color:var(--bv-ink) !important;
  box-shadow:none !important; background-position:right center !important; background-size:14px !important;
}
.bravo_wrap .bravo_form_search .g-button-submit{
  flex:0 0 120px !important; max-width:120px !important; padding:0 0 0 8px !important;
}
.bravo_wrap .bravo_form_search .g-button-submit button,
.bravo_wrap .bravo_form_search .home-search-form-button{
  background:var(--bv-ink) !important; border:0 !important; border-radius:0 !important;
  color:#fff !important; width:100% !important; height:100% !important;
}
.bravo_wrap .bravo_form_search .g-button-submit button:hover,
.bravo_wrap .bravo_form_search .home-search-form-button:hover{
  background:var(--bv-gold) !important;
}
.bravo_wrap .bravo_form_search .search-field-options:empty{ display:none !important; }
@media (max-width:991px){
  .bravo_wrap .bravo_form_search .bravo_form{ display:block; }
  .bravo_wrap .bravo_form_search .g-field-search > .row{ grid-template-columns:1fr; }
  .bravo_wrap .bravo_form_search .g-button-submit{
    flex:1 1 100% !important; max-width:100% !important; padding:8px 0 0 !important;
  }
  .bravo_wrap .bravo_form_search .g-button-submit button,
  .bravo_wrap .bravo_form_search .home-search-form-button{ padding:16px 0 !important; }
}

/* --- the result card ---------------------------------------------------- */
.bravo_wrap .t-item-loop{
  background:#fff !important; border:0 !important; border-bottom:1px solid var(--bv-hair) !important;
  box-shadow:none !important; border-radius:0 !important;
  padding:0 0 36px !important; margin:0 0 36px !important; max-width:none !important;
}
.bravo_wrap .t-item-loop .t-single-item-row{ margin:0 !important; align-items:flex-start; }
.bravo_wrap .t-item-loop .t-item-text{ padding:2px 0 0 36px !important; }
.bravo_wrap .t-item-loop .t-item-title a{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:25px !important; line-height:1.18 !important; letter-spacing:0 !important;
  color:var(--bv-ink) !important; text-transform:none !important;
}
.bravo_wrap .t-item-loop .t-item-title a:hover{ color:var(--bv-gold) !important; }
.bravo_wrap .t-item-loop .t-location{
  font-family:var(--bv-sans) !important; font-size:13px !important;
  color:rgba(21,23,27,.55) !important; margin-top:10px !important;
}
.bravo_wrap .t-item-loop .t-price-wrapper{
  background:transparent !important; padding:0 !important; margin:18px 0 0 !important;
}
.bravo_wrap .t-item-loop .t-price-wrapper .text-price{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:24px !important; color:var(--bv-ink) !important;
}
.bravo_wrap .t-item-loop .t-amenities{
  margin:14px 0 0 !important; font-size:13px !important; color:rgba(21,23,27,.6) !important;
}
.bravo_wrap .t-item-loop .t-description{
  font-family:var(--bv-sans) !important; font-size:15px !important; line-height:1.72 !important;
  color:var(--bv-ink-soft) !important; margin-top:18px !important;
}
/* the gold notched ribbon */
.bravo_wrap .t-item-loop .t-featured-item{
  background:var(--bv-ink) !important; color:#fff !important;
  font-family:var(--bv-sans) !important; font-size:10px !important; font-weight:500 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
  padding:7px 13px !important; border-radius:0 !important; box-shadow:none !important;
  left:0 !important; top:0 !important;
}
.bravo_wrap .t-item-loop .t-featured-item::before,
.bravo_wrap .t-item-loop .t-featured-item::after{ display:none !important; content:none !important; }
.bravo_wrap .t-item-loop .t-house-listing-type{
  background:transparent !important; color:var(--bv-ink) !important;
  border:1px solid var(--bv-hair) !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-size:11px !important;
  letter-spacing:.12em !important; text-transform:uppercase !important; padding:6px 12px !important;
}
/* the text column sat on a #F4F4F4 panel and the category tag was pinned to
   its bottom-right corner, on top of the description */
.bravo_wrap .t-item-loop .t-item-text{ background:transparent !important; }
.bravo_wrap .t-item-loop .t-house-listing-type-wrapper{ margin-top:20px; }
.bravo_wrap .t-item-loop .t-house-listing-type{
  position:static !important; right:auto !important; bottom:auto !important;
  margin-left:0 !important; min-width:0 !important; width:auto !important;
  display:inline-block;
}
.bravo_wrap .t-item-loop .t-item-title{ padding-top:0 !important; }
/* one photo shape for the whole list */
.bravo_wrap .t-item-loop .carousel-main-wrapper,
.bravo_wrap .t-item-loop .t-thumb-image{
  position:relative; overflow:hidden; aspect-ratio:4/3; height:auto !important; background:#eceae6;
}
.bravo_wrap .t-item-loop .carousel,
.bravo_wrap .t-item-loop .carousel-inner,
.bravo_wrap .t-item-loop .carousel-item,
.bravo_wrap .t-item-loop .carousel-item a,
.bravo_wrap .t-item-loop .carousel-item .watermark{ height:100%; }
.bravo_wrap .t-item-loop .listing-slider-image,
.bravo_wrap .t-item-loop .t-thumb-image img{
  width:100% !important; height:100% !important; object-fit:cover;
}

/* --- the journal (news index) ------------------------------------------ */
/* the cards were photo tiles with the title, date and excerpt hidden in a
   white-on-dark overlay that only appeared on hover. Same anatomy as the
   homepage now: photo, then caption underneath, on the rail. */
.bravo_wrap .bravo-news .t-list-news{
  display:grid !important; grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:46px 30px; margin:0 !important;
}
.bravo_wrap .bravo-news .post_item{
  width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important;
  background:transparent !important; border:0 !important; box-shadow:none !important;
}
.bravo_wrap .bravo-news .post_item .header{ overflow:visible !important; background:transparent !important; }
.bravo_wrap .bravo-news .post-header{
  position:relative; overflow:hidden; aspect-ratio:4/3; margin:0 !important; background:#eceae6;
}
.bravo_wrap .bravo-news .post-header a{ display:block; height:100%; }
.bravo_wrap .bravo-news .post-header img{
  width:100% !important; height:100% !important; object-fit:cover; margin:0 !important;
  transition:transform .6s cubic-bezier(.2,.6,.2,1);
}
.bravo_wrap .bravo-news .post_item:hover .post-header img{ transform:scale(1.03); }
.bravo_wrap .bravo-news .post-inner{
  position:static !important; opacity:1 !important; visibility:visible !important;
  background:transparent !important; transform:none !important;
  height:auto !important; width:100% !important; padding:18px 0 0 !important; margin:0 !important;
}
.bravo_wrap .bravo-news .post-title{ margin:0 !important; padding:0 !important; }
.bravo_wrap .bravo-news .post-title a{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:22px !important; line-height:1.24 !important; letter-spacing:0 !important;
  color:var(--bv-ink) !important; text-transform:none !important;
}
.bravo_wrap .bravo-news .post-title a:hover{ color:var(--bv-gold) !important; }
.bravo_wrap .bravo-news .post-desciption{
  font-family:var(--bv-sans) !important; font-size:15px !important; line-height:1.72 !important;
  color:var(--bv-ink-soft) !important; margin-top:10px !important;
}
.bravo_wrap .bravo-news .post-info,
.bravo_wrap .bravo-news .post-info *{
  color:rgba(21,23,27,.5) !important; font-size:12px !important; letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.bravo_wrap .bravo-news .post-info{ margin:0 0 10px !important; padding:0 !important; }
.bravo_wrap .bravo-news .post-info ul{ padding:0 !important; margin:0 !important; gap:14px; }

/* the sort / filter controls */
.bravo_wrap .bravo-news .sortByFilter{ display:flex; gap:18px; justify-content:flex-end; }
.bravo_wrap .bravo-news .sortByGroup{ margin:0 !important; }
.bravo_wrap .bravo-news .sortByGroup label{
  font-family:var(--bv-sans) !important; font-size:10px !important; font-weight:500 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
  color:rgba(21,23,27,.5) !important; margin:0 0 6px !important;
}
.bravo_wrap .bravo-news .sortByGroup select,
.bravo_wrap .bravo-news .sortByFilter select{
  background:#fff !important; border:1px solid var(--bv-hair) !important; border-radius:0 !important;
  box-shadow:none !important; font-size:14px !important; color:var(--bv-ink) !important;
  padding:11px 14px !important; height:auto !important;
}
.bravo_wrap .bravo-news .sortByGroup label span,
.bravo_wrap .bravo-news .sortByFilter .arrow{ display:none !important; }

/* --- the property detail page ------------------------------------------ */
/* same emblem watermark, on the gallery this time */
.t-watermark-gallery-container .fotorama__wrap .fotorama__stage__frame::after,
.t-watermarked-fotorama .fotorama__stage__frame.fotorama__loaded.fotorama__loaded--img::after{
  display:none !important; content:none !important;
}
/* the price sat on a #C4C2B8 band that bled 140px past the column */
.bravo_wrap .t-details-price{
  background:transparent !important; margin:0 0 14px !important; padding:0 !important;
  height:auto !important;
}
.bravo_wrap .t-details-price .text-price,
.bravo_wrap .t-house-details-price .text-price{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:32px !important; color:var(--bv-ink) !important; letter-spacing:0 !important;
}
.bravo_wrap .t-details-title{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:40px !important; line-height:1.1 !important; color:var(--bv-ink) !important;
  text-transform:none !important; margin:0 0 12px !important;
}
.bravo_wrap .t-details-location,
.bravo_wrap .t-breadcrumb-link{
  font-family:var(--bv-sans) !important; font-size:13px !important;
  letter-spacing:.06em !important; color:rgba(21,23,27,.55) !important;
}
.bravo_wrap .t-details-description,
.bravo_wrap .bravo_detail_house .bravo_content p{
  font-family:var(--bv-sans) !important; font-size:16px !important;
  line-height:1.85 !important; color:var(--bv-ink-soft) !important;
}
/* the round black gallery arrows */
.bravo_wrap .t-house-details-gallery-container .fotorama__arr,
.bravo_wrap .t-g-gallery-container .fotorama__arr{
  background:rgba(21,23,27,.82) !important; border-radius:0 !important; box-shadow:none !important;
}
html body .bravo_wrap .t-details-price{
  line-height:1.2 !important; height:auto !important; min-height:0 !important;
  margin:4px 0 20px !important; display:block !important; overflow:visible !important;
}
html body .bravo_wrap .t-details-price .text-price,
html body .bravo_wrap .t-house-details-price .text-price,
html body .bravo_wrap .t-details-price span{
  color:var(--bv-ink) !important; font-family:var(--bv-serif) !important;
  font-size:32px !important; font-weight:400 !important; line-height:1.2 !important;
}
html body .bravo_wrap .bravo_detail_house .t-amenities,
html body .bravo_wrap .t-house-details-amenities{ margin-top:0 !important; }
html body .bravo_wrap .t-details-price .text-price{
  position:static !important; float:none !important; display:block !important;
}
/* the price span collapsed to zero height, so the amenities row printed on
   top of it. flow-root gives it a block formatting context of its own. */
html body .bravo_wrap .t-details-price{
  display:flow-root !important; min-height:44px !important;
}

/* --- contact ------------------------------------------------------------ */
/* 300px of empty paper above a centred serif ALL-CAPS title, a dark-green
   panel and a photo that bled past the rail. */
.bravo_wrap .bravo-contact-block{ padding-top:0 !important; }
.bravo_wrap .contact-info-row{ margin:0 !important; align-items:stretch; }
.bravo_wrap .contact-info-whitespace{
  padding:72px 56px 72px 0 !important; display:flex; align-items:center;
}
.bravo_wrap .contact-info-wrapper{ width:100%; }
.bravo_wrap .contact-info-title{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:clamp(34px,3.6vw,50px) !important; line-height:1.08 !important;
  text-transform:none !important; letter-spacing:-.003em !important;
  color:var(--bv-ink) !important; margin:0 !important;
}
.bravo_wrap .contact-info-subtitle{
  font-family:var(--bv-sans) !important; font-weight:400 !important;
  font-size:17px !important; line-height:1.6 !important; letter-spacing:0 !important;
  color:var(--bv-ink-soft) !important; margin:16px 0 0 !important;
  text-transform:none !important; order:2;
}
.bravo_wrap .contact-info-wrapper{ display:flex; flex-direction:column; }
.bravo_wrap .contact-info-title{ order:1; }
.bravo_wrap .contact-info-bottom-wrapper{ order:3; margin-top:28px; }
.bravo_wrap .contact-info-bottom-image{ display:none !important; }
.bravo_wrap .contact-info-text,
.bravo_wrap .contact-info-text *{
  font-family:var(--bv-sans) !important; font-size:15px !important; line-height:1.85 !important;
  color:var(--bv-ink-soft) !important;
}
/* the green block */
.bravo_wrap .contact-info-section{
  background-color:var(--bv-ink) !important; background-image:none !important;
  padding:56px 48px !important;
}
.bravo_wrap .contact-info-section,
.bravo_wrap .contact-info-section *{ color:#fff !important; }
.bravo_wrap .contact-info-section h1,
.bravo_wrap .contact-info-section h2,
.bravo_wrap .contact-info-section h3,
.bravo_wrap .contact-info-section strong,
.bravo_wrap .contact-info-section b{
  font-family:var(--bv-sans) !important; font-weight:500 !important;
  font-size:11px !important; letter-spacing:.16em !important; text-transform:uppercase !important;
  color:rgba(255,255,255,.55) !important;
}
/* the form */
.bravo_wrap .t-contact-form-title{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:34px !important; text-transform:none !important; color:var(--bv-ink) !important;
  margin:0 0 10px !important;
}
.bravo_wrap .t-contact-form-subtitle,
.bravo_wrap .t-contact-form-text{
  font-family:var(--bv-sans) !important; font-size:15px !important; font-weight:400 !important;
  color:var(--bv-ink-soft) !important; text-transform:none !important; letter-spacing:0 !important;
  margin:0 0 6px !important;
}
.bravo_wrap .bravo-contact-block-form .form-control{
  border:0 !important; border-bottom:1px solid var(--bv-hair) !important; border-radius:0 !important;
  background:transparent !important; box-shadow:none !important;
  padding:12px 0 !important; height:auto !important; font-size:15px !important;
}
.bravo_wrap .bravo-contact-block-form button,
.bravo_wrap .bravo-contact-block-form input[type="submit"]{
  background:var(--bv-ink) !important; color:#fff !important; border:0 !important;
  border-radius:0 !important; padding:15px 34px !important;
  font-family:var(--bv-sans) !important; font-size:12px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important;
}
.bravo_wrap .bravo-contact-block-form button:hover{ background:var(--bv-gold) !important; }
/* the details block was the old dark green; the big panel beside it was a
   photo covered by an opaque linear-gradient(black, black) */
.bravo_wrap .contact-info-bottom-wrapper{
  background:var(--bv-ink) !important; padding:40px 40px 44px !important;
  margin:36px -56px 0 0 !important;
}
.bravo_wrap .contact-info-bottom-wrapper,
.bravo_wrap .contact-info-bottom-wrapper *{ color:#fff !important; }
.bravo_wrap .contact-info-bottom-wrapper strong,
.bravo_wrap .contact-info-bottom-wrapper b{
  font-family:var(--bv-sans) !important; font-weight:500 !important;
  font-size:11px !important; letter-spacing:.16em !important; text-transform:uppercase !important;
  color:rgba(255,255,255,.55) !important;
}
.bravo_wrap .contact-info-section{
  background:#15171b url('/uploads/0000/27/2025/11/10/atr-royal-mansion-dining-room.jpg') center/cover no-repeat !important;
  min-height:560px; padding:0 !important;
}
/* background-blend-mode:saturation turned the photo into a navy wash */
.bravo_wrap .contact-info-section{
  background-blend-mode:normal !important; filter:none !important;
  height:auto !important; min-height:620px !important;
}
/* the form half: grey paper, a gold eyebrow and a teal photo tile */
.bravo_wrap .contact-form-section{
  background:#fff !important; margin:0 !important; align-items:center;
}
.bravo_wrap .contact-form-section .contact-form-image-container{
  background:transparent !important;
}
.bravo_wrap .contact-form-wrapper,
.bravo_wrap .contact-form-section .form_wrapper{
  background:#fff !important; padding:72px 0 72px 56px !important;
}
.bravo_wrap .contact-form-header{ margin-bottom:26px; }
/* the collage of teal feathers, triangles and gold diamonds was a single
   decorative image, padded 144px off the rail */
.bravo_wrap .contact-form-image-container{
  padding:0 !important; height:100%; overflow:hidden;
}
.bravo_wrap .contact-form-image-container img{
  width:100% !important; height:100% !important; min-height:520px; object-fit:cover;
}
.bravo_wrap .contact-form-bottom-image-wrapper,
.bravo_wrap .contact-form-bottom-image{ display:none !important; }
/* the concierge page banner uses its own container class and no
   .t-main-page-banner, so it missed the layout rules above */
.bravo_wrap .bravo_banner{
  padding:0 !important; min-height:420px; height:46vh; max-height:560px;
  display:flex !important; align-items:flex-end;
  background-size:cover !important; background-position:center 58% !important;
  background-repeat:no-repeat !important;
}
.bravo_wrap .bravo_banner .container.t-tour-banner-text-container{
  display:flex; flex-direction:column-reverse; align-items:flex-start;
  padding-top:0; padding-bottom:52px;
}
@media (max-width:767px){
  .bravo_wrap .bravo_banner{ min-height:320px; height:38vh; }
  .bravo_wrap .bravo_banner .container.t-tour-banner-text-container{ padding-bottom:34px; }
}

/* =========================================================================
   LISTINGS — two per row, and a card that reads top to bottom
   The old layout gave each property a full-width band: photo left, text
   right, one per row, so four properties filled a screen and a half. Every
   service now uses the same card — photograph, then caption under it — laid
   out two across. Boats came the other way, four tiny tiles per row; they
   use the same card now too.
   ========================================================================= */
@media (min-width:992px){
  .bravo_wrap .bravo-list-item .t-main-row,
  .bravo_wrap .bravo-list-item .list-house-ac{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:56px 34px; margin:0 !important;
  }
  .bravo_wrap .bravo-list-item .t-main-row > [class*="col-"]{
    width:auto !important; max-width:none !important; flex:none !important;
    padding:0 !important; margin:0 !important;
  }
}
@media (max-width:991px){
  .bravo_wrap .bravo-list-item .t-main-row > [class*="col-"]{ margin-bottom:40px; }
}
/* the card itself */
.bravo_wrap .t-item-loop{
  border:0 !important; border-bottom:0 !important; padding:0 !important; margin:0 !important;
  max-width:none !important; width:100% !important;
}
.bravo_wrap .t-item-loop .t-single-item-row{ display:block !important; margin:0 !important; }
.bravo_wrap .t-item-loop .t-single-item-row > [class*="col-"]{
  flex:0 0 100% !important; max-width:100% !important; width:100% !important;
  padding:0 !important; margin:0 !important;
}
.bravo_wrap .t-item-loop .t-item-text,
.bravo_wrap .t-item-loop .t-item-text.col-sm-6{
  padding:18px 0 0 0 !important;
}
.bravo_wrap .t-item-loop .t-item-title a{ font-size:22px !important; }
.bravo_wrap .t-item-loop .t-price-wrapper{ margin:14px 0 0 !important; }
.bravo_wrap .t-item-loop .t-price-wrapper .text-price{ font-size:21px !important; }
.bravo_wrap .t-item-loop .t-description{
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical;
  overflow:hidden; margin-top:14px !important;
}
.bravo_wrap .t-item-loop .t-house-listing-type-wrapper{ margin-top:16px; }
/* 4:3 was right for a full-width band; in a two-up grid it makes each card
   almost 500px tall. 3:2 for the listing photographs. */
.bravo_wrap .t-item-loop .carousel-main-wrapper,
.bravo_wrap .t-item-loop .t-thumb-image,
.bravo_wrap .t-item-loop .thumb-image{
  aspect-ratio:3/2 !important; height:auto !important;
  position:relative; overflow:hidden; background:#eceae6;
}
.bravo_wrap .t-item-loop .thumb-image img,
.bravo_wrap .t-item-loop .t-thumb-image img,
.bravo_wrap .t-item-loop .listing-slider-image{
  width:100% !important; height:100% !important; object-fit:cover !important;
}

/* --- boats: the card was a photo tile with the name and a gold "Yachts"
   tag printed over a dark gradient at the bottom, four to a row --------- */
@media (min-width:992px){
  .bravo_wrap .bravo-list-item .list-boat-ac{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:56px 34px; margin:0 !important;
  }
  .bravo_wrap .bravo-list-item .list-boat-ac > [class*="col-"]{
    width:auto !important; max-width:none !important; flex:none !important;
    padding:0 !important; margin:0 !important;
  }
}
.bravo_wrap .t-boat-search-item-wrapper{
  display:block !important; height:auto !important; aspect-ratio:3/2;
  background-position:center !important; background-size:cover !important;
  background-repeat:no-repeat !important; background-color:#eceae6 !important;
}
.bravo_wrap .t-boat-search-item-top{
  height:100% !important; display:block !important; background:transparent !important;
}
.bravo_wrap .t-boat-search-info-wrapper{
  position:static !important; bottom:auto !important; transform:none !important;
  background:#fff !important; background-image:none !important;
  padding:16px 0 0 !important; width:100% !important; height:auto !important;
}
.bravo_wrap .t-boat-search-info-wrapper::before,
.bravo_wrap .t-boat-search-info-wrapper::after{ display:none !important; content:none !important; }
.bravo_wrap .t-boat-search-title a,
.bravo_wrap .t-boat-search-title{
  color:var(--bv-ink) !important; font-family:var(--bv-serif) !important;
  font-weight:400 !important; font-size:22px !important; text-transform:none !important;
  text-shadow:none !important;
}
.bravo_wrap .t-boat-search-location,
.bravo_wrap .t-boat-search-location *{
  color:rgba(21,23,27,.55) !important; font-size:13px !important; text-shadow:none !important;
}
.bravo_wrap .t-boat-type-wrapper{ margin-top:14px; }
.bravo_wrap .t-boat-type{
  background:transparent !important; color:var(--bv-ink) !important;
  border:1px solid var(--bv-hair) !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-size:11px !important;
  letter-spacing:.12em !important; text-transform:uppercase !important;
  padding:6px 12px !important; display:inline-block;
  position:static !important; right:auto !important; bottom:auto !important;
}
.bravo_wrap .t-boat-item-loop .amenities,
.bravo_wrap .t-boat-item-loop .amenities *{
  color:rgba(21,23,27,.6) !important; font-size:13px !important; text-shadow:none !important;
}
.bravo_wrap .t-boat-item-loop .featured{
  background:var(--bv-ink) !important; color:#fff !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-size:10px !important; font-weight:500 !important;
  letter-spacing:.16em !important; text-transform:uppercase !important; padding:7px 13px !important;
}

.bravo_wrap .t-boat-type-wrapper{ text-align:left !important; }

/* cars, spaces, hotels and tours use their own row classes for the list */
@media (min-width:992px){
  .bravo_wrap .bravo-list-item .list-car-ac,
  .bravo_wrap .bravo-list-item .list-space-ac,
  .bravo_wrap .bravo-list-item .list-hotel-ac{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
    gap:56px 34px; margin:0 !important;
  }
  .bravo_wrap .bravo-list-item .list-car-ac > [class*="col-"],
  .bravo_wrap .bravo-list-item .list-space-ac > [class*="col-"],
  .bravo_wrap .bravo-list-item .list-hotel-ac > [class*="col-"]{
    width:auto !important; max-width:none !important; flex:none !important;
    padding:0 !important; margin:0 !important;
  }
}
/* their cards are photo-left / text-right too */
.bravo_wrap .t-item-loop > .row{ display:block !important; margin:0 !important; }
.bravo_wrap .t-item-loop > .row > [class*="col-"]{
  flex:0 0 100% !important; max-width:100% !important; width:100% !important;
  padding:0 !important; margin:0 !important;
}
.bravo_wrap .t-item-loop .t-car-thumb-image,
.bravo_wrap .t-item-loop .t-hotel-thumb-image{
  aspect-ratio:3/2 !important; height:auto !important;
  position:relative; overflow:hidden; background:#eceae6;
}
.bravo_wrap .t-item-loop .t-car-thumb-image img,
.bravo_wrap .t-item-loop .t-hotel-thumb-image img{
  width:100% !important; height:100% !important; object-fit:cover !important;
}
.bravo_wrap .t-item-loop .t-car-item-title a{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:22px !important; color:var(--bv-ink) !important; text-transform:none !important;
}
.bravo_wrap .t-item-loop .t-car-price-wrapper,
.bravo_wrap .t-item-loop .g-price{
  background:transparent !important; padding:0 !important; margin:12px 0 0 !important;
}
.bravo_wrap .t-item-loop .t-car-price-wrapper .text-price,
.bravo_wrap .t-item-loop .g-price .text-price{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  font-size:21px !important; color:var(--bv-ink) !important;
}
.bravo_wrap .t-item-loop .t-car-search-amenities,
.bravo_wrap .t-item-loop .t-car-search-amenities *{
  color:rgba(21,23,27,.6) !important; font-size:13px !important;
}
/* (superseded by the card system below — the card supplies the padding) */
/* the Short Term Rental filter has the same col-md-8 sub-grid as the
   homepage tab: hoist it so every field joins the main row */
@media (min-width:992px){
  .bravo_wrap .bravo_form_search .t-home-space-search-form .g-field-search > .row > .col-md-8,
  .bravo_wrap .bravo_form_search .rental-search-fields{
    display:contents !important;
  }
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]{
    padding:0 !important; max-width:none !important; flex:none !important;
  }
}
/* the search-page filter on phones: full-width submit, and the budget pair
   gets the same box-per-field treatment as the homepage */
.bravo_wrap .bravo_form_search .t-Budget-col .form-group,
.bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6){
  border:0 !important; padding:0 !important;
}
.bravo_wrap .bravo_form_search .budget-input-wrapper{ display:flex !important; margin:0 !important; }

.bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6 + .budget-inner-col.col-6{
  margin-left:8px;
}
@media (max-width:991px){
  .bravo_wrap .bravo_form_search .g-button-submit{
    width:100% !important; max-width:100% !important; padding:8px 0 0 !important; display:block;
  }
  .bravo_wrap .bravo_form_search .g-button-submit button,
  .bravo_wrap .bravo_form_search .home-search-form-button{
    width:100% !important; padding:16px 0 !important;
  }
  .bravo_wrap .bravo_form_search .budget-input-wrapper{ flex-wrap:wrap !important; }
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    flex:1 1 100% !important; max-width:100% !important; margin-left:0 !important;
  }
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6 + .budget-inner-col.col-6{
    margin-top:8px !important;
  }
}

/* =========================================================================
   BOAT DETAIL — it was a tall portrait crop of one photo, three grey chips
   and a gold "Submit Request". A charter page has to answer the same
   questions a broker listing does: what it is, how big, how many aboard,
   what it costs.
   ========================================================================= */
.bravo_wrap .bravo_detail_boat .t-second-g-gallery-container{ margin-bottom:34px; }
.bravo_wrap .bravo_detail_boat .fotorama__stage{ background:#eceae6; }

/* the spec chips become a spec table */
.bravo_wrap .t-boat-details-attributes{
  display:grid !important; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:0; margin:26px 0 30px !important; padding:0 !important;
  border-top:1px solid var(--bv-hair); border-left:1px solid var(--bv-hair);
}
.bravo_wrap .t-boat-details-attributes .t-amenity{
  display:flex !important; align-items:center; gap:10px;
  padding:16px 18px !important; margin:0 !important;
  border-right:1px solid var(--bv-hair); border-bottom:1px solid var(--bv-hair);
  font-family:var(--bv-sans) !important; font-size:14px !important;
  color:var(--bv-ink) !important;
}
/* the bare "|" separators between the chips */
.bravo_wrap .t-boat-details-attributes > span.t-amenity:not(.amenity){ display:none !important; }
.bravo_wrap .t-boat-details-attributes .t-boat-guests-image{
  width:20px; height:20px; object-fit:contain; opacity:.75;
}
/* the booking box */
.bravo_wrap .bravo_detail_boat .form-book,
.bravo_wrap .bravo_detail_boat .bravo_single_book{
  background:#fff !important; border:1px solid var(--bv-hair) !important;
  border-radius:0 !important; box-shadow:none !important; padding:28px !important;
}
.bravo_wrap .bravo_detail_boat .form-book .form-control,
.bravo_wrap .bravo_detail_boat .bravo_single_book .form-control{
  border:1px solid var(--bv-hair) !important; border-radius:0 !important;
  background:#fff !important; box-shadow:none !important;
}
.bravo_wrap .bravo_detail_boat button[type="submit"],
.bravo_wrap .bravo_detail_boat .btn-book,
.bravo_wrap .bravo_detail_boat .form-book .btn{
  background:var(--bv-ink) !important; border:0 !important; border-radius:0 !important;
  color:#fff !important; font-family:var(--bv-sans) !important;
  font-size:12px !important; letter-spacing:.16em !important; text-transform:uppercase !important;
  padding:16px 30px !important;
}
.bravo_wrap .bravo_detail_boat button[type="submit"]:hover,
.bravo_wrap .bravo_detail_boat .btn-book:hover{ background:var(--bv-gold) !important; }
.bravo_wrap .bravo_detail_boat .t-boat-details-description{
  font-family:var(--bv-sans) !important; font-size:16px !important;
  line-height:1.85 !important; color:var(--bv-ink-soft) !important;
}
.bravo_wrap .t-boat-details-rate{
  display:flex; flex-wrap:wrap; gap:28px; margin:20px 0 4px;
}
.bravo_wrap .t-boat-details-rate .t-boat-rate{ display:flex; align-items:baseline; gap:8px; }
.bravo_wrap .t-boat-details-rate .t-boat-rate-value{
  font-family:var(--bv-serif) !important; font-weight:400; font-size:28px; color:var(--bv-ink);
}
.bravo_wrap .t-boat-details-rate .t-boat-rate-unit{
  font-family:var(--bv-sans) !important; font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(21,23,27,.5);
}
/* the gallery had half the page and the text the other half; give the
   photographs the width a charter listing needs */
@media (min-width:992px){
  .bravo_wrap .bravo_detail_boat .t-details-main-container > .row > .col-lg-6:first-child{
    flex:0 0 58% !important; max-width:58% !important;
  }
  .bravo_wrap .bravo_detail_boat .t-details-main-container > .row > .col-lg-6:last-child{
    flex:0 0 42% !important; max-width:42% !important; padding-left:40px !important;
  }
}

/* =========================================================================
   LISTING CARDS, v2 — built to the reference: a white card with a radius and
   a soft shadow on tinted paper, photo flush to the top corners, then a body
   with a clear hierarchy — bold sans name, grey location with a pin, pill
   chips for the specs, a small-caps label over its value, and the price
   bottom-right. Applies to property, rentals, cars, boats and hotels.
   ========================================================================= */
:root{
  --bv-card-bg:#ffffff;
  --bv-card-paper:#f6f8fb;
  --bv-card-line:#e4e8ef;
  --bv-card-ink:#161b25;
  --bv-card-muted:#7c879a;
  --bv-card-radius:14px;
  --bv-card-shadow:0 1px 2px rgba(16,24,40,.05), 0 6px 18px rgba(16,24,40,.07);
}
/* tinted paper so the cards read as containers */
.bravo_wrap .bravo_search_space,
.bravo_wrap .bravo_search_hotel,
.bravo_wrap .bravo_search_car,
.bravo_wrap .bravo_search_boat,
.bravo_wrap .bravo_search_tour{
  background:var(--bv-card-paper) !important;
}
.bravo_wrap .bravo_form_search{ background:transparent !important; }
.bravo_wrap .bravo-list-item{ padding-bottom:70px; }

/* the card */
.bravo_wrap .t-item-loop{
  background:var(--bv-card-bg) !important;
  border:1px solid var(--bv-card-line) !important;
  border-radius:var(--bv-card-radius) !important;
  box-shadow:var(--bv-card-shadow) !important;
  overflow:hidden !important;
  display:flex !important; flex-direction:column; height:100%;
  transition:box-shadow .3s ease, transform .3s ease;
}
.bravo_wrap .t-item-loop:hover{
  box-shadow:0 2px 4px rgba(16,24,40,.06), 0 16px 34px rgba(16,24,40,.10) !important;
  transform:translateY(-2px);
}
.bravo_wrap .t-item-loop > .row,
.bravo_wrap .t-item-loop > .t-single-item-row{ flex:1; display:flex !important; flex-direction:column; }

/* photo */
.bravo_wrap .t-item-loop .carousel-main-wrapper,
.bravo_wrap .t-item-loop .t-thumb-image,
.bravo_wrap .t-item-loop .thumb-image,
.bravo_wrap .t-item-loop .t-car-thumb-image{
  border-radius:0 !important; margin:0 !important;
}
/* body */
.bravo_wrap .t-item-loop .t-item-text{
  padding:20px 22px 22px !important;
  display:flex !important; flex-direction:column; flex:1;
}
/* 1 — name */
.bravo_wrap .t-item-loop .t-item-title{ order:1; margin:0 !important; padding:0 !important; }
.bravo_wrap .t-item-loop .t-item-title a,
.bravo_wrap .t-item-loop .t-car-item-title a{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:21px !important; line-height:1.3 !important; letter-spacing:-.01em !important;
  color:var(--bv-card-ink) !important; text-transform:none !important;
}
.bravo_wrap .t-item-loop .t-item-title a:hover{ color:var(--bv-gold) !important; }
/* 2 — location */
.bravo_wrap .t-item-loop .t-location,
.bravo_wrap .t-item-loop .location{
  order:2; margin:7px 0 0 !important;
  font-family:var(--bv-sans) !important; font-size:14px !important;
  color:var(--bv-card-muted) !important; display:flex; align-items:center; gap:7px;
}
.bravo_wrap .t-item-loop .t-location img{ width:13px; height:13px; opacity:.6; }
.bravo_wrap .t-item-loop .t-house-location-sep{ opacity:.45; }
/* 3 — spec chips */
.bravo_wrap .t-item-loop .t-amenities,
.bravo_wrap .t-item-loop .amenities,
.bravo_wrap .t-item-loop .t-car-search-amenities{
  order:3; margin:16px 0 0 !important; padding:0 !important;
  display:flex !important; flex-wrap:wrap; gap:8px; align-items:center;
}
.bravo_wrap .t-item-loop .t-amenities .t-amenity,
.bravo_wrap .t-item-loop .amenities .amenity{
  display:inline-flex !important; align-items:center; gap:7px;
  border:1px solid var(--bv-card-line); border-radius:0;
  padding:7px 14px !important; margin:0 !important;
  font-family:var(--bv-sans) !important; font-size:13px !important;
  color:#3b4557 !important; background:#fff;
}
/* the bare "|" separators between the old chips */
.bravo_wrap .t-item-loop .t-amenities > span.t-amenity:not(.amenity){ display:none !important; }
.bravo_wrap .t-item-loop .t-amenities img{ width:15px; height:15px; opacity:.6; }
/* 4 — description */
.bravo_wrap .t-item-loop .t-description,
.bravo_wrap .t-item-loop .description{
  order:4; margin:16px 0 0 !important;
  font-family:var(--bv-sans) !important; font-size:14px !important; line-height:1.65 !important;
  color:var(--bv-card-muted) !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
/* 5 — category, as a small-caps label block */
.bravo_wrap .t-item-loop .t-house-listing-type-wrapper,
.bravo_wrap .t-item-loop .t-boat-type-wrapper{ order:5; margin:18px 0 0 !important; }
.bravo_wrap .t-item-loop .t-house-listing-type,
.bravo_wrap .t-item-loop .t-boat-type{
  background:transparent !important; border:1px solid var(--bv-card-line) !important;
  border-radius:0 !important; color:#3b4557 !important;
  font-family:var(--bv-sans) !important; font-weight:500 !important;
  font-size:11px !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  padding:6px 13px !important; display:inline-block;
}
/* 6 — price, bottom right */
.bravo_wrap .t-item-loop .t-price-wrapper,
.bravo_wrap .t-item-loop .g-price,
.bravo_wrap .t-item-loop .t-car-price-wrapper{
  order:9; margin:20px 0 0 !important; padding:14px 0 0 !important;
  background:transparent !important; text-align:right !important;
  display:block !important; width:100%;
}
.bravo_wrap .t-item-loop .t-price-wrapper .text-price,
.bravo_wrap .t-item-loop .g-price .text-price,
.bravo_wrap .t-item-loop .t-car-price-wrapper .text-price{
  font-family:var(--bv-sans) !important; font-weight:700 !important;
  font-size:22px !important; color:var(--bv-card-ink) !important; letter-spacing:-.01em !important;
}
.bravo_wrap .t-item-loop .t-price-wrapper .price{ text-align:right !important; }
/* the heart, in a white disc like the reference */
.bravo_wrap .t-item-loop .t-wishlist{
  top:14px !important; right:14px !important; left:auto !important;
  width:38px; height:38px; border-radius:50%;
  background:#fff !important; box-shadow:0 2px 8px rgba(16,24,40,.14);
  display:flex !important; align-items:center; justify-content:center;
}
.bravo_wrap .t-item-loop .t-wishlist i{ color:var(--bv-card-ink) !important; font-size:16px; }
/* featured flag */
.bravo_wrap .t-item-loop .t-featured-item,
.bravo_wrap .t-item-loop .featured{
  top:14px !important; left:14px !important; border-radius:0 !important;
  padding:6px 13px !important; font-size:10px !important; letter-spacing:.14em !important;
  background:var(--bv-card-ink) !important; color:#fff !important; z-index:3;
}
/* the card row is a COLUMN flex container, so the old `flex:0 0 100%` on the
   inner bootstrap columns was setting their height basis, not their width —
   the photo and the text stacked on top of each other at the card top. */
.bravo_wrap .t-item-loop > .row > [class*="col-"],
.bravo_wrap .t-item-loop > .t-single-item-row > [class*="col-"]{
  flex:0 0 auto !important; width:100% !important; max-width:100% !important;
}
.bravo_wrap .t-item-loop .t-item-text{ flex:1 1 auto !important; }
/* chips were being spread apart by an inherited space-between, the price
   stayed left because its inner .price is a flex row, and it needs to sit on
   the bottom edge of the card whatever the text above it runs to */
.bravo_wrap .t-item-loop .t-amenities,
.bravo_wrap .t-item-loop .amenities,
.bravo_wrap .t-item-loop .t-car-search-amenities{
  justify-content:flex-start !important;
}
.bravo_wrap .t-item-loop .t-price-wrapper,
.bravo_wrap .t-item-loop .g-price,
.bravo_wrap .t-item-loop .t-car-price-wrapper{
  margin-top:auto !important;
}
.bravo_wrap .t-item-loop .t-price-wrapper .price,
.bravo_wrap .t-item-loop .g-price .price{
  display:flex !important; justify-content:flex-end !important; align-items:baseline; gap:6px;
  text-align:right !important; margin:0 !important; padding:0 !important;
}
/* .price is a flex box that shrank to its content, so right-aligning the
   wrapper had nothing to push against */
.bravo_wrap .t-item-loop .t-price-wrapper > *,
.bravo_wrap .t-item-loop .g-price > *,
.bravo_wrap .t-item-loop .t-car-price-wrapper > *{
  width:100% !important; float:none !important;
}
/* anything in a card body that has no explicit order defaults to 0, which
   put "Or similar" and the car type above the name */
.bravo_wrap .t-item-loop .t-item-text > *{ order:6; }
.bravo_wrap .t-item-loop .t-or-similar{
  order:2; margin:6px 0 0 !important;
  font-family:var(--bv-sans) !important; font-size:14px !important;
  color:var(--bv-card-muted) !important;
}
.bravo_wrap .t-item-loop .t-or-similar p{ margin:0 !important; font-size:14px !important; color:inherit !important; }
.bravo_wrap .t-item-loop .t-type-wrapper{ order:3; margin:14px 0 0 !important; }
.bravo_wrap .t-item-loop .t-car-attribute{
  display:inline-block; margin:0 !important;
  border:1px solid var(--bv-card-line); border-radius:0; padding:7px 14px;
  font-family:var(--bv-sans) !important; font-size:13px !important; color:#3b4557 !important;
}
/* the catch-all above matched the named blocks too (same specificity, later
   in the file), so everything fell to order 6. Re-assert the running order
   one level more specific. */
.bravo_wrap .t-item-loop .t-item-text > .t-item-title{ order:1 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-or-similar{ order:2 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-location,
.bravo_wrap .t-item-loop .t-item-text > .location{ order:2 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-type-wrapper{ order:3 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-amenities,
.bravo_wrap .t-item-loop .t-item-text > .amenities,
.bravo_wrap .t-item-loop .t-item-text > .t-car-search-amenities{ order:4 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-description,
.bravo_wrap .t-item-loop .t-item-text > .description{ order:5 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-house-listing-type-wrapper,
.bravo_wrap .t-item-loop .t-item-text > .t-boat-type-wrapper{ order:6 !important; }
.bravo_wrap .t-item-loop .t-item-text > .t-price-wrapper,
.bravo_wrap .t-item-loop .t-item-text > .g-price,
.bravo_wrap .t-item-loop .t-item-text > .t-car-price-wrapper{ order:9 !important; }
/* an empty leftover wrapper was drawing a stray chip outline */
.bravo_wrap .t-item-loop .t-type-wrapper:empty,
.bravo_wrap .t-item-loop .t-car-attribute:empty{ display:none !important; }
/* the type wrapper holds whitespace when the car has no type, so :empty
   never matched and an empty chip outline was drawn */
.bravo_wrap .t-item-loop .t-type-wrapper:not(:has(.t-car-attribute)){ display:none !important; }
/* the boat card's body is .t-boat-search-info-wrapper, not .t-item-text */
.bravo_wrap .t-boat-item-loop .t-boat-search-info-wrapper{
  padding:20px 22px 22px !important; display:flex !important; flex-direction:column; flex:1;
}
.bravo_wrap .t-boat-item-loop .t-boat-search-title a{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:21px !important; color:var(--bv-card-ink) !important;
}
.bravo_wrap .t-boat-item-loop .t-boat-search-location{
  margin:7px 0 0 !important; font-size:14px !important; color:var(--bv-card-muted) !important;
}
.bravo_wrap .t-boat-item-loop .t-boat-type-wrapper{ margin:16px 0 0 !important; }
.bravo_wrap .t-boat-item-loop .t-boat-type{
  border:1px solid var(--bv-card-line) !important; border-radius:0 !important;
  background:#fff !important; color:#3b4557 !important;
  font-size:11px !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  padding:6px 13px !important; display:inline-block !important;
}

/* =========================================================================
   LAST OF THE OLD BRAND — `checkoutbackground.jpg` is a dark green field
   printed with the waysofluxury "W" emblem, and it was still the background
   of the checkout column, the concierge booking panel, the concierge package
   blocks and the error pages. `logoemblemwhite.png` is that same emblem.
   Nothing on the site may carry either.
   ========================================================================= */
.bravo_wrap .t-checkout-form-column,
.bravo_wrap .t-concierge-form-book-wrap,
.bravo_wrap .concierge-package-background,
.error-page-content-wrapper{
  background-image:none !important;
  background-color:var(--bv-ink, #15171b) !important;
}
/* every place the emblem was painted as a mark */
[class*="watermark"]::after,
.t-watermark-gallery-container .fotorama__wrap .fotorama__stage__frame::after,
.t-watermarked-fotorama .fotorama__stage__frame::after{
  background-image:none !important; display:none !important; content:none !important;
}

/* ---- the card body padding, asserted above bootstrap's .p-0 -------------
   .t-item-text carries `p-0` in the markup, and `.t-item-loop .t-item-text.p-0`
   outranked the card rule, so the body had NO horizontal padding at all and
   every line sat hard against the card border. */
.bravo_wrap .t-item-loop .t-item-text,
.bravo_wrap .t-item-loop .t-item-text.p-0,
.bravo_wrap .t-item-loop .t-item-text.col-sm-6.p-0,
.bravo_wrap .t-item-loop .t-item-text.col-md-6.p-0,
.bravo_wrap .t-boat-item-loop .t-boat-search-info-wrapper{
  padding:22px 24px 24px !important;
}
/* the divider above the price should sit inside the padding, not bleed */
.bravo_wrap .t-item-loop .t-price-wrapper,
.bravo_wrap .t-item-loop .g-price,
.bravo_wrap .t-item-loop .t-car-price-wrapper{
  padding-left:0 !important; padding-right:0 !important;
}
/* the boat card's spec chips and rate, same anatomy as the other cards */
.bravo_wrap .t-boat-item-loop .t-boat-search-specs{
  display:flex !important; flex-wrap:wrap; gap:8px; justify-content:flex-start;
  margin:16px 0 0 !important; padding:0 !important;
}
.bravo_wrap .t-boat-item-loop .t-boat-search-specs .amenity{
  display:inline-flex !important; align-items:center; gap:7px; margin:0 !important;
  border:1px solid var(--bv-card-line); border-radius:0; padding:7px 14px !important;
  font-family:var(--bv-sans) !important; font-size:13px !important;
  color:#3b4557 !important; background:#fff;
}
.bravo_wrap .t-boat-item-loop .t-boat-search-specs i{ opacity:.55; font-size:14px; }
.bravo_wrap .t-boat-item-loop .t-boat-price-wrapper{
  margin-top:auto !important; padding:14px 0 0 !important;
  text-align:right !important;
}
.bravo_wrap .t-boat-item-loop .t-boat-price-wrapper .price{
  display:flex !important; justify-content:flex-end !important; align-items:baseline; gap:6px;
}
.bravo_wrap .t-boat-item-loop .t-boat-price-wrapper .text-price{
  font-family:var(--bv-sans) !important; font-weight:700 !important;
  font-size:22px !important; color:var(--bv-card-ink) !important;
}
.bravo_wrap .t-boat-item-loop .t-boat-price-wrapper .unit{
  font-weight:400 !important; font-size:13px !important; color:var(--bv-card-muted) !important;
}

/* ---- "load more" -------------------------------------------------------
   The button was a PNG of the old company's branded arrow. Replaced with a
   plain bordered pill and a chevron drawn in CSS, so nothing is imported. */
.bravo_wrap .load_more img,
.bravo_wrap .fake-load-more img,
.bravo_wrap .blogs-load-more img,
.bravo_wrap .more-news-button img{ display:none !important; }

.bravo_wrap .load_more,
.bravo_wrap .fake-load-more,
.bravo_wrap .blogs-load-more{
  margin:46px 0 10px !important; text-align:center;
}
.bravo_wrap .load_more a,
.bravo_wrap .fake-load-more,
.bravo_wrap .blogs-load-more a,
.bravo_wrap .blogs-load-more{
  display:inline-flex !important; align-items:center; gap:10px;
  border:1px solid var(--bv-card-line, #e4e8ef); border-radius:0;
  background:#fff; padding:13px 26px; cursor:pointer;
  font-family:var(--bv-sans) !important; font-weight:500;
  font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bv-card-ink, #161b25) !important;
  transition:background .25s ease, border-color .25s ease, color .25s ease;
}
.bravo_wrap .load_more a:hover,
.bravo_wrap .fake-load-more:hover,
.bravo_wrap .blogs-load-more:hover{
  background:var(--bv-card-ink, #161b25); border-color:var(--bv-card-ink, #161b25);
  color:#fff !important;
}
.bravo_wrap .load_more a::before,
.bravo_wrap .fake-load-more::before,
.bravo_wrap .blogs-load-more::before{ content:"Load more"; }
/* the chevron */
.bravo_wrap .load_more a::after,
.bravo_wrap .fake-load-more::after,
.bravo_wrap .blogs-load-more::after{
  content:""; width:7px; height:7px; display:inline-block;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg) translate(-2px,-2px);
}
/* with the galleries cleared there is a single frame, so hide the empty
   thumbnail strip and the arrows until new photographs are uploaded */
.bravo_wrap .t-second-g-gallery-container .fotorama__nav--thumbs:empty,
.bravo_wrap .t-second-g-gallery-container .fotorama__nav-wrap:has(.fotorama__nav__shaft:only-child .fotorama__thumb-border:only-child){
  display:none !important;
}

/* ---- car / boat detail booking panel ----------------------------------
   still the old chrome: a grey panel, a serif "ALMOST THERE!" and a gold
   button. */
.bravo_wrap .bravo_detail_car .bravo_single_book,
.bravo_wrap .bravo_detail_car .form-book,
.bravo_wrap .bravo_detail_car .t-book-form-column,
.bravo_wrap .bravo_detail_boat .t-book-form-column{
  background:#fff !important; border:1px solid var(--bv-card-line,#e4e8ef) !important;
  border-radius:14px !important; box-shadow:none !important;
}
.bravo_wrap .bravo_detail_car .bravo_single_book .head,
.bravo_wrap .bravo_detail_car .form-book .head{ background:transparent !important; }
.bravo_wrap .bravo_detail_car .bravo_single_book h2,
.bravo_wrap .bravo_detail_car .bravo_single_book h1,
.bravo_wrap .bravo_detail_car .t-book-form-column h1,
.bravo_wrap .bravo_detail_car .t-book-form-column h2{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:19px !important; letter-spacing:0 !important; text-transform:none !important;
  color:var(--bv-card-ink,#161b25) !important;
}
.bravo_wrap .bravo_detail_car button[type="submit"],
.bravo_wrap .bravo_detail_car .btn-book,
.bravo_wrap .bravo_detail_car .bravo_single_book .btn{
  background:var(--bv-card-ink,#161b25) !important; border:0 !important; border-radius:0 !important;
  color:#fff !important; font-family:var(--bv-sans) !important;
  font-size:12px !important; letter-spacing:.16em !important; text-transform:uppercase !important;
  padding:15px 30px !important;
}
.bravo_wrap .bravo_detail_car button[type="submit"]:hover,
.bravo_wrap .bravo_detail_car .btn-book:hover{ background:var(--bv-gold) !important; }
.bravo_wrap .bravo_detail_car .form-control,
.bravo_wrap .bravo_detail_boat .form-control{
  border:1px solid var(--bv-card-line,#e4e8ef) !important; border-radius:8px !important;
  background:#fff !important; box-shadow:none !important;
}

/* ---- concierge page: the old gold ---------------------------------------
   Selecting a service outlined the pill in waysofluxury gold (#C1AB73), and
   the booking panel beside it was the old grey-and-gold block with an
   "ALMOST THERE!" heading. */
.t-service-radio-button:checked + .t-service-radio-label,
.t-service-radio-button:checked + .t-service-concierge-radio-label{
  outline:0 !important;
  background:var(--bv-card-ink,#161b25) !important; color:#fff !important;
  border-color:var(--bv-card-ink,#161b25) !important;
}
.bravo_wrap .t-service-radio-label,
.bravo_wrap .t-service-concierge-radio-label{
  background:#fff !important; border:1px solid var(--bv-card-line,#e4e8ef) !important;
  border-radius:0 !important; padding:11px 20px !important;
  font-family:var(--bv-sans) !important; font-size:14px !important;
  color:var(--bv-card-ink,#161b25) !important;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.bravo_wrap .t-service-radio-label:hover,
.bravo_wrap .t-service-concierge-radio-label:hover{
  border-color:var(--bv-card-ink,#161b25) !important;
}
.bravo_wrap .t-service-category-title h1,
.bravo_wrap .bravo_search_tour .t-service-category-title h1{
  font-family:var(--bv-serif) !important; font-weight:400 !important;
  color:var(--bv-card-ink,#161b25) !important;
}
/* the concierge booking panel */
.bravo_wrap .bravo_search_tour .t-concierge-form-book-wrap,
.bravo_wrap .bravo_search_tour .concierge-package-background{
  background-image:none !important; background-color:var(--bv-card-ink,#161b25) !important;
}
.bravo_wrap .bravo_search_tour button[type="submit"],
.bravo_wrap .bravo_search_tour .btn-book{
  background:#fff !important; color:var(--bv-card-ink,#161b25) !important;
  border:0 !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-size:12px !important;
  letter-spacing:.16em !important; text-transform:uppercase !important; padding:15px 30px !important;
}
.bravo_wrap .t-concierge-form-title h1{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:22px !important; letter-spacing:0 !important; text-transform:none !important;
  color:#fff !important; margin:0 0 8px !important;
}
.bravo_wrap .t-concierge-form-info{
  font-family:var(--bv-sans) !important; font-size:14px !important;
  color:rgba(255,255,255,.7) !important;
}

/* =========================================================================
   SEARCH BAR v3 — four fields to a row, and a field no taller than it needs
   to be. One rule set for the homepage bar and the one on the search pages.
   ========================================================================= */
@media (min-width:992px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:8px !important; margin:0 !important;
  }
}
@media (min-width:600px) and (max-width:991px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important; margin:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]{
    flex:none !important; max-width:none !important; padding:0 !important;
  }
}

/* ---- field height ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col,
.bravo_wrap .bravo_form_search .form-group,
.bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
  min-height:0 !important; padding:8px 13px !important;
  display:flex !important; flex-direction:column; justify-content:center;
}
.bravo_wrap .page-template-content .bravo-form-search-all label,
.bravo_wrap .bravo_form_search label{
  font-size:9.5px !important; letter-spacing:.13em !important;
  margin:0 0 2px !important; line-height:1.25 !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search .parent_text,
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render{
  font-size:13.5px !important; line-height:1.35 !important;
  height:auto !important; min-height:0 !important;
}
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-BudgetAttr,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Age,
html body .bravo-form-search-all #t-search-Rating,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  font-size:13.5px !important; line-height:1.35 !important;
}
/* the card and the submit shrink with the fields */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
.bravo_wrap .bravo_form_search .bravo_form{ padding:8px !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
.bravo_wrap .bravo_form_search .g-button-submit{
  flex:0 0 104px !important; max-width:104px !important; padding:0 0 0 8px !important;
}
/* the hoisted Short Term Rental cells sit one wrapper deeper, so their boxes
   came out taller than the plain ones and the labels fell out of line */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"]{
    align-self:stretch !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"] > *,
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"] > *,
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"] > *,
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"] > *{
    height:100% !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
  .bravo_wrap .bravo_form_search .form-group{
    height:100% !important; min-height:52px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-group,
  .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6){
    min-height:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    min-height:52px !important; height:100% !important;
  }
}
/* pin the row height so every field box is identical rather than letting one
   deep-nested field set the height for the whole bar */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    grid-auto-rows:minmax(54px,auto) !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
  .bravo_wrap .bravo_form_search .form-group{
    height:100% !important; min-height:0 !important; overflow:visible;
  }
  /* the wrappers between the cell and the control were being stretched to
     100% and pushing the label out of its own box */
  .bravo_wrap .page-template-content .bravo-form-search-all .form-content,
  .bravo_wrap .bravo_form_search .form-content,
  .bravo_wrap .page-template-content .bravo-form-search-all .form-date-search,
  .bravo_wrap .bravo_form_search .form-date-search,
  .bravo_wrap .page-template-content .bravo-form-search-all .date-wrapper,
  .bravo_wrap .bravo_form_search .date-wrapper,
  .bravo_wrap .page-template-content .bravo-form-search-all .check-in-wrapper,
  .bravo_wrap .bravo_form_search .check-in-wrapper,
  .bravo_wrap .page-template-content .bravo-form-search-all .smart-search,
  .bravo_wrap .bravo_form_search .smart-search{
    height:auto !important; min-height:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    height:100% !important; min-height:0 !important;
  }
}
/* Rental Type and Booking Type sit one wrapper deeper (.filter-item), which
   was not filling its grid cell, so their boxes floated short of the others */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .filter-item,
  .bravo_wrap .bravo_form_search .filter-item,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-rental-type-form-wrapper,
  .bravo_wrap .bravo_form_search .t-rental-type-form-wrapper{
    height:100% !important; margin:0 !important; padding:0 !important;
  }
}

/* ---- the box IS the grid cell -----------------------------------------
   Chasing height through .filter-item / .form-group / .form-content never
   lines up, because the three service forms nest to different depths. Put
   the border on the grid cell itself — every cell is a grid item, so every
   box is identical by construction. */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]{
    border:1px solid var(--bv-hair) !important; background:#fff !important;
    padding:8px 13px !important; margin:0 !important;
    display:flex !important; flex-direction:column; justify-content:center;
    overflow:hidden; min-width:0;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
  .bravo_wrap .bravo_form_search .form-group,
  .bravo_wrap .page-template-content .bravo-form-search-all .filter-item,
  .bravo_wrap .bravo_form_search .filter-item{
    border:0 !important; padding:0 !important; margin:0 !important;
    height:auto !important; min-height:0 !important; display:block !important;
  }
  /* the budget cell holds two boxes, so the cell itself carries none */
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .bravo_form_search .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6){
    border:0 !important; padding:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    border:1px solid var(--bv-hair) !important; background:#fff !important;
    padding:8px 13px !important; height:100% !important;
    display:flex !important; flex-direction:column; justify-content:center;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .budget-input-wrapper{ height:100% !important; }
}
@media (max-width:599px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
  .bravo_wrap .bravo_form_search .g-button-submit{
    flex:1 1 100% !important; max-width:100% !important; width:100% !important;
    padding:8px 0 0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button,
  .bravo_wrap .bravo_form_search .home-search-form-button,
  .bravo_wrap .bravo_form_search .g-button-submit button{
    width:100% !important; padding:15px 0 !important;
  }
}
/* VIP transportation nests four levels deep (col-md-12 > row > col-xl-3 >
   row > col-12). Hoist every wrapper so the real fields become grid cells,
   otherwise the whole form collapses into one box. */
@media (min-width:600px){
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search > .row > [class*="col-"] > .row,
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search > .row > [class*="col-"] > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search > .row > [class*="col-"] > .row > [class*="col-"] > .row,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search > .row > .col-md-12,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"],
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search > .row > .col-md-12 > .row > [class*="col-"] > .row{
    display:contents !important; border:0 !important; padding:0 !important; background:none !important;
  }
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12{
    border:1px solid var(--bv-hair) !important; background:#fff !important;
    padding:8px 13px !important; margin:0 !important;
    display:flex !important; flex-direction:column; justify-content:center;
    overflow:hidden; min-width:0; max-width:none !important; flex:none !important;
  }
}

/* =========================================================================
   CARD CHIPS, FLAGS AND CONTROLS — one treatment everywhere
   Chips are solid ink with white text and no icons. The Featured flag, the
   wishlist heart and the carousel arrows are sized to the same grid.
   ========================================================================= */
.bravo_wrap .t-item-loop .t-amenities .amenity,
.bravo_wrap .t-item-loop .amenities .amenity,
.bravo_wrap .t-item-loop .t-car-search-amenities .amenity,
.bravo_wrap .t-boat-item-loop .t-boat-search-specs .amenity,
.bravo_wrap .t-item-loop .t-car-attribute,
.bravo_wrap .t-item-loop .t-house-listing-type,
.bravo_wrap .t-item-loop .t-boat-type,
.bravo_wrap .t-boat-item-loop .t-boat-type{
  background:var(--bv-card-ink,#161b25) !important;
  color:#fff !important; border:0 !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-weight:500 !important;
  font-size:11px !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  padding:7px 14px !important; margin:0 !important;
  display:inline-flex !important; align-items:center; line-height:1 !important;
}
/* no icons in a chip */
.bravo_wrap .t-item-loop .t-amenities img,
.bravo_wrap .t-item-loop .t-amenities i,
.bravo_wrap .t-item-loop .amenities img,
.bravo_wrap .t-item-loop .amenities i,
.bravo_wrap .t-item-loop .t-car-search-amenities i,
.bravo_wrap .t-item-loop .t-car-search-amenities img,
.bravo_wrap .t-boat-item-loop .t-boat-search-specs i,
.bravo_wrap .t-boat-item-loop .t-boat-search-specs img{ display:none !important; }

/* the Featured flag, aligned to the card's own padding */
.bravo_wrap .t-item-loop .t-featured-item,
.bravo_wrap .t-item-loop .featured,
.bravo_wrap .t-boat-item-loop .featured{
  position:absolute !important; top:16px !important; left:16px !important;
  background:var(--bv-card-ink,#161b25) !important; color:#fff !important;
  border-radius:0 !important; padding:6px 13px !important;
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:9.5px !important; letter-spacing:.14em !important; text-transform:uppercase !important;
  line-height:1 !important; z-index:3;
}
/* the heart: smaller glyph, bigger disc, actually centred */
.bravo_wrap .t-item-loop .t-wishlist,
.bravo_wrap .t-boat-item-loop .t-wishlist{
  position:absolute !important; top:14px !important; right:14px !important; left:auto !important;
  width:34px !important; height:34px !important; border-radius:50% !important;
  background:rgba(255,255,255,.94) !important; box-shadow:0 2px 8px rgba(16,24,40,.16) !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  padding:0 !important; margin:0 !important; z-index:3;
}
.bravo_wrap .t-item-loop .t-wishlist i,
.bravo_wrap .t-boat-item-loop .t-wishlist i{
  font-size:14px !important; line-height:1 !important; margin:0 !important;
  color:var(--bv-card-ink,#161b25) !important;
}
/* the carousel arrows were white-on-white */
.bravo_wrap .t-item-loop .carousel-control-prev,
.bravo_wrap .t-item-loop .carousel-control-next{
  width:34px !important; height:34px !important; top:50% !important; transform:translateY(-50%);
  opacity:0 !important; transition:opacity .2s ease;
  border-radius:50%; background:rgba(22,27,37,.55) !important;
  display:flex !important; align-items:center; justify-content:center;
}
.bravo_wrap .t-item-loop .carousel-control-prev{ left:12px !important; right:auto !important; }
.bravo_wrap .t-item-loop .carousel-control-next{ right:12px !important; left:auto !important; }
.bravo_wrap .t-item-loop:hover .carousel-control-prev,
.bravo_wrap .t-item-loop:hover .carousel-control-next{ opacity:1 !important; }
.bravo_wrap .t-item-loop .carousel-control-prev-icon,
.bravo_wrap .t-item-loop .carousel-control-next-icon{
  width:9px !important; height:9px !important; background-image:none !important;
  border-right:2px solid #fff; border-bottom:2px solid #fff;
}
.bravo_wrap .t-item-loop .carousel-control-prev-icon{ transform:rotate(135deg); margin-left:3px; }
.bravo_wrap .t-item-loop .carousel-control-next-icon{ transform:rotate(-45deg); margin-right:3px; }

/* =========================================================================
   SEARCH BAR v4 — compact on every tab, and legible
   Rows are pinned so a date range or a guests dropdown can't make one tab
   taller than the next; the field boxes carry a real border rather than a
   hairline; one type scale for labels and values.
   ========================================================================= */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    grid-auto-rows:minmax(60px,auto) !important; gap:10px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    border:1px solid #d6dbe4 !important; border-radius:8px !important;
    padding:7px 13px !important; overflow:visible;
  }
}
/* one type scale */
.bravo_wrap .page-template-content .bravo-form-search-all label,
.bravo_wrap .bravo_form_search label{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:9px !important; letter-spacing:.13em !important; text-transform:uppercase !important;
  color:#79828f !important; margin:0 0 1px !important; line-height:1.2 !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search .parent_text,
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render,
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-BudgetAttr,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Age,
html body .bravo-form-search-all #t-search-Rating,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  font-family:var(--bv-sans) !important; font-weight:500 !important;
  font-size:14px !important; line-height:1.25 !important; color:#161b25 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control::placeholder,
.bravo_wrap .bravo_form_search .form-control::placeholder{
  color:#9aa2ae !important; font-weight:400 !important;
}
/* the card itself, more present */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control{
  border:1px solid #d6dbe4 !important; border-radius:14px !important;
  box-shadow:0 18px 44px rgba(16,24,40,.16) !important; overflow:hidden;
}
.bravo_wrap .bravo_form_search .bravo_form{
  border:1px solid #d6dbe4 !important; border-radius:14px !important;
  box-shadow:0 4px 18px rgba(16,24,40,.07) !important;
}
/* the submit */
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button,
.bravo_wrap .bravo_form_search .g-button-submit button,
.bravo_wrap .bravo_form_search .home-search-form-button{
  border-radius:8px !important; font-size:13px !important;
}
/* keep the date field to one line inside its box */
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-out,
.bravo_wrap .bravo_form_search .check-in-out{
  position:absolute !important; opacity:0 !important; height:0 !important;
  width:0 !important; padding:0 !important; border:0 !important; z-index:-1;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
  line-height:1.25 !important; margin:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-content,
.bravo_wrap .bravo_form_search .form-content,
.bravo_wrap .page-template-content .bravo-form-search-all .filter-item,
.bravo_wrap .bravo_form_search .filter-item{
  margin:0 !important; padding:0 !important; line-height:1.25 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
  display:flex !important; flex-wrap:nowrap !important; white-space:nowrap !important;
  align-items:baseline; gap:5px; padding-right:22px;
}
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
.bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
.bravo_wrap .bravo_form_search .check-in-render,
.bravo_wrap .bravo_form_search .check-out-render{
  flex:0 0 auto !important; white-space:nowrap !important; width:auto !important;
  font-size:14px !important; line-height:1.25 !important;
}
/* the budget pair has to fill its row like every other box */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-group,
  .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .budget-input-wrapper{
    height:100% !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
    height:100% !important; min-height:0 !important;
  }
}
/* the chip label lives in a nested .text span that carries its own colour,
   so the chips were rendering as solid black with invisible text */
.bravo_wrap .t-item-loop .t-amenities .amenity *,
.bravo_wrap .t-item-loop .amenities .amenity *,
.bravo_wrap .t-item-loop .t-car-search-amenities .amenity *,
.bravo_wrap .t-boat-item-loop .t-boat-search-specs .amenity *{
  color:#fff !important; font-size:11px !important; font-weight:500 !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; line-height:1 !important;
}

/* =========================================================================
   SEARCH BAR v5 — one grid, one box, no exceptions
   Three things were breaking consistency:
     1. the budget pair was ONE cell holding two half-width boxes, so Min and
        Max never lined up with the columns above them;
     2. rows were allowed to grow, so whichever field happened to be tallest
        set the height for its whole row and the tabs differed;
     3. a tab with two fields left half the bar empty.
   Budget is hoisted into the grid, rows are pinned, and auto-fit collapses
   the unused tracks so two fields fill the bar the same way seven do.
   ========================================================================= */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(235px,1fr)) !important;
    grid-auto-rows:64px !important;
    gap:10px !important; margin:0 !important; align-items:stretch !important;
  }

  /* --- the budget pair becomes two ordinary cells --- */
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col > .form-group,
  .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-content,
  .bravo_wrap .bravo_form_search .form-content:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .budget-input-wrapper{
    display:contents !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-inner-col.col-6{
    margin:0 !important; max-width:none !important; width:auto !important; flex:none !important;
  }

  /* --- one box, everywhere --- */
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-inner-col.col-6{
    border:1px solid #d6dbe4 !important; border-radius:8px !important;
    background:#fff !important; padding:0 14px !important; margin:0 !important;
    display:flex !important; flex-direction:column !important; justify-content:center !important;
    align-items:stretch !important; overflow:hidden !important; min-width:0 !important;
    height:auto !important; min-height:0 !important;
  }
}
/* --- one type scale inside the box --- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
.bravo_wrap .bravo_form_search label{
  font-family:var(--bv-sans) !important; font-weight:600 !important;
  font-size:9px !important; letter-spacing:.13em !important; text-transform:uppercase !important;
  color:#79828f !important; margin:0 0 3px !important; line-height:1 !important;
  display:block !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-content *:not(label),
html body .bravo_wrap .bravo_form_search .form-content *:not(label),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-inner-col *:not(label),
html body .bravo_wrap .bravo_form_search .budget-inner-col *:not(label){
  font-size:14px !important; line-height:1.2 !important; font-family:var(--bv-sans) !important;
}
/* the "one box" rule above matches [class*="col-"], which includes the budget
   cell, so it was overriding display:contents and Min/Max collapsed back to
   half-width. Re-assert the hoist after it. */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col > .form-group,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-content,
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .form-content:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .budget-input-wrapper{
    display:contents !important; border:0 !important; padding:0 !important; background:none !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-inner-col.col-6{
    width:auto !important; max-width:none !important; flex:none !important;
  }
}
/* an earlier five-class rule (.t-Budget-col .budget-input-wrapper) still made
   the wrapper a flex row, which kept Min/Max inside one grid track */
@media (min-width:600px){
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .t-Budget-col .budget-input-wrapper,
  .bravo_wrap .page-template-content .bravo-form-search-all .form-content .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .form-content .budget-input-wrapper{
    display:contents !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col,
  .bravo_wrap .bravo_form_search .t-Budget-col .budget-input-wrapper > .budget-inner-col{
    width:auto !important; max-width:none !important; flex:none !important; margin:0 !important;
    border:1px solid #d6dbe4 !important; border-radius:8px !important; background:#fff !important;
    padding:0 14px !important; display:flex !important; flex-direction:column !important;
    justify-content:center !important; overflow:hidden !important; min-width:0 !important;
  }
}

/* =========================================================================
   SEARCH BAR — COLLECTOR
   Built to the supplied reference: a forest panel, a tab row of dark tiles
   with a gold active state, and a field grid ruled by hairlines rather than
   individual boxes. Markup, inputs, datepickers and form actions untouched.
   ========================================================================= */
:root{
  --cs-forest:#142019;
  --cs-tabbar:#0d1711;
  --cs-tile:#1b2921;
  --cs-cream:#f7f5ef;
  --cs-muted:#9ba59d;
  --cs-gold:#c2a16b;
  --cs-line:rgba(255,255,255,.15);
}

/* ---- the panel ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control{
  background:var(--cs-forest) !important; border:0 !important; border-radius:0 !important;
  box-shadow:0 26px 60px rgba(10,16,12,.34) !important; padding:0 !important; overflow:visible !important;
}
.bravo_wrap .bravo_form_search .bravo_form{
  background:var(--cs-forest) !important; border:0 !important; border-radius:0 !important;
  box-shadow:0 10px 26px rgba(10,16,12,.18) !important; padding:0 !important;
}

/* ---- the tab row ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
  display:grid !important; grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  gap:5px !important; padding:6px !important; margin:0 !important;
  background:var(--cs-tabbar) !important;
  border:1px solid var(--cs-line) !important; border-radius:0 !important;
  overflow:visible !important; -webkit-mask-image:none !important; mask-image:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li{
  margin:0 !important; display:flex !important; min-width:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
  background:var(--cs-tile) !important; border:1px solid rgba(255,255,255,.1) !important;
  border-radius:0 !important; color:#d9ddd8 !important;
  font-family:var(--bv-sans) !important; font-size:10px !important; font-weight:600 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  min-height:48px !important; width:100% !important; padding:0 12px !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  text-align:center !important; white-space:normal !important;
  transition:background .16s ease, border-color .16s ease, color .16s ease;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a:hover{
  background:#26372c !important; border-color:rgba(255,255,255,.28) !important; color:#fff !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a.active{
  background:var(--cs-gold) !important; border-color:var(--cs-gold) !important;
  color:var(--cs-forest) !important; font-weight:600 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .searchTextContainer{
  display:block !important; font-size:inherit !important; line-height:1.25 !important;
}

/* ---- the field grid ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .tab-content,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
.bravo_wrap .bravo_form_search .tab-content{
  background:var(--cs-forest) !important; padding:0 !important; border:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
.bravo_wrap .bravo_form_search .bravo_form{
  display:flex !important; align-items:stretch !important; gap:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search,
.bravo_wrap .bravo_form_search .g-field-search{
  flex:1 1 0 !important; max-width:none !important; padding:0 !important;
}
@media (min-width:951px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important; gap:0 !important; margin:0 !important;
    border-left:1px solid var(--cs-line) !important; border-top:1px solid var(--cs-line) !important;
  }
}
@media (min-width:541px) and (max-width:950px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 !important; margin:0 !important;
    border-left:1px solid var(--cs-line) !important; border-top:1px solid var(--cs-line) !important;
  }
}
@media (max-width:540px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:grid !important; grid-template-columns:1fr !important; gap:0 !important; margin:0 !important;
    border-left:1px solid var(--cs-line) !important; border-top:1px solid var(--cs-line) !important;
  }
}

/* ---- the field ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12,
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
.bravo_wrap .bravo_form_search .budget-inner-col.col-6{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  border-bottom:1px solid var(--cs-line) !important;
  border-right:1px solid var(--cs-line) !important;
  display:flex !important; flex-direction:column !important; justify-content:center !important;
  gap:4px !important; min-height:58px !important; height:auto !important;
  padding:0 14px !important; margin:0 !important; min-width:0 !important; overflow:visible !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
.bravo_wrap .bravo_form_search label{
  color:var(--cs-muted) !important; font-family:var(--bv-sans) !important;
  font-size:8px !important; font-weight:600 !important; letter-spacing:.17em !important;
  text-transform:uppercase !important; margin:0 !important; line-height:1.15 !important;
  display:block !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search .parent_text,
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render,
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-BudgetAttr,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Age,
html body .bravo-form-search-all #t-search-Rating,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  background:transparent !important; border:0 !important; outline:0 !important;
  color:var(--cs-cream) !important; font-family:var(--bv-sans) !important;
  font-size:12px !important; font-weight:400 !important; line-height:1.3 !important;
  padding:0 !important; width:100% !important; min-width:0 !important;
  height:auto !important; min-height:0 !important; box-shadow:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-control::placeholder,
.bravo_wrap .bravo_form_search .form-control::placeholder,
.bravo_wrap .page-template-content .bravo-form-search-all input::placeholder,
.bravo_wrap .bravo_form_search input::placeholder{
  color:var(--cs-cream) !important; opacity:1 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all option,
.bravo_wrap .bravo_form_search option{ color:var(--cs-forest) !important; }
/* the dark bar needs its icons inverted */
.bravo_wrap .page-template-content .bravo-form-search-all .form-content i,
.bravo_wrap .bravo_form_search .form-content i,
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-wrapper span,
.bravo_wrap .bravo_form_search .check-in-wrapper span{ color:var(--cs-muted) !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .form-content img,
.bravo_wrap .bravo_form_search .form-content img{ filter:invert(1) brightness(1.6); opacity:.65; }
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  filter:invert(1) brightness(1.8) grayscale(1);
}

/* ---- the action button ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
.bravo_wrap .bravo_form_search .g-button-submit{
  flex:0 0 190px !important; max-width:190px !important; padding:0 !important; display:flex;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button,
.bravo_wrap .bravo_form_search .g-button-submit button,
.bravo_wrap .bravo_form_search .home-search-form-button{
  background:var(--cs-gold) !important; border:0 !important; border-radius:0 !important;
  color:var(--cs-forest) !important; width:100% !important; height:100% !important;
  min-height:58px !important; padding:0 14px !important;
  font-family:var(--bv-sans) !important; font-size:11px !important; font-weight:600 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button:hover,
.bravo_wrap .bravo_form_search .g-button-submit button:hover{ background:#d0b07c !important; }
@media (max-width:950px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
  .bravo_wrap .bravo_form_search .bravo_form{ display:block !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
  .bravo_wrap .bravo_form_search .g-button-submit{
    flex:1 1 100% !important; max-width:100% !important; width:100% !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
    display:flex !important; overflow-x:auto; scrollbar-width:none;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs::-webkit-scrollbar{ display:none; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li{
    flex:0 0 auto !important; min-width:145px;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
    padding:0 18px !important; white-space:nowrap !important;
  }
}
/* the budget cells still carried the old white box from a five-class rule */
.bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col,
.bravo_wrap .bravo_form_search .t-Budget-col .budget-input-wrapper > .budget-inner-col,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-6,
.bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-6{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  border-bottom:1px solid var(--cs-line) !important;
  border-right:1px solid var(--cs-line) !important;
  min-height:58px !important; height:auto !important; padding:0 14px !important;
  gap:4px !important; display:flex !important; flex-direction:column !important;
  justify-content:center !important;
}
/* something between the panel and the cells was still painting white */
.bravo_wrap .page-template-content .bravo-form-search-all .tab-pane,
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search,
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search *,
.bravo_wrap .bravo_form_search .tab-pane,
.bravo_wrap .bravo_form_search .g-field-search,
.bravo_wrap .bravo_form_search .g-field-search *{
  background-color:transparent !important;
}
/* the autocomplete and option lists keep their own paper */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo-autocomplete,
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo-autocomplete *,
.bravo_wrap .bravo_form_search .bravo-autocomplete,
.bravo_wrap .bravo_form_search .search-field-options,
.bravo_wrap .bravo_form_search .bravo-autocomplete *{
  background-color:#fff !important; color:var(--bv-ink) !important;
}
/* those controls are sized and painted white by ID rules in general.css, and
   their chevron / pin icons are dark PNGs that cannot live on a dark bar */
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-BudgetAttr,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Age,
html body .bravo-form-search-all #t-search-Rating,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type,
html body .bravo_form_search #t-search-home-form-location-input,
html body .bravo_form_search #t-search-Category,
html body .bravo_form_search #t-search-Car-Type,
html body .bravo_form_search #t-search-Boat-Type{
  background-color:transparent !important; background-image:none !important;
  filter:none !important; height:auto !important; min-height:0 !important;
  border:0 !important; box-shadow:none !important; color:var(--cs-cream) !important;
}
/* a chevron drawn in CSS for any cell that holds a select-style control */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col,
.bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col{ position:relative; }
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(select)::after,
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(.smart-select)::after,
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(select)::after,
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(select)::after{
  content:""; position:absolute; right:14px; top:50%; width:7px; height:7px;
  margin-top:-5px; pointer-events:none;
  border-right:1.7px solid var(--cs-muted); border-bottom:1.7px solid var(--cs-muted);
  transform:rotate(45deg);
}
/* .form-group kept the white box and a 119px height from the card-era rules */
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-group,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-content,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .filter-item,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .smart-search,
html body .bravo_wrap .bravo_form_search .form-group,
html body .bravo_wrap .bravo_form_search .form-content,
html body .bravo_wrap .bravo_form_search .filter-item,
html body .bravo_wrap .bravo_form_search .smart-search{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  padding:0 !important; margin:0 !important;
  height:auto !important; min-height:0 !important; max-height:none !important;
}
/* re-assert the budget hoist after the collector cell rule, which matches
   [class*="col-"] and otherwise turns the budget cell back into one box */
@media (min-width:541px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > .t-Budget-col,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col > .form-group,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .form-content,
  .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper,
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .form-content:has(.budget-inner-col.col-6),
  .bravo_wrap .bravo_form_search .budget-input-wrapper{
    display:contents !important; border:0 !important; padding:0 !important;
    background:none !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col,
  .bravo_wrap .bravo_form_search .budget-inner-col{
    width:auto !important; max-width:none !important; flex:none !important; margin:0 !important;
    border:0 !important; border-bottom:1px solid var(--cs-line) !important;
    border-right:1px solid var(--cs-line) !important; border-radius:0 !important;
    background:transparent !important; padding:0 14px !important;
    display:flex !important; flex-direction:column !important; justify-content:center !important;
    gap:4px !important; min-height:58px !important; height:auto !important; min-width:0 !important;
  }
}
/* keep a field's content inside its own cell */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col,
.bravo_wrap .bravo_form_search .budget-inner-col,
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
  overflow:hidden !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
  min-width:0 !important; overflow:hidden !important; gap:4px !important;
  padding-right:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
.bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
.bravo_wrap .bravo_form_search .check-in-render,
.bravo_wrap .bravo_form_search .check-out-render{
  font-size:12px !important; color:var(--cs-cream) !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .form-content > img,
.bravo_wrap .bravo_form_search .form-content > img,
.bravo_wrap .page-template-content .bravo-form-search-all .formIcon,
.bravo_wrap .bravo_form_search .formIcon{ display:none !important; }
/* anchor the label to a fixed offset instead of centring a content block
   whose height varies from field to field — that is what put MIN BUDGET a
   few pixels below LOCATION */
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col,
.bravo_wrap .bravo_form_search .budget-inner-col,
.bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
  justify-content:flex-start !important;
  padding:14px 14px 0 !important; gap:5px !important;
}
/* the date range has to show both ends */
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
.bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
.bravo_wrap .bravo_form_search .check-in-render,
.bravo_wrap .bravo_form_search .check-out-render{
  font-size:11.5px !important; letter-spacing:.01em !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper i,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper i,
.bravo_wrap .page-template-content .bravo-form-search-all .date-wrapper img,
.bravo_wrap .bravo_form_search .date-wrapper img{ display:none !important; }
/* the calendar glyph is a background image on the wrapper, and the location
   input sat a few pixels low because .smart-search keeps its own padding */
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper,
.bravo_wrap .page-template-content .bravo-form-search-all .form-date-search-hotel,
.bravo_wrap .bravo_form_search .form-date-search-hotel,
.bravo_wrap .page-template-content .bravo-form-search-all .form-date-search,
.bravo_wrap .bravo_form_search .form-date-search{
  background-image:none !important; padding:0 !important; margin:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .smart-search,
.bravo_wrap .bravo_form_search .smart-search,
.bravo_wrap .page-template-content .bravo-form-search-all .smart-search .parent_text,
.bravo_wrap .bravo_form_search .smart-search .parent_text{
  padding:0 !important; margin:0 !important; line-height:1.3 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .smart-search::after,
.bravo_wrap .bravo_form_search .smart-search::after{ content:none !important; }

/* =========================================================================
   COLLECTOR SEARCH — CORRECTIONS
   Against the reference, measured:
     · Min/Max Budget stacked in ONE column (both at x=303) → three rows
     · Category 116px tall while every other cell was 58
     · Bedrooms/Bathrooms double-boxed (outer 215x73, inner 186x58)
     · the gold button 190x175, outside the grid, spanning every row
     · overflow:hidden on the cells clipping the autocomplete menus
     · chevrons on 2 of 8 fields, labels at 8px, no button label
   ========================================================================= */

/* --- 1. the whole module is ONE grid: fields and the button together --- */
@media (min-width:951px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
  .bravo_wrap .bravo_form_search .bravo_form{
    display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:0 !important; align-items:stretch !important;
    border-left:1px solid var(--cs-line) !important; border-top:1px solid var(--cs-line) !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search,
  .bravo_wrap .bravo_form_search .g-field-search,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{
    display:contents !important; border:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
  .bravo_wrap .bravo_form_search .g-button-submit{
    display:block !important; flex:none !important; max-width:none !important;
    width:auto !important; padding:0 !important; margin:0 !important;
    border-bottom:1px solid var(--cs-line) !important;
  }
}

/* --- 2. the budget hoist, on BOTH scopes (it only covered the search page) --- */
@media (min-width:541px){
  .bravo_wrap .page-template-content .bravo-form-search-all .form-group:has(> .form-content > .budget-input-wrapper > .budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .form-content:has(> .budget-input-wrapper > .budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all [class*="col-"]:has(> .form-group > .form-content > .budget-input-wrapper > .budget-inner-col.col-6),
  .bravo_wrap .page-template-content .bravo-form-search-all .filter-item:has(.budget-inner-col.col-6){
    display:contents !important;
  }
}

/* --- 3. Bedrooms / Bathrooms reuse the budget wrapper at col-12: those must
         NOT get a second box inside their own cell --- */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-12,
.bravo_wrap .bravo_form_search .budget-inner-col.col-12,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-input-wrapper > .budget-inner-col.col-12,
.bravo_wrap .bravo_form_search .budget-input-wrapper > .budget-inner-col.col-12{
  border:0 !important; padding:0 !important; min-height:0 !important;
  display:block !important; background:transparent !important;
}

/* --- 4. one cell, 58px, nothing clipped --- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"],
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
.bravo_wrap .bravo_form_search .budget-inner-col.col-6,
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
  position:relative !important; overflow:visible !important;
  min-height:58px !important; height:auto !important;
  padding:11px 30px 0 14px !important; gap:4px !important;
  display:flex !important; flex-direction:column !important; justify-content:flex-start !important;
  border:0 !important; border-right:1px solid var(--cs-line) !important;
  border-bottom:1px solid var(--cs-line) !important; background:transparent !important;
}

/* --- 5. a chevron on every field, like the reference --- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"]::after,
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]::after,
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]::after,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6::after,
.bravo_wrap .bravo_form_search .budget-inner-col.col-6::after{
  content:""; position:absolute; right:14px; top:50%; width:7px; height:7px;
  margin-top:-5px; pointer-events:none; opacity:.75;
  border-right:1.6px solid var(--cs-muted); border-bottom:1.6px solid var(--cs-muted);
  transform:rotate(45deg);
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit::after{ content:none !important; }

/* --- 6. type, closer to the reference --- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
.bravo_wrap .bravo_form_search label{
  font-size:10px !important; letter-spacing:.14em !important; color:#8d968e !important;
  line-height:1.1 !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render{
  font-size:14px !important; line-height:1.3 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
.bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
.bravo_wrap .bravo_form_search .check-in-render,
.bravo_wrap .bravo_form_search .check-out-render{ font-size:13px !important; }

/* --- 7. the button is a cell, and it says what it does --- */
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button,
.bravo_wrap .bravo_form_search .g-button-submit button,
.bravo_wrap .bravo_form_search .home-search-form-button{
  min-height:58px !important; height:100% !important; width:100% !important;
  display:flex !important; align-items:center !important; justify-content:center !important;
  gap:9px !important; font-size:12px !important; letter-spacing:.12em !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button::after,
.bravo_wrap .bravo_form_search .g-button-submit button::after{
  content:"Search"; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
}

/* --- 8. the menus must escape their cell, and look like menus --- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo-autocomplete,
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options,
.bravo_wrap .bravo_form_search .bravo-autocomplete,
.bravo_wrap .bravo_form_search .search-field-options{
  left:0 !important; right:auto !important; top:100% !important; margin-top:6px !important;
  min-width:240px !important; width:auto !important; max-height:320px !important;
  background:#fff !important; border:1px solid rgba(21,23,27,.12) !important; border-radius:6px !important;
  box-shadow:0 18px 44px rgba(10,16,12,.3) !important; z-index:60 !important;
  padding:6px 0 !important; overflow-y:auto !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options:empty,
.bravo_wrap .bravo_form_search .search-field-options:empty{ display:none !important; }
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options li,
.bravo_wrap .bravo_form_search .search-field-options li,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo-autocomplete .item,
.bravo_wrap .bravo_form_search .bravo-autocomplete .item{
  color:var(--bv-ink) !important; font-size:14px !important; padding:9px 16px !important;
  white-space:nowrap;
}
.bravo_wrap .page-template-content .bravo-form-search-all .search-field-options li:hover,
.bravo_wrap .bravo_form_search .search-field-options li:hover,
.bravo_wrap .page-template-content .bravo-form-search-all .bravo-autocomplete .item:hover{
  background:#f3f1ec !important;
}

/* --- 9. the tab row, inset inside the module like the reference --- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control{
  border:1px solid var(--cs-line) !important; padding:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs{
  padding:10px !important; border:0 !important; gap:8px !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a{
  min-height:54px !important; font-size:11px !important; letter-spacing:.09em !important;
}
/* each date render was taking width:100% from the generic control rule, so
   the check-in filled the cell and the checkout was pushed out of sight */
html body .bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
html body .bravo_wrap .bravo_form_search .check-in-render,
html body .bravo_wrap .bravo_form_search .check-out-render{
  width:auto !important; flex:0 0 auto !important; min-width:0 !important;
  display:inline-block !important; white-space:nowrap !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
  overflow:visible !important; width:100% !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .form-content .t-search-check-in-out-wrapper .render,
html body .bravo_wrap .bravo_form_search .form-content .t-search-check-in-out-wrapper .render{
  width:auto !important; max-width:48% !important; flex:0 1 auto !important;
  overflow:hidden !important; text-overflow:ellipsis !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .t-search-check-in-out-wrapper,
.bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
  overflow:hidden !important; display:flex !important; align-items:baseline !important;
}

/* =========================================================================
   SEARCH BAR — FOUR PER ROW, EQUAL ROWS, EVERY FIELD THE SAME
   · four columns, not five
   · every row pinned to the same height
   · the button always closes its row (grid-column-end:-1), so no holes
   · a chevron on every field and none on the button
   · one control type size, so "Choose a category" and "Where are you going?"
     stop being smaller than "Min Budget"
   ========================================================================= */
@media (min-width:951px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
  .bravo_wrap .bravo_form_search .bravo_form{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    grid-auto-rows:60px !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
  .bravo_wrap .bravo_form_search .g-button-submit{
    grid-column-end:-1 !important;
  }
}
@media (min-width:541px) and (max-width:950px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form,
  .bravo_wrap .bravo_form_search .bravo_form{
    display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    grid-auto-rows:60px !important; gap:0 !important;
    border-left:1px solid var(--cs-line) !important; border-top:1px solid var(--cs-line) !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search,
  .bravo_wrap .bravo_form_search .g-field-search,
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row,
  .bravo_wrap .bravo_form_search .g-field-search > .row{ display:contents !important; border:0 !important; }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit,
  .bravo_wrap .bravo_form_search .g-button-submit{
    display:block !important; grid-column:1 / -1 !important; width:auto !important; max-width:none !important;
  }
}

/* ---- every cell identical, content vertically centred ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"],
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
.bravo_wrap .bravo_form_search .budget-inner-col.col-6,
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
  height:100% !important; min-height:0 !important;
  padding:0 32px 0 14px !important; gap:5px !important;
  justify-content:center !important;
}

/* ---- the chevron: on every field, never on the button ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"]::after,
.bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"]::after,
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]::after,
.bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"]::after,
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]::after,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6::after,
.bravo_wrap .bravo_form_search .budget-inner-col.col-6::after,
.bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12::after,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12::after{
  content:"" !important; position:absolute; right:14px; top:50%; width:7px; height:7px;
  margin-top:-5px; pointer-events:none; opacity:.8;
  border-right:1.6px solid var(--cs-muted); border-bottom:1.6px solid var(--cs-muted);
  border-top:0; border-left:0; transform:rotate(45deg); background:none;
}
.bravo_wrap .page-template-content .bravo-form-search-all .g-button-submit::after,
.bravo_wrap .bravo_form_search .g-button-submit::after,
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-12::after,
.bravo_wrap .bravo_form_search .budget-inner-col.col-12::after,
.bravo_wrap .page-template-content .bravo-form-search-all .form-group::after,
.bravo_wrap .page-template-content .bravo-form-search-all .form-content::after,
.bravo_wrap .bravo_form_search .form-group::after,
.bravo_wrap .bravo_form_search .form-content::after{
  content:none !important; display:none !important;
}

/* ---- one size for every control, placeholders included ---- */
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .parent_text,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .form-content *:not(label),
html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
html body .bravo_wrap .bravo_form_search select,
html body .bravo_wrap .bravo_form_search .render,
html body .bravo_wrap .bravo_form_search .parent_text,
html body .bravo_wrap .bravo_form_search .form-content *:not(label),
html body .bravo-form-search-all #t-search-home-form-location-input,
html body .bravo-form-search-all #t-search-Category,
html body .bravo-form-search-all #t-search-Budget,
html body .bravo-form-search-all #t-search-Bedrooms,
html body .bravo-form-search-all #t-search-Bathrooms,
html body .bravo-form-search-all #t-search-Car-Type,
html body .bravo-form-search-all #t-search-Boat-Type{
  font-size:15px !important; line-height:1.3 !important; font-weight:400 !important;
  font-family:var(--bv-sans) !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
html body .bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
html body .bravo_wrap .bravo_form_search .check-in-render,
html body .bravo_wrap .bravo_form_search .check-out-render{ font-size:14px !important; }
.bravo_wrap .page-template-content .bravo-form-search-all input::placeholder,
.bravo_wrap .bravo_form_search input::placeholder{ font-size:15px !important; }

/* ---- labels: bigger and brighter ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
.bravo_wrap .bravo_form_search label{
  font-size:11px !important; letter-spacing:.12em !important; color:#a7b0a6 !important;
  font-weight:600 !important; line-height:1.1 !important;
}

/* ---- the clicked tab kept a browser focus ring ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a:focus,
.bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs li a:active{
  outline:0 !important; box-shadow:none !important;
}

/* ---- the button ---- */
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button::after,
.bravo_wrap .bravo_form_search .g-button-submit button::after{
  content:"Search" !important; display:inline !important; position:static !important;
  border:0 !important; width:auto !important; height:auto !important; margin:0 !important;
  transform:none !important; font-size:13px !important; font-weight:600 !important;
  letter-spacing:.1em !important; text-transform:none !important; opacity:1 !important;
}
/* centring a content block whose height varies per field type is what keeps
   putting MIN BUDGET a few pixels below LOCATION. Rows are a fixed 60px now,
   so anchor the label at a fixed offset instead. */
@media (min-width:541px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-inner-col.col-6,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
    justify-content:flex-start !important;
    padding:12px 32px 0 14px !important; gap:4px !important;
  }
}
/* the min-budget input is wrapped in an extra bare <div>, which added a line
   box and pushed its value 4px below every other field's */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col > div,
.bravo_wrap .bravo_form_search .budget-inner-col > div{
  display:contents !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
.bravo_wrap .bravo_form_search label{
  padding:0 !important; height:auto !important; vertical-align:baseline !important;
}
/* lock the internal metrics so the label and the value land on exactly the
   same line in every field, whatever the markup underneath */
@media (min-width:541px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
  .bravo_wrap .bravo_form_search label{
    height:13px !important; line-height:13px !important; margin:0 !important; display:block !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form input:not([type="hidden"]),
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .render,
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-search-check-in-out-wrapper,
  html body .bravo_wrap .bravo_form_search input:not([type="hidden"]),
  html body .bravo_wrap .bravo_form_search select,
  html body .bravo_wrap .bravo_form_search .render,
  html body .bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper{
    height:20px !important; line-height:20px !important; margin:0 !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .check-in-render,
  html body .bravo_wrap .page-template-content .bravo-form-search-all .check-out-render,
  html body .bravo_wrap .bravo_form_search .check-in-render,
  html body .bravo_wrap .bravo_form_search .check-out-render{
    height:20px !important; line-height:20px !important;
  }
}
/* the flex `gap` only applies where the label and the control are direct
   siblings — in most fields they sit inside .form-group, so the gap landed on
   the budget cells only and pushed their value 4px down. Drop the gap; the
   label's locked 13px height does the spacing. */
@media (min-width:541px){
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .g-field-search > .row > [class*="col-"],
  .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"],
  .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
  .bravo_wrap .bravo_form_search .budget-inner-col.col-6,
  .bravo_wrap .page-template-content #bravo_VipTransportation .g-field-search .col-12,
  .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
    gap:0 !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form label,
  .bravo_wrap .bravo_form_search label{ margin:0 0 4px !important; height:13px !important; }
}

/* =========================================================================
   SEARCH BAR — NO ICONS AT ALL
   The small rectangles are tofu: icon-font glyphs (icofont / fontawesome /
   the number-spinner arrows) with no character in the loaded font. Every
   icon in the bar is removed, and the submit label is only injected for the
   buttons that have nothing but an icon inside them.
   ========================================================================= */
.bravo_wrap .page-template-content .bravo-form-search-all i,
.bravo_wrap .page-template-content .bravo-form-search-all .field-icon,
.bravo_wrap .page-template-content .bravo-form-search-all .input-icon,
.bravo_wrap .page-template-content .bravo-form-search-all .formIcon,
.bravo_wrap .page-template-content .bravo-form-search-all .form-content img,
.bravo_wrap .page-template-content .bravo-form-search-all .inc_dec,
.bravo_wrap .page-template-content .bravo-form-search-all .icon-up,
.bravo_wrap .page-template-content .bravo-form-search-all .icon-down,
.bravo_wrap .bravo_form_search i,
.bravo_wrap .bravo_form_search .field-icon,
.bravo_wrap .bravo_form_search .input-icon,
.bravo_wrap .bravo_form_search .formIcon,
.bravo_wrap .bravo_form_search .form-content img,
.bravo_wrap .bravo_form_search .inc_dec,
.bravo_wrap .bravo_form_search .icon-up,
.bravo_wrap .bravo_form_search .icon-down{
  display:none !important;
}
/* native spinners on the number fields produce the same boxes */
.bravo_wrap .page-template-content .bravo-form-search-all input[type="number"]::-webkit-outer-spin-button,
.bravo_wrap .page-template-content .bravo-form-search-all input[type="number"]::-webkit-inner-spin-button,
.bravo_wrap .bravo_form_search input[type="number"]::-webkit-outer-spin-button,
.bravo_wrap .bravo_form_search input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance:none !important; appearance:none !important; margin:0 !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all input[type="number"],
.bravo_wrap .bravo_form_search input[type="number"]{ -moz-appearance:textfield !important; }
.bravo_wrap .page-template-content .bravo-form-search-all input[type="date"]::-webkit-calendar-picker-indicator,
.bravo_wrap .bravo_form_search input[type="date"]::-webkit-calendar-picker-indicator{
  display:none !important; -webkit-appearance:none !important;
}

/* "BOOK NOW Search" — the VIP button already has a label, so only the
   icon-only buttons get one added */
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button::after,
.bravo_wrap .bravo_form_search .g-button-submit button::after,
.bravo_wrap .bravo_form_search .home-search-form-button::after{
  content:none !important;
}
.bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button:has(> i:only-child)::after,
.bravo_wrap .bravo_form_search .home-search-form-button:has(> i:only-child)::after{
  content:"Search" !important; display:inline !important; position:static !important;
  border:0 !important; width:auto !important; height:auto !important; margin:0 !important;
  transform:none !important; font-size:13px !important; font-weight:600 !important;
  letter-spacing:.1em !important; text-transform:none !important; opacity:1 !important;
}
/* the budget cells were still taking the light-theme hairline
   (rgba(21,23,27,.13)) from an earlier rule — near-black at 13% on a forest
   panel, so their bottom and right rules looked missing */
html body .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6,
html body .bravo_wrap .page-template-content .bravo-form-search-all .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .bravo_form_search .t-Budget-col .budget-input-wrapper > .budget-inner-col{
  border:0 !important;
  border-right:1px solid var(--cs-line) !important;
  border-bottom:1px solid var(--cs-line) !important;
  border-radius:0 !important; background:transparent !important;
}
/* the winning rule was a six-class selector from the white-card era
   (.bravo_form .budget-input-wrapper > .budget-inner-col.col-6). Match its
   chain so the dark-panel hairline actually applies. */
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .bravo_form_search .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col{
  border:0 !important;
  border-right:1px solid var(--cs-line) !important;
  border-bottom:1px solid var(--cs-line) !important;
  border-radius:0 !important; background:transparent !important;
  padding:12px 32px 0 14px !important;
}
/* the budget cells were still centring their content while every other cell
   anchors it to the top, so Min/Max sat 3px low and their value 7px low —
   the empty options <ul> inside them counts toward the centred block */
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .bravo_form_search .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6{
  justify-content:flex-start !important;
}
/* keep the options list out of the flex flow until it is opened */
.bravo_wrap .page-template-content .bravo-form-search-all .budget-options,
.bravo_wrap .bravo_form_search .budget-options{
  position:absolute !important;
}
/* and drop their flex gap — in the other cells the label and control sit
   inside .form-group so no gap applies; here they are direct siblings, which
   added another 4px under the label */
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .bravo_form .budget-input-wrapper > .budget-inner-col.col-6,
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .bravo_form_search .bravo_form .t-Budget-col .budget-input-wrapper > .budget-inner-col,
html body .bravo_wrap .page-template-content .bravo-form-search-all .budget-inner-col.col-6,
html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6{
  gap:0 !important; row-gap:0 !important;
}
/* Short Term Rental's hoisted cells were still taking 14px of top padding
   from an earlier pass, putting their labels 2px below the rest */
html body .bravo_wrap .page-template-content .bravo-form-search-all #bravo_space .rental-search-fields > [class*="col-"],
html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
html body .bravo_wrap .page-template-content .bravo-form-search-all .rental-search-fields > [class*="col-"]{
  padding:12px 32px 0 14px !important; gap:0 !important;
  justify-content:flex-start !important;
}
html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form select,
html body .bravo_wrap .bravo_form_search .bravo_form select{
  margin-top:0 !important; vertical-align:top !important;
}

/* general.css pads these inputs by id (#t-search-Category{padding:22px}), and
   an id outranks the class-only reset above, so on the search pages Location
   and Category came out 64px tall and their text dropped onto the row line */
html body .bravo_wrap .bravo_form_search #t-search-home-form-location-input,
html body .bravo_wrap .bravo_form_search #t-search-Budget,
html body .bravo_wrap .bravo_form_search #t-search-BudgetAttr,
html body .bravo_wrap .bravo_form_search #t-search-Bedrooms,
html body .bravo_wrap .bravo_form_search #t-search-Bathrooms,
html body .bravo_wrap .bravo_form_search #t-search-Age,
html body .bravo_wrap .bravo_form_search #t-search-Rating,
html body .bravo_wrap .bravo_form_search #t-search-Category,
html body .bravo_wrap .bravo_form_search #t-search-Car-Type,
html body .bravo_wrap .bravo_form_search #t-search-Boat-Type{
  padding:0 !important; margin:0 !important;
}

/* =========================================================================
   LISTING-PAGE SEARCH BARS — the remaining faults, all pages
   ========================================================================= */
/* Age and Rating (hotels) kept general.css's white box: the dark-bar reset
   above only named Location / Category / Car Type / Boat Type */
html body .bravo_wrap .bravo_form_search #t-search-Budget,
html body .bravo_wrap .bravo_form_search #t-search-BudgetAttr,
html body .bravo_wrap .bravo_form_search #t-search-Bedrooms,
html body .bravo_wrap .bravo_form_search #t-search-Bathrooms,
html body .bravo_wrap .bravo_form_search #t-search-Age,
html body .bravo_wrap .bravo_form_search #t-search-Rating{
  background-color:transparent !important; background-image:none !important;
  filter:none !important; height:auto !important; min-height:0 !important;
  border:0 !important; box-shadow:none !important; color:var(--cs-cream) !important;
}
/* number inputs (passengers, days, luggage) sat 12px right of every other value */
html body .bravo_wrap .bravo_form_search input[type="number"]{ padding:0 !important; }
/* wrappers that only group other cells are display:contents, but their
   chevron still rendered — a second arrow hanging off the bar's right edge */
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6)::after,
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(> .row)::after,
.bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.rental-search-fields)::after,
.bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6)::after,
.bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search > .row > .col-md-12::after{
  content:none !important; display:none !important;
}
/* Four fixed columns left dead cells after the last field, and with eight
   fields the button fell onto a row of its own. Fields now wrap four to a
   row and the last row stretches; the button is one column down the side. */
@media (min-width:951px){
  html body .bravo_wrap .bravo_form_search .bravo_form{
    display:flex !important; flex-wrap:nowrap !important; align-items:stretch !important;
  }
  html body .bravo_wrap .bravo_form_search .bravo_form .g-field-search{
    display:flex !important; flex-wrap:wrap !important; flex:1 1 0 !important;
    min-width:0 !important; max-width:none !important;
  }
  html body .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"],
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"],
  html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6,
  html body .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12{
    flex:1 1 25% !important; max-width:none !important; width:auto !important;
    height:60px !important; box-sizing:border-box !important;
  }
  html body .bravo_wrap .bravo_form_search .bravo_form .g-button-submit{
    flex:0 0 200px !important; max-width:200px !important; width:200px !important;
    height:auto !important; align-self:stretch !important; display:flex !important;
  }
  html body .bravo_wrap .bravo_form_search .bravo_form .g-button-submit button,
  html body .bravo_wrap .bravo_form_search .bravo_form .home-search-form-button{
    width:100% !important; height:100% !important; min-height:60px !important;
  }
}
/* Short Term Rental form: fields that do not apply to the chosen rental or
   booking type leave the bar entirely instead of sitting there invisible */
/* :not(#_) lends id weight: the cell rules above set display:flex !important
   from selectors (some with #bravo_space) that a class alone cannot outrank */
html body .bravo_wrap .bv-field-off:not(#_):not(#_),
html body .bravo_wrap .bv-date-off:not(#_):not(#_){ display:none !important; }
/* Four fields per row, never more. A fifth or sixth field continues on a
   second row at the same width as the cells above it. */
@media (min-width:951px){
  html body .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:not(:has(> .row)):not(:has(.budget-inner-col.col-6)):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:not(:has(.budget-inner-col.col-6)):not(#_),
  html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6:not(#_),
  html body .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12:not(:has(> .row)):not(#_){
    flex:0 0 25% !important; max-width:25% !important; width:25% !important;
  }
  /* a bar with four fields or fewer still shares its one row evenly */
  html body .bravo_wrap .bravo_form_search .g-field-search > .row:not(:has(> [class*="col-"]:nth-child(5))):not(:has(.row)):not(:has(.budget-inner-col.col-6)) > [class*="col-"]:not(#_):not(#_){
    flex:1 1 25% !important; max-width:none !important; width:auto !important;
  }
}
/* the VIP number inputs carry a 12px indent from a rule a class cannot beat */
html body .bravo_wrap .bravo_form_search input[type="number"]:not(#_){ padding:0 !important; text-indent:0 !important; }
/* Tablet and phone: the rentals form nests its fields two wrappers deep, and
   each cell's height:100% resolved against the whole stack — Location came out
   345px tall and every later field fell off the card. Flatten the wrappers so
   the cells join the form's own grid like every other page's. */
@media (max-width:950px){
  html body .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(> .rental-search-fields):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields:not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields .form-group:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields .form-content:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields .budget-input-wrapper:not(#_){
    display:contents !important;
  }
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:not(#_),
  html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6:not(#_){
    flex:none !important; width:auto !important; max-width:none !important; margin:0 !important;
  }
  /* the button kept a 10px 15px margin and hung 15px off the bar's right edge */
  html body .bravo_wrap .bravo_form_search .g-button-submit button:not(#_),
  html body .bravo_wrap .bravo_form_search .home-search-form-button:not(#_){
    margin:0 !important; width:100% !important;
  }
}
@media (max-width:540px){
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:not(#_),
  html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6:not(#_){
    height:auto !important;
  }
}
/* Phone: the 60px row and the locked label/value metrics only applied from
   541px up, so here the rows were 32px with no padding, labels larger than
   the values, and the real-estate budget pair indented inside its wrappers */
@media (max-width:540px){
  html body .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .form-group:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .form-content:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo_form_search .budget-input-wrapper:has(.budget-inner-col.col-6):not(#_){
    display:contents !important;
  }
  html body .bravo_wrap .bravo_form_search .g-field-search > .row > [class*="col-"]:not(:has(> .row)):not(#_),
  html body .bravo_wrap .bravo_form_search .rental-search-fields > [class*="col-"]:not(#_),
  html body .bravo_wrap .bravo_form_search .budget-inner-col.col-6:not(#_),
  html body .bravo_wrap .bravo_form_search #bravo_viptransportation_book_app .g-field-search .col-12:not(:has(> .row)):not(#_){
    height:60px !important; min-height:0 !important; margin:0 !important;
    padding:12px 32px 0 14px !important; gap:0 !important;
    display:flex; flex-direction:column !important; justify-content:flex-start !important;
  }
  html body .bravo_wrap .bravo_form_search label:not(#_){
    font-size:10.5px !important; height:13px !important; line-height:13px !important;
    margin:0 0 4px !important; display:block !important;
  }
  html body .bravo_wrap .bravo_form_search input:not([type="hidden"]):not(#_),
  html body .bravo_wrap .bravo_form_search select:not(#_),
  html body .bravo_wrap .bravo_form_search .render:not(#_),
  html body .bravo_wrap .bravo_form_search .t-search-check-in-out-wrapper:not(#_){
    height:20px !important; line-height:20px !important; margin:0 !important;
  }
}
/* general.css fixes the flag at 30px tall, so the 9.5px label sat 5px from the
   top and 14px from the bottom. Let the padding set the height, and take the
   trailing letter-space off the right so the word is centred both ways. */
.bravo_wrap .t-item-loop .t-featured-item,
.bravo_wrap .t-item-loop .featured,
.bravo_wrap .t-boat-item-loop .featured{
  height:auto !important; min-height:0 !important; width:auto !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  padding:8px calc(13px - .14em) 8px 13px !important; line-height:1 !important;
}

/* =========================================================================
   LISTING CARD BODY — one left edge, price on the bottom line
   The location row and the description each carried a 15px left indent, so
   they sat right of the title and the chips. The text column also ended where
   its content did, so in a row of two cards the prices landed at different
   heights. And no pin icon in front of the location.
   ========================================================================= */
html body .bravo_wrap .t-item-loop .location,
html body .bravo_wrap .t-item-loop .t-location,
html body .bravo_wrap .t-item-loop .description,
html body .bravo_wrap .t-item-loop .t-description{
  padding-left:0 !important; padding-right:0 !important; margin-left:0 !important;
}
html body .bravo_wrap .t-item-loop .t-location-pin-image,
html body .bravo_wrap .t-item-loop .location > img,
html body .bravo_wrap .t-item-loop .location > i,
html body .bravo_wrap .t-item-loop .location > svg{ display:none !important; }
html body .bravo_wrap .t-item-loop > .row,
html body .bravo_wrap .t-item-loop > .row > .t-item-text{ flex:1 1 auto !important; }
html body .bravo_wrap .t-item-loop .t-item-text > .price-wrapper,
html body .bravo_wrap .t-item-loop .t-item-text > .t-price-wrapper{ margin-top:auto !important; }

/* =========================================================================
   HOMEPAGE SEARCH BAR — tablet and phone
   The same faults the listing-page bars had below 951px, on the homepage's
   own selectors: budget cells indented and 8px low inside their wrappers, a
   second chevron from the display:contents wrapper, the button's 10px 15px
   margin pushing it off the card, and the rentals fields lost after Location.
   ========================================================================= */
@media (max-width:950px){
  html body .bravo_wrap .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(> .rental-search-fields):not(#_),
  html body .bravo_wrap .bravo-form-search-all .rental-search-fields:not(#_),
  html body .bravo_wrap .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo-form-search-all .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo-form-search-all .form-group:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo-form-search-all .form-content:has(.budget-inner-col.col-6):not(#_),
  html body .bravo_wrap .bravo-form-search-all .budget-input-wrapper:has(.budget-inner-col.col-6):not(#_){
    display:contents !important;
  }
  html body .bravo_wrap .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(.budget-inner-col.col-6)::after,
  html body .bravo_wrap .bravo-form-search-all .g-field-search > .row > [class*="col-"]:has(> .row)::after,
  html body .bravo_wrap .bravo-form-search-all .rental-search-fields > [class*="col-"]:has(.budget-inner-col.col-6)::after{
    content:none !important; display:none !important;
  }
  html body .bravo_wrap .bravo-form-search-all .rental-search-fields > [class*="col-"]:not(#_),
  html body .bravo_wrap .bravo-form-search-all .budget-inner-col.col-6:not(#_){
    flex:none !important; width:auto !important; max-width:none !important; margin:0 !important;
  }
  html body .bravo_wrap .bravo-form-search-all .g-button-submit:not(#_){ padding:0 !important; margin:0 !important; }
  html body .bravo_wrap .bravo-form-search-all .g-button-submit button:not(#_),
  html body .bravo_wrap .bravo-form-search-all .home-search-form-button:not(#_){
    margin:0 !important; width:100% !important; min-height:60px !important;
  }
}
@media (max-width:540px){
  html body .bravo_wrap .bravo-form-search-all .g-field-search > .row > [class*="col-"]:not(:has(> .row)):not(#_),
  html body .bravo_wrap .bravo-form-search-all .rental-search-fields > [class*="col-"]:not(#_),
  html body .bravo_wrap .bravo-form-search-all .budget-inner-col.col-6:not(#_),
  html body .bravo_wrap .bravo-form-search-all #bravo_VipTransportation .g-field-search .col-12:not(:has(> .row)):not(#_){
    height:60px !important; min-height:0 !important; margin:0 !important;
    padding:12px 32px 0 14px !important; gap:0 !important;
    display:flex; flex-direction:column !important; justify-content:flex-start !important;
  }
  html body .bravo_wrap .bravo-form-search-all .bravo_form label:not(#_){
    font-size:10.5px !important; height:13px !important; line-height:13px !important;
    margin:0 0 4px !important; display:block !important;
  }
  html body .bravo_wrap .bravo-form-search-all .bravo_form input:not([type="hidden"]):not(#_),
  html body .bravo_wrap .bravo-form-search-all .bravo_form select:not(#_),
  html body .bravo_wrap .bravo-form-search-all .bravo_form .render:not(#_),
  html body .bravo_wrap .bravo-form-search-all .bravo_form .t-search-check-in-out-wrapper:not(#_){
    height:20px !important; line-height:20px !important; margin:0 !important;
  }
}

/* the tab strip is meant to scroll sideways on narrow screens, but the desktop
   rule's overflow:visible !important beat that and the last four tabs ran off
   the right edge of the module with no way to reach them */
@media (max-width:950px){
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_){
    overflow-x:auto !important; overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
    scroll-snap-type:x proximity; max-width:100% !important;
  }
  .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_) li{
    scroll-snap-align:start;
  }
}

/* phone: two leftovers in the stacked homepage form.
   - VIP Transportation groups its fields in pairs; each pair's wrapper kept a
     4px pad, so that tab sat 4px in from the others and every second row was
     8px further down.
   - the rental fields came out 58px against 60px for the two selects above. */
@media (max-width:950px){
  html body .bravo_wrap .bravo-form-search-all .bravo_form .row > [class*="col-"]:has(> .row):not(#_):not(#_){
    padding:0 !important;
  }
}
@media (max-width:540px){
  html body .bravo_wrap .bravo-form-search-all .bravo_form .rental-search-fields > [class*="col-"]:not(.bv-field-off):not(.bv-date-off):not(:has(.budget-input-wrapper)):not(#_){
    height:60px !important; min-height:60px !important; box-sizing:border-box !important;
  }
}

/* the passengers stepper kept its own inset, so its "0" sat 12px to the right
   of every other value in the VIP Transportation form */
html body .bravo_wrap .bravo-form-search-all .input-number-group:not(#_),
html body .bravo_wrap .bravo-form-search-all .input-number-group input.t-number-input:not(#_){
  padding-left:0 !important; margin-left:0 !important; text-align:left !important;
}

/* =====================================================================
   READABILITY — running text
   Body copy was Inter Light at 13–16px in mid-greys (#7c879a, #797979,
   #656565). Thin, small and pale together. Running text is now regular
   weight, 16–17px, and near-black on light backgrounds.
   ===================================================================== */
html body .bravo_wrap p,
html body .bravo_wrap li{ font-weight:400; }

/* listing cards: the excerpt under the title */
html body .bravo_wrap .item-loop .description:not(#_),
html body .bravo_wrap .item-loop .description p:not(#_),
html body .bravo_wrap .item-loop .t-description:not(#_){
  font-size:16px !important; font-weight:400 !important; line-height:1.6 !important;
  color:#3f454e !important; letter-spacing:0 !important;
}
/* detail pages: the long description */
html body .bravo_wrap .t-details-description:not(#_),
html body .bravo_wrap .t-details-description p:not(#_),
html body .bravo_wrap .t-details-description li:not(#_),
html body .bravo_wrap .t-house-details-page-text:not(#_),
html body .bravo_wrap .t-house-details-page-text p:not(#_){
  font-size:17px !important; font-weight:400 !important; line-height:1.75 !important;
  color:#2c3038 !important; letter-spacing:0 !important;
}
/* journal: excerpt on the index, and the article itself */
html body .bravo_wrap .post-desciption:not(#_),
html body .bravo_wrap .post-desciption p:not(#_){
  font-size:16px !important; font-weight:400 !important; line-height:1.6 !important; color:#3f454e !important;
}
html body .bravo_wrap .post-content p:not(#_),
html body .bravo_wrap .post-content li:not(#_),
html body .bravo_wrap .t-post-content p:not(#_){
  font-size:17.5px !important; font-weight:400 !important; line-height:1.8 !important; color:#23272e !important;
}
/* homepage step captions, contact intro lines */
html body .bravo_wrap .bvst__desc:not(#_),
html body .bravo_wrap .contact-info-subtitle:not(#_),
html body .bravo_wrap .t-contact-form-text:not(#_){
  font-size:17px !important; font-weight:400 !important; line-height:1.6 !important; color:#3f454e !important;
}
/* concierge form */
html body .bravo_wrap .t-service-radio-label:not(#_){ font-size:16px !important; font-weight:400 !important; }
html body .bravo_wrap .t-concierge-form-info:not(#_){ font-size:16px !important; color:rgba(255,255,255,.9) !important; }
/* dropdown options in the search bars */
html body .bravo_wrap .bravo_form .list-item .item:not(#_){ font-size:16px !important; font-weight:400 !important; }
/* footer */
html body .bravo_footer li:not(#_),
html body .bravo_footer li a:not(#_),
html body .bravo_footer .sub:not(#_),
html body .bravo_footer p:not(#_){
  font-size:16px !important; font-weight:400 !important; line-height:1.7 !important;
}
html body .bravo_wrap .t-description:not(#_),
html body .bravo_wrap .t-description p:not(#_){
  font-size:16px !important; font-weight:400 !important; line-height:1.6 !important;
  color:#3f454e !important; letter-spacing:0 !important;
}
/* the location / reference line on cards was the palest text on the page */
html body .bravo_wrap .item-loop .location:not(#_),
html body .bravo_wrap .item-loop .t-location:not(#_){
  color:#4a505a !important; font-size:15px !important; font-weight:400 !important;
}

/* the paragraph that sits left of its photo carried a 24px side pad and so
   started 24px inside the rail every heading and image starts on */
@media (min-width:992px){
  html body .bravo_wrap .home-block-style-2-col.order-lg-1 .home-block-description-2:not(#_){ padding-left:0 !important; }
}
/* intro paragraph of the About block: large enough to read as the lead */
html body .bravo_wrap .bvab__lead:not(#_),
html body .bravo_wrap .bvab__lead p:not(#_){
  font-size:20px !important; font-weight:400 !important; line-height:1.65 !important;
  color:rgba(255,255,255,.93) !important;
}

/* =====================================================================
   SEARCH BUTTON — one treatment everywhere
   The homepage bar parked its button in a cell of its own on the last row,
   leaving three empty cells beside it. It now stands as a full-height column
   on the right of the fields, the way the listing-page bars already do.
   ===================================================================== */
@media (min-width:951px){
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form:not(#_){
    position:relative !important; padding-right:200px !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .g-button-submit:not(#_){
    position:absolute !important; top:0 !important; right:0 !important; bottom:0 !important;
    width:200px !important; max-width:200px !important; height:auto !important;
    margin:0 !important; padding:0 !important; display:flex !important;
    grid-column:auto !important; grid-row:auto !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form .g-button-submit button:not(#_){
    width:100% !important; height:100% !important; min-height:0 !important; margin:0 !important;
  }
  /* two-field forms (cars, boats, concierge) share the row instead of
     leaving half of it empty */
  html body .bravo_wrap .page-template-content .bravo-form-search-all .bravo_form:not(:has(.g-field-search > .row > [class*="col-"]:nth-child(3))):not(:has(.g-field-search .row .row)):not(:has(.budget-inner-col)):not(#_){
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
/* the label was 12px: too small for the main action on the page */
html body .bravo_wrap .bravo_form .g-button-submit button:not(#_),
html body .bravo_wrap .bravo_form .g-button-submit button *:not(i):not(#_),
html body .bravo_wrap .bravo_form .home-search-form-button:not(#_){
  font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; line-height:1.2 !important;
}
/* "Search" is drawn by ::after on the icon-only buttons and had its own 13px,
   mixed-case setting, so it did not match "BOOK NOW" */
html body .bravo_wrap .page-template-content .bravo-form-search-all .home-search-form-button:has(> i:only-child):not(#_)::after,
html body .bravo_wrap .bravo_form_search .home-search-form-button:has(> i:only-child):not(#_)::after{
  font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; line-height:1.2 !important;
}

/* =====================================================================
   CONTACT PAGE (.bvct)
   Rebuilt inside the page container, on the same rail as the About page.
   The old layout ran photographs and a dark panel to the browser edges.
   Text sizes follow the readability rules: nothing under 16px.
   ===================================================================== */
.bravo_wrap .bvct{ background:#fff; padding:72px 0 96px; }
.bravo_wrap .bvct__row{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:stretch;
}
.bravo_wrap .bvct__row + .bvct__row{ margin-top:96px; }
.bravo_wrap .bvct__text{ display:flex; flex-direction:column; justify-content:center; min-width:0; }
.bravo_wrap .bvct__media{ min-height:520px; display:flex; }
.bravo_wrap .bvct__img{ flex:1; background-size:cover; background-position:center; }
.bravo_wrap .bvct__title{
  font-family:var(--bv-serif); font-weight:400; font-size:56px; line-height:1.1;
  color:var(--bv-ink); margin:0 0 20px; letter-spacing:0;
}
.bravo_wrap .bvct__title--form{ font-size:44px; }
.bravo_wrap .bvct__lead{
  font-size:20px !important; line-height:1.6 !important; font-weight:400 !important;
  color:#2c3038 !important; margin:0 0 36px !important; max-width:34em;
}
/* email / phone / location: label above, value large beneath */
.bravo_wrap .bvct__details{ border-top:1px solid var(--bv-hair); }
.bravo_wrap .bvct__details p{ margin:0 !important; font-size:22px !important; line-height:1.45 !important; color:var(--bv-ink) !important; font-weight:400 !important; }
.bravo_wrap .bvct__details p:has(> strong:only-child){
  padding-top:22px; font-size:14px !important; line-height:1.3 !important;
}
.bravo_wrap .bvct__details p:has(> strong:only-child) strong{
  font-size:14px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#4a505a;
}
.bravo_wrap .bvct__details p:not(:has(> strong:only-child)){
  padding:6px 0 22px; border-bottom:1px solid var(--bv-hair);
}
.bravo_wrap .bvct__details a{ color:var(--bv-ink) !important; text-decoration:none; font-size:inherit !important; font-weight:400 !important; }
.bravo_wrap .bvct__details a:hover{ color:var(--bv-gold) !important; }

/* the form */
.bravo_wrap .bvct__fields{ display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; margin-bottom:26px; }
.bravo_wrap .bvct__field{ display:block; margin:0; }
.bravo_wrap .bvct__field--wide{ grid-column:1 / -1; }
.bravo_wrap .bvct__field > span{
  display:block; font-size:14px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:#4a505a; margin-bottom:8px; line-height:1.3;
}
html body .bravo_wrap .bvct__field .form-control:not(#_){
  width:100% !important; height:58px !important; padding:0 16px !important;
  font-size:18px !important; font-weight:400 !important; color:var(--bv-ink) !important;
  background:#fff !important; border:1px solid rgba(21,23,27,.28) !important; border-radius:0 !important;
  box-shadow:none !important;
}
html body .bravo_wrap .bvct__field textarea.form-control:not(#_){
  height:170px !important; padding:14px 16px !important; line-height:1.55 !important; resize:vertical;
}
html body .bravo_wrap .bvct__field .form-control:focus:not(#_){ border-color:var(--bv-ink) !important; outline:0 !important; }
html body .bravo_wrap .bvct__submit:not(#_){
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-width:240px; height:60px; padding:0 34px; border:0; border-radius:0; cursor:pointer;
  background:var(--bv-ink); color:#fff;
  font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase;
}
html body .bravo_wrap .bvct__submit:hover:not(#_){ background:var(--bv-gold); color:var(--bv-ink); }
.bravo_wrap .bvct__submit .fa-spinner{ display:none; }
.bravo_wrap .bvct__submit.loading .fa-spinner, .bravo_wrap .bvct__form.loading .fa-spinner{ display:inline-block; }
.bravo_wrap .bvct .form-mess{ font-size:17px; margin-bottom:14px; }

@media (max-width:950px){
  .bravo_wrap .bvct{ padding:44px 0 64px; }
  .bravo_wrap .bvct__row{ grid-template-columns:1fr; gap:32px; }
  .bravo_wrap .bvct__row + .bvct__row{ margin-top:64px; }
  .bravo_wrap .bvct__media{ min-height:0; aspect-ratio:4/3; }
  .bravo_wrap .bvct__row:not(.bvct__row--form) .bvct__media{ order:-1; }
  .bravo_wrap .bvct__title{ font-size:40px; }
  .bravo_wrap .bvct__title--form{ font-size:34px; }
  .bravo_wrap .bvct__lead{ font-size:18px !important; }
  .bravo_wrap .bvct__details p{ font-size:19px !important; }
}
@media (max-width:540px){
  .bravo_wrap .bvct__fields{ grid-template-columns:1fr; }
  html body .bravo_wrap .bvct__submit:not(#_){ width:100%; }
}
/* an older .bravo-contact-block rule zeroes the padding with !important */
html body .bravo_wrap .bvct:not(#_){ padding:72px 0 96px !important; }
@media (max-width:950px){ html body .bravo_wrap .bvct:not(#_){ padding:36px 0 64px !important; } }

/* Homepage tabs on tablet and phone: all seven visible at once. A sideways
   strip hid four of them behind a scroll nobody would think to try. */
@media (max-width:950px){
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_){
    display:flex !important; flex-wrap:wrap !important; overflow:visible !important;
    scroll-snap-type:none !important; gap:6px !important; padding:8px !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li{
    flex:1 1 22% !important; min-width:0 !important; margin:0 !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li a{
    width:100% !important; min-height:48px !important; padding:0 8px !important;
    white-space:nowrap !important; justify-content:center !important; text-align:center !important;
  }
}
@media (max-width:540px){
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li{
    flex:1 1 40% !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li a{
    font-size:11.5px !important; letter-spacing:.06em !important;
  }
}
@media (max-width:380px){
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li a{
    font-size:11px !important; letter-spacing:.03em !important; padding:0 4px !important;
  }
}
@media (max-width:340px){
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control .nav-tabs:not(#_):not(#_) li a{
    white-space:normal !important; line-height:1.2 !important;
  }
}

/* =====================================================================
   LOG IN / SIGN UP MODAL
   Was a dark-green panel with diamond and chevron ornaments and white-on-
   green 12px text — the previous brand. Now: a photograph on the left with
   one line of serif, a white form on the right in the site's own type.
   ===================================================================== */
html body .modal.login.LoginModal .modal-content:not(#_),
html body .modal.login.LoginModal .modal_1:not(#_){
  background:#fff !important; background-image:none !important; border:0 !important; border-radius:0 !important;
}
html body .modal.login.LoginModal .modal-content:not(#_)::before,
html body .modal.login.LoginModal .modal-content:not(#_)::after,
html body .modal.login.LoginModal .modal-body:not(#_)::before,
html body .modal.login.LoginModal .modal-body:not(#_)::after,
html body .modal.login.LoginModal .left_col:not(#_)::before,
html body .modal.login.LoginModal .left_col:not(#_)::after,
html body .modal.login.LoginModal .right_col:not(#_)::before,
html body .modal.login.LoginModal .right_col:not(#_)::after,
html body .modal.login.LoginModal .MainRow:not(#_)::before,
html body .modal.login.LoginModal .MainRow:not(#_)::after{ content:none !important; display:none !important; }
html body .modal.login.LoginModal .imageStyle:not(#_){ display:none !important; }
html body .modal.login.LoginModal .modal-body:not(#_){ padding:0 !important; background:none !important; }
html body .modal.login.LoginModal .MainRow:not(#_){ margin:0 !important; min-height:100vh; background:none !important; }

/* left: the photograph */
html body .modal.login.LoginModal .left_col:not(#_){
  background:linear-gradient(180deg, rgba(12,14,17,.15) 0%, rgba(12,14,17,.15) 45%, rgba(12,14,17,.78) 100%),
             url('/uploads/0000/27/2026/10/10/zagaleta-villa-marbella.jpg') center/cover no-repeat !important;
  display:flex !important; align-items:flex-end !important; padding:0 !important;
}
html body .modal.login.LoginModal .left_box:not(#_),
html body .modal.login.LoginModal .left_box2:not(#_){
  position:static !important; transform:none !important; margin:0 !important; width:100% !important;
  padding:0 64px 72px !important; height:auto !important; background:none !important;
}
html body .modal.login.LoginModal .left_col .main_title:not(#_),
html body .modal.login.LoginModal .left_col .main_title p:not(#_){
  font-family:var(--bv-serif) !important; font-weight:400 !important; font-size:56px !important;
  line-height:1.1 !important; letter-spacing:0 !important; text-transform:none !important;
  color:#fff !important; margin:0 !important; text-align:left !important; width:auto !important;
}

/* right: the form */
html body .modal.login.LoginModal .right_col:not(#_){
  background:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important;
  padding:96px 32px 64px !important;
}
html body .modal.login.LoginModal .box_middle:not(#_){
  width:100% !important; max-width:440px !important; margin:0 !important; padding:0 !important;
  position:static !important; transform:none !important;
}
html body .modal.login.LoginModal .main_left_title:not(#_),
html body .modal.login.LoginModal .main_left_title p:not(#_){
  font-family:var(--bv-serif) !important; font-weight:400 !important; font-size:44px !important;
  line-height:1.1 !important; text-transform:none !important; letter-spacing:0 !important;
  color:var(--bv-ink) !important; margin:0 0 12px !important; width:auto !important; display:block !important;
}
html body .modal.login.LoginModal h5:not(#_){
  font-family:var(--bv-sans) !important; font-size:18px !important; font-weight:400 !important; line-height:1.5 !important;
  color:#3f454e !important; margin:0 0 30px !important; text-transform:none !important; text-align:left !important;
}
html body .modal.login.LoginModal .form-group:not(#_){ margin:0 0 16px !important; }
html body .modal.login.LoginModal .form-group .form-group:not(#_){ margin:0 !important; }
html body .modal.login.LoginModal .modal-body .form-control:not(#_){
  height:58px !important; padding:0 16px !important; width:100% !important; max-width:none !important;
  font-family:var(--bv-sans) !important; font-size:18px !important; font-weight:400 !important;
  color:var(--bv-ink) !important; background:#fff !important;
  border:1px solid rgba(21,23,27,.28) !important; border-radius:0 !important; box-shadow:none !important;
}
html body .modal.login.LoginModal .modal-body .form-control:not(#_)::placeholder{ color:#5d646e !important; opacity:1 !important; }
html body .modal.login.LoginModal .modal-body .form-control:focus:not(#_){ border-color:var(--bv-ink) !important; }
html body .modal.login.LoginModal .modal-body .form-submit:not(#_){
  display:flex !important; align-items:center !important; justify-content:center !important; gap:10px;
  width:100% !important; max-width:none !important; height:60px !important; margin:8px 0 0 !important; padding:0 24px !important;
  background:var(--bv-ink) !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:600 !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; float:none !important;
}
html body .modal.login.LoginModal .modal-body .form-submit:hover:not(#_){ background:var(--bv-gold) !important; color:var(--bv-ink) !important; }
html body .modal.login.LoginModal .modal-body .form-submit[hidden]:not(#_){ display:none !important; }
html body .modal.login.LoginModal .modal-body .forget-pass:not(#_){
  display:inline-block !important; margin-top:16px !important; text-align:left !important;
  font-size:16px !important; font-weight:400 !important; color:var(--bv-ink) !important; text-decoration:underline !important;
}
/* "no account?" row: one line, the second action as an outline button */
html body .modal.login.LoginModal .sign_upBox:not(#_){
  margin:36px 0 0 !important; padding-top:28px !important; border-top:1px solid var(--bv-hair) !important; text-align:left !important;
}
html body .modal.login.LoginModal .simpletext:not(#_),
html body .modal.login.LoginModal .text-question:not(#_){
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:400 !important; line-height:1.5 !important;
  color:#3f454e !important; margin:0 0 14px !important; text-align:left !important; width:auto !important; float:none !important;
}
html body .modal.login.LoginModal .modal-body .registerBtn:not(#_){
  background:#fff !important; color:var(--bv-ink) !important; border:1px solid var(--bv-ink) !important;
  text-decoration:none !important; margin:0 !important;
}
html body .modal.login.LoginModal .modal-body .registerBtn:hover:not(#_){ background:var(--bv-ink) !important; color:#fff !important; }
html body .modal.login.LoginModal .box-social:not(#_):empty{ display:none !important; }
html body .modal.login.LoginModal label:not(#_),
html body .modal.login.LoginModal label a:not(#_){ font-size:16px !important; color:#3f454e !important; font-weight:400 !important; line-height:1.5 !important; }
html body .modal.login.LoginModal label a:not(#_){ color:var(--bv-ink) !important; text-decoration:underline !important; }
html body .modal.login.LoginModal .invalid-feedback:not(#_){ font-size:15px !important; color:#b3261e !important; }
/* close: a plain dark cross on the white side */
html body .modal.login.LoginModal .modal-header:not(#_){
  position:absolute !important; top:20px !important; right:24px !important; left:auto !important; z-index:5 !important;
  padding:0 !important; border:0 !important; background:none !important; width:auto !important;
}
html body .modal.login.LoginModal .modal-header .modal-title:not(#_){ display:none !important; }
html body .modal.login.LoginModal .modal-header img:not(#_){ width:22px !important; height:22px !important; filter:brightness(0) !important; }
@media (max-width:991px){
  html body .modal.login.LoginModal .left_col:not(#_){ display:none !important; }
  html body .modal.login.LoginModal .right_col:not(#_){ flex:0 0 100% !important; max-width:100% !important; padding:84px 20px 48px !important; align-items:flex-start !important; }
  html body .modal.login.LoginModal .main_left_title:not(#_),
  html body .modal.login.LoginModal .main_left_title p:not(#_){ font-size:36px !important; }
}
/* the two ornament images of the old brand (diamond grid, chevron mark) */
html body .modal.login.LoginModal .imageStyle_signup:not(#_),
html body .modal.login.LoginModal .imageStyle_arrow:not(#_),
html body .modal.login.LoginModal .imageStyle:not(#_){ display:none !important; }
/* phone field: leave room for the flag and dial code the plugin puts inside */
html body .modal.login.LoginModal .phone-number-container:not(#_),
html body .modal.login.LoginModal .phone-number-container .iti:not(#_){ width:100% !important; display:block !important; }
html body .modal.login.LoginModal .modal-body .form-control.form-phone-number:not(#_){ padding-left:104px !important; }
html body .modal.login.LoginModal .iti__selected-flag:not(#_){ padding:0 10px 0 14px !important; background:#f4f2ee !important; }
html body .modal.login.LoginModal .iti__selected-dial-code:not(#_){ font-size:17px !important; color:var(--bv-ink) !important; }
/* the second action in either modal is a link, not the primary button */
html body .modal.login.LoginModal .modal-body a.form-submit:not(#_){
  background:#fff !important; color:var(--bv-ink) !important; border:1px solid var(--bv-ink) !important; text-decoration:none !important;
}
html body .modal.login.LoginModal .modal-body a.form-submit:hover:not(#_){ background:var(--bv-ink) !important; color:#fff !important; }

/* =====================================================================
   DETAIL PAGES — hotel, real estate, rental, car, boat
   One treatment for all five. They had drifted into five looks, with the
   old brand still in them: a green availability button, gold 12px buttons,
   a beige rooms table, round black arrows, grey boxes, 13px grey specs.
   ===================================================================== */
html body .bravo_wrap [class*="bravo_detail_"]{ background:#fff; }
/* breadcrumb */
html body .bravo_wrap [class*="bravo_detail_"] .t-breadcrumb-link:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-breadcrumb-link a:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-breadcrumb-link span:not(#_){
  font-size:15px !important; font-weight:400 !important; color:#4a505a !important; letter-spacing:.02em !important;
  text-transform:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-breadcrumb-link a:not(#_){ text-decoration:underline !important; }
/* title, location, price */
html body .bravo_wrap [class*="bravo_detail_"] .t-details-title:not(#_){
  font-family:var(--bv-serif) !important; font-weight:400 !important; font-size:46px !important;
  line-height:1.12 !important; color:var(--bv-ink) !important; margin:0 0 14px !important; letter-spacing:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-details-location:not(#_){
  font-size:17px !important; font-weight:400 !important; color:#4a505a !important; margin:0 0 20px !important;
  letter-spacing:0 !important; text-transform:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-details-location img:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-location i:not(#_){ display:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .price .text-lg:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-boat-rate-value:not(#_){
  font-family:var(--bv-sans) !important; font-size:32px !important; font-weight:600 !important; color:var(--bv-ink) !important;
  letter-spacing:-.01em !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .price .unit:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-boat-rate-unit:not(#_){
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:400 !important; color:#4a505a !important;
  text-transform:lowercase !important; letter-spacing:0 !important; margin-left:4px !important;
}
/* spec chips: the same square dark chips the listing cards use */
html body .bravo_wrap [class*="bravo_detail_"] .col-md-6 > .amenities:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .left > .amenities:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-amenities:not(#_){
  display:flex !important; flex-wrap:wrap !important; gap:8px !important; margin:18px 0 22px !important;
  border:0 !important; padding:0 !important; background:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .amenities .amenity:not(#_){
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  height:auto !important; width:auto !important; min-width:0 !important; flex:0 0 auto !important;
  padding:9px 14px !important; margin:0 !important; border:0 !important; border-radius:0 !important;
  background:var(--bv-ink) !important; color:#fff !important;
  font-size:14px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important; line-height:1.2 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .amenities .amenity *:not(#_){
  color:#fff !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.08em !important; line-height:1.2 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .amenities .amenity img:not(#_){
  width:16px !important; height:16px !important; filter:brightness(0) invert(1) !important; margin:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .amenities > .t-amenity:not(.amenity):not(#_){ display:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-size:not(#_){ font-size:17px !important; line-height:1.7 !important; color:#2c3038 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-size strong:not(#_){ font-size:17px !important; font-weight:600 !important; }
/* attribute groups */
html body .bravo_wrap [class*="bravo_detail_"] .t-attributes-title:not(#_){
  font-family:var(--bv-sans) !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.1em !important;
  text-transform:uppercase !important; color:#4a505a !important; margin:0 0 12px !important;
  padding-top:22px !important; border-top:1px solid var(--bv-hair) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .g-attributes:not(#_){ margin:0 0 22px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-attributes-item:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .list-attributes .item:not(#_){
  font-size:17px !important; font-weight:400 !important; color:#2c3038 !important; line-height:1.5 !important;
  height:auto !important; padding:4px 0 !important; overflow-wrap:anywhere;
}
/* gallery */
html body .bravo_wrap [class*="bravo_detail_"] .fotorama__thumb-border:not(#_){ border-color:var(--bv-ink) !important; background:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .fotorama__nav-wrap .fotorama__arr:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-gallery-arrow:not(#_){ border-radius:0 !important; }
/* every primary action: black, large, hover gold */
html body .bravo_wrap [class*="bravo_detail_"] .btn.btn-primary:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-hotel-room-search-button:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .btn-success:not(#_){
  background:var(--bv-ink) !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  min-height:60px !important; padding:0 32px !important; display:inline-flex !important; align-items:center !important; justify-content:center !important;
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; box-shadow:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .btn.btn-primary *:not(i):not(#_){
  color:inherit !important; font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .btn.btn-primary:hover:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-hotel-room-search-button:hover:not(#_){ background:var(--bv-gold) !important; color:var(--bv-ink) !important; }
/* booking panel (rental, car, boat): one white card, hairline, square */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-column:not(#_){
  background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-wrap:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form > div:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-book:not(#_){
  background:none !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form:not(#_){
  background:#fff !important; border:1px solid rgba(21,23,27,.2) !important; border-radius:0 !important; box-shadow:none !important;
  padding:32px !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-form-title h1:not(#_){
  font-family:var(--bv-serif) !important; font-size:32px !important; font-weight:400 !important; line-height:1.15 !important;
  color:var(--bv-ink) !important; text-transform:none !important; margin:0 0 8px !important; letter-spacing:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-form-title h5:not(#_){
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:400 !important; color:#4a505a !important; margin:0 0 22px !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form label:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .form-search-rooms label:not(#_){
  font-size:14px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  color:#4a505a !important; line-height:1.3 !important; height:auto !important; margin:0 0 6px !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .render:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .form-search-rooms .render:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .form-search-rooms .render *:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form select.form-control:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form input[type="number"]:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form input[type="text"]:not(.start_date):not(#_){
  font-size:18px !important; font-weight:400 !important; color:var(--bv-ink) !important; border-radius:0 !important;
}
/* hotel: availability bar and rooms table */
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_){ border:1px solid rgba(21,23,27,.2) !important; border-radius:0 !important; }
html body .bravo_wrap .bravo_detail_hotel .t-rooms-table-header-row:not(#_){ background:var(--bv-ink) !important; }
html body .bravo_wrap .bravo_detail_hotel .t-rooms-table-header-row *:not(#_){
  color:#fff !important; font-size:14px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
}
html body .bravo_wrap .bravo_detail_hotel .room-item:not(#_){ border-bottom:1px solid var(--bv-hair) !important; background:#fff !important; }
html body .bravo_wrap .bravo_detail_hotel .t-room-name:not(#_){
  font-family:var(--bv-serif) !important; font-size:24px !important; font-weight:400 !important; color:var(--bv-ink) !important; line-height:1.25 !important; height:auto !important; margin-bottom:10px !important;
}
html body .bravo_wrap .bravo_detail_hotel .t-room-table-amenities:not(#_){ font-size:16px !important; color:#2c3038 !important; line-height:1.5 !important; }
/* section headings under the main block */
html body .bravo_wrap [class*="bravo_detail_"] .similar-houses-title:not(#_){
  font-family:var(--bv-serif) !important; font-size:40px !important; font-weight:400 !important; color:var(--bv-ink) !important; margin:0 0 24px !important; line-height:1.15 !important;
}

/* ---- detail pages: one two-column frame, inside the rail ----
   The main row ran 87px past the container on three of the five pages, and
   every page set its own gutters. Gallery left, text and booking right. */
@media (min-width:992px){
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_){
    display:grid !important; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr) !important; gap:0 56px !important;
    margin:0 !important; width:100% !important; max-width:100% !important; align-items:start !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"]:not(#_):not(#_){
    max-width:none !important; width:auto !important; flex:none !important; padding:0 !important; margin:0 !important; min-width:0 !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .col-md-12:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_){ padding:0 15px !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-wrap:not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .bravo_single_book_wrap:not(#_):not(#_){ position:sticky !important; top:130px !important; }
}
html body .bravo_wrap [class*="bravo_detail_"] .g-gallery:not(#_):not(#_){ padding:0 !important; margin:0 0 28px !important; max-width:100% !important; }
/* booking card: its inner wrappers each carried their own offsets
   (142px left, 101px top, 318px left margin on the button) */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-book:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-form-title:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-submit-container:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .submit-group:not(#_):not(#_){ padding:0 !important; margin-left:0 !important; margin-right:0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .submit-group:not(#_):not(#_){ margin-top:20px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .submit-group .btn:not(#_):not(#_){ width:100% !important; }
html body .bravo_wrap [class*="bravo_detail_"] .bravo_single_book_wrap:not(#_):not(#_){ margin:28px 0 0 !important; }
/* real estate and rentals show bare numbers in the chips */
html body .bravo_wrap .bravo_detail_space .amenities .amenity.bed:not(#_):not(#_)::after{ content:"Beds"; }
html body .bravo_wrap .bravo_detail_space .amenities .amenity.bath:not(#_):not(#_)::after{ content:"Baths"; }
/* cars: seats / gearbox line */
html body .bravo_wrap .bravo_detail_car .t-car-attributes-wrapper:not(#_):not(#_),
html body .bravo_wrap .bravo_detail_car .t-car-attributes-wrapper *:not(#_):not(#_){ font-size:17px !important; color:#2c3038 !important; font-weight:400 !important; }
/* real estate: Location and Similar Properties sat 15px outside the rail */
html body .bravo_wrap [class*="bravo_detail_"] .g-location:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .similar-houses-title:not(#_):not(#_){ padding-left:0 !important; padding-right:0 !important; }
/* rental, car and boat pages used a full-bleed container padded on the left
   only, so the right column ran to the browser edge */
html body .bravo_wrap [class*="bravo_detail_"] .container.t-details-main-container:not(#_):not(#_){
  width:100% !important; max-width:none !important; margin:0 !important;
  padding-left:max(16px, 6.04vw) !important; padding-right:max(16px, 6.04vw) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .submit-group:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-submit-container:not(#_):not(#_){ width:100% !important; max-width:none !important; float:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container:not(#_):not(#_){ margin-left:0 !important; margin-right:0 !important; }
/* room before the footer; the last block used to touch it */
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content:not(#_){ padding-bottom:96px !important; }
/* breadcrumb starts on the rail on every page */
html body .bravo_wrap [class*="bravo_detail_"] .t-breadcrumb-link:not(#_):not(#_){ padding-left:0 !important; margin:0 0 22px !important; }
@media (min-width:992px){
  /* where the breadcrumb sits inside the left column, drop the booking card
     to the top of the photograph beside it */
  html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-column > .bravo_single_book_wrap:not(#_):not(#_):not(#_){ margin-top:47px !important; }
}
/* real estate: similar-property cards were grey boxes with a gold 16px price */
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text:not(#_){
  background:#fff !important; padding:22px 24px !important; border:1px solid var(--bv-hair) !important; border-left:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .price-wrapper:not(#_){ background:none !important; padding:0 !important; height:auto !important; margin:8px 0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .text-price:not(#_){
  font-family:var(--bv-sans) !important; font-size:22px !important; font-weight:600 !important; color:var(--bv-ink) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .item-title a:not(#_){
  font-family:var(--bv-serif) !important; font-size:24px !important; font-weight:400 !important; color:var(--bv-ink) !important; line-height:1.2 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .location:not(#_){ letter-spacing:0 !important; text-transform:none !important; font-size:16px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-details-main-container [class*="col-"]:has(> .t-breadcrumb-link):not(#_):not(#_){ padding-left:0 !important; padding-right:0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-details-main-container > .row:has(> [class*="col-"] > .t-breadcrumb-link):not(#_):not(#_){ margin-left:0 !important; margin-right:0 !important; }
/* phone and tablet: one 16px gutter on every detail page */
@media (max-width:991px){
  html body .bravo_wrap [class*="bravo_detail_"] .bravo_content > .container:not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .container.t-details-main-container:not(#_):not(#_){
    padding-left:16px !important; padding-right:16px !important; width:100% !important; max-width:none !important; margin:0 !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .bravo_content > .container .row:not(.t-rooms-table-header-row):not(.t-room-row):not(#_):not(#_){ margin-left:0 !important; margin-right:0 !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .bravo_content > .container > .row > [class*="col-"]:not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"]:not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_){
    padding-left:0 !important; padding-right:0 !important; margin-left:0 !important; margin-right:0 !important; max-width:100% !important; flex:0 0 100% !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .t-details-title:not(#_):not(#_){ font-size:34px !important; margin-left:0 !important; padding-left:0 !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .left:not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .g-header:not(#_):not(#_){ margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .t-book-form:not(#_):not(#_){ padding:22px !important; }
}
/* the "Beds"/"Baths" suffix is for the page's own chips, not the cards below */
html body .bravo_wrap .bravo_detail_space .item-loop .amenities .amenity:not(#_):not(#_)::after{ content:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .price-wrapper:not(#_):not(#_){
  position:static !important; margin:10px 0 12px !important; line-height:1.2 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .price-wrapper .price:not(#_){ line-height:1.2 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .amenities:not(#_):not(#_){ margin:0 0 14px !important; }
/* phone: the fixed booking bar was a translucent green strip */
html body .bravo_wrap .bravo-more-book-mobile:not(#_),
html body .bravo-more-book-mobile:not(#_){
  background:#fff !important; border-top:1px solid rgba(21,23,27,.2) !important; box-shadow:0 -6px 20px rgba(21,23,27,.08) !important;
  padding:10px 16px !important; opacity:1 !important; backdrop-filter:none !important;
}
html body .bravo-more-book-mobile .btn:not(#_),
html body .bravo-more-book-mobile a.btn-primary:not(#_){
  background:var(--bv-ink) !important; color:#fff !important; border:0 !important; border-radius:0 !important; width:100% !important;
  min-height:54px !important; display:flex !important; align-items:center !important; justify-content:center !important;
  font-size:17px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text:not(#_):not(#_){
  display:flex !important; flex-direction:column !important; align-items:flex-start !important; height:auto !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text > *:not(#_):not(#_){
  position:static !important; transform:none !important; float:none !important; width:100% !important;
  margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; height:auto !important; min-height:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text .price-wrapper:not(#_):not(#_):not(#_){ order:2; margin:12px 0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text .price-wrapper *:not(#_){ position:static !important; float:none !important; line-height:1.2 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text .amenities:not(#_):not(#_):not(#_){ order:3; margin:0 0 12px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-house-details-bottom-block-container .t-item-text .description:not(#_):not(#_):not(#_){ order:4; }

/* =====================================================================
   BOOKING FORMS ON DETAIL PAGES — in the search bar's own style
   Dark forest panel, each field a bordered cell with a small label over a
   white value, gold action. The fields used to float on white with no
   edges, so nobody could tell where one ended and the next began.
   ===================================================================== */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form:not(#_):not(#_){
  background:var(--cs-forest) !important; border:0 !important; padding:30px !important;
  box-shadow:0 10px 26px rgba(10,16,12,.18) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-form-title h1:not(#_):not(#_){ color:#fff !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-form-title h5:not(#_):not(#_){ color:rgba(255,255,255,.78) !important; margin-bottom:24px !important; }
/* the cells */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .date-wrapper:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper:not(#_):not(#_){
  position:relative !important; display:block !important; width:100% !important; max-width:none !important; float:none !important;
  min-height:72px !important; height:auto !important; margin:0 !important; padding:13px 44px 11px 16px !important;
  background:var(--cs-tile) !important; border:1px solid var(--cs-line) !important; border-radius:0 !important; box-shadow:none !important;
  cursor:pointer;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .date-wrapper *:not(.hour-options):not(.hour-options *):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper *:not(.hour-options):not(.hour-options *):not(#_){
  background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; margin:0 !important;
  float:none !important; position:static !important; width:auto !important; height:auto !important; min-height:0 !important; text-align:left !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-group:not(#_):not(#_){ margin:0 !important; padding:0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-group + .form-group:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-group + .pickup-dropoff-car-wrapper:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-group + .guest-wrapper:not(#_){ margin-top:-1px !important; }
/* pairs sit side by side: start/end time, dates/hours, days/start time */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .pickup-dropoff-car-wrapper:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field:not(#_):not(#_){
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:0 !important; margin:-1px 0 0 !important; padding:0 !important; width:100% !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .pickup-dropoff-car-wrapper > * + *:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field > * + *:not(#_){ margin-left:-1px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field > .form-group .date-wrapper:not(#_){ height:100% !important; }
/* label over value, as in the search bar */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form label:not(#_):not(#_):not(#_){
  display:block !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important;
  color:var(--cs-muted) !important; line-height:1.3 !important; margin:0 0 6px !important; cursor:pointer;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .render:not(#_):not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .render *:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .date-wrapper select:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper select:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper input:not(#_):not(#_){
  font-family:var(--bv-sans) !important; font-size:18px !important; font-weight:400 !important; line-height:1.3 !important;
  color:#fff !important; -webkit-text-fill-color:#fff; display:block !important; width:100% !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .render small:not(#_):not(#_){ font-size:14px !important; color:rgba(255,255,255,.75) !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form select:not(#_):not(#_){
  -webkit-appearance:none !important; appearance:none !important; cursor:pointer !important; color-scheme:dark;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form select option{ color:#15171b; background:#fff; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form input::placeholder{ color:rgba(255,255,255,.7) !important; -webkit-text-fill-color:rgba(255,255,255,.7); }
/* one chevron at the right of every cell; the calendar picture goes */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-date-select-icon:not(#_):not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper i:not(#_):not(#_):not(#_){ display:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .date-wrapper:not(#_)::after,
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .guest-wrapper:not(#_)::after{
  content:"" !important; position:absolute !important; right:18px !important; top:50% !important; width:8px !important; height:8px !important;
  border-right:1.5px solid var(--cs-muted) !important; border-bottom:1.5px solid var(--cs-muted) !important;
  transform:translateY(-70%) rotate(45deg) !important; pointer-events:none !important; display:block !important; background:none !important;
}
/* hours pick-list is a pop-up: light, readable */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .hour-options:not(#_):not(#_){
  position:absolute !important; left:-1px !important; right:-1px !important; top:100% !important; z-index:20 !important;
  background:#fff !important; margin:0 !important; padding:0 !important; list-style:none !important; max-height:220px; overflow:auto;
  box-shadow:0 10px 26px rgba(10,16,12,.25) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .hour-options li:not(#_){ color:#15171b !important; font-size:17px !important; padding:10px 16px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .hour-options:empty:not(#_){ display:none !important; }
/* gold action, dark label — the search bar's button */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .btn.btn-primary:not(#_):not(#_):not(#_),
html body .bravo_wrap .bravo_detail_hotel .t-hotel-room-search-button:not(#_):not(#_){
  background:var(--cs-gold) !important; color:var(--cs-forest) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .btn.btn-primary:hover:not(#_):not(#_):not(#_),
html body .bravo_wrap .bravo_detail_hotel .t-hotel-room-search-button:hover:not(#_):not(#_){ background:#fff !important; color:var(--cs-forest) !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .submit-group:not(#_):not(#_):not(#_){ margin-top:22px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .alert-text:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-section-title:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .extra-price-wrap *:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .form-section-total *:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .review-list *:not(#_){ color:#fff !important; font-size:16px !important; }

/* hotel availability bar: the same panel, three cells in a row */
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_):not(#_){
  background:var(--cs-forest) !important; border:0 !important; box-shadow:0 10px 26px rgba(10,16,12,.18) !important; padding:0 !important;
}
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-search-row:not(#_){ margin:0 !important; align-items:stretch !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-search-row > div:not(.col-btn):not(#_){
  background:var(--cs-tile) !important; border:1px solid var(--cs-line) !important; border-right-width:0 !important; padding:0 !important;
}
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-group:not(#_),
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-content:not(#_){ background:transparent !important; border:0 !important; margin:0 !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-content:not(#_){ padding:14px 44px 12px 18px !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms label:not(#_):not(#_):not(#_){
  font-size:12px !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important;
  color:var(--cs-muted) !important; margin:0 0 6px !important; display:block !important;
}
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .render:not(#_):not(#_):not(#_),
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .render *:not(#_):not(#_):not(#_){ color:#fff !important; font-size:18px !important; font-weight:400 !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .arrow:not(#_){ color:var(--cs-muted) !important; font-size:18px !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .col-btn:not(#_){ padding:0 !important; display:flex !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .col-btn > *:not(#_){ width:100% !important; display:flex !important; margin:0 !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .t-hotel-room-search-button:not(#_):not(#_):not(#_){ width:100% !important; height:100% !important; min-height:76px !important; }
/* sleeps column in words */
html body .bravo_wrap .bravo_detail_hotel .bv-sleeps{ display:block; font-size:17px; font-weight:400; color:#2c3038; line-height:1.6; white-space:nowrap; }
/* boat form: the date cell kept a fixed narrow width and sat 20px high */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field > *:not(#_):not(#_):not(#_){
  width:100% !important; max-width:none !important; min-width:0 !important; float:none !important; align-self:stretch !important;
  display:block !important; position:relative !important; top:auto !important; margin-top:0 !important; margin-bottom:0 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field .date-wrapper:not(#_):not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field .guest-wrapper:not(#_):not(#_):not(#_){ height:100% !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .t-boat-book-form-field + .t-boat-book-form-field:not(#_):not(#_):not(#_){ margin-top:-1px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form .start_date:not(#_){ position:absolute !important; height:0 !important; width:0 !important; padding:0 !important; border:0 !important; }
/* any pair of cells in one wrapper shares the row equally (rental: adults / children) */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form :has(> .guest-wrapper ~ .guest-wrapper):not(#_):not(#_):not(#_){
  display:grid !important; grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important; gap:0 !important; width:100% !important; margin-top:-1px !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form :has(> .guest-wrapper ~ .guest-wrapper) > .guest-wrapper:not(#_):not(#_):not(#_){ width:100% !important; max-width:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form :has(> .guest-wrapper ~ .guest-wrapper) > .guest-wrapper ~ .guest-wrapper:not(#_):not(#_):not(#_){ margin-left:-1px !important; width:calc(100% + 1px) !important; }

/* =====================================================================
   PASTED CONTENT
   Descriptions copied in from other websites carry their own inline
   font-family / font-size / colour (the car pages were rendering in
   "ReithSans, Helvetica, Arial"). Editor content always uses the site's
   own text face, size and colour, whatever was pasted.
   ===================================================================== */
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [style*="font-family"]:not(i):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] *:not(i):not(#_),
html body .bravo_wrap .post-content [style*="font-family"]:not(i):not(#_),
html body .bravo_wrap .t-details-description *:not(i):not(#_),
html body .bravo_wrap .item-loop .description *:not(i):not(#_){
  font-family:var(--bv-sans) !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] p:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] li:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] span:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description p:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description li:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description span:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description div:not(#_):not(#_){
  font-size:18px !important; font-weight:400 !important; line-height:1.7 !important; letter-spacing:0 !important;
  color:#23272e !important; background:none !important; max-width:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] p:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description p:not(#_):not(#_){ margin:0 0 1.1em !important; }
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"] p:empty:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-description p:empty:not(#_){ display:none !important; }
html body .bravo_wrap .post-content *:not(i):not(#_),
html body .bravo_wrap .t-post-content *:not(i):not(#_){ font-family:var(--bv-sans) !important; }
html body .bravo_wrap .post-content h1:not(#_), html body .bravo_wrap .post-content h2:not(#_),
html body .bravo_wrap .post-content h3:not(#_), html body .bravo_wrap .post-content h4:not(#_),
html body .bravo_wrap .post-content h1 *:not(#_), html body .bravo_wrap .post-content h2 *:not(#_),
html body .bravo_wrap .post-content h3 *:not(#_), html body .bravo_wrap .post-content h4 *:not(#_){ font-family:var(--bv-serif) !important; color:var(--bv-ink) !important; }
html body .bravo_wrap .post-content span:not(#_),
html body .bravo_wrap .post-content div:not(#_),
html body .bravo_wrap .post-content p *:not(a):not(#_){
  font-size:inherit !important; color:inherit !important; background:none !important; line-height:inherit !important;
}
html body .bravo_wrap .post-content h2:not(#_){ font-size:32px !important; line-height:1.2 !important; font-weight:400 !important; margin:1.4em 0 .5em !important; }
html body .bravo_wrap .post-content h3:not(#_){ font-size:27px !important; line-height:1.25 !important; font-weight:400 !important; margin:1.3em 0 .5em !important; }
html body .bravo_wrap .post-content h4:not(#_),
html body .bravo_wrap .post-content h5:not(#_),
html body .bravo_wrap .post-content h6:not(#_){ font-size:23px !important; line-height:1.3 !important; font-weight:400 !important; margin:1.2em 0 .5em !important; }
html body .bravo_wrap .post-content h2 *:not(#_), html body .bravo_wrap .post-content h3 *:not(#_),
html body .bravo_wrap .post-content h4 *:not(#_), html body .bravo_wrap .post-content h5 *:not(#_),
html body .bravo_wrap .post-content h6 *:not(#_){ font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important; }
/* pasted wrappers bring their own margins and leave holes between paragraphs */
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="MarkUpWrapper"]:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="Wrapper-sc-"]:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="-sc-"]:not(#_){ margin:0 !important; padding:0 !important; min-height:0 !important; height:auto !important; }
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content [class*="-sc-"]:empty:not(#_){ display:none !important; }
/* inline-styled blocks pasted between paragraphs: no margins of their own,
   and gone entirely when they hold no text (ad slots, spacers) */
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content div[style*="margin-top"]:has(> p, > div > p):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content :has(> [class*="MarkUpWrapper"]) > div[style]:not(#_){ margin:0 !important; padding:0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .bravo_content :has(> [class*="MarkUpWrapper"]) > div[style]:not(:has(p, li, h1, h2, h3, h4, img)):not(#_){ display:none !important; }

/* =====================================================================
   DETAIL PAGES — the information column, in separate bands
   Title, place, price, specs and description ran into each other as one
   grey stream. Each now has its own band: ruled lines above and below the
   price, the specs as chips in their own row, and the description under
   its own heading, as the Amenities block already was.
   ===================================================================== */
/* 1. heading band */
html body .bravo_wrap [class*="bravo_detail_"] .t-details-title:not(#_):not(#_){ margin:0 0 10px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-details-location:not(#_):not(#_){ margin:0 !important; font-size:18px !important; color:#4a505a !important; }
html body .bravo_wrap [class*="bravo_detail_"] .g-header:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .left:not(#_):not(#_){ margin:0 !important; padding:0 !important; display:block !important; }
/* 2. price band: ruled above and below */
html body .bravo_wrap [class*="bravo_detail_"] [class*="col-"] > .price:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .form-head:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-boat-details-rate:not(#_):not(#_){
  display:flex !important; align-items:baseline !important; flex-wrap:wrap !important; gap:6px 36px !important;
  margin:26px 0 0 !important; padding:22px 0 !important; height:auto !important;
  border-top:1px solid rgba(21,23,27,.22) !important; border-bottom:1px solid rgba(21,23,27,.22) !important;
  background:none !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .form-head .price:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-price:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-details-price .price:not(#_):not(#_){ margin:0 !important; padding:0 !important; border:0 !important; line-height:1.1 !important; height:auto !important; }
html body .bravo_wrap [class*="bravo_detail_"] .price .text-lg:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-boat-rate-value:not(#_):not(#_){ font-size:36px !important; line-height:1.1 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-boat-rate:not(#_):not(#_){ display:inline-flex !important; align-items:baseline !important; gap:6px !important; margin:0 !important; }
/* 3. specs band: chips on their own row */
html body .bravo_wrap [class*="bravo_detail_"] [class*="col-"] > .amenities:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-car-attributes-wrapper:not(#_):not(#_){
  display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:8px !important;
  margin:0 !important; padding:22px 0 !important; width:100% !important; background:none !important; border:0 !important;
}
/* cars: seats and gearbox as the same chips */
html body .bravo_wrap [class*="bravo_detail_"] .t-car-attributes-wrapper > img:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-car-attributes-wrapper > i:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-car-attributes-wrapper > .t-amenity:not(#_){ display:none !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-car-attributes-wrapper > .text:not(#_):not(#_):not(#_){
  display:inline-flex !important; align-items:center !important; padding:9px 14px !important; margin:0 !important;
  background:var(--bv-ink) !important; color:#fff !important; border-radius:0 !important;
  font-size:14px !important; font-weight:600 !important; letter-spacing:.08em !important; text-transform:uppercase !important; line-height:1.2 !important;
}
/* real estate: plot / built / terrace as a ruled table, label left, figure right */
html body .bravo_wrap [class*="bravo_detail_"] .t-house-size:not(#_):not(#_){
  display:flex !important; justify-content:space-between !important; align-items:baseline !important; gap:16px !important;
  margin:0 !important; padding:13px 0 !important; border-top:1px solid var(--bv-hair) !important;
  font-size:18px !important; font-weight:600 !important; color:var(--bv-ink) !important; line-height:1.3 !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-house-size strong:not(#_):not(#_){
  font-size:14px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important; color:#4a505a !important;
}
/* 4. description band, under its own heading */
html body .bravo_wrap [class*="bravo_detail_"] .g-overview:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] [class*="col-"] > .t-details-description:not(#_):not(#_){
  margin:0 !important; padding:26px 0 0 !important; border-top:1px solid rgba(21,23,27,.22) !important; max-width:none !important; width:100% !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .g-overview:not(#_)::before,
html body .bravo_wrap [class*="bravo_detail_"] [class*="col-"] > .t-details-description:not(#_)::before{
  content:"Description"; display:block; margin:0 0 14px;
  font-family:var(--bv-sans); font-size:14px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#4a505a; line-height:1.3;
}
html body .bravo_wrap [class*="bravo_detail_"] .g-overview .t-details-description:not(#_):not(#_){ margin:0 !important; padding:0 !important; border:0 !important; max-width:none !important; width:100% !important; }
/* 5. attribute groups follow the same rule and heading */
html body .bravo_wrap [class*="bravo_detail_"] .g-all-attribute:not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .t-g-attributes:not(#_):not(#_){ margin:30px 0 0 !important; padding:0 !important; }
html body .bravo_wrap [class*="bravo_detail_"] .t-attributes-title:not(#_):not(#_){ border-top:1px solid rgba(21,23,27,.22) !important; padding-top:26px !important; margin:0 0 14px !important; }
html body .bravo_wrap [class*="bravo_detail_"] .g-attributes:not(#_):not(#_){ margin:0 0 26px !important; }

/* =====================================================================
   NO RADIUS ANYWHERE
   Every box on the site is square-cornered: cards, panels, buttons, inputs,
   modals, hearts, arrows, thumbnails. Only loading spinners keep theirs.
   ===================================================================== */
html body *:not(.spinner-border):not(.spinner-grow):not(input[type="radio"]),
html body *:not(.spinner-border):not(.spinner-grow)::before,
html body *:not(.spinner-border):not(.spinner-grow)::after{ border-radius:0 !important; }

/* =====================================================================
   DETAIL PAGES — NEW STRUCTURE (all modules)
   1. name and place across the top
   2. the photo album on the left, the booking panel beside it on the right
   3. price, specs, description and amenities underneath the album
   The old pages put the text beside the photos and the form at the bottom.
   ===================================================================== */
@media (min-width:992px){
  /* the frame */
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_),
  html body .bravo_wrap .bravo_detail_hotel [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_){
    display:grid !important; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) !important;
    column-gap:48px !important; row-gap:0 !important; align-items:start !important;
    margin:0 !important; width:100% !important; max-width:100% !important;
  }
  html body .bravo_wrap .bravo_detail_hotel [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_){ padding:0 15px !important; }
  /* wrappers dissolve so their children can be placed on the frame */
  html body .bravo_wrap .bravo_detail_hotel .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"]:not(.t-book-form-column):not(#_):not(#_):not(#_),
  html body .bravo_wrap .bravo_detail_hotel .hotel_rooms_form:not(#_):not(#_):not(#_),
  html body .bravo_wrap .bravo_detail_hotel .hotel_rooms_form > .form-book:not(#_):not(#_):not(#_){ display:contents !important; }
  /* everything goes under the album unless placed below */
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"]:not(.t-book-form-column) > *:not(#_):not(#_):not(#_){
    grid-column:1 !important; min-width:0 !important; width:auto !important; max-width:none !important;
  }
  /* 1. top: breadcrumb, name, place */
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .t-breadcrumb-link:not(#_):not(#_):not(#_){ grid-column:1 / -1 !important; grid-row:1 !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .t-details-title:not(#_):not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .left:not(#_):not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .g-header:not(#_):not(#_):not(#_){ grid-column:1 / -1 !important; grid-row:2 !important; }
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .t-details-location:not(#_):not(#_):not(#_){ grid-column:1 / -1 !important; grid-row:3 !important; }
  /* 2. album left, booking panel right */
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"] > .g-gallery:not(#_):not(#_):not(#_){
    grid-column:1 !important; grid-row:4 !important; margin:28px 0 0 !important; padding:0 !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > .t-book-form-column:not(#_):not(#_):not(#_),
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery) > [class*="col-"]:not(.t-book-form-column) > .bravo_single_book_wrap:not(#_):not(#_):not(#_),
  html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_):not(#_):not(#_){
    grid-column:2 !important; grid-row:4 / span 40 !important; align-self:start !important;
    margin:28px 0 0 !important; padding:0 !important; width:auto !important; max-width:none !important; min-width:0 !important;
    position:sticky !important; top:130px !important; display:block !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-column > .bravo_single_book_wrap:not(#_):not(#_):not(#_):not(#_){ margin:0 !important; position:static !important; }
  /* hotel: rooms list runs the full width after the information */
  html body .bravo_wrap .bravo_detail_hotel .hotel_list_rooms:not(#_):not(#_):not(#_){ grid-column:1 / -1 !important; margin-top:56px !important; }
  html body .bravo_wrap .bravo_detail_hotel [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery) > *:not(.row):not(.hotel_rooms_form):not(#_):not(#_):not(#_){ grid-column:1 / -1 !important; }
}
/* hotel availability panel: stacked cells, like the other booking panels */
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_):not(#_):not(#_){ padding:30px !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_)::before{
  content:"Check availability"; display:block; font-family:var(--bv-serif); font-size:32px; line-height:1.15; color:#fff; margin:0 0 22px;
}
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-search-row:not(#_):not(#_):not(#_){ flex-direction:column !important; display:flex !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-search-row > div:not(#_):not(#_):not(#_){
  flex:0 0 auto !important; width:100% !important; max-width:100% !important;
}
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .form-search-row > div:not(.col-btn):not(#_):not(#_):not(#_){ border-right-width:1px !important; margin-top:-1px !important; min-height:72px !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .col-btn:not(#_):not(#_):not(#_){ margin-top:22px !important; }
html body .bravo_wrap .bravo_detail_hotel .form-search-rooms .t-hotel-room-search-button:not(#_):not(#_):not(#_):not(#_){ min-height:60px !important; height:60px !important; }
@media (min-width:992px){
  /* rows 1 and 3 are reserved for the top band even on pages whose breadcrumb
     or place line lives elsewhere, so nothing below can slip in above the album */
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_)::before,
  html body .bravo_wrap .bravo_detail_hotel [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_)::before{
    content:"" !important; display:block !important; grid-column:1 / -1 !important; grid-row:1 !important; height:0 !important; width:auto !important;
  }
  html body .bravo_wrap [class*="bravo_detail_"] .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_)::after,
  html body .bravo_wrap .bravo_detail_hotel [class*="col-"]:has(> .row > [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_)::after{
    content:"" !important; display:block !important; grid-column:1 / -1 !important; grid-row:3 !important; height:0 !important; width:auto !important;
  }
  html body .bravo_wrap .bravo_detail_hotel .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_):not(#_)::before,
  html body .bravo_wrap .bravo_detail_hotel .row:has(> [class*="col-"] > .g-gallery):not(#_):not(#_):not(#_):not(#_)::after{ content:none !important; display:none !important; }
}
/* price and its unit stay on one line */
html body .bravo_wrap [class*="bravo_detail_"] .t-details-price .price:not(#_):not(#_):not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .form-head .price:not(#_):not(#_):not(#_){
  display:flex !important; align-items:baseline !important; flex-wrap:wrap !important; gap:0 8px !important; width:auto !important;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-details-price:not(#_):not(#_):not(#_){ display:block !important; }
/* real estate: the panel held a lone button */
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-house:not(#_)::before{
  content:"Enquire about this property"; display:block; font-family:var(--bv-serif); font-size:32px; line-height:1.15; color:#fff; margin:0 0 8px;
}
html body .bravo_wrap [class*="bravo_detail_"] .t-book-form-house .submit-group:not(#_):not(#_):not(#_):not(#_){ margin-top:18px !important; }
/* the album fills its column */
html body .bravo_wrap [class*="bravo_detail_"] .g-gallery .fotorama:not(#_),
html body .bravo_wrap [class*="bravo_detail_"] .g-gallery:not(#_):not(#_):not(#_):not(#_){ width:100% !important; max-width:100% !important; }

/* =====================================================================
   CONCIERGE PAGE (.bvcg)
   Services were loose white pills scattered on a grey-blue page under a
   centred "Hassle-Free Luxury / CONCIERGE SERVICES" block. Now: a plain
   intro on the rail, each category a ruled section, the services a tight
   grid of square cells with a tick box, and the request panel in the same
   dark style as every other booking panel.
   ===================================================================== */
html body .bravo_wrap .bvcg__intro:not(#_){ flex:0 0 100% !important; max-width:100% !important; padding:0 15px !important; margin:0 !important; text-align:left !important; }
html body .bravo_wrap .bvcg__title:not(#_){
  font-family:var(--bv-serif) !important; font-size:46px !important; font-weight:400 !important; line-height:1.12 !important;
  color:var(--bv-ink) !important; text-transform:lowercase !important; text-align:left !important; margin:0 0 18px !important;
}
html body .bravo_wrap .bvcg__title:not(#_)::first-letter{ text-transform:uppercase !important; }
html body .bravo_wrap .bvcg__text:not(#_),
html body .bravo_wrap .bvcg__text p:not(#_):not(#_){
  text-align:left !important; margin:0 0 1em !important; max-width:820px !important;
  font-size:18px !important; line-height:1.7 !important; color:#23272e !important;
}
html body .bravo_wrap .bvcg__text:not(#_){ margin:0 0 40px !important; }
/* frame: list left, request panel right — as on the detail pages */
html body .bravo_wrap .bvcg:not(#_){ margin:0 !important; padding:0 15px !important; background:none !important; }
@media (min-width:992px){
  html body .bravo_wrap .bvcg:not(#_){ display:grid !important; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr) !important; column-gap:48px !important; align-items:start !important; }
  html body .bravo_wrap .bvcg > [class*="col-"]:not(#_){ max-width:none !important; width:auto !important; flex:none !important; padding:0 !important; min-width:0 !important; }
  html body .bravo_wrap .bvcg__panel:not(#_){ position:sticky !important; top:130px !important; }
}
html body .bravo_wrap .bvcg__panel:not(#_){ background:none !important; }
html body .bravo_wrap .bvcg__list:not(#_){ padding:0 !important; }
html body .bravo_wrap .bvcg__list .row:not(#_){ margin:0 !important; }
/* category heading */
html body .bravo_wrap .bvcg__list .t-service-category-title:not(#_){ padding:0 !important; margin:0 !important; flex:0 0 100% !important; max-width:100% !important; }
html body .bravo_wrap .bvcg__list .t-service-category-title h1:not(#_){
  font-family:var(--bv-serif) !important; font-size:32px !important; font-weight:400 !important; line-height:1.15 !important; color:var(--bv-ink) !important;
  margin:0 0 18px !important; padding:34px 0 0 !important; border-top:1px solid rgba(21,23,27,.22) !important;
}
html body .bravo_wrap .bvcg__list > .row:first-child .t-service-category-title h1:not(#_){ border-top:0 !important; padding-top:0 !important; }
/* the services: a grid of square cells sharing their borders */
html body .bravo_wrap .bvcg__list .row:has(> .t-service-radio-label):not(#_){
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:0 !important;
  margin:0 0 40px !important; padding:1px 0 0 1px !important;
}
html body .bravo_wrap .bvcg__list .t-service-radio-button:not(#_){ position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; pointer-events:none !important; }
html body .bravo_wrap .bvcg__list .t-service-radio-label:not(#_):not(#_){
  position:relative !important; display:flex !important; align-items:center !important; min-height:62px !important;
  margin:-1px 0 0 -1px !important; padding:10px 14px 10px 48px !important; width:auto !important; max-width:none !important; float:none !important;
  background:#fff !important; border:1px solid rgba(21,23,27,.22) !important; box-shadow:none !important;
  font-family:var(--bv-sans) !important; font-size:17px !important; font-weight:400 !important; line-height:1.3 !important; letter-spacing:0 !important;
  color:var(--bv-ink) !important; text-align:left !important; text-transform:none !important; cursor:pointer !important; white-space:normal !important;
  transition:background .15s, color .15s;
}
html body .bravo_wrap .bvcg__list .t-service-radio-label:not(#_)::before{
  content:"" !important; position:absolute !important; left:16px !important; top:50% !important; width:18px !important; height:18px !important;
  transform:translateY(-50%) !important; border:1.5px solid rgba(21,23,27,.55) !important; background:#fff !important; display:block !important;
}
html body .bravo_wrap .bvcg__list .t-service-radio-label:hover:not(#_){ background:var(--bv-paper) !important; }
html body .bravo_wrap .bvcg__list .t-service-radio-button:checked + .t-service-radio-label:not(#_):not(#_){
  background:var(--cs-forest) !important; color:#fff !important; border-color:var(--cs-forest) !important; z-index:1 !important;
}
html body .bravo_wrap .bvcg__list .t-service-radio-button:checked + .t-service-radio-label:not(#_)::before{
  background:var(--cs-gold) !important; border-color:var(--cs-gold) !important;
  box-shadow:inset 0 0 0 3px var(--cs-forest) !important;
}
@media (max-width:1199px){ html body .bravo_wrap .bvcg__list .row:has(> .t-service-radio-label):not(#_){ grid-template-columns:repeat(2,minmax(0,1fr)) !important; } }
@media (max-width:480px){ html body .bravo_wrap .bvcg__list .row:has(> .t-service-radio-label):not(#_){ grid-template-columns:1fr !important; } }
/* request panel: selected service shown as a cell */
html body .bravo_wrap .bvcg__panel .t-concierge-form-book-wrap:not(#_):not(#_):not(#_):not(#_){ margin:0 !important; position:static !important; }
html body .bravo_wrap .bvcg__panel .concierge-selected-service:not(#_),
html body .bravo_wrap .bvcg__panel .concierge-selected-service-title:not(#_){
  background:var(--cs-tile) !important; border:1px solid var(--cs-line) !important; color:#fff !important;
  font-size:18px !important; font-weight:400 !important; padding:16px !important; margin:0 !important; width:100% !important; text-align:left !important;
  display:block !important; box-shadow:none !important; min-height:0 !important; height:auto !important;
}
html body .bravo_wrap .bvcg__panel .concierge-selected-service .concierge-selected-service-title:not(#_):not(#_){ border:0 !important; padding:0 !important; background:none !important; }
html body .bravo_wrap .bvcg__panel .concierge-selected-service-wrapper:not(#_){ margin:0 0 -1px !important; padding:0 !important; }
html body .bravo_wrap .bvcg__panel .concierge-selected-service:empty:not(#_),
html body .bravo_wrap .bvcg__panel .concierge-selected-service-title:empty:not(#_){ display:none !important; }
/* concierge: everything on the same rail, on white, no navy box round the panel */
html body .bravo_wrap .bravo_search_tour:not(#_){ background:#fff !important; padding-bottom:96px !important; }
html body .bravo_wrap .bravo_search_tour .container.t-services-search-container:not(#_):not(#_){
  width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important;
  padding-left:max(16px, 6.04vw) !important; padding-right:max(16px, 6.04vw) !important;
}
html body .bravo_wrap .bravo_search_tour .t-concierge-packages-main-row:not(#_):not(#_){ margin-left:0 !important; margin-right:0 !important; }
html body .bravo_wrap .bvcg__intro:not(#_):not(#_){ padding:0 !important; }
html body .bravo_wrap .bvcg:not(#_):not(#_){ padding:0 !important; }
html body .bravo_wrap .bvcg__panel .t-concierge-form-book-wrap:not(#_):not(#_):not(#_):not(#_):not(#_){ background:none !important; padding:0 !important; }
html body .bravo_wrap .bvcg__list .row:has(> .t-service-radio-label):not(#_):not(#_){ padding:1px 0 0 1px !important; margin-left:0 !important; }
/* hotel: the availability panel followed the scroll right over the rooms
   table, which shares its frame. It stays beside the album instead. */
@media (min-width:992px){
  html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_):not(#_):not(#_):not(#_){ position:relative !important; top:auto !important; }
}

/* =====================================================================
   HOTEL ROOMS — cards (.bvrm)
   One card per room under the album: photo left; name, who it sleeps and
   what it has on the right; price and number of rooms along the bottom.
   Sitting in the left column lets the availability panel follow the scroll
   on the right without ever crossing the rooms.
   ===================================================================== */
@media (min-width:992px){
  html body .bravo_wrap .bravo_detail_hotel .hotel_list_rooms:not(#_):not(#_):not(#_):not(#_){ grid-column:1 !important; margin-top:40px !important; min-width:0 !important; }
  html body .bravo_wrap .bravo_detail_hotel .hotel_room_book_status:not(#_):not(#_):not(#_){ grid-column:1 !important; min-width:0 !important; }
  html body .bravo_wrap .bravo_detail_hotel .form-search-rooms:not(#_):not(#_):not(#_):not(#_):not(#_){ position:sticky !important; top:130px !important; }
}
html body .bravo_wrap .bvrm:not(#_){ background:none !important; border:0 !important; padding:0 !important; }
html body .bravo_wrap .bvrm__heading:not(#_){
  font-family:var(--bv-serif) !important; font-size:32px !important; font-weight:400 !important; line-height:1.15 !important; color:var(--bv-ink) !important;
  margin:0 0 22px !important; padding:34px 0 0 !important; border-top:1px solid rgba(21,23,27,.22) !important;
}
html body .bravo_wrap .bvrm__list:not(#_){ display:grid !important; gap:20px !important; }
html body .bravo_wrap .bvrm__card:not(#_):not(#_){
  display:grid !important; grid-template-columns:260px minmax(0,1fr) !important; gap:0 !important;
  background:#fff !important; border:1px solid rgba(21,23,27,.22) !important; padding:0 !important; margin:0 !important;
  width:auto !important; max-width:none !important; flex:none !important; float:none !important;
}
html body .bravo_wrap .bvrm__media:not(#_){ position:relative !important; min-height:230px !important; }
html body .bravo_wrap .bvrm__media .image:not(#_){ position:absolute !important; inset:0 !important; cursor:pointer !important; margin:0 !important; height:auto !important; width:auto !important; }
html body .bravo_wrap .bvrm__media .image img:not(#_){ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
html body .bravo_wrap .bvrm__media .count-gallery:not(#_){
  position:absolute !important; left:12px !important; bottom:12px !important; right:auto !important; top:auto !important;
  background:rgba(21,23,27,.82) !important; color:#fff !important; font-size:14px !important; font-weight:600 !important; padding:5px 10px !important; height:auto !important; width:auto !important; line-height:1.2 !important;
}
html body .bravo_wrap .bvrm__body:not(#_){ padding:24px 26px 22px !important; display:flex !important; flex-direction:column !important; min-width:0 !important; }
html body .bravo_wrap .bvrm__name:not(#_):not(#_):not(#_){
  font-family:var(--bv-serif) !important; font-size:26px !important; font-weight:400 !important; line-height:1.2 !important; color:var(--bv-ink) !important;
  margin:0 0 12px !important; height:auto !important; cursor:pointer !important;
}
html body .bravo_wrap .bvrm__label:not(#_){
  display:block !important; font-size:13px !important; font-weight:600 !important; letter-spacing:.1em !important; text-transform:uppercase !important;
  color:#4a505a !important; line-height:1.3 !important; margin:0 0 4px !important;
}
html body .bravo_wrap .bvrm__sleeps:not(#_){ display:flex !important; flex-wrap:wrap !important; align-items:baseline !important; gap:0 8px !important; margin:0 0 14px !important; }
html body .bravo_wrap .bvrm__sleeps .bvrm__label:not(#_){ margin:0 6px 0 0 !important; display:inline !important; }
html body .bravo_wrap .bvrm__sleeps .bv-sleeps:not(#_){ display:inline !important; font-size:17px !important; color:var(--bv-ink) !important; font-weight:400 !important; }
html body .bravo_wrap .bvrm__sleeps > span + span + span .bv-sleeps:not(#_)::before{ content:"· "; color:#4a505a; }
html body .bravo_wrap .bvrm__amenities:not(#_){
  list-style:none !important; margin:0 0 18px !important; padding:0 !important; display:flex !important; flex-wrap:wrap !important; gap:8px !important;
}
html body .bravo_wrap .bvrm__amenities li:not(#_){
  font-size:15px !important; font-weight:400 !important; color:#2c3038 !important; line-height:1.2 !important;
  padding:7px 11px !important; border:1px solid rgba(21,23,27,.2) !important; background:var(--bv-paper) !important; margin:0 !important;
}
html body .bravo_wrap .bvrm__foot:not(#_){
  margin-top:auto !important; padding-top:16px !important; border-top:1px solid var(--bv-hair) !important;
  display:flex !important; align-items:flex-end !important; justify-content:space-between !important; gap:20px !important;
}
html body .bravo_wrap .bvrm__price .t-room-price:not(#_):not(#_){ font-family:var(--bv-sans) !important; font-size:28px !important; font-weight:600 !important; color:var(--bv-ink) !important; line-height:1.1 !important; }
html body .bravo_wrap .bvrm__amount:not(#_){ margin:0 !important; display:block !important; }
html body .bravo_wrap .bvrm__amount select:not(#_):not(#_){
  height:50px !important; min-width:96px !important; padding:0 34px 0 14px !important; font-size:18px !important; font-weight:400 !important;
  color:var(--bv-ink) !important; background-color:#fff !important; border:1px solid rgba(21,23,27,.35) !important; cursor:pointer !important;
}
html body .bravo_wrap .bvrm__hint:not(#_):not(#_){
  margin:auto 0 0 !important; padding-top:16px !important; border-top:1px solid var(--bv-hair) !important;
  font-size:16px !important; color:#4a505a !important; line-height:1.4 !important;
}
@media (max-width:640px){
  html body .bravo_wrap .bvrm__card:not(#_):not(#_){ grid-template-columns:1fr !important; }
  html body .bravo_wrap .bvrm__media:not(#_){ min-height:0 !important; aspect-ratio:3/2; }
  html body .bravo_wrap .bvrm__body:not(#_){ padding:20px 18px !important; }
}

/* =====================================================================
   CONCIERGE REQUEST PANEL (.bvcq) — multi-select, one request, no booking
   ===================================================================== */
html body .bravo_wrap .bvcq .bvcq__label:not(#_){
  display:block !important; font-size:12px !important; font-weight:600 !important; letter-spacing:.12em !important; text-transform:uppercase !important;
  color:var(--cs-muted) !important; line-height:1.3 !important; margin:0 0 6px !important;
}
html body .bravo_wrap .bvcq__selected:not(#_){ background:var(--cs-tile) !important; border:1px solid var(--cs-line) !important; padding:14px 16px !important; margin:0 !important; }
html body .bravo_wrap .bvcq__count:not(#_){ color:var(--cs-gold) !important; }
html body .bravo_wrap .bvcq__empty:not(#_):not(#_){ margin:0 !important; font-size:17px !important; color:rgba(255,255,255,.7) !important; line-height:1.4 !important; }
html body .bravo_wrap .bvcq__list:not(#_){ list-style:none !important; margin:0 !important; padding:0 !important; }
html body .bravo_wrap .bvcq__list li:not(#_):not(#_){
  display:flex !important; align-items:center !important; justify-content:space-between !important; gap:12px !important;
  padding:8px 0 !important; margin:0 !important; border-top:1px solid var(--cs-line) !important;
  font-size:17px !important; font-weight:400 !important; color:#fff !important; line-height:1.3 !important;
}
html body .bravo_wrap .bvcq__list li:first-child:not(#_):not(#_){ border-top:0 !important; padding-top:2px !important; }
html body .bravo_wrap .bvcq__list button:not(#_){
  flex:0 0 auto !important; width:28px !important; height:28px !important; padding:0 !important; line-height:1 !important;
  background:none !important; border:1px solid var(--cs-line) !important; color:#fff !important; font-size:18px !important; cursor:pointer !important;
}
html body .bravo_wrap .bvcq__list button:hover:not(#_){ background:var(--cs-gold) !important; border-color:var(--cs-gold) !important; color:var(--cs-forest) !important; }
html body .bravo_wrap .bvcq__field:not(#_):not(#_):not(#_):not(#_){
  display:block !important; margin:-1px 0 0 !important; padding:13px 16px 11px !important; cursor:text !important;
  background:var(--cs-tile) !important; border:1px solid var(--cs-line) !important;
}
html body .bravo_wrap .bvcq__field input:not(#_):not(#_):not(#_),
html body .bravo_wrap .bvcq__field textarea:not(#_):not(#_):not(#_){
  display:block !important; width:100% !important; padding:0 !important; margin:0 !important; height:auto !important; min-height:0 !important;
  background:transparent !important; border:0 !important; outline:0 !important; box-shadow:none !important; resize:vertical;
  font-family:var(--bv-sans) !important; font-size:18px !important; font-weight:400 !important; line-height:1.4 !important;
  color:#fff !important; -webkit-text-fill-color:#fff;
}
html body .bravo_wrap .bvcq__field textarea::placeholder{ color:rgba(255,255,255,.55) !important; -webkit-text-fill-color:rgba(255,255,255,.55); }
html body .bravo_wrap .bvcq__field:focus-within:not(#_):not(#_):not(#_):not(#_){ border-color:var(--cs-gold) !important; position:relative; z-index:1; }
html body .bravo_wrap .bvcq__submit:not(#_):not(#_):not(#_):not(#_){ width:100% !important; cursor:pointer !important; }
html body .bravo_wrap .bvcq__submit[disabled]:not(#_){ opacity:.6 !important; cursor:default !important; }
html body .bravo_wrap .bvcq__message:not(#_){ margin:14px 0 0 !important; font-size:16px !important; line-height:1.45 !important; color:#fff !important; }
html body .bravo_wrap .bvcq__message:empty:not(#_){ display:none !important; }
html body .bravo_wrap .bvcq__message.is-error:not(#_){ color:#ffb4a9 !important; }
html body .bravo_wrap .bvcq__message.is-ok:not(#_){ color:#d9c79c !important; }

/* concierge request: selected services as compact tags side by side instead
   of one full-width row each; tighter heading; email and phone share a row */
html body .bravo_wrap .bvcq .t-form-title h5:not(#_):not(#_):not(#_){ margin-bottom:16px !important; }
html body .bravo_wrap .bvcq__selected:not(#_):not(#_){ padding:12px 14px 14px !important; }
html body .bravo_wrap .bvcq__list:not(#_):not(#_){ display:flex !important; flex-wrap:wrap !important; gap:8px !important; }
html body .bravo_wrap .bvcq__list li:not(#_):not(#_):not(#_){
  display:inline-flex !important; width:auto !important; gap:8px !important; padding:6px 6px 6px 12px !important; margin:0 !important;
  border:1px solid rgba(255,255,255,.28) !important; background:rgba(255,255,255,.06) !important;
  font-size:16px !important; line-height:1.2 !important;
}
html body .bravo_wrap .bvcq__list li:first-child:not(#_):not(#_):not(#_){ border-top:1px solid rgba(255,255,255,.28) !important; padding-top:6px !important; }
html body .bravo_wrap .bvcq__list button:not(#_):not(#_){ width:22px !important; height:22px !important; font-size:16px !important; border:0 !important; background:rgba(255,255,255,.12) !important; }
html body .bravo_wrap .bvcq__fields:not(#_){ display:grid !important; grid-template-columns:1fr 1fr !important; }
html body .bravo_wrap .bvcq__fields .bvcq__field:not(#_):not(#_):not(#_):not(#_):not(#_){ grid-column:1 / -1; padding:10px 14px 9px !important; }
html body .bravo_wrap .bvcq__fields .bvcq__field:nth-child(2):not(#_):not(#_):not(#_):not(#_):not(#_){ grid-column:1; }
html body .bravo_wrap .bvcq__fields .bvcq__field:nth-child(3):not(#_):not(#_):not(#_):not(#_):not(#_){ grid-column:2; margin-left:-1px !important; }
html body .bravo_wrap .bvcq .bvcq__label:not(#_):not(#_){ margin-bottom:4px !important; }
html body .bravo_wrap .bvcq .submit-group:not(#_):not(#_):not(#_):not(#_):not(#_){ margin-top:16px !important; }

/* log in / sign up: error messages were white text on the white panel */
html body .modal.login.LoginModal .message-error:not(#_),
html body .modal.login.LoginModal .invalid1:not(#_){ display:block; margin:14px 0 0 !important; }
html body .modal.login.LoginModal .message-error:empty:not(#_){ display:none !important; }
html body .modal.login.LoginModal .message-error .alert:not(#_),
html body .modal.login.LoginModal .invalid1 .alert:not(#_),
html body .modal.login.LoginModal .alert-danger:not(#_){
  color:#8f1d15 !important; background:#fdecea !important; border:1px solid #e7b4ae !important;
  padding:12px 14px !important; margin:0 !important; text-align:left !important;
  font-size:16px !important; font-weight:500 !important; line-height:1.4 !important;
}
html body .modal.login.LoginModal .invalid-feedback:not(#_),
html body .modal.login.LoginModal .error:not(.message-error):not(#_){ color:#8f1d15 !important; font-size:15px !important; font-weight:500 !important; text-align:left !important; }

/* =====================================================================
   HOMEPAGE BANNER AND SEARCH BAR — desktop
   The photograph fills the window from under the header to the bottom of
   the screen, with nothing on top of it. The search bar comes straight
   after it, outside the photograph. (It used to sit half over the foot of
   the banner and hid part of the house.)
   ===================================================================== */
@media (min-width:992px){
  html body .bravo_wrap .page-template-content .full-height-custom-banner:not(#_){
    height:calc(100vh - 114px) !important; min-height:560px !important; max-height:none !important;
    margin-bottom:0 !important;
    background-position:center 45% !important; background-size:cover !important;
  }
  /* a child's negative bottom margin used to leak out of this wrapper and pull
     the bar 50px up over the photograph */
  html body .bravo_wrap .page-template-content .bravo-form-search-all:has(> .full-height-custom-banner):not(#_){ display:flow-root !important; margin-bottom:0 !important; }
  html body .bravo_wrap .page-template-content .bravo-form-search-all:has(> .full-height-custom-banner) > *:not(#_){ margin-bottom:0 !important; }
  html body .bravo_wrap .page-template-content .bravo-form-search-all.searchContainer:not(#_){
    margin-top:0 !important; margin-bottom:72px !important; top:auto !important; transform:none !important;
  }
  html body .bravo_wrap .page-template-content .bravo-form-search-all .g-form-control:not(#_){ margin-top:0 !important; }
}
/* the header is 104px / 114px / 126px tall depending on the screen width */
@media (min-width:992px) and (max-width:1399px){ html body .bravo_wrap .page-template-content .full-height-custom-banner:not(#_){ height:calc(100vh - 104px) !important; } }
@media (min-width:1600px){ html body .bravo_wrap .page-template-content .full-height-custom-banner:not(#_){ height:calc(100vh - 126px) !important; } }

/* homepage blog cards: the category label carried a 20px bottom margin, so a
   card with a category had its title 20px lower than a card without one */
html body .bravo_wrap .item-news .item-date:not(#_){ align-items:center !important; min-height:16px !important; margin:0 0 12px !important; }
html body .bravo_wrap .item-news .item-date .home-news-title:not(#_),
html body .bravo_wrap .item-news .item-date .home-news-date:not(#_){ margin-top:0 !important; margin-bottom:0 !important; }
html body .bravo_wrap .item-news .item-date:not(#_),
html body .bravo_wrap .item-news .item-date *:not(#_){ font-size:14px !important; font-weight:500 !important; }
