*{box-sizing:border-box}

:root{
    --dark:#0f1d2b;
    --dark2:#15293b;
    --blue:#1689c7;
    --green:#49b977;
    --light:#f6fbff;
    --text:#213040;
    --muted:#6c7a89;
    --border:#d9e6ef;
    --danger:#d9534f;
}

body{
    margin:0;
    font-family:Arial, Helvetica, sans-serif;
    background:linear-gradient(135deg,#eef8ff,#f7fff9);
    color:var(--text);
}

a{color:var(--blue);text-decoration:none}

.logo{
    width:100%;
    max-width:300px;
    display:block;
    margin:0 auto 24px auto;
}

.header{
    background:linear-gradient(120deg,var(--dark),var(--dark2));
    color:#fff;
    padding:26px 18px;
    text-align:center;
}

.header .logo{
    max-width:300px;
    margin-bottom:10px;
}

.header h1{
    margin:8px 0 0;
    font-size:30px;
    letter-spacing:1px;
}

.wrap{
    max-width:1120px;
    margin:0 auto;
    padding:24px 16px;
}

.card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:0 8px 28px rgba(20,50,80,.08);
    padding:22px;
    margin-bottom:18px;
}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}

@media(max-width:800px){
    .grid,.grid2{grid-template-columns:1fr}
}

input,select,textarea{
    width:100%;
    padding:12px 14px;
    margin:7px 0 15px;
    border:1px solid var(--border);
    border-radius:12px;
    font-size:15px;
    background:#fff;
}

textarea{min-height:120px}
label{font-weight:bold;font-size:14px}

button,.btn{
    display:inline-block;
    border:0;
    background:linear-gradient(90deg,var(--blue),var(--green));
    color:#fff;
    padding:12px 18px;
    border-radius:12px;
    font-weight:bold;
    cursor:pointer;
}

.btn.secondary{background:#eef5fa;color:var(--text)}
.btn.danger{background:var(--danger)}
.nav{background:#fff;border-bottom:1px solid var(--border);padding:12px 16px;text-align:center}
.nav a{display:inline-block;margin:6px 8px;font-weight:bold}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}

.badge{
    display:inline-block;
    padding:5px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:bold;
    background:#e9f8ef;
    color:#21834b;
}

.badge.wait{background:#fff5dc;color:#9b6b00}
.badge.arch{background:#f1f1f1;color:#777}

.recipe-img{
    width:100%;
    max-height:360px;
    object-fit:cover;
    border-radius:18px;
    border:1px solid var(--border);
}

.small{color:var(--muted);font-size:14px}
.stat{background:#fff;border-radius:18px;border:1px solid var(--border);padding:20px;text-align:center}
.stat strong{font-size:34px;color:var(--blue)}
.footer{text-align:center;color:var(--muted);padding:30px}
.loginbox{max-width:460px;margin:50px auto}

.notice{
    background:#eaf8ff;
    border:1px solid #bee8ff;
    border-radius:14px;
    padding:14px;
    margin-bottom:16px;
}

/* Öffentliche Rezeptübersicht je Veranstaltung */
.recipe-overview-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:18px;
}

.recipe-overview-card{
    background:#fff;
    border:1px solid var(--border);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 8px 28px rgba(20,50,80,.08);
}

.recipe-overview-card img{
    width:100%;
    height:190px;
    object-fit:cover;
    display:block;
}

.recipe-overview-content{padding:18px}
.recipe-overview-content h2{margin:12px 0 8px}

.recipe-placeholder{
    height:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:58px;
    background:linear-gradient(135deg,#eef8ff,#f7fff9);
}

@media(max-width:900px){
    .recipe-overview-grid{grid-template-columns:repeat(2, 1fr)}
}

@media(max-width:600px){
    .recipe-overview-grid{grid-template-columns:1fr}
}
