
.sw-hb-carousel,
.sw-hb-carousel *{
  font-family: inherit;
}

 .sw-hb-carousel{
  width:100%;
  position:relative;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
  padding:0 58px;
}

.sw-hb-carousel-head{
  position:absolute;
  left:0;
  right:0;
  top:42%;
  height:0;
  pointer-events:none;
  z-index:5;
}

.sw-hb-carousel-arrow{
  position:absolute;
  width:120px;
  height:32px;
  top:0;
  transform:translateY(-50%);
  pointer-events:auto;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  padding:0;
  flex:0 0 auto;
  font-size:0;
  line-height:0;
  appearance:none;
  -webkit-appearance:none;
}

.sw-hb-carousel-arrow::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  right:0;
  border-top:3px solid currentColor;
  transform:translateY(-50%);
}

.sw-hb-carousel-prev::after,
.sw-hb-carousel-next::after{
  content:"";
  position:absolute;
  top:50%;
  width:0;
  height:0;
  transform:translateY(-50%);
}

.sw-hb-carousel-prev{
  left:0;
}

.sw-hb-carousel-next{
  right:0;
}

.sw-hb-carousel-prev::after{
  left:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-right:18px solid currentColor;
}

.sw-hb-carousel-next::after{
  right:0;
  border-top:12px solid transparent;
  border-bottom:12px solid transparent;
  border-left:18px solid currentColor;
}

.sw-hb-carousel-arrow:hover,
.sw-hb-carousel-arrow:focus-visible{
  opacity:.72;
  outline:none;
}

.sw-hb-carousel-arrow:disabled{
  opacity:.22;
  cursor:default;
}

.sw-hb-carousel-track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (32px * (var(--sw-hb-cols-desktop) - 1))) / var(--sw-hb-cols-desktop));
  gap:32px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  scrollbar-width:none;
  -ms-overflow-style:none;
  align-items:stretch;
  width:100%;
}

.sw-hb-carousel-track::-webkit-scrollbar{display:none}

.sw-hb-room-card{
  min-width:0;
  display:flex;
  flex-direction:column;
  height:100%;
  scroll-snap-align:start;
  background:transparent;
  border:0;
  box-shadow:none;
  color:inherit;
}

.sw-hb-room-media{
  width:100%;
}

.sw-hb-room-image-link{
  display:block;
  width:100%;
  color:inherit;
}

.sw-hb-room-image,
.sw-hb-room-image-placeholder{
  width:100%;
  aspect-ratio:var(--sw-hb-image-ratio, 4 / 5);
  min-height:620px;
  object-fit:cover;
  display:block;
  background:#ececec;
}

.sw-hb-room-body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:20px 0 0;
  flex:1 1 auto;
  color:inherit;
}

.sw-hb-room-title{
  margin:0;
  font-family:inherit;
  font-size:clamp(28px,2.2vw,42px);
  line-height:1.08;
  font-weight:inherit;
  color:inherit;
  letter-spacing:inherit;
}

.sw-hb-room-meta,
.sw-hb-room-excerpt,
.sw-hb-room-body p,
.sw-hb-room-body span,
.sw-hb-room-body div{
  font:inherit;
  color:inherit;
  letter-spacing:inherit;
}

.sw-hb-room-meta{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
}

.sw-hb-room-price strong{
  font:inherit;
}

.sw-hb-room-excerpt{
  opacity:.82;
}

.sw-hb-room-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.sw-hb-room-actions-top{
  margin-top:2px;
  margin-bottom:2px;
}

.sw-hb-room-actions-bottom{
  margin-top:auto;
}

.sw-hb-room-btn{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:0;
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font:inherit;
  line-height:1.1;
}

.sw-hb-room-btn:hover,
.sw-hb-room-btn:focus-visible{
  opacity:.84;
  outline:none;
}

.sw-hb-room-btn-primary{
  background:currentColor;
  color:#fff;
  border-color:currentColor;
}

.sw-hb-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.82);
  display:none;
  z-index:999999;
}

.sw-hb-modal.sw-open{display:block}
body.sw-hb-modal-open{overflow:hidden}

