@charset "UTF-8";
/* Страница «Контакты» (templates/atomic/php/contacts_page.php), 29.09.2026.
   Цвета и радиусы — как у обновлённых страниц (svc-landing.css). Все правила внутри .ct-page;
   !important на <p>/<h*> — из-за старого style-inner.css (font/padding для всех p внутри .main_full). */

.ct-page {
    --ct-accent: #3977df;
    --ct-accent-dark: #3475dc;
    --ct-ink: #172135;
    --ct-muted: #6c7a90;
    --ct-line: #dbe6f3;
    --ct-soft: #f4f8fd;
    box-sizing: border-box;
    max-width: 900px;
    margin: 0 auto;
    padding: 4px 16px 40px;
    color: var(--ct-ink);
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
    line-height: 1.45;
}
.ct-page *, .ct-page *:before, .ct-page *:after { box-sizing: border-box; }
.ct-page h1, .ct-page h2 { font-family: inherit !important; font-style: normal !important; color: var(--ct-ink) !important; padding: 0 !important; }
.ct-page h1.ct-title { margin: 0 !important; font-size: 36px !important; font-weight: 750 !important; line-height: 1.1 !important; letter-spacing: -.8px; }
.ct-page h2 { margin: 0 0 16px !important; font-size: 24px !important; font-weight: 750 !important; line-height: 1.2 !important; letter-spacing: -.3px; }
.ct-page p { font-family: inherit !important; }
.ct-page p.ct-lead { margin: 12px 0 0 !important; padding: 0 !important; font-size: 17px !important; line-height: 1.45 !important; color: var(--ct-muted) !important; }

.ct-card { margin-top: 28px; padding: 24px; background: #fff; border: 1px solid var(--ct-line); border-radius: 20px; box-shadow: 0 8px 24px rgba(23, 35, 60, .07); }

.ct-rows { display: grid; gap: 12px; }
.ct-rows--next { margin-top: 12px; padding-top: 12px; border-top: 1px solid #edf2f8; }
.ct-row { display: flex; align-items: center; gap: 14px; min-height: 48px; font-size: 16px; line-height: 1.4; color: var(--ct-ink) !important; text-decoration: none !important; }
a.ct-row:hover b, a.ct-row:hover > span:last-child { color: var(--ct-accent-dark); }
.ct-row b { display: block; font-size: 22px; font-weight: 750; letter-spacing: -.2px; color: var(--ct-ink); }
.ct-row small { display: block; margin-top: 1px; font-size: 13px; color: var(--ct-muted); }
.ct-ico { flex: none; width: 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; background: var(--ct-soft); color: var(--ct-accent); }
.ct-ico svg { width: 24px; height: 24px; display: block; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }

.ct-cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; margin-top: 20px; min-height: 54px; padding: 12px 28px; border-radius: 12px; background: var(--ct-accent); color: #fff !important; font-size: 18px; font-weight: 700; text-decoration: none !important; }
.ct-cta:after { content: "→"; font-weight: 400; font-size: 1.15em; }
.ct-cta:hover { background: var(--ct-accent-dark); }

.ct-note { display: flex; align-items: flex-start; gap: 12px; margin-top: 18px; padding: 14px 16px; border: 1px solid #f3d9a4; border-radius: 14px; background: #fff8e9; }
.ct-note .ct-ico { width: 32px; height: 32px; border-radius: 50%; background: #ffe9bd; color: #b7791f; }
.ct-note .ct-ico svg { width: 20px; height: 20px; }
.ct-page .ct-note p { margin: 5px 0 0 !important; padding: 0 !important; font-size: 15px !important; line-height: 1.45 !important; color: #5c4414 !important; }
.ct-note a { color: var(--ct-accent-dark) !important; font-weight: 700; }

.ct-map { margin-top: 18px; overflow: hidden; border-radius: 14px; border: 1px solid var(--ct-line); min-height: 380px; background: var(--ct-soft); }
.ct-map > * { display: block; max-width: 100%; }

.ct-cities { margin-top: 36px; }
.ct-city-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ct-city { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 12px 8px 8px; background: #fff; border: 1px solid var(--ct-line); border-radius: 14px; color: var(--ct-ink) !important; font-size: 16px; font-weight: 600; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.ct-city:hover { border-color: #b9cff0; box-shadow: 0 6px 18px rgba(23, 35, 60, .08); }
.ct-city .ct-ico { width: 40px; height: 40px; border-radius: 11px; }
.ct-city .ct-ico svg { width: 20px; height: 20px; }
.ct-city > span:nth-child(2) { flex: 1; min-width: 0; }
.ct-city-arrow { flex: none; color: #9aabc2; }
.ct-city-arrow svg { width: 18px; height: 18px; display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

@media (min-width: 761px) {
    .ct-main .ct-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ct-office .ct-rows { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .ct-page { padding: 0 0 28px; }
    .ct-page h1.ct-title { font-size: 30px !important; }
    .ct-page h2 { font-size: 21px !important; }
    .ct-card { margin-top: 20px; padding: 18px 16px; border-radius: 18px; }
    .ct-row b { font-size: 20px; }
    .ct-cta { display: flex; width: 100%; }
    .ct-map { min-height: 320px; }
    .ct-city-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .ct-city { min-height: 52px; padding: 6px 10px 6px 6px; font-size: 15px; gap: 9px; line-height: 1.2; }
    .ct-city .ct-ico { width: 32px; height: 32px; border-radius: 9px; }
    .ct-city .ct-ico svg { width: 18px; height: 18px; }
    .ct-city-arrow { display: none; }
}
@media (max-width: 380px) {
    .ct-city-list { grid-template-columns: minmax(0, 1fr); }
}
