body.client-theme-casa-magica #mainNav {
  background: transparent !important;
  min-height: 85px;
  z-index: 1000 !important;
}

body.client-theme-casa-magica #mainNav.scrolled {
  background: rgba(14, 10, 6, .95) !important;
}

body.client-theme-casa-magica .nav__toggle {
  display: none;
}

body.client-theme-casa-magica #mainNav .nav-brand img {
  height: 64px !important;
  max-height: 64px !important;
  object-fit: contain !important;
  width: 65px !important;
}

body.client-theme-casa-magica #mainNav .nav-links {
  margin: 0 !important;
  padding-left: 0 !important;
}

body.client-theme-casa-magica #mainNav .nav-links a {
  color: rgba(255, 255, 255, .65) !important;
  font-family: Poppins, sans-serif !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}

body.client-theme-casa-magica #mainNav .nav-links a:hover {
  color: #fff !important;
}

body.client-theme-casa-magica .video-banner-section {
  position: relative;
}

body.client-theme-casa-magica .vb-video-wrap {
  background: url("https://images.unsplash.com/photo-1507525428034-b723cf961d3e?w=1600&auto=format&fit=crop&q=80") center/cover no-repeat;
}

body.client-theme-casa-magica .vb-loader {
  display: none !important;
}

body.client-theme-casa-magica:not(.casa-home) .property-hero {
  background-size: cover !important;
  background-position: center !important;
  display: flex !important;
  align-items: flex-end !important;
  min-height: 450px !important;
  height: 70vh !important;
  position: relative !important;
}

body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-overlay {
  align-items: flex-end !important;
  background: linear-gradient(to top, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .2) 50%, rgba(0, 0, 0, .4) 100%) !important;
  display: flex !important;
  inset: 0 !important;
  justify-content: flex-start !important;
  padding: 60px 80px !important;
  position: absolute !important;
}

body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-content {
  color: #fff !important;
  max-width: 800px !important;
  text-align: left !important;
}

body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-content h1 {
  color: #fff !important;
  font-size: clamp(3rem, 6vw, 5rem) !important;
  line-height: 1.1 !important;
  margin: 0 0 15px !important;
}

body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-subtitle {
  color: var(--gold, #c9a84c) !important;
  font-size: clamp(1rem, 2vw, 1.25rem) !important;
  margin: 0 !important;
}

body.client-theme-casa-magica #bannerBookingBar {
  bottom: 20px !important;
  display: flex !important;
  left: 50% !important;
  margin: 0 !important;
  max-width: 900px !important;
  opacity: 1 !important;
  position: absolute !important;
  right: auto !important;
  top: auto !important;
  transform: translateX(-50%) !important;
  visibility: visible !important;
  width: 95% !important;
  z-index: 2147483647 !important;
}

body.client-theme-casa-magica .vb-overlay {
  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%) !important;
}

body.client-theme-casa-magica .booking-bar.casa-booking-bar {
  display: flex;
  align-items: center;
  color: #fff;
}

body.client-theme-casa-magica .casa-booking-bar input.booking-input {
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: #fff !important;
  min-height: 24px;
  padding: 0 !important;
}

body.client-theme-casa-magica .casa-booking-bar input.booking-input::placeholder {
  color: #fff;
  opacity: 1;
}

