/* Beautiful Buttons – zmienne ustawiane z panelu Elementor na .elementor-widget-blossom_beautiful_buttons .bb-btn-wrap */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap {
    --bb-bg: #111111;
    --bb-bg-hover: #333333;
    --bb-text: #ffffff;
    --bb-text-hover: #ffffff;
    --bb-border: #111111;
    --bb-grad-start: #667eea;
    --bb-grad-end: #764ba2;
    --bb-grad-hover-start: #764ba2;
    --bb-grad-hover-end: #667eea;
    --bb-pad-y: 14px;
    --bb-pad-x: 28px;
    --bb-radius: 8px;
    --bb-border-width: 2px;
    --bb-speed: 0.3s;
    --bb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --bb-shadow-glow: rgba(102, 126, 234, 0.4);
    --bb-icon-gap: 8px;
    --bb-underline-height: 2px;
    --bb-underline-bottom: 0px;
    --bb-icon-disc-size: 2.35em;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--bb-icon-gap);
    padding: var(--bb-pad-top, var(--bb-pad-y)) var(--bb-pad-right, var(--bb-pad-x)) var(--bb-pad-bottom, var(--bb-pad-y)) var(--bb-pad-left, var(--bb-pad-x));
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    line-height: 1;
    text-decoration: none;
    border: var(--bb-border-width) solid transparent;
    border-radius: var(--bb-radius);
    background: var(--bb-bg);
    color: var(--bb-text);
    cursor: pointer;
    overflow: hidden;
    transition: all var(--bb-speed) var(--bb-ease);
    isolation: isolate;
    white-space: normal;
    overflow-wrap: break-word;
    word-break: break-word;
    text-align: center;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn:hover {
    background: var(--bb-bg-hover);
    color: var(--bb-text-hover);
}

