.osbb-wrap{
  --osbb-ink:#1d231f;
  --osbb-cream:#f5f1e8;
  --osbb-accent:#8f1730;
  --osbb-muted:#626762;
  background:var(--osbb-cream);
  border-top:1px solid rgba(0,0,0,.08);
  border-bottom:1px solid rgba(0,0,0,.08);
  margin:0;
  width:100%;
  max-width:none;
  box-shadow:none;
  border-radius:0;
  font-family:inherit;
}
.osbb-inner{
  max-width:1480px;
  margin:0 auto;
  padding:8px 28px;
  display:flex;
  align-items:center;
  gap:24px;
}
.osbb-copy{
  flex:0 0 auto;
}
.osbb-copy h2{
  margin:0;
  font-family:inherit;
  font-size:clamp(21px,1.8vw,29px);
  line-height:1.15;
  font-weight:400;
  letter-spacing:0;
  color:var(--osbb-ink);
}
.osbb-copy p,
.osbb-eyebrow{
  display:none;
}
.osbb-picker{
  flex:1 1 520px;
  overflow:visible;
  background:transparent;
  border-radius:0;
  padding:0;
  box-shadow:none;
}
.osbb-cloudbeds{
  width:100%;
}
.osbb-benefits{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:18px;
  white-space:nowrap;
}
.osbb-benefits span{
  font-family:inherit;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  color:var(--osbb-muted);
}
.osbb-benefits span::first-letter{
  color:var(--osbb-accent);
}
.osbb-mobile-bar{display:none}

/* Try to keep Cloudbeds control visually compact where its component allows inherited sizing */
.osbb-picker cb-property-date-picker{
  display:block;
  width:100%;
}

/* Tablet */
@media(max-width:1180px){
  .osbb-inner{gap:16px;padding:7px 20px}
  .osbb-copy h2{font-size:26px}
  .osbb-benefits{gap:10px}
  .osbb-benefits span{font-size:11px}
}

/* Mobile / narrow screens: stack only when necessary */
@media(max-width:900px){
  .osbb-inner{
    min-height:auto;
    padding:10px 18px;
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
  }
  .osbb-copy h2{font-size:24px;font-weight:400}
  .osbb-benefits{
    display:grid;
    grid-template-columns:1fr;
    gap:5px;
    white-space:normal;
  }
}
@media(max-width:720px){
  body{padding-bottom:72px}
  .osbb-mobile-bar{
    display:block;
    position:fixed;
    left:0;right:0;bottom:0;
    z-index:99999;
    background:#fff;
    border-top:1px solid rgba(0,0,0,.12);
    padding:8px 10px;
    box-shadow:0 -6px 24px rgba(0,0,0,.08);
  }
  .osbb-mobile-book{
    min-height:46px;
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:4px;
    font-family:inherit;
    font-size:14px;
    font-weight:500;
    letter-spacing:.01em;
    text-decoration:none;
    text-transform:none;
    color:white;
    background:var(--osbb-accent);
  }
}

.osbb-kayak-award{
  display:flex;
  align-items:center;
  gap:14px;
  font-family:inherit;
}
.osbb-kayak-award a{display:inline-flex;line-height:0}
.osbb-kayak-award img{display:block;max-width:none}
.osbb-kayak-award span{
  font-size:12px;
  font-weight:400;
  color:var(--osbb-muted);
  line-height:1.35;
}
.osbb-kayak-inline{
  flex:0 0 auto;
  white-space:nowrap;
}
.osbb-kayak-below{
  max-width:1480px;
  margin:0 auto;
  padding:10px 28px 12px;
  justify-content:center;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
}
@media(max-width:1180px){
  .osbb-kayak-inline span{display:none}
}
@media(max-width:900px){
  .osbb-kayak-inline{justify-content:flex-start}
  .osbb-kayak-below{padding:10px 18px}
}


