/* Webrakéta Footer — Lovable-pontos tipográfia v1.0.5
   Minden szabály !important, hogy Astra/Elementor Global ne írja felül. */

/* ===== Üres sávok eltüntetése: CSAK padding/margin nullázás, overflow/width érintése nélkül ===== */

/* Widget és közvetlen widget-container */
.elementor-widget-webraketa_footer,
.elementor-widget-webraketa_footer > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

/* Klasszikus Elementor: section és column padding — csak felül/alul */
.elementor-section:has(.elementor-widget-webraketa_footer),
.elementor-column:has(.elementor-widget-webraketa_footer),
.elementor-widget-wrap:has(.elementor-widget-webraketa_footer) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Új Elementor Flexbox Containers (e-con) */
.e-con:has(.elementor-widget-webraketa_footer),
.e-con-inner:has(.elementor-widget-webraketa_footer) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Elementor Theme Builder footer location wrapper */
.elementor-location-footer:has(.elementor-widget-webraketa_footer) {
  margin: 0 !important;
  padding: 0 !important;
}

/* Astra natív footer területek elrejtése, ha Elementor footer aktív */
body:has(.elementor-widget-webraketa_footer) .footer-widget-area,
body:has(.elementor-widget-webraketa_footer) .ast-footer-copyright,
body:has(.elementor-widget-webraketa_footer) .ast-footer-overlay {
  display: none !important;
  height: 0 !important;
}



.kt-footer, .kt-footer *{
  box-sizing:border-box !important;
  font-family:"Open Sans", Arial, sans-serif !important;
  -webkit-font-smoothing:antialiased !important;
  font-style:normal !important;
}
.kt-footer{
  background:#1b4870 !important;
  color:#ffffff !important;
  width:100vw !important;
  margin:0 !important;
  padding:0 !important;
  position:relative !important;
  overflow:hidden !important;
  left:50% !important;
  transform:translateX(-50%) !important;
}
.kt-footer a{ text-decoration:none !important; color:inherit !important; }
.kt-footer ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.kt-footer p{ margin:0 !important; }

