/* =========================================================
   Önkormányzat Mester Sablon - globális stílus
   (fejléc, sáv, lábléc, akadálymentesítés, alap tipográfia,
   animáció-segédosztályok - minden ami MINDEN oldalon kell)
   ========================================================= */

:root{
	--tp-szin-elsodleges:#1B3358;   /* önkormányzati sötétkék */
	--tp-szin-elsodleges-vilagos:#284677;
	--tp-szin-kiemelo:#C9A227;      /* arany akcentus */
	--tp-szin-siker:#2E7D4F;
	--tp-szin-hiba:#B3261E;
	--tp-szin-szoveg:#1E222A;
	--tp-szin-szoveg-halvany:#5B6472;
	--tp-szin-hatter:#FFFFFF;
	--tp-szin-hatter-szurke:#F4F6F9;
	--tp-szin-vonal:#E2E6ED;
	--tp-radius:14px;
	--tp-arnyek:0 8px 30px rgba(27,51,88,.08);
	--tp-container:1200px;
	--tp-font-cim:'Poppins',system-ui,sans-serif;
	--tp-font-szoveg:'Inter',system-ui,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
	margin:0;
	font-family:var(--tp-font-szoveg);
	color:var(--tp-szin-szoveg);
	background:var(--tp-szin-hatter);
	line-height:1.6;
}
h1,h2,h3,h4{font-family:var(--tp-font-cim);color:var(--tp-szin-elsodleges);line-height:1.2;margin:0 0 .5em;}
img{max-width:100%;display:block;}
a{color:var(--tp-szin-elsodleges);}
.tp-container{max-width:var(--tp-container);margin:0 auto;padding:0 24px;}

