/* Generated from shared footer/quote sources; do not edit. */
@media (max-width: 640px) {
body.nexa-contact-ready .price-modal-backdrop {
  position: fixed; inset: 0; z-index: 120;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(15, 23, 42, 0.65);
  backdrop-filter: blur(6px);
  opacity: 0; visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
body.nexa-contact-ready .price-modal-backdrop.active {
  opacity: 1; visibility: visible;
}
body.nexa-contact-ready .price-modal-card {
  position: relative; width: 100%; max-width: 500px;
  background: #fff; border-radius: 16px; padding: 28px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: translateY(20px) scale(0.96);
  transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1);
}
body.nexa-contact-ready .price-modal-backdrop.active .price-modal-card {
  transform: translateY(0) scale(1);
}
body.nexa-contact-ready .price-modal-close {
  position: absolute; top: 16px; right: 16px; width: 34px; height: 34px;
  border-radius: 50%; border: 1px solid var(--line); background: var(--paper);
  font-size: 1.1rem; color: var(--muted); cursor: pointer;
  display: grid; place-items: center; transition: background .15s, color .15s;
}
body.nexa-contact-ready .price-modal-close:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
body.nexa-contact-ready .price-modal-header { margin-bottom: 20px; text-align: center; }
body.nexa-contact-ready .price-modal-badge {
  display: inline-block; font-size: .7rem; font-weight: 800;
  color: var(--green-600); text-transform: uppercase; letter-spacing: .08em;
  background: var(--green-50); padding: 4px 10px; border-radius: 4px;
  margin-bottom: 6px;
}
body.nexa-contact-ready .price-modal-title { font-size: 1.35rem; font-weight: 800; color: var(--ink); margin-bottom: 4px; }
body.nexa-contact-ready .price-modal-sub { font-size: .83rem; color: var(--muted); }
body.nexa-contact-ready .price-modal-zalo-option { margin-bottom: 18px; }
body.nexa-contact-ready .btn-modal-zalo {
  display: flex; align-items: center; gap: 14px; padding: 14px 18px;
  background: #0284c7; color: #fff; border-radius: 10px;
  transition: background .15s, transform .15s; text-decoration: none;
}
body.nexa-contact-ready .btn-modal-zalo:hover { background: #0369a1; transform: translateY(-1px); }
body.nexa-contact-ready .btn-modal-zalo .zalo-icon { font-size: 1.6rem; }
body.nexa-contact-ready .btn-modal-zalo div { display: flex; flex-direction: column; flex: 1; text-align: left; }
body.nexa-contact-ready .btn-modal-zalo strong { font-size: 1rem; font-weight: 700; }
body.nexa-contact-ready .btn-modal-zalo small { font-size: .78rem; opacity: .9; font-weight: 400; }
body.nexa-contact-ready .btn-modal-zalo .arrow { font-size: 1.2rem; font-weight: 800; }
body.nexa-contact-ready .price-modal-divider {
  display: flex; align-items: center; text-align: center; margin: 20px 0;
}
body.nexa-contact-ready .price-modal-divider::before, body.nexa-contact-ready .price-modal-divider::after {
  content: ''; flex: 1; border-bottom: 1px solid var(--line);
}
body.nexa-contact-ready .price-modal-divider span {
  padding: 0 12px; font-size: .72rem; font-weight: 700; color: var(--muted);
  letter-spacing: .06em; text-transform: uppercase;
}
body.nexa-contact-ready /* Lead Form in Modal */
.price-modal-form .lead-form-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px;
}
body.nexa-contact-ready .price-modal-form input {
  width: 100%; padding: 11px 14px; border: 1px solid var(--line);
  border-radius: 8px; font-size: .875rem; font-family: inherit;
  background: #fff; color: var(--ink);
}
body.nexa-contact-ready .price-modal-form input:focus {
  outline: none; border-color: var(--green-500); box-shadow: 0 0 0 3px rgb(0 185 95 / 15%);
}
body.nexa-contact-ready .price-modal-form .lead-form-full { margin-bottom: 14px; }
body.nexa-contact-ready .btn-submit-lead {
  width: 100%; min-height: 48px; border: none; border-radius: 8px;
  background: var(--green-500); color: #fff; font-weight: 700; font-size: .95rem;
  transition: background .15s; cursor: pointer;
}
body.nexa-contact-ready .btn-submit-lead:hover { background: var(--green-600); }
body.nexa-contact-ready .lead-form-note {
  font-size: .75rem; color: var(--muted); text-align: center; margin-top: 10px; display: block;
}


.lead-form-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.btn-submit-lead:disabled {
  cursor: wait;
  opacity: .68;
}

}

