@font-face{font-family:'Rye';src:url(rye.woff2) format('woff2');font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Rye';src:url(rye-ext.woff2) format('woff2');font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--bg:#16171a;--bg2:#202227;--card:#26282e;--line:#3a3d45;--txt:#ece8e3;--mut:#a9a5a0;--pink:#e870a8;--pink2:#f08cbb;--ok:#4caf50;--warn:#e0a030;--err:#e05050}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:var(--pink2)}
.wrap{max-width:980px;margin:0 auto;padding:0 18px}
header.top{background:#0e0f11;border-bottom:3px solid var(--pink)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 18px}
header.top img{height:74px;width:auto;display:block}
header.top nav a{color:var(--txt);text-decoration:none;margin-left:16px;font-weight:600;font-size:.95rem}
header.top nav a:hover{color:var(--pink2)}
.hero{position:relative;background:#000 url(hero.jpg) center 65%/cover;min-height:330px;display:flex;align-items:flex-end}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(10,10,12,.92))}
.hero .wrap{position:relative;padding:40px 18px 30px;width:100%}
.hero .btn{margin-top:18px}
h1,h2,.west{font-family:'Rye',Georgia,serif;font-weight:400;letter-spacing:.5px}
.hero h1{font-size:2.3rem;margin:0 0 8px;line-height:1.15}
.hero h1 span{color:var(--pink)}
.hero p{margin:0;max-width:640px;color:#ddd;font-size:1.08rem}
section{padding:34px 0}
h2{font-size:1.6rem;margin:0 0 6px}
.sub{color:var(--mut);margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.ev{cursor:pointer;transition:.15s;position:relative}
.ev:hover{border-color:var(--pink)}
.ev input{position:absolute;opacity:0}
.ev.sel{border-color:var(--pink);box-shadow:0 0 0 2px var(--pink) inset}
.ev .d{font-family:'Rye',Georgia,serif;font-size:1.25rem;color:var(--pink2)}
.ev .t{font-weight:700;margin:2px 0 6px}
.ev .m{font-size:.9rem;color:var(--mut)}
.badge{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 9px;border-radius:99px;background:#33363d;color:#ddd;margin-top:8px}
.badge.low{background:#e0a030;color:#16171a}.badge.out{background:#5a1a1a;color:#ffb0b0}
.prod{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.prod:last-child{border-bottom:0}
.prod b{display:block}.prod small{color:var(--mut)}
.qty{display:flex;align-items:center;gap:6px}
.qty button{width:38px;height:38px;padding:0;line-height:1;border-radius:10px;border:1px solid var(--line);background:#33363d;color:var(--txt);font-size:1.3rem;cursor:pointer}
.qty input[type=number]{width:56px;height:38px;text-align:center;border-radius:10px;border:1px solid var(--line);background:#111;color:var(--txt);font-size:1.05rem}
.price{color:var(--pink2);font-weight:700;white-space:nowrap}
.sum{display:flex;justify-content:space-between;font-size:1.15rem;font-weight:700;padding-top:12px}
label{display:block;font-size:.88rem;color:var(--mut);margin:0 0 4px}
.f{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.f .full{grid-column:1/-1}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=time],input[type=datetime-local],input[type=number],textarea,select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid var(--line);background:#111;color:var(--txt);font:inherit}
textarea{min-height:80px}
input:focus,textarea:focus,select:focus{outline:2px solid var(--pink);border-color:transparent}
.chk{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;color:var(--txt)}
.chk input{margin-top:4px;width:18px;height:18px;accent-color:var(--pink)}
.btn{display:inline-block;background:var(--pink);color:#16171a;border:0;border-radius:12px;padding:13px 26px;font-weight:800;font-size:1.05rem;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--pink2)}
.btn.sec{background:#33363d;color:var(--txt)}
.btn.sm{padding:7px 14px;font-size:.88rem;border-radius:9px}
.btn.danger{background:#7a2020;color:#fff}
.msg{padding:14px 18px;border-radius:12px;margin:0 0 18px}
.msg.ok{background:#173a1d;border:1px solid #2f7a3a}
.msg.err{background:#3d1717;border:1px solid #8a2f2f}
.msg.info{background:#2b2433;border:1px solid #5d4470}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:6px}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
footer{background:#0e0f11;color:var(--mut);font-size:.85rem;padding:22px 0;margin-top:30px;border-top:1px solid var(--line)}
footer a{color:var(--mut)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 6px}
.steps div{background:var(--bg2);border-radius:12px;padding:12px 14px;font-size:.92rem;color:#c9c5c0}
.steps b{color:var(--txt);display:block;font-size:1rem}
@media(max-width:700px){.f{grid-template-columns:1fr}.gal{grid-template-columns:repeat(2,1fr)}.hero h1{font-size:1.7rem}.steps{grid-template-columns:1fr}header.top img{height:48px}header.top nav a{margin-left:10px;font-size:.85rem}}
/* Admin */
table.t{width:100%;border-collapse:collapse;font-size:.92rem}
table.t th,table.t td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);vertical-align:top}
table.t th{color:var(--mut);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.4px}
table.t tr.cancelled td,table.t tr.expired td{opacity:.45}
.st{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px;white-space:nowrap}
.st.confirmed{background:#173a1d;color:#9fe0a8}.st.pending{background:#4a3a10;color:#ffd08a}.st.picked_up{background:#2f6fd0;color:#fff}.st.cancelled,.st.expired{background:#3a3a3a;color:#bbb}
.kpi{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0 18px}
.kpi div{background:var(--bg2);border-radius:12px;padding:12px 14px}
.kpi b{display:block;font-size:1.5rem;color:var(--pink2)}
.kpi span{font-size:.82rem;color:var(--mut)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
@media print{header.top,footer,.noprint{display:none!important}body{background:#fff;color:#000}.card{border:0;background:#fff}table.t th,table.t td{border-color:#ccc;color:#000}.st{border:1px solid #999;background:#fff!important;color:#000!important}}

.pickno{text-align:center;margin:0 0 18px;border-color:var(--pink)}
.pickno span{display:block;color:var(--mut);text-transform:uppercase;letter-spacing:1px;font-size:.85rem}
.pickno b{display:inline-block;font-family:'Rye',Georgia,serif;font-size:3.4rem;color:var(--pink);line-height:1.1;margin:6px 0}
.pickno small{display:block;color:var(--mut)}
td.pno{font-family:'Rye',Georgia,serif;font-size:1.5rem;color:var(--pink2);text-align:center}
tr.hit td{background:#3a2a35}
@media print{td.pno{color:#000;font-size:1.3rem}}

/* Smoke BBQ Events – Terminübersicht */
.evi{position:relative;padding-top:46px}
.evi .d{font-family:'Rye',Georgia,serif;font-size:1.25rem;color:var(--pink2)}
.evi .t{font-weight:700;margin:2px 0 6px;font-size:1.05rem}
.evi .m{font-size:.9rem;color:var(--mut)}
.evi .tag{position:absolute;top:12px;left:14px;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:99px;letter-spacing:.02em}
.evi.pub .tag{background:#ffff00;color:#16171a}
.evi.ord .tag{background:var(--pink);color:#16171a}
.evi.pub{border-color:rgba(255,255,0,.45)}
.evi.ord{border-color:rgba(232,112,168,.55)}
.evi.pub .d{color:#ffff00}
#termine h2,#bestellen>.wrap>h2{font-family:'Rye',Georgia,serif}

/* Adresse freiwillig – Hinweis */
.hint{margin:0;padding:10px 14px;border-left:3px solid #e870a8;background:rgba(232,112,168,.08);border-radius:6px;font-size:.92rem}
label small{font-weight:400;opacity:.7;font-size:.8em}

/* Polaroid-Fotos (wie auf smoke-bbq.de) */
.polas{display:flex;flex-wrap:wrap;justify-content:center;gap:26px 30px;padding:30px 0 40px}
.polas figure{margin:0;background:#fff;padding:10px 10px 0;width:200px;box-shadow:0 6px 20px rgba(0,0,0,.6),0 0 18px rgba(255,255,255,.08);transform:rotate(-3deg);transition:transform .25s}
.polas figure:nth-child(2){transform:rotate(2.5deg) translateY(8px)}
.polas figure:nth-child(3){transform:rotate(-1.5deg)}
.polas figure:nth-child(4){transform:rotate(3.5deg) translateY(4px)}
.polas figure:hover{transform:rotate(0) scale(1.06);z-index:2;position:relative}
.polas img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.polas figcaption{color:#222;text-align:center;font:400 1.05rem/1 'Rye',serif;padding:12px 4px 14px}
@media(max-width:560px){.polas figure{width:44%}.polas figcaption{font-size:.8rem}}