body.client-theme-casa-magica .casa-booking-bar .booking-input {
  color: #fff;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-selector {
  position: relative;
  width: 100%;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-trigger {
  align-items: center;
  background: transparent;
  border: 0;
  color: #fff;
  cursor: pointer;
  display: flex;
  font: inherit;
  justify-content: space-between;
  min-height: 24px;
  padding: 0;
  text-align: left;
  width: 100%;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-summary {
  color: #fff;
  font-size: .85rem;
  font-weight: 400;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-chevron {
  color: rgba(255, 255, 255, .72);
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-popover {
  background: #fff;
  border: 1px solid rgba(14, 10, 6, .12);
  border-radius: 4px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .28);
  color: #1f1a14;
  left: 0;
  min-width: 280px;
  padding: 18px;
  position: absolute;
  top: calc(100% + 14px);
  z-index: 2147483647;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-row {
  align-items: center;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 10px 0;
}

body.client-theme-casa-magica .casa-booking-bar .vr-stepper {
  align-items: center;
  display: flex;
  gap: 10px;
}

body.client-theme-casa-magica .casa-booking-bar .vr-stepper-btn {
  align-items: center;
  background: #c9a84c;
  border: 0;
  border-radius: 50%;
  color: #0e0a06;
  display: inline-flex;
  height: 28px;
  justify-content: center;
  line-height: 1;
  width: 28px;
}

body.client-theme-casa-magica .casa-booking-bar .vr-guest-popover-close {
  background: #0e0a06;
  border: 0;
  color: #fff;
  margin-top: 12px;
  padding: 9px 16px;
  width: 100%;
}

body.client-theme-casa-magica .casa-booking-bar .btn-avail {
  border: 0;
  border-radius: 8px;
  padding: 17px 24px;
}

body.client-theme-casa-magica.casa-home section#experiences.panel.has-card {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: none !important;
  overflow: hidden;
  width: 100% !important;
}

body.client-theme-casa-magica.casa-home section#experiences .panel-bg {
  background-attachment: scroll !important;
  background-position: center center !important;
  background-size: cover !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
}

body.client-theme-casa-magica.casa-property-detail .gallery-grid {
  align-items: stretch !important;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 1fr) !important;
  grid-template-rows: repeat(2, minmax(190px, 220px)) !important;
  overflow: hidden !important;
}

body.client-theme-casa-magica.casa-property-detail .gallery-grid .gallery-main,
body.client-theme-casa-magica.casa-property-detail .gallery-right {
  grid-row: 1 / 3 !important;
  min-height: 0 !important;
}

body.client-theme-casa-magica.casa-property-detail .gallery-right {
  display: grid !important;
  gap: 8px !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  height: 100% !important;
}

body.client-theme-casa-magica.casa-property-detail .gallery-item,
body.client-theme-casa-magica.casa-property-detail .gallery-item img {
  height: 100% !important;
}

body.client-theme-casa-magica.casa-property-detail .booking-price {
  margin-bottom: 18px !important;
}

body.client-theme-casa-magica.casa-property-detail .price-period {
  color: rgba(31, 26, 20, .58) !important;
  font-family: Jost, sans-serif !important;
  font-size: .86rem !important;
  font-weight: 400 !important;
}

body.client-theme-casa-magica.casa-property-detail .detail-price-breakdown {
  background: rgba(255, 255, 255, .58) !important;
  border: 1px solid rgba(197, 164, 106, .22) !important;
  border-radius: 10px !important;
  gap: 10px !important;
  margin: 14px 0 16px !important;
  padding: 16px !important;
}

body.client-theme-casa-magica.casa-property-detail .detail-quote-heading {
  color: rgba(31, 26, 20, .72) !important;
  font-family: Jost, sans-serif !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: uppercase !important;
}

body.client-theme-casa-magica.casa-property-detail .detail-price-row {
  align-items: flex-start !important;
  color: #1f1a14 !important;
  font-family: Jost, sans-serif !important;
  font-size: .86rem !important;
}

body.client-theme-casa-magica.casa-property-detail .detail-price-row-total {
  border-top: 1px solid rgba(31, 26, 20, .12) !important;
  font-weight: 600 !important;
  margin-top: 2px !important;
  padding-top: 10px !important;
}

body.client-theme-casa-magica.casa-property-detail .casa-booking-submit:disabled,
body.client-theme-casa-magica.casa-property-detail .casa-booking-submit.is-loading {
  cursor: wait !important;
  opacity: .72 !important;
}

@media (max-width: 768px) {
  body.client-theme-casa-magica.casa-property-detail .gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: 260px !important;
    height: auto !important;
  }

  body.client-theme-casa-magica.casa-property-detail .gallery-grid .gallery-main {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  body.client-theme-casa-magica.casa-property-detail .gallery-right {
    display: none !important;
  }

  body.client-theme-casa-magica #mainNav {
    align-items: center;
    flex-wrap: nowrap;
    min-height: 0;
    padding: 15px 30px !important;
  }

  body.client-theme-casa-magica #mainNav .nav-links {
    background: rgba(14, 10, 6, .97);
    border: 1px solid rgba(201, 168, 76, .18);
    box-shadow: 0 22px 45px rgba(0, 0, 0, .25);
    display: flex !important;
    flex-direction: column;
    gap: 0;
    left: 16px;
    margin: 0 !important;
    max-height: 0;
    overflow: hidden;
    padding: 0 !important;
    position: absolute;
    right: 16px;
    top: calc(100% + 8px);
    transition: none;
    white-space: normal;
    width: auto;
    z-index: 1001;
  }

  body.client-theme-casa-magica #mainNav .nav-links.open {
    max-height: 520px;
    padding: 6px 0 !important;
  }

  body.client-theme-casa-magica #mainNav .nav-links li {
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    display: block;
    width: 100%;
  }

  body.client-theme-casa-magica #mainNav .nav-links li:last-child {
    border-bottom: 0;
  }

  body.client-theme-casa-magica #mainNav .nav-links a {
    display: block;
    padding: 13px 18px;
  }

  body.client-theme-casa-magica:not(.casa-home) .property-hero {
    height: 60vh !important;
  }

  body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-overlay {
    padding: 40px 24px !important;
  }

  body.client-theme-casa-magica:not(.casa-home) .property-hero .hero-content h1 {
    font-size: 3rem !important;
  }

  body.client-theme-casa-magica .nav__toggle {
    background: rgba(14, 10, 6, .42);
    border: 1px solid rgba(255, 255, 255, .36);
    color: #fff;
    display: inline-flex !important;
    flex-direction: column;
    gap: 5px;
    height: 42px;
    justify-content: center;
    padding: 0;
    width: 42px;
  }

  body.client-theme-casa-magica .nav__toggle span {
    background: #fff;
    display: block;
    height: 2px;
    margin: 0 auto;
    width: 18px;
  }

  body.client-theme-casa-magica .btn-nav-book {
    font-size: .6rem;
    padding: 8px 16px;
  }

  body.client-theme-casa-magica .booking-bar.casa-booking-bar {
    flex-direction: column;
  }

  body.client-theme-casa-magica.casa-property-detail .booking-sidebar {
    order: 0 !important;
  }

  body.client-theme-casa-magica .casa-booking-bar .booking-field {
    width: 100%;
  }

  body.client-theme-casa-magica .casa-booking-bar > div:last-child {
    width: 100%;
  }

  body.client-theme-casa-magica .casa-booking-bar .btn-avail {
    width: 100%;
  }
}

