/* =========================
   Donorflow – globális stílusok (clean)
   ========================= */

 
/* Inter Regular (400) */
@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Inter SemiBold (600) */
@font-face {
  font-family: "Inter";
  src: url("/fonts/Inter-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}



/* -------- VÁLTOZÓK -------- */
:root{
  /* Színek, árnyék, radius, layout */
  --bg: #ffffff;
  --text: #1f2937;        /* slate-800 */
  --muted:#6b7280;        /* gray-500 */
  --primary:#227EBE;      /* sky-500 */
  --primary-600:#0284c7;  /* sky-600 */
  --primary-700:#0369a1;  /* sky-700 */
  --accent:#f59e0b;       /* amber-500 */
  --surface:#f8fafc;      /* slate-50 */
  --ring: rgba(14,165,233,.35);
  --radius: 18px;
  --shadow: 0 6px 24px rgba(2,8,23,.08);
  --maxw: 1120px;

  /* Elválasztó csík */
  --divider-h: 6px;
  --divider-h-mobile: 4px;
  --divider-radius: 999px;

  /* Team fotó oszlop */
  --team-photo-w: 220px;

  /* Logók rács */
  --logo-card-h: 96px;
  --logo-max-h: 60px;
  --logo-gap: 20px;
  --logo-radius: 14px;
  --logo-border: #e5e7eb; /* slate-200 */
  --logo-shadow: 0 2px 8px rgba(2,8,23,.08);
  --logo-overlay: rgba(0,0,0,.62);
  --logo-bg: #fff;
}

/* -------- RESET / ALAPOK -------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[hidden] { display: none !important; }
body{
  margin:0;
  background:var(--bg);
  color:var(--muted);
  font-family:'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight:400;          /* Regular */
  line-height:1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,h2,h3,h4,h5,h6{
  color:var(--text);
  margin:0 0 .4em;
  font-weight:600;          /* SemiBold */
}

a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }

.container{
  max-width: var(--maxw);
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 28px);
}

/* Egységes függőleges ritmus: minden section kap belső térközt,
   és ha egymás után jönnek, kapnak plusz külső távolságot is. */
section{ padding:32px 0; }
section + section{ margin-top: 0; }

/* =========================
   HEADER / NAV
   ========================= */

.topbar { 
  position:fixed; 
  top: 0; 
  left: 0; 
  right: 0; 
  z-index: 1000; 
  background: #e5e7eb; /* halvány szürke háttér */ 
  margin: 0; 
  padding: 0; 
  line-height: 1; }

/* a tartalom ne csússzon a header alá */
body{ padding-top: 68px; }

/* nincs szükség a sticky-seam trükkre */
.topbar::after{ content: none; }


/* A topbar belső konténere legyen mindig KÖZÉPEN,
   és kapjon stabil belső oldalpaddot */
.topbar > .container{
  max-width: var(--maxw);
  margin-inline: auto;                       /* középre húzás */
  padding-inline: clamp(20px, 3.5vw, 28px);  /* ne tapadjon a szélhez */
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
}


header, .topbar, .nav {
  line-height: 1;
}

.brand {
  display: flex;
  gap: 12px;
  align-items: center;
  font-weight: 600;   /* SemiBold, ehhez van valódi font */
  margin-left: 0;
}


.brand .logo {
  inline-size:48px;
  block-size:48px;
}

