/* ═══════════════════════════════════════════
   RÁCALMÁS VÁROS v3 – Mobile-First CSS
   Colors: teal + gold (from coat of arms)
   ═══════════════════════════════════════════ */
:root{
  --teal-900:#0C3B3B;--teal-800:#0E4D4D;--teal-700:#136161;--teal-600:#178282;
  --teal-500:#1A9E9E;--teal-400:#2BB8B8;--teal-100:#D5F5F5;--teal-50:#F0FAFA;
  --gold-600:#B8860B;--gold-500:#D4A843;--gold-400:#E2BD5B;--gold-100:#FEF3C7;--gold-50:#FFFBEB;
  --blue-600:#1E5FAD;--blue-500:#2B6CB0;--blue-100:#DBEAFE;
  --red-600:#C53030;--red-100:#FEE2E2;
  --green-600:#059669;--green-100:#D1FAE5;
  --purple-600:#7C3AED;--purple-100:#EDE9FE;
  --s900:#1A1D23;--s800:#2D3039;--s700:#3F4451;--s600:#555B69;--s500:#6E7585;
  --s400:#939AAA;--s300:#BFC4D0;--s200:#DDE0E8;--s100:#EDEFF4;--s50:#F6F7FA;
  --white:#FFF;--bg:#F4F6F9;
  --sh-xs:0 1px 2px rgba(0,0,0,.04);--sh-sm:0 2px 8px rgba(0,0,0,.06);
  --sh-md:0 4px 16px rgba(0,0,0,.08);--sh-lg:0 8px 32px rgba(0,0,0,.1);
  --r:8px;--r-lg:14px;--r-xl:20px;--r-full:9999px;
  --ff-h:'Libre Baskerville',Georgia,serif;
  --ff:'Nunito Sans',-apple-system,sans-serif;
  --ease:cubic-bezier(.4,0,.2,1);--hdr:64px;
}

