/* Avada's own "to top" control sat in the bottom-left corner, which now belongs to
   the ask tab. To switch it off permanently: Avada Theme Options > Extras > To Top (mobile). */
.to-top-container,#toTop{display:none!important}

/* =====================================================================
   SweBend - Ask an engineer (trial on staging)
   Panel, in-content rows, end-cap and floating tab. Everything is scoped
   under .swb-ask, .swb-ask-row, .swb-ask-endcap, .swb-ask-btn and
   .swb-ask-fab. Tokens follow the Web Design System (s28 form, s34 FAQ,
   s47 inline CTA). Yellow is used for the Send button and the focus ring only.
   ===================================================================== */

.swb-ask,.swb-ask-row,.swb-ask-endcap,.swb-ask-fab{
  --swa-green:#1D837D;
  --swa-yellow:#F9EC4B;
  --swa-steel:#0F2E4C;
  --swa-iron:#101820;
  --swa-body:#3C4658;
  --swa-soft:#5F6B7A;
  --swa-line:#E4E7EC;
  --swa-field:#C9D0DA;
  --swa-mist:#F1F3F6;
  --swa-err:#C4453B;
  --swa-display:"SWB Bebas Neue","Bebas Neue","Arial Narrow",sans-serif;
  --swa-text:"SWB Poppins","Poppins","Helvetica Neue",Arial,sans-serif;
  --swa-ease:cubic-bezier(.22,.61,.36,1);
}

