/* =========================================================================
   GENERÁLT FÁJL – ne szerkeszd! Forrás: _html/assets/style.css
   Frissítés: python -X utf8 _a11y/wp_tema_szinkron.py
   ========================================================================= */
/* =========================================================================
   RÁCALMÁS – Közös stíluslap
   Színek: címer Duna-kék (#2E63B0) főszín, fehér háttér, címer arany akcentus (#E8B842)
   ========================================================================= */

:root{
  /* Ági színpalettája (Rácalmás arculat) — frissített élénkebb kék */
  --blue-900:#154C95;   /* fő márka kék — élénkebb, jobban olvasható */
  --blue-800:#1B5BAE;
  --blue-700:#154C95;
  --blue-500:#00B2FF;   /* 8% — világoskék: ikonok, kereső, info kártyák */
  --blue-100:#E0F4FF;
  --blue-50: #F3FAFF;
  --accent:  #ECB113;   /* 2% — Rácalmás mustársárga (logó) */
  --accent-warm:#F5C842;
  --accent-red:#CE2A2C;
  --beige:   #E6DFD3;   /* 70% — meleg bézs háttér */
  --beige-soft:#F0EBE3;
  --ink-900:#1A2433;
  --ink-700:#3A4759;
  --ink-500:#545F6E;   /* WCAG AA: ≥4.5:1 fehéren és bézsen is */
  --ink-300:#B8C2CE;
  --line:   #E0DAD0;
  --bg:     #FFFFFF;
  --bg-soft:#E6DFD3;
  --success:#2E8B57;
  --warning:#C77700;
  --danger: #B33A3A;
  --shadow-sm: 0 1px 2px rgba(21,76,149,.05), 0 1px 4px rgba(21,76,149,.04);
  --shadow-md: 0 4px 16px rgba(21,76,149,.08), 0 2px 8px rgba(21,76,149,.04);
  --shadow-lg: 0 12px 40px rgba(21,76,149,.13);
  --radius:   12px;
  --radius-lg:20px;
  --radius-sm:8px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{
  scroll-behavior:smooth;-webkit-text-size-adjust:100%;
  overflow-x:hidden;max-width:100vw;width:100%;
}
body{
  font-family:'Inter','Segoe UI',system-ui,-apple-system,sans-serif;
  color:var(--ink-900);
  background:var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
  max-width:100vw;
  width:100%;
  margin:0;
  position:relative;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
ul{list-style:none}

.container{max-width:1240px;margin:0 auto;padding:0 24px;width:100%}
.container-narrow{max-width:900px;margin:0 auto;padding:0 24px;width:100%}

/* =========================================================================
   TIPOGRÁFIA
   ========================================================================= */
.eyebrow{
  display:inline-block;font-size:.75rem;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--blue-700);font-weight:600;margin-bottom:14px;
}
h1,h2,h3,h4,h5,.h3,.h4,.h5{font-family:'ADA Hybrid','ADA Hybrid',system-ui,sans-serif;font-weight:700;color:var(--blue-900);line-height:1.18;letter-spacing:-.2px}
h1{font-size:clamp(2rem,4.2vw,3.4rem)}
h2{font-size:clamp(1.7rem,2.8vw,2.4rem)}
h3,.h3{font-size:clamp(1.3rem,2vw,1.6rem)}
h4,.h4{font-size:1.15rem}

p{color:var(--ink-700)}
.lead{font-size:1.1rem;color:var(--ink-900);font-weight:400}

/* =========================================================================
   TOP UTILITY BAR
   ========================================================================= */
.topbar{
  background:var(--blue-900);
  color:#fff;
  font-size:.8125rem;
  padding:8px 0;
}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.topbar a{opacity:.85;transition:opacity .2s;display:inline-flex;align-items:center;gap:6px}
.topbar a:hover{opacity:1}
.topbar svg{width:14px;height:14px}
.topbar-left{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.topbar-right{display:flex;gap:18px;align-items:center}

/* =========================================================================
   STICKY HEADER / MENÜ
   ========================================================================= */
header.main-nav{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(180%) blur(12px);
  -webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--line);
  transition:box-shadow .25s;
}
header.main-nav.scrolled{box-shadow:var(--shadow-md)}

.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 0;gap:24px}

.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}
.crest{
  width:46px;height:54px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:transparent;
}
.crest img,.crest svg{
  width:100%;height:100%;display:block;object-fit:contain;
  background:transparent;mix-blend-mode:normal;
}
.footer-brand .crest{
  width:60px;height:70px;margin-bottom:14px;background:transparent;
  filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));
}

/* Aktív/hover menüpont — Ági mustársárga akcentus */
nav.main-menu a.menu-item:hover,
nav.main-menu .menu-item:hover,
nav.main-menu a.menu-item.active,
nav.main-menu .menu-item.active,
nav.main-menu .has-sub.active > .menu-item{
  background:transparent;color:var(--blue-900);
  box-shadow:inset 0 -3px 0 var(--accent);
  border-radius:0;
}
.brand-text{display:flex;flex-direction:column;line-height:1.15}
.brand-name{font-family:'ADA Hybrid',serif;font-weight:600;font-size:1.1875rem;color:var(--blue-900)}
.brand-sub{font-size:.6875rem;color:var(--ink-500);text-transform:uppercase;letter-spacing:1.1px}

nav.main-menu{display:flex;align-items:center;gap:2px;flex:1;justify-content:center}
nav.main-menu a.menu-item,
nav.main-menu .menu-item{
  padding:10px 12px;border-radius:8px;
  font-weight:500;font-size:.9062rem;color:var(--ink-700);
  transition:all .2s;white-space:nowrap;
  display:inline-flex;align-items:center;gap:5px;cursor:pointer;
  background:transparent;border:0;font-family:inherit;
}
nav.main-menu a.menu-item:hover,
nav.main-menu .menu-item:hover,
nav.main-menu a.menu-item.active,
nav.main-menu .menu-item.active,
nav.main-menu .has-sub.active > .menu-item{background:var(--blue-50);color:var(--blue-700)}
nav.main-menu .has-sub > .menu-item .caret{width:10px;height:10px;transition:transform .2s;opacity:.6}
nav.main-menu .has-sub:hover > .menu-item .caret,
nav.main-menu .has-sub.open > .menu-item .caret{transform:rotate(180deg);opacity:1}

/* Dropdown almenü */
.has-sub{position:relative}
.submenu{
  position:absolute;top:calc(100% + 6px);left:0;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow-md);min-width:260px;padding:8px;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .18s, transform .18s, visibility 0s linear .18s;
  z-index:100;
}
.has-sub:hover > .submenu,
.has-sub.open > .submenu,
.has-sub:focus-within > .submenu{
  opacity:1;visibility:visible;transform:translateY(0);
  transition:opacity .18s, transform .18s, visibility 0s;
}
/* láthatatlan híd hover-folytonossághoz */
/* jobbra igazitott lenyilo (utolso fomenupont, hogy ne logjon ki a viewportbol) */
.submenu.right{left:auto;right:0}
/* hosszu intezmenynevek: szelesebb lenyilo, hogy ne torjenek harom sorba */
.submenu.wide{min-width:360px}
.submenu.right{min-width:300px}
.has-sub > .submenu::before{
  content:'';position:absolute;top:-8px;left:0;right:0;height:10px;
}
.submenu a{
  display:flex;align-items:center;gap:10px;
  padding:9px 12px;font-size:.875rem;color:var(--ink-700);
  border-radius:6px;transition:all .15s;font-weight:500;
}
.submenu a .si{
  width:22px;height:22px;border-radius:5px;background:var(--blue-50);color:var(--blue-700);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.submenu a .si svg{width:13px;height:13px}
.submenu a:hover,
.submenu a.active{background:var(--blue-50);color:var(--blue-700)}
.submenu a:hover .si,
.submenu a.active .si{background:var(--blue-700);color:#fff}
.submenu-divider{height:1px;background:var(--line);margin:6px 8px}
.submenu-head{padding:4px 12px 8px;font-size:.6875rem;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-500);font-weight:700}

.nav-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.icon-btn{
  width:40px;height:40px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink-700);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;transition:all .2s;
}
.icon-btn:hover{border-color:var(--blue-500);color:var(--blue-700)}
.icon-btn svg{width:18px;height:18px}

.cta-btn{
  background:var(--blue-700);color:#fff;
  padding:10px 20px;border-radius:24px;font-weight:600;font-size:.875rem;
  display:inline-flex;align-items:center;gap:8px;
  transition:all .25s;border:0;cursor:pointer;
  box-shadow:0 2px 8px rgba(51,102,153,.25);
}
.cta-btn:hover{background:var(--blue-900);box-shadow:0 4px 16px rgba(51,102,153,.35);transform:translateY(-1px)}
.cta-btn.ghost{
  background:transparent;color:var(--blue-700);
  border:1px solid var(--blue-500);box-shadow:none;
}
.cta-btn.ghost:hover{background:var(--blue-50);color:var(--blue-900)}
.cta-btn.large{padding:14px 28px;font-size:.9375rem}
.cta-btn svg{width:16px;height:16px;flex-shrink:0}

.menu-toggle{display:none}

/* =========================================================================
   HERO – főoldali nagy & aloldali kisebb
   ========================================================================= */
.hero{
  position:relative;
  height:calc(100vh - 110px);
  min-height:540px;max-height:740px;
  overflow:hidden;
  background:var(--blue-900);
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
}
.hero::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(31,64,96,.25) 0%,rgba(31,64,96,.55) 100%);
}
.hero-content{
  position:relative;z-index:2;
  height:100%;display:flex;flex-direction:column;justify-content:center;
  color:#fff;max-width:780px;padding:60px 0;
}
.hero-eyebrow{
  display:inline-block;font-size:.75rem;letter-spacing:3px;text-transform:uppercase;
  color:#fff;opacity:.9;margin-bottom:18px;
  padding-bottom:10px;border-bottom:2px solid var(--accent);align-self:flex-start;
}
.hero h1{
  color:#fff;
  font-size:clamp(2.2rem,5vw,4.2rem);
  line-height:1.05;letter-spacing:-.5px;
  margin-bottom:22px;
}
.hero-lead{
  font-size:clamp(1rem,1.4vw,1.2rem);font-weight:300;
  color:#fff;opacity:.95;max-width:580px;margin-bottom:32px;
}

/* Hero search */
.hero-search{
  background:rgba(255,255,255,.97);border-radius:14px;
  padding:8px;display:flex;align-items:center;gap:8px;max-width:600px;
  box-shadow:var(--shadow-lg);
}
.hero-search .search-icon{flex-shrink:0;margin-left:12px;color:var(--ink-500)}
.hero-search input{
  flex:1;border:0;padding:14px 8px;font-size:1rem;font-family:inherit;
  background:transparent;color:var(--ink-900);outline:none;min-width:0;
}
.hero-search button{
  background:var(--blue-700);color:#fff;border:0;
  padding:12px 22px;border-radius:10px;cursor:pointer;
  font-weight:600;font-size:.9375rem;display:flex;align-items:center;gap:8px;
  transition:background .2s;flex-shrink:0;
}
.hero-search button:hover{background:var(--blue-900)}
.hero-search button svg{width:16px;height:16px}

.hero-quick{
  margin-top:18px;display:flex;gap:10px;flex-wrap:wrap;
  font-size:.8125rem;align-items:center;
}
.hero-quick .label{color:rgba(255,255,255,.75)}
.hero-quick a{
  color:#fff;opacity:.92;
  padding:5px 12px;border:1px solid rgba(255,255,255,.3);border-radius:20px;
  transition:all .2s;
}
.hero-quick a:hover{background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.5)}