.osbb-trust-strip{
  width:100%;
  border-bottom:1px solid rgba(0,0,0,.06);
}
.osbb-trust-inner{
  max-width:1480px;
  margin:0 auto;
  min-height:82px;
  padding:10px 28px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.osbb-trust-item{
  display:flex;
  align-items:center;
}
.osbb-trust-kayak .osbb-kayak-award{
  padding:0;
  margin:0;
  background:transparent;
  border:0;
}
.osbb-booking-review{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:12px;
  padding-left:28px;
  border-left:1px solid rgba(0,0,0,.12);
}
.osbb-booking-score{
  font-family:inherit;
  font-weight:500;
  line-height:1;
}
.osbb-booking-copy{
  display:grid;
  gap:1px;
  line-height:1.15;
}
.osbb-booking-copy strong{
  font-size:13px;
  font-weight:600;
}
.osbb-booking-copy>span{
  font-size:12px;
  font-weight:400;
}
.osbb-booking-copy small{
  font-size:10px;
  opacity:.7;
}
.osbb-trust-stacked .osbb-trust-inner{
  flex-direction:column;
}
.osbb-trust-stacked .osbb-booking-review{
  border-left:0;
  padding-left:0;
}
@media(max-width:720px){
  .osbb-trust-inner{
    min-height:auto;
    padding:10px 14px;
    gap:14px !important;
  }
  .osbb-booking-review{
    padding-left:14px;
  }
  .osbb-kayak-award span{
    display:none;
  }
  .osbb-booking-copy small{
    display:none;
  }
}


.osbb-holidaycheck-review{
  padding-left:28px;
  border-left:1px solid rgba(0,0,0,.12);
  min-height:54px;
}
.osbb-holidaycheck-review > div{
  display:flex;
  align-items:center;
}
.osbb-holidaycheck-review iframe,
.osbb-holidaycheck-review img{
  max-width:100%;
}
.osbb-trust-stacked .osbb-holidaycheck-review{
  border-left:0;
  padding-left:0;
}
@media(max-width:900px){
  .osbb-trust-inner{
    flex-wrap:wrap;
  }
}
@media(max-width:720px){
  .osbb-holidaycheck-review{
    padding-left:14px;
  }
}


.osbb-benefits a{
  font-family:inherit;
  font-size:12px;
  font-weight:400;
  letter-spacing:0;
  color:var(--osbb-muted);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .15s ease, opacity .15s ease;
}
.osbb-benefits a:hover,
.osbb-benefits a:focus{
  border-bottom-color:currentColor;
  opacity:.82;
}


/* v3.1 compact equal-weight review cards */
.osbb-trust-inner{
  flex-wrap:wrap;
}
.osbb-rating-card{
  text-decoration:none;
  display:flex;
  align-items:center;
  gap:10px;
  padding:4px 22px;
  border-left:1px solid rgba(0,0,0,.10);
  min-height:50px;
}
.osbb-rating-card:first-child{border-left:0}
.osbb-rating-score{
  font-family:inherit;
  font-weight:500;
  line-height:1;
  white-space:nowrap;
}
.osbb-rating-score em{
  font-size:.42em;
  font-style:normal;
  font-weight:400;
  opacity:.65;
}
.osbb-rating-copy{
  display:grid;
  gap:1px;
  line-height:1.15;
}
.osbb-rating-copy strong{font-size:12px;font-weight:600}
.osbb-rating-copy span{font-size:11px;font-weight:400}
.osbb-rating-copy small{font-size:10px;opacity:.7}
.osbb-trust-kayak{
  padding:4px 22px;
  border-left:1px solid rgba(0,0,0,.10);
}
.osbb-trust-stacked .osbb-rating-card,
.osbb-trust-stacked .osbb-trust-kayak{
  border-left:0;
  padding-left:0;
}
@media(max-width:720px){
  .osbb-trust-inner{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .osbb-rating-card,
  .osbb-trust-kayak{
    padding:8px 10px;
    border-left:0;
  }
  .osbb-rating-copy small{display:block}
}