.brand span{ color:#227EBE; }

.navlinks{ display:flex; gap:20px; align-items:center; }
.topbar .navlinks a {
  color: #227EBE;        /* régi kék szín a szövegekhez */
  font-weight: 600;
  text-decoration: none;
  padding: 0.5rem 1rem;
}

.topbar .navlinks a:hover {
  color: #0284c7;        /* sötétebb kék hover-re */
}

.navlinks a.active,
.navlinks a[aria-current="page"]{
  background:rgba(255,255,255,.22);
}
/* Kapcsolat gomb */
.topbar .navlinks .cta {
  background: #227EBE;   /* kék háttér */
  color: #fff;           /* fehér felirat */
  border-radius: 999px;
  padding: 0.5rem 1.2rem;
  font-weight: 600;
  display: inline-block;
}

.topbar .navlinks .cta:hover {
  background: #0284c7;   /* sötétebb kék hover-re */
}



/* =========================
   CTA GOMBOK
   ========================= */
.cta{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background: var(--primary); color:#fff;
  padding:12px 18px; border-radius:12px; font-weight:600; line-height:1.1;
  box-shadow: var(--shadow);
  transition: background .2s ease, transform .06s ease;
}
.cta:hover{ background:var(--primary-600); transform: translateY(-1px); }
.cta:active{ transform: translateY(0); }
.cta.equal{ width: clamp(200px, 22vw, 260px); }
@media (max-width:520px){ .cta.equal{ width:100%; max-width:320px; } }


/* Hero cím alatti csík – fix és elsőbbséget élvez */
#home .text-overlay h1.overlay-title::after {
  content: "";
  display: block;
  width: 280px;        
  height: 6px;
  margin: 12px auto 0;
  background: var(--primary);
  border-radius: 999px;
}

/* =========================
   Banner (promo) – TISZTA VERZIÓ
   ========================= */
.promo{ margin:0; padding:0; }
.promo .image-block{
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}
.promo .image-block figure,
.promo .image-block { margin:0; }

/* vízszintes görgetés megelőzése */
html, body { max-width:100%; overflow-x:hidden; }

/* A <picture> és az <img> mindig töltse ki a blokkot */
.hero-media{ display:block; }
.hero-media img{
  display:block;
  width:100%;
  object-fit: cover;
  object-position: 50% 38%;    /* kicsit feljebb a fókusz (kéz-szív) */
}

/* Desktop – alacsonyabb és középre fókusz */
@media (min-width: 860px){
  .promo .hero-media img{
    height: clamp(480px, 75vh, 840px);
    object-position: 50% 50%;
  }
}

/* Szöveg az image tetején */
.text-overlay{
  position: absolute;
  inset: 0;
  display: grid;
  align-items: start;
  justify-items: center;
  text-align: center;
  padding-top: clamp(30px, 8vh, 80px);   /* rugalmas távolság felül */
}
.text-overlay > div{ padding:16px 24px; }

.overlay-title{
  color:#fff; margin:0 0 8px;
  font-size: clamp(32px, 6vw, 56px);
  line-height:1.1;
}
.overlay-sub{
  color:#fff; margin:0;
  font-size: clamp(16px, 2.5vw, 22px);
}

/* Cím alatti kék csík */
#home .text-overlay h1.overlay-title::after{
  content:""; display:block;
  width:280px; height:6px; margin:12px auto 0;
  background: var(--primary);
  border-radius:999px;
}

/* MOBIL – magasság a KIJELZŐ SZÉLESSÉGÉHEZ kötve (stabil) */
@media (max-width: 860px){
  .promo .hero-media img{
    height: clamp(320px, 75vw, 520px);  /* <- EZ a lényeg */
    object-position: 50% 38%;           /* kicsit feljebb a fókusz */
  }
  /* ha a 100vw bleed kavar, mobilon kapcsold ki */
  .promo .image-block{
    width:100%;
    margin-left:0;
    margin-right:0;
  }
  /* a szöveg belógásának finomhangolása */
  .text-overlay{
    padding-top: clamp(8px, 4vw, 36px);
  }
  .overlay-sub{
    font-weight: 600; /* kicsit vastagabb, de nem teljes bold */
  }
 }

 /* ===== Hero belépő animáció – gyors & egyszerű ===== */

/* Mozgás csak akkor, ha a felhasználó nem kérte a mozgás csökkentését */
@media (prefers-reduced-motion: no-preference){
  /* Kezdő állapotok (villanás ellen) */
  #home .overlay-title,
  #home .overlay-sub{
    opacity: 0;
    transform: translateY(18px);
  }

  /* Cím beúszás + halványodás */
  #home .overlay-title{
    animation: fadeSlideUp .9s ease-out .15s forwards;
  }

  /* Alcím kicsit később */
  #home .overlay-sub{
    animation: fadeSlideUp .9s ease-out .35s forwards;
  }

  /* A kék csík “kirajzolódik” (skála X irányban) */
  #home .overlay-title::after{
    transform: scaleX(0);
    transform-origin: 50% 50%;
    animation: underlineGrow .7s ease-out .9s forwards;
  }

  @keyframes fadeSlideUp{
    from{ opacity:0; transform: translateY(18px); }
    to  { opacity:1; transform: translateY(0);   }
  }
  @keyframes underlineGrow{
    from{ transform: scaleX(0); }
    to  { transform: scaleX(1); }
  }
}

