@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800&family=Playfair+Display:wght@400;600;700&display=swap");
.ham-hotel-layout,.ham-hotel-layout *{box-sizing:border-box}
.ham-hotel-layout{width:100%;margin:0 auto;padding:0;font-family:Montserrat,sans-serif;color:#333;line-height:1.5}
.ham-hotel-main{width:100%;min-width:0}
.hotel-list-header,.hotel-list-item__header{display:grid;grid-template-columns:minmax(200px,2.5fr) minmax(100px,1fr) repeat(4,minmax(65px,.8fr)) 40px;gap:15px;align-items:center}
.hotel-list-header{padding:0 30px 15px;font-size:13px;font-weight:800;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px}
.hotel-list-header .col-price{text-align:center}.hotel-list-header .col-stars,.hotel-list-item__header .col-stars{padding-left:20px}
.hotel-accordion-list{display:flex;flex-direction:column;gap:15px}
.hotel-list-item{background:#fff;border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.035);border:1px solid #eaeef2;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.hotel-list-item[open]{box-shadow:0 10px 35px rgba(0,0,0,.07);border-color:#dbe2ea}
.hotel-list-item summary{list-style:none}.hotel-list-item summary::-webkit-details-marker{display:none}.hotel-list-item summary::marker{content:""}
.hotel-list-item__header{padding:25px 30px;cursor:pointer;transition:background .25s}.hotel-list-item__header:hover{background:#fafbfc}
.hotel-name{font-family:"Playfair Display",serif;font-size:24px;font-weight:700;color:#101828;margin:0;line-height:1.3}
.ham-hotel-city{display:inline-flex;align-items:center;gap:5px;color:#667085;font-size:12px;margin-top:6px}.ham-hotel-city svg{width:13px;height:13px;color:#c49a42;flex:none}
.stars{display:flex;gap:3px;white-space:nowrap}.star{color:#e0e4e9;font-size:18px;line-height:1}.star.filled{color:#f5b400}
.hotel-list-item__header>.col-price{padding:10px 7px;border:1px solid #e9edf2;border-radius:10px;background:#f8fafc;min-width:0}.price-val{font-size:20px;font-weight:800;color:#101828;display:block;text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.price-val sup{font-size:11px;color:#10b981;font-weight:800;top:-.35em;position:relative;margin-left:2px}
.col-icon{display:flex;justify-content:flex-end}.accordion-icon{width:24px;height:24px;position:relative;display:block;background:#f1f5f9;border-radius:50%;transition:all .3s}.accordion-icon:before,.accordion-icon:after{content:"";position:absolute;background:#475467;transition:transform .3s,background .3s;border-radius:2px;width:10px;height:2px;top:50%;left:50%}.accordion-icon:before{transform:translate(-70%,-50%) rotate(45deg)}.accordion-icon:after{transform:translate(-30%,-50%) rotate(-45deg)}
.hotel-list-item[open] .accordion-icon{background:#101828;transform:rotate(180deg)}.hotel-list-item[open] .accordion-icon:before,.hotel-list-item[open] .accordion-icon:after{background:#fff}
.hotel-list-item__content{padding:30px;border-top:1px solid #e8edf2;animation:hamFadeIn .3s ease}@keyframes hamFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.hotel-details-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:40px}.hotel-details-left{display:flex;flex-direction:column;gap:30px;min-width:0}.hotel-details-right{display:flex;flex-direction:column;gap:20px;min-width:0}
.service-box{display:flex;align-items:flex-start;gap:15px;background:#fcfcfc;border:1px solid #eaeaea;border-radius:12px;padding:20px}.service-box__icon{color:#c49a42;flex:none}.service-box__icon svg{width:24px;height:24px}.service-box__title{font-size:12px;font-weight:800;color:#111;margin:0 0 5px;letter-spacing:.5px}.service-box__desc{font-size:15px;color:#666;margin:0;font-weight:500}
.section-label{font-family:Montserrat,sans-serif;font-size:14px;font-weight:800;color:#101828;margin:0 0 18px;text-transform:uppercase;position:relative;display:inline-block;letter-spacing:.2px}.section-label:after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:2px;background:#c49a42}
.about-hotel p{font-size:15px;line-height:1.8;color:#667085;margin:0;text-align:justify}
.amenities-section{padding:22px;background:#fcfcfd;border:1px solid #ededed;border-radius:14px;margin:0}.amenities-section .section-label{margin-bottom:20px}.amenity-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.amenity-tag{display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid #e8e8e8;border-radius:10px;font-size:12px;font-weight:600;line-height:1.45;color:#344054;background:#fff}.amenity-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#f5f1e8;color:#b18a38}.amenity-icon svg{display:block;width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.location-box{display:flex;align-items:flex-start;gap:15px;background:#f8f9fa;border-radius:12px;padding:20px;margin-top:10px}.location-box__icon{color:#c49a42;flex:none}.location-box__icon svg{width:20px;height:20px}.location-box p{font-size:14px;line-height:1.6;color:#555;margin:0}
.hotel-image{width:100%;height:300px;border-radius:14px;overflow:hidden;background:#f1f3f5}.hotel-image img{width:100%;height:100%;object-fit:cover}.score-boxes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.score-box{border-radius:12px;padding:15px 8px;text-align:center;color:#fff;background:#101828}.score-label{font-size:11px;font-weight:700;margin-bottom:5px}.score-value{font-size:24px;font-weight:800;line-height:1.1}.ham-score-brand{display:flex;align-items:center;justify-content:center;gap:5px;font-family:Montserrat,sans-serif;font-size:10px;font-weight:800}.ham-score-brand.booking,.ham-score-brand.trip{color:#fff}.ham-score-brand.ours{color:#fff;font-size:15px}.ham-brand-mark{width:17px;height:17px;display:inline-grid;place-items:center;border-radius:4px;background:#fff;color:#111;font-size:10px;font-weight:900}.ham-score-brand.trip .ham-brand-mark{color:#059669}.ham-score-brand.ours .ham-brand-mark{display:none}
.ham-room-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.ham-room-card{border:1px solid #e8e8e8;border-radius:12px;padding:15px;background:#fff;min-width:0}.ham-room-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}.ham-room-name{font-family:Montserrat,sans-serif;font-size:14px;font-weight:800;color:#111;margin:0;line-height:1.45}.ham-room-price{font-size:17px;font-weight:800;color:#111;white-space:nowrap}.ham-room-price small{font-size:10px;color:#667085;font-weight:700}.ham-room-meta{display:flex;gap:7px;align-items:center;color:#667085;font-size:12px;margin-bottom:5px}.ham-room-meta svg{width:15px;height:15px;color:#b18a38}.ham-room-details{font-size:12px;color:#667085;line-height:1.6;margin:0}
/* Filter controls — compact, calm and responsive */
.ham-filter-tools{display:flex;flex-direction:column;align-items:center;gap:14px;margin:0 auto 30px;width:100%;font-family:Montserrat,sans-serif}
.ham-city-tabs,.ham-star-tabs,.ham-sort-tabs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;padding:5px;border:1px solid #e3e8ef;border-radius:16px;background:#fff;box-shadow:0 3px 14px rgba(16,24,40,.045)}
.ham-city-tabs{max-width:100%;border-radius:14px}
.ham-filter-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.ham-star-tabs,.ham-sort-tabs{border-radius:12px}
.ham-sort-tabs{border-left:1px solid #e3e8ef}
.ham-filter-chip{appearance:none;border:1px solid transparent;background:transparent;color:#526176;font:600 14px/1.2 Montserrat,sans-serif;padding:11px 18px;border-radius:9px;min-height:42px;cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease,border-color .14s ease;}
.ham-filter-chip:hover{background:#f4f6f9;color:#111827;border-color:#e6eaf0}
.ham-filter-chip.is-active{background:#101a30;color:#e4bd68;border-color:#101a30;box-shadow:0 2px 5px rgba(16,26,48,.12)}
.ham-filter-chip:focus-visible{outline:2px solid #c6a45d;outline-offset:2px}
.ham-filter-status{font-size:12px;color:#667085;min-height:0}
.ham-hotel-layout{position:relative;transition:opacity .12s ease}
.ham-hotel-layout.is-filtering{opacity:.55;pointer-events:none}
.ham-hotel-layout.is-filtering:after{content:"Updating hotels…";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;padding:12px 18px;border-radius:10px;background:#101a30;color:#fff;font:600 13px Montserrat,sans-serif;box-shadow:0 6px 24px rgba(16,26,48,.18);white-space:nowrap}
.ham-filter-empty{border:1px dashed #d0d5dd;border-radius:14px;padding:28px;text-align:center;color:#667085;font-size:14px;background:#fff}
@media(max-width:1100px){.hotel-list-header,.hotel-list-item__header{grid-template-columns:minmax(145px,2fr) minmax(78px,.9fr) repeat(4,minmax(52px,.72fr)) 28px;gap:8px}.hotel-list-item__header{padding:20px}.hotel-name{font-size:20px}.price-val{font-size:17px}.hotel-details-grid{gap:25px}.hotel-list-header{font-size:10px;letter-spacing:0}}
@media(max-width:768px){.hotel-list-header{display:none}.hotel-list-item__header{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"name name icon" "stars stars stars" "price1 price2 price3" "price4 price4 price4";gap:9px;padding:18px}.hotel-list-item__header>.col-name{grid-area:name;min-width:0}.hotel-list-item__header>.col-stars{grid-area:stars;padding-left:0!important;margin:0 0 3px}.hotel-list-item__header>.col-icon{grid-area:icon;align-self:start}.hotel-list-item__header>.col-price{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;min-width:0;margin:0;padding:9px 10px;border:1px solid #e7e7e7;border-radius:9px;background:#f8f8f8;text-align:left}.hotel-list-item__header>.col-price:nth-of-type(3){grid-area:price1}.hotel-list-item__header>.col-price:nth-of-type(4){grid-area:price2}.hotel-list-item__header>.col-price:nth-of-type(5){grid-area:price3}.hotel-list-item__header>.col-price:nth-of-type(6){grid-area:price4}.hotel-list-item__header>.col-price:before{display:block;flex:1;min-width:0;font-size:10px;line-height:1.25;font-weight:600;color:#777;white-space:normal}.hotel-list-item__header>.col-price:nth-of-type(3):before{content:"Single"}.hotel-list-item__header>.col-price:nth-of-type(4):before{content:"Double / twin"}.hotel-list-item__header>.col-price:nth-of-type(5):before{content:"Triple"}.hotel-list-item__header>.col-price:nth-of-type(6):before{content:"Extra bed"}.price-val{text-align:right;font-size:16px;flex:none}.hotel-list-item__content{padding:22px}.hotel-details-grid{grid-template-columns:1fr;gap:28px}.hotel-details-right{order:-1}.hotel-image{height:240px}.hotel-details-left{gap:25px}.ham-room-list{grid-template-columns:1fr}.ham-filter-tools{margin-bottom:24px}.ham-filter-row{width:100%;flex-direction:column}.ham-star-tabs,.ham-sort-tabs{width:max-content;max-width:100%}.ham-filter-chip{font-size:12px;padding:10px 13px;min-height:38px}.ham-city-tabs{border-radius:18px}.ham-sort-tabs{border-left:1px solid #e1e7ef}}
@media(max-width:480px){.hotel-name{font-size:19px}.hotel-list-item__header{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"name icon" "stars stars" "price1 price2" "price3 price4";padding:15px;gap:8px}.hotel-list-item__header>.col-name{grid-area:name}.hotel-list-item__header>.col-icon{grid-area:icon}.hotel-list-item__header>.col-stars{grid-area:stars}.hotel-list-item__header>.col-price:nth-of-type(3){grid-area:price1}.hotel-list-item__header>.col-price:nth-of-type(4){grid-area:price2}.hotel-list-item__header>.col-price:nth-of-type(5){grid-area:price3}.hotel-list-item__header>.col-price:nth-of-type(6){grid-area:price4}.hotel-list-item__header>.col-price{padding:9px 8px}.hotel-list-item__content{padding:16px}.amenities-section{padding:17px 14px}.amenity-tags{grid-template-columns:1fr}.amenity-tag{padding:9px 10px}.score-boxes{gap:6px}.score-box{padding:12px 4px}.score-value{font-size:21px}.score-label{font-size:10px}.hotel-image{height:205px}.location-box{padding:15px}.ham-filter-chip{padding:9px 11px;font-size:11px;min-height:36px}.ham-city-tabs{gap:2px;padding:4px}.ham-city-chip{padding:10px 14px}.ham-filter-row{gap:7px}}


/* Filter controls styled to closely match the supplied segmented-pill reference. */
.ham-filter-tools{gap:30px;margin:0 auto 36px;padding-top:4px}
.ham-city-tabs{display:inline-flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;padding:7px;border:1px solid #e0e7f0;border-radius:999px;background:#f9fbfd;box-shadow:0 5px 20px rgba(16,26,48,.045);width:max-content;max-width:100%;overflow-x:auto}
.ham-city-chip{position:relative;min-width:125px;min-height:56px;padding:14px 27px;border-radius:999px;font-size:17px;font-weight:750;color:#64748b}
.ham-city-chip+.ham-city-chip:before{content:"";position:absolute;left:0;top:16%;height:68%;width:1px;background:#dbe3ed}
.ham-city-chip.is-active{background:#101729;color:#d6ad5c;border-color:#101729;box-shadow:0 5px 12px rgba(16,23,41,.2)}
.ham-city-chip.is-active:before,.ham-city-chip.is-active+ .ham-city-chip:before{opacity:0}
.ham-filter-row{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;padding:7px;border:1px solid #e0e7f0;border-radius:999px;background:#fff;box-shadow:0 5px 20px rgba(16,26,48,.045);width:max-content;max-width:100%;overflow-x:auto}
.ham-star-tabs,.ham-sort-tabs{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.ham-sort-tabs{position:relative;margin-left:12px;padding-left:12px;border-left:1px solid #dbe3ed}
.ham-filter-chip{position:relative;min-height:58px;padding:15px 26px;border:0;border-radius:999px;background:transparent;color:#b7a41f;font:750 17px/1.2 Playfair Display,sans-serif;transition:background .16s ease,color .16s ease,box-shadow .16s ease;white-space:nowrap}
.ham-filter-chip {position: relative;min-height: 58px;padding: 15px 26px !important;border: 0 !important;border-radius: 999px !important;background: transparent;color: #3e3e3e !important;font: 750 17px / 1.2 Playfair Display, sans-serif !important;transition: background .16s ease, color .16s ease, box-shadow .16s ease !important;white-space: nowrap !important;
.ham-filter-chip:hover{background:#f1f4f8 !important;color:#fff !important;border-color:transparent}
.ham-filter-chip.is-active{background:#101729 !important;color:#fff !important;border-color:#101729;box-shadow:0 5px 12px rgba(16,23,41,.2)}
.ham-filter-chip:focus-visible{outline:2px solid #c6a45d;outline-offset:2px}
.ham-filter-status{font-size:12px;color:#64748b}
@media(max-width:768px){.ham-filter-tools{gap:15px}.ham-city-tabs{max-width:100%;width:auto}.ham-city-chip{min-width:0;padding:12px 20px;min-height:46px;font-size:14px}.ham-filter-row{width:100%;max-width:100%;justify-content:flex-start}.ham-filter-chip{min-height:44px;padding:12px 16px;font-size:13px}.ham-sort-tabs{margin-left:5px;padding-left:5px}}
@media(max-width:480px){.ham-city-chip{padding:10px 15px;font-size:12px}.ham-filter-row{padding:4px}.ham-filter-chip{padding:10px 12px;font-size:11px;min-height:38px}.ham-sort-tabs{margin-left:3px;padding-left:3px}}
.btn-show-map {display: flex;align-items: center;justify-content: center;gap: 10px;width: 100%;min-height: 48px;padding: 12px 20px;background: #101a30;color: #ffd447;border: 1px solid #101a30;border-radius: 12px;
font-family: 'Montserrat', sans-serif;font-size: 14px;font-weight: 700;line-height: 1.4;text-align: center;text-decoration: none;cursor: pointer;transition: all 0.25s ease;box-sizing: border-box;}
.btn-show-map:hover {background: #ffd447;color: #101a30;border-color: #ffd447;transform: translateY(-2px);box-shadow: 0 5px 14px rgba(16, 26, 48, 0.12);}
.btn-show-map:focus-visible {outline: 3px solid rgba(255, 212, 71, 0.5);outline-offset: 3px;}
@media (max-width: 768px) {.btn-show-map {min-height: 44px;padding: 10px 16px;font-size:13px;}}