/* GHome · shared responsive refinements. Layout should never depend on hiding page overflow. */
:root{
 color-scheme:light;
 --gh-radius:16px;
 --gh-control-radius:11px;
 --gh-gap:clamp(10px,1.5vw,18px);
 --gh-gutter:clamp(12px,3.2vw,32px);
 --gh-touch:44px;
}
:root[data-theme="dark"]{color-scheme:dark}
body:where(.home-page,.dashboard-page,.listing-editor-page,.listing-page,.transfer-page,.info-page,.auth-page,.project-hub-page,.agent-page,.admin-page){
 color:var(--ink);
}
:where(.dashboard-shell,.transfer-shell,.lp-shell,.property,.hub-shell,.info-main,.agent-shell,.admin-content,.auth-shell,.security-shell){
 min-inline-size:0;
}
:where(main,dialog) :where(h1,h2,h3,h4,p,dd,summary,figcaption,label){
 overflow-wrap:anywhere;
}
:where(main,dialog) :where(button,select,input,textarea,fieldset){
 box-sizing:border-box;min-inline-size:0;max-inline-size:100%;
}
:where(main,dialog) :where(button,.primary,.plain,.hub-button,.secondary-button){
 overflow-wrap:anywhere;
}
:where(main,dialog) :where(button,.primary,.plain,.hub-button,.secondary-button):focus-visible,
:where(header,.mobile-bottom-nav) :where(a,button,select):focus-visible{
 outline:2px solid var(--brand-bright);outline-offset:3px;
}
:where(.section-heading,.dashboard-welcome,.profile-summary,.transfer-details,.lp-page-heading,.lp-section-heading,
 .hub-section-head,.hub-actions,.info-layout,.info-navigation,.admin-panel-heading,.admin-toolbar,.admin-panel-actions,
 .cms-workspace,.cms-price-grid,.ad-layout,.admin-ad-layout,.catalog-nav,.contact-methods,.footer-shell)>*{
 min-inline-size:0;
}
:where(.dashboard-panel,.transfer-form-panel,.transfer-summary,.auth-box,.info-card,.info-aside,.hub-surface,.lp-step,.property-info,
 .admin-toolbar,.admin-row,.admin-order-row,.admin-user-card,.admin-notice-row,.admin-ad-card,.pro-review-card){
 overflow-wrap:anywhere;
}
:where(.dashboard-panel,.transfer-form-panel,.transfer-summary,.info-card,.info-aside,.hub-surface,.lp-step,.property-info){
 border-radius:var(--gh-radius);
}
:where(.dashboard-listing-info,.history-listing-row,.dashboard-order-row,.admin-order-main,.admin-user-card,.row-info,.bank-card,.receipt-form,
 .hub-hero-copy,.hub-unit,.pro-review-card,.agent-card,.contact-method-copy,.card-body) :where(strong,small,span,h2,h3,p,a,time,dd){
 min-inline-size:0;overflow-wrap:anywhere;
}
:where(.dashboard-listing-actions,.history-actions,.row-actions,.admin-panel-actions,.hub-actions,.hub-unit-actions,
 .transfer-details,.property-actions,.pro-status-actions,.lp-step-actions) :where(button,.primary,.plain,.hub-button){
 min-inline-size:0;max-inline-size:100%;white-space:normal;line-height:1.45;
}
:where(.dashboard-nav,.admin-nav) button{max-inline-size:100%;min-inline-size:0;white-space:normal;line-height:1.45}
:where(.dashboard-nav,.admin-nav) button:is(.selected,[aria-pressed="true"]){
 box-shadow:none;
}

