/* wvs-hover-20261110.css - vocalstudios.com hover layer.
   CO 2026-11-10 12:22: "Make sure the Pills have cool hover effects... make sure there are hover effects on EVERY single pill or link on the entire website".
   Covers every link/pill/button family that a live audit (1280px, 760px, open phone menu) found with NO hover change.
   Rules: nothing moves at rest; hover only on hover-capable pointers (no sticky hover on phones); keyboard focus mirrors it; reduced motion respected. */
@keyframes wvs-shine{from{transform:translateX(-130%)}to{transform:translateX(130%)}}

/* ---- base (transitions + sheen layers; invisible at rest) ---- */
a.va-go.va-go{position:relative!important;overflow:hidden!important;isolation:isolate}
a.va-go.va-go::before,.wvs-pbook::before{content:""!important;display:block!important;position:absolute!important;inset:0!important;z-index:-1;width:auto!important;height:auto!important;border:0!important;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%)!important;transform:translateX(-130%);pointer-events:none}
.wvs-pbook{position:relative;overflow:hidden;isolation:isolate}
.hdr a.lg{transition:transform .25s ease,filter .25s ease}
.rw-photo-link{transition:background-color .25s ease,box-shadow .25s ease}
.rw-photo img{transition:transform .5s ease,filter .3s ease}
button.ff-enlarge{transition:background-color .2s ease,color .2s ease,transform .2s ease}
.np-playlist-editorial>a img,.np-article-copy>a img,a.np-blog-feature img,.portrait-frame>a img,.moshe-image>a img{transition:filter .3s ease,transform .45s ease,box-shadow .3s ease}
a.np-blog-feature,button.al-artwork,.faq-filters button,.guide-controls button{transition:transform .2s ease,box-shadow .2s ease,filter .2s ease,border-color .2s ease}
.al-tabs button,.rw-tabs button,.language-switcher a{transition:box-shadow .2s ease,color .2s ease,filter .2s ease}
.ff-more>summary,.ec-detail>summary,.vs-bed>summary,.wvs-progress-stages details>summary{transition:box-shadow .2s ease}
.wvs-pmenu,.wvs-ptog,.wvs-ptop,.wvs-psub a{transition:color .15s ease,background-color .15s ease}