/* ---------- In-content triggers ---------- */
a.swb-ask-btn{
  display:inline-flex!important;align-items:center;justify-content:center;
  min-height:44px;margin:0!important;padding:.6rem 1.4rem;
  border:1.6px solid #1D837D!important;border-radius:40px;
  background:#fff!important;color:#1D837D!important;box-shadow:none;
  font-family:"SWB Poppins","Poppins","Helvetica Neue",Arial,sans-serif;font-weight:500!important;font-size:.78rem;line-height:1.2;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;text-align:center;cursor:pointer;
  transition:background .25s,color .25s,border-color .25s;
}
a.swb-ask-btn:hover{background:#1D837D!important;color:#fff!important}
a.swb-ask-btn--plain{border-color:#0F2E4C!important;color:#0F2E4C!important}
a.swb-ask-btn--plain:hover{background:#0F2E4C!important;color:#fff!important}
a.swb-ask-btn:focus-visible,.swb-ask-fab:focus-visible{outline:2px solid #F9EC4B;outline-offset:2px}

.swb-ask-row{
  display:flex;align-items:center;justify-content:space-between;gap:1.8rem;
  margin:2rem 0 0;padding:1.15rem 0;
  border-top:1px solid var(--swa-line);border-bottom:1px solid var(--swa-line);
  font-family:var(--swa-text);text-align:left;
}
.swb-ask-row p.swb-ask-row__line{
  margin:0;max-width:60ch;font-size:.95rem;font-weight:500;line-height:1.6;color:var(--swa-iron);
}
.swb-ask-row a.swb-ask-btn{flex:0 0 auto}

.swb-ask-endcap{
  display:flex;align-items:center;justify-content:space-between;gap:1.4rem 1.8rem;flex-wrap:wrap;
  margin:2rem 0 0;padding:1.15rem 0;
  border-top:1px solid var(--swa-line);border-bottom:1px solid var(--swa-line);
  font-family:var(--swa-text);text-align:left;
}
.swb-ask-endcap p.swb-ask-endcap__line{margin:0;font-size:.95rem;font-weight:500;line-height:1.6;color:var(--swa-iron)}
.swb-ask-endcap__btns{display:flex;flex-wrap:wrap;gap:.8rem}

@media (max-width:860px){
  .swb-ask-row{flex-direction:column;align-items:flex-start;gap:1rem}
  .swb-ask-endcap{flex-direction:column;align-items:flex-start}
}

/* ---------- Floating tab ---------- */
a.swb-ask-fab{
  position:fixed;right:16px;bottom:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:99990;
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;
  border-radius:999px;background:#1D837D;color:#fff!important;border:0;box-shadow:0 10px 24px -10px rgba(16,24,32,.55);
  font-family:"SWB Poppins","Poppins","Helvetica Neue",Arial,sans-serif;font-weight:500;font-size:.78rem;line-height:1;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none!important;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .25s,transform .25s,visibility 0s linear .25s,background .2s;
}
a.swb-ask-fab.is-visible{opacity:1;visibility:visible;transform:none;transition-delay:0s}
a.swb-ask-fab:hover{background:#176b66}

/* ---------- Dialog ---------- */
html.swb-ask-lock{overflow:hidden;padding-right:var(--swb-ask-sw,0)}
/* html alone leaves body scrollable (second scrollbar) and the fixed header widens into the freed gutter. */
html.swb-ask-lock body{overflow:hidden}
html.swb-ask-lock .s-nav{right:var(--swb-ask-sw,0)}

.swb-ask{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;
  visibility:hidden;opacity:0;pointer-events:none;
  transition:opacity .2s var(--swa-ease),visibility 0s linear .2s;
  font-family:var(--swa-text);font-weight:300;font-size:16px;line-height:1.6;letter-spacing:normal;
  color:var(--swa-body);text-align:left;
}
html:not(.swb-ask-js) .swb-ask:target,.swb-ask.is-open{visibility:visible;opacity:1;pointer-events:auto;transition-delay:0s}
.swb-ask,.swb-ask *,.swb-ask *::before,.swb-ask *::after{box-sizing:border-box}
.swb-ask__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;display:block;background:rgba(16,24,32,.58);border:0}

.swb-ask__sheet{
  position:absolute;left:0;right:0;bottom:0;
  max-height:92vh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  background:#fff;border-radius:16px 16px 0 0;padding:0 16px calc(24px + env(safe-area-inset-bottom));
  transform:translateY(28px);transition:transform .3s var(--swa-ease);
}
html:not(.swb-ask-js) .swb-ask:target .swb-ask__sheet,.swb-ask.is-open .swb-ask__sheet{transform:none}

.swb-ask__bar{
  position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;
  min-height:60px;margin:0 -16px;padding:6px 8px 6px 16px;background:#fff;
}
.swb-ask__kicker{
  display:inline-flex;align-items:center;gap:.55rem;
  font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--swa-green);
}
.swb-ask__kicker::before{content:"";width:10px;height:10px;background:var(--swa-yellow);flex:none}
.swb-ask a:focus-visible,.swb-ask button:focus-visible{outline:2px solid #F9EC4B;outline-offset:2px}
.swb-ask a.swb-ask__close{
  display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;
  background:var(--swa-mist);color:var(--swa-iron);font-size:30px;line-height:1;text-decoration:none;border:0;
}
.swb-ask a.swb-ask__close:hover{background:var(--swa-line)}
.swb-ask a.swb-ask__close-foot{
  display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:8px;
  font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--swa-steel);text-decoration:none;
}

@media (min-width:860px){
  .swb-ask__sheet{
    top:50%;left:50%;right:auto;bottom:auto;width:min(560px,calc(100% - 32px));
    max-height:90vh;max-height:90dvh;border-radius:14px;padding:0 28px 28px;
    transform:translate(-50%,calc(-50% + 18px));
  }
  html:not(.swb-ask-js) .swb-ask:target .swb-ask__sheet,.swb-ask.is-open .swb-ask__sheet{transform:translate(-50%,-50%)}
  .swb-ask__bar{margin:0 -28px;padding:8px 12px 8px 28px}
  .swb-ask a.swb-ask__close-foot{display:none}
}

/* ---------- Panel body (also used inline) ---------- */
.swb-ask-wrap{padding-top:4px}
.swb-ask .swb-ask__title,.swb-ask-wrap .swb-ask__title{
  margin:6px 0 12px;padding:0;font-family:var(--swa-display);font-weight:700;font-size:clamp(2rem,8vw,2.6rem);
  line-height:1;letter-spacing:.02em;text-transform:uppercase;color:var(--swa-iron);
}
.swb-ask-wrap .swb-ask__lead{margin:0 0 16px;font-size:.95rem;line-height:1.6;color:var(--swa-body)}

.swb-ask-wrap .swb-ask__ctx{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px;font-size:.85rem}
.swb-ask__ctx-text{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:40px;
  background:var(--swa-mist);color:var(--swa-body);
}
.swb-ask__ctx-name{margin-left:.3em;font-weight:500;color:var(--swa-iron)}
.swb-ask-wrap button.swb-ask__ctx-change{
  min-height:44px;padding:0 12px;border:0;background:none;cursor:pointer;
  font:500 .78rem/1 var(--swa-text);letter-spacing:.1em;text-transform:uppercase;color:var(--swa-green);text-decoration:underline;
}
.swb-ask-wrap select.swb-ask__ctx-sel{flex:1 1 220px}

.swb-ask__label,.swb-ask-wrap legend.swb-ask__label{
  display:block;margin:0 0 6px;padding:0;
  font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--swa-body);
}

/* FAQ rows (s34 feel) */
.swb-ask__faq{margin:0 0 24px}
.swb-ask__faqlist{border-bottom:1px solid var(--swa-line)}
.swb-ask-wrap details.swb-ask__faq-item{border-top:1px solid var(--swa-line);margin:0;padding:0;background:none}
.swb-ask-wrap details.swb-ask__faq-item>summary{
  display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:8px 0;
  list-style:none;cursor:pointer;font-size:.92rem;font-weight:500;line-height:1.4;color:var(--swa-iron);
}
.swb-ask-wrap details.swb-ask__faq-item>summary::-webkit-details-marker{display:none}
.swb-ask-wrap details.swb-ask__faq-item>summary::marker{content:""}
.swb-ask-wrap details.swb-ask__faq-item>summary::after{
  content:"";flex:none;width:18px;height:18px;transition:transform .3s var(--swa-ease);
  background:
    linear-gradient(var(--swa-green),var(--swa-green)) center/18px 2.5px no-repeat,
    linear-gradient(var(--swa-green),var(--swa-green)) center/2.5px 18px no-repeat;
}
.swb-ask-wrap details.swb-ask__faq-item[open]>summary::after{transform:rotate(45deg)}
.swb-ask-wrap details.swb-ask__faq-item>summary:hover{color:var(--swa-green)}
.swb-ask__faq-a{padding:0 0 10px}
.swb-ask-wrap .swb-ask__faq-a p{margin:0 0 4px;font-size:.88rem;line-height:1.65}
.swb-ask-wrap a.swb-ask__faq-more{
  display:inline-flex;align-items:center;min-height:44px;font-size:.85rem;font-weight:500;color:var(--swa-green);text-decoration:underline;
}

/* The select starts hidden and the Change button reveals it. Must out-rank .swb-ask__in. */
.swb-ask-wrap select.swb-ask__in[hidden]{display:none}
.swb-ask-wrap details.swb-ask__faq-item>summary:focus-visible{outline:2px solid var(--swa-yellow);outline-offset:2px}

/* Presets */
.swb-ask-wrap fieldset.swb-ask__presets{margin:0 0 16px;padding:0;border:0;min-width:0}
.swb-ask__chips{display:flex;flex-wrap:wrap;gap:8px}
.swb-ask-wrap label.swb-ask__chip{position:relative;display:inline-flex;margin:0;padding:0;cursor:pointer}
.swb-ask-wrap .swb-ask__chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.swb-ask-wrap .swb-ask__chip span{
  display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:1.5px solid var(--swa-field);border-radius:40px;
  background:#fff;font-size:.85rem;font-weight:500;line-height:1.2;color:var(--swa-body);transition:background .2s,border-color .2s,color .2s;
}
.swb-ask-wrap .swb-ask__chip:hover span{border-color:var(--swa-steel)}
.swb-ask-wrap .swb-ask__chip input:checked+span{background:var(--swa-steel);border-color:var(--swa-steel);color:#fff}
.swb-ask-wrap .swb-ask__chip input:focus-visible+span{outline:2px solid var(--swa-yellow);outline-offset:2px}

.swb-ask-wrap .swb-ask__extra{display:none;margin-top:14px;padding:14px 14px 2px;border-left:3px solid var(--swa-green);background:var(--swa-mist);border-radius:0 8px 8px 0}
.swb-ask-wrap[data-preset="fit"] .swb-ask__extra--fit,
.swb-ask-wrap[data-preset="upgrade"] .swb-ask__extra--upgrade,
.swb-ask-wrap[data-preset="service"] .swb-ask__extra--service,
.swb-ask-wrap[data-preset="price"] .swb-ask__extra--price,
.swb-ask-wrap fieldset:has(input[value="fit"]:checked) .swb-ask__extra--fit,
.swb-ask-wrap fieldset:has(input[value="upgrade"]:checked) .swb-ask__extra--upgrade,
.swb-ask-wrap fieldset:has(input[value="service"]:checked) .swb-ask__extra--service,
.swb-ask-wrap fieldset:has(input[value="price"]:checked) .swb-ask__extra--price{display:block}
.swb-ask-wrap p.swb-ask__xlead{margin:0 0 12px;font-size:.85rem;line-height:1.6;color:var(--swa-body)}

/* Fields (s28) */
.swb-ask-wrap .swb-ask__field{display:flex;flex-direction:column;gap:6px;margin:0 0 16px}
.swb-ask-wrap .swb-ask__field>label{
  margin:0;font-size:.76rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--swa-body);
}
.swb-ask-wrap .swb-ask__in,
.swb-ask-wrap input.swb-ask__in,
.swb-ask-wrap textarea.swb-ask__in,
.swb-ask-wrap select.swb-ask__in{
  display:block;width:100%;max-width:none;height:auto;min-height:48px;margin:0;padding:11px 14px;
  font-family:var(--swa-text);font-weight:300;font-size:16px;line-height:1.4;color:var(--swa-iron);
  background:#fff;border:1px solid var(--swa-field);border-radius:8px;box-shadow:none;outline:none;
  -webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s;
}
.swb-ask-wrap select.swb-ask__in{
  padding-right:36px;background-image:linear-gradient(45deg,transparent 50%,#0F2E4C 50%),linear-gradient(135deg,#0F2E4C 50%,transparent 50%);
  background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;
}
.swb-ask-wrap textarea.swb-ask__in{min-height:112px;resize:vertical}
.swb-ask-wrap .swb-ask__in::placeholder{color:#7C8696;opacity:1}
.swb-ask-wrap .swb-ask__in:hover{border-color:#A9B3C0}
.swb-ask-wrap .swb-ask__in:focus{border-color:var(--swa-steel);box-shadow:inset 0 0 0 1px var(--swa-steel)}
.swb-ask-wrap .swb-ask__in:focus-visible{outline:2px solid var(--swa-yellow);outline-offset:2px}
.swb-ask-wrap .swb-ask__field.has-error .swb-ask__in{border-color:var(--swa-err);box-shadow:inset 0 0 0 1px var(--swa-err)}
.swb-ask-wrap p.swb-ask__msg{margin:0;font-size:.8rem;line-height:1.5;color:var(--swa-err)}
.swb-ask-wrap p.swb-ask__msg[hidden]{display:none}
.swb-ask-wrap p.swb-ask__msg--form{margin:0 0 12px;font-weight:500}

/* Consent */
.swb-ask-wrap label.swb-ask__consent{
  position:relative;display:flex;align-items:center;gap:12px;min-height:44px;margin:0;cursor:pointer;
  font-size:.88rem;font-weight:300;letter-spacing:normal;text-transform:none;line-height:1.5;color:var(--swa-body);
}
.swb-ask-wrap .swb-ask__cb{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.swb-ask__cbx{
  flex:none;display:grid;place-items:center;width:24px;height:24px;border:1.5px solid var(--swa-field);border-radius:5px;background:#fff;transition:background .2s,border-color .2s;
}
.swb-ask__cbx::after{
  content:"";width:6px;height:11px;margin-top:-2px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .15s;
}
.swb-ask-wrap .swb-ask__cb:checked+.swb-ask__cbx{background:var(--swa-steel);border-color:var(--swa-steel)}
.swb-ask-wrap .swb-ask__cb:checked+.swb-ask__cbx::after{border-color:#4fc3bd}
.swb-ask-wrap .swb-ask__cb:checked+.swb-ask__cbx::after{transform:rotate(45deg) scale(1)}
.swb-ask-wrap .swb-ask__cb:focus-visible+.swb-ask__cbx{outline:2px solid var(--swa-yellow);outline-offset:2px}
.swb-ask-wrap .swb-ask__field--consent.has-error .swb-ask__cbx{border-color:var(--swa-err)}

/* Honeypot: off-screen, never display:none */
.swb-ask-wrap .swb-ask__hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* Send (the one yellow action) */
.swb-ask-wrap button.swb-ask__send{
  display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;margin:4px 0 0;padding:.7rem 1.4rem;
  border:1.6px solid transparent;border-radius:40px;background:var(--swa-yellow);color:var(--swa-iron);cursor:pointer;
  font-family:var(--swa-text);font-weight:500;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.2;
  transition:transform .25s var(--swa-ease),box-shadow .25s var(--swa-ease),opacity .2s;
}
.swb-ask-wrap button.swb-ask__send:hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px rgba(249,236,75,.9)}
.swb-ask-wrap button.swb-ask__send:focus-visible{outline:2px solid var(--swa-yellow);outline-offset:3px}
.swb-ask-wrap button.swb-ask__send[disabled]{opacity:.6;cursor:progress;transform:none;box-shadow:none}

.swb-ask-wrap .swb-ask__thanks{padding:18px 16px;border-left:3px solid var(--swa-green);background:var(--swa-mist);border-radius:0 8px 8px 0}
.swb-ask-wrap .swb-ask__thanks[hidden],.swb-ask-wrap .swb-ask__form[hidden]{display:none}
.swb-ask-wrap .swb-ask__thanks p{margin:0;font-size:.95rem;font-weight:500;color:var(--swa-iron)}
.swb-ask-wrap .swb-ask__thanks:focus{outline:none}

/* Prefer to talk */
.swb-ask-wrap p.swb-ask__talk{margin:22px 0 0;padding-top:16px;border-top:1px solid var(--swa-line);font-size:.85rem;line-height:1.7;color:var(--swa-body)}
.swb-ask-wrap .swb-ask__talk strong{font-weight:500;color:var(--swa-iron)}
.swb-ask-wrap .swb-ask__talk a,.swb-ask-wrap .swb-ask__thanks a{
  display:inline-block;padding:13px 0;margin:-13px 0;font-weight:500;color:var(--swa-green);text-decoration:underline;
}

/* ---------- Inline copy (contact page) ---------- */
.swb-ask.swb-ask--inline{
  position:static;z-index:auto;visibility:visible;opacity:1;pointer-events:auto;transition:none;
  max-width:720px;margin:2rem auto;padding:clamp(18px,4vw,32px);
  background:#fff;border:1px solid var(--swa-line);border-radius:14px;
}

@media (prefers-reduced-motion:reduce){
  .swb-ask,.swb-ask__sheet,a.swb-ask-fab,.swb-ask-wrap *,.swb-ask-wrap *::before,.swb-ask-wrap *::after{transition:none!important}
}