/* Reset */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr)+8px);font-size:100%}
body{font-family:var(--ff);color:var(--s700);background:var(--bg);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,textarea,select{font-family:inherit;font-size:inherit}
ul,ol{list-style:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.wrap{padding:0 24px}}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Focus */
:focus-visible{outline:3px solid var(--teal-400);outline-offset:2px;border-radius:4px}

/* Skip link */
.skip{position:absolute;top:-100%;left:16px;padding:12px 24px;background:var(--teal-700);color:var(--white);border-radius:0 0 8px 8px;font-weight:700;font-size:14px;z-index:9999;transition:top .2s}
.skip:focus{top:0}

/* Reveal */
.rv{opacity:0;transform:translateY(18px);transition:opacity .55s cubic-bezier(.16,1,.3,1),transform .55s cubic-bezier(.16,1,.3,1)}
.rv.on{opacity:1;transform:none}
.rv-d1{transition-delay:.06s}.rv-d2{transition-delay:.12s}.rv-d3{transition-delay:.18s}
.rv-d4{transition-delay:.24s}.rv-d5{transition-delay:.3s}.rv-d6{transition-delay:.36s}.rv-d7{transition-delay:.42s}

/* High contrast mode */
body.hc{--bg:#000;--white:#000;--s50:#111;--s100:#222;--s200:#333;--s700:#eee;--s800:#fff;--s600:#ddd;--s500:#ccc;--s400:#bbb;--s300:#999;--s900:#fff}
body.hc .hdr,body.hc .panel,body.hc .news-card,body.hc .doc-card,body.hc .vid-card,body.hc .nl-card,body.hc .contact-card,body.hc .qa-row,body.hc .acc-item{background:#111;border-color:#444;color:#eee}
body.hc a,body.hc .link-more{color:var(--teal-300)}

/* ══════════ A11Y BAR ══════════ */
.a11y-bar{background:var(--s800);padding:5px 0;font-size:11px;color:var(--s300)}
.a11y-in{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px}
.a11y-tools{display:flex;gap:3px;align-items:center}
.a11y-btn{padding:3px 8px;border-radius:4px;color:var(--s300);font-size:11px;font-weight:700;transition:all .15s;display:inline-flex;align-items:center;gap:3px;border:1px solid transparent}
.a11y-btn:hover,.a11y-btn:focus-visible{color:var(--white);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.a11y-links{display:flex;gap:12px}
.a11y-links a{color:var(--s400);font-size:11px;transition:color .15s}.a11y-links a:hover{color:var(--white)}
@media(max-width:640px){.a11y-bar{display:none}}

/* ══════════ COOKIE BANNER ══════════ */
.cookie{position:fixed;bottom:0;left:0;right:0;background:var(--s900);color:var(--s300);padding:14px 0;z-index:10000;transform:translateY(100%);transition:transform .4s var(--ease);box-shadow:0 -4px 24px rgba(0,0,0,.25)}
.cookie.show{transform:translateY(0)}
.cookie-in{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cookie-in p{flex:1;min-width:240px;font-size:13px;line-height:1.55}
.cookie-in p a{color:var(--teal-300);text-decoration:underline}
.cookie-btns{display:flex;gap:8px;flex-shrink:0}

/* ══════════ HEADER + MEGA MENU ══════════ */
.hdr{position:sticky;top:0;z-index:1000;background:var(--white);height:var(--hdr);transition:box-shadow .3s var(--ease);border-bottom:1px solid var(--s200)}
.hdr.scrolled{box-shadow:var(--sh-md);border-bottom-color:transparent}
.hdr-in{display:flex;align-items:center;height:100%;gap:12px}
.logo{display:flex;align-items:center;gap:8px;flex-shrink:0}
.logo-img{width:36px;height:36px;border-radius:6px;object-fit:contain}
.logo-mark{width:36px;height:36px;background:linear-gradient(135deg,var(--teal-700),var(--teal-500));border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--white);font-family:var(--ff-h);font-size:15px;font-weight:700;flex-shrink:0}
.logo-txt{line-height:1.05}
.logo-txt strong{display:block;font-family:var(--ff-h);font-size:15px;color:var(--s800)}
.logo-txt small{font-size:9.5px;color:var(--s400);letter-spacing:2px;text-transform:uppercase;font-weight:600}

/* Desktop nav with mega-menu */
.nav{display:none;flex:1;justify-content:center;gap:1px}
@media(min-width:960px){.nav{display:flex}}
.nav-item{position:relative}
.nav-item>a{padding:8px 12px;font-size:13px;font-weight:600;color:var(--s600);border-radius:var(--r);transition:all .2s;display:flex;align-items:center;gap:4px;white-space:nowrap}
.nav-item>a:hover,.nav-item>a.act{color:var(--teal-700);background:var(--teal-50)}
.nav-item>a .chev{transition:transform .2s;display:inline-flex}
.nav-item:hover>a .chev{transform:rotate(180deg)}
/* Mega-menu dropdown */
.mega{display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);min-width:520px;background:var(--white);border-radius:0 0 var(--r-lg) var(--r-lg);box-shadow:var(--sh-lg);border:1px solid var(--s200);border-top:3px solid var(--teal-500);padding:20px 24px;z-index:100}
.nav-item:hover .mega{display:grid;grid-template-columns:1fr 1fr;gap:16px;animation:megaIn .2s ease}
@keyframes megaIn{from{opacity:0;transform:translateX(-50%) translateY(-6px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.mega-col h4{font-size:12px;font-weight:700;color:var(--s400);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid var(--s100)}
.mega-col a{display:flex;align-items:center;gap:6px;padding:6px 8px;font-size:13px;color:var(--s600);border-radius:6px;transition:all .15s;font-weight:500}
.mega-col a:hover{background:var(--teal-50);color:var(--teal-700);padding-left:12px}
.mega-col a svg{flex-shrink:0;color:var(--s300);transition:color .15s}
.mega-col a:hover svg{color:var(--teal-500)}
/* Small dropdown (no mega) */
.drop{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--white);border-radius:0 0 var(--r) var(--r);box-shadow:var(--sh-lg);border:1px solid var(--s200);border-top:3px solid var(--teal-500);padding:8px;z-index:100}
.nav-item:hover .drop{display:block;animation:megaIn .2s ease}
.drop a{display:block;padding:8px 12px;font-size:13px;color:var(--s600);border-radius:6px;transition:all .15s;font-weight:500}
.drop a:hover{background:var(--teal-50);color:var(--teal-700)}

.hdr-r{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}
.hdr-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:var(--r);color:var(--s500);transition:all .15s}
.hdr-btn:hover{background:var(--s50);color:var(--teal-700)}
.mob-only{display:flex}
@media(min-width:960px){.mob-only{display:none}}
/* Search dropdown */
.s-drop{display:none;position:absolute;top:calc(100% + 4px);right:0;width:360px;background:var(--white);border-radius:var(--r-lg);box-shadow:var(--sh-lg);padding:16px;border:1px solid var(--s200);z-index:200}
.s-drop.open{display:block;animation:megaIn .2s ease}
.s-drop input{width:100%;padding:10px 14px;border:2px solid var(--s200);border-radius:var(--r);font-size:14px;outline:none;color:var(--s700);transition:border-color .2s}
.s-drop input:focus{border-color:var(--teal-500)}
.s-results{margin-top:10px;max-height:280px;overflow-y:auto}
.s-result{display:block;padding:10px 12px;border-radius:var(--r);transition:background .15s;border-bottom:1px solid var(--s100)}
.s-result:last-child{border-bottom:none}
.s-result:hover{background:var(--teal-50)}
.s-result strong{font-size:14px;color:var(--s800);display:block}
.s-result small{font-size:12px;color:var(--s400)}
.s-empty{padding:16px;text-align:center;color:var(--s400);font-size:13px}
@media(max-width:500px){.s-drop{width:calc(100vw - 32px);right:-8px}}

/* Mobile nav */
.mob-nav{display:none;position:fixed;top:var(--hdr);left:0;right:0;bottom:0;background:var(--white);z-index:999;overflow-y:auto;padding:8px 16px 80px}
.mob-nav.open{display:block;animation:fadeUp .25s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.mob-nav>a,.mob-nav summary{display:block;padding:13px 0;font-size:16px;font-weight:600;color:var(--s700);border-bottom:1px solid var(--s100)}
.mob-nav details{border-bottom:1px solid var(--s100)}
.mob-nav details summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:13px 0}
.mob-nav details summary::-webkit-details-marker{display:none}
.mob-nav details summary .mchev{transition:transform .2s;color:var(--s400)}
.mob-nav details[open] summary .mchev{transform:rotate(180deg)}
.mob-nav details .sub-links{padding:0 0 8px 16px}
.mob-nav details .sub-links a{display:block;padding:8px 0;font-size:14px;font-weight:500;color:var(--s500)}

/* ══════════ BUTTONS ══════════ */
.btn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:var(--r);font-weight:700;font-size:13px;transition:all .2s var(--ease);cursor:pointer;border:2px solid transparent;white-space:nowrap}
.btn-teal{background:var(--teal-700);color:var(--white);border-color:var(--teal-700)}
.btn-teal:hover{background:var(--teal-600);border-color:var(--teal-600);transform:translateY(-1px);box-shadow:var(--sh-sm)}
.btn-gold{background:var(--gold-500);color:var(--s900);border-color:var(--gold-500)}
.btn-gold:hover{background:var(--gold-400);border-color:var(--gold-400)}
.btn-white{background:var(--white);color:var(--teal-700);border-color:var(--white)}
.btn-white:hover{background:var(--s50)}
.btn-ghost{background:transparent;color:var(--teal-700);border-color:var(--teal-700)}
.btn-ghost:hover{background:var(--teal-700);color:var(--white)}
.btn-ghost-lt{background:transparent;color:rgba(255,255,255,.9);border-color:rgba(255,255,255,.3)}
.btn-ghost-lt:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}
.btn-sm{padding:7px 14px;font-size:12px}
.btn-full{width:100%;justify-content:center}

/* Tags */
.tag{display:inline-flex;padding:2px 9px;border-radius:var(--r-full);font-size:10.5px;font-weight:700;letter-spacing:.3px}
.tag-teal{background:var(--teal-100);color:var(--teal-700)}
.tag-gold{background:var(--gold-100);color:var(--gold-600)}
.tag-green{background:var(--green-100);color:var(--green-600)}
.tag-blue{background:var(--blue-100);color:var(--blue-600)}
.tag-purple{background:var(--purple-100);color:var(--purple-600)}
.tag-red{background:var(--red-100);color:var(--red-600)}
.tag-slate{background:var(--s100);color:var(--s600)}

.link-more{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--teal-600);transition:gap .2s}
.link-more:hover{gap:8px;color:var(--teal-500)}

/* ══════════ HERO ══════════ */
.hero{position:relative;padding:40px 0 36px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,var(--teal-900),var(--teal-700) 60%,#1a5050)}
.hero-pattern{position:absolute;inset:0;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='1'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2H0V0h2v14h2V0h2v14h2V0h2v14h2V0h14v2H16v2h14v2H16v2h14v2H16v6h4V0h2v20h2V0h2v20h2V0h2v20h4v2H30v2h10v2H30v2h10v2H30v2h10v14h-2V26h-2v14h-2V26h-2v14h-2V26h-6v4h14v2H20v2h20v2H20v2h20v14H0V30h14v-2H0v-2h14v-2H0v-2h14v-6h-4v14H8V20H6v20H4V20H2v20H0V20z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.hero-glow{position:absolute;top:-100px;right:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(212,168,67,.1),transparent 70%);pointer-events:none}
.hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold-500),var(--teal-400),var(--gold-500));z-index:2}
.hero .wrap{position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;background:rgba(212,168,67,.12);border:1px solid rgba(212,168,67,.25);border-radius:var(--r-full);color:var(--gold-400);font-size:11px;font-weight:700;margin-bottom:14px;text-transform:uppercase;letter-spacing:.5px}
.hero h1{font-family:var(--ff-h);font-size:28px;color:var(--white);line-height:1.2;margin-bottom:12px}
.hero p{font-size:15px;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:20px;max-width:500px}
.hero-search{display:flex;gap:0;margin-bottom:20px}
.hero-search input{flex:1;min-width:0;padding:12px 14px;border:2px solid rgba(255,255,255,.15);border-right:none;border-radius:var(--r) 0 0 var(--r);font-size:14px;background:rgba(255,255,255,.06);color:var(--white);outline:none;transition:border-color .2s}
.hero-search input::placeholder{color:rgba(255,255,255,.35)}
.hero-search input:focus{border-color:var(--gold-400);background:rgba(255,255,255,.1)}
.hero-search button{padding:0 18px;background:var(--gold-500);color:var(--s900);border-radius:0 var(--r) var(--r) 0;font-weight:700;font-size:13px;display:flex;align-items:center;gap:5px;border:2px solid var(--gold-500);transition:background .15s;flex-shrink:0}
.hero-search button:hover{background:var(--gold-400);border-color:var(--gold-400)}
.hero-acts{display:flex;gap:8px;flex-wrap:wrap}
.hero-side{display:none;flex-direction:column;gap:10px}
.hero-stat{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);border-radius:var(--r);padding:14px 16px;transition:background .2s}
.hero-stat:hover{background:rgba(255,255,255,.1)}
.hero-stat-ic{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hero-stat h4{font-size:13px;font-weight:700;color:var(--white);margin-bottom:1px}
.hero-stat p{font-size:12px;color:rgba(255,255,255,.5)}
.hero-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}
.hdot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25);border:none;transition:all .3s;cursor:pointer}
.hdot.on{background:var(--white);width:24px;border-radius:4px}

