/* ============================================================
   KTech Builders — Site footer
   Prefixed with .ktech-footer / .kf- so it never collides with
   the SiteOrigin Corp parent theme styles.
   ============================================================ */

.ktech-footer{
  --kf-navy:#0a1c34;
  --kf-orange:#fe0000;
  --kf-orange-2:#ff7a45;
  --kf-head:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--kf-navy);
  color:#b9c4d8;
  padding-top:58px;
  font-family:var(--kf-head);
}
.ktech-footer *,
.ktech-footer *::before,
.ktech-footer *::after{box-sizing:border-box}
.ktech-footer a{color:inherit;text-decoration:none;transition:.2s}

.ktech-footer .kf-container{
  width:100%;max-width:1200px;margin:0 auto;padding:0 24px;
}

.kf-col.kf-news .btn.btn-primary {
  width: 100%;
  margin-top: 2px;
  padding: 13px 20px;
  border: none;
  border-radius: 8px;
  background: var(--orange);
  color: #fff;
  cursor: pointer;
  font-family: 'Poppins',sans-serif;
  font-size: .9rem;
  letter-spacing: .5px;
  text-transform: uppercase;
  transition: .2s;
  display: block;
  text-align: center;
}
.kf-col.kf-news .btn.btn-primary:hover {
  background: var(--orange-2);
}
/* ---------- Top area ---------- */
.ktech-footer .kf-top{
  display:grid;
  grid-template-columns:1.5fr 1fr 1.35fr 1.45fr;
  gap:36px 50px;
  padding-bottom:30px;
  align-items:start;
}

.ktech-footer .kf-logo{height:80px;width:auto;margin-bottom:22px;display:block}
.ktech-footer .kf-about p{font-size:.95rem;line-height:1.75;margin:0 0 22px}
.ktech-footer .kf-contact p{margin:0 0 8px;font-size:.95rem}
.ktech-footer .kf-contact strong{color:#fff;font-weight:500}
.ktech-footer .kf-contact a:hover{color:var(--kf-orange-2)}

.ktech-footer .kf-col h4{
  color:#fff;font-size:1.3rem;margin:0 0 22px;position:relative;
  padding-bottom:12px;font-weight:500;
}
.ktech-footer .kf-col h4::after{
  content:"";position:absolute;left:0;bottom:0;width:38px;height:3px;background:var(--kf-orange);
}
.ktech-footer .kf-col ul{list-style:none;margin:0;padding:0}
.ktech-footer .kf-col ul li{margin-bottom:14px;font-size:.94rem;line-height:1.5}
.ktech-footer .kf-col ul li a:hover{color:var(--kf-orange-2);padding-left:5px;display:inline-block}

/* Newsletter column */
.ktech-footer .kf-news > p{font-size:.95rem;line-height:1.6;margin:0 0 18px}
.ktech-footer .kf-news input[type="email"],
.ktech-footer .kf-news input[type="text"]{
  width:100%;padding:13px 16px;border-radius:8px;
  border:1px solid rgba(255,255,255,.15);
  background:rgba(255,255,255,.06);color:#fff;
  font-family:var(--kf-head);font-size:.92rem;
}
.ktech-footer .kf-news input::placeholder{color:#8697b3}
.ktech-footer .kf-news input:focus{outline:none;border-color:var(--kf-orange)}
.ktech-footer .kf-news input[type="submit"],
.ktech-footer .kf-news button[type="submit"],
.ktech-footer .kf-news .wpcf7-submit{
  width:100%;margin-top:12px;padding:13px 20px;border:none;border-radius:8px;
  background:var(--kf-orange);color:#fff;cursor:pointer;
  font-family:var(--kf-head);font-size:.9rem;letter-spacing:.5px;
  text-transform:uppercase;transition:.2s;
}
.ktech-footer .kf-news input[type="submit"]:hover,
.ktech-footer .kf-news button[type="submit"]:hover,
.ktech-footer .kf-news .wpcf7-submit:hover{background:#c50000}
.ktech-footer .kf-news p{margin-bottom:0}
.ktech-footer .kf-news .wpcf7-not-valid-tip{color:#ff9a9a;font-size:.82rem;margin-top:6px}
.ktech-footer .kf-news .wpcf7-response-output{
  border:none !important;background:rgba(255,255,255,.08);
  color:#fff;font-size:.85rem;padding:10px 14px !important;
  border-radius:8px;margin:14px 0 0 !important;
}
.ktech-footer .kf-news .wpcf7-spinner{margin:8px auto 0;display:block}

/* ---------- Bottom bar ---------- */
.ktech-footer .kf-bottom{border-top:1px solid rgba(255,255,255,.1);padding:22px 0;margin-top:8px}
.ktech-footer .kf-bottom-inner{
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.88rem;
}
.ktech-footer .kf-bottom p{margin:0}
.ktech-footer .kf-bottom a:hover{color:var(--kf-orange-2)}
.ktech-footer .kf-bottom ul{
  list-style:none;margin:0;padding:0;display:flex;gap:8px;flex-wrap:wrap;
}
.ktech-footer .kf-bottom ul li:not(:last-child)::after{content:"|";margin-left:8px;opacity:.4}

/* ---------- Back to top ---------- */
.kf-back-top{
  position:fixed;right:26px;bottom:26px;width:48px;height:48px;
  background:var(--orange);color:#fff;border:none;border-radius:50%;
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 10px 24px rgba(254,0,0,.42);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .3s,visibility .3s,transform .3s,background .2s;z-index:900;
}
.kf-back-top svg{width:20px;height:20px}
.kf-back-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.kf-back-top:hover{  background: var(--orange-2);transform:translateY(-4px)}

/* ---------- Breakpoints ---------- */
@media(max-width:1024px){
  .ktech-footer .kf-top{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .ktech-footer{padding-top:44px}
  .ktech-footer .kf-top{grid-template-columns:1fr;gap:34px}
  .ktech-footer .kf-bottom-inner{flex-direction:column;text-align:center;align-items:center}
  .ktech-footer .kf-container{padding:0 18px}
  .kf-back-top{right:16px;bottom:16px;width:42px;height:42px}
}
