/* Vellum visual correction. Load LAST after all legacy/storefront CSS. */
body:has(.premium-page) main.kk-page-main .premium-page .premium-heading h1,
body:has(.premium-page) .premium-page .premium-heading h1 {
  font-size:clamp(27px,2.35vw,38px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
  margin:0 0 10px!important;
  font-weight:700!important;
}
body:has(.premium-page) .premium-page .premium-heading {margin-bottom:30px!important;align-items:center!important}
body:has(.premium-page) .premium-page .premium-heading p {font-size:14px!important;line-height:1.6!important}
body:has(.premium-page) .premium-page .vs-coupon-box {display:block!important;box-sizing:border-box!important;width:100%!important;margin:18px 0!important;padding:18px!important;background:#f3f0eb!important;border:1px solid #e2d9ce!important;border-radius:12px!important}
body:has(.premium-page) .premium-page .vs-coupon-box h3 {font-size:15px!important;line-height:1.4!important;margin:0 0 12px!important;font-weight:700!important;color:#222925!important}
body:has(.premium-page) .premium-page .vs-coupon-input {display:flex!important;align-items:stretch!important;gap:9px!important;width:100%!important;margin:0!important}
body:has(.premium-page) .premium-page .vs-coupon-input input {display:block!important;flex:1 1 auto!important;min-width:0!important;width:1%!important;box-sizing:border-box!important;min-height:44px!important;margin:0!important;padding:10px 13px!important;background:#fff!important;color:#252a26!important;border:1px solid #cfc5b8!important;border-radius:8px!important;box-shadow:none!important;font-size:14px!important}
body:has(.premium-page) .premium-page .vs-coupon-input button {display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto!important;min-width:92px!important;min-height:44px!important;margin:0!important;padding:10px 18px!important;background:#27322c!important;color:#fff!important;border:1px solid #27322c!important;border-radius:8px!important;font-size:14px!important;font-weight:700!important;cursor:pointer!important}
body:has(.premium-page) .premium-page .vs-coupon-input button:hover {background:#394b40!important}
body:has(.premium-page) .premium-page .vs-coupon-applied {display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex-wrap:wrap!important;font-size:14px!important}
body:has(.premium-page) .premium-page .vs-coupon-applied button {border:1px solid #cfc5b8!important;border-radius:7px!important;background:#fff!important;padding:9px 14px!important;font-size:13px!important}
/* Existing footer's legacy 'footer > div' flex rule must not affect footer inner wrapper. */
html body footer.kk-site-footer.vs-footer {display:block!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:#1e2421!important;color:#f7f4ee!important}
html body footer.kk-site-footer.vs-footer > div.vs-footer-inner {display:block!important;flex:none!important;width:calc(100% - 64px)!important;max-width:1840px!important;margin:0 auto!important;padding:0!important;box-sizing:border-box!important}
html body footer.kk-site-footer.vs-footer .vs-footer-inner > div.vs-footer-main {display:grid!important;grid-template-columns:minmax(0,1.45fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1.2fr)!important;align-items:start!important;gap:clamp(24px,3vw,60px)!important;width:100%!important;padding:58px 0 45px!important;margin:0!important}
html body footer.kk-site-footer.vs-footer .vs-footer-main > div {min-width:0!important}
html body footer.kk-site-footer.vs-footer .vs-footer-inner > div.vs-footer-bottom {display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:10px 30px!important;position:static!important;float:none!important;width:100%!important;max-width:none!important;box-sizing:border-box!important;padding:20px 0 24px!important;margin:0!important;border-top:1px solid rgba(255,255,255,.18)!important;font-size:13px!important;line-height:1.6!important}
html body footer.kk-site-footer.vs-footer .vs-footer-bottom > span {display:inline!important;flex:none!important;max-width:100%!important}
html body footer.kk-site-footer.vs-footer .vs-footer-links {display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important}
html body footer.kk-site-footer.vs-footer .vs-footer-links a {font-size:14px!important;line-height:1.5!important}
@media(max-width:900px){html body footer.kk-site-footer.vs-footer .vs-footer-inner > div.vs-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:600px){html body footer.kk-site-footer.vs-footer > div.vs-footer-inner{width:calc(100% - 32px)!important}html body footer.kk-site-footer.vs-footer .vs-footer-inner > div.vs-footer-main{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:30px 18px!important;padding:40px 0 30px!important}html body footer.kk-site-footer.vs-footer .vs-footer-brand,html body footer.kk-site-footer.vs-footer .vs-footer-message{grid-column:1/-1!important}html body footer.kk-site-footer.vs-footer .vs-footer-inner > div.vs-footer-bottom{flex-direction:column!important;align-items:flex-start!important}body:has(.premium-page) .premium-page .premium-heading h1{font-size:29px!important}body:has(.premium-page) .premium-page .vs-coupon-box{padding:14px!important}body:has(.premium-page) .premium-page .vs-coupon-input button{min-width:75px!important;padding:9px 12px!important}}