/* Page hero (smaller, on subpages) */
.page-hero{
  position:relative;
  padding:80px 0 70px;
  background:var(--blue-900);
  color:#fff;
  overflow:hidden;
}
.page-hero::before{
  content:'';position:absolute;inset:0;opacity:.25;
  background-image:var(--hero-img,none);
  background-size:cover;background-position:center;
}
.page-hero-inner{position:relative;z-index:2;max-width:780px}
.page-hero h1{color:#fff;margin-bottom:14px}
.page-hero .lead{color:rgba(255,255,255,.92);font-size:1.15rem;font-weight:300}
.breadcrumb{
  display:flex;gap:8px;align-items:center;font-size:.8125rem;
  color:rgba(255,255,255,.7);margin-bottom:24px;flex-wrap:wrap;
}
.breadcrumb a{color:rgba(255,255,255,.85);transition:color .2s}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{opacity:.5}

/* =========================================================================
   SECTIONS
   ========================================================================= */
.section{padding:80px 0}
.section-sm{padding:60px 0}
.section.soft{background:var(--bg-soft)}
.section-head{margin-bottom:48px}
.section-head.center{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.section-head h2{margin-bottom:14px}
.section-head p{font-size:1.05rem}

/* =========================================================================
   POLGÁRMESTERI KÖSZÖNTŐ
   ========================================================================= */
.greeting-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:center}
.greeting-photo{
  aspect-ratio:4/5;border-radius:var(--radius-lg);overflow:hidden;
  box-shadow:var(--shadow-lg);
  background:var(--blue-100);
  background-size:cover;background-position:center;
}
.greeting-text p{margin-bottom:16px;font-size:1.02rem}
.signature{
  margin-top:24px;padding-top:24px;border-top:1px solid var(--line);
}
.sig-name{font-family:'ADA Hybrid',serif;font-size:1.25rem;font-weight:600;color:var(--blue-900)}
.sig-role{font-size:.8125rem;color:var(--ink-500);margin-top:2px}

/* =========================================================================
   BLOCKS GRID (homepage menu cards)
   ========================================================================= */
.blocks-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
.block{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px;transition:all .3s;cursor:pointer;
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  grid-column:span 4;
}
.block:hover{border-color:var(--blue-500);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.block::before{
  content:'';position:absolute;top:0;left:0;right:0;height:4px;
  background:var(--blue-700);transform:scaleX(0);transform-origin:left;
  transition:transform .35s;
}
.block:hover::before{transform:scaleX(1)}
.block-icon{
  width:54px;height:54px;border-radius:14px;background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;color:var(--blue-700);
  margin-bottom:22px;
}
.block-icon svg{width:26px;height:26px}
.block h3,.block .h3{margin-bottom:10px}
.block p{font-size:.95rem;margin-bottom:18px;flex:1}
.block-links{display:flex;flex-direction:column;gap:4px;margin-bottom:18px}
.block-links a{
  font-size:.9rem;color:var(--ink-700);padding:5px 0;
  display:flex;align-items:center;gap:8px;transition:all .15s;
}
.block-links a:hover{color:var(--blue-700);padding-left:4px}
.block-links a::before{content:'›';color:var(--blue-500);font-weight:600;font-size:1.1rem;line-height:1}
.block-cta{margin-top:auto;font-weight:600;font-size:.9rem;color:var(--blue-700);display:inline-flex;align-items:center;gap:6px}
.block-cta::after{content:'→';transition:transform .2s}
.block:hover .block-cta::after{transform:translateX(4px)}

.block.span-6{grid-column:span 6}
.block.span-12{grid-column:span 12}

.block.featured{
  grid-column:span 6;
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  color:#fff;border:0;
}
.block.featured h3,.block.featured p,.block.featured .h3{color:#fff}
.block.featured .block-icon{background:rgba(255,255,255,.13);color:#fff}
.block.featured .block-links a{color:rgba(255,255,255,.85)}
.block.featured .block-links a:hover{color:#fff}
.block.featured .block-links a::before{color:var(--accent)}
.block.featured .block-cta{color:#fff}
.block.featured::before{background:var(--accent)}

/* =========================================================================
   NEWS / EVENT CARDS
   ========================================================================= */
.cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cards-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.cards-grid.cols-4{grid-template-columns:repeat(4,1fr)}

.card{
  background:#fff;border-radius:var(--radius);overflow:hidden;
  border:1px solid var(--line);transition:all .25s;cursor:pointer;
  display:flex;flex-direction:column;
}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--blue-500)}
.card-img{aspect-ratio:16/10;background:var(--blue-100);overflow:hidden;position:relative}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .card-img img{transform:scale(1.04)}
.card-tag{
  position:absolute;top:14px;left:14px;background:rgba(255,255,255,.95);
  color:var(--blue-700);font-size:.6875rem;font-weight:600;
  padding:4px 10px;border-radius:12px;letter-spacing:.5px;text-transform:uppercase;
}
.card-body{padding:22px;flex:1;display:flex;flex-direction:column}
.card-date{font-size:.8125rem;color:var(--ink-500);margin-bottom:8px}
.card h4,.card .h4{font-size:1.1rem;margin-bottom:8px;line-height:1.3}
.card p{font-size:.92rem;margin-bottom:14px;flex:1}
.card-more{font-size:.8125rem;color:var(--blue-700);font-weight:600}

/* Filter chips */
.filters{display:flex;gap:8px;flex-wrap:wrap}
.chip{
  padding:8px 16px;border:1px solid var(--line);border-radius:20px;
  font-size:.8125rem;color:var(--ink-700);background:#fff;cursor:pointer;
  transition:all .2s;font-family:inherit;
}
.chip.active,.chip:hover{background:var(--blue-700);color:#fff;border-color:var(--blue-700)}

/* =========================================================================
   ÜGYINTÉZÉS – nagy gombok
   ========================================================================= */
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.service{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 22px;text-align:center;cursor:pointer;
  transition:all .25s;display:flex;flex-direction:column;align-items:center;gap:12px;
}
.service:hover{
  background:var(--blue-700);border-color:var(--blue-700);color:#fff;
  transform:translateY(-3px);box-shadow:var(--shadow-md);
}
.service-icon{
  width:60px;height:60px;border-radius:14px;background:var(--blue-50);
  display:flex;align-items:center;justify-content:center;color:var(--blue-700);
  transition:all .25s;
}
.service:hover .service-icon{background:rgba(255,255,255,.15);color:#fff}
.service-icon svg{width:28px;height:28px}
.service h4,.service .h4{font-size:1rem;margin:0;transition:color .2s}
.service:hover h4,.service:hover .h4{color:#fff}
.service p{font-size:.82rem;color:var(--ink-500);transition:color .2s;line-height:1.4}
.service:hover p{color:rgba(255,255,255,.85)}

/* =========================================================================
   LIST / TABLE
   ========================================================================= */
.info-table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
}
.info-table th,.info-table td{padding:14px 18px;text-align:left;font-size:.95rem;border-bottom:1px solid var(--line)}
.info-table th{background:var(--bg-soft);font-weight:600;color:var(--blue-900);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}
.info-table tr:last-child td{border-bottom:0}
.info-table tr:hover td{background:var(--bg-soft)}

/* Person cards */
.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.person{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:24px;text-align:center;transition:all .2s;
}
.person:hover{box-shadow:var(--shadow-md);border-color:var(--blue-500)}
.person-photo{
  width:120px;height:120px;border-radius:50%;background:var(--blue-100);
  margin:0 auto 16px;background-size:cover;background-position:center;
  border:3px solid #fff;box-shadow:var(--shadow-sm);
}
.person-name{font-family:'ADA Hybrid',serif;font-size:1.1rem;font-weight:600;color:var(--blue-900);margin-bottom:4px}
.person-role{font-size:.85rem;color:var(--ink-500);margin-bottom:12px}
.person-contact{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--ink-700)}
.person-contact a:hover{color:var(--blue-700)}

/* Institution cards */
.inst-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.inst{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;display:grid;grid-template-columns:200px 1fr;transition:all .25s;
}
.inst:hover{box-shadow:var(--shadow-md);border-color:var(--blue-500)}
.inst-img{background:var(--blue-100);background-size:cover;background-position:center;min-height:200px}
.inst-body{padding:22px}
.inst-body h4,.inst-body .h4{font-size:1.1rem;margin-bottom:8px}
.inst-body p{font-size:.9rem;margin-bottom:14px}
.inst-meta{font-size:.85rem;color:var(--ink-500);margin-bottom:10px}
.inst-meta span{display:inline-flex;align-items:center;gap:6px;margin-right:14px}
.inst-meta svg{width:14px;height:14px}

/* =========================================================================
   ACCORDION (GYIK)
   ========================================================================= */
.accordion{max-width:780px;margin:0 auto}
.acc-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
  margin-bottom:10px;overflow:hidden;
}
.acc-q{
  padding:18px 22px;font-weight:600;cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:16px;
  color:var(--ink-900);
}
.acc-q::after{content:'+';font-size:1.4rem;color:var(--blue-700);transition:transform .2s;flex-shrink:0}
.acc-item.open .acc-q::after{transform:rotate(45deg)}
.acc-a{
  padding:0 22px;max-height:0;overflow:hidden;
  transition:max-height .3s ease, padding .3s ease;
  color:var(--ink-700);font-size:.95rem;
}
.acc-item.open .acc-a{padding:0 22px 18px;max-height:400px}

/* =========================================================================
   FORM
   ========================================================================= */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{display:flex;flex-direction:column;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:.85rem;font-weight:500;color:var(--ink-700)}
.field input,.field textarea,.field select{
  padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);
  font-family:inherit;font-size:.95rem;background:#fff;color:var(--ink-900);
  transition:border-color .2s;
}
.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--blue-500)}
.field textarea{min-height:140px;resize:vertical}

/* =========================================================================
   CALENDAR LIST
   ========================================================================= */
.event-list{display:flex;flex-direction:column;gap:14px}
.event{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:20px;display:grid;grid-template-columns:90px 1fr auto;gap:24px;align-items:center;
  transition:all .2s;cursor:pointer;
}
.event:hover{border-color:var(--blue-500);box-shadow:var(--shadow-sm)}
.event-date{
  background:var(--blue-50);border-radius:var(--radius-sm);
  padding:10px;text-align:center;
}
.event-date .day{font-family:'ADA Hybrid',serif;font-size:1.6rem;font-weight:600;color:var(--blue-700);line-height:1}
.event-date .month{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);margin-top:4px}
.event-body h4,.event-body .h4{font-size:1.05rem;margin-bottom:6px}
.event-meta{font-size:.85rem;color:var(--ink-500)}
.event-meta span{margin-right:12px;display:inline-flex;align-items:center;gap:4px}
.event-meta svg{width:13px;height:13px}
.event-tag{
  padding:5px 12px;border-radius:14px;font-size:.6875rem;font-weight:600;
  text-transform:uppercase;letter-spacing:.5px;background:var(--blue-100);color:var(--blue-700);
}

/* =========================================================================
   FOOTER
   ========================================================================= */
