/* Production compatibility patch 2026-09-17.
   Loaded last so it wins over both the PHP-site and static multilingual CSS. */

html { -webkit-text-size-adjust: 100%; }
body { min-width: 0; }

/* Never hide language controls in portrait orientation. */
.language-mini,
.language-switch,
.object-languages { display: flex !important; }

@media (max-width: 950px) {
  .site-header {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
  }
  .site-header .logo {
    width: 178px;
    height: 82px;
    justify-content: flex-start;
    margin-right: auto;
    overflow: hidden;
  }
  .site-header .logo img {
    width: 178px;
    height: 78px;
    object-fit: contain;
    object-position: left center;
    transform: none;
  }
  .site-header .language-mini {
    order: 2;
    margin: 0 8px 0 auto;
    gap: 1px;
    flex: 0 0 auto;
  }
  .site-header .language-mini a,
  .site-header .object-languages a {
    min-width: 25px;
    padding: 8px 3px;
    text-align: center;
    font-size: 11px;
  }
  .site-header .nav-toggle {
    order: 3;
    margin-left: 2px;
    padding: 8px;
  }
}

/* Static RU/EN header. */
@media (max-width: 650px) {
  .nav-wrap {
    padding-left: max(14px, env(safe-area-inset-left));
    padding-right: max(14px, env(safe-area-inset-right));
    gap: 6px;
  }
  .nav-wrap .brand {
    width: 176px;
    height: 86px;
    justify-content: flex-start;
    margin-right: auto;
    overflow: hidden;
  }
  .nav-wrap .brand img {
    width: 176px;
    height: 78px;
    object-fit: contain;
    object-position: left center;
    transform: none;
  }
  .nav-wrap .language-switch {
    margin: 0 3px 0 auto;
    gap: 0;
    flex: 0 0 auto;
    font-size: 10px;
  }
  .nav-wrap .language-switch a { padding: 8px 3px; }
  .nav-wrap .menu-button { flex: 0 0 auto; margin-left: 0; }
}

@media (max-width: 390px) {
  .site-header .logo,
  .site-header .logo img,
  .nav-wrap .brand,
  .nav-wrap .brand img { width: 150px; }
}

/* Preserve sharp card photos and avoid Safari layout collapse. */
.property-image img,
.listing-photo img { image-rendering: auto; -webkit-transform: translateZ(0); }
.property-card,
.listing-card { min-width: 0; }

/* Contact-form delivery feedback on the static RU/EN shells. */
.contact form .form-status {
  grid-column: 1 / -1;
  margin: 0;
  padding: 13px 16px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 15px;
}
.contact form .form-status.ok { background: #d8efe4; color: #155138; }
.contact form .form-status.bad { background: #f3dada; color: #682828; }
