/* ============================================
   Floating Call Button — style.css
   ============================================ */

.fcb-wrapper {
    position: fixed;
    bottom: 28px;
    left: 28px;
    z-index: 99999;
    display: flex;
    align-items: center;
}

.fcb-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    min-width: 62px;
    min-height: 62px;
    border-radius: 50% !important;
    overflow: hidden;
    text-decoration: none;
    position: relative;
    box-shadow: 0 4px 18px rgba(0,0,0,.32), 0 1px 4px rgba(0,0,0,.18);
    transition: transform 0.22s cubic-bezier(.34,1.56,.64,1), box-shadow 0.22s ease;
    outline: none;
    padding: 0;
    background: transparent;
}

/* Halo pulse */
.fcb-button::before {
    content: '';
    position: absolute;
    inset: -6px;
    border-radius: 50%;
    background: rgba(30, 30, 30, 0.20);
    animation: fcb-pulse 2.4s ease-out infinite;
    pointer-events: none;
    z-index: -1;
}

@keyframes fcb-pulse {
    0%   { transform: scale(1);   opacity: .7; }
    70%  { transform: scale(1.55); opacity: 0; }
    100% { transform: scale(1.55); opacity: 0; }
}

.fcb-button:hover {
    transform: scale(1.10);
    box-shadow: 0 8px 28px rgba(0,0,0,.38), 0 2px 8px rgba(0,0,0,.20);
}

.fcb-button:hover .fcb-tooltip {
    opacity: 1;
    transform: translateX(0) translateY(-50%);
    pointer-events: auto;
}

.fcb-button:focus-visible {
    outline: 3px solid #1a73e8;
    outline-offset: 4px;
}

/* Icône — parfaitement ronde */
.fcb-icon {
    width: 62px;
    height: 62px;
    min-width: 62px;
    min-height: 62px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    user-select: none;
}

/* Tooltip */
.fcb-tooltip {
    position: absolute;
    left: calc(100% + 14px);
    top: 50%;
    transform: translateX(-8px) translateY(-50%);
    background: #1c1c1e;
    color: #fff;
    font-family: -apple-system, 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    padding: 7px 14px;
    border-radius: 8px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.18s ease, transform 0.18s ease;
    box-shadow: 0 2px 10px rgba(0,0,0,.22);
}

.fcb-tooltip::before {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border: 6px solid transparent;
    border-right-color: #1c1c1e;
}

/* Responsive mobile */
@media (max-width: 480px) {
    .fcb-wrapper { bottom: 18px; left: 18px; }
    .fcb-button  { width: 54px; height: 54px; min-width: 54px; min-height: 54px; }
    .fcb-icon    { width: 54px; height: 54px; }
    .fcb-tooltip { display: none; }
}
