:root {
    --eb-gold: #BBA36E;
    --eb-rose: #E8A5A5;
    --eb-pink: #D24E78;
    --eb-sage: #8DB08D;
    --eb-petrol: #688E8E;
    --eb-lavender: #D4B5D4;
    --eb-peach: #E0B080;
    --eb-cream: #F5EDE0;
    --eb-dark: #2C2C2A;
    --eb-text: #444441;
    --eb-font-heading: 'Playfair Display', Georgia, serif;
    --eb-font-body: 'Lato', 'Segoe UI', sans-serif;
}
body {
    font-family: var(--eb-font-body);
    color: var(--eb-text);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}
header:not(#elementor-editor-wrapper-v2 header) {
    min-height: 112px;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--eb-font-heading);
    font-weight: 400;
    color: var(--eb-dark);
    line-height: 1.3;
}
a { color: var(--eb-gold); text-decoration: none; transition: color .2s; }
a:hover { color: #8F7D54; }
.elementor-button { font-family: var(--eb-font-body) !important; letter-spacing: .5px; text-shadow: none; }
html { scroll-behavior: smooth; }
::selection { background: #F2CDCD; color: var(--eb-dark); }

/* === Karten-Platzhalter === */
.eb-map-placeholder .elementor-image {
    background: var(--eb-cream);
    border-radius: 8px;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.eb-map-placeholder .widget-image-caption {
    color: var(--eb-gold);
    font-family: var(--eb-font-body);
    font-size: 13px;
    transition: color 0.3s ease;
}
.eb-map-placeholder a:hover .widget-image-caption {
    color: var(--eb-dark);
}
.eb-card-hover { overflow: hidden; border-radius: 8px; }
.eb-card-hover img { transition: transform .5s; }
.eb-card-hover:hover img { transform: scale(1.05); }

/* === Category Card Overlay (Call to Action) === */
.eb-card-overlay {
    border-radius: 8px;
    overflow: hidden;
}
.eb-card-overlay .elementor-cta {
    transition: box-shadow 0.4s ease;
}
.eb-card-overlay .elementor-cta__bg-wrapper::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 65%;
    background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, transparent 100%);
    z-index: 1;
    pointer-events: none;
}
.eb-card-overlay .elementor-cta__content {
    z-index: 2;
    position: relative;
}
.eb-card-overlay:hover .elementor-cta {
    box-shadow: 0 4px 20px rgba(0,0,0,0.12);
}
.eb-card-overlay .elementor-cta__bg {
    transition: transform 0.5s ease;
}
.eb-card-overlay:hover .elementor-cta__bg {
    transform: scale(1.08);
}

/* === Hero Slider Button === */
.elementor-slides .elementor-slide-button {
    background: rgba(255, 255, 255, 0.15) !important;
    backdrop-filter: blur(10px) saturate(150%);
    -webkit-backdrop-filter: blur(10px) saturate(150%);
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.4) !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.elementor-slides .elementor-slide-button:hover {
    background: rgba(255, 255, 255, 0.95) !important;
    color: #444441 !important;
    border-color: #FFFFFF !important;
}

/* === CTA Button (weiß auf farbigem Hintergrund) === */
.eb-btn-ghost-hover .elementor-button {
    border: 1.5px solid transparent !important;
    transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}
.eb-btn-ghost-hover .elementor-button:hover {
    background: transparent !important;
    color: #FFFFFF !important;
    border-color: #FFFFFF !important;
}

/* === Text-Link mit Pfeil (z.B. "Mehr erfahren") === */
.eb-link-arrow .elementor-button {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    transition: color 0.3s ease;
}
.eb-link-arrow .elementor-button-text::after {
    content: '';
    display: inline-block;
    width: 7px;
    height: 7px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    margin-left: .2rem;
    vertical-align: middle;
    transition: margin-left 0.3s ease;
}
.eb-link-arrow .elementor-button:hover {
    color: var(--eb-dark) !important;
}
.eb-link-arrow .elementor-button:hover .elementor-button-text::after {
    margin-left: .3rem;
}

footer .e-con {
    width: auto;
}

/* === Ken-Burns Sprung-Fix === */
/* Elementors Original-Animation ausschalten */
.elementor-slides .swiper-slide-bg.elementor-ken-burns {
    animation: none !important;
}

/* Endzustand als Default = kein Zurückspringen, wenn --active wegfällt */
.elementor-slides .swiper-slide-bg.elementor-ken-burns--in {
    transform: scale(1.15);
}
.elementor-slides .swiper-slide-bg.elementor-ken-burns--out {
    transform: scale(1);
}

/* Eigene Animation läuft nur am aktiven Slide */
.elementor-slides .swiper-slide-active .swiper-slide-bg.elementor-ken-burns--in {
    animation: eb-kb-in 6s ease-out forwards !important;
}
.elementor-slides .swiper-slide-active .swiper-slide-bg.elementor-ken-burns--out {
    animation: eb-kb-out 6s ease-out forwards !important;
}

@keyframes eb-kb-in {
    from { transform: scale(1); }
    to   { transform: scale(1.15); }
}
@keyframes eb-kb-out {
    from { transform: scale(1.15); }
    to   { transform: scale(1); }
}

/* === Mega Menu: Sortiment-Dropdown kompakt & unter "Sortiment" === */
/* Nur Desktop – Mobile-Burgermenü bleibt unberührt */
@media (min-width: 769px) {
    /* Stretch-Mechanismus ausschalten: das Mega-Menu streckt das Dropdown 
       per CSS-Variablen über die ganze Viewport-Breite. Wir überschreiben die. */
    .elementor-widget-n-menu .e-n-menu-heading,
    .elementor-widget-mega-menu .e-n-menu-heading {
        --stretch-width: auto !important;
        --stretch-left: 0 !important;
    }

    /* Menüpunkt als Anker für das absolut positionierte Dropdown */
    .elementor-widget-n-menu .e-n-menu-item,
    .elementor-widget-mega-menu .e-n-menu-item {
        position: relative !important;
    }

    /* Dropdown-Content (der den mdd001 Container enthält) linksbündig unter "Sortiment" ankern */
    .elementor-widget-n-menu .e-n-menu-item > .e-n-menu-content,
    .elementor-widget-mega-menu .e-n-menu-item > .e-n-menu-content {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        width: 210px !important;
        max-width: 210px !important;
        min-width: 210px !important;
        transform: none !important;
        margin: 0 !important;
    }

    /* Innerer Dropdown-Container mdd001 an Content-Breite anpassen */
    .elementor-element-mdd001 {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        left: -24px !important;
        right: auto !important;
        transform: none !important;
    }

    /* Spalten "Floristik" und "Mehr entdecken" untereinander (280px ist zu schmal für 2 nebeneinander) */
    .elementor-element-mdd001,
    .elementor-element-mdd001 > .e-con-inner {
        flex-direction: column !important;
        gap: 20px !important;
    }
    .elementor-element-mdc001,
    .elementor-element-mdc002 {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* === Mega Menu Mobile: Dropdown-Inhalte rechtsbündig (passend zum restlichen Menü) === */
@media (max-width: 768px) {
    /* Überschriften "Floristik" / "Mehr entdecken" */
    .elementor-element-mdd001 .elementor-widget-heading,
    .elementor-element-mdd001 .elementor-heading-title {
        text-align: right !important;
    }
    /* Icon-List Einträge (Sträuße, Hochzeitsfloristik, etc.) */
    .elementor-element-mdd001 .elementor-icon-list-items {
        justify-content: flex-end !important;
    }
    .elementor-element-mdd001 .elementor-icon-list-item {
        justify-content: flex-end !important;
        text-align: right !important;
    }
    .elementor-element-mdd001 .elementor-icon-list-item > a,
    .elementor-element-mdd001 .elementor-icon-list-text {
        justify-content: flex-end !important;
        text-align: right !important;
    }
}

/* === Meow Gallery: Copyright-Caption lesbar auf Bildern === */
.mgl-caption,
.mgl-caption p {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6), 0 0 4px rgba(0, 0, 0, 0.4);
}