@media(min-width:768px){
  .hero{padding:64px 0 56px}
  .hero h1{font-size:clamp(32px,4.5vw,44px)}
  .hero p{font-size:17px}
  .hero .wrap{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}
  .hero-side{display:flex}
}

/* ══════════ QUICK ACTIONS ══════════ */
.qa{margin-top:-24px;position:relative;z-index:10;padding:0 16px}
@media(min-width:768px){.qa{padding:0 24px}}
.qa-inner{max-width:1180px;margin:0 auto}
.qa-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--s200);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-lg)}
.qa-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 4px;background:var(--white);cursor:pointer;transition:all .2s;text-align:center}
.qa-item:hover{background:var(--teal-50)}
.qa-item:hover .qa-ic{background:var(--teal-700);color:var(--white)}
.qa-ic{width:38px;height:38px;border-radius:var(--r);background:var(--s50);display:flex;align-items:center;justify-content:center;color:var(--teal-700);transition:all .2s}
.qa-item span{font-size:11px;font-weight:700;color:var(--s600)}
@media(min-width:768px){
  .qa-row{grid-template-columns:repeat(8,1fr)}
  .qa-item{padding:20px 8px;gap:8px}
  .qa-ic{width:44px;height:44px}
  .qa-item span{font-size:12px}
}

/* ══════════ SECTIONS ══════════ */
.sec{padding:36px 0}
@media(min-width:768px){.sec{padding:48px 0}}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:12px;flex-wrap:wrap}
.sec-t{font-family:var(--ff-h);font-size:22px;color:var(--s800);line-height:1.2}
.sec-t::after{content:'';display:block;width:36px;height:3px;background:var(--gold-500);border-radius:2px;margin-top:6px}
.sec-sub{font-size:14px;color:var(--s500);margin-top:3px}
@media(min-width:768px){.sec-t{font-size:26px}}

/* ══════════ NEWS CARDS (fixed!) ══════════ */
.news-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.news-grid{grid-template-columns:1fr 1fr}}

