/* =========================================================
   Startseite – Grundlayout
   ========================================================= */

/* Zentrales Layout-Container für die Startseite */
.home-container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 32px 16px 48px;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

/* Gemeinsame Card-Basis für Login-Bereich und Inhaltssektionen */
.home-login,
.home-section {
    background: var(--bg-card);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-soft);
    margin: 0 auto;
    max-width: 1080px;
}

/* =========================================================
   Login-Bereich (Startseite)
   ========================================================= */

.home-login {
    padding: 20px 24px;
    border: 1px solid rgba(255, 107, 53, .15);
    max-width: 900px;
}

.home-login h1 {
    margin: 0 0 8px;
    text-align: left;
}

.home-login p {
    margin: 0 0 20px;
    color: var(--text-muted);
}

/* Formular-Layout im Login-Bereich */
.home-login form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.home-login label {
    font-size: .9rem;
    margin-bottom: 4px;
}

.home-login input {
    width: 100%;
}

/* Login-Button */
.home-login .button {
    margin-top: 4px;
    width: 100%;
}

/* Link zum Registrieren */
.home-login a {
    display: inline-block;
    margin-top: 12px;
    font-size: .9rem;
    color: var(--accent-dark);
}

/* Login-Felder in einer Zeile (Desktop) */
.home-login-row {
    display: flex;
    gap: 16px;
}

.home-login-field {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* =========================================================
   Inhaltssektionen (Rezeptlisten)
   ========================================================= */

.home-section {
    padding: 22px 24px 26px;
    border: 1px solid rgba(255, 107, 53, .08);
}

.home-section-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
}

.home-section-header h2 {
    margin: 0;
    font-size: 1.3rem;
}

.home-section-link {
    font-size: .9rem;
    color: var(--accent-dark);
    text-decoration: none;
}

.home-section-link:hover {
    text-decoration: underline;
}

/* =========================================================
   Mobile-Slider für Rezeptlisten
   Nur aktiv auf kleinen Bildschirmen
   ========================================================= */

@media (max-width: 720px) {

    /* Rezeptliste wird horizontal scrollbarer Slider */
    ul.recipe-list.home-recipe-slider,
    ul.recipe-list--row5.home-recipe-slider {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        padding: 6px 2px 10px;
        margin-top: 12px;

        /* Grid-Eigenschaften aus recipe-list.css neutralisieren */
        grid-template-columns: none;
        grid-auto-flow: initial;
        grid-auto-columns: initial;
    }

    /* Scrollbar (WebKit-Browser) */
    ul.recipe-list.home-recipe-slider::-webkit-scrollbar,
    ul.recipe-list--row5.home-recipe-slider::-webkit-scrollbar {
        height: 8px;
    }

    ul.recipe-list.home-recipe-slider::-webkit-scrollbar-thumb,
    ul.recipe-list--row5.home-recipe-slider::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .12);
        border-radius: 999px;
    }

    ul.recipe-list.home-recipe-slider::-webkit-scrollbar-track,
    ul.recipe-list--row5.home-recipe-slider::-webkit-scrollbar-track {
        background: transparent;
    }

    /* Einzelne Rezept-Karten im Slider */
    ul.recipe-list.home-recipe-slider > li.recipe-item,
    ul.recipe-list--row5.home-recipe-slider > li.recipe-item {
        flex: 0 0 auto;
        width: clamp(240px, 78vw, 420px);
        scroll-snap-align: start;
        max-width: none;
    }

    /* Karten sollen die volle Höhe einnehmen */
    ul.recipe-list.home-recipe-slider > li.recipe-item .recipe-card,
    ul.recipe-list--row5.home-recipe-slider > li.recipe-item .recipe-card {
        height: 100%;
    }
}

/* =========================================================
   Responsive Anpassungen
   ========================================================= */

/* Login-Felder untereinander auf kleineren Bildschirmen */
@media (max-width: 960px) {
    .home-login-row {
        flex-direction: column;
    }
}

/* Section-Padding und Slider-Abstände auf Mobile */
@media (max-width: 720px) {
    .home-section {
        padding-left: 0;
        padding-right: 0;
    }

    .home-section-header {
        padding-left: 16px;
        padding-right: 16px;
    }

    ul.recipe-list.home-recipe-slider,
    ul.recipe-list--row5.home-recipe-slider {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Kompakteres Login-Layout auf Mobile */
@media (max-width: 720px) {
    .home-login {
        padding: 16px;
        max-width: 100%;
        border-radius: 16px;
    }

    .home-login h1 {
        font-size: 1.6rem;
    }

    .home-login p {
        font-size: .95rem;
    }

    .home-login .button {
        width: 100%;
        align-self: stretch;
    }
}

/* Finale Mobile-Optimierung:
   - volle Breite
   - saubere Slider-Clipping-Kanten */
@media (max-width: 720px) {

    .home-container {
        padding: 20px 12px 36px;
    }

    .home-login,
    .home-section {
        width: 100%;
        max-width: none;
        margin: 0;
    }

    .home-section {
        padding: 16px 0 18px;
        overflow: hidden;
        border-radius: 16px;
    }

    .home-section-header {
        padding: 0 16px;
    }

    /* Slider-Finalisierung:
       verhindert Überbreite und Shrinking */
    ul.recipe-list.home-recipe-slider,
    ul.recipe-list--row5.home-recipe-slider {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;

        overflow-x: auto;
        overflow-y: hidden;

        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;

        padding: 8px 16px 12px;
        margin: 12px 0 0;

        max-width: 100%;
    }

    ul.recipe-list.home-recipe-slider > li.recipe-item,
    ul.recipe-list--row5.home-recipe-slider > li.recipe-item {
        flex: 0 0 auto;
        width: 82vw;
        max-width: 420px;
        min-width: 260px;
        scroll-snap-align: start;
    }
}
