:root {
  --primary-blue: #00247D;
  --secondary-blue: #01A2E9;
  --light-color: #D9DDDF;
  --success-color: #FFDE59;
  --white-color: #FFFFFF;
  --footer-color: #E0E0E0;

  --bs-btn-hover-color: #FFFFFF;
  --bs-btn-hover-bg: #00247D;
}

html { box-sizing: border-box; width:100%;height:100%; }
*, *::before, *::after { box-sizing: inherit; }
body { width:100%; height:100%; margin: 0; padding: 0; font-family: Arial, sans-serif; /* Példa betűtípus */ line-height: 1.6; /* Példa sor magasság */ }
@font-face { font-family: 'Montserrat'; src: url('fonts/Montserrat-Regular.woff2') format('woff2'), url('fonts/Montserrat-Regular.woff') format('woff'), url('fonts/Montserrat-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat-Mid'; src: url('fonts/Montserrat-SemiBold.woff2') format('woff2'), url('fonts/Montserrat-SemiBold.woff') format('woff'), url('fonts/Montserrat-SemiBold.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Montserrat-Bold'; src: url('fonts/Montserrat-Bold.woff2') format('woff2'), url('fonts/Montserrat-Bold.woff') format('woff'), url('fonts/Montserrat-Bold.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Barlow'; src: url('fonts/Barlow-Regular.woff2') format('woff2'), url('fonts/Barlow-Regular.woff') format('woff'), url('fonts/Barlow-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Barlow-Mid'; src: url('fonts/Barlow-SemiBold.woff2') format('woff2'), url('fonts/Barlow-SemiBold.woff') format('woff'), url('fonts/Barlow-SemiBold.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Barlow-Bold'; src: url('fonts/Barlow-Bold.woff2') format('woff2'), url('fonts/Barlow-Bold.woff') format('woff'), url('fonts/Barlow-Bold.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Poppins'; src: url('fonts/Poppins-Regular.woff2') format('woff2'), url('fonts/Poppins-Regular.woff') format('woff'), url('fonts/Poppins-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; }
.section-img { margin-bottom: 10px;}
#section1 > div, #section2 > div, #section3 > div, #section4 > div, #section5 > div, #section6 > div, #section7 > div {position: relative;z-index:1;}
.cta-button { font-family: 'Barlow-Bold'; background-color: var(--success-color); color: var(--primary-blue); text-decoration: none; border: none; cursor: pointer; margin-top: 20px; margin-bottom: 20px; padding: 20px 60px; border-radius: 35px; font-size: 36px; }
.btn-cookie { font-family: 'Barlow'; background-color: var(--success-color); color: var(--primary-blue); text-decoration: none; border: none; cursor: pointer; border-radius: 15px; }
.cta-button img { height: 50px; width: 50px; float: right; }
.cta-button:hover img { margin: -1px; filter: invert(20%) sepia(243%) saturate(1576%) hue-rotate(-21deg) brightness(110%) contrast(73%); }
h1, h2 { font-family: 'Barlow-Mid', sans-serif; color: var(--success-color); margin-bottom: 40px;}
h3 { font-family: 'Poppins', sans-serif; margin-bottom: 20px; }
h4 { font-family: 'Poppins', sans-serif; font-weight: bold; letter-spacing: 2px; }
p, li { font-family: 'Montserrat', sans-serif; font-size: 36px; }
ul.custom-list { list-style-type: none; padding-left: 0; padding-top: 10px;}
ul.custom-list li.custom-item, ul.custom-list li.custom-check { position: relative; }
ul.custom-list li.custom-item::before { content: url('img/list-item.svg'); position: absolute; left: 0; }
ul.custom-list li.custom-check::before { content: url('img/list-check.svg'); position: absolute; left: 0; }

.szoros-lista li {
  margin-bottom: 4px;   /* vagy 0, ha semmilyen távolságot nem akarsz */
  padding-bottom: 0;    /* ha a padding okozza a helyet */
  line-height: 1.2;     /* csökkentett sorköz, az alapértelmezett általában 1.5 */
}

#cookie-banner {background-color: rgba(0, 0, 0, 0.7); color: var(--white-color); padding: 10px; position: fixed; bottom: 0; width: 100%; display: none; /* Alapértelmezés szerint rejtve van */ }
#cookie-icon {position: fixed; right: 20px; bottom: 20px; width: 40px; height: 40px; cursor: pointer;  display: none; /* Az ikon alapértelmezetten rejtett */ }
#cookie-icon svg {width: 100%; height: 100%; }

.b-blue { border: 5px solid var(--primary-blue); }
.f-blue { color: var(--primary-blue)!important; }
.f-white { color: var(--white-color)!important; }
.f-yellow { color: var(--success-color)!important; }
.bg-blue { background-color: var(--primary-blue)!important; }
.f-footer a { color: var(--footer-color)!important; }
.impresszum { background: linear-gradient(to bottom right, var(--primary-blue) 0%, var(--white-color) 90%); overflow: hidden; height: 100vh;}
.impresszum a { text-decoration: none; color: inherit; }
.impresszum a:hover { text-decoration: none; color: inherit; }
.hullamos-hatter { background: linear-gradient(to bottom right, var(--primary-blue) 0%, var(--white-color) 90%); position: relative; overflow: hidden; }
.hullamos-hatter::after { content: ''; position: absolute; bottom: 10%; left: 0; width: 100%; height: 20%; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 120" preserveAspectRatio="none"><path d="M0,60 Q100,30 200,60 T400,60 T600,60 T800,60 T1000,60 T1200,60 V120 H0 Z" fill="white"/></svg>'); background-repeat: no-repeat; background-size: cover; }
.hullamos-hatter::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 10%; background: var(--white-color); z-index: 1; }
.cookie-consent-container { position: fixed; bottom: 0; width: 100%; text-align: center; padding: 0px; z-index: 1000; font-family: 'Barlow-Mid';}
.cookie-consent-container h3 { font-size: 20px;  }
.cookie-consent-container p, .cookie-consent-container label { font-size: 16px;  }
.custom-box { background-color: var(--white-color); margin: 20px 60px; }
.svg-background { background-image: url('img/foto-bg.svg'); background-size: cover; background-repeat: no-repeat; padding: 6% 7% 0 7%;}
.kek-nyil { width: 25%; }
.mt-20 { margin-top: 20px!important; }
#nyil_fel { width: 200px; }
#program2::before, #program3::before, #program4::before { text-align: right; display: inline-block; position: absolute; }
/* Extra kicsi eszkozok */
@media (max-width:575px) {
  h1, h2 { font-size: 30px; margin-top: 10px; margin-bottom: 20px;}
  h3 { font-size: 24px; margin-bottom: 10px; }
  p, ul, li { font-size: 16px;}
  ul.custom-list li { padding-left: 30px; }
  ul.custom-list li::before { left: 0; top: 5px; width: 25px;}
  #section1, #F { padding-top: 20px; }
  #section4 h4::before { content: url('img/lampa2.svg'); display: inline-block; width: 20px; height: 20px; margin-right: 5px; }
 .cta-button { margin-top: 0; margin-bottom: 10px; padding: 10px 30px; border-radius: 35px; font-size: 16px;  }
 .cta-button img { height: 24px; width: 24px; float: right; }
 .custom-box { background-color: var(--white-color); margin: 10px 10px; text-align: center;}
 .custom-box img { width: 15%; margin-bottom: 10px; }
 .custom-image { width: 100px!important; }
 .b-light { border: 2px solid var(--primary-blue); padding: 10px; border-radius: 30px; }
 .b-blue { text-align: center; border-radius: 30px; padding: 10px; }
}
/* Kozepes eszkozok */
@media (min-width:576px) and (max-width:991px) {
  h1, h2 { font-size: 48px; margin-top: 20px; margin-bottom: 5px;}
  h3 { font-size: 36px; margin-bottom: 10px; }
  p, ul, li { font-size: 20px; margin-bottom: 10px;}
  ul.custom-list li { padding-left: 50px; }
  ul.custom-list li::before { left: 0; top: 0; width: 35px;}
  #section3 h2 {margin-bottom: 30px;}
  #section3 h4 {margin-top: 20px; }
  #section4 h4::before { content: url('img/lampa2.svg'); display: inline-block; width: 20px; height: 20px; margin-right: 5px; }
  #section7 {margin-bottom: 20px;}
  .cta-button { margin-top: 10px; padding: 10px 30px; border-radius: 35px; font-size: 30px;  }
  .custom-box { background-color: var(--white-color); margin: 10px 10px; text-align: center;}
  .custom-box img { width: 100%; margin-bottom: 0px; }
  .program-image {max-width: 50%; margin: auto;}
  .b-light { border: 2px solid var(--primary-blue); padding: 20px; border-radius: 30px; }
  .b-blue { text-align: center; border-radius: 30px; padding: 20px; }
  .impresszum h2 { font-size: 30px; margin:10px 0;}
  .impresszum p { font-size: 16px; }
}
/* Nagy eszkozok  */
@media (min-width:992px) {
  h1 { font-size: 60px; margin-top: 100px; }
  h2 { font-size: 60px; margin: 20px 0;}
  h3 { font-size: 30px; margin-bottom: 20px; }
  p, ul, li { font-size: 26px; margin-bottom: 10px; }
  ul.custom-list li { padding-left: 60px; }
  ul.custom-list li::before { left: 0; top: 0; width: 50px;}
  .cta-button { margin-top: 20px; padding: 20px 60px; border-radius: 35px; font-size: 30px;  }
  .custom-box { background-color: var(--white-color); margin: 10px 10px; }
  .custom-box img { width: 100%;  }
  .custom-image { max-width: 80px; }
  .kiemelt-center {width: 60%;}
  .foto::before { content: url('img/kek_nyil.svg'); text-align: right; display: inline-block; width: 80px; height: 80px; position: absolute; top: 50px; right: 16%;}
  #section1 {padding-bottom: 180px; }
  #section3 {padding-top: 30px; padding-bottom: 180px;}
  #section3 h2 {margin-bottom: 10px;}
  #section3 h3 {margin-top: 40px; }
  #section4 h4::before { content: url('img/lampa2.svg'); display: inline-block; width: 30px; height: 30px; margin-right: 10px; }
  #section4 {margin-top: -150px;}
  #program2::before { content: url('img/nyil-j1.svg'); width: 80px; left: 30%;}
  #program3::before { content: url('img/nyil-b1.svg'); width: 100px; right: 30%;}
  #program4::before { content: url('img/nyil-j2.svg'); width: 120px; left: 30%;}
  #section5-img {padding: 10%;}
  #section5-img::after { content: url('img/csillag3.svg'); display: inline-block; position: absolute; width: 120px; top: 50%; left: -20%; }
  #section5 ul::before,
  #plusz-nyil::before { content: url('img/csillag3.svg'); display: inline-block; position: absolute; width: 120px; top: 75%; left: 45%;}
  #section5 ul::after,
  #plusz-nyil::after { content: url('img/csillag1.svg'); display: inline-block; position: absolute; width: 120px; right: 10%;}
  .b-blue { text-align: center; border-radius: 60px; padding: 15px; min-height: 250px; text-align: left; }
  .impresszum h2 { font-size: 40px; margin:20px 0;}
  .impresszum p { font-size: 20px; }
}
