/* Webrakéta Szolgáltatások — pixel-pontos Lovable parity
   Asztali (≥1024) / Tablet (768–1023) / Mobil (<768)
   Tipográfia tű pontosan illeszkedik az Esettanulmányok / Footer plugin értékeihez.
*/

/* ===== Elementor wrapper reset – nincs felső/alsó üres sáv ===== */
.elementor-widget-webraketa_kutfurasokra,
.elementor-widget-webraketa_kutfurasokra > .elementor-widget-container,
.elementor-element.elementor-widget-webraketa_kutfurasokra{
  margin:0 !important; padding:0 !important;
}
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-webraketa_kutfurasokra),
.elementor-column:has(> .elementor-widget-wrap > .elementor-widget-webraketa_kutfurasokra),
.elementor-widget-wrap:has(> .elementor-widget-webraketa_kutfurasokra){
  padding:0 !important; margin:0 !important;
}

/* ============ FULL-WIDTH BREAKOUT ============ */
.wr-kf-section,
.wr-kf-cta{
  position:relative !important;
  width:100vw !important;
  max-width:100vw !important;
  left:50% !important; right:50% !important;
  margin-left:-50vw !important; margin-right:-50vw !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
  font-family:"Open Sans", system-ui, -apple-system, sans-serif !important;
  color:#1A1A1F !important;
}
.wr-kf-section, .wr-kf-section *,
.wr-kf-cta, .wr-kf-cta *{
  box-sizing:border-box !important;
  font-style:normal !important;
  -webkit-font-smoothing:antialiased !important;
}

.wr-kf-section{
  background:#FAFAF7 !important;
  padding:64px 24px !important;
}
@media (min-width:768px){
  .wr-kf-section{ padding:96px 24px !important; }
}

.wr-kf-container{
  position:relative !important;
  max-width:1152px !important;
  margin:0 auto !important;
}

/* Dekoratív körök (a Lovable layoutból) */
.wr-kf-bg-1,.wr-kf-bg-2,.wr-kf-bg-3,.wr-kf-bg-4{
  position:absolute !important; pointer-events:none !important;
  border-radius:9999px !important;
}
.wr-kf-bg-1{ top:-128px; right:-128px; width:480px; height:480px; background:rgba(30,90,142,0.05); filter:blur(40px); }
.wr-kf-bg-2{ top:-40px; right:40px; width:288px; height:288px; border:1px solid rgba(30,90,142,0.15); }
.wr-kf-bg-3{ top:80px; right:128px; width:192px; height:192px; border:1px solid rgba(30,90,142,0.10); }
.wr-kf-bg-4{ bottom:-80px; left:-80px; width:320px; height:320px; border:2px dashed rgba(30,90,142,0.10); }

/* ============ HEADER ============ */
.wr-kf-header{
  max-width:672px !important;
  margin:0 0 64px 0 !important;
  display:flex !important; flex-direction:column !important;
  gap:24px !important;
  position:relative !important;
}

/* Eyebrow chip — Open Sans 700 / 11px / lh 15px (mobil) 19px (≥768) / uppercase 0.2em / rgb(30,90,142) */
.wr-kf-eyebrow{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  border:1px solid rgba(30,90,142,0.25) !important;
  background:rgba(30,90,142,0.08) !important;
  border-radius:9999px !important;
  padding:6px 16px !important;
  font-family:"Open Sans", sans-serif !important;
  font-size:11px !important; line-height:15px !important;
  font-weight:700 !important; letter-spacing:0.2em !important;
  text-transform:uppercase !important;
  color:rgb(30,90,142) !important;
  width:fit-content !important;
}
@media (min-width:768px){
  .wr-kf-eyebrow{ line-height:19px !important; }
}
.wr-kf-eyebrow-dot{
  width:6px !important; height:6px !important; border-radius:9999px !important;
  background:rgb(30,90,142) !important; display:inline-block !important;
}

/* H1 — Montserrat 700, mobil 39/41, desktop 68/71, rgb(1,80,146) */
.wr-kf-h1{
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !important;
  color:rgb(1,80,146) !important;
  font-size:39px !important; line-height:41px !important;
  letter-spacing:-0.025em !important;
  margin:0 !important; text-wrap:balance !important;
}
@media (min-width:768px){
  .wr-kf-h1{ font-size:68px !important; line-height:71px !important; }
}
.wr-kf-h1-accent{ color:rgb(1,80,146) !important; }