/* A single search system: real labels, readable selected values and a stable dialog. */
#search-area .gh-search-strip{
 grid-template-columns:minmax(0,1fr) minmax(108px,max-content) minmax(106px,max-content);
 gap:10px;
}
#search-area .gh-search-fields{
 grid-template-columns:minmax(10.8rem,1.05fr) minmax(10.3rem,1fr) minmax(9rem,1.15fr);
 align-items:stretch;border:1px solid var(--line-strong);border-radius:var(--gh-radius);
}
#search-area .gh-search-fields:focus-within{border-color:var(--brand)}
#search-area .gh-search-segment{
 min-height:62px;min-width:0;padding:9px clamp(10px,1.4vw,17px);gap:8px;
 white-space:normal;border-radius:0;
}
#search-area .gh-search-segment:first-child{border-start-start-radius:15px;border-end-start-radius:15px}
#search-area .gh-search-segment:is(:hover,[aria-expanded="true"]){background:var(--brand-soft);color:var(--ink)}
#search-area .gh-segment-copy{flex:1 1 auto;min-width:0}
#search-area .gh-segment-copy :is(small,strong){
 white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.45;
}
#search-area .gh-segment-copy small{font-size:12px}
#search-area .gh-segment-copy strong{font-size:13px}
#search-area .gh-keyword{align-items:center;min-height:52px}
#search-area .gh-keyword input{padding-inline:14px;min-height:48px}
#search-area :is(.gh-filter-trigger,.gh-search-submit){
 min-inline-size:0;max-inline-size:100%;padding:9px 13px;gap:8px;min-height:52px;
 white-space:normal;overflow-wrap:anywhere;line-height:1.35;font-size:13px;
 border-radius:var(--gh-control-radius);text-align:center;
}
#search-area .gh-filter-trigger > span{display:inline}
#search-area .gh-filter-trigger svg,#search-area .gh-search-submit svg{width:19px;height:19px;flex-basis:19px}
#search-area .gh-keyword-suggestions{
 max-block-size:min(18rem,46vh);overflow:auto;overscroll-behavior:contain;
}
#search-area .gh-keyword-suggestions button{white-space:normal;overflow-wrap:anywhere}
#search-area #gh-search-feedback{color:var(--danger);font-size:13px;margin:10px 0 0}
#search-area .quick-types :is(a,button){min-width:0;white-space:normal}
#search-area .quick-types :is(a,button) span{min-width:0;overflow-wrap:anywhere}
#search-area.gh-search-ready.gh-details-open > #search,
#search-area.gh-search-ready.gh-details-open > #extra-fields{grid-template-columns:repeat(4,minmax(0,1fr))}

dialog.gh-search-dialog{
 position:fixed;inset:0;margin:auto;transform:none;
 width:min(52rem,calc(100% - 2 * var(--gh-gutter)));max-width:52rem;
 max-height:calc(100vh - 2 * var(--gh-gutter));max-height:calc(100dvh - 2 * var(--gh-gutter));
 border-radius:var(--gh-radius);overflow:auto;overscroll-behavior:contain;
 scrollbar-gutter:stable;scroll-padding-block:76px 90px;
}
.gh-search-dialog > header,.gh-search-dialog > footer{gap:10px;padding:clamp(12px,2.1vw,22px)}
.gh-search-dialog > header{align-items:center}
.gh-search-dialog > header h2{font-size:clamp(19px,3vw,24px);line-height:1.35}
.gh-search-dialog > header p{font-size:13px;line-height:1.5}
.gh-search-dialog > footer > div{min-width:min(100%,10rem)}
.gh-search-dialog > footer :is(button,.plain,.primary){
 min-width:0;min-height:var(--gh-touch);white-space:normal;overflow-wrap:anywhere;
 line-height:1.4;text-align:center;
}
.gh-search-dialog .mobile-icon{width:44px;height:44px;flex-basis:44px}
.gh-search-dialog .gh-dialog-body{padding:clamp(13px,2.6vw,23px)}
.gh-search-dialog .gh-type-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gh-search-dialog .gh-type-choice{
 display:grid;grid-template-columns:25px minmax(0,1fr) 10px;align-items:center;min-width:0;
 min-height:58px;gap:8px;padding:11px 10px;border-radius:var(--gh-control-radius);
 white-space:normal;overflow-wrap:anywhere;
}
.gh-search-dialog .gh-type-choice strong{font-size:13px;line-height:1.45}
.gh-search-dialog .gh-type-choice > svg{width:22px;height:22px}
.gh-search-dialog .gh-type-choice .gh-choice-check{display:block;visibility:hidden;position:static}
.gh-search-dialog .gh-type-choice[aria-pressed="true"] .gh-choice-check{visibility:visible}
.gh-search-dialog :is(.gh-mode-choice,.gh-city-choice){min-height:var(--gh-touch);white-space:normal;overflow-wrap:anywhere}
.gh-search-dialog .gh-city-search{padding:clamp(12px,2.2vw,20px)}
.gh-search-dialog .gh-city-layout > :is(aside,section){min-width:0}
.gh-search-dialog .gh-city-layout{grid-template-columns:minmax(10rem,.75fr) minmax(0,2fr)}
.gh-search-dialog.gh-has-city-query .gh-city-layout{grid-template-columns:minmax(0,1fr)}

