/* Nut lien he noi — Dodo Theme. Doi mau: dat lai --dodo-cb-* trong CSS cua giao dien. */
.dodo-cb {
    --dodo-cb-color: #5b4636;
    --dodo-cb-text: #fff;
    --dodo-cb-phone: #2e7d32;
    position: fixed;
    z-index: 990;
    bottom: var(--dodo-cb-bottom, 24px);
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    line-height: 1.3;
}

.dodo-cb--right { right: var(--dodo-cb-side, 24px); align-items: flex-end; }
.dodo-cb--left { left: var(--dodo-cb-side, 24px); align-items: flex-start; }

.dodo-cb__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.dodo-cb--right .dodo-cb__list { align-items: flex-end; }

.dodo-cb.is-collapsed .dodo-cb__list { display: none; }

.dodo-cb__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--dodo-cb-text);
    text-decoration: none;
}

.dodo-cb--right .dodo-cb__item { flex-direction: row-reverse; }

.dodo-cb__icon,
.dodo-cb__toggle {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    flex: none;
    border-radius: 50%;
    background: var(--dodo-cb-color);
    color: var(--dodo-cb-text);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .2);
}

.dodo-cb__icon img { width: 28px; height: 28px; object-fit: contain; }
.dodo-cb__item--phone .dodo-cb__icon { background: var(--dodo-cb-phone); }
.dodo-cb__item--zalo .dodo-cb__icon { background: #0068ff; }
.dodo-cb__item--messenger .dodo-cb__icon { background: #0084ff; }
.dodo-cb__zalo-text { fill: #0068ff; }

.dodo-cb__label {
    padding: 6px 12px;
    border-radius: 999px;
    background: rgba(30, 27, 24, .88);
    white-space: nowrap;
}

.dodo-cb__toggle {
    border: 0;
    padding: 0;
    cursor: pointer;
}

.dodo-cb__item:focus-visible .dodo-cb__icon,
.dodo-cb__toggle:focus-visible {
    outline: 3px solid #c9a227;
    outline-offset: 2px;
}

/* Vong song quanh nut goi dien: chi chay 3 vong roi dung (WCAG 2.2.2 — khong lap vo han), tat khi giam chuyen dong */
.dodo-cb__item--phone .dodo-cb__icon { position: relative; }

@media (prefers-reduced-motion: no-preference) {
    .dodo-cb__item--phone .dodo-cb__icon::after {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 50%;
        border: 2px solid var(--dodo-cb-phone);
        opacity: 0;
        animation: dodo-cb-ring 1.8s ease-out 3;
    }
}

@keyframes dodo-cb-ring {
    from { transform: scale(1); opacity: .8; }
    to { transform: scale(1.6); opacity: 0; }
}

/* Dien thoai: chi hien icon, chu an (van doc duoc boi trinh doc man hinh) */
@media (max-width: 767px) {
    .dodo-cb--no-mobile { display: none; }
    .dodo-cb__label {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

@media (min-width: 768px) {
    .dodo-cb--no-desktop { display: none; }
}

/* Gọn (design có khu liên hệ riêng — B5 M5): ≥768 chỉ icon 44px, chữ hiện dạng nhãn nổi khi hover/focus; không đẩy
   nội dung, không có nhãn dài che chữ. Trình đọc màn hình vẫn đọc nhãn (opacity, không display:none). */
@media (min-width: 768px) {
    .dodo-cb--compact { gap: 8px; }
    .dodo-cb--compact .dodo-cb__list { gap: 8px; }
    .dodo-cb--compact .dodo-cb__icon,
    .dodo-cb--compact .dodo-cb__toggle { width: 44px; height: 44px; box-shadow: 0 2px 8px rgba(0, 0, 0, .18); }
    .dodo-cb--compact .dodo-cb__icon svg { width: 20px; height: 20px; }
    .dodo-cb--compact .dodo-cb__item { position: relative; }
    .dodo-cb--compact .dodo-cb__label {
        position: absolute;
        top: 50%;
        right: calc(100% + 8px);
        transform: translateY(-50%);
        opacity: 0;
        pointer-events: none;
        transition: opacity .15s ease;
    }
    .dodo-cb--compact.dodo-cb--left .dodo-cb__label { right: auto; left: calc(100% + 8px); }
    .dodo-cb--compact .dodo-cb__item:hover .dodo-cb__label,
    .dodo-cb--compact .dodo-cb__item:focus-visible .dodo-cb__label { opacity: 1; }
}

@media print {
    .dodo-cb { display: none; }
}

/* I4 / R2-2, I5 / R3-1: ở 768–1279px chế độ gọn thu về 1 nút tròn (JS). Design dùng class body .dodo-has-cb-compact để chừa chỗ
   cho nội dung sát mép phải phía dưới (vd D01: link "Bước tiếp"). */
/* I5 / R3-1: khi thu gọn ở 768–1279px, nút tròn nhỏ hơn và sát mép để nằm trong lề phải của nội dung (lề ≥ 5vw như D01)
   — không đè chữ căn phải khi cuộn. Mở ra (do người dùng bấm) thì về vị trí cài đặt. */
@media (min-width: 768px) and (max-width: 1279px) {
    .dodo-cb--right.dodo-cb--compact.is-collapsed { right: 8px; bottom: 16px; }
    .dodo-cb--left.dodo-cb--compact.is-collapsed { left: 8px; bottom: 16px; }
    .dodo-cb--compact.is-collapsed .dodo-cb__toggle { width: 40px; height: 40px; }
}
@media (min-width: 768px) and (max-width: 959px) {
    .dodo-cb--right.dodo-cb--compact.is-collapsed { right: 2px; }
    .dodo-cb--left.dodo-cb--compact.is-collapsed { left: 2px; }
    .dodo-cb--compact.is-collapsed .dodo-cb__toggle { width: 36px; height: 36px; }
}
