/* Финальные улучшения интерфейса: единые стрелки, мобильное меню, карта и авторский блок. */

/* Типографские стрелки с text-variation selector: выглядят как на десктопе,
   но iOS/Android не имеют права подменять их цветными emoji. */
.ui-arrow{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  width:1em;
  height:1em;
  flex:0 0 1em;
  overflow:visible;
  color:inherit;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
  font-family:Arial,Helvetica,sans-serif!important;
  font-size:22px!important;
  font-style:normal!important;
  font-weight:400!important;
  line-height:1!important;
  text-rendering:geometricPrecision;
}
.ui-arrow::before{content:"↗︎"!important;display:block!important}
.ui-arrow::after{content:none!important}
.ui-arrow-down::before{content:"↓︎"!important}
.ui-arrow-up::before{content:"↑︎"!important}
.primary-btn .ui-arrow,.manager-button .ui-arrow,.solution-dialog-call .ui-arrow,.price-cta .ui-arrow,.final-submit .ui-arrow{font-size:23px!important}
.extra-service-arrow.ui-arrow{justify-self:end;align-self:start;margin-top:1px;font-size:22px!important}
.project-open-icon .ui-arrow{font-size:20px!important}
.systems-footer .ui-arrow{font-size:21px!important}
.footer-bottom-links .ui-arrow{margin-left:4px;font-size:14px!important;vertical-align:-1px}

/* Убираем прежнюю линию из карточек этапов даже при старом кэше разметки. */
.process-step-line{display:none!important}
.process-step-head{justify-content:flex-start}

/* Телефоны внутри мобильного меню. */
.mobile-nav-phones{display:none}

