/* =========================
   OBuilder Brand (from logo)
   ========================= */
:root{
  /* If your system uses hsl(var(--main)) */
  --main: 262 82% 67%;

  /* Palette sampled from your logo */
  --ob-white: #FDFDFE;
  --ob-ink:   #1E2337;

  --ob-purple-200: #CDA8F7;
  --ob-purple-300: #B28DEF;
  --ob-purple-500: #9864F0;
  --ob-purple-600: #7948DB;
  --ob-purple-700: #5D2BD4;
  --ob-purple-800: #4B24B1;
  --ob-purple-900: #3914AA;

  /* Logo-like gradients */
  --ob-gradient:      linear-gradient(135deg, var(--ob-purple-200) 0%, var(--ob-purple-500) 45%, var(--ob-purple-700) 100%);
  --ob-gradient-deep: linear-gradient(135deg, var(--ob-purple-600) 0%, var(--ob-purple-700) 55%, var(--ob-purple-900) 100%);

  --ob-border: rgba(152, 100, 240, .22);
  --ob-shadow: 0 18px 45px rgba(93, 43, 212, .25);
}

/* Copy Animation */
.base-color {
  color: hsl(var(--main)) !important;
}

.copyInput {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  line-height: 50px;
  position: absolute;
  top: 0;
  right: 0;

  width: 40px;
  height: 50px;
  text-align: center;
  font-size: 14px;
  cursor: pointer;

  border-radius: 12px;
  color: var(--ob-white);
  background: var(--ob-gradient-deep);
  border: 1px solid rgba(253, 253, 254, .25);
  box-shadow: 0 10px 25px rgba(57, 20, 170, .18);

  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.copyInput:hover {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(57, 20, 170, .24);
}

.copyInput:active {
  transform: translateY(0);
  filter: brightness(.98);
}

.cookies-card {
  width: 520px;
  padding: 30px;
  color: var(--ob-ink);
  position: fixed;
  bottom: 15px;
  left: 15px;
  z-index: 999999;

  transition: all .5s;

  /* “glass” look that still matches the logo */
  background: rgba(253, 253, 254, .92);
  border: 1px solid var(--ob-border);
  box-shadow: var(--ob-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  border-radius: 16px;
}

.cookies-card.hide {
  bottom: -500px !important;
}

.radius--10px {
  border-radius: 10px;
}

.cookies-card__icon {
  width: 55px;
  height: 55px;
  border-radius: 50%;
  background: var(--ob-gradient);
  color: var(--ob-white);
  font-size: 32px;

  display: inline-flex;
  justify-content: center;
  align-items: center;

  box-shadow: 0 14px 30px rgba(93, 43, 212, .30);
  position: relative;
  overflow: hidden;
}

/* subtle glossy highlight like your logo icon */
.cookies-card__icon::after {
  content: "";
  position: absolute;
  inset: -40% -30% auto auto;
  width: 120%;
  height: 120%;
  background: radial-gradient(circle at 30% 30%, rgba(253,253,254,.65), rgba(253,253,254,0) 60%);
  transform: rotate(20deg);
  pointer-events: none;
}

.cookies-card__content {
  margin-bottom: 0;
}

.cookies-btn {
  text-decoration: none;
  padding: 10px 35px;
  margin: 3px 5px;
  display: inline-block;

  border-radius: 999px;
  font-weight: 600;
  letter-spacing: .2px;

  color: var(--ob-white);
  background: var(--ob-gradient-deep);
  border: 1px solid rgba(253, 253, 254, .22);
  box-shadow: 0 12px 28px rgba(93, 43, 212, .22);

  transition: transform .2s ease, filter .2s ease, box-shadow .2s ease;
}

.cookies-btn:hover {
  color: var(--ob-white);
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(93, 43, 212, .28);
}

.cookies-btn:active {
  transform: translateY(0);
  filter: brightness(.98);
}

@media (max-width: 767px) {
  .cookies-card {
    width: 100%;
    left: 0;
    bottom: 0;
    font-size: 14px;
    padding: 15px;
    border-radius: 18px 18px 0 0;
  }
}

.hover-input-popup { position: relative; }
.input-popup { display: none; }

.hover-input-popup .input-popup {
  display: block;
  position: absolute;
  bottom: 130%;
  left: 50%;
  width: 280px;

  color: var(--ob-white);
  padding: 20px;
  border-radius: 10px;
  transform: translateX(-50%);

  background: var(--ob-gradient-deep);
  border: 1px solid rgba(205, 168, 247, .18);
  box-shadow: 0 18px 50px rgba(57, 20, 170, .35);

  transition: all 0.3s;
}

.input-popup::after {
  position: absolute;
  content: '';
  bottom: -19px;
  left: 50%;
  margin-left: -5px;
  border-width: 10px;
  border-style: solid;
  border-color: transparent transparent var(--ob-purple-700) transparent;
  transform: rotate(180deg);
}

.input-popup p {
  padding-left: 20px;
  position: relative;
}

.input-popup p::before {
  position: absolute;
  content: '';
  font-family: 'Line Awesome Free';
  font-weight: 900;
  left: 0;
  top: 4px;
  line-height: 1;
  font-size: 18px;
}

.input-popup p.error { text-decoration: line-through; }
.input-popup p.error::before { content: "\f057"; color: #ea5455; }
.input-popup p.success::before { content: "\f058"; color: #28c76f; }

.show-filter { display: none; }

@media(max-width:767px) {
  .responsive-filter-card { display: none; transition: none; }
  .show-filter { display: block; }
}

button .spinner-border {
  --bs-spinner-width: 1.5rem;
  --bs-spinner-height: 1.5rem;
}

/* Optional: better match when site is dark (logo pops on dark) */
@media (prefers-color-scheme: dark) {
  .cookies-card {
    background: rgba(30, 35, 55, .92);
    color: rgba(253, 253, 254, .92);
    border-color: rgba(205, 168, 247, .16);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .35);
  }
}