.news-card{background:var(--white);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--s200);transition:all .25s var(--ease);display:flex;flex-direction:column}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--sh-lg);border-color:var(--s300)}
.news-card a{display:flex;flex-direction:column;height:100%;color:inherit}
/* Horizontal card — spans full width */
.news-card.h{grid-column:1/-1}
.news-card.h a{flex-direction:row}
.news-card.h .n-img{width:300px;min-height:180px;flex-shrink:0}
.n-img{height:180px;overflow:hidden;position:relative;flex-shrink:0}
.n-img img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.news-card:hover .n-img img{transform:scale(1.05)}
.n-info{padding:14px 16px;flex:1;display:flex;flex-direction:column;min-width:0}
.n-meta{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}
.n-date{font-size:11px;color:var(--s400)}
.n-title{font-family:var(--ff-h);font-size:15px;color:var(--s800);line-height:1.35;margin-bottom:5px}
.news-card.h .n-title{font-size:18px}
.n-ex{font-size:13px;color:var(--s500);line-height:1.55;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.n-more{margin-top:8px;font-size:12px}

@media(max-width:767px){.news-card.h a{flex-direction:column}.news-card.h .n-img{width:100%;min-height:160px}.news-card.h{grid-column:auto}}
@media(min-width:640px){.n-img{height:170px}}

/* 3-col news grid */
.grid-3{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.grid-3{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.grid-3{grid-template-columns:repeat(3,1fr)}}

/* ══════════ PANELS ══════════ */
.panel{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);overflow:hidden;transition:box-shadow .2s}
.panel:hover{box-shadow:var(--sh-xs)}
.panel-hd{padding:12px 16px;background:var(--teal-700);color:var(--white);font-weight:700;font-size:13px;display:flex;align-items:center;gap:6px}
.panel-bd{padding:14px 16px}
.panel-t{font-size:14px;font-weight:700;color:var(--s800);margin-bottom:10px;display:flex;align-items:center;gap:7px}
.panel-t svg{color:var(--teal-600);flex-shrink:0}

/* Sidebar + event items */
.ev-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--s100)}
.ev-item:last-child{border-bottom:none}
.ev-badge{display:flex;flex-direction:column;align-items:center;min-width:42px;padding:5px 7px;background:var(--gold-100);border-radius:6px;line-height:1}
.ev-badge .mo{font-size:9px;font-weight:700;color:var(--gold-600);text-transform:uppercase}
.ev-badge .dy{font-size:17px;font-weight:700;color:var(--s800)}
.ev-title{font-size:13px;font-weight:600;color:var(--s700)}
.ev-loc{font-size:11px;color:var(--s400);margin-top:1px}

.em-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--s50)}
.em-row:last-child{border-bottom:none}
.em-lbl{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--s600)}
.em-lbl svg{color:var(--red-600)}
.em-num{font-size:14px;font-weight:800;color:var(--red-600);font-variant-numeric:tabular-nums}

/* Contact sidebar */
.ct-line{display:flex;gap:8px;align-items:flex-start;margin-bottom:6px;font-size:12.5px;color:var(--s600)}
.ct-line svg{flex-shrink:0;color:var(--teal-500);margin-top:1px}

/* Mayor */
.mayor-card{text-align:center}
.mayor-av{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--teal-600),var(--teal-800));margin:0 auto 8px;display:flex;align-items:center;justify-content:center;border:3px solid var(--s100);color:var(--white)}
.mayor-q{font-size:13px;color:var(--s600);line-height:1.6;font-style:italic;margin-bottom:8px;padding:0 4px}
.mayor-nm{font-weight:700;font-size:13px;color:var(--s800)}.mayor-rl{font-size:11px;color:var(--s400)}

/* Newsletter inline */
.nl-box p{font-size:12px;color:var(--s500);margin-bottom:8px;line-height:1.5}
.nl-box input{width:100%;padding:9px 12px;border:1.5px solid var(--s200);border-radius:var(--r);font-size:13px;outline:none;margin-bottom:6px;color:var(--s700);transition:border-color .2s}
.nl-box input:focus{border-color:var(--teal-500)}

/* Tourism CTA */
.tcta{position:relative;border-radius:var(--r-lg);overflow:hidden;padding:24px 18px;text-align:center;background:linear-gradient(135deg,var(--teal-900),var(--teal-700));cursor:pointer;transition:transform .2s;display:block}
.tcta:hover{transform:translateY(-2px)}
.tcta h3{font-family:var(--ff-h);font-size:16px;color:var(--white);margin-bottom:3px;position:relative}
.tcta p{font-size:12px;color:rgba(255,255,255,.55);margin-bottom:12px;position:relative}

/* 2-col home layout */
.home-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:960px){.home-grid{grid-template-columns:1fr 340px}}

/* ══════════ PAGE HERO ══════════ */
.pg-hero{padding:36px 0 28px;position:relative;overflow:hidden}
.pg-hero-bg{position:absolute;inset:0;background:linear-gradient(135deg,var(--teal-900),var(--teal-700))}
.pg-hero-bg.green{background:linear-gradient(135deg,var(--teal-900),#194d3a)}
.pg-hero::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold-500),var(--teal-400),var(--gold-500))}
.pg-hero .wrap{position:relative;z-index:1}
.bc{display:flex;gap:4px;font-size:12px;color:rgba(255,255,255,.35);margin-bottom:8px;flex-wrap:wrap}
.bc a{color:rgba(255,255,255,.55);transition:color .15s}.bc a:hover{color:var(--white)}
.bc .sep{margin:0 1px}
.pg-hero h1{font-family:var(--ff-h);font-size:clamp(22px,3.5vw,34px);color:var(--white);margin-bottom:4px}
.pg-hero .lead{font-size:14px;color:rgba(255,255,255,.5);max-width:500px}
@media(min-width:768px){.pg-hero{padding:44px 0 36px}}

/* ══════════ CONTENT PAGES ══════════ */
.cp{max-width:840px}
.cp h2{font-family:var(--ff-h);font-size:20px;color:var(--s800);margin:24px 0 8px}
.cp p{font-size:15px;color:var(--s600);line-height:1.8;margin-bottom:12px}
.cp .himg{width:100%;height:240px;object-fit:cover;border-radius:var(--r-lg);margin:14px 0}
@media(min-width:768px){.cp .himg{height:300px}}
.info-cards{display:grid;grid-template-columns:1fr;gap:12px;margin:18px 0}
@media(min-width:640px){.info-cards{grid-template-columns:repeat(3,1fr)}}
.info-card{background:var(--white);border-radius:var(--r);border:1px solid var(--s200);padding:18px;text-align:center;transition:all .2s}
.info-card:hover{transform:translateY(-2px);box-shadow:var(--sh-sm)}
.info-card .ic-i{width:44px;height:44px;border-radius:50%;background:var(--teal-50);display:flex;align-items:center;justify-content:center;margin:0 auto 8px;color:var(--teal-700)}
.info-card h3{font-size:14px;font-weight:700;color:var(--s800);margin-bottom:3px}
.info-card p{font-size:12px;color:var(--s500);line-height:1.5;margin:0}

