/* GeoArea 4.0 RC2 — responsive hardening */
:root{
  --ga-vh:1vh;
  --ga-safe-top:env(safe-area-inset-top,0px);
  --ga-safe-right:env(safe-area-inset-right,0px);
  --ga-safe-bottom:env(safe-area-inset-bottom,0px);
  --ga-safe-left:env(safe-area-inset-left,0px);
}
html{overflow-x:clip;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{min-width:320px;overflow-x:clip;}
img,video,iframe,svg{max-width:100%;}
input,select,textarea,button{font-size:16px;}
.ga-container,.ga-account-shell,.ga-account-main,.ga-account-panel{min-width:0;}
.ga-account-panel,.ga-card,.ga-property-card{overflow-wrap:anywhere;}

/* Prevent horizontal overflow caused by grids, tables and long values. */
.ga-property-grid,.ga-services__grid,.ga-blog-grid,.ga-analytics-cards,.ga-profile-form-grid{min-width:0;}
.ga-analytics-table-wrap,.ga-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}
.ga-analytics-table,.ga-table{min-width:640px;}

@media (max-width:1100px){
  .ga-container{width:min(100% - 36px,1180px);}
  .ga-property-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media (max-width:900px){
  .ga-container{width:min(100% - 28px,1180px);}
  .ga-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ga-account-shell{grid-template-columns:1fr!important;}
  .ga-account-sidebar{max-width:none;}
  .ga-mp-row{grid-template-columns:132px minmax(0,1fr)!important;}
  .ga-mp-right{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;}
}

@media (max-width:820px){
  body{padding-bottom:calc(88px + var(--ga-safe-bottom));}
  .ga-container{width:min(100% - 24px,1180px);}
  .ga-section{padding-block:34px;}
  .ga-section__head{gap:12px;align-items:center;}
  .ga-section__head h1,.ga-section__head h2{line-height:1.22;}
  .ga-property-grid{grid-template-columns:1fr;}
  .ga-services__grid{grid-template-columns:1fr!important;}
  .ga-blog-grid{grid-template-columns:1fr!important;}
  .ga-profile-form-grid{grid-template-columns:1fr!important;}
  .ga-analytics-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ga-mp-head,.ga-mp-toolbar{align-items:stretch;flex-direction:column;}
  .ga-mp-head .ga-green-btn,.ga-mp-toolbar button{width:100%;justify-content:center;}
  .ga-mp-tabs{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;}
  .ga-mp-tabs::-webkit-scrollbar{display:none;}
  .ga-mp-row{grid-template-columns:112px minmax(0,1fr)!important;gap:14px!important;}
  .ga-mp-photo{aspect-ratio:4/3;min-height:92px;}
  .ga-mp-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;}
  .ga-mp-actions a,.ga-mp-actions button{min-width:0;text-align:center;justify-content:center;}
  .ga-mobile-bottom-nav{left:max(10px,var(--ga-safe-left));right:max(10px,var(--ga-safe-right));bottom:max(8px,var(--ga-safe-bottom));}
  body.ga-mobile-bottom-nav-on .gsp-mobile-action-bar{bottom:calc(82px + var(--ga-safe-bottom));}
  body:not(.ga-mobile-sticky-contact-on) .gsp-mobile-action-bar{display:none!important;}
  body:not(.ga-mobile-services-vertical-on) .ga-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ga-mobile-account-drawer{max-height:calc(var(--ga-vh)*100 - 24px - var(--ga-safe-top) - var(--ga-safe-bottom));overflow:auto;overscroll-behavior:contain;}
}

@media (max-width:560px){
  .ga-container{width:min(100% - 20px,1180px);}
  .ga-section{padding-block:28px;}
  .ga-analytics-cards{grid-template-columns:1fr!important;}
  .ga-mp-row{grid-template-columns:96px minmax(0,1fr)!important;padding:12px!important;}
  .ga-mp-body h2{font-size:15px!important;line-height:1.35;}
  .ga-mp-body p{font-size:12px!important;}
  .ga-mp-actions{grid-template-columns:1fr!important;}
  .ga-mobile-bottom-nav{border-radius:18px;padding-inline:5px;}
  .ga-mobile-bottom-nav small{font-size:9px;}
}

/* Small-height landscape phones. */
@media (max-width:932px) and (orientation:landscape) and (max-height:520px){
  body{padding-bottom:72px;}
  .ga-mobile-bottom-nav{min-height:56px;padding-block:4px;border-radius:16px;}
  .ga-mobile-bottom-nav a,.ga-mobile-bottom-nav button{min-height:42px;}
  .ga-mobile-bottom-nav .ga-mobile-nav-add{width:48px;height:48px;min-height:48px;margin-top:-19px;}
  .ga-mobile-account-drawer{max-height:calc(var(--ga-vh)*100 - 12px);}
  .gsp-lightbox{padding-top:var(--ga-safe-top);}
}

/* Foldables and narrow split-screen layouts. */
@media (min-width:600px) and (max-width:900px){
  .ga-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  [data-ga-mobile-slider] .ga-property-grid{grid-auto-columns:min(78vw,390px);}
  .ga-services__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}

/* Touch targets and accessibility. */
@media (pointer:coarse){
  a,button,input[type="button"],input[type="submit"]{min-height:44px;}
  .ga-mobile-slider__arrow{min-width:44px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}
}

/* Android/Samsung rendering fallback for expensive glass layers. */
@supports not ((backdrop-filter:blur(2px)) or (-webkit-backdrop-filter:blur(2px))){
  .ga-mobile-bottom-nav,.ga-mobile-account-toolbar,.ga-mobile-account-drawer{background:#fff!important;}
}
body.ga-device-android .ga-mobile-bottom-nav,
body.ga-device-android .ga-mobile-account-toolbar,
body.ga-device-android .ga-mobile-account-drawer{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  background:rgba(255,255,255,.985)!important;
}
