/* Snaps T Travel approved property layout. Scoped to property page. */
body:has(.stt-property-v2) main.wrap{width:min(1360px,calc(100% - 48px))!important;max-width:1360px!important;margin:0 auto!important;padding:20px 0 70px!important;box-sizing:border-box}
.stt-property-v2{--navy:#102e50;--gold:#d8a747;--ink:#13294b;--line:#e2e8ef;display:grid!important;grid-template-columns:minmax(0,1.95fr) minmax(290px,.98fr);grid-template-areas:'crumb crumb' 'heading heading' 'gallery booking' 'nav details' 'overview details' 'rooms details' 'photos location';column-gap:26px;row-gap:22px;max-width:none!important;width:100%!important;min-width:0;color:var(--ink);align-items:start;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}
.stt-property-v2 *{box-sizing:border-box}.stt-property-v2 .stt-location-crumbs{grid-area:crumb;margin:0!important;background:transparent!important;border:0!important;padding:0!important}.stt-property-v2 .stt-property-heading{grid-area:heading;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0!important;padding:0!important;min-width:0}.stt-property-heading h1{font-size:clamp(25px,2.4vw,38px)!important;line-height:1.2!important;margin:4px 0!important;color:var(--navy)!important}.stt-property-heading .stt-eyebrow{font-size:11px;color:#ad8027;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.stt-property-heading .stt-property-location{margin:4px 0!important;color:#56667a}.stt-property-heading .stt-primary-cta{background:var(--gold)!important;color:var(--navy)!important;padding:12px 18px!important;border-radius:9px!important;text-decoration:none!important;font-weight:800!important;white-space:nowrap}
.stt-property-v2 .stt-stay-gallery{grid-area:gallery;display:grid!important;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:5px;height:370px;min-height:0;margin:0!important;border-radius:14px;overflow:hidden;position:relative;background:#edf1f4;max-width:none!important;width:100%!important}.stt-stay-gallery .stt-stay-photo{display:block!important;position:relative!important;overflow:hidden!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;border:0!important;border-radius:0!important}.stt-stay-gallery .stt-stay-photo-1{grid-column:1;grid-row:1/3}.stt-stay-gallery .stt-stay-photo-2{grid-column:2;grid-row:1}.stt-stay-gallery .stt-stay-photo-3{grid-column:3;grid-row:1}.stt-stay-gallery .stt-stay-photo-4{grid-column:2;grid-row:2}.stt-stay-gallery .stt-stay-photo-5{grid-column:3;grid-row:2}.stt-stay-gallery .stt-stay-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.stt-stay-gallery .stt-stay-photo-count{position:absolute!important;right:12px!important;bottom:12px!important;z-index:3;background:white!important;color:var(--navy)!important;padding:10px 14px!important;border-radius:8px!important;text-decoration:none!important;font-weight:800!important;font-size:12px!important}
.stt-property-v2 .stt-signature-booking{grid-area:booking;position:sticky;top:16px;align-self:start;background:var(--navy)!important;color:#fff!important;border-radius:14px!important;padding:24px!important;margin:0!important;box-shadow:0 12px 35px #102e501b;min-width:0;max-width:none!important}.stt-signature-booking h2{font-size:23px!important;color:white!important;margin:8px 0!important}.stt-signature-label{color:#f1cb80!important;letter-spacing:.12em;font-size:10px!important;font-weight:800}.stt-signature-price{font-size:26px!important;font-weight:800;color:white!important;margin:14px 0!important}.stt-signature-price small,.stt-signature-price span{font-size:12px;font-weight:500}.stt-signature-small,.stt-signature-foot{color:#d5dfec!important;font-size:12px!important;line-height:1.6}.stt-quick-dates{margin:14px 0}.stt-quick-dates-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stt-quick-dates-grid label{display:block;color:#e5edf6;font-size:12px;font-weight:700}.stt-quick-dates-grid input{display:block;width:100%;min-width:0;margin-top:5px;background:#fff!important;color:#152d4e!important;border:1px solid #c7d2de!important;border-radius:8px!important;padding:10px 8px!important;font:inherit!important}.stt-quick-dates .stt-signature-action{display:block;width:100%;margin-top:16px;padding:13px 10px;background:var(--gold)!important;color:var(--navy)!important;border:0;border-radius:8px;text-align:center;font-size:13px;font-weight:800;cursor:pointer;text-decoration:none}
.stt-property-v2 .stt-v2-nav{grid-area:nav;display:flex!important;gap:6px;flex-wrap:wrap;align-items:center;background:#fff!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:8px!important;margin:0!important;max-width:none!important}.stt-v2-nav a{color:var(--navy)!important;text-decoration:none!important;font-size:12px!important;font-weight:700!important;padding:10px 12px!important;border-radius:7px!important}.stt-v2-nav a:hover,.stt-v2-nav a:focus{background:#f8f0df!important}
.stt-property-v2 .stt-v2-overview{grid-area:overview;background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin:0!important;max-width:none!important}.stt-v2-overview h2,.stt-v2-location h2,.stt-gallery-section h2{color:var(--navy)!important;font-size:22px!important;margin:0 0 12px!important}.stt-v2-overview h3{color:var(--navy);font-size:17px;margin:22px 0 12px}.stt-v2-overview p{line-height:1.7;color:#455b72;margin:0}.stt-amenities-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stt-amenity{font-size:13px;color:#344a61;background:#f7f9fc;padding:11px;border-radius:8px;border:1px solid #edf0f5}
.stt-property-v2 .stt-fresh-booking,.stt-property-v2 .stt-price-check{grid-area:rooms;min-width:0;max-width:none!important;width:100%!important;margin:0!important}.stt-fresh-booking .stt-fresh-layout{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}.stt-fresh-booking .stt-fresh-aside{position:static!important;max-width:none!important}.stt-fresh-booking .stt-fresh-summary{background:#f7fafc!important;border:1px solid var(--line)!important;border-radius:12px!important;color:var(--navy)!important}.stt-fresh-booking .stt-fresh-panel{background:#fff!important;border:1px solid var(--line)!important;border-radius:12px!important}.stt-fresh-booking .stt-fresh-submit{background:var(--gold)!important;color:var(--navy)!important;border:0!important}.stt-fresh-booking .stt-fresh-title h2{color:var(--navy)!important}
.stt-property-v2 .stt-gallery-section{grid-area:photos;margin:0!important;max-width:none!important;width:100%!important;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;min-width:0}.stt-gallery-section .stt-gallery-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px!important;overflow:visible!important;padding:0!important;scroll-snap-type:none!important}.stt-gallery-track a{display:block!important;flex:none!important;aspect-ratio:4/3!important;width:100%!important;max-width:none!important;border-radius:8px!important;overflow:hidden}.stt-gallery-track img{width:100%!important;height:100%!important;object-fit:cover!important}.stt-property-v2 .stt-v2-location{grid-area:location;margin:0!important;max-width:none!important;min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}.stt-v2-location .stt-map-section{padding:0!important;border:0!important;margin:10px 0!important}.stt-v2-location .stt-map-preview{max-width:100%!important;width:100%!important;height:270px!important}.stt-v2-location .stt-map-section h2{display:none}
@media(min-width:1050px){.stt-property-v2{grid-template-areas:'crumb crumb' 'heading heading' 'gallery booking' 'nav booking' 'overview booking' 'rooms location' 'photos location';align-items:start}.stt-signature-booking{z-index:5}.stt-v2-location{align-self:start}}
@media(max-width:1049px){.stt-property-v2{grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);grid-template-areas:'crumb crumb' 'heading heading' 'gallery gallery' 'nav booking' 'overview booking' 'rooms location' 'photos photos'}.stt-property-v2 .stt-stay-gallery{height:380px}}
@media(max-width:740px){body:has(.stt-property-v2) main.wrap{width:calc(100% - 28px)!important;padding:16px 0 40px!important}.stt-property-v2{display:flex!important;flex-direction:column;gap:18px}.stt-property-v2> *{width:100%!important;min-width:0}.stt-property-heading{align-items:flex-start!important;flex-direction:column}.stt-property-v2 .stt-stay-gallery{height:270px!important;grid-template-columns:1.5fr 1fr 1fr!important}.stt-property-v2 .stt-signature-booking{position:static!important}.stt-amenities-list{grid-template-columns:repeat(2,minmax(0,1fr))}.stt-gallery-section .stt-gallery-track{grid-template-columns:repeat(3,minmax(0,1fr))}.stt-property-v2 .stt-v2-overview{padding:16px}}
@media(max-width:420px){.stt-property-v2 .stt-stay-gallery{height:220px!important}.stt-gallery-section .stt-gallery-track{grid-template-columns:repeat(2,minmax(0,1fr))}.stt-quick-dates-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
