/* Cookie Consent Banner - compact bottom-right */

:root {
  --cc-bg: rgba(242, 239, 248, 0.77);
  --cc-text-color: #000000;
  --cc-link-color: #000000;

  --cc-btn-bg: linear-gradient(90deg, #60219a 0%, #55219a 100%);
  --cc-btn-color: #ffffff;

  --cc-radius: 14px;
  --cc-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);

  --cc-backdrop-blur: 10px;

  --cc-z: 2147483000;

  --cc-gap: 12px;

  --cc-max-width: 360px;
  --cc-padding: 24px 24px;

  --cc-title-size: 14.5px;
  --cc-text-size: 12.8px;

  --cc-btn-padding: 10px 12px;




  --ttop-bg: rgba(23, 20, 26, 0.72);
  --ttop-color: #59219a;
  --ttop-radius: 9px;
  --ttop-shadow: 0 10px 25px rgba(0, 0, 0, 0.22);
  --ttop-backdrop-blur: 10px;
  --ttop-z: 2147482000;
  --ttop-size: 42px;


}




#ttop-root {
  position: fixed;
  left: 16px;
  bottom: 16px;
  z-index: var(--ttop-z);
}

.ttop-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: var(--ttop-size);
  height: var(--ttop-size);

  border-radius: var(--ttop-radius);
  border: 0;
  padding: 0;

  background: var(--cc-bg);
  color: var(--ttop-color);

  box-shadow: var(--ttop-shadow);
  -webkit-backdrop-filter: blur(var(--ttop-backdrop-blur));
  backdrop-filter: blur(var(--ttop-backdrop-blur));

  font-size: 18px;
  cursor: pointer;

  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease, filter 0.12s ease;
}

.ttop-btn--show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.ttop-btn:hover {
  filter: brightness(1.08);
}

.ttop-btn:active {
  transform: translateY(1px);
}

.ttop-btn__arrow {
  line-height: 1;
}

/* РќР° РјРѕР±РёР»РєРµ С‡СѓС‚СЊ РїСЂРёРїРѕРґРЅРёРјРµРј, С‡С‚РѕР±С‹ РЅРµ РїСЂРёР»РёРїР°Р»Рѕ Рє РєСЂР°СЋ СЌРєСЂР°РЅР° */
@media (max-width: 640px) {
  #ttop-root {
    left: 12px;
    bottom: 12px;
  }
}




#cc-banner-root {
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: var(--cc-z);
  max-width: var(--cc-max-width);
}

.cc-banner {
  display: flex;
  align-items: center;
  gap: var(--cc-gap);

  width: 100%;
  box-sizing: border-box;
  padding: var(--cc-padding);

  background: var(--cc-bg);
  color: var(--cc-text-color);

  border-radius: var(--cc-radius);

  -webkit-backdrop-filter: blur(var(--cc-backdrop-blur));
  backdrop-filter: blur(var(--cc-backdrop-blur));

  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;

  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.cc-banner--show {
  opacity: 1;
  transform: translateY(0);
}

.cc-banner--hide {
  opacity: 0;
  transform: translateY(8px);
}

.cc-banner__content {
  flex: 1 1 auto;
  min-width: 0;
}

.cc-banner__title {
  font-size: var(--cc-title-size);
  font-weight: 600;
  margin-bottom: 4px;
}

.cc-banner__text {
  font-size: var(--cc-text-size);
  opacity: 0.92;
}

.cc-banner__link {
  color: var(--cc-link-color);
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 500;
}

.cc-banner__accept {
  flex: 0 0 auto;

  display: inline-flex;
  align-items: center;
  gap: 8px;

  appearance: none;
  border: 0;
  cursor: pointer;

  padding: var(--cc-btn-padding);
  border-radius: 10px;

  background: var(--cc-btn-bg);
  color: var(--cc-btn-color);

  font-size: 12.8px;
  font-weight: 600;
  line-height: 1;

  transition: transform 0.08s ease, filter 0.12s ease;
  white-space: nowrap;
}

.cc-banner__accept:hover {
  filter: brightness(0.96);
}

.cc-banner__accept:active {
  transform: translateY(1px);
}

.cc-banner__accept-icon svg {
  display: block;
}

/* Mobile: make it full-width at bottom */
@media (max-width: 640px) {
  #cc-banner-root {
    left: 12px;
    right: 12px;
    bottom: 12px;
    max-width: none;
  }

  .cc-banner {
    align-items: flex-start;
  }
}