/* Shared edge dock. The existing contact modal remains click-controlled. */
.r24-contact-dock,
#scrollTopBtn {
  --r24-contact-bottom:28px;
  --r24-contact-height:64px;
  --r24-contact-right:14px;
}
.r24-contact-dock {
  position:fixed;
  right:0;
  bottom:calc(var(--r24-contact-bottom) + env(safe-area-inset-bottom, 0px));
  z-index:9999;
  display:flex;
  align-items:stretch;
  box-sizing:border-box;
  width:calc(200px + env(safe-area-inset-right, 0px));
  height:var(--r24-contact-height);
  padding-right:env(safe-area-inset-right, 0px);
  border:1px solid rgba(255,255,255,.3);
  border-right:0;
  border-radius:20px 0 0 20px;
  background:#163D40;
  color:#fff;
  box-shadow:0 7px 24px rgba(10,30,33,.19), inset 0 1px 0 rgba(255,255,255,.08);
  isolation:isolate;
  transform:none;
  transition:none;
  touch-action:pan-y pinch-zoom;
}
.r24-contact-dock.is-enhanced {transform:translateX(calc(100% - 44px));}
.r24-contact-dock.is-enhanced.is-open {transform:translateX(0);}
.r24-contact-dock.is-enhanced.is-dragging {transform:translateX(var(--r24-contact-drag-x, 0px));transition:none;}
.r24-contact-dock__handle {
  display:none;
  flex:0 0 43px;
  align-items:center;
  justify-content:center;
  gap:3px;
  box-sizing:border-box;
  width:43px;
  min-height:62px;
  padding:0;
  border:0;
  border-radius:19px 0 0 19px;
  background:transparent;
  color:#e9f0ef;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:pan-y pinch-zoom;
}
.r24-contact-dock.is-enhanced .r24-contact-dock__handle {display:flex;}
.r24-contact-dock__handle svg {display:block;flex:0 0 18px;width:18px;height:18px;transition:none;}
.r24-contact-dock.is-open .r24-contact-dock__handle svg {transform:rotate(180deg);}
.r24-contact-dock__handle::after {
  content:"";
  display:block;
  flex:0 0 2px;
  width:2px;
  height:17px;
  border-radius:2px;
  background:rgba(255,255,255,.26);
}
.r24-contact-dock__panel {
  display:flex;
  flex:1 1 auto;
  min-width:0;
  align-items:center;
  padding:5px 5px 5px 0;
}
.r24-contact-dock.is-enhanced:not(.is-open):not(.is-dragging) .r24-contact-dock__panel {
  visibility:hidden;
  pointer-events:none;
}
.r24-contact-dock:not(.is-enhanced) {width:calc(156px + env(safe-area-inset-right, 0px));}
.r24-contact-dock:not(.is-enhanced) .r24-contact-dock__panel {padding-left:5px;}
.r24-contact-dock .r24-contact-float {
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  box-sizing:border-box;
  width:100%;
  min-height:52px;
  padding:7px;
  border:0;
  border-radius:12px;
  background:transparent;
  color:#fff;
  box-shadow:none;
  cursor:pointer;
  font-family:inherit;
  line-height:1;
  touch-action:pan-y pinch-zoom;
  -webkit-tap-highlight-color:transparent;
  transition:none;
}
.r24-contact-float__avatar {
  display:block;
  flex:0 0 36px;
  width:36px;
  height:36px;
  overflow:hidden;
  border-radius:50%;
  box-shadow:0 0 0 1px rgba(255,255,255,.25);
}
.r24-contact-float__avatar img {
  display:block;
  width:100%;
  height:100%;
  border:0;
  border-radius:inherit;
  object-fit:cover;
}
.r24-contact-float__label {flex:1 1 auto;color:inherit;font-size:14px;font-weight:650;letter-spacing:-.01em;white-space:nowrap;}
.r24-contact-float__icon {display:block;flex:0 0 17px;width:17px;height:17px;color:#d4e2e1;}
.r24-contact-dock__handle:focus-visible,
.r24-contact-dock .r24-contact-float:focus-visible {outline:2px solid #ffb87e;outline-offset:-4px;}

/* Display remains controlled by the scroll button's existing inline JavaScript. */
#scrollTopBtn,
#scrollTopBtn:hover,
#scrollTopBtn:active {
  right:max(var(--r24-contact-right), calc(env(safe-area-inset-right, 0px) + 12px));
  bottom:calc(var(--r24-contact-bottom) + var(--r24-contact-height) + 12px + env(safe-area-inset-bottom, 0px));
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  background:#163D40;
  color:#fff;
  box-shadow:0 5px 18px rgba(10,30,33,.15);
  transform:none;
  transition:none;
}
#scrollTopBtn:focus-visible {outline:3px solid #E8660A;outline-offset:4px;}
@media(max-width:700px) {
  .r24-contact-dock,
  #scrollTopBtn {--r24-contact-bottom:78px;}
}
@media(max-width:1100px) {
  body.has-sticky-buy-visible .r24-contact-dock,
  body.has-sticky-buy-visible #scrollTopBtn {
    --r24-contact-bottom:116px;
    bottom:calc(var(--r24-contact-bottom) + env(safe-area-inset-bottom, 0px));
    z-index:998;
  }
  body.has-sticky-buy-visible #scrollTopBtn {
    bottom:calc(var(--r24-contact-bottom) + var(--r24-contact-height) + 12px + env(safe-area-inset-bottom, 0px));
  }
}

