/* BlackVaultMods — shared visual FX (loaded on every page) */

/* Vignette on the whole page fabric */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:9998;
  box-shadow:inset 0 0 180px 40px rgba(0,0,0,.55), inset 0 0 60px rgba(0,0,0,.35);
}

/* Nav links float up on hover */
.bvm-navlinks a{transition:transform .2s ease, text-shadow .2s ease !important;will-change:transform}
.bvm-navlinks a:hover{transform:translateY(-3px)}

/* Logo: slow infinite shine sweep (off-hover) */
.bvm-logo-shine{position:relative;overflow:hidden;border-radius:8px}
.bvm-logo-shine::after{
  content:"";position:absolute;top:0;left:-140%;width:60%;height:100%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  transform:skewX(-18deg);animation:bvm-logo-sweep 4.5s ease-in-out infinite;pointer-events:none
}
@keyframes bvm-logo-sweep{0%{left:-140%}55%{left:160%}100%{left:160%}}

/* 3D pushable button */
.bvm-3d{position:relative;border:none;transition:transform .08s ease, box-shadow .08s ease;
  box-shadow:0 6px 0 rgba(0,0,0,.45), 0 10px 20px rgba(0,0,0,.35)}
.bvm-3d:hover{transform:translateY(-1px);box-shadow:0 7px 0 rgba(0,0,0,.45), 0 12px 24px rgba(0,0,0,.4)}
.bvm-3d:active{transform:translateY(5px);box-shadow:0 1px 0 rgba(0,0,0,.45), 0 3px 8px rgba(0,0,0,.4)}

/* 3D corner sticker for product cards (hot/featured) */
.bvm-sticker{position:absolute;top:-9px;right:-9px;z-index:3;font-size:9px;font-weight:900;letter-spacing:.06em;
  color:#0a0a0a;padding:5px 10px;border-radius:8px;transform:rotate(8deg);
  box-shadow:0 4px 0 rgba(0,0,0,.4), 0 6px 12px rgba(0,0,0,.4)}

/* Free card: gold glow + float */
@keyframes bvm-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
.bvm-free-card{border-color:rgba(212,175,15,.5) !important;
  box-shadow:0 0 44px rgba(212,175,15,.16) !important;animation:bvm-float 4.6s ease-in-out infinite}
.bvm-free-card:hover{border-color:rgba(212,175,15,.85) !important;box-shadow:0 0 64px rgba(212,175,15,.32) !important}

/* Announcement ticker (moving bar) */
@keyframes bvm-ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.bvm-ticker-wrap:hover .bvm-ticker-track{animation-play-state:paused}

/* Shop: 3 cols → 2 → 1 */
@media (max-width:820px){.bvm-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:28px !important}}
@media (max-width:520px){.bvm-shop-grid{grid-template-columns:1fr !important}}

@media (prefers-reduced-motion:reduce){
  .bvm-logo-shine::after,.bvm-free-card,.bvm-hero-franklin{animation:none}
}