footer{background:var(--blue-900);color:#fff;padding:70px 0 24px;margin-top:60px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
footer h5,footer .h5{font-family:'ADA Hybrid',serif;font-size:1.1rem;font-weight:600;margin-bottom:18px;color:#fff}
footer p,footer a,footer li{color:rgba(255,255,255,.75);font-size:.92rem;line-height:1.85}
footer a{transition:color .2s}
footer a:hover{color:#fff}
.footer-brand .crest{margin-bottom:16px}
.footer-brand h5,.footer-brand .h5{margin-top:4px}
.footer-brand p{max-width:280px;margin-bottom:16px}
.footer-list{display:flex;flex-direction:column;gap:6px}
.social{display:flex;gap:10px;margin-top:14px}
.social a{
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;transition:all .2s;
}
.social a:hover{background:rgba(255,255,255,.1);border-color:#fff}
.social svg{width:16px;height:16px}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  padding-top:24px;display:flex;justify-content:space-between;
  color:rgba(255,255,255,.55);font-size:.8125rem;flex-wrap:wrap;gap:16px;
}
.footer-bottom-links{display:flex;gap:22px;flex-wrap:wrap}

/* =========================================================================
   SCROLL TO TOP
   ========================================================================= */
.scroll-top{
  position:fixed;bottom:24px;right:24px;
  width:46px;height:46px;border-radius:50%;
  background:var(--blue-700);color:#fff;border:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;box-shadow:var(--shadow-lg);
  opacity:0;pointer-events:none;transition:all .25s;z-index:90;
}
.scroll-top.show{opacity:1;pointer-events:auto}
.scroll-top:hover{background:var(--blue-900);transform:translateY(-2px)}
.scroll-top svg{width:18px;height:18px}

/* =========================================================================
   KERESŐ DROPDOWN (valós idejű keresés)
   ========================================================================= */
.search-wrap{position:relative;width:100%}
.search-results{
  position:absolute;top:calc(100% + 10px);left:0;right:0;
  background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);
  max-height:520px;overflow-y:auto;z-index:60;
  display:none;border:1px solid var(--line);
}
.search-results.open{display:block}
.search-results-header{
  padding:12px 18px;font-size:.75rem;color:var(--ink-500);
  border-bottom:1px solid var(--line);position:sticky;top:0;background:#fff;z-index:1;
  display:flex;justify-content:space-between;align-items:center;
}
.search-results-header .count{color:var(--blue-700);font-weight:700}
.search-group{padding:8px 0;border-bottom:1px solid var(--line)}
.search-group:last-child{border-bottom:0}
.search-group-title{
  padding:8px 18px 4px;font-size:.6875rem;letter-spacing:1.5px;text-transform:uppercase;
  color:var(--ink-500);font-weight:600;
}
.search-result{
  padding:10px 18px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;
  border-left:3px solid transparent;transition:all .15s;cursor:pointer;color:inherit;
}
.search-result:hover{background:var(--blue-50);border-left-color:var(--blue-700)}
.search-result-text{flex:1;min-width:0}
.search-result-title{font-size:.875rem;font-weight:600;color:var(--ink-900);margin-bottom:2px;line-height:1.3}
.search-result-snippet{font-size:.75rem;color:var(--ink-700);line-height:1.4}
.search-result mark{background:#FFF3A8;color:inherit;padding:0 2px;border-radius:2px;font-weight:600}
.search-result-cat{
  font-size:.625rem;letter-spacing:.5px;text-transform:uppercase;
  padding:4px 9px;border-radius:10px;flex-shrink:0;
  background:var(--blue-50);color:var(--blue-700);font-weight:700;align-self:flex-start;
}
.search-result-cat.rendelet  {background:#FCE8E6;color:#B33A3A}
.search-result-cat.dokumentum{background:#E0EBF7;color:#2E63B0}
.search-result-cat.hir       {background:#FFF3E0;color:#C77700}
.search-result-cat.esemeny   {background:#E8F5E9;color:#2E8B57}
.search-result-cat.ugyintezes{background:#F3E8FC;color:#7B3AA8}
.search-result-cat.intezmeny {background:#FFE8F0;color:#B33A6E}
.search-result-cat.oldal     {background:#F0F2F5;color:#525B6B}
.search-empty{padding:30px;text-align:center;color:var(--ink-500);font-size:.875rem}

/* =========================================================================
   GLOBÁLIS KERESŐ OVERLAY (a fejléc kereső ikonjához)
   ========================================================================= */
.search-overlay{
  position:fixed;inset:0;background:rgba(31,64,96,.55);
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:200;
  display:none;align-items:flex-start;justify-content:center;
  padding:80px 20px;overflow-y:auto;
}
.search-overlay.open{display:flex}
.search-overlay-inner{
  background:#fff;width:100%;max-width:720px;border-radius:var(--radius);
  box-shadow:var(--shadow-lg);overflow:hidden;
}
.search-overlay-form{display:flex;align-items:center;gap:8px;padding:10px;border-bottom:1px solid var(--line)}
.search-overlay-form input{
  flex:1;border:0;padding:14px;font-size:1.0625rem;background:transparent;outline:none;
  font-family:inherit;color:var(--ink-900);
}
.search-overlay-form .so-icon{flex-shrink:0;margin-left:8px;color:var(--ink-500)}
.search-overlay-form .so-close{
  background:transparent;border:0;width:38px;height:38px;border-radius:50%;
  color:var(--ink-500);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.search-overlay-form .so-close:hover{background:var(--bg-soft);color:var(--ink-900)}
.search-overlay-form .so-close svg{width:18px;height:18px}
.search-overlay-hint{padding:12px 22px;font-size:.75rem;color:var(--ink-500);display:flex;gap:14px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.search-overlay-hint kbd{
  background:#fff;border:1px solid var(--line);border-radius:4px;padding:2px 6px;font-size:.6875rem;
  font-family:inherit;color:var(--ink-700);
}
.search-overlay .search-results{
  position:static;display:none;box-shadow:none;border:0;
  max-height:55vh;border-radius:0;overflow-y:auto;
}
.search-overlay .search-results.open{display:block}

/* =========================================================================
   TURIZMUS HOMEPAGE BLOKK (kiemelt)
   ========================================================================= */
.tourism-band{
  background:linear-gradient(135deg, var(--blue-700) 0%, var(--blue-900) 100%);
  color:#fff;padding:80px 0;position:relative;overflow:hidden;
}
.tourism-band::before{
  content:'';position:absolute;inset:0;
  background-image:url('../img/galeria/tur-duna-part.jpg');
  background-size:cover;background-position:center;opacity:.18;
}
.tourism-band .container{position:relative;z-index:2}
.tourism-band .eyebrow{color:var(--accent)}
.tourism-band h2{color:#fff}
.tourism-band p{color:rgba(255,255,255,.92)}
.tourism-band-grid{display:grid;grid-template-columns:1.2fr 1.8fr;gap:64px;align-items:center}
.tourism-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px}
.tourism-card{
  background:rgba(255,255,255,.08);backdrop-filter:blur(6px);
  border:1px solid rgba(255,255,255,.15);border-radius:var(--radius);
  padding:22px;transition:all .25s;color:#fff;display:block;
}
.tourism-card:hover{background:rgba(255,255,255,.15);transform:translateY(-3px)}
.tourism-card .ti{
  width:42px;height:42px;border-radius:10px;background:rgba(255,255,255,.15);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;
}
.tourism-card .ti svg{width:22px;height:22px}
.tourism-card h4,.tourism-card .h4{color:#fff;font-size:1.05rem;margin-bottom:6px}
.tourism-card p{color:rgba(255,255,255,.8);font-size:.85rem;margin:0}

/* =========================================================================
   BLOGPOSZT / HÍR-DETAIL
   ========================================================================= */
.post-wrap{padding:60px 0}
.post-cover{aspect-ratio:21/9;overflow:hidden;border-radius:var(--radius-lg);margin-bottom:36px}
.post-cover img{width:100%;height:100%;object-fit:cover}
.post-meta{display:flex;gap:14px;align-items:center;font-size:.8125rem;color:var(--ink-500);margin-bottom:18px;flex-wrap:wrap}
.post-meta .post-tag{
  background:var(--blue-700);color:#fff;font-size:.6875rem;font-weight:700;
  padding:4px 11px;border-radius:12px;letter-spacing:.5px;text-transform:uppercase;
}
.post-content{font-size:1.05rem;color:var(--ink-700);max-width:760px;margin:0 auto;line-height:1.75}
.post-content p{margin-bottom:18px}
.post-content h2,.post-content h3,.post-content .h3{margin:32px 0 14px;color:var(--blue-900)}
.post-content blockquote{
  border-left:4px solid var(--blue-700);padding:16px 22px;background:var(--bg-soft);
  margin:24px 0;font-style:italic;color:var(--ink-900);border-radius:0 var(--radius-sm) var(--radius-sm) 0;
}
.post-content ul{margin:0 0 18px 20px;list-style:disc}
.post-content ul li{margin-bottom:6px;color:var(--ink-700)}
.post-content img{border-radius:var(--radius);margin:20px 0}
.post-share{display:flex;gap:10px;align-items:center;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:36px 0;font-size:.875rem;color:var(--ink-500)}
.post-share strong{color:var(--ink-900)}
.post-share a{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--line);color:var(--ink-700);
  display:inline-flex;align-items:center;justify-content:center;transition:all .2s;
}
.post-share a:hover{background:var(--blue-700);color:#fff;border-color:var(--blue-700)}
.post-share svg{width:15px;height:15px}

/* =========================================================================
   DOKUMENTUMTÁR / RENDELETEK
   ========================================================================= */
.doc-toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:24px}
.doc-search{
  flex:1;min-width:240px;max-width:480px;
  display:flex;align-items:center;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:0 12px;
}
.doc-search input{flex:1;border:0;padding:11px 4px;font-family:inherit;font-size:.875rem;outline:none;background:transparent;color:var(--ink-900)}
.doc-search svg{width:16px;height:16px;color:var(--ink-500)}
.doc-row{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:14px 18px;display:grid;grid-template-columns:auto 1fr auto auto auto;gap:18px;
  align-items:center;margin-bottom:8px;transition:all .15s;
}
.doc-row:hover{border-color:var(--blue-500);box-shadow:var(--shadow-sm)}
.doc-icon{
  width:38px;height:38px;background:var(--blue-50);border-radius:8px;
  display:flex;align-items:center;justify-content:center;color:var(--blue-700);flex-shrink:0;
}
.doc-icon svg{width:18px;height:18px}
.doc-info .doc-title{font-weight:600;color:var(--ink-900);font-size:.95rem}
.doc-info .doc-sub{font-size:.8rem;color:var(--ink-500);margin-top:2px}
.doc-cat{font-size:.6875rem;color:var(--blue-700);background:var(--blue-50);padding:5px 12px;border-radius:10px;font-weight:700;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap}
.doc-date{font-size:.85rem;color:var(--ink-500);white-space:nowrap}
.doc-action{color:var(--blue-700);font-weight:700;font-size:.8125rem;display:flex;align-items:center;gap:4px;white-space:nowrap}
.doc-action:hover{color:var(--blue-900)}
/* Dokumentum-előnézet: „Előnézet” gomb a letöltés mellett + párbeszédablak (script.js) */
.doc-muveletek{display:flex;align-items:center;gap:16px;white-space:nowrap}
.doc-elonezet{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--blue-100);border-radius:99px;background:var(--blue-50);color:var(--blue-700);font:inherit;font-size:.8125rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s}
.doc-elonezet svg{flex:none;width:15px;height:15px}
.doc-elonezet:hover{background:var(--blue-100);border-color:var(--blue-500)}
html.elonezet-nyitva{overflow:hidden}
.elonezet{width:min(1100px,calc(100vw - 32px));height:calc(100vh - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;margin:auto;padding:0;border:0;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow-lg);overflow:hidden}
.elonezet[open]{display:flex;flex-direction:column}
.elonezet::backdrop{background:rgba(8,18,36,.72)}
.elonezet-fej{display:flex;align-items:center;gap:12px;padding:12px 14px 12px 20px;border-bottom:1px solid var(--line)}
.elonezet-kit{flex:none;font-size:.6875rem;font-weight:700;letter-spacing:.4px;color:var(--blue-700);background:var(--blue-50);padding:4px 9px;border-radius:6px}
.elonezet-kit:empty{display:none}
.elonezet .elonezet-cim{flex:1;min-width:0;margin:0;font-size:1rem;font-weight:700;color:var(--ink-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.elonezet-gombok{display:flex;align-items:center;gap:8px;flex:none}
.elonezet-gomb{padding:7px 14px;border:1px solid var(--line);border-radius:99px;color:var(--blue-700);font-size:.8125rem;font-weight:700;white-space:nowrap}
.elonezet-gomb:hover{border-color:var(--blue-500);background:var(--blue-50)}
.elonezet-bezar{width:40px;height:40px;border:0;border-radius:50%;background:var(--bg-soft);color:var(--ink-900);font-size:1.5rem;line-height:1;cursor:pointer}
.elonezet-bezar:hover{background:var(--line)}
.elonezet-test{position:relative;flex:1;min-height:0;background:#525659}
.elonezet-test iframe{position:relative;display:block;width:100%;height:100%;border:0}
.elonezet-betolt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;color:#fff;font-size:.9375rem}
.elonezet-megj{margin:0;padding:8px 20px;font-size:.75rem;color:var(--ink-500);border-top:1px solid var(--line)}
@media (max-width:700px){
  .elonezet{width:100vw;height:100vh;height:100dvh;border-radius:0}
  .elonezet-fej{position:relative;flex-wrap:wrap;padding:10px 60px 10px 14px}
  .elonezet-gombok{width:100%}
  .elonezet-bezar{position:absolute;top:8px;right:10px}
}
html.a11y-kontraszt .elonezet{border:2px solid #fff !important}
html.a11y-kontraszt :is(.doc-elonezet,.elonezet-gomb,.elonezet-bezar){border:2px solid #ff0 !important;color:#ff0 !important}

/* Rendelet-card */
.reg-list{display:flex;flex-direction:column;gap:10px}
.reg-item{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;
  align-items:center;transition:all .2s;
}
.reg-item:hover{border-color:var(--blue-500);box-shadow:var(--shadow-sm)}
.reg-num{
  font-family:'ADA Hybrid',serif;font-size:1.2rem;font-weight:600;color:var(--blue-700);
  background:var(--blue-50);padding:8px 14px;border-radius:8px;min-width:78px;text-align:center;
}
.reg-body h4,.reg-body .h4{font-size:1rem;margin-bottom:4px}
.reg-body p{font-size:.85rem;color:var(--ink-500);margin:0}

/* Brand tweaks (új arculat) */
.brand-name{font-family:'ADA Hybrid','Inter',sans-serif;font-weight:800;font-size:1.125rem;color:var(--blue-900);letter-spacing:.1px}
.brand-sub{font-size:.6875rem;color:var(--ink-500);text-transform:uppercase;letter-spacing:1.4px;font-weight:600}

/* =========================================================================
   RÁCALMÁSI VIZUÁLIS MOTÍVUMOK (Duna-hullám, város-karakter)
   ========================================================================= */
/* Dekoratív SVG-hullám szakaszhatároló */
.wave-divider{
  width:100%;display:block;line-height:0;overflow:hidden;
  margin-top:-1px;
}
.wave-divider svg{display:block;width:100%;height:60px}

/* Hero alján vízszintes hullám-overlay */
.hero{position:relative}
.hero .wave-bottom{
  position:absolute;left:0;right:0;bottom:-1px;z-index:3;pointer-events:none;
}
.hero .wave-bottom svg{display:block;width:100%;height:80px}

/* Hero szlogen modern stílus (ADA Hybrid) — levágott betűk fix */
.hero h1{
  font-weight:800;letter-spacing:-.5px;
  line-height:1.18;padding-bottom:.15em;overflow:visible;
}
.hero h1 .accent{
  color:#fff;
  font-weight:600;font-style:normal;
  display:inline-block;padding:0 .04em .12em 0;
  line-height:1.25;opacity:.95;
}

/* Lakossági CTA – feltűnő pulzáló gomb */
.cta-pulse{
  display:inline-flex;align-items:center;gap:10px;
  padding:13px 22px;border-radius:24px;
  background:var(--accent);color:#3D2811;font-weight:700;font-size:.9062rem;
  border:0;cursor:pointer;font-family:inherit;
  box-shadow:0 4px 14px rgba(200,167,91,.45);
  transition:all .25s;
}
.cta-pulse:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(200,167,91,.6);background:#D4B468}
.cta-pulse svg{width:16px;height:16px}

/* Rácalmási karakter-csík: címer-színek vízszintes pántban (sárga-piros-kék) */
.cimer-band{
  height:4px;display:flex;width:100%;
}
.cimer-band > span{flex:1}
.cimer-band > span:nth-child(1){background:#F5C842}
.cimer-band > span:nth-child(2){background:#CE2A2C}
.cimer-band > span:nth-child(3){background:#2E63B0}

/* Section karakter-jelölő (kis cimer-csík fejléc fölött) */
.section-head .eyebrow::before{
  content:'';display:inline-block;width:28px;height:2px;
  background:var(--blue-700);vertical-align:middle;margin-right:10px;
}

/* =========================================================================
   ONLINE ÚJSÁG MODUL (Média oldalon)
   ========================================================================= */
.paper-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.paper{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:all .25s;cursor:pointer;
  display:flex;flex-direction:column;
}
.paper:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--blue-500)}
.paper-cover{
  aspect-ratio:1/1.41; /* A4 arány */
  background:linear-gradient(135deg,var(--blue-50),var(--blue-100));
  position:relative;overflow:hidden;
}
.paper-cover img{width:100%;height:100%;object-fit:cover}
.paper-cover::after{
  content:'';position:absolute;top:0;right:0;width:30px;height:30px;
  background:linear-gradient(225deg,#fff 50%, rgba(0,0,0,.08) 50%);
}
.paper-meta{padding:14px 16px}
.paper-issue{font-family:'ADA Hybrid',serif;font-size:.95rem;font-weight:600;color:var(--blue-900);margin-bottom:2px}
.paper-date{font-size:.78rem;color:var(--ink-500)}
.paper-actions{padding:0 16px 14px;display:flex;gap:8px;font-size:.75rem}
.paper-actions a{
  flex:1;text-align:center;padding:6px 8px;border-radius:6px;
  border:1px solid var(--line);color:var(--ink-700);transition:all .15s;font-weight:600;
}
.paper-actions a:hover{background:var(--blue-50);border-color:var(--blue-500);color:var(--blue-700)}

.paper-featured{
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  color:#fff;border-radius:var(--radius-lg);padding:32px;
  display:grid;grid-template-columns:200px 1fr;gap:28px;align-items:center;margin-bottom:40px;
}
.paper-featured .paper-cover{
  aspect-ratio:1/1.41;max-width:200px;border-radius:var(--radius-sm);
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.paper-featured h3,.paper-featured .h3{color:#fff;margin-bottom:6px}
.paper-featured p{color:rgba(255,255,255,.85);margin-bottom:18px}
.paper-featured .feat-meta{display:flex;gap:14px;font-size:.85rem;color:rgba(255,255,255,.7);margin-bottom:14px}

/* =========================================================================
   KÖZÉRDEKŰ ADATOK (közzétételi lista)
   ========================================================================= */
.disclosure-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.disclosure-col{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px;
}
.disclosure-col .ds-num{
  font-family:'ADA Hybrid',serif;font-size:2.4rem;font-weight:700;color:var(--blue-500);line-height:1;
  margin-bottom:8px;
}
.disclosure-col h3,.disclosure-col .h3{font-size:1.15rem;margin-bottom:14px;color:var(--blue-900)}
.disclosure-col ul{display:flex;flex-direction:column;gap:4px;list-style:none}
.disclosure-col ul li a{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;font-size:.92rem;color:var(--ink-700);
  border-bottom:1px solid var(--line);transition:all .15s;
}
.disclosure-col ul li:last-child a{border-bottom:0}
.disclosure-col ul li a:hover{color:var(--blue-700);padding-left:4px}
.disclosure-col ul li a::after{content:'›';color:var(--blue-500);font-weight:600}

/* =========================================================================
   NAPTÁR (Eseménynaptár)
   ========================================================================= */
.calendar-wrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.cal-header{
  background:var(--blue-700);color:#fff;padding:16px 22px;
  display:flex;justify-content:space-between;align-items:center;
}
.cal-header h3,.cal-header .h3{color:#fff;font-size:1.3rem;margin:0}
.cal-nav{display:flex;gap:6px}
.cal-nav button{
  background:rgba(255,255,255,.15);color:#fff;border:0;width:36px;height:36px;
  border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.cal-nav button:hover{background:rgba(255,255,255,.3)}
.cal-nav button svg{width:16px;height:16px}
.cal-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));background:var(--line);gap:1px}
.cal-day-name{
  background:var(--bg-soft);padding:10px;text-align:center;font-size:.75rem;
  font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--ink-500);
}
.cal-cell{
  background:#fff;padding:8px;min-height:96px;min-width:0;font-size:.85rem;position:relative;
  display:flex;flex-direction:column;gap:4px;
}
.cal-cell.muted{background:var(--bg-soft);color:var(--ink-300)}
.cal-cell.today .cal-num{
  background:var(--blue-700);color:#fff;border-radius:50%;width:24px;height:24px;
  display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:700;
}
.cal-num{font-weight:600;color:var(--ink-700)}
.cal-event{
  background:var(--blue-50);color:var(--blue-700);
  padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  border-left:3px solid var(--blue-700);cursor:pointer;
}
.cal-event.kultura{background:#FFF3E0;color:#C77700;border-left-color:#C77700}
.cal-event.sport  {background:#E8F5E9;color:#2E8B57;border-left-color:#2E8B57}
.cal-event.gyerek {background:#F3E8FC;color:#7B3AA8;border-left-color:#7B3AA8}

/* =========================================================================
   HÍRLEVÉL FELIRATKOZÁS
   ========================================================================= */
.newsletter-band{
  background:linear-gradient(135deg,var(--blue-700),var(--blue-900));
  color:#fff;padding:60px 0;border-radius:var(--radius-lg);
  margin:40px 0;position:relative;overflow:hidden;
}
.newsletter-band::before{
  content:'';position:absolute;top:-40%;right:-10%;width:480px;height:480px;
  border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);
}
.newsletter-band-inner{position:relative;z-index:2;text-align:center;max-width:640px;margin:0 auto;padding:0 20px}
.newsletter-band h2{color:#fff;margin-bottom:10px}
.newsletter-band p{color:rgba(255,255,255,.9);margin-bottom:24px}
.newsletter-form{
  display:flex;gap:8px;background:#fff;padding:8px;border-radius:14px;
  max-width:520px;margin:0 auto;box-shadow:var(--shadow-lg);
}
.newsletter-form input{
  flex:1;border:0;padding:14px 16px;font-size:.9375rem;font-family:inherit;
  background:transparent;outline:none;color:var(--ink-900);min-width:0;
}
.newsletter-form button{
  background:var(--blue-700);color:#fff;border:0;padding:12px 22px;border-radius:10px;
  cursor:pointer;font-weight:600;font-size:.875rem;white-space:nowrap;
}
.newsletter-form button:hover{background:var(--blue-900)}

/* =========================================================================
   MOBILE BREAKPOINT
   ========================================================================= */
@media (max-width: 1020px){
  nav.main-menu a.menu-item{padding:10px 10px;font-size:.875rem}
  .brand-sub{display:none}
}

/* 7 fomenupont: kozepes szelessegen kompaktabb fejlec, hogy a jobb oldali
   akciok (kereso, ugyintezes CTA) ne szoruljanak ki a containerbol */
@media (min-width: 901px) and (max-width: 1200px){
  .nav-inner{gap:12px}
  .brand-sub{display:none}
  .brand-name{font-size:1rem}
  .crest{width:38px;height:44px}
  nav.main-menu{gap:0}
  nav.main-menu a.menu-item,
  nav.main-menu .menu-item{padding:9px 8px;font-size:.875rem}
  nav.main-menu .has-sub > .menu-item .caret{width:9px;height:9px}
  .nav-actions{gap:6px}
  .cta-btn .cta-label{display:none}
  .cta-btn{padding:10px}
}
@media (min-width: 901px) and (max-width: 1010px){
  .nav-inner{gap:8px}
  .brand-name{font-size:.9375rem}
  .crest{width:34px;height:40px}
  nav.main-menu a.menu-item,
  nav.main-menu .menu-item{padding:9px 4px;font-size:.8125rem}
}

@media (max-width: 900px){
  .topbar{display:none}

  /* Header layout: tiltsa a túllógást */
  header.main-nav{overflow:visible}
  .nav-inner{padding:10px 0;gap:8px;flex-wrap:nowrap;min-width:0}
  .nav-inner > *{min-width:0}
  .brand{flex:0 1 auto;min-width:0;gap:10px}
  .brand-text{min-width:0}
  .brand-name{font-size:.9375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .nav-actions{flex-shrink:0;gap:6px}
  .icon-btn{width:38px;height:38px}

  /* MOBIL MENÜ — transform-mal biztosan elrejtve, nem szivárog ki */
  nav.main-menu{
    position:fixed;top:0;right:0;
    width:86vw;max-width:360px;height:100vh;height:100dvh;
    background:#fff;
    display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
    padding:72px 20px 24px;gap:2px;
    transform:translateX(100%);
    transition:transform .28s ease, visibility 0s linear .28s;
    box-shadow:-12px 0 40px rgba(0,0,0,.18);
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    z-index:120;visibility:hidden;
  }
  nav.main-menu.open{
    transform:translateX(0);
    visibility:visible;
    transition:transform .28s ease;
  }
  nav.main-menu a.menu-item,
  nav.main-menu .menu-item{
    padding:14px 16px;font-size:1rem;border-bottom:1px solid var(--line);border-radius:0;
    display:flex;justify-content:space-between;width:100%;
    box-shadow:none !important;
  }
  .has-sub{display:block}
  .has-sub > .submenu{
    position:static;box-shadow:none;border:0;border-radius:0;
    padding:0 0 8px 14px;opacity:1;visibility:visible;transform:none;
    display:none;background:var(--bg-soft);
  }
  .has-sub.open > .submenu{display:block}
  .submenu a{padding:10px 14px;font-size:.875rem;border-bottom:1px solid transparent}
  .menu-toggle{display:flex}
  .cta-btn .cta-label{display:none}
  .cta-btn{padding:10px 14px}

  .nav-inner{padding:12px 0;gap:10px}
  .brand-name{font-size:1rem}

  .hero{height:auto;min-height:0;max-height:none;padding:50px 0 60px}
  .hero-content{padding:0;max-width:100%}
  .hero h1{font-size:clamp(1.7rem, 7vw, 2.6rem);line-height:1.15}
  .hero h1 .accent{display:inline;padding-bottom:.18em}
  .hero-lead{font-size:1rem;margin-bottom:24px}
  .hero .wave-bottom svg{height:50px}

  .page-hero{padding:40px 0 36px}
  .page-hero h1{font-size:clamp(1.6rem,5vw,2.2rem)}
  .page-hero .lead{font-size:1rem}

  .greeting-grid{grid-template-columns:1fr;gap:28px}
  .greeting-photo{max-width:300px;margin:0 auto;width:100%}

  /* MINDEN inline grid override mobilon (felülírja inline styles-t) */
  .blocks-grid{grid-template-columns:1fr !important;gap:16px}
  .block,.block.span-6,.block.span-4,.block.span-12,.block.featured{grid-column:auto !important}
  .block{padding:24px}
  .block h3,.block .h3{font-size:1.2rem}

  .cards-grid,
  .cards-grid.cols-2,
  .cards-grid.cols-4{grid-template-columns:1fr !important;gap:16px}
  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px}
  .service{padding:18px 12px}
  .service h4,.service .h4{font-size:.95rem}
  .service p{font-size:.78rem}

  .people-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:16px}
  .person{padding:18px}
  .person-photo{width:96px;height:96px}
  .inst-grid{grid-template-columns:1fr !important;gap:16px}
  .inst{grid-template-columns:1fr !important}
  .inst-img{min-height:160px;aspect-ratio:16/9}

  .form-grid{grid-template-columns:1fr !important}

  .section,.section-sm{padding:40px 0}
  .section-head{margin-bottom:28px}
  .section-head h2{font-size:clamp(1.3rem,5vw,1.8rem)}

  .event{grid-template-columns:70px 1fr !important;gap:14px;padding:14px}
  .event-tag{grid-column:1/-1 !important;justify-self:start;font-size:.625rem}
  .event-date .day{font-size:1.3rem}

  .paper-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:14px}
  .paper-featured{grid-template-columns:1fr !important;text-align:center;padding:24px;gap:20px}
  .paper-featured .paper-cover{margin:0 auto;max-width:180px}

  .disclosure-grid{grid-template-columns:1fr !important;gap:16px}
  .disclosure-col{padding:22px}

  .cal-wrap,.calendar-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cal-days{min-width:520px}
  .cal-cell{min-height:64px;font-size:.7rem;padding:4px}
  .cal-event{font-size:.62rem;padding:1px 4px}

  .newsletter-form{flex-direction:column}
  .newsletter-form button{width:100%}

  .tourism-band{padding:48px 0}
  .tourism-band-grid{grid-template-columns:1fr !important;gap:28px}
  .tourism-cards{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px}
  .tourism-card{padding:18px}

  .doc-toolbar{flex-direction:column;align-items:stretch;gap:12px}
  .doc-search{max-width:100%;width:100%}
  .doc-row{grid-template-columns:auto 1fr !important;gap:12px;padding:14px}
  .doc-row .doc-cat,.doc-row .doc-date,.doc-row .doc-action,.doc-row .doc-muveletek{grid-column:2/-1;justify-self:start;font-size:.6875rem}
  .reg-item{grid-template-columns:auto 1fr !important;gap:14px;padding:14px}
  .reg-item .doc-action,.reg-item .doc-muveletek{grid-column:2/-1;justify-self:start}

  .filters{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px}
  .chip{flex-shrink:0;white-space:nowrap}

  .info-table{font-size:.85rem;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .info-table th,.info-table td{padding:10px 12px}

  /* Footer */
  .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px}

  /* Globális inline-style override: minden 'grid-template-columns:repeat(3,1fr)' és (4,1fr)
     bárhol legyen, mobilon 1-2 oszlopra törjön */
  [style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: repeat(4"]{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  [style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(3"]{
    grid-template-columns:1fr !important;
  }
  [style*="grid-template-columns:1.5fr"],
  [style*="grid-template-columns:1fr 1fr"]{
    grid-template-columns:1fr !important;
  }

  /* Kompakt polgármester kártya — inline grid felülírás */
  [style*="grid-template-columns:120px 1fr auto"]{
    grid-template-columns:1fr !important;
    text-align:center !important;padding:24px !important;
  }

  /* Search dropdown overlay teljes mobil-szélesség */
  .search-overlay{padding:60px 14px 20px}
  .search-overlay-inner{max-width:100%}

  .post-cover{margin-bottom:24px}
  .post-content{font-size:1rem}
  .post-share{flex-wrap:wrap;gap:8px}

  /* Newsletter band — ne lógjon ki */
  .newsletter-band{padding:40px 0;margin:30px 0}
  .newsletter-band-inner{padding:0 16px}
  .newsletter-band::before{display:none}
}

@media (max-width: 700px){
  /* Hero quick links — wrap szépen */
  .hero-quick{gap:8px}
  .cta-pulse{font-size:.8125rem;padding:11px 18px;width:auto}
}

@media (max-width: 560px){
  .container,.container-narrow{padding:0 14px}
  .footer-grid{grid-template-columns:1fr !important;gap:28px}
  .footer-brand p{max-width:none}

  .service-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px}
  .service{padding:16px 10px;gap:8px}
  .service-icon{width:48px;height:48px}
  .service-icon svg{width:22px;height:22px}
  .service h4,.service .h4{font-size:.88rem}
  .service p{font-size:.72rem}

  .people-grid{grid-template-columns:1fr !important}
  .paper-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px}
  .paper-meta{padding:10px 12px}
  .paper-issue{font-size:.85rem}
  .paper-date{font-size:.72rem}
  .paper-actions{padding:0 12px 12px;font-size:.6875rem}

  .cal-day-name{font-size:.55rem;padding:6px 2px}
  .cal-cell{min-height:54px;padding:3px}
  .cal-cell .cal-num{font-size:.7rem}
  .cal-cell .cal-event:nth-child(n+2){display:none}

  .hero{padding:40px 0 50px}
  .hero h1{font-size:clamp(1.5rem,8vw,2rem);line-height:1.15;padding-bottom:.2em}
  .hero h1 .accent{font-size:.92em;line-height:1.3}
  .hero-lead{font-size:.92rem;margin-bottom:22px;line-height:1.5}
  .hero-content{padding:0;width:100%}
  .hero-eyebrow{font-size:.6875rem;letter-spacing:2px;margin-bottom:14px}
  .search-wrap{max-width:100% !important;width:100%}
  .hero-search{flex-direction:column;align-items:stretch;padding:6px;gap:6px;border-radius:12px}
  .hero-search input{padding:12px 14px;font-size:.9375rem;border-radius:8px;background:var(--blue-50)}
  .hero-search button{width:100%;justify-content:center;padding:12px;font-size:.875rem}
  .hero-search .search-icon{display:none}
  .hero-quick{font-size:.6875rem;gap:6px;margin-top:14px;align-items:center}
  .hero-quick .label{display:none}
  .hero-quick a{padding:5px 10px;font-size:.6875rem}
  .cta-pulse{font-size:.75rem;padding:10px 14px;width:100%;justify-content:center;margin-bottom:8px}

  .footer-bottom{flex-direction:column;text-align:center;align-items:center;gap:14px}
  .footer-bottom-links{justify-content:center}

  .tourism-band{padding:36px 0}
  .tourism-band h2{font-size:1.6rem}
  .tourism-cards{grid-template-columns:1fr !important}
  .tourism-card{padding:16px}

  .doc-row{grid-template-columns:auto 1fr !important;gap:10px;padding:12px}
  .doc-icon{width:34px;height:34px}
  .doc-info .doc-title{font-size:.88rem}
  .doc-info .doc-sub{font-size:.72rem}
  .reg-item{grid-template-columns:auto 1fr !important;padding:14px;gap:10px}
  .reg-num{font-size:.95rem;min-width:60px;padding:6px 8px}
  .reg-body h4,.reg-body .h4{font-size:.92rem}
  .reg-body p{font-size:.78rem}

  .topbar{display:none}
  .nav-inner{padding:10px 0}
  .brand-text{display:none}        /* nagyon kis képernyőn csak címer */
  .crest{width:42px;height:48px}

  .page-hero{padding:32px 0 28px}
  .breadcrumb{font-size:.6875rem}

  /* Inline polgármester kártya is biztosan 1 oszlopra */
  [style*="grid-template-columns:120px 1fr auto"]{
    grid-template-columns:1fr !important;
  }

  /* Calendar cell-ek minimális olvashatóság */
  .calendar-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .cal-days{min-width:480px}
  .doc-row .doc-icon{display:none}
  .doc-row .doc-muveletek{grid-column:1/-1;justify-self:start}
}

.menu-overlay{
  display:none;position:fixed;inset:0;background:rgba(21,76,149,.55);z-index:110;
  opacity:0;transition:opacity .25s;-webkit-tap-highlight-color:transparent;
}
.menu-overlay.show{display:block;opacity:1}

/* Hamburger gomb mobilon kiemelve és könnyen érinthető */
@media (max-width: 900px){
  .menu-toggle{
    width:42px;height:42px;flex-shrink:0;
    border:1px solid var(--line);background:#fff;
  }
}
@media (max-width: 380px){
  /* extra kis képernyőn (iPhone SE): kereső ikon elrejtve, csak ügyintézés CTA + menü */
  .nav-actions .icon-btn[data-action="focus-search"]{display:none}
  .cta-btn{padding:9px 11px}
  .crest{width:38px;height:44px}
}

/* =========================================================================
   GLOBÁLIS MOBIL-VÉDŐ — ne lógjon ki SEMMI a viewporton túl
   ========================================================================= */
@media (max-width: 900px){
  /* Mindenki maradjon a viewporton belül */
  html,body{overflow-x:hidden !important;max-width:100vw !important}
  body > *{max-width:100vw}
  section, .container, .container-narrow,
  .blocks-grid, .cards-grid, .service-grid,
  .greeting-grid, .footer-grid, .tourism-band-grid,
  header,footer,div,article,aside{
    max-width:100%;
  }
  /* Hosszú szavak: tördelődjenek */
  h1,h2,h3,h4,p,a,.h3,.h4{word-break:break-word;overflow-wrap:break-word;hyphens:auto}
  /* Inline grid override */
  [style*="display:grid"]{max-width:100%}
  /* Képek és médiák mobilon ne lógjanak ki */
  img,video,iframe,embed,object,picture,svg{max-width:100%;height:auto}
  /* Wave SVG-k ne nyúljanak túl */
  .wave-bottom,.wave-divider{max-width:100vw;overflow:hidden}
  .wave-bottom svg,.wave-divider svg{display:block;width:100%}
  /* Topbar és nav-inner padding biztos */
  .container{padding-left:16px;padding-right:16px}
  /* Sticky header-en levő dropdown-oknak ne legyen abszolút túllógás */
  .submenu{max-width:calc(100vw - 24px)}
}

/* Kereső ikon — biztos hogy érinthető (z-index) */
.icon-btn[data-action="focus-search"]{cursor:pointer;position:relative;z-index:2}

/* ===== TURISZTIKAI GALÉRIA + NAGYÍTÓ ===== */
.tur-galeria{margin-top:72px}
.section-head-sor{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.section-head-sor .section-head{margin-bottom:0}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.photo{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--blue-100);box-shadow:var(--shadow-sm)}
.photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.photo:hover img{transform:scale(1.05)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:28px 14px 12px;color:#fff;font-size:.8125rem;font-weight:600;line-height:1.3;background:linear-gradient(transparent,rgba(10,25,50,.75))}
.lightbox{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;flex-direction:column;gap:14px;padding:24px 72px;background:rgba(8,18,36,.92)}
.lightbox.open{display:flex}
.lightbox img{max-width:100%;max-height:calc(100vh - 110px);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}
.lightbox-cap{color:#fff;font-size:.875rem;text-align:center}
.lightbox button{position:absolute;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.625rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lightbox button:hover{background:rgba(255,255,255,.25)}
.lightbox .lb-close{top:18px;right:18px}
.lightbox .lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.lightbox .lb-next{right:14px;top:50%;transform:translateY(-50%)}
@media (max-width:900px){.photo-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:700px){
  .photo-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .tur-galeria{margin-top:48px}
  .lightbox{padding:64px 12px 24px}
  .lightbox .lb-prev,.lightbox .lb-next{top:auto;bottom:16px;transform:none}
  .lightbox img{max-height:calc(100vh - 170px)}
}

/* ===== INTERAKTÍV LÁTVÁNYTÉRKÉP ===== */
.tk-szekcio{padding-top:48px}
.tk-app{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}
.tk-app>*{min-width:0}
.tk-lista{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;height:min(78vh,820px);box-shadow:var(--shadow-sm)}
.tk-lista .doc-search{width:100%;flex:0 0 auto;min-width:0}
.tk-szuro{gap:6px}
.tk-szuro .chip{padding:6px 11px;font-size:.75rem}
.tk-lista ol{list-style:none;margin:0 -6px;padding:0;overflow:auto;flex:1}
.tk-lista li button{display:flex;align-items:center;gap:12px;width:100%;padding:9px 8px;border:0;background:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--ink-900);font-size:.875rem;font-weight:500;line-height:1.3}
.tk-lista li button:hover{background:var(--blue-50)}
.tk-lista li.aktiv button{background:var(--blue-100)}
.tk-nev small{display:block;font-size:.7188rem;font-weight:400;color:var(--ink-500);margin-top:2px}
.tk-szam{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 4px;border-radius:7px;background:var(--accent);color:var(--ink-900);font-weight:700;font-size:.7812rem;box-shadow:inset 0 0 0 1.5px rgba(26,36,51,.55)}
.tk-ures{color:var(--ink-500);font-size:.875rem;text-align:center;margin:8px 0}
.tk-nezet{position:relative;height:min(78vh,820px);border-radius:var(--radius-lg);overflow:hidden;background:#d9e8cf;border:1px solid var(--line);touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;box-shadow:var(--shadow-sm)}
.tk-nezet.fog{cursor:grabbing}
.tk-nezet:fullscreen{border-radius:0;height:100vh}
.tk-vaszon.tk-vaszon{position:absolute;left:0;top:0;width:4800px;height:3718px;max-width:none;transform-origin:0 0;will-change:transform}
.tk-vaszon.anim{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.tk-vaszon img{width:100%;height:100%;display:block;pointer-events:none}
.tk-pont{position:absolute;width:0;height:0;padding:0;border:0;background:none;cursor:pointer;z-index:2}
.tk-pont span{position:absolute;left:0;top:0;display:flex;align-items:center;justify-content:center;min-width:30px;height:30px;padding:0 5px;border-radius:50%;background:var(--blue-900);color:#fff;font:700 .8125rem/1 'Inter',sans-serif;border:2.5px solid #fff;box-shadow:0 3px 10px rgba(10,25,50,.45);transform:translate(-50%,-50%) scale(var(--inv,1));transition:background .2s,box-shadow .2s}
.tk-pont:hover span,.tk-pont:focus-visible span{background:var(--accent-red)}
.tk-pont.aktiv{z-index:3}
.tk-pont.aktiv span{background:var(--accent-red);box-shadow:0 0 0 6px rgba(206,42,44,.28),0 3px 10px rgba(10,25,50,.45)}
.tk-pont.halvany{opacity:.25;pointer-events:none}
.tk-gombok{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;gap:6px;z-index:5}
.tk-gombok button{width:40px;height:40px;border:0;border-radius:10px;background:#fff;color:var(--blue-900);font-size:1.375rem;font-weight:600;line-height:1;cursor:pointer;box-shadow:var(--shadow-md);display:flex;align-items:center;justify-content:center}
.tk-gombok button:hover{background:var(--blue-50)}
.tk-gombok svg{width:18px;height:18px}
.tk-sugo{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 14px;border-radius:99px;background:rgba(255,255,255,.88);color:var(--ink-700);font-size:.7812rem;pointer-events:none;white-space:nowrap;z-index:4}
.tk-panel{position:absolute;top:14px;right:14px;bottom:14px;width:380px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:auto;z-index:6;transform:translateX(calc(100% + 24px));transition:transform .35s cubic-bezier(.2,.7,.2,1);cursor:auto}
.tk-panel.nyitva{transform:none}
.tk-bezar{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink-900);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-sm);z-index:2}
.tk-kep{display:block;aspect-ratio:4/3;background:var(--blue-100);overflow:hidden}
.tk-kep.allo{aspect-ratio:1/1}
.tk-kep img{width:100%;height:100%;object-fit:cover;display:block}
.tk-tartalom{padding:18px 22px 22px}
.tk-meta{display:flex;align-items:center;gap:10px;font-size:.7812rem;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.tk-tartalom h3,.tk-tartalom .h3{font-size:1.35rem;margin-bottom:12px}
.tk-tartalom p{font-size:.9062rem;line-height:1.65;color:var(--ink-700);margin:0 0 12px}
.tk-tartalom .tk-lead{font-weight:600;color:var(--ink-900)}
.tk-lapoz{display:flex;justify-content:space-between;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.tk-lapoz button{border:1px solid var(--line);background:#fff;border-radius:99px;padding:8px 14px;font-size:.8125rem;font-weight:600;color:var(--blue-900);cursor:pointer}
.tk-lapoz button:hover{background:var(--blue-50)}
.tk-forras{margin-top:14px;font-size:.7812rem;color:var(--ink-500);text-align:right}
@media (max-width:900px){
  .tk-app{grid-template-columns:minmax(0,1fr)}
  .tk-nezet{order:-1;height:70vh}
  .tk-lista{height:auto;max-height:none}
  .tk-lista ol{max-height:360px}
}
@media (max-width:700px){
  .tk-szekcio{padding-top:24px}
  .tk-panel{top:auto;left:8px;right:8px;bottom:8px;width:auto;max-height:58%;transform:translateY(calc(100% + 16px))}
  .tk-kep{aspect-ratio:16/9}
  .tk-kep.allo{aspect-ratio:16/9}
  .tk-sugo{display:none}
}
@media (prefers-reduced-motion:reduce){.tk-vaszon.anim,.tk-panel{transition:none}}

/* ===== TURIZMUS: rajzos kártyák, info-kártyák, QR-túrák, térkép-sáv ===== */
.card-img.rajz{background:#fff}
.card-img.rajz img{object-fit:contain;padding:10px}
.info-kartya .card-body{padding:22px 22px 18px}
.info-tipus{display:inline-block;font-size:.7188rem;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--blue-700);background:var(--blue-50);border-radius:99px;padding:4px 10px;margin-bottom:10px;align-self:flex-start}
.info-sorok{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:.875rem;color:var(--ink-700)}
.info-sorok li span{display:block;font-size:.7188rem;font-weight:600;color:var(--ink-500);text-transform:uppercase;letter-spacing:.4px}
.info-sorok a{color:var(--blue-700);font-weight:600}
.qr-fej{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}
.qr-fej img{flex:0 0 96px;width:96px;height:96px;border:1px solid var(--line);border-radius:8px;padding:4px;background:#fff}
.terkep-sav{display:grid;grid-template-columns:1.2fr 1fr;gap:0;background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);color:inherit;transition:box-shadow .2s,transform .2s}
.terkep-sav:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.terkep-sav-kep{min-height:320px;background:#d9e8cf;overflow:hidden}
.terkep-sav-kep img{width:100%;height:100%;object-fit:cover;object-position:45% 25%;display:block}
.terkep-sav-szoveg{padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px}
.terkep-sav-szoveg h2{margin:0}
.terkep-sav-szoveg p{margin:0 0 8px}
@media (max-width:900px){.terkep-sav{grid-template-columns:1fr}.terkep-sav-kep{min-height:220px}.terkep-sav-szoveg{padding:26px}}
/* ===== ÁTEMELT TARTALOM – KIEGÉSZÍTŐK (generált) ===== */
.person-name,.sig-name,.event-date .day,footer h5,.paper-issue,footer .h5{font-family:'ADA Hybrid',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.person-photo{background-position:center 18%}
.person-contact span{color:var(--ink-500);font-size:.8rem;margin-bottom:4px}
.block .info-sorok{margin-bottom:14px}
a.block{color:inherit}
.info-sav{margin-top:24px;padding:20px 22px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;font-size:.92rem;color:var(--ink-700)}
.info-sav strong{display:block;color:var(--blue-900);margin-bottom:2px}
.nev-chipek{display:flex;flex-wrap:wrap;gap:10px}
.nev-chipek span{background:#fff;border:1px solid var(--line);border-radius:99px;padding:9px 16px;font-weight:600;color:var(--blue-900);font-size:.95rem}
.testver{display:grid;grid-template-columns:240px 1fr;gap:48px;align-items:start}
.testver-cimer{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;text-align:center;box-shadow:var(--shadow-sm)}
.testver-cimer img{max-width:160px;height:auto;margin:0 auto 14px}
.testver-cimer span{display:block;font-weight:600;color:var(--blue-900)}
.dij-lista{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dij-lista li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 16px}
.dij-nev{font-weight:600;color:var(--ink-900)}
.dij-nev em{font-weight:400;color:var(--ink-500);font-style:normal;font-size:.85rem}
.dij-ev{font-variant-numeric:tabular-nums;color:var(--blue-700);font-weight:700;font-size:.9rem}
.section.soft .dij-lista li{background:#fff}
@media (max-width:900px){.testver{grid-template-columns:1fr}.testver-cimer{position:static;max-width:280px}.dij-lista{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.dij-lista{grid-template-columns:1fr}}
.rend-al{font-size:.85rem;color:var(--ink-500);margin:-2px 0 10px}
.inst-img.rajz{background-color:#fff;background-size:contain;background-repeat:no-repeat;background-origin:content-box;padding:12px}
.tema-racs{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:40px;align-items:start}
.tema-szoveg>p{margin-bottom:14px;color:var(--ink-700)}
.tema-szoveg a{color:var(--blue-700);font-weight:600}
.tema-szoveg h3:not([class]){font-size:1.25rem;margin:30px 0 10px}
.tema-szoveg>h3:not([class]):first-child{margin-top:0}
.tema-kontakt{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px;position:sticky;top:110px;box-shadow:var(--shadow-sm)}
.section.soft .tema-kontakt{background:#fff}
.tema-kontakt h4,.tema-kontakt .h4{margin-bottom:12px}
.tema-kontakt .info-sorok{font-size:.8438rem;gap:12px}
.tema-kontakt .info-sorok a{font-weight:500}
/* Ügyintézés: a téma szövege alatt az ügyintézők névjegykártya-rácsban (nem oldalsávban) */
.tema-racs.tema-ugyintezok{grid-template-columns:minmax(0,1fr);gap:28px}
.tema-ugyintezok .tema-szoveg{max-width:820px}
.tema-ugyintezok .tema-kontakt,.section.soft .tema-ugyintezok .tema-kontakt{position:static;background:none;border:0;border-radius:0;padding:0;box-shadow:none}
.tema-ugyintezok .tema-kontakt h4,.tema-ugyintezok .tema-kontakt .h4{margin-bottom:14px}
.tema-ugyintezok .tema-kontakt .info-sorok{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:14px;margin:0;font-size:.875rem;line-height:1.6}
.tema-ugyintezok .info-sorok li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);overflow-wrap:anywhere}
.tema-ugyintezok .info-sorok li span{margin-bottom:6px}
.tema-ugyintezok .info-sorok li strong{display:block;font-size:1rem;font-weight:700;color:var(--ink-900);margin-bottom:6px}
.tema-ugyintezok .info-sorok a[href^="tel:"],.tema-ugyintezok .info-sorok a[href^="mailto:"]{display:inline-flex;align-items:center;gap:7px}
.tema-ugyintezok .info-sorok a[href^="tel:"]::before,.tema-ugyintezok .info-sorok a[href^="mailto:"]::before{content:'';flex:none;width:15px;height:15px;background:currentColor;-webkit-mask:var(--ikon) center/contain no-repeat;mask:var(--ikon) center/contain no-repeat}
.tema-ugyintezok .info-sorok a[href^="tel:"]{--ikon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E")}
.tema-ugyintezok .info-sorok a[href^="mailto:"]{--ikon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E")}
html.a11y-kontraszt .tema-ugyintezok .info-sorok li{border:2px solid #fff !important;background:#000 !important}
.lista{margin:0 0 16px 20px;list-style:disc;color:var(--ink-700)}
.lista li{margin-bottom:6px}
.ny-csoport{font-size:1.05rem;margin:26px 0 12px;scroll-margin-top:120px}
.tudnivalo{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:0 18px;margin-bottom:10px}
.tudnivalo summary{cursor:pointer;padding:14px 0;font-weight:600;color:var(--blue-900);list-style:none;display:flex;justify-content:space-between;gap:12px}
.tudnivalo summary::-webkit-details-marker{display:none}
.tudnivalo summary::after{content:'+';font-size:1.2rem;line-height:1;color:var(--blue-700)}
.tudnivalo[open] summary::after{content:'−'}
.tudnivalo p,.tudnivalo ul{margin:0 0 14px;color:var(--ink-700);font-size:.95rem}
.dij-tabla{max-width:520px}
.doc-row:has(.doc-date:empty) {grid-template-columns:auto 1fr auto}
.doc-row:has(.doc-date:empty) > span{display:none}
@media (max-width:900px){.tema-racs{grid-template-columns:1fr}.tema-kontakt{position:static}}
.disclosure-col li.ures{padding:8px 0;font-size:.92rem;color:var(--ink-500);font-style:italic;border-bottom:1px solid var(--line)}
.kozz-megj{margin-top:18px;font-size:.85rem;color:var(--ink-500)}
.proj-linkek{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px}
.video-sav{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:40px;align-items:center}
.video-keret{position:relative;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:#0b1a33;box-shadow:var(--shadow-md)}
.video-keret iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video-sav p{color:var(--ink-700);margin-bottom:12px}
.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.vid-play svg{width:60px;height:60px;padding:16px 14px 16px 18px;background:rgba(255,255,255,.95);border-radius:50%;box-shadow:var(--shadow-md)}
.blocks-grid.negyes .block{grid-column:span 3}
@media (max-width:1100px){.blocks-grid.negyes .block{grid-column:span 6}}
.video-link{display:block;color:inherit}
.video-sav h3{margin-bottom:10px}
.video-link img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.video-link .vid-play svg{transition:transform .2s}
.video-link:hover .vid-play svg{transform:scale(1.08)}
.vid-hossz{position:absolute;right:12px;bottom:12px;background:rgba(10,20,40,.82);color:#fff;font-size:.8125rem;font-weight:700;padding:3px 9px;border-radius:6px;font-variant-numeric:tabular-nums}
.regi-evek{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;font-size:.9rem;color:var(--ink-500)}
.regi-evek span{margin-right:6px}
.paper-featured .paper-cover img{object-fit:cover;object-position:top}
@media (max-width:900px){.video-sav{grid-template-columns:1fr;gap:24px}}
a.cal-event{display:block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
a.cal-event:hover{filter:brightness(.95)}
.cal-event.program{background:#EEF0FD;color:#3F49B5;border-left-color:#6C78E8}
.cal-event.sport{background:#F6ECFB;color:#8A2FB0;border-left-color:#B344DF}
.cal-event.unnep{background:#E6F3EA;color:#146C33;border-left-color:#18883F}
.cal-event.hivatalos{background:#FDEEE9;color:#B4532F;border-left-color:#E8866C}
ol.event-list{list-style:none;margin:0;padding:0}
.event.elmult{background:#F3F4F6;border-color:#D9DCE1}
.event.elmult .event-date{background:#E5E7EB}
.event.elmult .event-date .day,.event.elmult h4,.event.elmult .h4{color:#4A5361}
.event.elmult .event-tag{background:#E5E7EB;color:#3A4759}
.event.elmult:hover{border-color:#9AA1AC}
.ma-jelzo{display:flex;align-items:center;gap:14px;color:#B3261E;font-weight:700;font-size:.875rem;letter-spacing:.4px;text-transform:uppercase;margin:4px 0}
.ma-jelzo::before,.ma-jelzo::after{content:'';flex:1;height:2px;background:#CE2A2C;border-radius:2px}
.ma-jelzo span{background:#FDECEC;border:1px solid #F3B9B7;border-radius:99px;padding:4px 14px}
.cal-cell.mult{background:#F5F6F7}
.cal-event.elmult{background:#ECEDEF !important;color:#4A5361 !important;border-left-color:#9AA1AC !important}
html.a11y-kontraszt .event.elmult{border-style:dashed !important}
html.a11y-kontraszt .ma-jelzo::before,html.a11y-kontraszt .ma-jelzo::after{background-color:#ff0 !important}
html.a11y-kontraszt .ma-jelzo span{color:#ff0 !important;border-color:#ff0 !important}
.naptar-ures{text-align:center;color:var(--ink-500);padding:24px 0}
.reg-mell{margin-top:8px;font-size:.85rem}
.reg-mell summary{cursor:pointer;color:var(--blue-700);font-weight:600}
.reg-mell ul{margin:6px 0 0 18px;list-style:disc}
.reg-mell a{color:var(--ink-700)}
.reg-mell a:hover{color:var(--blue-700)}
.reg-num{font-family:'ADA Hybrid',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1rem;white-space:nowrap}
.post-kep{margin:0 0 32px;text-align:center;background:var(--bg-soft);border-radius:var(--radius-lg);padding:16px}
.post-kep img{max-width:100%;max-height:760px;width:auto;height:auto;margin:0 auto;border-radius:var(--radius);display:block}
.post-content img{max-width:100%;height:auto;display:block;margin:20px auto}
.post-content a{color:var(--blue-700);font-weight:600;word-break:break-word}
.post-content table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:.95rem}
.post-content td,.post-content th{border:1px solid var(--line);padding:8px 10px}
.post-content ol{margin:0 0 18px 20px;list-style:decimal}
#hirlista .card-img img{object-position:center 30%}
.topbar-right a.nyelv{font-weight:600;letter-spacing:.3px}
.topbar-right a.aktiv-nyelv{color:#fff;text-decoration:underline;text-underline-offset:3px;pointer-events:none}
.nyelv-jelzes{display:flex;align-items:center;gap:10px;background:var(--blue-50);border:1px solid var(--blue-100);border-left:4px solid var(--blue-500);color:var(--ink-700);border-radius:var(--radius-sm);padding:12px 16px;margin:0 0 24px;font-size:.92rem}
.nyelv-jelzes::before{content:'HU';flex:0 0 auto;font-size:.6875rem;font-weight:700;letter-spacing:.5px;color:#fff;background:var(--blue-700);border-radius:4px;padding:3px 6px}
/* beágyazott kereső: a találatlista ne vágódjon le a hero aljánál, és a következő szekció fölé kerüljön (a fejléc z:100 alatt) */
.hero:has(.search-wrap),.page-hero:has(.search-wrap){overflow:visible;z-index:40}
.hero:has(.search-wrap) .hero-bg{overflow:hidden}
.hero-content:has(.search-results.open),.page-hero-inner:has(.search-results.open){z-index:5}
/* ===== Akadálymentesség (WCAG 2.2 AA) ===== */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ugro-link{position:fixed;left:12px;top:12px;z-index:3000;transform:translateY(-250%);background:#154C95;color:#fff;font-weight:700;padding:12px 20px;border-radius:10px;text-decoration:underline;text-underline-offset:3px;box-shadow:var(--shadow-lg)}
.ugro-link:focus{transform:none}
main:focus{outline:none}
/* a ragadós fejléc ne takarja ki a fókuszált elemet / a horgonyt */
html{scroll-padding-top:100px}
@media (max-width:900px){html{scroll-padding-top:80px}}
/* fókuszjelző: sárga gyűrű sötét belső szegéllyel – világos és sötét háttéren is látszik */
:focus-visible{outline:3px solid #ECB113;outline-offset:2px;box-shadow:0 0 0 2px #1A2433}
.submenu a:focus-visible,.search-result:focus-visible,.tk-lista li button:focus-visible,.acc-q:focus-visible,.tudnivalo summary:focus-visible{outline-offset:-3px;box-shadow:inset 0 0 0 5px #1A2433}
.tk-nezet:focus-visible{outline-offset:-4px;box-shadow:inset 0 0 0 6px #1A2433}
/* billentyűvel Esc-cel bezárt almenü */
@media (min-width:901px){.has-sub.zarva > .submenu,.has-sub.zarva > .submenu *{opacity:0 !important;visibility:hidden !important;transition:none !important}}
/* a fejléc menüsora asztali nézetben korlátozottan nő (a lenyíló almenük és a tartalom teljes mértékben) */
@media (min-width:901px){nav.main-menu a.menu-item,nav.main-menu .menu-item{font-size:min(.9063rem,16px)}.brand-name{font-size:min(1.125rem,21px)}.brand-sub{font-size:min(.6875rem,13px)}}
@media (min-width:901px) and (max-width:1200px){nav.main-menu a.menu-item,nav.main-menu .menu-item{font-size:min(.875rem,15px)}.brand-name{font-size:min(1rem,18px)}}
@media (min-width:901px) and (max-width:1010px){nav.main-menu a.menu-item,nav.main-menu .menu-item{font-size:min(.8125rem,14px)}.brand-name{font-size:min(.9375rem,17px)}}
@media (max-width:900px){.brand-name{font-size:min(1rem,19px)}}
/* mobil menüfiók: bezáró gomb + nyelvválasztó */
/* a fejléc saját rétegrendet képez: nyitott fióknál a takaróréteg (z:110) fölé kell emelni, különben a fiókra kattintás a takaróra esik */
header.main-nav:has(.main-menu.open){z-index:130}
.menu-fej{display:none}
@media (max-width:900px){
  nav.main-menu{padding-top:14px}
  .menu-fej{display:flex;align-items:center;gap:12px;padding:0 0 14px;margin-bottom:6px;border-bottom:1px solid var(--line)}
  .menu-nyelv{display:flex;gap:6px}
  .menu-nyelv a{min-width:46px;height:44px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:.875rem;color:var(--blue-900);background:#fff}
  .menu-nyelv a.aktiv-nyelv{background:var(--blue-900);border-color:var(--blue-900);color:#fff}
  .menu-bezar{margin-left:auto;width:44px;height:44px;flex-shrink:0;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink-900);display:flex;align-items:center;justify-content:center;cursor:pointer}
  .menu-bezar svg{width:20px;height:20px}
}
/* GYIK-gomb */
button.acc-q{width:100%;background:none;border:0;font:inherit;font-weight:600;font-size:1rem;text-align:left;color:var(--ink-900);line-height:1.4}
/* űrlapok */
fieldset.mezo-csoport{border:0;padding:0;margin:0;min-width:0}
fieldset.mezo-csoport legend{font-size:.85rem;font-weight:500;color:var(--ink-700);padding:0}
.kotelezo-megj{font-size:.875rem;color:var(--ink-700);margin:0 0 14px}
.mezo-cim{font-size:.85rem;font-weight:500;color:var(--ink-700)}
.feltolto{display:block;position:relative;border:2px dashed var(--ink-300);border-radius:var(--radius-sm);padding:24px;text-align:center;color:var(--ink-700);font-size:.9rem;cursor:pointer}
.feltolto:hover{border-color:var(--blue-500)}
.feltolto:focus-within{outline:3px solid #ECB113;outline-offset:2px;box-shadow:0 0 0 2px #1A2433}
.feltolto-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
/* színkontraszt-javítások (WCAG 1.4.3) */
.hero-quick a.cta-pulse{color:#3D2811;opacity:1}
.hero::after{background:linear-gradient(180deg,rgba(31,64,96,.45) 0%,rgba(31,64,96,.65) 100%)}
.hero h1,.hero-lead,.hero-eyebrow{text-shadow:0 1px 3px rgba(10,25,50,.45)}
.disclosure-col .ds-num{color:var(--blue-700)}
.breadcrumb .sep,.breadcrumb [aria-hidden="true"]{opacity:1 !important}
.page-hero .breadcrumb .sep,.page-hero .breadcrumb [aria-hidden="true"]{color:rgba(255,255,255,.85)}
.breadcrumb a,.breadcrumb{color:rgba(255,255,255,.92)}
.post-wrap .breadcrumb,.post-wrap .breadcrumb [aria-hidden="true"]{color:var(--ink-500)}
.footer-bottom{color:rgba(255,255,255,.82)}
/* nem szöveges kontraszt (1.4.11): az űrlapmezők kerete ≥3:1 */
.field input,.field select,.field textarea,.doc-search{border-color:#7A8594}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-700)}
/* nagy betűméretnél a magasságkorlátos sávok nőjenek a tartalommal */
html.a11y-nagy .hero{height:auto;min-height:0;max-height:none;padding:64px 0 100px}
html.a11y-nagy .hero-content{height:auto}
html.a11y-nagy .card-tag,html.a11y-nagy .doc-cat,html.a11y-nagy .event-tag{white-space:normal}
/* űrlapmezők ne szabják meg a rács minimális szélességét (nagy betűnél, keskeny kijelzőn) */
.field input,.field select,.field textarea,.doc-search input,.hero-search input,.tk-kereso input{min-width:0;max-width:100%}
.field input,.field select,.field textarea{width:100%}
.form-grid>*{min-width:0}
@media (max-width:900px){.form-grid{grid-template-columns:minmax(0,1fr) !important}.doc-search{min-width:0}}
@media (max-width:560px){.doc-cat{white-space:normal;overflow-wrap:anywhere}}
html.a11y-nagy .filters{flex-wrap:wrap;overflow:visible}
html.a11y-nagy .chip{white-space:normal;flex-shrink:1;max-width:100%;text-align:left}
html.a11y-nagy .doc-action,html.a11y-nagy .doc-date,html.a11y-nagy .dij-ev{white-space:normal}
html.a11y-nagy main :is(p,li,a,span,strong,h1,h2,h3,h4,h5,td,th,label,small,div){overflow-wrap:anywhere}
html.a11y-nagy .calendar-wrap,html.a11y-nagy .cal-wrap{overflow-x:auto}
html.a11y-nagy .oldal-nav{position:static !important}
html.a11y-nagy .oldal-nav .container{flex-wrap:wrap;gap:8px 22px !important;overflow:visible !important}
html:has(.oldal-nav){scroll-padding-top:180px}
html.a11y-nagy:has(.oldal-nav){scroll-padding-top:110px}
/* csökkentett mozgás */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}
/* ===== Akadálymentes beállítások panel ===== */
.topbar .a11y-nyito{background:none;border:0;color:inherit;font:inherit;cursor:pointer;opacity:.85;display:inline-flex;align-items:center;gap:6px;padding:0}
.topbar .a11y-nyito:hover,.topbar .a11y-nyito[aria-expanded="true"]{opacity:1;text-decoration:underline;text-underline-offset:3px}
.a11y-ikon{display:none}
@media (max-width:900px){.a11y-ikon{display:inline-flex}}
.a11y-panel{position:fixed;top:84px;right:16px;z-index:1200;width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 100px);overflow:auto;background:#fff;color:var(--ink-900);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:18px}
.a11y-panel[hidden]{display:none}
.a11y-fej{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.a11y-fej h2{font-size:1.1rem;margin:0}
.a11y-bezar{width:36px;height:36px;flex-shrink:0;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:1.375rem;line-height:1;cursor:pointer;color:var(--ink-900)}
.a11y-sor{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 0 14px;border-bottom:1px solid var(--line);margin-bottom:14px;font-weight:600}
.a11y-meret{display:flex;align-items:center;gap:8px}
.a11y-meret button{min-width:44px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--blue-50);color:var(--blue-900);font-weight:700;font-size:.9375rem;cursor:pointer}
.a11y-meret button:disabled{opacity:.4;cursor:not-allowed}
.a11y-meret output{min-width:52px;text-align:center;font-variant-numeric:tabular-nums}
.a11y-kapcsolok{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.a11y-kapcsolok button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-900);font:inherit;font-size:.8125rem;font-weight:600;line-height:1.25;text-align:center;cursor:pointer}
.a11y-kapcsolok button svg{width:24px;height:24px}
.a11y-kapcsolok button:hover{border-color:var(--blue-500)}
.a11y-kapcsolok button[aria-pressed="true"]{background:var(--blue-700);border-color:var(--blue-700);color:#fff}
.a11y-vissza{width:100%;min-height:42px;border:1px solid var(--line);border-radius:10px;background:var(--bg-soft);color:var(--ink-900);font:inherit;font-weight:600;cursor:pointer}
.a11y-nyilatkozat{display:block;margin-top:12px;text-align:center;font-size:.85rem;color:var(--blue-700);font-weight:600;text-decoration:underline;text-underline-offset:2px}
/* ---- módok ---- */
html.a11y-alahuzas a{text-decoration:underline !important;text-underline-offset:2px}
html.a11y-betu body,html.a11y-betu body *:not(svg):not(svg *){font-family:Verdana,Tahoma,'Segoe UI',Arial,sans-serif !important;letter-spacing:.01em}
/* MAGAS KONTRASZT: fekete alap, fehér szöveg és keretek, sárga linkek és vezérlők, türkiz fókusz.
   A dekoratív hátterek, színátmenetek, hullámok eltűnnek; a tartalmi fotók maradnak. */
html.a11y-kontraszt{color-scheme:dark}
html.a11y-kontraszt,html.a11y-kontraszt body{background:#000 !important}
html.a11y-kontraszt body *:not(svg):not(svg *):not(img){background-color:#000 !important;color:#fff !important;border-color:#fff !important;box-shadow:none !important;text-shadow:none !important}
html.a11y-kontraszt body *:not(.inst-img):not(.person-photo):not(.greeting-photo){background-image:none !important}
html.a11y-kontraszt body *::before,html.a11y-kontraszt body *::after{background-color:transparent !important;color:inherit !important;border-color:#fff !important;box-shadow:none !important}
html.a11y-kontraszt .hero-bg,html.a11y-kontraszt .hero::after,html.a11y-kontraszt .page-hero::before,html.a11y-kontraszt .tourism-band::before,html.a11y-kontraszt .newsletter-band::before,html.a11y-kontraszt .paper-cover::after,html.a11y-kontraszt .block::before,html.a11y-kontraszt .wave-bottom,html.a11y-kontraszt .wave-divider,html.a11y-kontraszt .cimer-band{display:none !important}
html.a11y-kontraszt .topbar,html.a11y-kontraszt header.main-nav,html.a11y-kontraszt .hero,html.a11y-kontraszt .page-hero{border-bottom:2px solid #fff !important}
html.a11y-kontraszt footer{border-top:2px solid #fff !important}
@media (max-width:900px){html.a11y-kontraszt nav.main-menu{border-left:2px solid #fff !important}}
html.a11y-kontraszt main section + section,html.a11y-kontraszt main .tourism-band{border-top:1px solid #fff !important}
html.a11y-kontraszt :is(.card,.block,.service,.person,.inst,.paper,.paper-featured,.event,.doc-row,.reg-item,.acc-item,.disclosure-col,.info-sav,.tudnivalo,.tema-kontakt,.calendar-wrap,.tk-lista,.tk-panel,.tk-nezet,.terkep-sav,.tourism-card,.testver-cimer,.dij-lista li,.nyelv-jelzes,.newsletter-band,.a11y-panel,.submenu,.search-results,.search-overlay-inner,.photo,.post-kep,.info-table){border:2px solid #fff !important}
html.a11y-kontraszt :is(.topbar a,.hero-quick a,.hero-lead,.hero-eyebrow,.hero h1 .accent,.breadcrumb,.breadcrumb a,.breadcrumb span,.vid-play){opacity:1 !important}
/* linkek */
html.a11y-kontraszt body a:not(svg):not(svg *):not(img),html.a11y-kontraszt body a *:not(svg):not(svg *):not(img){color:#ff0 !important}
html.a11y-kontraszt main a:not(:is(.card,.block,.service,.photo,.paper-actions a,.cta-btn,.cta-pulse,.chip,.doc-action,.search-result,.tourism-card,.terkep-sav,.tk-kep)),html.a11y-kontraszt footer a:not(.social a){text-decoration:underline !important;text-underline-offset:3px}
html.a11y-kontraszt a:hover,html.a11y-kontraszt a:hover *:not(svg):not(svg *){text-decoration:underline !important;text-decoration-thickness:2px !important}
html.a11y-kontraszt nav.main-menu .menu-item.active,html.a11y-kontraszt nav.main-menu .has-sub.active > .menu-item,html.a11y-kontraszt .submenu a.active{text-decoration:underline !important;text-decoration-thickness:3px !important;text-underline-offset:6px}
/* vezérlők: sárga keret és felirat; aktív / lenyomott állapot: sárga alap, fekete felirat */
html.a11y-kontraszt :is(.cta-btn,.cta-pulse,.chip,.icon-btn,.hero-search button,.newsletter-form button,.paper-actions a,.tk-lapoz button,.tk-gombok button,.a11y-meret button,.a11y-kapcsolok button,.a11y-vissza,.a11y-bezar,.menu-bezar,.scroll-top,.lightbox button,.so-close,.cal-nav button,.tk-bezar,.menu-nyelv a,.field button,form button[type=submit]){color:#ff0 !important;border:2px solid #ff0 !important}
html.a11y-kontraszt :is(.cta-btn,.cta-pulse,.chip,.icon-btn,.hero-search button,.newsletter-form button,.paper-actions a,.tk-lapoz button,.tk-gombok button,.a11y-meret button:not(:disabled),.a11y-kapcsolok button,.a11y-vissza,.a11y-bezar,.menu-bezar,.scroll-top,.lightbox button,.so-close,.cal-nav button,.tk-bezar,.menu-nyelv a,form button[type=submit]):hover,
html.a11y-kontraszt :is(.chip.active,[aria-pressed="true"],.menu-nyelv a.aktiv-nyelv,.cal-cell.today .cal-num,.tk-lista li.aktiv button,.tk-pont.aktiv span){background-color:#ff0 !important;color:#000 !important;border-color:#ff0 !important}
html.a11y-kontraszt :is(.chip.active,[aria-pressed="true"],.menu-nyelv a.aktiv-nyelv,.tk-lista li.aktiv button) *:not(svg):not(svg *),html.a11y-kontraszt :is(.cta-btn,.chip,.icon-btn,.a11y-kapcsolok button,.paper-actions a,.menu-nyelv a):hover *:not(svg):not(svg *){color:#000 !important;background-color:transparent !important}
html.a11y-kontraszt .topbar a.aktiv-nyelv{text-decoration:underline !important;text-decoration-thickness:3px !important}
/* űrlapmezők */
html.a11y-kontraszt :is(input:not([type=checkbox]):not([type=radio]):not(.feltolto-input):not(.hero-search input),select,textarea){border:2px solid #fff !important}
html.a11y-kontraszt .hero-search{border:2px solid #fff !important}
html.a11y-kontraszt .hero-search input{border:0 !important}
html.a11y-kontraszt input[type=checkbox],html.a11y-kontraszt input[type=radio]{accent-color:#ff0}
html.a11y-kontraszt ::placeholder{color:#d0d0d0 !important;opacity:1}
html.a11y-kontraszt .feltolto{border:2px dashed #fff !important}
/* jelvények, címkék, kiemelések */
html.a11y-kontraszt mark{background:#ff0 !important;color:#000 !important}
html.a11y-kontraszt .nyelv-jelzes::before{background:#fff !important;color:#000 !important}
html.a11y-kontraszt :is(.card-tag,.doc-cat,.event-tag,.post-tag,.search-result-cat,.info-tipus,.tk-szam,.reg-num,.event-date){border:1px solid #fff !important}
html.a11y-kontraszt .tk-pont span{border:2px solid #fff !important}
html.a11y-kontraszt .tk-pont.halvany{opacity:.35}
html.a11y-kontraszt .tk-sugo{border:1px solid #fff !important}
html.a11y-kontraszt .photo-cap{border-top:1px solid #fff !important}
html.a11y-kontraszt .search-overlay,html.a11y-kontraszt .menu-overlay,html.a11y-kontraszt .lightbox{background-color:rgba(0,0,0,.92) !important}
html.a11y-kontraszt :focus-visible{outline:3px solid #0ff !important;outline-offset:2px;box-shadow:none !important}
html.a11y-kontraszt .ugro-link{background:#ff0 !important;color:#000 !important}
/* NEGATÍV KONTRASZT: a színek megfordítva, a fotók és videók eredeti színben */
html.a11y-negativ{filter:invert(1) hue-rotate(180deg)}
html.a11y-negativ img,html.a11y-negativ video,html.a11y-negativ iframe,html.a11y-negativ .hero-bg,html.a11y-negativ .inst-img,html.a11y-negativ .person-photo,html.a11y-negativ .greeting-photo,html.a11y-negativ .page-hero::before{filter:invert(1) hue-rotate(180deg)}
/* ===== /ÁTEMELT TARTALOM ===== */

/* ---- GENERÁLT: Elementor-felülírások – a statikus web igazítása, térköze és elemstílusai maradnak ---- */
img:is(.elementor img){max-width:100%;height:auto}
a:is(.elementor a){text-decoration:none}
.crest img:is(.elementor img){height:100%}
nav.main-menu a.menu-item:hover:is(.elementor a),nav.main-menu .menu-item:hover:is(.elementor a),nav.main-menu a.menu-item.active:is(.elementor a),nav.main-menu .has-sub.active > .menu-item:is(.elementor a){box-shadow:inset 0 -3px 0 var(--accent)}
.cta-btn:is(.elementor a){box-shadow:0 2px 8px rgba(51,102,153,.25)}
.cta-btn:hover:is(.elementor a){box-shadow:0 4px 16px rgba(51,102,153,.35)}
.cta-btn.ghost:is(.elementor a){box-shadow:none}
.block:hover:is(.elementor a){box-shadow:var(--shadow-lg)}
.card:hover:is(.elementor a){box-shadow:var(--shadow-md)}
.card-img img:is(.elementor img){height:100%}
.service:hover:is(.elementor a){box-shadow:var(--shadow-md)}
.inst:hover:is(.elementor a){box-shadow:var(--shadow-md)}
.event:hover:is(.elementor a){box-shadow:var(--shadow-sm)}
.post-cover img:is(.elementor img){height:100%}
.post-content img:is(.elementor img){border-radius:var(--radius)}
.elonezet-test iframe:is(.elementor iframe){width:100%;border:0}
.cta-pulse:is(.elementor a){box-shadow:0 4px 14px rgba(200,167,91,.45)}
.cta-pulse:hover:is(.elementor a){box-shadow:0 6px 18px rgba(200,167,91,.6)}
.paper-cover img:is(.elementor img){height:100%}
.paper-featured .paper-cover:is(.elementor a){box-shadow:0 8px 32px rgba(0,0,0,.3)}
@media (max-width: 900px){nav.main-menu a.menu-item:is(.elementor a),nav.main-menu .menu-item:is(.elementor a){box-shadow:none !important}}
@media (max-width: 900px){img:is(.elementor img){max-width:100%;height:auto}}
@media (max-width: 900px){iframe:is(.elementor iframe){max-width:100%}}
@media (max-width: 900px){video:is(.elementor video){max-width:100%}}
@media (max-width: 900px){embed:is(.elementor embed){max-width:100%}}
@media (max-width: 900px){object:is(.elementor object){max-width:100%}}
.e-con.racalmas-blokk.tur-galeria{margin-top:72px}
.photo:is(.elementor a){box-shadow:var(--shadow-sm)}
.photo img:is(.elementor img){height:100%}
.lightbox img:is(.elementor img){max-width:100%;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg)}
@media (max-width:700px){.e-con.racalmas-blokk.tur-galeria{margin-top:48px}}
.tk-vaszon img:is(.elementor img){height:100%}
.tk-kep img:is(.elementor img){height:100%}
.qr-fej img:is(.elementor img){height:96px;border:1px solid var(--line);border-radius:8px}
.terkep-sav:is(.elementor a){box-shadow:var(--shadow-md)}
.terkep-sav:hover:is(.elementor a){box-shadow:var(--shadow-lg)}
.terkep-sav-kep img:is(.elementor img){height:100%}
.testver-cimer img:is(.elementor img){max-width:160px;height:auto}
.e-con.racalmas-blokk.tema-racs{gap:40px;align-items:start}
.e-con.racalmas-blokk.tema-szoveg>.elementor-widget>p{margin-bottom:14px;color:var(--ink-700)}
.e-con.racalmas-blokk.tema-szoveg>.elementor-widget:first-child>h3:not([class]):first-child{margin-top:0}
.e-con.racalmas-blokk.video-sav{gap:40px;align-items:center}
.video-keret:is(.elementor a){box-shadow:var(--shadow-md)}
.video-keret iframe:is(.elementor iframe){width:100%;border:0}
.video-link img:is(.elementor img){height:100%}
@media (max-width:900px){.e-con.racalmas-blokk.video-sav{gap:24px}}
.post-kep img:is(.elementor img){max-width:100%;height:auto;border-radius:var(--radius)}
.post-content img:is(.elementor img){max-width:100%;height:auto}
.topbar-right a.aktiv-nyelv:is(.elementor a){text-decoration:underline}
.ugro-link:is(.elementor a){text-decoration:underline;box-shadow:var(--shadow-lg)}
.submenu a:focus-visible:is(.elementor a),.search-result:focus-visible:is(.elementor a){box-shadow:inset 0 0 0 5px #1A2433}
.a11y-nyilatkozat:is(.elementor a){text-decoration:underline}
html.a11y-alahuzas a:is(.elementor a){text-decoration:underline !important}
html.a11y-kontraszt a:hover:is(.elementor a){text-decoration:underline !important;text-decoration-thickness:2px !important}
html.a11y-kontraszt nav.main-menu .has-sub.active > .menu-item:is(.elementor a),html.a11y-kontraszt .submenu a.active:is(.elementor a){text-decoration:underline !important;text-decoration-thickness:3px !important}
html.a11y-kontraszt .topbar a.aktiv-nyelv:is(.elementor a){text-decoration:underline !important;text-decoration-thickness:3px !important}
