/* Casa Única Website Foundation 4.5.3 — canonical unit-page, gallery and unit-overlay styles. */

/* --------------------------------------------------------------------------
   Unit page frame
   -------------------------------------------------------------------------- */

.cu-unit-page{
  width: 100%;
  padding: 0 0 clamp(4.5rem, 8vw, 8rem);
}

.cu-unit-page--ol{
  color: var(--cu-ink);
}

.cu-anchor-target{
  scroll-margin-top: calc(var(--cu-header-bottom) + 1.25rem);
}

.cu-unit-layout--ol{
  --cu-unit-layout-bottom-breathing: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 460px);
  gap: clamp(3rem, 4.5vw, 4.75rem);
  align-items: stretch;
  width: min(var(--cu-content-wide), calc(100% - 2.5rem));
  margin: clamp(2.1rem, 4vw, 3.5rem) auto 0;
  padding-bottom: var(--cu-unit-layout-bottom-breathing);
  border-bottom: 1px solid var(--cu-line);
}

.cu-unit-content{
  min-width: 0;
}

/* The Unit layout owns the final two-column separator. The last left-column
   section therefore owns neither a duplicate border nor trailing section
   padding below its final visible card. This makes the visible left endpoint
   and Card 2 share one physical baseline before the closing band. */
.cu-unit-content--v3 > .cu-unit-v3-section:last-child,
.cu-unit-content--v3 > .cu-unit-v3-promotion:last-child{
  padding-bottom: 0;
  border-bottom: 0;
}

/* Desktop booking geometry has two distinct owners:
   - this column stretches to the same natural bottom boundary as Unit content;
   - the two-card stack is the sticky, viewport-bounded native scroll surface.
   This keeps the stack top-pinned during the content run, yet lets the browser's
   native sticky constraint finish Card 2 on the shared Unit-layout baseline. */
.cu-unit-booking-column{
  --cu-unit-booking-sticky-gap: 1rem;
  position: relative;
  align-self: stretch;
  min-width: 0;
  min-height: 0;
  overflow: visible;
}

