.pms-scope /* ==== scoped from front/design_css/style.css ==== */
body, .pms-scope{
  overflow-x: clip
}.pms-scope .nav-brand, .pms-scope .nav-brand span{
  font-weight: 600;
  color: #fff
}.pms-scope .link-gold:hover, .pms-scope .nav-brand, .pms-scope .nav-links a:hover{
  color: #fff
}.pms-scope .btn-nav-book, .pms-scope .nav-links a, .pms-scope .vb-eyebrow{
  text-transform: uppercase
}.pms-scope .btn-gold, .pms-scope .btn-nav-book, .pms-scope .g-item, .pms-scope .g-tab, .pms-scope .vb-mute-btn{
  cursor: pointer
}.pms-scope .g-item img, .pms-scope .vb-video{
  object-fit: cover;
  height: 100%
}.pms-scope .btn-gold, .pms-scope .btn-maps, .pms-scope .btn-nav-book, .pms-scope .contact-links a, .pms-scope .link-gold, .pms-scope .nav-brand, .pms-scope .nav-links a, .pms-scope .vb-btn-primary, .pms-scope a{
  text-decoration: none
}.pms-scope .attr::after, .pms-scope .contact-section::before, .pms-scope .modal-dialog, .pms-scope .vb-loader.vb-hidden, .pms-scope body::before{
  pointer-events: none
}.pms-scope, .pms-scope ::after, .pms-scope ::before{
  box-sizing: border-box;
  margin: 0;
  padding: 0
}.pms-scope{
  scroll-behavior: smooth
}.pms-scope{
  color: var(--text-white);
  background-color: var(--bg-dark);
  color: var(--text-main);
  font-family: var(--font-body);
  line-height: 1.6;
  margin: 0;
  font-family: Poppins, sans-serif;
  background: #f5f5f5;
  color: #333
}.pms-scope body::before{
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: .032;
  z-index: 9997
}.pms-scope #mainNav, .pms-scope .nav-brand{
  display: flex;
  align-items: center
}.pms-scope .nav-brand img{
  max-height: 45px;
  width: auto
}.pms-scope .nav-brand span{
  font-size: 18px;
  letter-spacing: 1px
}.pms-scope #mainNav{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 20px 48px;
  justify-content: space-between;
  transition: background .5s, padding .4s
}.pms-scope #mainNav.scrolled{
  background: rgba(14, 10, 6, .95);
  padding: 14px 48px;
  border-bottom: 1px solid rgba(201, 168, 76, .12)
}.pms-scope .nav-brand{
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  letter-spacing: .04em;
  gap: 10px
}.pms-scope .btn-nav-book, .pms-scope .nav-brand-mark{
  font-size: .7rem;
  font-weight: 500
}.pms-scope .nav-brand-mark, .pms-scope .nav-links{
  align-items: center;
  display: flex
}.pms-scope .nav-brand-mark{
  width: 28px;
  height: 28px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  justify-content: center;
  color: var(--gold);
  letter-spacing: .05em;
  font-family: Jost, sans-serif
}.pms-scope .nav-links{
  gap: 36px;
  list-style: none
}.pms-scope .nav-links a{
  font-size: .72rem;
  letter-spacing: .22em;
  color: rgba(255, 255, 255, .65);
  transition: color .25s;
  position: relative
}.pms-scope .nav-links a::after{
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s
}.pms-scope .nav-links a:hover::after{
  transform: scaleX(1)
}.pms-scope .btn-nav-book{
  font-family: Jost, sans-serif;
  letter-spacing: .2em;
  color: var(--dark);
  background: var(--gold);
  border: none;
  border-radius: 2px;
  padding: 10px 24px;
  transition: background .25s, transform .25s
}.pms-scope .btn-avail:hover, .pms-scope .btn-nav-book:hover{
  background: var(--gold-light);
  transform: translateY(-1px)
}.pms-scope .video-banner-section{
  overflow: visible !important;
  width: 100%;
  height: 100vh;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .acc-body, .pms-scope .booking-inputs, .pms-scope .contact-section, .pms-scope .g-item, .pms-scope .hero-gallery, .pms-scope .marquee-band, .pms-scope .panel, .pms-scope .review-panel, .pms-scope .rl-carousel, .pms-scope .upper-gallery .box{
  overflow: hidden
}.pms-scope .vb-video-wrap{
  position: absolute;
  inset: 0;
  z-index: 0
}.pms-scope .vb-video{
  width: 100%;
  object-position: center;
  opacity: 0;
  transition: opacity 1.4s
}.pms-scope .attr:hover::after, .pms-scope .vb-video.vb-loaded{
  opacity: 1
}.pms-scope .vb-overlay{
  position: absolute;
  inset: 0;
  /*background: linear-gradient(to bottom, rgba(14, 10, 6, .6) 0, rgba(14, 10, 6, .18) 40%, rgba(14, 10, 6, .7) 100%), linear-gradient(135deg, rgba(201, 168, 76, .08) 0, transparent 60%) */
}.pms-scope .vb-content{
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 24px;
  max-width: 900px
}.pms-scope .vb-eyebrow{
  font-size: .65rem;
  letter-spacing: .32em;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 24px;
  opacity: 0;
  animation: 1s .4s forwards fadeUp
}.pms-scope .vb-title{
  font-family: Montserrat, sans-serif;
  font-size: clamp(4rem, 10vw, 7.5rem);
  font-weight: 900;
  color: #fff;
  line-height: .95;
  margin-bottom: 28px;
  letter-spacing: -.01em;
  opacity: 0;
  animation: 1.2s .6s forwards fadeUp
}.pms-scope .vb-title em{
  font-style: italic;
  color: var(--gold)
}.pms-scope .vb-sub{
  font-size: clamp(.85rem, 1.8vw, 1rem);
  color: rgba(255, 255, 255, .62);
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: .04em;
  margin-bottom: 44px;
  opacity: 0;
  animation: 1.2s .8s forwards fadeUp
}.pms-scope .vb-btn-primary, .pms-scope .vb-mute-btn{
  font-family: Jost, sans-serif;
  font-size: .72rem;
  text-transform: uppercase
}.pms-scope .vb-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: 1.2s 1s forwards fadeUp
}.pms-scope .vb-btn-primary{
  display: inline-block;
  background: var(--gold);
  color: var(--dark);
  font-weight: 500;
  letter-spacing: .2em;
  padding: 16px 40px;
  border-radius: 2px;
  transition: background .25s, transform .25s, box-shadow .25s;
  box-shadow: 0 4px 28px rgba(201, 168, 76, .35)
}.pms-scope .vb-btn-primary:hover{
  background: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 10px 40px rgba(201, 168, 76, .5)
}.pms-scope .vb-mute-btn{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  letter-spacing: .16em;
  padding: 14px 26px;
  border-radius: 2px;
  backdrop-filter: blur(10px);
  transition: background .25s, border-color .25s
}.pms-scope .vb-loader, .pms-scope .vb-scroll-hint{
  position: absolute;
  display: flex
}.pms-scope .vb-mute-btn:hover{
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .4)
}.pms-scope .vb-scroll-hint{
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: 0;
  animation: 1s 1.6s forwards fadeIn
}.pms-scope .panel, .pms-scope .vb-loader{
  align-items: center
}.pms-scope .vb-scroll-hint span{
  font-size: .58rem;
  letter-spacing: .28em;
  color: rgba(255, 255, 255, .38);
  text-transform: uppercase
}.pms-scope .vb-scroll-line{
  width: 1px;
  height: 52px;
  background: linear-gradient(to bottom, rgba(201, 168, 76, .7), transparent);
  animation: 2.4s ease-in-out infinite scrollPulse
}.pms-scope .booking-input option, .pms-scope .vb-loader{
  background: var(--dark)
}

@keyframes scrollPulse {

  0%,
  100% {
    opacity: .4;
    transform: scaleY(1)
  }

  50% {
    opacity: 1;
    transform: scaleY(1.2)
  }
}.pms-scope .vb-loader{
  inset: 0;
  z-index: 5;
  justify-content: center;
  transition: opacity 1.2s
}.pms-scope .vb-loader.vb-hidden{
  opacity: 0
}.pms-scope .vb-spinner{
  width: 48px;
  height: 48px;
  border: 2px solid rgba(201, 168, 76, .18);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: .9s linear infinite spin
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}.pms-scope .marquee-band{
  background: var(--gold);
  padding: 14px 0;
  white-space: nowrap
}.pms-scope .marquee-inner{
  display: inline-flex;
  gap: 0;
  animation: 22s linear infinite marqueeScroll
}.pms-scope .marquee-inner:hover{
  animation-play-state: paused
}.pms-scope .marquee-item{
  font-size: .65rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--dark);
  font-weight: 600;
  padding: 0 40px
}.pms-scope .marquee-sep{
  color: var(--dark);
  opacity: .45
}

@keyframes marqueeScroll {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}.pms-scope .panel{
  position: relative;
  height: 100vh;
  min-height: 640px;
  display: flex
}.pms-scope .panel-bg, .pms-scope .panel-overlay{
  position: absolute;
  inset: 0
}.pms-scope .panel-bg{
  background-size: cover;
  background-position: center;
  background-attachment: fixed
}.pms-scope #stay, .pms-scope .panel-content, .pms-scope .video-banner-section, .pms-scope .view-all-wrapper{
  position: relative
}.pms-scope .panel-overlay.right{
  background: linear-gradient(to left, rgba(14, 10, 6, .82) 0, rgba(14, 10, 6, .28) 60%, transparent 100%)
}.pms-scope .btn-gold:hover, .pms-scope .g-tab.active, .pms-scope .g-tab:hover, .pms-scope .section-num::before{
  background: var(--gold)
}.pms-scope .panel-content{
  z-index: 2;
  padding: 0 80px;
  max-width: 680px
}.pms-scope .panel-content.right-side{
  margin-left: auto;
  padding: 0 80px 0 0
}.pms-scope .section-num{
  font-size: .6rem;
  letter-spacing: .28em;
  color: var(--gold);
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px
}.pms-scope .section-num::before{
  content: '';
  width: 32px;
  height: 1px
}.pms-scope .panel-heading{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 20px;
  letter-spacing: -.01em
}.pms-scope .panel-heading em{
  font-style: normal;
  color: var(--gold)
}.pms-scope .panel-desc{
  font-size: .95rem;
  color: #fff;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: .02em;
  margin-bottom: 32px
}.pms-scope #stay .top-main-heading{
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  text-align: center;
  width: 90%
}.pms-scope #stay .top-main-heading h1{
  color: #fff;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0
}.pms-scope .feat-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px
}.pms-scope .feat-pill{
  background: rgba(255, 255, 255, .06);
  border: 1px solid #fff;
  color: #fff;
  border-radius: 2px;
  padding: 8px 18px;
  font-size: .62rem;
  letter-spacing: .18em;
  font-weight: 500;
  text-transform: uppercase
}.pms-scope .btn-gold, .pms-scope .link-gold{
  color: var(--gold);
  font-size: .68rem;
  text-transform: uppercase
}.pms-scope .link-gold{
  letter-spacing: .2em;
  align-items: center;
  gap: 10px
}.pms-scope .link-gold::after{
  content: '→';
  transition: transform .3s
}.pms-scope .link-gold:hover{
  gap: 16px;
  color: var(--gold-light)
}.pms-scope .btn-gold{
  display: inline-block;
  background: 0 0;
  border: 1px solid var(--gold);
  font-family: Jost, sans-serif;
  font-weight: 500;
  letter-spacing: .22em;
  padding: 14px 36px;
  border-radius: 2px;
  transition: background .3s, color .3s, transform .25s
}.pms-scope .loc-title, .pms-scope .moments-heading, .pms-scope .panel-card .panel-heading{
  font-family: Montserrat, sans-serif
}.pms-scope .btn-gold:hover{
  color: var(--dark);
  transform: translateY(-2px)
}.pms-scope .panel-card{
  position: absolute;
  z-index: 3;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: rgb(28 18 8 / 50%);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(201, 168, 76, .14);
  border-radius: 16px;
  padding: 44px 48px;
  max-width: 460px;
  width: 42%;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .04) inset
}.pms-scope .panel-card .section-num{
  color: var(--gold);
  margin-bottom: 14px;
  font-size: .58rem
}.pms-scope .panel-card .panel-heading{
  font-size: clamp(2rem, 4.8vw, 4rem);
  font-weight: 800;
  line-height: .95
}.pms-scope .panel-card .panel-desc{
  font-size: .88rem;
  margin-bottom: 24px;
  color: #fff
}.pms-scope .panel-card .feat-pills{
  margin-bottom: 24px
}.pms-scope .panel-card .feat-list{
  margin-bottom: 20px
}.pms-scope .panel-card .feat-list li{
  padding: 10px 0;
  font-size: .7rem
}.pms-scope .feat-list{
  list-style: none;
  margin-bottom: 28px
}.pms-scope .feat-list li{
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .274);
  display: flex;
  align-items: center;
  gap: 14px
}.pms-scope .feat-list li::before{
  content: '—';
  color: var(--gold);
  font-size: .8rem
}.pms-scope .location-section{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 600px;
  background: var(--dark2)
}.pms-scope .location-map{
  position: relative;
  min-height: 500px
}.pms-scope .location-map iframe{
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: none;
  filter: sepia(.5) contrast(1.1) brightness(.8)
}.pms-scope .location-info{
  padding: 80px 64px;
  background: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(201, 168, 76, .12)
}.pms-scope .details-left-eyebrow, .pms-scope .loc-eyebrow{
  font-size: .6rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 12px
}.pms-scope .details-left-eyebrow::before, .pms-scope .loc-eyebrow::before{
  content: '';
  width: 28px;
  height: 1px;
  background: var(--gold)
}.pms-scope .loc-title{
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 800;
  color: var(--bg-dark);
  line-height: 1.05;
  margin-bottom: 20px
}.pms-scope .loc-desc{
  font-size: .9rem;
  color: rgb(48 47 47 / 52%);
  line-height: 1.8;
  font-weight: 300;
  margin-bottom: 36px
}.pms-scope .loc-stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-bottom: 36px;
  border: 1px solid rgb(200 169 78)
}.pms-scope .loc-stat{
  padding: 20px 16px;
  border-right: 1px solid rgb(200 169 79)
}.pms-scope .loc-stat:last-child{
  border-right: none
}.pms-scope .stat-label{
  font-size: .55rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--bg-dark);
  margin-bottom: 8px;
  font-weight: 500
}.pms-scope .stat-val{
  font-size: .85rem;
  color: var(--dark);
  font-weight: 400;
  letter-spacing: .02em
}.pms-scope .btn-maps{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 2px;
  font-weight: 500;
  transition: border-color .3s, color .3s;
  width: fit-content
}.pms-scope .btn-maps:hover{
  border-color: var(--gold);
  color: var(--gold)
}.pms-scope .moments-section{
  background: #fff;
  padding: 100px 64px
}.pms-scope .moments-section .moments-heading{
  color: var(--dark)
}.pms-scope .moments-header{
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid
}.pms-scope .moments-heading{
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 800;
  color: #fff
}.pms-scope .moments-sub{
  font-size: .82rem;
  color: var(--gold-dark);
  font-weight: 300;
  letter-spacing: .04em;
  margin-top: 6px
}.pms-scope .g-label, .pms-scope .g-tab{
  font-weight: 500;
  text-transform: uppercase
}.pms-scope .gallery-tabs{
  display: flex;
  gap: 4px
}.pms-scope .g-tab{
  background: 0 0;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-family: Jost, sans-serif;
  font-size: .62rem;
  letter-spacing: .18em;
  padding: 10px 22px;
  border-radius: 2px;
  transition: .25s
}.pms-scope .g-tab:hover{
  color: var(--cream)
}.pms-scope .g-tab.active{
  border-color: var(--gold);
  color: var(--dark)
}.pms-scope .gallery-grid.filterable{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px
}.pms-scope .g-item{
  position: relative;
  height: 220px
}.pms-scope .g-item img{
  width: 100%;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .5s;
  filter: brightness(.85) saturate(.9)
}.pms-scope .g-item:hover img{
  transform: scale(1.1);
  filter: brightness(1) saturate(1.1)
}.pms-scope .g-label{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(14, 10, 6, .85), transparent);
  color: #fff;
  font-size: .65rem;
  letter-spacing: .16em;
  padding: 28px 16px 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s, transform .35s
}.pms-scope .g-item:hover .g-label, .pms-scope .lightbox.active .lightbox-caption, .pms-scope .reveal.in-view{
  opacity: 1;
  transform: translateY(0)
}.pms-scope .g-item.g-hidden{
  display: none
}.pms-scope .g-item.g-visible{
  animation: .4s both gReveal
}

