.vikifi-bf-popup {
  width: min(440px, calc(100vw - 24px));
  max-width: none;
  max-height: min(92dvh, 720px);
  margin: auto;
  padding: 0;
  border: 1px solid #8062cb;
  border-radius: 24px;
  overflow: auto;
  color: #fff;
  background: radial-gradient(ellipse at 95% 25%, #412575 0, transparent 58%), #171431;
  box-shadow: 0 30px 100px #10092688;
  font-family: inherit;
  color-scheme: dark;
}
.vikifi-bf-popup::backdrop { background: #14122691; backdrop-filter: blur(4px); }
.vikifi-bf-head { position: relative; padding: 22px 26px 10px; }
.vikifi-bf-brand { display: block; font-size: 22px; font-weight: 850; letter-spacing: -.04em; }
.vikifi-bf-head h2 { margin: 9px 42px 0 0; color: inherit; font-size: clamp(25px, 7vw, 34px); font-weight: 850; line-height: 1.06; letter-spacing: -.035em; }
.vikifi-bf-close {
  position: absolute; right: 14px; top: 13px; width: 38px; height: 38px;
  border: 1px solid #ffffff45; border-radius: 50%; background: #241a46; color: #fff;
  font-size: 24px; line-height: 1; cursor: pointer;
}
.vikifi-bf-art { display: block; width: 100%; height: clamp(110px, 23dvh, 180px); object-fit: cover; object-position: center; }
.vikifi-bf-details { padding: 0 26px 24px; position: relative; text-align: center; }
.vikifi-bf-details p { margin: 0; color: inherit; }
.vikifi-bf-details .vikifi-bf-label {
  display: inline-block; margin: -9px 0 6px; padding: 3px 15px; border-radius: 30px;
  background: #7939d6; font-size: 14px; font-weight: 750;
}
.vikifi-bf-offer { font-size: clamp(16px, 4.1vw, 20px); font-weight: 700; line-height: 1.15; }
.vikifi-bf-offer strong { font-size: clamp(34px, 10vw, 46px); letter-spacing: -.045em; }
.vikifi-bf-details .vikifi-bf-price { font-weight: 800; font-size: clamp(23px, 6.3vw, 30px); margin: 4px 0 9px; letter-spacing: -.035em; }
.vikifi-bf-details .vikifi-bf-trial { display: inline-block; padding: 4px 14px; border: 1px solid #bc9aff; border-radius: 50px; font-size: 14px; font-weight: 700; }
.vikifi-bf-details .vikifi-bf-date { margin: 10px 0 13px; color: #e1d6fd; font-size: 13px; }
.vikifi-bf-cta {
  display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 48px;
  padding: 8px 13px; border-radius: 12px; background: linear-gradient(110deg, #7030e4, #8529d5);
  color: #fff; font-size: 16px; font-weight: 800; text-decoration: none;
}
.vikifi-bf-cta:hover { background: #7831de; color: #fff; }
.vikifi-bf-popup :focus-visible { outline: 2px solid #f0d6ff; outline-offset: 3px; }
@media (max-width: 480px) {
  .vikifi-bf-head { padding-inline: 20px; }
  .vikifi-bf-details { padding: 0 20px 19px; }
}
@media (max-height: 620px) {
  .vikifi-bf-head { padding-block: 15px 8px; }
  .vikifi-bf-art { height: 105px; }
}