/* ===== Hero belépő animáció – betűnként ===== */
@media (prefers-reduced-motion: no-preference){
  #home .overlay-title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    animation: fadeSlideUp .7s ease-out forwards;
  }

  /* Betűnként delay (nth-child alapján) */
  #home .overlay-title span:nth-child(1){ animation-delay: 0.05s; }
  #home .overlay-title span:nth-child(2){ animation-delay: 0.15s; }
  #home .overlay-title span:nth-child(3){ animation-delay: 0.25s; }
  #home .overlay-title span:nth-child(4){ animation-delay: 0.35s; }
  #home .overlay-title span:nth-child(5){ animation-delay: 0.45s; }
  #home .overlay-title span:nth-child(6){ animation-delay: 0.55s; }
  #home .overlay-title span:nth-child(7){ animation-delay: 0.65s; }
  #home .overlay-title span:nth-child(8){ animation-delay: 0.75s; }
  #home .overlay-title span:nth-child(9){ animation-delay: 0.85s; }

  /* Alcím később */
  #home .overlay-sub{
    opacity:0;
    transform: translateY(14px);
    animation: fadeSlideUp .9s ease-out 1.2s forwards;
  }

  /* A kék csík animációval */
  #home .overlay-title::after{
    transform: scaleX(0);
    transform-origin: 50% 50%;
    animation: underlineGrow .7s ease-out 1.4s forwards;
  }

  @keyframes fadeSlideUp{
    from{ opacity:0; transform: translateY(20px); }
    to  { opacity:1; transform: translateY(0); }
  }
  @keyframes underlineGrow{
    from{ transform: scaleX(0); }
    to  { transform: scaleX(1); }
  }
}

/* =========================
   HERO
   ========================= */

.hero{ position:relative; padding:28px 0 0; background:linear-gradient(180deg,#f0f9ff,#ffffff); }
.hero-about{ background: linear-gradient(180deg,#f0f9ff,#ffffff); }

.hero-grid{
  display:grid; grid-template-columns:1.2fr 1fr; gap:40px; align-items:center;
}
.eyebrow{
  font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--primary-600); font-weight:600;
}
h1{ font-size: clamp(32px, 5vw, 56px); line-height:1.1; margin:12px 0 12px; }
.lead{ font-size: clamp(16px, 2.5vw, 20px); color:var(--muted); max-width:65ch; line-height:1.6; }
.hero .lead{ margin:16px auto 0; }

.page-title{ margin:12px 0 8px; }
.intro{ max-width:78ch; color:var(--text); }

@media (max-width: 860px){
  .hero-grid{
  grid-template-columns: 1fr;
  }
}

/* =========================
   SZEKCIÓK / KÁRTYÁK
   ========================= */

.section-head{
  display:flex; flex-direction:column; align-items:flex-start; gap:12px; margin-bottom:20px;
}
.section-head h2{ font-size: clamp(26px, 4vw, 40px); margin:0; }
.muted{ color:var(--muted); }

.cards{
  display:grid; grid-template-columns: repeat(3, 1fr); gap:18px;
}
.card{
  background:var(--surface);
  border:1px solid #eef2f7;
  border-radius:var(--radius);
  padding:20px;
  box-shadow:var(--shadow);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease;
}
.card:hover, .card:focus-within{
  background:#f0f9ff; border-color:#bae6fd; box-shadow:0 12px 28px rgba(2,8,23,.12); transform:translateY(-3px);
}
.card h3{ margin:6px 0 10px; text-align:center; }
@media (max-width:920px){ .cards{ grid-template-columns:1fr; } }

/* „Miért mi?” – kártyák */
#miert .card{
  border-radius:16px;
  background:#fff;
  padding:1.5rem;
  box-shadow:0 0 14px rgba(14,165,233,.45);
  transition: transform .2s ease, box-shadow .2s ease;
  display:flex;
  flex-direction:column;
}

#miert .card:hover{
  transform:translateY(-4px);
  box-shadow:0 0 24px rgba(14,165,233,.6);
}

#miert .cards{ padding-bottom:24px; }

/* Címsor: fix hely (2 sor), középre igazítva → a bekezdés ugyanott indul minden kártyán */
#miert .card h3{
  margin:0 0 1rem;
  line-height:1.3;
  text-align:center;
  min-height:calc(1.3em * 2); /* 2 sor helyet foglal */
  display:block;              /* fontos: ne legyen flex */
}

