:root {
    --font-primary: Livvic;
    --font-heading: Livvic SemiBold;
    --font-color: #2A3D50;
    --header-font-color: #FFFFFF;
    --btn-bg-color: #2DB742;
    --btn-hover-bg-color: #118D22;
    --bottom-spacing: 10px; 
    --bottom-spacing-chatbox: calc(var(--bottom-spacing) + 70px);
    --right-spacing: 12px;
    --left-spacing: 28px;
    --header-font-size: 21px;
    --offline-color:  #FF8944;
    --button-size: 55px;
    --button-radius: 360px;
    --whatsapp-z-index: 99999;
    --whatsapp-icon-z-index: calc(var(--whatsapp-z-index) - 1);
    --whatapp-breakpoint: 380px;
}
.wa__button, .wa__btn_popup, .wa__popup_chat_box,
.wa__button *, .wa__btn_popup *, .wa__popup_chat_box *,
.wa__btn_popup :before, .wa__button :before, .wa__button :after,
.wa__btn_popup :after, .wa__popup_chat_box :before, .wa__popup_chat_box :after { box-sizing: border-box; }
.pointer-disable { pointer-events: none; }

/* --- POPUP BUTTON --- */
.wa__btn_popup {
  position: fixed;
  bottom: var(--bottom-spacing);
  cursor: pointer;
  z-index: var(--whatsapp-z-index);
}

.wa__btn_popup_icon {
  width: var(--button-size);
  height: var(--button-size);
  background: var(--btn-bg-color);
  border-radius: var(--button-radius);
  box-shadow: 0 6px 8px 2px rgba(0, 0, 0, 0.14);
  position: relative;
}

.wa__btn_popup_icon:before,
.wa__btn_popup_icon:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transition: 0.4s ease all;
}

