/* October 2026 desktop reference. Phone styling remains in the mobile stylesheets. */
@media (min-width: 761px) {

/* Fixed card covers leave horizontal gestures to the surrounding property row. */
.card-photo-gallery.is-single {
  touch-action: auto;
  pointer-events: none;
}
.card-photo-gallery.is-single .card-photo-track {
  width: 100%;
  transform: none;
  transition: none;
}

/* Related homes use the same photo proportions and copy spacing as browsing cards. */
.property-related-card > img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  flex-shrink: 0;
}
.property-related-card > div {
  padding: 14px 12px 16px;
}
.property-related-card h3 {
  font-size: 1.1rem;
  line-height: 1.35;
  margin-bottom: 8px;
}


/* Desktop edition: match the approved footer labels and social-link order. */
.site-footer .footer-bottom {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  text-align: left;
}
.site-footer .footer-bottom > p,
.site-footer .footer-bottom > div,
.site-footer .footer-social {
  grid-column: 1;
}
.site-footer .footer-social {
  order: -1;
  justify-self: start;
  justify-content: flex-start;
}
.site-footer .footer-bottom > div {
  justify-content: flex-start;
}


/* Mobile gallery content, with the established full-width desktop scenes. */
#attractions-gallery .attraction-caption {
  bottom: clamp(38px, 6svh, 64px);
}

#attractions-gallery .attraction-description {
  margin-top: 16px;
}

#attractions-gallery .attraction-open {
  width: 40px;
  height: 40px;
  margin-left: 14px;
  border-color: #fff;
  background: #fff;
  color: #173e35;
  box-shadow: none;
}

#attractions-gallery .attraction-open svg {
  width: 21px;
  height: 21px;
}

#attractions-gallery .attraction-open:is(:hover, :focus-visible) {
  background: #173e35;
  color: #fff;
  border-color: #173e35;
}

#attractions-gallery .attraction-scene--discover .attraction-caption h3 {
  white-space: nowrap;
}

#attractions-gallery .attraction-scene--discover .attraction-open {
  background: transparent;
  border-color: transparent;
  color: #fff;
}

#attractions-gallery .attraction-scene--discover:is(:hover, :focus-visible) .attraction-open {
  background: #ffffff20;
  color: #fff;
  border-color: #ffffff70;
}

#attraction-global-village .attraction-shade {
  background: linear-gradient(180deg, rgba(5,20,29,.08) 12%, rgba(5,20,29,.26) 32%, rgba(5,20,29,.84) 60%, rgba(5,20,29,.92) 100%);
}

#attraction-global-village .attraction-caption {
  color: #fff;
  text-shadow: 0 2px 12px #06141dcc;
}

#attraction-global-village .attraction-description {
  color: #fff;
}




