.elementor-13046 .elementor-element.elementor-element-8247a41{padding:0px 0px 0px 0px;}.elementor-13046 .elementor-element.elementor-element-860d2ad .elementor-button-content-wrapper{flex-direction:row;}.elementor-13046 .elementor-element.elementor-element-860d2ad .elementor-button .elementor-button-content-wrapper{gap:10px;}.elementor-13046 .elementor-element.elementor-element-860d2ad .elementor-button{border-radius:5px 5px 5px 5px;}.elementor-13046 .elementor-element.elementor-element-d9244ec{padding:0px 0px 0px 0px;}/* Start custom CSS */div.side-btn{
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:9990;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  font-family:'Poppins', sans-serif;top:80% !important;
}
.side-btn .phone-btn,
.side-btn .zoom{
  position:relative;
  display:grid !important;
  place-items:center !important;
  width:56px;
  height:56px;
padding-top: 10px;
  box-sizing:border-box !important;
  border-radius:50%;
  text-decoration:none;
  transform:none;
  animation:none;          
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.side-btn .phone-btn .phone-icon,
.side-btn .zoom img{
  position:static !important;
  inset:auto !important;
  margin:0 !important;
  display:block !important;
  max-width:none !important;
  object-fit:contain;
}
.side-btn .phone-btn .phone-icon{width:36px !important; height:36px !important}
.side-btn .zoom img{width:36px !important; height:36px !important}

/* ── CALL: rest ────────────────────────────────────────── */
.side-btn .phone-btn{
  background:#00B4F0;
  box-shadow:0 4px 14px rgba(0,180,240,.34);
}
/* ── CALL: hover ───────────────────────────────────────── */
.side-btn .phone-btn:hover,
.side-btn .phone-btn:focus-visible{
  background:#0DB3D5;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,180,240,.44);
}

/* ── WHATSAPP: rest ────────────────────────────────────── */
.side-btn .zoom{
  background:#25D366;
  box-shadow:0 4px 14px rgba(37,211,102,.36);
}
/* ── WHATSAPP: hover ───────────────────────────────────── */
.side-btn .zoom:hover,
.side-btn .zoom:focus-visible{
  background:#1FBA5A;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(37,211,102,.46);
}

/* ── pressed ───────────────────────────────────────────── */
.side-btn .phone-btn:active,
.side-btn .zoom:active{transform:translateY(0); transition-duration:.1s}
.side-btn .phone-btn:active{box-shadow:0 4px 14px rgba(0,180,240,.34)}
.side-btn .zoom:active{box-shadow:0 4px 14px rgba(37,211,102,.36)}

/* ── hover label pill ──────────────────────────────────── */
.side-btn-label{
  position:absolute;
  right:calc(100% + 10px);
  top:50%;
  transform:translate(8px,-50%);
  background:#0B1A22;
  color:#fff;
  font-size:12px;
  font-weight:500;
  line-height:1.2;
  padding:6px 11px;
  border-radius:6px;
  white-space:nowrap;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}
.side-btn-label::after{
  content:"";
  position:absolute;
  left:100%;
  top:50%;
  transform:translateY(-50%);
  border:5px solid transparent;
  border-left-color:#0B1A22;
}
.side-btn a:hover .side-btn-label,
.side-btn a:focus-visible .side-btn-label{
  opacity:1;
  transform:translate(0,-50%);
}

/* ── CALL: ringing waves ───────────────────────────────── */
.side-btn .phone-btn::before,
.side-btn .phone-btn::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  border-radius:50%;
  border:2.4px solid #00B4F0;
  border-top-color:transparent;
  border-bottom-color:transparent;
  opacity:0;
  pointer-events:none;
}
.side-btn .phone-btn::before{
  width:64px; height:64px; margin:-32px 0 0 -32px;
  animation:sbWave 4s ease-out infinite;
  animation-delay:-2s;
}
.side-btn .phone-btn::after{
  width:78px; height:78px; margin:-39px 0 0 -39px;
  animation:sbWave 4s ease-out infinite;
  animation-delay:-1.86s;
}
@keyframes sbWave{
  0%,58%  {opacity:0;  transform:scale(.82)}
  64%     {opacity:.9; transform:scale(1)}
  78%,100%{opacity:0;  transform:scale(1.12)}
}

/* ── CALL: icon shake ──────────────────────────────────── */
/* -2s delay puts it half a cycle out of phase with the
   WhatsApp pulse, so the two never fire together.            */
.side-btn .phone-btn .phone-icon{
  animation:sbShake 4s ease-in-out infinite;
  animation-delay:-2s;
}
@keyframes sbShake{
  0%,60%,80%,100%{transform:rotate(0)}
  62%{transform:rotate(-15deg)}
  64%{transform:rotate(13deg)}
  66%{transform:rotate(-13deg)}
  68%{transform:rotate(11deg)}
  70%{transform:rotate(-9deg)}
  72%{transform:rotate(7deg)}
  74%{transform:rotate(-5deg)}
  76%{transform:rotate(3deg)}
}

