/* ==========================================================
   SECTION FLOATING CONTACT STYLE
   ========================================================== */

/* 1. CSS CHO NÚT ĐIỆN THOẠI GÓC DƯỚI TRÁI */
.pum-floating-phone {
    position: fixed;
    bottom: 30px;
    left: 40px;
    display: flex;
    align-items: center;
    background: var(--color-primary, #ffffff);
    border: 2px solid #D9C4A8;
    border-radius: 60px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    z-index: 9999;
    text-decoration: none;
    font-family: var(--font-family-base, 'Montserrat', sans-serif);
    padding-right: 5px;
}

.pum-phone-icon {
    background-color: #D2B48C;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: -2px;
    flex-shrink: 0;
}

.pum-phone-icon img {
    width: 22px;
    height: 22px;
    filter: brightness(0) invert(1);
}

.pum-phone-number {
    color: var(--color-text-dark, #1a1a1a);
    font-weight: var(--font-weight-medium, 500);
    font-size: 17px;
    padding: 0 22px 0 14px;
    white-space: nowrap;
    letter-spacing: 0.5px;
    margin: 0;
    font-family: var(--font-family-base, 'Montserrat', sans-serif);
}

/* 2. CSS CHO THANH MENU NỔI BÊN PHẢI */
.right-floating-bar {
    position: fixed;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    background-color: var(--color-accent-gold, #C4A887);
    border-radius: 25px 0 0 25px;
    padding: 25px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 25px;
    z-index: 9998;
}

.right-floating-bar a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 25px;
    height: 25px;
    text-decoration: none;
}

.right-floating-bar a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 3. CSS CHO WIDGET CHAT VÀ FORM GÓC DƯỚI PHẢI */
.chat-widget-container {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 10000;
    font-family: var(--font-family-base, 'Montserrat', sans-serif);
}

/* Khung viền ngoài của nút Chat - Đứng yên */
.chat-icon-btn {
    background-color: var(--color-accent-gold, #C4A887) !important; 
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none !important;
    cursor: pointer;
    outline: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
    padding: 0;
}

.chat-icon-btn:hover,
.chat-icon-btn:focus,
.chat-icon-btn:active {
    background-color: var(--color-accent-gold, #C4A887) !important;
    outline: none !important;
    box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
}

/* Hiệu ứng phóng to thu nhỏ chỉ áp dụng cho Icon bên trong */
.chat-icon-btn img {
    width: 35px;
    height: 35px;
    object-fit: contain;
    animation: zoomInOutChat 1.5s infinite ease-in-out;
}

/* Keyframe hiệu ứng phóng to thu nhỏ */
@keyframes zoomInOutChat {
    0% { transform: scale(1); }
    50% { transform: scale(1.15); }
    100% { transform: scale(1); }
}

/* Form Popup */
.chat-form-popup {
    display: none; 
    position: absolute;
    bottom: 80px;
    right: 0;
    width: 320px;
    background: var(--color-primary, #ffffff);
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1); 
    overflow: hidden;
    border: 1px solid #f0f0f0;
}

.chat-form-popup.active {
    display: block; 
}

/* Bỏ màu nền header */
.chat-form-header {
    background-color: transparent !important;
    height: 30px;
    position: relative;
}

/* Nút Close */
.close-chat-btn {
    position: absolute;
    top: 0;
    right: 5px;
    width: 30px;
    height: 30px;
    background-color: transparent !important;
    border: none !important;
    color: var(--color-text-grey, #888887) !important;
    font-size: 24px;
    font-weight: normal;
    cursor: pointer;
    outline: none !important;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1;
    box-shadow: none !important;
}

.close-chat-btn:hover,
.close-chat-btn:focus,
.close-chat-btn:active {
    background-color: transparent !important;
    color: var(--color-text-dark, #0F0F0F) !important;
    outline: none !important;
    box-shadow: none !important;
}

.chat-form-body {
    padding: 0 20px 20px 20px;
}

.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    font-size: var(--font-size-body-s, 14px);
    font-weight: var(--font-weight-bold, 700);
    color: #555555;
    margin-bottom: 6px;
}

.form-group label span {
    color: #d93025; 
}

.form-group input, 
.form-group textarea {
    width: 100%;
    box-sizing: border-box;
    background-color: #F3F4F6;
    border: none;
    padding: 12px;
    border-radius: 8px;
    font-size: var(--font-size-body-s, 14px);
    color: var(--color-text-dark, #0F0F0F);
    font-family: var(--font-family-base, 'Montserrat', sans-serif);
    outline: none;
}

.form-group input::placeholder, 
.form-group textarea::placeholder {
    color: #999999;
}

.form-group textarea {
    resize: none;
    height: 80px;
}

/* Nút gửi tin nhắn */
.submit-chat-btn {
    width: 100%;
    background-color: var(--color-accent-gold, #C4A887) !important;
    color: var(--color-text-white, #ffffff) !important;
    border: none !important;
    padding: 12px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: var(--font-weight-bold, 700);
    font-family: var(--font-family-base, 'Montserrat', sans-serif);
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    outline: none !important;
    box-shadow: none !important;
}

.submit-chat-btn:hover,
.submit-chat-btn:focus,
.submit-chat-btn:active {
    background-color: var(--color-accent-gold, #C4A887) !important;
    color: var(--color-text-white, #ffffff) !important;
    outline: none !important;
    box-shadow: none !important;
    transform: none !important;
}

/* 4. RESPONSIVE */
@media (max-width: 768px) {
    .pum-floating-phone { bottom: 20px; left: 20px; }
    .pum-phone-icon { width: 58px; height: 58px; }
    .pum-phone-icon img { width: 20px; height: 20px; }
    .pum-phone-number { font-size: 16px; padding: 0 16px 0 10px; }

    .right-floating-bar { padding: 15px 8px; gap: 20px; border-radius: 20px 0 0 20px; }
    .right-floating-bar a { width: 28px; height: 28px; }

    .chat-widget-container { bottom: 20px; right: 20px; }
    .chat-form-popup { width: 280px; right: 0; bottom: 70px; }
}
