:root{
  --kek:#D2232A; --kek-melyt:#A31A20; --kek-halvany:#F7F7F9;
  --zold:#12833F; --zold-sotet:#0D6B32;
  --szoveg:#1F2124; --szoveg-halk:#4F545A; --vonal:#E3E3E7;
  --lap:#F4F4F6; --sziget:#FFFFFF;
  --max:1060px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:18px; line-height:1.72; color:var(--szoveg); background:var(--lap);
  font-weight:450; padding-bottom:78px;
}
.wrap{max-width:var(--max);margin:0 auto;padding:0 13px}
a{color:var(--kek-melyt);text-decoration:none;font-weight:600}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}

/* ---- fejlec ---- */
/* A valtozat: FEHER fejlec, piros csikkal - a DSC hivatalos feher-piros */
.fej{background:#fff;position:sticky;top:0;z-index:50;border-bottom:4px solid var(--kek);
     box-shadow:0 1px 8px rgba(31,31,29,.10)}
.fej .wrap{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:12px}
.logo{color:var(--kek);font-size:22px;font-weight:800;letter-spacing:-.3px}
.logo:hover{text-decoration:none;color:var(--kek)}
.logo span{color:#2B2B31;font-weight:700}
.menugomb{background:var(--kek);border:0;color:#fff;font-size:24px;line-height:1;
  cursor:pointer;padding:9px 13px;border-radius:10px;font-weight:700}
@media(min-width:900px){.menugomb{display:none}}
nav ul{list-style:none;display:flex;gap:19px}
nav a{color:#2B2B31;font-size:15.5px;font-weight:600;padding:6px 0;display:block}
nav a:hover,nav a[aria-current="page"]{color:var(--kek);text-decoration:none}

/* ---- mobil menu ---- */
@media(max-width:899px){
  nav{display:none;position:absolute;top:66px;left:0;right:0;background:#fff;
      padding:12px 13px 16px;box-shadow:0 8px 20px rgba(31,31,29,.16);border-bottom:1px solid var(--vonal)}
  nav.nyit{display:block}
  nav ul{flex-direction:column;gap:9px}
  nav a{
    background:#FAFAFB;border:1px solid var(--vonal);border-left:5px solid var(--kek);
    border-radius:11px;padding:16px 16px;font-size:18px;font-weight:700;
    min-height:56px;display:flex;align-items:center;color:var(--szoveg);
  }
  nav a[aria-current="page"]{background:#FDEDEC;border-color:var(--kek);color:var(--szoveg)}
}

/* ---- szigetek ---- */
.sziget{
  background:var(--sziget); border-radius:18px; padding:24px 19px;
  margin:15px 0; box-shadow:0 1px 4px rgba(31,31,29,.07);
  border-top:4px solid var(--kek);
}
@media(min-width:700px){.sziget{padding:32px 34px;margin:20px 0}}
.sziget:first-child{margin-top:16px}
.sziget.hero{background:#fff;border:1px solid var(--vonal);border-top:4px solid var(--kek)}
.sziget.hero h1{font-size:28px;line-height:1.22;font-weight:800;letter-spacing:-.5px}
.sziget.hero .alcim{color:#454C52;font-size:17.5px;margin-top:10px;font-weight:700}
.sziget.hero p{margin-top:13px;max-width:60ch}
@media(min-width:700px){.sziget.hero h1{font-size:36px}}
.sziget.kiemelt{background:var(--kek)}
.sziget.kiemelt h2{color:#fff}
.sziget.kiemelt p{color:#FDEFED}
.sziget.kiemelt a{color:#fff}
.sziget.kiemelt .tel{font-size:32px;font-weight:800;color:#fff;display:block;margin:9px 0 5px;letter-spacing:-.5px}
.sziget.kiemelt .tel:hover{text-decoration:none;color:#FDEFED}
.sziget.figyelem{border-top:4px solid #B45309;background:#FFFCF6}
.sziget.figyelem h2{color:#7C3D06}

h2{font-size:23px;margin:0 0 14px;line-height:1.28;font-weight:800;letter-spacing:-.3px}
h3{font-size:19px;color:#333A40;margin:0 0 8px;font-weight:700}
p{margin-bottom:14px;max-width:66ch}
p:last-child{margin-bottom:0}
.sziget ul,.sziget ol{margin:0 0 15px 22px}
.sziget li{margin-bottom:10px}
.sziget ul:last-child,.sziget ol:last-child{margin-bottom:0}
strong,b{font-weight:700}

.jelveny{display:inline-block;background:var(--kek);color:#fff;font-size:13px;
  font-weight:800;padding:5px 13px;border-radius:6px;letter-spacing:.5px;margin-bottom:12px}

/* ---- gombok ---- */
.gombsor{display:flex;flex-wrap:wrap;gap:11px;margin-top:22px}
.gomb{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--zold);color:#fff;font-size:17.5px;font-weight:700;
  padding:15px 24px;border-radius:12px;min-height:56px;
  box-shadow:0 2px 6px rgba(18,131,63,.18);
}
.gomb:hover{background:var(--zold-sotet);text-decoration:none;color:#fff}
.gomb.masodlagos{background:#fff;color:var(--szoveg);border:2px solid var(--kek);box-shadow:none}
.gomb.masodlagos:hover{background:var(--kek-halvany);color:var(--szoveg)}
@media(max-width:560px){.gomb{width:100%}}

/* ---- csempek ---- */
.racs{display:grid;gap:14px;grid-template-columns:1fr;margin:20px 0 0}
@media(min-width:720px){.racs{grid-template-columns:repeat(3,1fr)}}
.racs.ketto{grid-template-columns:1fr}
@media(min-width:720px){.racs.ketto{grid-template-columns:repeat(2,1fr)}}
.kartya{border:1px solid var(--vonal);border-left:5px solid var(--kek);
  border-radius:13px;padding:20px;background:#FAFAFB}
.kartya h3{margin-bottom:6px;font-size:18px}
.kartya p{font-size:16px;color:var(--szoveg-halk);margin-bottom:0}
a.kartya{color:inherit;font-weight:450;display:block}
a.kartya:hover{background:#fff;box-shadow:0 2px 10px rgba(31,33,36,.10);text-decoration:none}
a.kartya h3{color:var(--kek-melyt)}

/* ---- letoltok ---- */
.letoltok{display:grid;gap:13px;grid-template-columns:1fr;margin:20px 0 0}
@media(min-width:720px){.letoltok{grid-template-columns:repeat(2,1fr)}}
.letolt{
  display:flex;align-items:center;gap:15px;border:1px solid var(--vonal);
  border-left:5px solid var(--kek);border-radius:13px;padding:18px;
  background:#FAFAFB;color:inherit;min-height:82px;font-weight:450;
}
.letolt:hover{background:var(--kek-halvany);text-decoration:none}
.letolt .ikon{flex:0 0 52px;height:52px;border-radius:12px;background:var(--kek);
  color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:800;letter-spacing:.5px}
.letolt .nev{font-weight:700;font-size:17px;line-height:1.35;display:block;color:var(--szoveg)}
.letolt .meta{font-size:14.5px;color:var(--szoveg-halk);margin-top:4px;display:block;font-weight:450}

/* ---- tablazat ---- */
.tablabur{overflow-x:auto;margin:18px 0 0;border-radius:13px;border:1px solid var(--vonal)}
table{border-collapse:collapse;width:100%;font-size:17px;min-width:320px;background:#fff}
th,td{border-bottom:1px solid var(--vonal);padding:14px 15px;text-align:left;vertical-align:top}
tr:last-child th,tr:last-child td{border-bottom:0}
thead th{background:var(--kek-halvany);font-weight:700}
tbody th{background:#FAFAFB;font-weight:700;width:42%}
kbd{display:inline-block;background:#2B2B31;color:#fff;border-radius:6px;
  padding:2px 9px;font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:15px;font-weight:700;line-height:1.5}

figure{margin:20px 0 0;border-radius:14px;overflow:hidden}

/* ---- telepuleslista ---- */
.telepulesek{columns:2;column-gap:20px;font-size:16px;line-height:1.95;
  color:var(--szoveg-halk);margin-top:14px;font-weight:450}
@media(min-width:700px){.telepulesek{columns:4}}
.telepulesek span{display:block;break-inside:avoid}

/* ---- lebego hivogomb ---- */
body.menu-nyit .hivo{display:none}
.hivo{
  position:fixed;left:14px;right:14px;bottom:14px;z-index:60;
  background:var(--zold);color:#fff;text-align:center;
  font-size:17px;font-weight:700;padding:13px 16px;
  border-radius:14px;letter-spacing:.1px;
  box-shadow:0 3px 12px rgba(31,31,29,.16);
}
.hivo:hover{background:var(--zold-sotet);color:#fff;text-decoration:none}
@media(min-width:900px){
  .hivo{left:auto;right:22px;bottom:22px;border-radius:44px;padding:13px 26px;font-size:16.5px;
        box-shadow:0 5px 18px rgba(31,31,29,.20)}
  body{padding-bottom:0}
}

/* ---- lablec ---- */
footer{background:var(--kek);color:#FDEFED;padding:32px 0 36px;font-size:16px;margin-top:18px}
footer a{color:#fff}
footer .cim{color:#fff;font-weight:700;margin-bottom:8px;font-size:18px}
footer .sor{margin-bottom:6px}
footer .aprobetu{margin-top:18px;font-size:14.5px;color:#FDF2F0;
  border-top:1px solid rgba(255,255,255,.30);padding-top:15px;font-weight:450}
.morzsa{font-size:15px;color:var(--szoveg-halk);margin:16px 0 0;padding:0 6px;font-weight:500}
.morzsa a{color:var(--szoveg-halk);font-weight:500}

@media(max-width:899px){
  body.menu-nyit{overflow:hidden;position:fixed;width:100%}
  nav.nyit{max-height:calc(100vh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch}
}

/* ---- kepek ---- */
.kepek{display:grid;gap:14px;grid-template-columns:1fr;margin:20px 0}
@media(min-width:600px){.kepek{grid-template-columns:repeat(2,1fr)}}
.kep{border:1px solid var(--vonal);border-radius:13px;overflow:hidden;background:#fff;margin:0}
.kep img{width:100%;height:auto}
.kep .alairas{padding:12px 15px;font-size:15.5px;color:var(--szoveg-halk);
  border-top:1px solid var(--vonal);background:#FAFAFB;font-weight:500}
.egykep{border:1px solid var(--vonal);border-radius:13px;overflow:hidden;
  background:#fff;margin:20px 0;max-width:520px}
.egykep img{width:100%;height:auto}

/* prozai linkek: alahuzas, ne csak szin */
.sziget p a, .sziget li a, .sziget td a, .morzsa a{
  text-decoration:underline; text-underline-offset:.16em;
  text-decoration-thickness:.075em;
}
.sziget .gomb, .sziget .letolt, .sziget.kiemelt .tel, .sziget a.kartya{text-decoration:none}

/* ---- markacsempek ---- */
.markak{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
@media(min-width:720px){.markak{grid-template-columns:repeat(4,minmax(0,1fr))}}
.markak>*{min-width:0}
.marka .mmit,.marka .mnev{overflow-wrap:anywhere}
.marka{
  display:flex;flex-direction:column;justify-content:flex-start;gap:3px;
  border:1px solid var(--vonal);border-top:4px solid var(--mszin,#9AA5AD);
  border-radius:13px;padding:15px 14px;background:#FAFAFB;
  min-height:92px;color:var(--szoveg);font-weight:450;text-decoration:none;
}
.marka:hover{background:#fff;box-shadow:0 2px 10px rgba(31,33,36,.10);text-decoration:none}
.marka .mnev{font-size:18px;font-weight:800;letter-spacing:-.2px;color:var(--szoveg);line-height:1.2}
.marka .mmit{font-size:14.5px;color:var(--szoveg-halk);line-height:1.35}

/* ---- referencia-lista a kezdolapon ---- */
.refek{display:grid;gap:9px;grid-template-columns:1fr;margin-top:16px;
  font-size:16.5px;color:var(--szoveg-halk);font-weight:500}
@media(min-width:700px){.refek{grid-template-columns:1fr 1fr;column-gap:26px}}
.refek span{display:flex;gap:9px;align-items:flex-start;break-inside:avoid}
.refek span::before{content:"—";color:var(--kek);font-weight:800;flex:0 0 auto}

/* ================= kezelőegység-kártyák (2026-08-20) ================= */
.kezelo{
  background:var(--sziget); border-radius:18px; padding:22px 19px; margin:15px 0;
  box-shadow:0 1px 4px rgba(31,31,29,.07); border-top:4px solid var(--kek);
}
@media(min-width:700px){.kezelo{padding:28px 30px;margin:20px 0}}
.kezelo .fejsor{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:16px}
.kezelo h3{font-size:22px;font-weight:800;letter-spacing:-.3px;line-height:1.25}
.kezelo h3 a{color:var(--szoveg)}
.kezelo h4{font-size:16px;font-weight:800;margin:16px 0 8px;color:var(--szoveg)}
.tipusjel{
  display:inline-block;background:var(--kek-halvany);color:#43484E;border:1px solid var(--vonal);
  font-size:12.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;
  padding:4px 10px;border-radius:999px;
}
.kezelo .torzs{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:720px){.kezelo .torzs{grid-template-columns:280px minmax(0,1fr);gap:26px}}
.kezelo .torzs>*{min-width:0}
.kepdoboz{display:block;background:#fff;border:1px solid var(--vonal);border-radius:14px;padding:10px}
.kepdoboz:hover{border-color:var(--kek);text-decoration:none}
.kepdoboz img{width:100%;height:auto;border-radius:8px}
.leiras-blokk{min-width:0}
.leiras-blokk .mit{color:var(--szoveg-halk);font-size:16.5px}
ul.jegyek{margin:0 0 0 20px}
ul.jegyek li{margin-bottom:8px;font-size:16.5px;line-height:1.62}
dl.adatok{display:grid;gap:0;margin:16px 0 0;border-top:1px solid var(--vonal)}
dl.adatok .adat{display:flex;gap:12px;padding:9px 0;border-bottom:1px solid var(--vonal);
  font-size:16px;flex-wrap:wrap}
dl.adatok dt{font-weight:700;flex:0 0 148px;color:#43484E}
dl.adatok dd{flex:1 1 180px;min-width:0;color:var(--szoveg)}
.alias{font-size:15px;color:var(--szoveg-halk);margin-top:12px}
.alias span{font-weight:700}
.szervizsor{font-size:15.5px;color:var(--szoveg-halk);margin-top:12px;
  border-left:3px solid var(--kek);padding-left:12px}
.kis-gomb{display:inline-block;margin-top:14px;background:var(--kek-halvany);
  border:1px solid var(--vonal);border-radius:11px;padding:11px 16px;font-weight:700;
  font-size:16px;color:var(--szoveg);min-height:48px;line-height:26px}
.kis-gomb:hover{background:#fff;border-color:var(--kek);text-decoration:none}

/* ---- kereső és szűrő ---- */
.dokkereso{margin-top:16px}
.kereso-mezo{
  width:100%;font:inherit;font-size:17px;padding:14px 16px;min-height:54px;
  border:2px solid var(--vonal);border-radius:12px;background:#fff;color:var(--szoveg);
}
.kereso-mezo:focus{outline:3px solid var(--kek);outline-offset:1px;border-color:var(--kek)}
.szurosor{display:flex;flex-wrap:wrap;gap:9px;margin-top:12px}
.szuro{
  font:inherit;font-size:15.5px;font-weight:700;cursor:pointer;
  background:#fff;color:var(--szoveg);border:1px solid var(--vonal);
  border-radius:999px;padding:10px 16px;min-height:46px;
}
.szuro:hover{border-color:var(--kek)}
.szuro.akt{background:var(--kek);border-color:var(--kek);color:#fff}
.ugrosor-cim{margin-top:20px;font-weight:700;font-size:16px}
.ugrosor{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.ugro{
  display:inline-block;background:var(--kek-halvany);border:1px solid var(--vonal);
  border-radius:999px;padding:9px 14px;font-size:15px;font-weight:600;
  color:var(--szoveg);min-height:44px;line-height:26px;
}
.ugro:hover{border-color:var(--kek);background:#fff;text-decoration:none}
.talalat{margin-top:14px;font-size:15.5px;color:var(--szoveg-halk)}

/* ---- GYIK ---- */
details.gyik{border-bottom:1px solid var(--vonal);padding:4px 0}
details.gyik:last-of-type{border-bottom:0}
details.gyik summary{
  cursor:pointer;font-weight:700;font-size:17px;padding:15px 34px 15px 0;
  position:relative;list-style:none;line-height:1.5;
}
details.gyik summary::-webkit-details-marker{display:none}
details.gyik summary::after{
  content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);
  font-size:24px;font-weight:700;color:var(--kek);line-height:1;
}
details.gyik[open] summary::after{content:"–"}
details.gyik summary:focus-visible{outline:3px solid var(--kek);outline-offset:2px}
details.gyik p{padding:0 0 16px;font-size:16.5px;color:var(--szoveg)}

/* ---- összehasonlító táblázat ---- */
table.osszehas{width:100%;border-collapse:collapse;font-size:16px;background:#fff}
table.osszehas th,table.osszehas td{padding:12px 14px;text-align:left;
  border-bottom:1px solid var(--vonal);vertical-align:top}
table.osszehas thead th{background:var(--kek-halvany);font-size:14.5px;
  text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}
table.osszehas tbody th{font-weight:700;white-space:nowrap}
table.osszehas tbody tr:last-child th,table.osszehas tbody tr:last-child td{border-bottom:0}

/* ---- szövegközi link legyen aláhúzott is, ne csak színes ---- */
.sziget p a,.sziget li a,.kezelo p a,.kezelo li a,.morzsa a{
  text-decoration:underline;text-underline-offset:.16em;text-decoration-thickness:.075em;
}
.sziget p a.gomb,.sziget p a.kis-gomb,.kezelo p a.kis-gomb,.sziget a.marka,
.sziget p a.gomb:hover,.kezelo h3 a{text-decoration:none}

/* ---- semmi ne csorduljon túl mobilon ---- */
.vak{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main img,main figure,main table,main pre{max-width:100%}
html{overflow-x:hidden}

/* ================= letöltő-kártyák, dokumentum-rács (2026-08-20) ================= */
.dok-racs{display:grid;gap:13px;grid-template-columns:minmax(0,1fr);margin:20px 0 0}
@media(min-width:760px){.dok-racs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dok-racs>*{min-width:0}
.letolt.dok{align-items:flex-start}
.dok .dok-torzs{min-width:0}
.dok .meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:6px}
.dok .meta .szam{
  display:inline-block;background:var(--kek-halvany);border:1px solid var(--vonal);
  border-radius:999px;padding:2px 10px;font-size:13.5px;font-weight:700;color:#43484E;
}
.dok .fedi{display:block;margin-top:8px;font-size:14.5px;color:var(--szoveg-halk);
  font-weight:450;line-height:1.55;overflow-wrap:anywhere}
.dok .megj{display:block;margin-top:7px;font-size:14.5px;color:#43484E;font-weight:600;
  border-left:3px solid var(--kek);padding-left:10px}
.dokcsoport[hidden]{display:none}
.segit{margin-top:16px;font-size:16px;color:var(--szoveg-halk)}

/* ---- kezelőegység-csempék ---- */
.tipus-racs{display:grid;gap:11px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}
@media(min-width:760px){.tipus-racs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.tipus-racs>*{min-width:0}
.tipus{
  display:flex;flex-direction:column;gap:3px;border:1px solid var(--vonal);
  border-left:5px solid var(--kek);border-radius:12px;padding:14px 14px;
  background:#FAFAFB;min-height:76px;color:var(--szoveg);text-decoration:none;
}
.tipus:hover{background:#fff;border-color:var(--kek);text-decoration:none}
.tipus .tnev{font-weight:800;font-size:16.5px;overflow-wrap:anywhere}
.tipus .tmit{font-size:14.5px;color:var(--szoveg-halk);font-weight:450}

/* ---- menü: szűk asztali ablakban ne csorduljon ki (2026-08-20) ----
   A nav ul-on nincs flex-wrap, ezért tördelés helyett kicsordult a fejlécből.
   900-1080 px között szorosabb betűköz és rés tartja egy sorban. */
@media(min-width:900px) and (max-width:1080px){
  nav ul{gap:13px}
  nav a{font-size:14.5px}
}