@keyframes gReveal {
  from {
    opacity: 0;
    transform: scale(.96)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}.pms-scope .review-panel{
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .review-bg{
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=1600&auto=format&fit=crop&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed
}.pms-scope .review-overlay{
  position: absolute;
  inset: 0;
  background: rgba(14, 10, 6, .4)
}.pms-scope .review-container{
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 60px
}.pms-scope .review-inner, .pms-scope .top-main-heading{
  text-align: center;
  padding: 0 40px
}.pms-scope .review-card{
  max-width: 460px;
  width: 42%;
  background: rgba(175, 175, 175, .78)
}.pms-scope .rl-arrow:hover, .pms-scope .rl-avatar, .pms-scope .rl-dot.active{
  background: var(--gold)
}.pms-scope .review-heading{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 20px
}.pms-scope .top-main-heading{
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  z-index: 10
}.pms-scope .top-main-heading h1{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: #fff;
  font-weight: 400;
  line-height: 1.1;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .3)
}.pms-scope .link-gold{
  display: inline-block;
  margin-top: 22px;
  color: var(--gold);
  font-weight: 500;
  transition: color .3s
}.pms-scope .review-inner{
  position: relative;
  z-index: 2;
  max-width: 720px
}.pms-scope .contact-btns, .pms-scope .contact-links, .pms-scope .contact-sub, .pms-scope .contact-title{
  z-index: 1;
  position: relative
}.pms-scope .review-stars{
  color: var(--gold);
  font-size: 1rem;
  letter-spacing: 6px;
  margin-bottom: 36px
}.pms-scope .review-quote-mark{
  font-family: Montserrat, sans-serif;
  font-size: 8rem;
  line-height: .5;
  color: var(--gold);
  opacity: .25;
  margin-bottom: 16px;
  font-weight: 300
}.pms-scope .review-text{
  font-style: italic;
  margin-bottom: 28px
}.pms-scope .review-author{
  font-size: .65rem;
  letter-spacing: .24em;
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 500
}.pms-scope .review-more{
  margin-top: 36px
}.pms-scope .rl-carousel{
  position: relative
}.pms-scope .rl-track{
  display: flex;
  transition: transform .48s cubic-bezier(.4, 0, .2, 1);
  will-change: transform
}.pms-scope .rl-slide{
  min-width: 100%;
  box-sizing: border-box
}.pms-scope .rl-stars{
  color: #f5c518;
  font-size: .85rem;
  letter-spacing: 3px;
  margin-bottom: 14px
}.pms-scope .rl-author{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap
}.pms-scope .rl-avatar{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, .18)
}.pms-scope .rl-author-info strong{
  display: block;
  font-size: .8rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.3
}.pms-scope .rl-author-info span{
  font-size: .68rem;
  color: rgba(255, 255, 255, .42)
}.pms-scope .rl-badge{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 90, 95, .1);
  border: 1px solid rgba(255, 90, 95, .28);
  color: #ff8a8e;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .05em;
  padding: 3px 9px;
  border-radius: 50px
}.pms-scope .rl-controls, .pms-scope .rl-dots{
  display: flex;
  align-items: center
}.pms-scope .rl-controls{
  justify-content: space-between;
  margin-top: 20px
}.pms-scope .rl-dots{
  gap: 6px
}.pms-scope .acc-btn, .pms-scope .rl-arrow{
  display: flex;
  align-items: center;
  cursor: pointer
}.pms-scope .rl-dot{
  width: 7px;
  height: 7px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .2);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background .25s, width .25s, transform .25s
}.pms-scope .rl-dot.active{
  width: 20px;
  transform: none
}.pms-scope .rl-arrows{
  display: flex;
  gap: 7px
}.pms-scope .rl-arrow{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .18);
  background: 0 0;
  color: rgba(255, 255, 255, .6);
  font-size: .9rem;
  justify-content: center;
  transition: border-color .22s, background .22s, color .22s
}.pms-scope .acc-btn, .pms-scope .activity-list{
  font-size: .88rem;
  letter-spacing: .04em
}.pms-scope .rl-arrow:hover{
  border-color: var(--gold);
  color: #fff
}.pms-scope .activity-list{
  color: #fff;
  line-height: 2;
  font-weight: 300;
  margin-bottom: 6px
}.pms-scope .details-section{
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 0;
  background: var(--cream);
  padding-bottom: 120px
}.pms-scope .details-left, .pms-scope .details-right{
  padding: 100px 60px 60px
}.pms-scope .details-left{
  border-right: 1px solid rgba(255, 255, 255, .06);
  position: sticky;
  top: 0;
  height: fit-content
}.pms-scope .details-left h2{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2.2rem, 3.5vw, 3.5rem);
  font-weight: 800;
  color: var(--bg-dark);
  margin-bottom: 14px
}.pms-scope .details-left p{
  font-size: .85rem;
  color: var(--dark2);
  line-height: 1.7
}.pms-scope .acc-item{
  border-bottom: 1px solid var(--bar-bg)
}.pms-scope .acc-btn{
  width: 100%;
  background: 0 0;
  border: none;
  color: var(--bar-bg);
  font-family: Jost, sans-serif;
  font-weight: 400;
  padding: 22px 0;
  text-align: left;
  justify-content: space-between;
  transition: color .25s
}.pms-scope .acc-icon, .pms-scope .contact-links a{
  align-items: center;
  display: flex
}.pms-scope .acc-btn.open, .pms-scope .acc-btn:hover, .pms-scope .contact-links a:hover{
  color: var(--gold)
}.pms-scope .acc-icon{
  width: 22px;
  height: 22px;
  border: 1px solid var(--bar-bg);
  border-radius: 50%;
  justify-content: center;
  font-size: .9rem;
  transition: transform .35s, border-color .25s;
  flex-shrink: 0
}.pms-scope .acc-btn.open .acc-icon{
  transform: rotate(45deg);
  border-color: var(--gold);
  color: var(--gold)
}.pms-scope .acc-body{
  max-height: 0;
  transition: max-height .45s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .acc-body-inner{
  font-size: .85rem;
  color: var(--mid);
  line-height: 1.8;
  padding: 0 0 22px;
  font-weight: 300
}.pms-scope .contact-section{
  background: url(../img/footer.webp) center/cover no-repeat fixed;
  border-top: 1px solid rgba(58, 48, 20, .678);
  text-align: center;
  padding: 120px 40px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative
}.pms-scope .contact-section::after{
  content: "";
  position: absolute;
  inset: 0px;
  background: rgba(61, 50, 18, .87)
}.pms-scope .contact-section::before{
  content: "Mágica";
  position: absolute;
  font-family: Montserrat, sans-serif;
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 300;
  font-style: italic;
  color: rgba(201, 168, 76, .04);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: -.02em;
  white-space: nowrap
}.pms-scope .contact-eyebrow{
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 22px;
  font-weight: 500
}.pms-scope .booking-label, .pms-scope .contact-links a{
  letter-spacing: .2em;
  text-transform: uppercase
}.pms-scope .contact-title{
  font-family: Montserrat, sans-serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 20px
}.pms-scope .booking-input, .pms-scope .btn-avail{
  font-family: Jost, sans-serif
}.pms-scope .contact-sub{
  font-size: .88rem;
  color: rgba(255, 255, 255, .45);
  max-width: 440px;
  line-height: 1.8;
  margin-bottom: 44px
}.pms-scope .contact-btns{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 60px
}.pms-scope .contact-links{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center
}.pms-scope .contact-links a{
  font-size: .62rem;
  color: rgba(255, 255, 255, .35);
  gap: 8px;
  font-weight: 500;
  transition: color .25s
}.pms-scope .contact-divider{
  width: 1px;
  height: 60px;
  background: rgba(201, 168, 76, .2);
  margin: 60px auto
}.pms-scope #bannerBookingBar{
  position: absolute;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 95% !important;
  max-width: 900px !important;
  z-index: 2147483647 !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important
}.pms-scope .video-banner-section::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(to top, rgba(14, 10, 6, .88) 0, transparent 100%);
  z-index: 9;
  pointer-events: none
}.pms-scope .vb-scroll-hint{
  bottom: 155px
}.pms-scope .booking-bar{
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 2px;
  padding: 12px 8px 12px 28px;
  gap: 0;
  width: 100%;
  max-width: 900px
}.pms-scope .booking-field{
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 20px;
  min-width: 0
}.pms-scope .booking-label{
  font-size: .55rem;
  color: var(--sand);
  font-weight: 600;
  margin-bottom: 3px
}.pms-scope .booking-input{
  background: 0 0;
  border: none;
  outline: 0;
  color: #fff;
  font-size: .85rem;
  font-weight: 400;
  cursor: pointer;
  width: 100%
}.pms-scope input[type=date]::-webkit-calendar-picker-indicator{
  filter: invert(1) opacity(.4);
  cursor: pointer
}.pms-scope .booking-divider{
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, .12);
  flex-shrink: 0
}.pms-scope .btn-avail{
  background: var(--gold);
  color: var(--dark);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .25s, transform .25s
}.pms-scope .questions-link{
  font-size: .8rem;
  color: rgb(255 255 255 / 67%);
  margin: 8px 0 0 14px
}.pms-scope .questions-link a{
  color: rgba(255, 255, 255, .45);
  text-decoration: underline
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}.pms-scope .reveal{
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .85s cubic-bezier(.22, 1, .36, 1), transform .85s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .reveal-delay-1{
  transition-delay: 0.1s
}.pms-scope .reveal-delay-2{
  transition-delay: 0.2s
}.pms-scope .reveal-delay-3{
  transition-delay: 0.3s
}.pms-scope .reveal-delay-4{
  transition-delay: 0.4s
}.pms-scope .site-footer{
  background: var(--dark);
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 36px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between
}.pms-scope .lightbox-close, .pms-scope .lightbox-next, .pms-scope .lightbox-prev{
  background: rgba(255, 255, 255, .05);
  cursor: pointer
}.pms-scope .footer-brand{
  font-family: Montserrat, sans-serif;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, .4)
}.pms-scope .footer-copy{
  font-size: .62rem;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .2)
}

@media (max-width:991px) {.pms-scope .panel-card{
    position: relative;
    right: auto;
    top: 12rem;
    transform: none;
    width: calc(100% - 40px);
    max-width: none;
    margin: 24px 20px 40px;
    padding: 32px 28px
  }.pms-scope .panel.has-card{
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    min-height: 100vh
  }.pms-scope .panel.has-card .panel-content{
    padding-bottom: 0
  }.pms-scope .panel-content, .pms-scope .panel-content.right-side{
    padding: 0 32px
  }.pms-scope .details-section, .pms-scope .loc-stats, .pms-scope .location-section{
    grid-template-columns: 1fr
  }.pms-scope #mainNav{
    padding: 16px 24px
  }.pms-scope .booking-divider, .pms-scope .nav-links{
    display: none
  }.pms-scope .panel-content{
    max-width: 100%
  }.pms-scope .location-map{
    min-height: 320px
  }.pms-scope .details-section{
    padding-bottom: 120px
  }.pms-scope .details-left{
    position: static;
    padding: 60px 32px 30px
  }.pms-scope .details-right{
    padding: 0 32px 60px
  }.pms-scope .moments-section{
    padding: 60px 24px
  }.pms-scope .moments-header{
    flex-direction: column;
    align-items: flex-start;
    gap: 20px
  }.pms-scope .gallery-grid.filterable{
    grid-template-columns: repeat(2, 1fr)
  }.pms-scope #stickyBar{
    padding: 14px 20px 12px
  }.pms-scope .booking-bar{
    flex-wrap: wrap;
    border-radius: 2px;
    padding: 16px;
    gap: 12px
  }.pms-scope .booking-field{
    flex: 1 1 120px
  }.pms-scope .btn-avail{
    width: 100%;
    margin-left: 0;
    margin-top: 4px
  }.pms-scope .site-footer{
    flex-direction: column;
    gap: 12px;
    text-align: center;
    padding: 28px 24px
  }
}

@media (max-width:576px) {.pms-scope .vb-title{
    font-size: 3.2rem
  }.pms-scope .gallery-grid.filterable{
    grid-template-columns: repeat(2, 1fr);
    gap: 2px
  }.pms-scope .contact-section{
    padding: 80px 24px 60px
  }.pms-scope .location-info{
    padding: 48px 28px
  }.pms-scope #stay .top-main-heading{
    top: 0
  }
}.pms-scope .lightbox{
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s, visibility .4s;
  backdrop-filter: blur(12px) saturate(1.8);
  -webkit-backdrop-filter: blur(12px) saturate(1.8)
}.pms-scope .amenities-side-panel-overlay.active, .pms-scope .lightbox-overlay.active, .pms-scope .lightbox.active, .pms-scope .reviews-side-panel-overlay.active{
  opacity: 1;
  visibility: visible
}.pms-scope .lightbox-container{
  position: relative;
  display: flex;
  align-items: center;
  gap: 32px;
  width: 90%;
  max-width: 1200px;
  height: 80vh
}.pms-scope .lightbox-content{
  flex: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative
}.pms-scope .lightbox-content img{
  max-width: 100%;
  max-height: calc(100% - 60px);
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 40px 100px rgba(0, 0, 0, .8);
  opacity: 0;
  transform: scale(.95);
  transition: opacity .5s, transform .5s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .gallery-item:hover .overlay-icon, .pms-scope .lightbox.active .lightbox-content img{
  opacity: 1;
  transform: scale(1)
}.pms-scope .lightbox-caption{
  margin-top: 24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: .05em;
  font-style: italic;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s .2s, transform .5s .2s
}.pms-scope .lightbox-close{
  position: absolute;
  top: 40px;
  right: 40px;
  font-size: 2.5rem;
  color: rgba(255, 255, 255, .5);
  transition: color .3s, transform .3s;
  z-index: 10001;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  line-height: 1
}.pms-scope .lightbox-close:hover{
  color: #fff;
  transform: rotate(90deg);
  background: rgba(255, 255, 255, .1)
}.pms-scope .lightbox-next, .pms-scope .lightbox-prev{
  border: 1px solid rgba(255, 255, 255, .1);
  color: #fff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  opacity: .5
}.pms-scope .lightbox-next:hover, .pms-scope .lightbox-prev:hover{
  opacity: 1;
  background: var(--gold);
  border-color: var(--gold);
  color: var(--dark);
  transform: scale(1.1)
}.pms-scope .property-detail{
  padding: 60px;
  background: #0e0a06;
  color: #fff
}.pms-scope .property-top{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px
}.pms-scope .main-image img{
  width: 100%;
  border-radius: 12px
}.pms-scope .gallery-thumbs, .pms-scope .image-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}.pms-scope .image-grid img{
  width: 100%;
  border-radius: 10px
}.pms-scope .property-header h1{
  font-size: 2rem;
  margin-top: 20px
}.pms-scope .location{
  color: #c9a84c
}.pms-scope .property-meta span{
  margin-right: 15px;
  font-size: .9rem
}.pms-scope .property-content{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-top: 40px
}.pms-scope .section{
  margin-bottom: 40px
}.pms-scope .amenities span{
  display: inline-block;
  margin: 6px;
  padding: 6px 10px;
  border: 1px solid #c9a84c;
  border-radius: 20px;
  font-size: .8rem
}.pms-scope .booking-card input, .pms-scope .booking-card select{
  width: 100%;
  padding: 8px;
  background: #dbd9d400;
  border: none;
  color: #0e0e0e
}.pms-scope .booking-card select:focus-visible{
  outline: 0;
  border: 1px solid transparent
}.pms-scope .btn-primary{
  width: 100%;
  padding: 10px;
  background: #c9a84c;
  color: #000;
  border: none;
  cursor: pointer
}.pms-scope .review{
  margin-bottom: 20px;
  font-size: .9rem
}.pms-scope .property-hero{
  display: flex;
  align-items: flex-end
}.pms-scope .hero-content h1{
  font-size: 3rem;
  color: #fff;
  margin-bottom: 10px
}.pms-scope .hero-subtitle{
  color: #c9a84c;
  font-size: 1.1rem;
  margin-bottom: 15px
}.pms-scope .hero-meta span{
  margin-right: 15px;
  font-size: .9rem;
  color: #ddd
}.pms-scope{
  --gold: #c9a84c;
  --gold-light: #dfc070;
  --gold-dark: #a07830;
  --dark: #0e0a06;
  --dark2: #1a1208;
  --mid: #2a1f14;
  --sand: #b5a48a;
  --sand-light: #ede5d4;
  --cream: #f7f2e8;
  --text-white: #f5f0e8;
  --bar-bg: rgba(14, 10, 6, 0.94);
  --bg-dark: #0e0a06;
  --card-bg: rgba(28, 18, 8, 0.85);
  --gold: #c9a84c;
  --text-main: #f4f4f4;
  --text-dim: #a19d99;
  --border: rgb(153 122 38);
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Jost', sans-serif
}.pms-scope .property-container{
  max-width: 1120px;
  margin: 100px auto 40px;
  padding: 0 24px
}.pms-scope .prop-header .header-top{
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}.pms-scope .prop-header h1{
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 8px
}.pms-scope .header-actions .action-link{
  background: 0 0;
  border: none;
  color: var(--text-main);
  text-decoration: underline;
  margin-left: 15px;
  cursor: pointer;
  font-size: .9rem
}.pms-scope .header-meta{
  font-weight: 500;
  font-size: .95rem;
  margin-bottom: 20px
}.pms-scope .property-hero{
  height: 80vh;
  background: url('../img/common-banner.webp') center/cover no-repeat;
  position: relative;
  display: flex;
  align-items: flex-end
}.pms-scope .hero-overlay{
  width: 100%;
  padding: 60px
}.pms-scope .hero-gallery{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 10px;
  height: 450px;
  border-radius: 12px;
  margin-bottom: 30px
}.pms-scope .gallery-main img, .pms-scope .gallery-thumbs img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .3s
}.pms-scope .btn-show-all{
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: #fff;
  color: #000;
  border: 1px solid #000;
  padding: 8px 15px;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer
}.pms-scope .content-wrapper{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px
}.pms-scope .amenities-list, .pms-scope .reviews-grid{
  grid-template-columns: 1fr 1fr
}.pms-scope .divider{
  border: 0;
  border-top: 1px solid var(--border);
  margin: 35px 0
}.pms-scope .badge-favourite{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  margin: 25px 0;
  background: rgba(255, 255, 255, .03)
}.pms-scope .badge-content{
  display: flex;
  gap: 15px;
  align-items: center
}.pms-scope .badge-icon{
  font-size: 2.5rem;
  color: var(--gold)
}.pms-scope .badge-text strong{
  display: block;
  font-size: 1.1rem
}.pms-scope .badge-score{
  text-align: center;
  border-left: 1px solid var(--border);
  padding-left: 25px
}.pms-scope .score-num{
  display: block;
  font-size: 1.5rem;
  font-weight: 700
}.pms-scope .booking-sidebar{
  position: sticky;
  top: 100px;
  height: fit-content
}.pms-scope .booking-hero, .pms-scope .hero, .pms-scope .modal-content, .pms-scope .modal-dialog{
  position: relative
}.pms-scope .booking-card{
  background: var(--card-bg);
  backdrop-filter: blur(15px);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .5)
}.pms-scope .booking-card, .pms-scope .booking-info{
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08)
}.pms-scope .price-header{
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px
}.pms-scope .booking-inputs{
  border: 1px solid #555;
  border-radius: 8px
}.pms-scope .input-row{
  display: flex
}.pms-scope .input-box{
  padding: 10px 12px;
  flex: 1
}.pms-scope .input-box label{
  display: block;
  font-size: .65rem;
  font-weight: 800
}.pms-scope .border-right{
  border-right: 1px solid #555
}.pms-scope .border-top{
  border-top: 1px solid #555
}.pms-scope .btn-avail{
  width: 98%;
  margin-top: 15px;
  background: var(--gold);
  color: #000;
  border: none;
  padding: 14px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  margin-left: 0
}.pms-scope .amenities-list, .pms-scope .booking-info ul{
  list-style: none;
  padding: 0
}.pms-scope .amenities-list{
  display: grid;
  gap: 15px
}.pms-scope .reviews-grid{
  display: grid;
  gap: 40px
}.pms-scope .review-item p{
  color: var(--text-dim);
  font-style: italic
}

@media (max-width:950px) {.pms-scope .content-wrapper{
    grid-template-columns: 1fr
  }.pms-scope .hero-gallery{
    height: 300px
  }
}.pms-scope .text-white{
  color: #fff !important
}.pms-scope .upper-gallery{
  margin-bottom: 30px
}.pms-scope .upper-gallery .grid-container-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  height: auto
}.pms-scope .upper-gallery .large-left{
  grid-row: 1;
  grid-column: 1;
  border-radius: 25px 0 0 25px
}.pms-scope .upper-gallery .box img{
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  transition: transform .3s
}.pms-scope .upper-gallery .small-grid-right{
  display: flex;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  flex-wrap: wrap
}.pms-scope .upper-gallery .small-grid-right .box{
  height: 197px;
  width: 49%
}.pms-scope .upper-gallery .box{
  border: 2px solid #ccc;
  cursor: pointer;
  height: max-content
}.pms-scope .modal.show .modal-dialog{
  transform: none
}.pms-scope .modal.fade .modal-dialog{
  transition: transform .3s ease-out;
  transform: translate(0, -50px)
}.pms-scope .modal-fullscreen{
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0
}

@media (min-width:576px) {.pms-scope .modal-dialog-centered{
    min-height: calc(100% - 3.5rem)
  }.pms-scope .modal-dialog-scrollable{
    height: calc(100% - 3.5rem)
  }.pms-scope .modal-dialog{
    max-width: 500px;
    margin: 1.75rem auto
  }
}.pms-scope .modal-dialog-centered{
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem)
}.pms-scope .modal-dialog-scrollable{
  height: calc(100% - 1rem)
}.pms-scope .modal-dialog{
  width: auto;
  margin: .5rem
}.pms-scope .modal-fullscreen .modal-content{
  height: 100%;
  border: 0;
  border-radius: 0
}.pms-scope .modal-dialog-scrollable .modal-content{
  max-height: 100%;
  overflow: hidden
}.pms-scope .modal-content{
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: .3rem;
  outline: 0
}.pms-scope #galleryModal .modal-header{
  border: none;
  justify-content: end
}.pms-scope .modal-fullscreen .modal-header{
  border-radius: 0
}.pms-scope .modal-header{
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(.3rem - 1px);
  border-top-right-radius: calc(.3rem - 1px)
}.pms-scope .modal-dialog-scrollable .modal-body, .pms-scope .modal-fullscreen .modal-body{
  overflow-y: auto
}.pms-scope .attr, .pms-scope .breadcrumb, .pms-scope .gallery-grid, .pms-scope .gallery-item{
  overflow: hidden
}.pms-scope .booking-hero{
  height: 60vh;
  background: url('../img/villa.webp') center/cover no-repeat
}.pms-scope .booking-hero .overlay{
  background: rgba(0, 0, 0, .5);
  height: 100%;
  display: flex;
  align-items: center
}.pms-scope .booking-section{
  padding: 80px 0
}.pms-scope .section-title{
  color: #3e2f23
}.pms-scope .section-sub{
  color: #7a6a5c
}.pms-scope .booking-card{
  background: #fff
}.pms-scope .booking-card h4, .pms-scope .booking-info h4{
  margin-bottom: 20px;
  color: #3e2f23
}.pms-scope .form-control{
  border-radius: 6px;
  border: 1px solid #ddd;
  padding: 10px
}.pms-scope .form-control:focus{
  border-color: #8b5e3c;
  box-shadow: none
}.pms-scope .btn-book{
  background: #8b5e3c;
  border: none
}.pms-scope .booking-info{
  background: #fff;
  padding: 35px;
  border-radius: 10px;
  height: 100%
}.pms-scope .booking-info ul li{
  margin-bottom: 10px;
  color: #5c4a3a
}.pms-scope .map-box{
  margin-top: 20px;
  height: 250px
}.pms-scope .map-box iframe{
  width: 100%;
  height: 100%;
  border-radius: 8px
}

@media(max-width:768px) {.pms-scope .booking-hero{
    height: 40vh
  }
}.pms-scope .hero{
  background: url('../images/banner.webp') center/cover no-repeat;
  height: 0
}.pms-scope .breadcrumb{
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  background: #fff;
  border-radius: 50px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .1)
}.pms-scope .breadcrumb a{
  padding: 12px 28px;
  color: #333;
  font-weight: 500;
  transition: .3s
}.pms-scope .breadcrumb a:hover{
  background: #eee
}.pms-scope .breadcrumb a.active{
  background: #caa46a;
  color: #fff
}.pms-scope .section-title{
  padding: 20px 20px 30px
}.pms-scope .section-title h2{
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 10px
}.pms-scope section#experiences{
  width: 1200px;
  margin: 0 auto
}.pms-scope .section-title p{
  color: #777;
  font-size: 15px
}.pms-scope .contact-info{
  display: flex;
  justify-content: space-around;
  gap: 80px;
  text-align: center;
  color: #fff;
  flex-wrap: wrap;
  margin: 50px 100px
}.pms-scope .contact-info div, .pms-scope .section-title{
  text-align: left
}.pms-scope .contact-info h5{
  color: var(--gold);
  font-size: 26px;
  font-family: 'Cormorant Garamond'
}.pms-scope .contact-info p{
  color: var(--bg-dark);
  font-weight: 500;
  opacity: .8
}.pms-scope .contact-info i{
  color: var(--bg-dark);
  margin-right: 8px
}.pms-scope .contact-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 20px;
  max-width: 1200px;
  margin: auto
}.pms-scope .contact-form{
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .05)
}.pms-scope .contact-form h3{
  font-size: 30px;
  margin-bottom: 42px;
  position: relative
}.pms-scope .contact-form label{
  font-size: 16px;
  font-weight: 600;
  margin: 16px 0 10px;
  display: block
}.pms-scope .contact-form h3::after{
  content: '';
  width: 60px;
  height: 3px;
  background: #2aa3d6;
  position: absolute;
  bottom: -8px;
  left: 0
}.pms-scope .contact-form input, .pms-scope .contact-form textarea{
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  transition: .3s
}.pms-scope .contact-form input:focus, .pms-scope .contact-form textarea:focus{
  border-color: #2aa3d6;
  outline: 0
}.pms-scope .contact-form button{
  font-size: 1rem;
  font-weight: 400;
  color: #00a9dd;
  background: 0 0;
  border: 2px solid #00a9dd;
  padding: 10px 26px;
  border-radius: 10px;
  line-height: 1.75rem;
  display: inline-block;
  transition: 1s;
  letter-spacing: .06em;
  margin-top: 16px
}.pms-scope .contact-form button:hover{
  background-color: #00a9dd;
  border-color: #00a9dd;
  color: var(--text-white);
  padding: 10px 36px
}.pms-scope .map iframe{
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 10px
}