/* Efekty hover – wybierane w panelu (Efekt przycisku) */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-none:hover,
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-none:active {
    transform: none;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-lift:hover {
    transform: translateY(-2px);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-lift:active {
    transform: translateY(0);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-lift-more:hover {
    transform: translateY(-4px);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-lift-more:active {
    transform: translateY(0);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-scale-up:hover {
    transform: scale(1.05);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-scale-up:active {
    transform: scale(1);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-scale-down:hover {
    transform: scale(0.97);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-scale-down:active {
    transform: scale(1);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-push:hover {
    transform: translateY(2px);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-push:active {
    transform: translateY(4px);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-float:hover {
    transform: translateY(-2px) scale(1.02);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--effect-float:active {
    transform: translateY(0) scale(1);
}

/* Kształty */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill {
    border-radius: 50px;
    padding: var(--bb-pad-top, var(--bb-pad-y)) calc(var(--bb-pad-right, var(--bb-pad-x)) * 1.4) var(--bb-pad-bottom, var(--bb-pad-y)) calc(var(--bb-pad-left, var(--bb-pad-x)) * 1.4);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--sharp { border-radius: 0; }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--micro {
    padding: calc(var(--bb-pad-top, var(--bb-pad-y)) * 0.6) calc(var(--bb-pad-right, var(--bb-pad-x)) * 0.8) calc(var(--bb-pad-bottom, var(--bb-pad-y)) * 0.6) calc(var(--bb-pad-left, var(--bb-pad-x)) * 0.8);
    font-size: 0.9em;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--macro {
    padding: calc(var(--bb-pad-top, var(--bb-pad-y)) * 1.5) calc(var(--bb-pad-right, var(--bb-pad-x)) * 2) calc(var(--bb-pad-bottom, var(--bb-pad-y)) * 1.5) calc(var(--bb-pad-left, var(--bb-pad-x)) * 2);
    font-size: 1.2em;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--full { width: 100%; display: flex; }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--full.b-btn--full-split-edges { justify-content: space-between; }

/* Warianty – tło normal/hover z panelu (Kolory) */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--ghost {
    background: transparent;
    color: var(--bb-border);
    border-color: var(--bb-border);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--ghost:hover {
    background: var(--bb-bg-hover);
    color: var(--bb-text-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--soft {
    background: var(--bb-bg);
    color: var(--bb-border);
    border-color: transparent;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--soft:hover {
    background: var(--bb-bg-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link {
    background: transparent;
    color: var(--bb-border);
    border: none;
    padding: 4px 0;
    border-radius: 0;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link::after {
    content: '';
    position: absolute;
    bottom: var(--bb-underline-bottom, 0px);
    left: 0;
    width: 0;
    height: var(--bb-underline-height, 2px);
    border-radius: calc(var(--bb-underline-height, 2px) / 2);
    background: var(--bb-underline-color, var(--bb-border));
    transition: width var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link:hover { background: var(--bb-bg-hover); transform: translateX(4px); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link:hover::after { width: 100%; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link-arrow {
    background: transparent;
    color: var(--bb-border);
    border: none;
    padding: 4px 20px 4px 0;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link-arrow::after {
    content: '→';
    position: absolute;
    right: 0;
    opacity: 0;
    transform: translateX(-10px);
    transition: all var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link-arrow:hover { background: var(--bb-bg-hover); transform: translateX(4px); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--link-arrow:hover::after { opacity: 1; transform: translateX(0); }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--underline {
    background: transparent;
    color: var(--bb-border);
    border: none;
    padding: 8px 4px;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--underline::after {
    content: '';
    position: absolute;
    bottom: var(--bb-underline-bottom, 0px);
    left: 50%;
    width: 0;
    height: var(--bb-underline-height, 2px);
    border-radius: calc(var(--bb-underline-height, 2px) / 2);
    background: var(--bb-underline-color, var(--bb-border));
    transform: translateX(-50%);
    transition: width var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--underline:hover { background: var(--bb-bg-hover); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--underline:hover::after { width: 100%; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--slide {
    background: transparent;
    color: var(--bb-border);
    border-color: var(--bb-border);
    z-index: 1;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--slide::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--bb-bg-hover);
    z-index: -1;
    transition: width var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--slide:hover { color: var(--bb-text-hover); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--slide:hover::before { width: 100%; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--expand:hover {
    padding-left: calc(var(--bb-pad-left, var(--bb-pad-x)) * 1.4);
    padding-right: calc(var(--bb-pad-right, var(--bb-pad-x)) * 1.4);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--3d {
    box-shadow: 0 4px 0 0 rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--3d:hover {
    transform: translateY(2px);
    box-shadow: 0 2px 0 0 rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.1);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--3d:active {
    transform: translateY(4px);
    box-shadow: none;
}

/* Gradienty */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient {
    background: linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end));
    border: none;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient:hover {
    background: linear-gradient(135deg, var(--bb-grad-hover-start), var(--bb-grad-hover-end));
    filter: brightness(1.1);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-anim {
    background: linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end), var(--bb-grad-start));
    background-size: 200% 200%;
    animation: bb-grad-shift 3s ease infinite;
    border: none;
}
@keyframes bb-grad-shift {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-anim:hover {
    animation-play-state: paused;
    filter: brightness(1.15);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-border {
    background: var(--bb-bg);
    color: var(--bb-grad-end);
    position: relative;
    z-index: 1;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-border::before {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--bb-border-width));
    background: linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end));
    border-radius: calc(var(--bb-radius) + var(--bb-border-width));
    z-index: -1;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-border:hover { color: var(--bb-grad-end); }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-text {
    background: transparent;
    border: var(--bb-border-width) solid transparent;
    background-image: linear-gradient(white, white), linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end));
    background-origin: border-box;
    background-clip: padding-box, border-box;
    color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-text:hover {
    background: linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end));
    -webkit-background-clip: unset;
    background-clip: unset;
    color: white;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-ghost {
    background: transparent;
    border-color: var(--bb-border);
    color: var(--bb-border);
    position: relative;
    z-index: 1;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-ghost::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, var(--bb-grad-start), var(--bb-grad-end));
    z-index: -1;
    opacity: 0;
    transition: opacity var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-ghost:hover {
    color: white;
    border-color: transparent;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--gradient-ghost:hover::before { opacity: 1; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--mesh {
    background: linear-gradient(135deg, var(--bb-grad-start) 0%, var(--bb-grad-end) 25%, #f093fb 50%, #f5576c 75%, var(--bb-grad-start) 100%);
    background-size: 300% 300%;
    animation: bb-mesh 5s ease infinite;
    border: none;
    color: white;
}
@keyframes bb-mesh {
    0%, 100% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
}

/* Cienie – kolory z panelu (Styl → Kolory → Kolor cienia dla danego typu) */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-sm {
    box-shadow: 0 2px 4px var(--bb-shadow-sm-color, rgba(0,0,0,0.1));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-sm:hover {
    box-shadow: 0 4px 8px var(--bb-shadow-sm-hover-color, rgba(0,0,0,0.12));
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-md {
    box-shadow: 0 4px 12px var(--bb-shadow-md-color, rgba(0,0,0,0.15));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-md:hover {
    box-shadow: 0 8px 24px var(--bb-shadow-md-hover-color, rgba(0,0,0,0.2));
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-lg {
    box-shadow: 0 8px 24px var(--bb-shadow-lg-color, rgba(0,0,0,0.2));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-lg:hover {
    box-shadow: 0 12px 32px var(--bb-shadow-lg-hover-color, rgba(0,0,0,0.25));
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-glow {
    box-shadow: 0 0 20px var(--bb-shadow-glow, rgba(102, 126, 234, 0.4));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-glow:hover {
    box-shadow: 0 0 40px var(--bb-shadow-glow), 0 0 80px var(--bb-shadow-glow);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-inset {
    box-shadow: inset 0 2px 4px var(--bb-shadow-inset-color, rgba(0,0,0,0.1));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-inset:hover {
    box-shadow: inset 0 4px 8px var(--bb-shadow-inset-hover-color, rgba(0,0,0,0.15));
}

/* Cień 3D – własna animacja wciśnięcia */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-3d {
    box-shadow: 0 4px 0 0 var(--bb-shadow-3d-color, rgba(0,0,0,0.3)), 0 2px 4px var(--bb-shadow-3d-soft-color, rgba(0,0,0,0.1));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-3d:hover {
    box-shadow: 0 2px 0 0 var(--bb-shadow-3d-color, rgba(0,0,0,0.3)), 0 2px 4px var(--bb-shadow-3d-soft-color, rgba(0,0,0,0.1));
    transform: translateY(2px);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--shadow-3d:active {
    box-shadow: none;
    transform: translateY(4px);
}

/* Ikony – rozmiar z panelu (Styl → Ikona → Rozmiar ikony) */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    height: 1em;
    padding: var(--bb-icon-pad-top, 0) var(--bb-icon-pad-right, 0) var(--bb-icon-pad-bottom, 0) var(--bb-icon-pad-left, 0);
    font-size: var(--bb-icon-size, 1.1em);
    transition: all var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn__icon svg { width: 100%; height: 100%; fill: currentColor; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-right .b-btn__icon { order: 1; margin-left: 4px; }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-left .b-btn__icon { margin-right: 4px; }

/* 26. Icon in Box – ikona w osobnej ramce */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-box {
    padding: 0;
    gap: 0;
    overflow: hidden;
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-box .b-btn__text {
    padding: var(--bb-pad-top, var(--bb-pad-y)) var(--bb-pad-right, var(--bb-pad-x)) var(--bb-pad-bottom, var(--bb-pad-y)) var(--bb-pad-left, var(--bb-pad-x));
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-box .b-btn__icon-wrap {
    padding: var(--bb-icon-wrap-pad-top, var(--bb-pad-top, var(--bb-pad-y))) var(--bb-icon-wrap-pad-right, calc(var(--bb-pad-right, var(--bb-pad-x)) * 0.7)) var(--bb-icon-wrap-pad-bottom, var(--bb-pad-bottom, var(--bb-pad-y))) var(--bb-icon-wrap-pad-left, calc(var(--bb-pad-left, var(--bb-pad-x)) * 0.7));
    /* Default: use button hover palette */
    background: var(--bb-bg-hover);
    color: var(--bb-text-hover);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    display: flex;
    align-items: center;
    transition: background var(--bb-speed), color var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-box:hover .b-btn__icon-wrap {
    /* On hover: switch to default button palette */
    background: var(--bb-bg);
    color: var(--bb-text);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-box.b-btn--icon-left .b-btn__icon-wrap {
    border-left: none;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-slide.b-btn--icon-right:hover .b-btn__icon { transform: translateX(4px); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-slide.b-btn--icon-left:hover .b-btn__icon { transform: translateX(-4px); }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-bounce:hover .b-btn__icon {
    animation: bb-bounce 0.6s;
}
@keyframes bb-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-6px); }
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-rotate:hover .b-btn__icon { transform: rotate(90deg); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-scale:hover .b-btn__icon { transform: scale(1.3); }
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-float:hover .b-btn__icon { transform: translateX(8px); opacity: 0.8; }

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-spin:hover .b-btn__icon {
    animation: bb-spin 0.6s linear;
}
@keyframes bb-spin {
    to { transform: rotate(360deg); }
}

/* 29. Icon Pulse */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--icon-pulse:hover .b-btn__icon {
    animation: bb-pulse-icon 1s infinite;
}
@keyframes bb-pulse-icon {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

/* 31. Text Slide + Icon Stay – tekst przesuwa się, ikona zostaje */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--text-slide .text-wrap {
    display: inline-flex;
    align-items: center;
    gap: var(--bb-icon-gap);
    transition: transform var(--bb-speed);
}
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--text-slide:hover .text-wrap {
    transform: translateX(4px);
}

/* Pill + ikona w kole: spoczynek = przezroczyste tło, kolorowe koło z białą ikoną + tekst w kolorze akcentu;
   hover = pełne tło (--bb-bg-hover), tekst i ikona białe; koło „wchodzi” w tło (tło koła przezroczyste). */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc {
    background: transparent;
    border-color: transparent;
    color: var(--bb-text);
    border-radius: 50px;
    padding: calc(var(--bb-pad-top, var(--bb-pad-y, 14px)) * 0.9) calc(var(--bb-pad-right, var(--bb-pad-x, 28px)) * 1.15) calc(var(--bb-pad-bottom, var(--bb-pad-y, 14px)) * 0.9) calc(var(--bb-pad-left, var(--bb-pad-x, 28px)) * 1.15);
    gap: var(--bb-icon-gap, 8px);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc:hover,
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc:focus-visible {
    background: var(--bb-bg-hover);
    color: var(--bb-text-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc .b-btn__text {
    color: inherit;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc .b-btn__icon-disc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--bb-icon-disc-size, 2.35em);
    height: var(--bb-icon-disc-size, 2.35em);
    padding: var(--bb-icon-wrap-pad-top, 0) var(--bb-icon-wrap-pad-right, 0) var(--bb-icon-wrap-pad-bottom, 0) var(--bb-icon-wrap-pad-left, 0);
    border-radius: 50%;
    background: var(--bb-bg-hover);
    color: #fff;
    transition: background var(--bb-speed, 0.3s) var(--bb-ease, cubic-bezier(0.4, 0, 0.2, 1)),
        color var(--bb-speed, 0.3s) var(--bb-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc:hover .b-btn__icon-disc,
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc:focus-visible .b-btn__icon-disc {
    background: transparent;
    color: var(--bb-text-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc .b-btn__icon-disc .b-btn__icon {
    margin: 0;
    font-size: var(--bb-icon-size, 1.1em);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc.b-btn--icon-right .b-btn__icon-disc {
    order: 1;
    margin-left: 0;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc.b-btn--icon-left .b-btn__icon-disc {
    margin-right: 0;
}

/* Pill ciemny + kontrastowe koło (np. białe) z ikoną w kolorze tła; tekst po przeciwnej stronie od koła; hover jak w panelu. */
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark {
    background: var(--bb-bg);
    border-color: transparent;
    color: var(--bb-text);
    border-radius: 50px;
    padding: calc(var(--bb-pad-top, var(--bb-pad-y, 14px)) * 0.9) calc(var(--bb-pad-right, var(--bb-pad-x, 28px)) * 1.05) calc(var(--bb-pad-bottom, var(--bb-pad-y, 14px)) * 0.9) calc(var(--bb-pad-left, var(--bb-pad-x, 28px)) * 1.05);
    gap: var(--bb-icon-gap, 10px);
    justify-content: space-between;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark:hover,
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark:focus-visible {
    background: var(--bb-bg-hover);
    color: var(--bb-text-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark .b-btn__text {
    color: inherit;
    flex: 1 1 auto;
    min-width: 0;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark.b-btn--icon-right .b-btn__text {
    text-align: left;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark.b-btn--icon-left .b-btn__text {
    text-align: right;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark .b-btn__icon-disc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: var(--bb-icon-disc-size, 2.35em);
    height: var(--bb-icon-disc-size, 2.35em);
    padding: var(--bb-icon-wrap-pad-top, 0) var(--bb-icon-wrap-pad-right, 0) var(--bb-icon-wrap-pad-bottom, 0) var(--bb-icon-wrap-pad-left, 0);
    border-radius: 50%;
    background: var(--bb-text);
    color: var(--bb-bg);
    transition: background var(--bb-speed, 0.3s) var(--bb-ease, cubic-bezier(0.4, 0, 0.2, 1)),
        color var(--bb-speed, 0.3s) var(--bb-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark:hover .b-btn__icon-disc,
.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark:focus-visible .b-btn__icon-disc {
    background: transparent;
    color: var(--bb-text-hover);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark .b-btn__icon-disc .b-btn__icon {
    margin: 0;
    font-size: var(--bb-icon-size, 1.1em);
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark.b-btn--icon-right .b-btn__icon-disc {
    order: 1;
}

.elementor-widget-blossom_beautiful_buttons .bb-btn-wrap .b-btn--pill-disc-dark.b-btn--full {
    width: 100%;
    display: flex;
}
