:root{
  --kek:#C8102E; --kek-melyt:#8E0B20; --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:#FDECEF;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:#FBE4E8}
.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:#FBE4E8}
.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:#23232A;color:#BCC7CE;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:#95A0A8;
  border-top:1px solid rgba(255,255,255,.16);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:1fr 1fr;margin-top:18px}
@media(min-width:720px){.markak{grid-template-columns:repeat(4,1fr)}}
.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}

/* hibakod-lista: tablazat helyett kartyak, mobilon nem log ki */
.hibalista{display:grid;gap:12px;grid-template-columns:1fr;margin:18px 0 0}
@media(min-width:760px){.hibalista{grid-template-columns:1fr 1fr}}
.hiba{
  display:flex;gap:14px;align-items:flex-start;padding:15px 16px;
  border:1px solid var(--vonal);border-radius:14px;background:#fff;
}
.hiba .kod{
  flex:0 0 42px;height:42px;border-radius:12px;background:var(--kek);color:#fff;
  font-weight:800;font-size:20px;display:flex;align-items:center;justify-content:center;
  line-height:1;
}
.hiba h3{font-size:17.5px;line-height:1.3;margin:0 0 4px}
.hiba .ang{display:block;font-size:14px;font-weight:600;color:var(--szoveg-halk);margin-top:2px}
.hiba p{font-size:16px;line-height:1.5;margin:6px 0 0;color:var(--szoveg-halk)}