@media (max-width:992px) {.pms-scope .contact-info{
    gap: 40px
  }
}

@media (max-width:768px) {.pms-scope #stay .top-main-heading h1{
    font-size: 24px
  }.pms-scope .review-container{
    padding: 0 20px;
    justify-content: center
  }.pms-scope .review-card{
    width: 100%;
    max-width: 100%;
    padding: 32px 24px
  }.pms-scope .lightbox-container{
    flex-direction: column;
    height: 70vh;
    gap: 20px
  }.pms-scope .lightbox-next, .pms-scope .lightbox-prev{
    position: absolute;
    bottom: -80px;
    width: 50px;
    height: 50px
  }.pms-scope .lightbox-prev{
    left: 20%
  }.pms-scope .lightbox-next{
    right: 20%
  }.pms-scope .lightbox-close{
    top: 20px;
    right: 20px
  }.pms-scope .lightbox-caption{
    font-size: 1.4rem
  }.pms-scope .hero{
    height: 250px
  }.pms-scope .breadcrumb{
    bottom: -20px
  }.pms-scope .contact-container{
    grid-template-columns: 1fr
  }.pms-scope .section-title{
    padding-top: 0
  }
}.pms-scope .attr{
  position: relative;
  border-radius: 14px;
  cursor: pointer;
  border: 1px solid rgba(197, 164, 106, 0);
  transition: border-color .45s, box-shadow .45s, transform .45s
}.pms-scope .attr:hover{
  border-color: rgba(197, 164, 106, .55);
  box-shadow: 0 0 0 1px rgba(197, 164, 106, .18), 0 20px 48px rgba(0, 0, 0, .55);
  transform: translateY(-6px)
}.pms-scope .attr img{
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .65s cubic-bezier(.25, .46, .45, .94)
}.pms-scope .attr:hover img{
  transform: scale(1.07)
}.pms-scope .attr::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 7, 4, .78) 0, rgba(10, 7, 4, .18) 55%, transparent 100%);
  opacity: 0;
  transition: opacity .45s;
  border-radius: 14px
}.pms-scope .atr-cont{
  padding: 12px 4px 4px;
  transition: transform .4s
}.pms-scope .atr-cont h4{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--gold);
  margin: 5px;
  letter-spacing: .02em;
  transition: color .3s;
  text-align: center
}.pms-scope .meta-item svg, .pms-scope .property-location svg{
  color: var(--gold, #c9a84c)
}.pms-scope .attr:hover .atr-cont a h4{
  color: #fff !important;
  z-index: 99999;
  position: relative
}.pms-scope .property-page{
  --prop-border: rgba(197, 164, 106, 0.15);
  --prop-bg: #13100c;
  --prop-card-bg: rgba(30, 22, 14, 0.9);
  --prop-text: rgba(244, 239, 230, 0.82);
  --prop-muted: rgba(244, 239, 230, 0.42);
  --prop-radius: 12px
}.pms-scope .gallery-section{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: calc(72px + 24px) 24px 0
}.pms-scope .gallery-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 8px;
  border-radius: 14px
}.pms-scope .gallery-grid .gallery-main{
  grid-row: 1/3;
  position: relative
}.pms-scope .gallery-right{
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  height: 28rem
}.pms-scope .gallery-item{
  position: relative;
  cursor: pointer;
  background: var(--mid, #2a1f14)
}.pms-scope .gallery-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.25, .46, .45, .94)
}.pms-scope .attraction-card:hover .attraction-img img, .pms-scope .gallery-item:hover img{
  transform: scale(1.05)
}.pms-scope .gallery-item .overlay{
  position: absolute;
  inset: 0;
  background: rgba(10, 7, 4, 0);
  transition: background .35s;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .gallery-item:hover .overlay{
  background: rgba(10, 7, 4, .28)
}.pms-scope .gallery-item .overlay-icon{
  opacity: 0;
  transform: scale(.8);
  transition: .3s;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(197, 164, 106, .18);
  border: 1px solid rgba(197, 164, 106, .5);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4efe6;
  font-size: 18px
}.pms-scope .gallery-show-all{
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: rgba(14, 10, 6, .75);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(197, 164, 106, .3);
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  font-family: Jost, sans-serif;
  color: rgba(244, 239, 230, .9);
  letter-spacing: .06em;
  cursor: pointer;
  transition: .25s;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 2
}.pms-scope .gallery-show-all:hover{
  background: rgba(197, 164, 106, .15);
  border-color: rgba(197, 164, 106, .6);
  color: #c9a84c
}.pms-scope .listing-layout{
  max-width: 1200px;
  margin: 36px auto 0;
  padding: 0 24px 80px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items: start
}.pms-scope .listing-main{
  min-width: 0
}.pms-scope .property-title{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  color: var(--dark);
  line-height: 1.15;
  margin-bottom: 10px;
  letter-spacing: -.01em
}.pms-scope .meta-item, .pms-scope .property-location{
  display: flex;
  font-family: Jost, sans-serif
}.pms-scope .property-location{
  align-items: center;
  gap: 6px;
  color: var(--border);
  font-size: .78rem;
  margin-bottom: 18px;
  letter-spacing: .04em
}.pms-scope .property-location svg{
  flex-shrink: 0
}.pms-scope .property-meta{
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid rgba(197, 164, 106, .13);
  border-bottom: 1px solid rgba(197, 164, 106, .13);
  margin-bottom: 36px;
  flex-wrap: wrap
}.pms-scope .meta-item{
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  color: var(--gold)
}.pms-scope .cal-header h4, .pms-scope .section-title{
  font-family: 'Cormorant Garamond', serif
}.pms-scope .meta-item strong{
  color: var(--bg-dark);
  font-weight: 500
}.pms-scope .section-divider{
  border: none;
  border-top: 1px solid rgba(197, 164, 106, .12);
  margin: 44px 0
}.pms-scope .section-title{
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--dark2);
  margin-bottom: 16px;
  letter-spacing: -.01em
}.pms-scope .amenity-item, .pms-scope .availability-legend, .pms-scope .btn-outline, .pms-scope .btn-show-more, .pms-scope .cal-day, .pms-scope .cal-day-name, .pms-scope .overview-text, .pms-scope .video-label{
  font-family: Jost, sans-serif
}.pms-scope .overview-text{
  font-size: .875rem;
  font-weight: 300;
  color: var(--bg-dark);
  line-height: 1.85;
  margin-bottom: 14px
}.pms-scope .overview-text.collapsed{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}.pms-scope .btn-show-more{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gold, #c9a84c);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 10px 21px;
  transition: border-color .2s;
  background: var(--gold);
  border: none;
  color: var(--cream);
  border-radius: 9999px
}.pms-scope .btn-show-more:hover{
  border-bottom-color: var(--gold, #c9a84c)
}.pms-scope .amenities-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
  margin-bottom: 22px
}.pms-scope .amenity-item{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  font-weight: 300;
  color: var(--dark)
}.pms-scope .amenity-icon{
  width: 18px;
  height: 18px;
  color: var(--gold, #c9a84c);
  flex-shrink: 0
}.pms-scope .btn-outline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--gold);
  border-radius: 8px;
  padding: 10px 20px;
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: var(--gold);
  background: rgba(197, 164, 106, .04);
  transition: .25s
}.pms-scope .btn-outline:hover{
  border-color: rgba(197, 164, 106, .65);
  color: var(--gold, #c9a84c);
  background: rgba(197, 164, 106, .08)
}.pms-scope .videos-scroll{
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(197, 164, 106, 0.2) transparent
}.pms-scope .videos-scroll::-webkit-scrollbar{
  height: 3px
}.pms-scope .videos-scroll::-webkit-scrollbar-track{
  background: 0 0
}.pms-scope .videos-scroll::-webkit-scrollbar-thumb{
  background: rgba(197, 164, 106, .25);
  border-radius: 2px
}.pms-scope .video-thumb{
  flex: 0 0 220px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  background: var(--mid, #2a1f14);
  border: 1px solid rgba(197, 164, 106, .1);
  transition: border-color .3s
}.pms-scope .cal-header, .pms-scope .scroll-btn{
  display: flex;
  align-items: center
}.pms-scope .video-thumb:hover{
  border-color: rgba(197, 164, 106, .4)
}.pms-scope .video-thumb:hover .play-btn-inner{
  transform: scale(1.12);
  background: rgba(197, 164, 106, .28)
}.pms-scope .play-btn-inner svg{
  color: var(--gold, #c9a84c);
  margin-left: 3px
}.pms-scope .video-label{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 8px 10px;
  background: linear-gradient(transparent, rgba(10, 7, 4, .8));
  font-size: .7rem;
  letter-spacing: .04em;
  color: rgba(244, 239, 230, .85)
}.pms-scope .scroll-controls{
  display: flex;
  gap: 8px;
  margin-top: 12px
}.pms-scope .scroll-btn{
  border: 1px solid var(--gold);
  justify-content: center;
  color: var(--gold)
}.pms-scope .cal-nav button:hover, .pms-scope .scroll-btn:hover{
  border-color: var(--gold, #c9a84c);
  color: var(--gold, #c9a84c)
}.pms-scope .calendars-wrap{
  display: flex;
  gap: 32px;
  flex-wrap: wrap
}.pms-scope .calendar-month{
  flex: 1;
  min-width: 200px
}.pms-scope .cal-header{
  justify-content: space-between;
  margin-bottom: 14px
}.pms-scope .cal-day, .pms-scope .cal-nav button{
  display: flex;
  align-items: center
}.pms-scope .cal-header h4{
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: .02em
}.pms-scope .cal-nav{
  display: flex;
  gap: 8px
}.pms-scope .cal-nav button{
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgb(0 0 0);
  color: rgb(26 23 19);
  justify-content: center;
  font-size: 12px;
  transition: .2s;
  background: 0 0
}.pms-scope .cal-day, .pms-scope .cal-day-name, .pms-scope .legend-dot{
  border-radius: 50%
}.pms-scope .date-field label, .pms-scope .guests-field label{
  display: block;
  letter-spacing: .1em;
  text-transform: uppercase
}.pms-scope .cal-grid{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  text-align: center
}.pms-scope .cal-day-name{
  font-size: .6rem;
  font-weight: 800;
  color: var(--cream);
  text-transform: uppercase;
  letter-spacing: .08em;
  background: var(--bar-bg);
  width: 35px;
  height: 35px;
  line-height: 35px
}.pms-scope .cal-day{
  aspect-ratio: 1;
  justify-content: center;
  font-size: .78rem;
  cursor: pointer;
  transition: .15s;
  color: rgb(88 88 88 / 75%)
}.pms-scope .legend-item, .pms-scope .reviews-header{
  display: flex;
  align-items: center
}.pms-scope .cal-day:hover:not(.unavailable):not(.empty){
  background: rgba(197, 164, 106, .15);
  color: var(--gold, #c9a84c)
}.pms-scope .cal-day.today{
  font-weight: 600;
  color: var(--gold, #c9a84c);
  outline: rgba(197, 164, 106, .4) solid 1px
}.pms-scope .cal-day.unavailable{
  color: rgb(0 0 0);
  cursor: not-allowed;
  text-decoration: line-through
}.pms-scope .cal-day.selected{
  background: var(--gold, #c9a84c);
  color: #0e0a06;
  font-weight: 600
}.pms-scope .cal-day.in-range{
  background: rgba(197, 164, 106, .15);
  border-radius: 0
}.pms-scope .cal-day.selected-start{
  border-radius: 50% 0 0 50%
}.pms-scope .cal-day.selected-end{
  border-radius: 0 50% 50% 0
}.pms-scope .cal-day.empty{
  cursor: default
}.pms-scope .availability-legend{
  display: flex;
  gap: 20px;
  margin-top: 16px;
  font-size: .72rem;
  color: var(--dark)
}.pms-scope .rating-number, .pms-scope .reviewer-avatar{
  font-family: 'Cormorant Garamond', serif
}.pms-scope .legend-item{
  gap: 7px
}.pms-scope .legend-dot{
  width: 10px;
  height: 10px
}.pms-scope .legend-dot.available{
  background: var(--gold, #c9a84c)
}.pms-scope .legend-dot.unavailable{
  background: rgb(14 14 14 / 15%)
}.pms-scope .reviews-header{
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap
}.pms-scope .rating-badge, .pms-scope .review-top{
  display: flex;
  align-items: center
}.pms-scope .rating-badge{
  gap: 4px
}.pms-scope .rating-badge .stars{
  display: flex;
  gap: 2px
}.pms-scope .star-icon{
  color: var(--gold, #c9a84c);
  font-size: 14px
}.pms-scope .rating-number{
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--dark)
}.pms-scope .reviews-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px
}.pms-scope .review-card{
  border: 1px solid rgba(197, 164, 106, .12);
  border-radius: 12px;
  padding: 20px;
  background: rgb(175 175 175 / 78%);
  backdrop-filter: blur(6px);
  transition: border-color .3s, box-shadow .3s
}.pms-scope .review-card:hover{
  border-color: rgba(197, 164, 106, .3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .35)
}.pms-scope .review-top{
  gap: 12px;
  margin-bottom: 12px
}.pms-scope .review-meta, .pms-scope .reviewer-avatar{
  align-items: center;
  display: flex
}.pms-scope .reviewer-avatar{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  justify-content: center;
  font-weight: 600;
  font-size: 15px;
  color: #f4efe6;
  flex-shrink: 0
}.pms-scope .review-meta, .pms-scope .review-text, .pms-scope .reviewer-name{
  font-family: Jost, sans-serif
}.pms-scope .reviewer-info{
  flex: 1;
  min-width: 0
}.pms-scope .reviewer-name{
  font-weight: 500;
  font-size: .85rem;
  color: rgba(244, 239, 230, .9);
  margin: 0
}.pms-scope .review-meta{
  font-size: .68rem;
  color: var(--bg-dark);
  gap: 6px;
  margin-top: 2px
}.pms-scope .review-stars{
  display: flex;
  gap: 1px
}.pms-scope .review-star{
  color: var(--gold, #c9a84c);
  font-size: 10px
}.pms-scope .review-text{
  font-size: .82rem;
  font-weight: 300;
  color: var(--dark);
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}.pms-scope .attraction-name, .pms-scope .experiences-header .section-title{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: #474329
}.pms-scope .av-1{
  background: linear-gradient(135deg, #b8956a, #8b6540)
}.pms-scope .av-2{
  background: linear-gradient(135deg, #c4a882, #9a7a52)
}.pms-scope .av-3{
  background: linear-gradient(135deg, #7a8a7a, #556055)
}.pms-scope .av-4{
  background: linear-gradient(135deg, #8a7a6a, #605040)
}.pms-scope .map-container{
  border-radius: 12px;
  height: 450px
}.pms-scope .map-container iframe{
  width: 100%;
  height: 100%;
  border: none
}.pms-scope #experiences{
  max-width: 1400px;
  margin: 0 auto
}.pms-scope .experiences-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  padding: 0 20px
}.pms-scope .experiences-header .section-title{
  font-weight: 400;
  margin: 0
}.pms-scope .attractions-scroll{
  display: flex;
  gap: 24px;
  overflow-x: auto;
  padding: 10px 0 40px;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none
}.pms-scope .attractions-scroll::-webkit-scrollbar{
  display: none
}.pms-scope .attraction-card{
  flex: 0 0 calc((100% - 48px)/ 3);
  border-radius: 16px;
  overflow: hidden;
  background: #fdfaf7;
  border: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .04);
  transition: transform .3s, box-shadow .3s;
  cursor: pointer
}.pms-scope .attraction-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .08)
}.pms-scope .attraction-img{
  height: 230px;
  width: 100%;
  overflow: hidden;
  padding: 12px 12px 0
}.pms-scope .attraction-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  transition: transform .5s
}.pms-scope .attraction-info{
  padding: 24px 20px
}.pms-scope .attraction-name{
  font-weight: 600;
  margin-bottom: 12px
}.pms-scope .attraction-desc{
  font-family: Jost, sans-serif;
  font-size: .9rem;
  font-weight: 400;
  color: #666;
  line-height: 1.6;
  opacity: .85
}.pms-scope .scroll-controls{
  display: flex;
  gap: 12px
}.pms-scope .scroll-btn{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d4c4a8;
  background: #fff;
  color: #474329;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .3s;
  font-size: 1.2rem
}.pms-scope .scroll-btn:hover{
  background: #474329;
  border-color: #474329;
  color: #fff
}.pms-scope .booking-sidebar{
  position: sticky;
  top: calc(72px + 16px)
}.pms-scope .booking-card{
  border: 1px solid rgba(197, 164, 106, .2);
  border-radius: 16px;
  padding: 28px;
  background: var(--cream);
  backdrop-filter: blur(18px);
  box-shadow: rgba(14, 30, 37, .12) 0 2px 4px 0, rgba(14, 30, 37, .32) 0 2px 16px 0
}.pms-scope .booking-price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 22px
}.pms-scope .price-amount{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--bar-bg)
}.pms-scope .date-field label, .pms-scope .price-period{
  font-family: Jost, sans-serif;
  font-size: .78rem
}.pms-scope .price-period{
  font-weight: 300;
  color: rgba(244, 239, 230, .45)
}.pms-scope .date-picker{
  border: 1px solid rgba(197, 164, 106, .2);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px
}.pms-scope .guests-field, .pms-scope .price-row.total{
  border-top: 1px solid rgba(197, 164, 106, .15)
}.pms-scope .date-picker-row{
  display: grid;
  grid-template-columns: 1fr 1fr
}.pms-scope .date-field{
  padding: 12px 3px;
  cursor: pointer;
  transition: background .15s;
  position: relative
}.pms-scope .date-field:first-child{
  border-right: 1px solid rgba(197, 164, 106, .15)
}.pms-scope .date-field:hover{
  background: rgba(197, 164, 106, .06)
}.pms-scope .date-field label{
  font-weight: 600;
  color: var(--bg-dark);
  cursor: pointer;
  padding-left: 10px
}.pms-scope .date-field input, .pms-scope .guests-field .guests-val{
  font-size: .85rem;
  font-family: Jost, sans-serif
}.pms-scope .date-field input{
  width: 100%;
  border: none;
  outline: 0;
  color: var(--bar-bg);
  background: 0 0;
  cursor: pointer;
  color-scheme: dark
}.pms-scope .guests-field{
  padding: 12px 14px;
  cursor: pointer
}.pms-scope .guests-field label{
  font-family: Jost, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  color: var(--bg-dark);
  margin-bottom: 4px
}.pms-scope .guests-field .guests-val{
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(244, 239, 230, .82)
}.pms-scope .guests-field svg{
  color: rgba(244, 239, 230, .35)
}.pms-scope .btn-book{
  width: 100%;
  background: var(--gold, #c9a84c);
  color: #0e0a06;
  border-radius: 10px;
  padding: 14px;
  font-family: Jost, sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .25s, transform .2s, box-shadow .25s;
  position: relative;
  overflow: hidden
}.pms-scope .btn-book:hover{
  background: #d4b87e;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(197, 164, 106, .35)
}.pms-scope .btn-book:active{
  transform: translateY(0)
}.pms-scope .booking-note{
  text-align: center;
  font-family: Jost, sans-serif;
  font-size: .75rem;
  font-weight: 400;
  color: #717171;
  margin-top: 10px;
  letter-spacing: .04em
}.pms-scope .price-breakdown{
  border-top: 1px solid rgba(197, 164, 106, .12);
  margin-top: 18px;
  padding-top: 14px
}.pms-scope .price-row{
  display: flex;
  justify-content: space-between;
  font-family: Jost, sans-serif;
  font-size: .8rem;
  color: rgba(244, 239, 230, .5);
  padding: 5px 0
}.pms-scope .price-row.total{
  margin-top: 8px;
  padding-top: 12px;
  font-weight: 600;
  color: #f4efe6;
  font-size: .88rem
}.pms-scope .lightbox-overlay{
  inset: 0;
  position: fixed;
  inset: 0;
  background: rgba(10, 8, 6, .97);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s
}.pms-scope .lightbox-img-wrap, .pms-scope .lightbox-inner{
  position: relative;
  display: flex;
  width: 100%
}.pms-scope .lightbox-inner{
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 80px 40px
}.pms-scope .lightbox-img-wrap{
  max-width: 1100px;
  max-height: 75vh;
  align-items: center;
  justify-content: center
}.pms-scope .lightbox-img-wrap img{
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 8px;
  transform: scale(.95);
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1)
}.pms-scope .lightbox-overlay.active .lightbox-img-wrap img{
  transform: scale(1)
}.pms-scope .lightbox-counter{
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  font-family: Jost, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .45)
}.pms-scope .lightbox-thumbnails{
  display: flex;
  gap: 8px;
  margin-top: 20px;
  overflow-x: auto;
  max-width: 700px;
  padding: 4px 0 8px
}.pms-scope .lightbox-thumb{
  flex: 0 0 72px;
  height: 52px;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: .55;
  transition: opacity .2s, border-color .2s
}.pms-scope .lightbox-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover
}.pms-scope .lightbox-thumb.active{
  border-color: var(--gold, #c9a84c);
  opacity: 1
}

@media (max-width:1024px) {.pms-scope .listing-layout{
    grid-template-columns: 1fr;
    gap: 0
  }.pms-scope .booking-sidebar{
    position: static;
    order: -1;
    margin-bottom: 36px
  }.pms-scope .gallery-grid{
    grid-template-rows: 200px 200px
  }
}

@media (max-width:768px) {.pms-scope .attraction-card{
    flex: 0 0 85%
  }.pms-scope .experiences-header .section-title{
    font-size: 2rem
  }.pms-scope .amenities-grid, .pms-scope .gallery-grid, .pms-scope .reviews-grid{
    grid-template-columns: 1fr
  }.pms-scope .gallery-section{
    padding: calc(72px + 12px) 16px 0
  }.pms-scope .gallery-grid{
    grid-template-rows: 260px
  }.pms-scope .gallery-grid .gallery-main{
    grid-row: 1
  }.pms-scope .gallery-right{
    display: none
  }.pms-scope .listing-layout{
    padding: 0 16px 60px;
    margin-top: 20px
  }.pms-scope .property-title{
    font-size: 1.7rem
  }.pms-scope .property-meta{
    gap: 14px
  }.pms-scope .booking-card{
    padding: 20px
  }.pms-scope .calendars-wrap{
    flex-direction: column;
    gap: 24px
  }.pms-scope .lightbox-inner{
    padding: 60px 16px 24px
  }
}

@media (max-width:480px) {.pms-scope .breadcrumb a{
    padding: 10px 18px;
    font-size: 13px
  }.pms-scope .section-title h2{
    font-size: 24px
  }.pms-scope .gallery-grid{
    grid-template-rows: 220px
  }.pms-scope .property-meta{
    gap: 10px
  }.pms-scope .meta-item{
    font-size: .75rem
  }.pms-scope .date-picker-row{
    grid-template-columns: 1fr
  }.pms-scope .date-field:first-child{
    border-right: none;
    border-bottom: 1px solid rgba(197, 164, 106, .15)
  }.pms-scope .lightbox-thumbnails{
    display: none
  }
}.pms-scope .visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}.pms-scope .amenities-side-panel-overlay, .pms-scope .reviews-side-panel-overlay{
  position: fixed;
  inset: 0;
  background: rgba(10, 8, 6, .6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s
}.pms-scope .amenities-side-panel, .pms-scope .reviews-side-panel{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 450px;
  background: var(--cream);
  box-shadow: -10px 0 30px rgba(0, 0, 0, .4);
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  display: flex;
  flex-direction: column;
  padding: 40px 30px;
  overflow-y: auto
}.pms-scope .amenities-side-panel-overlay.active .amenities-side-panel, .pms-scope .reviews-side-panel-overlay.active .reviews-side-panel{
  transform: translateX(0)
}.pms-scope .amenities-panel-header, .pms-scope .reviews-panel-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(201, 168, 76, .2);
  padding-bottom: 15px
}.pms-scope .amenities-panel-header h2, .pms-scope .reviews-panel-header h2{
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  color: var(--bg-dark);
  font-weight: 600
}.pms-scope .btn-close-panel{
  background: 0 0;
  border: none;
  color: var(--gold);
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform .2s
}.pms-scope .btn-close-panel:hover{
  transform: scale(1.1)
}.pms-scope .amenities-panel-content .amenity-item{
  font-size: 1rem;
  padding: 15px 0;
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--bg-dark)
}.pms-scope .amenities-panel-content .amenity-icon{
  width: 24px;
  height: 24px;
  stroke: var(--gold);
  flex-shrink: 0
}.pms-scope .reviews-panel-content .review-card{
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px
}.pms-scope .reviews-panel-content .review-top{
  display: flex;
  gap: 15px;
  margin-bottom: 15px
}.pms-scope .reviews-panel-content .reviewer-avatar{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-family: Jost, sans-serif
}.pms-scope .reviews-panel-content .reviewer-name{
  font-weight: 600;
  color: var(--bg-dark);
  margin-bottom: 5px
}.pms-scope .reviews-panel-content .review-meta{
  font-size: .75rem;
  color: var(--bg-dark)
}.pms-scope .reviews-panel-content .review-stars{
  color: var(--gold);
  margin-bottom: 4px;
  font-size: .8rem
}.pms-scope .reviews-panel-content .review-text{
  font-size: .85rem;
  line-height: 1.6;
  color: var(--bg-dark);
  font-weight: 400
}
@media (min-width: 992px) {.pms-scope .reviews-grid{
    gap: 32px 40px;
    margin-bottom: 40px
  }.pms-scope .review-card{
    width: 100%;
    max-width: 100%;
    padding: 24px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
  }
}.pms-scope /* ==== scoped from css/style.css ==== */
:root{
  --gold: #c9a84c;
  --gold-light: #d4bc74;
  --gold-dark: #a68a3d;
  --dark: #0e0a06;
  --dark2: #1c1208;
  --cream: #f9f7f2;
  --sand: #e5dada;
  --bar-bg: #330505;

  /* ── Legacy theme variables (used by get-quote.css, property pages) ── */
  --primary-color:   #330505;
  --secondary-color: #717171;
  --heading-color:   #1c1208;
  --black-color:     #000000;
  --white-color:     #ffffff;
  --btn-color:       #c9a84c;
  --lt-bg-color:     #f9f7f2;
  --primary-font:    'Cardo', Georgia, serif;

  /* Font sizes */
  --f12: 12px;  --f13: 13px;  --f14: 14px;  --f16: 16px;
  --f17: 17px;  --f18: 18px;  --f19: 19px;  --f20: 20px;
  --f22: 22px;  --f23: 23px;  --f24: 24px;  --f25: 25px;
  --f26: 26px;  --f28: 28px;

  /* Padding */
  --p0: 0px;   --p5: 5px;   --p8: 8px;   --p10: 10px;
  --p12: 12px; --p14: 14px; --p15: 15px; --p16: 16px;
  --p20: 20px; --p24: 24px; --p25: 25px; --p30: 30px;
  --p40: 40px;

  /* Margin */
  --m0: 0px;   --m5: 5px;   --m8: 8px;   --m10: 10px;
  --m14: 14px; --m15: 15px; --m16: 16px; --m20: 20px;
  --m24: 24px; --m25: 25px; --m30: 30px; --m40: 40px;
}.pms-scope /* Hero Section Styles */
.property-hero{
  background-size: cover;
  background-position: center;
  height: 70vh;
  /* Increased height for impact */
  min-height: 450px;
  position: relative;
}.pms-scope .hero-overlay{
  background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.2) 50%, rgba(0, 0, 0, 0.4) 100%);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 60px 80px;
}.pms-scope .hero-content{
  text-align: left;
  color: #fff;
  max-width: 800px;
}.pms-scope .hero-content h1{
  font-family: Montserrat, sans-serif;
  /* Matching the villa font */
  font-size: clamp(3rem, 6vw, 5rem);
  font-weight: 800;
  line-height: 1.1;
  margin-bottom: 15px;
  letter-spacing: -0.02em;
}.pms-scope .hero-subtitle{
  font-size: clamp(1rem, 2vw, 1.25rem);
  opacity: 0.95;
  color: var(--gold) !important;
  /* Gold subtitle from screenshot */
  font-weight: 400;
  letter-spacing: 0.02em;
}