/* Listings, editor, account, admin, payment and help have the same surface rhythm. */
.property-grid,.transfer-layout,.lp-layout{min-width:0;max-width:100%}
.property-grid > *,.transfer-layout > *,.lp-layout > *,.hub-hero > *{min-width:0}
.property-info,.desktop-property-summary{min-width:0;max-width:100%}
.property-info :is(.description,.location),.desktop-property-heading h1{min-width:0;overflow-wrap:anywhere}
.property-actions,.desktop-property-summary .property-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
.property-actions > *{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.property-info h1,.hub-hero h1,.pro-public h1,#profile-name,.info-hero h1,.auth-box h1,.lp-page-heading h1,.transfer-heading h1{
 word-break:normal;overflow-wrap:anywhere;text-wrap:wrap;
}
.photo-viewer-toolbar{min-width:0;flex-wrap:wrap}
.photo-viewer-toolbar strong{min-width:0;flex:1 1 10rem;overflow-wrap:anywhere}
.photo-viewer-toolbar [data-gallery-counter]{white-space:nowrap}
.property-gallery-stage,.photo-viewer-stage:not(.is-zoomed){touch-action:pan-y pinch-zoom}
.listing-price-row,.card-topline,.card-foot,.card-meta,.hub-unit-specs,.hub-hero-stats,.pro-profile-contact{min-width:0;flex-wrap:wrap}
.listing-price-row .price{min-width:0;overflow-wrap:anywhere}
.listing-price-row .listing-currency{flex:0 0 auto}
.dashboard-shell #account-type{max-inline-size:100%;scroll-margin-block-start:104px}
.dashboard-welcome-actions > *{min-width:0;max-width:100%}
.dashboard-welcome-actions > :is(a,button){min-height:var(--gh-touch);padding:9px 12px}
.dashboard-welcome .profile-summary > div,.dashboard-order-row>*,.admin-order-row>*{min-width:0}
.dashboard-metrics > div{min-width:0}
.dashboard-metrics :is(span,strong){white-space:normal;overflow-wrap:anywhere}
#payment-banks{display:flex;flex-wrap:wrap;gap:12px;min-width:0}
#payment-banks .bank-card{flex:1 1 17rem;min-width:0;max-width:100%;margin:0}
.transfer-summary :is(h2,dd),.transfer-details :is(strong,span),.bank-card > strong{white-space:normal;overflow-wrap:anywhere}
.bank-card .bank-brand-name{line-height:1.45}
.receipt-consent > input{flex:none}
#receipt-file{width:100%;min-width:0}
#receipt-preview{max-width:100%;height:auto}
.hub-filters > label,.lp-step > label,.lp-form-grid>*{min-inline-size:0}
.hub-filters :is(select,input),.lp-step :is(input:not([type="checkbox"],[type="radio"]),select,textarea){max-width:100%}
.listing-editor-page :is(.lp-entry,#editor-form,.lp-step,.lp-actions){width:100%;max-width:100%;min-width:0}
#lp-steps button{min-width:0;white-space:normal}
#lp-steps button [data-nav-label]{min-width:0;white-space:normal;overflow-wrap:anywhere}
.lp-section-heading > span{flex:0 0 auto}
.lp-step-actions,.lp-save-tools,.lp-step .cover-picker,.lp-step .lp-choice-grid,.lp-step .commerce-option-buttons,
 .admin-page :is(.row-actions,.admin-order-filters,.ad-panel-actions,.cms-price-grid,.console-status){min-width:0;flex-wrap:wrap}
.admin-page :is(.admin-user-card,.admin-order-row,.report-row) :is(strong,p,small,time){min-width:0;white-space:normal;overflow-wrap:anywhere}
.admin-page .admin-nav [data-panel]{white-space:normal;overflow-wrap:anywhere}
.admin-page :is(.live-preview-shell,.ad-preview-box,.cms-workspace,.ads-workspace){min-inline-size:0;max-inline-size:100%}
.admin-page :is(.ads-workspace,.cms-workspace) > *{min-width:0}
.admin-page :is(.ad-editor,.cms-controls){width:100%;min-width:0;max-width:100%}
.admin-page :is(.ad-editor,.cms-controls) :where(label,input,select,textarea){min-width:0;max-width:100%}
.admin-page :is(.ad-editor,.cms-controls) :is(input:not([type="checkbox"],[type="radio"]),select,textarea){width:100%}
.admin-page .ad-editor-heading{flex-wrap:wrap}
.admin-page :is(iframe,input[type="file"]){max-inline-size:100%}
.admin-page .gh-ads-schema-note{margin:0 0 12px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:11px;color:var(--ink);background:var(--surface-soft);font-size:13px}
.info-navigation a,.contact-method,.hub-button,.pro-review-card a{max-inline-size:100%;white-space:normal;overflow-wrap:anywhere}
.info-layout>aside,.info-layout>section,.agent-card,.hub-unit,.pro-summary,.pro-portfolio{min-width:0}
.info-header-actions select,.site-header select#language,.dashboard-page>header select#language,.listing-page>header select{
 min-inline-size:7.15rem;padding-inline:10px 23px;line-height:1.35;
}
:root[data-theme="dark"] :where(select,select option,textarea,input:not([type="checkbox"],[type="radio"],[type="range"],[type="file"])){
 color:var(--ink);background-color:var(--surface);border-color:var(--line-strong);
}
:root[data-theme="dark"] .gh-search-fields .gh-keyword input{background:transparent}
:root[data-theme="dark"] :is(.dashboard-welcome-actions .dashboard-role-shortcut,.admin-nav .admin-notice-count){color:var(--brand-bright)}

