/* Home Page – Hero-Kompaktierung (Headline, Abstände, Platznutzung ab Tablet) */
/* Base-Klassen bleiben in theme1/base/; Anpassungen nur über Screen-IDs. */

#home-hero {
    gap: 1rem;
    padding: 0 0 2rem;
}

#home-hero-headline {
    margin-bottom: 0.625rem;
}

#home-hero-title {
    font-size: clamp(1.5rem, 2.1vw + 0.8rem, 2.125rem);
    font-weight: var(--font-weight-headline-ui);
    line-height: 1.22;
    letter-spacing: -0.015em;
}

#home-hero-desc {
    margin-bottom: 1.25rem;
    line-height: 1.55;
}

#home-hero-actions {
    margin-bottom: 0;
    gap: 0.75rem;
}

#home-hero-visual .base-hero-image {
    max-height: 240px;
    width: 100%;
    object-fit: contain;
}

@media (min-width: 768px) {
    #home-hero {
        flex-direction: row;
        align-items: center;
        text-align: left;
        gap: 1.75rem;
    }

    #home-hero .base-hero-content {
        display: flex;
        flex-direction: column;
        flex: 1 1 52%;
        min-width: 0;
        max-width: none;
    }

    #home-hero-text,
    #home-hero-visual,
    #home-hero-actions {
        order: unset;
        width: auto;
    }

    #home-hero-visual {
        flex: 1 1 48%;
        max-width: 48%;
    }

    #home-hero-visual .base-hero-image {
        max-height: 300px;
    }

    #home-hero-actions {
        justify-content: flex-start;
    }
}

@media (min-width: 1024px) {
    #home-hero {
        gap: 2.25rem;
        padding: 0 0 2.5rem;
    }

    #home-hero-title {
        font-size: 2.125rem;
    }

    #home-hero-visual .base-hero-image {
        max-height: 360px;
    }
}

@media (min-width: 1440px) {
    #home-hero-title {
        font-size: 2.25rem;
    }

    #home-hero-visual .base-hero-image {
        max-height: 400px;
    }
}

/* Feature-Kacheln: keine erzwungene Mindesthöhe, Inhalt oben ausrichten */
#home-features-grid {
    align-items: start;
}

#home-features-grid .base-tile {
    min-height: 0;
    height: auto;
    padding: 1.125rem 1.25rem;
    justify-content: flex-start;
}

#home-features-grid .base-tile-content-centered {
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 0;
    width: 100%;
    gap: 0.5rem;
}

#home-features-grid .base-content-text {
    margin-bottom: 0;
}

#home-features-grid .base-tile-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;
    min-height: 48px;
}

@media (min-width: 600px) {
    #home-features-grid .base-tile {
        padding: 1.25rem 1.375rem;
    }
}
