
:root{
  --bbvcp-surface:#ffffff;
  --bbvcp-text:#2b1f52;
  --bbvcp-soft:#7d6f9d;
  --bbvcp-accent:#7a4dff;
  --bbvcp-radius:24px;
}
html,body{
  margin:0;
  padding:0;
  min-height:100%;
  background:linear-gradient(180deg,#f8f4ff,#efe6ff);
  color:var(--bbvcp-text);
}
body.bbvcp-public-body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.bbvcp-public{
  min-height:100vh;
}
.bbvcp-stage{
  min-height:100svh;
  position:relative;
  overflow:hidden;
}
.bbvcp-stage::before,.bbvcp-stage::after{
  content:"";
  position:absolute;
  border-radius:50%;
  filter:blur(92px);
  opacity:.22;
  pointer-events:none;
}
.bbvcp-stage::before{
  width:40vw;
  height:40vw;
  top:-8vw;
  left:-8vw;
  background:#a784ff;
}
.bbvcp-stage::after{
  width:34vw;
  height:34vw;
  right:-10vw;
  bottom:-8vw;
  background:#d9c2ff;
}
.bbvcp-stage__hero{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:28px 18px;
}
.bbvcp-stage__hero-inner{
  width:100%;
  max-width:1080px;
  position:relative;
  z-index:2;
}
.bbvcp-stage__details{
  padding:0 18px 28px;
}
.bbvcp-stage__details-inner{
  max-width:1080px;
  margin:0 auto;
  display:grid;
  gap:16px;
}
.bbvcp-presentation{
  min-height:calc(100svh - 56px);
  display:grid;
  place-items:center;
  gap:18px;
}
.bbvcp-presentation__hint{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 16px;
  border-radius:999px;
  border:1px solid rgba(111,82,199,.14);
  background:rgba(255,255,255,.8);
  color:var(--bbvcp-text);
  box-shadow:0 12px 30px rgba(97,66,179,.10);
}
.bbvcp-presentation__cta{
  opacity:0;
  transform:translateY(16px);
  transition:opacity .6s ease, transform .6s ease;
  pointer-events:none;
}
.bbvcp-presentation.is-cta-visible .bbvcp-presentation__cta{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.bbvcp-card-shell{
  perspective:1600px;
  --bbvcp-accent:#7a4dff;
  --bbvcp-radius:18px;
  animation:bbvcpShellRise .95s cubic-bezier(.22,.94,.25,1) both;
}
.bbvcp-card{
  position:relative;
  width:min(82vw,390px);
  aspect-ratio:4 / 7;
  transform-style:preserve-3d;
  transition:transform .9s cubic-bezier(.2,.8,.2,1);
  cursor:pointer;
}
.bbvcp-card.is-flipped{
  transform:rotateY(180deg);
}
.bbvcp-face{
  position:absolute;
  inset:0;
  border-radius:var(--bbvcp-radius);
  background:var(--bbvcp-card-background);
  border:1px solid rgba(102,73,189,.14);
  overflow:hidden;
  backface-visibility:hidden;
  box-shadow:0 30px 100px rgba(96,64,176,.18),0 10px 22px rgba(96,64,176,.08);
}
.bbvcp-face--back{
  transform:rotateY(180deg);
}
.bbvcp-shape--pill .bbvcp-face{border-radius:34px}
.bbvcp-shape--sharp .bbvcp-face{border-radius:8px}
.bbvcp-border--soft-glow .bbvcp-face{
  box-shadow:0 0 0 1px rgba(104,76,193,.12),0 22px 80px rgba(96,64,176,.16),0 0 34px color-mix(in srgb,var(--bbvcp-accent) 32%, transparent);
}
.bbvcp-border--glass .bbvcp-face{
  background-image:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.04));
  backdrop-filter:blur(12px);
}
.bbvcp-border--outline .bbvcp-face{
  box-shadow:0 0 0 1px rgba(104,76,193,.16),0 20px 70px rgba(96,64,176,.14);
}
.bbvcp-el{
  position:absolute;
  left:var(--bbvcp-x);
  top:var(--bbvcp-y);
  width:var(--bbvcp-w);
  height:var(--bbvcp-h);
  min-height:0;
  z-index:var(--bbvcp-z);
  color:var(--bbvcp-color);
  opacity:var(--bbvcp-opacity);
  font-weight:var(--bbvcp-weight);
  text-align:var(--bbvcp-align);
  font-family:var(--bbvcp-font);
  font-size:var(--bbvcp-font-size);
  letter-spacing:var(--bbvcp-letter-spacing,0em);
  line-height:1.08;
  display:flex;
  align-items:flex-start;
  justify-content:var(--bbvcp-justify,flex-start);
  word-break:break-word;
}
.bbvcp-el--link{
  color:var(--bbvcp-color);
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:2px;
}
.bbvcp-el--image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:14px;
  display:block;
}
.bbvcp-anim--flip-reveal{animation:bbvcpShellFlip .8s cubic-bezier(.22,.94,.25,1) both}
.bbvcp-anim--glow-pulse{animation:bbvcpShellGlow 1.05s ease both}
.bbvcp-anim--slide-up-spotlight{animation:bbvcpShellSpotlight 1s cubic-bezier(.22,.94,.25,1) both}
.bbvcp-anim--holographic-materialize{animation:bbvcpShellHolo 1.1s cubic-bezier(.22,.94,.25,1) both}
@keyframes bbvcpShellRise{
  0%{opacity:0;transform:translateY(42px) scale(.92)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes bbvcpShellFlip{
  0%{opacity:0;transform:translateY(24px) rotateX(10deg) scale(.92)}
  100%{opacity:1;transform:translateY(0) rotateX(0deg) scale(1)}
}
@keyframes bbvcpShellGlow{
  0%{opacity:0;transform:scale(.94);filter:drop-shadow(0 0 0 rgba(122,77,255,0))}
  60%{opacity:1;transform:scale(1.02);filter:drop-shadow(0 0 22px rgba(122,77,255,.28))}
  100%{opacity:1;transform:scale(1)}
}
@keyframes bbvcpShellSpotlight{
  0%{opacity:0;transform:translateY(70px) scale(.93)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes bbvcpShellHolo{
  0%{opacity:0;transform:scale(.96) translateY(20px);filter:saturate(2) hue-rotate(24deg)}
  60%{opacity:1;transform:scale(1.01) translateY(0);filter:saturate(1.35) hue-rotate(0deg)}
  100%{opacity:1;transform:scale(1);filter:saturate(1)}
}
.bbvcp-theme--classic-stage{
  --bbvcp-accent:#7a4dff;
  background:radial-gradient(circle at top,#ffffff 0%,#f2e9ff 48%,#ece2ff 100%);
}
.bbvcp-theme--dark-luxury{
  --bbvcp-accent:#cfb5ff;
  background:radial-gradient(circle at top,#2d2345 0%,#171022 44%,#100b19 100%);
  color:#f8f3ff;
}
.bbvcp-theme--neon-tech{
  --bbvcp-accent:#9b7dff;
  background:radial-gradient(circle at top,#35206b 0%,#1c1238 48%,#120b24 100%);
  color:#f7f3ff;
}
.bbvcp-theme--minimal-white{
  --bbvcp-accent:#7a4dff;
  background:linear-gradient(180deg,#ffffff,#f5eeff 62%,#eee3ff);
}
.bbvcp-theme--creator-spotlight{
  --bbvcp-accent:#ff88c6;
  background:radial-gradient(circle at top,#5f1d57 0%,#2a1026 45%,#180a15 100%);
  color:#fff3fb;
}
.bbvcp-theme--nature-ambient{
  --bbvcp-accent:#9fd1ff;
  background:radial-gradient(circle at top,#59628b 0%,#313a59 40%,#21273f 100%);
  color:#f5f7ff;
}
.bbvcp-primary-link,.bbvcp-save-contact,.bbvcp-share-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:50px;
  padding:12px 18px;
  border-radius:999px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(111,82,199,.14);
}
.bbvcp-save-contact{
  background:linear-gradient(135deg,#7a4dff 0%,#8f63ff 65%,#a783ff 100%);
  color:#fff;
  box-shadow:0 16px 34px rgba(122,77,255,.22);
}
.bbvcp-primary-link,.bbvcp-share-chip{
  background:rgba(255,255,255,.84);
  color:var(--bbvcp-text);
  box-shadow:0 12px 30px rgba(97,66,179,.10);
}
.bbvcp-details-card{
  padding:18px;
  border-radius:26px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(111,82,199,.12);
  box-shadow:0 12px 30px rgba(97,66,179,.08);
  backdrop-filter:blur(10px);
}
.bbvcp-details-card h2{
  margin:0 0 8px;
  font-size:1.2rem;
}
.bbvcp-details-card p{
  margin:0;
  color:var(--bbvcp-soft);
}
.bbvcp-qr-block{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:24px;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(111,82,199,.12);
  box-shadow:0 12px 30px rgba(97,66,179,.08);
}
.bbvcp-qr-block img{
  width:82px;
  height:82px;
  background:#fff;
  border-radius:18px;
  padding:8px;
  border:1px solid rgba(111,82,199,.12);
}
.bbvcp-qr-block p{
  margin:4px 0 0;
  color:var(--bbvcp-soft);
}
.bbvcp-locked{
  min-height:100svh;
  display:grid;
  place-items:center;
  padding:24px;
}
.bbvcp-locked__card{
  max-width:420px;
  padding:24px;
  text-align:center;
  border-radius:28px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(111,82,199,.12);
  box-shadow:0 14px 34px rgba(97,66,179,.08);
}
.bbvcp-locked__card h1{
  margin:0 0 10px;
}
.bbvcp-locked__card p{
  margin:0 0 16px;
  color:var(--bbvcp-soft);
}
.bbvcp-theme--dark-luxury .bbvcp-primary-link,
.bbvcp-theme--dark-luxury .bbvcp-share-chip,
.bbvcp-theme--neon-tech .bbvcp-primary-link,
.bbvcp-theme--neon-tech .bbvcp-share-chip,
.bbvcp-theme--creator-spotlight .bbvcp-primary-link,
.bbvcp-theme--creator-spotlight .bbvcp-share-chip,
.bbvcp-theme--nature-ambient .bbvcp-primary-link,
.bbvcp-theme--nature-ambient .bbvcp-share-chip,
.bbvcp-theme--dark-luxury .bbvcp-details-card,
.bbvcp-theme--neon-tech .bbvcp-details-card,
.bbvcp-theme--creator-spotlight .bbvcp-details-card,
.bbvcp-theme--nature-ambient .bbvcp-details-card,
.bbvcp-theme--dark-luxury .bbvcp-qr-block,
.bbvcp-theme--neon-tech .bbvcp-qr-block,
.bbvcp-theme--creator-spotlight .bbvcp-qr-block,
.bbvcp-theme--nature-ambient .bbvcp-qr-block{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.12);
}
.bbvcp-theme--dark-luxury .bbvcp-details-card p,
.bbvcp-theme--neon-tech .bbvcp-details-card p,
.bbvcp-theme--creator-spotlight .bbvcp-details-card p,
.bbvcp-theme--nature-ambient .bbvcp-details-card p,
.bbvcp-theme--dark-luxury .bbvcp-qr-block p,
.bbvcp-theme--neon-tech .bbvcp-qr-block p,
.bbvcp-theme--creator-spotlight .bbvcp-qr-block p,
.bbvcp-theme--nature-ambient .bbvcp-qr-block p{
  color:rgba(255,255,255,.72);
}
@media (max-width:720px){
  .bbvcp-presentation{
    min-height:calc(100svh - 72px);
  }
  .bbvcp-stage__details{
    padding:0 14px 22px;
  }
  .bbvcp-qr-block{
    align-items:flex-start;
  }
}
@media (prefers-reduced-motion:reduce){
  .bbvcp-card-shell,.bbvcp-card,.bbvcp-presentation__cta{
    animation:none !important;
    transition:none !important;
  }
  .bbvcp-presentation__cta{
    opacity:1;
    transform:none;
    pointer-events:auto;
  }
}


/* v2.4.0 presentation polish */
.bbvcp-card-shell{
  position:relative;
}
.bbvcp-card-shell::after{
  content:"";
  position:absolute;
  inset:-6%;
  border-radius:inherit;
  pointer-events:none;
  opacity:0;
}
.bbvcp-card,
.bbvcp-face{
  transform-style:preserve-3d;
  -webkit-transform-style:preserve-3d;
}
.bbvcp-face{
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  container-type:inline-size;
}
.bbvcp-el{
  font-size:calc(var(--bbvcp-font-scale, 6) * 1cqw);
}
.bbvcp-border--soft-glow .bbvcp-face,
.bbvcp-border--glass .bbvcp-face,
.bbvcp-border--outline .bbvcp-face{
  border-width:var(--bbvcp-frame-thickness,1px);
}
.bbvcp-anim--summon-reveal{
  animation:bbvcpSummonReveal 1.4s cubic-bezier(.22,.94,.25,1) both, bbvcpIdleFloat 4.2s ease-in-out 1.7s infinite;
}
.bbvcp-anim--floating-idle{
  animation:bbvcpIdleFloat 4.2s ease-in-out .2s infinite;
}
.bbvcp-anim--flip-reveal{animation:bbvcpShellFlip .9s cubic-bezier(.22,.94,.25,1) both}
.bbvcp-anim--glow-pulse{animation:bbvcpShellGlow 1.05s ease both}
.bbvcp-anim--slide-up-spotlight{animation:bbvcpShellSpotlight 1s cubic-bezier(.22,.94,.25,1) both}
.bbvcp-anim--holographic-materialize{animation:bbvcpShellHolo 1.1s cubic-bezier(.22,.94,.25,1) both}
.bbvcp-anim--velvet-rise{animation:bbvcpVelvetRise 1.1s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--prism-bloom{animation:bbvcpPrismBloom 1.25s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--spotlight-sweep{animation:bbvcpSpotlightSweep 1s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--midnight-float{animation:bbvcpMidnightFloat 1.15s cubic-bezier(.2,.84,.18,1) both, bbvcpIdleFloat 4.6s ease-in-out 1.3s infinite}
.bbvcp-anim--neon-scan{animation:bbvcpNeonScan 1.1s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--glass-pop{animation:bbvcpGlassPop .95s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--lux-lift{animation:bbvcpLuxLift 1.05s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--aurora-drift{animation:bbvcpAuroraDrift 1.2s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--pulse-flip{animation:bbvcpPulseFlip 1s cubic-bezier(.2,.84,.18,1) both}
.bbvcp-anim--summon-reveal::after,
.bbvcp-anim--floating-idle::after{
  animation:bbvcpShimmer 3.8s linear 2.2s infinite;
}
@keyframes bbvcpSummonReveal{
  0%{opacity:0;transform:translateY(50px) rotateX(12deg) rotateZ(-3deg) scale(.9)}
  55%{opacity:1;transform:translateY(-4px) rotateX(0deg) rotateZ(-1deg) scale(1.02)}
  100%{opacity:1;transform:translateY(0) rotateX(0deg) rotateZ(-1.5deg) scale(1)}
}
@keyframes bbvcpIdleFloat{
  0%,100%{transform:translateY(0) rotateZ(-1.5deg)}
  50%{transform:translateY(-8px) rotateZ(-.4deg)}
}
@keyframes bbvcpShimmer{
  0%,100%{opacity:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.22) 50%,rgba(255,255,255,0) 60%,transparent 100%);transform:translateX(-18%)}
  20%{opacity:.7;transform:translateX(14%)}
  35%{opacity:0}
}
@keyframes bbvcpVelvetRise{
  0%{opacity:0;transform:translateY(64px) scale(.9)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes bbvcpPrismBloom{
  0%{opacity:0;filter:saturate(1.7) hue-rotate(18deg);transform:scale(.88)}
  100%{opacity:1;filter:saturate(1);transform:scale(1)}
}
@keyframes bbvcpSpotlightSweep{
  0%{opacity:0;transform:translateY(42px) scale(.92)}
  60%{opacity:1;transform:translateY(0) scale(1.02)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes bbvcpMidnightFloat{
  0%{opacity:0;transform:translateY(36px) scale(.94)}
  100%{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes bbvcpNeonScan{
  0%{opacity:0;transform:scale(.95);filter:brightness(1.25)}
  100%{opacity:1;transform:scale(1);filter:brightness(1)}
}
@keyframes bbvcpGlassPop{
  0%{opacity:0;transform:scale(.84)}
  65%{opacity:1;transform:scale(1.03)}
  100%{opacity:1;transform:scale(1)}
}
@keyframes bbvcpLuxLift{
  0%{opacity:0;transform:translateY(34px) rotateX(9deg)}
  100%{opacity:1;transform:translateY(0) rotateX(0)}
}
@keyframes bbvcpAuroraDrift{
  0%{opacity:0;transform:translateY(26px) scale(.96);filter:hue-rotate(24deg)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:hue-rotate(0)}
}
@keyframes bbvcpPulseFlip{
  0%{opacity:0;transform:scale(.92) rotateX(12deg)}
  55%{opacity:1;transform:scale(1.03) rotateX(0)}
  100%{opacity:1;transform:scale(1)}
}
.bbvcp-theme--midnight-velvet{
  --bbvcp-accent:#9a7fff;
  background:radial-gradient(circle at top,#1b1130 0%,#0f091d 45%,#090512 100%);
  color:#fff;
}
.bbvcp-theme--iris-glass{
  --bbvcp-accent:#8f6fff;
  background:radial-gradient(circle at top,#ffffff 0%,#efe8ff 48%,#d7cbff 100%);
}
.bbvcp-theme--sunrise-pearl{
  --bbvcp-accent:#ff8b85;
  background:radial-gradient(circle at top,#fff8fb 0%,#ffe9ef 50%,#f3ddff 100%);
}
.bbvcp-theme--obsidian-glow{
  --bbvcp-accent:#b38aff;
  background:radial-gradient(circle at top,#17131d 0%,#0b0910 46%,#040306 100%);
  color:#fff;
}
.bbvcp-theme--lavender-fog{
  --bbvcp-accent:#8b67ff;
  background:linear-gradient(180deg,#fbf8ff 0%,#ede6ff 58%,#d9cffc 100%);
}
.bbvcp-theme--electric-violet{
  --bbvcp-accent:#ad8dff;
  background:radial-gradient(circle at top,#4520a2 0%,#241252 46%,#160a2d 100%);
  color:#fff;
}
.bbvcp-theme--champagne-studio{
  --bbvcp-accent:#dfb970;
  background:linear-gradient(180deg,#fffaf3 0%,#f9efd7 52%,#efe3ff 100%);
}
.bbvcp-theme--ocean-noir{
  --bbvcp-accent:#69beff;
  background:radial-gradient(circle at top,#132946 0%,#0b1727 48%,#050a12 100%);
  color:#fff;
}
.bbvcp-theme--sunset-halo{
  --bbvcp-accent:#ff8f6d;
  background:linear-gradient(180deg,#fff2ef 0%,#ffd3c7 52%,#f2d4ff 100%);
}
.bbvcp-theme--midnight-velvet .bbvcp-primary-link,
.bbvcp-theme--midnight-velvet .bbvcp-share-chip,
.bbvcp-theme--midnight-velvet .bbvcp-details-card,
.bbvcp-theme--midnight-velvet .bbvcp-qr-block,
.bbvcp-theme--obsidian-glow .bbvcp-primary-link,
.bbvcp-theme--obsidian-glow .bbvcp-share-chip,
.bbvcp-theme--obsidian-glow .bbvcp-details-card,
.bbvcp-theme--obsidian-glow .bbvcp-qr-block,
.bbvcp-theme--electric-violet .bbvcp-primary-link,
.bbvcp-theme--electric-violet .bbvcp-share-chip,
.bbvcp-theme--electric-violet .bbvcp-details-card,
.bbvcp-theme--electric-violet .bbvcp-qr-block,
.bbvcp-theme--ocean-noir .bbvcp-primary-link,
.bbvcp-theme--ocean-noir .bbvcp-share-chip,
.bbvcp-theme--ocean-noir .bbvcp-details-card,
.bbvcp-theme--ocean-noir .bbvcp-qr-block{
  background:rgba(255,255,255,.08);
  color:#fff;
  border-color:rgba(255,255,255,.14);
}
.bbvcp-theme--midnight-velvet .bbvcp-details-card p,
.bbvcp-theme--midnight-velvet .bbvcp-qr-block p,
.bbvcp-theme--obsidian-glow .bbvcp-details-card p,
.bbvcp-theme--obsidian-glow .bbvcp-qr-block p,
.bbvcp-theme--electric-violet .bbvcp-details-card p,
.bbvcp-theme--electric-violet .bbvcp-qr-block p,
.bbvcp-theme--ocean-noir .bbvcp-details-card p,
.bbvcp-theme--ocean-noir .bbvcp-qr-block p{
  color:rgba(255,255,255,.72);
}


/* v2.4.1 polish */
body.bbvcp-public-body{
  background:linear-gradient(180deg,#fbf8ff,#f0e7ff);
}
.bbvcp-stage__hero{
  padding:18px 14px;
}
.bbvcp-presentation{
  min-height:100svh;
  gap:14px;
}
.bbvcp-presentation__cta{
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  background:linear-gradient(135deg,#7a4dff,#9f7aea);
  color:#fff;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 14px 34px rgba(122,77,255,.18);
}
.bbvcp-card{
  touch-action:manipulation;
}
.bbvcp-card[data-side="front"] .bbvcp-face--back{
  opacity:0;
  visibility:hidden;
}
.bbvcp-card[data-side="back"] .bbvcp-face--front{
  opacity:0;
  visibility:hidden;
}
.bbvcp-face{
  transition:opacity .18s ease, visibility .18s ease, transform .9s cubic-bezier(.2,.8,.2,1);
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.bbvcp-face *{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.bbvcp-theme--classic-stage,
.bbvcp-theme--minimal-white,
.bbvcp-theme--iris-glass,
.bbvcp-theme--lavender-fog,
.bbvcp-theme--sunrise-pearl,
.bbvcp-theme--champagne-studio,
.bbvcp-theme--sunset-halo{
  background:
    radial-gradient(circle at top left,rgba(146,105,255,.15),transparent 34%),
    radial-gradient(circle at bottom right,rgba(122,77,255,.12),transparent 28%),
    linear-gradient(180deg,#f8f4ff 0%,#efe6ff 100%);
}
.bbvcp-anim--floating-idle .bbvcp-card{
  animation:bbvcpIdleFloat 4.2s ease-in-out infinite;
}
.bbvcp-anim--floating-idle .bbvcp-face::after{
  content:"";
  position:absolute;
  inset:-30%;
  background:linear-gradient(120deg,transparent 28%,rgba(255,255,255,.25) 44%,transparent 58%);
  transform:translateX(-120%) rotate(12deg);
  animation:bbvcpShimmer 4s ease-in-out infinite;
  pointer-events:none;
}
.bbvcp-anim--summon-reveal .bbvcp-card{
  animation:bbvcpSummonReveal 2.2s cubic-bezier(.2,.88,.23,1) both, bbvcpIdleFloat 4.2s ease-in-out 2.2s infinite;
}
.bbvcp-anim--flip-reveal .bbvcp-card{animation:bbvcpFlipReveal 1.4s cubic-bezier(.18,.88,.22,1) both;}
.bbvcp-anim--glow-pulse .bbvcp-card{animation:bbvcpGlowPulse 1.5s ease both;}
.bbvcp-anim--slide-up-spotlight .bbvcp-card{animation:bbvcpSlideSpot 1.6s cubic-bezier(.18,.88,.22,1) both;}
.bbvcp-anim--holographic-materialize .bbvcp-card{animation:bbvcpHolo 1.7s ease both;}
@keyframes bbvcpIdleFloat{
  0%,100%{transform:translateY(0) rotate(-1.6deg);}
  50%{transform:translateY(-10px) rotate(1.2deg);}
}
@keyframes bbvcpShimmer{
  0%,70%,100%{transform:translateX(-120%) rotate(12deg);}
  82%{transform:translateX(120%) rotate(12deg);}
}
@keyframes bbvcpSummonReveal{
  0%{opacity:0; transform:translateY(38px) scale(.92) rotate(-6deg);}
  55%{opacity:1; transform:translateY(-6px) scale(1.02) rotate(1.5deg);}
  100%{opacity:1; transform:translateY(0) scale(1) rotate(-1.6deg);}
}
@keyframes bbvcpFlipReveal{
  0%{opacity:0; transform:perspective(1400px) rotateY(-90deg) translateY(18px);}
  100%{opacity:1; transform:perspective(1400px) rotateY(0deg) translateY(0);}
}
@keyframes bbvcpGlowPulse{
  0%{opacity:0; transform:scale(.94); box-shadow:0 0 0 rgba(122,77,255,0);}
  60%{opacity:1; transform:scale(1.02); box-shadow:0 0 40px rgba(122,77,255,.18);}
  100%{opacity:1; transform:scale(1); box-shadow:none;}
}
@keyframes bbvcpSlideSpot{
  0%{opacity:0; transform:translateY(36px) scale(.96);}
  100%{opacity:1; transform:translateY(0) scale(1);}
}
@keyframes bbvcpHolo{
  0%{opacity:0; filter:blur(8px) saturate(1.4); transform:scale(.98);}
  100%{opacity:1; filter:blur(0) saturate(1); transform:scale(1);}
}


.bbvcp-details-card h2{
  color:#ffffff;
}
.bbvcp-details-card p{
  color:rgba(255,255,255,.86);
}
.bbvcp-card,
.bbvcp-face{
  transform-style:preserve-3d;
}
.bbvcp-face{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.bbvcp-face--front{
  transform:rotateY(0deg) translateZ(1px);
}
.bbvcp-face--back{
  transform:rotateY(180deg) translateZ(1px);
}


/* v2.5.1 split entrance + idle animation system */
.bbvcp-card-shell{
  --bbvcp-entrance-animation:none;
  --bbvcp-idle-animation:none;
  animation:var(--bbvcp-entrance-animation), var(--bbvcp-idle-animation);
  animation-fill-mode:both, both;
}
.bbvcp-entrance--none{--bbvcp-entrance-animation:none;}
.bbvcp-entrance--summon-reveal{--bbvcp-entrance-animation:bbvcpSummonReveal 1.4s cubic-bezier(.22,.94,.25,1) both;}
.bbvcp-entrance--flip-reveal{--bbvcp-entrance-animation:bbvcpShellFlip .9s cubic-bezier(.22,.94,.25,1) both;}
.bbvcp-entrance--glow-pulse{--bbvcp-entrance-animation:bbvcpShellGlow 1.05s ease both;}
.bbvcp-entrance--slide-up-spotlight{--bbvcp-entrance-animation:bbvcpShellSpotlight 1s cubic-bezier(.22,.94,.25,1) both;}
.bbvcp-entrance--holographic-materialize{--bbvcp-entrance-animation:bbvcpShellHolo 1.1s cubic-bezier(.22,.94,.25,1) both;}
.bbvcp-entrance--velvet-rise{--bbvcp-entrance-animation:bbvcpVelvetRise 1.1s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--prism-bloom{--bbvcp-entrance-animation:bbvcpPrismBloom 1.25s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--spotlight-sweep{--bbvcp-entrance-animation:bbvcpSpotlightSweep 1s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--midnight-float{--bbvcp-entrance-animation:bbvcpMidnightFloat 1.15s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--neon-scan{--bbvcp-entrance-animation:bbvcpNeonScan 1.1s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--glass-pop{--bbvcp-entrance-animation:bbvcpGlassPop .95s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--lux-lift{--bbvcp-entrance-animation:bbvcpLuxLift 1.05s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--aurora-drift{--bbvcp-entrance-animation:bbvcpAuroraDrift 1.2s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-entrance--pulse-flip{--bbvcp-entrance-animation:bbvcpPulseFlip 1s cubic-bezier(.2,.84,.18,1) both;}
.bbvcp-idle--none{--bbvcp-idle-animation:none;}
.bbvcp-idle--floating{--bbvcp-idle-animation:bbvcpIdleFloat 4.2s ease-in-out 1.7s infinite;}
.bbvcp-idle--shimmer{--bbvcp-idle-animation:bbvcpIdleFloat 4.4s ease-in-out 1.7s infinite;}
.bbvcp-idle--breathe{--bbvcp-idle-animation:bbvcpIdleBreathe 3.8s ease-in-out 1.2s infinite;}
.bbvcp-idle--sway{--bbvcp-idle-animation:bbvcpIdleSway 4.8s ease-in-out 1.2s infinite;}
.bbvcp-idle--shake{--bbvcp-idle-animation:bbvcpIdleShake 3.2s ease-in-out 1.2s infinite;}
.bbvcp-idle--pulse{--bbvcp-idle-animation:bbvcpIdlePulse 3.4s ease-in-out 1.2s infinite;}
.bbvcp-idle--drift{--bbvcp-idle-animation:bbvcpIdleDrift 5.2s ease-in-out 1.2s infinite;}
.bbvcp-idle--tilt{--bbvcp-idle-animation:bbvcpIdleTilt 4.1s ease-in-out 1.2s infinite;}
.bbvcp-entrance--summon-reveal::after,
.bbvcp-idle--floating::after,
.bbvcp-idle--shimmer::after{
  animation:bbvcpShimmer 3.8s linear 2.2s infinite;
}
@keyframes bbvcpIdleBreathe{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-5px) scale(1.02)}
}
@keyframes bbvcpIdleSway{
  0%,100%{transform:rotateZ(-1.5deg)}
  50%{transform:rotateZ(1.4deg)}
}
@keyframes bbvcpIdleShake{
  0%,100%{transform:translateX(0)}
  20%{transform:translateX(-2px)}
  40%{transform:translateX(2px)}
  60%{transform:translateX(-1px)}
  80%{transform:translateX(1px)}
}
@keyframes bbvcpIdlePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(1.02)}
}
@keyframes bbvcpIdleDrift{
  0%,100%{transform:translate3d(0,0,0) rotateZ(-1deg)}
  50%{transform:translate3d(6px,-6px,0) rotateZ(.8deg)}
}
@keyframes bbvcpIdleTilt{
  0%,100%{transform:rotateX(0) rotateY(0)}
  50%{transform:rotateX(2deg) rotateY(-4deg)}
}


/* Flip reliability hotfix */
.bbvcp-card{
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  will-change:transform;
}
.bbvcp-face{
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
  transition:opacity .18s linear, visibility 0s linear .18s;
}
.bbvcp-face--front{
  transform:rotateY(0deg) translateZ(1px);
}
.bbvcp-face--back{
  transform:rotateY(180deg) translateZ(1px);
}
.bbvcp-card[data-side="front"] .bbvcp-face--front{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}
.bbvcp-card[data-side="front"] .bbvcp-face--back{
  opacity:0;
  visibility:hidden;
}
.bbvcp-card[data-side="back"] .bbvcp-face--front{
  opacity:0;
  visibility:hidden;
}
.bbvcp-card[data-side="back"] .bbvcp-face--back{
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}


/* v2.5.1.17 public flip hardening */
.bbvcp-public .bbvcp-card{
  position:relative;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
}
.bbvcp-public .bbvcp-face{
  position:absolute;
  inset:0;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
  -webkit-transform-style:preserve-3d;
  transform-style:preserve-3d;
}
.bbvcp-public .bbvcp-card[data-side="front"] .bbvcp-face--front{
  opacity:1;
  visibility:visible;
  z-index:2;
}
.bbvcp-public .bbvcp-card[data-side="front"] .bbvcp-face--back{
  opacity:0;
  visibility:hidden;
  z-index:1;
}
.bbvcp-public .bbvcp-card[data-side="back"] .bbvcp-face--front{
  opacity:0;
  visibility:hidden;
  z-index:1;
}
.bbvcp-public .bbvcp-card[data-side="back"] .bbvcp-face--back{
  opacity:1;
  visibility:visible;
  z-index:2;
}
