:root {
  --grc-copy-accent: #d32368;
  --grc-copy-accent-hover: #b91f5a;
  --grc-copy-success: #079b43;
  --grc-copy-ink: #0b1d4b;
}

.grc-copy-widget {
  border-color: #ead6df !important;
  border-radius: 16px !important;
  background-color: #fff !important;
  box-shadow: 0 14px 34px rgba(90, 33, 64, .10) !important;
}

.grc-copy-value {
  border: 2px dashed #f06da2 !important;
  border-radius: 12px !important;
  background: #fffafd !important;
  color: #c52362 !important;
}

button.grc-copy-enhanced {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  border-color: var(--grc-copy-accent) !important;
  background: var(--grc-copy-accent) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(211, 35, 104, .25) !important;
  transform-origin: center;
  animation: grc-copy-pulse 2.2s ease-in-out infinite !important;
  will-change: transform;
}

/* Copy actions always use the copy symbol; outbound arrows belong only on links. */
button.grc-copy-enhanced > i:first-child,
button.grc-copy-enhanced > [aria-hidden="true"]:first-child,
button.grc-copy-enhanced > [aria-hidden="true"]:last-child {
  display: none !important;
}

button.grc-copy-enhanced::before {
  content: "";
  width: 1.1em;
  height: 1.1em;
  flex: 0 0 1.1em;
  display: inline-block;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='8' y='8' width='11' height='11' rx='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2'/%3E%3C/svg%3E");
  vertical-align: -0.18em;
}

button.grc-copy-enhanced:hover {
  background: var(--grc-copy-accent-hover) !important;
}

button.grc-copy-enhanced::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30%;
  left: -26%;
  width: 10%;
  height: 165%;
  background: rgba(255, 255, 255, .34);
  transform: rotate(14deg);
  pointer-events: none;
  animation: grc-copy-shine 2.6s ease-in-out infinite;
}

button.grc-copy-enhanced[data-copied],
button.grc-copy-enhanced[data-state="copied"],
button.grc-copy-enhanced.grc-copy-confirmed {
  border-color: var(--grc-copy-success) !important;
  background: var(--grc-copy-success) !important;
  box-shadow: 0 10px 24px rgba(7, 155, 67, .22) !important;
}

.grc-copy-toast {
  pointer-events: none !important;
  position: fixed !important;
  z-index: 9999 !important;
  left: 50% !important;
  bottom: 24px !important;
  width: max-content;
  max-width: calc(100% - 28px);
  min-height: 46px;
  transform: translate(-50%, 140%) !important;
  opacity: 0 !important;
  padding: 11px 16px !important;
  border: 1px solid rgba(255, 255, 255, .13) !important;
  border-radius: 10px !important;
  background: var(--grc-copy-ink) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  box-shadow: 0 12px 30px rgba(11, 29, 75, .25) !important;
  font: 700 14px/1.25 "DM Sans", Inter, system-ui, sans-serif !important;
  transition: transform .25s ease, opacity .25s ease !important;
}

.grc-copy-toast::before {
  content: "✓";
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  background: #4ee28a;
  color: #073d22;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 900;
}

.grc-copy-toast > i:first-child,
.grc-copy-toast > [aria-hidden="true"]:first-child { display: none !important; }
.grc-copy-toast.show,
.grc-copy-toast.grc-copy-toast-visible {
  transform: translate(-50%, 0) !important;
  opacity: 1 !important;
}

@keyframes grc-copy-shine {
  0%, 56% { left: -26%; opacity: 0; }
  62% { opacity: 1; }
  84% { left: 112%; opacity: .9; }
  100% { left: 112%; opacity: 0; }
}

@keyframes grc-copy-pulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.025); }
}

@media (max-width: 700px) {
  .grc-copy-toast { bottom: calc(24px + env(safe-area-inset-bottom)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  button.grc-copy-enhanced,
  button.grc-copy-enhanced::after {
    animation: none !important;
  }

  .grc-copy-toast { transition: none !important; }
}

