/* VASUKI NFC V19 final polish — loaded after every legacy theme file. */
:root{--v19-champagne-1:#f5e7bc;--v19-champagne-2:#dfbf74;--v19-ink:#111318;--v19-cream:#fff8e8}

html body:not(.dark-mode) :is(.profile-btn,.login-btn,.vsk-cart-link,.theme-toggle){
  background:linear-gradient(135deg,#fff5d8,#ecd699)!important;
  border:1px solid rgba(168,123,43,.38)!important;color:var(--v19-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 5px 16px rgba(92,65,21,.12)!important}
html body.dark-mode :is(.profile-btn,.login-btn,.vsk-cart-link,.theme-toggle){
  background:linear-gradient(135deg,#f3cf68,#d9a92e)!important;
  border:1px solid rgba(255,218,113,.48)!important;color:var(--v19-ink)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 6px 18px rgba(218,169,46,.18)!important}
html body :is(.profile-btn,.login-btn,.vsk-cart-link,.theme-toggle) :is(i,span){color:var(--v19-ink)!important}
html body :is(.profile-btn,.login-btn,.vsk-cart-link,.theme-toggle):hover{
  background:linear-gradient(135deg,#fff0c8,#d6ae5b)!important;border-color:rgba(168,123,43,.55)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 8px 22px rgba(92,65,21,.2)!important}
html body .vsk-cart-count{background:#b62f13!important;color:#fff!important;border:2px solid #fff0c8!important}

/* Animated theme toggle and page palette transition. */
html body.vsk-theme-changing,
html body.vsk-theme-changing :is(.navbar,.collection-section,.how-section,.reviews-section,.referral-section,.card,.how-card,.review-card,.vsk-drawer-panel,.vsk-modal-card){
  transition:background-color .48s ease,color .38s ease,border-color .38s ease,box-shadow .38s ease!important}
html body .theme-toggle{min-width:74px!important;height:38px!important;padding:4px 6px!important;gap:0!important;justify-content:center!important}
html body .theme-toggle .vsk-toggle-track{
  position:relative!important;display:block!important;width:58px!important;height:28px!important;border-radius:999px!important;
  background:rgba(255,255,255,.52)!important;border:1px solid rgba(117,82,22,.22)!important;
  box-shadow:inset 0 2px 7px rgba(89,61,14,.12)!important}
html body.dark-mode .theme-toggle .vsk-toggle-track{background:#2b2f37!important;border-color:rgba(255,221,128,.38)!important}
html body .theme-toggle [data-vsk-theme-icon]{
  position:absolute!important;left:3px!important;top:3px!important;width:20px!important;height:20px!important;
  display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff8e5!important;
  color:#9b6e15!important;font-size:11px!important;transition:transform .42s cubic-bezier(.2,.8,.2,1),background .35s ease,color .35s ease!important;
  box-shadow:0 3px 8px rgba(50,35,10,.24)!important}
html body.dark-mode .theme-toggle [data-vsk-theme-icon]{
  transform:translateX(30px) rotate(180deg)!important;background:#f2c955!important;color:#15171c!important}
html body .theme-toggle [data-vsk-theme-label]{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

html body :is(.collection-section,#productsGrid) .price{
  display:flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  width:100%!important;min-height:46px!important;margin:12px 0 9px!important;padding:8px 12px!important;
  text-align:center!important;border:1px solid rgba(183,139,57,.34)!important;border-radius:14px!important;
  background:linear-gradient(135deg,rgba(255,249,231,.96),rgba(227,204,151,.55))!important;
  color:#7a571b!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 5px 14px rgba(72,50,14,.07)!important;line-height:1!important}
html body :is(.collection-section,#productsGrid) .price .old-price{color:#6d6a64!important;opacity:.88!important}
html body.dark-mode :is(.collection-section,#productsGrid) .price{
  background:linear-gradient(135deg,rgba(74,60,34,.9),rgba(42,38,30,.94))!important;
  border-color:rgba(236,204,131,.34)!important;color:#ffe6a7!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 18px rgba(0,0,0,.2)!important}
html body.dark-mode :is(.collection-section,#productsGrid) .price .old-price{color:#d5d0c6!important}

html body .vsk-signature{background:#0b0d12!important;color:var(--v19-cream)!important}
html body .vsk-signature .vsk-section-head h2{color:#fffaf0!important;opacity:1!important;text-shadow:0 2px 18px rgba(0,0,0,.6)!important}
html body .vsk-signature .vsk-section-head p{color:#d2d6df!important;opacity:1!important}
html body .vsk-signature .vsk-eyebrow,html body .vsk-case-copy>span{color:#f3d993!important;opacity:1!important}
html body .vsk-case{isolation:isolate;border:1px solid rgba(240,214,150,.16)!important;box-shadow:0 20px 55px rgba(0,0,0,.3)!important}
html body .vsk-case::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(5,6,9,.08) 15%,rgba(5,6,9,.92) 100%)}
html body .vsk-case.small::after{background:linear-gradient(180deg,rgba(5,6,9,.18),rgba(5,6,9,.86))}
html body .vsk-case-copy h3{color:#fffaf0!important;opacity:1!important;text-shadow:0 2px 14px rgba(0,0,0,.72)!important}
html body .vsk-case-copy p{color:#e1e3e9!important;opacity:1!important;text-shadow:0 1px 8px rgba(0,0,0,.75)!important}

/* Cart quantity controls: keep −, + and Remove readable in every theme. */
html body .vsk-drawer-panel .vsk-qty{
  display:flex!important;align-items:center!important;gap:8px!important;flex-wrap:wrap!important}
html body .vsk-drawer-panel .vsk-qty button{
  appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-width:36px!important;min-height:34px!important;padding:6px 11px!important;border-radius:9px!important;
  border:1px solid rgba(204,166,84,.55)!important;background:#f7e7bb!important;color:#14161b!important;
  font-family:inherit!important;font-size:16px!important;font-weight:900!important;line-height:1!important;
  opacity:1!important;-webkit-text-fill-color:#14161b!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.7)!important}
html body .vsk-drawer-panel .vsk-qty button:last-child{
  min-width:78px!important;background:#242832!important;border-color:#3b414d!important;color:#fff!important;
  -webkit-text-fill-color:#fff!important;font-size:12px!important}
html body .vsk-drawer-panel .vsk-qty b{
  min-width:24px!important;text-align:center!important;color:inherit!important;font-size:15px!important;opacity:1!important}
html body .vsk-drawer-panel .vsk-qty button:hover{
  filter:brightness(.96)!important;transform:none!important}
html body.dark-mode .vsk-drawer-panel .vsk-qty button{
  background:#e4c476!important;color:#111318!important;-webkit-text-fill-color:#111318!important}
html body.dark-mode .vsk-drawer-panel .vsk-qty button:last-child{
  background:#343946!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
/* Render labels through pseudo-elements too, protecting against inherited text-fill bugs. */
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(1),
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(2),
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(3){font-size:0!important}
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(1)::before{
  content:"−"!important;color:#111318!important;-webkit-text-fill-color:#111318!important;font-size:20px!important;font-weight:900!important;line-height:1!important}
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(2)::before{
  content:"+"!important;color:#111318!important;-webkit-text-fill-color:#111318!important;font-size:20px!important;font-weight:900!important;line-height:1!important}
html body .vsk-drawer-panel .vsk-qty button:nth-of-type(3)::before{
  content:"Remove"!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font-size:12px!important;font-weight:800!important;line-height:1!important}

/* Restore the referral programme that was temporarily disabled in older layers. */
html body .referral-section,
html body:has(.vsk-premium-hero) .referral-section{
  display:block!important;visibility:visible!important}
html body .referral-section .referral-card h2,
html body .referral-section .referral-code,
html body .referral-section .referral-step p,
html body .referral-section .referral-terms,
html body .referral-section .referral-terms li{color:#f7f3ea!important;opacity:1!important}
html body .referral-section .referral-code-box label{color:#aeb4bf!important;opacity:1!important}
html body .referral-section .referral-code{
  background:#fff9e9!important;color:#17191f!important;-webkit-text-fill-color:#17191f!important;
  border:2px dashed #d6a83d!important;text-shadow:none!important;opacity:1!important}
html body.dark-mode .referral-section .referral-code{
  background:#f8e8b9!important;color:#111318!important;-webkit-text-fill-color:#111318!important}

/* Product cards: readable copy plus protected bottom breathing room. */
html body .collection-section .card-info{justify-content:flex-start!important;padding-bottom:24px!important}
html body .collection-section .card-info h3{color:#15171c!important;opacity:1!important}
html body .collection-section .card-desc{color:#5c626d!important;opacity:1!important}
html body.dark-mode .collection-section .card-info h3{color:#fff8e8!important}
html body.dark-mode .collection-section .card-desc{color:#cbd0d9!important}
html body:not(.dark-mode):has(#productsGrid) #productsGrid :is(h3,.card-desc){color:#20232a!important;opacity:1!important}
html body.dark-mode:has(#productsGrid) #productsGrid h3{color:#fff8e8!important;opacity:1!important}
html body.dark-mode:has(#productsGrid) #productsGrid .card-desc{color:#cbd0d9!important;opacity:1!important}
html body:has(#productsGrid) #productsGrid .card-features span{color:#343942!important;opacity:1!important}
html body.dark-mode:has(#productsGrid) #productsGrid .card-features span{background:#292e37!important;color:#eef0f4!important}
html body:has(#productsGrid) .filters{margin-bottom:24px!important}
html body:has(#productsGrid) #productsGrid{padding-top:8px!important}
html body .collection-section .vsk-product-detail-link{display:block!important;margin:2px 0 12px!important;line-height:1.35!important}
html body .collection-section .btn-buy{flex:0 0 auto!important;margin-top:auto!important;margin-bottom:0!important;min-height:42px!important}
@media(min-width:901px){
  html body .collection-section .products-grid{grid-template-rows:repeat(2,minmax(320px,auto))!important}
  html body .collection-section .card-info{min-height:0!important}
}

@media(max-width:700px){
  html body :is(.collection-section,#productsGrid) .price{min-height:42px!important;border-radius:12px!important;margin:9px 0 7px!important;padding:7px 8px!important;gap:7px!important}
  html body .collection-section .card-info{padding-bottom:18px!important}
  html body .referral-section{padding-top:48px!important;padding-bottom:48px!important}
  html body:has(#productsGrid) .filters{margin-bottom:18px!important}
  html body:has(#productsGrid) #productsGrid{padding-top:6px!important}}

/* V19.5 — restore service navigation and keep the mobile dock visually separate. */
html body:has(.vsk-premium-hero) .services-section{
  display:block!important;
  visibility:visible!important;
  scroll-margin-top:86px;
}
html body .services-section .section-subtitle{
  max-width:720px;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .services-section .service-card{
  text-decoration:none;
}
@media(max-width:700px){
  html body .services-section{
    scroll-margin-top:72px;
    padding-top:48px!important;
    padding-bottom:48px!important;
  }
  html body .vsk-scroll-top{
    bottom:104px!important;
  }
  html body:not(.dark-mode) .vsk-app-dock{
    background:rgba(255,250,238,.97)!important;
    border-color:#dfcfaa!important;
    box-shadow:0 14px 38px rgba(74,55,20,.16)!important;
  }
}

/* V19.7 — direct bulk quantity entry in the cart. */
html body .vsk-qty-input{
  width:78px!important;
  min-width:78px!important;
  height:34px!important;
  padding:4px 7px!important;
  border:1px solid #d4af55!important;
  border-radius:8px!important;
  background:#fffdf7!important;
  color:#17191f!important;
  font:800 13px/1 Poppins,Arial,sans-serif!important;
  text-align:center!important;
  appearance:textfield;
}
html body .vsk-qty-input::-webkit-inner-spin-button,
html body .vsk-qty-input::-webkit-outer-spin-button{opacity:1}
html body.dark-mode .vsk-qty-input{
  background:#f7e8b8!important;
  color:#111318!important;
  -webkit-text-fill-color:#111318!important;
}
@media(max-width:430px){
  html body .vsk-qty{gap:5px!important;flex-wrap:wrap!important}
  html body .vsk-qty-input{width:72px!important;min-width:72px!important}
}

/* V19.9 — keep theme access visible in mobile menus and installed app headers. */
.vsk-app-header{display:none!important}
.vsk-app-dock{display:none}
@media(max-width:700px){
  html body .mobile-menu .theme-toggle{
    order:-10!important;
    flex:0 0 auto!important;
    align-self:flex-start!important;
    margin:0 0 14px!important;
    min-height:38px!important;
    width:74px!important;
    min-width:74px!important;
    max-width:74px!important;
    justify-content:center!important;
    position:relative!important;
    z-index:2!important;
  }
  html body .mobile-menu{
    padding-bottom:calc(110px + env(safe-area-inset-bottom))!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
}
html body .vsk-app-actions{display:flex;align-items:center;gap:8px}
html body .vsk-app-theme{display:none}
@media(display-mode:standalone){
  html body.vsk-app-mode .vsk-app-header{
    display:flex!important;
    position:sticky!important;
    top:0!important;
    z-index:6001!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding-left:17px!important;
    padding-right:17px!important;
    background:rgba(8,9,13,.96)!important;
    border-bottom:1px solid rgba(215,181,109,.2)!important;
    color:#fff!important;
    backdrop-filter:blur(18px)!important;
  }
  html body.vsk-app-mode .vsk-app-dock{display:grid!important}
  html body.vsk-app-mode .vsk-app-actions{display:flex!important}
  html body.vsk-app-mode .vsk-app-theme{
    display:inline-flex!important;
    width:64px!important;
    min-width:64px!important;
    height:38px!important;
  }
  html body.vsk-app-mode .vsk-app-header{
    padding-top:env(safe-area-inset-top)!important;
    height:calc(64px + env(safe-area-inset-top))!important;
  }
  html body:not(.dark-mode).vsk-app-mode .vsk-app-header{
    background:rgba(248,245,238,.97)!important;
    color:#17191f!important;
    border-bottom-color:#dfcfaa!important;
  }
  html body:not(.dark-mode).vsk-app-mode .vsk-app-header strong{color:#755720!important}
  html body:not(.dark-mode).vsk-app-mode .vsk-app-header a{
    background:#f1e5c6!important;
    color:#17191f!important;
  }
}

/* V19.6 — guaranteed contrast for the business-use case study cards. */
html body .vsk-signature .vsk-case{
  color:#fffaf0!important;
}
html body .vsk-signature .vsk-case-copy{
  z-index:3!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  box-shadow:none!important;
}
html body .vsk-signature .vsk-case-copy>span{
  color:#f2d486!important;
  -webkit-text-fill-color:#f2d486!important;
  opacity:1!important;
}
html body .vsk-signature .vsk-case-copy h3{
  color:#fffaf0!important;
  -webkit-text-fill-color:#fffaf0!important;
  opacity:1!important;
  text-shadow:0 2px 12px #000!important;
}
html body .vsk-signature .vsk-case-copy p{
  color:#e6e8ed!important;
  -webkit-text-fill-color:#e6e8ed!important;
  opacity:1!important;
  text-shadow:0 1px 8px #000!important;
}
html body .vsk-signature .vsk-case-number{
  z-index:2!important;
  color:rgba(242,212,134,.32)!important;
  -webkit-text-fill-color:rgba(242,212,134,.32)!important;
  opacity:1!important;
  text-shadow:0 3px 18px rgba(0,0,0,.5)!important;
}
html body .vsk-signature .vsk-case::after{
  z-index:1!important;
  background:linear-gradient(180deg,rgba(5,6,9,.03) 15%,rgba(5,6,9,.42) 52%,rgba(5,6,9,.96) 100%)!important;
}
html body .vsk-signature .vsk-case.small::after{
  background:linear-gradient(180deg,rgba(5,6,9,.12),rgba(5,6,9,.9))!important;
}
@media(max-width:700px){
  html body .vsk-signature .vsk-case-copy{
    padding:0!important;
  }
}