.wa__btn_popup_icon:before {
  z-index: 1;
  background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiB0ZXh0LXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIiBpbWFnZS1yZW5kZXJpbmc9Im9wdGltaXplUXVhbGl0eSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIHZpZXdCb3g9IjAgMCA1MDkgNTExLjUxNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTQzNC43NjIgNzQuMzM0QzM4Ny41NTMgMjYuODEgMzIzLjI0NSAwIDI1Ni4yMzYgMGgtLjc2OEMxMTUuNzk1LjAwMSAyLjEyMSAxMTMuNjk2IDIuMTIxIDI1My40NTZsLjAwMS4wMTVhMjUzLjUxNiAyNTMuNTE2IDAgMDAzMy45NDIgMTI2LjY3MUwwIDUxMS41MTRsMTM0LjM3My0zNS4yNjlhMjUzLjQxNiAyNTMuNDE2IDAgMDAxMjEuMDUyIDMwLjloLjAwMy4wNTNDMzk1LjQ3MiA1MDcuMTQ1IDUwOSAzOTMuNjE2IDUwOSAyNTMuNjI2YzAtNjcuMjI1LTI2Ljc0Mi0xMzEuNzI3LTc0LjI1Mi0xNzkuMjM3bC4wMTQtLjA1NXpNMjU1LjU1NSA0NjQuNDUzYy0zNy43NTMgMC03NC44NjEtMTAuMjItMTA3LjI5My0yOS40NzlsLTcuNzItNC42MDItNzkuNzQxIDIwLjg4OSAyMS4yMDctNzcuNzI2LTQuOTg0LTcuOTc1Yy0yMS4xNDctMzMuNjA2LTMyLjQxNS03Mi41ODQtMzIuNDE1LTExMi4zMDggMC0xMTYuMzcxIDk0LjM3Mi0yMTAuNzQzIDIxMC43NDEtMjEwLjc0MyA1Ni4wMTEgMCAxMDkuNzU4IDIyLjMwNyAxNDkuMjc3IDYxLjk4YTIxMC45MyAyMTAuOTMgMCAwMTYxLjc0NCAxNDkuMDk1YzAgMTE2LjQ0LTk0LjQwMyAyMTAuODY5LTIxMC44NDQgMjEwLjg2OWguMDI4em0xMTUuNTgzLTE1Ny45MTRjLTYuMzYzLTMuMjAyLTM3LjQ3NC0xOC40NzItNDMuMjQzLTIwLjU5My01Ljc2OS0yLjEyMS0xMC4wMS0zLjIwMi0xNC4zMTUgMy4yMDMtNC4zMDUgNi40MDQtMTYuMzczIDIwLjU5My0yMC4wNjMgMjQuODU1LTMuNjkgNC4yNjMtNy40MDEgNC44MTUtMTMuNjc5IDEuNjEyLTYuMjc4LTMuMjAyLTI2Ljc4Ni05Ljg4My01MC44OTktMzEuNDcyYTE5Mi43NDggMTkyLjc0OCAwIDAxLTM1LjQxMS00My44NjdjLTMuNzEyLTYuMzYzLS40MDQtOS43NzcgMi44Mi0xMi44NzMgMy4yMjQtMy4wOTYgNi4zNjMtNy4zODEgOS40OC0xMS4wOTJhNDEuNTggNDEuNTggMCAwMDYuMzU3LTEwLjU5NyAxMS42NzggMTEuNjc4IDAgMDAtLjUwOC0xMS4wOWMtMS43MTgtMy4xOC0xNC40NDQtMzQuMzU3LTE5LjUzNC00Ny4wNi01LjA5LTEyLjcwMy0xMC4zNy0xMC42MDMtMTQuMjcyLTEwLjkwMS0zLjkwMi0uMjk3LTcuOTExLS4xOS0xMi4wODktLjE5YTIzLjMyMiAyMy4zMjIgMCAwMC0xNi45NjQgNy45MTFjLTUuNzA3IDYuMjk4LTIyLjEgMjEuNjczLTIyLjEgNTIuODQ5czIyLjY3MSA2MS4yNDkgMjUuODUyIDY1LjUzMmMzLjE4MiA0LjI4NCA0NC42NjMgNjguMjI3IDEwOC4yODggOTUuNjQ5IDE1LjA5OSA2LjQ4OSAyNi44OTEgMTAuMzkyIDM2LjA1MyAxMy40MDNhODcuNTA0IDg3LjUwNCAwIDAwMjUuMjE2IDMuNzE4YzQuOTA1IDAgOS44Mi0uNDE2IDE0LjY1LTEuMjM3IDEyLjE3NC0xLjc4MiAzNy40NTMtMTUuMjkxIDQyLjc3Ni0zMC4wNzNzNS4zMDMtMjcuNTcgMy43MTEtMzAuMDkzYy0xLjU5MS0yLjUyNC01LjcwNC00LjM2OS0xMi4wODgtNy42MTVsLS4wMzguMDIxeiIvPjwvc3ZnPg==') center center no-repeat;
  background-size: 30px auto;
}

.wa__btn_popup_icon:after {
  opacity: 0;
  z-index: 2;
  background: transparent url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiNmZmZmZmYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ij48L2xpbmU+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCI+PC9saW5lPjwvc3ZnPg==') center center no-repeat;
  background-size: 26px auto;
  transform: scale(0) rotate(-360deg);
}

.wa__btn_popup.wa__active .wa__btn_popup_icon:before {
  opacity: 0;
  transform: scale(0) rotate(360deg);
}

.wa__btn_popup.wa__active .wa__btn_popup_icon:after {
  opacity: 1;
  transform: scale(1) rotate(0deg);
}

.wa__btn_popup_txt {
  position: absolute;
  width: 156px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #f5f7f9;
  font-family: var(--font-primary);
  font-size: 12px;
  color: #43474e;
  padding: 8px 12px;
  letter-spacing: -0.03em;
  border-radius: 4px;
  transition: 0.4s ease all;
}

