/* ══════════════════════════════════════════════════════════════
   contacts.css — нова визия за /contacts/
   Двете стари форми (3 полета + 15 полета) са събрани в ЕДНА.
   Добавени: карта на Google Maps и карта с контактите.
   Шрифт: Montserrat.  Фон на текста: #fafafa.
   ══════════════════════════════════════════════════════════════ */

.ke-page-contacts {
  --cf-bg:     #fafafa;
  --cf-card:   #ffffff;
  --cf-line:   #dfe5e3;
  --cf-line-2: #c3cdc9;
  --cf-fg:     #172523;
  --cf-fg-2:   #4a5a56;
  --cf-fg-3:   #86948f;
  --cf-ink:    #173f3a;
  --cf-red:    #ef4b36;
  --cf-sans:   "Montserrat","Segoe UI",Arial,sans-serif;
}

.ke-page-contacts .cf-section {
  background: var(--cf-bg);
  font-family: var(--cf-sans);
  color: var(--cf-fg);
  /* отстояние над футъра — общо 96px, както на другите страници.
     Последният елемент има 73px, затова добавяме 23px. */
  padding-bottom: 23px;
}
.ke-page-contacts .cf-wrap {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(1.4rem,2.8vw,2.6rem) clamp(1.25rem,4vw,4rem);
}

/* ═══ ЗАГЛАВИЕ ═══ */
.ke-page-contacts .cf-head {
  display: grid;
  grid-template-columns: auto minmax(0,1fr);
  gap: clamp(1rem,2.4vw,2rem);
  align-items: start;
  padding-bottom: 1.1rem;
  border-bottom: 2px solid var(--cf-ink);
  margin-bottom: 1.4rem;
}
.ke-page-contacts .cf-head__n {
  font-size: clamp(2.2rem,1.5rem + 2.6vw,4rem);
  font-weight: 600;
  line-height: .9;
  letter-spacing: -.055em;
  color: var(--cf-line-2);
}
.ke-page-contacts .cf-head__k {
  display: block;
  margin-bottom: .5rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cf-red);
}
.ke-page-contacts .cf-head__t {
  margin: 0;
  font-size: clamp(1.7rem,1.15rem + 2.1vw,3rem);
  font-weight: 600;
  line-height: 1.06;
  letter-spacing: -.045em;
  color: var(--cf-ink);
}

.ke-page-contacts .cf-intro {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: clamp(1.2rem,3vw,2.6rem);
  margin-bottom: clamp(1.6rem,3.4vw,2.8rem);
  padding-top: 1.2rem;
  border-top: 1px solid var(--cf-line);
}
.ke-page-contacts .cf-intro p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.72;
  color: var(--cf-fg-2);
}

/* ═══ РЕШЕТКА: форма + странична колона ═══ */
.ke-page-contacts .cf-grid {
  display: grid;
  grid-template-columns: minmax(0,1.6fr) minmax(0,1fr);
  gap: clamp(1rem,2.4vw,1.8rem);
  align-items: start;
}

/* ═══ ФОРМА ═══ */
.ke-page-contacts .cf-form {
  background: var(--cf-card);
  border: 1px solid var(--cf-line);
  border-radius: 10px;
  padding: clamp(1.2rem,2.6vw,2rem);
}
.ke-page-contacts .cf-form__t {
  margin: 0 0 1.4rem;
  padding-bottom: .9rem;
  border-bottom: 1px solid var(--cf-line);
  font-size: clamp(1.2rem,1rem + .8vw,1.6rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--cf-ink);
}
.ke-page-contacts .cf-form__t span {
  display: block;
  margin-top: .35rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cf-fg-3);
}

.ke-page-contacts .cf-fs {
  margin: 0 0 1.4rem;
  padding: 0;
  border: 0;
}
.ke-page-contacts .cf-fs legend {
  padding: 0 0 .7rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cf-red);
}
.ke-page-contacts .cf-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: .8rem;
  margin-bottom: .8rem;
}

