/* ── Total Tools: Branch Status Badge ─────────────────────────── */

.tt-status-wrapper {
    display: inline-flex;
    flex-direction: column;
    gap: 4px;
}

.tt-status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 14px;
    border: 1.5px solid currentColor;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: opacity 0.2s ease;
}

/* Pulsing dot */
.tt-status-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: currentColor;
    flex-shrink: 0;
}

.tt-status-badge.tt-open .tt-status-dot {
    animation: tt-pulse 2s infinite;
}

@keyframes tt-pulse {
    0% {
        opacity: 1;
        transform: scale(1);
    }

    50% {
        opacity: 0.4;
        transform: scale(0.7);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Open state defaults */
.tt-status-badge.tt-open {
    color: #008080;
    border-color: #008080;
    background-color: transparent;
}

/* Closed state defaults */
.tt-status-badge.tt-closed {
    color: #cc3333;
    border-color: #cc3333;
    background-color: transparent;
}

.tt-status-badge.tt-closed .tt-status-dot {
    opacity: 0.6;
}

/* "Opens Mon 9:00" sub-label (when closed) */
.tt-next-open {
    display: block;
    font-size: 11px;
    color: #888;
    padding-left: 2px;
    font-weight: 400;
}

/* "Closes in Xh Ym" live countdown (when open) */
.tt-closes-countdown {
    display: block;
    font-size: 11px;
    color: #008080;
    padding-left: 2px;
    font-weight: 400;
    opacity: 0.8;
}