:root{
  --bg:#faf7f2; --card:#fff; --ink:#2b2a28; --muted:#5e5a54; --accent:#7a5c2e; --dark:#26231f; --line:#e3dccf; --ok:#2f6b3a; --bad:#9a3b2e;
  color-scheme: light dark;
}
@media (prefers-color-scheme: dark){
  :root{--bg:#1c1a18; --card:#25221f; --ink:#ece6da; --muted:#b5ada0; --accent:#d4ac6a; --dark:#12100f; --line:#3a3631; --ok:#79c58a; --bad:#e8917f}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:4.5rem}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;background:var(--bg);color:var(--ink);font:1.125rem/1.7 Georgia,"Times New Roman",serif;padding-bottom:3.5rem}
a{color:var(--accent)}
img{max-width:100%}
.wrap{max-width:62rem;margin-inline:auto;padding-inline:1rem}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--bg);padding:.5rem;z-index:99}
header{position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
header .wrap{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:center;justify-content:space-between;padding-block:.6rem}
.logo{display:inline-flex;align-items:center;gap:.55rem;font-size:1.5rem;letter-spacing:.08em;text-decoration:none;color:var(--ink)}
nav{display:flex;flex-wrap:wrap;gap:.25rem 1.1rem;font-size:1rem}
nav a{color:var(--ink);text-decoration:none;padding-block:.15rem;border-bottom:2px solid transparent}
nav a:hover,nav a:focus-visible,nav a[aria-current]{color:var(--accent);border-color:var(--accent)}
.btn{display:inline-block;background:#d4ac6a;color:#1c1a18;padding:.8rem 1.6rem;border:0;border-radius:.3rem;text-decoration:none;font:bold 1rem Georgia,serif;cursor:pointer}
.btn:hover,.btn:focus-visible{background:#e6c58a}
.btn.alt{background:transparent;color:#f3ede2;border:1px solid #d4ac6a}

/* főoldali hős */
.hero{position:relative;min-height:50rem;color:#f3ede2;text-align:center;overflow:hidden;background:#0f1a2b;isolation:isolate}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 100%;z-index:-1;filter:saturate(1.2) brightness(1.15) contrast(1.05)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#0b1220a6,#0b122052 45%,transparent 70%)}
.hero .wrap{padding-top:clamp(2rem,5vw,3.5rem)}
.hero h1{font-weight:normal;font-size:clamp(2rem,6vw,3.6rem);line-height:1.2;margin:0 0 1rem;text-shadow:0 2px 18px #0008}
.hero p{max-width:36rem;margin:0 auto 1.8rem;color:#e6dfd2;text-shadow:0 1px 10px #0008}
.hero .btns{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.status{display:inline-flex;gap:.5rem;align-items:center;font-size:.95rem}
.hero .status{margin-top:1.2rem;color:#e6dfd2}
.dot{width:.7rem;height:.7rem;border-radius:50%;background:#79c58a;flex:none}
.dot.off{background:#e8917f}

/* aloldali fejléc */
.pagehead{background:linear-gradient(#0b1220c4,#0b1220c4),var(--img,url(kepek/fejlec.webp)) center/cover var(--dark);color:#f3ede2;text-align:center;padding-block:clamp(2.5rem,7vw,4rem)}
.pagehead h1{font-weight:normal;font-size:clamp(1.9rem,5vw,2.8rem);margin:0 0 .5rem}
.pagehead p{margin:0 auto;max-width:38rem;color:#d8d0c2}

section{padding-block:clamp(2.5rem,7vw,4.5rem)}
section.band{background:var(--card);border-block:1px solid var(--line)}
h2{font-weight:normal;font-size:clamp(1.5rem,4vw,2.1rem);margin:0 0 1.5rem;width:fit-content}
h2::after{content:"";display:block;width:100%;height:2px;background:var(--accent);margin-top:.6rem}
h3{font-weight:normal}
.lead{max-width:42rem;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem}
.card{background:var(--card);border:1px solid var(--line);padding:1.25rem;border-radius:.4rem}
section.band .card{background:var(--bg)}
.card h3{margin:0 0 .4rem;font-size:1.2rem;color:var(--accent)}
.card p{margin:0;color:var(--muted)}
a.card{display:block;text-decoration:none;color:inherit;transition:transform .2s,border-color .2s}
a.card:hover,a.card:focus-visible{transform:translateY(-3px);border-color:var(--accent)}
a.card .more{display:block;margin-top:.8rem;color:var(--accent);font-size:.95rem}
.card.img{padding:0;overflow:hidden}
.card.img img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.card.img div{padding:1.25rem}
.photo{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.4rem;display:block}
.note{font-size:.9rem;color:var(--muted)}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2rem;align-items:start}

/* árak */
.price{font-size:1.6rem;color:var(--ink);margin:.25rem 0}
.card ul{margin:.5rem 0 0;padding-left:1.1rem;color:var(--muted)}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line)}
td:last-child,th:last-child{text-align:right;white-space:nowrap}
tr.today{background:color-mix(in srgb,var(--accent) 15%,transparent);font-weight:bold}
.calc label{display:flex;gap:.6rem;align-items:center;padding:.3rem 0}
.calc input{width:1.2rem;height:1.2rem;accent-color:var(--accent)}
.total{font-size:1.8rem;margin:.5rem 0 0;border-top:1px solid var(--line);padding-top:.75rem}
.quiet{margin-top:3rem;border-top:1px solid var(--line);padding-top:1rem}
.quiet>summary{color:var(--muted);font-size:1rem}

/* lenyitók */
details{background:var(--card);border:1px solid var(--line);border-radius:.4rem;margin-bottom:.6rem;padding:.2rem 1rem}
details.quiet{background:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:1rem 0 0}
summary{cursor:pointer;padding:.6rem 0}
details p{margin:0 0 .8rem;color:var(--muted)}

/* eljárásrend */
.timeline{list-style:none;margin:0 0 2.5rem;padding:0 0 0 2.6rem;position:relative;max-width:46rem}
.timeline::before{content:"";position:absolute;left:1rem;top:.5rem;bottom:.5rem;width:2px;background:var(--line)}
.timeline li{position:relative;margin-bottom:1.6rem;counter-increment:s}
.timeline li::before{content:counter(s);position:absolute;left:-2.6rem;top:0;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:var(--bg);display:grid;place-items:center;font-size:.95rem}
.timeline h3{margin:0 0 .2rem;font-size:1.2rem}
.timeline p{margin:0;color:var(--muted)}
.timeline{counter-reset:s}
.phase{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;margin:2rem 0 1rem}

/* munkatársak */
.avatar{width:5rem;height:5rem;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--dark));color:#f3ede2;display:grid;place-items:center;font-size:1.6rem;margin-bottom:.8rem}
.role{color:var(--accent);font-size:.95rem;margin:0 0 .4rem!important}

/* búcsúzunk */
.farewell{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr))}
.farewell article{background:var(--card);border:1px solid var(--line);border-radius:.4rem;padding:2rem 1.5rem 1.5rem;text-align:center;position:relative}
.farewell h3{font-size:1.4rem;margin:.8rem 0 .1rem;color:var(--ink)}
.farewell .years{color:var(--muted);margin:0 0 1rem}
.farewell .when{border-top:1px solid var(--line);padding-top:.8rem;font-size:.97rem;color:var(--muted)}
.farewell .when b{color:var(--ink);font-weight:normal}
.farewell .msg{font-style:italic;color:var(--muted);margin:.8rem 0 0}
.flame{width:.7rem;height:1.3rem;margin:0 auto;background:radial-gradient(ellipse at 50% 70%,#fff6c8,#ffb43c 55%,transparent 75%);border-radius:50%/65% 65% 35% 35%;filter:drop-shadow(0 0 .5rem #ffb43c)}

/* gyik */
.search{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.2rem}
.search input{flex:1 1 16rem}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.chip{font:inherit;font-size:.95rem;padding:.35rem .9rem;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:2rem;cursor:pointer}
.chip[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.faqcat{color:var(--accent);letter-spacing:.1em;text-transform:uppercase;font-size:.95rem;margin:1.8rem 0 .6rem}

/* űrlap, elérhetőség */
form{display:grid;gap:.8rem;max-width:30rem}
input[type=text],input[type=search],input[type=tel],input[type=email],textarea{width:100%;font:inherit;padding:.6rem .7rem;border:1px solid var(--line);border-radius:.3rem;background:var(--bg);color:var(--ink)}
form label{display:grid;gap:.2rem}
form .check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
form .check input{margin-top:.4rem;accent-color:var(--accent)}
.phone{font-size:clamp(1.8rem,5vw,2.6rem);display:block;margin-bottom:1rem}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.4rem 1.5rem;margin:0}
dt{color:var(--muted)}dd{margin:0}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem;text-align:center}
.strip .phone{margin:0;font-size:1.8rem}

footer{background:var(--dark);color:#b5ada0;padding-block:2rem;font-size:.95rem}
footer .wrap{display:flex;flex-wrap:wrap;gap:1rem 3rem;justify-content:space-between}
footer a{color:#d4ac6a}
.callbar{position:fixed;inset:auto 0 0 0;z-index:20;background:var(--dark);text-align:center;padding:.6rem}
.callbar a{color:#f3ede2;text-decoration:none;font-weight:bold}
@media (min-width:48rem){.callbar{display:none}body{padding-bottom:0}}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

/* mobil */
@media (max-width:47.99rem){
  header{position:static}
  header .wrap{justify-content:center;text-align:center}
  nav{justify-content:center;gap:0 1rem}
  nav a{padding-block:.45rem}
  .hero{min-height:34rem}
  .btn{padding:.9rem 1.4rem}
  dl{grid-template-columns:1fr}
  dt{margin-top:.5rem}
}

/* mobil: a képes kártya kompakt sor (kis kép balra, szöveg jobbra), hogy ne töltse ki a képernyőt */
@media (max-width:39.99rem){
  .grid{gap:.9rem}
  .card.img{display:grid;grid-template-columns:7rem 1fr;align-items:stretch}
  .card.img img{aspect-ratio:auto;height:100%;min-height:7.5rem}
  .card.img div{padding:.9rem 1rem}
  .card.img h3{font-size:1.1rem}
  .photo{max-height:15rem;object-fit:cover}
}

/* búcsúzunk: sok bejegyzés */
.fsearch{margin-bottom:1.5rem}
.fsearch input{max-width:24rem;width:100%;font:inherit;padding:.6rem .8rem;border:1px solid var(--line);border-radius:.3rem;background:var(--card);color:var(--ink)}
.memorial{background:var(--dark);color:#f3ede2;border-block:1px solid #000}
.memorial h2::after{background:#d4ac6a}
.mlead{color:#cfc6b6;max-width:36rem;margin:-.5rem 0 2.5rem}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:2.4rem 1rem}
.mc{display:grid;justify-items:center;text-align:center;gap:.1rem}
.mc .fl{width:.6rem;height:1.1rem;border-radius:50%/65% 65% 35% 35%;background:radial-gradient(ellipse at 50% 70%,#fff6c8,#ffb43c 55%,transparent 75%);filter:drop-shadow(0 0 .45rem #ffb43c);}
.mc .wx{width:.75rem;height:1.7rem;margin-bottom:.7rem;background:linear-gradient(90deg,#d8cdb4,#fff6e3,#cdbf9f);border-radius:.12rem}
.mc b{font-weight:normal;font-size:1.05rem;line-height:1.3}
.mc span{color:#b9b1a3;font-size:.92rem}
.mc small{color:#d4ac6a;font-size:.95rem}
.mmore{text-align:center;margin:2.5rem 0 0}
.mnote{color:#b9b1a3}

/* jogi oldal, űrlap */
.prose{max-width:46rem}
.prose h3{margin:1.8rem 0 .4rem;font-size:1.15rem;color:var(--accent)}
.prose p{color:var(--muted);margin:.5rem 0}
.firm{max-width:40rem}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* nyomtatás: az eljárásrend és a többi oldal tiszta, olvasható papíron */
@media print{
  header,.callbar,.hero,nav,.status,.skip,.btn{display:none!important}
  .pagehead{background:none!important;color:#000;padding-block:0 1rem;text-align:left}
  .pagehead p{color:#333}
  body{background:#fff;color:#000;font-size:11pt;padding:0}
  section,section.band{padding-block:.8rem;background:none;border:0}
  .card,details{border:1px solid #bbb;break-inside:avoid}
  .timeline li{break-inside:avoid}
  .timeline li::before{background:#000;color:#fff}
  a{color:#000;text-decoration:none}
  footer{background:none;color:#000;border-top:1px solid #999;padding-block:.8rem}
  footer a{color:#000}
}

/* lobogó gyertyaláng: három, eltérő periódusú, lassú mozgás (dőlés, nyúlás, fényerő) egymásra rakva, ezért sosem ismétlődik pontosan és lágynak hat.
   A gyertyánkénti időket (--a..--dg) a JavaScript sorsolja, így mind máshogy mozog. */
@keyframes sway{from{rotate:-5deg}to{rotate:5deg}}
@keyframes stretch{from{scale:.92 .86}to{scale:1.08 1.2}}
@keyframes bright{from{opacity:.72}to{opacity:1}}
@keyframes glow{from{opacity:.35;scale:.8}to{opacity:1;scale:1.18}}
@keyframes flick{0%{translate:0 0}18%{translate:.04rem -.03rem}37%{translate:-.05rem .01rem}58%{translate:.03rem -.05rem}79%{translate:-.03rem 0}100%{translate:0 0}}
.flame,.mc .fl{transform-origin:50% 100%;animation:sway var(--a,3.6s) ease-in-out var(--da,0s) infinite alternate,stretch var(--b,2.5s) ease-in-out var(--db,0s) infinite alternate,bright var(--c,4.3s) ease-in-out var(--dc,0s) infinite alternate,flick var(--f,1s) ease-in-out var(--df,0s) infinite}
.mc .fl{position:relative;width:.75rem;height:1.4rem;filter:drop-shadow(0 0 .6rem #ffb43c)}
.mc .fl::after{content:"";position:absolute;left:50%;top:60%;width:4.2rem;height:4.2rem;margin:-2.1rem 0 0 -2.1rem;border-radius:50%;background:radial-gradient(circle,#ffb43c55,transparent 65%);animation:glow var(--g,3.2s) ease-in-out var(--dg,0s) infinite alternate;pointer-events:none}

/* telefonon két gyertya fér egymás mellé, így nem lesz végtelenül hosszú a fal */
@media (max-width:36rem){.wall{grid-template-columns:repeat(2,1fr);gap:2rem .5rem}.mc b{font-size:1rem}}

/* űrlap üzenete: jól látható, színes (hiba piros, siker zöld) */
.formmsg{margin:0;font-size:1rem}
.formmsg:empty{display:none}
.formmsg.err,.formmsg.ok{padding:.5rem .75rem;border-left:4px solid}
.formmsg.err{color:var(--bad);font-weight:bold}
.formmsg.ok{color:var(--ok)}
/* a keresőmező törlő gombja a színekhez illő */
input[type=search]::-webkit-search-cancel-button{filter:grayscale(1) opacity(.6)}
@media (prefers-color-scheme:dark){input[type=search]::-webkit-search-cancel-button{filter:grayscale(1) invert(1) opacity(.7)}}
/* főoldal: a négy kártya 2×2, nem 3+1 */
@media (min-width:40rem){.grid.quad{grid-template-columns:1fr 1fr}}
