/* Локальные шрифты: Manrope 400–800, Unbounded 600–700, кириллица + латиница */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/manrope-800-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/manrope-800-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/unbounded-600-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/unbounded-600-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/unbounded-700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+2116;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/unbounded-700-latin.woff2') format('woff2');unicode-range:U+0020-007E, U+00A0, U+00A9, U+00AB, U+00B7, U+00BB, U+2013, U+2014, U+2019, U+201C-201E, U+2026;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/manrope-400-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/manrope-500-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/manrope-600-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/manrope-700-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('fonts/manrope-800-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:600;font-display:swap;src:url('fonts/unbounded-600-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
@font-face{font-family:'Unbounded';font-style:normal;font-weight:700;font-display:swap;src:url('fonts/unbounded-700-cyrillic-ext.woff2') format('woff2');unicode-range:U+20B4;}
/* =========================================================
   SVOY SERVICE — базовый CSS (день 2)
   Куда: Внешний вид → Настроить → Additional CSS (Kadence)
   ========================================================= */

/* 1. Токены */
:root {
  --svoy-navy: #06294E;
  --svoy-navy-deep: #04203E;
  --svoy-blue: #0B6EDA;
  --svoy-blue-hover: #0952A8;
  --svoy-blue-light: #4D9BF5;
  --svoy-ink: #0D1B2A;
  --svoy-gray: #62676D;
  --svoy-gray-dark: #3E4C5E;
  --svoy-muted: #A9B7C9;
  --svoy-muted-2: #93A7BF;
  --svoy-soft: #F2F5F8;
  --svoy-line: #E2E8F0;
  --svoy-line-input: #8391A3; /* граница полей: 3.2:1 к белому (WCAG 1.4.11) */
  --svoy-line-btn: #CFD8E3;  /* рамка вторичных кнопок и карточек-ссылок */
  --svoy-tint: #EAF2FD;
  --svoy-radius: 4px;
  --svoy-gap: 24px;
  --svoy-section-y: 80px;
  --svoy-font-head: 'Unbounded', sans-serif;
  --svoy-font-body: 'Manrope', sans-serif;
}

/* 2. Типографика */
body {
  font-family: var(--svoy-font-body);
  font-size: 16px;
  line-height: 1.55;
  color: var(--svoy-ink);
}
h1, h2, .svoy-h1, .svoy-h2 {
  font-family: var(--svoy-font-head);
  color: inherit;
}
h1, .svoy-h1 { font-size: 44px; font-weight: 700; line-height: 1.18; }
h2, .svoy-h2 { font-size: 34px; font-weight: 600; line-height: 1.2; }
h3 { font-family: var(--svoy-font-body); font-size: 19px; font-weight: 800; line-height: 1.3; }

.svoy-label { /* метки верхним регистром */
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

a { color: var(--svoy-blue); }
a:hover { color: var(--svoy-blue-hover); }

/* 3. Кнопки: радиус 4px, без теней, без подъёма */
.button,
.wp-block-button__link,
.kb-button,
.header-button,
.elementor-button,
.fluentform button[type="submit"],
.ff-btn-submit {
  font-family: var(--svoy-font-body) !important;
  font-weight: 700 !important;
  border-radius: var(--svoy-radius) !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease !important;
}

/* основная */
.svoy-btn,
.header-button,
.fluentform button[type="submit"],
.ff-btn-submit {
  background: var(--svoy-blue) !important;
  color: #fff !important;
  border: 1px solid var(--svoy-blue) !important;
}
.svoy-btn, .ff-btn-submit { min-height: 56px; padding: 0 28px; }
.svoy-btn:hover,
.header-button:hover,
.fluentform button[type="submit"]:hover,
.ff-btn-submit:hover {
  background: var(--svoy-blue-hover) !important;
  border-color: var(--svoy-blue-hover) !important;
}

/* вторичная на тёмном */
.svoy-btn-dark {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid #3E5A7D !important;
}
.svoy-btn-dark:hover { border-color: #fff !important; }

/* вторичная на светлом */
.svoy-btn-light {
  background: #fff !important;
  color: var(--svoy-blue) !important;
  border: 1px solid var(--svoy-line-btn) !important;
}
.svoy-btn-light:hover { border-color: var(--svoy-blue) !important; }

/* 4. Поля форм */
input[type="text"],
input[type="tel"],
input[type="email"],
select,
textarea {
  box-sizing: border-box;
  max-width: 100%;
  font-family: var(--svoy-font-body);
  font-size: 15px;
  color: var(--svoy-ink);
  background: #fff;
  border: 1px solid var(--svoy-line-input) !important;
  border-radius: var(--svoy-radius) !important;
  box-shadow: none !important;
  padding: 0 16px;
}
input[type="text"],
input[type="tel"],
input[type="email"],
select { height: 52px; }
textarea { padding: 14px 16px; min-height: 96px; }

html { scroll-padding-top: 84px; } /* якоря не прячутся под липкой шапкой */
@media (max-width: 1024px) { html { scroll-padding-top: 76px; } }

label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  color: var(--svoy-ink);
  line-height: 1.3;
  margin-bottom: 8px;
}

/* 5. Фокус — не убирать */
a:focus-visible,
button:focus-visible,
.button:focus-visible,
.elementor-button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--svoy-blue) !important;
  outline-offset: 2px;
}
input:focus,
select:focus,
textarea:focus { border-color: var(--svoy-blue) !important; }

