/* --------------------
   Alapszínek
-------------------- */
:root{
  --primary-color:#12f37a;
  --secondary-color:#0d1b2a;
  --bg-light:#f5f7fa;
  --bg-dark:#111;
  --text-dark:#222;
  --text-light:#eee;
}

/* --------------------
   Alap ritmus
-------------------- */
.section{ padding:2.5rem 0; }
.section h2{ margin:0 0 1rem; }
.section p{ margin:.75rem 0; line-height:1.6; }

/* --------------------
   Gombok
-------------------- */
.btn-primary{
  display:inline-block;
  background:var(--primary-color);
  color:#fff; text-decoration:none;
  padding:.7rem 1.6rem; border-radius:8px;
  font-weight:700; transition:transform .25s ease, background .25s ease;
}
.btn-primary:hover{ transform:translateY(-1px); background:#0dc96a; }

/* --------------------
   HERO
-------------------- */
.hero{
  position:relative;
  min-height:62vh;            /* imázs-fókusz */
  display:grid; place-items:center;
  text-align:center;
}
@media (max-width:768px){
  .hero{ min-height:50vh; }
}

/* Kapcsolat szekció */
.contact-section{padding:64px 0 40px}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:start}
@media (max-width: 960px){ .contact-grid{grid-template-columns:1fr} }