@media (max-width: 768px) {.pms-scope .property-hero{
    height: 60vh;
  }.pms-scope .hero-overlay{
    padding: 40px 24px;
  }.pms-scope .hero-content h1{
    font-size: 3rem;
  }
}.pms-scope /* Section Header Styles */
.moments-header{
  /* display: flex; */
  justify-content: space-between;
  align-items: flex-end;
  border-bottom: 1px solid rgba(201, 168, 76, 0.2) !important;
  padding-bottom: 20px;
  margin-bottom: 60px;
}.pms-scope .moments-header.text-center{
  display: block;
  text-align: center;
}.pms-scope .moments-sub{
  color: var(--gold) !important;
  font-size: 1.1rem;
}.pms-scope .atr-detail-section{
  background: var(--cream);
  padding: 100px 0;
}.pms-scope, .pms-scope{
  overflow-x: clip
}.pms-scope .nav-brand, .pms-scope .nav-brand span{
  font-weight: 600;
  color: #fff
}.pms-scope .link-gold:hover, .pms-scope .nav-brand, .pms-scope .nav-links a:hover{
  color: #fff
}.pms-scope .btn-nav-book, .pms-scope .nav-links a, .pms-scope .vb-eyebrow{
  text-transform: uppercase
}.pms-scope .btn-gold, .pms-scope .btn-nav-book, .pms-scope .g-item, .pms-scope .g-tab, .pms-scope .vb-mute-btn{
  cursor: pointer
}.pms-scope .g-item img, .pms-scope .vb-video{
  object-fit: cover;
  height: 100%
}.pms-scope .btn-gold, .pms-scope .btn-maps, .pms-scope .btn-nav-book, .pms-scope .contact-links a, .pms-scope .link-gold, .pms-scope .nav-brand, .pms-scope .nav-links a, .pms-scope .vb-btn-primary, .pms-scope a{
  text-decoration: none
}.pms-scope .attr::after, .pms-scope .contact-section::before, .pms-scope .modal-dialog, .pms-scope .vb-loader.vb-hidden, .pms-scope body::before{
  pointer-events: none
}.pms-scope, .pms-scope ::after, .pms-scope ::before{
  box-sizing: border-box;
  margin: 0;
  padding: 0
}.pms-scope{
  scroll-behavior: smooth
}.pms-scope{
  color: var(--text-white);
  background-color: var(--bg-dark);
  color: var(--text-main);
  font-family: var(--font-body);
  line-height: 1.6;
  margin: 0;
  font-family: Poppins, sans-serif;
  background: #f5f5f5;
  color: #333
}.pms-scope body::before{
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: .032;
  z-index: 9997
}.pms-scope #mainNav, .pms-scope .nav-brand{
  display: flex;
  align-items: center
}.pms-scope .nav-brand img{
  max-height: 45px;
  width: auto
}.pms-scope .nav-brand span{
  font-size: 18px;
  letter-spacing: 1px
}.pms-scope #mainNav{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 20px 48px;
  justify-content: space-between;
  transition: background .5s, padding .4s
}.pms-scope #mainNav.scrolled{
  background: rgba(14, 10, 6, .95);
  padding: 14px 48px;
  border-bottom: 1px solid rgba(201, 168, 76, .12)
}.pms-scope .nav-brand{
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  letter-spacing: .04em;
  gap: 10px
}.pms-scope .btn-nav-book, .pms-scope .nav-brand-mark{
  font-size: .7rem;
  font-weight: 500
}.pms-scope .nav-brand-mark, .pms-scope .nav-links{
  align-items: center;
  display: flex
}.pms-scope .nav-brand-mark{
  width: 28px;
  height: 28px;
  border: 1.5px solid var(--gold);
  border-radius: 50%;
  justify-content: center;
  color: var(--gold);
  letter-spacing: .05em;
  font-family: Jost, sans-serif
}.pms-scope .nav-links{
  gap: 36px;
  list-style: none
}.pms-scope .nav-links a{
    text-shadow: 1px 1px 2px #000000de;
    font-weight: 700;
    font-size: .72rem;
    letter-spacing: .22em;
    color: rgb(255 254 252);
    transition: color .25s;
    position: relative;
}.pms-scope .nav-links a::after{
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s
}.pms-scope .nav-links a:hover::after{
  transform: scaleX(1)
}.pms-scope .btn-nav-book{
  font-family: Jost, sans-serif;
  letter-spacing: .2em;
  color: var(--dark);
  background: var(--gold);
  border: none;
  border-radius: 2px;
  padding: 10px 24px;
  transition: background .25s, transform .25s
}.pms-scope .btn-avail:hover, .pms-scope .btn-nav-book:hover{
  background: var(--gold-light);
  transform: translateY(-1px)
}.pms-scope .video-banner-section{
  overflow: visible !important;
  width: 100%;
  height: 100vh;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .acc-body, .pms-scope .booking-inputs, .pms-scope .contact-section, .pms-scope .g-item, .pms-scope .hero-gallery, .pms-scope .marquee-band, .pms-scope .panel, .pms-scope .review-panel, .pms-scope .rl-carousel, .pms-scope .upper-gallery .box{
  overflow: hidden
}.pms-scope .vb-video-wrap{
  position: absolute;
  inset: 0;
  z-index: 0
}.pms-scope .vb-video{
  width: 100%;
  object-position: center;
  opacity: 0;
  transition: opacity 1.4s
}.pms-scope .attr:hover::after, .pms-scope .vb-video.vb-loaded{
  opacity: 1
}.pms-scope .vb-overlay{
  position: absolute;
  inset: 0;
  /**background: linear-gradient(to bottom, rgba(14, 10, 6, .6) 0, rgba(14, 10, 6, .18) 40%, rgba(14, 10, 6, .7) 100%), linear-gradient(135deg, rgba(201, 168, 76, .08) 0, transparent 60%) */
}.pms-scope .vb-content{
  position: relative;
  z-index: 2;
  text-align: center;
  padding: 0 24px;
  max-width: 900px
}.pms-scope .vb-eyebrow{
  font-size: .65rem;
  letter-spacing: .32em;
  color: var(--gold);
  font-weight: 500;
  margin-bottom: 24px;
  opacity: 0;
  animation: 1s .4s forwards fadeUp
}.pms-scope .vb-title{
  font-family: Montserrat, sans-serif;
  font-size: clamp(4rem, 10vw, 7.5rem);
  font-weight: 900;
  color: #fff;
  line-height: .95;
  margin-bottom: 28px;
  letter-spacing: -.01em;
  opacity: 0;
  animation: 1.2s .6s forwards fadeUp
}.pms-scope .vb-title em{
  font-style: italic;
  color: var(--gold)
}.pms-scope .vb-sub{
  text-shadow: 1px 1px 2px #000000de;
  font-size: clamp(.85rem, 1.8vw, 1rem);
  color: #fff;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: .04em;
  margin-bottom: 44px;
  opacity: 0;
  animation: 1.2s .8s forwards fadeUp
}.pms-scope .vb-btn-primary, .pms-scope .vb-mute-btn{
  font-family: Jost, sans-serif;
  font-size: .72rem;
  text-transform: uppercase
}.pms-scope .vb-actions{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  opacity: 0;
  animation: 1.2s 1s forwards fadeUp
}.pms-scope .vb-btn-primary{
  display: inline-block;
  background: var(--gold);
  color: var(--dark);
  font-weight: 500;
  letter-spacing: .2em;
  padding: 16px 40px;
  border-radius: 2px;
  transition: background .25s, transform .25s, box-shadow .25s;
  box-shadow: 0 4px 28px rgba(201, 168, 76, .35)
}.pms-scope .vb-btn-primary:hover{
  background: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 10px 40px rgba(201, 168, 76, .5)
}.pms-scope .vb-mute-btn{
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .22);
  color: #fff;
  letter-spacing: .16em;
  padding: 14px 26px;
  border-radius: 2px;
  backdrop-filter: blur(10px);
  transition: background .25s, border-color .25s
}.pms-scope .vb-loader, .pms-scope .vb-scroll-hint{
  position: absolute;
  display: flex
}.pms-scope .vb-mute-btn:hover{
  background: rgba(255, 255, 255, .15);
  border-color: rgba(255, 255, 255, .4)
}.pms-scope .vb-scroll-hint{
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: 0;
  animation: 1s 1.6s forwards fadeIn
}.pms-scope .panel, .pms-scope .vb-loader{
  align-items: center
}.pms-scope .vb-scroll-hint span{
  font-size: .58rem;
  letter-spacing: .28em;
  color: rgba(255, 255, 255, .38);
  text-transform: uppercase
}.pms-scope .vb-scroll-line{
  width: 1px;
  height: 52px;
  background: linear-gradient(to bottom, rgba(201, 168, 76, .7), transparent);
  animation: 2.4s ease-in-out infinite scrollPulse
}.pms-scope .booking-input option, .pms-scope .vb-loader{
  background: var(--dark)
}

@keyframes scrollPulse {

  0%,
  100% {
    opacity: .4;
    transform: scaleY(1)
  }

  50% {
    opacity: 1;
    transform: scaleY(1.2)
  }
}.pms-scope .vb-loader{
  inset: 0;
  z-index: 5;
  justify-content: center;
  transition: opacity 1.2s
}.pms-scope .vb-loader.vb-hidden{
  opacity: 0
}.pms-scope .vb-spinner{
  width: 48px;
  height: 48px;
  border: 2px solid rgba(201, 168, 76, .18);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: .9s linear infinite spin
}

@keyframes spin {
  to {
    transform: rotate(360deg)
  }
}.pms-scope .marquee-band{
  background: var(--gold);
  padding: 14px 0;
  white-space: nowrap
}.pms-scope .marquee-inner{
  display: inline-flex;
  gap: 0;
  animation: 22s linear infinite marqueeScroll
}.pms-scope .marquee-inner:hover{
  animation-play-state: paused
}.pms-scope .marquee-item{
  font-size: .65rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--dark);
  font-weight: 600;
  padding: 0 40px
}.pms-scope .marquee-sep{
  color: var(--dark);
  opacity: .45
}