/* Карта продолжает бело-синюю сеточную стилистику основных блоков сайта. */
.location-section{padding:92px var(--gutter) 104px;background-color:#f8fbff;background-image:linear-gradient(rgba(17,103,216,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(17,103,216,.035) 1px,transparent 1px);background-size:48px 48px;border-top:1px solid rgba(12,35,68,.14);scroll-margin-top:calc(var(--header) + 16px)}
.location-inner{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(0,1.38fr);max-width:1800px;min-height:590px;margin:0 auto;border:1px solid #dbe5f1;border-radius:0 0 28px 28px;overflow:hidden;background:#fff}
.location-card{display:flex;flex-direction:column;padding:clamp(38px,4vw,70px);border-right:1px solid #dbe5f1;background:rgba(255,255,255,.94);color:var(--navy)}
.location-label{display:flex;gap:19px;align-items:baseline;margin-bottom:28px;color:var(--muted);font-size:12px;line-height:1.6;letter-spacing:.1em;text-transform:uppercase}
.location-label span:first-child{color:var(--blue);font-size:16px;font-weight:800;letter-spacing:-.03em}
.location-card h2{margin:0;font-size:clamp(34px,3.7vw,64px);font-weight:800;line-height:1.06;letter-spacing:-.055em;text-transform:uppercase}
.location-card h2 span{color:var(--blue)}
.location-intro{max-width:490px;margin:25px 0 30px;color:var(--muted);font-size:14px;line-height:1.7}
.location-details{margin:0 0 30px}
.location-details>div{display:grid;grid-template-columns:128px 1fr;gap:24px;padding:18px 0;border-top:1px solid #dbe5f1}
.location-details>div:last-child{border-bottom:1px solid #dbe5f1}
.location-details dt{color:var(--blue);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.location-details dd{margin:0;color:var(--navy);font-size:14px;font-style:normal;line-height:1.65}
.location-details a{border-bottom:1px solid rgba(12,35,68,.28)}
.location-route{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;min-height:58px;margin-top:auto;padding:16px 22px;border-radius:999px;background:var(--blue);color:#fff;font-size:13px;font-weight:800;transition:background-color .2s,transform .2s}
.location-route:hover{background:#0b58ba;transform:translateY(-2px)}
.location-map{position:relative;min-width:0;overflow:hidden;background:#e8eef5}
.location-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Аккуратная подпись разработчика в подвале. */
.footer-bottom{display:grid;grid-template-columns:auto minmax(265px,360px) 1fr}
.footer-bottom-links{justify-content:flex-end;align-items:center}
.footer-bottom-links a{display:inline-flex;align-items:center}
.footer-developer{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label arrow" "title arrow";align-items:center;column-gap:18px;padding:12px 16px;border:1px solid rgba(115,184,255,.36);border-radius:12px;background:rgba(17,103,216,.12);color:#fff;transition:background-color .2s,border-color .2s,transform .2s}
.footer-developer>span{grid-area:label;color:#79b6ff;font-size:9px;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.footer-developer>strong{grid-area:title;margin-top:2px;font-size:11px;line-height:1.4;font-weight:700}
.footer-developer>.ui-arrow{grid-area:arrow;font-size:19px!important}
.footer-developer:hover{background:rgba(17,103,216,.3);border-color:rgba(115,184,255,.7);transform:translateY(-1px)}

@media(max-width:1100px){
  .location-inner{grid-template-columns:minmax(340px,.9fr) minmax(0,1.1fr)}
  .footer-bottom{grid-template-columns:1fr 1fr}
  .footer-developer{justify-self:end}
  .footer-bottom-links{grid-column:1/-1;justify-content:flex-start}
}

@media(max-width:800px){
  .main-nav.is-open{padding-bottom:max(22px,env(safe-area-inset-bottom))}
  .mobile-nav-phones{display:grid;gap:7px;margin-top:10px;padding:18px 8px 2px;border-top:1px solid #e1e7ee;white-space:normal}
  .mobile-nav-phones>span{margin-bottom:3px;color:var(--muted);font-size:10px;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}
  .main-nav .mobile-nav-phones>a{min-height:auto!important;padding:1px 0!important;color:var(--navy);font-size:18px;font-weight:800;line-height:1.35;letter-spacing:-.025em}
  .mobile-nav-phones small{margin-top:3px;color:var(--muted);font-size:11px;line-height:1.5}
  .location-section{padding:68px var(--gutter) 76px}
  .location-inner{grid-template-columns:1fr;min-height:0}
  .location-card{padding:42px 34px;border-right:0;border-bottom:1px solid #dbe5f1}
  .location-map{height:480px}
  .footer-bottom{grid-template-columns:1fr 1fr!important;align-items:start!important}
  .footer-developer{justify-self:end}
  .footer-bottom-links{grid-column:1/-1}
}

@media(max-width:580px){
  .ui-arrow{font-size:21px!important}
  .project-open-icon .ui-arrow{font-size:19px!important}
  .location-section{padding:56px var(--gutter) 64px}
  .location-inner{border-radius:0 0 24px 24px}
  .location-card{padding:34px 20px 30px}
  .location-card h2{font-size:clamp(30px,8.7vw,40px);line-height:1.08}
  .location-intro{margin:22px 0 25px;font-size:15px}
  .location-details>div{grid-template-columns:92px 1fr;gap:16px;padding:16px 0}
  .location-details dd{font-size:14px}
  .location-map{height:390px}
  .footer-bottom{grid-template-columns:1fr!important;gap:20px!important}
  .footer-developer{justify-self:stretch;width:100%;max-width:390px}
  .footer-bottom-links{grid-column:auto;gap:10px 17px}
}

@media(max-width:360px){
  .main-nav .mobile-nav-phones>a{font-size:17px}
  .location-card{padding-left:16px;padding-right:16px}
  .location-card h2{font-size:30px}
  .location-details>div{grid-template-columns:1fr;gap:7px}
  .location-map{height:340px}
}

@media(prefers-reduced-motion:reduce){.location-route:hover,.footer-developer:hover{transform:none}}