/* ── WHATSAPP: ambient pulse ───────────────────────────── */
.side-btn .zoom::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  border:2px solid #25D366;
  pointer-events:none;
  animation:sbPulse 4s cubic-bezier(.22,.61,.36,1) infinite;
}
.side-btn .zoom::after{content:none}
@keyframes sbPulse{
  0%,72%  {transform:scale(1);    opacity:.7}
  86%,100%{transform:scale(1.42); opacity:0}
}

/* ── keyboard focus ────────────────────────────────────── */
.side-btn a:focus-visible{
  outline:3px solid #0B1A22;
  outline-offset:3px;
}
/* ── mobile ────────────────────────────────────────────── */
@media (max-width:767px){
  div.side-btn{
    right:16px;
    bottom:calc(16px + env(safe-area-inset-bottom, 0px));
    gap:10px;
  }
  .side-btn .phone-btn,
  .side-btn .zoom{width:52px; height:52px}
  .side-btn .phone-btn .phone-icon{width:30px !important; height:30px !important}
  .side-btn .zoom img{width:30px !important; height:30px !important}
  .side-btn .phone-btn::before{width:60px; height:60px; margin:-30px 0 0 -30px}
  .side-btn .phone-btn::after{width:72px; height:72px; margin:-36px 0 0 -36px}
  .side-btn-label{display:none}
}
@media (max-width:359px){
  div.side-btn{right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px))}
}

/* ── reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .side-btn .phone-btn,
  .side-btn .zoom,
  .side-btn-label{transition:none}
  .side-btn .phone-btn::before,
  .side-btn .phone-btn::after,
  .side-btn .zoom::before{animation:none; opacity:0}
  .side-btn .phone-btn .phone-icon{animation:none}
}

.quote-btn.new a{
  position:fixed !important;
  right:0 !important;
  top:50% !important;
  z-index:9990 !important;

  /* rotate(180) flips vertical-rl so the text reads bottom-to-top.
     Radius and shadow are authored PRE-rotation, so they render
     mirrored — that's what puts the rounded corners on the left
     and throws the shadow out into the page.                    */
  transform:translateY(-50%) rotate(180deg) !important;

  writing-mode:vertical-rl !important;
  white-space:nowrap !important;

  display:inline-flex !important;
  align-items:center !important;

  padding:22px 13px !important;
  border:0 !important;
  border-radius:0 10px 10px 0 !important;

  background:#1352A1 !important;
  color:#fff !important;
  text-decoration:none !important;

  font-family:'Poppins', sans-serif !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  line-height:1.2 !important;

  box-shadow:3px 0 14px rgba(19,82,161,.3) !important;
  transition:background .2s ease, padding .2s ease !important;
}

/* ── hover ─────────────────────────────────────────────── */
.quote-btn.new a:hover,
.quote-btn.new a:focus,
.quote-btn.new a:focus-visible{
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) rotate(180deg) !important;
  background:#0F4488 !important;
  border:0 !important;
  color:#fff !important;
  padding:22px 13px 22px 16px !important;
  box-shadow:3px 0 14px rgba(19,82,161,.3) !important;
  transition:background .2s ease, padding .2s ease !important;
}

.quote-btn.new a:focus-visible{
  outline:3px solid #0B1A22 !important;
  outline-offset:3px !important;
}

/* ── inner Elementor spans ─────────────────────────────── */
.quote-btn.new .elementor-button-content-wrapper{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
}

.quote-btn.new .elementor-button-icon{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
  /* counter-rotates the anchor's 180deg so the envelope sits
     upright. Overrides the rotate(90deg) from the old approach. */
  transform:rotate(180deg) !important;
}

.quote-btn.new .elementor-button-icon svg{
  width:16px !important;
  height:16px !important;
  fill:#fff !important;
  display:block !important;
}

.quote-btn.new .elementor-button-text{
  color:#fff !important;
}

/* ── mobile ────────────────────────────────────────────── */
/* top:50% restated because the old rules set top:45% here. */
@media (max-width:767px){
  .quote-btn.new a{
    top:50% !important;
    font-size:13px !important;
    padding:18px 11px !important;
  }
  .quote-btn.new a:hover,
  .quote-btn.new a:focus,
  .quote-btn.new a:focus-visible{
    top:50% !important;
    padding:18px 11px 18px 15px !important;
  }
}

/* ── reduced motion ────────────────────────────────────── */
@media (prefers-reduced-motion:reduce){
  .quote-btn.new a{transition:none !important}
}/* End custom CSS */