/* Webrakéta CTA Sáv — pixel-pontos Lovable parity — v1.0.4 */

/* ===== Elementor wrapper reset – nincs felső/alsó üres sáv ===== */
.elementor-widget-webraketa_cta,
.elementor-widget-webraketa_cta > .elementor-widget-container,
.elementor-element.elementor-widget-webraketa_cta{
  margin:0 !important; padding:0 !important;
}
.elementor-section:has(.elementor-widget-webraketa_cta),
.elementor-column:has(.elementor-widget-webraketa_cta),
.elementor-widget-wrap:has(.elementor-widget-webraketa_cta),
.elementor-container:has(.elementor-widget-webraketa_cta),
.elementor-element:has(.wr-cta),
.elementor-widget-wrap:has(.wr-cta),
.elementor-container:has(.wr-cta),
.e-con:has(.wr-cta),
.e-con-inner:has(.wr-cta){
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
  --padding-top:0px !important;
  --padding-bottom:0px !important;
  --margin-top:0px !important;
  --margin-bottom:0px !important;
  --min-height:0px !important;
  --padding-block-start:0px !important;
  --padding-block-end:0px !important;
  overflow:visible !important;
}

/* A szekciót követő üres sáv kiiktatása */
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-webraketa_cta) + .elementor-section,
.elementor-section:has(> .elementor-container > .elementor-column > .elementor-widget-wrap > .elementor-widget-webraketa_cta) + *,
.elementor-section:has(.wr-cta) + .elementor-section,
.elementor-section:has(.wr-cta) + *,
.e-con:has(.wr-cta) + .e-con,
.e-con:has(.wr-cta) + *{
  margin-top:0 !important;
  padding-top:0 !important;
  --margin-top:0px !important;
  --padding-top:0px !important;
}

/* Ha Elementorban egy üres szekció maradt közvetlenül a CTA után */
.elementor-section:has(.wr-cta) + .elementor-section:not(:has(.elementor-widget)),
.e-con:has(.wr-cta) + .e-con:not(:has(.elementor-widget)){
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
}
.wr-cta{ display:block !important; margin-bottom:0 !important; }
.wr-cta::after{ content:none !important; display:none !important; }

/* Astra téma tartalomterületének bottom padding/margin nullázása */
body:has(.wr-cta) #main,
body:has(.wr-cta) #primary,
body:has(.wr-cta) #content,
body:has(.wr-cta) .site-content,
body:has(.wr-cta) .ast-container,
body:has(.wr-cta) .entry-content,
body:has(.wr-cta) article.hentry,
body:has(.wr-cta) article.type-page,
body:has(.wr-cta) .elementor-section-wrap,
body:has(.wr-cta) .elementor-inner {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ============ FULL-WIDTH BREAKOUT ============ */
.wr-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;
  padding:96px 24px !important;
}
.wr-cta, .wr-cta *{
  box-sizing:border-box !important;
  font-style:normal !important;
  -webkit-font-smoothing:antialiased !important;
}

/* ===== Szín alapértékek — !important NÉLKÜL, hogy az Elementor selectors felülírhassa ===== */
/* Ezek a szabályok magasabb specificitású szülővel védenek a témától,
   de az Elementor által generált !important-os CSS mindig nyer felettük. */
.elementor-widget-webraketa_cta .wr-cta {
  background: #1A1A1F;
  color: #FAFAF7;
}
.elementor-widget-webraketa_cta .wr-cta-title {
  color: #FAFAF7;
}
.elementor-widget-webraketa_cta .wr-cta-text {
  color: rgba(250, 250, 247, 0.70);
}
.elementor-widget-webraketa_cta .wr-cta-btn {
  background: #1E5A8E;
  color: #FAFAF7;
}
.elementor-widget-webraketa_cta .wr-cta-btn:hover {
  background: #015092;
}

/* ============ Dekoratív gyűrűk ============ */
.wr-cta-ring{
  position:absolute !important;
  left:50% !important; transform:translateX(-50%) !important;
  border-radius:9999px !important;
  pointer-events:none !important;
}
.wr-cta-ring-1{ top:-160px; width:700px; height:700px; border:1px solid rgba(250,250,247,0.10); }
.wr-cta-ring-2{ top:-80px;  width:500px; height:500px; border:1px solid rgba(250,250,247,0.10); }
.wr-cta-ring-3{ top:-40px;  width:300px; height:300px; border:1px solid rgba(250,250,247,0.15); }

/* ============ Belső tartalom ============ */
.wr-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 */
.wr-cta-title{
  font-family:"Montserrat", sans-serif !important;
  font-weight:700 !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-cta-title{ font-size:54px !important; line-height:57px !important; }
}

/* CTA text — Open Sans 400 */
.wr-cta-text{
  font-family:"Open Sans", sans-serif !important;
  font-weight:400 !important;
  font-size:20px !important; line-height:32px !important;
  margin:0 !important; max-width:52ch !important;
}
@media (min-width:768px){
  .wr-cta-text{ font-size:23px !important; line-height:37px !important; }
}

/* CTA gomb — Open Sans 600 */
.wr-cta-btn{
  display:inline-flex !important; align-items:center !important; gap:12px !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-cta-btn:hover{ transform:translateY(-1px) !important; }
.wr-cta-btn svg{ width:20px !important; height:20px !important; }

@media (max-width:767px){
  .wr-cta{ padding:64px 24px !important; }
}