/* Subtitle — Open Sans 400, mobil 20/32, desktop 23/37, rgb(91,100,112) */
.wr-kf-sub{
  font-family:"Open Sans", sans-serif !important;
  font-weight:400 !important;
  font-size:20px !important; line-height:32px !important;
  color:rgb(91,100,112) !important;
  margin:0 !important; max-width:52ch !important;
}
@media (min-width:768px){
  .wr-kf-sub{ font-size:23px !important; line-height:37px !important; }
}

/* ============ GRID ============ */
.wr-kf-grid{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:32px !important;
}
@media (min-width:768px){
  .wr-kf-grid{ grid-template-columns:repeat(2,1fr) !important; }
}

/* ============ CARD ============ */
.wr-kf-card{
  position:relative !important;
  background:#FFFFFF !important;
  border-radius:16px !important;
  padding:32px !important;
  box-shadow:0 0 0 1px rgba(15,23,42,0.05) !important;
  display:flex !important; flex-direction:column !important;
  overflow:hidden !important;
  transition:box-shadow .25s ease, transform .25s ease !important;
}
.wr-kf-card:hover{
  box-shadow:0 20px 40px -20px rgba(30,90,142,0.25), 0 0 0 1px rgba(30,90,142,0.30) !important;
}

/* Big index watermark — 140px Montserrat 700, primary 6% */
.wr-kf-bignum{
  position:absolute !important;
  top:-16px !important; right:-8px !important;
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !important;
  font-size:140px !important; line-height:1 !important;
  color:rgba(30,90,142,0.06) !important;
  user-select:none !important; pointer-events:none !important;
}

/* Card head */
.wr-kf-card-head{
  position:relative !important;
  display:flex !important; align-items:center !important; gap:16px !important;
  margin:0 0 24px 0 !important;
}
.wr-kf-icon-wrap{
  flex-shrink:0 !important;
  width:56px !important; height:56px !important;
  background:rgba(30,90,142,0.10) !important;
  border:1px solid rgba(30,90,142,0.15) !important;
  border-radius:12px !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  color:rgb(30,90,142) !important;
}
.wr-kf-icon-wrap svg,
.wr-kf-icon-wrap i{
  width:28px !important; height:28px !important; font-size:24px !important;
  color:rgb(30,90,142) !important; fill:currentColor !important;
}

/* Card title h3 — Montserrat 700 / 24px / lh 29px, mobil; 27/33 desktop, tracking-tight, #015092 */
.wr-kf-card-title{
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !important;
  color:#015092 !important;
  font-size:24px !important; line-height:29px !important;
  letter-spacing:-0.025em !important;
  margin:0 !important; text-wrap:balance !important;
}
@media (min-width:768px){
  .wr-kf-card-title{ font-size:27px !important; line-height:33px !important; }
}

/* Card body */
.wr-kf-card-body{
  position:relative !important;
  display:flex !important; flex-direction:column !important;
  gap:24px !important;
  flex:1 1 auto !important;
}
.wr-kf-block{ display:block !important; }

/* Block label — Open Sans 700 / 11px / lh 19px / 0.18em uppercase / #015092 */
.wr-kf-block-label{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  font-family:"Open Sans", sans-serif !important;
  font-weight:700 !important;
  font-size:11px !important; line-height:19px !important;
  letter-spacing:0.18em !important;
  text-transform:uppercase !important;
  color:#015092 !important;
  margin:0 0 12px 0 !important;
}
.wr-kf-block-label svg{
  width:14px !important; height:14px !important;
  color:rgb(30,90,142) !important;
}

/* Lists — Open Sans 400 / 16px / lh 24px / rgb(91,100,112) */
.wr-kf-list{
  list-style:none !important;
  margin:0 !important; padding:0 !important;
  display:flex !important; flex-direction:column !important;
  gap:6px !important;
}
.wr-kf-list li{
  display:flex !important; align-items:flex-start !important; gap:8px !important;
  font-family:"Open Sans", sans-serif !important;
  font-weight:400 !important;
  font-size:16px !important; line-height:24px !important;
  color:rgb(91,100,112) !important;
}
.wr-kf-bullet{
  flex-shrink:0 !important;
  color:rgb(30,90,142) !important;
  font-weight:600 !important;
  line-height:24px !important;
  display:inline-block !important;
  min-width:12px !important;
}

