/* 
 * Widgets Hero CSS
 * Alle Hero-Section-Definitionen
 * Farben müssen via Custom Properties aus der colors.css genutzt werden
 */

/* Hero Section - Mobile-First */
.base-hero {
    position: relative;
    overflow: hidden;
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: var(--color-text-white);
}

.base-hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.base-hero-bg-image {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.7);
    box-sizing: border-box;
}

.base-hero-overlay {
    position: relative;
    z-index: 1;
    padding: var(--spacing-xl) 0 var(--spacing-2xl);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.base-hero-inner {
    text-align: left;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.base-hero h1 {
    font-size: 2rem;
    margin: 0 0 0.5rem;
    line-height: 1.2;
    font-family: var(--font-family-base);
    font-weight: var(--font-weight-semibold);
    color: #ffffff;
}

.base-hero p {
    margin: 0 0 1.5rem;
    font-size: 1rem;
    line-height: var(--line-height-relaxed);
    font-family: var(--font-family-base);
    color: #ffffff;
}

/* Responsive - Mobile-First (basierend auf Vorlage) */
/* Tablet/iPad: 600px-768px */
@media (width >= 600px) {
    .base-hero-overlay {
        padding: var(--spacing-2xl) 0 var(--spacing-3xl);
    }

    .base-hero h1 {
        font-size: 1.6rem;
    }
}

/* Kleiner Desktop/13-Zoll: 1024px-1366px */
@media (width >= 1024px) and (width <= 1366px) {
    .base-hero-overlay {
        padding: var(--spacing-3xl) 0 var(--spacing-3xl);
    }

    .base-hero h1 {
        font-size: 2rem;
    }

    .base-hero p {
        font-size: 1rem;
        margin: 0 0 1.5rem;
    }
}

/* Großer Desktop/Widescreen: min-width: 1440px */
@media (width >= 1440px) {
    .base-hero h1 {
        font-size: 2rem;
    }
}

/* Hero - Legacy Support (ohne widget- Präfix) */
.base-hero-legacy {
    position: relative;
    overflow: hidden;
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    color: var(--color-text-white);
}

.base-hero-legacy-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.base-hero-legacy-bg-image {
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    filter: brightness(0.7);
    box-sizing: border-box;
}

.base-hero-legacy-overlay {
    position: relative;
    z-index: 1;
    padding: var(--spacing-xl) 0 var(--spacing-2xl);
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.base-hero-legacy-inner {
    text-align: left;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

    .base-hero-legacy h1 {
        font-size: 2rem;
        margin: 0 0 0.5rem;
        line-height: 1.2;
        font-family: var(--font-family-base);
        font-weight: var(--font-weight-semibold);
        color: #ffffff;
    }

    .base-hero-legacy p {
        margin: 0 0 1.5rem;
        font-size: 1rem;
        line-height: var(--line-height-relaxed);
        font-family: var(--font-family-base);
        color: #ffffff;
    }

/* Responsive - Legacy Support (basierend auf Vorlage) */
@media (width >= 600px) {
    .base-hero-legacy-overlay {
        padding: var(--spacing-2xl) 0 var(--spacing-3xl);
    }

    .base-hero-legacy h1 {
        font-size: 1.6rem;
    }
}

@media (width >= 1024px) and (width <= 1366px) {
    .base-hero-legacy-overlay {
        padding: var(--spacing-3xl) 0 var(--spacing-3xl);
    }

    .base-hero-legacy h1 {
        font-size: 2rem;
    }

    .base-hero-legacy p {
        font-size: 1rem;
        margin: 0 0 1.5rem;
    }
}

@media (width >= 1440px) {
    .base-hero-legacy h1 {
        font-size: 2rem;
    }
}
