.booking-module__tzkfcq__page{min-height:calc(100vh - var(--hp-nav-height));color:var(--hp27-text);background:#f6f9fd;padding-bottom:64px}.booking-module__tzkfcq__errorPage{min-height:calc(100vh - var(--hp-nav-height));color:var(--hp27-text);background:#f6f9fd;place-items:start center;padding:48px 16px;display:grid}.booking-module__tzkfcq__errorPage>*{width:min(100%,760px)}.booking-module__tzkfcq__hero{background:var(--hp-canopy-strong);color:#fff;position:relative;overflow:hidden}.booking-module__tzkfcq__heroMedia{aspect-ratio:16/9;min-height:210px;position:relative;overflow:hidden}.booking-module__tzkfcq__heroImage{object-fit:cover}.booking-module__tzkfcq__heroGradient{background:linear-gradient(#0000 45%,#152b4375);position:absolute;inset:0}.booking-module__tzkfcq__heroContent{z-index:1;width:min(100%, var(--hp27-surface-page-max,1336px));flex-direction:column;gap:10px;margin-inline:auto;padding:24px 16px 40px;display:flex;position:relative}.booking-module__tzkfcq__heroKicker,.booking-module__tzkfcq__eyebrow{color:var(--hp27-text-secondary);font-size:var(--hp27-surface-kicker-size,.75rem);letter-spacing:.06em;text-transform:uppercase;font-weight:800;line-height:1.35}.booking-module__tzkfcq__heroKicker{color:#f0c9a8}.booking-module__tzkfcq__heroTitle{color:#fff;letter-spacing:-.035em;font-size:2rem;line-height:1.05}.booking-module__tzkfcq__heroShort{color:#fff;font-size:1.1875rem;font-weight:650;line-height:1.45}.booking-module__tzkfcq__heroDescription{color:#ffffffe0;max-width:66ch;font-size:1rem;line-height:1.65}.booking-module__tzkfcq__heroFacts{color:#ffffffdb;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:4px;font-size:.875rem;display:flex}.booking-module__tzkfcq__searchSection,.booking-module__tzkfcq__resultsSection{width:min(100%, var(--hp27-surface-page-max,1336px));padding-inline:var(--hp27-surface-gutter,16px);margin-inline:auto;container:booking-section/inline-size}.booking-module__tzkfcq__searchSection{z-index:2;margin-top:-20px;position:relative}.booking-module__tzkfcq__searchCard{padding:var(--hp27-surface-card-padding,16px);border:1px solid var(--hp27-outline,#e0e8f1);border-radius:var(--hp27-surface-card-radius,18px);box-shadow:var(--hp27-shadow-card,0 5px 14px #31567511);background:linear-gradient(#fffffff5 0%,#f6f9fdfa 100%),#fff;flex-direction:column;gap:20px;display:flex}.booking-module__tzkfcq__searchHeading,.booking-module__tzkfcq__sectionHeading,.booking-module__tzkfcq__resultsHeader{flex-direction:column;gap:8px;min-width:0;display:flex}.booking-module__tzkfcq__searchHeading h2,.booking-module__tzkfcq__sectionHeading h2,.booking-module__tzkfcq__resultsHeader h2{overflow-wrap:anywhere;color:var(--hp27-text,var(--hp-canopy-strong));font-size:var(--hp27-surface-section-size,1.125rem);font-weight:var(--hp27-surface-title-weight,500);letter-spacing:var(--hp27-surface-title-tracking,-.03em);line-height:var(--hp27-surface-title-leading,1.15)}.booking-module__tzkfcq__searchHint,.booking-module__tzkfcq__sectionHeading>p,.booking-module__tzkfcq__resultsMeta{color:var(--hp-text-muted);font-size:1rem}.booking-module__tzkfcq__searchForm{grid-template-columns:minmax(0,1fr);align-items:end;gap:14px;min-width:0;display:grid}.booking-module__tzkfcq__validationSummary{border-radius:var(--hp-radius-control);color:#8f2017;background:#fff5f4;border:1px solid #f0bbb5;grid-column:1/-1;padding:14px 16px;font-size:.9375rem}.booking-module__tzkfcq__validationSummary p{font-weight:800}.booking-module__tzkfcq__validationSummary ul{margin:4px 0 0;padding-left:20px}.booking-module__tzkfcq__searchActions{display:flex}.booking-module__tzkfcq__searchActions button{width:100%}@media (max-width:767px){.booking-module__tzkfcq__searchForm>*{width:100%;min-width:0;max-width:100%}.booking-module__tzkfcq__searchForm .booking-module__tzkfcq__dateInput{box-sizing:border-box;width:auto;min-width:0;max-width:none;align-self:stretch;inline-size:auto;min-inline-size:0;max-inline-size:none}@supports (-webkit-touch-callout:none){.booking-module__tzkfcq__searchForm .booking-module__tzkfcq__dateInput{appearance:none}}}.booking-module__tzkfcq__resultsSection{padding-top:40px}.booking-module__tzkfcq__sectionHeading{margin-bottom:20px}.booking-module__tzkfcq__results{flex-direction:column;gap:28px;display:flex}.booking-module__tzkfcq__resultsHeader{padding-bottom:4px}.booking-module__tzkfcq__resultsMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:7px;display:flex}.booking-module__tzkfcq__roomGrid{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;display:grid}.booking-module__tzkfcq__roomCard{border:1px solid var(--hp27-outline,#e0e8f1);border-radius:var(--hp27-surface-card-radius,18px);min-width:0;box-shadow:var(--hp27-shadow-card,0 5px 14px #31567511);background:linear-gradient(#fffffff7 0%,#f6f9fdfa 100%),#fff;flex-direction:column;display:flex;overflow:hidden}.booking-module__tzkfcq__roomImageWrap{aspect-ratio:3/2;background:#e4e8e3;position:relative;overflow:hidden}.booking-module__tzkfcq__roomImage{object-fit:cover}.booking-module__tzkfcq__roomCardSoldOut .booking-module__tzkfcq__roomImage{filter:saturate(.58)brightness(.83)}.booking-module__tzkfcq__soldOutBadge{color:#fff;background:#17221de6;border-radius:999px;padding:5px 12px;font-size:.8125rem;font-weight:800;position:absolute;top:12px;left:12px}.booking-module__tzkfcq__roomBody{flex-direction:column;flex:1;gap:14px;min-width:0;padding:18px;display:flex}.booking-module__tzkfcq__roomHeader{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;min-width:0;display:flex}.booking-module__tzkfcq__roomName{overflow-wrap:anywhere;color:var(--hp27-text,var(--hp-canopy-strong));letter-spacing:-.015em;font-size:1.375rem;font-weight:500;line-height:1.2}.booking-module__tzkfcq__roomOccupancy{color:var(--hp-text-muted);white-space:nowrap;align-items:center;gap:.5rem;font-size:.875rem;display:inline-flex}.booking-module__tzkfcq__roomDescription{color:var(--hp-text-muted);font-size:1rem;line-height:1.6}.booking-module__tzkfcq__roomFooter{border-top:1px solid #edf0ed;flex-direction:column;flex:1;justify-content:flex-end;gap:14px;padding-top:14px;display:flex}.booking-module__tzkfcq__roomPricing{flex-direction:column;gap:5px;display:flex}.booking-module__tzkfcq__nightlyRate{color:var(--hp-canopy-strong);font-size:1.3125rem;font-weight:800}.booking-module__tzkfcq__perNight{color:var(--hp-text-muted);font-size:.875rem}.booking-module__tzkfcq__stayTotal{color:var(--hp-clay);font-size:.9375rem;font-weight:750}.booking-module__tzkfcq__roomCta{flex-direction:column;align-items:stretch;gap:10px;display:flex}.booking-module__tzkfcq__roomActions{flex-flow:wrap;align-items:center;gap:.625rem;display:flex}.booking-module__tzkfcq__roomInfoButton,.booking-module__tzkfcq__roomSelectButton{min-width:var(--hp27-surface-control-min,44px);min-height:var(--hp27-surface-control-min,44px);white-space:nowrap;justify-content:center;align-self:center;align-items:center;gap:.5rem;display:inline-flex}.booking-module__tzkfcq__roomInfoGallery{gap:var(--hp-space-3);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.booking-module__tzkfcq__roomInfoThumb{aspect-ratio:3/2;cursor:zoom-in;background:#d7e4f0;border:0;border-radius:16px;width:100%;min-width:0;min-height:44px;margin:0;padding:0;display:block;position:relative;overflow:hidden}.booking-module__tzkfcq__roomInfoThumb:focus-visible{outline-offset:2px;outline:2px solid #287cea}.booking-module__tzkfcq__roomInfoImage{object-fit:cover}.booking-module__tzkfcq__roomInfoFallback{min-height:8rem;padding:var(--hp-space-4);color:var(--hp27-text-secondary);text-align:center;place-items:center;font-size:.875rem;display:grid}.booking-module__tzkfcq__imageViewerFrame{justify-content:center;align-items:center;width:min(96vw,100vw - 2.5rem);max-width:100%;height:min(92dvh,100dvh - 2.5rem);max-height:min(92dvh,100dvh - 2.5rem);margin:0 auto;display:flex;position:relative;overflow:visible}.booking-module__tzkfcq__imageViewerPhotoWrap{max-width:100%;max-height:min(92dvh,100dvh - 2.5rem);display:block;position:relative;overflow:visible}.booking-module__tzkfcq__imageViewerPhoto{object-fit:contain;opacity:0;border-radius:16px;width:100%;height:100%;display:block}.booking-module__tzkfcq__imageViewerPhotoReady{opacity:1;transition:opacity .18s var(--hp27-motion-ease,cubic-bezier(.22, 1, .36, 1))}.booking-module__tzkfcq__roomInfoCopy{gap:var(--hp27-surface-space-stack,24px);flex-direction:column;min-width:0;display:flex}.booking-module__tzkfcq__roomInfoCopy p{overflow-wrap:anywhere;color:var(--hp27-text-secondary);font-size:1rem;line-height:1.6}.booking-module__tzkfcq__roomInfoNotice{font-weight:650;color:var(--hp27-text)!important}.booking-module__tzkfcq__roomInfoRate{margin:0}.booking-module__tzkfcq__roomInfoBody{gap:var(--hp27-surface-space-stack,24px);padding-bottom:1.75rem}.booking-module__tzkfcq__availabilityNote{color:#8a5107;font-size:.875rem;font-weight:750}.booking-module__tzkfcq__soldOutNote{color:var(--hp-text-muted);font-size:.9375rem}.booking-module__tzkfcq__soldOutState{border-radius:var(--hp-radius-card);color:var(--hp-text-muted);background:#ffffffb8;border:1px dashed #b9c3bc;flex-direction:column;align-items:flex-start;gap:7px;padding:24px;font-size:1rem;display:flex}.booking-module__tzkfcq__soldOutStateTitle{color:var(--hp-text);font-size:1.25rem;font-weight:800}.booking-module__tzkfcq__soldOutGroup{border-top:1px dashed var(--hp-border);flex-direction:column;gap:14px;padding-top:24px;display:flex}.booking-module__tzkfcq__soldOutGroup>h3{color:var(--hp-text-muted);letter-spacing:.065em;text-transform:uppercase;font-size:.9375rem}.booking-module__tzkfcq__heroSkeleton{flex-direction:column;gap:14px;width:min(100%,1440px);margin-inline:auto;padding:24px 16px;display:flex}.booking-module__tzkfcq__heroSkeletonImage{width:100%;min-height:250px}.booking-module__tzkfcq__heroSkeletonTitle{width:min(72%,420px);height:36px}.booking-module__tzkfcq__heroSkeletonCopy{width:min(92%,680px);height:68px}.booking-module__tzkfcq__roomSkeleton{border-radius:var(--hp-radius-card);min-height:480px}@media (min-width:640px){.booking-module__tzkfcq__roomActions{flex-wrap:nowrap}}@media (min-width:700px){.booking-module__tzkfcq__roomGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}@media (min-width:768px){.booking-module__tzkfcq__hero{align-items:flex-end;min-height:480px;display:flex}.booking-module__tzkfcq__heroMedia{aspect-ratio:auto;min-height:0;position:absolute;inset:0}.booking-module__tzkfcq__heroGradient{background:linear-gradient(#0000,#0817112e 32%,#081711e0),linear-gradient(90deg,#0817117a,#0000 70%)}.booking-module__tzkfcq__heroContent{width:min(100%, var(--hp27-surface-page-max,1336px));padding:80px 24px 72px}.booking-module__tzkfcq__heroShort{font-size:1.3125rem}.booking-module__tzkfcq__searchHeading h2,.booking-module__tzkfcq__sectionHeading h2,.booking-module__tzkfcq__resultsHeader h2{font-size:var(--hp27-surface-title-size,1.875rem)}.booking-module__tzkfcq__heroTitle{font-size:3.125rem}.booking-module__tzkfcq__searchSection,.booking-module__tzkfcq__resultsSection{padding-inline:24px}.booking-module__tzkfcq__searchSection{margin-top:-40px}.booking-module__tzkfcq__searchCard{padding:24px}.booking-module__tzkfcq__searchHeading,.booking-module__tzkfcq__sectionHeading,.booking-module__tzkfcq__resultsHeader{flex-flow:wrap;justify-content:space-between;align-items:flex-end;gap:24px}.booking-module__tzkfcq__searchHeading>:first-child,.booking-module__tzkfcq__sectionHeading>:first-child,.booking-module__tzkfcq__resultsHeader>:first-child{flex:16rem;min-width:0}.booking-module__tzkfcq__searchHint,.booking-module__tzkfcq__sectionHeading>p{text-align:right;max-width:440px}.booking-module__tzkfcq__searchForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.booking-module__tzkfcq__searchActions{grid-column:1/-1}.booking-module__tzkfcq__resultsSection{padding-top:48px}.booking-module__tzkfcq__resultsHeader{align-items:flex-start}.booking-module__tzkfcq__roomBody{padding:20px}.booking-module__tzkfcq__heroSkeleton{padding-inline:24px}}@media (min-width:1024px){.booking-module__tzkfcq__searchForm{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(130px,.62fr) auto}.booking-module__tzkfcq__searchActions{grid-column:auto}.booking-module__tzkfcq__searchActions button{width:auto;min-width:164px}}@media (min-width:1440px){.booking-module__tzkfcq__hero{min-height:540px}.booking-module__tzkfcq__heroContent{padding:112px 32px 88px}.booking-module__tzkfcq__searchSection,.booking-module__tzkfcq__resultsSection{padding-inline:32px}.booking-module__tzkfcq__searchCard{padding:28px 32px}.booking-module__tzkfcq__resultsSection{padding-top:56px}}@container booking-section (max-width:46rem){.booking-module__tzkfcq__searchHeading,.booking-module__tzkfcq__sectionHeading,.booking-module__tzkfcq__resultsHeader{flex-direction:column;align-items:flex-start}.booking-module__tzkfcq__searchHeading>:first-child,.booking-module__tzkfcq__sectionHeading>:first-child,.booking-module__tzkfcq__resultsHeader>:first-child{flex:0 auto;width:100%}.booking-module__tzkfcq__searchHint,.booking-module__tzkfcq__sectionHeading>p{text-align:left;max-width:none}}.booking-module__tzkfcq__pageEnter{transform-origin:50%;animation:booking-module__tzkfcq__hp27BookingEnter var(--hp27-motion-booking,.6s) var(--hp27-motion-ease) both}.hp27-screen-pane .booking-module__tzkfcq__pageEnter{opacity:1;animation:none;transform:none}@keyframes booking-module__tzkfcq__hp27BookingEnter{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.booking-module__tzkfcq__pageEnter{animation:none;transform:none}}