/* 6. Карточки */
.svoy-card {
  background: #fff;
  border: 1px solid var(--svoy-line);
  border-radius: var(--svoy-radius);
  box-shadow: none;
  padding: 28px;
}
.svoy-icon-box {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--svoy-tint);
  color: var(--svoy-blue);
  border-radius: var(--svoy-radius);
}

/* 7. Планшет */
@media (max-width: 1199px) {
  :root { --svoy-section-y: 64px; }
}

/* 8. Телефон */
@media (max-width: 767px) {
  :root { --svoy-section-y: 44px; }
  body { font-size: 15px; }
  h1, .svoy-h1 { font-size: 30px; }
  h2, .svoy-h2 { font-size: 26px; }
  input[type="text"],
  input[type="tel"],
  input[type="email"],
  select { height: 50px; }
  input, select, textarea { font-size: 16px !important; } /* iOS не зумит */
}
/* =========================================================
   SVOY SERVICE — блоки главной (день 4–5)
   Куда: Внешний вид → Настроить → Additional CSS,
   ПОСЛЕ базового svoy-custom.css
   ========================================================= */

/* Общая обёртка: 1280 контента + поля 80 */
.svoy-sec { position: relative; font-family: var(--svoy-font-body, 'Manrope', sans-serif); }
.svoy-sec *, .svoy-sec *::before, .svoy-sec *::after { box-sizing: border-box; }
.svoy-sec :is(h1, h2, h3, h4, p, ul, li) { margin: 0; padding: 0; }
.svoy-sec :is(h1, h2, h3, h4)::before, .svoy-sec :is(h1, h2, h3, h4)::after { content: none; }
.svoy-wrap { position: relative; max-width: 1440px; margin: 0 auto; padding: 0 80px; }
.svoy-sec svg { display: block; flex-shrink: 0; }
.svoy-h2 { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 34px; line-height: 1.2; letter-spacing: -0.01em; color: var(--svoy-ink); }
.svoy-sec .svoy-sub { margin-top: 12px; font-size: 16px; line-height: 1.55; color: var(--svoy-gray); }