.ke-page-contacts .cf-f { display: block; }
.ke-page-contacts .cf-f--wide { margin-bottom: .8rem; }
.ke-page-contacts .cf-f > span {
  display: block;
  margin-bottom: .35rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .02em;
  color: var(--cf-fg-2);
}
.ke-page-contacts .cf-f input,
.ke-page-contacts .cf-f select,
.ke-page-contacts .cf-f textarea {
  width: 100%;
  box-sizing: border-box;
  padding: .7rem .85rem;
  font-family: var(--cf-sans);
  font-size: .95rem;
  color: var(--cf-fg);
  background: var(--cf-bg);
  border: 1px solid var(--cf-line-2);
  border-radius: 6px;
  transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.ke-page-contacts .cf-f textarea { resize: vertical; min-height: 6rem; }
.ke-page-contacts .cf-f input:focus,
.ke-page-contacts .cf-f select:focus,
.ke-page-contacts .cf-f textarea:focus {
  outline: none;
  background: #fff;
  border-color: var(--cf-ink);
  box-shadow: 0 0 0 3px rgba(23,63,58,.12);
}
.ke-page-contacts .cf-f input:invalid:not(:placeholder-shown) { border-color: var(--cf-red); }

.ke-page-contacts .cf-send {
  display: inline-block;
  padding: .95rem 2.2rem;
  font-family: var(--cf-sans);
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
  background: var(--cf-red);
  border: 0;
  border-radius: 6px;
  cursor: pointer;
  transition: background-color .2s, transform .2s;
}
.ke-page-contacts .cf-send:hover { background: #d33c28; transform: translateY(-1px); }
.ke-page-contacts .cf-send:disabled { opacity: .6; cursor: wait; transform: none; }
.ke-page-contacts .cf-note {
  margin: .9rem 0 0;
  font-size: .8rem;
  color: var(--cf-fg-3);
}

/* скрито поле срещу ботове */
.ke-page-contacts .cf-hp {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* съобщение за резултат */
.ke-page-contacts .cf-status {
  margin-bottom: 1.2rem;
  padding: .9rem 1.1rem;
  border-radius: 6px;
  font-size: .92rem;
  line-height: 1.5;
  border-left: 4px solid var(--cf-ink);
  background: #eef4f2;
  color: var(--cf-ink);
}
.ke-page-contacts .cf-status--ok { border-left-color: #2c7a5b; background: #e8f4ee; color: #1d5a42; }
.ke-page-contacts .cf-status--err { border-left-color: var(--cf-red); background: #fdecea; color: #8f2a1c; }
.ke-page-contacts .cf-f input[aria-invalid="true"],
.ke-page-contacts .cf-f select[aria-invalid="true"] {
  border-color: var(--cf-red);
  background: #fdf3f1;
}

/* ═══ СТРАНИЧНА КОЛОНА ═══ */
.ke-page-contacts .cf-aside {
  display: grid;
  gap: clamp(.9rem,2vw,1.4rem);
  position: sticky;
  top: 130px;
}
.ke-page-contacts .cf-card {
  background: var(--cf-ink);
  color: #fff;
  border-radius: 10px;
  padding: clamp(1.2rem,2.4vw,1.8rem);
}
.ke-page-contacts .cf-card__k {
  display: block;
  margin-bottom: .8rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cf-red);
}
.ke-page-contacts .cf-card__addr {
  margin: 0 0 1.2rem;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.ke-page-contacts .cf-card__dl { margin: 0; }
.ke-page-contacts .cf-card__dl dt {
  margin-top: .7rem;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.55);
}
.ke-page-contacts .cf-card__dl dd {
  margin: .15rem 0 0;
  font-size: .95rem;
  line-height: 1.45;
}
.ke-page-contacts .cf-card__dl a {
  color: #fff !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.35);
}
.ke-page-contacts .cf-card__dl a:hover { border-bottom-color: var(--cf-red); }

.ke-page-contacts .cf-map {
  border: 1px solid var(--cf-line);
  border-radius: 10px;
  overflow: hidden;
  background: var(--cf-card);
  line-height: 0;
}
.ke-page-contacts .cf-map iframe {
  display: block;
  width: 100%;
  height: clamp(220px,26vw,320px);
  border: 0;
}

/* ═══ ОТЗИВЧИВОСТ ═══ */
@media (max-width: 1000px) {
  .ke-page-contacts .cf-grid { grid-template-columns: minmax(0,1fr); }
  .ke-page-contacts .cf-aside { position: static; }
}
@media (max-width: 820px) {
  .ke-page-contacts .cf-intro { grid-template-columns: minmax(0,1fr); }
  .ke-page-contacts .cf-row { grid-template-columns: minmax(0,1fr); }
  .ke-page-contacts .cf-head { grid-template-columns: minmax(0,1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .ke-page-contacts * { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
