.threedbull-promo-stack {
    position: relative;
    z-index: 998;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.threedbull-promo-stack[hidden] {
    display: none !important;
}

.threedbull-promo-stack *,
.threedbull-promo-stack *::before,
.threedbull-promo-stack *::after {
    box-sizing: border-box;
}

/* Vollbreite auch dann, wenn das Theme den Header-Inhalt begrenzt. */
.threedbull-ticker,
.threedbull-info-bar,
.threedbull-aktionsbalken,
.threedbull-config-hero {
    position: relative;
    left: 50%;
    width: 100vw;
    margin-left: -50vw;
}

/* =========================================================
   LAUFTICKER
   ========================================================= */
.threedbull-ticker {
    overflow: hidden;
    background: var(--threedbull-ticker-bg, #111111);
    color: var(--threedbull-ticker-text, #ffffff);
    border-bottom: 2px solid #d80000;
}

.threedbull-ticker__track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: threedbullTicker var(--threedbull-ticker-duration, 28s) linear infinite;
}

.threedbull-ticker:hover .threedbull-ticker__track {
    animation-play-state: paused;
}

.threedbull-ticker__group {
    display: flex;
    flex: none;
    align-items: center;
}

.threedbull-ticker__item {
    flex: none;
    padding: 8px 42px;
    white-space: nowrap;
    font-size: 13px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: 0.01em;
    color: inherit;
}

.threedbull-ticker__item strong {
    color: inherit;
    font-weight: 900;
}

.threedbull-ticker__item a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.threedbull-ticker__item a:hover,
.threedbull-ticker__item a:focus-visible {
    color: inherit;
    opacity: 0.8;
}

@keyframes threedbullTicker {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

/* =========================================================
   PRODUKTIONS- / INFOBALKEN
   ========================================================= */
.threedbull-info-bar {
    background: var(--threedbull-info-bg, #6fdc5c);
    color: var(--threedbull-info-text, #111111);
    border-bottom: 1px solid rgba(0,0,0,0.12);
}

.threedbull-info-bar__inner {
    width: 100%;
    min-height: 44px;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 15px;
    line-height: 1.35;
    font-weight: 700;
}

.threedbull-info-bar__inner strong {
    font-weight: 900;
}

.threedbull-info-bar__inner a {
    color: inherit;
    font-weight: 900;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* =========================================================
   BESTEHENDER GELBER AKTIONSBALKEN
   ========================================================= */
.threedbull-aktionsbalken {
    z-index: 999;
    color: var(--threedbull-action-text, #111111);
    background: var(--threedbull-action-bg, linear-gradient(90deg, #ffd400 0%, #ffeb3b 50%, #ffd400 100%));
    border-top: 2px solid #111111;
    border-bottom: 2px solid #111111;
    box-shadow: 0 2px 7px rgba(0, 0, 0, 0.18);
}

.threedbull-aktionsbalken__inner {
    width: 100%;
    min-height: 44px;
    padding: 8px 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: 0.15px;
}

.threedbull-aktionsbalken__inner a {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none !important;
    transition: transform 160ms ease, color 160ms ease;
}

.threedbull-aktionsbalken__inner a:hover,
.threedbull-aktionsbalken__inner a:focus-visible {
    color: inherit;
    opacity: 0.82;
    transform: translateX(3px);
}

.threedbull-aktionsbalken__inner strong {
    font-weight: 900;
    text-transform: uppercase;
}

/* =========================================================
   GROSSER KONFIGURATOR-HERO
   ========================================================= */
.threedbull-config-hero {
    overflow: hidden;
    background: #f2f3f5;
}

.threedbull-config-hero__link {
    position: relative;
    display: block;
    width: 100%;
    min-height: clamp(300px, 31vw, 590px);
    overflow: hidden;
    color: #111111;
    text-decoration: none !important;
    background: #f2f3f5;
}

.threedbull-config-hero__image,
.threedbull-config-hero__fallback {
    display: block;
    width: 100%;
    height: clamp(300px, 31vw, 590px);
}

.threedbull-config-hero__image {
    object-fit: cover;
    object-position: center center;
    transition: transform 500ms ease;
}

.threedbull-config-hero__link:hover .threedbull-config-hero__image {
    transform: scale(1.015);
}

.threedbull-config-hero__fallback {
    background:
        radial-gradient(circle at 22% 40%, rgba(216,0,0,0.18), transparent 25%),
        radial-gradient(circle at 78% 55%, rgba(17,17,17,0.14), transparent 25%),
        linear-gradient(135deg, #f7f7f7 0%, #e8e8e8 100%);
}

.threedbull-config-hero__overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 28px;
    text-align: center;
    color: #111111;
    text-shadow: 0 1px 1px rgba(255,255,255,0.5);
}

.threedbull-config-hero__overlay strong {
    display: block;
    font-size: clamp(2rem, 4vw, 4.8rem);
    line-height: 1.02;
    font-weight: 900;
}

.threedbull-config-hero__overlay span,
.threedbull-config-hero__overlay p {
    font-size: clamp(1rem, 1.45vw, 1.45rem);
    line-height: 1.4;
}

@media (prefers-reduced-motion: reduce) {
    .threedbull-ticker__track {
        animation: none;
    }

    .threedbull-config-hero__image {
        transition: none;
    }
}

@media (max-width: 767px) {
    .threedbull-ticker__item {
        padding: 7px 26px;
        font-size: 12px;
    }

    .threedbull-info-bar__inner {
        min-height: 40px;
        padding: 7px 10px;
        font-size: 13px;
    }

    .threedbull-aktionsbalken__inner {
        min-height: 40px;
        padding: 7px 10px;
        font-size: 14px;
    }

    .threedbull-config-hero__link,
    .threedbull-config-hero__image,
    .threedbull-config-hero__fallback {
        height: 62vw;
        min-height: 260px;
        max-height: 420px;
    }

    .threedbull-config-hero__overlay {
        padding: 20px 16px;
    }
}