/* Process — numbered list with circle badges */
.wr-kf-process{
  list-style:none !important;
  margin:0 !important; padding:0 !important;
  display:flex !important; flex-direction:column !important;
  gap:8px !important;
  counter-reset:wr-kf-proc !important;
}
.wr-kf-process li{
  display:flex !important; align-items:flex-start !important; gap:12px !important;
}
.wr-kf-step-num{
  flex-shrink:0 !important;
  width:24px !important; height:24px !important;
  border-radius:9999px !important;
  background:rgba(30,90,142,0.10) !important;
  color:rgb(30,90,142) !important;
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !important;
  font-size:12px !important; line-height:24px !important;
  text-align:center !important;
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
}
.wr-kf-step-text{
  font-family:"Open Sans", sans-serif !important;
  font-weight:400 !important;
  font-size:16px !important; line-height:24px !important;
  color:rgb(91,100,112) !important;
  padding-top:1px !important;
}

/* Card footer link — Open Sans 600 / 16px, primary blue */
.wr-kf-card-foot{
  margin-top:32px !important;
  padding-top:24px !important;
  border-top:1px solid rgba(15,23,42,0.10) !important;
  position:relative !important;
}
.wr-kf-link{
  display:inline-flex !important; align-items:center !important; gap:8px !important;
  font-family:"Open Sans", sans-serif !important;
  font-weight:600 !important;
  font-size:16px !important; line-height:24px !important;
  color:rgb(30,90,142) !important;
  text-decoration:none !important;
  transition:gap .2s ease !important;
}
.wr-kf-link:hover{ gap:12px !important; color:#015092 !important; }
.wr-kf-link svg{ width:16px !important; height:16px !important; }

/* ============ CTA BAR ============ */
.wr-kf-cta{
  background:#1A1A1F !important;
  color:#FAFAF7 !important;
  padding:96px 24px !important;
}
.wr-kf-cta-ring{
  position:absolute !important;
  left:50% !important; transform:translateX(-50%) !important;
  border-radius:9999px !important;
  pointer-events:none !important;
}
.wr-kf-cta-ring-1{ top:-160px; width:700px; height:700px; border:1px solid rgba(250,250,247,0.10); }
.wr-kf-cta-ring-2{ top:-80px;  width:500px; height:500px; border:1px solid rgba(250,250,247,0.10); }
.wr-kf-cta-ring-3{ top:-40px;  width:300px; height:300px; border:1px solid rgba(250,250,247,0.15); }

.wr-kf-cta-inner{
  position:relative !important;
  max-width:768px !important;
  margin:0 auto !important;
  text-align:center !important;
  display:flex !important; flex-direction:column !important;
  gap:24px !important; align-items:center !important;
}
/* CTA H2 — Montserrat 700, mobil 39/41, desktop 54/57 (text-5xl), -0.025em, white */
.wr-kf-cta-title{
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !important;
  color:#FAFAF7 !important;
  font-size:39px !important; line-height:41px !important;
  letter-spacing:-0.025em !important;
  margin:0 !important; text-wrap:balance !important;
}
@media (min-width:768px){
  .wr-kf-cta-title{ font-size:54px !important; line-height:57px !important; }
}
/* CTA text — Open Sans 400 / 20/32 mobil, 23/37 desktop, fehér 70% */
.wr-kf-cta-text{
  font-family:"Open Sans", sans-serif !important;
  font-weight:400 !important;
  font-size:20px !important; line-height:32px !important;
  color:rgba(250,250,247,0.70) !important;
  margin:0 !important; max-width:52ch !important;
}
@media (min-width:768px){
  .wr-kf-cta-text{ font-size:23px !important; line-height:37px !important; }
}
/* CTA gomb — Open Sans 600 / 16px, primary bg */
.wr-kf-cta-btn{
  display:inline-flex !important; align-items:center !important; gap:12px !important;
  background:rgb(30,90,142) !important;
  color:#FAFAF7 !important;
  padding:16px 32px !important;
  border-radius:9999px !important;
  font-family:"Open Sans", sans-serif !important;
  font-weight:600 !important;
  font-size:16px !important; line-height:24px !important;
  text-decoration:none !important;
  margin-top:8px !important;
  transition:background .2s ease, transform .2s ease !important;
}
.wr-kf-cta-btn:hover{ background:#015092 !important; transform:translateY(-1px) !important; }
.wr-kf-cta-btn svg{ width:20px !important; height:20px !important; }

/* ============ MOBIL kifinomítások (<768px) ============ */
@media (max-width:767px){
  .wr-kf-card{ padding:24px !important; }
  .wr-kf-bignum{ font-size:110px !important; top:-12px !important; right:-4px !important; }
  .wr-kf-icon-wrap{ width:48px !important; height:48px !important; }
  .wr-kf-icon-wrap svg, .wr-kf-icon-wrap i{ width:24px !important; height:24px !important; font-size:20px !important; }
  .wr-kf-cta{ padding:64px 24px !important; }
}
