/* Blossom Scroll Rotate — maska łuku (wys. % średnicy), obrót ze scrollem */
.elementor-widget-blossom_scroll_wheel .bwheel {
    --bwheel-d: 280px;
    --bwheel-visible-fr: 0.5;
    --bwheel-rot: 0deg;
    --bwheel-fade-h: 55%;
    --bwheel-fade-color: #000000;
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* --- Szerokość: pełny kontener (bez limitu 600px) --- */
.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--width-container .bwheel__viewport {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / var(--bwheel-visible-fr, 0.5);
}

.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--width-container .bwheel__disc {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
}

/* --- Szerokość: ręczna (średnica z panelu) --- */
.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--width-custom .bwheel__viewport {
    width: var(--bwheel-d);
    height: calc(var(--bwheel-d) * var(--bwheel-visible-fr, 0.5));
}

.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--width-custom .bwheel__disc {
    width: var(--bwheel-d);
    height: var(--bwheel-d);
}

.elementor-widget-blossom_scroll_wheel .bwheel__viewport {
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
    box-sizing: border-box;
}

/* Dolna połowa koła widoczna (łuk od „linii horyzontu” w górę) — domyślnie */
.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--clip-bottom .bwheel__disc {
    left: 50%;
    right: auto;
    top: 0;
    bottom: auto;
    transform: translateX(-50%) rotate(var(--bwheel-rot, 0deg));
}

/* Górna połowa koła widoczna */
.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--clip-top .bwheel__disc {
    left: 50%;
    right: auto;
    top: auto;
    bottom: 0;
    transform: translateX(-50%) rotate(var(--bwheel-rot, 0deg));
}

.elementor-widget-blossom_scroll_wheel .bwheel__disc {
    position: absolute;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    transform-origin: 50% 50%;
    will-change: transform;
    backface-visibility: hidden;
}

.elementor-widget-blossom_scroll_wheel .bwheel__img,
.elementor-widget-blossom_scroll_wheel .bwheel__placeholder {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.elementor-widget-blossom_scroll_wheel .bwheel__placeholder {
    background: linear-gradient(145deg, #2a2a2a, #1a1a1a);
}

.elementor-widget-blossom_scroll_wheel .bwheel__shade {
    pointer-events: none;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: var(--bwheel-fade-h, 55%);
    background: linear-gradient(
        to top,
        var(--bwheel-fade-color, #000) 0%,
        rgba(0, 0, 0, 0) 100%
    );
}

/* Przy górnym łuku gradient zwykle przy dolnej krawędzi maski — to samo */
.elementor-widget-blossom_scroll_wheel .bwheel.bwheel--clip-top .bwheel__shade {
    bottom: 0;
    top: auto;
}

@media (prefers-reduced-motion: reduce) {
    .elementor-widget-blossom_scroll_wheel .bwheel.bwheel--clip-top .bwheel__disc,
    .elementor-widget-blossom_scroll_wheel .bwheel.bwheel--clip-bottom .bwheel__disc {
        transform: translateX(-50%) rotate(0deg) !important;
        will-change: auto;
    }
}
