/* In Tranh Dep: slightly larger footer copy and click-to-open contact panel. */
body .dq-footer,
body.home .dq-footer {
    font-size: 17px;
}

body .dq-footer h3,
body.home .dq-footer h3 {
    font-size: 20px;
}

body .dq-footer-menu li,
body.home .dq-footer-menu li {
    margin-bottom: 12px;
}

body .dq-copyright,
body.home .dq-copyright {
    font-size: 15px;
}

.dq-floating-contact--support_panel {
    right: max(22px, env(safe-area-inset-right));
    bottom: calc(22px + env(safe-area-inset-bottom));
}

.dq-floating-contact--support_panel .dq-floating-contact__toggle {
    display: flex;
    width: 64px;
    height: 64px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 50%;
    background: #087270;
    box-shadow: 0 8px 22px rgba(6, 48, 57, .24);
    transition: transform .2s ease, background-color .2s ease;
}

.dq-floating-contact--support_panel .dq-floating-contact__toggle:hover {
    background: #065f5d;
    transform: translateY(-2px);
}

.dq-floating-contact--support_panel .dq-floating-contact__toggle svg {
    width: 25px;
    height: 25px;
}

.dq-floating-contact--support_panel .dq-floating-contact__toggle > span {
    font-size: 0;
    line-height: 1;
}

.dq-floating-contact--support_panel .dq-floating-contact__toggle > span::after {
    content: "Liên hệ";
    font-size: 10px;
    font-weight: 600;
}

.dq-floating-contact--support_panel.is-open .dq-floating-contact__toggle svg {
    display: none;
}

.dq-floating-contact--support_panel.is-open .dq-floating-contact__toggle > span::after {
    content: "\00d7";
    font-size: 40px;
    font-weight: 300;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel {
    bottom: 76px;
    width: min(318px, calc(100vw - 28px));
    padding: 0;
    overflow: hidden;
    border: 1px solid #e2e6ea;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(16, 35, 52, .22);
}

.dq-floating-contact--support_panel.is-open .dq-floating-contact__panel {
    animation: dq-contact-panel-in .18s ease-out both;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__item {
    gap: 14px;
    min-height: 65px;
    padding: 10px 14px;
    border-bottom: 1px solid #e5e8ec;
    color: #18243a;
    background: #fff;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__item:last-child {
    border-bottom: 0;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    background: var(--dq-active-color);
    color: #fff;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--dq-active-color) 30%, transparent);
}

.dq-floating-contact--support_panel .dq-floating-contact__item--phone { --dq-active-color: #ef3340; }
.dq-floating-contact--support_panel .dq-floating-contact__item--zalo { --dq-active-color: #1976f3; }
.dq-floating-contact--support_panel .dq-floating-contact__item--map { --dq-active-color: #f7b733; }

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__icon svg {
    width: 23px;
    height: 23px;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__zalo {
    color: #fff;
    font-size: 11px;
    letter-spacing: -.4px;
}

.dq-floating-contact--support_panel .dq-floating-contact__panel .dq-floating-contact__copy strong {
    color: #18243a;
    font-size: 16px;
    font-weight: 500;
}

@keyframes dq-contact-panel-in {
    from { opacity: 0; transform: translateY(8px) scale(.98); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 600px) {
    body .dq-footer,
    body.home .dq-footer {
        font-size: 15px;
    }

    body .dq-footer h3,
    body.home .dq-footer h3 {
        font-size: 18px;
    }

    body .dq-copyright,
    body.home .dq-copyright {
        font-size: 13px;
    }

    .dq-floating-contact--support_panel {
        right: max(12px, env(safe-area-inset-right));
        bottom: calc(14px + env(safe-area-inset-bottom));
    }

    .dq-floating-contact--support_panel .dq-floating-contact__toggle {
        width: 58px;
        height: 58px;
    }

    .dq-floating-contact--support_panel .dq-floating-contact__panel {
        right: 0;
        bottom: 70px;
        width: min(318px, calc(100vw - 24px));
    }
}

@media (prefers-reduced-motion: reduce) {
    .dq-floating-contact--support_panel.is-open .dq-floating-contact__panel {
        animation: none;
    }
}
