body {
    margin: 0;
    font-family: Arial, sans-serif;
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;

}

main {
    flex: 1;
}
/* HEADER */
.header {
    background: #F4F4F4;
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 20px;
}

.header-image {
    width: auto;
    height: 150px !important;
    object-fit: contain;
}

.header-text {
    text-align: center;
}
.header-center {
    flex: 1;                /* nimmt freien Raum ein */
    min-width: 200px;       /* verhindert komplettes Zusammendrücken */
    padding: 0 15px;        /* Puffer links/rechts um Text */
    text-align: center;
  }
/* NAVBAR */

.navbar {
    background-color: #c8a2c8;

    display: flex;

    justify-content: left;

    gap: 20px;

    padding: 15px;

    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

/* BUTTON LINKS */

.nav-button {

    background-color: white;

    color: #333;

    text-decoration: none;

    padding: 12px 24px;

    border-radius: 10px;

    font-weight: bold;

    transition: 0.2s ease;
}

/* HOVER */

.nav-button:hover {

    background-color: #eee;

    transform: translateY(-2px);
}
/* CONTENT */
.content {
    padding: 30px;
}

.container {
    max-width: 1000px;

    margin: 40px auto;

    padding: 20px;
}

.aushang {
    max-width: 600px;
    margin: auto;
    background: #f5f5f5;
    padding: 20px;
    border-radius: 10px;
}


.cta-button {
    display: inline-block;

    background: linear-gradient(135deg, #ff4d6d, #ff8a5c);

    color: white;

    text-decoration: none;

    font-size: 20px;
    font-weight: bold;

    padding: 16px 32px;

    border-radius: 14px;

    box-shadow: 0 10px 25px rgba(255, 77, 109, 0.4);

    transition: all 0.25s ease;

    margin-top: 20px;
}

/* Hover Effekt */
.cta-button:hover {
    transform: translateY(-3px) scale(1.05);

    /* box-shadow: 0 15px 35px rgba(255, 77, 109, 0.5); */
}

/* Klick Effekt */
.cta-button:active {
    transform: scale(0.98);
}

.info-box {
    background: linear-gradient(135deg, #e6f9ee, #d1fae5);

    border-left: 6px solid #22c55e;

    padding: 18px 22px;

    border-radius: 12px;

    box-shadow: 0 4px 12px rgba(0,0,0,0.05);

    margin: 20px 0;
}

/* GESAMTE KARTE */

.coffee-card {
    max-width: 900px;

    margin: 50px auto;

    background: white;

    padding: 40px;

    border-radius: 24px;

    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
}

/* TITEL */

.coffee-card h1 {
    font-size: 36px;

    margin-bottom: 15px;
}

/* TEXT */

.intro-text {
    font-size: 18px;

    color: #555;

    margin-bottom: 30px;
}

/* TABELLE */

.table-wrapper {
    overflow-x: auto;
}

.coffee-table {
    width: 100%;

    border-collapse: collapse;

    margin-bottom: 40px;
}

.coffee-table th {
    background: #c8a2c8;

    color: white;

    padding: 16px;

    text-align: left;
}

.coffee-table td {
    padding: 16px;

    border-bottom: 1px solid #eee;
}

.coffee-table tr:hover {
    background: #faf7fc;
}

/* AUSWAHL */

.choice-section h3 {
    margin-bottom: 20px;
}

/* OPTIONEN */

.choice-card {
    display: flex;

    align-items: center;

    gap: 12px;

    background: #f8f8f8;

    padding: 18px 20px;

    border-radius: 14px;

    margin-bottom: 15px;

    cursor: pointer;

    transition: 0.2s ease;
}

.choice-card:hover {
    background: #efe7f3;

    transform: translateY(-2px);
}

.choice-card input {
    transform: scale(1.3);
}

/* BUTTON */

.submit-btn {
    margin-top: 30px;

    background: linear-gradient(135deg, #6ee7b7, #3b82f6);

    color: white;

    border: none;

    padding: 16px 32px;

    border-radius: 14px;

    font-size: 18px;

    font-weight: bold;

    cursor: pointer;

    transition: 0.25s ease;

    box-shadow: 0 10px 25px rgba(59,130,246,0.25);
}

.submit-btn:hover {
    transform: translateY(-3px);

    box-shadow: 0 15px 35px rgba(59,130,246,0.35);
}
/* FAQ */

.faq {
    max-width: 700px;
    margin: 40px auto;
}

.faq h2 {
    margin-bottom: 20px;
}

.faq-item {
    background: white;

    padding: 15px 20px;

    border-radius: 12px;

    margin-bottom: 10px;

    box-shadow: 0 2px 10px rgba(0,0,0,0.05);

    cursor: pointer;
}

/* Frage */
.faq-item summary {
    font-weight: bold;
    font-size: 16px;

    list-style: none;
}

/* Antwort */
.faq-item p {
    margin-top: 10px;

    color: #555;
}

.steps {
    list-style: none;

    padding: 0;

    counter-reset: step;
}

.exp-image {
    width: 600px;
}


img {
    max-width: 100%;
    height: auto;
}

.footer {
    margin-top: 60px;
    
    border-top: 1px solid #ddd;
}
/* =========================
   MOBILE OPTIMIERUNG
========================= */

@media (max-width: 768px) {

    /* HEADER */

    .header {

        flex-direction: column;

        text-align: center;

        gap: 20px;
    }

    .header-image {

        width: 180px !important;

        height: auto !important;
    }

    /* NAVBAR */

    .navbar {

        flex-direction: column;

        align-items: stretch;

        gap: 10px;
    }

    .nav-button {

        text-align: center;

        width: 100%;

        box-sizing: border-box;
    }

    /* CONTAINER */

    .container {

        width: 95%;

        padding: 10px;

        margin: 20px auto;
    }

    /* KAFFEE KARTE */

    .coffee-card {

        padding: 20px;

        margin: 20px auto;
    }

    /* TABELLE */

    .coffee-table th,
    .coffee-table td {

        padding: 10px;

        font-size: 14px;
    }

    /* BUTTONS */

    .cta-button,
    .submit-btn {

        width: 100%;

        text-align: center;

        box-sizing: border-box;
    }

    /* FAQ */

    .faq {

        width: 100%;
    }

    /* TIMELINE */

    .steps li {

        padding: 20px;
    }

    /* BILDER */

    .exp-image {

        width: 100%;

        max-width: 100%;
    }

    /* INFO BOX */

    .info-box {

        padding: 16px;
    }
}