.ccpb-btn{
  /* 🔑 REQUIRED VARIABLES */
  --ccpb-x: 0px;
  --ccpb-y: 0px;
  --ccpb-scale: 1;

  position:fixed;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:2147483647;
  width: var(--ccpb-size-d, 64px);
  height: var(--ccpb-size-d, 64px);
  border-radius: 9999px;

  /* 🔑 REQUIRED COMPOSED TRANSFORM */
  transform: translate(var(--ccpb-x), var(--ccpb-y)) scale(var(--ccpb-scale));

  transition: filter .16s ease;

}
.ccpb-btn:hover{ --ccpb-scale: 1.06; }
.ccpb-btn:active{ --ccpb-scale: 0.98; }


.ccpb-btn {
  justify-content: flex-start;
}

.ccpb-img {
  object-position: left center;
}

.ccpb-svg, .ccpb-img{
  width:100%;
  height:100%;
  display:block;
  border-radius:9999px;
}
.ccpb-img{ object-fit:cover; }

.ccpb-btn.pulse{ animation:pulse 6s infinite; }
.ccpb-btn.float{ animation:float 5s ease-in-out infinite; }
.ccpb-btn.bounce{ animation:bounce 2.5s infinite; }
@keyframes pulse {
  0% {
    transform: scale(1);
    filter: drop-shadow(0 6px 14px rgba(0,0,0,.15));
  }
  50% {
    transform: scale(1.08);
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.25));
  }
  100% {
    transform: scale(1);
    filter: drop-shadow(0 6px 14px rgba(0,0,0,.15));
  }
}

@keyframes pulse {
  0% {
    --ccpb-scale: 1;
    filter: drop-shadow(0 6px 14px rgba(0,0,0,.15));
  }
  50% {
    --ccpb-scale: 1.08;
    filter: drop-shadow(0 14px 28px rgba(0,0,0,.25));
  }
  100% {
    --ccpb-scale: 1;
    filter: drop-shadow(0 6px 14px rgba(0,0,0,.15));
  }
}

@keyframes float{
  50%{ --ccpb-y: -6px; }
}

@keyframes bounce{
  50%{ --ccpb-y: -10px; }
}


@media (max-width:768px){
  .ccpb-btn{ width: var(--ccpb-size-m, 52px); height: var(--ccpb-size-m, 52px); }
  .ccpb-hide-mobile{ display:none!important; }
}
@media (prefers-reduced-motion: reduce){
  .ccpb-btn, .ccpb-btn.pulse, .ccpb-btn.float, .ccpb-btn.bounce{ animation:none!important; transition:none!important; }
}
/* === Image button fix === */
.ccpb-btn {
  overflow: hidden;
}

/* === Image button: always fully visible === */
.ccpb-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ccpb-btn img.ccpb-img {
  width: 100%;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
}

/* === Remove button circle, show raw cookie/image === */
.ccpb-btn {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* SVG cookies: keep original shape */
.ccpb-svg {
  border-radius: 0 !important;
}

/* Image cookie: no forced round crop */
.ccpb-img {
  border-radius: 0 !important;
}
