body{background:#f6f9fc;color:#10233d}.stay-page{max-width:1240px;margin:26px auto 70px;padding:22px;background:#fff;border:1px solid #e2e9f0;border-radius:18px;box-shadow:0 10px 35px #1e40630b}.stay-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.stay-toolbar>a{font-size:14px;color:#40536a}.stay-favourite{width:46px;height:46px;border:1px solid #dce4ec;border-radius:11px;background:#fff;color:#172e4b;font-size:29px;line-height:1;cursor:pointer;box-shadow:0 5px 16px #1636570b}.stay-favourite[aria-pressed="true"]{color:#0878d1;background:#eef8ff}.stay-overview{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(500px,1.28fr);gap:34px;align-items:end;padding:0 10px 30px}.stay-copy{align-self:stretch;display:flex;flex-direction:column;align-items:flex-start;padding-top:6px}.stay-recommended{display:inline-flex;padding:5px 10px;background:#eaf4ff;color:#0878d1;border-radius:7px;font-size:12px;margin-bottom:18px}.stay-copy h1{font-size:clamp(34px,4vw,52px);line-height:1.13;letter-spacing:-1.5px;margin:0 0 15px;color:#0c213b}.stay-address{display:flex;gap:7px;color:#43556b;font-size:14px;line-height:1.65;margin:0 0 5px}.stay-map{font-size:13px;color:#0878d1;font-weight:500;margin-left:22px}.stay-rating{display:flex;align-items:baseline;gap:11px;margin:23px 0 9px}.stay-rating strong{font:700 28px 'Plus Jakarta Sans';color:#10233d}.stay-rating strong::first-letter{color:#ffb000}.stay-rating a{font-size:13px;color:#0878d1}.stay-description{font-size:14px;color:#506174;line-height:1.75;max-width:470px;margin:0}.stay-gallery{position:relative;padding-top:82px}.stay-price-card{position:absolute;right:0;top:0;border:1px solid #e0e6ec;border-radius:11px;background:#fff;padding:13px 18px;min-width:210px;box-shadow:0 4px 14px #17365408}.stay-price-card span{display:block;color:#657386;font-size:12px}.stay-price-card strong{font:800 31px 'Plus Jakarta Sans';color:#10233d}.stay-price-card small{font-size:12px}.stay-main-photo{width:100%;height:330px;padding:0;border:0;border-radius:13px;background:#e5eef5;overflow:hidden;cursor:pointer;display:block}.stay-main-photo img{width:100%;height:100%;display:block;object-fit:cover}.stay-photo-placeholder{height:100%;display:grid;place-items:center;font:800 82px 'Plus Jakarta Sans';color:#fff;background:linear-gradient(140deg,#0878d1,#62c6f2)}.stay-thumbnails{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}.stay-thumbnail{height:92px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#e8f0f5;cursor:pointer}.stay-thumbnail.active{border-color:#0878d1}.stay-thumbnail img{width:100%;height:100%;display:block;object-fit:cover}.stay-room-picker{margin:0 0 15px;padding:22px;border:1px solid #e0e7ee;border-radius:14px;background:#fff;display:grid;grid-template-columns:210px 1fr;gap:18px;align-items:center}.stay-room-picker h2,.stay-card h2{font-size:20px;margin:0;color:#132741}.stay-room-picker p,.stay-card-heading p{font-size:12px;color:#738092;margin:4px 0 0}.stay-room-tabs{display:flex;gap:10px;overflow:auto;padding:2px}.stay-room-tab{min-width:190px;text-align:left;padding:11px 13px;border:1px solid #dce4eb;border-radius:10px;background:#fff;color:#334a62;font:400 13px Kanit;cursor:pointer}.stay-room-tab span,.stay-room-tab small{display:block}.stay-room-tab small{color:#738092;margin-top:2px}.stay-room-tab.active{border-color:#0878d1;background:#edf7ff;color:#075b96;box-shadow:0 0 0 1px #0878d1}.stay-booking-panel{display:none}.stay-booking-panel.active{display:block}.stay-booking-form{display:grid;grid-template-columns:minmax(430px,1.03fr) minmax(390px,.97fr);gap:18px;align-items:start}.stay-left-column{display:flex;flex-direction:column;gap:18px}.stay-card{background:#fff;border:1px solid #dfe6ed;border-radius:14px;padding:22px;box-shadow:0 5px 18px #17365407}.stay-card-heading{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:18px}.stay-card-heading>span{font-size:11px;color:#0878d1}.stay-calendar-card .booking-calendar-control{padding:0;border:0}.stay-calendar-card .calendar-selection-hint{background:#f1f8fd;border-radius:7px;padding:7px 10px;margin:0 0 10px}.stay-calendar-card .booking-calendar-widget{border-top:0;padding-top:0}.stay-calendar-card .booking-calendar-nav{justify-content:center;gap:40px;margin-bottom:14px}.stay-calendar-card .booking-calendar-nav strong{font-size:16px;color:#172e4b}.stay-calendar-card .booking-calendar-nav button{background:#fff;color:#66778a;font-size:24px}.stay-calendar-card .booking-calendar-weekdays{border-bottom:1px solid #e9edf2;padding-bottom:9px;margin-bottom:6px}.stay-calendar-card .booking-calendar-weekdays span{font-size:12px;color:#4e5f72}.stay-calendar-card .booking-calendar-days{gap:5px}.stay-calendar-card .calendar-empty-day{height:50px}.stay-calendar-card .booking-calendar-day-button{height:50px;border-radius:9px;background:#fff;color:#162a43;display:flex;flex-direction:column;justify-content:center;gap:4px;line-height:1}.stay-calendar-card .booking-calendar-day-button:hover{background:#edf8ff}.stay-calendar-card .booking-calendar-day-button span{font-size:13px;font-weight:600}.stay-calendar-card .booking-calendar-day-button small{font-size:9px;color:#29a34a}.stay-calendar-card .booking-calendar-day-button.low-availability small{color:#e39a00}.stay-calendar-card .booking-calendar-day-button.unavailable{background:#f5f6f8;color:#a6afba;text-decoration:none}.stay-calendar-card .booking-calendar-day-button.unavailable small{color:#a6afba}.stay-calendar-card .booking-calendar-day-button.selected{background:#0878f0;color:#fff;box-shadow:0 7px 15px #0878d13d}.stay-calendar-card .booking-calendar-day-button.selected small{color:#fff}.stay-calendar-card .booking-calendar-day-button.in-range{background:#dff1ff}.stay-calendar-key{display:flex;gap:22px;border-top:1px solid #e9edf2;padding-top:15px;margin-top:14px;font-size:11px;color:#5e6d7e}.stay-calendar-key span{display:flex;align-items:center;gap:6px}.stay-calendar-key i{width:10px;height:10px;border-radius:50%}.stay-calendar-key .available{background:#39af58}.stay-calendar-key .limited{background:#f7b21b}.stay-calendar-key .full{background:#d8dde3}.stay-review-list{display:flex;flex-direction:column}.stay-review-list article{display:grid;grid-template-columns:42px 1fr;gap:12px;padding:14px 0;border-bottom:1px solid #e8edf1}.stay-review-list article:last-child{border-bottom:0}.review-avatar{width:42px;height:42px;border-radius:50%;background:#e3f3fc;color:#075b96;display:grid;place-items:center;font-weight:600}.stay-review-list header{display:flex;align-items:center;gap:13px}.stay-review-list header b{font-size:13px}.stay-review-list header strong{font-size:12px;color:#ffad00;letter-spacing:1px}.stay-review-list p{font-size:12px;color:#526478;line-height:1.55;margin:5px 0 0}.stay-guest-card{position:sticky;top:96px}.stay-guest-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.stay-guest-grid label{color:#425469;font-size:12px}.stay-guest-grid input,.stay-guest-grid select{height:44px;border-color:#dce3ea;background:#fff}.stay-guest-grid .wide-field{grid-column:span 2}.stay-guest-grid .date-choice-row{grid-column:span 2}.stay-guest-grid .date-choice{height:60px;background:#fff;border-color:#dce3ea;color:#425469;padding:8px 11px}.stay-guest-grid .date-choice.active{border-color:#0878d1;background:#f0f8ff}.stay-summary{margin-top:20px;border:1px solid #e0e6ec;border-radius:12px;padding:17px}.stay-summary h3{font-size:16px;margin:0 0 11px}.stay-summary dl{margin:0}.stay-summary dl>div{display:flex;justify-content:space-between;gap:20px;padding:4px 0;font-size:12px}.stay-summary dt{color:#667588}.stay-summary dd{margin:0;text-align:right;color:#2d4056}.stay-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e1e7ed;margin-top:12px;padding-top:14px}.stay-total span{font-size:15px;font-weight:600}.stay-total output{font:700 21px 'Plus Jakarta Sans';color:#0878d1}.stay-confirm{margin-top:20px;height:50px;border-radius:9px;background:#0878f0}.stay-confirm:hover{background:#0569cc}.stay-confirm-note{text-align:center;color:#8a95a2;font-size:10px;margin:10px 0 0}.stay-no-room{text-align:center;margin-top:18px}.gallery-modal{z-index:50}@media(max-width:950px){.stay-overview{grid-template-columns:1fr}.stay-gallery{padding-top:0}.stay-price-card{top:14px;right:14px;z-index:1}.stay-booking-form{grid-template-columns:1fr}.stay-guest-card{position:static}.stay-room-picker{grid-template-columns:1fr}.stay-main-photo{height:390px}}@media(max-width:620px){.stay-page{margin:0;padding:16px;border-radius:0;border-left:0;border-right:0}.stay-toolbar{margin-bottom:22px}.stay-overview{padding:0 0 24px;gap:20px}.stay-copy h1{font-size:34px}.stay-main-photo{height:260px}.stay-price-card{min-width:165px;padding:9px 12px}.stay-price-card strong{font-size:24px}.stay-thumbnail{height:65px}.stay-room-picker,.stay-card{padding:16px}.stay-room-picker{margin-left:0;margin-right:0}.stay-room-tabs{width:100%}.stay-room-tab{min-width:170px}.stay-booking-form{display:block}.stay-left-column{margin-bottom:16px}.stay-guest-grid{grid-template-columns:1fr}.stay-guest-grid .wide-field,.stay-guest-grid .date-choice-row{grid-column:auto}.stay-guest-grid .date-choice-row{grid-template-columns:1fr}.stay-calendar-card .calendar-empty-day,.stay-calendar-card .booking-calendar-day-button{height:44px}.stay-calendar-key{gap:11px;flex-wrap:wrap}.stay-review-list header{align-items:start;flex-direction:column;gap:2px}}