.cu-unit-booking-column .cu-booking-stack{
  position: sticky;
  top: calc(var(--cu-header-bottom) + var(--cu-unit-booking-sticky-gap));
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  max-height: calc(100vh - var(--cu-header-bottom) - var(--cu-unit-booking-sticky-gap) - var(--cu-unit-layout-bottom-breathing));
  max-height: calc(100dvh - var(--cu-header-bottom) - var(--cu-unit-booking-sticky-gap) - var(--cu-unit-layout-bottom-breathing));
  overflow-x: visible;
  overflow-y: auto;
  overscroll-behavior-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.cu-unit-booking-column .cu-booking-stack::-webkit-scrollbar{
  width: 0;
  height: 0;
  display: none;
}

/* --------------------------------------------------------------------------
   OL-style three-image preview gallery
   -------------------------------------------------------------------------- */

.cu-unit-gallery{
  position: relative;
  width: min(var(--cu-max), calc(100% - 2.5rem));
  margin: clamp(1.1rem, 2.4vw, 2rem) auto 0;
}

.cu-unit-gallery--empty{
  min-height: clamp(320px, 48vw, 580px);
  overflow: hidden;
  border-radius: 1.35rem;
  background: var(--cu-green-soft);
}

.cu-unit-gallery--empty > .cu-media-placeholder{
  min-height: inherit;
}

.cu-unit-gallery__preview{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 2.05fr) minmax(260px, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  height: clamp(440px, 38vw, 590px);
  overflow: hidden;
  border-radius: 1.25rem;
  background: var(--cu-green-soft);
}

.cu-unit-gallery__tile{
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: var(--cu-green-soft);
  cursor: zoom-in;
}

.cu-unit-gallery__tile--1{
  grid-column: 1;
  grid-row: 1 / 3;
}

.cu-unit-gallery__tile--2{
  grid-column: 2;
  grid-row: 1;
}

.cu-unit-gallery__tile--3{
  grid-column: 2;
  grid-row: 2;
}

.cu-unit-gallery__tile picture,
.cu-unit-gallery__tile img{
  display: block;
  width: 100%;
  height: 100%;
}

.cu-unit-gallery__tile img{
  object-fit: cover;
  transition: transform .35s ease, filter .25s ease;
}

.cu-unit-gallery__tile::after{
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  content: "";
  pointer-events: none;
  background: linear-gradient(transparent, rgba(8, 19, 14, .6));
  opacity: .72;
}

.cu-unit-gallery__tile:hover img,
.cu-unit-gallery__tile:focus-visible img{
  transform: scale(1.018);
  filter: brightness(.96);
}

.cu-unit-gallery__tile:focus-visible{
  z-index: 2;
  outline: 3px solid #fff;
  outline-offset: -5px;
}

.cu-unit-gallery__tile-title{
  position: absolute;
  right: .9rem;
  bottom: .7rem;
  left: .9rem;
  z-index: 1;
  overflow: hidden;
  color: #fff;
  font-size: .78rem;
  line-height: 1.3;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cu-unit-gallery--count-1 .cu-unit-gallery__preview{
  display: block;
  height: auto;
  aspect-ratio: 16 / 7.2;
}

.cu-unit-gallery--count-1 .cu-unit-gallery__tile--1{
  width: 100%;
  height: 100%;
}

.cu-unit-gallery--count-2 .cu-unit-gallery__preview{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cu-unit-gallery--count-2 .cu-unit-gallery__tile--1,
.cu-unit-gallery--count-2 .cu-unit-gallery__tile--2{
  grid-row: 1 / 3;
}

.cu-unit-gallery__show-all{
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-height: 40px;
  padding: .6rem .82rem;
  border: 1px solid rgba(31, 67, 55, .22);
  border-radius: 999px;
  background: rgba(255, 253, 247, .94);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .14);
  color: var(--cu-green-dark);
  font: inherit;
  font-size: .78rem;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.cu-unit-gallery__show-all:hover,
.cu-unit-gallery__show-all:focus-visible{
  background: #fff;
  outline: 2px solid var(--cu-gold);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Full gallery and image viewer
   -------------------------------------------------------------------------- */

.cu-gallery-modal[hidden]{
  display: none;
}

.cu-overlay-root[data-cu-overlay-kind="gallery"] .cu-overlay-root__backdrop{
  display: block;
  background: rgba(26, 37, 29, .58);
}

.cu-gallery-modal{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
}

.cu-gallery-modal{
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(.75rem, 2vw, 1.5rem);
  background: transparent;
}

/* The shared overlay backdrop is the sole click-away owner. Gallery frames are
   layout shells only; the visible panel owns interaction. */
.cu-overlay-root .cu-gallery-modal[data-cu-active-overlay]{pointer-events:none;}
.cu-overlay-root .cu-gallery-modal[data-cu-active-overlay] .cu-gallery-modal__panel{pointer-events:auto;}

.cu-gallery-modal__panel{
  display: flex;
  flex-direction: column;
  width: min(1180px, 100%);
  height: min(88dvh, 900px);
  min-height: 0;
  overflow: hidden;
  border-radius: 1.35rem;
  background: var(--cu-cream);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
}

.cu-gallery-modal__header{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.1rem 1.35rem;
  border-bottom: 1px solid var(--cu-line);
}

.cu-gallery-modal__header h2{
  margin: 0;
  font-family: var(--cu-font-heading);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  font-weight: 400;
}

.cu-gallery-modal__header .cu-eyebrow{
  margin: 0 0 .15rem;
}

.cu-gallery-close{
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--cu-line);
  border-radius: 50%;
  background: #fff;
  color: var(--cu-green-dark);
  font: 300 1.75rem / 1 Arial, sans-serif;
  cursor: pointer;
}

.cu-gallery-modal__body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 1rem;
}

.cu-gallery-modal__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: clamp(250px, 34vh, 420px);
  gap: .8rem;
}

.cu-gallery-modal__image{
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 1rem;
  background: var(--cu-green-soft);
  cursor: zoom-in;
}

.cu-gallery-modal__image.is-tall{
  grid-row: span 2;
}

.cu-gallery-modal__image picture,
.cu-gallery-modal__image img{
  display: block;
  width: 100%;
  height: 100%;
}

.cu-gallery-modal__image img{
  object-fit: cover;
  transition: transform .3s ease;
}

.cu-gallery-modal__image:hover img,
.cu-gallery-modal__image:focus-visible img{
  transform: scale(1.018);
}

.cu-gallery-modal__image > span{
  position: absolute;
  right: .75rem;
  bottom: .75rem;
  left: .75rem;
  display: flex;
  flex-direction: column;
  gap: .15rem;
  padding: .65rem .75rem;
  border-radius: .7rem;
  background: rgba(13, 30, 25, .76);
  color: #fff;
  text-align: left;
}

.cu-gallery-modal__image > span strong{
  font-weight: 500;
}

.cu-gallery-modal__image > span small{
  color: rgba(255, 255, 255, .78);
}

























.cu-gallery-modal button:focus-visible{
  outline: 3px solid #fff;
  outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   Compact property introduction
   -------------------------------------------------------------------------- */

.cu-unit-intro--ol{
  padding: 0 0 clamp(1.75rem, 3vw, 2.6rem);
  border-bottom: 1px solid var(--cu-line);
}

.cu-unit-intro__title-row{
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .6rem 1.4rem;
}

.cu-unit-intro--ol h1{
  margin: 0;
  font-family: var(--cu-font-heading);
  font-size: clamp(3rem, 5.6vw, 5.25rem);
  font-weight: 400;
  line-height: .96;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.cu-unit-intro__location{
  color: var(--cu-brown);
  font-size: .73rem;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.cu-unit-hero__facts--icons{
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.05rem;
  margin: .9rem 0 0;
  padding: 0;
  list-style: none;
  color: var(--cu-muted);
}

.cu-unit-hero__facts--icons li{
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  white-space: nowrap;
  font-size: .84rem;
}

.cu-unit-hero__facts--icons strong{
  color: var(--cu-green-dark);
  font-size: .88rem;
  font-weight: 500;
}

.cu-unit-fact-icon{
  width: 1.2rem;
  height: 1.2rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cu-unit-intro__rate{
  display: flex;
  align-items: baseline;
  gap: .32rem;
  margin: .85rem 0 0;
  color: var(--cu-muted);
  font-size: .96rem;
}

.cu-unit-intro__rate strong{
  color: var(--cu-green-dark);
  font-size: 1.23rem;
  font-weight: 500;
}

/* Unit promotion is intentionally compact; homepage promotion motion is owned elsewhere. */
.cu-unit-content > .cu-promo-banner--unit,
.cu-unit-v3-promotion .cu-promo-banner--unit{
  width: 100%;
  min-height: 0;
  margin: clamp(1.6rem, 3vw, 2.4rem) 0 0;
  border-radius: 1.15rem;
  box-shadow: 0 12px 30px rgba(41, 58, 46, .09);
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__body,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__body{
  gap: .65rem;
  padding: 1.15rem 1.25rem;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__badge,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__badge{
  margin-bottom: .35rem;
  padding: .25rem .5rem;
  font-size: .63rem;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__title,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__title{
  max-width: 25ch;
  padding-right: 2rem;
  font-size: clamp(1.55rem, 3vw, 2.25rem);
  line-height: 1.05;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__summary,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__summary{
  max-width: 58ch;
  margin-top: .45rem;
  font-size: .9rem;
  line-height: 1.5;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__meta,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__meta{
  gap: .35rem;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__meta li,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__meta li{
  padding: .27rem .5rem;
  font-size: .7rem;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__cta,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__cta{
  padding: .65rem .9rem;
  font-size: .84rem;
}

.cu-unit-content > .cu-promo-banner--unit .cu-promo-banner__dismiss,
.cu-unit-v3-promotion .cu-promo-banner--unit .cu-promo-banner__dismiss{
  top: .65rem;
  right: .65rem;
  width: 32px;
  height: 32px;
  font-size: 1.15rem;
}

/* --------------------------------------------------------------------------
   Canonical content sections
   -------------------------------------------------------------------------- */

.cu-unit-section{
  padding: clamp(2.5rem, 5vw, 4.4rem) 0;
  border-bottom: 1px solid var(--cu-line);
}

.cu-unit-section__heading{
  display: flex;
  align-items: flex-start;
  gap: .9rem;
  margin-bottom: clamp(1.3rem, 2.5vw, 2rem);
}

.cu-unit-section__heading .cu-unit-section__icon{
  flex-basis: 42px;
  width: 42px;
  height: 42px;
}

.cu-unit-section__heading .cu-unit-section__icon svg{
  width: 21px;
  height: 21px;
}

.cu-unit-section__heading .cu-eyebrow{
  margin: 0 0 .22rem;
}

.cu-unit-section__heading h2{
  margin: 0;
  font-family: var(--cu-font-heading);
  font-size: clamp(2.35rem, 4.4vw, 3.75rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: -.035em;
}



/* --------------------------------------------------------------------------
   Unit Page Composer v3 — canonical modular body
   -------------------------------------------------------------------------- */

.cu-unit-page--v3 .cu-unit-gallery{
  width: min(var(--cu-max), calc(100% - 2.5rem));
}

.cu-unit-content--v3{
  display: grid;
  align-content: start;
}

.cu-unit-intro--v3{
  margin: 0;
}

.cu-unit-v3-section,
.cu-unit-v3-promotion{
  min-width: 0;
  padding: clamp(2.35rem, 4vw, 4rem) 0;
  border-bottom: 1px solid var(--cu-line);
}

.cu-unit-v3-promotion{
  padding-top: clamp(2rem, 3vw, 3rem);
}

.cu-unit-v3-promotion > .cu-promo-banner--unit,
.cu-unit-v3-promotion .cu-promo-banner--unit{
  width: 100%;
  margin: 0;
}

.cu-unit-v3-heading{
  margin: 0 0 clamp(1.2rem, 2.4vw, 1.8rem);
}

.cu-unit-v3-heading .cu-eyebrow,
.cu-unit-v3-section > .cu-eyebrow,
.cu-unit-v3-list-card > .cu-eyebrow,
.cu-unit-v3-related .cu-eyebrow{
  margin: 0 0 .45rem;
  color: var(--cu-copper);
  font-size: .69rem;
  font-weight: 500;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.cu-unit-v3-heading h2,
.cu-unit-v3-description h2,
.cu-unit-v3-related h2,
.cu-unit-v3-overlay h2{
  margin: 0;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -.032em;
  text-wrap: balance;
}

.cu-unit-v3-heading h2{
  font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.cu-unit-v3-icon{
  display: inline-block;
  flex: 0 0 auto;
  width: 1.65rem;
  height: 1.65rem;
  background: currentColor;
  -webkit-mask: var(--cu-unit-v3-icon) center / contain no-repeat;
  mask: var(--cu-unit-v3-icon) center / contain no-repeat;
  color: var(--cu-green);
}

.cu-unit-v3-description{
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(100px, 25%);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  overflow: hidden;
}

.cu-unit-v3-description__copy{
  position: relative;
  z-index: 1;
  max-width: 68ch;
}

.cu-unit-v3-description h2{
  max-width: 17ch;
  font-size: clamp(2.3rem, 4.3vw, 4rem);
}

.cu-unit-v3-richtext{
  max-width: 65ch;
  margin-top: 1rem;
  color: #536258;
  font-size: clamp(.98rem, 1.25vw, 1.08rem);
  line-height: 1.72;
}

.cu-unit-v3-richtext p{
  margin: 0;
}

.cu-unit-v3-botanical{
  width: 100%;
  min-height: 190px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 220 240'%3E%3Cg fill='none' stroke='%23c9ad8d' stroke-width='1.15' opacity='.48'%3E%3Cpath d='M112 230c-2-68 5-123 34-191M115 185C71 153 45 123 31 84M118 155c43-37 66-72 71-111M103 132C76 91 71 60 82 24M134 117c-4-34 6-62 32-84M88 171c-29-3-52-18-70-44M138 83c20-13 38-16 56-10M91 93C70 79 55 60 48 38'/%3E%3Cpath d='M31 84c31-5 49 11 57 42-28-3-47-17-57-42ZM189 44c-2 29-17 49-46 60 2-28 17-48 46-60ZM82 24c24 18 31 42 21 71-22-18-29-42-21-71ZM166 33c15 23 14 47-2 72-15-23-14-47 2-72ZM18 127c29-8 52 2 69 31-28 6-51-4-69-31ZM194 73c-8 25-26 40-54 45 8-25 26-40 54-45Z'/%3E%3C/g%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  opacity: .75;
}

/* Casita Mango watercolor decals have explicit section owners. The description
   and closing quote intentionally use different approved assets, so neither
   leaks into the other through the shared botanical primitive. */
.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-description .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-mango-description-oval-leaf-cluster-png);
  background-size: min(92%, 210px) auto;
  opacity: .22;
}

.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-quote .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-mango-quote-berry-cluster-png);
  background-size: min(90%, 190px) auto;
  opacity: .18;
}

/* Casita Café watercolor decals own the same botanical primitive in its
   description and closing quote, each with its approved asset. */
.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-description .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-cafe-description-monstera-cluster-png);
  background-size: min(95%, 270px) auto;
  opacity: .17;
}

.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-quote .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-cafe-quote-dog-swimming-png);
  background-size: min(95%, 238px) auto;
  opacity: .18;
}

/* Cuarto Colibrí uses its own approved watercolor assets while inheriting the
   shared Unit-page positioning primitives. */
.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-description .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-colibri-description-tropical-leaf-cluster-png);
  background-size: min(95%, 250px) auto;
  opacity: .18;
}

.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-quote .cu-unit-v3-botanical{
  background-image: var(--cu-relocated-colibri-quote-dog-profile-png);
  background-size: min(92%, 220px) auto;
  opacity: .18;
}

.cu-unit-v3-glance__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem clamp(1rem, 2.7vw, 2rem);
}

.cu-unit-v3-glance__item,
.cu-unit-v3-fact,
.cu-unit-v3-compact-fact,
.cu-unit-v3-amenity-item{
  display: flex;
  align-items: flex-start;
  gap: .72rem;
  min-width: 0;
}

.cu-unit-v3-glance__item > div,
.cu-unit-v3-fact > div,
.cu-unit-v3-compact-fact > div,
.cu-unit-v3-amenity-item > div{
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .12rem;
}

.cu-unit-v3-glance__item strong,
.cu-unit-v3-fact strong,
.cu-unit-v3-compact-fact strong,
.cu-unit-v3-amenity-item strong{
  color: var(--cu-green-dark);
  font-weight: 500;
  line-height: 1.28;
}

.cu-unit-v3-glance__item span,
.cu-unit-v3-fact span,
.cu-unit-v3-compact-fact span,
.cu-unit-v3-amenity-item span{
  color: var(--cu-muted);
  font-size: .79rem;
  line-height: 1.42;
}

.cu-unit-v3-private__layout{
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(260px, .82fr);
  gap: clamp(1.3rem, 3vw, 2.5rem);
  align-items: start;
}

.cu-unit-v3-media{
  min-width: 0;
}

.cu-unit-v3-media__lead,
.cu-unit-v3-media__thumbs figure,
.cu-unit-v3-scope-card__media figure,
.cu-unit-v3-bed-card__media,
.cu-unit-v3-related-card__media{
  margin: 0;
  overflow: hidden;
  background: var(--cu-green-soft);
}

.cu-unit-v3-media__lead{
  aspect-ratio: 4 / 3;
  border-radius: 1.05rem;
}

.cu-unit-v3-media__lead picture,
.cu-unit-v3-media__lead img,
.cu-unit-v3-media__thumbs picture,
.cu-unit-v3-media__thumbs img,
.cu-unit-v3-scope-card__media picture,
.cu-unit-v3-scope-card__media img,
.cu-unit-v3-bed-card__media picture,
.cu-unit-v3-bed-card__media img,
.cu-unit-v3-related-card__media picture,
.cu-unit-v3-related-card__media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-v3-media__thumbs{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .45rem;
  margin-top: .45rem;
}

.cu-unit-v3-media__thumbs figure{
  aspect-ratio: 4 / 3;
  border-radius: .65rem;
}

.cu-unit-v3-media--empty{
  display: grid;
  place-items: center;
  min-height: 260px;
  border: 1px dashed var(--cu-line);
  border-radius: 1rem;
  background: var(--cu-green-soft);
  color: var(--cu-muted);
}

.cu-unit-v3-fact-list{
  display: grid;
  gap: .75rem;
}

.cu-unit-v3-fact{
  padding-bottom: .72rem;
}

/* Item dividers belong between facts, never after the terminal fact. */
.cu-unit-v3-fact:not(:last-child){
  border-bottom: 1px solid rgba(36, 70, 58, .1);
}

.cu-unit-v3-laguna__grid,
.cu-unit-v3-included__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem;
}

.cu-unit-v3-scope-card,
.cu-unit-v3-list-card,
.cu-unit-v3-notice-card,
.cu-unit-v3-detail-card,
.cu-unit-v3-bed-card,
.cu-unit-v3-review,
.cu-unit-v3-related-card{
  border: 1px solid rgba(36, 70, 58, .14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .62);
}

.cu-unit-v3-scope-card{
  position: relative;
  padding: 1.15rem;
  overflow: hidden;
}

.cu-unit-v3-scope-card__feature{
  margin: -1.15rem -1.15rem 1.1rem;
}

.cu-unit-v3-scope-card__feature-button{
  display: block;
  width: 100%;
  height: clamp(12rem, 24vw, 18rem);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.cu-unit-v3-scope-card__feature-button picture,
.cu-unit-v3-scope-card__feature-button img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-v3-scope-card--public{
  background: rgba(241, 243, 239, .82);
}

.cu-unit-v3-scope-badge{
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: .22rem .48rem;
  border-radius: 999px;
  background: var(--cu-green-soft);
  color: var(--cu-green-dark);
  font-size: .57rem;
  font-weight: 600;
  letter-spacing: .13em;
}

.cu-unit-v3-scope-card--public .cu-unit-v3-scope-badge{
  background: #e7edf0;
  color: #456274;
}

.cu-unit-v3-scope-card h3,
.cu-unit-v3-detail-card h3{
  margin: .6rem 0 1rem;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  font-weight: 400;
  line-height: 1.06;
}

.cu-unit-v3-scope-card__facts{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem .7rem;
}

.cu-unit-v3-compact-fact .cu-unit-v3-icon{
  width: 1.35rem;
  height: 1.35rem;
}

.cu-unit-v3-scope-card__media{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .35rem;
  margin-top: 1rem;
}

.cu-unit-v3-scope-card__media figure{
  aspect-ratio: 4 / 3;
  border-radius: .55rem;
}

.cu-unit-v3-list-card{
  position: relative;
  min-width: 0;
  padding: 1.15rem;
  overflow: hidden;
}

.cu-unit-v3-list-card.has-media{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(92px, 29%);
  gap: 1rem;
  align-items: stretch;
}

.cu-unit-v3-list-card__copy{
  min-width: 0;
}

.cu-unit-v3-list-card__media{
  min-height: 100%;
  overflow: hidden;
  border-radius: .75rem;
  background: var(--cu-soft);
}

.cu-unit-v3-list-card__media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-v3-list-card ul{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .58rem .85rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.cu-unit-v3-list-card li{
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  min-width: 0;
}

.cu-unit-v3-list-card li .cu-unit-v3-icon{
  width: 1.15rem;
  height: 1.15rem;
  margin-top: .08rem;
}

.cu-unit-v3-list-card li > span{
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .05rem;
}

.cu-unit-v3-list-card li strong{
  color: var(--cu-green-dark);
  font-size: .84rem;
  font-weight: 500;
}

.cu-unit-v3-list-card li small{
  color: var(--cu-muted);
  font-size: .69rem;
  line-height: 1.35;
}

.cu-unit-v3-show-all{
  margin-top: 1rem;
}

.cu-unit-v3-notices__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

.cu-unit-v3-notice-card{
  padding: 1rem .85rem;
  text-align: center;
}

.cu-unit-v3-notice-card .cu-unit-v3-icon{
  width: 2rem;
  height: 2rem;
}

.cu-unit-v3-notice-card h3{
  margin: .55rem 0 .35rem;
  color: var(--cu-green-dark);
  font-size: .9rem;
  font-weight: 600;
  line-height: 1.25;
}

.cu-unit-v3-notice-card p{
  margin: 0;
  color: var(--cu-muted);
  font-size: .72rem;
  line-height: 1.48;
}

.cu-unit-v3-practical__grid{
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(180px, .8fr) minmax(260px, 1.35fr) minmax(260px, 1.35fr);
  gap: .7rem;
  align-items: start;
}

.cu-unit-v3-detail-card{
  min-width: 0;
  padding: 1rem;
}

.cu-unit-v3-detail-card h3{
  margin-top: 0;
  font-size: 1.28rem;
}

.cu-unit-v3-detail-card dl,
.cu-unit-v3-detail-card dd,
.cu-unit-v3-detail-card dt{
  margin: 0;
}

.cu-unit-v3-detail-card dl{
  display: grid;
  gap: .75rem;
}

.cu-unit-v3-detail-card dl > div,
.cu-unit-v3-rule-list > div{
  padding-bottom: .65rem;
}

/* Canonical terminal-divider rule: lines separate adjacent content only.
   Detail lists are normally one column. If another block follows the dl, its
   final row keeps a separator because it genuinely divides two content groups. */
.cu-unit-v3-detail-card dl > div:not(:last-child),
.cu-unit-v3-detail-card dl:not(:last-child) > div:last-child{
  border-bottom: 1px solid rgba(36, 70, 58, .1);
}

/* Two-column rule grids keep dividers only where another item continues below
   in that visual column. Single-column rule lists use normal all-but-last flow. */
.cu-unit-v3-rule-list--single > div:not(:last-child),
.cu-unit-v3-rule-list:not(.cu-unit-v3-rule-list--single) > div:nth-last-child(n+3){
  border-bottom: 1px solid rgba(36, 70, 58, .1);
}

.cu-unit-v3-detail-card dt,
.cu-unit-v3-rule-list strong{
  display: block;
  color: var(--cu-green-dark);
  font-size: .78rem;
  font-weight: 600;
  line-height: 1.35;
}

.cu-unit-v3-detail-card dd,
.cu-unit-v3-rule-list p{
  margin-top: .18rem;
  color: var(--cu-muted);
  font-size: .7rem;
  line-height: 1.5;
}

.cu-unit-v3-rule-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .72rem .9rem;
}

.cu-unit-v3-beds__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.cu-unit-v3-bed-card{
  display: grid;
  grid-template-columns: minmax(110px, .9fr) minmax(0, 1.1fr);
  min-height: 145px;
  overflow: hidden;
}

.cu-unit-v3-bed-card__media{
  min-height: 145px;
  border-radius: 0;
}

.cu-unit-v3-bed-card__media > span{
  display: grid;
  place-items: center;
  height: 100%;
  padding: 1rem;
  color: var(--cu-muted);
  font-size: .75rem;
  text-align: center;
}

.cu-unit-v3-bed-card__copy{
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
}

.cu-unit-v3-bed-card__copy > div{
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .18rem;
}

.cu-unit-v3-bed-card__copy strong{
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: 1.3rem;
  font-weight: 400;
}

.cu-unit-v3-bed-card__copy span{
  color: var(--cu-muted);
  font-size: .75rem;
  line-height: 1.4;
}

.cu-unit-v3-reviews__header{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cu-unit-v3-reviews__header h2{
  margin: 0;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: clamp(1.75rem, 3vw, 2.7rem);
  font-weight: 400;
}

.cu-unit-v3-reviews__header h2 span{
  color: var(--cu-muted);
  font-family: var(--cu-font-body);
  font-size: .82rem;
}

.cu-unit-v3-reviews__strip{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .65rem;
}

.cu-unit-v3-review{
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
}

.cu-unit-v3-review__rating{
  margin-bottom: .55rem;
  color: var(--cu-copper);
  font-size: .76rem;
}

.cu-unit-v3-review blockquote{
  flex: 0 1 auto;
  margin: 0;
  color: #435148;
  font-size: .81rem;
  line-height: 1.58;
}

.cu-unit-v3-review--compact blockquote{
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* Review footer base owner. Compact-strip and full-overlay layouts refine this
   semantic component below without relying on element-selector specificity. */
.cu-unit-v3-review__footer{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: .6rem;
  width: 100%;
  margin-top: auto;
  padding-top: .7rem;
  border-top: 1px solid rgba(36, 70, 58, .1);
}

.cu-unit-v3-review__author{
  color: var(--cu-green-dark);
  font-size: .78rem;
  font-weight: 500;
}

.cu-unit-v3-review__meta{
  color: var(--cu-muted);
  font-size: .63rem;
  text-align: right;
}

.cu-unit-v3-quote{
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(90px, 20%);
  gap: 1rem;
  align-items: center;
  padding: clamp(1.4rem, 3vw, 2.2rem);
  border: 1px solid rgba(36, 70, 58, .14);
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(236, 241, 234, .9), rgba(255, 255, 255, .55));
}

.cu-unit-v3-quote__mark{
  align-self: start;
  color: rgba(179, 120, 77, .45);
  font-family: var(--cu-font-heading);
  font-size: 4rem;
  line-height: .7;
}

.cu-unit-v3-quote blockquote{
  margin: 0;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: clamp(1.25rem, 2.1vw, 1.75rem);
  line-height: 1.35;
  text-align: center;
}

.cu-unit-v3-quote footer{
  margin-top: .7rem;
  color: var(--cu-copper);
  font-family: var(--cu-font-body);
  font-size: .64rem;
  letter-spacing: .12em;
}

.cu-unit-v3-related{
  width: min(var(--cu-max), calc(100% - 2.5rem));
  margin: clamp(3.5rem, 7vw, 6rem) auto 0;
  padding: clamp(1.4rem, 2.6vw, 2rem) 0;
  border-top: 1px solid var(--cu-line);
}

.cu-unit-v3-related__heading{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
}

.cu-unit-v3-related h2{
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.cu-unit-v3-related__row{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}

.cu-unit-v3-related-card{
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: .75rem;
  align-items: center;
  min-width: 0;
  padding: .55rem .7rem .55rem .55rem;
  color: inherit;
  text-decoration: none;
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.cu-unit-v3-related-card:hover,
.cu-unit-v3-related-card:focus-visible{
  border-color: rgba(36, 70, 58, .38);
  box-shadow: 0 12px 30px rgba(35, 52, 42, .08);
  transform: translateY(-2px);
}

.cu-unit-v3-related-card__media{
  width: 92px;
  aspect-ratio: 4 / 3;
  border-radius: .65rem;
}

.cu-unit-v3-related-card__copy{
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .18rem;
}

.cu-unit-v3-related-card__copy strong{
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: 1.18rem;
  font-weight: 400;
}

.cu-unit-v3-related-card__copy small{
  overflow: hidden;
  color: var(--cu-muted);
  font-size: .67rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cu-unit-v3-overlay[hidden]{
  display: none;
}

.cu-overlay-root[data-cu-overlay-kind="unit-content"] .cu-overlay-root__backdrop{
  display: block;
  background: rgba(26, 37, 29, .58);
}

.cu-unit-v3-overlay{
  position: absolute;
  inset: clamp(.7rem, 2vw, 1.4rem);
  display: flex;
  flex-direction: column;
  width: min(1080px, calc(100% - 2rem));
  max-height: calc(100% - 2rem);
  margin: auto;
  overflow: hidden;
  border-radius: 1.2rem;
  background: var(--cu-cream);
  box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
}

.cu-unit-v3-overlay__header{
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.15rem 1.35rem;
  border-bottom: 1px solid var(--cu-line);
}

.cu-unit-v3-overlay__header .cu-eyebrow{
  margin: 0 0 .2rem;
}

.cu-unit-v3-overlay__header h2{
  font-size: clamp(2rem, 4vw, 3.2rem);
}

.cu-unit-v3-overlay__body{
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: clamp(1rem, 2.5vw, 1.7rem);
}

.cu-unit-v3-amenity-groups{
  display: grid;
  gap: 1.5rem;
}

.cu-unit-v3-amenity-group header{
  display: flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: .8rem;
}

.cu-unit-v3-amenity-group h3{
  margin: 0;
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: 1.6rem;
  font-weight: 400;
}

.cu-unit-v3-amenity-group__grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem;
}

.cu-unit-v3-amenity-item{
  padding: .85rem;
  border: 1px solid rgba(36, 70, 58, .12);
  border-radius: .75rem;
  background: rgba(255, 255, 255, .58);
}

.cu-unit-v3-review-list{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.cu-unit-v3-empty-copy{
  margin: 0;
  color: var(--cu-muted);
}

.cu-mobile-booking-bar{
  display: none;
}

/* --------------------------------------------------------------------------
   Responsive Unit Page Composer
   -------------------------------------------------------------------------- */

@media (max-width: 1180px) {
  .cu-unit-layout--ol{
    grid-template-columns: minmax(0, 1fr) minmax(380px, 420px);
    gap: 2rem;
  }

  .cu-unit-gallery__preview{
    height: clamp(410px, 42vw, 520px);
  }

  .cu-unit-v3-practical__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1040px) {
  .cu-unit-layout--ol{
    grid-template-columns: 1fr;
    align-items: start;
  }

  .cu-unit-booking-column{
    position: static;
    align-self: start;
    width: min(680px, 100%);
    min-height: 0;
    margin: 0 auto;
    overflow: visible;
  }

  .cu-unit-booking-column .cu-booking-stack{
    position: static;
    top: auto;
    max-height: none;
    overflow: visible;
  }

  .cu-mobile-booking-bar{
    position: fixed;
    right: .65rem;
    bottom: .65rem;
    left: .65rem;
    z-index: 7990;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .7rem .75rem .7rem 1rem;
    border: 1px solid rgba(36, 70, 58, .15);
    border-radius: 1rem;
    background: rgba(255, 253, 247, .96);
    box-shadow: 0 18px 55px rgba(20, 39, 33, .22);
    backdrop-filter: blur(12px);
  }

  .cu-mobile-booking-bar > span{
    display: flex;
    flex-direction: column;
  }

  .cu-mobile-booking-bar small{
    color: var(--cu-muted);
    font-size: .68rem;
  }

  .cu-mobile-booking-bar strong{
    color: var(--cu-green-dark);
  }

  .cu-mobile-booking-bar .cu-button{
    min-height: 44px;
    padding: .65rem 1rem;
    border-radius: 999px;
  }
}

@media (max-width: 800px) {
  .cu-unit-page{
    padding-bottom: 6rem;
  }

  /* The v3 desktop-width owner must also yield on mobile: a full-width
     scrollport lets the lead image begin at the true 1rem inset. */
  .cu-unit-page--v3 .cu-unit-gallery{
    width: 100%;
    margin-top: .4rem;
  }

  .cu-unit-gallery__preview{
    display: flex;
    height: auto;
    gap: .55rem;
    padding: 0 1rem;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: 0;
    background: transparent;
    scroll-padding-inline: 1rem;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .cu-unit-gallery__preview::-webkit-scrollbar{
    display: none;
  }

  .cu-unit-gallery__tile,
.cu-unit-gallery--count-1 .cu-unit-gallery__tile--1,
.cu-unit-gallery--count-2 .cu-unit-gallery__tile--1,
.cu-unit-gallery--count-2 .cu-unit-gallery__tile--2{
    display: block;
    /* Lead image uses the scrollport's content width, with a ~23px preview
       of the next tile on the physical viewport edge (not centered). */
    flex: 0 0 calc(100% - 1rem);
    width: calc(100% - 1rem);
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 1rem;
    scroll-snap-align: start;
  }

  .cu-unit-gallery--count-1 .cu-unit-gallery__preview{
    display: flex;
    aspect-ratio: auto;
  }

  /* Do not suggest a next slide when this collection contains only one tile. */
  .cu-unit-gallery--count-1 .cu-unit-gallery__tile--1{
    flex-basis: 100%;
    width: 100%;
  }

  .cu-unit-gallery__show-all{
    right: 1.65rem;
    bottom: .75rem;
  }

  .cu-unit-layout--ol,
.cu-unit-v3-related{
    width: calc(100% - 2rem);
  }

  .cu-unit-intro--ol h1{
    font-size: clamp(2.8rem, 12vw, 4.2rem);
  }

  .cu-unit-intro__title-row{
    align-items: flex-start;
    flex-direction: column;
    gap: .35rem;
  }

  .cu-unit-hero__facts--icons{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
  }

  .cu-unit-hero__facts--icons li{
    white-space: normal;
  }

  .cu-unit-v3-description,
.cu-unit-v3-private__layout,
.cu-unit-v3-laguna__grid,
.cu-unit-v3-included__grid,
.cu-unit-v3-practical__grid,
.cu-unit-v3-beds__grid,
.cu-unit-v3-review-list{
    grid-template-columns: 1fr;
  }

  .cu-unit-v3-description .cu-unit-v3-botanical{
    display: none;
  }

  .cu-unit-v3-glance__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cu-unit-v3-notices__grid,
.cu-unit-v3-reviews__strip{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cu-unit-v3-related__row{
    grid-template-columns: 1fr;
  }

  .cu-unit-v3-related__heading,
.cu-unit-v3-reviews__header{
    align-items: flex-start;
    flex-direction: column;
  }

  .cu-unit-v3-quote{
    grid-template-columns: auto minmax(0, 1fr);
  }

  /* Restore the existing closing-quote watercolor beneath its attribution.
     Keep the desktop quote and other Unit artwork/layout owners unchanged. */
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-quote .cu-unit-v3-botanical{
    display: block;
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    width: min(100%, 238px);
    min-height: clamp(136px, 35vw, 168px);
    margin-top: .35rem;
    background-position: right top;
    background-size: contain;
  }

  .cu-unit-v3-amenity-group__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cu-gallery-modal{
    padding: 0;
  }

  .cu-gallery-modal__panel{
    width: 100%;
    height: 100%;
    max-height: 100%;
    border-radius: 0;
  }

  .cu-gallery-modal__grid{
    grid-template-columns: 1fr;
    grid-auto-rows: min(68vw, 380px);
  }

  .cu-gallery-modal__image.is-tall{
    grid-row: span 1;
  }

  

  

  

  

  
  

  

  .cu-unit-v3-overlay{
    inset: 0;
    width: 100%;
    max-height: 100%;
    border-radius: 0;
  }
}

@media (max-width: 520px) {
  .cu-unit-layout--ol,
.cu-unit-v3-related{
    width: calc(100% - 1.4rem);
  }

  .cu-unit-intro--ol h1{
    font-size: clamp(2.55rem, 14vw, 3.65rem);
  }

  .cu-unit-v3-section,
.cu-unit-v3-promotion{
    padding: 2.25rem 0;
  }

  .cu-unit-v3-glance__grid,
.cu-unit-v3-notices__grid,
.cu-unit-v3-reviews__strip,
.cu-unit-v3-amenity-group__grid{
    grid-template-columns: 1fr;
  }

  .cu-unit-v3-scope-card__facts,
.cu-unit-v3-list-card.has-media{
    grid-template-columns: 1fr;
  }

  .cu-unit-v3-list-card__media{
    min-height: 150px;
  }

  .cu-unit-v3-list-card ul,
.cu-unit-v3-rule-list{
    grid-template-columns: 1fr;
  }


  .cu-unit-v3-rule-list:not(.cu-unit-v3-rule-list--single) > div{
    border-bottom: 1px solid rgba(36, 70, 58, .1);
  }

  .cu-unit-v3-rule-list:not(.cu-unit-v3-rule-list--single) > div:last-child{
    border-bottom: 0;
  }

  .cu-unit-v3-bed-card{
    grid-template-columns: 1fr;
  }

  .cu-unit-v3-bed-card__media{
    min-height: 190px;
  }

  .cu-unit-v3-related-card{
    grid-template-columns: 78px minmax(0, 1fr) auto;
  }

  .cu-unit-v3-related-card__media{
    width: 78px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cu-unit-gallery__tile img,
.cu-gallery-modal__image img,
.cu-unit-v3-related-card{
    transition: none;
  }
}

.cu-unit-v3-rule-list--single{
  grid-template-columns: 1fr;
  margin-top: .85rem;
}


/* --------------------------------------------------------------------------
   Phase 3 / Core 2.10.0 unit_page_v4 presentation
   -------------------------------------------------------------------------- */

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-section-intro{
  max-width: 780px;
  margin: -.7rem 0 1.25rem;
  color: var(--cu-muted);
  font-size: .9rem;
  line-height: 1.65;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__lead,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media-button{
  padding: 0;
  border: 0;
  color: inherit;
  cursor: zoom-in;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__lead:focus-visible,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb:focus-visible,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item:focus-visible,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media:focus-visible,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media-button:focus-visible{
  outline: 3px solid rgba(172, 111, 66, .52);
  outline-offset: 3px;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb{
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .65rem;
  background: var(--cu-green-soft);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb picture,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-laguna__grid{
  /* Equal-height paired panels and precisely aligned gallery rows are canonical on desktop. */
  align-items: stretch;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card{
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__content{
  flex: 1 1 auto;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media{
  padding-top: 1.15rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item{
  display: block;
  min-width: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: .55rem;
  background: var(--cu-green-soft);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item picture,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card{
  display: flex;
  padding: 0;
  flex-direction: column;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media{
  display: block;
  width: 100%;
  aspect-ratio: 16 / 6;
  overflow: hidden;
  border: 0;
  border-radius: 1rem 1rem 0 0;
  background: var(--cu-soft);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media picture,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card .cu-unit-v3-list-card__copy{
  display: flex;
  min-height: 0;
  padding: 1.15rem;
  flex: 1 1 auto;
  flex-direction: column;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card .cu-unit-v3-show-all{
  align-self: flex-start;
  margin-top: auto;
}

.cu-unit-v4-commercial-badge{
  display: inline-flex;
  width: fit-content;
  align-items: center;
  padding: .16rem .48rem;
  border-radius: 999px;
  background: rgba(36, 70, 58, .08);
  color: var(--cu-green-dark) !important;
  font-size: .6rem !important;
  font-weight: 650;
  letter-spacing: .04em;
  line-height: 1.25 !important;
}

.cu-unit-v4-commercial-badge--paid_addon,
.cu-unit-v4-commercial-badge--request_required{
  background: rgba(172, 111, 66, .12);
  color: var(--cu-copper-dark, #8f5b36) !important;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-practical__grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  align-items: stretch;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--rules{
  grid-column: 1 / -1;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees dl{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem 1rem;
}

/* A terminal two-column fees dl has no line beneath either cell in its final
   visual row. When a policy block follows, dl:not(:last-child) above keeps the
   separating row intact. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees dl:last-child > div:nth-last-child(-n+2){
  border-bottom: 0;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--rules .cu-unit-v3-rule-list{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cu-unit-v4-during__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.cu-unit-v4-during-card{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .75rem;
  padding: 1rem;
  border: 1px solid rgba(36, 70, 58, .14);
  border-radius: 1rem;
  background: rgba(255, 255, 255, .62);
}

.cu-unit-v4-during-card .cu-unit-v3-icon{
  width: 1.45rem;
  height: 1.45rem;
  margin-top: .08rem;
}

.cu-unit-v4-during-card h3{
  margin: 0;
  color: var(--cu-green-dark);
  font-size: .86rem;
  font-weight: 600;
  line-height: 1.35;
}

.cu-unit-v4-during-card p,
.cu-unit-v4-during-card small{
  display: block;
  margin: .22rem 0 0;
  color: var(--cu-muted);
  font-size: .74rem;
  line-height: 1.52;
}

.cu-unit-v4-during-card small{
  font-size: .68rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card{
  display: flex;
  min-height: 0;
  flex-direction: column;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media{
  min-height: 0;
  aspect-ratio: 16 / 9;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media-button{
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__copy{
  align-items: flex-start;
  padding: 1rem 1.1rem 1.1rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__copy small{
  color: var(--cu-copper);
  font-size: .65rem;
  letter-spacing: .05em;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-related{
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  padding-top: clamp(1.2rem, 2vw, 1.7rem);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-related__row{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.cu-unit-v3-overlay[data-cu-reviews-panel]{
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(920px, calc(100% - 2rem));
  max-height: min(680px, calc(100dvh - 2rem));
  margin: 0;
  transform: translate(-50%, -50%);
}

@media (max-width: 800px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-practical__grid,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees dl,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--rules .cu-unit-v3-rule-list,
.cu-unit-v4-during__grid,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-related__row{
    grid-template-columns: 1fr;
  }

  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--rules{
    grid-column: auto;
  }


  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees dl:last-child > div:not(:last-child){
    border-bottom: 1px solid rgba(36, 70, 58, .1);
  }

  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--fees dl:last-child > div:last-child{
    border-bottom: 0;
  }

  .cu-unit-v3-overlay[data-cu-reviews-panel]{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 100%;
    transform: none;
  }
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-amenity-item .cu-unit-v4-commercial-badge{
  margin-top: .28rem;
}

.cu-unit-v4-laguna-notes{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .8rem 1.25rem;
  margin: 0 0 1.15rem;
}

.cu-unit-v4-laguna-notes article{
  padding-left: .9rem;
  border-left: 2px solid rgba(172, 111, 66, .26);
}

.cu-unit-v4-laguna-notes strong{
  color: var(--cu-green-dark);
  font-family: var(--cu-font-heading);
  font-size: 1.05rem;
  font-weight: 400;
}

.cu-unit-v4-laguna-notes p{
  margin: .22rem 0 0;
  color: var(--cu-muted);
  font-size: .76rem;
  line-height: 1.55;
}

@media (max-width: 800px) {
  .cu-unit-v4-laguna-notes{
    grid-template-columns: 1fr;
  }
}


/* --------------------------------------------------------------------------
   Phase 4 final unit-page refinement
   -------------------------------------------------------------------------- */















:root{
  --cu-scope-private-bg: #e8e7e2;
  --cu-scope-private-border: #aaa9a2;
  --cu-scope-private-text: #62635f;
  --cu-scope-shared-bg: #e5eee8;
  --cu-scope-shared-border: #6f927d;
  --cu-scope-shared-text: #315f4e;
  --cu-scope-public-bg: #e5eef3;
  --cu-scope-public-border: #7195aa;
  --cu-scope-public-text: #365f76;
}

.cu-unit-v4-section-scope{
  margin: 0 0 .55rem;
}

.cu-unit-v4-section-scope + .cu-unit-v3-heading{
  margin-top: 0;
}

.cu-unit-v3-scope-badge--private{
  background: var(--cu-scope-private-bg);
  color: var(--cu-scope-private-text);
}

.cu-unit-v3-scope-badge--shared{
  background: var(--cu-scope-shared-bg);
  color: var(--cu-scope-shared-text);
}

.cu-unit-v3-scope-badge--public{
  background: var(--cu-scope-public-bg);
  color: var(--cu-scope-public-text);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card--shared{
  border-color: rgba(111, 146, 125, .46);
  background: rgba(229, 238, 232, .62);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card--public{
  border-color: rgba(113, 149, 170, .46);
  background: rgba(229, 238, 243, .66);
}

.cu-unit-v3-amenity-group--private,
.cu-unit-v3-amenity-group--shared,
.cu-unit-v3-amenity-group--public{
  padding-top: 0;
  border-top: 0;
}

.cu-unit-v3-amenity-group--private h3{
  color: var(--cu-scope-private-text);
}

.cu-unit-v3-amenity-group--shared h3{
  color: var(--cu-scope-shared-text);
}

.cu-unit-v3-amenity-group--public h3{
  color: var(--cu-scope-public-text);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-laguna-notes p{
  font-size: .9rem;
  line-height: 1.62;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--stay .cu-unit-v3-rule-list p{
  font-size: .82rem;
  line-height: 1.6;
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-laguna-notes p,
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card--stay .cu-unit-v3-rule-list p{
    font-size: .94rem;
  }
}


/* --------------------------------------------------------------------------
   Website Foundation 4.5.2 regression-safe refinements
   -------------------------------------------------------------------------- */

.cu-unit-v3-overlay[data-cu-amenities-panel]{
  top: 50%;
  right: auto;
  bottom: auto;
  left: 50%;
  width: min(920px, calc(100% - 2rem));
  max-height: min(82dvh, calc(100% - 2rem));
  margin: 0;
  transform: translate(-50%, -50%);
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-overlay__body{
  overscroll-behavior: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-overlay__body::-webkit-scrollbar{
  display: none;
  width: 0;
  height: 0;
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-groups{
  gap: 2rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"]
  .cu-unit-v4-service-card:not(.cu-unit-v3-list-card--addons)
  .cu-unit-v3-list-card__copy > ul{
  margin-bottom: 1.5rem;
}

@media (max-width: 800px) {
  .cu-unit-v3-overlay[data-cu-amenities-panel]{
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    max-height: 100%;
    transform: none;
  }

  

  

  

  
}


/* --------------------------------------------------------------------------
   Website Foundation 4.5.3 visual-system refinements
   -------------------------------------------------------------------------- */

/* All amenities: two cards only, neutral titles, semantic group surfaces. */
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group{
  padding: clamp(1rem, 2.2vw, 1.35rem);
  border: 1px solid rgba(36, 70, 58, .11);
  border-radius: 1rem;
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group--private{
  border-color: rgba(170, 169, 162, .42);
  background: rgba(232, 231, 226, .64);
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group--shared{
  border-color: rgba(111, 146, 125, .34);
  background: rgba(229, 238, 232, .68);
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group--public{
  border-color: rgba(113, 149, 170, .34);
  background: rgba(229, 238, 243, .72);
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group h3{
  color: var(--cu-green-dark);
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group__grid{
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-item{
  background: rgba(255, 255, 255, .72);
}

/* Paired Shared/Public panels retain the pre-5.0.328 desktop geometry.
   Artwork is full size, visually behind text, with a modest breathing zone.
   No extra wrappers or gallery repositioning. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card{
  display: flex;
  min-height: 100%;
  flex-direction: column;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__content{
  position: relative;
  z-index: 1;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__facts{
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card .cu-unit-v3-compact-fact{
  align-items: flex-start;
  gap: .8rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card .cu-unit-v3-compact-fact > div{
  gap: .28rem;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card .cu-unit-v3-compact-fact strong{
  display: block;
}

/* Keep pre-5.0.328 equal-height desktop cards and exact photo baselines.
   The original-size artwork can extend behind the copy without being cropped.
   No extra area or new decorative elements are introduced. */
.cu-unit-v3-scope-card__decal{
  position: relative;
  z-index: 0;
  display: flex;
  min-height: 86px;
  flex: 1 1 104px;
  align-items: flex-end;
  justify-content: flex-end;
  margin: 1rem 0 .7rem;
  overflow: visible;
  pointer-events: none;
}

.cu-unit-v3-scope-card__decal::before{
  content: "";
  display: block;
  width: min(35%, 150px);
  aspect-ratio: 1 / 1;
  opacity: .20;
  background: currentColor;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
}

.cu-unit-v3-scope-card__decal--shared{
  color: var(--cu-scope-shared-border);
}

.cu-unit-v3-scope-card__decal--shared::before{
  -webkit-mask-image: var(--cu-relocated-botanical-sprig-svg);
  mask-image: var(--cu-relocated-botanical-sprig-svg);
}

.cu-unit-v3-scope-card__decal--public{
  color: var(--cu-scope-public-border);
}

.cu-unit-v3-scope-card__decal--public::before{
  -webkit-mask-image: var(--cu-relocated-sacuanjoche-line-svg);
  mask-image: var(--cu-relocated-sacuanjoche-line-svg);
}

/* Watercolor Unit assets inherit the universal scope-card geometry above. */
.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-scope-card__decal--shared::before,
.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-scope-card__decal--public::before,
.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-scope-card__decal--shared::before,
.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-scope-card__decal--public::before,
.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-scope-card__decal--shared::before,
.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-scope-card__decal--public::before{
  -webkit-mask-image: none;
  mask-image: none;
  opacity: .19;
}

.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-scope-card__decal--shared::before{
  background: var(--cu-relocated-mango-shared-beetle-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page="CU-MANGO"] .cu-unit-v3-scope-card__decal--public::before{
  background: var(--cu-relocated-mango-public-moon-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-scope-card__decal--shared::before{
  background: var(--cu-relocated-cafe-shared-stone-statue-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page="CU-CAFE"] .cu-unit-v3-scope-card__decal--public::before{
  background: var(--cu-relocated-cafe-public-cactus-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-scope-card__decal--shared::before{
  background: var(--cu-relocated-colibri-shared-lizard-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page="CU-COLIBRI"] .cu-unit-v3-scope-card__decal--public::before{
  background: var(--cu-relocated-colibri-public-mushrooms-png) center / contain no-repeat;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media{
  margin-top: 0;
}

@media (max-width: 720px) {
  .cu-unit-v3-overlay[data-cu-amenities-panel] .cu-unit-v3-amenity-group__grid{
    grid-template-columns: minmax(0, 1fr);
  }
  /* Mobile: artwork is entirely rendered, mostly below the last paragraph.
     It may overlap behind only a small portion of the text; it cannot be cut.
     Preserve the original pseudo-element image width / height / opacity. */
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__content{
    flex: 0 0 auto;
  }
  .cu-unit-v3-scope-card__decal{
    min-height: clamp(88px, 21vw, 100px);
    flex: 0 0 clamp(88px, 21vw, 100px);
    margin: .8rem 0 .55rem;
    overflow: visible;
  }
}

/* --------------------------------------------------------------------------
   Website Foundation 4.5.5 — collection media viewers
   -------------------------------------------------------------------------- */

/* Your private space: the fifth preview card becomes the collection gateway. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more{
  position: relative;
  isolation: isolate;
  display: block;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: .65rem;
  background: var(--cu-green-soft);
  cursor: pointer;
}

.cu-unit-v3-media__more-image,
.cu-unit-v3-media__more-image picture,
.cu-unit-v3-media__more-image img{
  display: block;
  width: 100%;
  height: 100%;
}

.cu-unit-v3-media__more-image{
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.cu-unit-v3-media__more-image img{
  object-fit: cover;
  filter: blur(var(--cu-media-gateway-blur, 1.15px));
  opacity: var(--cu-media-gateway-opacity, .92);
  transform: scale(var(--cu-media-gateway-scale, 1.025));
  transition: filter var(--cu-media-gateway-transition, .18s ease), transform var(--cu-media-gateway-transition, .18s ease), opacity var(--cu-media-gateway-transition, .18s ease);
}

.cu-unit-v3-media__thumb--more::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: var(--cu-media-gateway-overlay, rgba(20, 45, 37, .06));
  pointer-events: none;
}

.cu-unit-v3-media__more-plus{
  position:absolute;
  top:50%;
  left:50%;
  z-index:2;
  display:grid;
  place-items:center;
  width:var(--cu-media-gateway-button-size,46px);
  height:var(--cu-media-gateway-button-size,46px);
  border:1px solid var(--cu-media-gateway-button-border,rgba(183,119,67,.58));
  border-radius:50%;
  background:var(--cu-media-gateway-button-bg,rgba(255,255,255,.95));
  color:var(--cu-copper);
  box-shadow:var(--cu-media-gateway-shadow,0 7px 18px rgba(26,37,29,.16));
  font:400 1.8rem/1 var(--cu-font-ui,Arial,sans-serif);
  transform:translate(-50%,-50%);
  transition:background var(--cu-media-gateway-transition,.18s ease),color var(--cu-media-gateway-transition,.18s ease),box-shadow var(--cu-media-gateway-transition,.18s ease);
  pointer-events:none;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more:hover .cu-unit-v3-media__more-image img,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more:focus-visible .cu-unit-v3-media__more-image img{
  filter: blur(var(--cu-media-gateway-hover-blur,.75px));
  transform: scale(var(--cu-media-gateway-hover-scale,1.035));
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more:hover .cu-unit-v3-media__more-plus,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more:focus-visible .cu-unit-v3-media__more-plus{
  background:var(--cu-copper);
  color:#fff;
  box-shadow:var(--cu-media-gateway-hover-shadow,0 9px 22px rgba(26,37,29,.2));
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-media__thumb--more:focus-visible{
  outline: 3px solid rgba(172, 111, 66, .52);
  outline-offset: 3px;
}

/* Bed cards: inline photo carousel. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media[data-cu-bed-carousel]{
  position: relative;
}

.cu-unit-v3-bed-card__slides{
  position: absolute;
  inset: 0;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-bed-card__media-button[data-cu-bed-slide]{
  position: absolute;
  inset: 0;
}

.cu-unit-v3-bed-card__media-button[data-cu-bed-slide][hidden]{
  display: none !important;
}

/* Bed Layout inline carousel: canonical OL-style white hook arrows. */
.cu-unit-v3-bed-card__arrow{
  position: absolute;
  top: 50%;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 36px;
  height: 58px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  font-family: "Cera Pro", Arial, sans-serif;
  font-size: 3.55rem;
  font-weight: 300;
  line-height: 1;
  text-shadow: 0 2px 11px rgba(0,0,0,.78);
  cursor: pointer;
  transform: translateY(-50%) scaleY(1.28) scaleX(.62);
  transform-origin: center;
}

.cu-unit-v3-bed-card__arrow[hidden]{ display: none !important; }

.cu-unit-v3-bed-card__arrow--prev{ left: .24rem; }
.cu-unit-v3-bed-card__arrow--next{ right: .24rem; }

.cu-unit-v3-bed-card__counter{
  position: absolute;
  right: .65rem;
  bottom: .65rem;
  z-index: 4;
  padding: .28rem .5rem;
  border-radius: 999px;
  background: rgba(13, 30, 25, .7);
  color: #fff;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1;
  pointer-events: none;
}

.cu-unit-v3-bed-card__arrow:hover,
.cu-unit-v3-bed-card__arrow:focus-visible{
  background: transparent;
  opacity: .84;
}

.cu-unit-v3-bed-card__arrow:focus-visible{
  outline: 2px solid #fff;
  outline-offset: 1px;
}

/* Mini popup image viewer: compact/light like the approved single-image popup,
   but with navigation enabled for the scoped image collection. */
























/* --------------------------------------------------------------------------
   4.6.4 — OL-style image viewer harmonization
   Fixed stage keeps arrows/X stationary across mixed image aspect ratios.
   -------------------------------------------------------------------------- */


























/* Single-photo viewers use the same OL stage/X but have no navigation. */


@media (max-width: 800px) {
  

  

  

  

  
  

  

  
}

/* --------------------------------------------------------------------------
   4.6.5 — Final OL-style photo-stage polish
   - No page-wide backdrop blur: only a translucent dark-green veil.
   - A fixed, visibly bounded photo stage keeps X/arrows inside the photo zone.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   4.6.6 — OL viewer fidelity final
   Lighter non-blurred veil + near-edge stage so controls visually overlay
   landscape images while staying fixed when portrait media is centered.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   4.6.7 — OL viewer stage fidelity
   - Keep the page veil light/translucent, but make the fixed media stage dark.
   - Landscape media fills the stage underneath arrows/X; portrait media remains contained.
   - Remove temporary viewer caption/counter chrome.
   - Match All Amenities close control to the unboxed media-viewer X language.
   -------------------------------------------------------------------------- */






/* Caption/title/counter are intentionally hidden for this cleaner viewer pass. */




/* Landscape / near-landscape images deliberately fill the fixed stage.
   The small cover crop makes the image sit under the arrows and close X, like OL. */


/* Portrait / square media stays centered on the dark stage; controls do not move. */








/* All Amenities: same clean, unboxed X language; dark ink because the panel is cream. */
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close{
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cu-green-dark) !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close:hover{ opacity: .72; }
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close:focus-visible{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

@media (max-width: 800px) {
  
  
  
  
  
}

/* --------------------------------------------------------------------------
   4.6.9 — unit-page secondary typography consistency + review polish
   Canonical reading scale is aligned to the Shared/Public subsection treatment.
   -------------------------------------------------------------------------- */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"]{
  --cu-unit-subtitle-size: .94rem;
  --cu-unit-subtext-size: .86rem;
  --cu-unit-subtext-line-height: 1.55;
}

/* Shared/Public is the canonical subsection scale for the rest of the unit page. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card .cu-unit-v3-compact-fact strong{
  font-size: var(--cu-unit-subtitle-size);
  line-height: 1.35;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card .cu-unit-v3-compact-fact span{
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
}

/* Included in your stay / Available to add. Keep the commercial pill compact. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li strong{
  font-size: var(--cu-unit-subtitle-size);
  line-height: 1.35;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li > span > small:not(.cu-unit-v4-commercial-badge){
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
}

/* Stay details, capacity, deposits/fees and house rules. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card dt,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-rule-list strong{
  font-size: var(--cu-unit-subtitle-size);
  line-height: 1.35;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-detail-card dd,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-rule-list p{
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
}

/* During your stay. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-during-card h3{
  font-size: var(--cu-unit-subtitle-size);
  line-height: 1.35;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-during-card p,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-during-card small{
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
}

/* Other stays: title remains editorial; supporting copy joins the canonical subtext scale. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-related-card__copy small{
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
  white-space: normal;
}

/* Full review-list cards fill their assigned row; compact-strip cards own
   their deterministic height in the compact review component below. */
.cu-unit-v3-review-list .cu-unit-v3-review{
  height: 100%;
}

/* Guest Reviews and All Amenities share the same clean unboxed close control. */
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close,
.cu-unit-v3-overlay[data-cu-reviews-panel] .cu-overlay-close{
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cu-green-dark) !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close:hover,
.cu-unit-v3-overlay[data-cu-reviews-panel] .cu-overlay-close:hover{
  opacity: .72;
}
.cu-unit-v3-overlay[data-cu-amenities-panel] .cu-overlay-close:focus-visible,
.cu-unit-v3-overlay[data-cu-reviews-panel] .cu-overlay-close:focus-visible{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"]{
    --cu-unit-subtitle-size: .98rem;
    --cu-unit-subtext-size: .92rem;
  }
}

/* --------------------------------------------------------------------------
   4.6.10 — Unit promotion parity with the approved slim editorial banner.
   The creative object is Sheet-owned (14C_Promotions.visual_object_json).
   This block only controls presentation; promotion pricing/eligibility remains
   untouched. Floating and locked unit states share the same visual language.
   -------------------------------------------------------------------------- */
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer{
  --cu-promo-surface: #43523a;
  --cu-promo-visual-accent: #d48b61;
  position: relative;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255,255,255,.055), transparent 33%),
    linear-gradient(100deg, color-mix(in srgb, var(--cu-promo-surface) 94%, #243025 6%) 0%, var(--cu-promo-surface) 54%, color-mix(in srgb, var(--cu-promo-surface) 94%, #55634a 6%) 100%);
  color: #fbfaf5;
  box-shadow: 0 16px 38px rgba(34,46,35,.16), 0 2px 8px rgba(34,46,35,.08);
  isolation: isolate;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer::after{
  display: none;
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  filter: none;
  transform: none;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer.cu-promo-banner--decor-palm_shadow::after{
  display: block;
  right: -10px;
  top: 0;
  width: min(34%, 390px);
  height: 100%;
  opacity: .78;
  background: var(--cu-relocated-promo-palm-shadow-svg) right center / cover no-repeat;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer.cu-promo-banner--decor-none::after{ display: none; }

.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__body{
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(132px, .43fr) minmax(132px, auto);
  align-items: center;
  gap: clamp(.75rem, 1.45vw, 1.35rem);
  min-height: 136px;
  padding: .82rem clamp(3.6rem, 4.5vw, 4.35rem) .82rem clamp(1.05rem, 1.8vw, 1.45rem);
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer.cu-promo-banner--no-visual .cu-promo-banner__body{
  grid-template-columns: minmax(0, 1fr) auto;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__content,
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__copy{ min-width: 0; }
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__badge{
  margin: 0 0 .34rem;
  padding: .27rem .62rem;
  border: 0;
  background: var(--cu-promo-visual-accent);
  color: #fffaf4;
  font-size: .60rem;
  font-weight: 700;
  letter-spacing: .13em;
  line-height: 1;
  text-transform: uppercase;
  box-shadow: none;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__title{
  max-width: none;
  margin: 0;
  padding: 0;
  color: #fffdf8;
  font-family: var(--cu-font-heading);
  font-size: clamp(1.48rem, 2.05vw, 2.05rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.03;
  text-wrap: balance;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__summary{
  max-width: 72ch;
  margin: .34rem 0 0;
  color: rgba(255,253,248,.88);
  font-size: clamp(.74rem, .76vw, .84rem);
  font-weight: 300;
  line-height: 1.4;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__meta{ display: none !important; }

.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual{
  min-width: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  border-left: 1px solid color-mix(in srgb, var(--cu-promo-visual-accent) 64%, transparent);
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-inner{
  display: grid;
  justify-items: center;
  align-content: center;
  gap: .02rem;
  min-width: 116px;
  color: var(--cu-promo-visual-accent);
  text-align: center;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-icon{
  display: block;
  width: 42px;
  height: 33px;
  margin: 0 auto;
  color: currentColor;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-icon--heart-leaf{
  width: 42px;
  height: 42px;
  object-fit: contain;
  opacity: .94;
  filter: sepia(1) saturate(1.7) hue-rotate(330deg) brightness(1.03);
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-kicker{
  order: -1;
  display: block;
  color: var(--cu-promo-visual-accent);
  font-family: var(--cu-font-ui);
  font-size: .44rem;
  font-weight: 600;
  letter-spacing: .2em;
  line-height: 1.15;
  text-transform: uppercase;
  white-space: nowrap;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-line{
  display: block;
  color: var(--cu-promo-visual-accent);
  font-family: var(--cu-font-heading);
  font-weight: 400;
  line-height: .96;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-line--1{ font-size: clamp(1.22rem, 1.48vw, 1.55rem); }
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-line--2{ font-size: clamp(1.34rem, 1.62vw, 1.72rem); }
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-media{
  width: min(126px, 100%);
  height: 76px;
  margin: 0;
  display: grid;
  place-items: center;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-media picture,
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-media img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual-media--full{
  width: min(160px, 100%);
  height: 88px;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__action{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__cta{
  align-self: auto;
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .58rem;
  min-width: 126px;
  padding: .67rem .92rem;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 999px;
  background: rgba(255,255,255,.96);
  color: #35452f;
  font-size: .80rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(19,28,20,.12);
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__cta:hover,
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__cta:focus-visible{
  background: #fff;
  color: #263521;
  transform: translateY(-1px);
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__dismiss{
  z-index: 6;
  top: .34rem;
  right: .42rem;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  font-family: Arial, sans-serif;
  font-size: 2.25rem;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
  pointer-events: auto;
}
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__dismiss:hover{ opacity: .72; }
.cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__dismiss:focus-visible{
  outline: 2px solid rgba(255,255,255,.92);
  outline-offset: 2px;
}

/* Floating unit banner may use more of the viewport while preserving the booking
   rail once the banner locks back into the unit body. */
.cu-unit-v3-promotion > .cu-promo-banner--unit.cu-promo-banner--editorial-offer.is-floating{
  max-width: 1180px;
}

@media (min-width: 901px) {
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer.cu-promo-banner--heart-gift .cu-promo-banner__body{
    grid-template-columns: minmax(0, 1.55fr) minmax(160px, .5fr) minmax(190px, .65fr);
  }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer.cu-promo-banner--heart-gift .cu-promo-banner__action{
    justify-content: center;
  }
}

@media (max-width: 900px) {
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__body{
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 126px;
    padding-right: 3.4rem;
  }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__visual{ display: none; }
}

@media (max-width: 640px) {
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__body{
    display: grid;
    grid-template-columns: 1fr;
    gap: .72rem;
    min-height: 0;
    padding: .9rem 3rem .95rem 1rem;
  }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__title{
    font-size: clamp(1.42rem, 7vw, 1.82rem);
  }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__summary{ font-size: .80rem; }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__action{ justify-content: flex-start; }
  .cu-unit-v3-promotion .cu-promo-banner--unit.cu-promo-banner--editorial-offer .cu-promo-banner__cta{
    min-width: 0;
    padding: .65rem .88rem;
  }
}

/* --------------------------------------------------------------------------
   4.6.12 — Unit promotion lifecycle regression guard.

   IMPORTANT: the editorial banner's base rule intentionally uses
   `position: relative` for its final in-page state. In 4.6.10 that selector
   loaded after foundation.css with equal/higher cascade strength and therefore
   overrode the generic `.is-floating { position: fixed; }` motion contract.
   Result: JS correctly added `is-floating`, but the banner still moved in the
   document flow instead of staying beneath the header.

   These state-specific selectors are deliberately more specific than the base
   editorial rule. They restore the canonical lifecycle without changing final
   locked geometry:
      floating -> fixed beneath header
      locked   -> relative in the promotion section
   -------------------------------------------------------------------------- */
.cu-unit-v3-promotion[data-cu-promo-lock-anchor]:not(.is-locked) >
.cu-promo-banner--unit.cu-promo-banner--editorial-offer.is-floating{
  position: fixed;
  top: calc(var(--cu-header-bottom) + 14px);
  right: auto;
  bottom: auto;
  z-index: 820;
  margin: 0;
  transform: translateX(-50%);
}

.cu-unit-v3-promotion[data-cu-promo-lock-anchor].is-locked >
.cu-promo-banner--unit.cu-promo-banner--editorial-offer{
  position: relative;
  inset: auto;
  width: 100%;
  margin: 0;
  transform: none;
}

@media (max-width: 760px) {
  .cu-unit-v3-promotion[data-cu-promo-lock-anchor]:not(.is-locked) >
  .cu-promo-banner--unit.cu-promo-banner--editorial-offer.is-floating{
    top: calc(var(--cu-header-bottom) + 8px);
  }
}


/* --------------------------------------------------------------------------
   4.6.13 — unit-page information architecture + deterministic review footer
   -------------------------------------------------------------------------- */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-house-rules .cu-unit-v3-detail-card--rules{
  grid-column: 1 / -1;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-house-rules .cu-unit-v3-rule-list{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Compact reviews use three mechanical rows: rating, elastic copy, fixed
   footer. The separator and author/source/date baseline can therefore never
   drift with review length or locale wrapping. */
.cu-unit-v3-reviews__strip .cu-unit-v3-review{
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) 3.55rem;
  height: 100%;
}
.cu-unit-v3-reviews__strip .cu-unit-v3-review blockquote{
  min-height: 0;
  margin: 0;
}
.cu-unit-v3-reviews__strip .cu-unit-v3-review__footer{
  display: grid;
  grid-template-columns: minmax(0, 1fr) 6.5rem;
  align-items: center;
  gap: .65rem;
  width: 100%;
  height: 3.55rem;
  min-height: 3.55rem;
  margin: 0;
  padding: .62rem 0 0;
  border-top: 1px solid rgba(36, 70, 58, .1);
}
.cu-unit-v3-reviews__strip .cu-unit-v3-review__author{
  align-self: center;
  min-width: 0;
  padding: 0;
  white-space: nowrap;
}
.cu-unit-v3-reviews__strip .cu-unit-v3-review__meta{
  display: grid;
  grid-template-rows: 1fr 1fr;
  align-items: center;
  justify-items: end;
  min-width: 6.5rem;
  min-height: 2.15rem;
  color: var(--cu-muted);
  font-size: .63rem;
  line-height: 1.1;
  text-align: right;
}
.cu-unit-v3-reviews__strip .cu-unit-v3-review__source,
.cu-unit-v3-reviews__strip .cu-unit-v3-review__date{
  display: block;
  min-height: 1em;
  white-space: nowrap;
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-house-rules .cu-unit-v3-rule-list{
    grid-template-columns: 1fr;
  }

  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-house-rules .cu-unit-v3-rule-list > div{
    border-bottom: 1px solid rgba(36, 70, 58, .1);
  }

  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-house-rules .cu-unit-v3-rule-list > div:last-child{
    border-bottom: 0;
  }
}

/* Full Reviews overlay keeps the same semantic footer parts but uses an
   unconstrained two-line metadata stack. Scoping this to non-compact cards
   prevents it from competing with the compact-strip owner above. */
.cu-unit-v3-review:not(.cu-unit-v3-review--compact) .cu-unit-v3-review__meta{
  display: grid;
  grid-template-rows: auto auto;
  justify-items: end;
  gap: .08rem;
  color: var(--cu-muted);
  text-align: right;
}
.cu-unit-v3-review:not(.cu-unit-v3-review--compact) .cu-unit-v3-review__source,
.cu-unit-v3-review:not(.cu-unit-v3-review--compact) .cu-unit-v3-review__date{
  display: block;
  min-height: 1em;
  line-height: 1.15;
}

/* --------------------------------------------------------------------------
   4.6.14 — final unit content polish
   -------------------------------------------------------------------------- */

/* Included / add-on cards now use the neutral Private scope surface and the
   same single-column reading rhythm as the Shared/Public Laguna panels. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card{
  border-color: rgba(170, 169, 162, .48);
  background: rgba(232, 231, 226, .64);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card .cu-eyebrow{
  color: var(--cu-scope-private-text);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card .cu-unit-v3-list-card__copy > ul{
  grid-template-columns: 1fr;
  gap: .9rem;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li{
  gap: .68rem;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li .cu-unit-v3-icon{
  width: 1.35rem;
  height: 1.35rem;
  color: var(--cu-scope-private-text);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li strong{
  font-size: var(--cu-unit-subtitle-size);
  line-height: 1.35;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card li > span > small:not(.cu-unit-v4-commercial-badge){
  margin-top: .12rem;
  font-size: var(--cu-unit-subtext-size);
  line-height: var(--cu-unit-subtext-line-height);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-addon-note{
  margin: 1.05rem 0 0;
  color: var(--cu-muted);
  font-size: .76rem;
  line-height: 1.5;
}

/* The contextual Laguna notes support Shared/Public instead of preceding them. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-laguna__grid + .cu-unit-v4-laguna-notes{
  margin: 1.2rem 0 0;
}

/* Good to know is important but not a warning: warm, restrained cream. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-notice-card{
  border-color: rgba(190, 165, 94, .30);
  background: rgba(248, 242, 218, .72);
}

/* House rules retain the two-column desktop grid, but each rule now has a
   dedicated visual cue in the same icon language as the rest of the page. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-house-rule{
  display: grid;
  grid-template-columns: 1.45rem minmax(0, 1fr);
  align-items: start;
  gap: .7rem;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-house-rule > .cu-unit-v4-house-rule__icon{
  width: 1.35rem;
  height: 1.35rem;
  margin-top: .05rem;
  color: var(--cu-green-dark);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-house-rule__copy{
  min-width: 0;
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-addon-note{
    font-size: .84rem;
  }
}

/* --------------------------------------------------------------------------
   4.6.17 — Casita Mango album-aware gallery
   -------------------------------------------------------------------------- */

.cu-gallery-modal--albums{
  /* One canonical Unit Album outer frame. The modal shell stays full-screen;
     the panel itself owns exact viewport clearance so padding can never make
     width/height overflow the shared overlay root. */
  --cu-album-frame-block:clamp(1rem,1.25vw,1.2rem);
  --cu-album-frame-inline:clamp(1rem,1.7vw,1.75rem);
  padding:0;
}

.cu-gallery-modal--albums .cu-gallery-modal__panel{
  width:min(1840px,calc(100% - (2 * var(--cu-album-frame-inline))));
  height:min(1000px,calc(100% - (2 * var(--cu-album-frame-block))));
  max-height:calc(100% - (2 * var(--cu-album-frame-block)));
}

.cu-gallery-modal__albums{
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: .55rem;
  padding: .85rem 1.35rem .95rem;
  border-bottom: 1px solid var(--cu-line);
  background: rgba(255, 253, 247, .92);
}

.cu-gallery-modal__album{
  display: inline-flex;
  align-items: center;
  gap: .48rem;
  min-height: 38px;
  margin: 0;
  padding: .48rem .72rem;
  border: 1px solid rgba(31, 67, 55, .16);
  border-radius: 999px;
  background: #fff;
  color: var(--cu-green-dark);
  font: inherit;
  font-size: .78rem;
  line-height: 1.15;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.cu-gallery-modal__album small{
  display: grid;
  place-items: center;
  min-width: 1.5rem;
  height: 1.5rem;
  padding: 0 .38rem;
  border-radius: 999px;
  background: var(--cu-green-soft);
  color: var(--cu-green-dark);
  font-size: .68rem;
  font-weight: 600;
}

.cu-gallery-modal__album:hover,
.cu-gallery-modal__album:focus-visible{
  border-color: rgba(31, 67, 55, .38);
  outline: none;
  box-shadow: 0 0 0 2px rgba(185, 146, 63, .16);
}

.cu-gallery-modal__album[aria-pressed="true"],
.cu-gallery-modal__album.is-active{
  border-color: var(--cu-green-dark);
  background: var(--cu-green-dark);
  color: #fff;
}

.cu-gallery-modal__album[aria-pressed="true"] small,
.cu-gallery-modal__album.is-active small{
  background: rgba(255, 255, 255, .17);
  color: #fff;
}


.cu-gallery-modal--albums .cu-gallery-modal__image[hidden]{
  display: none !important;
}

.cu-gallery-modal--albums .cu-gallery-modal__grid{
  height:100%;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-width:none;
  align-content:start;
  align-items:stretch;
}

.cu-gallery-modal--albums .cu-gallery-modal__grid::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

@media (max-width: 720px) {
  .cu-gallery-modal__albums{
    gap: .42rem;
    padding: .72rem .8rem .8rem;
  }

  .cu-gallery-modal__album{
    min-height: 36px;
    padding: .44rem .62rem;
    font-size: .72rem;
  }

  .cu-gallery-modal__album small{
    min-width: 1.35rem;
    height: 1.35rem;
    font-size: .62rem;
  }
}

/* --------------------------------------------------------------------------
   4.6.18 — Shared Terrace + media-grid + modal-control polish
   -------------------------------------------------------------------------- */

/* Keep all Mango album categories on one desktop line without a scrollbar. */
@media (min-width: 721px) {
  .cu-gallery-modal--albums .cu-gallery-modal__albums{
    flex-wrap: nowrap;
    gap: .34rem;
    padding: .78rem 1rem .86rem;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__album{
    flex: 0 1 auto;
    min-width: 0;
    min-height: 36px;
    padding: .42rem .56rem;
    gap: .36rem;
    font-size: .72rem;
    white-space: nowrap;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__album small{
    min-width: 1.3rem;
    height: 1.3rem;
    padding: 0 .3rem;
    font-size: .62rem;
  }
}

/* Gallery modal uses the exact same clean, unboxed X language as Reviews. */
.cu-gallery-modal .cu-gallery-close{
  display: grid !important;
  place-items: center !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--cu-green-dark) !important;
  box-shadow: none !important;
  font-family: Arial, sans-serif !important;
  font-size: 2.25rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
}
.cu-gallery-modal .cu-gallery-close:hover{ opacity: .72; }
.cu-gallery-modal .cu-gallery-close:focus-visible{
  outline: 2px solid currentColor !important;
  outline-offset: 2px !important;
}

/* Shared/Public cards may show up to six representative images: 3 × 2. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .42rem;
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media[data-cu-media-count="1"]{
  grid-template-columns: minmax(0, 1fr);
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media[data-cu-media-count="2"]{
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item{
  width: 100%;
  aspect-ratio: 4 / 3;
}

/* Service-card photography is a deliberate click-to-enlarge affordance. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-service-card__media{
  cursor: zoom-in;
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media,
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media[data-cu-media-count="2"]{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media[data-cu-media-count="1"]{
    grid-template-columns: minmax(0, 1fr);
  }
}


/* --------------------------------------------------------------------------
   4.6.20 — unified Private / Shared / Public + tiles and closing band
   -------------------------------------------------------------------------- */

/* The same lightly blurred collection-gateway treatment is used in all three
   scope families. Shared/Public reuse the exact Private + tile primitives. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-scope-card__media-item--more{
  position: relative;
  isolation: isolate;
  width: 100%;
  aspect-ratio: 4 / 3;
  min-width: 0;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: .55rem;
  cursor: pointer;
}

/* Closing quote now sits after the complete content + booking two-column grid,
   so it reads as a full-width endpoint before Other stays. */
.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-closing-band{
  width: min(var(--cu-content-wide), calc(100% - 2.5rem));
  margin: clamp(1.5rem, 3vw, 2.6rem) auto 0;
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-closing-band .cu-unit-v3-quote{
  width: 100%;
  min-height: clamp(132px, 12vw, 172px);
  margin: 0;
  border-bottom: 1px solid rgba(36, 70, 58, .14);
  padding: clamp(1.65rem, 3.2vw, 2.6rem) clamp(1.6rem, 4vw, 3.25rem);
}

.cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-closing-band + .cu-unit-v3-related{
  margin-top: clamp(1.8rem, 3.5vw, 3rem);
}

@media (max-width: 720px) {
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v4-closing-band{
    width: min(var(--cu-content-wide), calc(100% - 1.5rem));
    margin-top: 1.25rem;
  }
}

/* 5.0.14 optical centering: shared unit/gallery gateway plus uses geometry, not a font glyph. */
.cu-unit-v3-media__more-plus{
  font-size:0!important;
  line-height:0!important;
}
.cu-unit-v3-media__more-plus::before,
.cu-unit-v3-media__more-plus::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  display:block;
  border-radius:999px;
  background:currentColor;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.cu-unit-v3-media__more-plus::before{width:var(--cu-media-gateway-plus-size,17px);height:var(--cu-media-gateway-plus-stroke,2px)}
.cu-unit-v3-media__more-plus::after{width:var(--cu-media-gateway-plus-stroke,2px);height:var(--cu-media-gateway-plus-size,17px)}


/* Casa Única 5.0.98: compiled built-in Unit icon masks.
   These live in the static stylesheet so PHP performs no SVG filesystem reads
   and Unit HTML carries no repeated data-URI payload. */
.cu-unit-v3-icon--ac-unit{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAydjIwTTQuMiA2LjVsMTUuNiA5TTQuMiAxNy41bDE1LjYtOU03IDMuOCAxMiA3bDUtMy4yTTcgMjAuMmw1LTMuMiA1IDMuMk0zLjggOSA3IDEybC0zLjIgM00yMC4yIDkgMTcgMTJsMy4yIDMiLz48L3N2Zz4=")}
.cu-unit-v3-icon--apple-core{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik0xNC4yIDIuMWMxLjktLjI1IDMuMzUuNDUgNC4yIDEuMzUtMS4wNSAxLjYtMi40NSAyLjI1LTQuMjUgMi4wNS0uMjUtMS4yNS0uMTUtMi4zNS4wNS0zLjRaTTguMDUgNC45NWMxLjMuNzUgMi41NSAxLjA1IDMuOTUgMS4wNXMyLjY1LS4zIDMuOTUtMS4wNWwxLjI1IDIuMTVjLS45NS43NS0xLjU1IDEuODUtMS41NSAzLjA1IDAgMS41NS44IDIuOSAyLjA1IDMuNjUtLjQ1IDEuNTUtMS4yNSAzLjA1LTIuMyA0LjI1TDE3IDIwLjhIN2wxLjYtMi43NWMtMS4wNS0xLjItMS44NS0yLjctMi4zLTQuMjUgMS4yNS0uNzUgMi4wNS0yLjEgMi4wNS0zLjY1IDAtMS4yLS42LTIuMy0xLjU1LTMuMDVsMS4yNS0yLjE1Wm0xLjcgMy4zYy40NS42LjcgMS4zLjcgMi4wNSAwIDEuNTUtLjc1IDIuOTUtMS44NSAzLjk1LjQ1IDEuMTUgMS4wNSAyLjE1IDEuOCAzaDMuMmMuNzUtLjg1IDEuMzUtMS44NSAxLjgtMy0xLjEtMS0xLjg1LTIuNC0xLjg1LTMuOTUgMC0uNzUuMjUtMS40NS43LTIuMDUtLjc1LjItMS41LjMtMi4yNS4zcy0xLjUtLjEtMi4yNS0uM1pNNyAyMC44aDEwVjIzSDd2LTIuMloiLz48L3N2Zz4=")}
.cu-unit-v3-icon--beach-access{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDE3YzMtMiA2IDIgOSAwczYgMiA5IDBNMyAyMWMzLTIgNiAyIDkgMHM2IDIgOSAwIi8+PHBhdGggZD0iTTEyIDN2OE04IDdsNC00IDQgNCIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--bed{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDE4di03aDE4djdNMyAxNWgxOE02IDExVjdoNWEzIDMgMCAwIDEgMyAzdjFNMyAyMHYtMk0yMSAyMHYtMiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--blender{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik04IDNoOGwtMSAxMEg5TDggM1pNMTAgMTNoNGwyIDVIOGwyLTVaTTcgMjFoMTAiLz48L3N2Zz4=")}
.cu-unit-v3-icon--chair{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDEyaDE0djZINXpNNyAxMlY3YTUgNSAwIDAgMSAxMCAwdjVNNyAxOHYzTTE3IDE4djMiLz48L3N2Zz4=")}
.cu-unit-v3-icon--check-circle{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjkiLz48cGF0aCBkPSJtOCAxMiAzIDMgNS02Ii8+PC9zdmc+")}
.cu-unit-v3-icon--coffee-maker{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik02IDhoMTB2NmE1IDUgMCAwIDEtNSA1SDlhMyAzIDAgMCAxLTMtM1Y4WiIvPjxwYXRoIGQ9Ik0xNiAxMGgyYTIgMiAwIDAgMSAwIDRoLTJNOCAzYy0yIDIgMiAzIDAgNU0xMiAzYy0yIDIgMiAzIDAgNSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--coffee{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDhoMTF2N2E0IDQgMCAwIDEtNCA0SDlhNCA0IDAgMCAxLTQtNFY4WiIvPjxwYXRoIGQ9Ik0xNiAxMGgyYTIgMiAwIDAgMSAwIDRoLTJNOCAzYy0yIDIgMiAzIDAgNU0xMiAzYy0yIDIgMiAzIDAgNSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--cottage{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Im0zIDExIDktOCA5IDhNNSAxMHYxMWgxNFYxME05IDIxdi03aDZ2NyIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--currency{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjYiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMiIgcng9IjIiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIzIi8+PHBhdGggZD0iTTcgOUg1djJNMTcgMTVoMnYtMiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--deck{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDhoMThNNSA4djExTTE5IDh2MTFNMyAxOWgxOE04IDh2MTFNMTIgOHYxMU0xNiA4djExIi8+PC9zdmc+")}
.cu-unit-v3-icon--dogs{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik03LjEgMTAuMmMxLjI1IDAgMi4yNS0xLjIgMi4yNS0yLjdTOC4zNSA0LjggNy4xIDQuOCA0Ljg1IDYgNC44NSA3LjVzMSAyLjcgMi4yNSAyLjdabTkuOCAwYzEuMjUgMCAyLjI1LTEuMiAyLjI1LTIuN3MtMS0yLjctMi4yNS0yLjctMi4yNSAxLjItMi4yNSAyLjcgMSAyLjcgMi4yNSAyLjdaTTQuMSAxNC4xYzEuMSAwIDItMS4wNSAyLTIuMzVzLS45LTIuMzUtMi0yLjM1LTIgMS4wNS0yIDIuMzUuOSAyLjM1IDIgMi4zNVptMTUuOCAwYzEuMSAwIDItMS4wNSAyLTIuMzVzLS45LTIuMzUtMi0yLjM1LTIgMS4wNS0yIDIuMzUuOSAyLjM1IDIgMi4zNVpNMTIgMTAuMmMtMi40NSAwLTYuMTUgNC4xNS02LjE1IDYuOSAwIDEuNTUgMS4xNSAyLjM1IDIuNDUgMi4zNSAxLjE1IDAgMi4yNS0uNyAzLjctLjdzMi41NS43IDMuNy43YzEuMyAwIDIuNDUtLjggMi40NS0yLjM1IDAtMi43NS0zLjctNi45LTYuMTUtNi45WiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--door-front{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDIxVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjE3TTMgMjFoMTgiLz48Y2lyY2xlIGN4PSIxNSIgY3k9IjEyIiByPSIxIi8+PC9zdmc+")}
.cu-unit-v3-icon--dry-cleaning{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDNoMTBsMiAxOEg1TDcgM1oiLz48cGF0aCBkPSJNOCA4aDhNOCAxM2g4Ii8+PC9zdmc+")}
.cu-unit-v3-icon--event-busy{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxyZWN0IHg9IjMiIHk9IjUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxNiIgcng9IjIiLz48cGF0aCBkPSJNNyAzdjRNMTcgM3Y0TTMgOWgxOCIvPgogIDxwYXRoIGQ9Ik05IDEzbDYgNk0xNSAxM2wtNiA2Ii8+Cjwvc3ZnPgo=")}
.cu-unit-v3-icon--family{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjgiIGN5PSI4IiByPSIzIi8+PGNpcmNsZSBjeD0iMTYuNSIgY3k9IjkiIHI9IjIuNSIvPjxwYXRoIGQ9Ik0yLjUgMjBjLjQtNCAyLjUtNiA1LjUtNnM1LjEgMiA1LjUgNk0xMyAxNWMxLS44IDIuMi0xLjIgMy41LTEuMiAyLjcgMCA0LjUgMS45IDUgNS4yIi8+PC9zdmc+")}
.cu-unit-v3-icon--flatware{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik02IDN2N00zIDN2NGEzIDMgMCAwIDAgNiAwVjNNNiAxMHYxMU0xNSAzdjE4TTE1IDNjNCAyIDQgOCAwIDEwIi8+PC9zdmc+")}
.cu-unit-v3-icon--game{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDhoMTBsMyA2YTMgMyAwIDAgMS01IDNsLTEtMWgtNGwtMSAxYTMgMyAwIDAgMS01LTNsMy02WiIvPjxwYXRoIGQ9Ik04IDExdjRNNiAxM2g0Ii8+PGNpcmNsZSBjeD0iMTYiIGN5PSIxMiIgcj0iLjgiLz48Y2lyY2xlIGN4PSIxOCIgY3k9IjE0IiByPSIuOCIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--grid-on{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjQiIHk9IjQiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgcng9IjIiLz48cGF0aCBkPSJNOSA0djE2TTE1IDR2MTZNNCA5aDE2TTQgMTVoMTYiLz48L3N2Zz4=")}
.cu-unit-v3-icon--guests{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjkiIGN5PSI4IiByPSIzIi8+PGNpcmNsZSBjeD0iMTciIGN5PSI5IiByPSIyLjUiLz48cGF0aCBkPSJNMyAyMGMuNS00IDIuNS02IDYtNnM1LjUgMiA2IDZNMTQgMTVjMS0uOCAyLjEtMS4yIDMuMi0xLjIgMi41IDAgNC4yIDEuOCA0LjggNS4yIi8+PC9zdmc+")}
.cu-unit-v3-icon--health-and-safety{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMnM4LTQgOC0xMVY1bC04LTMtOCAzdjZjMCA3IDggMTEgOCAxMVoiLz48cGF0aCBkPSJNOSAxMmg2TTEyIDl2NiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--home-nature{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Im0zIDExIDktOCA5IDhNNSAxMHYxMWgxNFYxME05IDIxdi03aDZ2NyIvPjxwYXRoIGQ9Ik0xOCA0YzMgMCA0IDIgMyA1LTMgMC01LTEtNS00TTE4IDRsLTMgNSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--hot-tub{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDE1aDE2TTUgMTV2MmEzIDMgMCAwIDAgMyAzaDhhMyAzIDAgMCAwIDMtM3YtMk04IDEyYy0yLTIgMi0zIDAtNU0xMiAxMmMtMi0yIDItMyAwLTVNMTYgMTJjLTItMiAyLTMgMC01Ii8+PC9zdmc+")}
.cu-unit-v3-icon--kayaking{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Im00IDIwIDE2LTE2TTMgMTdsNCA0TTE3IDNsNCA0Ii8+PHBhdGggZD0iTTMgMTNjMy0yIDYgMiA5IDBzNiAyIDkgMCIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--kitchen{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjUiIHk9IjMiIHdpZHRoPSIxNCIgaGVpZ2h0PSIxOCIgcng9IjIiLz48cGF0aCBkPSJNNSAxMGgxNE04IDZoMU04IDE0aDFNMTYgMTN2NSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--language{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDVoMTBNOSAzdjJNNiA1Yy41IDQgMi41IDcgNiA5TTEyIDVjLS44IDMuMi0yLjcgNi02IDgiLz48cGF0aCBkPSJtMTQgMjEgNC0xMCA0IDEwTTE1LjUgMTdoNSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--local-fire-department{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMmM0IDAgNy0zIDctNyAwLTMtMi02LTUtOSAwIDMtMiA0LTMgNSAwLTMtMS02LTMtOC0xIDUtNCA3LTQgMTIgMCA0IDMgNyA4IDdaIi8+PHBhdGggZD0iTTEyIDE5YzIgMCAzLTEgMy0zIDAtMS0xLTMtMy01IDAgMi0zIDMtMyA1IDAgMiAxIDMgMyAzWiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--local-parking{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik03IDIxVjNoNmE1IDUgMCAwIDEgMCAxMEg3Ii8+PHBhdGggZD0iTTcgMTNoNiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--microwave{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjYiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMyIgcng9IjIiLz48cmVjdCB4PSI2IiB5PSI5IiB3aWR0aD0iMTAiIGhlaWdodD0iNyIgcng9IjEiLz48cGF0aCBkPSJNMTkgMTBoLjAxTTE5IDE0aC4wMSIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--mode-fan{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjIiLz48cGF0aCBkPSJNMTIgMTBjLTEtNCAxLTcgNC03IDIgMyAxIDYtMiA4TTE0IDEyYzQtMSA3IDEgNyA0LTMgMi02IDEtOC0yTTEyIDE0YzEgNC0xIDctNCA3LTItMy0xLTYgMi04TTEwIDEyYy00IDEtNy0xLTctNCAzLTIgNi0xIDggMiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--music{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik05IDE4VjZsMTAtMnYxMiIvPjxjaXJjbGUgY3g9IjYiIGN5PSIxOCIgcj0iMyIvPjxjaXJjbGUgY3g9IjE2IiBjeT0iMTYiIHI9IjMiLz48L3N2Zz4=")}
.cu-unit-v3-icon--outdoor-grill{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDEwaDE0YTcgNyAwIDAgMS0xNCAwWk04IDE3bC0yIDRNMTYgMTdsMiA0TTcgNmMtMi0yIDItMyAwLTVNMTIgNmMtMi0yIDItMyAwLTVNMTcgNmMtMi0yIDItMyAwLTUiLz48L3N2Zz4=")}
.cu-unit-v3-icon--oven-gen{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjQiIHk9IjMiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxOCIgcng9IjIiLz48cGF0aCBkPSJNNCA5aDE2Ii8+PGNpcmNsZSBjeD0iOCIgY3k9IjYiIHI9IjEiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjYiIHI9IjEiLz48cmVjdCB4PSI3IiB5PSIxMiIgd2lkdGg9IjEwIiBoZWlnaHQ9IjYiIHJ4PSIxIi8+PC9zdmc+")}
.cu-unit-v3-icon--pet-friendly{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgYXJpYS1oaWRkZW49InRydWUiPjxwYXRoIGQ9Ik03LjEgMTAuMmMxLjI1IDAgMi4yNS0xLjIgMi4yNS0yLjdTOC4zNSA0LjggNy4xIDQuOCA0Ljg1IDYgNC44NSA3LjVzMSAyLjcgMi4yNSAyLjdabTkuOCAwYzEuMjUgMCAyLjI1LTEuMiAyLjI1LTIuN3MtMS0yLjctMi4yNS0yLjctMi4yNSAxLjItMi4yNSAyLjcgMSAyLjcgMi4yNSAyLjdaTTQuMSAxNC4xYzEuMSAwIDItMS4wNSAyLTIuMzVzLS45LTIuMzUtMi0yLjM1LTIgMS4wNS0yIDIuMzUuOSAyLjM1IDIgMi4zNVptMTUuOCAwYzEuMSAwIDItMS4wNSAyLTIuMzVzLS45LTIuMzUtMi0yLjM1LTIgMS4wNS0yIDIuMzUuOSAyLjM1IDIgMi4zNVpNMTIgMTAuMmMtMi40NSAwLTYuMTUgNC4xNS02LjE1IDYuOSAwIDEuNTUgMS4xNSAyLjM1IDIuNDUgMi4zNSAxLjE1IDAgMi4yNS0uNyAzLjctLjdzMi41NS43IDMuNy43YzEuMyAwIDIuNDUtLjggMi40NS0yLjM1IDAtMi43NS0zLjctNi45LTYuMTUtNi45WiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--pool{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDE0YzMtMiA2IDIgOSAwczYgMiA5IDBNMyAxOWMzLTIgNiAyIDkgMHM2IDIgOSAwTTggMTRWNWEzIDMgMCAwIDEgNiAwTTggOWg2Ii8+PC9zdmc+")}
.cu-unit-v3-icon--restaurant{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik02IDN2OE0zIDN2NWEzIDMgMCAwIDAgNiAwVjNNNiAxMXYxME0xNSAzdjE4TTE1IDNjNCAyIDQgOCAwIDEwIi8+PC9zdmc+")}
.cu-unit-v3-icon--self-improvement{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik00IDE1YzQtNSAxMi01IDE2IDBNNiAxOGgxMk04IDIxaDgiLz48cGF0aCBkPSJNNyAxMmMtMi0zIDEtNiA1LTZzNyAzIDUgNiIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--shower{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDIwVjhhNSA1IDAgMCAxIDEwIDBNMTMgOGg0Ii8+PHBhdGggZD0ibTE1IDExLTEgMk0xOCAxMWwtMSAyTTIxIDExbC0xIDIiLz48L3N2Zz4=")}
.cu-unit-v3-icon--smoke-free{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik0zIDE3aDExIi8+PHBhdGggZD0iTTE4IDE3aDMiLz48cGF0aCBkPSJNMTQgMTR2MyIvPjxwYXRoIGQ9Ik0xOCAxNHYzIi8+CiAgPHBhdGggZD0iTTggMTNjMC0xLjcgMi0xLjggMi0zLjVTOCA3LjkgOCA2Ii8+PHBhdGggZD0iTTEzIDEzYzAtMS43IDItMS44IDItMy41UzEzIDcuOSAxMyA2Ii8+CiAgPHBhdGggZD0iTTQgNGwxNiAxNiIvPgo8L3N2Zz4K")}
.cu-unit-v3-icon--sunrise{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0zIDE5aDE4TTUgMTlhNyA3IDAgMCAxIDE0IDBNMTIgM3Y1TTQuOSA5LjkgNyAxMk0xOS4xIDkuOSAxNyAxMk0zIDE1aDNNMTggMTVoMyIvPjwvc3ZnPg==")}
.cu-unit-v3-icon--toilet{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik03IDNoN3Y3SDd6Ii8+PHBhdGggZD0iTTE0IDdoM3Y0Ii8+PHBhdGggZD0iTTYgMTFoMTJjMCA0LjItMi4yIDctNiA3cy02LTIuOC02LTd6Ii8+CiAgPHBhdGggZD0iTTEwIDE4djNoNXYtNCIvPgo8L3N2Zz4K")}
.cu-unit-v3-icon--tv{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxyZWN0IHg9IjMiIHk9IjUiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMyIgcng9IjIiLz48cGF0aCBkPSJtOCAyMiA0LTQgNCA0Ii8+PC9zdmc+")}
.cu-unit-v3-icon--volume-off{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS44IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik0xMSA1TDYuNSA5SDN2NmgzLjVMMTEgMTl6Ii8+CiAgPHBhdGggZD0iTTE2IDlsNSA1TTIxIDlsLTUgNSIvPgo8L3N2Zz4K")}
.cu-unit-v3-icon--water-drop{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyczcgOCA3IDEzYTcgNyAwIDAgMS0xNCAwYzAtNSA3LTEzIDctMTNaIi8+PC9zdmc+")}
.cu-unit-v3-icon--wifi{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik01IDEwLjVhMTAgMTAgMCAwIDEgMTQgME04IDEzLjVhNiA2IDAgMCAxIDggME0xMSAxNi41YTIgMiAwIDAgMSAyIDAiLz48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIxIi8+PC9zdmc+")}
.cu-unit-v3-icon--yard{--cu-unit-v3-icon:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS43IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjxwYXRoIGQ9Ik0xMiAyMVYxME0xMiAxNGMtNSAwLTgtMy04LTggNSAwIDggMyA4IDhaTTEyIDE3YzUgMCA4LTMgOC04LTUgMC04IDMtOCA4WiIvPjwvc3ZnPg==")}

/* --------------------------------------------------------------------------
   5.0.189 — Compact Unit Gallery album header
   Album navigation shares the modal header instead of consuming a separate
   horizontal band.  The photo grid receives the reclaimed vertical space.
   -------------------------------------------------------------------------- */

.cu-gallery-modal--albums .cu-gallery-modal__header{
  display: grid;
  grid-template-columns: minmax(12rem, .62fr) minmax(0, 1.9fr) 44px;
  align-items: center;
  column-gap: .9rem;
  padding: .68rem 1rem .72rem;
}

.cu-gallery-modal--albums .cu-gallery-modal__heading{
  min-width: 0;
}

.cu-gallery-modal--albums .cu-gallery-modal__header h2{
  margin: 0;
  font-size: clamp(1.6rem, 2.25vw, 2rem);
  line-height: 1.02;
}

.cu-gallery-modal--albums .cu-gallery-modal__header .cu-eyebrow{
  margin: .22rem 0 0;
  font-size: .67rem;
  line-height: 1.2;
  letter-spacing: .16em;
}

.cu-gallery-modal--albums .cu-gallery-modal__albums{
  display: flex;
  min-width: 0;
  flex: 1 1 auto;
  flex-wrap: nowrap;
  align-items: center;
  gap: .3rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}

.cu-gallery-modal--albums .cu-gallery-modal__album{
  flex: 0 1 auto;
  min-width: 0;
  min-height: 34px;
  padding: .38rem .5rem;
  gap: .3rem;
  font-size: .68rem;
  white-space: nowrap;
}

.cu-gallery-modal--albums .cu-gallery-modal__album small{
  min-width: 1.22rem;
  height: 1.22rem;
  padding: 0 .28rem;
  font-size: .59rem;
}

.cu-gallery-modal--albums .cu-gallery-modal__body{
  overflow:hidden;
  padding:.78rem 1rem 1rem;
  scroll-padding-bottom:0;
}

@media (max-width: 980px) and (min-width: 721px){
  .cu-gallery-modal--albums .cu-gallery-modal__header{
    grid-template-columns: minmax(10.5rem, .52fr) minmax(0, 1.75fr) 44px;
    column-gap: .65rem;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__album{
    padding-inline: .42rem;
    font-size: .64rem;
  }
}

@media (max-width: 720px){
  .cu-gallery-modal--albums{--cu-album-frame-block:.5rem;--cu-album-frame-inline:.5rem;padding:0;}

  .cu-gallery-modal--albums .cu-gallery-modal__header{
    grid-template-columns: minmax(0, 1fr) 40px;
    grid-template-areas:
      "heading close"
      "albums albums";
    align-items: center;
    gap: .5rem .65rem;
    padding: .62rem .8rem .68rem;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__heading{
    grid-area: heading;
  }

  .cu-gallery-modal--albums .cu-gallery-close{
    grid-area: close;
    justify-self: end;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__albums{
    grid-area: albums;
    width: 100%;
    gap: .38rem;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__albums::-webkit-scrollbar{
    display: none;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__album{
    flex: 0 0 auto;
    min-height: 34px;
    padding: .4rem .56rem;
    font-size: .7rem;
  }

  .cu-gallery-modal--albums .cu-gallery-modal__header h2{
    font-size: clamp(1.5rem, 7vw, 1.9rem);
  }

  .cu-gallery-modal--albums .cu-gallery-modal__body{
    padding: .68rem .8rem .9rem;
  }
}







/* 5.0.331 — center only mobile Unit closing-quote artwork; never resize it. */
@media(max-width:760px){
  .cu-unit-page[data-cu-unit-page-schema="unit_page_v4"] .cu-unit-v3-quote .cu-unit-v3-botanical{
    grid-column:1/-1;
    justify-self:center;
    background-position:center top;
  }
}