@keyframes marqueeScroll {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(-50%)
  }
}.pms-scope .panel{
  position: relative;
  height: 100vh;
  min-height: 640px;
  display: flex
}.pms-scope .panel-bg, .pms-scope .panel-overlay{
  position: absolute;
  inset: 0
}.pms-scope .panel-bg{
  background-size: cover;
  background-position: center;
  background-attachment: fixed
}.pms-scope #stay, .pms-scope .panel-content, .pms-scope .video-banner-section, .pms-scope .view-all-wrapper{
  position: relative
}.pms-scope .panel-overlay.right{
  background: linear-gradient(to left, rgba(14, 10, 6, .82) 0, rgba(14, 10, 6, .28) 60%, transparent 100%)
}.pms-scope .btn-gold:hover, .pms-scope .g-tab.active, .pms-scope .g-tab:hover, .pms-scope .section-num::before{
  background: var(--gold)
}.pms-scope .panel-content{
  z-index: 2;
  padding: 0 80px;
  max-width: 680px
}.pms-scope .panel-content.right-side{
  margin-left: auto;
  padding: 0 80px 0 0
}.pms-scope .section-num{
  font-size: .6rem;
  letter-spacing: .28em;
  color: var(--gold);
  font-weight: 500;
  text-transform: uppercase;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px
}.pms-scope .section-num::before{
  content: '';
  width: 32px;
  height: 1px
}.pms-scope .panel-heading{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 20px;
  letter-spacing: -.01em
}.pms-scope .panel-heading em{
  font-style: normal;
  color: var(--gold)
}.pms-scope .panel-desc{
  font-size: .95rem;
  color: #fff;
  line-height: 1.8;
  font-weight: 300;
  letter-spacing: .02em;
  margin-bottom: 32px
}.pms-scope #stay .top-main-heading{
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  text-align: center;
  width: 90%
}.pms-scope #stay .top-main-heading h1{
  color: #fff;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0
}.pms-scope .feat-pills{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 32px
}.pms-scope .feat-pill{
  background: rgba(255, 255, 255, .06);
  border: 1px solid #fff;
  color: #fff;
  border-radius: 2px;
  padding: 8px 18px;
  font-size: .62rem;
  letter-spacing: .18em;
  font-weight: 500;
  text-transform: uppercase
}.pms-scope .btn-gold, .pms-scope .link-gold{
  color: var(--gold);
  font-size: .68rem;
  text-transform: uppercase
}.pms-scope .link-gold{
  letter-spacing: .2em;
  align-items: center;
  gap: 10px
}.pms-scope .link-gold::after{
  content: '→';
  transition: transform .3s
}.pms-scope .link-gold:hover{
  gap: 16px;
  color: var(--gold-light)
}.pms-scope .btn-gold{
  display: inline-block;
  background: 0 0;
  border: 1px solid var(--gold);
  font-family: Jost, sans-serif;
  font-weight: 500;
  letter-spacing: .22em;
  padding: 14px 36px;
  border-radius: 2px;
  transition: background .3s, color .3s, transform .25s
}.pms-scope .loc-title, .pms-scope .moments-heading, .pms-scope .panel-card .panel-heading{
  font-family: Montserrat, sans-serif
}.pms-scope .btn-gold:hover{
  color: var(--dark);
  transform: translateY(-2px)
}.pms-scope .panel-card{
  position: absolute;
  z-index: 3;
  right: 60px;
  top: 50%;
  transform: translateY(-50%);
  background: rgb(28 18 8 / 50%);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  border: 1px solid rgba(201, 168, 76, .14);
  border-radius: 16px;
  padding: 44px 48px;
  max-width: 460px;
  width: 42%;
  box-shadow: 0 32px 80px rgba(0, 0, 0, .55), 0 0 0 1px rgba(255, 255, 255, .04) inset
}.pms-scope .panel-card .section-num{
  color: var(--gold);
  margin-bottom: 14px;
  font-size: .58rem
}.pms-scope .panel-card .panel-heading{
  font-size: clamp(2rem, 4.8vw, 4rem);
  font-weight: 800;
  line-height: .95
}.pms-scope .panel-card .panel-desc{
  font-size: .88rem;
  margin-bottom: 24px;
  color: #fff
}.pms-scope .panel-card .feat-pills{
  margin-bottom: 24px
}.pms-scope .panel-card .feat-list{
  margin-bottom: 20px
}.pms-scope .panel-card .feat-list li{
  padding: 10px 0;
  font-size: .7rem
}.pms-scope .feat-list{
  list-style: none;
  margin-bottom: 28px
}.pms-scope .feat-list li{
  font-size: .75rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #fff;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .274);
  display: flex;
  align-items: center;
  gap: 14px
}.pms-scope .feat-list li::before{
  content: '—';
  color: var(--gold);
  font-size: .8rem
}.pms-scope .location-section{
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 600px;
  background: var(--dark2)
}.pms-scope .location-map{
  position: relative;
  min-height: 500px
}.pms-scope .location-map iframe{
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: none;
  filter: sepia(.5) contrast(1.1) brightness(.8)
}.pms-scope .location-info{
  padding: 80px 64px;
  background: var(--cream);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-left: 1px solid rgba(201, 168, 76, .12)
}.pms-scope .details-left-eyebrow, .pms-scope .loc-eyebrow{
  font-size: .6rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 18px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 12px
}.pms-scope .details-left-eyebrow::before, .pms-scope .loc-eyebrow::before{
  content: '';
  width: 28px;
  height: 1px;
  background: var(--gold)
}.pms-scope .loc-title{
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 800;
  color: var(--bg-dark);
  line-height: 1.05;
  margin-bottom: 20px
}.pms-scope .loc-desc{
  font-size: .9rem;
  color: rgb(48 47 47 / 52%);
  line-height: 1.8;
  font-weight: 300;
  margin-bottom: 36px
}.pms-scope .loc-stats{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-bottom: 36px;
  border: 1px solid rgb(200 169 78)
}.pms-scope .loc-stat{
  padding: 20px 16px;
  border-right: 1px solid rgb(200 169 79)
}.pms-scope .loc-stat:last-child{
  border-right: none
}.pms-scope .stat-label{
  font-size: .55rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--bg-dark);
  margin-bottom: 8px;
  font-weight: 500
}.pms-scope .stat-val{
  font-size: .85rem;
  color: var(--dark);
  font-weight: 400;
  letter-spacing: .02em
}.pms-scope .btn-maps{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  padding: 14px 28px;
  border-radius: 2px;
  font-weight: 500;
  transition: border-color .3s, color .3s;
  width: fit-content
}.pms-scope .btn-maps:hover{
  border-color: var(--gold);
  color: var(--gold)
}.pms-scope .moments-section{
  background: #fff;
  padding: 100px 64px
}.pms-scope .moments-section .moments-heading{
  color: var(--dark)
}.pms-scope .moments-header{
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid
}.pms-scope .moments-heading{
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 800;
  color: #fff
}.pms-scope .moments-sub{
  font-size: .82rem;
  color: var(--gold-dark);
  font-weight: 300;
  letter-spacing: .04em;
  margin-top: 6px
}.pms-scope .g-label, .pms-scope .g-tab{
  font-weight: 500;
  text-transform: uppercase
}.pms-scope .gallery-tabs{
  display: flex;
  gap: 4px
}.pms-scope .g-tab{
  background: 0 0;
  border: 1px solid var(--gold);
  color: var(--gold);
  font-family: Jost, sans-serif;
  font-size: .62rem;
  letter-spacing: .18em;
  padding: 10px 22px;
  border-radius: 2px;
  transition: .25s
}.pms-scope .g-tab:hover{
  color: var(--cream)
}.pms-scope .g-tab.active{
  border-color: var(--gold);
  color: var(--dark)
}.pms-scope .gallery-grid.filterable{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px
}.pms-scope .g-item{
  position: relative;
  height: 220px
}.pms-scope .g-item img{
  width: 100%;
  transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .5s;
  filter: brightness(.85) saturate(.9)
}.pms-scope .g-item:hover img{
  transform: scale(1.1);
  filter: brightness(1) saturate(1.1)
}.pms-scope .g-label{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(to top, rgba(14, 10, 6, .85), transparent);
  color: #fff;
  font-size: .65rem;
  letter-spacing: .16em;
  padding: 28px 16px 14px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s, transform .35s
}.pms-scope .g-item:hover .g-label, .pms-scope .lightbox.active .lightbox-caption, .pms-scope .reveal.in-view{
  opacity: 1;
  transform: translateY(0)
}.pms-scope .g-item.g-hidden{
  display: none
}.pms-scope .g-item.g-visible{
  animation: .4s both gReveal
}

@keyframes gReveal {
  from {
    opacity: 0;
    transform: scale(.96)
  }

  to {
    opacity: 1;
    transform: scale(1)
  }
}.pms-scope .review-panel{
  position: relative;
  height: 100vh;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .review-bg{
  position: absolute;
  inset: 0;
  background-image: url('https://images.unsplash.com/photo-1555041469-a586c61ea9bc?w=1600&auto=format&fit=crop&q=80');
  background-size: cover;
  background-position: center;
  background-attachment: fixed
}.pms-scope .review-overlay{
  position: absolute;
  inset: 0;
  background: rgba(14, 10, 6, .4)
}.pms-scope .review-container{
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 60px
}.pms-scope .review-inner, .pms-scope .top-main-heading{
  text-align: center;
  padding: 0 40px
}.pms-scope .review-card{
  max-width: 460px;
  width: 42%;
  background: rgba(175, 175, 175, .78)
}.pms-scope .rl-arrow:hover, .pms-scope .rl-avatar, .pms-scope .rl-dot.active{
  background: var(--gold)
}.pms-scope .review-heading{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 800;
  color: #fff;
  margin-bottom: 20px
}.pms-scope .top-main-heading{
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  z-index: 10
}.pms-scope .top-main-heading h1{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  color: #fff;
  font-weight: 400;
  line-height: 1.1;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .3)
}.pms-scope .link-gold{
  display: inline-block;
  margin-top: 22px;
  color: var(--gold);
  font-weight: 500;
  transition: color .3s
}.pms-scope .review-inner{
  position: relative;
  z-index: 2;
  max-width: 720px
}.pms-scope .contact-btns, .pms-scope .contact-links, .pms-scope .contact-sub, .pms-scope .contact-title{
  z-index: 1;
  position: relative
}.pms-scope .review-stars{
  color: var(--gold);
  font-size: 1rem;
  letter-spacing: 6px;
  margin-bottom: 36px
}.pms-scope .review-quote-mark{
  font-family: Montserrat, sans-serif;
  font-size: 8rem;
  line-height: .5;
  color: var(--gold);
  opacity: .25;
  margin-bottom: 16px;
  font-weight: 300
}.pms-scope .review-text{
  font-style: italic;
  margin-bottom: 28px
}.pms-scope .review-author{
  font-size: .65rem;
  letter-spacing: .24em;
  color: var(--gold);
  text-transform: uppercase;
  font-weight: 500
}.pms-scope .review-more{
  margin-top: 36px
}.pms-scope .rl-carousel{
  position: relative
}.pms-scope .rl-track{
  display: flex;
  transition: transform .48s cubic-bezier(.4, 0, .2, 1);
  will-change: transform
}.pms-scope .rl-slide{
  min-width: 100%;
  box-sizing: border-box
}.pms-scope .rl-stars{
  color: #f5c518;
  font-size: .85rem;
  letter-spacing: 3px;
  margin-bottom: 14px
}.pms-scope .rl-author{
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  flex-wrap: wrap
}.pms-scope .rl-avatar{
  width: 36px;
  height: 36px;
  border-radius: 50%;
  color: #fff;
  font-size: .85rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  border: 1.5px solid rgba(255, 255, 255, .18)
}.pms-scope .rl-author-info strong{
  display: block;
  font-size: .8rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.3
}.pms-scope .rl-author-info span{
  font-size: .68rem;
  color: rgba(255, 255, 255, .42)
}.pms-scope .rl-badge{
  margin-left: auto;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  background: rgba(255, 90, 95, .1);
  border: 1px solid rgba(255, 90, 95, .28);
  color: #ff8a8e;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .05em;
  padding: 3px 9px;
  border-radius: 50px
}.pms-scope .rl-controls, .pms-scope .rl-dots{
  display: flex;
  align-items: center
}.pms-scope .rl-controls{
  justify-content: space-between;
  margin-top: 20px
}.pms-scope .rl-dots{
  gap: 6px
}.pms-scope .acc-btn, .pms-scope .rl-arrow{
  display: flex;
  align-items: center;
  cursor: pointer
}.pms-scope .rl-dot{
  width: 7px;
  height: 7px;
  border-radius: 50px;
  background: rgba(255, 255, 255, .2);
  border: none;
  padding: 0;
  cursor: pointer;
  transition: background .25s, width .25s, transform .25s
}.pms-scope .rl-dot.active{
  width: 20px;
  transform: none
}.pms-scope .rl-arrows{
  display: flex;
  gap: 7px
}.pms-scope .rl-arrow{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .18);
  background: 0 0;
  color: rgba(255, 255, 255, .6);
  font-size: .9rem;
  justify-content: center;
  transition: border-color .22s, background .22s, color .22s
}.pms-scope .acc-btn, .pms-scope .activity-list{
  font-size: .88rem;
  letter-spacing: .04em
}.pms-scope .rl-arrow:hover{
  border-color: var(--gold);
  color: #fff
}.pms-scope .activity-list{
  color: #fff;
  line-height: 2;
  font-weight: 300;
  margin-bottom: 6px
}.pms-scope .details-section{
  display: grid;
  grid-template-columns: 380px 1fr;
  gap: 0;
  background: var(--cream);
  padding-bottom: 120px
}.pms-scope .details-left, .pms-scope .details-right{
  padding: 100px 60px 60px
}.pms-scope .details-left{
  border-right: 1px solid rgba(255, 255, 255, .06);
  position: sticky;
  top: 0;
  height: fit-content
}.pms-scope .details-left h2{
  font-family: Montserrat, sans-serif;
  font-size: clamp(2.2rem, 3.5vw, 3.5rem);
  font-weight: 800;
  color: var(--bg-dark);
  margin-bottom: 14px
}.pms-scope .details-left p{
  font-size: .85rem;
  color: var(--dark2);
  line-height: 1.7
}.pms-scope .acc-item{
  border-bottom: 1px solid var(--bar-bg)
}.pms-scope .acc-btn{
  width: 100%;
  background: 0 0;
  border: none;
  color: var(--bar-bg);
  font-family: Jost, sans-serif;
  font-weight: 400;
  padding: 22px 0;
  text-align: left;
  justify-content: space-between;
  transition: color .25s
}.pms-scope .acc-icon, .pms-scope .contact-links a{
  align-items: center;
  display: flex
}.pms-scope .acc-btn.open, .pms-scope .acc-btn:hover, .pms-scope .contact-links a:hover{
  color: var(--gold)
}.pms-scope .acc-icon{
  width: 22px;
  height: 22px;
  border: 1px solid var(--bar-bg);
  border-radius: 50%;
  justify-content: center;
  font-size: .9rem;
  transition: transform .35s, border-color .25s;
  flex-shrink: 0
}.pms-scope .acc-btn.open .acc-icon{
  transform: rotate(45deg);
  border-color: var(--gold);
  color: var(--gold)
}.pms-scope .acc-body{
  max-height: 0;
  transition: max-height .45s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .acc-body-inner{
  font-size: .85rem;
  color: var(--mid);
  line-height: 1.8;
  padding: 0 0 22px;
  font-weight: 300
}.pms-scope .contact-section{
  background: url(../img/footer.webp) center/cover no-repeat fixed;
  border-top: 1px solid rgba(58, 48, 20, .678);
  text-align: center;
  padding: 120px 40px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative
}.pms-scope .contact-section::after{
  content: "";
  position: absolute;
  inset: 0px;
  background: rgba(61, 50, 18, .87)
}.pms-scope .contact-section::before{
  content: "Mágica";
  position: absolute;
  font-family: Montserrat, sans-serif;
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 300;
  font-style: italic;
  color: rgba(201, 168, 76, .04);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  letter-spacing: -.02em;
  white-space: nowrap
}.pms-scope .contact-eyebrow{
  font-size: .62rem;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 22px;
  font-weight: 500
}.pms-scope .booking-label, .pms-scope .contact-links a{
  letter-spacing: .2em;
  text-transform: uppercase
}.pms-scope .contact-title{
  font-family: Montserrat, sans-serif;
  font-size: clamp(3rem, 7vw, 6rem);
  font-weight: 800;
  color: #fff;
  line-height: 1.05;
  margin-bottom: 20px
}.pms-scope .booking-input, .pms-scope .btn-avail{
  font-family: Jost, sans-serif
}.pms-scope .contact-sub{
  font-size: .88rem;
  color: rgba(255, 255, 255, .45);
  max-width: 440px;
  line-height: 1.8;
  margin-bottom: 44px
}.pms-scope .contact-btns{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 60px
}.pms-scope .contact-links{
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: center
}.pms-scope .contact-links a{
  font-size: .62rem;
  color: rgba(255, 255, 255, .35);
  gap: 8px;
  font-weight: 500;
  transition: color .25s
}.pms-scope .contact-divider{
  width: 1px;
  height: 60px;
  background: rgba(201, 168, 76, .2);
  margin: 60px auto
}.pms-scope #bannerBookingBar{
  position: absolute;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 95% !important;
  max-width: 900px !important;
  z-index: 2147483647 !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important
}.pms-scope .video-banner-section::after{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 200px;
  background: linear-gradient(to top, rgba(14, 10, 6, .88) 0, transparent 100%);
  z-index: 9;
  pointer-events: none
}.pms-scope .vb-scroll-hint{
  bottom: 90px
}.pms-scope .booking-bar{
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 2px;
  padding: 12px 8px 12px 28px;
  gap: 0;
  width: 100%;
  max-width: 900px
}.pms-scope .booking-field{
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 0 20px;
  min-width: 0
}.pms-scope .booking-label{
  font-size: .55rem;
  color: var(--sand);
  font-weight: 600;
  margin-bottom: 3px
}.pms-scope .booking-input{
  background: 0 0;
  border: none;
  outline: 0;
  color: #fff;
  font-size: .85rem;
  font-weight: 400;
  cursor: pointer;
  width: 100%
}.pms-scope input[type=date]::-webkit-calendar-picker-indicator{
  filter: invert(1) opacity(.4);
  cursor: pointer
}.pms-scope .booking-divider{
  width: 1px;
  height: 32px;
  background: rgba(255, 255, 255, .12);
  flex-shrink: 0
}.pms-scope .btn-avail{
  background: var(--gold);
  color: var(--dark);
  font-size: .68rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .25s, transform .25s
}.pms-scope .questions-link{
  font-size: .8rem;
  color: rgb(255 255 255 / 67%);
  margin: 8px 0 0 14px
}.pms-scope .questions-link a{
  color: rgba(255, 255, 255, .45);
  text-decoration: underline
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(28px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}.pms-scope .reveal{
  opacity: 0;
  transform: translateY(32px);
  transition: opacity .85s cubic-bezier(.22, 1, .36, 1), transform .85s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .reveal-delay-1{
  transition-delay: 0.1s
}.pms-scope .reveal-delay-2{
  transition-delay: 0.2s
}.pms-scope .reveal-delay-3{
  transition-delay: 0.3s
}.pms-scope .reveal-delay-4{
  transition-delay: 0.4s
}.pms-scope .site-footer{
  background: var(--dark);
  border-top: 1px solid rgba(255, 255, 255, .06);
  padding: 36px 60px;
  display: flex;
  align-items: center;
  justify-content: space-between
}.pms-scope .lightbox-close, .pms-scope .lightbox-next, .pms-scope .lightbox-prev{
  background: #c9a84c;
  cursor: pointer
}.pms-scope .footer-brand{
  font-family: Montserrat, sans-serif;
  font-size: 1.1rem;
  color: rgba(255, 255, 255, .4)
}.pms-scope .footer-copy{
  font-size: .62rem;
  letter-spacing: .1em;
  color: rgba(255, 255, 255, .2)
}

@media (max-width:991px) {.pms-scope .panel-card{
    position: relative;
    right: auto;
    top: 12rem;
    transform: none;
    width: calc(100% - 40px);
    max-width: none;
    margin: 24px 20px 40px;
    padding: 32px 28px
  }.pms-scope .panel.has-card{
    flex-direction: column;
    align-items: flex-start;
    height: auto;
    min-height: 100vh
  }.pms-scope .panel.has-card .panel-content{
    padding-bottom: 0
  }.pms-scope .panel-content, .pms-scope .panel-content.right-side{
    padding: 0 32px
  }.pms-scope .details-section, .pms-scope .loc-stats, .pms-scope .location-section{
    grid-template-columns: 1fr
  }.pms-scope #mainNav{
    padding: 16px 24px
  }.pms-scope .booking-divider, .pms-scope .nav-links{
    display: none
  }.pms-scope .panel-content{
    max-width: 100%
  }.pms-scope .location-map{
    min-height: 320px
  }.pms-scope .details-section{
    padding-bottom: 120px
  }.pms-scope .details-left{
    position: static;
    padding: 60px 32px 30px
  }.pms-scope .details-right{
    padding: 0 32px 60px
  }.pms-scope .moments-section{
    padding: 60px 24px
  }.pms-scope .moments-header{
    flex-direction: column;
    align-items: flex-start;
    gap: 20px
  }.pms-scope .gallery-grid.filterable{
    grid-template-columns: repeat(2, 1fr)
  }.pms-scope #stickyBar{
    padding: 14px 20px 12px
  }.pms-scope .booking-bar{
    flex-wrap: wrap;
    border-radius: 2px;
    padding: 16px;
    gap: 12px
  }.pms-scope .booking-field{
    flex: 1 1 120px
  }.pms-scope .btn-avail{
    width: 100%;
    margin-left: 0;
    margin-top: 4px
  }.pms-scope .site-footer{
    flex-direction: column;
    gap: 12px;
    text-align: center;
    padding: 28px 24px
  }
}

