/* assets/copy-link.css */

/* 1) Widget-Container: Theme/Elementor-Padding/Margin neutralisieren (verhindert "ein paar px" Rand) */
.elementor-widget-copy_link_widget .elementor-widget-container{
  padding: 0 !important;
  margin: 0 !important;
}

/* 2) Wrapper: keine ungewollten Abstände */
.elementor-widget-copy_link_widget .clw-wrap{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  line-height: normal;
}

/* 3) Button: Theme-Defaults (Margin/Line-height) killen */
.elementor-widget-copy_link_widget .clw-btn{
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 !important;       /* falls Theme button{margin:...} setzt */
  padding: 0.5rem 0.75rem;    /* Default, wird von Elementor überschrieben */
  line-height: 1.2;
  cursor: pointer;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.elementor-widget-copy_link_widget .clw-btn[disabled]{
  cursor: not-allowed;
  opacity: 0.6;
}

/* Copied-State (Styling primär via Elementor Controls, hier nur Transition) */
.elementor-widget-copy_link_widget .clw-btn.clw-copied{
  transition: background-color .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* 4) Icon: zuverlässig stylbar (Font-Icon + SVG) */
.elementor-widget-copy_link_widget .clw-ico{
  display: inline-flex;
  line-height: 1;
  color: inherit;           /* Basis: Controls setzen color auf .clw-ico */
  font-size: 1em;           /* Controls überschreiben */
}

.elementor-widget-copy_link_widget .clw-ico i{
  color: currentColor;
}

.elementor-widget-copy_link_widget .clw-ico svg{
  width: 1em;
  height: 1em;
  display: block;
}

/* Viele SVGs haben feste fill/stroke Werte -> hart überschreiben */
.elementor-widget-copy_link_widget .clw-ico svg,
.elementor-widget-copy_link_widget .clw-ico svg *{
  fill: currentColor !important;
  stroke: currentColor !important;
}

.elementor-widget-copy_link_widget .clw-ico.clw-hide{
  display: none;
}

/* 5) Bubble: nur Opacity animieren (Positions-Transform kollidiert sonst) */
.elementor-widget-copy_link_widget .clw-msg{
  display: inline-block;
  opacity: 0;
  transition: opacity .15s ease;
  pointer-events: none;

  /* Default, wenn nicht gestylt */
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;

  z-index: 99999;
}

.elementor-widget-copy_link_widget .clw-msg.clw-show{
  opacity: 1;
}

/* Bubble neben Button */
.elementor-widget-copy_link_widget .clw-pos-inline .clw-msg{
  position: static;
}

/* Viewport-Kanten: fixed */
.elementor-widget-copy_link_widget .clw-pos-vp_top .clw-msg,
.elementor-widget-copy_link_widget .clw-pos-vp_right .clw-msg,
.elementor-widget-copy_link_widget .clw-pos-vp_bottom .clw-msg,
.elementor-widget-copy_link_widget .clw-pos-vp_left .clw-msg{
  position: fixed;
}

:root { --clw-edge-gap: 20px; }

.elementor-widget-copy_link_widget .clw-pos-vp_top .clw-msg{
  top: var(--clw-edge-gap);
  left: 50%;
  transform: translateX(-50%);
}

.elementor-widget-copy_link_widget .clw-pos-vp_bottom .clw-msg{
  bottom: var(--clw-edge-gap);
  left: 50%;
  transform: translateX(-50%);
}

.elementor-widget-copy_link_widget .clw-pos-vp_left .clw-msg{
  left: var(--clw-edge-gap);
  top: 50%;
  transform: translateY(-50%);
}

.elementor-widget-copy_link_widget .clw-pos-vp_right .clw-msg{
  right: var(--clw-edge-gap);
  top: 50%;
  transform: translateY(-50%);
}