.wa__btn_popup.wa__active .wa__btn_popup_txt {
  transform: translateY(-50%) translateX(15px);
  opacity: 0;
  visibility: hidden;
}

/* --- CHAT POPUP BOX --- */
.wa__popup_chat_box {
  width: 328px;
  border-radius: 5px 5px 8px 8px;
  position: fixed;
  bottom: var(--bottom-spacing-chatbox);
  overflow: hidden;
  box-shadow: 0 10px 10px 4px rgba(0, 0, 0, 0.04);
  z-index: var(--whatsapp-icon-z-index);
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: 0.4s ease all;
  max-width: calc(100% - 40px);
}
@media screen and (max-width: val(--whatapp-breakpoint)) {
  .wa__popup_chat_box { width: 100%; }  
}
.wa__popup_chat_box.wa__active { transform: translateY(0); visibility: visible; opacity: 1; }
.wa__popup_heading {
  position: relative;
  padding: 15px 30px 17px 70px;
  color: var(--header-font-color);
  background: var(--btn-bg-color);
}
.wa__popup_heading_img {
  background-size: cover;
  border-radius: 50%;
  display: block;
  width: 45px;
  height: 45px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 13px;
}
.wa__popup_title {
  padding-top: 2px;
  padding-bottom: 3px;
  color: var(--header-font-color);
  font-size: var(--header-font-size);
  line-height: 24px;
  font-family: var(--font-heading);
}
.wa__popup_intro {
  padding-top: 0px;
  font-size: 12px;
  line-height: 20px;
  font-family: var(--font-primary);
  color: var(--header-font-color);
}
.wa__popup_content {
  background: #ffffff;
  padding: 13px 12px 20px 15px;
  text-align: center;
}
.wa__popup_content_left {
  text-align: left;
}
.wa__popup_notice {
  font-size: 12px;
  font-family: var(--font-primary);
  color: #a5abb7;
  font-weight: 500;
  padding: 0 3px;
}

/* --- USER LIST --- */
.wa__popup_content_list {
  max-height: 275px;
  overflow-y: auto;
  padding-right: 4px;
}
.wa__popup_content_item {
  margin: 14px 2px 2px 2px;
}
.wa__popup_content_item a {
  padding: 13px 40px 12px 74px;
  position: relative;
  text-decoration: none;
  display: table;
  width: 100%;
  border-left: 2px solid var(--btn-bg-color);
  background: #f5f7f9;
  border-radius: 5px;
  transition: 0.2s ease all;
}

.wa__popup_content_item a:hover {
  background: #ffffff;
  box-shadow: rgba(0, 0, 0, 0.02) 0px 1px 3px 0px, rgba(27, 31, 35, 0.15) 0px 0px 0px 1px;
  border-left: 0px solid rgba(27, 31, 35, 0.15);
  border-radius: 5px;
}

