:root{
  --paper:#fdfaf3; --paper2:#f6ecd8; --card:#ffffff; --ink:#40372f; --muted:#8a7d6d;
  --paprika:#dc3b2e; --paprika-dark:#b52c20; --honey:#eaa63a; --leaf:#6f8f4d;
  --drapp:#e7d5b2; --drapp-soft:#f3e7cd;
  --line:#eaddc6; --shadow:0 2px 10px rgba(150,90,50,.08); --shadow-lg:0 8px 30px rgba(150,80,50,.15);
  --radius:14px; --maxw:1140px;
  /* piros-fehér kockás (gingham) minta, mint egy konyhakötény */
  --gingham:
    repeating-linear-gradient(90deg, rgba(220,59,46,.42) 0 11px, transparent 11px 22px),
    repeating-linear-gradient(0deg, rgba(220,59,46,.42) 0 11px, transparent 11px 22px),
    #ffffff;
  --serif:'Lora',Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px}
img{max-width:100%;height:auto;border-radius:8px}
a{color:var(--paprika-dark);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
h1,h2,h3,h4{font-family:var(--serif);line-height:1.25;color:#2c231c;font-weight:600}
/* header */
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;backdrop-filter:blur(6px)}
.site-header::before{content:"";display:block;height:9px;background:var(--gingham);background-size:22px 22px}
.site-header .wrap{display:flex;align-items:center;gap:20px;min-height:74px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto}
.brand .mark{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--honey),var(--paprika));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:22px;box-shadow:var(--shadow)}
.brand b{font-family:var(--serif);font-size:1.35rem;display:block;line-height:1.1;color:#2c231c}
.brand span{font-size:.8rem;color:var(--muted);letter-spacing:.02em}
nav.main a{color:#4a3f33;font-weight:600;padding:8px 12px;border-radius:8px;font-size:.98rem}
nav.main a:hover{background:#f3e7d5;text-decoration:none;color:var(--paprika-dark)}
.hsearch{display:flex;align-items:center;gap:8px}
.hsearch input{border:1px solid var(--line);background:#fff;border-radius:20px;padding:8px 14px;font:inherit;font-size:.92rem;width:170px;transition:width .2s}
.hsearch input:focus{outline:2px solid var(--honey);width:210px}
/* hero */
.hero{background:linear-gradient(165deg,#fff9ef,#fbeede 55%,#f6e7cc);border-bottom:1px solid var(--line);padding:56px 0 44px;text-align:center;position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:var(--gingham);background-size:22px 22px;opacity:.9}
.hero h1{font-size:clamp(2rem,5vw,3.1rem);margin:.1em 0 .2em}
.hero .lead{font-size:1.15rem;color:#5c5044;max-width:640px;margin:0 auto 6px}
.hero .memoriam{display:inline-block;margin-top:18px;color:var(--muted);font-style:italic;font-family:var(--serif);border-top:1px solid var(--line);padding-top:14px}
.hero .memoriam a{color:var(--paprika-dark)}
/* section */
section.block{padding:44px 0}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap;gap:8px}
.section-head h2{font-size:1.7rem;margin:0}
.section-head a.more{font-weight:600;font-size:.95rem}
/* category tiles */
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px}
.cat-tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px 18px;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;gap:4px}
.cat-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);text-decoration:none}
.cat-tile b{font-family:var(--serif);font-size:1.15rem;color:#2c231c}
.cat-tile span{color:var(--muted);font-size:.9rem}
/* recipe cards */
.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card a.thumb{display:block;aspect-ratio:4/3;overflow:hidden;background:#f0e6d6}
.card a.thumb img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block;transition:transform .3s}
.card:hover a.thumb img{transform:scale(1.05)}
.card .thumb.noimg{display:flex;align-items:center;justify-content:center;color:#c9b99f;font-family:var(--serif);font-size:2.4rem}
.card .body{padding:15px 17px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card .chip-row{display:flex;flex-wrap:wrap;gap:6px}
.card h3{margin:0;font-size:1.15rem}
.card h3 a{color:#2c231c}
.card h3 a:hover{color:var(--paprika-dark);text-decoration:none}
.card p.ex{margin:0;color:var(--muted);font-size:.92rem;flex:1}
.chip{display:inline-block;background:#f3ead9;color:#6a5a44;border-radius:20px;padding:3px 11px;font-size:.78rem;font-weight:600}
.chip.cat{background:#fbe6df;color:var(--paprika-dark)}
/* recipe page */
.recipe-hero{max-width:820px;margin:0 auto;padding:34px 20px 6px;text-align:center}
.recipe-hero h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.2em 0}
.recipe-meta{color:var(--muted);font-size:.92rem;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;align-items:center}
.article{max-width:820px;margin:10px auto 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px clamp(18px,4vw,44px)}
.article img{border-radius:8px;box-shadow:0 1px 6px rgba(90,60,30,.12)}
.article table{border-collapse:collapse;margin:10px 0;max-width:100%}
.article td{vertical-align:top;padding:4px}
.article h3{color:var(--paprika-dark);margin-top:1.4em}
.article p{margin:.85em 0}
.article ul,.article ol{padding-left:1.4em}
.article font{font-family:inherit!important}
.crumbs{max-width:820px;margin:22px auto 0;color:var(--muted);font-size:.9rem}
.backrow{max-width:820px;margin:22px auto 40px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;background:var(--paprika);color:#fff;border-radius:22px;padding:9px 20px;font-weight:600;font-size:.95rem}
.btn:hover{background:var(--paprika-dark);text-decoration:none;color:#fff}
.btn.ghost{background:#fff;color:var(--paprika-dark);border:1px solid var(--line)}
.btn.ghost:hover{background:#faf1e6;color:var(--paprika-dark)}
/* page listing header */
.page-top{background:linear-gradient(160deg,#fff9ef,#f6e7cc);border-bottom:1px solid var(--line);padding:40px 0 30px;text-align:center;position:relative}
.page-top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:var(--gingham);background-size:22px 22px;opacity:.9}
.page-top h1{font-size:clamp(1.8rem,4vw,2.6rem);margin:.1em 0}
.page-top p{color:#5c5044;margin:.2em 0 0}
/* filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.filters button{border:1px solid var(--line);background:#fff;color:#5a4d3f;border-radius:20px;padding:7px 14px;font:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:.12s}
.filters button:hover{background:#f7ead6}
.filters button.active{background:var(--paprika);color:#fff;border-color:var(--paprika)}
.noresults{text-align:center;color:var(--muted);padding:40px;font-style:italic;display:none}
/* memorial */
.memorial{max-width:760px;margin:0 auto;padding:0 20px}
.memorial-hero{text-align:center;padding:56px 20px 30px}
.memorial-hero .kicker{color:var(--paprika-dark);font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem}
.memorial-hero h1{font-size:clamp(2rem,5vw,2.8rem);margin:.15em 0}
.memorial-hero .years{color:var(--muted);font-family:var(--serif);font-size:1.2rem;font-style:italic}
.memorial-body{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px clamp(18px,4vw,42px);font-size:1.05rem}
.memorial-body hr{border:0;border-top:1px solid var(--line);margin:26px auto;width:70%}
.memorial-body img{display:block;margin:18px auto;box-shadow:0 2px 12px rgba(90,60,30,.16)}
/* footer – piros kötény-pánt kockás szegéllyel */
.site-footer{background:linear-gradient(180deg,#dc3b2e,#c9342a);color:#fff4ec;margin-top:50px;padding:36px 0 30px;font-size:.94rem;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;background:var(--gingham);background-size:22px 22px}
.site-footer .wrap{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.site-footer a{color:#ffe4b0}
.site-footer a:hover{color:#fff}
.site-footer .fmem{font-family:var(--serif);font-style:italic;color:#ffeeddee}
.site-footer div[style]{opacity:1!important}
/* responsive */
@media(max-width:640px){
  body{font-size:16px}
  nav.main{display:none}
  .hsearch input{width:130px}
  .site-header .wrap{min-height:64px;gap:10px}
  .brand b{font-size:1.15rem}
}
/* collapsible category browser */
.cat-details{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.cat-details>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 22px;flex-wrap:wrap}
.cat-details>summary::-webkit-details-marker{display:none}
.cat-details>summary:hover{background:#fbf3e6}
.cat-details .sum-label{font-family:var(--serif);font-size:1.3rem;font-weight:600;color:#2c231c;display:flex;align-items:center;gap:10px}
.cat-details .sum-ico{color:var(--paprika);font-size:1.1rem;transition:transform .2s}
.cat-details[open] .sum-ico{transform:rotate(90deg)}
.cat-details .sum-hint{color:var(--muted);font-size:.9rem}
.cat-details[open]>summary{border-bottom:1px solid var(--line)}
.cat-details .cat-grid{padding:20px 22px 24px}
/* comments */
.comments{max-width:820px;margin:34px auto 0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px clamp(16px,4vw,38px)}
.comments .c-title{font-size:1.5rem;margin:0 0 4px;color:#2c231c}
.comments .c-title span{color:var(--muted);font-weight:400;font-size:1.1rem}
.c-list,.c-children{list-style:none;margin:0;padding:0}
.c-list{margin-top:18px}
.c-children{margin-top:12px;padding-left:clamp(12px,3vw,26px);border-left:2px solid var(--drapp)}
.comment{margin:12px 0}
.c-card{background:#fbf4e6;border:1px solid var(--line);border-radius:12px;padding:12px 16px}
.comment.host>.c-card{background:#fdeae6;border-color:#f2c9c0}
.c-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:5px}
.c-author{font-weight:700;color:#4a3a2c;font-family:var(--serif)}
.comment.host>.c-card .c-author{color:var(--paprika-dark)}
.c-badge{background:var(--paprika);color:#fff;border-radius:20px;padding:1px 9px;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.c-badge.inline{font-size:.68rem;vertical-align:middle}
.c-date{color:var(--muted);font-size:.82rem;margin-left:auto}
.c-body{color:var(--ink);font-size:.96rem;line-height:1.6;word-wrap:break-word;overflow-wrap:anywhere}
.c-body a{color:var(--paprika-dark);word-break:break-word}
.c-body img{max-width:100%;height:auto}
.c-note{margin:20px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem;font-style:italic}
@media(max-width:640px){ .c-children{padding-left:12px} .c-date{margin-left:0} }
