.alo-context-dock[hidden],
.alo-context-dock__actions[hidden],
.alo-context-dock__audio[hidden],
.alo-context-dock__collapse[hidden],
.alo-context-dock__privacy[hidden] {
  display: none !important;
}

.alo-context-dock {
  --alo-dock-ink: #242324;
  --alo-dock-pink: #f29bb2;
  --alo-dock-cream: #fff4dc;
  --alo-dock-plum: #725565;
  position: fixed;
  z-index: 2147482998;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  max-width: calc(100vw - 36px);
  color: var(--alo-dock-ink);
  font-family: inherit;
}

.alo-context-dock[data-sonaar-owning="true"] {
  bottom: max(96px, calc(82px + env(safe-area-inset-bottom)));
}

.alo-context-dock__rail {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.alo-context-dock__actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.alo-context-dock button {
  font: inherit;
  -webkit-tap-highlight-color: transparent;
}

.alo-context-dock__audio {
  display: grid;
  flex: 0 0 58px;
  width: 58px;
  height: 58px;
  min-width: 58px;
  min-height: 58px;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--alo-dock-ink);
  box-shadow: 0 10px 24px rgba(36, 35, 36, 0.14);
  color: var(--alo-dock-cream);
  cursor: pointer;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.alo-context-dock__audio:hover {
  background: var(--alo-dock-plum);
  box-shadow: 0 14px 34px rgba(36, 35, 36, 0.17);
  transform: translateY(-1px);
}

.alo-context-dock__audio-icon {
  position: relative;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: transparent;
}

.alo-context-dock__audio > [data-alo-context-audio-label] {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.alo-context-dock__collapse {
  display: grid;
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  place-items: center;
  border: 1.5px solid rgba(36, 35, 36, 0.72);
  border-radius: 50%;
  background: rgba(255, 244, 220, 0.94);
  box-shadow: 0 8px 20px rgba(36, 35, 36, 0.09);
  color: var(--alo-dock-ink);
  cursor: pointer;
  font-size: 26px;
  font-weight: 500;
  line-height: 1;
  transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

.alo-context-dock__collapse:hover {
  background: var(--alo-dock-pink);
  box-shadow: 0 10px 24px rgba(36, 35, 36, 0.13);
  transform: translateY(-1px);
}

.alo-context-dock__audio-icon > span {
  display: block;
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 8px solid var(--alo-dock-cream);
}

.alo-context-dock[data-state="playing"] .alo-context-dock__audio-icon > span {
  width: 8px;
  height: 11px;
  margin-left: 0;
  border: 0;
  border-right: 3px solid var(--alo-dock-cream);
  border-left: 3px solid var(--alo-dock-cream);
}

.alo-context-dock__privacy {
  position: relative;
  display: grid;
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  min-width: 72px;
  min-height: 72px;
  padding: 0;
  place-items: center;
  overflow: visible;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  transition: transform 170ms ease, filter 170ms ease;
}

.alo-context-dock__privacy:hover {
  transform: translateY(-2px) rotate(-2deg) scale(1.025);
}

.alo-context-dock__privacy:active,
.alo-context-dock__audio:active,
.alo-context-dock__collapse:active {
  transform: translateY(1px) scale(0.98);
}

.alo-context-dock :where(button):focus-visible {
  outline: 3px solid var(--alo-dock-ink);
  outline-offset: 4px;
}

.alo-context-dock__cookie {
  display: block;
  width: 70px;
  height: 70px;
  overflow: visible;
  filter: drop-shadow(0 8px 10px rgba(36, 35, 36, 0.18));
}

.alo-context-dock .alo-analytics-consent__cookie-body {
  fill: rgba(242, 155, 178, 0.96);
  stroke: var(--alo-dock-plum);
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.alo-context-dock .alo-analytics-consent__cookie-icing {
  fill: var(--alo-dock-cream);
  stroke: rgba(114, 85, 101, 0.72);
  stroke-linejoin: round;
  stroke-width: 1.4;
}

.alo-context-dock .alo-analytics-consent__cookie-eye {
  fill: var(--alo-dock-ink);
}

.alo-context-dock .alo-analytics-consent__chip--ink {
  fill: rgba(36, 35, 36, 0.72);
}

.alo-context-dock .alo-analytics-consent__chip--cream {
  fill: var(--alo-dock-cream);
  stroke: rgba(114, 85, 101, 0.72);
  stroke-width: 1.2;
}

/* El control original sigue siendo el dueño del diálogo; el dock solo lo adopta. */
body.alo-context-dock-ready [data-alo-analytics-reopen][data-alo-context-dock-adopted="true"] {
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

@media (max-width: 480px) {
  .alo-context-dock {
    right: max(12px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    max-width: calc(100vw - 24px);
  }

  .alo-context-dock[data-sonaar-owning="true"] {
    bottom: max(92px, calc(78px + env(safe-area-inset-bottom)));
  }

  .alo-context-dock__rail {
    flex-direction: column;
    align-items: flex-end;
  }

  .alo-context-dock__actions {
    flex-direction: column;
    align-items: flex-end;
  }

  .alo-context-dock__audio {
    flex-basis: 56px;
    width: 56px;
    height: 56px;
    min-width: 56px;
    min-height: 56px;
  }

  .alo-context-dock__privacy {
    flex-basis: 68px;
    width: 68px;
    height: 68px;
    min-width: 68px;
    min-height: 68px;
  }

  .alo-context-dock__cookie {
    width: 66px;
    height: 66px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alo-context-dock *,
  .alo-context-dock *::before,
  .alo-context-dock *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .alo-context-dock__audio,
  .alo-context-dock__collapse {
    border: 2px solid ButtonText;
    background: Canvas;
    color: CanvasText;
  }

  .alo-context-dock__privacy {
    border: 2px solid ButtonText;
  }
}
