.sb-wrapper {
	display: inline-block;
	flex-direction: column;
	align-items: center;
	gap: 0; /* gap between popover and button is handled by triangle + padding */
	position: relative;
}

/* --------------------------------------------------------------------------
   Popover card
   -------------------------------------------------------------------------- */
.sb-popover {
	position: absolute;
	top: -50%;
	left: 50%;
	z-index: 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 2px;
	opacity: 0;
	transform: translate(-50%, calc(-50% - 6px));
	pointer-events: none;
	transition:
		opacity 0.18s ease,
		transform 0.18s ease;
}
.sb-popover[hidden] {
	display: none !important;
}
.sb-popover.is-visible {
	opacity: 1;
	/* transform:  translate(-50%, 50%) scale(1); */
	pointer-events: auto;
}
.sb-icons-row {
	background-color: #ffffff;
	filter: drop-shadow(0 2px 25px rgba(0, 0, 0, 0.20));
	box-sizing: border-box;
	padding: 12px;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
	border-radius: 12px;
}
.sb-icons-row p {
	margin-bottom: 0;
}
.sb-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	overflow: hidden;
	border: none;
	cursor: pointer;
	padding: 0;
}
.sb-icon-btn:hover .sb-icon-bg,
.sb-icon-btn:focus-visible .sb-icon-bg {
    fill: #072031;
}
/* SVGs dropped into /icons/*.svg are inlined by PHP.
   They should have no hardcoded fill so currentColor works. */
.sb-icon-btn svg {
	width: 40px;
	height: 40px;
	display: block;
	color: #ffffff;
	fill: currentColor;
	pointer-events: none;
}
.sb-icon-btn[data-action="copy"].sb-copied {
	background-color: #2d6a4f; /* green tick feedback */
}

.sb-triangle {
	width: 0;
	height: 0;
	border-left:  10px solid transparent;
	border-right: 10px solid transparent;
	border-top:   10px solid #ffffff;
	filter: drop-shadow(0 4px 25px rgba(0, 0, 0, 0.20));
}

/* --------------------------------------------------------------------------
   Trigger button
   Matches the dark pill shown in the screenshot.
   Override here or via theme CSS if you prefer.
   -------------------------------------------------------------------------- */
.sb-trigger {
	display: inline-flex;
	align-items: center;
    max-width: fit-content;
    box-sizing: border-box;
    padding: 10px 24px 12px 22px;
    border: 0.5px solid var(--wp--preset--color--conspector-energy-blue);
    background-color: var(--wp--preset--color--conspector-black-blue);
    border-radius: 8px;
    font-family: 'gamay-editorial', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    color: var(--wp--preset--color--conspector-off-white);
	gap: 4px;
}
.sb-trigger:hover {
	cursor: pointer;
}
.sb-trigger:hover,
.sb-trigger:focus-visible {
	background-color: var(--wp--preset--color--conspector-mist-blue);
}
.sb-trigger[aria-expanded="true"] {
	background-color: var(--wp--preset--color--conspector-mist-blue);
}
.sb-trigger::after {
        margin-top: 5px;
        content: "";
        display: inline-block;
        width: 16px;
        height: 16px;
        margin-left: 10px;
        vertical-align: middle;
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 12.3616V0H3.63809L2.24213 1.39613H13.6169L0 15.0127L0.987149 16L14.604 2.38326L14.6039 13.7577L16 12.3616Z' fill='%23EEEEEE'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-size: 16px 16px;
        transition: transform 150ms ease;
      }
      .sb-trigger:hover::after {
        background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16 12.3616V0H3.63809L2.24213 1.39613H13.6169L0 15.0127L0.987149 16L14.604 2.38326L14.6039 13.7577L16 12.3616Z' fill='white'/%3E%3C/svg%3E");
        transform: scale(1.05) translate(2px, -2px);
    }
