/* AP-R 01.11.2026 · блок «Офис продаж» на странице города — вывод в local/include/apr_city_office.php */
.apr-ofc .apr-ofc-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:#fff;border:1px solid var(--line,#e6e8ec);border-radius:var(--r-lg,20px);overflow:hidden;box-shadow:var(--shadow,0 1px 2px rgba(19,55,79,.04),0 8px 24px rgba(19,55,79,.06))}
.apr-ofc .apr-ofc-card.no-map{grid-template-columns:1fr}
.apr-ofc-map{position:relative;display:block;min-height:340px;background:#e8edf0;overflow:hidden}
/* картинку прижимаем к правому нижнему углу: там логотип и копирайт Яндекса — по условиям карт их не обрезаем */
.apr-ofc-map img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:100% 100%;transition:transform .3s;transform-origin:100% 100%}
.apr-ofc-map:hover img{transform:scale(1.02)}
.apr-ofc-map-cap{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.96);color:var(--navy,#13374f);font-size:13px;font-weight:700;padding:8px 12px;border-radius:999px;box-shadow:0 2px 10px rgba(19,55,79,.16)}
.apr-ofc-body{display:flex;flex-direction:column;gap:16px;padding:28px 30px}
.apr-ofc-row{display:flex;align-items:flex-start;gap:14px}
.apr-ofc-ic{flex:0 0 40px;width:40px;height:40px;border-radius:12px;background:var(--teal-soft,#e6f7f8);color:var(--navy,#13374f);display:flex;align-items:center;justify-content:center}
.apr-ofc-l{font-size:13px;font-weight:600;line-height:1.3;color:var(--muted,#6c7785)}
.apr-ofc-v{margin-top:2px;font-size:16px;font-weight:600;line-height:1.45;font-style:normal;color:var(--ink,#1a2330)}
.apr-ofc-v a{color:var(--navy,#13374f)}
.apr-ofc-v a:hover{text-decoration:underline}
.apr-ofc-star{display:inline-flex;align-items:center;gap:4px;font-weight:800;color:var(--navy,#13374f)}
.apr-ofc-star .apr-ic{fill:#f6b400;stroke:#f6b400}
.apr-ofc-revbtn{display:inline-flex;align-items:center;min-height:40px;margin-top:8px;padding:0 16px;border-radius:10px;background:var(--teal-soft,#e6f7f8);color:var(--navy,#13374f);font-size:14px;font-weight:700;transition:background .15s}
.apr-ofc-revbtn:hover{background:#d3f0f2}
.apr-ofc-acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:4px}
.apr-ofc a:focus-visible,.apr-ofc button:focus-visible{outline:3px solid var(--teal,#17b7bf);outline-offset:2px}
/* окно с официальным виджетом отзывов Яндекс Карт */
.apr-ofc-ovl{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,34,55,.55)}
.apr-ofc-ovl[hidden]{display:none}
/* пока окно открыто — прячем онлайн-чат сайта (#aprchat лежит выше всех окон и всплывает приветствием) */
body.apr-ofc-open #aprchat{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.apr-ofc-modal{width:460px;max-width:100%;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 64px rgba(10,34,55,.35)}
.apr-ofc-mh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 12px 18px;border-bottom:1px solid var(--line,#e6e8ec)}
.apr-ofc-mt{font-size:15px;font-weight:800;color:var(--navy,#13374f)}
.apr-ofc-mx{flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:var(--teal-soft,#e6f7f8);color:var(--navy,#13374f);font-size:17px;font-weight:700;line-height:1}
.apr-ofc-modal iframe{display:block;width:100%;height:min(600px,70vh);border:0}
.apr-ofc-mf{padding:10px 18px 12px;border-top:1px solid var(--line,#e6e8ec);font-size:12.5px;color:var(--muted,#6c7785)}
/* до 1100 px — карта сверху во всю ширину; срезается только верх картинки, низ с логотипом и точка офиса остаются */
@media (max-width:1100px){
  .apr-ofc .apr-ofc-card{grid-template-columns:1fr}
  .apr-ofc-map{min-height:0;height:380px}
  .apr-ofc-map img{object-position:50% 100%}
}
@media (max-width:760px){
  .apr-ofc-map{height:auto;aspect-ratio:650/390}
  .apr-ofc-map-cap{left:10px;bottom:10px;padding:6px 10px;font-size:12px}
  .apr-ofc-body{gap:14px;padding:20px 16px}
  .apr-ofc-v{font-size:15px}
  .apr-ofc-acts .btn{flex:1 1 100%;min-height:48px}
  /* окно — к верху экрана: внизу справа висит кнопка онлайн-чата сайта, она выше любого окна */
  .apr-ofc-ovl{align-items:flex-start;padding:16px 12px}
  .apr-ofc-modal iframe{height:calc(100vh - 280px);height:calc(100dvh - 280px);min-height:320px}
}
@media (prefers-reduced-motion:reduce){.apr-ofc-map img{transition:none}.apr-ofc-map:hover img{transform:none}}
