/* Contact-page components; existing theme, navigation and footer are untouched. */
#ek-contact { --ekc-red:#df001c; --ekc-ink:#202633; --ekc-muted:#626975; --ekc-line:#e1e4e9; }
#ek-contact .ekc-wrap { width:calc(100% - 40px); max-width:1200px; margin-inline:auto; }
#ek-contact .ekc-section { padding:64px 0; }
#ek-contact .ekc-soft { background:#f5f6f8; }
#ek-contact .ekc-hero-grid { display:grid; grid-template-columns:1.12fr .88fr; gap:48px; align-items:center; }
#ek-contact .ekc-hero-title { font-size:clamp(32px,3.4vw,48px); line-height:1.13; letter-spacing:-.025em; margin:18px 0 22px; }
#ek-contact .ekc-intro { font-size:18px; line-height:1.7; max-width:620px; color:#e8e9ee; margin:0; }
#ek-contact .ekc-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
#ek-contact .ekc-facts { display:flex; flex-wrap:wrap; gap:12px 23px; margin-top:27px; font-size:13px; color:#e4e5ea; }
#ek-contact .ekc-facts span { display:flex; align-items:center; gap:7px; }
#ek-contact .ekc-facts svg { width:17px; height:17px; color:#ff8e9a; }
#ek-contact .ekc-hero-photo { margin:0; }
#ek-contact .ekc-kicker { color:var(--ekc-red); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
#ek-contact .ekc-title { color:var(--ekc-ink); font-size:clamp(27px,2.5vw,34px); line-height:1.2; letter-spacing:-.02em; margin:12px 0 17px; }
#ek-contact .ekc-copy { color:var(--ekc-muted); font-size:16px; line-height:1.8; margin-bottom:0; }
#ek-contact .ekc-head { max-width:740px; margin-bottom:30px; }
#ek-contact .ekc-channels { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
#ek-contact .ekc-channel { display:flex; flex-direction:column; align-items:flex-start; padding:27px; min-width:0; border:1px solid var(--ekc-line); border-radius:14px; background:#fff; color:var(--ekc-ink); text-decoration:none; box-shadow:0 8px 24px rgba(22,30,44,.04); }
#ek-contact .ekc-channel:hover { border-color:#b8bec7; box-shadow:0 12px 28px rgba(22,30,44,.09); }
#ek-contact .ekc-channel-primary { background:#242830; color:#fff; border-color:#242830; border-top:3px solid var(--ekc-red); }
#ek-contact .ekc-channel-primary:hover { color:#fff; }
#ek-contact .ekc-icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:12px; background:#fff0f2; color:var(--ekc-red); margin-bottom:22px; }
#ek-contact .ekc-icon svg { width:23px; height:23px; }
#ek-contact .ekc-icon-wa { background:#e7faed; color:#137a37; }
#ek-contact .ekc-channel-label { font-size:13px; opacity:.75; margin-bottom:9px; }
#ek-contact .ekc-channel strong { font-size:23px; line-height:1.35; letter-spacing:-.02em; overflow-wrap:anywhere; }
#ek-contact .ekc-channel-email strong { font-size:18px; }
#ek-contact .ekc-channel p { font-size:14px; line-height:1.7; opacity:.78; margin:13px 0 23px; }
#ek-contact .ekc-channel-action { margin-top:auto; font-size:13px; font-weight:800; }
#ek-contact .ekc-planner { display:grid; grid-template-columns:1.08fr .92fr; gap:40px; align-items:start; }
#ek-contact .ekc-form { background:#fff; border:1px solid var(--ekc-line); border-top:3px solid var(--ekc-red); border-radius:14px; padding:32px; box-shadow:0 10px 32px rgba(22,30,44,.035); }
#ek-contact .ekc-form h3 { color:var(--ekc-ink); font-size:23px; line-height:1.3; margin:0 0 9px; }
#ek-contact .ekc-form-note { color:var(--ekc-muted); font-size:14px; line-height:1.7; margin:0 0 25px; }
#ek-contact .ekc-fields { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
#ek-contact .ekc-field { min-width:0; margin-bottom:20px; }
#ek-contact .ekc-field label { display:block; color:var(--ekc-ink); font-size:14px; font-weight:700; margin-bottom:9px; }
#ek-contact .ekc-field select, #ek-contact .ekc-field textarea { width:100%; min-width:0; font:inherit; font-size:16px; line-height:1.5; color:var(--ekc-ink); background:#fafbfc; border:1px solid #cbd1da; border-radius:8px; padding:12px; }
#ek-contact .ekc-field select { min-height:50px; }
#ek-contact .ekc-field textarea { resize:vertical; min-height:120px; }
#ek-contact .ekc-field small { display:block; color:var(--ekc-muted); font-size:12px; line-height:1.6; margin-top:7px; }
#ek-contact .ekc-submit { width:100%; border:0; border-radius:8px; background:var(--ekc-red); color:#fff; padding:16px 20px; font:inherit; font-size:16px; font-weight:800; cursor:pointer; }
#ek-contact .ekc-submit:hover { background:#bb0018; }
#ek-contact .ekc-privacy { font-size:12px; line-height:1.7; color:var(--ekc-muted); margin:15px 0 0; }
#ek-contact .ekc-privacy a { color:var(--ekc-ink); text-decoration:underline; }
#ek-contact .ekc-result { padding:20px; margin-top:24px; background:#effaf3; border:1px solid #b5dfc4; border-radius:9px; }
#ek-contact .ekc-result[hidden] { display:none; }
#ek-contact .ekc-result h4 { font-size:18px; color:#1d5031; }
#ek-contact .ekc-preview { color:#263c2e; white-space:pre-wrap; overflow-wrap:anywhere; font-size:14px; line-height:1.7; margin:14px 0 18px; }
#ek-contact .ekc-result a { display:inline-flex; padding:12px 17px; background:#16843f; color:#fff; border-radius:7px; font-weight:700; font-size:14px; }
#ek-contact .ekc-steps { list-style:none; margin:0 0 28px; padding:0; }
#ek-contact .ekc-steps li { display:grid; grid-template-columns:39px 1fr; gap:15px; padding:19px 0; border-bottom:1px solid var(--ekc-line); }
#ek-contact .ekc-step-num { font-size:12px; color:var(--ekc-red); font-weight:800; padding-top:3px; }
#ek-contact .ekc-steps h3 { font-size:18px; line-height:1.4; color:var(--ekc-ink); margin:0 0 8px; }
#ek-contact .ekc-steps p { font-size:14px; line-height:1.75; color:var(--ekc-muted); margin:0; }
#ek-contact .ekc-work-photo { margin:0; border-radius:12px; overflow:hidden; background:#fff; border:1px solid var(--ekc-line); }
#ek-contact .ekc-work-photo img { display:block; width:100%; height:245px; object-fit:cover; }
#ek-contact .ekc-work-photo figcaption { color:var(--ekc-muted); font-size:12px; padding:13px 17px; }
#ek-contact .ekc-services { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
#ek-contact .ekc-service { display:flex; flex-direction:column; min-width:0; background:#fff; border:1px solid var(--ekc-line); border-radius:12px; overflow:hidden; color:var(--ekc-ink); text-decoration:none; }
#ek-contact .ekc-service img { display:block; width:100%; height:180px; object-fit:cover; }
#ek-contact .ekc-service-text { padding:22px; display:flex; flex-direction:column; flex:1; }
#ek-contact .ekc-service h3 { color:var(--ekc-ink); font-size:19px; line-height:1.35; margin:0 0 12px; }
#ek-contact .ekc-service p { color:var(--ekc-muted); font-size:13px; line-height:1.75; margin:0 0 19px; }
#ek-contact .ekc-service-text > span { color:var(--ekc-red); font-weight:800; font-size:12px; margin-top:auto; }
#ek-contact .ekc-service:hover { border-color:#c1a3aa; }
#ek-contact .ekc-area { display:grid; grid-template-columns:.8fr 1.2fr; gap:42px; align-items:start; }
#ek-contact .ekc-districts { display:flex; flex-wrap:wrap; gap:9px; }
#ek-contact .ekc-districts a { color:#414753; border:1px solid #d9dde4; border-radius:6px; background:#fff; padding:9px 13px; font-size:13px; }
#ek-contact .ekc-districts a:hover { border-color:var(--ekc-red); color:var(--ekc-red); }
#ek-contact .ekc-faq { background:#242830; border-radius:14px; padding:35px; color:#fff; }
#ek-contact .ekc-faq .ekc-title { color:#fff; }
#ek-contact .ekc-faq details { border-top:1px solid #4a4e56; padding:18px 0; }
#ek-contact .ekc-faq summary { cursor:pointer; font-size:16px; font-weight:700; line-height:1.5; }
#ek-contact .ekc-faq details p { color:#e0e3e8; font-size:14px; line-height:1.8; margin:15px 0 0; }
#ek-contact a:focus-visible, #ek-contact button:focus-visible, #ek-contact select:focus-visible, #ek-contact textarea:focus-visible, #ek-contact summary:focus-visible { outline:3px solid #e82944; outline-offset:4px; }
@media (max-width:991px) {
  #ek-contact .ekc-hero-grid, #ek-contact .ekc-planner, #ek-contact .ekc-area { grid-template-columns:1fr; gap:32px; }
  #ek-contact .ekc-channels { gap:14px; }
  #ek-contact .ekc-channel { padding:22px 18px; }
  #ek-contact .ekc-channel strong { font-size:19px; }
  #ek-contact .ekc-channel-email strong { font-size:16px; }
  #ek-contact .ekc-services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  #ek-contact .ekc-section { padding:48px 0; }
}
@media (max-width:575px) {
  #ek-contact .ekc-channels, #ek-contact .ekc-fields, #ek-contact .ekc-services { grid-template-columns:1fr; }
  #ek-contact .ekc-hero-grid { gap:30px; }
  #ek-contact .ekc-hero-title { font-size:34px; }
  #ek-contact .ekc-intro { font-size:16px; }
  #ek-contact .ekc-form, #ek-contact .ekc-faq { padding:24px 20px; }
  #ek-contact .ekc-fields { gap:0; }
  #ek-contact .ekc-service img { height:210px; }
  #ek-contact .ekc-channel { padding:25px; }
  #ek-contact .ekc-channel strong { font-size:23px; }
  #ek-contact .ekc-channel-email strong { font-size:18px; }
}
