*{box-sizing:border-box}body{margin:0;background:#f5f7fc;color:#1e2d45;font-family:system-ui,Arial,sans-serif}header{height:72px;background:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,18px);border-bottom:1px solid #e5e9f3}a{color:#234c94;text-decoration:none}.brand{font-size:29px;color:#223d72;font-weight:850;letter-spacing:-1.6px}.brand span{color:#e93b50}main{max-width:1200px;margin:auto;padding:22px}.hero{padding:42px 30px;background:linear-gradient(115deg,#172f5b,#3169a3);color:white;border-radius:22px}.hero h1{font-size:clamp(30px,4vw,48px);margin:10px 0}.hero p{opacity:.86}small{letter-spacing:1.2px}form{display:grid;grid-template-columns:2fr repeat(4,1fr) auto;gap:12px;background:white;padding:18px;position:relative;margin-top:-16px;border-radius:16px;box-shadow:0 12px 30px #1c315016}label{font-size:12px;font-weight:750;display:grid;gap:7px}input{border:1px solid #d6ddea;border-radius:8px;padding:11px;min-width:0;width:100%;font:inherit}button{background:#e83750;color:white;font-weight:750;border:0;border-radius:9px;cursor:pointer;padding:14px 20px}button:disabled{opacity:.5;cursor:wait}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:23px 0}.hotel{background:white;border:1px solid #e3e9f3;overflow:hidden;border-radius:15px}.hotel img{height:190px;width:100%;object-fit:cover;background:#dfe7f3}.hotel .body{padding:17px}.hotel h3{margin:0 0 8px;font-size:19px}.muted,.disclaimer{color:#637185;font-size:13px;line-height:1.7}.price{font-size:21px;font-weight:800;color:#253e7a}.hotel button{width:100%;margin-top:12px;background:#254a86}#detail{background:white;padding:20px;border-radius:16px;margin:16px 0}#status{margin-top:18px} @media(max-width:850px){form{grid-template-columns:repeat(2,1fr)}form label:first-child,form button{grid-column:span 2}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.cards{grid-template-columns:1fr}.hero{padding:25px 20px}header{height:65px}}#requestPanel{background:white;padding:24px;border-radius:16px;margin:16px 0;border:1px solid #dfe6f1}#requestPanel form{position:static;box-shadow:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:8px 0;gap:15px}#requestPanel label:nth-child(4),#requestPanel .consent,#requestPanel button{grid-column:1/-1}#requestPanel textarea{width:100%;padding:11px;border:1px solid #d6ddea;border-radius:8px;font:inherit}#requestPanel .consent{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:13px}#requestPanel .consent input{width:auto;margin-top:3px}.honeypot{display:none!important}@media(max-width:600px){#requestPanel form{grid-template-columns:1fr}#requestPanel label,#requestPanel button{grid-column:1/-1}}

/* Property detail experience */
#detail{padding:0;overflow:hidden;border:1px solid #e0e7f3;box-shadow:0 12px 36px #17335a12;scroll-margin-top:20px}.details-shell{padding:clamp(18px,3vw,34px)}.detail-top{display:flex;align-items:center;justify-content:space-between}.detail-back{background:#edf2fb;color:#17375e;padding:11px 16px}.detail-pill{font-size:12px;color:#27518e;background:#ebf3ff;border-radius:50px;padding:8px 13px}.details-shell h2{font-size:clamp(25px,3vw,35px);margin:20px 0 4px;color:#142b4d}.detail-address{color:#60718b;margin:0 0 8px}.detail-rating{color:#304e81;margin-bottom:20px;font-size:14px}.detail-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:140px 140px;gap:9px;overflow:hidden;border-radius:14px}.gallery-item{padding:0;border-radius:0;overflow:hidden;background:#e4eaf3}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.gallery-item:hover img{transform:scale(1.05)}.gallery-hero{grid-row:span 2}.detail-gallery .gallery-item:nth-child(n+6){display:none}.no-photos{background:#eff3f9;padding:60px;text-align:center;color:#6a7990}.detail-columns{display:grid;grid-template-columns:minmax(0,1fr) 315px;align-items:start;gap:26px;margin-top:25px}.detail-section{border-bottom:1px solid #e1e8f2;padding:7px 0 22px;margin-bottom:15px}.detail-section h3,.stay-summary h3{color:#17345c;font-size:20px;margin:8px 0 14px}.detail-section p{line-height:1.8;color:#465c77}.amenity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;font-size:14px;color:#415e7b}.room-card{border:1px solid #dbe5f2;border-radius:11px;padding:14px;margin:10px 0}.room-card h4{margin:0}.stay-summary{border:1px solid #dce5f1;background:#f9fbff;padding:21px;border-radius:16px;position:sticky;top:20px}.stay-line{display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #dfe7f2;font-size:13px}.stay-line strong{text-align:right}.summary-price{color:#173e81;font-size:20px}.detail-total{font-size:13px;margin-top:12px;font-weight:700}.stay-summary button{width:100%;margin-top:15px}.request-note{font-size:12px;text-align:center;color:#65748a;margin-top:10px}.details-loading{padding:65px;text-align:center;font-size:17px}.detail-warning{color:#935e13;background:#fff7e6;margin:0;padding:14px 30px}.hotel-lightbox{position:fixed;inset:0;background:#08142deE;z-index:99999;display:flex;align-items:center;justify-content:center;padding:55px 20px}.hotel-lightbox img{max-width:95vw;max-height:85vh;object-fit:contain}.hotel-lightbox button{position:absolute;right:25px;top:20px;background:#fff;color:#152f55}@media(max-width:850px){.detail-columns{grid-template-columns:1fr}.stay-summary{position:static}.detail-gallery{grid-template-rows:115px 115px}}@media(max-width:520px){.detail-gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 90px}.gallery-hero{grid-column:span 2;grid-row:span 1}.gallery-item:nth-child(n+4){display:none}.amenity-grid{grid-template-columns:1fr}.details-shell{padding:15px}}

/* New-tab hotel details and in-place booking popup */
.details-link{display:block;text-align:center;width:100%;margin-top:12px;background:#254a86;color:white;border-radius:9px;padding:14px 20px;font-weight:750;text-decoration:none}
.details-link:hover{background:#173765}
[hidden]{display:none!important}
body[data-page="hotel-detail"] main{max-width:1250px}
body[data-page="hotel-detail"] #detail{margin-top:22px}
body[data-page="hotel-detail"] #status{font-size:15px}
body.modal-open{overflow:hidden}
#requestPanel.request-overlay{position:fixed;inset:0;z-index:100000;background:rgba(11,27,52,.7);display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;margin:0;border:0;border-radius:0;box-shadow:none}
#requestPanel .request-dialog{background:#fff;border-radius:19px;width:min(580px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(20px,3vw,30px);position:relative;box-shadow:0 22px 70px #07142970}
#requestPanel .request-dialog h2{margin-top:0;color:#17345c;padding-right:44px}
#requestPanel .request-dialog>p{color:#536882;line-height:1.6;font-size:14px}
#requestPanel .modal-close{position:absolute;right:14px;top:12px;border-radius:50%;background:#edf2fa;color:#17345c;padding:8px 13px;font-size:18px}
#requestPanel .modal-close:hover{background:#dce7f8}
#requestPanel #requestStatus{line-height:1.6;color:#17345c}
@media(max-width:600px){#requestPanel .request-dialog{padding:20px}}

/* Hotel search filters */
.hotel-filter-toolbar{margin:24px 0 12px;padding:20px;background:#fff;border:1px solid #dee7f4;border-radius:16px;box-shadow:0 10px 32px #1433550c}.filter-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.filter-head h2{font-size:21px;margin:0;color:#193961}.filter-head p{color:#64758e;font-size:13px;margin:6px 0 16px}.clear-filters{background:#eaf1fb;color:#244b83;padding:10px 13px}.filter-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.filter-fields label{font-size:12px}.filter-fields input,.filter-fields select{width:100%;padding:11px;border:1px solid #d6dfea;border-radius:9px;background:white;color:#1c3455;font-size:13px}.filter-amenities{margin-top:15px}.filter-amenities>strong{display:block;margin-bottom:10px;font-size:13px}.amenity-chips{display:flex;gap:8px;flex-wrap:wrap}.amenity-chips label{display:inline-flex;align-items:center;gap:6px;background:#f4f7fc;border:1px solid #dfebf8;border-radius:20px;padding:8px 11px;font-weight:500;cursor:pointer}.amenity-chips input{width:auto;margin:0;accent-color:#214e8c}.filter-count{color:#62738b;font-size:12px;margin-top:15px}.filter-empty{grid-column:1/-1;text-align:center;background:white;padding:40px 16px;border-radius:13px;color:#60738e}@media(max-width:950px){.filter-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:580px){.filter-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-head{align-items:flex-start}.hotel-filter-toolbar{padding:14px}}
/* Multi-photo lightbox with categories and keyboard navigation */
.modern-lightbox{display:flex;flex-direction:column;gap:12px;padding:14px clamp(12px,3vw,35px);background:rgba(8,20,40,.97)}.modern-lightbox .gallery-top{display:flex;justify-content:space-between;align-items:center;color:#fff;width:min(1200px,100%)}.modern-lightbox .gallery-close{position:static;background:#fff;color:#153456;padding:9px 14px}.photo-categories{display:flex;gap:9px;max-width:1200px;width:100%;overflow-x:auto;flex-shrink:0}.modern-lightbox .photo-category{background:#263b5b;color:#fff;border:1px solid #506789;padding:9px 15px;white-space:nowrap}.modern-lightbox .photo-category.active{background:#fff;color:#12335a}.gallery-stage{width:min(1200px,100%);flex:1;min-height:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.gallery-stage img{max-width:calc(100% - 105px);max-height:100%;object-fit:contain}.modern-lightbox .gallery-prev,.modern-lightbox .gallery-next{position:static;background:#fff;color:#16345a;flex:0 0 45px;padding:11px}.gallery-footer{display:flex;justify-content:space-between;color:#fff;width:min(1200px,100%);font-size:13px;gap:12px}.photo-strip{width:min(1200px,100%);display:flex;gap:8px;overflow-x:auto;flex-shrink:0;padding-bottom:3px}.modern-lightbox .photo-strip button{position:static;flex:0 0 80px;height:55px;padding:0;background:transparent;border:2px solid transparent;opacity:.65;overflow:hidden;border-radius:6px}.modern-lightbox .photo-strip button.selected{border-color:#fff;opacity:1}.modern-lightbox .photo-strip img{width:100%;height:100%;object-fit:cover}@media(max-width:580px){.gallery-stage img{max-width:calc(100% - 68px)}.modern-lightbox .gallery-prev,.modern-lightbox .gallery-next{flex-basis:30px;padding:8px}.modern-lightbox{gap:8px}.modern-lightbox .photo-strip button{flex-basis:55px;height:42px}}

/* Reference-inspired two-column search results layout */
main{max-width:1400px;padding:18px 24px}.compact-banner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;margin:8px 0 12px;background:linear-gradient(105deg,#183760,#265e96);color:#fff;border-radius:12px}.compact-banner strong{font-size:21px}.compact-banner span{font-size:13px;color:#e0eafa}#search{margin:0;border:1px solid #e0e7f0;box-shadow:0 3px 18px #152b4b10}.listing-layout{display:grid;grid-template-columns:255px minmax(0,1fr);align-items:start;gap:20px;margin-top:15px}.listing-layout[hidden]{display:none!important}.hotel-results-column{min-width:0}.hotel-filter-toolbar{margin:0 0 16px;padding:17px 20px;box-shadow:none}.results-heading{display:flex;align-items:start;justify-content:space-between;gap:12px}.results-heading h2{font-size:23px;color:#142b4e;margin:0}.results-heading p{font-size:12px;color:#64758e;margin:5px 0 12px}.sorting-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sorting-bar label{display:flex;align-items:center;gap:8px;color:#344767;font-size:12px}.sorting-bar select{padding:9px;border:1px solid #d8e1f0;border-radius:7px;background:white;font-size:12px}.hotel-results-column .cards{display:flex;flex-direction:column;gap:13px;margin:0}.hotel-row{display:grid;grid-template-columns:235px minmax(0,1fr) 190px;min-height:205px;box-shadow:0 1px 8px #15294b0a;border-radius:12px}.hotel-row .hotel-thumb{min-height:205px;background:#eaf0f6}.hotel-row .hotel-thumb img{width:100%;height:100%;min-height:205px;object-fit:cover}.hotel-row .hotel-core{padding:17px;min-width:0}.hotel-row h3{font-size:18px;line-height:1.25;margin-bottom:9px;color:#152b4d}.hotel-place{font-size:12px;color:#54709a;line-height:1.5}.hotel-type{display:inline-flex;background:#ebf3ff;border:1px solid #d3e4fc;color:#245a96;border-radius:16px;padding:4px 9px;font-size:11px;margin-top:8px}.amenity-line{font-size:12px;color:#556e83;line-height:1.6;margin:15px 0}.hotel-info-link{font-size:12px;font-weight:700}.hotel-rate{padding:17px;border-left:1px solid #e1e9f2;display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:9px}.hotel-score{color:#24538b;font-weight:700}.hotel-score small{display:block;font-size:11px;color:#8190a5;font-weight:400}.hotel-rate .price{font-size:24px}.rate-note{font-size:11px;color:#6c7a91;line-height:1.6}.hotel-rate .details-link{display:block;background:#e83750;color:#fff;padding:10px 16px;border-radius:7px;font-size:12px;font-weight:700;margin-top:auto}.filter-count{margin-top:12px}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:15px 14px;background:#163960;color:#fff;font-weight:750;border-radius:10px 10px 0 0}.side-reset{background:transparent;color:#fff;border:1px solid #a4bed9;padding:5px 9px;font-size:11px}.sidebar-search{padding:14px;background:#fff;border:1px solid #dce5ef;border-top:0}.sidebar-search input{padding:9px;margin-top:3px}.sidebar-group{background:#fff;border:1px solid #e1e6ef;border-top:0;padding:15px 14px}.sidebar-group h3{font-size:13px;color:#173354;margin:0 0 10px}.side-check{display:flex;align-items:start;gap:8px;padding:5px 0;font-size:12px;font-weight:400;cursor:pointer;color:#35475d}.side-check input{width:15px;height:15px;margin:0;accent-color:#225697;flex-shrink:0}.side-check.dimmed{color:#9ba6b2;cursor:not-allowed}.price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.price-inputs input{padding:8px}.not-available small{font-size:10px;color:#a0a9b7}.sidebar-caveat{font-size:11px;color:#798699;line-height:1.6;padding:0 10px}.clear-filters{background:#ecf3fd;color:#27558e;padding:9px 10px;font-size:12px}.filter-empty{width:100%}@media(max-width:1100px){.hotel-row{grid-template-columns:190px minmax(0,1fr) 160px}.listing-layout{grid-template-columns:220px minmax(0,1fr)}}@media(max-width:800px){.listing-layout{grid-template-columns:1fr}#hotelSidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}#hotelSidebar .sidebar-heading,#hotelSidebar .sidebar-search,#hotelSidebar .sidebar-caveat{grid-column:1/-1}.hotel-row{grid-template-columns:170px 1fr 150px}.compact-banner span{display:none}}@media(max-width:600px){main{padding:12px}.hotel-row{grid-template-columns:120px minmax(0,1fr)}.hotel-row .hotel-thumb{min-height:150px}.hotel-row .hotel-thumb img{min-height:150px}.hotel-row .hotel-core{padding:11px}.hotel-row h3{font-size:14px}.hotel-rate{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;text-align:left;border-left:0;border-top:1px solid #e3e9f3;padding:10px;flex-wrap:wrap}.hotel-rate .price{font-size:19px}.hotel-rate .details-link{margin-top:0}.hotel-score small{display:inline}.rate-note{display:none}.sorting-bar{gap:8px}.results-heading{flex-wrap:wrap}#hotelSidebar{grid-template-columns:1fr}.sidebar-group{padding:12px}.compact-banner strong{font-size:18px}}

/* V2 explicit compact reference layout, overrides original hero/three-column layout */
.search-eyebrow{color:#49668b;font-size:11px;font-weight:800;letter-spacing:1.6px;margin:4px 0 10px}body{background:#f8fafc}header{height:60px}main{max-width:1510px;padding:18px 26px}#search{display:grid;grid-template-columns:minmax(210px,2fr) minmax(135px,1fr) minmax(135px,1fr) minmax(95px,.65fr) minmax(95px,.65fr) auto;align-items:end;border-radius:9px;padding:12px 16px;position:static;margin:0;gap:10px}#search label{gap:5px;font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#566681}#search input{border-radius:4px;background:#fff;min-height:40px}#search button{height:42px;border-radius:5px;background:#ed3550;padding:9px 18px;white-space:nowrap}#status{font-size:13px;font-weight:600;color:#23456e;margin:16px 0 9px}.listing-layout{grid-template-columns:265px minmax(0,1fr);gap:17px;margin-top:3px}#hotelSidebar{border:1px solid #dce5ef;border-radius:8px;overflow:hidden;background:#fff}#hotelSidebar .sidebar-group{border-left:0;border-right:0}.hotel-results-column .cards{display:flex!important;grid-template-columns:none!important;flex-direction:column!important;gap:12px!important;margin:0!important}.hotel-results-column .hotel.hotel-row{display:grid!important;grid-template-columns:235px minmax(200px,1fr) 200px!important;border-radius:9px!important;min-height:208px!important}.hotel-results-column .hotel.hotel-row .hotel-thumb{height:100%;min-height:208px;overflow:hidden}.hotel-results-column .hotel.hotel-row .hotel-thumb img{height:100%!important;min-height:208px!important;max-height:none!important;object-fit:cover}.hotel-results-column .hotel.hotel-row .hotel-core{padding:16px 18px}.hotel-results-column .hotel.hotel-row .hotel-rate{padding:15px}.hotel-filter-toolbar{border:1px solid #e0e7f1;border-radius:8px;background:white;padding:13px 18px!important}.results-heading h2{font-size:20px}.hotel-info-link{color:#265c9b}.hotel-rate .details-link{background:#244f89!important;color:#fff!important;white-space:nowrap}.sidebar-group h3{font-weight:800}.disclaimer{margin:26px 0 18px}@media(max-width:1150px){.listing-layout{grid-template-columns:230px minmax(0,1fr)}.hotel-results-column .hotel.hotel-row{grid-template-columns:180px minmax(180px,1fr) 170px!important}}@media(max-width:850px){#search{grid-template-columns:repeat(3,minmax(0,1fr))}#search label:first-child{grid-column:span 2}#search button{grid-column:auto}.listing-layout{grid-template-columns:1fr}#hotelSidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}#hotelSidebar .sidebar-heading,#hotelSidebar .sidebar-search,#hotelSidebar .sidebar-caveat{grid-column:1/-1}.hotel-results-column .hotel.hotel-row{grid-template-columns:200px minmax(180px,1fr) 180px!important}}@media(max-width:620px){main{padding:12px}#search{grid-template-columns:repeat(2,minmax(0,1fr))}#search label:first-child{grid-column:1/-1}#search button{grid-column:1/-1}.hotel-results-column .hotel.hotel-row{grid-template-columns:120px minmax(0,1fr)!important}.hotel-results-column .hotel.hotel-row .hotel-thumb{min-height:160px}.hotel-results-column .hotel.hotel-row .hotel-thumb img{min-height:160px!important}.hotel-results-column .hotel.hotel-row .hotel-rate{grid-column:1/-1;padding:10px;flex-direction:row;text-align:left;align-items:center;border-left:0;border-top:1px solid #e0e7f1}.hotel-results-column .hotel.hotel-row .hotel-core{padding:12px}.hotel-results-column .hotel.hotel-row .hotel-rate .details-link{margin:0}#hotelSidebar{grid-template-columns:1fr}}


/* Dedicated reference-inspired hotel detail page. Does not override hotel results. */
body[data-page="hotel-detail"]{background:#fff;color:#17304f}body[data-page="hotel-detail"] main{max-width:1280px;padding:18px 26px 96px;margin:auto}body[data-page="hotel-detail"] header{box-shadow:0 1px 5px #1b3b6512}body[data-page="hotel-detail"] #status{margin:0}body[data-page="hotel-detail"] .disclaimer{margin:38px 0;color:#687c93}body[data-page="hotel-detail"] .ref-detail-page{font-family:inherit}.ref-breadcrumb{font-size:12px;color:#6c819a;margin:8px 0 19px}.ref-breadcrumb a{color:#235a9b}.ref-title-row{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:17px}.ref-title-row h1{font-size:clamp(24px,3vw,32px);line-height:1.2;margin:0 0 6px;color:#112849}.ref-subtitle{font-size:13px;line-height:1.55;color:#4c5e74;margin:5px 0}.ref-location{color:#326296;font-size:13px}.ref-rating-pill{display:flex;flex-direction:column;align-items:end;border:1px solid #dce7f2;border-radius:10px;padding:9px 13px;color:#235890;font-weight:800;white-space:nowrap}.ref-rating-pill small{font-size:11px;color:#6c8095;font-weight:500}.ref-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}.reference-photo-grid{display:grid;grid-template-columns:1.6fr 1fr;grid-template-rows:155px 155px;gap:8px;position:relative;border-radius:14px;overflow:hidden}.reference-photo{display:block;border:0;padding:0;cursor:pointer;overflow:hidden;border-radius:0;background:#edf3f9}.reference-photo img{height:100%;width:100%;object-fit:cover;transition:transform .25s}.reference-photo:hover img{transform:scale(1.035)}.reference-photo.photo-0{grid-row:1/3}.reference-photo.photo-1{grid-row:1}.reference-photo.photo-2{grid-row:2}.reference-view-photos{position:absolute;bottom:12px;left:12px;border-radius:30px;border:1px solid #dce5ef;background:#fff;color:#245386;font-weight:750;padding:8px 14px;font-size:12px}.ref-quickfacts{display:flex;flex-wrap:wrap;gap:10px;padding:15px 0;border-bottom:1px solid #e7edf4}.ref-quickfacts span{background:#f0f6fd;color:#245383;padding:7px 10px;border-radius:8px;font-size:12px}.ref-section{padding:25px 0;border-bottom:1px solid #e1e9f1}.ref-section h2{font-size:21px;color:#132b49;margin:0 0 15px}.ref-section h4{margin:0 0 10px}.ref-section p{line-height:1.75;font-size:13px;color:#4f647d}.ref-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;font-size:12px;color:#2c4665}.amenity-check{color:#0a9b78;font-size:16px;font-weight:800}.ref-book-card{position:sticky;top:16px;border:1px solid #d9e3ef;border-radius:14px;background:#fff;padding:21px;box-shadow:0 8px 20px #17385412}.ref-book-label{display:block;color:#72839b;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.5px}.ref-stay-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;border-bottom:1px solid #e3eaf2;padding:17px 0}.ref-stay-dates div{display:flex;flex-direction:column;gap:5px}.ref-stay-dates small,.ref-rule-grid small{font-size:10px;color:#6c8098}.ref-stay-dates strong{font-size:13px;color:#173a61}.ref-stay-guests{font-size:12px;color:#435d7b;padding:15px 0}.ref-big-price{font-size:29px;color:#1c4274;font-weight:850;margin:6px 0}.ref-book-card .muted{font-size:11px;line-height:1.6}.ref-book-button,.ref-room-action,.ref-floating-request{width:100%;background:#ef3552;border:none;border-radius:8px;color:#fff;padding:13px;font-size:14px;font-weight:750;cursor:pointer}.ref-contact-note{text-align:center;font-size:11px;color:#71829a;margin:11px 0 0}.ref-price-options{border-top:1px solid #e4eaf2;padding:12px 0;font-size:12px}.ref-price-options summary{cursor:pointer;color:#255d91}.ref-price-options>div{display:flex;justify-content:space-between;padding:6px 0}.ref-main-sections{margin-top:13px}.ref-section-heading{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:10px}.ref-kicker{font-size:10px;color:#d7334d;font-weight:850;letter-spacing:1.6px}.ref-room-card{border:1px solid #dae5f0;border-radius:12px;display:grid;grid-template-columns:170px minmax(0,1fr) 170px;gap:16px;overflow:hidden;margin:15px 0;min-height:160px}.ref-room-photo img{width:100%;height:100%;object-fit:cover}.ref-room-photo{background:#edf3fa;display:flex;align-items:center;justify-content:center;color:#718399;font-size:12px;min-height:154px}.ref-room-copy{padding:18px 0}.ref-room-copy p{margin:0 0 10px}.ref-room-price{display:flex;flex-direction:column;justify-content:center;gap:15px;padding:16px;border-left:1px solid #e2eaf3}.ref-room-action{background:#23568d;font-size:12px;padding:10px}.ref-placeholder{border:1px solid #dce7f3;border-radius:12px;padding:22px;background:#f8fbfe}.ref-placeholder .ref-room-action{max-width:235px}.ref-nearby{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:20px}.ref-nearby div{display:flex;justify-content:space-between;border:1px solid #e2eaf2;border-radius:8px;padding:11px;font-size:12px}.ref-nearby small{color:#67809c}.ref-map-link{display:inline-block;margin:8px 0;color:#245d9a;font-weight:750;font-size:13px}.ref-rule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ref-rule-grid>div{border:1px solid #dfe7f1;border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:7px}.ref-rule-grid strong{font-size:13px}.ref-review-summary{border:1px solid #e2eaf3;border-radius:12px;padding:17px;display:flex;align-items:center;gap:14px}.ref-review-summary strong{font-size:23px;color:#255d95}.ref-review-summary span{font-size:12px}.ref-similar-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.ref-similar-card{border:1px solid #e0e9f2;border-radius:11px;overflow:hidden;padding-bottom:12px;display:flex;flex-direction:column;gap:8px;color:#173453;text-decoration:none}.ref-similar-card img,.ref-similar-fallback{height:110px;width:100%;object-fit:cover;background:#eaf1fa}.ref-similar-card>*:not(img):not(.ref-similar-fallback){padding:0 10px}.ref-similar-card strong{font-size:12px;line-height:1.35}.ref-similar-card span,.ref-similar-card small{font-size:11px;color:#56718e}.ref-similar-card b{color:#245c94}.ref-floating-action{display:none}@media(max-width:850px){.ref-overview-grid{grid-template-columns:1fr}.ref-book-card{position:static}.ref-similar-list{grid-template-columns:repeat(3,minmax(0,1fr))}.ref-room-card{grid-template-columns:130px 1fr 145px}}@media(max-width:580px){body[data-page="hotel-detail"] main{padding:12px 13px 100px}.ref-title-row h1{font-size:24px}.ref-title-row{flex-direction:column;gap:9px}.ref-rating-pill{align-items:start;flex-direction:row;gap:9px}.reference-photo-grid{grid-template-rows:115px 115px}.ref-amenities,.ref-rule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ref-nearby{grid-template-columns:1fr}.ref-similar-list{display:flex;overflow-x:auto}.ref-similar-card{flex:0 0 155px}.ref-room-card{grid-template-columns:100px minmax(0,1fr)}.ref-room-photo{min-height:120px}.ref-room-copy{padding:12px 10px 8px 0}.ref-room-price{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;padding:11px;border-left:none;border-top:1px solid #e2eaf3}.ref-room-action{width:auto}.ref-floating-action{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:10;background:#fff;box-shadow:0 -4px 20px #17345320;padding:10px 16px;gap:13px;align-items:center;justify-content:space-between}.ref-floating-action span{display:flex;flex-direction:column;gap:3px}.ref-floating-action span strong{color:#1c4b7d}.ref-floating-action small{font-size:10px;color:#718399}.ref-floating-request{max-width:200px}}


/* 24 Oct 2026: Hotel detail border, alignment and visibility corrections */
[hidden] { display: none !important; }
body[data-page="hotel-detail"] #detail { width:100%; max-width:100%; box-sizing:border-box; border:0; box-shadow:none; border-radius:0; overflow:visible; background:transparent; }
body[data-page="hotel-detail"] .ref-detail-page,
body[data-page="hotel-detail"] .ref-overview-grid,
body[data-page="hotel-detail"] .ref-overview-grid > *,
body[data-page="hotel-detail"] .ref-main-sections { min-width:0; max-width:100%; }
body[data-page="hotel-detail"] .ref-overview-grid { grid-template-columns:minmax(0,1fr) 310px; align-items:start; gap:24px; }
body[data-page="hotel-detail"] .reference-photo-grid { width:100%; min-width:0; border:1px solid #e1e7ef; border-radius:12px; background:#eff3f8; }
body[data-page="hotel-detail"] .reference-photo { border:0; min-width:0; min-height:0; }
body[data-page="hotel-detail"] .reference-photo img { display:block; width:100%; height:100%; }
body[data-page="hotel-detail"] .ref-book-card,
body[data-page="hotel-detail"] .ref-room-card,
body[data-page="hotel-detail"] .ref-placeholder,
body[data-page="hotel-detail"] .ref-rule-grid > div,
body[data-page="hotel-detail"] .ref-review-summary,
body[data-page="hotel-detail"] .ref-similar-card { box-sizing:border-box; border:1px solid #dfe6ef; border-radius:12px; box-shadow:none; }
body[data-page="hotel-detail"] .ref-room-card { min-width:0; }
body[data-page="hotel-detail"] .ref-room-card > * { min-width:0; }
body[data-page="hotel-detail"] .ref-room-copy { overflow-wrap:anywhere; }
body[data-page="hotel-detail"] .ref-section { border-bottom:1px solid #e7ecf3; }
body[data-page="hotel-detail"] .ref-book-card { box-shadow:0 5px 18px rgba(20,45,75,.07); }
body[data-page="hotel-detail"] #requestPanel.request-overlay { border-radius:0; }
body[data-page="hotel-detail"] #requestPanel .request-dialog { border:1px solid #dbe4f0; max-width:calc(100vw - 32px); }
@media(max-width:850px) { body[data-page="hotel-detail"] .ref-overview-grid { grid-template-columns:minmax(0,1fr); gap:18px; } }
@media(max-width:580px) {
  body[data-page="hotel-detail"] .ref-room-card { grid-template-columns:100px minmax(0,1fr); }
  body[data-page="hotel-detail"] .reference-photo-grid { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
  body[data-page="hotel-detail"] .ref-book-card { padding:16px; }
}

/* MyTraveloz rate comparison */
.ref-price-options .mtz-best-rate {background:#eef8f3;border:1px solid #a6d7bd;border-radius:9px;padding:10px 8px;margin:6px 0 10px;color:#113e2c;}
.ref-price-options .mtz-best-rate>strong {font-size:1.1rem;color:#11643b;}
.mtz-lowest-label {display:inline-block;font-size:11px;font-weight:700;color:#08723e;background:#d4f3e0;border-radius:12px;padding:3px 7px;margin-left:6px;}

/* Hotel comparison: full-width section so the rates are readable on desktop and mobile. */
.ref-rates-section{scroll-margin-top:24px;margin:30px 0 10px;max-width:100%}
.ref-rate-jump{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#194c87;background:#eef4fc;border:1px solid #dae6f6;border-radius:9px;padding:12px 13px;font-size:13px;font-weight:750;margin:14px 0 12px}
.ref-rate-jump:hover{background:#e4f0fd}
.mtz-ota-comparison{font-family:inherit;background:#fff;border:1px solid #dbe6f2;border-radius:18px;box-shadow:0 10px 34px rgba(17,49,92,.055);padding:28px;min-width:0;margin:0}
.mtz-ota-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:21px}
.mtz-ota-head h2{margin:3px 0 5px;font-size:24px;line-height:1.2;color:#102b4c}
.mtz-ota-head p{margin:0;color:#6a7e98;font-size:13px}
.mtz-compare-eyebrow{font-size:10px;letter-spacing:1.35px;color:#dc3756;font-weight:850}
.mtz-offer-count{white-space:nowrap;border-radius:20px;background:#f0f5fb;padding:8px 12px;color:#506b8b;font-size:12px;font-weight:700}
.mtz-compare-featured{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1.5px solid #7bc6a4;border-radius:14px;background:linear-gradient(112deg,#f0fbf5 0%,#f8fdf9 100%);margin:0 0 24px}
.mtz-featured-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.mtz-brand-wordmark{display:inline-flex;white-space:nowrap;font-size:24px;font-weight:900;letter-spacing:-1px;line-height:1}
.mtz-brand-wordmark b:first-child{color:#143b75}.mtz-brand-wordmark b:nth-child(2){color:#ed3154}
.mtz-rate-badge{font-size:10px;letter-spacing:.3px;font-weight:850;color:#11623e;background:#d6f5e4;border:1px solid #a8dfc0;border-radius:99px;padding:7px 11px}
.mtz-rate-awaiting{font-size:10px;letter-spacing:.3px;font-weight:800;color:#55716b;background:#fff;border-radius:99px;padding:7px 11px;border:1px solid #cadecf}
.mtz-featured-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:5px;min-width:0}
.mtz-featured-price{font-size:30px;line-height:1.15;color:#12673d;font-weight:850;white-space:nowrap}
.mtz-featured-right small{font-size:12px;color:#4f7461}
.mtz-ota-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.mtz-ota-list-heading strong{color:#163a61;font-size:15px}
.mtz-ota-list-heading span{font-size:12px;color:#74879b}
.mtz-ota-table{border:1px solid #e3eaf3;border-radius:11px;overflow:hidden}
.mtz-ota-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;background:#fff;border-bottom:1px solid #e9eff6;font-size:14px;min-height:51px}
.mtz-ota-row:nth-child(even){background:#f9fbfe}.mtz-ota-row:last-child{border-bottom:0}
.mtz-ota-row span{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere;color:#213e5d}
.mtz-ota-row small{font-size:11px;color:#16835a}
.mtz-ota-row strong{font-size:15px;font-weight:800;white-space:nowrap;color:#173f6c}
.mtz-comparison-footnote{font-size:11px;line-height:1.6;color:#77889a;margin:13px 0 0}
@media(max-width:700px){.mtz-ota-comparison{padding:18px 13px;border-radius:12px}.mtz-ota-head{align-items:flex-start}.mtz-ota-head h2{font-size:21px}.mtz-offer-count{font-size:10px;padding:6px 9px}.mtz-compare-featured{padding:16px;gap:10px}.mtz-featured-price{font-size:23px}.mtz-brand-wordmark{font-size:22px}.mtz-ota-row{padding:12px;font-size:13px}.mtz-ota-row strong{font-size:13px}}
@media(max-width:420px){.mtz-ota-head{flex-wrap:wrap}.mtz-compare-featured{flex-direction:column;align-items:stretch}.mtz-featured-right{text-align:left;align-items:flex-start}.mtz-ota-list-heading{flex-wrap:wrap}}

/* 25 Oct: Restore a COMPACT price list inside the existing Your Stay card.
   MyTraveloz replaces the lowest public OTA row, not the overall page layout. */
.ref-sidebar-prices{margin:14px 0;scroll-margin-top:20px}
.ref-sidebar-prices .mtz-ota-compact{box-shadow:none;border:0;border-top:1px solid #e4eaf2;border-radius:0;padding:13px 0 0;margin:0;background:transparent}
.ref-sidebar-prices .mtz-ota-head{margin:0 0 10px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ref-sidebar-prices .mtz-ota-head h2{font-size:14px;line-height:1.25;margin:0;font-weight:800}
.ref-sidebar-prices .mtz-offer-count{font-size:10px;line-height:1.1;padding:5px 7px;text-align:right;white-space:normal}
.ref-sidebar-prices .mtz-ota-table{border:1px solid #e4eaf2;border-radius:10px;overflow:hidden}
.ref-sidebar-prices .mtz-ota-row{padding:9px 10px;min-height:38px;gap:10px;font-size:11px;align-items:center}
.ref-sidebar-prices .mtz-ota-row strong{font-size:11px;white-space:nowrap}
.ref-sidebar-prices .mtz-ota-row span{line-height:1.35}
.mtz-inline-featured{background:#edf9f2;border-bottom:1px solid #8ac7a4;padding:12px 10px;display:flex;gap:8px;justify-content:space-between;align-items:center;min-width:0}
.mtz-inline-brand{color:#123c79;font-size:18px;font-weight:900;letter-spacing:-.7px;line-height:1.18;min-width:0}
.mtz-inline-brand>b{color:#ed3154}
.mtz-inline-brand small{display:block;margin-top:5px;font-size:10px;letter-spacing:0;color:#08784c;font-weight:700}
.mtz-inline-value{display:flex;flex-direction:column;align-items:flex-end;min-width:0;flex-shrink:0}
.mtz-inline-value strong{color:#09683e;font-size:19px;font-weight:850;white-space:nowrap}
.mtz-inline-value small{color:#517261;font-size:9px;max-width:110px;text-align:right;line-height:1.2;margin-top:3px}
.ref-sidebar-prices .mtz-comparison-footnote{font-size:10px;line-height:1.35;margin:7px 0 0;color:#607788}
@media(max-width:850px){.ref-sidebar-prices{max-width:100%}}
@media(max-width:420px){.mtz-inline-featured{flex-direction:row;align-items:center}.mtz-inline-value{align-items:flex-end}}

/* On-demand SerpAPI Photos API gallery loading and pagination */
.gallery-more{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:6px 16px 12px;color:#dce8fb;font-size:12px}
.gallery-load-more{border:1px solid #9dc4fa;background:#eff6ff;color:#143964;border-radius:20px;font-weight:700;padding:9px 18px;cursor:pointer}
.gallery-load-more:hover,.gallery-load-more:focus-visible{background:#dfeeff}
.gallery-fetch-error{color:#ffd2d2}.gallery-fetch-state{color:#dae8f9}


/* Room-specific prices and photo filters. Existing MyTraveloz theme preserved. */
.modern-lightbox .photo-categories{scrollbar-width:thin;padding:2px 0 7px;align-items:center}
.modern-lightbox .photo-category{display:inline-flex;gap:8px;align-items:center;border-radius:50px;font-weight:650;font-size:12px}
.modern-lightbox .photo-category:disabled{opacity:.38;cursor:not-allowed}
.modern-lightbox .category-count{border-radius:10px;background:rgba(255,255,255,.15);padding:1px 7px;font-size:11px}
.modern-lightbox .photo-category.active .category-count{background:#e9f1fb}
body[data-page="hotel-detail"] .room-type-card{grid-template-columns:180px minmax(0,1fr) 185px;align-items:start}
body[data-page="hotel-detail"] .room-type-card .ref-room-photo{align-self:stretch;min-height:180px}
.room-type-card .ref-room-copy{padding:18px 0 10px}.room-type-card .ref-room-copy h4{font-size:17px;margin:0 0 9px;color:#163b6a}
.room-type-card .room-disclaimer{font-size:11px;color:#6d8096;line-height:1.5;margin:12px 0 0}
.room-type-card .room-capacity{font-size:12px;background:#eef4fc;border-radius:6px;padding:5px 9px;display:inline-block}
body[data-page="hotel-detail"] .room-type-card .room-from{border-left:1px solid #e3ebf4;align-items:flex-start;gap:3px;padding:17px}
.room-type-card .room-from strong{font-size:23px;line-height:1.2;color:#174f87}
.room-type-card .room-from>span,.room-type-card .room-from>small{font-size:11px;color:#677d95}
.room-type-card .ref-room-offers{grid-column:1/-1;border-top:1px solid #e6edf5;padding:6px 14px 13px;background:#fafdff}
.room-offer{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,auto) 150px;align-items:center;gap:14px;padding:11px 0;border-bottom:1px solid #e5edf5}
.room-offer:last-child{border-bottom:0}.room-offer-terms{min-width:0;display:flex;flex-direction:column;gap:5px}
.room-offer-name{font-size:12px;color:#163b6a;font-weight:700}.room-offer small{display:block;color:#667f9b;font-size:11px;line-height:1.45}
.room-offer-cost{text-align:right}.room-offer-cost strong{display:block;font-size:17px;color:#133d70}.room-offer .ref-room-action{width:150px;padding:10px 8px;font-size:11px}
@media(max-width:850px){body[data-page="hotel-detail"] .room-type-card{grid-template-columns:125px minmax(0,1fr) 135px}}
@media(max-width:580px){body[data-page="hotel-detail"] .room-type-card{grid-template-columns:110px minmax(0,1fr)}body[data-page="hotel-detail"] .room-type-card .room-from{grid-column:1/-1;border-left:0;border-top:1px solid #e3ebf4;padding:10px 14px}.room-offer{grid-template-columns:minmax(0,1fr) 1fr;gap:10px}.room-offer .ref-room-action{grid-column:1/-1;width:100%}.room-type-card .ref-room-copy{padding:12px 8px 8px 0}}

/* 25 Oct reference-parity: compact MakeMyTrip-style hotel details, MyTraveloz branded. */
body[data-page="hotel-detail"]{background:#fff}
body[data-page="hotel-detail"] header{height:62px;max-width:none;background:white;border-bottom:1px solid #e3e9f0}
body[data-page="hotel-detail"] main{max-width:1370px;padding:10px 24px 72px}
body[data-page="hotel-detail"] #search.hotel-detail-search{display:grid;grid-template-columns:minmax(190px,2fr) repeat(2,minmax(120px,1fr)) minmax(85px,.7fr) minmax(85px,.7fr) auto;max-width:none;margin:3px 0 12px;padding:8px 13px;border:1px solid #dfe6ef;border-radius:5px;box-shadow:none;gap:7px}
body[data-page="hotel-detail"] #search.hotel-detail-search label{font-size:10px;text-transform:uppercase;letter-spacing:.02em;color:#5f6e81}
body[data-page="hotel-detail"] #search.hotel-detail-search input{min-height:38px;padding:7px 9px;font-size:12px;background:#fff}
body[data-page="hotel-detail"] #search.hotel-detail-search button{height:38px;font-size:12px;border-radius:5px}
body[data-page="hotel-detail"] .ref-detail-page{max-width:100%;font-family:Arial,system-ui,sans-serif}
body[data-page="hotel-detail"] .ref-breadcrumb{margin:11px 0 17px}
body[data-page="hotel-detail"] .ref-title-row h1{font-size:25px}
body[data-page="hotel-detail"] .ref-title-row{margin-bottom:13px}
body[data-page="hotel-detail"] .ref-overview-grid{grid-template-columns:minmax(0,1fr) 330px;gap:16px}
body[data-page="hotel-detail"] .reference-photo-grid{height:310px;grid-template-rows:1fr 1fr;gap:7px;border:0;border-radius:9px}
body[data-page="hotel-detail"] .ref-book-card{padding:17px;position:sticky;top:10px;border-radius:10px}
body[data-page="hotel-detail"] .ref-book-card .ref-book-label{font-size:11px}
body[data-page="hotel-detail"] .ref-big-price{font-size:25px}
body[data-page="hotel-detail"] .ref-section{padding:17px 0;border-bottom:1px solid #e6eaf0}
body[data-page="hotel-detail"] .ref-section h2{font-size:19px;color:#102b4b}
body[data-page="hotel-detail"] .ref-section>p{font-size:13px;line-height:1.7}
.mmt-detail-nav{display:flex;gap:24px;border-bottom:1px solid #e2e9f1;margin-bottom:16px;position:sticky;top:0;background:white;z-index:5;padding:9px 0;overflow:auto}
.mmt-detail-nav a{white-space:nowrap;font-size:12px;color:#194d89;text-decoration:none;font-weight:700}
.mmt-detail-nav a:hover{text-decoration:underline}
.mmt-key-amenities{display:flex;flex-wrap:wrap;gap:7px 17px;font-size:12px;color:#2a5d82;margin:8px 0}
.mmt-amenities-intro details{margin-top:10px}.mmt-amenities-intro summary{cursor:pointer;color:#2277b3;font-weight:700;font-size:12px}
.mmt-dining-section .mmt-dining-images{display:flex;gap:10px;overflow:auto;margin-top:12px}.mmt-dining-images img{width:190px;height:103px;border-radius:9px;object-fit:cover}
.mmt-change-stay{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #dae4ef;border-radius:8px;padding:13px 16px;margin:23px 0;background:#fafdff}
.mmt-change-stay h2{font-size:17px;margin:0 0 3px}.mmt-change-stay p{font-size:12px;margin:0;color:#64778f}
.mmt-change-stay button{font-size:12px;background:#fff;color:#1c63a1;border:1px solid #80b0db;border-radius:7px;white-space:nowrap;padding:10px 14px;font-weight:700;cursor:pointer}
.mmt-rate-filters{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0 15px}
.mmt-rate-filter{background:#fff;color:#23415f;border:1px solid #dce6f1;border-radius:18px;padding:8px 13px;font-size:12px;cursor:pointer}
.mmt-rate-filter.active{background:#eaf3ff;border:1px solid #2785bf;color:#17598e;font-weight:750}
body[data-page="hotel-detail"] .ref-main-sections{margin-top:12px}
body[data-page="hotel-detail"] .ref-main-sections #refRooms{border-bottom:0;padding:13px 0 22px}
body[data-page="hotel-detail"] .mmt-room-group{display:grid!important;grid-template-columns:245px minmax(0,1fr)!important;gap:0!important;border:1px solid #dee5eb!important;border-radius:9px!important;margin:11px 0 17px;min-height:0!important;box-shadow:none!important;overflow:hidden}
.mmt-room-group .mmt-room-identity{background:#fafbfd;padding:14px 14px 18px;border-right:1px solid #e0e7ef;min-width:0}
.mmt-room-photo{width:100%;height:136px;overflow:hidden;background:#ecf1f6;border-radius:7px;display:flex;align-items:center;justify-content:center}
.mmt-room-photo img{width:100%;height:100%;object-fit:cover}
.mmt-room-image-empty{font-size:12px;color:#647990;text-align:center;padding:20px}
.mmt-room-identity h3{font-size:16px;line-height:1.3;margin:12px 0 9px;color:#18344e}
.mmt-room-identity p{font-size:12px;line-height:1.55;margin:5px 0;color:#4c6179}
.mmt-photo-link{border:0;background:none;color:#1167a3;text-decoration:underline;font-size:12px;cursor:pointer;margin:8px 0 0;padding:3px 0}
.mmt-room-plans{min-width:0}
.mmt-rate-row{display:grid;grid-template-columns:minmax(0,1fr) 196px;min-height:139px;border-bottom:1px solid #e4e9ee}
.mmt-rate-row:last-child{border-bottom:0}
.mmt-rate-plan{min-width:0;padding:14px 17px;display:flex;flex-direction:column;align-items:start;gap:5px}
.mmt-rate-plan>strong{font-size:14px;color:#203c58;line-height:1.4}
.mmt-rate-plan span{font-size:11.5px;color:#326f5a}
.mmt-rate-plan small{font-size:11px;color:#637990}
.mmt-rate-price{padding:12px 15px;border-left:1px solid #e4e9ef;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.mmt-rate-price>strong{font-size:22px;color:#122d4d;line-height:1.15}
.mmt-rate-price small{font-size:10.5px;color:#64778a}
.mmt-request-rate{margin-top:7px;padding:10px 12px;background:#e73553;color:white;border:0;border-radius:5px;font-size:12px;font-weight:750;cursor:pointer;min-width:135px}
.mmt-request-rate:hover{background:#ce2844}
.mmt-rate-empty{padding:20px;font-size:13px;color:#647992}
.mmt-empty-filter{border:1px solid #dbe5f1;border-radius:6px;background:#f7f9fb;color:#516780;padding:16px;font-size:13px}
.mmt-reviews-layout{display:grid;grid-template-columns:minmax(0,1fr) 1.2fr;gap:15px;align-items:start}
.mmt-review-categories{border:1px solid #e1e7ef;padding:12px;border-radius:8px;display:grid;gap:12px;font-size:12px}
.mmt-review-categories div{display:flex;justify-content:space-between;border-bottom:1px solid #edf0f4;padding-bottom:5px}
.mmt-review-categories strong{color:#24659e}
.mmt-rate-row[hidden],.mmt-room-group[hidden],.mmt-empty-filter[hidden]{display:none!important}
@media(max-width:950px){body[data-page="hotel-detail"] .ref-overview-grid{grid-template-columns:minmax(0,1fr) 295px}body[data-page="hotel-detail"] .mmt-room-group{grid-template-columns:205px minmax(0,1fr)!important}.mmt-rate-row{grid-template-columns:minmax(0,1fr) 165px}}
@media(max-width:700px){body[data-page="hotel-detail"] main{padding:9px 12px 110px}body[data-page="hotel-detail"] #search.hotel-detail-search{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-page="hotel-detail"] #search.hotel-detail-search label:first-child{grid-column:1/-1}body[data-page="hotel-detail"] #search.hotel-detail-search button{grid-column:1/-1}body[data-page="hotel-detail"] .ref-overview-grid{grid-template-columns:1fr}body[data-page="hotel-detail"] .ref-book-card{position:static}body[data-page="hotel-detail"] .reference-photo-grid{height:240px}body[data-page="hotel-detail"] .mmt-room-group{grid-template-columns:1fr!important}.mmt-room-group .mmt-room-identity{border-right:0;border-bottom:1px solid #dfe8f0;display:grid;grid-template-columns:110px 1fr;column-gap:12px;align-items:start}.mmt-room-identity .mmt-room-photo{grid-row:1/5;height:108px}.mmt-room-identity h3{margin:1px 0}.mmt-room-identity p{margin:1px 0}.mmt-photo-link{grid-column:2}.mmt-rate-row{grid-template-columns:minmax(0,1fr) 145px}.mmt-rate-price{padding:13px 10px}.mmt-rate-plan{padding:13px 10px}.mmt-request-rate{min-width:0;width:100%;font-size:11px}.mmt-reviews-layout{grid-template-columns:1fr}.mmt-detail-nav{top:0}}
@media(max-width:410px){.mmt-rate-row{grid-template-columns:minmax(0,1fr) 126px}.mmt-rate-price>strong{font-size:19px}.mmt-change-stay{align-items:start;flex-direction:column}}

.mmt-review-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0;font-size:12px}
.mmt-review-controls label{display:flex;align-items:center;gap:10px}
.mmt-review-controls select{padding:9px;border:1px solid #d4e0ec;border-radius:6px;background:white}
.mmt-review-controls button,.mmt-review-more{background:#fff;border:1px solid #227db8;color:#1b6799;font-size:12px;font-weight:700;padding:10px 15px;border-radius:6px;cursor:pointer}
.mmt-guest-review{border-top:1px solid #e3eaf1;padding:16px 0}
.mmt-guest-review-heading{display:flex;gap:12px;justify-content:space-between;color:#233b56;font-size:13px}
.mmt-guest-review-heading b{color:#2268a2}.mmt-guest-review small{font-size:11px;color:#6a7f92}
.mmt-guest-review p{font-size:12px;line-height:1.65;color:#425a70;margin:9px 0 0}
.mmt-reviews-loading{font-size:12px;color:#647990}
.mmt-review-more{margin-top:8px}
.mmt-review-more[hidden]{display:none!important}
@media(max-width:580px){.mmt-review-controls{align-items:stretch;flex-direction:column}}

/* 25 Oct 2026: Priority UI fixes - keep comparison private until opened */
.ref-sidebar-prices .mtz-comparison-disclosure{border-top:1px solid #e4eaf2;padding:0;background:#fff}
.ref-sidebar-prices .mtz-comparison-disclosure > summary.mtz-ota-toggle{
 list-style:none;display:flex;align-items:center;justify-content:space-between;gap:7px;
 padding:13px 2px;cursor:pointer;color:#173755;font-weight:800;font-size:13px;
 user-select:none;border-radius:6px;
}
.ref-sidebar-prices .mtz-comparison-disclosure > summary::-webkit-details-marker{display:none}
.ref-sidebar-prices .mtz-ota-toggle:focus-visible{outline:3px solid #448ad7;outline-offset:3px}
.ref-sidebar-prices .mtz-ota-toggle-right{font-size:10px;color:#55718e;font-weight:600;white-space:nowrap}
.ref-sidebar-prices .mtz-ota-chevron{display:inline-block;margin-left:3px;transition:transform .18s;font-size:17px;vertical-align:-1px}
.ref-sidebar-prices .mtz-comparison-disclosure[open] .mtz-ota-chevron{transform:rotate(180deg)}
.ref-sidebar-prices .mtz-ota-revealed{padding-bottom:8px}
.ref-sidebar-prices .mtz-comparison-disclosure:not([open]) .mtz-ota-revealed{display:none!important}
/* Existing global .hotel-lightbox button styles force absolute position on
   category and Load More buttons; reset these individually. */
.modern-lightbox .photo-categories{display:flex!important;position:relative;flex:0 0 auto;flex-wrap:nowrap;
 width:min(1200px,100%);min-height:43px;max-height:56px;overflow-x:auto;overflow-y:hidden;
 gap:8px;padding:3px 2px 8px;align-items:center;justify-content:flex-start;z-index:2}
.modern-lightbox .photo-categories .photo-category{position:static!important;inset:auto!important;
 flex:0 0 auto;display:inline-flex;white-space:nowrap;font-size:12px;line-height:1.25;
 min-height:34px;padding:7px 12px}
.modern-lightbox .gallery-more .gallery-load-more{position:static!important;inset:auto!important;
 display:inline-flex;align-items:center;justify-content:center}
.modern-lightbox .gallery-top{flex-shrink:0;min-height:40px}
.modern-lightbox .gallery-stage{min-height:0}
.mmt-room-photo-note{display:block;color:#718397;font-size:11px;padding:8px 0;line-height:1.4}
@media(max-width:600px){.modern-lightbox .photo-categories{max-height:50px;min-height:40px}
.modern-lightbox .photo-categories .photo-category{padding:7px 10px;font-size:11px}}


/* Oct 2026: separate hotel classification from customer ratings in results. */
.hotel-class-line{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:8px}
.hotel-class-line .hotel-type{margin-top:0}
.hotel-class-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;background:#eaf4ff;border:1px solid #c8dffa;border-radius:18px;font-size:11px;line-height:1.2;font-weight:800;color:#1c528f;white-space:nowrap}
.hotel-class-stars{color:#e8a72e;letter-spacing:1px;font-size:11px}
.hotel-class-unknown{font-size:11px;color:#7e8997}
.hotel-guest-rating-label{display:block;font-size:10px;font-weight:700;letter-spacing:.2px;color:#71839b}
.hotel-score strong{font-size:15px;color:#183e75}
.hotel-score small{letter-spacing:0!important}
.ref-title-classification{display:flex;align-items:center;margin:6px 0;gap:10px}

/* Server-side hotel class search and pagination controls */
.hotel-load-more-bar{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0 28px;flex-wrap:wrap}
.hotel-load-more-bar[hidden]{display:none!important}
.hotel-load-more-bar button{background:#1e5187;border-radius:9px;padding:13px 28px;font-size:13px;font-weight:800;color:#fff}
.hotel-load-more-bar #loadMoreNote{font-size:12px;color:#66809a}
@media(max-width:630px){.hotel-load-more-bar button{width:100%}}

/* MTZ_HOTEL_ZERO_PAYMENT_V1 */
.mtz-pay-full{background:#143a72!important;color:#fff!important;margin-top:8px;border:1px solid #143a72!important;cursor:pointer;}
.ref-book-card .mtz-pay-full{width:100%;padding:12px;border-radius:8px;font-weight:700;}
.mmt-rate-price .mtz-pay-full{display:block;max-width:190px;}
.ref-floating-action .mtz-pay-full{margin-left:8px;}

/* Review page release: show a full-stay amount beside each room offer. */
.mtz-full-stay-note{display:block;margin:0 0 10px;color:#667e99;font-size:12px;font-weight:650}

/* MTZ HOTEL ROOM OPTIONS V4: callback and secure payment must be individually selectable */
.mtz-room-action-pair{display:grid;grid-template-columns:1fr;gap:7px;width:100%;margin-top:8px}
.mmt-rate-price .mtz-room-action-pair button{display:block;min-width:0;width:100%;margin:0;padding:9px 10px;font-size:12px;border-radius:7px}
.mtz-pay-now{border:1px solid #173c6c;background:#173c6c;color:#fff;border-radius:8px;font-size:13px;font-weight:750;padding:11px;cursor:pointer}
.mtz-pay-now:hover{background:#0c2951}
.mtz-top-action-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.mtz-top-action-pair button{margin:0;min-width:0;width:100%;padding:11px 7px;font-size:12px}
.mtz-floating-actions{display:flex;gap:8px;align-items:stretch;flex:1;justify-content:flex-end}
.mtz-floating-actions button{max-width:144px;min-width:0;width:50%;padding:10px 6px;font-size:11px}
@media(max-width:700px){.mtz-top-action-pair button{font-size:12px}.mmt-rate-price .mtz-room-action-pair button{font-size:11px;padding:9px 6px}}
