:root{
  --c-primary:#C2FF37;
  --c-secondary:#5963F0;
  --c-accent:#331DFE;
  --c-text:#000000;
  --c-bg:#ffffff;

  --h1fontsize: 75px;
  --h2fontsize: 56px;
  --button-font-size: 20px;

  --btn-radius: 12px;
  --btn-pad-y: 12px;
  --btn-pad-x: 20px;
  --btn-gap: 10px;
  --btn-fg-dark: #000;
  --btn-fg-light: #fff;
  --btntexttransform: none;
  --container: 1440px;
  --bodyfontweight: 500;
}
body {
  letter-spacing: -0.43px;
}

h2 {
  margin-bottom: 24px;
}

section,
section.vc_section.vc_section-has-fill,
section.vc_section.vc_section-has-fill + .vc_section,
section.vc_section.vc_section-has-fill + .vc_row-full-width + .vc_section
section.vc_section,
.vc_section.vc_section-has-fill, .vc_section.vc_section-has-fill + .vc_section, .vc_section.vc_section-has-fill + .vc_row-full-width + .vc_section
 {
  padding-top: 56px;
  padding-bottom: 56px;
}

@media (max-width: 768px) {
  :root {
    --bodyfontsize: 18px;
    --h1fontsize: 65px;
    --h2fontsize: 40px;
    --button-font-size: 18px;
  }
  section.vc_section.vc_section-has-fill,
  section.vc_section.vc_section-has-fill + .vc_section,
  section.vc_section.vc_section-has-fill
    + .vc_row-full-width
    + .vc_section
    section.vc_section,
  section.vc-section.vc_section-has-fill,
  section,
  .vc_section.vc_section-has-fill,
  .vc_section.vc_section-has-fill + .vc_section,
  .vc_section.vc_section-has-fill + .vc_row-full-width + .vc_section,
  .vc_section.vc_section-has-fill + .vc_row-full-width + .vc_section {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .bn-title {
    font-size: 18px !important;
    text-align: center;
  }
  .bn-carousel-controls {
    padding: 16px !important;
    gap: 5px !important;
  }
  .bn-carousel-controls button {
    height: 15px !important;
    margin-top: -10px !important;
  }
  .bn-footer__inner {
    text-align: center !important;
    padding-top: 5px !important;
  }
}

body{color:var(--c-text); background:var(--c-bg);}

a{ color:var(--c-accent); }
a:hover{ color:#2916cb; }

.bg-primary{ background:var(--c-primary)!important; color:#000!important; }
.bg-secondary{ background:var(--c-secondary)!important; color:#fff!important; }
.text-accent{ color:var(--c-accent)!important; }

.vc_btn3-style-outline {
  background-color: transparent;}


.bn-footer {
  background-color: #C2FF37;
  color: #331DFE;
  display: flex;
  align-items: center;
  justify-content: center;}

.bn-footer__inner {
  width: 100%;
  max-width: var(----container);
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  line-height: 24px;
  padding-bottom: 42px;
  padding-top: 42px;
}

.equal-cols > .wpb_column{display:flex}
.equal-cols > .wpb_column > .vc_column-inner{display:flex;flex-direction:column}

/* Alap gomb kinézet egységesítése */
.vc_btn3
{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; min-width:44px;
  padding:12px 20px; border-radius:12px; font-weight:800; line-height:1;
  border:4px solid transparent; 
  text-decoration:none;
  transition:background-color .2s, color .2s, border-color .2s, filter .2s;
}
.vc_btn3.vc_btn3-style-custom{ background:transparent; }
/* === Theme Primary === */
.vc_btn3.vc_btn3-color-bn-primary,
.vc_btn3.vc_btn3-color-bn-primary:focus
{
  background:var(--c-primary);
  color:#000;
  border-color:var(--c-primary);
}
.vc_btn3.vc_btn3-color-bn-primary:hover,
.vc_btn3.vc_btn3-color-bn-primary:focus
{
  background: var(--c-accent);
  color: #FFF;
  border-color:var(--c-accent);
}
.vc_btn3.vc_btn3-color-bn-primary:focus-visible{ outline:0; box-shadow:0 0 0 3px rgba(194,255,55,.55); }

/* === Theme Secondary (fehér bg, accent keret/szöveg) === */
.vc_btn3.vc_btn3-color-bn-secondary,
.vc_btn3.vc_btn3-color-bn-secondary:focus {
  background:#fff;
  color:var(--c-accent);
  border-color:var(--c-accent);
  font-size: 20px;
  font-weight: 600;
  line-height: 30px;
  border-width: 4px;
}
.vc_btn3.vc_btn3-color-bn-secondary.vc_btn3-style-outline {
  background: transparent;
  color: #fff;
  border-color:#fff;
}

.vc_btn3.vc_btn3-color-bn-secondary:hover,
.vc_btn3.vc_btn3-color-bn-secondary:focus{ 
  background:var(--c-accent);
  border: 4px solid var(--c-accent);
  color: #FFF;
  
}

.vc_btn3.vc_btn3-color-bn-secondary:focus-visible{ outline:0; box-shadow:0 0 0 3px rgba(51,29,254,.35); }

.vc_btn3.vc_btn3-size-lg {
  font-size: 32px;
  font-weight: 700;
  padding: 23px 35px;
}
button.vc_btn3.vc_btn3-size-md {
  font-size: var(--button-font-size);
  font-weight: 800;
  padding: 15px 35px;
}

/* === Theme Text (link-stílus) === */
.vc_btn3.vc_btn3-color-bn-text{
  background:transparent; color:var(--c-accent); border-color:transparent;
  padding:8px 4px; font-weight:700;
}
.vc_btn3.vc_btn3-color-bn-text:hover{ text-decoration:underline; text-underline-offset:2px; }

.bg-secondary .vc_btn3.vc_btn3-color-bn-secondary{
  background:transparent; color:#fff; border-color:#fff;
}
.bg-secondary .vc_btn3.vc_btn3-color-bn-text{ color:#fff; }

#hero h1 {
  line-height: 55px;
}
#hero h2 {
 line-height: 30px;
}
#hero p {
 line-height: 26px;
}

p {
  line-height: 24px;
}

/* Carousel header*/
.bn-carousel-controls{
  display:flex; 
  align-items:center;
  justify-content:space-between;
  gap:16px;
  background:transparent;
  border-radius:60px;
  border: 3px solid #FFFFFF;
  padding:25px 44px;
  margin-bottom:12px;
}
.bn-carousel-controls .bn-title{
  font-family: Archivo Black;
  font-weight: 400;
  font-size: 28px;
  line-height: 30px;
}
