/* Shared storefront shortcuts. No tracking scripts or scrolling listeners. */
.floating-social {
  position:fixed;
  z-index:1010;
  right:calc(22px + env(safe-area-inset-right, 0px));
  bottom:calc(28px + env(safe-area-inset-bottom, 0px));
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:7px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:999px;
  background:rgba(250,249,242,.95);
  box-shadow:0 8px 26px rgba(37,47,28,.14);
  animation:socialArrival .55s cubic-bezier(.2,.8,.2,1) .25s both,
    socialDockFloat 5.5s ease-in-out .8s infinite;
}
/* Gentle compositor-only movement; keep the target still while interacting. */
.floating-social:hover,
.floating-social:focus-within { animation-play-state:paused }
.floating-social__link {
  position:relative;
  display:grid;
  place-items:center;
  flex-shrink:0;
  width:52px;
  height:52px;
  border:1px solid rgba(255,255,255,.3);
  border-radius:50%;
  color:#fff;
  text-decoration:none;
  touch-action:manipulation;
  transition:transform .22s ease,box-shadow .22s ease;
}
.floating-social__link--instagram {
  background:linear-gradient(145deg,#8545c9 4%,#d83278 48%,#f17c43 82%,#f8c667);
}
.floating-social__link--whatsapp { background:linear-gradient(145deg,#20bd70,#108b52) }
.floating-social__link--youtube { background:linear-gradient(145deg,#ff2525,#d60808) }
.floating-social__link:hover {
  color:#fff;
  transform:translateY(-3px);
  box-shadow:0 7px 15px rgba(28,45,29,.2);
}
.floating-social__link:active { transform:scale(.95) }
.floating-social__link:focus-visible {
  color:#fff;
  outline:3px solid var(--ink,#151712);
  outline-offset:4px;
}
.floating-social__link svg { display:block;pointer-events:none }
.floating-social__label {
  position:absolute;
  right:calc(100% + 15px);
  top:50%;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.8);
  border-radius:12px;
  background:#faf9f2;
  color:#343d2d;
  box-shadow:0 6px 18px rgba(37,47,28,.12);
  font:600 12px/1.4 "DM Sans",sans-serif;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translate(6px,-50%);
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
}
.floating-social__link:focus-visible .floating-social__label {
  opacity:1;visibility:visible;transform:translate(0,-50%);
}
@media (hover:hover) {
  .floating-social__link:hover .floating-social__label {
    opacity:1;visibility:visible;transform:translate(0,-50%);
  }
}
/* Leave navigation, ad dialogs, notifications and form entry unobstructed. */
body.site-ad-open .floating-social,
body.modal-open .floating-social,
body:has(.reference-nav-links.open) .floating-social,
body:has(.app-toast.show) .floating-social {
  visibility:hidden;
  pointer-events:none;
  animation-play-state:paused;
}
@media (max-width:700px) {
  .floating-social {
    right:calc(12px + env(safe-area-inset-right, 0px));
    bottom:calc(22px + env(safe-area-inset-bottom, 0px));
    gap:8px;
    padding:6px;
  }
  .floating-social__link { width:46px;height:46px }
  .floating-social__link svg { width:23px;height:23px }
  .floating-social__label { right:calc(100% + 12px);font-size:11px }
  body:has(input:focus,textarea:focus,select:focus,[contenteditable=true]:focus) .floating-social {
    visibility:hidden;pointer-events:none;
    animation-play-state:paused;
  }
}
@keyframes socialArrival {
  from { opacity:0;transform:translateY(12px) }
  to { opacity:1;transform:none }
}
@keyframes socialDockFloat {
  0%,100% { transform:translateY(0) }
  50% { transform:translateY(-5px) }
}
@media (prefers-reduced-motion:reduce) {
  .floating-social { animation:none }
  .floating-social__link,.floating-social__label { transition:none }
}
@media print { .floating-social { display:none!important } }