@media (max-width:576px) {.pms-scope .vb-title{
    font-size: 3.2rem
  }.pms-scope .gallery-grid.filterable{
    grid-template-columns: repeat(2, 1fr);
    gap: 2px
  }.pms-scope .contact-section{
    padding: 80px 24px 60px
  }.pms-scope .location-info{
    padding: 48px 28px
  }.pms-scope #stay .top-main-heading{
    top: 0
  }
}.pms-scope .lightbox{
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .4s, visibility .4s;
  backdrop-filter: blur(12px) saturate(1.8);
  -webkit-backdrop-filter: blur(12px) saturate(1.8)
}.pms-scope .amenities-side-panel-overlay.active, .pms-scope .lightbox-overlay.active, .pms-scope .lightbox.active, .pms-scope .reviews-side-panel-overlay.active{
  opacity: 1;
  visibility: visible
}.pms-scope .lightbox-container{
  position: relative;
  display: flex;
  align-items: center;
  gap: 32px;
  width: 90%;
  max-width: 1200px;
  height: 80vh
}.pms-scope .lightbox-content{
  flex: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative
}.pms-scope .lightbox-content img{
  max-width: 100%;
  max-height: calc(100% - 60px);
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 40px 100px rgba(0, 0, 0, .8);
  opacity: 0;
  transform: scale(.95);
  transition: opacity .5s, transform .5s cubic-bezier(.22, 1, .36, 1)
}.pms-scope .gallery-item:hover .overlay-icon, .pms-scope .lightbox.active .lightbox-content img{
  opacity: 1;
  transform: scale(1)
}.pms-scope .lightbox-caption{
  margin-top: 24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.8rem;
  font-weight: 400;
  color: #fff;
  letter-spacing: .05em;
  font-style: italic;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .5s .2s, transform .5s .2s
}.pms-scope .lightbox-close{
  position: absolute;
  top: 40px;
  right: 40px;
  font-size: 2.5rem;
  color: rgba(255, 255, 255, .5);
  transition: color .3s, transform .3s;
  z-index: 10001;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  line-height: 1
}.pms-scope .lightbox-close:hover{
  color: #fff;
  transform: rotate(90deg);
  background: rgba(255, 255, 255, .1)
}.pms-scope .lightbox-next, .pms-scope .lightbox-prev{
  border: 1px solid rgba(255, 255, 255, .1);
  color: #fff;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
  opacity: .5
}.pms-scope .lightbox-next:hover, .pms-scope .lightbox-prev:hover{
  opacity: 1;
  background: var(--gold);
  border-color: var(--gold);
  color: var(--dark);
  transform: scale(1.1)
}.pms-scope .property-detail{
  padding: 60px;
  background: #0e0a06;
  color: #fff
}.pms-scope .property-top{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 16px
}.pms-scope .main-image img{
  width: 100%;
  border-radius: 12px
}.pms-scope .gallery-thumbs, .pms-scope .image-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px
}.pms-scope .image-grid img{
  width: 100%;
  border-radius: 10px
}.pms-scope .property-header h1{
  font-size: 2rem;
  margin-top: 20px
}.pms-scope .location{
  color: #c9a84c
}.pms-scope .property-meta span{
  margin-right: 15px;
  font-size: .9rem
}.pms-scope .property-content{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 40px;
  margin-top: 40px
}.pms-scope .section{
  margin-bottom: 40px
}.pms-scope .amenities span{
  display: inline-block;
  margin: 6px;
  padding: 6px 10px;
  border: 1px solid #c9a84c;
  border-radius: 20px;
  font-size: .8rem
}.pms-scope .booking-card input, .pms-scope .booking-card select{
  width: 100%;
  padding: 8px;
  background: #dbd9d400;
  border: none;
  color: #0e0e0e
}.pms-scope .booking-card select:focus-visible{
  outline: 0;
  border: 1px solid transparent
}.pms-scope .btn-primary{
  width: 100%;
  padding: 10px;
  background: #c9a84c;
  color: #000;
  border: none;
  cursor: pointer
}.pms-scope .review{
  margin-bottom: 20px;
  font-size: .9rem
}.pms-scope .property-hero{
  display: flex;
  align-items: flex-end
}.pms-scope .hero-content h1{
  font-size: 3rem;
  color: #fff;
  margin-bottom: 10px
}.pms-scope .hero-subtitle{
  color: #c9a84c;
  font-size: 1.1rem;
  margin-bottom: 15px
}.pms-scope .hero-subtitle p{
  color: #c9a84c;
  font-size: 1.1rem;
  margin-bottom: 15px
}.pms-scope .hero-meta span{
  margin-right: 15px;
  font-size: .9rem;
  color: #ddd
}.pms-scope{
  --gold: #c9a84c;
  --gold-light: #dfc070;
  --gold-dark: #a07830;
  --dark: #0e0a06;
  --dark2: #1a1208;
  --mid: #2a1f14;
  --sand: #b5a48a;
  --sand-light: #ede5d4;
  --cream: #f7f2e8;
  --text-white: #f5f0e8;
  --bar-bg: rgba(14, 10, 6, 0.94);
  --bg-dark: #0e0a06;
  --card-bg: rgba(28, 18, 8, 0.85);
  --gold: #c9a84c;
  --text-main: #f4f4f4;
  --text-dim: #a19d99;
  --border: rgb(153 122 38);
  --font-heading: 'Cormorant Garamond', serif;
  --font-body: 'Jost', sans-serif
}.pms-scope .property-container{
  max-width: 1120px;
  margin: 100px auto 40px;
  padding: 0 24px
}.pms-scope .prop-header .header-top{
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}.pms-scope .prop-header h1{
  font-family: var(--font-heading);
  font-size: 2rem;
  margin-bottom: 8px
}.pms-scope .header-actions .action-link{
  background: 0 0;
  border: none;
  color: var(--text-main);
  text-decoration: underline;
  margin-left: 15px;
  cursor: pointer;
  font-size: .9rem
}.pms-scope .header-meta{
  font-weight: 500;
  font-size: .95rem;
  margin-bottom: 20px
}.pms-scope .property-hero{
  height: 80vh;
  background: url('../img/common-banner.webp') center/cover no-repeat;
  position: relative;
  display: flex;
  align-items: flex-end
}.pms-scope .hero-overlay{
  width: 100%;
  padding: 60px
}.pms-scope .hero-gallery{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 10px;
  height: 450px;
  border-radius: 12px;
  margin-bottom: 30px
}.pms-scope .gallery-main img, .pms-scope .gallery-thumbs img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter .3s
}.pms-scope .btn-show-all{
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: #fff;
  color: #000;
  border: 1px solid #000;
  padding: 8px 15px;
  border-radius: 8px;
  font-size: .85rem;
  font-weight: 600;
  cursor: pointer
}.pms-scope .content-wrapper{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 80px
}.pms-scope .amenities-list, .pms-scope .reviews-grid{
  grid-template-columns: 1fr 1fr
}.pms-scope .divider{
  border: 0;
  border-top: 1px solid var(--border);
  margin: 35px 0
}.pms-scope .badge-favourite{
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  padding: 20px;
  margin: 25px 0;
  background: rgba(255, 255, 255, .03)
}.pms-scope .badge-content{
  display: flex;
  gap: 15px;
  align-items: center
}.pms-scope .badge-icon{
  font-size: 2.5rem;
  color: var(--gold)
}.pms-scope .badge-text strong{
  display: block;
  font-size: 1.1rem
}.pms-scope .badge-score{
  text-align: center;
  border-left: 1px solid var(--border);
  padding-left: 25px
}.pms-scope .score-num{
  display: block;
  font-size: 1.5rem;
  font-weight: 700
}.pms-scope .booking-sidebar{
  position: sticky;
  top: 100px;
  height: fit-content
}.pms-scope .booking-hero, .pms-scope .hero, .pms-scope .modal-content, .pms-scope .modal-dialog{
  position: relative
}.pms-scope .booking-card{
  background: var(--card-bg);
  backdrop-filter: blur(15px);
  border: 1px solid var(--border);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .5)
}.pms-scope .booking-card, .pms-scope .booking-info{
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08)
}.pms-scope .price-header{
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px
}.pms-scope .booking-inputs{
  border: 1px solid #555;
  border-radius: 8px
}.pms-scope .input-row{
  display: flex
}.pms-scope .input-box{
  padding: 10px 12px;
  flex: 1
}.pms-scope .input-box label{
  display: block;
  font-size: .65rem;
  font-weight: 800
}.pms-scope .border-right{
  border-right: 1px solid #555
}.pms-scope .border-top{
  border-top: 1px solid #555
}.pms-scope .btn-avail{
  width: 98%;
  margin-top: 15px;
  background: var(--gold);
  color: #000;
  border: none;
  padding: 14px;
  border-radius: 8px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  margin-left: 0
}.pms-scope .amenities-list, .pms-scope .booking-info ul{
  list-style: none;
  padding: 0
}.pms-scope .amenities-list{
  display: grid;
  gap: 15px
}.pms-scope .reviews-grid{
  display: grid;
  gap: 40px
}.pms-scope .review-item p{
  color: var(--text-dim);
  font-style: italic
}

@media (max-width:950px) {.pms-scope .content-wrapper{
    grid-template-columns: 1fr
  }.pms-scope .hero-gallery{
    height: 300px
  }
}.pms-scope .text-white{
  color: #fff !important
}.pms-scope .upper-gallery{
  margin-bottom: 30px
}.pms-scope .upper-gallery .grid-container-2{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  height: auto
}.pms-scope .upper-gallery .large-left{
  grid-row: 1;
  grid-column: 1;
  border-radius: 25px 0 0 25px
}.pms-scope .upper-gallery .box img{
  width: 100%;
  height: 400px;
  object-fit: cover;
  display: block;
  transition: transform .3s
}.pms-scope .upper-gallery .small-grid-right{
  display: flex;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 10px;
  flex-wrap: wrap
}.pms-scope .upper-gallery .small-grid-right .box{
  height: 197px;
  width: 49%
}.pms-scope .upper-gallery .box{
  border: 2px solid #ccc;
  cursor: pointer;
  height: max-content
}.pms-scope .modal.show .modal-dialog{
  transform: none
}.pms-scope .modal.fade .modal-dialog{
  transition: transform .3s ease-out;
  transform: translate(0, -50px)
}.pms-scope .modal-fullscreen{
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0
}

@media (min-width:576px) {.pms-scope .modal-dialog-centered{
    min-height: calc(100% - 3.5rem)
  }.pms-scope .modal-dialog-scrollable{
    height: calc(100% - 3.5rem)
  }.pms-scope .modal-dialog{
    max-width: 500px;
    margin: 1.75rem auto
  }
}.pms-scope .modal-dialog-centered{
  display: flex;
  align-items: center;
  min-height: calc(100% - 1rem)
}.pms-scope .modal-dialog-scrollable{
  height: calc(100% - 1rem)
}.pms-scope .modal-dialog{
  width: auto;
  margin: .5rem
}.pms-scope .modal-fullscreen .modal-content{
  height: 100%;
  border: 0;
  border-radius: 0
}.pms-scope .modal-dialog-scrollable .modal-content{
  max-height: 100%;
  overflow: hidden
}.pms-scope .modal-content{
  display: flex;
  flex-direction: column;
  width: 100%;
  pointer-events: auto;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid rgba(0, 0, 0, .2);
  border-radius: .3rem;
  outline: 0
}.pms-scope #galleryModal .modal-header{
  border: none;
  justify-content: end
}.pms-scope .modal-fullscreen .modal-header{
  border-radius: 0
}.pms-scope .modal-header{
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: 1rem;
  border-bottom: 1px solid #dee2e6;
  border-top-left-radius: calc(.3rem - 1px);
  border-top-right-radius: calc(.3rem - 1px)
}.pms-scope .modal-dialog-scrollable .modal-body, .pms-scope .modal-fullscreen .modal-body{
  overflow-y: auto
}.pms-scope .attr, .pms-scope .breadcrumb, .pms-scope .gallery-grid, .pms-scope .gallery-item{
  overflow: hidden
}.pms-scope .booking-hero{
  height: 60vh;
  background: url('../img/villa.webp') center/cover no-repeat
}.pms-scope .booking-hero .overlay{
  background: rgba(0, 0, 0, .5);
  height: 100%;
  display: flex;
  align-items: center
}.pms-scope .booking-section{
  padding: 80px 0
}.pms-scope .section-title{
  color: #3e2f23
}.pms-scope .section-sub{
  color: #7a6a5c
}.pms-scope .booking-card{
  background: #fff
}.pms-scope .booking-card h4, .pms-scope .booking-info h4{
  margin-bottom: 20px;
  color: #3e2f23
}.pms-scope .form-control{
  border-radius: 6px;
  border: 1px solid #ddd;
  padding: 10px
}.pms-scope .form-control:focus{
  border-color: #8b5e3c;
  box-shadow: none
}.pms-scope .btn-book{
  background: #8b5e3c;
  border: none
}.pms-scope .booking-info{
  background: #fff;
  padding: 35px;
  border-radius: 10px;
  height: 100%
}.pms-scope .booking-info ul li{
  margin-bottom: 10px;
  color: #5c4a3a
}.pms-scope .map-box{
  margin-top: 20px;
  height: 250px
}.pms-scope .map-box iframe{
  width: 100%;
  height: 100%;
  border-radius: 8px
}

@media(max-width:768px) {.pms-scope .booking-hero{
    height: 40vh
  }
}.pms-scope .hero{
  background: url('../images/banner.webp') center/cover no-repeat;
  height: 0
}.pms-scope .breadcrumb{
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  background: #fff;
  border-radius: 50px;
  box-shadow: 0 5px 20px rgba(0, 0, 0, .1)
}.pms-scope .breadcrumb a{
  padding: 12px 28px;
  color: #333;
  font-weight: 500;
  transition: .3s
}.pms-scope .breadcrumb a:hover{
  background: #eee
}.pms-scope .breadcrumb a.active{
  background: #caa46a;
  color: #fff
}.pms-scope .section-title{
  padding: 20px 20px 30px
}.pms-scope .section-title h2{
  font-size: 30px;
  font-weight: 600;
  margin-bottom: 10px
}.pms-scope section#experiences{
  width: 1200px;
  margin: 0 auto
}.pms-scope .section-title p{
  color: #777;
  font-size: 15px
}.pms-scope .contact-info{
  display: flex;
  justify-content: space-around;
  gap: 80px;
  text-align: center;
  color: #fff;
  flex-wrap: wrap;
  margin: 50px 100px
}.pms-scope .contact-info div, .pms-scope .section-title{
  text-align: left
}.pms-scope .contact-info h5{
  color: var(--gold);
  font-size: 26px;
  font-family: 'Cormorant Garamond'
}.pms-scope .contact-info p{
  color: var(--bg-dark);
  font-weight: 500;
  opacity: .8
}.pms-scope .contact-info i{
  color: var(--bg-dark);
  margin-right: 8px
}.pms-scope .contact-container{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding: 20px;
  max-width: 1200px;
  margin: auto
}.pms-scope .contact-form{
  background: #fff;
  padding: 30px;
  border-radius: 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .05)
}.pms-scope .contact-form h3{
  font-size: 30px;
  margin-bottom: 42px;
  position: relative
}.pms-scope .contact-form label{
  font-size: 16px;
  font-weight: 600;
  margin: 16px 0 10px;
  display: block
}.pms-scope .contact-form h3::after{
  content: '';
  width: 60px;
  height: 3px;
  background: #2aa3d6;
  position: absolute;
  bottom: -8px;
  left: 0
}.pms-scope .contact-form input, .pms-scope .contact-form textarea{
  width: 100%;
  padding: 12px;
  margin-bottom: 15px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 14px;
  transition: .3s
}.pms-scope .contact-form input:focus, .pms-scope .contact-form textarea:focus{
  border-color: #2aa3d6;
  outline: 0
}.pms-scope .contact-form button{
  font-size: 1rem;
  font-weight: 400;
  color: #00a9dd;
  background: 0 0;
  border: 2px solid #00a9dd;
  padding: 10px 26px;
  border-radius: 10px;
  line-height: 1.75rem;
  display: inline-block;
  transition: 1s;
  letter-spacing: .06em;
  margin-top: 16px
}.pms-scope .contact-form button:hover{
  background-color: #00a9dd;
  border-color: #00a9dd;
  color: var(--text-white);
  padding: 10px 36px
}.pms-scope .map iframe{
  width: 100%;
  height: 100%;
  min-height: 420px;
  border: 0;
  border-radius: 10px
}

@media (max-width:992px) {.pms-scope .contact-info{
    gap: 40px
  }
}

