.bp-ctc-widget {
    display: none;
    position: fixed;
    bottom: calc(20px + env(safe-area-inset-bottom, 0px));
    width: 56px;
    height: 56px;
}
.bp-ctc-with-hours { bottom: calc(44px + env(safe-area-inset-bottom, 0px)); }
.bp-ctc-button {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--bp-ctc-background, #000000);
    color: var(--bp-ctc-icon, #ffffff);
    text-decoration: none;
    box-shadow: 0 3px 12px rgb(0 0 0 / 20%);
    -webkit-tap-highlight-color: transparent;
}
.bp-ctc-left { left: calc(20px + env(safe-area-inset-left, 0px)); }
.bp-ctc-right { right: calc(20px + env(safe-area-inset-right, 0px)); }
.bp-ctc-left.bp-ctc-with-portrait { left: calc(32px + env(safe-area-inset-left, 0px)); }
.bp-ctc-button:hover, .bp-ctc-button:focus { background: var(--bp-ctc-hover, #1a1a1a); color: var(--bp-ctc-icon, #ffffff); text-decoration: none; }
.bp-ctc-button:focus-visible { outline: 3px solid #2271b1; outline-offset: 4px; }
.bp-ctc-button svg { display: block; width: 24px; height: 24px; flex-shrink: 0; pointer-events: none; }
.bp-ctc-button .bp-ctc-portrait {
    position: absolute;
    left: -12px;
    top: 14px;
    width: 28px;
    height: 28px;
    max-width: none;
    box-sizing: border-box;
    border: 2px solid #fff;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 1px 5px rgb(0 0 0 / 18%);
    pointer-events: none;
}
.bp-ctc-availability {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 3px 6px;
    border-radius: 8px;
    background: #fff;
    color: #374151;
    font: 500 10px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    white-space: nowrap;
    box-shadow: 0 1px 4px rgb(0 0 0 / 12%);
    pointer-events: none;
}
.bp-ctc-availability[hidden] { display: none; }
.bp-ctc-dot { width: 5px; height: 5px; border-radius: 50%; background: #22a35a; flex-shrink: 0; }
@media print { .bp-ctc-widget { display: none !important; } }