/* ══════════ ARTICLE ══════════ */
.art-lay{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.art-lay{grid-template-columns:1fr 300px}}
.art-main .art-img{width:100%;height:240px;object-fit:cover;border-radius:var(--r-lg);margin-bottom:16px}
@media(min-width:768px){.art-main .art-img{height:320px}}
.art-author{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--s200)}
.art-author-av{width:36px;height:36px;border-radius:50%;background:var(--teal-100);display:flex;align-items:center;justify-content:center;color:var(--teal-600);flex-shrink:0}
.art-author-info span{font-size:13px;font-weight:600;color:var(--s700);display:block}
.art-author-info small{font-size:11px;color:var(--s400)}
.art-share{display:flex;gap:6px;margin-bottom:18px}
.art-share a{width:34px;height:34px;border-radius:50%;background:var(--s100);display:flex;align-items:center;justify-content:center;color:var(--s500);transition:all .15s}
.art-share a:hover{background:var(--teal-700);color:var(--white)}
.art-body{font-size:15px;color:var(--s700);line-height:1.85}
.art-body h2{font-family:var(--ff-h);font-size:20px;color:var(--s800);margin:22px 0 8px}
.art-body p{margin-bottom:12px}
.art-body blockquote{border-left:4px solid var(--gold-500);padding:12px 16px;background:var(--gold-50);border-radius:0 var(--r) var(--r) 0;margin:16px 0;font-style:italic;color:var(--s600)}
.art-acts{display:flex;gap:6px;padding:14px 0;border-top:1px solid var(--s200);margin-top:18px;flex-wrap:wrap}
.related-g{display:grid;grid-template-columns:1fr;gap:12px;margin-top:14px}
@media(min-width:640px){.related-g{grid-template-columns:1fr 1fr}}

/* ══════════ CALENDAR ══════════ */
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.cal-nav{display:flex;align-items:center;gap:8px}
.cal-nav span{font-size:18px;font-weight:700;color:var(--s800)}
.cal-tags{display:flex;gap:4px;flex-wrap:wrap}
.cal-tag{padding:4px 12px;border-radius:var(--r-full);border:1.5px solid var(--s200);font-size:11px;font-weight:700;color:var(--s500);cursor:pointer;background:var(--white);transition:all .15s}
.cal-tag:hover,.cal-tag.on{background:var(--teal-700);color:var(--white);border-color:var(--teal-700)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);overflow:hidden}
.cal-dh{padding:8px 2px;text-align:center;font-weight:700;font-size:11px;color:var(--s400);border-bottom:1px solid var(--s200);background:var(--s50);text-transform:uppercase;letter-spacing:.5px}
.cal-cell{min-height:60px;padding:4px;border-bottom:1px solid var(--s100);border-right:1px solid var(--s100);background:var(--white)}
.cal-cell.empty{background:var(--s50)}
.cal-cell .d{font-size:12px;font-weight:600;color:var(--s600);margin-bottom:2px}
.cal-cell.today .d{background:var(--teal-700);color:var(--white);width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px}
.cal-ev{font-size:9px;padding:1px 4px;border-radius:3px;background:var(--teal-700);color:var(--white);margin-bottom:1px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
@media(min-width:768px){.cal-cell{min-height:84px;padding:6px}.cal-ev{font-size:10px;padding:2px 5px}.cal-cell .d{font-size:13px}}
@media(max-width:767px){.cal-grid,.cal-head .cal-nav{display:none}.mob-cal-msg{display:block}}
.mob-cal-msg{display:none;padding:14px;background:var(--white);border-radius:var(--r);border:1px solid var(--s200);margin-bottom:14px;font-size:13px;color:var(--s500);text-align:center}

.ev-list-item{display:flex;gap:12px;background:var(--white);border-radius:var(--r);border:1px solid var(--s200);padding:12px 14px;align-items:center;transition:box-shadow .15s}
.ev-list-item:hover{box-shadow:var(--sh-sm)}
@media(max-width:640px){.ev-list-item{flex-direction:column;align-items:flex-start;gap:8px}}

/* ══════════ DOCUMENTS ══════════ */
.docs-lay{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.docs-lay{grid-template-columns:220px 1fr}}
.docs-filters{position:sticky;top:calc(var(--hdr)+12px)}
.filter-g label{display:block;font-size:11px;font-weight:700;color:var(--s500);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}
.filter-g input,.filter-g select{width:100%;padding:8px 10px;border:1.5px solid var(--s200);border-radius:var(--r);font-size:13px;outline:none;color:var(--s700);background:var(--white);transition:border-color .2s}
.filter-g input:focus,.filter-g select:focus{border-color:var(--teal-500)}
.filter-g+.filter-g{margin-top:10px}
.docs-grid{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:640px){.docs-grid{grid-template-columns:1fr 1fr}}
.doc-card{display:flex;gap:10px;background:var(--white);border-radius:var(--r);border:1px solid var(--s200);padding:14px;transition:all .2s}
.doc-card:hover{border-color:var(--teal-300);box-shadow:var(--sh-sm)}
.doc-ic{width:40px;height:40px;border-radius:var(--r);background:var(--teal-50);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--teal-700)}
.doc-info h4{font-size:13px;font-weight:700;color:var(--s800);margin-bottom:2px;line-height:1.3}
.doc-info p{font-size:11px;color:var(--s400);margin-bottom:5px}
.doc-acts{display:flex;gap:4px}

/* ══════════ VIDEO ══════════ */
.vid-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.vid-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.vid-grid{grid-template-columns:repeat(3,1fr)}}
.vid-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);overflow:hidden;cursor:pointer;transition:all .2s}
.vid-card:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.vid-thumb{position:relative;height:160px;overflow:hidden;background:var(--s200)}
.vid-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.vid-card:hover .vid-thumb img{transform:scale(1.04)}
.vid-play{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.2);opacity:0;transition:opacity .2s}
.vid-card:hover .vid-play{opacity:1}
.vid-play-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center;color:var(--teal-700)}
.vid-info{padding:12px 14px}
.vid-h{font-size:13px;font-weight:700;color:var(--s800);margin-bottom:3px}
.vid-meta{font-size:11px;color:var(--s400);display:flex;gap:8px}

