.stay-main-image[data-stay-open-current]{width:100%;border:0;padding:0;cursor:zoom-in;text-align:inherit}
.stay-room-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.stay-room-detail-grid span{display:grid;gap:2px;padding:10px;border:1px solid var(--stay-line);border-radius:8px;background:#f8fbf9;color:#344054;font-size:13px;font-weight:750}
.stay-room-detail-grid i{color:var(--stay-green);font-size:15px}
.stay-room-detail-grid b{color:var(--stay-muted);font-size:12px}
.stay-nearby-section{padding:24px;border:1px solid var(--stay-line);border-radius:10px;background:#fff;box-shadow:0 12px 34px rgba(17,24,39,.06)}
.stay-nearby-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:18px}
.stay-nearby-heading span{display:block;margin-bottom:4px;color:var(--stay-green);font-size:13px;font-weight:850;text-transform:uppercase}
.stay-nearby-heading h2{margin:0;font-size:24px;font-weight:900}
.stay-nearby-heading p{max-width:460px;margin:0;color:var(--stay-muted)}
.stay-nearby-card{height:100%;border:1px solid var(--stay-line);border-radius:10px;overflow:hidden;background:#fff}
.stay-nearby-image{height:185px;position:relative;display:block;background:var(--stay-soft);overflow:hidden;color:var(--stay-green)}
.stay-nearby-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.stay-nearby-card:hover .stay-nearby-image img{transform:scale(1.04)}
.stay-nearby-image>span{height:100%;display:grid;place-items:center;font-size:32px}
.stay-nearby-image b,.stay-nearby-image em{position:absolute;top:10px;padding:5px 9px;border-radius:999px;font-size:12px;font-style:normal;font-weight:850}
.stay-nearby-image b{left:10px;background:rgba(16,24,40,.86);color:#fff}
.stay-nearby-image em{right:10px;background:#fff;color:var(--stay-dark)}
.stay-nearby-body{padding:14px}
.stay-nearby-body h3{min-height:44px;margin:0 0 8px;font-size:17px;font-weight:900;line-height:1.3}
.stay-nearby-body h3 a{color:var(--stay-text)}
.stay-nearby-body strong{display:block;margin-bottom:9px;color:#d92d20;font-size:18px}
.stay-nearby-body p{min-height:42px;margin:0 0 9px;color:var(--stay-muted);font-size:14px;line-height:1.5}
.stay-nearby-link{color:var(--stay-dark);font-weight:850}
.stay-review-section .stay-review-score{height:100%;padding:18px;border:1px solid var(--stay-line);border-radius:10px;background:#f8fbf9;text-align:center}
.stay-review-stars,.stay-review-card span{display:block;color:var(--stay-orange);letter-spacing:2px;font-weight:850}
.stay-review-notice{margin-bottom:14px;padding:11px 13px;border-radius:8px;font-weight:750}
.stay-review-notice.is-success{border:1px solid #b7e2c2;background:#edf9f1;color:#136b32}
.stay-review-notice.is-error{border:1px solid #fecaca;background:#fff1f2;color:#b42318}
.stay-review-form{display:grid;gap:12px;padding:16px;border:1px solid var(--stay-line);border-radius:10px;background:#fff}
.stay-review-form-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stay-review-radio-stars{display:inline-flex;flex-direction:row-reverse;gap:4px}
.stay-review-radio-stars input{position:absolute;opacity:0;pointer-events:none}
.stay-review-radio-stars label{margin:0;color:#d0d5dd;font-size:26px;line-height:1;cursor:pointer}
.stay-review-radio-stars input:checked~label,.stay-review-radio-stars label:hover,.stay-review-radio-stars label:hover~label{color:var(--stay-orange)}
.stay-review-form textarea{width:100%;min-height:108px;padding:12px 14px;border:1px solid var(--stay-line);border-radius:8px;resize:vertical}
.stay-review-form button{justify-self:start}
.stay-review-login{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--stay-line);border-radius:10px;background:#fff}
.stay-review-login i{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--stay-soft);color:var(--stay-green)}
.stay-review-login span{font-weight:750;color:#475467}
.stay-review-login a{padding:8px 12px;border-radius:8px;background:var(--stay-green);color:#fff;font-weight:850}
.stay-review-card b{display:block;margin-bottom:4px;color:var(--stay-text)}
.stay-review-empty{padding:22px;border:1px dashed #bddcca;border-radius:10px;background:#fff;color:var(--stay-muted);text-align:center;font-weight:750}
.stay-booking-notice{margin-bottom:14px;padding:11px 13px;border-radius:8px;font-weight:750}
.stay-booking-notice.is-success{border:1px solid #b7e2c2;background:#edf9f1;color:#136b32}
.stay-booking-notice.is-error{border:1px solid #fecaca;background:#fff1f2;color:#b42318}
.stay-booking-modal[hidden]{display:none}
.stay-booking-modal{position:fixed;inset:0;z-index:10001;display:flex;align-items:center;justify-content:center;padding:18px}
.stay-booking-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.62)}
.stay-booking-dialog{position:relative;z-index:1;width:min(620px,100%);max-height:92vh;overflow:auto;padding:24px;border-radius:10px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.28)}
.stay-booking-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:0;border-radius:50%;background:#f2f4f7;color:#101828;font-size:24px;line-height:1}
.stay-booking-dialog h2{margin:0 42px 4px 0;font-size:24px;font-weight:900}
.stay-booking-stay{margin:0 0 16px;color:var(--stay-muted);font-weight:750}
.stay-booking-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stay-booking-form label{display:grid;gap:5px;color:#344054;font-size:13px;font-weight:800}
.stay-booking-form input,.stay-booking-form textarea{width:100%;padding:10px 12px;border:1px solid var(--stay-line);border-radius:8px;background:#fff;color:var(--stay-text)}
.stay-booking-form input[readonly]{background:#f8fbf9}
.stay-booking-full,.stay-booking-form button{grid-column:1/-1}
.stay-booking-form button{justify-self:start}
.stay-gallery-open{overflow:hidden}
.stay-gallery-modal[hidden]{display:none}
.stay-gallery-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:18px}
.stay-gallery-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.82)}
.stay-gallery-dialog{position:relative;z-index:1;width:min(1120px,100%);height:min(760px,92vh);display:grid;grid-template-rows:minmax(0,1fr) 92px;gap:12px;padding:16px;border-radius:10px;background:#101828;color:#fff;box-shadow:0 28px 80px rgba(0,0,0,.36)}
.stay-gallery-dialog figure{width:100%;height:100%;min-width:0;min-height:0;margin:0;display:flex;align-items:center;justify-content:center;position:relative;background:#050b16;border-radius:8px;overflow:hidden}
.stay-gallery-dialog figure img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain}
.stay-gallery-dialog figcaption{position:absolute;left:14px;bottom:12px;padding:5px 10px;border-radius:999px;background:rgba(15,23,42,.74);font-weight:800;font-size:13px}
.stay-gallery-close,.stay-gallery-prev,.stay-gallery-next{position:absolute;z-index:2;border:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.92);color:#101828;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.stay-gallery-close{top:12px;right:12px;width:38px;height:38px;font-size:26px;line-height:1}
.stay-gallery-prev,.stay-gallery-next{top:50%;width:46px;height:46px;transform:translateY(-50%)}
.stay-gallery-prev{left:26px}
.stay-gallery-next{right:26px}
.stay-gallery-modal-thumbs{display:flex;gap:10px;overflow-x:auto;padding:4px 2px 8px}
.stay-gallery-modal-thumbs button{width:86px;height:70px;flex:0 0 86px;padding:2px;border:2px solid transparent;border-radius:8px;background:#fff;overflow:hidden}
.stay-gallery-modal-thumbs button.is-active{border-color:#29a349}
.stay-gallery-modal-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:5px;display:block}

@media(max-width:767.98px){
    .stay-gallery-modal{padding:10px}
    .stay-gallery-dialog{height:92vh;grid-template-rows:minmax(0,1fr) 74px;padding:10px}
    .stay-gallery-prev,.stay-gallery-next{width:40px;height:40px}
    .stay-gallery-prev{left:14px}
    .stay-gallery-next{right:14px}
    .stay-gallery-modal-thumbs button{width:68px;height:56px;flex-basis:68px}
    .stay-room-detail-grid{grid-template-columns:1fr}
    .stay-nearby-section{padding:16px}
    .stay-nearby-heading{display:block}
    .stay-review-form-head{display:grid}
    .stay-review-login{grid-template-columns:38px 1fr}
    .stay-review-login a{grid-column:1/-1;text-align:center}
    .stay-booking-form{grid-template-columns:1fr}
    .stay-booking-dialog{padding:18px}
}
