/* soft.css (2026-10-18): no hard edges anywhere + the "just new" bar on the home page. Loaded last. */

/* divider lines fade out at both ends instead of stopping in a hard corner */
.svc-proof,.lane-stats,.shp-live-row,.shp-total,.vmock-bio,.dmca-note,hr{
  border-image:linear-gradient(90deg,transparent,color-mix(in srgb,currentColor 24%,transparent) 18%,color-mix(in srgb,currentColor 24%,transparent) 82%,transparent) 1}
hr{border:0;border-top:1px solid}
/* admin drawer: rounded inner edge */
.admin-in{border-radius:26px 0 0 26px;overflow:hidden}
/* media never shows square corners */
video:not(#cf-video):not(.bgv),iframe,.vmock,table{border-radius:16px}
table{overflow:hidden}

/* "just new" announcement bar (edit text/link in index.html: .newbar) */
.newbar{position:relative;z-index:12;display:flex;align-items:center;gap:10px;width:fit-content;max-width:calc(100% - 32px);margin:0 auto 22px;
  padding:6px 14px 6px 6px;border-radius:999px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;
  color:#2a1446;background:rgba(255,255,255,.72);border:1px solid rgba(107,37,176,.2);box-shadow:0 10px 30px rgba(40,20,80,.12);
  -webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);
  transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s;animation:nbIn .8s cubic-bezier(.2,.7,.2,1) both}
.newbar:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(40,20,80,.18)}
.newbar:focus-visible{outline:2px solid #9a5cf0;outline-offset:3px}
.newbar .nb-tag{flex:none;font-size:10.5px;font-weight:800;letter-spacing:.16em;padding:5px 10px;border-radius:999px;color:#1a0b00;
  background:linear-gradient(120deg,#ff8a3d,#ffc46b);box-shadow:0 0 18px rgba(255,150,60,.45)}
.newbar .nb-txt{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.newbar .nb-txt b{font-weight:800}
.newbar .nb-dim{opacity:.62}
.newbar svg{flex:none;width:15px;height:15px;opacity:.7;transition:transform .3s}
.newbar:hover svg{transform:translateX(3px)}
html.home-dark .newbar{color:#f3ecff;background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:0 10px 34px rgba(0,0,0,.35),0 0 40px rgba(154,92,240,.12)}
html.home-dark .newbar:hover{border-color:rgba(255,255,255,.28)}
@keyframes nbIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:520px){.newbar{font-size:12px}.newbar .nb-dim{display:none}}
@media(prefers-reduced-motion:reduce){.newbar{animation:none;transition:none}}

/* hero shop button: a real glass pill, always visible (the other secondary CTAs stay text links) */
.hero-cta .btn.btn-shop{display:inline-flex;align-items:center;gap:8px;padding:13px 22px!important;font-size:14.5px!important;letter-spacing:.07em;
  border-radius:999px;color:#2a1446;background:rgba(255,255,255,.7)!important;border:1px solid rgba(107,37,176,.22)!important;
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .25s,background .25s,border-color .25s}
.hero-cta .btn.btn-shop svg{display:inline-block!important;width:17px;height:17px}
.hero-cta .btn.btn-shop:hover{transform:translateY(-2px)}
html.home-dark .hero-cta .btn.btn-shop{color:#fff;background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.22)!important}
html.home-dark .hero-cta .btn.btn-shop:hover{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important}
