/* ==========================================================================
   Right-hand floating customer-service bar for busbarglobal.com
   Layout/behaviour mirrors busbarmachine.co.nz / busbarcnc.com (kefu.css).
   ========================================================================== */
.sideBar { position: fixed; right: 0; top: 38%; transform: translateY(-50%); z-index: 998; }

.side1 {
    width: 50px; height: 150px; background: #0b3d6e; text-align: center;
    transition: all 0.5s; display: flex; align-items: center; justify-content: center;
}
.side1 a, .side1 img, .side1 i, .side1 span { display: block; }
.side1 img { margin: 0 auto; }
.side1 i { margin: 10px auto; width: 1px; height: 0px; background: #fff; transition: all 0.5s ease; }

.sideBar .icon {
    font-size: 16px; width: 25px; height: 25px; margin-right: 3px; font-style: normal;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
    vertical-align: middle; margin-top: -3px; fill: #ffffff;
}
.side1 span {
    color: #fff; font-size: 14px; writing-mode: vertical-lr;
    margin: 0 auto; letter-spacing: 2px;
}
.side1:hover { background: #e8a33d; }

.side { height: 50px; position: absolute; transition: all 0.5s; }
.side a { display: block; height: 50px; font-size: 0; }
.side i, .side span { display: inline-block; vertical-align: middle; height: 100%; line-height: 50px; }
.side i { width: 50px; text-align: center; background: #0b3d6e; transition: all 0.3s; }
.side span {
    text-align: center; line-height: 50px; background: #333333; font-size: 13px;
    color: #fff; transition: all 1s; white-space: nowrap;
}

.side2 { right: -150px; width: 200px; top: 151px; }
.side2 span { width: 150px; }
.side3 { right: -200px; width: 250px; top: 202px; }
.side3 span { width: 200px; }
.side4 { right: -150px; width: 200px; top: 253px; }
.side4 span { width: 150px; }
.side5 { right: -120px; width: 170px; top: 304px; cursor: pointer; }
.side5 span { width: 120px; }
.side6 { right: -120px; width: 170px; top: 355px; cursor: pointer; }
.side6 span { width: 120px; }
.side7 { right: -90px; width: 140px; top: 406px; cursor: pointer; }
.side7 span { width: 90px; }

/* QR popups: right-aligned to the viewport edge so a 200px code never overflows */
.qcodePic {
    width: 214px; position: absolute; top: 50px; right: 0; left: auto; display: none; z-index: 99;
    padding: 6px 0; text-align: center; background: #fff; border: 1px solid #e5e5e5;
    box-shadow: 0 3px 12px rgba(0, 0, 0, .16);
}
.qcodePic img { width: 200px; height: 200px; display: block; margin: 0 auto; object-fit: contain; }

.side:hover .qcodePic { display: block; }
.side:hover { right: 0; z-index: 99; }
.side:hover i { background: #e8a33d; }
.side:hover span { background: #0b3d6e; }

/* QR pair used in footer / contact blocks */
.qr-pair { display: flex; gap: 14px; margin-top: 8px; }
.qr-item { text-align: center; }
.qr-item .qr { display: block; border: 1px solid var(--border, #dfe6ee); border-radius: 6px; padding: 3px; }
.qr-item span { display: block; font-size: 12px; color: var(--muted, #5f6b76); margin-top: 4px; }

@media (max-width: 680px) {
    .sideBar { top: auto; bottom: 0; transform: none; right: 0; }
    .side1 { display: none; }
    .side { position: static; display: inline-block; }
    .side2, .side3, .side4, .side5, .side6, .side7 { right: 0; width: auto; }
    .side span { display: none; }
    .side i { width: 44px; }
    .sideBar { display: flex; }
    .qcodePic { top: auto; bottom: 50px; width: 214px; right: 0; }
}
