.lodging-search{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin-block:1.5rem}.lodging-search .field{flex:1 1 10rem;margin:0;min-width:0}.lodging-search .field,.lodging-result .field{display:flex;flex-direction:column;gap:.5rem}.lodging-result .field{margin-block:1rem}.lodging-result{display:flex;gap:1.5rem;flex-wrap:wrap;padding:1.5rem;margin-block:1.5rem;border:1px solid var(--border,#d9e4ec);border-radius:1rem}.lodging-result>div{flex:1;min-width:0}.lodging-result>img{width:16rem;max-width:100%;object-fit:cover;border-radius:.5rem}.lodging-cover{width:100%;max-height:32rem;object-fit:cover}.lodging-result form{max-width:40rem}.lodging-result .check{display:flex;align-items:start;gap:.75rem}.lodging-result input[type=checkbox]{flex-shrink:0}@media(max-width:600px){.lodging-result{display:block}.lodging-result>img{width:100%}.lodging-search .btn{width:100%}}.lodging-gallery{min-width:0;margin-block:1.5rem}.lodging-photo{margin:0}.lodging-photo img{display:block;width:100%;height:clamp(14rem,45vw,32rem);object-fit:contain;background:var(--surface,#f3f7fb)}.lodging-photo figcaption{padding-block:.75rem;overflow-wrap:anywhere}.lodging-facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin-block:1.5rem}.lodging-facts>div{flex:1 1 12rem;min-width:0}.lodging-facts dt{font-weight:600}.lodging-facts dd{margin:.5rem 0;overflow-wrap:anywhere}.lodging-amenities{display:flex;flex-wrap:wrap;gap:.75rem 2rem;padding-inline-start:1.25rem}.lodging-amenities li{max-width:100%;overflow-wrap:anywhere}.lodging-hotels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1.5rem}.stay-card{border:1px solid var(--line,#dfeaf0);border-radius:1rem;overflow:hidden}.stay-card-photo{display:block;aspect-ratio:1.6;background:#f3f7fb}.stay-card-photo img{width:100%;height:100%;object-fit:cover}.stay-card-body{padding:1.25rem}.stay-card h2{margin-top:0}.stay-tags{display:flex;flex-wrap:wrap;gap:.75rem;list-style:none;padding:0}.stay-card-price small{display:block}.stay-room-card{border-bottom:1px solid var(--line,#dfeaf0);padding-block:1.5rem}.stay-room-photo img{width:100%;max-height:20rem;object-fit:cover}.stay-room-book{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}.stay-photo-placeholder{display:grid;place-items:center;height:100%}.stay-photo-placeholder svg{width:3rem;height:3rem}.stay-hero{position:relative;padding:3rem;border-radius:1rem;background:#123f52;color:#fff;isolation:isolate;overflow:hidden}.stay-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.stay-hero:after{content:"";position:absolute;inset:0;background:#052e40b0;z-index:-1}.stay-hero-place{color:#fff}.stay-hero-place span{display:block}.stay-hero-content{max-width:40rem}.stay-booking-panel{margin-top:2rem}.stay-search-help,.stay-price-note{font-size:.85em;color:var(--muted,#64758c)}.outdoor-theme .lodging-collection{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px 28px;align-items:start}.outdoor-theme .lodging-collection>.stay-page-heading{grid-column:1/-1;margin:0;background:linear-gradient(0deg,#052b3bcc,transparent 95%),url(/assets/modules/site/outdoor-landscape.webp) center 45%/cover;padding:42px 36px 30px;min-height:250px;display:flex;flex-direction:column;justify-content:end;color:#fff;border-radius:3px}.outdoor-theme .lodging-collection>.stay-page-heading h1{color:#fff;font-weight:700;font-size:clamp(34px,3.8vw,52px);margin:12px 0}.outdoor-theme .lodging-collection>.stay-page-heading p{max-width:680px;font-size:14px;line-height:1.7;margin:0}.outdoor-theme .lodging-collection .stay-page-heading .stay-eyebrow{color:#b9eef4;font-size:11px}.outdoor-theme .lodging-collection>.lodging-search-panel{grid-column:1;grid-row:2/span 4;margin:0;padding:20px;border-radius:4px}.outdoor-theme .lodging-collection .stay-search-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.outdoor-theme .lodging-collection .stay-search-destination,.outdoor-theme .lodging-collection .stay-search-fields>.btn{grid-column:1/-1}.outdoor-theme .lodging-collection .stay-search-fields input{font-size:12px;padding:8px 5px}.outdoor-theme .lodging-collection .stay-kinds{gap:7px;margin-bottom:20px}.outdoor-theme .lodging-collection .stay-kinds span{font-size:11px;padding:8px 10px;border-radius:4px}.outdoor-theme .lodging-collection .stay-filter-fields{grid-template-columns:1fr}.outdoor-theme .lodging-collection>.stay-section-heading{grid-column:2;margin:0}.outdoor-theme .lodging-collection>.stay-section-heading h2{font-size:26px;font-weight:700}.outdoor-theme .lodging-collection>.lodging-hotels{grid-column:2;grid-template-columns:1fr;gap:18px}.outdoor-theme .lodging-collection .stay-card{display:grid;grid-template-columns:38% minmax(0,1fr);border-radius:4px}.outdoor-theme .lodging-collection .stay-card-photo{height:100%;min-height:230px;aspect-ratio:auto}.outdoor-theme .lodging-collection .stay-card-body{padding:22px}.outdoor-theme .lodging-collection .stay-card h2{font-weight:700;font-size:26px}.outdoor-theme .lodging-collection .stay-tags{margin-bottom:15px}.outdoor-theme .lodging-collection>.stay-price-note{grid-column:2;margin:0}.outdoor-theme .lodging-gallery{border-radius:4px}.outdoor-theme .stay-property-content{gap:30px;padding-top:16px}.outdoor-theme .stay-lead{font-size:17px}.outdoor-theme .stay-amenity-box,.outdoor-theme .stay-room-card,.outdoor-theme .stay-booking-panel{border-radius:4px}.outdoor-theme .stay-room-card{padding:18px;grid-template-columns:260px 1fr}.outdoor-theme .stay-room-card h3{font-weight:700;font-size:26px}.outdoor-theme .stay-room-photo img{border-radius:3px}@media(max-width:800px){.outdoor-theme .lodging-collection{display:block}.outdoor-theme .lodging-collection>.stay-page-heading{min-height:240px;padding:28px}.outdoor-theme .lodging-collection>.lodging-search-panel{margin:20px 0}.outdoor-theme .lodging-collection>.stay-section-heading{margin:26px 0 18px}.outdoor-theme .lodging-collection>.stay-price-note{margin-top:20px}.outdoor-theme .lodging-collection .stay-card{grid-template-columns:1fr}.outdoor-theme .lodging-collection .stay-card-photo{min-height:0;aspect-ratio:1.7}.outdoor-theme .stay-room-card{grid-template-columns:1fr}}.outdoor-theme .lodging-gallery--mosaic{display:grid;grid-template-columns:1.5fr 1fr;gap:12px;height:440px}.outdoor-theme .lodging-gallery--mosaic .lodging-photo:first-child{grid-row:span 2}.outdoor-theme .lodging-gallery--mosaic .lodging-photo{min-height:0;position:relative;overflow:hidden;border-radius:4px}.outdoor-theme .lodging-gallery--mosaic .lodging-photo a,.outdoor-theme .lodging-gallery--mosaic .lodging-photo img{display:block;height:100%;width:100%;object-fit:cover}.outdoor-theme .lodging-gallery--mosaic figcaption{position:absolute;bottom:0;inset-inline:0;background:#052b3bbd;padding:10px 16px;color:#fff;font-size:12px}.outdoor-theme .lodging-gallery--mosaic:has(.lodging-photo:nth-child(4)){height:auto;grid-auto-rows:210px}@media(max-width:600px){.outdoor-theme .lodging-gallery--mosaic{height:330px;grid-template-columns:1.3fr 1fr;gap:6px}.outdoor-theme .lodging-gallery--mosaic figcaption{font-size:10px;padding:6px}}.stay-booking-shortcut{margin-block:1rem}.stay-booking-panel,#rooms{scroll-margin-top:1rem}.stay-trip-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:1rem;background:var(--surface,#f3f7fb);border-radius:4px}.stay-trip-summary dt{font-size:.85em;color:var(--muted,#64758c)}.stay-trip-summary dd{margin:.3rem 0 0;font-weight:600}.stay-date-editor,.stay-price-details{margin-block:1rem;padding-block:.75rem;border-block-end:1px solid var(--line,#dfeaf0)}.stay-date-editor summary,.stay-price-details summary{cursor:pointer;color:var(--accent,#078ba5);font-weight:600}.stay-date-editor .stay-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.stay-date-editor .stay-search-fields>.btn{grid-column:1/-1}.stay-date-editor .lodging-search{display:block}.stay-date-editor input{width:100%;min-width:0}.lodging-gallery a:focus-visible{outline:3px solid var(--accent,#078ba5);outline-offset:-4px}.lodging-gallery figcaption{pointer-events:none}@media(max-width:760px){.outdoor-theme .stay-booking-panel{padding:18px}.outdoor-theme .stay-booking-panel .lodging-result{padding:0;border:0;margin-block:1rem}.stay-booking-shortcut .btn{width:100%;justify-content:center}.stay-booking-panel input:not([type=checkbox]),.stay-booking-panel textarea{width:100%;min-width:0;font-size:16px}.stay-booking-panel form>button{width:100%}.outdoor-theme .lodging-gallery--mosaic{display:flex;height:auto;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.outdoor-theme .lodging-gallery--mosaic .lodging-photo{flex:0 0 88%;height:260px;scroll-snap-align:start}.outdoor-theme .lodging-gallery--mosaic figcaption{font-size:12px}.stay-trip-summary{padding:12px;gap:14px}}
