/* Lucka Eats, tokeny z brand manuálu 1.0 */
:root{
  --le-modra:#004AAD; --le-pulnoc:#00307A; --le-ruzova:#FEC2C2; --le-ruzova-sv:#FFE3E1;
  --le-krem:#FFF6EC; --le-ink:#0B1F4D; --le-tresen:#C8202E; --le-linka:#E9D9CF; --le-popisek:#5B6684; --le-bila:#fff;
  --le-rajce:#E5482F; --le-dyne:#F08A24; --le-med:#F2C14E; --le-okurka:#5E8C4A; --le-bylinka:#9DBE7A; --le-brusinka:#A3243B; --le-jogurt:#FBF3E6; --le-mak:#2B2A33;
  --le-display:'Londrina Solid',system-ui,sans-serif; --le-text:'Figtree',system-ui,sans-serif; --le-akcent:'Fraunces',Georgia,serif;
  --le-radius-pole:14px; --le-radius-karta:18px; --le-radius-pill:999px; --le-vyska-ovl:52px;
  --le-stin:0 24px 60px rgba(0,48,122,.16); --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--le-text);color:var(--le-ink);background:var(--le-krem);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.d{font-family:var(--le-display);font-weight:900;text-transform:uppercase;line-height:1.02;letter-spacing:.005em}
.it{font-family:var(--le-akcent);font-style:italic;font-weight:400}
.lbl{font:600 12.5px/1 var(--le-text);letter-spacing:.13em;text-transform:uppercase;color:var(--le-modra)}
.muted{color:var(--le-popisek)}