/* ---------- CTA kártya ---------- */
.kt-cta-wrap{ max-width:1152px !important; margin:0 auto !important; padding:40px 0 !important; }
.kt-cta{
  position:relative !important;
  border-radius:24px !important;
  background:linear-gradient(135deg,#153a5c,#2367a0) !important;
  box-shadow:0 20px 60px -15px rgba(0,0,0,.35) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  overflow:hidden !important;
}
.kt-cta::before{
  content:"" !important; position:absolute !important; inset:0 !important;
  pointer-events:none !important; opacity:.2 !important;
  background:radial-gradient(circle at top right, rgba(255,255,255,.25), transparent 50%) !important;
}
.kt-cta-inner{
  position:relative !important;
  display:grid !important;
  grid-template-columns:1.4fr 1fr !important;
  gap:32px !important;
  align-items:end !important;
  padding:56px 48px !important;
}
.kt-footer .kt-eyebrow{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:13.5px !important; font-weight:600 !important; line-height:1.5 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important;
  color:rgba(255,255,255,.7) !important; margin:0 0 16px !important;
}
.kt-footer .kt-h2{
  font-family:"Montserrat", Arial, sans-serif !important;
  font-size:42px !important; font-weight:400 !important; line-height:1.1 !important;
  color:#ffffff !important; margin:0 !important;
  white-space:nowrap !important;
}
.kt-footer .kt-h2 .muted{ color:rgba(255,255,255,.6) !important; }
.kt-cta-right{ display:flex !important; flex-direction:column !important; gap:12px !important; align-items:flex-end !important; }
.kt-footer .kt-phone-btn{
  display:inline-flex !important; align-items:center !important; gap:12px !important;
  background:#ffffff !important; color:#1b4870 !important;
  padding:16px 24px !important; border-radius:9999px !important;
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:20px !important; font-weight:600 !important; line-height:1 !important;
  box-shadow:0 10px 25px -10px rgba(0,0,0,.4) !important;
  transition:background .2s ease !important;
}
.kt-footer .kt-phone-btn:hover{ background:rgba(255,255,255,.9) !important; }
.kt-footer .kt-phone-sub{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:16px !important; font-weight:400 !important; line-height:1.5 !important;
  color:rgba(255,255,255,.7) !important;
}

/* ---------- Fő rács ---------- */
.kt-main{
  max-width:1152px !important; margin:0 auto !important;
  padding:64px 24px !important;
  display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:48px !important;
}
.kt-brand-row{ display:flex !important; align-items:center !important; gap:12px !important; margin-bottom:20px !important; }
.kt-brand-logo{ max-height:48px !important; width:auto !important; display:block !important; }
.kt-brand-icon{
  width:40px !important; height:40px !important; border-radius:6px !important;
  background:#1f5a8f !important; display:flex !important; align-items:center !important; justify-content:center !important;
}
.kt-footer .kt-brand-name{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:20px !important; font-weight:600 !important;
  letter-spacing:-.025em !important; color:#ffffff !important;
}
.kt-footer .kt-lead{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:15px !important; font-weight:400 !important; line-height:1.625 !important;
  color:rgba(255,255,255,.7) !important;
}

.kt-footer .kt-col-h{
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:13.5px !important; font-weight:600 !important; line-height:1.5 !important;
  letter-spacing:.2em !important; text-transform:uppercase !important;
  color:rgba(255,255,255,.5) !important; margin:0 0 20px !important;
}
.kt-footer .kt-list li{
  display:flex !important; align-items:flex-start !important; gap:12px !important;
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:15px !important; font-weight:400 !important; line-height:1.5 !important;
  color:rgba(255,255,255,.85) !important; margin-bottom:16px !important;
}
.kt-footer .kt-list li:last-child{ margin-bottom:0 !important; }
.kt-footer .kt-list .ico{ width:16px !important; height:16px !important; margin-top:3px !important; flex-shrink:0 !important; color:#ffffff !important; }
.kt-footer .kt-list a:hover{ color:#7fb7e3 !important; }

.kt-footer .kt-services li{
  display:flex !important; align-items:center !important; gap:8px !important;
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:15px !important; font-weight:400 !important; line-height:1.5 !important;
  color:rgba(255,255,255,.8) !important; margin-bottom:12px !important;
}
.kt-footer .kt-services .dot{ width:4px !important; height:4px !important; border-radius:9999px !important; background:rgba(255,255,255,.7) !important; flex-shrink:0 !important; }

/* ---------- Alsó sáv ---------- */
.kt-bottom{ border-top:1px solid rgba(255,255,255,.1) !important; }
.kt-bottom-inner{
  max-width:1152px !important; margin:0 auto !important;
  padding:24px !important;
  display:flex !important; justify-content:space-between !important; align-items:center !important; gap:16px !important;
  font-family:"Open Sans", Arial, sans-serif !important;
  font-size:13.5px !important; font-weight:400 !important; line-height:1.5 !important;
  color:rgba(255,255,255,.6) !important;
}
.kt-credit{ display:flex !important; align-items:center !important; gap:8px !important; }
.kt-credit img{ height:20px !important; width:auto !important; display:block !important; }
.kt-legal{ display:flex !important; align-items:center !important; gap:24px !important; }
.kt-legal a{ letter-spacing:.1em !important; }
.kt-legal a:hover, .kt-credit:hover{ color:#ffffff !important; }

/* ============ MOBIL (≤767px) ============ */
@media (max-width:767px){
  .kt-cta-wrap{ padding:24px 16px !important; }
  .kt-cta-inner{ grid-template-columns:1fr !important; padding:40px 24px !important; align-items:start !important; gap:24px !important; }
  .kt-cta-right{ align-items:flex-start !important; }
  .kt-footer .kt-eyebrow{ font-size:13px !important; }
  .kt-footer .kt-h2{ font-size:33px !important; white-space:normal !important; }
  .kt-footer .kt-phone-btn{ font-size:18px !important; padding:14px 22px !important; }
  .kt-footer .kt-phone-sub{ font-size:15px !important; }
  .kt-main{ grid-template-columns:1fr !important; padding:48px 24px !important; gap:40px !important; }
  .kt-footer .kt-col-h{ font-size:13px !important; }
  .kt-bottom-inner{ flex-direction:column !important; font-size:13px !important; text-align:center !important; }
}