@media (max-width:768px) {.pms-scope #stay .top-main-heading h1{
    font-size: 24px
  }.pms-scope .review-container{
    padding: 0 20px;
    justify-content: center
  }.pms-scope .review-card{
    width: 100%;
    max-width: 100%;
    padding: 32px 24px
  }.pms-scope .lightbox-container{
    flex-direction: column;
    height: 70vh;
    gap: 20px
  }.pms-scope .lightbox-next, .pms-scope .lightbox-prev{
    position: absolute;
    bottom: -80px;
    width: 50px;
    height: 50px
  }.pms-scope .lightbox-prev{
    left: 20%
  }.pms-scope .lightbox-next{
    right: 20%
  }.pms-scope .lightbox-close{
    top: 20px;
    right: 20px
  }.pms-scope .lightbox-caption{
    font-size: 1.4rem
  }.pms-scope .hero{
    height: 250px
  }.pms-scope .breadcrumb{
    bottom: -20px
  }.pms-scope .contact-container{
    grid-template-columns: 1fr
  }.pms-scope .section-title{
    padding-top: 0
  }
}.pms-scope .attr{
  position: relative;
  border-radius: 14px;
  cursor: pointer;
  border: 1px solid rgba(197, 164, 106, 0);
  transition: border-color .45s, box-shadow .45s, transform .45s
}.pms-scope .attr:hover{
  border-color: rgba(197, 164, 106, .55);
  box-shadow: 0 0 0 1px rgba(197, 164, 106, .18), 0 20px 48px rgba(0, 0, 0, .55);
  transform: translateY(-6px)
}.pms-scope .attr img{
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  border-radius: 0;
  transition: transform .65s cubic-bezier(.25, .46, .45, .94)
}.pms-scope .attr:hover img{
  transform: scale(1.07)
}.pms-scope .attr::after{
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 7, 4, .78) 0, rgba(10, 7, 4, .18) 55%, transparent 100%);
  opacity: 0;
  transition: opacity .45s;
  border-radius: 14px
}.pms-scope .atr-cont{
  padding: 12px 4px 4px;
  transition: transform .4s
}.pms-scope .atr-cont h4{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--gold);
  margin: 5px;
  letter-spacing: .02em;
  transition: color .3s;
  text-align: center
}.pms-scope .meta-item svg, .pms-scope .property-location svg{
  color: var(--gold, #c9a84c)
}.pms-scope .attr:hover .atr-cont a h4{
  color: #fff !important;
  z-index: 99999;
  position: relative
}.pms-scope .property-page{
  --prop-border: rgba(197, 164, 106, 0.15);
  --prop-bg: #13100c;
  --prop-card-bg: rgba(30, 22, 14, 0.9);
  --prop-text: rgba(244, 239, 230, 0.82);
  --prop-muted: rgba(244, 239, 230, 0.42);
  --prop-radius: 12px
}.pms-scope .gallery-section{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: calc(72px + 24px) 24px 0
}.pms-scope .gallery-grid{
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  grid-template-rows: 220px 220px;
  gap: 8px;
  border-radius: 14px
}.pms-scope .gallery-grid .gallery-main{
  grid-row: 1/3;
  position: relative
}.pms-scope .gallery-right{
  display: grid;
  grid-template-rows: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  height: 28rem
}.pms-scope .gallery-item{
  position: relative;
  cursor: pointer;
  background: var(--mid, #2a1f14)
}.pms-scope .gallery-item img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.25, .46, .45, .94)
}.pms-scope .attraction-card:hover .attraction-img img, .pms-scope .gallery-item:hover img{
  transform: scale(1.05)
}.pms-scope .gallery-item .overlay{
  position: absolute;
  inset: 0;
  background: rgba(10, 7, 4, 0);
  transition: background .35s;
  display: flex;
  align-items: center;
  justify-content: center
}.pms-scope .gallery-item:hover .overlay{
  background: rgba(10, 7, 4, .28)
}.pms-scope .gallery-item .overlay-icon{
  opacity: 0;
  transform: scale(.8);
  transition: .3s;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(197, 164, 106, .18);
  border: 1px solid rgba(197, 164, 106, .5);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4efe6;
  font-size: 18px
}.pms-scope .gallery-show-all{
  position: absolute;
  bottom: 14px;
  right: 14px;
  background: rgba(14, 10, 6, .75);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(197, 164, 106, .3);
  border-radius: 8px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 500;
  font-family: Jost, sans-serif;
  color: rgba(244, 239, 230, .9);
  letter-spacing: .06em;
  cursor: pointer;
  transition: .25s;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 2
}.pms-scope .gallery-show-all:hover{
  background: rgba(197, 164, 106, .15);
  border-color: rgba(197, 164, 106, .6);
  color: #c9a84c
}.pms-scope .listing-layout{
  max-width: 1200px;
  margin: 36px auto 0;
  padding: 0 24px 80px;
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 56px;
  align-items: start
}.pms-scope .listing-main{
  min-width: 0
}.pms-scope .property-title{
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.8rem, 3.5vw, 2.6rem);
  font-weight: 400;
  color: var(--dark);
  line-height: 1.15;
  margin-bottom: 10px;
  letter-spacing: -.01em
}.pms-scope .meta-item, .pms-scope .property-location{
  display: flex;
  font-family: Jost, sans-serif
}.pms-scope .property-location{
  align-items: center;
  gap: 6px;
  color: var(--border);
  font-size: .78rem;
  margin-bottom: 18px;
  letter-spacing: .04em
}.pms-scope .property-location svg{
  flex-shrink: 0
}.pms-scope .property-meta{
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 0;
  border-top: 1px solid rgba(197, 164, 106, .13);
  border-bottom: 1px solid rgba(197, 164, 106, .13);
  margin-bottom: 36px;
  flex-wrap: wrap
}.pms-scope .meta-item{
  align-items: center;
  gap: 7px;
  font-size: .8rem;
  color: var(--gold)
}.pms-scope .cal-header h4, .pms-scope .section-title{
  font-family: 'Cormorant Garamond', serif
}.pms-scope .meta-item strong{
  color: var(--bg-dark);
  font-weight: 500
}.pms-scope .section-divider{
  border: none;
  border-top: 1px solid rgba(197, 164, 106, .12);
  margin: 44px 0
}.pms-scope .section-title{
  font-size: 1.5rem;
  font-weight: 400;
  color: var(--dark2);
  margin-bottom: 16px;
  letter-spacing: -.01em
}.pms-scope .amenity-item, .pms-scope .availability-legend, .pms-scope .btn-outline, .pms-scope .btn-show-more, .pms-scope .cal-day, .pms-scope .cal-day-name, .pms-scope .overview-text, .pms-scope .video-label{
  font-family: Jost, sans-serif
}.pms-scope .overview-text{
  font-size: .875rem;
  font-weight: 300;
  color: var(--bg-dark);
  line-height: 1.85;
  margin-bottom: 14px
}.pms-scope .overview-text.collapsed{
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}.pms-scope .btn-show-more{
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--gold, #c9a84c);
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 10px 21px;
  transition: border-color .2s;
  background: var(--gold);
  border: none;
  color: var(--cream);
  border-radius: 9999px
}.pms-scope .btn-show-more:hover{
  border-bottom-color: var(--gold, #c9a84c)
}.pms-scope .amenities-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
  margin-bottom: 22px
}.pms-scope .amenity-item{
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .82rem;
  font-weight: 300;
  color: var(--dark)
}.pms-scope .amenity-icon{
  width: 18px;
  height: 18px;
  color: var(--gold, #c9a84c);
  flex-shrink: 0
}.pms-scope .btn-outline{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid var(--gold);
  border-radius: 8px;
  padding: 10px 20px;
  font-size: .75rem;
  font-weight: 400;
  letter-spacing: .06em;
  color: var(--gold);
  background: rgba(197, 164, 106, .04);
  transition: .25s
}.pms-scope .btn-outline:hover{
  border-color: rgba(197, 164, 106, .65);
  color: var(--gold, #c9a84c);
  background: rgba(197, 164, 106, .08)
}.pms-scope .videos-scroll{
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(197, 164, 106, 0.2) transparent
}.pms-scope .videos-scroll::-webkit-scrollbar{
  height: 3px
}.pms-scope .videos-scroll::-webkit-scrollbar-track{
  background: 0 0
}.pms-scope .videos-scroll::-webkit-scrollbar-thumb{
  background: rgba(197, 164, 106, .25);
  border-radius: 2px
}.pms-scope .video-thumb{
  flex: 0 0 220px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  background: var(--mid, #2a1f14);
  border: 1px solid rgba(197, 164, 106, .1);
  transition: border-color .3s
}.pms-scope .cal-header, .pms-scope .scroll-btn{
  display: flex;
  align-items: center
}.pms-scope .video-thumb:hover{
  border-color: rgba(197, 164, 106, .4)
}.pms-scope .video-thumb:hover .play-btn-inner{
  transform: scale(1.12);
  background: rgba(197, 164, 106, .28)
}.pms-scope .play-btn-inner svg{
  color: var(--gold, #c9a84c);
  margin-left: 3px
}.pms-scope .video-label{
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 8px 10px;
  background: linear-gradient(transparent, rgba(10, 7, 4, .8));
  font-size: .7rem;
  letter-spacing: .04em;
  color: rgba(244, 239, 230, .85)
}.pms-scope .scroll-controls{
  display: flex;
  gap: 8px;
  margin-top: 12px
}.pms-scope .scroll-btn{
  border: 1px solid var(--gold);
  justify-content: center;
  color: var(--gold)
}.pms-scope .cal-nav button:hover, .pms-scope .scroll-btn:hover{
  border-color: var(--gold, #c9a84c);
  color: var(--gold, #c9a84c)
}.pms-scope .calendars-wrap{
  display: flex;
  gap: 32px;
  flex-wrap: wrap
}.pms-scope .calendar-month{
  flex: 1;
  min-width: 200px
}.pms-scope .cal-header{
  justify-content: space-between;
  margin-bottom: 14px
}.pms-scope .cal-day, .pms-scope .cal-nav button{
  display: flex;
  align-items: center
}.pms-scope .cal-header h4{
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--gold);
  letter-spacing: .02em
}.pms-scope .cal-nav{
  display: flex;
  gap: 8px
}.pms-scope .cal-nav button{
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgb(0 0 0);
  color: rgb(26 23 19);
  justify-content: center;
  font-size: 12px;
  transition: .2s;
  background: 0 0
}.pms-scope .cal-day, .pms-scope .cal-day-name, .pms-scope .legend-dot{
  border-radius: 50%
}.pms-scope .date-field label, .pms-scope .guests-field label{
  display: block;
  letter-spacing: .1em;
  text-transform: uppercase
}.pms-scope .cal-grid{
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
  text-align: center
}.pms-scope .cal-day-name{
  font-size: .6rem;
  font-weight: 800;
  color: var(--cream);
  text-transform: uppercase;
  letter-spacing: .08em;
  background: var(--bar-bg);
  width: 35px;
  height: 35px;
  line-height: 35px
}.pms-scope .cal-day{
  aspect-ratio: 1;
  justify-content: center;
  font-size: .78rem;
  cursor: pointer;
  transition: .15s;
  color: rgb(88 88 88 / 75%)
}.pms-scope .legend-item, .pms-scope .reviews-header{
  display: flex;
  align-items: center
}.pms-scope .cal-day:hover:not(.unavailable):not(.empty){
  background: rgba(197, 164, 106, .15);
  color: var(--gold, #c9a84c)
}.pms-scope .cal-day.today{
  font-weight: 600;
  color: var(--gold, #c9a84c);
  outline: rgba(197, 164, 106, .4) solid 1px
}.pms-scope .cal-day.unavailable{
  color: rgb(0 0 0);
  cursor: not-allowed;
  text-decoration: line-through
}.pms-scope .cal-day.selected{
  background: var(--gold, #c9a84c);
  color: #0e0a06;
  font-weight: 600
}.pms-scope .cal-day.in-range{
  background: rgba(197, 164, 106, .15);
  border-radius: 0
}.pms-scope .cal-day.selected-start{
  border-radius: 50% 0 0 50%
}.pms-scope .cal-day.selected-end{
  border-radius: 0 50% 50% 0
}.pms-scope .cal-day.empty{
  cursor: default
}.pms-scope .availability-legend{
  display: flex;
  gap: 20px;
  margin-top: 16px;
  font-size: .72rem;
  color: var(--dark)
}.pms-scope .rating-number, .pms-scope .reviewer-avatar{
  font-family: 'Cormorant Garamond', serif
}.pms-scope .legend-item{
  gap: 7px
}.pms-scope .legend-dot{
  width: 10px;
  height: 10px
}.pms-scope .legend-dot.available{
  background: var(--gold, #c9a84c)
}.pms-scope .legend-dot.unavailable{
  background: rgb(14 14 14 / 15%)
}.pms-scope .reviews-header{
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap
}.pms-scope .rating-badge, .pms-scope .review-top{
  display: flex;
  align-items: center
}.pms-scope .rating-badge{
  gap: 4px
}.pms-scope .rating-badge .stars{
  display: flex;
  gap: 2px
}.pms-scope .star-icon{
  color: var(--gold, #c9a84c);
  font-size: 14px
}.pms-scope .rating-number{
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--dark)
}.pms-scope .reviews-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 22px
}.pms-scope .review-card{
  border: 1px solid rgba(197, 164, 106, .12);
  border-radius: 12px;
  padding: 20px;
  background: rgb(175 175 175 / 78%);
  backdrop-filter: blur(6px);
  transition: border-color .3s, box-shadow .3s
}.pms-scope .review-card:hover{
  border-color: rgba(197, 164, 106, .3);
  box-shadow: 0 8px 32px rgba(0, 0, 0, .35)
}.pms-scope .review-top{
  gap: 12px;
  margin-bottom: 12px
}.pms-scope .review-meta, .pms-scope .reviewer-avatar{
  align-items: center;
  display: flex
}.pms-scope .reviewer-avatar{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  justify-content: center;
  font-weight: 600;
  font-size: 15px;
  color: #f4efe6;
  flex-shrink: 0
}.pms-scope .review-meta, .pms-scope .review-text, .pms-scope .reviewer-name{
  font-family: Jost, sans-serif
}.pms-scope .reviewer-info{
  flex: 1;
  min-width: 0
}.pms-scope .reviewer-name{
  font-weight: 500;
  font-size: .85rem;
  color: rgba(244, 239, 230, .9);
  margin: 0
}.pms-scope .review-meta{
  font-size: .68rem;
  color: var(--bg-dark);
  gap: 6px;
  margin-top: 2px
}.pms-scope .review-stars{
  display: flex;
  gap: 1px
}.pms-scope .review-star{
  color: var(--gold, #c9a84c);
  font-size: 10px
}.pms-scope .review-text{
  font-size: .82rem;
  font-weight: 300;
  color: var(--dark);
  line-height: 1.75;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden
}.pms-scope .attraction-name, .pms-scope .experiences-header .section-title{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem;
  color: #474329
}.pms-scope .av-1{
  background: linear-gradient(135deg, #b8956a, #8b6540)
}.pms-scope .av-2{
  background: linear-gradient(135deg, #c4a882, #9a7a52)
}.pms-scope .av-3{
  background: linear-gradient(135deg, #7a8a7a, #556055)
}.pms-scope .av-4{
  background: linear-gradient(135deg, #8a7a6a, #605040)
}.pms-scope .map-container{
  border-radius: 12px;
  height: 450px
}.pms-scope .map-container iframe{
  width: 100%;
  height: 100%;
  border: none
}.pms-scope #experiences{
  max-width: 1400px;
  margin: 0 auto
}.pms-scope .experiences-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 30px;
  padding: 0 20px
}.pms-scope .experiences-header .section-title{
  font-weight: 400;
  margin: 0
}.pms-scope .attractions-scroll{
  display: flex;
  gap: 24px;
  overflow-x: auto;
  padding: 10px 0 40px;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none
}.pms-scope .attractions-scroll::-webkit-scrollbar{
  display: none
}.pms-scope .attraction-card{
  flex: 0 0 calc((100% - 48px)/ 3);
  border-radius: 16px;
  overflow: hidden;
  background: #fdfaf7;
  border: none;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .04);
  transition: transform .3s, box-shadow .3s;
  cursor: pointer
}.pms-scope .attraction-card:hover{
  transform: translateY(-8px);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .08)
}.pms-scope .attraction-img{
  height: 230px;
  width: 100%;
  overflow: hidden;
  padding: 12px 12px 0
}.pms-scope .attraction-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
  transition: transform .5s
}.pms-scope .attraction-info{
  padding: 24px 20px
}.pms-scope .attraction-name{
  font-weight: 500;
  margin-bottom: 12px
}.pms-scope .attraction-desc{
  font-family: Jost, sans-serif;
  font-size: .9rem;
  font-weight: 400;
  color: #666;
  line-height: 1.6;
  opacity: .85
}.pms-scope .scroll-controls{
  display: flex;
  gap: 12px
}.pms-scope .scroll-btn{
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #d4c4a8;
  background: #fff;
  color: #474329;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: .3s;
  font-size: 1.2rem
}.pms-scope .scroll-btn:hover{
  background: #474329;
  border-color: #474329;
  color: #fff
}.pms-scope .booking-sidebar{
  position: sticky;
  top: calc(72px + 16px)
}.pms-scope .booking-card{
  border: 1px solid rgba(197, 164, 106, .2);
  border-radius: 16px;
  padding: 28px;
  background: var(--cream);
  backdrop-filter: blur(18px);
  box-shadow: rgba(14, 30, 37, .12) 0 2px 4px 0, rgba(14, 30, 37, .32) 0 2px 16px 0
}.pms-scope .booking-price{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 22px
}.pms-scope .price-amount{
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.7rem;
  font-weight: 400;
  color: var(--bar-bg)
}.pms-scope .date-field label, .pms-scope .price-period{
  font-family: Jost, sans-serif;
  font-size: .78rem
}.pms-scope .price-period{
  font-weight: 300;
  color: rgba(244, 239, 230, .45)
}.pms-scope .date-picker{
  border: 1px solid rgba(197, 164, 106, .2);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 14px
}.pms-scope .guests-field, .pms-scope .price-row.total{
  border: 1px solid rgba(197, 164, 106, .15)
}.pms-scope .date-picker-row{
  display: grid;
  grid-template-columns: 1fr 1fr
}.pms-scope .date-field{
  padding: 12px 3px;
  cursor: pointer;
  transition: background .15s;
  position: relative
}.pms-scope .date-field:first-child{
  border-right: 1px solid rgba(197, 164, 106, .15)
}.pms-scope .date-field:hover{
  background: rgba(197, 164, 106, .06)
}.pms-scope .date-field label{
  font-weight: 600;
  color: var(--bg-dark);
  cursor: pointer;
  padding-left: 10px
}.pms-scope .date-field input, .pms-scope .guests-field .guests-val{
  font-size: .85rem;
  font-family: Jost, sans-serif
}.pms-scope .date-field input{
  width: 100%;
  border: none;
  outline: 0;
  color: var(--bar-bg);
  background: 0 0;
  cursor: pointer;
  color-scheme: dark
}.pms-scope .guests-field{
  padding: 12px 14px;
  cursor: pointer
}.pms-scope .guests-field label{
  font-family: Jost, sans-serif;
  font-size: .78rem;
  font-weight: 600;
  color: var(--bg-dark);
  margin-bottom: 4px
}.pms-scope .guests-field .guests-val{
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: rgba(244, 239, 230, .82)
}.pms-scope .guests-field svg{
  color: rgba(244, 239, 230, .35)
}.pms-scope .btn-book{
  width: 100%;
  background: var(--gold, #c9a84c);
  color: #0e0a06;
  border-radius: 10px;
  padding: 14px;
  font-family: Jost, sans-serif;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  transition: background .25s, transform .2s, box-shadow .25s;
  position: relative;
  overflow: hidden
}.pms-scope .btn-book:hover{
  background: #d4b87e;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(197, 164, 106, .35)
}.pms-scope .btn-book:active{
  transform: translateY(0)
}.pms-scope .booking-note{
  text-align: center;
  font-family: Jost, sans-serif;
  font-size: .68rem;
  font-weight: 300;
  color: rgba(244, 239, 230, .3);
  margin-top: 10px;
  letter-spacing: .04em
}.pms-scope .price-breakdown{
  border-top: 1px solid rgba(197, 164, 106, .12);
  margin-top: 18px;
  padding-top: 14px
}.pms-scope .price-row{
  display: flex;
  justify-content: space-between;
  font-family: Jost, sans-serif;
  font-size: .8rem;
  color: rgba(244, 239, 230, .5);
  padding: 5px 0
}.pms-scope .price-row.total{
  margin-top: 8px;
  padding-top: 12px;
  font-weight: 600;
  color: #f4efe6;
  font-size: .88rem
}.pms-scope .lightbox-overlay{
  inset: 0;
  position: fixed;
  inset: 0;
  background: rgba(10, 8, 6, .97);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s
}.pms-scope .lightbox-img-wrap, .pms-scope .lightbox-inner{
  position: relative;
  display: flex;
  width: 100%
}.pms-scope .lightbox-inner{
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 80px 40px
}.pms-scope .lightbox-img-wrap{
  max-width: 1100px;
  max-height: 75vh;
  align-items: center;
  justify-content: center
}.pms-scope .lightbox-img-wrap img{
  max-width: 100%;
  max-height: 75vh;
  object-fit: contain;
  border-radius: 8px;
  transform: scale(.95);
  transition: transform .35s cubic-bezier(.34, 1.56, .64, 1)
}.pms-scope .lightbox-overlay.active .lightbox-img-wrap img{
  transform: scale(1)
}.pms-scope .lightbox-counter{
  position: absolute;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  font-family: Jost, sans-serif;
  font-size: .72rem;
  letter-spacing: .08em;
  color: rgba(255, 255, 255, .45)
}.pms-scope .lightbox-thumbnails{
  display: flex;
  gap: 8px;
  margin-top: 20px;
  overflow-x: auto;
  max-width: 700px;
  padding: 4px 0 8px
}.pms-scope .lightbox-thumb{
  flex: 0 0 72px;
  height: 52px;
  border-radius: 6px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: .55;
  transition: opacity .2s, border-color .2s
}.pms-scope .lightbox-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover
}.pms-scope .lightbox-thumb.active{
  border-color: var(--gold, #c9a84c);
  opacity: 1
}

@media (max-width:1024px) {.pms-scope .listing-layout{
    grid-template-columns: 1fr;
    gap: 0
  }.pms-scope .booking-sidebar{
    position: static;
    order: -1;
    margin-bottom: 36px
  }.pms-scope .gallery-grid{
    grid-template-rows: 200px 200px
  }
}

@media (max-width:768px) {.pms-scope .attraction-card{
    flex: 0 0 85%
  }.pms-scope .experiences-header .section-title{
    font-size: 2rem
  }.pms-scope .amenities-grid, .pms-scope .gallery-grid, .pms-scope .reviews-grid{
    grid-template-columns: 1fr
  }.pms-scope .gallery-section{
    padding: calc(72px + 12px) 16px 0
  }.pms-scope .gallery-grid{
    grid-template-rows: 260px
  }.pms-scope .gallery-grid .gallery-main{
    grid-row: 1
  }.pms-scope .gallery-right{
    display: none
  }.pms-scope .listing-layout{
    padding: 0 16px 60px;
    margin-top: 20px
  }.pms-scope .property-title{
    font-size: 1.7rem
  }.pms-scope .property-meta{
    gap: 14px
  }.pms-scope .booking-card{
    padding: 20px
  }.pms-scope .calendars-wrap{
    flex-direction: column;
    gap: 24px
  }.pms-scope .lightbox-inner{
    padding: 60px 16px 24px
  }
}

@media (max-width:480px) {.pms-scope .breadcrumb a{
    padding: 10px 18px;
    font-size: 13px
  }.pms-scope .section-title h2{
    font-size: 24px
  }.pms-scope .gallery-grid{
    grid-template-rows: 220px
  }.pms-scope .property-meta{
    gap: 10px
  }.pms-scope .meta-item{
    font-size: .75rem
  }.pms-scope .date-picker-row{
    grid-template-columns: 1fr
  }.pms-scope .date-field:first-child{
    border-right: none;
    border-bottom: 1px solid rgba(197, 164, 106, .15)
  }.pms-scope .lightbox-thumbnails{
    display: none
  }
}.pms-scope .visually-hidden{
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0
}.pms-scope .amenities-side-panel-overlay, .pms-scope .reviews-side-panel-overlay{
  position: fixed;
  inset: 0;
  background: rgba(10, 8, 6, .6);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  z-index: 10000;
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s
}.pms-scope .amenities-side-panel, .pms-scope .reviews-side-panel{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 450px;
  background: var(--cream);
  box-shadow: -10px 0 30px rgba(0, 0, 0, .4);
  transform: translateX(100%);
  transition: transform .4s cubic-bezier(.22, 1, .36, 1);
  display: flex;
  flex-direction: column;
  padding: 40px 30px;
  overflow-y: auto
}.pms-scope .amenities-side-panel-overlay.active .amenities-side-panel, .pms-scope .reviews-side-panel-overlay.active .reviews-side-panel{
  transform: translateX(0)
}.pms-scope .amenities-panel-header, .pms-scope .reviews-panel-header{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
  border-bottom: 1px solid rgba(201, 168, 76, .2);
  padding-bottom: 15px
}.pms-scope .amenities-panel-header h2, .pms-scope .reviews-panel-header h2{
  font-family: Montserrat, sans-serif;
  font-size: 1.5rem;
  color: var(--bg-dark);
  font-weight: 600
}.pms-scope .btn-close-panel{
  background: 0 0;
  border: none;
  color: var(--gold);
  font-size: 1.5rem;
  cursor: pointer;
  transition: transform .2s
}.pms-scope .btn-close-panel:hover{
  transform: scale(1.1)
}.pms-scope .amenities-panel-content .amenity-item{
  font-size: 1rem;
  padding: 15px 0;
  display: flex;
  align-items: center;
  gap: 15px;
  color: var(--bg-dark)
}.pms-scope .amenities-panel-content .amenity-icon{
  width: 24px;
  height: 24px;
  stroke: var(--gold);
  flex-shrink: 0
}.pms-scope .reviews-panel-content .review-card{
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px
}.pms-scope .reviews-panel-content .review-top{
  display: flex;
  gap: 15px;
  margin-bottom: 15px
}.pms-scope .reviews-panel-content .reviewer-avatar{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--gold);
  color: var(--dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-family: Jost, sans-serif
}.pms-scope .reviews-panel-content .reviewer-name{
  font-weight: 600;
  color: var(--bg-dark);
  margin-bottom: 5px
}.pms-scope .reviews-panel-content .review-meta{
  font-size: .75rem;
  color: var(--bg-dark)
}.pms-scope .reviews-panel-content .review-stars{
  color: var(--gold);
  margin-bottom: 4px;
  font-size: .8rem
}.pms-scope .reviews-panel-content .review-text{
  font-size: .85rem;
  line-height: 1.6;
  color: var(--bg-dark);
  font-weight: 400
}

@media (min-width: 992px) {.pms-scope .reviews-grid{
    gap: 32px 40px;
    margin-bottom: 40px
  }.pms-scope .review-card{
    width: 100%;
    max-width: 100%;
    padding: 24px;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: space-between
  }
}.pms-scope /* ==== scoped from front/design_css/responsive.css ==== */
@media (max-width:1200px){.pms-scope .panel-card{
    width: 50%
  }
}

@media (max-width:991px) {.pms-scope .calendars-wrap, .pms-scope .listing-layout{
    flex-direction: column
  }.pms-scope .listing-layout{
    display: flex
  }.pms-scope .listing-main{
    width: 100%;
    padding-right: 0
  }.pms-scope .booking-sidebar{
    width: 100%;
    position: relative;
    top: 0;
    margin-top: 40px
  }.pms-scope .gallery-grid, .pms-scope .location-section, .pms-scope .reviews-grid{
    grid-template-columns: 1fr
  }.pms-scope .amenities-grid, .pms-scope .gallery-right{
    grid-template-columns: 1fr 1fr
  }.pms-scope .gallery-right{
    grid-template-rows: auto;
    height: auto
  }.pms-scope .footer-grid{
    grid-template-columns: 1fr;
    gap: 40px
  }.pms-scope .vb-title{
    font-size: clamp(3rem, 8vw, 5rem)
  }.pms-scope .loc-title, .pms-scope .panel-heading{
    font-size: clamp(2rem, 5vw, 3rem)
  }.pms-scope .top-main-heading{
    padding: 20px;
    text-align: center;
    position: relative;
    z-index: 5
  }.pms-scope .top-main-heading h1{
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    line-height: 1.2;
    color: #fff;
    font-family: 'Cormorant Garamond', serif
  }.pms-scope .panel-card{
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: none;
    margin: 40px auto
  }.pms-scope .panel.has-card{
    flex-direction: column;
    height: auto;
    min-height: auto;
    padding: 60px 20px
  }.pms-scope .panel-content{
    padding: 20px;
    width: 100%
  }.pms-scope .location-info{
    padding: 60px 40px
  }.pms-scope .nav-links{
    display: flex;
    order: 3;
    width: 100%;
    margin-top: 15px;
    gap: 15px;
    justify-content: flex-start;
    overflow-x: auto;
    white-space: nowrap;
    padding-bottom: 5px
  }.pms-scope #mainNav{
    flex-wrap: wrap;
    padding: 15px 30px
  }.pms-scope #mainNav.scrolled{
    padding: 10px 30px
  }.pms-scope .btn-nav-book{
    /* margin-left: auto */
  }.pms-scope .booking-section{
    padding: 0
  }.pms-scope .section-divider{
    display: none
  }
}

@media (max-width:768px) {.pms-scope{
    overflow-x: hidden
  }.pms-scope .video-banner-section{
    height: auto;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    padding-top: 100px;
    padding-bottom: 40px
  }.pms-scope .vb-content{
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 60px 20px
  }.pms-scope .vb-actions{
    flex-direction: column;
    gap: 15px
  }.pms-scope .vb-btn-primary, .pms-scope .vb-mute-btn{
    width: 100%;
    text-align: center;
    justify-content: center
  }.pms-scope #bannerBookingBar{
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    margin-top: 40px;
    padding: 0 20px
  }.pms-scope .booking-bar{
    flex-direction: column;
    padding: 24px !important;
    background: rgba(14, 10, 6, .8) !important;
    backdrop-filter: blur(10px);
    border-radius: 8px
  }.pms-scope .booking-field{
    width: 100%;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
  }.pms-scope .booking-divider, .pms-scope .gallery-right, .pms-scope .section-divider{
    display: none
  }.pms-scope .btn-avail{
    width: 100%;
    margin: 20px 0 0 !important;
    padding: 16px !important
  }.pms-scope .questions-link{
    text-align: center;
    margin: 15px 0 0 !important
  }.pms-scope .amenities-grid, .pms-scope .property-grid{
    grid-template-columns: 1fr
  }.pms-scope .attractions-scroll{
    grid-auto-columns: 90%;
    padding-bottom: 20px
  }.pms-scope .location-info{
    padding: 50px 24px
  }.pms-scope .panel-card{
    padding: 40px 24px;
    margin: 20px auto
  }.pms-scope .listing-layout{
    padding: 0 15px
  }.pms-scope .section-title{
    font-size: 2rem
  }.pms-scope .property-title{
    font-size: 2.2rem
  }.pms-scope .panel-bg{
    background-attachment: scroll !important
  }.pms-scope .vb-title{
    font-size: 2.8rem;
    margin-bottom: 20px
  }.pms-scope .vb-sub{
    font-size: .9rem;
    margin-bottom: 30px
  }.pms-scope .vb-eyebrow{
    margin-bottom: 15px;
    letter-spacing: .2em
  }.pms-scope .property-meta, .pms-scope .section-title{
    margin-bottom: 0
  }.pms-scope .marquee-item{
    padding: 0 20px;
    font-size: .55rem
  }.pms-scope .btn-nav-book{
    padding: 8px 16px;
    font-size: .6rem
  }.pms-scope #mainNav{
    padding: 15px 20px
  }.pms-scope section#experiences{
    width: auto
  }.pms-scope /* Booking Page Consolidated Styles */
  .property-hero{
    height: 40vh !important;
    min-height: 250px;
  }.pms-scope .hero-overlay{
    padding: 40px 20px;
  }.pms-scope .hero-content h1{
    font-size: 2.4rem;
  }.pms-scope .booking-container{
    padding: 30px 15px 60px;
    gap: 30px;
    margin-top: 20px;
  }.pms-scope .booking-left h1{
    font-size: 2rem;
    margin-bottom: 25px;
  }.pms-scope .booking-section{
    padding: 25px 20px !important;
    border-radius: 12px;
    margin-bottom: 25px;
  }.pms-scope .booking-section h3{
    font-size: 1.4rem;
    margin-bottom: 18px;
  }.pms-scope .form-row{
    grid-template-columns: 1fr !important;
    gap: 15px;
    margin-bottom: 15px;
  }.pms-scope .form-group label{
    margin-top: 10px;
    font-size: 0.7rem;
  }.pms-scope .phone-field-row{
    flex-direction: column;
    gap: 10px;
  }.pms-scope .phone-field-row .phone-code-select{
    width: 100%;
  }.pms-scope .sidebar-card{
    padding: 25px !important;
    background: #f8fbff !important;
    border: 1px solid #e1e9f5 !important;
    box-shadow: 0 8px 30px rgba(0,0,0,0.05) !important;
  }.pms-scope .price-summary{
    background: #ffffff;
    padding: 20px;
    border-radius: 12px;
    margin-top: 20px;
  }.pms-scope .complete-booking{
    padding: 30px 20px;
  }
}

@media (max-width:480px) {.pms-scope .vb-title{
    font-size: 2.5rem
  }.pms-scope .loc-title, .pms-scope .panel-heading{
    font-size: 2rem
  }.pms-scope .section-title{
    font-size: 1.8rem
  }.pms-scope .property-meta{
    flex-wrap: wrap;
    gap: 10px
  }.pms-scope .meta-item{
    font-size: .8rem
  }.pms-scope .loc-stats{
    flex-direction: column;
    gap: 0px
  }.pms-scope .loc-stat{
    width: 100%;
    text-align: center
  }.pms-scope .nav-brand span, .pms-scope .section-divider{
    display: none
  }.pms-scope /* Booking Page refinements for very small screens */
  .hero-content h1{
    font-size: 1.8rem;
  }.pms-scope .booking-left h1{
    font-size: 1.6rem;
  }.pms-scope .booking-section{
    padding: 20px 15px !important;
  }.pms-scope .price-row{
    font-size: 0.85rem;
  }.pms-scope .btn-confirm{
    padding: 16px 12px;
    font-size: 0.8rem;
  }
}.pms-scope /* ==== scoped from front/design_css/legacy-vacation-rentals-listing.css ==== */
/* Legacy Vacation Rentals Listing Specific Styles */

:root{
    --gold: #c9a84c;
    --gold-light: #d4b87e;
    --dark: #0e0a06;
    --bg-dark: #1c1208;
    --cream: #f4efe6;
    --border: rgba(197, 164, 106, .2);
}.pms-scope .rating-badge, .pms-scope .review-top{
    display: flex;
    align-items: center;
}.pms-scope .rating-badge{
    gap: 4px;
}.pms-scope .rating-badge .stars{
    display: flex;
    gap: 2px;
}.pms-scope .star-icon{
    color: #ccc;
    font-size: 14px;
}.pms-scope .star-icon.active{
    color: var(--gold);
}.pms-scope .rating-number{
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--dark);
}.pms-scope .reviews-grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 30px;
}.pms-scope .review-card{
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 24px;
    background: #fff;
    transition: all .3s ease;
}.pms-scope .review-card:hover{
    border-color: var(--gold);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .05);
}.pms-scope .review-top{
    gap: 12px;
    margin-bottom: 15px;
}.pms-scope .reviewer-avatar{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--gold);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    flex-shrink: 0;
}.pms-scope .reviewer-name{
    font-weight: 600;
    font-size: 1rem;
    margin: 0;
    color: var(--dark);
}.pms-scope .review-meta{
    font-size: 0.8rem;
    color: #666;
    display: flex;
    align-items: center;
    gap: 8px;
}.pms-scope .review-stars{
    display: flex;
    gap: 2px;
    color: var(--gold);
}.pms-scope .review-text{
    font-size: 0.95rem;
    line-height: 1.6;
    color: #444;
}.pms-scope /* Attractions */
#experiences{
    padding: 60px 0;
}.pms-scope .attractions-scroll{
    display: flex;
    gap: 24px;
    overflow-x: auto;
    padding: 10px 0 30px;
    scroll-behavior: smooth;
    scrollbar-width: none;
}.pms-scope .attractions-scroll::-webkit-scrollbar{
    display: none;
}.pms-scope .attraction-card{
    flex: 0 0 350px;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #eee;
    transition: transform .3s;
}.pms-scope .attraction-card:hover{
    transform: translateY(-5px);
}.pms-scope .attraction-img{
    height: 200px;
    overflow: hidden;
}.pms-scope .attraction-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}.pms-scope .attraction-info{
    padding: 20px;
}.pms-scope .attraction-name{
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--dark);
}.pms-scope .attraction-desc{
    font-size: 0.9rem;
    color: #666;
    line-height: 1.5;
}.pms-scope /* Scroll Controls */
.scroll-btn{
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--gold);
    background: transparent;
    color: var(--gold);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all .2s;
}.pms-scope .scroll-btn:hover{
    background: var(--gold);
    color: #fff;
}.pms-scope /* Panels */
.amenities-side-panel-overlay, .pms-scope .reviews-side-panel-overlay{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    z-index: 1000;
    opacity: 0;
    visibility: hidden;
    transition: all .3s;
}.pms-scope .amenities-side-panel-overlay.active, .pms-scope .reviews-side-panel-overlay.active{
    opacity: 1;
    visibility: visible;
}.pms-scope .amenities-side-panel, .pms-scope .reviews-side-panel{
    position: absolute;
    top: 0;
    right: -100%;
    bottom: 0;
    width: 100%;
    max-width: 500px;
    background: #fff;
    padding: 40px;
    transition: right .4s;
    overflow-y: auto;
}.pms-scope .amenities-side-panel-overlay.active .amenities-side-panel, .pms-scope .reviews-side-panel-overlay.active .reviews-side-panel{
    right: 0;
}.pms-scope .amenities-panel-header, .pms-scope .reviews-panel-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}.pms-scope .btn-close-panel{
    font-size: 2rem;
    background: none;
    border: none;
    cursor: pointer;
}

