/*
Theme Name: GorodMAF Client
Theme URI: https://gorodmaf.ru/
Author: Tripolev Studio
Description: Клиентская WordPress-тема для каталога малых архитектурных форм.
Version: 1.0.0
Text Domain: gorodmaf-client
*/

:root {
  --gm-blue: #009efa;
  --gm-blue-soft: #e6f6ff;
  --gm-ink: #282a32;
  --gm-muted: #737b80;
  --gm-surface: #f4f6f7;
  --gm-white: #fff;
}

html { scroll-behavior: smooth; }
body { background: var(--gm-white); color: var(--gm-ink); }

/* The source header is fixed and is a few pixels taller than its legacy body offset. */
.body_offset_header { padding-top: 128px; }

@media (max-width: 1680px) {
  .body_offset_header { padding-top: 120px; }
}

.aws-search-label {
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  overflow: hidden !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.screen-reader-text:focus {
  background: var(--gm-white);
  clip: auto;
  clip-path: none;
  color: var(--gm-ink);
  height: auto;
  left: 16px;
  padding: 12px 16px;
  top: 16px;
  width: auto;
  z-index: 100000;
}

:focus-visible { outline: 3px solid var(--gm-blue); outline-offset: 3px; }

.gm-placeholder {
  align-items: center;
  background: var(--gm-surface);
  display: flex;
  min-height: 55vh;
  padding: 140px 24px 80px;
}

.gm-placeholder__inner { margin: 0 auto; max-width: 1240px; width: 100%; }
.gm-placeholder__title { font: 400 clamp(34px, 6vw, 82px)/1.05 Unbounded, sans-serif; margin: 0 0 24px; }
.gm-placeholder__text { font: 400 18px/1.55 Onest, sans-serif; max-width: 720px; }

.gm-form-pending {
  background: var(--gm-blue-soft);
  border-radius: 18px;
  color: var(--gm-ink);
  margin-top: 16px;
  padding: 14px 18px;
}

.gm-load-more {
  display: flex;
  grid-column: 1 / -1;
  justify-content: center;
  padding-top: 24px;
}

.office-row__map iframe { border: 0; display: block; height: 100%; min-height: 320px; width: 100%; }

/* Uploaded logo, sized like the wordmark it replaces in the source markup. */
.header__logo .gm-custom-logo { display: block; height: 28px; object-fit: contain; width: auto; }
.footer__logo .gm-custom-logo { display: block; height: 100%; object-fit: contain; width: auto; }
.footer__logo:has(.gm-custom-logo) { aspect-ratio: auto; width: -moz-fit-content; width: fit-content; }

/* Text wordmark, matched to the 20px cap height of the source SVG logo. */
.gm-logo-text {
  color: inherit;
  display: block;
  font-family: "Unbounded", sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
  white-space: nowrap;
}

.footer__logo .gm-logo-text { color: #fff; }
.footer__logo:has(.gm-logo-text) { aspect-ratio: auto; width: -moz-fit-content; width: fit-content; }

@media (max-width: 1440px) {
  .header__logo .gm-custom-logo { height: 24px; }
  .header__logo .gm-logo-text { font-size: 18px; }
}

@media (max-width: 1024px) {
  .header__logo .gm-custom-logo { height: 22px; }
  .header__logo .gm-logo-text { font-size: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