.contact-card{background:#fff;border:1px solid #eee;border-radius:16px;padding:24px 24px 28px;box-shadow:0 8px 28px rgba(0,0,0,.06)}
.contact-card h2{margin:0 0 6px}
.contact-card .muted{color:#666;margin:0 0 18px}

.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width: 640px){ .contact-form .row{grid-template-columns:1fr} }

.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.9rem;color:#555}
.field input,
.field textarea{
  width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:12px;
  outline:none;background:#fff;transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field textarea:focus{border-color:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.12)}

.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;cursor:pointer;font-weight:700}
.btn-primary{background:#22e676;color:#0b2b18;padding:12px 18px;box-shadow:0 8px 18px rgba(34,230,118,.25)}
.btn-primary:hover{filter:brightness(.98)}
.btn-full{width:100%;margin-top:8px}

/* Oldalsáv infó */
.contact-info{border:1px solid #eee;border-radius:16px;padding:20px;background:#fafafa}
.contact-info h3{margin-top:0}
.contact-info ul{list-style:none;margin:10px 0 0;padding:0;color:#333;display:grid;gap:8px}
.contact-info .badges{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.contact-info .badges span{background:#fff;border:1px solid #e6e6e6;border-radius:999px;padding:6px 10px;font-size:.85rem}


.hero-bg{
  position:absolute; inset:0;
  background-size:cover;
  background-position:center;
  transition:opacity .8s ease;
  z-index:0; opacity:1;
}
.hero-bg.hidden{ opacity:0; }

/* Fallback azonnali kép */
.hero-bg-initial{
  background-image:url("/assets/img/hero/hero-1.jpg");
  background-size:cover; background-position:center;
}

/* Overlay – kicsit enyhébb, hogy a fotó látszódjon */
.hero::after{
  content:""; position:absolute; inset:0;
  background:rgba(0,0,0,.28); z-index:1;
}

.hero .hero-inner{
  position:relative; z-index:2; color:#fff;
  padding:4rem 1rem; max-width:900px;
  text-shadow:0 2px 10px rgba(0,0,0,.35);
}

.hero h1{ font-size:2.2rem; margin-bottom:1rem; }
.hero p{ font-size:1.05rem; margin-bottom:1rem; }

/* Előny-chipek */
.hero-chips{
  position:relative; z-index:2;
  margin:1rem auto 0;
  display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center;
  max-width:1100px; padding:.6rem .8rem;
}
.hero-chips span{
  background:#fff; color:#0d1b2a;
  border:1px solid #e8e8e8; border-radius:999px;
  padding:.45rem .75rem; font-weight:700; font-size:.95rem;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
}

/* Hullámos elválasztó a hero alján */
.hero-wave{
  position:absolute; left:0; right:0; bottom:-1px;
  pointer-events:none; z-index:1;
}
.hero-wave svg{ width:100%; height:80px; display:block; }
.hero-wave path{ fill:var(--bg-light); opacity:.95; }

/* --------------------
   Kártyák (packages)
-------------------- */
.cards{
  display:grid; gap:1.5rem;
  grid-template-columns:repeat(auto-fit, minmax(250px,1fr));
  margin-top:2rem;
}
.card{
  background:#fff; color:inherit; text-decoration:none;
  border-radius:12px; padding:1.5rem; text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.card:hover{ transform:translateY(-5px); box-shadow:0 6px 16px rgba(0,0,0,.15); }

/* --------------------
   Services blokk (szöveg + kép)
-------------------- */
.services .container{
  display:grid; grid-template-columns:1.2fr .8fr;
  gap:2rem; align-items:start;
}
.services .image img{
  width:100%; height:auto; max-height:400px;
  object-fit:cover; border-radius:12px; display:block;
}
@media (max-width:992px){
  .services .container{ grid-template-columns:1fr; }
  .services .image img{ max-height:320px; }
}

/* --------------------
   Form / Grid
-------------------- */
.grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:720px){ .grid{ grid-template-columns:1fr; } }

form input, form textarea, form button{
  width:100%; padding:.6rem; border:1px solid #ccc; border-radius:8px; font-size:1rem;
}
form textarea{ resize:vertical; }
form button{ background:var(--primary-color); color:#fff; border:none; cursor:pointer; }
form button:hover{ background:#0dc96a; }

/* --------------------
   Footer
-------------------- */
.footer{ background:#111; color:#eee; padding:2rem 0; }
.footer-bottom{ text-align:center; margin-top:2rem; color:#aaa; }

/* --------------------
   Scroll reveal
-------------------- */
@media (prefers-reduced-motion:no-preference){
  .reveal-base{ opacity:0; transform:translateY(0); transition:opacity .6s, transform .6s; }
  .reveal-fade{ opacity:0; }
  .reveal-up{ transform:translateY(20px); }
  .reveal-right{ transform:translateX(30px); }
  .reveal-in{ opacity:1 !important; transform:none !important; }
  .reveal-delay-1{ transition-delay:.1s; }
  .reveal-delay-2{ transition-delay:.2s; }
  .reveal-delay-3{ transition-delay:.3s; }
  .reveal-delay-4{ transition-delay:.4s; }
}

/* ===== Header / Navigation ===== */
.site-header{
  position: sticky; top: 0; z-index: 1000;
  background: #ffffffcc; backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid #eee;
}
.nav-bar{
  display:flex; align-items:center; justify-content:space-between;
  gap:1rem; padding:.75rem 0;
}
.logo img{ height:34px; display:block; }

.main-nav{
  display:flex; gap:1rem; align-items:center;
}
.main-nav a{
  color:#0d1b2a; text-decoration:none; font-weight:600;
  padding:.4rem .6rem; border-radius:8px;
}
.main-nav a:hover{ background:#f1f3f5; }

.lang-switch{ display:flex; align-items:center; gap:.35rem; font-weight:700; color:#667; }
.lang-switch .sep{ color:#bbb; }

/* Burger */
.burger{
  display:none; border:1px solid #ddd; background:#fff; border-radius:8px;
  padding:.4rem .6rem; font-size:1.1rem; cursor:pointer;
}

/* Mobil layout */
@media (max-width: 900px){
  .burger{ display:block; }
  .main-nav{
    position:absolute; left:0; right:0; top:100%;
    background:#fff; border-bottom:1px solid #eee;
    display:none; flex-direction:column; padding:.5rem;
  }
  .nav-open .main-nav{ display:flex; }
  .lang-switch{ display:none; }
}

/* alternatíva: marad áttetsző, de a header alá „maszkoljuk” a képet */
.site-header{
  position: sticky; top: 0; z-index: 1000;
  background: #ffffffcc;
  backdrop-filter: saturate(180%) blur(8px);
  border-bottom: 1px solid #eee;
}
.hero { margin-top: 0; }

/* ===== CIKKEK ===== */
.articles{padding:56px 0;background:linear-gradient(180deg,#fafafa 0%,#fff 100%)}
.articles .articles-head{
  display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px
}
.articles .see-all{font-weight:600;text-decoration:none;color:#0ea5e9}

.article-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:22px
}
@media (max-width: 1100px){ .article-grid{grid-template-columns:repeat(2,1fr)} }
@media (max-width: 640px){  .article-grid{grid-template-columns:1fr} }

.article-card{
  display:flex;flex-direction:column;overflow:hidden;background:#fff;
  border:1px solid #eee;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.06);
  transition:transform .2s ease, box-shadow .2s ease
}
.article-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.09)}

.article-card .cover{
  display:block;position:relative;padding-top:58%;
  background:#f4f6f8 center/cover no-repeat
}

.article-card .content{padding:16px 16px 18px;display:flex;flex:1;flex-direction:column}
.article-card .badge{
  display:inline-block;background:#eef6ff;color:#0b65c2;border:1px solid #d9eaff;
  padding:4px 8px;border-radius:999px;font-size:.8rem;margin-bottom:10px
}
.article-card h3{margin:0 0 8px;font-size:1.1rem;line-height:1.3}
.article-card h3 a{text-decoration:none;color:#111}
.article-card p{margin:0 0 12px;color:#555}
.article-card .readmore{margin-top:auto;color:#0ea5e9;text-decoration:none;font-weight:600}

.article-card.highlight{
  background:linear-gradient(180deg,#ffffff 0%,#f7fbff 100%);
  border:1px solid #e7efff
}
.article-card .ticks{list-style:none;margin:8px 0 14px;padding:0;display:grid;gap:6px;color:#333}
.article-card .ticks li::before{content:"✔";margin-right:8px;color:#10b981}
.article-card .btn-primary{
  display:inline-flex;align-items:center;justify-content:center;
  background:#22e676;color:#0b2b18;border-radius:10px;padding:10px 14px;
  text-decoration:none;font-weight:700;box-shadow:0 8px 18px rgba(34,230,118,.25)
}
/* ==== Boxy-stílusú CTA / cikkes kártya ==== */
:root{
  --radius-xl: 24px;
  --shadow-xl: 0 18px 50px rgba(0,0,0,.10);
  --brand: #0ea5e9;          /* kék akcentus */
  --brand-2: #22e676;        /* zöld CTA */
}

.cta-slab{
  padding:72px 0;
  background:
    radial-gradient(900px 480px at 0% -10%, rgba(14,165,233,.10), transparent 60%),
    radial-gradient(900px 480px at 100% 10%, rgba(34,230,118,.10), transparent 60%),
    linear-gradient(180deg,#fafafa 0%,#fff 100%);
}

.cta-card{
  display:grid; grid-template-columns:1.05fr 1fr; gap:36px;
  background:#fff; border:1px solid #e9eef5; border-radius:var(--radius-xl);
  padding:28px; box-shadow:var(--shadow-xl);
}
@media (max-width: 980px){ .cta-card{grid-template-columns:1fr; padding:22px} }

.cta-article h2{margin:0 0 8px; font-size:2rem}
.cta-article .lead{margin:0 0 18px; color:#555}

.icon-list{list-style:none; margin:0; padding:0; display:grid; gap:12px}
.icon-list li{display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:flex-start}
.icon-list .ic{height:32px; width:32px; display:grid; place-items:center; border-radius:10px;
  background:#eef6ff; color:#0b65c2; font-size:18px}

.trust-row{display:flex; flex-wrap:wrap; gap:8px; margin-top:16px}
.pill{background:#fff;border:1px solid #e6edf5;border-radius:999px;padding:6px 10px;font-size:.85rem}

.cta-form{background:#fff;border:1px solid #eef2f6;border-radius:var(--radius-xl);
  padding:18px 18px 20px}
.cta-form .grid.two{display:grid; grid-template-columns:1fr 1fr; gap:12px}
@media (max-width: 640px){ .cta-form .grid.two{grid-template-columns:1fr} }

.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:.9rem;color:#555}
.field input,.field textarea{
  width:100%;padding:12px 14px;border:1px solid #dfe6ee;border-radius:12px;background:#fff;
  outline:none; transition:border-color .2s, box-shadow .2s;
}
.field input:focus,.field textarea:focus{
  border-color:var(--brand); box-shadow:0 0 0 4px rgba(14,165,233,.12)
}

.check{display:flex;align-items:flex-start;gap:10px;margin:8px 0 12px;font-size:.95rem;color:#333}
.check input{margin-top:4px}

.btn-primary{display:inline-flex;align-items:center;justify-content:center;
  background:var(--brand-2); color:#0b2b18; border:0; border-radius:12px; padding:10px 14px;
  font-weight:700; text-decoration:none; box-shadow:0 10px 22px rgba(34,230,118,.25); cursor:pointer}
.btn-primary.big{width:100%; padding:14px 16px; font-size:1.05rem}
.btn-primary:hover{filter:brightness(.98)}
.site-footer {
  background: #111;
  color: #eee;
  font-size: 0.95rem;
  padding: 60px 0 30px;
}

.site-footer a {
  color: #ddd;
  text-decoration: none;
}

.site-footer a:hover {
  color: #12f37a;
}

/* Rács elrendezés */
.foot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 40px;
  align-items: start;
}

.foot-brand strong {
  font-size: 1.2rem;
  color: #fff;
}

.foot-contacts {
  list-style: none;
  margin: 20px 0 0;
  padding: 0;
}

.foot-contacts li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 15px;
}

/* SVG ikonok méretezése és igazítása */
.foot-contacts svg {
  width: 22px;
  height: 22px;
  fill: #12f37a;
  flex-shrink: 0;
  vertical-align: middle;
}

/* Szövegek igazítása */
.foot-contacts a {
  color: #ccc;
  font-size: 0.95rem;
  line-height: 1.4;
}

.foot-contacts a:hover {
  color: #12f37a;
}

/* Navigációs részek */
.foot-nav ul,
.foot-legal ul {
  list-style: none;
  padding: 0;
  margin: 10px 0 0;
}

.foot-nav li,
.foot-legal li {
  margin-bottom: 8px;
}

/* Social ikonok */
.social svg {
  width: 24px;
  height: 24px;
  fill: #ccc;
  transition: fill 0.3s ease;
}

.social a:hover svg {
  fill: #12f37a;
}

/* Alsó sáv */
.foot-copy {
  border-top: 1px solid #333;
  margin-top: 40px;
  padding-top: 15px;
  font-size: 0.85rem;
}

.copy-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.backtop {
  color: #12f37a;
}
/* --- Footer fix --- */
.site-footer .foot-contacts {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 20px 0 0;
}

.site-footer .foot-contacts li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px;
}

/* ikonok mérete + felülírás minden globális svg szabályra */
.site-footer svg {
  width: 22px !important;
  height: 22px !important;
  fill: #12f37a;
  flex: 0 0 22px;
}

/* linkek */
.site-footer .foot-contacts a {
  color: #ccc;
  font-size: 0.95rem;
  line-height: 1.35;
}
.site-footer .foot-contacts a:hover { color: #12f37a; }

/* rács elrendezés biztonságból */
.site-footer .foot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px;
  align-items: start;
}
/* --- Footer fix --- */
.site-footer .foot-contacts {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 20px 0 0;
}

.site-footer .foot-contacts li {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 14px;
}

/* ikonok mérete + felülírás minden globális svg szabályra */
.site-footer svg {
  width: 22px !important;
  height: 22px !important;
  fill: #12f37a;
  flex: 0 0 22px;
}

/* linkek */
.site-footer .foot-contacts a {
  color: #ccc;
  font-size: 0.95rem;
  line-height: 1.35;
}
.site-footer .foot-contacts a:hover { color: #12f37a; }

/* rács elrendezés biztonságból */
.site-footer .foot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px;
  align-items: start;
}
/* --- HARD FIX a footer ikonokra --- */
.site-footer .foot-contacts { list-style:none !important; padding-left:0 !important; }
.site-footer .foot-contacts li { display:flex !important; align-items:center !important; gap:12px !important; }
.site-footer .foot-contacts li svg { width:22px !important; height:22px !important; flex:0 0 22px !important; }
/* FOOTER végső fix */
.site-footer{ overflow:hidden; }
.site-footer .foot-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:32px;
  align-items:start;
}
.site-footer .foot-contacts{ list-style:none; padding-left:0; margin:20px 0 0; }
.site-footer .foot-contacts li{ display:flex; align-items:center; gap:12px; margin-bottom:14px; }

/* minden footer-beli SVG kicsi, még ha van globális svg { width:100% } is */
.site-footer svg{ width:24px !important; height:24px !important; display:inline-block; flex:0 0 24px; vertical-align:middle; }

/* jogi lista pöttyök ki */
.site-footer .foot-legal ul,
.site-footer .foot-nav ul{ list-style:none; padding-left:0; margin:10px 0 0; }

/* alsó sáv */
.foot-copy{ border-top:1px solid #333; margin-top:40px; padding-top:15px; font-size:.9rem; }
.copy-row{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; }
/* ---- Footer: Boxy-s layout és tipó ---- */
.site-footer {
  background: #f7f9fc;               /* világos háttér */
  background-image: radial-gradient(80rem 40rem at -20% 10%, #eef3fb 0%, transparent 60%),
                    radial-gradient(50rem 30rem at 120% 90%, #eef3fb 0%, transparent 60%);
  color: #2b2f33;
  padding: 64px 0 24px;
}

.foot-grid {
  display: grid;
  grid-template-columns: 1.2fr repeat(3, 1fr);
  gap: 48px;
  align-items: start;
}

.foot-brand strong { font-size: 1.4rem; display:block; margin-bottom: 10px; }
.foot-brand .muted { color: #5b6675; max-width: 38ch; line-height: 1.6; }

/* Kontakt sorok */
.foot-contacts{ list-style:none; padding:0; margin:20px 0 0; }
.foot-contacts li{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.site-footer .foot-contacts svg{ width:20px; height:20px; fill:#16c477; flex:0 0 20px; }

/* Oszlopok */
.foot-col strong{
  display:block;
  font-size:1rem;
  margin-bottom:12px;
  color:#2b2f33;
}
.foot-col ul{ list-style:none; padding:0; margin:0; }
.foot-col li{ margin:8px 0; }
.foot-col a{
  color:#51606f;
  text-decoration:none;
}
.foot-col a:hover{ color:#16c477; }

/* Social ikon */
.social { margin-top:12px; }
.social svg{ width:22px; height:22px; fill:#51606f; transition:fill .2s ease; }
.social a:hover svg{ fill:#16c477; }

/* Elválasztó és copy sor */
.foot-copy{
  border-top: 1px solid #e4e9f1;
  margin-top: 48px;
  padding-top: 14px;
  font-size: .9rem;
  color: #6a7683;
}
.copy-row{
  display:flex; justify-content:space-between; align-items:center; gap:

.ls-footer__brand .ls-footer__logo{
  display: inline-flex; align-items: center; gap: 10px; font-weight: 800;
}
.ls-footer__brand img{ height: 36px; width: auto; }
.ls-footer__logotype{ font-size: 18px; letter-spacing:.2px; }

.ls-footer__tagline{ margin: 10px 0 14px; color: var(--muted); }

.ls-footer__contacts{
  list-style: none; margin: 0; padding: 0; display: grid; gap: 10px;
}
.ls-footer__contacts li{ display:flex; align-items:center; gap:10px; }
.ls-footer__contacts svg{ width:18px; height:18px; fill: currentColor; color: var(--muted); flex:0 0 auto; }
.ls-footer__contacts a{ color: var(--text); }
.ls-footer__contacts a:hover{ color: var(--ring); }

.ls-footer__col h3{
  font-size: 16px; font-weight: 700; margin: 4px 0 10px;
}
.ls-footer__col ul{ list-style:none; margin:0; padding:0; }
.ls-footer__col li{ margin: 8px 0; }
.ls-footer__col a{ color: var(--muted); }
.ls-footer__col a:hover{ color: var(--ring); }

.ls-footer__socials{ margin-top: 14px; display:flex; gap:10px; }
.ls-footer__socials a{
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; background:#fff; border:1px solid var(--border); color:var(--muted);
}
.ls-footer__socials a:hover{ border-color: var(--ring); color: var(--ring); }
.ls-footer__socials svg{ width:18px; height:18px; }

.ls-footer__bottom{
  border-top: 1px solid var(--border);
  max-width: 1200px;
  margin: 0 auto;
  padding: 14px 20px 22px;
  display:flex; gap:16px; align-items:center; justify-content:space-between;
  color: var(--muted);
}
.ls-footer__toplink{ color: var(--muted); }
.ls-footer__toplink:hover{ color: var(--ring); }

/* responsive */
@media (max-width: 900px){
  .ls-footer__top{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px){
  .ls-footer__top{ grid-template-columns: 1fr; }
  .ls-footer__bottom{ flex-direction: column; text-align:center; }
}

/* opcionális: finom sötét mód */
@media (prefers-color-scheme: dark){
  .ls-footer{
    --bg:#0b0d12; --bg2:#0f1217; --text:#e5e7eb; --muted:#9aa3b2; --border:#1f2732; --ring:#6ea8fe;
  }
  .ls-footer__socials a{ background:#0f1217; }
}
/* ==== Footer contrast tweak (paste to the end) ==== */

/* ha a lábléc .ls-footer vagy .site-footer osztályt használ, mindkettőt lefedjük */
.ls-footer,
.site-footer{
  --bg: #eef2f7;          /* világosabb, de telítettebb háttér */
  --bg2:#e8edf4;
  --text:#0f172a;         /* sötétebb alap szöveg */
  --muted:#475569;        /* kontrasztosabb halványszöveg */
  --border:#cbd5e1;       /* erősebb elválasztó */
  --ring:#16a34a;         /* márkazöld (hover/links) */
  color: var(--text);
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}

/* címsorok legyenek kicsit erősebbek */
.ls-footer__col h3,
.foot-nav > strong,
.foot-legal > strong { 
  color: #0b1324;
  font-weight: 800;
}

/* linkek: alapból sötétebb, hover alatt zöld + aláhúzás */
.ls-footer a,
.site-footer a { 
  color: var(--text);
  text-decoration: none;
}
.ls-footer a:hover,
.site-footer a:hover {
  color: var(--ring);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}

/* kontakt ikonok: legyenek kontrasztosabbak */
.ls-footer__contacts svg,
.site-footer .foot-contacts svg { 
  color: #0f172a;
  opacity: .9;
}

/* alsó sáv: határozottabb vonal és kicsi árnyék */
.ls-footer__bottom,
.site-footer .foot-copy {
  border-top: 1px solid var(--border);
  box-shadow: 0 -1px 0 0 rgba(15,23,42,.04);
}

/* közösségi ikon gomb erősebb körvonallal */
.ls-footer__socials a,
.site-footer .social a {
  border-color: var(--border);
}
.ls-footer__socials a:hover,
.site-footer .social a:hover {
  border-color: var(--ring);
  color: var(--ring);
}

/* opcionális: kis méreten is megmaradjon a jó olvashatóság */
@media (max-width: 620px){
  .ls-footer, .site-footer { font-size: 16px; } /* +1px */
}

/* sötét mód – még kontrasztosabb */
@media (prefers-color-scheme: dark){
  .ls-footer, .site-footer{
    --bg:#0b0f16; --bg2:#0d131b;
    --text:#e5e7eb; --muted:#b8c1cc; --border:#1f2937; --ring:#22c55e;
  }
}
/* ==== Footer contrast tweak (paste to the end) ==== */

/* ha a lábléc .ls-footer vagy .site-footer osztályt használ, mindkettőt lefedjük */
.ls-footer,
.site-footer{
  --bg: #eef2f7;          /* világosabb, de telítettebb háttér */
  --bg2:#e8edf4;
  --text:#0f172a;         /* sötétebb alap szöveg */
  --muted:#475569;        /* kontrasztosabb halványszöveg */
  --border:#cbd5e1;       /* erősebb elválasztó */
  --ring:#16a34a;         /* márkazöld (hover/links) */
  color: var(--text);
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}

/* címsorok legyenek kicsit erősebbek */
.ls-footer__col h3,
.foot-nav > strong,
.foot-legal > strong { 
  color: #0b1324;
  font-weight: 800;
}

/* linkek: alapból sötétebb, hover alatt zöld + aláhúzás */
.ls-footer a,
.site-footer a { 
  color: var(--text);
  text-decoration: none;
}
.ls-footer a:hover,
.site-footer a:hover {
  color: var(--ring);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}

/* kontakt ikonok: legyenek kontrasztosabbak */
.ls-footer__contacts svg,
.site-footer .foot-contacts svg { 
  color: #0f172a;
  opacity: .9;
}

/* alsó sáv: határozottabb vonal és kicsi árnyék */
.ls-footer__bottom,
.site-footer .foot-copy {
  border-top: 1px solid var(--border);
  box-shadow: 0 -1px 0 0 rgba(15,23,42,.04);
}

/* közösségi ikon gomb erősebb körvonallal */
.ls-footer__socials a,
.site-footer .social a {
  border-color: var(--border);
}
.ls-footer__socials a:hover,
.site-footer .social a:hover {
  border-color: var(--ring);
  color: var(--ring);
}

/* opcionális: kis méreten is megmaradjon a jó olvashatóság */
@media (max-width: 620px){
  .ls-footer, .site-footer { font-size: 16px; } /* +1px */
}

/* sötét mód – még kontrasztosabb */
@media (prefers-color-scheme: dark){
  .ls-footer, .site-footer{
    --bg:#0b0f16; --bg2:#0d131b;
    --text:#e5e7eb; --muted:#b8c1cc; --border:#1f2937; --ring:#22c55e;
  }
}
/* ==== Footer contrast tweak (paste to the end) ==== */

/* ha a lábléc .ls-footer vagy .site-footer osztályt használ, mindkettőt lefedjük */
.ls-footer,
.site-footer{
  --bg: #eef2f7;          /* világosabb, de telítettebb háttér */
  --bg2:#e8edf4;
  --text:#0f172a;         /* sötétebb alap szöveg */
  --muted:#475569;        /* kontrasztosabb halványszöveg */
  --border:#cbd5e1;       /* erősebb elválasztó */
  --ring:#16a34a;         /* márkazöld (hover/links) */
  color: var(--text);
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
}

/* címsorok legyenek kicsit erősebbek */
.ls-footer__col h3,
.foot-nav > strong,
.foot-legal > strong { 
  color: #0b1324;
  font-weight: 800;
}

/* linkek: alapból sötétebb, hover alatt zöld + aláhúzás */
.ls-footer a,
.site-footer a { 
  color: var(--text);
  text-decoration: none;
}
.ls-footer a:hover,
.site-footer a:hover {
  color: var(--ring);
  text-decoration: underline;
  text-underline-offset: 2px;
  text-decoration-thickness: 2px;
}

/* kontakt ikonok: legyenek kontrasztosabbak */
.ls-footer__contacts svg,
.site-footer .foot-contacts svg { 
  color: #0f172a;
  opacity: .9;
}

/* alsó sáv: határozottabb vonal és kicsi árnyék */
.ls-footer__bottom,
.site-footer .foot-copy {
  border-top: 1px solid var(--border);
  box-shadow: 0 -1px 0 0 rgba(15,23,42,.04);
}

/* közösségi ikon gomb erősebb körvonallal */
.ls-footer__socials a,
.site-footer .social a {
  border-color: var(--border);
}
.ls-footer__socials a:hover,
.site-footer .social a:hover {
  border-color: var(--ring);
  color: var(--ring);
}

/* opcionális: kis méreten is megmaradjon a jó olvashatóság */
@media (max-width: 620px){
  .ls-footer, .site-footer { font-size: 16px; } /* +1px */
}

/* sötét mód – még kontrasztosabb */
@media (prefers-color-scheme: dark){
  .ls-footer, .site-footer{
    --bg:#0b0f16; --bg2:#0d131b;
    --text:#e5e7eb; --muted:#b8c1cc; --border:#1f2937; --ring:#22c55e;
  }
}
/* ==== FOOTER – STRONGER COLORS ==== */
.site-footer, .ls-footer{
  --bg:#e9eef5;      /* erősebb világos-kékesszürke */
  --bg2:#e3eaf3;
  --text:#0b1324;    /* sötétebb alapszöveg */
  --muted:#334155;   /* kontrasztos "halvány" szöveg */
  --border:#c0c9d6;  /* határozottabb elválasztó */
  --ring:#16a34a;    /* hover/kiemelés (zöld) */
  background: linear-gradient(180deg, var(--bg) 0%, var(--bg2) 100%);
  color: var(--text);
}

/* márkanév (Logistics Solution) legyen sötétebb és vastagabb */
.ls-footer__logotype,
.site-footer .foot-brand strong{
  color:#0b1324;
  font-weight:900;
  letter-spacing:.2px;
}

/* tagline/„muted” szövegek: sötétebb félkövér tónus */
.ls-footer__tagline,
.site-footer .muted{ color:#475569; }

/* listák/linkek alapból sötétek; hover alatt zöld + aláhúzás */
.ls-footer a,
.site-footer a{ color:#1f2937; text-decoration:none; }
.ls-footer a:hover,
.site-footer a:hover{
  color:var(--ring);
  text-decoration:underline;
  text-underline-offset:2px;
  text-decoration-thickness:2px;
}

/* oszlopcímek legyenek erősebbek */
.ls-footer__col h3,
.site-footer .foot-nav > strong,
.site-footer .foot-legal > strong{
  color:#0b1324;
  font-weight:800;
}

/* ikonok sötétebbek */
.ls-footer__contacts svg,
.site-footer .foot-contacts svg{ color:#0b1324; opacity:.95; }

/* alsó sáv erősebb elválasztóval */
.ls-footer__bottom,
.site-footer .foot-copy{
  border-top:1px solid var(--border);
  box-shadow:0 -1px 0 rgba(11,19,36,.06);
}

/* sötét mód – még nagyobb kontraszt */
@media (prefers-color-scheme: dark){
  .site-footer, .ls-footer{
    --bg:#0b0f16; --bg2:#0d131b;
    --text:#e6eaf0; --muted:#bcc6d3; --border:#1f2937; --ring:#22c55e;
  }
}
/* === FOOTER SUPER-OVERRIDE (place at absolute end) === */
:root{
  --ls-footer-bg:#e9eef5;
  --ls-footer-bg2:#e3eaf3;
  --ls-footer-text:#0b1324;
  --ls-footer-muted:#334155;
  --ls-footer-border:#c0c9d6;
  --ls-accent:#12f37a; /* a Te zölded a :root-ból */
}

body .site-footer{
  background: linear-gradient(180deg,var(--ls-footer-bg) 0%, var(--ls-footer-bg2) 100%) !important;
  color: var(--ls-footer-text) !important;
}

body .site-footer .foot-brand strong{
  color: var(--ls-footer-text) !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
}

body .site-footer .muted{ color: var(--ls-footer-muted) !important; }

body .site-footer a{
  color: var(--ls-footer-text) !important;
  text-decoration: none !important;
}
body .site-footer a:hover{
  color: var(--ls-accent) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 2px !important;
}

body .site-footer .foot-contacts svg{
  fill: var(--ls-accent) !important;
}

body .site-footer .foot-copy{
  border-top: 1px solid var(--ls-footer-border) !important;
  color: var(--ls-footer-muted) !important;
}


/* ===== Rólunk (About) – statok + logósor ===== */
.about-hero{background:linear-gradient(180deg,#fafafa 0%,#fff 100%)}
.about-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.about-head h2{margin:0 0 .25rem}
.about-sub{margin:0; color:#334155; font-size:1.1rem}

.about-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  margin:18px 0 8px; padding:0; list-style:none
}
.about-stats li{
  background:#fff; border:1px solid #e6edf5; border-radius:14px; padding:14px 12px;
  text-align:center; box-shadow:0 10px 26px rgba(0,0,0,.06)
}
.about-stats .n{display:block; font-weight:900; font-size:1.35rem; color:#0b1324}
.about-stats small{color:#64748b}

.about-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:start; margin-top:10px}
@media (max-width:980px){ .about-grid{grid-template-columns:1fr} .about-stats{grid-template-columns:repeat(2,1fr)} }
@media (max-width:520px){ .about-stats{grid-template-columns:1fr} }

.ticks{list-style:none; padding:0; margin:0 0 12px; color:#1f2937; display:grid; gap:8px}
.ticks li::before{content:"✔"; color:#16a34a; margin-right:8px}

.about-cta{display:flex; align-items:center; gap:14px}
.about-cta .link-more{color:#0ea5e9; text-decoration:none; font-weight:700}
.about-cta .link-more:hover{text-decoration:underline; text-underline-offset:2px}

/* oldalsó kártya */
.about-card{
  background:#fff; border:1px solid #e6edf5; border-radius:16px; padding:18px 16px;
  box-shadow:0 12px 30px rgba(0,0,0,.06)
}
.about-card h3{margin:0 0 8px}
.pill-row{display:flex; flex-wrap:wrap; gap:8px}
.pill{background:#fff; border:1px solid #e6edf5; border-radius:999px; padding:6px 10px; font-size:.9rem}
.muted{color:#64748b}

/* Logósor */
.brand-logos{
  display:flex; align-items:center; gap:22px;
  flex-wrap:wrap; margin:10px 0 18px; opacity:.95;
}
.brand-logos img{
  height:28px; width:auto; display:block;
  filter: grayscale(100%) contrast(1.05) brightness(0.9);
  transition: filter .2s ease, opacity .2s ease, transform .2s ease;
  opacity:.9;
}
.brand-logos img:hover{
  filter: none;
  opacity:1;
  transform: translateY(-1px);
}
@media (max-width:560px){
  .brand-logos{ gap:16px }
  .brand-logos img{ height:24px }
}
/* ==== Rólunk – kártyás statok + jobb oldali box ==== */
.about-hero{background:linear-gradient(180deg,#f7fafc 0%,#fff 100%)}
.about-head h2{margin:0 0 .35rem;font-size:2.25rem}
.about-sub{margin:0;color:#334155;font-size:1.1rem}

/* stat kártyák */
.about-stats.cards{
  display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  margin:20px 0 16px;padding:0;list-style:none
}
.about-stats.cards li{
  background:#fff;border:1px solid #e6edf5;border-radius:16px;
  padding:22px 16px;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.06)
}
.about-stats.cards .n{display:block;font-weight:900;font-size:1.6rem;line-height:1.1;color:#0b1324}
.about-stats.cards .lbl{display:block;margin-top:6px;color:#64748b;font-weight:600;font-size:.95rem}

/* elrendezés + jobb oldali infókártya */
.about-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:start;margin-top:6px}
@media (max-width:1100px){.about-stats.cards{grid-template-columns:repeat(2,1fr)}}
@media (max-width:760px){.about-grid{grid-template-columns:1fr}.about-stats.cards{grid-template-columns:1fr}}

.about-card{background:#fff;border:1px solid #e6edf5;border-radius:16px;padding:18px 16px;box-shadow:0 14px 34px rgba(0,0,0,.07)}
.about-card h3{margin:0 0 10px}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.pill{background:#fff;border:1px solid #e6edf5;border-radius:999px;padding:8px 12px;font-weight:700;font-size:.9rem}

/* logósor */
.brand-logos{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:10px 0 18px}
.brand-logos img{height:28px;width:auto;filter:grayscale(100%) contrast(1.05) brightness(.9);opacity:.9;transition:filter .2s,opacity .2s,transform .2s}
.brand-logos img:hover{filter:none;opacity:1;transform:translateY(-1px)}
@media (max-width:560px){.brand-logos img{height:24px}}

/* ==== Rólunk – kártyás statok (force) ==== */
.section.about-hero .about-stats.cards{
  list-style: none !important;
  margin: 20px 0 16px;
  padding: 0;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.section.about-hero .about-stats.cards > li{
  background:#fff;
  border:1px solid #e6edf5;
  border-radius:16px;
  padding:22px 16px;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.06);
}
.section.about-hero .about-stats.cards .n{
  display:block; font-weight:900; font-size:1.6rem; line-height:1.1; color:#0b1324;
}
.section.about-hero .about-stats.cards .lbl{
  display:block; margin-top:6px; color:#64748b; font-weight:600; font-size:.95rem;
}

/* elrendezés + jobb oldali kártya (ha még nincs) */
.section.about-hero .about-grid{
  display:grid; grid-template-columns:1.2fr .8fr; gap:24px; align-items:start; margin-top:8px;
}
.section.about-hero .about-card{
  background:#fff; border:1px solid #e6edf5; border-radius:16px; padding:18px 16px;
  box-shadow:0 14px 34px rgba(0,0,0,.07);
}
.section.about-hero .pill-row{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.section.about-hero .pill{ background:#fff; border:1px solid #e6edf5; border-radius:999px; padding:8px 12px; font-weight:700; font-size:.9rem; }

@media (max-width:1100px){
  .section.about-hero .about-stats.cards{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:760px){
  .section.about-hero .about-grid{ grid-template-columns:1fr; }
  .section.about-hero .about-stats.cards{ grid-template-columns:1fr; }
}
/* ===== CTA szekció (Kérj részletes ajánlatot) – stabil elrendezés + alsó hézag ===== */

/* A CTA két oszlopa mindig felül igazodjon (ne “billenjen” az űrlap) */
.cta-card{ align-items: start !important; }  /* .cta-card már létezik nálad */

/* A státusz-üzenet mindig foglaljon helyet (ne ugorjon a kártya magassága) */
#formMsg{ display:block; min-height:22px !important; margin-top:8px; color:#475569; }

/* A CTA szekció kapjon biztos alsó belső teret, hogy a következő blokk / footer ne tapadjon rá */
.cta-slab{ padding-bottom: clamp(56px, 6vw, 96px) !important; }  /* .cta-slab nálad már 72px paddinggel fut */

/* Biztonsági: a CTA után jövő első blokk legyen lejjebb és “tiszta” soron */
.articles{ margin-top: clamp(24px, 4vw, 40px) !important; clear: both; }  /* ha nincs .articles, elhagyható */
/* --- Cikkblokk és lábléc ne legyen egy sorban a 2 oszlopos gridben --- */
/* A 'Hasznos cikkek' szekció legyen teljes szélességű */
.articles,
.section.articles,
.articles-section {
  grid-column: 1 / -1 !important;  /* új sor, mindkét oszlopon át */
  margin-top: clamp(24px, 4vw, 40px);
}

/* A lábléc minden gridben törje a sort és spanolja a teljes szélességet */
footer.footer,
footer.site-footer,
.container > footer,
.main > footer {
  display: block;
  grid-column: 1 / -1 !important;  /* új sor, teljes szélesség */
  width: 100%;
  clear: both;                      /* ha maradt bárhol float */
  margin-top: clamp(24px, 3vw, 36px);
}
/* Köszönő oldal – stabil térköz és teljes szélességű footer */
.thanks-hero {               /* ha van hero a köszönő oldalon */
  padding-top: clamp(40px, 6vw, 80px);
  padding-bottom: clamp(24px, 4vw, 48px);
}

.thanks-steps {              /* a „Következő lépések” szekció */
  padding: clamp(24px, 4vw, 48px) 0;
  margin-bottom: clamp(40px, 6vw, 80px); /* legyen biztos alsó tér */
}

/* ha a lépések dobozai gridben vannak, mindig felül igazítsuk őket */
.thanks-steps .cards,
.thanks-steps .grid {
  align-items: start;
}

/* a lábléc mindig új soron, teljes szélességen jelenjen meg */
footer.footer,
footer.site-footer {
  grid-column: 1 / -1;       /* ha szülő gridben van */
  width: 100%;
  clear: both;               /* ha bárhol maradt float */
  margin-top: clamp(24px, 4vw, 48px);
}
/* ===== Footer fix – köszönő oldalon is ugyanaz a szélesség és tónus ===== */

/* A footer mindig teljes szélességet foglaljon */
footer.footer,
footer.site-footer {
  width: 100%;
  grid-column: 1 / -1;   /* ha gridben van a szülő */
  clear: both;           /* ha bárhol float maradt */
}

/* Központi konténer – ugyanaz a max-szélesség, mint a főoldalon */
footer.footer .container,
footer.site-footer .container {
  max-width: 1200px;     /* ha a főoldalon 1100/1200/1280 a szabványod, ide azt írd */
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Oszloprács stabilizálás (ha a footer gridet használ) */
footer.footer .cols,
footer.site-footer .cols,
footer.footer .footer-grid,
footer.site-footer .footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;   /* bal blokk + 3 oszlop */
  gap: 24px;
  align-items: start;
}
@media (max-width: 980px){
  footer.footer .cols,
  footer.site-footer .cols,
  footer.footer .footer-grid,
  footer.site-footer .footer-grid { grid-template-columns: 1fr; }
}

/* Ha valahol öröklődött halványítás/opacity, nullázzuk (ezért tűntek fakónak a linkek) */
footer.footer, footer.footer * ,
footer.site-footer, footer.site-footer * { opacity: 1; }

[id]{ scroll-margin-top: 80px; }  /* ha a header kb. 80px magas */
@media (max-width:900px){ [id]{ scroll-margin-top: 70px; } }

.ls-section-about {
  margin-top: 4rem;
}

.ls-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0 2rem;
}

.ls-stat {
  background: #f9fafb;
  border-radius: 1rem;
  padding: 1.25rem;
  text-align: center;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.ls-stat-number {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
}

.ls-stat-label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.9rem;
  color: #6b7280;
}

.ls-about-list {
  margin: 0 0 1.5rem;
  padding-left: 1.2rem;
}

.ls-about-subtitle {
  margin-top: 0.5rem;
  font-size: 1.1rem;
}
/* Csak a jogi / cookie oldalra vonatkozó finomhangolás */
body.legal-page {
  padding-top: 80px; /* igazítsd a header valós magasságához (pl. 70–90px) */
}

body.legal-page h1 {
  margin-top: 0;
}
/* Jogi oldalak (cookie, adatkezelés) felső térközének javítása */
body.legal-page main h1:first-of-type,
body.legal-page .page-header h1,
body.legal-page .document-title {
  margin-top: 0 !important;
  padding-top: 1.2rem !important;
}

/* Ha a jogi sablon egy külön fejléces boxot használ (pl. szürke sáv),
   annak is csökkentjük a belső paddingjét */
body.legal-page .page-header,
body.legal-page .cookie-header,
body.legal-page .document-header {
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
}