/* Compact desktop reviews with an open, border-free layout. */
:is(#reviews,#guest-stories).guest-note {
  --review-background:#f3eee5;
  width:100%;
  max-width:none;
  margin-inline:auto;
  padding:48px clamp(24px,4vw,56px) 40px;
  border:0;
  background:var(--review-background);
  text-align:center;
}
:is(#reviews,#guest-stories).guest-note > .eyebrow { margin:0 0 24px; }
:is(#reviews,#guest-stories).guest-note .guest-quote {
  width:100%;
  max-width:940px;
  min-height:0;
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:center;
  touch-action:pan-y pinch-zoom;
  cursor:grab;
  transition:opacity .18s ease;
  outline-offset:10px;
}
.guest-note .guest-quote.is-dragging { cursor:grabbing; user-select:none; }
.guest-note .review-bubble {
  position:relative;
  width:100%;
  padding:32px 48px 28px;
  border:0;
  border-radius:0;
  background:transparent;
}
.guest-note .review-bubble blockquote {
  margin:0;
  font-size:clamp(1.65rem,2.6vw,2.6rem);
  line-height:1.4;
  text-wrap:pretty;
}
.guest-note .review-bubble .guest-name {
  margin:24px 0 0;
  font-size:1rem;
  line-height:1.5;
}
.review-source {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:30px;
  margin-top:24px;
  font:650 19px/1.1 var(--font-body);
  letter-spacing:-.7px;
  user-select:none;
}
.review-source img { object-fit:contain; flex-shrink:0; pointer-events:none; }
.review-source-booking { color:#003b95; font-size:18px; letter-spacing:-.6px; }
.review-source-airbnb { color:#ff5a5f; font-size:22px; letter-spacing:-1px; }
.review-source-google img { width:83px; height:auto; }
.guest-note .review-navigation {
  display:flex;
  align-items:center;
  justify-content:center;
  margin-top:8px;
}
.review-navigation .quote-controls { margin:0; gap:0; }
.review-navigation .quote-controls button { width:26px; height:26px; }
.review-navigation .quote-controls button span { width:5px; height:5px; }
.review-navigation .quote-controls button[aria-pressed="true"] span { width:6px; height:6px; }
.guest-note .review-arrow,.guest-note .review-swipe-hint { display:none; }
.property-page #guest-stories{padding:40px 24px 36px}
.property-page #guest-stories>.eyebrow{margin-bottom:18px}

@media(prefers-reduced-motion:reduce) {
  .guest-note .guest-quote { transition:none; }
}


/* Desktop booking: guest details with a persistent reservation summary. */
.compact-booking{--booking-header-height:80px}
.compact-booking #main{padding-top:var(--booking-header-height)}
.compact-booking .book-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(340px,1fr);align-items:start;gap:48px;width:min(1280px,calc(100% - 64px));margin:0 auto;padding:48px 0 72px}
.compact-booking #book,.compact-booking .book-step{scroll-margin-top:calc(var(--booking-header-height) + 28px)}
.compact-booking #booking-form{display:flex;flex-direction:column}
.compact-booking #booking-form[hidden]{display:none}
.compact-booking #booking-form>.review-preview-note{display:none}
.compact-booking #booking-form>.wishlist-carried{order:1;margin-top:20px}
.compact-booking .step-head{margin-bottom:32px}
.compact-booking .step-head h2{font-size:clamp(2rem,3.4vw,3rem);line-height:1.2;letter-spacing:-.04em}
.compact-booking .step-head p:last-child{margin-top:12px;font-size:16px;line-height:1.65}
.compact-booking .field-grid{grid-template-columns:1fr 1fr;gap:24px 36px}
.compact-booking :is(.bk-field label,.bk-label){font-size:14px;text-transform:none;letter-spacing:0}
.compact-booking :is(.bk-field input,.bk-select [data-slot="select-trigger"]){font-size:16px}
.compact-booking .booking-sidebar{position:sticky;top:calc(var(--booking-header-height) + 24px);min-width:0;display:flex;flex-direction:column;gap:16px}
.compact-booking #summary{display:block;margin-top:0;background:#faf0e7}
.compact-booking .summary-actions[hidden]{display:none}
.compact-booking .summary-actions .button{width:100%;justify-content:center}
.compact-booking .book-layout.is-details{align-items:stretch}
.compact-booking .is-details .booking-sidebar{position:static}
.compact-booking .is-details #summary{flex:1}
.compact-booking .is-details :is(.book-main,#booking-form){display:flex;flex-direction:column}
.compact-booking .is-details #booking-form,.compact-booking .book-step[data-step="2"]:not([hidden]){flex:1}
.compact-booking .book-step[data-step="2"]:not([hidden]){display:flex;flex-direction:column}
.compact-booking .book-step[data-step="2"] .field-grid{align-content:space-between}
.compact-booking .summary-body{padding:24px 30px}
.compact-booking .summary-body h2{font-size:1.5rem;line-height:1.3}
.compact-booking .summary-rows{margin-top:16px;padding-top:16px;grid-template-columns:minmax(100px,auto) minmax(0,1fr);gap:12px 24px;font-size:14px}
.compact-booking .summary-rows dd{overflow-wrap:anywhere;white-space:pre-line}
.compact-booking .summary-note{display:block}
.compact-booking .summary-pricing{margin:0 30px 24px;padding-top:16px;border-top:1px solid #dcd9cd}
.compact-booking .summary-price-rows{display:flex;justify-content:space-between;gap:16px;font-size:14px;color:#617785}
.compact-booking .summary-price-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:16px;color:var(--ink);font-size:18px;font-weight:500}
.compact-booking .summary-price-total strong{font-size:24px;font-weight:500;white-space:nowrap}
.compact-booking .summary-price-note,.compact-booking .summary-price-status{margin-top:14px;font-size:12px;line-height:1.6;color:#617785}
.compact-booking .summary-edit{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:var(--ink);font:inherit;font-size:13px;padding:16px 0 0;cursor:pointer}
.compact-booking .summary-edit svg{width:14px;height:14px}
.compact-booking .summary-edit:hover{color:var(--cta-dark)}
.compact-booking .summary-edit:focus-visible{outline:2px solid var(--cta-dark);outline-offset:4px}
.compact-booking .step-actions{margin-top:24px;padding-top:0;border-top:0}
@media(min-width:761px) and (max-width:1100px){.compact-booking{--booking-header-height:112px}}
@media(max-width:900px){
 .compact-booking .book-layout{display:block;width:min(760px,calc(100% - 64px))}
 .compact-booking .booking-sidebar{position:static;margin-top:34px}
}



.site-header .desktop-nav a[aria-current="page"]{color:var(--cta-green,#407a61);font-weight:400}
.site-header .desktop-nav a[aria-current="page"]:after{right:0}
.site-header .nav-account-group a[aria-current="page"],#stays-menu>a[aria-current="page"]{color:var(--cta-green,#407a61);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.site-header:not([data-solid]):not(.is-scrolled) .desktop-nav a[aria-current="page"]{color:var(--cta-green,#407a61)}
.al-login-submit,.al-login-dialog .al-login-support{justify-content:center}
.home-price-note,.stays-list-view,.discover-carousel-controls{display:none!important}
.stay-sort .stay-sort-icon{width:24px;height:24px}
.property-related-card .card-rating{vertical-align:middle}
.photo-dialog-top>span{display:block;font-size:1.25rem}
/* The hero and the stepper stay — they are what the page opens as, and
   dropping them once the scripts ran made the design change under the
   guest. The rest below is still trimmed for this layout. */
.compact-booking .summary-help,
.compact-booking .book-promise,.compact-booking .step-head>.eyebrow,
.compact-booking .book-step[data-step="2"]>.step-head.sub,.compact-booking #extras,
.compact-booking .book-step[data-step="2"]>.bk-field.full{display:none}
.compact-booking .book-summary{margin:0;padding:0;border:0;background:none}
.compact-booking .summary-actions{margin:0;padding:0}
.compact-booking .summary-actions .back-link,
.compact-booking .step-actions .back-link{display:none}
.compact-booking .summary-card{position:static}
.compact-booking .summary-price-rows{display:grid;grid-template-columns:1fr auto}
}

/* Stay summary skeleton.
   The rail is filled in two stages — the home when the catalogue lands, the
   prices when the quote comes back — so it holds the shape of each in turn
   rather than showing an empty panel and then jumping. The primitives
   (.skeleton-line and its sweep) come from properties.css. */
.summary-card.is-loading { display: block; }
.summary-skeleton .skeleton-line { display: block; height: 13px; }
.summary-skeleton-title { height: 20px; width: 84%; }
.summary-skeleton-title.is-short { width: 46%; margin-top: 10px; }
.summary-skeleton .summary-rows dt .skeleton-line { width: 68px; }
.summary-skeleton .summary-rows dd .skeleton-line { width: 104px; margin-left: auto; }
.summary-skeleton-edit { width: 172px; margin-top: 18px; }
.summary-skeleton .summary-price-rows { display: grid; grid-template-columns: 1fr auto; gap: 12px 24px; }
.summary-skeleton .summary-price-rows dt .skeleton-line { width: 92px; }
.summary-skeleton .summary-price-rows dd .skeleton-line { width: 72px; margin-left: auto; }
.summary-skeleton .summary-price-total { align-items: center; }
.summary-skeleton-total { width: 142px; height: 18px; }
.summary-skeleton-total.is-short { width: 104px; }
