/* Phase 1: Social-only visual improvements. Existing hotel business logic remains untouched. */
.hotel-result-card .hotel-stay-duration{display:block;font-size:12px;color:var(--muted);font-weight:650}
.hotel-mobile-filter-trigger,.hotel-filter-mobile-head,.hotel-filter-mobile-footer,.hotel-filter-backdrop{display:none}
.hotel-filter-layer{min-width:0;position:sticky;top:106px;align-self:start}
.hotel-filter-layer>.hotel-filter-panel{position:static;top:auto}
.hotel-result-book .btn{min-height:44px}
.hotel-mobile-filter-trigger .hotel-active-count[hidden]{display:none!important}
.hotel-result-book strong[dir=ltr]{unicode-bidi:isolate;text-align:start}
.hotel-results-page .hotel-result-card .hotel-result-info h3{overflow-wrap:anywhere}
.hotel-results-page .hotel-result-info .hotel-result-address{overflow-wrap:anywhere}
.hotel-results-page .hotel-result-controls .hotel-result-control-actions select{max-width:100%}

@media(max-width:790px){
 /* Keep one canonical homepage form and all community sections; change mobile order only. */
 .trippbo-approved .ah-container{display:flex;flex-direction:column}
 .trippbo-approved .ah-hero{order:-2;height:auto!important;min-height:178px;padding:0;background-position:center}
 .trippbo-approved .ah-hero-layout{height:auto!important;min-height:178px;padding:18px 19px!important;display:flex;align-items:center}
 .trippbo-approved .ah-hero-copy{width:100%;flex:1 1 auto;max-width:100%;text-align:start}
 .trippbo-approved .ah-hero h1{font-size:clamp(20px,5vw,26px);line-height:1.3;margin-bottom:8px}
 .trippbo-approved .ah-hero-copy>p{font-size:13px;line-height:1.5}
 .trippbo-approved .ah-hero-art,.trippbo-approved .ah-hero-callout{display:none!important}
 .trippbo-approved .ah-hero-ctas{margin-top:11px}
 .trippbo-approved .ah-mobile-hotel-jump{display:inline-flex}
 .trippbo-approved .ah-hotels{order:-1;padding-top:10px}
 .trippbo-approved .ah-hotel-banner{height:100px!important}
 .trippbo-approved .ah-hotel-text{width:calc(100% - 32px);margin-inline:16px;padding-top:10px}
 .trippbo-approved .ah-hotel-banner h2{font-size:18px;line-height:1.3}
 .trippbo-approved .ah-hotel-banner p{display:none}
 .trippbo-approved .ah-hotel-real-search{margin:-9px auto 0;width:calc(100% - 12px)}
 .trippbo-approved .ah-hotel-real-search .hotel-search-title{margin-bottom:10px}
 .trippbo-approved .ah-hotel-real-search .hotel-search-title h2{font-size:19px}
 .hotel-search-premium .hotel-main-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
 .hotel-search-premium .hotel-dest-field,.hotel-search-premium .hotel-guests-cell,.hotel-search-premium .hotel-search-button{grid-column:1/-1}
 .hotel-search-premium .hotel-search-cell{min-width:0;min-height:66px;padding:10px;overflow:visible}
 .hotel-search-premium .hotel-search-cell input,.hotel-search-premium .hotel-guest-toggle{font-size:16px;min-height:32px}
 .hotel-search-premium .hotel-date-toggle{min-width:0;max-width:100%;white-space:normal}
 .hotel-search-premium .hotel-search-button{min-height:48px}
 /* Search results come before the long filter controls. */
 .hotel-results-page .hotel-results-toolbar{margin-bottom:14px;flex-wrap:wrap}
 .hotel-results-page .hotel-result-controls{align-items:stretch}
 .hotel-results-page .hotel-result-controls h1{font-size:21px}
 .hotel-results-page .hotel-result-control-actions{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center}
 .hotel-mobile-filter-trigger{display:inline-flex;gap:7px;align-items:center;justify-content:center;min-height:44px;min-width:104px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-size:14px;font-weight:800;padding:9px 12px}
 .hotel-mobile-filter-trigger .hotel-active-count{display:inline-grid;place-items:center;min-width:19px;min-height:19px;border-radius:50%;padding:2px 4px;background:var(--hotel-gradient);color:white;font-size:11px}
 .hotel-results-page .hotel-result-control-actions>label{min-width:0;justify-content:flex-end;gap:5px}
 .hotel-results-page .hotel-result-control-actions select{min-width:0;width:100%;font-size:14px}
 .hotel-results-page .hotel-view-toggle{grid-column:1/-1;justify-content:stretch}
 .hotel-results-page .hotel-view-toggle button{flex:1;justify-content:center;min-height:40px}
 .hotel-results-body{display:block}
 .hotel-filter-layer{display:none;position:fixed;inset:0;z-index:9000;top:0;align-self:stretch;height:100vh;height:100dvh}
 .hotel-filter-layer.is-open{display:block}
 .hotel-filter-backdrop{display:block;position:absolute;inset:0;background:rgba(9,15,35,.65);border:0;width:100%;height:100%;cursor:pointer}
 .hotel-filter-layer>.hotel-filter-panel{position:absolute;top:0;bottom:0;inset-inline-start:auto;inset-inline-end:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border-radius:18px 0 0 18px;width:min(420px,calc(100% - 28px));max-width:100%;padding:78px 18px 100px;box-shadow:0 12px 30px #0003}
 html[dir=rtl] .hotel-filter-layer>.hotel-filter-panel{border-radius:0 18px 18px 0}
 .hotel-filter-mobile-head{display:flex;position:absolute;z-index:2;top:0;inset-inline-end:0;width:min(420px,calc(100% - 28px));justify-content:space-between;align-items:center;gap:10px;padding:15px 18px;background:var(--surface);border-bottom:1px solid var(--border)}
 .hotel-filter-mobile-head h2{font-size:19px;margin:0}
 .hotel-filter-close{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--border);border-radius:12px;background:var(--surface2);color:var(--text);font-size:22px}
 .hotel-filter-layer .hotel-filter-head{display:none}
 .hotel-filter-layer .hotel-filter-group{margin-top:8px;padding-block:13px}
 .hotel-filter-layer .hotel-check-row{min-height:40px;font-size:14px}
 .hotel-filter-layer .hotel-check-row input{min-width:19px;min-height:19px}
 .hotel-filter-mobile-footer{display:flex;gap:10px;position:absolute;z-index:2;bottom:0;inset-inline-end:0;width:min(420px,calc(100% - 28px));padding:12px 18px;background:var(--surface);border-top:1px solid var(--border)}
 .hotel-filter-mobile-footer .btn{flex:1;min-height:48px}
 .hotel-filter-mobile-footer .hotel-text-button{min-width:88px;font-size:14px}
 .hotel-listing .hotel-result-card{grid-template-columns:1fr;min-height:0;height:auto}
 .hotel-listing .hotel-result-image{height:168px;min-height:0;max-height:168px}
 .hotel-listing .hotel-result-image>img{height:168px;max-height:168px}
 .hotel-listing .hotel-result-info{padding:14px 14px 9px;gap:6px}
 .hotel-listing .hotel-result-info h3{font-size:17px;line-height:1.35}
 .hotel-listing .hotel-result-address{font-size:13px;line-height:1.45}
 .hotel-listing .hotel-result-tags{margin:2px 0}
 .hotel-listing .hotel-result-book{grid-column:auto;display:grid;grid-template-columns:1fr auto;align-items:center;text-align:start;gap:5px 12px;padding:12px 14px;border-inline-start:0;border-top:1px solid var(--border)}
 .hotel-listing .hotel-result-book .hotel-price-caption,.hotel-listing .hotel-result-book .hotel-stay-duration,.hotel-listing .hotel-result-book .hotel-tax-note{grid-column:1}
 .hotel-listing .hotel-result-book strong{font-size:21px;grid-column:1;overflow-wrap:anywhere}
 .hotel-listing .hotel-result-book .btn{grid-column:2;grid-row:1/5;align-self:center;min-height:46px;min-width:116px}
}
@media(max-width:359px){
 .hotel-listing .hotel-result-book{grid-template-columns:1fr}
 .hotel-listing .hotel-result-book .btn{grid-column:1;grid-row:auto;width:100%}
 .hotel-results-page .hotel-result-control-actions{grid-template-columns:1fr}
 .hotel-results-page .hotel-result-control-actions>label{justify-content:flex-start}
 .hotel-results-page .hotel-view-toggle{grid-column:1}
 .hotel-search-premium .hotel-main-fields{grid-template-columns:1fr}
}
@media(min-width:791px){
 .trippbo-approved .ah-mobile-hotel-jump{display:none}
}
@media(prefers-reduced-motion:reduce){
 .hotel-filter-layer *{scroll-behavior:auto}
}