/* --- Kép helper --- */
.tp-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:var(--tp-radius);}
.tp-img-placeholder{
	display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
	width:100%;height:100%;min-height:120px;
	background:repeating-linear-gradient(45deg,#EEF1F6,#EEF1F6 10px,#E4E8F0 10px,#E4E8F0 20px);
	border:2px dashed #B9C2D0;border-radius:var(--tp-radius);
	color:#6b7686;font-size:.85rem;text-align:center;padding:16px;
}
.tp-img-placeholder__icon{font-size:1.6rem;}
.tp-img-placeholder--terkep{min-height:180px;}

/* --- Felső, vékony sáv --- */
.tp-topsav{background:var(--tp-szin-elsodleges);color:#fff;font-size:.85rem;}
.tp-topsav__belso{display:flex;align-items:center;justify-content:space-between;padding:6px 24px;gap:12px;}
.tp-topsav__telefon{color:#fff;text-decoration:none;display:flex;align-items:center;gap:6px;font-weight:600;}
.tp-topsav__kozossegi{display:flex;gap:12px;}
.tp-topsav__kozossegi a{color:#fff;display:inline-flex;opacity:.85;transition:opacity .2s;}
.tp-topsav__kozossegi a:hover{opacity:1;}

/* --- Fejléc --- */
.tp-fejlec{position:sticky;top:0;z-index:50;background:#fff;box-shadow:var(--tp-arnyek);}
.tp-fejlec__belso{display:flex;align-items:center;justify-content:space-between;min-height:88px;position:relative;}
.tp-fejlec__cimer{display:block;width:96px;height:120px;margin-bottom:-32px;position:relative;z-index:2;}
.tp-cimer-kep{object-fit:contain;border-radius:0;background:#fff;padding:6px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.12));}
.tp-fomenu__lista{list-style:none;display:flex;gap:28px;margin:0;padding:0;}
.tp-fomenu__lista a{text-decoration:none;font-weight:600;color:var(--tp-szin-elsodleges);padding:8px 0;position:relative;}
.tp-fomenu__lista a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--tp-szin-kiemelo);transition:width .25s;}
.tp-fomenu__lista a:hover::after{width:100%;}
.tp-hamburger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px;}
.tp-hamburger span{width:26px;height:3px;background:var(--tp-szin-elsodleges);border-radius:2px;transition:.25s;}

/* --- Másodlagos (aloldal) fejléc --- */
.tp-al-fejlec{background:var(--tp-szin-hatter-szurke);border-bottom:1px solid var(--tp-szin-vonal);padding:22px 0;}
.tp-al-fejlec__belso{display:flex;align-items:center;gap:18px;}
.tp-vissza-nyil{background:#fff;border:1px solid var(--tp-szin-vonal);border-radius:999px;padding:8px 16px;cursor:pointer;font-weight:600;color:var(--tp-szin-elsodleges);}
.tp-breadcrumb{font-size:.85rem;color:var(--tp-szin-szoveg-halvany);display:flex;gap:6px;margin-top:4px;}
.tp-breadcrumb a{color:var(--tp-szin-szoveg-halvany);text-decoration:none;}

@media (max-width:900px){
	.tp-hamburger{display:flex;}
	.tp-fomenu{position:fixed;inset:0 0 0 30%;background:#fff;transform:translateX(100%);transition:transform .3s;z-index:60;padding:100px 24px 24px;overflow-y:auto;}
	.tp-fomenu.is-nyitva{transform:translateX(0);box-shadow:-10px 0 30px rgba(0,0,0,.15);}
	.tp-fomenu__lista{flex-direction:column;gap:18px;}
}

/* --- Lábléc --- */
.tp-lablec{background:var(--tp-szin-elsodleges);color:#dfe6f2;margin-top:64px;}
.tp-lablec__racs{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:48px 24px;}
.tp-lablec__oszlop h2{color:#fff;font-size:1rem;}
.tp-lablec__cimer{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:10px;padding:6px;margin-bottom:10px;}
.tp-lablec__menu{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;}
.tp-lablec__menu a{color:#dfe6f2;text-decoration:none;}
.tp-lablec__menu a:hover{color:var(--tp-szin-kiemelo);}
.tp-lablec__also{display:flex;justify-content:center;align-items:center;gap:18px;padding:14px;border-top:1px solid rgba(255,255,255,.12);font-size:.8rem;color:#9fb0cc;}
.tp-admin-link{color:#5c6c8c;text-decoration:none;font-size:1.1rem;opacity:.5;padding:4px 10px;}
.tp-admin-link:hover{opacity:1;color:#9fb0cc;}
@media (max-width:800px){.tp-lablec__racs{grid-template-columns:1fr;}}

/* --- Akadálymentesítés floating widget --- */
.tp-akadalymentes{position:fixed;right:20px;bottom:20px;z-index:200;}
.tp-akadalymentes__gomb{width:54px;height:54px;border-radius:50%;background:var(--tp-szin-elsodleges);color:#fff;border:0;font-size:1.4rem;cursor:pointer;box-shadow:var(--tp-arnyek);}
.tp-akadalymentes__panel{position:absolute;right:0;bottom:66px;background:#fff;border-radius:var(--tp-radius);box-shadow:var(--tp-arnyek);padding:16px;display:flex;flex-direction:column;gap:8px;width:240px;}
.tp-akadalymentes__panel h2{font-size:.95rem;margin-bottom:4px;}
.tp-am-opcio{text-align:left;padding:10px 12px;border-radius:10px;border:1px solid var(--tp-szin-vonal);background:#fff;cursor:pointer;font-size:.9rem;}
.tp-am-opcio:hover{background:var(--tp-szin-hatter-szurke);}
.tp-am-opcio--reset{color:var(--tp-szin-hiba);border-color:#f2c9c6;}

/* Akadálymentesítési állapot-osztályok a <html>-en */
html.tp-am-kontraszt body{background:#000;color:#fff;}
html.tp-am-kontraszt .tp-fejlec,html.tp-am-kontraszt .tp-lablec{background:#000;}
html.tp-am-alahuzas a{text-decoration:underline !important;}
html.tp-am-olvashato-betutipus body{font-family:Arial,Helvetica,sans-serif !important;}

/* --- Belépő / görgetős animációk --- */
.tp-reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.tp-reveal.is-lathato{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
	.tp-reveal{opacity:1;transform:none;transition:none;}
	html{scroll-behavior:auto;}
}

/* --- Gombok (megosztott alap) --- */
.tp-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 24px;font-weight:600;cursor:pointer;text-decoration:none;font-family:var(--tp-font-szoveg);}
.tp-btn--elsodleges{background:var(--tp-szin-kiemelo);color:#241a02;}
.tp-btn--elsodleges:hover{filter:brightness(1.05);}
.tp-btn--halvany{background:#fff;border:1px solid var(--tp-szin-vonal);color:var(--tp-szin-elsodleges);}

/* --- Megosztott: cím + kép + rövid info kártya (Szolgáltatások, Civil,
   Látnivalók, Turizmus, gyűjtőoldalak) --- */
.tp-kartyaracs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px;}
@media (max-width:900px){.tp-kartyaracs{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.tp-kartyaracs{grid-template-columns:1fr;}}
.tp-egyszerukartya{background:#fff;border-radius:var(--tp-radius);box-shadow:var(--tp-arnyek);overflow:hidden;}
.tp-egyszerukartya__kep{display:block;aspect-ratio:16/10;}
.tp-egyszerukartya__tartalom{padding:18px;}
.tp-egyszerukartya h3{font-size:1.05rem;margin:0 0 6px;}
.tp-egyszerukartya h3 a{color:var(--tp-szin-szoveg);text-decoration:none;}
.tp-egyszerukartya__info{color:var(--tp-szin-szoveg-halvany);font-size:.9rem;margin:0;}

/* --- Névjegykártya (Személyek) - a kép NEM hangsúlyos --- */
.tp-nevjegyracs{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:24px;}
@media (max-width:900px){.tp-nevjegyracs{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.tp-nevjegyracs{grid-template-columns:1fr;}}
.tp-nevjegy{background:#fff;border-radius:var(--tp-radius);box-shadow:var(--tp-arnyek);padding:20px;display:flex;gap:14px;align-items:flex-start;}
.tp-nevjegy__kep{width:56px;height:56px;border-radius:50%;overflow:hidden;flex-shrink:0;}
.tp-nevjegy__adatok{display:flex;flex-direction:column;gap:3px;font-size:.9rem;}
.tp-nevjegy__adatok strong{font-size:1rem;color:var(--tp-szin-elsodleges);}
.tp-nevjegy__munkakor{color:var(--tp-szin-szoveg-halvany);}
.tp-nevjegy__adatok a{color:var(--tp-szin-szoveg);text-decoration:none;}

/* --- Publikus tabsor (gyűjtőoldalak: Pályázatok, Turizmus) --- */
.tp-tabsor{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;}
.tp-tab{text-decoration:none;padding:8px 16px;border-radius:999px;background:#fff;color:var(--tp-szin-szoveg-halvany);font-size:.85rem;font-weight:600;border:1px solid var(--tp-szin-vonal);cursor:pointer;}
.tp-tab.is-aktiv{background:var(--tp-szin-elsodleges);color:#fff;border-color:var(--tp-szin-elsodleges);}

.tp-oldal-intro{color:var(--tp-szin-szoveg-halvany);max-width:720px;margin:0 0 24px;}
.tp-tovabb-sor{text-align:center;margin-top:32px;}

/* --- Dokumentum lista (Nyomtatványok) --- */
.tp-dokulista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tp-dokulista li{background:#fff;border-radius:12px;box-shadow:var(--tp-arnyek);padding:14px 18px;display:flex;align-items:center;gap:14px;}
.tp-dokulista__ikon{font-size:1.6rem;}
.tp-dokulista__adatok{flex:1;}
.tp-dokulista__adatok strong{display:block;color:var(--tp-szin-elsodleges);}
.tp-dokulista__adatok p{margin:2px 0 0;font-size:.85rem;color:var(--tp-szin-szoveg-halvany);}

/* --- Naptár (Események oldal) --- */
.tp-naptar{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--tp-radius);overflow:hidden;box-shadow:var(--tp-arnyek);}
.tp-naptar th{background:var(--tp-szin-elsodleges);color:#fff;padding:10px;font-size:.8rem;}
.tp-naptar td{border:1px solid var(--tp-szin-vonal);vertical-align:top;height:90px;width:14.28%;padding:6px;font-size:.85rem;}
.tp-naptar td.tp-naptar__ma{background:#fdf6e3;}
.tp-naptar__esemeny{display:block;background:var(--tp-szin-elsodleges);color:#fff;border-radius:6px;padding:2px 6px;font-size:.72rem;margin-top:4px;text-decoration:none;}
.tp-naptar-fejlec{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.tp-naptar-fejlec a{text-decoration:none;font-weight:700;color:var(--tp-szin-elsodleges);}

/* --- Kapcsolati form --- */
.tp-kapcsolat-racs{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:24px;align-items:start;}
@media (max-width:800px){.tp-kapcsolat-racs{grid-template-columns:1fr;}}
.tp-ugyfelfogadas-lista{list-style:none;margin:0;padding:0;}
.tp-ugyfelfogadas-lista li{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--tp-szin-vonal);}