/* ══════════ NEWSLETTER ARCHIVE ══════════ */
.nl-grid{display:grid;grid-template-columns:1fr;gap:14px}
@media(min-width:640px){.nl-grid{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.nl-grid{grid-template-columns:repeat(3,1fr)}}
.nl-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);overflow:hidden;transition:all .2s}
.nl-card:hover{transform:translateY(-2px);box-shadow:var(--sh-lg)}
.nl-thumb{height:160px;overflow:hidden;background:var(--s100)}
.nl-thumb img{width:100%;height:100%;object-fit:cover}
.nl-info{padding:14px}
.nl-info h3{font-family:var(--ff-h);font-size:14px;color:var(--s800);margin-bottom:2px}
.nl-date{font-size:11px;color:var(--s400);margin-bottom:5px}
.nl-info p{font-size:12px;color:var(--s500);line-height:1.5;margin-bottom:8px}
.nl-acts{display:flex;gap:5px}

/* ══════════ CONTACT ══════════ */
.contact-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1fr}}
.form-g{margin-bottom:12px}
.form-g label{display:block;font-size:12px;font-weight:700;color:var(--s600);margin-bottom:4px}
.form-g input,.form-g textarea,.form-g select{width:100%;padding:9px 12px;border:1.5px solid var(--s200);border-radius:var(--r);font-size:14px;outline:none;color:var(--s700);transition:border-color .2s}
.form-g input:focus,.form-g textarea:focus{border-color:var(--teal-500)}
.form-g textarea{resize:vertical;min-height:80px}
.contact-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);padding:20px}
.ci-row{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.ci-row svg{color:var(--teal-600);flex-shrink:0;margin-top:2px}
.ci-label{font-size:10px;font-weight:700;color:var(--s400);text-transform:uppercase;letter-spacing:.5px}
.ci-val{font-size:13px;color:var(--s700)}
.map-box{width:100%;height:180px;border-radius:var(--r-lg);background:var(--s100);display:flex;align-items:center;justify-content:center;color:var(--s400);font-size:13px;border:1px solid var(--s200);margin-bottom:18px}
@media(min-width:768px){.map-box{height:220px}}

/* ══════════ ACCORDION (közérdekű) ══════════ */
.acc{display:flex;flex-direction:column;gap:8px}
.acc-item{background:var(--white);border-radius:var(--r);border:1px solid var(--s200);overflow:hidden}
.acc-hd{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;transition:background .1s}
.acc-hd:hover{background:var(--s50)}
.acc-hd h3{font-size:14px;font-weight:700;color:var(--s800);display:flex;align-items:center;gap:7px}
.acc-hd h3 svg{color:var(--teal-600);flex-shrink:0}
.acc-chev{transition:transform .25s;color:var(--s400)}
.acc-item.open .acc-chev{transform:rotate(180deg)}
.acc-bd{display:none;padding:0 16px 12px}
.acc-item.open .acc-bd{display:block}
.acc-list li{padding:6px 0;border-bottom:1px solid var(--s100);font-size:13px;color:var(--s600);display:flex;align-items:center;gap:6px}
.acc-list li:last-child{border-bottom:none}
.acc-list li svg{color:var(--teal-500);flex-shrink:0}
.acc-list li a{color:var(--teal-600);transition:color .15s}
.acc-list li a:hover{color:var(--teal-500);text-decoration:underline}

/* ══════════ RENDELETEK ══════════ */
.rend-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:18px}
.rend-tab{padding:6px 14px;border-radius:var(--r-full);border:1.5px solid var(--s200);font-size:12px;font-weight:700;color:var(--s500);cursor:pointer;background:var(--white);transition:all .15s}
.rend-tab:hover,.rend-tab.on{background:var(--teal-700);color:var(--white);border-color:var(--teal-700)}
.rend-table{width:100%;background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);overflow:hidden;border-collapse:collapse}
.rend-table th{padding:10px 14px;text-align:left;font-size:12px;font-weight:700;color:var(--s500);text-transform:uppercase;letter-spacing:.5px;background:var(--s50);border-bottom:2px solid var(--s200)}
.rend-table td{padding:10px 14px;font-size:13px;color:var(--s600);border-bottom:1px solid var(--s100)}
.rend-table tr:hover td{background:var(--teal-50)}
.rend-table a{color:var(--teal-600);font-weight:600}.rend-table a:hover{text-decoration:underline}
@media(max-width:640px){.rend-table{font-size:12px}.rend-table th,.rend-table td{padding:8px 10px}}
/* Rendelet expandable attachments */
.rend-toggle{background:none;color:var(--teal-600);font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:3px;padding:2px 0;transition:color .15s}
.rend-toggle:hover{color:var(--teal-500)}
.rend-toggle svg{transition:transform .2s}
.rend-toggle.open svg{transform:rotate(180deg)}
.rend-attachments{display:none;padding:8px 0 4px 16px}
.rend-attachments.open{display:block}
.rend-att{display:flex;align-items:center;gap:6px;padding:4px 0;font-size:12px;color:var(--s500);border-bottom:1px dashed var(--s100)}
.rend-att:last-child{border-bottom:none}
.rend-att a{color:var(--teal-600);font-weight:500}.rend-att a:hover{text-decoration:underline}
.rend-att svg{flex-shrink:0;color:var(--s400)}

/* ══════════ LEGAL PAGES ══════════ */
.legal{max-width:800px}
.legal h2{font-family:var(--ff-h);font-size:20px;color:var(--s800);margin:22px 0 8px}
.legal h3{font-size:16px;font-weight:700;color:var(--s800);margin:16px 0 6px}
.legal p,.legal li{font-size:14px;color:var(--s600);line-height:1.75;margin-bottom:10px}
.legal ul{list-style:disc;padding-left:20px}
.legal ul li{margin-bottom:4px}
.legal a{color:var(--teal-600);text-decoration:underline}

/* ══════════ SITEMAP ══════════ */
.sitemap-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:640px){.sitemap-grid{grid-template-columns:1fr 1fr 1fr}}
.sitemap-col h3{font-size:15px;font-weight:700;color:var(--s800);margin-bottom:8px;padding-bottom:6px;border-bottom:2px solid var(--teal-500);display:inline-block}
.sitemap-col a{display:block;padding:4px 0;font-size:13px;color:var(--s600);transition:color .15s}
.sitemap-col a:hover{color:var(--teal-600)}
.sitemap-col .sub{padding-left:14px}
.sitemap-col .sub a{font-size:12px;color:var(--s400)}