/* Preserve dialog priority, page-specific exclusions and regional contact bars. */
body:is(.cookie-locked,.r24rvp-dialog-open) :is(.r24-contact-dock,#scrollTopBtn,.widget_container_overlay,.widget_container_overlay_mobile,#trustami-mobile-view,iframe[title="Trustami"],#taCloseBtnOverlay),
body:has(#cookieOverlay[aria-hidden="false"]) :is(.r24-contact-dock,#scrollTopBtn,.widget_container_overlay,.widget_container_overlay_mobile,#trustami-mobile-view,iframe[title="Trustami"],#taCloseBtnOverlay) {
  visibility:hidden!important;
  pointer-events:none!important;
}
body.r24seo-shop-landing .r24-contact-dock {display:none!important;visibility:hidden!important;pointer-events:none!important;}
@media(max-width:900px) {body.rr-body .r24-contact-dock {display:none!important;}}
.loc-local-page .r24-contact-dock,
.loc-local-page #scrollTopBtn {--r24-contact-bottom:92px;}
.loc-local-page .r24-contact-dock {z-index:10090;}
.loc-local-page #scrollTopBtn {
  right:max(var(--r24-contact-right), calc(env(safe-area-inset-right, 0px) + 12px));
  bottom:calc(var(--r24-contact-bottom) + var(--r24-contact-height) + 12px + env(safe-area-inset-bottom, 0px));
}
@media(max-width:900px) {
  .loc-local-page .r24-contact-dock,
  .loc-local-page #scrollTopBtn {--r24-contact-bottom:18px;}
}
@media(prefers-reduced-motion:no-preference) {
  .r24-contact-dock.is-enhanced {transition:transform 240ms cubic-bezier(.2,.7,.2,1);}
  .r24-contact-dock.is-dragging {transition:none;}
  .r24-contact-dock.is-enhanced .r24-contact-dock__panel {transition:visibility 0s linear 240ms;}
  .r24-contact-dock.is-enhanced:is(.is-open,.is-dragging) .r24-contact-dock__panel {
    visibility:inherit;
    transition-delay:0s;
  }
  .r24-contact-dock__handle svg {transition:transform var(--t);}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
  .r24-contact-dock__handle,
  .r24-contact-dock .r24-contact-float,
  #scrollTopBtn {transition:background var(--t), box-shadow var(--t);}
  .r24-contact-dock__handle:hover,
  .r24-contact-dock .r24-contact-float:hover {background:rgba(255,255,255,.07);}
  #scrollTopBtn:hover {background:#1b484b;box-shadow:0 7px 22px rgba(10,30,33,.22);}
}
@media(forced-colors:active) {
  .r24-contact-dock,
  #scrollTopBtn,
  #scrollTopBtn:hover,
  #scrollTopBtn:active {border:1px solid ButtonText;background:ButtonFace;color:ButtonText;box-shadow:none;}
  .r24-contact-dock__handle,
  .r24-contact-dock .r24-contact-float,
  .r24-contact-float__icon {color:ButtonText;}
  .r24-contact-dock__handle::after {background:ButtonText;}
  .r24-contact-dock__handle:focus-visible,
  .r24-contact-dock .r24-contact-float:focus-visible,
  #scrollTopBtn:focus-visible {outline-color:Highlight;}
}
