/* Shared shells match the homepage. Motion is opt-in, not a page-wide override. */
:root {
  --bsb-content-max: 1380px;
  --bsb-content-gap: 28px;
  --bsb-motion-duration: 4.8s;
  --bsb-motion-easing: ease-in-out;
  --bsb-demo-action-background: linear-gradient(110deg, #6196ff, #6dcde5);
  --bsb-demo-action-ink: #071b2e;
}
@media (min-width: 520px) { :root { --bsb-content-gap: 42px; } }
@media (min-width: 760px) { :root { --bsb-content-gap: 64px; } }
@media (min-width: 2200px) { :root { --bsb-content-max: 1680px; --bsb-content-gap: 96px; } }

.bsb-demo-robot {
  display: block;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  overflow: visible;
  pointer-events: none;
  transform-origin: center;
  transform-box: view-box;
  backface-visibility: hidden;
  animation: bsb-demo-bot-attend 2.9s cubic-bezier(.22, 1, .36, 1) infinite !important;
}
.btn.bsb-demo-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; max-width: 100%; white-space: normal; }
.btn.bsb-demo-button > span { min-width: 0; }
.bsb-footer__action > .bsb-demo-robot { width: 100%; height: auto; aspect-ratio: 1; }
@keyframes bsb-demo-bot-attend {
  0%, 58%, 100% { transform: translate3d(0, 0, 0) rotate(0) scale(1); }
  13% { transform: translate3d(0, -4px, 0) rotate(-10deg) scale(1.2); }
  26% { transform: translate3d(0, -2px, 0) rotate(9deg) scale(1.12); }
  39% { transform: translate3d(0, -3px, 0) rotate(-6deg) scale(1.17); }
}

body.bsb-workspace-page > main.layout > :is(.container, .container-fluid, .bsb-page-container) {
  width: min(calc(100% - var(--bsb-content-gap)), var(--bsb-content-max)) !important;
  max-width: var(--bsb-content-max) !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  min-width: 0;
}

/* Supply --bsb-motion-name on a component and data-bsb-motion="decorative".
   Existing component keyframes remain independent of these reusable defaults. */
.bsb-motion-loop {
  animation-name: var(--bsb-motion-name, none);
  animation-duration: var(--bsb-motion-duration);
  animation-timing-function: var(--bsb-motion-easing);
  animation-delay: var(--bsb-motion-delay, 0s);
  animation-iteration-count: infinite;
}
[data-bsb-motion][data-bsb-motion-active="false"],
[data-bsb-motion][data-bsb-motion-active="false"] *,
[data-bsb-motion][data-bsb-motion-active="false"]::before,
[data-bsb-motion][data-bsb-motion-active="false"]::after,
[data-bsb-motion][data-bsb-motion-active="false"] *::before,
[data-bsb-motion][data-bsb-motion-active="false"] *::after { animation-play-state: paused !important; }
@media (prefers-reduced-motion: reduce) {
  [data-bsb-motion="decorative"], [data-bsb-motion="decorative"] *,
  [data-bsb-motion="decorative"]::before, [data-bsb-motion="decorative"]::after,
  [data-bsb-motion="decorative"] *::before, [data-bsb-motion="decorative"] *::after { animation: none !important; }
}
@media print {
  [data-bsb-motion], [data-bsb-motion] *, [data-bsb-motion]::before, [data-bsb-motion]::after { animation: none !important; }
}