/* (opcionális) a bekezdések maradjanak sorkizártak, egységes margóval */
#miert .card p{
  margin:0;
  text-align: justify;
  text-align-last: auto;
  hyphens: auto;
}




/* Rács – a kártyák nyújtása az egyforma magasságért */
.cards{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 28px;
  align-items: stretch;
}

/* Kártya: egyetlen oszlopos flex, hogy a gomb alul legyen */
.card{
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:16px;
  background:#fff;
  padding:1.5rem;
  box-shadow:0 0 14px rgba(14,165,233,.25);
}

/* Címsor margó */
.card h3{ margin:0 0 .75rem; }

/* A hosszú szöveg clampelve (alap: 8 sor) */
.clamp{
  --lines: 8;                         /* felülírható data-lines-szal */
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--lines);
  overflow:hidden;
}

/* Ha ki van nyitva, akkor megszűnik a clamp */
.card.expanded .clamp{
  -webkit-line-clamp: initial;
  overflow:visible;
}

/* Több/Kevesebb gomb – alapból rejtve (mobil) */
.card .toggle{
  display:none;
}

/* Csak DESKTOPON jelenjen meg */
@media (min-width: 861px){
  .card .toggle{
    margin-top:auto;                     /* lecsúszik a kártya aljára */
    display:inline-block;
    border:1px solid var(--primary, #227EBE);
    background:#fff;
    color:var(--primary, #227EBE);
    font-weight:600;
    padding:.55rem .9rem;
    border-radius:999px;
    cursor:pointer;
  }

  .card.expanded .toggle{
    background:var(--primary, #227EBE);
    color:#fff;
  }
}



/* Elválasztó csík az alján – EXTRA térköz, hogy ne „tapadjon” a következő szekcióhoz */
.divider{ position:relative; padding-bottom:0; margin-bottom:0; }
.divider::after{
  content:""; display:block;
  height:var(--divider-h);
  width:clamp(200px, 60vw, 960px);
  margin:24px auto 0;
  background:var(--primary);
  border-radius:var(--divider-radius);
}
@media (max-width:600px){
  .divider{ padding-bottom:6px; margin-bottom:6px; }
  .divider::after{ height:var(--divider-h-mobile); width:75%; margin:24px auto 0; }
}


/* =========================
   RÓLUNK/KIK VAGYUNK
   ========================= */

.team{ display:grid; grid-template-columns: repeat(2,1fr); gap:18px; }
.member{
  background:#fff; border:1px solid #eef2f7; border-radius:var(--radius);
  padding:18px; box-shadow:var(--shadow);
}
.member .row{
  display:grid; grid-template-columns: var(--team-photo-w) 1fr;
  gap:18px; align-items:start;
}
.member .portrait{
  width:100%; aspect-ratio:3/4; object-fit:cover;
  border-radius:12px; box-shadow:var(--shadow);
}
.member-name{ margin:0 0 4px; }
.member .muted{ margin:0 0 8px; }
.member > p {
  color: var(--muted);
  text-align: justify;
  text-align-last: auto;
  hyphens: auto;
}


/* Pozíció (közvetlenül a név után) */

.member .row h3 + .muted,
.member .row .member-name + .muted{
  font-size:1.08rem; font-weight:400; color:var(--text);
}
h2 + p {
  margin-top: 12px;   /* állítsd 12–20px közé, ahogy jól néz ki */
}

@media (max-width:720px){ :root{ --team-photo-w: 160px; } }
@media (max-width:860px){ .team{ grid-template-columns:1fr; } }

/* =========================
   ÜGYFELEK – LOGÓK (clean)
   ========================= */

.logo-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--logo-gap);
  align-items:stretch;
  justify-items:center;
  margin-top:1.5rem;
}

.logo-grid a.logo{
  display:block;
  width:100%;
  height:100%;
  text-decoration:none;
}

.logo-grid .logo-box{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:var(--logo-card-h);
  background:var(--logo-bg);
  border:1px solid var(--logo-border);
  border-radius:var(--logo-radius);
  padding:10px 14px;
  box-shadow:var(--logo-shadow);
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}

/* a kép méretezése */
.logo-grid .logo-box img{
  max-height:var(--logo-max-h);
  max-width:100%;
  width:auto;
  height:auto;
  object-fit:contain;
  display:block;
  transition:transform .3s ease;
}

/* overlay réteg: bármilyen világos logón is olvasható lesz */
.logo-grid .logo-box .overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px;
  text-align:center;
  color:#fff;
  background:var(--logo-overlay);
  opacity:0;
  transition:opacity .3s ease;
}