@media (hover:hover){
  /* pills: sheen sweep + gold glow ring (on top of the gold fill, lift and pulsing wave) */
  a.va-go.va-go:hover::before,.wvs-pbook:hover::before{animation:wvs-shine .75s ease-out 1}
  a.va-go.va-go:hover{box-shadow:0 0 0 4px rgba(202,166,77,.3),0 14px 26px -12px rgba(138,106,31,.95)!important}
  a.va-go.va-go.va-go--gold:hover{box-shadow:0 0 0 4px rgba(255,255,255,.3),0 14px 26px -12px rgba(0,0,0,.55)!important}
  .wvs-pbook:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 0 0 3px rgba(202,166,77,.4),0 8px 18px -8px rgba(0,0,0,.6)}
  .wvs-pmenu:hover,.wvs-ptog:hover{color:#caa64d!important}
  .wvs-ptog:hover{background-color:rgba(255,255,255,.08)!important}
  .wvs-ptop:hover{color:#fff!important}
  .wvs-psub a:hover{color:#caa64d!important}

  /* logo */
  .hdr a.lg:hover{transform:translateY(-2px) scale(1.04);filter:drop-shadow(0 8px 12px rgba(5,7,26,.35))}

  /* photo and image links */
  .rw-photo-link:hover{background-color:rgba(20,42,96,.12)!important;box-shadow:inset 0 -4px 0 #caa64d!important}
  .rw-photo:has(>.rw-photo-link:hover) img{transform:scale(1.04);filter:brightness(1.05)}
  .np-playlist-editorial>a:hover img,.np-article-copy>a:hover img{filter:brightness(1.06) saturate(1.08);box-shadow:0 16px 30px -18px rgba(20,42,96,.65)}
  a.np-blog-feature:hover{transform:translateY(-3px);box-shadow:0 18px 34px -20px rgba(20,42,96,.7)}
  a.np-blog-feature:hover img{filter:brightness(1.06)}
  .portrait-frame>a:hover img,.moshe-image>a:hover img{transform:scale(1.04);filter:brightness(1.05)}
  button.al-artwork:hover{transform:translateY(-2px);filter:brightness(1.06)}

  /* buttons, chips, tabs */
  button.ff-enlarge:hover{background-color:#caa64d!important;color:#05071a!important;transform:scale(1.1)}
  .faq-filters button:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(20,42,96,.7);border-color:#caa64d!important}
  .guide-controls button:hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(20,42,96,.6);border-color:#1E52C8!important}
  .al-tabs button:hover,.rw-tabs button:hover{color:#1E52C8!important;box-shadow:inset 0 -3px 0 #caa64d}
  .language-switcher a:hover{box-shadow:inset 0 -2px 0 #caa64d;filter:brightness(1.12)}
  .al-open:hover{color:#1E52C8!important}

  /* expandable rows: gold bar on the left */
  .ff-more>summary:hover,.ec-detail>summary:hover,.vs-bed>summary:hover,.wvs-progress-stages details>summary:hover{box-shadow:inset 4px 0 0 #caa64d!important}

  /* text links: gold underline */
  .salon-dates a:hover,.np-article-copy h2>a:hover,.np-article-copy p>a:hover,a.np-arrow:hover,.library-subnav a:hover,.library-index a:hover,
  .history-photo-source a:hover,.eligibility a:hover,a.vs-learn-more:hover,.ff-directory-head a:hover,.wvs-training-switch a:hover,
  .jmt-bar .site-nav a:hover,.micro-footnote a:hover,.al-open:hover,.wvs-ptop:hover,.wvs-psub a:hover{text-decoration-line:underline!important;text-decoration-color:#caa64d!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}

  /* fallback for any plain text link added later (zero specificity: never overrides a designed hover) */
  :where(main,article,section,footer) :where(p,li,dd,figcaption,td,small)>a:where(:not([class])):hover{text-decoration-line:underline;text-decoration-color:#caa64d;text-decoration-thickness:2px;text-underline-offset:3px}
}

/* press feedback (touch + mouse) */
a.va-go.va-go:active,.wvs-pbook:active{transform:translateY(0);filter:brightness(.95)}

/* keyboard focus mirrors hover */
:is(.hdr a.lg,.rw-photo-link,button.ff-enlarge,.faq-filters button,.al-tabs button,.rw-tabs button,.guide-controls button,.language-switcher a,button.al-artwork,.al-open,
  .wvs-pbook,.wvs-pmenu,.wvs-ptop,.wvs-ptog,.wvs-psub a,.ff-more>summary,.ec-detail>summary,.vs-bed>summary,.wvs-progress-stages details>summary,
  .np-playlist-editorial>a,.np-article-copy>a,a.np-blog-feature,.portrait-frame>a,.moshe-image>a,.salon-dates a,a.np-arrow,.library-subnav a,.library-index a,
  .history-photo-source a,.eligibility a,a.vs-learn-more,.ff-directory-head a,.wvs-training-switch a,.jmt-bar .site-nav a,.micro-footnote a):focus-visible{outline:3px solid #caa64d;outline-offset:3px}

@media (prefers-reduced-motion:reduce){
  a.va-go.va-go:hover::before,.wvs-pbook:hover::before{animation:none!important}
  .hdr a.lg:hover,.wvs-pbook:hover,button.ff-enlarge:hover,a.np-blog-feature:hover,button.al-artwork:hover,.faq-filters button:hover,.guide-controls button:hover,
  .portrait-frame>a:hover img,.moshe-image>a:hover img,.rw-photo:has(>.rw-photo-link:hover) img{transform:none!important}
}

/* 13:5x - link families whose only hover was the arrow (arrows removed site-wide per CO 13:46) */
.ff-related a{transition:color .2s ease}
.video-playlist button{transition:transform .2s ease,box-shadow .2s ease}
.video-playlist button img{transition:filter .3s ease}
@media (hover:hover){
  .ff-related a:hover{color:#1E52C8!important;text-decoration-line:underline!important;text-decoration-color:#caa64d!important;text-decoration-thickness:2px!important;text-underline-offset:4px!important}
  .video-playlist button:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(20,42,96,.6)}
  .video-playlist button:hover img{filter:brightness(1.07)}
}
:is(.ff-related a,.video-playlist button):focus-visible{outline:3px solid #caa64d;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.video-playlist button:hover{transform:none!important}}