@media (max-width: 768px) {.pms-scope .reviews-grid{
        grid-template-columns: 1fr;
    }.pms-scope .attraction-card{
        flex: 0 0 280px;
    }
}

/* ==== [PMS-MODULE] base readability: the scope is a self-contained light
   surface so host-site dark themes can never make text invisible ==== */
.pms-scope { background: #fff; color: #222; }
.pms-scope h1, .pms-scope h2, .pms-scope h3, .pms-scope h4, .pms-scope h5,
.pms-scope p, .pms-scope li, .pms-scope td, .pms-scope th, .pms-scope span,
.pms-scope label, .pms-scope small { color: inherit; }
.pms-scope a { color: #b5935a; }

/* Jeremy PMS visual cleanup */
.pms-scope .property-hero {
    min-height: clamp(220px, 28vw, 360px) !important;
    height: clamp(220px, 28vw, 360px) !important;
    margin-bottom: 0 !important;
    background-size: cover !important;
    background-position: center !important;
}

.pms-scope .property-hero .hero-content h1 {
    font-size: clamp(2rem, 4vw, 3.5rem) !important;
}

.pms-scope .gallery-section {
    max-width: 1120px !important;
    padding-top: 24px !important;
}

.pms-scope .gallery-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .8fr) !important;
    grid-template-rows: 170px 170px !important;
    gap: 8px !important;
}

.pms-scope .gallery-right {
    height: 348px !important;
    min-height: 0 !important;
}

.pms-scope .gallery-item img {
    object-fit: cover !important;
}

.pms-scope .sleeping-section {
    margin: 0;
}

.pms-scope .sleeping-disclosure {
    border: 1px solid #ece7dd;
    border-radius: 14px;
    background: #fff;
}

.pms-scope .sleeping-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}

.pms-scope .sleeping-disclosure > summary::-webkit-details-marker {
    display: none;
}

.pms-scope .sleeping-disclosure .section-title {
    display: block;
    margin: 0;
    font-size: 1.25rem;
    line-height: 1.2;
}

.pms-scope .sleeping-summary {
    display: block;
    margin-top: 4px;
    font-size: .95rem;
    color: #6b6258;
}

.pms-scope .sleeping-toggle-text::before {
    content: "Show details";
    display: inline-flex;
    align-items: center;
    min-width: 96px;
    justify-content: center;
    border: 1px solid #d8c6a4;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: .85rem;
    font-weight: 700;
    color: #7b5f2c;
}

.pms-scope .sleeping-disclosure[open] .sleeping-toggle-text::before {
    content: "Hide details";
}

.pms-scope .sleeping-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 20px 20px;
}

.pms-scope .sleeping-card {
    border: 1px solid #f0ece4;
    border-radius: 10px;
    padding: 12px 14px;
    background: #fbfaf7;
}

.pms-scope .sleeping-card h3 {
    margin: 0 0 4px;
    font-size: .98rem;
    font-weight: 700;
}

.pms-scope .sleeping-card p {
    margin: 0;
    font-size: .92rem;
    line-height: 1.4;
    color: #5f5a52;
}

@media (max-width: 768px) {
    .pms-scope .property-hero {
        min-height: 140px !important;
        height: 140px !important;
    }

    .pms-scope .gallery-section {
        padding: 14px 14px 0 !important;
    }

    .pms-scope .gallery-grid {
        display: block !important;
    }

    .pms-scope .gallery-main {
        aspect-ratio: 16 / 10 !important;
        height: auto !important;
        border-radius: 12px !important;
        overflow: hidden !important;
    }

    .pms-scope .gallery-right {
        display: none !important;
    }

    .pms-scope .sleeping-disclosure > summary {
        align-items: flex-start;
        padding: 16px;
    }

    .pms-scope .sleeping-toggle-text::before {
        min-width: 84px;
        padding: 7px 10px;
    }

    .pms-scope .sleeping-grid {
        grid-template-columns: 1fr;
        padding: 0 16px 16px;
    }
}

/* Jeremy 11 Sep PDF QA: property hero, amenities drawer, and mobile date picker. */
.pms-scope .amenities-side-panel-overlay,
.pms-scope .reviews-side-panel-overlay {
    z-index: 12000 !important;
}

.pms-scope .amenities-side-panel,
.pms-scope .reviews-side-panel {
    max-height: 100vh;
    z-index: 12001;
}

.pms-scope .amenities-panel-header,
.pms-scope .reviews-panel-header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 2;
}

.pms-scope .property-hero .hero-overlay {
    align-items: center;
    display: flex;
    min-height: inherit;
    padding: 96px 24px 36px;
}

.pms-scope .property-hero .hero-content {
    margin: 0 auto;
    max-width: min(980px, 100%);
    position: static !important;
    text-align: center;
    transform: none !important;
}

.pms-scope .property-hero .hero-subtitle {
    display: block;
    font-size: clamp(1rem, 2.2vw, 1.45rem);
    line-height: 1.35;
    margin: 10px auto 0;
    max-width: 920px;
    overflow-wrap: anywhere;
}

@media (max-width: 768px) {
    .pms-scope .property-hero {
        height: auto !important;
        min-height: 230px !important;
    }

    .pms-scope .property-hero .hero-overlay {
        padding: 92px 18px 28px;
    }

    .pms-scope .property-hero .hero-content h1 {
        font-size: clamp(2rem, 11vw, 3.2rem) !important;
        line-height: 1;
        margin: 0;
    }

    .pms-scope .property-hero .hero-subtitle {
        font-size: 1rem;
    }

    .pms-scope .property-title {
        font-size: clamp(1.65rem, 9vw, 2.45rem) !important;
        line-height: 1.08;
        overflow-wrap: anywhere;
    }

    .pms-scope .property-location,
    .pms-scope .property-meta {
        align-items: flex-start;
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .pms-scope .listing-layout,
    .pms-scope .listing-main {
        max-width: 100%;
        overflow: hidden;
    }

    .pms-scope .amenities-side-panel,
    .pms-scope .reviews-side-panel {
        max-width: none;
        padding: 24px 18px;
        width: 100%;
    }
}

/* Keep property detail hero text inside the banner when theme/home hero CSS loads later. */
.pms-scope .property-hero {
    isolation: isolate !important;
    overflow: hidden !important;
    position: relative !important;
}

.pms-scope .property-hero > .hero-overlay {
    align-items: center !important;
    background: linear-gradient(to top, rgba(0, 0, 0, .62), rgba(0, 0, 0, .22) 52%, rgba(0, 0, 0, .38)) !important;
    box-sizing: border-box !important;
    display: flex !important;
    inset: 0 !important;
    justify-content: flex-start !important;
    min-height: 0 !important;
    padding: clamp(96px, 10vw, 128px) 24px 36px !important;
    position: absolute !important;
    text-align: left !important;
    z-index: 1 !important;
}

.pms-scope .property-hero > .hero-overlay > .hero-content {
    color: #fff !important;
    display: block !important;
    margin: 0 auto !important;
    max-width: min(1120px, calc(100% - 32px)) !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative !important;
    text-align: left !important;
    transform: none !important;
    width: 100% !important;
    z-index: 2 !important;
}

.pms-scope .property-hero > .hero-overlay > .hero-content h1 {
    color: #fff !important;
    font-size: clamp(2.25rem, 4.4vw, 3.8rem) !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.pms-scope .property-hero > .hero-overlay > .hero-content .hero-subtitle {
    color: #fff !important;
    display: block !important;
    font-size: clamp(1rem, 2.2vw, 1.45rem) !important;
    line-height: 1.35 !important;
    margin: 10px 0 0 !important;
    max-width: 920px !important;
    overflow-wrap: anywhere !important;
    text-shadow: 0 2px 18px rgba(0, 0, 0, .45) !important;
}

.pms-scope .gallery-section {
    position: relative !important;
    z-index: 0 !important;
}

/* Keep the reviews drawer header solid while only the card list scrolls. */
.pms-scope .reviews-side-panel-overlay {
    z-index: 12000 !important;
}

.pms-scope .reviews-side-panel {
    background: #fff !important;
    display: flex !important;
    flex-direction: column !important;
    height: 100vh !important;
    max-height: 100vh !important;
    overflow: hidden !important;
    z-index: 12001 !important;
}

.pms-scope .reviews-panel-header {
    background: #fff !important;
    border-bottom: 1px solid rgba(185, 147, 79, .35) !important;
    box-shadow: 0 12px 24px rgba(20, 34, 54, .12) !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 12 !important;
}

.pms-scope .reviews-panel-content {
    background: #fff !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-top: 16px !important;
    position: relative !important;
    z-index: 1 !important;
}

.pms-scope .reviews-list-full {
    padding-top: 0 !important;
}

@media (max-width: 768px) {
    .pms-scope .property-hero > .hero-overlay {
        padding: 68px 16px 16px !important;
    }

    .pms-scope .property-hero > .hero-overlay > .hero-content h1 {
        font-size: clamp(1.75rem, 9vw, 2.8rem) !important;
    }

    .pms-scope .property-hero > .hero-overlay > .hero-content .hero-subtitle {
        font-size: 0.95rem !important;
    }

    .pms-scope .booking-sidebar {
        margin-bottom: 24px !important;
        width: 100% !important;
    }

    .pms-scope .booking-card {
        border-radius: 14px !important;
        box-shadow: 0 4px 16px rgba(14, 30, 37, 0.1) !important;
        padding: 16px 14px !important;
    }

    .pms-scope .booking-price {
        margin-bottom: 12px !important;
    }

    .pms-scope .booking-price .price-amount {
        font-size: 1.45rem !important;
    }

    .pms-scope .booking-card .date-picker-trigger {
        padding: 6px 10px !important;
    }

    .pms-scope .booking-card .guests-field {
        margin-top: 10px !important;
    }
}

@media (max-width: 767px) {
    .litepicker {
        left: 50% !important;
        max-height: calc(100vh - 32px);
        max-width: calc(100vw - 24px);
        overflow-y: auto;
        position: fixed !important;
        top: 16px !important;
        transform: translateX(-50%) !important;
        z-index: 13000 !important;
    }

    .litepicker .container__months {
        box-sizing: border-box;
        max-width: 100%;
        overflow-x: hidden;
        padding: 14px !important;
    }

    .litepicker .container__months .month-item {
        box-sizing: border-box;
        margin: 0 auto;
        max-width: min(340px, calc(100vw - 48px));
        width: 100% !important;
    }

    .litepicker .month-item-weekdays-row {
        box-sizing: border-box !important;
        display: flex !important;
        width: 100% !important;
    }

    .litepicker .month-item-weekdays-row > div {
        box-sizing: border-box !important;
        flex: 0 0 calc(100% / 7) !important;
        max-width: calc(100% / 7) !important;
        text-align: center !important;
        width: calc(100% / 7) !important;
    }

    .litepicker .container__days {
        box-sizing: border-box !important;
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100% !important;
    }

    .litepicker .container__days .day-item,
    .litepicker .day-item {
        align-items: center !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        flex: 0 0 calc(100% / 7) !important;
        height: auto !important;
        justify-content: center !important;
        max-width: calc(100% / 7) !important;
        min-height: 38px;
        padding: 4px 2px !important;
        width: calc(100% / 7) !important;
    }

    .litepicker .pms-calendar-key {
        bottom: auto;
        position: sticky;
    }
}