@media (max-width: 480px) {
  body.client-theme-casa-magica #mainNav {
    min-height: 0;
    padding: 15px 20px !important;
  }

  body.client-theme-casa-magica #mainNav .nav-brand span {
    display: none;
  }
}

body.client-theme-casa-magica.casa-gallery .property-hero,
body.client-theme-casa-magica.casa-experiences .property-hero,
body.client-theme-casa-magica.casa-reviews .property-hero,
body.client-theme-casa-magica.casa-contact .property-hero {
  height: 80vh !important;
  min-height: 520px !important;
}

body.client-theme-casa-magica.casa-gallery .property-hero .hero-overlay,
body.client-theme-casa-magica.casa-experiences .property-hero .hero-overlay,
body.client-theme-casa-magica.casa-reviews .property-hero .hero-overlay,
body.client-theme-casa-magica.casa-contact .property-hero .hero-overlay {
  padding: 0 clamp(24px, 4.2vw, 64px) clamp(70px, 8.5vh, 84px) !important;
}

body.client-theme-casa-magica.casa-gallery .property-hero .hero-content,
body.client-theme-casa-magica.casa-experiences .property-hero .hero-content,
body.client-theme-casa-magica.casa-reviews .property-hero .hero-content,
body.client-theme-casa-magica.casa-contact .property-hero .hero-content {
  margin: 0 !important;
  max-width: 720px !important;
  padding: 0 !important;
}

body.client-theme-casa-magica.casa-gallery .property-hero .hero-content h1,
body.client-theme-casa-magica.casa-experiences .property-hero .hero-content h1,
body.client-theme-casa-magica.casa-reviews .property-hero .hero-content h1,
body.client-theme-casa-magica.casa-contact .property-hero .hero-content h1 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(40px, 3.4vw, 52px) !important;
  font-weight: 600 !important;
  line-height: 1.05 !important;
  margin: 0 !important;
}

body.client-theme-casa-magica.casa-gallery .property-hero .hero-subtitle,
body.client-theme-casa-magica.casa-experiences .property-hero .hero-subtitle,
body.client-theme-casa-magica.casa-reviews .property-hero .hero-subtitle,
body.client-theme-casa-magica.casa-contact .property-hero .hero-subtitle {
  color: rgba(255, 255, 255, .86) !important;
  font-size: clamp(16px, 1.25vw, 19px) !important;
  line-height: 1.55 !important;
  margin: 14px 0 0 !important;
}

@media (max-width: 768px) {
  body.client-theme-casa-magica.casa-gallery .property-hero,
  body.client-theme-casa-magica.casa-experiences .property-hero,
  body.client-theme-casa-magica.casa-reviews .property-hero,
  body.client-theme-casa-magica.casa-contact .property-hero {
    height: 58vh !important;
    min-height: 360px !important;
  }

  body.client-theme-casa-magica.casa-gallery .property-hero .hero-overlay,
  body.client-theme-casa-magica.casa-experiences .property-hero .hero-overlay,
  body.client-theme-casa-magica.casa-reviews .property-hero .hero-overlay,
  body.client-theme-casa-magica.casa-contact .property-hero .hero-overlay {
    padding: 0 24px 54px !important;
  }

  body.client-theme-casa-magica.casa-gallery .property-hero .hero-content h1,
  body.client-theme-casa-magica.casa-experiences .property-hero .hero-content h1,
  body.client-theme-casa-magica.casa-reviews .property-hero .hero-content h1,
  body.client-theme-casa-magica.casa-contact .property-hero .hero-content h1 {
    font-size: 38px !important;
  }
}
