/* =================================================================================================== */
/* GLOBAL POPOVER STYLES
/* =================================================================================================== */

.cgr-popover {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  isolation: isolate;
  will-change: transform;
  background: #fff;
  border: 1px solid var(--canguro-dark-grey);
  border-radius: 10px;
  box-shadow: 0 2px 2px 0 rgba(0,0,0,0.1);
  overflow: visible; /* arrow can protrude */
}

.cgr-popover[hidden] {
  display: none;
}

/* Panel: container for body. Keep neutral. */
.cgr-popover__panel {
	position:relative;
	z-index: 9999;
	background: #fff;
	border-radius: 10px;
	max-width: none;   /* JS constrains via body */
  max-height: none;
  overflow: visible;
}

/* Body: base content area. Local layouts override. */
.cgr-popover__body {
  box-sizing: border-box;
	padding: 20px;
}

/* Arrow */
.cgr-popover__arrow {
	z-index: 9998;
  position: absolute;
  width: 10px;
  height: 10px;
  background: #fff;
  transform: rotate(45deg);
  border: 1px solid var(--canguro-dark-grey);
  left: var(--arrow-x, 0px);
  top:  var(--arrow-y, 0px);
}

/* Top side: arrow sticks out of top edge */
.cgr-popover[data-side="top"] .cgr-popover__arrow {
  top: auto;
  bottom: -5px;
}

/* Bottom side: arrow sticks out of bottom edge */
.cgr-popover[data-side="bottom"] .cgr-popover__arrow {
  top: -5px;
  bottom: auto;
}

/* Left side: arrow sticks out of left edge */
.cgr-popover[data-side="left"] .cgr-popover__arrow {
  top:  var(--arrow-y, 0px);
  left: auto;
  right: -5px;
}

/* Right side: arrow sticks out of right edge */
.cgr-popover[data-side="right"] .cgr-popover__arrow {
  top:  var(--arrow-y, 0px);
  left: -5px;
  right: auto;
}