/* ───────────────────────────────────────────────────────────────
 * K-Promo — PATCH 1.9
 * ───────────────────────────────────────────────────────────────
 * Сброс моих ошибочных правок в патчах 1.5/1.6/1.7 для элементов
 * шапки. Возвращаю ТОЧНЫЕ значения из эталонного styles.css.
 *
 * Эталон → Что было у меня в патчах → Что должно быть:
 *
 *   .search height           48px  → 52px/56px → 48px ✓
 *   .search-input padding    0 16px → 0 20px  → 0 16px ✓
 *   .search-input font-weight (наследуется) → 500 → не трогать
 *   .search-btn               48×48 r-sm → 52×52 r:0 → 48×48 r-sm ✓
 *   .cta-call height          48px → 56px/52px → 48px ✓
 *   .cta-call padding         0 22px → 0 28px → 0 22px ✓
 *   .cta-call font-size       15px → 14px → 15px ✓
 *   .cta-call font-weight     600 → 800 → 600 ✓
 *   .cta-call letter-spacing  (нет) → .04em → нет ✓
 *
 * Подключается ПОСЛЕ всех остальных патчей и переопределяет их.
 * ─────────────────────────────────────────────────────────────── */


/* ═══════════════════════════════════════════════════════════════
 * Поле поиска — ТОЧНО как в эталоне
 *   .search { height:48px; max-width:520px; ... }
 *   .search-input { padding:0 16px; font-size:15px }
 *   .search-btn { width:48px; height:48px; border-radius:var(--radius-sm) }
 * ═══════════════════════════════════════════════════════════════ */

body.kp-body .kp-search {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  background: var(--fog) !important;
  border-radius: var(--radius-sm) !important;
  height: 48px !important;
  max-width: 520px !important;
  width: 100% !important;
  padding: 0 !important;
  gap: 0 !important;
  overflow: visible !important;
  border: 1px solid transparent !important;
  transition: border-color .15s, background .15s !important;
}

body.kp-body .kp-search:focus-within {
  background: #fff !important;
  border-color: var(--ink) !important;
}

body.kp-body .kp-search-input {
  flex: 1 !important;
  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  height: 100% !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  font-weight: 400 !important;          /* наследуется, явно ставим 400 */
  color: var(--ink) !important;
}

body.kp-body .kp-search-input::placeholder {
  color: var(--ink-3) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
}

body.kp-body .kp-search-btn {
  width: 48px !important;
  height: 48px !important;
  background: var(--yellow) !important;
  border: 0 !important;
  border-radius: var(--radius-sm) !important;
  display: grid !important;
  place-items: center !important;
  flex-shrink: 0 !important;
  cursor: pointer !important;
  transition: background .15s !important;
}

body.kp-body .kp-search-btn:hover {
  background: var(--yellow-hover) !important;
}

body.kp-body .kp-search-btn svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--ink) !important;
  stroke: var(--ink) !important;
}


/* ═══════════════════════════════════════════════════════════════
 * Телефоны — ТОЧНО как в эталоне
 *   .phones { gap:2px; text-align:right }
 *   .phone-line { font-weight:700; font-size:16px; letter-spacing:-.01em }
 *   .phone-mobile { color:var(--ink-2); font-weight:600; font-size:14px }
 * ═══════════════════════════════════════════════════════════════ */

body.kp-body .kp-phones {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  text-align: right !important;
}

body.kp-body .kp-phone-line {
  font-weight: 700 !important;
  font-size: 16px !important;
  letter-spacing:normal!important;
  color: var(--ink) !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
}

body.kp-body .kp-phone-mobile,
body.kp-body a.kp-phone-mobile,
body.kp-body .kp-phone-line.kp-phone-mobile {
  color: var(--ink-2) !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  opacity: 1 !important;
}


/* ═══════════════════════════════════════════════════════════════
 * "Заказать звонок" — ТОЧНО как в эталоне
 *   .cta-call {
 *     height:48px; padding:0 22px;
 *     background:var(--yellow); color:var(--ink);
 *     font-weight:600; font-size:15px;
 *     border-radius:var(--radius-sm);
 *     gap:8px;
 *     (НЕТ letter-spacing, НЕТ text-transform)
 *   }
 * ═══════════════════════════════════════════════════════════════ */

body.kp-body .kp-cta-call,
body.kp-body button.kp-cta-call {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 48px !important;
  padding: 0 22px !important;
  background: var(--yellow) !important;
  color: var(--ink) !important;
  border: 0 !important;
  border-radius: var(--radius-sm) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing:normal!important;
  text-transform: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: background .15s, transform .15s !important;
}

body.kp-body .kp-cta-call:hover {
  background: var(--yellow-hover) !important;
  transform: translateY(-1px) !important;
}


/* ═══════════════════════════════════════════════════════════════
 * Топ-бар — ТОЧНО как в эталоне
 *   .topbar { font-size:15px; line-height:1 }
 *   .tb-item { color:rgba(255,255,255,.78); letter-spacing:.01em }
 * ═══════════════════════════════════════════════════════════════ */

body.kp-body .kp-topbar {
  background: var(--ink) !important;
  color: #fff !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
}

body.kp-body .kp-tb-item {
  display: inline-flex !important;
  gap: 8px !important;
  align-items: center !important;
  color: rgba(255, 255, 255, 0.78) !important;
  letter-spacing:normal!important;
  font-weight: 400 !important;
  transition: color .15s !important;
}

body.kp-body .kp-tb-item:hover {
  color: #fff !important;
}