/* Independent of the page template, including pages without the homepage CSS. */
@media (max-width: 640px) {
body.nexa-contact-ready #price-modal {
  --line: #dce5df; --paper: #f8faf9; --muted: #64746c;
  --ink: #102b35; --green-50: #eef8f1; --green-500: #009957; --green-600: #007d48;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 16px; line-height: 1.5;
}
body.nexa-contact-ready #price-modal,
body.nexa-contact-ready #price-modal * { box-sizing: border-box; }
body.nexa-contact-ready #price-modal .price-modal-card { max-height: calc(100dvh - 32px); overflow-y: auto; }
body.nexa-contact-ready #price-modal .price-modal-title { margin: 0 0 4px; line-height: 1.4; }
body.nexa-contact-ready #price-modal .price-modal-sub { margin: 0; }
body.nexa-contact-ready #price-modal .btn-modal-zalo { color: #fff; }
}
@media (min-width: 641px) {
  #price-modal[data-nexa-quote-fallback] { display: none !important; }
}
body.nexa-contact-ready .nexa-mobile-contact,
body.nexa-contact-ready .nexa-mobile-contact-space,
body.nexa-contact-ready [data-nexa-contact-fallback] { display: none !important; }
@media (max-width: 640px) {
  body.nexa-contact-ready .nexa-mobile-contact {
    position: fixed; inset: auto 0 0; z-index: 100; display: grid !important;
    grid-template-columns: repeat(2,minmax(0,1fr)); box-sizing: border-box;
    margin: 0; padding: 6px 8px calc(6px + env(safe-area-inset-bottom,0px));
    width: 100%; background: #007d48; color: #fff;
    border: 0; border-top: 1px solid #ffffff26; box-shadow: 0 -4px 18px #021e181a;
  }
  body.nexa-contact-ready .nexa-mobile-contact a,
  body.nexa-contact-ready .nexa-mobile-contact button {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 4px; min-width: 0; min-height: 48px; box-sizing: border-box;
    padding: 4px 6px; border: 0; border-radius: 5px;
    background: transparent; color: #fff; text-decoration: none;
    font: 400 12.8px/1.3 "Helvetica Neue", Helvetica, Arial, sans-serif;
    letter-spacing: normal; cursor: pointer;
  }
  body.nexa-contact-ready .nexa-mobile-contact svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  body.nexa-contact-ready .nexa-mobile-contact a:focus-visible,
  body.nexa-contact-ready .nexa-mobile-contact button:focus-visible { outline: 2px solid #fff; outline-offset: -2px; background: #ffffff18; }
  body.nexa-contact-ready .nexa-mobile-contact-space { display: block !important; height: calc(64px + env(safe-area-inset-bottom,0px)); }
  body.nexa-contact-ready .nexa-floating-contact-left,
  body.nexa-contact-ready .floating-zalo-widget { display: none !important; }
  body.nexa-contact-ready .nexa-floating-contact-right.nexa-global-zalo {
    position: fixed; display: flex !important; flex-direction: column; align-items: center;
    bottom: calc(78px + env(safe-area-inset-bottom,0px)) !important;
    right: 10px !important; z-index: 99; gap: 4px;
  }
  body.nexa-contact-ready .nexa-global-zalo .nexa-zalo-icon-box { width: 46px !important; height: 46px !important; border-radius: 50% !important; box-shadow: 0 2px 9px #0068ff22 !important; }
  body.nexa-contact-ready .nexa-global-zalo .nexa-zalo-time-badge { display: inline-block !important; font: 700 10px/1.2 Arial,sans-serif !important; }
  body.nexa-contact-ready.menu-open .nexa-mobile-contact,
  body.nexa-contact-ready:has(#price-modal.active) .nexa-mobile-contact { visibility: hidden; pointer-events: none; }
  body.nexa-contact-ready.menu-open .nexa-floating-contact-right.nexa-global-zalo,
  body.nexa-contact-ready:has(#price-modal.active) .nexa-floating-contact-right.nexa-global-zalo { display: none !important; }
  body.nexa-contact-ready #price-modal { padding: 16px; }
  body.nexa-contact-ready #price-modal .price-modal-card { padding: 26px 20px 22px; }
  body.nexa-contact-ready #price-modal .lead-form-grid { grid-template-columns: 1fr; }
}