.logo-grid .logo-box .logo-name{
  font-weight:600;
  font-size:.9rem;
  line-height:1.4;
  text-wrap:balance;
}

/* hover – csak desktopon */
@media (hover:hover) and (pointer:fine){
  .logo-grid a.logo:hover .logo-box{
    transform:translateY(-2px);
    box-shadow:0 10px 22px rgba(2,8,23,.12);
  }
  .logo-grid a.logo:hover .logo-box img{
    transform:scale(1.05);
  }
  .logo-grid a.logo:hover .logo-box .overlay{
    opacity:1;
  }
}

/* reduced motion támogatás */
@media (prefers-reduced-motion: reduce){
  .logo-grid .logo-box,
  .logo-grid .logo-box img,
  .logo-grid .logo-box .overlay{ transition:none; }
}


/* =========================
   LÁBLÉC
   ========================= */
footer{ padding:36px 0; background:#0b1220; color:#e5e7eb; }
footer a{ color:#e5e7eb; }
.footer-flex{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }

/* =========================
   UTILITY-K
   ========================= */
.center{ display:grid; place-items:center; }
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:920px){ .grid-2{ grid-template-columns:1fr; } }
.text-justify{ text-align:justify; }
.text-center{ text-align:center; }
.mt-16{ margin-top:16px; }
.mt-6{ margin-top:6px; }
.surface{ background:var(--surface); }
.container--narrow{ max-width:600px; }

html { scroll-behavior: smooth; }

/* ha a topbar fix/sticky, adunk margót a célpontnak */
section[id] {
  scroll-margin-top: 64px;
}

/* Slide-in reveal alap */
.reveal{
  opacity: 0;
  transform: translateX(var(--offset, 0)) scale(1.1);
  transition: transform 1.2s ease, opacity 1.2s ease;
}

.reveal.in-view{
  opacity: 1;
  transform: none;
}

/* Irányok */
.from-left { --offset: -180px; }
.from-right{ --offset:  180px; }

/* Amikor látszik */
.reveal.in-view{
  opacity: 1;
  transform: none;
}

/* Apró késleltetés lehetőség data attribútummal (opcionális) */
.reveal[data-delay="1"]{ transition-delay: .08s; }
.reveal[data-delay="2"]{ transition-delay: .16s; }
.reveal[data-delay="3"]{ transition-delay: .24s; }

/* Akik kérik a kevesebb animációt */
@media (prefers-reduced-motion: reduce){
  .reveal{ opacity: 1; transform: none; transition: none; }
}

/* =========================
   SZOLGÁLTATÁSOK – FEATURE GRID (mobil-first, biztos felülírással)
   ========================= */

/* MOBIL: mindig KÉP → SZÖVEG egymás alatt */
.feature{
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 36px 0;
}

/* kényszerített sorrend – ha bárhol volt even-csere */
.feature .feat-media{ order: 1 !important; }
.feature .feat-copy { order: 2 !important; }

/* vizuál */
.feat-media{
  width: 100%;
  max-width: 520px;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: var(--shadow);
  background: #f1f5f9;
}

.feat-media img{
  width: 100%;
  height: clamp(220px, 28vw, 320px);
  object-fit: cover;
}
.feat-copy h3{ margin: 0 0 8px; font-size: clamp(20px, 3.5vw, 26px); }
.feat-copy p{ margin: 0; color: var(--muted); }


/* DESKTOP / TABLET: itt váltogatunk */
@media (min-width: 921px){
  .feature{
    display: grid;
    grid-template-columns: minmax(300px, 520px) 1fr;
    gap: 36px;
    align-items: center;
    margin: 48px 0;
  }

  /* alap: balra kép, jobbra szöveg */
  .feature .feat-media{ order: 1 !important; }
  .feature .feat-copy  { order: 2 !important; }

  /* csak DESKTOPON cseréljük a páros blokkokat */
  .feature:nth-child(even) .feat-media{ order: 2 !important; }
  .feature:nth-child(even) .feat-copy  { order: 1 !important; }
}


/* Alap (desktop): gomb rejtve */
.menu-btn{
  display:none;
  width:44px; height:44px;
  padding:8px;
  background:rgba(255,255,255,.15);
  border:0; border-radius:12px;
  color:#fff; line-height:1;
  cursor:pointer;
  transition: background .3s ease, transform .2s ease;
}
.menu-btn:hover{ background:rgba(255,255,255,.25); transform:scale(1.05); }
.menu-btn:active{ transform:scale(.95); }

/* Csíkok */
.menu-btn .bar{
  display:block;
  width:24px; height:3px;
  background:#fff; border-radius:2px;
  transition: transform .4s ease, opacity .3s ease;
}

/* Alap: desktopon rejtve */
.menu-wrapper { display: none; }
/* (opcionális) biztos ami biztos: */
#mobile-menu { display: none; }

/* ===== MOBIL NÉZET – hamburger + mobilmenü ===== */
@media (max-width: 860px){

  /* Desktop nav elrejtése */
  .navlinks{ display:none; }

  /* A hamburger + "Menü" felirat konténere csak mobilon látszódjon */
  .menu-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  /* "Menü" felirat mobilon */
  .menu-text {
    display: inline-block;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: #227EBE; /* legyen kék az új világos topbaron */
  }

  /* Hamburger gomb */
  .menu-btn{
    display:inline-flex;
    width:48px;
    height:48px;
    padding:8px;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:5px;
    background:rgba(255,255,255,.15);
    border:0; border-radius:12px;
    cursor:pointer;
  }

  /* A csíkok színe – világos topbaron inkább legyen kék */
  .menu-btn .bar{
    width:26px;
    height:3px;
    background:#227EBE;   /* régen #fff volt */
    border-radius:2px;
  }

  /* Mobil menü doboz */
  #mobile-menu[hidden]{ display:none; }
  #mobile-menu{
    display:block;
    position:absolute; top:68px; left:0; right:0;
    background:#fff;
    border-bottom:1px solid #eef2f7;
    box-shadow: var(--shadow);
    z-index: 1000;
  }
  #mobile-menu a{
    display:block; padding:14px 20px; color:#0f172a;
  }
  #mobile-menu a:hover{ background:#f1f5f9; }
}

/* ===== Szolgáltatások cím alatti térköz – feszesítés ===== */

/* A cím (page-hero) alja legyen kisebb */
.page-hero{ padding-bottom: 8px !important; }

/* A cím UTÁNI első blokk teteje is legyen kisebb – akármi is az (section/div) */
.page-hero + *{ padding-top: 8px !important; }

/* Az első feature ne tegyen még plusz felső margót */
.page-hero + * .container > .feature:first-child{
  margin-top: 0 !important;
}

/* A többi feature maradhat levegősebb */
.page-hero + * .feature + .feature{
  margin-top: 32px !important;
} 



