
/* Snaps T Travel — premium accommodation property layout.
   Final visual layer: intentionally leaves PHP booking, rates, map and supplier data untouched. */
.stt-property-v2{
  --stt-navy:#092b4a;--stt-ink:#122548;--stt-gold:#d8ab49;--stt-line:#dce5ef;
  width:min(1440px,calc(100% - 48px))!important;max-width:1440px!important;
  margin:0 auto!important;display:grid!important;
  grid-template-columns:minmax(0,2.12fr) minmax(310px,1fr)!important;
  gap:18px 22px!important;align-items:start!important;
  color:var(--stt-ink);font-family:Arial,system-ui,sans-serif;
}
.stt-property-v2 > *{min-width:0;box-sizing:border-box}
.stt-property-v2 > .stt-location-crumbs{grid-column:1/-1!important;grid-row:1!important;margin:8px 0 0!important}
.stt-property-v2 > .stt-property-heading{grid-column:1/-1!important;grid-row:2!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;margin:0 0 3px!important}
.stt-property-heading h1{font-size:clamp(27px,3vw,40px)!important;line-height:1.13!important;margin:5px 0 8px!important;color:var(--stt-ink)!important}
.stt-property-heading .stt-eyebrow{font-size:11px!important;letter-spacing:1.5px!important;color:#ae7b17!important;font-weight:800!important}
.stt-property-heading .stt-primary-cta{flex-shrink:0!important;background:var(--stt-gold)!important;color:#091f3b!important;border-radius:8px!important;padding:14px 20px!important;font-weight:800!important;text-decoration:none!important}
.stt-property-v2 > .stt-stay-gallery{grid-column:1!important;grid-row:3!important;height:350px!important;min-height:350px!important;margin:0!important;display:grid!important;grid-template-columns:1.6fr 1fr 1fr!important;grid-template-rows:1fr 1fr!important;gap:5px!important;overflow:hidden!important;border-radius:12px!important;position:relative!important}
.stt-stay-gallery .stt-stay-photo{display:block!important;width:100%!important;height:100%!important;min-height:0!important;overflow:hidden!important;border-radius:0!important}
.stt-stay-gallery .stt-stay-photo-1{grid-column:1!important;grid-row:1/3!important}
.stt-stay-gallery .stt-stay-photo-2{grid-column:2!important;grid-row:1!important}
.stt-stay-gallery .stt-stay-photo-3{grid-column:3!important;grid-row:1!important}
.stt-stay-gallery .stt-stay-photo-4{grid-column:2!important;grid-row:2!important}
.stt-stay-gallery .stt-stay-photo-5{grid-column:3!important;grid-row:2!important}
.stt-stay-gallery .stt-stay-photo img{width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;transition:transform .25s ease}
.stt-stay-gallery .stt-stay-photo:hover img{transform:scale(1.04)}
.stt-stay-gallery .stt-stay-photo-count{position:absolute!important;bottom:13px!important;right:13px!important;z-index:2!important;background:#092b4a!important;color:#fff!important;padding:10px 14px!important;border-radius:8px!important;font-size:12px!important;text-decoration:none!important;font-weight:700!important}
.stt-property-v2 > .stt-signature-booking{grid-column:2!important;grid-row:3!important;position:sticky!important;top:72px!important;margin:0!important;width:100%!important;min-width:0!important;max-width:none!important;padding:24px!important;background:#102d50!important;color:#fff!important;border-radius:12px!important;box-shadow:0 14px 30px #0c29411c!important}
.stt-signature-booking h2,.stt-signature-booking .stt-signature-price{color:#fff!important}
.stt-signature-booking .stt-signature-action{background:var(--stt-gold)!important;color:#10233d!important;border-radius:8px!important;font-weight:800!important}
.stt-signature-booking .stt-quick-dates-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.stt-signature-booking label{min-width:0!important;font-size:12px!important;color:#fff!important}
.stt-signature-booking input{min-width:0!important;width:100%!important;box-sizing:border-box!important;background:#fff!important;color:#142a48!important}
.stt-property-v2 > .stt-v2-nav{grid-column:1!important;grid-row:4!important;display:flex!important;flex-wrap:wrap!important;gap:4px!important;margin:0!important;padding:7px 10px!important;border:1px solid var(--stt-line)!important;border-radius:10px!important;background:#fff!important}
.stt-v2-nav a{padding:10px 13px!important;text-decoration:none!important;color:#1c3154!important;font-size:13px!important;font-weight:700!important}
.stt-v2-nav a:hover{color:#a87312!important}
.stt-property-v2 > .stt-v2-overview{grid-column:1!important;grid-row:5!important;margin:0!important;padding:22px!important;background:#fff!important;border:1px solid var(--stt-line)!important;border-radius:11px!important}
.stt-v2-overview h2{margin-top:0!important;color:var(--stt-ink)!important}
.stt-v2-overview p{line-height:1.7!important}
.stt-amenities-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}
.stt-amenity{padding:12px!important;background:#f5f8fc!important;border:1px solid #e6edf5!important;border-radius:8px!important;font-size:12px!important}
.stt-property-v2 > #stt-rooms,.stt-property-v2 > #check-rates,.stt-property-v2 > #booking-checkout,.stt-property-v2 > .panel{grid-column:1!important;margin:0!important}
.stt-property-v2 > .stt-v2-location{grid-column:2!important;grid-row:4/7!important;position:static!important;margin:0!important;background:#fff!important;border:1px solid var(--stt-line)!important;border-radius:11px!important;padding:18px!important}
.stt-v2-location h2{margin:0 0 12px!important;font-size:20px!important;color:var(--stt-ink)!important}
.stt-property-v2 > .stt-gallery-section{grid-column:2!important;grid-row:7!important;margin:0!important;padding:18px!important;background:#fff!important;border:1px solid var(--stt-line)!important;border-radius:11px!important}
.stt-gallery-section h2{font-size:20px!important;margin:0 0 8px!important}
.stt-gallery-section .stt-gallery-track{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;overflow:visible!important;max-height:none!important}
.stt-gallery-track a{width:100%!important;min-width:0!important;height:90px!important;display:block!important}
.stt-gallery-track img{width:100%!important;height:100%!important;object-fit:cover!important;border-radius:7px!important}
.stt-fresh-title h2{color:var(--stt-ink)!important}
.stt-quote-details{background:#fff!important;border:1px solid var(--stt-line)!important;border-radius:10px!important;padding:13px!important}
.stt-quote-details > summary{cursor:pointer!important;color:var(--stt-ink)!important;font-weight:750!important}
.stt-fresh-submit,.stt-fresh-add{background:var(--stt-gold)!important;color:#10233d!important;border-radius:8px!important}
.stt-property-v2 section[id]{scroll-margin-top:90px!important}
@media(max-width:900px){
 .stt-property-v2{width:min(100% - 28px,760px)!important;grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
 .stt-property-v2 > .stt-location-crumbs,.stt-property-v2 > .stt-property-heading,.stt-property-v2 > .stt-stay-gallery,.stt-property-v2 > .stt-signature-booking,.stt-property-v2 > .stt-v2-nav,.stt-property-v2 > .stt-v2-overview,.stt-property-v2 > .stt-v2-location,.stt-property-v2 > .stt-gallery-section,.stt-property-v2 > #stt-rooms,.stt-property-v2 > #check-rates,.stt-property-v2 > #booking-checkout,.stt-property-v2 > .panel{grid-column:1!important;grid-row:auto!important}
 .stt-property-v2 > .stt-signature-booking{position:static!important}
 .stt-property-v2 > .stt-stay-gallery{height:310px!important;min-height:310px!important}
}
@media(max-width:540px){
 .stt-property-v2{width:calc(100% - 20px)!important}
 .stt-property-v2 > .stt-property-heading{align-items:flex-start!important;flex-direction:column!important}
 .stt-property-v2 > .stt-stay-gallery{height:270px!important;min-height:270px!important;grid-template-columns:1.3fr 1fr!important}
 .stt-stay-gallery .stt-stay-photo-1{grid-column:1!important;grid-row:1/3!important}
 .stt-stay-gallery .stt-stay-photo-2{grid-column:2!important;grid-row:1!important}
 .stt-stay-gallery .stt-stay-photo-3{grid-column:2!important;grid-row:2!important}
 .stt-stay-gallery .stt-stay-photo-4,.stt-stay-gallery .stt-stay-photo-5{display:none!important}
 .stt-amenities-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .stt-property-v2 > .stt-signature-booking{padding:18px!important}
 .stt-gallery-track a{height:75px!important}
}
