:root{
  --fg:#0a2540;
  --muted:#5c6b7a;
  --brand:#0ea5a5;
  --bg:#f7fafc;
  --card:#fff;
  --shadow:0 10px 30px rgba(0,0,0,.06);
}

*{box-sizing:border-box}

body{
  margin:0;
  font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--fg);
  background:var(--bg);
}

a{color:var(--brand);text-decoration:none}
a:hover{opacity:.9}

.container{
  max-width:1100px;
  margin:0 auto;
  padding:0 16px;
}

header{
  position:sticky;
  top:0;
  background:#ffffffee;
  backdrop-filter:blur(8px);
  border-bottom:1px solid #e6eef5;
  z-index:10;
}

header .inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 0;
  flex-wrap:wrap;
}

.topnav a{
  margin:0 10px;
  font-weight:600;
  white-space:nowrap;
}

.main{
  margin:18px 0 40px;
}

.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
  gap:16px;
  justify-content:center;
}

.card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:var(--shadow);
  border:1px solid #e6eef5;
  display:flex;
  flex-direction:column;
}

.card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}

.pad{
  padding:14px 16px;
}

.line1{font-weight:700}
.line2{color:var(--muted);margin:6px 0 12px}

.btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:999px;
  background:var(--brand);
  color:#fff;
  border:0;
  box-shadow:var(--shadow);
  font-weight:600;
  text-decoration:none;
}

.section{margin:28px 0}
.meta{color:var(--muted);font-size:.95rem}

ul.meta{
  padding-left:20px;
}

footer{
  border-top:1px solid #e6eef5;
  background:#fff;
}

footer .inner{
  padding:18px 0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:.9rem;
  gap:8px;
}

.cookie-banner{
  display:none;
  background:#0b2a3a;
  color:#e7f6ff;
  font-size:.9rem;
}

.cookie-banner .inner{
  padding:10px 0;
  display:flex;
  align-items:flex-start;
  gap:16px;
  justify-content:space-between;
  flex-wrap:wrap;
}

.cookie-banner .btn{
  background:#fff;
  color:#0b2a3a;
  box-shadow:none;
  border:1px solid #fff;
}

.gallery{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:10px;
  margin:18px 0;
}

.gallery a{
  grid-column:span 6;
}

@media(min-width:900px){
  .gallery a{grid-column:span 3}
}

.gallery img{
  width:100%;
  height:200px;
  object-fit:cover;
  border-radius:12px;
  display:block;
  box-shadow:var(--shadow);
  background:#000;
  color:#fff;
  font-size:12px;
}

.glx-overlay{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.85);
  z-index:1000;
}

.glx-overlay img{
  max-width:92vw;
  max-height:88vh;
  border-radius:12px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  background:#000;
}

.glx-close{
  position:absolute;
  top:18px;
  right:22px;
  color:#fff;
  background:#0008;
  padding:8px 12px;
  border-radius:999px;
  cursor:pointer;
  user-select:none;
  font-size:18px;
  font-weight:bold;
  line-height:1;
}

.glx-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  font-size:40px;
  color:#fff;
  background:#0008;
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  cursor:pointer;
  user-select:none;
  line-height:1;
  font-weight:500;
}

.glx-prev{left:20px}
.glx-next{right:20px}

section[id],
.section[id]{
  scroll-margin-top:90px;
}/* --- Elegáns bemutatkozó szekció (welcome) --- */

/* Letisztult, modern, bizalmat sugárzó betűtípus */
@import url('https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;500&family=Inter:wght@300;400;500&display=swap');

/* Konténer */
.welcome {
  max-width: 800px;
  margin: 3rem auto 4rem auto;      /* középre igazítva, szellős */
  padding: 2rem 2rem 2.5rem 2rem;
  background-color: #ffffff;        /* tiszta fehér háttér */
  border: 1px solid rgba(0,0,0,0.05);/* finom keret */
  border-radius: 16px;              /* enyhén lekerekített sarkok, nem “cuki”, inkább igényes */
  box-shadow: 0 20px 45px rgba(0,0,0,0.06); /* halvány árnyék: minőség érzet */
}

/* Címsor */
.welcome h1 {
  font-family: "Source Serif Pro", Georgia, "Times New Roman", serif;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.3;
  color: #1a1a1a;                   /* mély szürke, nem fekete */
  margin: 0 0 1rem 0;
  letter-spacing: -0.02em;          /* kicsit elegánsabb */
}

/* Szövegtörzs */
.welcome p {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.6;
  color: #444;                      /* könnyen olvasható szürke */
  margin: 0;
  white-space: pre-line;            /* megtartja a sortöréseidet */
}

/* Mobilbarát finomítás */
@media (max-width: 600px) {
  .welcome {
    margin: 2rem 1rem;
    padding: 1.5rem 1.25rem 2rem 1.25rem;
  }

  .welcome h1 {
    font-size: 1.5rem;
  }

  .welcome p {
    font-size: 0.95rem;
    line-height: 1.55;
  }
}/* ===== JOGI OLDAL BLOKKOK (impresszum, ászf, adatkezelés) ===== */

/* A fő tartalomblokk legyen szűkebb és könnyebben olvasható hosszabb szövegnél */
.legal-page {
  max-width: 800px;
  margin: 2rem auto 4rem auto;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 12px;
  padding: 2rem 1.5rem;
  box-shadow: 0 24px 48px rgba(0,0,0,0.05);
}

/* Címsor a belső szekcióknál */
.legal-page h2 {
  font-size: 1.15rem;
  font-weight: 600;
  color: #003366; /* ugyanaz a hangulat, mint a kék címszíned */
  margin-top: 2rem;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

/* Bekezdések és listák */
.legal-page p,
.legal-page ul,
.legal-page li {
  font-size: 0.95rem;
  line-height: 1.55;
  color: #444;
  margin-bottom: 0.75rem;
}

.legal-page ul {
  padding-left: 1.2rem;
  margin-top: 0.5rem;
  margin-bottom: 1rem;
}

.legal-page li {
  list-style: disc;
}

/* Felső oldal cím (h1) */
.legal-header-title {
  font-size: 1.5rem;
  line-height: 1.3;
  color: #003366;
  margin: 0 0 1rem 0;
  font-weight: 600;
}/* --- Lábléc mindig látható pozícióban --- */
footer {
  margin-top: 3rem;         /* távolság a fő tartalomtól */
  padding: 1.5rem 0;
  background-color: #f8f8f8; /* halvány háttér, hogy elváljon */
  border-top: 1px solid rgba(0,0,0,0.1);
}

/* Ha az oldal rövid, a lábléc akkor is felfelé kerül */
html, body {
  height: 100%;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

main {
  flex: 1; /* ez kitölti a helyet, így a footer nem csúszik le a nézeten kívülre */
}footer {
  box-shadow: 0 -4px 12px rgba(0,0,0,0.05);
}