.ccwb-buttons-wrap{
    display:flex;
    flex-direction:column;
    align-items:center;
}

.ccwb-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    text-decoration:none !important;
    box-shadow:0 8px 24px rgba(0,0,0,.22);
    transition:transform .2s ease, box-shadow .2s ease;
    font-family:inherit;
}

.ccwb-btn:hover{
    transform:translateY(-3px) scale(1.04);
    box-shadow:0 12px 30px rgba(0,0,0,.28);
}

.ccwb-btn svg{ flex-shrink:0; }

.ccwb-label{
    display:none;
    padding-right:6px;
    font-size:13px;
    font-weight:600;
    white-space:nowrap;
}

/* When labels are enabled, buttons become pill-shaped rows instead of pure icon circles */
.ccwb-buttons-wrap:has(.ccwb-label) .ccwb-btn{
    width:auto !important;
    padding:0 18px 0 14px;
    border-radius:999px !important;
}

.ccwb-buttons-wrap:has(.ccwb-label) .ccwb-label{
    display:inline-block;
}

@keyframes ccwbPulseRing{
    0%   { box-shadow:0 0 0 0 rgba(0,0,0,.28); }
    70%  { box-shadow:0 0 0 14px rgba(0,0,0,0); }
    100% { box-shadow:0 0 0 0 rgba(0,0,0,0); }
}

.ccwb-pulse::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    animation:ccwbPulseRing 2.2s cubic-bezier(0.4,0,0.6,1) infinite;
    background:currentColor;
    opacity:.35;
    z-index:-1;
}

@media(max-width:782px){
    .ccwb-hide-mobile{ display:none !important; }
}

@media(min-width:783px){
    .ccwb-hide-desktop{ display:none !important; }
}