.sw-hb-modal-close,
.sw-hb-modal-nav{
  position:absolute;
  z-index:3;
  border:0;
  background:rgba(255,255,255,.12);
  color:#fff;
  cursor:pointer;
}

.sw-hb-modal-close{
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:0;
  font-size:28px;
  line-height:1;
}

.sw-hb-modal-nav{
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:0;
  font-size:24px;
  line-height:1;
}

.sw-hb-modal-prev{left:18px}
.sw-hb-modal-next{right:18px}

.sw-hb-gallery-modal{
  background:rgba(0,0,0,.74);
}

.sw-hb-gallery-modal-inner{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.sw-hb-gallery-modal-image{
  max-width:94vw;
  max-height:86vh;
  width:auto;
  height:auto;
  display:block;
}

.sw-hb-gallery-modal-count{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  color:#fff;
  background:rgba(255,255,255,.1);
  padding:6px 10px;
  border-radius:0;
  font-size:12px;
  line-height:1;
}

.sw-hb-info-modal{padding:20px}
.sw-hb-info-modal.sw-open{display:flex;align-items:center;justify-content:center}
.sw-hb-info-modal-box{position:relative;background:#fff;width:100%;max-width:980px;max-height:90vh;border-radius:22px;overflow:hidden;box-shadow:0 16px 50px rgba(0,0,0,.22)}
.sw-hb-info-modal-content{padding:28px;overflow-y:auto;max-height:90vh;-webkit-overflow-scrolling:touch;box-sizing:border-box;font-size:16px;line-height:1.65;color:#222}
.sw-hb-info-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.sw-hb-info-col>*:first-child{margin-top:0}
.sw-hb-info-col>*:last-child{margin-bottom:0}
.sw-hb-info-col img{max-width:100%;height:auto}

@media (max-width: 1024px){
  .sw-hb-carousel{ padding:0 44px; }
  .sw-hb-carousel-track{
    grid-auto-columns:calc((100% - (24px * (var(--sw-hb-cols-tablet) - 1))) / var(--sw-hb-cols-tablet));
    gap:24px;
  }
  .sw-hb-room-image,
  .sw-hb-room-image-placeholder{
    min-height:440px;
  }
  .sw-hb-carousel-arrow{width:112px}
}

@media (max-width: 767px){
  .sw-hb-carousel-head{
    top:36%;
  }
  .sw-hb-carousel-arrow{
    width:88px;
    height:24px;
  }
  .sw-hb-carousel-prev::after{
    border-top-width:8px;
    border-bottom-width:8px;
    border-right-width:14px;
  }
  .sw-hb-carousel-next::after{
    border-top-width:8px;
    border-bottom-width:8px;
    border-left-width:14px;
  }
  .sw-hb-carousel-track{
    grid-auto-columns:calc((100% - (16px * (var(--sw-hb-cols-mobile) - 1))) / var(--sw-hb-cols-mobile));
    gap:16px;
  }
  .sw-hb-room-image,
  .sw-hb-room-image-placeholder{
    min-height:380px;
  }
  .sw-hb-room-body{
    padding-top:16px;
  }
  .sw-hb-gallery-modal-inner{padding:12px}
  .sw-hb-gallery-modal-image{max-width:100%;max-height:78vh}
  .sw-hb-modal-prev,
  .sw-hb-modal-next{top:auto;bottom:14px;transform:none;width:42px;height:42px}
  .sw-hb-modal-prev{left:14px}
  .sw-hb-modal-next{right:14px}
  .sw-hb-modal-close{top:12px;right:12px;width:42px;height:42px}
  .sw-hb-gallery-modal-count{bottom:18px;font-size:11px;padding:4px 8px}
  .sw-hb-info-modal{padding:10px;align-items:flex-end}
  .sw-hb-info-modal-box{max-width:100%!important;max-height:88vh!important;border-radius:16px 16px 0 0}
  .sw-hb-info-modal-content{padding:18px 16px 24px;max-height:88vh!important;overflow-y:auto!important}
  .sw-hb-info-columns{grid-template-columns:1fr!important;gap:18px!important}
}