.wa__popup_avatar {
  position: absolute;
  overflow: hidden;
  border-radius: 50%;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.wa__cs_img_wrap {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px solid var(--btn-bg-color);
  position: relative;
  overflow: hidden;
  transition: border 0.3s ease-in-out;
}
.wa__cs_img_wrap:hover {
  border: 0px solid var(--btn-bg-color);
}

.wa__popup_txt {
  display: table-cell;
  vertical-align: middle;
  min-height: 48px;
}
.wa__member_name {
  font-family: var(--font-primary);
  font-size: 14px;
  color: #363c47;
  line-height: 1rem;
}
.wa__member_duty {
  font-family: var(--font-primary);
  font-size: 12px;
  color: #989b9f;
  padding: 2px 0 0;
  line-height: 1rem;
}
.wa__member_status {
  font-family: var(--font-primary);
  font-size: 0.73rem;
  padding-top: 3px;
}

/* --- STATUSES (ONLINE/OFFLINE) --- */
.wa__stt_offline { pointer-events: none; opacity: 0.9; cursor: not-allowed; }
.wa__stt_online { pointer-events: auto; opacity: 1; cursor: pointer; } 
.wa__stt_offline .wa__member_status { color: var(--offline-color); font-family: var(--font-primary); font-weight: 600; }
.wa__stt_offline .wa__member_name { color: var(--offline-color); }
.wa__stt_offline .wa__cs_img_wrap { border: 2px solid var(--offline-color); }
.wa__stt_online .wa__member_status { color: #2db742; font-family: var(--font-primary); font-weight: 600; }
.wa__popup_content_item .wa__stt_offline { border-left-color: var(--offline-color); }

/* --- POSITIONING --- */
/* Default is right position */
.wa__btn_popup { right: var(--right-spacing); }
.wa__popup_chat_box { right: var(--right-spacing); }
.wa__btn_popup_txt { right: 100%; margin-right: 7px; }

/* Left position styles */
.wa__btn_popup.wa-widget-position--left { left: var(--left-spacing);  right: auto; }
.wa__popup_chat_box.wa-widget-position--left { left: var(--left-spacing); right: auto; }
.wa-widget-position--left .wa__btn_popup_txt { left: 100%; right: auto; margin-left: 7px; margin-right: 0; }

/* Right position styles (explicit) */
.wa__btn_popup.wa-widget-position--right { right: var(--right-spacing); left: auto; }
.wa__popup_chat_box.wa-widget-position--right { right: var(--right-spacing); left: auto; }
.wa-widget-position--right .wa__btn_popup_txt { right: 100%; left: auto; margin-right: 7px; margin-left: 0; }

/* --- ANIMATIONS --- */
@keyframes pulse {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(45, 183, 66, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 15px rgba(45, 183, 66, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(45, 183, 66, 0); }
}
.wa__btn_popup_icon.pulse { animation: pulse 2s infinite; }

@keyframes ripple {
  0% { box-shadow: 0 0 0 0 rgba(45, 183, 66, 0.7); }
  100% { box-shadow: 0 0 0 20px rgba(45, 183, 66, 0); }
}
.wa__btn_popup_icon.ripple { animation: ripple 1.5s infinite; }

/* --- CUSTOM SCROLLBAR --- */
.wa__popup_content_list::-webkit-scrollbar { width: 8px; }
.wa__popup_content_list::-webkit-scrollbar-track { background: rgba(241, 241, 241, 0.521); border-radius: 5px; }
.wa__popup_content_list::-webkit-scrollbar-thumb { background: #2db742; border-radius: 5px; }
.wa__popup_content_list::-webkit-scrollbar-thumb:hover { background: #25a035; }
.wa__popup_content_list { scrollbar-width: thin; scrollbar-color: #2db742 #f1f1f1; }

#nta-wa-gdpr { vertical-align: text-top !important; padding: 0 !important; margin: 0 !important; }
.nta-wa-gdpr {
  font-size: 12px;
  font-family: var(--font-primary);
  padding: 10px 5px;
  margin: 15px -5px -5px;
  border-radius: 4px;
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.nta-wa-gdpr input[type="checkbox"] {
  margin: 2px 0 0 0 !important;
  padding: 0 !important;
  width: 14px !important;
  height: 14px !important;
  min-width: 14px !important;
  min-height: 14px !important;
  flex-shrink: 0;
  cursor: pointer;
}
.nta-wa-gdpr label { margin: 0 !important; padding: 0 !important; cursor: pointer; line-height: 1.3; font-size: 11px; color: #495057; }
.nta-wa-gdpr a { text-decoration: none; color: #2db742; font-weight: 500; }
.nta-wa-gdpr a:hover { color: #25a035; }

/* Highlight when clicking on disabled items */
.nta-wa-gdpr-highlight {
  background: #ffebee !important;
  color: #c62828 !important;
  padding: 5px !important;
  border-radius: 4px !important;
  border: 1px solid #ffcdd2 !important;
  transition: all 0.3s ease;
}
.pointer-disable {
  pointer-events: none;
  opacity: 0.6;
}