/* Booking stays beside the property image; all existing form IDs and events remain intact. */
.detail .detailHero.stayHero338{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:28px}
.detail .stayInfo338{min-width:0;max-width:100%;padding:12px 0}
.detail .stayConfiguratorRight338{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:22px 0 0;padding:20px;border:1px solid #d5dfec;border-radius:16px;background:#f7f9fc;grid-column:auto}
.stayConfiguratorRight338 .staySearchHead{display:block;margin-bottom:18px}
.stayConfiguratorRight338 .staySearchHead h3{margin:0 0 7px;font-size:23px}
.stayConfiguratorRight338 .stayConditionGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}
.stayConfiguratorRight338 .stayConditionGrid label{min-width:0;display:grid;gap:6px;font-size:14px}
.stayConfiguratorRight338 .stayConditionGrid input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;font:inherit}
.stayConfiguratorRight338 .stayRangeTrigger,.stayConfiguratorRight338 #calculateStayPrice{grid-column:1/-1;width:100%;min-width:0;box-sizing:border-box}
.stayConfiguratorRight338 .stayRoomList{min-width:0;gap:14px}
.detail .stayConfiguratorRight338 .stayRoomCard{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:14px;padding:16px;background:#fff}
.stayConfiguratorRight338 .roomPriceRows.normalRateRows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;min-width:0}
.stayConfiguratorRight338 .normalRateRows>span{min-width:0;text-align:left;padding:9px}
.stayConfiguratorRight338 .roomPriceRows i{display:block;font-size:12px}
.stayConfiguratorRight338 .roomPriceRows b{font-size:14px}
.stayConfiguratorRight338 .roomBookColumn{display:grid;grid-template-columns:minmax(0,1fr);text-align:left;min-width:0}
.stayConfiguratorRight338 .roomBookColumn .selectRoom{width:100%}
.stayConfiguratorRight338 .roomIdentity,.stayConfiguratorRight338 .roomCalculated{overflow-wrap:anywhere;min-width:0}
.stayConfiguratorRight338 .roomPhotos337{display:flex;flex-wrap:wrap;gap:8px}
.stayConfiguratorRight338 .roomPhotos337 img{max-width:100%!important}
@media(max-width:900px){.detail .detailHero.stayHero338{grid-template-columns:minmax(0,1fr);gap:16px}.detail .stayInfo338{padding:0}.detail .stayConfiguratorRight338{margin-top:18px}}
@media(max-width:520px){.detail .stayConfiguratorRight338{padding:14px}.detail .stayConfiguratorRight338 .stayRoomCard{padding:12px}.stayConfiguratorRight338 .roomPriceRows.normalRateRows{grid-template-columns:repeat(2,minmax(0,1fr))}.stayConfiguratorRight338 .normalRateRows>span{min-width:0}.stayConfiguratorRight338 .stayConditionGrid input{font-size:16px}}

/* Natural media dimensions: no fixed portrait canvas, no cropping. */
.detail .detailHero.stayHero338>.mainProductImage,.detail .detailHero.stayHero338>img.mainProductImage,.detail .detailHero.stayHero338>video.mainProductImage{display:block;box-sizing:border-box;width:100%;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;padding:0!important;background:transparent!important;margin:0;border-radius:16px}

/* Room cards occupy the full row below the photo and date-search area. */
.stayRoomResults339{clear:both;margin:26px 0;padding:22px;border:1px solid #d5dfec;border-radius:16px;background:#f7f9fc;min-width:0;box-sizing:border-box}
.stayRoomResults339>h3{margin:0 0 14px;font-size:23px}.stayRoomResults339 #stayRoomSearchMessage{margin-bottom:18px;line-height:1.6}
.stayRoomResults339 .stayRoomCard{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr) minmax(0,.8fr);align-items:start;background:#fff}
.stayRoomResults339 .normalRateRows{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));min-width:0;overflow:visible}
.stayRoomResults339 .normalRateRows>span{min-width:0}.stayRoomResults339 .roomPriceRows b{font-size:14px}.stayRoomResults339 .roomIdentity{min-width:0;overflow-wrap:anywhere}
.stayRoomResults339 .roomPhotos337{display:flex;flex-wrap:wrap;gap:8px}.stayRoomResults339 img{max-width:100%!important}
@media(max-width:1100px){.stayRoomResults339 .stayRoomCard{grid-template-columns:minmax(0,1fr)}.stayRoomResults339 .roomBookColumn{grid-template-columns:minmax(0,1fr);text-align:left}}
@media(max-width:600px){.stayRoomResults339{padding:14px;margin-top:18px}.stayRoomResults339 .normalRateRows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.stayRoomResults339 .normalRateRows>span{min-width:0}.stayRoomResults339 .roomBookColumn .selectRoom{width:100%}}