@media(max-width:1100px){
 .admin-page :is(.ads-workspace,.cms-workspace){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1060px){
 #search-area .gh-search-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"fields fields" "filters submit"}
 #search-area .gh-search-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:980px){
 .property-grid:not(.desktop-property-layout){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:820px){
 #search-area .gh-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 #search-area .gh-search-segment{min-height:55px;padding:8px 10px}
 #search-area .gh-search-segment:first-child{border-end-start-radius:0}
 #search-area .gh-search-fields>.gh-keyword{min-height:48px}
 #search-area .gh-search-fields .gh-keyword input,.gh-search-dialog .gh-city-search input{font-size:16px}
 #search-area :is(.gh-filter-trigger,.gh-search-submit){min-height:46px}
 #search-area.gh-search-ready.gh-details-open > #search,
 #search-area.gh-search-ready.gh-details-open > #extra-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
 dialog.gh-search-dialog{
  inset:auto 0 0;margin:0;width:100%;max-width:none;
  max-height:calc(var(--mobile-viewport,100dvh) - 12px);
  border-radius:var(--gh-radius) var(--gh-radius) 0 0;
 }
 .gh-search-dialog > footer{padding-bottom:max(12px,env(safe-area-inset-bottom));flex-wrap:wrap}
 .gh-search-dialog .gh-type-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gh-search-dialog .gh-city-layout{grid-template-columns:minmax(0,1fr);gap:13px}
 .gh-search-dialog .gh-city-search{flex-direction:row;flex-wrap:wrap;align-items:center}
 .gh-search-dialog .gh-city-search label{flex:1 1 12rem}
 body.keyboard-open dialog.gh-search-dialog[open]{
  top:calc(var(--mobile-viewport-top,0px) + 4px);bottom:auto;
  max-height:calc(var(--mobile-viewport,100dvh) - 8px);border-radius:12px;
 }
 body.keyboard-open .gh-search-dialog > :is(header,footer){position:static}
 .dashboard-workspace .dashboard-nav,.admin-page .admin-nav{
  position:static;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;
 }
 .dashboard-workspace .dashboard-nav>button,.admin-page .admin-nav>button{
  width:100%;min-height:var(--gh-touch);height:auto;padding:8px 6px;white-space:normal;
  text-align:center;line-height:1.45;font-size:12px;
 }
 .dashboard-nav .selected::after,.admin-nav .selected::after{display:none}
 .admin-page .admin-nav>span.console-nav-label{display:none}
 .dashboard-welcome .profile-summary{align-items:flex-start;gap:12px}
 .dashboard-welcome .profile-summary h1{font-size:clamp(19px,5.5vw,24px);line-height:1.35}
 .dashboard-welcome .profile-avatar{width:52px;height:52px;flex-basis:52px;border-radius:15px}
 .lp-step-actions > :is(button,a),.dashboard-listing-actions > :is(button,a),.transfer-form-panel button,
 .hub-unit-actions button{min-height:var(--gh-touch)}
 .lp-step-actions > *{min-width:0}
 .lp-step .lp-choice-grid button,.lp-step .lp-check{white-space:normal;overflow-wrap:anywhere}
 .lp-step input:not([type="checkbox"],[type="radio"],[type="file"],[type="range"]),.lp-step textarea,.lp-step select,
 .auth-box input,.profile-form :is(input,textarea),.info-contact-form :is(input,textarea),
 .gh-type-card :is(input:not([type="radio"]),textarea),.hub-main :is(input:not([type="checkbox"]),select,textarea){font-size:16px}
 .info-header-actions,.project-hub-page .hub-header nav{flex-wrap:wrap}
 .info-header-actions select,.site-header select#language,.dashboard-page>header select#language,.listing-page>header .header-actions select{
  inline-size:clamp(6.4rem,30vw,7.9rem);min-inline-size:6.4rem;flex:0 1 auto;font-size:12px;
 }
}
@media(max-width:375px){
 #search-area .gh-search-fields{grid-template-columns:minmax(0,1fr)}
 #search-area .gh-search-segment:first-child{border-start-end-radius:15px}
 #search-area .gh-search-fields>#gh-city-trigger{border-inline-start:0;border-block-start:1px solid var(--line)}
 #search-area :is(.gh-filter-trigger,.gh-search-submit){padding-inline:7px;font-size:12px}
 .gh-search-dialog .gh-type-options{grid-template-columns:minmax(0,1fr)}
 .dashboard-workspace .dashboard-nav,.admin-page .admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dashboard-welcome .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 #lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
 #lp-steps button{font-size:11px;min-height:68px}
 .lp-step .lp-amenities>div{grid-template-columns:minmax(0,1fr)}
}
@media(max-height:440px){
 .gh-search-dialog > :is(header,footer){position:static}
}
@media(prefers-reduced-motion:reduce){
 .gh-search-strip,.gh-search-dialog,.gh-role-choice,.dashboard-nav,.admin-nav{scroll-behavior:auto}
 .gh-role-choice,.gh-search-strip button{transition:none}
}

#gh-filter-feedback{grid-column:1/-1;margin:0;color:var(--danger);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
[data-gh-filter-invalid]{outline:2px solid var(--danger);outline-offset:2px}
