/*
 * style.css – Essvergnügen Partyservice Wolf
 * Version 2.0 – 2026-03-04
 * © Frone.de
 */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --gruen:  #009900;
    --rot:    #993300;
    --bg:     #F8F8F2;
    --panel:  #F2ECEC;
    --text:   #333333;
    --white:  #FFFFFF;
    --border: #D4C8C8;
}

body {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
    font-size: 14px;
    color: var(--text);
    background: var(--bg);
    line-height: 1.6;
}

a            { color: var(--gruen); text-decoration: none; }
a:hover      { text-decoration: underline; }
img          { display: block; max-width: 100%; height: auto; }

/* ── WRAPPER ─────────────────────────────────────────────── */
.wrapper {
    max-width: 900px;
    margin: 0 auto;
    background: var(--white);
    box-shadow: 0 0 16px rgba(0,0,0,.12);
}

/* ── HEADER ──────────────────────────────────────────────── */
.site-header {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem 1.5rem;
    background: var(--white);
    border-bottom: 2px solid var(--border);
}

.header-tagline {
    flex: 1;
    text-align: center;
}

.header-tagline .slogan {
    font-size: 1.05rem;
    color: var(--gruen);
    font-weight: bold;
    margin-bottom: .3rem;
}

.header-tagline .quote {
    font-size: .8rem;
    color: var(--text);
    font-style: italic;
}

/* ── LAYOUT ──────────────────────────────────────────────── */
.layout {
    display: flex;
    min-height: 420px;
}

/* ── SIDEBAR / NAV ───────────────────────────────────────── */
.sidebar {
    width: 170px;
    flex-shrink: 0;
    background: var(--panel);
    border-right: 1px solid var(--border);
    padding: 1.2rem .5rem;
}

.sidebar ul { list-style: none; }

.sidebar li { margin-bottom: .6rem; }

.sidebar li a,
.sidebar li span {
    display: block;
    padding: .45rem .6rem;
    border-radius: 4px;
    font-size: .85rem;
    font-weight: bold;
    color: var(--gruen);
    text-align: center;
    transition: background .15s, color .15s;
}

.sidebar li.active span {
    background: var(--gruen);
    color: var(--white);
    cursor: default;
}

.sidebar li a:hover {
    background: var(--gruen);
    color: var(--white);
    text-decoration: none;
}

/* ── CONTENT ─────────────────────────────────────────────── */
.content {
    flex: 1;
    padding: 1.5rem;
    background-repeat: repeat;
    background-color: var(--white);
}

.content h1 {
    color: var(--gruen);
    font-size: 1.15rem;
    margin-bottom: .75rem;
}

.content h2 {
    color: var(--rot);
    font-size: 1rem;
    margin-bottom: .5rem;
    margin-top: 1rem;
}

.content p { margin-bottom: .75rem; }

/* ── TWO-COLUMN PANEL ────────────────────────────────────── */
.panel {
    display: flex;
    gap: 1.5rem;
}

.panel-img {
    width: 150px;
    flex-shrink: 0;
    background: var(--panel);
    padding: .75rem .5rem;
    text-align: center;
    border-radius: 4px;
}

.panel-img img { margin: 0 auto .6rem; }

.panel-body { flex: 1; }

/* ── MARKENNAME ──────────────────────────────────────────── */
.brand-ess { color: var(--rot); }
.brand-vgn { color: var(--gruen); font-style: italic; }

/* ── STARTSEITE ──────────────────────────────────────────── */
.index-quote {
    text-align: center;
    margin-bottom: 1.2rem;
    padding: .75rem;
    background: var(--panel);
    border-radius: 4px;
    font-style: italic;
    font-size: .9rem;
}

.index-hero img {
    margin: 0 auto;
    max-width: 100%;
    border-radius: 4px;
}

/* ── KONTAKT ─────────────────────────────────────────────── */
.kontakt-card {
    background: var(--panel);
    border-radius: 6px;
    padding: 1.5rem;
    text-align: center;
    display: inline-block;
    width: 100%;
    max-width: 380px;
}

.kontakt-card img.foto {
    margin: 0 auto .75rem;
    border-radius: 4px;
}

.kontakt-card .firma {
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: .5rem;
}

.kontakt-bild {
    margin: .75rem auto 0;
    border: 1px solid var(--border);
    border-radius: 4px;
}

/* ── KOCHSCHULUNG – Kurs-Links ───────────────────────────── */
.kurs-links {
    display: flex;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.kurs-links a {
    flex: 1;
    min-width: 140px;
    text-align: center;
    padding: .5rem .75rem;
    background: var(--panel);
    border-radius: 4px;
    font-weight: bold;
    color: var(--rot);
    border: 1px solid var(--border);
    transition: background .15s, color .15s;
}

.kurs-links a:hover { background: var(--gruen); color: var(--white); text-decoration: none; }

/* ── FOOTER ──────────────────────────────────────────────── */
.site-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .5rem 1.2rem;
    background: var(--panel);
    border-top: 2px solid var(--border);
    font-size: .75rem;
}

.site-footer a { color: var(--rot); font-weight: bold; }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 640px) {
    .site-header      { flex-direction: column; text-align: center; }
    .layout           { flex-direction: column; }
    .sidebar          { width: 100%; border-right: none; border-bottom: 1px solid var(--border);
                        padding: .6rem; }
    .sidebar ul       { display: flex; gap: .4rem; flex-wrap: wrap; justify-content: center; }
    .panel            { flex-direction: column; }
    .panel-img        { width: 100%; }
    .kurs-links       { flex-direction: column; }
    .site-footer      { flex-direction: column; gap: .25rem; text-align: center; }
}
