.scw-widget,
.scw-widget * {
    box-sizing: border-box;
}
.scw-widget {
    position: fixed;
    top: var(--scw-top, 80px);
    z-index: 99999;
    font-family: Poppins, Arial, sans-serif;
    transition: transform .35s ease;
    touch-action: manipulation;
}
.scw-widget.scw-right { right: 0; }
.scw-widget.scw-left { left: 0; }

/* Closed state — slides mostly off-screen, leaving a small grab tab */
.scw-widget.scw-right.scw-closed {
    transform: translateX(calc(100% - 5px));
}
.scw-widget.scw-left.scw-closed {
    transform: translateX(calc(-100% + 5px));
}

.scw-widget a {
    display: flex;
    align-items: center;
    width: 78px;
    min-height: 84px;
    overflow: hidden;
    background: var(--scw-bg, #fff);
    color: var(--scw-text, #222);
    text-decoration: none;
    box-shadow: 0 8px 28px rgba(0,0,0,.18);
    transition: width .28s ease, background-color .28s ease, color .28s ease;
}
.scw-widget.scw-right a {
    border-radius: 16px 0 0 16px;
    flex-direction: row;
}
.scw-widget.scw-left a {
    border-radius: 0 16px 16px 0;
    flex-direction: row-reverse;
}
.scw-logo {
    width: 78px;
    min-width: 78px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.scw-logo img {
    max-width: 58px;
    max-height: 58px;
    display: block;
}
.scw-content {
    width: 190px;
    min-width: 190px;
    padding: 12px 18px 12px 4px;
    opacity: 0;
    transform: translateX(8px);
    transition: opacity .22s ease, transform .22s ease;
    line-height: 1.2;
}
.scw-left .scw-content {
    padding: 12px 4px 12px 18px;
    transform: translateX(-8px);
}
.scw-name {
    display: block;
    font-weight: 700;
    font-size: 15px;
    white-space: nowrap;
}
.scw-label {
    display: block;
    margin-top: 3px;
    font-weight: 500;
    font-size: 12px;
    white-space: nowrap;
    opacity: .9;
}

/* Desktop only: hover/focus to expand */
@media (min-width: 768px) {
    .scw-widget:hover a,
    .scw-widget:focus-within a {
        width: 268px;
        background: var(--scw-hover, #f26522);
        color: var(--scw-hover-text, #fff);
    }
    .scw-widget:hover .scw-content,
    .scw-widget:focus-within .scw-content {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Mobile */
@media (max-width: 767px) {
    .scw-widget {
        top: var(--scw-top-mobile, 80px);
    }
    .scw-widget a {
        width: 64px;
        min-height: 68px;
    }
    .scw-logo {
        width: 64px;
        min-width: 64px;
        padding: 8px;
    }
    .scw-logo img {
        max-width: 48px;
        max-height: 48px;
    }
    .scw-content {
        width: 166px;
        min-width: 166px;
    }
    /* Peek state: first tap from closed — shows company name before link opens */
    .scw-widget.scw-peek a {
        width: 230px;
        background: var(--scw-hover, #f26522);
        color: var(--scw-hover-text, #fff);
    }
    .scw-widget.scw-peek .scw-content {
        opacity: 1;
        transform: translateX(0);
    }
}
