.waq {
  --waq-red: var(--waq-primary, #a50a0a);
  --waq-red-dark: var(--waq-primary-dark, #760707);
  --waq-blue: #0c2e78;
  --waq-ink: #333333;
  --waq-soft: #f4f9fa;
  --waq-line: #dce8eb;
  font-family: Epilogue, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  position: relative;
  z-index: 999999;
}

.waq, .waq *, .waq *::before, .waq *::after { box-sizing: border-box; }
.waq svg { display: block !important; max-width: none !important; margin: 0 !important; }
.waq button, .waq input, .waq select, .waq textarea { font-family: inherit !important; }
.waq button, .waq a { -webkit-tap-highlight-color: transparent; }
.waq button.waq__quote, .waq button.waq__close, .waq button.waq__submit, .waq a.waq__call {
  -webkit-appearance: none !important;
  appearance: none !important;
  text-transform: none !important;
  text-indent: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
  outline-offset: 3px !important;
  text-decoration: none !important;
}

.waq__actions {
  position: fixed !important;
  right: 24px !important;
  bottom: max(24px, env(safe-area-inset-bottom)) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 16px !important;
  width: auto !important;
  z-index: 3 !important;
}
.waq--left .waq__actions { right: auto !important; left: 24px !important; align-items: flex-start !important; }

.waq a.waq__call, .waq a.waq__call:visited {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 62px !important;
  min-width: 62px !important;
  max-width: 62px !important;
  height: 62px !important;
  min-height: 62px !important;
  max-height: 62px !important;
  padding: 0 !important;
  color: #ffffff !important;
  background: linear-gradient(145deg, var(--waq-red), var(--waq-red-dark)) !important;
  background-color: var(--waq-red) !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 999px !important;
  box-shadow: 0 14px 32px rgba(89,12,12,.28), inset 0 1px 0 rgba(255,255,255,.28) !important;
  overflow: visible !important;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
}
.waq a.waq__call::before, .waq a.waq__call::after, .waq__call-ring {
  content: "";
  position: absolute;
  inset: -1px;
  border: 2px solid var(--waq-red);
  border-radius: 999px;
  z-index: -1;
  opacity: .42;
  animation: waq-pulse 2.7s ease-out infinite;
}
.waq a.waq__call::after { animation-delay: .9s; }
.waq__call-ring { animation-delay: 1.8s; }
.waq a.waq__call > svg {
  width: 26px !important;
  min-width: 26px !important;
  height: 26px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  filter: drop-shadow(0 2px 2px rgba(0,0,0,.18));
  animation: waq-phone 5s ease-in-out infinite;
}
.waq__call-label {
  position: absolute !important;
  right: 76px !important;
  top: 50% !important;
  transform: translate(8px,-50%);
  padding: 9px 12px !important;
  color: var(--waq-ink) !important;
  background: #ffffff !important;
  border: 1px solid var(--waq-line) !important;
  border-radius: 9px !important;
  box-shadow: 0 8px 24px rgba(12,46,120,.12) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  opacity: 0;
  pointer-events: none;
  transition: .25s ease;
}
.waq--left .waq__call-label { right: auto !important; left: 76px !important; transform: translate(-8px,-50%); }
.waq a.waq__call:hover, .waq a.waq__call:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(145deg, var(--waq-red), var(--waq-red-dark)) !important;
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 18px 38px rgba(89,12,12,.36), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.waq__call:hover .waq__call-label, .waq__call:focus-visible .waq__call-label { opacity: 1; transform: translate(0,-50%); }

.waq button.waq__quote {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 11px !important;
  width: auto !important;
  min-width: 205px !important;
  max-width: none !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 18px 0 13px !important;
  color: #ffffff !important;
  background: linear-gradient(115deg, var(--waq-red-dark), var(--waq-red) 62%, var(--waq-red-dark)) !important;
  background-color: var(--waq-red) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 14px !important;
  box-shadow: 0 15px 34px rgba(89,12,12,.29), inset 0 1px 0 rgba(255,255,255,.19) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  overflow: hidden !important;
  isolation: isolate;
  transition: transform .25s ease, box-shadow .25s ease;
}
.waq button.waq__quote::before {
  content: "";
  position: absolute;
  inset: -60% -30%;
  background: linear-gradient(105deg,transparent 38%,rgba(255,255,255,.24) 50%,transparent 62%);
  transform: translateX(-70%) rotate(8deg);
  animation: waq-shine 4.8s ease-in-out infinite;
  z-index: -1;
}
.waq button.waq__quote:hover, .waq button.waq__quote:focus-visible {
  color: #ffffff !important;
  background: linear-gradient(115deg, var(--waq-red-dark), var(--waq-red) 62%, var(--waq-red-dark)) !important;
  transform: translateY(-3px);
  box-shadow: 0 20px 42px rgba(89,12,12,.38), inset 0 1px 0 rgba(255,255,255,.22) !important;
}
.waq .waq__quote-text, .waq .waq__submit-text { display: block !important; margin: 0 !important; padding: 0 !important; color: #ffffff !important; background: transparent !important; border: 0 !important; font: inherit !important; line-height: 1 !important; text-transform: none !important; white-space: nowrap !important; }
.waq__quote-icon {
  position: relative !important;
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  min-width: 34px !important;
  height: 34px !important;
  padding: 0 !important;
  background: rgba(255,255,255,.15) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 10px !important;
}
.waq svg.waq__cursor { width: 21px !important; height: 21px !important; fill: #ffffff !important; stroke: #ffffff !important; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; animation: waq-cursor 2.8s ease-in-out infinite; }
.waq svg.waq__spark { position: absolute !important; right: 1px !important; top: 1px !important; width: 12px !important; height: 12px !important; fill: none !important; stroke: #ffffff !important; stroke-width: 2.1; stroke-linecap: round; animation: waq-spark 1.8s ease-in-out infinite; }
.waq svg.waq__arrow { width: 17px !important; height: 17px !important; margin-left: auto !important; fill: none !important; stroke: #ffffff !important; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.waq a.waq__call svg path { fill: #ffffff !important; }
.waq svg.waq__cursor path { fill: #ffffff !important; stroke: #ffffff !important; }
.waq svg.waq__spark path, .waq svg.waq__arrow path, .waq__close svg path, .waq__submit svg path { fill: none !important; stroke: #ffffff !important; }
.waq__quote:hover .waq__arrow { transform: translateX(3px); }

.waq__backdrop { position: fixed; inset: 0; background: rgba(12,23,38,.38); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); z-index: 4; opacity: 0; transition: opacity .28s ease; }
.waq__backdrop.is-visible { opacity: 1; }
.waq__drawer { position: fixed; right: 22px; bottom: 22px; width: min(430px,calc(100vw - 32px)); max-height: calc(100vh - 44px); overflow: auto; color: var(--waq-ink); background: #ffffff; border: 1px solid rgba(165,10,10,.12); border-radius: 20px; box-shadow: 0 30px 80px rgba(12,46,120,.25),0 10px 28px rgba(89,12,12,.12); z-index: 5; opacity: 0; visibility: hidden; transform: translateY(26px) scale(.97); transform-origin: bottom right; transition: opacity .28s ease,transform .28s cubic-bezier(.2,.78,.2,1),visibility .28s; }
.waq--left .waq__drawer { right: auto; left: 22px; transform-origin: bottom left; }
.waq__drawer.is-open { opacity: 1; visibility: visible; transform: none; }
.waq__drawer-top { position: relative; padding: 25px 56px 20px 25px; color: #ffffff; background: linear-gradient(135deg,var(--waq-red-dark),var(--waq-red)); border-radius: 19px 19px 0 0; overflow: hidden; }
.waq__drawer-top::after { content: ""; position: absolute; width: 180px; height: 180px; right: -90px; bottom: -115px; border: 34px solid rgba(255,255,255,.07); border-radius: 50%; }
.waq__eyebrow { display: block; margin: 0 0 7px; font-size: 11px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; opacity: .84; }
.waq__drawer h2 { margin: 0 0 8px; color: #ffffff; font-size: 25px; line-height: 1.2; font-weight: 600; letter-spacing: -.02em; }
.waq__drawer-top p { margin: 0; font-size: 13px; line-height: 1.55; opacity: .86; }
.waq button.waq__close { position: absolute !important; right: 16px !important; top: 16px !important; display: grid !important; place-items: center !important; width: 36px !important; min-width: 36px !important; max-width: 36px !important; height: 36px !important; min-height: 36px !important; max-height: 36px !important; padding: 0 !important; color: #ffffff !important; background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.2) !important; border-radius: 10px !important; box-shadow: none !important; cursor: pointer !important; z-index: 1; transition: .2s ease; }
.waq button.waq__close:hover, .waq button.waq__close:focus-visible { color: #ffffff !important; background: rgba(255,255,255,.22) !important; transform: rotate(5deg); }
.waq__close svg { width: 18px !important; height: 18px !important; fill: none !important; stroke: #ffffff !important; stroke-width: 2; stroke-linecap: round; }

.waq__form { padding: 22px 25px 12px; }
.waq__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.waq__field { display: block; margin: 0 0 13px; }
.waq__field > span { display: block; margin: 0 0 6px; color: #394653; font-size: 12px; font-weight: 700; line-height: 1.35; }
.waq__field b, .waq__consent b { color: var(--waq-red); }
.waq .waq__field input, .waq .waq__field select, .waq .waq__field textarea { width: 100% !important; max-width: none !important; margin: 0 !important; color: var(--waq-ink) !important; background: var(--waq-soft) !important; border: 1px solid var(--waq-line) !important; border-radius: 10px !important; box-shadow: none !important; outline: 0; font-size: 13px !important; font-weight: 400 !important; text-transform: none !important; transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.waq .waq__field input, .waq .waq__field select { height: 44px !important; min-height: 44px !important; padding: 0 12px !important; line-height: 42px !important; }
.waq .waq__field textarea { min-height: 76px !important; padding: 11px 12px !important; resize: vertical; line-height: 1.45 !important; }
.waq__field input::placeholder, .waq__field textarea::placeholder { color: #8a969e !important; opacity: 1; }
.waq .waq__field input:focus, .waq .waq__field select:focus, .waq .waq__field textarea:focus { background: #ffffff !important; border-color: var(--waq-red) !important; box-shadow: 0 0 0 3px rgba(165,10,10,.09) !important; }
.waq__consent { display: flex; align-items: flex-start; gap: 9px; margin: 2px 0 15px; color: #55616c; font-size: 11px; line-height: 1.45; cursor: pointer; }
.waq .waq__consent input { -webkit-appearance: checkbox !important; appearance: checkbox !important; width: 16px !important; min-width: 16px !important; height: 16px !important; margin: 0 !important; flex: 0 0 auto; accent-color: var(--waq-red); }

.waq button.waq__submit { display: flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; width: 100% !important; min-width: 0 !important; max-width: none !important; height: 49px !important; min-height: 49px !important; max-height: 49px !important; padding: 0 18px !important; color: #ffffff !important; background: linear-gradient(115deg,var(--waq-red-dark),var(--waq-red)) !important; border: 0 !important; border-radius: 11px !important; box-shadow: 0 10px 24px rgba(89,12,12,.2) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; cursor: pointer !important; transition: .22s ease; }
.waq button.waq__submit:hover, .waq button.waq__submit:focus-visible { color: #ffffff !important; background: linear-gradient(115deg,var(--waq-red-dark),var(--waq-red)) !important; transform: translateY(-2px); }
.waq button.waq__submit:disabled { cursor: wait !important; opacity: .7; transform: none; }
.waq__submit svg { width: 18px !important; height: 18px !important; fill: none !important; stroke: #ffffff !important; stroke-width: 1.7; stroke-linejoin: round; }
.waq__status { display: none; margin-top: 11px; padding: 10px 12px; border-radius: 9px; font-size: 12px; line-height: 1.45; }
.waq__status.is-success { display: block; color: #155b35; background: #eaf8f0; border: 1px solid #bde8cd; }
.waq__status.is-error { display: block; color: #7f0606; background: #fff0f0; border: 1px solid #f0c6c6; }
.waq__privacy { margin: 10px 0 0; color: #7b8790; font-size: 10px; line-height: 1.4; text-align: center; }
.waq a.waq__drawer-call, .waq a.waq__drawer-call:visited { margin: 0 25px 22px !important; padding: 11px 12px !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important; color: var(--waq-blue) !important; background: var(--waq-soft) !important; border: 1px solid var(--waq-line) !important; border-radius: 10px !important; font-size: 11px !important; line-height: 1.2 !important; text-decoration: none !important; }
.waq__drawer-call svg { width: 15px !important; height: 15px !important; fill: var(--waq-blue) !important; }
.waq__drawer-call strong { font-weight: 700; }
.waq__hp { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(1px,1px,1px,1px) !important; white-space: nowrap !important; }
.waq--no-motion * { animation: none !important; }
.waq--device-mobile { display: none; }

@media (max-width: 767px) {
  .waq--device-mobile { display: block; }
  .waq--device-desktop { display: none; }
  .waq__actions { right: 14px !important; bottom: max(14px,env(safe-area-inset-bottom)) !important; gap: 12px !important; }
  .waq--left .waq__actions { right: auto !important; left: 14px !important; }
  .waq a.waq__call, .waq a.waq__call:visited { width: 56px !important; min-width: 56px !important; max-width: 56px !important; height: 56px !important; min-height: 56px !important; max-height: 56px !important; }
  .waq button.waq__quote { min-width: 188px !important; height: 54px !important; min-height: 54px !important; max-height: 54px !important; }
  .waq__drawer, .waq--left .waq__drawer { left: 10px; right: 10px; bottom: 10px; width: auto; max-height: calc(100dvh - 20px); border-radius: 18px; }
  .waq__drawer-top { padding: 22px 52px 18px 20px; }
  .waq__form { padding: 18px 20px 10px; }
  .waq a.waq__drawer-call { margin: 0 20px 18px !important; }
  .waq__grid { grid-template-columns: 1fr; gap: 0; }
  .waq__call-label { display: none !important; }
}

@keyframes waq-pulse { 0% { opacity:.62; transform:scale(1); } 72%,100% { opacity:0; transform:scale(1.58); } }
@keyframes waq-phone { 0%,82%,100% { transform:rotate(0); } 85% { transform:rotate(-12deg); } 88% { transform:rotate(10deg); } 91% { transform:rotate(-7deg); } 94% { transform:rotate(4deg); } }
@keyframes waq-shine { 0%,45% { transform:translateX(-70%) rotate(8deg); } 70%,100% { transform:translateX(70%) rotate(8deg); } }
@keyframes waq-cursor { 0%,100% { transform:translate(-1px,1px); } 50% { transform:translate(2px,-2px); } }
@keyframes waq-spark { 0%,100% { opacity:.35; transform:scale(.72) rotate(0); } 50% { opacity:1; transform:scale(1) rotate(90deg); } }
@media (prefers-reduced-motion: reduce) { .waq * { scroll-behavior:auto !important; animation:none !important; transition-duration:.01ms !important; } }
