/* Shared public controls. The footer keeps its full content width. */
.public-floating-control[data-floating-control] {
  box-sizing:border-box;position:fixed;z-index:20;display:grid;place-items:center;
  margin:0;padding:0;border-radius:50%;text-decoration:none;font-family:inherit;
  opacity:1;visibility:visible;transform:none;cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.public-floating-control[data-floating-control="zalo"] {
  right:calc(22px + env(safe-area-inset-right,0px));
  bottom:calc(80px + env(safe-area-inset-bottom,0px) + var(--floating-footer-lift,0px));
  width:52px;height:52px;border:4px solid #fff;background:#0866ed;color:#fff;
  font-size:13px;font-weight:800;line-height:1;box-shadow:0 0 0 5px #deecff,0 8px 24px #0754b826;
}
.public-floating-control[data-floating-control="top"] {
  right:calc(27px + env(safe-area-inset-right,0px));
  bottom:calc(25px + env(safe-area-inset-bottom,0px) + var(--floating-footer-lift,0px));
  width:42px;height:42px;border:1px solid #d5e5ff;background:#fff;color:#0866ed;
  box-shadow:0 4px 16px #0754b812;
}
.public-floating-control[data-floating-control] svg {width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.public-floating-control[data-floating-control]:focus-visible {outline:3px solid #0754b8;outline-offset:6px}
.public-floating-control[data-floating-control][hidden] {display:none!important}
.public-floating-control[data-floating-control][data-floating-offscreen],
.public-floating-control[data-floating-control][data-floating-content-hidden] {visibility:hidden;pointer-events:none}
@media(hover:hover) and (pointer:fine) {
  .public-floating-control[data-floating-control]:hover {transform:translateY(-3px) scale(1.06)}
}
@media(max-width:600px) {
  .public-floating-control[data-floating-control="zalo"] {right:calc(13px + env(safe-area-inset-right,0px));bottom:calc(70px + env(safe-area-inset-bottom,0px) + var(--floating-footer-lift,0px));width:46px;height:46px}
  .public-floating-control[data-floating-control="top"] {right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(21px + env(safe-area-inset-bottom,0px) + var(--floating-footer-lift,0px));width:36px;height:36px}
}
@media(prefers-reduced-motion:reduce) {
  .public-floating-control[data-floating-control] {transition:none!important;transform:none!important}
}
@media print { .public-floating-control[data-floating-control] {display:none!important} }