/* ══════════ FOOTER ══════════ */
.ft{background:var(--s900);color:rgba(255,255,255,.5);padding-top:44px}
.ft-grid{display:grid;grid-template-columns:1fr;gap:24px;padding-bottom:28px}
@media(min-width:640px){.ft-grid{grid-template-columns:1fr 1fr}}
@media(min-width:960px){.ft-grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr}}
.ft-brand p{font-size:13px;line-height:1.6;margin:8px 0 12px}
.ft-soc{display:flex;gap:6px}
.ft-si{width:32px;height:32px;border-radius:6px;background:rgba(255,255,255,.05);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.35);transition:all .15s}
.ft-si:hover{background:var(--teal-700);color:var(--white)}
.ft-h{font-size:12px;font-weight:700;color:var(--white);margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.ft-l{display:block;font-size:13px;color:rgba(255,255,255,.4);padding:3px 0;transition:color .15s}
.ft-l:hover{color:rgba(255,255,255,.9)}
.ft-ct{font-size:13px;line-height:1.8}
.ft-btm{border-top:1px solid rgba(255,255,255,.05);padding:12px 0}
.ft-btm-in{display:flex;flex-direction:column;gap:8px;align-items:center;text-align:center}
@media(min-width:768px){.ft-btm-in{flex-direction:row;justify-content:space-between;text-align:left}}
.ft-leg{display:flex;gap:12px;flex-wrap:wrap}
.ft-leg a{font-size:11px;color:rgba(255,255,255,.3);transition:color .15s}.ft-leg a:hover{color:rgba(255,255,255,.7)}
.ft-copy{font-size:11px;color:rgba(255,255,255,.2)}
.ft-badges{display:flex;gap:5px}
.ft-badge{padding:3px 7px;border:1px solid rgba(255,255,255,.07);border-radius:3px;font-size:9px;color:rgba(255,255,255,.2)}

/* ══════════ WIDGET SIDEBAR (left) ══════════ */
.home-3col{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:960px){.home-3col{grid-template-columns:200px 1fr 320px}}
@media(min-width:1100px){.home-3col{grid-template-columns:220px 1fr 340px}}
.widgets{display:flex;flex-direction:column;gap:10px}
@media(max-width:959px){.widgets{display:grid;grid-template-columns:1fr 1fr;gap:10px}}
@media(max-width:479px){.widgets{grid-template-columns:1fr}}
.widget-banner{display:block;border-radius:var(--r);overflow:hidden;border:2px solid var(--s200);transition:all .25s var(--ease);position:relative}
.widget-banner:hover{border-color:var(--teal-400);transform:translateY(-2px);box-shadow:var(--sh-md)}
.widget-banner .wb-label{display:block;padding:8px 10px;background:var(--white);font-size:11px;font-weight:700;color:var(--s700);text-align:center;line-height:1.3;border-top:1px solid var(--s100)}
.widget-panel{background:var(--white);border-radius:var(--r);border:1px solid var(--s200);padding:12px;transition:box-shadow .2s}
.widget-panel:hover{box-shadow:var(--sh-xs)}
.widget-panel h4{font-size:12px;font-weight:700;color:var(--s800);margin-bottom:8px;display:flex;align-items:center;gap:5px}
.widget-panel h4 svg{color:var(--teal-600)}
.widget-panel a{display:block;padding:5px 0;font-size:12px;color:var(--s600);transition:all .15s;border-bottom:1px solid var(--s50)}
.widget-panel a:last-child{border-bottom:none}
.widget-panel a:hover{color:var(--teal-600);padding-left:4px}

/* ══════════ GALLERY ══════════ */
.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(min-width:640px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:12px}}
@media(min-width:900px){.gallery-grid{grid-template-columns:repeat(4,1fr)}}
.gallery-item{position:relative;border-radius:var(--r);overflow:hidden;cursor:pointer;aspect-ratio:4/3}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s var(--ease)}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent 50%);opacity:0;transition:opacity .3s}
.gallery-item:hover::after{opacity:1}
.gallery-item .gi-label{position:absolute;bottom:8px;left:10px;right:10px;color:var(--white);font-size:12px;font-weight:600;z-index:1;opacity:0;transform:translateY(6px);transition:all .3s}
.gallery-item:hover .gi-label{opacity:1;transform:translateY(0)}
.gallery-item.feat{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}
/* Lightbox */
.lightbox{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:10000;align-items:center;justify-content:center;padding:20px}
.lightbox.open{display:flex}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:var(--r-lg);object-fit:contain}
.lightbox-close{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.lightbox-close:hover{background:rgba(255,255,255,.2)}

/* ══════════ COUNTER ══════════ */
.counters{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0}
@media(min-width:640px){.counters{grid-template-columns:repeat(4,1fr)}}
.counter-card{background:var(--white);border-radius:var(--r);border:1px solid var(--s200);padding:20px;text-align:center;transition:all .25s var(--ease)}
.counter-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--teal-300)}
.counter-num{font-family:var(--ff-h);font-size:32px;font-weight:700;color:var(--teal-700);line-height:1}
.counter-label{font-size:12px;color:var(--s500);margin-top:4px;font-weight:600}

/* ══════════ HOVER GLOW ══════════ */
.glow{position:relative;overflow:hidden}
.glow::before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(43,184,184,.06),transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:width .5s,height .5s;pointer-events:none;z-index:0}
.glow:hover::before{width:300px;height:300px}

/* ══════════ ANNOUNCEMENT TICKER ══════════ */
.ticker{background:var(--gold-100);border-bottom:1px solid rgba(212,168,67,.2);padding:7px 0;overflow:hidden}
.ticker-inner{display:flex;align-items:center;gap:10px}
.ticker-badge{flex-shrink:0;padding:3px 10px;background:var(--gold-500);color:var(--white);border-radius:var(--r-full);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.ticker-text{font-size:12.5px;color:var(--s700);font-weight:500}
.ticker-text a{color:var(--teal-600);font-weight:700}

/* ══════════ STATS BAR ══════════ */
.stats-bar{background:var(--teal-700);padding:24px 0}
.stats-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;text-align:center}
@media(min-width:640px){.stats-row{grid-template-columns:repeat(4,1fr)}}
.stat-num{font-family:var(--ff-h);font-size:28px;font-weight:700;color:var(--white)}
.stat-lbl{font-size:12px;color:rgba(255,255,255,.55);margin-top:2px}

