/* Voila by Vivien — Vacsoraestek (a stilus.css mellé töltődik) */
.est{--e-line:#E3D9C8;--e-line2:#EFE8DC;--e-paper:#FFFDF8;--e-ink2:#465264;--e-muted:#7D7468;--e-gold:#C8A76E;--e-goldink:#8A6934;--e-navy:#0D1B2F;--e-ivory:#F7F4EE;--e-taupe:#A89F93;--e-sand:#DCCDB8}

/* esték kártyái (vacsoraestek.html + est.html sávja) */
.evgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:28px;padding:14px 0 10px}
.evcard{display:flex;flex-direction:column;text-decoration:none;background:var(--e-paper);border:1px solid var(--e-line);border-radius:18px;overflow:hidden;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .2s}
.evcard:hover,.evcard:focus-visible{transform:translateY(-10px) scale(1.06);box-shadow:0 26px 50px rgba(13,27,47,.24);border-color:var(--e-gold);outline:none;position:relative;z-index:2}
.evcard .ph{aspect-ratio:4/5;position:relative;background:linear-gradient(160deg,#0D1B2F,#16294A 60%,#2A3550);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;color:#F7F4EE}
.evcard .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.evcard:hover .ph img{transform:scale(1.08)}
.evcard .ph svg{position:absolute;inset:0;width:100%;height:100%;opacity:.55}
.evcard .ph .k{position:relative;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--e-gold)}
.evcard .ph .t{position:relative;font-family:var(--serif);font-size:34px;line-height:1.05;font-weight:500}
.evcard .b{padding:14px 18px 16px;display:flex;flex-direction:column;gap:4px;flex:1}
.evcard .m{font-size:12.5px;color:var(--e-muted);letter-spacing:.04em}
.evcard .d{font-size:13.5px;color:var(--e-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.evcard .st{align-self:flex-start;font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--e-line);border-radius:99px;padding:1px 10px;color:var(--e-goldink);margin-top:6px}
@media (hover:none){.evcard:hover{transform:none;box-shadow:none}.evcard:hover .ph img{transform:none}}
@media (prefers-reduced-motion:reduce){.evcard,.evcard .ph img{transition:none}}

.evstrip{display:flex;gap:12px;overflow-x:auto;padding:4px 0 2px}
.evchip{flex:0 0 auto;border:1px solid var(--e-line);border-radius:99px;padding:7px 16px;text-decoration:none;font-size:12.5px;background:var(--e-paper);white-space:nowrap}
.evchip[aria-current="page"]{background:var(--e-navy);color:#F7F4EE;border-color:var(--e-navy)}

/* est fejléc */
.ehero{position:relative;background:linear-gradient(160deg,#0D1B2F 0%,#16294A 60%,#2A3550 100%);color:#F7F4EE;overflow:hidden}
.ehero::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg,transparent,#C8A76E 35%,#E6CF9C 50%,#C8A76E 65%,transparent)}
.ehero .wrap{padding-top:40px;padding-bottom:38px;position:relative;z-index:1}
.ehero svg.bub{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.55}
.ehero .kicker{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--e-gold)}
.ehero h1{font-family:var(--serif);font-weight:500;font-size:clamp(40px,7vw,64px);line-height:1.02;margin:8px 0;color:#F7F4EE}
.ehero h1 em{color:var(--e-gold)}
.ehero .sub{font-family:var(--serif);font-style:italic;font-size:20px;color:rgba(247,244,238,.78);max-width:640px;margin:0}
.ehero .facts{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 0;padding:0;list-style:none}
.ehero .facts li{border:1px solid rgba(200,167,110,.45);border-radius:99px;padding:6px 16px;font-size:12.5px;letter-spacing:.06em}
.ehero .facts b{color:var(--e-gold);font-weight:500;margin-right:5px}

/* fülek */
.etabs{position:sticky;top:0;z-index:20;background:rgba(247,244,238,.95);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--e-line)}
.etabs .wrap{display:flex;gap:6px;overflow-x:auto;padding-top:10px;padding-bottom:10px}
.etab,.etool{border:1px solid var(--e-line);background:var(--e-paper);border-radius:99px;padding:8px 18px;font:500 11.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--e-ink2);cursor:pointer;white-space:nowrap}
.etab[aria-selected="true"]{background:var(--e-navy);color:#F7F4EE;border-color:var(--e-navy)}
.etab .n{margin-left:6px;font-size:10.5px;letter-spacing:0;color:var(--e-gold)}
.etab[hidden]{display:none}
.etools{margin-left:auto;display:flex;gap:6px}
.etool{background:none;color:var(--e-goldink);padding:8px 14px}
.etool:hover{border-color:var(--e-gold)}

.epanel{display:none;padding:34px 0 70px}
.epanel.on{display:block}
.epanel h2.sec{font-family:var(--serif);font-weight:500;font-size:30px;margin:0 0 4px}
.epanel p.secsub{color:var(--e-muted);margin:0 0 22px}
.ebox{background:var(--e-paper);border:1px solid var(--e-line);border-radius:18px;padding:22px 24px}

/* Az est */
.egrid2{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:start}
@media(max-width:860px){.egrid2{grid-template-columns:1fr}}
.emenu{background:var(--e-paper);border:1px solid var(--e-line);border-radius:18px;padding:34px 30px 26px;text-align:center;position:relative}
.emenu::before{content:'';position:absolute;inset:10px;border:1px solid var(--e-line2);border-radius:12px;pointer-events:none}
.emenu .mt{font-family:var(--serif);font-size:15px;letter-spacing:.42em;text-transform:uppercase;color:var(--e-goldink)}
.emenu .mh{font-family:var(--serif);font-size:32px;font-weight:500;margin:2px 0 16px;line-height:1.15}
.course{padding:16px 0;border-top:1px solid var(--e-line2);position:relative}
.course:first-of-type{border-top:0}
.course .lab{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--e-goldink)}
.course .lab svg{width:14px;height:18px}
.course .nm{font-family:var(--serif);font-size:23px;font-weight:600;line-height:1.2;margin:2px 0 6px}
.course .dishes{font-family:var(--serif);font-size:18.5px;color:var(--e-ink2);line-height:1.5}
.course .dishes span{display:block}
.course .note{font-size:12px;color:var(--e-muted);margin-top:6px;letter-spacing:.04em}
.course .alt{display:inline-block;margin-top:8px;font-size:12px;color:var(--e-goldink);background:rgba(200,167,110,.1);border-radius:99px;padding:2px 12px}
.eside h3{font-family:var(--serif);font-size:22px;font-weight:600;margin:0 0 6px}
.eside ul{list-style:none;margin:0;padding:0}
.eside li{padding:6px 0;border-bottom:1px solid var(--e-line2);font-size:14.5px}
.eside li:last-child{border:0}
.eside .ebox+.ebox{margin-top:16px}
.pill{display:inline-block;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:1px 8px;border-radius:99px;margin-left:6px;vertical-align:2px}
.pill.ok{background:#E7EFE4;color:#4C6B45}
.pill.todo{background:#F6E7DA;color:#9A5B2E}
.enote{font-size:13.5px;color:var(--e-muted);font-style:italic;margin-top:8px}

/* Időterv */
.prog{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.prog .bar{flex:1;height:6px;background:var(--e-line2);border-radius:99px;overflow:hidden}
.prog .bar i{display:block;height:100%;background:linear-gradient(90deg,#C8A76E,#E6CF9C);width:0;transition:width .4s}
.prog span{font-size:12.5px;color:var(--e-muted);white-space:nowrap}
.day{margin-bottom:26px}
.dayh{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.dayh b{font-family:var(--serif);font-size:24px;font-weight:600}
.dayh span{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--e-goldink)}
.tl{list-style:none;border-left:2px solid var(--e-line);margin:0 0 0 8px;padding:0}
.tl li{position:relative;padding:8px 0 8px 22px}
.tl li::before{content:'';position:absolute;left:-7px;top:16px;width:12px;height:12px;border-radius:50%;background:var(--e-ivory);border:2px solid var(--e-gold)}
.tl li.key::before{background:var(--e-gold)}
.chk{display:flex;gap:12px;align-items:flex-start;cursor:pointer}
.chk input{appearance:none;-webkit-appearance:none;flex:0 0 18px;width:18px;height:18px;border:1.5px solid var(--e-taupe);border-radius:5px;margin:3px 0 0;cursor:pointer;display:grid;place-items:center;background:#fff}
.chk input:checked{background:var(--e-navy);border-color:var(--e-navy)}
.chk input:checked::after{content:'';width:9px;height:5px;border:2px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) translate(1px,-1px)}
.chk .tm{font-weight:500;color:var(--e-goldink);min-width:58px;font-variant-numeric:tabular-nums}
.chk .tx{flex:1}
.chk .tx small{display:block;color:var(--e-muted);font-size:12.5px}
.chk input:checked~.tx{color:var(--e-taupe);text-decoration:line-through}

/* Bevásárlás */
.shopbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:18px}
.guests{display:flex;align-items:center;gap:8px;border:1px solid var(--e-line);background:var(--e-paper);border-radius:99px;padding:4px 6px 4px 14px;font-size:12.5px}
.guests button{width:28px;height:28px;border-radius:50%;border:1px solid var(--e-line);background:var(--e-ivory);cursor:pointer;font-size:16px;line-height:1;color:var(--e-navy)}
.guests b{min-width:20px;text-align:center;font-size:15px}
.seg{display:flex;border:1px solid var(--e-line);border-radius:99px;overflow:hidden}
.seg button{border:0;background:var(--e-paper);padding:7px 14px;font:500 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--e-ink2);cursor:pointer}
.seg button.on{background:var(--e-navy);color:#F7F4EE}
.shopgrid{columns:2 320px;column-gap:22px}
.shopgrid .ebox{break-inside:avoid;margin-bottom:22px}
.shopgrid h3{font-family:var(--serif);font-size:21px;font-weight:600;display:flex;justify-content:space-between;align-items:baseline;margin:0 0 4px}
.shopgrid h3 small{font-family:var(--sans);font-size:11px;color:var(--e-muted);font-weight:400}
.shopgrid ul{list-style:none;margin:0;padding:0}
.shopgrid li{padding:7px 0;border-bottom:1px solid var(--e-line2)}
.shopgrid li:last-child{border:0}
.shopgrid .q{color:var(--e-goldink);font-weight:500;font-variant-numeric:tabular-nums;margin-left:auto;white-space:nowrap;padding-left:10px}
.shopgrid .chk .tx{display:flex;flex-wrap:wrap;gap:0 6px}
.shopgrid .chk .tx small{flex-basis:100%}
.hidedone li.done{display:none}

/* Receptek */
.rgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:22px}
.rc{border:1px solid var(--e-line);border-radius:18px;overflow:hidden;background:var(--e-paper);text-decoration:none;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s,border-color .2s}
a.rc:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 22px 44px rgba(13,27,47,.2);border-color:var(--e-gold)}
.rc .ph{aspect-ratio:4/5;background:var(--e-navy);overflow:hidden}
.rc .ph img{width:100%;height:100%;object-fit:cover;display:block}
.rc.soon .ph{background:var(--e-line2);display:grid;place-items:center;color:var(--e-taupe);font-family:var(--serif);font-size:15px;letter-spacing:.2em;text-transform:uppercase}
.rc .b{padding:12px 16px 16px}
.rc .c{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--e-goldink)}
.rc .t{font-family:var(--serif);font-size:21px;font-weight:600;line-height:1.15}
.rc .w{font-size:12.5px;color:var(--e-muted);margin-top:4px}

.eempty{color:var(--e-muted);font-family:var(--serif);font-style:italic;font-size:20px;padding:30px 0}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--e-navy);color:#F7F4EE;padding:10px 20px;border-radius:99px;font-size:13px;opacity:0;transition:.3s;pointer-events:none;z-index:50}
.toast.on{opacity:1;transform:translateX(-50%)}

@media print{
  .site-head,.site-foot,.etabs,.shopbar,.toast,.skip,.evstrip-wrap{display:none!important}
  body{background:#fff}
  .epanel{display:block!important;padding:14px 0;page-break-after:always}
  .ehero{background:#fff;color:#000}.ehero h1,.ehero .sub{color:#000}
  .rgrid{display:none}
}

/* ---- egységes est v2: menü-linkek, italajánlás, receptek ---- */
.course .dishes a.mlink{text-decoration:none;border-bottom:1px solid rgba(200,167,110,.45);transition:color .2s,border-color .2s}
.course .dishes a.mlink:hover{color:var(--e-goldink);border-color:var(--e-gold)}
.course .dishes .dalt{display:block;font-size:14px;color:var(--e-goldink);font-style:italic}
.emenu .mhint{margin:14px 0 0;font-size:11.5px;letter-spacing:.06em;color:var(--e-taupe)}
.drinks li{display:flex;flex-direction:column;gap:1px;padding:9px 0}
.drinks .dk{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--e-goldink)}
.drinks b{font-family:var(--serif);font-size:19px;font-weight:600;line-height:1.25}
.drinks small{font-size:12.5px;color:var(--e-muted)}
.rgroup{margin-bottom:26px}
.rgh{font-family:var(--serif);font-weight:500;font-size:24px;margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--e-line)}
details.rec{background:var(--e-paper);border:1px solid var(--e-line);border-radius:16px;margin-bottom:10px;scroll-margin-top:80px;transition:border-color .2s,box-shadow .3s}
details.rec[open]{border-color:var(--e-gold);box-shadow:0 10px 26px rgba(13,27,47,.08)}
details.rec.flash{box-shadow:0 0 0 3px rgba(200,167,110,.45)}
details.rec summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:12px;padding:14px 20px}
details.rec summary::-webkit-details-marker{display:none}
details.rec summary::after{content:'+';margin-left:auto;font-size:20px;color:var(--e-gold);line-height:1}
details.rec[open] summary::after{content:'–'}
.rt{font-family:var(--serif);font-size:21px;font-weight:600}
.ra{font-size:12px;color:var(--e-muted);white-space:nowrap}
.rbody{padding:0 20px 18px}
.rcols{display:grid;grid-template-columns:.85fr 1.15fr;gap:24px}
@media(max-width:760px){.rcols{grid-template-columns:1fr;gap:10px}}
.rbody h4{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--e-goldink);margin:6px 0 6px;font-weight:500}
.ring{list-style:none;margin:0;padding:0}
.ring li{padding:4px 0;border-bottom:1px solid var(--e-line2);font-size:14px}
.ring li b{color:var(--e-goldink);font-weight:500}
.ring li i{color:var(--e-muted)}
.ring li.rsub{border:0;padding-top:10px;font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--e-muted)}
.rsteps{margin:0;padding-left:20px}
.rsteps li{padding:3px 0;font-size:14.5px;color:var(--e-ink2)}
.rsteps li::marker{color:var(--e-goldink);font-weight:500}
.rtip{margin:12px 0 0;background:rgba(200,167,110,.09);border-left:2px solid var(--e-gold);padding:8px 12px;font-size:13.5px;font-style:italic;color:var(--e-ink2)}
.ralap{margin:0 0 6px;font-size:13px;color:var(--e-muted)}
.ralap a{color:var(--e-goldink)}
.rsite{display:flex;align-items:center;gap:14px;margin-top:12px;text-decoration:none;border:1px solid var(--e-line);border-radius:12px;padding:8px;max-width:420px;transition:border-color .2s}
.rsite:hover{border-color:var(--e-gold)}
.rsite img{width:56px;height:70px;object-fit:cover;border-radius:8px}
.rsite span{font-family:var(--serif);font-size:18px;font-weight:600}
.rsite small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--e-goldink);font-weight:400}
@media print{details.rec{break-inside:avoid}details.rec .rbody{display:block}}

/* alcím a lépések között */
.rsec{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--e-goldink);font-weight:500;margin:12px 0 4px}
.rsec:first-child{margin-top:0}
/* a weboldalon már fent lévő recept: egy kattintással megnyílik */
.rlinkrow{background:var(--e-paper);border:1px solid var(--e-line);border-radius:16px;margin-bottom:10px;transition:border-color .2s}
.rlinkrow:hover{border-color:var(--e-gold)}
.rlinkrow .rgo{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;padding:12px 16px}
.rlinkrow .rgo img{width:44px;height:55px;object-fit:cover;border-radius:8px}
.rlinkrow .rgo .rt{flex:1}
.rlinkrow .rgo .ra{color:var(--e-goldink)}
.rlinkrow .rgo:hover .rt{text-decoration:underline;text-decoration-color:var(--e-gold);text-underline-offset:4px}
.rlinkrow .rtip{margin:0 16px 12px}

/* tervezés alatt álló est: látszik, de nem nyitható meg */
.evcard.plan{cursor:default}
.evcard.plan:hover,.evcard.plan:focus-visible{transform:none;box-shadow:none;border-color:var(--e-line)}
.evcard.plan .ph{filter:saturate(.6) brightness(.85)}