/* hlavička */
.nav{position:sticky;top:0;z-index:50;background:var(--le-modra);color:var(--le-ruzova)}
.nav{padding-top:env(safe-area-inset-top)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.logo{display:inline-flex;align-items:center;min-height:44px;gap:6px;text-decoration:none;font:900 28px/1 var(--le-display);text-transform:uppercase;color:var(--le-ruzova)}
.logo svg{width:15px;height:28px}
.nav nav{display:flex;gap:6px;align-items:center}
.nav nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font:600 15px/1 var(--le-text);color:var(--le-krem);padding:0 14px;border-radius:999px;transition:background .2s}
.nav nav a:hover,.nav nav a[aria-current]{background:rgba(255,255,255,.12)}
.nav nav a.cta{background:var(--le-ruzova);color:var(--le-modra)}
.nav nav a.cta:hover{background:#fff}
@media(max-width:760px){
  .nav .wrap{height:56px;padding:0 10px 0 16px;gap:6px}
  .logo{font-size:23px;white-space:nowrap}.logo svg{width:13px;height:24px}
  .nav nav{gap:0}
  .nav nav a{font-size:14.5px;padding:0 9px;white-space:nowrap}
  .nav nav a.cta{display:none}
  .nav .wrap{padding:0 6px 0 14px}
}
@media(max-width:430px){.logo svg{display:none}.logo{font-size:21px}.nav nav a{padding:0 6px;font-size:13.5px}}
@media(max-width:345px){.logo span{display:none}.logo svg{display:block;width:15px;height:28px}}
:focus-visible{outline:3px solid var(--le-dyne);outline-offset:2px}

/* tlačítka */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--le-vyska-ovl);padding:0 26px;border-radius:999px;border:2px solid transparent;font:700 16.5px/1 var(--le-text);text-decoration:none;cursor:pointer;transition:transform .15s,background .2s,box-shadow .2s;background:var(--le-modra);color:#fff}
.btn:hover{background:var(--le-pulnoc);transform:translateY(-1px)}
.btn:active{transform:translateY(1px)}
.btn.ruz{background:var(--le-ruzova);color:var(--le-modra)} .btn.ruz:hover{background:#fff}
.btn.obrys{background:transparent;color:var(--le-modra);border-color:var(--le-modra)} .btn.obrys:hover{background:var(--le-ruzova-sv)}
.btn.krem{background:var(--le-krem);color:var(--le-modra)}
.btn[disabled]{background:#E6E1DC;color:#8E8A99;cursor:not-allowed;transform:none}
.btn.mini{min-height:44px;padding:0 18px;font-size:14.5px}

/* štítky */
.tag{display:inline-flex;align-items:center;font:900 15px/1 var(--le-display);text-transform:uppercase;padding:8px 13px 6px;border-radius:999px;letter-spacing:.02em;background:var(--le-modra);color:var(--le-ruzova)}
.tag.vecere{background:var(--le-modra);color:var(--le-ruzova)}
.tag.workshop{background:var(--le-med);color:var(--le-ink)}
.tag.event{background:#4A7339;color:var(--le-krem)}
.tag.ruz{background:var(--le-ruzova);color:var(--le-modra)}
.tag.warn{background:#FFF0D6;color:#8A5A0B}
.tag.off{background:#E6E1DC;color:#6E6A78}

/* formulář */
.f{display:grid;gap:16px}
.f label{display:grid;gap:6px;font:600 14px/1.2 var(--le-text)}
.f input,.f select,.f textarea{width:100%;min-height:var(--le-vyska-ovl);border:1.5px solid var(--le-linka);background:#fff;border-radius:var(--le-radius-pole);padding:12px 16px;font:400 16px/1.4 var(--le-text);color:var(--le-ink);outline:none;transition:border .15s,box-shadow .15s}
.f textarea{min-height:110px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{border:2px solid var(--le-modra);box-shadow:0 0 0 4px var(--le-ruzova-sv);padding:11.5px 15.5px}
.f .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.f .row{grid-template-columns:1fr}}
.f .hint{font:400 13px/1.4 var(--le-text);color:var(--le-popisek)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.err{background:#FBE3E4;color:var(--le-tresen);border-radius:var(--le-radius-pole);padding:12px 16px;font:600 15px/1.4 var(--le-text)}
.ok{background:#E8F0E2;color:#3E6530;border-radius:var(--le-radius-pole);padding:12px 16px;font:600 15px/1.4 var(--le-text)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:var(--le-ruzova-sv);color:var(--le-modra);font:600 15px var(--le-text);cursor:pointer;transition:background .15s}
.chip[aria-pressed=true]{background:var(--le-modra);color:#fff}

/* karty eventů */
.ev{display:grid;grid-template-columns:240px 1fr;background:#fff;border-radius:var(--le-radius-karta);overflow:hidden;text-decoration:none;border:1px solid var(--le-linka);transition:transform .25s,box-shadow .25s}
.ev:hover{transform:translateY(-3px);box-shadow:var(--le-stin)}
.ev .ph{background:var(--le-ruzova);min-height:200px;position:relative;overflow:hidden}
.ev .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ev .date{position:absolute;z-index:1;left:16px;top:16px;background:var(--le-krem);border-radius:14px;padding:10px 14px 8px;text-align:center;color:var(--le-modra);box-shadow:0 6px 18px rgba(0,0,0,.12)}
.ev .date b{display:block;font:900 34px/1.02 var(--le-display)}
.ev .date span{font:700 12px/1 var(--le-text);letter-spacing:.1em;text-transform:uppercase}
.ev .body{padding:22px 26px;display:flex;flex-direction:column;gap:10px}
.ev h3{font:900 38px/1.02 var(--le-display);text-transform:uppercase;color:var(--le-modra)}
.ev .sub{font:400 19px/1.25 var(--le-akcent);font-style:italic;color:var(--le-tresen)}
.ev .meta{display:flex;gap:16px;flex-wrap:wrap;font:500 15px/1.4 var(--le-text);color:var(--le-popisek)}
.ev .foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:14px;padding-top:14px;border-top:1px solid var(--le-linka)}
.ev .price{font:900 30px/1 var(--le-display);color:var(--le-modra)}
.ev .price small{font:500 14px var(--le-text);color:var(--le-popisek);text-transform:none}
@media(max-width:760px){.ev{grid-template-columns:1fr}.ev .ph{min-height:120px;height:120px}.ev .date{left:10px;top:10px;padding:8px 11px 6px}.ev .date b{font-size:26px}.ev .body{padding:16px 18px}.ev h3{font-size:30px}}

/* kapacita */
.seats{display:flex;gap:4px;flex-wrap:wrap}
.seats i{width:14px;height:14px;border-radius:50%;background:var(--le-ruzova);display:block}
.seats i.full{background:var(--le-modra)}

/* patička */
.foot-site{background:var(--le-modra);color:var(--le-ruzova);padding:56px 0 calc(32px + env(safe-area-inset-bottom));margin-top:clamp(56px,8vw,100px)}
.foot-site .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
.foot-site a{color:var(--le-krem);text-decoration:none;display:flex;align-items:center;min-height:44px;font-weight:500}
.foot-site a:hover{text-decoration:underline}
.foot-site .small{font-size:13px;color:var(--le-krem);opacity:.7;margin-top:50px}
@media(max-width:760px){.foot-site .grid{grid-template-columns:1fr}}

.sec{padding:clamp(48px,8vw,90px) 0}
/* karty receptů */
.rgrid{display:grid;gap:16px}
@media(min-width:640px){.rgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:960px){.rgrid{grid-template-columns:repeat(3,1fr);gap:20px}}
.rk{display:flex;flex-direction:column;background:#fff;border:1px solid var(--le-linka);border-radius:18px;overflow:hidden;text-decoration:none;transition:transform .25s,box-shadow .25s}
.rk:hover{transform:translateY(-3px);box-shadow:var(--le-stin)}
.rk .ph{height:190px;overflow:hidden;background:var(--le-ruzova-sv)}
.rk .ph img{width:100%;height:100%;object-fit:cover}
.rk .bd{padding:14px 16px 16px}
.rk .kat{font:600 12px var(--le-text);letter-spacing:.1em;text-transform:uppercase;color:var(--le-tresen)}
.rk h3{font:900 26px/1.06 var(--le-display);text-transform:uppercase;color:var(--le-modra);margin-top:4px}
.rk p{font-size:15.5px;line-height:1.42;color:var(--le-popisek);margin-top:6px}
.rk small{display:block;margin-top:6px;font:600 13.5px var(--le-text);color:var(--le-modra)}
.skel{background:linear-gradient(100deg,var(--le-ruzova-sv) 30%,#fff 50%,var(--le-ruzova-sv) 70%);background-size:300% 100%;animation:skel 1.4s linear infinite}
@keyframes skel{to{background-position:-150% 0}}
.sec-h{font:900 clamp(44px,7vw,84px)/1.02 var(--le-display);text-transform:uppercase;color:var(--le-modra)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}*{animation-duration:.01s!important;animation-iteration-count:1!important}}
.demo-pruh{background:var(--le-med);color:var(--le-ink);text-align:center;font:600 13px/1.4 var(--le-text);padding:7px 16px}