/* Back to top */
.btt{position:fixed;bottom:20px;right:20px;width:42px;height:42px;border-radius:50%;background:var(--teal-700);color:var(--white);display:flex;align-items:center;justify-content:center;box-shadow:var(--sh-lg);opacity:0;pointer-events:none;transition:all .25s;z-index:99}
.btt.on{opacity:1;pointer-events:auto}.btt:hover{background:var(--teal-600);transform:translateY(-2px)}

/* ══════════ SCROLL PROGRESS BAR ══════════ */
.scroll-prog{position:fixed;top:var(--hdr);left:0;height:3px;background:linear-gradient(90deg,var(--teal-500),var(--gold-400));z-index:1001;width:0;transition:width .1s linear}

/* ══════════ PARALLAX HERO ══════════ */
.hero-bg{will-change:transform}

/* ══════════ IMAGE LAZY FADE ══════════ */
img[loading="lazy"]{opacity:0;transition:opacity .5s ease}
img.loaded,img[loading="lazy"].loaded{opacity:1}

/* ══════════ TAB PANELS ══════════ */
.tabs{display:flex;gap:2px;border-bottom:2px solid var(--s200);margin-bottom:18px}
.tab-btn{padding:10px 18px;font-size:13px;font-weight:700;color:var(--s500);background:none;border:none;border-bottom:3px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .2s}
.tab-btn:hover{color:var(--teal-600)}
.tab-btn.on{color:var(--teal-700);border-bottom-color:var(--teal-500)}
.tab-panel{display:none}
.tab-panel.on{display:block;animation:tabIn .3s ease}
@keyframes tabIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* ══════════ TEAM / TESTÜLET GRID ══════════ */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media(min-width:640px){.team-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.team-grid{grid-template-columns:repeat(4,1fr)}}
.team-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);padding:18px;text-align:center;transition:all .25s var(--ease)}
.team-card:hover{transform:translateY(-3px);box-shadow:var(--sh-md);border-color:var(--teal-300)}
.team-av{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--teal-100),var(--teal-50));display:flex;align-items:center;justify-content:center;margin:0 auto 10px;color:var(--teal-600);border:2px solid var(--s200)}
.team-card h4{font-size:14px;font-weight:700;color:var(--s800);margin-bottom:2px}
.team-card .team-role{font-size:11px;color:var(--s400);font-weight:600}
.team-card .team-contact{margin-top:8px;font-size:11px;color:var(--s500);display:flex;flex-direction:column;gap:2px;align-items:center}
.team-card .team-contact a{color:var(--teal-600)}

/* ══════════ TIMELINE ══════════ */
.timeline{position:relative;padding-left:28px}
.timeline::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:2px;background:var(--s200)}
.tl-item{position:relative;padding-bottom:20px}
.tl-item::before{content:'';position:absolute;left:-22px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--teal-500);border:3px solid var(--white);box-shadow:0 0 0 2px var(--teal-200)}
.tl-item:last-child{padding-bottom:0}
.tl-date{font-size:12px;font-weight:700;color:var(--teal-600);margin-bottom:2px}
.tl-title{font-size:15px;font-weight:700;color:var(--s800);margin-bottom:4px}
.tl-desc{font-size:13px;color:var(--s500);line-height:1.6}

/* ══════════ CTA SECTION ══════════ */
.cta-sec{background:linear-gradient(135deg,var(--teal-800),var(--teal-600));padding:40px 0;text-align:center;position:relative;overflow:hidden}
.cta-sec::before{content:'';position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2H0V0h2v14h2V0h2v14h2V0h2v14h2V0h14v2H16v2h14v2H16v2h14v2H16v6h4V0h2v20h2V0h2v20h2V0h2v20h4v2H30v2h10v2H30v2h10v2H30v2h10v14h-2V26h-2v14h-2V26h-2v14h-2V26h-6v4h14v2H20v2h20v2H20v2h20v14H0V30h14v-2H0v-2h14v-2H0v-2h14v-6h-4v14H8V20H6v20H4V20H2v20H0V20z'/%3E%3C/g%3E%3C/svg%3E");pointer-events:none}
.cta-sec h2{font-family:var(--ff-h);font-size:clamp(22px,3vw,30px);color:var(--white);margin-bottom:8px;position:relative}
.cta-sec p{font-size:15px;color:rgba(255,255,255,.6);margin-bottom:20px;max-width:500px;margin-left:auto;margin-right:auto;position:relative}

/* ══════════ FEATURE HIGHLIGHT CARDS ══════════ */
.feat-cards{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:640px){.feat-cards{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.feat-cards{grid-template-columns:repeat(3,1fr)}}
.feat-card{background:var(--white);border-radius:var(--r-lg);border:1px solid var(--s200);padding:24px;transition:all .25s var(--ease);position:relative;overflow:hidden}
.feat-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:var(--teal-300)}
.feat-card::after{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--teal-500);transform:scaleX(0);transition:transform .3s;transform-origin:left}
.feat-card:hover::after{transform:scaleX(1)}
.feat-card .fc-ic{width:48px;height:48px;border-radius:var(--r);background:var(--teal-50);display:flex;align-items:center;justify-content:center;color:var(--teal-700);margin-bottom:14px}
.feat-card h3{font-size:16px;font-weight:700;color:var(--s800);margin-bottom:6px}
.feat-card p{font-size:13px;color:var(--s500);line-height:1.6}

/* ══════════ ÜGYFÉLFOGADÁS TABLE ══════════ */
.office-table{width:100%;background:var(--white);border-radius:var(--r);border:1px solid var(--s200);overflow:hidden;border-collapse:collapse}
.office-table th{padding:10px 14px;text-align:left;font-size:12px;font-weight:700;color:var(--s400);text-transform:uppercase;background:var(--s50);border-bottom:2px solid var(--s200)}
.office-table td{padding:10px 14px;font-size:13px;color:var(--s600);border-bottom:1px solid var(--s100)}
.office-table tr:hover td{background:var(--teal-50)}

