/* Городские страницы /moskva/ и /zhukovskiy/ (inc/city-pages.php).
   Подключается только на них. Основа — классы статьи .g999-art__*. */

.g999-cityp .g999-art__body .g999-cityp__card,
.g999-cityp .g999-art__body .g999-cityp__btn{ text-decoration: none; }

/* Карточки услуг на странице офиса */
.g999-cityp__cards{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 0 0 40px; }
.g999-cityp__card{ position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px 40px 18px 18px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); color: var(--fg) !important; transition: border-color .18s, transform .18s; }
.g999-cityp__card:hover{ border-color: var(--accent); transform: translateY(-1px); }
.g999-cityp__card-t{ font-weight: 700; font-size: 16px; line-height: 1.3; }
.g999-cityp__card-p{ font-size: 14px; color: var(--muted); }
.g999-cityp__card-a{ position: absolute; right: 16px; top: 50%; transform: translateY(-50%); color: var(--accent); font-family: 'JetBrains Mono', monospace; }

/* Как добраться */
.g999-cityp__office{ margin: 44px 0 0; }
.g999-cityp__office-grid{ display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; margin-bottom: 18px; }
.g999-cityp__office-info{ display: grid; grid-template-columns: max-content 1fr; gap: 8px 18px; margin: 0; font-size: 16px; line-height: 1.5; }
.g999-cityp__office-info dt{ color: var(--muted); }
.g999-cityp__office-info dd{ margin: 0; font-weight: 600; }
.g999-cityp__office-btns{ display: flex; flex-direction: column; gap: 10px; min-width: 220px; }
.g999-cityp__btn{ display: block; text-align: center; padding: 13px 18px; border-radius: var(--btn-r); background: var(--accent); color: #fff !important; font-weight: 600; font-size: 14px; }
.g999-cityp__btn:hover{ filter: brightness(1.05); }
.g999-cityp__btn--ghost{ background: transparent; color: var(--fg) !important; border: 1px solid var(--line); }
.g999-cityp__btn--ghost:hover{ border-color: var(--accent); filter: none; }
.g999-cityp__office .g999-map{ margin-top: 6px; }

/* Шаги сделки */
.g999-cityp__steps ol{ list-style: none; counter-reset: s; padding: 0; margin: 0; display: grid; gap: 10px; }
.g999-cityp__steps li{ counter-increment: s; display: grid; grid-template-columns: 34px 1fr; column-gap: 14px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); font-size: 15px; line-height: 1.5; }
.g999-cityp__steps li::before{ content: counter(s, decimal-leading-zero); grid-row: span 2; font-family: 'JetBrains Mono', monospace; font-size: 13px; font-weight: 700; color: var(--accent); padding-top: 2px; }
.g999-cityp__steps li b{ font-size: 16px; }
.g999-cityp__steps li span{ color: var(--muted); }

/* Вопросы и отзывы */
.g999-cityp__faq{ margin-top: 44px; }
.g999-cityp__faq .g999-faq__a{ padding: 0 22px 18px 62px; }
.g999-cityp__faq .g999-faq__a p{ margin: 0 0 10px; font-size: 15px; }
.g999-cityp__reviews{ margin-top: 44px; }
.g999-cityp__reviews-list{ display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }
.g999-cityp__review{ margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--surface); }
.g999-cityp__review-stars{ color: var(--accent); letter-spacing: 2px; font-size: 14px; margin-bottom: 8px; }
.g999-cityp__review blockquote{ margin: 0 0 10px; font-size: 15px; line-height: 1.5; }
.g999-cityp__review figcaption{ font-size: 13px; color: var(--muted); font-weight: 600; }

@media (max-width: 900px){
  .g999-cityp__cards, .g999-cityp__reviews-list{ grid-template-columns: 1fr 1fr; }
  .g999-cityp__office-grid{ grid-template-columns: 1fr; }
  .g999-cityp__office-btns{ min-width: 0; }
}
@media (max-width: 560px){
  .g999-cityp__cards, .g999-cityp__reviews-list{ grid-template-columns: 1fr; }
  .g999-cityp__office-info{ grid-template-columns: 1fr; gap: 2px; }
  .g999-cityp__office-info dd{ margin-bottom: 8px; }
  .g999-cityp__faq .g999-faq__a{ padding-left: 22px; }
}

/* Выездная скупка (page-vyezd.php) */
.g999-vyezd__head-btns{ display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.g999-vyezd__head-btns .g999-cityp__btn{ text-decoration: none; min-width: 200px; }
.g999-vyezd__form-wrap{ margin: 44px 0 0; scroll-margin-top: 100px; }
.g999-vyezd__form-wrap > p{ color: var(--muted); }
.g999-vyezd__form{ display: flex; flex-direction: column; gap: 14px; }
.g999-vyezd__form .g999-zay__submit{ align-self: flex-start; }
@media (max-width: 560px){
  .g999-vyezd__head-btns .g999-cityp__btn{ flex: 1 1 100%; }
  .g999-vyezd__form .g999-visit__row--2{ grid-template-columns: 1fr; }
  .g999-vyezd__form .g999-zay__submit{ align-self: stretch; }
}