/* ---------- 1. Хиро ---------- */
.svoy-hero { background: var(--svoy-navy); overflow: hidden; }
.svoy-hero .svoy-wrap { height: 620px; display: flex; align-items: center; gap: 60px; }
.svoy-hero__bg span { position: absolute; top: 0; height: 100%; transform: skewX(-18deg); }
.svoy-hero__bg .s1 { right: -1240px; width: 1880px; background: #0A3160; }
.svoy-hero__bg .s2 { right: 596px; width: 18px; background: var(--svoy-blue); }
.svoy-hero__bg .s3 { right: 634px; width: 8px; background: var(--svoy-blue); opacity: .45; }
.svoy-hero__text { position: relative; z-index: 1; width: 600px; flex-shrink: 0; display: flex; flex-direction: column; gap: 22px; }
.svoy-hero__loc { display: flex; align-items: center; gap: 8px; color: var(--svoy-muted-2); font-size: 13px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.svoy-hero h1 { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 44px; line-height: 1.18; letter-spacing: -0.01em; color: #fff; }
.svoy-hero__lead { max-width: 520px; font-size: 18px; line-height: 1.6; color: #C2CEDD; }
.svoy-hero__btns { display: flex; align-items: center; gap: 14px; padding-top: 6px; }
.svoy-hero__btns a { display: inline-flex; align-items: center; justify-content: center; gap: 10px; height: 56px; padding: 0 30px; font-size: 16px; font-weight: 700; text-decoration: none; border-radius: 4px; transition: background-color .15s ease, border-color .15s ease; }
.svoy-hero__btns .b1 { background: var(--svoy-blue); color: #fff; }
.svoy-hero__btns .b1:hover { background: var(--svoy-blue-hover); color: #fff; }
.svoy-hero__btns .b2 { padding: 0 26px; border: 1px solid #3E5A7D; color: #fff; }
.svoy-hero__btns .b2:hover { border-color: #fff; color: #fff; }
.svoy-hero__hours { display: flex; align-items: center; gap: 22px; margin-top: 10px; padding-top: 22px; border-top: 1px solid #1B4571; font-size: 14px; font-weight: 600; color: #C2CEDD; }
.svoy-hero__hours span:first-child { display: flex; align-items: center; gap: 8px; }
.svoy-hero__hours svg { color: var(--svoy-muted-2); }
.svoy-hero__media { position: relative; z-index: 1; flex-grow: 1; height: 420px; }
.svoy-hero__media img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; display: block; }

/* ---------- 2. Переваги ---------- */
.svoy-adv { background: #fff; }
.svoy-adv .svoy-wrap { padding-top: 72px; padding-bottom: 72px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.svoy-adv__item { display: flex; flex-direction: column; gap: 14px; }
.svoy-adv__ic { width: 44px; height: 44px; border-radius: 4px; background: var(--svoy-tint); color: var(--svoy-blue); display: flex; align-items: center; justify-content: center; }
.svoy-adv h3 { font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--svoy-ink); }
.svoy-adv p { font-size: 15px; line-height: 1.55; color: var(--svoy-gray); }

/* ---------- 3. Послуги ---------- */
.svoy-srv { background: var(--svoy-soft); }
.svoy-srv .svoy-wrap { padding-top: 80px; padding-bottom: 80px; }
.svoy-srv__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; }
.svoy-srv__all { display: inline-flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; color: var(--svoy-blue); text-decoration: none; white-space: nowrap; min-height: 44px; }
.svoy-srv__all:hover { color: var(--svoy-blue-hover); }
.svoy-srv__all--mob { display: none; }
.svoy-srv__grid { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 240px; gap: 24px; }
.svoy-srv__card { padding: 28px; background: #fff; border: 1px solid var(--svoy-line); border-radius: 4px; text-decoration: none; display: flex; flex-direction: column; gap: 12px; transition: border-color .15s ease; }
.svoy-srv__card:hover { border-color: var(--svoy-blue); }
.svoy-srv__ic { color: var(--svoy-blue); }
.svoy-srv__ic svg { width: 32px; height: 32px; }
.svoy-srv__body { flex-grow: 1; display: flex; flex-direction: column; gap: 12px; }
.svoy-srv h3 { font-size: 19px; font-weight: 800; line-height: 1.3; color: var(--svoy-ink); }
.svoy-srv p { font-size: 15px; line-height: 1.55; color: var(--svoy-gray); }
.svoy-srv__price { font-size: 15px; font-weight: 700; color: var(--svoy-blue); white-space: nowrap; }

/* ---------- 4. Як ми працюємо ---------- */
.svoy-how { background: var(--svoy-navy); }
.svoy-how .svoy-wrap { padding-top: 72px; padding-bottom: 72px; }
.svoy-how .svoy-h2 { font-size: 32px; color: #fff; }
.svoy-how .svoy-sub { color: var(--svoy-muted-2); }
.svoy-how__grid { margin-top: 36px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; }
.svoy-how__step { display: flex; flex-direction: column; gap: 10px; }
.svoy-how__num { font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 40px; line-height: 1; color: var(--svoy-blue-light); }
.svoy-how h3 { font-size: 18px; font-weight: 800; line-height: 1.3; color: #fff; }
.svoy-how p { font-size: 15px; line-height: 1.55; color: var(--svoy-muted); }

/* ---------- 5. Форма и контакты ---------- */
/* Контейнер Elementor с классом svoy-contact (см. README) */
.svoy-contact-head .svoy-h2 { font-size: 32px; }
.svoy-sec.svoy-contact-head { margin-bottom: 28px; }
p.svoy-sec.svoy-contact-note { margin: 14px 0 0; max-width: 300px; font-size: 13px; line-height: 1.45; color: var(--svoy-gray); }
.svoy-contact-note a { color: inherit; }
.svoy-map { height: 268px; border-radius: 4px; overflow: hidden; background: var(--svoy-soft); }
.svoy-map iframe { display: block; width: 100%; height: 100%; border: 0; }
.svoy-sec .svoy-card-contacts { margin-top: 24px; padding: 28px; background: var(--svoy-navy); border-radius: 4px; display: flex; flex-direction: column; gap: 18px; }
.svoy-card-contacts__row { display: flex; gap: 14px; }
.svoy-card-contacts__row svg { color: var(--svoy-blue-light); }
.svoy-card-contacts__row div { display: flex; flex-direction: column; gap: 3px; }
.svoy-card-contacts .svoy-label { color: var(--svoy-muted-2); }
.svoy-card-contacts__val { font-size: 16px; font-weight: 700; color: #fff; text-decoration: none; }
a.svoy-card-contacts__val:hover { color: var(--svoy-blue-light); }

/* Fluent Forms под макет: 2 колонки, подписи, отступы */
.svoy-contact .fluentform .ff-el-group { margin-bottom: 16px; }
.svoy-contact .fluentform .ff-el-input--label label { font-size: 14px; font-weight: 700; color: var(--svoy-ink); margin-bottom: 8px; }
.svoy-contact .fluentform .ff-t-container { gap: 16px; }
.svoy-contact .fluentform .ff-el-form-control { width: 100%; }
.svoy-contact .fluentform textarea.ff-el-form-control { height: 92px; resize: none; }
.svoy-contact .fluentform .ff_submit_btn_wrapper { margin-top: 6px; margin-bottom: 0; }
.svoy-contact .ff-message-success { border: 1px solid var(--svoy-line); border-radius: 4px; box-shadow: none; padding: 24px; font-size: 16px; font-weight: 700; color: var(--svoy-ink); }

/* =========================================================
   Планшет 768–1199
   ========================================================= */
@media (max-width: 1199px) {
  .svoy-wrap { padding: 0 40px; }
  .svoy-hero .svoy-wrap { height: auto; min-height: 560px; padding-top: 64px; padding-bottom: 64px; gap: 40px; }
  .svoy-hero__text { width: 55%; }
  .svoy-hero__media { height: 380px; }
  .svoy-hero__bg .s2, .svoy-hero__bg .s3 { right: 42%; }
  .svoy-hero__btns { flex-wrap: wrap; }
  .svoy-adv .svoy-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-top: 56px; padding-bottom: 56px; }
  .svoy-srv .svoy-wrap { padding-top: 64px; padding-bottom: 64px; }
  .svoy-srv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: auto; }
  .svoy-how .svoy-wrap { padding-top: 56px; padding-bottom: 56px; }
  .svoy-how__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
}

/* =========================================================
   Телефон до 767
   ========================================================= */
@media (max-width: 767px) {
  .svoy-wrap { padding: 0 20px; }
  .svoy-h2, .svoy-how .svoy-h2, .svoy-contact-head .svoy-h2 { font-size: 26px; }
  .svoy-sec .svoy-sub { margin-top: 10px; font-size: 15px; line-height: 1.5; }

  /* хиро: без фото, кнопки на всю ширину */
  .svoy-hero .svoy-wrap { display: block; min-height: 0; padding-top: 36px; padding-bottom: 36px; }
  .svoy-hero__media { display: none; }
  .svoy-hero__text { width: auto; gap: 0; }
  .svoy-hero__loc { font-size: 12px; letter-spacing: .08em; gap: 7px; }
  .svoy-sec.svoy-hero h1 { margin-top: 14px; font-size: 30px; line-height: 1.2; }
  .svoy-hero .svoy-hero__lead { margin-top: 16px; font-size: 15px; }
  .svoy-hero__btns { flex-direction: column; align-items: stretch; gap: 10px; padding-top: 24px; }
  .svoy-hero__btns a { width: 100%; height: 54px; }
  .svoy-hero__btns .b2 { height: 52px; }
  .svoy-hero__hours { margin-top: 20px; padding-top: 18px; font-size: 13px; flex-wrap: wrap; gap: 4px 12px; }
  .svoy-hero__bg .s1 { right: -150px; width: 300px; }
  .svoy-hero__bg .s2 { right: 70px; width: 10px; }
  .svoy-hero__bg .s3 { display: none; }

  /* переваги 2×2 */
  .svoy-adv .svoy-wrap { gap: 20px; padding-top: 40px; padding-bottom: 40px; }
  .svoy-adv__item { gap: 10px; }
  .svoy-adv__ic { width: 38px; height: 38px; }
  .svoy-adv__ic svg { width: 21px; height: 21px; }
  .svoy-adv h3 { font-size: 15px; }
  .svoy-adv p { font-size: 13px; line-height: 1.5; }

  /* послуги: компактные карточки в колонку */
  .svoy-srv .svoy-wrap { padding-top: 48px; padding-bottom: 48px; }
  .svoy-srv__head { display: block; }
  .svoy-srv__head .svoy-srv__all { display: none; }
  .svoy-srv__grid { margin-top: 24px; grid-template-columns: 1fr; gap: 12px; }
  .svoy-srv__card { padding: 16px; flex-direction: row; align-items: flex-start; gap: 14px; }
  .svoy-srv__ic { width: 40px; height: 40px; flex-shrink: 0; border-radius: 4px; background: var(--svoy-tint); display: flex; align-items: center; justify-content: center; }
  .svoy-srv__ic svg { width: 22px; height: 22px; }
  .svoy-srv__body { gap: 4px; }
  .svoy-srv h3 { font-size: 16px; }
  .svoy-srv p { font-size: 13px; line-height: 1.45; }
  .svoy-srv__price { font-size: 13px; }
  .svoy-srv__all--mob { display: flex; justify-content: center; margin-top: 16px; height: 50px; border: 1px solid var(--svoy-line-btn); background: #fff; border-radius: 4px; font-size: 15px; }

  /* як ми працюємо: номер слева */
  .svoy-how .svoy-wrap { padding-top: 44px; padding-bottom: 44px; }
  .svoy-how__grid { margin-top: 26px; grid-template-columns: 1fr; gap: 18px; }
  .svoy-how__step { display: grid; grid-template-columns: 46px 1fr; column-gap: 16px; row-gap: 5px; }
  .svoy-how__num { grid-row: span 2; font-size: 26px; line-height: 1.1; }
  .svoy-how h3 { font-size: 16px; }
  .svoy-how p { font-size: 14px; line-height: 1.5; }

  /* контакты */
  .svoy-sec.svoy-contact-head { margin-bottom: 22px; }
  p.svoy-sec.svoy-contact-note { max-width: none; font-size: 12px; }
  .svoy-card-contacts { padding: 22px 20px; }
  .svoy-contact .ff-btn-submit { width: 100%; height: 54px; }
}

/* =========================================================
   СТРАНИЦА «ПОСЛУГИ ТА ЦІНИ»
   ========================================================= */

/* ---------- Шапка страницы ---------- */
.svoy-phead { background: var(--svoy-navy); overflow: hidden; }
.svoy-phead .svoy-wrap { height: 200px; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.svoy-phead__bg span { position: absolute; top: 0; height: 100%; transform: skewX(-18deg); }
.svoy-phead__bg .s1 { right: -1120px; width: 1420px; background: #0A3160; }
.svoy-phead__bg .s2 { right: 300px; width: 14px; background: var(--svoy-blue); }
.svoy-crumbs { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; font-size: 14px; }
.svoy-crumbs a { color: var(--svoy-muted-2); text-decoration: none; }
.svoy-crumbs a:hover { color: #fff; }
.svoy-crumbs span[aria-hidden] { color: #5C7A9E; }
.svoy-crumbs [aria-current] { color: #C2CEDD; }
.svoy-phead h1 { position: relative; z-index: 1; font-family: 'Unbounded', sans-serif; font-weight: 700; font-size: 38px; line-height: 1.2; letter-spacing: -0.01em; color: #fff; }
.svoy-phead p { position: relative; z-index: 1; max-width: 700px; font-size: 16px; line-height: 1.55; color: var(--svoy-muted); }

/* ---------- Прайс ---------- */
.svoy-price { background: var(--svoy-soft); }
.svoy-price .svoy-wrap { padding-top: 80px; padding-bottom: 80px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
.svoy-price__card { padding: 28px 30px; background: #fff; border: 1px solid var(--svoy-line); border-radius: 4px; }
.svoy-price__head { display: flex; align-items: center; gap: 14px; }
.svoy-price__head .svoy-adv__ic { flex-shrink: 0; }
.svoy-price h2 { font-family: var(--svoy-font-body, 'Manrope', sans-serif); font-size: 21px; font-weight: 800; line-height: 1.3; color: var(--svoy-ink); }
.svoy-sec.svoy-price ul { margin: 20px 0 0; padding: 0; list-style: none; }
.svoy-sec.svoy-price li { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 9px 0; border-bottom: 1px solid #EEF2F6; font-size: 15px; line-height: 1.45; }
.svoy-price li:last-child { border-bottom: 0; }
.svoy-price li span:first-child { color: var(--svoy-gray-dark); }
.svoy-price li span:last-child { font-weight: 700; color: var(--svoy-ink); white-space: nowrap; }

/* ---------- Блок-заклик ---------- */
.svoy-cta { background: var(--svoy-blue); }
.svoy-cta .svoy-wrap { height: 280px; display: flex; align-items: center; justify-content: space-between; gap: 60px; }
.svoy-cta__text { display: flex; flex-direction: column; gap: 14px; }
.svoy-cta h2 { font-family: 'Unbounded', sans-serif; font-weight: 600; font-size: 30px; line-height: 1.2; letter-spacing: -0.01em; color: #fff; }
.svoy-cta p { max-width: 620px; font-size: 17px; line-height: 1.55; color: #fff; }
.svoy-cta__btns { display: flex; flex-direction: column; gap: 14px; flex-shrink: 0; }
.svoy-cta__btns a { display: flex; align-items: center; justify-content: center; padding: 0 40px; border-radius: 4px; text-decoration: none; white-space: nowrap; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.svoy-cta__btns .b1 { height: 60px; background: #fff; color: var(--svoy-navy); font-size: 18px; font-weight: 800; }
.svoy-cta__btns .b1:hover { background: var(--svoy-tint); color: var(--svoy-navy); }
.svoy-cta__btns .b2 { height: 54px; border: 1px solid #8FC0F7; color: #fff; font-size: 16px; font-weight: 700; }
.svoy-cta__btns .b2:hover { border-color: #fff; color: #fff; }
.svoy-cta a:focus-visible { outline-color: #fff !important; }

@media (max-width: 1199px) {
  .svoy-price .svoy-wrap { grid-template-columns: 1fr; gap: 24px; padding-top: 56px; padding-bottom: 56px; }
  .svoy-cta .svoy-wrap { height: auto; padding-top: 56px; padding-bottom: 56px; gap: 40px; }
}

@media (max-width: 767px) {
  .svoy-phead .svoy-wrap { height: auto; padding-top: 32px; padding-bottom: 32px; gap: 12px; }
  .svoy-phead__bg .s1 { right: -150px; width: 260px; }
  .svoy-phead__bg .s2 { right: 60px; width: 10px; }
  .svoy-crumbs { font-size: 13px; }
  .svoy-phead h1 { font-size: 28px; }
  .svoy-phead p { font-size: 14px; }

  .svoy-price .svoy-wrap { gap: 16px; padding-top: 32px; padding-bottom: 40px; }
  .svoy-price__card { padding: 20px 18px; }
  .svoy-price__head .svoy-adv__ic { width: 40px; height: 40px; }
  .svoy-price h2 { font-size: 18px; }
  .svoy-sec.svoy-price ul { margin-top: 12px; }
  .svoy-sec.svoy-price li { font-size: 14px; gap: 12px; padding: 10px 0; }

  .svoy-cta .svoy-wrap { display: block; padding-top: 44px; padding-bottom: 44px; }
  .svoy-cta h2 { font-size: 24px; }
  .svoy-cta p { font-size: 15px; }
  .svoy-cta__btns { margin-top: 24px; gap: 10px; }
  .svoy-cta__btns a { padding: 0 16px; }
  .svoy-cta__btns .b1 { height: 56px; font-size: 17px; }
  .svoy-cta__btns .b2 { height: 52px; }
}

/* ---------- Контейнер формы и контактов (Elementor) ----------
   Внешнему контейнеру класс svoy-contact, внутренним — svoy-contact__form и svoy-contact__side.
   Отступы, ширины и перестроение на мобильном задаются здесь, в Elementor ничего крутить не нужно. */
body .elementor .e-con.svoy-contact {
  --content-width: 1280px;
  --flex-direction: row; --flex-wrap: nowrap;
  --gap: 64px; --row-gap: 64px; --column-gap: 64px;
  --padding-top: 80px; --padding-bottom: 80px; --padding-left: 80px; --padding-right: 80px;
  --align-items: flex-start;
  background: #fff;
}
body .elementor .e-con.svoy-contact__form { --width: 660px; --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; --gap: 0; --row-gap: 0; flex: 0 0 660px; max-width: 660px; }
body .elementor .e-con.svoy-contact__side { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; flex: 1 1 0; min-width: 0; }
.svoy-contact .elementor-widget { margin: 0; }
@media (max-width: 1199px) {
  body .elementor .e-con.svoy-contact { --flex-direction: column; --gap: 40px; --row-gap: 40px; --padding-top: 56px; --padding-bottom: 56px; --padding-left: 40px; --padding-right: 40px; --align-items: stretch; }
  body .elementor .e-con.svoy-contact__form { flex: 1 1 auto; max-width: none; width: 100%; --width: 100%; }
  body .elementor .e-con.svoy-contact__side { width: 100%; }
}
@media (max-width: 767px) {
  body .elementor .e-con.svoy-contact { --padding-top: 44px; --padding-bottom: 44px; --padding-left: 20px; --padding-right: 20px; }
}

/* Fluent Forms: одинаковая высота полей и без лишних отступов (после прогона) */
.svoy-contact .fluentform select.ff-el-form-control,
.svoy-contact .fluentform input.ff-el-form-control { height: 52px; min-height: 52px; padding: 0 16px; font-size: 15px; line-height: 1.4; }
.svoy-contact .fluentform select.ff-el-form-control { padding-right: 36px; }
.svoy-contact .fluentform .ff-el-form-control::placeholder { color: #6B7480; opacity: 1; }
.svoy-contact .fluentform form, .svoy-contact .fluentform .ff_submit_btn_wrapper { margin-bottom: 0; }
.svoy-contact .fluentform .ff-el-is-required.asterisk-right label::after { color: var(--svoy-blue); }
@media (max-width: 767px) {
  .svoy-contact .fluentform select.ff-el-form-control,
  .svoy-contact .fluentform input.ff-el-form-control { height: 50px; min-height: 50px; font-size: 16px; }
  .svoy-contact .fluentform textarea.ff-el-form-control { font-size: 16px; }
}

/* Заголовок только для скринридеров (порядок заголовков h1 → h2 → h3) */
.svoy-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Зоны нажатия ≥ 44px (по итогам проверки) */
.svoy-crumbs a, .svoy-card-contacts__val[href], p.svoy-sec.svoy-contact-note a { display: inline-flex; align-items: center; min-height: 44px; }
.svoy-crumbs { min-height: 44px; }
.svoy-card-contacts { gap: 8px; }
p.svoy-sec.svoy-contact-note a { min-height: 24px; padding: 10px 0; margin: -10px 0; }
/* =========================================================
   ШАПКА, ПОДВАЛ, МОБИЛЬНАЯ ПОЛОСА (день 3)
   ========================================================= */

/* ---------- Шапка ---------- */
#masthead .site-main-header-wrap .site-header-row-container-inner { border-bottom: 1px solid var(--svoy-line); box-shadow: none; }
#masthead .header-navigation .menu > li > a { font-family: var(--svoy-font-body); font-size: 15px; font-weight: 500; color: var(--svoy-gray-dark); text-decoration: none; }
#masthead .header-navigation .menu > li > a:hover { color: var(--svoy-blue); }
#masthead .header-navigation .menu > li.current-menu-item > a { font-weight: 700; color: var(--svoy-ink); }
#masthead .header-navigation .menu > li.current-menu-item > a:hover { color: var(--svoy-blue); }
#masthead .header-navigation .menu > li > a::after { display: none; } /* без подчёркивания */

/* переключатель языка УКР / РУС (Polylang, пункты меню с классом lang-item) */
#masthead .menu .lang-item > a { font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--svoy-gray); font-weight: 600; }
#masthead .menu .lang-item.current-lang > a { color: var(--svoy-ink); font-weight: 700; }
#masthead .menu .lang-item.lang-item-first { margin-left: 4px; padding-left: 20px; border-left: 1px solid var(--svoy-line); }
#masthead .menu .lang-item + .lang-item::before { content: "/"; color: #C3CBD6; margin-right: 2px; font-size: 13px; }

/* телефон в шапке */
.svoy-tel-head { font-family: var(--svoy-font-body); font-size: 17px; font-weight: 800; color: var(--svoy-ink) !important; text-decoration: none !important; white-space: nowrap; }
.svoy-tel-head:hover { color: var(--svoy-blue) !important; }

/* липкая шапка: без тени */
#masthead .kadence-sticky-header.item-is-stuck,
#masthead .item-is-stuck .site-header-row-container-inner { box-shadow: none !important; }

/* мобильная шапка: иконки 44×44 */
#mobile-header .menu-toggle-open { width: 44px; height: 44px; padding: 0; display: inline-flex; align-items: center; justify-content: center; background: var(--svoy-blue); color: #fff; border-radius: var(--svoy-radius); }
#mobile-header .menu-toggle-open:hover { background: var(--svoy-blue-hover); color: #fff; }
.svoy-tel-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--svoy-line-btn); border-radius: var(--svoy-radius); color: var(--svoy-ink); }
.svoy-tel-icon:hover { border-color: var(--svoy-blue); color: var(--svoy-blue); }

/* ---------- Подвал ---------- */
#colophon { background: var(--svoy-navy-deep); color: #DCE4EE; font-size: 15px; }
#colophon .site-footer-row-container-inner { background: transparent; }
#colophon a { color: #DCE4EE; text-decoration: none; }
#colophon a:hover { color: #fff; }
#colophon .widget-title, .svoy-foot-label { font-family: var(--svoy-font-body); font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--svoy-muted-2); margin: 0 0 12px; }
.svoy-foot-brand img { width: 148px; height: auto; display: block; }
.svoy-foot-brand p { margin: 18px 0 0; font-size: 15px; line-height: 1.55; color: var(--svoy-muted); }
.svoy-foot-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; }
.svoy-foot-list .svoy-foot-tel { font-weight: 700; color: #fff; }
#colophon .site-bottom-footer-inner-wrap { border-top: 1px solid #14375E; }
.svoy-foot-bottom { display: flex; width: 100%; justify-content: space-between; gap: 16px; font-size: 13px; color: #7E93AC; }
.svoy-foot-bottom a { color: #7E93AC !important; }

/* ---------- Мобильная полоса звонка ---------- */
.svoy-callbar { display: none; }
@media (max-width: 767px) {
  .svoy-callbar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom));
    min-height: 64px; background: #fff;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, .08);
  }
  .svoy-callbar--single { grid-template-columns: 1fr; }
  .svoy-callbar a { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: var(--svoy-radius); font-size: 16px; font-weight: 700; text-decoration: none; }
  .svoy-callbar__call { background: var(--svoy-blue); color: #fff !important; }
  .svoy-callbar__viber { background: #fff; color: #5E4FC7 !important; border: 1px solid var(--svoy-line-btn); }
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }

  .svoy-foot-bottom { flex-direction: column; }
}

/* Подвал: первая колонка 360px как в макете */
@media (min-width: 1025px) {
  #colophon .site-middle-footer-inner-wrap.site-footer-row-columns-4 { grid-template-columns: 360px 1fr 1fr 1fr; column-gap: 80px; }
}
#colophon .site-middle-footer-wrap .site-footer-row-container-inner { padding-top: 48px; padding-bottom: 32px; }
#colophon .footer-widget-area .widget { margin-bottom: 0; }

/* Правки после прогона на WordPress */
.svoy-nw { white-space: nowrap; }
#masthead .header-button { display: inline-flex; align-items: center; justify-content: center; height: 46px; min-height: 46px; padding: 0 24px; font-size: 15px; line-height: 1; }
#colophon .svoy-foot-list { padding: 0 !important; margin: 0 !important; list-style: none; }
#colophon .svoy-foot-list li { margin: 0; padding: 0; }
#colophon .svoy-foot-brand p, #colophon .svoy-foot-label { margin-top: 0; }
#colophon .svoy-foot-brand p { margin-top: 18px; }

/* Фокус с клавиатуры — явными свойствами (Kadence перебивал сокращённую запись) */
html body a:focus-visible, html body button:focus-visible, html body input:focus-visible, html body select:focus-visible, html body textarea:focus-visible, html body [tabindex]:focus-visible {
  outline-style: solid !important; outline-width: 2px !important; outline-color: var(--svoy-blue) !important; outline-offset: 2px !important;
}
.svoy-hero a:focus-visible, .svoy-how a:focus-visible, .svoy-cta a:focus-visible, .svoy-phead a:focus-visible, #colophon a:focus-visible, .svoy-card-contacts a:focus-visible, #mobile-drawer a:focus-visible { outline-color: #fff !important; }

/* Мобильное меню (выезжающая панель) в цветах бренда */
#mobile-drawer .drawer-inner { background: var(--svoy-navy) !important; }
#mobile-drawer .drawer-header .drawer-toggle { color: #fff; width: 44px; height: 44px; }
#mobile-drawer .mobile-navigation ul li > a, #mobile-drawer .mobile-navigation ul li .drawer-nav-drop-wrap > a { color: #fff !important; font-family: var(--svoy-font-body); font-size: 18px; font-weight: 700; text-decoration: none; min-height: 52px; display: flex; align-items: center; }
#mobile-drawer .mobile-navigation ul li.current-menu-item > a { color: var(--svoy-blue-light) !important; }
#mobile-drawer .mobile-navigation ul li { border-bottom-color: #1B4571 !important; }

/* Зоны нажатия ≥ 44px: меню, телефон в шапке, ссылки подвала */
#masthead .header-navigation .menu > li > a { min-height: 44px; display: flex; align-items: center; }
.svoy-tel-head { display: inline-flex; align-items: center; min-height: 44px; }
#colophon .svoy-foot-list { gap: 0 !important; }
#colophon .svoy-foot-list a { display: inline-flex; align-items: center; min-height: 44px; }
#colophon .svoy-foot-list li:not(:has(a)) { padding: 8px 0; }
.svoy-foot-bottom a { display: inline-flex; align-items: center; min-height: 44px; }

/* =========================================================
   СИНИЙ БЛОК «ЗАПИСАТИСЬ» С ФОРМОЙ (страницы услуг и прайс)
   ========================================================= */
.svoy-cta--form .svoy-wrap { height: auto; min-height: 280px; padding-top: 56px; padding-bottom: 56px; align-items: center; }
.svoy-cta--form .svoy-cta__text { flex: 1 1 auto; max-width: 560px; }
.svoy-cta p.svoy-cta__call { font-size: 15px; color: rgba(255,255,255,.88); }
.svoy-cta__call a { color: #fff; font-weight: 800; white-space: nowrap; text-decoration: underline; text-decoration-color: rgba(255,255,255,.5); text-underline-offset: 3px; }
.svoy-cta__call a:hover { text-decoration-color: #fff; }
.svoy-cta__form { flex: 0 0 520px; min-width: 0; }
.svoy-cta__form .fluentform form { margin: 0; }
.svoy-cta__form .fluentform .ff-el-group { margin-bottom: 14px; }
.svoy-cta__form .fluentform .ff-t-container { gap: 14px; }
.svoy-cta__form .fluentform .ff-el-input--label label { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.svoy-cta__form .fluentform .ff-el-is-required.asterisk-right label::after { color: #fff; }
.svoy-cta__form .fluentform input.ff-el-form-control { width: 100%; font-family: var(--svoy-font-body); height: 54px; min-height: 54px; padding: 0 16px; font-size: 16px; line-height: 1.4; color: var(--svoy-ink); background: #fff; border: 1px solid #fff; border-radius: var(--svoy-radius); box-shadow: none; }
.svoy-cta__form .fluentform input.ff-el-form-control::placeholder { color: #6B7480; opacity: 1; }
.svoy-cta__form .fluentform input.ff-el-form-control:focus { border-color: #fff; outline: 3px solid rgba(255,255,255,.55); outline-offset: 1px; }
.svoy-cta__form .fluentform .ff-el-is-error .ff-el-form-control { border-color: #FFB4B4; }
.svoy-cta__form .fluentform .error { margin-top: 6px; font-size: 13px; font-weight: 600; color: #FFE3E3; }
.svoy-cta__form .fluentform .ff_submit_btn_wrapper { margin: 4px 0 0; }
.svoy-cta__form .fluentform button[type="submit"],
.svoy-cta__form .ff-btn-submit { width: 100%; height: 56px; font-size: 17px; background: var(--svoy-navy) !important; border-color: var(--svoy-navy) !important; color: #fff !important; }
.svoy-cta__form .fluentform button[type="submit"]:hover,
.svoy-cta__form .ff-btn-submit:hover { background: var(--svoy-navy-deep) !important; border-color: var(--svoy-navy-deep) !important; }
.svoy-cta__form .fluentform button[type="submit"]:focus-visible { outline: 3px solid #fff !important; outline-offset: 2px; }
.svoy-cta__form .ff-message-success { margin: 0; padding: 20px 22px; font-size: 16px; line-height: 1.5; color: var(--svoy-ink); background: #fff; border: 0; border-radius: var(--svoy-radius); box-shadow: none; }
.svoy-cta p.svoy-cta__note { margin-top: 12px; max-width: none; font-size: 12px; line-height: 1.45; color: rgba(255,255,255,.82); }
.svoy-cta__note a { color: #fff; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 1100px) {
  .svoy-cta--form .svoy-wrap { flex-direction: column; align-items: stretch; gap: 28px; }
  .svoy-cta--form .svoy-cta__text { max-width: none; }
  .svoy-cta__form { flex: 0 0 auto; max-width: 620px; }
}
@media (max-width: 767px) {
  .svoy-cta--form .svoy-wrap { display: flex; padding-top: 40px; padding-bottom: 40px; gap: 24px; }
  .svoy-cta__form .fluentform .ff-t-container { flex-direction: column; gap: 0; }
  .svoy-cta__form .fluentform .ff-t-cell { width: 100% !important; flex-basis: 100% !important; }
  .svoy-cta__form .fluentform input.ff-el-form-control { height: 52px; min-height: 52px; }
}
